From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 06 07:24:55 2020 Received: (at submit) by debbugs.gnu.org; 6 Dec 2020 12:24:55 +0000 Received: from localhost ([127.0.0.1]:49089 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1klt5z-0001oj-E2 for submit@debbugs.gnu.org; Sun, 06 Dec 2020 07:24:55 -0500 Received: from lists.gnu.org ([209.51.188.17]:58478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1klt5y-0001oc-ER for submit@debbugs.gnu.org; Sun, 06 Dec 2020 07:24:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:41350) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1klt5v-0002FT-Dx for bug-gnu-emacs@gnu.org; Sun, 06 Dec 2020 07:24:54 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:56651) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1klt5m-0000ZL-7i for bug-gnu-emacs@gnu.org; Sun, 06 Dec 2020 07:24:50 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 525BE40003 for ; Sun, 6 Dec 2020 12:23:51 +0000 (UTC) From: Protesilaos Stavrou To: bug-gnu-emacs@gnu.org Subject: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Date: Sun, 06 Dec 2020 14:23:44 +0200 Message-ID: <87im9fgm27.fsf@protesilaos.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: none client-ip=217.70.183.194; envelope-from=info@protesilaos.com; helo=relay2-d.mail.gandi.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --=-=-= Content-Type: text/plain Dear maintainers, I have made some major changes to the Modus themes and tagged this as the first major release. I am opening the present bug report because this change has implications on how the themes are distributed with Emacs. Currently Emacs ships 'modus-operandi-theme' and 'modus-vivendi-theme' version 0.13.0. You can find the files in ../etc/themes/. Those contained duplicate code and their only real difference was in the color values they used. However, they were distributed as if they were standalone items, so all 'defcustom' declarations they had were unique to each (duplicate code though different names). Since version 1.0, I derive the two themes from a common source using a macro and a shared file for data. This has two main advantages: + All 'defcustom' are unified and apply to both themes. Users no longer have to implement ad hoc code to get a unified look between the two items. + Everything is easier to maintain, as I no longer need to copy from one theme to the other, rename accordingly, and check that there are no discrepancies between them. The problem with contributing this new code to Emacs is that it cannot work if it is placed in ../etc/themes/. Instead, the files need to be in a path that handles byte-compilation, like ../lisp/modus-themes/. 1. This implies that commands such as 'M-x load-theme' cannot work without first requiring the appropriate files. Such as: (require 'modus-themes) ;; common code (require 'modus-operandi-theme) ;; light theme (load-theme 'modus-operandi t) ... (require 'modus-vivendi-theme) ;; dark theme (load-theme 'modus-vivendi t) 2. Because we do not use ../etc/themes/, neither 'modus-operandi' nor 'modus-vivendi' are marked as safe. They are considered custom. Hence the non-nil NO-CONFIRM argument to 'load-theme'. 3. This also means that 'M-x customize-themes' and similar will not present the themes in their list without first requiring the aforementioned features. * * * Those are the issues I could identify. As such, the attached patch removes the old files and places the new ones in ../lisp/modus-themes/. The themes' manual is updated to cover the new version. The NEWS entry is edited accordingly. I understand you may object to the course of action covered by the patch. Please inform me of a better way to address this issue. My intent is to contribute version 1.0 of my themes to Emacs (1.0.2 to be precise) and am prepared to make the requisite changes based on your feedback. Thank you for your time! Protesilaos -- Protesilaos Stavrou protesilaos.com --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-Update-Modus-themes-1.0.2-backward-incompatible.patch Content-Transfer-Encoding: base64 RnJvbSA4OGY2NGRmZGY4YzRhOTEyOTY3NzEyODhhZTVhMjI1NGZkMjhiOTYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5mb0Bwcm90ZXNpbGFv cy5jb20+DQpEYXRlOiBTdW4sIDYgRGVjIDIwMjAgMTA6MzA6NDggKzAyMDANClN1YmplY3Q6IFtQ QVRDSF0gVXBkYXRlIE1vZHVzIHRoZW1lcyAxLjAuMiAoYmFja3dhcmQtaW5jb21wYXRpYmxlKQ0K DQoqIGxpc3AvbW9kdXMtdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsOiBBZGQgbmV3IGZp bGUgZm9yDQonbW9kdXMtb3BlcmFuZGknLg0KDQoqIGxpc3AvbW9kdXMtdGhlbWVzL21vZHVzLXZp dmVuZGktdGhlbWUuZWw6IEFkZCBuZXcgZmlsZSBmb3INCidtb2R1cy12aXZlbmRpJy4NCg0KKiBs aXNwL21vZHVzLXRoZW1lcy9tb2R1cy10aGVtZXMuZWw6IEFkZCBuZXcgZmlsZSB0aGF0IGNvbnRh aW5zIGFsbA0KY29tbW9uIGNvZGUgYmV0d2VlbiB0aGUgdHdvIHRoZW1lcy4NCg0KKiBsaXNwL21v ZHVzLXRoZW1lcy9tb2R1cy10aGVtZXMtY29yZS5lbDogQWRkIG5ldyBmaWxlIHRoYXQgY29udGFp bnMNCnRoZSBtYWNybyB0aGF0IGlzIHVzZWQgdG8gZXhwYW5kIGJvdGggdGhlbWVzLg0KDQoqIGV0 Yy90aGVtZXMvbW9kdXMtb3BlcmFuZGktdGhlbWUuZWw6IERlbGV0ZSBvbGQgdmVyc2lvbiBvZg0K J21vZHVzLW9wZXJhbmRpJy4NCg0KKiBldGMvdGhlbWVzL21vZHVzLXZpdmVuZGktdGhlbWUuZWw6 IERlbGV0ZSBvbGQgdmVyc2lvbiBvZg0KJ21vZHVzLXZpdmVuZGknLg0KDQoqIGRvYy9taXNjL21v ZHVzLXRoZW1lcy50ZXhpOiBVcGRhdGUgbWFudWFsIHRvIHZlcnNpb24gMS4wLjIuDQoNCiogZXRj L05FV1M6IERpcmVjdCB1c2VycyB0byB0aGUgbWFudWFsIGluc3RlYWQgb2YgcmVjb21tZW5kaW5n DQpjb21tYW5kcyB0aGF0IGRvIG5vdCB3b3JrIG91dC1vZi10aGUtYm94IHdpdGhvdXQgZmlyc3Qg cmVxdWlyaW5nIHRoZQ0KdGhlbWUgZmlsZXMuDQotLS0NCiBkb2MvbWlzYy9tb2R1cy10aGVtZXMu dGV4aSAgICAgICAgICAgICAgICB8IDEzNTMgKysrLS0tDQogZXRjL05FV1MgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgICA3ICstDQogZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5k aS10aGVtZS5lbCAgICAgICAgfCA0NjY2IC0tLS0tLS0tLS0tLS0tLS0tLS0NCiBldGMvdGhlbWVz L21vZHVzLXZpdmVuZGktdGhlbWUuZWwgICAgICAgICB8IDQ2NjYgLS0tLS0tLS0tLS0tLS0tLS0t LQ0KIGxpc3AvbW9kdXMtdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsIHwgICA3NSArDQog bGlzcC9tb2R1cy10aGVtZXMvbW9kdXMtdGhlbWVzLWNvcmUuZWwgICAgfCAgIDgwICsNCiBsaXNw L21vZHVzLXRoZW1lcy9tb2R1cy10aGVtZXMuZWwgICAgICAgICB8IDUxODIgKysrKysrKysrKysr KysrKysrKysrDQogbGlzcC9tb2R1cy10aGVtZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbCAgfCAg IDc1ICsNCiA4IGZpbGVzIGNoYW5nZWQsIDYxMzIgaW5zZXJ0aW9ucygrKSwgOTk3MiBkZWxldGlv bnMoLSkNCiBkZWxldGUgbW9kZSAxMDA2NDQgZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5kaS10aGVt ZS5lbA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBldGMvdGhlbWVzL21vZHVzLXZpdmVuZGktdGhlbWUu ZWwNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGlzcC9tb2R1cy10aGVtZXMvbW9kdXMtb3BlcmFuZGkt dGhlbWUuZWwNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGlzcC9tb2R1cy10aGVtZXMvbW9kdXMtdGhl bWVzLWNvcmUuZWwNCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGlzcC9tb2R1cy10aGVtZXMvbW9kdXMt dGhlbWVzLmVsDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpc3AvbW9kdXMtdGhlbWVzL21vZHVzLXZp dmVuZGktdGhlbWUuZWwNCg0KZGlmZiAtLWdpdCBhL2RvYy9taXNjL21vZHVzLXRoZW1lcy50ZXhp IGIvZG9jL21pc2MvbW9kdXMtdGhlbWVzLnRleGkNCmluZGV4IGRlM2NjZDI3YzQuLjBiY2MzYzE4 NzAgMTAwNjQ0DQotLS0gYS9kb2MvbWlzYy9tb2R1cy10aGVtZXMudGV4aQ0KKysrIGIvZG9jL21p c2MvbW9kdXMtdGhlbWVzLnRleGkNCkBAIC0yOCw4ICsyOCw4IEBAIFRoaXMgbWFudWFsLCB3cml0 dGVuIGJ5IFByb3Rlc2lsYW9zIFN0YXZyb3UsIGRlc2NyaWJlcyB0aGUgY3VzdG9taXphdGlvbg0K IG9wdGlvbnMgZm9yIHRoZSBAc2FtcHttb2R1cy1vcGVyYW5kaX0gYW5kIEBzYW1we21vZHVzLXZp dmVuZGl9IHRoZW1lcywgYW5kIHByb3ZpZGVzDQogZXZlcnkgb3RoZXIgcGllY2Ugb2YgaW5mb3Jt YXRpb24gcGVydGluZW50IHRvIHRoZW0uDQogDQotVGhlIGRvY3VtZW50YXRpb24gZnVybmlzaGVk IGhlcmVpbiBjb3JyZXNwb25kcyB0byB2ZXJzaW9uIDAuMTMuMCwNCi1yZWxlYXNlZCBvbiAyMDIw LTEwLTA4LiAgQW55IHJlZmVyZW5jZSB0byBhIG5ld2VyIGZlYXR1cmUgd2hpY2ggZG9lcw0KK1Ro ZSBkb2N1bWVudGF0aW9uIGZ1cm5pc2hlZCBoZXJlaW4gY29ycmVzcG9uZHMgdG8gdmVyc2lvbiAx LjAuMiwNCityZWxlYXNlZCBvbiAyMDIwLTEyLTA2LiAgQW55IHJlZmVyZW5jZSB0byBhIG5ld2Vy IGZlYXR1cmUgd2hpY2ggZG9lcw0KIG5vdCB5ZXQgZm9ybSBwYXJ0IG9mIHRoZSBsYXRlc3QgdGFn Z2VkIGNvbW1pdCwgaXMgZXhwbGljaXRseSBtYXJrZWQgYXMNCiBzdWNoLg0KIA0KQEAgLTgxLDI1 ICs4MSwyNiBAQCBJbnN0YWxsIG9uIEdOVS9MaW51eA0KIEVuYWJsZSBhbmQgbG9hZA0KIA0KICog TG9hZCBhdXRvbWF0aWNhbGx5OjoNCi0qIExvYWQgYXQgYSBnaXZlbiB0aW1lIG9yIGF0IHN1bnNl dC9zdW5yaXNlOjoNCiAqIFRvZ2dsZSBiZXR3ZWVuIHRoZSB0aGVtZXMgb24gZGVtYW5kOjoNCi0q IENvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRpbmc6Og0KKyogQ29uZmlndXJlIG9wdGlv bnMgcHJpb3IgdG8gbG9hZGluZyBhIHRoZW1lOjoNCisqIFNhbXBsZSBjb25maWd1cmF0aW9uIGZv ciB1c2UtcGFja2FnZTo6DQogDQogQ3VzdG9taXphdGlvbiBPcHRpb25zDQogDQogKiBCb2xkIGNv bnN0cnVjdHM6OiAgICAgICAgICAgICAgVG9nZ2xlIGJvbGQgY29uc3RydWN0cyBpbiBjb2RlDQog KiBTbGFudGVkIGNvbnN0cnVjdHM6OiAgICAgICAgICAgVG9nZ2xlIHNsYW50ZWQgY29uc3RydWN0 cyAoaXRhbGljcykgaW4gY29kZQ0KLSogU3ludGF4IGhpZ2hsaWdodGluZzo6ICAgICAgICAgIFRv Z2dsZSBzdWJ0bGUgY29sb3JhdGlvbiBpbiBwcm9ncmFtbWluZyBtb2Rlcw0KKyogU3ludGF4IHN0 eWxlczo6ICAgICAgICAgICAgICAgIENob29zZSB0aGUgb3ZlcmFsbCBhZXN0aGV0aWMgb2YgY29k ZSBzeW50YXgNCiAqIE5vIG1peGVkIGZvbnRzOjogICAgICAgICAgICAgICBUb2dnbGUgbWl4aW5n IG9mIGZvbnQgZmFtaWxpZXMNCi0qIExpbmsgdW5kZXJsaW5lOjogICAgICAgICAgICAgICBUb2dn bGUgdW5kZXJsaW5lZCB0ZXh0IGluIGxpbmtzDQorKiBMaW5rIHN0eWxlczo6ICAgICAgICAgICAg ICAgICAgQ2hvb3NlIGxpbmsgY29sb3IgaW50ZW5zaXR5IGZvciB0aGUgdGV4dCBvciB1bmRlcmxp bmUsIG9yIG5vIHVuZGVybGluZSBhdCBhbGwNCiAqIENvbW1hbmQgcHJvbXB0czo6ICAgICAgICAg ICAgICBDaG9vc2UgYW1vbmcgcGxhaW4sIHN1YnRsZSwgb3IgaW50ZW5zZSBwcm9tcHRzDQotKiBN b2RlIGxpbmU6OiAgICAgICAgICAgICAgICAgICAgQ2hvb3NlIGFtb25nIHBsYWluLCB0aHJlZS1k aW1lbnNpb24sIG9yIG1vb2R5LWNvbXBsaWFudCBzdHlsZXMNCisqIE1vZGUgbGluZTo6ICAgICAg ICAgICAgICAgICAgICBDaG9vc2UgYW1vbmcgcGxhaW4sIHRocmVlLWRpbWVuc2lvbmFsLCBvciBN b29keS1jb21wbGlhbnQgc3R5bGVzDQogKiBDb21wbGV0aW9uIFVJczo6ICAgICAgICAgICAgICAg Q2hvb3NlIGFtb25nIHN0YW5kYXJkLCBtb2RlcmF0ZSwgb3Igb3BpbmlvbmF0ZWQgbG9va3MNCi0q IEZyaW5nZXM6OiAgICAgICAgICAgICAgICAgICAgICBDaG9vc2UgYW1vbmcgcGxhaW4sIHN1YnRs ZSwgb3IgaW50ZW5zZSBmcmluZ2UgdmlzaWJpbGl0eQ0KKyogRnJpbmdlczo6ICAgICAgICAgICAg ICAgICAgICAgIENob29zZSBhbW9uZyBpbnZpc2libGUsIHN1YnRsZSwgb3IgaW50ZW5zZSBmcmlu Z2UgdmlzaWJpbGl0eQ0KICogTGluZSBoaWdobGlnaHRpbmc6OiAgICAgICAgICAgIFRvZ2dsZSBp bnRlbnNlIHN0eWxlIGZvciBjdXJyZW50IGxpbmUgaGlnaGxpZ2h0aW5nDQotKiBNYXRjaGluZyBw YXJlbnRoZXNlczo6ICAgICAgICAgVG9nZ2xlIGludGVuc2Ugc3R5bGUgZm9yIG1hdGNoaW5nIGRl bGltaXRlcnMvcGFyZW50aGVzZXMNCisqIE1hdGNoaW5nIHBhcmVudGhlc2VzOjogICAgICAgICBD aG9vc2UgYmV0d2VlbiB2YXJpb3VzIHN0eWxlcyBmb3IgbWF0Y2hpbmcgZGVsaW1pdGVycy9wYXJl bnRoZXNlcw0KKyogQWN0aXZlIHJlZ2lvbjo6ICAgICAgICAgICAgICAgIENob29zZSBiZXR3ZWVu IHZhcmlvdXMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHJlZ2lvbg0KICogRGlmZnM6OiAgICAgICAg ICAgICAgICAgICAgICAgIENob29zZSBhbW9uZyBpbnRlbnNlLCBkZXNhdHVyYXRlZCwgb3IgdGV4 dC1vbmx5IGRpZmZzDQotKiBPcmcgbW9kZSBibG9ja3M6OiAgICAgICAgICAgICAgQ2hvb3NlIGFt b25nIHBsYWluLCBncmV5c2NhbGUsIG9yIHJhaW5ib3cgc3R5bGVzDQorKiBPcmcgbW9kZSBibG9j a3M6OiAgICAgICAgICAgICAgQ2hvb3NlIGFtb25nIHBsYWluLCBncmF5c2NhbGUsIG9yIHJhaW5i b3cgc3R5bGVzDQogKiBIZWFkaW5nIHN0eWxlczo6ICAgICAgICAgICAgICAgQ2hvb3NlIGFtb25n IHNldmVyYWwgc3R5bGVzLCBhbHNvIHBlciBoZWFkaW5nIGxldmVsDQogKiBTY2FsZWQgaGVhZGlu Z3M6OiAgICAgICAgICAgICAgVG9nZ2xlIHNjYWxpbmcgb2YgaGVhZGluZ3MNCiAqIEhlYWRpbmdz JyBmb250OjogICAgICAgICAgICAgICBUb2dnbGUgcHJvcG9ydGlvbmF0ZWx5IHNwYWNlZCBmb250 cyBpbiBoZWFkaW5ncw0KQEAgLTExMCwyMiArMTExLDIzIEBAIFNjYWxlZCBoZWFkaW5ncw0KIA0K IEFkdmFuY2VkIGN1c3RvbWl6YXRpb24gKGRvLWl0LXlvdXJzZWxmKQ0KIA0KLSogVHdlYWsgY29s b3JzIChESVkpOjogICAgICAgICAgIERlY2xhcmUgeW91ciBvd24gcGFsZXR0ZSBvdmVycmlkZXMN CisqIFR3ZWFrIGZhY2VzIChESVkpOjogICAgICAgICAgICBEZWNsYXJlIHlvdXIgb3duIGZhY2Ug c3BlY3MNCiAqIEZvbnQgY29uZmlncyAoRElZKTo6ICAgICAgICAgICBPcHRpbWlzZSBmb3IgbWl4 ZWQgdHlwZWZhY2UgYnVmZmVycw0KICogT3JnIHVzZXIgZmFjZXMgKERJWSk6OiAgICAgICAgIEV4 dGVuZCBzdHlsZXMgZm9yIG9yZy1tb2RlIGtleXdvcmRzIGFuZCBwcmlvcml0aWVzDQorKiBXQ0FH IHRlc3QgKERJWSk6OiAgICAgICAgICAgICAgQXBwbHkgdGhlIFdDQUcgZm9ybXVsYSB0byBjb2xv ciB2YWx1ZXMgb2YgeW91ciBjaG9vc2luZw0KKyogTG9hZCBhdCB0aW1lIChESVkpOjogICAgICAg ICAgIFN3aXRjaCBiZXR3ZWVuIHRoZSB0aGVtZXMgZGVwZW5kaW5nIG9uIHRoZSB0aW1lIG9mIGRh eQ0KIA0KIEZhY2UgY292ZXJhZ2UNCiANCiAqIFN1cHBvcnRlZCBwYWNrYWdlczo6ICAgICAgICAg ICBGdWxsIGxpc3Qgb2YgY292ZXJlZCBmYWNlIGdyb3Vwcw0KLSogQ292ZXJlZCBpbmRpcmVjdGx5 OjoNCi0qIFdpbGwgTk9UIGJlIHN1cHBvcnRlZDo6DQorKiBJbmRpcmVjdGx5IGNvdmVyZWQgcGFj a2FnZXM6Og0KIA0KIE5vdGVzIGZvciBpbmRpdmlkdWFsIHBhY2thZ2VzDQogDQogKiBOb3RlIG9u IGNvbXBhbnktbW9kZSBvdmVybGF5IHBvcC11cDo6DQogKiBOb3RlIGZvciBFUkMgZXNjYXBlZCBj b2xvciBzZXF1ZW5jZXM6Og0KICogTm90ZSBmb3IgcG93ZXJsaW5lIG9yIHNwYWNlbGluZTo6DQot KiBOb3RlIG9uIHNociBjb2xvcnM6Og0KKyogTm90ZSBvbiBTSFIgY29sb3JzOjoNCiAqIE5vdGUg Zm9yIEhlbG0gZ3JlcDo6DQogKiBOb3RlIG9uIHZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZTo6 DQogDQpAQCAtMTU5LDEwICsxNjEsMTAgQEAgYW5kIHN0eWxpc3RpYyBjb25zaWRlcmF0aW9ucywg d2Ugd2lsbCBhbHdheXMgb3B0IGZvciB0aGUgZm9ybWVyLg0KIA0KIFRvIGVuc3VyZSB0aGF0IHVz ZXJzIGhhdmUgYSBjb25zaXN0ZW50bHkgYWNjZXNzaWJsZSBleHBlcmllbmNlLCB0aGUNCiB0aGVt ZXMgc3RyaXZlIHRvIGFjaGlldmUgYXMgY2xvc2UgdG8gZnVsbCBmYWNlIGNvdmVyYWdlIGFzIHBv c3NpYmxlDQotKHNlZSBAcmVme0ZhY2UgY292ZXJhZ2V9KS4NCisoc2VlIEB4cmVme0ZhY2UgY292 ZXJhZ2V9KS4NCiANCiBTdGFydGluZyB3aXRoIHZlcnNpb24gMC4xMi4wIGFuZCBvbndhcmRzLCB0 aGUgdGhlbWVzIGFyZSBidWlsdCBpbnRvIEdOVQ0KLUVtYWNzIChjdXJyZW50IHZlcnNpb24gaXMg MC4xMy4wKS4NCitFbWFjcy4NCiANCiBAbWVudQ0KICogSG93IGRvIHRoZSB0aGVtZXMgbG9vayBs aWtlOjoNCkBAIC0xNzIsOCArMTc0LDggQEAgRW1hY3MgKGN1cnJlbnQgdmVyc2lvbiBpcyAwLjEz LjApLg0KIEBub2RlIEhvdyBkbyB0aGUgdGhlbWVzIGxvb2sgbGlrZQ0KIEBzZWN0aW9uIEhvdyBk byB0aGUgdGhlbWVzIGxvb2sgbGlrZQ0KIA0KLUNoZWNrIHRoZSB3ZWIgcGFnZSB3aXRoIEB1cmVm e2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL21vZHVzLXRoZW1lcy1waWN0dXJlcy8sIHRoZSBzY3Jl ZW4gc2hvdHN9LiAgVGhlcmUgYXJlIGxvdHMgb2Ygc2NlbmFyaW9zIG9uDQotZGlzcGxheSB0aGF0 IGRyYXcgYXR0ZW50aW9uIHRvIGRldGFpbHMgYW5kIGltcG9ydGFudCBhc3BlY3RzIGluIHRoZQ0K K0NoZWNrIHRoZSB3ZWIgcGFnZSB3aXRoIEB1cmVme2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL21v ZHVzLXRoZW1lcy1waWN0dXJlcy8sIHRoZSBzY3JlZW4gc2hvdHN9LiAgVGhlcmUgYXJlIGxvdHMg b2Ygc2NlbmFyaW9zDQorb24gZGlzcGxheSB0aGF0IGRyYXcgYXR0ZW50aW9uIHRvIGRldGFpbHMg YW5kIGltcG9ydGFudCBhc3BlY3RzIGluIHRoZQ0KIGRlc2lnbiBvZiB0aGUgdGhlbWVzLiAgVGhl eSBhbHNvIHNob3djYXNlIHRoZSBudW1lcm91cyBjdXN0b21pemF0aW9uDQogb3B0aW9ucy4NCiAN CkBAIC0xOTAsMTEgKzE5Miw4IEBAIGFuZCBjb3ZlcnMgZXZlcnl0aGluZyB0aGF0IGdvZXMgaW50 byBldmVyeSB0YWdnZWQgcmVsZWFzZSBvZiB0aGUgdGhlbWVzLg0KIA0KIFRoZSBNb2R1cyB0aGVt ZXMgYXJlIGRpc3RyaWJ1dGVkIHdpdGggRW1hY3Mgc3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDI4LjEu DQogT24gb2xkZXIgdmVyc2lvbnMgb2YgRW1hY3MsIHRoZXkgY2FuIGJlIGluc3RhbGxlZCB1c2lu ZyBFbWFjcycgcGFja2FnZQ0KLW1hbmFnZXIgb3IgbWFudWFsbHkgZnJvbSB0aGVpciBjb2RlIHJl cG9zaXRvcnkuDQotDQotTW9kdXMgT3BlcmFuZGkgKGxpZ2h0IHRoZW1lKSBhbmQgTW9kdXMgVml2 ZW5kaSAoZGFyaykgYXJlIG5vcm1hbGx5DQotZGlzdHJpYnV0ZWQgYXMgc3RhbmRhbG9uZSBwYWNr YWdlcyBpbiBFbWFjcy1zcGVjaWZpYyBhcmNoaXZlcy4gIFRoZXJlDQotYWxzbyBleGlzdCBwYWNr YWdlcyBmb3IgR05VL0xpbnV4IGRpc3RyaWJ1dGlvbnMuDQorbWFuYWdlciBvciBtYW51YWxseSBm cm9tIHRoZWlyIGNvZGUgcmVwb3NpdG9yeS4gIFRoZXJlIGFsc28gZXhpc3QNCitwYWNrYWdlcyBm b3IgZGlzdHJpYnV0aW9ucyBvZiBHTlUvTGludXguDQogDQogQG1lbnUNCiAqIEluc3RhbGwgZnJv bSB0aGUgYXJjaGl2ZXM6Og0KQEAgLTIwNCwxOCArMjAzLDIyIEBAIGFsc28gZXhpc3QgcGFja2Fn ZXMgZm9yIEdOVS9MaW51eCBkaXN0cmlidXRpb25zLg0KIEBub2RlIEluc3RhbGwgZnJvbSB0aGUg YXJjaGl2ZXMNCiBAc2VjdGlvbiBJbnN0YWxsIGZyb20gdGhlIGFyY2hpdmVzDQogDQotQHNhbXB7 bW9kdXMtb3BlcmFuZGktdGhlbWV9IGFuZCBAc2FtcHttb2R1cy12aXZlbmRpLXRoZW1lfSBhcmUN Ci1hdmFpbGFibGUgZnJvbSB0aGUgR05VIEVMUEEgYXJjaGl2ZSwgd2hpY2ggaXMgY29uZmlndXJl ZCBieSBkZWZhdWx0Lg0KK1RoZSBAc2FtcHttb2R1cy10aGVtZXN9IHBhY2thZ2UgaXMgYXZhaWxh YmxlIGZyb20gdGhlIEdOVSBFTFBBIGFyY2hpdmUsIHdoaWNoDQoraXMgY29uZmlndXJlZCBieSBk ZWZhdWx0Lg0KIA0KIFByaW9yIHRvIHF1ZXJ5aW5nIGFueSBwYWNrYWdlIGFyY2hpdmUsIG1ha2Ug c3VyZSB0byBoYXZlIHVwZGF0ZWQgdGhlDQotaW5kZXgsIHdpdGggQHNhbXB7TS14IHBhY2thZ2Ut cmVmcmVzaC1jb250ZW50c30uICBUaGVuIGFsbCB5b3UgbmVlZCB0byBkbyBpcw0KLXR5cGUgQHNh bXB7TS14IHBhY2thZ2UtaW5zdGFsbH0gYW5kIHNwZWNpZnkgdGhlIHRoZW1lIG9mIHlvdXIgY2hv aWNlLg0KK2luZGV4LCB3aXRoIEBrYmR7TS14IHBhY2thZ2UtcmVmcmVzaC1jb250ZW50c30uICBU aGVuIGFsbCB5b3UgbmVlZCB0byBkbyBpcw0KK3R5cGUgQGtiZHtNLXggcGFja2FnZS1pbnN0YWxs fSBhbmQgc3BlY2lmeSB0aGUgQHNhbXB7bW9kdXMtdGhlbWVzfS4NCisNCitOb3RlIHRoYXQgb2xk ZXIgdmVyc2lvbnMgb2YgdGhlIHRoZW1lcyB1c2VkIHRvIGJlIGRpc3RyaWJ1dGVkIGFzDQorc3Rh bmRhbG9uZSBwYWNrYWdlcy4gIFRoaXMgcHJhY3RpY2UgaGFzIGJlZW4gZGlzY29udGludWVkIHN0 YXJ0aW5nIHdpdGgNCit2ZXJzaW9uIDEuMC4wIG9mIHRoaXMgcHJvamVjdC4NCiANCiBAbm9kZSBJ bnN0YWxsIG9uIEdOVS9MaW51eA0KIEBzZWN0aW9uIEluc3RhbGwgb24gR05VL0xpbnV4DQogDQot VGhlIHRoZW1lcyBhcmUgYWxzbyBhdmFpbGFibGUgZnJvbSB0aGUgYXJjaGl2ZXMgb2Ygc29tZSBH TlUvTGludXgNCi1kaXN0cmlidXRpb25zLiAgVGhlc2Ugc2hvdWxkIGNvcnJlc3BvbmQgdG8gYSB0 YWdnZWQgcmVsZWFzZSByYXRoZXIgdGhhbg0KK1RoZSB0aGVtZXMgYXJlIGFsc28gYXZhaWxhYmxl IGZyb20gdGhlIGFyY2hpdmVzIG9mIHNvbWUgZGlzdHJpYnV0aW9ucyBvZg0KK0dOVS9MaW51eC4g IFRoZXNlIHNob3VsZCBjb3JyZXNwb25kIHRvIGEgdGFnZ2VkIHJlbGVhc2UgcmF0aGVyIHRoYW4N CiBidWlsZGluZyBkaXJlY3RseSBmcm9tIHRoZSBsYXRlc3QgR2l0IGNvbW1pdC4gIEl0IGFsbCBk ZXBlbmRzIG9uIHRoZQ0KIGRpc3RybydzIHBhY2thZ2luZyBwb2xpY2llcy4NCiANCkBAIC0yNDAs MTcgKzI0MywxMCBAQCBzdWRvIGFwdCBpbnN0YWxsIGVscGEtbW9kdXMtdGhlbWVzDQogQG5vZGUg R05VIEd1aXgNCiBAc3Vic2VjdGlvbiBHTlUgR3VpeA0KIA0KLVVzZXJzIG9mIGVpdGhlciB0aGUg R3VpeCBTeXN0ZW0gKHRoZSBkaXN0cm8pIG9yIGp1c3QgR3VpeCAodGhlIHBhY2thZ2UNCi1tYW5h Z2VyKSBjYW4gZ2V0IGVhY2ggdGhlbWUgYXMgYSBzdGFuZGFsb25lIHBhY2thZ2UuDQotDQotQGV4 YW1wbGUNCi1ndWl4IHBhY2thZ2UgLWkgZW1hY3MtbW9kdXMtb3BlcmFuZGktdGhlbWUNCi1AZW5k IGV4YW1wbGUNCi0NCi1BbmQvb3I6DQorVXNlcnMgb2YgR3VpeCBjYW4gZ2V0IHRoZSB0aGVtZXMg d2l0aCB0aGlzIGNvbW1hbmQ6DQogDQogQGV4YW1wbGUNCi1ndWl4IHBhY2thZ2UgLWkgZW1hY3Mt bW9kdXMtdml2ZW5kaS10aGVtZQ0KK2d1aXggcGFja2FnZSAtaSBlbWFjcy1tb2R1cy10aGVtZXMN CiBAZW5kIGV4YW1wbGUNCiANCiBAbm9kZSBFbmFibGUgYW5kIGxvYWQNCkBAIC0yNTgsMjEgKzI1 NCwzMCBAQCBndWl4IHBhY2thZ2UgLWkgZW1hY3MtbW9kdXMtdml2ZW5kaS10aGVtZQ0KIA0KIFRo aXMgc2VjdGlvbiBkb2N1bWVudHMgaG93IHRvIGxvYWQgdGhlIHRoZW1lIG9mIHlvdXIgY2hvaWNl IGFuZCBob3cgdG8NCiBmdXJ0aGVyIGNvbnRyb2wgaXRzIGluaXRpYWxpemF0aW9uLiAgSXQgYWxz byBpbmNsdWRlcyBzb21lIHNhbXBsZSBjb2RlDQotc25pcHBldHMgdGhhdCBjb3VsZCBoZWxwIHlv dSBpbiB0aGUgdGFzaywgZXNwZWNpYWxseSBpZiB5b3UgaW50ZW5kIHRvDQotdXNlIGJvdGggTW9k dXMgT3BlcmFuZGkgYW5kIE1vZHVzIFZpdmVuZGkuDQorc25pcHBldHMgdGhhdCBjb3VsZCBoZWxw IHlvdSBpbiB0aGUgdGFzay4NCisNCitCZWZvcmUgeW91IGxvYWQgYSB0aGVtZSwgaXQgaXMgbmVj ZXNzYXJ5IHRvIGVuYWJsZSB0aGUgbGlicmFyaWVzOg0KKw0KK0BsaXNwDQorKHJlcXVpcmUgJ21v ZHVzLXRoZW1lcykgICAgICAgICAgICAgICAgIDsgY29tbW9uIGNvZGUNCisocmVxdWlyZSAnbW9k dXMtb3BlcmFuZGktdGhlbWUpICAgICAgICAgOyBsaWdodCB0aGVtZQ0KKyhyZXF1aXJlICdtb2R1 cy12aXZlbmRpLXRoZW1lKSAgICAgICAgICA7IGRhcmsgdGhlbWUNCitAZW5kIGxpc3ANCisNCitA cmVme1NhbXBsZSBjb25maWd1cmF0aW9uIGZvciB1c2UtcGFja2FnZX0uDQogDQogQG1lbnUNCiAq IExvYWQgYXV0b21hdGljYWxseTo6DQotKiBMb2FkIGF0IGEgZ2l2ZW4gdGltZSBvciBhdCBzdW5z ZXQvc3VucmlzZTo6DQogKiBUb2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzIG9uIGRlbWFuZDo6DQot KiBDb25maWd1cmUgb3B0aW9ucyBwcmlvciB0byBsb2FkaW5nOjoNCisqIENvbmZpZ3VyZSBvcHRp b25zIHByaW9yIHRvIGxvYWRpbmcgYSB0aGVtZTo6DQorKiBTYW1wbGUgY29uZmlndXJhdGlvbiBm b3IgdXNlLXBhY2thZ2U6Og0KIEBlbmQgbWVudQ0KIA0KIEBub2RlIExvYWQgYXV0b21hdGljYWxs eQ0KIEBzZWN0aW9uIExvYWQgYXV0b21hdGljYWxseQ0KIA0KLUEgc2ltcGxlIHdheSB0byBsb2Fk IHRoZSB0aGVtZSBmcm9tIHlvdXIgRW1hY3MgaW5pdGlhbGl6YXRpb24gZmlsZSBpcyB0bw0KLWlu Y2x1ZGUgZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbnM6DQorT25jZSB0aGUgbGli cmFyaWVzIHRoYXQgZGVmaW5lIHRoZSB0aGVtZXMgYXJlIGVuYWJsZWQsIHlvdSBjYW4gbG9hZCBh DQordGhlbWUgd2l0aCBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZyBleHByZXNzaW9uczoNCiANCiBA bGlzcA0KIChsb2FkLXRoZW1lICdtb2R1cy1vcGVyYW5kaSB0KSAgICAgICAgICA7IExpZ2h0IHRo ZW1lDQpAQCAtMjgyLDE3MyArMjg3LDE5MCBAQCBpbmNsdWRlIGVpdGhlciBvZiB0aGUgZm9sbG93 aW5nIGV4cHJlc3Npb25zOg0KIE1ha2Ugc3VyZSB0byByZW1vdmUgYW55IG90aGVyIHRoZW1lIHRo YXQgaXMgYmVpbmcgbG9hZGVkLCBvdGhlcndpc2UgeW91DQogbWlnaHQgcnVuIGludG8gdW5leHBl Y3RlZCBpc3N1ZXMuDQogDQotTm90ZSB0aGF0IHlvdSBjYW4gYWx3YXlzIEBzYW1we00teCBkaXNh YmxlLXRoZW1lfSBhbmQgc3BlY2lmeSBhbiBpdGVtLiAgVGhlDQorTm90ZSB0aGF0IHlvdSBjYW4g YWx3YXlzIEBrYmR7TS14IGRpc2FibGUtdGhlbWV9IGFuZCBzcGVjaWZ5IGFuIGl0ZW0uICBUaGUN CiBjb21tYW5kIGRvZXMgZXhhY3RseSB3aGF0IGl0cyBuYW1lIHN1Z2dlc3RzLiAgVG8gZGVhY3Rp dmF0ZSBhbGwgZW5hYmxlZA0KIHRoZW1lcyBhdCBvbmNlLCBpbiBjYXNlIHlvdSBoYXZlIG11bHRp cGxlIG9mIHRoZW0gZW5hYmxlZCwgeW91IG1heQ0KLWV2YWx1YXRlIHRoZSBleHByZXNzaW9uOg0K K2V2YWx1YXRlIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbjoNCiANCiBAbGlzcA0KIChtYXBjICMn ZGlzYWJsZS10aGVtZSBjdXN0b20tZW5hYmxlZC10aGVtZXMpDQogQGVuZCBsaXNwDQogDQotQG5v ZGUgTG9hZCBhdCBhIGdpdmVuIHRpbWUgb3IgYXQgc3Vuc2V0L3N1bnJpc2UNCi1Ac2VjdGlvbiBM b2FkIGF0IGEgZ2l2ZW4gdGltZSBvciBhdCBzdW5zZXQvc3VucmlzZQ0KK0Bub2RlIFRvZ2dsZSBi ZXR3ZWVuIHRoZSB0aGVtZXMgb24gZGVtYW5kDQorQHNlY3Rpb24gVG9nZ2xlIGJldHdlZW4gdGhl IHRoZW1lcyBvbiBkZW1hbmQNCiANCi1JdCBpcyBwb3NzaWJsZSB0byBzY2hlZHVsZSBhIHRpbWUg ZHVyaW5nIHRoZSBkYXkgYXQgb3IgYWZ0ZXIgd2hpY2ggYQ0KLWdpdmVuIHRoZW1lIHdpbGwgYmUg bG9hZGVkLkBmb290bm90ZXtDb250cmlidXRlZCBvbiBSZWRkaXQgYnkgdXNlciBAc2FtcHtiM259 DQotQHVyZWZ7aHR0cHM6Ly93d3cucmVkZGl0LmNvbS9yL2VtYWNzL2NvbW1lbnRzL2dkdHFvdi93 ZWVrbHlfdGlwc3RyaWNrZXRjX3RocmVhZC9mcTkxODZoL30ufQ0KK1RoZSB0aGVtZXMgcHJvdmlk ZSB0aGUgQHNhbXB7bW9kdXMtdGhlbWVzLXRvZ2dsZX0gY29tbWFuZCB0aGF0IHlvdSBjYW4gYmlu ZCB0bw0KK2Ega2V5IG9mIHlvdXIgcHJlZmVyZW5jZS4gIEZvciBleGFtcGxlOg0KIA0KIEBsaXNw DQotOzsgTGlnaHQgZm9yIHRoZSBkYXkNCi0obG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCB0 KQ0KLShydW4tYXQtdGltZSAiMDU6MDAiICgqIDYwIDYwIDI0KQ0KLSAgICAgICAgICAgICAobGFt YmRhICgpDQotICAgICAgICAgICAgICAgKGVuYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpKSkN Ci0NCi07OyBEYXJrIGZvciB0aGUgbmlnaHQNCi0obG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0 IHQpDQotKHJ1bi1hdC10aW1lICIyMTowMCIgKCogNjAgNjAgMjQpDQotICAgICAgICAgICAgIChs YW1iZGEgKCkNCi0gICAgICAgICAgICAgICAoZW5hYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKSkp DQorKGdsb2JhbC1zZXQta2V5IChrYmQgIjxmNT4iKSAjJ21vZHVzLXRoZW1lcy10b2dnbGUpDQog QGVuZCBsaXNwDQogDQotQSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBhYm92ZSB0ZWNobmlxdWUg aXMgdG8gdXNlIHRoZSBzdW5yaXNlIGFuZA0KLXN1bnNldCBhcyByZWZlcmVuY2VzLCBpbnN0ZWFk IG9mIHNwZWNpZnlpbmcgYSBmaXhlZCBob3VyIHZhbHVlLkBmb290bm90ZXtDb250cmlidXRlZCBk aXJlY3RseSBieSBBbmRyw6kgQWxleGFuZHJlIEdvbWVzIEB1cmVme2h0dHBzOi8vZ2l0bGFiLmNv bS9hYWRjZ30ufQ0KLUlmIHlvdSBzZXQgQHNhbXB7Y2FsZW5kYXItbGF0aXR1ZGV9IGFuZCBAc2Ft cHtjYWxlbmRhci1sb25naXR1ZGV9IChkZWZpbmVkIGluIHRoZQ0KLWJ1aWx0LWluIEBzYW1we3Nv bGFyLmVsfSBsaWJyYXJ5LS0tcmVhZCBpdCB3aXRoIEBzYW1we00teCBmaW5kLWxpYnJhcnl9KSwg eW91IGNhbg0KLWF1dG9tYXRpY2FsbHkgc3dpdGNoIGJldHdlZW4gYm90aCB0aGVtZXMgYXQgdGhl IGFwcHJvcHJpYXRlIHRpbWUtb2YtZGF5Lg0KLU5vdGUgdGhhdCBAZW1waHt0aG9zZSBjYWxlbmRh ciB2YXJpYWJsZXMgbmVlZCB0byBiZSBzZXQgYmVmb3JlIGxvYWRpbmcgdGhlDQotdGhlbWVzfS4N CitXaGF0IHRoaXMgdG9nZ2xlIGRvZXMgaXMgY2hlY2sgaWYgZWl0aGVyIEBzYW1we21vZHVzLW9w ZXJhbmRpfSBvciBAc2FtcHttb2R1cy12aXZlbmRpfQ0KK2lzIGFjdGl2ZSBhbmQgcHJvY2VlZHMg dG8gY3ljbGUgYmV0d2VlbiB0aGVtLiAgSWYgbm9uZSBvZiB0aGVtIGFyZQ0KK2FjdGl2ZSwgYSBt aW5pYnVmZmVyIHByb21wdCB3aWxsIGFzayB0aGUgdXNlciB0byBjaG9vc2UgYmV0d2VlbiB0aGUg dHdvLg0KK0luIHRoaXMgbGF0dGVyIHNjZW5hcmlvLCBhbGwgb3RoZXIgdGhlbWVzIHdpbGwgZmly c3QgYmUgZGlzYWJsZWQgKHVzaW5nDQordGhlIEBzYW1we2Rpc2FibGUtdGhlbWV9IHdlIGNvdmVy ZWQgYmVmb3JlKS4gIExhc3RseSwgdGhlIHRvZ2dsZSBjYWxscw0KK0BzYW1we21vZHVzLXRoZW1l cy1hZnRlci1sb2FkLXRoZW1lLWhvb2t9IHdoaWNoIHlvdSBjYW4gdXNlIHRvIGFkZCB5b3VyIHR3 ZWFrcw0KKyhzZWUgQHhyZWZ7VHdlYWsgZmFjZXMgKERJWSl9KS4NCisNCitAbm9kZSBDb25maWd1 cmUgb3B0aW9ucyBwcmlvciB0byBsb2FkaW5nIGEgdGhlbWUNCitAc2VjdGlvbiBDb25maWd1cmUg b3B0aW9ucyBwcmlvciB0byBsb2FkaW5nIGEgdGhlbWUNCisNCitUaGUgdGhlbWVzIHByb3ZpZGUg YSB1bmlmaWVkIGN1c3RvbWl6YXRpb24gZnJhbWV3b3JrLiAgVGhpcyBpcyB3aHkgeW91DQorbmVl ZCBAc2FtcHsocmVxdWlyZSAnbW9kdXMtdGhlbWVzKX0uICBBbGwgb3B0aW9ucyBtdXN0IGJlIHNl dCBiZWZvcmUgbG9hZGluZw0KK2VhY2ggdGhlbWUgaW4gb3JkZXIgdG8gY29tZSBpbnRvIGVmZmVj dC4gIEZvciBleGFtcGxlOg0KIA0KIEBsaXNwDQotOzsgRGVmaW5lIGNvb3JkaW5hdGVzDQotKHNl dHEgY2FsZW5kYXItbGF0aXR1ZGUgMzUuMTcNCi0gICAgICBjYWxlbmRhci1sb25naXR1ZGUgMzMu MzYpDQotDQotOzsgTGlnaHQgYXQgc3VucmlzZQ0KLShsb2FkLXRoZW1lICdtb2R1cy1vcGVyYW5k aSB0IHQpDQotKHJ1bi1hdC10aW1lIChudGggMSAoc3BsaXQtc3RyaW5nIChzdW5yaXNlLXN1bnNl dCkpKQ0KLSAgICAgICAgICAgICAoKiA2MCA2MCAyNCkNCi0gICAgICAgICAgICAgKGxhbWJkYSAo KQ0KLSAgICAgICAgICAgICAgIChlbmFibGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKSkpDQotDQot OzsgRGFyayBhdCBzdW5zZXQNCi0obG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0IHQpDQotKHJ1 bi1hdC10aW1lIChudGggNCAoc3BsaXQtc3RyaW5nIChzdW5yaXNlLXN1bnNldCkpKQ0KLSAgICAg ICAgICAgICAoKiA2MCA2MCAyNCkNCi0gICAgICAgICAgICAgKGxhbWJkYSAoKQ0KLSAgICAgICAg ICAgICAgIChlbmFibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpKSkNCis7OyBTZXQgY3VzdG9taXph dGlvbiBvcHRpb25zIHRvIHZhbHVlcyBvZiB5b3VyIGNob2ljZQ0KKyhzZXRxIG1vZHVzLXRoZW1l cy1zbGFudGVkLWNvbnN0cnVjdHMgdA0KKyAgICAgIG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVj dHMgbmlsDQorICAgICAgbW9kdXMtdGhlbWVzLWZyaW5nZXMgbmlsIDsgQHtuaWwsJ3N1YnRsZSwn aW50ZW5zZUB9DQorICAgICAgbW9kdXMtdGhlbWVzLW1vZGUtbGluZSAnM2QgOyBAe25pbCwnM2Qs J21vb2R5QH0NCisgICAgICBtb2R1cy10aGVtZXMtc3ludGF4IG5pbCA7IExvdHMgb2Ygb3B0aW9u cy0tLWNvbnRpbnVlIHJlYWRpbmcgdGhlIG1hbnVhbA0KKyAgICAgIG1vZHVzLXRoZW1lcy1pbnRl bnNlLWhsLWxpbmUgbmlsDQorICAgICAgbW9kdXMtdGhlbWVzLXBhcmVuLW1hdGNoICdzdWJ0bGUt Ym9sZCA7IEB7bmlsLCdzdWJ0bGUtYm9sZCwnaW50ZW5zZSwnaW50ZW5zZS1ib2xkQH0NCisgICAg ICBtb2R1cy10aGVtZXMtbGlua3MgJ25ldXRyYWwtdW5kZXJsaW5lIDsgTG90cyBvZiBvcHRpb25z LS0tY29udGludWUgcmVhZGluZyB0aGUgbWFudWFsDQorICAgICAgbW9kdXMtdGhlbWVzLW5vLW1p eGVkLWZvbnRzIG5pbA0KKyAgICAgIG1vZHVzLXRoZW1lcy1wcm9tcHRzIG5pbCA7IEB7bmlsLCdz dWJ0bGUsJ2ludGVuc2VAfQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1jb21wbGV0aW9ucyBuaWwgOyBA e25pbCwnbW9kZXJhdGUsJ29waW5pb25hdGVkQH0NCisgICAgICBtb2R1cy10aGVtZXMtcmVnaW9u ICdiZy1vbmx5LW5vLWV4dGVuZCA7IEB7bmlsLCduby1leHRlbmQsJ2JnLW9ubHksJ2JnLW9ubHkt bm8tZXh0ZW5kQH0NCisgICAgICBtb2R1cy10aGVtZXMtZGlmZnMgbmlsIDsgQHtuaWwsJ2Rlc2F0 dXJhdGVkLCdmZy1vbmx5LCdiZy1vbmx5QH0NCisgICAgICBtb2R1cy10aGVtZXMtb3JnLWJsb2Nr cyBuaWwgOyBAe25pbCwnZ3JheXNjYWxlLCdyYWluYm93QH0NCisgICAgICBtb2R1cy10aGVtZXMt aGVhZGluZ3MgOyBMb3RzIG9mIG9wdGlvbnMtLS1jb250aW51ZSByZWFkaW5nIHRoZSBtYW51YWwN CisgICAgICAnKCgxIC4gc2VjdGlvbikNCisgICAgICAgICgyIC4gc2VjdGlvbi1uby1ib2xkKQ0K KyAgICAgICAgKDMgLiByYWluYm93LWxpbmUpDQorICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1u by1ib2xkKSkNCisgICAgICBtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3Mgbmls DQorICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLWhlYWRpbmdzIG5pbA0KKyAgICAgIG1vZHVzLXRo ZW1lcy1zY2FsZS0xIDEuMQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS0yIDEuMTUNCisgICAg ICBtb2R1cy10aGVtZXMtc2NhbGUtMyAxLjIxDQorICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTQg MS4yNw0KKyAgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS01IDEuMzMpDQorDQorOzsgTG9hZCB0aGUg bGlnaHQgdGhlbWUgKGBtb2R1cy1vcGVyYW5kaScpDQorKG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJh bmRpKQ0KKw0KKzs7IDs7IE9yIGxvYWQgdmlhIGEgaG9vaw0KKzs7IChhZGQtaG9vayAnYWZ0ZXIt aW5pdC1ob29rICMnbW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkpDQogQGVuZCBsaXNwDQogDQot Rm9yIHRoZSBzYWtlIG9mIGNvbXBsZXRlbmVzcywgdGhlIEBzYW1we2xvYWQtdGhlbWV9IGNhbGwg aW4gdGhlc2Ugc25pcHBldHMgaXMNCi1zbGlnaHRseSBkaWZmZXJlbnQgdGhhbiB0aGUgb25lIHNo b3duIGluIEByZWZ7TG9hZCBhdXRvbWF0aWNhbGx5fSwgYmVjYXVzZSBpdA0KLWRvZXMgbm90IGVu YWJsZSB0aGUgdGhlbWUgZGlyZWN0bHk6IHRoZSBzdWJzZXF1ZW50IEBzYW1we2VuYWJsZS10aGVt ZX0gZG9lcw0KLXRoYXQgd2hlbiBuZWVkZWQuDQorTm90ZSB0aGF0IGluIHRoaXMgZXhhbXBsZSB3 ZSB1c2UgQHNhbXB7bW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGl9LiAgSGVyZSBpcw0KK3doYXQg aXQgZG9lczoNCiANCi1Abm9kZSBUb2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzIG9uIGRlbWFuZA0K LUBzZWN0aW9uIFRvZ2dsZSBiZXR3ZWVuIHRoZSB0aGVtZXMgb24gZGVtYW5kDQorQGxpc3ANCiso ZGVmdW4gbW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkgKCkNCisgICJMb2FkIGBtb2R1cy1vcGVy YW5kaScgYW5kIGRpc2FibGUgYG1vZHVzLXZpdmVuZGknLg0KK0Fsc28gcnVuIGBtb2R1cy10aGVt ZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rJy4iDQorICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtdml2 ZW5kaSkNCisgIChsb2FkLXRoZW1lICdtb2R1cy1vcGVyYW5kaSB0KQ0KKyAgKHJ1bi1ob29rcyAn bW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9vaykpDQorQGVuZCBsaXNwDQorDQorU2Ft ZSBwcmluY2lwbGUsIGludmVyc2UgZWZmZWN0LCBmb3IgQHNhbXB7bW9kdXMtdGhlbWVzLWxvYWQt dml2ZW5kaX0uDQogDQotV2l0aCBib3RoIHRoZW1lcyBhdmFpbGFibGUsIGl0IGlzIHBvc3NpYmxl IHRvIGRlc2lnbiBhIHNpbXBsZSBjb21tYW5kIHRvDQotc3dpdGNoIGJldHdlZW4gdGhlbSBvbiBk ZW1hbmQuDQorSWYgeW91IHByZWZlciB0byBtYWludGFpbiBkaWZmZXJlbnQgY3VzdG9taXphdGlv biBvcHRpb25zIGJldHdlZW4gdGhlDQordHdvIHRoZW1lcywgaXQgaXMgYmVzdCB5b3Ugd3JpdGUg eW91ciBvd24gZnVuY3Rpb25zIHRoYXQgZmlyc3Qgc2V0IHRob3NlDQorb3B0aW9ucyBhbmQgdGhl biBsb2FkIHRoZSB0aGVtZXMuICBUaGUgZm9sbG93aW5nIGNvZGUgZG9lcyBleGFjdGx5IHRoYXQN CitieSBzaW1wbHkgZGlmZmVyZW50aWF0aW5nIHRoZSB0d28gdGhlbWVzIG9uIHRoZSBjaG9pY2Ug b2YgYm9sZA0KK2NvbnN0cnVjdHMgaW4gY29kZSBzeW50YXggKGVuYWJsZWQgZm9yIG9uZSwgZGlz YWJsZWQgZm9yIHRoZSBvdGhlcikuDQogDQogQGxpc3ANCi0oZGVmdW4gbW9kdXMtdGhlbWVzLXRv Z2dsZSAoKQ0KLSAgIlRvZ2dsZSBiZXR3ZWVuIGBtb2R1cy1vcGVyYW5kaScgYW5kIGBtb2R1cy12 aXZlbmRpJyB0aGVtZXMuIg0KKyhkZWZ1biBteS1kZW1vLW1vZHVzLW9wZXJhbmRpICgpDQorICAo aW50ZXJhY3RpdmUpDQorICAoc2V0cSBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIHQpIDsg RU5BQkxFIGJvbGQNCisgIChtb2R1cy10aGVtZXMtbG9hZC1vcGVyYW5kaSkpDQorDQorKGRlZnVu IG15LWRlbW8tbW9kdXMtdml2ZW5kaSAoKQ0KICAgKGludGVyYWN0aXZlKQ0KKyAgKHNldHEgbW9k dXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyBuaWwpIDsgRElTQUJMRSBib2xkDQorICAobW9kdXMt dGhlbWVzLWxvYWQtdml2ZW5kaSkpDQorDQorKGRlZnVuIG15LWRlbW8tbW9kdXMtdGhlbWVzLXRv Z2dsZSAoKQ0KICAgKGlmIChlcSAoY2FyIGN1c3RvbS1lbmFibGVkLXRoZW1lcykgJ21vZHVzLW9w ZXJhbmRpKQ0KLSAgICAgIChwcm9nbg0KLSAgICAgICAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLW9w ZXJhbmRpKQ0KLSAgICAgICAgKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVuZGkgdCkpDQotICAgIChk aXNhYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKQ0KLSAgICAobG9hZC10aGVtZSAnbW9kdXMtb3Bl cmFuZGkgdCkpKQ0KKyAgICAgIChteS1kZW1vLW1vZHVzLXZpdmVuZGkpDQorICAgIChteS1kZW1v LW1vZHVzLW9wZXJhbmRpKSkpDQogQGVuZCBsaXNwDQogDQotWW91IGNvdWxkIHVzZSBAc2FtcHso bWFwYyAjJ2Rpc2FibGUtdGhlbWUgY3VzdG9tLWVuYWJsZWQtdGhlbWVzKX0gaW5zdGVhZCBvZg0K LWRpc2FibGluZyBhIHNpbmdsZSB0YXJnZXQsIGJ1dCB5b3UgZ2V0IHRoZSBpZGVhLg0KK1RoZW4g YXNzaWduIEBzYW1we215LWRlbW8tbW9kdXMtdGhlbWVzLXRvZ2dsZX0gdG8gYSBrZXkgaW5zdGVh ZCBvZiB0aGUNCitlcXVpdmFsZW50IHRoZSB0aGVtZXMgcHJvdmlkZS4NCisNCitAbm9kZSBTYW1w bGUgY29uZmlndXJhdGlvbiBmb3IgdXNlLXBhY2thZ2UNCitAc2VjdGlvbiBTYW1wbGUgY29uZmln dXJhdGlvbiBmb3IgdXNlLXBhY2thZ2UNCiANCi1Abm9kZSBDb25maWd1cmUgb3B0aW9ucyBwcmlv ciB0byBsb2FkaW5nDQotQHNlY3Rpb24gQ29uZmlndXJlIG9wdGlvbnMgcHJpb3IgdG8gbG9hZGlu Zw0KK0l0IGlzIGNvbW1vbiBmb3IgRW1hY3MgdXNlcnMgdG8gcmVseSBvbiBAc2FtcHt1c2UtcGFj a2FnZX0gZm9yIGRlY2xhcmluZw0KK3BhY2thZ2UgY29uZmlndXJhdGlvbnMgaW4gdGhlaXIgc2V0 dXAuICBXZSB1c2UgdGhpcyBhcyBhbiBleGFtcGxlOg0KIA0KLUlmIHlvdSBwbGFuIHRvIHVzZSBi b3RoIHRoZW1lcyBhbmQgd2lzaCB0byBhcHBseSBzdHlsZXMgY29uc2lzdGVudGx5DQotKHNlZSBA cmVme0N1c3RvbWl6YXRpb24gT3B0aW9uc30pLCB5b3UgY291bGQgZGVmaW5lIHdyYXBwZXIgZnVu Y3Rpb25zIGFyb3VuZA0KLXRoZSBzdGFuZGFyZCBAc2FtcHtsb2FkLXRoZW1lfSBjb21tYW5kLiAg VGhlc2UgZXh0ZW5kIHRoZSBzaW1wbGUgZnVuY3Rpb24gd2UNCi1wcmVzZW50ZWQgaW4gQHJlZntU b2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzIG9uIGRlbWFuZH0uDQorQGxpc3ANCisodXNlLXBhY2th Z2UgbW9kdXMtdGhlbWVzDQorICA6ZW5zdXJlDQorICA6aW5pdA0KKyAgOzsgQWRkIGFsbCB5b3Vy IGN1c3RvbWl6YXRpb25zIHByaW9yIHRvIGxvYWRpbmcgdGhlIHRoZW1lcw0KKyAgKHNldHEgbW9k dXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cyB0DQorICAgICAgICBtb2R1cy10aGVtZXMtYm9s ZC1jb25zdHJ1Y3RzIG5pbCkNCisgIDpjb25maWcNCisgIDs7IExvYWQgdGhlIHRoZW1lIG9mIHlv dXIgY2hvaWNlDQorICAobW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkpDQorICA7OyA7OyBPUg0K KyAgOzsgKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQpDQorICA6YmluZCAoIjxmNT4iIC4g bW9kdXMtdGhlbWVzLXRvZ2dsZSkpDQorQGVuZCBsaXNwDQogDQotSGVyZSBpcyBhIGNvbXByZWhl bnNpdmUgc2V0dXAgKHRoZSB2YWx1ZXMgYXNzaWduZWQgdG8gdGhlIHZhcmlhYmxlcyBhcmUNCi1q dXN0IGZvciB0aGUgc2FrZSBvZiB0aGlzIGRlbW9uc3RyYXRpb24pOkBmb290bm90ZXtUaGUgQHNh bXB7ZGVmbWFjcm99IGFuZCBAc2FtcHtkb2xpc3R9DQotbWV0aG9kIHdlcmUgY29udHJpYnV0ZWQg b24gUmVkZGl0IGJ5IHVzZXIgQHNhbXB7YjNufSwNCi1AdXJlZntodHRwczovL3d3dy5yZWRkaXQu Y29tL3IvZW1hY3MvY29tbWVudHMvZ3Fzejh1L3dlZWtseV90aXBzdHJpY2tldGNfdGhyZWFkL2Zz ZmFraGcvfS59DQorTm90ZSB0aGF0IG1hbnVhbCBpbnN0YWxsYXRpb25zIGV4cGVjdCB0aGF0IHRo ZSB1c2VyIGJ5dGUgY29tcGlsZXMgYWxsDQordGhlIHJlbGV2YW50IGZpbGVzIGFuZCBjcmVhdGVz IGF1dG9sb2FkcyBmb3IgdGhlbS4gIElmLCBmb3Igd2hhdGV2ZXINCityZWFzb24sIHVzZXJzIHdp c2ggdG8gaW5zdGFsbCB0aGUgdGhlbWUgZmlsZXMgbWFudWFsbHkgd2hpbGUgbm90IGRvaW5nDQor dGhlIHJlcXVpc2l0ZSBwYWNrYWdpbmcgd29yaywgdGhlbiB0aGlzIGNvZGUgYmxvY2sgbXVzdCBi ZSB1c2VkIGluc3RlYWQNCisoYnV0IHBsZWFzZSBwcmVmZXIgdGhlIHBhY2thZ2VkIGZvcm1hdCB0 aGF0IGRvZXMgcHJvcGVyIGJ5dGUgY29tcGlsYXRpb24NCithbmQgYXV0b2xvYWRpbmcpLg0KKw0K K1RoZSBmb2xsb3dpbmcgc25pcHBldCBpcyBmb3IgbWFudWFsIGluc3RhbGxhdGlvbnMgb3IgdGhv c2UgdGhhdCB1c2UgdGhlDQordGhlbWVzIHRoYXQgYXJlIHNoaXBwZWQgd2l0aCBFbWFjczoNCiAN CiBAbGlzcA0KLShkZWZtYWNybyBtb2R1cy10aGVtZXMtZm9ybWF0LXNleHAgKHNleHAgJnJlc3Qg b2JqZWN0cykNCi0gIGAoZXZhbCAocmVhZCAoZm9ybWF0ICwoZm9ybWF0ICIlUyIgc2V4cCkgLEBA b2JqZWN0cykpKSkNCi0NCi0oZG9saXN0ICh0aGVtZSAnKCJvcGVyYW5kaSIgInZpdmVuZGkiKSkN Ci0gIChtb2R1cy10aGVtZXMtZm9ybWF0LXNleHANCi0gICAoZGVmdW4gbW9kdXMtJTEkcy10aGVt ZS1sb2FkICgpDQotICAgICAoc2V0cSBtb2R1cy0lMSRzLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0 cyB0DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLWJvbGQtY29uc3RydWN0cyB0DQotICAg ICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLWZyaW5nZXMgJ3N1YnRsZSA7IEB7bmlsLCdzdWJ0bGUs J2ludGVuc2VAfQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1tb2RlLWxpbmUgJzNkIDsg QHtuaWwsJzNkLCdtb29keUB9DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLWZhaW50LXN5 bnRheCBuaWwNCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtaW50ZW5zZS1obC1saW5lIG5p bA0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoIG5pbA0K LSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1uby1saW5rLXVuZGVybGluZSB0DQotICAgICAg ICAgICBtb2R1cy0lMSRzLXRoZW1lLW5vLW1peGVkLWZvbnRzIG5pbA0KLSAgICAgICAgICAgbW9k dXMtJTEkcy10aGVtZS1wcm9tcHRzIG5pbCA7IEB7bmlsLCdzdWJ0bGUsJ2ludGVuc2VAfQ0KLSAg ICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1jb21wbGV0aW9ucyAnbW9kZXJhdGUgOyBAe25pbCwn bW9kZXJhdGUsJ29waW5pb25hdGVkQH0NCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtZGlm ZnMgbmlsIDsgQHtuaWwsJ2Rlc2F0dXJhdGVkLCdmZy1vbmx5QH0NCi0gICAgICAgICAgIG1vZHVz LSUxJHMtdGhlbWUtb3JnLWJsb2NrcyAnZ3JleXNjYWxlIDsgQHtuaWwsJ2dyZXlzY2FsZSwncmFp bmJvd0B9DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLWhlYWRpbmdzICA7IFJlYWQgZnVy dGhlciBiZWxvdyBpbiB0aGUgbWFudWFsIGZvciB0aGlzIG9uZQ0KLSAgICAgICAgICAgJygoMSAu IHNlY3Rpb24pDQotICAgICAgICAgICAgICgyIC4gbGluZSkNCi0gICAgICAgICAgICAgKHQgLiBy YWluYm93LWxpbmUtbm8tYm9sZCkpDQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXZhcmlh YmxlLXBpdGNoLWhlYWRpbmdzIG5pbA0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1zY2Fs ZS1oZWFkaW5ncyB0DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXNjYWxlLTEgMS4xDQot ICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXNjYWxlLTIgMS4xNQ0KLSAgICAgICAgICAgbW9k dXMtJTEkcy10aGVtZS1zY2FsZS0zIDEuMjENCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUt c2NhbGUtNCAxLjI3DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXNjYWxlLTUgMS4zMykN Ci0gICAgIChsb2FkLXRoZW1lICdtb2R1cy0lMSRzIHQpKQ0KLSAgIHRoZW1lKSkNCi0NCi0oZGVm dW4gbW9kdXMtdGhlbWVzLXRvZ2dsZSAoKQ0KLSAgIlRvZ2dsZSBiZXR3ZWVuIGBtb2R1cy1vcGVy YW5kaScgYW5kIGBtb2R1cy12aXZlbmRpJyB0aGVtZXMuIg0KLSAgKGludGVyYWN0aXZlKQ0KLSAg KGlmIChlcSAoY2FyIGN1c3RvbS1lbmFibGVkLXRoZW1lcykgJ21vZHVzLW9wZXJhbmRpKQ0KLSAg ICAgIChwcm9nbg0KLSAgICAgICAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKQ0KLSAg ICAgICAgKG1vZHVzLXZpdmVuZGktdGhlbWUtbG9hZCkpDQotICAgIChkaXNhYmxlLXRoZW1lICdt b2R1cy12aXZlbmRpKQ0KLSAgICAobW9kdXMtb3BlcmFuZGktdGhlbWUtbG9hZCkpKQ0KKyh1c2Ut cGFja2FnZSBtb2R1cy10aGVtZXMNCisgIDplbnN1cmUNCisgIDppbml0DQorICA7OyBBZGQgYWxs IHlvdXIgY3VzdG9taXphdGlvbnMgcHJpb3IgdG8gbG9hZGluZyB0aGUgdGhlbWVzDQorICAoc2V0 cSBtb2R1cy10aGVtZXMtc2xhbnRlZC1jb25zdHJ1Y3RzIHQNCisgICAgICAgIG1vZHVzLXRoZW1l cy1ib2xkLWNvbnN0cnVjdHMgbmlsKQ0KKw0KKyAgOzsgRW5hYmxlIHRoZSB0aGVtZSBmaWxlcw0K KyAgKHVzZS1wYWNrYWdlIG1vZHVzLW9wZXJhbmRpLXRoZW1lKQ0KKyAgKHVzZS1wYWNrYWdlIG1v ZHVzLXZpdmVuZGktdGhlbWUpDQorDQorICA6Y29uZmlnDQorICA7OyBMb2FkIHRoZSB0aGVtZSBv ZiB5b3VyIGNob2ljZQ0KKyAgKG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpKQ0KKyAgOmJpbmQg KCI8ZjU+IiAuIG1vZHVzLXRoZW1lcy10b2dnbGUpKQ0KIEBlbmQgbGlzcA0KIA0KIEBub2RlIEN1 c3RvbWl6YXRpb24gT3B0aW9ucw0KIEBjaGFwdGVyIEN1c3RvbWl6YXRpb24gT3B0aW9ucw0KIA0K IFRoZSBNb2R1cyB0aGVtZXMgYXJlIGhpZ2hseSBjb25maWd1cmFibGUsIHRob3VnaCB0aGV5IHNo b3VsZCB3b3JrIHdlbGwNCi13aXRob3V0IGFueSBmdXJ0aGVyIHR3ZWFrcy4NCit3aXRob3V0IGFu eSBmdXJ0aGVyIHR3ZWFrcy4gIEJ5IGRlZmF1bHQsIGFsbCBjdXN0b21pemF0aW9uIG9wdGlvbnMg YXJlDQorc2V0IHRvIEBzYW1we25pbH0uDQogDQotQnkgZGVmYXVsdCwgYWxsIGN1c3RvbWl6YXRp b24gb3B0aW9ucyBhcmUgc2V0IHRvIEBzYW1we25pbH0uDQotDQotQWxsIGN1c3RvbWl6YXRpb24g b3B0aW9ucyBuZWVkIHRvIGJlIGV2YWx1YXRlZCBiZWZvcmUgbG9hZGluZyB0aGVpcg0KLXRoZW1l IChAcHhyZWZ7RW5hYmxlIGFuZCBsb2FkfSkuDQorUmVtZW1iZXIgdGhhdCBhbGwgY3VzdG9taXph dGlvbiBvcHRpb25zIG11c3QgYmUgZXZhbHVhdGVkIGJlZm9yZSBsb2FkaW5nDQorYSB0aGVtZSAo c2VlIEB4cmVme0VuYWJsZSBhbmQgbG9hZH0pLg0KIA0KIEBtZW51DQogKiBCb2xkIGNvbnN0cnVj dHM6OiAgICAgICAgICAgICAgVG9nZ2xlIGJvbGQgY29uc3RydWN0cyBpbiBjb2RlDQogKiBTbGFu dGVkIGNvbnN0cnVjdHM6OiAgICAgICAgICAgVG9nZ2xlIHNsYW50ZWQgY29uc3RydWN0cyAoaXRh bGljcykgaW4gY29kZQ0KLSogU3ludGF4IGhpZ2hsaWdodGluZzo6ICAgICAgICAgIFRvZ2dsZSBz dWJ0bGUgY29sb3JhdGlvbiBpbiBwcm9ncmFtbWluZyBtb2Rlcw0KKyogU3ludGF4IHN0eWxlczo6 ICAgICAgICAgICAgICAgIENob29zZSB0aGUgb3ZlcmFsbCBhZXN0aGV0aWMgb2YgY29kZSBzeW50 YXgNCiAqIE5vIG1peGVkIGZvbnRzOjogICAgICAgICAgICAgICBUb2dnbGUgbWl4aW5nIG9mIGZv bnQgZmFtaWxpZXMNCi0qIExpbmsgdW5kZXJsaW5lOjogICAgICAgICAgICAgICBUb2dnbGUgdW5k ZXJsaW5lZCB0ZXh0IGluIGxpbmtzDQorKiBMaW5rIHN0eWxlczo6ICAgICAgICAgICAgICAgICAg Q2hvb3NlIGxpbmsgY29sb3IgaW50ZW5zaXR5IGZvciB0aGUgdGV4dCBvciB1bmRlcmxpbmUsIG9y IG5vIHVuZGVybGluZSBhdCBhbGwNCiAqIENvbW1hbmQgcHJvbXB0czo6ICAgICAgICAgICAgICBD aG9vc2UgYW1vbmcgcGxhaW4sIHN1YnRsZSwgb3IgaW50ZW5zZSBwcm9tcHRzDQotKiBNb2RlIGxp bmU6OiAgICAgICAgICAgICAgICAgICAgQ2hvb3NlIGFtb25nIHBsYWluLCB0aHJlZS1kaW1lbnNp b24sIG9yIG1vb2R5LWNvbXBsaWFudCBzdHlsZXMNCisqIE1vZGUgbGluZTo6ICAgICAgICAgICAg ICAgICAgICBDaG9vc2UgYW1vbmcgcGxhaW4sIHRocmVlLWRpbWVuc2lvbmFsLCBvciBNb29keS1j b21wbGlhbnQgc3R5bGVzDQogKiBDb21wbGV0aW9uIFVJczo6ICAgICAgICAgICAgICAgQ2hvb3Nl IGFtb25nIHN0YW5kYXJkLCBtb2RlcmF0ZSwgb3Igb3BpbmlvbmF0ZWQgbG9va3MNCi0qIEZyaW5n ZXM6OiAgICAgICAgICAgICAgICAgICAgICBDaG9vc2UgYW1vbmcgcGxhaW4sIHN1YnRsZSwgb3Ig aW50ZW5zZSBmcmluZ2UgdmlzaWJpbGl0eQ0KKyogRnJpbmdlczo6ICAgICAgICAgICAgICAgICAg ICAgIENob29zZSBhbW9uZyBpbnZpc2libGUsIHN1YnRsZSwgb3IgaW50ZW5zZSBmcmluZ2Ugdmlz aWJpbGl0eQ0KICogTGluZSBoaWdobGlnaHRpbmc6OiAgICAgICAgICAgIFRvZ2dsZSBpbnRlbnNl IHN0eWxlIGZvciBjdXJyZW50IGxpbmUgaGlnaGxpZ2h0aW5nDQotKiBNYXRjaGluZyBwYXJlbnRo ZXNlczo6ICAgICAgICAgVG9nZ2xlIGludGVuc2Ugc3R5bGUgZm9yIG1hdGNoaW5nIGRlbGltaXRl cnMvcGFyZW50aGVzZXMNCisqIE1hdGNoaW5nIHBhcmVudGhlc2VzOjogICAgICAgICBDaG9vc2Ug YmV0d2VlbiB2YXJpb3VzIHN0eWxlcyBmb3IgbWF0Y2hpbmcgZGVsaW1pdGVycy9wYXJlbnRoZXNl cw0KKyogQWN0aXZlIHJlZ2lvbjo6ICAgICAgICAgICAgICAgIENob29zZSBiZXR3ZWVuIHZhcmlv dXMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHJlZ2lvbg0KICogRGlmZnM6OiAgICAgICAgICAgICAg ICAgICAgICAgIENob29zZSBhbW9uZyBpbnRlbnNlLCBkZXNhdHVyYXRlZCwgb3IgdGV4dC1vbmx5 IGRpZmZzDQotKiBPcmcgbW9kZSBibG9ja3M6OiAgICAgICAgICAgICAgQ2hvb3NlIGFtb25nIHBs YWluLCBncmV5c2NhbGUsIG9yIHJhaW5ib3cgc3R5bGVzDQorKiBPcmcgbW9kZSBibG9ja3M6OiAg ICAgICAgICAgICAgQ2hvb3NlIGFtb25nIHBsYWluLCBncmF5c2NhbGUsIG9yIHJhaW5ib3cgc3R5 bGVzDQogKiBIZWFkaW5nIHN0eWxlczo6ICAgICAgICAgICAgICAgQ2hvb3NlIGFtb25nIHNldmVy YWwgc3R5bGVzLCBhbHNvIHBlciBoZWFkaW5nIGxldmVsDQogKiBTY2FsZWQgaGVhZGluZ3M6OiAg ICAgICAgICAgICAgVG9nZ2xlIHNjYWxpbmcgb2YgaGVhZGluZ3MNCiAqIEhlYWRpbmdzJyBmb250 OjogICAgICAgICAgICAgICBUb2dnbGUgcHJvcG9ydGlvbmF0ZWx5IHNwYWNlZCBmb250cyBpbiBo ZWFkaW5ncw0KQEAgLTQ1NywxNCArNDc5LDcgQEAgdGhlbWUgKEBweHJlZntFbmFibGUgYW5kIGxv YWR9KS4NCiBAbm9kZSBCb2xkIGNvbnN0cnVjdHMNCiBAc2VjdGlvbiBPcHRpb24gZm9yIG1vcmUg Ym9sZCBjb25zdHJ1Y3RzDQogDQotU3ltYm9sIG5hbWVzOg0KLQ0KLUBpdGVtaXplDQotQGl0ZW0N Ci1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHN9DQotQGl0ZW0NCi1A c2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0c30NCi1AZW5kIGl0ZW1pemUN CitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHN9DQogDQogUG9zc2li bGUgdmFsdWVzOg0KIA0KQEAgLTQ3NSwzNyArNDkwLDE4IEBAIFBvc3NpYmxlIHZhbHVlczoNCiBA c2FtcHt0fQ0KIEBlbmQgZW51bWVyYXRlDQogDQotRGlzcGxheSBzZXZlcmFsIGNvbnN0cnVjdHMg aW4gYm9sZCB3ZWlnaHQuICBUaGlzIGNvbmNlcm5zIGtleXdvcmRzIGFuZA0KLW90aGVyIGltcG9y dGFudCBhc3BlY3RzIG9mIGNvZGUgc3ludGF4LiAgSXQgYWxzbyBhZmZlY3RzIGNlcnRhaW4gbW9k ZQ0KLWxpbmUgaW5kaWNhdG9ycyBhbmQgY29tbWFuZC1saW5lIHByb21wdHMuDQorVGhlIGRlZmF1 bHQgaXMgdG8gdXNlIGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQgb25seSB3aGVuIGl0IGlzDQor cmVxdWlyZWQuDQogDQotVGhlIGRlZmF1bHQgaXMgdG8gb25seSB1c2UgYSBib2xkIHdlaWdodCB3 aGVuIGl0IGlzIHJlcXVpcmVkLg0KLQ0KLUFkZGl0aW9uYWxseSwgYW5kIHdoaWxlIG5vdCBuZWNl c3NhcnksIHRvIGRlZmluZSB0aGUgcHJlY2lzZSB3ZWlnaHQgZm9yDQotYm9sZCBjb25zdHJ1Y3Rz LCB5b3UgY2FuIGNoYW5nZSB0aGUgdHlwb2dyYXBoaWMgaW50ZW5zaXR5IG9mIHRoZSBAc2FtcHti b2xkfQ0KLWZhY2UuICBUaGUgc3RhbmRhcmQgaXMgYSBib2xkIHdlaWdodC4gIEl0IHJlcXVpcmVz IG5vIGZ1cnRoZXINCi1pbnRlcnZlbnRpb24uICBBc3N1bWluZyB0aG91Z2ggdGhhdCB5b3VyIHR5 cGVmYWNlIG9mIGNob2ljZSBzdXBwb3J0cyBhDQotYGBzZW1pYm9sZCcnIHdlaWdodCwgYWRkaW5n IHRoZSBmb2xsb3dpbmcgc25pcHBldCB0byB5b3VyIGluaXQgZmlsZSBzaG91bGQNCi1zdWZmaWNl Lg0KLQ0KLUBsaXNwDQotKHNldC1mYWNlLWF0dHJpYnV0ZSAnYm9sZCBuaWwgOndlaWdodCAnc2Vt aWJvbGQpDQotQGVuZCBsaXNwDQotDQotTm90ZSB0aGF0IGlmIHlvdSBhcmUgc3dpdGNoaW5nIHRo ZW1lcywgeW91IG5lZWQgdG8gcmUtZXZhbHVhdGUgdGhpcw0KLWV4cHJlc3Npb24gYWZ0ZXIgdGhl IG5ldyB0aGVtZSBpcyBsb2FkZWQuDQorV2l0aCBhIG5vbi1uaWwgdmFsdWUgKEBzYW1we3R9KSBk aXNwbGF5IHNldmVyYWwgc3ludGFjdGljIGNvbnN0cnVjdHMgaW4gYm9sZA0KK3dlaWdodC4gIFRo aXMgY29uY2VybnMga2V5d29yZHMgYW5kIG90aGVyIGltcG9ydGFudCBhc3BlY3RzIG9mIGNvZGUN CitzeW50YXguICBJdCBhbHNvIGFmZmVjdHMgY2VydGFpbiBtb2RlIGxpbmUgaW5kaWNhdG9ycyBh bmQgY29tbWFuZC1saW5lDQorcHJvbXB0cy4NCiANCiBAbm9kZSBTbGFudGVkIGNvbnN0cnVjdHMN CiBAc2VjdGlvbiBPcHRpb24gZm9yIG1vcmUgc2xhbnRlZCBjb25zdHJ1Y3RzDQogDQotU3ltYm9s IG5hbWVzOg0KLQ0KLUBpdGVtaXplDQotQGl0ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVt ZS1zbGFudGVkLWNvbnN0cnVjdHN9DQotQGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1l LXNsYW50ZWQtY29uc3RydWN0c30NCi1AZW5kIGl0ZW1pemUNCitTeW1ib2w6IEBzYW1we21vZHVz LXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHN9DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KQEAg LTUxNiwyMiArNTEyLDE2IEBAIFBvc3NpYmxlIHZhbHVlczoNCiBAc2FtcHt0fQ0KIEBlbmQgZW51 bWVyYXRlDQogDQotQ2hvb3NlIHRvIHJlbmRlciBtb3JlIGZhY2VzIGluIHNsYW50ZWQgdGV4dCAo aXRhbGljcykuICBUaGlzIHR5cGljYWxseQ0KLWFmZmVjdHMgZG9jdW1lbnRhdGlvbiBzdHJpbmdz IGFuZCBjb2RlIGNvbW1lbnRzLg0KK1RoZSBkZWZhdWx0IGlzIHRvIG5vdCB1c2Ugc2xhbnRlZCB0 ZXh0IChpdGFsaWNzKSB1bmxlc3MgaXQgaXMgYWJzb2x1dGVseQ0KK25lY2Vzc2FyeS4NCiANCi1U aGUgZGVmYXVsdCBpcyB0byBub3QgdXNlIGl0YWxpY3MgdW5sZXNzIGl0IGlzIGFic29sdXRlbHkg bmVjZXNzYXJ5Lg0KK1dpdGggYSBub24tbmlsIHZhbHVlIChAc2FtcHt0fSkgY2hvb3NlIHRvIHJl bmRlciBtb3JlIGZhY2VzIGluIHNsYW50ZWQgdGV4dC4NCitUaGlzIHR5cGljYWxseSBhZmZlY3Rz IGRvY3VtZW50YXRpb24gc3RyaW5ncyBhbmQgY29kZSBjb21tZW50cy4NCiANCi1Abm9kZSBTeW50 YXggaGlnaGxpZ2h0aW5nDQotQHNlY3Rpb24gT3B0aW9uIGZvciBmYWludCBjb2RlIHN5bnRheCBo aWdobGlnaHRpbmcNCitAbm9kZSBTeW50YXggc3R5bGVzDQorQHNlY3Rpb24gT3B0aW9uIGZvciBz eW50YXggaGlnaGxpZ2h0aW5nDQogDQotU3ltYm9sIG5hbWVzOg0KLQ0KLUBpdGVtaXplDQotQGl0 ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50YXh9DQotQGl0ZW0NCi1A c2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWZhaW50LXN5bnRheH0NCi1AZW5kIGl0ZW1pemUNCitT eW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1zeW50YXh9DQogDQogUG9zc2libGUgdmFsdWVzOg0K IA0KQEAgLTUzOSwyOSArNTI5LDQ4IEBAIFBvc3NpYmxlIHZhbHVlczoNCiBAaXRlbQ0KIEBzYW1w e25pbH0gKGRlZmF1bHQpDQogQGl0ZW0NCi1Ac2FtcHt0fQ0KK0BzYW1we2ZhaW50fQ0KK0BpdGVt DQorQHNhbXB7eWVsbG93LWNvbW1lbnRzfQ0KK0BpdGVtDQorQHNhbXB7Z3JlZW4tc3RyaW5nc30N CitAaXRlbQ0KK0BzYW1we3llbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdzfQ0KK0BpdGVtDQor QHNhbXB7YWx0LXN5bnRheH0NCitAaXRlbQ0KK0BzYW1we2FsdC1zeW50YXgteWVsbG93LWNvbW1l bnRzfQ0KIEBlbmQgZW51bWVyYXRlDQogDQotVXNlIGxlc3Mgc2F0dXJhdGVkIGNvbG9ycyBpbiBw cm9ncmFtbWluZyBtb2RlcyBmb3IgaGlnaGxpZ2h0aW5nIGNvZGUNCi1zeW50YXguICBUaGUgZGVm YXVsdCBpcyB0byB1c2Ugc2F0dXJhdGVkIGNvbG9ycy4NCitUaGUgZGVmYXVsdCBzdHlsZSAobmls KSBmb3IgY29kZSBzeW50YXggaGlnaGxpZ2h0aW5nIGlzIGEgYmFsYW5jZWQNCitjb21iaW5hdGlv biBvZiBjb2xvcnMgb24gdGhlIGN5YW4tYmx1ZS1tYWdlbnRhIHNpZGUgb2YgdGhlIHNwZWN0cnVt Lg0KK1RoZXJlIGlzIGxpdHRsZSB0byBubyB1c2Ugb2YgZ3JlZW5zLCB5ZWxsb3dzLCBvciByZWRz LCBleGNlcHQgd2hlbiBpdCBpcw0KK25lY2Vzc2FyeS4NCisNCitPcHRpb24gQHNhbXB7ZmFpbnR9 IGlzIGxpa2UgdGhlIGRlZmF1bHQgaW4gdGVybXMgb2YgdGhlIGNob2ljZSBvZiBwYWxldHRlIGJ1 dA0KK2FwcGxpZXMgZGVzYXR1cmF0ZWQgY29sb3IgdmFsdWVzLg0KKw0KK09wdGlvbiBAc2FtcHt5 ZWxsb3ctY29tbWVudHN9IGFwcGxpZXMgYSB5ZWxsb3cgdGludCB0byBjb21tZW50cy4gIFRoZSBy ZXN0IG9mDQordGhlIHN5bnRheCBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdC4NCiANCi1UaGlz IG9wdGlvbiBlc3NlbnRpYWxseSBhZmZlY3RzIHRoZSBmb250LWxvY2sgZmFjZXMsIHNvIGl0IG1h eSBhbHNvIGhhdmUNCi1pbXBsaWNhdGlvbnMgaW4gb3RoZXIgcGxhY2VzIHRoYXQgYXJlIGhhcmQt d2lyZWQgdG8gcmVseSBkaXJlY3RseSBvbg0KLXRoZW0gaW5zdGVhZCBvZiBzcGVjaWZ5aW5nIHRo ZWlyIG93biBmYWNlcyAod2hpY2ggY291bGQgaW5oZXJpdCBmcm9tDQotZm9udC1sb2NrIGlmIHRo YXQgaXMgdGhlIGludGVudCkuICBUaGUgYXV0aG9yIGlzIGF3YXJlIG9mIEBzYW1we3ZjLWRpcn0g YXMgYQ0KLWNhc2UgaW4gcG9pbnQuDQorT3B0aW9uIEBzYW1we2dyZWVuLXN0cmluZ3N9IHJlcGxh Y2VzIHRoZSBibHVlL2N5YW4vY29sZCBjb2xvciB2YXJpYW50cyBpbg0KK3N0cmluZ3Mgd2l0aCBn cmVlbmVyIGFsdGVybmF0aXZlcy4gIFRoZSByZXN0IG9mIHRoZSBzeW50YXggcmVtYWlucyB0aGUN CitzYW1lLg0KKw0KK09wdGlvbiBAc2FtcHt5ZWxsb3ctY29tbWVudHMtZ3JlZW4tc3RyaW5nc30g Y29tYmluZXMgeWVsbG93IGNvbW1lbnRzIHdpdGggZ3JlZW4NCitzdHJpbmdzIGFuZCB0aGUgcmVz dCBvZiB0aGUgZGVmYXVsdCBzeW50YXggaGlnaGxpZ2h0aW5nIHN0eWxlLg0KKw0KK09wdGlvbiBA c2FtcHthbHQtc3ludGF4fSBleHBhbmRzIHRoZSBhY3RpdmUgc3BlY3RydW0gYnkgYXBwbHlpbmcg Y29sb3INCitjb21iaW5hdGlvbnMgd2l0aCBtb3JlIGNvbnRyYXN0aW5nIGh1ZXMgYmV0d2VlbiB0 aGVtLiAgRXhwZWN0IHRvIGZpbmQNCittb3JlIHJlZCBhbmQgZ3JlZW4gdmFyaWFudHMgaW4gYWRk aXRpb24gdG8gY3lhbiwgYmx1ZSwgbWFnZW50YS4NCisNCitPcHRpb24gQHNhbXB7YWx0LXN5bnRh eC15ZWxsb3ctY29tbWVudHN9IGNvbWJpbmVzIEBzYW1we2FsdC1zeW50YXh9IHdpdGgNCitAc2Ft cHt5ZWxsb3ctY29tbWVudHN9Lg0KIA0KIEBub2RlIE5vIG1peGVkIGZvbnRzDQogQHNlY3Rpb24g T3B0aW9uIGZvciBubyBmb250IG1peGluZw0KIA0KLVN5bWJvbCBuYW1lczoNCi0NCi1AaXRlbWl6 ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHN9DQot QGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzfQ0KLUBlbmQg aXRlbWl6ZQ0KK1N5bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzfQ0KIA0K IFBvc3NpYmxlIHZhbHVlczoNCiANCkBAIC01ODQsMTcgKzU5MywxMiBAQCBjb25maWd1cmF0aW9u cywgcmF0aGVyIHRoYW4gbGV0dGluZyB0aGUgdGhlbWUgZG8gaXQsIHBlcmhhcHMgYmVjYXVzZSBh DQogcHVycG9zZS1zcGVjaWZpYyBwYWNrYWdlIGhhcyBleHRyYSBmdW5jdGlvbmFsaXR5LiAgVHdv IHBvc3NpYmxlIG9wdGlvbnMNCiBhcmUgQHNhbXB7b3JnLXZhcmlhYmxlLXBpdGNofSBhbmQgQHNh bXB7bWl4ZWQtcGl0Y2h9Lg0KIA0KLUBub2RlIExpbmsgdW5kZXJsaW5lDQotQHNlY3Rpb24gT3B0 aW9uIGZvciBubyBsaW5rIHVuZGVybGluZQ0KK0B4cmVme0ZvbnQgY29uZmlncyAoRElZKX0uDQog DQotU3ltYm9sIG5hbWVzOg0KK0Bub2RlIExpbmsgc3R5bGVzDQorQHNlY3Rpb24gT3B0aW9uIGZv ciBsaW5rcw0KIA0KLUBpdGVtaXplDQotQGl0ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVt ZS1uby1saW5rLXVuZGVybGluZX0NCi1AaXRlbQ0KLUBzYW1we21vZHVzLXZpdmVuZGktdGhlbWUt bm8tbGluay11bmRlcmxpbmV9DQotQGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2FtcHttb2R1cy10 aGVtZXMtbGlua3N9DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KQEAgLTYwMiwyMyArNjA2LDM1 IEBAIFBvc3NpYmxlIHZhbHVlczoNCiBAaXRlbQ0KIEBzYW1we25pbH0gKGRlZmF1bHQpDQogQGl0 ZW0NCi1Ac2FtcHt0fQ0KK0BzYW1we2ZhaW50fQ0KK0BpdGVtDQorQHNhbXB7bmV1dHJhbC11bmRl cmxpbmV9DQorQGl0ZW0NCitAc2FtcHtmYWludC1uZXV0cmFsLXVuZGVybGluZX0NCitAaXRlbQ0K K0BzYW1we25vLXVuZGVybGluZX0NCiBAZW5kIGVudW1lcmF0ZQ0KIA0KLVJlbW92ZSB0aGUgdW5k ZXJsaW5lIGVmZmVjdCBmcm9tIGxpbmtzLCBzeW1ib2xpYyBsaW5rcywgYW5kIGJ1dHRvbnMuDQot VGhlIGRlZmF1bHQgaXMgdG8gYXBwbHkgYW4gdW5kZXJsaW5lLg0KK1RoZSBkZWZhdWx0IHN0eWxl IChuaWwpIGZvciBsaW5rcyBpcyB0byBhcHBseSBhbiB1bmRlcmxpbmUgYW5kIGENCitzYXR1cmF0 ZWQgY29sb3IgdG8gdGhlIGFmZmVjdGVkIHRleHQuICBUaGUgY29sb3Igb2YgdGhlIHR3byBpcyB0 aGUgc2FtZSwNCit3aGljaCBtYWtlcyB0aGUgbGluayBmYWlybHkgcHJvbWluZW50Lg0KKw0KK09w dGlvbiBAc2FtcHtmYWludH0gZm9sbG93cyB0aGUgc2FtZSBhcHByb2FjaCBhcyB0aGUgZGVmYXVs dCwgYnV0IHVzZXMgbGVzcw0KK2ludGVuc2UgY29sb3JzLg0KKw0KK09wdGlvbiBAc2FtcHtuZXV0 cmFsLXVuZGVybGluZX0gY2hhbmdlcyB0aGUgdW5kZXJsaW5lJ3MgY29sb3IgdG8gYSBzdWJ0bGUN CitncmF5LCB3aGlsZSByZXRhaW5pbmcgdGhlIGRlZmF1bHQgdGV4dCBjb2xvci4NCisNCitPcHRp b24gQHNhbXB7ZmFpbnQtbmV1dHJhbC11bmRlcmxpbmV9IGNvbWJpbmVzIGEgZGVzYXR1cmF0ZWQg dGV4dCBjb2xvciB3aXRoIGENCitzdWJ0bGUgZ3JheSB1bmRlcmxpbmUuDQorDQorT3B0aW9uIEBz YW1we25vLXVuZGVybGluZX0gcmVtb3ZlcyBsaW5rIHVuZGVybGluZXMgYWx0b2dldGhlciwgd2hp bGUga2VlcGluZw0KK3RoZWlyIHRleHQgY29sb3IgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQuDQog DQogQG5vZGUgQ29tbWFuZCBwcm9tcHRzDQogQHNlY3Rpb24gT3B0aW9uIGZvciBjb21tYW5kIHBy b21wdCBzdHlsZXMNCiANCi1TeW1ib2wgbmFtZXM6DQotDQotQGl0ZW1pemUNCi1AaXRlbQ0KLUBz YW1we21vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdHN9DQotQGl0ZW0NCi1Ac2FtcHttb2R1cy12 aXZlbmRpLXRoZW1lLXByb21wdHN9DQotQGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2FtcHttb2R1 cy10aGVtZXMtcHJvbXB0c30NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQpAQCAtNjMxLDI1ICs2 NDcsMTggQEAgUG9zc2libGUgdmFsdWVzOg0KIEBzYW1we2ludGVuc2V9DQogQGVuZCBlbnVtZXJh dGUNCiANCi1UaGUgc3ltYm9scyBgYHN1YnRsZScnIGFuZCBgYGludGVuc2UnJyB3aWxsIGFwcGx5 IGEgY29tYmluYXRpb24gb2YgYWNjZW50ZWQNCi1iYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHRv IHRoZSBtaW5pYnVmZmVyIGFuZCBvdGhlciBSRVBMIHByb21wdHMgKGxpa2UNCi1Ac2FtcHtNLXgg c2hlbGx9IGFuZCBAc2FtcHtNLXggZXNoZWxsfSkuICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRo ZSB0d28gaXMgdGhhdCB0aGUNCi1sYXR0ZXIgaGFzIGEgbW9yZSBwcm9ub3VuY2VkL25vdGljZWFi bGUgZWZmZWN0IHRoYW4gdGhlIGZvcm1lci4NCitUaGUgZGVmYXVsdCBkb2VzIG5vdCB1c2UgYW55 IGJhY2tncm91bmQgZm9yIG1pbmlidWZmZXIgYW5kIGNvbW1hbmQgbGluZQ0KK3Byb21wdHMuICBJ dCByZWxpZXMgZXhjbHVzaXZlbHkgb24gYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xvci4NCiAN Ci1UaGUgZGVmYXVsdCBkb2VzIG5vdCB1c2UgYW55IGJhY2tncm91bmQgZm9yIHN1Y2ggcHJvbXB0 cywgd2hpbGUgcmVseWluZw0KLWV4Y2x1c2l2ZWx5IG9uIGFuIGFjY2VudGVkIGZvcmVncm91bmQg Y29sb3IuDQorVGhlIG9wdGlvbnMgQHNhbXB7c3VidGxlfSBhbmQgQHNhbXB7aW50ZW5zZX0gYXBw bHkgYSBjb21iaW5hdGlvbiBvZiBhY2NlbnRlZA0KK2JhY2tncm91bmQgYW5kIGZvcmVncm91bmQg dG8gc3VjaCBwcm9tcHRzLiAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUNCit0d28gaXMgdGhh dCB0aGUgbGF0dGVyIGhhcyBhIG1vcmUgcHJvbm91bmNlZC9ub3RpY2VhYmxlIGVmZmVjdCB0aGFu IHRoZQ0KK2Zvcm1lci4NCiANCiBAbm9kZSBNb2RlIGxpbmUNCiBAc2VjdGlvbiBPcHRpb24gZm9y IG1vZGUgbGluZSBwcmVzZW50YXRpb24NCiANCi1TeW1ib2wgbmFtZXM6DQotDQotQGl0ZW1pemUN Ci1AaXRlbQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZX0NCi1AaXRlbQ0K LUBzYW1we21vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1saW5lfQ0KLUBlbmQgaXRlbWl6ZQ0KK1N5 bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLW1vZGUtbGluZX0NCiANCiBQb3NzaWJsZSB2YWx1ZXM6 DQogDQpAQCAtNjYyLDE2ICs2NzEsMTYgQEAgUG9zc2libGUgdmFsdWVzOg0KIEBzYW1we21vb2R5 fQ0KIEBlbmQgZW51bWVyYXRlDQogDQotVGhlIGRlZmF1bHQgdmFsdWUgKEBzYW1we25pbH0pIHBy b2R1Y2VzIGEgdHdvLWRpbWVuc2lvbmFsIGVmZmVjdCBib3RoIGZvciB0aGUNCi1hY3RpdmUgYW5k IGluYWN0aXZlIG1vZGVsaW5lcy4gIFRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSB0d28gYXJl DQotbGltaXRlZCB0byBkaXN0aW5jdCBzaGFkZXMgb2YgZ3JleXNjYWxlIHZhbHVlcywgd2l0aCB0 aGUgYWN0aXZlIGJlaW5nDQotbW9yZSBpbnRlbnNlIHRoYW4gdGhlIGluYWN0aXZlLg0KK1RoZSBk ZWZhdWx0IHByb2R1Y2VzIGEgdHdvLWRpbWVuc2lvbmFsIGVmZmVjdCBib3RoIGZvciB0aGUgYWN0 aXZlIGFuZA0KK2luYWN0aXZlIG1vZGVsaW5lcy4gIFRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRo ZSB0d28gYXJlIGxpbWl0ZWQgdG8NCitkaXN0aW5jdCBzaGFkZXMgb2YgZ3JheXNjYWxlIHZhbHVl cywgd2l0aCB0aGUgYWN0aXZlIGJlaW5nIG1vcmUgaW50ZW5zZQ0KK3RoYW4gdGhlIGluYWN0aXZl Lg0KIA0KLUEgQHNhbXB7M2R9IHN5bWJvbCB3aWxsIG1ha2UgdGhlIGFjdGl2ZSBtb2RlbGluZSBs b29rIGxpa2UgYSB0aHJlZS1kaW1lbnNpb25hbA0KK09wdGlvbiBAc2FtcHszZH0gd2lsbCBtYWtl IHRoZSBhY3RpdmUgbW9kZWxpbmUgbG9vayBsaWtlIGEgdGhyZWUtZGltZW5zaW9uYWwNCiByZWN0 YW5nbGUuICBJbmFjdGl2ZSBtb2RlbGluZXMgcmVtYWluIDJELCB0aG91Z2ggdGhleSBhcmUgc2xp Z2h0bHkgdG9uZWQNCi1kb3duIHJlbGF0aXZlIHRvIHRoZSBkZWZhdWx0LiAgVGhpcyBhZXN0aGV0 aWMgaXMgdGhlIHNhbWUgYXMgd2hhdCB5b3UNCi1nZXQgd2hlbiB5b3UgcnVuIEVtYWNzIHdpdGhv dXQgYW55IGN1c3RvbWl6YXRpb25zIChAa2Jke2VtYWNzIC1RfSBvbiB0aGUNCi1jb21tYW5kIGxp bmUpLg0KK2Rvd24gcmVsYXRpdmUgdG8gdGhlIGRlZmF1bHQuICBUaGlzIGFlc3RoZXRpYyBpcyB2 aXJ0dWFsbHkgdGhlIHNhbWUgYXMNCit3aGF0IHlvdSBnZXQgd2hlbiB5b3UgcnVuIEVtYWNzIHdp dGhvdXQgYW55IGN1c3RvbWl6YXRpb25zIChAa2Jke2VtYWNzIC1RfSBvbg0KK3RoZSBjb21tYW5k IGxpbmUpLg0KIA0KIFdoaWxlIEBzYW1we21vb2R5fSByZW1vdmVzIGFsbCBib3ggZWZmZWN0cyBm cm9tIHRoZSBtb2RlbGluZXMgYW5kIGFwcGxpZXMNCiB1bmRlcmxpbmUgYW5kIG92ZXJsaW5lIHBy b3BlcnRpZXMgaW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biBhIGJpdCB0aGUNCkBAIC02ODcs MTcgKzY5NiwxNyBAQCBhZ2FpbnN0IHRoaXMsIHdlIGNvbmZpZ3VyZSBhIGZhbGxiYWNrIGZvcmVn cm91bmQgZm9yIHRoZSBAc2FtcHttb29keX0gb3B0aW9uLA0KIHdoaWNoIHdpbGwgY29tZSBpbnRv IGVmZmVjdCB3aGVuIHRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBtb2RlbGluZSBjaGFuZ2VzDQogdG8g c29tZXRoaW5nIGxlc3MgYWNjZXNzaWJsZSwgc3VjaCBhcyBNb29keSByaWJib25zIChyZWFkIHRo ZSBkb2Mgc3RyaW5nDQogb2YgQHNhbXB7c2V0LWZhY2UtYXR0cmlidXRlfSwgc3BlY2lmaWNhbGx5 IEBzYW1wezpkaXN0YW50LWZvcmVncm91bmR9KS4gIFRoaXMgZmFsbGJhY2sNCi1jb21lcyBpbnRv IGVmZmVjdCB3aGVuIEVtYWNzIGRldGVybWluZXMgdGhhdCB0aGUgYmFja2dyb3VuZCBhbmQNCi1m b3JlZ3JvdW5kIG9mIHRoZSBnaXZlbiBjb25zdHJ1Y3QgYXJlIHRvbyBjbG9zZSB0byBlYWNoIG90 aGVyIGluIHRlcm1zDQotb2YgY29sb3IgZGlzdGFuY2UuICBJbiBlZmZlY3QsIHVzZXJzIHdvdWxk IG5lZWQgdG8gZXhwZXJpbWVudCB3aXRoIHRoZQ0KLXZhcmlhYmxlIEBzYW1we2ZhY2UtbmVhci1z YW1lLWNvbG9yLXRocmVzaG9sZH0gdG8gdHJpZ2dlciB0aGUgZmFsbGJhY2sgY29sb3IuDQotV2Ug ZmluZCB0aGF0IGEgdmFsdWUgb2YgQHNhbXB7NDUwMDB9IHdvdWxkIHN1ZmZpY2UsIGNvbnRyYXJ5 IHRvIHRoZSBkZWZhdWx0DQotQHNhbXB7MzAwMDB9LiAgRG8gbm90IHNldCB0aGUgdmFsdWUgdG9v IGhpZ2gsIGJlY2F1c2UgdGhhdCB3b3VsZCBoYXZlIHRoZQ0KLWFkdmVyc2UgZWZmZWN0IG9mIGFs d2F5cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IGNvbG9yICh3aGljaCBoYXMgYmVlbg0KLWNhcmVm dWxseSBkZXNpZ25lZCB0byBiZSBoaWdobHkgYWNjZXNzaWJsZSkuDQoraXMgYWN0aXZhdGVkIHdo ZW4gRW1hY3MgZGV0ZXJtaW5lcyB0aGF0IHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIG9m DQordGhlIGdpdmVuIGNvbnN0cnVjdCBhcmUgdG9vIGNsb3NlIHRvIGVhY2ggb3RoZXIgaW4gdGVy bXMgb2YgY29sb3INCitkaXN0YW5jZS4gIEluIGVmZmVjdCwgdXNlcnMgd291bGQgbmVlZCB0byBl eHBlcmltZW50IHdpdGggdGhlIHZhcmlhYmxlDQorQHNhbXB7ZmFjZS1uZWFyLXNhbWUtY29sb3It dGhyZXNob2xkfSB0byB0cmlnZ2VyIHRoZSBlZmZlY3QuICBXZSBmaW5kIHRoYXQgYQ0KK3ZhbHVl IG9mIEBzYW1wezQ1MDAwfSB3aWxsIHN1ZmZpY2UsIGNvbnRyYXJ5IHRvIHRoZSBkZWZhdWx0IEBz YW1wezMwMDAwfS4gIERvIG5vdCBzZXQNCit0aGUgdmFsdWUgdG9vIGhpZ2gsIGJlY2F1c2UgdGhh dCB3b3VsZCBoYXZlIHRoZSBhZHZlcnNlIGVmZmVjdCBvZiBhbHdheXMNCitvdmVycmlkaW5nIHRo ZSBkZWZhdWx0IGNvbG9yICh3aGljaCBoYXMgYmVlbiBjYXJlZnVsbHkgZGVzaWduZWQgdG8gYmUN CitoaWdobHkgYWNjZXNzaWJsZSkuDQogDQogRnVydGhlcm1vcmUsIGJlY2F1c2UgTW9vZHkgZXhw ZWN0cyBhbiB1bmRlcmxpbmUgYW5kIG92ZXJsaW5lIGluc3RlYWQgb2YNCi1hIGJveCBzdHlsZSwg aXQgaXMgcmVjb21tZW5kZWQgeW91IGFsc28gaW5jbHVkZSB0aGlzIGluIHlvdXIgc2V0dXA6DQor YSBib3ggc3R5bGUsIGl0IGlzIGFkdmlzZWQgeW91IGluY2x1ZGUgdGhpcyBpbiB5b3VyIHNldHVw Og0KIA0KIEBsaXNwDQogKHNldHEgeC11bmRlcmxpbmUtYXQtZGVzY2VudC1saW5lIHQpDQpAQCAt NzA2LDE0ICs3MTUsNyBAQCBhIGJveCBzdHlsZSwgaXQgaXMgcmVjb21tZW5kZWQgeW91IGFsc28g aW5jbHVkZSB0aGlzIGluIHlvdXIgc2V0dXA6DQogQG5vZGUgQ29tcGxldGlvbiBVSXMNCiBAc2Vj dGlvbiBPcHRpb24gZm9yIGNvbXBsZXRpb24gZnJhbWV3b3JrIGFlc3RoZXRpY3MNCiANCi1TeW1i b2wgbmFtZXM6DQotDQotQGl0ZW1pemUNCi1AaXRlbQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRo ZW1lLWNvbXBsZXRpb25zfQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1jb21w bGV0aW9uc30NCi1AZW5kIGl0ZW1pemUNCitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1jb21w bGV0aW9uc30NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQpAQCAtNzM3LDE4ICs3MzksMTggQEAg SXZ5LCBhbmQgc2ltaWxhci4NCiANCiBBIHZhbHVlIG9mIEBzYW1we25pbH0gd2lsbCByZXNwZWN0 IHRoZSBtZXRhcGhvcnMgb2YgZWFjaCBjb21wbGV0aW9uIGZyYW1ld29yay4NCiANCi1UaGUgc3lt Ym9sIEBzYW1we21vZGVyYXRlfSB3aWxsIGFwcGx5IGEgY29tYmluYXRpb24gb2YgYmFja2dyb3Vu ZCBhbmQNCi1mb3JlZ3JvdW5kIHRoYXQgaXMgZmFpcmx5IHN1YnRsZS4gIEZvciBJY29tcGxldGUg YW5kIGZyaWVuZHMgdGhpcw0KLWNvbnN0aXR1dGVzIGEgZGVwYXJ0dXJlIGZyb20gdGhlaXIgZGVm YXVsdCBhZXN0aGV0aWNzLCBob3dldmVyIHRoZQ0KLWRpZmZlcmVuY2UgaXMgc21hbGwuICBXaGls ZSBIZWxtIGV0IGFsIHdpbGwgYXBwZWFyIHNsaWdodGx5IGRpZmZlcmVudA0KLXRoYW4gdGhlaXIg b3JpZ2luYWwgbG9va3MsIGFzIHRoZXkgYXJlIHRvbmVkIGRvd24gYSBiaXQuDQorT3B0aW9uIEBz YW1we21vZGVyYXRlfSBhcHBsaWVzIGEgY29tYmluYXRpb24gb2YgYmFja2dyb3VuZCBhbmQgZm9y ZWdyb3VuZCB0aGF0DQoraXMgZmFpcmx5IHN1YnRsZS4gIEZvciBJY29tcGxldGUgYW5kIGZyaWVu ZHMgdGhpcyBjb25zdGl0dXRlcyBhDQorZGVwYXJ0dXJlIGZyb20gdGhlaXIgZGVmYXVsdCBhZXN0 aGV0aWNzLCBob3dldmVyIHRoZSBkaWZmZXJlbmNlIGlzDQorc21hbGwuICBXaGlsZSBIZWxtLCBJ dnkgZXQgYWwgYXBwZWFyIHNsaWdodGx5IGRpZmZlcmVudCB0aGFuIHRoZWlyDQorb3JpZ2luYWwg bG9va3MsIGFzIHRoZXkgYXJlIHRvbmVkIGRvd24gYSBiaXQuDQogDQotVGhlIHN5bWJvbCBAc2Ft cHtvcGluaW9uYXRlZH0gd2lsbCBhcHBseSBjb2xvciBjb21iaW5hdGlvbnMgdGhhdCByZWZhc2hp b24gdGhlDQotY29tcGxldGlvbiBVSUAuICBGb3IgdGhlIEljb21wbGV0ZSBjYW1wIHRoaXMgbWVh bnMgdGhhdCBpbnRlbnNlDQotYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb21iaW5hdGlvbnMg YXJlIHVzZWQ6IGluIGVmZmVjdCB0aGVpciBsb29rcw0KLWVtdWxhdGUgdGhvc2Ugb2YgSXZ5IGFu ZCBjby4gaW4gdGhlaXIgb3JpZ2luYWwgc3R5bGUuICBXaGVyZWFzIHRoZSBvdGhlcg0KLWdyb3Vw IG9mIHBhY2thZ2VzIHdpbGwgcmV2ZXJ0IHRvIGFuIGV2ZW4gbW9yZSBudWFuY2VkIGFlc3RoZXRp YyB3aXRoDQotc29tZSBhZGRpdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGNob2ljZSBvZiBodWVzLg0K K09wdGlvbiBAc2FtcHtvcGluaW9uYXRlZH0gdXNlcyBjb2xvciBjb21iaW5hdGlvbnMgdGhhdCBy ZWZhc2hpb24gdGhlIGNvbXBsZXRpb24NCitVSUAuICBGb3IgdGhlIEljb21wbGV0ZSBjYW1wIHRo aXMgbWVhbnMgdGhhdCBpbnRlbnNlIGJhY2tncm91bmQgYW5kDQorZm9yZWdyb3VuZCBjb21iaW5h dGlvbnMgYXJlIHVzZWQ6IGluIGVmZmVjdCB0aGVpciBsb29rcyBlbXVsYXRlIHRob3NlIG9mDQor SGVsbSwgSXZ5IGFuZCBjby4gaW4gdGhlaXIgb3JpZ2luYWwgc3R5bGUuICBXaGVyZWFzIHRoZSBv dGhlciBncm91cCBvZg0KK3BhY2thZ2VzIHdpbGwgcmV2ZXJ0IHRvIGFuIGV2ZW4gbW9yZSBudWFu Y2VkIGFlc3RoZXRpYyB3aXRoIHNvbWUNCithZGRpdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGNob2lj ZSBvZiBodWVzLg0KIA0KIFRvIGFwcHJlY2lhdGUgdGhlIHNjb3BlIG9mIHRoaXMgY3VzdG9taXph dGlvbiBvcHRpb24sIHlvdSBzaG91bGQgc3BlbmQNCiBzb21lIHRpbWUgd2l0aCBldmVyeSBvbmUg b2YgdGhlIEBzYW1we25pbH0gKGRlZmF1bHQpLCBAc2FtcHttb2RlcmF0ZX0sIGFuZCBAc2FtcHtv cGluaW9uYXRlZH0NCkBAIC03NTcsMTQgKzc1OSw3IEBAIHBvc3NpYmlsaXRpZXMuDQogQG5vZGUg RnJpbmdlcw0KIEBzZWN0aW9uIE9wdGlvbiBmb3IgZnJpbmdlIHZpc2liaWxpdHkNCiANCi1TeW1i b2wgbmFtZXM6DQotDQotQGl0ZW1pemUNCi1AaXRlbQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRo ZW1lLWZyaW5nZXN9DQotQGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXN9 DQotQGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2FtcHttb2R1cy10aGVtZXMtZnJpbmdlc30NCiAN CiBQb3NzaWJsZSB2YWx1ZXM6DQogDQpAQCAtNzc3LDI1ICs3NzIsMTggQEAgUG9zc2libGUgdmFs dWVzOg0KIEBzYW1we2ludGVuc2V9DQogQGVuZCBlbnVtZXJhdGUNCiANCi1UaGUgYGBzdWJ0bGUn JyBzeW1ib2wgd2lsbCBhcHBseSBhIGdyZXlzY2FsZSBiYWNrZ3JvdW5kIHRoYXQgaXMgdmlzaWJs ZSwNCi15ZXQgY2xvc2UgZW5vdWdoIHRvIHRoZSBtYWluIGJhY2tncm91bmQgY29sb3IuICBXaGls ZSB0aGUgYGBpbnRlbnNlJycNCi1zeW1ib2wgd2lsbCB1c2UgYSBtb3JlIG5vdGljZWFibGUgZ3Jl eXNjYWxlIGJhY2tncm91bmQuDQotDQogVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBzYW1lIGNv bG9yIGFzIHRoYXQgb2YgdGhlIG1haW4gYmFja2dyb3VuZCwNCiBtZWFuaW5nIHRoYXQgdGhlIGZy aW5nZXMgYXJlIG5vdCBvYnZpb3VzIHRob3VnaCB0aGV5IHN0aWxsIG9jY3VweSB0aGUNCiBzcGFj ZSBnaXZlbiB0byB0aGVtIGJ5IEBzYW1we2ZyaW5nZS1tb2RlfS4NCiANCitPcHRpb25zIEBzYW1w e3N1YnRsZX0gYW5kIEBzYW1we2ludGVuc2V9IGFwcGx5IGEgZ3JheSBiYWNrZ3JvdW5kLCBtYWtp bmcgdGhlIGZyaW5nZXMNCit2aXNpYmxlLiAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdv IGlzIG9uZSBvZiBkZWdyZWUsIGFzIHRoZWlyDQorbmFtZXMgaW1wbHkuDQorDQogQG5vZGUgTGlu ZSBoaWdobGlnaHRpbmcNCiBAc2VjdGlvbiBPcHRpb24gZm9yIGxpbmUgaGlnaGxpZ2h0aW5nICho bC1saW5lLW1vZGUpDQogDQotU3ltYm9sIG5hbWVzOg0KLQ0KLUBpdGVtaXplDQotQGl0ZW0NCi1A c2FtcHttb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmV9DQotQGl0ZW0NCi1Ac2Ft cHttb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZX0NCi1AZW5kIGl0ZW1pemUNCitT eW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmV9DQogDQogUG9zc2libGUg dmFsdWVzOg0KIA0KQEAgLTgwNiwyMyArNzk0LDUwIEBAIFBvc3NpYmxlIHZhbHVlczoNCiBAc2Ft cHt0fQ0KIEBlbmQgZW51bWVyYXRlDQogDQotRHJhdyB0aGUgY3VycmVudCBsaW5lIG9mIEBzYW1w e2hsLWxpbmUtbW9kZX0gb3IgaXRzIGdsb2JhbCBlcXVpdmFsZW50IGluIGEgbW9yZQ0KLXByb21p bmVudCBiYWNrZ3JvdW5kIGNvbG9yLiAgVGhpcyB3b3VsZCBhbHNvIGFmZmVjdCBzZXZlcmFsIHBh Y2thZ2VzDQotdGhhdCBlbmFibGUgQHNhbXB7aGwtbGluZS1tb2RlfSwgc3VjaCBhcyBAc2FtcHtl bGZlZWR9IGFuZCBAc2FtcHttdTRlfS4NCitUaGUgZGVmYXVsdCBpcyB0byB1c2UgYSBzdWJ0bGUg Z3JheSBiYWNrZ3JvdW5kIGZvciBAc2FtcHtobC1saW5lLW1vZGV9IGFuZCBpdHMNCitnbG9iYWwg ZXF1aXZhbGVudC4NCiANCi1UaGUgZGVmYXVsdCBpcyB0byB1c2UgYSBtb3JlIHN1YnRsZSBncmF5 Lg0KK1dpdGggYSBub24tbmlsIHZhbHVlIChAc2FtcHt0fSkgdXNlIGEgbW9yZSBwcm9taW5lbnQg YmFja2dyb3VuZCBjb2xvciBpbnN0ZWFkLg0KKw0KK1RoaXMgYWZmZWN0cyBzZXZlcmFsIHBhY2th Z2VzIHRoYXQgZW5hYmxlIEBzYW1we2hsLWxpbmUtbW9kZX0sIHN1Y2ggYXMgQHNhbXB7ZWxmZWVk fQ0KK2FuZCBAc2FtcHttdTRlfS4NCiANCiBAbm9kZSBNYXRjaGluZyBwYXJlbnRoZXNlcw0KIEBz ZWN0aW9uIE9wdGlvbiBmb3IgcGFyZW50aGVzaXMgbWF0Y2hpbmcgKHNob3ctcGFyZW4tbW9kZSkN CiANCi1TeW1ib2wgbmFtZXM6DQorU3ltYm9sOiBAc2FtcHttb2R1cy10aGVtZXMtcGFyZW4tbWF0 Y2h9DQogDQotQGl0ZW1pemUNCitQb3NzaWJsZSB2YWx1ZXM6DQorDQorQGVudW1lcmF0ZQ0KIEBp dGVtDQotQHNhbXB7bW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRjaH0NCitA c2FtcHtuaWx9IChkZWZhdWx0KQ0KIEBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1p bnRlbnNlLXBhcmVuLW1hdGNofQ0KLUBlbmQgaXRlbWl6ZQ0KK0BzYW1we3N1YnRsZS1ib2xkfQ0K K0BpdGVtDQorQHNhbXB7aW50ZW5zZX0NCitAaXRlbQ0KK0BzYW1we2ludGVuc2UtYm9sZH0NCitA ZW5kIGVudW1lcmF0ZQ0KKw0KK05pbCBtZWFucyB0byB1c2UgYSBzdWJ0bGUgdGludGVkIGJhY2tn cm91bmQgY29sb3IgZm9yIHRoZSBtYXRjaGluZw0KK2RlbGltaXRlcnMuDQorDQorT3B0aW9uIEBz YW1we2ludGVuc2V9IGFwcGxpZXMgYSBzYXR1cmF0ZWQgYmFja2dyb3VuZCBjb2xvci4NCisNCitP cHRpb24gQHNhbXB7c3VidGxlLWJvbGR9IGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0LCBidXQg YWxzbyBtYWtlcyB1c2Ugb2YNCitib2xkIHR5cG9ncmFwaGljIHdlaWdodCAoaW5oZXJpdHMgdGhl IEBzYW1we2JvbGR9IGZhY2UpLg0KKw0KK09wdGlvbiBAc2FtcHtpbnRlbnNlLWJvbGR9IGlzIHRo ZSBzYW1lIGFzIEBzYW1we2ludGVuc2V9LCB3aGlsZSBpdCBhbHNvIHVzZXMgYSBib2xkDQord2Vp Z2h0Lg0KKw0KK1RoaXMgY3VzdG9taXphdGlvbiB2YXJpYWJsZSBhZmZlY3RzIHRvb2xzIHN1Y2gg YXMgdGhlIGJ1aWx0LWluDQorQHNhbXB7c2hvdy1wYXJlbi1tb2RlfSBhbmQgQHNhbXB7c21hcnRw YXJlbnN9Lg0KKw0KK0Bub2RlIEFjdGl2ZSByZWdpb24NCitAc2VjdGlvbiBPcHRpb24gZm9yIGFj dGl2ZSByZWdpb24NCisNCitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1yZWdpb259DQogDQog UG9zc2libGUgdmFsdWVzOg0KIA0KQEAgLTgzMCwyNSArODQ1LDMxIEBAIFBvc3NpYmxlIHZhbHVl czoNCiBAaXRlbQ0KIEBzYW1we25pbH0gKGRlZmF1bHQpDQogQGl0ZW0NCi1Ac2FtcHt0fQ0KK0Bz YW1we25vLWV4dGVuZH0NCitAaXRlbQ0KK0BzYW1we2JnLW9ubHl9DQorQGl0ZW0NCitAc2FtcHti Zy1vbmx5LW5vLWV4dGVuZH0NCiBAZW5kIGVudW1lcmF0ZQ0KIA0KLUFwcGx5IGEgbW9yZSBpbnRl bnNlIGJhY2tncm91bmQgdG8gdGhlIG1hdGNoaW5nIHBhcmVudGhlc2VzIChvcg0KLWRlbGltaXRl cnMpLiAgVGhpcyBhZmZlY3RzIHRvb2xzIHN1Y2ggYXMgdGhlIGJ1aWx0LWluIEBzYW1we3Nob3ct cGFyZW4tbW9kZX0uDQotVGhlIGRlZmF1bHQgaXMgdG8gdXNlIGEgc3VidGxlIHdhcm0gY29sb3Ig Zm9yIHRoZSBiYWNrZ3JvdW5kIG9mIHRob3NlDQotb3ZlcmxheXMuDQorTmlsIG1lYW5zIHRvIG9u bHkgdXNlIGEgcHJvbWluZW50IGdyYXkgYmFja2dyb3VuZCB3aXRoIGEgbmV1dHJhbA0KK2ZvcmVn cm91bmQuICBUaGUgZm9yZWdyb3VuZCBvdmVycmlkZXMgYWxsIHN5bnRheCBoaWdobGlnaHRpbmcu ICBUaGUNCityZWdpb24gZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KKw0KK09w dGlvbiBAc2FtcHtuby1leHRlbmR9IHByZXNlcnZlcyB0aGUgZGVmYXVsdCBhZXN0aGV0aWMgYnV0 IHByZXZlbnRzIHRoZQ0KK3JlZ2lvbiBmcm9tIGV4dGVuZGluZyB0byB0aGUgZWRnZSBvZiB0aGUg d2luZG93Lg0KKw0KK09wdGlvbiBAc2FtcHtiZy1vbmx5fSBhcHBsaWVzIGEgZmFpbnQgdGludGVk IGJhY2tncm91bmQgdGhhdCBpcyBkaXN0aW5jdCBmcm9tDQorYWxsIG90aGVycyB1c2VkIGluIHRo ZSB0aGVtZSwgd2hpbGUgaXQgZG9lcyBub3Qgb3ZlcnJpZGUgYW55IGV4aXN0aW5nDQorY29sb3Jz LiAgSXQgZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KKw0KK09wdGlvbiBAc2Ft cHtiZy1vbmx5LW5vLWV4dGVuZH0gaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgQHNhbXB7Ymctb25s eX0gYW5kDQorQHNhbXB7bm8tZXh0ZW5kfSBvcHRpb25zLg0KIA0KIEBub2RlIERpZmZzDQogQHNl Y3Rpb24gT3B0aW9uIGZvciBkaWZmIGJ1ZmZlciBsb29rcw0KIA0KLVN5bWJvbCBuYW1lczoNCi0N Ci1AaXRlbWl6ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZnN9DQot QGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZzfQ0KLUBlbmQgaXRlbWl6ZQ0K K1N5bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLWRpZmZzfQ0KIA0KIFBvc3NpYmxlIHZhbHVlczoN CiANCkBAIC04NjEsNDIgKzg4Miw0NCBAQCBQb3NzaWJsZSB2YWx1ZXM6DQogQHNhbXB7Zmctb25s eX0NCiBAZW5kIGVudW1lcmF0ZQ0KIA0KLUJ5IGRlZmF1bHQgdGhlIHRoZW1lcyB3aWxsIGFwcGx5 IHJpY2hseSBjb2xvcmVkIGJhY2tncm91bmRzIHRvIHRoZQ0KLW91dHB1dCBvZiBkaWZmcywgc3Vj aCBhcyB0aG9zZSBvZiBAc2FtcHtkaWZmLW1vZGV9LCBAc2FtcHtlZGlmZn0sIEBzYW1we3NtZXJn ZS1tb2RlfSwgYW5kDQotQHNhbXB7bWFnaXR9LiAgVGhlc2UgYXJlIGNvbG9yIGNvbWJpbmF0aW9u cyBvZiBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIGFuZA0KLWZvcmVncm91bmQgc28gdGhhdCwgZm9y IGV4YW1wbGUsIGFkZGVkIGxpbmVzIGhhdmUgYSBwcm9ub3VuY2VkIGdyZWVuDQotYmFja2dyb3Vu ZCB3aXRoIGFuIGFwcHJvcHJpYXRlIHNoYWRlIG9mIGdyZWVuIGZvciB0aGUgYWZmZWN0ZWQgdGV4 dC4NCi1Xb3JkLXdpc2Ugb3IgYGByZWZpbmVkJycgY2hhbmdlcyBmb2xsb3cgdGhpcyBwYXR0ZXJu IGJ1dCB1c2UgZGlmZmVyZW50DQotc2hhZGVzIG9mIHRob3NlIGNvbG9ycyB0byByZW1haW4gZGlz dGluY3QuDQorQnkgZGVmYXVsdCB0aGUgdGhlbWVzIGFwcGx5IHJpY2ggY29sb3JhdGlvbiB0byB0 aGUgb3V0cHV0IG9mIGRpZmZzLCBzdWNoDQorYXMgdGhvc2Ugb2YgQHNhbXB7ZGlmZi1tb2RlfSwg QHNhbXB7ZWRpZmZ9LCBAc2FtcHtzbWVyZ2UtbW9kZX0sIGFuZCBAc2FtcHttYWdpdH0uICBUaGVz ZSBhcmUgY29sb3INCitjb21iaW5hdGlvbnMgb2YgYW4gYWNjZW50ZWQgYmFja2dyb3VuZCBhbmQg Zm9yZWdyb3VuZCBzbyB0aGF0LCBmb3INCitleGFtcGxlLCBhZGRlZCBsaW5lcyBoYXZlIGEgcHJv bm91bmNlZCBncmVlbiBiYWNrZ3JvdW5kIHdpdGggYW4NCithcHByb3ByaWF0ZSBzaGFkZSBvZiBn cmVlbiBmb3IgdGhlIGFmZmVjdGVkIHRleHQuICBXb3JkLXdpc2Ugb3INCitgYHJlZmluZWQnJyBj aGFuZ2VzIGZvbGxvdyB0aGlzIHBhdHRlcm4gYnV0IHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mIHRo b3NlDQorY29sb3JzIHRvIHJlbWFpbiBkaXN0aW5jdC4NCiANCi1BIEBzYW1we2Rlc2F0dXJhdGVk fSB2YWx1ZSB0b25lcyBkb3duIGFsbCByZWxldmFudCBjb2xvciB2YWx1ZXMuICBJdCBzdGlsbA0K K09wdGlvbiBAc2FtcHtkZXNhdHVyYXRlZH0gdG9uZXMgZG93biBhbGwgcmVsZXZhbnQgY29sb3Ig dmFsdWVzLiAgSXQgc3RpbGwNCiBjb21iaW5lcyBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIHdpdGgg YW4gYXBwcm9wcmlhdGUgZm9yZWdyb3VuZCwgeWV0IGl0cw0KLW92ZXJhbGwgaW1wcmVzc2lvbiBp cyB2ZXJ5IHN1YnRsZS4gIFJlZmluZWQgY2hhbmdlcyBhcmUgYSBiaXQgbW9yZQ0KK292ZXJhbGwg aW1wcmVzc2lvbiBpcyBmYWlybHkgc3VidGxlLiAgUmVmaW5lZCBjaGFuZ2VzIGFyZSBhIGJpdCBt b3JlDQogaW50ZW5zZSB0byBmdWxmaWwgdGhlaXIgaW50ZW5kZWQgZnVuY3Rpb24sIHRob3VnaCBz dGlsbCBsZXNzIHNhdHVyYXRlZA0KIHRoYW4gZGVmYXVsdC4NCiANCi1XaGlsZSBAc2FtcHtmZy1v bmx5fSB3aWxsIHJlbW92ZSBhbGwgYWNjZW50ZWQgYmFja2dyb3VuZHMgYW5kIGluc3RlYWQgcmVs eSBvbg0KLWNvbG9yLWNvZGVkIHRleHQgdG8gZGVub3RlIGNoYW5nZXMuICBGb3IgaW5zdGFuY2Us IGFkZGVkIGxpbmVzIHVzZSBhbg0KLWludGVuc2UgZ3JlZW4gZm9yZWdyb3VuZCwgd2hpbGUgdGhl aXIgYmFja2dyb3VuZCBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdA0KLW9mIHRoZSBidWZmZXIuICBX b3JkLXdpc2UgaGlnaGxpZ2h0cyBzdGlsbCB1c2UgYSBiYWNrZ3JvdW5kIHZhbHVlIHdoaWNoDQot aXMsIG5vbmV0aGVsZXNzLCBtb3JlIHN1YnRsZSB0aGFuIGl0cyBkZWZhdWx0IGVxdWl2YWxlbnQu DQotDQotQ29uY2VybmluZyBAc2FtcHttYWdpdH0sIGFuIGV4dHJhIHNldCBvZiB0d2Vha3MgYXJl IGludHJvZHVjZWQgZm9yIHRoZSBlZmZlY3QNCi1vZiBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQg ZGlmZiBodW5rLCBzbyBhcyB0byByZW1haW4gY29uc2lzdGVudCB3aXRoDQotdGhlIG92ZXJhbGwg ZXhwZXJpZW5jZSBvZiB0aGF0IG1vZGUuICBFeHBlY3QgY2hhbmdlcyB0aGF0IGFyZSBjb25zaXN0 ZW50DQotd2l0aCB0aGUgb3ZlcmFsbCBpbnRlbnQgb2YgdGhlIGFmb3JlbWVudGlvbmVkLg0KK09w dGlvbiBAc2FtcHtmZy1vbmx5fSB3aWxsIHJlbW92ZSBtb3N0IGFjY2VudGVkIGJhY2tncm91bmRz IGFuZCBpbnN0ZWFkIHJlbHkgb24NCitjb2xvci1jb2RlZCB0ZXh0IHRvIGRlbm90ZSBjaGFuZ2Vz LiAgRm9yIGluc3RhbmNlLCBhZGRlZCBsaW5lcyB1c2UgYQ0KK2dyZWVuIGZvcmVncm91bmQsIHdo aWxlIHRoZWlyIGJhY2tncm91bmQgaXMgdGhlIHNhbWUgYXMgdGhlIHJlc3Qgb2YgdGhlDQorYnVm ZmVyLiAgV29yZC13aXNlIGhpZ2hsaWdodHMgc3RpbGwgdXNlIGEgYmFja2dyb3VuZCB2YWx1ZSB3 aGljaCBpcywNCitub25ldGhlbGVzcywgbW9yZSBzdWJ0bGUgdGhhbiBpdHMgZGVmYXVsdCBlcXVp dmFsZW50Lg0KKw0KK09wdGlvbiBAc2FtcHtiZy1vbmx5fSBhcHBsaWVzIGNvbG9yLWNvZGVkIGJh Y2tncm91bmRzIGJ1dCBkb2VzIG5vdCBvdmVycmlkZSBhbnkNCitzeW50YXggaGlnaGxpZ2h0aW5n IHRoYXQgbWF5IGJlIHByZXNlbnQuICBUaGlzIG1ha2VzIGl0IHN1aXRhYmxlIGZvciB1c2UNCit3 aXRoIGEgbm9uLW5pbCB2YWx1ZSBmb3IgQHNhbXB7ZGlmZi1mb250LWxvY2stc3ludGF4fSAod2hp Y2ggaXMgdGhlIGRlZmF1bHQgZm9yDQorQHNhbXB7ZGlmZi1tb2RlfSBidWZmZXJzIGluIEVtYWNz IDI3IG9yIGhpZ2hlcikuDQorDQorQ29uY2VybmluZyBNYWdpdCwgYW4gZXh0cmEgc2V0IG9mIHR3 ZWFrcyBhcmUgaW50cm9kdWNlZCBmb3IgdGhlIGVmZmVjdA0KK29mIGhpZ2hsaWdodGluZyB0aGUg Y3VycmVudCBkaWZmIGh1bmssIHNvIGFzIHRvIHJlbWFpbiBhbGlnbmVkIHdpdGggdGhlDQorb3Zl cmFsbCBleHBlcmllbmNlIG9mIHRoYXQgbW9kZS4gIEV4cGVjdCBjaGFuZ2VzIHRoYXQgYXJlIGNv bnNpc3RlbnQNCit3aXRoIHRoZSBvdmVyYWxsIGludGVudCBvZiB0aGUgYWZvcmVtZW50aW9uZWQu ICBOb3RlLCBob3dldmVyLCB0aGF0IHRoZQ0KK0BzYW1we2JnLW9ubHl9IG9wdGlvbiB3aWxsIG5v dCBkZWxpdmVyIHRoZSBpbnRlbmRlZCByZXN1bHRzIGluIE1hZ2l0IGRpZmZzDQorYmVjYXVzZSBu byBzeW50YXggaGlnaGxpZ2h0aW5nIGlzIHVzZWQgdGhlcmUgKGxhc3QgY2hlY2tlZCB3aXRoIE1h Z2l0DQordmVyc2lvbiAyMDIwMTExNi4xMDU3LCB0aG91Z2ggdXBzdHJlYW0gaGFzIGEgcGxhbiB0 byBldmVudHVhbGx5IHN1cHBvcnQNCitzdWNoIGEgZmVhdHVyZS0tLXRoaXMgZW50cnkgc2hhbGwg YmUgdXBkYXRlZCBhY2NvcmRpbmdseSkuDQogDQogQG5vZGUgT3JnIG1vZGUgYmxvY2tzDQogQHNl Y3Rpb24gT3B0aW9uIGZvciBvcmctbW9kZSBibG9jayBzdHlsZXMNCiANCi1TeW1ib2wgbmFtZXM6 DQotDQotQGl0ZW1pemUNCi1AaXRlbQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1i bG9ja3N9DQotQGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3N9DQot QGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2FtcHttb2R1cy10aGVtZXMtb3JnLWJsb2Nrc30NCiAN CiBQb3NzaWJsZSB2YWx1ZXM6DQogDQpAQCAtOTA0LDcgKzkyNyw3IEBAIFBvc3NpYmxlIHZhbHVl czoNCiBAaXRlbQ0KIEBzYW1we25pbH0gKGRlZmF1bHQpDQogQGl0ZW0NCi1Ac2FtcHtncmV5c2Nh bGV9DQorQHNhbXB7Z3JheXNjYWxlfQ0KIEBpdGVtDQogQHNhbXB7cmFpbmJvd30NCiBAZW5kIGVu dW1lcmF0ZQ0KQEAgLTkxMiwxOCArOTM1LDE3IEBAIFBvc3NpYmxlIHZhbHVlczoNCiBUaGUgZGVm YXVsdCBpcyB0byB1c2UgdGhlIHNhbWUgYmFja2dyb3VuZCBhcyB0aGUgcmVzdCBvZiB0aGUgYnVm ZmVyIGZvcg0KIHRoZSBjb250ZW50cyBvZiB0aGUgYmxvY2suDQogDQotQSB2YWx1ZSBvZiBAc2Ft cHtncmV5c2NhbGV9IHdpbGwgYXBwbHkgYSBzdWJ0bGUgbmV1dHJhbCBncmF5IGJhY2tncm91bmQg dG8gdGhlDQotYmxvY2sncyBjb250ZW50cy4gIEl0IHdpbGwgYWxzbyBleHRlbmQgdG8gdGhlIGVk Z2Ugb2YgdGhlIHdpbmRvdyB0aGUNCi1iYWNrZ3JvdW5kIG9mIHRoZSBgYGJlZ2luJycgYW5kIGBg ZW5kJycgYmxvY2sgZGVsaW1pdGVyIGxpbmVzIChvbmx5IHJlbGV2YW50DQotZm9yIEVtYWNzIHZl cnNpb25zID49IDI3IHdoZXJlIHRoZSAnZXh0ZW5kJyBrZXl3b3JkIGlzIHJlY29nbmlzZWQgYnkN Ci1Ac2FtcHtzZXQtZmFjZS1hdHRyaWJ1dGV9KS4NCitPcHRpb24gQHNhbXB7Z3JheXNjYWxlfSBh cHBsaWVzIGEgc3VidGxlIG5ldXRyYWwgZ3JheSBiYWNrZ3JvdW5kIHRvIHRoZSBibG9jaydzDQor Y29udGVudHMuICBJdCB3aWxsIGFsc28gZXh0ZW5kIHRvIHRoZSBlZGdlIG9mIHRoZSB3aW5kb3cg dGhlIGJhY2tncm91bmQNCitvZiB0aGUgYGBiZWdpbicnIGFuZCBgYGVuZCcnIGJsb2NrIGRlbGlt aXRlciBsaW5lcyAob25seSByZWxldmFudCBmb3IgRW1hY3MNCit2ZXJzaW9ucyA+PSAyNyB3aGVy ZSB0aGUgJ2V4dGVuZCcga2V5d29yZCBpcyBwYXJ0IG9mIHRoZSBmYWNlDQorc3BlY2lmaWNhdGlv bnMpLg0KIA0KLVdoaWxlIEBzYW1we3JhaW5ib3d9IHdpbGwgaW5zdGVhZCB1c2UgYW4gYWNjZW50 ZWQgYmFja2dyb3VuZCBmb3IgdGhlIGNvbnRlbnRzDQotb2YgdGhlIGJsb2NrLiAgVGhlIGV4YWN0 IGNvbG9yIHdpbGwgZGVwZW5kIG9uIHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZQ0KLWFuZCBpcyBj b250cm9sbGVkIGJ5IHRoZSBAc2FtcHtvcmctc3JjLWJsb2NrLWZhY2VzfSB2YXJpYWJsZSAocmVm ZXIgdG8gdGhlDQotdGhlbWUncyBzb3VyY2UgY29kZSBmb3IgdGhlIGN1cnJlbnQgYXNzb2NpYXRp b24gbGlzdCkuICBUaGlzIGlzIG1vc3QNCi1zdWl0YWJsZSBmb3IgdXNlcnMgd2hvIHdvcmsgb24g bGl0ZXJhdGUgcHJvZ3JhbW1pbmcgZG9jdW1lbnRzIHRoYXQgbWl4DQotYW5kIG1hdGNoIHNldmVy YWwgbGFuZ3VhZ2VzLg0KK09wdGlvbiBAc2FtcHtyYWluYm93fSB1c2VzIGFuIGFjY2VudGVkIGJh Y2tncm91bmQgZm9yIHRoZSBjb250ZW50cyBvZiB0aGUNCitibG9jay4gIFRoZSBleGFjdCBjb2xv ciB3aWxsIGRlcGVuZCBvbiB0aGUgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgYW5kIGlzDQorY29udHJv bGxlZCBieSB0aGUgQHNhbXB7b3JnLXNyYy1ibG9jay1mYWNlc30gdmFyaWFibGUuICBUaGlzIGlz IG1vc3Qgc3VpdGFibGUNCitmb3IgdXNlcnMgd2hvIHdvcmsgb24gbGl0ZXJhdGUgcHJvZ3JhbW1p bmcgZG9jdW1lbnRzIHRoYXQgbWl4IGFuZCBtYXRjaA0KK3NldmVyYWwgbGFuZ3VhZ2VzLg0KIA0K IE5vdGUgdGhhdCB0aGUgYGByYWluYm93JycgYmxvY2tzIG1heSByZXF1aXJlIHlvdSB0byBhbHNv IHJlbG9hZCB0aGUNCiBtYWpvci1tb2RlIHNvIHRoYXQgdGhlIGNvbG9ycyBhcmUgYXBwbGllZCBw cm9wZXJseTogdXNlIEBrYmR7TS14IG9yZy1tb2RlfSBvcg0KQEAgLTkzMSwxOSArOTUzLDEyIEBA IG1ham9yLW1vZGUgc28gdGhhdCB0aGUgY29sb3JzIGFyZSBhcHBsaWVkIHByb3Blcmx5OiB1c2Ug QGtiZHtNLXggb3JnLW1vZGV9IG9yDQogY29kZSBibG9jayAoaW5lZmZpY2llbnQgYXQgc2NhbGUs IGJ1dCBpdCBzdGlsbCB3b3JrcykuDQogDQogQG5vZGUgSGVhZGluZyBzdHlsZXMNCi1Ac2VjdGlv biBPcHRpb24gZm9yIGhlYWRpbmdzJyBvdmVyYWxsIHN0eWxlDQorQHNlY3Rpb24gT3B0aW9uIGZv ciB0aGUgaGVhZGluZ3MnIG92ZXJhbGwgc3R5bGUNCiANCiBUaGlzIGlzIGRlZmluZWQgYXMgYW4g YWxpc3QgYW5kLCB0aGVyZWZvcmUsIHVzZXMgYSBkaWZmZXJlbnQgYXBwcm9hY2gNCiB0aGFuIG90 aGVyIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBkb2N1bWVudGVkIGluIHRoaXMgbWFudWFsLg0KIA0K LVN5bWJvbCBuYW1lczoNCi0NCi1AaXRlbWl6ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtb3BlcmFu ZGktdGhlbWUtaGVhZGluZ3N9DQotQGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWhl YWRpbmdzfQ0KLUBlbmQgaXRlbWl6ZQ0KK1N5bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLWhlYWRp bmdzfQ0KIA0KIFBvc3NpYmxlIHZhbHVlcywgd2hpY2ggY2FuIGJlIHNwZWNpZmllZCBmb3IgZWFj aCBoZWFkaW5nIGxldmVsIChleGFtcGxlcw0KIGZ1cnRoZXIgYmVsb3cpOg0KQEAgLTk4Myw2MSAr OTk4LDYxIEBAIG5pbCAoZGVmYXVsdCBmYWxsYmFjayBvcHRpb24tLS1jb3ZlcnMgYWxsIGhlYWRp bmcgbGV2ZWxzKQ0KIEBzYW1we3JhaW5ib3ctc2VjdGlvbi1uby1ib2xkfQ0KIEBlbmQgaXRlbWl6 ZQ0KIA0KLVRvIGNvbnRyb2wgZmFjZXMgcGVyIGxldmVsIGZyb20gMS04LCB1c2Ugc29tZXRoaW5n IGxpa2UgdGhpcyAoc2FtZSBmb3INCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdz fSk6DQorVG8gY29udHJvbCBmYWNlcyBwZXIgbGV2ZWwgZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcg bGlrZSB0aGlzOg0KIA0KIEBsaXNwDQotKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGlu Z3MNCisoc2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCiAgICAgICAnKCgxIC4gc2VjdGlvbikN Ci0gICAgICAgICgyIC4gbGluZSkNCi0gICAgICAgICgzIC4gaGlnaGxpZ2h0KQ0KLSAgICAgICAg KHQgLiByYWluYm93LW5vLWJvbGQpKSkNCisgICAgICAgICgyIC4gc2VjdGlvbi1uby1ib2xkKQ0K KyAgICAgICAgKDMgLiByYWluYm93LWxpbmUpDQorICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1u by1ib2xkKSkpDQogQGVuZCBsaXNwDQogDQotVGhlIGFib3ZlIHVzZXMgdGhlIEBzYW1we3NlY3Rp b259IHZhbHVlIGZvciBoZWFkaW5nIGxldmVscyAxLCB0aGUgQHNhbXB7bGluZX0gZm9yDQotaGVh ZGluZ3MgMiwgQHNhbXB7aGlnaGxpZ2h0fSBmb3IgMy4gIEFsbCBvdGhlciBsZXZlbHMgZmFsbCBi YWNrIHRvDQorVGhlIGFib3ZlIHVzZXMgdGhlIEBzYW1we3NlY3Rpb259IHZhbHVlIGZvciBoZWFk aW5nIGxldmVscyAxLCBAc2FtcHtzZWN0aW9uLW5vLWJvbGR9DQorZm9yIGhlYWRpbmdzIDIsIEBz YW1we3JhaW5ib3ctbGluZX0gZm9yIDMuICBBbGwgb3RoZXIgbGV2ZWxzIGZhbGwgYmFjayB0bw0K IEBzYW1we3JhaW5ib3ctbGluZS1uby1ib2xkfS4NCiANCiBUbyBzZXQgYSB1bmlmb3JtIHZhbHVl IGZvciBhbGwgaGVhZGluZyBsZXZlbHMsIHVzZSB0aGlzIHBhdHRlcm46DQogDQogQGxpc3ANCiA7 OyBBIGdpdmVuIHN0eWxlIGZvciBldmVyeSBoZWFkaW5nDQotKHNldHEgbW9kdXMtb3BlcmFuZGkt dGhlbWUtaGVhZGluZ3MNCi0gICAgICAnKCh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCiso c2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCisgICAgICAnKCh0IC4gc2VjdGlvbikpKQ0KIA0K IDs7IERlZmF1bHQgYWVzdGhldGljIGZvciBldmVyeSBoZWFkaW5nDQotKHNldHEgbW9kdXMtb3Bl cmFuZGktdGhlbWUtaGVhZGluZ3MNCi0gICAgICAnKCh0IC4gbmlsKSkpDQorKHNldHEgbW9kdXMt dGhlbWVzLWhlYWRpbmdzDQorICAgICAgJygpKQ0KIEBlbmQgbGlzcA0KIA0KIFRoZSBkZWZhdWx0 IHN0eWxlIGZvciBoZWFkaW5ncyB1c2VzIGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQN Ci12YWx1ZSBpbiBjb21iaW5hdGlvbiB3aXRoIGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBU byBzcGVjaWZ5IHRoaXMNCi1zdHlsZSBmb3IgYSBnaXZlbiBsZXZlbCBOIChhc3N1bWluZyB5b3Ug d2lzaCB0byBoYXZlIGFub3RoZXIgZmFsbGJhY2sNCi1vcHRpb24pLCBqdXN0IHNwZWNpZnkgdGhl IHZhbHVlIEBzYW1we3R9IGxpa2UgdGhpczoNCit2YWx1ZSBpbiBjb21iaW5hdGlvbiB3aXRoIGJv bGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0aGlzDQorc3R5bGUgZm9yIGEgZ2l2 ZW4gbGV2ZWwgTiwgYXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyIGZhbGxiYWNrDQor b3B0aW9uLCBqdXN0IHNwZWNpZnkgdGhlIHZhbHVlIEBzYW1we3R9IGxpa2UgdGhpczoNCiANCiBA bGlzcA0KLShzZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQorKHNldHEgbW9kdXMt dGhlbWVzLWhlYWRpbmdzDQogICAgICAgJygoMSAuIHQpDQogICAgICAgICAoMiAuIGxpbmUpDQog ICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQogQGVuZCBsaXNwDQogDQotQSBk ZXNjcmlwdGlvbiBvZiBhbGwgb3RoZXIgcG9zc2libGUgc3R5bGVzOg0KK0EgZGVzY3JpcHRpb24g b2YgYWxsIG90aGVyIHBvc3NpYmxlIHN0eWxlcyBiZXlvbmQgdGhlIGRlZmF1bHQ6DQogDQogQGl0 ZW1pemUNCiBAaXRlbQ0KLUBzYW1we25vLWJvbGR9IHJldGFpbnMgdGhlIGRlZmF1bHQgdGV4dCBj b2xvciB3aGlsZSByZW1vdmluZyB0aGUgdHlwb2dyYXBoaWMNCi13ZWlnaHQuDQorQHNhbXB7bm8t Ym9sZH0gcmV0YWlucyB0aGUgZGVmYXVsdCB0ZXh0IGNvbG9yIHdoaWxlIHJlbW92aW5nIHRoZSBi b2xkDQordHlwb2dyYXBoaWMgd2VpZ2h0Lg0KIA0KIEBpdGVtDQotQHNhbXB7bGluZX0gaXMgdGhl IHNhbWUgYXMgdGhlIGRlZmF1bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZSBoZWFkaW5nLg0K K0BzYW1we2xpbmV9IGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0IHBsdXMgYW4gb3ZlcmxpbmUg YWNyb3NzIHRoZSBoZWFkaW5nJ3MNCitsZW5ndGguDQogDQogQGl0ZW0NCiBAc2FtcHtsaW5lLW5v LWJvbGR9IGlzIHRoZSBzYW1lIGFzIEBzYW1we2xpbmV9IHdpdGhvdXQgYm9sZCB3ZWlnaHQuDQog DQogQGl0ZW0NCiBAc2FtcHtyYWluYm93fSB1c2VzIGEgbW9yZSBjb2xvcmZ1bCBmb3JlZ3JvdW5k IGluIGNvbWJpbmF0aW9uIHdpdGggYm9sZA0KLXdlaWdodC4NCit0eXBvZ3JhcGhpYyB3ZWlnaHQu DQogDQogQGl0ZW0NCiBAc2FtcHtyYWluYm93LWxpbmV9IGlzIHRoZSBzYW1lIGFzIEBzYW1we3Jh aW5ib3d9IHBsdXMgYW4gb3ZlcmxpbmUuDQpAQCAtMTA3NiwyMCArMTA5MSwxMyBAQCBmb3JlZ3Jv dW5kLg0KIA0KIEBpdGVtDQogQHNhbXB7cmFpbmJvdy1zZWN0aW9uLW5vLWJvbGR9IGlzIHRoZSBz YW1lIGFzIEBzYW1we3JhaW5ib3ctc2VjdGlvbn0gd2l0aG91dCBhIGJvbGQNCi13ZWlnaHQuYGAN Cit3ZWlnaHQuDQogQGVuZCBpdGVtaXplDQogDQogQG5vZGUgU2NhbGVkIGhlYWRpbmdzDQogQHNl Y3Rpb24gT3B0aW9uIGZvciBzY2FsZWQgaGVhZGluZ3MNCiANCi1TeW1ib2wgbmFtZXM6DQotDQot QGl0ZW1pemUNCi1AaXRlbQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRp bmdzfQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS1oZWFkaW5nc30N Ci1AZW5kIGl0ZW1pemUNCitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5n c30NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQpAQCAtMTEwMCw5ICsxMTA4LDEwIEBAIFBvc3Np YmxlIHZhbHVlczoNCiBAc2FtcHt0fQ0KIEBlbmQgZW51bWVyYXRlDQogDQotTWFrZSBoZWFkaW5n cyBsYXJnZXIgaW4gaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSBtYWluIHRleHQuICBUaGlzIGlzDQot bm90aWNlYWJsZSBpbiBtb2RlcyBsaWtlIE9yZy4gIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUg c2FtZSBzaXplIGZvcg0KLWhlYWRpbmdzIGFuZCBib2R5IGNvcHkuDQorVGhlIGRlZmF1bHQgaXMg dG8gdXNlIHRoZSBzYW1lIHNpemUgZm9yIGhlYWRpbmdzIGFuZCBwYXJhZ3JhcGggdGV4dC4NCisN CitXaXRoIGEgbm9uLW5pbCB2YWx1ZSAoQHNhbXB7dH0pIG1ha2UgaGVhZGluZ3MgbGFyZ2VyIGlu IGhlaWdodCByZWxhdGl2ZSB0byB0aGUNCittYWluIHRleHQuICBUaGlzIGlzIG5vdGljZWFibGUg aW4gbW9kZXMgbGlrZSBPcmcuDQogDQogQG1lbnUNCiAqIFNjYWxlZCBoZWFkaW5nIHNpemVzOjog ICAgICAgICBTcGVjaWZ5IHJhdGUgb2YgaW5jcmVhc2UgZm9yIHNjYWxlZCBoZWFkaW5ncw0KQEAg LTExMjUsNyArMTEzNCw3IEBAIG51bWJlciBpcyBiYXNpY2FsbHkgdGhlIHBvaW50IHNpemUgbXVs dGlwbGllZCBieSB0ZW4uICBTbyBpZiB5b3Ugd2FudA0KIGl0IHRvIGJlIEBzYW1wezE4cHR9IHlv dSBtdXN0IHBhc3MgQHNhbXB7MTgwfS4gIFBsZWFzZSB1bmRlcnN0YW5kIHRoYXQgc2V0dGluZyBh bg0KIGFic29sdXRlIHZhbHVlIGlzIGRpc2NvdXJhZ2VkLCBhcyBpdCB3aWxsIGJyZWFrIHRoZSBs YXlvdXQgd2hlbiB5b3UNCiB0cnkgdG8gY2hhbmdlIGZvbnQgc2l6ZXMgd2l0aCB0aGUgYnVpbHQt aW4gQHNhbXB7dGV4dC1zY2FsZS1hZGp1c3R9IGNvbW1hbmQNCi0oc2VlIEByZWZ7Rm9udCBjb25m aWdzIChESVkpLCAsIEZvbnQgY29uZmlndXJhdGlvbnN9KS4NCisoc2VlIEB4cmVme0ZvbnQgY29u ZmlncyAoRElZKX0pLg0KIEBlbmQgaXRlbWl6ZQ0KIA0KIEJlbG93IGFyZSB0aGUgdmFyaWFibGVz IGluIHRoZWlyIGRlZmF1bHQgdmFsdWVzLCB1c2luZyB0aGUgZmxvYXRpbmcNCkBAIC0xMTM0LDE3 ICsxMTQzLDExIEBAIGNoYW5nZSB0aGVtIHRvIHlvdXIgbGlraW5nLCBzdWNoIGFzIEBzYW1wezEu Mn0sIEBzYW1wezEuNH0sIEBzYW1wezEuNn0sIEBzYW1wezEuDQogcmVzb3VyY2UgZm9yIGZpbmRp bmcgYSBjb25zaXN0ZW50IHNjYWxlOg0KIA0KIEBsaXNwDQotKHNldHEgbW9kdXMtb3BlcmFuZGkt dGhlbWUtc2NhbGUtMSAxLjA1DQotICAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMiAx LjENCi0gICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zIDEuMTUNCi0gICAgICBtb2R1 cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00IDEuMg0KLSAgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXNjYWxlLTUgMS4zKQ0KLQ0KLShzZXRxIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMSAxLjA1 DQotICAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0yIDEuMQ0KLSAgICAgIG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUtMyAxLjE1DQotICAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2Fs ZS00IDEuMg0KLSAgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNSAxLjMpDQorKHNldHEg bW9kdXMtdGhlbWVzLXNjYWxlLTEgMS4wNQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS0yIDEu MQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS0zIDEuMTUNCisgICAgICBtb2R1cy10aGVtZXMt c2NhbGUtNCAxLjINCisgICAgICBtb2R1cy10aGVtZXMtc2NhbGUtNSAxLjMpDQogQGVuZCBsaXNw DQogDQogTm90ZSB0aGF0IGluIGVhcmxpZXIgdmVyc2lvbnMgb2YgT3JnLCBzY2FsaW5nIHdvdWxk IG9ubHkgaW5jcmVhc2UgdGhlDQpAQCAtMTE1NSwxNCArMTE1OCw3IEBAIHNpemUgb2YgdGhlIGhl YWRpbmcsIGJ1dCBub3Qgb2Yga2V5d29yZHMgdGhhdCB3ZXJlIGFkZGVkIHRvIGl0LCBsaWtlDQog QG5vZGUgSGVhZGluZ3MnIGZvbnQNCiBAc2VjdGlvbiBPcHRpb24gZm9yIHZhcmlhYmxlLXBpdGNo IGZvbnQgaW4gaGVhZGluZ3MNCiANCi1TeW1ib2wgbmFtZXM6DQotDQotQGl0ZW1pemUNCi1AaXRl bQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzfQ0K LUBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5n c30NCi1AZW5kIGl0ZW1pemUNCitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy12YXJpYWJsZS1w aXRjaC1oZWFkaW5nc30NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQpAQCAtMTE3MywxOSArMTE2 OSwyMCBAQCBQb3NzaWJsZSB2YWx1ZXM6DQogQHNhbXB7dH0NCiBAZW5kIGVudW1lcmF0ZQ0KIA0K LUNob29zZSB0byBhcHBseSBhIHByb3BvcnRpb25hdGVseSBzcGFjZWQsIGVsc2UgYGB2YXJpYWJs ZS1waXRjaCcnLA0KLXR5cGVmYWNlIHRvIGhlYWRpbmdzIChzdWNoIGFzIGluIE9yZyBtb2RlKS4g IFRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUNCi1tYWluIGZvbnQgZmFtaWx5Lg0KK1RoZSBkZWZh dWx0IGlzIHRvIHVzZSB0aGUgbWFpbiBmb250IGZhbWlseSwgd2hpY2ggdHlwaWNhbGx5IGlzIG1v bm9zcGFjZWQuDQorDQorV2l0aCBhIG5vbi1uaWwgdmFsdWUgKEBzYW1we3R9KSBhcHBseSBhIHBy b3BvcnRpb25hdGVseSBzcGFjZWQgdHlwZWZhY2UsIGVsc2UNCitgYHZhcmlhYmxlLXBpdGNoJycs IHRvIGhlYWRpbmdzIChzdWNoIGFzIGluIE9yZyBtb2RlKS4NCiANCi1AcmVme0ZvbnQgY29uZmln cyAoRElZKSwgLCBGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMpfS4NCitA eHJlZntGb250IGNvbmZpZ3MgKERJWSl9Lg0KIA0KIEBub2RlIEFkdmFuY2VkIGN1c3RvbWl6YXRp b24gKGRvLWl0LXlvdXJzZWxmKQ0KIEBjaGFwdGVyIEFkdmFuY2VkIGN1c3RvbWl6YXRpb24gKGRv LWl0LXlvdXJzZWxmKQ0KIA0KLVVubGlrZSB0aGUgcHJlZGVmaW5lZCBjdXN0b21pemF0aW9uIG9w dGlvbnMgd2hpY2ggZm9sbG93IGENCi1zdHJhaWdodGZvcndhcmQgcGF0dGVybiBvZiBhbGxvd2lu ZyB0aGUgdXNlciB0byBxdWlja2x5IHNwZWNpZnkgdGhlaXINCi1wcmVmZXJlbmNlLCB0aGUgdGhl bWVzIGFsc28gcHJvdmlkZSBhIG1vcmUgZmxleGlibGUsIGFsYmVpdCBkaWZmaWN1bHQsDQotbWVj aGFuaXNtIHRvIGNvbnRyb2wgdGhpbmdzIHdpdGggcHJlY2lzaW9uIChzZWUgQHJlZntDdXN0b21p emF0aW9uIE9wdGlvbnN9KS4NCitVbmxpa2UgdGhlIHByZWRlZmluZWQgY3VzdG9taXphdGlvbiBv cHRpb25zIHdoaWNoIGZvbGxvdyBhIGNsZWFyIHBhdHRlcm4NCitvZiBhbGxvd2luZyB0aGUgdXNl ciB0byBxdWlja2x5IHNwZWNpZnkgdGhlaXIgcHJlZmVyZW5jZSwgdGhlIHRoZW1lcw0KK2Fsc28g cHJvdmlkZSBhIG1vcmUgZmxleGlibGUsIGFsYmVpdCBkaWZmaWN1bHQsIG1lY2hhbmlzbSB0byBj b250cm9sDQordGhpbmdzIHdpdGggcHJlY2lzaW9uIChzZWUgQHhyZWZ7Q3VzdG9taXphdGlvbiBP cHRpb25zfSkuDQogDQogVGhpcyBzZWN0aW9uIGlzIG9mIGludGVyZXN0IG9ubHkgdG8gdXNlcnMg d2hvIGFyZSBwcmVwYXJlZCB0byBtYWludGFpbg0KIHRoZWlyIG93biBsb2NhbCB0d2Vha3MgYW5k IHdobyBhcmUgd2lsbGluZyB0byBkZWFsIHdpdGggYW55IHBvc3NpYmxlDQpAQCAtMTE5MywxMTAg KzExOTAsMTIxIEBAIGluY29tcGF0aWJpbGl0aWVzIGJldHdlZW4gdmVyc2lvbmVkIHJlbGVhc2Vz IG9mIHRoZSB0aGVtZXMuICBBcyBzdWNoLA0KIHRoZXkgYXJlIGxhYmVsbGVkIGFzIGBgZG8taXQt eW91cnNlbGYnJyBvciBgYERJWScnLg0KIA0KIEBtZW51DQotKiBUd2VhayBjb2xvcnMgKERJWSk6 OiAgICAgICAgICAgRGVjbGFyZSB5b3VyIG93biBwYWxldHRlIG92ZXJyaWRlcw0KKyogVHdlYWsg ZmFjZXMgKERJWSk6OiAgICAgICAgICAgIERlY2xhcmUgeW91ciBvd24gZmFjZSBzcGVjcw0KICog Rm9udCBjb25maWdzIChESVkpOjogICAgICAgICAgIE9wdGltaXNlIGZvciBtaXhlZCB0eXBlZmFj ZSBidWZmZXJzDQogKiBPcmcgdXNlciBmYWNlcyAoRElZKTo6ICAgICAgICAgRXh0ZW5kIHN0eWxl cyBmb3Igb3JnLW1vZGUga2V5d29yZHMgYW5kIHByaW9yaXRpZXMNCisqIFdDQUcgdGVzdCAoRElZ KTo6ICAgICAgICAgICAgICBBcHBseSB0aGUgV0NBRyBmb3JtdWxhIHRvIGNvbG9yIHZhbHVlcyBv ZiB5b3VyIGNob29zaW5nDQorKiBMb2FkIGF0IHRpbWUgKERJWSk6OiAgICAgICAgICAgU3dpdGNo IGJldHdlZW4gdGhlIHRoZW1lcyBkZXBlbmRpbmcgb24gdGhlIHRpbWUgb2YgZGF5DQogQGVuZCBt ZW51DQogDQotQG5vZGUgVHdlYWsgY29sb3JzIChESVkpDQotQHNlY3Rpb24gRnVsbCBhY2Nlc3Mg dG8gdGhlIHRoZW1lcycgcGFsZXR0ZQ0KK0Bub2RlIFR3ZWFrIGZhY2VzIChESVkpDQorQHNlY3Rp b24gQ3VzdG9tIGZhY2Ugc3BlY3MgdXNpbmcgdGhlIHRoZW1lcycgcGFsZXR0ZSAoRElZKQ0KIA0K LVRoZSB2YXJpYWJsZXMgYXJlOg0KK1dlIGFscmVhZHkgY292ZXJlZCBpbiBwcmV2aW91cyBzZWN0 aW9ucyBob3cgdG8gdG9nZ2xlIGJldHdlZW4gdGhlIHRoZW1lcw0KK2FuZCBob3cgdG8gY29uZmln dXJlIG9wdGlvbnMgcHJpb3IgdG8gbG9hZGluZy4gIFdlIGFsc28gZXhwbGFpbmVkIHRoYXQNCitz b21lIG9mIHRoZSBmdW5jdGlvbnMgbWFkZSBhdmFpbGFibGUgdG8gdXNlcnMgd2lsbCBmaXJlIHVw IGEgaG9vayB0aGF0DQorY2FuIGJlIHVzZWQgdG8gcGFzcyB0d2Vha3MgaW4gdGhlIHBvc3QtdGhl bWUtbG9hZCBwaGFzZS4NCiANCi1AaXRlbWl6ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtb3BlcmFu ZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0fQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtdml2 ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3R9DQotQGVuZCBpdGVtaXplDQorQHhyZWZ7 VG9nZ2xlIGJldHdlZW4gdGhlIHRoZW1lcyBvbiBkZW1hbmR9Lg0KIA0KLVVzZXJzIGNhbiBzcGVj aWZ5IGFuIGFzc29jaWF0aW9uIGxpc3QgdGhhdCBtYXBzIHRoZSBuYW1lcyBvZiBjb2xvcg0KLXZh cmlhYmxlcyB0byBoZXhhZGVjaW1hbCBSR0IgdmFsdWVzIChpbiB0aGUgZm9ybSBvZiBAc2FtcHsj UlJHR0JCfSkuICBUaGlzDQotbWVhbnMgdGhhdCBpdCBpcyBwb3NzaWJsZSB0byBvdmVycmlkZSB0 aGUgZW50aXJlIHBhbGV0dGUgb3Igc3Vic2V0cw0KLXRoZXJlb2YgKHNlZSB0aGUgc291cmNlIGNv ZGUgZm9yIHRoZSBhY3R1YWwgbmFtZXMgYW5kIHZhbHVlcykuDQorQHhyZWZ7Q29uZmlndXJlIG9w dGlvbnMgcHJpb3IgdG8gbG9hZGluZ30uDQogDQotRXhhbXBsZToNCitOb3cgYXNzdW1lIHlvdSB3 aXNoIHRvIGNoYW5nZSBhIHNpbmdsZSBmYWNlLCBzYXksIHRoZSBAc2FtcHtjdXJzb3J9LiAgQW5k IHlvdQ0KK3dvdWxkIGxpa2UgdG8gZ2V0IHRoZSBzdGFuZGFyZCBgYGJsdWUnJyBjb2xvciB2YWx1 ZSBvZiB0aGUgYWN0aXZlIE1vZHVzDQordGhlbWUsIHdoZXRoZXIgaXQgaXMgTW9kdXMgT3BlcmFu ZGkgb3IgTW9kdXMgVml2ZW5kaS4gIFRvIGRvIHRoYXQsIHlvdQ0KK2NhbiB1c2UgdGhlIEBzYW1w e21vZHVzLXRoZW1lcy1jb2xvcn0gZnVuY3Rpb24uICBJdCBhY2NlcHRzIGEgc3ltYm9sIHRoYXQg aXMNCithc3NvY2lhdGVkIHdpdGggYSBjb2xvciBpbiBAc2FtcHttb2R1cy10aGVtZXMtY29sb3Jz LW9wZXJhbmRpfSBhbmQNCitAc2FtcHttb2R1cy10aGVtZXMtY29sb3JzLXZpdmVuZGl9LiAgTGlr ZSB0aGlzOg0KIA0KIEBsaXNwDQotOzsgUmVkZWZpbmUgdGhlIHZhbHVlcyBvZiB0aG9zZSB0aHJl ZSB2YXJpYWJsZXMgZm9yIHRoZSBnaXZlbiB0aGVtZQ0KLShzZXRxIG1vZHVzLXZpdmVuZGktdGhl bWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0DQotICAgICAgJygoIm1hZ2VudGEiIC4gIiNmZmFhYmIi KQ0KLSAgICAgICAgKCJtYWdlbnRhLWFsdCIgLiAiI2VlODhmZiIpDQotICAgICAgICAoIm1hZ2Vu dGEtYWx0LW90aGVyIiAuICIjYmJhYWZmIikpKQ0KKyhtb2R1cy10aGVtZXMtY29sb3IgJ2JsdWUp DQogQGVuZCBsaXNwDQogDQotSWYgeW91IHdhbnQgdG8gYmUgY3JlYXRpdmUsIHlvdSBjYW4gZGVm aW5lIGEgbWlub3IgbW9kZSB0aGF0IHJlZmFzaGlvbnMNCi10aGUgdGhlbWVzIG9uIGRlbWFuZC4g IFRoZSBmb2xsb3dpbmcgaXMgYSBtaW5vciBtb2RlIHRoYXQgZ2V0cyBhY3RpdmF0ZWQNCi1vbiBk ZW1hbmQuICBXZSBjb21iaW5lIGl0IHdpdGggdGhlIGZ1bmN0aW9uIHRvIHN3aXRjaCBiZXR3ZWVu IE1vZHVzDQotT3BlcmFuZGkgYW5kIE1vZHVzIFZpdmVuZGkgKEBweHJlZntUb2dnbGUgYmV0d2Vl biB0aGUgdGhlbWVzIG9uIGRlbWFuZH0sIGZvcg0KLWEgYmFzaWMgY29tbWFuZCwgYW5kL29yIEBw eHJlZntDb25maWd1cmUgb3B0aW9ucyBwcmlvciB0byBsb2FkaW5nfSwgZm9yIGEgbW9yZQ0KLWNv bXByZWhlbnNpdmUgc2V0dXApLg0KK1RoZSBmdW5jdGlvbiBhbHdheXMgZXh0cmFjdHMgdGhlIGNv bG9yIHZhbHVlIG9mIHRoZSBhY3RpdmUgTW9kdXMgdGhlbWUuDQogDQogQGxpc3ANCi0oZGVmaW5l LW1pbm9yLW1vZGUgbW9kdXMtdGhlbWVzLWFsdC1tb2RlDQotICAiT3ZlcnJpZGUgTW9kdXMgdGhl bWVzJyBwYWxldHRlIHZhcmlhYmxlcyB3aXRoIGN1c3RvbSB2YWx1ZXMuDQotDQotVGhpcyBpcyBp bnRlbmRlZCBhcyBhIHByb29mLW9mLWNvbmNlcHQuICBJdCBpcywgbm9uZXRoZWxlc3MsIGENCi1w ZXJmZWN0bHkgYWNjZXNzaWJsZSBhbHRlcm5hdGl2ZSwgY29uZm9ybWluZyB3aXRoIHRoZSBkZXNp Z24NCi1wcmluY2lwbGVzIG9mIHRoZSBNb2R1cyB0aGVtZXMuICBJdCBzdGlsbCBpcyBub3QgYXMg Z29vZCBhcyB0aGUNCi1kZWZhdWx0IGNvbG9ycy4iDQotICA6aW5pdC12YWx1ZSBuaWwNCi0gIDpn bG9iYWwgdA0KLSAgKGlmIG1vZHVzLXRoZW1lcy1hbHQtbW9kZQ0KLSAgICAgIChzZXRxIG1vZHVz LW9wZXJhbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdA0KLSAgICAgICAgICAgICcoKCJi Zy1tYWluIiAuICIjZmVmY2Y0IikNCi0gICAgICAgICAgICAgICgiYmctZGltIiAuICIjZmFmNmVm IikNCi0gICAgICAgICAgICAgICgiYmctYWx0IiAuICIjZjdlZmU1IikNCi0gICAgICAgICAgICAg ICgiYmctaGwtbGluZSIgLiAiI2Y0ZjBlMyIpDQotICAgICAgICAgICAgICAoImJnLWFjdGl2ZSIg LiAiI2U4ZGZkMSIpDQotICAgICAgICAgICAgICAoImJnLWluYWN0aXZlIiAuICIjZjZlY2U1IikN Ci0gICAgICAgICAgICAgICgiYmctcmVnaW9uIiAuICIjYzZiYWIxIikNCi0gICAgICAgICAgICAg ICgiYmctaGVhZGVyIiAuICIjZWRlM2UwIikNCi0gICAgICAgICAgICAgICgiYmctdGFiLWJhciIg LiAiI2RjZDNkMyIpDQotICAgICAgICAgICAgICAoImJnLXRhYi1hY3RpdmUiIC4gIiNmZGY2ZWIi KQ0KLSAgICAgICAgICAgICAgKCJiZy10YWItaW5hY3RpdmUiIC4gIiNjOGJhYjgiKQ0KLSAgICAg ICAgICAgICAgKCJmZy11bmZvY3VzZWQiIC4gIiM1NTU1NmYiKSkNCi0gICAgICAgICAgICBtb2R1 cy12aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdA0KLSAgICAgICAgICAgICcoKCJi Zy1tYWluIiAuICIjMTAwYjE3IikNCi0gICAgICAgICAgICAgICgiYmctZGltIiAuICIjMTYxMTI5 IikNCi0gICAgICAgICAgICAgICgiYmctYWx0IiAuICIjMTgxNzMyIikNCi0gICAgICAgICAgICAg ICgiYmctaGwtbGluZSIgLiAiIzE5MTYyOCIpDQotICAgICAgICAgICAgICAoImJnLWFjdGl2ZSIg LiAiIzI4MmU0NiIpDQotICAgICAgICAgICAgICAoImJnLWluYWN0aXZlIiAuICIjMWExZTM5IikN Ci0gICAgICAgICAgICAgICgiYmctcmVnaW9uIiAuICIjMzkzYTUzIikNCi0gICAgICAgICAgICAg ICgiYmctaGVhZGVyIiAuICIjMjAyMDM3IikNCi0gICAgICAgICAgICAgICgiYmctdGFiLWJhciIg LiAiIzI2MmI0MSIpDQotICAgICAgICAgICAgICAoImJnLXRhYi1hY3RpdmUiIC4gIiMxMjBmMTgi KQ0KLSAgICAgICAgICAgICAgKCJiZy10YWItaW5hY3RpdmUiIC4gIiMzYTNhNWEiKQ0KLSAgICAg ICAgICAgICAgKCJmZy11bmZvY3VzZWQiIC4gIiM5YTlhYWIiKSkpDQotICAgIChzZXRxIG1vZHVz LW9wZXJhbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdCBuaWwNCi0gICAgICAgICAgbW9k dXMtdml2ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QgbmlsKSkpDQotDQotKGRlZnVu IG1vZHVzLXRoZW1lcy10b2dnbGUgKCZvcHRpb25hbCBhcmcpDQotICAiVG9nZ2xlIGJldHdlZW4g YG1vZHVzLW9wZXJhbmRpJyBhbmQgYG1vZHVzLXZpdmVuZGknIHRoZW1lcy4NCi0NCi1XaXRoIG9w dGlvbmFsIFxcW3VuaXZlcnNhbC1hcmd1bWVudF0gcHJlZml4LCBlbmFibGUNCi1gbW9kdXMtdGhl bWVzLWFsdC1tb2RlJyBmb3IgdGhlIGxvYWRlZCB0aGVtZS4iDQotICAoaW50ZXJhY3RpdmUgIlAi KQ0KLSAgKGlmIGFyZw0KLSAgICAgIChtb2R1cy10aGVtZXMtYWx0LW1vZGUgMSkNCi0gICAgKG1v ZHVzLXRoZW1lcy1hbHQtbW9kZSAtMSkpDQotICAoaWYgKGVxIChjYXIgY3VzdG9tLWVuYWJsZWQt dGhlbWVzKSAnbW9kdXMtb3BlcmFuZGkpDQotICAgICAgKHByb2duDQotICAgICAgICAoZGlzYWJs ZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpDQotICAgICAgICAobG9hZC10aGVtZSAnbW9kdXMtdml2 ZW5kaSB0KSkNCi0gICAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpDQotICAgIChsb2Fk LXRoZW1lICdtb2R1cy1vcGVyYW5kaSB0KSkpDQorKHByb2duDQorICAobG9hZC10aGVtZSAnbW9k dXMtb3BlcmFuZGkgdCkNCisgIChtb2R1cy10aGVtZXMtY29sb3IgJ2JsdWUpKSAgICAgICAgICAg OyAiIzAwMzFhOSIgZm9yIGBtb2R1cy1vcGVyYW5kaScNCisNCisocHJvZ24NCisgIChsb2FkLXRo ZW1lICdtb2R1cy12aXZlbmRpIHQpDQorICAobW9kdXMtdGhlbWVzLWNvbG9yICdibHVlKSkgICAg ICAgICAgIDsgIiMyZmFmZmYiIGZvciBgbW9kdXMtdml2ZW5kaScNCitAZW5kIGxpc3ANCisNCitE byBAc2FtcHtDLWggdn0gb24gdGhlIGFmb3JlbWVudGlvbmVkIHZhcmlhYmxlcyB0byBjaGVjayBh bGwgdGhlIGF2YWlsYWJsZQ0KK3N5bWJvbHMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIHRoaXMgZnVu Y3Rpb24uDQorDQorV2l0aCB0aGF0IGdyYW50ZWQsIGxldCB1cyBleHBhbmQgdGhlIGV4YW1wbGUg dG8gYWN0dWFsbHkgY2hhbmdlIHRoZQ0KK0BzYW1we2N1cnNvcn0gZmFjZSdzIGJhY2tncm91bmQg cHJvcGVydHkuICBXZSBlbXBsb3kgdGhlIGJ1aWx0LWluIGZ1bmN0aW9uIG9mDQorQHNhbXB7c2V0 LWZhY2UtYXR0cmlidXRlfToNCisNCitAbGlzcA0KKyhzZXQtZmFjZS1hdHRyaWJ1dGUgJ2N1cnNv ciBuaWwgOmJhY2tncm91bmQgKG1vZHVzLXRoZW1lcy1jb2xvciAnYmx1ZSkpDQorQGVuZCBsaXNw DQorDQorSWYgeW91IGV2YWx1YXRlIHRoaXMgZm9ybSwgeW91ciBjdXJzb3Igd2lsbCBiZWNvbWUg Ymx1ZS4gIEJ1dCBpZiB5b3UNCitjaGFuZ2UgdGhlbWVzLCBzdWNoIGFzIHdpdGggQHNhbXB7bW9k dXMtdGhlbWVzLXRvZ2dsZX0sIHlvdXIgZWRpdHMgd2lsbCBiZQ0KK2xvc3QsIGJlY2F1c2UgdGhl IG5ld2x5IGxvYWRlZCB0aGVtZSB3aWxsIG92ZXJyaWRlIHRoZSBAc2FtcHs6YmFja2dyb3VuZH0N CithdHRyaWJ1dGUgeW91IGhhZCBhc3NpZ25lZCB0byB0aGF0IGZhY2UuDQorDQorRm9yIHN1Y2gg Y2hhbmdlcyB0byBwZXJzaXN0LCB3ZSBuZWVkIHRvIG1ha2UgdGhlbSBhZnRlciBsb2FkaW5nIHRo ZQ0KK3RoZW1lLiAgU28gd2UgcmVseSBvbiBAc2FtcHttb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10 aGVtZS1ob29rfSwgd2hpY2ggZ2V0cw0KK2NhbGxlZCBmcm9tIEBzYW1we21vZHVzLXRoZW1lcy1s b2FkLW9wZXJhbmRpfSwgQHNhbXB7bW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaX0sIGFzDQord2Vs bCBhcyB0aGUgY29tbWFuZCBAc2FtcHttb2R1cy10aGVtZXMtdG9nZ2xlfS4gIEhlcmUgaXMgYSBz YW1wbGUgZnVuY3Rpb24gdGhhdA0KK3R3ZWFrcyB0d28gZmFjZXMgYW5kIHRoZW4gZ2V0cyBhZGRl ZCB0byB0aGUgaG9vazoNCisNCitAbGlzcA0KKyhkZWZ1biBteS1tb2R1cy10aGVtZXMtY3VzdG9t LWZhY2VzICgpDQorICAoc2V0LWZhY2UtYXR0cmlidXRlICdjdXJzb3IgbmlsIDpiYWNrZ3JvdW5k IChtb2R1cy10aGVtZXMtY29sb3IgJ2JsdWUpKQ0KKyAgKHNldC1mYWNlLWF0dHJpYnV0ZSAnZm9u dC1sb2NrLXR5cGUtZmFjZSBuaWwgOmZvcmVncm91bmQgKG1vZHVzLXRoZW1lcy1jb2xvciAnbWFn ZW50YS1hbHQpKSkNCisNCisoYWRkLWhvb2sgJ21vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1l LWhvb2sgIydteS1tb2R1cy10aGVtZXMtY3VzdG9tLWZhY2VzKQ0KK0BlbmQgbGlzcA0KKw0KK1Vz aW5nIHRoaXMgcHJpbmNpcGxlLCBpdCBpcyBwb3NzaWJsZSB0byBvdmVycmlkZSB0aGUgc3R5bGVz IG9mIGZhY2VzDQord2l0aG91dCBoYXZpbmcgdG8gZmluZCBjb2xvciB2YWx1ZXMgZm9yIGVhY2gg Y2FzZS4NCisNCitBbm90aGVyIGFwcGxpY2F0aW9uIGlzIHRvIGNvbnRyb2wgdGhlIHByZWNpc2Ug d2VpZ2h0IGZvciBib2xkDQorY29uc3RydWN0cy4gIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1 bCBpZiB5b3VyIHR5cGVmYWNlIGhhcyBzZXZlcmFsDQordmFyaWFudHMgc3VjaCBhcyBgYGhlYXZ5 JycsIGBgZXh0cmFib2xkJycsIGBgc2VtaWJvbGQnJy4gIEFsbCB5b3UgaGF2ZSB0byBkbw0KK2lz IGVkaXQgdGhlIEBzYW1we2JvbGR9IGZhY2UuICBGb3IgZXhhbXBsZToNCisNCitAbGlzcA0KKyhz ZXQtZmFjZS1hdHRyaWJ1dGUgJ2JvbGQgbmlsIDp3ZWlnaHQgJ3NlbWlib2xkKQ0KK0BlbmQgbGlz cA0KKw0KK1JlbWVtYmVyIHRvIHVzZSB0aGUgY3VzdG9tIGZ1bmN0aW9uIGFuZCBob29rIGNvbWJv IHdlIGRlbW9uc3RyYXRlZA0KK2Fib3ZlLiAgQmVjYXVzZSB0aGUgdGhlbWVzIGRvIG5vdCBoYXJk LXdpcmUgYSBzcGVjaWZpYyB3ZWlnaHQsIHRoaXMNCitzaW1wbGUgZm9ybSBpcyBlbm91Z2ggdG8g Y2hhbmdlIHRoZSB3ZWlnaHQgb2YgYWxsIGJvbGQgY29uc3RydWN0cw0KK3Rocm91Z2hvdXQgdGhl IGludGVyZmFjZS4NCisNCitGaW5hbGx5LCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUgeW91IHdhbnQg dG8gdHdlYWsgY29sb3JzIHRob3VnaCB3aXNoIHRvDQorYXBwbHkgZGlmZmVyZW50IG9uZXMgdG8g ZWFjaCB0aGVtZSwgc2F5LCBhIGJsdWUgaHVlIGZvciBNb2R1cyBPcGVyYW5kaQ0KK2FuZCBhIHNo YWRlIG9mIHJlZCBmb3IgTW9kdXMgVml2ZW5kaS4gIFRvIHRoaXMgZW5kLCB3ZSBwcm92aWRlDQor QHNhbXB7bW9kdXMtdGhlbWVzLWNvbG9yLWFsdHN9IGFzIGEgY29udmVuaWVuY2UgZnVuY3Rpb24g dG8gc2F2ZSB5b3UgZnJvbSB0aGUNCit0cm91YmxlIG9mIHdyaXRpbmcgc2VwYXJhdGUgd3JhcHBl cnMgZm9yIGVhY2ggdGhlbWUuICBJdCBzdGlsbCByZXR1cm5zIGENCitzaW5nbGUgdmFsdWUgYnkg cXVlcnlpbmcgZWl0aGVyIG9mIEBzYW1we21vZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGl9IGFu ZA0KK0BzYW1we21vZHVzLXRoZW1lcy1jb2xvcnMtdml2ZW5kaX0sIG9ubHkgaGVyZSB5b3UgcGFz cyB0aGUgdHdvIGtleXMgeW91IHdhbnQsDQorZmlyc3QgZm9yIEBzYW1we21vZHVzLW9wZXJhbmRp fSB0aGVuIEBzYW1we21vZHVzLXZpdmVuZGl9Lg0KKw0KK1Rha2UgdGhlIHByZXZpb3VzIGV4YW1w bGUgd2l0aCB0aGUgQHNhbXB7Y3Vyc29yfSBmYWNlOg0KKw0KK0BsaXNwDQorOzsgQmx1ZSBmb3Ig YG1vZHVzLW9wZXJhbmRpJyBhbmQgcmVkIGZvciBgbW9kdXMtdml2ZW5kaScNCisoc2V0LWZhY2Ut YXR0cmlidXRlICdjdXJzb3IgbmlsIDpiYWNrZ3JvdW5kIChtb2R1cy10aGVtZXMtY29sb3ItYWx0 cyAnYmx1ZSAncmVkKSkNCiBAZW5kIGxpc3ANCiANCiBAcHJpbnRpbmRleCBjcA0KIA0KIEBub2Rl IEZvbnQgY29uZmlncyAoRElZKQ0KLUBzZWN0aW9uIEZvbnQgY29uZmlndXJhdGlvbnMgZm9yIE9y ZyAoYW5kIG90aGVycykNCitAc2VjdGlvbiBGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgYW5k IG90aGVycyAoRElZKQ0KKw0KK1RoZSB0aGVtZXMgYXJlIGRlc2lnbmVkIHRvIGNvcGUgd2VsbCB3 aXRoIG1peGVkIGZvbnQgY29uZmlndXJhdGlvbnMNCisoQHhyZWZ7Tm8gbWl4ZWQgZm9udHN9KS4N CiANCi1UaGUgdGhlbWVzIGFyZSBkZXNpZ25lZCB0byBjb3BlIHdlbGwgd2l0aCBtaXhlZCBmb250 IHNldHRpbmdzIChAcmVme05vIG1peGVkIGZvbnRzLCAsIE9wdGlvbg0KLWZvciBubyBmb250IG1p eGluZ30pLiAgQ3VycmVudGx5IHRoaXMgYXBwbGllcyB0byBAc2FtcHtvcmctbW9kZX0gYW5kDQot QHNhbXB7bWFya2Rvd24tbW9kZX0uDQorVGhpcyBtb3N0bHkgY29uY2VybnMgQHNhbXB7b3JnLW1v ZGV9IGFuZCBAc2FtcHttYXJrZG93bi1tb2RlfSwgdGhvdWdoIGV4cGVjdCB0byBmaW5kDQoraXQg ZWxzZXdoZXJlIGxpa2UgaW4gQHNhbXB7SW5mby1tb2RlfS4NCiANCiBJbiBwcmFjdGljZSBpdCBt ZWFucyB0aGF0IHRoZSB1c2VyIGNhbiBzYWZlbHkgb3B0IGZvciBhIG1vcmUNCiBwcm9zZS1mcmll bmRseSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlIGFzIHRoZWlyIGRlZmF1bHQsIHdo aWxlDQpAQCAtMTMxMSw4ICsxMzE5LDggQEAgdGhlIEBzYW1we3ZhcmlhYmxlLXBpdGNofSAocHJv cG9ydGlvbmFsIHNwYWNpbmcpIGFuZCBAc2FtcHtmaXhlZC1waXRjaH0gKG1vbm9zcGENCiBmYWNl cyByZXNwZWN0aXZlbHkuICBJdCBtYXkgYWxzbyBiZSBjb252ZW5pZW50IHRvIHNldCB5b3VyIG1h aW4gdHlwZWZhY2UNCiBieSBjb25maWd1cmluZyB0aGUgQHNhbXB7ZGVmYXVsdH0gZmFjZSB0aGUg c2FtZSB3YXkuDQogDQotUHV0IHNvbWV0aGluZyBsaWtlIHRoaXMgaW4geW91ciBpbml0aWFsaXph dGlvbiBmaWxlIChtYWtlIHN1cmUgdG8gcmVhZA0KLXRoZSBkb2N1bWVudGF0aW9uIG9mIEBzYW1w e3NldC1mYWNlLWF0dHJpYnV0ZX0sIHdpdGggQGtiZHtNLXggZGVzY3JpYmUtZnVuY3Rpb259KToN CitQdXQgc29tZXRoaW5nIGxpa2UgdGhpcyBpbiB5b3VyIGluaXRpYWxpemF0aW9uIGZpbGUgKGFs c28gY29uc2lkZXINCityZWFkaW5nIHRoZSBkb2Mgc3RyaW5nIG9mIEBzYW1we3NldC1mYWNlLWF0 dHJpYnV0ZX0pOg0KIA0KIEBsaXNwDQogOzsgTWFpbiB0eXBlZmFjZQ0KQEAgLTEzMjcsMjkgKzEz MzUsMTUgQEAgdGhlIGRvY3VtZW50YXRpb24gb2YgQHNhbXB7c2V0LWZhY2UtYXR0cmlidXRlfSwg d2l0aCBAa2Jke00teCBkZXNjcmliZS1mdW5jdGlvbn0NCiANCiBOb3RlIHRoZSBkaWZmZXJlbmNl cyBpbiB0aGUgQHNhbXB7OmhlaWdodH0gcHJvcGVydHkuICBUaGUgQHNhbXB7ZGVmYXVsdH0gZmFj ZSBtdXN0DQogc3BlY2lmeSBhbiBhYnNvbHV0ZSB2YWx1ZSwgd2hpY2ggaXMgdGhlIHBvaW50IHNp emUgw5cgMTAuICBTbyBpZiB5b3Ugd2FudA0KLXRvIHVzZSBhIGZvbnQgYXQgcG9pbnQgc2l6ZSBA c2FtcHsxMX0sIHlvdSBzZXQgdGhlIGhlaWdodCBhdCBAc2FtcHsxMTB9LkBmb290bm90ZXtAc2Ft cHs6aGVpZ2h0fQ0KK3RvIHVzZSBhIGZvbnQgYXQgcG9pbnQgc2l6ZSBAc2FtcHsxMX0sIHlvdSBz ZXQgdGhlIGhlaWdodCB0byBAc2FtcHsxMTB9LkBmb290bm90ZXtAc2FtcHs6aGVpZ2h0fQ0KIHZh bHVlcyBkbyBub3QgbmVlZCB0byBiZSByb3VuZGVkIHRvIG11bHRpcGxlcyBvZiB0ZW46IHRoZSBs aWtlcyBvZiBAc2FtcHsxMTV9DQogYXJlIHBlcmZlY3RseSB2YWxpZOKAlHNvbWUgdHlwZWZhY2Vz IHdpbGwgY2hhbmdlIHRvIGFjY291bnQgZm9yIHRob3NlDQogZmluZXIgaW5jcmVtZW50cy59ICBX aGVyZWFzIGV2ZXJ5IG90aGVyIGZhY2UgbXVzdCBoYXZlIGEgdmFsdWUgdGhhdCBpcw0KIHJlbGF0 aXZlIHRvIHRoZSBkZWZhdWx0LCByZXByZXNlbnRlZCBhcyBhIGZsb2F0aW5nIHBvaW50IChpZiB5 b3UgdXNlIGFuDQotaW50ZWdlciwgc2F5LCBAc2FtcHsxNX0gdGhlbiB0aGF0IG1lYW5zIGFuIGFi c29sdXRlIGhlaWdodCkuICBUaGlzIGlzIG9mDQotcGFyYW1vdW50IGltcG9ydGFudGFuY2U6IGl0 IGVuc3VyZXMgdGhhdCBhbGwgZm9udHMgY2FuIHNjYWxlIGdyYWNlZnVsbHkNCi13aGVuIHVzaW5n IHNvbWV0aGluZyBsaWtlIHRoZSBAc2FtcHt0ZXh0LXNjYWxlLWFkanVzdH0gY29tbWFuZCB3aGlj aCBvbmx5DQotb3BlcmF0ZXMgb24gdGhlIGJhc2UgZm9udCBzaXplIChpLmUuIHRoZSBAc2FtcHtk ZWZhdWx0fSBmYWNlJ3MgYWJzb2x1dGUNCi1oZWlnaHQpLg0KLQ0KLUFuIGFsdGVybmF0aXZlIHN5 bnRheCBmb3IgdGhlIEBzYW1we2RlZmF1bHR9IGZhY2UsIGlzIHRvIHBhc3MgYWxsIHR5cGVmYWNl DQotcGFyYW1ldGVycyBkaXJlY3RseSB0byBhIEBzYW1we2ZvbnR9IHByb3BlcnR5LkBmb290bm90 ZXtIYXMgdGhlIGJlbmVmaXQgb2YNCi1hY2NlcHRpbmcgQHNhbXB7Zm9udGNvbmZpZ30gcGFyYW1l dGVycyAoR05VL0xpbnV4KSwgc3VjaCBhcyBAc2FtcHsiRGVqYVZ1IFNhbnMNCi1Nb25vLTExOmhp bnRzdHlsZT1oaW50c2xpZ2h0OmF1dG9oaW50PWZhbHNlIn0uDQotQHVyZWZ7aHR0cHM6Ly93d3cu ZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL2ZvbnRjb25maWcvZm9udGNvbmZpZy11c2VyLmh0bWx9 fQ0KLU5vdGUgdGhhdCBoZXJlIHdlIHVzZSBhIHN0YW5kYXJkIHBvaW50IHNpemU6DQotDQotQGxp c3ANCi0oc2V0LWZhY2UtYXR0cmlidXRlICdkZWZhdWx0IG5pbCA6Zm9udCAiRGVqYVZ1IFNhbnMg TW9uby0xMSIpDQotQGVuZCBsaXNwDQotDQotQWdhaW4sIHJlbWVtYmVyIHRvIG9ubHkgZXZlciBz cGVjaWZ5IGFuIGFic29sdXRlIGhlaWdodCBmb3IgdGhlIEBzYW1we2RlZmF1bHR9Lg0KK2ludGVn ZXIsIHRoZW4gdGhhdCBtZWFucyBhbiBhYnNvbHV0ZSBoZWlnaHQpLiAgVGhpcyBpcyBvZiBwYXJh bW91bnQNCitpbXBvcnRhbmNlOiBpdCBlbnN1cmVzIHRoYXQgYWxsIGZvbnRzIGNhbiBzY2FsZSBn cmFjZWZ1bGx5IHdoZW4gdXNpbmcNCitzb21ldGhpbmcgbGlrZSB0aGUgQHNhbXB7dGV4dC1zY2Fs ZS1hZGp1c3R9IGNvbW1hbmQgd2hpY2ggb25seSBvcGVyYXRlcyBvbiB0aGUNCitiYXNlIGZvbnQg c2l6ZSAoaS5lLiB0aGUgQHNhbXB7ZGVmYXVsdH0gZmFjZSdzIGFic29sdXRlIGhlaWdodCkuDQog DQogQHByaW50aW5kZXggY3ANCiANCkBAIC0xMzYwLDE2ICsxMzU0LDE1IEBAIFVzZXJzIG9mIEBz YW1we29yZy1tb2RlfSBoYXZlIHRoZSBvcHRpb24gdG8gY29uZmlndXJlIHZhcmlvdXMga2V5d29y ZHMgYW5kDQogcHJpb3JpdHkgY29va2llcyB0byBiZXR0ZXIgbWF0Y2ggdGhlaXIgd29ya2Zsb3cu ICBVc2VyIG9wdGlvbnMgYXJlDQogQHNhbXB7b3JnLXRvZG8ta2V5d29yZC1mYWNlc30gYW5kIEBz YW1we29yZy1wcmlvcml0eS1mYWNlc30uDQogDQotQXMgdGhvc2UgYXJlIG1lYW50IHRvIGJlIGN1 c3RvbSBmYWNlcywgaXQgd291bGQgYmUgZnV0aWxlIHRvIGhhdmUgdGhlDQotdGhlbWVzIHRyeSB0 byBndWVzcyB3aGF0IGVhY2ggdXNlciB3b3VsZCB3YW50IHRvIHVzZSwgd2hpY2gga2V5d29yZHMg dG8NCi10YXJnZXQsIGFuZCBzbyBvbi4gIEluc3RlYWQsIHdlIGNhbiBwcm92aWRlIGd1aWRlbGlu ZXMgb24gaG93IHRvDQotY3VzdG9taXplIHRoaW5ncyB0byBvbmUncyBsaWtpbmcgd2l0aCB0aGUg aW50ZW50IG9mIHJldGFpbmluZyB0aGUNCi1vdmVyYWxsIGFlc3RoZXRpY3Mgb2YgdGhlIHRoZW1l Lg0KK0FzIHRob3NlIGFyZSBtZWFudCB0byBiZSBjdXN0b20gZmFjZXMsIGl0IGlzIGZ1dGlsZSB0 byBoYXZlIHRoZSB0aGVtZXMNCitndWVzcyB3aGF0IGVhY2ggdXNlciB3YW50cyB0byB1c2UsIHdo aWNoIGtleXdvcmRzIHRvIHRhcmdldCwgYW5kIHNvIG9uLg0KK0luc3RlYWQsIHdlIGNhbiBwcm92 aWRlIGd1aWRlbGluZXMgb24gaG93IHRvIGN1c3RvbWl6ZSB0aGluZ3MgdG8gb25lJ3MNCitsaWtp bmcgd2l0aCB0aGUgaW50ZW50IG9mIHJldGFpbmluZyB0aGUgb3ZlcmFsbCBhZXN0aGV0aWMgb2Yg dGhlIHRoZW1lcy4NCiANCiBQbGVhc2UgYmVhciBpbiBtaW5kIHRoYXQgdGhlIGVuZCByZXN1bHQg b2YgdGhvc2UgaXMgbm90IGNvbnRyb2xsZWQgYnkNCi10aGUgYWN0aXZlIHRoZW1lIGJ1dCBieSBo b3cgT3JnIG1hcHMgZmFjZXMgdG8gaXRzIGNvbnN0cnVjdHMuICBFZGl0aW5nDQotdGhvc2Ugd2hp bGUgQHNhbXB7b3JnLW1vZGV9IGlzIGFjdGl2ZSByZXF1aXJlcyBAa2Jke00teCBvcmctbW9kZS1y ZXN0YXJ0fSBmb3IgY2hhbmdlcw0KLXRvIHRha2UgZWZmZWN0Lg0KK3RoZSBhY3RpdmUgTW9kdXMg dGhlbWUgYnV0IGJ5IGhvdyBPcmcgbWFwcyBmYWNlcyB0byBpdHMgY29uc3RydWN0cy4NCitFZGl0 aW5nIHRob3NlIHdoaWxlIEBrYmR7b3JnLW1vZGV9IGlzIGFjdGl2ZSByZXF1aXJlcyBAa2Jke00t eCBvcmctbW9kZS1yZXN0YXJ0fSBmb3INCitjaGFuZ2VzIHRvIHRha2UgZWZmZWN0Lg0KIA0KIExl dCB1cyBhc3N1bWUgeW91IHdpc2ggdG8gdmlzdWFsbHkgZGlmZmVyZW50aWF0ZSB5b3VyIGtleXdv cmRzLiAgWW91DQogaGF2ZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KQEAgLTE0MDksNyArMTQwMiw3 IEBAIElmIHlvdSB3YW50IGJhY2sgdGhlIGRlZmF1bHRzLCB0cnkgc3BlY2lmeWluZyBqdXN0IHRo ZSBAc2FtcHtvcmctdG9kb30gZmFjZToNCiBXaGVuIHlvdSBpbmhlcml0IGZyb20gbXVsdGlwbGUg ZmFjZXMsIHlvdSBuZWVkIHRvIHF1b3RlIHRoZSBsaXN0IGFzDQogc2hvd24gZnVydGhlciBhYm92 ZS4gIFRoZSBvcmRlciBpcyBpbXBvcnRhbnQ6IHRoZSBsYXN0IGl0ZW0gaXMgYXBwbGllZA0KIG92 ZXIgdGhlIHByZXZpb3VzIG9uZXMuICBJZiB5b3UgZG8gbm90IHdhbnQgdG8gYmxlbmQgbXVsdGlw bGUgZmFjZXMsIHlvdQ0KLWRvIG5vdCBuZWVkIGEgcXVvdGVkIGxpc3QuICBBIHBhdHRlcm4gb2Yg QHNhbXB7a2V5d29yZCAuIGZhY2V9IHdvdWxkIHN1ZmZpY2UuDQorZG8gbm90IG5lZWQgYSBxdW90 ZWQgbGlzdC4gIEEgcGF0dGVybiBvZiBAc2FtcHtrZXl3b3JkIC4gZmFjZX0gd2lsbCBzdWZmaWNl Lg0KIA0KIEJvdGggYXBwcm9hY2hlcyBjYW4gYmUgdXNlZCBzaW11bHRhbmVvdXNseSwgYXMgaWxs dXN0cmF0ZWQgaW4gdGhpcw0KIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHByaW9yaXR5IGNvb2tpZXM6 DQpAQCAtMTQyNiw5ICsxNDE5LDg3IEBAIFRvIGZpbmQgYWxsIHRoZSBmYWNlcyB0aGF0IGFyZSBs b2FkZWQgaW4geW91ciBjdXJyZW50IEVtYWNzIHNlc3Npb24sIHVzZQ0KIHRoZSBuYW1lIG9mIGVh Y2ggb2YgdGhvc2UgT3JnIHZhcmlhYmxlcyBkZW1vbnN0cmF0ZWQgYWJvdmUuICBUaGVpcg0KIGRv Y3VtZW50YXRpb24gc3RyaW5ncyB3aWxsIG9mZmVyIHlvdSBmdXJ0aGVyIGd1aWRhbmNlLg0KIA0K LUZ1cnRoZXJtb3JlLCBjb25zaWRlciByZWFkaW5nIHRoZSBgYE5vdGVzIGZvciBhc3BpcmluZyBF bWFjcyB0aGVtZQ0KLWRldmVsb3BlcnMnJywgcHVibGlzaGVkIG9uIDIwMjAtMDgtMjggYnkgbWUg KFByb3Rlc2lsYW9zIFN0YXZyb3UpOg0KLUB1cmVme2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2Nv ZGVsb2cvMjAyMC0wOC0yOC1ub3Rlcy1lbWFjcy10aGVtZS1kZXZzL30uDQorUmVjYWxsIHRoYXQg dGhlIHRoZW1lcyBsZXQgeW91IHJldHJpZXZlIGEgY29sb3IgZnJvbSB0aGVpciBwYWxldHRlLiAg RG8NCitpdCBpZiB5b3UgcGxhbiB0byBjb250cm9sIGZhY2UgYXR0cmlidXRlcy4NCisNCitAeHJl ZntUd2VhayBmYWNlcyAoRElZKX0uDQorDQorQHhyZWZ7V0NBRyB0ZXN0IChESVkpfS4NCisNCitA cHJpbnRpbmRleCBjcA0KKw0KK0Bub2RlIFdDQUcgdGVzdCAoRElZKQ0KK0BzZWN0aW9uIENoZWNr IGNvbG9yIGNvbWJpbmF0aW9ucyAoRElZKQ0KKw0KK1RoZSB0aGVtZXMgcHJvdmlkZSB0aGUgZnVu Y3Rpb25zIEBzYW1we21vZHVzLXRoZW1lcy13Y2FnLWZvcm11bGF9IGFuZA0KK0BzYW1we21vZHVz LXRoZW1lcy1jb250cmFzdH0uICBUaGUgZm9ybWVyIGlzIGEgZGlyZWN0IGltcGxlbWVudGF0aW9u IG9mIHRoZQ0KK1dDQUcgZm9ybXVsYTogQHVyZWZ7aHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcy MC1URUNIUy9HMTguaHRtbH0uICBJdCBnaXZlcw0KK3lvdSB0aGUgcmVsYXRpdmUgbHVtaW5hbmNl IG9mIGEgY29sb3IgdmFsdWUgdGhhdCBpcyBleHByZXNzZWQgaW4NCitoZXhhZGVjaW1hbCBSR0Ig bm90YXRpb24uICBXaGlsZSB0aGUgbGF0dGVyIGZ1bmN0aW9uIGlzIGp1c3QgYQ0KK2NvbnZlbmll bnQgd3JhcHBlciBmb3IgY29tcGFyaW5nIHRoZSBsdW1pbmFuY2Ugb2YgdHdvIGNvbG9ycy4NCisN CitJbiBwcmFjdGljZSwgeW91IG9ubHkgbGlrZWx5IG5lZWQgQHNhbXB7bW9kdXMtdGhlbWVzLWNv bnRyYXN0fS4gIEl0IGFjY2VwdHMgdHdvDQorY29sb3IgdmFsdWVzIGFuZCByZXR1cm5zIHRoZWly IGNvbnRyYXN0IHJhdGlvLiAgVmFsdWVzIHJhbmdlIGZyb20gMSB0bw0KKzIxIChsb3dlc3QgdG8g aGlnaGVzdCkuICBUaGUgdGhlbWVzIGFyZSBkZXNpZ25lZCB0byBhbHdheXMgYmUgZXF1YWwgb3IN CitoaWdoZXIgdGhhbiA3IGZvciBlYWNoIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQgYW5kIGZv cmVncm91bmQgdGhhdA0KK3RoZXkgdXNlICh0aGlzIGlzIHRoZSBXQ0FHIEFBQSBzdGFuZGFyZC0t LXRoZSBtb3N0IGRlbWFuZGluZyBvZiBpdHMNCitraW5kKS4NCisNCitBIGNvdXBsZSBvZiBleGFt cGxlcyAocm91bmRlZCBudW1iZXJzKToNCisNCitAbGlzcA0KKzs7IFB1cmUgd2hpdGUgd2l0aCBw dXJlIGdyZWVuDQorKG1vZHVzLXRoZW1lcy1jb250cmFzdCAiI2ZmZmZmZiIgIiMwMGZmMDAiKQ0K Kzs7ID0+IDEuMzcNCis7OyBUaGF0IGlzIGFuIG91dHJpZ2h0IGluYWNjZXNzaWJsZSBjb21ibw0K Kw0KKzs7IFB1cmUgYmxhY2sgd2l0aCBwdXJlIGdyZWVuDQorKG1vZHVzLXRoZW1lcy1jb250cmFz dCAiIzAwMDAwMCIgIiMwMGZmMDAiKQ0KKzs7ID0+IDE1LjMNCis7OyBUaGF0IGlzIGlzIGEgaGln aGx5IGFjY2Vzc2libGUgY29tYm8NCitAZW5kIGxpc3ANCisNCitJdCBkb2VzIG5vdCBtYXR0ZXIg d2hpY2ggY29sb3IgdmFsdWUgY29tZXMgZmlyc3QuICBUaGUgcmF0aW8gaXMgYWx3YXlzDQordGhl IHNhbWUuDQorDQorSWYgeW91IGRvIG5vdCB3aXNoIHRvIHJlYWQgYWxsIHRoZSBkZWNpbWFsIHBv aW50cywgeW91IGNhbiB0cnkgc29tZXRoaW5nDQorbGlrZSB0aGlzOg0KKw0KK0BsaXNwDQorKGZv cm1hdCAiJTAuMmYiIChtb2R1cy10aGVtZXMtY29udHJhc3QgIiMwMDAwMDAiICIjMDBmZjAwIikp DQorQGVuZCBsaXNwDQorDQorQmVhciBpbiBtaW5kIHRoYXQgdGhlIHRoZW1lcyBkZWZpbmUgYW4g ZXhwYW5kZWQgcGFsZXR0ZSBpbiBsYXJnZSBwYXJ0DQorYmVjYXVzZSBjZXJ0YWluIGNvbG9ycyBh cmUgb25seSBtZWFudCB0byBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGgNCitzb21lIG90aGVy cy4gIENvbnN1bHQgdGhlIHNvdXJjZSBjb2RlIGZvciByZWxldmFudCBjb21tZW50YXJ5LiAgQW5k IHVzZQ0KK3RoZSByZXNvdXJjZXMgd2UgY292ZXJlZCBpbiB0aGlzIHNlY3Rpb24gaW4gY2FzZSB5 b3UgcGxhbiB0byBkZXJpdmUgeW91cg0KK293biBjb2xvciBjb21iaW5hdGlvbnMuDQorDQorQHBy aW50aW5kZXggY3ANCisNCitAbm9kZSBMb2FkIGF0IHRpbWUgKERJWSkNCitAc2VjdGlvbiBMb2Fk IHRoZW1lIGRlcGVuZGluZyBvbiB0aW1lIG9mIGRheQ0KKw0KK1doaWxlIHdlIGRvIHByb3ZpZGUg QHNhbXB7bW9kdXMtdGhlbWVzLXRvZ2dsZX0gdG8gbWFudWFsbHkgc3dpdGNoIGJldHdlZW4gdGhl DQordGhlbWVzLCB1c2VycyBtYXkgYWxzbyBzZXQgdXAgdGhlaXIgc3lzdGVtIHRvIHBlcmZvcm0g c3VjaCBhIHRhc2sNCithdXRvbWF0aWNhbGx5IGF0IHN1bnJpc2UgYW5kIHN1bnNldC4NCisNCitU aGlzIGNhbiBiZSBhY2NvbXBsaXNoZWQgYnkgc3BlY2lmeWluZyB0aGUgY29vcmRpbmF0ZXMgb2Yg b25lJ3MgbG9jYXRpb24NCit1c2luZyB0aGUgYnVpbHQtaW4gQHNhbXB7c29sYXIuZWx9IGFuZCB0 aGVuIGNvbmZpZ3VyaW5nIHRoZSBAc2FtcHtjaXJjYWRpYW59IGxpYnJhcnk6DQorDQorQGxpc3AN CisodXNlLXBhY2thZ2Ugc29sYXIgICAgICAgICAgICAgICAgICAgICAgOyBidWlsdC1pbg0KKyAg OmNvbmZpZw0KKyAgKHNldHEgY2FsZW5kYXItbGF0aXR1ZGUgMzUuMTcNCisgICAgICAgIGNhbGVu ZGFyLWxvbmdpdHVkZSAzMy4zNikpDQorDQorKHVzZS1wYWNrYWdlIGNpcmNhZGlhbiAgICAgICAg ICAgICAgICAgIDsgeW91IG5lZWQgdG8gaW5zdGFsbCB0aGlzDQorICA6ZW5zdXJlDQorICA6YWZ0 ZXIgc29sYXINCisgIChzZXRxIGNpcmNhZGlhbi10aGVtZXMgJygoOnN1bnJpc2UgLiBtb2R1cy1v cGVyYW5kaSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoOnN1bnNldCAgLiBtb2R1cy12 aXZlbmRpKSkpDQorICAoY2lyY2FkaWFuLXNldHVwKSkNCitAZW5kIGxpc3ANCiANCiBAcHJpbnRp bmRleCBjcA0KIA0KQEAgLTE0MzcsMTQgKzE1MDgsMTMgQEAgZGV2ZWxvcGVycycnLCBwdWJsaXNo ZWQgb24gMjAyMC0wOC0yOCBieSBtZSAoUHJvdGVzaWxhb3MgU3RhdnJvdSk6DQogQG5vZGUgRmFj ZSBjb3ZlcmFnZQ0KIEBjaGFwdGVyIEZhY2UgY292ZXJhZ2UNCiANCi1Nb2R1cyBPcGVyYW5kaSBh bmQgTW9kdXMgVml2ZW5kaSB0cnkgdG8gcHJvdmlkZSBhcyBjbG9zZSB0byBmdWxsIGZhY2UNCi1j b3ZlcmFnZSBhcyBwb3NzaWJsZS4gIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBhIGNvbnNp c3RlbnRseQ0KLWFjY2Vzc2libGUgcmVhZGluZyBleHBlcmllbmNlIGFjcm9zcyBhbGwgcG9zc2li bGUgaW50ZXJmYWNlcy4NCitUaGUgTW9kdXMgdGhlbWVzIHRyeSB0byBwcm92aWRlIGFzIGNsb3Nl IHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcw0KK3Bvc3NpYmxlLiAgVGhpcyBpcyBuZWNlc3Nhcnkg dG8gZW5zdXJlIGEgY29uc2lzdGVudGx5IGFjY2Vzc2libGUgcmVhZGluZw0KK2V4cGVyaWVuY2Ug YWNyb3NzIGFsbCBhdmFpbGFibGUgaW50ZXJmYWNlcy4NCiANCiBAbWVudQ0KICogU3VwcG9ydGVk IHBhY2thZ2VzOjogICAgICAgICAgIEZ1bGwgbGlzdCBvZiBjb3ZlcmVkIGZhY2UgZ3JvdXBzDQot KiBDb3ZlcmVkIGluZGlyZWN0bHk6Og0KLSogV2lsbCBOT1QgYmUgc3VwcG9ydGVkOjoNCisqIElu ZGlyZWN0bHkgY292ZXJlZCBwYWNrYWdlczo6DQogQGVuZCBtZW51DQogDQogQG5vZGUgU3VwcG9y dGVkIHBhY2thZ2VzDQpAQCAtMTUxOSw2ICsxNTg5LDggQEAgY29tcGlsYXRpb24tbW9kZQ0KIEBp dGVtDQogY29tcGxldGlvbnMNCiBAaXRlbQ0KK2NvbnN1bHQNCitAaXRlbQ0KIGNvdW5zZWwqDQog QGl0ZW0NCiBjb3Vuc2VsLWNzcw0KQEAgLTE3NjksMTAgKzE4NDEsMTQgQEAgbHNwLW1vZGUNCiBA aXRlbQ0KIGxzcC11aQ0KIEBpdGVtDQorbWFjcm9zdGVwDQorQGl0ZW0NCiBtYWdpdA0KIEBpdGVt DQogbWFnaXQtaW1lcmdlDQogQGl0ZW0NCittYWtlLW1vZGUNCitAaXRlbQ0KIG1hbg0KIEBpdGVt DQogbWFya2Rvd24tbW9kZQ0KQEAgLTE4NTEsNiArMTkyNyw4IEBAIHBhcnJvdA0KIEBpdGVtDQog cGFzcw0KIEBpdGVtDQorcGRmLXRvb2xzDQorQGl0ZW0NCiBwZXJzcC1tb2RlDQogQGl0ZW0NCiBw ZXJzcGVjdGl2ZQ0KQEAgLTE4NjMsNiArMTk0MSw4IEBAIHBrZ2J1aWxkLW1vZGUNCiBAaXRlbQ0K IHBvbWlkb3INCiBAaXRlbQ0KK3BvcHVwDQorQGl0ZW0NCiBwb3dlcmxpbmUNCiBAaXRlbQ0KIHBv d2VybGluZS1ldmlsDQpAQCAtMTkwMyw4ICsxOTgzLDEyIEBAIHNoZWxsLXNjcmlwdC1tb2RlDQog QGl0ZW0NCiBzaG93LXBhcmVuLW1vZGUNCiBAaXRlbQ0KK3Nocg0KK0BpdGVtDQogc2lkZS1ub3Rl cw0KIEBpdGVtDQorc2lldmUtbW9kZQ0KK0BpdGVtDQogc2tld2VyLW1vZGUNCiBAaXRlbQ0KIHNt YXJ0LW1vZGUtbGluZQ0KQEAgLTE5NTksNyArMjA0Myw3IEBAIHVuZG8tdHJlZQ0KIEBpdGVtDQog dmMgKGJ1aWx0LWluIG1vZGUgbGluZSBzdGF0dXMgZm9yIHZlcnNpb24gY29udHJvbCkNCiBAaXRl bQ0KLXZjLWFubm90YXRlIChAa2Jke0MteCB2IGd9KQ0KK3ZjLWFubm90YXRlIChAc2FtcHtDLXgg diBnfSkNCiBAaXRlbQ0KIHZkaWZmDQogQGl0ZW0NCkBAIC0yMDA5LDE4ICsyMDkzLDI0IEBAIHp0 cmVlDQogUGx1cyBtYW55IG90aGVyIG1pc2NlbGxhbmVvdXMgZmFjZXMgdGhhdCBhcmUgcHJvdmlk ZWQgYnkgdGhlIHVwc3RyZWFtDQogR05VIEVtYWNzIGRpc3RyaWJ1dGlvbi4NCiANCi1Abm9kZSBD b3ZlcmVkIGluZGlyZWN0bHkNCi1Ac2VjdGlvbiBDb3ZlcmVkIGluZGlyZWN0bHkNCitAbm9kZSBJ bmRpcmVjdGx5IGNvdmVyZWQgcGFja2FnZXMNCitAc2VjdGlvbiBJbmRpcmVjdGx5IGNvdmVyZWQg cGFja2FnZXMNCiANCiBUaGVzZSBkbyBub3QgcmVxdWlyZSBhbnkgZXh0cmEgc3R5bGVzIGJlY2F1 c2UgdGhleSBhcmUgY29uZmlndXJlZCB0bw0KIGluaGVyaXQgZnJvbSBzb21lIGJhc2ljIGZhY2Vz LiAgUGxlYXNlIGNvbmZpcm0uDQogDQogQGl0ZW1pemUNCiBAaXRlbQ0KK2JiZGINCitAaXRlbQ0K IGVkaXQtaW5kaXJlY3QNCiBAaXRlbQ0KIGV2aWwtb3dsDQogQGl0ZW0NCitmb3J0cmFuLW1vZGUN CitAaXRlbQ0KK2kzd20tY29uZmlnLW1vZGUNCitAaXRlbQ0KIHBlcmwtbW9kZQ0KIEBpdGVtDQog cGhwLW1vZGUNCkBAIC0yMDMwLDE5ICsyMTIwLDYgQEAgcmpzeC1tb2RlDQogc3dpZnQtbW9kZQ0K IEBlbmQgaXRlbWl6ZQ0KIA0KLUBub2RlIFdpbGwgTk9UIGJlIHN1cHBvcnRlZA0KLUBzZWN0aW9u IFdpbGwgTk9UIGJlIHN1cHBvcnRlZA0KLQ0KLUkgaGF2ZSB0aHVzIGZhciBpZGVudGlmaWVkIGEg c2luZ2xlIHBhY2thZ2UgdGhhdCBkb2VzIGZpdCBpbnRvIHRoZQ0KLW92ZXJhcmNoaW5nIG9iamVj dGl2ZSBvZiB0aGlzIHByb2plY3Q6IEB1cmVme2h0dHBzOi8vZ2l0aHViLmNvbS9obGlzc25lci9l bWFjcy1zb2xhaXJlLW1vZGUsIHNvbGFpcmV9LiAgSXQgYmFzaWNhbGx5IHRyaWVzIHRvDQotY2Fz dCBhIGxlc3MgaW50ZW5zZSBiYWNrZ3JvdW5kIG9uIHRoZSBtYWluIGZpbGUtdmlzaXRpbmcgYnVm ZmVycywgc28NCi10aGF0IHNlY29uZGFyeSBlbGVtZW50cyBsaWtlIHNpZGViYXJzIGNhbiBoYXZl IHRoZSBkZWZhdWx0IChwdXJlDQotd2hpdGUvYmxhY2spIGJhY2tncm91bmQuDQotDQotSSB3aWxs IG9ubHkgY292ZXIgdGhpcyBwYWNrYWdlIGlmIGl0IGV2ZXIgc3VwcG9ydHMgdGhlIGludmVyc2Ug ZWZmZWN0Og0KLWxlc3MgaW50ZW5zZSBjb2xvcnMgKGJ1dCBzdGlsbCBhY2Nlc3NpYmxlKSBmb3Ig YW5jaWxsYXJ5IGludGVyZmFjZXMNCi1hbmQgdGhlIGludGVuZGVkIHN0eWxlcyBmb3IgdGhlIGNv bnRlbnQgeW91IGFyZSBhY3R1YWxseSB3b3JraW5nIG9uLg0KLQ0KIEBub2RlIE5vdGVzIGZvciBp bmRpdmlkdWFsIHBhY2thZ2VzDQogQGNoYXB0ZXIgTm90ZXMgZm9yIGluZGl2aWR1YWwgcGFja2Fn ZXMNCiANCkBAIC0yMDUzLDcgKzIxMzAsNyBAQCBpbmRpdmlkdWFsIHBhY2thZ2VzLg0KICogTm90 ZSBvbiBjb21wYW55LW1vZGUgb3ZlcmxheSBwb3AtdXA6Og0KICogTm90ZSBmb3IgRVJDIGVzY2Fw ZWQgY29sb3Igc2VxdWVuY2VzOjoNCiAqIE5vdGUgZm9yIHBvd2VybGluZSBvciBzcGFjZWxpbmU6 Og0KLSogTm90ZSBvbiBzaHIgY29sb3JzOjoNCisqIE5vdGUgb24gU0hSIGNvbG9yczo6DQogKiBO b3RlIGZvciBIZWxtIGdyZXA6Og0KICogTm90ZSBvbiB2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1v ZGU6Og0KIEBlbmQgbWVudQ0KQEAgLTIwNjcsNyArMjE0NCw3IEBAIHBsYWNlZCBhYm92ZSBhIHBp ZWNlIG9mIHRleHQgdGhhdCBoYXMgYSBkaWZmZXJlbnQgaGVpZ2h0IHRoYW4gdGhlDQogZGVmYXVs dC4NCiANCiBUaGUgc29sdXRpb24gcmVjb21tZW5kZWQgYnkgdGhlIHByb2plY3QncyBtYWludGFp bmVyIGlzIHRvIHVzZSBhbg0KLWFsdGVybmF0aXZlIGZyb250LWVuZCBmb3IgZHJhd2luZyB0aGUg cG9wLXVwIHdoaWNoIHVzZXMgY2hpbGQgZnJhbWVzDQorYWx0ZXJuYXRpdmUgZnJvbnQtZW5kIGZv ciBkcmF3aW5nIHRoZSBwb3AtdXAgd2hpY2ggZHJhd3MgY2hpbGQgZnJhbWVzDQogaW5zdGVhZCBv ZiBvdmVybGF5cy5AZm9vdG5vdGV7QHVyZWZ7aHR0cHM6Ly9naXRodWIuY29tL2NvbXBhbnktbW9k ZS9jb21wYW55LW1vZGUvaXNzdWVzLzEwMTB9fUBmb290bm90ZXtAdXJlZntodHRwczovL2dpdGh1 Yi5jb20vdHVtYXNodS9jb21wYW55LXBvc2ZyYW1lL319DQogDQogQG5vZGUgTm90ZSBmb3IgRVJD IGVzY2FwZWQgY29sb3Igc2VxdWVuY2VzDQpAQCAtMjA4NywxMCArMjE2NCwxMCBAQCBzZXBhcmF0 ZWQgYnkgYSBjb21tYS4gIExpa2UgdGhpcyBAc2FtcHteQzEsNn0uICBUaGUgbWluaW11bSBzZXR1 cCBpcyB0aGlzOg0KICAgICAgIGVyYy1pbnRlcnByZXQtbWlyYy1jb2xvciB0KQ0KIEBlbmQgbGlz cA0KIA0KLUFzIHRoaXMgYWxsb3dzIHVzZXJzIHRvIG1ha2UgYXJiaXRyYXJ5IGNvbWJpbmF0aW9u cywgaXQgaXMgaW1wb3NzaWJsZSB0bw0KLWd1YXJhbnRlZSBhIGNvbnNpc3RlbnRseSBoaWdoIGNv bnRyYXN0IHJhdGlvLiAgQWxsIHdlIGNhbiB3ZSBkbyBpcw0KLXByb3ZpZGUgZ3VpZGFuY2Ugb24g dGhlIGNvbWJpbmF0aW9ucyB0aGF0IHNhdGlzZnkgdGhlIGFjY2Vzc2liaWxpdHkNCi1zdGFuZGFy ZCBvZiB0aGUgdGhlbWVzOg0KK0FzIHRoaXMgYWxsb3dzIHVzZXJzIHRoZSBjaGFuY2UgdG8gbWFr ZSBhcmJpdHJhcnkgY29tYmluYXRpb25zLCBpdCBpcw0KK2ltcG9zc2libGUgdG8gZ3VhcmFudGVl IGEgY29uc2lzdGVudGx5IGhpZ2ggY29udHJhc3QgcmF0aW8uICBBbGwgd2UgY2FuDQord2UgZG8g aXMgcHJvdmlkZSBndWlkYW5jZSBvbiB0aGUgY29tYmluYXRpb25zIHRoYXQgc2F0aXNmeSB0aGUN CithY2Nlc3NpYmlsaXR5IHN0YW5kYXJkIG9mIHRoZSB0aGVtZXM6DQogDQogQHRhYmxlIEBhc2lz DQogQGl0ZW0gTW9kdXMgT3BlcmFuZGkNCkBAIC0yMTEyLDEyICsyMTg5LDEyIEBAIEJvdGggUG93 ZXJsaW5lIGFuZCBTcGFjZWxpbmUgcGFja2FnZSB1c2VycyB3aWxsIGxpa2VseSBuZWVkIHRvIHVz ZSB0aGUNCiBjb21tYW5kIEBzYW1we3Bvd2VybGluZS1yZXNldH0gd2hlbmV2ZXIgdGhleSBtYWtl IGNoYW5nZXMgdG8gdGhlaXIgdGhlbWVzDQogYW5kL29yIG1vZGVsaW5lIHNldHVwLg0KIA0KLUBu b2RlIE5vdGUgb24gc2hyIGNvbG9ycw0KLUBzZWN0aW9uIE5vdGUgb24gc2hyIGNvbG9ycw0KK0Bu b2RlIE5vdGUgb24gU0hSIGNvbG9ycw0KK0BzZWN0aW9uIE5vdGUgb24gU0hSIGNvbG9ycw0KIA0K LUVtYWNzJyBIVE1MIHJlbmRlcmluZyBtZWNoYW5pc20gKEBzYW1we3Nocn0pIG1heSBuZWVkIGV4 cGxpY2l0IGNvbmZpZ3VyYXRpb24gdG8NCi1yZXNwZWN0IHRoZSB0aGVtZSdzIGNvbG9ycyBpbnN0 ZWFkIG9mIHdoYXRldmVyIHNwZWNpZmljYXRpb25zIHRoZQ0KLXdlYnBhZ2UgcHJvdmlkZXMuICBD b25zdWx0IEBrYmR7Qy1oIHYgc2hyLXVzZS1jb2xvcnN9Lg0KK0VtYWNzJyBIVE1MIHJlbmRlcmlu ZyBsaWJyYXJ5IChAc2FtcHtzaHIuZWx9KSBtYXkgbmVlZCBleHBsaWNpdCBjb25maWd1cmF0aW9u DQordG8gcmVzcGVjdCB0aGUgdGhlbWUncyBjb2xvcnMgaW5zdGVhZCBvZiB3aGF0ZXZlciBzcGVj aWZpY2F0aW9ucyB0aGUNCit3ZWJwYWdlIHByb3ZpZGVzLiAgQ29uc3VsdCBAc2FtcHtDLWggdiBz aHItdXNlLWNvbG9yc30uDQogDQogQG5vZGUgTm90ZSBmb3IgSGVsbSBncmVwDQogQHNlY3Rpb24g Tm90ZSBmb3IgSGVsbSBncmVwDQpAQCAtMjEyOCw3ICsyMjA1LDcgQEAgbWF0Y2hlcyBvZiBhIGdy ZXAgb3IgZ3JlcC1saWtlIGNvbW1hbmQgKEBzYW1we2FnfSBvciBAc2FtcHtyaXBncmVwfSkuICBJ dCBpcw0KIG5vdCBwYXNzIEBzYW1wey0tY29sb3I9YWx3YXlzfSBhcyBhIGNvbW1hbmQtbGluZSBv cHRpb24gZm9yIHRoZWlyIGNvbW1hbmQuDQogDQogSGVyZSBpcyB0aGUgZG9jc3RyaW5nIGZvciB0 aGF0IGZhY2UsIHdoaWNoIGlzIGRlZmluZWQgaW4gdGhlDQotQHNhbXB7aGVsbS1ncmVwLmVsfSBs aWJyYXJ5ICh2aWV3IGEgbGlicmFyeSB3aXRoIEBzYW1we00teCBmaW5kLWxpYnJhcnl9KS4NCitA c2FtcHtoZWxtLWdyZXAuZWx9IGxpYnJhcnkgKHZpZXcgYSBsaWJyYXJ5IHdpdGggQGtiZHtNLXgg ZmluZC1saWJyYXJ5fSkuDQogDQogQHF1b3RhdGlvbg0KIEZhY2UgdXNlZCB0byBoaWdobGlnaHQg Z3JlcCBtYXRjaGVzLiAgSGF2ZSBubyBlZmZlY3Qgd2hlbiBncmVwIGJhY2tlbmQNCkBAIC0yMTUy LDcgKzIyMjksNyBAQCBBTlNJIGNvbG9yIG51bWJlciAxIChyZWQpIGZyb20gdGhlIGFscmVhZHkt c3VwcG9ydGVkIGFycmF5IG9mDQogQG5vZGUgTm90ZSBvbiB2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5k LW1vZGUNCiBAc2VjdGlvbiBOb3RlIG9uIHZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZQ0KIA0K LUR1ZSB0byB0aGUgdW5pcXVlIHdheSBAc2FtcHt2Yy1hbm5vdGF0ZX0gKEBrYmR7Qy14IHYgZ30p IGFwcGxpZXMgY29sb3JzLCBzdXBwb3J0IGZvcg0KK0R1ZSB0byB0aGUgdW5pcXVlIHdheSBAc2Ft cHt2Yy1hbm5vdGF0ZX0gKEBzYW1we0MteCB2IGd9KSBhcHBsaWVzIGNvbG9ycywgc3VwcG9ydCBm b3INCiBpdHMgYmFja2dyb3VuZCBtb2RlIChAc2FtcHt2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1v ZGV9KSBpcyBkaXNhYmxlZCBhdCB0aGUNCiB0aGVtZSBsZXZlbC4NCiANCkBAIC0yMTYzLDcgKzIy NDAsNyBAQCB3aGlsZSBzdGlsbCBzdXBwb3J0aW5nIGEgdXNlZnVsIGJ1aWx0LWluIHRvb2wuDQog DQogSWYgdGhlcmUgYWN0dWFsbHkgaXMgYSB3YXkgdG8gYXZvaWQgc3VjaCBhIGNvdXJzZSBvZiBh Y3Rpb24sIHdpdGhvdXQNCiBwcmVqdWRpY2UgdG8gdGhlIGFjY2Vzc2liaWxpdHkgc3RhbmRhcmQg b2YgdGhpcyBwcm9qZWN0LCB0aGVuIHBsZWFzZQ0KLXJlcG9ydCBhcyBtdWNoIG9yIHNlbmQgcGF0 Y2hlcyAoc2VlIEByZWZ7Q29udHJpYnV0aW5nfSkuDQorcmVwb3J0IGFzIG11Y2ggb3Igc2VuZCBw YXRjaGVzIChzZWUgQHhyZWZ7Q29udHJpYnV0aW5nfSkuDQogDQogQG5vZGUgQ29udHJpYnV0aW5n DQogQGNoYXB0ZXIgQ29udHJpYnV0aW5nDQpAQCAtMjE4Nyw3ICsyMjY0LDcgQEAgbmV4dCBkZXZl bG9wbWVudCByZWxlYXNlIHRhcmdldC4NCiBUaGUgc291cmNlIGNvZGUgb2YgdGhlIHRoZW1lcyBp cyBAdXJlZntodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzLywgYXZh aWxhYmxlIG9uIEdpdGxhYn0sIGZvciB0aGUgdGltZQ0KIGJlaW5nLiAgQSBAdXJlZntodHRwczov L2dpdGh1Yi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzLywgbWlycm9yIG9uIEdpdGh1Yn0g aXMgYWxzbyBvbiBvZmZlci4NCiANCi1BbiBIVE1MIHZlcnNpb24gb2YgdGhpcyBtYW51YWwgaXMg YXZhaWxhYmxlIGFzIGFuIGV4dGVuc2lvbiB0byB0aGUNCitBbiBIVE1MIHZlcnNpb24gb2YgdGhp cyBtYW51YWwgaXMgcHJvdmlkZWQgYXMgYW4gZXh0ZW5zaW9uIG9mIHRoZQ0KIEB1cmVme2h0dHBz Oi8vcHJvdGVzaWxhb3MuY29tL21vZHVzLXRoZW1lcy8sIGF1dGhvcidzIHBlcnNvbmFsIHdlYnNp dGV9IChkb2VzIG5vdCByZWx5IG9uIGFueSBub24tZnJlZSBjb2RlKS4NCiANCiBAbm9kZSBJc3N1 ZXMgeW91IGNhbiBoZWxwIHdpdGgNCkBAIC0yMjEyLDEwICsyMjg5LDEwIEBAIEhlbHAgZXhwYW5k IHRoaXMgZG9jdW1lbnQgb3IgYW55IG90aGVyIHBpZWNlIG9mIGRvY3VtZW50YXRpb24uDQogTWVy Z2UgcmVxdWVzdHMgZm9yIGNvZGUgcmVmaW5lbWVudHMuDQogQGVuZCBpdGVtaXplDQogDQotQHhy ZWZ7TWVyZ2UgcmVxdWVzdHMsICwgUGF0Y2hlcyByZXF1aXJlIGNvcHlyaWdodCBhc3NpZ25tZW50 IHRvIHRoZSBGU0Z9Lg0KK0B4cmVme01lcmdlIHJlcXVlc3RzfS4NCiANCi1JdCB3b3VsZCBiZSBn cmVhdCBpZiB5b3VyIGZlZWRiYWNrIGFsc28gaW5jbHVkZXMgc29tZSBzY3JlZW5zaG90cywgR0lG cywNCi1vciBzaG9ydCB2aWRlb3MsIGFzIHdlbGwgYXMgZnVydGhlciBpbnN0cnVjdGlvbnMgdG8g cmVwcm9kdWNlIGEgZ2l2ZW4NCitJdCBpcyBwcmVmZXJhYmxlIHRoYXQgeW91ciBmZWVkYmFjayBp bmNsdWRlcyBzb21lIHNjcmVlbnNob3RzLCBHSUZzLCBvcg0KK3Nob3J0IHZpZGVvcywgYXMgd2Vs bCBhcyBmdXJ0aGVyIGluc3RydWN0aW9ucyB0byByZXByb2R1Y2UgYSBnaXZlbg0KIHNldHVwLiAg VGhvdWdoIHRoaXMgaXMgbm90IGEgcmVxdWlyZW1lbnQuDQogDQogV2hhdGV2ZXIgeW91IGRvLCBi ZWFyIGluIG1pbmQgdGhlIG92ZXJhcmNoaW5nIG9iamVjdGl2ZSBvZiB0aGUgTW9kdXMNCkBAIC0y MjgzLDQ3ICsyMzYwLDUxIEBAIHlvdXIgY2hhbmdlcz8gIERvIHlvdSBhdHRlbmQgYSBzY2hvb2wg d2hpY2ggbWlnaHQgbWFrZSBzdWNoIGEgY2xhaW0/XQ0KIFtXaGljaCBmaWxlcyBoYXZlIHlvdSBj aGFuZ2VkIHNvIGZhciwgYW5kIHdoaWNoIG5ldyBmaWxlcyBoYXZlIHlvdSB3cml0dGVuDQogc28g ZmFyP10NCiANCi1DaGFuZ2VkIGEgY291cGxlIG9mIHRoZW1lcyB0aGF0IGFyZSBwYXJ0IG9mIHRo ZSBFbWFjcyBzb3VyY2UgY29kZToNCi0NCi0uL2V0Yy90aGVtZXMvbW9kdXMtb3BlcmFuZGktdGhl bWUuZWwNCi0uL2V0Yy90aGVtZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbA0KIEBlbmQgZXhhbXBs ZQ0KIA0KIEBub2RlIEFja25vd2xlZGdlbWVudHMNCiBAY2hhcHRlciBBY2tub3dsZWRnZW1lbnRz DQogDQotVGhlIE1vZHVzIHRoZW1lcyBhcmUgYSBjb2xsZWN0aXZlIGVmZm9ydC4gIEV2ZXJ5IGNv bnRyaWJ1dGlvbiBjb3VudHMuDQorVGhlIE1vZHVzIHRoZW1lcyBhcmUgYSBjb2xsZWN0aXZlIGVm Zm9ydC4gIEV2ZXJ5IGJpdCBvZiB3b3JrIG1hdHRlcnMuDQogDQogQHRhYmxlIEBhc2lzDQogQGl0 ZW0gQXV0aG9yL21haW50YWluZXINCiBQcm90ZXNpbGFvcyBTdGF2cm91Lg0KIA0KLUBpdGVtIENv ZGUgY29udHJpYnV0aW9ucw0KLUFuZGVycyBKb2hhbnNzb24sIEJhc2lsIExALiBDb250b3ZvdW5l c2lvcywNCi1NYXJrdXMgQmVwcGxlciwgTWF0dGhldyBTdGV2ZW5zb24uDQorQGl0ZW0gQ29udHJp YnV0aW9ucyB0byBjb2RlIG9yIGRvY3VtZW50YXRpb24NCitBbmRlcnMgSm9oYW5zc29uLCBCYXNp bA0KK0xALiBDb250b3ZvdW5lc2lvcywgRWxpIFphcmV0c2tpaSwgTWFkaGF2YW4gS3Jpc2huYW4s IE1hcmt1cyBCZXBwbGVyLA0KK01hdHRoZXcgU3RldmVuc29uLCBTaHJleWFzIFJhZ2F2YW4sIFN0 ZWZhbiBLYW5nYXMsIFZpbmNlbnQgTXVycGh5Lg0KIA0KIEBpdGVtIElkZWFzIGFuZCB1c2VyIGZl ZWRiYWNrDQogQWFyb24gSmVuc2VuLCBBZGFtIFNwaWVycywgQWxleCBHcmlmZmluLA0KLUFsZXgg UGVpdHNpbmlzLCBBbGV4ZXkgU2htYWxrbywgQW5kZXJzIEpvaGFuc3NvbiwgQW5kcsOpIEFsZXhh bmRyZQ0KLUdvbWVzLCBBcmlmIFJlemFpLCBCYXNpbCBMQC4gQ29udG92b3VuZXNpb3MsIERhbWll biBDYXNzb3UsIERhcmlvDQotR2pvcmdqZXZza2ksIERhdmlkIEVkbW9uZHNvbiwgRGF2b3IgUm90 aW0sIERpdmFuIFNhbnRhbmEsIEdlcnJ5DQotQWdib2JhZGEsIEdpYW5sdWNhIFJlY2NoaWEsIEly aXMgR2FyY2lhLCBMZW4gVHJpZ2csIE1hbnVlbCBVYmVydGksDQotTWFyayBCdXJ0b24sIE1hcmt1 cyBCZXBwbGVyLCBNaWNoYWVsIEdvbGRlbmJlcmcsIE11cmlsbyBQZXJlaXJhLA0KLU5pY29sYXMg RGUgSmFlZ2hlcmUsIFBpZXJyZSBUw6ljaG91ZXlyZXMsIFJvbWFuIFJ1ZGFrb3YsIFJ5YW4gUGhp bGxpcHMsDQotU2hyZXlhcyBSYWdhdmFuLCBUYXNzaWxvIEhvcm4sIFRoaWJhdXQgVmVycm9uLCBU cmV5IE1lcmtsZXksIFVyaQ0KLVNoYXJmLCBVdGthcnNoIFNpbmdoLCBWaW5jZW50IEZvbGV5LiAg QXMgd2VsbCBhcyB1c2VyczogQmVuLA0KLUZvdXJjaGF1eCwgRnJlZHJpaywgTW9lc2FzamksIE5p Y2ssIFRoZUJsb2I0MiwgZGlua28sIGRvb2xpbywgaml4aXVmLA0KLW9rYW1zbiwgdHljaG8gZ2Fy ZW4uDQorQWxleCBQZWl0c2luaXMsIEFsZXhleSBTaG1hbGtvLCBBbG9rIFNpbmdoLCBBbmRlcnMg Sm9oYW5zc29uLCBBbmRyw6kNCitBbGV4YW5kcmUgR29tZXMsIEFyaWYgUmV6YWksIEJhc2lsIExA LiBDb250b3ZvdW5lc2lvcywgRGFtaWVuIENhc3NvdSwNCitEYW5pZWwgTWVuZGxlciwgRGFyaW8g R2pvcmdqZXZza2ksIERhdmlkIEVkbW9uZHNvbiwgRGF2b3IgUm90aW0sIERpdmFuDQorU2FudGFu YSwgR2VycnkgQWdib2JhZGEsIEdpYW5sdWNhIFJlY2NoaWEsIEjDtnJtZXRqYW4gWWlsdGl6LCBJ bGphDQorS29ja2VuLCBJcmlzIEdhcmNpYSwgSmVyZW15IEZyaWVzZW4sIEpvaG4gSGFtYW4sIExl biBUcmlnZywgTWFudWVsDQorVWJlcnRpLCBNYXJrIEJ1cnRvbiwgTWFya3VzIEJlcHBsZXIsIE1p Y2hhZWwgR29sZGVuYmVyZywgTXVyaWxvDQorUGVyZWlyYSwgTmljb2xhcyBEZSBKYWVnaGVyZSwg UGF1bCBQb2xvc2tvdiwgUGV0ZSBLYXptaWVyLCBQaWVycmUNCitUw6ljaG91ZXlyZXMsIFJvbWFu IFJ1ZGFrb3YsIFJ5YW4gUGhpbGxpcHMsIFNocmV5YXMgUmFnYXZhbiwgU2ltb24NCitQdWduZXQs IFRhc3NpbG8gSG9ybiwgVGhpYmF1dCBWZXJyb24sIFRyZXkgTWVya2xleSwgVG9nYW4gTXVmdHVv Z2x1LA0KK1VyaSBTaGFyZiwgVXRrYXJzaCBTaW5naCwgVmluY2VudCBGb2xleS4gIEFzIHdlbGwg YXMgdXNlcnM6IEJlbiwgRW1hY3MNCitDb250cmliLCBFdWdlbmUsIEZvdXJjaGF1eCwgRnJlZHJp aywgTW9lc2FzamksIE5pY2ssIFRoZUJsb2I0MiwNCitiZXBvbHltYXRoZSwgZGlua28sIGRvb2xp bywgZmxlaW1ncnViZXIsIGlTZWVVLCBqaXhpdWYsIG9rYW1zbiwgdHljaG8NCitnYXJlbi4NCiAN CiBAaXRlbSBQYWNrYWdpbmcNCiBEaGF2YW4gVmFpZHlhIChEZWJpYW4pLCBTdGVmYW4gS2FuZ2Fz IChjb3JlIEVtYWNzKSwNCiBTdGVmYW4gTW9ubmllciAoR05VIEVscGEpLg0KIA0KIEBpdGVtIElu c3BpcmF0aW9uIGZvciBjZXJ0YWluIGZlYXR1cmVzDQotRmFicmljZSBOaWVzc2VuIChsZXV2ZW4t dGhlbWUpLA0KLUJvemhpZGFyIEJhdHNvdiAoemVuYnVybi10aGVtZSkuDQorQm96aGlkYXIgQmF0 c292ICh6ZW5idXJuLXRoZW1lKSwNCitGYWJyaWNlIE5pZXNzZW4gKGxldXZlbi10aGVtZSkuDQog QGVuZCB0YWJsZQ0KIA0KK1NwZWNpYWwgdGhhbmtzLCBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyLCB0 byBNYW51ZWwgVWJlcnRpIGFuZCBPbWFyDQorQW50b2zDrW4gQ2FtYXJlbmEgZm9yIHRoZWlyIGxv bmcgdGltZSBjb250cmlidXRpb25zIGFuZCBpbnNpZ2h0ZnVsDQorY29tbWVudGFyeS4NCisNCiBA bm9kZSBNZXRhDQogQGNoYXB0ZXIgTWV0YQ0KIA0KQEAgLTIzNDgsNyArMjQyOSw3IEBAIG9mIHRo aXMgc29ydCk6DQogQHVyZWZ7aHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vY29kZWxvZy8yMDIwLTA5 LTE0LW1vZHVzLXRoZW1lcy1yZXZpZXctYmx1ZXMvLCBNb2R1cyB0aGVtZXM6IHJldmlldyBvZiBi bHVlIGNvbG91cnN9ICgyMDIwLTA5LTE0KQ0KIEBlbmQgaXRlbWl6ZQ0KIA0KLUFuZCBoZXJlIGFy ZSB0aGUgY2Fub25pY2FsIHNvdXJjZXMgZm9yIHRoaXMgcHJvamVjdCdzIGRvY3VtZW50YXRpb246 DQorQW5kIGhlcmUgYXJlIHRoZSBjYW5vbmljYWwgc291cmNlcyBvZiB0aGlzIHByb2plY3QncyBk b2N1bWVudGF0aW9uOg0KIA0KIEB0YWJsZSBAYXNpcw0KIEBpdGVtIE1hbnVhbA0KQEAgLTI3ODEs MTkgKzI4NjIsMTkgQEAgcHVibGljIHdpa2kgdGhhdCBhbnlib2R5IGNhbiBlZGl0IGlzIGFuIGV4 YW1wbGUgb2Ygc3VjaCBhIHNlcnZlci4gIEENCiAiTWFzc2l2ZSBNdWx0aWF1dGhvciBDb2xsYWJv cmF0aW9uIiAob3IgIk1NQyIpIGNvbnRhaW5lZCBpbiB0aGUgc2l0ZQ0KIG1lYW5zIGFueSBzZXQg b2YgY29weXJpZ2h0YWJsZSB3b3JrcyB0aHVzIHB1Ymxpc2hlZCBvbiB0aGUgTU1DIHNpdGUuDQog DQotIkNDLUJZLVNBIiBtZWFucyB0aGUgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFy ZSBBbGlrZSAzLjANCi1saWNlbnNlIHB1Ymxpc2hlZCBieSBDcmVhdGl2ZSBDb21tb25zIENvcnBv cmF0aW9uLCBhIG5vdC1mb3ItcHJvZml0DQotY29ycG9yYXRpb24gd2l0aCBhIHByaW5jaXBhbCBw bGFjZSBvZiBidXNpbmVzcyBpbiBTYW4gRnJhbmNpc2NvLA0KLUNhbGlmb3JuaWEsIGFzIHdlbGwg YXMgZnV0dXJlIGNvcHlsZWZ0IHZlcnNpb25zIG9mIHRoYXQgbGljZW5zZQ0KKyJDQy1CWS1TQSIg bWVhbnMgdGhlIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmUgQWxpa2UgMy4wIA0K K2xpY2Vuc2UgcHVibGlzaGVkIGJ5IENyZWF0aXZlIENvbW1vbnMgQ29ycG9yYXRpb24sIGEgbm90 LWZvci1wcm9maXQgDQorY29ycG9yYXRpb24gd2l0aCBhIHByaW5jaXBhbCBwbGFjZSBvZiBidXNp bmVzcyBpbiBTYW4gRnJhbmNpc2NvLCANCitDYWxpZm9ybmlhLCBhcyB3ZWxsIGFzIGZ1dHVyZSBj b3B5bGVmdCB2ZXJzaW9ucyBvZiB0aGF0IGxpY2Vuc2UgDQogcHVibGlzaGVkIGJ5IHRoYXQgc2Ft ZSBvcmdhbml6YXRpb24uDQogDQotIkluY29ycG9yYXRlIiBtZWFucyB0byBwdWJsaXNoIG9yIHJl cHVibGlzaCBhIERvY3VtZW50LCBpbiB3aG9sZSBvciBpbg0KKyJJbmNvcnBvcmF0ZSIgbWVhbnMg dG8gcHVibGlzaCBvciByZXB1Ymxpc2ggYSBEb2N1bWVudCwgaW4gd2hvbGUgb3IgaW4gDQogcGFy dCwgYXMgcGFydCBvZiBhbm90aGVyIERvY3VtZW50Lg0KIA0KLUFuIE1NQyBpcyAiZWxpZ2libGUg Zm9yIHJlbGljZW5zaW5nIiBpZiBpdCBpcyBsaWNlbnNlZCB1bmRlciB0aGlzDQotTGljZW5zZSwg YW5kIGlmIGFsbCB3b3JrcyB0aGF0IHdlcmUgZmlyc3QgcHVibGlzaGVkIHVuZGVyIHRoaXMgTGlj ZW5zZQ0KLXNvbWV3aGVyZSBvdGhlciB0aGFuIHRoaXMgTU1DLCBhbmQgc3Vic2VxdWVudGx5IGlu Y29ycG9yYXRlZCBpbiB3aG9sZSBvcg0KLWluIHBhcnQgaW50byB0aGUgTU1DLCAoMSkgaGFkIG5v IGNvdmVyIHRleHRzIG9yIGludmFyaWFudCBzZWN0aW9ucywgYW5kDQorQW4gTU1DIGlzICJlbGln aWJsZSBmb3IgcmVsaWNlbnNpbmciIGlmIGl0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoaXMgDQorTGlj ZW5zZSwgYW5kIGlmIGFsbCB3b3JrcyB0aGF0IHdlcmUgZmlyc3QgcHVibGlzaGVkIHVuZGVyIHRo aXMgTGljZW5zZSANCitzb21ld2hlcmUgb3RoZXIgdGhhbiB0aGlzIE1NQywgYW5kIHN1YnNlcXVl bnRseSBpbmNvcnBvcmF0ZWQgaW4gd2hvbGUgb3IgDQoraW4gcGFydCBpbnRvIHRoZSBNTUMsICgx KSBoYWQgbm8gY292ZXIgdGV4dHMgb3IgaW52YXJpYW50IHNlY3Rpb25zLCBhbmQgDQogKDIpIHdl cmUgdGh1cyBpbmNvcnBvcmF0ZWQgcHJpb3IgdG8gTm92ZW1iZXIgMSwgMjAwOC4NCiANCiBUaGUg b3BlcmF0b3Igb2YgYW4gTU1DIFNpdGUgbWF5IHJlcHVibGlzaCBhbiBNTUMgY29udGFpbmVkIGlu IHRoZSBzaXRlDQpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVXUw0KaW5kZXggNTI1ZWQ4 YjM2ZS4uM2RiODdjZDZlNSAxMDA2NDQNCi0tLSBhL2V0Yy9ORVdTDQorKysgYi9ldGMvTkVXUw0K QEAgLTE2NzMsMTAgKzE2NzMsOSBAQCBJdCdzIGEgbGlicmFyeSB0byBjcmVhdGUsIHF1ZXJ5LCBu YXZpZ2F0ZSBhbmQgZGlzcGxheSBoaWVyYXJjaHkgc3RydWN0dXJlcy4NCiANCiAqKiBOZXcgdGhl bWVzICdtb2R1cy12aXZlbmRpJyBhbmQgJ21vZHVzLW9wZXJhbmRpJy4NCiBUaGVzZSB0aGVtZXMg YXJlIGRlc2lnbmVkIHRvIGNvbmZvcm0gd2l0aCB0aGUgaGlnaGVzdCBzdGFuZGFyZCBmb3INCi1j b2xvci1jb250cmFzdCBhY2Nlc3NpYmlsaXR5IChXQ0FHIEFBQSkuICBZb3UgY2FuIGxvYWQgZWl0 aGVyIG9mIHRoZW0NCi11c2luZyAnTS14IGN1c3RvbWl6ZS10aGVtZXMnIG9yICdsb2FkLXRoZW1l JyBmcm9tIHlvdXIgaW5pdCBmaWxlLg0KLUNvbnN1bHQgdGhlIE1vZHVzIFRoZW1lcyBJbmZvIG1h bnVhbCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgdXNlcg0KLW9wdGlvbnMgdGhleSBwcm92 aWRlLg0KK2NvbG9yLWNvbnRyYXN0IGFjY2Vzc2liaWxpdHkgKFdDQUcgQUFBKS4gIENvbnN1bHQg dGhlIE1vZHVzIFRoZW1lcw0KK0luZm8gbWFudWFsIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGhv dyB0byBlbmFibGUgYW5kIGxvYWQgdGhlbSwgYXMgd2UNCithbGwgYXMgaG93IHRvIGNvbmZpZ3Vy ZSB0aGUgdXNlciBvcHRpb25zIHRoZXkgcHJvdmlkZS4NCiANCiAMDQogKiBJbmNvbXBhdGlibGUg RWRpdGluZyBDaGFuZ2VzIGluIEVtYWNzIDI4LjENCmRpZmYgLS1naXQgYS9ldGMvdGhlbWVzL21v ZHVzLW9wZXJhbmRpLXRoZW1lLmVsIGIvZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5kaS10aGVtZS5l bA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBkYjYxYzk3Yjc2Li4wMDAwMDAwMDAw DQotLS0gYS9ldGMvdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsDQorKysgL2Rldi9udWxs DQpAQCAtMSw0NjY2ICswLDAgQEANCi07OzsgbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwgLS0tIEFj Y2Vzc2libGUgbGlnaHQgdGhlbWUgKFdDQUcgQUFBKSAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSot DQotDQotOzsgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuDQotDQotOzsgQXV0aG9yOiBQcm90ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHByb3Rlc2ls YW9zLmNvbT4NCi07OyBVUkw6IGh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10 aGVtZXMNCi07OyBWZXJzaW9uOiAwLjEzLjANCi07OyBQYWNrYWdlLVJlcXVpcmVzOiAoKGVtYWNz ICIyNi4xIikpDQotOzsgS2V5d29yZHM6IGZhY2VzLCB0aGVtZSwgYWNjZXNzaWJpbGl0eQ0KLQ0K LTs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4NCi0NCi07OyBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yDQotOzsgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkNCi07OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvcg0KLTs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uDQotOzsNCi07OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCi07OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KLTs7IE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCi07OyBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KLTs7DQotOzsgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UN Ci07OyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uDQotDQotOzs7IENvbW1lbnRhcnk6DQotOzsNCi07OyBUaGlzIHRo ZW1lIGlzIGRlc2lnbmVkIGZvciBjb2xvdXItY29udHJhc3QgYWNjZXNzaWJpbGl0eS4NCi07Ow0K LTs7IDEuIFByb3ZpZGUgYSBjb25zaXN0ZW50IG1pbmltdW0gY29udHJhc3QgcmF0aW8gYmV0d2Vl biBiYWNrZ3JvdW5kIGFuZA0KLTs7IGZvcmVncm91bmQgdmFsdWVzIG9mIDc6MSBvciBoaWdoZXIu ICBUaGlzIG1lZXRzIHRoZSBoaWdoZXN0IHN1Y2gNCi07OyBhY2Nlc3NpYmlsaXR5IGNyaXRlcmlv biBwZXIgdGhlIGd1aWRlbGluZXMgb2YgdGhlIFdvcmxkd2lkZSBXZWINCi07OyBDb25zb3J0aXVt J3MgV29ya2luZyBHcm91cCBvbiBBY2Nlc3NpYmlsaXR5IChXQ0FHIEFBQSBzdGFuZGFyZCkuDQot OzsNCi07OyAyLiBPZmZlciBhcyBjbG9zZSB0byBmdWxsIGZhY2UgY292ZXJhZ2UgYXMgcG9zc2li bGUuICBUaGUgbGlzdCBpcw0KLTs7IGFscmVhZHkgcXVpdGUgbG9uZyAoc2VlIGZ1cnRoZXIgYmVs b3cpLCB3aXRoIG1vcmUgYWRkaXRpb25zIHRvIGZvbGxvdw0KLTs7IGFzIHBhcnQgb2YgdGhlIG9u Z29pbmcgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4NCi07Ow0KLTs7IFRoZSB0aGVtZSBwcm92aWRlcyB0 aGUgZm9sbG93aW5nIGN1c3RvbWlzYXRpb24gb3B0aW9ucywgYWxsIG9mIHdoaWNoDQotOzsgYXJl IGRpc2FibGVkIGJ5IGRlZmF1bHQ6DQotOzsNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUt c2xhbnRlZC1jb25zdHJ1Y3RzICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy1v cGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQot OzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICAgICAg ICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMg ICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1o ZWFkaW5ncyAgICAgICAgICAgICAgICAgICAgICAgKGFsaXN0KQ0KLTs7ICAgICBtb2R1cy1vcGVy YW5kaS10aGVtZS1zY2FsZS1oZWFkaW5ncyAgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsg ICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZXMgICAgICAgICAgICAgICAgICAgICAgICAo Y2hvaWNlKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzICAgICAgICAg ICAgICAgICAgICAgKGNob2ljZSkNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0 cyAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLW9wZXJhbmRp LXRoZW1lLW1vZGUtbGluZSAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBt b2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNob2lj ZSkNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtZmFpbnQtc3ludGF4ICAgICAgICAgICAg ICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLWhs LWxpbmUgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWludGVuc2UtcGFyZW4tbWF0Y2ggICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9k dXMtb3BlcmFuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUgICAgICAgICAgICAgIChib29sZWFu KQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucyAgICAgICAgICAgICAg ICAgICAgKGNob2ljZSkNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUtY29s b3JzLWFsaXN0ICAgICAgICAgIChhbGlzdCkNCi07Ow0KLTs7IFRoZSBkZWZhdWx0IHNjYWxlIGlz IGFzIGZvbGxvd3MgKGl0IGNhbiBiZSBjdXN0b21pc2VkIGFzIHdlbGwpOg0KLTs7DQotOzsgICAg IG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEgMS4wNQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5k aS10aGVtZS1zY2FsZS0yIDEuMQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0z IDEuMTUNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCAxLjINCi07OyAgICAg bW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNSAxLjMNCi07Ow0KLTs7IFdoYXQgZm9sbG93cyBp cyB0aGUgbGlzdCBvZiBleHBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcyBvciBmYWNlDQotOzsg Z3JvdXBzICh0aGVyZSBhcmUgaW1wbGljaXRseSBzdXBwb3J0ZWQgcGFja2FnZXMgYXMgd2VsbCwg d2hpY2gNCi07OyBpbmhlcml0IGZyb20gZm9udC1sb2NrIG9yIHNvbWUgYmFzaWMgZ3JvdXApLiAg WW91IGFyZSBlbmNvdXJhZ2VkIHRvDQotOzsgbm90aWZ5IG1lIG9mIGFueSBtaXNzaW5nIHBhY2th Z2Ugb3IgY2hhbmdlIHlvdSB3b3VsZCBsaWtlIHRvIHNlZS4NCi07Ow0KLTs7ICAgICBhY2Utd2lu ZG93DQotOzsgICAgIGFnDQotOzsgICAgIGFsZXJ0DQotOzsgICAgIGFsbC10aGUtaWNvbnMNCi07 OyAgICAgYW5ub3RhdGUNCi07OyAgICAgYW56dQ0KLTs7ICAgICBhcHJvcG9zDQotOzsgICAgIGFw dC1zb3VyY2VzLWxpc3QNCi07OyAgICAgYXJ0Ym9sbG9ja3MtbW9kZQ0KLTs7ICAgICBhdWN0ZXgg YW5kIFRlWA0KLTs7ICAgICBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQotOzsgICAgIGF2eQ0KLTs7 ICAgICBhd2Vzb21lLXRyYXkNCi07OyAgICAgYmluZGVyDQotOzsgICAgIGJtDQotOzsgICAgIGJv bmdvDQotOzsgICAgIGJvb24NCi07OyAgICAgYnJlYWtwb2ludCAocHJvdmlkZWQgYnkgYnVpbHQt aW4gZ2RiLW1pLmVsKQ0KLTs7ICAgICBidWZmZXItZXhwb3NlDQotOzsgICAgIGNhbGVuZGFyIGFu ZCBkaWFyeQ0KLTs7ICAgICBjYWxmdw0KLTs7ICAgICBjZW50YXVyLXRhYnMNCi07OyAgICAgY2hh bmdlLWxvZyBhbmQgbG9nLXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1s b2cnKQ0KLTs7ICAgICBjaWRlcg0KLTs7ICAgICBjaXJjZQ0KLTs7ICAgICBjb2xvci1yZw0KLTs7 ICAgICBjb2x1bW4tZW5mb3JjZS1tb2RlDQotOzsgICAgIGNvbXBhbnktbW9kZQ0KLTs7ICAgICBj b21wYW55LXBvc2ZyYW1lDQotOzsgICAgIGNvbXBpbGF0aW9uLW1vZGUNCi07OyAgICAgY29tcGxl dGlvbnMNCi07OyAgICAgY291bnNlbA0KLTs7ICAgICBjb3Vuc2VsLWNzcw0KLTs7ICAgICBjb3Vu c2VsLW5vdG11Y2gNCi07OyAgICAgY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCi07OyAgICAg Y292DQotOzsgICAgIGNwZXJsLW1vZGUNCi07OyAgICAgY3N2LW1vZGUNCi07OyAgICAgY3RybGYN Ci07OyAgICAgY3VzdG9tIChNLXggY3VzdG9taXplKQ0KLTs7ICAgICBkYXAtbW9kZQ0KLTs7ICAg ICBkYXNoYm9hcmQgKGVtYWNzLWRhc2hib2FyZCkNCi07OyAgICAgZGVhZGdyZXANCi07OyAgICAg ZGViYnVncw0KLTs7ICAgICBkZWZpbmUtd29yZA0KLTs7ICAgICBkZWZ0DQotOzsgICAgIGRpY3Rp b25hcnkNCi07OyAgICAgZGlmZi1obA0KLTs7ICAgICBkaWZmLW1vZGUNCi07OyAgICAgZGltLWF1 dG9sb2FkDQotOzsgICAgIGRpci10cmVldmlldw0KLTs7ICAgICBkaXJlZA0KLTs7ICAgICBkaXJl ZC1hc3luYw0KLTs7ICAgICBkaXJlZC1naXQNCi07OyAgICAgZGlyZWQtZ2l0LWluZm8NCi07OyAg ICAgZGlyZWQtbmFycm93DQotOzsgICAgIGRpcmVkLXN1YnRyZWUNCi07OyAgICAgZGlyZWRmbA0K LTs7ICAgICBkaXNrLXVzYWdlDQotOzsgICAgIGRvb20tbW9kZWxpbmUNCi07OyAgICAgZHluYW1p Yy1ydWxlcg0KLTs7ICAgICBlYXN5LWpla3lsbA0KLTs7ICAgICBlYXN5LWtpbGwNCi07OyAgICAg ZWJkYg0KLTs7ICAgICBlZGlmZg0KLTs7ICAgICBlZ2xvdA0KLTs7ICAgICBlbC1zZWFyY2gNCi07 OyAgICAgZWxkb2MNCi07OyAgICAgZWxkb2MtYm94DQotOzsgICAgIGVsZmVlZA0KLTs7ICAgICBl bGZlZWQtc2NvcmUNCi07OyAgICAgZW1tcw0KLTs7ICAgICBlbmhhbmNlZC1ydWJ5LW1vZGUNCi07 OyAgICAgZXBhDQotOzsgICAgIGVxdWFrZQ0KLTs7ICAgICBlcmMNCi07OyAgICAgZXJvcw0KLTs7 ICAgICBlcnQNCi07OyAgICAgZXNoZWxsDQotOzsgICAgIGVzaGVsbC1mcmluZ2Utc3RhdHVzDQot OzsgICAgIGVzaGVsbC1naXQtcHJvbXB0DQotOzsgICAgIGVzaGVsbC1wcm9tcHQtZXh0cmFzIChl cGUpDQotOzsgICAgIGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQotOzsgICAgIGV2aWwgKGV2 aWwtbW9kZSkNCi07OyAgICAgZXZpbC1nb2dnbGVzDQotOzsgICAgIGV2aWwtdmlzdWFsLW1hcmst bW9kZQ0KLTs7ICAgICBld3cNCi07OyAgICAgZXllYnJvd3NlDQotOzsgICAgIGZhbmN5LWRhYmJy ZXYNCi07OyAgICAgZmx5Y2hlY2sNCi07OyAgICAgZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lDQot OzsgICAgIGZseWNoZWNrLWluZGljYXRvcg0KLTs7ICAgICBmbHljaGVjay1wb3NmcmFtZQ0KLTs7 ICAgICBmbHltYWtlDQotOzsgICAgIGZseXNwZWxsDQotOzsgICAgIGZseXNwZWxsLWNvcnJlY3QN Ci07OyAgICAgZmx4DQotOzsgICAgIGZyZWV6ZS1pdA0KLTs7ICAgICBmcm9nLW1lbnUNCi07OyAg ICAgZm9jdXMNCi07OyAgICAgZm9sZC10aGlzDQotOzsgICAgIGZvbnQtbG9jayAoZ2VuZXJpYyBz eW50YXggaGlnaGxpZ2h0aW5nKQ0KLTs7ICAgICBmb3JnZQ0KLTs7ICAgICBmb3VudGFpbiAoZm91 bnRhaW4tbW9kZSkNCi07OyAgICAgZ2Vpc2VyDQotOzsgICAgIGdpdC1jb21taXQNCi07OyAgICAg Z2l0LWd1dHRlciAoYW5kIHZhcmlhbnRzKQ0KLTs7ICAgICBnaXQtbGVucw0KLTs7ICAgICBnaXQt cmViYXNlDQotOzsgICAgIGdpdC10aW1lbWFjaGluZQ0KLTs7ICAgICBnaXQtd2Fsa3RyZWUNCi07 OyAgICAgZ251cw0KLTs7ICAgICBnb2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KLTs7ICAgICBo ZWxtDQotOzsgICAgIGhlbG0tbHMtZ2l0DQotOzsgICAgIGhlbG0tc3dpdGNoLXNoZWxsDQotOzsg ICAgIGhlbG0teHJlZg0KLTs7ICAgICBoZWxwZnVsDQotOzsgICAgIGhpZ2hsaWdodC1ibG9ja3MN Ci07OyAgICAgaGlnaGxpZ2h0LWRlZmluZWQNCi07OyAgICAgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1 ZW5jZXMgKGBoZXMtbW9kZScpDQotOzsgICAgIGhpZ2hsaWdodC1pbmRlbnRhdGlvbg0KLTs7ICAg ICBoaWdobGlnaHQtbnVtYmVycw0KLTs7ICAgICBoaWdobGlnaHQtc3ltYm9sDQotOzsgICAgIGhp Z2hsaWdodC10YWlsDQotOzsgICAgIGhpZ2hsaWdodC10aGluZw0KLTs7ICAgICBobC1kZWZpbmVk DQotOzsgICAgIGhsLWZpbGwtY29sdW1uDQotOzsgICAgIGhsLWxpbmUtbW9kZQ0KLTs7ICAgICBo bC10b2RvDQotOzsgICAgIGh5ZHJhDQotOzsgICAgIGh5cGVybGlzdA0KLTs7ICAgICBpYnVmZmVy DQotOzsgICAgIGljb21wbGV0ZQ0KLTs7ICAgICBpZG8tbW9kZQ0KLTs7ICAgICBpZWRpdA0KLTs7 ICAgICBpZmxpcGINCi07OyAgICAgaW1lbnUtbGlzdA0KLTs7ICAgICBpbmRpdW0NCi07OyAgICAg aW5mbw0KLTs7ICAgICBpbmZvLWNvbG9ycw0KLTs7ICAgICBpbnRlcmFjdGlvbi1sb2cNCi07OyAg ICAgaW9jY3VyDQotOzsgICAgIGlzZWFyY2gsIG9jY3VyLCBldGMuDQotOzsgICAgIGl2eQ0KLTs7 ICAgICBpdnktcG9zZnJhbWUNCi07OyAgICAgamlyYSAob3JnLWppcmEpDQotOzsgICAgIGpvdXJu YWxjdGwtbW9kZQ0KLTs7ICAgICBqczItbW9kZQ0KLTs7ICAgICBqdWxpYQ0KLTs7ICAgICBqdXB5 dGVyDQotOzsgICAgIGthb2NoYS1ydW5uZXINCi07OyAgICAga2V5Y2FzdA0KLTs7ICAgICBsaW5l IG51bWJlcnMgKGBkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZhcmlhbnQp DQotOzsgICAgIGxzcC1tb2RlDQotOzsgICAgIGxzcC11aQ0KLTs7ICAgICBtYWdpdA0KLTs7ICAg ICBtYWdpdC1pbWVyZ2UNCi07OyAgICAgbWFuDQotOzsgICAgIG1hcmtkb3duLW1vZGUNCi07OyAg ICAgbWFya3VwLWZhY2VzIChgYWRvYy1tb2RlJykNCi07OyAgICAgbWVudG9yDQotOzsgICAgIG1l c3NhZ2VzDQotOzsgICAgIG1pbmlidWZmZXItbGluZQ0KLTs7ICAgICBtaW5pbWFwDQotOzsgICAg IG1vZGVsaW5lDQotOzsgICAgIG1vb2QtbGluZQ0KLTs7ICAgICBtcGRlbA0KLTs7ICAgICBtdTRl DQotOzsgICAgIG11NGUtY29udmVyc2F0aW9uDQotOzsgICAgIG11bHRpcGxlLWN1cnNvcnMNCi07 OyAgICAgbmVvdHJlZQ0KLTs7ICAgICBuby1lbW9qaQ0KLTs7ICAgICBub3RtdWNoDQotOzsgICAg IG51bTMtbW9kZQ0KLTs7ICAgICBueG1sLW1vZGUNCi07OyAgICAgb2JqZWQNCi07OyAgICAgb3Jk ZXJsZXNzDQotOzsgICAgIG9yZw0KLTs7ICAgICBvcmctam91cm5hbA0KLTs7ICAgICBvcmctbm90 ZXINCi07OyAgICAgb3JnLXBvbW9kb3JvDQotOzsgICAgIG9yZy1yZWN1cg0KLTs7ICAgICBvcmct cm9hbQ0KLTs7ICAgICBvcmctc3VwZXJzdGFyDQotOzsgICAgIG9yZy10YWJsZS1zdGlja3ktaGVh ZGVyDQotOzsgICAgIG9yZy10cmVlc2NvcGUNCi07OyAgICAgb3JpZ2FtaQ0KLTs7ICAgICBvdXRs aW5lLW1vZGUNCi07OyAgICAgb3V0bGluZS1taW5vci1mYWNlcw0KLTs7ICAgICBwYWNrYWdlIChN LXggbGlzdC1wYWNrYWdlcykNCi07OyAgICAgcGFnZS1icmVhay1saW5lcw0KLTs7ICAgICBwYXJh ZG94DQotOzsgICAgIHBhcmVuLWZhY2UNCi07OyAgICAgcGFycm90DQotOzsgICAgIHBhc3MNCi07 OyAgICAgcGVyc3AtbW9kZQ0KLTs7ICAgICBwZXJzcGVjdGl2ZQ0KLTs7ICAgICBwaGktZ3JlcA0K LTs7ICAgICBwaGktc2VhcmNoDQotOzsgICAgIHBrZ2J1aWxkLW1vZGUNCi07OyAgICAgcG9taWRv cg0KLTs7ICAgICBwb3dlcmxpbmUNCi07OyAgICAgcG93ZXJsaW5lLWV2aWwNCi07OyAgICAgcHJv Y2VkDQotOzsgICAgIHByb2RpZ3kNCi07OyAgICAgcmFja2V0LW1vZGUNCi07OyAgICAgcmFpbmJv dy1ibG9ja3MNCi07OyAgICAgcmFpbmJvdy1pZGVudGlmaWVycw0KLTs7ICAgICByYWluYm93LWRl bGltaXRlcnMNCi07OyAgICAgcmNpcmMNCi07OyAgICAgcmVnZXhwLWJ1aWxkZXIgKGFsc28ga25v d24gYXMgYHJlLWJ1aWxkZXInKQ0KLTs7ICAgICByZw0KLTs7ICAgICByaXBncmVwDQotOzsgICAg IHJtYWlsDQotOzsgICAgIHJ1bGVyLW1vZGUNCi07OyAgICAgc2FsbGV0DQotOzsgICAgIHNlbGVj dHJ1bQ0KLTs7ICAgICBzZW1hbnRpYw0KLTs7ICAgICBzZXNtYW4NCi07OyAgICAgc2hlbGwtc2Ny aXB0LW1vZGUNCi07OyAgICAgc2hvdy1wYXJlbi1tb2RlDQotOzsgICAgIHNpZGUtbm90ZXMNCi07 OyAgICAgc2tld2VyLW1vZGUNCi07OyAgICAgc21hcnQtbW9kZS1saW5lDQotOzsgICAgIHNtYXJ0 cGFyZW5zDQotOzsgICAgIHNtZXJnZQ0KLTs7ICAgICBzcGFjZWxpbmUNCi07OyAgICAgc3BlZWRi YXINCi07OyAgICAgc3BlbGwtZnUNCi07OyAgICAgc3RyaXBlcw0KLTs7ICAgICBzdWdnZXN0DQot OzsgICAgIHN3aXRjaC13aW5kb3cNCi07OyAgICAgc3dpcGVyDQotOzsgICAgIHN3b29wDQotOzsg ICAgIHN4DQotOzsgICAgIHN5bWJvbC1vdmVybGF5DQotOzsgICAgIHRhYi1iYXItbW9kZQ0KLTs7 ICAgICB0YWItbGluZS1tb2RlDQotOzsgICAgIHN5c2xvZy1tb2RlDQotOzsgICAgIHRhYmxlIChi dWlsdC1pbiB0YWJsZS5lbCkNCi07OyAgICAgdGVsZXBob25lLWxpbmUNCi07OyAgICAgdGVybQ0K LTs7ICAgICB0b21hdGluaG8NCi07OyAgICAgdHJhbnNpZW50IChwb3AtdXAgd2luZG93cyBsaWtl IE1hZ2l0J3MpDQotOzsgICAgIHRyYXNoZWQNCi07OyAgICAgdHJlZW1hY3MNCi07OyAgICAgdHR5 LW1lbnUNCi07OyAgICAgdHVhcmVnDQotOzsgICAgIHR5cGVzY3JpcHQNCi07OyAgICAgdW5kby10 cmVlDQotOzsgICAgIHZjIChidWlsdC1pbiBtb2RlIGxpbmUgc3RhdHVzIGZvciB2ZXJzaW9uIGNv bnRyb2wpDQotOzsgICAgIHZjLWFubm90YXRlIChDLXggdiBnKQ0KLTs7ICAgICB2ZGlmZg0KLTs7 ICAgICB2aW1pc2gtZm9sZA0KLTs7ICAgICB2aXNpYmxlLW1hcmsNCi07OyAgICAgdmlzdWFsLXJl Z2V4cA0KLTs7ICAgICB2b2xhdGlsZS1oaWdobGlnaHRzDQotOzsgICAgIHZ0ZXJtDQotOzsgICAg IHdjaGVjay1tb2RlDQotOzsgICAgIHdlYi1tb2RlDQotOzsgICAgIHdncmVwDQotOzsgICAgIHdo aWNoLWZ1bmN0aW9uLW1vZGUNCi07OyAgICAgd2hpY2gta2V5DQotOzsgICAgIHdoaXRlc3BhY2Ut bW9kZQ0KLTs7ICAgICB3aW5kb3ctZGl2aWRlci1tb2RlDQotOzsgICAgIHdpbnVtDQotOzsgICAg IHdyaXRlZ29vZC1tb2RlDQotOzsgICAgIHdvbWFuDQotOzsgICAgIHhhaC1lbGlzcC1tb2RlDQot OzsgICAgIHhyZWYNCi07OyAgICAgeHRlcm0tY29sb3IgKGFuZCBhbnNpLWNvbG9ycykNCi07OyAg ICAgeWFtbC1tb2RlDQotOzsgICAgIHlhc25pcHBldA0KLTs7ICAgICB6dHJlZQ0KLQ0KLTs7OyBD b2RlOg0KLQ0KLQwNCi0NCi0oZGVmdGhlbWUgbW9kdXMtb3BlcmFuZGkNCi0gICJMaWdodCB0aGVt ZSB0aGF0IGNvbmZvcm1zIHdpdGggdGhlIGhpZ2hlc3QgYWNjZXNzaWJpbGl0eQ0KLSAgc3RhbmRh cmQgZm9yIGNvbG91ciBjb250cmFzdCBiZXR3ZWVuIGJhY2tncm91bmQgYW5kDQotICBmb3JlZ3Jv dW5kIGVsZW1lbnRzIChXQ0FHIEFBQSkuIikNCi0NCi07OzsgQ3VzdG9tIGZhY2VzDQotDQotOzsg VGhlc2UgZmFjZXMgd2lsbCBiZSBpbmhlcml0ZWQgYnkgYWN0dWFsIGNvbnN0cnVjdHMuICBUaGV5 IGFyZSBtZWFudA0KLTs7IGZvciB0aG9zZSBjYXNlcyB3aGVyZSBhIGZhY2UgbmVlZHMgdG8gZGlz dGluZ3Vpc2ggaXRzIG91dHB1dCBmcm9tDQotOzsgdGhlIHJlc3Qgb2YgdGhlIHRleHQsIHN1Y2gg YXMgYGlzZWFyY2gnIGFuZCBgb2NjdXIn4oCmICBXZSBkZWZpbmUNCi07OyB0aGVzZSBzZXBhcmF0 ZWx5IGluIG9yZGVyIHRvIGNvbWJpbmUgZWFjaCBjb2xvdXIgd2l0aCBpdHMNCi07OyBhcHByb3By aWF0ZSBmb3JlZ3JvdW5kIHZhbHVlLiAgVGhpcyBpcyB0byBlbnN1cmUgYSBjb25zaXN0ZW50DQot OzsgY29udHJhc3QgcmF0aW8gb2YgPj0gNzoxLg0KLShkZWZncm91cCBtb2R1cy10aGVtZSAoKQ0K LSAgIlRoZW1lIHRoYXQgZW5zdXJlcyBXQ0FHIEFBQSBhY2Nlc3NpYmlsaXR5IChjb250cmFzdCBy YXRpbw0KLWJldHdlZW4gZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBpcyA+PSA3OjEpLiINCi0g IDpncm91cCAnZmFjZXMNCi0gIDpwcmVmaXggIm1vZHVzLXRoZW1lLSINCi0gIDpsaW5rICcodXJs LWxpbmsgOnRhZyAiR2l0TGFiIiAiaHR0cHM6Ly9naXRsYWIuY29tL3Byb3Rlc2lsYW9zL21vZHVz LXRoZW1lcyIpDQotICA6dGFnICJNb2R1cyBPcGVyYW5kaSIpDQotDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtc3VidGxlLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1n cmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtc3VidGxlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1 dHJhbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtaW50ZW5zZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1t YWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLXJlZmluZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS15 ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1hY3RpdmUtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVu IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyBuaWwgbmlsKQ0K LShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1h Y3RpdmUtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4gbmlsIG5pbCkNCi0oZGVm ZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtZnJpbmdlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2Ut bWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtbnVhbmNlZC15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2Vk LWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4gbmlsIG5pbCkNCi0oZGVm ZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1zcGVjaWFsLW1pbGQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFs LXdhcm0gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0gbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWFkZGVkIG5pbCBuaWwpDQotKGRlZmZhY2Ug bW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt ZGlmZi1yZW1vdmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUt YWRkZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2Vk IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtYWRkZWQgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92ZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1kaWZmLWhlYWRpbmcgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1wc2V1 ZG8taGVhZGVyIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1hbHQgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLWRlbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLW1hcmstc2VsIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1z eW1ib2wgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTEgbmlsIG5pbCkN Ci0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTIgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1oZWFkaW5nLTMgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5n LTQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTUgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTYgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1oZWFkaW5nLTcgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTgg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1obC1saW5lIG5pbCBuaWwpDQotDQotOzs7 IEN1c3RvbWlzYXRpb24gb3B0aW9ucw0KLQ0KLTs7IFVzZXItZmFjaW5nIGN1c3RvbWlzYXRpb24g b3B0aW9ucy4gIFRoZXkgYXJlIGFsbCBkZWFjdGl2YXRlZCBieQ0KLTs7IGRlZmF1bHQgKHVzZXJz IG11c3Qgb3B0IGluKS4NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNsYW50ZWQt Y29uc3RydWN0cyBuaWwNCi0gICJVc2Ugc2xhbnRlZCB0ZXh0IGluIG1vcmUgY29kZSBjb25zdHJ1 Y3RzIChpdGFsaWNzIG9yIG9ibGlxdWUpLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZj dXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC1jb25zdHJ1Y3RzIG5pbA0KLSAgIlVzZSBi b2xkIHRleHQgaW4gbW9yZSBjb2RlIGNvbnN0cnVjdHMuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQot DQotKGRlZmluZS1vYnNvbGV0ZS12YXJpYWJsZS1hbGlhcyAnbW9kdXMtb3BlcmFuZGktdGhlbWUt cHJvcG9ydGlvbmFsLWZvbnRzDQotICAnbW9kdXMtb3BlcmFuZGktdGhlbWUtdmFyaWFibGUtcGl0 Y2gtaGVhZGluZ3MgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMS4wIikNCi0NCi0oZGVmY3Vz dG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb3BvcnRpb25hbC1mb250cyBuaWwNCi0gICJVc2Ug cHJvcG9ydGlvbmFsIGZvbnRzICh2YXJpYWJsZS1waXRjaCkgaW4gaGVhZGluZ3MuIg0KLSAgOnR5 cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS12YXJpYWJs ZS1waXRjaC1oZWFkaW5ncyBuaWwNCi0gICJVc2UgcHJvcG9ydGlvbmFsIGZvbnRzICh2YXJpYWJs ZS1waXRjaCkgaW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3Rv bSBtb2R1cy1vcGVyYW5kaS10aGVtZS1uby1taXhlZC1mb250cyBuaWwNCi0gICJEaXNhYmxlIGlu aGVyaXRhbmNlIGZyb20gYGZpeGVkLXBpdGNoJyBpbiBzb21lIGZhY2VzLg0KLQ0KLVRoaXMgaXMg ZG9uZSBieSBkZWZhdWx0IHRvIGFsbG93IHNwYWNpbmctc2Vuc2l0aXZlIGNvbnN0cnVjdHMsDQot c3VjaCBhcyBPcmcgdGFibGVzIGFuZCBjb2RlIGJsb2NrcywgdG8gcmVtYWluIG1vbm9zcGFjZWQg d2hlbg0KLXVzZXJzIG9wdCBmb3Igc29tZXRoaW5nIGxpa2UgdGhlIGNvbW1hbmQgYHZhcmlhYmxl LXBpdGNoLW1vZGUnLg0KLVRoZSBkb3duc2lkZSB3aXRoIHRoZSBkZWZhdWx0IGlzIHRoYXQgdXNl cnMgbmVlZCB0byBleHBsaWNpdGx5DQotY29uZmlndXJlIHRoZSBmb250IGZhbWlseSBvZiBgZml4 ZWQtcGl0Y2gnIGluIG9yZGVyIHRvIGdldCBhDQotY29uc2lzdGVudCBleHBlcmllbmNlLiAgVGhh dCBtYXkgYmUgc29tZXRoaW5nIHRoZXkgZG8gbm90IHdhbnQgdG8NCi1kby4gIEhlbmNlIHRoaXMg b3B0aW9uIHRvIGRpc2FibGUgYW55IGtpbmQgb2YgdGVjaG5pcXVlIGZvcg0KLW1peGluZyBmb250 cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFu ZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICdtb2R1cy1vcGVyYW5k aS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUn IDAuMTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1yYWluYm93LWhl YWRpbmdzIG5pbA0KLSAgIlVzZSBtb3JlIHNhdHVyYXRlZCBjb2xvdXJzIGZvciBoZWFkaW5ncy4i DQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGkt dGhlbWUtc2VjdGlvbi1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICdtb2R1cy1vcGVyYW5kaS10 aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUnIDAu MTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zZWN0aW9uLWhlYWRp bmdzIG5pbA0KLSAgIlVzZSBhIGJhY2tncm91bmQgYW5kIGFuIG92ZXJsaW5lIGluIGhlYWRpbmdz LiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhl bWUtaGVhZGluZ3MNCi0gICcoKHQgLiBuaWwpKQ0KLSAgIkFsaXN0IG9mIHN0eWxlcyBmb3IgaGVh ZGluZ3MsIHdpdGggb3B0aW9uYWwgdmFsdWUgcGVyIGxldmVsLg0KLQ0KLVRvIGNvbnRyb2wgZmFj ZXMgcGVyIGxldmVsIGZyb20gMS04LCB1c2Ugc29tZXRoaW5nIGxpa2UgdGhpczoNCi0NCi0gIChz ZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAnKCgxIC4gaGlnaGxp Z2h0KQ0KLSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAgICAgICh0IC4gcmFpbmJvdy1saW5l LW5vLWJvbGQpKSkNCi0NCi1UbyBzZXQgYSB1bmlmb3JtIHZhbHVlIGZvciBhbGwgaGVhZGluZyBs ZXZlbHMsIHVzZSB0aGlzIHBhdHRlcm46DQotDQotICAoc2V0cSBtb2R1cy1vcGVyYW5kaS10aGVt ZS1oZWFkaW5ncw0KLSAgICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQotDQot VGhlIGRlZmF1bHQgdXNlcyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHZhbHVlIGlu DQotY29tYmluYXRpb24gd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lm eSB0aGlzDQotc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91IHdpc2ggdG8g aGF2ZSBhbm90aGVyDQotZmFsbGJhY2sgb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRoZSB2YWx1ZSB0 IGxpa2UgdGhpczoNCi0NCi0gIChzZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQot ICAgICAgICAnKCgxIC4gdCkNCi0gICAgICAgICAgKDIgLiBsaW5lKQ0KLSAgICAgICAgICAodCAu IHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQotDQotQSBkZXNjcmlwdGlvbiBvZiBhbGwgcG9zc2li bGUgdmFsdWVzOg0KLQ0KLSsgYG5vLWJvbGQnIHJldGFpbnMgdGhlIGRlZmF1bHQgdGV4dCBjb2xv dXIgd2hpbGUgcmVtb3ZpbmcNCi0gIHRoZSB0eXBvZ3JhcGhpYyB3ZWlnaHQuDQotDQotKyBgbGlu ZScgaXMgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZQ0K LSAgaGVhZGluZy4NCi0NCi0rIGBsaW5lLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBsaW5lJyB3 aXRob3V0IGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYHJhaW5ib3cnIHVzZXMgYSBtb3JlIGNvbG91cmZ1 bCBmb3JlZ3JvdW5kIGluIGNvbWJpbmF0aW9uDQotICB3aXRoIGJvbGQgd2VpZ2h0Lg0KLQ0KLSsg YHJhaW5ib3ctbGluZScgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3cnIHBsdXMgYW4gb3ZlcmxpbmUu DQotDQotKyBgcmFpbmJvdy1saW5lLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGByYWluYm93LWxp bmUnIHdpdGhvdXQNCi0gIHRoZSBib2xkIHdlaWdodC4NCi0NCi0rIGBoaWdobGlnaHQnIHJldGFp bnMgdGhlIGRlZmF1bHQgc3R5bGUgb2YgYSBmYWlybHkgZGVzYXR1cmF0ZWQNCi0gIGZvcmVncm91 bmQgY29tYmluZWQgd2l0aCBhIGJvbGQgd2VpZ2h0IGFuZCBhZGQgdG8gaXQgYSBzdWJ0bGUNCi0g IGFjY2VudGVkIGJhY2tncm91bmQuDQotDQotKyBgaGlnaGxpZ2h0LW5vLWJvbGQnIGlzIHRoZSBz YW1lIGFzIGBoaWdobGlnaHQnIHdpdGhvdXQgYSBib2xkDQotICB3ZWlnaHQuDQotDQotKyBgcmFp bmJvdy1oaWdobGlnaHQnIGlzIHRoZSBzYW1lIGFzIGBoaWdobGlnaHQnIGJ1dCB3aXRoIGEgbW9y ZQ0KLSAgY29sb3VyZnVsIGZvcmVncm91bmQuDQotDQotKyBgcmFpbmJvdy1oaWdobGlnaHQtbm8t Ym9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctaGlnaGxpZ2h0Jw0KLSAgd2l0aG91dCBhIGJv bGQgd2VpZ2h0Lg0KLQ0KLSsgYHNlY3Rpb24nIHJldGFpbnMgdGhlIGRlZmF1bHQgbG9va3MgYW5k IGFkZHMgdG8gdGhlbSBib3RoIGFuDQotICBvdmVybGluZSBhbmQgYSBzbGlnaHRseSBhY2NlbnRl ZCBiYWNrZ3JvdW5kLiAgSXQgaXMsIGluIGVmZmVjdCwNCi0gIGEgY29tYmluYXRpb24gb2YgdGhl IGBsaW5lJyBhbmQgYGhpZ2hsaWdodCcgdmFsdWVzLg0KLQ0KLSsgYHNlY3Rpb24tbm8tYm9sZCcg aXMgdGhlIHNhbWUgYXMgYHNlY3Rpb24nIHdpdGhvdXQgYSBib2xkDQotICB3ZWlnaHQuDQotDQot KyBgcmFpbmJvdy1zZWN0aW9uJyBpcyB0aGUgc2FtZSBhcyBgc2VjdGlvbicgYnV0IHdpdGggYSBt b3JlDQotICBjb2xvdXJmdWwgZm9yZWdyb3VuZC4NCi0NCi0rIGByYWluYm93LXNlY3Rpb24tbm8t Ym9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctc2VjdGlvbicNCi0gIHdpdGhvdXQgYSBib2xk IHdlaWdodC4iDQotICA6dHlwZQ0KLSAgJyhhbGlzdA0KLSAgICA6a2V5LXR5cGUgc3ltYm9sDQot ICAgIDp2YWx1ZS10eXBlDQotICAgIChjaG9pY2UgKGNvbnN0IDp0YWcgIkZhaXJseSBkZXNhdHVy YXRlZCBmb3JlZ3JvdW5kIHdpdGggYm9sZCB3ZWlnaHQgKGRlZmF1bHQpIiB0KQ0KLSAgICAgICAg ICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHdpdGhvdXQgYm9sZCB3ZWlnaHQiIG5v LWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgcGx1cyBv dmVybGluZSIgbGluZSkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgbGluZScgd2l0 aG91dCBib2xkIHdlaWdodCIgbGluZS1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFn ICJMaWtlIHRoZSBkZWZhdWx0IGJ1dCB3aXRoIG1vcmUgY29sb3VyZnVsIGZvcmVncm91bmQiIHJh aW5ib3cpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3cnIHBsdXMgb3Zl cmxpbmUiIHJhaW5ib3ctbGluZSkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFp bmJvdycgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1uby1ib2xkKQ0KLSAgICAgICAgICAg IChjb25zdCA6dGFnICJMaWtlIGByYWluYm93LWxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJh aW5ib3ctbGluZS1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBk ZWZhdWx0IHBsdXMgc3VidGxlIGJhY2tncm91bmQiIGhpZ2hsaWdodCkNCi0gICAgICAgICAgICAo Y29uc3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBoaWdobGln aHQtbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3 aXRoIG1vcmUgY29sb3VyZnVsIGZvcmVncm91bmQiIHJhaW5ib3ctaGlnaGxpZ2h0KQ0KLSAgICAg ICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93LWhpZ2hsaWdodCcgd2l0aG91dCBib2xk IHdlaWdodCIgcmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3Qg OnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyBwbHVzIG92ZXJsaW5lIiBzZWN0aW9uKQ0KLSAgICAgICAg ICAgIChjb25zdCA6dGFnICJMaWtlIGBzZWN0aW9uJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBzZWN0 aW9uLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHNlY3Rpb24nIHdp dGggbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdy1zZWN0aW9uKQ0KLSAgICAgICAg ICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93LXNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWln aHQiIHJhaW5ib3ctc2VjdGlvbi1uby1ib2xkKSkpKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3Bl cmFuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgbmlsDQotICAiVXNlIGZvbnQgc2NhbGluZyBmb3Ig aGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVy YW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi0gICJGb250IHNpemUgdGhhdCBpcyBzbGlnaHRseSBs YXJnZXIgdGhhbiB0aGUgYmFzZSB2YWx1ZS4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBv aW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQg c2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1 bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0K LXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9y IG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFj ZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0 eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0y IDEuMQ0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtb3BlcmFuZGkt dGhlbWUtc2NhbGUtMScuDQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlz IGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dl dmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9vZCBh cyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2FtZSBh cyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9uIHRo ZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmlidXRl Jywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVtYmVy KQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMyAxLjE1DQotICAi Rm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2Fs ZS0yJy4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0 ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2 YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29s dXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcg dGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwg cmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZp Y2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRl ZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00IDEuMg0KLSAgIkZvbnQgc2l6ZSBz bGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMycuDQotVGhl IGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVs dGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxz byBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQg KGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0 IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRv Y3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAn OmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVtYmVyKQ0KLQ0KLShkZWZjdXN0b20gbW9k dXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNSAxLjMNCi0gICJGb250IHNpemUgc2xpZ2h0bHkgbGFy Z2VyIHRoYW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQnLg0KLVRoZSBkZWZhdWx0IGlz IGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2Yg dGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBh bg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFs dWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBz aXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9u IG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNl Y3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3Bl cmFuZGktdGhlbWUtdmlzaWJsZS1mcmluZ2VzDQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJh bmRpLXRoZW1lLWZyaW5nZXMNCi0gICAgICAgICAgICAgICAiYG1vZHVzLW9wZXJhbmRpLXRoZW1l JyAwLjEyLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtdmlzaWJsZS1m cmluZ2VzIG5pbA0KLSAgIlVzZSBhIHZpc2libGUgc3R5bGUgZm9yIGZyaW5nZXMuIg0KLSAgOnR5 cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2Vz IG5pbA0KLSAgIkRlZmluZSB0aGUgdmlzaWJpbGl0eSBvZiBmcmluZ2VzLg0KLQ0KLU5pbCBtZWFu cyB0aGUgZnJpbmdlcyBoYXZlIG5vIGJhY2tncm91bmQgY29sb3VyLiAgT3B0aW9uIGBzdWJ0bGUn DQotd2lsbCBhcHBseSBhIGdyZXlzY2FsZSB2YWx1ZSB0aGF0IGlzIHZpc2libGUgeWV0IGNsb3Nl IHRvIHRoZQ0KLW1haW4gYnVmZmVyIGJhY2tncm91bmQgY29sb3VyLiAgT3B0aW9uIGBpbnRlbnNl JyB3aWxsIHVzZSBhIG1vcmUNCi1wcm9ub3VuY2VkIGdyZXlzY2FsZSB2YWx1ZS4iDQotICA6dHlw ZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gdmlzaWJsZSBmcmluZ2VzIChk ZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGdyZXlzY2FsZSBi YWNrZ3JvdW5kIiBzdWJ0bGUpDQotICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlIGdyZXlz Y2FsZSBiYWNrZ3JvdW5kIiBpbnRlbnNlKSkpDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9w ZXJhbmRpLXRoZW1lLWRpc3RpbmN0LW9yZy1ibG9ja3MNCi0gICAgICAgICAgICAgICAnbW9kdXMt b3BlcmFuZGktdGhlbWUtb3JnLWJsb2Nrcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtb3BlcmFu ZGktdGhlbWUnIDAuMTEuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1k aXN0aW5jdC1vcmctYmxvY2tzIG5pbA0KLSAgIlVzZSBhIGRpc3RpbmN0IG5ldXRyYWwgYmFja2dy b3VuZCBmb3IgYG9yZy1tb2RlJyBibG9ja3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKG1h a2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MN Ci0gICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2Nrcw0KLSAgICAg ICAgICAgICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUnIDAuMTEuMCIpDQotDQotKGRlZmN1c3Rv bSBtb2R1cy1vcGVyYW5kaS10aGVtZS1yYWluYm93LW9yZy1zcmMtYmxvY2tzIG5pbA0KLSAgIlVz ZSBjb2xvdXItY29kZWQgYmFja2dyb3VuZHMgZm9yIGBvcmctbW9kZScgc291cmNlIGJsb2Nrcy4N Ci1UaGUgY29sb3VyIGluIHVzZSBkZXBlbmRzIG9uIHRoZSBsYW5ndWFnZSAoc2VuZCBmZWVkYmFj ayB0bw0KLWluY2x1ZGUgbW9yZSBsYW5ndWFnZXMpLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0K LShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrcyBuaWwNCi0gICJVc2Ug YSBzdWJ0bGUgZ3JleSBvciBjb2xvdXItY29kZWQgYmFja2dyb3VuZCBmb3IgT3JnIGJsb2Nrcy4N Ci0NCi1OaWwgbWVhbnMgdGhhdCB0aGUgYmxvY2sgd2lsbCBoYXZlIG5vIGJhY2tncm91bmQgb2Yg aXRzIG93biBhbmQNCi13aWxsIHVzZSB0aGUgZGVmYXVsdCB0aGF0IGFwcGxpZXMgdG8gdGhlIHJl c3Qgb2YgdGhlIGJ1ZmZlci4NCi0NCi1PcHRpb24gYGdyZXlzY2FsZScgd2lsbCBhcHBseSBhIHN1 YnRsZSBuZXV0cmFsIGdyZXkgYmFja2dyb3VuZCB0bw0KLXRoZSBibG9jaydzIGNvbnRlbnRzLiAg SXQgYWxzbyBhZmZlY3RzIHRoZSBiZWdpbiBhbmQgZW5kIGxpbmVzIG9mDQotdGhlIGJsb2NrOiB0 aGVpciBiYWNrZ3JvdW5kIHdpbGwgYmUgZXh0ZW5kZWQgdG8gdGhlIGVkZ2Ugb2YgdGhlDQotd2lu ZG93IGZvciBFbWFjcyB2ZXJzaW9uID49IDI3IHdoZXJlIHRoZSAnOmV4dGVuZCcga2V5d29yZCBp cw0KLXJlY29nbmlzZWQgYnkgYHNldC1mYWNlLWF0dHJpYnV0ZScuDQotDQotT3B0aW9uIGByYWlu Ym93JyB3aWxsIHVzZSBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIGZvciB0aGUgY29udGVudHMNCi1v ZiB0aGUgYmxvY2suICBUaGUgZXhhY3QgY29sb3VyIHdpbGwgZGVwZW5kIG9uIHRoZSBwcm9ncmFt bWluZw0KLWxhbmd1YWdlIGFuZCBpcyBjb250cm9sbGVkIGJ5IHRoZSBgb3JnLXNyYy1ibG9jay1m YWNlcycNCi12YXJpYWJsZSAocmVmZXIgdG8gdGhlIHRoZW1lJ3Mgc291cmNlIGNvZGUgZm9yIHRo ZSBjdXJyZW50DQotYXNzb2NpYXRpb24gbGlzdCkuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAg ICAgICAgKGNvbnN0IDp0YWcgIk5vIE9yZyBibG9jayBiYWNrZ3JvdW5kIChkZWZhdWx0KSIgbmls KQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGdyZXkgYmxvY2sgYmFja2dyb3VuZCIg Z3JleXNjYWxlKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiQ29sb3VyLWNvZGVkIGJhY2tncm91 bmQgcGVyIHByb2dyYW1taW5nIGxhbmd1YWdlIiByYWluYm93KSkpDQotDQotKG1ha2Utb2Jzb2xl dGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLTNkLW1vZGVsaW5lDQotICAgICAgICAgICAgICAgJ21v ZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZQ0KLSAgICAgICAgICAgICAgICJgbW9kdXMtb3Bl cmFuZGktdGhlbWUnIDAuMTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVt ZS0zZC1tb2RlbGluZSBuaWwNCi0gICJVc2UgYSB0aHJlZS1kaW1lbnNpb25hbCBzdHlsZSBmb3Ig dGhlIGFjdGl2ZSBtb2RlIGxpbmUuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3Rv bSBtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUgbmlsDQotICAiQWRqdXN0IHRoZSBvdmVy YWxsIHN0eWxlIG9mIHRoZSBtb2RlIGxpbmUuDQotDQotTmlsIGlzIGEgdHdvLWRpbWVuc2lvbmFs IHJlY3RhbmdsZSB3aXRoIGEgYm9yZGVyIGFyb3VuZCBpdC4gIFRoZQ0KLWFjdGl2ZSBhbmQgdGhl IGluYWN0aXZlIG1vZGVsaW5lcyB1c2UgZGlmZmVyZW50IHNoYWRlcyBvZg0KLWdyZXlzY2FsZSB2 YWx1ZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kLg0KLQ0KLUEgYDNkJyB2YWx1 ZSB3aWxsIGFwcGx5IGEgdGhyZWUtZGltZW5zaW9uYWwgZWZmZWN0IHRvIHRoZSBhY3RpdmUNCi1t b2RlbGluZS4gIFRoZSBpbmFjdGl2ZSBtb2RlbGluZXMgcmVtYWluIHR3by1kaW1lbnNpb25hbCBh bmQgYXJlDQotdG9uZWQgZG93biBhIGJpdCwgcmVsYXRpdmUgdG8gdGhlIG5pbCB2YWx1ZS4NCi0N Ci1UaGUgYG1vb2R5JyBvcHRpb24gaXMgbWVhbnQgdG8gb3B0aW1pc2UgdGhlIG1vZGVsaW5lIGZv ciB1c2Ugd2l0aA0KLXRoZSBsaWJyYXJ5IG9mIHRoZSBzYW1lIG5hbWUuICBUaGlzIHByYWN0aWNh bGx5IG1lYW5zIHRvIHJlbW92ZQ0KLXRoZSBib3ggZWZmZWN0IGFuZCByZWx5IG9uIHVuZGVybGlu ZSBhbmQgb3ZlcmxpbmUgcHJvcGVydGllcw0KLWluc3RlYWQuICBJdCBhbHNvIHRvbmVzIGRvd24g dGhlIGluYWN0aXZlIG1vZGVsaW5lcy4gIERlc3BpdGUgaXRzDQotaW50ZW5kZWQgcHVycG9zZSwg dGhpcyBvcHRpb24gY2FuIGFsc28gYmUgdXNlZCB3aXRob3V0IHRoZQ0KLWBtb29keScgbGlicmFy eS4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiVHdvLWRpbWVu c2lvbmFsIGJveCAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlRocmVl LWRpbWVuc2lvbmFsIHN0eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGluZSIgM2QpDQotICAgICAg ICAgIChjb25zdCA6dGFnICJObyBib3ggZWZmZWN0cywgd2hpY2ggYXJlIG9wdGltYWwgZm9yIHVz ZSB3aXRoIHRoZSBgbW9vZHknIGxpYnJhcnkiIG1vb2R5KSkpDQotDQotKG1ha2Utb2Jzb2xldGUg J21vZHVzLW9wZXJhbmRpLXRoZW1lLXN1YnRsZS1kaWZmcw0KLSAgICAgICAgICAgICAgICdtb2R1 cy1vcGVyYW5kaS10aGVtZS1kaWZmcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtb3BlcmFuZGkt dGhlbWUnIDAuMTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zdWJ0 bGUtZGlmZnMgbmlsDQotICAiVXNlIGZld2VyL2RpbSBiYWNrZ3JvdW5kcyBpbiBgZGlmZi1tb2Rl JywgYGVkaWZmJyxgbWFnaXQnLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20g bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZnMgbmlsDQotICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0 eWxlcyBvZiBkaWZmcy4NCi0NCi1OaWwgbWVhbnMgdG8gdXNlIGZhaXJseSBpbnRlbnNlIGNvbG91 ciBjb21iaW5hdGlvbnMgZm9yIGRpZmZzLg0KLUZvciBleGFtcGxlLCB5b3UgZ2V0IGEgcmljaCBn cmVlbiBiYWNrZ3JvdW5kIHdpdGggYSBncmVlbg0KLWZvcmVncm91bmQgZm9yIGFkZGVkIGxpbmVz LiAgV29yZC13aXNlIG9yICdyZWZpbmVkJyBkaWZmcyBmb2xsb3cNCi10aGUgc2FtZSBwYXR0ZXJu IGJ1dCB1c2UgZGlmZmVyZW50IHNoYWRlcyBvZiB0aG9zZSBjb2xvdXJzIHRvDQotcmVtYWluIGRp c3RpbmN0Lg0KLQ0KLUEgYGRlc2F0dXJhdGVkJyB2YWx1ZSBmb2xsb3dzIHRoZSBzYW1lIHByaW5j aXBsZXMgYXMgd2l0aCB0aGUgbmlsDQotb3B0aW9uLCB3aGlsZSBpdCB0b25lcyBkb3duIGFsbCBy ZWxldmFudCBjb2xvdXJzLg0KLQ0KLU9wdGlvbiBgZmctb25seScgd2lsbCByZW1vdmUgYWxsIGFj Y2VudGVkIGJhY2tncm91bmRzLCBleGNlcHQNCi1mcm9tIHdvcmQtd2lzZSBjaGFuZ2VzLiAgSXQg aW5zdGVhZCB1c2VzIGNvbG91ci1jb2RlZCBmb3JlZ3JvdW5kDQotdmFsdWVzIHRvIGRpZmZlcmVu dGlhdGUgYmV0d2VlbiBhZGRlZC9yZW1vdmVkL2NoYW5nZWQgbGluZXMuICBJZg0KLWEgYmFja2dy b3VuZCBpcyBuZWNlc3NhcnksIHN1Y2ggYXMgd2l0aCBgZWRpZmYnLCB0aGVuIGEgc3VidGxlDQot Z3JleXNjYWxlIHZhbHVlIGlzIHVzZWQuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAgICAgICAg KGNvbnN0IDp0YWcgIkludGVuc2VseSBjb2xvdXJlZCBiYWNrZ3JvdW5kcyAoZGVmYXVsdCkiIG5p bCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmRz IHdpdGggdGludGVkIHRleHQiIGRlc2F0dXJhdGVkKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAi Tm8gYmFja2dyb3VuZHMsIGV4Y2VwdCBmb3IgcmVmaW5lZCBkaWZmcyIgZmctb25seSkpKQ0KLQ0K LShtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLXN0YW5kYXJkLWNv bXBsZXRpb25zDQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRp b25zDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMi4wIikNCi0N Ci0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2Utc3RhbmRhcmQtY29tcGxl dGlvbnMgbmlsDQotICAiVXNlIHByb21pbmVudCBiYWNrZ3JvdW5kcyBmb3IgSWNvbXBsZXRlLCBJ ZG8sIG9yIHNpbWlsYXIuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1 cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucyBuaWwNCi0gICJBcHBseSBzcGVjaWFsIHN0eWxl cyB0byB0aGUgVUkgb2YgY29tcGxldGlvbiBmcmFtZXdvcmtzLg0KLQ0KLVRoaXMgY29uY2VybnMg SWNvbXBsZXRlLCBJdnksIEhlbG0sIFNlbGVjdHJ1bSwgSWRvLCBhcyB3ZWxsIGFzDQotYW55IG90 aGVyIHRvb2wgbWVhbnQgdG8gZW5oYW5jZSB0aGVpciBleHBlcmllbmNlLiAgVGhlIGVmZmVjdA0K LXdpbGwgdmFyeSBkZXBlbmRpbmcgb24gdGhlIGNvbXBsZXRpb24gZnJhbWV3b3JrLg0KLQ0KLU5p bCBtZWFucyB0byByZW1haW4gZmFpdGhmdWwgdG8gdGhlIG1ldGFwaG9ycyB0aGF0IGVhY2ggVUkN Ci1lc3RhYmxpc2hlcy4gIEZvciBleGFtcGxlLCBJY29tcGxldGUgYW5kIElkbyBvbmx5IHVzZSBm b3JlZ3JvdW5kDQotY29sb3VycyB0byBzdHlsZSB0aGVpciBtYXRjaGVzLCB3aGVyZWFzIEl2eSBv ciBIZWxtIHJlbHkgb24gYW4NCi1hZXN0aGV0aWMgdGhhdCBjb21iaW5lcyBjb2xvdXJlZCBiYWNr Z3JvdW5kcyB3aXRoIGFwcHJvcHJpYXRlDQotdGV4dCBjb2xvdXIuDQotDQotT3B0aW9uIGBtb2Rl cmF0ZScgd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQgYW5kDQotZm9yZWdy b3VuZCB0aGF0IGlzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNvbXBsZXRlIGFuZCB0aGUgbGlrZSwN Ci10aGlzIGNvbnN0aXR1dGVzIGEgZGVwYXJ0dXJlIGZyb20gdGhlaXIgc3RhbmRhcmQgc3R5bGUu ICBXaGlsZQ0KLUl2eSwgSGVsbSwgYW5kIHRoZSBvdGhlcnMsIHdpbGwgdXNlIGxlc3MgcHJvbm91 bmNlZCBjb2xvdXJzIGZvcg0KLWFwcGxpY2FibGUgY29udGV4dHMuDQotDQotT3B0aW9uIGBvcGlu aW9uYXRlZCcgd2lsbCBhcHBseSBjb2xvdXIgY29tYmluYXRpb25zIHRoYXQNCi1yZWZhc2hpb24g dGhlIGNvbXBsZXRpb24gVUkuICBTbyBJY29tcGxldGUgZXQgYWwgd2lsbCBub3cgdXNlDQotc3R5 bGVzIHRoYXQgcmVzZW1ibGUgdGhlIGRlZmF1bHRzIG9mIEl2eSBhbmQgY28uLCB3aGlsZSB0aGUN Ci1sYXR0ZXIgZ3JvdXAgd2lsbCByZXZlcnQgdG8gYW4gZXZlbiBtb3JlIG51YW5jZWQgYWVzdGhl dGljLiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJSZXNwZWN0 IHRoZSBmcmFtZXdvcmsncyBlc3RhYmxpc2hlZCBhZXN0aGV0aWMgKGRlZmF1bHQpIiBuaWwpDQot ICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgYmFja2dyb3VuZHMgZm9yIHZhcmlvdXMgZWxl bWVudHMiIG1vZGVyYXRlKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiUmFkaWNhbCBhbHRlcm5h dGl2ZSB0byB0aGUgZnJhbWV3b3JrJ3MgbG9va3MiIG9waW5pb25hdGVkKSkpDQotDQotKGRlZmN1 c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9tcHRzIG5pbA0KLSAgIlVzZSBzdWJ0bGUgb3Ig aW50ZW5zZSBzdHlsZXMgZm9yIG1pbmlidWZmZXIgYW5kIFJFUEwgcHJvbXB0cy4NCi0NCi1OaWwg bWVhbnMgdG8gb25seSB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xvdXIuDQotDQotT3B0 aW9ucyBgc3VidGxlJyBhbmQgYGludGVuc2UnIHdpbGwgY2hhbmdlIGJvdGggdGhlIGJhY2tncm91 bmQNCi1hbmQgdGhlIGZvcmVncm91bmQgdmFsdWVzLiAgVGhlIGxhdHRlciBoYXMgYSBtb3JlIHBy b25vdW5jZWQNCi1lZmZlY3QgdGhhbiB0aGUgZm9ybWVyLiINCi0gIDp0eXBlICcoY2hvaWNlDQot ICAgICAgICAgIChjb25zdCA6dGFnICJObyBwcm9tcHQgYmFja2dyb3VuZCAoZGVmYXVsdCkiIG5p bCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBhY2NlbnRlZCBiYWNrZ3JvdW5kIGZv ciB0aGUgcHJvbXB0IiBzdWJ0bGUpDQotICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlIGJh Y2tncm91bmQgYW5kIGZvcmVncm91bmQgZm9yIHRoZSBwcm9tcHQiIGludGVuc2UpKSkNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZSBuaWwNCi0gICJV c2UgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCBmb3IgY29tbWFuZCBgaGwtbGluZS1tb2RlJy4i DQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1l LWludGVuc2UtcGFyZW4tbWF0Y2ggbmlsDQotICAiVXNlIG1vcmUgcHJvbWluZW50IGNvbG91ciBm b3IgcGFyZW50aGVzaXMgbWF0Y2hpbmcuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1 c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50YXggbmlsDQotICAiVXNlIGxlc3Mg c2F0dXJhdGVkIGNvbG91cnMgZm9yIGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZy4iDQotICA6dHlw ZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLWxpbmst dW5kZXJsaW5lIG5pbA0KLSAgIkRvIG5vdCB1bmRlcmxpbmUgbGlua3MuIg0KLSAgOnR5cGUgJ2Jv b2xlYW4pDQotDQotOzs7IEludGVybmFsIGZ1bmN0aW9ucw0KLQ0KLTs7IEhlbHBlciBmdW5jdGlv bnMgdGhhdCBhcmUgbWVhbnQgdG8gZWFzZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlDQotOzsg YWJvdmUgY3VzdG9taXNhdGlvbiBvcHRpb25zLg0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVt ZS1ib2xkLXdlaWdodCAoKQ0KLSAgIkNvbmRpdGlvbmFsIHVzZSBvZiBhIGhlYXZpZXIgdGV4dCB3 ZWlnaHQuIg0KLSAgKHdoZW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC1jb25zdHJ1Y3RzDQot ICAgIChsaXN0IDppbmhlcml0ICdib2xkKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW1peGVkLWZvbnRzICgpDQotICAiQ29uZGl0aW9uYWwgYXBwbGljYXRpb24gb2YgYGZpeGVk LXBpdGNoJyBpbmhlcml0YW5jZS4iDQotICAodW5sZXNzIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW5v LW1peGVkLWZvbnRzDQotICAgIChsaXN0IDppbmhlcml0ICdmaXhlZC1waXRjaCkpKQ0KLQ0KLShk ZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2UgKHN1YnRsZWJnIGludGVuc2ViZykNCi0g ICJDb25kaXRpb25hbCB1c2Ugb2YgYmFja2dyb3VuZCBjb2xvdXJzIGZvciBmcmluZ2VzLg0KLVNV QlRMRUJHIHNob3VsZCBiZSBhIHN1YnRsZSBncmV5c2NhbGUgdmFsdWUuICBJTlRFTlNFQkcgbXVz dCBiZSBhDQotbW9yZSBwcm9ub3VuY2VkIGdyZXlzY2FsZSBjb2xvdXIuIg0KLSAgKHBjYXNlIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZXMNCi0gICAgKCdpbnRlbnNlIChsaXN0IDpiYWNrZ3Jv dW5kIGludGVuc2ViZykpDQotICAgICgnc3VidGxlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJn KSkNCi0gICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1v cGVyYW5kaS10aGVtZS1wcm9tcHQgKG1haW5mZyBzdWJ0bGViZyBzdWJ0bGVmZyBpbnRlbnNlYmcg aW50ZW5zZWZnKQ0KLSAgIkNvbmRpdGlvbmFsIHVzZSBvZiBiYWNrZ3JvdW5kIGNvbG91cnMgZm9y IHByb21wdHMuDQotTUFJTkZHIGlzIHRoZSBwcm9tcHQncyBzdGFuZGFyZCBmb3JlZ3JvdW5kLiAg U1VCVExFQkcgc2hvdWxkIGJlIGENCi1zdWJ0bGUgYWNjZW50ZWQgYmFja2dyb3VuZCB0aGF0IHdv cmtzIHdpdGggU1VCVExFRkcuICBJTlRFTlNFQkcNCi1tdXN0IGJlIGEgbW9yZSBwcm9ub3VuY2Vk IGFjY2VudGVkIGNvbG91ciB0aGF0IHNob3VsZCBiZQ0KLWNvbWJpbmFibGUgd2l0aCBJTlRFTlNF RkcuIg0KLSAgKHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdHMNCi0gICAgKCdpbnRl bnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0K LSAgICAoJ3N1YnRsZSAobGlzdCA6YmFja2dyb3VuZCBzdWJ0bGViZyA6Zm9yZWdyb3VuZCBzdWJ0 bGVmZykpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIG5pbCA6Zm9yZWdyb3VuZCBtYWluZmcp KSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXBhcmVuIChub3JtYWxiZyBpbnRl bnNlYmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGludGVuc2UgY29sb3VycyBmb3IgbWF0Y2hp bmcgcGFyZW50aGVzZXMuDQotTk9STUFMQkcgc2hvdWxkIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29s b3VyICdiZy1wYXJlbi1tYXRjaCcgb3INCi1zb21ldGhpbmcgc2ltaWxhci4gIElOVEVOU0VCRyBt dXN0IGJlIGVhc2llciB0byBkaXNjZXJuIG5leHQgdG8NCi1vdGhlciBiYWNrZ3JvdW5kcywgc3Vj aCBhcyB0aGUgc3BlY2lhbCBwYWxldHRlIGNvbG91cg0KLSdiZy1wYXJlbi1tYXRjaC1pbnRlbnNl Jy4iDQotICAoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRjaA0KLSAg ICAgIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykNCi0gICAgKGxpc3QgOmJhY2tncm91bmQg bm9ybWFsYmcpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQgKG5vcm1hbCBmYWludCkNCi0gICJBcHBseSBmb3JlZ3JvdW5kIHZhbHVlIHRvIGNvZGUg c3ludGF4Lg0KLU5PUk1BTCBpcyB0aGUgbW9yZSBzYXR1cmF0ZWQgY29sb3VyLCB3aGljaCBzaG91 bGQgYmUgdGhlIGRlZmF1bHQuDQotRkFJTlQgaXMgdGhlIGxlc3Mgc2F0dXJhdGVkIGNvbG91ci4i DQotICAoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtZmFpbnQtc3ludGF4DQotICAgICAgKGxpc3Qg OmZvcmVncm91bmQgZmFpbnQpDQotICAgIChsaXN0IDpmb3JlZ3JvdW5kIG5vcm1hbCkpKQ0KLQ0K LShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nLXAgKGtleSkNCi0gICJRdWVyeSBz dHlsZSBvZiBLRVkgaW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzJy4iDQotICAoY2Ry IChhc3NvYyBrZXkgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MpKSkNCi0NCi0oZGVmdW4g bW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZyAobGV2ZWwgZmcgZmctYWx0IGJnIGJvcmRlcikN Ci0gICJDb25kaXRpb25hbCBzdHlsZXMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5n cycuDQotDQotTEVWRUwgaXMgdGhlIGhlYWRpbmcncyBwb3NpdGlvbiBpbiB0aGVpciBvcmRlci4g IEZHIGlzIHRoZQ0KLWRlZmF1bHQgdGV4dCBjb2xvdXIuICBGRy1BTFQgaXMgYW4gYWNjZW50ZWQs IG1vcmUgc2F0dXJhdGVkIHZhbHVlDQotdGhhbiB0aGUgZGVmYXVsdC4gIEJHIGlzIGEgbnVhbmNl ZCwgdHlwaWNhbGx5IGFjY2VudGVkLA0KLWJhY2tncm91bmQgdGhhdCBjYW4gd29yayB3ZWxsIHdp dGggZWl0aGVyIG9mIHRoZSBmb3JlZ3JvdW5kDQotdmFsdWVzLiAgQk9SREVSIGlzIGEgY29sb3Vy IHZhbHVlIHRoYXQgY29tYmluZXMgd2VsbCB3aXRoIHRoZQ0KLWJhY2tncm91bmQgYW5kIGFsdGVy bmF0aXZlIGZvcmVncm91bmQuIg0KLSAgKGxldCogKChrZXkgKG1vZHVzLW9wZXJhbmRpLXRoZW1l LWhlYWRpbmctcCBgLGxldmVsKSkNCi0gICAgICAgICAoc3R5bGUgKG9yIGtleSAobW9kdXMtb3Bl cmFuZGktdGhlbWUtaGVhZGluZy1wIHQpKSkNCi0gICAgICAgICAodmFyIChpZiBtb2R1cy1vcGVy YW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICAgICd2 YXJpYWJsZS1waXRjaA0KLSAgICAgICAgICAgICAgICAnZGVmYXVsdCkpKQ0KLSAgICAocGNhc2Ug c3R5bGUNCi0gICAgICAoJ25vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZv cmVncm91bmQgZmcpKQ0KLSAgICAgICgnbGluZQ0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJv bGQgLHZhcikgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdsaW5l LW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmcgOm92 ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdyYWluYm93DQotICAgICAgIChsaXN0IDppbmhlcml0 IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KLSAgICAgICgncmFpbmJvdy1uby1i b2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQot ICAgICAgKCdyYWluYm93LWxpbmUNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIp IDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAgICAoJ3JhaW5ib3ct bGluZS1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZn LWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAgICAoJ2hpZ2hsaWdodA0KLSAgICAgICAobGlz dCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0K LSAgICAgICgnaGlnaGxpZ2h0LW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIg OmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0KLSAgICAgICgncmFpbmJvdy1oaWdobGln aHQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5kIGJnIDpm b3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdyYWluYm93LWhpZ2hsaWdodC1uby1ib2xkDQot ICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZn LWFsdCkpDQotICAgICAgKCdzZWN0aW9uDQotICAgICAgIChhcHBlbmQNCi0gICAgICAgIChhbmQg KD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgIChsaXN0 IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6b3Zl cmxpbmUgYm9yZGVyKSkpDQotICAgICAgKCdzZWN0aW9uLW5vLWJvbGQNCi0gICAgICAgKGFwcGVu ZA0KLSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQp KQ0KLSAgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91 bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgICgncmFpbmJvdy1zZWN0aW9uDQotICAg ICAgIChhcHBlbmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICco OmV4dGVuZCB0KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dy b3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgICgn cmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQNCi0gICAgICAgKGFwcGVuZA0KLSAgICAgICAgKGFuZCAo Pj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgKGxpc3Qg OmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0IDpvdmVybGlu ZSBib3JkZXIpKSkNCi0gICAgICAoXw0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZh cikgOmZvcmVncm91bmQgZmcpKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1v cmctYmxvY2sgKGJnYmxrKQ0KLSAgIkNvbmRpdGlvbmFsbHkgc2V0IHRoZSBiYWNrZ3JvdW5kIG9m IE9yZyBibG9ja3MuDQotQkdCTEsgYXBwbGllcyB0byBhIGRpc3RpbmN0IG5ldXRyYWwgYmFja2dy b3VuZC4gIEVsc2UgYmxvY2tzIGhhdmUNCi1ubyBiYWNrZ3JvdW5kIG9mIHRoZWlyIG93biAodGhl IGRlZmF1bHQpLCBzbyB0aGV5IGxvb2sgdGhlIHNhbWUNCi1hcyB0aGUgcmVzdCBvZiB0aGUgYnVm ZmVyLg0KLQ0KLWBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzJyBhbHNvIGFjY2VwdHMg YSBgcmFpbmJvdycgb3B0aW9uDQotd2hpY2ggaXMgYXBwbGllZCBjb25kaXRpb25hbGx5IHRvIGBv cmctc3JjLWJsb2NrLWZhY2VzJyAoc2VlIHRoZQ0KLXRoZW1lJ3Mgc291cmNlIGNvZGUpLiINCi0g IChpZiAoZXEgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrcyAnZ3JleXNjYWxlKQ0KLSAg ICAgIChhcHBlbmQNCi0gICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6 ZXh0ZW5kIHQpKQ0KLSAgICAgICAobGlzdCA6YmFja2dyb3VuZCBiZ2JsaykpDQotICAgIChsaXN0 IDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmct YmxvY2stZGVsaW0gKGJnYWNjZW50IGZnYWNjZW50IGJnIGZnKQ0KLSAgIkNvbmRpdGlvbmFsbHkg c2V0IHRoZSBzdHlsZXMgb2YgT3JnIGJsb2NrIGRlbGltaXRlcnMuDQotQkcsIEZHLCBCR0FDQ0VO VCwgRkdBQ0NFTlQgYXBwbHkgYSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kDQotY29sb3VyIHJl c3BlY3RpdmVseS4NCi0NCi1UaGUgZm9ybWVyIHBhaXIgaXMgYSBncmV5c2NhbGUgY29tYmluYXRp b24gdGhhdCBzaG91bGQgYmUgbW9yZQ0KLWRpc3RpbmN0IHRoYW4gdGhlIGJhY2tncm91bmQgb2Yg dGhlIGJsb2NrLiAgSXQgaXMgYXBwbGllZCB0byB0aGUNCi1kZWZhdWx0IHN0eWxlcyBvciB3aGVu IGBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzJyBpcyBzZXQNCi10byBgZ3JleXNjYWxl Jy4NCi0NCi1UaGUgbGF0dGVyIHBhaXIgc2hvdWxkIGJlIG1vcmUgc3VidGxlIHRoYW4gdGhlIGJh Y2tncm91bmQgb2YgdGhlDQotYmxvY2ssIGFzIGl0IGlzIHVzZWQgd2hlbiBgbW9kdXMtb3BlcmFu ZGktdGhlbWUtb3JnLWJsb2NrcycgaXMNCi1zZXQgdG8gYHJhaW5ib3cnLiINCi0gIChwY2FzZSBt b2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICgnZ3JleXNjYWxlIChhcHBlbmQg KGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkpDQot ICAgICgncmFpbmJvdyAobGlzdCA6YmFja2dyb3VuZCBiZ2FjY2VudCA6Zm9yZWdyb3VuZCBmZ2Fj Y2VudCkpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkpKQ0K LQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAgKGZn IGJnIGZnLWFsdCBiZy1hbHQgYm9yZGVyIGJvcmRlci0zZCAmb3B0aW9uYWwgYWx0LXN0eWxlIGJv cmRlci13aWR0aCBmZy1kaXN0YW50KQ0KLSAgIkNvbG91ciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1 cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUnLg0KLQ0KLUZHIGFuZCBCRyBhcmUgdGhlIGRlZmF1 bHQgY29sb3Vycy4gIEZHLUFMVCBhbmQgQkctQUxUIGFyZSBtZWFudA0KLXRvIGFjY29tbW9kYXRl IHRoZSBvcHRpb25zIGZvciBhIDNEIG1vZGVsaW5lIG9yIGEgYG1vb2R5Jw0KLWNvbXBsaWFudCBv bmUuICBCT1JERVIgYXBwbGllcyB0byBhbGwgcGVybXV0YXRpb25zIG9mIHRoZQ0KLW1vZGVsaW5l LCBleGNlcHQgdGhlIHRocmVlLWRpbWVuc2lvbmFsIGVmZmVjdCwgd2hlcmUgQk9SREVSLTNEIGlz DQotdXNlZCBpbnN0ZWFkLg0KLQ0KLU9wdGlvbmFsIEFMVC1TVFlMRSBhcHBsaWVzIGFuIGFwcHJv cHJpYXRlIHN0eWxlIHRvIHRoZSBtb2RlDQotbGluZSdzIGJveCBwcm9wZXJ0eS4NCi0NCi1PcHRp b25hbCBCT1JERVItV0lEVEggc3BlY2lmaWVzIGFuIGludGVnZXIgZm9yIHRoZSB3aWR0aCBvZiB0 aGUNCi1yZWN0YW5nbGUgdGhhdCBwcm9kdWNlcyB0aGUgYm94IGVmZmVjdC4NCi0NCi1PcHRpb25h bCBGRy1ESVNUQU5UIHNob3VsZCBiZSBjbG9zZSB0byB0aGUgbWFpbiBiYWNrZ3JvdW5kDQotdmFs dWVzLiAgSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBhIGRpc3RhbnQtZm9yZWdyb3VuZA0K LXByb3BlcnR5LiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUNCi0g ICAgKCczZA0KLSAgICAgYCg6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQN Ci0gICAgICAgICAgICAgICAgICAgOmJveCAoOmxpbmUtd2lkdGggLChvciBib3JkZXItd2lkdGgg MSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNvbG9yICxib3JkZXIt M2QNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnN0eWxlICwoYW5kIGFs dC1zdHlsZSAncmVsZWFzZWQtYnV0dG9uKSkpKQ0KLSAgICAoJ21vb2R5DQotICAgICBgKDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCA6dW5kZXJsaW5lICxib3JkZXIgOm92 ZXJsaW5lICxib3JkZXINCi0gICAgICAgICAgICAgICAgICAgOmRpc3RhbnQtZm9yZWdyb3VuZCAs ZmctZGlzdGFudCkpDQotICAgIChfDQotICAgICBgKDpmb3JlZ3JvdW5kICxmZyA6YmFja2dyb3Vu ZCAsYmcgOmJveCAsYm9yZGVyKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1k aWZmIChmZy1vbmx5LWJnIGZnLW9ubHktZmcgbWFpbmJnIG1haW5mZyBhbHRiZyBhbHRmZykNCi0g ICJDb2xvdXIgY29tYmluYXRpb25zIGZvciBgbW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZnMnLg0K LQ0KLUZHLU9OTFktQkcgc2hvdWxkIGJlIHNpbWlsYXIgb3IgdGhlIHNhbWUgYXMgdGhlIG1haW4g YmFja2dyb3VuZC4NCi1GRy1PTkxZLUZHIHNob3VsZCBiZSBhIHNhdHVyYXRlZCBhY2NlbnQgdmFs dWUgdGhhdCBjYW4gYmUNCi1jb21iaW5lZCB3aXRoIHRoZSBmb3JtZXIuDQotDQotTUFJTkJHIG11 c3QgYmUgb25lIG9mIHRoZSBkZWRpY2F0ZWQgYmFja2dyb3VuZHMgZm9yIGRpZmZzIHdoaWxlDQot TUFJTkZHIG11c3QgYmUgdGhlIHNhbWUgZm9yIHRoZSBmb3JlZ3JvdW5kLg0KLQ0KLUFMVEJHIG5l ZWRzIHRvIGJlIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZCB0aGF0IGlzIG1lYW50IHRv DQotYmUgY29tYmluZWQgd2l0aCBBTFRGRy4gIEJvdGggbXVzdCBiZSBsZXNzIGludGVuc2UgdGhh biBNQUlOQkcNCi1hbmQgTUFJTkZHIHJlc3BlY3RpdmVseS4iDQotICAocGNhc2UgbW9kdXMtb3Bl cmFuZGktdGhlbWUtZGlmZnMNCi0gICAgKCdmZy1vbmx5IChsaXN0IDpiYWNrZ3JvdW5kIGZnLW9u bHktYmcgOmZvcmVncm91bmQgZmctb25seS1mZykpDQotICAgICgnZGVzYXR1cmF0ZWQgKGxpc3Qg OmJhY2tncm91bmQgYWx0YmcgOmZvcmVncm91bmQgYWx0ZmcpKQ0KLSAgICAoXyAobGlzdCA6YmFj a2dyb3VuZCBtYWluYmcgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1v cGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucyAobWFpbmZnIHN1YnRsZWJnIGludGVu c2ViZyBpbnRlbnNlZmcpDQotICAiQ29tYmluYXRpb25zIGZvciBgbW9kdXMtb3BlcmFuZGktdGhl bWUtY29tcGxldGlvbnMnLg0KLQ0KLU1BSU5GRyBpcyBhbiBhY2NlbnRlZCBmb3JlZ3JvdW5kIHZh bHVlLiAgU1VCVExFQkcgaXMgYW4gYWNjZW50ZWQNCi1iYWNrZ3JvdW5kIHZhbHVlIHRoYXQgY2Fu IGJlIGNvbWJpbmVkIHdpdGggTUFJTkZHLiAgSU5URU5TRUJHIGFuZA0KLUlOVEVOU0VGRyBhcmUg YWNjZW50ZWQgY29sb3VycyB0aGF0IGFyZSBkZXNpZ25lZCB0byBiZSB1c2VkIGluDQotdGFuZGVt Lg0KLQ0KLVRoZXNlIGFyZSBpbnRlbmRlZCBmb3IgSWNvbXBsZXRlLCBJZG8sIGFuZCByZWxhdGVk LiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAoJ29w aW5pb25hdGVkIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9yZWdyb3VuZCBpbnRlbnNl ZmcpKQ0KLSAgICAoJ21vZGVyYXRlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3Jv dW5kIG1haW5mZykpDQotICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIG1haW5mZykpKSkNCi0NCi0o ZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMgKHN1YnRsZWZhY2Ug aW50ZW5zZWZhY2UgYWx0ZmFjZSAmb3B0aW9uYWwgYWx0ZmcgYm9sZCkNCi0gICJDb21iaW5hdGlv bnMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucycuDQotDQotU1VCVExFRkFD RSBhbmQgSU5URU5TRUZBQ0UgYXJlIGN1c3RvbSB0aGVtZSBmYWNlcyB0aGF0IGNvbWJpbmUgYQ0K LWJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgdmFsdWUuICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVu IHRoZSB0d28NCi1pcyBhIG1hdHRlciBvZiBkZWdyZWUuDQotDQotQUxURkFDRSBpcyBhIGNvbWJp bmF0aW9uIG9mIGNvbG91cnMgdGhhdCByZXByZXNlbnRzIGEgZGVwYXJ0dXJlDQotZnJvbSB0aGUg VUkncyBkZWZhdWx0IGFlc3RoZXRpY3MuICBPcHRpb25hbCBBTFRGRyBpcyBtZWFudCB0byBiZQ0K LXVzZWQgaW4gdGFuZGVtIHdpdGggaXQuDQotDQotT3B0aW9uYWwgQk9MRCB3aWxsIGFwcGx5IGEg aGVhdmllciB3ZWlnaHQgdG8gdGhlIHRleHQuDQotDQotVGhlc2UgYXJlIGludGVuZGVkIGZvciBI ZWxtLCBJdnksIGV0Yy4iDQotICAocGNhc2UgbW9kdXMtb3BlcmFuZGktdGhlbWUtY29tcGxldGlv bnMNCi0gICAgKCdvcGluaW9uYXRlZCAobGlzdCA6aW5oZXJpdCAobGlzdCBhbHRmYWNlIGJvbGQp DQotICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgKG9yIGFsdGZnICd1bnNwZWNp ZmllZCkpKQ0KLSAgICAoJ21vZGVyYXRlIChsaXN0IDppbmhlcml0IChsaXN0IHN1YnRsZWZhY2Ug Ym9sZCkpKQ0KLSAgICAoXyAobGlzdCA6aW5oZXJpdCAobGlzdCBpbnRlbnNlZmFjZSBib2xkKSkp KSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgKGFtb3VudCkNCi0gICJT Y2FsZSBoZWFkaW5nIGJ5IEFNT1VOVC4NCi0NCi1BTU9VTlQgaXMgYSBjdXN0b21pc2F0aW9uIG9w dGlvbi4iDQotICAod2hlbiBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS1oZWFkaW5ncw0KLSAg ICAobGlzdCA6aGVpZ2h0IGFtb3VudCkpKQ0KLQ0KLTs7OyBDb2xvdXIgcGFsZXR0ZQ0KLQ0KLTs7 IERlZmluZSBjb2xvdXIgcGFsZXR0ZS4gIEVhY2ggY29sb3VyIG11c3QgaGF2ZSBhID49IDc6MSBj b250cmFzdA0KLTs7IHJhdGlvIHJlbGF0aXZlIHRvIHRoZSBmb3JlZ3JvdW5kL2JhY2tncm91bmQg Y29sb3VyIGl0IGlzIHJlbmRlcmVkDQotOzsgYWdhaW5zdC4NCi07Ow0KLTs7IFRoZSBkZXNpZ24g b2YgdGhlIGNvbG91ciBwYWxldHRlIGFzIGEgbWFjcm8gdGhhdCBtYXBzIGl0IHRvIGZhY2VzIGlz DQotOzsgYWRhcHRlZCBmcm9tIHplbmJlcm4tdGhlbWUuZWwsIGxhc3Qgc2VlbiBhdCBjb21taXQg N2RkNzk2ODoNCi07OyBodHRwczovL2dpdGh1Yi5jb20vYmJhdHNvdi96ZW5idXJuLWVtYWNzDQot KGV2YWwtYW5kLWNvbXBpbGUNCi0gIChkZWZjb25zdCBtb2R1cy1vcGVyYW5kaS10aGVtZS1kZWZh dWx0LWNvbG9ycy1hbGlzdA0KLSAgICAnKDs7IGJhc2UgdmFsdWVzDQotICAgICAgKCJiZy1tYWlu IiAuICIjZmZmZmZmIikgKCJmZy1tYWluIiAuICIjMDAwMDAwIikNCi0gICAgICAoImJnLWFsdCIg LiAiI2YwZjBmMCIpICgiZmctYWx0IiAuICIjNTA1MDUwIikNCi0gICAgICAoImJnLWRpbSIgLiAi I2Y4ZjhmOCIpICgiZmctZGltIiAuICIjMjgyODI4IikNCi0gICAgICA7OyBzcGVjaWZpY2FsbHkg Zm9yIG9uL29mZiBzdGF0ZXMgKGUuZy4gYG1vZGUtbGluZScpDQotICAgICAgOzsNCi0gICAgICA7 OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmctYWN0aXZlIiAu ICIjZDdkN2Q3IikgKCJmZy1hY3RpdmUiIC4gIiMwYTBhMGEiKQ0KLSAgICAgICgiYmctaW5hY3Rp dmUiIC4gIiNlZmVmZWYiKSAoImZnLWluYWN0aXZlIiAuICIjNDA0MTQ4IikNCi0gICAgICA7OyBz cGVjaWFsIGJhc2UgdmFsdWVzLCB1c2VkIG9ubHkgZm9yIGNhc2VzIHdoZXJlIHRoZSBhYm92ZQ0K LSAgICAgIDs7IGZnLSogb3IgYmctKiBjYW5ub3Qgb3Igc2hvdWxkIG5vdCBiZSB1c2VkICh0byBh dm9pZCBjb25mdXNpb24pDQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiB7ZmcsYmd9 LXttYWluLGFsdCxkaW19DQotICAgICAgKCJiZy1zcGVjaWFsLWNvbGQiIC4gIiNkZGUzZjQiKSAo ImZnLXNwZWNpYWwtY29sZCIgLiAiIzA5MzA2MCIpDQotICAgICAgKCJiZy1zcGVjaWFsLW1pbGQi IC4gIiNjNGVkZTAiKSAoImZnLXNwZWNpYWwtbWlsZCIgLiAiIzE4NDAzNCIpDQotICAgICAgKCJi Zy1zcGVjaWFsLXdhcm0iIC4gIiNmMGUwZDQiKSAoImZnLXNwZWNpYWwtd2FybSIgLiAiIzVkMzAy NiIpDQotICAgICAgKCJiZy1zcGVjaWFsLWNhbG0iIC4gIiNmOGRkZWEiKSAoImZnLXNwZWNpYWwt Y2FsbSIgLiAiIzYxMjg0ZiIpDQotICAgICAgOzsgc3R5bGVzIGZvciB0aGUgbWFpbiBjb25zdHJ1 Y3RzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWlu JywgYGJnLWFsdCcsIGBiZy1kaW0nDQotICAgICAgKCJyZWQiIC4gIiNhNjAwMDAiKSAoImdyZWVu IiAuICIjMDA1ZTAwIikNCi0gICAgICAoInllbGxvdyIgLiAiIzgxM2UwMCIpICgiYmx1ZSIgLiAi IzAwMzFhOSIpDQotICAgICAgKCJtYWdlbnRhIiAuICIjNzIxMDQ1IikgKCJjeWFuIiAuICIjMDA1 MzhiIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGNvbW1vbiwgYnV0IHN0aWxsIHNwZWNpYWxpc2Vk IGNvbnN0cnVjdHMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDog YGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZC1hbHQiIC4gIiM5NzI1 MDAiKSAoImdyZWVuLWFsdCIgLiAiIzMxNWIwMCIpDQotICAgICAgKCJ5ZWxsb3ctYWx0IiAuICIj NzA0ODBmIikgKCJibHVlLWFsdCIgLiAiIzI1NDRiYiIpDQotICAgICAgKCJtYWdlbnRhLWFsdCIg LiAiIzhmMDA3NSIpICgiY3lhbi1hbHQiIC4gIiMzMDUxN2YiKQ0KLSAgICAgIDs7IHNhbWUgcHVy cG9zZSBhcyBhYm92ZSwganVzdCBzbGlnaHQgZGlmZmVyZW5jZXMNCi0gICAgICA7Ow0KLSAgICAg IDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScN Ci0gICAgICAoInJlZC1hbHQtb3RoZXIiIC4gIiNhMDEzMmYiKSAoImdyZWVuLWFsdC1vdGhlciIg LiAiIzE0NWMzMyIpDQotICAgICAgKCJ5ZWxsb3ctYWx0LW90aGVyIiAuICIjODYzOTI3IikgKCJi bHVlLWFsdC1vdGhlciIgLiAiIzAwMDBjMCIpDQotICAgICAgKCJtYWdlbnRhLWFsdC1vdGhlciIg LiAiIzUzMTdhYyIpICgiY3lhbi1hbHQtb3RoZXIiIC4gIiMwMDVhNWYiKQ0KLSAgICAgIDs7IHN0 eWxlcyBmb3IgZGVzYXR1cmF0ZWQgZm9yZWdyb3VuZCB0ZXh0LCBpbnRlbmRlZCBmb3IgdXNlIHdp dGgNCi0gICAgICA7OyB0aGUgYG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZhaW50LXN5bnRheCcgb3B0 aW9uDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWlu JywgYGJnLWFsdCcsIGBiZy1kaW0nDQotICAgICAgKCJyZWQtZmFpbnQiIC4gIiM3ZjEwMTAiKSAo ImdyZWVuLWZhaW50IiAuICIjMTA0NDEwIikNCi0gICAgICAoInllbGxvdy1mYWludCIgLiAiIzVm NDQwMCIpICgiYmx1ZS1mYWludCIgLiAiIzAwMmY4OCIpDQotICAgICAgKCJtYWdlbnRhLWZhaW50 IiAuICIjNzUyZjUwIikgKCJjeWFuLWZhaW50IiAuICIjMTI1MDZmIikNCi0NCi0gICAgICAoInJl ZC1hbHQtZmFpbnQiIC4gIiM3MDJmMDAiKSAoImdyZWVuLWFsdC1mYWludCIgLiAiIzMwNDQwZiIp DQotICAgICAgKCJ5ZWxsb3ctYWx0LWZhaW50IiAuICIjNWQ1MDAwIikgKCJibHVlLWFsdC1mYWlu dCIgLiAiIzAwM2Y3OCIpDQotICAgICAgKCJtYWdlbnRhLWFsdC1mYWludCIgLiAiIzcwMjU2NSIp ICgiY3lhbi1hbHQtZmFpbnQiIC4gIiMzNTRmNmYiKQ0KLQ0KLSAgICAgICgicmVkLWFsdC1vdGhl ci1mYWludCIgLiAiIzdmMDAyZiIpICgiZ3JlZW4tYWx0LW90aGVyLWZhaW50IiAuICIjMGY0NDNm IikNCi0gICAgICAoInllbGxvdy1hbHQtb3RoZXItZmFpbnQiIC4gIiM1ZTNhMjAiKSAoImJsdWUt YWx0LW90aGVyLWZhaW50IiAuICIjMWYyZjZmIikNCi0gICAgICAoIm1hZ2VudGEtYWx0LW90aGVy LWZhaW50IiAuICIjNWYzZjdmIikgKCJjeWFuLWFsdC1vdGhlci1mYWludCIgLiAiIzJlNTg0ZiIp DQotICAgICAgOzsgc3R5bGVzIGZvciBlbGVtZW50cyB0aGF0IHNob3VsZCBiZSB2ZXJ5IHN1YnRs ZSwgeWV0IGFjY2VudGVkDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdp dGg6IGBiZy1tYWluJywgYGJnLWFsdCcsIGBiZy1kaW0nIG9yIGFueSBvZg0KLSAgICAgIDs7IHRo ZSAibnVhbmNlZCIgYmFja2dyb3VuZHMNCi0gICAgICAoInJlZC1udWFuY2VkIiAuICIjNWYwMDAw IikgKCJncmVlbi1udWFuY2VkIiAuICIjMDA0MDAwIikNCi0gICAgICAoInllbGxvdy1udWFuY2Vk IiAuICIjM2YzMDAwIikgKCJibHVlLW51YW5jZWQiIC4gIiMyMDFmNTUiKQ0KLSAgICAgICgibWFn ZW50YS1udWFuY2VkIiAuICIjNTQxZjRmIikgKCJjeWFuLW51YW5jZWQiIC4gIiMwZjMzNjAiKQ0K LSAgICAgIDs7IHN0eWxlcyBmb3Igc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZA0KLSAgICAg IDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgYWJvdmUgZm9y ZWdyb3VuZCB2YWx1ZXMNCi0gICAgICAoInJlZC1udWFuY2VkLWJnIiAuICIjZmZmMWYwIikgKCJn cmVlbi1udWFuY2VkLWJnIiAuICIjZWNmN2VkIikNCi0gICAgICAoInllbGxvdy1udWFuY2VkLWJn IiAuICIjZmZmM2RhIikgKCJibHVlLW51YW5jZWQtYmciIC4gIiNmM2YzZmYiKQ0KLSAgICAgICgi bWFnZW50YS1udWFuY2VkLWJnIiAuICIjZmRmMGZmIikgKCJjeWFuLW51YW5jZWQtYmciIC4gIiNl YmY2ZmEiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgZWxlbWVudHMgdGhhdCBzaG91bGQgZHJhdyBh dHRlbnRpb24gdG8gdGhlbXNlbHZlcw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21i aW5lZCB3aXRoOiBgYmctbWFpbicNCi0gICAgICAoInJlZC1pbnRlbnNlIiAuICIjYjYwMDAwIikg KCJncmVlbi1pbnRlbnNlIiAuICIjMDA2ODAwIikNCi0gICAgICAoInllbGxvdy1pbnRlbnNlIiAu ICIjOTA0MjAwIikgKCJibHVlLWludGVuc2UiIC4gIiMxMTExZWUiKQ0KLSAgICAgICgibWFnZW50 YS1pbnRlbnNlIiAuICIjNzAwMGUwIikgKCJjeWFuLWludGVuc2UiIC4gIiMyMDViOTMiKQ0KLSAg ICAgIDs7IHN0eWxlcyBmb3IgYmFja2dyb3VuZCBlbGVtZW50cyB0aGF0IHNob3VsZCBiZSB2aXNp YmxlIHlldA0KLSAgICAgIDs7IHN1YnRsZQ0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBj b21iaW5lZCB3aXRoOiBgZmctZGltJw0KLSAgICAgICgicmVkLXN1YnRsZS1iZyIgLiAiI2YyYjBh MiIpICgiZ3JlZW4tc3VidGxlLWJnIiAuICIjYWVjZjkwIikNCi0gICAgICAoInllbGxvdy1zdWJ0 bGUtYmciIC4gIiNlNGMzNDAiKSAoImJsdWUtc3VidGxlLWJnIiAuICIjYjVkMGZmIikNCi0gICAg ICAoIm1hZ2VudGEtc3VidGxlLWJnIiAuICIjZjBkM2ZmIikgKCJjeWFuLXN1YnRsZS1iZyIgLiAi I2MwZWZmZiIpDQotICAgICAgOzsgc3R5bGVzIGZvciBiYWNrZ3JvdW5kIGVsZW1lbnRzIHRoYXQg c2hvdWxkIGJlIHZpc2libGUgYW5kDQotICAgICAgOzsgZGlzdGluZ3Vpc2hhYmxlDQotICAgICAg OzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBmZy1tYWluJw0KLSAgICAgICgi cmVkLWludGVuc2UtYmciIC4gIiNmZjg4OTIiKSAoImdyZWVuLWludGVuc2UtYmciIC4gIiM1YWRh ODgiKQ0KLSAgICAgICgieWVsbG93LWludGVuc2UtYmciIC4gIiNmNWRmMjMiKSAoImJsdWUtaW50 ZW5zZS1iZyIgLiAiIzZhYWVmZiIpDQotICAgICAgKCJtYWdlbnRhLWludGVuc2UtYmciIC4gIiNk NWJhZmYiKSAoImN5YW4taW50ZW5zZS1iZyIgLiAiIzQyY2JkNCIpDQotICAgICAgOzsgc3R5bGVz IGZvciByZWZpbmVkIGNvbnRleHRzIHdoZXJlIGJvdGggdGhlIGZvcmVncm91bmQgYW5kIHRoZQ0K LSAgICAgIDs7IGJhY2tncm91bmQgbmVlZCB0byBoYXZlIHRoZSBzYW1lL3NpbWlsYXIgaHVlDQot ICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggdGhlbXNlbHZlcyBPUiB0 aGUgZm9yZWdyb3VuZHMgY2FuIGJlDQotICAgICAgOzsgY29tYmluZWQgd2l0aCBhbnkgb2YgdGhl IGJhc2UgYmFja2dyb3VuZHMNCi0gICAgICAoInJlZC1yZWZpbmUtYmciIC4gIiNmZmNjY2MiKSAo InJlZC1yZWZpbmUtZmciIC4gIiM3ODAwMDAiKQ0KLSAgICAgICgiZ3JlZW4tcmVmaW5lLWJnIiAu ICIjYWNlYWFjIikgKCJncmVlbi1yZWZpbmUtZmciIC4gIiMwMDRjMDAiKQ0KLSAgICAgICgieWVs bG93LXJlZmluZS1iZyIgLiAiI2ZmZjI5YSIpICgieWVsbG93LXJlZmluZS1mZyIgLiAiIzYwNDAw MCIpDQotICAgICAgKCJibHVlLXJlZmluZS1iZyIgLiAiIzhhYzdmZiIpICgiYmx1ZS1yZWZpbmUt ZmciIC4gIiMwMDIyODgiKQ0KLSAgICAgICgibWFnZW50YS1yZWZpbmUtYmciIC4gIiNmZmNjZmYi KSAoIm1hZ2VudGEtcmVmaW5lLWZnIiAuICIjNzcwMDc3IikNCi0gICAgICAoImN5YW4tcmVmaW5l LWJnIiAuICIjOGVlY2Y0IikgKCJjeWFuLXJlZmluZS1mZyIgLiAiIzAwNDg1MCIpDQotICAgICAg Ozsgc3R5bGVzIHRoYXQgYXJlIG1lYW50IGV4Y2x1c2l2ZWx5IGZvciB0aGUgbW9kZSBsaW5lDQot ICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1hY3RpdmUnLCBg YmctaW5hY3RpdmUnDQotICAgICAgKCJyZWQtYWN0aXZlIiAuICIjOGEwMDAwIikgKCJncmVlbi1h Y3RpdmUiIC4gIiMwMDRjMmUiKQ0KLSAgICAgICgieWVsbG93LWFjdGl2ZSIgLiAiIzcwMmQxZiIp ICgiYmx1ZS1hY3RpdmUiIC4gIiMwMDMwYjQiKQ0KLSAgICAgICgibWFnZW50YS1hY3RpdmUiIC4g IiM1YzIwOTIiKSAoImN5YW4tYWN0aXZlIiAuICIjMDAzZjhhIikNCi0gICAgICA7OyBzdHlsZXMg dGhhdCBhcmUgbWVhbnQgZXhjbHVzaXZlbHkgZm9yIHRoZSBmcmluZ2VzDQotICAgICAgOzsNCi0g ICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggYGZnLW1haW4nDQotICAgICAgKCJyZWQtZnJp bmdlLWJnIiAuICIjZjA4MjkwIikgKCJncmVlbi1mcmluZ2UtYmciIC4gIiM2MmM4NmEiKQ0KLSAg ICAgICgieWVsbG93LWZyaW5nZS1iZyIgLiAiI2RiYmEzZiIpICgiYmx1ZS1mcmluZ2UtYmciIC4g IiM4MmFmZmYiKQ0KLSAgICAgICgibWFnZW50YS1mcmluZ2UtYmciIC4gIiNlMGEzZmYiKSAoImN5 YW4tZnJpbmdlLWJnIiAuICIjMmZjZGRmIikNCi0gICAgICA7OyBzdHlsZXMgcmVzZXJ2ZWQgZm9y IHNwZWNpZmljIGZhY2VzDQotICAgICAgOzsNCi0gICAgICA7OyBgYmctaGwtbGluZScgaXMgYmV0 d2VlbiBgYmctZGltJyBhbmQgYGJnLWFsdCcsIHNvIGl0IHNob3VsZA0KLSAgICAgIDs7IHdvcmsg d2l0aCBhbGwgYWNjZW50cyB0aGF0IGNvdmVyIHRob3NlIHR3bywgcGx1cyBgYmctbWFpbicNCi0g ICAgICA7Ow0KLSAgICAgIDs7IGBiZy1obC1hbHQnIGFuZCBgYmctaGwtYWx0LWludGVuc2UnIHNo b3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBubw0KLSAgICAgIDs7IG90aGVyIGdyZXlzY2FsZSBvciBm YWlybHkgbmV1dHJhbCBiYWNrZ3JvdW5kIGlzIGF2YWlsYWJsZSB0bw0KLSAgICAgIDs7IHByb3Bl cmx5IGRyYXcgYXR0ZW50aW9uIHRvIGEgZ2l2ZW4gY29uc3RydWN0DQotICAgICAgOzsNCi0gICAg ICA7OyBgYmctaGVhZGVyJyBpcyBiZXR3ZWVuIGBiZy1hY3RpdmUnIGFuZCBgYmctaW5hY3RpdmUn LCBzbyBpdA0KLSAgICAgIDs7IGNhbiBiZSBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgImFjdGl2 ZSIgdmFsdWVzLCBwbHVzIHRoZQ0KLSAgICAgIDs7ICJzcGVjaWFsIiBhbmQgYmFzZSBmb3JlZ3Jv dW5kIGNvbG91cnMNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1wYXJlbi1tYXRjaCcsIGBiZy1w YXJlbi1tYXRjaC1pbnRlbnNlJywgYGJnLXJlZ2lvbicgYW5kDQotICAgICAgOzsgYGJnLXRhYi1h Y3RpdmUnIG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicsIHdoaWxlDQotICAgICAgOzsg YGJnLXRhYi1pbmFjdGl2ZScgc2hvdWxkIGJlIGNvbWJpbmVkIHdpdGggYGZnLWRpbScNCi0gICAg ICA7Ow0KLSAgICAgIDs7IGBiZy10YWItYmFyJyBpcyBvbmx5IGludGVuZGVkIGZvciB0aGUgYmFy IHRoYXQgaG9sZHMgdGhlIHRhYnMgYW5kDQotICAgICAgOzsgY2FuIG9ubHkgYmUgY29tYmluZWQg d2l0aCBgZmctbWFpbicNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy10YWItYWN0aXZlJyBpcyBt ZWFudCB0byBiZSBjb21iaW5lZCB3aXRoIGBiZy10YWItYWN0aXZlJywNCi0gICAgICA7OyB0aG91 Z2ggb25seSBmb3Igc3R5bGluZyBzcGVjaWFsIGVsZW1lbnRzLCBzdWNoIGFzIHVuZGVybGluaW5n DQotICAgICAgOzsgdGhlIGN1cnJlbnQgdGFiDQotICAgICAgOzsNCi0gICAgICA7OyBgZmctZXNj YXBlLWNoYXItY29uc3RydWN0JyBhbmQgYGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCcgY2FuDQot ICAgICAgOzsgYmUgY29tYmluZWQgYGJnLW1haW4nLCBgYmctZGltJywgYGJnLWFsdCcNCi0gICAg ICA7Ow0KLSAgICAgIDs7IGBmZy1sYW5nLWVycm9yJywgYGZnLWxhbmctd2FybmluZycsIGBmZy1s YW5nLW5vdGUnIGNhbiBiZQ0KLSAgICAgIDs7IGNvbWJpbmVkIHdpdGggYGJnLW1haW4nLCBgYmct ZGltJywgYGJnLWFsdCcNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy1tYXJrLXNlbCcsIGBmZy1t YXJrLWRlbCcsIGBmZy1tYXJrLWFsdCcgY2FuIGJlIGNvbWJpbmVkDQotICAgICAgOzsgd2l0aCBg YmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0JywgYGJnLWhsLWxpbmUnDQotICAgICAgOzsNCi0g ICAgICA7OyBgZmctdW5mb2N1c2VkJyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggYGZnLW1haW4nDQot ICAgICAgOzsNCi0gICAgICA7OyB0aGUgd2luZG93IGRpdmlkZXIgY29sb3VycyBhcHBseSB0byBm YWNlcyB3aXRoIGp1c3QgYW4gZmcgdmFsdWUNCi0gICAgICA7Ow0KLSAgICAgIDs7IGFsbCBwYWly cyBhcmUgY29tYmluYWJsZSB3aXRoIHRoZW1zZWx2ZXMNCi0gICAgICAoImJnLWhsLWxpbmUiIC4g IiNmMmVmZjMiKQ0KLSAgICAgICgiYmctaGwtbGluZS1pbnRlbnNlIiAuICIjZTBlMGUwIikNCi0g ICAgICAoImJnLWhsLWFsdCIgLiAiI2ZiZWVlMCIpDQotICAgICAgKCJiZy1obC1hbHQtaW50ZW5z ZSIgLiAiI2U4ZGZkMSIpDQotICAgICAgKCJiZy1wYXJlbi1tYXRjaCIgLiAiI2UwYWY4MiIpDQot ICAgICAgKCJiZy1wYXJlbi1tYXRjaC1pbnRlbnNlIiAuICIjYzQ4OGZmIikNCi0gICAgICAoImJn LXJlZ2lvbiIgLiAiI2JjYmNiYyIpDQotDQotICAgICAgKCJiZy10YWItYmFyIiAuICIjZDVkNWQ1 IikNCi0gICAgICAoImJnLXRhYi1hY3RpdmUiIC4gIiNmNmY2ZjYiKQ0KLSAgICAgICgiYmctdGFi LWluYWN0aXZlIiAuICIjYmRiZGJkIikNCi0gICAgICAoImZnLXRhYi1hY3RpdmUiIC4gIiMzMDE2 OWUiKQ0KLQ0KLSAgICAgICgiZmctZXNjYXBlLWNoYXItY29uc3RydWN0IiAuICIjOGIxMDMwIikN Ci0gICAgICAoImZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCIgLiAiIzY1NGQwZiIpDQotDQotICAg ICAgKCJmZy1sYW5nLWVycm9yIiAuICIjOWYwMDRmIikNCi0gICAgICAoImZnLWxhbmctd2Fybmlu ZyIgLiAiIzYwNGYwZiIpDQotICAgICAgKCJmZy1sYW5nLW5vdGUiIC4gIiM0MDQwYWUiKQ0KLQ0K LSAgICAgICgiZmctd2luZG93LWRpdmlkZXItaW5uZXIiIC4gIiM4ODg4ODgiKQ0KLSAgICAgICgi Zmctd2luZG93LWRpdmlkZXItb3V0ZXIiIC4gIiM1ODU4NTgiKQ0KLQ0KLSAgICAgICgiZmctdW5m b2N1c2VkIiAuICIjNTY1NzZkIikNCi0NCi0gICAgICAoImJnLWhlYWRlciIgLiAiI2U1ZTVlNSIp ICgiZmctaGVhZGVyIiAuICIjMmEyYTJhIikNCi0NCi0gICAgICAoImJnLXdoaXRlc3BhY2UiIC4g IiNmZmY4ZmMiKSAoImZnLXdoaXRlc3BhY2UiIC4gIiM2NDUwNjAiKQ0KLQ0KLSAgICAgICgiYmct ZGlmZi1oZWFkaW5nIiAuICIjYjdjMmRkIikgKCJmZy1kaWZmLWhlYWRpbmciIC4gIiMwNDMzNTUi KQ0KLSAgICAgICgiYmctZGlmZi1hZGRlZCIgLiAiI2Q0ZmFkNCIpICgiZmctZGlmZi1hZGRlZCIg LiAiIzAwNDUwMCIpDQotICAgICAgKCJiZy1kaWZmLWNoYW5nZWQiIC4gIiNmY2VmY2YiKSAoImZn LWRpZmYtY2hhbmdlZCIgLiAiIzUyNDIwMCIpDQotICAgICAgKCJiZy1kaWZmLXJlbW92ZWQiIC4g IiNmZmU4ZWYiKSAoImZnLWRpZmYtcmVtb3ZlZCIgLiAiIzY5MTYxNiIpDQotDQotICAgICAgKCJi Zy1kaWZmLXJlZmluZS1hZGRlZCIgLiAiIzk0Y2Y5NCIpICgiZmctZGlmZi1yZWZpbmUtYWRkZWQi IC4gIiMwMDJhMDAiKQ0KLSAgICAgICgiYmctZGlmZi1yZWZpbmUtY2hhbmdlZCIgLiAiI2NjY2Y4 ZiIpICgiZmctZGlmZi1yZWZpbmUtY2hhbmdlZCIgLiAiIzMwMjAxMCIpDQotICAgICAgKCJiZy1k aWZmLXJlZmluZS1yZW1vdmVkIiAuICIjZGFhMmIwIikgKCJmZy1kaWZmLXJlZmluZS1yZW1vdmVk IiAuICIjNDAwMDAwIikNCi0NCi0gICAgICAoImJnLWRpZmYtZm9jdXMtYWRkZWQiIC4gIiNiYmVh YmIiKSAoImZnLWRpZmYtZm9jdXMtYWRkZWQiIC4gIiMwMDJjMDAiKQ0KLSAgICAgICgiYmctZGlm Zi1mb2N1cy1jaGFuZ2VkIiAuICIjZWNkZmJmIikgKCJmZy1kaWZmLWZvY3VzLWNoYW5nZWQiIC4g IiMzOTI5MDAiKQ0KLSAgICAgICgiYmctZGlmZi1mb2N1cy1yZW1vdmVkIiAuICIjZWZjYmNmIikg KCJmZy1kaWZmLWZvY3VzLXJlbW92ZWQiIC4gIiM0YTAwMDAiKQ0KLQ0KLSAgICAgICgiYmctZGlm Zi1uZXV0cmFsLTAiIC4gIiM5Nzk3OTciKSAoImZnLWRpZmYtbmV1dHJhbC0wIiAuICIjMDQwNDA0 IikNCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0xIiAuICIjYjBiMGIwIikgKCJmZy1kaWZmLW5l dXRyYWwtMSIgLiAiIzI1MjUyNSIpDQotICAgICAgKCJiZy1kaWZmLW5ldXRyYWwtMiIgLiAiI2Nj Y2NjYyIpICgiZmctZGlmZi1uZXV0cmFsLTIiIC4gIiMzYTNhM2EiKQ0KLQ0KLSAgICAgICgiYmct bWFyay1zZWwiIC4gIiNhMGYwY2YiKSAoImZnLW1hcmstc2VsIiAuICIjMDA1MDQwIikNCi0gICAg ICAoImJnLW1hcmstZGVsIiAuICIjZmZjY2JiIikgKCJmZy1tYXJrLWRlbCIgLiAiIzg0MDA0MCIp DQotICAgICAgKCJiZy1tYXJrLWFsdCIgLiAiI2Y1ZDg4ZiIpICgiZmctbWFyay1hbHQiIC4gIiM3 ODI5MDAiKSkNCi0gICAgIlRoZSBlbnRpcmUgcGFsZXR0ZSBvZiBgbW9kdXMtb3BlcmFuZGktdGhl bWUnLg0KLUVhY2ggZWxlbWVudCBoYXMgdGhlIGZvcm0gKE5BTUUgLiBIRVgpLiIpDQotDQotICAo ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdCAnKCkN Ci0gICAgIkFzc29jaWF0aW9uIGxpc3Qgb2YgcGFsZXR0ZSBjb2xvdXIgb3ZlcnJpZGVzLg0KLVZh bHVlcyBjYW4gYmUgbWFwcGVkIHRvIHZhcmlhYmxlcywgdXNpbmcgdGhlIHNhbWUgc3ludGF4IGFz IHRoZQ0KLW9uZSBwcmVzZW50IGluIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1kZWZhdWx0LWNvbG9y cy1hbGlzdCcuDQotDQotVGhpcyBpcyBvbmx5IG1lYW50IGZvciBkby1pdC15b3Vyc2VsZiB1c2Fn ZSwgd2l0aCB0aGUNCi11bmRlcnN0YW5kaW5nIHRoYXQgdGhlIHVzZXIgaXMgcmVzcG9uc2libGUg Zm9yIHRoZSByZXN1bHRpbmcNCi1jb250cmFzdCByYXRpbyBiZXR3ZWVuIG5ldyBhbmQgZXhpc3Rp bmcgY29sb3Vycy4iDQotICAgIDp0eXBlICcoYWxpc3QNCi0gICAgICAgICAgICA6a2V5LXR5cGUg KHN0cmluZyA6dGFnICJOYW1lIikNCi0gICAgICAgICAgICA6dmFsdWUtdHlwZSAoc3RyaW5nIDp0 YWcgIiBIZXgiKSkpDQotDQotICAoZGVmbWFjcm8gbW9kdXMtb3BlcmFuZGktdGhlbWUtd2l0aC1j b2xvci12YXJpYWJsZXMgKCZyZXN0IGJvZHkpDQotICAgICJgbGV0JyBiaW5kIGFsbCBjb2xvdXJz IGFyb3VuZCBCT0RZLg0KLUFsc28gYmluZCBgY2xhc3MnIHRvICgoY2xhc3MgY29sb3IpIChtaW4t Y29sb3JzIDg5KSkuIg0KLSAgICAoZGVjbGFyZSAoaW5kZW50IDApKQ0KLSAgICBgKGxldCAoKGNs YXNzICcoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OSkpKQ0KLSAgICAgICAgICAgLEAobWFw Y2FyIChsYW1iZGEgKGNvbnMpDQotICAgICAgICAgICAgICAgICAgICAgICAobGlzdCAoaW50ZXJu IChjYXIgY29ucykpIChjZHIgY29ucykpKQ0KLSAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQg bW9kdXMtb3BlcmFuZGktdGhlbWUtZGVmYXVsdC1jb2xvcnMtYWxpc3QNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlz dCkpDQotICAgICAgICAgICA7OyBzaW1wbGUgY29uZGl0aW9uYWwgc3R5bGVzIHRoYXQgZXZhbHVh dGUgdXNlci1mYWNpbmcNCi0gICAgICAgICAgIDs7IGN1c3RvbWlzYXRpb24gb3B0aW9ucw0KLSAg ICAgICAgICAgKG1vZHVzLXRoZW1lLXNsYW50DQotICAgICAgICAgICAgKGlmIG1vZHVzLW9wZXJh bmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyAnaXRhbGljICdub3JtYWwpKQ0KLSAgICAgICAg ICAgKG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoDQotICAgICAgICAgICAgKGlmIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICd2YXJpYWJsZS1waXRjaCAnZGVm YXVsdCkpKQ0KLSAgICAgICAsQGJvZHkpKSkNCi0NCi0MDQotDQotOzs7IEZhY2VzDQotDQotKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXdpdGgtY29sb3ItdmFyaWFibGVzDQotICAoY3VzdG9tLXRoZW1l LXNldC1mYWNlcw0KLSAgICdtb2R1cy1vcGVyYW5kaQ0KLTs7OzsgY3VzdG9tIGZhY2VzDQotICAg OzsgdGhlc2UgYmVzcG9rZSBmYWNlcyBhcmUgaW5oZXJpdGVkIGJ5IG90aGVyIGNvbnN0cnVjdHMg YmVsb3cNCi07Ozs7OyBzdWJ0bGUgY29sb3VyZWQgYmFja2dyb3VuZHMNCi0gICBgKG1vZHVzLXRo ZW1lLXN1YnRsZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1zdWJ0bGUtYmcgOmZvcmVn cm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxncmVlbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93 LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0 bGUtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgKCgsY2xhc3MgOmJh Y2tncm91bmQgLG1hZ2VudGEtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBg KG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRs ZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtbmV1 dHJhbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlKSkpDQotOzs7OzsgaW50ZW5zZSBjb2xvdXJlZCBiYWNrZ3JvdW5kcw0KLSAgIGAobW9k dXMtdGhlbWUtaW50ZW5zZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dy b3VuZCAseWVsbG93LWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1v ZHVzLXRoZW1lLWludGVuc2UtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW1h Z2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgcmVmaW5lZCBiYWNrZ3JvdW5kIGFu ZCBmb3JlZ3JvdW5kIGNvbWJpbmF0aW9ucw0KLSAgIDs7IGdlbmVyYWwgcHVycG9zZSBzdHlsZXMg dGhhdCB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBhZ2FpbnN0IGFuDQotICAgOzsgYWNjZW50 ZWQgYmFja2dyb3VuZA0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLXJlZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAscmVkLXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KLSAg IGAobW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1y ZWZpbmUtYmcgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXJlZmluZS1iZyA6 Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5l LWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxi bHVlLXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgKCgsY2xh c3MgOmJhY2tncm91bmQgLG1hZ2VudGEtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJl ZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4tcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KLTs7 Ozs7ICJhY3RpdmUiIGNvbWJpbmF0aW9ucywgbW9zdGx5IGZvciB1c2Ugb24gdGhlIG1vZGUgbGlu ZQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVk LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3Rp dmUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs YmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93ICgoLGNsYXNzIDpi YWNrZ3JvdW5kICx5ZWxsb3ctYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBg KG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtbWFn ZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1hY3RpdmUgOmZvcmVncm91bmQgLGJn LWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4tYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi07Ozs7OyBudWFu Y2VkIGJhY2tncm91bmRzDQotICAgOzsgdXNlZnVsIGZvciBhZGRpbmcgYW4gYWNjZW50ZWQgYmFj a2dyb3VuZCB0aGF0IGlzIHN1aXRhYmxlIGZvciBhbGwNCi0gICA7OyBtYWluIGZvcmVncm91bmQg Y29sb3VycyAoaW50ZW5kZWQgZm9yIHVzZSBpbiBPcmcgc291cmNlIGJsb2NrcykNCi0gICBgKG1v ZHVzLXRoZW1lLW51YW5jZWQtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1i Zw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFj cy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1u dWFuY2VkLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1udWFuY2VkLWJnDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNl ZC15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1udWFuY2VkLWJnDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9y LXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQt Ymx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9u IDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEg KCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lv biAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICco OmV4dGVuZCB0KSkpKSkNCi07Ozs7OyBmcmluZ2Utc3BlY2lmaWMgY29tYmluYXRpb25zDQotICAg YChtb2R1cy10aGVtZS1mcmluZ2UtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtZnJpbmdl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtZ3Jl ZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dy b3VuZCAseWVsbG93LWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9k dXMtdGhlbWUtZnJpbmdlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtZnJpbmdlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50 YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1mcmluZ2UtYmcgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxjeWFuLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IHNwZWNp YWwgYmFzZSB2YWx1ZXMNCi0gICA7OyB0aGVzZSBhcmUgY2xvc2VyIHRvIHRoZSBncmF5c2NhbGUg dGhhbiB0aGUgYWNjZW50cyBkZWZpbmVkIGFib3ZlDQotICAgOzsgYW5kIHNob3VsZCBvbmx5IGJl IHVzZWQgd2hlbiB0aGUgbmV4dCBjbG9zZXN0IGFsdGVybmF0aXZlIHdvdWxkIGJlDQotICAgOzsg YSBncmV5c2NhbGUgdmFsdWUgdGhhbiBhbiBhY2NlbnRlZCBvbmUNCi0gICBgKG1vZHVzLXRoZW1l LXNwZWNpYWwtY29sZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtbWls ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1taWxkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctc3BlY2lhbC13YXJtIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Ymctc3BlY2lhbC1jYWxtIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBk aWZmLXNwZWNpZmljIGNvbWJpbmF0aW9ucw0KLSAgIDs7IGludGVuZGVkIGZvciBgZGlmZi1tb2Rl JyBvciBlcXVpdmFsZW50DQotICAgYChtb2R1cy10aGVtZS1kaWZmLWFkZGVkDQotICAgICAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1t YWluIGdyZWVuDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYt Zm9jdXMtYWRkZWQNCi0gICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlmZi1h ZGRlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZA0KLSAgICAgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctbWFpbiB5 ZWxsb3cNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZv Y3VzLWNoYW5nZWQNCi0gICAgICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIGZnLWRpZmYt Y2hhbmdlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZA0KLSAgICAgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctbWFp biByZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZv Y3VzLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgIHJlZC1udWFuY2VkLWJnIGZnLWRpZmYtcmVt b3ZlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkDQotICAgICAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1k aWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5l LWFkZGVkIGZnLWRpZmYtcmVmaW5lLWFkZGVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZv Y3VzLWFkZGVkIGZnLWRpZmYtZm9jdXMtYWRkZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZm LXJlZmluZS1jaGFuZ2VkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1k aWZmDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQot ICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIGZnLWRpZmYtcmVmaW5lLWNo YW5nZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZv Y3VzLWNoYW5nZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkDQot ICAgICAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAg ICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkDQotICAgICAgICAgICAgICAgICBi Zy1kaWZmLXJlZmluZS1yZW1vdmVkIGZnLWRpZmYtcmVmaW5lLXJlbW92ZWQNCi0gICAgICAgICAg ICAgICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkpDQot ICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1kaW0gZ3JlZW4NCi0g ICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0K LSAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVkKSkpKQ0KLSAgIGAo bW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2VkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1kaW0geWVsbG93DQotICAg ICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2Vk DQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkKSkpKQ0K LSAgIGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVkDQotICAgICAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1kaW0gcmVkDQot ICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1v dmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkKSkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nDQotICAgICAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1hbHQgYmx1ZS1hbHQN Ci0gICAgICAgICAgICAgICAgIGJnLWRpZmYtaGVhZGluZyBmZy1kaWZmLWhlYWRpbmcNCi0gICAg ICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlKSkpKQ0KLTs7Ozs7IG1hcmsgaW5kaWNh dG9ycw0KLSAgIDs7IGNvbG91ciBjb21iaW5hdGlvbnMgaW50ZW5kZWQgZm9yIERpcmVkLCBJYnVm ZmVyLCBvciBlcXVpdmFsZW50DQotICAgYChtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRo ZW1lLW1hcmstYWx0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmst YWx0IDpmb3JlZ3JvdW5kICxmZy1tYXJrLWFsdCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1k ZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctbWFyay1kZWwgOmZvcmVn cm91bmQgLGZnLW1hcmstZGVsKSkpDQotICAgYChtb2R1cy10aGVtZS1tYXJrLXNlbCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1tYXJrLXNlbCA6Zm9yZWdyb3VuZCAsZmct bWFyay1zZWwpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgaGVhZGluZyBsZXZlbHMN Ci0gICA7OyBzdHlsZXMgZm9yIHJlZ3VsYXIgaGVhZGluZ3MgdXNlZCBpbiBPcmcsIE1hcmtkb3du LCBJbmZvLCBldGMuDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTENCi0gICAgICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDEgZmct bWFpbiBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KLSAg ICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGkt dGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctMg0KLSAgICAgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAg MiBmZy1zcGVjaWFsLXdhcm0gbWFnZW50YS1hbHQgcmVkLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0K LSAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFu ZGktdGhlbWUtc2NhbGUtMykpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctMw0KLSAgICAg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAg ICAgMyBmZy1zcGVjaWFsLWNvbGQgYmx1ZSBibHVlLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KLSAg ICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGkt dGhlbWUtc2NhbGUtMikpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNA0KLSAgICAgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAg NCBmZy1zcGVjaWFsLW1pbGQgY3lhbiBjeWFuLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KLSAgICAg ICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhl bWUtc2NhbGUtMSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNQ0KLSAgICAgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgNSBm Zy1zcGVjaWFsLWNhbG0gZ3JlZW4tYWx0LW90aGVyIGdyZWVuLW51YW5jZWQtYmcgYmctcmVnaW9u KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy02DQotICAgICAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA2IHllbGxvdy1udWFu Y2VkIHllbGxvdy1hbHQtb3RoZXIgeWVsbG93LW51YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtaGVhZGluZy03DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA3IHJlZC1udWFuY2VkIHJlZC1hbHQg cmVkLW51YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy04 DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAg ICAgICAgICAgICA4IGZnLWRpbSBtYWdlbnRhIGJnLWFsdCBiZy1yZWdpb24pKSkpDQotOzs7Ozsg b3RoZXIgY3VzdG9tIGZhY2VzDQotICAgYChtb2R1cy10aGVtZS1obC1saW5lICgoLGNsYXNzIDpi YWNrZ3JvdW5kICwoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctaGwtbGlu ZS1pbnRlbnNlIGJnLWhsLWxpbmUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi07Ozs7 IHN0YW5kYXJkIGZhY2VzDQotOzs7OzsgYWJzb2x1dGUgZXNzZW50aWFscw0KLSAgIGAoZGVmYXVs dCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChmcmlu Z2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZnJpbmdlIGJnLWluYWN0aXZlIGJn LWFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAodmVydGljYWwtYm9yZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2 aWRlci1pbm5lcikpKQ0KLTs7Ozs7IGJhc2ljIGFuZC9vciB1bmdyb3VwZWQgc3R5bGVzDQotICAg OzsgTW9kaWZ5IHRoZSBgYm9sZCcgZmFjZSB0byBjaGFuZ2UgdGhlIHdlaWdodCBvZiBhbGwgImJv bGQiIGVsZW1lbnRzDQotICAgOzsgZGVmaW5lZCBieSB0aGUgdGhlbWUuICBZb3UgbmVlZCBhIHR5 cGVmYWNlIHRoYXQgc3VwcG9ydHMgYQ0KLSAgIDs7IG11bHRpdHVkZSBvZiBoZWF2aWVyIHdlaWdo dHMgdGhhbiB0aGUgcmVndWxhciBvbmUgYW5kIHRoZW4geW91DQotICAgOzsgbXVzdCBzcGVjaWZ5 IHRoZSBleGFjdCBuYW1lIG9mIHRoZSBvbmUgeW91IHdpc2ggdG8gYXBwbHkuICBFeGFtcGxlDQot ICAgOzsgZm9yIHlvdXIgaW5pdC5lbDoNCi0gICA7Ow0KLSAgIDs7IChzZXQtZmFjZS1hdHRyaWJ1 dGUgJ2JvbGQgbmlsIDp3ZWlnaHQgJ3NlbWlib2xkKQ0KLSAgIGAoYm9sZCAoKCxjbGFzcyA6d2Vp Z2h0IGJvbGQpKSkNCi0gICBgKGNvbWludC1oaWdobGlnaHQtaW5wdXQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KLSAgIGAoY29taW50LWhpZ2hsaWdodC1wcm9tcHQgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9tcHQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4NCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlLWFsdA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1yZWZpbmUtYmcgZmctbWFpbikp KSkNCi0gICBgKGVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAoZXNjYXBlLWdseXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hh ci1jb25zdHJ1Y3QpKSkNCi0gICBgKGZpbGUtbmFtZS1zaGFkb3cgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoaGVhZGVyLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChoZWFkZXItbGlu ZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkN Ci0gICBgKGhlbHAtYXJndW1lbnQtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbiA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChob21vZ2x5cGggKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAgIGAoaWJ1ZmZlci1sb2NrZWQt YnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChp dGFsaWMgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobm9icmVhay1oeXBoZW4gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAgIGAobm9i cmVhay1zcGFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0 IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWluaWJ1ZmZlci1wcm9tcHQgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjeWFuLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhbi1udWFuY2VkLWJnIGN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN5YW4tcmVmaW5lLWJnIGZnLW1haW4pKSkpDQotICAgYChtbS1jb21tYW5kLW91dHB1dCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAobW0tdXUtZXh0cmFjdCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQp KSkNCi0gICBgKG5leHQtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LXJlZCkpKQ0KLSAgIGAocmVjdGFuZ2xlLXByZXZpZXcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYChyZWdpb24gKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLXJlZ2lvbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc2Vjb25kYXJ5LXNlbGVj dGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KHNoYWRvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChzdWNjZXNzICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYCh0cmFpbGlu Zy13aGl0ZXNwYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtaW50ZW5zZS1iZykpKQ0KLSAg IGAod2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci07Ozs7OyBidXR0b25zLCBsaW5rcywgd2lkZ2V0cw0KLSAgIGAoYnV0dG9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICxAKHVubGVz cyBtb2R1cy1vcGVyYW5kaS10aGVtZS1uby1saW5rLXVuZGVybGluZQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAobGlzdCA6dW5kZXJsaW5lIHQpKSkpKQ0KLSAgIGAobGluayAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKGxpbmstdmlzaXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBs aW5rIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAodG9vbHRpcCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYCh3aWRnZXQtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAo d2lkZ2V0LWJ1dHRvbi1wcmVzc2VkICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAod2lkZ2V0LWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQotICAgYCh3aWRnZXQtZmllbGQgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYCh3aWRnZXQtaW5hY3RpdmUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkp KQ0KLSAgIGAod2lkZ2V0LXNpbmdsZS1saW5lLWZpZWxkICgoLGNsYXNzIDppbmhlcml0IHdpZGdl dC1maWVsZCkpKQ0KLTs7Ozs7IGFnDQotICAgYChhZy1oaXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChhZy1tYXRjaC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IGFsZXJ0DQotICAgYChh bGVydC1oaWdoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFs dCkpKQ0KLSAgIGAoYWxlcnQtbG93LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtbWlsZCkpKQ0KLSAgIGAoYWxlcnQtbW9kZXJhdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGFsZXJ0LXRyaXZpYWwtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChhbGVydC11cmdlbnQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0K LTs7Ozs7IGFsbC10aGUtaWNvbnMNCi0gICBgKGFsbC10aGUtaWNvbnMtYmx1ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1ibHVlLWFsdCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtY3lhbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1jeWFuLWFsdCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZGJs dWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhl LWljb25zLWRjeWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAg IGAoYWxsLXRoZS1pY29ucy1kZ3JlZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1v dGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kaXJlZC1kaXItZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kbWFyb29uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kb3Jh bmdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhl LWljb25zLWRwaW5rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChhbGwt dGhlLWljb25zLWRwdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQot ICAgYChhbGwtdGhlLWljb25zLWRyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoYWxsLXRoZS1pY29ucy1kc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotICAgYChhbGwtdGhlLWljb25zLWdyZWVuICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sYmx1ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbGN5YW4gKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxn cmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkpDQotICAgYChhbGwt dGhlLWljb25zLWxtYXJvb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZn KSkpDQotICAgYChhbGwtdGhlLWljb25zLWxvcmFuZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHBpbmsgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxwdXJwbGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhl LWljb25zLWxyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcpKSkNCi0gICBg KGFsbC10aGUtaWNvbnMtbHNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYChhbGwtdGhlLWljb25zLWx5ZWxsb3cgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbWFyb29uICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChhbGwtdGhlLWljb25zLW9yYW5nZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1waW5rICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChhbGwtdGhlLWljb25zLXB1cnBs ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNv bnMtcHVycGxlLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKGFsbC10aGUtaWNvbnMtcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKGFsbC10aGUtaWNvbnMtcmVkLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1zaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy15ZWxsb3cgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGFubm90YXRlDQotICAgYChhbm5vdGF0ZS1hbm5vdGF0 aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChh bm5vdGF0ZS1hbm5vdGF0aW9uLXNlY29uZGFyeSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGFubm90YXRlLWhpZ2hsaWdodCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDp1bmRlcmxpbmUgLGJsdWUtaW50ZW5zZSkpKQ0KLSAg IGAoYW5ub3RhdGUtaGlnaGxpZ2h0LXNlY29uZGFyeSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3Jl ZW4tbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxncmVlbi1pbnRlbnNlKSkpDQotOzs7OzsgYW56dQ0K LSAgIGAoYW56dS1tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1j eWFuKSkpDQotICAgYChhbnp1LW1hdGNoLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLWdyZWVuKSkpDQotICAgYChhbnp1LW1hdGNoLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KLSAgIGAoYW56dS1tb2RlLWxpbmUgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChhbnp1LW1v ZGUtbGluZS1uby1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQotICAgYChhbnp1LXJlcGxhY2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotICAgYChhbnp1LXJl cGxhY2UtdG8gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9s ZCkpKSkNCi07Ozs7OyBhcHJvcG9zDQotICAgYChhcHJvcG9zLWZ1bmN0aW9uLWJ1dHRvbiAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChhcHJvcG9zLWtleWJpbmRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAoYXByb3Bvcy1taXNjLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBi dXR0b24gOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChhcHJvcG9zLXByb3Bl cnR5ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGFwcm9wb3Mtc3ltYm9sICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGFwcm9wb3MtdXNlci1vcHRpb24tYnV0dG9uICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChhcHJvcG9zLXZh cmlhYmxlLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGJsdWUp KSkNCi07Ozs7OyBhcHQtc291cmNlcy1saXN0DQotICAgYChhcHQtc291cmNlcy1saXN0LWNvbXBv bmVudHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGFwdC1zb3VyY2VzLWxp c3Qtb3B0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChhcHQtc291 cmNlcy1saXN0LXN1aXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoYXB0 LXNvdXJjZXMtbGlzdC10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChhcHQtc291cmNlcy1saXN0LXVyaSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7 Ozs7IGFydGJvbGxvY2tzLW1vZGUNCi0gICBgKGFydGJvbGxvY2tzLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLW5vdGUpKSkNCi0gICBg KGFydGJvbGxvY2tzLWxleGljYWwtaWxsdXNpb25zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkLWFsdCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGFydGJv bGxvY2tzLXBhc3NpdmUtdm9pY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51 YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy13YXJuaW5nKSkpDQotICAgYChhcnRib2xsb2Nrcy13 ZWFzZWwtd29yZHMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQgOnVuZGVy bGluZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IGF1Y3RleCBhbmQgVGV4DQotICAgYChmb250 LWxhdGV4LWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNhbG0pKSkNCi0gICBgKGZvbnQtbGF0ZXgtZG9jdGV4LWRvY3VtZW50YXRpb24tZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtZG9jdGV4LXByZXByb2Nlc3Nvci1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAs cmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm9udC1sYXRleC1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGZvbnQt bGF0ZXgtbWF0aC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K LSAgIGAoZm9udC1sYXRleC1zY3JpcHQtY2hhci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTAtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGJs dWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTEtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5k ICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0yLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdy b3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZv cmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gp IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmlu Zy01LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpm b3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VkYXRlLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm9udC1sYXRleC1zbGlkZS10aXRsZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZv cmVncm91bmQgLGN5YW4tbnVhbmNlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXNjYWxlLTQpKSkpDQotICAgYChmb250LWxhdGV4LXN0cmluZy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdWJzY3JpcHQtZmFjZSAo KCxjbGFzcyA6aGVpZ2h0IDAuOTUpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc3VwZXJzY3JpcHQtZmFj ZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOTUpKSkNCi0gICBgKGZvbnQtbGF0ZXgtdmVyYmF0aW0tZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1p bGQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtd2FybmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYCh0ZXgtbWF0Y2ggKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYCh0ZXgtdmVyYmF0aW0gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYCh0ZXhp bmZvLWhlYWRpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKFRlWC1l cnJvci1kZXNjcmlwdGlvbi1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKFRlWC1lcnJvci1kZXNjcmlwdGlvbi1oZWxwICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24tdGV4LXNhaWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKFRlWC1lcnJvci1kZXNjcmlwdGlvbi13 YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7 Ozs7IGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMNCi0gICBgKGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotOzs7OzsgYXZ5DQotICAgYChh dnktYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KLSAgIGAoYXZ5LWdvdG8tY2hhci10aW1lci1mYWNlICgoLGNsYXNzIDpp bmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdyBib2xkKSkpKQ0KLSAgIGAoYXZ5LWxl YWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhIGJv bGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNlLTAgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLWludGVuc2UtYmx1ZSBib2xkKSkpKQ0KLSAgIGAoYXZ5LWxlYWQtZmFjZS0xICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAoYXZ5LWxl YWQtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJv bGQpKSkpDQotOzs7OzsgYXcgKGFjZS13aW5kb3cpDQotICAgYChhdy1iYWNrZ3JvdW5kLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAg YChhdy1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWlu dGVuc2UpKSkNCi0gICBgKGF3LWxlYWRpbmctY2hhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmhlaWdodCAxLjUgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJlZC1pbnRl bnNlKSkpDQotICAgYChhdy1taW5pYnVmZmVyLWxlYWRpbmctY2hhci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoYXctbW9kZS1saW5lLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLTs7Ozs7IGF3ZXNvbWUtdHJheQ0KLSAgIGAoYXdlc29t ZS10cmF5LW1vZHVsZS1hd2Vzb21lLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYmF0 dGVyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWJ1ZmZlci1uYW1lLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAo YXdlc29tZS10cmF5LW1vZHVsZS1jaXJjZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWRhdGUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGF3 ZXNvbWUtdHJheS1tb2R1bGUtZXZpbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1naXQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChhd2Vz b21lLXRyYXktbW9kdWxlLWxhc3QtY29tbWFuZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxl LWxvY2F0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLW1vZGUtbmFtZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9k dWxlLXBhcmVudC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLXJ2bS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7OzsgYmluZGVy DQotICAgYChiaW5kZXItc2lkZWJhci1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGJpbmRlci1zaWRlYmFyLW1hcmtlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAoYmluZGVyLXNpZGViYXIt bWlzc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAg YChiaW5kZXItc2lkZWJhci10YWdzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7 OzsgYm0NCi0gICBgKGJtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZl cnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKGJtLWZyaW5nZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGJtLWZyaW5nZS1w ZXJzaXN0ZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUp KSkNCi0gICBgKGJtLXBlcnNpc3RlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQg KD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi07Ozs7OyBib25n bw0KLSAgIGAoYm9uZ28tYWxidW0tdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0 aXZlKSkpDQotICAgYChib25nby1hcnRpc3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotICAgYChib25nby1jdXJyZW50bHktcGxheWluZy10cmFjayAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQotICAgYChib25nby1lbGFwc2VkLXRyYWNrLXBhcnQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQotICAg YChib25nby1maWxsZWQtc2Vlay1iYXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChib25nby1tYXJrZWQtdHJhY2sgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1hcmstYWx0KSkpDQotICAgYChib25nby1tYXJrZWQtdHJh Y2stbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFyay1hbHQpKSkNCi0gICBgKGJvbmdv LXBsYXllZC10cmFjayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkIDpzdHJpa2Ut dGhyb3VnaCB0KSkpDQotICAgYChib25nby10cmFjay1sZW5ndGggKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChib25nby10cmFjay10aXRsZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGJvbmdvLXVuZmlsbGVkLXNlZWstYmFy ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi07Ozs7OyBib29uDQotICAgYChib29uLW1vZGVsaW5lLWNtZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoYm9vbi1tb2RlbGluZS1pbnMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KLSAgIGAoYm9vbi1t b2RlbGluZS1vZmYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdykp KQ0KLSAgIGAoYm9vbi1tb2RlbGluZS1zcGMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt YWN0aXZlLWdyZWVuKSkpDQotOzs7OzsgYnJlYWtwb2ludCAoYnVpbHQtaW4gZ2RiLW1pLmVsKQ0K LSAgIGAoYnJlYWtwb2ludC1kaXNhYmxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChicmVha3BvaW50LWVuYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQotOzs7OzsgYnVmZmVyLWV4cG9zZQ0KLSAgIGAoYnVmZmVyLWV4cG9zZS1h Y2UtY2hhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3Rp dmUpKSkNCi0gICBgKGJ1ZmZlci1leHBvc2UtbW9kZS1saW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChidWZmZXItZXhwb3NlLXNlbGVjdGVkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgY2Fs ZW5kYXIgYW5kIGRpYXJ5DQotICAgYChjYWxlbmRhci1tb250aC1oZWFkZXIgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY2FsZW5kYXItdG9kYXkg KCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChjYWxlbmRhci13ZWVrZGF5LWhlYWRlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChjYWxlbmRhci13ZWVrZW5kLWhl YWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaWFyeSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGRpYXJ5LWFubml2ZXJzYXJ5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChkaWFyeS10aW1l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaG9saWRheSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBjYWxmdw0KLSAgIGAoY2Z3OmZh Y2UtYW5ub3RhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot ICAgYChjZnc6ZmFjZS1kYXktdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGNmdzpmYWNlLWRlZmF1bHQtY29udGVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWx0KSkpDQotICAgYChjZnc6ZmFjZS1kZWZhdWx0LWRheSAoKCxjbGFzcyA6aW5oZXJpdCAo Y2Z3OmZhY2UtZGF5LXRpdGxlIGJvbGQpKSkpDQotICAgYChjZnc6ZmFjZS1kaXNhYmxlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKGNmdzpmYWNlLWdyaWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotICAgYChjZnc6 ZmFjZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoY2Z3OmZhY2UtaG9saWRheSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXBlcmlvZHMgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS1zYXR1cmRheSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2Ut c2VsZWN0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAg IGAoY2Z3OmZhY2Utc3VuZGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCAs bW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNj YWxlLTUpKSkpDQotICAgYChjZnc6ZmFjZS10b2RheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUpKSkNCi0gICBgKGNmdzpmYWNlLXRvZGF5LXRpdGxlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKGNmdzpmYWNlLXRvb2xiYXIgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQotICAgYChjZnc6ZmFjZS10b29s YmFyLWJ1dHRvbi1vZmYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY2Z3 OmZhY2UtdG9vbGJhci1idXR0b24tb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3Vu ZCAsYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBjZW50YXVyLXRhYnMNCi0gICBg KGNlbnRhdXItdGFicy1hY3RpdmUtYmFyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLXRh Yi1hY3RpdmUpKSkNCi0gICBgKGNlbnRhdXItdGFicy1jbG9zZS1tb3VzZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUgOnVuZGVybGluZSB0KSkpDQot ICAgYChjZW50YXVyLXRhYnMtY2xvc2Utc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1 ci10YWJzLXNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRhYnMtY2xvc2UtdW5zZWxlY3RlZCAo KCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCkpKQ0KLSAgIGAoY2VudGF1 ci10YWJzLW1vZGlmaWVkLW1hcmtlci1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVy LXRhYnMtc2VsZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1tb2RpZmllZC1tYXJrZXItdW5z ZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCkpKQ0KLSAg IGAoY2VudGF1ci10YWJzLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZv cmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKGNlbnRhdXItdGFicy1zZWxlY3RlZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChjZW50YXVyLXRhYnMtc2VsZWN0ZWQtbW9kaWZpZWQgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4gOnNsYW50IGl0 YWxpYykpKQ0KLSAgIGAoY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChjZW50YXVy LXRhYnMtdW5zZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFiLWlu YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0gOnNsYW50IGl0YWxpYykpKQ0KLTs7Ozs7IGNoYW5n ZS1sb2cgYW5kIGxvZy12aWV3IChgdmMtcHJpbnQtbG9nJyBhbmQgYHZjLXByaW50LXJvb3QtbG9n JykNCi0gICBgKGNoYW5nZS1sb2ctYWNrbm93bGVkZ21lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1jb25kaXRpb25hbHMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChjaGFuZ2UtbG9nLWRhdGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLWVtYWlsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChjaGFuZ2UtbG9nLWZpbGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNoYW5nZS1sb2ctZnVuY3Rpb24gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2hhbmdlLWxvZy1saXN0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2hhbmdlLWxv Zy1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChsb2ctZWRpdC1oZWFk ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobG9nLWVk aXQtc3VtbWFyeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChsb2ctZWRpdC11bmtub3duLWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChsb2ctdmlldy1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobG9nLXZpZXctbWVzc2FnZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgY2lkZXINCi0gICBgKGNpZGVyLWRlYnVnLWNv ZGUtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGNp ZGVyLWRlYnVnLXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNpZGVyLWRlcHJlY2F0ZWQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChjaWRlci1kb2N2aWV3LWVt cGhhc2lzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQg aXRhbGljKSkpDQotICAgYChjaWRlci1kb2N2aWV3LWxpdGVyYWwtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctc3Ryb25nLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChjaWRlci1kb2N2aWV3LXRhYmxlLWJvcmRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKGNpZGVyLWVubGlnaHRlbmVkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggLTEgOmNvbG9yICx5ZWxsb3ctYWx0IDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxi Zy1kaW0pKSkNCi0gICBgKGNpZGVyLWVubGlnaHRlbmVkLWxvY2FsLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoY2lkZXIt ZXJyb3ItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKGNpZGVyLWZyYWdpbGUtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggMyA6Y29sb3IgLGZnLWFsdCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotICAgYChjaWRlci1mcmluZ2UtZ29vZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGNpZGVyLWluc3RydW1lbnRlZC1mYWNl ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAscmVkIDpzdHlsZSBuaWwpIDpi YWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKGNpZGVyLXJlYWRlci1jb25kaXRpb25hbC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnNsYW50IGl0YWxpYykpKQ0K LSAgIGAoY2lkZXItcmVwbC1pbnB1dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0g ICBgKGNpZGVyLXJlcGwtcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYChjaWRlci1yZXBsLXN0ZGVyci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY2lkZXItcmVwbC1zdGRvdXQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY2lkZXItcmVzdWx0LW92ZXJsYXkt ZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUgOnN0eWxlIG5p bCkgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1lcnJvci1j bGFzcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoY2lkZXItc3RhY2t0cmFjZS1lcnJvci1tZXNzYWdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQtb3RoZXIgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFj ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjaWRlci1zdGFj a3RyYWNlLWZpbHRlci1hY3RpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQg OnVuZGVybGluZSB0KSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZpbHRlci1pbmFjdGl2ZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoY2lkZXItc3RhY2t0 cmFjZS1mbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtbnMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtcHJvbW90ZWQt YnV0dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLWFsdCA6 c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjaWRlci1z dGFja3RyYWNlLXN1cHByZXNzZWQtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lk dGggMyA6Y29sb3IgLGZnLWFsdCA6c3R5bGUgcHJlc3NlZC1idXR0b24pDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjaWRlci10ZXN0LWVycm9yLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAoY2lkZXIt dGVzdC1mYWlsdXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkIGJvbGQpKSkpDQotICAgYChjaWRlci10ZXN0LXN1Y2Nlc3MtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChjaWRlci10cmFjZWQtZmFj ZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGN5YW4gOnN0eWxlIG5pbCkg OmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItd2FybmluZy1oaWdobGlnaHQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGNp cmNlIChhbmQgbHVpKQ0KLSAgIGAoY2lyY2UtZm9vbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKGNpcmNlLWhpZ2hsaWdodC1uaWNrLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY2lyY2UtcHJvbXB0LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0g ICBgKGNpcmNlLXNlcnZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQp KSkNCi0gICBgKGx1aS1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGx1aS1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGx1aS10aW1lLXN0YW1wLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLTs7Ozs7IGNvbG9yLXJnDQotICAgYChjb2xv ci1yZy1mb250LWxvY2stY29sdW1uLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1jb21tYW5kICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNvbG9yLXJnLWZv bnQtbG9jay1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZsYXNoICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2Nr LWZ1bmN0aW9uLWxvY2F0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt Y2FsbSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5lLWRpcmVjdG9yeSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQt bG9jay1oZWFkZXItbGluZS1lZGl0LW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUta2V5d29yZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChjb2xvci1yZy1mb250 LWxvY2staGVhZGVyLWxpbmUtdGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkp DQotICAgYChjb2xvci1yZy1mb250LWxvY2stbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLW1hcmstY2hh bmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChj b2xvci1yZy1mb250LWxvY2stbWFyay1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLW1hdGNoICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoY29sb3ItcmctZm9u dC1sb2NrLXBvc2l0aW9uLXNwbGl0dGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci07Ozs7OyBjb2x1bW4tZW5mb3JjZS1tb2RlDQotICAgYChjb2x1bW4tZW5mb3JjZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi07Ozs7OyBjb21w YW55LW1vZGUNCi0gICBgKGNvbXBhbnktZWNoby1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjb21wYW55LXByZXZpZXcgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChjb21wYW55LXBy ZXZpZXctY29tbW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY29t cGFueS1wcmV2aWV3LXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNhbG0pKSkNCi0gICBgKGNvbXBhbnktc2Nyb2xsYmFyLWJnICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUpKSkNCi0gICBgKGNvbXBhbnktc2Nyb2xsYmFyLWZnICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNvbXBhbnktdGVtcGxhdGUtZmllbGQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChjb21wYW55 LXRvb2x0aXAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtYW5ub3RhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGNv bXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtY29tbW9uICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjb21w YW55LXRvb2x0aXAtY29tbW9uLXNlbGVjdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLW1vdXNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLXNlYXJjaCAoKCxj bGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gYm9sZCkpKSkNCi0gICBgKGNv bXBhbnktdG9vbHRpcC1zZWFyY2gtc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10 aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY29tcGFueS10 b29sdGlwLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3VidGxlLWN5 YW4gYm9sZCkpKSkNCi07Ozs7OyBjb21wYW55LXBvc2ZyYW1lDQotICAgYChjb21wYW55LXBvc2Zy YW1lLWFjdGl2ZS1iYWNrZW5kLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3Vu ZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS1w b3NmcmFtZS1pbmFjdGl2ZS1iYWNrZW5kLW5hbWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChjb21wYW55LXBvc2ZyYW1lLW1l dGFkYXRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmct aW5hY3RpdmUpKSkNCi07Ozs7OyBjb21waWxhdGlvbiBmZWVkYmFjaw0KLSAgIGAoY29tcGlsYXRp b24tY29sdW1uLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKGNvbXBpbGF0aW9uLWVycm9yICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjb21waWxhdGlvbi1p bmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGNvbXBp bGF0aW9uLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCi0gICBgKGNvbXBpbGF0aW9uLW1vZGUtbGluZS1leGl0ICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0g ICBgKGNvbXBpbGF0aW9uLW1vZGUtbGluZS1mYWlsICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoY29t cGlsYXRpb24tbW9kZS1saW5lLXJ1biAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1i b2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChjb21waWxh dGlvbi13YXJuaW5nICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgY29tcGxldGlvbnMNCi0gICBgKGNvbXBs ZXRpb25zLWFubm90YXRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoY29tcGxldGlvbnMtY29tbW9uLXBh cnQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUt bnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lh bi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcpKSkpDQotICAgYChjb21wbGV0aW9ucy1maXJzdC1k aWZmZXJlbmNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQgYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtaW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0KLTs7Ozs7 IGNvdW5zZWwNCi0gICBgKGNvdW5zZWwtYWN0aXZlLW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLWFwcGxpY2F0aW9uLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGNvdW5zZWwta2V5LWJp bmRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIp KSkNCi0gICBgKGNvdW5zZWwtb3V0bGluZS0xICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtMSkp KQ0KLSAgIGAoY291bnNlbC1vdXRsaW5lLTIgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS0yKSkp DQotICAgYChjb3Vuc2VsLW91dGxpbmUtMyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTMpKSkN Ci0gICBgKGNvdW5zZWwtb3V0bGluZS00ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNCkpKQ0K LSAgIGAoY291bnNlbC1vdXRsaW5lLTUgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS01KSkpDQot ICAgYChjb3Vuc2VsLW91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTYpKSkNCi0g ICBgKGNvdW5zZWwtb3V0bGluZS03ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNykpKQ0KLSAg IGAoY291bnNlbC1vdXRsaW5lLTggKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS04KSkpDQotICAg YChjb3Vuc2VsLW91dGxpbmUtZGVmYXVsdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNvdW5zZWwtdmFyaWFibGUtZG9jdW1lbnRh dGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlciA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotOzs7OzsgY291bnNlbC1jc3MNCi0gICBgKGNvdW5zZWwtY3NzLXNl bGVjdG9yLWRlcHRoLWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAo Y291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1m YWNlLTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoY291bnNlbC1jc3Mt c2VsZWN0b3ItZGVwdGgtZmFjZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQot ICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTYgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZCkpKQ0KLTs7Ozs7IGNvdW5zZWwtbm90bXVjaA0KLSAgIGAoY291bnNlbC1ub3RtdWNo LWNvdW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGNvdW5zZWwt bm90bXVjaC1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNv dW5zZWwtbm90bXVjaC1wZW9wbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAoY291bnNlbC1ub3RtdWNoLXN1YmplY3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0cmlu Zw0KLSAgIGAoY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmctdGVtcGxhdGUtYm9keS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyBjb3YNCi0gICBg KGNvdi1jb3ZlcmFnZS1ub3QtcnVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1pbnRl bnNlKSkpDQotICAgYChjb3YtY292ZXJhZ2UtcnVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWludGVuc2UpKSkNCi0gICBgKGNvdi1oZWF2eS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBgKGNvdi1saWdodC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKGNvdi1tZWQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCi0gICBgKGNvdi1ub25lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KLTs7Ozs7IGNwZXJsLW1vZGUNCi0gICBg KGNwZXJsLW5vbm92ZXJyaWRhYmxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCi0gICBgKGNwZXJsLWFycmF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAo Y3BlcmwtaGFzaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAscmVkLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7 OzsgY3N2LW1vZGUNCi0gICBgKGNzdi1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgY3RybGYN Ci0gICBgKGN0cmxmLWhpZ2hsaWdodC1hY3RpdmUgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCi0gICBgKGN0cmxmLWhpZ2hsaWdodC1saW5lICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi0gICBgKGN0cmxmLWhpZ2hs aWdodC1wYXNzaXZlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkp DQotOzs7OzsgY3VzdG9tIChNLXggY3VzdG9taXplKQ0KLSAgIGAoY3VzdG9tLWJ1dHRvbiAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRv bikNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY3VzdG9tLWJ1dHRvbi1tb3VzZSAoKCxjbGFz cyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChjdXN0b20tYnV0dG9uLXByZXNzZWQg KCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSBwcmVzc2VkLWJ1 dHRvbikNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAs YmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjdXN0b20tY2hhbmdlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoY3VzdG9t LWNvbW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY3VzdG9tLWNv bW1lbnQtdGFnICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHllbGxv dy1hbHQtb3RoZXIpKSkNCi0gICBgKGN1c3RvbS1mYWNlLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKGN1c3RvbS1ncm91cC10YWcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAg IGAoY3VzdG9tLWdyb3VwLXRhZy0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtd2FybSkpKQ0KLSAgIGAoY3VzdG9tLWludmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVz LXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQotICAgYChjdXN0b20tbW9kaWZpZWQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGN1c3RvbS1yb2d1 ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAo Y3VzdG9tLXNldCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGN1c3Rv bS1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGN1 c3RvbS10aGVtZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkN Ci0gICBgKGN1c3RvbS12YXJpYWJsZS10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGRhcC1tb2RlDQotICAgYChkYXAtbW91c2UtZXZhbC10aGlu Zy1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZS1hY3RpdmUg OnN0eWxlIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJh Y2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGFwLXJl c3VsdC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxi Zy1hY3RpdmUgOnN0eWxlIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGRhcC11aS1icmVha3BvaW50LXZlcmlmaWVkLWZyaW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRhcC11aS1jb21waWxlLWVycmxp bmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0g ICBgKGRhcC11aS1sb2NhbHMtc2NvcGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZGFwLXVpLWxvY2Fscy12YXJp YWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGRhcC11aS1sb2NhbHMtdmFyaWFibGUtbGVhZi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkYXAtdWktbWFya2VyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGRh cC11aS1zZXNzaW9ucy1zdGFjay1mcmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkYXAtdWktc2Vzc2lvbnMtdGVybWluYXRl ZC1hY3RpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGRhcC11aS1zZXNzaW9ucy10ZXJtaW5hdGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGRhc2hib2FyZCAoZW1hY3MtZGFzaGJvYXJkKQ0KLSAg IGAoZGFzaGJvYXJkLWJhbm5lci1sb2dvLXRpdGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGFzaGJvYXJkLWZvb3RlciAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBg KGRhc2hib2FyZC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGFzaGJvYXJkLW5hdmlnYXRvciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGRhc2hib2FyZC10ZXh0LWJhbm5lciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7OzsgZGVhZGdyZXANCi0gICBgKGRl YWRncmVwLWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkZWFkZ3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZGVhZGdyZXAtbWV0YS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRlYWRncmVwLXJlZ2V4 cC1tZXRhY2hhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dy1pbnRlbnNlKSkpDQotICAgYChkZWFkZ3JlcC1zZWFyY2gtdGVybS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi07Ozs7OyBkZWJidWdz DQotICAgYChkZWJidWdzLWdudS1hcmNoaXZlZCAoKCxjbGFzcyA6aW52ZXJzZS12aWRlbyB0KSkp DQotICAgYChkZWJidWdzLWdudS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGRlYmJ1Z3MtZ251LWZvcndhcmRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChkZWJidWdzLWdudS1oYW5kbGVkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAoZGViYnVncy1nbnUtbmV3ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXBlbmRpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1udWFuY2VkKSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS0yICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGRlYmJ1Z3MtZ251 LXN0YWxlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRlYmJ1Z3Mt Z251LXRhZ2dlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBk ZWZpbmUtd29yZA0KLSAgIGAoZGVmaW5lLXdvcmQtZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKGRlZmluZS13b3JkLWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGRlZnQNCi0gICBgKGRlZnQtZmlsdGVyLXN0cmluZy1lcnJv ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBg KGRlZnQtZmlsdGVyLXN0cmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRl bnNlKSkpDQotICAgYChkZWZ0LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGVmdC1zZXBhcmF0b3ItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWZ0LXN1bW1hcnktZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKGRlZnQtdGltZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKGRlZnQtdGl0bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgZGljdGlvbmFyeQ0KLSAgIGAoZGljdGlvbmFyeS1i dXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKGRpY3Rpb25hcnktcmVmZXJlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChkaWN0aW9uYXJ5LXdvcmQt ZGVmaW5pdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChk aWN0aW9uYXJ5LXdvcmQtZW50cnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBkaWZmLWhsDQotICAg YChkaWZmLWhsLWNoYW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVs bG93KSkpDQotICAgYChkaWZmLWhsLWRlbGV0ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtcmVkKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWNoYW5nZSAoKCxjbGFzcyA6aW5o ZXJpdCBkaWZmLWhsLWNoYW5nZSkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1kZWxldGUgKCgsY2xh c3MgOmluaGVyaXQgZGlmZi1obC1kZWxldGUpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtaWdub3Jl ZCAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1pZ25vcmVkKSkpDQotICAgYChkaWZmLWhsLWRpcmVk LWluc2VydCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWhsLWluc2VydCkpKQ0KLSAgIGAoZGlmZi1o bC1kaXJlZC11bmtub3duICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWlnbm9yZWQpKSkNCi0gICBg KGRpZmYtaGwtaW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVl bikpKQ0KLSAgIGAoZGlmZi1obC1yZXZlcnRlZC1odW5rLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEgYm9sZCkpKSkNCi07Ozs7OyBkaWZmLW1v ZGUNCi0gICBgKGRpZmYtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1h ZGRlZCkpKQ0KLSAgIGAoZGlmZi1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWRpZmYtY2hhbmdlZCkpKQ0KLSAgIGAoZGlmZi1jb250ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKGRpZmYtZmlsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZGlmZi1mdW5jdGlvbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkaWZmLWhlYWRlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChkaWZmLWh1bmstaGVhZGVy ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZykpKQ0KLSAgIGAoZGlm Zi1pbmRleCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LSAgIGAoZGlmZi1pbmRpY2F0b3ItYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1hZGRlZCkp KQ0KLSAgIGAoZGlmZi1pbmRpY2F0b3ItY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWNo YW5nZWQpKSkNCi0gICBgKGRpZmYtaW5kaWNhdG9yLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQg ZGlmZi1yZW1vdmVkKSkpDQotICAgYChkaWZmLW5vbmV4aXN0ZW50ICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1uZXV0cmFsIGJvbGQpKSkpDQotICAgYChkaWZmLXJlZmluZS1hZGRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KLSAgIGAo ZGlmZi1yZWZpbmUtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJl ZmluZS1jaGFuZ2VkKSkpDQotICAgYChkaWZmLXJlZmluZS1yZW1vdmVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQpKSkNCi0gICBgKGRpZmYtcmVtb3Zl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCi07Ozs7OyBk aW0tYXV0b2xvYWQNCi0gICBgKGRpbS1hdXRvbG9hZC1jb29raWUtbGluZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBkaXIt dHJlZXZpZXcNCi0gICBgKGRpci10cmVldmlldy1hcmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWFyY2hpdmUtaWNv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkaXItdHJlZXZpZXctYXVkaW8tZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWF1ZGlvLWlj b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2Ug OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctY29udHJvbC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1j b250cm9sLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaGlnaGxpZ2h0KSkpDQotICAgYChk aXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6ZmFt aWx5ICJGb250IEF3ZXNvbWUiIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpci10cmVl dmlldy1kZWZhdWx0LWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGRpci10cmVldmlldy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1pY29uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWV4ZWN1dGFibGUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWV4ZWN1dGFibGUtaWNv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6 Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWltYWdlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyLXRy ZWV2aWV3LWltYWdlLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVm YXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2 aWV3LWluZGVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRp ci10cmVldmlldy1sYWJlbC1tb3VzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGhpZ2hsaWdodCkp KQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXN0YXJ0LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCi0gICBgKGRpci10cmVldmlldy1zeW1saW5rLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChk aXItdHJlZXZpZXctdmlkZW8tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKGRpci10cmVldmlldy12aWRlby1pY29uLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGRpcmVkDQotICAgYChkaXJlZC1kaXJlY3RvcnkgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGRpcmVkLWZsYWdnZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtbWFyay1kZWwpKSkNCi0gICBgKGRpcmVkLWhlYWRlciAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQotICAgYChkaXJlZC1pZ25v cmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpcmVkLW1hcmsgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpKSkNCi0gICBgKGRpcmVkLW1h cmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAoZGly ZWQtcGVybS13cml0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot ICAgYChkaXJlZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQpKSkNCi0gICBgKGRpcmVkLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgZGlyZWQtYXN5bmMNCi0gICBgKGRpcmVkLWFz eW5jLWZhaWx1cmVzICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZGlyZWQtYXN5bmMtbWVzc2FnZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQg LGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZGlyZWQtYXN5bmMtbW9kZS1tZXNzYWdlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsY3lhbi1h Y3RpdmUpKSkNCi07Ozs7OyBkaXJlZC1naXQNCi0gICBgKGRpcmVkLWdpdC1icmFuY2gtZWxzZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAo ZGlyZWQtZ2l0LWJyYW5jaC1tYXN0ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBkaXJlZC1naXQtaW5mbw0KLSAgIGAoZGdp LWNvbW1pdC1tZXNzYWdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCkpKQ0KLTs7Ozs7IGRpcmVkLW5hcnJvdw0KLSAgIGAoZGlyZWQtbmFycm93LWJsaW5rICgoLGNs YXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkpKQ0KLTs7Ozs7IGRp cmVkLXN1YnRyZWUNCi0gICA7OyByZW1vdmUgYmFja2dyb3VuZCBmcm9tIGRpcmVkLXN1YnRyZWUs IGVsc2UgaXQgYnJlYWtzDQotICAgOzsgZGlyZWQte2ZsYWdnZWQsbWFya2VkfSBhbmQgYW55IG90 aGVyIGZhY2UgdGhhdCBzZXRzIGEgYmFja2dyb3VuZA0KLSAgIDs7IHN1Y2ggYXMgaGwtbGluZQ0K LSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgbmls KSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC00LWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgbmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTUtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNi1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLTs7Ozs7IGRpcmVkZmwNCi0gICBgKGRpcmVk ZmwtYXV0b2ZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKGRpcmVkZmwtY29tcHJlc3NlZC1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUt c3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkaXJlZGZsLWRh dGUtdGltZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGRp cmVkZmwtZGVsZXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1kZWwpKSkN Ci0gICBgKGRpcmVkZmwtZGVsZXRpb24tZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLW1hcmstZGVsKSkpDQotICAgYChkaXJlZGZsLWRpci1oZWFkaW5nICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCi0gICBgKGRpcmVkZmwtZGlyLW5h bWUgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtZGlyZWN0b3J5KSkpDQotICAgYChkaXJlZGZsLWRp ci1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1l eGVjLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGRpcmVkZmwt ZXhlY3V0YWJsZS10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAg YChkaXJlZGZsLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoZGlyZWRmbC1maWxlLXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAoZGlyZWRmbC1mbGFnLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1z ZWwpKSkNCi0gICBgKGRpcmVkZmwtZmxhZy1tYXJrLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtbWFyay1zZWwpKSkNCi0gICBgKGRpcmVkZmwtaWdub3JlZC1maWxlLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1saW5rLXByaXYgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChkaXJlZGZsLW5vLXBy aXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1udW1iZXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChkaXJlZGZsLW90aGVyLXBy aXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZGlyZWRmbC1yYXJlLXBy aXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRpcmVkZmwtcmVhZC1w cml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkaXJlZGZsLXN5bWxp bmsgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtc3ltbGluaykpKQ0KLSAgIGAoZGlyZWRmbC10YWdn ZWQtYXV0b2ZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFn ZW50YSkpKQ0KLSAgIGAoZGlyZWRmbC13cml0ZS1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotOzs7OzsgZGlzay11c2FnZQ0KLSAgIGAoZGlzay11c2FnZS1jaGlsZHJlbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkaXNrLXVzYWdlLWluYWNjZXNzaWJs ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGRpc2st dXNhZ2UtcGVyY2VudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGRpc2st dXNhZ2Utc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZGlzay11c2Fn ZS1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LSAgIGAoZGlzay11c2FnZS1zeW1saW5rLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGRvb20tbW9kZWxpbmUNCi0gICBgKGRv b20tbW9kZWxpbmUtYmFyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVl KSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhci1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsZmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKGRvb20tbW9kZWxp bmUtYmF0dGVyeS1jaGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkp DQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktY3JpdGljYWwgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0 ZXJ5LWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggLTIpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1mdWxsICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LW5v cm1hbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVs aW5lLWJhdHRlcnktd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1maWxlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2Rl bGluZS1idWZmZXItbWFqb3ItbW9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItbWlub3ItbW9kZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUt YnVmZmVyLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1wYXRoICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGlu ZS1kZWJ1ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZl KSkpDQotICAgYChkb29tLW1vZGVsaW5lLWRlYnVnLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwt ZW1hY3Mtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1pbnNlcnQtc3RhdGUgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkb29tLW1v ZGVsaW5lLWV2aWwtbW90aW9uLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtbm9ybWFsLXN0YXRl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAo ZG9vbS1tb2RlbGluZS1ldmlsLW9wZXJhdG9yLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtcmVw bGFjZS1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtdmlzdWFsLXN0YXRlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5l LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ob3N0ICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWxzcC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWxzcC1z dWNjZXNzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkp KQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1sc3Atd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXBhbmVs ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChkb29t LW1vZGVsaW5lLXBlcnNwLWJ1ZmZlci1ub3QtaW4tcGVyc3AgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hY3RpdmUgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wZXJz cC1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9k ZWxpbmUtcHJvamVjdC1kaXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcHJvamVjdC1wYXJlbnQtZGlyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wcm9q ZWN0LXJvb3QtZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRv b20tbW9kZWxpbmUtdW5yZWFkLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZl IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtdXJnZW50ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxp bmUtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0 aXZlKSkpDQotOzs7OzsgZHluYW1pYy1ydWxlcg0KLSAgIGAoZHluYW1pYy1ydWxlci1uZWdhdGl2 ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0K LSAgIGAoZHluYW1pYy1ydWxlci1wb3NpdGl2ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UteWVsbG93KSkpDQotOzs7OzsgZWFzeS1qZWt5bGwNCi0gICBgKGVhc3kt amVreWxsLWhlbHAtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGVhc3kta2lsbA0KLSAgIGAoZWFzeS1raWxsLW9y aWdpbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChl YXN5LWtpbGwtc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15 ZWxsb3cpKSkNCi07Ozs7OyBlYmRiDQotICAgYChlYmRiLWFkZHJlc3MtZGVmYXVsdCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZWJkYi1kYi1jaGFyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGViZGItZGVmdW5jdCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChlYmRiLWZpZWxkLWhpZGRlbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZWJkYi1maWVsZC11cmwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGViZGItbGFiZWwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChlYmRiLW1haWwtZGVmYXVsdCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZWJkYi1tYWlsLXByaW1hcnkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChlYmRiLW1hcmtlZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnKSkpDQotICAgYChlYmRiLW9yZ2FuaXphdGlvbi1uYW1l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGViZGItcGVy c29uLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChlYmRiLXBob25lLWRlZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KLSAgIGAoZWJkYi1yb2xlLWRlZnVuY3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoZWllaW8tY3VzdG9tLXNsb3QtdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyBlZGlmZg0KLSAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsg ZnJvbSB0aGUgcGF0dGVybiBvZiBpbmhlcml0aW5nIGZyb20gdGhlDQotICAgOzsgbW9kdXMtdGhl bWUtZGlmZi0qIGZhY2VzLg0KLSAgIGAoZWRpZmYtY3VycmVudC1kaWZmLUEgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctZGltIHJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgcmVkLWZhaW50KSkpKQ0KLSAgIGAoZWRp ZmYtY3VycmVudC1kaWZmLUFuY2VzdG9yICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1k aW0gZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctc3BlY2lhbC1jb2xkIGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlKSkpKQ0K LSAgIGAoZWRpZmYtY3VycmVudC1kaWZmLUIgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGdy ZWVuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVk IGZnLWRpZmYtYWRkZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdy ZWVuLW51YW5jZWQtYmcgZ3JlZW4tZmFpbnQpKSkpDQotICAgYChlZGlmZi1jdXJyZW50LWRpZmYt QyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0geWVsbG93DQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyB5ZWxs b3ctZmFpbnQpKSkpDQotICAgYChlZGlmZi1ldmVuLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQot ICAgYChlZGlmZi1ldmVuLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp ZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAoZWRp ZmYtZXZlbi1kaWZmLUIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpm b3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAoZWRpZmYtZXZlbi1kaWZmLUMg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1k aWZmLW5ldXRyYWwtMikpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUEgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1y ZW1vdmVkKSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1CICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWZvY3VzLWFkZGVkIDpmb3JlZ3JvdW5kICxmZy1k aWZmLWZvY3VzLWFkZGVkKSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQyAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGlmZi1mb2N1cy1jaGFuZ2VkIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWZvY3Vz LWNoYW5nZWQpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikpKQ0KLSAg IGAoZWRpZmYtb2RkLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYt bmV1dHJhbC0wIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMCkpKQ0KLSAgIGAoZWRpZmYt b2RkLWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVn cm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQotICAgYChlZGlmZi1vZGQtZGlmZi1DICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1u ZXV0cmFsLTEpKSkNCi07Ozs7OyBlZ2xvdA0KLSAgIGAoZWdsb3QtbW9kZS1saW5lICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCi07Ozs7OyBlbC1zZWFyY2gNCi0gICBgKGVsLXNlYXJjaC1oaWdobGlnaHQt aW4tcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGVsLXNlYXJjaC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChlbC1zZWFyY2gtb3RoZXItbWF0Y2ggKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYChlbC1zZWFyY2gt b2NjdXItbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkp DQotOzs7OzsgZWxkb2MNCi0gICA7OyBOT1RFOiBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3B1cmNl bGwvcGFja2FnZS1saW50L2lzc3Vlcy8xODcNCi0gICAobGlzdCAnZWxkb2MtaGlnaGxpZ2h0LWZ1 bmN0aW9uLWFyZ3VtZW50IGAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGVsZG9jLWJveA0KLSAgIGAoZWxkb2MtYm94LWJvZHkgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo ZWxkb2MtYm94LWJvcmRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0KSkpDQotOzs7Ozsg ZWxmZWVkDQotICAgYChlbGZlZWQtbG9nLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQpKSkNCi0gICBgKGVsZmVlZC1sb2ctZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1lcnJvci1sZXZlbC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVsZmVlZC1sb2ctaW5mby1sZXZl bC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZWxmZWVkLWxvZy13 YXJuLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZWxm ZWVkLXNlYXJjaC1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkp KQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1mZWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtZmlsdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gt bGFzdC11cGRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0g ICBgKGVsZmVlZC1zZWFyY2gtdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVh bmNlZCkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtdW5yZWFkLWNvdW50LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC11 bnJlYWQtdGl0bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotOzs7OzsgZWxmZWVkLXNjb3JlDQotICAgYChlbGZlZWQtc2NvcmUtZGF0ZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlbGZlZWQtc2NvcmUtZGVidWct bGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKGVsZmVlZC1zY29yZS1lcnJvci1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKGVsZmVlZC1zY29yZS1pbmZvLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGVsZmVlZC1zY29yZS13YXJuLWxldmVsLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGVtbXMNCi0gICBgKGVtbXMtcGxheWxp c3QtdHJhY2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZW1tcy1w bGF5bGlzdC1zZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi07Ozs7OyBlbmhhbmNlZC1ydWJ5LW1vZGUNCi0gICBgKGVuaC1ydWJ5LWhl cmVkb2MtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVy KSkpDQotICAgYChlbmgtcnVieS1vcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChlbmgtcnVieS1yZWdleHAtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQotICAgYChlbmgtcnVieS1yZWdleHAtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZW5oLXJ1Ynktc3RyaW5nLWRlbGltaXRlci1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZXJtLXN5bi1lcnJsaW5l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChlcm0tc3lu LXdhcm5saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQot Ozs7OzsgZXBhDQotICAgYChlcGEtZmllbGQtYm9keSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoZXBhLWZpZWxkLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChlcGEtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlcGEtc3RyaW5nICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWRpc2FibGVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKGVwYS12YWxpZGl0eS1o aWdoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikp KQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChlcGEtdmFsaWRpdHktbWVkaXVtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQpKSkNCi07Ozs7OyBlcXVha2UNCi0gICBgKGVxdWFrZS1idWZmZXItZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZXF1YWtl LXNoZWxsLXR5cGUtZXNoZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlwZS1yYXNoICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkp KQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtc2hlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWluYWN0aXZlIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxs LXR5cGUtdGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQg LHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXZ0ZXJtICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN Ci0gICBgKGVxdWFrZS10YWItYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZv cmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoZXF1YWtlLXRhYi1pbmFjdGl2ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07Ozs7OyBlcmMNCi0gICBgKGVyYy1hY3Rpb24t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChl cmMtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGVyYy1idXR0b24g KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChlcmMtY29tbWFuZC1pbmRpY2F0b3It ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAg IGAoZXJjLWN1cnJlbnQtbmljay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAoZXJjLWRhbmdlcm91cy1ob3N0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKGVyYy1kaXJlY3QtbXNnLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVyYy1lcnJvci1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXJjLWZvb2wt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGVyYy1oZWFk ZXItbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1o ZWFkZXIpKSkNCi0gICBgKGVyYy1pbnB1dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNhbG0pKSkNCi0gICBgKGVyYy1pbnZlcnNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg ZXJjLWRlZmF1bHQtZmFjZSA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChlcmMta2V5d29yZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQot ICAgYChlcmMtbXktbmljay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKGVyYy1teS1uaWNrLXByZWZpeC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGVyYy1teS1uaWNrLWZhY2UpKSkNCi0gICBgKGVyYy1uaWNrLWRlZmF1bHQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlcmMtbmljay1t c2ctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAg IGAoZXJjLW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW5pY2stZGVmYXVs dC1mYWNlKSkpDQotICAgYChlcmMtbm90aWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCkpKQ0KLSAgIGAoZXJjLXBhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGVyYy1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXJjLXRp bWVzdGFtcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBg KGVyYy11bmRlcmxpbmUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGJnOmVy Yy1jb2xvci1mYWNlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAid2hpdGUiKSkpDQotICAgYChiZzpl cmMtY29sb3ItZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgImJsYWNrIikpKQ0KLSAgIGAoYmc6 ZXJjLWNvbG9yLWZhY2UxMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcpKSkN Ci0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50 ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmx1ZS1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTMgKCgsY2xhc3Mg OmJhY2tncm91bmQgLG1hZ2VudGEtc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFj ZTE0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjAiKSkpDQotICAgYChiZzplcmMtY29sb3It ZmFjZTE1ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5ODAiKSkpDQotICAgYChiZzplcmMtY29s b3ItZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykpKQ0KLSAgIGAo Ymc6ZXJjLWNvbG9yLWZhY2UzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJn KSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1z dWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlNSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAscmVkLWludGVuc2UtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlNiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNl NyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6ZXJj LWNvbG9yLWZhY2U4ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWJnKSkpDQot ICAgYChiZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXN1YnRs ZS1iZykpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJ3 aGl0ZSIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAi YmxhY2siKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTExICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTQgKCgs Y2xhc3MgOmZvcmVncm91bmQgImdyYXk2MCIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTUg KCgsY2xhc3MgOmZvcmVncm91bmQgImdyYXk4MCIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNl MiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGZnOmVyYy1j b2xvci1mYWNlMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGZnOmVyYy1j b2xvci1mYWNlNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChmZzplcmMtY29s b3ItZmFjZTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGZnOmVyYy1j b2xvci1mYWNlNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKGZnOmVyYy1jb2xvci1mYWNlNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1v dGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGVyb3MNCi0gICBgKGVyb3MtcmVzdWx0LW92 ZXJsYXktZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWRp bSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7OzsgZXJ0DQotICAgYChlcnQtdGVzdC1yZXN1 bHQtZXhwZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikp KQ0KLSAgIGAoZXJ0LXRlc3QtcmVzdWx0LXVuZXhwZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyBlc2hlbGwNCi0gICBgKGVzaGVsbC1scy1h cmNoaXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQot ICAgYChlc2hlbGwtbHMtYmFja3VwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkp DQotICAgYChlc2hlbGwtbHMtY2x1dHRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLSAgIGAoZXNoZWxsLWxzLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLWV4ZWN1dGFibGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChlc2hlbGwtbHMtbWlzc2luZyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoZXNoZWxsLWxz LXByb2R1Y3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo ZXNoZWxsLWxzLXJlYWRvbmx5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKGVzaGVsbC1scy1zcGVjaWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVzaGVsbC1scy1zeW1saW5rICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZXNoZWxsLWxzLXVucmVhZGFi bGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFj dGl2ZSkpKQ0KLSAgIGAoZXNoZWxsLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1ib2xkLXdlaWdodCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtcHJvbXB0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdy ZWVuLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1udWFu Y2VkLWJnIGdyZWVuLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1y ZWZpbmUtYmcgZmctbWFpbikpKSkNCi07Ozs7OyBlc2hlbGwtZnJpbmdlLXN0YXR1cw0KLSAgIGAo ZXNoZWxsLWZyaW5nZS1zdGF0dXMtZmFpbHVyZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChlc2hlbGwtZnJpbmdlLXN0YXR1cy1zdWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbikpKQ0KLTs7Ozs7IGVzaGVsbC1naXQtcHJvbXB0DQotICAgYChlc2hlbGwtZ2l0LXBy b21wdC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChlc2hl bGwtZ2l0LXByb21wdC1icmFuY2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZXhpdC1mYWlsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZXhpdC1z dWNjZXNzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChlc2hlbGwt Z2l0LXByb21wdC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGluZS1jbGVhbi1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxncmVlbi1yZWZpbmUtYmcpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LXBv d2VybGluZS1kaXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcpKSkN Ci0gICBgKGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGluZS1ub3QtY2xlYW4tZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJv bXB0LXJvYnlydXNzZWxsLWJyYW5jaC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKGVzaGVsbC1naXQtcHJvbXB0LXJvYnlydXNzZWxsLWdpdC1kaXJ0eS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LXJvYnly dXNzZWxsLWdpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotOzs7OzsgZXNo ZWxsLXByb21wdC1leHRyYXMgKGVwZSkNCi0gICBgKGVwZS1kaXItZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0g ICBgKGVwZS1naXQtZGlyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIp KSkNCi0gICBgKGVwZS1naXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN Ci0gICBgKGVwZS1waXBlbGluZS1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0KSkpDQotICAgYChlcGUtcGlwZWxpbmUtaG9zdC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChlcGUtcGlwZWxpbmUtdGltZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGVwZS1waXBlbGluZS11c2VyLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVwZS1yZW1vdGUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQp KSkNCi0gICBgKGVwZS1zdGF0dXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKGVwZS12ZW52LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgZXNoZWxsLXN5bnRheC1o aWdobGlnaHRpbmcNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWFsaWFzLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxp Z2h0aW5nLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctZW52dmFy LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChlc2hlbGwt c3ludGF4LWhpZ2hsaWdodGluZy1pbnZhbGlkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZCkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctbGlzcC1mdW5jdGlvbi1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhp Z2hsaWdodGluZy1zaGVsbC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1zdHJpbmctZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBldmlsLW1vZGUNCi0g ICBgKGV2aWwtZXgtY29tbWFuZHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChldmlsLWV4LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYChldmlsLWV4LWxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChldmlsLWV4LXNlYXJjaCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChldmlsLWV4LXN1 YnN0aXR1dGUtbWF0Y2hlcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVs bG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLXJlcGxhY2VtZW50 ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQot Ozs7OzsgZXZpbC1nb2dnbGVzDQotICAgYChldmlsLWdvZ2dsZXMtY2hhbmdlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZXZpbC1nb2dn bGVzLWNvbW1lbnRhcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt bmV1dHJhbCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChldmlsLWdvZ2dsZXMt ZGVmYXVsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFs KSkpDQotICAgYChldmlsLWdvZ2dsZXMtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWZpbGwtYW5kLW1vdmUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQotICAg YChldmlsLWdvZ2dsZXMtaW5kZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVz LWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWpvaW4tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1u ZXJkLWNvbW1lbnRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1jb21tZW50 YXJ5LWZhY2UpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1wYXN0ZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChldmlsLWdvZ2dsZXMtcmVjb3Jk LW1hY3JvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkp DQotICAgYChldmlsLWdvZ2dsZXMtcmVwbGFjZS13aXRoLXJlZ2lzdGVyLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGV2aWwtZ29nZ2xl cy1zZXQtbWFya2VyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1t YWdlbnRhKSkpDQotICAgYChldmlsLWdvZ2dsZXMtc2hpZnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMtc3Vycm91 bmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQot ICAgYChldmlsLWdvZ2dsZXMteWFuay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1ibHVlKSkpDQotOzs7OzsgZXZpbC12aXN1YWwtbWFyay1tb2RlDQotICAgYChldmls LXZpc3VhbC1tYXJrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1t YWdlbnRhKSkpDQotOzs7OzsgZXd3DQotICAgYChld3ctaW52YWxpZC1jZXJ0aWZpY2F0ZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZXd3LXZhbGlkLWNlcnRpZmlj YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGV3dy1mb3Jt LWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2 ZSA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGV3dy1mb3JtLWZpbGUgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggMSA6Y29sb3IgLGZnLWluYWN0aXZlIDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpi YWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGV3dy1m b3JtLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBld3ctZm9ybS1jaGVja2JveCkpKQ0KLSAgIGAo ZXd3LWZvcm0tc3VibWl0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWZpbGUpKSkNCi0gICBg KGV3dy1mb3JtLXRleHQgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWlu YWN0aXZlIDpzdHlsZSBub25lKSA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1hY3RpdmUpKSkNCi0gICBgKGV3dy1mb3JtLXRleHRhcmVhICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBleWVicm93c2UNCi0gICBg KGV5ZWJyb3dzZS1tb2RlLWxpbmUtYWN0aXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUtYWN0aXZlKSkpDQotOzs7OzsgZmFuY3ktZGFiYnJldg0KLSAgIGAoZmFuY3kt ZGFiYnJldi1tZW51LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChmYW5jeS1kYWJicmV2LXByZXZpZXctZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmFuY3ktZGFiYnJldi1z ZWxlY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFu IGJvbGQpKSkpDQotOzs7OzsgZmx5Y2hlY2sNCi0gICBgKGZseWNoZWNrLWVycm9yDQotICAgICAo KCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0K LSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0K LSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkp DQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWNoZWNrZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtY29sdW1u LW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChm bHljaGVjay1lcnJvci1saXN0LWVycm9yICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChmbHljaGVjay1lcnJvci1s aXN0LWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChmbHljaGVj ay1lcnJvci1saXN0LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1s aW5lKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWlkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1pZC13aXRo LWV4cGxhaW5lciAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1lcnJvci1saXN0LWlkIDpib3gg dCkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWxpbmUtbnVtYmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxp c3Qtd2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChmbHljaGVj ay1mcmluZ2UtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkp KQ0KLSAgIGAoZmx5Y2hlY2stZnJpbmdlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZnJpbmdlLWN5YW4pKSkNCi0gICBgKGZseWNoZWNrLWZyaW5nZS13YXJuaW5nICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGZseWNoZWNrLWlu Zm8NCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUp KSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1ub3RlIDpzdHls ZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUgOnVuZGVy bGluZSB0KSkpDQotICAgYChmbHljaGVjay12ZXJpZnktc2VsZWN0LWNoZWNrZXIgKCgsY2xhc3Mg OmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pKSkp DQotICAgYChmbHljaGVjay13YXJuaW5nDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1 bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29s b3IgLGZnLWxhbmctd2FybmluZyA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbGFuZy13YXJuaW5nIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGZseWNoZWNrLWNv bG9yLW1vZGUtbGluZQ0KLSAgIGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lLWVycm9yLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdlLWVycm9yKSkpDQotICAgYChmbHljaGVj ay1jb2xvci1tb2RlLWxpbmUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWZy aW5nZS1pbmZvKSkpDQotICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtcnVubmluZy1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSA6c2xhbnQgaXRhbGljKSkpDQotICAg YChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZs eWNoZWNrLWZyaW5nZS13YXJuaW5nKSkpDQotOzs7OzsgZmx5Y2hlY2staW5kaWNhdG9yDQotICAg YChmbHljaGVjay1pbmRpY2F0b3ItZGlzYWJsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZseWNoZWNrLWluZGlj YXRvci1lcnJvciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkg OmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGZseWNoZWNrLWluZGljYXRvci1pbmZv ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGZseWNoZWNrLWluZGljYXRvci1ydW5uaW5nICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hY3RpdmUpKSkNCi0gICBgKGZseWNoZWNrLWluZGljYXRvci1zdWNjZXNzICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWN0aXZlKSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3Itd2FybmluZyAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUpKSkNCi07Ozs7OyBmbHljaGVjay1wb3NmcmFtZQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJhbWUt YmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGZs eWNoZWNrLXBvc2ZyYW1lLWJvcmRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS13YXJuaW5nLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7Ozsg Zmx5bWFrZQ0KLSAgIGAoZmx5bWFrZS1lcnJvcg0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0 cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAo OmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5bWFrZS1ub3Rl DQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkp IGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctbm90ZSA6c3R5bGUg d2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAoZmx5bWFrZS13YXJuaW5nDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBv cnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5l ICg6Y29sb3IgLGZnLWxhbmctd2FybmluZyA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbGFuZy13YXJuaW5nIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGZseXNw ZWxsDQotICAgYChmbHlzcGVsbC1kdXBsaWNhdGUNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9y dHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUg KDpjb2xvciAsZmctbGFuZy13YXJuaW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1sYW5nLXdhcm5pbmcgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHlzcGVs bC1pbmNvcnJlY3QNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1l cnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1l cnJvciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBmbHlzcGVsbC1jb3JyZWN0DQotICAgYChmbHlz cGVsbC1jb3JyZWN0LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1ncmVlbikpKQ0KLTs7Ozs7IGZseA0KLSAgIGAoZmx4LWhpZ2hsaWdodC1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRh DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVu c2UtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xk KSkpKQ0KLTs7Ozs7IGZyZWV6ZS1pdA0KLSAgIGAoZnJlZXplLWl0LXNob3cgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotOzs7Ozsg ZnJvZy1tZW51DQotICAgYChmcm9nLW1lbnUtYWN0aW9uLWtleWJpbmRpbmctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGZyb2ctbWVudS1hY3Rpb25z LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGZyb2ctbWVudS1i b3JkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAoZnJvZy1tZW51 LWNhbmRpZGF0ZXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo ZnJvZy1tZW51LXBvc2ZyYW1lLWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltKSkpDQotICAgYChmcm9nLW1lbnUtcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCi07Ozs7OyBmb2N1cw0KLSAgIGAoZm9jdXMtdW5mb2N1c2VkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi07Ozs7OyBmb2xkLXRoaXMNCi0gICBgKGZv bGQtdGhpcy1vdmVybGF5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWls ZCkpKQ0KLTs7Ozs7IGZvbnQtbG9jaw0KLSAgIGAoZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1m YWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChmb250LWxvY2stY29tbWVudC1kZWxp bWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb250LWxv Y2stY29uc3RhbnQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1 ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChmb250LWxvY2stZG9j LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1zcGVjaWFsLWNvbGQgY3lh bi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1h Z2VudGEtZmFpbnQpKSkpDQotICAgYChmb250LWxvY2sta2V5d29yZC1mYWNlICgoLGNsYXNzICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90 aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1uZWdhdGlv bi1jaGFyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVs bG93IHllbGxvdy1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChmb250 LWxvY2stcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZWQtYWx0LW90aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChmb250 LWxvY2stcmVnZXhwLWdyb3VwaW5nLWJhY2tzbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gpKSkNCi0gICBgKGZvbnQtbG9jay1y ZWdleHAtZ3JvdXBpbmctY29uc3RydWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAgIGAoZm9udC1sb2NrLXN0cmluZy1m YWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1hbHQt ZmFpbnQpKSkpDQotICAgYChmb250LWxvY2stdHlwZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KSkpKQ0KLSAgIGAoZm9u dC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYChmb250LWxvY2std2FybmluZy1m YWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hY3RpdmUgeWVs bG93LWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotOzs7OzsgZm9yZ2UNCi0gICBg KGZvcmdlLXBvc3QtYXV0aG9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKGZvcmdlLXBvc3QtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQotICAgYChmb3JnZS10b3BpYy1jbG9zZWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMtbWVyZ2VkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGZvcmdlLXRvcGljLW9wZW4gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMtdW5tZXJnZWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAoZm9yZ2UtdG9waWMtdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBmb3VudGFpbi1tb2RlDQotICAgYChmb3VudGFpbi1jaGFy YWN0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChmb3Vu dGFpbi1jb21tZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm91bnRhaW4tZGlhbG9nICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KLSAgIGAoZm91bnRhaW4tbWV0YWRhdGEta2V5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGZvdW50YWluLW1ldGFkYXRhLXZhbHVl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChmb3VudGFpbi1ub24tcHJpbnRp bmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZm91bnRhaW4tbm90ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKGZvdW50YWluLXBhZ2UtYnJlYWsgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZm91bnRhaW4tcGFnZS1udW1iZXIgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm91bnRhaW4t cGFyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGZvdW50YWluLXNjZW5l LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk KSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgKGJv bGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctbWFpbg0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChmb3VudGFp bi1zZWN0aW9uLWhlYWRpbmctMSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUt dmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1tYWluDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1 cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFk aW5nLTIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNo KSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVy YW5kaS10aGVtZS1zY2FsZS0zKSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTMg KCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10 aGVtZS1zY2FsZS0yKSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTQgKCgsY2xh c3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jYWxtDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1z Y2FsZS0xKSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTUgKCgsY2xhc3MgOmlu aGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jYWxtKSkpDQotICAgYChmb3VudGFpbi1zeW5vcHNpcyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGZvdW50YWluLXRyYW5zICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7OzsgZ2Vpc2VyDQotICAgYChnZWlzZXItZm9u dC1sb2NrLWF1dG9kb2MtY3VycmVudC1hcmcgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYChnZWlz ZXItZm9udC1sb2NrLWF1dG9kb2MtaWRlbnRpZmllciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAgIGAoZ2Vpc2Vy LWZvbnQtbG9jay1kb2MtYnV0dG9uICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOnVuZGVybGluZSB0KSkpDQotICAgYChnZWlzZXItZm9udC1sb2Nr LWRvYy1saW5rICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKGdlaXNlci1mb250LWxv Y2stZXJyb3ItbGluayAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl ZC1hbHQgcmVkLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2staW1hZ2UtYnV0 dG9uICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQg Z3JlZW4tYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOnVuZGVybGluZSB0KSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtaW5wdXQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBsLW91 dHB1dCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFs dC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGdlaXNlci1mb250LWxv Y2stcmVwbC1wcm9tcHQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9u dC1sb2NrLXhyZWYtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGdlaXNl ci1mb250LWxvY2steHJlZi1saW5rICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi07Ozs7OyBn aXQtY29tbWl0DQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtYWN0aW9uICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNv bW1pdC1jb21tZW50LWJyYW5jaC1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWJy YW5jaC1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDpzbGFudCAsbW9k dXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1kZXRhY2hlZCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0 LWNvbW1lbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1k aW0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1rZXl3b3Jk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChnaXQtY29tbWl0LWtub3du LXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChnaXQtY29tbWl0LW5vbmVtcHR5LXNlY29uZC1saW5lICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1jb21taXQtb3Zlcmxvbmctc3Vt bWFyeSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAg YChnaXQtY29tbWl0LXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKGdpdC1jb21taXQtc3VtbWFyeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotOzs7OzsgZ2l0LWd1dHRlcg0KLSAgIGAoZ2l0LWd1dHRlcjphZGRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1n dXR0ZXI6ZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkp DQotICAgYChnaXQtZ3V0dGVyOm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1ndXR0ZXI6c2VwYXJhdG9yICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQotICAgYChnaXQtZ3V0dGVyOnVuY2hh bmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0KLTs7 Ozs7IGdpdC1ndXR0ZXItZnINCi0gICBgKGdpdC1ndXR0ZXItZnI6YWRkZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0dGVyLWZyOmRl bGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAo Z2l0LWd1dHRlci1mcjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmlu Z2UteWVsbG93KSkpDQotOzs7OzsgZ2l0LXtndXR0ZXIsZnJpbmdlfSsNCi0gICBgKGdpdC1ndXR0 ZXIrLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0K LSAgIGAoZ2l0LWd1dHRlcistZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UtcmVkKSkpDQotICAgYChnaXQtZ3V0dGVyKy1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChnaXQtZ3V0dGVyKy1zZXBhcmF0 b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCi0gICBgKGdp dC1ndXR0ZXIrLXVuY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2Ut bWFnZW50YSkpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcistYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0dGVyLWZyKy1kZWxldGVk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGdpdC1n dXR0ZXItZnIrLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15 ZWxsb3cpKSkNCi07Ozs7OyBnaXQtbGVucw0KLSAgIGAoZ2l0LWxlbnMtYWRkZWQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdpdC1sZW5zLWRlbGV0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChnaXQt bGVucy1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuMSA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAoZ2l0LWxlbnMtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChnaXQtbGVucy1yZW5hbWVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBnaXQtcmViYXNl DQotICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1yZWJh c2UtY29tbWVudC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LWRpbSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtcmViYXNlLWRlc2Ny aXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChnaXQtcmViYXNl LWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotOzs7OzsgZ2l0 LXRpbWVtYWNoaW5lDQotICAgYChnaXQtdGltZW1hY2hpbmUtY29tbWl0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGdpdC10aW1lbWFj aGluZS1taW5pYnVmZmVyLWF1dGhvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCi0gICBgKGdpdC10aW1lbWFjaGluZS1taW5pYnVmZmVyLWRldGFpbC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgZ2l0LXdhbGt0cmVlDQot ICAgYChnaXQtd2Fsa3RyZWUtY29tbWl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLSAgIGAoZ2l0LXdhbGt0cmVlLXN5bWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi dXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdpdC13YWxrdHJlZS10cmVlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBnbnVzDQotICAgYChnbnVz LWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKGdudXMtY2l0ZS0xICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTEwICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLTEx ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNp dGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTMg KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTYgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS04ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtOSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtYXR0cmli dXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4gOnNsYW50IGl0YWxpYykpKQ0KLSAg IGAoZ251cy1lbXBoYXNpcy1oaWdobGlnaHQtd29yZHMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTEgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGdudXMtZ3Jv dXAtbWFpbC0xLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAg IGAoZ251cy1ncm91cC1tYWlsLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTItZW1wdHkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0zICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWdy b3VwLW1haWwtMy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC1sb3cgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtbG93LWVt cHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKGdudXMt Z3JvdXAtbmV3cy0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkp DQotICAgYChnbnVzLWdyb3VwLW5ld3MtMS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0yLWVtcHR5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1n cm91cC1uZXdzLTMtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkKSkp DQotICAgYChnbnVzLWdyb3VwLW5ld3MtNCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy00LWVtcHR5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy01 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAg YChnbnVzLWdyb3VwLW5ld3MtNS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5j ZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy02ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTYtZW1wdHkgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLWxvdyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2VkKSkpDQotICAgYChn bnVzLWdyb3VwLW5ld3MtbG93LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1udWFu Y2VkKSkpDQotICAgYChnbnVzLWhlYWRlci1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChnbnVzLWhlYWRlci1mcm9tICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyIDp1bmRlcmxpbmUgbmlsKSkpDQotICAgYChnbnVzLWhl YWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ251cy1oZWFk ZXItbmV3c2dyb3VwcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KLSAgIGAoZ251cy1oZWFkZXItc3ViamVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItYWdlbnQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251cy1z ZXJ2ZXItY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCi0gICBgKGdudXMtc2VydmVyLWNsb3VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChnbnVzLXNlcnZlci1jbG91ZC1ob3N0ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChnbnVzLXNlcnZlci1k ZW5pZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChn bnVzLXNlcnZlci1vZmZsaW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItb3BlbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVzLXNpZ25hdHVyZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3Bs YXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1j YW5jZWxsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCi0gICBg KGdudXMtc3VtbWFyeS1oaWdoLWFuY2llbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLXN1bW1hcnktaGlnaC1yZWFkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZ251cy1z dW1tYXJ5LWhpZ2gtdGlja2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXVuZG93bmxvYWRlZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdudXMtc3Vt bWFyeS1oaWdoLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LWFuY2llbnQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LXJlYWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVz LXN1bW1hcnktbG93LXRpY2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZyA6 c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LXVuZG93bmxvYWRlZCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZyA6c2xhbnQgaXRhbGljKSkpDQotICAg YChnbnVzLXN1bW1hcnktbG93LXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtYW5jaWVu dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChnbnVzLXN1 bW1hcnktbm9ybWFsLXJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo Z251cy1zdW1tYXJ5LW5vcm1hbC10aWNrZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQt b3RoZXIpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtdW5kb3dubG9hZGVkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtdW5yZWFk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChnbnVzLXN1bW1hcnktc2Vs ZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi07Ozs7 OyBnb2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KLSAgIGAoZ29sZGVuLXJhdGlvLXNjcm9sbC1o aWdobGlnaHQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGhlbG0NCi0gICBgKGhlbG0tTS14LWtleSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoaGVsbS1hY3Rpb24gKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChoZWxtLWJv b2ttYXJrLWFkZHJlc3Nib29rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0g ICBgKGhlbG0tYm9va21hcmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGhlbG0tYm9va21hcmstZmlsZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1maWxlLW5vdC1mb3VuZCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhl bG0tYm9va21hcmstZ251cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAo aGVsbS1ib29rbWFyay1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAg IGAoaGVsbS1ib29rbWFyay1tYW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkN Ci0gICBgKGhlbG0tYm9va21hcmstdzNtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoaGVsbS1idWZmZXItYXJjaGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQotICAgYChoZWxtLWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaGVsbS1idWZmZXItZmlsZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1idWZmZXItbW9kaWZp ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGhlbG0tYnVmZmVy LW5vdC1zYXZlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoaGVsbS1i dWZmZXItcHJvY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVs bS1idWZmZXItc2F2ZWQtb3V0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChoZWxtLWJ1ZmZlci1zaXplICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tY2FuZGlkYXRlLW51bWJlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tY2FuZGlkYXRlLW51 bWJlci1zdXNwZW5kZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0g ICBgKGhlbG0tY29taW50LXByb21wdHMtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1jb21pbnQtcHJvbXB0cy1wcm9tcHRpZHggKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWRlbGV0ZS1hc3lu Yy1tZXNzYWdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0 aXZlKSkpDQotICAgYChoZWxtLWVvYi1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWVzaGVsbC1wcm9tcHRzLWJ1ZmZl ci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0t ZXNoZWxsLXByb21wdHMtcHJvbXB0aWR4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KLSAgIGAoaGVsbS1ldGFncy1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0g OnVuZGVybGluZSB0KSkpDQotICAgYChoZWxtLWZmLWJhY2t1cC1maWxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tZmYtZGVuaWVkICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtcmVkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZCkpKSkNCi0gICBgKGhlbG0tZmYtZGlyZWN0b3J5ICgoLGNsYXNz IDppbmhlcml0IGhlbG0tYnVmZmVyLWRpcmVjdG9yeSkpKQ0KLSAgIGAoaGVsbS1mZi1kaXJzICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAg YChoZWxtLWZmLWRvdHRlZC1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dy b3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tZmYtZG90dGVk LXN5bWxpbmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IChidXR0b24gaGVsbS1mZi1kb3R0 ZWQtZGlyZWN0b3J5KSkpKQ0KLSAgIGAoaGVsbS1mZi1leGVjdXRhYmxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaGVsbS1mZi1maWxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWZmLWZpbGUtZXh0ZW5zaW9uICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGhlbG0tZmYtaW52YWxpZC1z eW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAg YChoZWxtLWZmLXBpcGUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVm aW5lLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt c3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YSkpKSkNCi0gICBgKGhlbG0tZmYtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeWVsbG93LWFsdC1vdGhlcikpKSkNCi0gICBgKGhlbG0tZmYtc29ja2V0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWZmLXN1aWQg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtcmVkDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93DQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCkpKSkNCi0gICBgKGhlbG0tZmYtc3lt bGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGhlbG0tZmYtdHJ1ZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkp DQotICAgYChoZWxtLWdyZXAtY21kLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tZ3JlcC1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS1ncmVwLWZpbmlzaCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWdyZXAtbGlu ZW5vICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGhlbG0t Z3JlcC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkN Ci0gICBgKGhlbG0taGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS1oZWFkZXItbGluZS1sZWZ0LW1hcmdpbiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAo aGVsbS1oaXN0b3J5LWRlbGV0ZWQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0 cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXJlZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0taGlzdG9yeS1yZW1vdGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tbGlzcC1jb21wbGV0aW9uLWlu Zm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1s aXNwLXNob3ctY29tcGxldGlvbiAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRy YS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdw0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxs b3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93DQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAg IGAoaGVsbS1sb2NhdGUtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUp KSkNCi0gICBgKGhlbG0tbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0 cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXN1YnRsZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1y ZWZpbmUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVh bmNlZC1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4NCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChoZWxtLW1hdGNoLWl0ZW0gKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4NCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFu DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIpKSkpDQot ICAgYChoZWxtLW1pbmlidWZmZXItcHJvbXB0ICgoLGNsYXNzIDppbmhlcml0IG1pbmlidWZmZXIt cHJvbXB0KSkpDQotICAgYChoZWxtLW1vY2N1ci1idWZmZXIgKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1tb2RlLXByZWZp eCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2Vu dGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVu c2UtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0K LSAgIGAoaGVsbS1ub24tZmlsZS1idWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAoaGVsbS1wcmVmYXJnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkp DQotICAgYChoZWxtLXJlc3VtZS1uZWVkLXVwZGF0ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFu Y2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0LW90aGVyKSkpKQ0KLSAgIGAoaGVsbS1zZWxlY3Rpb24gKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuaWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1zZWxlY3Rpb24tbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0tc2VwYXJhdG9yICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGhlbG0tdGltZS16b25lLWN1 cnJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChoZWxtLXRpbWUtem9u ZS1ob21lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoZWxtLXNvdXJj ZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNj YWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChoZWxtLXRvcC1jb2x1 bW5zICgoLGNsYXNzIDppbmhlcml0IGhlbG0taGVhZGVyKSkpDQotICAgYChoZWxtLXVjcy1jaGFy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChoZWxtLXZp c2libGUtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0K LTs7Ozs7IGhlbG0tbHMtZ2l0DQotICAgYChoZWxtLWxzLWdpdC1hZGRlZC1jb3BpZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1scy1naXQt YWRkZWQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2Up KSkNCi0gICBgKGhlbG0tbHMtZ2l0LWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LWRlbGV0ZWQt YW5kLXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAg IGAoaGVsbS1scy1naXQtZGVsZXRlZC1ub3Qtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZCkpKQ0KLSAgIGAoaGVsbS1scy1naXQtbW9kaWZpZWQtYW5kLXN0YWdlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgIGAoaGVsbS1scy1naXQt bW9kaWZpZWQtbm90LXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKGhlbG0tbHMtZ2l0LXJlbmFtZWQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVsbS1scy1naXQtdW50cmFja2VkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLTs7Ozs7IGhlbG0tc3dpdGNoLXNo ZWxsDQotICAgYChoZWxtLXN3aXRjaC1zaGVsbC1uZXctc2hlbGwtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdl bnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnYm9sZCkpKSkNCi07Ozs7OyBoZWxtLXhyZWYNCi0gICBgKGhlbG0teHJlZi1maWxlLW5hbWUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYChoZWxtLXhyZWYtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi07Ozs7OyBoZWxwZnVsDQotICAgYChoZWxwZnVsLWhlYWRpbmcgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotOzs7OzsgaGlnaGxpZ2h0IHJlZ2lv biBvciBhZC1ob2MgcmVnZXhwDQotICAgYChoaS1ibGFjay1iICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChoaS1ibHVlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGluZSB0KSkpDQot ICAgYChoaS1ibHVlLWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVl KSkpDQotICAgYChoaS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICxncmVlbiA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpLWdyZWVuLWIgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoaGktcGluayAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoaGktcmVkLWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1y ZWQpKSkNCi0gICBgKGhpLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotICAgYChoaWdobGlnaHQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGhpZ2hsaWdodC1jaGFu Z2VzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChoaWdo bGlnaHQtY2hhbmdlcy1kZWxldGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIg OnVuZGVybGluZSB0KSkpDQotICAgYChobC1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhsLWxpbmUpKSkNCi07Ozs7OyBoaWdobGlnaHQtYmxvY2tzDQotICAgYChoaWdobGlnaHQt YmxvY2tzLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTItZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCho aWdobGlnaHQtYmxvY2tzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3Bl Y2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tz LWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jYWxtIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTUtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC13YXJtIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctc3BlY2lhbC1taWxkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdo bGlnaHQtYmxvY2tzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3Rp dmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgt OC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGhp Z2hsaWdodC1kZWZpbmVkDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1idWlsdGluLWZ1bmN0aW9u LW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGlnaGxp Z2h0LWRlZmluZWQtZmFjZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtbWFjcm8tbmFt ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaGlnaGxp Z2h0LWRlZmluZWQtc3BlY2lhbC1mb3JtLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLXZhcmlhYmxlLW5h bWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGhpZ2hsaWdodC1l c2NhcGUtc2VxdWVuY2VzIChgaGVzLW1vZGUnKQ0KLSAgIGAoaGVzLWVzY2FwZS1iYWNrc2xhc2gt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1j b25zdHJ1Y3QpKSkNCi0gICBgKGhlcy1lc2NhcGUtc2VxdWVuY2UtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gpKSkNCi07Ozs7 OyBoaWdobGlnaHQtaW5kZW50YXRpb24NCi0gICBgKGhpZ2hsaWdodC1pbmRlbnRhdGlvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi0gICBgKGhpZ2hsaWdo dC1pbmRlbnRhdGlvbi1jdXJyZW50LWNvbHVtbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hY3RpdmUpKSkNCi07Ozs7OyBoaWdobGlnaHQtbnVtYmVycw0KLSAgIGAoaGlnaGxpZ2h0LW51 bWJlcnMtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLTs7 Ozs7IGhpZ2hsaWdodC1zeW1ib2wNCi0gICBgKGhpZ2hsaWdodC1zeW1ib2wtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBoaWdobGlnaHQt dGhpbmcNCi0gICBgKGhpZ2hsaWdodC10aGluZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaGwtZGVmaW5lZA0KLSAgIGAoaGRlZmQtZnVu Y3Rpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChoZGVmZC11bmRlZmlu ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGhkZWZkLXZhcmlhYmxl cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi07Ozs7OyBobC1maWxsLWNvbHVt bg0KLSAgIGAoaGwtZmlsbC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi07Ozs7OyBobC10b2RvDQotICAgYChobC10 b2RvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGh5ZHJhDQotICAgYChoeWRyYS1mYWNl LWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAoaHlkcmEtZmFjZS1ibHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChoeWRyYS1mYWNlLXBpbmsgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGh5ZHJhLWZhY2UtcmVkICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaHlkcmEtZmFjZS10 ZWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBo eXBlcmxpc3QNCi0gICBgKGh5cGVybGlzdC1jb25kaXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuKSkpDQotICAgYChoeXBlcmxpc3QtaGFzaHRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotICAgYChoeXBlcmxpc3Qtb3BlcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChoeXBlcmxpc3QtcGFyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChoeXBlcmxpc3QtcXVvdGUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChoeXBlcmxpc3QtcmVmICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaHlwZXJsaXN0LXN0YXJzICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGh5cGVybGlzdC10YWcgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXRvcGxldmVsICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBpY29tcGxldGUNCi0gICBg KGljb21wbGV0ZS1maXJzdC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRh cmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhIGJnLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LWFjdGl2ZSBmZy1tYWluKSkpKQ0KLTs7Ozs7IGljb21wbGV0ZS12ZXJ0aWNhbA0KLSAgIGAoaWNv bXBsZXRlLXZlcnRpY2FsLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotOzs7OzsgaWRvLW1vZGUNCi0gICBgKGlkby1maXJzdC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhIGJnLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LWFjdGl2ZSBmZy1tYWluKSkpKQ0KLSAgIGAoaWRvLWluY29tcGxldGUtcmVnZXhwICgoLGNsYXNz IDppbmhlcml0IGVycm9yKSkpDQotICAgYChpZG8taW5kaWNhdG9yICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cpKSkNCi0gICBgKGlkby1vbmx5LW1hdGNoICgoLGNs YXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBncmVlbiBncmVlbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBncmVlbi1pbnRlbnNlLWJnIGZnLW1haW4pKSkpDQotICAgYChpZG8tc3Vi ZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChpZG8tdmlydHVhbCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotOzs7OzsgaWVkaXQNCi0gICBg KGllZGl0LW9jY3VycmVuY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJs dWUpKSkNCi0gICBgKGllZGl0LXJlYWQtb25seS1vY2N1cnJlbmNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93KSkpDQotOzs7OzsgaWZsaXBiDQotICAgYChpZmxp cGItY3VycmVudC1idWZmZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAoaWZsaXBiLW90aGVyLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBpbWVudS1saXN0DQotICAgYChpbWVudS1saXN0 LWVudHJ5LWZhY2UtMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW1lbnUt bGlzdC1lbnRyeS1mYWNlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGlt ZW51LWxpc3QtZW50cnktZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTMgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJs aW5lIHQpKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0xICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQotICAg YChpbWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChpbWVu dS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGluZGl1bQ0KLSAg IGAoaW5kaXVtLWJyZWFrcG9pbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLSAgIGAoaW5kaXVtLWZyYW1lLXVybC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv biA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChpbmRpdW0ta2V5d29yZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5kaXVtLWxpdGFi bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDpzbGFudCAsbW9k dXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGluZGl1bS1yZXBsLWVycm9yLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChpbmRpdW0tcmVwbC1wcm9t cHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGlu ZGl1bS1yZXBsLXN0ZG91dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot Ozs7OzsgaW5mbw0KLSAgIGAoSW5mby1xdW90ZWQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKSA7IHRoZSBjYXBpdGFsaXNhdGlvbiBpcyBjYW5vbmljYWwNCi0gICBgKGlu Zm8taGVhZGVyLW5vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChpbmZvLWhlYWRlci14cmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFj dGl2ZSkpKQ0KLSAgIGAoaW5mby1pbmRleC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtYXRjaCkp KQ0KLSAgIGAoaW5mby1tZW51LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTMpKSkNCi0gICBgKGluZm8tbWVudS1zdGFyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKGluZm8tbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChp bmZvLXRpdGxlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQot ICAgYChpbmZvLXRpdGxlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0y KSkpDQotICAgYChpbmZvLXRpdGxlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVh ZGluZy0zKSkpDQotICAgYChpbmZvLXRpdGxlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy00KSkpDQotOzs7OzsgaW5mby1jb2xvcnMNCi0gICBgKGluZm8tY29sb3JzLWxp c3AtY29kZS1ibG9jayAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCkpKQ0KLSAgIGAoaW5m by1jb2xvcnMtcmVmLWl0ZW0tY29tbWFuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tY29uc3RhbnQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1mdW5jdGlv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVm LWl0ZW0tbWFjcm8gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQp IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVm LWl0ZW0tb3RoZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGluZm8tY29s b3JzLXJlZi1pdGVtLXNwZWNpYWwtZm9ybSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChp bmZvLWNvbG9ycy1yZWYtaXRlbS1zeW50YXgtY2xhc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXR5cGUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS11c2VyLW9w dGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVm LWl0ZW0tdmFyaWFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBpbnRl cmFjdGlvbi1sb2cNCi0gICBgKGlsb2ctYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbG9nLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaWxvZy1lY2hvLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGlsb2ctbG9hZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoaWxvZy1tZXNzYWdlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaWxvZy1ub24tY2hhbmdlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi07Ozs7OyBpb2NjdXINCi0gICBgKGlvY2N1 ci1jdXJzb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGlvY2N1ci1p bnZhbGlkLXJlZ2V4cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChpb2NjdXIt bWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkN Ci0gICBgKGlvY2N1ci1tYXRjaC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFj cy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoaW9jY3VyLW51bS1saW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSkpKQ0KLSAgIGAoaW9jY3VyLW92ZXJsYXktZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49 IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi0g ICBgKGlvY2N1ci1yZWdleHAtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhIGJvbGQpKSkpDQotICAgYChpb2NjdXItdGl0bGUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10 aGVtZS1zY2FsZS00KSkpKQ0KLTs7Ozs7IGlzZWFyY2gsIG9jY3VyLCBhbmQgdGhlIGxpa2UNCi0g ICBgKGlzZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4g Ym9sZCkpKSkNCi0gICBgKGlzZWFyY2gtZmFpbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtcmVkKSkpDQotICAgYChsYXp5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAobWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChxdWVyeS1yZXBsYWNlICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdyBib2xkKSkpKQ0KLTs7Ozs7IGl2 eQ0KLSAgIGAoaXZ5LWFjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQotICAgYChpdnktY29tcGxldGlvbnMtYW5ub3RhdGlvbnMgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQot ICAgYChpdnktY29uZmlybS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAg YChpdnktY3VycmVudC1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRy YS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXJlZmluZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBuaWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xk KSkpKQ0KLSAgIGAoaXZ5LWN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9y ZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoaXZ5LWdyZXAtaW5mbyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGl2eS1ncmVwLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGl2eS1oaWdobGlnaHQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaXZ5LW1hdGNoLXJlcXVpcmVk LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1h dGNoLWZhY2UtMSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRy YWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQp KSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1ncmVlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1udWFuY2VkLWdyZWVuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRj aC1mYWNlLTMgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlv bnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtc3VidGxlLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXINCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0g ICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFn ZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0 Y2gtaGlnaGxpZ2h0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBs ZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtYmx1ZQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1vZGlmaWVkLWJ1ZmZlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGl2eS1t b2RpZmllZC1vdXRzaWRlLWJ1ZmZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChpdnktb3JnICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoaXZ5LXByb21wdC1tYXRjaCAoKCxjbGFz cyA6aW5oZXJpdCBpdnktY3VycmVudC1tYXRjaCkpKQ0KLSAgIGAoaXZ5LXJlbW90ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaXZ5LXNlcGFyYXRvciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChpdnktc3ViZGlyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoaXZ5LXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpdnkteWFua2VkLXdvcmQgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQpKSkpDQotOzs7OzsgaXZ5 LXBvc2ZyYW1lDQotICAgYChpdnktcG9zZnJhbWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp bSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaXZ5LXBvc2ZyYW1lLWJvcmRlciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChpdnktcG9zZnJhbWUtY3Vyc29y ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQot Ozs7OzsgamlyYSAob3JnLWppcmEpDQotICAgYChqaXJhbGliLWNvbW1lbnQtZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChqaXJhbGliLWNvbW1lbnQtaGVhZGVyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoamlyYWxpYi1pc3N1ZS1pbmZvLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQotICAgYChq aXJhbGliLWlzc3VlLWluZm8taGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLXNwZWNpYWwtd2FybSBib2xkKSkpKQ0KLSAgIGAoamlyYWxpYi1pc3N1ZS1zdW1tYXJ5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoamlyYWxpYi1saW5rLWZpbHRlci1m YWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoamlyYWxpYi1saW5rLWlzc3VlLWZh Y2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChqaXJhbGliLWxpbmstcHJvamVjdC1m YWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGpvdXJuYWxjdGwtbW9kZQ0KLSAg IGAoam91cm5hbGN0bC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZCkpKQ0KLSAgIGAoam91cm5hbGN0bC1maW5pc2hlZC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChqb3VybmFsY3RsLWhvc3QtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoam91cm5hbGN0bC1wcm9jZXNz LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChqb3Vy bmFsY3RsLXN0YXJ0aW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAg YChqb3VybmFsY3RsLXRpbWVzdGFtcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGpvdXJuYWxjdGwtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGpzMi1tb2RlDQotICAgYChq czItZXJyb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoanMyLWV4dGVybmFs LXZhcmlhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAo anMyLWZ1bmN0aW9uLWNhbGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KGpzMi1mdW5jdGlvbi1wYXJhbSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAo anMyLWluc3RhbmNlLW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGpzMi1qc2RvYy1odG1sLXRhZy1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGpzMi1qc2RvYy1odG1sLXRhZy1uYW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChqczItanNkb2MtdGFnICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGpzMi1qc2RvYy10eXBlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGpzMi1qc2RvYy12YWx1ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChqczItb2JqZWN0 LXByb3BlcnR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChqczItb2Jq ZWN0LXByb3BlcnR5LWFjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoanMyLXByaXZhdGUtZnVuY3Rpb24tY2FsbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0LW90aGVyKSkpDQotICAgYChqczItcHJpdmF0ZS1tZW1iZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoanMyLXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQgOnVuZGVybGluZSB0KSkpDQotOzs7OzsganVsaWENCi0gICBgKGp1 bGlhLW1hY3JvLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWln aHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChqdWxpYS1xdW90ZWQtc3ltYm9sLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotOzs7OzsganVweXRl cg0KLSAgIGAoanVweXRlci1ldmFsLW92ZXJsYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoanVweXRlci1yZXBsLWlucHV0LXByb21wdCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGp1cHl0ZXItcmVwbC1vdXRw dXQtcHJvbXB0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAoanVweXRlci1yZXBsLXRyYWNlYmFjayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IGthb2NoYS1ydW5uZXINCi0gICBgKGthb2NoYS1ydW5uZXIt ZXJyb3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChrYW9jaGEtcnVu bmVyLXN1Y2Nlc3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGth b2NoYS1ydW5uZXItd2FybmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci07Ozs7OyBrZXljYXN0DQotICAgYChrZXljYXN0LWNvbW1hbmQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGtleWNhc3Qta2V5ICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmctbWFpbiBibHVlLWFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctbWFpbiBibHVlLWFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmx1ZS1hY3RpdmUgYmx1ZS1pbnRlbnNlDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnYWx0LXN0eWxlIC0zKSkpKQ0KLTs7Ozs7IGxpbmUgbnVtYmVycyAoZGlzcGxheS1saW5l LW51bWJlcnMtbW9kZSBhbmQgZ2xvYmFsIHZhcmlhbnQpDQotICAgYChsaW5lLW51bWJlciAoKCxj bGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAobGluZS1udW1iZXItY3VycmVudC1saW5lICgoLGNsYXNzIDppbmhlcml0 IGRlZmF1bHQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LTs7Ozs7IGxzcC1tb2RlDQotICAgYChsc3AtZmFjZS1oaWdobGlnaHQtcmVhZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGxz cC1mYWNlLWhpZ2hsaWdodC10ZXh0dWFsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1ibHVlKSkpDQotICAgYChsc3AtZmFjZS1oaWdobGlnaHQtd3JpdGUgKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlIGJvbGQpKSkpDQotICAgYChsc3AtZmFjZS1z ZW1obC1jb25zdGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0g ICBgKGxzcC1mYWNlLXNlbWhsLWRlcHJlY2F0ZWQNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9y dHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDpmb3JlZ3JvdW5k ICx5ZWxsb3cgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWVudW1t ZW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChsc3At ZmFjZS1zZW1obC1maWVsZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KGxzcC1mYWNlLXNlbWhsLWZpZWxkLXN0YXRpYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZnVu Y3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGxzcC1mYWNlLXNl bWhsLW1ldGhvZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobHNwLWZh Y2Utc2VtaGwtbmFtZXNwYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQt d2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhs LXByZXByb2Nlc3NvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAg IGAobHNwLWZhY2Utc2VtaGwtc3RhdGljLW1ldGhvZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10 eXBlLWNsYXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobHNw LWZhY2Utc2VtaGwtdHlwZS1lbnVtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1wcmltaXRpdmUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1m YWNlLXNlbWhsLXR5cGUtdGVtcGxhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUt dHlwZWRlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFibGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlLWxvY2FsICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC12YXJpYWJs ZS1wYXJhbWV0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChsc3AtbGVucy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGxzcC1sZW5zLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLXVpLWRvYy1i YWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGxzcC11aS1k b2MtaGVhZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZn LWhlYWRlcikpKQ0KLSAgIGAobHNwLXVpLWRvYy11cmwgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9u IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLXVpLXBlZWstZmlsZW5h bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobHNwLXVp LXBlZWstZm9vdGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQg LGZnLWhlYWRlcikpKQ0KLSAgIGAobHNwLXVpLXBlZWstaGVhZGVyICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KLSAgIGAobHNwLXVpLXBl ZWstaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkp DQotICAgYChsc3AtdWktcGVlay1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChsc3AtdWktcGVlay1saXN0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aW0pKSkNCi0gICBgKGxzcC11aS1wZWVrLXBlZWsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCkpKQ0KLSAgIGAobHNwLXVpLXBlZWstc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChsc3AtdWktc2lkZWxpbmUtY29kZS1hY3Rpb24g KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLWN1 cnJlbnQtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAwLjk5IDpib3ggKDps aW5lLXdpZHRoIC0xIDpzdHlsZSBuaWwpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChs c3AtdWktc2lkZWxpbmUtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAwLjk5 IDpib3ggKDpsaW5lLXdpZHRoIC0xIDpzdHlsZSBuaWwpIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGxzcC11aS1zaWRlbGluZS1zeW1ib2wtaW5mbyAoKCxjbGFzcyA6aGVpZ2h0IDAuOTkg OnNsYW50IGl0YWxpYykpKQ0KLTs7Ozs7IG1hZ2l0DQotICAgYChtYWdpdC1iaXNlY3QtYmFkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1iaXNlY3Qt Z29vZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChtYWdp dC1iaXNlY3Qtc2tpcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAobWFnaXQtYmxhbWUtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAobWFnaXQtYmxhbWUtZGltbWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKG1hZ2l0LWJsYW1lLWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtaGVhZGluZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQotICAgYChtYWdpdC1ibGFtZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtbnVhbmNlZC1jeWFuKSkpDQotICAgYChtYWdpdC1ibGFtZS1tYXJnaW4gKCgsY2xh c3MgOmluaGVyaXQgbWFnaXQtYmxhbWUtaGlnaGxpZ2h0KSkpDQotICAgYChtYWdpdC1ibGFtZS1u YW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFn aXQtYmxhbWUtc3VtbWFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKG1hZ2l0LWJyYW5jaC1jdXJyZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dC1vdGhlciA6Ym94IHQpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC1sb2NhbCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtYWdpdC1icmFuY2gtcmVtb3RlLWhl YWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDpib3ggdCkpKQ0KLSAg IGAobWFnaXQtYnJhbmNoLXVwc3RyZWFtICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkNCi0gICBg KG1hZ2l0LWNoZXJyeS1lcXVpdmFsZW50ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LWNoZXJyeS11bm1hdGNo ZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5z ZSkpKQ0KLSAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBvZiBpbmhl cml0aW5nIGZyb20gdGhlDQotICAgOzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZhY2VzLCB0aG91Z2gg b25seSBmb3IgdGhlIHN0YW5kYXJkIGFjdGlvbnMsDQotICAgOzsgbm90IHRoZSBoaWdobGlnaHRl ZCBvbmVzLiAgVGhpcyBpcyBiZWNhdXNlIE1hZ2l0J3MgaW50ZXJhY3Rpb24NCi0gICA7OyBtb2Rl bCByZWxpZXMgb24gaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IGRpZmYgaHVuay4NCi0gICBgKG1h Z2l0LWRpZmYtYWRkZWQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIGdyZWVuDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGZnLWRpZmYt YWRkZWQpKSkpDQotICAgYChtYWdpdC1kaWZmLWFkZGVkLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkKSkpDQotICAgYChtYWdpdC1kaWZmLWJh c2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJnLW1haW4geWVsbG93DQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIGZnLWRpZmYtY2hhbmdlZCkp KSkNCi0gICBgKG1hZ2l0LWRpZmYtYmFzZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2VkKSkpDQotICAgYChtYWdpdC1kaWZmLWNvbnRleHQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAobWFnaXQtZGlmZi1j b250ZXh0LWhpZ2hsaWdodCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1k aW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctaW5h Y3RpdmUgZmctaW5hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctZGltIGZnLWFsdCkpKSkNCi0gICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5n ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAobWFnaXQtZGlmZi1maWxlLWhlYWRpbmctaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgYm9sZCkpKSkNCi0gICBgKG1hZ2l0LWRpZmYtZmls ZS1oZWFkaW5nLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt Y3lhbikpKQ0KLSAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBvZiBp bmhlcml0aW5nIGZyb20gdGhlDQotICAgOzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZhY2VzLg0KLSAg IGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dy b3VuZCAsYmctYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LWRpZmYtaHVuay1oZWFkaW5n LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWhl YWRpbmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZmctZGlmZi1oZWFkaW5nKSkpDQotICAgYChtYWdpdC1kaWZmLWh1bmstaGVh ZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUp KSkNCi0gICBgKG1hZ2l0LWRpZmYtaHVuay1yZWdpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkp KQ0KLSAgIGAobWFnaXQtZGlmZi1saW5lcy1ib3VuZGFyeSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAobWFnaXQtZGlmZi1saW5lcy1oZWFkaW5nICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChtYWdpdC1kaWZmLXJlbW92 ZWQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4gcmVkDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVtb3ZlZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1udWFuY2VkLWJnIGZnLWRpZmYtcmVtb3Zl ZCkpKSkNCi0gICBgKG1hZ2l0LWRpZmYtcmVtb3ZlZC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVkKSkpDQotICAgYChtYWdpdC1kaWZmc3Rh dC1hZGRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG1hZ2l0LWRpZmZz dGF0LXJlbW92ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobWFnaXQtZGlt bWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKG1hZ2l0LWZp bGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1h Z2l0LWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtaGVh ZCAoKCxjbGFzcyA6aW5oZXJpdCBtYWdpdC1icmFuY2gtbG9jYWwpKSkNCi0gICBgKG1hZ2l0LWhl YWRlci1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0 aXZlKSkpDQotICAgYChtYWdpdC1oZWFkZXItbGluZS1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtaGVhZGVyLWxpbmUtbG9n LXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChtYWdpdC1rZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChtYWdpdC1rZXl3b3JkLXNxdWFzaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1sb2ctYXV0aG9yICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYWdpdC1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1sb2ctZ3JhcGggKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KLSAgIGAobWFnaXQtbW9kZS1saW5lLXByb2Nlc3MgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LW1vZGUt bGluZS1wcm9jZXNzLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LXByb2Nlc3MtbmcgKCgsY2xhc3MgOmluaGVyaXQgZXJy b3IpKSkNCi0gICBgKG1hZ2l0LXByb2Nlc3Mtb2sgKCgsY2xhc3MgOmluaGVyaXQgc3VjY2Vzcykp KQ0KLSAgIGAobWFnaXQtcmVmbG9nLWFtZW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1jaGVj a291dCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRl bnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctY2hlcnJ5LXBpY2sgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJl ZmxvZy1jb21taXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdy ZWVuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1tZXJnZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQt cmVmbG9nLW90aGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxj eWFuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1yZWJhc2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAobWFn aXQtcmVmbG9nLXJlbW90ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3Vu ZCAsY3lhbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctcmVzZXQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYChtYWdp dC1yZWZuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJl Zm5hbWUtcHVsbHJlcSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdp dC1yZWZuYW1lLXN0YXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1h Z2l0LXJlZm5hbWUtd2lwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1h Z2l0LXNlY3Rpb24gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbi1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hZ2l0LXNlY3Rpb24taGVhZGluZy1zZWxl Y3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIGJvbGQpKSkp DQotICAgYChtYWdpdC1zZWN0aW9uLWhpZ2hsaWdodCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLWRyb3AgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLWV4ZWMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1oZWFkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2Utb250byAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1wYXJ0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1w aWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVu Y2Utc3RvcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYWdpdC1zaWduYXR1 cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo bWFnaXQtc2lnbmF0dXJlLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChtYWdpdC1zaWduYXR1cmUtZXhwaXJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtZXhwaXJlZC1rZXkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWdvb2QgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtcmV2b2tlZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLXVudHJ1c3RlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFnaXQtdGFnICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7OzsgbWFnaXQtaW1lcmdlDQotICAg YChtYWdpdC1pbWVyZ2Utb3ZlcnJpZGluZy12YWx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgbWFuDQotICAgYChNYW4tb3ZlcnN0cmlrZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChNYW4t cmV2ZXJzZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0K LSAgIGAoTWFuLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbiA6dW5kZXJsaW5l IHQpKSkNCi07Ozs7OyBtYXJrZG93bi1tb2RlDQotICAgYChtYXJrZG93bi1ibG9ja3F1b3RlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCkpKQ0KLSAgIGAobWFya2Rvd24tY29kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLW1peGVkLWZvbnRzKSkpKQ0KLSAgIGAobWFya2Rvd24tY29tbWVudC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAobWFya2Rvd24tZm9vdG5vdGUtbWFya2VyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG1hcmtkb3duLWZvb3Rub3RlLXRleHQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgLG1vZHVzLXRoZW1lLXNs YW50KSkpDQotICAgYChtYXJrZG93bi1nZm0tY2hlY2tib3gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1kZWxpbWl0ZXIt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVn cm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UgKCh0IG5pbCkpKQ0K LSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTEpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTIgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFj ZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KLSAgIGAobWFy a2Rvd24taGVhZGVyLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTQpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTUgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy01KSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS02ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0KLSAgIGAobWFya2Rvd24taGVh ZGVyLXJ1bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCi0gICBgKG1hcmtkb3duLWhyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtYXJrZG93bi1odG1sLWF0 dHItbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRz KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAobWFya2Rvd24taHRtbC1hdHRyLXZhbHVlLWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobWFy a2Rvd24taHRtbC1lbnRpdHktZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1t aXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtdGFnLWRlbGltaXRlci1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtbWlsZCkpKQ0KLSAgIGAobWFya2Rvd24taHRtbC10YWctbmFtZS1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAg IGAobWFya2Rvd24taW5saW5lLWNvZGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG1hcmtkb3duLWl0YWxpYy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAg IGAobWFya2Rvd24tbGFuZ3VhZ2UtaW5mby1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmtkb3duLWxh bmd1YWdlLWtleXdvcmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhl ZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93bi1saW5lLWJyZWFr LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gOnVuZGVybGlu ZSB0KSkpDQotICAgYChtYXJrZG93bi1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbGluaykp KQ0KLSAgIGAobWFya2Rvd24tbGluay10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFya2Rv d24tbGlzdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1hcmtk b3duLW1hcmt1cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1h cmtkb3duLW1hdGgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKG1hcmtkb3duLW1ldGFkYXRhLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24tbWV0YWRhdGEtdmFsdWUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG1hcmtkb3duLW1pc3Npbmct bGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAobWFya2Rvd24tcGxhaW4tdXJsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWFya2Rvd24t bGluay1mYWNlKSkpDQotICAgYChtYXJrZG93bi1wcmUtZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49 IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWRpbQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAobWFya2Rvd24tcmVmZXJlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWFya2Rv d24tbWFya3VwLWZhY2UpKSkNCi0gICBgKG1hcmtkb3duLXN0cmlrZS10aHJvdWdoLWZhY2UgKCgs Y2xhc3MgOnN0cmlrZS10aHJvdWdoIHQpKSkNCi0gICBgKG1hcmtkb3duLXRhYmxlLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0g ICBgKG1hcmtkb3duLXVybC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LTs7Ozs7IG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9kZScpDQotICAgYChtYXJrdXAtYW5jaG9yLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJrdXAtYXR0 cmlidXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlIDpzbGFudCBpdGFs aWMpKSkNCi0gICBgKG1hcmt1cC1iaWctZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMyA6Zm9yZWdy b3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtYm9sZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtY29k ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQotICAgYChtYXJrdXAtY29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1p bmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmt1cC1jb21w bGV4LXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3Ig bmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkp DQotICAgYChtYXJrdXAtZW1waGFzaXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmt1cC1lcnJvci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobWFya3VwLWdlbi1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWFya3VwLWlu dGVybmFsLXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3Vu ZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmt1cC1s aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQot ICAgYChtYXJrdXAtbWV0YS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkp KQ0KLSAgIGAobWFya3VwLW1ldGEtaGlkZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKG1hcmt1cC1wYXNzdGhyb3VnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZp eGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYXJrdXAtcHJlcHJvY2Vzc29y LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmt1 cC1yZXBsYWNlbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVy KSkpDQotICAgYChtYXJrdXAtc2Vjb25kYXJ5LXRleHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAu OCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtc21hbGwtZmFj ZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobWFy a3VwLXN0cm9uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1u dWFuY2VkKSkpDQotICAgYChtYXJrdXAtc3Vic2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAw LjggOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya3VwLXN1cGVyc2Ny aXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAobWFya3VwLXRhYmxlLWNlbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmt1cC10YWJsZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChtYXJrdXAtdGFibGUt cm93LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0g ICBgKG1hcmt1cC10aXRsZS0wLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAzLjAgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTEtZmFjZSAoKCxjbGFzcyA6aGVp Z2h0IDIuNCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUt Mi1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS44IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkN Ci0gICBgKG1hcmt1cC10aXRsZS0zLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjQgOmZvcmVncm91 bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTQtZmFjZSAoKCxjbGFzcyA6 aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0 bGUtNS1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQg OnVuZGVybGluZSB0KSkpDQotICAgYChtYXJrdXAtdmFsdWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC12ZXJiYXRpbS1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IG1lbnRvcg0KLSAg IGAobWVudG9yLWRvd25sb2FkLW1lc3NhZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXByb2dyZXNzICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobWVudG9yLWRvd25s b2FkLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChtZW50b3ItZG93bmxvYWQtc3BlZWQtZG93biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1zcGVlZC11cCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXN0YXRlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChtZW50b3ItaGlnaGxpZ2h0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKG1lbnRvci10cmFj a2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgbWVz c2FnZXMNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC0zICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC00ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItY2MgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG1lc3Nh Z2UtaGVhZGVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0K LSAgIGAobWVzc2FnZS1oZWFkZXItbmV3c2dyb3VwcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLW90aGVyICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYCht ZXNzYWdlLWhlYWRlci1zdWJqZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtZXNzYWdlLWhlYWRlci10byAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChtZXNzYWdlLWhlYWRlci14 aGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtZXNzYWdlLW1tbCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtZXNzYWdlLXNl cGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkN Ci07Ozs7OyBtaW5pYnVmZmVyLWxpbmUNCi0gICBgKG1pbmlidWZmZXItbGluZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IG1pbmltYXANCi0gICBgKG1pbmltYXAtYWN0 aXZlLXJlZ2lvbi1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkN Ci0gICBgKG1pbmltYXAtY3VycmVudC1saW5lLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5 YW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IG1vZGVsaW5lDQot ICAgYChtb2RlLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5l LWF0dHJzDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWN0aXZlIGJnLWFjdGl2ZSBm Zy1kaW0gYmctYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWx0IGJnLWFj dGl2ZSAnYWx0LXN0eWxlIG5pbCBiZy1tYWluKSkpKQ0KLSAgIGAobW9kZS1saW5lLWJ1ZmZlci1p ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChtb2RlLWxpbmUtZW1waGFzaXMgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKG1v ZGUtbGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJs dWUgOmJveCAoOmxpbmUtd2lkdGggLTEgOnN0eWxlIHByZXNzZWQtYnV0dG9uKSkpKQ0KLSAgIGAo bW9kZS1saW5lLWluYWN0aXZlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUt bGluZS1hdHRycw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWluYWN0 aXZlIGJnLWluYWN0aXZlIGZnLWFsdCBiZy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1yZWdpb24gYmctYWN0aXZlKSkpKQ0KLTs7Ozs7IG1vb2QtbGluZQ0KLSAg IGAobW9vZC1saW5lLW1vZGlmaWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2 ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChtb29kLWxpbmUtc3RhdHVzLWluZm8g KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChtb29kLWxpbmUtc3Rh dHVzLW5ldXRyYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYCht b29kLWxpbmUtc3RhdHVzLXN1Y2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2 ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS11bmltcG9y dGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07Ozs7OyBtcGRlbA0K LSAgIGAobXBkZWwtYnJvd3Nlci1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAobXBkZWwtcGxheWxpc3QtY3VycmVudC1zb25nLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBtdTRl DQotICAgYChtdTRlLWF0dGFjaC1udW1iZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC0xLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC0zLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC00LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC02 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChtdTRlLWNpdGVk LTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobXU0ZS1jb21w b3NlLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG11NGUtY29tcG9zZS1zZXBhcmF0b3It ZmFjZSkpKQ0KLSAgIGAobXU0ZS1jb21wb3NlLXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLSAgIGAobXU0ZS1jb250YWN0LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKG11NGUtY29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KLSAgIGAobXU0ZS1kcmFmdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAobXU0ZS1mbGFnZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hbHQpKSkNCi0gICBgKG11NGUtZm9vdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtdTRlLWZv cndhcmRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAobXU0ZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChtdTRlLWhlYWRlci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1obC1saW5lKSkpDQotICAgYChtdTRlLWhlYWRlci1rZXktZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobXU0ZS1oZWFkZXItbWFya3MtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobXU0ZS1oZWFk ZXItdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQot ICAgYChtdTRlLWhlYWRlci12YWx1ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtdTRlLWhpZ2hsaWdodC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAg YChtdTRlLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChtdTRlLW1v ZGVsaW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAg YChtdTRlLW1vdmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtdTRlLW9rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG11NGUtcmVnaW9uLWNvZGUgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChtdTRlLXJlcGxp ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1mYWludCkpKQ0KLSAgIGAobXU0ZS1z cGVjaWFsLWhlYWRlci12YWx1ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChtdTRlLXN5c3RlbS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYXJrLWRlbCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChtdTRlLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG11NGUtdHJhc2hlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG11 NGUtdW5yZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAobXU0ZS11cmwtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtdmlldy1ib2R5LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG11NGUtd2FybmluZy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHdhcm5pbmcpKSkNCi07Ozs7OyBtdTRlLWNvbnZlcnNhdGlvbg0K LSAgIGAobXU0ZS1jb252ZXJzYXRpb24taGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTEgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobXU0ZS1jb252ZXJz YXRpb24tc2VuZGVyLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVy LTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUt Y29udmVyc2F0aW9uLXNlbmRlci02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1m ZykpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTgg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQotICAgYChtdTRlLWNvbnZl cnNhdGlvbi1zZW5kZXItbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG11NGUtY29udmVyc2F0aW9uLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotOzs7 OzsgbXVsdGlwbGUtY3Vyc29ycw0KLSAgIGAobWMvY3Vyc29yLWJhci1mYWNlICgoLGNsYXNzIDpo ZWlnaHQgMSA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobWMvY3Vyc29yLWZhY2UgKCgs Y2xhc3MgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAobWMvcmVnaW9uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgcmVnaW9uKSkpDQotOzs7OzsgbmVvdHJlZQ0KLSAgIGAobmVvLWJhbm5lci1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChuZW8tYnV0dG9uLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChuZW8tZGlyLWxpbmstZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChuZW8tZXhwYW5k LWJ0bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChuZW8tZmlsZS1s aW5rLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5lby1oZWFk ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChuZW8tcm9vdC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAobmVvLXZjLWFkZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuKSkpDQotICAgYChuZW8tdmMtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG5lby12Yy1kZWZhdWx0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5lby12Yy1lZGl0ZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChuZW8tdmMtaWdub3JlZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobmVvLXZjLW1pc3Np bmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobmVvLXZjLW5l ZWRzLW1lcmdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAg YChuZW8tdmMtbmVlZHMtdXBkYXRlLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAg YChuZW8tdmMtcmVtb3ZlZC1mYWNlICgoLGNsYXNzIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQotICAg YChuZW8tdmMtdW5sb2NrZWQtY2hhbmdlcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChuZW8tdmMtdXAtdG8tZGF0ZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG5lby12Yy11c2VyLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBuby1lbW9qaQ0KLSAgIGAobm8tZW1vamkg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBub3RtdWNoDQotICAgYChub3Rt dWNoLWNyeXB0by1kZWNyeXB0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1tYWdlbnRhKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1wYXJ0LWhlYWRlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG5vdG11Y2gtY3J5cHRvLXNp Z25hdHVyZS1iYWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkN Ci0gICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS1nb29kICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KLSAgIGAobm90bXVjaC1jcnlwdG8tc2lnbmF0dXJl LWdvb2Qta2V5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkN Ci0gICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS11bmtub3duICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKG5vdG11Y2gtaGVsbG8tbG9nby1iYWNr Z3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChub3RtdWNoLW1l c3NhZ2Utc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW51YW5jZWQt Y3lhbikpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtZmxhZ2dlZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChub3RtdWNoLXNlYXJjaC1tYXRjaGluZy1hdXRob3Jz ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChub3RtdWNoLXNlYXJjaC1u b24tbWF0Y2hpbmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChub3RtdWNoLXNlYXJjaC11bnJlYWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQot ICAgYChub3RtdWNoLXRhZy1hZGRlZA0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5k ZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9y ICxncmVlbiA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4g OnVuZGVybGluZSB0KSkpDQotICAgYChub3RtdWNoLXRhZy1kZWxldGVkDQotICAgICAoKCwoYXBw ZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAg ICA6dW5kZXJsaW5lICg6Y29sb3IgLHJlZCA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobm90bXVjaC10YWctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobm90 bXVjaC10YWctZmxhZ2dlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAo bm90bXVjaC10YWctdW5yZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K LSAgIGAobm90bXVjaC10cmVlLW1hdGNoLWF1dGhvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG5vdG11Y2gtdHJlZS1tYXRjaC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChub3RtdWNoLXRyZWUtbWF0Y2gtdGFn LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0g ICBgKG5vdG11Y2gtdHJlZS1uby1tYXRjaC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKG5vdG11Y2gtd2FzaC1jaXRlZC10ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChub3RtdWNoLXdhc2gtdG9nZ2xlLWJ1dHRvbiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBudW0zLW1vZGUN Ci0gICBgKG51bTMtZmFjZS1ldmVuICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQg LGJnLWFsdCkpKQ0KLTs7Ozs7IG54bWwtbW9kZQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtY29sb24g KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG54bWwtYXR0cmlidXRlLWxv Y2FsLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQg Y3lhbi1hbHQtZmFpbnQpKSkpDQotICAgYChueG1sLWF0dHJpYnV0ZS1wcmVmaXggKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1m YWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtYXR0cmlidXRlLXZhbHVlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAg YChueG1sLWNkYXRhLXNlY3Rpb24tQ0RBVEEgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQot ICAgYChueG1sLWNkYXRhLXNlY3Rpb24tZGVsaW1pdGVyICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKG54bWwt Y2hhci1yZWYtZGVsaW1pdGVyICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn cmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAobnhtbC1jaGFy LXJlZi1udW1iZXIgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1v dGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54 bWwtZGVsaW1pdGVkLWRhdGEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChueG1sLWRlbGltaXRlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChueG1sLWVsZW1lbnQtY29sb24gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG54bWwtZWxlbWVudC1sb2NhbC1uYW1l ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFp bnQpKSkpDQotICAgYChueG1sLWVsZW1lbnQtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkp KSkNCi0gICBgKG54bWwtZW50aXR5LXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWludCkp KSkNCi0gICBgKG54bWwtZW50aXR5LXJlZi1uYW1lICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13 ZWlnaHQpKSkpDQotICAgYChueG1sLWdseXBoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtbmV1dHJhbCkpKQ0KLSAgIGAobnhtbC1oYXNoICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWhlYWRpbmcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobnhtbC1uYW1lICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChu eG1sLW5hbWVzcGFjZS1hdHRyaWJ1dGUtY29sb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKG54bWwtbmFtZXNwYWNlLWF0dHJpYnV0ZS1wcmVmaXggKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAg IGAobnhtbC1wcm9jZXNzaW5nLWluc3RydWN0aW9uLXRhcmdldCAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFs dC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChu eG1sLXByb2xvZy1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkN Ci0gICBgKG54bWwtcmVmICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3Jl ZW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotOzs7Ozsgb2JqZWQNCi0gICBgKG9iamVkLWhs ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICwoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1o bC1saW5lDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWhsLWFs dC1pbnRlbnNlIGJnLWhsLWFsdCkpKSkNCi0gICBgKG9iamVkLW1hcmsgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAob2JqZWQtbW9kZS1saW5lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLTs7Ozs7IG9yZGVybGVzcw0KLSAgIGAob3JkZXJsZXNz LW1hdGNoLWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBs ZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0 LW90aGVyIGJsdWUtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBibHVlLXJlZmluZS1iZyBibHVlLXJlZmluZS1mZykpKSkNCi0gICBgKG9yZGVybGVz cy1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21w bGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRh LWFsdCBtYWdlbnRhLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YS1yZWZpbmUtYmcgbWFnZW50YS1yZWZpbmUtZmcpKSkpDQotICAgYChv cmRlcmxlc3MtbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRh cmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3JlZW4gZ3JlZW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncmVlbi1yZWZpbmUtYmcgZ3JlZW4tcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJs ZXNzLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNv bXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxv dyB5ZWxsb3ctbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB5ZWxsb3ctcmVmaW5lLWJnIHllbGxvdy1yZWZpbmUtZmcpKSkpDQotOzs7Ozsgb3JnDQot ICAgYChvcmctYWdlbmRhLWNhbGVuZGFyLWV2ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChvcmctYWdlbmRhLWNhbGVuZGFyLXNleHAgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQotICAgYChvcmctYWdlbmRhLWNsb2NraW5nICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkp KSkNCi0gICBgKG9yZy1hZ2VuZGEtY29sdW1uLWRhdGVsaW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtY3VycmVudC10aW1lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChvcmctYWdlbmRh LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGF0 ZS10b2RheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAob3JnLWFnZW5kYS1kYXRlLXdlZWtlbmQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChvcmctYWdlbmRhLWRpYXJ5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctYWdlbmRhLWRpbW1lZC10b2RvLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChv cmctYWdlbmRhLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAo b3JnLWFnZW5kYS1maWx0ZXItY2F0ZWdvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmlsdGVyLWVmZm9ydCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAob3JnLWFnZW5kYS1maWx0ZXItcmVnZXhwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChvcmctYWdlbmRhLWZpbHRlci10YWdzICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAg YChvcmctYWdlbmRhLXJlc3RyaWN0aW9uLWxvY2sgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp bSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChvcmctYWdlbmRhLXN0cnVjdHVyZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG9yZy1hcmNoaXZlZCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1i bG9jayAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2sgYmct ZGltKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChvcmctYmxvY2stYmVnaW4tbGluZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9jay1kZWxpbQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmctYWx0IGZnLXNwZWNpYWwtbWlsZCkpKSkNCi0gICBg KG9yZy1ibG9jay1lbmQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctYmxvY2stYmVnaW4tbGlu ZSkpKQ0KLSAgIGAob3JnLWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNv bG9yICxiZy1hY3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQg LGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKG9yZy1jaGVja2Jv eC1zdGF0aXN0aWNzLWRvbmUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWRvbmUpKSkNCi0gICBgKG9y Zy1jaGVja2JveC1zdGF0aXN0aWNzLXRvZG8gKCgsY2xhc3MgOmluaGVyaXQgb3JnLXRvZG8pKSkN Ci0gICBgKG9yZy1jbG9jay1vdmVybGF5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAob3JnLWNvZGUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtbWl4ZWQtZm9udHMpIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChvcmctY29s dW1uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKG9yZy1jb2x1bW4tdGl0 bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6dW5kZXJsaW5lIHQgOmJhY2tncm91bmQgLGJnLWFs dCkpKQ0KLSAgIGAob3JnLWRhdGUgKCgsY2xhc3MgOmluaGVyaXQgKGJ1dHRvbiBmaXhlZC1waXRj aCkgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChvcmctZGF0ZS1zZWxlY3Rl ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCA6aW52ZXJzZS12 aWRlbyB0KSkpDQotICAgYChvcmctZG9jdW1lbnQtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChvcmctZG9jdW1lbnQtaW5mby1rZXl3b3JkICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChv cmctZG9jdW1lbnQtdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZh cmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMt b3BlcmFuZGktdGhlbWUtc2NhbGUtNSkpKSkNCi0gICBgKG9yZy1kb25lICgoLGNsYXNzIDpib3gg LGJnLXJlZ2lvbiA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAg IGAob3JnLWRyYXdlciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250 cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KG9yZy1lbGxpcHNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCBuaWwpKSkgOyBpbmhlcml0cyBmcm9t IHRoZSBoZWFkaW5nJ3MgY29sb3VyDQotICAgYChvcmctZm9vdG5vdGUgKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAob3JnLWZvcm11bGEgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAob3JnLWhhYml0LWFs ZXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkN Ci0gICBgKG9yZy1oYWJpdC1hbGVydC1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChvcmctaGFiaXQtY2xlYXItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKG9yZy1o YWJpdC1jbGVhci1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YSkpKQ0KLSAgIGAob3JnLWhhYml0LW92ZXJkdWUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAob3JnLWhhYml0LW92ZXJkdWUt ZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0K LSAgIGAob3JnLWhhYml0LXJlYWR5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1ibHVlKSkpDQotICAgYChvcmctaGFiaXQtcmVhZHktZnV0dXJlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi0gICBgKG9yZy1oZWFkbGlu ZS1kb25lICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9y ZWdyb3VuZCAsZ3JlZW4tbnVhbmNlZCkpKQ0KLSAgIGAob3JnLWhlYWRsaW5lLXRvZG8gKCgsY2xh c3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxyZWQt bnVhbmNlZCkpKQ0KLSAgIGAob3JnLWhpZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJnLW1haW4p KSkNCi0gICBgKG9yZy1pbmRlbnQgKCgsY2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG9yZy1o aWRlKSkpKQ0KLSAgIGAob3JnLWxhdGV4LWFuZC1yZWxhdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAob3JnLWxldmVsLTEgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotICAgYChvcmctbGV2ZWwtMiAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCi0gICBgKG9yZy1sZXZlbC0zICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KLSAgIGAob3JnLWxldmVsLTQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQotICAgYChvcmctbGV2 ZWwtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCi0gICBgKG9y Zy1sZXZlbC02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0KLSAg IGAob3JnLWxldmVsLTcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy03KSkp DQotICAgYChvcmctbGV2ZWwtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTgpKSkNCi0gICBgKG9yZy1saW5rICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKG9y Zy1saXN0LWR0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG9yZy1tYWNybyAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAob3JnLW1ldGEtbGluZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1taXhlZC1mb250cykgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLW1v ZGUtbGluZS1jbG9jayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAob3Jn LW1vZGUtbGluZS1jbG9jay1vdmVycnVuICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFj dGl2ZS1yZWQpKSkNCi0gICBgKG9yZy1wcmlvcml0eSAoKCxjbGFzcyA6Ym94ICxiZy1yZWdpb24g OmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAob3JnLXBy b3BlcnR5LXZhbHVlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRz KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAob3JnLXF1b3RlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW9yZy1ibG9jayBiZy1kaW0pDQotICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChv cmctc2NoZWR1bGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0g ICBgKG9yZy1zY2hlZHVsZWQtcHJldmlvdXNseSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLXNjaGVkdWxlZC10b2RheSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1zZXhwLWRhdGUgKCgsY2xhc3Mg OmluaGVyaXQgb3JnLWRhdGUpKSkNCi0gICBgKG9yZy1zcGVjaWFsLWtleXdvcmQgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG9yZy10 YWJsZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChvcmctdGFibGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IChmaXhlZC1waXRjaCBtb2R1cy10 aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkpDQotICAgYChvcmctdGFnICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKG9yZy10YWctZ3JvdXAgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkKSkpDQotICAgYChvcmctdGFyZ2V0 ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAob3JnLXRpbWUtZ3JpZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChvcmctdG9kbyAoKCxjbGFzcyA6Ym94 ICxiZy1yZWdpb24gOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0K LSAgIGAob3JnLXVwY29taW5nLWRlYWRsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0 LW90aGVyKSkpDQotICAgYChvcmctdXBjb21pbmctZGlzdGFudC1kZWFkbGluZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKG9yZy12ZXJiYXRpbSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0p KSkNCi0gICBgKG9yZy12ZXJzZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctcXVvdGUpKSkNCi0gICBg KG9yZy13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQt b3RoZXIpKSkNCi07Ozs7OyBvcmctam91cm5hbA0KLSAgIGAob3JnLWpvdXJuYWwtY2FsZW5kYXIt ZW50cnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlciA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChvcmctam91cm5hbC1jYWxlbmRhci1zY2hlZHVs ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotICAgYChvcmctam91cm5hbC1oaWdobGlnaHQgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7Ozsgb3JnLW5vdGVyDQotICAgYChvcmctbm90 ZXItbm8tbm90ZXMtZXhpc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWN0aXZlKSkpDQotICAgYChvcmctbm90ZXItbm90ZXMtZXhpc3QtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi07Ozs7OyBvcmct cG9tb2Rvcm8NCi0gICBgKG9yZy1wb21vZG9yby1tb2RlLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG9yZy1wb21vZG9yby1tb2RlLWxpbmUtYnJlYWsgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChvcmctcG9tb2Rvcm8tbW9k ZS1saW5lLW92ZXJ0aW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h Y3RpdmUpKSkNCi07Ozs7OyBvcmctcmVjdXINCi0gICBgKG9yZy1yZWN1ciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi07Ozs7OyBvcmctcm9hbQ0KLSAgIGAob3JnLXJv YW0tbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGdyZWVuKSkpDQot ICAgYChvcmctcm9hbS1saW5rLWN1cnJlbnQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG9yZy1yb2FtLWxpbmstaW52YWxpZCAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAob3JnLXJvYW0tbGlu ay1zaGllbGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLHllbGxvdykp KQ0KLSAgIGAob3JnLXJvYW0tdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50 IGl0YWxpYykpKQ0KLTs7Ozs7IG9yZy1zdXBlcnN0YXINCi0gICBgKG9yZy1zdXBlcnN0YXItaXRl bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAob3JnLXN1cGVyc3Rhci1s ZWFkaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotOzs7Ozsgb3Jn LXRhYmxlLXN0aWNreS1oZWFkZXINCi0gICBgKG9yZy10YWJsZS1zdGlja3ktaGVhZGVyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotOzs7Ozsg b3JnLXRyZWVzY29wZQ0KLSAgIGAob3JnLXRyZWVzY29wZS1mYWNlcy0tbWFya2VyaW50ZXJuYWwt bWlkZGF5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAg IGAob3JnLXRyZWVzY29wZS1mYWNlcy0tbWFya2VyaW50ZXJuYWwtcmFuZ2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7Ozsgb3JpZ2FtaQ0KLSAgIGAo b3JpZ2FtaS1mb2xkLWhlYWRlci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZv cmVncm91bmQgLGZnLWRpbSA6Ym94IHQpKSkNCi0gICBgKG9yaWdhbWktZm9sZC1yZXBsYWNlbWVu dC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLTs7Ozs7IG91dGxpbmUtbW9kZQ0KLSAgIGAob3V0bGluZS0xICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLSAgIGAob3V0bGluZS0yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAob3V0bGluZS0zICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KLSAgIGAob3V0bGluZS00ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KLSAgIGAob3V0bGluZS01ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KLSAgIGAob3V0bGluZS02ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0KLSAgIGAob3V0bGluZS03 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNykpKQ0KLSAgIGAob3V0bGlu ZS04ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctOCkpKQ0KLTs7Ozs7IG91 dGxpbmUtbWlub3ItZmFjZXMNCi0gICBgKG91dGxpbmUtbWlub3ItMCAoKCxjbGFzcyBuaWwpKSkN Ci07Ozs7OyBwYWNrYWdlIChNLXggbGlzdC1wYWNrYWdlcykNCi0gICBgKHBhY2thZ2UtZGVzY3Jp cHRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocGFj a2FnZS1oZWxwLXNlY3Rpb24tbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocGFja2FnZS1uYW1lICgoLGNsYXNzIDppbmhl cml0IGxpbmspKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWF2YWlsLW9ic28gKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1hdmFp bGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAocGFj a2FnZS1zdGF0dXMtYnVpbHQtaW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0g ICBgKHBhY2thZ2Utc3RhdHVzLWRlcGVuZGVuY3kgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1kaXNhYmxlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1l eHRlcm5hbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHBh Y2thZ2Utc3RhdHVzLWhlbGQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0g ICBgKHBhY2thZ2Utc3RhdHVzLWluY29tcGF0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtaW5zdGFsbGVkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLW5l dyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocGFj a2FnZS1zdGF0dXMtdW5zaWduZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLTs7Ozs7IHBhZ2UtYnJlYWstbGluZXMNCi0gICBgKHBhZ2UtYnJlYWstbGlu ZXMgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVsdCA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlk ZXItb3V0ZXIpKSkNCi07Ozs7OyBwYXJhZG94DQotICAgYChwYXJhZG94LWFyY2hpdmUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChwYXJhZG94LWNv bW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKHBhcmFkb3gtY29tbWl0LXRhZy1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhIDpib3ggdCkpKQ0KLSAgIGAocGFyYWRveC1k ZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKHBhcmFkb3gtZGVzY3JpcHRpb24tZmFjZS1tdWx0aWxpbmUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocGFyYWRveC1kb3dubG9hZC1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHBhcmFkb3gtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAocGFyYWRveC1ob21lcGFnZS1idXR0b24tZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChwYXJh ZG94LW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWN0aXZlKSkpDQotICAgYChwYXJhZG94LW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHBhcmFkb3gtc3Rhci1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChwYXJhZG94LXN0YXJyZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBwYXJlbi1mYWNlDQotICAg YChwYXJlbnRoZXNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotOzs7 OzsgcGFycm90DQotICAgYChwYXJyb3Qtcm90YXRlLXJvdGF0aW9uLWhpZ2hsaWdodC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotOzs7OzsgcGFz cw0KLSAgIGAocGFzcy1tb2RlLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocGFzcy1tb2RlLWVudHJ5LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKHBhc3MtbW9kZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotOzs7OzsgcGVyc3AtbW9kZQ0KLSAgIGAocGVyc3AtZmFjZS1saWdodGVy LWJ1ZmZlci1ub3QtaW4tcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1yZWQpKSkNCi0gICBgKHBlcnNwLWZhY2UtbGlnaHRlci1kZWZhdWx0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChwZXJzcC1mYWNlLWxp Z2h0ZXItbmlsLXBlcnNwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFj dGl2ZSkpKQ0KLTs7Ozs7IHBlcnNwZWN0aXZlDQotICAgYChwZXJzcC1zZWxlY3RlZC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotOzs7Ozsg cGhpLWdyZXANCi0gICBgKHBoaS1ncmVwLWhlYWRpbmctZmFjZSAgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVt ZS1zY2FsZS00KSkpKQ0KLSAgIGAocGhpLWdyZXAtbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChwaGktZ3JlcC1tYXRjaC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAocGhp LWdyZXAtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt eWVsbG93KSkpDQotICAgYChwaGktZ3JlcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi07Ozs7OyBwaGktc2VhcmNoDQotICAgYChwaGkt cmVwbGFjZS1wcmV2aWV3LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1tYWdlbnRhKSkpDQotICAgYChwaGktc2VhcmNoLWZhaWxwYXJ0LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAocGhpLXNlYXJjaC1tYXRjaC1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChw aGktc2VhcmNoLXNlbGVjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1p bnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotOzs7OzsgcGtnYnVpbGQtbW9kZQ0KLSAgIGAocGtnYnVp bGQtZXJyb3ItZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7 OzsgcG9taWRvcg0KLSAgIGAocG9taWRvci1icmVhay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocG9taWRvci1vdmVyd29yay1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChwb21pZG9yLXNraXAtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKHBvbWlkb3Itd29yay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQt b3RoZXIpKSkNCi07Ozs7OyBwb3dlcmxpbmUNCi0gICBgKHBvd2VybGluZS1hY3RpdmUwICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50IDppbnZlcnNl LXZpZGVvIHQpKSkNCi0gICBgKHBvd2VybGluZS1hY3RpdmUxICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAocG93 ZXJsaW5lLWFjdGl2ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3Vu ZCAsZmctYWN0aXZlKSkpDQotICAgYChwb3dlcmxpbmUtaW5hY3RpdmUwICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAocG93ZXJsaW5lLWluYWN0aXZlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAocG93ZXJsaW5lLWluYWN0aXZlMiAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkp DQotOzs7OzsgcG93ZXJsaW5lLWV2aWwNCi0gICBgKHBvd2VybGluZS1ldmlsLWJhc2UtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAg IGAocG93ZXJsaW5lLWV2aWwtZW1hY3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtbWFnZW50YSkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtaW5zZXJ0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuKSkpDQotICAgYChwb3dlcmxp bmUtZXZpbC1tb3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUt Ymx1ZSkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtbm9ybWFsLWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAocG93ZXJsaW5lLWV2 aWwtb3BlcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVs bG93KSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1yZXBsYWNlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtdmlzdWFs LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4pKSkNCi07Ozs7 OyBwcm9jZWQNCi0gICBgKHByb2NlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LW1hcmstc3ltYm9sKSkpDQotICAgYChwcm9jZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLW1hcmstYWx0KSkpDQotICAgYChwcm9jZWQtc29ydC1oZWFkZXIgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtIDp1bmRlcmxpbmUgdCkp KQ0KLTs7Ozs7IHByb2RpZ3kNCi0gICBgKHByb2RpZ3ktZ3JlZW4tZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHByb2RpZ3ktcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAocHJvZGlneS15ZWxsb3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotOzs7OzsgcmFja2V0LW1vZGUNCi0gICBgKHJhY2tldC1kZWJ1Zy1i cmVhay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQot ICAgYChyYWNrZXQtZGVidWctbG9jYWxzLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGgg LTEgOmNvbG9yIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChyYWNrZXQtZGVidWctcmVzdWx0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3Ig bmlsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5k ICxncmVlbikpKQ0KLSAgIGAocmFja2V0LWhlcmUtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChyYWNrZXQta2V5d29yZC1hcmd1bWVudC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChyYWNrZXQtbG9nZ2VyLWNvbmZp Zy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAocmFja2V0LWxvZ2dlci1kZWJ1Zy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFja2V0LWxvZ2dlci1pbmZvLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSkpKQ0KLSAgIGAocmFja2V0LWxvZ2dlci10 b3BpYy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKHJhY2tldC1zZWxmZXZhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hbHQpKSkNCi0gICBgKHJhY2tldC14cC1lcnJvci1mYWNlDQotICAgICAoKCwo YXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAg ICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAg ICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQot Ozs7OzsgcmFpbmJvdy1ibG9ja3MNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTEtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ct YmxvY2tzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAo cmFpbmJvdy1ibG9ja3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC02 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tz LWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChyYWlu Ym93LWJsb2Nrcy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLXVubWF0Y2hlZC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7OyByYWluYm93LWlkZW50aWZpZXJzDQotICAgYChy YWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ct aWRlbnRpZmllcnMtaWRlbnRpZmllci0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmll cnMtaWRlbnRpZmllci01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K LSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTYgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTcg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50 aWZpZXJzLWlkZW50aWZpZXItOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0g ICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci05ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTAg KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJz LWlkZW50aWZpZXItMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHJh aW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmll ci0xNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRl bnRpZmllcnMtaWRlbnRpZmllci0xNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0K LTs7Ozs7IHJhaW5ib3ctZGVsaW1pdGVycw0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWJhc2Ut ZmFjZS1lcnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChyYWluYm93LWRl bGltaXRlcnMtYmFzZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0yLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93 LWRlbGltaXRlcnMtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJz LWRlcHRoLTUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0g ICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVy cy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChy YWluYm93LWRlbGltaXRlcnMtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtbWlzbWF0Y2hlZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHJhaW5ib3ct ZGVsaW1pdGVycy11bm1hdGNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi07Ozs7OyByY2lyYw0KLSAgIGAocmNpcmMtYnJpZ2h0LW5pY2sgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJjaXJj LWRpbS1uaWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHJjaXJjLW15 LW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAg IGAocmNpcmMtbmljay1pbi1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAocmNpcmMtbmljay1pbi1tZXNzYWdlLWZ1bGwtbGluZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHJj aXJjLW90aGVyLW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChyY2lyYy1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJjaXJjLXNlcnZlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChyY2lyYy10aW1lc3RhbXAgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAocmNpcmMtdXJsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHJlZ2V4cC1idWls ZGVyIChyZS1idWlsZGVyKQ0KLSAgIGAocmViLW1hdGNoLTAgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChyZWItbWF0Y2gtMSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHJlYi1tYXRjaC0yICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKHJlYi1t YXRjaC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAg YChyZWItcmVnZXhwLWdyb3VwaW5nLWJhY2tzbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gpKSkNCi0gICBgKHJlYi1yZWdleHAt Z3JvdXBpbmctY29uc3RydWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLTs7Ozs7IHJnIChyZy5lbCkNCi0gICBgKHJnLWNv bHVtbi1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKHJnLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1 c2VkKSkpDQotICAgYChyZy1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAocmctZmlsZS10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChyZy1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocmctbGlu ZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot ICAgYChyZy1saXRlcmFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChyZy1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt Y2FsbSkpKQ0KLSAgIGAocmctcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWN0aXZlKSkpDQotICAgYChyZy10b2dnbGUtb2ZmLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHJnLXRvZ2dsZS1vbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAg YChyZy13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQotOzs7OzsgcmlwZ3JlcA0KLSAgIGAocmlwZ3JlcC1jb250ZXh0LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAocmlwZ3JlcC1lcnJvci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocmlwZ3Jl cC1oaXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAocmlwZ3JlcC1t YXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0K LTs7Ozs7IHJtYWlsDQotICAgYChybWFpbC1oZWFkZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJtYWlsLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHJ1bGVyLW1vZGUN Ci0gICBgKHJ1bGVyLW1vZGUtY29sdW1uLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCAocnVsZXIt bW9kZS1kZWZhdWx0IGJvbGQpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChydWxlci1t b2RlLWNvbW1lbnQtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6 Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1jdXJyZW50LWNvbHVt biAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlIDpib3ggdCkpKQ0KLSAgIGAocnVsZXItbW9kZS1kZWZhdWx0ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHJ1 bGVyLW1vZGUtZmlsbC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0 IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtZnJpbmdlcyAo KCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGJsdWUtYWN0 aXZlKSkpDQotICAgYChydWxlci1tb2RlLWdvYWwtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1 bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHJ1 bGVyLW1vZGUtbWFyZ2lucyAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZv cmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKHJ1bGVyLW1vZGUtcGFkICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChydWxl ci1tb2RlLXRhYi1zdG9wICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9y ZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7IHNhbGxldA0KLSAgIGAoc2FsbGV0LWJ1 ZmZlci1jb21wcmVzc2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCA6c2xh bnQgaXRhbGljKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLWRlZmF1bHQtZGlyZWN0b3J5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKHNhbGxldC1idWZmZXItZGly ZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHNhbGxl dC1idWZmZXItaGVscCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYChzYWxsZXQtYnVmZmVyLW1vZGlmaWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWx0LW90aGVyIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHNhbGxldC1idWZmZXItb3JkaW5hcnkg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNhbGxldC1idWZmZXItcmVh ZC1vbmx5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChzYWxsZXQt YnVmZmVyLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAg IGAoc2FsbGV0LWJ1ZmZlci1zcGVjaWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAoc2FsbGV0LWZseC1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFuDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIpKSkpDQotICAgYChzYWxsZXQtcmVj ZW50Zi1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQot ICAgYChzYWxsZXQtcmVjZW50Zi1maWxlLXBhdGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtbWlsZCkpKQ0KLSAgIGAoc2FsbGV0LXJlZ2V4cC1tYXRjaCAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1h bHQtb3RoZXIpKSkpDQotICAgYChzYWxsZXQtc291cmNlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVt ZS1zY2FsZS00KSkpKQ0KLSAgIGAoc2FsbGV0LXN1YnN0cmluZy1tYXRjaCAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVl DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1 ZS1hbHQtb3RoZXIpKSkpDQotOzs7Ozsgc2VsZWN0cnVtDQotICAgYChzZWxlY3RydW0tY3VycmVu dC1jYW5kaWRhdGUNCi0gICAgICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LW1haW4gOnVuZGVybGluZSAsZmctbWFpbg0KLSAgICAgICAgICAgICAgOmJhY2tncm91bmQgLEAo cGNhc2UgbW9kdXMtb3BlcmFuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoJ29waW5pb25hdGVkIChsaXN0IGJnLWFjdGl2ZSkpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKF8gKGxpc3QgYmctaW5hY3RpdmUpKSkpKSkNCi0gICBgKHNl bGVjdHJ1bS1wcmltYXJ5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLW51YW5jZWQtYmcNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1iZyBtYWdl bnRhLXJlZmluZS1mZykpKSkNCi0gICBgKHNlbGVjdHJ1bS1zZWNvbmRhcnktaGlnaGxpZ2h0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1v dGhlciBjeWFuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN5YW4tcmVmaW5lLWJnIGN5YW4tcmVmaW5lLWZnKSkpKQ0KLTs7Ozs7IHNl bWFudGljDQotICAgYChzZW1hbnRpYy1jb21wbGV0ZS1pbmxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoc2VtYW50aWMt ZGVjb3JhdGlvbi1vbi1wcml2YXRlLW1lbWJlcnMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAoc2VtYW50aWMtZGVjb3JhdGlvbi1vbi1wcm90 ZWN0ZWQtbWVtYmVycy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBg KHNlbWFudGljLWhpZ2hsaWdodC1lZGl0cy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h bHQpKSkNCi0gICBgKHNlbWFudGljLWhpZ2hsaWdodC1mdW5jLWN1cnJlbnQtdGFnLWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoc2VtYW50aWMtaWRsZS1zeW1ib2wt aGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0K LSAgIGAoc2VtYW50aWMtdGFnLWJvdW5kYXJ5LWZhY2UgKCgsY2xhc3MgOm92ZXJsaW5lICxibHVl LWludGVuc2UpKSkNCi0gICBgKHNlbWFudGljLXVubWF0Y2hlZC1zeW50YXgtZmFjZSAoKCxjbGFz cyA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7Ozsgc2VzbWFuDQotICAgYChzZXNt YW4tYnJvd3Nlci1idXR0b24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChzZXNtYW4tYnJvd3Nlci1oaWdobGlnaC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChzZXNtYW4t YnVmZmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHNlc21h bi1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChzZXNtYW4tcHJvamVjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7Ozsgc2hlbGwtc2NyaXB0LW1vZGUN Ci0gICBgKHNoLWhlcmVkb2MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAg YChzaC1xdW90ZWQtZXhlYyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdl aWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7Ozsgc2hvdy1wYXJlbi1tb2Rl DQotICAgYChzaG93LXBhcmVuLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXBhcmVuIGJnLXBhcmVuLW1hdGNoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXBhcmVuLW1hdGNoLWludGVuc2UpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChzaG93LXBhcmVuLW1hdGNoLWV4cHJlc3Npb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChzaG93LXBhcmVuLW1pc21hdGNoICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7Ozsgc2lkZS1ub3Rlcw0KLSAg IGAoc2lkZS1ub3RlcyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxm Zy1kaW0pKSkNCi07Ozs7OyBza2V3ZXItbW9kZQ0KLSAgIGAoc2tld2VyLWVycm9yLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBzbWFydC1tb2Rl LWxpbmUNCi0gICBgKHNtbC9jaGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQotICAgYChzbWwvZGlzY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h Y3RpdmUpKSkNCi0gICBgKHNtbC9maWxlbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2ZvbGRlciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChzbWwvZ2l0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2dsb2JhbCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChzbWwvbGluZS1udW1iZXIgKCgsY2xhc3Mg OmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL21pbm9yLW1vZGVzICgoLGNsYXNzIDpp bmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9tb2RlcyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKHNtbC9tb2RpZmllZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoc21s L211bGUtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvbmFt ZS1maWxsaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChz bWwvbm90LW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNt bC9udW1iZXJzLXNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAg YChzbWwvb3V0c2lkZS1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCkpKQ0KLSAgIGAoc21sL3Bvc2l0aW9uLXBlcmNlbnRhZ2UgKCgsY2xhc3MgOmluaGVy aXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL3ByZWZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWN0aXZlKSkpDQotICAgYChzbWwvcHJvY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwv cHJlZml4KSkpDQotICAgYChzbWwvcHJvamVjdGlsZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2l0 KSkpDQotICAgYChzbWwvcmVhZC1vbmx5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChzbWwvcmVtb3RlICgoLGNsYXNzIDppbmhlcml0IHNt bC9nbG9iYWwpKSkNCi0gICBgKHNtbC9zdWRvICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1yZWQpKSkNCi0gICBgKHNtbC90aW1lICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9i YWwpKSkNCi0gICBgKHNtbC92YyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2l0KSkpDQotICAgYChz bWwvdmMtZWRpdGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1h Y3RpdmUpKSkNCi07Ozs7OyBzbWFydHBhcmVucw0KLSAgIGAoc3AtcGFpci1vdmVybGF5LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQotICAgYChzcC1z aG93LXBhaXItZW5jbG9zaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt bWlsZCkpKQ0KLSAgIGAoc3Atc2hvdy1wYWlyLW1hdGNoLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtcGFyZW4gYmctcGFyZW4tbWF0Y2gNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXBhcmVu LW1hdGNoLWludGVuc2UpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3Atc2hvdy1wYWlyLW1pc21hdGNoLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHNwLXdy YXAtb3ZlcmxheS1jbG9zaW5nLXBhaXIgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5 LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNw LXBhaXItb3ZlcmxheS1mYWNlKSkpDQotICAgYChzcC13cmFwLW92ZXJsYXktb3BlbmluZy1wYWly ICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQotICAgYChzcC13cmFw LXRhZy1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5LWZhY2Up KSkNCi07Ozs7OyBzbWVyZ2UNCi0gICBgKHNtZXJnZS1iYXNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KLSAgIGAoc21lcmdlLWxvd2VyICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQpKSkNCi0gICBgKHNtZXJnZS1tYXJrZXJzICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlm Zi1uZXV0cmFsLTIpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLWFkZGVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYChzbWVyZ2UtcmVmaW5l ZC1jaGFuZ2VkICgoLGNsYXNzKSkpDQotICAgYChzbWVyZ2UtcmVmaW5lZC1yZW1vdmVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQpKSkNCi0gICBgKHNt ZXJnZS11cHBlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkN Ci07Ozs7OyBzcGFjZWxpbmUNCi0gICBgKHNwYWNlbGluZS1ldmlsLWVtYWNzICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhKSkpDQotICAgYChzcGFjZWxpbmUtZXZp bC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuKSkpDQot ICAgYChzcGFjZWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt YWN0aXZlLWJsdWUpKSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLW5vcm1hbCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHNwYWNlbGluZS1l dmlsLXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0K LSAgIGAoc3BhY2VsaW5lLWV2aWwtdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWFjdGl2ZS1jeWFuKSkpDQotICAgYChzcGFjZWxpbmUtZmx5Y2hlY2stZXJyb3IgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKHNwYWNlbGluZS1mbHljaGVjay1pbmZv ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWZs eWNoZWNrLXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0g ICBgKHNwYWNlbGluZS1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtYmx1ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLW1vZGlmaWVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQotICAgYChzcGFjZWxpbmUtcHl0aG9u LXZlbnYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChzcGFj ZWxpbmUtcmVhZC1vbmx5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQp KSkNCi0gICBgKHNwYWNlbGluZS11bm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWZyaW5nZS1jeWFuKSkpDQotOzs7Ozsgc3BlZWRiYXINCi0gICBgKHNwZWVkYmFyLWJ1dHRv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKHNwZWVkYmFyLWRpcmVjdG9y eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBg KHNwZWVkYmFyLWZpbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoc3BlZWRiYXItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLWJsdWUpKSkNCi0gICBgKHNwZWVkYmFyLXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoc3BlZWRiYXItc2VwYXJhdG9y LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQot ICAgYChzcGVlZGJhci10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1v dGhlcikpKQ0KLTs7Ozs7IHNwZWxsLWZ1DQotICAgYChzcGVsbC1mdS1pbmNvcnJlY3QtZmFjZQ0K LSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBj bGFzcykNCi0gICAgICAgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVu ZGVybGluZSB0KSkpDQotOzs7Ozsgc3RyaXBlcw0KLSAgIGAoc3RyaXBlcyAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotOzs7Ozsgc3VjY2Vzcw0KLSAgIGAoc3VnZ2Vz dC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIpKSkNCi07Ozs7OyBzd2l0Y2gtd2luZG93DQotICAgYChzd2l0Y2gtd2luZG93LWJhY2tn cm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoc3dpdGNoLXdpbmRv dy1sYWJlbCAoKCxjbGFzcyA6aGVpZ2h0IDMuMCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkp DQotOzs7Ozsgc3dpcGVyDQotICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTEgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCi0gICBgKHN3aXBl ci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtY3lhbikpKQ0KLSAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS0zICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYChzd2lwZXIt YmFja2dyb3VuZC1tYXRjaC1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Vi dGxlLWdyZWVuKSkpDQotICAgYChzd2lwZXItbGluZS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0g ZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KHN3aXBlci1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgc3dpcGVyLWxpbmUtZmFjZSkp KQ0KLSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXItbGlu ZS1mYWNlKSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IHN3 aXBlci1saW5lLWZhY2UpKSkNCi0gICBgKHN3aXBlci1tYXRjaC1mYWNlLTQgKCgsY2xhc3MgOmlu aGVyaXQgc3dpcGVyLWxpbmUtZmFjZSkpKQ0KLTs7Ozs7IHN3b29wDQotICAgYChzd29vcC1mYWNl LWhlYWRlci1mb3JtYXQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zKSkp KQ0KLSAgIGAoc3dvb3AtZmFjZS1saW5lLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGkt dGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKHN3b29wLWZhY2UtbGluZS1udW1iZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS10YXJnZXQt bGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJz aW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChzd29vcC1mYWNlLXRhcmdldC13b3JkcyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7Ozs7IHN4DQot ICAgYChzeC1pbmJveC1pdGVtLXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChzeC1pbmJveC1pdGVtLXR5cGUtdW5yZWFkICgoLGNsYXNzIDppbmhl cml0IChzeC1pbmJveC1pdGVtLXR5cGUgYm9sZCkpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3Qt YW5zd2VycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9u LWxpc3QtYW5zd2Vycy1hY2NlcHRlZCAoKCxjbGFzcyA6Ym94IHQgOmZvcmVncm91bmQgLGdyZWVu KSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWJvdW50eSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbGlzdC1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtZmF2b3JpdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LXBh cmVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24t bGlzdC1yZWFkLXF1ZXN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt bWlsZCkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1zY29yZS11cHZvdGVkICgoLGNsYXNzIDpp bmhlcml0IChzeC1xdWVzdGlvbi1saXN0LXNjb3JlIGJvbGQpKSkpDQotICAgYChzeC1xdWVzdGlv bi1saXN0LXVucmVhZC1xdWVzdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWFjY2VwdGVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmhlaWdodCAxLjMgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChzeC1x dWVzdGlvbi1tb2RlLWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUt eWVsbG93IDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCkpKSkNCi0gICBgKHN4LXF1ZXN0 aW9uLW1vZGUtY2xvc2VkLXJlYXNvbiAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xv ciBuaWwpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWNv bnRlbnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChzeC1xdWVz dGlvbi1tb2RlLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHN4LXF1 ZXN0aW9uLW1vZGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUta2JkLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpoZWlnaHQgMC45IDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1tYWluIDpzdHls ZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVz dGlvbi1tb2RlLXNjb3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKHN4 LXF1ZXN0aW9uLW1vZGUtc2NvcmUtZG93bnZvdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtc2NvcmUtdXB2b3RlZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2Rl LXRpdGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKHN4LXF1ZXN0aW9uLW1vZGUtdGl0bGUtY29tbWVudHMgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChzeC10YWcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChzeC11c2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChzeC11c2VyLXJlcHV0YXRpb24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IHN5bWJvbC1vdmVybGF5DQotICAgYChzeW1ib2wtb3Zl cmxheS1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13 YXJtKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKHN5bWJv bC1vdmVybGF5LWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXll bGxvdykpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS00ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS01 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChzeW1i b2wtb3ZlcmxheS1mYWNlLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJl ZCkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS03ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtY3lhbikpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS04ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotOzs7Ozsgc3lzbG9nLW1v ZGUNCi0gICBgKHN5c2xvZy1kZWJ1ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoc3lzbG9nLWVycm9yICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoc3lzbG9nLWZpbGUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChzeXNsb2ct aGlkZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoc3lzbG9nLWhvdXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1pbmZvICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChzeXNsb2ctaXAgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAoc3lzbG9nLXN1ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCi0gICBgKHN5c2xvZy13YXJuICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHRhYmxlIChidWlsdC1pbiB0YWJsZS5lbCkN Ci0gICBgKHRhYmxlLWNlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZykp KQ0KLTs7Ozs7IHRlbGVwaG9uZS1saW5lDQotICAgYCh0ZWxlcGhvbmUtbGluZS1hY2NlbnQtYWN0 aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctaW5h Y3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWFjY2VudC1pbmFjdGl2ZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKHRl bGVwaG9uZS1saW5lLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtZW1hY3MgKCgsY2xhc3Mg OmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNl LWJnKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLWluc2VydCAoKCxjbGFzcyA6aW5oZXJp dCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJnKSkpDQot ICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLW1vdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhv bmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZS1iZykpKQ0KLSAgIGAodGVs ZXBob25lLWxpbmUtZXZpbC1ub3JtYWwgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUt ZXZpbCA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLW9w ZXJhdG9yICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQg LHllbGxvdy1zdWJ0bGUtYmcpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtcmVwbGFjZSAo KCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxyZWQtaW50 ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmlu aGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnKSkp DQotICAgYCh0ZWxlcGhvbmUtbGluZS1wcm9qZWN0aWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtdW5pbXBvcnRhbnQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS13YXJuaW5n ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07 Ozs7OyB0ZXJtDQotICAgYCh0ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0ZXJtLWJvbGQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCkpKQ0KLSAgIGAodGVybS1jb2xvci1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCh0ZXJtLWNvbG9yLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHRlcm0tY29sb3ItZ3JlZW4g KCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAo dGVybS1jb2xvci1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYCh0ZXJtLWNvbG9yLXJlZCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAscmVkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHRlcm0tY29sb3IteWVsbG93ICgoLGNs YXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAodGVy bS11bmRlcmxpbmUgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgdG9tYXRpbmhvDQot ICAgYCh0b21hdGluaG8tb2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNl KSkpDQotICAgYCh0b21hdGluaG8tcGF1c2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWludGVuc2UpKSkNCi0gICBgKHRvbWF0aW5oby1yZXNldC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyB0cmFuc2llbnQNCi0gICBgKHRyYW5zaWVudC1hY3Rp dmUtaW5maXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQot ICAgYCh0cmFuc2llbnQtYW1hcmFudGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotICAgYCh0cmFuc2llbnQtYXJndW1lbnQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAodHJhbnNpZW50LWJsdWUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodHJhbnNpZW50LWRp c2FibGVkLXN1ZmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkp KQ0KLSAgIGAodHJhbnNpZW50LWVuYWJsZWQtc3VmZml4ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKHRyYW5zaWVudC1oZWFkaW5nICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyYW5zaWVudC1p bmFjdGl2ZS1hcmd1bWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0 cmFuc2llbnQtaW5hY3RpdmUtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAodHJhbnNpZW50LWtleSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotICAgYCh0cmFuc2llbnQtbWlzbWF0Y2hlZC1rZXkgKCgsY2xhc3MgOnVuZGVybGlu ZSB0KSkpDQotICAgYCh0cmFuc2llbnQtbm9uc3RhbmRhcmQta2V5ICgoLGNsYXNzIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAodHJhbnNpZW50LXBpbmsgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodHJhbnNpZW50LXJlZCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAodHJhbnNpZW50LXRlYWwg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0g ICBgKHRyYW5zaWVudC11bnJlYWNoYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1 c2VkKSkpDQotICAgYCh0cmFuc2llbnQtdW5yZWFjaGFibGUta2V5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKHRyYW5zaWVudC12YWx1ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyB0cmFzaGVkDQotICAgYCh0cmFzaGVkLWRl bGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1kZWwpKSkNCi0gICBgKHRy YXNoZWQtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCh0cmFz aGVkLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpKSkNCi0g ICBgKHRyYXNoZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0 KSkpDQotICAgYCh0cmFzaGVkLXJlc3RvcmVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LW1hcmstc2VsKSkpDQotICAgYCh0cmFzaGVkLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLTs7Ozs7IHRyZWVtYWNzDQotICAgYCh0cmVl bWFjcy1kaXJlY3RvcnktY29sbGFwc2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQotICAgYCh0cmVlbWFjcy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBkaXJlZC1kaXJlY3RvcnkpKSkNCi0gICBgKHRyZWVtYWNzLWZpbGUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJlZW1hY3MtZnJpbmdlLWluZGljYXRvci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0cmVlbWFjcy1naXQt YWRkZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAo dHJlZW1hY3MtZ2l0LWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWludGVuc2UtcmVkIGJvbGQpKSkpDQotICAgYCh0cmVlbWFjcy1naXQtaWdub3JlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1tb2RpZmll ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYCh0 cmVlbWFjcy1naXQtcmVuYW1lZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LXVubW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LXVudHJhY2tlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYCh0cmVlbWFjcy1oZWxw LWNvbHVtbi1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYCh0 cmVlbWFjcy1oZWxwLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90 aGVyKSkpDQotICAgYCh0cmVlbWFjcy1vbi1mYWlsdXJlLXB1bHNlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHRyZWVtYWNzLW9uLXN1Y2Nl c3MtcHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu KSkpDQotICAgYCh0cmVlbWFjcy1yb290LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmhlaWdodCAxLjIgOnVuZGVybGluZSB0KSkpDQotICAg YCh0cmVlbWFjcy1yb290LXJlbW90ZS1kaXNjb25uZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB0cmVlbWFjcy1yb290LXJlbW90ZS1mYWNlIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBg KHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9v dC1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh0cmVlbWFjcy1yb290LXJlbW90 ZS11bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC11bnJlYWRh YmxlLWZhY2UpKSkNCi0gICBgKHRyZWVtYWNzLXJvb3QtdW5yZWFkYWJsZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IHRyZWVtYWNzLXJvb3QtZmFjZSA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAo dHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAg IGAodHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLTs7Ozs7IHR0eS1tZW51DQotICAgYCh0dHktbWVudS1kaXNhYmxlZC1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHR5LW1l bnUtZW5hYmxlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHR5LW1lbnUtc2VsZWN0ZWQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi07Ozs7OyB0dWFy ZWcNCi0gICBgKGNhbWwtdHlwZXMtZGVmLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAoY2FtbC10eXBlcy1leHByLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChjYW1sLXR5cGVzLW9jYy1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAo Y2FtbC10eXBlcy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1ibHVlKSkpDQotICAgYChjYW1sLXR5cGVzLXR5cGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHR1YXJlZy1mb250LWRvdWJsZS1z ZW1pY29sb24tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stYXR0 cmlidXRlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1jb25zdHJ1 Y3Rvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0dWFyZWct Zm9udC1sb2NrLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVu c2UtcmVkIGJvbGQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWV4dGVuc2lvbi1ub2RlLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAodHVhcmVnLWZvbnQtbG9jay1nb3Zlcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWluZml4 LWV4dGVuc2lvbi1ub2RlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh0dWFy ZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWRpcmVjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2staW50ZXJhY3Rp dmUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZv bnQtbG9jay1pbnRlcmFjdGl2ZS1vdXRwdXQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhl ci1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stbGFiZWwtZmFjZSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90 aGVyLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1saW5lLW51bWJlci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHR1YXJlZy1mb250 LWxvY2stbW9kdWxlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1s b2NrLW11bHRpc3RhZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxi Zy1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQot ICAgYCh0dWFyZWctZm9udC1sb2NrLW9wZXJhdG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkpDQotICAgYCh0 dWFyZWctb3BhbS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVk IHJlZC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1vcGFtLXBrZy12YXJpYWJsZS1uYW1lLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFu LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgdHlwZXNjcmlwdA0KLSAgIGAo dHlwZXNjcmlwdC1qc2RvYy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh0eXBlc2NyaXB0LWpzZG9jLXR5 cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYCh0eXBlc2NyaXB0LWpzZG9jLXZhbHVlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7 Ozs7IHVuZG8tdHJlZQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItYWN0aXZlLWJyYW5jaC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KHVuZG8tdHJlZS12aXN1YWxpemVyLWN1cnJlbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1pbnRlbnNlKSkpDQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1kZWZhdWx0LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6 ZXItcmVnaXN0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkp DQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci11bm1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi07Ozs7OyB2YyAodmMtaG9va3MuZWwpDQotICAg YCh2Yy1jb25mbGljdC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh2Yy1lZGl0ZWQtc3RhdGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKHZjLWxvY2FsbHktYWRkZWQtc3Rh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYCh2Yy1sb2NrZWQt c3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYCh2Yy1taXNz aW5nLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh2Yy1uZWVkcy11cGRhdGUtc3RhdGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQot ICAgYCh2Yy1yZW1vdmVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkp DQotICAgYCh2Yy1zdGF0ZS1iYXNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkN Ci0gICBgKHZjLXVwLXRvLWRhdGUtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLTs7Ozs7IHZkaWZmDQotICAgYCh2ZGlmZi1hZGRpdGlvbi1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQpKSkNCi0gICBgKHZkaWZmLWNoYW5n ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KLSAg IGAodmRpZmYtY2xvc2VkLWZvbGQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1u ZXV0cmFsLTEgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotICAgYCh2ZGlmZi1y ZWZpbmUtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRk ZWQpKSkNCi0gICBgKHZkaWZmLXJlZmluZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQpKSkNCi0gICBgKHZkaWZmLXN1YnRyYWN0aW9uLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkKSkpDQotICAgYCh2 ZGlmZi10YXJnZXQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJs dWUpKSkNCi07Ozs7OyB2aW1pc2gtZm9sZA0KLSAgIGAodmltaXNoLWZvbGQtZnJpbmdlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAodmltaXNoLWZvbGQtbW91c2Ut ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBg KHZpbWlzaC1mb2xkLW92ZXJsYXkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgdmlzaWJsZS1tYXJrDQotICAgYCh2aXNp YmxlLW1hcmstYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcpKSkN Ci0gICBgKHZpc2libGUtbWFyay1mYWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRl bnNlLWJnKSkpDQotICAgYCh2aXNpYmxlLW1hcmstZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQg LHllbGxvdy1pbnRlbnNlLWJnKSkpDQotICAgYCh2aXNpYmxlLW1hcmstZm9yd2FyZC1mYWNlMSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnKSkpDQotICAgYCh2aXNpYmxl LW1hcmstZm9yd2FyZC1mYWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1i ZykpKQ0KLTs7Ozs7IHZpc3VhbC1yZWdleHANCi0gICBgKHZyL2dyb3VwLTAgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYCh2ci9ncm91cC0xICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAodnIvZ3Jv dXAtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAg YCh2ci9tYXRjaC0wICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cp KSkNCi0gICBgKHZyL21hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5l LXllbGxvdykpKQ0KLSAgIGAodnIvbWF0Y2gtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgKG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCBib2xkKSkpKQ0KLTs7Ozs7IHZvbGF0aWxl LWhpZ2hsaWdodHMNCi0gICBgKHZobC9kZWZhdWx0LWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBl bWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNl ZCkpKQ0KLTs7Ozs7IHZ0ZXJtDQotICAgYCh2dGVybS1jb2xvci1ibGFjayAoKCxjbGFzcyA6YmFj a2dyb3VuZCAiZ3JheTM1IiA6Zm9yZWdyb3VuZCAiZ3JheTM1IikpKQ0KLSAgIGAodnRlcm0tY29s b3ItYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LSAgIGAodnRlcm0tY29sb3ItY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbiA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAodnRlcm0tY29sb3ItZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodnRlcm0tY29sb3It Z3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAodnRlcm0tY29sb3ItaW52ZXJzZS12aWRlbyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct bWFpbiA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYCh2dGVybS1jb2xvci1tYWdlbnRhICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh2 dGVybS1jb2xvci1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZCA6Zm9yZWdyb3VuZCAscmVk KSkpDQotICAgYCh2dGVybS1jb2xvci11bmRlcmxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLXdoaXRlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjUiIDpmb3JlZ3JvdW5kICJncmF5NjUiKSkpDQotICAg YCh2dGVybS1jb2xvci15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdyA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotOzs7Ozsgd2NoZWNrLW1vZGUNCi0gICBgKHdjaGVjay1kZWZhdWx0 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyB3 ZWItbW9kZQ0KLSAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0 IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi1odG1s LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3 ZWItbW9kZS1hbm5vdGF0aW9uLXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNv bW1lbnQtZmFjZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWF0dHItbmFt ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJs dWUtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1hdHRyLXZhbHVlLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFu LWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWNvbW1lbnQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2Rl LWJsb2NrLWNvbnRyb2wtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stc3RyaW5nLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWJv bGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYCh3ZWItbW9kZS1idWlsdGlu LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdl bnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNvbW1l bnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKHdlYi1tb2RlLWNvbW1lbnQta2V5d29yZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWRpbQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHll bGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jb25zdGFudC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90 aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLWF0LXJ1bGUtZmFjZSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhl ci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1jb2xvci1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLWNvbW1lbnQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWNz cy1mdW5jdGlvbi1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0K LSAgIGAod2ViLW1vZGUtY3NzLXByaW9yaXR5LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHllbGxvdy1hbHQgeWVsbG93LWFsdC1mYWludCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJv bGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXByb3BlcnR5LW5hbWUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQp KSkpDQotICAgYCh3ZWItbW9kZS1jc3MtcHNldWRvLWNsYXNzLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhl ci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1zZWxlY3Rvci1mYWNlICgoLGNsYXNzICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFs dC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUt Y3NzLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkp DQotICAgYCh3ZWItbW9kZS1jc3MtdmFyaWFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotICAgYCh3ZWItbW9kZS1jdXJyZW50LWNvbHVtbi1oaWdobGln aHQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYCh3ZWItbW9kZS1j dXJyZW50LWVsZW1lbnQtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1taWxkKSkpDQotICAgYCh3ZWItbW9kZS1kb2N0eXBlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYCh3ZWItbW9kZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtcmVkKSkpDQotICAgYCh3ZWItbW9kZS1maWx0ZXItZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2Vi LW1vZGUtZm9sZGVkLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYCh3ZWItbW9k ZS1mdW5jdGlvbi1jYWxsLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1mdW5jdGlvbi1u YW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRh IG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHItY3VzdG9tLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFp bnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZW5naW5lLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1lcXVhbC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0 dHItbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5 YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBi bHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtZW50aXR5LWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFsdC1vdGhlciB5 ZWxsb3ctYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3ZWItbW9kZS1odG1s LXRhZy1icmFja2V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAo d2ViLW1vZGUtaHRtbC10YWctY3VzdG9tLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2Rl LWh0bWwtdGFnLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctbmFtZXNwYWNlZC1m YWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkp DQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy11bmNsb3NlZC1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZCByZWQtZmFpbnQpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAo d2ViLW1vZGUtaW5sYXktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAg YCh3ZWItbW9kZS1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQotICAgYCh3 ZWItbW9kZS1qYXZhc2NyaXB0LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9k ZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWphdmFzY3JpcHQtc3RyaW5nLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2Rl LWpzb24tY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFj ZSkpKQ0KLSAgIGAod2ViLW1vZGUtanNvbi1jb250ZXh0LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KSkpKQ0K LSAgIGAod2ViLW1vZGUtanNvbi1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkKSkpDQotICAgYCh3ZWItbW9kZS1qc29uLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhl cml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtMS1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3ZWIt bW9kZS1qc3gtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRl cHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVl LXJlZmluZS1mZykpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTUtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHdl Yi1tb2RlLWtleXdvcmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSkpKQ0KLSAgIGAod2ViLW1vZGUtcGFyYW0tbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1v ZGUtcGFydC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1m YWNlKSkpDQotICAgYCh3ZWItbW9kZS1wYXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1v ZGUtYmxvY2stZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtcGFydC1zdHJpbmctZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtcHJlcHJv Y2Vzc29yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1h bHQtb3RoZXIgcmVkLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXNjcmlwdC1m YWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXBhcnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1v ZGUtc3FsLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1zdHJpbmctZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQpKSkp DQotICAgYCh3ZWItbW9kZS1zdHlsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXBh cnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtc3ltYm9sLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAod2ViLW1vZGUtdHlwZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS11bmRlcmxp bmUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLXZhcmlhYmxl LW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4g Y3lhbi1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hbHQtb3RoZXIgeWVs bG93LWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXdoaXRlc3BhY2UtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVz cGFjZSkpKQ0KLTs7Ozs7IHdncmVwDQotICAgYCh3Z3JlcC1kZWxldGUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYCh3Z3JlcC1kb25lLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi0gICBgKHdn cmVwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuKSkpDQot ICAgYCh3Z3JlcC1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KLSAgIGAod2dyZXAtcmVqZWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQotOzs7Ozsgd2hpY2gtZnVuY3Rpb24tbW9kZQ0KLSAg IGAod2hpY2gtZnVuYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi07 Ozs7OyB3aGljaC1rZXkNCi0gICBgKHdoaWNoLWtleS1jb21tYW5kLWRlc2NyaXB0aW9uLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHdoaWNoLWtleS1ncm91cC1kZXNj cmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAo d2hpY2gta2V5LWhpZ2hsaWdodGVkLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQgOnVuZGVybGluZSB0KSkpDQotICAgYCh3aGljaC1rZXkta2V5LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYCh3aGlj aC1rZXktbG9jYWwtbWFwLWRlc2NyaXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKHdoaWNoLWtleS1ub3RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYCh3aGljaC1rZXkt c2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAod2hp Y2gta2V5LXNwZWNpYWwta2V5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93LWludGVuc2UpKSkNCi07Ozs7OyB3aGl0ZXNwYWNlLW1vZGUNCi0gICBgKHdoaXRl c3BhY2UtYmlnLWluZGVudCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVk KSkpDQotICAgYCh3aGl0ZXNwYWNlLWVtcHR5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1oc3BhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0g ICBgKHdoaXRlc3BhY2UtaW5kZW50YXRpb24gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRl c3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2UtbGlu ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHdo aXRlc3BhY2UtbmV3bGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9y ZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1zcGFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkp KQ0KLSAgIGAod2hpdGVzcGFjZS1zcGFjZS1hZnRlci10YWIgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHdoaXRlc3BhY2Utc3BhY2UtYmVmb3Jl LXRhYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAo d2hpdGVzcGFjZS10YWIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVn cm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2UtdHJhaWxpbmcgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyB3aW5kb3ctZGl2 aWRlci1tb2RlDQotICAgYCh3aW5kb3ctZGl2aWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct d2luZG93LWRpdmlkZXItaW5uZXIpKSkNCi0gICBgKHdpbmRvdy1kaXZpZGVyLWZpcnN0LXBpeGVs ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KLSAgIGAo d2luZG93LWRpdmlkZXItbGFzdC1waXhlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93 LWRpdmlkZXItb3V0ZXIpKSkNCi07Ozs7OyB3aW51bQ0KLSAgIGAod2ludW0tZmFjZSAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQotOzs7Ozsgd3JpdGVnb29kLW1vZGUNCi0gICBgKHdyaXRlZ29vZC1kdXBsaWNh dGVzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkLWFs dCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdyaXRlZ29vZC1wYXNzaXZlLXZvaWNlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctd2Fy bmluZykpKQ0KLSAgIGAod3JpdGVnb29kLXdlYXNlbHMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLW51YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IHdvbWFu DQotICAgYCh3b21hbi1hZGRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKHdvbWFuLWJvbGQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAod29tYW4taXRhbGljICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHdvbWFuLXVua25vd24gKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdyA6c2xhbnQgaXRhbGljKSkpDQotOzs7OzsgeGFoLWVsaXNwLW1vZGUN Ci0gICBgKHhhaC1lbGlzcC1hdC1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQt YWx0IHJlZC1hbHQtZmFpbnQpKSkpDQotICAgYCh4YWgtZWxpc3AtY2FwLXZhcmlhYmxlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXIgcmVkLWFsdC1vdGhl ci1mYWludCkpKSkNCi0gICBgKHhhaC1lbGlzcC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQp KSkpDQotICAgYCh4YWgtZWxpc3AtZG9sbGFyLXN5bWJvbCAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tZmFpbnQpKSkpDQotOzs7OzsgeHJlZg0KLSAgIGAo eHJlZi1maWxlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKHhyZWYtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoeHJlZi1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtYXRjaCkp KQ0KLTs7Ozs7IHlhbWwtbW9kZQ0KLSAgIGAoeWFtbC10YWItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHlhc25pcHBldA0KLSAgIGAoeWFz LWZpZWxkLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyB6dHJlZQ0KLSAgIGAoenRyZWVwLWFycm93LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYCh6dHJlZXAtZGlmZi1o ZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHp0cmVlcC1kaWZmLWhlYWRlci1zbWFsbC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0K LSAgIGAoenRyZWVwLWRpZmYtbW9kZWwtYWRkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuKSkpDQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1kaWZmLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtbW9kZWwtaWdub3JlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnN0cmlrZS10aHJvdWdoIHQpKSkNCi0gICBgKHp0cmVl cC1kaWZmLW1vZGVsLW5vcm1hbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKHp0cmVlcC1leHBhbmQtc2lnbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYCh6dHJlZXAtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVp Z2h0IDEuMiA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh6dHJlZXAtbGVh Zi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCh6dHJlZXAtbm9kZS1j b3VudC1jaGlsZHJlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCi0gICBgKHp0cmVlcC1ub2RlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkpDQotOzs7OyBFbWFjcyAyNysNCi0gICh3aGVuICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3 KQ0KLSAgICAoY3VzdG9tLXRoZW1lLXNldC1mYWNlcw0KLSAgICAgJ21vZHVzLW9wZXJhbmRpDQot Ozs7OzsgbGluZSBudW1iZXJzIChgZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZScgYW5kIGdsb2Jh bCB2YXJpYW50KQ0KLSAgICAgOzsgTk9URSB0aGF0IHRoaXMgaXMgc3BlY2lmaWNhbGx5IGZvciB0 aGUgZmFjZXMgdGhhdCB3ZXJlDQotICAgICA7OyBpbnRyb2R1Y2VkIGluIEVtYWNzIDI3LCBhcyB0 aGUgb3RoZXIgZmFjZXMgYXJlIGFscmVhZHkNCi0gICAgIDs7IHN1cHBvcnRlZC4NCi0gICAgIGAo bGluZS1udW1iZXItbWFqb3ItdGljayAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0KQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICx5ZWxs b3ctbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpm b3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgICAgYChsaW5lLW51bWJlci1taW5vci10 aWNrICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkp DQotOzs7OzsgdGFiLWJhci1tb2RlDQotICAgICBgKHRhYi1iYXIgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXRhYi1iYXIgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICAgIGAodGFiLWJhci10 YWIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmct dGFiLWFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJn LXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICAgIGAodGFiLWJhci10YWIt aW5hY3RpdmUgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1pbmFj dGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQg LGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7OzsgdGFiLWxpbmUt bW9kZQ0KLSAgICAgYCh0YWItbGluZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOTUgOmJhY2tncm91bmQg LGJnLXRhYi1iYXIgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICAgIGAodGFiLWxpbmUtY2xv c2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICAgIGAodGFiLWxp bmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdy b3VuZCAsZmctZGltKSkpDQotICAgICBgKHRhYi1saW5lLXRhYiAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItYWN0aXZlKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICAgIGAodGFiLWxpbmUtdGFiLWN1cnJlbnQgKCgsY2xhc3MgOmlu aGVyaXQgdGFiLWxpbmUtdGFiKSkpDQotICAgICBgKHRhYi1saW5lLXRhYi1pbmFjdGl2ZSAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWluYWN0aXZlKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpKSkNCi07Ozs7IEVtYWNzIDI4Kw0KLSAgKHdoZW4g KD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjgpDQotICAgIChjdXN0b20tdGhlbWUtc2V0LWZhY2Vz DQotICAgICAnbW9kdXMtb3BlcmFuZGkNCi07Ozs7OyBpc2VhcmNoIHJlZ2V4cCBncm91cHMNCi0g ICAgIGAoaXNlYXJjaC1ncm91cC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtYmx1ZSkpKQ0KLSAgICAgYChpc2VhcmNoLWdyb3VwLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpKSkNCi07OzsgdmFyaWFibGVzDQotICAoY3VzdG9t LXRoZW1lLXNldC12YXJpYWJsZXMNCi0gICAnbW9kdXMtb3BlcmFuZGkNCi07Ozs7IGFuc2ktY29s b3JzDQotICAgYChhbnNpLWNvbG9yLWZhY2VzLXZlY3RvciBbZGVmYXVsdCBib2xkIHNoYWRvdyBp dGFsaWMgdW5kZXJsaW5lIHN1Y2Nlc3Mgd2FybmluZyBlcnJvcl0pDQotICAgYChhbnNpLWNvbG9y LW5hbWVzLXZlY3RvciBbLGZnLW1haW4gLHJlZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50 YSAsY3lhbiAsYmctbWFpbl0pDQotOzs7OyBhd2Vzb21lLXRyYXkNCi0gICBgKGF3ZXNvbWUtdHJh eS1tb2RlLWxpbmUtYWN0aXZlLWNvbG9yICxibHVlKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZGUt bGluZS1pbmFjdGl2ZS1jb2xvciAsYmctYWN0aXZlKQ0KLTs7OzsgZmx5bWFrZSBmcmluZ2UgaW5k aWNhdG9ycw0KLSAgIGAoZmx5bWFrZS1lcnJvci1iaXRtYXAgJyhmbHltYWtlLWRvdWJsZS1leGNs YW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKQ0KLSAgIGAoZmx5bWFrZS13YXJu aW5nLWJpdG1hcCAnKGV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykp DQotICAgYChmbHltYWtlLW5vdGUtYml0bWFwICcoZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVt ZS1mcmluZ2UtY3lhbikpDQotOzs7OyBpYnVmZmVyDQotICAgYChpYnVmZmVyLWRlbGV0aW9uLWZh Y2UgJ21vZHVzLXRoZW1lLW1hcmstZGVsKQ0KLSAgIGAoaWJ1ZmZlci1maWx0ZXItZ3JvdXAtbmFt ZS1mYWNlICdtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkNCi0gICBgKGlidWZmZXItbWFya2VkLWZh Y2UgJ21vZHVzLXRoZW1lLW1hcmstc2VsKQ0KLSAgIGAoaWJ1ZmZlci10aXRsZS1mYWNlICdtb2R1 cy10aGVtZS1wc2V1ZG8taGVhZGVyKQ0KLTs7OzsgaGlnaGxpZ2h0LXRhaWwNCi0gICBgKGhpZ2hs aWdodC10YWlsLWNvbG9ycw0KLSAgICAgJygoLGdyZWVuLXN1YnRsZS1iZyAuIDApDQotICAgICAg ICgsY3lhbi1zdWJ0bGUtYmcgLiAyMCkpKQ0KLTs7OzsgaGwtdG9kbw0KLSAgIGAoaGwtdG9kby1r ZXl3b3JkLWZhY2VzDQotICAgICAnKCgiSE9MRCIgLiAseWVsbG93LWFsdCkNCi0gICAgICAgKCJU T0RPIiAuICxtYWdlbnRhKQ0KLSAgICAgICAoIk5FWFQiIC4gLG1hZ2VudGEtYWx0LW90aGVyKQ0K LSAgICAgICAoIlRIRU0iIC4gLG1hZ2VudGEtYWx0KQ0KLSAgICAgICAoIlBST0ciIC4gLGN5YW4p DQotICAgICAgICgiT0tBWSIgLiAsY3lhbi1hbHQpDQotICAgICAgICgiRE9OVCIgLiAsZ3JlZW4t YWx0KQ0KLSAgICAgICAoIkZBSUwiIC4gLHJlZCkNCi0gICAgICAgKCJCVUciIC4gLHJlZCkNCi0g ICAgICAgKCJET05FIiAuICxncmVlbikNCi0gICAgICAgKCJOT1RFIiAuICx5ZWxsb3ctYWx0LW90 aGVyKQ0KLSAgICAgICAoIktMVURHRSIgLiAseWVsbG93KQ0KLSAgICAgICAoIkhBQ0siIC4gLHll bGxvdykNCi0gICAgICAgKCJURU1QIiAuICxyZWQtbnVhbmNlZCkNCi0gICAgICAgKCJGSVhNRSIg LiAscmVkLWFsdC1vdGhlcikNCi0gICAgICAgKCJYWFgrIiAuICxyZWQtYWx0KQ0KLSAgICAgICAo IlJFVklFVyIgLiAsY3lhbi1hbHQtb3RoZXIpDQotICAgICAgICgiREVQUkVDQVRFRCIgLiAsYmx1 ZS1udWFuY2VkKSkpDQotOzs7OyB2Yy1hbm5vdGF0ZSAoQy14IHYgZykNCi0gICBgKHZjLWFubm90 YXRlLWJhY2tncm91bmQgbmlsKQ0KLSAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3VuZC1tb2RlIG5p bCkNCi0gICBgKHZjLWFubm90YXRlLWNvbG9yLW1hcA0KLSAgICAgJygoMjAgLiAscmVkKQ0KLSAg ICAgICAoNDAgLiAsbWFnZW50YSkNCi0gICAgICAgKDYwIC4gLG1hZ2VudGEtYWx0KQ0KLSAgICAg ICAoODAgLiAscmVkLWFsdCkNCi0gICAgICAgKDEwMCAuICx5ZWxsb3cpDQotICAgICAgICgxMjAg LiAseWVsbG93LWFsdCkNCi0gICAgICAgKDE0MCAuICxmZy1zcGVjaWFsLXdhcm0pDQotICAgICAg ICgxNjAgLiAsZmctc3BlY2lhbC1taWxkKQ0KLSAgICAgICAoMTgwIC4gLGdyZWVuKQ0KLSAgICAg ICAoMjAwIC4gLGdyZWVuLWFsdCkNCi0gICAgICAgKDIyMCAuICxjeWFuLWFsdC1vdGhlcikNCi0g ICAgICAgKDI0MCAuICxjeWFuLWFsdCkNCi0gICAgICAgKDI2MCAuICxjeWFuKQ0KLSAgICAgICAo MjgwIC4gLGZnLXNwZWNpYWwtY29sZCkNCi0gICAgICAgKDMwMCAuICxibHVlKQ0KLSAgICAgICAo MzIwIC4gLGJsdWUtYWx0KQ0KLSAgICAgICAoMzQwIC4gLGJsdWUtYWx0LW90aGVyKQ0KLSAgICAg ICAoMzYwIC4gLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYCh2Yy1hbm5vdGF0ZS12ZXJ5LW9s ZC1jb2xvciBuaWwpDQotOzs7OyB4dGVybS1jb2xvcg0KLSAgIGAoeHRlcm0tY29sb3ItbmFtZXMg WyxmZy1tYWluICxyZWQgLGdyZWVuICx5ZWxsb3cgLGJsdWUgLG1hZ2VudGEgLGN5YW4gLGJnLWFs dF0pDQotICAgYCh4dGVybS1jb2xvci1uYW1lcy1icmlnaHQgWyxmZy1hbHQgLHJlZC1hbHQgLGdy ZWVuLWFsdCAseWVsbG93LWFsdCAsYmx1ZS1hbHQgLG1hZ2VudGEtYWx0ICxjeWFuLWFsdCAsYmct bWFpbl0pKQ0KLTs7OyBDb25kaXRpb25hbCB0aGVtZSB2YXJpYWJsZXMNCi07Ozs7IG9yZy1zcmMt YmxvY2stZmFjZXMNCi0gIDs7IHRoaXMgaXMgYSB1c2VyIG9wdGlvbiB0byBhZGQgYSBjb2xvdXIt Y29kZWQgYmFja2dyb3VuZCB0byBzb3VyY2UNCi0gIDs7IGJsb2NrcyBmb3IgdmFyaW91cyBwcm9n cmFtbWluZyBsYW5ndWFnZXMNCi0gICh3aGVuIChlcSBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmct YmxvY2tzICdyYWluYm93KQ0KLSAgICAoY3VzdG9tLXRoZW1lLXNldC12YXJpYWJsZXMNCi0gICAg ICdtb2R1cy1vcGVyYW5kaQ0KLSAgICAgYChvcmctc3JjLWJsb2NrLWZhY2VzICAgICAgICAgICAg ICA7IFRPRE8gdGhpcyBsaXN0IHNob3VsZCBiZSBleHBhbmRlZA0KLSAgICAgICBgKCgiZW1hY3Mt bGlzcCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiZWxpc3AiIG1v ZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImNsb2p1cmUiIG1vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImNsb2p1cmVzY3JpcHQiIG1vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImMiIG1vZHVzLXRoZW1lLW51YW5jZWQt Ymx1ZSkNCi0gICAgICAgICAoImMrKyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlKQ0KLSAgICAg ICAgICgic2giIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQotICAgICAgICAgKCJzaGVsbCIg bW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoImh0bWwiIG1vZHVzLXRoZW1l LW51YW5jZWQteWVsbG93KQ0KLSAgICAgICAgICgieG1sIiBtb2R1cy10aGVtZS1udWFuY2VkLXll bGxvdykNCi0gICAgICAgICAoImNzcyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQpDQotICAgICAg ICAgKCJzY3NzIiBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCkNCi0gICAgICAgICAoInB5dGhvbiIg bW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoImlweXRob24iIG1vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoInIiIG1vZHVzLXRoZW1lLW51YW5jZWQt Y3lhbikNCi0gICAgICAgICAoInlhbWwiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAg ICAgICAoImNvbmYiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAgICAgICAoImRvY2tl ciIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAgICAgICgianNvbiIgbW9kdXMtdGhl bWUtbnVhbmNlZC1jeWFuKSkpKSkpDQotDQotOzs7IGxpYnJhcnkgcHJvdmlkZXMNCi07OzsjIyNh dXRvbG9hZA0KLSh3aGVuIGxvYWQtZmlsZS1uYW1lDQotICAoYWRkLXRvLWxpc3QgJ2N1c3RvbS10 aGVtZS1sb2FkLXBhdGgNCi0gICAgICAgICAgICAgICAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSAo ZmlsZS1uYW1lLWRpcmVjdG9yeSBsb2FkLWZpbGUtbmFtZSkpKSkNCi0NCi0ocHJvdmlkZS10aGVt ZSAnbW9kdXMtb3BlcmFuZGkpDQotDQotKHByb3ZpZGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lKQ0K LQ0KLTs7OyBtb2R1cy1vcGVyYW5kaS10aGVtZS5lbCBlbmRzIGhlcmUNCmRpZmYgLS1naXQgYS9l dGMvdGhlbWVzL21vZHVzLXZpdmVuZGktdGhlbWUuZWwgYi9ldGMvdGhlbWVzL21vZHVzLXZpdmVu ZGktdGhlbWUuZWwNCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggZDQ1YzNjYTJlZS4u MDAwMDAwMDAwMA0KLS0tIGEvZXRjL3RoZW1lcy9tb2R1cy12aXZlbmRpLXRoZW1lLmVsDQorKysg L2Rldi9udWxsDQpAQCAtMSw0NjY2ICswLDAgQEANCi07OzsgbW9kdXMtdml2ZW5kaS10aGVtZS5l bCAtLS0gQWNjZXNzaWJsZSBkYXJrIHRoZW1lIChXQ0FHIEFBQSkgLSotIGxleGljYWwtYmluZGlu Zzp0IC0qLQ0KLQ0KLTs7IENvcHlyaWdodCAoQykgMjAxOS0yMDIwIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLg0KLQ0KLTs7IEF1dGhvcjogUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5mb0Bw cm90ZXNpbGFvcy5jb20+DQotOzsgVVJMOiBodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3Mv bW9kdXMtdGhlbWVzDQotOzsgVmVyc2lvbjogMC4xMy4wDQotOzsgUGFja2FnZS1SZXF1aXJlczog KChlbWFjcyAiMjYuMSIpKQ0KLTs7IEtleXdvcmRzOiBmYWNlcywgdGhlbWUsIGFjY2Vzc2liaWxp dHkNCi0NCi07OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuDQotDQotOzsgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcg0K LTs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5DQotOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCi07OyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLg0KLTs7DQotOzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQotOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCi07OyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQotOzsg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCi07Ow0KLTs7IFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlDQotOzsgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KLQ0KLTs7OyBDb21tZW50YXJ5Og0KLTs7DQotOzsg VGhpcyB0aGVtZSBpcyBkZXNpZ25lZCBmb3IgY29sb3VyLWNvbnRyYXN0IGFjY2Vzc2liaWxpdHku DQotOzsNCi07OyAxLiBQcm92aWRlIGEgY29uc2lzdGVudCBtaW5pbXVtIGNvbnRyYXN0IHJhdGlv IGJldHdlZW4gYmFja2dyb3VuZCBhbmQNCi07OyBmb3JlZ3JvdW5kIHZhbHVlcyBvZiA3OjEgb3Ig aGlnaGVyLiAgVGhpcyBtZWV0cyB0aGUgaGlnaGVzdCBzdWNoDQotOzsgYWNjZXNzaWJpbGl0eSBj cml0ZXJpb24gcGVyIHRoZSBndWlkZWxpbmVzIG9mIHRoZSBXb3JsZHdpZGUgV2ViDQotOzsgQ29u c29ydGl1bSdzIFdvcmtpbmcgR3JvdXAgb24gQWNjZXNzaWJpbGl0eSAoV0NBRyBBQUEgc3RhbmRh cmQpLg0KLTs7DQotOzsgMi4gT2ZmZXIgYXMgY2xvc2UgdG8gZnVsbCBmYWNlIGNvdmVyYWdlIGFz IHBvc3NpYmxlLiAgVGhlIGxpc3QgaXMNCi07OyBhbHJlYWR5IHF1aXRlIGxvbmcgKHNlZSBmdXJ0 aGVyIGJlbG93KSwgd2l0aCBtb3JlIGFkZGl0aW9ucyB0byBmb2xsb3cNCi07OyBhcyBwYXJ0IG9m IHRoZSBvbmdvaW5nIGRldmVsb3BtZW50IHByb2Nlc3MuDQotOzsNCi07OyBUaGUgdGhlbWUgcHJv dmlkZXMgdGhlIGZvbGxvd2luZyBjdXN0b21pc2F0aW9uIG9wdGlvbnMsIGFsbCBvZiB3aGljaA0K LTs7IGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0Og0KLTs7DQotOzsgICAgIG1vZHVzLXZpdmVuZGkt dGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBt b2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cyAgICAgICAgICAgICAgICAoYm9vbGVh bikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAg ICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbWl4ZWQtZm9u dHMgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1l LWhlYWRpbmdzICAgICAgICAgICAgICAgICAgICAgICAoYWxpc3QpDQotOzsgICAgIG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7 ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMgICAgICAgICAgICAgICAgICAgICAgICAo Y2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MgICAgICAgICAg ICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXByb21wdHMg ICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRo ZW1lLW1vZGUtbGluZSAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1 cy12aXZlbmRpLXRoZW1lLWRpZmZzICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0K LTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWZhaW50LXN5bnRheCAgICAgICAgICAgICAgICAg ICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmUg ICAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50 ZW5zZS1wYXJlbi1tYXRjaCAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZl bmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAg ICAgbW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucyAgICAgICAgICAgICAgICAgICAgKGNo b2ljZSkNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3Qg ICAgICAgICAgKGFsaXN0KQ0KLTs7DQotOzsgVGhlIGRlZmF1bHQgc2NhbGUgaXMgYXMgZm9sbG93 cyAoaXQgY2FuIGJlIGN1c3RvbWlzZWQgYXMgd2VsbCk6DQotOzsNCi07OyAgICAgbW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2Fs ZS0yIDEuMQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTMgMS4xNQ0KLTs7ICAg ICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQgMS4yDQotOzsgICAgIG1vZHVzLXZpdmVuZGkt dGhlbWUtc2NhbGUtNSAxLjMNCi07Ow0KLTs7IFdoYXQgZm9sbG93cyBpcyB0aGUgbGlzdCBvZiBl eHBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcyBvciBmYWNlDQotOzsgZ3JvdXBzICh0aGVyZSBh cmUgaW1wbGljaXRseSBzdXBwb3J0ZWQgcGFja2FnZXMgYXMgd2VsbCwgd2hpY2gNCi07OyBpbmhl cml0IGZyb20gZm9udC1sb2NrIG9yIHNvbWUgYmFzaWMgZ3JvdXApLiAgWW91IGFyZSBlbmNvdXJh Z2VkIHRvDQotOzsgbm90aWZ5IG1lIG9mIGFueSBtaXNzaW5nIHBhY2thZ2Ugb3IgY2hhbmdlIHlv dSB3b3VsZCBsaWtlIHRvIHNlZS4NCi07Ow0KLTs7ICAgICBhY2Utd2luZG93DQotOzsgICAgIGFn DQotOzsgICAgIGFsZXJ0DQotOzsgICAgIGFsbC10aGUtaWNvbnMNCi07OyAgICAgYW5ub3RhdGUN Ci07OyAgICAgYW56dQ0KLTs7ICAgICBhcHJvcG9zDQotOzsgICAgIGFwdC1zb3VyY2VzLWxpc3QN Ci07OyAgICAgYXJ0Ym9sbG9ja3MtbW9kZQ0KLTs7ICAgICBhdWN0ZXggYW5kIFRlWA0KLTs7ICAg ICBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQotOzsgICAgIGF2eQ0KLTs7ICAgICBhd2Vzb21lLXRy YXkNCi07OyAgICAgYmluZGVyDQotOzsgICAgIGJtDQotOzsgICAgIGJvbmdvDQotOzsgICAgIGJv b24NCi07OyAgICAgYnJlYWtwb2ludCAocHJvdmlkZWQgYnkgYnVpbHQtaW4gZ2RiLW1pLmVsKQ0K LTs7ICAgICBidWZmZXItZXhwb3NlDQotOzsgICAgIGNhbGVuZGFyIGFuZCBkaWFyeQ0KLTs7ICAg ICBjYWxmdw0KLTs7ICAgICBjZW50YXVyLXRhYnMNCi07OyAgICAgY2hhbmdlLWxvZyBhbmQgbG9n LXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0KLTs7ICAgICBj aWRlcg0KLTs7ICAgICBjaXJjZQ0KLTs7ICAgICBjb2xvci1yZw0KLTs7ICAgICBjb2x1bW4tZW5m b3JjZS1tb2RlDQotOzsgICAgIGNvbXBhbnktbW9kZQ0KLTs7ICAgICBjb21wYW55LXBvc2ZyYW1l DQotOzsgICAgIGNvbXBpbGF0aW9uLW1vZGUNCi07OyAgICAgY29tcGxldGlvbnMNCi07OyAgICAg Y291bnNlbA0KLTs7ICAgICBjb3Vuc2VsLWNzcw0KLTs7ICAgICBjb3Vuc2VsLW5vdG11Y2gNCi07 OyAgICAgY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCi07OyAgICAgY292DQotOzsgICAgIGNw ZXJsLW1vZGUNCi07OyAgICAgY3N2LW1vZGUNCi07OyAgICAgY3RybGYNCi07OyAgICAgY3VzdG9t IChNLXggY3VzdG9taXplKQ0KLTs7ICAgICBkYXAtbW9kZQ0KLTs7ICAgICBkYXNoYm9hcmQgKGVt YWNzLWRhc2hib2FyZCkNCi07OyAgICAgZGVhZGdyZXANCi07OyAgICAgZGViYnVncw0KLTs7ICAg ICBkZWZpbmUtd29yZA0KLTs7ICAgICBkZWZ0DQotOzsgICAgIGRpY3Rpb25hcnkNCi07OyAgICAg ZGlmZi1obA0KLTs7ICAgICBkaWZmLW1vZGUNCi07OyAgICAgZGltLWF1dG9sb2FkDQotOzsgICAg IGRpci10cmVldmlldw0KLTs7ICAgICBkaXJlZA0KLTs7ICAgICBkaXJlZC1hc3luYw0KLTs7ICAg ICBkaXJlZC1naXQNCi07OyAgICAgZGlyZWQtZ2l0LWluZm8NCi07OyAgICAgZGlyZWQtbmFycm93 DQotOzsgICAgIGRpcmVkLXN1YnRyZWUNCi07OyAgICAgZGlyZWRmbA0KLTs7ICAgICBkaXNrLXVz YWdlDQotOzsgICAgIGRvb20tbW9kZWxpbmUNCi07OyAgICAgZHluYW1pYy1ydWxlcg0KLTs7ICAg ICBlYXN5LWpla3lsbA0KLTs7ICAgICBlYXN5LWtpbGwNCi07OyAgICAgZWJkYg0KLTs7ICAgICBl ZGlmZg0KLTs7ICAgICBlZ2xvdA0KLTs7ICAgICBlbC1zZWFyY2gNCi07OyAgICAgZWxkb2MNCi07 OyAgICAgZWxkb2MtYm94DQotOzsgICAgIGVsZmVlZA0KLTs7ICAgICBlbGZlZWQtc2NvcmUNCi07 OyAgICAgZW1tcw0KLTs7ICAgICBlbmhhbmNlZC1ydWJ5LW1vZGUNCi07OyAgICAgZXBhDQotOzsg ICAgIGVxdWFrZQ0KLTs7ICAgICBlcmMNCi07OyAgICAgZXJvcw0KLTs7ICAgICBlcnQNCi07OyAg ICAgZXNoZWxsDQotOzsgICAgIGVzaGVsbC1mcmluZ2Utc3RhdHVzDQotOzsgICAgIGVzaGVsbC1n aXQtcHJvbXB0DQotOzsgICAgIGVzaGVsbC1wcm9tcHQtZXh0cmFzIChlcGUpDQotOzsgICAgIGVz aGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQotOzsgICAgIGV2aWwgKGV2aWwtbW9kZSkNCi07OyAg ICAgZXZpbC1nb2dnbGVzDQotOzsgICAgIGV2aWwtdmlzdWFsLW1hcmstbW9kZQ0KLTs7ICAgICBl d3cNCi07OyAgICAgZXllYnJvd3NlDQotOzsgICAgIGZhbmN5LWRhYmJyZXYNCi07OyAgICAgZmx5 Y2hlY2sNCi07OyAgICAgZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lDQotOzsgICAgIGZseWNoZWNr LWluZGljYXRvcg0KLTs7ICAgICBmbHljaGVjay1wb3NmcmFtZQ0KLTs7ICAgICBmbHltYWtlDQot OzsgICAgIGZseXNwZWxsDQotOzsgICAgIGZseXNwZWxsLWNvcnJlY3QNCi07OyAgICAgZmx4DQot OzsgICAgIGZyZWV6ZS1pdA0KLTs7ICAgICBmcm9nLW1lbnUNCi07OyAgICAgZm9jdXMNCi07OyAg ICAgZm9sZC10aGlzDQotOzsgICAgIGZvbnQtbG9jayAoZ2VuZXJpYyBzeW50YXggaGlnaGxpZ2h0 aW5nKQ0KLTs7ICAgICBmb3JnZQ0KLTs7ICAgICBmb3VudGFpbiAoZm91bnRhaW4tbW9kZSkNCi07 OyAgICAgZ2Vpc2VyDQotOzsgICAgIGdpdC1jb21taXQNCi07OyAgICAgZ2l0LWd1dHRlciAoYW5k IHZhcmlhbnRzKQ0KLTs7ICAgICBnaXQtbGVucw0KLTs7ICAgICBnaXQtcmViYXNlDQotOzsgICAg IGdpdC10aW1lbWFjaGluZQ0KLTs7ICAgICBnaXQtd2Fsa3RyZWUNCi07OyAgICAgZ251cw0KLTs7 ICAgICBnb2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KLTs7ICAgICBoZWxtDQotOzsgICAgIGhl bG0tbHMtZ2l0DQotOzsgICAgIGhlbG0tc3dpdGNoLXNoZWxsDQotOzsgICAgIGhlbG0teHJlZg0K LTs7ICAgICBoZWxwZnVsDQotOzsgICAgIGhpZ2hsaWdodC1ibG9ja3MNCi07OyAgICAgaGlnaGxp Z2h0LWRlZmluZWQNCi07OyAgICAgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5jZXMgKGBoZXMtbW9k ZScpDQotOzsgICAgIGhpZ2hsaWdodC1pbmRlbnRhdGlvbg0KLTs7ICAgICBoaWdobGlnaHQtbnVt YmVycw0KLTs7ICAgICBoaWdobGlnaHQtc3ltYm9sDQotOzsgICAgIGhpZ2hsaWdodC10YWlsDQot OzsgICAgIGhpZ2hsaWdodC10aGluZw0KLTs7ICAgICBobC1kZWZpbmVkDQotOzsgICAgIGhsLWZp bGwtY29sdW1uDQotOzsgICAgIGhsLWxpbmUtbW9kZQ0KLTs7ICAgICBobC10b2RvDQotOzsgICAg IGh5ZHJhDQotOzsgICAgIGh5cGVybGlzdA0KLTs7ICAgICBpYnVmZmVyDQotOzsgICAgIGljb21w bGV0ZQ0KLTs7ICAgICBpZG8tbW9kZQ0KLTs7ICAgICBpZWRpdA0KLTs7ICAgICBpZmxpcGINCi07 OyAgICAgaW1lbnUtbGlzdA0KLTs7ICAgICBpbmRpdW0NCi07OyAgICAgaW5mbw0KLTs7ICAgICBp bmZvLWNvbG9ycw0KLTs7ICAgICBpbnRlcmFjdGlvbi1sb2cNCi07OyAgICAgaW9jY3VyDQotOzsg ICAgIGlzZWFyY2gsIG9jY3VyLCBldGMuDQotOzsgICAgIGl2eQ0KLTs7ICAgICBpdnktcG9zZnJh bWUNCi07OyAgICAgamlyYSAob3JnLWppcmEpDQotOzsgICAgIGpvdXJuYWxjdGwtbW9kZQ0KLTs7 ICAgICBqczItbW9kZQ0KLTs7ICAgICBqdWxpYQ0KLTs7ICAgICBqdXB5dGVyDQotOzsgICAgIGth b2NoYS1ydW5uZXINCi07OyAgICAga2V5Y2FzdA0KLTs7ICAgICBsaW5lIG51bWJlcnMgKGBkaXNw bGF5LWxpbmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZhcmlhbnQpDQotOzsgICAgIGxzcC1t b2RlDQotOzsgICAgIGxzcC11aQ0KLTs7ICAgICBtYWdpdA0KLTs7ICAgICBtYWdpdC1pbWVyZ2UN Ci07OyAgICAgbWFuDQotOzsgICAgIG1hcmtkb3duLW1vZGUNCi07OyAgICAgbWFya3VwLWZhY2Vz IChgYWRvYy1tb2RlJykNCi07OyAgICAgbWVudG9yDQotOzsgICAgIG1lc3NhZ2VzDQotOzsgICAg IG1pbmlidWZmZXItbGluZQ0KLTs7ICAgICBtaW5pbWFwDQotOzsgICAgIG1vZGVsaW5lDQotOzsg ICAgIG1vb2QtbGluZQ0KLTs7ICAgICBtcGRlbA0KLTs7ICAgICBtdTRlDQotOzsgICAgIG11NGUt Y29udmVyc2F0aW9uDQotOzsgICAgIG11bHRpcGxlLWN1cnNvcnMNCi07OyAgICAgbmVvdHJlZQ0K LTs7ICAgICBuby1lbW9qaQ0KLTs7ICAgICBub3RtdWNoDQotOzsgICAgIG51bTMtbW9kZQ0KLTs7 ICAgICBueG1sLW1vZGUNCi07OyAgICAgb2JqZWQNCi07OyAgICAgb3JkZXJsZXNzDQotOzsgICAg IG9yZw0KLTs7ICAgICBvcmctam91cm5hbA0KLTs7ICAgICBvcmctbm90ZXINCi07OyAgICAgb3Jn LXBvbW9kb3JvDQotOzsgICAgIG9yZy1yZWN1cg0KLTs7ICAgICBvcmctcm9hbQ0KLTs7ICAgICBv cmctc3VwZXJzdGFyDQotOzsgICAgIG9yZy10YWJsZS1zdGlja3ktaGVhZGVyDQotOzsgICAgIG9y Zy10cmVlc2NvcGUNCi07OyAgICAgb3JpZ2FtaQ0KLTs7ICAgICBvdXRsaW5lLW1vZGUNCi07OyAg ICAgb3V0bGluZS1taW5vci1mYWNlcw0KLTs7ICAgICBwYWNrYWdlIChNLXggbGlzdC1wYWNrYWdl cykNCi07OyAgICAgcGFnZS1icmVhay1saW5lcw0KLTs7ICAgICBwYXJhZG94DQotOzsgICAgIHBh cmVuLWZhY2UNCi07OyAgICAgcGFycm90DQotOzsgICAgIHBhc3MNCi07OyAgICAgcGVyc3AtbW9k ZQ0KLTs7ICAgICBwZXJzcGVjdGl2ZQ0KLTs7ICAgICBwaGktZ3JlcA0KLTs7ICAgICBwaGktc2Vh cmNoDQotOzsgICAgIHBrZ2J1aWxkLW1vZGUNCi07OyAgICAgcG9taWRvcg0KLTs7ICAgICBwb3dl cmxpbmUNCi07OyAgICAgcG93ZXJsaW5lLWV2aWwNCi07OyAgICAgcHJvY2VkDQotOzsgICAgIHBy b2RpZ3kNCi07OyAgICAgcmFja2V0LW1vZGUNCi07OyAgICAgcmFpbmJvdy1ibG9ja3MNCi07OyAg ICAgcmFpbmJvdy1pZGVudGlmaWVycw0KLTs7ICAgICByYWluYm93LWRlbGltaXRlcnMNCi07OyAg ICAgcmNpcmMNCi07OyAgICAgcmVnZXhwLWJ1aWxkZXIgKGFsc28ga25vd24gYXMgYHJlLWJ1aWxk ZXInKQ0KLTs7ICAgICByZw0KLTs7ICAgICByaXBncmVwDQotOzsgICAgIHJtYWlsDQotOzsgICAg IHJ1bGVyLW1vZGUNCi07OyAgICAgc2FsbGV0DQotOzsgICAgIHNlbGVjdHJ1bQ0KLTs7ICAgICBz ZW1hbnRpYw0KLTs7ICAgICBzZXNtYW4NCi07OyAgICAgc2hlbGwtc2NyaXB0LW1vZGUNCi07OyAg ICAgc2hvdy1wYXJlbi1tb2RlDQotOzsgICAgIHNpZGUtbm90ZXMNCi07OyAgICAgc2tld2VyLW1v ZGUNCi07OyAgICAgc21hcnQtbW9kZS1saW5lDQotOzsgICAgIHNtYXJ0cGFyZW5zDQotOzsgICAg IHNtZXJnZQ0KLTs7ICAgICBzcGFjZWxpbmUNCi07OyAgICAgc3BlZWRiYXINCi07OyAgICAgc3Bl bGwtZnUNCi07OyAgICAgc3RyaXBlcw0KLTs7ICAgICBzdWdnZXN0DQotOzsgICAgIHN3aXRjaC13 aW5kb3cNCi07OyAgICAgc3dpcGVyDQotOzsgICAgIHN3b29wDQotOzsgICAgIHN4DQotOzsgICAg IHN5bWJvbC1vdmVybGF5DQotOzsgICAgIHRhYi1iYXItbW9kZQ0KLTs7ICAgICB0YWItbGluZS1t b2RlDQotOzsgICAgIHN5c2xvZy1tb2RlDQotOzsgICAgIHRhYmxlIChidWlsdC1pbiB0YWJsZS5l bCkNCi07OyAgICAgdGVsZXBob25lLWxpbmUNCi07OyAgICAgdGVybQ0KLTs7ICAgICB0b21hdGlu aG8NCi07OyAgICAgdHJhbnNpZW50IChwb3AtdXAgd2luZG93cyBsaWtlIE1hZ2l0J3MpDQotOzsg ICAgIHRyYXNoZWQNCi07OyAgICAgdHJlZW1hY3MNCi07OyAgICAgdHR5LW1lbnUNCi07OyAgICAg dHVhcmVnDQotOzsgICAgIHR5cGVzY3JpcHQNCi07OyAgICAgdW5kby10cmVlDQotOzsgICAgIHZj IChidWlsdC1pbiBtb2RlIGxpbmUgc3RhdHVzIGZvciB2ZXJzaW9uIGNvbnRyb2wpDQotOzsgICAg IHZjLWFubm90YXRlIChDLXggdiBnKQ0KLTs7ICAgICB2ZGlmZg0KLTs7ICAgICB2aW1pc2gtZm9s ZA0KLTs7ICAgICB2aXNpYmxlLW1hcmsNCi07OyAgICAgdmlzdWFsLXJlZ2V4cA0KLTs7ICAgICB2 b2xhdGlsZS1oaWdobGlnaHRzDQotOzsgICAgIHZ0ZXJtDQotOzsgICAgIHdjaGVjay1tb2RlDQot OzsgICAgIHdlYi1tb2RlDQotOzsgICAgIHdncmVwDQotOzsgICAgIHdoaWNoLWZ1bmN0aW9uLW1v ZGUNCi07OyAgICAgd2hpY2gta2V5DQotOzsgICAgIHdoaXRlc3BhY2UtbW9kZQ0KLTs7ICAgICB3 aW5kb3ctZGl2aWRlci1tb2RlDQotOzsgICAgIHdpbnVtDQotOzsgICAgIHdyaXRlZ29vZC1tb2Rl DQotOzsgICAgIHdvbWFuDQotOzsgICAgIHhhaC1lbGlzcC1tb2RlDQotOzsgICAgIHhyZWYNCi07 OyAgICAgeHRlcm0tY29sb3IgKGFuZCBhbnNpLWNvbG9ycykNCi07OyAgICAgeWFtbC1tb2RlDQot OzsgICAgIHlhc25pcHBldA0KLTs7ICAgICB6dHJlZQ0KLQ0KLTs7OyBDb2RlOg0KLQ0KLQwNCi0N Ci0oZGVmdGhlbWUgbW9kdXMtdml2ZW5kaQ0KLSAgIkRhcmsgdGhlbWUgdGhhdCBjb25mb3JtcyB3 aXRoIHRoZSBoaWdoZXN0IGFjY2Vzc2liaWxpdHkNCi0gIHN0YW5kYXJkIGZvciBjb2xvdXIgY29u dHJhc3QgYmV0d2VlbiBiYWNrZ3JvdW5kIGFuZA0KLSAgZm9yZWdyb3VuZCBlbGVtZW50cyAoV0NB RyBBQUEpLiIpDQotDQotOzs7IEN1c3RvbSBmYWNlcw0KLQ0KLTs7IFRoZXNlIGZhY2VzIHdpbGwg YmUgaW5oZXJpdGVkIGJ5IGFjdHVhbCBjb25zdHJ1Y3RzLiAgVGhleSBhcmUgbWVhbnQNCi07OyBm b3IgdGhvc2UgY2FzZXMgd2hlcmUgYSBmYWNlIG5lZWRzIHRvIGRpc3Rpbmd1aXNoIGl0cyBvdXRw dXQgZnJvbQ0KLTs7IHRoZSByZXN0IG9mIHRoZSB0ZXh0LCBzdWNoIGFzIGBpc2VhcmNoJyBhbmQg YG9jY3VyJ+KApiAgV2UgZGVmaW5lDQotOzsgdGhlc2Ugc2VwYXJhdGVseSBpbiBvcmRlciB0byBj b21iaW5lIGVhY2ggY29sb3VyIHdpdGggaXRzDQotOzsgYXBwcm9wcmlhdGUgZm9yZWdyb3VuZCB2 YWx1ZS4gIFRoaXMgaXMgdG8gZW5zdXJlIGEgY29uc2lzdGVudA0KLTs7IGNvbnRyYXN0IHJhdGlv IG9mID49IDc6MS4NCi0oZGVmZ3JvdXAgbW9kdXMtdGhlbWUgKCkNCi0gICJUaGVtZSB0aGF0IGVu c3VyZXMgV0NBRyBBQUEgYWNjZXNzaWJpbGl0eSAoY29udHJhc3QgcmF0aW8NCi1iZXR3ZWVuIGZv cmVncm91bmQgYW5kIGJhY2tncm91bmQgaXMgPj0gNzoxKS4iDQotICA6Z3JvdXAgJ2ZhY2VzDQot ICA6cHJlZml4ICJtb2R1cy10aGVtZS0iDQotICA6bGluayAnKHVybC1saW5rIDp0YWcgIkdpdExh YiIgImh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMiKQ0KLSAgOnRh ZyAiTW9kdXMgVml2ZW5kaSIpDQotDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbiBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1zdWJ0bGUtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRs ZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4gbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtaW50ZW5zZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVu c2UteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt cmVmaW5lLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbiBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLXJlZmluZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVm aW5lLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtcmVkIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLWFjdGl2ZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLW1h Z2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtY3lhbiBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1m cmluZ2UteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSBuaWwgbmlsKQ0K LShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtbnVhbmNlZC1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFu Y2VkLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1udWFuY2VkLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1z cGVjaWFsLWNvbGQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0gbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1kaWZmLWFkZGVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1j aGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLWRpZmYtZm9jdXMtYWRkZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1kaWZmLWZvY3VzLWNoYW5nZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZm LWZvY3VzLXJlbW92ZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWhlYWRp bmcgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1hbHQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1tYXJrLWRlbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstc2Vs IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1oZWFkaW5nLTIgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTMg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTQgbmlsIG5pbCkNCi0oZGVm ZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1oZWFkaW5nLTYgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTcgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTggbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1obC1saW5lIG5pbCBuaWwpDQotDQotOzs7IEN1c3RvbWlzYXRpb24gb3B0 aW9ucw0KLQ0KLTs7IFVzZXItZmFjaW5nIGN1c3RvbWlzYXRpb24gb3B0aW9ucy4gIFRoZXkgYXJl IGFsbCBkZWFjdGl2YXRlZCBieQ0KLTs7IGRlZmF1bHQgKHVzZXJzIG11c3Qgb3B0IGluKS4NCi0o ZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzIG5pbA0KLSAg IlVzZSBzbGFudGVkIHRleHQgaW4gbW9yZSBjb2RlIGNvbnN0cnVjdHMgKGl0YWxpY3Mgb3Igb2Js aXF1ZSkuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtY29uc3RydWN0cyBuaWwNCi0gICJVc2UgYm9sZCB0ZXh0IGluIG1vcmUgY29k ZSBjb25zdHJ1Y3RzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZpbmUtb2Jzb2xldGUt dmFyaWFibGUtYWxpYXMgJ21vZHVzLXZpdmVuZGktdGhlbWUtcHJvcG9ydGlvbmFsLWZvbnRzDQot ICAnbW9kdXMtdml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiYG1vZHVzLXZp dmVuZGktdGhlbWUnIDAuMTEuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1l LXByb3BvcnRpb25hbC1mb250cyBuaWwNCi0gICJVc2UgcHJvcG9ydGlvbmFsIGZvbnRzICh2YXJp YWJsZS1waXRjaCkgaW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1 c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzIG5pbA0KLSAg IlVzZSBwcm9wb3J0aW9uYWwgZm9udHMgKHZhcmlhYmxlLXBpdGNoKSBpbiBoZWFkaW5ncy4iDQot ICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8t bWl4ZWQtZm9udHMgbmlsDQotICAiRGlzYWJsZSBpbmhlcml0YW5jZSBmcm9tIGBmaXhlZC1waXRj aCcgaW4gc29tZSBmYWNlcy4NCi0NCi1UaGlzIGlzIGRvbmUgYnkgZGVmYXVsdCB0byBhbGxvdyBz cGFjaW5nLXNlbnNpdGl2ZSBjb25zdHJ1Y3RzLA0KLXN1Y2ggYXMgT3JnIHRhYmxlcyBhbmQgY29k ZSBibG9ja3MsIHRvIHJlbWFpbiBtb25vc3BhY2VkIHdoZW4NCi11c2VycyBvcHQgZm9yIHNvbWV0 aGluZyBsaWtlIHRoZSBjb21tYW5kIGB2YXJpYWJsZS1waXRjaC1tb2RlJy4NCi1UaGUgZG93bnNp ZGUgd2l0aCB0aGUgZGVmYXVsdCBpcyB0aGF0IHVzZXJzIG5lZWQgdG8gZXhwbGljaXRseQ0KLWNv bmZpZ3VyZSB0aGUgZm9udCBmYW1pbHkgb2YgYGZpeGVkLXBpdGNoJyBpbiBvcmRlciB0byBnZXQg YQ0KLWNvbnNpc3RlbnQgZXhwZXJpZW5jZS4gIFRoYXQgbWF5IGJlIHNvbWV0aGluZyB0aGV5IGRv IG5vdCB3YW50IHRvDQotZG8uICBIZW5jZSB0aGlzIG9wdGlvbiB0byBkaXNhYmxlIGFueSBraW5k IG9mIHRlY2huaXF1ZSBmb3INCi1taXhpbmcgZm9udHMuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQot DQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncw0K LSAgICAgICAgICAgICAgICdtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAg ICAgICAgImBtb2R1cy12aXZlbmRpLXRoZW1lJyAwLjEzLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9k dXMtdml2ZW5kaS10aGVtZS1yYWluYm93LWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBtb3JlIHNhdHVy YXRlZCBjb2xvdXJzIGZvciBoZWFkaW5ncy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0obWFr ZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zZWN0aW9uLWhlYWRpbmdzDQotICAgICAg ICAgICAgICAgJ21vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZ3MNCi0gICAgICAgICAgICAgICAi YG1vZHVzLXZpdmVuZGktdGhlbWUnIDAuMTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZl bmRpLXRoZW1lLXNlY3Rpb24taGVhZGluZ3MgbmlsDQotICAiVXNlIGEgYmFja2dyb3VuZCBhbmQg YW4gb3ZlcmxpbmUgaW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1 c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzDQotICAnKCh0IC4gbmlsKSkNCi0gICJB bGlzdCBvZiBzdHlsZXMgZm9yIGhlYWRpbmdzLCB3aXRoIG9wdGlvbmFsIHZhbHVlIHBlciBsZXZl bC4NCi0NCi1UbyBjb250cm9sIGZhY2VzIHBlciBsZXZlbCBmcm9tIDEtOCwgdXNlIHNvbWV0aGlu ZyBsaWtlIHRoaXM6DQotDQotICAoc2V0cSBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzDQot ICAgICAgICAnKCgxIC4gaGlnaGxpZ2h0KQ0KLSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAg ICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCi0NCi1UbyBzZXQgYSB1bmlmb3JtIHZh bHVlIGZvciBhbGwgaGVhZGluZyBsZXZlbHMsIHVzZSB0aGlzIHBhdHRlcm46DQotDQotICAoc2V0 cSBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAnKCh0IC4gcmFpbmJvdy1s aW5lLW5vLWJvbGQpKSkNCi0NCi1UaGUgZGVmYXVsdCB1c2VzIGEgZmFpcmx5IGRlc2F0dXJhdGVk IGZvcmVncm91bmQgdmFsdWUgaW4NCi1jb21iaW5hdGlvbiB3aXRoIGEgYm9sZCB0eXBvZ3JhcGhp YyB3ZWlnaHQuICBUbyBzcGVjaWZ5IHRoaXMNCi1zdHlsZSBmb3IgYSBnaXZlbiBsZXZlbCBOIChh c3N1bWluZyB5b3Ugd2lzaCB0byBoYXZlIGFub3RoZXINCi1mYWxsYmFjayBvcHRpb24pLCBqdXN0 IHNwZWNpZnkgdGhlIHZhbHVlIHQgbGlrZSB0aGlzOg0KLQ0KLSAgKHNldHEgbW9kdXMtdml2ZW5k aS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgJygoMSAuIHQpDQotICAgICAgICAgICgyIC4gbGlu ZSkNCi0gICAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8tYm9sZCkpKQ0KLQ0KLUEgZGVzY3Jp cHRpb24gb2YgYWxsIHBvc3NpYmxlIHZhbHVlczoNCi0NCi0rIGBuby1ib2xkJyByZXRhaW5zIHRo ZSBkZWZhdWx0IHRleHQgY29sb3VyIHdoaWxlIHJlbW92aW5nDQotICB0aGUgdHlwb2dyYXBoaWMg d2VpZ2h0Lg0KLQ0KLSsgYGxpbmUnIGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0IHBsdXMgYW4g b3ZlcmxpbmUgb3ZlciB0aGUNCi0gIGhlYWRpbmcuDQotDQotKyBgbGluZS1uby1ib2xkJyBpcyB0 aGUgc2FtZSBhcyBgbGluZScgd2l0aG91dCBib2xkIHdlaWdodC4NCi0NCi0rIGByYWluYm93JyB1 c2VzIGEgbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCBpbiBjb21iaW5hdGlvbg0KLSAgd2l0aCBi b2xkIHdlaWdodC4NCi0NCi0rIGByYWluYm93LWxpbmUnIGlzIHRoZSBzYW1lIGFzIGByYWluYm93 JyBwbHVzIGFuIG92ZXJsaW5lLg0KLQ0KLSsgYHJhaW5ib3ctbGluZS1uby1ib2xkJyBpcyB0aGUg c2FtZSBhcyBgcmFpbmJvdy1saW5lJyB3aXRob3V0DQotICB0aGUgYm9sZCB3ZWlnaHQuDQotDQot KyBgaGlnaGxpZ2h0JyByZXRhaW5zIHRoZSBkZWZhdWx0IHN0eWxlIG9mIGEgZmFpcmx5IGRlc2F0 dXJhdGVkDQotICBmb3JlZ3JvdW5kIGNvbWJpbmVkIHdpdGggYSBib2xkIHdlaWdodCBhbmQgYWRk IHRvIGl0IGEgc3VidGxlDQotICBhY2NlbnRlZCBiYWNrZ3JvdW5kLg0KLQ0KLSsgYGhpZ2hsaWdo dC1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgaGlnaGxpZ2h0JyB3aXRob3V0IGEgYm9sZA0KLSAg d2VpZ2h0Lg0KLQ0KLSsgYHJhaW5ib3ctaGlnaGxpZ2h0JyBpcyB0aGUgc2FtZSBhcyBgaGlnaGxp Z2h0JyBidXQgd2l0aCBhIG1vcmUNCi0gIGNvbG91cmZ1bCBmb3JlZ3JvdW5kLg0KLQ0KLSsgYHJh aW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGByYWluYm93LWhpZ2hsaWdo dCcNCi0gIHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCi0NCi0rIGBzZWN0aW9uJyByZXRhaW5zIHRo ZSBkZWZhdWx0IGxvb2tzIGFuZCBhZGRzIHRvIHRoZW0gYm90aCBhbg0KLSAgb3ZlcmxpbmUgYW5k IGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZC4gIEl0IGlzLCBpbiBlZmZlY3QsDQotICBh IGNvbWJpbmF0aW9uIG9mIHRoZSBgbGluZScgYW5kIGBoaWdobGlnaHQnIHZhbHVlcy4NCi0NCi0r IGBzZWN0aW9uLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9uJyB3aXRob3V0IGEgYm9s ZA0KLSAgd2VpZ2h0Lg0KLQ0KLSsgYHJhaW5ib3ctc2VjdGlvbicgaXMgdGhlIHNhbWUgYXMgYHNl Y3Rpb24nIGJ1dCB3aXRoIGEgbW9yZQ0KLSAgY29sb3VyZnVsIGZvcmVncm91bmQuDQotDQotKyBg cmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGByYWluYm93LXNlY3Rpb24n DQotICB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuIg0KLSAgOnR5cGUNCi0gICcoYWxpc3QNCi0gICAg OmtleS10eXBlIHN5bWJvbA0KLSAgICA6dmFsdWUtdHlwZQ0KLSAgICAoY2hvaWNlIChjb25zdCA6 dGFnICJGYWlybHkgZGVzYXR1cmF0ZWQgZm9yZWdyb3VuZCB3aXRoIGJvbGQgd2VpZ2h0IChkZWZh dWx0KSIgdCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCB3aXRo b3V0IGJvbGQgd2VpZ2h0IiBuby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtl IHRoZSBkZWZhdWx0IHBsdXMgb3ZlcmxpbmUiIGxpbmUpDQotICAgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgYGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIGxpbmUtbm8tYm9sZCkNCi0gICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCBidXQgd2l0aCBtb3JlIGNvbG91 cmZ1bCBmb3JlZ3JvdW5kIiByYWluYm93KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtl IGByYWluYm93JyBwbHVzIG92ZXJsaW5lIiByYWluYm93LWxpbmUpDQotICAgICAgICAgICAgKGNv bnN0IDp0YWcgIkxpa2UgYHJhaW5ib3cnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ctbm8t Ym9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdy1saW5lJyB3aXRo b3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LWxpbmUtbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29u c3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCBwbHVzIHN1YnRsZSBiYWNrZ3JvdW5kIiBoaWdobGln aHQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGhpZ2hsaWdodCcgd2l0aG91dCBi b2xkIHdlaWdodCIgaGlnaGxpZ2h0LW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcg Ikxpa2UgYGhpZ2hsaWdodCcgd2l0aCBtb3JlIGNvbG91cmZ1bCBmb3JlZ3JvdW5kIiByYWluYm93 LWhpZ2hsaWdodCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdy1oaWdo bGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQpDQot ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGhpZ2hsaWdodCcgcGx1cyBvdmVybGluZSIg c2VjdGlvbikNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aG91 dCBib2xkIHdlaWdodCIgc2VjdGlvbi1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFn ICJMaWtlIGBzZWN0aW9uJyB3aXRoIG1vcmUgY29sb3VyZnVsIGZvcmVncm91bmQiIHJhaW5ib3ct c2VjdGlvbikNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdy1zZWN0aW9u JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LXNlY3Rpb24tbm8tYm9sZCkpKSkNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgbmlsDQotICAiVXNl IGZvbnQgc2NhbGluZyBmb3IgaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRl ZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTEgMS4wNQ0KLSAgIkZvbnQgc2l6ZSB0 aGF0IGlzIHNsaWdodGx5IGxhcmdlciB0aGFuIHRoZSBiYXNlIHZhbHVlLg0KLVRoZSBkZWZhdWx0 IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQot b2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0 cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEg dmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2lu dCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0 aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQn IHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVu ZGktdGhlbWUtc2NhbGUtMiAxLjENCi0gICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4g YG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMScuDQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGlu ZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBm b250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdl ciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAg aXMNCi10aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0K LUZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0 LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQot ICA6dHlwZSAnbnVtYmVyKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2Fs ZS0zIDEuMTUNCi0gICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXZpdmVu ZGktdGhlbWUtc2NhbGUtMicuDQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0 IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBI b3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9v ZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2Ft ZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9u IHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmli dXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVt YmVyKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00IDEuMg0KLSAg IkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2Fs ZS0zJy4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0 ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2 YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29s dXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcg dGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwg cmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZp Y2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRl ZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTUgMS4zDQotICAiRm9udCBzaXplIHNs aWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQnLg0KLVRoZSBk ZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRp cGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28g YWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChl LmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAx NCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1 bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpo ZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0obWFrZS1vYnNvbGV0ZSAn bW9kdXMtdml2ZW5kaS10aGVtZS12aXNpYmxlLWZyaW5nZXMNCi0gICAgICAgICAgICAgICAnbW9k dXMtdml2ZW5kaS10aGVtZS1mcmluZ2VzDQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZlbmRp LXRoZW1lJyAwLjEyLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS12aXNp YmxlLWZyaW5nZXMgbmlsDQotICAiVXNlIGEgdmlzaWJsZSBzdHlsZSBmb3IgZnJpbmdlcy4iDQot ICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtZnJp bmdlcyBuaWwNCi0gICJEZWZpbmUgdGhlIHZpc2liaWxpdHkgb2YgZnJpbmdlcy4NCi0NCi1OaWwg bWVhbnMgdGhlIGZyaW5nZXMgaGF2ZSBubyBiYWNrZ3JvdW5kIGNvbG91ci4gIE9wdGlvbiBgc3Vi dGxlJw0KLXdpbGwgYXBwbHkgYSBncmV5c2NhbGUgdmFsdWUgdGhhdCBpcyB2aXNpYmxlIHlldCBj bG9zZSB0byB0aGUNCi1tYWluIGJ1ZmZlciBiYWNrZ3JvdW5kIGNvbG91ci4gIE9wdGlvbiBgaW50 ZW5zZScgd2lsbCB1c2UgYSBtb3JlDQotcHJvbm91bmNlZCBncmV5c2NhbGUgdmFsdWUuIg0KLSAg OnR5cGUgJyhjaG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIHZpc2libGUgZnJpbmdl cyAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBncmV5c2Nh bGUgYmFja2dyb3VuZCIgc3VidGxlKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZSBn cmV5c2NhbGUgYmFja2dyb3VuZCIgaW50ZW5zZSkpKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1 cy12aXZlbmRpLXRoZW1lLWRpc3RpbmN0LW9yZy1ibG9ja3MNCi0gICAgICAgICAgICAgICAnbW9k dXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZl bmRpLXRoZW1lJyAwLjExLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1k aXN0aW5jdC1vcmctYmxvY2tzIG5pbA0KLSAgIlVzZSBhIGRpc3RpbmN0IG5ldXRyYWwgYmFja2dy b3VuZCBmb3IgYG9yZy1tb2RlJyBibG9ja3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKG1h a2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtcmFpbmJvdy1vcmctc3JjLWJsb2Nrcw0K LSAgICAgICAgICAgICAgICdtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MNCi0gICAgICAg ICAgICAgICAiYG1vZHVzLXZpdmVuZGktdGhlbWUnIDAuMTEuMCIpDQotDQotKGRlZmN1c3RvbSBt b2R1cy12aXZlbmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MgbmlsDQotICAiVXNlIGNv bG91ci1jb2RlZCBiYWNrZ3JvdW5kcyBmb3IgYG9yZy1tb2RlJyBzb3VyY2UgYmxvY2tzLg0KLVRo ZSBjb2xvdXIgaW4gdXNlIGRlcGVuZHMgb24gdGhlIGxhbmd1YWdlIChzZW5kIGZlZWRiYWNrIHRv DQotaW5jbHVkZSBtb3JlIGxhbmd1YWdlcykuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRl ZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MgbmlsDQotICAiVXNlIGEgc3Vi dGxlIGdyZXkgb3IgY29sb3VyLWNvZGVkIGJhY2tncm91bmQgZm9yIE9yZyBibG9ja3MuDQotDQot TmlsIG1lYW5zIHRoYXQgdGhlIGJsb2NrIHdpbGwgaGF2ZSBubyBiYWNrZ3JvdW5kIG9mIGl0cyBv d24gYW5kDQotd2lsbCB1c2UgdGhlIGRlZmF1bHQgdGhhdCBhcHBsaWVzIHRvIHRoZSByZXN0IG9m IHRoZSBidWZmZXIuDQotDQotT3B0aW9uIGBncmV5c2NhbGUnIHdpbGwgYXBwbHkgYSBzdWJ0bGUg bmV1dHJhbCBncmV5IGJhY2tncm91bmQgdG8NCi10aGUgYmxvY2sncyBjb250ZW50cy4gIEl0IGFs c28gYWZmZWN0cyB0aGUgYmVnaW4gYW5kIGVuZCBsaW5lcyBvZg0KLXRoZSBibG9jazogdGhlaXIg YmFja2dyb3VuZCB3aWxsIGJlIGV4dGVuZGVkIHRvIHRoZSBlZGdlIG9mIHRoZQ0KLXdpbmRvdyBm b3IgRW1hY3MgdmVyc2lvbiA+PSAyNyB3aGVyZSB0aGUgJzpleHRlbmQnIGtleXdvcmQgaXMNCi1y ZWNvZ25pc2VkIGJ5IGBzZXQtZmFjZS1hdHRyaWJ1dGUnLg0KLQ0KLU9wdGlvbiBgcmFpbmJvdycg d2lsbCB1c2UgYW4gYWNjZW50ZWQgYmFja2dyb3VuZCBmb3IgdGhlIGNvbnRlbnRzDQotb2YgdGhl IGJsb2NrLiAgVGhlIGV4YWN0IGNvbG91ciB3aWxsIGRlcGVuZCBvbiB0aGUgcHJvZ3JhbW1pbmcN Ci1sYW5ndWFnZSBhbmQgaXMgY29udHJvbGxlZCBieSB0aGUgYG9yZy1zcmMtYmxvY2stZmFjZXMn DQotdmFyaWFibGUgKHJlZmVyIHRvIHRoZSB0aGVtZSdzIHNvdXJjZSBjb2RlIGZvciB0aGUgY3Vy cmVudA0KLWFzc29jaWF0aW9uIGxpc3QpLiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAg IChjb25zdCA6dGFnICJObyBPcmcgYmxvY2sgYmFja2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCi0g ICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBncmV5IGJsb2NrIGJhY2tncm91bmQiIGdyZXlz Y2FsZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kIHBl ciBwcm9ncmFtbWluZyBsYW5ndWFnZSIgcmFpbmJvdykpKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdt b2R1cy12aXZlbmRpLXRoZW1lLTNkLW1vZGVsaW5lDQotICAgICAgICAgICAgICAgJ21vZHVzLXZp dmVuZGktdGhlbWUtbW9kZS1saW5lDQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZlbmRpLXRo ZW1lJyAwLjEzLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS0zZC1tb2Rl bGluZSBuaWwNCi0gICJVc2UgYSB0aHJlZS1kaW1lbnNpb25hbCBzdHlsZSBmb3IgdGhlIGFjdGl2 ZSBtb2RlIGxpbmUuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12 aXZlbmRpLXRoZW1lLW1vZGUtbGluZSBuaWwNCi0gICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGUg b2YgdGhlIG1vZGUgbGluZS4NCi0NCi1OaWwgaXMgYSB0d28tZGltZW5zaW9uYWwgcmVjdGFuZ2xl IHdpdGggYSBib3JkZXIgYXJvdW5kIGl0LiAgVGhlDQotYWN0aXZlIGFuZCB0aGUgaW5hY3RpdmUg bW9kZWxpbmVzIHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mDQotZ3JleXNjYWxlIHZhbHVlcyBmb3Ig dGhlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQuDQotDQotQSBgM2QnIHZhbHVlIHdpbGwgYXBw bHkgYSB0aHJlZS1kaW1lbnNpb25hbCBlZmZlY3QgdG8gdGhlIGFjdGl2ZQ0KLW1vZGVsaW5lLiAg VGhlIGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gdHdvLWRpbWVuc2lvbmFsIGFuZCBhcmUNCi10 b25lZCBkb3duIGEgYml0LCByZWxhdGl2ZSB0byB0aGUgbmlsIHZhbHVlLg0KLQ0KLVRoZSBgbW9v ZHknIG9wdGlvbiBpcyBtZWFudCB0byBvcHRpbWlzZSB0aGUgbW9kZWxpbmUgZm9yIHVzZSB3aXRo DQotdGhlIGxpYnJhcnkgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgcHJhY3RpY2FsbHkgbWVhbnMg dG8gcmVtb3ZlDQotdGhlIGJveCBlZmZlY3QgYW5kIHJlbHkgb24gdW5kZXJsaW5lIGFuZCBvdmVy bGluZSBwcm9wZXJ0aWVzDQotaW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biB0aGUgaW5hY3Rp dmUgbW9kZWxpbmVzLiAgRGVzcGl0ZSBpdHMNCi1pbnRlbmRlZCBwdXJwb3NlLCB0aGlzIG9wdGlv biBjYW4gYWxzbyBiZSB1c2VkIHdpdGhvdXQgdGhlDQotYG1vb2R5JyBsaWJyYXJ5LiINCi0gIDp0 eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJUd28tZGltZW5zaW9uYWwgYm94 IChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiVGhyZWUtZGltZW5zaW9u YWwgc3R5bGUgZm9yIHRoZSBhY3RpdmUgbW9kZSBsaW5lIiAzZCkNCi0gICAgICAgICAgKGNvbnN0 IDp0YWcgIk5vIGJveCBlZmZlY3RzLCB3aGljaCBhcmUgb3B0aW1hbCBmb3IgdXNlIHdpdGggdGhl IGBtb29keScgbGlicmFyeSIgbW9vZHkpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2 ZW5kaS10aGVtZS1zdWJ0bGUtZGlmZnMNCi0gICAgICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10 aGVtZS1kaWZmcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMy4w IikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtc3VidGxlLWRpZmZzIG5pbA0K LSAgIlVzZSBmZXdlci9kaW0gYmFja2dyb3VuZHMgaW4gYGRpZmYtbW9kZScsIGBlZGlmZicsYG1h Z2l0Jy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGkt dGhlbWUtZGlmZnMgbmlsDQotICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlcyBvZiBkaWZmcy4N Ci0NCi1OaWwgbWVhbnMgdG8gdXNlIGZhaXJseSBpbnRlbnNlIGNvbG91ciBjb21iaW5hdGlvbnMg Zm9yIGRpZmZzLg0KLUZvciBleGFtcGxlLCB5b3UgZ2V0IGEgcmljaCBncmVlbiBiYWNrZ3JvdW5k IHdpdGggYSBncmVlbg0KLWZvcmVncm91bmQgZm9yIGFkZGVkIGxpbmVzLiAgV29yZC13aXNlIG9y ICdyZWZpbmVkJyBkaWZmcyBmb2xsb3cNCi10aGUgc2FtZSBwYXR0ZXJuIGJ1dCB1c2UgZGlmZmVy ZW50IHNoYWRlcyBvZiB0aG9zZSBjb2xvdXJzIHRvDQotcmVtYWluIGRpc3RpbmN0Lg0KLQ0KLUEg YGRlc2F0dXJhdGVkJyB2YWx1ZSBmb2xsb3dzIHRoZSBzYW1lIHByaW5jaXBsZXMgYXMgd2l0aCB0 aGUgbmlsDQotb3B0aW9uLCB3aGlsZSBpdCB0b25lcyBkb3duIGFsbCByZWxldmFudCBjb2xvdXJz Lg0KLQ0KLU9wdGlvbiBgZmctb25seScgd2lsbCByZW1vdmUgYWxsIGFjY2VudGVkIGJhY2tncm91 bmRzLCBleGNlcHQNCi1mcm9tIHdvcmQtd2lzZSBjaGFuZ2VzLiAgSXQgaW5zdGVhZCB1c2VzIGNv bG91ci1jb2RlZCBmb3JlZ3JvdW5kDQotdmFsdWVzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBh ZGRlZC9yZW1vdmVkL2NoYW5nZWQgbGluZXMuICBJZg0KLWEgYmFja2dyb3VuZCBpcyBuZWNlc3Nh cnksIHN1Y2ggYXMgd2l0aCBgZWRpZmYnLCB0aGVuIGEgc3VidGxlDQotZ3JleXNjYWxlIHZhbHVl IGlzIHVzZWQuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIklu dGVuc2VseSBjb2xvdXJlZCBiYWNrZ3JvdW5kcyAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAg KGNvbnN0IDp0YWcgIlNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmRzIHdpdGggdGludGVkIHRl eHQiIGRlc2F0dXJhdGVkKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gYmFja2dyb3VuZHMs IGV4Y2VwdCBmb3IgcmVmaW5lZCBkaWZmcyIgZmctb25seSkpKQ0KLQ0KLShtYWtlLW9ic29sZXRl ICdtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAg ICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMi4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVz LXZpdmVuZGktdGhlbWUtaW50ZW5zZS1zdGFuZGFyZC1jb21wbGV0aW9ucyBuaWwNCi0gICJVc2Ug cHJvbWluZW50IGJhY2tncm91bmRzIGZvciBJY29tcGxldGUsIElkbywgb3Igc2ltaWxhci4iDQot ICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtY29t cGxldGlvbnMgbmlsDQotICAiQXBwbHkgc3BlY2lhbCBzdHlsZXMgdG8gdGhlIFVJIG9mIGNvbXBs ZXRpb24gZnJhbWV3b3Jrcy4NCi0NCi1UaGlzIGNvbmNlcm5zIEljb21wbGV0ZSwgSXZ5LCBIZWxt LCBTZWxlY3RydW0sIElkbywgYXMgd2VsbCBhcw0KLWFueSBvdGhlciB0b29sIG1lYW50IHRvIGVu aGFuY2UgdGhlaXIgZXhwZXJpZW5jZS4gIFRoZSBlZmZlY3QNCi13aWxsIHZhcnkgZGVwZW5kaW5n IG9uIHRoZSBjb21wbGV0aW9uIGZyYW1ld29yay4NCi0NCi1OaWwgbWVhbnMgdG8gcmVtYWluIGZh aXRoZnVsIHRvIHRoZSBtZXRhcGhvcnMgdGhhdCBlYWNoIFVJDQotZXN0YWJsaXNoZXMuICBGb3Ig ZXhhbXBsZSwgSWNvbXBsZXRlIGFuZCBJZG8gb25seSB1c2UgZm9yZWdyb3VuZA0KLWNvbG91cnMg dG8gc3R5bGUgdGhlaXIgbWF0Y2hlcywgd2hlcmVhcyBJdnkgb3IgSGVsbSByZWx5IG9uIGFuDQot YWVzdGhldGljIHRoYXQgY29tYmluZXMgY29sb3VyZWQgYmFja2dyb3VuZHMgd2l0aCBhcHByb3By aWF0ZQ0KLXRleHQgY29sb3VyLg0KLQ0KLU9wdGlvbiBgbW9kZXJhdGUnIHdpbGwgYXBwbHkgYSBj b21iaW5hdGlvbiBvZiBiYWNrZ3JvdW5kIGFuZA0KLWZvcmVncm91bmQgdGhhdCBpcyBmYWlybHkg c3VidGxlLiAgRm9yIEljb21wbGV0ZSBhbmQgdGhlIGxpa2UsDQotdGhpcyBjb25zdGl0dXRlcyBh IGRlcGFydHVyZSBmcm9tIHRoZWlyIHN0YW5kYXJkIHN0eWxlLiAgV2hpbGUNCi1JdnksIEhlbG0s IGFuZCB0aGUgb3RoZXJzLCB3aWxsIHVzZSBsZXNzIHByb25vdW5jZWQgY29sb3VycyBmb3INCi1h cHBsaWNhYmxlIGNvbnRleHRzLg0KLQ0KLU9wdGlvbiBgb3BpbmlvbmF0ZWQnIHdpbGwgYXBwbHkg Y29sb3VyIGNvbWJpbmF0aW9ucyB0aGF0DQotcmVmYXNoaW9uIHRoZSBjb21wbGV0aW9uIFVJLiAg U28gSWNvbXBsZXRlIGV0IGFsIHdpbGwgbm93IHVzZQ0KLXN0eWxlcyB0aGF0IHJlc2VtYmxlIHRo ZSBkZWZhdWx0cyBvZiBJdnkgYW5kIGNvLiwgd2hpbGUgdGhlDQotbGF0dGVyIGdyb3VwIHdpbGwg cmV2ZXJ0IHRvIGFuIGV2ZW4gbW9yZSBudWFuY2VkIGFlc3RoZXRpYy4iDQotICA6dHlwZSAnKGNo b2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiUmVzcGVjdCB0aGUgZnJhbWV3b3JrJ3MgZXN0 YWJsaXNoZWQgYWVzdGhldGljIChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRh ZyAiU3VidGxlIGJhY2tncm91bmRzIGZvciB2YXJpb3VzIGVsZW1lbnRzIiBtb2RlcmF0ZSkNCi0g ICAgICAgICAgKGNvbnN0IDp0YWcgIlJhZGljYWwgYWx0ZXJuYXRpdmUgdG8gdGhlIGZyYW1ld29y aydzIGxvb2tzIiBvcGluaW9uYXRlZCkpKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10 aGVtZS1wcm9tcHRzIG5pbA0KLSAgIlVzZSBzdWJ0bGUgb3IgaW50ZW5zZSBzdHlsZXMgZm9yIG1p bmlidWZmZXIgYW5kIFJFUEwgcHJvbXB0cy4NCi0NCi1OaWwgbWVhbnMgdG8gb25seSB1c2UgYW4g YWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xvdXIuDQotDQotT3B0aW9ucyBgc3VidGxlJyBhbmQgYGlu dGVuc2UnIHdpbGwgY2hhbmdlIGJvdGggdGhlIGJhY2tncm91bmQNCi1hbmQgdGhlIGZvcmVncm91 bmQgdmFsdWVzLiAgVGhlIGxhdHRlciBoYXMgYSBtb3JlIHByb25vdW5jZWQNCi1lZmZlY3QgdGhh biB0aGUgZm9ybWVyLiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFn ICJObyBwcm9tcHQgYmFja2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0 IDp0YWcgIlN1YnRsZSBhY2NlbnRlZCBiYWNrZ3JvdW5kIGZvciB0aGUgcHJvbXB0IiBzdWJ0bGUp DQotICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlIGJhY2tncm91bmQgYW5kIGZvcmVncm91 bmQgZm9yIHRoZSBwcm9tcHQiIGludGVuc2UpKSkNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVu ZGktdGhlbWUtaW50ZW5zZS1obC1saW5lIG5pbA0KLSAgIlVzZSBtb3JlIHByb21pbmVudCBiYWNr Z3JvdW5kIGZvciBjb21tYW5kIGBobC1saW5lLW1vZGUnLiINCi0gIDp0eXBlICdib29sZWFuKQ0K LQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoIG5p bA0KLSAgIlVzZSBtb3JlIHByb21pbmVudCBjb2xvdXIgZm9yIHBhcmVudGhlc2lzIG1hdGNoaW5n LiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVt ZS1mYWludC1zeW50YXggbmlsDQotICAiVXNlIGxlc3Mgc2F0dXJhdGVkIGNvbG91cnMgZm9yIGNv ZGUgc3ludGF4IGhpZ2hsaWdodGluZy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3Vz dG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUgbmlsDQotICAiRG8gbm90 IHVuZGVybGluZSBsaW5rcy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi07OzsgSW50ZXJuYWwg ZnVuY3Rpb25zDQotDQotOzsgSGVscGVyIGZ1bmN0aW9ucyB0aGF0IGFyZSBtZWFudCB0byBlYXNl IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUNCi07OyBhYm92ZSBjdXN0b21pc2F0aW9uIG9wdGlv bnMuDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQgKCkNCi0gICJDb25k aXRpb25hbCB1c2Ugb2YgYSBoZWF2aWVyIHRleHQgd2VpZ2h0LiINCi0gICh3aGVuIG1vZHVzLXZp dmVuZGktdGhlbWUtYm9sZC1jb25zdHJ1Y3RzDQotICAgIChsaXN0IDppbmhlcml0ICdib2xkKSkp DQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMgKCkNCi0gICJDb25k aXRpb25hbCBhcHBsaWNhdGlvbiBvZiBgZml4ZWQtcGl0Y2gnIGluaGVyaXRhbmNlLiINCi0gICh1 bmxlc3MgbW9kdXMtdml2ZW5kaS10aGVtZS1uby1taXhlZC1mb250cw0KLSAgICAobGlzdCA6aW5o ZXJpdCAnZml4ZWQtcGl0Y2gpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1mcmlu Z2UgKHN1YnRsZWJnIGludGVuc2ViZykNCi0gICJDb25kaXRpb25hbCB1c2Ugb2YgYmFja2dyb3Vu ZCBjb2xvdXJzIGZvciBmcmluZ2VzLg0KLVNVQlRMRUJHIHNob3VsZCBiZSBhIHN1YnRsZSBncmV5 c2NhbGUgdmFsdWUuICBJTlRFTlNFQkcgbXVzdCBiZSBhDQotbW9yZSBwcm9ub3VuY2VkIGdyZXlz Y2FsZSBjb2xvdXIuIg0KLSAgKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcw0KLSAg ICAoJ2ludGVuc2UgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCi0gICAgKCdzdWJ0bGUg KGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcpKQ0KLSAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBu aWwpKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtcHJvbXB0IChtYWluZmcgc3Vi dGxlYmcgc3VidGxlZmcgaW50ZW5zZWJnIGludGVuc2VmZykNCi0gICJDb25kaXRpb25hbCB1c2Ug b2YgYmFja2dyb3VuZCBjb2xvdXJzIGZvciBwcm9tcHRzLg0KLU1BSU5GRyBpcyB0aGUgcHJvbXB0 J3Mgc3RhbmRhcmQgZm9yZWdyb3VuZC4gIFNVQlRMRUJHIHNob3VsZCBiZSBhDQotc3VidGxlIGFj Y2VudGVkIGJhY2tncm91bmQgdGhhdCB3b3JrcyB3aXRoIFNVQlRMRUZHLiAgSU5URU5TRUJHDQot bXVzdCBiZSBhIG1vcmUgcHJvbm91bmNlZCBhY2NlbnRlZCBjb2xvdXIgdGhhdCBzaG91bGQgYmUN Ci1jb21iaW5hYmxlIHdpdGggSU5URU5TRUZHLiINCi0gIChwY2FzZSBtb2R1cy12aXZlbmRpLXRo ZW1lLXByb21wdHMNCi0gICAgKCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6 Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KLSAgICAoJ3N1YnRsZSAobGlzdCA6YmFja2dyb3VuZCBz dWJ0bGViZyA6Zm9yZWdyb3VuZCBzdWJ0bGVmZykpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5k IG5pbCA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhl bWUtcGFyZW4gKG5vcm1hbGJnIGludGVuc2ViZykNCi0gICJDb25kaXRpb25hbCB1c2Ugb2YgaW50 ZW5zZSBjb2xvdXJzIGZvciBtYXRjaGluZyBwYXJlbnRoZXNlcy4NCi1OT1JNQUxCRyBzaG91bGQg dGhlIHNwZWNpYWwgcGFsZXR0ZSBjb2xvdXIgJ2JnLXBhcmVuLW1hdGNoJyBvcg0KLXNvbWV0aGlu ZyBzaW1pbGFyLiAgSU5URU5TRUJHIG11c3QgYmUgZWFzaWVyIHRvIGRpc2Nlcm4gbmV4dCB0bw0K LW90aGVyIGJhY2tncm91bmRzLCBzdWNoIGFzIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3VyDQot J2JnLXBhcmVuLW1hdGNoLWludGVuc2UnLiINCi0gIChpZiBtb2R1cy12aXZlbmRpLXRoZW1lLWlu dGVuc2UtcGFyZW4tbWF0Y2gNCi0gICAgICAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcpDQot ICAgIChsaXN0IDpiYWNrZ3JvdW5kIG5vcm1hbGJnKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQgKG5vcm1hbCBmYWludCkNCi0gICJBcHBseSBmb3Jl Z3JvdW5kIHZhbHVlIHRvIGNvZGUgc3ludGF4Lg0KLU5PUk1BTCBpcyB0aGUgbW9yZSBzYXR1cmF0 ZWQgY29sb3VyLCB3aGljaCBzaG91bGQgYmUgdGhlIGRlZmF1bHQuDQotRkFJTlQgaXMgdGhlIGxl c3Mgc2F0dXJhdGVkIGNvbG91ci4iDQotICAoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS1mYWludC1z eW50YXgNCi0gICAgICAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkNCi0gICAgKGxpc3QgOmZvcmVn cm91bmQgbm9ybWFsKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZy1w IChrZXkpDQotICAiUXVlcnkgc3R5bGUgb2YgS0VZIGluIGBtb2R1cy12aXZlbmRpLXRoZW1lLWhl YWRpbmdzJy4iDQotICAoY2RyIChhc3NvYyBrZXkgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5n cykpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcgKGxldmVsIGZnIGZn LWFsdCBiZyBib3JkZXIpDQotICAiQ29uZGl0aW9uYWwgc3R5bGVzIGZvciBgbW9kdXMtdml2ZW5k aS10aGVtZS1oZWFkaW5ncycuDQotDQotTEVWRUwgaXMgdGhlIGhlYWRpbmcncyBwb3NpdGlvbiBp biB0aGVpciBvcmRlci4gIEZHIGlzIHRoZQ0KLWRlZmF1bHQgdGV4dCBjb2xvdXIuICBGRy1BTFQg aXMgYW4gYWNjZW50ZWQsIG1vcmUgc2F0dXJhdGVkIHZhbHVlDQotdGhhbiB0aGUgZGVmYXVsdC4g IEJHIGlzIGEgbnVhbmNlZCwgdHlwaWNhbGx5IGFjY2VudGVkLA0KLWJhY2tncm91bmQgdGhhdCBj YW4gd29yayB3ZWxsIHdpdGggZWl0aGVyIG9mIHRoZSBmb3JlZ3JvdW5kDQotdmFsdWVzLiAgQk9S REVSIGlzIGEgY29sb3VyIHZhbHVlIHRoYXQgY29tYmluZXMgd2VsbCB3aXRoIHRoZQ0KLWJhY2tn cm91bmQgYW5kIGFsdGVybmF0aXZlIGZvcmVncm91bmQuIg0KLSAgKGxldCogKChrZXkgKG1vZHVz LXZpdmVuZGktdGhlbWUtaGVhZGluZy1wIGAsbGV2ZWwpKQ0KLSAgICAgICAgIChzdHlsZSAob3Ig a2V5IChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmctcCB0KSkpDQotICAgICAgICAgKHZhciAo aWYgbW9kdXMtdml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncw0KLSAgICAgICAg ICAgICAgICAgICd2YXJpYWJsZS1waXRjaA0KLSAgICAgICAgICAgICAgICAnZGVmYXVsdCkpKQ0K LSAgICAocGNhc2Ugc3R5bGUNCi0gICAgICAoJ25vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVy aXQgYCx2YXIgOmZvcmVncm91bmQgZmcpKQ0KLSAgICAgICgnbGluZQ0KLSAgICAgICAobGlzdCA6 aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQot ICAgICAgKCdsaW5lLW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVn cm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdyYWluYm93DQotICAgICAgIChs aXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KLSAgICAgICgn cmFpbmJvdy1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5k IGZnLWFsdCkpDQotICAgICAgKCdyYWluYm93LWxpbmUNCi0gICAgICAgKGxpc3QgOmluaGVyaXQg YChib2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAg ICAoJ3JhaW5ib3ctbGluZS1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpm b3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAgICAoJ2hpZ2hsaWdodA0K LSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVn cm91bmQgZmcpKQ0KLSAgICAgICgnaGlnaGxpZ2h0LW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmlu aGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0KLSAgICAgICgncmFp bmJvdy1oaWdobGlnaHQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNr Z3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdyYWluYm93LWhpZ2hsaWdo dC1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpm b3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdzZWN0aW9uDQotICAgICAgIChhcHBlbmQNCi0g ICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0g ICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdy b3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkpDQotICAgICAgKCdzZWN0aW9uLW5vLWJvbGQNCi0g ICAgICAgKGFwcGVuZA0KLSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykg Jyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQg YmcgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgICgncmFpbmJvdy1z ZWN0aW9uDQotICAgICAgIChhcHBlbmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZl cnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAs dmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikp KQ0KLSAgICAgICgncmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQNCi0gICAgICAgKGFwcGVuZA0KLSAg ICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAg ICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmct YWx0IDpvdmVybGluZSBib3JkZXIpKSkNCi0gICAgICAoXw0KLSAgICAgICAobGlzdCA6aW5oZXJp dCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmcpKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZl bmRpLXRoZW1lLW9yZy1ibG9jayAoYmdibGspDQotICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIGJh Y2tncm91bmQgb2YgT3JnIGJsb2Nrcy4NCi1CR0JMSyBhcHBsaWVzIHRvIGEgZGlzdGluY3QgbmV1 dHJhbCBiYWNrZ3JvdW5kLiAgRWxzZSBibG9ja3MgaGF2ZQ0KLW5vIGJhY2tncm91bmQgb2YgdGhl aXIgb3duICh0aGUgZGVmYXVsdCksIHNvIHRoZXkgbG9vayB0aGUgc2FtZQ0KLWFzIHRoZSByZXN0 IG9mIHRoZSBidWZmZXIuDQotDQotYG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcycgYWxz byBhY2NlcHRzIGEgYHJhaW5ib3cnIG9wdGlvbg0KLXdoaWNoIGlzIGFwcGxpZWQgY29uZGl0aW9u YWxseSB0byBgb3JnLXNyYy1ibG9jay1mYWNlcycgKHNlZSB0aGUNCi10aGVtZSdzIHNvdXJjZSBj b2RlKS4iDQotICAoaWYgKGVxIG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcyAnZ3JleXNj YWxlKQ0KLSAgICAgIChhcHBlbmQNCi0gICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lv biAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAobGlzdCA6YmFja2dyb3VuZCBiZ2JsaykpDQot ICAgIChsaXN0IDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRo ZW1lLW9yZy1ibG9jay1kZWxpbSAoYmdhY2NlbnQgZmdhY2NlbnQgYmcgZmcpDQotICAiQ29uZGl0 aW9uYWxseSBzZXQgdGhlIHN0eWxlcyBvZiBPcmcgYmxvY2sgZGVsaW1pdGVycy4NCi1CRywgRkcs IEJHQUNDRU5ULCBGR0FDQ0VOVCBhcHBseSBhIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQNCi1j b2xvdXIgcmVzcGVjdGl2ZWx5Lg0KLQ0KLVRoZSBmb3JtZXIgcGFpciBpcyBhIGdyZXlzY2FsZSBj b21iaW5hdGlvbiB0aGF0IHNob3VsZCBiZSBtb3JlDQotZGlzdGluY3QgdGhhbiB0aGUgYmFja2dy b3VuZCBvZiB0aGUgYmxvY2suICBJdCBpcyBhcHBsaWVkIHRvIHRoZQ0KLWRlZmF1bHQgc3R5bGVz IG9yIHdoZW4gYG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcycgaXMgc2V0DQotdG8gYGdy ZXlzY2FsZScuDQotDQotVGhlIGxhdHRlciBwYWlyIHNob3VsZCBiZSBtb3JlIHN1YnRsZSB0aGFu IHRoZSBiYWNrZ3JvdW5kIG9mIHRoZQ0KLWJsb2NrLCBhcyBpdCBpcyB1c2VkIHdoZW4gYG1vZHVz LXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcycgaXMNCi1zZXQgdG8gYHJhaW5ib3cnLiINCi0gIChw Y2FzZSBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MNCi0gICAgKCdncmV5c2NhbGUgKGFw cGVuZCAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAg ICAgICAgICAgICAgICAgICAgICAgKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcp KSkNCi0gICAgKCdyYWluYm93IChsaXN0IDpiYWNrZ3JvdW5kIGJnYWNjZW50IDpmb3JlZ3JvdW5k IGZnYWNjZW50KSkNCi0gICAgKF8gKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcp KSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1saW5lLWF0dHJzDQotICAg IChmZyBiZyBmZy1hbHQgYmctYWx0IGJvcmRlciBib3JkZXItM2QgJm9wdGlvbmFsIGFsdC1zdHls ZSBib3JkZXItd2lkdGggZmctZGlzdGFudCkNCi0gICJDb2xvdXIgY29tYmluYXRpb25zIGZvciBg bW9kdXMtdml2ZW5kaS10aGVtZS1tb2RlLWxpbmUnLg0KLQ0KLUZHIGFuZCBCRyBhcmUgdGhlIGRl ZmF1bHQgY29sb3Vycy4gIEZHLUFMVCBhbmQgQkctQUxUIGFyZSBtZWFudA0KLXRvIGFjY29tbW9k YXRlIHRoZSBvcHRpb25zIGZvciBhIDNEIG1vZGVsaW5lIG9yIGEgYG1vb2R5Jw0KLWNvbXBsaWFu dCBvbmUuICBCT1JERVIgYXBwbGllcyB0byBhbGwgcGVybXV0YXRpb25zIG9mIHRoZQ0KLW1vZGVs aW5lLCBleGNlcHQgdGhlIHRocmVlLWRpbWVuc2lvbmFsIGVmZmVjdCwgd2hlcmUgQk9SREVSLTNE IGlzDQotdXNlZCBpbnN0ZWFkLg0KLQ0KLU9wdGlvbmFsIEFMVC1TVFlMRSBhcHBsaWVzIGFuIGFw cHJvcHJpYXRlIHN0eWxlIHRvIHRoZSBtb2RlDQotbGluZSdzIGJveCBwcm9wZXJ0eS4NCi0NCi1P cHRpb25hbCBCT1JERVItV0lEVEggc3BlY2lmaWVzIGFuIGludGVnZXIgZm9yIHRoZSB3aWR0aCBv ZiB0aGUNCi1yZWN0YW5nbGUgdGhhdCBwcm9kdWNlcyB0aGUgYm94IGVmZmVjdC4NCi0NCi1PcHRp b25hbCBGRy1ESVNUQU5UIHNob3VsZCBiZSBjbG9zZSB0byB0aGUgbWFpbiBiYWNrZ3JvdW5kDQot dmFsdWVzLiAgSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBhIGRpc3RhbnQtZm9yZWdyb3Vu ZA0KLXByb3BlcnR5LiINCi0gIChwY2FzZSBtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUtbGluZQ0K LSAgICAoJzNkDQotICAgICBgKDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFs dA0KLSAgICAgICAgICAgICAgICAgICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRlci13aWR0 aCAxKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y29sb3IgLGJvcmRl ci0zZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGUgLChhbmQg YWx0LXN0eWxlICdyZWxlYXNlZC1idXR0b24pKSkpDQotICAgICgnbW9vZHkNCi0gICAgIGAoOmJh Y2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgLGJvcmRlciA6 b3ZlcmxpbmUgLGJvcmRlcg0KLSAgICAgICAgICAgICAgICAgICA6ZGlzdGFudC1mb3JlZ3JvdW5k ICxmZy1kaXN0YW50KSkNCi0gICAgKF8NCi0gICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3Jv dW5kICxiZyA6Ym94ICxib3JkZXIpKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUt ZGlmZiAoZmctb25seS1iZyBmZy1vbmx5LWZnIG1haW5iZyBtYWluZmcgYWx0YmcgYWx0ZmcpDQot ICAiQ29sb3VyIGNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMnLg0K LQ0KLUZHLU9OTFktQkcgc2hvdWxkIGJlIHNpbWlsYXIgb3IgdGhlIHNhbWUgYXMgdGhlIG1haW4g YmFja2dyb3VuZC4NCi1GRy1PTkxZLUZHIHNob3VsZCBiZSBhIHNhdHVyYXRlZCBhY2NlbnQgdmFs dWUgdGhhdCBjYW4gYmUNCi1jb21iaW5lZCB3aXRoIHRoZSBmb3JtZXIuDQotDQotTUFJTkJHIG11 c3QgYmUgb25lIG9mIHRoZSBkZWRpY2F0ZWQgYmFja2dyb3VuZHMgZm9yIGRpZmZzIHdoaWxlDQot TUFJTkZHIG11c3QgYmUgdGhlIHNhbWUgZm9yIHRoZSBmb3JlZ3JvdW5kLg0KLQ0KLUFMVEJHIG5l ZWRzIHRvIGJlIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZCB0aGF0IGlzIG1lYW50IHRv DQotYmUgY29tYmluZWQgd2l0aCBBTFRGRy4gIEJvdGggbXVzdCBiZSBsZXNzIGludGVuc2UgdGhh biBNQUlOQkcNCi1hbmQgTUFJTkZHIHJlc3BlY3RpdmVseS4iDQotICAocGNhc2UgbW9kdXMtdml2 ZW5kaS10aGVtZS1kaWZmcw0KLSAgICAoJ2ZnLW9ubHkgKGxpc3QgOmJhY2tncm91bmQgZmctb25s eS1iZyA6Zm9yZWdyb3VuZCBmZy1vbmx5LWZnKSkNCi0gICAgKCdkZXNhdHVyYXRlZCAobGlzdCA6 YmFja2dyb3VuZCBhbHRiZyA6Zm9yZWdyb3VuZCBhbHRmZykpDQotICAgIChfIChsaXN0IDpiYWNr Z3JvdW5kIG1haW5iZyA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLXZp dmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMgKG1haW5mZyBzdWJ0bGViZyBpbnRlbnNl YmcgaW50ZW5zZWZnKQ0KLSAgIkNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXZpdmVuZGktdGhlbWUt Y29tcGxldGlvbnMnLg0KLQ0KLU1BSU5GRyBpcyBhbiBhY2NlbnRlZCBmb3JlZ3JvdW5kIHZhbHVl LiAgU1VCVExFQkcgaXMgYW4gYWNjZW50ZWQNCi1iYWNrZ3JvdW5kIHZhbHVlIHRoYXQgY2FuIGJl IGNvbWJpbmVkIHdpdGggTUFJTkZHLiAgSU5URU5TRUJHIGFuZA0KLUlOVEVOU0VGRyBhcmUgYWNj ZW50ZWQgY29sb3VycyB0aGF0IGFyZSBkZXNpZ25lZCB0byBiZSB1c2VkIGluDQotdGFuZGVtLg0K LQ0KLVRoZXNlIGFyZSBpbnRlbmRlZCBmb3IgSWNvbXBsZXRlLCBJZG8sIGFuZCByZWxhdGVkLiIN Ci0gIChwY2FzZSBtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zDQotICAgICgnb3Bpbmlv bmF0ZWQgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykp DQotICAgICgnbW9kZXJhdGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcgOmZvcmVncm91bmQg bWFpbmZnKSkNCi0gICAgKF8gKGxpc3QgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1 biBtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zIChzdWJ0bGVmYWNlIGludGVu c2VmYWNlIGFsdGZhY2UgJm9wdGlvbmFsIGFsdGZnIGJvbGQpDQotICAiQ29tYmluYXRpb25zIGZv ciBgbW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucycuDQotDQotU1VCVExFRkFDRSBhbmQg SU5URU5TRUZBQ0UgYXJlIGN1c3RvbSB0aGVtZSBmYWNlcyB0aGF0IGNvbWJpbmUgYQ0KLWJhY2tn cm91bmQgYW5kIGZvcmVncm91bmQgdmFsdWUuICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0 d28NCi1pcyBhIG1hdHRlciBvZiBkZWdyZWUuDQotDQotQUxURkFDRSBpcyBhIGNvbWJpbmF0aW9u IG9mIGNvbG91cnMgdGhhdCByZXByZXNlbnRzIGEgZGVwYXJ0dXJlDQotZnJvbSB0aGUgVUkncyBk ZWZhdWx0IGFlc3RoZXRpY3MuICBPcHRpb25hbCBBTFRGRyBpcyBtZWFudCB0byBiZQ0KLXVzZWQg aW4gdGFuZGVtIHdpdGggaXQuDQotDQotT3B0aW9uYWwgQk9MRCB3aWxsIGFwcGx5IGEgaGVhdmll ciB3ZWlnaHQgdG8gdGhlIHRleHQuDQotDQotVGhlc2UgYXJlIGludGVuZGVkIGZvciBIZWxtLCBJ dnksIGV0Yy4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAg ICAoJ29waW5pb25hdGVkIChsaXN0IDppbmhlcml0IChsaXN0IGFsdGZhY2UgYm9sZCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAob3IgYWx0ZmcgJ3Vuc3BlY2lmaWVkKSkp DQotICAgICgnbW9kZXJhdGUgKGxpc3QgOmluaGVyaXQgKGxpc3Qgc3VidGxlZmFjZSBib2xkKSkp DQotICAgIChfIChsaXN0IDppbmhlcml0IChsaXN0IGludGVuc2VmYWNlIGJvbGQpKSkpKQ0KLQ0K LShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIChhbW91bnQpDQotICAiU2NhbGUgaGVh ZGluZyBieSBBTU9VTlQuDQotDQotQU1PVU5UIGlzIGEgY3VzdG9taXNhdGlvbiBvcHRpb24uIg0K LSAgKHdoZW4gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS1oZWFkaW5ncw0KLSAgICAobGlzdCA6 aGVpZ2h0IGFtb3VudCkpKQ0KLQ0KLTs7OyBDb2xvdXIgcGFsZXR0ZQ0KLQ0KLTs7IERlZmluZSBj b2xvdXIgcGFsZXR0ZS4gIEVhY2ggY29sb3VyIG11c3QgaGF2ZSBhID49IDc6MSBjb250cmFzdA0K LTs7IHJhdGlvIHJlbGF0aXZlIHRvIHRoZSBmb3JlZ3JvdW5kL2JhY2tncm91bmQgY29sb3VyIGl0 IGlzIHJlbmRlcmVkDQotOzsgYWdhaW5zdC4NCi07Ow0KLTs7IFRoZSBkZXNpZ24gb2YgdGhlIGNv bG91ciBwYWxldHRlIGFzIGEgbWFjcm8gdGhhdCBtYXBzIGl0IHRvIGZhY2VzIGlzDQotOzsgYWRh cHRlZCBmcm9tIHplbmJlcm4tdGhlbWUuZWwsIGxhc3Qgc2VlbiBhdCBjb21taXQgN2RkNzk2ODoN Ci07OyBodHRwczovL2dpdGh1Yi5jb20vYmJhdHNvdi96ZW5idXJuLWVtYWNzDQotKGV2YWwtYW5k LWNvbXBpbGUNCi0gIChkZWZjb25zdCBtb2R1cy12aXZlbmRpLXRoZW1lLWRlZmF1bHQtY29sb3Jz LWFsaXN0DQotICAgICcoOzsgYmFzZSB2YWx1ZXMNCi0gICAgICAoImJnLW1haW4iIC4gIiMwMDAw MDAiKSAoImZnLW1haW4iIC4gIiNmZmZmZmYiKQ0KLSAgICAgICgiYmctYWx0IiAuICIjMTgxYTIw IikgKCJmZy1hbHQiIC4gIiNhOGE4YTgiKQ0KLSAgICAgICgiYmctZGltIiAuICIjMTEwYjExIikg KCJmZy1kaW0iIC4gIiNlMGU2ZjAiKQ0KLSAgICAgIDs7IHNwZWNpZmljYWxseSBmb3Igb24vb2Zm IHN0YXRlcyAoZS5nLiBgbW9kZS1saW5lJykNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUg Y29tYmluZWQgd2l0aCB0aGVtc2VsdmVzDQotICAgICAgKCJiZy1hY3RpdmUiIC4gIiMzMjMyMzIi KSAoImZnLWFjdGl2ZSIgLiAiI2Y0ZjRmNCIpDQotICAgICAgKCJiZy1pbmFjdGl2ZSIgLiAiIzFl MWUxZSIpICgiZmctaW5hY3RpdmUiIC4gIiNiZmMwYzQiKQ0KLSAgICAgIDs7IHNwZWNpYWwgYmFz ZSB2YWx1ZXMsIHVzZWQgb25seSBmb3IgY2FzZXMgd2hlcmUgdGhlIGFib3ZlDQotICAgICAgOzsg ZmctKiBvciBiZy0qIGNhbm5vdCBvciBzaG91bGQgbm90IGJlIHVzZWQgKHRvIGF2b2lkIGNvbmZ1 c2lvbikNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IHtmZyxiZ30te21haW4sYWx0 LGRpbX0NCi0gICAgICAoImJnLXNwZWNpYWwtY29sZCIgLiAiIzIwMzQ0OCIpICgiZmctc3BlY2lh bC1jb2xkIiAuICIjYzZlYWZmIikNCi0gICAgICAoImJnLXNwZWNpYWwtbWlsZCIgLiAiIzAwMzIy ZSIpICgiZmctc3BlY2lhbC1taWxkIiAuICIjYmZlYmUwIikNCi0gICAgICAoImJnLXNwZWNpYWwt d2FybSIgLiAiIzM4MmYyNyIpICgiZmctc3BlY2lhbC13YXJtIiAuICIjZjhkZWMwIikNCi0gICAg ICAoImJnLXNwZWNpYWwtY2FsbSIgLiAiIzM5MmE0OCIpICgiZmctc3BlY2lhbC1jYWxtIiAuICIj ZmJkNmY0IikNCi0gICAgICA7OyBzdHlsZXMgZm9yIHRoZSBtYWluIGNvbnN0cnVjdHMNCi0gICAg ICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0 JywgYGJnLWRpbScNCi0gICAgICAoInJlZCIgLiAiI2ZmODA1OSIpICgiZ3JlZW4iIC4gIiM0NGJj NDQiKQ0KLSAgICAgICgieWVsbG93IiAuICIjZWVjYzAwIikgKCJibHVlIiAuICIjMmZhZmZmIikN Ci0gICAgICAoIm1hZ2VudGEiIC4gIiNmZWFjZDAiKSAoImN5YW4iIC4gIiMwMGQzZDAiKQ0KLSAg ICAgIDs7IHN0eWxlcyBmb3IgY29tbW9uLCBidXQgc3RpbGwgc3BlY2lhbGlzZWQgY29uc3RydWN0 cw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbics IGBiZy1hbHQnLCBgYmctZGltJw0KLSAgICAgICgicmVkLWFsdCIgLiAiI2Y0OTIzYiIpICgiZ3Jl ZW4tYWx0IiAuICIjODBkMjAwIikNCi0gICAgICAoInllbGxvdy1hbHQiIC4gIiNjZmRmMzAiKSAo ImJsdWUtYWx0IiAuICIjNzlhOGZmIikNCi0gICAgICAoIm1hZ2VudGEtYWx0IiAuICIjZjc4ZmU3 IikgKCJjeWFuLWFsdCIgLiAiIzRhZThmYyIpDQotICAgICAgOzsgc2FtZSBwdXJwb3NlIGFzIGFi b3ZlLCBqdXN0IHNsaWdodCBkaWZmZXJlbmNlcw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBi ZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQnLCBgYmctZGltJw0KLSAgICAgICgi cmVkLWFsdC1vdGhlciIgLiAiI2ZmOTk3NyIpICgiZ3JlZW4tYWx0LW90aGVyIiAuICIjMDBjZDY4 IikNCi0gICAgICAoInllbGxvdy1hbHQtb3RoZXIiIC4gIiNmMGNlNDMiKSAoImJsdWUtYWx0LW90 aGVyIiAuICIjMDBiY2ZmIikNCi0gICAgICAoIm1hZ2VudGEtYWx0LW90aGVyIiAuICIjYjZhMGZm IikgKCJjeWFuLWFsdC1vdGhlciIgLiAiIzZhZTRiOSIpDQotICAgICAgOzsgc3R5bGVzIGZvciBk ZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHRleHQsIGludGVuZGVkIGZvciB1c2Ugd2l0aA0KLSAgICAg IDs7IHRoZSBgbW9kdXMtdml2ZW5kaS10aGVtZS1mYWludC1zeW50YXgnIG9wdGlvbg0KLSAgICAg IDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQn LCBgYmctZGltJw0KLSAgICAgICgicmVkLWZhaW50IiAuICIjZmZhMGEwIikgKCJncmVlbi1mYWlu dCIgLiAiIzg4Y2Y4OCIpDQotICAgICAgKCJ5ZWxsb3ctZmFpbnQiIC4gIiNkMmI1ODAiKSAoImJs dWUtZmFpbnQiIC4gIiM5MmJhZmYiKQ0KLSAgICAgICgibWFnZW50YS1mYWludCIgLiAiI2UwYjJk NiIpICgiY3lhbi1mYWludCIgLiAiI2EwYmZkZiIpDQotDQotICAgICAgKCJyZWQtYWx0LWZhaW50 IiAuICIjZjVhYTgwIikgKCJncmVlbi1hbHQtZmFpbnQiIC4gIiNhOGNmODgiKQ0KLSAgICAgICgi eWVsbG93LWFsdC1mYWludCIgLiAiI2NhYmY3NyIpICgiYmx1ZS1hbHQtZmFpbnQiIC4gIiNhNGIw ZmYiKQ0KLSAgICAgICgibWFnZW50YS1hbHQtZmFpbnQiIC4gIiNlZjlmZTQiKSAoImN5YW4tYWx0 LWZhaW50IiAuICIjOTBjNGVkIikNCi0NCi0gICAgICAoInJlZC1hbHQtb3RoZXItZmFpbnQiIC4g IiNmZjlmYmYiKSAoImdyZWVuLWFsdC1vdGhlci1mYWludCIgLiAiIzg4Y2ZhZiIpDQotICAgICAg KCJ5ZWxsb3ctYWx0LW90aGVyLWZhaW50IiAuICIjZDBiYTk1IikgKCJibHVlLWFsdC1vdGhlci1m YWludCIgLiAiIzhmYzVmZiIpDQotICAgICAgKCJtYWdlbnRhLWFsdC1vdGhlci1mYWludCIgLiAi I2QwYjRmZiIpICgiY3lhbi1hbHQtb3RoZXItZmFpbnQiIC4gIiNhNGQwYmIiKQ0KLSAgICAgIDs7 IHN0eWxlcyBmb3IgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgdmVyeSBzdWJ0bGUsIHlldCBhY2Nl bnRlZA0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFp bicsIGBiZy1hbHQnLCBgYmctZGltJyBvciBhbnkgb2YNCi0gICAgICA7OyB0aGUgIm51YW5jZWQi IGJhY2tncm91bmRzDQotICAgICAgKCJyZWQtbnVhbmNlZCIgLiAiI2ZmY2NjYyIpICgiZ3JlZW4t bnVhbmNlZCIgLiAiI2I4ZTJiOCIpDQotICAgICAgKCJ5ZWxsb3ctbnVhbmNlZCIgLiAiI2RmZGZi MCIpICgiYmx1ZS1udWFuY2VkIiAuICIjYmZkOWZmIikNCi0gICAgICAoIm1hZ2VudGEtbnVhbmNl ZCIgLiAiI2U1Y2ZlZiIpICgiY3lhbi1udWFuY2VkIiAuICIjYThlNWU1IikNCi0gICAgICA7OyBz dHlsZXMgZm9yIHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQNCi0gICAgICA7Ow0KLSAgICAg IDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlIGFib3ZlIGZvcmVncm91bmQgdmFs dWVzDQotICAgICAgKCJyZWQtbnVhbmNlZC1iZyIgLiAiIzJjMDYxNCIpICgiZ3JlZW4tbnVhbmNl ZC1iZyIgLiAiIzAwMTkwNCIpDQotICAgICAgKCJ5ZWxsb3ctbnVhbmNlZC1iZyIgLiAiIzIyMTAw MCIpICgiYmx1ZS1udWFuY2VkLWJnIiAuICIjMGYwZTM5IikNCi0gICAgICAoIm1hZ2VudGEtbnVh bmNlZC1iZyIgLiAiIzIzMDYzMSIpICgiY3lhbi1udWFuY2VkLWJnIiAuICIjMDQxNTI5IikNCi0g ICAgICA7OyBzdHlsZXMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGRyYXcgYXR0ZW50aW9uIHRv IHRoZW1zZWx2ZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDog YGJnLW1haW4nDQotICAgICAgKCJyZWQtaW50ZW5zZSIgLiAiI2ZiNjg1OSIpICgiZ3JlZW4taW50 ZW5zZSIgLiAiIzAwZmM1MCIpDQotICAgICAgKCJ5ZWxsb3ctaW50ZW5zZSIgLiAiI2ZmZGQwMCIp ICgiYmx1ZS1pbnRlbnNlIiAuICIjMDBhMmZmIikNCi0gICAgICAoIm1hZ2VudGEtaW50ZW5zZSIg LiAiI2ZmOGJkNCIpICgiY3lhbi1pbnRlbnNlIiAuICIjMzBmZmMwIikNCi0gICAgICA7OyBzdHls ZXMgZm9yIGJhY2tncm91bmQgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZSB5ZXQNCi0g ICAgICA7OyBzdWJ0bGUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0 aDogYGZnLWRpbScNCi0gICAgICAoInJlZC1zdWJ0bGUtYmciIC4gIiM3NjI0MjIiKSAoImdyZWVu LXN1YnRsZS1iZyIgLiAiIzJmNGEwMCIpDQotICAgICAgKCJ5ZWxsb3ctc3VidGxlLWJnIiAuICIj NjA0MjAwIikgKCJibHVlLXN1YnRsZS1iZyIgLiAiIzEwMzg3YyIpDQotICAgICAgKCJtYWdlbnRh LXN1YnRsZS1iZyIgLiAiIzQ5MzY2ZSIpICgiY3lhbi1zdWJ0bGUtYmciIC4gIiMwMDQxNWUiKQ0K LSAgICAgIDs7IHN0eWxlcyBmb3IgYmFja2dyb3VuZCBlbGVtZW50cyB0aGF0IHNob3VsZCBiZSB2 aXNpYmxlIGFuZA0KLSAgICAgIDs7IGRpc3Rpbmd1aXNoYWJsZQ0KLSAgICAgIDs7DQotICAgICAg OzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgZmctbWFpbicNCi0gICAgICAoInJlZC1pbnRlbnNl LWJnIiAuICIjYTQyMDJhIikgKCJncmVlbi1pbnRlbnNlLWJnIiAuICIjMDA2ODAwIikNCi0gICAg ICAoInllbGxvdy1pbnRlbnNlLWJnIiAuICIjODc0OTAwIikgKCJibHVlLWludGVuc2UtYmciIC4g IiMyYTQwYjgiKQ0KLSAgICAgICgibWFnZW50YS1pbnRlbnNlLWJnIiAuICIjNzA0MmEyIikgKCJj eWFuLWludGVuc2UtYmciIC4gIiMwMDVmODgiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgcmVmaW5l ZCBjb250ZXh0cyB3aGVyZSBib3RoIHRoZSBmb3JlZ3JvdW5kIGFuZCB0aGUNCi0gICAgICA7OyBi YWNrZ3JvdW5kIG5lZWQgdG8gaGF2ZSB0aGUgc2FtZS9zaW1pbGFyIGh1ZQ0KLSAgICAgIDs7DQot ICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoIHRoZW1zZWx2ZXMgT1IgdGhlIGZvcmVncm91 bmRzIGNhbiBiZQ0KLSAgICAgIDs7IGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBiYXNlIGJhY2tn cm91bmRzDQotICAgICAgKCJyZWQtcmVmaW5lLWJnIiAuICIjNzcwMDJhIikgKCJyZWQtcmVmaW5l LWZnIiAuICIjZmZiOWFiIikNCi0gICAgICAoImdyZWVuLXJlZmluZS1iZyIgLiAiIzAwNDIyYSIp ICgiZ3JlZW4tcmVmaW5lLWZnIiAuICIjOWZmMGNmIikNCi0gICAgICAoInllbGxvdy1yZWZpbmUt YmciIC4gIiM2OTMyMDAiKSAoInllbGxvdy1yZWZpbmUtZmciIC4gIiNlMmQ5ODAiKQ0KLSAgICAg ICgiYmx1ZS1yZWZpbmUtYmciIC4gIiMyNDI2NzkiKSAoImJsdWUtcmVmaW5lLWZnIiAuICIjOGVj NmZmIikNCi0gICAgICAoIm1hZ2VudGEtcmVmaW5lLWJnIiAuICIjNzEyMDZhIikgKCJtYWdlbnRh LXJlZmluZS1mZyIgLiAiI2ZmY2FmMCIpDQotICAgICAgKCJjeWFuLXJlZmluZS1iZyIgLiAiIzAw NDA2NSIpICgiY3lhbi1yZWZpbmUtZmciIC4gIiM4YWU0ZjIiKQ0KLSAgICAgIDs7IHN0eWxlcyB0 aGF0IGFyZSBtZWFudCBleGNsdXNpdmVseSBmb3IgdGhlIG1vZGUgbGluZQ0KLSAgICAgIDs7DQot ICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctYWN0aXZlJywgYGJnLWluYWN0aXZl Jw0KLSAgICAgICgicmVkLWFjdGl2ZSIgLiAiI2ZmYTdiYSIpICgiZ3JlZW4tYWN0aXZlIiAuICIj NzBkNzNmIikNCi0gICAgICAoInllbGxvdy1hY3RpdmUiIC4gIiNkYmJlNWYiKSAoImJsdWUtYWN0 aXZlIiAuICIjMzRjZmZmIikNCi0gICAgICAoIm1hZ2VudGEtYWN0aXZlIiAuICIjZDViMWZmIikg KCJjeWFuLWFjdGl2ZSIgLiAiIzAwZDhiNCIpDQotICAgICAgOzsgc3R5bGVzIHRoYXQgYXJlIG1l YW50IGV4Y2x1c2l2ZWx5IGZvciB0aGUgZnJpbmdlcw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVz dCBiZSBjb21iaW5lZCB3aXRoIGBmZy1tYWluJw0KLSAgICAgICgicmVkLWZyaW5nZS1iZyIgLiAi IzhmMWY0YiIpICgiZ3JlZW4tZnJpbmdlLWJnIiAuICIjMDA2NzAwIikNCi0gICAgICAoInllbGxv dy1mcmluZ2UtYmciIC4gIiM2ZjRmMDAiKSAoImJsdWUtZnJpbmdlLWJnIiAuICIjM2YzM2FmIikN Ci0gICAgICAoIm1hZ2VudGEtZnJpbmdlLWJnIiAuICIjNmYyZjg5IikgKCJjeWFuLWZyaW5nZS1i ZyIgLiAiIzAwNGY4ZiIpDQotICAgICAgOzsgc3R5bGVzIHJlc2VydmVkIGZvciBzcGVjaWZpYyBm YWNlcw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLWhsLWxpbmUnIGlzIGJldHdlZW4gYGJnLWRp bScgYW5kIGBiZy1hbHQnLCBzbyBpdCBzaG91bGQNCi0gICAgICA7OyB3b3JrIHdpdGggYWxsIGFj Y2VudHMgdGhhdCBjb3ZlciB0aG9zZSB0d28sIHBsdXMgYGJnLW1haW4nDQotICAgICAgOzsNCi0g ICAgICA7OyBgYmctaGwtYWx0JyBhbmQgYGJnLWhsLWFsdC1pbnRlbnNlJyBzaG91bGQgb25seSBi ZSB1c2VkIHdoZW4gbm8NCi0gICAgICA7OyBvdGhlciBncmV5c2NhbGUgb3IgZmFpcmx5IG5ldXRy YWwgYmFja2dyb3VuZCBpcyBhdmFpbGFibGUgdG8NCi0gICAgICA7OyBwcm9wZXJseSBkcmF3IGF0 dGVudGlvbiB0byBhIGdpdmVuIGNvbnN0cnVjdA0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLWhl YWRlcicgaXMgYmV0d2VlbiBgYmctYWN0aXZlJyBhbmQgYGJnLWluYWN0aXZlJywgc28gaXQNCi0g ICAgICA7OyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlICJhY3RpdmUiIHZhbHVlcywg cGx1cyB0aGUNCi0gICAgICA7OyAic3BlY2lhbCIgYW5kIGJhc2UgZm9yZWdyb3VuZCBjb2xvdXJz DQotICAgICAgOzsNCi0gICAgICA7OyBgYmctcGFyZW4tbWF0Y2gnLCBgYmctcGFyZW4tbWF0Y2gt aW50ZW5zZScsIGBiZy1yZWdpb24nIGFuZA0KLSAgICAgIDs7IGBiZy10YWItYWN0aXZlJyBtdXN0 IGJlIGNvbWJpbmVkIHdpdGggYGZnLW1haW4nLCB3aGlsZQ0KLSAgICAgIDs7IGBiZy10YWItaW5h Y3RpdmUnIHNob3VsZCBiZSBjb21iaW5lZCB3aXRoIGBmZy1kaW0nDQotICAgICAgOzsNCi0gICAg ICA7OyBgYmctdGFiLWJhcicgaXMgb25seSBpbnRlbmRlZCBmb3IgdGhlIGJhciB0aGF0IGhvbGRz IHRoZSB0YWJzIGFuZA0KLSAgICAgIDs7IGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggYGZnLW1h aW4nDQotICAgICAgOzsNCi0gICAgICA7OyBgZmctdGFiLWFjdGl2ZScgaXMgbWVhbnQgdG8gYmUg Y29tYmluZWQgd2l0aCBgYmctdGFiLWFjdGl2ZScsDQotICAgICAgOzsgdGhvdWdoIG9ubHkgZm9y IHN0eWxpbmcgc3BlY2lhbCBlbGVtZW50cywgc3VjaCBhcyB1bmRlcmxpbmluZw0KLSAgICAgIDs7 IHRoZSBjdXJyZW50IHRhYg0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLWVzY2FwZS1jaGFyLWNv bnN0cnVjdCcgYW5kIGBmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gnIGNhbg0KLSAgICAgIDs7IGJl IGNvbWJpbmVkIGBiZy1tYWluJywgYGJnLWRpbScsIGBiZy1hbHQnDQotICAgICAgOzsNCi0gICAg ICA7OyBgZmctbGFuZy1lcnJvcicsIGBmZy1sYW5nLXdhcm5pbmcnLCBgZmctbGFuZy1ub3RlJyBj YW4gYmUNCi0gICAgICA7OyBjb21iaW5lZCB3aXRoIGBiZy1tYWluJywgYGJnLWRpbScsIGBiZy1h bHQnDQotICAgICAgOzsNCi0gICAgICA7OyBgZmctbWFyay1zZWwnLCBgZmctbWFyay1kZWwnLCBg ZmctbWFyay1hbHQnIGNhbiBiZSBjb21iaW5lZA0KLSAgICAgIDs7IHdpdGggYGJnLW1haW4nLCBg YmctZGltJywgYGJnLWFsdCcsIGBiZy1obC1saW5lJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZn LXVuZm9jdXNlZCcgbXVzdCBiZSBjb21iaW5lZCB3aXRoIGBmZy1tYWluJw0KLSAgICAgIDs7DQot ICAgICAgOzsgdGhlIHdpbmRvdyBkaXZpZGVyIGNvbG91cnMgYXBwbHkgdG8gZmFjZXMgd2l0aCBq dXN0IGFuIGZnIHZhbHVlDQotICAgICAgOzsNCi0gICAgICA7OyBhbGwgcGFpcnMgYXJlIGNvbWJp bmFibGUgd2l0aCB0aGVtc2VsdmVzDQotICAgICAgKCJiZy1obC1saW5lIiAuICIjMTUxODIzIikN Ci0gICAgICAoImJnLWhsLWxpbmUtaW50ZW5zZSIgLiAiIzJmMmYyZiIpDQotICAgICAgKCJiZy1o bC1hbHQiIC4gIiMxODE3MzIiKQ0KLSAgICAgICgiYmctaGwtYWx0LWludGVuc2UiIC4gIiMyODJl NDYiKQ0KLSAgICAgICgiYmctcGFyZW4tbWF0Y2giIC4gIiM1ZjM2MmYiKQ0KLSAgICAgICgiYmct cGFyZW4tbWF0Y2gtaW50ZW5zZSIgLiAiIzc0MTZiNSIpDQotICAgICAgKCJiZy1yZWdpb24iIC4g IiMzYzNjM2MiKQ0KLQ0KLSAgICAgICgiYmctdGFiLWJhciIgLiAiIzJjMmMyYyIpDQotICAgICAg KCJiZy10YWItYWN0aXZlIiAuICIjMGUwZTBlIikNCi0gICAgICAoImJnLXRhYi1pbmFjdGl2ZSIg LiAiIzNkM2QzZCIpDQotICAgICAgKCJmZy10YWItYWN0aXZlIiAuICIjNWFjM2NmIikNCi0NCi0g ICAgICAoImZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCIgLiAiI2U3YTU5YSIpDQotICAgICAgKCJm Zy1lc2NhcGUtY2hhci1iYWNrc2xhc2giIC4gIiNhYmFiMDAiKQ0KLQ0KLSAgICAgICgiZmctbGFu Zy1lcnJvciIgLiAiI2VmODY5MCIpDQotICAgICAgKCJmZy1sYW5nLXdhcm5pbmciIC4gIiNiMGFh MDAiKQ0KLSAgICAgICgiZmctbGFuZy1ub3RlIiAuICIjOWQ5ZGVmIikNCi0NCi0gICAgICAoImZn LXdpbmRvdy1kaXZpZGVyLWlubmVyIiAuICIjNjQ2NDY0IikNCi0gICAgICAoImZnLXdpbmRvdy1k aXZpZGVyLW91dGVyIiAuICIjOTY5Njk2IikNCi0NCi0gICAgICAoImZnLXVuZm9jdXNlZCIgLiAi IzkzOTU5YiIpDQotDQotICAgICAgKCJiZy1oZWFkZXIiIC4gIiMyMTIxMjEiKSAoImZnLWhlYWRl ciIgLiAiI2RkZGRkZCIpDQotDQotICAgICAgKCJiZy13aGl0ZXNwYWNlIiAuICIjMTcwMDE2Iikg KCJmZy13aGl0ZXNwYWNlIiAuICIjYTQ5NTlmIikNCi0NCi0gICAgICAoImJnLWRpZmYtaGVhZGlu ZyIgLiAiIzMwNDQ2NiIpICgiZmctZGlmZi1oZWFkaW5nIiAuICIjZGFkZmZlIikNCi0gICAgICAo ImJnLWRpZmYtYWRkZWQiIC4gIiMwYTI4MGEiKSAoImZnLWRpZmYtYWRkZWQiIC4gIiM5NGJhOTQi KQ0KLSAgICAgICgiYmctZGlmZi1jaGFuZ2VkIiAuICIjMmEyMDAwIikgKCJmZy1kaWZmLWNoYW5n ZWQiIC4gIiNiMGJhOWYiKQ0KLSAgICAgICgiYmctZGlmZi1yZW1vdmVkIiAuICIjNDAxNjBmIikg KCJmZy1kaWZmLXJlbW92ZWQiIC4gIiNjNmFkYWEiKQ0KLQ0KLSAgICAgICgiYmctZGlmZi1yZWZp bmUtYWRkZWQiIC4gIiMwMDVhMzYiKSAoImZnLWRpZmYtcmVmaW5lLWFkZGVkIiAuICIjZTBmNmUw IikNCi0gICAgICAoImJnLWRpZmYtcmVmaW5lLWNoYW5nZWQiIC4gIiM1ODU4MDAiKSAoImZnLWRp ZmYtcmVmaW5lLWNoYW5nZWQiIC4gIiNmZmZmY2MiKQ0KLSAgICAgICgiYmctZGlmZi1yZWZpbmUt cmVtb3ZlZCIgLiAiIzg1MjgyOCIpICgiZmctZGlmZi1yZWZpbmUtcmVtb3ZlZCIgLiAiI2ZmZDll YiIpDQotDQotICAgICAgKCJiZy1kaWZmLWZvY3VzLWFkZGVkIiAuICIjMjAzZDIwIikgKCJmZy1k aWZmLWZvY3VzLWFkZGVkIiAuICIjYjRkZGI0IikNCi0gICAgICAoImJnLWRpZmYtZm9jdXMtY2hh bmdlZCIgLiAiIzRhM2ExMCIpICgiZmctZGlmZi1mb2N1cy1jaGFuZ2VkIiAuICIjZDBkYWFmIikN Ci0gICAgICAoImJnLWRpZmYtZm9jdXMtcmVtb3ZlZCIgLiAiIzVlMjUyNiIpICgiZmctZGlmZi1m b2N1cy1yZW1vdmVkIiAuICIjZWViZGJhIikNCi0NCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0w IiAuICIjNTc1NzU3IikgKCJmZy1kaWZmLW5ldXRyYWwtMCIgLiAiI2ZjZmNmYyIpDQotICAgICAg KCJiZy1kaWZmLW5ldXRyYWwtMSIgLiAiIzQ1NDU0NSIpICgiZmctZGlmZi1uZXV0cmFsLTEiIC4g IiNkZGRkZGQiKQ0KLSAgICAgICgiYmctZGlmZi1uZXV0cmFsLTIiIC4gIiMzMTMxMzEiKSAoImZn LWRpZmYtbmV1dHJhbC0yIiAuICIjYmZiZmJmIikNCi0NCi0gICAgICAoImJnLW1hcmstc2VsIiAu ICIjMDAyZjJmIikgKCJmZy1tYXJrLXNlbCIgLiAiIzYwY2ZhMiIpDQotICAgICAgKCJiZy1tYXJr LWRlbCIgLiAiIzVhMDAwMCIpICgiZmctbWFyay1kZWwiIC4gIiNmZjk5YWEiKQ0KLSAgICAgICgi YmctbWFyay1hbHQiIC4gIiMzZjIyMTAiKSAoImZnLW1hcmstYWx0IiAuICIjZjBhYTIwIikpDQot ICAgICJUaGUgZW50aXJlIHBhbGV0dGUgb2YgYG1vZHVzLXZpdmVuZGktdGhlbWUnLg0KLUVhY2gg ZWxlbWVudCBoYXMgdGhlIGZvcm0gKE5BTUUgLiBIRVgpLiIpDQotDQotICAoZGVmY3VzdG9tIG1v ZHVzLXZpdmVuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0ICcoKQ0KLSAgICAiQXNzb2Np YXRpb24gbGlzdCBvZiBwYWxldHRlIGNvbG91ciBvdmVycmlkZXMuDQotVmFsdWVzIGNhbiBiZSBt YXBwZWQgdG8gdmFyaWFibGVzLCB1c2luZyB0aGUgc2FtZSBzeW50YXggYXMgdGhlDQotb25lIHBy ZXNlbnQgaW4gYG1vZHVzLXZpdmVuZGktdGhlbWUtZGVmYXVsdC1jb2xvcnMtYWxpc3QnLg0KLQ0K LVRoaXMgaXMgb25seSBtZWFudCBmb3IgZG8taXQteW91cnNlbGYgdXNhZ2UsIHdpdGggdGhlDQot dW5kZXJzdGFuZGluZyB0aGF0IHRoZSB1c2VyIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgcmVzdWx0 aW5nDQotY29udHJhc3QgcmF0aW8gYmV0d2VlbiBuZXcgYW5kIGV4aXN0aW5nIGNvbG91cnMuIg0K LSAgICA6dHlwZSAnKGFsaXN0DQotICAgICAgICAgICAgOmtleS10eXBlIChzdHJpbmcgOnRhZyAi TmFtZSIpDQotICAgICAgICAgICAgOnZhbHVlLXR5cGUgKHN0cmluZyA6dGFnICIgSGV4IikpKQ0K LQ0KLSAgKGRlZm1hY3JvIG1vZHVzLXZpdmVuZGktdGhlbWUtd2l0aC1jb2xvci12YXJpYWJsZXMg KCZyZXN0IGJvZHkpDQotICAgICJgbGV0JyBiaW5kIGFsbCBjb2xvdXJzIGFyb3VuZCBCT0RZLg0K LUFsc28gYmluZCBgY2xhc3MnIHRvICgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg5KSkuIg0K LSAgICAoZGVjbGFyZSAoaW5kZW50IDApKQ0KLSAgICBgKGxldCAoKGNsYXNzICcoKGNsYXNzIGNv bG9yKSAobWluLWNvbG9ycyA4OSkpKQ0KLSAgICAgICAgICAgLEAobWFwY2FyIChsYW1iZGEgKGNv bnMpDQotICAgICAgICAgICAgICAgICAgICAgICAobGlzdCAoaW50ZXJuIChjYXIgY29ucykpIChj ZHIgY29ucykpKQ0KLSAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgbW9kdXMtdml2ZW5kaS10 aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bW9kdXMtdml2ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QpKQ0KLSAgICAgICAgICAg Ozsgc2ltcGxlIGNvbmRpdGlvbmFsIHN0eWxlcyB0aGF0IGV2YWx1YXRlIHVzZXItZmFjaW5nDQot ICAgICAgICAgICA7OyBjdXN0b21pc2F0aW9uIG9wdGlvbnMNCi0gICAgICAgICAgIChtb2R1cy10 aGVtZS1zbGFudA0KLSAgICAgICAgICAgIChpZiBtb2R1cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQt Y29uc3RydWN0cyAnaXRhbGljICdub3JtYWwpKQ0KLSAgICAgICAgICAgKG1vZHVzLXRoZW1lLXZh cmlhYmxlLXBpdGNoDQotICAgICAgICAgICAgKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFi bGUtcGl0Y2gtaGVhZGluZ3MgJ3ZhcmlhYmxlLXBpdGNoICdkZWZhdWx0KSkpDQotICAgICAgICxA Ym9keSkpKQ0KLQ0KLQwNCi0NCi07OzsgRmFjZXMNCi0NCi0obW9kdXMtdml2ZW5kaS10aGVtZS13 aXRoLWNvbG9yLXZhcmlhYmxlcw0KLSAgKGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0gICAnbW9k dXMtdml2ZW5kaQ0KLTs7OzsgY3VzdG9tIGZhY2VzDQotICAgOzsgdGhlc2UgYmVzcG9rZSBmYWNl cyBhcmUgaW5oZXJpdGVkIGJ5IG90aGVyIGNvbnN0cnVjdHMgYmVsb3cNCi07Ozs7OyBzdWJ0bGUg Y29sb3VyZWQgYmFja2dyb3VuZHMNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQgKCgsY2xh c3MgOmJhY2tncm91bmQgLHJlZC1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1z dWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxl LXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRsZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtc3Vi dGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1j eWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7OzsgaW50 ZW5zZSBjb2xvdXJlZCBiYWNrZ3JvdW5kcw0KLSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQg KCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxncmVlbi1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10 aGVtZS1pbnRlbnNlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2Ut YmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtYmx1 ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tn cm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo bW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVu c2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2Ut bmV1dHJhbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotOzs7OzsgcmVmaW5lZCBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbWJpbmF0 aW9ucw0KLSAgIDs7IGdlbmVyYWwgcHVycG9zZSBzdHlsZXMgdGhhdCB1c2UgYW4gYWNjZW50ZWQg Zm9yZWdyb3VuZCBhZ2FpbnN0IGFuDQotICAgOzsgYWNjZW50ZWQgYmFja2dyb3VuZA0KLSAgIGAo bW9kdXMtdGhlbWUtcmVmaW5lLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXJlZmluZS1i ZyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5l LWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1yZWZpbmUtYmcgOmZvcmVncm91bmQg LGdyZWVuLXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyAoKCxj bGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAseWVsbG93LXJl ZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJsdWUtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxibHVlLXJlZmluZS1mZykpKQ0KLSAg IGAobW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2Vu dGEtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAobW9k dXMtdGhlbWUtcmVmaW5lLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tcmVmaW5lLWJn IDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KLTs7Ozs7ICJhY3RpdmUiIGNvbWJpbmF0 aW9ucywgbW9zdGx5IGZvciB1c2Ugb24gdGhlIG1vZGUgbGluZQ0KLSAgIGAobW9kdXMtdGhlbWUt YWN0aXZlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs YmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGdyZWVuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYCht b2R1cy10aGVtZS1hY3RpdmUteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctYWN0 aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1i bHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0 aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsbWFnZW50YS1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtYWN0aXZlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tYWN0aXZlIDpm b3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi07Ozs7OyBudWFuY2VkIGJhY2tncm91bmRzDQotICAg OzsgdXNlZnVsIGZvciBhZGRpbmcgYW4gYWNjZW50ZWQgYmFja2dyb3VuZCB0aGF0IGlzIHN1aXRh YmxlIGZvciBhbGwNCi0gICA7OyBtYWluIGZvcmVncm91bmQgY29sb3VycyAoaW50ZW5kZWQgZm9y IHVzZSBpbiBPcmcgc291cmNlIGJsb2NrcykNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtcmVk ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAn KDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxncmVlbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0 ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cgKCgsY2xhc3MgOmJh Y2tncm91bmQgLHllbGxvdy1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVu ZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkp DQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQg LG1hZ2VudGEtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxj eWFuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi07Ozs7 OyBmcmluZ2Utc3BlY2lmaWMgY29tYmluYXRpb25zDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2Ut cmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91 bmQgLGdyZWVuLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMt dGhlbWUtZnJpbmdlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWZyaW5nZS1i ZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsbWFnZW50YS1mcmluZ2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVz LXRoZW1lLWZyaW5nZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWZyaW5nZS1iZyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IHNwZWNpYWwgYmFzZSB2YWx1ZXMNCi0gICA7 OyB0aGVzZSBhcmUgY2xvc2VyIHRvIHRoZSBncmF5c2NhbGUgdGhhbiB0aGUgYWNjZW50cyBkZWZp bmVkIGFib3ZlDQotICAgOzsgYW5kIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgbmV4dCBj bG9zZXN0IGFsdGVybmF0aXZlIHdvdWxkIGJlDQotICAgOzsgYSBncmV5c2NhbGUgdmFsdWUgdGhh biBhbiBhY2NlbnRlZCBvbmUNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctc3BlY2lhbC1taWxkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBg KG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lh bC13YXJtIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1vZHVzLXRoZW1l LXNwZWNpYWwtY2FsbSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jYWxtIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBkaWZmLXNwZWNpZmljIGNvbWJpbmF0 aW9ucw0KLSAgIDs7IGludGVuZGVkIGZvciBgZGlmZi1tb2RlJyBvciBlcXVpdmFsZW50DQotICAg YChtb2R1cy10aGVtZS1kaWZmLWFkZGVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4gZ3JlZW4NCi0gICAgICAgICAg ICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0KLSAgICAgICAg ICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkKSkpKQ0KLSAgIGAobW9kdXMt dGhlbWUtZGlmZi1jaGFuZ2VkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4geWVsbG93DQotICAgICAgICAgICAgICAg ICBiZy1kaWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkDQotICAgICAgICAg ICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAgYChtb2R1 cy10aGVtZS1kaWZmLXJlbW92ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctbWFpbiByZWQNCi0gICAgICAgICAgICAgICAg IGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQNCi0gICAgICAgICAg ICAgICAgIHJlZC1udWFuY2VkLWJnIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCi0gICBgKG1vZHVzLXRo ZW1lLWRpZmYtcmVmaW5lLWFkZGVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0K LSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtYWRkZWQgZmctZGlmZi1yZWZpbmUtYWRk ZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1h ZGRlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQNCi0gICAgICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmct ZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1y ZWZpbmUtY2hhbmdlZCBmZy1kaWZmLXJlZmluZS1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICBi Zy1kaWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlm Zi1yZW1vdmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1yZW1vdmVkIGZnLWRp ZmYtcmVmaW5lLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtcmVtb3Zl ZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3Vz LWFkZGVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAg ICAgICAgICAgICAgIGJnLWRpbSBncmVlbg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1 cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWFk ZGVkIGZnLWRpZmYtYWRkZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5n ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAg ICAgICAgICAgYmctZGltIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1j aGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1j aGFuZ2VkIGZnLWRpZmYtY2hhbmdlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMt cmVtb3ZlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAg ICAgICAgICAgICAgICBiZy1kaW0gcmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3Vz LXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZm LXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1oZWFk aW5nDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAg ICAgICAgICAgIGJnLWFsdCBibHVlLWFsdA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1oZWFk aW5nIGZnLWRpZmYtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJs dWUpKSkpDQotOzs7OzsgbWFyayBpbmRpY2F0b3JzDQotICAgOzsgY29sb3VyIGNvbWJpbmF0aW9u cyBpbnRlbmRlZCBmb3IgRGlyZWQsIElidWZmZXIsIG9yIGVxdWl2YWxlbnQNCi0gICBgKG1vZHVz LXRoZW1lLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1hbHQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6YmFja2dyb3VuZCAsYmctbWFyay1hbHQgOmZvcmVncm91bmQgLGZnLW1hcmstYWx0KSkp DQotICAgYChtb2R1cy10aGVtZS1tYXJrLWRlbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNr Z3JvdW5kICxiZy1tYXJrLWRlbCA6Zm9yZWdyb3VuZCAsZmctbWFyay1kZWwpKSkNCi0gICBgKG1v ZHVzLXRoZW1lLW1hcmstc2VsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJn LW1hcmstc2VsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLXNlbCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUt bWFyay1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi07Ozs7OyBoZWFkaW5nIGxldmVscw0KLSAgIDs7IHN0eWxlcyBmb3IgcmVndWxhciBoZWFk aW5ncyB1c2VkIGluIE9yZywgTWFya2Rvd24sIEluZm8sIGV0Yy4NCi0gICBgKG1vZHVzLXRoZW1l LWhlYWRpbmctMQ0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5n DQotICAgICAgICAgICAgICAgICAxIGZnLW1haW4gbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1u dWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAobW9kdXMtdGhl bWUtaGVhZGluZy0yDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRp bmcNCi0gICAgICAgICAgICAgICAgIDIgZmctc3BlY2lhbC13YXJtIG1hZ2VudGEtYWx0IHJlZC1u dWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zKSkpKQ0KLSAgIGAobW9kdXMtdGhl bWUtaGVhZGluZy0zDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRp bmcNCi0gICAgICAgICAgICAgICAgIDMgZmctc3BlY2lhbC1jb2xkIGJsdWUgYmx1ZS1udWFuY2Vk LWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0yKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVh ZGluZy00DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0g ICAgICAgICAgICAgICAgIDQgZmctc3BlY2lhbC1taWxkIGN5YW4gY3lhbi1udWFuY2VkLWJnIGJn LXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy01 DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAg ICAgICAgICAgIDUgZmctc3BlY2lhbC1jYWxtIGdyZWVuLWFsdC1vdGhlciBncmVlbi1udWFuY2Vk LWJnIGJnLXJlZ2lvbikpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNg0KLSAgICAgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA2 IHllbGxvdy1udWFuY2VkIHllbGxvdy1hbHQtb3RoZXIgeWVsbG93LW51YW5jZWQtYmcgYmctcmVn aW9uKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy03DQotICAgICAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDcgcmVkLW51YW5j ZWQgcmVkLWFsdCByZWQtbnVhbmNlZC1iZyBiZy1yZWdpb24pKSkpDQotICAgYChtb2R1cy10aGVt ZS1oZWFkaW5nLTgNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGlu Zw0KLSAgICAgICAgICAgICAgICAgOCBmZy1kaW0gbWFnZW50YSBiZy1hbHQgYmctcmVnaW9uKSkp KQ0KLTs7Ozs7IG90aGVyIGN1c3RvbSBmYWNlcw0KLSAgIGAobW9kdXMtdGhlbWUtaGwtbGluZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1obC1s aW5lDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YmctaGwtbGluZS1pbnRlbnNlIGJnLWhsLWxpbmUpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkp KSkNCi07Ozs7IHN0YW5kYXJkIGZhY2VzDQotOzs7OzsgYWJzb2x1dGUgZXNzZW50aWFscw0KLSAg IGAoZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChmcmluZ2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1mcmluZ2UgYmctaW5h Y3RpdmUgYmctYWN0aXZlKQ0KLSAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYCh2ZXJ0aWNhbC1ib3JkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdp bmRvdy1kaXZpZGVyLWlubmVyKSkpDQotOzs7OzsgYmFzaWMgYW5kL29yIHVuZ3JvdXBlZCBzdHls ZXMNCi0gICA7OyBNb2RpZnkgdGhlIGBib2xkJyBmYWNlIHRvIGNoYW5nZSB0aGUgd2VpZ2h0IG9m IGFsbCAiYm9sZCIgZWxlbWVudHMNCi0gICA7OyBkZWZpbmVkIGJ5IHRoZSB0aGVtZS4gIFlvdSBu ZWVkIGEgdHlwZWZhY2UgdGhhdCBzdXBwb3J0cyBhDQotICAgOzsgbXVsdGl0dWRlIG9mIGhlYXZp ZXIgd2VpZ2h0cyB0aGFuIHRoZSByZWd1bGFyIG9uZSBhbmQgdGhlbiB5b3UNCi0gICA7OyBtdXN0 IHNwZWNpZnkgdGhlIGV4YWN0IG5hbWUgb2YgdGhlIG9uZSB5b3Ugd2lzaCB0byBhcHBseS4gIEV4 YW1wbGUNCi0gICA7OyBmb3IgeW91ciBpbml0LmVsOg0KLSAgIDs7DQotICAgOzsgKHNldC1mYWNl LWF0dHJpYnV0ZSAnYm9sZCBuaWwgOndlaWdodCAnc2VtaWJvbGQpDQotICAgYChib2xkICgoLGNs YXNzIDp3ZWlnaHQgYm9sZCkpKQ0KLSAgIGAoY29taW50LWhpZ2hsaWdodC1pbnB1dCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChjb21pbnQtaGlnaGxpZ2h0LXByb21wdCAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4NCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlLWFsdA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1yZWZpbmUtYmcgZmct bWFpbikpKSkNCi0gICBgKGVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAoZXNjYXBlLWdseXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2Nh cGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKGZpbGUtbmFtZS1zaGFkb3cgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoaGVhZGVyLWxpbmUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChoZWFk ZXItbGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJs dWUpKSkNCi0gICBgKGhlbHAtYXJndW1lbnQtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh biA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChob21vZ2x5cGggKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAgIGAoaWJ1ZmZlci1s b2NrZWQtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQot ICAgYChpdGFsaWMgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobm9icmVhay1oeXBo ZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAg IGAobm9icmVhay1zcGFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29u c3RydWN0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWluaWJ1ZmZlci1wcm9tcHQgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGN5YW4tYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjeWFuLW51YW5jZWQtYmcgY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY3lhbi1yZWZpbmUtYmcgZmctbWFpbikpKSkNCi0gICBgKG1tLWNvbW1hbmQtb3V0cHV0 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChtbS11dS1leHRy YWN0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt bWlsZCkpKQ0KLSAgIGAobmV4dC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtcmVkKSkpDQotICAgYChyZWN0YW5nbGUtcHJldmlldyAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHJlZ2lvbiAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctcmVnaW9uIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzZWNvbmRhcnkt c2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoc2hhZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHN1Y2Nl c3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHRy YWlsaW5nLXdoaXRlc3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkp DQotICAgYCh3YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLTs7Ozs7IGJ1dHRvbnMsIGxpbmtzLCB3aWRnZXRzDQotICAgYChidXR0b24gKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgLEAo dW5sZXNzIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgKGxpc3QgOnVuZGVybGluZSB0KSkpKSkNCi0gICBgKGxpbmsgKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChsaW5rLXZpc2l0ZWQgKCgsY2xhc3MgOmluaGVy aXQgbGluayA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHRvb2x0aXAg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAod2lkZ2V0LWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0g ICBgKHdpZGdldC1idXR0b24tcHJlc3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHdpZGdldC1kb2N1bWVudGF0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAod2lkZ2V0LWZpZWxkICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAod2lkZ2V0LWluYWN0aXZl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCi0gICBgKHdpZGdldC1zaW5nbGUtbGluZS1maWVsZCAoKCxjbGFzcyA6aW5oZXJpdCB3 aWRnZXQtZmllbGQpKSkNCi07Ozs7OyBhZw0KLSAgIGAoYWctaGl0LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoYWctbWF0Y2gtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBhbGVydA0KLSAg IGAoYWxlcnQtaGlnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1hbHQpKSkNCi0gICBgKGFsZXJ0LWxvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQpKSkNCi0gICBgKGFsZXJ0LW1vZGVyYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChhbGVydC10cml2aWFsLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoYWxlcnQtdXJn ZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2Up KSkNCi07Ozs7OyBhbGwtdGhlLWljb25zDQotICAgYChhbGwtdGhlLWljb25zLWJsdWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtYmx1ZS1hbHQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLWN5YW4g KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtY3lhbi1h bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25z LWRibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxs LXRoZS1pY29ucy1kY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGFsbC10aGUtaWNvbnMtZGdyZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZGlyZWQtZGlyLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZG1hcm9vbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMt ZG9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxs LXRoZS1pY29ucy1kcGluayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAo YWxsLXRoZS1pY29ucy1kcHVycGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKGFsbC10aGUtaWNvbnMtZHNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChhbGwtdGhlLWljb25zLWR5ZWxsb3cgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1ncmVlbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbGJsdWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxjeWFuICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29u cy1sZ3JlZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KLSAgIGAo YWxsLXRoZS1pY29ucy1sbWFyb29uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmlu ZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sb3JhbmdlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxwaW5rICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1scHVy cGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxs LXRoZS1pY29ucy1scmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQot ICAgYChhbGwtdGhlLWljb25zLWxzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1seWVsbG93ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLW1hcm9vbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1vcmFuZ2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtcGlu ayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1w dXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChhbGwtdGhl LWljb25zLXB1cnBsZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQotICAgYChhbGwtdGhlLWljb25zLXJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChhbGwtdGhlLWljb25zLXJlZC1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMteWVsbG93ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBhbm5vdGF0ZQ0KLSAgIGAoYW5ub3RhdGUtYW5u b3RhdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAg IGAoYW5ub3RhdGUtYW5ub3RhdGlvbi1zZWNvbmRhcnkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChhbm5vdGF0ZS1oaWdobGlnaHQgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxibHVlLWludGVuc2UpKSkN Ci0gICBgKGFubm90YXRlLWhpZ2hsaWdodC1zZWNvbmRhcnkgKCgsY2xhc3MgOmJhY2tncm91bmQg LGdyZWVuLW51YW5jZWQtYmcgOnVuZGVybGluZSAsZ3JlZW4taW50ZW5zZSkpKQ0KLTs7Ozs7IGFu enUNCi0gICBgKGFuenUtbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtY3lhbikpKQ0KLSAgIGAoYW56dS1tYXRjaC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoYW56dS1tYXRjaC0zICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cpKSkNCi0gICBgKGFuenUtbW9kZS1saW5lICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoYW56 dS1tb2RlLWxpbmUtbm8tbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KLSAgIGAoYW56dS1yZXBsYWNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYW56 dS1yZXBsYWNlLXRvICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu IGJvbGQpKSkpDQotOzs7OzsgYXByb3Bvcw0KLSAgIGAoYXByb3Bvcy1mdW5jdGlvbi1idXR0b24g KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLSAgIGAoYXByb3Bvcy1rZXliaW5kaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGFwcm9wb3MtbWlzYy1idXR0b24gKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXByb3Bvcy1w cm9wZXJ0eSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGFwcm9wb3Mtc3ltYm9sICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlcikpKQ0KLSAgIGAoYXByb3Bvcy11c2VyLW9wdGlvbi1idXR0b24gKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFwcm9wb3Mt dmFyaWFibGUtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KLTs7Ozs7IGFwdC1zb3VyY2VzLWxpc3QNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3QtY29t cG9uZW50cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYXB0LXNvdXJjZXMt bGlzdC1vcHRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGFwdC1z b3VyY2VzLWxpc3Qtc3VpdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChh cHQtc291cmNlcy1saXN0LXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0g ICBgKGFwdC1zb3VyY2VzLWxpc3QtdXJpICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQot Ozs7OzsgYXJ0Ym9sbG9ja3MtbW9kZQ0KLSAgIGAoYXJ0Ym9sbG9ja3MtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctbm90ZSkpKQ0KLSAg IGAoYXJ0Ym9sbG9ja3MtbGV4aWNhbC1pbGx1c2lvbnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYXJ0 Ym9sbG9ja3MtcGFzc2l2ZS12b2ljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct bnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLXdhcm5pbmcpKSkNCi0gICBgKGFydGJvbGxvY2tz LXdlYXNlbC13b3Jkcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCA6dW5k ZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7OzsgYXVjdGV4IGFuZCBUZXgNCi0gICBgKGZv bnQtbGF0ZXgtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZm9udC1sYXRleC1kb2N0ZXgtZG9jdW1lbnRhdGlvbi1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm9udC1sYXRleC1kb2N0ZXgtcHJlcHJvY2Vzc29yLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtaXRhbGljLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChmb250 LWxhdGV4LW1hdGgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGZvbnQtbGF0ZXgtc2NyaXB0LWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0wLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxi bHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0xLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3Vu ZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMi1mYWNlICgo LGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTMtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpm b3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy00 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNo KSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25p bmctNS1mYWNlICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6 Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlZGF0ZS1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm9udC1sYXRleC1zbGlkZS10aXRsZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZv cmVncm91bmQgLGN5YW4tbnVhbmNlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVt ZS1zY2FsZS00KSkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc3Vic2NyaXB0LWZhY2UgKCgs Y2xhc3MgOmhlaWdodCAwLjk1KSkpDQotICAgYChmb250LWxhdGV4LXN1cGVyc2NyaXB0LWZhY2Ug KCgsY2xhc3MgOmhlaWdodCAwLjk1KSkpDQotICAgYChmb250LWxhdGV4LXZlcmJhdGltLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQotICAgYChmb250LWxhdGV4LXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAodGV4LW1hdGNoICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAodGV4LXZlcmJhdGltICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAodGV4aW5m by1oZWFkaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChUZVgtZXJy b3ItZGVzY3JpcHRpb24tZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24taGVscCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXRleC1zYWlkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24td2Fy bmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7 OyBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQotICAgYChhdXRvLWRpbS1vdGhlci1idWZmZXJzLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLTs7Ozs7IGF2eQ0KLSAgIGAoYXZ5 LWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5k ICxmZy1kaW0pKSkNCi0gICBgKGF2eS1nb3RvLWNoYXItdGltZXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFk LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xk KSkpKQ0KLSAgIGAoYXZ5LWxlYWQtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVt ZS1pbnRlbnNlLWJsdWUgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2UtMSAoKCxjbGFzcyA6 aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFk LWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xk KSkpKQ0KLTs7Ozs7IGF3IChhY2Utd2luZG93KQ0KLSAgIGAoYXctYmFja2dyb3VuZC1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAo YXcta2V5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRl bnNlKSkpDQotICAgYChhdy1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpoZWlnaHQgMS41IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5z ZSkpKQ0KLSAgIGAoYXctbWluaWJ1ZmZlci1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGF3LW1vZGUtbGluZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQpKSkNCi07Ozs7OyBhd2Vzb21lLXRyYXkNCi0gICBgKGF3ZXNvbWUt dHJheS1tb2R1bGUtYXdlc29tZS10YWItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWJhdHRl cnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1idWZmZXItbmFtZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGF3 ZXNvbWUtdHJheS1tb2R1bGUtY2lyY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1kYXRlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChhd2Vz b21lLXRyYXktbW9kdWxlLWV2aWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtZ2l0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYXdlc29t ZS10cmF5LW1vZHVsZS1sYXN0LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1s b2NhdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1tb2RlLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVs ZS1wYXJlbnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1ydm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGJpbmRlcg0K LSAgIGAoYmluZGVyLXNpZGViYXItaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChiaW5kZXItc2lkZWJhci1tYXJrZWQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCi0gICBgKGJpbmRlci1zaWRlYmFyLW1p c3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAo YmluZGVyLXNpZGViYXItdGFncyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7 IGJtDQotICAgYChibS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15 ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJz aW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChibS1mcmluZ2UtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChibS1mcmluZ2UtcGVy c2lzdGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlKSkp DQotICAgYChibS1wZXJzaXN0ZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+ PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotOzs7OzsgYm9uZ28N Ci0gICBgKGJvbmdvLWFsYnVtLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KLSAgIGAoYm9uZ28tYXJ0aXN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFj dGl2ZSkpKQ0KLSAgIGAoYm9uZ28tY3VycmVudGx5LXBsYXlpbmctdHJhY2sgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCkpKQ0KLSAgIGAoYm9uZ28tZWxhcHNlZC10cmFjay1wYXJ0ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAo Ym9uZ28tZmlsbGVkLXNlZWstYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1i ZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoYm9uZ28tbWFya2VkLXRyYWNrICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWFsdCkpKQ0KLSAgIGAoYm9uZ28tbWFya2VkLXRyYWNr LWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1hcmstYWx0KSkpDQotICAgYChib25nby1w bGF5ZWQtdHJhY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCA6c3RyaWtlLXRo cm91Z2ggdCkpKQ0KLSAgIGAoYm9uZ28tdHJhY2stbGVuZ3RoICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYm9uZ28tdHJhY2stdGl0bGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChib25nby11bmZpbGxlZC1zZWVrLWJhciAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotOzs7OzsgYm9vbg0KLSAgIGAoYm9vbi1tb2RlbGluZS1jbWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGJvb24tbW9kZWxpbmUtaW5zICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCi0gICBgKGJvb24tbW9k ZWxpbmUtb2ZmICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkN Ci0gICBgKGJvb24tbW9kZWxpbmUtc3BjICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFj dGl2ZS1ncmVlbikpKQ0KLTs7Ozs7IGJyZWFrcG9pbnQgKGJ1aWx0LWluIGdkYi1taS5lbCkNCi0g ICBgKGJyZWFrcG9pbnQtZGlzYWJsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAoYnJlYWtwb2ludC1lbmFibGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZCkpKQ0KLTs7Ozs7IGJ1ZmZlci1leHBvc2UNCi0gICBgKGJ1ZmZlci1leHBvc2UtYWNl LWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQotICAgYChidWZmZXItZXhwb3NlLW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoYnVmZmVyLWV4cG9zZS1zZWxlY3RlZC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IGNhbGVu ZGFyIGFuZCBkaWFyeQ0KLSAgIGAoY2FsZW5kYXItbW9udGgtaGVhZGVyICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNhbGVuZGFyLXRvZGF5ICgo LGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2FsZW5kYXItd2Vla2RheS1oZWFkZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoY2FsZW5kYXItd2Vla2VuZC1oZWFk ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlhcnkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChkaWFyeS1hbm5pdmVyc2FyeSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlhcnktdGltZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGhvbGlkYXkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgY2FsZncNCi0gICBgKGNmdzpmYWNl LWFubm90YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAg IGAoY2Z3OmZhY2UtZGF5LXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChjZnc6ZmFjZS1kZWZhdWx0LWNvbnRlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWFsdCkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGVmYXVsdC1kYXkgKCgsY2xhc3MgOmluaGVyaXQgKGNm dzpmYWNlLWRheS10aXRsZSBib2xkKSkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGlzYWJsZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChjZnc6ZmFjZS1ncmlkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KLSAgIGAoY2Z3OmZh Y2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGNmdzpmYWNlLWhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS1wZXJpb2RzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2Utc2F0dXJkYXkgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXNl bGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBg KGNmdzpmYWNlLXN1bmRheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2UtdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgLG1v ZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUt NSkpKSkNCi0gICBgKGNmdzpmYWNlLXRvZGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9kYXktdGl0bGUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFjdGl2ZSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9vbGJhciAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGNmdzpmYWNlLXRvb2xiYXIt YnV0dG9uLW9mZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjZnc6ZmFj ZS10b29sYmFyLWJ1dHRvbi1vbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxi bHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGNlbnRhdXItdGFicw0KLSAgIGAoY2Vu dGF1ci10YWJzLWFjdGl2ZS1iYXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctdGFiLWFj dGl2ZSkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KGNlbnRhdXItdGFicy1jbG9zZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRh YnMtc2VsZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1jbG9zZS11bnNlbGVjdGVkICgoLGNs YXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRh YnMtbW9kaWZpZWQtbWFya2VyLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFi cy1zZWxlY3RlZCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLW1vZGlmaWVkLW1hcmtlci11bnNlbGVj dGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQotICAgYChj ZW50YXVyLXRhYnMtZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdy b3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoY2VudGF1ci10YWJzLXNlbGVjdGVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGNlbnRhdXItdGFicy1zZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgaXRhbGlj KSkpDQotICAgYChjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctdGFiLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNlbnRhdXItdGFi cy11bnNlbGVjdGVkLW1vZGlmaWVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3Rp dmUgOmZvcmVncm91bmQgLGZnLWRpbSA6c2xhbnQgaXRhbGljKSkpDQotOzs7OzsgY2hhbmdlLWxv ZyBhbmQgbG9nLXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0K LSAgIGAoY2hhbmdlLWxvZy1hY2tub3dsZWRnbWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChjaGFuZ2UtbG9nLWNvbmRpdGlvbmFscyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGNoYW5nZS1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5nZS1sb2ctZW1haWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGNoYW5nZS1sb2ctZmlsZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLWxpc3QgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLW5h bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGxvZy1lZGl0LWhlYWRlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChsb2ctZWRpdC1z dW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGxvZy1lZGl0LXVua25vd24taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGxvZy12aWV3LWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChsb2ctdmlldy1tZXNzYWdlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBjaWRlcg0KLSAgIGAoY2lkZXItZGVidWctY29kZS1v dmVybGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoY2lkZXIt ZGVidWctcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoY2lkZXItZGVwcmVjYXRlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctZW1waGFz aXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFs aWMpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctbGl0ZXJhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy1zdHJvbmctZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGNp ZGVyLWRvY3ZpZXctdGFibGUtYm9yZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoY2lkZXItZW5saWdodGVuZWQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13 aWR0aCAtMSA6Y29sb3IgLHllbGxvdy1hbHQgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQgLGJnLWRp bSkpKQ0KLSAgIGAoY2lkZXItZW5saWdodGVuZWQtbG9jYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChjaWRlci1lcnJv ci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoY2lkZXItZnJhZ2lsZS1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13 aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKGNpZGVyLWZyaW5nZS1nb29kLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoY2lkZXItaW5zdHJ1bWVudGVkLWZhY2UgKCgs Y2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxyZWQgOnN0eWxlIG5pbCkgOmJhY2tn cm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItcmVhZGVyLWNvbmRpdGlvbmFsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6c2xhbnQgaXRhbGljKSkpDQotICAg YChjaWRlci1yZXBsLWlucHV0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAo Y2lkZXItcmVwbC1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGNpZGVyLXJlcGwtc3RkZXJyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjaWRlci1yZXBsLXN0ZG91dC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaWRlci1yZXN1bHQtb3ZlcmxheS1mYWNl ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSA6c3R5bGUgbmlsKSA6 YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWVycm9yLWNsYXNz LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChj aWRlci1zdGFja3RyYWNlLWVycm9yLW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdC1vdGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJh Y2UtZmlsdGVyLWFjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVyLWluYWN0aXZlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChjaWRlci1zdGFja3RyYWNl LWZuLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoY2lkZXItc3RhY2t0cmFjZS1ucy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1wcm9tb3RlZC1idXR0 b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHls ZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNpZGVyLXN0YWNr dHJhY2Utc3VwcHJlc3NlZC1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAz IDpjb2xvciAsZmctYWx0IDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGNpZGVyLXRlc3QtZXJyb3ItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChjaWRlci10ZXN0 LWZhaWx1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQg Ym9sZCkpKSkNCi0gICBgKGNpZGVyLXRlc3Qtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGNpZGVyLXRyYWNlZC1mYWNlICgo LGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsY3lhbiA6c3R5bGUgbmlsKSA6YmFj a2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci13YXJuaW5nLWhpZ2hsaWdodC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgY2lyY2Ug KGFuZCBsdWkpDQotICAgYChjaXJjZS1mb29sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoY2lyY2UtaGlnaGxpZ2h0LW5pY2stZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaXJjZS1wcm9tcHQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAo Y2lyY2Utc2VydmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0K LSAgIGAobHVpLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAobHVpLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobHVpLXRpbWUtc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotOzs7OzsgY29sb3ItcmcNCi0gICBgKGNvbG9yLXJn LWZvbnQtbG9jay1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNvbW1hbmQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1s b2NrLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stZmxhc2ggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stZnVu Y3Rpb24tbG9jYXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxt KSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtZGlyZWN0b3J5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2Nr LWhlYWRlci1saW5lLWVkaXQtbW9kZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1rZXl3b3JkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9j ay1oZWFkZXItbGluZS10ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0g ICBgKGNvbG9yLXJnLWZvbnQtbG9jay1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stbWFyay1jaGFuZ2Vk ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNvbG9y LXJnLWZvbnQtbG9jay1tYXJrLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stbWF0Y2ggKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxv Y2stcG9zaXRpb24tc3BsaXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7 Ozs7IGNvbHVtbi1lbmZvcmNlLW1vZGUNCi0gICBgKGNvbHVtbi1lbmZvcmNlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLTs7Ozs7IGNvbXBhbnkt bW9kZQ0KLSAgIGAoY29tcGFueS1lY2hvLWNvbW1vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGNvbXBhbnktcHJldmlldyAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNvbXBhbnktcHJldmll dy1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjb21wYW55 LXByZXZpZXctc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2Fs bSkpKQ0KLSAgIGAoY29tcGFueS1zY3JvbGxiYXItYmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS1zY3JvbGxiYXItZmcgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS10ZW1wbGF0ZS1maWVsZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKGNvbXBhbnktdG9v bHRpcCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGNvbXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoY29tcGFu eS10b29sdGlwLWFubm90YXRpb24tc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1jb21tb24gKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGNvbXBhbnkt dG9vbHRpcC1jb21tb24tc2VsZWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChjb21wYW55LXRvb2x0aXAtbW91c2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtc2VhcmNoICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xkKSkpKQ0KLSAgIGAoY29tcGFu eS10b29sdGlwLXNlYXJjaC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWludGVuc2UtZ3JlZW4gYm9sZCkgOnVuZGVybGluZSB0KSkpDQotICAgYChjb21wYW55LXRvb2x0 aXAtc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBi b2xkKSkpKQ0KLTs7Ozs7IGNvbXBhbnktcG9zZnJhbWUNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUt YWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxi Zy1hY3RpdmUgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChjb21wYW55LXBvc2Zy YW1lLWluYWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUtbWV0YWRh dGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFj dGl2ZSkpKQ0KLTs7Ozs7IGNvbXBpbGF0aW9uIGZlZWRiYWNrDQotICAgYChjb21waWxhdGlvbi1j b2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoY29tcGlsYXRpb24tZXJyb3IgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1i b2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY29tcGlsYXRpb24taW5mbyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChjb21waWxhdGlv bi1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot ICAgYChjb21waWxhdGlvbi1tb2RlLWxpbmUtZXhpdCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGNv bXBpbGF0aW9uLW1vZGUtbGluZS1mYWlsICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt Ym9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChjb21waWxhdGlv bi1tb2RlLWxpbmUtcnVuICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWln aHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGlsYXRpb24td2Fy bmluZyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotOzs7OzsgY29tcGxldGlvbnMNCi0gICBgKGNvbXBsZXRpb25zLWFu bm90YXRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoY29tcGxldGlvbnMtY29tbW9uLXBhcnQgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1udWFuY2VkLWJn DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1i ZyBjeWFuLXJlZmluZS1mZykpKSkNCi0gICBgKGNvbXBsZXRpb25zLWZpcnN0LWRpZmZlcmVuY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 IGJsdWUtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWludGVuc2UtYmcgZmctbWFpbikpKSkNCi07Ozs7OyBjb3Vuc2VsDQot ICAgYChjb3Vuc2VsLWFjdGl2ZS1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAoY291bnNlbC1hcHBsaWNhdGlvbi1uYW1lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLWtleS1iaW5kaW5nICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChj b3Vuc2VsLW91dGxpbmUtMSAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTEpKSkNCi0gICBgKGNv dW5zZWwtb3V0bGluZS0yICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtMikpKQ0KLSAgIGAoY291 bnNlbC1vdXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS0zKSkpDQotICAgYChjb3Vu c2VsLW91dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTQpKSkNCi0gICBgKGNvdW5z ZWwtb3V0bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNSkpKQ0KLSAgIGAoY291bnNl bC1vdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS02KSkpDQotICAgYChjb3Vuc2Vs LW91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTcpKSkNCi0gICBgKGNvdW5zZWwt b3V0bGluZS04ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtOCkpKQ0KLSAgIGAoY291bnNlbC1v dXRsaW5lLWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLXZhcmlhYmxlLWRvY3VtZW50YXRpb24gKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLTs7Ozs7IGNvdW5zZWwtY3NzDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0 aC1mYWNlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNvdW5zZWwtY3Nz LXNlbGVjdG9yLWRlcHRoLWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbikpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS00ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRl cHRoLWZhY2UtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoY291bnNl bC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci07Ozs7OyBjb3Vuc2VsLW5vdG11Y2gNCi0gICBgKGNvdW5zZWwtbm90bXVjaC1jb3VudC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtZGF0 ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjb3Vuc2VsLW5vdG11 Y2gtcGVvcGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGNv dW5zZWwtbm90bXVjaC1zdWJqZWN0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotOzs7OzsgY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCi0gICBgKGNv dW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nLXRlbXBsYXRlLWJvZHktZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgY292DQotICAgYChjb3YtY292ZXJh Z2Utbm90LXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAg IGAoY292LWNvdmVyYWdlLXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRl bnNlKSkpDQotICAgYChjb3YtaGVhdnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1pbnRlbnNlKSkpDQotICAgYChjb3YtbGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1pbnRlbnNlKSkpDQotICAgYChjb3YtbWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1pbnRlbnNlKSkpDQotICAgYChjb3Ytbm9uZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWludGVuc2UpKSkNCi07Ozs7OyBjcGVybC1tb2RlDQotICAgYChjcGVybC1ub25v dmVycmlkYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkp DQotICAgYChjcGVybC1hcnJheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGNwZXJsLWhhc2gt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLHJlZC1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGNzdi1tb2Rl DQotICAgYChjc3Ytc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNp YWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGN0cmxmDQotICAgYChjdHJs Zi1oaWdobGlnaHQtYWN0aXZlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNl LWdyZWVuIGJvbGQpKSkpDQotICAgYChjdHJsZi1oaWdobGlnaHQtbGluZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChjdHJsZi1oaWdobGlnaHQtcGFzc2l2 ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7Ozs7IGN1 c3RvbSAoTS14IGN1c3RvbWl6ZSkNCi0gICBgKGN1c3RvbS1idXR0b24gKCgsY2xhc3MgOmJveCAo OmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKGN1c3RvbS1idXR0b24tbW91c2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91 bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY3VzdG9tLWJ1dHRvbi1wcmVzc2VkICgoLGNsYXNzIDpi b3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcHJlc3NlZC1idXR0b24pDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY3VzdG9tLWNoYW5nZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGN1c3RvbS1jb21tZW50ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGN1c3RvbS1jb21tZW50LXRhZyAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVy KSkpDQotICAgYChjdXN0b20tZmFjZS10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChjdXN0b20tZ3JvdXAtdGFnICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKGN1c3RvbS1n cm91cC10YWctMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKGN1c3RvbS1pbnZhbGlkICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAoY3VzdG9tLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChjdXN0b20tcm9ndWUgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGN1c3RvbS1zZXQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjdXN0b20tc3RhdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjdXN0b20tdGhlbWVk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChjdXN0 b20tdmFyaWFibGUtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4p KSkNCi07Ozs7OyBkYXAtbW9kZQ0KLSAgIGAoZGFwLW1vdXNlLWV2YWwtdGhpbmctZmFjZSAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUtYWN0aXZlIDpzdHlsZSBuaWwp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxi Zy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRhcC1yZXN1bHQtb3Zlcmxh eS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmctYWN0aXZlIDpz dHlsZSBuaWwpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dy b3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkYXAtdWktYnJl YWtwb2ludC12ZXJpZmllZC1mcmluZ2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkYXAtdWktY29tcGlsZS1lcnJsaW5lICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYChkYXAtdWkt bG9jYWxzLXNjb3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGRhcC11aS1sb2NhbHMtdmFyaWFibGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkYXAtdWkt bG9jYWxzLXZhcmlhYmxlLWxlYWYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZGFwLXVpLW1hcmtlci1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChkYXAtdWktc2Vzc2lv bnMtc3RhY2stZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KLSAgIGAoZGFwLXVpLXNlc3Npb25zLXRlcm1pbmF0ZWQtYWN0aXZlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChk YXAtdWktc2Vzc2lvbnMtdGVybWluYXRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi07Ozs7OyBkYXNoYm9hcmQgKGVtYWNzLWRhc2hib2FyZCkNCi0gICBgKGRhc2hib2Fy ZC1iYW5uZXItbG9nby10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGRhc2hib2FyZC1mb290ZXIgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChkYXNoYm9hcmQt aGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi0gICBgKGRhc2hib2FyZC1uYXZpZ2F0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChkYXNoYm9hcmQtdGV4dC1iYW5uZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IGRlYWRncmVwDQotICAgYChkZWFkZ3JlcC1maWxl bmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAoZGVhZGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGRlYWRncmVwLW1ldGEtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWFkZ3JlcC1yZWdleHAtbWV0YWNoYXIt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkp KQ0KLSAgIGAoZGVhZGdyZXAtc2VhcmNoLXRlcm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotOzs7OzsgZGViYnVncw0KLSAgIGAoZGVi YnVncy1nbnUtYXJjaGl2ZWQgKCgsY2xhc3MgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAoZGVi YnVncy1nbnUtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWJi dWdzLWdudS1mb3J3YXJkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KLSAgIGAoZGViYnVncy1nbnUtaGFuZGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKGRlYmJ1Z3MtZ251LW5ldyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYChkZWJidWdzLWdudS1wZW5kaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChkZWJidWdzLWdudS1zdGFsZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVh bmNlZCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0KSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS00ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS01ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkZWJidWdzLWdudS10YWdnZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgZGVmaW5lLXdvcmQN Ci0gICBgKGRlZmluZS13b3JkLWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkp DQotICAgYChkZWZpbmUtd29yZC1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi07Ozs7OyBkZWZ0DQotICAgYChkZWZ0LWZpbHRlci1zdHJpbmctZXJyb3ItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChkZWZ0LWZpbHRl ci1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAg IGAoZGVmdC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRlZnQtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGVmdC1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChkZWZ0 LXRpbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChkZWZ0LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLTs7Ozs7IGRpY3Rpb25hcnkNCi0gICBgKGRpY3Rpb25hcnktYnV0dG9uLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYChkaWN0aW9uYXJ5LXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGRpY3Rpb25hcnktd29yZC1kZWZp bml0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpY3Rp b25hcnktd29yZC1lbnRyeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGRpZmYtaGwNCi0gICBgKGRp ZmYtaGwtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cp KSkNCi0gICBgKGRpZmYtaGwtZGVsZXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS1yZWQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0 IGRpZmYtaGwtY2hhbmdlKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWRlbGV0ZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaWZmLWhsLWRlbGV0ZSkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1pZ25vcmVkICgo LGNsYXNzIDppbmhlcml0IGRpcmVkLWlnbm9yZWQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtaW5z ZXJ0ICgoLGNsYXNzIDppbmhlcml0IGRpZmYtaGwtaW5zZXJ0KSkpDQotICAgYChkaWZmLWhsLWRp cmVkLXVua25vd24gKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KLSAgIGAoZGlm Zi1obC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkp DQotICAgYChkaWZmLWhsLXJldmVydGVkLWh1bmstaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSBib2xkKSkpKQ0KLTs7Ozs7IGRpZmYtbW9kZQ0K LSAgIGAoZGlmZi1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVk KSkpDQotICAgYChkaWZmLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlm Zi1jaGFuZ2VkKSkpDQotICAgYChkaWZmLWNvbnRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCkpKQ0KLSAgIGAoZGlmZi1maWxlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaWZmLWZ1bmN0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGRpZmYtaGVhZGVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGRpZmYtaHVuay1oZWFkZXIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nKSkpDQotICAgYChkaWZmLWlu ZGV4ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAg YChkaWZmLWluZGljYXRvci1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWFkZGVkKSkpDQot ICAgYChkaWZmLWluZGljYXRvci1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IGRpZmYtY2hhbmdl ZCkpKQ0KLSAgIGAoZGlmZi1pbmRpY2F0b3ItcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZm LXJlbW92ZWQpKSkNCi0gICBgKGRpZmYtbm9uZXhpc3RlbnQgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLW5ldXRyYWwgYm9sZCkpKSkNCi0gICBgKGRpZmYtcmVmaW5lLWFkZGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYChkaWZm LXJlZmluZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5l LWNoYW5nZWQpKSkNCi0gICBgKGRpZmYtcmVmaW5lLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KLSAgIGAoZGlmZi1yZW1vdmVkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLTs7Ozs7IGRpbS1h dXRvbG9hZA0KLSAgIGAoZGltLWF1dG9sb2FkLWNvb2tpZS1saW5lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGRpci10cmVl dmlldw0KLSAgIGAoZGlyLXRyZWV2aWV3LWFyY2hpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChkaXItdHJlZXZpZXctYXJjaGl2ZS1pY29uLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpci10cmVldmlldy1hdWRpby1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChkaXItdHJlZXZpZXctYXVkaW8taWNvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1jb250cm9sLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWNvbnRy b2wtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGlnaHQpKSkNCi0gICBgKGRpci10 cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmYW1pbHkg IkZvbnQgQXdlc29tZSIgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3 LWRlZmF1bHQtZmlsZW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotICAgYChkaXItdHJlZXZpZXctZGlyZWN0b3J5LWljb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1pY29uLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctaW1hZ2UtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZp ZXctaW1hZ2UtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0 LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXct aW5kZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRy ZWV2aWV3LWxhYmVsLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaGlnaGxpZ2h0KSkpDQot ICAgYChkaXItdHJlZXZpZXctc3RhcnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXN5bWxpbmstZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGRpci10 cmVldmlldy12aWRlby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXZpZGVvLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotOzs7OzsgZGlyZWQNCi0gICBgKGRpcmVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZGlyZWQtZmxhZ2dlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWQtaGVhZGVyICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCi0gICBgKGRpcmVkLWlnbm9yZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyZWQtbWFyayAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAoZGlyZWQtbWFya2Vk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChkaXJlZC1w ZXJtLXdyaXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KGRpcmVkLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KLSAgIGAoZGlyZWQtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBkaXJlZC1hc3luYw0KLSAgIGAoZGlyZWQtYXN5bmMt ZmFpbHVyZXMgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZv cmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRpcmVkLWFzeW5jLW1lc3NhZ2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGdyZWVu LWFjdGl2ZSkpKQ0KLSAgIGAoZGlyZWQtYXN5bmMtbW9kZS1tZXNzYWdlICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkp KQ0KLTs7Ozs7IGRpcmVkLWdpdA0KLSAgIGAoZGlyZWQtZ2l0LWJyYW5jaC1lbHNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkaXJlZC1n aXQtYnJhbmNoLW1hc3RlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGRpcmVkLWdpdC1pbmZvDQotICAgYChkZ2ktY29tbWl0 LW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQot Ozs7OzsgZGlyZWQtbmFycm93DQotICAgYChkaXJlZC1uYXJyb3ctYmxpbmsgKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQpKSkpDQotOzs7OzsgZGlyZWQtc3Vi dHJlZQ0KLSAgIDs7IHJlbW92ZSBiYWNrZ3JvdW5kIGZyb20gZGlyZWQtc3VidHJlZSwgZWxzZSBp dCBicmVha3MNCi0gICA7OyBkaXJlZC17ZmxhZ2dlZCxtYXJrZWR9IGFuZCBhbnkgb3RoZXIgZmFj ZSB0aGF0IHNldHMgYSBiYWNrZ3JvdW5kDQotICAgOzsgc3VjaCBhcyBobC1saW5lDQotICAgYChk aXJlZC1zdWJ0cmVlLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi0g ICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkp KQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg bmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC02LWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgbmlsKSkpDQotOzs7OzsgZGlyZWRmbA0KLSAgIGAoZGlyZWRmbC1hdXRv ZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotICAgYChkaXJlZGZsLWNvbXByZXNzZWQtZmlsZS1zdWZmaXgg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRpcmVkZmwtZGF0ZS10aW1l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyZWRmbC1k ZWxldGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAo ZGlyZWRmbC1kZWxldGlvbi1maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt bWFyay1kZWwpKSkNCi0gICBgKGRpcmVkZmwtZGlyLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyZWRmbC1kaXItbmFtZSAoKCxj bGFzcyA6aW5oZXJpdCBkaXJlZC1kaXJlY3RvcnkpKSkNCi0gICBgKGRpcmVkZmwtZGlyLXByaXYg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChkaXJlZGZsLWV4ZWMtcHJp diAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZGlyZWRmbC1leGVjdXRh YmxlLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRpcmVk ZmwtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkaXJl ZGZsLWZpbGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkaXJl ZGZsLWZsYWctbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0K LSAgIGAoZGlyZWRmbC1mbGFnLW1hcmstbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1tYXJrLXNlbCkpKQ0KLSAgIGAoZGlyZWRmbC1pZ25vcmVkLWZpbGUtbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZsLWxpbmstcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGRpcmVkZmwtbm8tcHJpdiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZsLW51bWJlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGRpcmVkZmwtb3RoZXItcHJpdiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkaXJlZGZsLXJhcmUtcHJpdiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1yZWFkLXByaXYgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpcmVkZmwtc3ltbGluayAoKCxj bGFzcyA6aW5oZXJpdCBkaXJlZC1zeW1saW5rKSkpDQotICAgYChkaXJlZGZsLXRhZ2dlZC1hdXRv ZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkp DQotICAgYChkaXJlZGZsLXdyaXRlLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkN Ci07Ozs7OyBkaXNrLXVzYWdlDQotICAgYChkaXNrLXVzYWdlLWNoaWxkcmVuICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpc2stdXNhZ2UtaW5hY2Nlc3NpYmxlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZGlzay11c2FnZS1w ZXJjZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZGlzay11c2FnZS1z aXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkaXNrLXVzYWdlLXN5bWxp bmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChk aXNrLXVzYWdlLXN5bWxpbmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgZG9vbS1tb2RlbGluZQ0KLSAgIGAoZG9vbS1tb2Rl bGluZS1iYXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0g ICBgKGRvb20tbW9kZWxpbmUtYmFyLWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1p bmFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0 ZXJ5LWNoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBg KGRvb20tbW9kZWxpbmUtYmF0dGVyeS1jcml0aWNhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktZXJy b3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAtMikNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWZ1bGwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktbm9ybWFsICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0 dGVyeS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1h Y3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1 ZmZlci1tYWpvci1tb2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1taW5vci1tb2RlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXIt bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLXBhdGggKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWRlYnVn ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0g ICBgKGRvb20tbW9kZWxpbmUtZGVidWctdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1lbWFjcy1z dGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkp KQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLWluc2VydC1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUt ZXZpbC1tb3Rpb24tc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct aW5hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1ub3JtYWwtc3RhdGUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1v ZGVsaW5lLWV2aWwtb3BlcmF0b3Itc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1yZXBsYWNlLXN0 YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0g ICBgKGRvb20tbW9kZWxpbmUtZXZpbC12aXN1YWwtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtaGlnaGxp Z2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQot ICAgYChkb29tLW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAo ZG9vbS1tb2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtbHNwLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtbHNwLXN1Y2Nlc3Mg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAg YChkb29tLW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGFuZWwgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGRvb20tbW9kZWxp bmUtcGVyc3AtYnVmZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LWFjdGl2ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXBlcnNwLW5hbWUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1w cm9qZWN0LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LXBhcmVudC1kaXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXByb2plY3Qtcm9v dC1kaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2Rl bGluZS11bnJlYWQtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUgOnNsYW50 IGl0YWxpYykpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS11cmdlbnQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS13YXJu aW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkN Ci07Ozs7OyBkeW5hbWljLXJ1bGVyDQotICAgYChkeW5hbWljLXJ1bGVyLW5lZ2F0aXZlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAgYChk eW5hbWljLXJ1bGVyLXBvc2l0aXZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS15ZWxsb3cpKSkNCi07Ozs7OyBlYXN5LWpla3lsbA0KLSAgIGAoZWFzeS1qZWt5bGwt aGVscC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotOzs7OzsgZWFzeS1raWxsDQotICAgYChlYXN5LWtpbGwtb3JpZ2luICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGVhc3kta2ls bC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykp KQ0KLTs7Ozs7IGViZGINCi0gICBgKGViZGItYWRkcmVzcy1kZWZhdWx0ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlYmRiLWRiLWNoYXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZWJkYi1kZWZ1bmN0ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGViZGItZmllbGQtaGlkZGVuICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlYmRiLWZpZWxkLXVybCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZWJkYi1sYWJlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIpKSkNCi0gICBgKGViZGItbWFpbC1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChlYmRiLW1haWwtcHJpbWFyeSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGViZGItbWFya2VkICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBgKGViZGItb3JnYW5pemF0aW9uLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZWJkYi1wZXJzb24tbmFt ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGViZGIt cGhvbmUtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot ICAgYChlYmRiLXJvbGUtZGVmdW5jdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChlaWVpby1jdXN0b20tc2xvdC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KLTs7Ozs7IGVkaWZmDQotICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRo ZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0aGUNCi0gICA7OyBtb2R1cy10aGVtZS1kaWZm LSogZmFjZXMuDQotICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJnLWRpbSByZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRp ZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZC1udWFuY2VkLWJnIHJlZC1mYWludCkpKSkNCi0gICBgKGVkaWZmLWN1cnJl bnQtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmctc3Bl Y2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ymctc3BlY2lhbC1jb2xkIGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlKSkpKQ0KLSAgIGAoZWRp ZmYtY3VycmVudC1kaWZmLUIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZ3JlZW4NCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1h ZGRlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNl ZC1iZyBncmVlbi1mYWludCkpKSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1DICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctZGltIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgeWVsbG93LWZhaW50KSkp KQ0KLSAgIGAoZWRpZmYtZXZlbi1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYt bmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAoZWRpZmYt ZXZlbi1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwt MiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2ZW4tZGlm Zi1CICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAs ZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2ZW4tZGlmZi1DICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFs LTIpKSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aWZmLWZvY3VzLXJlbW92ZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKQ0K LSAgIGAoZWRpZmYtZmluZS1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGlmZi1mb2N1cy1hZGRlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1h ZGRlZCkpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpZmYtZm9jdXMtY2hhbmdlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkp DQotICAgYChlZGlmZi1vZGQtZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5l dXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCi0gICBgKGVkaWZmLW9k ZC1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMCA6 Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTApKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUIg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1k aWZmLW5ldXRyYWwtMikpKQ0KLSAgIGAoZWRpZmYtb2RkLWRpZmYtQyAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkp DQotOzs7OzsgZWdsb3QNCi0gICBgKGVnbG90LW1vZGUtbGluZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN Ci07Ozs7OyBlbC1zZWFyY2gNCi0gICBgKGVsLXNlYXJjaC1oaWdobGlnaHQtaW4tcHJvbXB0LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0g ICBgKGVsLXNlYXJjaC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWdyZWVuKSkpDQotICAgYChlbC1zZWFyY2gtb3RoZXItbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYChlbC1zZWFyY2gtb2NjdXItbWF0Y2gg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotOzs7OzsgZWxk b2MNCi0gICA7OyBOT1RFOiBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3B1cmNlbGwvcGFja2FnZS1s aW50L2lzc3Vlcy8xODcNCi0gICAobGlzdCAnZWxkb2MtaGlnaGxpZ2h0LWZ1bmN0aW9uLWFyZ3Vt ZW50IGAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikp KQ0KLTs7Ozs7IGVsZG9jLWJveA0KLSAgIGAoZWxkb2MtYm94LWJvZHkgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZWxkb2MtYm94LWJv cmRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgZWxmZWVkDQotICAg YChlbGZlZWQtbG9nLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN Ci0gICBgKGVsZmVlZC1sb2ctZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1lcnJvci1sZXZlbC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVsZmVlZC1sb2ctaW5mby1sZXZlbC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZWxmZWVkLWxvZy13YXJuLWxldmVsLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1k YXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZWxm ZWVkLXNlYXJjaC1mZWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGVsZmVlZC1zZWFyY2gtZmlsdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtbGFzdC11cGRhdGUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGVsZmVlZC1z ZWFyY2gtdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAg IGAoZWxmZWVkLXNlYXJjaC10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0p KSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtdW5yZWFkLWNvdW50LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC11bnJlYWQtdGl0bGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7 OzsgZWxmZWVkLXNjb3JlDQotICAgYChlbGZlZWQtc2NvcmUtZGF0ZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlbGZlZWQtc2NvcmUtZGVidWctbGV2ZWwtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGVsZmVlZC1z Y29yZS1lcnJvci1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KGVsZmVlZC1zY29yZS1pbmZvLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4p KSkNCi0gICBgKGVsZmVlZC1zY29yZS13YXJuLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGVtbXMNCi0gICBgKGVtbXMtcGxheWxpc3QtdHJhY2stZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZW1tcy1wbGF5bGlzdC1zZWxl Y3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci07Ozs7OyBlbmhhbmNlZC1ydWJ5LW1vZGUNCi0gICBgKGVuaC1ydWJ5LWhlcmVkb2MtZGVsaW1p dGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChl bmgtcnVieS1vcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChl bmgtcnVieS1yZWdleHAtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu KSkpDQotICAgYChlbmgtcnVieS1yZWdleHAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoZW5oLXJ1Ynktc3RyaW5nLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZXJtLXN5bi1lcnJsaW5lICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChlcm0tc3luLXdhcm5saW5lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZXBhDQot ICAgYChlcGEtZmllbGQtYm9keSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoZXBhLWZpZWxkLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQotICAgYChlcGEtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChlcGEtc3RyaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWRpc2FibGVkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKGVwYS12YWxpZGl0eS1oaWdoICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXBh LXZhbGlkaXR5LWxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChlcGEt dmFsaWRpdHktbWVkaXVtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi07Ozs7 OyBlcXVha2UNCi0gICBgKGVxdWFrZS1idWZmZXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUt ZXNoZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWN0aXZlKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlwZS1yYXNoICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZXF1 YWtlLXNoZWxsLXR5cGUtc2hlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpm b3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtdGVybSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXZ0ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGVxdWFr ZS10YWItYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJn LWFsdCkpKQ0KLSAgIGAoZXF1YWtlLXRhYi1pbmFjdGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctaW5hY3RpdmUpKSkNCi07Ozs7OyBlcmMNCi0gICBgKGVyYy1hY3Rpb24tZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlcmMtYm9sZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGVyYy1idXR0b24gKCgsY2xhc3MgOmlu aGVyaXQgYnV0dG9uKSkpDQotICAgYChlcmMtY29tbWFuZC1pbmRpY2F0b3ItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZXJjLWN1cnJl bnQtbmljay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoZXJjLWRhbmdlcm91cy1ob3N0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKGVyYy1kaXJlY3QtbXNnLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVyYy1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXJjLWZvb2wtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGVyYy1oZWFkZXItbGluZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0g ICBgKGVyYy1pbnB1dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0p KSkNCi0gICBgKGVyYy1pbnZlcnNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLWRlZmF1bHQt ZmFjZSA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChlcmMta2V5d29yZC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChlcmMtbXkt bmljay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKGVyYy1teS1uaWNrLXByZWZpeC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVyYy1teS1u aWNrLWZhY2UpKSkNCi0gICBgKGVyYy1uaWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlcmMtbmljay1tc2ctZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZXJjLW5pY2st cHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW5pY2stZGVmYXVsdC1mYWNlKSkpDQot ICAgYChlcmMtbm90aWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkp KQ0KLSAgIGAoZXJjLXBhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQpKSkNCi0gICBgKGVyYy1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXJjLXRpbWVzdGFtcC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGVyYy11bmRlcmxp bmUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNl MCAoKCxjbGFzcyA6YmFja2dyb3VuZCAid2hpdGUiKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFj ZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgImJsYWNrIikpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZh Y2UxMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVy Yy1jb2xvci1mYWNlMTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0K LSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0 bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTMgKCgsY2xhc3MgOmJhY2tncm91bmQg LG1hZ2VudGEtc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTE0ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICJncmF5NjAiKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTE1ICgoLGNs YXNzIDpiYWNrZ3JvdW5kICJncmF5ODAiKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTIgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9y LWZhY2UzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJnKSkpDQotICAgYChi ZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1zdWJ0bGUtYmcpKSkN Ci0gICBgKGJnOmVyYy1jb2xvci1mYWNlNSAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVu c2UtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlNiAoKCxjbGFzcyA6YmFja2dyb3VuZCAs bWFnZW50YS1yZWZpbmUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlNyAoKCxjbGFzcyA6 YmFja2dyb3VuZCAseWVsbG93LXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U4 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWJnKSkpDQotICAgYChiZzplcmMt Y29sb3ItZmFjZTkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXN1YnRsZS1iZykpKQ0KLSAg IGAoZmc6ZXJjLWNvbG9yLWZhY2UwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJ3aGl0ZSIpKSkNCi0g ICBgKGZnOmVyYy1jb2xvci1mYWNlMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAiYmxhY2siKSkpDQot ICAgYChmZzplcmMtY29sb3ItZmFjZTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChmZzplcmMtY29sb3ItZmFjZTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTQgKCgsY2xhc3MgOmZvcmVn cm91bmQgImdyYXk2MCIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTUgKCgsY2xhc3MgOmZv cmVncm91bmQgImdyYXk4MCIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlNCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlNiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGZnOmVyYy1j b2xvci1mYWNlNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAg IGAoZmc6ZXJjLWNvbG9yLWZhY2U4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkp DQotICAgYChmZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KLTs7Ozs7IGVyb3MNCi0gICBgKGVyb3MtcmVzdWx0LW92ZXJsYXktZmFjZSAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3Vu ZCAsZmctZGltKSkpDQotOzs7OzsgZXJ0DQotICAgYChlcnQtdGVzdC1yZXN1bHQtZXhwZWN0ZWQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoZXJ0 LXRlc3QtcmVzdWx0LXVuZXhwZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1yZWQpKSkNCi07Ozs7OyBlc2hlbGwNCi0gICBgKGVzaGVsbC1scy1hcmNoaXZlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChlc2hlbGwt bHMtYmFja3VwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChlc2hl bGwtbHMtY2x1dHRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZXNo ZWxsLWxzLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQotICAgYChlc2hlbGwtbHMtbWlzc2luZyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoZXNoZWxsLWxzLXByb2R1Y3QgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZXNoZWxsLWxzLXJl YWRvbmx5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGVz aGVsbC1scy1zcGVjaWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGVzaGVsbC1scy1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZXNoZWxsLWxzLXVucmVhZGFibGUgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAg IGAoZXNoZWxsLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXByb21wdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBncmVlbi1h bHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVmaW5lLWJnIGZnLW1h aW4pKSkpDQotOzs7OzsgZXNoZWxsLWZyaW5nZS1zdGF0dXMNCi0gICBgKGVzaGVsbC1mcmluZ2Ut c3RhdHVzLWZhaWx1cmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxs LWZyaW5nZS1zdGF0dXMtc3VjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi07 Ozs7OyBlc2hlbGwtZ2l0LXByb21wdA0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYWRkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQt YnJhbmNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxs LWdpdC1wcm9tcHQtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkN Ci0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQtZmFpbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQtc3VjY2Vzcy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtbW9k aWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChlc2hlbGwt Z2l0LXByb21wdC1wb3dlcmxpbmUtY2xlYW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3Jl ZW4tcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtZGlyLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwt Z2l0LXByb21wdC1wb3dlcmxpbmUtbm90LWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LG1hZ2VudGEtcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2Vs bC1icmFuY2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlc2hlbGwt Z2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZGlydHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7Ozs7IGVzaGVsbC1wcm9tcHQtZXh0 cmFzIChlcGUpDQotICAgYChlcGUtZGlyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVwZS1naXQtZGly LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGVwZS1n aXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGVwZS1waXBl bGluZS1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQot ICAgYChlcGUtcGlwZWxpbmUtaG9zdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkp DQotICAgYChlcGUtcGlwZWxpbmUtdGltZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCi0gICBgKGVwZS1waXBlbGluZS11c2VyLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVwZS1yZW1vdGUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGVwZS1z dGF0dXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKGVwZS12ZW52LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmcNCi0g ICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWFsaWFzLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbW1lbnQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChlc2hlbGwtc3ludGF4 LWhpZ2hsaWdodGluZy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctZW52dmFyLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdo dGluZy1pbnZhbGlkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNo ZWxsLXN5bnRheC1oaWdobGlnaHRpbmctbGlzcC1mdW5jdGlvbi1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1zaGVs bC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBldmlsLW1vZGUNCi0gICBgKGV2aWwtZXgtY29t bWFuZHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChl dmlsLWV4LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChldmlsLWV4LWxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuKSkpDQotICAgYChldmlsLWV4LXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChldmlsLWV4LXN1YnN0aXR1dGUtbWF0Y2hl cyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93IDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLXJlcGxhY2VtZW50ICgoLGNsYXNzIDppbmhl cml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotOzs7OzsgZXZpbC1nb2dn bGVzDQotICAgYChldmlsLWdvZ2dsZXMtY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWNvbW1lbnRhcnkt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsKSkpDQotICAgYChldmls LWdvZ2dsZXMtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5l LXJlZCkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWZpbGwtYW5kLW1vdmUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMt aW5kZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkp KQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWpvaW4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1uZXJkLWNvbW1lbnRlci1m YWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1jb21tZW50YXJ5LWZhY2UpKSkNCi0g ICBgKGV2aWwtZ29nZ2xlcy1wYXN0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1jeWFuKSkpDQotICAgYChldmlsLWdvZ2dsZXMtcmVjb3JkLW1hY3JvLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChldmlsLWdv Z2dsZXMtcmVwbGFjZS13aXRoLXJlZ2lzdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1zZXQtbWFya2VyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAg YChldmlsLWdvZ2dsZXMtc2hpZnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMt ZGVmYXVsdC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMtc3Vycm91bmQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2ds ZXMteWFuay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkp DQotOzs7OzsgZXZpbC12aXN1YWwtbWFyay1tb2RlDQotICAgYChldmlsLXZpc3VhbC1tYXJrLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotOzs7 OzsgZXd3DQotICAgYChld3ctaW52YWxpZC1jZXJ0aWZpY2F0ZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZXd3LXZhbGlkLWNlcnRpZmljYXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGV3dy1mb3JtLWNoZWNrYm94ICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFz ZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGV3dy1mb3JtLWZpbGUgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29s b3IgLGZnLWluYWN0aXZlIDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpiYWNrZ3JvdW5kICxiZy1h Y3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGV3dy1mb3JtLXNlbGVjdCAoKCxj bGFzcyA6aW5oZXJpdCBld3ctZm9ybS1jaGVja2JveCkpKQ0KLSAgIGAoZXd3LWZvcm0tc3VibWl0 ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWZpbGUpKSkNCi0gICBgKGV3dy1mb3JtLXRleHQg KCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWluYWN0aXZlIDpzdHlsZSBu b25lKSA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0g ICBgKGV3dy1mb3JtLXRleHRhcmVhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBleWVicm93c2UNCi0gICBgKGV5ZWJyb3dzZS1tb2Rl LWxpbmUtYWN0aXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0 aXZlKSkpDQotOzs7OzsgZmFuY3ktZGFiYnJldg0KLSAgIGAoZmFuY3ktZGFiYnJldi1tZW51LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChmYW5jeS1kYWJicmV2LXByZXZpZXctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmFuY3ktZGFiYnJldi1zZWxlY3Rpb24tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuIGJvbGQpKSkpDQotOzs7 OzsgZmx5Y2hlY2sNCi0gICBgKGZseWNoZWNrLWVycm9yDQotICAgICAoKCwoYXBwZW5kICcoKHN1 cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJs aW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHljaGVj ay1lcnJvci1saXN0LWNoZWNrZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtY29sdW1uLW51bWJlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChmbHljaGVjay1lcnJvci1s aXN0LWVycm9yICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtZmlsZW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaGln aGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi0gICBgKGZs eWNoZWNrLWVycm9yLWxpc3QtaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWlkLXdpdGgtZXhwbGFpbmVyICgoLGNs YXNzIDppbmhlcml0IGZseWNoZWNrLWVycm9yLWxpc3QtaWQgOmJveCB0KSkpDQotICAgYChmbHlj aGVjay1lcnJvci1saXN0LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGZseWNoZWNrLWVycm9yLWxpc3QtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC13YXJuaW5nICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGZseWNoZWNrLWZyaW5nZS1lcnJvciAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChmbHljaGVj ay1mcmluZ2UtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikp KQ0KLSAgIGAoZmx5Y2hlY2stZnJpbmdlLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZmx5Y2hlY2staW5mbw0KLSAgICAgKCgsKGFw cGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAg ICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLW5vdGUgOnN0eWxlIHdhdmUpKQ0KLSAgICAg ICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KGZseWNoZWNrLXZlcmlmeS1zZWxlY3QtY2hlY2tlciAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0 aCAxIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikpKSkNCi0gICBgKGZseWNoZWNr LXdhcm5pbmcNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxl IHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy13YXJu aW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLXdh cm5pbmcgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lDQot ICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBmbHljaGVjay1mcmluZ2UtZXJyb3IpKSkNCi0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGlu ZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdlLWluZm8pKSkNCi0g ICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1ydW5uaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWluYWN0aXZlIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGZseWNoZWNrLWNvbG9y LW1vZGUtbGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdlLXdh cm5pbmcpKSkNCi07Ozs7OyBmbHljaGVjay1pbmRpY2F0b3INCi0gICBgKGZseWNoZWNrLWluZGlj YXRvci1kaXNhYmxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUgOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWVycm9yICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3ItaW5mbyAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkN Ci0gICBgKGZseWNoZWNrLWluZGljYXRvci1ydW5uaW5nICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAoZmx5Y2hlY2staW5kaWNhdG9yLXN1Y2Nlc3MgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5 Y2hlY2staW5kaWNhdG9yLXdhcm5pbmcgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1i b2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07Ozs7OyBmbHljaGVj ay1wb3NmcmFtZQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtYmFja2dyb3VuZC1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJvcmRl ci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGZseWNoZWNrLXBv c2ZyYW1lLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk KSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZseWNoZWNrLXBvc2Zy YW1lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChmbHljaGVjay1wb3NmcmFtZS13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgZmx5bWFrZQ0KLSAgIGAoZmx5bWFr ZS1lcnJvcg0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9y IDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9y IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5bWFrZS1ub3RlDQotICAgICAoKCwoYXBwZW5kICco KHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5k ZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctbm90ZSA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5bWFr ZS13YXJuaW5nDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHls ZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctd2Fy bmluZyA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy13 YXJuaW5nIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGZseXNwZWxsDQotICAgYChmbHlzcGVsbC1k dXBsaWNhdGUNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxl IHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy13YXJu aW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLXdh cm5pbmcgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHlzcGVsbC1pbmNvcnJlY3QNCi0gICAgICgo LChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQot ICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQot ICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkN Ci07Ozs7OyBmbHlzcGVsbC1jb3JyZWN0DQotICAgYChmbHlzcGVsbC1jb3JyZWN0LWhpZ2hsaWdo dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KLTs7 Ozs7IGZseA0KLSAgIGAoZmx4LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0DQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotOzs7OzsgZnJlZXplLWl0 DQotICAgYChmcmVlemUtaXQtc2hvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBmcm9nLW1lbnUNCi0gICBgKGZyb2ct bWVudS1hY3Rpb24ta2V5YmluZGluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dC1vdGhlcikpKQ0KLSAgIGAoZnJvZy1tZW51LWFjdGlvbnMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZnJvZy1tZW51LWJvcmRlciAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChmcm9nLW1lbnUtY2FuZGlkYXRlcy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChmcm9nLW1lbnUtcG9zZnJhbWUtYmFj a2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKGZyb2ct bWVudS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGZv Y3VzDQotICAgYChmb2N1cy11bmZvY3VzZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9j dXNlZCkpKQ0KLTs7Ozs7IGZvbGQtdGhpcw0KLSAgIGAoZm9sZC10aGlzLW92ZXJsYXkgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgZm9udC1sb2Nr DQotICAgYChmb250LWxvY2stYnVpbHRpbi1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQp KSkpDQotICAgYChmb250LWxvY2stY29tbWVudC1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvbnQt bG9jay1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb250LWxvY2stY29uc3RhbnQtZmFjZSAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhl ci1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay1kb2MtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmctc3BlY2lhbC1jb2xkIGN5YW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYChmb250 LWxvY2sta2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQp KSkpDQotICAgYChmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxvdy1mYWludCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1i b2xkLXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdC1vdGhlciByZWQtYWx0LW90 aGVyLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1iYWNrc2xhc2gg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3Ns YXNoKSkpDQotICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkN Ci0gICBgKGZvbnQtbG9jay1zdHJpbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQpKSkpDQotICAgYChmb250LWxvY2stdHlwZS1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1h bHQtZmFpbnQpKSkpDQotICAgYChmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAg IGAoZm9udC1sb2NrLXdhcm5pbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHllbGxvdy1hY3RpdmUgeWVsbG93LWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkN Ci07Ozs7OyBmb3JnZQ0KLSAgIGAoZm9yZ2UtcG9zdC1hdXRob3IgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZm9yZ2UtcG9zdC1kYXRlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGZvcmdlLXRvcGljLWNs b3NlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmb3JnZS10b3BpYy1t ZXJnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMt b3BlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChmb3Jn ZS10b3BpYy11bm1lcmdlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb3JnZS10b3BpYy11bnJlYWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGZvdW50YWluLW1vZGUN Ci0gICBgKGZvdW50YWluLWNoYXJhY3RlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCi0gICBgKGZvdW50YWluLWNvbW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb3VudGFpbi1kaWFsb2cg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChmb3VudGFpbi1tZXRhZGF0 YS1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm91 bnRhaW4tbWV0YWRhdGEtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBg KGZvdW50YWluLW5vbi1wcmludGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChmb3VudGFpbi1ub3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm91bnRhaW4tcGFnZS1icmVhayAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChmb3VudGFpbi1wYWdl LW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVy KSkpDQotICAgYChmb3VudGFpbi1wYXJlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K LSAgIGAoZm91bnRhaW4tc2NlbmUtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZyAo KCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3Jl Z3JvdW5kICxmZy1tYWluDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQp KSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMSAoKCxjbGFzcyA6aW5oZXJpdCAo Ym9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1tYWluDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGZvdW50 YWluLXNlY3Rpb24taGVhZGluZy0yICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVt ZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z Y2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTMpKSkpDQotICAgYChmb3VudGFpbi1zZWN0 aW9uLWhlYWRpbmctMyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFi bGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS0yKSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFk aW5nLTQgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNo KSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVu ZGktdGhlbWUtc2NhbGUtMSkpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy01ICgo LGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZm91bnRhaW4tc3lub3BzaXMgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChmb3VudGFpbi10cmFucyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGdlaXNlcg0KLSAgIGAo Z2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWN1cnJlbnQtYXJnICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQot ICAgYChnZWlzZXItZm9udC1sb2NrLWF1dG9kb2MtaWRlbnRpZmllciAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAg YChnZWlzZXItZm9udC1sb2NrLWRvYy1idXR0b24gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN5YW4tYWx0IGN5YW4tYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZ2Vpc2VyLWZv bnQtbG9jay1kb2MtbGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChnZWlzZXIt Zm9udC1sb2NrLWVycm9yLWxpbmsgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2staW1h Z2UtYnV0dG9uICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVu LWFsdCBncmVlbi1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stcmVwbC1p bnB1dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXJl cGwtb3V0cHV0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9u dC1sb2NrLXJlcGwtcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChnZWlzZXIt Zm9udC1sb2NrLXhyZWYtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGdl aXNlci1mb250LWxvY2steHJlZi1saW5rICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi07Ozs7 OyBnaXQtY29tbWl0DQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtYWN0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0 LWNvbW1pdC1jb21tZW50LWJyYW5jaC1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50 LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1kZXRhY2hlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkp KQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29t bWl0LWNvbW1lbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1kaW0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1rZXl3 b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChnaXQtY29tbWl0LWtu b3duLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYChnaXQtY29tbWl0LW5vbmVtcHR5LXNlY29uZC1saW5lICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1jb21taXQtb3Zlcmxvbmct c3VtbWFyeSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQot ICAgYChnaXQtY29tbWl0LXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKGdpdC1jb21taXQtc3VtbWFyeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQotOzs7OzsgZ2l0LWd1dHRlcg0KLSAgIGAoZ2l0LWd1dHRlcjphZGRl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdp dC1ndXR0ZXI6ZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVk KSkpDQotICAgYChnaXQtZ3V0dGVyOm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1ndXR0ZXI6c2VwYXJhdG9yICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQotICAgYChnaXQtZ3V0dGVyOnVu Y2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0K LTs7Ozs7IGdpdC1ndXR0ZXItZnINCi0gICBgKGdpdC1ndXR0ZXItZnI6YWRkZWQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0dGVyLWZy OmRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAg IGAoZ2l0LWd1dHRlci1mcjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UteWVsbG93KSkpDQotOzs7OzsgZ2l0LXtndXR0ZXIsZnJpbmdlfSsNCi0gICBgKGdpdC1n dXR0ZXIrLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikp KQ0KLSAgIGAoZ2l0LWd1dHRlcistZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtcmVkKSkpDQotICAgYChnaXQtZ3V0dGVyKy1tb2RpZmllZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChnaXQtZ3V0dGVyKy1zZXBh cmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCi0gICBg KGdpdC1ndXR0ZXIrLXVuY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmlu Z2UtbWFnZW50YSkpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcistYWRkZWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0dGVyLWZyKy1kZWxl dGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGdp dC1ndXR0ZXItZnIrLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5n ZS15ZWxsb3cpKSkNCi07Ozs7OyBnaXQtbGVucw0KLSAgIGAoZ2l0LWxlbnMtYWRkZWQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdpdC1sZW5zLWRl bGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChn aXQtbGVucy1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuMSA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAoZ2l0LWxlbnMtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChnaXQtbGVucy1yZW5hbWVkICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBnaXQtcmVi YXNlDQotICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1y ZWJhc2UtY29tbWVudC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLWRpbSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtcmViYXNlLWRl c2NyaXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChnaXQtcmVi YXNlLWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotOzs7Ozsg Z2l0LXRpbWVtYWNoaW5lDQotICAgYChnaXQtdGltZW1hY2hpbmUtY29tbWl0ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGdpdC10aW1l bWFjaGluZS1taW5pYnVmZmVyLWF1dGhvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCi0gICBgKGdpdC10aW1lbWFjaGluZS1taW5pYnVmZmVyLWRldGFpbC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgZ2l0LXdhbGt0cmVl DQotICAgYChnaXQtd2Fsa3RyZWUtY29tbWl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLSAgIGAoZ2l0LXdhbGt0cmVlLXN5bWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdpdC13YWxrdHJlZS10cmVlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBnbnVzDQotICAgYChn bnVzLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKGdudXMtY2l0ZS0x ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTEwICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRl LTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChnbnVz LWNpdGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRl LTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTQg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTYgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS04ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtOSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtYXR0 cmlidXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4gOnNsYW50IGl0YWxpYykpKQ0K LSAgIGAoZ251cy1lbXBoYXNpcy1oaWdobGlnaHQtd29yZHMgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTEgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGdudXMt Z3JvdXAtbWFpbC0xLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K LSAgIGAoZ251cy1ncm91cC1tYWlsLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTItZW1wdHkgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0zICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVz LWdyb3VwLW1haWwtMy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC1sb3cgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtbG93 LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKGdu dXMtZ3JvdXAtbmV3cy0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVu KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0yLWVtcHR5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgIGAoZ251 cy1ncm91cC1uZXdzLTMtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2Vk KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy00LWVtcHR5ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3 cy01ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQot ICAgYChnbnVzLWdyb3VwLW5ld3MtNS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51 YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy02ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTYtZW1wdHkgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLWxvdyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2VkKSkpDQotICAg YChnbnVzLWdyb3VwLW5ld3MtbG93LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1u dWFuY2VkKSkpDQotICAgYChnbnVzLWhlYWRlci1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChnbnVzLWhlYWRlci1mcm9tICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyIDp1bmRlcmxpbmUgbmlsKSkpDQotICAgYChnbnVz LWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ251cy1o ZWFkZXItbmV3c2dyb3VwcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAoZ251cy1oZWFkZXItc3ViamVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItYWdl bnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251 cy1zZXJ2ZXItY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGdudXMtc2VydmVyLWNsb3VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChnbnVzLXNlcnZlci1jbG91ZC1ob3N0ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChnbnVzLXNlcnZl ci1kZW5pZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAg YChnbnVzLXNlcnZlci1vZmZsaW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItb3BlbmVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVzLXNpZ25hdHVyZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMt c3BsYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtc3VtbWFy eS1jYW5jZWxsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCi0g ICBgKGdudXMtc3VtbWFyeS1oaWdoLWFuY2llbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLXN1bW1hcnktaGlnaC1yZWFkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZ251 cy1zdW1tYXJ5LWhpZ2gtdGlja2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXVuZG93bmxvYWRlZCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdudXMt c3VtbWFyeS1oaWdoLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LWFuY2llbnQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LXJl YWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChn bnVzLXN1bW1hcnktbG93LXRpY2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1m ZyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LXVuZG93bmxvYWRlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZyA6c2xhbnQgaXRhbGljKSkpDQot ICAgYChnbnVzLXN1bW1hcnktbG93LXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtYW5j aWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChnbnVz LXN1bW1hcnktbm9ybWFsLXJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoZ251cy1zdW1tYXJ5LW5vcm1hbC10aWNrZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtdW5kb3dubG9hZGVkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtdW5y ZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChnbnVzLXN1bW1hcnkt c2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi07 Ozs7OyBnb2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KLSAgIGAoZ29sZGVuLXJhdGlvLXNjcm9s bC1oaWdobGlnaHQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1i ZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGhlbG0NCi0gICBgKGhlbG0tTS14LWtl eSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLSAgIGAoaGVsbS1hY3Rpb24gKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChoZWxt LWJvb2ttYXJrLWFkZHJlc3Nib29rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkN Ci0gICBgKGhlbG0tYm9va21hcmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGhlbG0tYm9va21hcmstZmlsZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1maWxlLW5vdC1mb3VuZCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KGhlbG0tYm9va21hcmstZ251cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAg IGAoaGVsbS1ib29rbWFyay1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0K LSAgIGAoaGVsbS1ib29rbWFyay1tYW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQp KSkNCi0gICBgKGhlbG0tYm9va21hcmstdzNtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KLSAgIGAoaGVsbS1idWZmZXItYXJjaGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChoZWxtLWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaGVsbS1idWZmZXItZmls ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1idWZmZXItbW9k aWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGhlbG0tYnVm ZmVyLW5vdC1zYXZlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoaGVs bS1idWZmZXItcHJvY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAo aGVsbS1idWZmZXItc2F2ZWQtb3V0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChoZWxtLWJ1ZmZlci1zaXplICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tY2FuZGlkYXRlLW51bWJlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tY2FuZGlkYXRl LW51bWJlci1zdXNwZW5kZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkN Ci0gICBgKGhlbG0tY29taW50LXByb21wdHMtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1jb21pbnQtcHJvbXB0cy1wcm9tcHRpZHgg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWRlbGV0ZS1h c3luYy1tZXNzYWdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotICAgYChoZWxtLWVvYi1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWVzaGVsbC1wcm9tcHRzLWJ1 ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhl bG0tZXNoZWxsLXByb21wdHMtcHJvbXB0aWR4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFj dGl2ZSkpKQ0KLSAgIGAoaGVsbS1ldGFncy1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1k aW0gOnVuZGVybGluZSB0KSkpDQotICAgYChoZWxtLWZmLWJhY2t1cC1maWxlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tZmYtZGVuaWVkICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXJlZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVkKSkpKQ0KLSAgIGAoaGVsbS1mZi1kaXJlY3RvcnkgKCgsY2xh c3MgOmluaGVyaXQgaGVsbS1idWZmZXItZGlyZWN0b3J5KSkpDQotICAgYChoZWxtLWZmLWRpcnMg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0g ICBgKGhlbG0tZmYtZG90dGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1mZi1kb3R0 ZWQtc3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgKGJ1dHRvbiBoZWxtLWZmLWRv dHRlZC1kaXJlY3RvcnkpKSkpDQotICAgYChoZWxtLWZmLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoZWxtLWZmLWZpbGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tZmYtZmlsZS1leHRlbnNpb24gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1mZi1pbnZhbGlk LXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKGhlbG0tZmYtcGlwZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNv bXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJl ZmluZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEpKSkpDQotICAgYChoZWxtLWZmLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeWVsbG93LWFsdC1vdGhlcikpKSkNCi0gICBgKGhlbG0tZmYtc29ja2V0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWZmLXN1aWQg KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1yZWQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0KSkpKQ0KLSAgIGAoaGVsbS1mZi1zeW1s aW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo aGVsbS1mZi10cnVlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN Ci0gICBgKGhlbG0tZ3JlcC1jbWQtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1ncmVwLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLWdyZXAtZmluaXNoICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZ3JlcC1saW5l bm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1n cmVwLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0K LSAgIGAoaGVsbS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLWhlYWRlci1saW5lLWxlZnQtbWFyZ2luICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYCho ZWxtLWhpc3RvcnktZGVsZXRlZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJh LWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtc3VidGxlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLWludGVuc2UtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ2JvbGQpKSkpDQotICAgYChoZWxtLWhpc3RvcnktcmVtb3RlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWxpc3AtY29tcGxldGlvbi1pbmZv ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGhlbG0tbGlz cC1zaG93LWNvbXBsZXRpb24gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93DQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAo aGVsbS1sb2NhdGUtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkN Ci0gICBgKGhlbG0tbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3Vi dGxlLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tbWF0Y2gtaXRlbSAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyKSkpKQ0KLSAgIGAo aGVsbS1taW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtaW5pYnVmZmVyLXByb21w dCkpKQ0KLSAgIGAoaGVsbS1tb2NjdXItYnVmZmVyICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tbW9kZS1wcmVmaXggKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtbWFn ZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVh bmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt YWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAo aGVsbS1ub24tZmlsZS1idWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoaGVsbS1wcmVmYXJnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAg YChoZWxtLXJlc3VtZS1uZWVkLXVwZGF0ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1h bHQtb3RoZXIpKSkpDQotICAgYChoZWxtLXNlbGVjdGlvbiAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbmlsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkp KSkNCi0gICBgKGhlbG0tc2VsZWN0aW9uLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChoZWxtLXRpbWUtem9uZS1jdXJyZW50ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoaGVsbS10aW1lLXpvbmUtaG9tZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVsbS1zb3VyY2UtaGVhZGVy ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVz LXZpdmVuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGhlbG0tdG9wLWNvbHVtbnMgKCgsY2xh c3MgOmluaGVyaXQgaGVsbS1oZWFkZXIpKSkNCi0gICBgKGhlbG0tdWNzLWNoYXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tdmlzaWJsZS1tYXJr ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotOzs7OzsgaGVs bS1scy1naXQNCi0gICBgKGhlbG0tbHMtZ2l0LWFkZGVkLWNvcGllZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxzLWdpdC1hZGRlZC1tb2Rp ZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAo aGVsbS1scy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1scy1naXQtZGVsZXRlZC1hbmQtc3RhZ2Vk LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChoZWxtLWxz LWdpdC1kZWxldGVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChoZWxtLWxzLWdpdC1tb2RpZmllZC1hbmQtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgYChoZWxtLWxzLWdpdC1tb2RpZmllZC1u b3Qtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoaGVs bS1scy1naXQtcmVuYW1lZC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChoZWxtLWxzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgaGVsbS1zd2l0Y2gtc2hlbGwNCi0gICBg KGhlbG0tc3dpdGNoLXNoZWxsLW5ldy1zaGVsbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXJlZmluZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcg0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkp DQotOzs7OzsgaGVsbS14cmVmDQotICAgYChoZWxtLXhyZWYtZmlsZS1uYW1lICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS14 cmVmLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot Ozs7OzsgaGVscGZ1bA0KLSAgIGAoaGVscGZ1bC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLTs7Ozs7IGhpZ2hsaWdodCByZWdpb24gb3IgYWQtaG9j IHJlZ2V4cA0KLSAgIGAoaGktYmxhY2stYiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6 Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoaGktYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGktYmx1 ZS1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAo aGktZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZ3JlZW4g OnVuZGVybGluZSB0KSkpDQotICAgYChoaS1ncmVlbi1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGhpLXBpbmsgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhp LXJlZC1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAg YChoaS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVs bG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChoaWdobGlnaHQtY2hhbmdlcyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWNoYW5n ZXMtZGVsZXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAoaGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5l KSkpDQotOzs7OzsgaGlnaGxpZ2h0LWJsb2Nrcw0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0 aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJs b2Nrcy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC00LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLXNwZWNpYWwtd2FybSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo aGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNw ZWNpYWwtbWlsZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nr cy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTgtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lh bi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBoaWdobGlnaHQtZGVm aW5lZA0KLSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtYnVpbHRpbi1mdW5jdGlvbi1uYW1lLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVk LWZhY2UtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCho aWdobGlnaHQtZGVmaW5lZC1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLW1hY3JvLW5hbWUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVk LXNwZWNpYWwtZm9ybS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC12YXJpYWJsZS1uYW1lLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBoaWdobGlnaHQtZXNjYXBlLXNlcXVl bmNlcyAoYGhlcy1tb2RlJykNCi0gICBgKGhlcy1lc2NhcGUtYmFja3NsYXNoLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkp DQotICAgYChoZXMtZXNjYXBlLXNlcXVlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3NsYXNoKSkpDQotOzs7OzsgaGlnaGxpZ2h0 LWluZGVudGF0aW9uDQotICAgYChoaWdobGlnaHQtaW5kZW50YXRpb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChoaWdobGlnaHQtaW5kZW50YXRp b24tY3VycmVudC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkp DQotOzs7OzsgaGlnaGxpZ2h0LW51bWJlcnMNCi0gICBgKGhpZ2hsaWdodC1udW1iZXJzLW51bWJl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBoaWdobGln aHQtc3ltYm9sDQotICAgYChoaWdobGlnaHQtc3ltYm9sLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgaGlnaGxpZ2h0LXRoaW5nDQotICAg YChoaWdobGlnaHQtdGhpbmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLTs7Ozs7IGhsLWRlZmluZWQNCi0gICBgKGhkZWZkLWZ1bmN0aW9ucyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaGRlZmQtdW5kZWZpbmVkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChoZGVmZC12YXJpYWJsZXMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotOzs7OzsgaGwtZmlsbC1jb2x1bW4NCi0gICBgKGhs LWZpbGwtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdy b3VuZCAsZmctYWN0aXZlKSkpDQotOzs7OzsgaGwtdG9kbw0KLSAgIGAoaGwtdG9kbyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBoeWRyYQ0KLSAgIGAoaHlkcmEtZmFjZS1hbWFyYW50aCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGh5ZHJh LWZhY2UtYmx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoaHlkcmEtZmFjZS1waW5rICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoeWRyYS1mYWNlLXJlZCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGh5ZHJhLWZhY2UtdGVhbCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaHlwZXJsaXN0DQot ICAgYChoeXBlcmxpc3QtY29uZGl0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAoaHlwZXJsaXN0LWhhc2h0YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAoaHlwZXJsaXN0LW9wZXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoaHlwZXJsaXN0LXBhcmVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAoaHlwZXJsaXN0LXF1b3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXJlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCi0gICBgKGh5cGVybGlzdC1zdGFycyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChoeXBlcmxpc3QtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKGh5cGVybGlzdC10b3BsZXZlbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgaWNvbXBsZXRlDQotICAgYChpY29tcGxldGUt Zmlyc3QtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlv bnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIGJnLWFs dA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1t YWluKSkpKQ0KLTs7Ozs7IGljb21wbGV0ZS12ZXJ0aWNhbA0KLSAgIGAoaWNvbXBsZXRlLXZlcnRp Y2FsLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgaWRv LW1vZGUNCi0gICBgKGlkby1maXJzdC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFy ZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEg YmctYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWN0aXZlIGZnLW1h aW4pKSkpDQotICAgYChpZG8taW5jb21wbGV0ZS1yZWdleHAgKCgsY2xhc3MgOmluaGVyaXQgZXJy b3IpKSkNCi0gICBgKGlkby1pbmRpY2F0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLXllbGxvdykpKQ0KLSAgIGAoaWRvLW9ubHktbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQg Ym9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3JlZW4gZ3JlZW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3JlZW4taW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0KLSAgIGAoaWRvLXN1YmRpciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaWRvLXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7IGllZGl0DQotICAgYChpZWRpdC1vY2N1cnJl bmNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChp ZWRpdC1yZWFkLW9ubHktb2NjdXJyZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLXllbGxvdykpKQ0KLTs7Ozs7IGlmbGlwYg0KLSAgIGAoaWZsaXBiLWN1cnJlbnQtYnVm ZmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN Ci0gICBgKGlmbGlwYi1vdGhlci1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotOzs7OzsgaW1lbnUtbGlzdA0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTAg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktZmFj ZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5 LWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGlt ZW51LWxpc3QtZW50cnktZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTAgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAg YChpbWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1l bnRyeS1zdWJhbGlzdC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1z dWJhbGlzdC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBpbmRpdW0NCi0gICBgKGluZGl1bS1icmVh a3BvaW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGlu ZGl1bS1mcmFtZS11cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAoaW5kaXVtLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZGl1bS1saXRhYmxlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50 KSkpDQotICAgYChpbmRpdW0tcmVwbC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaW5kaXVtLXJlcGwtcHJvbXB0LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChpbmRpdW0tcmVwbC1zdGRv dXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGluZm8NCi0g ICBgKEluZm8tcXVvdGVkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9u dHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKSA7 IHRoZSBjYXBpdGFsaXNhdGlvbiBpcyBjYW5vbmljYWwNCi0gICBgKGluZm8taGVhZGVyLW5vZGUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChpbmZv LWhlYWRlci14cmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAo aW5mby1pbmRleC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtYXRjaCkpKQ0KLSAgIGAoaW5mby1t ZW51LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0g ICBgKGluZm8tbWVudS1zdGFyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGlu Zm8tbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChpbmZvLXRpdGxlLTEgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotICAgYChpbmZvLXRpdGxl LTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQotICAgYChpbmZv LXRpdGxlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAg YChpbmZvLXRpdGxlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkp DQotOzs7OzsgaW5mby1jb2xvcnMNCi0gICBgKGluZm8tY29sb3JzLWxpc3AtY29kZS1ibG9jayAo KCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0 ZW0tY29tbWFuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaW5mby1j b2xvcnMtcmVmLWl0ZW0tY29uc3RhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90 aGVyKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tbWFjcm8gKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1vdGhlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tc3Bl Y2lhbC1mb3JtICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0 ZW0tc3ludGF4LWNsYXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChp bmZvLWNvbG9ycy1yZWYtaXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdXNlci1vcHRpb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXZhcmlhYmxlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaW50ZXJhY3Rpb24tbG9nDQotICAg YChpbG9nLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoaWxvZy1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGlsb2ctZWNoby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0LW90aGVyKSkpDQotICAgYChpbG9nLWxvYWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKGlsb2ctbWVzc2FnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKGlsb2ctbm9uLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotOzs7OzsgaW9jY3VyDQotICAgYChpb2NjdXItY3Vyc29yICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChpb2NjdXItaW52YWxpZC1yZWdleHAgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaW9jY3VyLW1hdGNoLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChpb2NjdXItbWF0 Y2gtb3ZlcmxheS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAy NykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGlvY2N1ci1udW0t bGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KGlvY2N1ci1vdmVybGF5LWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJz aW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChpb2NjdXItcmVnZXhw LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xk KSkpKQ0KLSAgIGAoaW9jY3VyLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQot Ozs7OzsgaXNlYXJjaCwgb2NjdXIsIGFuZCB0aGUgbGlrZQ0KLSAgIGAoaXNlYXJjaCAoKCxjbGFz cyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLSAgIGAoaXNl YXJjaC1mYWlsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0g ICBgKGxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1j eWFuKSkpDQotICAgYChtYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNhbG0pKSkNCi0gICBgKHF1ZXJ5LXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLWludGVuc2UteWVsbG93IGJvbGQpKSkpDQotOzs7OzsgaXZ5DQotICAgYChpdnktYWN0aW9u ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGl2 eS1jb21wbGV0aW9ucy1hbm5vdGF0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGl2eS1jb25maXJtLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGl2eS1jdXJyZW50LW1hdGNo ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lhbg0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2Ut Y3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXNw ZWNpYWwtd2FybQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1jdXJz b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkN Ci0gICBgKGl2eS1ncmVwLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQot ICAgYChpdnktZ3JlcC1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQotICAgYChpdnktaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKGl2eS1tYXRjaC1yZXF1aXJlZC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGVycm9yKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTEgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJh bA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1pbnRlbnNlLW5ldXRyYWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQpKSkpDQotICAgYChpdnktbWluaWJ1 ZmZlci1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtZ3Jl ZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1h bHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Ym9sZCkpKSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJl ZmluZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRj aC1mYWNlLTQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9u cw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFs dC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdi b2xkKSkpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtaGlnaGxpZ2h0ICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChp dnktbW9kaWZpZWQtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LW1vZGlmaWVkLW91dHNpZGUtYnVmZmVyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQp KSkNCi0gICBgKGl2eS1vcmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYChpdnktcHJvbXB0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGl2eS1jdXJyZW50LW1h dGNoKSkpDQotICAgYChpdnktcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChpdnktc2VwYXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKGl2eS1zdWJkaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQot ICAgYChpdnktdmlydHVhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKGl2eS15YW5rZWQtd29yZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJsdWUtYWx0KSkpKQ0KLTs7Ozs7IGl2eS1wb3NmcmFtZQ0KLSAgIGAoaXZ5LXBvc2Zy YW1lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGl2eS1wb3NmcmFtZS1ib3JkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2 ZSkpKQ0KLSAgIGAoaXZ5LXBvc2ZyYW1lLWN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmct bWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLTs7Ozs7IGppcmEgKG9yZy1qaXJhKQ0KLSAg IGAoamlyYWxpYi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0K LSAgIGAoamlyYWxpYi1jb21tZW50LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCi0gICBgKGppcmFsaWItaXNzdWUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoamlyYWxpYi1pc3N1ZS1pbmZvLWhlYWRlci1m YWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0gYm9sZCkpKSkN Ci0gICBgKGppcmFsaWItaXNzdWUtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCi0gICBgKGppcmFsaWItbGluay1maWx0ZXItZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKGppcmFsaWItbGluay1pc3N1ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoamlyYWxpYi1saW5rLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQp KSkNCi07Ozs7OyBqb3VybmFsY3RsLW1vZGUNCi0gICBgKGpvdXJuYWxjdGwtZXJyb3ItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGpvdXJuYWxj dGwtZmluaXNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KLSAgIGAoam91cm5hbGN0bC1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUpKSkNCi0gICBgKGpvdXJuYWxjdGwtcHJvY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoam91cm5hbGN0bC1zdGFydGluZy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoam91cm5hbGN0bC10aW1lc3RhbXAtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChqb3VybmFs Y3RsLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCi07Ozs7OyBqczItbW9kZQ0KLSAgIGAoanMyLWVycm9yICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKGpzMi1leHRlcm5hbC12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGpzMi1mdW5jdGlvbi1jYWxsICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChqczItZnVuY3Rpb24tcGFyYW0gKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGpzMi1pbnN0YW5jZS1tZW1iZXIgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChqczItanNkb2MtaHRt bC10YWctZGVsaW1pdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChq czItanNkb2MtaHRtbC10YWctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAoanMyLWpzZG9jLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkp DQotICAgYChqczItanNkb2MtdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYChqczItanNkb2MtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAoanMyLW9iamVjdC1wcm9wZXJ0eSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoanMyLW9iamVjdC1wcm9wZXJ0eS1hY2Nlc3MgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGpzMi1wcml2YXRlLWZ1bmN0aW9uLWNh bGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoanMyLXBy aXZhdGUtbWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0g ICBgKGpzMi13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDp1bmRlcmxp bmUgdCkpKQ0KLTs7Ozs7IGp1bGlhDQotICAgYChqdWxpYS1tYWNyby1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChqdWxpYS1xdW90ZWQtc3ltYm9sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyKSkpDQotOzs7OzsganVweXRlcg0KLSAgIGAoanVweXRlci1ldmFsLW92ZXJs YXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoanVw eXRlci1yZXBsLWlucHV0LXByb21wdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGp1cHl0ZXItcmVwbC1vdXRwdXQtcHJvbXB0ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoanVweXRlci1yZXBsLXRyYWNlYmFjayAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IGthb2No YS1ydW5uZXINCi0gICBgKGthb2NoYS1ydW5uZXItZXJyb3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChrYW9jaGEtcnVubmVyLXN1Y2Nlc3MtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGthb2NoYS1ydW5uZXItd2FybmluZy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBrZXljYXN0DQotICAgYChrZXlj YXN0LWNvbW1hbmQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3Rp dmUpKSkNCi0gICBgKGtleWNhc3Qta2V5ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt bW9kZS1saW5lLWF0dHJzDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIGJs dWUtYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIGJsdWUtYWN0 aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFjdGl2ZSBibHVlLWludGVu c2UNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbHQtc3R5bGUgLTMpKSkpDQotOzs7 OzsgbGluZSBudW1iZXJzIChkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlIGFuZCBnbG9iYWwgdmFy aWFudCkNCi0gICBgKGxpbmUtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmJhY2tn cm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsaW5lLW51bWJlci1j dXJyZW50LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVsdCA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgbHNwLW1vZGUNCi0gICBgKGxzcC1m YWNlLWhpZ2hsaWdodC1yZWFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1i bHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLWZhY2UtaGlnaGxpZ2h0LXRleHR1YWwgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGxzcC1mYWNl LWhpZ2hsaWdodC13cml0ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWJs dWUgYm9sZCkpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWNvbnN0YW50ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZGVwcmVjYXRl ZA0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkp KSBjbGFzcykNCi0gICAgICAgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZW51bW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWZpZWxkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZmllbGQtc3RhdGlj ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50 KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtbWV0aG9kICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1uYW1lc3BhY2UgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1wcmVwcm9jZXNzb3IgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXN0YXRpYy1tZXRo b2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtZW51bSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUt cHJpbWl0aXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXRlbXBsYXRlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXR5cGVkZWYgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNl LXNlbWhsLXZhcmlhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChsc3At ZmFjZS1zZW1obC12YXJpYWJsZS1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K LSAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFibGUtcGFyYW1ldGVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWxlbnMtZmFjZSAoKCxjbGFzcyA6aGVp Z2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsc3AtbGVucy1tb3VzZS1mYWNl ICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6dW5kZXJs aW5lIHQpKSkNCi0gICBgKGxzcC11aS1kb2MtYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0KSkpDQotICAgYChsc3AtdWktZG9jLWhlYWRlciAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1kb2Mt dXJsICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIp KSkNCi0gICBgKGxzcC11aS1wZWVrLWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCi0gICBgKGxzcC11aS1wZWVrLWZvb3RlciAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1w ZWVrLWhlYWRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxm Zy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAobHNwLXVpLXBlZWstbGluZS1udW1i ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobHNwLXVpLXBlZWstbGlz dCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChsc3AtdWktcGVlay1wZWVr ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGxzcC11aS1wZWVrLXNlbGVj dGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAo bHNwLXVpLXNpZGVsaW5lLWNvZGUtYWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCi0gICBgKGxzcC11aS1zaWRlbGluZS1jdXJyZW50LXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUg bmlsKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsc3AtdWktc2lkZWxpbmUtc3ltYm9s LWluZm8gKCgsY2xhc3MgOmhlaWdodCAwLjk5IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyBtYWdp dA0KLSAgIGAobWFnaXQtYmlzZWN0LWJhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlcikpKQ0KLSAgIGAobWFnaXQtYmlzZWN0LWdvb2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYmlzZWN0LXNraXAgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWRhdGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWRpbW1lZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1ibGFtZS1oYXNoICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWhlYWRp bmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtaGln aGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikpKQ0KLSAg IGAobWFnaXQtYmxhbWUtbWFyZ2luICgoLGNsYXNzIDppbmhlcml0IG1hZ2l0LWJsYW1lLWhpZ2hs aWdodCkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLXN1bW1hcnkgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1icmFuY2gtY3VycmVudCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmJveCB0KSkpDQotICAgYChtYWdp dC1icmFuY2gtbG9jYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYCht YWdpdC1icmFuY2gtcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K LSAgIGAobWFnaXQtYnJhbmNoLXJlbW90ZS1oZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlciA6Ym94IHQpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC11cHN0cmVhbSAoKCxj bGFzcyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYWdpdC1jaGVycnktZXF1aXZhbGVudCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkp DQotICAgYChtYWdpdC1jaGVycnktdW5tYXRjaGVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi0gICA7OyBOT1RFOiBoZXJlIHdlIGJy ZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAgIDs7IG1vZHVz LXRoZW1lLWRpZmYtKiBmYWNlcywgdGhvdWdoIG9ubHkgZm9yIHRoZSBzdGFuZGFyZCBhY3Rpb25z LA0KLSAgIDs7IG5vdCB0aGUgaGlnaGxpZ2h0ZWQgb25lcy4gIFRoaXMgaXMgYmVjYXVzZSBNYWdp dCdzIGludGVyYWN0aW9uDQotICAgOzsgbW9kZWwgcmVsaWVzIG9uIGhpZ2hsaWdodGluZyB0aGUg Y3VycmVudCBkaWZmIGh1bmsuDQotICAgYChtYWdpdC1kaWZmLWFkZGVkICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZy1tYWluIGdyZWVuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRp ZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBncmVlbi1udWFuY2VkLWJnIGZnLWRpZmYtYWRkZWQpKSkpDQotICAgYChtYWdpdC1kaWZmLWFk ZGVkLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFk ZGVkKSkpDQotICAgYChtYWdpdC1kaWZmLWJhc2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiB5ZWxs b3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmct ZGlmZi1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LW51 YW5jZWQtYmcgZmctZGlmZi1jaGFuZ2VkKSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1iYXNlLWhpZ2hs aWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQpKSkN Ci0gICBgKG1hZ2l0LWRpZmYtY29udGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1 c2VkKSkpDQotICAgYChtYWdpdC1kaWZmLWNvbnRleHQtaGlnaGxpZ2h0ICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZy1kaW0gZmctZGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJnLWluYWN0aXZlIGZnLWluYWN0aXZlDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1hbHQpKSkpDQotICAg YChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5nLWhp Z2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIGJvbGQp KSkpDQotICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICA7OyBOT1RFOiBoZXJlIHdlIGJy ZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAgIDs7IG1vZHVz LXRoZW1lLWRpZmYtKiBmYWNlcy4NCi0gICBgKG1hZ2l0LWRpZmYtaHVuay1oZWFkaW5nICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAg YChtYWdpdC1kaWZmLWh1bmstaGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6YmFja2dyb3VuZCAsYmctZGlmZi1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWRpZmYtaGVhZGluZykpKQ0K LSAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChtYWdpdC1kaWZmLWh1bmstcmVnaW9u ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtbGluZXMtYm91bmRh cnkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1hZ2l0LWRpZmYtbGlu ZXMtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkp KQ0KLSAgIGAobWFnaXQtZGlmZi1yZW1vdmVkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4gcmVk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZn LWRpZmYtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1u dWFuY2VkLWJnIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCi0gICBgKG1hZ2l0LWRpZmYtcmVtb3ZlZC1o aWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVk KSkpDQotICAgYChtYWdpdC1kaWZmc3RhdC1hZGRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCi0gICBgKG1hZ2l0LWRpZmZzdGF0LXJlbW92ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAobWFnaXQtZGltbWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZv Y3VzZWQpKSkNCi0gICBgKG1hZ2l0LWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hZ2l0LWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAobWFnaXQtaGVhZCAoKCxjbGFzcyA6aW5oZXJpdCBtYWdpdC1icmFuY2gt bG9jYWwpKSkNCi0gICBgKG1hZ2l0LWhlYWRlci1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChtYWdpdC1oZWFkZXItbGluZS1r ZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAg IGAobWFnaXQtaGVhZGVyLWxpbmUtbG9nLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYWdpdC1rZXl3b3JkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtYWdpdC1rZXl3b3JkLXNxdWFzaCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChtYWdp dC1sb2ctYXV0aG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYWdpdC1s b2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1sb2ct Z3JhcGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobWFnaXQtbW9kZS1s aW5lLXByb2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3Rp dmUpKSkNCi0gICBgKG1hZ2l0LW1vZGUtbGluZS1wcm9jZXNzLWVycm9yICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LXByb2Nlc3Mt bmcgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCi0gICBgKG1hZ2l0LXByb2Nlc3Mtb2sgKCgs Y2xhc3MgOmluaGVyaXQgc3VjY2VzcykpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWFtZW5kICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkN Ci0gICBgKG1hZ2l0LXJlZmxvZy1jaGVja291dCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFp biA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctY2hlcnJ5 LXBpY2sgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWlu dGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1jb21taXQgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxv Zy1tZXJnZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZ3JlZW4t aW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLW90aGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxv Zy1yZWJhc2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1hZ2Vu dGEtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLXJlbW90ZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1y ZWZsb2ctcmVzZXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJl ZC1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUtcHVsbHJlcSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1yZWZuYW1lLXN0YXNoICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUtd2lwICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlY3Rpb24gKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbi1oZWFk aW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1h Z2l0LXNlY3Rpb24taGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLXJlZmluZS1jeWFuIGJvbGQpKSkpDQotICAgYChtYWdpdC1zZWN0aW9uLWhpZ2hsaWdodCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1kb25l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNl LWRyb3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVl bmNlLWV4ZWMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtYWdp dC1zZXF1ZW5jZS1oZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAo bWFnaXQtc2VxdWVuY2Utb250byAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChtYWdpdC1zZXF1ZW5jZS1wYXJ0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkp DQotICAgYChtYWdpdC1zZXF1ZW5jZS1waWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2Utc3RvcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk KSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWVycm9yICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtZXhwaXJlZCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtZXhwaXJl ZC1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAobWFnaXQtc2lnbmF0 dXJlLWdvb2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChtYWdpdC1zaWdu YXR1cmUtcmV2b2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFn aXQtc2lnbmF0dXJlLXVudHJ1c3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAobWFnaXQtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQot Ozs7OzsgbWFnaXQtaW1lcmdlDQotICAgYChtYWdpdC1pbWVyZ2Utb3ZlcnJpZGluZy12YWx1ZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgbWFu DQotICAgYChNYW4tb3ZlcnN0cmlrZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChNYW4tcmV2ZXJzZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAoTWFuLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbiA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBtYXJrZG93bi1tb2RlDQotICAg YChtYXJrZG93bi1ibG9ja3F1b3RlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1ib2xk LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobWFya2Rvd24tY29kZS1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpKSkpDQotICAgYCht YXJrZG93bi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1mb290bm90ZS1tYXJrZXItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAo bWFya2Rvd24tZm9vdG5vdGUtdGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmtkb3duLWdmbS1jaGVja2Jv eC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFy a2Rvd24taGVhZGVyLWRlbGltaXRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1hcmtkb3duLWhl YWRlci1mYWNlICgodCBuaWwpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTEgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotICAgYChtYXJrZG93bi1oZWFk ZXItZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KLSAg IGAobWFya2Rvd24taGVhZGVyLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTMpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS01 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KLSAgIGAobWFya2Rv d24taGVhZGVyLWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYp KSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1ydWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtYXJrZG93bi1oci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAobWFya2Rvd24taHRtbC1hdHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFya2Rvd24taHRtbC1hdHRy LXZhbHVlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQotICAgYChtYXJrZG93bi1odG1sLWVudGl0eS1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYXJrZG93bi1odG1s LXRhZy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVk LWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobWFya2Rvd24taHRtbC10YWct bmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChtYXJrZG93bi1pbmxpbmUtY29kZS1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtYXJrZG93 bi1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFu dCBpdGFsaWMpKSkNCi0gICBgKG1hcmtkb3duLWxhbmd1YWdlLWluZm8tZmFjZSAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0g ICBgKG1hcmtkb3duLWxhbmd1YWdlLWtleXdvcmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmtk b3duLWxpbmUtYnJlYWstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt Y3lhbiA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG1hcmtkb3duLWxpbmstZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBsaW5rKSkpDQotICAgYChtYXJrZG93bi1saW5rLXRpdGxlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChtYXJrZG93bi1saXN0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkp KQ0KLSAgIGAobWFya2Rvd24tbWFya3VwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAobWFya2Rvd24tbWF0aC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24tbWV0YWRhdGEta2V5LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93bi1tZXRhZGF0 YS12YWx1ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWFy a2Rvd24tbWlzc2luZy1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotICAgYChtYXJrZG93bi1wbGFpbi11cmwtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtYXJrZG93bi1saW5rLWZhY2UpKSkNCi0gICBgKG1hcmtkb3duLXByZS1mYWNlICgoLGNs YXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhl ZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxi Zy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQpKSkNCi0gICBgKG1hcmtkb3duLXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1hcmtkb3duLW1hcmt1cC1mYWNlKSkpDQotICAgYChtYXJrZG93bi1zdHJpa2UtdGhy b3VnaC1mYWNlICgoLGNsYXNzIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQotICAgYChtYXJrZG93bi10 YWJsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKG1hcmtkb3duLXVybC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KLTs7Ozs7IG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9kZScpDQotICAgYChtYXJr dXAtYW5jaG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAg YChtYXJrdXAtYXR0cmlidXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmt1cC1iaWctZmFjZSAoKCxjbGFzcyA6aGVpZ2h0 IDEuMyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtYm9sZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAg YChtYXJrdXAtY29kZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChtYXJrdXAtY29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLWNvbW1lbnQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBg KG1hcmt1cC1jb21wbGV4LXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lk dGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1tYWdlbnRhKSkpDQotICAgYChtYXJrdXAtZW1waGFzaXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmt1cC1lcnJv ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo bWFya3VwLWdlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAg IGAobWFya3VwLWludGVybmFsLXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv biA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1pdGFsaWMtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0g ICBgKG1hcmt1cC1saXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1jYWxtKSkpDQotICAgYChtYXJrdXAtbWV0YS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLW1ldGEtaGlkZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hcmt1cC1wYXNzdGhyb3VnaC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYXJrdXAt cHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkN Ci0gICBgKG1hcmt1cC1yZXBsYWNlbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0LW90aGVyKSkpDQotICAgYChtYXJrdXAtc2Vjb25kYXJ5LXRleHQtZmFjZSAoKCxjbGFz cyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChtYXJr dXAtc21hbGwtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAobWFya3VwLXN0cm9uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtc3Vic2NyaXB0LWZhY2UgKCgsY2xh c3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFy a3VwLXN1cGVyc2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya3VwLXRhYmxlLWNlbGwtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmt1cC10YWJsZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYCht YXJrdXAtdGFibGUtcm93LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LWN5YW4pKSkNCi0gICBgKG1hcmt1cC10aXRsZS0wLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAzLjAg OmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTEtZmFjZSAo KCxjbGFzcyA6aGVpZ2h0IDIuNCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYCht YXJrdXAtdGl0bGUtMi1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS44IDpmb3JlZ3JvdW5kICxibHVl LW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS0zLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAx LjQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTQtZmFj ZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAg YChtYXJrdXAtdGl0bGUtNS1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxi bHVlLW51YW5jZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChtYXJrdXAtdmFsdWUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC12ZXJiYXRpbS1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7 IG1lbnRvcg0KLSAgIGAobWVudG9yLWRvd25sb2FkLW1lc3NhZ2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2Fk LXByb2dyZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAo bWVudG9yLWRvd25sb2FkLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtc3BlZWQtZG93biAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1zcGVlZC11cCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXN0YXRlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChtZW50b3ItaGlnaGxpZ2h0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBg KG1lbnRvci10cmFja2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkp DQotOzs7OzsgbWVzc2FnZXMNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC0xICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTIgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC0zICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4 dC00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1o ZWFkZXItY2MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN Ci0gICBgKG1lc3NhZ2UtaGVhZGVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItbmV3c2dyb3VwcyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVy LW90aGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChtZXNzYWdlLWhlYWRlci1zdWJqZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtZXNzYWdlLWhlYWRlci10 byAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChtZXNz YWdlLWhlYWRlci14aGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCht ZXNzYWdlLW1tbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAg YChtZXNzYWdlLXNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LW5ldXRyYWwpKSkNCi07Ozs7OyBtaW5pYnVmZmVyLWxpbmUNCi0gICBgKG1pbmlidWZmZXItbGlu ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IG1pbmltYXANCi0gICBg KG1pbmltYXAtYWN0aXZlLXJlZ2lvbi1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hY3RpdmUpKSkNCi0gICBgKG1pbmltYXAtY3VycmVudC1saW5lLWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGN5YW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7 IG1vZGVsaW5lDQotICAgYChtb2RlLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hY3RpdmUg YmctYWN0aXZlIGZnLWRpbSBiZy1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBm Zy1hbHQgYmctYWN0aXZlICdhbHQtc3R5bGUgbmlsIGJnLW1haW4pKSkpDQotICAgYChtb2RlLWxp bmUtYnVmZmVyLWlkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1vZGUtbGluZS1l bXBoYXNpcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkp KQ0KLSAgIGAobW9kZS1saW5lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtYmx1ZSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgcHJlc3NlZC1idXR0b24p KSkpDQotICAgYChtb2RlLWxpbmUtaW5hY3RpdmUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmZy1pbmFjdGl2ZSBiZy1pbmFjdGl2ZSBmZy1hbHQgYmctZGltDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmctcmVnaW9uIGJnLWFjdGl2ZSkpKSkNCi07Ozs7OyBtb29k LWxpbmUNCi0gICBgKG1vb2QtbGluZS1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtZXJyb3IgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0 YXR1cy1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAobW9v ZC1saW5lLXN0YXR1cy1uZXV0cmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkp KQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1zdWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtd2FybmluZyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChtb29kLWxp bmUtdW5pbXBvcnRhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7 OzsgbXBkZWwNCi0gICBgKG1wZGVsLWJyb3dzZXItZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1wZGVsLXBsYXlsaXN0LWN1cnJlbnQtc29uZy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQot Ozs7OzsgbXU0ZQ0KLSAgIGAobXU0ZS1hdHRhY2gtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC0yLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQt NC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobXU0ZS1j aXRlZC01LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKG11 NGUtY2l0ZWQtNi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAo bXU0ZS1jaXRlZC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KG11NGUtY29tcG9zZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtdTRlLWNvbXBvc2Ut c2VwYXJhdG9yLWZhY2UpKSkNCi0gICBgKG11NGUtY29tcG9zZS1zZXBhcmF0b3ItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBgKG11NGUt Y29udGFjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYChtdTRlLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hY3RpdmUpKSkNCi0gICBgKG11NGUtZHJhZnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUtZmxhZ2dlZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtdTRlLWZvb3Rlci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAobXU0ZS1mb3J3YXJkZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKG11NGUtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAobXU0ZS1oZWFkZXItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAobXU0ZS1oZWFkZXIta2V5LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG11NGUtaGVhZGVyLW1hcmtzLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KG11NGUtaGVhZGVyLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt bWlsZCkpKQ0KLSAgIGAobXU0ZS1oZWFkZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1oaWdobGln aHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KLSAgIGAobXU0ZS1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAg IGAobXU0ZS1tb2RlbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2 ZSkpKQ0KLSAgIGAobXU0ZS1tb3ZlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobXU0ZS1vay1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChtdTRlLXJlZ2lvbi1j b2RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAo bXU0ZS1yZXBsaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtZmFpbnQpKSkNCi0g ICBgKG11NGUtc3BlY2lhbC1oZWFkZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1zeXN0ZW0tZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFyay1kZWwgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAobXU0ZS10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChtdTRlLXRyYXNoZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChtdTRlLXVucmVhZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKG11NGUtdXJsLW51bWJlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtdTRlLXZpZXct Ym9keS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtdTRlLXdh cm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5nKSkpDQotOzs7OzsgbXU0ZS1jb252 ZXJzYXRpb24NCi0gICBgKG11NGUtY29udmVyc2F0aW9uLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNl bmRlci0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG11 NGUtY29udmVyc2F0aW9uLXNlbmRlci0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0zICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRl ci00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0 aW9uLXNlbmRlci01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQot ICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci03ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9u LXNlbmRlci04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLXJlZmluZS1mZykpKQ0KLSAgIGAo bXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCkpKQ0KLTs7Ozs7IG11bHRpcGxlLWN1cnNvcnMNCi0gICBgKG1jL2N1cnNvci1iYXItZmFjZSAo KCxjbGFzcyA6aGVpZ2h0IDEgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1jL2N1cnNv ci1mYWNlICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKG1jL3JlZ2lvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHJlZ2lvbikpKQ0KLTs7Ozs7IG5lb3RyZWUNCi0gICBgKG5lby1i YW5uZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobmVvLWJ1 dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAobmVvLWRpci1saW5r LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAo bmVvLWV4cGFuZC1idG4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo bmVvLWZpbGUtbGluay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChuZW8taGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAobmVvLXJvb3QtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG5lby12Yy1hZGRlZC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobmVvLXZjLWNvbmZsaWN0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChuZW8tdmMtZGVmYXVs dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChuZW8tdmMtZWRp dGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAobmVvLXZjLWln bm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG5l by12Yy1taXNzaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBg KG5lby12Yy1uZWVkcy1tZXJnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KLSAgIGAobmVvLXZjLW5lZWRzLXVwZGF0ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAobmVvLXZjLXJlbW92ZWQtZmFjZSAoKCxjbGFzcyA6c3RyaWtlLXRocm91Z2gg dCkpKQ0KLSAgIGAobmVvLXZjLXVubG9ja2VkLWNoYW5nZXMtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAobmVvLXZjLXVwLXRvLWRhdGUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChuZW8tdmMtdXNlci1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7Ozsgbm8tZW1vamkNCi0gICBg KG5vLWVtb2ppICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7Ozsgbm90bXVjaA0K LSAgIGAobm90bXVjaC1jcnlwdG8tZGVjcnlwdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAobm90bXVjaC1jcnlwdG8tcGFydC1oZWFkZXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChub3RtdWNo LWNyeXB0by1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtcmVkKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtZ29vZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCi0gICBgKG5vdG11Y2gtY3J5cHRv LXNpZ25hdHVyZS1nb29kLWtleSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt eWVsbG93KSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtdW5rbm93biAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChub3RtdWNoLWhlbGxv LWxvZ28tYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAo bm90bXVjaC1tZXNzYWdlLXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1udWFuY2VkLWN5YW4pKSkNCi0gICBgKG5vdG11Y2gtc2VhcmNoLWZsYWdnZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtbWF0Y2hp bmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobm90bXVj aC1zZWFyY2gtbm9uLW1hdGNoaW5nLWF1dGhvcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtdW5yZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCkpKQ0KLSAgIGAobm90bXVjaC10YWctYWRkZWQNCi0gICAgICgoLChhcHBlbmQgJygoc3Vw cG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxp bmUgKDpjb2xvciAsZ3JlZW4gOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobm90bXVjaC10YWctZGVsZXRlZA0KLSAg ICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFz cykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxyZWQgOnN0eWxlIHdhdmUpKQ0KLSAgICAg ICgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG5vdG11Y2gt dGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN Ci0gICBgKG5vdG11Y2gtdGFnLWZsYWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQp KSkNCi0gICBgKG5vdG11Y2gtdGFnLXVucmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdHJlZS1tYXRjaC1hdXRob3ItZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChub3RtdWNoLXRyZWUtbWF0Y2gt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobm90bXVjaC10cmVl LW1hdGNoLXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChub3RtdWNoLXRyZWUtbm8tbWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChub3RtdWNoLXdhc2gtY2l0ZWQtdGV4dCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobm90bXVjaC13YXNoLXRvZ2dsZS1idXR0b24gKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7Ozsg bnVtMy1tb2RlDQotICAgYChudW0zLWZhY2UtZXZlbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpi YWNrZ3JvdW5kICxiZy1hbHQpKSkNCi07Ozs7OyBueG1sLW1vZGUNCi0gICBgKG54bWwtYXR0cmli dXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChueG1sLWF0 dHJpYnV0ZS1sb2NhbC1uYW1lICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQpKSkpDQotICAgYChueG1sLWF0dHJpYnV0ZS1wcmVmaXgg KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0 LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWF0dHJpYnV0ZS12 YWx1ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkp DQotICAgYChueG1sLWNkYXRhLXNlY3Rpb24tQ0RBVEEgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkp KQ0KLSAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLWRlbGltaXRlciAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKG54 bWwtY2hhci1yZWYtZGVsaW1pdGVyICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChueG1sLWNo YXItcmVmLW51bWJlciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQt b3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54 bWwtZGVsaW1pdGVkLWRhdGEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChueG1sLWRlbGltaXRlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChueG1sLWVsZW1lbnQtY29sb24gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG54bWwtZWxlbWVudC1sb2NhbC1uYW1l ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWlu dCkpKSkNCi0gICBgKG54bWwtZWxlbWVudC1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkN Ci0gICBgKG54bWwtZW50aXR5LXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAobnhtbC1lbnRpdHktcmVmLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQp KSkpDQotICAgYChueG1sLWdseXBoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtbmV1dHJhbCkpKQ0KLSAgIGAobnhtbC1oYXNoICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBibHVl LWFsdCBibHVlLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1oZWFkaW5nICgoLGNsYXNz IDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG54bWwtbmFtZSAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtbmFtZXNw YWNlLWF0dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKG54bWwtcHJv Y2Vzc2luZy1pbnN0cnVjdGlvbi10YXJnZXQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWlu dCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtcHJvbG9nLWtl eXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBt YWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtcmVm ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQt d2VpZ2h0KSkpKQ0KLTs7Ozs7IG9iamVkDQotICAgYChvYmplZC1obCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWhsLWFsdC1pbnRlbnNlIGJnLWhsLWFs dCkpKSkNCi0gICBgKG9iamVkLW1hcmsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkp KQ0KLSAgIGAob2JqZWQtbW9kZS1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KLTs7Ozs7IG9yZGVybGVzcw0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1udWFuY2Vk LWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5l LWJnIGJsdWUtcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFuY2Vk LWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtcmVm aW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2Ut MiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tbnVhbmNlZC1i Zw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1yZWZpbmUt YmcgZ3JlZW4tcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxvdy1udWFuY2VkLWJnDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1yZWZpbmUtYmcg eWVsbG93LXJlZmluZS1mZykpKSkNCi07Ozs7OyBvcmcNCi0gICBgKG9yZy1hZ2VuZGEtY2FsZW5k YXItZXZlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1hZ2Vu ZGEtY2FsZW5kYXItc2V4cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KG9yZy1hZ2VuZGEtY2xvY2tpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1h Y3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1j b2x1bW4tZGF0ZWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAob3Jn LWFnZW5kYS1jdXJyZW50LXRpbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kYXRlLXRvZGF5ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVybGluZSB0KSkpDQotICAgYChvcmct YWdlbmRhLWRhdGUtd2Vla2VuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKG9yZy1hZ2VuZGEtZGlhcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKG9yZy1hZ2VuZGEtZGltbWVkLXRvZG8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZG9uZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChvcmctYWdlbmRhLWZpbHRlci1jYXRl Z29yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkp KQ0KLSAgIGAob3JnLWFnZW5kYS1maWx0ZXItZWZmb3J0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChvcmctYWdlbmRhLWZpbHRlci1y ZWdleHAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUp KSkNCi0gICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXRhZ3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEtcmVzdHJpY3Rp b24tbG9jayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0p KSkNCi0gICBgKG9yZy1hZ2VuZGEtc3RydWN0dXJlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAob3JnLWFyY2hpdmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWJsb2NrICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2sgYmctZGltKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctYmxvY2stYmVnaW4tbGlu ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxv Y2stZGVsaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBm Zy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LWFsdCBmZy1zcGVjaWFsLW1pbGQpKSkpDQotICAgYChvcmctYmxvY2stZW5kLWxpbmUgKCgsY2xh c3MgOmluaGVyaXQgb3JnLWJsb2NrLWJlZ2luLWxpbmUpKSkNCi0gICBgKG9yZy1jaGVja2JveCAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAsYmctYWN0aXZlKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctYWN0aXZlKSkpDQotICAgYChvcmctY2hlY2tib3gtc3RhdGlzdGljcy1kb25lICgoLGNsYXNz IDppbmhlcml0IG9yZy1kb25lKSkpDQotICAgYChvcmctY2hlY2tib3gtc3RhdGlzdGljcy10b2Rv ICgoLGNsYXNzIDppbmhlcml0IG9yZy10b2RvKSkpDQotICAgYChvcmctY2xvY2stb3ZlcmxheSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG9yZy1j b2RlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChvcmctY29sdW1uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQpKSkNCi0gICBgKG9yZy1jb2x1bW4tdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 dW5kZXJsaW5lIHQgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAob3JnLWRhdGUgKCgsY2xh c3MgOmluaGVyaXQgKGJ1dHRvbiBmaXhlZC1waXRjaCkgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotICAgYChvcmctZGF0ZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFsdCA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChvcmctZG9jdW1l bnQtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChv cmctZG9jdW1lbnQtaW5mby1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt bWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1kb2N1bWVudC10aXRsZSAoKCxjbGFzcyA6 aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNSkpKSkNCi0g ICBgKG9yZy1kb25lICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6YmFja2dyb3VuZCAsYmctZGlt IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAob3JnLWRyYXdlciAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAob3JnLWVsbGlwc2lzICgoLGNsYXNzIDpmb3JlZ3Jv dW5kIG5pbCkpKSA7IGluaGVyaXRzIGZyb20gdGhlIGhlYWRpbmcncyBjb2xvdXINCi0gICBgKG9y Zy1mb290bm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGJsdWUtYWx0 KSkpDQotICAgYChvcmctZm9ybXVsYSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1p eGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCi0gICBgKG9yZy1oYWJpdC1hbGVydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UteWVsbG93KSkpDQotICAgYChvcmctaGFiaXQtYWxlcnQtZnV0dXJlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAo b3JnLWhhYml0LWNsZWFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1tYWdlbnRhKSkpDQotICAgYChvcmctaGFiaXQtY2xlYXItZnV0dXJlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKG9yZy1oYWJpdC1v dmVyZHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkN Ci0gICBgKG9yZy1oYWJpdC1vdmVyZHVlLWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKG9yZy1oYWJpdC1yZWFkeS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAob3JnLWhhYml0 LXJlYWR5LWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1i bHVlKSkpDQotICAgYChvcmctaGVhZGxpbmUtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCAsbW9kdXMt dGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQpKSkNCi0gICBg KG9yZy1oZWFkbGluZS10b2RvICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJs ZS1waXRjaCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKG9yZy1oaWRlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChvcmctaW5kZW50ICgoLGNsYXNzIDpp bmhlcml0IChmaXhlZC1waXRjaCBvcmctaGlkZSkpKSkNCi0gICBgKG9yZy1sYXRleC1hbmQtcmVs YXRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKG9y Zy1sZXZlbC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLSAg IGAob3JnLWxldmVsLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkp DQotICAgYChvcmctbGV2ZWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTMpKSkNCi0gICBgKG9yZy1sZXZlbC00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctNCkpKQ0KLSAgIGAob3JnLWxldmVsLTUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy01KSkpDQotICAgYChvcmctbGV2ZWwtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0gICBgKG9yZy1sZXZlbC03ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctNykpKQ0KLSAgIGAob3JnLWxldmVsLTggKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy04KSkpDQotICAgYChvcmctbGluayAoKCxjbGFzcyA6 aW5oZXJpdCBsaW5rKSkpDQotICAgYChvcmctbGlzdC1kdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk KSkpDQotICAgYChvcmctbWFjcm8gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1i ZyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1tZXRhLWxpbmUg KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAob3JnLW1vZGUtbGluZS1jbG9jayAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAob3JnLW1vZGUtbGluZS1jbG9jay1vdmVycnVuICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCi0gICBgKG9yZy1wcmlvcml0eSAo KCxjbGFzcyA6Ym94ICxiZy1yZWdpb24gOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAob3JnLXByb3BlcnR5LXZhbHVlICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChvcmctcXVvdGUgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2sgYmctZGltKQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLXNjaGVkdWxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotICAgYChvcmctc2NoZWR1bGVkLXByZXZpb3VzbHkgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1zY2hlZHVsZWQt dG9kYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChv cmctc2V4cC1kYXRlICgoLGNsYXNzIDppbmhlcml0IG9yZy1kYXRlKSkpDQotICAgYChvcmctc3Bl Y2lhbC1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlLW51 YW5jZWQpKSkNCi0gICBgKG9yZy10YWJsZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKG9yZy10YWJsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQg KGZpeGVkLXBpdGNoIG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKSkNCi0gICBgKG9yZy10 YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRh Zy1ncm91cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQp KSkNCi0gICBgKG9yZy10YXJnZXQgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChvcmct dGltZS1ncmlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKG9y Zy10b2RvICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6YmFja2dyb3VuZCAsYmctZGltIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChvcmctdXBjb21pbmctZGVhZGxpbmUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy11cGNvbWluZy1kaXN0YW50 LWRlYWRsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAob3Jn LXZlcmJhdGltICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChvcmctdmVyc2UgKCgsY2xhc3MgOmluaGVyaXQg b3JnLXF1b3RlKSkpDQotICAgYChvcmctd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotOzs7Ozsgb3JnLWpvdXJuYWwNCi0gICBgKG9y Zy1qb3VybmFsLWNhbGVuZGFyLWVudHJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQtb3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLWpvdXJu YWwtY2FsZW5kYXItc2NoZWR1bGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQt b3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLWpvdXJuYWwtaGln aGxpZ2h0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IG9yZy1u b3Rlcg0KLSAgIGAob3JnLW5vdGVyLW5vLW5vdGVzLWV4aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLW5vdGVyLW5vdGVz LWV4aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQotOzs7Ozsgb3JnLXBvbW9kb3JvDQotICAgYChvcmctcG9tb2Rvcm8tbW9kZS1saW5l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChvcmctcG9tb2Rvcm8t bW9kZS1saW5lLWJyZWFrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAg IGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZS1vdmVydGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotOzs7Ozsgb3JnLXJlY3VyDQotICAgYChvcmct cmVjdXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7Ozsgb3Jn LXJvYW0NCi0gICBgKG9yZy1yb2FtLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KLSAgIGAob3JnLXJvYW0tbGluay1jdXJyZW50ICgoLGNsYXNzIDpp bmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChvcmctcm9hbS1s aW5rLWludmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKG9yZy1yb2FtLWxpbmstc2hpZWxkZWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG9yZy1yb2FtLXRhZyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyBvcmctc3VwZXJzdGFyDQotICAg YChvcmctc3VwZXJzdGFyLWl0ZW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKG9yZy1zdXBlcnN0YXItbGVhZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2hpdGVz cGFjZSkpKQ0KLTs7Ozs7IG9yZy10YWJsZS1zdGlja3ktaGVhZGVyDQotICAgYChvcmctdGFibGUt c3RpY2t5LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut bmV1dHJhbCkpKQ0KLTs7Ozs7IG9yZy10cmVlc2NvcGUNCi0gICBgKG9yZy10cmVlc2NvcGUtZmFj ZXMtLW1hcmtlcmludGVybmFsLW1pZGRheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLWJsdWUpKSkNCi0gICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1hcmtlcmludGVybmFs LXJhbmdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7 Ozs7IG9yaWdhbWkNCi0gICBgKG9yaWdhbWktZm9sZC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0gOmJveCB0KSkpDQotICAgYChvcmln YW1pLWZvbGQtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBvdXRsaW5lLW1vZGUNCi0gICBgKG91dGxpbmUt MSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBgKG91dGxp bmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCi0gICBgKG91 dGxpbmUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBg KG91dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCi0g ICBgKG91dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkN Ci0gICBgKG91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYp KSkNCi0gICBgKG91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTcpKSkNCi0gICBgKG91dGxpbmUtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTgpKSkNCi07Ozs7OyBvdXRsaW5lLW1pbm9yLWZhY2VzDQotICAgYChvdXRsaW5lLW1pbm9y LTAgKCgsY2xhc3MgbmlsKSkpDQotOzs7OzsgcGFja2FnZSAoTS14IGxpc3QtcGFja2FnZXMpDQot ICAgYChwYWNrYWdlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKHBhY2thZ2UtaGVscC1zZWN0aW9uLW5hbWUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHBhY2thZ2Ut bmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1hdmFp bC1vYnNvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo cGFja2FnZS1zdGF0dXMtYXZhaWxhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWJ1aWx0LWluICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1kZXBlbmRlbmN5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMt ZGlzYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAg IGAocGFja2FnZS1zdGF0dXMtZXh0ZXJuYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1oZWxkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1pbmNvbXBhdCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVz LWluc3RhbGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAg YChwYWNrYWdlLXN0YXR1cy1uZXcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLXVuc2lnbmVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyBwYWdlLWJyZWFrLWxpbmVzDQot ICAgYChwYWdlLWJyZWFrLWxpbmVzICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmZvcmVncm91 bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotOzs7OzsgcGFyYWRveA0KLSAgIGAocGFy YWRveC1hcmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAocGFyYWRveC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChwYXJhZG94LWNvbW1pdC10YWct ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSA6Ym94IHQp KSkNCi0gICBgKHBhcmFkb3gtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYXJhZG94LWRlc2NyaXB0aW9uLWZhY2UtbXVsdGls aW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHBhcmFk b3gtZG93bmxvYWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHBhcmFkb3gtaGlnaGxp Z2h0LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChwYXJhZG94LWhvbWVwYWdlLWJ1dHRv bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKHBhcmFkb3gtbW9kZS1saW5lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHBhcmFkb3gtbmFtZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAocGFyYWRveC1z dGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHBhcmFkb3gt c3RhcnJlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7 IHBhcmVuLWZhY2UNCi0gICBgKHBhcmVudGhlc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11 bmZvY3VzZWQpKSkNCi07Ozs7OyBwYXJyb3QNCi0gICBgKHBhcnJvdC1yb3RhdGUtcm90YXRpb24t aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2Vu dGEpKSkNCi07Ozs7OyBwYXNzDQotICAgYChwYXNzLW1vZGUtZGlyZWN0b3J5LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChw YXNzLW1vZGUtZW50cnktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAocGFzcy1tb2RlLWhlYWRlci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBwZXJzcC1tb2RlDQotICAgYChw ZXJzcC1mYWNlLWxpZ2h0ZXItYnVmZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAocGVyc3AtZmFjZS1saWdodGVyLWRlZmF1 bHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0g ICBgKHBlcnNwLWZhY2UtbGlnaHRlci1uaWwtcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotOzs7OzsgcGVyc3BlY3RpdmUNCi0gICBgKHBlcnNw LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h Y3RpdmUpKSkNCi07Ozs7OyBwaGktZ3JlcA0KLSAgIGAocGhpLWdyZXAtaGVhZGluZy1mYWNlICAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAocGhpLWdyZXAtbGluZS1udW1iZXIt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChwaGkt Z3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2Fs bSkpKQ0KLSAgIGAocGhpLWdyZXAtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChwaGktZ3JlcC1vdmVybGF5LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi07Ozs7OyBwaGktc2Vh cmNoDQotICAgYChwaGktcmVwbGFjZS1wcmV2aWV3LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChwaGktc2VhcmNoLWZhaWxwYXJ0LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAocGhp LXNlYXJjaC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1j eWFuKSkpDQotICAgYChwaGktc2VhcmNoLXNlbGVjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotOzs7OzsgcGtnYnVpbGQtbW9k ZQ0KLSAgIGAocGtnYnVpbGQtZXJyb3ItZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lICxmZy1sYW5n LWVycm9yKSkpDQotOzs7OzsgcG9taWRvcg0KLSAgIGAocG9taWRvci1icmVhay1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocG9taWRvci1vdmVyd29y ay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChwb21p ZG9yLXNraXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKHBvbWlkb3Itd29yay1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi07Ozs7OyBwb3dlcmxpbmUNCi0gICBgKHBvd2VybGlu ZS1hY3RpdmUwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVl LWZhaW50IDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKHBvd2VybGluZS1hY3RpdmUxICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNl ZCkpKQ0KLSAgIGAocG93ZXJsaW5lLWFjdGl2ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChwb3dlcmxpbmUtaW5hY3RpdmUw ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAocG93ZXJsaW5lLWluYWN0aXZlMSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAocG93ZXJsaW5l LWluYWN0aXZlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQotOzs7OzsgcG93ZXJsaW5lLWV2aWwNCi0gICBgKHBvd2VybGluZS1l dmlsLWJhc2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAs YmctbWFpbikpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtZW1hY3MtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwt aW5zZXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuKSkp DQotICAgYChwb3dlcmxpbmUtZXZpbC1tb3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtbm9ybWFsLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAg IGAocG93ZXJsaW5lLWV2aWwtb3BlcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1hY3RpdmUteWVsbG93KSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1yZXBsYWNlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KLSAgIGAocG93ZXJs aW5lLWV2aWwtdmlzdWFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZl LWN5YW4pKSkNCi07Ozs7OyBwcm9jZWQNCi0gICBgKHByb2NlZC1tYXJrICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQotICAgYChwcm9jZWQtbWFya2VkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQotICAgYChwcm9jZWQtc29ydC1o ZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxt IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHByb2RpZ3kNCi0gICBgKHByb2RpZ3ktZ3JlZW4tZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHByb2RpZ3ktcmVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocHJvZGlneS15ZWxsb3ctZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgcmFja2V0LW1vZGUNCi0gICBg KHJhY2tldC1kZWJ1Zy1icmVhay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtcmVkKSkpDQotICAgYChyYWNrZXQtZGVidWctbG9jYWxzLWZhY2UgKCgsY2xhc3MgOmJv eCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChyYWNr ZXQtZGVidWctcmVzdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13 aWR0aCAtMSA6Y29sb3IgbmlsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocmFja2V0LWhlcmUtc3RyaW5nLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChyYWNrZXQta2V5d29yZC1h cmd1bWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChyYWNr ZXQtbG9nZ2VyLWNvbmZpZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAocmFja2V0LWxvZ2dlci1kZWJ1Zy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFja2V0LWxvZ2dl ci1pbmZvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSkpKQ0KLSAgIGAo cmFja2V0LWxvZ2dlci10b3BpYy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHJhY2tldC1zZWxmZXZhbC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKHJhY2tldC14cC1lcnJvci1m YWNlDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZl KSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0 eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVu ZGVybGluZSB0KSkpDQotOzs7OzsgcmFpbmJvdy1ibG9ja3MNCi0gICBgKHJhaW5ib3ctYmxvY2tz LWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVw dGgtNS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChyYWluYm93 LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KHJhaW5ib3ctYmxvY2tzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLXVubWF0Y2hl ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7OyByYWluYm93LWlkZW50 aWZpZXJzDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJz LWlkZW50aWZpZXItMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0zICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlm aWVyLTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHJh aW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTYgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVy cy1pZGVudGlmaWVyLTcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAg YChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci05ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJz LWlkZW50aWZpZXItMTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChyYWlu Ym93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVy LTEzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRp ZmllcnMtaWRlbnRpZmllci0xNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0g ICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xNSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IHJhaW5ib3ctZGVsaW1pdGVycw0KLSAgIGAocmFpbmJvdy1k ZWxpbWl0ZXJzLWJhc2UtZmFjZS1lcnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYChyYWluYm93LWRlbGltaXRlcnMtYmFzZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVy cy1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAocmFp bmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC02LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRl cHRoLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJh aW5ib3ctZGVsaW1pdGVycy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtbWlzbWF0 Y2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN Ci0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy11bm1hdGNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7OyByY2lyYw0KLSAgIGAocmNpcmMtYnJp Z2h0LW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCi0gICBgKHJjaXJjLWRpbS1uaWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKHJjaXJjLW15LW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAocmNpcmMtbmljay1pbi1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmNpcmMtbmljay1pbi1tZXNzYWdlLWZ1 bGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1p bGQpKSkNCi0gICBgKHJjaXJjLW90aGVyLW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChyY2lyYy1wcm9tcHQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJjaXJj LXNlcnZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChyY2ly Yy10aW1lc3RhbXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAo cmNpcmMtdXJsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLTs7 Ozs7IHJlZ2V4cC1idWlsZGVyIChyZS1idWlsZGVyKQ0KLSAgIGAocmViLW1hdGNoLTAgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChyZWItbWF0Y2gt MSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBg KHJlYi1tYXRjaC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4p KSkNCi0gICBgKHJlYi1tYXRjaC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtcmVkKSkpDQotICAgYChyZWItcmVnZXhwLWdyb3VwaW5nLWJhY2tzbGFzaCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gpKSkNCi0g ICBgKHJlYi1yZWdleHAtZ3JvdXBpbmctY29uc3RydWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLTs7Ozs7IHJnIChyZy5l bCkNCi0gICBgKHJnLWNvbHVtbi1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJnLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChyZy1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocmctZmlsZS10YWctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChyZy1maWxlbmFtZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAocmctbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChyZy1saXRlcmFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChyZy1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAocmctcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChyZy10b2dnbGUtb2ZmLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHJn LXRvZ2dsZS1vbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQotICAgYChyZy13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgcmlwZ3JlcA0KLSAgIGAocmlwZ3JlcC1jb250 ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAocmlw Z3JlcC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAocmlwZ3JlcC1oaXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K LSAgIGAocmlwZ3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IHJtYWlsDQotICAgYChybWFpbC1oZWFkZXItbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJtYWlsLWhpZ2hsaWdo dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7 Ozs7IHJ1bGVyLW1vZGUNCi0gICBgKHJ1bGVyLW1vZGUtY29sdW1uLW51bWJlciAoKCxjbGFzcyA6 aW5oZXJpdCAocnVsZXItbW9kZS1kZWZhdWx0IGJvbGQpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChydWxlci1tb2RlLWNvbW1lbnQtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVy LW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9k ZS1jdXJyZW50LWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZv cmVncm91bmQgLGN5YW4tYWN0aXZlIDpib3ggdCkpKQ0KLSAgIGAocnVsZXItbW9kZS1kZWZhdWx0 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtZmlsbC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVs ZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKHJ1bGVy LW1vZGUtZnJpbmdlcyAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVn cm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChydWxlci1tb2RlLWdvYWwtY29sdW1uICgoLGNs YXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtbWFyZ2lucyAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1t b2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKHJ1bGVyLW1vZGUtcGFk ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQotICAgYChydWxlci1tb2RlLXRhYi1zdG9wICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1v ZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7IHNhbGxldA0K LSAgIGAoc2FsbGV0LWJ1ZmZlci1jb21wcmVzc2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctbnVhbmNlZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLWRlZmF1bHQt ZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKHNh bGxldC1idWZmZXItZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQp KSkNCi0gICBgKHNhbGxldC1idWZmZXItaGVscCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLW1vZGlmaWVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHNhbGxldC1i dWZmZXItb3JkaW5hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNh bGxldC1idWZmZXItcmVhZC1vbmx5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkp DQotICAgYChzYWxsZXQtYnVmZmVyLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY2FsbSkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1zcGVjaWFsICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoc2FsbGV0LWZseC1tYXRjaCAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCi0g ICBgKHNhbGxldC1yZWNlbnRmLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LW51YW5jZWQpKSkNCi0gICBgKHNhbGxldC1yZWNlbnRmLWZpbGUtcGF0aCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChzYWxsZXQtcmVnZXhwLW1hdGNoICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRh DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1hZ2VudGEtYWx0LW90aGVyKSkpKQ0KLSAgIGAoc2FsbGV0LXNvdXJjZS1oZWFkZXIgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12 aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChzYWxsZXQtc3Vic3RyaW5nLW1hdGNoICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVl DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1y ZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtbnVhbmNlZC1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJsdWUtYWx0LW90aGVyKSkpKQ0KLTs7Ozs7IHNlbGVjdHJ1bQ0KLSAgIGAoc2VsZWN0 cnVtLWN1cnJlbnQtY2FuZGlkYXRlDQotICAgICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1tYWluIDp1bmRlcmxpbmUgLGZnLW1haW4NCi0gICAgICAgICAgICAgIDpiYWNr Z3JvdW5kICxAKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoJ29waW5pb25hdGVkIChsaXN0IGJnLWFjdGl2ZSkpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF8gKGxpc3QgYmctaW5hY3RpdmUpKSkpKSkN Ci0gICBgKHNlbGVjdHJ1bS1wcmltYXJ5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtbnVhbmNlZC1iZw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtcmVmaW5l LWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KLSAgIGAoc2VsZWN0cnVtLXNlY29uZGFyeS1oaWdo bGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lh bi1hbHQtb3RoZXIgY3lhbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCi07 Ozs7OyBzZW1hbnRpYw0KLSAgIGAoc2VtYW50aWMtY29tcGxldGUtaW5saW5lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHNl bWFudGljLWRlY29yYXRpb24tb24tcHJpdmF0ZS1tZW1iZXJzLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKHNlbWFudGljLWRlY29yYXRpb24t b24tcHJvdGVjdGVkLW1lbWJlcnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkp DQotICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZWRpdHMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0KSkpDQotICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZnVuYy1jdXJyZW50LXRhZy1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHNlbWFudGljLWlkbGUt c3ltYm9sLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1p bGQpKSkNCi0gICBgKHNlbWFudGljLXRhZy1ib3VuZGFyeS1mYWNlICgoLGNsYXNzIDpvdmVybGlu ZSAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChzZW1hbnRpYy11bm1hdGNoZWQtc3ludGF4LWZhY2Ug KCgsY2xhc3MgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IHNlc21hbg0KLSAg IGAoc2VzbWFuLWJyb3dzZXItYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoc2VzbWFuLWJyb3dzZXItaGlnaGxpZ2gt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAo c2VzbWFuLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChzZXNtYW4tZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAoc2VzbWFuLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IHNoZWxsLXNjcmlw dC1tb2RlDQotICAgYChzaC1oZXJlZG9jICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoc2gtcXVvdGVkLWV4ZWMgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1i b2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7Ozsgc2hvdy1wYXJl bi1tb2RlDQotICAgYChzaG93LXBhcmVuLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtcGFyZW4gYmctcGFyZW4tbWF0Y2gNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1wYXJlbi1tYXRjaC1pbnRlbnNlKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoc2hvdy1wYXJlbi1tYXRjaC1leHByZXNzaW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoc2hvdy1wYXJlbi1taXNtYXRjaCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHNpZGUtbm90ZXMN Ci0gICBgKHNpZGUtbm90ZXMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3Vu ZCAsZmctZGltKSkpDQotOzs7Ozsgc2tld2VyLW1vZGUNCi0gICBgKHNrZXdlci1lcnJvci1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotOzs7Ozsgc21hcnQt bW9kZS1saW5lDQotICAgYChzbWwvY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2Rpc2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQotICAgYChzbWwvZmlsZW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHNtbC9mb2xkZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2dpdCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKHNtbC9nbG9iYWwgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2xpbmUtbnVtYmVyICgoLGNs YXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9taW5vci1tb2RlcyAoKCxjbGFz cyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvbW9kZXMgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChzbWwvbW9kaWZpZWQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBg KHNtbC9tdWxlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21s L25hbWUtZmlsbGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAg IGAoc21sL25vdC1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAg YChzbWwvbnVtYmVycy1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0K LSAgIGAoc21sL291dHNpZGUtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1yZWQpKSkNCi0gICBgKHNtbC9wb3NpdGlvbi1wZXJjZW50YWdlICgoLGNsYXNzIDpp bmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9wcmVmaXggKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL3Byb2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQg c21sL3ByZWZpeCkpKQ0KLSAgIGAoc21sL3Byb2plY3RpbGUgKCgsY2xhc3MgOmluaGVyaXQgc21s L2dpdCkpKQ0KLSAgIGAoc21sL3JlYWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL3JlbW90ZSAoKCxjbGFzcyA6aW5oZXJp dCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvc3VkbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChzbWwvdGltZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwv Z2xvYmFsKSkpDQotICAgYChzbWwvdmMgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dpdCkpKQ0KLSAg IGAoc21sL3ZjLWVkaXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWN0aXZlKSkpDQotOzs7Ozsgc21hcnRwYXJlbnMNCi0gICBgKHNwLXBhaXItb3ZlcmxheS1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo c3Atc2hvdy1wYWlyLWVuY2xvc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLW1pbGQpKSkNCi0gICBgKHNwLXNob3ctcGFpci1tYXRjaC1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtcGFyZW4gYmctcGFyZW4tbWF0Y2gNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcGFy ZW4tbWF0Y2gtaW50ZW5zZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzcC1zaG93LXBhaXItbWlzbWF0Y2gtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoc3At d3JhcC1vdmVybGF5LWNsb3NpbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJs YXktZmFjZSkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg c3AtcGFpci1vdmVybGF5LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtb3ZlcmxheS1vcGVuaW5nLXBh aXIgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5LWZhY2UpKSkNCi0gICBgKHNwLXdy YXAtdGFnLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFj ZSkpKQ0KLTs7Ozs7IHNtZXJnZQ0KLSAgIGAoc21lcmdlLWJhc2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQotICAgYChzbWVyZ2UtbG93ZXIgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KLSAgIGAoc21lcmdlLW1hcmtlcnMg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1k aWZmLW5ldXRyYWwtMikpKQ0KLSAgIGAoc21lcmdlLXJlZmluZWQtYWRkZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkNCi0gICBgKHNtZXJnZS1yZWZp bmVkLWNoYW5nZWQgKCgsY2xhc3MpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLXJlbW92ZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KLSAgIGAo c21lcmdlLXVwcGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkp KQ0KLTs7Ozs7IHNwYWNlbGluZQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtZW1hY3MgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCi0gICBgKHNwYWNlbGluZS1l dmlsLWluc2VydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkN Ci0gICBgKHNwYWNlbGluZS1ldmlsLW1vdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoc3BhY2VsaW5l LWV2aWwtcmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkp DQotICAgYChzcGFjZWxpbmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYWN0aXZlLWN5YW4pKSkNCi0gICBgKHNwYWNlbGluZS1mbHljaGVjay1lcnJvciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWlu Zm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUt Zmx5Y2hlY2std2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0K LSAgIGAoc3BhY2VsaW5lLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWZyaW5nZS1ibHVlKSkpDQotICAgYChzcGFjZWxpbmUtbW9kaWZpZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCi0gICBgKHNwYWNlbGluZS1weXRo b24tdmVudiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHNw YWNlbGluZS1yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJl ZCkpKQ0KLSAgIGAoc3BhY2VsaW5lLXVubW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLWN5YW4pKSkNCi07Ozs7OyBzcGVlZGJhcg0KLSAgIGAoc3BlZWRiYXItYnV0 dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAoc3BlZWRiYXItZGlyZWN0 b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAoc3BlZWRiYXItZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChzcGVlZGJhci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoc3BlZWRiYXItc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChzcGVlZGJhci1zZXBhcmF0 b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkN Ci0gICBgKHNwZWVkYmFyLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyKSkpDQotOzs7Ozsgc3BlbGwtZnUNCi0gICBgKHNwZWxsLWZ1LWluY29ycmVjdC1mYWNl DQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkp IGNsYXNzKQ0KLSAgICAgICA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lICg6 c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6 dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBzdHJpcGVzDQotICAgYChzdHJpcGVzICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi07Ozs7OyBzdWNjZXNzDQotICAgYChzdWdn ZXN0LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dC1vdGhlcikpKQ0KLTs7Ozs7IHN3aXRjaC13aW5kb3cNCi0gICBgKHN3aXRjaC13aW5kb3ctYmFj a2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChzd2l0Y2gtd2lu ZG93LWxhYmVsICgoLGNsYXNzIDpoZWlnaHQgMy4wIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2Up KSkNCi07Ozs7OyBzd2lwZXINCi0gICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCkpKQ0KLSAgIGAoc3dp cGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1jeWFuKSkpDQotICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTMgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHN3aXBl ci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtZ3JlZW4pKSkNCi0gICBgKHN3aXBlci1saW5lLWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+ PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAoc3dpcGVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXItbGluZS1mYWNl KSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IHN3aXBlci1s aW5lLWZhY2UpKSkNCi0gICBgKHN3aXBlci1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQg c3dpcGVyLWxpbmUtZmFjZSkpKQ0KLSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6 aW5oZXJpdCBzd2lwZXItbGluZS1mYWNlKSkpDQotOzs7Ozsgc3dvb3ANCi0gICBgKHN3b29wLWZh Y2UtaGVhZGVyLWZvcm1hdC1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zKSkp KQ0KLSAgIGAoc3dvb3AtZmFjZS1saW5lLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTQpKSkpDQotICAgYChzd29vcC1mYWNlLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHN3b29wLWZhY2UtdGFyZ2V0LWxp bmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lv biAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS10YXJnZXQtd29yZHMgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07Ozs7OyBzeA0KLSAg IGAoc3gtaW5ib3gtaXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAoc3gtaW5ib3gtaXRlbS10eXBlLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJp dCAoc3gtaW5ib3gtaXRlbS10eXBlIGJvbGQpKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWFu c3dlcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChzeC1xdWVzdGlvbi1s aXN0LWFuc3dlcnMtYWNjZXB0ZWQgKCgsY2xhc3MgOmJveCB0IDpmb3JlZ3JvdW5kICxncmVlbikp KQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1ib3VudHkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHN4LXF1ZXN0 aW9uLWxpc3QtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYChzeC1xdWVzdGlvbi1saXN0LWZhdm9yaXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1wYXJl bnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxp c3QtcmVhZC1xdWVzdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChz eC1xdWVzdGlvbi1saXN0LXNjb3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1p bGQpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUtdXB2b3RlZCAoKCxjbGFzcyA6aW5o ZXJpdCAoc3gtcXVlc3Rpb24tbGlzdC1zY29yZSBib2xkKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24t bGlzdC11bnJlYWQtcXVlc3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1hY2NlcHRlZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbW9kZS1jbG9zZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXll bGxvdyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwpKSkpDQotICAgYChzeC1xdWVzdGlv bi1tb2RlLWNsb3NlZC1yZWFzb24gKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3Ig bmlsKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1jb250 ZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoc3gtcXVlc3Rp b24tbW9kZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChzeC1xdWVz dGlvbi1tb2RlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWtiZC10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6aGVpZ2h0IDAuOSA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctbWFpbiA6c3R5bGUg cmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rp b24tbW9kZS1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChzeC1x dWVzdGlvbi1tb2RlLXNjb3JlLWRvd252b3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLXNjb3JlLXVwdm90ZWQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS10 aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChzeC1xdWVzdGlvbi1tb2RlLXRpdGxlLWNvbW1lbnRzICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoc3gtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoc3gtdXNlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KLSAgIGAoc3gtdXNlci1yZXB1dGF0aW9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi07Ozs7OyBzeW1ib2wtb3ZlcmxheQ0KLSAgIGAoc3ltYm9sLW92ZXJs YXktZGVmYXVsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2Fy bSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0yICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChzeW1ib2wt b3ZlcmxheS1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxs b3cpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoc3ltYm9s LW92ZXJsYXktZmFjZS02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQp KSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWN5YW4pKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtOCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7Ozs7IHN5c2xvZy1tb2Rl DQotICAgYChzeXNsb2ctZGVidWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHN5c2xvZy1maWxlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc3lzbG9nLWhp ZGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKHN5c2xvZy1ob3VyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChzeXNsb2ctaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoc3lzbG9nLWlwICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKHN5c2xvZy1zdSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQotICAgYChzeXNsb2ctd2FybiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyB0YWJsZSAoYnVpbHQtaW4gdGFibGUuZWwpDQot ICAgYCh0YWJsZS1jZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcpKSkN Ci07Ozs7OyB0ZWxlcGhvbmUtbGluZQ0KLSAgIGAodGVsZXBob25lLWxpbmUtYWNjZW50LWFjdGl2 ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGJnLWluYWN0 aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1hY2NlbnQtaW5hY3RpdmUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYCh0ZWxl cGhvbmUtbGluZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLWVtYWNzICgoLGNsYXNzIDpp bmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1i ZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQg dGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KLSAg IGAodGVsZXBob25lLWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25l LWxpbmUtZXZpbCA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcpKSkNCi0gICBgKHRlbGVw aG9uZS1saW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2 aWwgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1vcGVy YXRvciAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICx5 ZWxsb3ctc3VidGxlLWJnKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLXJlcGxhY2UgKCgs Y2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAscmVkLWludGVu c2UtYmcpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtdmlzdWFsICgoLGNsYXNzIDppbmhl cml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0K LSAgIGAodGVsZXBob25lLWxpbmUtcHJvamVjdGlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLXVuaW1wb3J0YW50ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtd2FybmluZyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7 OzsgdGVybQ0KLSAgIGAodGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodGVybS1ib2xkICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCi0gICBgKHRlcm0tY29sb3ItYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZSA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxjeWFuIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCh0ZXJtLWNvbG9yLWdyZWVuICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHRl cm0tY29sb3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YSA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAodGVybS1jb2xvci1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQg LHJlZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYCh0ZXJtLWNvbG9yLXllbGxvdyAoKCxjbGFz cyA6YmFja2dyb3VuZCAseWVsbG93IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHRlcm0t dW5kZXJsaW5lICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHRvbWF0aW5obw0KLSAg IGAodG9tYXRpbmhvLW9rLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkp KQ0KLSAgIGAodG9tYXRpbmhvLXBhdXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1pbnRlbnNlKSkpDQotICAgYCh0b21hdGluaG8tcmVzZXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotOzs7OzsgdHJhbnNpZW50DQotICAgYCh0cmFuc2llbnQtYWN0aXZl LWluZml4ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAg IGAodHJhbnNpZW50LWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KLSAgIGAodHJhbnNpZW50LWFyZ3VtZW50ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHRyYW5zaWVudC1ibHVlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHRyYW5zaWVudC1kaXNh YmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkN Ci0gICBgKHRyYW5zaWVudC1lbmFibGVkLXN1ZmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYCh0cmFuc2llbnQtaGVhZGluZyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0cmFuc2llbnQtaW5h Y3RpdmUtYXJndW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHJh bnNpZW50LWluYWN0aXZlLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKHRyYW5zaWVudC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KLSAgIGAodHJhbnNpZW50LW1pc21hdGNoZWQta2V5ICgoLGNsYXNzIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAodHJhbnNpZW50LW5vbnN0YW5kYXJkLWtleSAoKCxjbGFzcyA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKHRyYW5zaWVudC1waW5rICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHRyYW5zaWVudC1yZWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBgKHRyYW5zaWVudC10ZWFsICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YCh0cmFuc2llbnQtdW5yZWFjaGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNl ZCkpKQ0KLSAgIGAodHJhbnNpZW50LXVucmVhY2hhYmxlLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYCh0cmFuc2llbnQtdmFsdWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgdHJhc2hlZA0KLSAgIGAodHJhc2hlZC1kZWxl dGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQotICAgYCh0cmFz aGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodHJhc2hl ZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQotICAg YCh0cmFzaGVkLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkp KQ0KLSAgIGAodHJhc2hlZC1yZXN0b3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1t YXJrLXNlbCkpKQ0KLSAgIGAodHJhc2hlZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv biA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi07Ozs7OyB0cmVlbWFjcw0KLSAgIGAodHJlZW1h Y3MtZGlyZWN0b3J5LWNvbGxhcHNlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg ZGlyZWQtZGlyZWN0b3J5KSkpDQotICAgYCh0cmVlbWFjcy1maWxlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWZyaW5nZS1pbmRpY2F0b3ItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LWFk ZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKHRy ZWVtYWNzLWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1p bnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LWlnbm9yZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0cmVlbWFjcy1naXQtbW9kaWZpZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAodHJl ZW1hY3MtZ2l0LXJlbmFtZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC11bm1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAodHJlZW1hY3MtaGVscC1j b2x1bW4tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYCh0cmVl bWFjcy1oZWxwLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVy KSkpDQotICAgYCh0cmVlbWFjcy1vbi1mYWlsdXJlLXB1bHNlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHRyZWVtYWNzLW9uLXN1Y2Nlc3Mt cHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkp DQotICAgYCh0cmVlbWFjcy1yb290LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmhlaWdodCAxLjIgOnVuZGVybGluZSB0KSkpDQotICAgYCh0 cmVlbWFjcy1yb290LXJlbW90ZS1kaXNjb25uZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0 cmVlbWFjcy1yb290LXJlbW90ZS1mYWNlIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHRy ZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1m YWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh0cmVlbWFjcy1yb290LXJlbW90ZS11 bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC11bnJlYWRhYmxl LWZhY2UpKSkNCi0gICBgKHRyZWVtYWNzLXJvb3QtdW5yZWFkYWJsZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHRyZWVtYWNzLXJvb3QtZmFjZSA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAodHJl ZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAo dHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K LTs7Ozs7IHR0eS1tZW51DQotICAgYCh0dHktbWVudS1kaXNhYmxlZC1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHR5LW1lbnUt ZW5hYmxlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHR5LW1lbnUtc2VsZWN0ZWQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi07Ozs7OyB0dWFyZWcN Ci0gICBgKGNhbWwtdHlwZXMtZGVmLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLXJlZCkpKQ0KLSAgIGAoY2FtbC10eXBlcy1leHByLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChjYW1sLXR5cGVzLW9jYy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoY2Ft bC10eXBlcy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1i bHVlKSkpDQotICAgYChjYW1sLXR5cGVzLXR5cGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHR1YXJlZy1mb250LWRvdWJsZS1zZW1p Y29sb24tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1hdHRyaWJ1 dGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stY29uc3RydWN0b3It ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHVhcmVnLWZvbnQt bG9jay1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCBib2xkKSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1leHRlbnNpb24tbm9kZS1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KHR1YXJlZy1mb250LWxvY2stZ292ZXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbmZpeC1leHRl bnNpb24tbm9kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9u dC1sb2NrLWludGVyYWN0aXZlLWRpcmVjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2staW50ZXJhY3RpdmUtZXJy b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZCByZWQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2Nr LWludGVyYWN0aXZlLW91dHB1dC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQp KSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWxhYmVsLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50 KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1saW5lLW51bWJlci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stbW9k dWxlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRh LWFsdCBtYWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stbXVsdGlz dGFnZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVn LWZvbnQtbG9jay1vcGVyYXRvci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctb3BhbS1l cnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KSkp KQ0KLSAgIGAodHVhcmVnLW9wYW0tcGtnLXZhcmlhYmxlLW5hbWUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IHR5cGVzY3JpcHQNCi0gICBgKHR5cGVzY3JpcHQtanNk b2MtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodHlwZXNjcmlwdC1qc2RvYy10eXBlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAodHlwZXNjcmlwdC1qc2RvYy12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyB1bmRvLXRyZWUN Ci0gICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWFjdGl2ZS1icmFuY2gtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh1bmRvLXRyZWUtdmlz dWFsaXplci1jdXJyZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkp KQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLXJlZ2lzdGVyLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAodW5kby10 cmVlLXZpc3VhbGl6ZXItdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1pbnRlbnNlKSkpDQotOzs7OzsgdmMgKHZjLWhvb2tzLmVsKQ0KLSAgIGAodmMtY29uZmxpY3Qt c3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAodmMtZWRpdGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWN0aXZlKSkpDQotICAgYCh2Yy1sb2NhbGx5LWFkZGVkLXN0YXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAodmMtbG9ja2VkLXN0YXRlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAodmMtbWlzc2luZy1zdGF0ZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAodmMtbmVlZHMtdXBkYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodmMtcmVtb3Zl ZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAodmMtc3Rh dGUtYmFzZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYCh2Yy11cC10 by1kYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07 Ozs7OyB2ZGlmZg0KLSAgIGAodmRpZmYtYWRkaXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQotICAgYCh2ZGlmZi1jaGFuZ2UtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQpKSkNCi0gICBgKHZkaWZmLWNsb3Nl ZC1mb2xkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3Jl Z3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAodmRpZmYtcmVmaW5lLWFkZGVkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYCh2 ZGlmZi1yZWZpbmUtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJl ZmluZS1jaGFuZ2VkKSkpDQotICAgYCh2ZGlmZi1zdWJ0cmFjdGlvbi1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLSAgIGAodmRpZmYtdGFyZ2V0LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotOzs7Ozsg dmltaXNoLWZvbGQNCi0gICBgKHZpbWlzaC1mb2xkLWZyaW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHZpbWlzaC1mb2xkLW1vdXNlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYCh2aW1pc2gtZm9sZC1v dmVybGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLTs7Ozs7IHZpc2libGUtbWFyaw0KLSAgIGAodmlzaWJsZS1tYXJrLWFjdGl2 ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnKSkpDQotICAgYCh2aXNpYmxl LW1hcmstZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAg IGAodmlzaWJsZS1tYXJrLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctaW50ZW5z ZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTEgKCgsY2xhc3MgOmJhY2tn cm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQt ZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkNCi07Ozs7OyB2 aXN1YWwtcmVnZXhwDQotICAgYCh2ci9ncm91cC0wICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAodnIvZ3JvdXAtMSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHZyL2dyb3VwLTIgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAodnIvbWF0Y2gtMCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYCh2ci9t YXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0g ICBgKHZyL21hdGNoLXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVt ZS1pbnRlbnNlLW5ldXRyYWwgYm9sZCkpKSkNCi07Ozs7OyB2b2xhdGlsZS1oaWdobGlnaHRzDQot ICAgYCh2aGwvZGVmYXVsdC1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVy c2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi07Ozs7OyB2 dGVybQ0KLSAgIGAodnRlcm0tY29sb3ItYmxhY2sgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXkz NSIgOmZvcmVncm91bmQgImdyYXkzNSIpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWJsdWUgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHZ0ZXJtLWNv bG9yLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4gOmZvcmVncm91bmQgLGN5YW4pKSkN Ci0gICBgKHZ0ZXJtLWNvbG9yLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4g OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHZ0ZXJtLWNv bG9yLWludmVyc2UtdmlkZW8gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmludmVyc2Ut dmlkZW8gdCkpKQ0KLSAgIGAodnRlcm0tY29sb3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsbWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodnRlcm0tY29sb3ItcmVk ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAodnRl cm0tY29sb3ItdW5kZXJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0g OnVuZGVybGluZSB0KSkpDQotICAgYCh2dGVybS1jb2xvci13aGl0ZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAiZ3JheTY1IiA6Zm9yZWdyb3VuZCAiZ3JheTY1IikpKQ0KLSAgIGAodnRlcm0tY29sb3It eWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KLTs7Ozs7IHdjaGVjay1tb2RlDQotICAgYCh3Y2hlY2stZGVmYXVsdC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotOzs7Ozsgd2ViLW1vZGUNCi0gICBg KHdlYi1tb2RlLWFubm90YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21t ZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWFubm90YXRpb24taHRtbC1mYWNlICgoLGNsYXNz IDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYW5ub3Rh dGlvbi10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UgOnVu ZGVybGluZSB0KSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1hdHRyLW5hbWUtZmFjZSAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQot ICAgYCh3ZWItbW9kZS1ibG9jay1hdHRyLXZhbHVlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50 KSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stY29udHJvbC1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBt YWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1v ZGUtYmxvY2stZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKHdlYi1tb2RlLWJsb2NrLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkp KQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2Vi LW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWJvbGQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQotICAgYCh3ZWItbW9kZS1idWlsdGluLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt Ym9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3ZWIt bW9kZS1jb21tZW50LWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3Jv dW5kICxiZy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkp DQotICAgYCh3ZWItbW9kZS1jb25zdGFudC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3 ZWItbW9kZS1jc3MtYXQtcnVsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWIt bW9kZS1jc3MtY29sb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAg YCh3ZWItbW9kZS1jc3MtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNv bW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLWZ1bmN0aW9uLWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXByaW9yaXR5 LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFsdCB5 ZWxsb3ctYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2Rl LWNzcy1wcm9wZXJ0eS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtcHNldWRv LWNsYXNzLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5 YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3Nz LXNlbGVjdG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0 IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtdmFyaWFibGUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYCh3ZWItbW9k ZS1jdXJyZW50LWNvbHVtbi1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQotICAgYCh3ZWItbW9kZS1jdXJyZW50LWVsZW1lbnQtaGlnaGxpZ2h0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYCh3ZWItbW9k ZS1kb2N0eXBlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3ZWItbW9kZS1lcnJvci1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYCh3ZWItbW9kZS1m aWx0ZXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2Vu dGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1mb2xkZWQtZmFjZSAoKCxjbGFzcyA6dW5kZXJs aW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLWZ1bmN0aW9uLWNhbGwtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAg IGAod2ViLW1vZGUtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1o dG1sLWF0dHItY3VzdG9tLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1lbmdp bmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUt aHRtbC1hdHRyLWVxdWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1s LWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2Rl LWh0bWwtZW50aXR5LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5 ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0g ICBgKHdlYi1tb2RlLWh0bWwtdGFnLWJyYWNrZXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctZGltKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy1jdXN0b20tZmFjZSAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkp DQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10 YWctbmFtZXNwYWNlZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJv bGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctdW5jbG9zZWQtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZCByZWQtZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAod2ViLW1vZGUtaW5sYXktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQotICAgYCh3ZWItbW9kZS1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6c2xhbnQgaXRhbGlj KSkpDQotICAgYCh3ZWItbW9kZS1qYXZhc2NyaXB0LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWphdmFzY3JpcHQt c3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0g ICBgKHdlYi1tb2RlLWpzb24tY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2Rl LWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtanNvbi1jb250ZXh0LWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQt ZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1qc29uLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHdlYi1tb2RlLWpzb24tc3RyaW5nLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWpz eC1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTItZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh3ZWIt bW9kZS1qc3gtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtNS1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkp KQ0KLSAgIGAod2ViLW1vZGUta2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJv bGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtcGFyYW0tbmFtZS1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS1wYXJ0LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1j b21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB3ZWItbW9kZS1ibG9jay1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1wYXJ0LXN0cmluZy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9k ZS1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZWQtYWx0LW90aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1z Y3JpcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCi0gICBg KHdlYi1tb2RlLXNxbC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1zdHJpbmctZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWlu dCkpKSkNCi0gICBgKHdlYi1tb2RlLXN0eWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1v ZGUtcGFydC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1zeW1ib2wtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkp KSkNCi0gICBgKHdlYi1tb2RlLXR5cGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS11bmRl cmxpbmUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLXZhcmlh YmxlLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lh biBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtd2FybmluZy1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyIHll bGxvdy1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS13aGl0ZXNwYWNlLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRl c3BhY2UpKSkNCi07Ozs7OyB3Z3JlcA0KLSAgIGAod2dyZXAtZGVsZXRlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAod2dyZXAtZG9uZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYCh3 Z3JlcC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0K LSAgIGAod2dyZXAtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi0gICBgKHdncmVwLXJlamVjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLTs7Ozs7IHdoaWNoLWZ1bmN0aW9uLW1vZGUNCi0g ICBgKHdoaWNoLWZ1bmMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQot Ozs7Ozsgd2hpY2gta2V5DQotICAgYCh3aGljaC1rZXktY29tbWFuZC1kZXNjcmlwdGlvbi1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCh3aGljaC1rZXktZ3JvdXAtZGVz Y3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KHdoaWNoLWtleS1oaWdobGlnaHRlZC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2hpY2gta2V5LWtleS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAod2hp Y2gta2V5LWxvY2FsLW1hcC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYCh3aGljaC1rZXktbm90ZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAod2hpY2gta2V5 LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHdo aWNoLWtleS1zcGVjaWFsLWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotOzs7Ozsgd2hpdGVzcGFjZS1tb2RlDQotICAgYCh3aGl0 ZXNwYWNlLWJpZy1pbmRlbnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJl ZCkpKQ0KLSAgIGAod2hpdGVzcGFjZS1lbXB0eSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHdoaXRlc3BhY2UtaHNwYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQot ICAgYCh3aGl0ZXNwYWNlLWluZGVudGF0aW9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0 ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLWxp bmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQotICAgYCh3 aGl0ZXNwYWNlLW5ld2xpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZv cmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2Utc3BhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2Up KSkNCi0gICBgKHdoaXRlc3BhY2Utc3BhY2UtYWZ0ZXItdGFiICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYCh3aGl0ZXNwYWNlLXNwYWNlLWJlZm9y ZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBg KHdoaXRlc3BhY2UtdGFiICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3Jl Z3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLXRyYWlsaW5nICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7Ozsgd2luZG93LWRp dmlkZXItbW9kZQ0KLSAgIGAod2luZG93LWRpdmlkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXdpbmRvdy1kaXZpZGVyLWlubmVyKSkpDQotICAgYCh3aW5kb3ctZGl2aWRlci1maXJzdC1waXhl bCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCi0gICBg KHdpbmRvdy1kaXZpZGVyLWxhc3QtcGl4ZWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRv dy1kaXZpZGVyLW91dGVyKSkpDQotOzs7Ozsgd2ludW0NCi0gICBgKHdpbnVtLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQotOzs7Ozsgd3JpdGVnb29kLW1vZGUNCi0gICBgKHdyaXRlZ29vZC1kdXBsaWNh dGVzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkLWFs dCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdyaXRlZ29vZC1wYXNzaXZlLXZvaWNlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctd2Fy bmluZykpKQ0KLSAgIGAod3JpdGVnb29kLXdlYXNlbHMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLW51YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IHdvbWFu DQotICAgYCh3b21hbi1hZGRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKHdvbWFuLWJvbGQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAod29tYW4taXRhbGljICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHdvbWFuLXVua25vd24gKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdyA6c2xhbnQgaXRhbGljKSkpDQotOzs7OzsgeGFoLWVsaXNwLW1vZGUN Ci0gICBgKHhhaC1lbGlzcC1hdC1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1h bHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKHhhaC1lbGlzcC1jYXAtdmFyaWFibGUgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0LW90aGVyIHJlZC1hbHQtb3RoZXIt ZmFpbnQpKSkpDQotICAgYCh4YWgtZWxpc3AtY29tbWFuZC1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkp DQotICAgYCh4YWgtZWxpc3AtZG9sbGFyLXN5bWJvbCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncmVlbiBncmVlbi1mYWludCkpKSkNCi07Ozs7OyB4cmVmDQotICAgYCh4cmVm LWZpbGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoeHJlZi1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYCh4cmVmLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNoKSkpDQot Ozs7OzsgeWFtbC1tb2RlDQotICAgYCh5YW1sLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7OzsgeWFzbmlwcGV0DQotICAgYCh5YXMtZmll bGQtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLTs7Ozs7IHp0cmVlDQotICAgYCh6dHJlZXAtYXJyb3ctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHp0cmVlcC1kaWZmLWhlYWRl ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtaGVhZGVyLXNtYWxsLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAg YCh6dHJlZXAtZGlmZi1tb2RlbC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKHp0cmVlcC1kaWZmLW1vZGVsLWRpZmYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1pZ25vcmVkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAoenRyZWVwLWRp ZmYtbW9kZWwtbm9ybWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoenRyZWVwLWV4cGFuZC1zaWduLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKHp0cmVlcC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQg MS4yIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHp0cmVlcC1sZWFmLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHp0cmVlcC1ub2RlLWNvdW50 LWNoaWxkcmVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAoenRyZWVwLW5vZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKSkN Ci07Ozs7IEVtYWNzIDI3Kw0KLSAgKHdoZW4gKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpDQot ICAgIChjdXN0b20tdGhlbWUtc2V0LWZhY2VzDQotICAgICAnbW9kdXMtdml2ZW5kaQ0KLTs7Ozs7 IGxpbmUgbnVtYmVycyAoYGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUnIGFuZCBnbG9iYWwgdmFy aWFudCkNCi0gICAgIDs7IE5PVEUgdGhhdCB0aGlzIGlzIHNwZWNpZmljYWxseSBmb3IgdGhlIGZh Y2VzIHRoYXQgd2VyZQ0KLSAgICAgOzsgaW50cm9kdWNlZCBpbiBFbWFjcyAyNywgYXMgdGhlIG90 aGVyIGZhY2VzIGFyZSBhbHJlYWR5DQotICAgICA7OyBzdXBwb3J0ZWQuDQotICAgICBgKGxpbmUt bnVtYmVyLW1ham9yLXRpY2sgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZGVmYXVsdCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAseWVsbG93LW51 YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICAgIGAobGluZS1udW1iZXItbWlub3ItdGljayAo KCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7 Ozs7IHRhYi1iYXItbW9kZQ0KLSAgICAgYCh0YWItYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy10YWItYmFyIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1iYXItdGFiICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1h Y3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWIt YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1iYXItdGFiLWluYWN0 aXZlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10 YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IHRhYi1saW5lLW1vZGUN Ci0gICAgIGAodGFiLWxpbmUgKCgsY2xhc3MgOmhlaWdodCAwLjk1IDpiYWNrZ3JvdW5kICxiZy10 YWItYmFyIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1saW5lLWNsb3NlLWhp Z2hsaWdodCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgICBgKHRhYi1saW5lLWhp Z2hsaWdodCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KLSAgICAgYCh0YWItbGluZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWFjdGl2ZSkNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgICBgKHRhYi1saW5lLXRhYi1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0 IHRhYi1saW5lLXRhYikpKQ0KLSAgICAgYCh0YWItbGluZS10YWItaW5hY3RpdmUgKCgsY2xhc3Mg OmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1pbmFjdGl2ZSkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUg OmZvcmVncm91bmQgLGZnLWRpbSkpKSkpDQotOzs7OyBFbWFjcyAyOCsNCi0gICh3aGVuICg+PSBl bWFjcy1tYWpvci12ZXJzaW9uIDI4KQ0KLSAgICAoY3VzdG9tLXRoZW1lLXNldC1mYWNlcw0KLSAg ICAgJ21vZHVzLXZpdmVuZGkNCi07Ozs7OyBpc2VhcmNoIHJlZ2V4cCBncm91cHMNCi0gICAgIGAo aXNlYXJjaC1ncm91cC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1 ZSkpKQ0KLSAgICAgYChpc2VhcmNoLWdyb3VwLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1tYWdlbnRhKSkpKSkNCi07OzsgdmFyaWFibGVzDQotICAoY3VzdG9tLXRoZW1l LXNldC12YXJpYWJsZXMNCi0gICAnbW9kdXMtdml2ZW5kaQ0KLTs7OzsgYW5zaS1jb2xvcnMNCi0g ICBgKGFuc2ktY29sb3ItZmFjZXMtdmVjdG9yIFtkZWZhdWx0IGJvbGQgc2hhZG93IGl0YWxpYyB1 bmRlcmxpbmUgc3VjY2VzcyB3YXJuaW5nIGVycm9yXSkNCi0gICBgKGFuc2ktY29sb3ItbmFtZXMt dmVjdG9yIFssYmctbWFpbiAscmVkICxncmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFu ICxmZy1tYWluXSkNCi07Ozs7IGF3ZXNvbWUtdHJheQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZGUt bGluZS1hY3RpdmUtY29sb3IgLGJsdWUpDQotICAgYChhd2Vzb21lLXRyYXktbW9kZS1saW5lLWlu YWN0aXZlLWNvbG9yICxiZy1hY3RpdmUpDQotOzs7OyBmbHltYWtlIGZyaW5nZSBpbmRpY2F0b3Jz DQotICAgYChmbHltYWtlLWVycm9yLWJpdG1hcCAnKGZseW1ha2UtZG91YmxlLWV4Y2xhbWF0aW9u LW1hcmsgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpDQotICAgYChmbHltYWtlLXdhcm5pbmctYml0 bWFwICcoZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkNCi0gICBg KGZseW1ha2Utbm90ZS1iaXRtYXAgJyhleGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5n ZS1jeWFuKSkNCi07Ozs7IGlidWZmZXINCi0gICBgKGlidWZmZXItZGVsZXRpb24tZmFjZSAnbW9k dXMtdGhlbWUtbWFyay1kZWwpDQotICAgYChpYnVmZmVyLWZpbHRlci1ncm91cC1uYW1lLWZhY2Ug J21vZHVzLXRoZW1lLW1hcmstc3ltYm9sKQ0KLSAgIGAoaWJ1ZmZlci1tYXJrZWQtZmFjZSAnbW9k dXMtdGhlbWUtbWFyay1zZWwpDQotICAgYChpYnVmZmVyLXRpdGxlLWZhY2UgJ21vZHVzLXRoZW1l LXBzZXVkby1oZWFkZXIpDQotOzs7OyBoaWdobGlnaHQtdGFpbA0KLSAgIGAoaGlnaGxpZ2h0LXRh aWwtY29sb3JzDQotICAgICAnKCgsZ3JlZW4tc3VidGxlLWJnIC4gMCkNCi0gICAgICAgKCxjeWFu LXN1YnRsZS1iZyAuIDIwKSkpDQotOzs7OyBobC10b2RvDQotICAgYChobC10b2RvLWtleXdvcmQt ZmFjZXMNCi0gICAgICcoKCJIT0xEIiAuICx5ZWxsb3ctYWx0KQ0KLSAgICAgICAoIlRPRE8iIC4g LG1hZ2VudGEpDQotICAgICAgICgiTkVYVCIgLiAsbWFnZW50YS1hbHQtb3RoZXIpDQotICAgICAg ICgiVEhFTSIgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICgiUFJPRyIgLiAsY3lhbikNCi0gICAg ICAgKCJPS0FZIiAuICxjeWFuLWFsdCkNCi0gICAgICAgKCJET05UIiAuICxncmVlbi1hbHQpDQot ICAgICAgICgiRkFJTCIgLiAscmVkKQ0KLSAgICAgICAoIkJVRyIgLiAscmVkKQ0KLSAgICAgICAo IkRPTkUiIC4gLGdyZWVuKQ0KLSAgICAgICAoIk5PVEUiIC4gLHllbGxvdy1hbHQtb3RoZXIpDQot ICAgICAgICgiS0xVREdFIiAuICx5ZWxsb3cpDQotICAgICAgICgiSEFDSyIgLiAseWVsbG93KQ0K LSAgICAgICAoIlRFTVAiIC4gLHJlZC1udWFuY2VkKQ0KLSAgICAgICAoIkZJWE1FIiAuICxyZWQt YWx0LW90aGVyKQ0KLSAgICAgICAoIlhYWCsiIC4gLHJlZC1hbHQpDQotICAgICAgICgiUkVWSUVX IiAuICxjeWFuLWFsdC1vdGhlcikNCi0gICAgICAgKCJERVBSRUNBVEVEIiAuICxibHVlLW51YW5j ZWQpKSkNCi07Ozs7IHZjLWFubm90YXRlIChDLXggdiBnKQ0KLSAgIGAodmMtYW5ub3RhdGUtYmFj a2dyb3VuZCBuaWwpDQotICAgYCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUgbmlsKQ0KLSAg IGAodmMtYW5ub3RhdGUtY29sb3ItbWFwDQotICAgICAnKCgyMCAuICxyZWQpDQotICAgICAgICg0 MCAuICxtYWdlbnRhKQ0KLSAgICAgICAoNjAgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICg4MCAu ICxyZWQtYWx0KQ0KLSAgICAgICAoMTAwIC4gLHllbGxvdykNCi0gICAgICAgKDEyMCAuICx5ZWxs b3ctYWx0KQ0KLSAgICAgICAoMTQwIC4gLGZnLXNwZWNpYWwtd2FybSkNCi0gICAgICAgKDE2MCAu ICxmZy1zcGVjaWFsLW1pbGQpDQotICAgICAgICgxODAgLiAsZ3JlZW4pDQotICAgICAgICgyMDAg LiAsZ3JlZW4tYWx0KQ0KLSAgICAgICAoMjIwIC4gLGN5YW4tYWx0LW90aGVyKQ0KLSAgICAgICAo MjQwIC4gLGN5YW4tYWx0KQ0KLSAgICAgICAoMjYwIC4gLGN5YW4pDQotICAgICAgICgyODAgLiAs Zmctc3BlY2lhbC1jb2xkKQ0KLSAgICAgICAoMzAwIC4gLGJsdWUpDQotICAgICAgICgzMjAgLiAs Ymx1ZS1hbHQpDQotICAgICAgICgzNDAgLiAsYmx1ZS1hbHQtb3RoZXIpDQotICAgICAgICgzNjAg LiAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHZjLWFubm90YXRlLXZlcnktb2xkLWNvbG9y IG5pbCkNCi07Ozs7IHh0ZXJtLWNvbG9yDQotICAgYCh4dGVybS1jb2xvci1uYW1lcyBbLGJnLW1h aW4gLHJlZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50YSAsY3lhbiAsZmctYWx0XSkNCi0g ICBgKHh0ZXJtLWNvbG9yLW5hbWVzLWJyaWdodCBbLGJnLWFsdCAscmVkLWFsdCAsZ3JlZW4tYWx0 ICx5ZWxsb3ctYWx0ICxibHVlLWFsdCAsbWFnZW50YS1hbHQgLGN5YW4tYWx0ICxmZy1tYWluXSkp DQotOzs7IENvbmRpdGlvbmFsIHRoZW1lIHZhcmlhYmxlcw0KLTs7Ozsgb3JnLXNyYy1ibG9jay1m YWNlcw0KLSAgOzsgdGhpcyBpcyBhIHVzZXIgb3B0aW9uIHRvIGFkZCBhIGNvbG91ci1jb2RlZCBi YWNrZ3JvdW5kIHRvIHNvdXJjZQ0KLSAgOzsgYmxvY2tzIGZvciB2YXJpb3VzIHByb2dyYW1taW5n IGxhbmd1YWdlcw0KLSAgKHdoZW4gKGVxIG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcyAn cmFpbmJvdykNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtdmFyaWFibGVzDQotICAgICAnbW9kdXMt dml2ZW5kaQ0KLSAgICAgYChvcmctc3JjLWJsb2NrLWZhY2VzICAgICAgICAgICAgICA7IFRPRE8g dGhpcyBsaXN0IHNob3VsZCBiZSBleHBhbmRlZA0KLSAgICAgICBgKCgiZW1hY3MtbGlzcCIgbW9k dXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiZWxpc3AiIG1vZHVzLXRoZW1l LW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImNsb2p1cmUiIG1vZHVzLXRoZW1lLW51YW5j ZWQtbWFnZW50YSkNCi0gICAgICAgICAoImNsb2p1cmVzY3JpcHQiIG1vZHVzLXRoZW1lLW51YW5j ZWQtbWFnZW50YSkNCi0gICAgICAgICAoImMiIG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSkNCi0g ICAgICAgICAoImMrKyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlKQ0KLSAgICAgICAgICgic2gi IG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQotICAgICAgICAgKCJzaGVsbCIgbW9kdXMtdGhl bWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoImh0bWwiIG1vZHVzLXRoZW1lLW51YW5jZWQt eWVsbG93KQ0KLSAgICAgICAgICgieG1sIiBtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdykNCi0g ICAgICAgICAoImNzcyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQpDQotICAgICAgICAgKCJzY3Nz IiBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCkNCi0gICAgICAgICAoInB5dGhvbiIgbW9kdXMtdGhl bWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoImlweXRob24iIG1vZHVzLXRoZW1lLW51YW5j ZWQtbWFnZW50YSkNCi0gICAgICAgICAoInIiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0g ICAgICAgICAoInlhbWwiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAgICAgICAoImNv bmYiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAgICAgICAoImRvY2tlciIgbW9kdXMt dGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAgICAgICgianNvbiIgbW9kdXMtdGhlbWUtbnVhbmNl ZC1jeWFuKSkpKSkpDQotDQotOzs7IGxpYnJhcnkgcHJvdmlkZXMNCi07OzsjIyNhdXRvbG9hZA0K LSh3aGVuIGxvYWQtZmlsZS1uYW1lDQotICAoYWRkLXRvLWxpc3QgJ2N1c3RvbS10aGVtZS1sb2Fk LXBhdGgNCi0gICAgICAgICAgICAgICAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSAoZmlsZS1uYW1l LWRpcmVjdG9yeSBsb2FkLWZpbGUtbmFtZSkpKSkNCi0NCi0ocHJvdmlkZS10aGVtZSAnbW9kdXMt dml2ZW5kaSkNCi0NCi0ocHJvdmlkZSAnbW9kdXMtdml2ZW5kaS10aGVtZSkNCi0NCi07OzsgbW9k dXMtdml2ZW5kaS10aGVtZS5lbCBlbmRzIGhlcmUNCmRpZmYgLS1naXQgYS9saXNwL21vZHVzLXRo ZW1lcy9tb2R1cy1vcGVyYW5kaS10aGVtZS5lbCBiL2xpc3AvbW9kdXMtdGhlbWVzL21vZHVzLW9w ZXJhbmRpLXRoZW1lLmVsDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4u N2RlMmYxNTYwMg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbGlzcC9tb2R1cy10aGVtZXMvbW9kdXMt b3BlcmFuZGktdGhlbWUuZWwNCkBAIC0wLDAgKzEsNzUgQEANCis7OzsgbW9kdXMtb3BlcmFuZGkt dGhlbWUuZWwgLS0tIEFjY2Vzc2libGUgbGlnaHQgdGhlbWUgKFdDQUcgQUFBKSAtKi0gbGV4aWNh bC1iaW5kaW5nOnQgLSotDQorDQorOzsgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorDQorOzsgQXV0aG9yOiBQcm90ZXNpbGFvcyBTdGF2cm91 IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCis7OyBVUkw6IGh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90 ZXNpbGFvcy9tb2R1cy10aGVtZXMNCis7OyBWZXJzaW9uOiAxLjAuMg0KKzs7IFBhY2thZ2UtUmVx dWlyZXM6ICgoZW1hY3MgIjI2LjEiKSkNCis7OyBLZXl3b3JkczogZmFjZXMsIHRoZW1lLCBhY2Nl c3NpYmlsaXR5DQorDQorOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLg0KKw0KKzs7 IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5DQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQNCis7OyB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQorOzsNCis7OyBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0DQorOzsgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0K Kzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUgR05VDQorOzsgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lg0KKzs7DQorOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UNCis7OyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQorDQorOzs7IENvbW1lbnRh cnk6DQorOzsNCis7OyBNb2R1cyBPcGVyYW5kaSBpcyB0aGUgbGlnaHQgdmFyaWFudCBvZiB0aGUg TW9kdXMgdGhlbWVzIChNb2R1cw0KKzs7IFZpdmVuZGkgaXMgdGhlIGRhcmsgb25lKS4gIFRoZSB0 aGVtZXMgYXJlIGRlc2lnbmVkIGZvciBjb2xvci1jb250cmFzdA0KKzs7IGFjY2Vzc2liaWxpdHku ICBNb3JlIHNwZWNpZmljYWxseToNCis7Ow0KKzs7ICAgICAxLiBQcm92aWRlIGEgY29uc2lzdGVu dCBtaW5pbXVtIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gYmFja2dyb3VuZA0KKzs7ICAgICBhbmQg Zm9yZWdyb3VuZCB2YWx1ZXMgb2YgNzoxIG9yIGhpZ2hlci4gIFRoaXMgbWVldHMgdGhlIGhpZ2hl c3QNCis7OyAgICAgc3VjaCBhY2Nlc3NpYmlsaXR5IGNyaXRlcmlvbiBwZXIgdGhlIGd1aWRlbGlu ZXMgb2YgdGhlIFdvcmxkd2lkZQ0KKzs7ICAgICBXZWIgQ29uc29ydGl1bSdzIFdvcmtpbmcgR3Jv dXAgb24gQWNjZXNzaWJpbGl0eSAoV0NBRyBBQUENCis7OyAgICAgc3RhbmRhcmQpLg0KKzs7DQor OzsgICAgIDIuIE9mZmVyIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcyBwb3NzaWJs ZS4gIFRoZSBsaXN0IGlzDQorOzsgICAgIGFscmVhZHkgcXVpdGUgbG9uZywgd2l0aCBtb3JlIGFk ZGl0aW9ucyB0byBmb2xsb3cgYXMgcGFydCBvZiB0aGUNCis7OyAgICAgb25nb2luZyBkZXZlbG9w bWVudCBwcm9jZXNzLg0KKzs7DQorOzsgRm9yIGEgY29tcGxldGUgdmlldyBvZiB0aGUgcHJvamVj dCwgYWxzbyByZWZlciB0byB0aGUgZm9sbG93aW5nIGZpbGVzDQorOzsgKHNob3VsZCBiZSBkaXN0 cmlidXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5L2RpcmVjdG9yeSBhcyB0aGUNCis7OyBjdXJy ZW50IGl0ZW0pOg0KKzs7DQorOzsgLSBtb2R1cy10aGVtZXMuZWwgICAgICAgICAgICAoTWFpbiBj b2RlIHNoYXJlZCBiZXR3ZWVuIHRoZSB0aGVtZXMpDQorOzsgLSBtb2R1cy10aGVtZXMtY29yZS5l bCAgICAgICAoQ29kZSB1c2VkIHRvIHByb2R1Y2UgdGhlIHRoZW1lcykNCis7OyAtIG1vZHVzLXZp dmVuZGktdGhlbWUuZWwgICAgIChEYXJrIHRoZW1lKQ0KKw0KKzs7OyBDb2RlOg0KKw0KKwwNCisN CisocmVxdWlyZSAnbW9kdXMtdGhlbWVzKQ0KKyhldmFsLXdoZW4tY29tcGlsZQ0KKyAgKHJlcXVp cmUgJ21vZHVzLXRoZW1lcy1jb3JlKSkNCisNCisoZGVmdGhlbWUgbW9kdXMtb3BlcmFuZGkNCisg ICJMaWdodCB0aGVtZSB0aGF0IGNvbmZvcm1zIHdpdGggdGhlIGhpZ2hlc3QgYWNjZXNzaWJpbGl0 eQ0KKyAgc3RhbmRhcmQgZm9yIGNvbG9yIGNvbnRyYXN0IGJldHdlZW4gYmFja2dyb3VuZCBhbmQg Zm9yZWdyb3VuZA0KKyAgZWxlbWVudHMgKFdDQUcgQUFBKS4iKQ0KKw0KKyhtb2R1cy10aGVtZXMt Y29yZS10aGVtZQ0KKyAnbW9kdXMtb3BlcmFuZGkpDQorDQorOzs7IyMjYXV0b2xvYWQNCisod2hl biAoYW5kIChib3VuZHAgJ2N1c3RvbS10aGVtZS1sb2FkLXBhdGgpIGxvYWQtZmlsZS1uYW1lKQ0K KyAgKGFkZC10by1saXN0ICdjdXN0b20tdGhlbWUtbG9hZC1wYXRoDQorICAgICAgICAgICAgICAg KGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKGZpbGUtbmFtZS1kaXJlY3RvcnkgbG9hZC1maWxlLW5h bWUpKSkpDQorDQorKHByb3ZpZGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKQ0KKw0KKyhwcm92aWRl ICdtb2R1cy1vcGVyYW5kaS10aGVtZSkNCisNCis7OzsgbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwg ZW5kcyBoZXJlDQpkaWZmIC0tZ2l0IGEvbGlzcC9tb2R1cy10aGVtZXMvbW9kdXMtdGhlbWVzLWNv cmUuZWwgYi9saXNwL21vZHVzLXRoZW1lcy9tb2R1cy10aGVtZXMtY29yZS5lbA0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjg4Mjc5Y2Y3NWENCi0tLSAvZGV2L251bGwN CisrKyBiL2xpc3AvbW9kdXMtdGhlbWVzL21vZHVzLXRoZW1lcy1jb3JlLmVsDQpAQCAtMCwwICsx LDgwIEBADQorOzs7IG1vZHVzLXRoZW1lcy1jb3JlLmVsIC0tLSBIaWdobHkgYWNjZXNzaWJsZSB0 aGVtZXMgKFdDQUcgQUFBKSAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSotDQorDQorOzsgQ29weXJp Z2h0IChDKSAyMDE5LTIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorDQorOzsg QXV0aG9yOiBQcm90ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCis7OyBV Ukw6IGh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMNCis7OyBWZXJz aW9uOiAxLjAuMg0KKzs7IFBhY2thZ2UtUmVxdWlyZXM6ICgoZW1hY3MgIjI2LjEiKSkNCis7OyBL ZXl3b3JkczogZmFjZXMsIHRoZW1lLCBhY2Nlc3NpYmlsaXR5DQorDQorOzsgVGhpcyBmaWxlIGlz IHBhcnQgb2YgR05VIEVtYWNzLg0KKw0KKzs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQorOzsgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkN Cis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvciAoYXQNCis7OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQor OzsNCis7OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwgYnV0DQorOzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VDQorOzsgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKzs7DQorOzsgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCis7OyBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uDQorDQorOzs7IENvbW1lbnRhcnk6DQorOzsNCis7OyBUaGUgTW9kdXMgdGhlbWVz IGNvbmZvcm0gd2l0aCB0aGUgaGlnaGVzdCBzdGFuZGFyZCBmb3IgY29sb3ItY29udHJhc3QNCis7 OyBhY2Nlc3NpYmlsaXR5IGJldHdlZW4gYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2YWx1ZXMg KFdDQUcgQUFBKS4NCis7OyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGN1c3RvbWlzYXRpb24gb3B0 aW9ucywgaGVscGVyIGZ1bmN0aW9ucywNCis7OyBpbnRlcmFjdGl2ZSBjb21tYW5kcywgYW5kIGZh Y2Ugc3BlY2lmaWNhdGlvbnMuDQorOzsNCis7OyBGb3IgYSBjb21wbGV0ZSB2aWV3IG9mIHRoZSBw cm9qZWN0LCBhbHNvIHJlZmVyIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMNCis7OyAoc2hvdWxkIGJl IGRpc3RyaWJ1dGVkIGluIHRoZSBzYW1lIHJlcG9zaXRvcnkvZGlyZWN0b3J5IGFzIHRoZQ0KKzs7 IGN1cnJlbnQgaXRlbSk6DQorOzsNCis7OyAtIG1vZHVzLXRoZW1lcy5lbCAgICAgICAgICAgIChN YWluIGNvZGUgc2hhcmVkIGJldHdlZW4gdGhlIHRoZW1lcykNCis7OyAtIG1vZHVzLW9wZXJhbmRp LXRoZW1lLmVsICAgIChMaWdodCB0aGVtZSkNCis7OyAtIG1vZHVzLXZpdmVuZGktdGhlbWUuZWwg ICAgIChEYXJrIHRoZW1lKQ0KKw0KKzs7OyBDb2RlOg0KKw0KKwwNCisNCisoZGVmdmFyIG1vZHVz LXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkpDQorKGRlZnZhciBtb2R1cy10aGVtZXMtY29sb3JzLXZp dmVuZGkpDQorKGRlZnZhciBtb2R1cy10aGVtZXMtZmFjZXMpDQorKGRlZnZhciBtb2R1cy10aGVt ZXMtY3VzdG9tLXZhcmlhYmxlcykNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNvcmUtdGhlbWUt dmFyaWFibGVzIChuYW1lKQ0KKyAgIlJldHVybiBjb3JyZWN0IHZhcmlhYmxlIGZvciBNb2R1cyB0 aGVtZSBOQU1FLiINCisgIChwY2FzZSBuYW1lDQorICAgICgnJ21vZHVzLW9wZXJhbmRpIG1vZHVz LXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkpDQorICAgICgnJ21vZHVzLXZpdmVuZGkgbW9kdXMtdGhl bWVzLWNvbG9ycy12aXZlbmRpKQ0KKyAgICAoXyAodXNlci1lcnJvciAiPDwgJXMgPj4gaXMgbm90 IGEgdmFsaWQgTW9kdXMgdGhlbWUiIG5hbWUpKSkpDQorDQorKGRlZm1hY3JvIG1vZHVzLXRoZW1l cy1jb3JlLXRoZW1lIChuYW1lKQ0KKyAgIkJpbmQgTkFNRSdzIGNvbG9yIHBhbGV0dGUgYXJvdW5k IGZhY2Ugc3BlY2lmaWNhdGlvbnMuDQorDQorTkFNRSBzaG91bGQgYmUgdGhlIHByb3BlciBuYW1l IG9mIGEgTW9kdXMgdGhlbWUsIGVpdGhlcg0KKydtb2R1cy1vcGVyYW5kaSBvciAnbW9kdXMtdml2 ZW5kaS4NCisNCitGYWNlIHNwZWNpZmljYXRpb25zIGFyZSB0aG9zZSBwYXNzZWQgdG8gYGN1c3Rv bS10aGVtZS1zZXQtZmFjZXMnLg0KK1RoZXkgYXJlIGV4dHJhY3RlZCBkaXJlY3RseSBmcm9tIHZh cmlhYmxlcyBkZWZpbmVkIGluIHRoZQ0KK2Btb2R1cy10aGVtZXMnIGxpYnJhcnkuICBGb3IgZXhh bXBsZSwgYG1vZHVzLXRoZW1lcy1mYWNlcycuIg0KKyAgKGxldCAoKGZhY2VzIG1vZHVzLXRoZW1l cy1mYWNlcykNCisgICAgICAgIChjdXMgbW9kdXMtdGhlbWVzLWN1c3RvbS12YXJpYWJsZXMpKQ0K KyAgICBgKGxldCAoKGNsYXNzICcoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OSkpKQ0KKyAg ICAgICAgICAgLEAobWFwY2FyIChsYW1iZGEgKGNvbnMpDQorICAgICAgICAgICAgICAgICAgICAg ICBgKCwoY2FyIGNvbnMpICwoY2RyIGNvbnMpKSkNCisgICAgICAgICAgICAgICAgICAgICAobW9k dXMtdGhlbWVzLWNvcmUtdGhlbWUtdmFyaWFibGVzIG5hbWUpKSkNCisgICAgICAgKGN1c3RvbS10 aGVtZS1zZXQtZmFjZXMNCisgICAgICAgICxuYW1lDQorICAgICAgICAsQGZhY2VzKQ0KKyAgICAg ICAoY3VzdG9tLXRoZW1lLXNldC12YXJpYWJsZXMNCisgICAgICAgICxuYW1lDQorICAgICAgICAs QGN1cykpKSkNCisNCisocHJvdmlkZSAnbW9kdXMtdGhlbWVzLWNvcmUpDQorOzs7IG1vZHVzLXRo ZW1lcy1jb3JlLmVsIGVuZHMgaGVyZQ0KZGlmZiAtLWdpdCBhL2xpc3AvbW9kdXMtdGhlbWVzL21v ZHVzLXRoZW1lcy5lbCBiL2xpc3AvbW9kdXMtdGhlbWVzL21vZHVzLXRoZW1lcy5lbA0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjNkOGI5YzdmN2ENCi0tLSAvZGV2L251 bGwNCisrKyBiL2xpc3AvbW9kdXMtdGhlbWVzL21vZHVzLXRoZW1lcy5lbA0KQEAgLTAsMCArMSw1 MTgyIEBADQorOzs7IG1vZHVzLXRoZW1lcy5lbCAtLS0gSGlnaGx5IGFjY2Vzc2libGUgdGhlbWVz IChXQ0FHIEFBQSkgLSotIGxleGljYWwtYmluZGluZzp0IC0qLQ0KKw0KKzs7IENvcHlyaWdodCAo QykgMjAxOS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KKw0KKzs7IEF1dGhv cjogUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5mb0Bwcm90ZXNpbGFvcy5jb20+DQorOzsgVVJMOiBo dHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzDQorOzsgVmVyc2lvbjog MS4wLjINCis7OyBQYWNrYWdlLVJlcXVpcmVzOiAoKGVtYWNzICIyNi4xIikpDQorOzsgS2V5d29y ZHM6IGZhY2VzLCB0aGVtZSwgYWNjZXNzaWJpbGl0eQ0KKw0KKzs7IFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEdOVSBFbWFjcy4NCisNCis7OyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KKzs7IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQorOzsg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IgKGF0DQorOzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KKzs7DQor OzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsIGJ1dA0KKzs7IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YNCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQ0KKzs7IEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCis7Ow0KKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQorOzsgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+Lg0KKw0KKzs7OyBDb21tZW50YXJ5Og0KKzs7DQorOzsgVGhlIE1vZHVzIHRoZW1lcyBjb25m b3JtIHdpdGggdGhlIGhpZ2hlc3Qgc3RhbmRhcmQgZm9yIGNvbG9yLWNvbnRyYXN0DQorOzsgYWNj ZXNzaWJpbGl0eSBiZXR3ZWVuIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgdmFsdWVzIChXQ0FH IEFBQSkuDQorOzsgVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBjdXN0b21pc2F0aW9uIG9wdGlvbnMs IGhlbHBlciBmdW5jdGlvbnMsDQorOzsgaW50ZXJhY3RpdmUgY29tbWFuZHMsIGFuZCBmYWNlIHNw ZWNpZmljYXRpb25zLiAgUGxlYXNlIHJlZmVyIHRvIHRoZQ0KKzs7IG9mZmljaWFsIEluZm8gbWFu dWFsIGZvciBmdXJ0aGVyIGRvY3VtZW50YXRpb24gKGRpc3RyaWJ1dGVkIHdpdGggdGhlDQorOzsg dGhlbWVzLCBvciBhdmFpbGFibGUgYXQ6IDxodHRwczovL3Byb3Rlc2lsYW9zLmNvbS9tb2R1cy10 aGVtZXM+KS4NCis7Ow0KKzs7IFRoZSB0aGVtZXMgc2hhcmUgdGhlIGZvbGxvd2luZyBjdXN0b21p emF0aW9uIG9wdGlvbnMsIGFsbCBvZiB3aGljaA0KKzs7IGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0 IChuaWwpOg0KKzs7DQorOzsgICAgIG1vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMgICAg ICAgICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMg ICAgICAgICAgICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy12YXJpYWJsZS1w aXRjaC1oZWFkaW5ncyAgICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy1uby1t aXhlZC1mb250cyAgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1l cy1oZWFkaW5ncyAgICAgICAgICAgICAgICAgICAgICAgKGFsaXN0KQ0KKzs7ICAgICBtb2R1cy10 aGVtZXMtc2NhbGUtaGVhZGluZ3MgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KKzs7ICAgICBt b2R1cy10aGVtZXMtZnJpbmdlcyAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsg ICAgIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkN Cis7OyAgICAgbW9kdXMtdGhlbWVzLXByb21wdHMgICAgICAgICAgICAgICAgICAgICAgICAoY2hv aWNlKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtbW9kZS1saW5lICAgICAgICAgICAgICAgICAgICAg IChjaG9pY2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1kaWZmcyAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLXN5bnRheCAgICAgICAgICAgICAg ICAgICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtaW50ZW5zZS1obC1saW5l ICAgICAgICAgICAgICAgIChib29sZWFuKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtcGFyZW4tbWF0 Y2ggICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1yZWdp b24gICAgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVz LWxpbmtzICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10 aGVtZXMtY29tcGxldGlvbnMgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsNCis7OyBU aGUgZGVmYXVsdCBzY2FsZSBmb3IgaGVhZGluZ3MgaXMgYXMgZm9sbG93cyAoaXQgY2FuIGJlIGN1 c3RvbWl6ZWQgYXMNCis7OyB3ZWxsLS0tcmVtZW1iZXIsIG5vIHNjYWxpbmcgdGFrZXMgcGxhY2Ug YnkgZGVmYXVsdCk6DQorOzsNCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTEgMS4wNQ0KKzs7 ICAgICBtb2R1cy10aGVtZXMtc2NhbGUtMiAxLjENCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxl LTMgMS4xNQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtc2NhbGUtNCAxLjINCis7OyAgICAgbW9kdXMt dGhlbWVzLXNjYWxlLTUgMS4zDQorOzsNCis7OyBCZWxvdyBpcyB0aGUgbGlzdCBvZiBleHBsaWNp dGx5IHN1cHBvcnRlZCBwYWNrYWdlcyBvciBmYWNlIGdyb3Vwcw0KKzs7ICh0aGVyZSBhcmUgaW1w bGljaXRseSBzdXBwb3J0ZWQgcGFja2FnZXMgYXMgd2VsbCwgd2hpY2ggaW5oZXJpdCBmcm9tDQor OzsgZm9udC1sb2NrIG9yIHNvbWUgYmFzaWMgZ3JvdXApLiAgWW91IGFyZSBlbmNvdXJhZ2VkIHRv IHJlcG9ydCBvZiBhbnkNCis7OyBtaXNzaW5nIHBhY2thZ2Ugb3IgY2hhbmdlIHlvdSB3b3VsZCBs aWtlIHRvIHNlZS4NCis7Ow0KKzs7ICAgICBhY2Utd2luZG93DQorOzsgICAgIGFnDQorOzsgICAg IGFsZXJ0DQorOzsgICAgIGFsbC10aGUtaWNvbnMNCis7OyAgICAgYW5ub3RhdGUNCis7OyAgICAg YW56dQ0KKzs7ICAgICBhcHJvcG9zDQorOzsgICAgIGFwdC1zb3VyY2VzLWxpc3QNCis7OyAgICAg YXJ0Ym9sbG9ja3MtbW9kZQ0KKzs7ICAgICBhdWN0ZXggYW5kIFRlWA0KKzs7ICAgICBhdXRvLWRp bS1vdGhlci1idWZmZXJzDQorOzsgICAgIGF2eQ0KKzs7ICAgICBhd2Vzb21lLXRyYXkNCis7OyAg ICAgYmluZGVyDQorOzsgICAgIGJtDQorOzsgICAgIGJvbmdvDQorOzsgICAgIGJvb24NCis7OyAg ICAgYnJlYWtwb2ludCAocHJvdmlkZWQgYnkgYnVpbHQtaW4gZ2RiLW1pLmVsKQ0KKzs7ICAgICBi dWZmZXItZXhwb3NlDQorOzsgICAgIGNhbGVuZGFyIGFuZCBkaWFyeQ0KKzs7ICAgICBjYWxmdw0K Kzs7ICAgICBjZW50YXVyLXRhYnMNCis7OyAgICAgY2hhbmdlLWxvZyBhbmQgbG9nLXZpZXcgKGB2 Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0KKzs7ICAgICBjaWRlcg0KKzs7 ICAgICBjaXJjZQ0KKzs7ICAgICBjb2xvci1yZw0KKzs7ICAgICBjb2x1bW4tZW5mb3JjZS1tb2Rl DQorOzsgICAgIGNvbXBhbnktbW9kZQ0KKzs7ICAgICBjb21wYW55LXBvc2ZyYW1lDQorOzsgICAg IGNvbXBpbGF0aW9uLW1vZGUNCis7OyAgICAgY29tcGxldGlvbnMNCis7OyAgICAgY29uc3VsdA0K Kzs7ICAgICBjb3Vuc2VsDQorOzsgICAgIGNvdW5zZWwtY3NzDQorOzsgICAgIGNvdW5zZWwtbm90 bXVjaA0KKzs7ICAgICBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0cmluZw0KKzs7ICAgICBjb3YNCis7 OyAgICAgY3BlcmwtbW9kZQ0KKzs7ICAgICBjc3YtbW9kZQ0KKzs7ICAgICBjdHJsZg0KKzs7ICAg ICBjdXN0b20gKE0teCBjdXN0b21pemUpDQorOzsgICAgIGRhcC1tb2RlDQorOzsgICAgIGRhc2hi b2FyZCAoZW1hY3MtZGFzaGJvYXJkKQ0KKzs7ICAgICBkZWFkZ3JlcA0KKzs7ICAgICBkZWJidWdz DQorOzsgICAgIGRlZmluZS13b3JkDQorOzsgICAgIGRlZnQNCis7OyAgICAgZGljdGlvbmFyeQ0K Kzs7ICAgICBkaWZmLWhsDQorOzsgICAgIGRpZmYtbW9kZQ0KKzs7ICAgICBkaW0tYXV0b2xvYWQN Cis7OyAgICAgZGlyLXRyZWV2aWV3DQorOzsgICAgIGRpcmVkDQorOzsgICAgIGRpcmVkLWFzeW5j DQorOzsgICAgIGRpcmVkLWdpdA0KKzs7ICAgICBkaXJlZC1naXQtaW5mbw0KKzs7ICAgICBkaXJl ZC1uYXJyb3cNCis7OyAgICAgZGlyZWQtc3VidHJlZQ0KKzs7ICAgICBkaXJlZGZsDQorOzsgICAg IGRpc2stdXNhZ2UNCis7OyAgICAgZG9vbS1tb2RlbGluZQ0KKzs7ICAgICBkeW5hbWljLXJ1bGVy DQorOzsgICAgIGVhc3ktamVreWxsDQorOzsgICAgIGVhc3kta2lsbA0KKzs7ICAgICBlYmRiDQor OzsgICAgIGVkaWZmDQorOzsgICAgIGVnbG90DQorOzsgICAgIGVsLXNlYXJjaA0KKzs7ICAgICBl bGRvYw0KKzs7ICAgICBlbGRvYy1ib3gNCis7OyAgICAgZWxmZWVkDQorOzsgICAgIGVsZmVlZC1z Y29yZQ0KKzs7ICAgICBlbW1zDQorOzsgICAgIGVuaGFuY2VkLXJ1YnktbW9kZQ0KKzs7ICAgICBl cGENCis7OyAgICAgZXF1YWtlDQorOzsgICAgIGVyYw0KKzs7ICAgICBlcm9zDQorOzsgICAgIGVy dA0KKzs7ICAgICBlc2hlbGwNCis7OyAgICAgZXNoZWxsLWZyaW5nZS1zdGF0dXMNCis7OyAgICAg ZXNoZWxsLWdpdC1wcm9tcHQNCis7OyAgICAgZXNoZWxsLXByb21wdC1leHRyYXMgKGVwZSkNCis7 OyAgICAgZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmcNCis7OyAgICAgZXZpbCAoZXZpbC1tb2Rl KQ0KKzs7ICAgICBldmlsLWdvZ2dsZXMNCis7OyAgICAgZXZpbC12aXN1YWwtbWFyay1tb2RlDQor OzsgICAgIGV3dw0KKzs7ICAgICBleWVicm93c2UNCis7OyAgICAgZmFuY3ktZGFiYnJldg0KKzs7 ICAgICBmbHljaGVjaw0KKzs7ICAgICBmbHljaGVjay1jb2xvci1tb2RlLWxpbmUNCis7OyAgICAg Zmx5Y2hlY2staW5kaWNhdG9yDQorOzsgICAgIGZseWNoZWNrLXBvc2ZyYW1lDQorOzsgICAgIGZs eW1ha2UNCis7OyAgICAgZmx5c3BlbGwNCis7OyAgICAgZmx5c3BlbGwtY29ycmVjdA0KKzs7ICAg ICBmbHgNCis7OyAgICAgZnJlZXplLWl0DQorOzsgICAgIGZyb2ctbWVudQ0KKzs7ICAgICBmb2N1 cw0KKzs7ICAgICBmb2xkLXRoaXMNCis7OyAgICAgZm9udC1sb2NrIChnZW5lcmljIHN5bnRheCBo aWdobGlnaHRpbmcpDQorOzsgICAgIGZvcmdlDQorOzsgICAgIGZvdW50YWluIChmb3VudGFpbi1t b2RlKQ0KKzs7ICAgICBnZWlzZXINCis7OyAgICAgZ2l0LWNvbW1pdA0KKzs7ICAgICBnaXQtZ3V0 dGVyIChhbmQgdmFyaWFudHMpDQorOzsgICAgIGdpdC1sZW5zDQorOzsgICAgIGdpdC1yZWJhc2UN Cis7OyAgICAgZ2l0LXRpbWVtYWNoaW5lDQorOzsgICAgIGdpdC13YWxrdHJlZQ0KKzs7ICAgICBn bnVzDQorOzsgICAgIGdvbGRlbi1yYXRpby1zY3JvbGwtc2NyZWVuDQorOzsgICAgIGhlbG0NCis7 OyAgICAgaGVsbS1scy1naXQNCis7OyAgICAgaGVsbS1zd2l0Y2gtc2hlbGwNCis7OyAgICAgaGVs bS14cmVmDQorOzsgICAgIGhlbHBmdWwNCis7OyAgICAgaGlnaGxpZ2h0LWJsb2Nrcw0KKzs7ICAg ICBoaWdobGlnaHQtZGVmaW5lZA0KKzs7ICAgICBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAo YGhlcy1tb2RlJykNCis7OyAgICAgaGlnaGxpZ2h0LWluZGVudGF0aW9uDQorOzsgICAgIGhpZ2hs aWdodC1udW1iZXJzDQorOzsgICAgIGhpZ2hsaWdodC1zeW1ib2wNCis7OyAgICAgaGlnaGxpZ2h0 LXRhaWwNCis7OyAgICAgaGlnaGxpZ2h0LXRoaW5nDQorOzsgICAgIGhsLWRlZmluZWQNCis7OyAg ICAgaGwtZmlsbC1jb2x1bW4NCis7OyAgICAgaGwtbGluZS1tb2RlDQorOzsgICAgIGhsLXRvZG8N Cis7OyAgICAgaHlkcmENCis7OyAgICAgaHlwZXJsaXN0DQorOzsgICAgIGlidWZmZXINCis7OyAg ICAgaWNvbXBsZXRlDQorOzsgICAgIGlkby1tb2RlDQorOzsgICAgIGllZGl0DQorOzsgICAgIGlm bGlwYg0KKzs7ICAgICBpbWVudS1saXN0DQorOzsgICAgIGluZGl1bQ0KKzs7ICAgICBpbmZvDQor OzsgICAgIGluZm8tY29sb3JzDQorOzsgICAgIGludGVyYWN0aW9uLWxvZw0KKzs7ICAgICBpb2Nj dXINCis7OyAgICAgaXNlYXJjaCwgb2NjdXIsIGV0Yy4NCis7OyAgICAgaXZ5DQorOzsgICAgIGl2 eS1wb3NmcmFtZQ0KKzs7ICAgICBqaXJhIChvcmctamlyYSkNCis7OyAgICAgam91cm5hbGN0bC1t b2RlDQorOzsgICAgIGpzMi1tb2RlDQorOzsgICAgIGp1bGlhDQorOzsgICAgIGp1cHl0ZXINCis7 OyAgICAga2FvY2hhLXJ1bm5lcg0KKzs7ICAgICBrZXljYXN0DQorOzsgICAgIGxpbmUgbnVtYmVy cyAoYGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUnIGFuZCBnbG9iYWwgdmFyaWFudCkNCis7OyAg ICAgbHNwLW1vZGUNCis7OyAgICAgbHNwLXVpDQorOzsgICAgIG1hY3Jvc3RlcA0KKzs7ICAgICBt YWdpdA0KKzs7ICAgICBtYWdpdC1pbWVyZ2UNCis7OyAgICAgbWFrZS1tb2RlDQorOzsgICAgIG1h bg0KKzs7ICAgICBtYXJrZG93bi1tb2RlDQorOzsgICAgIG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9k ZScpDQorOzsgICAgIG1lbnRvcg0KKzs7ICAgICBtZXNzYWdlcw0KKzs7ICAgICBtaW5pYnVmZmVy LWxpbmUNCis7OyAgICAgbWluaW1hcA0KKzs7ICAgICBtb2RlbGluZQ0KKzs7ICAgICBtb29kLWxp bmUNCis7OyAgICAgbXBkZWwNCis7OyAgICAgbXU0ZQ0KKzs7ICAgICBtdTRlLWNvbnZlcnNhdGlv bg0KKzs7ICAgICBtdWx0aXBsZS1jdXJzb3JzDQorOzsgICAgIG5lb3RyZWUNCis7OyAgICAgbm8t ZW1vamkNCis7OyAgICAgbm90bXVjaA0KKzs7ICAgICBudW0zLW1vZGUNCis7OyAgICAgbnhtbC1t b2RlDQorOzsgICAgIG9iamVkDQorOzsgICAgIG9yZGVybGVzcw0KKzs7ICAgICBvcmcNCis7OyAg ICAgb3JnLWpvdXJuYWwNCis7OyAgICAgb3JnLW5vdGVyDQorOzsgICAgIG9yZy1wb21vZG9ybw0K Kzs7ICAgICBvcmctcmVjdXINCis7OyAgICAgb3JnLXJvYW0NCis7OyAgICAgb3JnLXN1cGVyc3Rh cg0KKzs7ICAgICBvcmctdGFibGUtc3RpY2t5LWhlYWRlcg0KKzs7ICAgICBvcmctdHJlZXNjb3Bl DQorOzsgICAgIG9yaWdhbWkNCis7OyAgICAgb3V0bGluZS1tb2RlDQorOzsgICAgIG91dGxpbmUt bWlub3ItZmFjZXMNCis7OyAgICAgcGFja2FnZSAoTS14IGxpc3QtcGFja2FnZXMpDQorOzsgICAg IHBhZ2UtYnJlYWstbGluZXMNCis7OyAgICAgcGFyYWRveA0KKzs7ICAgICBwYXJlbi1mYWNlDQor OzsgICAgIHBhcnJvdA0KKzs7ICAgICBwYXNzDQorOzsgICAgIHBkZi10b29scw0KKzs7ICAgICBw ZXJzcC1tb2RlDQorOzsgICAgIHBlcnNwZWN0aXZlDQorOzsgICAgIHBoaS1ncmVwDQorOzsgICAg IHBoaS1zZWFyY2gNCis7OyAgICAgcGtnYnVpbGQtbW9kZQ0KKzs7ICAgICBwb21pZG9yDQorOzsg ICAgIHBvcHVwDQorOzsgICAgIHBvd2VybGluZQ0KKzs7ICAgICBwb3dlcmxpbmUtZXZpbA0KKzs7 ICAgICBwcm9jZWQNCis7OyAgICAgcHJvZGlneQ0KKzs7ICAgICByYWNrZXQtbW9kZQ0KKzs7ICAg ICByYWluYm93LWJsb2Nrcw0KKzs7ICAgICByYWluYm93LWlkZW50aWZpZXJzDQorOzsgICAgIHJh aW5ib3ctZGVsaW1pdGVycw0KKzs7ICAgICByY2lyYw0KKzs7ICAgICByZWdleHAtYnVpbGRlciAo YWxzbyBrbm93biBhcyBgcmUtYnVpbGRlcicpDQorOzsgICAgIHJnDQorOzsgICAgIHJpcGdyZXAN Cis7OyAgICAgcm1haWwNCis7OyAgICAgcnVsZXItbW9kZQ0KKzs7ICAgICBzYWxsZXQNCis7OyAg ICAgc2VsZWN0cnVtDQorOzsgICAgIHNlbWFudGljDQorOzsgICAgIHNlc21hbg0KKzs7ICAgICBz aGVsbC1zY3JpcHQtbW9kZQ0KKzs7ICAgICBzaG93LXBhcmVuLW1vZGUNCis7OyAgICAgc2hyDQor OzsgICAgIHNpZGUtbm90ZXMNCis7OyAgICAgc2lldmUtbW9kZQ0KKzs7ICAgICBza2V3ZXItbW9k ZQ0KKzs7ICAgICBzbWFydC1tb2RlLWxpbmUNCis7OyAgICAgc21hcnRwYXJlbnMNCis7OyAgICAg c21lcmdlDQorOzsgICAgIHNwYWNlbGluZQ0KKzs7ICAgICBzcGVlZGJhcg0KKzs7ICAgICBzcGVs bC1mdQ0KKzs7ICAgICBzdHJpcGVzDQorOzsgICAgIHN1Z2dlc3QNCis7OyAgICAgc3dpdGNoLXdp bmRvdw0KKzs7ICAgICBzd2lwZXINCis7OyAgICAgc3dvb3ANCis7OyAgICAgc3gNCis7OyAgICAg c3ltYm9sLW92ZXJsYXkNCis7OyAgICAgdGFiLWJhci1tb2RlDQorOzsgICAgIHRhYi1saW5lLW1v ZGUNCis7OyAgICAgc3lzbG9nLW1vZGUNCis7OyAgICAgdGFibGUgKGJ1aWx0LWluIHRhYmxlLmVs KQ0KKzs7ICAgICB0ZWxlcGhvbmUtbGluZQ0KKzs7ICAgICB0ZXJtDQorOzsgICAgIHRvbWF0aW5o bw0KKzs7ICAgICB0cmFuc2llbnQgKHBvcC11cCB3aW5kb3dzIGxpa2UgTWFnaXQncykNCis7OyAg ICAgdHJhc2hlZA0KKzs7ICAgICB0cmVlbWFjcw0KKzs7ICAgICB0dHktbWVudQ0KKzs7ICAgICB0 dWFyZWcNCis7OyAgICAgdHlwZXNjcmlwdA0KKzs7ICAgICB1bmRvLXRyZWUNCis7OyAgICAgdmMg KGJ1aWx0LWluIG1vZGUgbGluZSBzdGF0dXMgZm9yIHZlcnNpb24gY29udHJvbCkNCis7OyAgICAg dmMtYW5ub3RhdGUgKEMteCB2IGcpDQorOzsgICAgIHZkaWZmDQorOzsgICAgIHZpbWlzaC1mb2xk DQorOzsgICAgIHZpc2libGUtbWFyaw0KKzs7ICAgICB2aXN1YWwtcmVnZXhwDQorOzsgICAgIHZv bGF0aWxlLWhpZ2hsaWdodHMNCis7OyAgICAgdnRlcm0NCis7OyAgICAgd2NoZWNrLW1vZGUNCis7 OyAgICAgd2ViLW1vZGUNCis7OyAgICAgd2dyZXANCis7OyAgICAgd2hpY2gtZnVuY3Rpb24tbW9k ZQ0KKzs7ICAgICB3aGljaC1rZXkNCis7OyAgICAgd2hpdGVzcGFjZS1tb2RlDQorOzsgICAgIHdp bmRvdy1kaXZpZGVyLW1vZGUNCis7OyAgICAgd2ludW0NCis7OyAgICAgd3JpdGVnb29kLW1vZGUN Cis7OyAgICAgd29tYW4NCis7OyAgICAgeGFoLWVsaXNwLW1vZGUNCis7OyAgICAgeHJlZg0KKzs7 ICAgICB4dGVybS1jb2xvciAoYW5kIGFuc2ktY29sb3JzKQ0KKzs7ICAgICB5YW1sLW1vZGUNCis7 OyAgICAgeWFzbmlwcGV0DQorOzsgICAgIHp0cmVlDQorOzsNCis7OyBGb3IgYSBjb21wbGV0ZSB2 aWV3IG9mIHRoZSBwcm9qZWN0LCBhbHNvIHJlZmVyIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMNCis7 OyAoc2hvdWxkIGJlIGRpc3RyaWJ1dGVkIGluIHRoZSBzYW1lIHJlcG9zaXRvcnkvZGlyZWN0b3J5 IGFzIHRoZQ0KKzs7IGN1cnJlbnQgaXRlbSk6DQorOzsNCis7OyAtIG1vZHVzLXRoZW1lcy1jb3Jl LmVsICAgICAgIChDb2RlIHVzZWQgdG8gcHJvZHVjZSB0aGUgdGhlbWVzKQ0KKzs7IC0gbW9kdXMt b3BlcmFuZGktdGhlbWUuZWwgICAgKExpZ2h0IHRoZW1lKQ0KKzs7IC0gbW9kdXMtdml2ZW5kaS10 aGVtZS5lbCAgICAgKERhcmsgdGhlbWUpDQorDQorOzs7IENvZGU6DQorDQorDA0KKw0KKyhyZXF1 aXJlICdjbC1saWIpDQorDQorOzs7IEN1c3RvbSBmYWNlcw0KKw0KKyhkZWZncm91cCBtb2R1cy10 aGVtZSAoKQ0KKyAgIkN1c3RvbSBmYWNlcyBmb3IgdGhlIE1vZHVzIHRoZW1lcy4iDQorICA6Z3Jv dXAgJ2ZhY2VzDQorICA6cHJlZml4ICJtb2R1cy10aGVtZS0iDQorICA6bGluayAnKHVybC1saW5r IDp0YWcgIkdpdExhYiIgImh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVt ZXMiKQ0KKyAgOnRhZyAiTW9kdXMgT3BlcmFuZGkiKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1l LXN1YnRsZS1yZWQgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4g bmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93IG5pbCBuaWwpDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1zdWJ0bGUtbWFnZW50YSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1 YnRsZS1jeWFuIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwg bmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBuaWwgbmlsKQ0KKyhk ZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1pbnRlbnNlLXllbGxvdyBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWlu dGVuc2UtYmx1ZSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50 YSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbiBuaWwgbmlsKQ0K KyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCBuaWwgbmlsKQ0KKyhkZWZmYWNl IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1y ZWZpbmUtZ3JlZW4gbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93 IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgbmlsIG5pbCkNCiso ZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1v ZHVzLXRoZW1lLXJlZmluZS1jeWFuIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0 aXZlLXJlZCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbiBuaWwg bmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cgbmlsIG5pbCkNCisoZGVm ZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRo ZW1lLWFjdGl2ZS1tYWdlbnRhIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZl LWN5YW4gbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtcmVkIG5pbCBuaWwp DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuIG5pbCBuaWwpDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdyBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1l LWZyaW5nZS1ibHVlIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2Vu dGEgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbiBuaWwgbmlsKQ0K KyhkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9k dXMtdGhlbWUtbnVhbmNlZC1ncmVlbiBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW51 YW5jZWQteWVsbG93IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVl IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhIG5pbCBuaWwp DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuIG5pbCBuaWwpDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUt c3BlY2lhbC1taWxkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJt IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtIG5pbCBuaWwpDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVz LXRoZW1lLWRpZmYtY2hhbmdlZCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYt cmVtb3ZlZCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVk IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCBuaWwg bmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQgbmlsIG5pbCkN CisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkIG5pbCBuaWwpDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2VkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9k dXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhl bWUtZGlmZi1oZWFkaW5nIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcHNldWRvLWhl YWRlciBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstYWx0IG5pbCBuaWwpDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1kZWwgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1tYXJrLXNlbCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstc3ltYm9s IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0xIG5pbCBuaWwpDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0yIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhl bWUtaGVhZGluZy0zIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy00IG5p bCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy01IG5pbCBuaWwpDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtaGVhZGluZy02IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUt aGVhZGluZy03IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy04IG5pbCBu aWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGwtbGluZSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1v ZHVzLXRoZW1lLWJvbGQgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zbGFudCBuaWwg bmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIG5pbCBuaWwpDQorDQor DA0KKw0KKzs7OyBDdXN0b21pemF0aW9uIG9wdGlvbnMNCisNCis7Ozs7IEN1cnJlbnQgY3VzdG9t aXNhdGlvbiBvcHRpb25zICg+PSAxLjAuMCkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1z bGFudGVkLWNvbnN0cnVjdHMgbmlsDQorICAiVXNlIHNsYW50ZWQgdGV4dCBpbiBtb3JlIGNvZGUg Y29uc3RydWN0cyAoaXRhbGljcyBvciBvYmxpcXVlKS4iDQorICA6cGFja2FnZS12ZXJzaW9uICco bW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jv b2xlYW4pDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIG5pbA0K KyAgIlVzZSBib2xkIHRleHQgaW4gbW9yZSBjb2RlIGNvbnN0cnVjdHMuIg0KKyAgOnBhY2thZ2Ut dmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisg IDp0eXBlICdib29sZWFuKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBp dGNoLWhlYWRpbmdzIG5pbA0KKyAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMgKHZhcmlhYmxlLXBp dGNoKSBpbiBoZWFkaW5ncy4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4g IjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4pDQorDQorKGRl ZmN1c3RvbSBtb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMgbmlsDQorICAiRGlzYWJsZSBpbmhl cml0YW5jZSBmcm9tIGBmaXhlZC1waXRjaCcgaW4gc29tZSBmYWNlcy4NCisNCitUaGlzIGlzIGRv bmUgYnkgZGVmYXVsdCB0byBhbGxvdyBzcGFjaW5nLXNlbnNpdGl2ZSBjb25zdHJ1Y3RzLA0KK3N1 Y2ggYXMgT3JnIHRhYmxlcyBhbmQgY29kZSBibG9ja3MsIHRvIHJlbWFpbiBtb25vc3BhY2VkIHdo ZW4NCit1c2VycyBvcHQgZm9yIHNvbWV0aGluZyBsaWtlIHRoZSBjb21tYW5kIGB2YXJpYWJsZS1w aXRjaC1tb2RlJy4NCitUaGUgZG93bnNpZGUgd2l0aCB0aGUgZGVmYXVsdCBpcyB0aGF0IHVzZXJz IG5lZWQgdG8gZXhwbGljaXRseQ0KK2NvbmZpZ3VyZSB0aGUgZm9udCBmYW1pbHkgb2YgYGZpeGVk LXBpdGNoJyBpbiBvcmRlciB0byBnZXQgYQ0KK2NvbnNpc3RlbnQgZXhwZXJpZW5jZS4gIFRoYXQg bWF5IGJlIHNvbWV0aGluZyB0aGV5IGRvIG5vdCB3YW50IHRvDQorZG8uICBIZW5jZSB0aGlzIG9w dGlvbiB0byBkaXNhYmxlIGFueSBraW5kIG9mIHRlY2huaXF1ZSBmb3INCittaXhpbmcgZm9udHMu Ig0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVy c2lvbiAiMjguMSINCisgIDp0eXBlICdib29sZWFuKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhl bWVzLWhlYWRpbmdzDQorICAnKCh0IC4gbmlsKSkNCisgICJBbGlzdCBvZiBzdHlsZXMgZm9yIGhl YWRpbmdzLCB3aXRoIG9wdGlvbmFsIHZhbHVlIHBlciBsZXZlbC4NCisNCitUbyBjb250cm9sIGZh Y2VzIHBlciBsZXZlbCBmcm9tIDEtOCwgdXNlIHNvbWV0aGluZyBsaWtlIHRoaXM6DQorDQorICAo c2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCisgICAgICAgICcoKDEgLiBoaWdobGlnaHQpDQor ICAgICAgICAgICgyIC4gbGluZSkNCisgICAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8tYm9s ZCkpKQ0KKw0KK1RvIHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBoZWFkaW5nIGxldmVscywg dXNlIHRoaXMgcGF0dGVybjoNCisNCisgIChzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAg ICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQorDQorVGhlIGRlZmF1bHQgdXNl cyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHZhbHVlIGluDQorY29tYmluYXRpb24g d2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0aGlzDQorc3R5bGUg Zm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyDQor ZmFsbGJhY2sgb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRoZSB2YWx1ZSB0IGxpa2UgdGhpczoNCisN CisgIChzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAgICAgICAgJygoMSAuIHQpDQorICAg ICAgICAgICgyIC4gbGluZSkNCisgICAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8tYm9sZCkp KQ0KKw0KK0EgZGVzY3JpcHRpb24gb2YgYWxsIHBvc3NpYmxlIHZhbHVlczoNCisNCisrIGBuby1i b2xkJyByZXRhaW5zIHRoZSBkZWZhdWx0IHRleHQgY29sb3Igd2hpbGUgcmVtb3ZpbmcgdGhlDQor ICB0eXBvZ3JhcGhpYyB3ZWlnaHQuDQorDQorKyBgbGluZScgaXMgdGhlIHNhbWUgYXMgdGhlIGRl ZmF1bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZQ0KKyAgaGVhZGluZy4NCisNCisrIGBsaW5l LW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBsaW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0Lg0KKw0K KysgYHJhaW5ib3cnIHVzZXMgYSBtb3JlIGNvbG9yZnVsIGZvcmVncm91bmQgaW4gY29tYmluYXRp b24gd2l0aA0KKyAgYm9sZCB3ZWlnaHQuDQorDQorKyBgcmFpbmJvdy1saW5lJyBpcyB0aGUgc2Ft ZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBvdmVybGluZS4NCisNCisrIGByYWluYm93LWxpbmUtbm8t Ym9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctbGluZScgd2l0aG91dA0KKyAgdGhlIGJvbGQg d2VpZ2h0Lg0KKw0KKysgYGhpZ2hsaWdodCcgcmV0YWlucyB0aGUgZGVmYXVsdCBzdHlsZSBvZiBh IGZhaXJseSBkZXNhdHVyYXRlZA0KKyAgZm9yZWdyb3VuZCBjb21iaW5lZCB3aXRoIGEgYm9sZCB3 ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1YnRsZQ0KKyAgYWNjZW50ZWQgYmFja2dyb3VuZC4NCisN CisrIGBoaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgd2l0aG91 dCBhIGJvbGQNCisgIHdlaWdodC4NCisNCisrIGByYWluYm93LWhpZ2hsaWdodCcgaXMgdGhlIHNh bWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdpdGggYSBtb3JlDQorICBjb2xvcmZ1bCBmb3JlZ3JvdW5k Lg0KKw0KKysgYHJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGByYWlu Ym93LWhpZ2hsaWdodCcNCisgIHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCisNCisrIGBzZWN0aW9u JyByZXRhaW5zIHRoZSBkZWZhdWx0IGxvb2tzIGFuZCBhZGRzIHRvIHRoZW0gYm90aCBhbg0KKyAg b3ZlcmxpbmUgYW5kIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZC4gIEl0IGlzLCBpbiBl ZmZlY3QsDQorICBhIGNvbWJpbmF0aW9uIG9mIHRoZSBgbGluZScgYW5kIGBoaWdobGlnaHQnIHZh bHVlcy4NCisNCisrIGBzZWN0aW9uLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9uJyB3 aXRob3V0IGEgYm9sZA0KKyAgd2VpZ2h0Lg0KKw0KKysgYHJhaW5ib3ctc2VjdGlvbicgaXMgdGhl IHNhbWUgYXMgYHNlY3Rpb24nIGJ1dCB3aXRoIGEgbW9yZQ0KKyAgY29sb3JmdWwgZm9yZWdyb3Vu ZC4NCisNCisrIGByYWluYm93LXNlY3Rpb24tbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5i b3ctc2VjdGlvbicNCisgIHdpdGhvdXQgYSBib2xkIHdlaWdodC4iDQorICA6cGFja2FnZS12ZXJz aW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5 cGUNCisgICcoYWxpc3QNCisgICAgOmtleS10eXBlIHN5bWJvbA0KKyAgICA6dmFsdWUtdHlwZQ0K KyAgICAoY2hvaWNlIChjb25zdCA6dGFnICJGYWlybHkgZGVzYXR1cmF0ZWQgZm9yZWdyb3VuZCB3 aXRoIGJvbGQgd2VpZ2h0IChkZWZhdWx0KSIgdCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAi TGlrZSB0aGUgZGVmYXVsdCB3aXRob3V0IGJvbGQgd2VpZ2h0IiBuby1ib2xkKQ0KKyAgICAgICAg ICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHBsdXMgb3ZlcmxpbmUiIGxpbmUpDQor ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQi IGxpbmUtbm8tYm9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVs dCBidXQgd2l0aCBtb3JlIGNvbG9yZnVsIGZvcmVncm91bmQiIHJhaW5ib3cpDQorICAgICAgICAg ICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3cnIHBsdXMgb3ZlcmxpbmUiIHJhaW5ib3ctbGlu ZSkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycgd2l0aG91dCBib2xk IHdlaWdodCIgcmFpbmJvdy1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtl IGByYWluYm93LWxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ctbGluZS1uby1ib2xk KQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHBsdXMgc3VidGxl IGJhY2tncm91bmQiIGhpZ2hsaWdodCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBg aGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBoaWdobGlnaHQtbm8tYm9sZCkNCisgICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRoIG1vcmUgY29sb3JmdWwg Zm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcg Ikxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LWhp Z2hsaWdodC1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGln aHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHNlY3Rpb24tbm8tYm9sZCkNCisgICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aCBtb3JlIGNvbG9yZnVsIGZv cmVncm91bmQiIHJhaW5ib3ctc2VjdGlvbikNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlr ZSBgcmFpbmJvdy1zZWN0aW9uJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LXNlY3Rpb24t bm8tYm9sZCkpKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5ncyBu aWwNCisgICJVc2UgZm9udCBzY2FsaW5nIGZvciBoZWFkaW5ncy4iDQorICA6cGFja2FnZS12ZXJz aW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5 cGUgJ2Jvb2xlYW4pDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtc2NhbGUtMSAxLjA1DQor ICAiRm9udCBzaXplIHRoYXQgaXMgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGhlIGJhc2UgdmFsdWUu DQorVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFz IGEgbXVsdGlwbGUNCitvZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFi bGUgYWxzbyBhY2NlcHRzIGFuDQoraW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBo ZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCit0aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBm b250IGF0IDE0IHBvaW50IHNpemUpLg0KKw0KK0ZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQg dGhlIGRvY3VtZW50YXRpb24gb2YNCitgc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5 IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhl bWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ251bWJlcikNCisN CisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS0yIDEuMQ0KKyAgIkZvbnQgc2l6ZSBzbGln aHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtdGhlbWVzLXNjYWxlLTEnLg0KK1RoZSBkZWZhdWx0IGlz IGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQorb2Yg dGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBh bg0KK2ludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFs dWUgb2YgMTQwIGlzDQordGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBz aXplKS4NCisNCitGb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9u IG9mDQorYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNl Y3Rpb24uIg0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQor ICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdudW1iZXIpDQorDQorKGRlZmN1c3RvbSBtb2R1 cy10aGVtZXMtc2NhbGUtMyAxLjE1DQorICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFu IGBtb2R1cy10aGVtZXMtc2NhbGUtMicuDQorVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2lu dCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCitvZiB0aGUgYmFzZSBmb250IHNp emUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQoraW50ZWdlciwgdW5k ZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCit0 aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KKw0KK0ZvciBt b3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCitgc2V0LWZhY2Ut YXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJ251bWJlcikNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS00 IDEuMg0KKyAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtdGhlbWVzLXNj YWxlLTMnLg0KK1RoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnBy ZXRlZCBhcyBhIG11bHRpcGxlDQorb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhl IHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KK2ludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJz b2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQordGhlIHNhbWUgYXMgc2V0dGlu ZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCisNCitGb3IgbW9yZSBvbiB0aGUgbWF0dGVy LCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQorYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNp ZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1v ZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdudW1i ZXIpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtc2NhbGUtNSAxLjMNCisgICJGb250IHNp emUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXRoZW1lcy1zY2FsZS00Jy4NCitUaGUgZGVm YXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBs ZQ0KK29mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFj Y2VwdHMgYW4NCitpbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5n LiBhIHZhbHVlIG9mIDE0MCBpcw0KK3RoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQg cG9pbnQgc2l6ZSkuDQorDQorRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1l bnRhdGlvbiBvZg0KK2BzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVp Z2h0JyBzZWN0aW9uLiINCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4w LjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnbnVtYmVyKQ0KKw0KKyhkZWZjdXN0 b20gbW9kdXMtdGhlbWVzLWZyaW5nZXMgbmlsDQorICAiRGVmaW5lIHRoZSB2aXNpYmlsaXR5IG9m IGZyaW5nZXMuDQorDQorTmlsIG1lYW5zIHRoZSBmcmluZ2VzIGhhdmUgbm8gYmFja2dyb3VuZCBj b2xvci4gIE9wdGlvbiBgc3VidGxlJw0KK3dpbGwgYXBwbHkgYSBncmV5c2NhbGUgdmFsdWUgdGhh dCBpcyB2aXNpYmxlIHlldCBjbG9zZSB0byB0aGUNCittYWluIGJ1ZmZlciBiYWNrZ3JvdW5kIGNv bG9yLiAgT3B0aW9uIGBpbnRlbnNlJyB3aWxsIHVzZSBhIG1vcmUNCitwcm9ub3VuY2VkIGdyZXlz Y2FsZSB2YWx1ZS4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4w IikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNv bnN0IDp0YWcgIk5vIHZpc2libGUgZnJpbmdlcyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAg KGNvbnN0IDp0YWcgIlN1YnRsZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgc3VidGxlKQ0KKyAgICAg ICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgaW50ZW5zZSkp KQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgbmlsDQorICAiVXNlIGEg c3VidGxlIGdyYXkgb3IgY29sb3ItY29kZWQgYmFja2dyb3VuZCBmb3IgT3JnIGJsb2Nrcy4NCisN CitOaWwgbWVhbnMgdGhhdCB0aGUgYmxvY2sgd2lsbCBoYXZlIG5vIGJhY2tncm91bmQgb2YgaXRz IG93biBhbmQNCit3aWxsIHVzZSB0aGUgZGVmYXVsdCB0aGF0IGFwcGxpZXMgdG8gdGhlIHJlc3Qg b2YgdGhlIGJ1ZmZlci4NCisNCitPcHRpb24gYGdyYXlzY2FsZScgKG9yIGBncmV5c2NhbGUnKSB3 aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRyYWwNCitncmF5IGJhY2tncm91bmQgdG8gdGhlIGJsb2Nr J3MgY29udGVudHMuICBJdCBhbHNvIGFmZmVjdHMgdGhlDQorYmVnaW4gYW5kIGVuZCBsaW5lcyBv ZiB0aGUgYmxvY2s6IHRoZWlyIGJhY2tncm91bmQgd2lsbCBiZQ0KK2V4dGVuZGVkIHRvIHRoZSBl ZGdlIG9mIHRoZSB3aW5kb3cgZm9yIEVtYWNzIHZlcnNpb24gPj0gMjcgd2hlcmUNCit0aGUgJzpl eHRlbmQnIGtleXdvcmQgaXMgcmVjb2duaXplZCBieSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCisN CitPcHRpb24gYHJhaW5ib3cnIHdpbGwgdXNlIGFuIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRo ZSBjb250ZW50cw0KK29mIHRoZSBibG9jay4gIFRoZSBleGFjdCBjb2xvciB3aWxsIGRlcGVuZCBv biB0aGUgcHJvZ3JhbW1pbmcNCitsYW5ndWFnZSBhbmQgaXMgY29udHJvbGxlZCBieSB0aGUgYG9y Zy1zcmMtYmxvY2stZmFjZXMnDQordmFyaWFibGUgKHJlZmVyIHRvIHRoZSB0aGVtZSdzIHNvdXJj ZSBjb2RlIGZvciB0aGUgY3VycmVudA0KK2Fzc29jaWF0aW9uIGxpc3QpLiINCisgIDpwYWNrYWdl LXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQor ICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gT3JnIGJsb2NrIGJh Y2tncm91bmQgKGRlZmF1bHQpIiBuaWwpDQorICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUg Z3JheSBibG9jayBiYWNrZ3JvdW5kIiBncmF5c2NhbGUpDQorICAgICAgICAgIChjb25zdCA6dGFn ICJTdWJ0bGUgZ3JheSBibG9jayBiYWNrZ3JvdW5kIChhbHQgc3BlbGxpbmcpIiBncmV5c2NhbGUp DQorICAgICAgICAgIChjb25zdCA6dGFnICJDb2xvci1jb2RlZCBiYWNrZ3JvdW5kIHBlciBwcm9n cmFtbWluZyBsYW5ndWFnZSIgcmFpbmJvdykpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVz LW1vZGUtbGluZSBuaWwNCisgICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGUgb2YgdGhlIG1vZGUg bGluZS4NCisNCitOaWwgaXMgYSB0d28tZGltZW5zaW9uYWwgcmVjdGFuZ2xlIHdpdGggYSBib3Jk ZXIgYXJvdW5kIGl0LiAgVGhlDQorYWN0aXZlIGFuZCB0aGUgaW5hY3RpdmUgbW9kZWxpbmVzIHVz ZSBkaWZmZXJlbnQgc2hhZGVzIG9mDQorZ3JleXNjYWxlIHZhbHVlcyBmb3IgdGhlIGJhY2tncm91 bmQgYW5kIGZvcmVncm91bmQuDQorDQorQSBgM2QnIHZhbHVlIHdpbGwgYXBwbHkgYSB0aHJlZS1k aW1lbnNpb25hbCBlZmZlY3QgdG8gdGhlIGFjdGl2ZQ0KK21vZGVsaW5lLiAgVGhlIGluYWN0aXZl IG1vZGVsaW5lcyByZW1haW4gdHdvLWRpbWVuc2lvbmFsIGFuZCBhcmUNCit0b25lZCBkb3duIGEg Yml0LCByZWxhdGl2ZSB0byB0aGUgbmlsIHZhbHVlLg0KKw0KK1RoZSBgbW9vZHknIG9wdGlvbiBp cyBtZWFudCB0byBvcHRpbWl6ZSB0aGUgbW9kZWxpbmUgZm9yIHVzZSB3aXRoDQordGhlIGxpYnJh cnkgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgcHJhY3RpY2FsbHkgbWVhbnMgdG8gcmVtb3ZlDQor dGhlIGJveCBlZmZlY3QgYW5kIHJlbHkgb24gdW5kZXJsaW5lIGFuZCBvdmVybGluZSBwcm9wZXJ0 aWVzDQoraW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biB0aGUgaW5hY3RpdmUgbW9kZWxpbmVz LiAgRGVzcGl0ZSBpdHMNCitpbnRlbmRlZCBwdXJwb3NlLCB0aGlzIG9wdGlvbiBjYW4gYWxzbyBi ZSB1c2VkIHdpdGhvdXQgdGhlDQorYG1vb2R5JyBsaWJyYXJ5LiINCisgIDpwYWNrYWdlLXZlcnNp b24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlw ZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVHdvLWRpbWVuc2lvbmFsIGJveCAo ZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlRocmVlLWRpbWVuc2lvbmFs IHN0eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGluZSIgM2QpDQorICAgICAgICAgIChjb25zdCA6 dGFnICJObyBib3ggZWZmZWN0cywgd2hpY2ggYXJlIG9wdGltYWwgZm9yIHVzZSB3aXRoIHRoZSBg bW9vZHknIGxpYnJhcnkiIG1vb2R5KSkpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtZGlm ZnMgbmlsDQorICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlcyBvZiBkaWZmcy4NCisNCitOaWwg bWVhbnMgdG8gdXNlIGZhaXJseSBpbnRlbnNlIGNvbG9yIGNvbWJpbmF0aW9ucyBmb3IgZGlmZnMu DQorRm9yIGV4YW1wbGUsIHlvdSBnZXQgYSByaWNoIGdyZWVuIGJhY2tncm91bmQgd2l0aCBhIGdy ZWVuDQorZm9yZWdyb3VuZCBmb3IgYWRkZWQgbGluZXMuICBXb3JkLXdpc2Ugb3IgJ3JlZmluZWQn IGRpZmZzIGZvbGxvdw0KK3RoZSBzYW1lIHBhdHRlcm4gYnV0IHVzZSBkaWZmZXJlbnQgc2hhZGVz IG9mIHRob3NlIGNvbG9ycyB0bw0KK3JlbWFpbiBkaXN0aW5jdC4NCisNCitBIGBkZXNhdHVyYXRl ZCcgdmFsdWUgZm9sbG93cyB0aGUgc2FtZSBwcmluY2lwbGVzIGFzIHdpdGggdGhlIG5pbA0KK29w dGlvbiwgd2hpbGUgaXQgdG9uZXMgZG93biBhbGwgcmVsZXZhbnQgY29sb3JzLg0KKw0KK09wdGlv biBgZmctb25seScgd2lsbCByZW1vdmUgYWxsIGFjY2VudGVkIGJhY2tncm91bmRzLCBleGNlcHQN Citmcm9tIHdvcmQtd2lzZSBjaGFuZ2VzLiAgSXQgaW5zdGVhZCB1c2VzIGNvbG9yLWNvZGVkIGZv cmVncm91bmQNCit2YWx1ZXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGFkZGVkL3JlbW92ZWQv Y2hhbmdlZCBsaW5lcy4gIElmDQorYSBiYWNrZ3JvdW5kIGlzIG5lY2Vzc2FyeSwgc3VjaCBhcyB3 aXRoIGBlZGlmZicsIHRoZW4gYSBzdWJ0bGUNCitncmV5c2NhbGUgdmFsdWUgaXMgdXNlZC4NCisN CitPcHRpb24gYGJnLW9ubHknIGFwcGxpZXMgYSBiYWNrZ3JvdW5kIGJ1dCBkb2VzIG5vdCBvdmVy cmlkZSB0aGUNCit0ZXh0J3MgZm9yZWdyb3VuZC4gIFRoaXMgbWFrZXMgaXQgc3VpdGFibGUgZm9y IGEgbm9uLW5pbCB2YWx1ZQ0KK3Bhc3NlZCB0byBgZGlmZi1mb250LWxvY2stc3ludGF4JyAobm90 ZTogTWFnaXQgZG9lcyBub3Qgc3VwcG9ydA0KK3N5bnRheCBoaWdobGlnaHRpbmcgaW4gZGlmZnMg YXMgb2YgMjAyMC0xMS0yNSwgdmVyc2lvbg0KKzIwMjAxMTE2LjEwNTcpLiINCisgIDpwYWNrYWdl LXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQor ICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZWx5IGNvbG9y ZWQgYmFja2dyb3VuZHMgKGRlZmF1bHQpIiBuaWwpDQorICAgICAgICAgIChjb25zdCA6dGFnICJT bGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kcyB3aXRoIHRpbnRlZCB0ZXh0IiBkZXNhdHVyYXRl ZCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIGJhY2tncm91bmRzLCBleGNlcHQgZm9yIHJl ZmluZWQgZGlmZnMiIGZnLW9ubHkpDQorICAgICAgICAgIChjb25zdCA6dGFnICJBcHBseSBjb2xv ci1jb2RlZCBiYWNrZ3JvdW5kczsga2VlcCBzeW50YXggY29sb3JzIGluIHRhY3QiIGJnLW9ubHkp KSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1jb21wbGV0aW9ucyBuaWwNCisgICJBcHBs eSBzcGVjaWFsIHN0eWxlcyB0byB0aGUgVUkgb2YgY29tcGxldGlvbiBmcmFtZXdvcmtzLg0KKw0K K1RoaXMgY29uY2VybnMgSWNvbXBsZXRlLCBJdnksIEhlbG0sIFNlbGVjdHJ1bSwgSWRvLCBhcyB3 ZWxsIGFzDQorYW55IG90aGVyIHRvb2wgbWVhbnQgdG8gZW5oYW5jZSB0aGVpciBleHBlcmllbmNl LiAgVGhlIGVmZmVjdA0KK3dpbGwgdmFyeSBkZXBlbmRpbmcgb24gdGhlIGNvbXBsZXRpb24gZnJh bWV3b3JrLg0KKw0KK05pbCBtZWFucyB0byByZW1haW4gZmFpdGhmdWwgdG8gdGhlIG1ldGFwaG9y cyB0aGF0IGVhY2ggVUkNCitlc3RhYmxpc2hlcy4gIEZvciBleGFtcGxlLCBJY29tcGxldGUgYW5k IElkbyBvbmx5IHVzZSBmb3JlZ3JvdW5kDQorY29sb3JzIHRvIHN0eWxlIHRoZWlyIG1hdGNoZXMs IHdoZXJlYXMgSXZ5IG9yIEhlbG0gcmVseSBvbiBhbg0KK2Flc3RoZXRpYyB0aGF0IGNvbWJpbmVz IGNvbG9yZWQgYmFja2dyb3VuZHMgd2l0aCBhcHByb3ByaWF0ZSB0ZXh0DQorY29sb3IuDQorDQor T3B0aW9uIGBtb2RlcmF0ZScgd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQg YW5kDQorZm9yZWdyb3VuZCB0aGF0IGlzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNvbXBsZXRlIGFu ZCB0aGUgbGlrZSwNCit0aGlzIGNvbnN0aXR1dGVzIGEgZGVwYXJ0dXJlIGZyb20gdGhlaXIgc3Rh bmRhcmQgc3R5bGUuICBXaGlsZQ0KK0l2eSwgSGVsbSwgYW5kIHRoZSBvdGhlcnMsIHdpbGwgdXNl IGxlc3MgcHJvbm91bmNlZCBjb2xvcnMgZm9yDQorYXBwbGljYWJsZSBjb250ZXh0cy4NCisNCitP cHRpb24gYG9waW5pb25hdGVkJyB3aWxsIGFwcGx5IGNvbG9yIGNvbWJpbmF0aW9ucyB0aGF0IHJl ZmFzaGlvbg0KK3RoZSBjb21wbGV0aW9uIFVJLiAgU28gSWNvbXBsZXRlIGV0IGFsIHdpbGwgbm93 IHVzZSBzdHlsZXMgdGhhdA0KK3Jlc2VtYmxlIHRoZSBkZWZhdWx0cyBvZiBJdnkgYW5kIGNvLiwg d2hpbGUgdGhlIGxhdHRlciBncm91cCB3aWxsDQorcmV2ZXJ0IHRvIGFuIGV2ZW4gbW9yZSBudWFu Y2VkIGFlc3RoZXRpYy4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEu MC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAg KGNvbnN0IDp0YWcgIlJlc3BlY3QgdGhlIGZyYW1ld29yaydzIGVzdGFibGlzaGVkIGFlc3RoZXRp YyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBiYWNrZ3Jv dW5kcyBmb3IgdmFyaW91cyBlbGVtZW50cyIgbW9kZXJhdGUpDQorICAgICAgICAgIChjb25zdCA6 dGFnICJSYWRpY2FsIGFsdGVybmF0aXZlIHRvIHRoZSBmcmFtZXdvcmsncyBsb29rcyIgb3Bpbmlv bmF0ZWQpKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1wcm9tcHRzIG5pbA0KKyAgIlVz ZSBzdWJ0bGUgb3IgaW50ZW5zZSBzdHlsZXMgZm9yIG1pbmlidWZmZXIgYW5kIFJFUEwgcHJvbXB0 cy4NCisNCitOaWwgbWVhbnMgdG8gb25seSB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xv ci4NCisNCitPcHRpb25zIGBzdWJ0bGUnIGFuZCBgaW50ZW5zZScgd2lsbCBjaGFuZ2UgYm90aCB0 aGUgYmFja2dyb3VuZA0KK2FuZCB0aGUgZm9yZWdyb3VuZCB2YWx1ZXMuICBUaGUgbGF0dGVyIGhh cyBhIG1vcmUgcHJvbm91bmNlZA0KK2VmZmVjdCB0aGFuIHRoZSBmb3JtZXIuIg0KKyAgOnBhY2th Z2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSIN CisgIDp0eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJObyBwcm9tcHQgYmFj a2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBh Y2NlbnRlZCBiYWNrZ3JvdW5kIGZvciB0aGUgcHJvbXB0IiBzdWJ0bGUpDQorICAgICAgICAgIChj b25zdCA6dGFnICJJbnRlbnNlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgZm9yIHRoZSBwcm9t cHQiIGludGVuc2UpKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxp bmUgbmlsDQorICAiVXNlIGEgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCBmb3IgY29tbWFuZCBg aGwtbGluZS1tb2RlJy4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEu MC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4pDQorDQorKGRlZmN1 c3RvbSBtb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2ggbmlsDQorICAiQ2hvb3NlIHRoZSBzdHlsZSBv ZiBtYXRjaGluZyBwYXJlbnRoZXNlcyBvciBkZWxpbWl0ZXJzLg0KKw0KK05pbCBtZWFucyB0byB1 c2UgYSBzdWJ0bGUgdGludGVkIGJhY2tncm91bmQgY29sb3IgKHRoZSBkZWZhdWx0KS4NCisNCitP cHRpb24gYGludGVuc2UnIGFwcGxpZXMgYSBzYXR1cmF0ZWQgYmFja2dyb3VuZCBjb2xvci4NCisN CitPcHRpb24gYHN1YnRsZS1ib2xkJyBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdCwgYnV0IGFs c28gbWFrZXMNCit1c2Ugb2YgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQgKGluaGVyaXRzIHRoZSBg Ym9sZCcgZmFjZSkuDQorDQorT3B0aW9uIGBpbnRlbnNlLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBp bnRlbnNlJywgd2hpbGUgaXQgYWxzbw0KK3VzZXMgYSBib2xkIHdlaWdodC4iDQorICA6cGFja2Fn ZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0K KyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlN1Ymx0ZSB0aW50ZWQg YmFja2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2Ug dGhlIGRlZmF1bHQsIGJ1dCBhbHNvIHVzZSBib2xkIHR5cG9ncmFwaGljIHdlaWdodCIgc3VidGxl LWJvbGQpDQorICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlIHNhdHVyYXRlZCBiYWNrZ3Jv dW5kIiBpbnRlbnNlKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaW50ZW5zZScgYnV0 IHdpdGggYm9sZCB3ZWlnaHQiIGludGVuc2UtYm9sZCkpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMt dGhlbWVzLXN5bnRheCBuaWwNCisgICJDb250cm9sIHRoZSBvdmVyYWxsIHN0eWxlIG9mIGNvZGUg c3ludGF4IGhpZ2hsaWdodGluZy4NCisNCitOaWwgKHRoZSBkZWZhdWx0KSBtZWFucyB0byB1c2Ug Y29sb3JzIG9uIHRoZSBjeWFuLWJsdWUtbWFnZW50YQ0KK3NpZGUgb2YgdGhlIHNwZWN0cnVtLiAg VGhlcmUgaXMgbGl0dGxlIHRvIG5vIHVzZSBvZiBncmVlbnMsDQoreWVsbG93cywgYW5kIHJlZHMu DQorDQorT3B0aW9uIGBmYWludCcgaXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUg Y2hvaWNlIG9mDQorcGFsZXR0ZSBidXQgYXBwbGllcyBkZXNhdHVyYXRlZCBjb2xvciB2YWx1ZXMu DQorDQorT3B0aW9uIGB5ZWxsb3ctY29tbWVudHMnIGFwcGxpZXMgYSB5ZWxsb3cgdGludCB0byBj b21tZW50cy4gIFRoZQ0KK3Jlc3Qgb2YgdGhlIHN5bnRheCBpcyB0aGUgc2FtZSBhcyB0aGUgZGVm YXVsdC4NCisNCitPcHRpb24gYGdyZWVuLXN0cmluZ3MnIHJlcGxhY2VzIHRoZSBibHVlL2N5YW4v Y29sZCBjb2xvciB2YXJpYW50cw0KK2luIHN0cmluZ3Mgd2l0aCBncmVlbmVyIGFsdGVybmF0aXZl cy4gIFRoZSByZXN0IG9mIHRoZSBzeW50YXgNCityZW1haW5zIHRoZSBzYW1lLg0KKw0KK09wdGlv biBgeWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MnIGNvbWJpbmVzIHllbGxvdyBjb21tZW50 cw0KK3dpdGggZ3JlZW4gc3RyaW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRlZmF1bHQgc3ludGF4 DQoraGlnaGxpZ2h0aW5nIHN0eWxlLg0KKw0KK09wdGlvbiBgYWx0LXN5bnRheCcgZXhwYW5kcyB0 aGUgY29sb3IgcGFsZXR0ZSBhbmQgYXBwbGllcyBuZXcNCitjb2xvciBjb21iaW5hdGlvbnMuICBT dHJpbmdzIGFyZSBncmVlbi4gIERvYyBzdHJpbmdzIGFyZSBtYWdlbnRhDQordGludGVkLiAgQ29t bWVudHMgYXJlIGdyYXkuDQorDQorT3B0aW9uIGBhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cycg Y29tYmluZXMgYGFsdC1zeW50YXgnIHdpdGgNCitgeWVsbG93LWNvbW1lbnRzJy4iDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkJhbGFuY2VkIHVz ZSBvZiBibHVlLCBjeWFuLCBtYWdlbnRhLCBwdXJwbGUgdmFyaWFudHMgKGRlZmF1bHQpIiBuaWwp DQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQgd2l0aCBkZXNh dHVyYXRlZCBjb2xvciB2YWx1ZXMiIGZhaW50KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQXBw bHkgeWVsbG93IHRpbnQgdG8gY29tbWVudHMsIGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRo ZSByZXN0IiB5ZWxsb3ctY29tbWVudHMpDQorICAgICAgICAgIChjb25zdCA6dGFnICJVc2UgZ3Jl ZW4gZm9yIHN0cmluZ3MsIGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRoZSByZXN0IiBncmVl bi1zdHJpbmdzKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVXNlIGdyZWVuIGZvciBzdHJpbmdz LCB5ZWxsb3cgZm9yIGNvbW1lbnRzLCBrZWVwIHRoZSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcmVz dCIgeWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MpDQorICAgICAgICAgIChjb25zdCA6dGFn ICJSZWZhc2hpb24gc3ludGF4IGhpZ2hsaWdodGluZyB3aXRoIG1vcmUgY29sb3JzLCBncmF5IGNv bW1lbnRzIiBhbHQtc3ludGF4KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgYWx0LXN5 bnRheCcgYnV0IHdpdGggeWVsbG93IGNvbW1lbnRzIiBhbHQtc3ludGF4LXllbGxvdy1jb21tZW50 cykpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLWxpbmtzIG5pbA0KKyAgIlNldCB0aGUg c3R5bGUgb2YgbGlua3MuDQorDQorTmlsIG1lYW5zIHRvIHVzZSBhbiB1bmRlcmxpbmUgdGhhdCBp cyB0aGUgc2FtZSBjb2xvciBhcyB0aGUNCitmb3JlZ3JvdW5kLg0KKw0KK09wdGlvbiBgZmFpbnQn IGFwcGxpZXMgZGVzYXR1cmF0ZWQgY29sb3JzIHRvIHRoZSBsaW5rJ3MgdGV4dCBhbmQNCit1bmRl cmxpbmUuDQorDQorT3B0aW9uIGBuZXV0cmFsLXVuZGVybGluZScgYXBwbGllcyBhIHN1YnRsZSBn cmV5IHVuZGVybGluZSwgd2hpbGUNCityZXRhaW5pbmcgdGhlIGxpbmsncyBmb3JlZ3JvdW5kLg0K Kw0KK09wdGlvbiBgZmFpbnQtbmV1dHJhbC11bmRlcmxpbmUnIGNvbWJpbmVzIGEgZGVzYXR1cmF0 ZWQgdGV4dA0KK2NvbG9yIHdpdGggYSBzdWJ0bGUgZ3JleSB1bmRlcmxpbmUuDQorDQorT3B0aW9u IGBuby11bmRlcmxpbmUnIHJlbW92ZXMgbGluayB1bmRlcmxpbmVzIGFsdG9nZXRoZXIuIg0KKyAg OnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAi MjguMSINCisgIDp0eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJVbmRlbGlu ZSBsaW5rIHVzaW5nIHRoZSBzYW1lIGNvbG9yIGFzIHRoZSB0ZXh0IChkZWZhdWx0KSIgbmlsKQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCwgYnV0IGFwcGx5IGxlc3Mg aW50ZW5zZSBjb2xvcnMgdG8gbGlua3MiIGZhaW50KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAi Q2hhbmdlIHRoZSBjb2xvciBvZiBsaW5rIHVuZGVybGluZXMgdG8gYSBuZXV0cmFsIGdyZXkiIG5l dXRyYWwtdW5kZXJsaW5lKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiRGVzYXR1cmF0ZWQgZm9y ZWdyb3VuZCB3aXRoIG5ldXRyYWwgZ3JleSB1bmRlcmxpbmUiIGZhaW50LW5ldXRyYWwtdW5kZXJs aW5lKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiUmVtb3ZlIHVuZGVybGluZSBwcm9wZXJ0eSBm cm9tIGxpbmtzLCBrZWVwaW5nIHRoZWlyIGZvcmVncm91bmQgYXMtaXMiIG5vLXVuZGVybGluZSkp KQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXJlZ2lvbiBuaWwNCisgICJDaGFuZ2UgdGhl IG92ZXJhbGwgYXBwZWFyYW5jZSBvZiB0aGUgYWN0aXZlIHJlZ2lvbi4NCisNCitOaWwgKHRoZSBk ZWZhdWx0KSBtZWFucyB0byBvbmx5IHVzZSBhIHByb21pbmVudCBncmF5IGJhY2tncm91bmQNCit3 aXRoIGEgbmV1dHJhbCBmb3JlZ3JvdW5kLiAgVGhlIGZvcmVncm91bmQgb3ZlcnJpZGVzIGFsbCBz eW50YXgNCitoaWdobGlnaHRpbmcuICBUaGUgcmVnaW9uIGV4dGVuZHMgdG8gdGhlIGVkZ2Ugb2Yg dGhlIHdpbmRvdy4NCisNCitPcHRpb24gYG5vLWV4dGVuZCcgcHJlc2VydmVzIHRoZSBkZWZhdWx0 IGFlc3RoZXRpYyBidXQgcHJldmVudHMNCit0aGUgcmVnaW9uIGZyb20gZXh0ZW5kaW5nIHRvIHRo ZSBlZGdlIG9mIHRoZSB3aW5kb3cuDQorDQorT3B0aW9uIGBiZy1vbmx5JyBhcHBsaWVzIGEgZmFp bnQgdGludGVkIGJhY2tncm91bmQgdGhhdCBpcw0KK2Rpc3RpbmN0IGZyb20gYWxsIG90aGVycyB1 c2VkIGluIHRoZSB0aGVtZSwgd2hpbGUgaXQgZG9lcyBub3QNCitvdmVycmlkZSBhbnkgZXhpc3Rp bmcgY29sb3JzLiAgSXQgZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUNCit3aW5kb3cuDQorDQor T3B0aW9uIGBiZy1vbmx5LW5vLWV4dGVuZCcgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgYGJnLW9u bHknIGFuZA0KK2Buby1leHRlbmQnIG9wdGlvbnMuIg0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1v ZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoY2hv aWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlIGJhY2tncm91bmQ7IG92ZXJyaWRl cyBjb2xvcnM7IGV4dGVuZHMgdG8gZWRnZSBvZiB3aW5kb3cgKGRlZmF1bHQpIiBuaWwpDQorICAg ICAgICAgIChjb25zdCA6dGFnICJBcyB3aXRoIHRoZSBkZWZhdWx0LCBidXQgZG9lcyBub3QgZXh0 ZW5kIiBuby1leHRlbmQpDQorICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgYmFja2dyb3Vu ZDsgcHJlc2VydmVzIGNvbG9yczsgZXh0ZW5kcyB0byBlZGdlIG9mIHdpbmRvdyIgYmctb25seSkN CisgICAgICAgICAgKGNvbnN0IDp0YWcgIkFzIHdpdGggdGhlIGBzdWJ0bGUnIG9wdGlvbiwgYnV0 IGRvZXMgbm90IGV4dGVuZCIgYmctb25seS1uby1leHRlbmQpKSkNCisNCisMDQorDQorOzs7IFZh cmlhYmxlcyBmb3IgZWFjaCB2YXJpYW50DQorDQorOzs7OyBNb2R1cyBPcGVyYW5kaQ0KKw0KKyhk ZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMNCisgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1k ZWZhdWx0LWNvbG9ycy1hbGlzdA0KKyAgJ21vZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkNCisg ICIxLjAuMCIpDQorDQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkNCisg ICcoOzsgYmFzZSB2YWx1ZXMNCisgICAgKGJnLW1haW4gLiAiI2ZmZmZmZiIpIChmZy1tYWluIC4g IiMwMDAwMDAiKQ0KKyAgICAoYmctZGltIC4gIiNmOGY4ZjgiKSAoZmctZGltIC4gIiMyODI4Mjgi KQ0KKyAgICAoYmctYWx0IC4gIiNmMGYwZjAiKSAoZmctYWx0IC4gIiM1MDUwNTAiKQ0KKyAgICA7 OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgYW5kIG11c3QgYmUgY29tYmluZWQgd2l0 aA0KKyAgICA7OyB0aGVtc2VsdmVzLCB0aG91Z2ggdGhlIGJhY2tncm91bmRzIGFyZSBhbHNvIG1l YW50IHRvIGJlIHVzZWQgd2l0aA0KKyAgICA7OyBvdGhlciAiYWN0aXZlIiB2YWx1ZXMsIGRlZmlu ZWQgZnVydGhlciBiZWxvdw0KKyAgICAoYmctYWN0aXZlIC4gIiNkN2Q3ZDciKSAoZmctYWN0aXZl IC4gIiMwYTBhMGEiKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiI2VmZWZlZiIpIChmZy1pbmFjdGl2 ZSAuICIjNDA0MTQ4IikNCisgICAgOzsgdGhlc2Ugc3BlY2lhbCB2YWx1ZXMgYXJlIGludGVuZGVk IGFzIGFsdGVybmF0aXZlcyB0byB0aGUgYmFzZQ0KKyAgICA7OyB2YWx1ZXMgZm9yIGNhc2VzIHdo ZXJlIHdlIG5lZWQgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gdGhlDQorICAgIDs7IGhpZ2hs aWdodGVkIGNvbnN0cnVjdHM7IHRoZXkgbXVzdCBlaXRoZXIgYmUgdXNlZCBhcyBwYWlycyBiYXNl ZA0KKyAgICA7OyBvbiB0aGVpciBuYW1lIG9yIGVhY2ggY2FuIGJlIGNvbWJpbmVkIHdpdGgge2Zn LGJnfS17bWFpbixhbHQsZGltfQ0KKyAgICA7OyBhbHdheXMgaW4gYWNjb3JkYW5jZSB3aXRoIHRo ZWlyIHJvbGUgYXMgYmFja2dyb3VuZCBvciBmb3JlZ3JvdW5kDQorICAgIChiZy1zcGVjaWFsLWNv bGQgLiAiI2RkZTNmNCIpIChmZy1zcGVjaWFsLWNvbGQgLiAiIzA5MzA2MCIpDQorICAgIChiZy1z cGVjaWFsLW1pbGQgLiAiI2M0ZWRlMCIpIChmZy1zcGVjaWFsLW1pbGQgLiAiIzE4NDAzNCIpDQor ICAgIChiZy1zcGVjaWFsLXdhcm0gLiAiI2YwZTBkNCIpIChmZy1zcGVjaWFsLXdhcm0gLiAiIzVk MzAyNiIpDQorICAgIChiZy1zcGVjaWFsLWNhbG0gLiAiI2Y4ZGRlYSIpIChmZy1zcGVjaWFsLWNh bG0gLiAiIzYxMjg0ZiIpDQorICAgIDs7IGZvcmVncm91bmRzIHRoYXQgY2FuIGJlIGNvbWJpbmVk IHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgKHJlZCAuICIjYTYwMDAwIikNCisg ICAgKHJlZC1hbHQgLiAiIzk3MjUwMCIpDQorICAgIChyZWQtYWx0LW90aGVyIC4gIiNhMDEzMmYi KQ0KKyAgICAocmVkLWZhaW50IC4gIiM3ZjEwMTAiKQ0KKyAgICAocmVkLWFsdC1mYWludCAuICIj NzAyZjAwIikNCisgICAgKHJlZC1hbHQtb3RoZXItZmFpbnQgLiAiIzdmMDAyZiIpDQorICAgIChn cmVlbiAuICIjMDA1ZTAwIikNCisgICAgKGdyZWVuLWFsdCAuICIjMzE1YjAwIikNCisgICAgKGdy ZWVuLWFsdC1vdGhlciAuICIjMTQ1YzMzIikNCisgICAgKGdyZWVuLWZhaW50IC4gIiMxMDQ0MTAi KQ0KKyAgICAoZ3JlZW4tYWx0LWZhaW50IC4gIiMzMDQ0MGYiKQ0KKyAgICAoZ3JlZW4tYWx0LW90 aGVyLWZhaW50IC4gIiMwZjQ0M2YiKQ0KKyAgICAoeWVsbG93IC4gIiM4MTNlMDAiKQ0KKyAgICAo eWVsbG93LWFsdCAuICIjNzA0ODBmIikNCisgICAgKHllbGxvdy1hbHQtb3RoZXIgLiAiIzg2Mzky NyIpDQorICAgICh5ZWxsb3ctZmFpbnQgLiAiIzVmNDQwMCIpDQorICAgICh5ZWxsb3ctYWx0LWZh aW50IC4gIiM1ZDUwMDAiKQ0KKyAgICAoeWVsbG93LWFsdC1vdGhlci1mYWludCAuICIjNWUzYTIw IikNCisgICAgKGJsdWUgLiAiIzAwMzFhOSIpDQorICAgIChibHVlLWFsdCAuICIjMjU0NGJiIikN CisgICAgKGJsdWUtYWx0LW90aGVyIC4gIiMwMDAwYzAiKQ0KKyAgICAoYmx1ZS1mYWludCAuICIj MDAyZjg4IikNCisgICAgKGJsdWUtYWx0LWZhaW50IC4gIiMwMDNmNzgiKQ0KKyAgICAoYmx1ZS1h bHQtb3RoZXItZmFpbnQgLiAiIzFmMGY2ZiIpDQorICAgIChtYWdlbnRhIC4gIiM3MjEwNDUiKQ0K KyAgICAobWFnZW50YS1hbHQgLiAiIzhmMDA3NSIpDQorICAgIChtYWdlbnRhLWFsdC1vdGhlciAu ICIjNTMxN2FjIikNCisgICAgKG1hZ2VudGEtZmFpbnQgLiAiIzc1MmY1MCIpDQorICAgIChtYWdl bnRhLWFsdC1mYWludCAuICIjNzAyNTY1IikNCisgICAgKG1hZ2VudGEtYWx0LW90aGVyLWZhaW50 IC4gIiM1ZjNmN2YiKQ0KKyAgICAoY3lhbiAuICIjMDA1MzhiIikNCisgICAgKGN5YW4tYWx0IC4g IiMzMDUxN2YiKQ0KKyAgICAoY3lhbi1hbHQtb3RoZXIgLiAiIzAwNWE1ZiIpDQorICAgIChjeWFu LWZhaW50IC4gIiMxMjUwNmYiKQ0KKyAgICAoY3lhbi1hbHQtZmFpbnQgLiAiIzM1NGY2ZiIpDQor ICAgIChjeWFuLWFsdC1vdGhlci1mYWludCAuICIjMmU1ODRmIikNCisgICAgOzsgdGhlc2UgZm9y ZWdyb3VuZCB2YWx1ZXMgY2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBiZy1tYWluIGFuZCBhcmUN CisgICAgOzsgdGh1cyBub3Qgc3VpdGFibGUgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRp bmcNCisgICAgKHJlZC1pbnRlbnNlIC4gIiNiNjAwMDAiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZSAu ICIjMDA2ODAwIikNCisgICAgKHllbGxvdy1pbnRlbnNlIC4gIiM5MDQyMDAiKQ0KKyAgICAoYmx1 ZS1pbnRlbnNlIC4gIiMxMTExZWUiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNlIC4gIiM3MDAwZTAi KQ0KKyAgICAoY3lhbi1pbnRlbnNlIC4gIiMyMDViOTMiKQ0KKyAgICA7OyB0aG9zZSBmb3JlZ3Jv dW5kcyBhcmUgbWVhbnQgZXhjbHVzaXZlbHkgZm9yIGJnLWFjdGl2ZSwgYmctaW5hY3RpdmUNCisg ICAgKHJlZC1hY3RpdmUgLiAiIzhhMDAwMCIpDQorICAgIChncmVlbi1hY3RpdmUgLiAiIzAwNGMy ZSIpDQorICAgICh5ZWxsb3ctYWN0aXZlIC4gIiM3MDJkMWYiKQ0KKyAgICAoYmx1ZS1hY3RpdmUg LiAiIzAwMzBiNCIpDQorICAgIChtYWdlbnRhLWFjdGl2ZSAuICIjNWMyMDkyIikNCisgICAgKGN5 YW4tYWN0aXZlIC4gIiMwMDNmOGEiKQ0KKyAgICA7OyB0aGUgInN1YnRsZSIgdmFsdWVzIGJlbG93 IGJlIGNvbWJpbmVkIHdpdGggZmctZGltLCB3aGlsZSB0aGUNCisgICAgOzsgImludGVuc2UiIHNo b3VsZCBiZSBwYWlyZWQgd2l0aCBmZy1tYWluDQorICAgIChyZWQtc3VidGxlLWJnIC4gIiNmMmIw YTIiKQ0KKyAgICAocmVkLWludGVuc2UtYmcgLiAiI2ZmODg5MiIpDQorICAgIChncmVlbi1zdWJ0 bGUtYmcgLiAiI2FlY2Y5MCIpDQorICAgIChncmVlbi1pbnRlbnNlLWJnIC4gIiM1YWRhODgiKQ0K KyAgICAoeWVsbG93LXN1YnRsZS1iZyAuICIjZTRjMzQwIikNCisgICAgKHllbGxvdy1pbnRlbnNl LWJnIC4gIiNmNWRmMjMiKQ0KKyAgICAoYmx1ZS1zdWJ0bGUtYmcgLiAiI2I1ZDBmZiIpDQorICAg IChibHVlLWludGVuc2UtYmcgLiAiIzZhYWVmZiIpDQorICAgIChtYWdlbnRhLXN1YnRsZS1iZyAu ICIjZjBkM2ZmIikNCisgICAgKG1hZ2VudGEtaW50ZW5zZS1iZyAuICIjZDViYWZmIikNCisgICAg KGN5YW4tc3VidGxlLWJnIC4gIiNjMGVmZmYiKQ0KKyAgICAoY3lhbi1pbnRlbnNlLWJnIC4gIiM0 MmNiZDQiKQ0KKyAgICA7OyB0aG9zZSBiYWNrZ3JvdW5kIHZhbHVlcyBtdXN0IGJlIGNvbWJpbmVk IHdpdGggZmctbWFpbiBhbmQgc2hvdWxkDQorICAgIDs7IG9ubHkgYmUgdXNlZCBmb3IgaW5kaWNh dG9ycyB0aGF0IGFyZSBwbGFjZWQgb24gdGhlIGZyaW5nZXMNCisgICAgKHJlZC1mcmluZ2UtYmcg LiAiI2YwODI5MCIpDQorICAgIChncmVlbi1mcmluZ2UtYmcgLiAiIzYyYzg2YSIpDQorICAgICh5 ZWxsb3ctZnJpbmdlLWJnIC4gIiNkYmJhM2YiKQ0KKyAgICAoYmx1ZS1mcmluZ2UtYmcgLiAiIzgy YWZmZiIpDQorICAgIChtYWdlbnRhLWZyaW5nZS1iZyAuICIjZTBhM2ZmIikNCisgICAgKGN5YW4t ZnJpbmdlLWJnIC4gIiMyZmNkZGYiKQ0KKyAgICA7OyB0aGUgZm9sbG93aW5nIGFyZSBmb3IgY2Fz ZXMgd2hlcmUgYm90aCB0aGUgZm9yZWdyb3VuZCBhbmQgdGhlDQorICAgIDs7IGJhY2tncm91bmQg bmVlZCB0byBoYXZlIGEgc2ltaWxhciBodWUgYW5kIHNvIG11c3QgYmUgY29tYmluZWQNCisgICAg Ozsgd2l0aCB0aGVtc2VsdmVzLCBldmVuIHRob3VnaCB0aGUgZm9yZWdyb3VuZHMgY2FuIGJlIHBh aXJlZCB3aXRoDQorICAgIDs7IGFueSBvZiB0aGUgYmFzZSBiYWNrZ3JvdW5kcw0KKyAgICAocmVk LXJlZmluZS1iZyAuICIjZmZjY2NjIikgKHJlZC1yZWZpbmUtZmcgLiAiIzc4MDAwMCIpDQorICAg IChncmVlbi1yZWZpbmUtYmcgLiAiI2FjZWFhYyIpIChncmVlbi1yZWZpbmUtZmcgLiAiIzAwNGMw MCIpDQorICAgICh5ZWxsb3ctcmVmaW5lLWJnIC4gIiNmZmYyOWEiKSAoeWVsbG93LXJlZmluZS1m ZyAuICIjNjA0MDAwIikNCisgICAgKGJsdWUtcmVmaW5lLWJnIC4gIiM4YWM3ZmYiKSAoYmx1ZS1y ZWZpbmUtZmcgLiAiIzAwMjI4OCIpDQorICAgIChtYWdlbnRhLXJlZmluZS1iZyAuICIjZmZjY2Zm IikgKG1hZ2VudGEtcmVmaW5lLWZnIC4gIiM3NzAwNzciKQ0KKyAgICAoY3lhbi1yZWZpbmUtYmcg LiAiIzhlZWNmNCIpIChjeWFuLXJlZmluZS1mZyAuICIjMDA0ODUwIikNCisgICAgOzsgdGhlICJu dWFuY2VkIiBiYWNrZ3JvdW5kcyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbGwgb2YgdGhlIGFib3Zl DQorICAgIDs7IGZvcmVncm91bmRzLCBhcyB3ZWxsIGFzIHRob3NlIGluY2x1ZGVkIGhlcmUsIHdo aWxlIHRoZSAibnVhbmNlZCINCisgICAgOzsgZm9yZWdyb3VuZHMgY2FuIGluIHR1cm4gYWxzbyBi ZSBjb21iaW5lZCB3aXRoIGJnLW1haW4sIGJnLWRpbSwNCisgICAgOzsgYmctYWx0DQorICAgIChy ZWQtbnVhbmNlZC1iZyAuICIjZmZmMWYwIikgKHJlZC1udWFuY2VkLWZnIC4gIiM1ZjAwMDAiKQ0K KyAgICAoZ3JlZW4tbnVhbmNlZC1iZyAuICIjZWNmN2VkIikgKGdyZWVuLW51YW5jZWQtZmcgLiAi IzAwNDAwMCIpDQorICAgICh5ZWxsb3ctbnVhbmNlZC1iZyAuICIjZmZmM2RhIikgKHllbGxvdy1u dWFuY2VkLWZnIC4gIiMzZjMwMDAiKQ0KKyAgICAoYmx1ZS1udWFuY2VkLWJnIC4gIiNmM2YzZmYi KSAoYmx1ZS1udWFuY2VkLWZnIC4gIiMyMDFmNTUiKQ0KKyAgICAobWFnZW50YS1udWFuY2VkLWJn IC4gIiNmZGYwZmYiKSAobWFnZW50YS1udWFuY2VkLWZnIC4gIiM1NDFmNGYiKQ0KKyAgICAoY3lh bi1udWFuY2VkLWJnIC4gIiNlYmY2ZmEiKSAoY3lhbi1udWFuY2VkLWZnIC4gIiMwZjMzNjAiKQ0K KyAgICA7OyB0aGUgZm9sbG93aW5nIGFyZSByZXNlcnZlZCBmb3Igc3BlY2lmaWMgY2FzZXMNCisg ICAgOzsNCisgICAgOzsgYmctaGwtbGluZSBpcyBiZXR3ZWVuIGJnLWRpbSBhbmQgYmctYWx0LCBz byBpdCBzaG91bGQNCisgICAgOzsgd29yayB3aXRoIGFsbCBhY2NlbnRzIHRoYXQgY292ZXIgdGhv c2UgdHdvLCBwbHVzIGJnLW1haW4NCisgICAgOzsNCisgICAgOzsgYmctaGwtYWx0IGFuZCBiZy1o bC1hbHQtaW50ZW5zZSBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gbm8NCisgICAgOzsgb3RoZXIg Z3JleXNjYWxlIG9yIGZhaXJseSBuZXV0cmFsIGJhY2tncm91bmQgaXMgYXZhaWxhYmxlIHRvDQor ICAgIDs7IHByb3Blcmx5IGRyYXcgYXR0ZW50aW9uIHRvIGEgZ2l2ZW4gY29uc3RydWN0DQorICAg IDs7DQorICAgIDs7IGJnLWhlYWRlciBpcyBiZXR3ZWVuIGJnLWFjdGl2ZSBhbmQgYmctaW5hY3Rp dmUsIHNvIGl0DQorICAgIDs7IGNhbiBiZSBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgImFjdGl2 ZSIgdmFsdWVzLCBwbHVzIHRoZQ0KKyAgICA7OyAic3BlY2lhbCIgYW5kIGJhc2UgZm9yZWdyb3Vu ZCBjb2xvcnMNCisgICAgOzsNCisgICAgOzsgYmctcGFyZW4tbWF0Y2gsIGJnLXBhcmVuLW1hdGNo LWludGVuc2UsIGJnLXJlZ2lvbiBhbmQNCisgICAgOzsgYmctdGFiLWFjdGl2ZSBtdXN0IGJlIGNv bWJpbmVkIHdpdGggZmctbWFpbiwgd2hpbGUNCisgICAgOzsgYmctdGFiLWluYWN0aXZlIHNob3Vs ZCBiZSBjb21iaW5lZCB3aXRoIGZnLWRpbQ0KKyAgICA7Ow0KKyAgICA7OyBiZy10YWItYmFyIGlz IG9ubHkgaW50ZW5kZWQgZm9yIHRoZSBiYXIgdGhhdCBob2xkcyB0aGUgdGFicyBhbmQNCisgICAg OzsgY2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluDQorICAgIDs7DQorICAgIDs7IGZn LXRhYi1hY3RpdmUgaXMgbWVhbnQgdG8gYmUgY29tYmluZWQgd2l0aCBiZy10YWItYWN0aXZlLA0K KyAgICA7OyB0aG91Z2ggb25seSBmb3Igc3R5bGluZyBzcGVjaWFsIGVsZW1lbnRzLCBzdWNoIGFz IHVuZGVybGluaW5nDQorICAgIDs7IHRoZSBjdXJyZW50IHRhYg0KKyAgICA7Ow0KKyAgICA7OyBm Zy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgYW5kIGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCBjYW4N CisgICAgOzsgYmUgY29tYmluZWQgYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgOzsNCisg ICAgOzsgZmctbGFuZy1lcnJvciwgZmctbGFuZy13YXJuaW5nLCBmZy1sYW5nLW5vdGUgY2FuIGJl DQorICAgIDs7IGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgOzsN CisgICAgOzsgZmctbWFyay1zZWwsIGZnLW1hcmstZGVsLCBmZy1tYXJrLWFsdCBjYW4gYmUgY29t YmluZWQNCisgICAgOzsgd2l0aCBiZy1tYWluLCBiZy1kaW0sIGJnLWFsdCwgYmctaGwtbGluZQ0K KyAgICA7Ow0KKyAgICA7OyBmZy11bmZvY3VzZWQgbXVzdCBiZSBjb21iaW5lZCB3aXRoIGZnLW1h aW4NCisgICAgOzsNCisgICAgOzsgZmctZG9jc3RyaW5nLCBmZy1jb21tZW50LXllbGxvdyBjYW4g YmUgY29tYmluZWQgd2l0aA0KKyAgICA7OyBiZy1tYWluLCBiZy1kaW0sIGJnLWFsdA0KKyAgICA7 Ow0KKyAgICA7OyB0aGUgd2luZG93IGRpdmlkZXIgY29sb3JzIGFwcGx5IHRvIGZhY2VzIHdpdGgg anVzdCBhbiBmZyB2YWx1ZQ0KKyAgICA7Ow0KKyAgICA7OyBhbGwgcGFpcnMgYXJlIGNvbWJpbmFi bGUgd2l0aCB0aGVtc2VsdmVzDQorICAgIChiZy1obC1saW5lIC4gIiNmMmVmZjMiKQ0KKyAgICAo YmctaGwtbGluZS1pbnRlbnNlIC4gIiNlMGUwZTAiKQ0KKyAgICAoYmctaGwtYWx0IC4gIiNmYmVl ZTAiKQ0KKyAgICAoYmctaGwtYWx0LWludGVuc2UgLiAiI2U4ZGZkMSIpDQorICAgIChiZy1wYXJl bi1tYXRjaCAuICIjZTBhZjgyIikNCisgICAgKGJnLXBhcmVuLW1hdGNoLWludGVuc2UgLiAiI2M0 ODhmZiIpDQorICAgIChiZy1yZWdpb24gLiAiI2JjYmNiYyIpDQorDQorICAgIChiZy10YWItYmFy IC4gIiNkNWQ1ZDUiKQ0KKyAgICAoYmctdGFiLWFjdGl2ZSAuICIjZjZmNmY2IikNCisgICAgKGJn LXRhYi1pbmFjdGl2ZSAuICIjYmRiZGJkIikNCisgICAgKGZnLXRhYi1hY3RpdmUgLiAiIzMwMTY5 ZSIpDQorDQorICAgIChmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgLiAiIzhiMTAzMCIpDQorICAg IChmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2ggLiAiIzY1NGQwZiIpDQorDQorICAgIChmZy1sYW5n LWVycm9yIC4gIiM5ZjAwNGYiKQ0KKyAgICAoZmctbGFuZy13YXJuaW5nIC4gIiM2MDRmMGYiKQ0K KyAgICAoZmctbGFuZy1ub3RlIC4gIiM0MDQwYWUiKQ0KKw0KKyAgICAoZmctd2luZG93LWRpdmlk ZXItaW5uZXIgLiAiIzg4ODg4OCIpDQorICAgIChmZy13aW5kb3ctZGl2aWRlci1vdXRlciAuICIj NTg1ODU4IikNCisNCisgICAgKGZnLXVuZm9jdXNlZCAuICIjNTY1NzZkIikNCisNCisgICAgKGZn LWRvY3N0cmluZyAuICIjMmE0ODZhIikNCisgICAgKGZnLWNvbW1lbnQteWVsbG93IC4gIiM1ZjQ0 MDAiKQ0KKw0KKyAgICAoYmctaGVhZGVyIC4gIiNlNWU1ZTUiKSAoZmctaGVhZGVyIC4gIiMyYTJh MmEiKQ0KKw0KKyAgICAoYmctd2hpdGVzcGFjZSAuICIjZmZmOGZjIikgKGZnLXdoaXRlc3BhY2Ug LiAiIzY0NTA2MCIpDQorDQorICAgIChiZy1kaWZmLWhlYWRpbmcgLiAiI2I3YzJkZCIpIChmZy1k aWZmLWhlYWRpbmcgLiAiIzA0MzM1NSIpDQorICAgIChiZy1kaWZmLWFkZGVkIC4gIiNkNGZhZDQi KSAoZmctZGlmZi1hZGRlZCAuICIjMDA0NTAwIikNCisgICAgKGJnLWRpZmYtY2hhbmdlZCAuICIj ZmNlZmNmIikgKGZnLWRpZmYtY2hhbmdlZCAuICIjNTI0MjAwIikNCisgICAgKGJnLWRpZmYtcmVt b3ZlZCAuICIjZmZlOGVmIikgKGZnLWRpZmYtcmVtb3ZlZCAuICIjNjkxNjE2IikNCisNCisgICAg KGJnLWRpZmYtcmVmaW5lLWFkZGVkIC4gIiM5NGNmOTQiKSAoZmctZGlmZi1yZWZpbmUtYWRkZWQg LiAiIzAwMmEwMCIpDQorICAgIChiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIC4gIiNjY2NmOGYiKSAo ZmctZGlmZi1yZWZpbmUtY2hhbmdlZCAuICIjMzAyMDEwIikNCisgICAgKGJnLWRpZmYtcmVmaW5l LXJlbW92ZWQgLiAiI2RhYTJiMCIpIChmZy1kaWZmLXJlZmluZS1yZW1vdmVkIC4gIiM0MDAwMDAi KQ0KKw0KKyAgICAoYmctZGlmZi1mb2N1cy1hZGRlZCAuICIjYmJlYWJiIikgKGZnLWRpZmYtZm9j dXMtYWRkZWQgLiAiIzAwMmMwMCIpDQorICAgIChiZy1kaWZmLWZvY3VzLWNoYW5nZWQgLiAiI2Vj ZGZiZiIpIChmZy1kaWZmLWZvY3VzLWNoYW5nZWQgLiAiIzM5MjkwMCIpDQorICAgIChiZy1kaWZm LWZvY3VzLXJlbW92ZWQgLiAiI2VmY2JjZiIpIChmZy1kaWZmLWZvY3VzLXJlbW92ZWQgLiAiIzRh MDAwMCIpDQorDQorICAgIChiZy1kaWZmLW5ldXRyYWwtMCAuICIjOTc5Nzk3IikgKGZnLWRpZmYt bmV1dHJhbC0wIC4gIiMwNDA0MDQiKQ0KKyAgICAoYmctZGlmZi1uZXV0cmFsLTEgLiAiI2IwYjBi MCIpIChmZy1kaWZmLW5ldXRyYWwtMSAuICIjMjUyNTI1IikNCisgICAgKGJnLWRpZmYtbmV1dHJh bC0yIC4gIiNjY2NjY2MiKSAoZmctZGlmZi1uZXV0cmFsLTIgLiAiIzNhM2EzYSIpDQorDQorICAg IChiZy1tYXJrLXNlbCAuICIjYTBmMGNmIikgKGZnLW1hcmstc2VsIC4gIiMwMDUwNDAiKQ0KKyAg ICAoYmctbWFyay1kZWwgLiAiI2ZmY2NiYiIpIChmZy1tYXJrLWRlbCAuICIjODQwMDQwIikNCisg ICAgKGJnLW1hcmstYWx0IC4gIiNmNWQ4OGYiKSAoZmctbWFyay1hbHQgLiAiIzc4MjkwMCIpKQ0K KyAgIlRoZSBlbnRpcmUgcGFsZXR0ZSBvZiBgbW9kdXMtdGhlbWVzJy4NCitFYWNoIGVsZW1lbnQg aGFzIHRoZSBmb3JtIChOQU1FIC4gSEVYKSB3aXRoIHRoZSBmb3JtZXIgYXMgYQ0KK3N5bWJvbCBh bmQgdGhlIGxhdHRlciBhcyBhIHN0cmluZy4iKQ0KKw0KKzs7OzsgTW9kdXMgVml2ZW5kaQ0KKw0K KyhkZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMNCisgICdtb2R1cy12aXZlbmRpLXRoZW1l LWRlZmF1bHQtY29sb3JzLWFsaXN0DQorICAnbW9kdXMtdGhlbWVzLWNvbG9ycy12aXZlbmRpDQor ICAiMS4wLjAiKQ0KKw0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtY29sb3JzLXZpdmVuZGkNCisg ICcoOzsgYmFzZSB2YWx1ZXMNCisgICAgKGJnLW1haW4gLiAiIzAwMDAwMCIpIChmZy1tYWluIC4g IiNmZmZmZmYiKQ0KKyAgICAoYmctZGltIC4gIiMxMTBiMTEiKSAoZmctZGltIC4gIiNlMGU2ZjAi KQ0KKyAgICAoYmctYWx0IC4gIiMxODFhMjAiKSAoZmctYWx0IC4gIiNhOGE4YTgiKQ0KKyAgICA7 OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgYW5kIG11c3QgYmUgY29tYmluZWQgd2l0 aA0KKyAgICA7OyB0aGVtc2VsdmVzLCB0aG91Z2ggdGhlIGJhY2tncm91bmRzIGFyZSBhbHNvIG1l YW50IHRvIGJlIHVzZWQgd2l0aA0KKyAgICA7OyBvdGhlciAiYWN0aXZlIiB2YWx1ZXMsIGRlZmlu ZWQgZnVydGhlciBiZWxvdw0KKyAgICAoYmctYWN0aXZlIC4gIiMzMjMyMzIiKSAoZmctYWN0aXZl IC4gIiNmNGY0ZjQiKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiIzFlMWUxZSIpIChmZy1pbmFjdGl2 ZSAuICIjYmZjMGM0IikNCisgICAgOzsgdGhlc2Ugc3BlY2lhbCB2YWx1ZXMgYXJlIGludGVuZGVk IGFzIGFsdGVybmF0aXZlcyB0byB0aGUgYmFzZQ0KKyAgICA7OyB2YWx1ZXMgZm9yIGNhc2VzIHdo ZXJlIHdlIG5lZWQgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gdGhlDQorICAgIDs7IGhpZ2hs aWdodGVkIGNvbnN0cnVjdHM7IHRoZXkgbXVzdCBlaXRoZXIgYmUgdXNlZCBhcyBwYWlycyBiYXNl ZA0KKyAgICA7OyBvbiB0aGVpciBuYW1lIG9yIGVhY2ggY2FuIGJlIGNvbWJpbmVkIHdpdGgge2Zn LGJnfS17bWFpbixhbHQsZGltfQ0KKyAgICA7OyBhbHdheXMgaW4gYWNjb3JkYW5jZSB3aXRoIHRo ZWlyIHJvbGUgYXMgYmFja2dyb3VuZCBvciBmb3JlZ3JvdW5kDQorICAgIChiZy1zcGVjaWFsLWNv bGQgLiAiIzIwMzQ0OCIpIChmZy1zcGVjaWFsLWNvbGQgLiAiI2M2ZWFmZiIpDQorICAgIChiZy1z cGVjaWFsLW1pbGQgLiAiIzAwMzIyZSIpIChmZy1zcGVjaWFsLW1pbGQgLiAiI2JmZWJlMCIpDQor ICAgIChiZy1zcGVjaWFsLXdhcm0gLiAiIzM4MmYyNyIpIChmZy1zcGVjaWFsLXdhcm0gLiAiI2Y4 ZGVjMCIpDQorICAgIChiZy1zcGVjaWFsLWNhbG0gLiAiIzM5MmE0OCIpIChmZy1zcGVjaWFsLWNh bG0gLiAiI2ZiZDZmNCIpDQorICAgIDs7IGZvcmVncm91bmRzIHRoYXQgY2FuIGJlIGNvbWJpbmVk IHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgKHJlZCAuICIjZmY4MDU5IikNCisg ICAgKHJlZC1hbHQgLiAiI2Y0OTIzYiIpDQorICAgIChyZWQtYWx0LW90aGVyIC4gIiNmZjk5Nzci KQ0KKyAgICAocmVkLWZhaW50IC4gIiNmZmEwYTAiKQ0KKyAgICAocmVkLWFsdC1mYWludCAuICIj ZjVhYTgwIikNCisgICAgKHJlZC1hbHQtb3RoZXItZmFpbnQgLiAiI2ZmOWZiZiIpDQorICAgIChn cmVlbiAuICIjNDRiYzQ0IikNCisgICAgKGdyZWVuLWFsdCAuICIjODBkMjAwIikNCisgICAgKGdy ZWVuLWFsdC1vdGhlciAuICIjMDBjZDY4IikNCisgICAgKGdyZWVuLWZhaW50IC4gIiM4OGNmODgi KQ0KKyAgICAoZ3JlZW4tYWx0LWZhaW50IC4gIiNhOGNmODgiKQ0KKyAgICAoZ3JlZW4tYWx0LW90 aGVyLWZhaW50IC4gIiM4OGNmYWYiKQ0KKyAgICAoeWVsbG93IC4gIiNlZWNjMDAiKQ0KKyAgICAo eWVsbG93LWFsdCAuICIjY2ZkZjMwIikNCisgICAgKHllbGxvdy1hbHQtb3RoZXIgLiAiI2YwY2U0 MyIpDQorICAgICh5ZWxsb3ctZmFpbnQgLiAiI2QyYjU4MCIpDQorICAgICh5ZWxsb3ctYWx0LWZh aW50IC4gIiNjYWJmNzciKQ0KKyAgICAoeWVsbG93LWFsdC1vdGhlci1mYWludCAuICIjZDBiYTk1 IikNCisgICAgKGJsdWUgLiAiIzJmYWZmZiIpDQorICAgIChibHVlLWFsdCAuICIjNzlhOGZmIiAp DQorICAgIChibHVlLWFsdC1vdGhlciAuICIjMDBiY2ZmIikNCisgICAgKGJsdWUtZmFpbnQgLiAi IzkyYmFmZiIpDQorICAgIChibHVlLWFsdC1mYWludCAuICIjYTRiMGZmIikNCisgICAgKGJsdWUt YWx0LW90aGVyLWZhaW50IC4gIiM4ZmM1ZmYiKQ0KKyAgICAobWFnZW50YSAuICIjZmVhY2QwIikN CisgICAgKG1hZ2VudGEtYWx0IC4gIiNmNzhmZTciKQ0KKyAgICAobWFnZW50YS1hbHQtb3RoZXIg LiAiI2I2YTBmZiIpDQorICAgIChtYWdlbnRhLWZhaW50IC4gIiNlMGIyZDYiKQ0KKyAgICAobWFn ZW50YS1hbHQtZmFpbnQgLiAiI2VmOWZlNCIpDQorICAgIChtYWdlbnRhLWFsdC1vdGhlci1mYWlu dCAuICIjZDBiNGZmIikNCisgICAgKGN5YW4gLiAiIzAwZDNkMCIpDQorICAgIChjeWFuLWFsdCAu ICIjNGFlOGZjIikNCisgICAgKGN5YW4tYWx0LW90aGVyIC4gIiM2YWU0YjkiKQ0KKyAgICAoY3lh bi1mYWludCAuICIjYTBiZmRmIikNCisgICAgKGN5YW4tYWx0LWZhaW50IC4gIiM5MGM0ZWQiKQ0K KyAgICAoY3lhbi1hbHQtb3RoZXItZmFpbnQgLiAiI2E0ZDBiYiIpDQorICAgIDs7IHRoZXNlIGZv cmVncm91bmQgdmFsdWVzIGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiBhbmQgYXJl DQorICAgIDs7IHRodXMgbm90IHN1aXRhYmxlIGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0 aW5nDQorICAgIChyZWQtaW50ZW5zZSAuICIjZmI2ODU5IikNCisgICAgKGdyZWVuLWludGVuc2Ug LiAiIzAwZmM1MCIpDQorICAgICh5ZWxsb3ctaW50ZW5zZSAuICIjZmZkZDAwIikNCisgICAgKGJs dWUtaW50ZW5zZSAuICIjMDBhMmZmIikNCisgICAgKG1hZ2VudGEtaW50ZW5zZSAuICIjZmY4YmQ0 IikNCisgICAgKGN5YW4taW50ZW5zZSAuICIjMzBmZmMwIikNCisgICAgOzsgdGhvc2UgZm9yZWdy b3VuZHMgYXJlIG1lYW50IGV4Y2x1c2l2ZWx5IGZvciBiZy1hY3RpdmUsIGJnLWluYWN0aXZlDQor ICAgIChyZWQtYWN0aXZlIC4gIiNmZmE3YmEiKQ0KKyAgICAoZ3JlZW4tYWN0aXZlIC4gIiM3MGQ3 M2YiKQ0KKyAgICAoeWVsbG93LWFjdGl2ZSAuICIjZGJiZTVmIikNCisgICAgKGJsdWUtYWN0aXZl IC4gIiMzNGNmZmYiKQ0KKyAgICAobWFnZW50YS1hY3RpdmUgLiAiI2Q1YjFmZiIpDQorICAgIChj eWFuLWFjdGl2ZSAuICIjMDBkOGI0IikNCisgICAgOzsgdGhlICJzdWJ0bGUiIHZhbHVlcyBiZWxv dyBiZSBjb21iaW5lZCB3aXRoIGZnLWRpbSwgd2hpbGUgdGhlDQorICAgIDs7ICJpbnRlbnNlIiBz aG91bGQgYmUgcGFpcmVkIHdpdGggZmctbWFpbg0KKyAgICAocmVkLXN1YnRsZS1iZyAuICIjNzYy NDIyIikNCisgICAgKHJlZC1pbnRlbnNlLWJnIC4gIiNhNDIwMmEiKQ0KKyAgICAoZ3JlZW4tc3Vi dGxlLWJnIC4gIiMyZjRhMDAiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZS1iZyAuICIjMDA2ODAwIikN CisgICAgKHllbGxvdy1zdWJ0bGUtYmcgLiAiIzYwNDIwMCIpDQorICAgICh5ZWxsb3ctaW50ZW5z ZS1iZyAuICIjODc0OTAwIikNCisgICAgKGJsdWUtc3VidGxlLWJnIC4gIiMxMDM4N2MiKQ0KKyAg ICAoYmx1ZS1pbnRlbnNlLWJnIC4gIiMyYTQwYjgiKQ0KKyAgICAobWFnZW50YS1zdWJ0bGUtYmcg LiAiIzQ5MzY2ZSIpDQorICAgIChtYWdlbnRhLWludGVuc2UtYmcgLiAiIzcwNDJhMiIpDQorICAg IChjeWFuLXN1YnRsZS1iZyAuICIjMDA0MTVlIikNCisgICAgKGN5YW4taW50ZW5zZS1iZyAuICIj MDA1Zjg4IikNCisgICAgOzsgdGhvc2UgYmFja2dyb3VuZCB2YWx1ZXMgbXVzdCBiZSBjb21iaW5l ZCB3aXRoIGZnLW1haW4gYW5kIHNob3VsZA0KKyAgICA7OyBvbmx5IGJlIHVzZWQgZm9yIGluZGlj YXRvcnMgdGhhdCBhcmUgcGxhY2VkIG9uIHRoZSBmcmluZ2VzDQorICAgIChyZWQtZnJpbmdlLWJn IC4gIiM4ZjFmNGIiKQ0KKyAgICAoZ3JlZW4tZnJpbmdlLWJnIC4gIiMwMDY3MDAiKQ0KKyAgICAo eWVsbG93LWZyaW5nZS1iZyAuICIjNmY0ZjAwIikNCisgICAgKGJsdWUtZnJpbmdlLWJnIC4gIiMz ZjMzYWYiKQ0KKyAgICAobWFnZW50YS1mcmluZ2UtYmcgLiAiIzZmMmY4OSIpDQorICAgIChjeWFu LWZyaW5nZS1iZyAuICIjMDA0ZjhmIikNCisgICAgOzsgdGhlIGZvbGxvd2luZyBhcmUgZm9yIGNh c2VzIHdoZXJlIGJvdGggdGhlIGZvcmVncm91bmQgYW5kIHRoZQ0KKyAgICA7OyBiYWNrZ3JvdW5k IG5lZWQgdG8gaGF2ZSBhIHNpbWlsYXIgaHVlIGFuZCBzbyBtdXN0IGJlIGNvbWJpbmVkDQorICAg IDs7IHdpdGggdGhlbXNlbHZlcywgZXZlbiB0aG91Z2ggdGhlIGZvcmVncm91bmRzIGNhbiBiZSBw YWlyZWQgd2l0aA0KKyAgICA7OyBhbnkgb2YgdGhlIGJhc2UgYmFja2dyb3VuZHMNCisgICAgKHJl ZC1yZWZpbmUtYmcgLiAiIzc3MDAyYSIpIChyZWQtcmVmaW5lLWZnIC4gIiNmZmI5YWIiKQ0KKyAg ICAoZ3JlZW4tcmVmaW5lLWJnIC4gIiMwMDQyMmEiKSAoZ3JlZW4tcmVmaW5lLWZnIC4gIiM5ZmYw Y2YiKQ0KKyAgICAoeWVsbG93LXJlZmluZS1iZyAuICIjNjkzMjAwIikgKHllbGxvdy1yZWZpbmUt ZmcgLiAiI2UyZDk4MCIpDQorICAgIChibHVlLXJlZmluZS1iZyAuICIjMjQyNjc5IikgKGJsdWUt cmVmaW5lLWZnIC4gIiM4ZWM2ZmYiKQ0KKyAgICAobWFnZW50YS1yZWZpbmUtYmcgLiAiIzcxMjA2 YSIpIChtYWdlbnRhLXJlZmluZS1mZyAuICIjZmZjYWYwIikNCisgICAgKGN5YW4tcmVmaW5lLWJn IC4gIiMwMDQwNjUiKSAoY3lhbi1yZWZpbmUtZmcgLiAiIzhhZTRmMiIpDQorICAgIDs7IHRoZSAi bnVhbmNlZCIgYmFja2dyb3VuZHMgY2FuIGJlIGNvbWJpbmVkIHdpdGggYWxsIG9mIHRoZSBhYm92 ZQ0KKyAgICA7OyBmb3JlZ3JvdW5kcywgYXMgd2VsbCBhcyB0aG9zZSBpbmNsdWRlZCBoZXJlLCB3 aGlsZSB0aGUgIm51YW5jZWQiDQorICAgIDs7IGZvcmVncm91bmRzIGNhbiBpbiB0dXJuIGFsc28g YmUgY29tYmluZWQgd2l0aCBiZy1tYWluLCBiZy1kaW0sDQorICAgIDs7IGJnLWFsdA0KKyAgICAo cmVkLW51YW5jZWQtYmcgLiAiIzJjMDYxNCIpIChyZWQtbnVhbmNlZC1mZyAuICIjZmZjY2NjIikN CisgICAgKGdyZWVuLW51YW5jZWQtYmcgLiAiIzAwMTkwNCIpIChncmVlbi1udWFuY2VkLWZnIC4g IiNiOGUyYjgiKQ0KKyAgICAoeWVsbG93LW51YW5jZWQtYmcgLiAiIzIyMTAwMCIpICh5ZWxsb3ct bnVhbmNlZC1mZyAuICIjZGZkZmIwIikNCisgICAgKGJsdWUtbnVhbmNlZC1iZyAuICIjMGYwZTM5 IikgKGJsdWUtbnVhbmNlZC1mZyAuICIjYmZkOWZmIikNCisgICAgKG1hZ2VudGEtbnVhbmNlZC1i ZyAuICIjMjMwNjMxIikgKG1hZ2VudGEtbnVhbmNlZC1mZyAuICIjZTVjZmVmIikNCisgICAgKGN5 YW4tbnVhbmNlZC1iZyAuICIjMDQxNTI5IikgKGN5YW4tbnVhbmNlZC1mZyAuICIjYThlNWU1IikN CisgICAgOzsgdGhlIGZvbGxvd2luZyBhcmUgcmVzZXJ2ZWQgZm9yIHNwZWNpZmljIGNhc2VzDQor ICAgIDs7DQorICAgIDs7IGJnLWhsLWxpbmUgaXMgYmV0d2VlbiBiZy1kaW0gYW5kIGJnLWFsdCwg c28gaXQgc2hvdWxkDQorICAgIDs7IHdvcmsgd2l0aCBhbGwgYWNjZW50cyB0aGF0IGNvdmVyIHRo b3NlIHR3bywgcGx1cyBiZy1tYWluDQorICAgIDs7DQorICAgIDs7IGJnLWhsLWFsdCBhbmQgYmct aGwtYWx0LWludGVuc2Ugc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIG5vDQorICAgIDs7IG90aGVy IGdyZXlzY2FsZSBvciBmYWlybHkgbmV1dHJhbCBiYWNrZ3JvdW5kIGlzIGF2YWlsYWJsZSB0bw0K KyAgICA7OyBwcm9wZXJseSBkcmF3IGF0dGVudGlvbiB0byBhIGdpdmVuIGNvbnN0cnVjdA0KKyAg ICA7Ow0KKyAgICA7OyBiZy1oZWFkZXIgaXMgYmV0d2VlbiBiZy1hY3RpdmUgYW5kIGJnLWluYWN0 aXZlLCBzbyBpdA0KKyAgICA7OyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlICJhY3Rp dmUiIHZhbHVlcywgcGx1cyB0aGUNCisgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNlIGZvcmVncm91 bmQgY29sb3JzDQorICAgIDs7DQorICAgIDs7IGJnLXBhcmVuLW1hdGNoLCBiZy1wYXJlbi1tYXRj aC1pbnRlbnNlLCBiZy1yZWdpb24gYW5kDQorICAgIDs7IGJnLXRhYi1hY3RpdmUgbXVzdCBiZSBj b21iaW5lZCB3aXRoIGZnLW1haW4sIHdoaWxlDQorICAgIDs7IGJnLXRhYi1pbmFjdGl2ZSBzaG91 bGQgYmUgY29tYmluZWQgd2l0aCBmZy1kaW0NCisgICAgOzsNCisgICAgOzsgYmctdGFiLWJhciBp cyBvbmx5IGludGVuZGVkIGZvciB0aGUgYmFyIHRoYXQgaG9sZHMgdGhlIHRhYnMgYW5kDQorICAg IDs7IGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggZmctbWFpbg0KKyAgICA7Ow0KKyAgICA7OyBm Zy10YWItYWN0aXZlIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVkIHdpdGggYmctdGFiLWFjdGl2ZSwN CisgICAgOzsgdGhvdWdoIG9ubHkgZm9yIHN0eWxpbmcgc3BlY2lhbCBlbGVtZW50cywgc3VjaCBh cyB1bmRlcmxpbmluZw0KKyAgICA7OyB0aGUgY3VycmVudCB0YWINCisgICAgOzsNCisgICAgOzsg ZmctZXNjYXBlLWNoYXItY29uc3RydWN0IGFuZCBmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2ggY2Fu DQorICAgIDs7IGJlIGNvbWJpbmVkIGJnLW1haW4sIGJnLWRpbSwgYmctYWx0DQorICAgIDs7DQor ICAgIDs7IGZnLWxhbmctZXJyb3IsIGZnLWxhbmctd2FybmluZywgZmctbGFuZy1ub3RlIGNhbiBi ZQ0KKyAgICA7OyBjb21iaW5lZCB3aXRoIGJnLW1haW4sIGJnLWRpbSwgYmctYWx0DQorICAgIDs7 DQorICAgIDs7IGZnLW1hcmstc2VsLCBmZy1tYXJrLWRlbCwgZmctbWFyay1hbHQgY2FuIGJlIGNv bWJpbmVkDQorICAgIDs7IHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQsIGJnLWhsLWxpbmUN CisgICAgOzsNCisgICAgOzsgZmctdW5mb2N1c2VkIG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1t YWluDQorICAgIDs7DQorICAgIDs7IGZnLWRvY3N0cmluZywgZmctY29tbWVudC15ZWxsb3cgY2Fu IGJlIGNvbWJpbmVkIHdpdGgNCisgICAgOzsgYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAg OzsNCisgICAgOzsgdGhlIHdpbmRvdyBkaXZpZGVyIGNvbG9ycyBhcHBseSB0byBmYWNlcyB3aXRo IGp1c3QgYW4gZmcgdmFsdWUNCisgICAgOzsNCisgICAgOzsgYWxsIHBhaXJzIGFyZSBjb21iaW5h YmxlIHdpdGggdGhlbXNlbHZlcw0KKyAgICAoYmctaGwtbGluZSAuICIjMTUxODIzIikNCisgICAg KGJnLWhsLWxpbmUtaW50ZW5zZSAuICIjMmYyZjJmIikNCisgICAgKGJnLWhsLWFsdCAuICIjMTgx NzMyIikNCisgICAgKGJnLWhsLWFsdC1pbnRlbnNlIC4gIiMyODJlNDYiKQ0KKyAgICAoYmctcGFy ZW4tbWF0Y2ggLiAiIzVmMzYyZiIpDQorICAgIChiZy1wYXJlbi1tYXRjaC1pbnRlbnNlIC4gIiM3 NDE2YjUiKQ0KKyAgICAoYmctcmVnaW9uIC4gIiMzYzNjM2MiKQ0KKw0KKyAgICAoYmctdGFiLWJh ciAuICIjMmMyYzJjIikNCisgICAgKGJnLXRhYi1hY3RpdmUgLiAiIzBlMGUwZSIpDQorICAgIChi Zy10YWItaW5hY3RpdmUgLiAiIzNkM2QzZCIpDQorICAgIChmZy10YWItYWN0aXZlIC4gIiM1YWMz Y2YiKQ0KKw0KKyAgICAoZmctZXNjYXBlLWNoYXItY29uc3RydWN0IC4gIiNlN2E1OWEiKQ0KKyAg ICAoZmctZXNjYXBlLWNoYXItYmFja3NsYXNoIC4gIiNhYmFiMDAiKQ0KKw0KKyAgICAoZmctbGFu Zy1lcnJvciAuICIjZWY4NjkwIikNCisgICAgKGZnLWxhbmctd2FybmluZyAuICIjYjBhYTAwIikN CisgICAgKGZnLWxhbmctbm90ZSAuICIjOWQ5ZGVmIikNCisNCisgICAgKGZnLXdpbmRvdy1kaXZp ZGVyLWlubmVyIC4gIiM2NDY0NjQiKQ0KKyAgICAoZmctd2luZG93LWRpdmlkZXItb3V0ZXIgLiAi Izk2OTY5NiIpDQorDQorICAgIChmZy11bmZvY3VzZWQgLiAiIzkzOTU5YiIpDQorDQorICAgIChm Zy1kb2NzdHJpbmcgLiAiI2IwZDZmNSIpDQorICAgIChmZy1jb21tZW50LXllbGxvdyAuICIjY2Fi OThmIikNCisNCisgICAgKGJnLWhlYWRlciAuICIjMjEyMTIxIikgKGZnLWhlYWRlciAuICIjZGRk ZGRkIikNCisNCisgICAgKGJnLXdoaXRlc3BhY2UgLiAiIzE3MDAxNiIpIChmZy13aGl0ZXNwYWNl IC4gIiNhNDk1OWYiKQ0KKw0KKyAgICAoYmctZGlmZi1oZWFkaW5nIC4gIiMzMDQ0NjYiKSAoZmct ZGlmZi1oZWFkaW5nIC4gIiNkYWRmZmUiKQ0KKyAgICAoYmctZGlmZi1hZGRlZCAuICIjMGEyODBh IikgKGZnLWRpZmYtYWRkZWQgLiAiIzk0YmE5NCIpDQorICAgIChiZy1kaWZmLWNoYW5nZWQgLiAi IzJhMjAwMCIpIChmZy1kaWZmLWNoYW5nZWQgLiAiI2IwYmE5ZiIpDQorICAgIChiZy1kaWZmLXJl bW92ZWQgLiAiIzQwMTYwZiIpIChmZy1kaWZmLXJlbW92ZWQgLiAiI2M2YWRhYSIpDQorDQorICAg IChiZy1kaWZmLXJlZmluZS1hZGRlZCAuICIjMDA1YTM2IikgKGZnLWRpZmYtcmVmaW5lLWFkZGVk IC4gIiNlMGY2ZTAiKQ0KKyAgICAoYmctZGlmZi1yZWZpbmUtY2hhbmdlZCAuICIjNTg1ODAwIikg KGZnLWRpZmYtcmVmaW5lLWNoYW5nZWQgLiAiI2ZmZmZjYyIpDQorICAgIChiZy1kaWZmLXJlZmlu ZS1yZW1vdmVkIC4gIiM4NTI4MjgiKSAoZmctZGlmZi1yZWZpbmUtcmVtb3ZlZCAuICIjZmZkOWVi IikNCisNCisgICAgKGJnLWRpZmYtZm9jdXMtYWRkZWQgLiAiIzIwM2QyMCIpIChmZy1kaWZmLWZv Y3VzLWFkZGVkIC4gIiNiNGRkYjQiKQ0KKyAgICAoYmctZGlmZi1mb2N1cy1jaGFuZ2VkIC4gIiM0 YTNhMTAiKSAoZmctZGlmZi1mb2N1cy1jaGFuZ2VkIC4gIiNkMGRhYWYiKQ0KKyAgICAoYmctZGlm Zi1mb2N1cy1yZW1vdmVkIC4gIiM1ZTI1MjYiKSAoZmctZGlmZi1mb2N1cy1yZW1vdmVkIC4gIiNl ZWJkYmEiKQ0KKw0KKyAgICAoYmctZGlmZi1uZXV0cmFsLTAgLiAiIzU3NTc1NyIpIChmZy1kaWZm LW5ldXRyYWwtMCAuICIjZmNmY2ZjIikNCisgICAgKGJnLWRpZmYtbmV1dHJhbC0xIC4gIiM0NTQ1 NDUiKSAoZmctZGlmZi1uZXV0cmFsLTEgLiAiI2RkZGRkZCIpDQorICAgIChiZy1kaWZmLW5ldXRy YWwtMiAuICIjMzEzMTMxIikgKGZnLWRpZmYtbmV1dHJhbC0yIC4gIiNiZmJmYmYiKQ0KKw0KKyAg ICAoYmctbWFyay1zZWwgLiAiIzAwMmYyZiIpIChmZy1tYXJrLXNlbCAuICIjNjBjZmEyIikNCisg ICAgKGJnLW1hcmstZGVsIC4gIiM1YTAwMDAiKSAoZmctbWFyay1kZWwgLiAiI2ZmOTlhYSIpDQor ICAgIChiZy1tYXJrLWFsdCAuICIjM2YyMjEwIikgKGZnLW1hcmstYWx0IC4gIiNmMGFhMjAiKSkN CisgICJUaGUgZW50aXJlIHBhbGV0dGUgb2YgYG1vZHVzLXZpdmVuZGktdGhlbWUnLg0KK0VhY2gg ZWxlbWVudCBoYXMgdGhlIGZvcm0gKE5BTUUgLiBIRVgpIHdpdGggdGhlIGZvcm1lciBhcyBhDQor c3ltYm9sIGFuZCB0aGUgbGF0dGVyIGFzIGEgc3RyaW5nLiIpDQorDQorOzs7OyBEZXByZWNhdGVk IGN1c3RvbWlzYXRpb24gb3B0aW9ucyAocHJpb3IgdG8gMS4wLjApDQorDQorOzs7OzsgTW9kdXMg T3BlcmFuZGkgb2Jzb2xldGUgb3B0aW9ucw0KKw0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVy YW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QgbmlsICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyAnbW9kdXMtdGhl bWVzLXNsYW50ZWQtY29uc3RydWN0cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1v cGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgJ21vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVj dHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvcG9y dGlvbmFsLWZvbnRzICdtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gt aGVhZGluZ3MgJ21vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1uby1taXhlZC1mb250cyAnbW9k dXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVz LW9wZXJhbmRpLXRoZW1lLXJhaW5ib3ctaGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1oZWFkaW5ncyAi MS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zZWN0aW9uLWhl YWRpbmdzICdtb2R1cy10aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAn bW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1oZWFkaW5ncyAiMS4w LjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS1oZWFkaW5n cyAnbW9kdXMtdGhlbWVzLXNjYWxlLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUg J21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEgJ21vZHVzLXRoZW1lcy1zY2FsZS0xICIxLjAu MCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTIgJ21vZHVz LXRoZW1lcy1zY2FsZS0yICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRp LXRoZW1lLXNjYWxlLTMgJ21vZHVzLXRoZW1lcy1zY2FsZS0zICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQgJ21vZHVzLXRoZW1lcy1zY2FsZS00 ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTUg J21vZHVzLXRoZW1lcy1zY2FsZS01ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9w ZXJhbmRpLXRoZW1lLXZpc2libGUtZnJpbmdlcyAnbW9kdXMtdGhlbWVzLWZyaW5nZXMgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtZnJpbmdlcyAnbW9kdXMt dGhlbWVzLWZyaW5nZXMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGkt dGhlbWUtZGlzdGluY3Qtb3JnLWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtcmFpbmJvdy1vcmctc3Jj LWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0 ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9j a3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtM2QtbW9k ZWxpbmUgJ21vZHVzLXRoZW1lcy1tb2RlLWxpbmUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAn bW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5lICdtb2R1cy10aGVtZXMtbW9kZS1saW5lICIx LjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXN1YnRsZS1kaWZm cyAnbW9kdXMtdGhlbWVzLWRpZmZzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9w ZXJhbmRpLXRoZW1lLWRpZmZzICdtb2R1cy10aGVtZXMtZGlmZnMgIjEuMC4wIikNCisobWFrZS1v YnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1zdGFuZGFyZC1jb21wbGV0aW9u cyAnbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21v ZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zICdtb2R1cy10aGVtZXMtY29tcGxldGlvbnMg IjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0cyAn bW9kdXMtdGhlbWVzLXByb21wdHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3Bl cmFuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lICdtb2R1cy10aGVtZXMtaW50ZW5zZS1obC1saW5l ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2Ut cGFyZW4tbWF0Y2ggJ21vZHVzLXRoZW1lcy1wYXJlbi1tYXRjaCAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50YXggJ21vZHVzLXRoZW1lcy1z eW50YXggIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtY29t bWVudHMgJ21vZHVzLXRoZW1lcy1zeW50YXggIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4ICdtb2R1cy10aGVtZXMtc3ludGF4ICIxLjAuMCIpDQor KG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lICdt b2R1cy10aGVtZXMtbGlua3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFu ZGktdGhlbWUtbGlua3MgJ21vZHVzLXRoZW1lcy1saW5rcyAiMS4wLjAiKQ0KKw0KKzs7Ozs7IE1v ZHVzIFZpdmVuZGkgb2Jzb2xldGUgb3B0aW9ucw0KKw0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12 aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdCBuaWwgIjEuMC4wIikNCisobWFrZS1v YnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zbGFudGVkLWNvbnN0cnVjdHMgJ21vZHVzLXRo ZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMt dml2ZW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgJ21vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVj dHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1wcm9wb3J0 aW9uYWwtZm9udHMgJ21vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiMS4wLjAi KQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhl YWRpbmdzICdtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgIjEuMC4wIikNCiso bWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1uby1taXhlZC1mb250cyAnbW9kdXMt dGhlbWVzLW5vLW1peGVkLWZvbnRzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZp dmVuZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAu MCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2VjdGlvbi1oZWFkaW5n cyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVz LXZpdmVuZGktdGhlbWUtaGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1oZWFkaW5ncyAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzICdtb2R1 cy10aGVtZXMtc2NhbGUtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMt dml2ZW5kaS10aGVtZS1zY2FsZS0xICdtb2R1cy10aGVtZXMtc2NhbGUtMSAiMS4wLjAiKQ0KKyht YWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTIgJ21vZHVzLXRoZW1lcy1z Y2FsZS0yICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUtMyAnbW9kdXMtdGhlbWVzLXNjYWxlLTMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS00ICdtb2R1cy10aGVtZXMtc2NhbGUtNCAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTUgJ21vZHVzLXRoZW1l cy1zY2FsZS01ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUt dmlzaWJsZS1mcmluZ2VzICdtb2R1cy10aGVtZXMtZnJpbmdlcyAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMgJ21vZHVzLXRoZW1lcy1mcmluZ2Vz ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtZGlzdGluY3Qt b3JnLWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1yYWluYm93LW9yZy1zcmMtYmxvY2tzICdtb2R1cy10 aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRp LXRoZW1lLW9yZy1ibG9ja3MgJ21vZHVzLXRoZW1lcy1vcmctYmxvY2tzICIxLjAuMCIpDQorKG1h a2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtM2QtbW9kZWxpbmUgJ21vZHVzLXRoZW1l cy1tb2RlLWxpbmUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVt ZS1tb2RlLWxpbmUgJ21vZHVzLXRoZW1lcy1tb2RlLWxpbmUgIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zdWJ0bGUtZGlmZnMgJ21vZHVzLXRoZW1lcy1kaWZm cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZzICdt b2R1cy10aGVtZXMtZGlmZnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5k aS10aGVtZS1pbnRlbnNlLXN0YW5kYXJkLWNvbXBsZXRpb25zICdtb2R1cy10aGVtZXMtY29tcGxl dGlvbnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1jb21w bGV0aW9ucyAnbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xl dGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtcHJvbXB0cyAnbW9kdXMtdGhlbWVzLXByb21wdHMgIjEu MC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLWhsLWxp bmUgJ21vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0 ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoICdtb2R1cy10aGVtZXMt cGFyZW4tbWF0Y2ggIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVt ZS1mYWludC1zeW50YXggJ21vZHVzLXRoZW1lcy1zeW50YXggIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1jb21tZW50cyAnbW9kdXMtdGhlbWVzLXN5bnRheCAi MS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheCAnbW9k dXMtdGhlbWVzLXN5bnRheCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRp LXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lICdtb2R1cy10aGVtZXMtbGlua3MgIjEuMC4wIikNCiso bWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1saW5rcyAnbW9kdXMtdGhlbWVzLWxp bmtzICIxLjAuMCIpDQorDQorDA0KKw0KKzs7OyBJbnRlcm5hbCBmdW5jdGlvbnMNCisNCis7OyBI ZWxwZXIgZnVuY3Rpb25zIHRoYXQgYXJlIG1lYW50IHRvIGVhc2UgdGhlIGltcGxlbWVudGF0aW9u IG9mIHRoZQ0KKzs7IGFib3ZlIGN1c3RvbWl6YXRpb24gb3B0aW9ucy4NCisoZGVmdW4gbW9kdXMt dGhlbWVzLS1ib2xkLXdlaWdodCAoKQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBhIGhlYXZpZXIg dGV4dCB3ZWlnaHQuIg0KKyAgKHdoZW4gbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cw0KKyAg ICAobGlzdCA6aW5oZXJpdCAnYm9sZCkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLW1peGVk LWZvbnRzICgpDQorICAiQ29uZGl0aW9uYWwgYXBwbGljYXRpb24gb2YgYGZpeGVkLXBpdGNoJyBp bmhlcml0YW5jZS4iDQorICAodW5sZXNzIG1vZHVzLXRoZW1lcy1uby1taXhlZC1mb250cw0KKyAg ICAobGlzdCA6aW5oZXJpdCAnZml4ZWQtcGl0Y2gpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVz LS1zbGFudCAoKQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBpdGFsaWNzIGZvciBzbGFudCBhdHRy aWJ1dGUuIg0KKyAgKGlmIG1vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMNCisgICAgICAo bGlzdCAnaXRhbGljKQ0KKyAgICAobGlzdCAnbm9ybWFsKSkpDQorDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy0tdmFyaWFibGUtcGl0Y2ggKCkNCisgICJDb25kaXRpb25hbCB1c2Ugb2YgYHZhcmlhYmxl LXBpdGNoJyBpbiBoZWFkaW5ncy4iDQorICAod2hlbiBtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0 Y2gtaGVhZGluZ3MNCisgICAgKGxpc3QgOmluaGVyaXQgJ3ZhcmlhYmxlLXBpdGNoKSkpDQorDQor KGRlZnVuIG1vZHVzLXRoZW1lcy0tZnJpbmdlIChtYWluYmcgc3VidGxlYmcgaW50ZW5zZWJnKQ0K KyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgZnJpbmdlcy4NCitN QUlOQkcgaXMgdGhlIGRlZmF1bHQuICBTVUJUTEVCRyBzaG91bGQgYmUgYSBzdWJ0bGUgZ3JleXNj YWxlDQordmFsdWUuICBJTlRFTlNFQkcgbXVzdCBiZSBhIG1vcmUgcHJvbm91bmNlZCBncmV5c2Nh bGUgY29sb3IuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1mcmluZ2VzDQorICAgICgnaW50ZW5z ZSAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcpKQ0KKyAgICAoJ3N1YnRsZSAobGlzdCA6YmFj a2dyb3VuZCBzdWJ0bGViZykpDQorICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIG1haW5iZykpKSkN CisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1wcm9tcHQgKG1haW5mZyBzdWJ0bGViZyBzdWJ0bGVm ZyBpbnRlbnNlYmcgaW50ZW5zZWZnKQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBiYWNrZ3JvdW5k IGNvbG9ycyBmb3IgcHJvbXB0cy4NCitNQUlORkcgaXMgdGhlIHByb21wdCdzIHN0YW5kYXJkIGZv cmVncm91bmQuICBTVUJUTEVCRyBzaG91bGQgYmUgYQ0KK3N1YnRsZSBhY2NlbnRlZCBiYWNrZ3Jv dW5kIHRoYXQgd29ya3Mgd2l0aCBTVUJUTEVGRy4gIElOVEVOU0VCRw0KK211c3QgYmUgYSBtb3Jl IHByb25vdW5jZWQgYWNjZW50ZWQgY29sb3IgdGhhdCBzaG91bGQgYmUNCitjb21iaW5hYmxlIHdp dGggSU5URU5TRUZHLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtcHJvbXB0cw0KKyAgICAoJ2lu dGVuc2UgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykp DQorICAgICgnc3VidGxlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIHN1 YnRsZWZnKSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsIDpmb3JlZ3JvdW5kIG1haW5m ZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1wYXJlbiAobm9ybWFsYmcgaW50ZW5zZWJn KQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBpbnRlbnNlIGNvbG9ycyBmb3IgbWF0Y2hpbmcgcGFy ZW50aGVzZXMuDQorTk9STUFMQkcgc2hvdWxkIGJlIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3Ig J2JnLXBhcmVuLW1hdGNoJyBvcg0KK3NvbWV0aGluZyBzaW1pbGFyLiAgSU5URU5TRUJHIG11c3Qg YmUgZWFzaWVyIHRvIGRpc2Nlcm4gbmV4dCB0bw0KK290aGVyIGJhY2tncm91bmRzLCBzdWNoIGFz IHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3INCisnYmctcGFyZW4tbWF0Y2gtaW50ZW5zZScuIg0K KyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1wYXJlbi1tYXRjaA0KKyAgICAoJ3N1YnRsZS1ib2xkIChs aXN0IDppbmhlcml0ICdib2xkIDpiYWNrZ3JvdW5kIG5vcm1hbGJnKSkNCisgICAgKCdpbnRlbnNl LWJvbGQgKGxpc3QgOmluaGVyaXQgJ2JvbGQgOmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCisgICAg KCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykpDQorICAgIChfIChsaXN0IDpi YWNrZ3JvdW5kIG5vcm1hbGJnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLXN5bnRheC1m b3JlZ3JvdW5kIChmZyBmYWludCkNCisgICJBcHBseSBmb3JlZ3JvdW5kIHZhbHVlIHRvIGNvZGUg c3ludGF4Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNhbGx5IHRoZSBzYW1l IGNvbG9yIGluIGl0cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uIg0KKyAgKHBjYXNlIG1vZHVzLXRo ZW1lcy1zeW50YXgNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkpDQorICAg IChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLXN5 bnRheC1leHRyYSAoZmcgZmFpbnQgYWx0KQ0KKyAgIkFwcGx5IGZvcmVncm91bmQgdmFsdWUgdG8g Y29kZSBzeW50YXguDQorRkcgaXMgdGhlIGRlZmF1bHQuICBGQUlOVCBpcyB0eXBpY2FsbHkgdGhl IHNhbWUgY29sb3IgaW4gaXRzDQorZGVzYXR1cmF0ZWQgdmVyc2lvbi4gIEFMVCBpcyBhbm90aGVy IGh1ZS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLXN5bnRheA0KKyAgICAoJ2ZhaW50IChsaXN0 IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisgICAgKCdhbHQtc3ludGF4IChsaXN0IDpmb3JlZ3JvdW5k IGFsdCkpDQorICAgICgnYWx0LXN5bnRheC15ZWxsb3ctY29tbWVudHMgKGxpc3QgOmZvcmVncm91 bmQgYWx0KSkNCisgICAgKF8gKGxpc3QgOmZvcmVncm91bmQgZmcpKSkpDQorDQorKGRlZnVuIG1v ZHVzLXRoZW1lcy0tc3ludGF4LXN0cmluZyAoZmcgZmFpbnQgZ3JlZW4gYWx0KQ0KKyAgIkFwcGx5 IGZvcmVncm91bmQgdmFsdWUgdG8gc3RyaW5ncyBpbiBjb2RlIHN5bnRheC4NCitGRyBpcyB0aGUg ZGVmYXVsdC4gIEZBSU5UIGlzIHR5cGljYWxseSB0aGUgc2FtZSBjb2xvciBpbiBpdHMNCitkZXNh dHVyYXRlZCB2ZXJzaW9uLiAgR1JFRU4gaXMgYSBjb2xvciB2YXJpYW50IGluIHRoYXQgc2lkZSBv Zg0KK3RoZSBzcGVjdHJ1bS4gIEFMVCBpcyBhbm90aGVyIGh1ZS4iDQorICAocGNhc2UgbW9kdXMt dGhlbWVzLXN5bnRheA0KKyAgICAoJ2ZhaW50IChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisg ICAgKCdncmVlbi1zdHJpbmdzIChsaXN0IDpmb3JlZ3JvdW5kIGdyZWVuKSkNCisgICAgKCd5ZWxs b3ctY29tbWVudHMtZ3JlZW4tc3RyaW5ncyAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAo J2FsdC1zeW50YXggKGxpc3QgOmZvcmVncm91bmQgYWx0KSkNCisgICAgKCdhbHQtc3ludGF4LXll bGxvdy1jb21tZW50cyAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAoXyAobGlzdCA6Zm9y ZWdyb3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1zeW50YXgtZG9jc3RyaW5n IChmZyBmYWludCBncmVlbiBhbHQpDQorICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1ZSB0byBzdHJp bmdzIGluIGNvZGUgc3ludGF4Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNh bGx5IHRoZSBzYW1lIGNvbG9yIGluIGl0cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uICBHUkVFTiBp cyBhIGNvbG9yIHZhcmlhbnQgaW4gdGhhdCBzaWRlIG9mDQordGhlIHNwZWN0cnVtLiAgQUxUIGlz IGFub3RoZXIgaHVlLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtc3ludGF4DQorICAgICgnZmFp bnQgKGxpc3QgOmZvcmVncm91bmQgZmFpbnQpKQ0KKyAgICAoJ2dyZWVuLXN0cmluZ3MgKGxpc3Qg OmZvcmVncm91bmQgZ3JlZW4pKQ0KKyAgICAoJ3llbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdz IChsaXN0IDpmb3JlZ3JvdW5kIGdyZWVuKSkNCisgICAgKCdhbHQtc3ludGF4IChsaXN0IDpmb3Jl Z3JvdW5kIGFsdCkpDQorICAgICgnYWx0LXN5bnRheC15ZWxsb3ctY29tbWVudHMgKGxpc3QgOmZv cmVncm91bmQgYWx0KSkNCisgICAgKF8gKGxpc3QgOmZvcmVncm91bmQgZmcpKSkpDQorDQorKGRl ZnVuIG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQgKGZnIHllbGxvdykNCisgICJBcHBseSBm b3JlZ3JvdW5kIHZhbHVlIHRvIHN0cmluZ3MgaW4gY29kZSBzeW50YXguDQorRkcgaXMgdGhlIGRl ZmF1bHQuICBZRUxMT1cgaXMgYSBjb2xvciB2YXJpYW50IG9mIHRoYXQgbmFtZS4iDQorICAocGNh c2UgbW9kdXMtdGhlbWVzLXN5bnRheA0KKyAgICAoJ3llbGxvdy1jb21tZW50cyAobGlzdCA6Zm9y ZWdyb3VuZCB5ZWxsb3cpKQ0KKyAgICAoJ3llbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdzIChs aXN0IDpmb3JlZ3JvdW5kIHllbGxvdykpDQorICAgICgnYWx0LXN5bnRheC15ZWxsb3ctY29tbWVu dHMgKGxpc3QgOmZvcmVncm91bmQgeWVsbG93KSkNCisgICAgKF8gKGxpc3QgOmZvcmVncm91bmQg ZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0taGVhZGluZy1wIChrZXkpDQorICAiUXVl cnkgc3R5bGUgb2YgS0VZIGluIGBtb2R1cy10aGVtZXMtaGVhZGluZ3MnLiINCisgIChjZHIgKGFz c29jIGtleSBtb2R1cy10aGVtZXMtaGVhZGluZ3MpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVz LS1oZWFkaW5nIChsZXZlbCBmZyBmZy1hbHQgYmcgYm9yZGVyKQ0KKyAgIkNvbmRpdGlvbmFsIHN0 eWxlcyBmb3IgYG1vZHVzLXRoZW1lcy1oZWFkaW5ncycuDQorDQorTEVWRUwgaXMgdGhlIGhlYWRp bmcncyBwb3NpdGlvbiBpbiB0aGVpciBvcmRlci4gIEZHIGlzIHRoZQ0KK2RlZmF1bHQgdGV4dCBj b2xvci4gIEZHLUFMVCBpcyBhbiBhY2NlbnRlZCwgbW9yZSBzYXR1cmF0ZWQgdmFsdWUNCit0aGFu IHRoZSBkZWZhdWx0LiAgQkcgaXMgYSBudWFuY2VkLCB0eXBpY2FsbHkgYWNjZW50ZWQsDQorYmFj a2dyb3VuZCB0aGF0IGNhbiB3b3JrIHdlbGwgd2l0aCBlaXRoZXIgb2YgdGhlIGZvcmVncm91bmQN Cit2YWx1ZXMuICBCT1JERVIgaXMgYSBjb2xvciB2YWx1ZSB0aGF0IGNvbWJpbmVzIHdlbGwgd2l0 aCB0aGUNCitiYWNrZ3JvdW5kIGFuZCBhbHRlcm5hdGl2ZSBmb3JlZ3JvdW5kLiINCisgIChsZXQq ICgoa2V5IChtb2R1cy10aGVtZXMtLWhlYWRpbmctcCBgLGxldmVsKSkNCisgICAgICAgICAoc3R5 bGUgKG9yIGtleSAobW9kdXMtdGhlbWVzLS1oZWFkaW5nLXAgdCkpKQ0KKyAgICAgICAgICh2YXIg KGlmIG1vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncw0KKyAgICAgICAgICAgICAg ICAgICd2YXJpYWJsZS1waXRjaA0KKyAgICAgICAgICAgICAgICAnZGVmYXVsdCkpKQ0KKyAgICAo cGNhc2Ugc3R5bGUNCisgICAgICAoJ25vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2 YXIgOmZvcmVncm91bmQgZmcpKQ0KKyAgICAgICgnbGluZQ0KKyAgICAgICAobGlzdCA6aW5oZXJp dCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQorICAgICAg KCdsaW5lLW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQg ZmcgOm92ZXJsaW5lIGJvcmRlcikpDQorICAgICAgKCdyYWluYm93DQorICAgICAgIChsaXN0IDpp bmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KKyAgICAgICgncmFpbmJv dy1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZnLWFs dCkpDQorICAgICAgKCdyYWluYm93LWxpbmUNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xk ICx2YXIpIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCisgICAgICAoJ3Jh aW5ib3ctbGluZS1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3Jv dW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCisgICAgICAoJ2hpZ2hsaWdodA0KKyAgICAg ICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQg ZmcpKQ0KKyAgICAgICgnaGlnaGxpZ2h0LW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQg YCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0KKyAgICAgICgncmFpbmJvdy1o aWdobGlnaHQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5k IGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdyYWluYm93LWhpZ2hsaWdodC1uby1i b2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3Jv dW5kIGZnLWFsdCkpDQorICAgICAgKCdzZWN0aW9uDQorICAgICAgIChhcHBlbmQNCisgICAgICAg IChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCisgICAgICAg IChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBm ZyA6b3ZlcmxpbmUgYm9yZGVyKSkpDQorICAgICAgKCdzZWN0aW9uLW5vLWJvbGQNCisgICAgICAg KGFwcGVuZA0KKyAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0 ZW5kIHQpKQ0KKyAgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZv cmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpKQ0KKyAgICAgICgncmFpbmJvdy1zZWN0aW9u DQorICAgICAgIChhcHBlbmQNCisgICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24g MjcpICcoOmV4dGVuZCB0KSkNCisgICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6 YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpKQ0KKyAg ICAgICgncmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQNCisgICAgICAgKGFwcGVuZA0KKyAgICAgICAg KGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KKyAgICAgICAg KGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0IDpv dmVybGluZSBib3JkZXIpKSkNCisgICAgICAoXw0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJv bGQgLHZhcikgOmZvcmVncm91bmQgZmcpKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLW9y Zy1ibG9jayAoYmdibGspDQorICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIGJhY2tncm91bmQgb2Yg T3JnIGJsb2Nrcy4NCitCR0JMSyBhcHBsaWVzIHRvIGEgZGlzdGluY3QgbmV1dHJhbCBiYWNrZ3Jv dW5kLiAgRWxzZSBibG9ja3MgaGF2ZQ0KK25vIGJhY2tncm91bmQgb2YgdGhlaXIgb3duICh0aGUg ZGVmYXVsdCksIHNvIHRoZXkgbG9vayB0aGUgc2FtZQ0KK2FzIHRoZSByZXN0IG9mIHRoZSBidWZm ZXIuDQorDQorYG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzJyBhbHNvIGFjY2VwdHMgYSBgcmFpbmJv dycgb3B0aW9uDQord2hpY2ggaXMgYXBwbGllZCBjb25kaXRpb25hbGx5IHRvIGBvcmctc3JjLWJs b2NrLWZhY2VzJyAoc2VlIHRoZQ0KK3RoZW1lJ3Mgc291cmNlIGNvZGUpLiINCisgIChpZiAob3Ig KGVxIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzICdncmF5c2NhbGUpDQorICAgICAgICAgIChlcSBt b2R1cy10aGVtZXMtb3JnLWJsb2NrcyAnZ3JleXNjYWxlKSkNCisgICAgICAoYXBwZW5kDQorICAg ICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCisgICAg ICAgKGxpc3QgOmJhY2tncm91bmQgYmdibGspKQ0KKyAgICAobGlzdCA6YmFja2dyb3VuZCBuaWwp KSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1vcmctYmxvY2stZGVsaW0gKGJnYWNjZW50IGZn YWNjZW50IGJnIGZnKQ0KKyAgIkNvbmRpdGlvbmFsbHkgc2V0IHRoZSBzdHlsZXMgb2YgT3JnIGJs b2NrIGRlbGltaXRlcnMuDQorQkcsIEZHLCBCR0FDQ0VOVCwgRkdBQ0NFTlQgYXBwbHkgYSBiYWNr Z3JvdW5kIGFuZCBmb3JlZ3JvdW5kDQorY29sb3IgcmVzcGVjdGl2ZWx5Lg0KKw0KK1RoZSBmb3Jt ZXIgcGFpciBpcyBhIGdyZXlzY2FsZSBjb21iaW5hdGlvbiB0aGF0IHNob3VsZCBiZSBtb3JlDQor ZGlzdGluY3QgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYmxvY2suICBJdCBpcyBhcHBsaWVk IHRvIHRoZQ0KK2RlZmF1bHQgc3R5bGVzIG9yIHdoZW4gYG1vZHVzLXRoZW1lcy1vcmctYmxvY2tz JyBpcyBzZXQNCit0byBgZ3JleXNjYWxlJy4NCisNCitUaGUgbGF0dGVyIHBhaXIgc2hvdWxkIGJl IG1vcmUgc3VidGxlIHRoYW4gdGhlIGJhY2tncm91bmQgb2YgdGhlDQorYmxvY2ssIGFzIGl0IGlz IHVzZWQgd2hlbiBgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MnIGlzDQorc2V0IHRvIGByYWluYm93 Jy4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MNCisgICAgKCdncmF5c2NhbGUg KGFwcGVuZCAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQor ICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQg ZmcpKSkNCisgICAgKCdncmV5c2NhbGUgKGFwcGVuZCAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJz aW9uIDI3KSAnKDpleHRlbmQgdCkpDQorICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgOmJh Y2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkNCisgICAgKCdyYWluYm93IChsaXN0IDpiYWNr Z3JvdW5kIGJnYWNjZW50IDpmb3JlZ3JvdW5kIGZnYWNjZW50KSkNCisgICAgKF8gKGxpc3QgOmJh Y2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0t bW9kZS1saW5lLWF0dHJzDQorICAgIChmZyBiZyBmZy1hbHQgYmctYWx0IGJvcmRlciBib3JkZXIt M2QgJm9wdGlvbmFsIGFsdC1zdHlsZSBib3JkZXItd2lkdGggZmctZGlzdGFudCkNCisgICJDb2xv ciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1cy10aGVtZXMtbW9kZS1saW5lJy4NCisNCitGRyBhbmQg QkcgYXJlIHRoZSBkZWZhdWx0IGNvbG9ycy4gIEZHLUFMVCBhbmQgQkctQUxUIGFyZSBtZWFudCB0 bw0KK2FjY29tbW9kYXRlIHRoZSBvcHRpb25zIGZvciBhIDNEIG1vZGVsaW5lIG9yIGEgYG1vb2R5 JyBjb21wbGlhbnQNCitvbmUuICBCT1JERVIgYXBwbGllcyB0byBhbGwgcGVybXV0YXRpb25zIG9m IHRoZSBtb2RlbGluZSwgZXhjZXB0DQordGhlIHRocmVlLWRpbWVuc2lvbmFsIGVmZmVjdCwgd2hl cmUgQk9SREVSLTNEIGlzIHVzZWQgaW5zdGVhZC4NCisNCitPcHRpb25hbCBBTFQtU1RZTEUgYXBw bGllcyBhbiBhcHByb3ByaWF0ZSBzdHlsZSB0byB0aGUgbW9kZQ0KK2xpbmUncyBib3ggcHJvcGVy dHkuDQorDQorT3B0aW9uYWwgQk9SREVSLVdJRFRIIHNwZWNpZmllcyBhbiBpbnRlZ2VyIGZvciB0 aGUgd2lkdGggb2YgdGhlDQorcmVjdGFuZ2xlIHRoYXQgcHJvZHVjZXMgdGhlIGJveCBlZmZlY3Qu DQorDQorT3B0aW9uYWwgRkctRElTVEFOVCBzaG91bGQgYmUgY2xvc2UgdG8gdGhlIG1haW4gYmFj a2dyb3VuZA0KK3ZhbHVlcy4gIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSBkaXN0YW50 LWZvcmVncm91bmQNCitwcm9wZXJ0eS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLW1vZGUtbGlu ZQ0KKyAgICAoJzNkDQorICAgICBgKDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZn LWFsdA0KKyAgICAgICAgICAgICAgICAgICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRlci13 aWR0aCAxKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y29sb3IgLGJv cmRlci0zZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGUgLChh bmQgYWx0LXN0eWxlICdyZWxlYXNlZC1idXR0b24pKSkpDQorICAgICgnbW9vZHkNCisgICAgIGAo OmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgLGJvcmRl ciA6b3ZlcmxpbmUgLGJvcmRlcg0KKyAgICAgICAgICAgICAgICAgICA6ZGlzdGFudC1mb3JlZ3Jv dW5kICxmZy1kaXN0YW50KSkNCisgICAgKF8NCisgICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNr Z3JvdW5kICxiZyA6Ym94ICxib3JkZXIpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tZGlm Zg0KKyAgICAoZmctb25seS1iZyBmZy1vbmx5LWZnIG1haW5iZyBtYWluZmcgYWx0YmcgYWx0Zmcg Jm9wdGlvbmFsIGJnLW9ubHktZmcpDQorICAiQ29sb3IgY29tYmluYXRpb25zIGZvciBgbW9kdXMt dGhlbWVzLWRpZmZzJy4NCisNCitGRy1PTkxZLUJHIHNob3VsZCBiZSBzaW1pbGFyIG9yIHRoZSBz YW1lIGFzIHRoZSBtYWluIGJhY2tncm91bmQuDQorRkctT05MWS1GRyBzaG91bGQgYmUgYSBzYXR1 cmF0ZWQgYWNjZW50IHZhbHVlIHRoYXQgY2FuIGJlDQorY29tYmluZWQgd2l0aCB0aGUgZm9ybWVy Lg0KKw0KK01BSU5CRyBtdXN0IGJlIG9uZSBvZiB0aGUgZGVkaWNhdGVkIGJhY2tncm91bmRzIGZv ciBkaWZmcyB3aGlsZQ0KK01BSU5GRyBtdXN0IGJlIHRoZSBzYW1lIGZvciB0aGUgZm9yZWdyb3Vu ZC4NCisNCitBTFRCRyBuZWVkcyB0byBiZSBhIHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQg dGhhdCBpcyBtZWFudCB0bw0KK2JlIGNvbWJpbmVkIHdpdGggQUxURkcuICBCb3RoIG11c3QgYmUg bGVzcyBpbnRlbnNlIHRoYW4gTUFJTkJHDQorYW5kIE1BSU5GRyByZXNwZWN0aXZlbHkuDQorDQor T3B0aW9uYWwgQkctT05MWS1GRyBhcHBsaWVzIEFMVEZHIGVsc2UgbGVhdmVzIHRoZSBmb3JlZ3Jv dW5kDQordW5zcGVjaWZpZWQuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1kaWZmcw0KKyAgICAo J2ZnLW9ubHkgKGxpc3QgOmJhY2tncm91bmQgZmctb25seS1iZyA6Zm9yZWdyb3VuZCBmZy1vbmx5 LWZnKSkNCisgICAgKCdkZXNhdHVyYXRlZCAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6Zm9yZWdy b3VuZCBhbHRmZykpDQorICAgICgnYmctb25seSAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6Zm9y ZWdyb3VuZCAoaWYgYmctb25seS1mZyBhbHRmZyAndW5zcGVjaWZpZWQpKSkNCisgICAgKF8gKGxp c3QgOmJhY2tncm91bmQgbWFpbmJnIDpmb3JlZ3JvdW5kIG1haW5mZykpKSkNCisNCisoZGVmdW4g bW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucyAobWFpbmZnIHN1YnRsZWJnIGludGVu c2ViZyBpbnRlbnNlZmcpDQorICAiQ29tYmluYXRpb25zIGZvciBgbW9kdXMtdGhlbWVzLWNvbXBs ZXRpb25zJy4NCisNCitNQUlORkcgaXMgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCB2YWx1ZS4gIFNV QlRMRUJHIGlzIGFuIGFjY2VudGVkDQorYmFja2dyb3VuZCB2YWx1ZSB0aGF0IGNhbiBiZSBjb21i aW5lZCB3aXRoIE1BSU5GRy4gIElOVEVOU0VCRyBhbmQNCitJTlRFTlNFRkcgYXJlIGFjY2VudGVk IGNvbG9ycyB0aGF0IGFyZSBkZXNpZ25lZCB0byBiZSB1c2VkIGluDQordGFuZGVtLg0KKw0KK1Ro ZXNlIGFyZSBpbnRlbmRlZCBmb3IgSWNvbXBsZXRlLCBJZG8sIGFuZCByZWxhdGVkLiINCisgIChw Y2FzZSBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMNCisgICAgKCdvcGluaW9uYXRlZCAobGlzdCA6 YmFja2dyb3VuZCBpbnRlbnNlYmcgOmZvcmVncm91bmQgaW50ZW5zZWZnKSkNCisgICAgKCdtb2Rl cmF0ZSAobGlzdCA6YmFja2dyb3VuZCBzdWJ0bGViZyA6Zm9yZWdyb3VuZCBtYWluZmcpKQ0KKyAg ICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1l cy0tZXh0cmEtY29tcGxldGlvbnMgKHN1YnRsZWZhY2UgaW50ZW5zZWZhY2UgYWx0ZmFjZSAmb3B0 aW9uYWwgYWx0ZmcgYm9sZCkNCisgICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy10aGVtZXMtY29t cGxldGlvbnMnLg0KKw0KK1NVQlRMRUZBQ0UgYW5kIElOVEVOU0VGQUNFIGFyZSBjdXN0b20gdGhl bWUgZmFjZXMgdGhhdCBjb21iaW5lIGENCitiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHZhbHVl LiAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvDQoraXMgYSBtYXR0ZXIgb2YgZGVncmVl Lg0KKw0KK0FMVEZBQ0UgaXMgYSBjb21iaW5hdGlvbiBvZiBjb2xvcnMgdGhhdCByZXByZXNlbnRz IGEgZGVwYXJ0dXJlDQorZnJvbSB0aGUgVUkncyBkZWZhdWx0IGFlc3RoZXRpY3MuICBPcHRpb25h bCBBTFRGRyBpcyBtZWFudCB0byBiZQ0KK3VzZWQgaW4gdGFuZGVtIHdpdGggaXQuDQorDQorT3B0 aW9uYWwgQk9MRCB3aWxsIGFwcGx5IGEgaGVhdmllciB3ZWlnaHQgdG8gdGhlIHRleHQuDQorDQor VGhlc2UgYXJlIGludGVuZGVkIGZvciBIZWxtLCBJdnksIGV0Yy4iDQorICAocGNhc2UgbW9kdXMt dGhlbWVzLWNvbXBsZXRpb25zDQorICAgICgnb3BpbmlvbmF0ZWQgKGxpc3QgOmluaGVyaXQgKGxp c3QgYWx0ZmFjZSBib2xkKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kIChv ciBhbHRmZyAndW5zcGVjaWZpZWQpKSkNCisgICAgKCdtb2RlcmF0ZSAobGlzdCA6aW5oZXJpdCAo bGlzdCBzdWJ0bGVmYWNlIGJvbGQpKSkNCisgICAgKF8gKGxpc3QgOmluaGVyaXQgKGxpc3QgaW50 ZW5zZWZhY2UgYm9sZCkpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tbGluayAoZmcgZmdm YWludCB1bmRlcmxpbmUpDQorICAiQ29uZGl0aW9uYWwgYXBwbGljYXRpb24gb2YgbGluayBzdHls ZXMuDQorRkcgaXMgdGhlIGxpbmsncyBkZWZhdWx0IGNvbG9yIGZvciBpdHMgdGV4dCBhbmQgdW5k ZXJsaW5lDQorcHJvcGVydHkuICBGR0ZBSU5UIGlzIGEgZGVzYXR1cmF0ZWQgY29sb3IgZm9yIHRo ZSB0ZXh0IGFuZA0KK3VuZGVybGluZS4gIFVOREVSTElORSBpcyBhIGdyZXkgY29sb3Igb25seSBm b3IgdGhlIHVuZGVsaW5lLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtbGlua3MNCisgICAgKCdm YWludCAobGlzdCA6Zm9yZWdyb3VuZCBmZ2ZhaW50IDp1bmRlcmxpbmUgdCkpDQorICAgICgnbmV1 dHJhbC11bmRlcmxpbmUgKGxpc3QgOmZvcmVncm91bmQgZmcgOnVuZGVybGluZSB1bmRlcmxpbmUp KQ0KKyAgICAoJ2ZhaW50LW5ldXRyYWwtdW5kZXJsaW5lIChsaXN0IDpmb3JlZ3JvdW5kIGZnZmFp bnQgOnVuZGVybGluZSB1bmRlcmxpbmUpKQ0KKyAgICAoJ25vLXVuZGVybGluZSAobGlzdCA6Zm9y ZWdyb3VuZCBmZyA6dW5kZXJsaW5lIG5pbCkpDQorICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIGZn IDp1bmRlcmxpbmUgdCkpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yIChm ZyBmZ2ZhaW50KQ0KKyAgIkV4dGVuZHMgYG1vZHVzLXRoZW1lcy0tbGluaycuDQorRkcgaXMgdGhl IG1haW4gZm9yZWdyb3VuZC4gIEZHRkFJTlQgaXMgdGhlIGRlc2F0dXJhdGVkIG9uZS4iDQorICAo cGNhc2UgbW9kdXMtdGhlbWVzLWxpbmtzDQorICAgICgnZmFpbnQgKGxpc3QgOmZvcmVncm91bmQg ZmdmYWludCkpDQorICAgICgnZmFpbnQtbmV1dHJhbC11bmRlcmxpbmUgKGxpc3QgOmZvcmVncm91 bmQgZmdmYWludCkpDQorICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1 biBtb2R1cy10aGVtZXMtLXNjYWxlIChhbW91bnQpDQorICAiU2NhbGUgaGVhZGluZyBieSBBTU9V TlQuDQorQU1PVU5UIGlzIGEgY3VzdG9taXphdGlvbiBvcHRpb24uIg0KKyAgKHdoZW4gbW9kdXMt dGhlbWVzLXNjYWxlLWhlYWRpbmdzDQorICAgIChsaXN0IDpoZWlnaHQgYW1vdW50KSkpDQorDQor KGRlZnVuIG1vZHVzLXRoZW1lcy0tcmVnaW9uIChiZyBmZyBiZ3N1YnRsZSkNCisgICJBcHBseSBg bW9kdXMtdGhlbWVzLXJlZ2lvbicgc3R5bGVzLg0KKw0KK0JHIGFuZCBGRyBhcmUgdGhlIG1haW4g dmFsdWVzIHRoYXQgYXJlIHVzZWQgYnkgZGVmYXVsdC4gIEJHU1VCVExFDQoraXMgYSBzdWJ0bGUg YmFja2dyb3VuZCB2YWx1ZSB0aGF0IGNhbiBiZSBjb21iaW5lZCB3aXRoIGFsbCBjb2xvcnMNCit1 c2VkIHRvIGZvbnRpZnkgdGV4dCBhbmQgY29kZSBzeW50YXguIg0KKyAgKHBjYXNlIG1vZHVzLXRo ZW1lcy1yZWdpb24NCisgICAgKCdiZy1vbmx5IChsaXN0IDpiYWNrZ3JvdW5kIGJnc3VidGxlKSkN CisgICAgKCdiZy1vbmx5LW5vLWV4dGVuZCAobGlzdCA6YmFja2dyb3VuZCBiZ3N1YnRsZSA6ZXh0 ZW5kIG5pbCkpDQorICAgICgnbm8tZXh0ZW5kIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3Jv dW5kIGZnIDpleHRlbmQgbmlsKSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVn cm91bmQgZmcpKSkpDQorDQorDA0KKw0KKzs7OzsgVXRpbGl0aWVzIGZvciBESVkgdXNlcnMNCisN Cis7OyBUaGlzIGlzIHRoZSBXQ0FHIGZvcm11bGE6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FH MjAtVEVDSFMvRzE4Lmh0bWwNCisoZGVmdW4gbW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYSAoaGV4 KQ0KKyAgIkdldCBXQ0FHIHZhbHVlIG9mIGNvbG9yIHZhbHVlIEhFWC4NCitUaGUgdmFsdWUgaXMg ZGVmaW5lZCBpbiBoZXhhZGVjaW1hbCBSR0Igbm90YXRpb24sIHN1Y2ggYXMgdGhvc2UgaW4NCitg bW9kdXMtdGhlbWVzLWNvbG9ycy1vcGVyYW5kaScgYW5kIGBtb2R1cy10aGVtZXMtY29sb3JzLXZp dmVuZGknLiINCisgIChjbC1sb29wIGZvciBrIGluICcoMC4yMTI2IDAuNzE1MiAwLjA3MjIpDQor ICAgICAgICAgICBmb3IgeCBpbiAoY29sb3ItbmFtZS10by1yZ2IgaGV4KQ0KKyAgICAgICAgICAg c3VtICgqIGsgKGlmICg8PSB4IDAuMDM5MjgpDQorICAgICAgICAgICAgICAgICAgICAgICAgKC8g eCAxMi45MikNCisgICAgICAgICAgICAgICAgICAgICAgKGV4cHQgKC8gKCsgeCAwLjA1NSkgMS4w NTUpIDIuNCkpKSkpDQorDQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNv bnRyYXN0IChjMSBjMikNCisgICJNZWFzdXJlIFdDQUcgY29udHJhc3QgcmF0aW8gYmV0d2VlbiBD MSBhbmQgQzIuDQorQzEgYW5kIEMyIGFyZSBjb2xvciB2YWx1ZXMgd3JpdHRlbiBpbiBoZXhhZGVj aW1hbCBSR0IuIg0KKyAgKGxldCAoKGN0ICgvICgrIChtb2R1cy10aGVtZXMtd2NhZy1mb3JtdWxh IGMxKSAwLjA1KQ0KKyAgICAgICAgICAgICAgICgrIChtb2R1cy10aGVtZXMtd2NhZy1mb3JtdWxh IGMyKSAwLjA1KSkpKQ0KKyAgICAobWF4IGN0ICgvIGN0KSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10 aGVtZXMtLWFjdGl2ZS10aGVtZSAoKQ0KKyAgIlJldHVybiBhcHByb3ByaWF0ZSBhbGlzdCBvZiBj b2xvciB2YWx1ZXMgZm9yIGFjdGl2ZSB0aGVtZS4iDQorICAobGV0ICgodGhlbWUgKGNhciBjdXN0 b20tZW5hYmxlZC10aGVtZXMpKSkNCisgICAgKHBjYXNlIHRoZW1lDQorICAgICAgKCdtb2R1cy1v cGVyYW5kaSBtb2R1cy10aGVtZXMtY29sb3JzLW9wZXJhbmRpKQ0KKyAgICAgICgnbW9kdXMtdml2 ZW5kaSBtb2R1cy10aGVtZXMtY29sb3JzLXZpdmVuZGkpDQorICAgICAgKF8gKHVzZXItZXJyb3Ig Iiclcycgbm90IGEgTW9kdXMgdGhlbWU7IGNoZWNrIGBjdXN0b20tZW5hYmxlZC10aGVtZXMnIiB0 aGVtZSkpKSkpDQorDQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNvbG9y IChrZXkpDQorICAiUmV0dXJuIGNvbG9yIHZhbHVlIGZvciBLRVkuDQorVGhlIEtFWSBpcyB0aGUg Y2FyIG9mIGVhY2ggY29ucyBjZWxsIGluIHRoZSBhbGlzdHMNCitgbW9kdXMtdGhlbWVzLWNvbG9y cy1vcGVyYW5kaScsIGBtb2R1cy10aGVtZXMtY29sb3JzLXZpdmVuZGknLiINCisgIChsZXQgKChh bGlzdCAobW9kdXMtdGhlbWVzLS1hY3RpdmUtdGhlbWUpKSkNCisgICAgKGNkciAoYXNzb2MgYCxr ZXkgYWxpc3QpKSkpDQorDQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNv bG9yLWFsdHMgKGtleS1saWdodCBrZXktZGFyaykNCisgICJSZXR1cm4gY29sb3IgdmFsdWUgZm9y IEtFWS1MSUdIVCBhbmQgS0VZLURBUksuDQorQm90aCBhcmd1bWVudHMgbXVzdCByZWZlcmVuY2Ug dGhlIGNhciBvZiBhIGNvbnMgY2VsbCBpbg0KK2Btb2R1cy10aGVtZXMtY29sb3JzLW9wZXJhbmRp JywgYG1vZHVzLXRoZW1lcy1jb2xvcnMtdml2ZW5kaScuIg0KKyAgKGxldCAoKHRoZW1lIChjYXIg Y3VzdG9tLWVuYWJsZWQtdGhlbWVzKSkpDQorICAgIChwY2FzZSB0aGVtZQ0KKyAgICAgICgnbW9k dXMtb3BlcmFuZGkgKGNkciAoYXNzb2MgYCxrZXktbGlnaHQgbW9kdXMtdGhlbWVzLWNvbG9ycy1v cGVyYW5kaSkpKQ0KKyAgICAgICgnbW9kdXMtdml2ZW5kaSAoY2RyIChhc3NvYyBgLGtleS1kYXJr IG1vZHVzLXRoZW1lcy1jb2xvcnMtdml2ZW5kaSkpKQ0KKyAgICAgIChfICh1c2VyLWVycm9yICIn JXMnIG5vdCBhIE1vZHVzIHRoZW1lOyBjaGVjayBgY3VzdG9tLWVuYWJsZWQtdGhlbWVzJyIgdGhl bWUpKSkpKQ0KKw0KKzs7OzsgQ29tbWFuZHMNCisNCisoZGVmdmFyIG1vZHVzLXRoZW1lcy1hZnRl ci1sb2FkLXRoZW1lLWhvb2sgbmlsDQorICAiSG9vayB0aGF0IHJ1bnMgYWZ0ZXIgdGhlIGBtb2R1 cy10aGVtZXMtdG9nZ2xlJyByb3V0aW5lcy4iKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVu IG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpICgpDQorICAiTG9hZCBgbW9kdXMtb3BlcmFuZGkn IGFuZCBkaXNhYmxlIGBtb2R1cy12aXZlbmRpJy4NCitBbHNvIHJ1biBgbW9kdXMtdGhlbWVzLWFm dGVyLWxvYWQtdGhlbWUtaG9vaycuIg0KKyAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkp DQorICAobG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCkNCisgIChydW4taG9va3MgJ21vZHVz LXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2spKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRl ZnVuIG1vZHVzLXRoZW1lcy1sb2FkLXZpdmVuZGkgKCkNCisgICJMb2FkIGBtb2R1cy12aXZlbmRp JyBhbmQgZGlzYWJsZSBgbW9kdXMtb3BlcmFuZGknLg0KK0Fsc28gcnVuIGBtb2R1cy10aGVtZXMt YWZ0ZXItbG9hZC10aGVtZS1ob29rJy4iDQorICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFu ZGkpDQorICAobG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0KQ0KKyAgKHJ1bi1ob29rcyAnbW9k dXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9vaykpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1l cy0tbG9hZC1wcm9tcHQgKCkNCisgICJIZWxwZXIgZm9yIGBtb2R1cy10aGVtZXMtdG9nZ2xlJy4i DQorICAobGV0ICgodGhlbWUNCisgICAgICAgICAoaW50ZXJuDQorICAgICAgICAgIChjb21wbGV0 aW5nLXJlYWQgIkxvYWQgTW9kdXMgdGhlbWUgKHdpbGwgZGlzYWJsZSBhbGwgb3RoZXJzKTogIg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICcobW9kdXMtb3BlcmFuZGkgbW9kdXMtdml2ZW5k aSkgbmlsIHQpKSkpDQorICAgIChtYXBjICMnZGlzYWJsZS10aGVtZSBjdXN0b20tZW5hYmxlZC10 aGVtZXMpDQorICAgIChwY2FzZSB0aGVtZQ0KKyAgICAgICgnbW9kdXMtb3BlcmFuZGkgKG1vZHVz LXRoZW1lcy1sb2FkLW9wZXJhbmRpKSkNCisgICAgICAoJ21vZHVzLXZpdmVuZGkgKG1vZHVzLXRo ZW1lcy1sb2FkLXZpdmVuZGkpKSkpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVz LXRoZW1lcy10b2dnbGUgKCkNCisgICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGknIGFu ZCBgbW9kdXMtdml2ZW5kaScgdGhlbWVzLg0KK0Fsc28gcnVucyBgbW9kdXMtdGhlbWVzLWFmdGVy LWxvYWQtdGhlbWUtaG9vaycgYnkgdmlydHVlIG9mDQorY2FsbGluZyB0aGUgaW50ZXJuYWwgYG1v ZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpJyBhbmQNCitgbW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5k aScgZnVuY3Rpb25zLiINCisgIChpbnRlcmFjdGl2ZSkNCisgIChwY2FzZSAoY2FyIGN1c3RvbS1l bmFibGVkLXRoZW1lcykNCisgICAgKCdtb2R1cy1vcGVyYW5kaSAobW9kdXMtdGhlbWVzLWxvYWQt dml2ZW5kaSkpDQorICAgICgnbW9kdXMtdml2ZW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFu ZGkpKQ0KKyAgICAoXyAobW9kdXMtdGhlbWVzLS1sb2FkLXByb21wdCkpKSkNCisNCisMDQorDQor Ozs7OyBGYWNlIHNwZWNpZmljYXRpb25zDQorDQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1mYWNl cw0KKyAgJygNCis7Ozs7IGN1c3RvbSBmYWNlcw0KKyAgICA7OyB0aGVzZSBiZXNwb2tlIGZhY2Vz IGFyZSBpbmhlcml0ZWQgYnkgb3RoZXIgY29uc3RydWN0cyBiZWxvdw0KKzs7Ozs7IHN1YnRsZSBj b2xvcmVkIGJhY2tncm91bmRzDQorICAgIGAobW9kdXMtdGhlbWUtc3VidGxlLXJlZCAoKCxjbGFz cyA6YmFja2dyb3VuZCAscmVkLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAg IGAobW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1z dWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXN1YnRs ZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcgOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAo bW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEt c3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChtb2R1cy10aGVtZS1zdWJ0 bGUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCis7Ozs7 OyBpbnRlbnNlIGNvbG9yZWQgYmFja2dyb3VuZHMNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxncmVlbi1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo bW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1p bnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50 ZW5zZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgKCgsY2xh c3MgOmJhY2tncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Y3lhbi1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhl bWUtaW50ZW5zZS1uZXV0cmFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyByZWZpbmVkIGJhY2tncm91bmQgYW5kIGZvcmVncm91 bmQgY29tYmluYXRpb25zDQorICAgIDs7IGdlbmVyYWwgcHVycG9zZSBzdHlsZXMgdGhhdCB1c2Ug YW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBhZ2FpbnN0IGFuDQorICAgIDs7IGFjY2VudGVkIGJhY2tn cm91bmQNCisgICAgYChtb2R1cy10aGVtZS1yZWZpbmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxyZWQtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQorICAgIGAobW9k dXMtdGhlbWUtcmVmaW5lLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1yZWZpbmUt YmcgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXJl ZmluZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcgOmZvcmVn cm91bmQgLHllbGxvdy1yZWZpbmUtZmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1yZWZpbmUtYmx1 ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGJsdWUt cmVmaW5lLWZnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgKCgsY2xhc3Mg OmJhY2tncm91bmQgLG1hZ2VudGEtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmlu ZS1mZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxjeWFuLXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCis7Ozs7 OyAiYWN0aXZlIiBjb21iaW5hdGlvbnMsIG1vc3RseSBmb3IgdXNlIG9uIHRoZSBtb2RlIGxpbmUN CisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQt YWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3Rp dmUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs YmctYWN0aXZlKSkpDQorICAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyAoKCxjbGFzcyA6 YmFja2dyb3VuZCAseWVsbG93LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorICAg IGAobW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtYWN0 aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUt bWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1hY3RpdmUgOmZvcmVncm91bmQg LGJnLWFjdGl2ZSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxjeWFuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorOzs7Ozsg bnVhbmNlZCBiYWNrZ3JvdW5kcw0KKyAgICA7OyB1c2VmdWwgZm9yIGFkZGluZyBhbiBhY2NlbnRl ZCBiYWNrZ3JvdW5kIHRoYXQgaXMgc3VpdGFibGUgZm9yIGFsbA0KKyAgICA7OyBtYWluIGZvcmVn cm91bmQgY29sb3JzIChpbnRlbmRlZCBmb3IgdXNlIGluIE9yZyBzb3VyY2UgYmxvY2tzKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtbnVh bmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAo Pj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KKyAgICBgKG1vZHVz LXRoZW1lLW51YW5jZWQtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLW51YW5jZWQt YmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0g ZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KKyAgICBgKG1vZHVzLXRo ZW1lLW51YW5jZWQteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1i Zw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0g ZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KKyAgICBgKG1vZHVzLXRo ZW1lLW51YW5jZWQtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3Mt bWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW51 YW5jZWQtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1udWFuY2VkLWJnDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1h Y3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1l LW51YW5jZWQtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1udWFuY2VkLWJnDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KKzs7Ozs7IGZyaW5nZS1zcGVjaWZpYyBj b21iaW5hdGlvbnMNCisgICAgYChtb2R1cy10aGVtZS1mcmluZ2UtcmVkICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxyZWQtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9k dXMtdGhlbWUtZnJpbmdlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1mcmluZ2Ut YmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtb2R1cy10aGVtZS1mcmluZ2UteWVs bG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJsdWUtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9k dXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtZnJp bmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdl LWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQorOzs7Ozsgc3BlY2lhbCBiYXNlIHZhbHVlcw0KKyAgICA7OyB0aGVzZSBhcmUg Y2xvc2VyIHRvIHRoZSBncmF5c2NhbGUgdGhhbiB0aGUgYWNjZW50cyBkZWZpbmVkIGFib3ZlDQor ICAgIDs7IGFuZCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIG5leHQgY2xvc2VzdCBhbHRl cm5hdGl2ZSB3b3VsZCBiZQ0KKyAgICA7OyBhIGdyZXlzY2FsZSB2YWx1ZSB0aGFuIGFuIGFjY2Vu dGVkIG9uZQ0KKyAgICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisg ICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNw ZWNpYWwtbWlsZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobW9kdXMt dGhlbWUtc3BlY2lhbC13YXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLXdhcm0g OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXNwZWNp YWwtY2FsbSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jYWxtIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNhbG0pKSkNCis7Ozs7OyBkaWZmLXNwZWNpZmljIGNvbWJpbmF0aW9ucw0K KyAgICA7OyBpbnRlbmRlZCBmb3IgYGRpZmYtbW9kZScgb3IgZXF1aXZhbGVudA0KKyAgICBgKG1v ZHVzLXRoZW1lLWRpZmYtYWRkZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRp ZmYNCisgICAgICAgICAgICAgICAgICBiZy1tYWluIGdyZWVuDQorICAgICAgICAgICAgICAgICAg YmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQorICAgICAgICAgICAgICAg ICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1l LWRpZmYtY2hhbmdlZA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAg ICAgICAgICAgICAgICAgIGJnLW1haW4geWVsbG93DQorICAgICAgICAgICAgICAgICAgYmctZGlm Zi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZA0KKyAgICAgICAgICAgICAgICAg IHllbGxvdy1udWFuY2VkLWJnIGZnLWRpZmYtY2hhbmdlZCkpKSkNCisgICAgYChtb2R1cy10aGVt ZS1kaWZmLXJlbW92ZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisg ICAgICAgICAgICAgICAgICBiZy1tYWluIHJlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYt Zm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQNCisgICAgICAgICAgICAgICAgICBy ZWQtbnVhbmNlZC1iZyBmZy1kaWZmLXJlbW92ZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlm Zi1yZWZpbmUtYWRkZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisg ICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCisgICAgICAgICAg ICAgICAgICBiZy1kaWZmLXJlZmluZS1hZGRlZCBmZy1kaWZmLXJlZmluZS1hZGRlZA0KKyAgICAg ICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZCkpKSkN CisgICAgYChtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2VkDQorICAgICAgKCgsY2xhc3Mg LEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2Vk IGZnLWRpZmYtY2hhbmdlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5lLWNoYW5n ZWQgZmctZGlmZi1yZWZpbmUtY2hhbmdlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9j dXMtY2hhbmdlZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUt ZGlmZi1yZWZpbmUtcmVtb3ZlZA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlm Zg0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCisg ICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1yZW1vdmVkIGZnLWRpZmYtcmVmaW5lLXJl bW92ZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1m b2N1cy1yZW1vdmVkKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtYWRkZWQNCisg ICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBi Zy1kaW0gZ3JlZW4NCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRp ZmYtZm9jdXMtYWRkZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYt YWRkZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2VkDQorICAgICAg KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctZGlt IHllbGxvdw0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZm LWZvY3VzLWNoYW5nZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlm Zi1jaGFuZ2VkKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3ZlZA0KKyAg ICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgIGJn LWRpbSByZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlm Zi1mb2N1cy1yZW1vdmVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRp ZmYtcmVtb3ZlZCkpKSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcNCisgICAgICAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1hbHQg Ymx1ZS1hbHQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWhlYWRpbmcgZmctZGlmZi1oZWFk aW5nDQorICAgICAgICAgICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUgdCkpKSkNCis7Ozs7 OyBtYXJrIGluZGljYXRvcnMNCisgICAgOzsgY29sb3IgY29tYmluYXRpb25zIGludGVuZGVkIGZv ciBEaXJlZCwgSWJ1ZmZlciwgb3IgZXF1aXZhbGVudA0KKyAgICBgKG1vZHVzLXRoZW1lLXBzZXVk by1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKG1vZHVzLXRoZW1lLW1hcmstYWx0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tn cm91bmQgLGJnLW1hcmstYWx0IDpmb3JlZ3JvdW5kICxmZy1tYXJrLWFsdCkpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLW1hcmstZGVsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJn LW1hcmstZGVsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWRlbCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1l LW1hcmstc2VsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmstc2Vs IDpmb3JlZ3JvdW5kICxmZy1tYXJrLXNlbCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW1hcmstc3lt Ym9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorOzs7 OzsgaGVhZGluZyBsZXZlbHMNCisgICAgOzsgc3R5bGVzIGZvciByZWd1bGFyIGhlYWRpbmdzIHVz ZWQgaW4gT3JnLCBNYXJrZG93biwgSW5mbywgZXRjLg0KKyAgICBgKG1vZHVzLXRoZW1lLWhlYWRp bmctMQ0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0taGVhZGluZw0KKyAgICAgICAg ICAgICAgICAgIDEgZmctbWFpbiBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLW51YW5jZWQtYmcg YmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMt dGhlbWVzLXNjYWxlLTQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0yDQorICAgICAg KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgMiBm Zy1zcGVjaWFsLXdhcm0gbWFnZW50YS1hbHQgcmVkLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTMp KSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0zDQorICAgICAgKCgsY2xhc3MgLEAobW9k dXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgMyBmZy1zcGVjaWFsLWNvbGQg Ymx1ZSBibHVlLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVz LXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTIpKSkpDQorICAgIGAobW9kdXMtdGhl bWUtaGVhZGluZy00DQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQor ICAgICAgICAgICAgICAgICAgNCBmZy1zcGVjaWFsLW1pbGQgY3lhbiBjeWFuLW51YW5jZWQtYmcg YmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMt dGhlbWVzLXNjYWxlLTEpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy01DQorICAgICAg KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNSBm Zy1zcGVjaWFsLWNhbG0gZ3JlZW4tYWx0LW90aGVyIGdyZWVuLW51YW5jZWQtYmcgYmctcmVnaW9u KSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNg0KKyAgICAgICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0taGVhZGluZw0KKyAgICAgICAgICAgICAgICAgIDYgeWVsbG93LW51YW5jZWQt ZmcgeWVsbG93LWFsdC1vdGhlciB5ZWxsb3ctbnVhbmNlZC1iZyBiZy1yZWdpb24pKSkpDQorICAg IGAobW9kdXMtdGhlbWUtaGVhZGluZy03DQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNyByZWQtbnVhbmNlZC1mZyByZWQtYWx0IHJl ZC1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCisgICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTgN CisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWhlYWRpbmcNCisgICAgICAgICAgICAg ICAgICA4IGZnLWRpbSBtYWdlbnRhIGJnLWFsdCBiZy1yZWdpb24pKSkpDQorOzs7Ozsgb3RoZXIg Y3VzdG9tIGZhY2VzDQorICAgIGAobW9kdXMtdGhlbWUtYm9sZCAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLWJvbGQtd2VpZ2h0KSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWhsLWxpbmUgKCgsY2xh c3MgOmJhY2tncm91bmQgLChpZiBtb2R1cy10aGVtZXMtaW50ZW5zZS1obC1saW5lDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWhsLWxpbmUt aW50ZW5zZSBiZy1obC1saW5lKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLXNsYW50ICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6c2xhbnQgLEAobW9k dXMtdGhlbWVzLS1zbGFudCkpKSkNCisgICAgYChtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXZhcmlhYmxlLXBpdGNoKSkpKQ0KKzs7Ozsgc3RhbmRh cmQgZmFjZXMNCis7Ozs7OyBhYnNvbHV0ZSBlc3NlbnRpYWxzDQorICAgIGAoZGVmYXVsdCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KGN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZyaW5nZSAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWZyaW5nZSBiZy1tYWluIGJnLWluYWN0aXZlIGJnLWFj dGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYCh2ZXJ0aWNhbC1ib3JkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZp ZGVyLWlubmVyKSkpDQorOzs7OzsgYmFzaWMgYW5kL29yIHVuZ3JvdXBlZCBzdHlsZXMNCisgICAg YChib2xkICgoLGNsYXNzIDp3ZWlnaHQgYm9sZCkpKQ0KKyAgICBgKGJvbGQtaXRhbGljICgoLGNs YXNzIDppbmhlcml0IChib2xkIGl0YWxpYykpKSkNCisgICAgYChidWZmZXItbWVudS1idWZmZXIg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKGNvbWludC1oaWdobGlnaHQtaW5wdXQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKGNvbWludC1oaWdobGlnaHQtcHJvbXB0 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXByb21wdA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4NCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBibHVlLW51YW5jZWQtYmcgYmx1ZS1hbHQNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLXJlZmluZS1iZyBmZy1tYWlu KSkpKQ0KKyAgICBgKGVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZCkpKQ0KKyAgICBgKGVzY2FwZS1nbHlwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBl LWNoYXItY29uc3RydWN0KSkpDQorICAgIGAoZmlsZS1uYW1lLXNoYWRvdyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAoaGVhZGVyLWxpbmUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQorICAgIGAoaGVh ZGVyLWxpbmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1i bHVlKSkpDQorICAgIGAoaGVscC1hcmd1bWVudC1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoaG9tb2dseXBoICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LWZhaW50KSkpDQorICAgIGAoaWJ1ZmZlci1sb2NrZWQt YnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyLWZhaW50KSkpDQor ICAgIGAoaXRhbGljICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkNCisgICAgYChub2JyZWFrLWh5 cGhlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQor ICAgIGAobm9icmVhay1zcGFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXIt Y29uc3RydWN0IDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKG1pbmlidWZmZXItcHJvbXB0ICgoLGNs YXNzICxAKG1vZHVzLXRoZW1lcy0tcHJvbXB0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY3lhbi1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjeWFuLW51YW5jZWQtYmcgY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN5YW4tcmVmaW5lLWJnIGZnLW1haW4pKSkpDQorICAgIGAobW0tY29tbWFuZC1vdXRw dXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChtbS11dS1l eHRyYWN0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtbWlsZCkpKQ0KKyAgICBgKG5leHQtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKHJlY3RhbmdsZS1wcmV2aWV3ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKHJlZ2lvbiAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLXJlZ2lvbiBiZy1yZWdpb24gZmctbWFpbiBiZy1obC1hbHQtaW50ZW5z ZSkpKSkNCisgICAgYChzZWNvbmRhcnktc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHNoYWRvdyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQorICAgIGAoc3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KKyAgICBgKHRyYWlsaW5nLXdoaXRlc3BhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQorICAgIGAod2FybmluZyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBidXR0b25zLCBsaW5rcywg d2lkZ2V0cw0KKyAgICBgKGJ1dHRvbiAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWxpbmsNCisg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFp bnQgYmctcmVnaW9uKSkpKQ0KKyAgICBgKGxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkp DQorICAgIGAobGluay12aXNpdGVkICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3Ro ZXItZmFpbnQpKSkpDQorICAgIGAodG9vbHRpcCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3Bl Y2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAod2lkZ2V0LWJ1dHRvbiAo KCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYCh3aWRnZXQtYnV0dG9uLXByZXNzZWQg KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQorICAgIGAod2lk Z2V0LWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAo d2lkZ2V0LWZpZWxkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KKyAgICBgKHdpZGdldC1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAod2lkZ2V0LXNpbmds ZS1saW5lLWZpZWxkICgoLGNsYXNzIDppbmhlcml0IHdpZGdldC1maWVsZCkpKQ0KKzs7Ozs7IGFn DQorICAgIGAoYWctaGl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KKyAgICBgKGFnLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3BlY2lhbC1jYWxtKSkpDQorOzs7OzsgYWxlcnQNCisgICAgYChhbGVydC1oaWdoLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGFsZXJ0 LWxvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAg YChhbGVydC1tb2RlcmF0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KKyAgICBgKGFsZXJ0LXRyaXZpYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoYWxlcnQtdXJnZW50LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCis7Ozs7OyBhbGwtdGhl LWljb25zDQorICAgIGAoYWxsLXRoZS1pY29ucy1ibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1ibHVlLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWN5YW4gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCisgICAgYChhbGwtdGhlLWljb25zLWN5YW4tYWx0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZGJsdWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1k Y3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChhbGwt dGhlLWljb25zLWRncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkp DQorICAgIGAoYWxsLXRoZS1pY29ucy1kaXJlZC1kaXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZG1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWRvcmFuZ2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChhbGwtdGhlLWlj b25zLWRwaW5rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoYWxsLXRo ZS1pY29ucy1kcHVycGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAg ICBgKGFsbC10aGUtaWNvbnMtZHJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAg IGAoYWxsLXRoZS1pY29ucy1kc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWR5ZWxsb3cgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZ3JlZW4gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1sYmx1ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWxjeWFuICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNv bnMtbGdyZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCisgICAg YChhbGwtdGhlLWljb25zLWxtYXJvb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVm aW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1sb3JhbmdlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtcmVmaW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1scGluayAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwtdGhlLWljb25z LWxwdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQorICAg IGAoYWxsLXRoZS1pY29ucy1scmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZn KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1sc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWx5ZWxsb3cgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwtdGhlLWljb25zLW1h cm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGFsbC10aGUtaWNv bnMtb3JhbmdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoYWxsLXRo ZS1pY29ucy1waW5rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoYWxs LXRoZS1pY29ucy1wdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQor ICAgIGAoYWxsLXRoZS1pY29ucy1wdXJwbGUtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtcmVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLXJlZC1hbHQgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLXNpbHZlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy15 ZWxsb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGFubm90YXRlDQor ICAgIGAoYW5ub3RhdGUtYW5ub3RhdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGFubm90YXRlLWFubm90YXRpb24tc2Vjb25kYXJ5ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KKyAgICBgKGFubm90YXRl LWhpZ2hsaWdodCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDp1bmRlcmxp bmUgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKGFubm90YXRlLWhpZ2hsaWdodC1zZWNvbmRhcnkg KCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLW51YW5jZWQtYmcgOnVuZGVybGluZSAsZ3JlZW4t aW50ZW5zZSkpKQ0KKzs7Ozs7IGFuenUNCisgICAgYChhbnp1LW1hdGNoLTEgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCisgICAgYChhbnp1LW1hdGNoLTIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQorICAgIGAoYW56dS1t YXRjaC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cpKSkNCisg ICAgYChhbnp1LW1vZGUtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCisgICAgYChhbnp1LW1vZGUtbGluZS1uby1tYXRjaCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoYW56dS1yZXBs YWNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93 IDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGFuenUtcmVwbGFjZS10byAoKCxjbGFzcyA6aW5oZXJp dCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KKzs7Ozs7IGFwcm9wb3MNCisg ICAgYChhcHJvcG9zLWZ1bmN0aW9uLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxp bmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdl bnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkpKSkNCisgICAgYChhcHJvcG9z LWtleWJpbmRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K KyAgICBgKGFwcm9wb3MtbWlzYy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29s b3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVy IGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KKyAgICBgKGFwcm9wb3MtcHJvcGVydHkgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkN CisgICAgYChhcHJvcG9zLXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFwcm9wb3MtdXNlci1vcHRp b24tYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlciBn cmVlbi1hbHQtb3RoZXItZmFpbnQpKSkpDQorICAgIGAoYXByb3Bvcy12YXJpYWJsZS1idXR0b24g KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KKzs7Ozs7IGFwdC1z b3VyY2VzLWxpc3QNCisgICAgYChhcHQtc291cmNlcy1saXN0LWNvbXBvbmVudHMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChhcHQtc291cmNlcy1saXN0LW9wdGlvbnMgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGFwdC1zb3VyY2VzLWxpc3Qtc3Vp dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoYXB0LXNvdXJjZXMtbGlz dC10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoYXB0LXNvdXJj ZXMtbGlzdC11cmkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCis7Ozs7OyBhcnRib2xs b2Nrcy1tb2RlDQorICAgIGAoYXJ0Ym9sbG9ja3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1udWFuY2VkLWZnIDp1bmRlcmxpbmUgLGZnLWxhbmctbm90ZSkpKQ0KKyAgICBgKGFydGJv bGxvY2tzLWxleGljYWwtaWxsdXNpb25zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAscmVkLWFsdCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChhcnRib2xsb2Nr cy1wYXNzaXZlLXZvaWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2Vk LWZnIDp1bmRlcmxpbmUgLGZnLWxhbmctd2FybmluZykpKQ0KKyAgICBgKGFydGJvbGxvY2tzLXdl YXNlbC13b3Jkcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZC1mZyA6dW5k ZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQorOzs7OzsgYXVjdGV4IGFuZCBUZXgNCisgICAgYChm b250LWxhdGV4LWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChmb250LWxhdGV4LWRvY3RleC1kb2N1bWVudGF0aW9u LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtZG9jdGV4LXByZXByb2Nlc3Nvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIpKSkNCisgICAgYChmb250LWxhdGV4LWl0YWxpYy1mYWNlICgoLGNsYXNzIDppbmhl cml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoZm9udC1s YXRleC1tYXRoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQor ICAgIGAoZm9udC1sYXRleC1zY3JpcHQtY2hhci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0wLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGJs dWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0xLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3Jv dW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMi1m YWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6 Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoZm9udC1sYXRleC1zZWN0aW9u aW5nLTMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1w aXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGZvbnQtbGF0ZXgt c2VjdGlvbmluZy00LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFy aWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChmb250 LWxhdGV4LXNlY3Rpb25pbmctNS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXZh cmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChmb250 LWxhdGV4LXNlZGF0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZm9udC1sYXRleC1zbGlkZS10 aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBp dGNoKSA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkLWZnDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVz LXNjYWxlLTQpKSkpDQorICAgIGAoZm9udC1sYXRleC1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBmb250LWxvY2stc3RyaW5nLWZhY2UpKSkNCisgICAgYChmb250LWxhdGV4LXN1YnNjcmlw dC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC45NSkpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc3VwZXJz Y3JpcHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOTUpKSkNCisgICAgYChmb250LWxhdGV4LXZl cmJhdGltLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1taWxkKSkpDQorICAgIGAoZm9udC1sYXRleC13YXJuaW5nLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpKQ0KKyAgICBgKHRleC1tYXRjaCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYCh0ZXgtdmVyYmF0aW0g KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQorICAgIGAodGV4aW5mby1oZWFkaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQorICAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLWVycm9yICgoLGNsYXNzIDppbmhlcml0 IGVycm9yKSkpDQorICAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLWhlbHAgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCisgICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24tdGV4LXNhaWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChUZVgtZXJyb3ItZGVzY3JpcHRp b24td2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5nKSkpDQorOzs7OzsgYXV0by1kaW0t b3RoZXItYnVmZmVycw0KKyAgICBgKGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMtZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorOzs7OzsgYXZ5DQorICAgIGAoYXZ5LWJhY2tncm91 bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0p KSkNCisgICAgYChhdnktZ290by1jaGFyLXRpbWVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLWludGVuc2UteWVsbG93IGJvbGQpKSkpDQorICAgIGAoYXZ5LWxlYWQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhIGJvbGQpKSkpDQor ICAgIGAoYXZ5LWxlYWQtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLWJsdWUgYm9sZCkpKSkNCisgICAgYChhdnktbGVhZC1mYWNlLTEgKCgsY2xhc3MgOmluaGVy aXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQorICAgIGAoYXZ5LWxlYWQtZmFj ZS0yICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkp DQorOzs7OzsgYXcgKGFjZS13aW5kb3cpDQorICAgIGAoYXctYmFja2dyb3VuZC1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGF3 LWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5z ZSkpKQ0KKyAgICBgKGF3LWxlYWRpbmctY2hhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmhlaWdodCAxLjUgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJlZC1pbnRlbnNl KSkpDQorICAgIGAoYXctbWluaWJ1ZmZlci1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChhdy1tb2RlLWxpbmUtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQorOzs7OzsgYXdlc29tZS10cmF5DQorICAgIGAoYXdlc29t ZS10cmF5LW1vZHVsZS1hd2Vzb21lLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWJh dHRlcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYnVmZmVyLW5hbWUtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAg IGAoYXdlc29tZS10cmF5LW1vZHVsZS1jaXJjZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1kYXRl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAg IGAoYXdlc29tZS10cmF5LW1vZHVsZS1ldmlsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1naXQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAg IGAoYXdlc29tZS10cmF5LW1vZHVsZS1sYXN0LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJh eS1tb2R1bGUtbG9jYXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLW1vZGUtbmFtZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoYXdlc29t ZS10cmF5LW1vZHVsZS1wYXJlbnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtcnZtLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCis7 Ozs7OyBiaW5kZXINCisgICAgYChiaW5kZXItc2lkZWJhci1oaWdobGlnaHQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCisgICAgYChiaW5kZXItc2lkZWJhci1t YXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCisgICAgYChi aW5kZXItc2lkZWJhci1taXNzaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1yZWQpKSkNCisgICAgYChiaW5kZXItc2lkZWJhci10YWdzICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQorOzs7OzsgYm0NCisgICAgYChibS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAo Pj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KKyAgICBgKGJtLWZy aW5nZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkN CisgICAgYChibS1mcmluZ2UtcGVyc2lzdGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWZyaW5nZS1ibHVlKSkpDQorICAgIGAoYm0tcGVyc2lzdGVudC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVu ZCB0KSkpKSkNCis7Ozs7OyBib25nbw0KKyAgICBgKGJvbmdvLWFsYnVtLXRpdGxlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKGJvbmdvLWFydGlzdCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChib25nby1jdXJyZW50bHkt cGxheWluZy10cmFjayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoYm9uZ28tZWxh cHNlZC10cmFjay1wYXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdl bnRhIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGJvbmdvLWZpbGxlZC1zZWVrLWJhciAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYChib25nby1tYXJrZWQtdHJhY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1hcmstYWx0 KSkpDQorICAgIGAoYm9uZ28tbWFya2VkLXRyYWNrLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLW1hcmstYWx0KSkpDQorICAgIGAoYm9uZ28tcGxheWVkLXRyYWNrICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy11bmZvY3VzZWQgOnN0cmlrZS10aHJvdWdoIHQpKSkNCisgICAgYChib25nby10 cmFjay1sZW5ndGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAg IGAoYm9uZ28tdHJhY2stdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQorICAgIGAoYm9uZ28tdW5maWxsZWQtc2Vlay1iYXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJs dWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGJvb24NCisgICAg YChib29uLW1vZGVsaW5lLWNtZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUt Ymx1ZSkpKQ0KKyAgICBgKGJvb24tbW9kZWxpbmUtaW5zICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWFjdGl2ZS1yZWQpKSkNCisgICAgYChib29uLW1vZGVsaW5lLW9mZiAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93KSkpDQorICAgIGAoYm9vbi1tb2RlbGlu ZS1zcGMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuKSkpDQorOzs7 OzsgYnJlYWtwb2ludCAoYnVpbHQtaW4gZ2RiLW1pLmVsKQ0KKyAgICBgKGJyZWFrcG9pbnQtZGlz YWJsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGJyZWFrcG9pbnQt ZW5hYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCis7Ozs7 OyBidWZmZXItZXhwb3NlDQorICAgIGAoYnVmZmVyLWV4cG9zZS1hY2UtY2hhci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChidWZm ZXItZXhwb3NlLW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KKyAgICBgKGJ1ZmZlci1leHBvc2Utc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCis7Ozs7OyBjYWxlbmRhciBhbmQgZGlhcnkN CisgICAgYChjYWxlbmRhci1tb250aC1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNhbGVuZGFyLXRvZGF5ICgoLGNsYXNzIDp1bmRl cmxpbmUgdCkpKQ0KKyAgICBgKGNhbGVuZGFyLXdlZWtkYXktaGVhZGVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChjYWxlbmRhci13ZWVrZW5kLWhlYWRlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZGlhcnkgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGdyZWVuLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAg IGAoZGlhcnktYW5uaXZlcnNhcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIp KSkNCisgICAgYChkaWFyeS10aW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K KyAgICBgKGhvbGlkYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAscmVkLW51 YW5jZWQtYmcgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGNhbGZ3DQorICAgIGAoY2Z3 OmZhY2UtYW5ub3RhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQorICAgIGAoY2Z3OmZhY2UtZGF5LXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoY2Z3OmZhY2UtZGVmYXVsdC1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hbHQpKSkNCisgICAgYChjZnc6ZmFjZS1kZWZhdWx0LWRheSAoKCxjbGFzcyA6aW5o ZXJpdCAoY2Z3OmZhY2UtZGF5LXRpdGxlIGJvbGQpKSkpDQorICAgIGAoY2Z3OmZhY2UtZGlzYWJs ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAoY2Z3OmZhY2Ut Z3JpZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCisg ICAgYChjZnc6ZmFjZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKGNmdzpmYWNlLWhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY2Z3OmZhY2UtcGVyaW9kcyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChjZnc6ZmFjZS1zYXR1cmRheSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGNmdzpmYWNlLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUpKSkNCisgICAgYChjZnc6ZmFjZS1zdW5kYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChjZnc6ZmFjZS10aXRsZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1z Y2FsZS01KSkpKQ0KKyAgICBgKGNmdzpmYWNlLXRvZGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1pbmFjdGl2ZSkpKQ0KKyAgICBgKGNmdzpmYWNlLXRvZGF5LXRpdGxlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChjZnc6ZmFjZS10b29sYmFyICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGNmdzpmYWNl LXRvb2xiYXItYnV0dG9uLW9mZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAg IGAoY2Z3OmZhY2UtdG9vbGJhci1idXR0b24tb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFj a2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorOzs7OzsgY2VudGF1ci10YWJz DQorICAgIGAoY2VudGF1ci10YWJzLWFjdGl2ZS1iYXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsZmctdGFiLWFjdGl2ZSkpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1jbG9zZS1tb3VzZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUgOnVuZGVybGlu ZSB0KSkpDQorICAgIGAoY2VudGF1ci10YWJzLWNsb3NlLXNlbGVjdGVkICgoLGNsYXNzIDppbmhl cml0IGNlbnRhdXItdGFicy1zZWxlY3RlZCkpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1jbG9zZS11 bnNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQor ICAgIGAoY2VudGF1ci10YWJzLW1vZGlmaWVkLW1hcmtlci1zZWxlY3RlZCAoKCxjbGFzcyA6aW5o ZXJpdCBjZW50YXVyLXRhYnMtc2VsZWN0ZWQpKSkNCisgICAgYChjZW50YXVyLXRhYnMtbW9kaWZp ZWQtbWFya2VyLXVuc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXVuc2Vs ZWN0ZWQpKSkNCisgICAgYChjZW50YXVyLXRhYnMtZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1z ZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY2VudGF1ci10YWJzLXNlbGVjdGVkLW1v ZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNlbnRhdXItdGFicy11bnNlbGVjdGVk ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRp bSkpKQ0KKyAgICBgKGNlbnRhdXItdGFicy11bnNlbGVjdGVkLW1vZGlmaWVkICgoLGNsYXNzIDpp bmhlcml0IGl0YWxpYyA6YmFja2dyb3VuZCAsYmctdGFiLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1kaW0pKSkNCis7Ozs7OyBjaGFuZ2UtbG9nIGFuZCBsb2ctdmlldyAoYHZjLXByaW50LWxvZycg YW5kIGB2Yy1wcmludC1yb290LWxvZycpDQorICAgIGAoY2hhbmdlLWxvZy1hY2tub3dsZWRnbWVu dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyLWZhaW50KSkpDQorICAgIGAo Y2hhbmdlLWxvZy1jb25kaXRpb25hbHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQorICAgIGAoY2hhbmdlLWxvZy1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWZhaW50KSkpDQorICAgIGAoY2hhbmdlLWxvZy1lbWFpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKyAgICBgKGNoYW5nZS1sb2ctZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChjaGFuZ2UtbG9nLWZ1bmN0aW9u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChjaGFuZ2Ut bG9nLWxpc3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAg IGAoY2hhbmdlLWxvZy1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAo bG9nLWVkaXQtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN CisgICAgYChsb2ctZWRpdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUpKSkNCisgICAgYChsb2ctZWRpdC11bmtub3duLWhlYWRlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobG9nLXZpZXctY29tbWl0LWJvZHkgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6ZXh0ZW5kIHQpKSkNCisg ICAgYChsb2ctdmlldy1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGxvZy12aWV3LW1lc3NhZ2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFsdC1vdGhlci1mYWludCkpKQ0KKzs7Ozs7IGNpZGVyDQorICAgIGAoY2lk ZXItZGVidWctY29kZS1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkp KQ0KKyAgICBgKGNpZGVyLWRlYnVnLXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChjaWRlci1kZXByZWNhdGVkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKGNp ZGVyLWRvY3ZpZXctZW1waGFzaXMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNpZGVyLWRvY3ZpZXctbGl0ZXJhbC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGNpZGVyLWRvY3Zp ZXctc3Ryb25nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQorICAgIGAoY2lkZXItZG9jdmlldy10YWJsZS1ib3JkZXItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoY2lkZXItZW5saWdodGVuZWQtZmFj ZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLHllbGxvdy1hbHQgOnN0eWxl IG5pbCkgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKGNpZGVyLWVubGlnaHRlbmVkLWxv Y2FsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1v dGhlcikpKQ0KKyAgICBgKGNpZGVyLWVycm9yLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQorICAgIGAoY2lkZXItZnJhZ2lsZS1idXR0b24t ZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSBy ZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChjaWRlci1mcmlu Z2UtZ29vZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAg YChjaWRlci1pbnN0cnVtZW50ZWQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6 Y29sb3IgLHJlZCA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoY2lk ZXItcmVhZGVyLWNvbmRpdGlvbmFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChjaWRlci1yZXBsLWlucHV0LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKGNpZGVyLXJlcGwtcHJvbXB0LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoY2lkZXItcmVw bC1zdGRlcnItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkN CisgICAgYChjaWRlci1yZXBsLXN0ZG91dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQorICAgIGAoY2lkZXItcmVzdWx0LW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGlu ZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQgLGJnLWRpbSkp KQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZXJyb3ItY2xhc3MtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLWVy cm9yLW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLHJl ZC1hbHQtb3RoZXIpKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLWZpbHRlci1hY3Rp dmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnVuZGVybGluZSB0KSkpDQor ICAgIGAoY2lkZXItc3RhY2t0cmFjZS1maWx0ZXItaW5hY3RpdmUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLWZuLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNpZGVy LXN0YWNrdHJhY2UtbnMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtcHJvbW90ZWQtYnV0dG9uLWZhY2Ug KCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLWFsdCA6c3R5bGUgcmVsZWFz ZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoY2lkZXItc3RhY2t0cmFjZS1z dXBwcmVzc2VkLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9y ICxmZy1hbHQgOnN0eWxlIHByZXNzZWQtYnV0dG9uKQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChjaWRlci10ZXN0LWVycm9yLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKGNpZGVyLXRlc3QtZmFp bHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xk KSkpKQ0KKyAgICBgKGNpZGVyLXRlc3Qtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCisgICAgYChjaWRlci10cmFjZWQtZmFjZSAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGN5YW4gOnN0eWxlIG5pbCkgOmJhY2tn cm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKGNpZGVyLXdhcm5pbmctaGlnaGxpZ2h0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBjaXJjZSAo YW5kIGx1aSkNCisgICAgYChjaXJjZS1mb29sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGNpcmNlLWhpZ2hsaWdodC1uaWNrLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNpcmNlLXByb21wdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAg IGAoY2lyY2Utc2VydmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkp KQ0KKyAgICBgKGx1aS1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisg ICAgYChsdWktaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQorICAgIGAobHVpLXRpbWUtc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkLWZnKSkpDQorOzs7OzsgY29sb3ItcmcNCisgICAgYChjb2xvci1yZy1mb250LWxv Y2stY29sdW1uLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stY29tbWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZp bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZsYXNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1mdW5jdGlv bi1sb2NhdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkN CisgICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtZGlyZWN0b3J5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1o ZWFkZXItbGluZS1lZGl0LW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZl KSkpDQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5lLWtleXdvcmQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9j ay1oZWFkZXItbGluZS10ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisg ICAgYChjb2xvci1yZy1mb250LWxvY2stbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXJrLWNoYW5n ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNv bG9yLXJnLWZvbnQtbG9jay1tYXJrLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkKSkpDQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLW1hdGNoICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZv bnQtbG9jay1wb3NpdGlvbi1zcGxpdHRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQorOzs7OzsgY29sdW1uLWVuZm9yY2UtbW9kZQ0KKyAgICBgKGNvbHVtbi1lbmZvcmNlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKzs7Ozs7IGNv bXBhbnktbW9kZQ0KKyAgICBgKGNvbXBhbnktZWNoby1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY29tcGFueS1wcmV2aWV3ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGNvbXBh bnktcHJldmlldy1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAg IGAoY29tcGFueS1wcmV2aWV3LXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLWNhbG0pKSkNCisgICAgYChjb21wYW55LXNjcm9sbGJhci1iZyAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAoY29tcGFueS1zY3JvbGxiYXItZmcgKCgsY2xh c3MgOmJhY2tncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbXBhbnktdGVtcGxhdGUtZmll bGQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAg IGAoY29tcGFueS10b29sdGlwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChjb21wYW55LXRvb2x0aXAtYW5ub3RhdGlvbi1zZWxlY3Rpb24gKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNvbXBhbnktdG9v bHRpcC1jb21tb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCisgICAgYChjb21wYW55LXRvb2x0aXAtY29tbW9uLXNlbGVjdGlvbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1tb3VzZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChjb21wYW55LXRv b2x0aXAtc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBi b2xkKSkpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1zZWFyY2gtc2VsZWN0aW9uICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpIDp1bmRlcmxpbmUgdCkp KQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQpKSkpDQorOzs7OzsgY29tcGFueS1wb3NmcmFtZQ0K KyAgICBgKGNvbXBhbnktcG9zZnJhbWUtYWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZl KSkpDQorICAgIGAoY29tcGFueS1wb3NmcmFtZS1pbmFjdGl2ZS1iYWNrZW5kLW5hbWUgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAg IGAoY29tcGFueS1wb3NmcmFtZS1tZXRhZGF0YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5h Y3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorOzs7OzsgY29tcGlsYXRpb24gZmVl ZGJhY2sNCisgICAgYChjb21waWxhdGlvbi1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNvbXBpbGF0aW9uLWVycm9yICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBg KGNvbXBpbGF0aW9uLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KKyAgICBgKGNvbXBpbGF0aW9uLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChjb21waWxhdGlvbi1tb2RlLWxpbmUtZXhpdCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkp KQ0KKyAgICBgKGNvbXBpbGF0aW9uLW1vZGUtbGluZS1mYWlsICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChjb21waWxh dGlvbi1tb2RlLWxpbmUtcnVuICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAoY29tcGlsYXRpb24td2FybmluZyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Cis7Ozs7OyBjb21wbGV0aW9ucw0KKyAgICBgKGNvbXBsZXRpb25zLWFubm90YXRpb25zICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxjeWFuLWZhaW50KSkp DQorICAgIGAoY29tcGxldGlvbnMtY29tbW9uLXBhcnQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJsdWUtYWx0IGJsdWUtbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN5YW4tcmVmaW5lLWJnIGN5YW4tcmVmaW5lLWZnKSkpKQ0K KyAgICBgKGNvbXBsZXRpb25zLWZpcnN0LWRpZmZlcmVuY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt dGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgYmx1ZS1udWFuY2VkLWJnDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWludGVuc2Ut YmcgZmctbWFpbikpKSkNCis7Ozs7OyBjb25zdWx0DQorICAgIGAoY29uc3VsdC1ib29rbWFyayAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNvbnN1bHQtZmlsZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChjb25zdWx0LWxpZ2h0 ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGNvbnN1bHQtb2ZmICgo LGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAoY29uc3VsdC1vbiAoKCxjbGFzcyA6aW5o ZXJpdCBzdWNjZXNzKSkpDQorICAgIGAoY29uc3VsdC1wcmV2aWV3LWN1cnNvciAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChjb25zdWx0LXByZXZp ZXctbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCisg ICAgYChjb25zdWx0LXZpZXcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQorOzs7OzsgY291bnNlbA0KKyAgICBgKGNvdW5zZWwtYWN0aXZlLW1v ZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY291 bnNlbC1hcHBsaWNhdGlvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVy KSkpDQorICAgIGAoY291bnNlbC1rZXktYmluZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS0xICgo LGNsYXNzIDppbmhlcml0IG91dGxpbmUtMSkpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS0yICgo LGNsYXNzIDppbmhlcml0IG91dGxpbmUtMikpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS0zICgo LGNsYXNzIDppbmhlcml0IG91dGxpbmUtMykpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS00ICgo LGNsYXNzIDppbmhlcml0IG91dGxpbmUtNCkpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS01ICgo LGNsYXNzIDppbmhlcml0IG91dGxpbmUtNSkpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS02ICgo LGNsYXNzIDppbmhlcml0IG91dGxpbmUtNikpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS03ICgo LGNsYXNzIDppbmhlcml0IG91dGxpbmUtNykpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS04ICgo LGNsYXNzIDppbmhlcml0IG91dGxpbmUtOCkpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS1kZWZh dWx0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikp KQ0KKyAgICBgKGNvdW5zZWwtdmFyaWFibGUtZG9jdW1lbnRhdGlvbiAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKzs7 Ozs7IGNvdW5zZWwtY3NzDQorICAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0x ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoY291bnNlbC1jc3Mtc2VsZWN0 b3ItZGVwdGgtZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoY291 bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgt ZmFjZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoY291bnNlbC1j c3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCis7 Ozs7OyBjb3Vuc2VsLW5vdG11Y2gNCisgICAgYChjb3Vuc2VsLW5vdG11Y2gtY291bnQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGNvdW5zZWwtbm90bXVjaC1kYXRl LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChjb3Vuc2VsLW5vdG11 Y2gtcGVvcGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChj b3Vuc2VsLW5vdG11Y2gtc3ViamVjdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nDQorICAgIGAo Y291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmctdGVtcGxhdGUtYm9keS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCis7Ozs7OyBjb3YNCisgICAgYChjb3YtY292 ZXJhZ2Utbm90LXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0K KyAgICBgKGNvdi1jb3ZlcmFnZS1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t aW50ZW5zZSkpKQ0KKyAgICBgKGNvdi1oZWF2eS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWludGVuc2UpKSkNCisgICAgYChjb3YtbGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAoY292LW1lZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KKyAgICBgKGNvdi1ub25lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KKzs7Ozs7IGNwZXJsLW1vZGUNCisgICAgYChj cGVybC1ub25vdmVycmlkYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyKSkpDQorICAgIGAoY3BlcmwtYXJyYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAo Y3BlcmwtaGFzaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXNsYW50 KSA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorOzs7OzsgY3N2 LW1vZGUNCisgICAgYChjc3Ytc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGN0cmxmDQorICAg IGAoY3RybGYtaGlnaGxpZ2h0LWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt aW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KKyAgICBgKGN0cmxmLWhpZ2hsaWdodC1saW5lICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCisgICAgYChjdHJsZi1oaWdobGln aHQtcGFzc2l2ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0K Kzs7Ozs7IGN1c3RvbSAoTS14IGN1c3RvbWl6ZSkNCisgICAgYChjdXN0b20tYnV0dG9uICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9u KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGN1c3RvbS1idXR0b24tbW91c2UgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24p DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChjdXN0b20tYnV0dG9uLXByZXNz ZWQgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSBwcmVzc2Vk LWJ1dHRvbikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91 bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGN1c3RvbS1jaGFu Z2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAo Y3VzdG9tLWNvbW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGN1 c3RvbS1jb21tZW50LXRhZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoY3VzdG9tLWZhY2UtdGFnICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKGN1c3RvbS1n cm91cC10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5z ZSkpKQ0KKyAgICBgKGN1c3RvbS1ncm91cC10YWctMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChjdXN0b20taW52YWxpZCAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCisgICAgYChjdXN0b20tbW9k aWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCisgICAg YChjdXN0b20tcm9ndWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2Vu dGEpKSkNCisgICAgYChjdXN0b20tc2V0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KKyAgICBgKGN1c3RvbS1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCisgICAgYChjdXN0b20tdGhlbWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1ibHVlKSkpDQorICAgIGAoY3VzdG9tLXZhcmlhYmxlLXRhZyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7OzsgZGFwLW1vZGUNCisgICAgYChk YXAtbW91c2UtZXZhbC10aGluZy1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpj b2xvciAsYmx1ZS1hY3RpdmUgOnN0eWxlIG5pbCkNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChkYXAtcmVzdWx0LW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGlu ZS13aWR0aCAtMSA6Y29sb3IgLGJnLWFjdGl2ZSA6c3R5bGUgbmlsKQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChkYXAtdWktYnJlYWtwb2ludC12ZXJpZmllZC1mcmluZ2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAg IGAoZGFwLXVpLWNvbXBpbGUtZXJybGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtaW50ZW5zZSkpKQ0KKyAgICBgKGRhcC11aS1sb2NhbHMtc2NvcGUtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKGRhcC11aS1sb2NhbHMtdmFyaWFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZGFwLXVpLWxvY2Fscy12YXJpYWJsZS1sZWFm LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KKyAgICBgKGRhcC11aS1tYXJrZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGRhcC11aS1zZXNzaW9ucy1zdGFjay1mcmFtZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQor ICAgIGAoZGFwLXVpLXNlc3Npb25zLXRlcm1pbmF0ZWQtYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZGFwLXVpLXNlc3Npb25z LXRlcm1pbmF0ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorOzs7Ozsg ZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQorICAgIGAoZGFzaGJvYXJkLWJhbm5lci1sb2dv LXRpdGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KKyAgICBgKGRhc2hib2FyZC1mb290ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAoZGFzaGJvYXJkLWhlYWRpbmcgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAg IGAoZGFzaGJvYXJkLW5hdmlnYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCisgICAgYChkYXNoYm9hcmQtdGV4dC1iYW5uZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KKzs7Ozs7IGRlYWRncmVwDQorICAgIGAoZGVhZGdyZXAtZmlsZW5hbWUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChkZWFkZ3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGRlYWRncmVwLW1ldGEtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZGVhZGdyZXAtcmVnZXhwLW1ldGFjaGFyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCisg ICAgYChkZWFkZ3JlcC1zZWFyY2gtdGVybS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCis7Ozs7OyBkZWJidWdzDQorICAgIGAoZGViYnVn cy1nbnUtYXJjaGl2ZWQgKCgsY2xhc3MgOmludmVyc2UtdmlkZW8gdCkpKQ0KKyAgICBgKGRlYmJ1 Z3MtZ251LWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRlYmJ1 Z3MtZ251LWZvcndhcmRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQorICAgIGAoZGViYnVncy1nbnUtaGFuZGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCisgICAgYChkZWJidWdzLWdudS1uZXcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0K KyAgICBgKGRlYmJ1Z3MtZ251LXBlbmRpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkN CisgICAgYChkZWJidWdzLWdudS1zdGFsZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct bnVhbmNlZC1mZykpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTMgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChkZWJidWdzLWdudS1zdGFsZS00ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoZGViYnVncy1nbnUt c3RhbGUtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGRlYmJ1Z3Mt Z251LXRhZ2dlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyBk ZWZpbmUtd29yZA0KKyAgICBgKGRlZmluZS13b3JkLWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQorICAgIGAoZGVmaW5lLXdvcmQtZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorOzs7OzsgZGVmdA0KKyAgICBgKGRlZnQtZmlsdGVyLXN0cmluZy1l cnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCisg ICAgYChkZWZ0LWZpbHRlci1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t aW50ZW5zZSkpKQ0KKyAgICBgKGRlZnQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZGVmdC1zZXBhcmF0b3It ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZGVmdC1zdW1tYXJ5 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGRlZnQtdGltZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYChkZWZ0LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGRpY3Rpb25hcnkNCisgICAgYChk aWN0aW9uYXJ5LWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGRpY3Rpb25hcnktcmVmZXJlbmNlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGRpY3Rpb25hcnktd29yZC1kZWZpbml0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChkaWN0aW9uYXJ5LXdvcmQtZW50cnktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQorOzs7OzsgZGlmZi1obA0KKyAgICBgKGRpZmYtaGwtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCisgICAgYChkaWZmLWhsLWRlbGV0ZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZGlmZi1obC1k aXJlZC1jaGFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1obC1jaGFuZ2UpKSkNCisgICAgYChk aWZmLWhsLWRpcmVkLWRlbGV0ZSAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWhsLWRlbGV0ZSkpKQ0K KyAgICBgKGRpZmYtaGwtZGlyZWQtaWdub3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1pZ25v cmVkKSkpDQorICAgIGAoZGlmZi1obC1kaXJlZC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgZGlm Zi1obC1pbnNlcnQpKSkNCisgICAgYChkaWZmLWhsLWRpcmVkLXVua25vd24gKCgsY2xhc3MgOmlu aGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KKyAgICBgKGRpZmYtaGwtaW5zZXJ0ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGRpZmYtaGwtcmV2ZXJ0 ZWQtaHVuay1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWFjdGl2ZS1t YWdlbnRhIGJvbGQpKSkpDQorOzs7OzsgZGlmZi1tb2RlDQorICAgIGAoZGlmZi1hZGRlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQorICAgIGAoZGlmZi1jaGFu Z2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KKyAgICBg KGRpZmYtY29udGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAg IGAoZGlmZi1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkp KQ0KKyAgICBgKGRpZmYtZmlsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRpZmYtZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUpKSkNCisgICAgYChkaWZmLWhlYWRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGlmZi1odW5rLWhlYWRlciAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcpKSkNCisgICAgYChkaWZmLWlu ZGV4ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAg IGAoZGlmZi1pbmRpY2F0b3ItYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgKGRpZmYtYWRkZWQgYm9s ZCkgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZGlmZi1pbmRpY2F0b3ItY2hhbmdlZCAo KCxjbGFzcyA6aW5oZXJpdCAoZGlmZi1jaGFuZ2VkIGJvbGQpIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCisgICAgYChkaWZmLWluZGljYXRvci1yZW1vdmVkICgoLGNsYXNzIDppbmhlcml0IChkaWZm LXJlbW92ZWQgYm9sZCkgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGRpZmYtbm9uZXhpc3Rl bnQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLW5ldXRyYWwgYm9sZCkpKSkNCisgICAg YChkaWZmLXJlZmluZS1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJl ZmluZS1hZGRlZCkpKQ0KKyAgICBgKGRpZmYtcmVmaW5lLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCkpKQ0KKyAgICBgKGRpZmYtcmVmaW5l LXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3Zl ZCkpKQ0KKyAgICBgKGRpZmYtcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1k aWZmLXJlbW92ZWQpKSkNCis7Ozs7OyBkaW0tYXV0b2xvYWQNCisgICAgYChkaW0tYXV0b2xvYWQt Y29va2llLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkpKQ0K Kzs7Ozs7IGRpci10cmVldmlldw0KKyAgICBgKGRpci10cmVldmlldy1hcmNoaXZlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGRpci10cmVldmll dy1hcmNoaXZlLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVs dC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGRpci10cmVldmlldy1h dWRpby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZGlyLXRy ZWV2aWV3LWF1ZGlvLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVm YXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZGlyLXRy ZWV2aWV3LWNvbnRyb2wtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAg IGAoZGlyLXRyZWV2aWV3LWNvbnRyb2wtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdo bGlnaHQpKSkNCisgICAgYChkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6ZmFtaWx5ICJGb250IEF3ZXNvbWUiIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCisgICAgYChkaXItdHJlZXZpZXctZGVmYXVsdC1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWRpcmVj dG9yeS1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNv bi1mYWNlIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1leGVj dXRhYmxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChkaXIt dHJlZXZpZXctZXhlY3V0YWJsZS1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2 aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAg IGAoZGlyLXRyZWV2aWV3LWltYWdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KKyAgICBgKGRpci10cmVldmlldy1pbWFnZS1pY29uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxncmVl bi1hbHQpKSkNCisgICAgYChkaXItdHJlZXZpZXctaW5kZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1sYWJlbC1tb3VzZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGhpZ2hsaWdodCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1zdGFydC1k aXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQor ICAgIGAoZGlyLXRyZWV2aWV3LXN5bWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24N CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1l cy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KKyAgICBgKGRpci10cmVldmlldy12aWRlby1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGRpci10cmVl dmlldy12aWRlby1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1 bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGRp cmVkDQorICAgIGAoZGlyZWQtYnJva2VuLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9u IDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChkaXJlZC1kaXJlY3RvcnkgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCisgICAgYChkaXJlZC1mbGFnZ2VkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQorICAgIGAoZGlyZWQtaGVhZGVyICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCisgICAgYChkaXJlZC1pZ25vcmVk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChkaXJlZC1tYXJrICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQorICAgIGAoZGlyZWQtbWFy a2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQorICAgIGAoZGly ZWQtcGVybS13cml0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQor ICAgIGAoZGlyZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQpKSkpDQorICAg IGAoZGlyZWQtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCis7Ozs7OyBkaXJlZC1hc3luYw0KKyAgICBgKGRpcmVkLWFzeW5jLWZhaWx1cmVzICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUp KSkNCisgICAgYChkaXJlZC1hc3luYy1tZXNzYWdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRpcmVkLWFzeW5j LW1vZGUtbWVzc2FnZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KKzs7Ozs7IGRpcmVkLWdpdA0KKyAgICBgKGRpcmVkLWdpdC1i cmFuY2gtZWxzZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KKyAgICBgKGRpcmVkLWdpdC1icmFuY2gtbWFzdGVyICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorOzs7OzsgZGlyZWQtZ2l0LWlu Zm8NCisgICAgYChkZ2ktY29tbWl0LW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1taWxkKSkpDQorOzs7OzsgZGlyZWQtbmFycm93DQorICAgIGAoZGlyZWQtbmFy cm93LWJsaW5rICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xk KSkpKQ0KKzs7Ozs7IGRpcmVkLXN1YnRyZWUNCisgICAgOzsgcmVtb3ZlIGJhY2tncm91bmQgZnJv bSBkaXJlZC1zdWJ0cmVlLCBlbHNlIGl0IGJyZWFrcw0KKyAgICA7OyBkaXJlZC17ZmxhZ2dlZCxt YXJrZWR9IGFuZCBhbnkgb3RoZXIgZmFjZSB0aGF0IHNldHMgYSBiYWNrZ3JvdW5kDQorICAgIDs7 IHN1Y2ggYXMgaGwtbGluZQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgt My1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUt ZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKyAgICBgKGRpcmVkLXN1 YnRyZWUtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKyAgICBgKGRp cmVkLXN1YnRyZWUtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKzs7 Ozs7IGRpcmVkZmwNCisgICAgYChkaXJlZGZsLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGlyZWRmbC1jb21wcmVzc2Vk LWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAg IGAoZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQorICAgIGAoZGlyZWRmbC1kYXRlLXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZGlyZWRmbC1kZWxldGlvbiAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBgKGRpcmVkZmwtZGVsZXRpb24tZmls ZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQorICAgIGAo ZGlyZWRmbC1kaXItaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8t aGVhZGVyKSkpDQorICAgIGAoZGlyZWRmbC1kaXItbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXJl ZC1kaXJlY3RvcnkpKSkNCisgICAgYChkaXJlZGZsLWRpci1wcml2ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGRpcmVkZmwtZXhlYy1wcml2ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZGlyZWRmbC1leGVjdXRhYmxlLXRhZyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChkaXJlZGZsLWZpbGUtbmFtZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRpcmVkZmwtZmlsZS1zdWZm aXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChkaXJlZGZsLWZsYWctbWFy ayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KKyAgICBgKGRpcmVk ZmwtZmxhZy1tYXJrLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwp KSkNCisgICAgYChkaXJlZGZsLWlnbm9yZWQtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCisgICAgYChkaXJlZGZsLWxpbmstcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChkaXJlZGZsLW5vLXByaXYgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRpcmVkZmwtbnVtYmVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGRpcmVkZmwtb3RoZXItcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZGlyZWRmbC1yYXJlLXByaXYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChkaXJlZGZsLXJlYWQtcHJpdiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRpcmVkZmwtc3ltbGluayAoKCxjbGFz cyA6aW5oZXJpdCBkaXJlZC1zeW1saW5rKSkpDQorICAgIGAoZGlyZWRmbC10YWdnZWQtYXV0b2Zp bGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0K KyAgICBgKGRpcmVkZmwtd3JpdGUtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K Kzs7Ozs7IGRpc2stdXNhZ2UNCisgICAgYChkaXNrLXVzYWdlLWNoaWxkcmVuICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkaXNrLXVzYWdlLWluYWNjZXNzaWJsZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChkaXNrLXVzYWdl LXBlcmNlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZGlzay11c2Fn ZS1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZGlzay11c2FnZS1z eW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGRpc2stdXNhZ2Utc3lt bGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQpKSkNCis7Ozs7OyBkb29tLW1vZGVsaW5lDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChkb29tLW1v ZGVsaW5lLWJhci1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZv cmVncm91bmQgLGJnLW1haW4pKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktY2hhcmdp bmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9k ZWxpbmUtYmF0dGVyeS1jcml0aWNhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWVycm9yICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggLTIpDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQor ICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWZ1bGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LW5vcm1hbCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5 LXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1idWZm ZXItbWFqb3ItbW9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFj dGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLW1pbm9yLW1vZGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXIt bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1wYXRoICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZGVi dWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0K KyAgICBgKGRvb20tbW9kZWxpbmUtZGVidWctdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtZW1h Y3Mtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtaW5zZXJ0LXN0YXRlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9k ZWxpbmUtZXZpbC1tb3Rpb24tc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtbm9ybWFsLXN0YXRl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBg KGRvb20tbW9kZWxpbmUtZXZpbC1vcGVyYXRvci1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZXZpbC1y ZXBsYWNlLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3Rp dmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtdmlzdWFsLXN0YXRlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2Rl bGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h Y3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOmluaGVyaXQgaXRh bGljKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWxzcC1lcnJvciAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2Rl bGluZS1sc3Atc3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bi1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAgYChkb29tLW1v ZGVsaW5lLXBhbmVsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkp DQorICAgIGAoZG9vbS1tb2RlbGluZS1wZXJzcC1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNz IDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGRv b20tbW9kZWxpbmUtcGVyc3AtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkp DQorICAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtcHJvamVj dC1wYXJlbnQtZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBg KGRvb20tbW9kZWxpbmUtcHJvamVjdC1yb290LWRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS11bnJlYWQtbnVtYmVyICgoLGNsYXNzIDpp bmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2Rl bGluZS11cmdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorOzs7OzsgZHluYW1pYy1ydWxlcg0KKyAg ICBgKGR5bmFtaWMtcnVsZXItbmVnYXRpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCisgICAgYChkeW5hbWljLXJ1bGVyLXBvc2l0aXZlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCis7Ozs7 OyBlYXN5LWpla3lsbA0KKyAgICBgKGVhc3ktamVreWxsLWhlbHAtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGVh c3kta2lsbA0KKyAgICBgKGVhc3kta2lsbC1vcmlnaW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKGVhc3kta2lsbC1zZWxlY3Rpb24gKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KKzs7Ozs7IGViZGINCisgICAg YChlYmRiLWFkZHJlc3MtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKGViZGItZGItY2hhciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQorICAgIGAoZWJkYi1kZWZ1bmN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN CisgICAgYChlYmRiLWZpZWxkLWhpZGRlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KKyAgICBgKGViZGItZmllbGQtdXJsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQor ICAgIGAoZWJkYi1sYWJlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN CisgICAgYChlYmRiLW1haWwtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKGViZGItbWFpbC1wcmltYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KKyAgICBgKGViZGItbWFya2VkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVu c2UtYmcpKSkNCisgICAgYChlYmRiLW9yZ2FuaXphdGlvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChlYmRiLXBlcnNvbi1uYW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGViZGItcGhvbmUtZGVm YXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZWJk Yi1yb2xlLWRlZnVuY3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGVp ZWlvLWN1c3RvbS1zbG90LXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQorOzs7OzsgZWRpZmYNCisgICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0 ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0aGUNCisgICAgOzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZh Y2VzLg0KKyAgICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1BICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBy ZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92 ZWQgZmctZGlmZi1yZW1vdmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVkLW51YW5jZWQtYmcgcmVkLWZhaW50KSkpKQ0KKyAgICBgKGVkaWZmLWN1cnJlbnQtZGlm Zi1BbmNlc3RvciAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29sZA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1zcGVjaWFs LWNvbGQgZmctc3BlY2lhbC1jb2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlKSkpKQ0KKyAgICBgKGVkaWZmLWN1cnJl bnQtZGlmZi1CICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBncmVlbg0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZ3JlZW4t ZmFpbnQpKSkpDQorICAgIGAoZWRpZmYtY3VycmVudC1kaWZmLUMgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmct ZGltIHllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRp ZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyB5ZWxsb3ctZmFpbnQpKSkpDQorICAgIGAoZWRp ZmYtZXZlbi1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpm b3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKGVkaWZmLWV2ZW4tZGlmZi1B bmNlc3RvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91 bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQorICAgIGAoZWRpZmYtZXZlbi1kaWZmLUIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMSkpKQ0KKyAgICBgKGVkaWZmLWV2ZW4tZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCisg ICAgYChlZGlmZi1maW5lLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1mb2N1 cy1yZW1vdmVkIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkNCisgICAgYChl ZGlmZi1maW5lLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLWN5YW4pKSkNCisgICAgYChlZGlmZi1maW5lLWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGlmZi1mb2N1cy1hZGRlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1hZGRlZCkp KQ0KKyAgICBgKGVkaWZmLWZpbmUtZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZm LWZvY3VzLWNoYW5nZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtY2hhbmdlZCkpKQ0KKyAg ICBgKGVkaWZmLW9kZC1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJh bC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikpKQ0KKyAgICBgKGVkaWZmLW9kZC1k aWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMCA6Zm9y ZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTApKSkNCisgICAgYChlZGlmZi1vZGQtZGlmZi1CICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlm Zi1uZXV0cmFsLTIpKSkNCisgICAgYChlZGlmZi1vZGQtZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkN Cis7Ozs7OyBlZ2xvdA0KKyAgICBgKGVnbG90LW1vZGUtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKzs7Ozs7IGVs LXNlYXJjaA0KKyAgICBgKGVsLXNlYXJjaC1oaWdobGlnaHQtaW4tcHJvbXB0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChlbC1z ZWFyY2gtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikp KQ0KKyAgICBgKGVsLXNlYXJjaC1vdGhlci1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChlbC1zZWFyY2gtb2NjdXItbWF0Y2ggKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorOzs7OzsgZWxkb2MNCisg ICAgOzsgTk9URTogc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wdXJjZWxsL3BhY2thZ2UtbGludC9p c3N1ZXMvMTg3DQorICAgIChsaXN0ICdlbGRvYy1oaWdobGlnaHQtZnVuY3Rpb24tYXJndW1lbnQg YCgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQor Ozs7OzsgZWxkb2MtYm94DQorICAgIGAoZWxkb2MtYm94LWJvZHkgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGVsZG9jLWJveC1ib3Jk ZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IGVsZmVlZA0KKyAgICBg KGVsZmVlZC1sb2ctZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0K KyAgICBgKGVsZmVlZC1sb2ctZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KKyAgICBgKGVsZmVlZC1sb2ctZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZWxmZWVkLWxvZy1pbmZvLWxldmVsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZWxmZWVkLWxvZy13YXJuLWxldmVs LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGVsZmVlZC1zZWFy Y2gtZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisg ICAgYChlbGZlZWQtc2VhcmNoLWZlZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKyAgICBgKGVsZmVlZC1zZWFyY2gtZmlsdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChlbGZlZWQtc2VhcmNoLWxh c3QtdXBkYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAg IGAoZWxmZWVkLXNlYXJjaC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFu Y2VkLWZnKSkpDQorICAgIGAoZWxmZWVkLXNlYXJjaC10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChlbGZlZWQtc2VhcmNoLXVucmVhZC1jb3VudC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChlbGZlZWQtc2Vh cmNoLXVucmVhZC10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCis7Ozs7OyBlbGZlZWQtc2NvcmUNCisgICAgYChlbGZlZWQtc2NvcmUtZGF0 ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZWxmZWVkLXNjb3Jl LWRlYnVnLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQorICAgIGAoZWxmZWVkLXNjb3JlLWVycm9yLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZCkpKQ0KKyAgICBgKGVsZmVlZC1zY29yZS1pbmZvLWxldmVsLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChlbGZlZWQtc2NvcmUtd2Fybi1sZXZlbC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBlbW1zDQorICAgIGAo ZW1tcy1wbGF5bGlzdC10cmFjay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQor ICAgIGAoZW1tcy1wbGF5bGlzdC1zZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCis7Ozs7OyBlbmhhbmNlZC1ydWJ5LW1vZGUNCisgICAg YChlbmgtcnVieS1oZXJlZG9jLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVuaC1ydWJ5LW9wLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChlbmgtcnVieS1yZWdleHAtZGVsaW1pdGVyLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZW5oLXJ1YnktcmVnZXhwLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChlbmgtcnVieS1zdHJp bmctZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAg IGAoZXJtLXN5bi1lcnJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0 KSkpDQorICAgIGAoZXJtLXN5bi13YXJubGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 IDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IGVwYQ0KKyAgICBgKGVwYS1maWVsZC1ib2R5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZXBhLWZpZWxkLW5hbWUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAoZXBhLW1hcmsg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGVw YS1zdHJpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZXBhLXZh bGlkaXR5LWRpc2FibGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQp KSkNCisgICAgYChlcGEtdmFsaWRpdHktaGlnaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChlcGEtdmFsaWRpdHktbG93ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChlcGEtdmFsaWRpdHktbWVkaXVtICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCis7Ozs7OyBlcXVha2UNCisgICAgYChl cXVha2UtYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChlcXVha2Utc2hlbGwtdHlwZS1lc2hlbGwgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisg ICAgYChlcXVha2Utc2hlbGwtdHlwZS1yYXNoICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGVxdWFrZS1zaGVsbC10eXBl LXNoZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsY3lh bi1hY3RpdmUpKSkNCisgICAgYChlcXVha2Utc2hlbGwtdHlwZS10ZXJtICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBg KGVxdWFrZS1zaGVsbC10eXBlLXZ0ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2 ZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChlcXVha2UtdGFiLWFjdGl2 ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCisg ICAgYChlcXVha2UtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2 ZSkpKQ0KKzs7Ozs7IGVyYw0KKyAgICBgKGVyYy1hY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZXJjLWJvbGQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoZXJjLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBi dXR0b24pKSkNCisgICAgYChlcmMtY29tbWFuZC1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGVyYy1jdXJyZW50LW5p Y2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YChlcmMtZGFuZ2Vyb3VzLWhvc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLXJlZCkpKQ0KKyAgICBgKGVyYy1kaXJlY3QtbXNnLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChlcmMtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChlcmMtZm9vbC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKGVyYy1oZWFkZXItbGluZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCisg ICAgYChlcmMtaW5wdXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxt KSkpDQorICAgIGAoZXJjLWludmVyc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtZGVmYXVs dC1mYWNlIDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYChlcmMta2V5d29yZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZXJj LW15LW5pY2stZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQorICAgIGAoZXJjLW15LW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJj LW15LW5pY2stZmFjZSkpKQ0KKyAgICBgKGVyYy1uaWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZXJjLW5pY2stbXNnLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChl cmMtbmljay1wcmVmaXgtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtbmljay1kZWZhdWx0LWZh Y2UpKSkNCisgICAgYChlcmMtbm90aWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVu Zm9jdXNlZCkpKQ0KKyAgICBgKGVyYy1wYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoZXJjLXByb21wdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZXJjLXRp bWVzdGFtcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisg ICAgYChlcmMtdW5kZXJsaW5lLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAo Ymc6ZXJjLWNvbG9yLWZhY2UwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJ3aGl0ZSIpKSkNCisgICAg YChiZzplcmMtY29sb3ItZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgImJsYWNrIikpKQ0KKyAg ICBgKGJnOmVyYy1jb2xvci1mYWNlMTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxl LWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Y3lhbi1pbnRlbnNlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTEz ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXN1YnRsZS1iZykpKQ0KKyAgICBgKGJnOmVy Yy1jb2xvci1mYWNlMTQgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk2MCIpKSkNCisgICAgYChi ZzplcmMtY29sb3ItZmFjZTE1ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5ODAiKSkpDQorICAg IGAoYmc6ZXJjLWNvbG9yLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2Ut YmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdy ZWVuLWludGVuc2UtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLHJlZC1zdWJ0bGUtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9y LWZhY2U2ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1iZykpKQ0KKyAgICBg KGJnOmVyYy1jb2xvci1mYWNlNyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRsZS1i ZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlOCAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVs bG93LXJlZmluZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlOSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZ3JlZW4tc3VidGxlLWJnKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UwICgo LGNsYXNzIDpmb3JlZ3JvdW5kICJ3aGl0ZSIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTEg KCgsY2xhc3MgOmZvcmVncm91bmQgImJsYWNrIikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNl MTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFj ZTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZnOmVy Yy1jb2xvci1mYWNlMTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChmZzpl cmMtY29sb3ItZmFjZTEzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAg ICBgKGZnOmVyYy1jb2xvci1mYWNlMTQgKCgsY2xhc3MgOmZvcmVncm91bmQgImdyYXk2MCIpKSkN CisgICAgYChmZzplcmMtY29sb3ItZmFjZTE1ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJncmF5ODAi KSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlMyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4pKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZCkpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlNSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlNiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTcg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChmZzplcmMt Y29sb3ItZmFjZTggKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChm ZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikp KQ0KKzs7Ozs7IGVyb3MNCisgICAgYChlcm9zLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xhc3Mg OmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlKQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1k aW0pKSkNCis7Ozs7OyBlcnQNCisgICAgYChlcnQtdGVzdC1yZXN1bHQtZXhwZWN0ZWQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGVydC10ZXN0 LXJlc3VsdC11bmV4cGVjdGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkKSkpDQorOzs7OzsgZXNoZWxsDQorICAgIGAoZXNoZWxsLWxzLWFyY2hpdmUgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChlc2hlbGwtbHMt YmFja3VwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAoZXNoZWxs LWxzLWNsdXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChlc2hl bGwtbHMtZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQorICAgIGAoZXNoZWxsLWxzLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZXNoZWxsLWxzLW1pc3NpbmcgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisgICAgYChlc2hlbGwtbHMtcHJvZHVjdCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZXNoZWxsLWxz LXJlYWRvbmx5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAg YChlc2hlbGwtbHMtc3BlY2lhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQorICAgIGAoZXNoZWxsLWxzLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1s aW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFu LWZhaW50KSkpKQ0KKyAgICBgKGVzaGVsbC1scy11bnJlYWRhYmxlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChlc2hl bGwtcHJvbXB0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tcHJvbXB0DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZ3JlZW4tYWx0DQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBncmVlbi1yZWZpbmUtYmcgZmctbWFpbikpKSkNCis7Ozs7OyBlc2hl bGwtZnJpbmdlLXN0YXR1cw0KKyAgICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLWZhaWx1cmUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLXN1 Y2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorOzs7OzsgZXNoZWxsLWdpdC1w cm9tcHQNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYnJhbmNoLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LWRp cmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZXNoZWxs LWdpdC1wcm9tcHQtZXhpdC1mYWlsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0K KyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LW1vZGlmaWVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0 LXBvd2VybGluZS1jbGVhbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1yZWZpbmUt YmcpKSkNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtZGlyLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5lLWJnKSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9t cHQtcG93ZXJsaW5lLW5vdC1jbGVhbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRh LXJlZmluZS1iZykpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LXJvYnlydXNzZWxsLWJyYW5j aC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChlc2hlbGwtZ2l0LXBy b21wdC1yb2J5cnVzc2VsbC1naXQtZGlydHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtZ2l0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCis7Ozs7OyBlc2hlbGwtcHJvbXB0LWV4dHJhcyAo ZXBlKQ0KKyAgICBgKGVwZS1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1i b2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZXBlLWdpdC1kaXItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVwZS1naXQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChlcGUtcGlwZWxpbmUtZGVsaW1p dGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKGVwZS1w aXBlbGluZS1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChl cGUtcGlwZWxpbmUtdGltZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCisgICAgYChlcGUtcGlwZWxpbmUtdXNlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQorICAgIGAoZXBlLXJlbW90ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChlcGUtc3RhdHVz LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAo ZXBlLXZlbnYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQorOzs7OzsgZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmcNCisgICAg YChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1hbGlhcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQorICAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctY29tbWVudC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChlc2hlbGwtc3ludGF4 LWhpZ2hsaWdodGluZy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KKyAgICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWVudnZhci1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1zeW50YXgtaGlnaGxp Z2h0aW5nLWludmFsaWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAo ZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctbGlzcC1mdW5jdGlvbi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmct c2hlbGwtY29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KKyAgICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLXN0cmluZy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKzs7Ozs7IGV2aWwtbW9kZQ0KKyAgICBgKGV2aWwt ZXgtY29tbWFuZHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQor ICAgIGAoZXZpbC1leC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KKyAgICBgKGV2aWwtZXgtbGF6eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLWN5YW4pKSkNCisgICAgYChldmlsLWV4LXNlYXJjaCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAoZXZpbC1leC1zdWJzdGl0 dXRlLW1hdGNoZXMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyA6 dW5kZXJsaW5lIHQpKSkNCisgICAgYChldmlsLWV4LXN1YnN0aXR1dGUtcmVwbGFjZW1lbnQgKCgs Y2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCis7Ozs7 OyBldmlsLWdvZ2dsZXMNCisgICAgYChldmlsLWdvZ2dsZXMtY2hhbmdlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKGV2aWwtZ29nZ2xl cy1jb21tZW50YXJ5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1u ZXV0cmFsIG1vZHVzLXRoZW1lLXNsYW50KSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1kZWZhdWx0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCisg ICAgYChldmlsLWdvZ2dsZXMtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXJlZCkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1maWxsLWFuZC1tb3ZlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KKyAgICBgKGV2 aWwtZ29nZ2xlcy1pbmRlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVm YXVsdC1mYWNlKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLWpvaW4tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChldmlsLWdvZ2dsZXMtbmVy ZC1jb21tZW50ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtY29tbWVudGFy eS1mYWNlKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXBhc3RlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCisgICAgYChldmlsLWdvZ2dsZXMtcmVjb3Jk LW1hY3JvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkp DQorICAgIGAoZXZpbC1nb2dnbGVzLXJlcGxhY2Utd2l0aC1yZWdpc3Rlci1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAoZXZpbC1nb2dn bGVzLXNldC1tYXJrZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LW1hZ2VudGEpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtc2hpZnQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXN1 cnJvdW5kLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkp KQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy15YW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLWJsdWUpKSkNCis7Ozs7OyBldmlsLXZpc3VhbC1tYXJrLW1vZGUNCisgICAg YChldmlsLXZpc3VhbC1tYXJrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhKSkpDQorOzs7OzsgZXd3DQorICAgIGAoZXd3LWludmFsaWQtY2VydGlmaWNh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChld3ctdmFsaWQt Y2VydGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBg KGV3dy1mb3JtLWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxm Zy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctaW5hY3Rp dmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChld3ctZm9ybS1maWxlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQt YnV0dG9uKSA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAoZXd3LWZvcm0tc2VsZWN0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWNoZWNrYm94 KSkpDQorICAgIGAoZXd3LWZvcm0tc3VibWl0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWZp bGUpKSkNCisgICAgYChld3ctZm9ybS10ZXh0ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEg OmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgbm9uZSkgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZXd3LWZvcm0tdGV4dGFyZWEgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGV5 ZWJyb3dzZQ0KKyAgICBgKGV5ZWJyb3dzZS1tb2RlLWxpbmUtYWN0aXZlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorOzs7OzsgZmFuY3ktZGFiYnJl dg0KKyAgICBgKGZhbmN5LWRhYmJyZXYtbWVudS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGZhbmN5LWRhYmJyZXYtcHJldmll dy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnVuZGVybGluZSB0KSkpDQorICAg IGAoZmFuY3ktZGFiYnJldi1zZWxlY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMt dGhlbWUtaW50ZW5zZS1jeWFuIGJvbGQpKSkpDQorOzs7OzsgZmx5Y2hlY2sNCisgICAgYChmbHlj aGVjay1lcnJvcg0KKyAgICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmct ZXJyb3IgOnN0eWxlIHdhdmUpKQ0KKyAgICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5n LWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtY2hlY2tl ci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGZs eWNoZWNrLWVycm9yLWxpc3QtY29sdW1uLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1lcnJvciAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChm bHljaGVjay1lcnJvci1saXN0LWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkp DQorICAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZmx5Y2hlY2st ZXJyb3ItbGlzdC1pZC13aXRoLWV4cGxhaW5lciAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1l cnJvci1saXN0LWlkIDpib3ggdCkpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaW5mbyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3Qt bGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAg ICBgKGZseWNoZWNrLWVycm9yLWxpc3Qtd2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQorICAgIGAoZmx5Y2hlY2stZnJpbmdlLWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCisgICAgYChmbHljaGVjay1mcmluZ2UtaW5mbyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KKyAgICBgKGZseWNoZWNr LWZyaW5nZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxs b3cpKSkNCisgICAgYChmbHljaGVjay1pbmZvDQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0 cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDp1bmRlcmxpbmUg KDpjb2xvciAsZmctbGFuZy1ub3RlIDpzdHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGZseWNoZWNrLXZl cmlmeS1zZWxlY3QtY2hlY2tlciAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciBu aWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikpKSkNCisgICAgYChmbHljaGVjay13YXJuaW5nDQor ICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBj bGFzcykNCisgICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy13YXJuaW5nIDpzdHls ZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy13YXJuaW5nIDp1 bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZQ0KKyAgICBgKGZs eWNoZWNrLWNvbG9yLW1vZGUtbGluZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZseWNo ZWNrLWZyaW5nZS1lcnJvcikpKQ0KKyAgICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1pbmZv LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdlLWluZm8pKSkNCisgICAgYChm bHljaGVjay1jb2xvci1tb2RlLWxpbmUtcnVubmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0 YWxpYyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChmbHljaGVjay1jb2xvci1t b2RlLWxpbmUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS13YXJu aW5nKSkpDQorOzs7OzsgZmx5Y2hlY2staW5kaWNhdG9yDQorICAgIGAoZmx5Y2hlY2staW5kaWNh dG9yLWRpc2FibGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKGZseWNoZWNrLWluZGljYXRvci1lcnJvciAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkp DQorICAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChmbHljaGVjay1p bmRpY2F0b3ItcnVubmluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGZseWNoZWNrLWluZGljYXRvci1zdWNj ZXNzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGdyZWVu LWFjdGl2ZSkpKQ0KKyAgICBgKGZseWNoZWNrLWluZGljYXRvci13YXJuaW5nICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCis7 Ozs7OyBmbHljaGVjay1wb3NmcmFtZQ0KKyAgICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJhY2tncm91 bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoZmx5Y2hlY2st cG9zZnJhbWUtYm9yZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAg ICBgKGZseWNoZWNrLXBvc2ZyYW1lLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAg ICBgKGZseWNoZWNrLXBvc2ZyYW1lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtd2FybmluZy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGZs eW1ha2UNCisgICAgYChmbHltYWtlLWVycm9yDQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0 cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDp1bmRlcmxpbmUg KDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQorICAgIGAoZmx5bWFrZS1u b3RlDQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2 ZSkpKSBjbGFzcykNCisgICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1ub3RlIDpz dHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1 bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGZseW1ha2Utd2FybmluZw0KKyAgICAgICgoLChhcHBlbmQg Jygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAgICA6 dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctd2FybmluZyA6c3R5bGUgd2F2ZSkpDQorICAgICAg ICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCis7 Ozs7OyBmbHlzcGVsbA0KKyAgICBgKGZseXNwZWxsLWR1cGxpY2F0ZQ0KKyAgICAgICgoLChhcHBl bmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAg ICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctd2FybmluZyA6c3R5bGUgd2F2ZSkpDQorICAg ICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkN CisgICAgYChmbHlzcGVsbC1pbmNvcnJlY3QNCisgICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRz IDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAgOnVuZGVybGluZSAo OmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBmbHlzcGVsbC1j b3JyZWN0DQorICAgIGAoZmx5c3BlbGwtY29ycmVjdC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCis7Ozs7OyBmbHgNCisgICAgYChm bHgtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0 aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt c3VidGxlLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdib2xkKSkpKQ0KKzs7Ozs7IGZyZWV6ZS1pdA0KKyAgICBgKGZyZWV6ZS1p dC1zaG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSkpKQ0KKzs7Ozs7IGZyb2ctbWVudQ0KKyAgICBgKGZyb2ctbWVudS1hY3Rpb24ta2V5 YmluZGluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGZyb2ctbWVudS1hY3Rpb25zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCisgICAgYChmcm9nLW1lbnUtYm9yZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3Rp dmUpKSkNCisgICAgYChmcm9nLW1lbnUtY2FuZGlkYXRlcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoZnJvZy1tZW51LXBvc2ZyYW1lLWJhY2tncm91bmQtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoZnJvZy1tZW51LXByb21w dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7OzsgZm9jdXMNCisgICAg YChmb2N1cy11bmZvY3VzZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0K Kzs7Ozs7IGZvbGQtdGhpcw0KKyAgICBgKGZvbGQtdGhpcy1vdmVybGF5ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KKzs7Ozs7IGZvbnQtbG9jaw0KKyAgICBg KGZvbnQtbG9jay1idWlsdGluLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9s ZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVz LS1zeW50YXgtZXh0cmENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50IG1hZ2VudGEtYWx0LW90aGVyKSkpKQ0KKyAg ICBgKGZvbnQtbG9jay1jb21tZW50LWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZv bnQtbG9jay1jb21tZW50LWZhY2UpKSkNCisgICAgYChmb250LWxvY2stY29tbWVudC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1jb21tZW50DQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQgZmctY29tbWVudC15ZWxs b3cpKSkpDQorICAgIGAoZm9udC1sb2NrLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCBtYWdlbnRhLWFsdCkp KSkNCisgICAgYChmb250LWxvY2stZG9jLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc2xhbnQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1zeW50YXgtZG9jc3RyaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZnLWRvY3N0cmluZyBjeWFuLWFsdC1vdGhlci1mYWludCBncmVlbi1hbHQtZmFpbnQgYmx1 ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQorICAgIGAoZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1leHRyYQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50IHJl ZC1hbHQtb3RoZXIpKSkpDQorICAgIGAoZm9udC1sb2NrLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1leHRyYQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3Ro ZXItZmFpbnQgY3lhbi1hbHQtb3RoZXIpKSkpDQorICAgIGAoZm9udC1sb2NrLW5lZ2F0aW9uLWNo YXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1m b3JlZ3JvdW5kDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB5ZWxsb3cgeWVsbG93LWZhaW50KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1wcmVwcm9jZXNzb3It ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1mb3JlZ3JvdW5kDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXIgcmVk LWFsdC1vdGhlci1mYWludCkpKSkNCisgICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWJh Y2tzbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hh ci1iYWNrc2xhc2gpKSkNCisgICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVj dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25z dHJ1Y3QpKSkNCisgICAgYChmb250LWxvY2stc3RyaW5nLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1zeW50YXgtc3RyaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJsdWUtYWx0IGJsdWUtYWx0LWZhaW50IGdyZWVuIGdyZWVuKSkpKQ0KKyAgICBgKGZv bnQtbG9jay10eXBlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgt ZXh0cmENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90 aGVyIG1hZ2VudGEtYWx0LWZhaW50IG1hZ2VudGEtYWx0KSkpKQ0KKyAgICBgKGZvbnQtbG9jay12 YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmEN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lh bi1mYWludCBibHVlKSkpKQ0KKyAgICBgKGZvbnQtbG9jay13YXJuaW5nLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZm9yZWdyb3VuZA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFjdGl2ZSB5ZWxsb3ctYWx0LWZh aW50KSkpKQ0KKzs7Ozs7IGZvcmdlDQorICAgIGAoZm9yZ2UtcG9zdC1hdXRob3IgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZvcmdlLXBvc3Qt ZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZm9y Z2UtdG9waWMtY2xvc2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChm b3JnZS10b3BpYy1tZXJnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBg KGZvcmdlLXRvcGljLW9wZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KKyAgICBgKGZvcmdlLXRvcGljLXVubWVyZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZm9yZ2UtdG9waWMtdW5y ZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7 OyBmb3VudGFpbi1tb2RlDQorICAgIGAoZm91bnRhaW4tY2hhcmFjdGVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZvdW50YWluLWNvbW1lbnQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAg ICBgKGZvdW50YWluLWRpYWxvZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisg ICAgYChmb3VudGFpbi1tZXRhZGF0YS1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KKyAgICBgKGZvdW50YWluLW1ldGFkYXRhLXZhbHVlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQorICAgIGAoZm91bnRhaW4tbm9uLXByaW50aW5nICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChmb3VudGFpbi1ub3RlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChmb3Vu dGFpbi1wYWdlLWJyZWFrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCisgICAgYChmb3VudGFpbi1wYWdlLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoZm91bnRhaW4tcGFyZW4gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChmb3VudGFpbi1zY2VuZS1oZWFkaW5n ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0K KyAgICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTEpKSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCisgICAgYChmb3VudGFpbi1z ZWN0aW9uLWhlYWRpbmctMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIp KSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMyAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmct NCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChmb3Vu dGFpbi1zZWN0aW9uLWhlYWRpbmctNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTUpKSkNCisgICAgYChmb3VudGFpbi1zeW5vcHNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQpKSkNCisgICAgYChmb3VudGFpbi10cmFucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGdlaXNlcg0KKyAgICBgKGdlaXNlci1mb250LWxv Y2stYXV0b2RvYy1jdXJyZW50LWFyZyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rp b24tbmFtZS1mYWNlKSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWlkZW50aWZp ZXIgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYChn ZWlzZXItZm9udC1sb2NrLWRvYy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3Jl Z3JvdW5kICxmZy1kb2NzdHJpbmcpKSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLWRvYy1saW5r ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2stZXJy b3ItbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAg ICBgKGdlaXNlci1mb250LWxvY2staW1hZ2UtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv biA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBs LWlucHV0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChnZWlzZXItZm9udC1sb2Nr LXJlcGwtb3V0cHV0ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkN CisgICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtcHJvbXB0ICgoLGNsYXNzIDppbmhlcml0IG1p bmlidWZmZXItcHJvbXB0KSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWhlYWRlciAo KCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWxp bmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorOzs7OzsgZ2l0LWNvbW1pdA0KKyAgICBg KGdpdC1jb21taXQtY29tbWVudC1hY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNv bW1lbnQtZmFjZSkpKQ0KKyAgICBgKGdpdC1jb21taXQtY29tbWVudC1icmFuY2gtbG9jYWwgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQorICAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAo Z2l0LWNvbW1pdC1jb21tZW50LWRldGFjaGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNsYW50IDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGdpdC1jb21taXQtY29tbWVu dC1maWxlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtY29tbWVu dA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLXNwZWNpYWwt Y29sZCByZWQtbnVhbmNlZC1mZykpKSkNCisgICAgYChnaXQtY29tbWl0LWNvbW1lbnQtaGVhZGlu ZyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1zbGFudCkNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1j b21tZW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmct ZGltIGZnLXNwZWNpYWwtd2FybSkpKSkNCisgICAgYChnaXQtY29tbWl0LWtleXdvcmQgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChnaXQtY29tbWl0LWtub3duLXBzZXVk by1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAo Z2l0LWNvbW1pdC1ub25lbXB0eS1zZWNvbmQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAoZ2l0LWNvbW1pdC1vdmVybG9uZy1zdW1tYXJ5 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCisgICAgYChn aXQtY29tbWl0LXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisg ICAgYChnaXQtY29tbWl0LXN1bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KKzs7Ozs7IGdpdC1ndXR0ZXINCisgICAgYChnaXQtZ3V0dGVyOmFkZGVkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGdpdC1n dXR0ZXI6ZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkp DQorICAgIGAoZ2l0LWd1dHRlcjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoZ2l0LWd1dHRlcjpzZXBhcmF0b3IgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCisgICAgYChnaXQtZ3V0dGVyOnVu Y2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0K Kzs7Ozs7IGdpdC1ndXR0ZXItZnINCisgICAgYChnaXQtZ3V0dGVyLWZyOmFkZGVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGdpdC1ndXR0ZXIt ZnI6ZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQor ICAgIGAoZ2l0LWd1dHRlci1mcjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UteWVsbG93KSkpDQorOzs7OzsgZ2l0LXtndXR0ZXIsZnJpbmdlfSsNCisgICAgYChn aXQtZ3V0dGVyKy1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3Jl ZW4pKSkNCisgICAgYChnaXQtZ3V0dGVyKy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWZyaW5nZS1yZWQpKSkNCisgICAgYChnaXQtZ3V0dGVyKy1tb2RpZmllZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoZ2l0LWd1dHRl cistc2VwYXJhdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkp DQorICAgIGAoZ2l0LWd1dHRlcistdW5jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQorICAgIGAoZ2l0LWd1dHRlci1mcistYWRkZWQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQorICAgIGAoZ2l0LWd1dHRl ci1mcistZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkp DQorICAgIGAoZ2l0LWd1dHRlci1mcistbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KKzs7Ozs7IGdpdC1sZW5zDQorICAgIGAoZ2l0LWxlbnMt YWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAg YChnaXQtbGVucy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZCkpKQ0KKyAgICBgKGdpdC1sZW5zLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWln aHQgMS4xIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZ2l0LWxlbnMtbW9kaWZpZWQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ2l0LWxl bnMtcmVuYW1lZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorOzs7OzsgZ2l0LXJlYmFzZQ0KKyAgICBgKGdpdC1yZWJhc2UtY29tbWVudC1oYXNoICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtY29tbWVudA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLXNwZWNpYWwtY29sZCByZWQtbnVh bmNlZC1mZykpKSkNCisgICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGVhZGluZyAgKCgsY2xhc3Mg OmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtc2xhbnQpDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctZGltIGZnLXNw ZWNpYWwtd2FybSkpKSkNCisgICAgYChnaXQtcmViYXNlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZ2l0LXJlYmFzZS1oYXNoICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGdpdC10aW1lbWFjaGluZQ0KKyAg ICBgKGdpdC10aW1lbWFjaGluZS1jb21taXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGdpdC10aW1lbWFjaGluZS1taW5pYnVmZmVy LWF1dGhvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisg ICAgYChnaXQtdGltZW1hY2hpbmUtbWluaWJ1ZmZlci1kZXRhaWwtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFsdCkpKQ0KKzs7Ozs7IGdpdC13YWxrdHJlZQ0KKyAgICBgKGdpdC13YWxr dHJlZS1jb21taXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAo Z2l0LXdhbGt0cmVlLXN5bWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisg ICAgYChnaXQtd2Fsa3RyZWUtdHJlZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQorOzs7OzsgZ251cw0KKyAgICBgKGdudXMtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbikpKQ0KKyAgICBgKGdudXMtY2l0ZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KKyAgICBgKGdudXMtY2l0ZS0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCisgICAgYChnbnVzLWNpdGUtMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChnbnVzLWNpdGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KKyAgICBgKGdudXMtY2l0ZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQpKSkNCisgICAgYChnbnVzLWNpdGUtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCisgICAgYChnbnVzLWNpdGUtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFsdCkpKQ0KKyAgICBgKGdudXMtY2l0ZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KKyAgICBgKGdudXMtY2l0ZS03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dC1vdGhlcikpKQ0KKyAgICBgKGdudXMtY2l0ZS04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt YWx0LW90aGVyKSkpDQorICAgIGAoZ251cy1jaXRlLTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdudXMtY2l0ZS1hdHRyaWJ1dGlvbiAoKCxjbGFzcyA6 aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChnbnVzLWVtcGhh c2lzLWJvbGQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMt Ym9sZC1pdGFsaWMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZC1pdGFsaWMpKSkNCisgICAgYChnbnVz LWVtcGhhc2lzLWhpZ2hsaWdodC13b3JkcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUteWVsbG93KSkpDQorICAgIGAoZ251cy1lbXBoYXNpcy1pdGFsaWMgKCgsY2xhc3MgOmlu aGVyaXQgaXRhbGljKSkpDQorICAgIGAoZ251cy1lbXBoYXNpcy11bmRlcmxpbmUtYm9sZCAoKCxj bGFzcyA6aW5oZXJpdCBnbnVzLWVtcGhhc2lzLWJvbGQgOnVuZGVybGluZSB0KSkpDQorICAgIGAo Z251cy1lbXBoYXNpcy11bmRlcmxpbmUtYm9sZC1pdGFsaWMgKCgsY2xhc3MgOmluaGVyaXQgZ251 cy1lbXBoYXNpcy1ib2xkLWl0YWxpYyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChnbnVzLWVtcGhh c2lzLXVuZGVybGluZS1pdGFsaWMgKCgsY2xhc3MgOmluaGVyaXQgZ251cy1lbXBoYXNpcy1pdGFs aWMgOnVuZGVybGluZSB0KSkpDQorICAgIGAoZ251cy1ncm91cC1tYWlsLTEgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChnbnVzLWdyb3Vw LW1haWwtMS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAg YChnbnVzLWdyb3VwLW1haWwtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQorICAgIGAoZ251cy1ncm91cC1tYWlsLTItZW1wdHkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChnbnVzLWdyb3VwLW1haWwtMyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdudXMt Z3JvdXAtbWFpbC0zLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbWFpbC1sb3cgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1tYWls LWxvdy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkLWZnKSkpDQor ICAgIGAoZ251cy1ncm91cC1uZXdzLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtMS1lbXB0eSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtMiAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTIt ZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChnbnVzLWdyb3VwLW5l d3MtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1m ZykpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy0zLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy00ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdu dXMtZ3JvdXAtbmV3cy00LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQt ZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtNSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy01LWVt cHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMt Z3JvdXAtbmV3cy02ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy02LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtbG93ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW5l d3MtbG93LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2VkLWZnKSkpDQor ICAgIGAoZ251cy1oZWFkZXItY29udGVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K KyAgICBgKGdudXMtaGVhZGVyLWZyb20gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIgOnVuZGVybGluZSBuaWwpKSkNCisgICAgYChnbnVzLWhlYWRlci1u YW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGdudXMtaGVhZGVyLW5l d3Nncm91cHMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN CisgICAgYChnbnVzLWhlYWRlci1zdWJqZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZ251cy1zZXJ2ZXItYWdlbnQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGdudXMtc2Vy dmVyLWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAoZ251cy1zZXJ2ZXItY2xvdWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChnbnVzLXNlcnZlci1jbG91ZC1ob3N0ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorICAgIGAoZ251cy1zZXJ2ZXIt ZGVuaWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBg KGdudXMtc2VydmVyLW9mZmxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQorICAgIGAoZ251cy1zZXJ2ZXItb3BlbmVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZ251cy1zaWduYXR1cmUgKCgsY2xhc3Mg OmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChn bnVzLXNwbGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZ251cy1z dW1tYXJ5LWNhbmNlbGxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkp KQ0KKyAgICBgKGdudXMtc3VtbWFyeS1oaWdoLWFuY2llbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtcmVhZCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisg ICAgYChnbnVzLXN1bW1hcnktaGlnaC10aWNrZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1oaWdoLXVuZG93 bmxvYWRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisg ICAgYChnbnVzLXN1bW1hcnktaGlnaC11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1sb3ctYW5jaWVudCAoKCxj bGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGdudXMt c3VtbWFyeS1sb3ctcmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1sb3ctdGlja2VkICgoLGNsYXNzIDppbmhlcml0 IGl0YWxpYyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KKyAgICBgKGdudXMtc3VtbWFy eS1sb3ctdW5kb3dubG9hZGVkICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAs eWVsbG93LXJlZmluZS1mZykpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1sb3ctdW5yZWFkICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBg KGdudXMtc3VtbWFyeS1ub3JtYWwtYW5jaWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jYWxtKSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC1yZWFkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXRpY2tlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdudXMtc3VtbWFy eS1ub3JtYWwtdW5kb3dubG9hZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisg ICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXVucmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKzs7Ozs7IGdvbGRlbi1yYXRpby1zY3JvbGwtc2Ny ZWVuDQorICAgIGAoZ29sZGVuLXJhdGlvLXNjcm9sbC1oaWdobGlnaHQtbGluZS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K Kzs7Ozs7IGhlbG0NCisgICAgYChoZWxtLU0teC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChoZWxtLWFjdGlvbiAoKCxj bGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLWFkZHJlc3Nib29rICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLWRp cmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAg IGAoaGVsbS1ib29rbWFyay1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAoaGVsbS1ib29rbWFyay1maWxlLW5vdC1mb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLWdudXMg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLWlu Zm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAoaGVsbS1ib29rbWFy ay1tYW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChoZWxtLWJv b2ttYXJrLXczbSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChoZWxt LWJ1ZmZlci1hcmNoaXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4p KSkNCisgICAgYChoZWxtLWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGhlbG0tYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoZWxtLWJ1ZmZlci1tb2RpZmllZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKGhlbG0tYnVmZmVyLW5vdC1zYXZl ZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGhlbG0tYnVmZmVyLXBy b2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChoZWxtLWJ1ZmZl ci1zYXZlZC1vdXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChoZWxtLWJ1ZmZlci1zaXplICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChoZWxtLWNhbmRpZGF0ZS1udW1iZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1jYW5kaWRhdGUtbnVtYmVy LXN1c3BlbmRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBg KGhlbG0tY29taW50LXByb21wdHMtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tY29taW50LXByb21wdHMtcHJvbXB0aWR4ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tZGVsZXRlLWFzeW5j LW1lc3NhZ2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCisgICAgYChoZWxtLWVvYi1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0cy1idWZm ZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoaGVs bS1lc2hlbGwtcHJvbXB0cy1wcm9tcHRpZHggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0 aXZlKSkpDQorICAgIGAoaGVsbS1ldGFncy1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1k aW0gOnVuZGVybGluZSB0KSkpDQorICAgIGAoaGVsbS1mZi1iYWNrdXAtZmlsZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoaGVsbS1mZi1kZW5pZWQgKCgsY2xhc3MgLEAo bW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtcmVkDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVkKSkpKQ0KKyAgICBgKGhlbG0tZmYtZGlyZWN0b3J5ICgoLGNs YXNzIDppbmhlcml0IGhlbG0tYnVmZmVyLWRpcmVjdG9yeSkpKQ0KKyAgICBgKGhlbG0tZmYtZGly cyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K KyAgICBgKGhlbG0tZmYtZG90dGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGhlbG0tZmYt ZG90dGVkLXN5bWxpbmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IChidXR0b24gaGVsbS1m Zi1kb3R0ZWQtZGlyZWN0b3J5KSkpKQ0KKyAgICBgKGhlbG0tZmYtZXhlY3V0YWJsZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChoZWxtLWZmLWZpbGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoZWxtLWZmLWZpbGUtZXh0ZW5zaW9u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChoZWxtLWZm LWludmFsaWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KSkp KQ0KKyAgICBgKGhlbG0tZmYtcGlwZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNv bXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1y ZWZpbmUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtc3VidGxlLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhKSkpKQ0KKyAgICBgKGhlbG0tZmYtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93DQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgeWVsbG93LWFsdC1vdGhlcikpKSkNCisgICAgYChoZWxtLWZmLXNvY2tl dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tZmYt c3VpZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtcmVkDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0KSkpKQ0KKyAgICBgKGhlbG0tZmYt c3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCisgICAgYChoZWxtLWZmLXRydWVu YW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0t Z3JlcC1jbWQtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K KyAgICBgKGhlbG0tZ3JlcC1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGhlbG0tZ3JlcC1maW5pc2ggKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tZ3JlcC1saW5lbm8gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGhlbG0tZ3JlcC1tYXRj aCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYCho ZWxtLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChoZWxtLWhlYWRlci1saW5lLWxlZnQtbWFyZ2luICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQorICAgIGAoaGVsbS1o aXN0b3J5LWRlbGV0ZWQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9u cw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1z dWJ0bGUtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLWludGVuc2UtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J2JvbGQpKSkpDQorICAgIGAoaGVsbS1oaXN0b3J5LXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tbGlzcC1jb21wbGV0aW9uLWluZm8gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGhlbG0tbGlzcC1z aG93LWNvbXBsZXRpb24gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9u cw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXN1YnRsZS15ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdw0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaGVs bS1sb2NhdGUtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisg ICAgYChoZWxtLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlv bnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lh bg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFu DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFu DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChoZWxtLW1hdGNoLWl0ZW0gKCgsY2xhc3MgLEAo bW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIpKSkpDQorICAgIGAoaGVs bS1taW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtaW5pYnVmZmVyLXByb21wdCkp KQ0KKyAgICBgKGhlbG0tbW9jY3VyLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNv bG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVy IGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KKyAgICBgKGhlbG0tbW9kZS1wcmVmaXggKCgsY2xh c3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaGVs bS1ub24tZmlsZS1idWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBg KGhlbG0tcHJlZmFyZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBg KGhlbG0tcmVzdW1lLW5lZWQtdXBkYXRlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEt Y29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRh DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQt b3RoZXIpKSkpDQorICAgIGAoaGVsbS1zZWxlY3Rpb24gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBuaWwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkN CisgICAgYChoZWxtLXNlbGVjdGlvbi1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGhlbG0tc2VwYXJhdG9yICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChoZWxtLXRpbWUtem9uZS1jdXJyZW50ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGhlbG0tdGltZS16b25lLWhvbWUg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChoZWxtLXNvdXJjZS1oZWFk ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRo ZW1lcy1zY2FsZS00KSkpKQ0KKyAgICBgKGhlbG0tdG9wLWNvbHVtbnMgKCgsY2xhc3MgOmluaGVy aXQgaGVsbS1oZWFkZXIpKSkNCisgICAgYChoZWxtLXVjcy1jaGFyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoaGVsbS12aXNpYmxlLW1hcmsgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCis7Ozs7OyBoZWxtLWxzLWdp dA0KKyAgICBgKGhlbG0tbHMtZ2l0LWFkZGVkLWNvcGllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAoaGVsbS1scy1naXQtYWRkZWQtbW9kaWZpZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCisgICAgYChoZWxt LWxzLWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1pbnRlbnNlKSkpDQorICAgIGAoaGVsbS1scy1naXQtZGVsZXRlZC1hbmQtc3RhZ2VkLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkLWZnKSkpDQorICAgIGAoaGVsbS1s cy1naXQtZGVsZXRlZC1ub3Qtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkp KQ0KKyAgICBgKGhlbG0tbHMtZ2l0LW1vZGlmaWVkLWFuZC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisgICAgYChoZWxtLWxzLWdpdC1tb2Rp ZmllZC1ub3Qtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAg ICBgKGhlbG0tbHMtZ2l0LXJlbmFtZWQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KKyAgICBgKGhlbG0tbHMtZ2l0LXVudHJhY2tlZC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCis7Ozs7OyBoZWxtLXN3aXRjaC1zaGVs bA0KKyAgICBgKGhlbG0tc3dpdGNoLXNoZWxsLW5ldy1zaGVsbC1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtcmVmaW5lLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3Ro ZXINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Ym9sZCkpKSkNCis7Ozs7OyBoZWxtLXhyZWYNCisgICAgYChoZWxtLXhyZWYtZmlsZS1uYW1lICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAg ICBgKGhlbG0teHJlZi1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KKzs7Ozs7IGhlbHBmdWwNCisgICAgYChoZWxwZnVsLWhlYWRpbmcgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQorOzs7OzsgaGlnaGxpZ2h0IHJlZ2lv biBvciBhZC1ob2MgcmVnZXhwDQorICAgIGAoaGktYmxhY2stYiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKGhpLWJsdWUgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkN CisgICAgYChoaS1ibHVlLWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1i bHVlKSkpDQorICAgIGAoaGktZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZ3JlZW4gOnVuZGVybGluZSB0KSkpDQorICAgIGAoaGktZ3JlZW4tYiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAoaGktcGluayAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhIDp1bmRlcmxp bmUgdCkpKQ0KKyAgICBgKGhpLXJlZC1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtcmVkKSkpDQorICAgIGAoaGkteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h bHQgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChoaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChoaWdo bGlnaHQtY2hhbmdlcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K KyAgICBgKGhpZ2hsaWdodC1jaGFuZ2VzLWRlbGV0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChobC1saW5lICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCis7Ozs7OyBoaWdobGlnaHQtYmxvY2tzDQorICAg IGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVw dGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo aGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNw ZWNpYWwtY2FsbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9j a3MtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLXdhcm0gOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTYtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1taWxkIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGln aGxpZ2h0LWJsb2Nrcy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgt OS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1kZWZpbmVkDQorICAgIGAoaGlnaGxpZ2h0LWRl ZmluZWQtYnVpbHRpbi1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC1mYWNlLW5hbWUtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZ1bmN0 aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGhp Z2hsaWdodC1kZWZpbmVkLW1hY3JvLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC1zcGVjaWFsLWZvcm0tbmFtZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhp Z2hsaWdodC1kZWZpbmVkLXZhcmlhYmxlLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1lc2NhcGUtc2VxdWVuY2VzIChgaGVzLW1vZGUnKQ0K KyAgICBgKGhlcy1lc2NhcGUtYmFja3NsYXNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQorICAgIGAoaGVzLWVzY2Fw ZS1zZXF1ZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVz Y2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1pbmRlbnRhdGlvbg0KKyAg ICBgKGhpZ2hsaWdodC1pbmRlbnRhdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhsLWxpbmUpKSkNCisgICAgYChoaWdobGlnaHQtaW5kZW50YXRpb24tY3VycmVudC1jb2x1 bW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQorOzs7OzsgaGlnaGxp Z2h0LW51bWJlcnMNCisgICAgYChoaWdobGlnaHQtbnVtYmVycy1udW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorOzs7OzsgaGlnaGxpZ2h0LXN5bWJvbA0KKyAg ICBgKGhpZ2hsaWdodC1zeW1ib2wtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLW1pbGQpKSkNCis7Ozs7OyBoaWdobGlnaHQtdGhpbmcNCisgICAgYChoaWdobGlnaHQt dGhpbmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K Kzs7Ozs7IGhsLWRlZmluZWQNCisgICAgYChoZGVmZC1mdW5jdGlvbnMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUpKSkNCisgICAgYChoZGVmZC11bmRlZmluZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCisgICAgYChoZGVmZC12YXJpYWJsZXMgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQorOzs7OzsgaGwtZmlsbC1jb2x1bW4NCisgICAgYChobC1maWxsLWNv bHVtbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZn LWFjdGl2ZSkpKQ0KKzs7Ozs7IGhsLXRvZG8NCisgICAgYChobC10b2RvICgoLGNsYXNzIDppbmhl cml0IChib2xkIG1vZHVzLXRoZW1lLXNsYW50KSA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikp KQ0KKzs7Ozs7IGh5ZHJhDQorICAgIGAoaHlkcmEtZmFjZS1hbWFyYW50aCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChoeWRyYS1mYWNlLWJsdWUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYCho eWRyYS1mYWNlLXBpbmsgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCisgICAgYChoeWRyYS1mYWNlLXJlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChoeWRyYS1mYWNlLXRlYWwgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKzs7Ozs7IGh5cGVybGlzdA0KKyAgICBgKGh5 cGVybGlzdC1jb25kaXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAo aHlwZXJsaXN0LWhhc2h0YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBg KGh5cGVybGlzdC1vcGVyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisg ICAgYChoeXBlcmxpc3QtcGFyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQorICAgIGAoaHlwZXJsaXN0LXF1b3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dCkpKQ0KKyAgICBgKGh5cGVybGlzdC1yZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQorICAgIGAoaHlwZXJsaXN0LXN0YXJzICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCisgICAgYChoeXBlcmxpc3QtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCisgICAgYChoeXBlcmxpc3QtdG9wbGV2ZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGljb21wbGV0ZQ0KKyAgICBgKGljb21wbGV0 ZS1maXJzdC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBiZy1hbHQN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWN0aXZlIGZnLW1h aW4pKSkpDQorOzs7OzsgaWNvbXBsZXRlLXZlcnRpY2FsDQorICAgIGAoaWNvbXBsZXRlLXZlcnRp Y2FsLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorOzs7OzsgaWRv LW1vZGUNCisgICAgYChpZG8tZmlyc3QtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNv bXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgYmct YWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1tYWlu KSkpKQ0KKyAgICBgKGlkby1pbmNvbXBsZXRlLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBlcnJv cikpKQ0KKyAgICBgKGlkby1pbmRpY2F0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLXllbGxvdykpKQ0KKyAgICBgKGlkby1vbmx5LW1hdGNoICgoLGNsYXNzIDppbmhlcml0 IGJvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0 YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl ZW4gZ3JlZW4tbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdy ZWVuLWludGVuc2UtYmcgZmctbWFpbikpKSkNCisgICAgYChpZG8tc3ViZGlyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoaWRvLXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKzs7Ozs7IGllZGl0DQorICAgIGAoaWVkaXQtb2NjdXJy ZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBg KGllZGl0LXJlYWQtb25seS1vY2N1cnJlbmNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UteWVsbG93KSkpDQorOzs7OzsgaWZsaXBiDQorICAgIGAoaWZsaXBiLWN1cnJlbnQt YnVmZmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQp KSkNCisgICAgYChpZmxpcGItb3RoZXItYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KKzs7Ozs7IGltZW51LWxpc3QNCisgICAgYChpbWVudS1saXN0LWVudHJ5LWZh Y2UtMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50 cnktZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoaW1lbnUtbGlz dC1lbnRyeS1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQor ICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQorICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTAgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0 KSkpDQorICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTEgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChp bWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQorICAgIGAoaW1lbnUt bGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBpbmRpdW0NCisgICAg YChpbmRpdW0tYnJlYWtwb2ludC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQorICAgIGAoaW5kaXVtLWZyYW1lLXVybC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv biA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoaW5kaXVtLWtleXdvcmQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChpbmRpdW0tbGl0 YWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChpbmRpdW0tcmVwbC1lcnJvci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGluZGl1bS1yZXBs LXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGluZGl1bS1yZXBsLXN0ZG91dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorOzs7OzsgaW5mbw0KKyAgICBgKEluZm8tcXVvdGVkICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkgOyB0aGUgY2FwaXRhbGl6YXRpb24gaXMgY2Fub25pY2FsDQorICAgIGAo aW5mby1oZWFkZXItbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCisgICAgYChpbmZvLWhlYWRlci14cmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFjdGl2ZSkpKQ0KKyAgICBgKGluZm8taW5kZXgtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbWF0 Y2gpKSkNCisgICAgYChpbmZvLW1lbnUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKGluZm8tbWVudS1zdGFyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCisgICAgYChpbmZvLW5vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0K KyAgICBgKGluZm8tdGl0bGUtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTEpKSkNCisgICAgYChpbmZvLXRpdGxlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aGVhZGluZy0yKSkpDQorICAgIGAoaW5mby10aXRsZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKGluZm8tdGl0bGUtNCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCis7Ozs7OyBpbmZvLWNvbG9ycw0KKyAgICBgKGlu Zm8tY29sb3JzLWxpc3AtY29kZS1ibG9jayAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCkp KQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWNvbW1hbmQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1jb25zdGFudCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChpbmZvLWNvbG9ycy1y ZWYtaXRlbS1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBg KGluZm8tY29sb3JzLXJlZi1pdGVtLW1hY3JvICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoaW5mby1jb2xv cnMtcmVmLWl0ZW0tb3RoZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChp bmZvLWNvbG9ycy1yZWYtaXRlbS1zcGVjaWFsLWZvcm0gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChpbmZv LWNvbG9ycy1yZWYtaXRlbS1zeW50YXgtY2xhc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXVzZXItb3B0 aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoaW5mby1jb2xvcnMtcmVm LWl0ZW0tdmFyaWFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBpbnRl cmFjdGlvbi1sb2cNCisgICAgYChpbG9nLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGlsb2ctY2hhbmdlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoaWxvZy1lY2hvLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChpbG9nLWxvYWQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChpbG9nLW1lc3NhZ2UtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoaWxvZy1ub24tY2hhbmdl LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCis7Ozs7OyBpb2NjdXINCisgICAg YChpb2NjdXItY3Vyc29yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo aW9jY3VyLWludmFsaWQtcmVnZXhwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAg YChpb2NjdXItbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNhbG0pKSkNCisgICAgYChpb2NjdXItbWF0Y2gtb3ZlcmxheS1mYWNlICgoLGNsYXNzICxAKGFu ZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1jb2xkKSkpDQorICAgIGAoaW9jY3VyLW51bS1saW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGlvY2N1ci1vdmVybGF5LWZhY2UgKCgsY2xh c3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtYmx1ZSkpKQ0KKyAgICBgKGlvY2N1ci1yZWdleHAtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAo bW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhIGJvbGQpKSkpDQorICAgIGAoaW9jY3VyLXRpdGxl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMt dGhlbWVzLXNjYWxlLTQpKSkpDQorOzs7OzsgaXNlYXJjaCwgb2NjdXIsIGFuZCB0aGUgbGlrZQ0K KyAgICBgKGlzZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3Jl ZW4gYm9sZCkpKSkNCisgICAgYChpc2VhcmNoLWZhaWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLXJlZCkpKQ0KKyAgICBgKGlzZWFyY2gtZ3JvdXAtMSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChpc2VhcmNoLWdyb3VwLTIg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAo bGF6eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4p KSkNCisgICAgYChtYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNh bG0pKSkNCisgICAgYChxdWVyeS1yZXBsYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVt ZS1pbnRlbnNlLXllbGxvdyBib2xkKSkpKQ0KKzs7Ozs7IGl2eQ0KKyAgICBgKGl2eS1hY3Rpb24g KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGl2 eS1jb21wbGV0aW9ucy1hbm5vdGF0aW9ucyAoKCxjbGFzcyA6aW5oZXJpdCBjb21wbGV0aW9ucy1h bm5vdGF0aW9ucykpKQ0KKyAgICBgKGl2eS1jb25maXJtLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCisgICAgYChpdnktY3VycmVudC1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtY3lhbg0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBuaWwNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChpdnktY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQorICAgIGAoaXZ5LWdyZXAtaW5m byAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChpdnktZ3JlcC1saW5l LW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAo aXZ5LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAg IGAoaXZ5LW1hdGNoLXJlcXVpcmVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCisg ICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJh bA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtbnVhbmNlZC1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZnLWFsdCkpKSkNCisgICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTIg KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWdy ZWVuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1yZWZpbmUtZ3JlZW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4NCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGl2 eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJh LWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQt Ymx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVl LWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnYm9sZCkpKSkNCisgICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTQgKCgsY2xhc3Mg LEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXJlZmluZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXINCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaXZ5 LW1pbmlidWZmZXItbWF0Y2gtaGlnaGxpZ2h0ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0 cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLW51YW5jZWQtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChpdnktbW9kaWZpZWQtYnVmZmVy ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCisgICAgYChpdnktbW9kaWZpZWQtb3V0c2lkZS1idWZmZXIgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChpdnkt b3JnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGl2eS1w cm9tcHQtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgaXZ5LWN1cnJlbnQtbWF0Y2gpKSkNCisgICAg YChpdnktcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoaXZ5 LXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoaXZ5LXN1 YmRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChpdnkt dmlydHVhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YChpdnkteWFua2VkLXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0 aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3Vi dGxlLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXJlZmluZS1ibHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1udWFuY2VkLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1 ZS1hbHQpKSkpDQorOzs7OzsgaXZ5LXBvc2ZyYW1lDQorICAgIGAoaXZ5LXBvc2ZyYW1lICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChp dnktcG9zZnJhbWUtYm9yZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRl ci1pbm5lcikpKQ0KKyAgICBgKGl2eS1wb3NmcmFtZS1jdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCis7Ozs7OyBqaXJhIChvcmctamly YSkNCisgICAgYChqaXJhbGliLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQorICAgIGAoamlyYWxpYi1jb21tZW50LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCisgICAgYChqaXJhbGliLWlzc3VlLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChqaXJhbGliLWlzc3VlLWlu Zm8taGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXNwZWNpYWwtd2Fy bSBib2xkKSkpKQ0KKyAgICBgKGppcmFsaWItaXNzdWUtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQpKSkNCisgICAgYChqaXJhbGliLWxpbmstZmlsdGVyLWZhY2UgKCgsY2xhc3Mg OnVuZGVybGluZSB0KSkpDQorICAgIGAoamlyYWxpYi1saW5rLWlzc3VlLWZhY2UgKCgsY2xhc3Mg OnVuZGVybGluZSB0KSkpDQorICAgIGAoamlyYWxpYi1saW5rLXByb2plY3QtZmFjZSAoKCxjbGFz cyA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBqb3VybmFsY3RsLW1vZGUNCisgICAgYChqb3VybmFs Y3RsLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQorICAgIGAoam91cm5hbGN0bC1maW5pc2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoam91cm5hbGN0bC1ob3N0LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChqb3VybmFsY3RsLXByb2Nlc3MtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChqb3VybmFsY3Rs LXN0YXJ0aW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoam91 cm5hbGN0bC10aW1lc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAoam91cm5hbGN0bC13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsganMyLW1vZGUNCisgICAgYChqczIt ZXJyb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGpzMi1leHRlcm5hbC12 YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChq czItZnVuY3Rpb24tY2FsbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBg KGpzMi1mdW5jdGlvbi1wYXJhbSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBg KGpzMi1pbnN0YW5jZS1tZW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAoanMyLWpzZG9jLWh0bWwtdGFnLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGpzMi1qc2RvYy1odG1sLXRhZy1uYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoanMyLWpzZG9jLXRhZyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoanMyLWpzZG9jLXR5cGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGpzMi1qc2RvYy12 YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoanMy LW9iamVjdC1wcm9wZXJ0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KGpzMi1vYmplY3QtcHJvcGVydHktYWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoanMyLXByaXZhdGUtZnVuY3Rpb24tY2FsbCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAoanMyLXByaXZhdGUtbWVtYmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChqczItd2FybmluZyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBqdWxp YQ0KKyAgICBgKGp1bGlhLW1hY3JvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGp1bGlhLXF1b3RlZC1zeW1ib2wt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBqdXB5 dGVyDQorICAgIGAoanVweXRlci1ldmFsLW92ZXJsYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGp1cHl0ZXItcmVwbC1pbnB1dC1wcm9tcHQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoanVweXRlci1yZXBs LW91dHB1dC1wcm9tcHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQorICAgIGAoanVweXRlci1yZXBsLXRyYWNlYmFjayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKzs7Ozs7IGthb2NoYS1ydW5uZXINCisgICAgYChrYW9jaGEt cnVubmVyLWVycm9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGth b2NoYS1ydW5uZXItc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K KyAgICBgKGthb2NoYS1ydW5uZXItd2FybmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCis7Ozs7OyBrZXljYXN0DQorICAgIGAoa2V5Y2FzdC1jb21tYW5kICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAoa2V5Y2Fz dC1rZXkgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1tb2RlLWxpbmUtYXR0cnMNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIGJsdWUtYWN0aXZlDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmctbWFpbiBibHVlLWFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJsdWUtYWN0aXZlIGJsdWUtaW50ZW5zZQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdhbHQtc3R5bGUgLTMpKSkpDQorOzs7OzsgbGluZSBudW1iZXJzIChkaXNw bGF5LWxpbmUtbnVtYmVycy1tb2RlIGFuZCBnbG9iYWwgdmFyaWFudCkNCisgICAgYChsaW5lLW51 bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGxpbmUtbnVtYmVyLWN1cnJlbnQtbGluZSAoKCxjbGFz cyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChsaW5lLW51bWJlci1tYWpvci10aWNrICgoLGNsYXNzIDppbmhlcml0 IChib2xkIGRlZmF1bHQpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1mZykpKQ0KKyAgICBgKGxp bmUtbnVtYmVyLW1pbm9yLXRpY2sgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZGVmYXVsdCkNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQorOzs7OzsgbHNwLW1vZGUNCisgICAgYChsc3AtZmFjZS1oaWdobGln aHQtcmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSA6dW5kZXJs aW5lIHQpKSkNCisgICAgYChsc3AtZmFjZS1oaWdobGlnaHQtdGV4dHVhbCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGxzcC1mYWNlLWhpZ2hsaWdo dC13cml0ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgYm9sZCkp KSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1jb25zdGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1kZXByZWNhdGVkDQorICAg ICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFz cykNCisgICAgICAgIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUp KQ0KKyAgICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQor ICAgIGAobHNwLWZhY2Utc2VtaGwtZW51bW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1maWVsZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1maWVsZC1zdGF0aWMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGN5YW4tYWx0 KSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwtZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1tZXRob2QgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1uYW1lc3BhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkN CisgICAgYChsc3AtZmFjZS1zZW1obC1wcmVwcm9jZXNzb3IgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1zdGF0aWMtbWV0aG9kICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC10eXBlLWVudW0gKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1w cmltaXRpdmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS10ZW1wbGF0ZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCisgICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXR5cGVkZWYgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobHNw LWZhY2Utc2VtaGwtdmFyaWFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAg YChsc3AtZmFjZS1zZW1obC12YXJpYWJsZS1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlLXBhcmFtZXRlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChsc3AtbGVucy1mYWNlICgoLGNs YXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChsc3AtbGVucy1t b3VzZS1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl ciA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChsc3AtdWktZG9jLWJhY2tncm91bmQgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGxzcC11aS1kb2MtaGVhZGVyICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KKyAgICBg KGxzcC11aS1kb2MtdXJsICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGxzcC11 aS1wZWVrLWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN CisgICAgYChsc3AtdWktcGVlay1mb290ZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRl ciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQorICAgIGAobHNwLXVpLXBlZWstaGVhZGVyICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0K KyAgICBgKGxzcC11aS1wZWVrLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGxzcC11aS1wZWVrLWxpbmUtbnVtYmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChsc3AtdWktcGVlay1saXN0ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChsc3AtdWktcGVlay1wZWVrICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYChsc3AtdWktcGVlay1zZWxlY3Rpb24gKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCisgICAgYChsc3AtdWkt c2lkZWxpbmUtY29kZS1hY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAg ICBgKGxzcC11aS1zaWRlbGluZS1jdXJyZW50LXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKGxzcC11aS1zaWRlbGluZS1zeW1ib2wgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6aGVpZ2h0IDAuOTkgOmJveCAoOmxpbmUtd2lkdGggLTEgOnN0eWxlIG5pbCkg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGxzcC11aS1zaWRlbGluZS1zeW1ib2wtaW5m byAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmhlaWdodCAwLjk5KSkpDQorOzs7OzsgbWFjcm9z dGVwDQorICAgIGAobWFjcm9zdGVwLWNvbXBpbGVyLW1hY3JvLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgaXRhbGljKSkpDQorICAgIGAobWFjcm9zdGVwLWV4cGFuc2lvbi1oaWdobGlnaHQtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnKSkpDQorICAgIGAobWFjcm9zdGVw LWdlbnN5bS0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUgOmJveCB0 KSkpDQorICAgIGAobWFjcm9zdGVwLWdlbnN5bS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuIDpib3ggdCkpKQ0KKyAgICBgKG1hY3Jvc3RlcC1nZW5zeW0tMyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOmJveCB0KSkpDQorICAgIGAo bWFjcm9zdGVwLWdlbnN5bS00ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZCA6Ym94IHQpKSkNCisgICAgYChtYWNyb3N0ZXAtZ2Vuc3ltLTUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6Ym94IHQpKSkNCisgICAgYChtYWNyb3N0ZXAtbWFj cm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGdyZWVuLWFsdCkp KQ0KKzs7Ozs7IG1hZ2l0DQorICAgIGAobWFnaXQtYmlzZWN0LWJhZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hZ2l0LWJpc2VjdC1nb29kICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChtYWdpdC1iaXNlY3Qtc2tp cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hZ2l0 LWJsYW1lLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChtYWdpdC1i bGFtZS1kaW1tZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hZ2l0 LWJsYW1lLWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAg ICBgKG1hZ2l0LWJsYW1lLWhlYWRpbmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0K KyAgICBgKG1hZ2l0LWJsYW1lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1udWFuY2VkLWN5YW4pKSkNCisgICAgYChtYWdpdC1ibGFtZS1tYXJnaW4gKCgsY2xhc3MgOmlu aGVyaXQgbWFnaXQtYmxhbWUtaGlnaGxpZ2h0KSkpDQorICAgIGAobWFnaXQtYmxhbWUtbmFtZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChtYWdpdC1i bGFtZS1zdW1tYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKG1hZ2l0LWJyYW5jaC1jdXJyZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlciA6Ym94IHQpKSkNCisgICAgYChtYWdpdC1icmFuY2gtbG9jYWwgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAobWFnaXQtYnJhbmNoLXJlbW90ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChtYWdpdC1icmFuY2gtcmVtb3RlLWhl YWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDpib3ggdCkpKQ0KKyAg ICBgKG1hZ2l0LWJyYW5jaC11cHN0cmVhbSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMpKSkNCisg ICAgYChtYWdpdC1jaGVycnktZXF1aXZhbGVudCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFp biA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAobWFnaXQtY2hlcnJ5LXVu bWF0Y2hlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsY3lhbi1p bnRlbnNlKSkpDQorICAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBv ZiBpbmhlcml0aW5nIGZyb20gdGhlDQorICAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcywg dGhvdWdoIG9ubHkgZm9yIHRoZSBzdGFuZGFyZCBhY3Rpb25zLA0KKyAgICA7OyBub3QgdGhlIGhp Z2hsaWdodGVkIG9uZXMuICBUaGlzIGlzIGJlY2F1c2UgTWFnaXQncyBpbnRlcmFjdGlvbg0KKyAg ICA7OyBtb2RlbCByZWxpZXMgb24gaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IGRpZmYgaHVuay4N CisgICAgYChtYWdpdC1kaWZmLWFkZGVkICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiBncmVlbg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVk DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGZn LWRpZmYtYWRkZWQpKSkpDQorICAgIGAobWFnaXQtZGlmZi1hZGRlZC1oaWdobGlnaHQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCkpKQ0KKyAgICBgKG1hZ2l0 LWRpZmYtYmFzZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiB5ZWxsb3cNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5n ZWQpKSkpDQorICAgIGAobWFnaXQtZGlmZi1iYXNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQpKSkNCisgICAgYChtYWdpdC1kaWZmLWNv bnRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKG1hZ2l0 LWRpZmYtY29udGV4dC1oaWdobGlnaHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmct ZGltDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1p bmFjdGl2ZSBmZy1pbmFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctZGltIGZnLWFsdCkpKSkNCisgICAgYChtYWdpdC1kaWZmLWZpbGUtaGVh ZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCBib2xkKSkpKQ0KKyAgICBgKG1hZ2l0LWRp ZmYtZmlsZS1oZWFkaW5nLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtY3lhbikpKQ0KKyAgICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRl cm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KKyAgICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFj ZXMuDQorICAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6YmFja2dyb3VuZCAsYmctYWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAobWFnaXQtZGlmZi1o dW5rLWhlYWRpbmctaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQg LGJnLWRpZmYtaGVhZGluZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctZGlmZi1oZWFkaW5nKSkpDQorICAgIGAobWFnaXQt ZGlmZi1odW5rLWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1ibHVlKSkpDQorICAgIGAobWFnaXQtZGlmZi1odW5rLXJlZ2lvbiAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQorICAgIGAobWFnaXQtZGlmZi1saW5lcy1ib3VuZGFyeSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1hZ2l0LWRpZmYtbGluZXMtaGVhZGlu ZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBg KG1hZ2l0LWRpZmYtcmVtb3ZlZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiByZWQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVtb3Zl ZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtbnVhbmNlZC1iZyBm Zy1kaWZmLXJlbW92ZWQpKSkpDQorICAgIGAobWFnaXQtZGlmZi1yZW1vdmVkLWhpZ2hsaWdodCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92ZWQpKSkNCisgICAg YChtYWdpdC1kaWZmc3RhdC1hZGRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisg ICAgYChtYWdpdC1kaWZmc3RhdC1yZW1vdmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN CisgICAgYChtYWdpdC1kaW1tZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkp KQ0KKyAgICBgKG1hZ2l0LWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChtYWdpdC1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCisgICAgYChtYWdpdC1oZWFkICgoLGNsYXNzIDppbmhlcml0IG1hZ2l0LWJyYW5jaC1sb2Nh bCkpKQ0KKyAgICBgKG1hZ2l0LWhlYWRlci1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAobWFnaXQtaGVhZGVyLWxpbmUta2V5 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAg IGAobWFnaXQtaGVhZGVyLWxpbmUtbG9nLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobWFnaXQta2V5d29yZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKG1hZ2l0LWtleXdvcmQtc3F1YXNoICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYCht YWdpdC1sb2ctYXV0aG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFn aXQtbG9nLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hZ2l0 LWxvZy1ncmFwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobWFnaXQt bW9kZS1saW5lLXByb2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hY3RpdmUpKSkNCisgICAgYChtYWdpdC1tb2RlLWxpbmUtcHJvY2Vzcy1lcnJvciAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAobWFnaXQt cHJvY2Vzcy1uZyAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKG1hZ2l0LXByb2Nl c3Mtb2sgKCgsY2xhc3MgOmluaGVyaXQgc3VjY2VzcykpKQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1h bWVuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1p bnRlbnNlKSkpDQorICAgIGAobWFnaXQtcmVmbG9nLWNoZWNrb3V0ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1y ZWZsb2ctY2hlcnJ5LXBpY2sgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91 bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctY29tbWl0ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAg IGAobWFnaXQtcmVmbG9nLW1lcmdlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3Jl Z3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAobWFnaXQtcmVmbG9nLW90aGVyICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCisg ICAgYChtYWdpdC1yZWZsb2ctcmViYXNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctcmVtb3Rl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2Up KSkNCisgICAgYChtYWdpdC1yZWZsb2ctcmVzZXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h aW4gOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQorICAgIGAobWFnaXQtcmVmbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobWFnaXQtcmVmbmFtZS1wdWxscmVx ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChtYWdpdC1yZWZuYW1lLXN0 YXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChtYWdpdC1yZWZuYW1l LXdpcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobWFnaXQtc2VjdGlv biAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAobWFnaXQtc2VjdGlvbi1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCisgICAgYChtYWdpdC1zZWN0aW9uLWhlYWRpbmctc2VsZWN0aW9uICgo LGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xkKSkpKQ0KKyAgICBg KG1hZ2l0LXNlY3Rpb24taGlnaGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkN CisgICAgYChtYWdpdC1zZXF1ZW5jZS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQpKSkNCisgICAgYChtYWdpdC1zZXF1ZW5jZS1kcm9wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQorICAgIGAobWFnaXQtc2VxdWVuY2UtZXhlYyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChtYWdpdC1zZXF1ZW5jZS1oZWFkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLW9udG8gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLXBhcnQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChtYWdpdC1zZXF1ZW5jZS1w aWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVl bmNlLXN0b3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG1hZ2l0LXNpZ25h dHVyZS1iYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAg IGAobWFnaXQtc2lnbmF0dXJlLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQorICAgIGAobWFnaXQtc2lnbmF0dXJlLWV4cGlyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KKyAgICBgKG1hZ2l0LXNpZ25hdHVyZS1leHBpcmVkLWtleSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobWFnaXQtc2lnbmF0dXJlLWdvb2QgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAobWFnaXQtc2lnbmF0dXJlLXJldm9rZWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChtYWdpdC1zaWduYXR1cmUtdW50 cnVzdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFnaXQtdGFnICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorOzs7OzsgbWFnaXQtaW1l cmdlDQorICAgIGAobWFnaXQtaW1lcmdlLW92ZXJyaWRpbmctdmFsdWUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKzs7Ozs7IG1ha2UtbW9kZSAobWFrZWZp bGVzKQ0KKyAgICBgKG1ha2VmaWxlLW1ha2VwcC1wZXJsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxj eWFuLW51YW5jZWQtYmcpKSkNCisgICAgYChtYWtlZmlsZS1zcGFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsbWFnZW50YS1udWFuY2VkLWJnKSkpDQorOzs7OzsgbWFuDQorICAgIGAoTWFuLW92ZXJz dHJpa2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAg ICBgKE1hbi1yZXZlcnNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdl bnRhKSkpDQorICAgIGAoTWFuLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbiA6 dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBtYXJrZG93bi1tb2RlDQorICAgIGAobWFya2Rvd24tYmxv Y2txdW90ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrZG93bi1ib2xkLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKG1hcmtkb3duLWNvZGUtZmFjZSAoKCxjbGFzcyAs QChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWRpbSkp KQ0KKyAgICBgKG1hcmtkb3duLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxv Y2stY29tbWVudC1mYWNlKSkpDQorICAgIGAobWFya2Rvd24tZm9vdG5vdGUtbWFya2VyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYCht YXJrZG93bi1mb290bm90ZS10ZXh0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c2xhbnQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtYXJrZG93bi1nZm0tY2hlY2ti b3gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYCht YXJrZG93bi1oZWFkZXItZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobWFya2Rvd24taGVhZGVyLWZh Y2UgKCh0IG5pbCkpKQ0KKyAgICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTEgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQorICAgIGAobWFya2Rvd24taGVhZGVyLWZh Y2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCisgICAgYCht YXJrZG93bi1oZWFkZXItZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRp bmctMykpKQ0KKyAgICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQorICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtNSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCisgICAgYChtYXJrZG93 bi1oZWFkZXItZmFjZS02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikp KQ0KKyAgICBgKG1hcmtkb3duLWhlYWRlci1ydWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAobWFya2Rvd24taHItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN CisgICAgYChtYXJrZG93bi1odG1sLWF0dHItbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1hcmtkb3duLWh0bWwtYXR0ci12 YWx1ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUp KSkNCisgICAgYChtYXJrZG93bi1odG1sLWVudGl0eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1hcmtkb3duLWh0bWwtdGFnLWRlbGlt aXRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG1hcmtkb3duLWh0bWwtdGFnLW5hbWUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAg YChtYXJrZG93bi1pbmxpbmUtY29kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4 ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFj a2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYCht YXJrZG93bi1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmtkb3duLWxhbmd1YWdlLWluZm8tZmFjZSAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQorICAgIGAobWFya2Rvd24tbGFuZ3VhZ2Uta2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChtYXJr ZG93bi1saW5lLWJyZWFrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5l LWN5YW4gOnVuZGVybGluZSB0KSkpDQorICAgIGAobWFya2Rvd24tbGluay1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKG1hcmtkb3duLWxpbmstdGl0bGUtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAobWFya2Rvd24tbGlzdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1kaW0pKSkNCisgICAgYChtYXJrZG93bi1tYXJrdXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQorICAgIGAobWFya2Rvd24tbWF0aC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hcmtkb3duLW1ldGFkYXRhLWtleS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hcmtk b3duLW1ldGFkYXRhLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQorICAgIGAobWFya2Rvd24tbWlzc2luZy1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobWFya2Rvd24tcGxhaW4tdXJsLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbWFya2Rvd24tbGluay1mYWNlKSkpDQorICAgIGAobWFya2Rvd24t cHJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWFya2Rvd24tY29kZS1mYWNlIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChtYXJrZG93bi1yZWZlcmVuY2UtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtYXJrZG93bi1tYXJrdXAtZmFjZSkpKQ0KKyAgICBgKG1hcmtkb3duLXN0 cmlrZS10aHJvdWdoLWZhY2UgKCgsY2xhc3MgOnN0cmlrZS10aHJvdWdoIHQpKSkNCisgICAgYCht YXJrZG93bi10YWJsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQorICAgIGAobWFya2Rvd24tdXJsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQorOzs7OzsgbWFya3VwLWZhY2VzIChgYWRvYy1tb2RlJykNCisgICAg YChtYXJrdXAtYW5jaG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkp DQorICAgIGAobWFya3VwLWF0dHJpYnV0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChtYXJrdXAtYmlnLWZhY2UgKCgsY2xh c3MgOmhlaWdodCAxLjMgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1h cmt1cC1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51 YW5jZWQtZmcpKSkNCisgICAgYChtYXJrdXAtY29kZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZp eGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobWFya3VwLWNvbW1hbmQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChtYXJrdXAt Y29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb21tZW50LWZhY2UpKSkN CisgICAgYChtYXJrdXAtY29tcGxleC1yZXBsYWNlbWVudC1mYWNlICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChtYXJrdXAtZW1waGFzaXMtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBg KG1hcmt1cC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZCkpKQ0KKyAgICBgKG1hcmt1cC1nZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCisgICAgYChtYXJrdXAtaW50ZXJuYWwtcmVmZXJlbmNlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChtYXJrdXAtaXRh bGljLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChtYXJrdXAtbGlzdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKG1hcmt1cC1tZXRhLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAobWFya3VwLW1ldGEtaGlkZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChtYXJrdXAtcGFzc3Rocm91 Z2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKyAgICBgKG1hcmt1cC1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hcmt1cC1yZXBsYWNlbWVudC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAobWFya3VwLXNlY29uZGFy eS10ZXh0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLG1hZ2VudGEtbnVh bmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC1zbWFsbC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44 IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobWFya3VwLXN0cm9uZy1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkLWZnKSkpDQorICAgIGAo bWFya3VwLXN1YnNjcmlwdC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrdXAtc3VwZXJzY3JpcHQtZmFjZSAoKCxjbGFz cyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFy a3VwLXRhYmxlLWNlbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChtYXJrdXAtdGFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKG1hcmt1cC10YWJsZS1yb3ctZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKG1hcmt1cC10 aXRsZS0wLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAzLjAgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNl ZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS0xLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAyLjQg OmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS0yLWZh Y2UgKCgsY2xhc3MgOmhlaWdodCAxLjggOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0K KyAgICBgKG1hcmt1cC10aXRsZS0zLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjQgOmZvcmVncm91 bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS00LWZhY2UgKCgsY2xh c3MgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1h cmt1cC10aXRsZS01LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGJsdWUt bnVhbmNlZC1mZyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChtYXJrdXAtdmFsdWUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChtYXJrdXAtdmVyYmF0aW0t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCis7Ozs7 OyBtZW50b3INCisgICAgYChtZW50b3ItZG93bmxvYWQtbWVzc2FnZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAobWVudG9yLWRvd25sb2FkLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1lbnRvci1kb3du bG9hZC1wcm9ncmVzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisg ICAgYChtZW50b3ItZG93bmxvYWQtc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQtc3BlZWQtZG93biAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQtc3BlZWQtdXAg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQt c3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChtZW50b3It aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUp KSkNCisgICAgYChtZW50b3ItdHJhY2tlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KKzs7Ozs7IG1lc3NhZ2VzDQorICAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTEg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAobWVzc2FnZS1jaXRlZC10 ZXh0LTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChtZXNzYWdlLWNp dGVkLXRleHQtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAobWVz c2FnZS1jaXRlZC10ZXh0LTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQor ICAgIGAobWVzc2FnZS1oZWFkZXItY2MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQpKSkNCisgICAgYChtZXNzYWdlLWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChtZXNzYWdlLWhlYWRlci1uZXdzZ3Jv dXBzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAg ICBgKG1lc3NhZ2UtaGVhZGVyLW90aGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAobWVzc2FnZS1oZWFkZXItc3ViamVjdCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAg ICBgKG1lc3NhZ2UtaGVhZGVyLXRvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUpKSkNCisgICAgYChtZXNzYWdlLWhlYWRlci14aGVhZGVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQorICAgIGAobWVzc2FnZS1tbWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKG1lc3NhZ2Utc2VwYXJhdG9yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KKzs7Ozs7IG1pbmlidWZmZXItbGlu ZQ0KKyAgICBgKG1pbmlidWZmZXItbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKzs7Ozs7IG1pbmltYXANCisgICAgYChtaW5pbWFwLWFjdGl2ZS1yZWdpb24tYmFja2dyb3Vu ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAobWluaW1hcC1jdXJy ZW50LWxpbmUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorOzs7OzsgbW9kZWxpbmUNCisgICAgYChtb2RlLWxpbmUgKCgs Y2xhc3MgLEAobW9kdXMtdGhlbWVzLS1tb2RlLWxpbmUtYXR0cnMNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmctYWN0aXZlIGJnLWFjdGl2ZSBmZy1kaW0gYmctYWN0aXZlDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZnLWFsdCBiZy1hY3RpdmUgJ2FsdC1zdHlsZSBuaWwgYmct bWFpbikpKSkNCisgICAgYChtb2RlLWxpbmUtYnVmZmVyLWlkICgoLGNsYXNzIDppbmhlcml0IGJv bGQpKSkNCisgICAgYChtb2RlLWxpbmUtZW1waGFzaXMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChtb2RlLWxpbmUtaGlnaGxpZ2h0ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlIDpib3ggKDpsaW5lLXdpZHRo IC0xIDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikpKSkNCisgICAgYChtb2RlLWxpbmUtaW5hY3RpdmUg KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1tb2RlLWxpbmUtYXR0cnMNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmctaW5hY3RpdmUgYmctaW5hY3RpdmUgZmctYWx0IGJn LWRpbQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1yZWdpb24gYmct YWN0aXZlKSkpKQ0KKzs7Ozs7IG1vb2QtbGluZQ0KKyAgICBgKG1vb2QtbGluZS1tb2RpZmllZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChtb29kLWxpbmUt c3RhdHVzLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3Rp dmUpKSkNCisgICAgYChtb29kLWxpbmUtc3RhdHVzLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWN0aXZlKSkpDQorICAgIGAobW9vZC1saW5lLXN0YXR1cy1uZXV0cmFsICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS1zdGF0dXMtc3Vj Y2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAobW9vZC1s aW5lLXN0YXR1cy13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHll bGxvdy1hY3RpdmUpKSkNCisgICAgYChtb29kLWxpbmUtdW5pbXBvcnRhbnQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorOzs7OzsgbXBkZWwNCisgICAgYChtcGRlbC1icm93 c2VyLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAo bXBkZWwtcGxheWxpc3QtY3VycmVudC1zb25nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBtdTRlDQorICAgIGAobXU0ZS1h dHRhY2gtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQpKSkNCisgICAgYChtdTRlLWNpdGVkLTEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCisgICAgYChtdTRlLWNpdGVkLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hbHQpKSkNCisgICAgYChtdTRlLWNpdGVkLTQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChtdTRlLWNpdGVkLTUtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtNi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtNy1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobXU0ZS1jb21wb3NlLWhl YWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG11NGUtY29tcG9zZS1zZXBhcmF0b3ItZmFjZSkp KQ0KKyAgICBgKG11NGUtY29tcG9zZS1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCisgICAgYChtdTRlLWNvbnRhY3QtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKG11NGUtY29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkp KQ0KKyAgICBgKG11NGUtZHJhZnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCisgICAgYChtdTRlLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KKyAgICBgKG11NGUtZm9vdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG11NGUt Zm9yd2FyZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQorICAgIGAobXU0ZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQorICAgIGAobXU0ZS1oZWFkZXItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGwtbGluZSkpKQ0KKyAgICBgKG11NGUtaGVhZGVyLWtleS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobXU0ZS1oZWFkZXItbWFya3MtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG11 NGUtaGVhZGVyLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCkpKQ0KKyAgICBgKG11NGUtaGVhZGVyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChtdTRlLWhpZ2hsaWdo dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVy KSkpDQorICAgIGAobXU0ZS1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQor ICAgIGAobXU0ZS1tb2RlbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFj dGl2ZSkpKQ0KKyAgICBgKG11NGUtbW92ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobXU0ZS1vay1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAobXU0ZS1y ZWdpb24tY29kZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkN CisgICAgYChtdTRlLXJlcGxpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1mYWlu dCkpKQ0KKyAgICBgKG11NGUtc3BlY2lhbC1oZWFkZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKG11NGUtc3lz dGVtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQg LGZnLW1hcmstZGVsKSkpDQorICAgIGAobXU0ZS10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAobXU0ZS10cmFzaGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZCkpKQ0KKyAgICBgKG11NGUtdW5yZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG11NGUtdXJsLW51bWJlci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQor ICAgIGAobXU0ZS12aWV3LWJvZHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKG11NGUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdhcm5pbmcpKSkN Cis7Ozs7OyBtdTRlLWNvbnZlcnNhdGlvbg0KKyAgICBgKG11NGUtY29udmVyc2F0aW9uLWhlYWRl ciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCht dTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG11NGUtY29udmVyc2F0aW9uLXNl bmRlci0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYCht dTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTUgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1yZWZpbmUtZmcpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCisgICAgYChtdTRlLWNvbnZl cnNhdGlvbi1zZW5kZXItNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkp DQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTggKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtcmVmaW5lLWZnKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLW1lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24t dW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCis7Ozs7OyBtdWx0aXBsZS1jdXJzb3Jz DQorICAgIGAobWMvY3Vyc29yLWJhci1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMSA6YmFja2dyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKG1jL2N1cnNvci1mYWNlICgoLGNsYXNzIDppbnZlcnNlLXZp ZGVvIHQpKSkNCisgICAgYChtYy9yZWdpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCByZWdpb24p KSkNCis7Ozs7OyBuZW90cmVlDQorICAgIGAobmVvLWJhbm5lci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobmVvLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbikpKQ0KKyAgICBgKG5lby1kaXItbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChuZW8tZXhwYW5kLWJ0bi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobmVvLWZpbGUtbGluay1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobmVvLWhlYWRlci1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChuZW8t cm9vdC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFs dCkpKQ0KKyAgICBgKG5lby12Yy1hZGRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KKyAgICBgKG5lby12Yy1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG5lby12Yy1kZWZhdWx0LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChuZW8tdmMtZWRpdGVkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKG5lby12Yy1pZ25vcmVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAobmVvLXZjLW1pc3Npbmct ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG5lby12Yy1uZWVk cy1tZXJnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBg KG5lby12Yy1uZWVkcy11cGRhdGUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAg YChuZW8tdmMtcmVtb3ZlZC1mYWNlICgoLGNsYXNzIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQorICAg IGAobmVvLXZjLXVubG9ja2VkLWNoYW5nZXMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKG5lby12Yy11cC10by1kYXRlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG5lby12Yy11c2VyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCis7Ozs7OyBuby1lbW9qaQ0KKyAgICBgKG5vLWVt b2ppICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7Ozsgbm90bXVjaA0KKyAgICBg KG5vdG11Y2gtY3J5cHRvLWRlY3J5cHRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChub3RtdWNoLWNyeXB0by1wYXJ0LWhlYWRlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChub3RtdWNoLWNy eXB0by1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkKSkpDQorICAgIGAobm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLWdvb2QgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuKSkpDQorICAgIGAobm90bXVjaC1jcnlwdG8t c2lnbmF0dXJlLWdvb2Qta2V5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15 ZWxsb3cpKSkNCisgICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtdW5rbm93biAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQorICAgIGAobm90bXVjaC1oZWxs by1sb2dvLWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4pKSkNCisgICAg YChub3RtdWNoLW1lc3NhZ2Utc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLW51YW5jZWQtY3lhbikpKQ0KKyAgICBgKG5vdG11Y2gtc2VhcmNoLWZsYWdnZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gtc2VhcmNoLW1h dGNoaW5nLWF1dGhvcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChu b3RtdWNoLXNlYXJjaC1ub24tbWF0Y2hpbmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQorICAgIGAobm90bXVjaC1zZWFyY2gtdW5yZWFkLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCkpKQ0KKyAgICBgKG5vdG11Y2gtdGFnLWFkZGVkDQorICAgICAgKCgsKGFwcGVu ZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAg IDp1bmRlcmxpbmUgKDpjb2xvciAsZ3JlZW4gOnN0eWxlIHdhdmUpKQ0KKyAgICAgICAoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbiA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChub3RtdWNoLXRhZy1k ZWxldGVkDQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAscmVkIDpzdHlsZSB3 YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKG5vdG11Y2gtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCisgICAgYChub3RtdWNoLXRhZy1mbGFnZ2VkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAobm90bXVjaC10YWctdW5yZWFkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gtdHJlZS1tYXRjaC1hdXRo b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAo bm90bXVjaC10cmVlLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChub3RtdWNoLXRyZWUtbWF0Y2gtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChub3RtdWNoLXRyZWUtbm8tbWF0Y2gt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobm90bXVjaC13YXNo LWNpdGVkLXRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChub3RtdWNo LXdhc2gtdG9nZ2xlLWJ1dHRvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCis7Ozs7OyBudW0zLW1vZGUNCisgICAgYChudW0zLWZhY2UtZXZlbiAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCis7Ozs7OyBueG1s LW1vZGUNCisgICAgYChueG1sLWF0dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKG54bWwtYXR0cmlidXRlLWxvY2FsLW5hbWUgKCgsY2xhc3MgOmlu aGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKyAgICBgKG54bWwtYXR0cmli dXRlLXByZWZpeCAoKCxjbGFzcyAgOmluaGVyaXQgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQ0KKyAg ICBgKG54bWwtYXR0cmlidXRlLXZhbHVlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25z dGFudC1mYWNlKSkpDQorICAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLUNEQVRBICgoLGNsYXNzIDpp bmhlcml0IGVycm9yKSkpDQorICAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLWRlbGltaXRlciAoKCxj bGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKG54bWwtY2hhci1yZWYtZGVsaW1pdGVyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChueG1sLWNoYXIt cmVmLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChueG1sLWRlbGltaXRlZC1kYXRhICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChueG1sLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQorICAgIGAobnhtbC1lbGVtZW50LWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAobnhtbC1lbGVtZW50LWxvY2FsLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgZm9u dC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkpKQ0KKyAgICBgKG54bWwtZWxlbWVudC1wcmVmaXgg KCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKG54bWwt ZW50aXR5LXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCkpKQ0KKyAgICBgKG54bWwtZW50aXR5LXJlZi1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG54bWwt Z2x5cGggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQor ICAgIGAobnhtbC1oYXNoICgoLGNsYXNzIDppbmhlcml0IChib2xkIGZvbnQtbG9jay1zdHJpbmct ZmFjZSkpKSkNCisgICAgYChueG1sLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0K KyAgICBgKG54bWwtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNl KSkpDQorICAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLXByZWZp eCAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorICAg IGAobnhtbC1wcm9jZXNzaW5nLWluc3RydWN0aW9uLXRhcmdldCAoKCxjbGFzcyA6aW5oZXJpdCBm b250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAobnhtbC1wcm9sb2cta2V5d29yZCAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAobnhtbC1yZWYg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQorICAgIGAocm5nLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQor Ozs7Ozsgb2JqZWQNCisgICAgYChvYmplZC1obCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1v ZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJnLWhsLWFsdC1pbnRlbnNlIGJnLWhsLWFsdCkpKSkNCisgICAgYChvYmpl ZC1tYXJrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChvYmplZC1t b2RlLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorOzs7Ozsgb3Jk ZXJsZXNzDQorICAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVt ZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLW51YW5jZWQtYmcNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGJsdWUtcmVmaW5lLWZn KSkpKQ0KKyAgICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVz LS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1iZyBtYWdlbnRhLXJlZmlu ZS1mZykpKSkNCisgICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0 IGJvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdyZWVuIGdyZWVuLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLXJlZmluZS1iZyBncmVlbi1yZWZpbmUtZmcpKSkp DQorICAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0 YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB5ZWxsb3cgeWVsbG93LW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHllbGxvdy1yZWZpbmUtYmcgeWVsbG93LXJlZmluZS1mZykpKSkNCis7 Ozs7OyBvcmcNCisgICAgYChvcmctYWdlbmRhLWNhbGVuZGFyLWV2ZW50ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAob3JnLWFnZW5kYS1jYWxlbmRhci1zZXhwICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtY2xvY2tpbmcg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcp ICcoOmV4dGVuZCB0KSkpKSkNCisgICAgYChvcmctYWdlbmRhLWNvbHVtbi1kYXRlbGluZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAob3JnLWFnZW5kYS1jdXJyZW50LXRp bWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN CisgICAgYChvcmctYWdlbmRhLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisg ICAgYChvcmctYWdlbmRhLWRhdGUtdG9kYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbiA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChvcmctYWdlbmRhLWRhdGUtd2Vl a2VuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChvcmct YWdlbmRhLWRpYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAob3Jn LWFnZW5kYS1kaW1tZWQtdG9kby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAob3JnLWFnZW5kYS1maWx0ZXItY2F0ZWdvcnkgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChv cmctYWdlbmRhLWZpbHRlci1lZmZvcnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChvcmctYWdlbmRhLWZpbHRlci1yZWdleHAgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAg YChvcmctYWdlbmRhLWZpbHRlci10YWdzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAob3JnLWFnZW5kYS1yZXN0cmljdGlvbi1sb2Nr ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAg ICBgKG9yZy1hZ2VuZGEtc3RydWN0dXJlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KKyAgICBgKG9yZy1hcmNoaXZlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChvcmctYmxvY2sgKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1vcmctYmxvY2sgYmctZGltKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG9yZy1ibG9jay1iZWdpbi1saW5lICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1vcmctYmxvY2stZGVsaW0NCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmctc3BlY2lhbC1jb2xkDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWx0IGZnLXNwZWNpYWwtbWlsZCkp KSkNCisgICAgYChvcmctYmxvY2stZW5kLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWJsb2Nr LWJlZ2luLWxpbmUpKSkNCisgICAgYChvcmctY2hlY2tib3ggKCgsY2xhc3MgOmJveCAoOmxpbmUt d2lkdGggMSA6Y29sb3IgLGJnLWFjdGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg OmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAg YChvcmctY2hlY2tib3gtc3RhdGlzdGljcy1kb25lICgoLGNsYXNzIDppbmhlcml0IG9yZy1kb25l KSkpDQorICAgIGAob3JnLWNoZWNrYm94LXN0YXRpc3RpY3MtdG9kbyAoKCxjbGFzcyA6aW5oZXJp dCBvcmctdG9kbykpKQ0KKyAgICBgKG9yZy1jbG9jay1vdmVybGF5ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG9yZy1jb2RlICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAg IGAob3JnLWNvbHVtbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAob3Jn LWNvbHVtbi10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDp1bmRlcmxpbmUgdCA6YmFja2dy b3VuZCAsYmctYWx0KSkpDQorICAgIGAob3JnLWRhdGUgKCgsY2xhc3MgOmluaGVyaXQgLChpZiBt b2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KGJ1dHRvbiBmaXhlZC1waXRjaCkpDQorICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt dGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFu LWZhaW50KSkpKQ0KKyAgICBgKG9yZy1kYXRlLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0IDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYChvcmct ZGlzcGF0Y2hlci1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUt bWFyay1hbHQpKSkpDQorICAgIGAob3JnLWRvY3VtZW50LWluZm8gKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG9yZy1kb2N1bWVudC1pbmZvLWtleXdvcmQg KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChv cmctZG9jdW1lbnQtdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFy aWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMt c2NhbGUtNSkpKSkNCisgICAgYChvcmctZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCisgICAgYChvcmctZHJhd2VyICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9u dHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQor ICAgIGAob3JnLWVsbGlwc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kIG5pbCkpKSA7IGluaGVyaXRz IGZyb20gdGhlIGhlYWRpbmcncyBjb2xvcg0KKyAgICBgKG9yZy1mb290bm90ZSAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0 IGJsdWUtYWx0LWZhaW50KSkpKQ0KKyAgICBgKG9yZy1mb3JtdWxhICgoLGNsYXNzICxAKG1vZHVz LXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChvcmctaGFiaXQtYWxlcnQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdykpKQ0KKyAgICBgKG9yZy1oYWJpdC1h bGVydC1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVs bG93KSkpDQorICAgIGAob3JnLWhhYml0LWNsZWFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAob3JnLWhhYml0LWNsZWFyLWZ1dHVy ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQor ICAgIGAob3JnLWhhYml0LW92ZXJkdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBgKG9yZy1oYWJpdC1vdmVyZHVlLWZ1dHVyZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCisgICAgYChvcmctaGFi aXQtcmVhZHktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUp KSkNCisgICAgYChvcmctaGFiaXQtcmVhZHktZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCisgICAgYChvcmctaGVhZGxpbmUtZG9uZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tbnVhbmNlZC1mZykpKQ0KKyAgICBgKG9yZy1oZWFkbGluZS10b2RvICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZC1m ZykpKQ0KKyAgICBgKG9yZy1oaWRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQor ICAgIGAob3JnLWluZGVudCAoKCxjbGFzcyA6aW5oZXJpdCAoZml4ZWQtcGl0Y2ggb3JnLWhpZGUp KSkpDQorICAgIGAob3JnLWxhdGV4LWFuZC1yZWxhdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBgKG9yZy1sZXZlbC0xICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KKyAgICBgKG9yZy1sZXZlbC0yICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KKyAgICBgKG9yZy1sZXZlbC0zICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKG9yZy1sZXZlbC00 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KKyAgICBgKG9yZy1s ZXZlbC01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KKyAgICBg KG9yZy1sZXZlbC02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0K KyAgICBgKG9yZy1sZXZlbC03ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmct NykpKQ0KKyAgICBgKG9yZy1sZXZlbC04ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctOCkpKQ0KKyAgICBgKG9yZy1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0K KyAgICBgKG9yZy1saXN0LWR0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChvcmct bWFjcm8gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChvcmctbWV0YS1saW5lICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChv cmctbW9kZS1saW5lLWNsb2NrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAg IGAob3JnLW1vZGUtbGluZS1jbG9jay1vdmVycnVuICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWFjdGl2ZS1yZWQpKSkNCisgICAgYChvcmctcHJpb3JpdHkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCisgICAgYChvcmctcHJvcGVydHktdmFsdWUgKCgsY2xhc3MgLEAobW9k dXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG9yZy1xdW90ZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy10aGVtZXMtLW9yZy1ibG9jayBiZy1kaW0pDQorICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctc2NoZWR1 bGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChvcmct c2NoZWR1bGVkLXByZXZpb3VzbHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCisgICAgYChvcmctc2NoZWR1bGVkLXRvZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG9yZy1zZXhwLWRhdGUgKCgsY2xhc3MgOmluaGVy aXQgb3JnLWRhdGUpKSkNCisgICAgYChvcmctc3BlY2lhbC1rZXl3b3JkICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3JnLXRhYmxlICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctdGFibGUtaGVhZGVyICgo LGNsYXNzIDppbmhlcml0IChmaXhlZC1waXRjaCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwp KSkpDQorICAgIGAob3JnLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2Vk LWZnKSkpDQorICAgIGAob3JnLXRhZy1ncm91cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLW51YW5jZWQtZmcpKSkNCisgICAgYChvcmctdGFyZ2V0ICgoLGNsYXNzIDp1 bmRlcmxpbmUgdCkpKQ0KKyAgICBgKG9yZy10aW1lLWdyaWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKG9yZy10b2RvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCisgICAgYChvcmctdXBjb21pbmctZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChvcmctdXBjb21pbmctZGlzdGFudC1kZWFkbGluZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChvcmctdmVyYmF0 aW0gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jYWxtKSkpDQorICAgIGAob3JnLXZlcnNlICgoLGNsYXNzIDppbmhlcml0IG9yZy1xdW90ZSkp KQ0KKyAgICBgKG9yZy13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCis7Ozs7OyBvcmctam91cm5hbA0KKyAgICBgKG9yZy1qb3VybmFs LWNhbGVuZGFyLWVudHJ5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChvcmctam91cm5hbC1jYWxl bmRhci1zY2hlZHVsZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6 Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKG9yZy1qb3VybmFsLWhpZ2hsaWdo dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyBvcmctbm90ZXIN CisgICAgYChvcmctbm90ZXItbm8tbm90ZXMtZXhpc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAob3JnLW5vdGVyLW5vdGVzLWV4 aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZl KSkpDQorOzs7Ozsgb3JnLXBvbW9kb3JvDQorICAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1wb21vZG9yby1t b2RlLWxpbmUtYnJlYWsgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAg IGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZS1vdmVydGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorOzs7Ozsgb3JnLXJlY3VyDQorICAgIGAob3Jn LXJlY3VyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKzs7Ozs7IG9y Zy1yb2FtDQorICAgIGAob3JnLXJvYW0tbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tZmFpbnQpKSkpDQor ICAgIGAob3JnLXJvYW0tbGluay1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmst Y29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0 IGdyZWVuLWFsdC1mYWludCkpKSkNCisgICAgYChvcmctcm9hbS1saW5rLWludmFsaWQgKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KSkpKQ0KKyAgICBgKG9yZy1yb2FtLWxpbmstc2hp ZWxkZWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQorICAg IGAob3JnLXJvYW0tdGFnICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQorOzs7Ozsgb3JnLXN1cGVyc3Rhcg0KKyAgICBgKG9yZy1zdXBlcnN0YXItaXRlbSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG9yZy1zdXBlcnN0YXItbGVh ZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKzs7Ozs7IG9yZy10 YWJsZS1zdGlja3ktaGVhZGVyDQorICAgIGAob3JnLXRhYmxlLXN0aWNreS1oZWFkZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCis7Ozs7OyBv cmctdHJlZXNjb3BlDQorICAgIGAob3JnLXRyZWVzY29wZS1mYWNlcy0tbWFya2VyaW50ZXJuYWwt bWlkZGF5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAg ICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1hcmtlcmludGVybmFsLXJhbmdlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KKzs7Ozs7IG9yaWdhbWkNCisgICAg YChvcmlnYW1pLWZvbGQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6 Zm9yZWdyb3VuZCAsZmctZGltIDpib3ggdCkpKQ0KKyAgICBgKG9yaWdhbWktZm9sZC1yZXBsYWNl bWVudC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KKzs7Ozs7IG91dGxpbmUtbW9kZQ0KKyAgICBgKG91dGxpbmUtMSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCisgICAgYChvdXRsaW5lLTIgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQorICAgIGAob3V0bGluZS0zICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKG91dGxpbmUtNCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChvdXRsaW5l LTUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01KSkpDQorICAgIGAob3V0 bGluZS02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0KKyAgICBg KG91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkNCisg ICAgYChvdXRsaW5lLTggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy04KSkp DQorOzs7Ozsgb3V0bGluZS1taW5vci1mYWNlcw0KKyAgICBgKG91dGxpbmUtbWlub3ItMCAoKCxj bGFzcyBuaWwpKSkNCis7Ozs7OyBwYWNrYWdlIChNLXggbGlzdC1wYWNrYWdlcykNCisgICAgYChw YWNrYWdlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChwYWNrYWdlLWhlbHAtc2VjdGlvbi1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocGFja2FnZS1uYW1l ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWF2YWls LW9ic28gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAo cGFja2FnZS1zdGF0dXMtYXZhaWxhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1idWlsdC1pbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWRlcGVuZGVuY3kgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocGFja2FnZS1zdGF0 dXMtZGlzYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0K KyAgICBgKHBhY2thZ2Utc3RhdHVzLWV4dGVybmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWhlbGQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1pbmNvbXBhdCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChwYWNrYWdl LXN0YXR1cy1pbnN0YWxsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLW5ldyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLXVuc2lnbmVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCis7Ozs7OyBwYWdlLWJyZWFr LWxpbmVzDQorICAgIGAocGFnZS1icmVhay1saW5lcyAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0 IDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KKzs7Ozs7IHBhcmFkb3gN CisgICAgYChwYXJhZG94LWFyY2hpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1taWxkKSkpDQorICAgIGAocGFyYWRveC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHBhcmFkb3gtY29tbWl0LXRhZy1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhIDpib3ggdCkp KQ0KKyAgICBgKHBhcmFkb3gtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocGFyYWRveC1kZXNjcmlwdGlvbi1mYWNlLW11bHRp bGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocGFy YWRveC1kb3dubG9hZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAocGFyYWRveC1oaWdobGlnaHQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KKyAgICBgKHBhcmFkb3gtaG9tZXBhZ2UtYnV0dG9uLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHBh cmFkb3gtbW9kZS1saW5lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Y3lhbi1hY3RpdmUpKSkNCisgICAgYChwYXJhZG94LW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChwYXJhZG94LXN0YXItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKHBhcmFkb3gtc3RhcnJlZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IHBhcmVuLWZhY2UN CisgICAgYChwYXJlbnRoZXNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkp DQorOzs7OzsgcGFycm90DQorICAgIGAocGFycm90LXJvdGF0ZS1yb3RhdGlvbi1oaWdobGlnaHQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKzs7 Ozs7IHBhc3MNCisgICAgYChwYXNzLW1vZGUtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocGFzcy1tb2Rl LWVudHJ5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChwYXNzLW1vZGUtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKzs7Ozs7IHBlcnNwLW1vZGUNCisgICAgYChwZXJzcC1m YWNlLWxpZ2h0ZXItYnVmZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBgKHBlcnNwLWZhY2UtbGlnaHRlci1kZWZhdWx0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAo cGVyc3AtZmFjZS1saWdodGVyLW5pbC1wZXJzcCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1hY3RpdmUpKSkNCis7Ozs7OyBwZXJzcGVjdGl2ZQ0KKyAgICBgKHBlcnNwLXNl bGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3Rp dmUpKSkNCis7Ozs7OyBwaGktZ3JlcA0KKyAgICBgKHBoaS1ncmVwLWhlYWRpbmctZmFjZSAgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVt ZXMtc2NhbGUtNCkpKSkNCisgICAgYChwaGktZ3JlcC1saW5lLW51bWJlci1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChwaGktZ3JlcC1tYXRjaC1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBg KHBoaS1ncmVwLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLXllbGxvdykpKQ0KKyAgICBgKHBoaS1ncmVwLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KKzs7Ozs7IHBoaS1zZWFyY2gNCisgICAg YChwaGktcmVwbGFjZS1wcmV2aWV3LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAocGhpLXNlYXJjaC1mYWlscGFydC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCisgICAgYChwaGktc2VhcmNo LW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkN CisgICAgYChwaGktc2VhcmNoLXNlbGVjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQorOzs7OzsgcGtnYnVpbGQtbW9kZQ0KKyAg ICBgKHBrZ2J1aWxkLWVycm9yLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSAsZmctbGFuZy1lcnJv cikpKQ0KKzs7Ozs7IHBvbWlkb3INCisgICAgYChwb21pZG9yLWJyZWFrLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAocG9taWRvci1vdmVyd29yay1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAocG9taWRv ci1za2lwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KKyAgICBgKHBvbWlkb3Itd29yay1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCis7Ozs7OyBwb3B1cA0KKyAgICBgKHBvcHVwLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAg ICBgKHBvcHVwLWlzZWFyY2gtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuIGJvbGQpKSkpDQorICAgIGAocG9wdXAtbWVudS1tb3VzZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAgICBgKHBvcHVwLW1lbnUt c2VsZWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFu IGJvbGQpKSkpDQorICAgIGAocG9wdXAtc2Nyb2xsLWJhci1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKyAgICBgKHBvcHVwLXNjcm9sbC1iYXItZm9y ZWdyb3VuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChw b3B1cC1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdy b3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChwb3B1cC10aXAtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorOzs7OzsgcG93ZXJsaW5lDQorICAg IGAocG93ZXJsaW5lLWFjdGl2ZTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVn cm91bmQgLGJsdWUtZmFpbnQgOmludmVyc2UtdmlkZW8gdCkpKQ0KKyAgICBgKHBvd2VybGluZS1h Y3RpdmUxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKHBvd2VybGluZS1hY3RpdmUyICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKHBv d2VybGluZS1pbmFjdGl2ZTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocG93ZXJsaW5lLWluYWN0aXZl MSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkp KQ0KKyAgICBgKHBvd2VybGluZS1pbmFjdGl2ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWlu YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKzs7Ozs7IHBvd2VybGluZS1ldmls DQorICAgIGAocG93ZXJsaW5lLWV2aWwtYmFzZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxm Zy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQorICAgIGAocG93ZXJsaW5lLWV2aWwtZW1h Y3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSkpKQ0K KyAgICBgKHBvd2VybGluZS1ldmlsLWluc2VydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0KKyAgICBgKHBvd2VybGluZS1ldmlsLW1vdGlvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQorICAgIGAocG93 ZXJsaW5lLWV2aWwtbm9ybWFsLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9y ZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKHBvd2VybGluZS1ldmlsLW9wZXJhdG9yLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdykpKQ0KKyAgICBgKHBv d2VybGluZS1ldmlsLXJlcGxhY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1h Y3RpdmUtcmVkKSkpDQorICAgIGAocG93ZXJsaW5lLWV2aWwtdmlzdWFsLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4pKSkNCis7Ozs7OyBwcm9jZWQNCisgICAg YChwcm9jZWQtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkp KQ0KKyAgICBgKHByb2NlZC1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFy ay1hbHQpKSkNCisgICAgYChwcm9jZWQtc29ydC1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtIDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IHBy b2RpZ3kNCisgICAgYChwcm9kaWd5LWdyZWVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuKSkpDQorICAgIGAocHJvZGlneS1yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk KSkpDQorICAgIGAocHJvZGlneS15ZWxsb3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQorOzs7OzsgcmFja2V0LW1vZGUNCisgICAgYChyYWNrZXQtZGVidWctYnJlYWstZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBgKHJh Y2tldC1kZWJ1Zy1sb2NhbHMtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29s b3IgbmlsKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAocmFja2V0LWRlYnVnLXJlc3VsdC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yIG5pbCkN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGdy ZWVuKSkpDQorICAgIGAocmFja2V0LWhlcmUtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQorICAgIGAocmFja2V0LWtleXdvcmQtYXJndW1lbnQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKHJhY2tldC1sb2dnZXItY29uZmln LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKHJhY2tldC1sb2dnZXItZGVidWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChyYWNrZXQtbG9nZ2VyLWluZm8tZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlKSkpDQorICAgIGAocmFja2V0LWxvZ2dl ci10b3BpYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQorICAgIGAocmFja2V0LXNlbGZldmFsLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKHJhY2tldC14cC1lcnJvci1mYWNlDQorICAg ICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFz cykNCisgICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2 ZSkpDQorICAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGlu ZSB0KSkpDQorOzs7OzsgcmFpbmJvdy1ibG9ja3MNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0 aC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAg IGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0 aC01LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChyYWluYm93 LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAg YChyYWluYm93LWJsb2Nrcy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KKyAgICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy11bm1h dGNoZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorOzs7OzsgcmFpbmJvdy1p ZGVudGlmaWVycw0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChyYWluYm93LWlkZW50 aWZpZXJzLWlkZW50aWZpZXItMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJz LWlkZW50aWZpZXItNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K KyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci01ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRp Zmllci02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChyYWluYm93 LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItOCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50 aWZpZXItOSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKHJhaW5i b3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTEgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZp ZXItMTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChyYWluYm93LWlkZW50 aWZpZXJzLWlkZW50aWZpZXItMTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAg ICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xNCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTUg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCis7Ozs7OyByYWluYm93LWRlbGltaXRl cnMNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtYmFzZS1mYWNlLWVycm9yICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtYmFzZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJz LWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQor ICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgt My1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJh aW5ib3ctZGVsaW1pdGVycy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQtb3RoZXIpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ctZGVs aW1pdGVycy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0K KyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTgtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChyYWluYm93LWRlbGlt aXRlcnMtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQor ICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLW1pc21hdGNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJz LXVubWF0Y2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkp KQ0KKzs7Ozs7IHJjaXJjDQorICAgIGAocmNpcmMtYnJpZ2h0LW5pY2sgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChyY2lyYy1kaW0tbmlj ayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAocmNpcmMtbXktbmljayAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAocmNp cmMtbmljay1pbi1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KKyAgICBgKHJjaXJjLW5pY2staW4tbWVzc2FnZS1mdWxsLWxpbmUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAocmNpcmMt b3RoZXItbmljayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChyY2lyYy1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChyY2lyYy1zZXJ2ZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKHJjaXJjLXRpbWVzdGFtcCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAocmNpcmMtdXJsICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IHJlZ2V4cC1i dWlsZGVyIChyZS1idWlsZGVyKQ0KKyAgICBgKHJlYi1tYXRjaC0wICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQorICAgIGAocmViLW1hdGNoLTEgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChyZWItbWF0Y2gt MiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCisgICAgYChy ZWItbWF0Y2gtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkN CisgICAgYChyZWItcmVnZXhwLWdyb3VwaW5nLWJhY2tzbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gpKSkNCisgICAgYChyZWIt cmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCis7Ozs7OyByZyAocmcuZWwpDQorICAg IGAocmctY29sdW1uLW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KKyAgICBgKHJnLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctdW5mb2N1c2VkKSkpDQorICAgIGAocmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChyZy1maWxlLXRhZy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChyZy1maWxlbmFtZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKHJnLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSkpKQ0KKyAgICBgKHJnLWxpdGVyYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCisgICAgYChyZy1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKHJnLXJlZ2V4cC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKHJnLXRvZ2dsZS1vZmYtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBg KHJnLXRvZ2dsZS1vbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWN0aXZlKSkpDQorICAgIGAocmctd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IHJpcGdyZXANCisgICAgYChyaXBncmVw LWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAg IGAocmlwZ3JlcC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZCkpKQ0KKyAgICBgKHJpcGdyZXAtaGl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCisgICAgYChyaXBncmVwLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorOzs7Ozsgcm1haWwNCisgICAgYChybWFpbC1oZWFkZXIt bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChybWFp bC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCis7Ozs7OyBydWxlci1tb2RlDQorICAgIGAocnVsZXItbW9kZS1jb2x1bW4tbnVtYmVy ICgoLGNsYXNzIDppbmhlcml0IChydWxlci1tb2RlLWRlZmF1bHQgYm9sZCkgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChydWxlci1tb2RlLWNvbW1lbnQtY29sdW1uICgoLGNsYXNzIDpp bmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAg ICBgKHJ1bGVyLW1vZGUtY3VycmVudC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9k ZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSA6Ym94IHQpKSkNCisgICAgYChydWxl ci1tb2RlLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHJ1bGVyLW1vZGUtZmlsbC1jb2x1bW4gKCgsY2xh c3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUp KSkNCisgICAgYChydWxlci1tb2RlLWZyaW5nZXMgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9k ZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKHJ1bGVyLW1vZGUt Z29hbC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKHJ1bGVyLW1vZGUtbWFyZ2lucyAoKCxjbGFz cyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCisg ICAgYChydWxlci1tb2RlLXBhZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHJ1bGVyLW1vZGUtdGFiLXN0b3AgKCgsY2xh c3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZl KSkpDQorOzs7Ozsgc2FsbGV0DQorICAgIGAoc2FsbGV0LWJ1ZmZlci1jb21wcmVzc2VkICgoLGNs YXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisg ICAgYChzYWxsZXQtYnVmZmVyLWRlZmF1bHQtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLW51YW5jZWQtZmcpKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLWRpcmVjdG9yeSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZl ci1oZWxwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChz YWxsZXQtYnVmZmVyLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKHNhbGxldC1idWZmZXItb3JkaW5hcnkgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLXJlYWQt b25seSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKHNhbGxldC1i dWZmZXItc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAg IGAoc2FsbGV0LWJ1ZmZlci1zcGVjaWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KKyAgICBgKHNhbGxldC1mbHgtbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyKSkpKQ0KKyAgICBgKHNhbGxldC1yZWNl bnRmLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkN CisgICAgYChzYWxsZXQtcmVjZW50Zi1maWxlLXBhdGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKHNhbGxldC1yZWdleHAtbWF0Y2ggKCgsY2xhc3MgLEAo bW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt YWx0LW90aGVyKSkpKQ0KKyAgICBgKHNhbGxldC1zb3VyY2UtaGVhZGVyICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1zY2FsZS00KSkp KQ0KKyAgICBgKHNhbGxldC1zdWJzdHJpbmctbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyKSkp KQ0KKzs7Ozs7IHNlbGVjdHJ1bQ0KKyAgICBgKHNlbGVjdHJ1bS1jdXJyZW50LWNhbmRpZGF0ZQ0K KyAgICAgICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVy bGluZSAsZmctbWFpbg0KKyAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxAKHBjYXNlIG1vZHVz LXRoZW1lcy1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ29w aW5pb25hdGVkIChsaXN0IGJnLWFjdGl2ZSkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChfIChsaXN0IGJnLWluYWN0aXZlKSkpKSkpDQorICAgIGAoc2VsZWN0cnVtLXByaW1hcnkt aGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9u cw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRh LWFsdCBtYWdlbnRhLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFnZW50YS1yZWZpbmUtYmcgbWFnZW50YS1yZWZpbmUtZmcpKSkpDQor ICAgIGAoc2VsZWN0cnVtLXNlY29uZGFyeS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLW51YW5jZWQtYmcNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmlu ZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCis7Ozs7OyBzZW1hbnRpYw0KKyAgICBgKHNlbWFudGlj LWNvbXBsZXRlLWlubGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0gOnVuZGVybGluZSB0KSkpDQorICAgIGAoc2VtYW50aWMtZGVjb3JhdGlvbi1vbi1maWxlbGVz cy1pbmNsdWRlcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkN CisgICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLXByaXZhdGUtbWVtYmVycy1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorICAgIGAoc2VtYW50aWMt ZGVjb3JhdGlvbi1vbi1wcm90ZWN0ZWQtbWVtYmVycy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1kaW0pKSkNCisgICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLXVua25vd24taW5jbHVk ZXMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KKyAgICBgKHNl bWFudGljLWRlY29yYXRpb24tb24tdW5wYXJzZWQtaW5jbHVkZXMgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHNlbWFudGljLWhpZ2hsaWdodC1l ZGl0cy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYChzZW1hbnRp Yy1oaWdobGlnaHQtZnVuYy1jdXJyZW50LXRhZy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQpKSkNCisgICAgYChzZW1hbnRpYy1pZGxlLXN5bWJvbC1oaWdobGlnaHQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQorICAgIGAoc2VtYW50aWMtdGFn LWJvdW5kYXJ5LWZhY2UgKCgsY2xhc3MgOm92ZXJsaW5lICxibHVlLWludGVuc2UpKSkNCisgICAg YChzZW1hbnRpYy11bm1hdGNoZWQtc3ludGF4LWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSAsZmct bGFuZy1lcnJvcikpKQ0KKzs7Ozs7IHNlc21hbg0KKyAgICBgKHNlc21hbi1icm93c2VyLWJ1dHRv bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQp KSkNCisgICAgYChzZXNtYW4tYnJvd3Nlci1oaWdobGlnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQorICAgIGAoc2VzbWFuLWJ1ZmZlci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoc2VzbWFuLWRpcmVjdG9yeS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChz ZXNtYW4tcHJvamVjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQorOzs7Ozsgc2hlbGwtc2NyaXB0LW1vZGUNCisgICAgYChzaC1o ZXJlZG9jICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKHNoLXF1b3Rl ZC1leGVjICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQorOzs7Ozsgc2hvdy1wYXJlbi1tb2RlDQorICAgIGAoc2hvdy1wYXJlbi1t YXRjaCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXBhcmVuIGJnLXBhcmVuLW1hdGNoDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXBh cmVuLW1hdGNoLWludGVuc2UpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHNob3ctcGFyZW4tbWF0Y2gtZXhwcmVzc2lvbiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChzaG93 LXBhcmVuLW1pc21hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVk KSkpDQorOzs7Ozsgc2hyDQorICAgIGAoc2hyLWFiYnJldmlhdGlvbg0KKyAgICAgICgoLChhcHBl bmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAg ICA6Zm9yZWdyb3VuZCAsZmctZG9jc3RyaW5nIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctYWx0IDpz dHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZG9jc3RyaW5nIDp1 bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHNoci1zZWxlY3RlZC1saW5rICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorOzs7Ozsgc2lkZS1ub3Rlcw0KKyAgICBgKHNp ZGUtbm90ZXMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQorOzs7Ozsgc2lldmUtbW9kZQ0KKyAgICBgKHNpZXZlLWFjdGlvbi1jb21tYW5kcyAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAgIGAoc2lldmUtY29u dHJvbC1jb21tYW5kcyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkp DQorICAgIGAoc2lldmUtdGFnZ2VkLWFyZ3VtZW50cyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxv Y2stdHlwZS1mYWNlKSkpDQorICAgIGAoc2lldmUtdGVzdC1jb21tYW5kcyAoKCxjbGFzcyA6aW5o ZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorOzs7Ozsgc2tld2VyLW1vZGUN CisgICAgYChza2V3ZXItZXJyb3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRl cmxpbmUgdCkpKQ0KKzs7Ozs7IHNtYXJ0LW1vZGUtbGluZQ0KKyAgICBgKHNtbC9jaGFyZ2luZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoc21sL2Rpc2NoYXJn aW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoc21sL2ZpbGVu YW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQor ICAgIGAoc21sL2ZvbGRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAg IGAoc21sL2dpdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3Rp dmUpKSkNCisgICAgYChzbWwvZ2xvYmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUp KSkNCisgICAgYChzbWwvbGluZS1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkp KQ0KKyAgICBgKHNtbC9taW5vci1tb2RlcyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkp DQorICAgIGAoc21sL21vZGVzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9tdWxlLWluZm8gKCgsY2xh c3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9uYW1lLWZpbGxpbmcgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAgYChzbWwvbm90LW1vZGlmaWVk ICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCisgICAgYChzbWwvbnVtYmVycy1zZXBh cmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9vdXRzaWRl LW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQor ICAgIGAoc21sL3Bvc2l0aW9uLXBlcmNlbnRhZ2UgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2Jh bCkpKQ0KKyAgICBgKHNtbC9wcmVmaXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2 ZSkpKQ0KKyAgICBgKHNtbC9wcm9jZXNzICgoLGNsYXNzIDppbmhlcml0IHNtbC9wcmVmaXgpKSkN CisgICAgYChzbWwvcHJvamVjdGlsZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2l0KSkpDQorICAg IGAoc21sL3JlYWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu LWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9yZW1vdGUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2Jh bCkpKQ0KKyAgICBgKHNtbC9zdWRvICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1yZWQpKSkNCisgICAgYChzbWwvdGltZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkp DQorICAgIGAoc21sL3ZjICgoLGNsYXNzIDppbmhlcml0IHNtbC9naXQpKSkNCisgICAgYChzbWwv dmMtZWRpdGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUpKSkNCis7Ozs7OyBzbWFydHBhcmVucw0KKyAgICBgKHNwLXBhaXItb3ZlcmxheS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHNwLXNo b3ctcGFpci1lbmNsb3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1t aWxkKSkpDQorICAgIGAoc3Atc2hvdy1wYWlyLW1hdGNoLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1wYXJlbiBiZy1wYXJlbi1tYXRjaA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5z ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKHNwLXNob3ctcGFpci1taXNtYXRjaC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAoc3Atd3JhcC1vdmVybGF5 LWNsb3NpbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0K KyAgICBgKHNwLXdyYXAtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3Zl cmxheS1mYWNlKSkpDQorICAgIGAoc3Atd3JhcC1vdmVybGF5LW9wZW5pbmctcGFpciAoKCxjbGFz cyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KKyAgICBgKHNwLXdyYXAtdGFnLW92 ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KKzs7 Ozs7IHNtZXJnZQ0KKyAgICBgKHNtZXJnZS1iYXNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWRpZmYtY2hhbmdlZCkpKQ0KKyAgICBgKHNtZXJnZS1sb3dlciAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQorICAgIGAoc21lcmdlLW1hcmtlcnMgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMikpKQ0KKyAgICBgKHNtZXJnZS1yZWZpbmVkLWFkZGVkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQorICAgIGAoc21lcmdlLXJlZmluZWQt Y2hhbmdlZCAoKCxjbGFzcykpKQ0KKyAgICBgKHNtZXJnZS1yZWZpbmVkLXJlbW92ZWQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KKyAgICBgKHNt ZXJnZS11cHBlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkN Cis7Ozs7OyBzcGFjZWxpbmUNCisgICAgYChzcGFjZWxpbmUtZXZpbC1lbWFjcyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSkpKQ0KKyAgICBgKHNwYWNlbGluZS1l dmlsLWluc2VydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkN CisgICAgYChzcGFjZWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChzcGFjZWxpbmUtZXZpbC1ub3JtYWwgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoc3BhY2Vs aW5lLWV2aWwtcmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVk KSkpDQorICAgIGAoc3BhY2VsaW5lLWV2aWwtdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWFjdGl2ZS1jeWFuKSkpDQorICAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWVycm9yICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoc3BhY2VsaW5lLWZseWNo ZWNrLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoc3Bh Y2VsaW5lLWZseWNoZWNrLXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUpKSkNCisgICAgYChzcGFjZWxpbmUtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUpKSkNCisgICAgYChzcGFjZWxpbmUtbW9kaWZpZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCisgICAgYChzcGFj ZWxpbmUtcHl0aG9uLXZlbnYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkp DQorICAgIGAoc3BhY2VsaW5lLXJlYWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoc3BhY2VsaW5lLXVubW9kaWZpZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCis7Ozs7OyBzcGVlZGJhcg0KKyAgICBg KHNwZWVkYmFyLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBg KHNwZWVkYmFyLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUpKSkNCisgICAgYChzcGVlZGJhci1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChzcGVlZGJhci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKHNwZWVkYmFyLXNlbGVj dGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKHNwZWVkYmFyLXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtbmV1dHJhbCkpKQ0KKyAgICBgKHNwZWVkYmFyLXRhZy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorOzs7Ozsgc3BlbGwtZnUNCisgICAgYChz cGVsbC1mdS1pbmNvcnJlY3QtZmFjZQ0KKyAgICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVu ZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAgICA6Zm9yZWdyb3VuZCAsZmct bGFuZy1lcnJvciA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQorOzs7Ozsgc3RyaXBlcw0K KyAgICBgKHN0cmlwZXMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0K Kzs7Ozs7IHN1Y2Nlc3MNCisgICAgYChzdWdnZXN0LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKzs7Ozs7IHN3aXRjaC13aW5k b3cNCisgICAgYChzd2l0Y2gtd2luZG93LWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpbSkpKQ0KKyAgICBgKHN3aXRjaC13aW5kb3ctbGFiZWwgKCgsY2xhc3MgOmhlaWdodCAz LjAgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKzs7Ozs7IHN3aXBlcg0KKyAgICBgKHN3 aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtbmV1dHJhbCkpKQ0KKyAgICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2Ut MiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKyAgICBgKHN3 aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2Ut NCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAo c3dpcGVyLWxpbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNv bGQpKSkNCisgICAgYChzd2lwZXItbWF0Y2gtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IChib2xk IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKSkNCisgICAgYChzd2lwZXItbWF0Y2gtZmFj ZS0yICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkp DQorICAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1 cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkpDQorICAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtNCAoKCxj bGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKSkNCis7Ozs7OyBz d29vcA0KKyAgICBgKHN3b29wLWZhY2UtaGVhZGVyLWZvcm1hdC1saW5lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1z Y2FsZS0zKSkpKQ0KKyAgICBgKHN3b29wLWZhY2UtbGluZS1idWZmZXItbmFtZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1l cy1zY2FsZS00KSkpKQ0KKyAgICBgKHN3b29wLWZhY2UtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHN3b29wLWZhY2UtdGFyZ2V0LWxp bmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNp b24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCisgICAgYChzd29vcC1mYWNlLXRhcmdldC13b3JkcyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKzs7Ozs7IHN4DQor ICAgIGAoc3gtaW5ib3gtaXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KKyAgICBgKHN4LWluYm94LWl0ZW0tdHlwZS11bnJlYWQgKCgsY2xhc3MgOmlu aGVyaXQgKHN4LWluYm94LWl0ZW0tdHlwZSBib2xkKSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxp c3QtYW5zd2VycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChzeC1xdWVz dGlvbi1saXN0LWFuc3dlcnMtYWNjZXB0ZWQgKCgsY2xhc3MgOmJveCB0IDpmb3JlZ3JvdW5kICxn cmVlbikpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtYm91bnR5ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAo c3gtcXVlc3Rpb24tbGlzdC1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LWZhdm9yaXRlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9u LWxpc3QtcGFyZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3gt cXVlc3Rpb24tbGlzdC1yZWFkLXF1ZXN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LXNjb3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LXNjb3JlLXVwdm90ZWQg KCgsY2xhc3MgOmluaGVyaXQgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUgYm9sZCkpKSkNCisgICAg YChzeC1xdWVzdGlvbi1saXN0LXVucmVhZC1xdWVzdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbW9kZS1hY2NlcHRl ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxncmVlbikp KQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWFjdGl2ZS15ZWxsb3cgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSkpKQ0K KyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtY2xvc2VkLXJlYXNvbiAoKCxjbGFzcyA6Ym94ICg6bGlu ZS13aWR0aCAyIDpjb2xvciBuaWwpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3gt cXVlc3Rpb24tbW9kZS1jb250ZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkp KQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWtiZC10YWcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOSA6Ym94ICg6bGluZS13aWR0aCAzIDpj b2xvciAsZmctbWFpbiA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtc2NvcmUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtc2NvcmUtZG93bnZvdGVkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLXNjb3Jl LXVwdm90ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K KyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtdGl0bGUtY29tbWVu dHMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAo c3gtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKHN4LXVz ZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChzeC11c2Vy LXJlcHV0YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IHN5bWJv bC1vdmVybGF5DQorICAgIGAoc3ltYm9sLW92ZXJsYXktZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHN5bWJvbC1vdmVybGF5 LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisg ICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCisgICAgYChzeW1ib2wtb3Zl cmxheS1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRh KSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS02ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCisgICAgYChzeW1ib2wtb3Zl cmxheS1mYWNlLTcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuKSkp DQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS04ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1jeWFuKSkpDQorOzs7Ozsgc3lzbG9nLW1vZGUNCisgICAgYChzeXNsb2ctZGVi dWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN CisgICAgYChzeXNsb2ctZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkKSkpDQorICAgIGAoc3lzbG9nLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoc3lzbG9nLWhpZGUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChzeXNsb2ct aG91ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KKyAgICBgKHN5c2xvZy1pbmZvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoc3lzbG9nLWlwICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCA6dW5kZXJsaW5lIHQpKSkNCisgICAg YChzeXNsb2ctc3UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KKyAgICBgKHN5c2xvZy13YXJuICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KKzs7Ozs7IHRhYi1iYXItbW9kZQ0KKyAgICBgKHRhYi1iYXIgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLXRhYi1iYXIgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0 YWItYmFyLXRhYiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNv bG9yICxiZy10YWItYWN0aXZlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3Jv dW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodGFiLWJh ci10YWItaW5hY3RpdmUgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRh Yi1pbmFjdGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dy b3VuZCAsYmctdGFiLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCis7Ozs7OyB0YWIt bGluZS1tb2RlDQorICAgIGAodGFiLWxpbmUgKCgsY2xhc3MgOmhlaWdodCAwLjk1IDpiYWNrZ3Jv dW5kICxiZy10YWItYmFyIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodGFiLWxpbmUt Y2xvc2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYCh0YWIt bGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCisgICAgYCh0YWItbGluZS10YWIgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWFjdGl2ZSkNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYCh0YWItbGluZS10YWItY3VycmVudCAoKCxjbGFzcyA6aW5o ZXJpdCB0YWItbGluZS10YWIpKSkNCisgICAgYCh0YWItbGluZS10YWItaW5hY3RpdmUgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1pbmFjdGl2ZSkNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorOzs7OzsgdGFibGUgKGJ1aWx0LWluIHRhYmxlLmVs KQ0KKyAgICBgKHRhYmxlLWNlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1i ZykpKQ0KKzs7Ozs7IHRlbGVwaG9uZS1saW5lDQorICAgIGAodGVsZXBob25lLWxpbmUtYWNjZW50 LWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGJn LWluYWN0aXZlKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtYWNjZW50LWluYWN0aXZlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAg ICBgKHRlbGVwaG9uZS1saW5lLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1lbWFjcyAo KCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxtYWdlbnRh LWludGVuc2UtYmcpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLWluc2VydCAoKCxjbGFz cyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNl LWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xhc3MgOmluaGVy aXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcpKSkN CisgICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLW5vcm1hbCAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxl cGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYCh0ZWxlcGhvbmUt bGluZS1ldmlsLW9wZXJhdG9yICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwg OmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1l dmlsLXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dy b3VuZCAscmVkLWludGVuc2UtYmcpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLXZpc3Vh bCAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxjeWFu LWludGVuc2UtYmcpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1wcm9qZWN0aWxlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHRlbGVwaG9uZS1saW5lLXVuaW1w b3J0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHRlbGVw aG9uZS1saW5lLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVs bG93LWFjdGl2ZSkpKQ0KKzs7Ozs7IHRlcm0NCisgICAgYCh0ZXJtICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodGVybS1ib2xkICgo LGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYCh0ZXJtLWNvbG9yLWJsYWNrICgoLGNsYXNz IDpiYWNrZ3JvdW5kICJncmF5MzUiIDpmb3JlZ3JvdW5kICJncmF5MzUiKSkpDQorICAgIGAodGVy bS1jb2xvci1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlIDpmb3JlZ3JvdW5kICxibHVl KSkpDQorICAgIGAodGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAodGVybS1jb2xvci1ncmVlbiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZ3JlZW4gOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAodGVybS1jb2xvci1t YWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQorICAgIGAodGVybS1jb2xvci1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZCA6Zm9y ZWdyb3VuZCAscmVkKSkpDQorICAgIGAodGVybS1jb2xvci13aGl0ZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAiZ3JheTY1IiA6Zm9yZWdyb3VuZCAiZ3JheTY1IikpKQ0KKyAgICBgKHRlcm0tY29sb3It eWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KKyAgICBgKHRlcm0tdW5kZXJsaW5lICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7 IHRvbWF0aW5obw0KKyAgICBgKHRvbWF0aW5oby1vay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWludGVuc2UpKSkNCisgICAgYCh0b21hdGluaG8tcGF1c2UtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCisgICAgYCh0b21hdGluaG8tcmVzZXQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorOzs7OzsgdHJhbnNpZW50DQorICAg IGAodHJhbnNpZW50LWFjdGl2ZS1pbmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLW1pbGQpKSkNCisgICAgYCh0cmFuc2llbnQtYW1hcmFudGggKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAodHJhbnNpZW50LWFyZ3VtZW50 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYCh0 cmFuc2llbnQtYmx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkp DQorICAgIGAodHJhbnNpZW50LWRpc2FibGVkLXN1ZmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBgKHRyYW5zaWVudC1lbmFibGVkLXN1ZmZpeCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAodHJh bnNpZW50LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKHRyYW5zaWVudC1pbmFjdGl2ZS1hcmd1bWVudCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQorICAgIGAodHJhbnNpZW50LWluYWN0aXZlLXZhbHVlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYCh0cmFuc2llbnQta2V5ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYCh0cmFuc2llbnQtbWlzbWF0 Y2hlZC1rZXkgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAodHJhbnNpZW50LW5vbnN0 YW5kYXJkLWtleSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh0cmFuc2llbnQtcGlu ayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo dHJhbnNpZW50LXJlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50 ZW5zZSkpKQ0KKyAgICBgKHRyYW5zaWVudC10ZWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAodHJhbnNpZW50LXVucmVhY2hhYmxl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYCh0cmFuc2llbnQt dW5yZWFjaGFibGUta2V5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisg ICAgYCh0cmFuc2llbnQtdmFsdWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCis7Ozs7OyB0cmFzaGVkDQorICAgIGAodHJhc2hlZC1kZWxl dGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQorICAgIGAodHJh c2hlZC1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYCh0cmFz aGVkLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpKSkNCisg ICAgYCh0cmFzaGVkLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFs dCkpKQ0KKyAgICBgKHRyYXNoZWQtcmVzdG9yZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtbWFyay1zZWwpKSkNCisgICAgYCh0cmFzaGVkLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0t bGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdCBj eWFuLWFsdC1mYWludCkpKSkNCis7Ozs7OyB0cmVlbWFjcw0KKyAgICBgKHRyZWVtYWNzLWRpcmVj dG9yeS1jb2xsYXBzZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkN CisgICAgYCh0cmVlbWFjcy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1k aXJlY3RvcnkpKSkNCisgICAgYCh0cmVlbWFjcy1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYCh0cmVlbWFjcy1mcmluZ2UtaW5kaWNhdG9yLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0cmVlbWFjcy1naXQtYWRkZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KKyAgICBgKHRyZWVt YWNzLWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCBib2xkKSkpKQ0KKyAgICBgKHRyZWVtYWNzLWdpdC1pZ25vcmVkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKHRyZWVtYWNzLWdpdC1tb2RpZmllZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAodHJl ZW1hY3MtZ2l0LXJlbmFtZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCisgICAgYCh0cmVlbWFjcy1naXQtdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHJlZW1hY3MtZ2l0LXVudHJhY2tlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAodHJlZW1hY3MtaGVs cC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh0cmVlbWFjcy1o ZWxwLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQor ICAgIGAodHJlZW1hY3Mtb24tZmFpbHVyZS1wdWxzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAodHJlZW1hY3Mtb24tc3VjY2Vzcy1wdWxz ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCisg ICAgYCh0cmVlbWFjcy1yb290LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIgOmhlaWdodCAxLjIgOnVuZGVybGluZSB0KSkpDQorICAgIGAodHJl ZW1hY3Mtcm9vdC1yZW1vdGUtZGlzY29ubmVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJl ZW1hY3Mtcm9vdC1yZW1vdGUtZmFjZSA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAodHJl ZW1hY3Mtcm9vdC1yZW1vdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LWZh Y2UgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYCh0cmVlbWFjcy1yb290LXJlbW90ZS11 bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC11bnJlYWRhYmxl LWZhY2UpKSkNCisgICAgYCh0cmVlbWFjcy1yb290LXVucmVhZGFibGUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCB0cmVlbWFjcy1yb290LWZhY2UgOnN0cmlrZS10aHJvdWdoIHQpKSkNCisgICAgYCh0 cmVlbWFjcy10YWdzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAg IGAodHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KKzs7Ozs7IHR0eS1tZW51DQorICAgIGAodHR5LW1lbnUtZGlzYWJsZWQtZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYCh0dHkt bWVudS1lbmFibGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHR5LW1lbnUtc2VsZWN0ZWQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCis7Ozs7OyB0 dWFyZWcNCisgICAgYChjYW1sLXR5cGVzLWRlZi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1yZWQpKSkNCisgICAgYChjYW1sLXR5cGVzLWV4cHItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChjYW1sLXR5cGVz LW9jYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0K KyAgICBgKGNhbWwtdHlwZXMtc2NvcGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGNhbWwtdHlwZXMtdHlwZWQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KKyAgICBgKHR1YXJlZy1mb250 LWRvdWJsZS1zZW1pY29sb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stcHJlcHJv Y2Vzc29yLWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWF0dHJpYnV0ZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYCh0 dWFyZWctZm9udC1sb2NrLWNvbnN0cnVjdG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWVycm9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQorICAgIGAodHVhcmVnLWZv bnQtbG9jay1leHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWdvdmVybmlu Zy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYCh0dWFyZWctZm9udC1sb2NrLWluZml4LWV4dGVuc2lvbi1ub2RlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkpKQ0KKyAgICBgKHR1YXJlZy1m b250LWxvY2staW50ZXJhY3RpdmUtZGlyZWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHR1YXJlZy1mb250LWxvY2staW50ZXJhY3RpdmUt ZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKHR1YXJlZy1mb250 LWxvY2staW50ZXJhY3RpdmUtb3V0cHV0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LWNvbnN0YW50LWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWxhYmVsLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQ0KKyAgICBgKHR1YXJlZy1mb250 LWxvY2stbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1tb2R1bGUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1t dWx0aXN0YWdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kIGJsdWUpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLW9wZXJhdG9yLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXByZXByb2Nlc3Nvci1mYWNlKSkpDQorICAg IGAodHVhcmVnLW9wYW0tZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAg ICBgKHR1YXJlZy1vcGFtLXBrZy12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Zm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKzs7Ozs7IHR5cGVzY3JpcHQNCisgICAg YCh0eXBlc2NyaXB0LWpzZG9jLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFu dCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAodHlwZXNjcmlwdC1qc2Rv Yy10eXBlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYCh0eXBlc2NyaXB0LWpzZG9jLXZhbHVlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCis7Ozs7OyB1bmRvLXRyZWUNCisgICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1hY3RpdmUt YnJhbmNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWN1cnJlbnQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItZGVm YXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYCh1bmRvLXRy ZWUtdmlzdWFsaXplci1yZWdpc3Rlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWludGVuc2UpKSkNCisgICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci11bm1vZGlmaWVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCis7Ozs7OyB2YyAodmMtaG9v a3MuZWwpDQorICAgIGAodmMtY29uZmxpY3Qtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYCh2Yy1lZGl0ZWQt c3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAgYCh2Yy1s b2NhbGx5LWFkZGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0K KyAgICBgKHZjLWxvY2tlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUp KSkNCisgICAgYCh2Yy1taXNzaW5nLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKHZjLW5lZWRzLXVw ZGF0ZS1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAodmMtcmVtb3ZlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKHZjLXN0YXRlLWJhc2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKHZjLXVwLXRvLWRhdGUtc3RhdGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7Ozs7IHZkaWZmDQorICAgIGAo dmRpZmYtYWRkaXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFk ZGVkKSkpDQorICAgIGAodmRpZmYtY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQorICAgIGAodmRpZmYtY2xvc2VkLWZvbGQtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQgLGZnLWRpZmYt bmV1dHJhbC0xKSkpDQorICAgIGAodmRpZmYtcmVmaW5lLWFkZGVkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQorICAgIGAodmRpZmYtcmVmaW5lLWNo YW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCkp KQ0KKyAgICBgKHZkaWZmLXN1YnRyYWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1yZW1vdmVkKSkpDQorICAgIGAodmRpZmYtdGFyZ2V0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorOzs7OzsgdmltaXNoLWZvbGQN CisgICAgYCh2aW1pc2gtZm9sZC1mcmluZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0 aXZlKSkpDQorICAgIGAodmltaXNoLWZvbGQtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYCh2aW1pc2gtZm9sZC1vdmVybGF5ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KKzs7Ozs7IHZpc2libGUtbWFyaw0KKyAgICBgKHZpc2libGUtbWFyay1hY3RpdmUgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykpKQ0KKyAgICBgKHZpc2libGUtbWFyay1m YWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnKSkpDQorICAgIGAodmlz aWJsZS1tYXJrLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZS1iZykp KQ0KKyAgICBgKHZpc2libGUtbWFyay1mb3J3YXJkLWZhY2UxICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxtYWdlbnRhLWludGVuc2UtYmcpKSkNCisgICAgYCh2aXNpYmxlLW1hcmstZm9yd2FyZC1mYWNl MiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KKzs7Ozs7IHZpc3Vh bC1yZWdleHANCisgICAgYCh2ci9ncm91cC0wICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtYmx1ZSkpKQ0KKyAgICBgKHZyL2dyb3VwLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAodnIvZ3JvdXAtMiAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAodnIvbWF0Y2gtMCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAodnIv bWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQor ICAgIGAodnIvbWF0Y2gtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLWludGVuc2UtbmV1dHJhbCBib2xkKSkpKQ0KKzs7Ozs7IHZvbGF0aWxlLWhpZ2hsaWdodHMN CisgICAgYCh2aGwvZGVmYXVsdC1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3It dmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQor Ozs7OzsgdnRlcm0NCisgICAgYCh2dGVybS1jb2xvci1ibGFjayAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAiZ3JheTM1IiA6Zm9yZWdyb3VuZCAiZ3JheTM1IikpKQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLWJs dWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAg YCh2dGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQorICAgIGAodnRlcm0tY29sb3ItZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLWdy ZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisg ICAgYCh2dGVybS1jb2xvci1pbnZlcnNlLXZpZGVvICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYCh2dGVybS1jb2xvci1tYWdlbnRhICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo dnRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZvcmVncm91bmQgLHJl ZCkpKQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLXdoaXRl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjUiIDpmb3JlZ3JvdW5kICJncmF5NjUiKSkpDQor ICAgIGAodnRlcm0tY29sb3IteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3cgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IHdjaGVjay1tb2RlDQorICAgIGAod2NoZWNrLWRl ZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KKzs7 Ozs7IHdlYi1tb2RlDQorICAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWFubm90YXRp b24taHRtbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0K KyAgICBgKHdlYi1tb2RlLWFubm90YXRpb24tdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2Vi LW1vZGUtY29tbWVudC1mYWNlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHdlYi1tb2RlLWJsb2Nr LWF0dHItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNl KSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2stYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGZvbnQtbG9jay10eXBlLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1ibG9jay1jb21tZW50 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQorICAgIGAo d2ViLW1vZGUtYmxvY2stY29udHJvbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1i dWlsdGluLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1ibG9jay1kZWxpbWl0ZXItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWJsb2NrLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKHdlYi1tb2RlLWJsb2NrLXN0 cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQorICAg IGAod2ViLW1vZGUtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYCh3 ZWItbW9kZS1idWlsdGluLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4t ZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBm b250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY29tbWVudC1rZXl3b3Jk LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpKQ0KKyAgICBg KHdlYi1tb2RlLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbnN0 YW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtYXQtcnVsZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLWNv bG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAg ICBgKHdlYi1tb2RlLWNzcy1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUt Y29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLWZ1bmN0aW9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNz cy1wcmlvcml0eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay13YXJuaW5nLWZhY2Up KSkNCisgICAgYCh3ZWItbW9kZS1jc3MtcHJvcGVydHktbmFtZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtcHNldWRv LWNsYXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWRvYy1mYWNlKSkpDQorICAg IGAod2ViLW1vZGUtY3NzLXNlbGVjdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1zdHJpbmctZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy12 YXJpYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisg ICAgYCh3ZWItbW9kZS1jdXJyZW50LWNvbHVtbi1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAod2ViLW1vZGUtY3VycmVudC1lbGVtZW50LWhpZ2hs aWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0K KyAgICBgKHdlYi1tb2RlLWRvY3R5cGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAod2ViLW1vZGUt ZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0K KyAgICBgKHdlYi1tb2RlLWZpbHRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1m dW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1mb2xkZWQtZmFjZSAoKCxjbGFz cyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh3ZWItbW9kZS1mdW5jdGlvbi1jYWxsLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkpKQ0KKyAgICBgKHdl Yi1tb2RlLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVu Y3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLWN1c3RvbS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkNCisgICAg YCh3ZWItbW9kZS1odG1sLWF0dHItZW5naW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZXF1YWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1uYW1lLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKyAg ICBgKHdlYi1tb2RlLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQt bG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC1lbnRpdHktZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNlKSkpDQorICAgIGAo d2ViLW1vZGUtaHRtbC10YWctYnJhY2tldC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1k aW0pKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLXRhZy1jdXN0b20tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRt bC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNl KSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC10YWctbmFtZXNwYWNlZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLXRh Zy11bmNsb3NlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVycm9yIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKHdlYi1tb2RlLWlubGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkp KQ0KKyAgICBgKHdlYi1tb2RlLWl0YWxpYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYykp KQ0KKyAgICBgKHdlYi1tb2RlLWphdmFzY3JpcHQtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhl cml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWphdmFzY3JpcHQt c3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCisg ICAgYCh3ZWItbW9kZS1qc29uLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9k ZS1jb21tZW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1qc29uLWNvbnRleHQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUt anNvbi1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQor ICAgIGAod2ViLW1vZGUtanNvbi1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9k ZS1zdHJpbmctZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0xLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJs dWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAod2ViLW1vZGUtanN4 LWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtNC1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5l LWZnKSkpDQorICAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTUtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYCh3ZWIt bW9kZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgOmluaGVyaXQgZm9udC1sb2NrLWtl eXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXBhcmFtLW5hbWUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUt cGFydC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNl KSkpDQorICAgIGAod2ViLW1vZGUtcGFydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2Rl LWJsb2NrLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1wYXJ0LXN0cmluZy1mYWNlICgoLGNsYXNz IDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtcHJlcHJv Y2Vzc29yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXByZXByb2Nlc3Nvci1mYWNl KSkpDQorICAgIGAod2ViLW1vZGUtc2NyaXB0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1v ZGUtcGFydC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc3FsLWtleXdvcmQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNlKSkpDQorICAgIGAod2ViLW1v ZGUtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkp DQorICAgIGAod2ViLW1vZGUtc3R5bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1w YXJ0LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1zeW1ib2wtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXR5cGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAgIGAod2ViLW1v ZGUtdW5kZXJsaW5lLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAod2ViLW1v ZGUtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJs ZS1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXdoaXRlc3Bh Y2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAs Zmctd2hpdGVzcGFjZSkpKQ0KKzs7Ozs7IHdncmVwDQorICAgIGAod2dyZXAtZGVsZXRlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHdn cmVwLWRvbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkp KQ0KKyAgICBgKHdncmVwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5l LWdyZWVuKSkpDQorICAgIGAod2dyZXAtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYCh3Z3JlcC1yZWplY3QtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCis7Ozs7OyB3aGljaC1mdW5j dGlvbi1tb2RlDQorICAgIGAod2hpY2gtZnVuYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCis7Ozs7OyB3aGljaC1rZXkNCisgICAgYCh3aGljaC1rZXktY29tbWFuZC1k ZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAod2hp Y2gta2V5LWdyb3VwLWRlc2NyaXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQorICAgIGAod2hpY2gta2V5LWhpZ2hsaWdodGVkLWNvbW1hbmQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnVuZGVybGluZSB0KSkpDQorICAgIGAod2hpY2gt a2V5LWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50 ZW5zZSkpKQ0KKyAgICBgKHdoaWNoLWtleS1sb2NhbC1tYXAtZGVzY3JpcHRpb24tZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdoaWNoLWtleS1ub3RlLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQorICAgIGAod2hpY2gta2V5LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCisgICAgYCh3aGljaC1rZXktc3BlY2lhbC1rZXktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KKzs7Ozs7IHdoaXRl c3BhY2UtbW9kZQ0KKyAgICBgKHdoaXRlc3BhY2UtYmlnLWluZGVudCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAgIGAod2hpdGVzcGFjZS1lbXB0eSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCisgICAgYCh3aGl0 ZXNwYWNlLWhzcGFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdy b3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKyAgICBgKHdoaXRlc3BhY2UtaW5kZW50YXRpb24gKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3Bh Y2UpKSkNCisgICAgYCh3aGl0ZXNwYWNlLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC13YXJtKSkpDQorICAgIGAod2hpdGVzcGFjZS1uZXdsaW5lICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQor ICAgIGAod2hpdGVzcGFjZS1zcGFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFj ZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKyAgICBgKHdoaXRlc3BhY2Utc3BhY2Ut YWZ0ZXItdGFiICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkp DQorICAgIGAod2hpdGVzcGFjZS1zcGFjZS1iZWZvcmUtdGFiICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAod2hpdGVzcGFjZS10YWIgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkN CisgICAgYCh3aGl0ZXNwYWNlLXRyYWlsaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtcmVkKSkpDQorOzs7Ozsgd2luZG93LWRpdmlkZXItbW9kZQ0KKyAgICBgKHdpbmRv dy1kaXZpZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1pbm5lcikp KQ0KKyAgICBgKHdpbmRvdy1kaXZpZGVyLWZpcnN0LXBpeGVsICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KKyAgICBgKHdpbmRvdy1kaXZpZGVyLWxhc3Qt cGl4ZWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQor Ozs7Ozsgd2ludW0NCisgICAgYCh3aW51bS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorOzs7Ozsgd3JpdGVnb29kLW1v ZGUNCisgICAgYCh3cml0ZWdvb2QtZHVwbGljYXRlcy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZC1hbHQgOnVuZGVybGluZSB0KSkpDQorICAgIGAod3Jp dGVnb29kLXBhc3NpdmUtdm9pY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51 YW5jZWQtZmcgOnVuZGVybGluZSAsZmctbGFuZy13YXJuaW5nKSkpDQorICAgIGAod3JpdGVnb29k LXdlYXNlbHMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcgOnVuZGVy bGluZSAsZmctbGFuZy1lcnJvcikpKQ0KKzs7Ozs7IHdvbWFuDQorICAgIGAod29tYW4tYWRkaXRp b24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAod29t YW4tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAod29tYW4taXRhbGljICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKyAgICBgKHdvbWFuLXVua25vd24gKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyB4YWgtZWxpc3AtbW9kZQ0KKyAgICBgKHhhaC1l bGlzcC1hdC1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkp KQ0KKyAgICBgKHhhaC1lbGlzcC1jYXAtdmFyaWFibGUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1s b2NrLXByZXByb2Nlc3Nvci1mYWNlKSkpDQorICAgIGAoeGFoLWVsaXNwLWNvbW1hbmQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdHlwZS1mYWNlKSkpDQorICAgIGAoeGFoLWVsaXNw LWRvbGxhci1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUt ZmFjZSkpKQ0KKzs7Ozs7IHhyZWYNCisgICAgYCh4cmVmLWZpbGUtaGVhZGVyICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHhyZWYt bGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKHhyZWYt bWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbWF0Y2gpKSkNCis7Ozs7OyB5YW1sLW1vZGUNCisgICAg YCh5YW1sLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVk KSkpDQorOzs7OzsgeWFzbmlwcGV0DQorICAgIGAoeWFzLWZpZWxkLWhpZ2hsaWdodC1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1obC1hbHQtaW50ZW5zZSkpKQ0KKzs7Ozs7IHp0cmVlDQor ICAgIGAoenRyZWVwLWFycm93LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQorICAgIGAoenRyZWVwLWRpZmYtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoenRy ZWVwLWRpZmYtaGVhZGVyLXNtYWxsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAoenRyZWVwLWRpZmYtbW9kZWwtYWRkLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoenRyZWVwLWRpZmYtbW9k ZWwtZGlmZi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYCh6dHJlZXAt ZGlmZi1tb2RlbC1pZ25vcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c3Ry aWtlLXRocm91Z2ggdCkpKQ0KKyAgICBgKHp0cmVlcC1kaWZmLW1vZGVsLW5vcm1hbC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYCh6dHJlZXAtZXhwYW5kLXNpZ24t ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHp0cmVlcC1oZWFkZXIt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYCh6dHJlZXAtbGVhZi1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQorICAgIGAoenRyZWVwLW5vZGUtY291bnQtY2hpbGRyZW4tZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoenRyZWVwLW5vZGUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKSkNCisgICJGYWNlIHNwZWNzIGZv ciB1c2Ugd2l0aCBgbW9kdXMtdGhlbWVzLWNvcmUtdGhlbWUnLiIpDQorDQorKGRlZmNvbnN0IG1v ZHVzLXRoZW1lcy1jdXN0b20tdmFyaWFibGVzDQorICAnKA0KKzs7OzsgYW5zaS1jb2xvcnMNCisg ICAgYChhbnNpLWNvbG9yLWZhY2VzLXZlY3RvciBbZGVmYXVsdCBib2xkIHNoYWRvdyBpdGFsaWMg dW5kZXJsaW5lIHN1Y2Nlc3Mgd2FybmluZyBlcnJvcl0pDQorICAgIGAoYW5zaS1jb2xvci1uYW1l cy12ZWN0b3IgWyJncmF5MzUiICxyZWQgLGdyZWVuICx5ZWxsb3cgLGJsdWUgLG1hZ2VudGEgLGN5 YW4gImdyYXk2NSJdKQ0KKzs7OzsgYXdlc29tZS10cmF5DQorICAgIGAoYXdlc29tZS10cmF5LW1v ZGUtbGluZS1hY3RpdmUtY29sb3IgLGJsdWUpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZGUtbGlu ZS1pbmFjdGl2ZS1jb2xvciAsYmctYWN0aXZlKQ0KKzs7OzsgZmx5bWFrZSBmcmluZ2UgaW5kaWNh dG9ycw0KKyAgICBgKGZseW1ha2UtZXJyb3ItYml0bWFwICcoZmx5bWFrZS1kb3VibGUtZXhjbGFt YXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkNCisgICAgYChmbHltYWtlLXdhcm5p bmctYml0bWFwICcoZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkN CisgICAgYChmbHltYWtlLW5vdGUtYml0bWFwICcoZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVt ZS1mcmluZ2UtY3lhbikpDQorOzs7OyBpYnVmZmVyDQorICAgIGAoaWJ1ZmZlci1kZWxldGlvbi1m YWNlICdtb2R1cy10aGVtZS1tYXJrLWRlbCkNCisgICAgYChpYnVmZmVyLWZpbHRlci1ncm91cC1u YW1lLWZhY2UgJ21vZHVzLXRoZW1lLW1hcmstc3ltYm9sKQ0KKyAgICBgKGlidWZmZXItbWFya2Vk LWZhY2UgJ21vZHVzLXRoZW1lLW1hcmstc2VsKQ0KKyAgICBgKGlidWZmZXItdGl0bGUtZmFjZSAn bW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlcikNCis7Ozs7IGhpZ2hsaWdodC10YWlsDQorICAgIGAo aGlnaGxpZ2h0LXRhaWwtY29sb3JzDQorICAgICAgJygoLGdyZWVuLXN1YnRsZS1iZyAuIDApDQor ICAgICAgICAoLGN5YW4tc3VidGxlLWJnIC4gMjApKSkNCis7Ozs7IGhsLXRvZG8NCisgICAgYCho bC10b2RvLWtleXdvcmQtZmFjZXMNCisgICAgICAnKCgiSE9MRCIgLiAseWVsbG93LWFsdCkNCisg ICAgICAgICgiVE9ETyIgLiAsbWFnZW50YSkNCisgICAgICAgICgiTkVYVCIgLiAsbWFnZW50YS1h bHQtb3RoZXIpDQorICAgICAgICAoIlRIRU0iIC4gLG1hZ2VudGEtYWx0KQ0KKyAgICAgICAgKCJQ Uk9HIiAuICxjeWFuKQ0KKyAgICAgICAgKCJPS0FZIiAuICxjeWFuLWFsdCkNCisgICAgICAgICgi RE9OVCIgLiAsZ3JlZW4tYWx0KQ0KKyAgICAgICAgKCJGQUlMIiAuICxyZWQpDQorICAgICAgICAo IkJVRyIgLiAscmVkKQ0KKyAgICAgICAgKCJET05FIiAuICxncmVlbikNCisgICAgICAgICgiTk9U RSIgLiAseWVsbG93LWFsdC1vdGhlcikNCisgICAgICAgICgiS0xVREdFIiAuICx5ZWxsb3cpDQor ICAgICAgICAoIkhBQ0siIC4gLHllbGxvdykNCisgICAgICAgICgiVEVNUCIgLiAscmVkLW51YW5j ZWQtZmcpDQorICAgICAgICAoIkZJWE1FIiAuICxyZWQtYWx0LW90aGVyKQ0KKyAgICAgICAgKCJY WFgrIiAuICxyZWQtYWx0KQ0KKyAgICAgICAgKCJSRVZJRVciIC4gLGN5YW4tYWx0LW90aGVyKQ0K KyAgICAgICAgKCJERVBSRUNBVEVEIiAuICxibHVlLW51YW5jZWQtZmcpKSkNCis7Ozs7IHBkZi10 b29scw0KKyAgICBgKHBkZi12aWV3LW1pZG5pZ2h0LWNvbG9ycw0KKyAgICAgICcoLGZnLW1haW4g LiAsYmctZGltKSkNCis7Ozs7IHZjLWFubm90YXRlIChDLXggdiBnKQ0KKyAgICBgKHZjLWFubm90 YXRlLWJhY2tncm91bmQgbmlsKQ0KKyAgICBgKHZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZSBu aWwpDQorICAgIGAodmMtYW5ub3RhdGUtY29sb3ItbWFwDQorICAgICAgJygoMjAgLiAscmVkKQ0K KyAgICAgICAgKDQwIC4gLG1hZ2VudGEpDQorICAgICAgICAoNjAgLiAsbWFnZW50YS1hbHQpDQor ICAgICAgICAoODAgLiAscmVkLWFsdCkNCisgICAgICAgICgxMDAgLiAseWVsbG93KQ0KKyAgICAg ICAgKDEyMCAuICx5ZWxsb3ctYWx0KQ0KKyAgICAgICAgKDE0MCAuICxmZy1zcGVjaWFsLXdhcm0p DQorICAgICAgICAoMTYwIC4gLGZnLXNwZWNpYWwtbWlsZCkNCisgICAgICAgICgxODAgLiAsZ3Jl ZW4pDQorICAgICAgICAoMjAwIC4gLGdyZWVuLWFsdCkNCisgICAgICAgICgyMjAgLiAsY3lhbi1h bHQtb3RoZXIpDQorICAgICAgICAoMjQwIC4gLGN5YW4tYWx0KQ0KKyAgICAgICAgKDI2MCAuICxj eWFuKQ0KKyAgICAgICAgKDI4MCAuICxmZy1zcGVjaWFsLWNvbGQpDQorICAgICAgICAoMzAwIC4g LGJsdWUpDQorICAgICAgICAoMzIwIC4gLGJsdWUtYWx0KQ0KKyAgICAgICAgKDM0MCAuICxibHVl LWFsdC1vdGhlcikNCisgICAgICAgICgzNjAgLiAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YCh2Yy1hbm5vdGF0ZS12ZXJ5LW9sZC1jb2xvciBuaWwpDQorOzs7OyB4dGVybS1jb2xvcg0KKyAg ICBgKHh0ZXJtLWNvbG9yLW5hbWVzIFsiYmxhY2siICxyZWQgLGdyZWVuICx5ZWxsb3cgLGJsdWUg LG1hZ2VudGEgLGN5YW4gImdyYXk2NSJdKQ0KKyAgICBgKHh0ZXJtLWNvbG9yLW5hbWVzLWJyaWdo dCBbImdyYXkzNSIgLHJlZC1hbHQgLGdyZWVuLWFsdCAseWVsbG93LWFsdCAsYmx1ZS1hbHQgLG1h Z2VudGEtYWx0ICxjeWFuLWFsdCAid2hpdGUiXSkNCisgICAgKGlmIChlcSBtb2R1cy10aGVtZXMt b3JnLWJsb2NrcyAncmFpbmJvdykNCisgICAgICBgKG9yZy1zcmMtYmxvY2stZmFjZXMgICAgICAg ICAgICAgIDsgVE9ETyB0aGlzIGxpc3Qgc2hvdWxkIGJlIGV4cGFuZGVkDQorICAgICAgICBgKCgi ZW1hY3MtbGlzcCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KKyAgICAgICAgICAoImVs aXNwIiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEpDQorICAgICAgICAgICgiY2xvanVyZSIg bW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KKyAgICAgICAgICAoImNsb2p1cmVzY3JpcHQi IG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCisgICAgICAgICAgKCJjIiBtb2R1cy10aGVt ZS1udWFuY2VkLWJsdWUpDQorICAgICAgICAgICgiYysrIiBtb2R1cy10aGVtZS1udWFuY2VkLWJs dWUpDQorICAgICAgICAgICgic2giIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQorICAgICAg ICAgICgic2hlbGwiIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQorICAgICAgICAgICgiaHRt bCIgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cpDQorICAgICAgICAgICgieG1sIiBtb2R1cy10 aGVtZS1udWFuY2VkLXllbGxvdykNCisgICAgICAgICAgKCJjc3MiIG1vZHVzLXRoZW1lLW51YW5j ZWQtcmVkKQ0KKyAgICAgICAgICAoInNjc3MiIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkKQ0KKyAg ICAgICAgICAoInB5dGhvbiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCisgICAgICAgICAg KCJpcHl0aG9uIiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEpDQorICAgICAgICAgICgiciIg bW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KKyAgICAgICAgICAoInlhbWwiIG1vZHVzLXRoZW1l LW51YW5jZWQtY3lhbikNCisgICAgICAgICAgKCJjb25mIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5 YW4pDQorICAgICAgICAgICgiZG9ja2VyIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pKSkNCisg ICAgICBgKG9yZy1zcmMtYmxvY2stZmFjZXMgJygpKSkpDQorICAgICJDdXN0b20gdmFyaWFibGVz IGZvciBgbW9kdXMtdGhlbWVzLWNvcmUtdGhlbWUnLiIpDQorDQorKHByb3ZpZGUgJ21vZHVzLXRo ZW1lcykNCis7OzsgbW9kdXMtdGhlbWVzLmVsIGVuZHMgaGVyZQ0KZGlmZiAtLWdpdCBhL2xpc3Av bW9kdXMtdGhlbWVzL21vZHVzLXZpdmVuZGktdGhlbWUuZWwgYi9saXNwL21vZHVzLXRoZW1lcy9t b2R1cy12aXZlbmRpLXRoZW1lLmVsDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMC4uZDEwZjUzOWU2NQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvbGlzcC9tb2R1cy10aGVtZXMv bW9kdXMtdml2ZW5kaS10aGVtZS5lbA0KQEAgLTAsMCArMSw3NSBAQA0KKzs7OyBtb2R1cy12aXZl bmRpLXRoZW1lLmVsIC0tLSBBY2Nlc3NpYmxlIGRhcmsgdGhlbWUgKFdDQUcgQUFBKSAtKi0gbGV4 aWNhbC1iaW5kaW5nOnQgLSotDQorDQorOzsgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjAgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorDQorOzsgQXV0aG9yOiBQcm90ZXNpbGFvcyBTdGF2 cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCis7OyBVUkw6IGh0dHBzOi8vZ2l0bGFiLmNvbS9w cm90ZXNpbGFvcy9tb2R1cy10aGVtZXMNCis7OyBWZXJzaW9uOiAxLjAuMg0KKzs7IFBhY2thZ2Ut UmVxdWlyZXM6ICgoZW1hY3MgIjI2LjEiKSkNCis7OyBLZXl3b3JkczogZmFjZXMsIHRoZW1lLCBh Y2Nlc3NpYmlsaXR5DQorDQorOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLg0KKw0K Kzs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5DQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQNCis7OyB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQorOzsNCis7OyBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0DQorOzsg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv Zg0KKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUgR05VDQorOzsgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLg0KKzs7DQorOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCis7OyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQorDQorOzs7IENvbW1l bnRhcnk6DQorOzsNCis7OyBNb2R1cyBWaXZlbmRpIGlzIHRoZSBkYXJrIHZhcmlhbnQgb2YgdGhl IE1vZHVzIHRoZW1lcyAoTW9kdXMgT3BlcmFuZGkNCis7OyBpcyB0aGUgbGlnaHQgb25lKS4gIFRo ZSB0aGVtZXMgYXJlIGRlc2lnbmVkIGZvciBjb2xvci1jb250cmFzdA0KKzs7IGFjY2Vzc2liaWxp dHkuICBNb3JlIHNwZWNpZmljYWxseToNCis7Ow0KKzs7ICAgICAxLiBQcm92aWRlIGEgY29uc2lz dGVudCBtaW5pbXVtIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gYmFja2dyb3VuZA0KKzs7ICAgICBh bmQgZm9yZWdyb3VuZCB2YWx1ZXMgb2YgNzoxIG9yIGhpZ2hlci4gIFRoaXMgbWVldHMgdGhlIGhp Z2hlc3QNCis7OyAgICAgc3VjaCBhY2Nlc3NpYmlsaXR5IGNyaXRlcmlvbiBwZXIgdGhlIGd1aWRl bGluZXMgb2YgdGhlIFdvcmxkd2lkZQ0KKzs7ICAgICBXZWIgQ29uc29ydGl1bSdzIFdvcmtpbmcg R3JvdXAgb24gQWNjZXNzaWJpbGl0eSAoV0NBRyBBQUENCis7OyAgICAgc3RhbmRhcmQpLg0KKzs7 DQorOzsgICAgIDIuIE9mZmVyIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcyBwb3Nz aWJsZS4gIFRoZSBsaXN0IGlzDQorOzsgICAgIGFscmVhZHkgcXVpdGUgbG9uZywgd2l0aCBtb3Jl IGFkZGl0aW9ucyB0byBmb2xsb3cgYXMgcGFydCBvZiB0aGUNCis7OyAgICAgb25nb2luZyBkZXZl bG9wbWVudCBwcm9jZXNzLg0KKzs7DQorOzsgRm9yIGEgY29tcGxldGUgdmlldyBvZiB0aGUgcHJv amVjdCwgYWxzbyByZWZlciB0byB0aGUgZm9sbG93aW5nIGZpbGVzDQorOzsgKHNob3VsZCBiZSBk aXN0cmlidXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5L2RpcmVjdG9yeSBhcyB0aGUNCis7OyBj dXJyZW50IGl0ZW0pOg0KKzs7DQorOzsgLSBtb2R1cy10aGVtZXMuZWwgICAgICAgICAgICAoTWFp biBjb2RlIHNoYXJlZCBiZXR3ZWVuIHRoZSB0aGVtZXMpDQorOzsgLSBtb2R1cy10aGVtZXMtY29y ZS5lbCAgICAgICAoQ29kZSB1c2VkIHRvIHByb2R1Y2UgdGhlIHRoZW1lcykNCis7OyAtIG1vZHVz LW9wZXJhbmRpLXRoZW1lLmVsICAgIChMaWdodCB0aGVtZSkNCisNCis7OzsgQ29kZToNCisNCisM DQorDQorKHJlcXVpcmUgJ21vZHVzLXRoZW1lcykNCisoZXZhbC13aGVuLWNvbXBpbGUNCisgIChy ZXF1aXJlICdtb2R1cy10aGVtZXMtY29yZSkpDQorDQorKGRlZnRoZW1lIG1vZHVzLXZpdmVuZGkN CisgICJEYXJrIHRoZW1lIHRoYXQgY29uZm9ybXMgd2l0aCB0aGUgaGlnaGVzdCBhY2Nlc3NpYmls aXR5DQorICBzdGFuZGFyZCBmb3IgY29sb3IgY29udHJhc3QgYmV0d2VlbiBiYWNrZ3JvdW5kIGFu ZCBmb3JlZ3JvdW5kDQorICBlbGVtZW50cyAoV0NBRyBBQUEpLiIpDQorDQorKG1vZHVzLXRoZW1l cy1jb3JlLXRoZW1lDQorICdtb2R1cy12aXZlbmRpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKHdo ZW4gKGFuZCAoYm91bmRwICdjdXN0b20tdGhlbWUtbG9hZC1wYXRoKSBsb2FkLWZpbGUtbmFtZSkN CisgIChhZGQtdG8tbGlzdCAnY3VzdG9tLXRoZW1lLWxvYWQtcGF0aA0KKyAgICAgICAgICAgICAg IChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5IChmaWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1u YW1lKSkpKQ0KKw0KKyhwcm92aWRlLXRoZW1lICdtb2R1cy12aXZlbmRpKQ0KKw0KKyhwcm92aWRl ICdtb2R1cy12aXZlbmRpLXRoZW1lKQ0KKw0KKzs7OyBtb2R1cy12aXZlbmRpLXRoZW1lLmVsIGVu ZHMgaGVyZQ0KLS0gDQoyLjI5LjINCg0K --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 08 07:03:38 2020 Received: (at 45068) by debbugs.gnu.org; 8 Dec 2020 12:03:38 +0000 Received: from localhost ([127.0.0.1]:56741 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kmbiU-00068u-5D for submit@debbugs.gnu.org; Tue, 08 Dec 2020 07:03:38 -0500 Received: from mail-wm1-f44.google.com ([209.85.128.44]:35516) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kmbiR-00068X-0E for 45068@debbugs.gnu.org; Tue, 08 Dec 2020 07:03:36 -0500 Received: by mail-wm1-f44.google.com with SMTP id e25so2148040wme.0 for <45068@debbugs.gnu.org>; Tue, 08 Dec 2020 04:03:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd-ie.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=pOQ/mjRGNb1G+ffobHqhdBTgYSNzdTH+isoMbRYT2G0=; b=nIKBjLOo1WF6J0D52/bbIuAxGsp4awjAOQc3NlURbGw2Q+9aAG7IDw84lxz72ahhaS 2akYbWDNQMgXTxAHat+8iJIRWgboJ30medwAbvhAKl41vLSossqlvqHWOsvD+BJ634Q3 RSPBrNBep7v7C6/xUgKzX/TQlKBJL9c+CvYnj3w8Vm+gRK4mlFTcbWU0fRYNRURqIqS5 tguICrpp2VzBq3OYkoyKFLxcbSM8twzPAwSRkjg7aDmQtkQIUtObie0vxfwGfNQ5pK4E QPGKWfUlWVtlgAQE0S49wwbG1t5isC/yeaHlD9yCw1Y1Yp1rRejmqhxR1QClMiUfi69o vG+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=pOQ/mjRGNb1G+ffobHqhdBTgYSNzdTH+isoMbRYT2G0=; b=MJZ+UEl78t05K5rovr2zMbhNRnXJ95pxnWN4xhC/EDg1BwamWiVLCBp+iK1QbVCcxe xFfoBMUBHOcjE83ji/a0Dz1jDYW9IV/VN/3t6WWAM5OFTVYx+vaFb+B6esbsk2o48W7B LiAk18WP24XRb5i8ynkyH97lAoE5js4zU7X1/W7ZgHxrqCpypNPSOTV26oHZBbxLd3Jq DWiAFWxqffMnljcSt8/3gs7t1nBJO017yhOvTWcNqRRTthjRp5A3tadM8NEvDXCEfKQP JAsS8pr+Vj3h756F8VnQ/HrJZSL4U1WBUahABEob0ZFqsW4zlCh5LVLq+n+ICpo58Vt4 rH6g== X-Gm-Message-State: AOAM531VArCRkfeOC1ONBXkTRScP6Q8rHBXkgxQJmMfpMo/eOYB+bFsF j5A74nWSO8QCmJPS+ya1OtZkgQ== X-Google-Smtp-Source: ABdhPJzBtkATxnO2wnIK3oCh1VGI0rgPWXf0M8TKyTKWoKEAi0mcwK2cjM8LX6RnOi8MJ/86Yc6UWw== X-Received: by 2002:a7b:c24b:: with SMTP id b11mr3596263wmj.168.1607429009136; Tue, 08 Dec 2020 04:03:29 -0800 (PST) Received: from localhost ([2a02:8084:20e2:c380:92bd:1bfd:38fc:fae2]) by smtp.gmail.com with ESMTPSA id t188sm3266461wmf.9.2020.12.08.04.03.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Dec 2020 04:03:28 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> Date: Tue, 08 Dec 2020 12:03:27 +0000 In-Reply-To: <87im9fgm27.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Sun, 06 Dec 2020 14:23:44 +0200") Message-ID: <87zh2ozer4.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > I have made some major changes to the Modus themes and tagged this as > the first major release. I am opening the present bug report because > this change has implications on how the themes are distributed with > Emacs. Thanks for your work on these themes! [...] > Those are the issues I could identify. As such, the attached patch > removes the old files and places the new ones in ../lisp/modus-themes/. > The themes' manual is updated to cover the new version. The NEWS entry > is edited accordingly. > > I understand you may object to the course of action covered by the > patch. Please inform me of a better way to address this issue. My > intent is to contribute version 1.0 of my themes to Emacs (1.0.2 to be > precise) and am prepared to make the requisite changes based on your > feedback. FWIW, I'd sooner make the infrastructure changes needed to make themes under etc/themes/ more modular and package-like, than start moving them out of etc/themes/. Otherwise, I'd expect themes under lisp/ to behave exactly like those under etc/themes/, which would make the etc/themes/ directory redundant. (Maybe we need a lisp/themes/ directory?) -- Basil From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 09 16:58:48 2020 Received: (at 45068) by debbugs.gnu.org; 9 Dec 2020 21:58:48 +0000 Received: from localhost ([127.0.0.1]:36395 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kn7U0-0003wA-47 for submit@debbugs.gnu.org; Wed, 09 Dec 2020 16:58:48 -0500 Received: from mail-pg1-f176.google.com ([209.85.215.176]:42116) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kn7Tz-0003vx-4d for 45068@debbugs.gnu.org; Wed, 09 Dec 2020 16:58:47 -0500 Received: by mail-pg1-f176.google.com with SMTP id w16so2186867pga.9 for <45068@debbugs.gnu.org>; Wed, 09 Dec 2020 13:58:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=ftxustNVxjMZMrX65WfhZMGr3r9hXfQgtV6aBHQbzbE=; b=mWODcl6ej4TQVQAlkZw4CMW6PyCAAVlXlGKbb1R956CAYmRgNdGJ+tVoFyPQhMhDLZ hv2VW+JZpMxpMkE7woaYO3g6VyoOoibmwrRMvKShCa19eWZQrY7SJgbo/7NAXMJ/ihak XpVn/BKs+JWrpn3eEZh6TknTfxBL7NIzT1IO+pEATTnH0jajfxASWqzDFGm+1NKqX0Pj mnW1IHGto5/sJ2+BGzpu7SG06sl9mMUOVNFfF14M8tO6uAHNSERHyb7U4MDb0qGiJJ1Z Z//CYs7mWXB1Jy1XLQ0e/RwwK1JNFF70FsrZX73mDG6ej2j6kyecLhiKNAj9jQlyaKaV oY8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=ftxustNVxjMZMrX65WfhZMGr3r9hXfQgtV6aBHQbzbE=; b=jlgJMf3GD/P0Z3KxPttrbddnOv/q0xZW3wWgKZyvPOtfb70ExGN090OJKRoGdVb6po IeVdVvKQ9IlKvf6F6L+Alw0kZ0PiBeH76Pz3pOnqfeD1y4mT0AFRfxiiDZEKdbtYJIb2 y2cy7Msgk8gUJkgK9JII60BRSb5cRunfhORKxU7veQIs7+XV4ZvN7vegcOPZqS3ICTRv vS9vbpGpY5017DTYayIc+qiugsj2SpD24046m87s+EFZDGkwfySnlbAqJO8tuDVAsQGr tu6paGX7Vk8+uNPwnpHj3ADbqYaSHMG9CGDppD4lzfpxHJ5k0CjcccpRF48Bvy81kbV+ jFxg== X-Gm-Message-State: AOAM530FIG0ypFu53EevjX1UChsEwwiPAy+Qw5vNkxUceXBvFW1bBdnF WaXRf2LRNDe67lCSjWzyynD6uZXQDQujWZsfOYc= X-Google-Smtp-Source: ABdhPJx5CXs1rRH+hPJI3PBNSEFV2WiU6GYfiBZwavgv1s3gs5JnjlyGwzSm8ikuw+Xi7DPg0v8GQjw9eQhGaYWU/9s= X-Received: by 2002:a17:90a:a090:: with SMTP id r16mr4048000pjp.179.1607551121064; Wed, 09 Dec 2020 13:58:41 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 9 Dec 2020 15:58:40 -0600 From: Stefan Kangas In-Reply-To: <87zh2ozer4.fsf@tcd.ie> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> MIME-Version: 1.0 Date: Wed, 9 Dec 2020 15:58:40 -0600 Message-ID: Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) To: "Basil L. Contovounesios" , Protesilaos Stavrou Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "Basil L. Contovounesios" writes: >> Those are the issues I could identify. As such, the attached patch >> removes the old files and places the new ones in ../lisp/modus-themes/. >> The themes' manual is updated to cover the new version. The NEWS entry >> is edited accordingly. >> >> I understand you may object to the course of action covered by the >> patch. Please inform me of a better way to address this issue. My >> intent is to contribute version 1.0 of my themes to Emacs (1.0.2 to be >> precise) and am prepared to make the requisite changes based on your >> feedback. > > FWIW, I'd sooner make the infrastructure changes needed to make themes > under etc/themes/ more modular and package-like, than start moving them > out of etc/themes/. > > Otherwise, I'd expect themes under lisp/ to behave exactly like those > under etc/themes/, which would make the etc/themes/ directory redundant. > (Maybe we need a lisp/themes/ directory?) Yes, I think if we start adding a number of these themes under "lisp/-theme/" it risks getting messy over time. Would it make sense to just add a "lisp/themes" directory, as Basil suggests, containing the new files modus-themes-core.el and modus-themes.el? That way, I assume that we can just keep the themes in "etc/themes" for now, while any theme that needs it can put its support libraries in "lisp/themes". Does that make sense? Would it work without any changes to load-theme? From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 10 02:57:58 2020 Received: (at 45068) by debbugs.gnu.org; 10 Dec 2020 07:57:58 +0000 Received: from localhost ([127.0.0.1]:36924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knGpq-0001tx-As for submit@debbugs.gnu.org; Thu, 10 Dec 2020 02:57:58 -0500 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:46055) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knGpn-0001tg-Ru for 45068@debbugs.gnu.org; Thu, 10 Dec 2020 02:57:56 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 65835FF802; Thu, 10 Dec 2020 07:57:47 +0000 (UTC) From: Protesilaos Stavrou To: Stefan Kangas Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> Date: Thu, 10 Dec 2020 09:57:46 +0200 In-Reply-To: (Stefan Kangas's message of "Wed, 9 Dec 2020 15:58:40 -0600") Message-ID: <87ft4edret.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2020-12-09, 15:58 -0600, Stefan Kangas wrote: > "Basil L. Contovounesios" writes: > >>> Those are the issues I could identify. As such, the attached patch >>> removes the old files and places the new ones in ../lisp/modus-themes/. >>> The themes' manual is updated to cover the new version. The NEWS entry >>> is edited accordingly. >>> >>> I understand you may object to the course of action covered by the >>> patch. Please inform me of a better way to address this issue. My >>> intent is to contribute version 1.0 of my themes to Emacs (1.0.2 to be >>> precise) and am prepared to make the requisite changes based on your >>> feedback. >> >> FWIW, I'd sooner make the infrastructure changes needed to make themes >> under etc/themes/ more modular and package-like, than start moving them >> out of etc/themes/. >> >> Otherwise, I'd expect themes under lisp/ to behave exactly like those >> under etc/themes/, which would make the etc/themes/ directory redundant. >> (Maybe we need a lisp/themes/ directory?) > > Yes, I think if we start adding a number of these themes under > "lisp/-theme/" it risks getting messy over time. > > Would it make sense to just add a "lisp/themes" directory, as Basil > suggests, containing the new files modus-themes-core.el and > modus-themes.el? > > That way, I assume that we can just keep the themes in "etc/themes" for > now, while any theme that needs it can put its support libraries in > "lisp/themes". Does that make sense? Would it work without any changes > to load-theme? Thank you Stefan and Basil! I agree that putting them all under lisp/ is not the right way to go right now. Today I will experiment with placing the libraries in lisp/themes and the derivatives in etc/themes. This will obfuscate the source code though, but I will try nonetheless and report back to you (without prejudice to any other ideas you or someone else may have). -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 10 03:25:45 2020 Received: (at 45068) by debbugs.gnu.org; 10 Dec 2020 08:25:45 +0000 Received: from localhost ([127.0.0.1]:36945 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knHGj-0002c6-FL for submit@debbugs.gnu.org; Thu, 10 Dec 2020 03:25:45 -0500 Received: from mail-pg1-f181.google.com ([209.85.215.181]:34962) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knHGg-0002bp-UD for 45068@debbugs.gnu.org; Thu, 10 Dec 2020 03:25:44 -0500 Received: by mail-pg1-f181.google.com with SMTP id n7so3545217pgg.2 for <45068@debbugs.gnu.org>; Thu, 10 Dec 2020 00:25:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=jGUd6V+wtKM78ovoENcJ4MRM7fE87G1D2KSPxI9uvfM=; b=Aql7ps6pyUIjLEQVlbjoHKGO+FA2wR/OAJoav9yQATLbO4auLLjQZons35AIyahp7c WWsOcn5//Sh6eN+y7XgyviPVE8Df6hP4fjiDFzYwPysEWYe9qcw1X3vfvwbFqbdUSn6j kpqLzGVnzdTKLoFlD2XG8LpXP09xv8QG8gWd2Bf4QRH0TPKcA7hxogcMHyKH+GvGbP8v EBsPJL9PhzVfu6P67clPRzOIBOlYkCu0AyvnKa/v67XuWEJvehNXxaoU9sFXqjPicS9k G/PNlxDrJ05j0dDcLdouCBN0RVn3Q4EWa+jumUcxrdMKMsF6zkvGsg8pK/GyxAEkudhd B1lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=jGUd6V+wtKM78ovoENcJ4MRM7fE87G1D2KSPxI9uvfM=; b=raHj9l1UeyN3dmuv7PwSExdsLFg1Bv0zwnZjHrwbm3/bQUlrQln04Td4M5RFA+ROa0 z9gNytpBUNimHldaX59vmrdumUtFLdNv3pcWpROPOAtG/xFsXsEF0ZcbRphaU75I/ROH 1rm80uLw4oKMgWuyDG2DFOSYeeILM5eLOgAPsCppd834hCyfEo6tUJIZUGTKp96kl9bm oZI3tGyBk33jM42AUH5DEvN9nFletJrA2znpoEE9STPMDerkIhMRJ+3wvM8xHgtSjNhG ipx7XssDoTtkJJKe7FbpLe9kUn0n/Uyai/4UbJsfJbqbbILK9P9x6tFt+U9pyyn0N5OX Nyog== X-Gm-Message-State: AOAM533DSMEoZ7yWmH4c3XaVVI9ry2thPUsgXbMglPhHGHsyfDS+hqai MlxzRZ1c1w8kLcmvfmFXzklbXZ2/O6gc376xH14= X-Google-Smtp-Source: ABdhPJyIPo2/FP6/nkquodOHnYG5hh5xOO67pgJdF1GbzKhF7tY1rx0l145WYa0zQWMVgFF1bVImsyR7gxJGkhxtJqE= X-Received: by 2002:a17:90a:fb43:: with SMTP id iq3mr6459489pjb.175.1607588736944; Thu, 10 Dec 2020 00:25:36 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 10 Dec 2020 02:25:36 -0600 From: Stefan Kangas In-Reply-To: <87ft4edret.fsf@protesilaos.com> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> MIME-Version: 1.0 Date: Thu, 10 Dec 2020 02:25:36 -0600 Message-ID: Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) To: Protesilaos Stavrou Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > I agree that putting them all under lisp/ is not the right way to go > right now. Today I will experiment with placing the libraries in > lisp/themes and the derivatives in etc/themes. This will obfuscate the > source code though, but I will try nonetheless and report back to you > (without prejudice to any other ideas you or someone else may have). Thanks! Looking forward to seeing the new version in Emacs. Could you explain how it would obfuscate the source code? I'm not sure I understand that part. From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 10 06:46:53 2020 Received: (at 45068) by debbugs.gnu.org; 10 Dec 2020 11:46:53 +0000 Received: from localhost ([127.0.0.1]:37140 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knKPN-0007kv-EE for submit@debbugs.gnu.org; Thu, 10 Dec 2020 06:46:53 -0500 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:44069) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knKPL-0007kh-Oz for 45068@debbugs.gnu.org; Thu, 10 Dec 2020 06:46:52 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 7EB85FF80B; Thu, 10 Dec 2020 11:46:38 +0000 (UTC) From: Protesilaos Stavrou To: Stefan Kangas Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> Date: Thu, 10 Dec 2020 13:46:36 +0200 In-Reply-To: (Stefan Kangas's message of "Thu, 10 Dec 2020 02:25:36 -0600") Message-ID: <87zh2ldgtf.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --=-=-= Content-Type: text/plain On 2020-12-10, 02:25 -0600, Stefan Kangas wrote: > Protesilaos Stavrou writes: > >> I agree that putting them all under lisp/ is not the right way to go >> right now. Today I will experiment with placing the libraries in >> lisp/themes and the derivatives in etc/themes. This will obfuscate the >> source code though, but I will try nonetheless and report back to you >> (without prejudice to any other ideas you or someone else may have). > > Thanks! Looking forward to seeing the new version in Emacs. > > Could you explain how it would obfuscate the source code? I'm not sure > I understand that part. I followed your advice in reviewing my patch. Please find it attached. In short: + The 'modus-operandi-theme' and 'modus-vivendi-theme' are in etc/themes. - Standard commands like 'load-theme' and 'enable-theme' work as intended. - Theme-level functions/commands, such as 'modus-themes-toggle' work as expected. + The other two files, 'modus-themes-core.el' and 'modus-themes.el' are placed under lisp/themes. Note I tried to edit the texi file in light of bug#45141 and I think I did everything right, but I cannot run that command locally---it is slow and my hardware's temparature rises considerably. Perhaps the texi file needs to be edited further, in which case I am prepared to do whatever is necessary (and apologies in advance for taking too much out of your time). * * * On the "obfuscation" point I mentioned before: I expressed myself poorly. What I thought was that it would be difficult to study the theme's code, but one upside (I think) of the aforementioned changes is that M-x find-library now lists the files I placed in lisp/themes. -- Protesilaos Stavrou protesilaos.com --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-Update-Modus-themes-1.0.2-backward-incompatible.patch Content-Transfer-Encoding: base64 RnJvbSA2ZjBmNmY1MzZiMTRlMTY4ZTQ2NDcyYTI3MmExNDY2YTkxNDg2ZjA0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5mb0Bwcm90ZXNpbGFv cy5jb20+DQpEYXRlOiBUaHUsIDEwIERlYyAyMDIwIDEyOjUxOjAyICswMjAwDQpTdWJqZWN0OiBb UEFUQ0hdIFVwZGF0ZSBNb2R1cyB0aGVtZXMgMS4wLjIgKGJhY2t3YXJkLWluY29tcGF0aWJsZSkN Cg0KKiBldGMvdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsOiBBZGQgbmV3ICdtb2R1cy1v cGVyYW5kaScgZmlsZS4NCkRlbGV0ZSBvbGQgdmVyc2lvbi4NCg0KKiBldGMvdGhlbWVzL21vZHVz LXZpdmVuZGktdGhlbWUuZWw6IEFkZCBuZXcgJ21vZHVzLXZpdmVuZGknIGZpbGUuDQpEZWxldGUg b2xkIHZlcnNpb24uDQoNCiogbGlzcC90aGVtZXMvbW9kdXMtdGhlbWVzLmVsOiBBZGQgbmV3IGZp bGUgdGhhdCBjb250YWlucyBhbGwgY29tbW9uDQpjb2RlIGJldHdlZW4gdGhlIHR3byB0aGVtZXMu DQoNCiogbGlzcC90aGVtZXMvbW9kdXMtdGhlbWVzLWNvcmUuZWw6IEFkZCBuZXcgZmlsZSB0aGF0 IGNvbnRhaW5zIHRoZQ0KbWFjcm8gdGhhdCBpcyB1c2VkIHRvIGV4cGFuZCBib3RoIHRoZW1lcy4N Cg0KKiBkb2MvbWlzYy9tb2R1cy10aGVtZXMudGV4aTogVXBkYXRlIG1hbnVhbCB0byB2ZXJzaW9u IDEuMC4yLg0KDQoqIGV0Yy9ORVdTOiBEaXJlY3QgdXNlcnMgdG8gdGhlIG1hbnVhbC4NCi0tLQ0K IGRvYy9taXNjL21vZHVzLXRoZW1lcy50ZXhpICAgICAgICAgfCAxNzkzICsrKystLS0tLS0NCiBl dGMvTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNyArLQ0KIGV0Yy90aGVtZXMv bW9kdXMtb3BlcmFuZGktdGhlbWUuZWwgfCA0NjYyICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N CiBldGMvdGhlbWVzL21vZHVzLXZpdmVuZGktdGhlbWUuZWwgIHwgNDY2MiArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQogbGlzcC90aGVtZXMvbW9kdXMtdGhlbWVzLWNvcmUuZWwgICB8ICAgODAg Kw0KIGxpc3AvdGhlbWVzL21vZHVzLXRoZW1lcy5lbCAgICAgICAgfCA1MTY0ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysNCiA2IGZpbGVzIGNoYW5nZWQsIDYwMjUgaW5zZXJ0aW9ucygrKSwg MTAzNDMgZGVsZXRpb25zKC0pDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpc3AvdGhlbWVzL21vZHVz LXRoZW1lcy1jb3JlLmVsDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpc3AvdGhlbWVzL21vZHVzLXRo ZW1lcy5lbA0KDQpkaWZmIC0tZ2l0IGEvZG9jL21pc2MvbW9kdXMtdGhlbWVzLnRleGkgYi9kb2Mv bWlzYy9tb2R1cy10aGVtZXMudGV4aQ0KaW5kZXggZGUzY2NkMjdjNC4uNzBmMmUwOGQ5MSAxMDA2 NDQNCi0tLSBhL2RvYy9taXNjL21vZHVzLXRoZW1lcy50ZXhpDQorKysgYi9kb2MvbWlzYy9tb2R1 cy10aGVtZXMudGV4aQ0KQEAgLTI0LDE2ICsyNCwxNyBAQA0KIEBub2RlIFRvcA0KIEB0b3AgTW9k dXMgdGhlbWVzIGZvciBHTlUgRW1hY3MNCiANCitAY29weWluZw0KIFRoaXMgbWFudWFsLCB3cml0 dGVuIGJ5IFByb3Rlc2lsYW9zIFN0YXZyb3UsIGRlc2NyaWJlcyB0aGUgY3VzdG9taXphdGlvbg0K IG9wdGlvbnMgZm9yIHRoZSBAc2FtcHttb2R1cy1vcGVyYW5kaX0gYW5kIEBzYW1we21vZHVzLXZp dmVuZGl9IHRoZW1lcywgYW5kIHByb3ZpZGVzDQogZXZlcnkgb3RoZXIgcGllY2Ugb2YgaW5mb3Jt YXRpb24gcGVydGluZW50IHRvIHRoZW0uDQogDQotVGhlIGRvY3VtZW50YXRpb24gZnVybmlzaGVk IGhlcmVpbiBjb3JyZXNwb25kcyB0byB2ZXJzaW9uIDAuMTMuMCwNCi1yZWxlYXNlZCBvbiAyMDIw LTEwLTA4LiAgQW55IHJlZmVyZW5jZSB0byBhIG5ld2VyIGZlYXR1cmUgd2hpY2ggZG9lcw0KK1Ro ZSBkb2N1bWVudGF0aW9uIGZ1cm5pc2hlZCBoZXJlaW4gY29ycmVzcG9uZHMgdG8gdmVyc2lvbiAx LjAuMiwNCityZWxlYXNlZCBvbiAyMDIwLTEyLTA2LiAgQW55IHJlZmVyZW5jZSB0byBhIG5ld2Vy IGZlYXR1cmUgd2hpY2ggZG9lcw0KIG5vdCB5ZXQgZm9ybSBwYXJ0IG9mIHRoZSBsYXRlc3QgdGFn Z2VkIGNvbW1pdCwgaXMgZXhwbGljaXRseSBtYXJrZWQgYXMNCiBzdWNoLg0KIA0KLUNvcHlyaWdo dCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCitDb3B5cmlnaHQgQGNv cHlyaWdodHt9IDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQogDQogQHF1b3Rh dGlvbg0KIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBt b2RpZnkgdGhpcw0KQEAgLTQzLDYgKzQ0LDcgQEAgVG9wDQogYW5kIHdpdGggbm8gQmFjay1Db3Zl ciBUZXh0cy4NCiANCiBAZW5kIHF1b3RhdGlvbg0KK0BlbmQgY29weWluZw0KIA0KIEBlbmQgaWZu b3R0ZXgNCiANCkBAIC04MSwyNSArODMsMjYgQEAgVG9wDQogRW5hYmxlIGFuZCBsb2FkDQogDQog KiBMb2FkIGF1dG9tYXRpY2FsbHk6Og0KLSogTG9hZCBhdCBhIGdpdmVuIHRpbWUgb3IgYXQgc3Vu c2V0L3N1bnJpc2U6Og0KICogVG9nZ2xlIGJldHdlZW4gdGhlIHRoZW1lcyBvbiBkZW1hbmQ6Og0K LSogQ29uZmlndXJlIG9wdGlvbnMgcHJpb3IgdG8gbG9hZGluZzo6DQorKiBDb25maWd1cmUgb3B0 aW9ucyBwcmlvciB0byBsb2FkaW5nIGEgdGhlbWU6Og0KKyogU2FtcGxlIGNvbmZpZ3VyYXRpb24g Zm9yIHVzZS1wYWNrYWdlOjoNCiANCiBDdXN0b21pemF0aW9uIE9wdGlvbnMNCiANCiAqIEJvbGQg Y29uc3RydWN0czo6ICAgICAgICAgICAgICBUb2dnbGUgYm9sZCBjb25zdHJ1Y3RzIGluIGNvZGUN CiAqIFNsYW50ZWQgY29uc3RydWN0czo6ICAgICAgICAgICBUb2dnbGUgc2xhbnRlZCBjb25zdHJ1 Y3RzIChpdGFsaWNzKSBpbiBjb2RlDQotKiBTeW50YXggaGlnaGxpZ2h0aW5nOjogICAgICAgICAg VG9nZ2xlIHN1YnRsZSBjb2xvcmF0aW9uIGluIHByb2dyYW1taW5nIG1vZGVzDQorKiBTeW50YXgg c3R5bGVzOjogICAgICAgICAgICAgICAgQ2hvb3NlIHRoZSBvdmVyYWxsIGFlc3RoZXRpYyBvZiBj b2RlIHN5bnRheA0KICogTm8gbWl4ZWQgZm9udHM6OiAgICAgICAgICAgICAgIFRvZ2dsZSBtaXhp bmcgb2YgZm9udCBmYW1pbGllcw0KLSogTGluayB1bmRlcmxpbmU6OiAgICAgICAgICAgICAgIFRv Z2dsZSB1bmRlcmxpbmVkIHRleHQgaW4gbGlua3MNCisqIExpbmsgc3R5bGVzOjogICAgICAgICAg ICAgICAgICBDaG9vc2UgbGluayBjb2xvciBpbnRlbnNpdHkgZm9yIHRoZSB0ZXh0IG9yIHVuZGVy bGluZSwgb3Igbm8gdW5kZXJsaW5lIGF0IGFsbA0KICogQ29tbWFuZCBwcm9tcHRzOjogICAgICAg ICAgICAgIENob29zZSBhbW9uZyBwbGFpbiwgc3VidGxlLCBvciBpbnRlbnNlIHByb21wdHMNCi0q IE1vZGUgbGluZTo6ICAgICAgICAgICAgICAgICAgICBDaG9vc2UgYW1vbmcgcGxhaW4sIHRocmVl LWRpbWVuc2lvbiwgb3IgbW9vZHktY29tcGxpYW50IHN0eWxlcw0KKyogTW9kZSBsaW5lOjogICAg ICAgICAgICAgICAgICAgIENob29zZSBhbW9uZyBwbGFpbiwgdGhyZWUtZGltZW5zaW9uYWwsIG9y IE1vb2R5LWNvbXBsaWFudCBzdHlsZXMNCiAqIENvbXBsZXRpb24gVUlzOjogICAgICAgICAgICAg ICBDaG9vc2UgYW1vbmcgc3RhbmRhcmQsIG1vZGVyYXRlLCBvciBvcGluaW9uYXRlZCBsb29rcw0K LSogRnJpbmdlczo6ICAgICAgICAgICAgICAgICAgICAgIENob29zZSBhbW9uZyBwbGFpbiwgc3Vi dGxlLCBvciBpbnRlbnNlIGZyaW5nZSB2aXNpYmlsaXR5DQorKiBGcmluZ2VzOjogICAgICAgICAg ICAgICAgICAgICAgQ2hvb3NlIGFtb25nIGludmlzaWJsZSwgc3VidGxlLCBvciBpbnRlbnNlIGZy aW5nZSB2aXNpYmlsaXR5DQogKiBMaW5lIGhpZ2hsaWdodGluZzo6ICAgICAgICAgICAgVG9nZ2xl IGludGVuc2Ugc3R5bGUgZm9yIGN1cnJlbnQgbGluZSBoaWdobGlnaHRpbmcNCi0qIE1hdGNoaW5n IHBhcmVudGhlc2VzOjogICAgICAgICBUb2dnbGUgaW50ZW5zZSBzdHlsZSBmb3IgbWF0Y2hpbmcg ZGVsaW1pdGVycy9wYXJlbnRoZXNlcw0KKyogTWF0Y2hpbmcgcGFyZW50aGVzZXM6OiAgICAgICAg IENob29zZSBiZXR3ZWVuIHZhcmlvdXMgc3R5bGVzIGZvciBtYXRjaGluZyBkZWxpbWl0ZXJzL3Bh cmVudGhlc2VzDQorKiBBY3RpdmUgcmVnaW9uOjogICAgICAgICAgICAgICAgQ2hvb3NlIGJldHdl ZW4gdmFyaW91cyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgcmVnaW9uDQogKiBEaWZmczo6ICAgICAg ICAgICAgICAgICAgICAgICAgQ2hvb3NlIGFtb25nIGludGVuc2UsIGRlc2F0dXJhdGVkLCBvciB0 ZXh0LW9ubHkgZGlmZnMNCi0qIE9yZyBtb2RlIGJsb2Nrczo6ICAgICAgICAgICAgICBDaG9vc2Ug YW1vbmcgcGxhaW4sIGdyZXlzY2FsZSwgb3IgcmFpbmJvdyBzdHlsZXMNCisqIE9yZyBtb2RlIGJs b2Nrczo6ICAgICAgICAgICAgICBDaG9vc2UgYW1vbmcgcGxhaW4sIGdyYXlzY2FsZSwgb3IgcmFp bmJvdyBzdHlsZXMNCiAqIEhlYWRpbmcgc3R5bGVzOjogICAgICAgICAgICAgICBDaG9vc2UgYW1v bmcgc2V2ZXJhbCBzdHlsZXMsIGFsc28gcGVyIGhlYWRpbmcgbGV2ZWwNCiAqIFNjYWxlZCBoZWFk aW5nczo6ICAgICAgICAgICAgICBUb2dnbGUgc2NhbGluZyBvZiBoZWFkaW5ncw0KICogSGVhZGlu Z3MnIGZvbnQ6OiAgICAgICAgICAgICAgIFRvZ2dsZSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIGZv bnRzIGluIGhlYWRpbmdzDQpAQCAtMTEwLDIyICsxMTMsMjMgQEAgVG9wDQogDQogQWR2YW5jZWQg Y3VzdG9taXphdGlvbiAoZG8taXQteW91cnNlbGYpDQogDQotKiBUd2VhayBjb2xvcnMgKERJWSk6 OiAgICAgICAgICAgRGVjbGFyZSB5b3VyIG93biBwYWxldHRlIG92ZXJyaWRlcw0KKyogVHdlYWsg ZmFjZXMgKERJWSk6OiAgICAgICAgICAgIERlY2xhcmUgeW91ciBvd24gZmFjZSBzcGVjcw0KICog Rm9udCBjb25maWdzIChESVkpOjogICAgICAgICAgIE9wdGltaXNlIGZvciBtaXhlZCB0eXBlZmFj ZSBidWZmZXJzDQogKiBPcmcgdXNlciBmYWNlcyAoRElZKTo6ICAgICAgICAgRXh0ZW5kIHN0eWxl cyBmb3Igb3JnLW1vZGUga2V5d29yZHMgYW5kIHByaW9yaXRpZXMNCisqIFdDQUcgdGVzdCAoRElZ KTo6ICAgICAgICAgICAgICBBcHBseSB0aGUgV0NBRyBmb3JtdWxhIHRvIGNvbG9yIHZhbHVlcyBv ZiB5b3VyIGNob29zaW5nDQorKiBMb2FkIGF0IHRpbWUgKERJWSk6OiAgICAgICAgICAgU3dpdGNo IGJldHdlZW4gdGhlIHRoZW1lcyBkZXBlbmRpbmcgb24gdGhlIHRpbWUgb2YgZGF5DQogDQogRmFj ZSBjb3ZlcmFnZQ0KIA0KICogU3VwcG9ydGVkIHBhY2thZ2VzOjogICAgICAgICAgIEZ1bGwgbGlz dCBvZiBjb3ZlcmVkIGZhY2UgZ3JvdXBzDQotKiBDb3ZlcmVkIGluZGlyZWN0bHk6Og0KLSogV2ls bCBOT1QgYmUgc3VwcG9ydGVkOjoNCisqIEluZGlyZWN0bHkgY292ZXJlZCBwYWNrYWdlczo6DQog DQogTm90ZXMgZm9yIGluZGl2aWR1YWwgcGFja2FnZXMNCiANCiAqIE5vdGUgb24gY29tcGFueS1t b2RlIG92ZXJsYXkgcG9wLXVwOjoNCiAqIE5vdGUgZm9yIEVSQyBlc2NhcGVkIGNvbG9yIHNlcXVl bmNlczo6DQogKiBOb3RlIGZvciBwb3dlcmxpbmUgb3Igc3BhY2VsaW5lOjoNCi0qIE5vdGUgb24g c2hyIGNvbG9yczo6DQorKiBOb3RlIG9uIFNIUiBjb2xvcnM6Og0KICogTm90ZSBmb3IgSGVsbSBn cmVwOjoNCiAqIE5vdGUgb24gdmMtYW5ub3RhdGUtYmFja2dyb3VuZC1tb2RlOjoNCiANCkBAIC0x NTksMTAgKzE2MywxMCBAQCBPdmVydmlldw0KIA0KIFRvIGVuc3VyZSB0aGF0IHVzZXJzIGhhdmUg YSBjb25zaXN0ZW50bHkgYWNjZXNzaWJsZSBleHBlcmllbmNlLCB0aGUNCiB0aGVtZXMgc3RyaXZl IHRvIGFjaGlldmUgYXMgY2xvc2UgdG8gZnVsbCBmYWNlIGNvdmVyYWdlIGFzIHBvc3NpYmxlDQot KHNlZSBAcmVme0ZhY2UgY292ZXJhZ2V9KS4NCisoc2VlIEB4cmVme0ZhY2UgY292ZXJhZ2V9KS4N CiANCiBTdGFydGluZyB3aXRoIHZlcnNpb24gMC4xMi4wIGFuZCBvbndhcmRzLCB0aGUgdGhlbWVz IGFyZSBidWlsdCBpbnRvIEdOVQ0KLUVtYWNzIChjdXJyZW50IHZlcnNpb24gaXMgMC4xMy4wKS4N CitFbWFjcy4NCiANCiBAbWVudQ0KICogSG93IGRvIHRoZSB0aGVtZXMgbG9vayBsaWtlOjoNCkBA IC0xNzIsOCArMTc2LDggQEAgT3ZlcnZpZXcNCiBAbm9kZSBIb3cgZG8gdGhlIHRoZW1lcyBsb29r IGxpa2UNCiBAc2VjdGlvbiBIb3cgZG8gdGhlIHRoZW1lcyBsb29rIGxpa2UNCiANCi1DaGVjayB0 aGUgd2ViIHBhZ2Ugd2l0aCBAdXJlZntodHRwczovL3Byb3Rlc2lsYW9zLmNvbS9tb2R1cy10aGVt ZXMtcGljdHVyZXMvLCB0aGUgc2NyZWVuIHNob3RzfS4gIFRoZXJlIGFyZSBsb3RzIG9mIHNjZW5h cmlvcyBvbg0KLWRpc3BsYXkgdGhhdCBkcmF3IGF0dGVudGlvbiB0byBkZXRhaWxzIGFuZCBpbXBv cnRhbnQgYXNwZWN0cyBpbiB0aGUNCitDaGVjayB0aGUgd2ViIHBhZ2Ugd2l0aCBAdXJlZntodHRw czovL3Byb3Rlc2lsYW9zLmNvbS9tb2R1cy10aGVtZXMtcGljdHVyZXMvLCB0aGUgc2NyZWVuIHNo b3RzfS4gIFRoZXJlIGFyZSBsb3RzIG9mIHNjZW5hcmlvcw0KK29uIGRpc3BsYXkgdGhhdCBkcmF3 IGF0dGVudGlvbiB0byBkZXRhaWxzIGFuZCBpbXBvcnRhbnQgYXNwZWN0cyBpbiB0aGUNCiBkZXNp Z24gb2YgdGhlIHRoZW1lcy4gIFRoZXkgYWxzbyBzaG93Y2FzZSB0aGUgbnVtZXJvdXMgY3VzdG9t aXphdGlvbg0KIG9wdGlvbnMuDQogDQpAQCAtMTkwLDExICsxOTQsOCBAQCBJbnN0YWxsYXRpb24N CiANCiBUaGUgTW9kdXMgdGhlbWVzIGFyZSBkaXN0cmlidXRlZCB3aXRoIEVtYWNzIHN0YXJ0aW5n IHdpdGggdmVyc2lvbiAyOC4xLg0KIE9uIG9sZGVyIHZlcnNpb25zIG9mIEVtYWNzLCB0aGV5IGNh biBiZSBpbnN0YWxsZWQgdXNpbmcgRW1hY3MnIHBhY2thZ2UNCi1tYW5hZ2VyIG9yIG1hbnVhbGx5 IGZyb20gdGhlaXIgY29kZSByZXBvc2l0b3J5Lg0KLQ0KLU1vZHVzIE9wZXJhbmRpIChsaWdodCB0 aGVtZSkgYW5kIE1vZHVzIFZpdmVuZGkgKGRhcmspIGFyZSBub3JtYWxseQ0KLWRpc3RyaWJ1dGVk IGFzIHN0YW5kYWxvbmUgcGFja2FnZXMgaW4gRW1hY3Mtc3BlY2lmaWMgYXJjaGl2ZXMuICBUaGVy ZQ0KLWFsc28gZXhpc3QgcGFja2FnZXMgZm9yIEdOVS9MaW51eCBkaXN0cmlidXRpb25zLg0KK21h bmFnZXIgb3IgbWFudWFsbHkgZnJvbSB0aGVpciBjb2RlIHJlcG9zaXRvcnkuICBUaGVyZSBhbHNv IGV4aXN0DQorcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgb2YgR05VL0xpbnV4Lg0KIA0KIEBt ZW51DQogKiBJbnN0YWxsIGZyb20gdGhlIGFyY2hpdmVzOjoNCkBAIC0yMDQsMTggKzIwNSwyMiBA QCBJbnN0YWxsYXRpb24NCiBAbm9kZSBJbnN0YWxsIGZyb20gdGhlIGFyY2hpdmVzDQogQHNlY3Rp b24gSW5zdGFsbCBmcm9tIHRoZSBhcmNoaXZlcw0KIA0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRo ZW1lfSBhbmQgQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZX0gYXJlDQotYXZhaWxhYmxlIGZyb20g dGhlIEdOVSBFTFBBIGFyY2hpdmUsIHdoaWNoIGlzIGNvbmZpZ3VyZWQgYnkgZGVmYXVsdC4NCitU aGUgQHNhbXB7bW9kdXMtdGhlbWVzfSBwYWNrYWdlIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBHTlUg RUxQQSBhcmNoaXZlLCB3aGljaA0KK2lzIGNvbmZpZ3VyZWQgYnkgZGVmYXVsdC4NCiANCiBQcmlv ciB0byBxdWVyeWluZyBhbnkgcGFja2FnZSBhcmNoaXZlLCBtYWtlIHN1cmUgdG8gaGF2ZSB1cGRh dGVkIHRoZQ0KLWluZGV4LCB3aXRoIEBzYW1we00teCBwYWNrYWdlLXJlZnJlc2gtY29udGVudHN9 LiAgVGhlbiBhbGwgeW91IG5lZWQgdG8gZG8gaXMNCi10eXBlIEBzYW1we00teCBwYWNrYWdlLWlu c3RhbGx9IGFuZCBzcGVjaWZ5IHRoZSB0aGVtZSBvZiB5b3VyIGNob2ljZS4NCitpbmRleCwgd2l0 aCBAa2Jke00teCBwYWNrYWdlLXJlZnJlc2gtY29udGVudHN9LiAgVGhlbiBhbGwgeW91IG5lZWQg dG8gZG8gaXMNCit0eXBlIEBrYmR7TS14IHBhY2thZ2UtaW5zdGFsbH0gYW5kIHNwZWNpZnkgdGhl IEBzYW1we21vZHVzLXRoZW1lc30uDQorDQorTm90ZSB0aGF0IG9sZGVyIHZlcnNpb25zIG9mIHRo ZSB0aGVtZXMgdXNlZCB0byBiZSBkaXN0cmlidXRlZCBhcw0KK3N0YW5kYWxvbmUgcGFja2FnZXMu ICBUaGlzIHByYWN0aWNlIGhhcyBiZWVuIGRpc2NvbnRpbnVlZCBzdGFydGluZyB3aXRoDQordmVy c2lvbiAxLjAuMCBvZiB0aGlzIHByb2plY3QuDQogDQogQG5vZGUgSW5zdGFsbCBvbiBHTlUvTGlu dXgNCiBAc2VjdGlvbiBJbnN0YWxsIG9uIEdOVS9MaW51eA0KIA0KLVRoZSB0aGVtZXMgYXJlIGFs c28gYXZhaWxhYmxlIGZyb20gdGhlIGFyY2hpdmVzIG9mIHNvbWUgR05VL0xpbnV4DQotZGlzdHJp YnV0aW9ucy4gIFRoZXNlIHNob3VsZCBjb3JyZXNwb25kIHRvIGEgdGFnZ2VkIHJlbGVhc2UgcmF0 aGVyIHRoYW4NCitUaGUgdGhlbWVzIGFyZSBhbHNvIGF2YWlsYWJsZSBmcm9tIHRoZSBhcmNoaXZl cyBvZiBzb21lIGRpc3RyaWJ1dGlvbnMgb2YNCitHTlUvTGludXguICBUaGVzZSBzaG91bGQgY29y cmVzcG9uZCB0byBhIHRhZ2dlZCByZWxlYXNlIHJhdGhlciB0aGFuDQogYnVpbGRpbmcgZGlyZWN0 bHkgZnJvbSB0aGUgbGF0ZXN0IEdpdCBjb21taXQuICBJdCBhbGwgZGVwZW5kcyBvbiB0aGUNCiBk aXN0cm8ncyBwYWNrYWdpbmcgcG9saWNpZXMuDQogDQpAQCAtMjQwLDE3ICsyNDUsMTAgQEAgRGVi aWFuIDExIEJ1bGxzZXllDQogQG5vZGUgR05VIEd1aXgNCiBAc3Vic2VjdGlvbiBHTlUgR3VpeA0K IA0KLVVzZXJzIG9mIGVpdGhlciB0aGUgR3VpeCBTeXN0ZW0gKHRoZSBkaXN0cm8pIG9yIGp1c3Qg R3VpeCAodGhlIHBhY2thZ2UNCi1tYW5hZ2VyKSBjYW4gZ2V0IGVhY2ggdGhlbWUgYXMgYSBzdGFu ZGFsb25lIHBhY2thZ2UuDQotDQotQGV4YW1wbGUNCi1ndWl4IHBhY2thZ2UgLWkgZW1hY3MtbW9k dXMtb3BlcmFuZGktdGhlbWUNCi1AZW5kIGV4YW1wbGUNCi0NCi1BbmQvb3I6DQorVXNlcnMgb2Yg R3VpeCBjYW4gZ2V0IHRoZSB0aGVtZXMgd2l0aCB0aGlzIGNvbW1hbmQ6DQogDQogQGV4YW1wbGUN Ci1ndWl4IHBhY2thZ2UgLWkgZW1hY3MtbW9kdXMtdml2ZW5kaS10aGVtZQ0KK2d1aXggcGFja2Fn ZSAtaSBlbWFjcy1tb2R1cy10aGVtZXMNCiBAZW5kIGV4YW1wbGUNCiANCiBAbm9kZSBFbmFibGUg YW5kIGxvYWQNCkBAIC0yNTgsMjEgKzI1NiwzMCBAQCBFbmFibGUgYW5kIGxvYWQNCiANCiBUaGlz IHNlY3Rpb24gZG9jdW1lbnRzIGhvdyB0byBsb2FkIHRoZSB0aGVtZSBvZiB5b3VyIGNob2ljZSBh bmQgaG93IHRvDQogZnVydGhlciBjb250cm9sIGl0cyBpbml0aWFsaXphdGlvbi4gIEl0IGFsc28g aW5jbHVkZXMgc29tZSBzYW1wbGUgY29kZQ0KLXNuaXBwZXRzIHRoYXQgY291bGQgaGVscCB5b3Ug aW4gdGhlIHRhc2ssIGVzcGVjaWFsbHkgaWYgeW91IGludGVuZCB0bw0KLXVzZSBib3RoIE1vZHVz IE9wZXJhbmRpIGFuZCBNb2R1cyBWaXZlbmRpLg0KK3NuaXBwZXRzIHRoYXQgY291bGQgaGVscCB5 b3UgaW4gdGhlIHRhc2suDQorDQorQmVmb3JlIHlvdSBsb2FkIGEgdGhlbWUsIGl0IGlzIG5lY2Vz c2FyeSB0byBlbmFibGUgdGhlIGxpYnJhcmllczoNCisNCitAbGlzcA0KKyhyZXF1aXJlICdtb2R1 cy10aGVtZXMpICAgICAgICAgICAgICAgICA7IGNvbW1vbiBjb2RlDQorKHJlcXVpcmUgJ21vZHVz LW9wZXJhbmRpLXRoZW1lKSAgICAgICAgIDsgbGlnaHQgdGhlbWUNCisocmVxdWlyZSAnbW9kdXMt dml2ZW5kaS10aGVtZSkgICAgICAgICAgOyBkYXJrIHRoZW1lDQorQGVuZCBsaXNwDQorDQorQHJl ZntTYW1wbGUgY29uZmlndXJhdGlvbiBmb3IgdXNlLXBhY2thZ2V9Lg0KIA0KIEBtZW51DQogKiBM b2FkIGF1dG9tYXRpY2FsbHk6Og0KLSogTG9hZCBhdCBhIGdpdmVuIHRpbWUgb3IgYXQgc3Vuc2V0 L3N1bnJpc2U6Og0KICogVG9nZ2xlIGJldHdlZW4gdGhlIHRoZW1lcyBvbiBkZW1hbmQ6Og0KLSog Q29uZmlndXJlIG9wdGlvbnMgcHJpb3IgdG8gbG9hZGluZzo6DQorKiBDb25maWd1cmUgb3B0aW9u cyBwcmlvciB0byBsb2FkaW5nIGEgdGhlbWU6Og0KKyogU2FtcGxlIGNvbmZpZ3VyYXRpb24gZm9y IHVzZS1wYWNrYWdlOjoNCiBAZW5kIG1lbnUNCiANCiBAbm9kZSBMb2FkIGF1dG9tYXRpY2FsbHkN CiBAc2VjdGlvbiBMb2FkIGF1dG9tYXRpY2FsbHkNCiANCi1BIHNpbXBsZSB3YXkgdG8gbG9hZCB0 aGUgdGhlbWUgZnJvbSB5b3VyIEVtYWNzIGluaXRpYWxpemF0aW9uIGZpbGUgaXMgdG8NCi1pbmNs dWRlIGVpdGhlciBvZiB0aGUgZm9sbG93aW5nIGV4cHJlc3Npb25zOg0KK09uY2UgdGhlIGxpYnJh cmllcyB0aGF0IGRlZmluZSB0aGUgdGhlbWVzIGFyZSBlbmFibGVkLCB5b3UgY2FuIGxvYWQgYQ0K K3RoZW1lIHdpdGggZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbnM6DQogDQogQGxp c3ANCiAobG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCkgICAgICAgICAgOyBMaWdodCB0aGVt ZQ0KQEAgLTI4MiwxNzMgKzI4OSwxOTAgQEAgTG9hZCBhdXRvbWF0aWNhbGx5DQogTWFrZSBzdXJl IHRvIHJlbW92ZSBhbnkgb3RoZXIgdGhlbWUgdGhhdCBpcyBiZWluZyBsb2FkZWQsIG90aGVyd2lz ZSB5b3UNCiBtaWdodCBydW4gaW50byB1bmV4cGVjdGVkIGlzc3Vlcy4NCiANCi1Ob3RlIHRoYXQg eW91IGNhbiBhbHdheXMgQHNhbXB7TS14IGRpc2FibGUtdGhlbWV9IGFuZCBzcGVjaWZ5IGFuIGl0 ZW0uICBUaGUNCitOb3RlIHRoYXQgeW91IGNhbiBhbHdheXMgQGtiZHtNLXggZGlzYWJsZS10aGVt ZX0gYW5kIHNwZWNpZnkgYW4gaXRlbS4gIFRoZQ0KIGNvbW1hbmQgZG9lcyBleGFjdGx5IHdoYXQg aXRzIG5hbWUgc3VnZ2VzdHMuICBUbyBkZWFjdGl2YXRlIGFsbCBlbmFibGVkDQogdGhlbWVzIGF0 IG9uY2UsIGluIGNhc2UgeW91IGhhdmUgbXVsdGlwbGUgb2YgdGhlbSBlbmFibGVkLCB5b3UgbWF5 DQotZXZhbHVhdGUgdGhlIGV4cHJlc3Npb246DQorZXZhbHVhdGUgdGhlIGZvbGxvd2luZyBleHBy ZXNzaW9uOg0KIA0KIEBsaXNwDQogKG1hcGMgIydkaXNhYmxlLXRoZW1lIGN1c3RvbS1lbmFibGVk LXRoZW1lcykNCiBAZW5kIGxpc3ANCiANCi1Abm9kZSBMb2FkIGF0IGEgZ2l2ZW4gdGltZSBvciBh dCBzdW5zZXQvc3VucmlzZQ0KLUBzZWN0aW9uIExvYWQgYXQgYSBnaXZlbiB0aW1lIG9yIGF0IHN1 bnNldC9zdW5yaXNlDQorQG5vZGUgVG9nZ2xlIGJldHdlZW4gdGhlIHRoZW1lcyBvbiBkZW1hbmQN CitAc2VjdGlvbiBUb2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzIG9uIGRlbWFuZA0KIA0KLUl0IGlz IHBvc3NpYmxlIHRvIHNjaGVkdWxlIGEgdGltZSBkdXJpbmcgdGhlIGRheSBhdCBvciBhZnRlciB3 aGljaCBhDQotZ2l2ZW4gdGhlbWUgd2lsbCBiZSBsb2FkZWQuQGZvb3Rub3Rle0NvbnRyaWJ1dGVk IG9uIFJlZGRpdCBieSB1c2VyIEBzYW1we2Izbn0NCi1AdXJlZntodHRwczovL3d3dy5yZWRkaXQu Y29tL3IvZW1hY3MvY29tbWVudHMvZ2R0cW92L3dlZWtseV90aXBzdHJpY2tldGNfdGhyZWFkL2Zx OTE4NmgvfS59DQorVGhlIHRoZW1lcyBwcm92aWRlIHRoZSBAc2FtcHttb2R1cy10aGVtZXMtdG9n Z2xlfSBjb21tYW5kIHRoYXQgeW91IGNhbiBiaW5kIHRvDQorYSBrZXkgb2YgeW91ciBwcmVmZXJl bmNlLiAgRm9yIGV4YW1wbGU6DQogDQogQGxpc3ANCi07OyBMaWdodCBmb3IgdGhlIGRheQ0KLShs b2FkLXRoZW1lICdtb2R1cy1vcGVyYW5kaSB0IHQpDQotKHJ1bi1hdC10aW1lICIwNTowMCIgKCog NjAgNjAgMjQpDQotICAgICAgICAgICAgIChsYW1iZGEgKCkNCi0gICAgICAgICAgICAgICAoZW5h YmxlLXRoZW1lICdtb2R1cy1vcGVyYW5kaSkpKQ0KLQ0KLTs7IERhcmsgZm9yIHRoZSBuaWdodA0K LShsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRpIHQgdCkNCi0ocnVuLWF0LXRpbWUgIjIxOjAwIiAo KiA2MCA2MCAyNCkNCi0gICAgICAgICAgICAgKGxhbWJkYSAoKQ0KLSAgICAgICAgICAgICAgIChl bmFibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpKSkNCisoZ2xvYmFsLXNldC1rZXkgKGtiZCAiPGY1 PiIpICMnbW9kdXMtdGhlbWVzLXRvZ2dsZSkNCiBAZW5kIGxpc3ANCiANCi1BIG1vZGlmaWVkIHZl cnNpb24gb2YgdGhlIGFib3ZlIHRlY2huaXF1ZSBpcyB0byB1c2UgdGhlIHN1bnJpc2UgYW5kDQot c3Vuc2V0IGFzIHJlZmVyZW5jZXMsIGluc3RlYWQgb2Ygc3BlY2lmeWluZyBhIGZpeGVkIGhvdXIg dmFsdWUuQGZvb3Rub3Rle0NvbnRyaWJ1dGVkIGRpcmVjdGx5IGJ5IEFuZHLDqSBBbGV4YW5kcmUg R29tZXMgQHVyZWZ7aHR0cHM6Ly9naXRsYWIuY29tL2FhZGNnfS59DQotSWYgeW91IHNldCBAc2Ft cHtjYWxlbmRhci1sYXRpdHVkZX0gYW5kIEBzYW1we2NhbGVuZGFyLWxvbmdpdHVkZX0gKGRlZmlu ZWQgaW4gdGhlDQotYnVpbHQtaW4gQHNhbXB7c29sYXIuZWx9IGxpYnJhcnktLS1yZWFkIGl0IHdp dGggQHNhbXB7TS14IGZpbmQtbGlicmFyeX0pLCB5b3UgY2FuDQotYXV0b21hdGljYWxseSBzd2l0 Y2ggYmV0d2VlbiBib3RoIHRoZW1lcyBhdCB0aGUgYXBwcm9wcmlhdGUgdGltZS1vZi1kYXkuDQot Tm90ZSB0aGF0IEBlbXBoe3Rob3NlIGNhbGVuZGFyIHZhcmlhYmxlcyBuZWVkIHRvIGJlIHNldCBi ZWZvcmUgbG9hZGluZyB0aGUNCi10aGVtZXN9Lg0KK1doYXQgdGhpcyB0b2dnbGUgZG9lcyBpcyBj aGVjayBpZiBlaXRoZXIgQHNhbXB7bW9kdXMtb3BlcmFuZGl9IG9yIEBzYW1we21vZHVzLXZpdmVu ZGl9DQoraXMgYWN0aXZlIGFuZCBwcm9jZWVkcyB0byBjeWNsZSBiZXR3ZWVuIHRoZW0uICBJZiBu b25lIG9mIHRoZW0gYXJlDQorYWN0aXZlLCBhIG1pbmlidWZmZXIgcHJvbXB0IHdpbGwgYXNrIHRo ZSB1c2VyIHRvIGNob29zZSBiZXR3ZWVuIHRoZSB0d28uDQorSW4gdGhpcyBsYXR0ZXIgc2NlbmFy aW8sIGFsbCBvdGhlciB0aGVtZXMgd2lsbCBmaXJzdCBiZSBkaXNhYmxlZCAodXNpbmcNCit0aGUg QHNhbXB7ZGlzYWJsZS10aGVtZX0gd2UgY292ZXJlZCBiZWZvcmUpLiAgTGFzdGx5LCB0aGUgdG9n Z2xlIGNhbGxzDQorQHNhbXB7bW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9va30gd2hp Y2ggeW91IGNhbiB1c2UgdG8gYWRkIHlvdXIgdHdlYWtzDQorKHNlZSBAeHJlZntUd2VhayBmYWNl cyAoRElZKX0pLg0KKw0KK0Bub2RlIENvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRpbmcg YSB0aGVtZQ0KK0BzZWN0aW9uIENvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRpbmcgYSB0 aGVtZQ0KKw0KK1RoZSB0aGVtZXMgcHJvdmlkZSBhIHVuaWZpZWQgY3VzdG9taXphdGlvbiBmcmFt ZXdvcmsuICBUaGlzIGlzIHdoeSB5b3UNCituZWVkIEBzYW1weyhyZXF1aXJlICdtb2R1cy10aGVt ZXMpfS4gIEFsbCBvcHRpb25zIG11c3QgYmUgc2V0IGJlZm9yZSBsb2FkaW5nDQorZWFjaCB0aGVt ZSBpbiBvcmRlciB0byBjb21lIGludG8gZWZmZWN0LiAgRm9yIGV4YW1wbGU6DQogDQogQGxpc3AN Ci07OyBEZWZpbmUgY29vcmRpbmF0ZXMNCi0oc2V0cSBjYWxlbmRhci1sYXRpdHVkZSAzNS4xNw0K LSAgICAgIGNhbGVuZGFyLWxvbmdpdHVkZSAzMy4zNikNCi0NCi07OyBMaWdodCBhdCBzdW5yaXNl DQotKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQgdCkNCi0ocnVuLWF0LXRpbWUgKG50aCAx IChzcGxpdC1zdHJpbmcgKHN1bnJpc2Utc3Vuc2V0KSkpDQotICAgICAgICAgICAgICgqIDYwIDYw IDI0KQ0KLSAgICAgICAgICAgICAobGFtYmRhICgpDQotICAgICAgICAgICAgICAgKGVuYWJsZS10 aGVtZSAnbW9kdXMtb3BlcmFuZGkpKSkNCi0NCi07OyBEYXJrIGF0IHN1bnNldA0KLShsb2FkLXRo ZW1lICdtb2R1cy12aXZlbmRpIHQgdCkNCi0ocnVuLWF0LXRpbWUgKG50aCA0IChzcGxpdC1zdHJp bmcgKHN1bnJpc2Utc3Vuc2V0KSkpDQotICAgICAgICAgICAgICgqIDYwIDYwIDI0KQ0KLSAgICAg ICAgICAgICAobGFtYmRhICgpDQotICAgICAgICAgICAgICAgKGVuYWJsZS10aGVtZSAnbW9kdXMt dml2ZW5kaSkpKQ0KKzs7IFNldCBjdXN0b21pemF0aW9uIG9wdGlvbnMgdG8gdmFsdWVzIG9mIHlv dXIgY2hvaWNlDQorKHNldHEgbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cyB0DQorICAg ICAgbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyBuaWwNCisgICAgICBtb2R1cy10aGVtZXMt ZnJpbmdlcyBuaWwgOyBAe25pbCwnc3VidGxlLCdpbnRlbnNlQH0NCisgICAgICBtb2R1cy10aGVt ZXMtbW9kZS1saW5lICczZCA7IEB7bmlsLCczZCwnbW9vZHlAfQ0KKyAgICAgIG1vZHVzLXRoZW1l cy1zeW50YXggbmlsIDsgTG90cyBvZiBvcHRpb25zLS0tY29udGludWUgcmVhZGluZyB0aGUgbWFu dWFsDQorICAgICAgbW9kdXMtdGhlbWVzLWludGVuc2UtaGwtbGluZSBuaWwNCisgICAgICBtb2R1 cy10aGVtZXMtcGFyZW4tbWF0Y2ggJ3N1YnRsZS1ib2xkIDsgQHtuaWwsJ3N1YnRsZS1ib2xkLCdp bnRlbnNlLCdpbnRlbnNlLWJvbGRAfQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1saW5rcyAnbmV1dHJh bC11bmRlcmxpbmUgOyBMb3RzIG9mIG9wdGlvbnMtLS1jb250aW51ZSByZWFkaW5nIHRoZSBtYW51 YWwNCisgICAgICBtb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMgbmlsDQorICAgICAgbW9kdXMt dGhlbWVzLXByb21wdHMgbmlsIDsgQHtuaWwsJ3N1YnRsZSwnaW50ZW5zZUB9DQorICAgICAgbW9k dXMtdGhlbWVzLWNvbXBsZXRpb25zIG5pbCA7IEB7bmlsLCdtb2RlcmF0ZSwnb3BpbmlvbmF0ZWRA fQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1yZWdpb24gJ2JnLW9ubHktbm8tZXh0ZW5kIDsgQHtuaWws J25vLWV4dGVuZCwnYmctb25seSwnYmctb25seS1uby1leHRlbmRAfQ0KKyAgICAgIG1vZHVzLXRo ZW1lcy1kaWZmcyBuaWwgOyBAe25pbCwnZGVzYXR1cmF0ZWQsJ2ZnLW9ubHksJ2JnLW9ubHlAfQ0K KyAgICAgIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzIG5pbCA7IEB7bmlsLCdncmF5c2NhbGUsJ3Jh aW5ib3dAfQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1oZWFkaW5ncyA7IExvdHMgb2Ygb3B0aW9ucy0t LWNvbnRpbnVlIHJlYWRpbmcgdGhlIG1hbnVhbA0KKyAgICAgICcoKDEgLiBzZWN0aW9uKQ0KKyAg ICAgICAgKDIgLiBzZWN0aW9uLW5vLWJvbGQpDQorICAgICAgICAoMyAuIHJhaW5ib3ctbGluZSkN CisgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKQ0KKyAgICAgIG1vZHVzLXRoZW1l cy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyBuaWwNCisgICAgICBtb2R1cy10aGVtZXMtc2NhbGUt aGVhZGluZ3MgbmlsDQorICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTEgMS4xDQorICAgICAgbW9k dXMtdGhlbWVzLXNjYWxlLTIgMS4xNQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS0zIDEuMjEN CisgICAgICBtb2R1cy10aGVtZXMtc2NhbGUtNCAxLjI3DQorICAgICAgbW9kdXMtdGhlbWVzLXNj YWxlLTUgMS4zMykNCisNCis7OyBMb2FkIHRoZSBsaWdodCB0aGVtZSAoYG1vZHVzLW9wZXJhbmRp JykNCisobW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkpDQorDQorOzsgOzsgT3IgbG9hZCB2aWEg YSBob29rDQorOzsgKGFkZC1ob29rICdhZnRlci1pbml0LWhvb2sgIydtb2R1cy10aGVtZXMtbG9h ZC1vcGVyYW5kaSkNCiBAZW5kIGxpc3ANCiANCi1Gb3IgdGhlIHNha2Ugb2YgY29tcGxldGVuZXNz LCB0aGUgQHNhbXB7bG9hZC10aGVtZX0gY2FsbCBpbiB0aGVzZSBzbmlwcGV0cyBpcw0KLXNsaWdo dGx5IGRpZmZlcmVudCB0aGFuIHRoZSBvbmUgc2hvd24gaW4gQHJlZntMb2FkIGF1dG9tYXRpY2Fs bHl9LCBiZWNhdXNlIGl0DQotZG9lcyBub3QgZW5hYmxlIHRoZSB0aGVtZSBkaXJlY3RseTogdGhl IHN1YnNlcXVlbnQgQHNhbXB7ZW5hYmxlLXRoZW1lfSBkb2VzDQotdGhhdCB3aGVuIG5lZWRlZC4N CitOb3RlIHRoYXQgaW4gdGhpcyBleGFtcGxlIHdlIHVzZSBAc2FtcHttb2R1cy10aGVtZXMtbG9h ZC1vcGVyYW5kaX0uICBIZXJlIGlzDQord2hhdCBpdCBkb2VzOg0KIA0KLUBub2RlIFRvZ2dsZSBi ZXR3ZWVuIHRoZSB0aGVtZXMgb24gZGVtYW5kDQotQHNlY3Rpb24gVG9nZ2xlIGJldHdlZW4gdGhl IHRoZW1lcyBvbiBkZW1hbmQNCitAbGlzcA0KKyhkZWZ1biBtb2R1cy10aGVtZXMtbG9hZC1vcGVy YW5kaSAoKQ0KKyAgIkxvYWQgYG1vZHVzLW9wZXJhbmRpJyBhbmQgZGlzYWJsZSBgbW9kdXMtdml2 ZW5kaScuDQorQWxzbyBydW4gYG1vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2snLiIN CisgIChkaXNhYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKQ0KKyAgKGxvYWQtdGhlbWUgJ21vZHVz LW9wZXJhbmRpIHQpDQorICAocnVuLWhvb2tzICdtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVt ZS1ob29rKSkNCitAZW5kIGxpc3ANCiANCi1XaXRoIGJvdGggdGhlbWVzIGF2YWlsYWJsZSwgaXQg aXMgcG9zc2libGUgdG8gZGVzaWduIGEgc2ltcGxlIGNvbW1hbmQgdG8NCi1zd2l0Y2ggYmV0d2Vl biB0aGVtIG9uIGRlbWFuZC4NCitTYW1lIHByaW5jaXBsZSwgaW52ZXJzZSBlZmZlY3QsIGZvciBA c2FtcHttb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpfS4NCisNCitJZiB5b3UgcHJlZmVyIHRvIG1h aW50YWluIGRpZmZlcmVudCBjdXN0b21pemF0aW9uIG9wdGlvbnMgYmV0d2VlbiB0aGUNCit0d28g dGhlbWVzLCBpdCBpcyBiZXN0IHlvdSB3cml0ZSB5b3VyIG93biBmdW5jdGlvbnMgdGhhdCBmaXJz dCBzZXQgdGhvc2UNCitvcHRpb25zIGFuZCB0aGVuIGxvYWQgdGhlIHRoZW1lcy4gIFRoZSBmb2xs b3dpbmcgY29kZSBkb2VzIGV4YWN0bHkgdGhhdA0KK2J5IHNpbXBseSBkaWZmZXJlbnRpYXRpbmcg dGhlIHR3byB0aGVtZXMgb24gdGhlIGNob2ljZSBvZiBib2xkDQorY29uc3RydWN0cyBpbiBjb2Rl IHN5bnRheCAoZW5hYmxlZCBmb3Igb25lLCBkaXNhYmxlZCBmb3IgdGhlIG90aGVyKS4NCiANCiBA bGlzcA0KLShkZWZ1biBtb2R1cy10aGVtZXMtdG9nZ2xlICgpDQotICAiVG9nZ2xlIGJldHdlZW4g YG1vZHVzLW9wZXJhbmRpJyBhbmQgYG1vZHVzLXZpdmVuZGknIHRoZW1lcy4iDQorKGRlZnVuIG15 LWRlbW8tbW9kdXMtb3BlcmFuZGkgKCkNCisgIChpbnRlcmFjdGl2ZSkNCisgIChzZXRxIG1vZHVz LXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMgdCkgOyBFTkFCTEUgYm9sZA0KKyAgKG1vZHVzLXRoZW1l cy1sb2FkLW9wZXJhbmRpKSkNCisNCisoZGVmdW4gbXktZGVtby1tb2R1cy12aXZlbmRpICgpDQog ICAoaW50ZXJhY3RpdmUpDQorICAoc2V0cSBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIG5p bCkgOyBESVNBQkxFIGJvbGQNCisgIChtb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpKSkNCisNCiso ZGVmdW4gbXktZGVtby1tb2R1cy10aGVtZXMtdG9nZ2xlICgpDQogICAoaWYgKGVxIChjYXIgY3Vz dG9tLWVuYWJsZWQtdGhlbWVzKSAnbW9kdXMtb3BlcmFuZGkpDQotICAgICAgKHByb2duDQotICAg ICAgICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpDQotICAgICAgICAobG9hZC10aGVt ZSAnbW9kdXMtdml2ZW5kaSB0KSkNCi0gICAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkp DQotICAgIChsb2FkLXRoZW1lICdtb2R1cy1vcGVyYW5kaSB0KSkpDQorICAgICAgKG15LWRlbW8t bW9kdXMtdml2ZW5kaSkNCisgICAgKG15LWRlbW8tbW9kdXMtb3BlcmFuZGkpKSkNCiBAZW5kIGxp c3ANCiANCi1Zb3UgY291bGQgdXNlIEBzYW1weyhtYXBjICMnZGlzYWJsZS10aGVtZSBjdXN0b20t ZW5hYmxlZC10aGVtZXMpfSBpbnN0ZWFkIG9mDQotZGlzYWJsaW5nIGEgc2luZ2xlIHRhcmdldCwg YnV0IHlvdSBnZXQgdGhlIGlkZWEuDQorVGhlbiBhc3NpZ24gQHNhbXB7bXktZGVtby1tb2R1cy10 aGVtZXMtdG9nZ2xlfSB0byBhIGtleSBpbnN0ZWFkIG9mIHRoZQ0KK2VxdWl2YWxlbnQgdGhlIHRo ZW1lcyBwcm92aWRlLg0KIA0KLUBub2RlIENvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRp bmcNCi1Ac2VjdGlvbiBDb25maWd1cmUgb3B0aW9ucyBwcmlvciB0byBsb2FkaW5nDQorQG5vZGUg U2FtcGxlIGNvbmZpZ3VyYXRpb24gZm9yIHVzZS1wYWNrYWdlDQorQHNlY3Rpb24gU2FtcGxlIGNv bmZpZ3VyYXRpb24gZm9yIHVzZS1wYWNrYWdlDQogDQotSWYgeW91IHBsYW4gdG8gdXNlIGJvdGgg dGhlbWVzIGFuZCB3aXNoIHRvIGFwcGx5IHN0eWxlcyBjb25zaXN0ZW50bHkNCi0oc2VlIEByZWZ7 Q3VzdG9taXphdGlvbiBPcHRpb25zfSksIHlvdSBjb3VsZCBkZWZpbmUgd3JhcHBlciBmdW5jdGlv bnMgYXJvdW5kDQotdGhlIHN0YW5kYXJkIEBzYW1we2xvYWQtdGhlbWV9IGNvbW1hbmQuICBUaGVz ZSBleHRlbmQgdGhlIHNpbXBsZSBmdW5jdGlvbiB3ZQ0KLXByZXNlbnRlZCBpbiBAcmVme1RvZ2ds ZSBiZXR3ZWVuIHRoZSB0aGVtZXMgb24gZGVtYW5kfS4NCitJdCBpcyBjb21tb24gZm9yIEVtYWNz IHVzZXJzIHRvIHJlbHkgb24gQHNhbXB7dXNlLXBhY2thZ2V9IGZvciBkZWNsYXJpbmcNCitwYWNr YWdlIGNvbmZpZ3VyYXRpb25zIGluIHRoZWlyIHNldHVwLiAgV2UgdXNlIHRoaXMgYXMgYW4gZXhh bXBsZToNCiANCi1IZXJlIGlzIGEgY29tcHJlaGVuc2l2ZSBzZXR1cCAodGhlIHZhbHVlcyBhc3Np Z25lZCB0byB0aGUgdmFyaWFibGVzIGFyZQ0KLWp1c3QgZm9yIHRoZSBzYWtlIG9mIHRoaXMgZGVt b25zdHJhdGlvbik6QGZvb3Rub3Rle1RoZSBAc2FtcHtkZWZtYWNyb30gYW5kIEBzYW1we2RvbGlz dH0NCi1tZXRob2Qgd2VyZSBjb250cmlidXRlZCBvbiBSZWRkaXQgYnkgdXNlciBAc2FtcHtiM259 LA0KLUB1cmVme2h0dHBzOi8vd3d3LnJlZGRpdC5jb20vci9lbWFjcy9jb21tZW50cy9ncXN6OHUv d2Vla2x5X3RpcHN0cmlja2V0Y190aHJlYWQvZnNmYWtoZy99Ln0NCitAbGlzcA0KKyh1c2UtcGFj a2FnZSBtb2R1cy10aGVtZXMNCisgIDplbnN1cmUNCisgIDppbml0DQorICA7OyBBZGQgYWxsIHlv dXIgY3VzdG9taXphdGlvbnMgcHJpb3IgdG8gbG9hZGluZyB0aGUgdGhlbWVzDQorICAoc2V0cSBt b2R1cy10aGVtZXMtc2xhbnRlZC1jb25zdHJ1Y3RzIHQNCisgICAgICAgIG1vZHVzLXRoZW1lcy1i b2xkLWNvbnN0cnVjdHMgbmlsKQ0KKyAgOmNvbmZpZw0KKyAgOzsgTG9hZCB0aGUgdGhlbWUgb2Yg eW91ciBjaG9pY2UNCisgIChtb2R1cy10aGVtZXMtbG9hZC1vcGVyYW5kaSkNCisgIDs7IDs7IE9S DQorICA7OyAobG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCkNCisgIDpiaW5kICgiPGY1PiIg LiBtb2R1cy10aGVtZXMtdG9nZ2xlKSkNCitAZW5kIGxpc3ANCisNCitOb3RlIHRoYXQgbWFudWFs IGluc3RhbGxhdGlvbnMgZXhwZWN0IHRoYXQgdGhlIHVzZXIgYnl0ZSBjb21waWxlcyBhbGwNCit0 aGUgcmVsZXZhbnQgZmlsZXMgYW5kIGNyZWF0ZXMgYXV0b2xvYWRzIGZvciB0aGVtLiAgSWYsIGZv ciB3aGF0ZXZlcg0KK3JlYXNvbiwgdXNlcnMgd2lzaCB0byBpbnN0YWxsIHRoZSB0aGVtZSBmaWxl cyBtYW51YWxseSB3aGlsZSBub3QgZG9pbmcNCit0aGUgcmVxdWlzaXRlIHBhY2thZ2luZyB3b3Jr LCB0aGVuIHRoaXMgY29kZSBibG9jayBtdXN0IGJlIHVzZWQgaW5zdGVhZA0KKyhidXQgcGxlYXNl IHByZWZlciB0aGUgcGFja2FnZWQgZm9ybWF0IHRoYXQgZG9lcyBwcm9wZXIgYnl0ZSBjb21waWxh dGlvbg0KK2FuZCBhdXRvbG9hZGluZykuDQorDQorVGhlIGZvbGxvd2luZyBzbmlwcGV0IGlzIGZv ciBtYW51YWwgaW5zdGFsbGF0aW9ucyBvciB0aG9zZSB0aGF0IHVzZSB0aGUNCit0aGVtZXMgdGhh dCBhcmUgc2hpcHBlZCB3aXRoIEVtYWNzOg0KIA0KIEBsaXNwDQotKGRlZm1hY3JvIG1vZHVzLXRo ZW1lcy1mb3JtYXQtc2V4cCAoc2V4cCAmcmVzdCBvYmplY3RzKQ0KLSAgYChldmFsIChyZWFkIChm b3JtYXQgLChmb3JtYXQgIiVTIiBzZXhwKSAsQEBvYmplY3RzKSkpKQ0KLQ0KLShkb2xpc3QgKHRo ZW1lICcoIm9wZXJhbmRpIiAidml2ZW5kaSIpKQ0KLSAgKG1vZHVzLXRoZW1lcy1mb3JtYXQtc2V4 cA0KLSAgIChkZWZ1biBtb2R1cy0lMSRzLXRoZW1lLWxvYWQgKCkNCi0gICAgIChzZXRxIG1vZHVz LSUxJHMtdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzIHQNCi0gICAgICAgICAgIG1vZHVzLSUxJHMt dGhlbWUtYm9sZC1jb25zdHJ1Y3RzIHQNCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtZnJp bmdlcyAnc3VidGxlIDsgQHtuaWwsJ3N1YnRsZSwnaW50ZW5zZUB9DQotICAgICAgICAgICBtb2R1 cy0lMSRzLXRoZW1lLW1vZGUtbGluZSAnM2QgOyBAe25pbCwnM2QsJ21vb2R5QH0NCi0gICAgICAg ICAgIG1vZHVzLSUxJHMtdGhlbWUtZmFpbnQtc3ludGF4IG5pbA0KLSAgICAgICAgICAgbW9kdXMt JTEkcy10aGVtZS1pbnRlbnNlLWhsLWxpbmUgbmlsDQotICAgICAgICAgICBtb2R1cy0lMSRzLXRo ZW1lLWludGVuc2UtcGFyZW4tbWF0Y2ggbmlsDQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1l LW5vLWxpbmstdW5kZXJsaW5lIHQNCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtbm8tbWl4 ZWQtZm9udHMgbmlsDQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXByb21wdHMgbmlsIDsg QHtuaWwsJ3N1YnRsZSwnaW50ZW5zZUB9DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLWNv bXBsZXRpb25zICdtb2RlcmF0ZSA7IEB7bmlsLCdtb2RlcmF0ZSwnb3BpbmlvbmF0ZWRAfQ0KLSAg ICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1kaWZmcyBuaWwgOyBAe25pbCwnZGVzYXR1cmF0ZWQs J2ZnLW9ubHlAfQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1vcmctYmxvY2tzICdncmV5 c2NhbGUgOyBAe25pbCwnZ3JleXNjYWxlLCdyYWluYm93QH0NCi0gICAgICAgICAgIG1vZHVzLSUx JHMtdGhlbWUtaGVhZGluZ3MgIDsgUmVhZCBmdXJ0aGVyIGJlbG93IGluIHRoZSBtYW51YWwgZm9y IHRoaXMgb25lDQotICAgICAgICAgICAnKCgxIC4gc2VjdGlvbikNCi0gICAgICAgICAgICAgKDIg LiBsaW5lKQ0KLSAgICAgICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkNCi0gICAg ICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgbmlsDQotICAg ICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXNjYWxlLWhlYWRpbmdzIHQNCi0gICAgICAgICAgIG1v ZHVzLSUxJHMtdGhlbWUtc2NhbGUtMSAxLjENCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUt c2NhbGUtMiAxLjE1DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXNjYWxlLTMgMS4yMQ0K LSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1zY2FsZS00IDEuMjcNCi0gICAgICAgICAgIG1v ZHVzLSUxJHMtdGhlbWUtc2NhbGUtNSAxLjMzKQ0KLSAgICAgKGxvYWQtdGhlbWUgJ21vZHVzLSUx JHMgdCkpDQotICAgdGhlbWUpKQ0KLQ0KLShkZWZ1biBtb2R1cy10aGVtZXMtdG9nZ2xlICgpDQot ICAiVG9nZ2xlIGJldHdlZW4gYG1vZHVzLW9wZXJhbmRpJyBhbmQgYG1vZHVzLXZpdmVuZGknIHRo ZW1lcy4iDQotICAoaW50ZXJhY3RpdmUpDQotICAoaWYgKGVxIChjYXIgY3VzdG9tLWVuYWJsZWQt dGhlbWVzKSAnbW9kdXMtb3BlcmFuZGkpDQotICAgICAgKHByb2duDQotICAgICAgICAoZGlzYWJs ZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpDQotICAgICAgICAobW9kdXMtdml2ZW5kaS10aGVtZS1s b2FkKSkNCi0gICAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpDQotICAgIChtb2R1cy1v cGVyYW5kaS10aGVtZS1sb2FkKSkpDQorKHVzZS1wYWNrYWdlIG1vZHVzLXRoZW1lcw0KKyAgOmVu c3VyZQ0KKyAgOmluaXQNCisgIDs7IEFkZCBhbGwgeW91ciBjdXN0b21pemF0aW9ucyBwcmlvciB0 byBsb2FkaW5nIHRoZSB0aGVtZXMNCisgIChzZXRxIG1vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0 cnVjdHMgdA0KKyAgICAgICAgbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyBuaWwpDQorDQor ICA7OyBFbmFibGUgdGhlIHRoZW1lIGZpbGVzDQorICAodXNlLXBhY2thZ2UgbW9kdXMtb3BlcmFu ZGktdGhlbWUpDQorICAodXNlLXBhY2thZ2UgbW9kdXMtdml2ZW5kaS10aGVtZSkNCisNCisgIDpj b25maWcNCisgIDs7IExvYWQgdGhlIHRoZW1lIG9mIHlvdXIgY2hvaWNlDQorICAobW9kdXMtdGhl bWVzLWxvYWQtb3BlcmFuZGkpDQorICA6YmluZCAoIjxmNT4iIC4gbW9kdXMtdGhlbWVzLXRvZ2ds ZSkpDQogQGVuZCBsaXNwDQogDQogQG5vZGUgQ3VzdG9taXphdGlvbiBPcHRpb25zDQogQGNoYXB0 ZXIgQ3VzdG9taXphdGlvbiBPcHRpb25zDQogDQogVGhlIE1vZHVzIHRoZW1lcyBhcmUgaGlnaGx5 IGNvbmZpZ3VyYWJsZSwgdGhvdWdoIHRoZXkgc2hvdWxkIHdvcmsgd2VsbA0KLXdpdGhvdXQgYW55 IGZ1cnRoZXIgdHdlYWtzLg0KLQ0KLUJ5IGRlZmF1bHQsIGFsbCBjdXN0b21pemF0aW9uIG9wdGlv bnMgYXJlIHNldCB0byBAc2FtcHtuaWx9Lg0KK3dpdGhvdXQgYW55IGZ1cnRoZXIgdHdlYWtzLiAg QnkgZGVmYXVsdCwgYWxsIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBhcmUNCitzZXQgdG8gQHNhbXB7 bmlsfS4NCiANCi1BbGwgY3VzdG9taXphdGlvbiBvcHRpb25zIG5lZWQgdG8gYmUgZXZhbHVhdGVk IGJlZm9yZSBsb2FkaW5nIHRoZWlyDQotdGhlbWUgKEBweHJlZntFbmFibGUgYW5kIGxvYWR9KS4N CitSZW1lbWJlciB0aGF0IGFsbCBjdXN0b21pemF0aW9uIG9wdGlvbnMgbXVzdCBiZSBldmFsdWF0 ZWQgYmVmb3JlIGxvYWRpbmcNCithIHRoZW1lIChzZWUgQHhyZWZ7RW5hYmxlIGFuZCBsb2FkfSku DQogDQogQG1lbnUNCiAqIEJvbGQgY29uc3RydWN0czo6ICAgICAgICAgICAgICBUb2dnbGUgYm9s ZCBjb25zdHJ1Y3RzIGluIGNvZGUNCiAqIFNsYW50ZWQgY29uc3RydWN0czo6ICAgICAgICAgICBU b2dnbGUgc2xhbnRlZCBjb25zdHJ1Y3RzIChpdGFsaWNzKSBpbiBjb2RlDQotKiBTeW50YXggaGln aGxpZ2h0aW5nOjogICAgICAgICAgVG9nZ2xlIHN1YnRsZSBjb2xvcmF0aW9uIGluIHByb2dyYW1t aW5nIG1vZGVzDQorKiBTeW50YXggc3R5bGVzOjogICAgICAgICAgICAgICAgQ2hvb3NlIHRoZSBv dmVyYWxsIGFlc3RoZXRpYyBvZiBjb2RlIHN5bnRheA0KICogTm8gbWl4ZWQgZm9udHM6OiAgICAg ICAgICAgICAgIFRvZ2dsZSBtaXhpbmcgb2YgZm9udCBmYW1pbGllcw0KLSogTGluayB1bmRlcmxp bmU6OiAgICAgICAgICAgICAgIFRvZ2dsZSB1bmRlcmxpbmVkIHRleHQgaW4gbGlua3MNCisqIExp bmsgc3R5bGVzOjogICAgICAgICAgICAgICAgICBDaG9vc2UgbGluayBjb2xvciBpbnRlbnNpdHkg Zm9yIHRoZSB0ZXh0IG9yIHVuZGVybGluZSwgb3Igbm8gdW5kZXJsaW5lIGF0IGFsbA0KICogQ29t bWFuZCBwcm9tcHRzOjogICAgICAgICAgICAgIENob29zZSBhbW9uZyBwbGFpbiwgc3VidGxlLCBv ciBpbnRlbnNlIHByb21wdHMNCi0qIE1vZGUgbGluZTo6ICAgICAgICAgICAgICAgICAgICBDaG9v c2UgYW1vbmcgcGxhaW4sIHRocmVlLWRpbWVuc2lvbiwgb3IgbW9vZHktY29tcGxpYW50IHN0eWxl cw0KKyogTW9kZSBsaW5lOjogICAgICAgICAgICAgICAgICAgIENob29zZSBhbW9uZyBwbGFpbiwg dGhyZWUtZGltZW5zaW9uYWwsIG9yIE1vb2R5LWNvbXBsaWFudCBzdHlsZXMNCiAqIENvbXBsZXRp b24gVUlzOjogICAgICAgICAgICAgICBDaG9vc2UgYW1vbmcgc3RhbmRhcmQsIG1vZGVyYXRlLCBv ciBvcGluaW9uYXRlZCBsb29rcw0KLSogRnJpbmdlczo6ICAgICAgICAgICAgICAgICAgICAgIENo b29zZSBhbW9uZyBwbGFpbiwgc3VidGxlLCBvciBpbnRlbnNlIGZyaW5nZSB2aXNpYmlsaXR5DQor KiBGcmluZ2VzOjogICAgICAgICAgICAgICAgICAgICAgQ2hvb3NlIGFtb25nIGludmlzaWJsZSwg c3VidGxlLCBvciBpbnRlbnNlIGZyaW5nZSB2aXNpYmlsaXR5DQogKiBMaW5lIGhpZ2hsaWdodGlu Zzo6ICAgICAgICAgICAgVG9nZ2xlIGludGVuc2Ugc3R5bGUgZm9yIGN1cnJlbnQgbGluZSBoaWdo bGlnaHRpbmcNCi0qIE1hdGNoaW5nIHBhcmVudGhlc2VzOjogICAgICAgICBUb2dnbGUgaW50ZW5z ZSBzdHlsZSBmb3IgbWF0Y2hpbmcgZGVsaW1pdGVycy9wYXJlbnRoZXNlcw0KKyogTWF0Y2hpbmcg cGFyZW50aGVzZXM6OiAgICAgICAgIENob29zZSBiZXR3ZWVuIHZhcmlvdXMgc3R5bGVzIGZvciBt YXRjaGluZyBkZWxpbWl0ZXJzL3BhcmVudGhlc2VzDQorKiBBY3RpdmUgcmVnaW9uOjogICAgICAg ICAgICAgICAgQ2hvb3NlIGJldHdlZW4gdmFyaW91cyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgcmVn aW9uDQogKiBEaWZmczo6ICAgICAgICAgICAgICAgICAgICAgICAgQ2hvb3NlIGFtb25nIGludGVu c2UsIGRlc2F0dXJhdGVkLCBvciB0ZXh0LW9ubHkgZGlmZnMNCi0qIE9yZyBtb2RlIGJsb2Nrczo6 ICAgICAgICAgICAgICBDaG9vc2UgYW1vbmcgcGxhaW4sIGdyZXlzY2FsZSwgb3IgcmFpbmJvdyBz dHlsZXMNCisqIE9yZyBtb2RlIGJsb2Nrczo6ICAgICAgICAgICAgICBDaG9vc2UgYW1vbmcgcGxh aW4sIGdyYXlzY2FsZSwgb3IgcmFpbmJvdyBzdHlsZXMNCiAqIEhlYWRpbmcgc3R5bGVzOjogICAg ICAgICAgICAgICBDaG9vc2UgYW1vbmcgc2V2ZXJhbCBzdHlsZXMsIGFsc28gcGVyIGhlYWRpbmcg bGV2ZWwNCiAqIFNjYWxlZCBoZWFkaW5nczo6ICAgICAgICAgICAgICBUb2dnbGUgc2NhbGluZyBv ZiBoZWFkaW5ncw0KICogSGVhZGluZ3MnIGZvbnQ6OiAgICAgICAgICAgICAgIFRvZ2dsZSBwcm9w b3J0aW9uYXRlbHkgc3BhY2VkIGZvbnRzIGluIGhlYWRpbmdzDQpAQCAtNDU3LDE0ICs0ODEsNyBA QCBDdXN0b21pemF0aW9uIE9wdGlvbnMNCiBAbm9kZSBCb2xkIGNvbnN0cnVjdHMNCiBAc2VjdGlv biBPcHRpb24gZm9yIG1vcmUgYm9sZCBjb25zdHJ1Y3RzDQogDQotU3ltYm9sIG5hbWVzOg0KLQ0K LUBpdGVtaXplDQotQGl0ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0 cnVjdHN9DQotQGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0 c30NCi1AZW5kIGl0ZW1pemUNCitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1ib2xkLWNvbnN0 cnVjdHN9DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KQEAgLTQ3NSwzNyArNDkyLDE4IEBAIEJv bGQgY29uc3RydWN0cw0KIEBzYW1we3R9DQogQGVuZCBlbnVtZXJhdGUNCiANCi1EaXNwbGF5IHNl dmVyYWwgY29uc3RydWN0cyBpbiBib2xkIHdlaWdodC4gIFRoaXMgY29uY2VybnMga2V5d29yZHMg YW5kDQotb3RoZXIgaW1wb3J0YW50IGFzcGVjdHMgb2YgY29kZSBzeW50YXguICBJdCBhbHNvIGFm ZmVjdHMgY2VydGFpbiBtb2RlDQotbGluZSBpbmRpY2F0b3JzIGFuZCBjb21tYW5kLWxpbmUgcHJv bXB0cy4NCi0NCi1UaGUgZGVmYXVsdCBpcyB0byBvbmx5IHVzZSBhIGJvbGQgd2VpZ2h0IHdoZW4g aXQgaXMgcmVxdWlyZWQuDQorVGhlIGRlZmF1bHQgaXMgdG8gdXNlIGEgYm9sZCB0eXBvZ3JhcGhp YyB3ZWlnaHQgb25seSB3aGVuIGl0IGlzDQorcmVxdWlyZWQuDQogDQotQWRkaXRpb25hbGx5LCBh bmQgd2hpbGUgbm90IG5lY2Vzc2FyeSwgdG8gZGVmaW5lIHRoZSBwcmVjaXNlIHdlaWdodCBmb3IN Ci1ib2xkIGNvbnN0cnVjdHMsIHlvdSBjYW4gY2hhbmdlIHRoZSB0eXBvZ3JhcGhpYyBpbnRlbnNp dHkgb2YgdGhlIEBzYW1we2JvbGR9DQotZmFjZS4gIFRoZSBzdGFuZGFyZCBpcyBhIGJvbGQgd2Vp Z2h0LiAgSXQgcmVxdWlyZXMgbm8gZnVydGhlcg0KLWludGVydmVudGlvbi4gIEFzc3VtaW5nIHRo b3VnaCB0aGF0IHlvdXIgdHlwZWZhY2Ugb2YgY2hvaWNlIHN1cHBvcnRzIGENCi1gYHNlbWlib2xk Jycgd2VpZ2h0LCBhZGRpbmcgdGhlIGZvbGxvd2luZyBzbmlwcGV0IHRvIHlvdXIgaW5pdCBmaWxl IHNob3VsZA0KLXN1ZmZpY2UuDQotDQotQGxpc3ANCi0oc2V0LWZhY2UtYXR0cmlidXRlICdib2xk IG5pbCA6d2VpZ2h0ICdzZW1pYm9sZCkNCi1AZW5kIGxpc3ANCi0NCi1Ob3RlIHRoYXQgaWYgeW91 IGFyZSBzd2l0Y2hpbmcgdGhlbWVzLCB5b3UgbmVlZCB0byByZS1ldmFsdWF0ZSB0aGlzDQotZXhw cmVzc2lvbiBhZnRlciB0aGUgbmV3IHRoZW1lIGlzIGxvYWRlZC4NCitXaXRoIGEgbm9uLW5pbCB2 YWx1ZSAoQHNhbXB7dH0pIGRpc3BsYXkgc2V2ZXJhbCBzeW50YWN0aWMgY29uc3RydWN0cyBpbiBi b2xkDQord2VpZ2h0LiAgVGhpcyBjb25jZXJucyBrZXl3b3JkcyBhbmQgb3RoZXIgaW1wb3J0YW50 IGFzcGVjdHMgb2YgY29kZQ0KK3N5bnRheC4gIEl0IGFsc28gYWZmZWN0cyBjZXJ0YWluIG1vZGUg bGluZSBpbmRpY2F0b3JzIGFuZCBjb21tYW5kLWxpbmUNCitwcm9tcHRzLg0KIA0KIEBub2RlIFNs YW50ZWQgY29uc3RydWN0cw0KIEBzZWN0aW9uIE9wdGlvbiBmb3IgbW9yZSBzbGFudGVkIGNvbnN0 cnVjdHMNCiANCi1TeW1ib2wgbmFtZXM6DQotDQotQGl0ZW1pemUNCi1AaXRlbQ0KLUBzYW1we21v ZHVzLW9wZXJhbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0c30NCi1AaXRlbQ0KLUBzYW1we21v ZHVzLXZpdmVuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzfQ0KLUBlbmQgaXRlbWl6ZQ0KK1N5 bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0c30NCiANCiBQb3NzaWJs ZSB2YWx1ZXM6DQogDQpAQCAtNTE2LDIyICs1MTQsMTYgQEAgU2xhbnRlZCBjb25zdHJ1Y3RzDQog QHNhbXB7dH0NCiBAZW5kIGVudW1lcmF0ZQ0KIA0KLUNob29zZSB0byByZW5kZXIgbW9yZSBmYWNl cyBpbiBzbGFudGVkIHRleHQgKGl0YWxpY3MpLiAgVGhpcyB0eXBpY2FsbHkNCi1hZmZlY3RzIGRv Y3VtZW50YXRpb24gc3RyaW5ncyBhbmQgY29kZSBjb21tZW50cy4NCi0NCi1UaGUgZGVmYXVsdCBp cyB0byBub3QgdXNlIGl0YWxpY3MgdW5sZXNzIGl0IGlzIGFic29sdXRlbHkgbmVjZXNzYXJ5Lg0K K1RoZSBkZWZhdWx0IGlzIHRvIG5vdCB1c2Ugc2xhbnRlZCB0ZXh0IChpdGFsaWNzKSB1bmxlc3Mg aXQgaXMgYWJzb2x1dGVseQ0KK25lY2Vzc2FyeS4NCiANCi1Abm9kZSBTeW50YXggaGlnaGxpZ2h0 aW5nDQotQHNlY3Rpb24gT3B0aW9uIGZvciBmYWludCBjb2RlIHN5bnRheCBoaWdobGlnaHRpbmcN CitXaXRoIGEgbm9uLW5pbCB2YWx1ZSAoQHNhbXB7dH0pIGNob29zZSB0byByZW5kZXIgbW9yZSBm YWNlcyBpbiBzbGFudGVkIHRleHQuDQorVGhpcyB0eXBpY2FsbHkgYWZmZWN0cyBkb2N1bWVudGF0 aW9uIHN0cmluZ3MgYW5kIGNvZGUgY29tbWVudHMuDQogDQotU3ltYm9sIG5hbWVzOg0KK0Bub2Rl IFN5bnRheCBzdHlsZXMNCitAc2VjdGlvbiBPcHRpb24gZm9yIHN5bnRheCBoaWdobGlnaHRpbmcN CiANCi1AaXRlbWl6ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtb3BlcmFuZGktdGhlbWUtZmFpbnQt c3ludGF4fQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1mYWludC1zeW50YXh9 DQotQGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2FtcHttb2R1cy10aGVtZXMtc3ludGF4fQ0KIA0K IFBvc3NpYmxlIHZhbHVlczoNCiANCkBAIC01MzksMjkgKzUzMSw0OCBAQCBTeW50YXggaGlnaGxp Z2h0aW5nDQogQGl0ZW0NCiBAc2FtcHtuaWx9IChkZWZhdWx0KQ0KIEBpdGVtDQotQHNhbXB7dH0N CitAc2FtcHtmYWludH0NCitAaXRlbQ0KK0BzYW1we3llbGxvdy1jb21tZW50c30NCitAaXRlbQ0K K0BzYW1we2dyZWVuLXN0cmluZ3N9DQorQGl0ZW0NCitAc2FtcHt5ZWxsb3ctY29tbWVudHMtZ3Jl ZW4tc3RyaW5nc30NCitAaXRlbQ0KK0BzYW1we2FsdC1zeW50YXh9DQorQGl0ZW0NCitAc2FtcHth bHQtc3ludGF4LXllbGxvdy1jb21tZW50c30NCiBAZW5kIGVudW1lcmF0ZQ0KIA0KLVVzZSBsZXNz IHNhdHVyYXRlZCBjb2xvcnMgaW4gcHJvZ3JhbW1pbmcgbW9kZXMgZm9yIGhpZ2hsaWdodGluZyBj b2RlDQotc3ludGF4LiAgVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHNhdHVyYXRlZCBjb2xvcnMuDQor VGhlIGRlZmF1bHQgc3R5bGUgKG5pbCkgZm9yIGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZyBpcyBh IGJhbGFuY2VkDQorY29tYmluYXRpb24gb2YgY29sb3JzIG9uIHRoZSBjeWFuLWJsdWUtbWFnZW50 YSBzaWRlIG9mIHRoZSBzcGVjdHJ1bS4NCitUaGVyZSBpcyBsaXR0bGUgdG8gbm8gdXNlIG9mIGdy ZWVucywgeWVsbG93cywgb3IgcmVkcywgZXhjZXB0IHdoZW4gaXQgaXMNCituZWNlc3NhcnkuDQor DQorT3B0aW9uIEBzYW1we2ZhaW50fSBpcyBsaWtlIHRoZSBkZWZhdWx0IGluIHRlcm1zIG9mIHRo ZSBjaG9pY2Ugb2YgcGFsZXR0ZSBidXQNCithcHBsaWVzIGRlc2F0dXJhdGVkIGNvbG9yIHZhbHVl cy4NCisNCitPcHRpb24gQHNhbXB7eWVsbG93LWNvbW1lbnRzfSBhcHBsaWVzIGEgeWVsbG93IHRp bnQgdG8gY29tbWVudHMuICBUaGUgcmVzdCBvZg0KK3RoZSBzeW50YXggaXMgdGhlIHNhbWUgYXMg dGhlIGRlZmF1bHQuDQorDQorT3B0aW9uIEBzYW1we2dyZWVuLXN0cmluZ3N9IHJlcGxhY2VzIHRo ZSBibHVlL2N5YW4vY29sZCBjb2xvciB2YXJpYW50cyBpbg0KK3N0cmluZ3Mgd2l0aCBncmVlbmVy IGFsdGVybmF0aXZlcy4gIFRoZSByZXN0IG9mIHRoZSBzeW50YXggcmVtYWlucyB0aGUNCitzYW1l Lg0KIA0KLVRoaXMgb3B0aW9uIGVzc2VudGlhbGx5IGFmZmVjdHMgdGhlIGZvbnQtbG9jayBmYWNl cywgc28gaXQgbWF5IGFsc28gaGF2ZQ0KLWltcGxpY2F0aW9ucyBpbiBvdGhlciBwbGFjZXMgdGhh dCBhcmUgaGFyZC13aXJlZCB0byByZWx5IGRpcmVjdGx5IG9uDQotdGhlbSBpbnN0ZWFkIG9mIHNw ZWNpZnlpbmcgdGhlaXIgb3duIGZhY2VzICh3aGljaCBjb3VsZCBpbmhlcml0IGZyb20NCi1mb250 LWxvY2sgaWYgdGhhdCBpcyB0aGUgaW50ZW50KS4gIFRoZSBhdXRob3IgaXMgYXdhcmUgb2YgQHNh bXB7dmMtZGlyfSBhcyBhDQotY2FzZSBpbiBwb2ludC4NCitPcHRpb24gQHNhbXB7eWVsbG93LWNv bW1lbnRzLWdyZWVuLXN0cmluZ3N9IGNvbWJpbmVzIHllbGxvdyBjb21tZW50cyB3aXRoIGdyZWVu DQorc3RyaW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRlZmF1bHQgc3ludGF4IGhpZ2hsaWdodGlu ZyBzdHlsZS4NCisNCitPcHRpb24gQHNhbXB7YWx0LXN5bnRheH0gZXhwYW5kcyB0aGUgYWN0aXZl IHNwZWN0cnVtIGJ5IGFwcGx5aW5nIGNvbG9yDQorY29tYmluYXRpb25zIHdpdGggbW9yZSBjb250 cmFzdGluZyBodWVzIGJldHdlZW4gdGhlbS4gIEV4cGVjdCB0byBmaW5kDQorbW9yZSByZWQgYW5k IGdyZWVuIHZhcmlhbnRzIGluIGFkZGl0aW9uIHRvIGN5YW4sIGJsdWUsIG1hZ2VudGEuDQorDQor T3B0aW9uIEBzYW1we2FsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzfSBjb21iaW5lcyBAc2FtcHth bHQtc3ludGF4fSB3aXRoDQorQHNhbXB7eWVsbG93LWNvbW1lbnRzfS4NCiANCiBAbm9kZSBObyBt aXhlZCBmb250cw0KIEBzZWN0aW9uIE9wdGlvbiBmb3Igbm8gZm9udCBtaXhpbmcNCiANCi1TeW1i b2wgbmFtZXM6DQotDQotQGl0ZW1pemUNCi1AaXRlbQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRo ZW1lLW5vLW1peGVkLWZvbnRzfQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1u by1taXhlZC1mb250c30NCi1AZW5kIGl0ZW1pemUNCitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1l cy1uby1taXhlZC1mb250c30NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQpAQCAtNTg0LDE3ICs1 OTUsMTIgQEAgTm8gbWl4ZWQgZm9udHMNCiBwdXJwb3NlLXNwZWNpZmljIHBhY2thZ2UgaGFzIGV4 dHJhIGZ1bmN0aW9uYWxpdHkuICBUd28gcG9zc2libGUgb3B0aW9ucw0KIGFyZSBAc2FtcHtvcmct dmFyaWFibGUtcGl0Y2h9IGFuZCBAc2FtcHttaXhlZC1waXRjaH0uDQogDQotQG5vZGUgTGluayB1 bmRlcmxpbmUNCi1Ac2VjdGlvbiBPcHRpb24gZm9yIG5vIGxpbmsgdW5kZXJsaW5lDQorQHhyZWZ7 Rm9udCBjb25maWdzIChESVkpfS4NCiANCi1TeW1ib2wgbmFtZXM6DQorQG5vZGUgTGluayBzdHls ZXMNCitAc2VjdGlvbiBPcHRpb24gZm9yIGxpbmtzDQogDQotQGl0ZW1pemUNCi1AaXRlbQ0KLUBz YW1we21vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lfQ0KLUBpdGVtDQotQHNh bXB7bW9kdXMtdml2ZW5kaS10aGVtZS1uby1saW5rLXVuZGVybGluZX0NCi1AZW5kIGl0ZW1pemUN CitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1saW5rc30NCiANCiBQb3NzaWJsZSB2YWx1ZXM6 DQogDQpAQCAtNjAyLDIzICs2MDgsMzUgQEAgTGluayB1bmRlcmxpbmUNCiBAaXRlbQ0KIEBzYW1w e25pbH0gKGRlZmF1bHQpDQogQGl0ZW0NCi1Ac2FtcHt0fQ0KK0BzYW1we2ZhaW50fQ0KK0BpdGVt DQorQHNhbXB7bmV1dHJhbC11bmRlcmxpbmV9DQorQGl0ZW0NCitAc2FtcHtmYWludC1uZXV0cmFs LXVuZGVybGluZX0NCitAaXRlbQ0KK0BzYW1we25vLXVuZGVybGluZX0NCiBAZW5kIGVudW1lcmF0 ZQ0KIA0KLVJlbW92ZSB0aGUgdW5kZXJsaW5lIGVmZmVjdCBmcm9tIGxpbmtzLCBzeW1ib2xpYyBs aW5rcywgYW5kIGJ1dHRvbnMuDQotVGhlIGRlZmF1bHQgaXMgdG8gYXBwbHkgYW4gdW5kZXJsaW5l Lg0KK1RoZSBkZWZhdWx0IHN0eWxlIChuaWwpIGZvciBsaW5rcyBpcyB0byBhcHBseSBhbiB1bmRl cmxpbmUgYW5kIGENCitzYXR1cmF0ZWQgY29sb3IgdG8gdGhlIGFmZmVjdGVkIHRleHQuICBUaGUg Y29sb3Igb2YgdGhlIHR3byBpcyB0aGUgc2FtZSwNCit3aGljaCBtYWtlcyB0aGUgbGluayBmYWly bHkgcHJvbWluZW50Lg0KKw0KK09wdGlvbiBAc2FtcHtmYWludH0gZm9sbG93cyB0aGUgc2FtZSBh cHByb2FjaCBhcyB0aGUgZGVmYXVsdCwgYnV0IHVzZXMgbGVzcw0KK2ludGVuc2UgY29sb3JzLg0K Kw0KK09wdGlvbiBAc2FtcHtuZXV0cmFsLXVuZGVybGluZX0gY2hhbmdlcyB0aGUgdW5kZXJsaW5l J3MgY29sb3IgdG8gYSBzdWJ0bGUNCitncmF5LCB3aGlsZSByZXRhaW5pbmcgdGhlIGRlZmF1bHQg dGV4dCBjb2xvci4NCisNCitPcHRpb24gQHNhbXB7ZmFpbnQtbmV1dHJhbC11bmRlcmxpbmV9IGNv bWJpbmVzIGEgZGVzYXR1cmF0ZWQgdGV4dCBjb2xvciB3aXRoIGENCitzdWJ0bGUgZ3JheSB1bmRl cmxpbmUuDQorDQorT3B0aW9uIEBzYW1we25vLXVuZGVybGluZX0gcmVtb3ZlcyBsaW5rIHVuZGVy bGluZXMgYWx0b2dldGhlciwgd2hpbGUga2VlcGluZw0KK3RoZWlyIHRleHQgY29sb3IgdGhlIHNh bWUgYXMgdGhlIGRlZmF1bHQuDQogDQogQG5vZGUgQ29tbWFuZCBwcm9tcHRzDQogQHNlY3Rpb24g T3B0aW9uIGZvciBjb21tYW5kIHByb21wdCBzdHlsZXMNCiANCi1TeW1ib2wgbmFtZXM6DQotDQot QGl0ZW1pemUNCi1AaXRlbQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdHN9DQot QGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLXByb21wdHN9DQotQGVuZCBpdGVtaXpl DQorU3ltYm9sOiBAc2FtcHttb2R1cy10aGVtZXMtcHJvbXB0c30NCiANCiBQb3NzaWJsZSB2YWx1 ZXM6DQogDQpAQCAtNjMxLDI1ICs2NDksMTggQEAgQ29tbWFuZCBwcm9tcHRzDQogQHNhbXB7aW50 ZW5zZX0NCiBAZW5kIGVudW1lcmF0ZQ0KIA0KLVRoZSBzeW1ib2xzIGBgc3VidGxlJycgYW5kIGBg aW50ZW5zZScnIHdpbGwgYXBwbHkgYSBjb21iaW5hdGlvbiBvZiBhY2NlbnRlZA0KLWJhY2tncm91 bmQgYW5kIGZvcmVncm91bmQgdG8gdGhlIG1pbmlidWZmZXIgYW5kIG90aGVyIFJFUEwgcHJvbXB0 cyAobGlrZQ0KLUBzYW1we00teCBzaGVsbH0gYW5kIEBzYW1we00teCBlc2hlbGx9KS4gIFRoZSBk aWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBpcyB0aGF0IHRoZQ0KLWxhdHRlciBoYXMgYSBtb3Jl IHByb25vdW5jZWQvbm90aWNlYWJsZSBlZmZlY3QgdGhhbiB0aGUgZm9ybWVyLg0KK1RoZSBkZWZh dWx0IGRvZXMgbm90IHVzZSBhbnkgYmFja2dyb3VuZCBmb3IgbWluaWJ1ZmZlciBhbmQgY29tbWFu ZCBsaW5lDQorcHJvbXB0cy4gIEl0IHJlbGllcyBleGNsdXNpdmVseSBvbiBhbiBhY2NlbnRlZCBm b3JlZ3JvdW5kIGNvbG9yLg0KIA0KLVRoZSBkZWZhdWx0IGRvZXMgbm90IHVzZSBhbnkgYmFja2dy b3VuZCBmb3Igc3VjaCBwcm9tcHRzLCB3aGlsZSByZWx5aW5nDQotZXhjbHVzaXZlbHkgb24gYW4g YWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xvci4NCitUaGUgb3B0aW9ucyBAc2FtcHtzdWJ0bGV9IGFu ZCBAc2FtcHtpbnRlbnNlfSBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGFjY2VudGVkDQorYmFja2dy b3VuZCBhbmQgZm9yZWdyb3VuZCB0byBzdWNoIHByb21wdHMuICBUaGUgZGlmZmVyZW5jZSBiZXR3 ZWVuIHRoZQ0KK3R3byBpcyB0aGF0IHRoZSBsYXR0ZXIgaGFzIGEgbW9yZSBwcm9ub3VuY2VkL25v dGljZWFibGUgZWZmZWN0IHRoYW4gdGhlDQorZm9ybWVyLg0KIA0KIEBub2RlIE1vZGUgbGluZQ0K IEBzZWN0aW9uIE9wdGlvbiBmb3IgbW9kZSBsaW5lIHByZXNlbnRhdGlvbg0KIA0KLVN5bWJvbCBu YW1lczoNCi0NCi1AaXRlbWl6ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtb3BlcmFuZGktdGhlbWUt bW9kZS1saW5lfQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1tb2RlLWxpbmV9 DQotQGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2FtcHttb2R1cy10aGVtZXMtbW9kZS1saW5lfQ0K IA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCkBAIC02NjIsMTYgKzY3MywxNiBAQCBNb2RlIGxpbmUN CiBAc2FtcHttb29keX0NCiBAZW5kIGVudW1lcmF0ZQ0KIA0KLVRoZSBkZWZhdWx0IHZhbHVlIChA c2FtcHtuaWx9KSBwcm9kdWNlcyBhIHR3by1kaW1lbnNpb25hbCBlZmZlY3QgYm90aCBmb3IgdGhl DQotYWN0aXZlIGFuZCBpbmFjdGl2ZSBtb2RlbGluZXMuICBUaGUgZGlmZmVyZW5jZXMgYmV0d2Vl biB0aGUgdHdvIGFyZQ0KLWxpbWl0ZWQgdG8gZGlzdGluY3Qgc2hhZGVzIG9mIGdyZXlzY2FsZSB2 YWx1ZXMsIHdpdGggdGhlIGFjdGl2ZSBiZWluZw0KLW1vcmUgaW50ZW5zZSB0aGFuIHRoZSBpbmFj dGl2ZS4NCitUaGUgZGVmYXVsdCBwcm9kdWNlcyBhIHR3by1kaW1lbnNpb25hbCBlZmZlY3QgYm90 aCBmb3IgdGhlIGFjdGl2ZSBhbmQNCitpbmFjdGl2ZSBtb2RlbGluZXMuICBUaGUgZGlmZmVyZW5j ZXMgYmV0d2VlbiB0aGUgdHdvIGFyZSBsaW1pdGVkIHRvDQorZGlzdGluY3Qgc2hhZGVzIG9mIGdy YXlzY2FsZSB2YWx1ZXMsIHdpdGggdGhlIGFjdGl2ZSBiZWluZyBtb3JlIGludGVuc2UNCit0aGFu IHRoZSBpbmFjdGl2ZS4NCiANCi1BIEBzYW1wezNkfSBzeW1ib2wgd2lsbCBtYWtlIHRoZSBhY3Rp dmUgbW9kZWxpbmUgbG9vayBsaWtlIGEgdGhyZWUtZGltZW5zaW9uYWwNCitPcHRpb24gQHNhbXB7 M2R9IHdpbGwgbWFrZSB0aGUgYWN0aXZlIG1vZGVsaW5lIGxvb2sgbGlrZSBhIHRocmVlLWRpbWVu c2lvbmFsDQogcmVjdGFuZ2xlLiAgSW5hY3RpdmUgbW9kZWxpbmVzIHJlbWFpbiAyRCwgdGhvdWdo IHRoZXkgYXJlIHNsaWdodGx5IHRvbmVkDQotZG93biByZWxhdGl2ZSB0byB0aGUgZGVmYXVsdC4g IFRoaXMgYWVzdGhldGljIGlzIHRoZSBzYW1lIGFzIHdoYXQgeW91DQotZ2V0IHdoZW4geW91IHJ1 biBFbWFjcyB3aXRob3V0IGFueSBjdXN0b21pemF0aW9ucyAoQGtiZHtlbWFjcyAtUX0gb24gdGhl DQotY29tbWFuZCBsaW5lKS4NCitkb3duIHJlbGF0aXZlIHRvIHRoZSBkZWZhdWx0LiAgVGhpcyBh ZXN0aGV0aWMgaXMgdmlydHVhbGx5IHRoZSBzYW1lIGFzDQord2hhdCB5b3UgZ2V0IHdoZW4geW91 IHJ1biBFbWFjcyB3aXRob3V0IGFueSBjdXN0b21pemF0aW9ucyAoQGtiZHtlbWFjcyAtUX0gb24N Cit0aGUgY29tbWFuZCBsaW5lKS4NCiANCiBXaGlsZSBAc2FtcHttb29keX0gcmVtb3ZlcyBhbGwg Ym94IGVmZmVjdHMgZnJvbSB0aGUgbW9kZWxpbmVzIGFuZCBhcHBsaWVzDQogdW5kZXJsaW5lIGFu ZCBvdmVybGluZSBwcm9wZXJ0aWVzIGluc3RlYWQuICBJdCBhbHNvIHRvbmVzIGRvd24gYSBiaXQg dGhlDQpAQCAtNjg3LDE3ICs2OTgsMTcgQEAgTW9kZSBsaW5lDQogd2hpY2ggd2lsbCBjb21lIGlu dG8gZWZmZWN0IHdoZW4gdGhlIGJhY2tncm91bmQgb2YgdGhlIG1vZGVsaW5lIGNoYW5nZXMNCiB0 byBzb21ldGhpbmcgbGVzcyBhY2Nlc3NpYmxlLCBzdWNoIGFzIE1vb2R5IHJpYmJvbnMgKHJlYWQg dGhlIGRvYyBzdHJpbmcNCiBvZiBAc2FtcHtzZXQtZmFjZS1hdHRyaWJ1dGV9LCBzcGVjaWZpY2Fs bHkgQHNhbXB7OmRpc3RhbnQtZm9yZWdyb3VuZH0pLiAgVGhpcyBmYWxsYmFjaw0KLWNvbWVzIGlu dG8gZWZmZWN0IHdoZW4gRW1hY3MgZGV0ZXJtaW5lcyB0aGF0IHRoZSBiYWNrZ3JvdW5kIGFuZA0K LWZvcmVncm91bmQgb2YgdGhlIGdpdmVuIGNvbnN0cnVjdCBhcmUgdG9vIGNsb3NlIHRvIGVhY2gg b3RoZXIgaW4gdGVybXMNCi1vZiBjb2xvciBkaXN0YW5jZS4gIEluIGVmZmVjdCwgdXNlcnMgd291 bGQgbmVlZCB0byBleHBlcmltZW50IHdpdGggdGhlDQotdmFyaWFibGUgQHNhbXB7ZmFjZS1uZWFy LXNhbWUtY29sb3ItdGhyZXNob2xkfSB0byB0cmlnZ2VyIHRoZSBmYWxsYmFjayBjb2xvci4NCi1X ZSBmaW5kIHRoYXQgYSB2YWx1ZSBvZiBAc2FtcHs0NTAwMH0gd291bGQgc3VmZmljZSwgY29udHJh cnkgdG8gdGhlIGRlZmF1bHQNCi1Ac2FtcHszMDAwMH0uICBEbyBub3Qgc2V0IHRoZSB2YWx1ZSB0 b28gaGlnaCwgYmVjYXVzZSB0aGF0IHdvdWxkIGhhdmUgdGhlDQotYWR2ZXJzZSBlZmZlY3Qgb2Yg YWx3YXlzIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgY29sb3IgKHdoaWNoIGhhcyBiZWVuDQotY2Fy ZWZ1bGx5IGRlc2lnbmVkIHRvIGJlIGhpZ2hseSBhY2Nlc3NpYmxlKS4NCitpcyBhY3RpdmF0ZWQg d2hlbiBFbWFjcyBkZXRlcm1pbmVzIHRoYXQgdGhlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQg b2YNCit0aGUgZ2l2ZW4gY29uc3RydWN0IGFyZSB0b28gY2xvc2UgdG8gZWFjaCBvdGhlciBpbiB0 ZXJtcyBvZiBjb2xvcg0KK2Rpc3RhbmNlLiAgSW4gZWZmZWN0LCB1c2VycyB3b3VsZCBuZWVkIHRv IGV4cGVyaW1lbnQgd2l0aCB0aGUgdmFyaWFibGUNCitAc2FtcHtmYWNlLW5lYXItc2FtZS1jb2xv ci10aHJlc2hvbGR9IHRvIHRyaWdnZXIgdGhlIGVmZmVjdC4gIFdlIGZpbmQgdGhhdCBhDQordmFs dWUgb2YgQHNhbXB7NDUwMDB9IHdpbGwgc3VmZmljZSwgY29udHJhcnkgdG8gdGhlIGRlZmF1bHQg QHNhbXB7MzAwMDB9LiAgRG8gbm90IHNldA0KK3RoZSB2YWx1ZSB0b28gaGlnaCwgYmVjYXVzZSB0 aGF0IHdvdWxkIGhhdmUgdGhlIGFkdmVyc2UgZWZmZWN0IG9mIGFsd2F5cw0KK292ZXJyaWRpbmcg dGhlIGRlZmF1bHQgY29sb3IgKHdoaWNoIGhhcyBiZWVuIGNhcmVmdWxseSBkZXNpZ25lZCB0byBi ZQ0KK2hpZ2hseSBhY2Nlc3NpYmxlKS4NCiANCiBGdXJ0aGVybW9yZSwgYmVjYXVzZSBNb29keSBl eHBlY3RzIGFuIHVuZGVybGluZSBhbmQgb3ZlcmxpbmUgaW5zdGVhZCBvZg0KLWEgYm94IHN0eWxl LCBpdCBpcyByZWNvbW1lbmRlZCB5b3UgYWxzbyBpbmNsdWRlIHRoaXMgaW4geW91ciBzZXR1cDoN CithIGJveCBzdHlsZSwgaXQgaXMgYWR2aXNlZCB5b3UgaW5jbHVkZSB0aGlzIGluIHlvdXIgc2V0 dXA6DQogDQogQGxpc3ANCiAoc2V0cSB4LXVuZGVybGluZS1hdC1kZXNjZW50LWxpbmUgdCkNCkBA IC03MDYsMTQgKzcxNyw3IEBAIE1vZGUgbGluZQ0KIEBub2RlIENvbXBsZXRpb24gVUlzDQogQHNl Y3Rpb24gT3B0aW9uIGZvciBjb21wbGV0aW9uIGZyYW1ld29yayBhZXN0aGV0aWNzDQogDQotU3lt Ym9sIG5hbWVzOg0KLQ0KLUBpdGVtaXplDQotQGl0ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10 aGVtZS1jb21wbGV0aW9uc30NCi1AaXRlbQ0KLUBzYW1we21vZHVzLXZpdmVuZGktdGhlbWUtY29t cGxldGlvbnN9DQotQGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2FtcHttb2R1cy10aGVtZXMtY29t cGxldGlvbnN9DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KQEAgLTczNywxOCArNzQxLDE4IEBA IENvbXBsZXRpb24gVUlzDQogDQogQSB2YWx1ZSBvZiBAc2FtcHtuaWx9IHdpbGwgcmVzcGVjdCB0 aGUgbWV0YXBob3JzIG9mIGVhY2ggY29tcGxldGlvbiBmcmFtZXdvcmsuDQogDQotVGhlIHN5bWJv bCBAc2FtcHttb2RlcmF0ZX0gd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQg YW5kDQotZm9yZWdyb3VuZCB0aGF0IGlzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNvbXBsZXRlIGFu ZCBmcmllbmRzIHRoaXMNCi1jb25zdGl0dXRlcyBhIGRlcGFydHVyZSBmcm9tIHRoZWlyIGRlZmF1 bHQgYWVzdGhldGljcywgaG93ZXZlciB0aGUNCi1kaWZmZXJlbmNlIGlzIHNtYWxsLiAgV2hpbGUg SGVsbSBldCBhbCB3aWxsIGFwcGVhciBzbGlnaHRseSBkaWZmZXJlbnQNCi10aGFuIHRoZWlyIG9y aWdpbmFsIGxvb2tzLCBhcyB0aGV5IGFyZSB0b25lZCBkb3duIGEgYml0Lg0KK09wdGlvbiBAc2Ft cHttb2RlcmF0ZX0gYXBwbGllcyBhIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQgYW5kIGZvcmVn cm91bmQgdGhhdA0KK2lzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNvbXBsZXRlIGFuZCBmcmllbmRz IHRoaXMgY29uc3RpdHV0ZXMgYQ0KK2RlcGFydHVyZSBmcm9tIHRoZWlyIGRlZmF1bHQgYWVzdGhl dGljcywgaG93ZXZlciB0aGUgZGlmZmVyZW5jZSBpcw0KK3NtYWxsLiAgV2hpbGUgSGVsbSwgSXZ5 IGV0IGFsIGFwcGVhciBzbGlnaHRseSBkaWZmZXJlbnQgdGhhbiB0aGVpcg0KK29yaWdpbmFsIGxv b2tzLCBhcyB0aGV5IGFyZSB0b25lZCBkb3duIGEgYml0Lg0KIA0KLVRoZSBzeW1ib2wgQHNhbXB7 b3BpbmlvbmF0ZWR9IHdpbGwgYXBwbHkgY29sb3IgY29tYmluYXRpb25zIHRoYXQgcmVmYXNoaW9u IHRoZQ0KLWNvbXBsZXRpb24gVUlALiAgRm9yIHRoZSBJY29tcGxldGUgY2FtcCB0aGlzIG1lYW5z IHRoYXQgaW50ZW5zZQ0KLWJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRpb25zIGFy ZSB1c2VkOiBpbiBlZmZlY3QgdGhlaXIgbG9va3MNCi1lbXVsYXRlIHRob3NlIG9mIEl2eSBhbmQg Y28uIGluIHRoZWlyIG9yaWdpbmFsIHN0eWxlLiAgV2hlcmVhcyB0aGUgb3RoZXINCi1ncm91cCBv ZiBwYWNrYWdlcyB3aWxsIHJldmVydCB0byBhbiBldmVuIG1vcmUgbnVhbmNlZCBhZXN0aGV0aWMg d2l0aA0KLXNvbWUgYWRkaXRpb25hbCBjaGFuZ2VzIHRvIHRoZSBjaG9pY2Ugb2YgaHVlcy4NCitP cHRpb24gQHNhbXB7b3BpbmlvbmF0ZWR9IHVzZXMgY29sb3IgY29tYmluYXRpb25zIHRoYXQgcmVm YXNoaW9uIHRoZSBjb21wbGV0aW9uDQorVUlALiAgRm9yIHRoZSBJY29tcGxldGUgY2FtcCB0aGlz IG1lYW5zIHRoYXQgaW50ZW5zZSBiYWNrZ3JvdW5kIGFuZA0KK2ZvcmVncm91bmQgY29tYmluYXRp b25zIGFyZSB1c2VkOiBpbiBlZmZlY3QgdGhlaXIgbG9va3MgZW11bGF0ZSB0aG9zZSBvZg0KK0hl bG0sIEl2eSBhbmQgY28uIGluIHRoZWlyIG9yaWdpbmFsIHN0eWxlLiAgV2hlcmVhcyB0aGUgb3Ro ZXIgZ3JvdXAgb2YNCitwYWNrYWdlcyB3aWxsIHJldmVydCB0byBhbiBldmVuIG1vcmUgbnVhbmNl ZCBhZXN0aGV0aWMgd2l0aCBzb21lDQorYWRkaXRpb25hbCBjaGFuZ2VzIHRvIHRoZSBjaG9pY2Ug b2YgaHVlcy4NCiANCiBUbyBhcHByZWNpYXRlIHRoZSBzY29wZSBvZiB0aGlzIGN1c3RvbWl6YXRp b24gb3B0aW9uLCB5b3Ugc2hvdWxkIHNwZW5kDQogc29tZSB0aW1lIHdpdGggZXZlcnkgb25lIG9m IHRoZSBAc2FtcHtuaWx9IChkZWZhdWx0KSwgQHNhbXB7bW9kZXJhdGV9LCBhbmQgQHNhbXB7b3Bp bmlvbmF0ZWR9DQpAQCAtNzU3LDE0ICs3NjEsNyBAQCBDb21wbGV0aW9uIFVJcw0KIEBub2RlIEZy aW5nZXMNCiBAc2VjdGlvbiBPcHRpb24gZm9yIGZyaW5nZSB2aXNpYmlsaXR5DQogDQotU3ltYm9s IG5hbWVzOg0KLQ0KLUBpdGVtaXplDQotQGl0ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVt ZS1mcmluZ2VzfQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1mcmluZ2VzfQ0K LUBlbmQgaXRlbWl6ZQ0KK1N5bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLWZyaW5nZXN9DQogDQog UG9zc2libGUgdmFsdWVzOg0KIA0KQEAgLTc3NywyNSArNzc0LDE4IEBAIEZyaW5nZXMNCiBAc2Ft cHtpbnRlbnNlfQ0KIEBlbmQgZW51bWVyYXRlDQogDQotVGhlIGBgc3VidGxlJycgc3ltYm9sIHdp bGwgYXBwbHkgYSBncmV5c2NhbGUgYmFja2dyb3VuZCB0aGF0IGlzIHZpc2libGUsDQoteWV0IGNs b3NlIGVub3VnaCB0byB0aGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yLiAgV2hpbGUgdGhlIGBgaW50 ZW5zZScnDQotc3ltYm9sIHdpbGwgdXNlIGEgbW9yZSBub3RpY2VhYmxlIGdyZXlzY2FsZSBiYWNr Z3JvdW5kLg0KLQ0KIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUgc2FtZSBjb2xvciBhcyB0aGF0 IG9mIHRoZSBtYWluIGJhY2tncm91bmQsDQogbWVhbmluZyB0aGF0IHRoZSBmcmluZ2VzIGFyZSBu b3Qgb2J2aW91cyB0aG91Z2ggdGhleSBzdGlsbCBvY2N1cHkgdGhlDQogc3BhY2UgZ2l2ZW4gdG8g dGhlbSBieSBAc2FtcHtmcmluZ2UtbW9kZX0uDQogDQorT3B0aW9ucyBAc2FtcHtzdWJ0bGV9IGFu ZCBAc2FtcHtpbnRlbnNlfSBhcHBseSBhIGdyYXkgYmFja2dyb3VuZCwgbWFraW5nIHRoZSBmcmlu Z2VzDQordmlzaWJsZS4gIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBpcyBvbmUgb2Yg ZGVncmVlLCBhcyB0aGVpcg0KK25hbWVzIGltcGx5Lg0KKw0KIEBub2RlIExpbmUgaGlnaGxpZ2h0 aW5nDQogQHNlY3Rpb24gT3B0aW9uIGZvciBsaW5lIGhpZ2hsaWdodGluZyAoaGwtbGluZS1tb2Rl KQ0KIA0KLVN5bWJvbCBuYW1lczoNCi0NCi1AaXRlbWl6ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMt b3BlcmFuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lfQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtdml2 ZW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmV9DQotQGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2Ft cHttb2R1cy10aGVtZXMtaW50ZW5zZS1obC1saW5lfQ0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiAN CkBAIC04MDYsMjMgKzc5Niw1MCBAQCBMaW5lIGhpZ2hsaWdodGluZw0KIEBzYW1we3R9DQogQGVu ZCBlbnVtZXJhdGUNCiANCi1EcmF3IHRoZSBjdXJyZW50IGxpbmUgb2YgQHNhbXB7aGwtbGluZS1t b2RlfSBvciBpdHMgZ2xvYmFsIGVxdWl2YWxlbnQgaW4gYSBtb3JlDQotcHJvbWluZW50IGJhY2tn cm91bmQgY29sb3IuICBUaGlzIHdvdWxkIGFsc28gYWZmZWN0IHNldmVyYWwgcGFja2FnZXMNCi10 aGF0IGVuYWJsZSBAc2FtcHtobC1saW5lLW1vZGV9LCBzdWNoIGFzIEBzYW1we2VsZmVlZH0gYW5k IEBzYW1we211NGV9Lg0KK1RoZSBkZWZhdWx0IGlzIHRvIHVzZSBhIHN1YnRsZSBncmF5IGJhY2tn cm91bmQgZm9yIEBzYW1we2hsLWxpbmUtbW9kZX0gYW5kIGl0cw0KK2dsb2JhbCBlcXVpdmFsZW50 Lg0KKw0KK1dpdGggYSBub24tbmlsIHZhbHVlIChAc2FtcHt0fSkgdXNlIGEgbW9yZSBwcm9taW5l bnQgYmFja2dyb3VuZCBjb2xvciBpbnN0ZWFkLg0KIA0KLVRoZSBkZWZhdWx0IGlzIHRvIHVzZSBh IG1vcmUgc3VidGxlIGdyYXkuDQorVGhpcyBhZmZlY3RzIHNldmVyYWwgcGFja2FnZXMgdGhhdCBl bmFibGUgQHNhbXB7aGwtbGluZS1tb2RlfSwgc3VjaCBhcyBAc2FtcHtlbGZlZWR9DQorYW5kIEBz YW1we211NGV9Lg0KIA0KIEBub2RlIE1hdGNoaW5nIHBhcmVudGhlc2VzDQogQHNlY3Rpb24gT3B0 aW9uIGZvciBwYXJlbnRoZXNpcyBtYXRjaGluZyAoc2hvdy1wYXJlbi1tb2RlKQ0KIA0KLVN5bWJv bCBuYW1lczoNCitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1wYXJlbi1tYXRjaH0NCiANCi1A aXRlbWl6ZQ0KK1Bvc3NpYmxlIHZhbHVlczoNCisNCitAZW51bWVyYXRlDQogQGl0ZW0NCi1Ac2Ft cHttb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNofQ0KK0BzYW1we25pbH0g KGRlZmF1bHQpDQogQGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtcGFy ZW4tbWF0Y2h9DQotQGVuZCBpdGVtaXplDQorQHNhbXB7c3VidGxlLWJvbGR9DQorQGl0ZW0NCitA c2FtcHtpbnRlbnNlfQ0KK0BpdGVtDQorQHNhbXB7aW50ZW5zZS1ib2xkfQ0KK0BlbmQgZW51bWVy YXRlDQorDQorTmlsIG1lYW5zIHRvIHVzZSBhIHN1YnRsZSB0aW50ZWQgYmFja2dyb3VuZCBjb2xv ciBmb3IgdGhlIG1hdGNoaW5nDQorZGVsaW1pdGVycy4NCisNCitPcHRpb24gQHNhbXB7aW50ZW5z ZX0gYXBwbGllcyBhIHNhdHVyYXRlZCBiYWNrZ3JvdW5kIGNvbG9yLg0KKw0KK09wdGlvbiBAc2Ft cHtzdWJ0bGUtYm9sZH0gaXMgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQsIGJ1dCBhbHNvIG1ha2Vz IHVzZSBvZg0KK2JvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0IChpbmhlcml0cyB0aGUgQHNhbXB7Ym9s ZH0gZmFjZSkuDQorDQorT3B0aW9uIEBzYW1we2ludGVuc2UtYm9sZH0gaXMgdGhlIHNhbWUgYXMg QHNhbXB7aW50ZW5zZX0sIHdoaWxlIGl0IGFsc28gdXNlcyBhIGJvbGQNCit3ZWlnaHQuDQorDQor VGhpcyBjdXN0b21pemF0aW9uIHZhcmlhYmxlIGFmZmVjdHMgdG9vbHMgc3VjaCBhcyB0aGUgYnVp bHQtaW4NCitAc2FtcHtzaG93LXBhcmVuLW1vZGV9IGFuZCBAc2FtcHtzbWFydHBhcmVuc30uDQor DQorQG5vZGUgQWN0aXZlIHJlZ2lvbg0KK0BzZWN0aW9uIE9wdGlvbiBmb3IgYWN0aXZlIHJlZ2lv bg0KKw0KK1N5bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLXJlZ2lvbn0NCiANCiBQb3NzaWJsZSB2 YWx1ZXM6DQogDQpAQCAtODMwLDI1ICs4NDcsMzEgQEAgTWF0Y2hpbmcgcGFyZW50aGVzZXMNCiBA aXRlbQ0KIEBzYW1we25pbH0gKGRlZmF1bHQpDQogQGl0ZW0NCi1Ac2FtcHt0fQ0KK0BzYW1we25v LWV4dGVuZH0NCitAaXRlbQ0KK0BzYW1we2JnLW9ubHl9DQorQGl0ZW0NCitAc2FtcHtiZy1vbmx5 LW5vLWV4dGVuZH0NCiBAZW5kIGVudW1lcmF0ZQ0KIA0KLUFwcGx5IGEgbW9yZSBpbnRlbnNlIGJh Y2tncm91bmQgdG8gdGhlIG1hdGNoaW5nIHBhcmVudGhlc2VzIChvcg0KLWRlbGltaXRlcnMpLiAg VGhpcyBhZmZlY3RzIHRvb2xzIHN1Y2ggYXMgdGhlIGJ1aWx0LWluIEBzYW1we3Nob3ctcGFyZW4t bW9kZX0uDQotVGhlIGRlZmF1bHQgaXMgdG8gdXNlIGEgc3VidGxlIHdhcm0gY29sb3IgZm9yIHRo ZSBiYWNrZ3JvdW5kIG9mIHRob3NlDQotb3ZlcmxheXMuDQorTmlsIG1lYW5zIHRvIG9ubHkgdXNl IGEgcHJvbWluZW50IGdyYXkgYmFja2dyb3VuZCB3aXRoIGEgbmV1dHJhbA0KK2ZvcmVncm91bmQu ICBUaGUgZm9yZWdyb3VuZCBvdmVycmlkZXMgYWxsIHN5bnRheCBoaWdobGlnaHRpbmcuICBUaGUN CityZWdpb24gZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KKw0KK09wdGlvbiBA c2FtcHtuby1leHRlbmR9IHByZXNlcnZlcyB0aGUgZGVmYXVsdCBhZXN0aGV0aWMgYnV0IHByZXZl bnRzIHRoZQ0KK3JlZ2lvbiBmcm9tIGV4dGVuZGluZyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93 Lg0KKw0KK09wdGlvbiBAc2FtcHtiZy1vbmx5fSBhcHBsaWVzIGEgZmFpbnQgdGludGVkIGJhY2tn cm91bmQgdGhhdCBpcyBkaXN0aW5jdCBmcm9tDQorYWxsIG90aGVycyB1c2VkIGluIHRoZSB0aGVt ZSwgd2hpbGUgaXQgZG9lcyBub3Qgb3ZlcnJpZGUgYW55IGV4aXN0aW5nDQorY29sb3JzLiAgSXQg ZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KKw0KK09wdGlvbiBAc2FtcHtiZy1v bmx5LW5vLWV4dGVuZH0gaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgQHNhbXB7Ymctb25seX0gYW5k DQorQHNhbXB7bm8tZXh0ZW5kfSBvcHRpb25zLg0KIA0KIEBub2RlIERpZmZzDQogQHNlY3Rpb24g T3B0aW9uIGZvciBkaWZmIGJ1ZmZlciBsb29rcw0KIA0KLVN5bWJvbCBuYW1lczoNCi0NCi1AaXRl bWl6ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZnN9DQotQGl0ZW0N Ci1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZzfQ0KLUBlbmQgaXRlbWl6ZQ0KK1N5bWJv bDogQHNhbXB7bW9kdXMtdGhlbWVzLWRpZmZzfQ0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCkBA IC04NjEsNDIgKzg4NCw0NCBAQCBEaWZmcw0KIEBzYW1we2ZnLW9ubHl9DQogQGVuZCBlbnVtZXJh dGUNCiANCi1CeSBkZWZhdWx0IHRoZSB0aGVtZXMgd2lsbCBhcHBseSByaWNobHkgY29sb3JlZCBi YWNrZ3JvdW5kcyB0byB0aGUNCi1vdXRwdXQgb2YgZGlmZnMsIHN1Y2ggYXMgdGhvc2Ugb2YgQHNh bXB7ZGlmZi1tb2RlfSwgQHNhbXB7ZWRpZmZ9LCBAc2FtcHtzbWVyZ2UtbW9kZX0sIGFuZA0KLUBz YW1we21hZ2l0fS4gIFRoZXNlIGFyZSBjb2xvciBjb21iaW5hdGlvbnMgb2YgYW4gYWNjZW50ZWQg YmFja2dyb3VuZCBhbmQNCi1mb3JlZ3JvdW5kIHNvIHRoYXQsIGZvciBleGFtcGxlLCBhZGRlZCBs aW5lcyBoYXZlIGEgcHJvbm91bmNlZCBncmVlbg0KLWJhY2tncm91bmQgd2l0aCBhbiBhcHByb3By aWF0ZSBzaGFkZSBvZiBncmVlbiBmb3IgdGhlIGFmZmVjdGVkIHRleHQuDQotV29yZC13aXNlIG9y IGBgcmVmaW5lZCcnIGNoYW5nZXMgZm9sbG93IHRoaXMgcGF0dGVybiBidXQgdXNlIGRpZmZlcmVu dA0KLXNoYWRlcyBvZiB0aG9zZSBjb2xvcnMgdG8gcmVtYWluIGRpc3RpbmN0Lg0KK0J5IGRlZmF1 bHQgdGhlIHRoZW1lcyBhcHBseSByaWNoIGNvbG9yYXRpb24gdG8gdGhlIG91dHB1dCBvZiBkaWZm cywgc3VjaA0KK2FzIHRob3NlIG9mIEBzYW1we2RpZmYtbW9kZX0sIEBzYW1we2VkaWZmfSwgQHNh bXB7c21lcmdlLW1vZGV9LCBhbmQgQHNhbXB7bWFnaXR9LiAgVGhlc2UgYXJlIGNvbG9yDQorY29t YmluYXRpb25zIG9mIGFuIGFjY2VudGVkIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgc28gdGhh dCwgZm9yDQorZXhhbXBsZSwgYWRkZWQgbGluZXMgaGF2ZSBhIHByb25vdW5jZWQgZ3JlZW4gYmFj a2dyb3VuZCB3aXRoIGFuDQorYXBwcm9wcmlhdGUgc2hhZGUgb2YgZ3JlZW4gZm9yIHRoZSBhZmZl Y3RlZCB0ZXh0LiAgV29yZC13aXNlIG9yDQorYGByZWZpbmVkJycgY2hhbmdlcyBmb2xsb3cgdGhp cyBwYXR0ZXJuIGJ1dCB1c2UgZGlmZmVyZW50IHNoYWRlcyBvZiB0aG9zZQ0KK2NvbG9ycyB0byBy ZW1haW4gZGlzdGluY3QuDQogDQotQSBAc2FtcHtkZXNhdHVyYXRlZH0gdmFsdWUgdG9uZXMgZG93 biBhbGwgcmVsZXZhbnQgY29sb3IgdmFsdWVzLiAgSXQgc3RpbGwNCitPcHRpb24gQHNhbXB7ZGVz YXR1cmF0ZWR9IHRvbmVzIGRvd24gYWxsIHJlbGV2YW50IGNvbG9yIHZhbHVlcy4gIEl0IHN0aWxs DQogY29tYmluZXMgYW4gYWNjZW50ZWQgYmFja2dyb3VuZCB3aXRoIGFuIGFwcHJvcHJpYXRlIGZv cmVncm91bmQsIHlldCBpdHMNCi1vdmVyYWxsIGltcHJlc3Npb24gaXMgdmVyeSBzdWJ0bGUuICBS ZWZpbmVkIGNoYW5nZXMgYXJlIGEgYml0IG1vcmUNCitvdmVyYWxsIGltcHJlc3Npb24gaXMgZmFp cmx5IHN1YnRsZS4gIFJlZmluZWQgY2hhbmdlcyBhcmUgYSBiaXQgbW9yZQ0KIGludGVuc2UgdG8g ZnVsZmlsIHRoZWlyIGludGVuZGVkIGZ1bmN0aW9uLCB0aG91Z2ggc3RpbGwgbGVzcyBzYXR1cmF0 ZWQNCiB0aGFuIGRlZmF1bHQuDQogDQotV2hpbGUgQHNhbXB7Zmctb25seX0gd2lsbCByZW1vdmUg YWxsIGFjY2VudGVkIGJhY2tncm91bmRzIGFuZCBpbnN0ZWFkIHJlbHkgb24NCi1jb2xvci1jb2Rl ZCB0ZXh0IHRvIGRlbm90ZSBjaGFuZ2VzLiAgRm9yIGluc3RhbmNlLCBhZGRlZCBsaW5lcyB1c2Ug YW4NCi1pbnRlbnNlIGdyZWVuIGZvcmVncm91bmQsIHdoaWxlIHRoZWlyIGJhY2tncm91bmQgaXMg dGhlIHNhbWUgYXMgdGhlIHJlc3QNCi1vZiB0aGUgYnVmZmVyLiAgV29yZC13aXNlIGhpZ2hsaWdo dHMgc3RpbGwgdXNlIGEgYmFja2dyb3VuZCB2YWx1ZSB3aGljaA0KLWlzLCBub25ldGhlbGVzcywg bW9yZSBzdWJ0bGUgdGhhbiBpdHMgZGVmYXVsdCBlcXVpdmFsZW50Lg0KLQ0KLUNvbmNlcm5pbmcg QHNhbXB7bWFnaXR9LCBhbiBleHRyYSBzZXQgb2YgdHdlYWtzIGFyZSBpbnRyb2R1Y2VkIGZvciB0 aGUgZWZmZWN0DQotb2YgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IGRpZmYgaHVuaywgc28gYXMg dG8gcmVtYWluIGNvbnNpc3RlbnQgd2l0aA0KLXRoZSBvdmVyYWxsIGV4cGVyaWVuY2Ugb2YgdGhh dCBtb2RlLiAgRXhwZWN0IGNoYW5nZXMgdGhhdCBhcmUgY29uc2lzdGVudA0KLXdpdGggdGhlIG92 ZXJhbGwgaW50ZW50IG9mIHRoZSBhZm9yZW1lbnRpb25lZC4NCitPcHRpb24gQHNhbXB7Zmctb25s eX0gd2lsbCByZW1vdmUgbW9zdCBhY2NlbnRlZCBiYWNrZ3JvdW5kcyBhbmQgaW5zdGVhZCByZWx5 IG9uDQorY29sb3ItY29kZWQgdGV4dCB0byBkZW5vdGUgY2hhbmdlcy4gIEZvciBpbnN0YW5jZSwg YWRkZWQgbGluZXMgdXNlIGENCitncmVlbiBmb3JlZ3JvdW5kLCB3aGlsZSB0aGVpciBiYWNrZ3Jv dW5kIGlzIHRoZSBzYW1lIGFzIHRoZSByZXN0IG9mIHRoZQ0KK2J1ZmZlci4gIFdvcmQtd2lzZSBo aWdobGlnaHRzIHN0aWxsIHVzZSBhIGJhY2tncm91bmQgdmFsdWUgd2hpY2ggaXMsDQorbm9uZXRo ZWxlc3MsIG1vcmUgc3VidGxlIHRoYW4gaXRzIGRlZmF1bHQgZXF1aXZhbGVudC4NCisNCitPcHRp b24gQHNhbXB7Ymctb25seX0gYXBwbGllcyBjb2xvci1jb2RlZCBiYWNrZ3JvdW5kcyBidXQgZG9l cyBub3Qgb3ZlcnJpZGUgYW55DQorc3ludGF4IGhpZ2hsaWdodGluZyB0aGF0IG1heSBiZSBwcmVz ZW50LiAgVGhpcyBtYWtlcyBpdCBzdWl0YWJsZSBmb3IgdXNlDQord2l0aCBhIG5vbi1uaWwgdmFs dWUgZm9yIEBzYW1we2RpZmYtZm9udC1sb2NrLXN5bnRheH0gKHdoaWNoIGlzIHRoZSBkZWZhdWx0 IGZvcg0KK0BzYW1we2RpZmYtbW9kZX0gYnVmZmVycyBpbiBFbWFjcyAyNyBvciBoaWdoZXIpLg0K Kw0KK0NvbmNlcm5pbmcgTWFnaXQsIGFuIGV4dHJhIHNldCBvZiB0d2Vha3MgYXJlIGludHJvZHVj ZWQgZm9yIHRoZSBlZmZlY3QNCitvZiBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgZGlmZiBodW5r LCBzbyBhcyB0byByZW1haW4gYWxpZ25lZCB3aXRoIHRoZQ0KK292ZXJhbGwgZXhwZXJpZW5jZSBv ZiB0aGF0IG1vZGUuICBFeHBlY3QgY2hhbmdlcyB0aGF0IGFyZSBjb25zaXN0ZW50DQord2l0aCB0 aGUgb3ZlcmFsbCBpbnRlbnQgb2YgdGhlIGFmb3JlbWVudGlvbmVkLiAgTm90ZSwgaG93ZXZlciwg dGhhdCB0aGUNCitAc2FtcHtiZy1vbmx5fSBvcHRpb24gd2lsbCBub3QgZGVsaXZlciB0aGUgaW50 ZW5kZWQgcmVzdWx0cyBpbiBNYWdpdCBkaWZmcw0KK2JlY2F1c2Ugbm8gc3ludGF4IGhpZ2hsaWdo dGluZyBpcyB1c2VkIHRoZXJlIChsYXN0IGNoZWNrZWQgd2l0aCBNYWdpdA0KK3ZlcnNpb24gMjAy MDExMTYuMTA1NywgdGhvdWdoIHVwc3RyZWFtIGhhcyBhIHBsYW4gdG8gZXZlbnR1YWxseSBzdXBw b3J0DQorc3VjaCBhIGZlYXR1cmUtLS10aGlzIGVudHJ5IHNoYWxsIGJlIHVwZGF0ZWQgYWNjb3Jk aW5nbHkpLg0KIA0KIEBub2RlIE9yZyBtb2RlIGJsb2Nrcw0KIEBzZWN0aW9uIE9wdGlvbiBmb3Ig b3JnLW1vZGUgYmxvY2sgc3R5bGVzDQogDQotU3ltYm9sIG5hbWVzOg0KLQ0KLUBpdGVtaXplDQot QGl0ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzfQ0KLUBpdGVtDQot QHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzfQ0KLUBlbmQgaXRlbWl6ZQ0KK1N5 bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLW9yZy1ibG9ja3N9DQogDQogUG9zc2libGUgdmFsdWVz Og0KIA0KQEAgLTkwNCw3ICs5MjksNyBAQCBPcmcgbW9kZSBibG9ja3MNCiBAaXRlbQ0KIEBzYW1w e25pbH0gKGRlZmF1bHQpDQogQGl0ZW0NCi1Ac2FtcHtncmV5c2NhbGV9DQorQHNhbXB7Z3JheXNj YWxlfQ0KIEBpdGVtDQogQHNhbXB7cmFpbmJvd30NCiBAZW5kIGVudW1lcmF0ZQ0KQEAgLTkxMiwx OCArOTM3LDE3IEBAIE9yZyBtb2RlIGJsb2Nrcw0KIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUg c2FtZSBiYWNrZ3JvdW5kIGFzIHRoZSByZXN0IG9mIHRoZSBidWZmZXIgZm9yDQogdGhlIGNvbnRl bnRzIG9mIHRoZSBibG9jay4NCiANCi1BIHZhbHVlIG9mIEBzYW1we2dyZXlzY2FsZX0gd2lsbCBh cHBseSBhIHN1YnRsZSBuZXV0cmFsIGdyYXkgYmFja2dyb3VuZCB0byB0aGUNCi1ibG9jaydzIGNv bnRlbnRzLiAgSXQgd2lsbCBhbHNvIGV4dGVuZCB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93IHRo ZQ0KLWJhY2tncm91bmQgb2YgdGhlIGBgYmVnaW4nJyBhbmQgYGBlbmQnJyBibG9jayBkZWxpbWl0 ZXIgbGluZXMgKG9ubHkgcmVsZXZhbnQNCi1mb3IgRW1hY3MgdmVyc2lvbnMgPj0gMjcgd2hlcmUg dGhlICdleHRlbmQnIGtleXdvcmQgaXMgcmVjb2duaXNlZCBieQ0KLUBzYW1we3NldC1mYWNlLWF0 dHJpYnV0ZX0pLg0KK09wdGlvbiBAc2FtcHtncmF5c2NhbGV9IGFwcGxpZXMgYSBzdWJ0bGUgbmV1 dHJhbCBncmF5IGJhY2tncm91bmQgdG8gdGhlIGJsb2NrJ3MNCitjb250ZW50cy4gIEl0IHdpbGwg YWxzbyBleHRlbmQgdG8gdGhlIGVkZ2Ugb2YgdGhlIHdpbmRvdyB0aGUgYmFja2dyb3VuZA0KK29m IHRoZSBgYGJlZ2luJycgYW5kIGBgZW5kJycgYmxvY2sgZGVsaW1pdGVyIGxpbmVzIChvbmx5IHJl bGV2YW50IGZvciBFbWFjcw0KK3ZlcnNpb25zID49IDI3IHdoZXJlIHRoZSAnZXh0ZW5kJyBrZXl3 b3JkIGlzIHBhcnQgb2YgdGhlIGZhY2UNCitzcGVjaWZpY2F0aW9ucykuDQogDQotV2hpbGUgQHNh bXB7cmFpbmJvd30gd2lsbCBpbnN0ZWFkIHVzZSBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIGZvciB0 aGUgY29udGVudHMNCi1vZiB0aGUgYmxvY2suICBUaGUgZXhhY3QgY29sb3Igd2lsbCBkZXBlbmQg b24gdGhlIHByb2dyYW1taW5nIGxhbmd1YWdlDQotYW5kIGlzIGNvbnRyb2xsZWQgYnkgdGhlIEBz YW1we29yZy1zcmMtYmxvY2stZmFjZXN9IHZhcmlhYmxlIChyZWZlciB0byB0aGUNCi10aGVtZSdz IHNvdXJjZSBjb2RlIGZvciB0aGUgY3VycmVudCBhc3NvY2lhdGlvbiBsaXN0KS4gIFRoaXMgaXMg bW9zdA0KLXN1aXRhYmxlIGZvciB1c2VycyB3aG8gd29yayBvbiBsaXRlcmF0ZSBwcm9ncmFtbWlu ZyBkb2N1bWVudHMgdGhhdCBtaXgNCi1hbmQgbWF0Y2ggc2V2ZXJhbCBsYW5ndWFnZXMuDQorT3B0 aW9uIEBzYW1we3JhaW5ib3d9IHVzZXMgYW4gYWNjZW50ZWQgYmFja2dyb3VuZCBmb3IgdGhlIGNv bnRlbnRzIG9mIHRoZQ0KK2Jsb2NrLiAgVGhlIGV4YWN0IGNvbG9yIHdpbGwgZGVwZW5kIG9uIHRo ZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBhbmQgaXMNCitjb250cm9sbGVkIGJ5IHRoZSBAc2FtcHtv cmctc3JjLWJsb2NrLWZhY2VzfSB2YXJpYWJsZS4gIFRoaXMgaXMgbW9zdCBzdWl0YWJsZQ0KK2Zv ciB1c2VycyB3aG8gd29yayBvbiBsaXRlcmF0ZSBwcm9ncmFtbWluZyBkb2N1bWVudHMgdGhhdCBt aXggYW5kIG1hdGNoDQorc2V2ZXJhbCBsYW5ndWFnZXMuDQogDQogTm90ZSB0aGF0IHRoZSBgYHJh aW5ib3cnJyBibG9ja3MgbWF5IHJlcXVpcmUgeW91IHRvIGFsc28gcmVsb2FkIHRoZQ0KIG1ham9y LW1vZGUgc28gdGhhdCB0aGUgY29sb3JzIGFyZSBhcHBsaWVkIHByb3Blcmx5OiB1c2UgQGtiZHtN LXggb3JnLW1vZGV9IG9yDQpAQCAtOTMxLDE5ICs5NTUsMTIgQEAgT3JnIG1vZGUgYmxvY2tzDQog Y29kZSBibG9jayAoaW5lZmZpY2llbnQgYXQgc2NhbGUsIGJ1dCBpdCBzdGlsbCB3b3JrcykuDQog DQogQG5vZGUgSGVhZGluZyBzdHlsZXMNCi1Ac2VjdGlvbiBPcHRpb24gZm9yIGhlYWRpbmdzJyBv dmVyYWxsIHN0eWxlDQorQHNlY3Rpb24gT3B0aW9uIGZvciB0aGUgaGVhZGluZ3MnIG92ZXJhbGwg c3R5bGUNCiANCiBUaGlzIGlzIGRlZmluZWQgYXMgYW4gYWxpc3QgYW5kLCB0aGVyZWZvcmUsIHVz ZXMgYSBkaWZmZXJlbnQgYXBwcm9hY2gNCiB0aGFuIG90aGVyIGN1c3RvbWl6YXRpb24gb3B0aW9u cyBkb2N1bWVudGVkIGluIHRoaXMgbWFudWFsLg0KIA0KLVN5bWJvbCBuYW1lczoNCi0NCi1AaXRl bWl6ZQ0KLUBpdGVtDQotQHNhbXB7bW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3N9DQotQGl0 ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzfQ0KLUBlbmQgaXRlbWl6ZQ0K K1N5bWJvbDogQHNhbXB7bW9kdXMtdGhlbWVzLWhlYWRpbmdzfQ0KIA0KIFBvc3NpYmxlIHZhbHVl cywgd2hpY2ggY2FuIGJlIHNwZWNpZmllZCBmb3IgZWFjaCBoZWFkaW5nIGxldmVsIChleGFtcGxl cw0KIGZ1cnRoZXIgYmVsb3cpOg0KQEAgLTk4Myw2MSArMTAwMCw2MSBAQCBIZWFkaW5nIHN0eWxl cw0KIEBzYW1we3JhaW5ib3ctc2VjdGlvbi1uby1ib2xkfQ0KIEBlbmQgaXRlbWl6ZQ0KIA0KLVRv IGNvbnRyb2wgZmFjZXMgcGVyIGxldmVsIGZyb20gMS04LCB1c2Ugc29tZXRoaW5nIGxpa2UgdGhp cyAoc2FtZSBmb3INCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzfSk6DQorVG8g Y29udHJvbCBmYWNlcyBwZXIgbGV2ZWwgZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlz Og0KIA0KIEBsaXNwDQotKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MNCisoc2V0 cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCiAgICAgICAnKCgxIC4gc2VjdGlvbikNCi0gICAgICAg ICgyIC4gbGluZSkNCi0gICAgICAgICgzIC4gaGlnaGxpZ2h0KQ0KLSAgICAgICAgKHQgLiByYWlu Ym93LW5vLWJvbGQpKSkNCisgICAgICAgICgyIC4gc2VjdGlvbi1uby1ib2xkKQ0KKyAgICAgICAg KDMgLiByYWluYm93LWxpbmUpDQorICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkp DQogQGVuZCBsaXNwDQogDQotVGhlIGFib3ZlIHVzZXMgdGhlIEBzYW1we3NlY3Rpb259IHZhbHVl IGZvciBoZWFkaW5nIGxldmVscyAxLCB0aGUgQHNhbXB7bGluZX0gZm9yDQotaGVhZGluZ3MgMiwg QHNhbXB7aGlnaGxpZ2h0fSBmb3IgMy4gIEFsbCBvdGhlciBsZXZlbHMgZmFsbCBiYWNrIHRvDQor VGhlIGFib3ZlIHVzZXMgdGhlIEBzYW1we3NlY3Rpb259IHZhbHVlIGZvciBoZWFkaW5nIGxldmVs cyAxLCBAc2FtcHtzZWN0aW9uLW5vLWJvbGR9DQorZm9yIGhlYWRpbmdzIDIsIEBzYW1we3JhaW5i b3ctbGluZX0gZm9yIDMuICBBbGwgb3RoZXIgbGV2ZWxzIGZhbGwgYmFjayB0bw0KIEBzYW1we3Jh aW5ib3ctbGluZS1uby1ib2xkfS4NCiANCiBUbyBzZXQgYSB1bmlmb3JtIHZhbHVlIGZvciBhbGwg aGVhZGluZyBsZXZlbHMsIHVzZSB0aGlzIHBhdHRlcm46DQogDQogQGxpc3ANCiA7OyBBIGdpdmVu IHN0eWxlIGZvciBldmVyeSBoZWFkaW5nDQotKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVh ZGluZ3MNCi0gICAgICAnKCh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCisoc2V0cSBtb2R1 cy10aGVtZXMtaGVhZGluZ3MNCisgICAgICAnKCh0IC4gc2VjdGlvbikpKQ0KIA0KIDs7IERlZmF1 bHQgYWVzdGhldGljIGZvciBldmVyeSBoZWFkaW5nDQotKHNldHEgbW9kdXMtb3BlcmFuZGktdGhl bWUtaGVhZGluZ3MNCi0gICAgICAnKCh0IC4gbmlsKSkpDQorKHNldHEgbW9kdXMtdGhlbWVzLWhl YWRpbmdzDQorICAgICAgJygpKQ0KIEBlbmQgbGlzcA0KIA0KIFRoZSBkZWZhdWx0IHN0eWxlIGZv ciBoZWFkaW5ncyB1c2VzIGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQNCi12YWx1ZSBp biBjb21iaW5hdGlvbiB3aXRoIGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBUbyBzcGVjaWZ5 IHRoaXMNCi1zdHlsZSBmb3IgYSBnaXZlbiBsZXZlbCBOIChhc3N1bWluZyB5b3Ugd2lzaCB0byBo YXZlIGFub3RoZXIgZmFsbGJhY2sNCi1vcHRpb24pLCBqdXN0IHNwZWNpZnkgdGhlIHZhbHVlIEBz YW1we3R9IGxpa2UgdGhpczoNCit2YWx1ZSBpbiBjb21iaW5hdGlvbiB3aXRoIGJvbGQgdHlwb2dy YXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0aGlzDQorc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwg TiwgYXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyIGZhbGxiYWNrDQorb3B0aW9uLCBq dXN0IHNwZWNpZnkgdGhlIHZhbHVlIEBzYW1we3R9IGxpa2UgdGhpczoNCiANCiBAbGlzcA0KLShz ZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQorKHNldHEgbW9kdXMtdGhlbWVzLWhl YWRpbmdzDQogICAgICAgJygoMSAuIHQpDQogICAgICAgICAoMiAuIGxpbmUpDQogICAgICAgICAo dCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQogQGVuZCBsaXNwDQogDQotQSBkZXNjcmlwdGlv biBvZiBhbGwgb3RoZXIgcG9zc2libGUgc3R5bGVzOg0KK0EgZGVzY3JpcHRpb24gb2YgYWxsIG90 aGVyIHBvc3NpYmxlIHN0eWxlcyBiZXlvbmQgdGhlIGRlZmF1bHQ6DQogDQogQGl0ZW1pemUNCiBA aXRlbQ0KLUBzYW1we25vLWJvbGR9IHJldGFpbnMgdGhlIGRlZmF1bHQgdGV4dCBjb2xvciB3aGls ZSByZW1vdmluZyB0aGUgdHlwb2dyYXBoaWMNCi13ZWlnaHQuDQorQHNhbXB7bm8tYm9sZH0gcmV0 YWlucyB0aGUgZGVmYXVsdCB0ZXh0IGNvbG9yIHdoaWxlIHJlbW92aW5nIHRoZSBib2xkDQordHlw b2dyYXBoaWMgd2VpZ2h0Lg0KIA0KIEBpdGVtDQotQHNhbXB7bGluZX0gaXMgdGhlIHNhbWUgYXMg dGhlIGRlZmF1bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZSBoZWFkaW5nLg0KK0BzYW1we2xp bmV9IGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0IHBsdXMgYW4gb3ZlcmxpbmUgYWNyb3NzIHRo ZSBoZWFkaW5nJ3MNCitsZW5ndGguDQogDQogQGl0ZW0NCiBAc2FtcHtsaW5lLW5vLWJvbGR9IGlz IHRoZSBzYW1lIGFzIEBzYW1we2xpbmV9IHdpdGhvdXQgYm9sZCB3ZWlnaHQuDQogDQogQGl0ZW0N CiBAc2FtcHtyYWluYm93fSB1c2VzIGEgbW9yZSBjb2xvcmZ1bCBmb3JlZ3JvdW5kIGluIGNvbWJp bmF0aW9uIHdpdGggYm9sZA0KLXdlaWdodC4NCit0eXBvZ3JhcGhpYyB3ZWlnaHQuDQogDQogQGl0 ZW0NCiBAc2FtcHtyYWluYm93LWxpbmV9IGlzIHRoZSBzYW1lIGFzIEBzYW1we3JhaW5ib3d9IHBs dXMgYW4gb3ZlcmxpbmUuDQpAQCAtMTA3NiwyMCArMTA5MywxMyBAQCBIZWFkaW5nIHN0eWxlcw0K IA0KIEBpdGVtDQogQHNhbXB7cmFpbmJvdy1zZWN0aW9uLW5vLWJvbGR9IGlzIHRoZSBzYW1lIGFz IEBzYW1we3JhaW5ib3ctc2VjdGlvbn0gd2l0aG91dCBhIGJvbGQNCi13ZWlnaHQuYGANCit3ZWln aHQuDQogQGVuZCBpdGVtaXplDQogDQogQG5vZGUgU2NhbGVkIGhlYWRpbmdzDQogQHNlY3Rpb24g T3B0aW9uIGZvciBzY2FsZWQgaGVhZGluZ3MNCiANCi1TeW1ib2wgbmFtZXM6DQotDQotQGl0ZW1p emUNCi1AaXRlbQ0KLUBzYW1we21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzfQ0K LUBpdGVtDQotQHNhbXB7bW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS1oZWFkaW5nc30NCi1AZW5k IGl0ZW1pemUNCitTeW1ib2w6IEBzYW1we21vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5nc30NCiAN CiBQb3NzaWJsZSB2YWx1ZXM6DQogDQpAQCAtMTEwMCw5ICsxMTEwLDEwIEBAIFNjYWxlZCBoZWFk aW5ncw0KIEBzYW1we3R9DQogQGVuZCBlbnVtZXJhdGUNCiANCi1NYWtlIGhlYWRpbmdzIGxhcmdl ciBpbiBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIG1haW4gdGV4dC4gIFRoaXMgaXMNCi1ub3RpY2Vh YmxlIGluIG1vZGVzIGxpa2UgT3JnLiAgVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBzYW1lIHNp emUgZm9yDQotaGVhZGluZ3MgYW5kIGJvZHkgY29weS4NCitUaGUgZGVmYXVsdCBpcyB0byB1c2Ug dGhlIHNhbWUgc2l6ZSBmb3IgaGVhZGluZ3MgYW5kIHBhcmFncmFwaCB0ZXh0Lg0KKw0KK1dpdGgg YSBub24tbmlsIHZhbHVlIChAc2FtcHt0fSkgbWFrZSBoZWFkaW5ncyBsYXJnZXIgaW4gaGVpZ2h0 IHJlbGF0aXZlIHRvIHRoZQ0KK21haW4gdGV4dC4gIFRoaXMgaXMgbm90aWNlYWJsZSBpbiBtb2Rl cyBsaWtlIE9yZy4NCiANCiBAbWVudQ0KICogU2NhbGVkIGhlYWRpbmcgc2l6ZXM6OiAgICAgICAg IFNwZWNpZnkgcmF0ZSBvZiBpbmNyZWFzZSBmb3Igc2NhbGVkIGhlYWRpbmdzDQpAQCAtMTEyNSw3 ICsxMTM2LDcgQEAgU2NhbGVkIGhlYWRpbmcgc2l6ZXMNCiBpdCB0byBiZSBAc2FtcHsxOHB0fSB5 b3UgbXVzdCBwYXNzIEBzYW1wezE4MH0uICBQbGVhc2UgdW5kZXJzdGFuZCB0aGF0IHNldHRpbmcg YW4NCiBhYnNvbHV0ZSB2YWx1ZSBpcyBkaXNjb3VyYWdlZCwgYXMgaXQgd2lsbCBicmVhayB0aGUg bGF5b3V0IHdoZW4geW91DQogdHJ5IHRvIGNoYW5nZSBmb250IHNpemVzIHdpdGggdGhlIGJ1aWx0 LWluIEBzYW1we3RleHQtc2NhbGUtYWRqdXN0fSBjb21tYW5kDQotKHNlZSBAcmVme0ZvbnQgY29u ZmlncyAoRElZKSwgLCBGb250IGNvbmZpZ3VyYXRpb25zfSkuDQorKHNlZSBAeHJlZntGb250IGNv bmZpZ3MgKERJWSl9KS4NCiBAZW5kIGl0ZW1pemUNCiANCiBCZWxvdyBhcmUgdGhlIHZhcmlhYmxl cyBpbiB0aGVpciBkZWZhdWx0IHZhbHVlcywgdXNpbmcgdGhlIGZsb2F0aW5nDQpAQCAtMTEzNCwx NyArMTE0NSwxMSBAQCBTY2FsZWQgaGVhZGluZyBzaXplcw0KIHJlc291cmNlIGZvciBmaW5kaW5n IGEgY29uc2lzdGVudCBzY2FsZToNCiANCiBAbGlzcA0KLShzZXRxIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXNjYWxlLTEgMS4wNQ0KLSAgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTIgMS4x DQotICAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMyAxLjE1DQotICAgICAgbW9kdXMt b3BlcmFuZGktdGhlbWUtc2NhbGUtNCAxLjINCi0gICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1z Y2FsZS01IDEuMykNCi0NCi0oc2V0cSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTEgMS4wNQ0K LSAgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMiAxLjENCi0gICAgICBtb2R1cy12aXZl bmRpLXRoZW1lLXNjYWxlLTMgMS4xNQ0KLSAgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUt NCAxLjINCi0gICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTUgMS4zKQ0KKyhzZXRxIG1v ZHVzLXRoZW1lcy1zY2FsZS0xIDEuMDUNCisgICAgICBtb2R1cy10aGVtZXMtc2NhbGUtMiAxLjEN CisgICAgICBtb2R1cy10aGVtZXMtc2NhbGUtMyAxLjE1DQorICAgICAgbW9kdXMtdGhlbWVzLXNj YWxlLTQgMS4yDQorICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTUgMS4zKQ0KIEBlbmQgbGlzcA0K IA0KIE5vdGUgdGhhdCBpbiBlYXJsaWVyIHZlcnNpb25zIG9mIE9yZywgc2NhbGluZyB3b3VsZCBv bmx5IGluY3JlYXNlIHRoZQ0KQEAgLTExNTUsMTQgKzExNjAsNyBAQCBTY2FsZWQgaGVhZGluZyBz aXplcw0KIEBub2RlIEhlYWRpbmdzJyBmb250DQogQHNlY3Rpb24gT3B0aW9uIGZvciB2YXJpYWJs ZS1waXRjaCBmb250IGluIGhlYWRpbmdzDQogDQotU3ltYm9sIG5hbWVzOg0KLQ0KLUBpdGVtaXpl DQotQGl0ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFk aW5nc30NCi1AaXRlbQ0KLUBzYW1we21vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gt aGVhZGluZ3N9DQotQGVuZCBpdGVtaXplDQorU3ltYm9sOiBAc2FtcHttb2R1cy10aGVtZXMtdmFy aWFibGUtcGl0Y2gtaGVhZGluZ3N9DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KQEAgLTExNzMs MTkgKzExNzEsMjAgQEAgSGVhZGluZ3MnIGZvbnQNCiBAc2FtcHt0fQ0KIEBlbmQgZW51bWVyYXRl DQogDQotQ2hvb3NlIHRvIGFwcGx5IGEgcHJvcG9ydGlvbmF0ZWx5IHNwYWNlZCwgZWxzZSBgYHZh cmlhYmxlLXBpdGNoJycsDQotdHlwZWZhY2UgdG8gaGVhZGluZ3MgKHN1Y2ggYXMgaW4gT3JnIG1v ZGUpLiAgVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZQ0KLW1haW4gZm9udCBmYW1pbHkuDQorVGhl IGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBtYWluIGZvbnQgZmFtaWx5LCB3aGljaCB0eXBpY2FsbHkg aXMgbW9ub3NwYWNlZC4NCiANCi1AcmVme0ZvbnQgY29uZmlncyAoRElZKSwgLCBGb250IGNvbmZp Z3VyYXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMpfS4NCitXaXRoIGEgbm9uLW5pbCB2YWx1ZSAo QHNhbXB7dH0pIGFwcGx5IGEgcHJvcG9ydGlvbmF0ZWx5IHNwYWNlZCB0eXBlZmFjZSwgZWxzZQ0K K2BgdmFyaWFibGUtcGl0Y2gnJywgdG8gaGVhZGluZ3MgKHN1Y2ggYXMgaW4gT3JnIG1vZGUpLg0K Kw0KK0B4cmVme0ZvbnQgY29uZmlncyAoRElZKX0uDQogDQogQG5vZGUgQWR2YW5jZWQgY3VzdG9t aXphdGlvbiAoZG8taXQteW91cnNlbGYpDQogQGNoYXB0ZXIgQWR2YW5jZWQgY3VzdG9taXphdGlv biAoZG8taXQteW91cnNlbGYpDQogDQotVW5saWtlIHRoZSBwcmVkZWZpbmVkIGN1c3RvbWl6YXRp b24gb3B0aW9ucyB3aGljaCBmb2xsb3cgYQ0KLXN0cmFpZ2h0Zm9yd2FyZCBwYXR0ZXJuIG9mIGFs bG93aW5nIHRoZSB1c2VyIHRvIHF1aWNrbHkgc3BlY2lmeSB0aGVpcg0KLXByZWZlcmVuY2UsIHRo ZSB0aGVtZXMgYWxzbyBwcm92aWRlIGEgbW9yZSBmbGV4aWJsZSwgYWxiZWl0IGRpZmZpY3VsdCwN Ci1tZWNoYW5pc20gdG8gY29udHJvbCB0aGluZ3Mgd2l0aCBwcmVjaXNpb24gKHNlZSBAcmVme0N1 c3RvbWl6YXRpb24gT3B0aW9uc30pLg0KK1VubGlrZSB0aGUgcHJlZGVmaW5lZCBjdXN0b21pemF0 aW9uIG9wdGlvbnMgd2hpY2ggZm9sbG93IGEgY2xlYXIgcGF0dGVybg0KK29mIGFsbG93aW5nIHRo ZSB1c2VyIHRvIHF1aWNrbHkgc3BlY2lmeSB0aGVpciBwcmVmZXJlbmNlLCB0aGUgdGhlbWVzDQor YWxzbyBwcm92aWRlIGEgbW9yZSBmbGV4aWJsZSwgYWxiZWl0IGRpZmZpY3VsdCwgbWVjaGFuaXNt IHRvIGNvbnRyb2wNCit0aGluZ3Mgd2l0aCBwcmVjaXNpb24gKHNlZSBAeHJlZntDdXN0b21pemF0 aW9uIE9wdGlvbnN9KS4NCiANCiBUaGlzIHNlY3Rpb24gaXMgb2YgaW50ZXJlc3Qgb25seSB0byB1 c2VycyB3aG8gYXJlIHByZXBhcmVkIHRvIG1haW50YWluDQogdGhlaXIgb3duIGxvY2FsIHR3ZWFr cyBhbmQgd2hvIGFyZSB3aWxsaW5nIHRvIGRlYWwgd2l0aCBhbnkgcG9zc2libGUNCkBAIC0xMTkz LDExMCArMTE5MiwxMjEgQEAgQWR2YW5jZWQgY3VzdG9taXphdGlvbiAoZG8taXQteW91cnNlbGYp DQogdGhleSBhcmUgbGFiZWxsZWQgYXMgYGBkby1pdC15b3Vyc2VsZicnIG9yIGBgRElZJycuDQog DQogQG1lbnUNCi0qIFR3ZWFrIGNvbG9ycyAoRElZKTo6ICAgICAgICAgICBEZWNsYXJlIHlvdXIg b3duIHBhbGV0dGUgb3ZlcnJpZGVzDQorKiBUd2VhayBmYWNlcyAoRElZKTo6ICAgICAgICAgICAg RGVjbGFyZSB5b3VyIG93biBmYWNlIHNwZWNzDQogKiBGb250IGNvbmZpZ3MgKERJWSk6OiAgICAg ICAgICAgT3B0aW1pc2UgZm9yIG1peGVkIHR5cGVmYWNlIGJ1ZmZlcnMNCiAqIE9yZyB1c2VyIGZh Y2VzIChESVkpOjogICAgICAgICBFeHRlbmQgc3R5bGVzIGZvciBvcmctbW9kZSBrZXl3b3JkcyBh bmQgcHJpb3JpdGllcw0KKyogV0NBRyB0ZXN0IChESVkpOjogICAgICAgICAgICAgIEFwcGx5IHRo ZSBXQ0FHIGZvcm11bGEgdG8gY29sb3IgdmFsdWVzIG9mIHlvdXIgY2hvb3NpbmcNCisqIExvYWQg YXQgdGltZSAoRElZKTo6ICAgICAgICAgICBTd2l0Y2ggYmV0d2VlbiB0aGUgdGhlbWVzIGRlcGVu ZGluZyBvbiB0aGUgdGltZSBvZiBkYXkNCiBAZW5kIG1lbnUNCiANCi1Abm9kZSBUd2VhayBjb2xv cnMgKERJWSkNCi1Ac2VjdGlvbiBGdWxsIGFjY2VzcyB0byB0aGUgdGhlbWVzJyBwYWxldHRlDQor QG5vZGUgVHdlYWsgZmFjZXMgKERJWSkNCitAc2VjdGlvbiBDdXN0b20gZmFjZSBzcGVjcyB1c2lu ZyB0aGUgdGhlbWVzJyBwYWxldHRlIChESVkpDQogDQotVGhlIHZhcmlhYmxlcyBhcmU6DQorV2Ug YWxyZWFkeSBjb3ZlcmVkIGluIHByZXZpb3VzIHNlY3Rpb25zIGhvdyB0byB0b2dnbGUgYmV0d2Vl biB0aGUgdGhlbWVzDQorYW5kIGhvdyB0byBjb25maWd1cmUgb3B0aW9ucyBwcmlvciB0byBsb2Fk aW5nLiAgV2UgYWxzbyBleHBsYWluZWQgdGhhdA0KK3NvbWUgb2YgdGhlIGZ1bmN0aW9ucyBtYWRl IGF2YWlsYWJsZSB0byB1c2VycyB3aWxsIGZpcmUgdXAgYSBob29rIHRoYXQNCitjYW4gYmUgdXNl ZCB0byBwYXNzIHR3ZWFrcyBpbiB0aGUgcG9zdC10aGVtZS1sb2FkIHBoYXNlLg0KIA0KLUBpdGVt aXplDQotQGl0ZW0NCi1Ac2FtcHttb2R1cy1vcGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMt YWxpc3R9DQotQGl0ZW0NCi1Ac2FtcHttb2R1cy12aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9y cy1hbGlzdH0NCi1AZW5kIGl0ZW1pemUNCitAeHJlZntUb2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVz IG9uIGRlbWFuZH0uDQogDQotVXNlcnMgY2FuIHNwZWNpZnkgYW4gYXNzb2NpYXRpb24gbGlzdCB0 aGF0IG1hcHMgdGhlIG5hbWVzIG9mIGNvbG9yDQotdmFyaWFibGVzIHRvIGhleGFkZWNpbWFsIFJH QiB2YWx1ZXMgKGluIHRoZSBmb3JtIG9mIEBzYW1weyNSUkdHQkJ9KS4gIFRoaXMNCi1tZWFucyB0 aGF0IGl0IGlzIHBvc3NpYmxlIHRvIG92ZXJyaWRlIHRoZSBlbnRpcmUgcGFsZXR0ZSBvciBzdWJz ZXRzDQotdGhlcmVvZiAoc2VlIHRoZSBzb3VyY2UgY29kZSBmb3IgdGhlIGFjdHVhbCBuYW1lcyBh bmQgdmFsdWVzKS4NCitAeHJlZntDb25maWd1cmUgb3B0aW9ucyBwcmlvciB0byBsb2FkaW5nfS4N CiANCi1FeGFtcGxlOg0KK05vdyBhc3N1bWUgeW91IHdpc2ggdG8gY2hhbmdlIGEgc2luZ2xlIGZh Y2UsIHNheSwgdGhlIEBzYW1we2N1cnNvcn0uICBBbmQgeW91DQord291bGQgbGlrZSB0byBnZXQg dGhlIHN0YW5kYXJkIGBgYmx1ZScnIGNvbG9yIHZhbHVlIG9mIHRoZSBhY3RpdmUgTW9kdXMNCit0 aGVtZSwgd2hldGhlciBpdCBpcyBNb2R1cyBPcGVyYW5kaSBvciBNb2R1cyBWaXZlbmRpLiAgVG8g ZG8gdGhhdCwgeW91DQorY2FuIHVzZSB0aGUgQHNhbXB7bW9kdXMtdGhlbWVzLWNvbG9yfSBmdW5j dGlvbi4gIEl0IGFjY2VwdHMgYSBzeW1ib2wgdGhhdCBpcw0KK2Fzc29jaWF0ZWQgd2l0aCBhIGNv bG9yIGluIEBzYW1we21vZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGl9IGFuZA0KK0BzYW1we21v ZHVzLXRoZW1lcy1jb2xvcnMtdml2ZW5kaX0uICBMaWtlIHRoaXM6DQogDQogQGxpc3ANCi07OyBS ZWRlZmluZSB0aGUgdmFsdWVzIG9mIHRob3NlIHRocmVlIHZhcmlhYmxlcyBmb3IgdGhlIGdpdmVu IHRoZW1lDQotKHNldHEgbW9kdXMtdml2ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QN Ci0gICAgICAnKCgibWFnZW50YSIgLiAiI2ZmYWFiYiIpDQotICAgICAgICAoIm1hZ2VudGEtYWx0 IiAuICIjZWU4OGZmIikNCi0gICAgICAgICgibWFnZW50YS1hbHQtb3RoZXIiIC4gIiNiYmFhZmYi KSkpDQorKG1vZHVzLXRoZW1lcy1jb2xvciAnYmx1ZSkNCiBAZW5kIGxpc3ANCiANCi1JZiB5b3Ug d2FudCB0byBiZSBjcmVhdGl2ZSwgeW91IGNhbiBkZWZpbmUgYSBtaW5vciBtb2RlIHRoYXQgcmVm YXNoaW9ucw0KLXRoZSB0aGVtZXMgb24gZGVtYW5kLiAgVGhlIGZvbGxvd2luZyBpcyBhIG1pbm9y IG1vZGUgdGhhdCBnZXRzIGFjdGl2YXRlZA0KLW9uIGRlbWFuZC4gIFdlIGNvbWJpbmUgaXQgd2l0 aCB0aGUgZnVuY3Rpb24gdG8gc3dpdGNoIGJldHdlZW4gTW9kdXMNCi1PcGVyYW5kaSBhbmQgTW9k dXMgVml2ZW5kaSAoQHB4cmVme1RvZ2dsZSBiZXR3ZWVuIHRoZSB0aGVtZXMgb24gZGVtYW5kfSwg Zm9yDQotYSBiYXNpYyBjb21tYW5kLCBhbmQvb3IgQHB4cmVme0NvbmZpZ3VyZSBvcHRpb25zIHBy aW9yIHRvIGxvYWRpbmd9LCBmb3IgYSBtb3JlDQotY29tcHJlaGVuc2l2ZSBzZXR1cCkuDQorVGhl IGZ1bmN0aW9uIGFsd2F5cyBleHRyYWN0cyB0aGUgY29sb3IgdmFsdWUgb2YgdGhlIGFjdGl2ZSBN b2R1cyB0aGVtZS4NCiANCiBAbGlzcA0KLShkZWZpbmUtbWlub3ItbW9kZSBtb2R1cy10aGVtZXMt YWx0LW1vZGUNCi0gICJPdmVycmlkZSBNb2R1cyB0aGVtZXMnIHBhbGV0dGUgdmFyaWFibGVzIHdp dGggY3VzdG9tIHZhbHVlcy4NCi0NCi1UaGlzIGlzIGludGVuZGVkIGFzIGEgcHJvb2Ytb2YtY29u Y2VwdC4gIEl0IGlzLCBub25ldGhlbGVzcywgYQ0KLXBlcmZlY3RseSBhY2Nlc3NpYmxlIGFsdGVy bmF0aXZlLCBjb25mb3JtaW5nIHdpdGggdGhlIGRlc2lnbg0KLXByaW5jaXBsZXMgb2YgdGhlIE1v ZHVzIHRoZW1lcy4gIEl0IHN0aWxsIGlzIG5vdCBhcyBnb29kIGFzIHRoZQ0KLWRlZmF1bHQgY29s b3JzLiINCi0gIDppbml0LXZhbHVlIG5pbA0KLSAgOmdsb2JhbCB0DQotICAoaWYgbW9kdXMtdGhl bWVzLWFsdC1tb2RlDQotICAgICAgKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUt Y29sb3JzLWFsaXN0DQotICAgICAgICAgICAgJygoImJnLW1haW4iIC4gIiNmZWZjZjQiKQ0KLSAg ICAgICAgICAgICAgKCJiZy1kaW0iIC4gIiNmYWY2ZWYiKQ0KLSAgICAgICAgICAgICAgKCJiZy1h bHQiIC4gIiNmN2VmZTUiKQ0KLSAgICAgICAgICAgICAgKCJiZy1obC1saW5lIiAuICIjZjRmMGUz IikNCi0gICAgICAgICAgICAgICgiYmctYWN0aXZlIiAuICIjZThkZmQxIikNCi0gICAgICAgICAg ICAgICgiYmctaW5hY3RpdmUiIC4gIiNmNmVjZTUiKQ0KLSAgICAgICAgICAgICAgKCJiZy1yZWdp b24iIC4gIiNjNmJhYjEiKQ0KLSAgICAgICAgICAgICAgKCJiZy1oZWFkZXIiIC4gIiNlZGUzZTAi KQ0KLSAgICAgICAgICAgICAgKCJiZy10YWItYmFyIiAuICIjZGNkM2QzIikNCi0gICAgICAgICAg ICAgICgiYmctdGFiLWFjdGl2ZSIgLiAiI2ZkZjZlYiIpDQotICAgICAgICAgICAgICAoImJnLXRh Yi1pbmFjdGl2ZSIgLiAiI2M4YmFiOCIpDQotICAgICAgICAgICAgICAoImZnLXVuZm9jdXNlZCIg LiAiIzU1NTU2ZiIpKQ0KLSAgICAgICAgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtb3ZlcnJpZGUt Y29sb3JzLWFsaXN0DQotICAgICAgICAgICAgJygoImJnLW1haW4iIC4gIiMxMDBiMTciKQ0KLSAg ICAgICAgICAgICAgKCJiZy1kaW0iIC4gIiMxNjExMjkiKQ0KLSAgICAgICAgICAgICAgKCJiZy1h bHQiIC4gIiMxODE3MzIiKQ0KLSAgICAgICAgICAgICAgKCJiZy1obC1saW5lIiAuICIjMTkxNjI4 IikNCi0gICAgICAgICAgICAgICgiYmctYWN0aXZlIiAuICIjMjgyZTQ2IikNCi0gICAgICAgICAg ICAgICgiYmctaW5hY3RpdmUiIC4gIiMxYTFlMzkiKQ0KLSAgICAgICAgICAgICAgKCJiZy1yZWdp b24iIC4gIiMzOTNhNTMiKQ0KLSAgICAgICAgICAgICAgKCJiZy1oZWFkZXIiIC4gIiMyMDIwMzci KQ0KLSAgICAgICAgICAgICAgKCJiZy10YWItYmFyIiAuICIjMjYyYjQxIikNCi0gICAgICAgICAg ICAgICgiYmctdGFiLWFjdGl2ZSIgLiAiIzEyMGYxOCIpDQotICAgICAgICAgICAgICAoImJnLXRh Yi1pbmFjdGl2ZSIgLiAiIzNhM2E1YSIpDQotICAgICAgICAgICAgICAoImZnLXVuZm9jdXNlZCIg LiAiIzlhOWFhYiIpKSkNCi0gICAgKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUt Y29sb3JzLWFsaXN0IG5pbA0KLSAgICAgICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLW92ZXJyaWRl LWNvbG9ycy1hbGlzdCBuaWwpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdGhlbWVzLXRvZ2dsZSAoJm9w dGlvbmFsIGFyZykNCi0gICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGknIGFuZCBgbW9k dXMtdml2ZW5kaScgdGhlbWVzLg0KLQ0KLVdpdGggb3B0aW9uYWwgXFxbdW5pdmVyc2FsLWFyZ3Vt ZW50XSBwcmVmaXgsIGVuYWJsZQ0KLWBtb2R1cy10aGVtZXMtYWx0LW1vZGUnIGZvciB0aGUgbG9h ZGVkIHRoZW1lLiINCi0gIChpbnRlcmFjdGl2ZSAiUCIpDQotICAoaWYgYXJnDQotICAgICAgKG1v ZHVzLXRoZW1lcy1hbHQtbW9kZSAxKQ0KLSAgICAobW9kdXMtdGhlbWVzLWFsdC1tb2RlIC0xKSkN Ci0gIChpZiAoZXEgKGNhciBjdXN0b20tZW5hYmxlZC10aGVtZXMpICdtb2R1cy1vcGVyYW5kaSkN Ci0gICAgICAocHJvZ24NCi0gICAgICAgIChkaXNhYmxlLXRoZW1lICdtb2R1cy1vcGVyYW5kaSkN Ci0gICAgICAgIChsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRpIHQpKQ0KLSAgICAoZGlzYWJsZS10 aGVtZSAnbW9kdXMtdml2ZW5kaSkNCi0gICAgKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQp KSkNCisocHJvZ24NCisgIChsb2FkLXRoZW1lICdtb2R1cy1vcGVyYW5kaSB0KQ0KKyAgKG1vZHVz LXRoZW1lcy1jb2xvciAnYmx1ZSkpICAgICAgICAgICA7ICIjMDAzMWE5IiBmb3IgYG1vZHVzLW9w ZXJhbmRpJw0KKw0KKyhwcm9nbg0KKyAgKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVuZGkgdCkNCisg IChtb2R1cy10aGVtZXMtY29sb3IgJ2JsdWUpKSAgICAgICAgICAgOyAiIzJmYWZmZiIgZm9yIGBt b2R1cy12aXZlbmRpJw0KK0BlbmQgbGlzcA0KKw0KK0RvIEBzYW1we0MtaCB2fSBvbiB0aGUgYWZv cmVtZW50aW9uZWQgdmFyaWFibGVzIHRvIGNoZWNrIGFsbCB0aGUgYXZhaWxhYmxlDQorc3ltYm9s cyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhpcyBmdW5jdGlvbi4NCisNCitXaXRoIHRoYXQgZ3Jh bnRlZCwgbGV0IHVzIGV4cGFuZCB0aGUgZXhhbXBsZSB0byBhY3R1YWxseSBjaGFuZ2UgdGhlDQor QHNhbXB7Y3Vyc29yfSBmYWNlJ3MgYmFja2dyb3VuZCBwcm9wZXJ0eS4gIFdlIGVtcGxveSB0aGUg YnVpbHQtaW4gZnVuY3Rpb24gb2YNCitAc2FtcHtzZXQtZmFjZS1hdHRyaWJ1dGV9Og0KKw0KK0Bs aXNwDQorKHNldC1mYWNlLWF0dHJpYnV0ZSAnY3Vyc29yIG5pbCA6YmFja2dyb3VuZCAobW9kdXMt dGhlbWVzLWNvbG9yICdibHVlKSkNCitAZW5kIGxpc3ANCisNCitJZiB5b3UgZXZhbHVhdGUgdGhp cyBmb3JtLCB5b3VyIGN1cnNvciB3aWxsIGJlY29tZSBibHVlLiAgQnV0IGlmIHlvdQ0KK2NoYW5n ZSB0aGVtZXMsIHN1Y2ggYXMgd2l0aCBAc2FtcHttb2R1cy10aGVtZXMtdG9nZ2xlfSwgeW91ciBl ZGl0cyB3aWxsIGJlDQorbG9zdCwgYmVjYXVzZSB0aGUgbmV3bHkgbG9hZGVkIHRoZW1lIHdpbGwg b3ZlcnJpZGUgdGhlIEBzYW1wezpiYWNrZ3JvdW5kfQ0KK2F0dHJpYnV0ZSB5b3UgaGFkIGFzc2ln bmVkIHRvIHRoYXQgZmFjZS4NCisNCitGb3Igc3VjaCBjaGFuZ2VzIHRvIHBlcnNpc3QsIHdlIG5l ZWQgdG8gbWFrZSB0aGVtIGFmdGVyIGxvYWRpbmcgdGhlDQordGhlbWUuICBTbyB3ZSByZWx5IG9u IEBzYW1we21vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2t9LCB3aGljaCBnZXRzDQor Y2FsbGVkIGZyb20gQHNhbXB7bW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGl9LCBAc2FtcHttb2R1 cy10aGVtZXMtbG9hZC12aXZlbmRpfSwgYXMNCit3ZWxsIGFzIHRoZSBjb21tYW5kIEBzYW1we21v ZHVzLXRoZW1lcy10b2dnbGV9LiAgSGVyZSBpcyBhIHNhbXBsZSBmdW5jdGlvbiB0aGF0DQordHdl YWtzIHR3byBmYWNlcyBhbmQgdGhlbiBnZXRzIGFkZGVkIHRvIHRoZSBob29rOg0KKw0KK0BsaXNw DQorKGRlZnVuIG15LW1vZHVzLXRoZW1lcy1jdXN0b20tZmFjZXMgKCkNCisgIChzZXQtZmFjZS1h dHRyaWJ1dGUgJ2N1cnNvciBuaWwgOmJhY2tncm91bmQgKG1vZHVzLXRoZW1lcy1jb2xvciAnYmx1 ZSkpDQorICAoc2V0LWZhY2UtYXR0cmlidXRlICdmb250LWxvY2stdHlwZS1mYWNlIG5pbCA6Zm9y ZWdyb3VuZCAobW9kdXMtdGhlbWVzLWNvbG9yICdtYWdlbnRhLWFsdCkpKQ0KKw0KKyhhZGQtaG9v ayAnbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9vayAjJ215LW1vZHVzLXRoZW1lcy1j dXN0b20tZmFjZXMpDQorQGVuZCBsaXNwDQorDQorVXNpbmcgdGhpcyBwcmluY2lwbGUsIGl0IGlz IHBvc3NpYmxlIHRvIG92ZXJyaWRlIHRoZSBzdHlsZXMgb2YgZmFjZXMNCit3aXRob3V0IGhhdmlu ZyB0byBmaW5kIGNvbG9yIHZhbHVlcyBmb3IgZWFjaCBjYXNlLg0KKw0KK0Fub3RoZXIgYXBwbGlj YXRpb24gaXMgdG8gY29udHJvbCB0aGUgcHJlY2lzZSB3ZWlnaHQgZm9yIGJvbGQNCitjb25zdHJ1 Y3RzLiAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIHlvdXIgdHlwZWZhY2UgaGFzIHNl dmVyYWwNCit2YXJpYW50cyBzdWNoIGFzIGBgaGVhdnknJywgYGBleHRyYWJvbGQnJywgYGBzZW1p Ym9sZCcnLiAgQWxsIHlvdSBoYXZlIHRvIGRvDQoraXMgZWRpdCB0aGUgQHNhbXB7Ym9sZH0gZmFj ZS4gIEZvciBleGFtcGxlOg0KKw0KK0BsaXNwDQorKHNldC1mYWNlLWF0dHJpYnV0ZSAnYm9sZCBu aWwgOndlaWdodCAnc2VtaWJvbGQpDQorQGVuZCBsaXNwDQorDQorUmVtZW1iZXIgdG8gdXNlIHRo ZSBjdXN0b20gZnVuY3Rpb24gYW5kIGhvb2sgY29tYm8gd2UgZGVtb25zdHJhdGVkDQorYWJvdmUu ICBCZWNhdXNlIHRoZSB0aGVtZXMgZG8gbm90IGhhcmQtd2lyZSBhIHNwZWNpZmljIHdlaWdodCwg dGhpcw0KK3NpbXBsZSBmb3JtIGlzIGVub3VnaCB0byBjaGFuZ2UgdGhlIHdlaWdodCBvZiBhbGwg Ym9sZCBjb25zdHJ1Y3RzDQordGhyb3VnaG91dCB0aGUgaW50ZXJmYWNlLg0KKw0KK0ZpbmFsbHks IHRoZXJlIGFyZSBjYXNlcyB3aGVyZSB5b3Ugd2FudCB0byB0d2VhayBjb2xvcnMgdGhvdWdoIHdp c2ggdG8NCithcHBseSBkaWZmZXJlbnQgb25lcyB0byBlYWNoIHRoZW1lLCBzYXksIGEgYmx1ZSBo dWUgZm9yIE1vZHVzIE9wZXJhbmRpDQorYW5kIGEgc2hhZGUgb2YgcmVkIGZvciBNb2R1cyBWaXZl bmRpLiAgVG8gdGhpcyBlbmQsIHdlIHByb3ZpZGUNCitAc2FtcHttb2R1cy10aGVtZXMtY29sb3It YWx0c30gYXMgYSBjb252ZW5pZW5jZSBmdW5jdGlvbiB0byBzYXZlIHlvdSBmcm9tIHRoZQ0KK3Ry b3VibGUgb2Ygd3JpdGluZyBzZXBhcmF0ZSB3cmFwcGVycyBmb3IgZWFjaCB0aGVtZS4gIEl0IHN0 aWxsIHJldHVybnMgYQ0KK3NpbmdsZSB2YWx1ZSBieSBxdWVyeWluZyBlaXRoZXIgb2YgQHNhbXB7 bW9kdXMtdGhlbWVzLWNvbG9ycy1vcGVyYW5kaX0gYW5kDQorQHNhbXB7bW9kdXMtdGhlbWVzLWNv bG9ycy12aXZlbmRpfSwgb25seSBoZXJlIHlvdSBwYXNzIHRoZSB0d28ga2V5cyB5b3Ugd2FudCwN CitmaXJzdCBmb3IgQHNhbXB7bW9kdXMtb3BlcmFuZGl9IHRoZW4gQHNhbXB7bW9kdXMtdml2ZW5k aX0uDQorDQorVGFrZSB0aGUgcHJldmlvdXMgZXhhbXBsZSB3aXRoIHRoZSBAc2FtcHtjdXJzb3J9 IGZhY2U6DQorDQorQGxpc3ANCis7OyBCbHVlIGZvciBgbW9kdXMtb3BlcmFuZGknIGFuZCByZWQg Zm9yIGBtb2R1cy12aXZlbmRpJw0KKyhzZXQtZmFjZS1hdHRyaWJ1dGUgJ2N1cnNvciBuaWwgOmJh Y2tncm91bmQgKG1vZHVzLXRoZW1lcy1jb2xvci1hbHRzICdibHVlICdyZWQpKQ0KIEBlbmQgbGlz cA0KIA0KIEBwcmludGluZGV4IGNwDQogDQogQG5vZGUgRm9udCBjb25maWdzIChESVkpDQotQHNl Y3Rpb24gRm9udCBjb25maWd1cmF0aW9ucyBmb3IgT3JnIChhbmQgb3RoZXJzKQ0KK0BzZWN0aW9u IEZvbnQgY29uZmlndXJhdGlvbnMgZm9yIE9yZyBhbmQgb3RoZXJzIChESVkpDQogDQotVGhlIHRo ZW1lcyBhcmUgZGVzaWduZWQgdG8gY29wZSB3ZWxsIHdpdGggbWl4ZWQgZm9udCBzZXR0aW5ncyAo QHJlZntObyBtaXhlZCBmb250cywgLCBPcHRpb24NCi1mb3Igbm8gZm9udCBtaXhpbmd9KS4gIEN1 cnJlbnRseSB0aGlzIGFwcGxpZXMgdG8gQHNhbXB7b3JnLW1vZGV9IGFuZA0KLUBzYW1we21hcmtk b3duLW1vZGV9Lg0KK1RoZSB0aGVtZXMgYXJlIGRlc2lnbmVkIHRvIGNvcGUgd2VsbCB3aXRoIG1p eGVkIGZvbnQgY29uZmlndXJhdGlvbnMNCisoQHhyZWZ7Tm8gbWl4ZWQgZm9udHN9KS4NCisNCitU aGlzIG1vc3RseSBjb25jZXJucyBAc2FtcHtvcmctbW9kZX0gYW5kIEBzYW1we21hcmtkb3duLW1v ZGV9LCB0aG91Z2ggZXhwZWN0IHRvIGZpbmQNCitpdCBlbHNld2hlcmUgbGlrZSBpbiBAc2FtcHtJ bmZvLW1vZGV9Lg0KIA0KIEluIHByYWN0aWNlIGl0IG1lYW5zIHRoYXQgdGhlIHVzZXIgY2FuIHNh ZmVseSBvcHQgZm9yIGEgbW9yZQ0KIHByb3NlLWZyaWVuZGx5IHByb3BvcnRpb25hdGVseSBzcGFj ZWQgdHlwZWZhY2UgYXMgdGhlaXIgZGVmYXVsdCwgd2hpbGUNCkBAIC0xMzExLDggKzEzMjEsOCBA QCBGb250IGNvbmZpZ3MgKERJWSkNCiBmYWNlcyByZXNwZWN0aXZlbHkuICBJdCBtYXkgYWxzbyBi ZSBjb252ZW5pZW50IHRvIHNldCB5b3VyIG1haW4gdHlwZWZhY2UNCiBieSBjb25maWd1cmluZyB0 aGUgQHNhbXB7ZGVmYXVsdH0gZmFjZSB0aGUgc2FtZSB3YXkuDQogDQotUHV0IHNvbWV0aGluZyBs aWtlIHRoaXMgaW4geW91ciBpbml0aWFsaXphdGlvbiBmaWxlIChtYWtlIHN1cmUgdG8gcmVhZA0K LXRoZSBkb2N1bWVudGF0aW9uIG9mIEBzYW1we3NldC1mYWNlLWF0dHJpYnV0ZX0sIHdpdGggQGti ZHtNLXggZGVzY3JpYmUtZnVuY3Rpb259KToNCitQdXQgc29tZXRoaW5nIGxpa2UgdGhpcyBpbiB5 b3VyIGluaXRpYWxpemF0aW9uIGZpbGUgKGFsc28gY29uc2lkZXINCityZWFkaW5nIHRoZSBkb2Mg c3RyaW5nIG9mIEBzYW1we3NldC1mYWNlLWF0dHJpYnV0ZX0pOg0KIA0KIEBsaXNwDQogOzsgTWFp biB0eXBlZmFjZQ0KQEAgLTEzMjcsMjkgKzEzMzcsMTUgQEAgRm9udCBjb25maWdzIChESVkpDQog DQogTm90ZSB0aGUgZGlmZmVyZW5jZXMgaW4gdGhlIEBzYW1wezpoZWlnaHR9IHByb3BlcnR5LiAg VGhlIEBzYW1we2RlZmF1bHR9IGZhY2UgbXVzdA0KIHNwZWNpZnkgYW4gYWJzb2x1dGUgdmFsdWUs IHdoaWNoIGlzIHRoZSBwb2ludCBzaXplIMOXIDEwLiAgU28gaWYgeW91IHdhbnQNCi10byB1c2Ug YSBmb250IGF0IHBvaW50IHNpemUgQHNhbXB7MTF9LCB5b3Ugc2V0IHRoZSBoZWlnaHQgYXQgQHNh bXB7MTEwfS5AZm9vdG5vdGV7QHNhbXB7OmhlaWdodH0NCit0byB1c2UgYSBmb250IGF0IHBvaW50 IHNpemUgQHNhbXB7MTF9LCB5b3Ugc2V0IHRoZSBoZWlnaHQgdG8gQHNhbXB7MTEwfS5AZm9vdG5v dGV7QHNhbXB7OmhlaWdodH0NCiB2YWx1ZXMgZG8gbm90IG5lZWQgdG8gYmUgcm91bmRlZCB0byBt dWx0aXBsZXMgb2YgdGVuOiB0aGUgbGlrZXMgb2YgQHNhbXB7MTE1fQ0KIGFyZSBwZXJmZWN0bHkg dmFsaWTigJRzb21lIHR5cGVmYWNlcyB3aWxsIGNoYW5nZSB0byBhY2NvdW50IGZvciB0aG9zZQ0K IGZpbmVyIGluY3JlbWVudHMufSAgV2hlcmVhcyBldmVyeSBvdGhlciBmYWNlIG11c3QgaGF2ZSBh IHZhbHVlIHRoYXQgaXMNCiByZWxhdGl2ZSB0byB0aGUgZGVmYXVsdCwgcmVwcmVzZW50ZWQgYXMg YSBmbG9hdGluZyBwb2ludCAoaWYgeW91IHVzZSBhbg0KLWludGVnZXIsIHNheSwgQHNhbXB7MTV9 IHRoZW4gdGhhdCBtZWFucyBhbiBhYnNvbHV0ZSBoZWlnaHQpLiAgVGhpcyBpcyBvZg0KLXBhcmFt b3VudCBpbXBvcnRhbnRhbmNlOiBpdCBlbnN1cmVzIHRoYXQgYWxsIGZvbnRzIGNhbiBzY2FsZSBn cmFjZWZ1bGx5DQotd2hlbiB1c2luZyBzb21ldGhpbmcgbGlrZSB0aGUgQHNhbXB7dGV4dC1zY2Fs ZS1hZGp1c3R9IGNvbW1hbmQgd2hpY2ggb25seQ0KLW9wZXJhdGVzIG9uIHRoZSBiYXNlIGZvbnQg c2l6ZSAoaS5lLiB0aGUgQHNhbXB7ZGVmYXVsdH0gZmFjZSdzIGFic29sdXRlDQotaGVpZ2h0KS4N Ci0NCi1BbiBhbHRlcm5hdGl2ZSBzeW50YXggZm9yIHRoZSBAc2FtcHtkZWZhdWx0fSBmYWNlLCBp cyB0byBwYXNzIGFsbCB0eXBlZmFjZQ0KLXBhcmFtZXRlcnMgZGlyZWN0bHkgdG8gYSBAc2FtcHtm b250fSBwcm9wZXJ0eS5AZm9vdG5vdGV7SGFzIHRoZSBiZW5lZml0IG9mDQotYWNjZXB0aW5nIEBz YW1we2ZvbnRjb25maWd9IHBhcmFtZXRlcnMgKEdOVS9MaW51eCksIHN1Y2ggYXMgQHNhbXB7IkRl amFWdSBTYW5zDQotTW9uby0xMTpoaW50c3R5bGU9aGludHNsaWdodDphdXRvaGludD1mYWxzZSJ9 Lg0KLUB1cmVme2h0dHBzOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9mb250Y29uZmln L2ZvbnRjb25maWctdXNlci5odG1sfX0NCi1Ob3RlIHRoYXQgaGVyZSB3ZSB1c2UgYSBzdGFuZGFy ZCBwb2ludCBzaXplOg0KLQ0KLUBsaXNwDQotKHNldC1mYWNlLWF0dHJpYnV0ZSAnZGVmYXVsdCBu aWwgOmZvbnQgIkRlamFWdSBTYW5zIE1vbm8tMTEiKQ0KLUBlbmQgbGlzcA0KLQ0KLUFnYWluLCBy ZW1lbWJlciB0byBvbmx5IGV2ZXIgc3BlY2lmeSBhbiBhYnNvbHV0ZSBoZWlnaHQgZm9yIHRoZSBA c2FtcHtkZWZhdWx0fS4NCitpbnRlZ2VyLCB0aGVuIHRoYXQgbWVhbnMgYW4gYWJzb2x1dGUgaGVp Z2h0KS4gIFRoaXMgaXMgb2YgcGFyYW1vdW50DQoraW1wb3J0YW5jZTogaXQgZW5zdXJlcyB0aGF0 IGFsbCBmb250cyBjYW4gc2NhbGUgZ3JhY2VmdWxseSB3aGVuIHVzaW5nDQorc29tZXRoaW5nIGxp a2UgdGhlIEBzYW1we3RleHQtc2NhbGUtYWRqdXN0fSBjb21tYW5kIHdoaWNoIG9ubHkgb3BlcmF0 ZXMgb24gdGhlDQorYmFzZSBmb250IHNpemUgKGkuZS4gdGhlIEBzYW1we2RlZmF1bHR9IGZhY2Un cyBhYnNvbHV0ZSBoZWlnaHQpLg0KIA0KIEBwcmludGluZGV4IGNwDQogDQpAQCAtMTM2MCwxNiAr MTM1NiwxNSBAQCBPcmcgdXNlciBmYWNlcyAoRElZKQ0KIHByaW9yaXR5IGNvb2tpZXMgdG8gYmV0 dGVyIG1hdGNoIHRoZWlyIHdvcmtmbG93LiAgVXNlciBvcHRpb25zIGFyZQ0KIEBzYW1we29yZy10 b2RvLWtleXdvcmQtZmFjZXN9IGFuZCBAc2FtcHtvcmctcHJpb3JpdHktZmFjZXN9Lg0KIA0KLUFz IHRob3NlIGFyZSBtZWFudCB0byBiZSBjdXN0b20gZmFjZXMsIGl0IHdvdWxkIGJlIGZ1dGlsZSB0 byBoYXZlIHRoZQ0KLXRoZW1lcyB0cnkgdG8gZ3Vlc3Mgd2hhdCBlYWNoIHVzZXIgd291bGQgd2Fu dCB0byB1c2UsIHdoaWNoIGtleXdvcmRzIHRvDQotdGFyZ2V0LCBhbmQgc28gb24uICBJbnN0ZWFk LCB3ZSBjYW4gcHJvdmlkZSBndWlkZWxpbmVzIG9uIGhvdyB0bw0KLWN1c3RvbWl6ZSB0aGluZ3Mg dG8gb25lJ3MgbGlraW5nIHdpdGggdGhlIGludGVudCBvZiByZXRhaW5pbmcgdGhlDQotb3ZlcmFs bCBhZXN0aGV0aWNzIG9mIHRoZSB0aGVtZS4NCitBcyB0aG9zZSBhcmUgbWVhbnQgdG8gYmUgY3Vz dG9tIGZhY2VzLCBpdCBpcyBmdXRpbGUgdG8gaGF2ZSB0aGUgdGhlbWVzDQorZ3Vlc3Mgd2hhdCBl YWNoIHVzZXIgd2FudHMgdG8gdXNlLCB3aGljaCBrZXl3b3JkcyB0byB0YXJnZXQsIGFuZCBzbyBv bi4NCitJbnN0ZWFkLCB3ZSBjYW4gcHJvdmlkZSBndWlkZWxpbmVzIG9uIGhvdyB0byBjdXN0b21p emUgdGhpbmdzIHRvIG9uZSdzDQorbGlraW5nIHdpdGggdGhlIGludGVudCBvZiByZXRhaW5pbmcg dGhlIG92ZXJhbGwgYWVzdGhldGljIG9mIHRoZSB0aGVtZXMuDQogDQogUGxlYXNlIGJlYXIgaW4g bWluZCB0aGF0IHRoZSBlbmQgcmVzdWx0IG9mIHRob3NlIGlzIG5vdCBjb250cm9sbGVkIGJ5DQot dGhlIGFjdGl2ZSB0aGVtZSBidXQgYnkgaG93IE9yZyBtYXBzIGZhY2VzIHRvIGl0cyBjb25zdHJ1 Y3RzLiAgRWRpdGluZw0KLXRob3NlIHdoaWxlIEBzYW1we29yZy1tb2RlfSBpcyBhY3RpdmUgcmVx dWlyZXMgQGtiZHtNLXggb3JnLW1vZGUtcmVzdGFydH0gZm9yIGNoYW5nZXMNCi10byB0YWtlIGVm ZmVjdC4NCit0aGUgYWN0aXZlIE1vZHVzIHRoZW1lIGJ1dCBieSBob3cgT3JnIG1hcHMgZmFjZXMg dG8gaXRzIGNvbnN0cnVjdHMuDQorRWRpdGluZyB0aG9zZSB3aGlsZSBAa2Jke29yZy1tb2RlfSBp cyBhY3RpdmUgcmVxdWlyZXMgQGtiZHtNLXggb3JnLW1vZGUtcmVzdGFydH0gZm9yDQorY2hhbmdl cyB0byB0YWtlIGVmZmVjdC4NCiANCiBMZXQgdXMgYXNzdW1lIHlvdSB3aXNoIHRvIHZpc3VhbGx5 IGRpZmZlcmVudGlhdGUgeW91ciBrZXl3b3Jkcy4gIFlvdQ0KIGhhdmUgc29tZXRoaW5nIGxpa2Ug dGhpczoNCkBAIC0xNDA5LDcgKzE0MDQsNyBAQCBPcmcgdXNlciBmYWNlcyAoRElZKQ0KIFdoZW4g eW91IGluaGVyaXQgZnJvbSBtdWx0aXBsZSBmYWNlcywgeW91IG5lZWQgdG8gcXVvdGUgdGhlIGxp c3QgYXMNCiBzaG93biBmdXJ0aGVyIGFib3ZlLiAgVGhlIG9yZGVyIGlzIGltcG9ydGFudDogdGhl IGxhc3QgaXRlbSBpcyBhcHBsaWVkDQogb3ZlciB0aGUgcHJldmlvdXMgb25lcy4gIElmIHlvdSBk byBub3Qgd2FudCB0byBibGVuZCBtdWx0aXBsZSBmYWNlcywgeW91DQotZG8gbm90IG5lZWQgYSBx dW90ZWQgbGlzdC4gIEEgcGF0dGVybiBvZiBAc2FtcHtrZXl3b3JkIC4gZmFjZX0gd291bGQgc3Vm ZmljZS4NCitkbyBub3QgbmVlZCBhIHF1b3RlZCBsaXN0LiAgQSBwYXR0ZXJuIG9mIEBzYW1we2tl eXdvcmQgLiBmYWNlfSB3aWxsIHN1ZmZpY2UuDQogDQogQm90aCBhcHByb2FjaGVzIGNhbiBiZSB1 c2VkIHNpbXVsdGFuZW91c2x5LCBhcyBpbGx1c3RyYXRlZCBpbiB0aGlzDQogY29uZmlndXJhdGlv biBvZiB0aGUgcHJpb3JpdHkgY29va2llczoNCkBAIC0xNDI2LDkgKzE0MjEsODcgQEAgT3JnIHVz ZXIgZmFjZXMgKERJWSkNCiB0aGUgbmFtZSBvZiBlYWNoIG9mIHRob3NlIE9yZyB2YXJpYWJsZXMg ZGVtb25zdHJhdGVkIGFib3ZlLiAgVGhlaXINCiBkb2N1bWVudGF0aW9uIHN0cmluZ3Mgd2lsbCBv ZmZlciB5b3UgZnVydGhlciBndWlkYW5jZS4NCiANCi1GdXJ0aGVybW9yZSwgY29uc2lkZXIgcmVh ZGluZyB0aGUgYGBOb3RlcyBmb3IgYXNwaXJpbmcgRW1hY3MgdGhlbWUNCi1kZXZlbG9wZXJzJycs IHB1Ymxpc2hlZCBvbiAyMDIwLTA4LTI4IGJ5IG1lIChQcm90ZXNpbGFvcyBTdGF2cm91KToNCi1A dXJlZntodHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAtMDgtMjgtbm90ZXMtZW1h Y3MtdGhlbWUtZGV2cy99Lg0KK1JlY2FsbCB0aGF0IHRoZSB0aGVtZXMgbGV0IHlvdSByZXRyaWV2 ZSBhIGNvbG9yIGZyb20gdGhlaXIgcGFsZXR0ZS4gIERvDQoraXQgaWYgeW91IHBsYW4gdG8gY29u dHJvbCBmYWNlIGF0dHJpYnV0ZXMuDQorDQorQHhyZWZ7VHdlYWsgZmFjZXMgKERJWSl9Lg0KKw0K K0B4cmVme1dDQUcgdGVzdCAoRElZKX0uDQorDQorQHByaW50aW5kZXggY3ANCisNCitAbm9kZSBX Q0FHIHRlc3QgKERJWSkNCitAc2VjdGlvbiBDaGVjayBjb2xvciBjb21iaW5hdGlvbnMgKERJWSkN CisNCitUaGUgdGhlbWVzIHByb3ZpZGUgdGhlIGZ1bmN0aW9ucyBAc2FtcHttb2R1cy10aGVtZXMt d2NhZy1mb3JtdWxhfSBhbmQNCitAc2FtcHttb2R1cy10aGVtZXMtY29udHJhc3R9LiAgVGhlIGZv cm1lciBpcyBhIGRpcmVjdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUNCitXQ0FHIGZvcm11bGE6IEB1 cmVme2h0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE4Lmh0bWx9LiAgSXQgZ2l2 ZXMNCit5b3UgdGhlIHJlbGF0aXZlIGx1bWluYW5jZSBvZiBhIGNvbG9yIHZhbHVlIHRoYXQgaXMg ZXhwcmVzc2VkIGluDQoraGV4YWRlY2ltYWwgUkdCIG5vdGF0aW9uLiAgV2hpbGUgdGhlIGxhdHRl ciBmdW5jdGlvbiBpcyBqdXN0IGENCitjb252ZW5pZW50IHdyYXBwZXIgZm9yIGNvbXBhcmluZyB0 aGUgbHVtaW5hbmNlIG9mIHR3byBjb2xvcnMuDQorDQorSW4gcHJhY3RpY2UsIHlvdSBvbmx5IGxp a2VseSBuZWVkIEBzYW1we21vZHVzLXRoZW1lcy1jb250cmFzdH0uICBJdCBhY2NlcHRzIHR3bw0K K2NvbG9yIHZhbHVlcyBhbmQgcmV0dXJucyB0aGVpciBjb250cmFzdCByYXRpby4gIFZhbHVlcyBy YW5nZSBmcm9tIDEgdG8NCisyMSAobG93ZXN0IHRvIGhpZ2hlc3QpLiAgVGhlIHRoZW1lcyBhcmUg ZGVzaWduZWQgdG8gYWx3YXlzIGJlIGVxdWFsIG9yDQoraGlnaGVyIHRoYW4gNyBmb3IgZWFjaCBj b21iaW5hdGlvbiBvZiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHRoYXQNCit0aGV5IHVzZSAo dGhpcyBpcyB0aGUgV0NBRyBBQUEgc3RhbmRhcmQtLS10aGUgbW9zdCBkZW1hbmRpbmcgb2YgaXRz DQora2luZCkuDQorDQorQSBjb3VwbGUgb2YgZXhhbXBsZXMgKHJvdW5kZWQgbnVtYmVycyk6DQor DQorQGxpc3ANCis7OyBQdXJlIHdoaXRlIHdpdGggcHVyZSBncmVlbg0KKyhtb2R1cy10aGVtZXMt Y29udHJhc3QgIiNmZmZmZmYiICIjMDBmZjAwIikNCis7OyA9PiAxLjM3DQorOzsgVGhhdCBpcyBh biBvdXRyaWdodCBpbmFjY2Vzc2libGUgY29tYm8NCisNCis7OyBQdXJlIGJsYWNrIHdpdGggcHVy ZSBncmVlbg0KKyhtb2R1cy10aGVtZXMtY29udHJhc3QgIiMwMDAwMDAiICIjMDBmZjAwIikNCis7 OyA9PiAxNS4zDQorOzsgVGhhdCBpcyBpcyBhIGhpZ2hseSBhY2Nlc3NpYmxlIGNvbWJvDQorQGVu ZCBsaXNwDQorDQorSXQgZG9lcyBub3QgbWF0dGVyIHdoaWNoIGNvbG9yIHZhbHVlIGNvbWVzIGZp cnN0LiAgVGhlIHJhdGlvIGlzIGFsd2F5cw0KK3RoZSBzYW1lLg0KKw0KK0lmIHlvdSBkbyBub3Qg d2lzaCB0byByZWFkIGFsbCB0aGUgZGVjaW1hbCBwb2ludHMsIHlvdSBjYW4gdHJ5IHNvbWV0aGlu Zw0KK2xpa2UgdGhpczoNCisNCitAbGlzcA0KKyhmb3JtYXQgIiUwLjJmIiAobW9kdXMtdGhlbWVz LWNvbnRyYXN0ICIjMDAwMDAwIiAiIzAwZmYwMCIpKQ0KK0BlbmQgbGlzcA0KKw0KK0JlYXIgaW4g bWluZCB0aGF0IHRoZSB0aGVtZXMgZGVmaW5lIGFuIGV4cGFuZGVkIHBhbGV0dGUgaW4gbGFyZ2Ug cGFydA0KK2JlY2F1c2UgY2VydGFpbiBjb2xvcnMgYXJlIG9ubHkgbWVhbnQgdG8gYmUgdXNlZCBp biBjb21iaW5hdGlvbiB3aXRoDQorc29tZSBvdGhlcnMuICBDb25zdWx0IHRoZSBzb3VyY2UgY29k ZSBmb3IgcmVsZXZhbnQgY29tbWVudGFyeS4gIEFuZCB1c2UNCit0aGUgcmVzb3VyY2VzIHdlIGNv dmVyZWQgaW4gdGhpcyBzZWN0aW9uIGluIGNhc2UgeW91IHBsYW4gdG8gZGVyaXZlIHlvdXINCitv d24gY29sb3IgY29tYmluYXRpb25zLg0KKw0KK0BwcmludGluZGV4IGNwDQorDQorQG5vZGUgTG9h ZCBhdCB0aW1lIChESVkpDQorQHNlY3Rpb24gTG9hZCB0aGVtZSBkZXBlbmRpbmcgb24gdGltZSBv ZiBkYXkNCisNCitXaGlsZSB3ZSBkbyBwcm92aWRlIEBzYW1we21vZHVzLXRoZW1lcy10b2dnbGV9 IHRvIG1hbnVhbGx5IHN3aXRjaCBiZXR3ZWVuIHRoZQ0KK3RoZW1lcywgdXNlcnMgbWF5IGFsc28g c2V0IHVwIHRoZWlyIHN5c3RlbSB0byBwZXJmb3JtIHN1Y2ggYSB0YXNrDQorYXV0b21hdGljYWxs eSBhdCBzdW5yaXNlIGFuZCBzdW5zZXQuDQorDQorVGhpcyBjYW4gYmUgYWNjb21wbGlzaGVkIGJ5 IHNwZWNpZnlpbmcgdGhlIGNvb3JkaW5hdGVzIG9mIG9uZSdzIGxvY2F0aW9uDQordXNpbmcgdGhl IGJ1aWx0LWluIEBzYW1we3NvbGFyLmVsfSBhbmQgdGhlbiBjb25maWd1cmluZyB0aGUgQHNhbXB7 Y2lyY2FkaWFufSBsaWJyYXJ5Og0KKw0KK0BsaXNwDQorKHVzZS1wYWNrYWdlIHNvbGFyICAgICAg ICAgICAgICAgICAgICAgIDsgYnVpbHQtaW4NCisgIDpjb25maWcNCisgIChzZXRxIGNhbGVuZGFy LWxhdGl0dWRlIDM1LjE3DQorICAgICAgICBjYWxlbmRhci1sb25naXR1ZGUgMzMuMzYpKQ0KKw0K Kyh1c2UtcGFja2FnZSBjaXJjYWRpYW4gICAgICAgICAgICAgICAgICA7IHlvdSBuZWVkIHRvIGlu c3RhbGwgdGhpcw0KKyAgOmVuc3VyZQ0KKyAgOmFmdGVyIHNvbGFyDQorICAoc2V0cSBjaXJjYWRp YW4tdGhlbWVzICcoKDpzdW5yaXNlIC4gbW9kdXMtb3BlcmFuZGkpDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgKDpzdW5zZXQgIC4gbW9kdXMtdml2ZW5kaSkpKQ0KKyAgKGNpcmNhZGlhbi1z ZXR1cCkpDQorQGVuZCBsaXNwDQogDQogQHByaW50aW5kZXggY3ANCiANCkBAIC0xNDM3LDE0ICsx NTEwLDEzIEBAIE9yZyB1c2VyIGZhY2VzIChESVkpDQogQG5vZGUgRmFjZSBjb3ZlcmFnZQ0KIEBj aGFwdGVyIEZhY2UgY292ZXJhZ2UNCiANCi1Nb2R1cyBPcGVyYW5kaSBhbmQgTW9kdXMgVml2ZW5k aSB0cnkgdG8gcHJvdmlkZSBhcyBjbG9zZSB0byBmdWxsIGZhY2UNCi1jb3ZlcmFnZSBhcyBwb3Nz aWJsZS4gIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBhIGNvbnNpc3RlbnRseQ0KLWFjY2Vz c2libGUgcmVhZGluZyBleHBlcmllbmNlIGFjcm9zcyBhbGwgcG9zc2libGUgaW50ZXJmYWNlcy4N CitUaGUgTW9kdXMgdGhlbWVzIHRyeSB0byBwcm92aWRlIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBj b3ZlcmFnZSBhcw0KK3Bvc3NpYmxlLiAgVGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIGEgY29u c2lzdGVudGx5IGFjY2Vzc2libGUgcmVhZGluZw0KK2V4cGVyaWVuY2UgYWNyb3NzIGFsbCBhdmFp bGFibGUgaW50ZXJmYWNlcy4NCiANCiBAbWVudQ0KICogU3VwcG9ydGVkIHBhY2thZ2VzOjogICAg ICAgICAgIEZ1bGwgbGlzdCBvZiBjb3ZlcmVkIGZhY2UgZ3JvdXBzDQotKiBDb3ZlcmVkIGluZGly ZWN0bHk6Og0KLSogV2lsbCBOT1QgYmUgc3VwcG9ydGVkOjoNCisqIEluZGlyZWN0bHkgY292ZXJl ZCBwYWNrYWdlczo6DQogQGVuZCBtZW51DQogDQogQG5vZGUgU3VwcG9ydGVkIHBhY2thZ2VzDQpA QCAtMTUxOSw2ICsxNTkxLDggQEAgU3VwcG9ydGVkIHBhY2thZ2VzDQogQGl0ZW0NCiBjb21wbGV0 aW9ucw0KIEBpdGVtDQorY29uc3VsdA0KK0BpdGVtDQogY291bnNlbCoNCiBAaXRlbQ0KIGNvdW5z ZWwtY3NzDQpAQCAtMTc2OSwxMCArMTg0MywxNCBAQCBTdXBwb3J0ZWQgcGFja2FnZXMNCiBAaXRl bQ0KIGxzcC11aQ0KIEBpdGVtDQorbWFjcm9zdGVwDQorQGl0ZW0NCiBtYWdpdA0KIEBpdGVtDQog bWFnaXQtaW1lcmdlDQogQGl0ZW0NCittYWtlLW1vZGUNCitAaXRlbQ0KIG1hbg0KIEBpdGVtDQog bWFya2Rvd24tbW9kZQ0KQEAgLTE4NTEsNiArMTkyOSw4IEBAIFN1cHBvcnRlZCBwYWNrYWdlcw0K IEBpdGVtDQogcGFzcw0KIEBpdGVtDQorcGRmLXRvb2xzDQorQGl0ZW0NCiBwZXJzcC1tb2RlDQog QGl0ZW0NCiBwZXJzcGVjdGl2ZQ0KQEAgLTE4NjMsNiArMTk0Myw4IEBAIFN1cHBvcnRlZCBwYWNr YWdlcw0KIEBpdGVtDQogcG9taWRvcg0KIEBpdGVtDQorcG9wdXANCitAaXRlbQ0KIHBvd2VybGlu ZQ0KIEBpdGVtDQogcG93ZXJsaW5lLWV2aWwNCkBAIC0xOTAzLDggKzE5ODUsMTIgQEAgU3VwcG9y dGVkIHBhY2thZ2VzDQogQGl0ZW0NCiBzaG93LXBhcmVuLW1vZGUNCiBAaXRlbQ0KK3Nocg0KK0Bp dGVtDQogc2lkZS1ub3Rlcw0KIEBpdGVtDQorc2lldmUtbW9kZQ0KK0BpdGVtDQogc2tld2VyLW1v ZGUNCiBAaXRlbQ0KIHNtYXJ0LW1vZGUtbGluZQ0KQEAgLTE5NTksNyArMjA0NSw3IEBAIFN1cHBv cnRlZCBwYWNrYWdlcw0KIEBpdGVtDQogdmMgKGJ1aWx0LWluIG1vZGUgbGluZSBzdGF0dXMgZm9y IHZlcnNpb24gY29udHJvbCkNCiBAaXRlbQ0KLXZjLWFubm90YXRlIChAa2Jke0MteCB2IGd9KQ0K K3ZjLWFubm90YXRlIChAc2FtcHtDLXggdiBnfSkNCiBAaXRlbQ0KIHZkaWZmDQogQGl0ZW0NCkBA IC0yMDA5LDE4ICsyMDk1LDI0IEBAIFN1cHBvcnRlZCBwYWNrYWdlcw0KIFBsdXMgbWFueSBvdGhl ciBtaXNjZWxsYW5lb3VzIGZhY2VzIHRoYXQgYXJlIHByb3ZpZGVkIGJ5IHRoZSB1cHN0cmVhbQ0K IEdOVSBFbWFjcyBkaXN0cmlidXRpb24uDQogDQotQG5vZGUgQ292ZXJlZCBpbmRpcmVjdGx5DQot QHNlY3Rpb24gQ292ZXJlZCBpbmRpcmVjdGx5DQorQG5vZGUgSW5kaXJlY3RseSBjb3ZlcmVkIHBh Y2thZ2VzDQorQHNlY3Rpb24gSW5kaXJlY3RseSBjb3ZlcmVkIHBhY2thZ2VzDQogDQogVGhlc2Ug ZG8gbm90IHJlcXVpcmUgYW55IGV4dHJhIHN0eWxlcyBiZWNhdXNlIHRoZXkgYXJlIGNvbmZpZ3Vy ZWQgdG8NCiBpbmhlcml0IGZyb20gc29tZSBiYXNpYyBmYWNlcy4gIFBsZWFzZSBjb25maXJtLg0K IA0KIEBpdGVtaXplDQogQGl0ZW0NCitiYmRiDQorQGl0ZW0NCiBlZGl0LWluZGlyZWN0DQogQGl0 ZW0NCiBldmlsLW93bA0KIEBpdGVtDQorZm9ydHJhbi1tb2RlDQorQGl0ZW0NCitpM3dtLWNvbmZp Zy1tb2RlDQorQGl0ZW0NCiBwZXJsLW1vZGUNCiBAaXRlbQ0KIHBocC1tb2RlDQpAQCAtMjAzMCwx OSArMjEyMiw2IEBAIENvdmVyZWQgaW5kaXJlY3RseQ0KIHN3aWZ0LW1vZGUNCiBAZW5kIGl0ZW1p emUNCiANCi1Abm9kZSBXaWxsIE5PVCBiZSBzdXBwb3J0ZWQNCi1Ac2VjdGlvbiBXaWxsIE5PVCBi ZSBzdXBwb3J0ZWQNCi0NCi1JIGhhdmUgdGh1cyBmYXIgaWRlbnRpZmllZCBhIHNpbmdsZSBwYWNr YWdlIHRoYXQgZG9lcyBmaXQgaW50byB0aGUNCi1vdmVyYXJjaGluZyBvYmplY3RpdmUgb2YgdGhp cyBwcm9qZWN0OiBAdXJlZntodHRwczovL2dpdGh1Yi5jb20vaGxpc3NuZXIvZW1hY3Mtc29sYWly ZS1tb2RlLCBzb2xhaXJlfS4gIEl0IGJhc2ljYWxseSB0cmllcyB0bw0KLWNhc3QgYSBsZXNzIGlu dGVuc2UgYmFja2dyb3VuZCBvbiB0aGUgbWFpbiBmaWxlLXZpc2l0aW5nIGJ1ZmZlcnMsIHNvDQot dGhhdCBzZWNvbmRhcnkgZWxlbWVudHMgbGlrZSBzaWRlYmFycyBjYW4gaGF2ZSB0aGUgZGVmYXVs dCAocHVyZQ0KLXdoaXRlL2JsYWNrKSBiYWNrZ3JvdW5kLg0KLQ0KLUkgd2lsbCBvbmx5IGNvdmVy IHRoaXMgcGFja2FnZSBpZiBpdCBldmVyIHN1cHBvcnRzIHRoZSBpbnZlcnNlIGVmZmVjdDoNCi1s ZXNzIGludGVuc2UgY29sb3JzIChidXQgc3RpbGwgYWNjZXNzaWJsZSkgZm9yIGFuY2lsbGFyeSBp bnRlcmZhY2VzDQotYW5kIHRoZSBpbnRlbmRlZCBzdHlsZXMgZm9yIHRoZSBjb250ZW50IHlvdSBh cmUgYWN0dWFsbHkgd29ya2luZyBvbi4NCi0NCiBAbm9kZSBOb3RlcyBmb3IgaW5kaXZpZHVhbCBw YWNrYWdlcw0KIEBjaGFwdGVyIE5vdGVzIGZvciBpbmRpdmlkdWFsIHBhY2thZ2VzDQogDQpAQCAt MjA1Myw3ICsyMTMyLDcgQEAgTm90ZXMgZm9yIGluZGl2aWR1YWwgcGFja2FnZXMNCiAqIE5vdGUg b24gY29tcGFueS1tb2RlIG92ZXJsYXkgcG9wLXVwOjoNCiAqIE5vdGUgZm9yIEVSQyBlc2NhcGVk IGNvbG9yIHNlcXVlbmNlczo6DQogKiBOb3RlIGZvciBwb3dlcmxpbmUgb3Igc3BhY2VsaW5lOjoN Ci0qIE5vdGUgb24gc2hyIGNvbG9yczo6DQorKiBOb3RlIG9uIFNIUiBjb2xvcnM6Og0KICogTm90 ZSBmb3IgSGVsbSBncmVwOjoNCiAqIE5vdGUgb24gdmMtYW5ub3RhdGUtYmFja2dyb3VuZC1tb2Rl OjoNCiBAZW5kIG1lbnUNCkBAIC0yMDY3LDcgKzIxNDYsNyBAQCBOb3RlIG9uIGNvbXBhbnktbW9k ZSBvdmVybGF5IHBvcC11cA0KIGRlZmF1bHQuDQogDQogVGhlIHNvbHV0aW9uIHJlY29tbWVuZGVk IGJ5IHRoZSBwcm9qZWN0J3MgbWFpbnRhaW5lciBpcyB0byB1c2UgYW4NCi1hbHRlcm5hdGl2ZSBm cm9udC1lbmQgZm9yIGRyYXdpbmcgdGhlIHBvcC11cCB3aGljaCB1c2VzIGNoaWxkIGZyYW1lcw0K K2FsdGVybmF0aXZlIGZyb250LWVuZCBmb3IgZHJhd2luZyB0aGUgcG9wLXVwIHdoaWNoIGRyYXdz IGNoaWxkIGZyYW1lcw0KIGluc3RlYWQgb2Ygb3ZlcmxheXMuQGZvb3Rub3Rle0B1cmVme2h0dHBz Oi8vZ2l0aHViLmNvbS9jb21wYW55LW1vZGUvY29tcGFueS1tb2RlL2lzc3Vlcy8xMDEwfX1AZm9v dG5vdGV7QHVyZWZ7aHR0cHM6Ly9naXRodWIuY29tL3R1bWFzaHUvY29tcGFueS1wb3NmcmFtZS99 fQ0KIA0KIEBub2RlIE5vdGUgZm9yIEVSQyBlc2NhcGVkIGNvbG9yIHNlcXVlbmNlcw0KQEAgLTIw ODcsMTAgKzIxNjYsMTAgQEAgTm90ZSBmb3IgRVJDIGVzY2FwZWQgY29sb3Igc2VxdWVuY2VzDQog ICAgICAgZXJjLWludGVycHJldC1taXJjLWNvbG9yIHQpDQogQGVuZCBsaXNwDQogDQotQXMgdGhp cyBhbGxvd3MgdXNlcnMgdG8gbWFrZSBhcmJpdHJhcnkgY29tYmluYXRpb25zLCBpdCBpcyBpbXBv c3NpYmxlIHRvDQotZ3VhcmFudGVlIGEgY29uc2lzdGVudGx5IGhpZ2ggY29udHJhc3QgcmF0aW8u ICBBbGwgd2UgY2FuIHdlIGRvIGlzDQotcHJvdmlkZSBndWlkYW5jZSBvbiB0aGUgY29tYmluYXRp b25zIHRoYXQgc2F0aXNmeSB0aGUgYWNjZXNzaWJpbGl0eQ0KLXN0YW5kYXJkIG9mIHRoZSB0aGVt ZXM6DQorQXMgdGhpcyBhbGxvd3MgdXNlcnMgdGhlIGNoYW5jZSB0byBtYWtlIGFyYml0cmFyeSBj b21iaW5hdGlvbnMsIGl0IGlzDQoraW1wb3NzaWJsZSB0byBndWFyYW50ZWUgYSBjb25zaXN0ZW50 bHkgaGlnaCBjb250cmFzdCByYXRpby4gIEFsbCB3ZSBjYW4NCit3ZSBkbyBpcyBwcm92aWRlIGd1 aWRhbmNlIG9uIHRoZSBjb21iaW5hdGlvbnMgdGhhdCBzYXRpc2Z5IHRoZQ0KK2FjY2Vzc2liaWxp dHkgc3RhbmRhcmQgb2YgdGhlIHRoZW1lczoNCiANCiBAdGFibGUgQGFzaXMNCiBAaXRlbSBNb2R1 cyBPcGVyYW5kaQ0KQEAgLTIxMTIsMTIgKzIxOTEsMTIgQEAgTm90ZSBmb3IgcG93ZXJsaW5lIG9y IHNwYWNlbGluZQ0KIGNvbW1hbmQgQHNhbXB7cG93ZXJsaW5lLXJlc2V0fSB3aGVuZXZlciB0aGV5 IG1ha2UgY2hhbmdlcyB0byB0aGVpciB0aGVtZXMNCiBhbmQvb3IgbW9kZWxpbmUgc2V0dXAuDQog DQotQG5vZGUgTm90ZSBvbiBzaHIgY29sb3JzDQotQHNlY3Rpb24gTm90ZSBvbiBzaHIgY29sb3Jz DQorQG5vZGUgTm90ZSBvbiBTSFIgY29sb3JzDQorQHNlY3Rpb24gTm90ZSBvbiBTSFIgY29sb3Jz DQogDQotRW1hY3MnIEhUTUwgcmVuZGVyaW5nIG1lY2hhbmlzbSAoQHNhbXB7c2hyfSkgbWF5IG5l ZWQgZXhwbGljaXQgY29uZmlndXJhdGlvbiB0bw0KLXJlc3BlY3QgdGhlIHRoZW1lJ3MgY29sb3Jz IGluc3RlYWQgb2Ygd2hhdGV2ZXIgc3BlY2lmaWNhdGlvbnMgdGhlDQotd2VicGFnZSBwcm92aWRl cy4gIENvbnN1bHQgQGtiZHtDLWggdiBzaHItdXNlLWNvbG9yc30uDQorRW1hY3MnIEhUTUwgcmVu ZGVyaW5nIGxpYnJhcnkgKEBzYW1we3Noci5lbH0pIG1heSBuZWVkIGV4cGxpY2l0IGNvbmZpZ3Vy YXRpb24NCit0byByZXNwZWN0IHRoZSB0aGVtZSdzIGNvbG9ycyBpbnN0ZWFkIG9mIHdoYXRldmVy IHNwZWNpZmljYXRpb25zIHRoZQ0KK3dlYnBhZ2UgcHJvdmlkZXMuICBDb25zdWx0IEBzYW1we0Mt aCB2IHNoci11c2UtY29sb3JzfS4NCiANCiBAbm9kZSBOb3RlIGZvciBIZWxtIGdyZXANCiBAc2Vj dGlvbiBOb3RlIGZvciBIZWxtIGdyZXANCkBAIC0yMTI4LDcgKzIyMDcsNyBAQCBOb3RlIGZvciBI ZWxtIGdyZXANCiBub3QgcGFzcyBAc2FtcHstLWNvbG9yPWFsd2F5c30gYXMgYSBjb21tYW5kLWxp bmUgb3B0aW9uIGZvciB0aGVpciBjb21tYW5kLg0KIA0KIEhlcmUgaXMgdGhlIGRvY3N0cmluZyBm b3IgdGhhdCBmYWNlLCB3aGljaCBpcyBkZWZpbmVkIGluIHRoZQ0KLUBzYW1we2hlbG0tZ3JlcC5l bH0gbGlicmFyeSAodmlldyBhIGxpYnJhcnkgd2l0aCBAc2FtcHtNLXggZmluZC1saWJyYXJ5fSku DQorQHNhbXB7aGVsbS1ncmVwLmVsfSBsaWJyYXJ5ICh2aWV3IGEgbGlicmFyeSB3aXRoIEBrYmR7 TS14IGZpbmQtbGlicmFyeX0pLg0KIA0KIEBxdW90YXRpb24NCiBGYWNlIHVzZWQgdG8gaGlnaGxp Z2h0IGdyZXAgbWF0Y2hlcy4gIEhhdmUgbm8gZWZmZWN0IHdoZW4gZ3JlcCBiYWNrZW5kDQpAQCAt MjE1Miw3ICsyMjMxLDcgQEAgTm90ZSBmb3IgSGVsbSBncmVwDQogQG5vZGUgTm90ZSBvbiB2Yy1h bm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUNCiBAc2VjdGlvbiBOb3RlIG9uIHZjLWFubm90YXRlLWJh Y2tncm91bmQtbW9kZQ0KIA0KLUR1ZSB0byB0aGUgdW5pcXVlIHdheSBAc2FtcHt2Yy1hbm5vdGF0 ZX0gKEBrYmR7Qy14IHYgZ30pIGFwcGxpZXMgY29sb3JzLCBzdXBwb3J0IGZvcg0KK0R1ZSB0byB0 aGUgdW5pcXVlIHdheSBAc2FtcHt2Yy1hbm5vdGF0ZX0gKEBzYW1we0MteCB2IGd9KSBhcHBsaWVz IGNvbG9ycywgc3VwcG9ydCBmb3INCiBpdHMgYmFja2dyb3VuZCBtb2RlIChAc2FtcHt2Yy1hbm5v dGF0ZS1iYWNrZ3JvdW5kLW1vZGV9KSBpcyBkaXNhYmxlZCBhdCB0aGUNCiB0aGVtZSBsZXZlbC4N CiANCkBAIC0yMTYzLDcgKzIyNDIsNyBAQCBOb3RlIG9uIHZjLWFubm90YXRlLWJhY2tncm91bmQt bW9kZQ0KIA0KIElmIHRoZXJlIGFjdHVhbGx5IGlzIGEgd2F5IHRvIGF2b2lkIHN1Y2ggYSBjb3Vy c2Ugb2YgYWN0aW9uLCB3aXRob3V0DQogcHJlanVkaWNlIHRvIHRoZSBhY2Nlc3NpYmlsaXR5IHN0 YW5kYXJkIG9mIHRoaXMgcHJvamVjdCwgdGhlbiBwbGVhc2UNCi1yZXBvcnQgYXMgbXVjaCBvciBz ZW5kIHBhdGNoZXMgKHNlZSBAcmVme0NvbnRyaWJ1dGluZ30pLg0KK3JlcG9ydCBhcyBtdWNoIG9y IHNlbmQgcGF0Y2hlcyAoc2VlIEB4cmVme0NvbnRyaWJ1dGluZ30pLg0KIA0KIEBub2RlIENvbnRy aWJ1dGluZw0KIEBjaGFwdGVyIENvbnRyaWJ1dGluZw0KQEAgLTIxODcsNyArMjI2Niw3IEBAIFNv dXJjZXMgb2YgdGhlIHRoZW1lcw0KIFRoZSBzb3VyY2UgY29kZSBvZiB0aGUgdGhlbWVzIGlzIEB1 cmVme2h0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMvLCBhdmFpbGFi bGUgb24gR2l0bGFifSwgZm9yIHRoZSB0aW1lDQogYmVpbmcuICBBIEB1cmVme2h0dHBzOi8vZ2l0 aHViLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMvLCBtaXJyb3Igb24gR2l0aHVifSBpcyBh bHNvIG9uIG9mZmVyLg0KIA0KLUFuIEhUTUwgdmVyc2lvbiBvZiB0aGlzIG1hbnVhbCBpcyBhdmFp bGFibGUgYXMgYW4gZXh0ZW5zaW9uIHRvIHRoZQ0KK0FuIEhUTUwgdmVyc2lvbiBvZiB0aGlzIG1h bnVhbCBpcyBwcm92aWRlZCBhcyBhbiBleHRlbnNpb24gb2YgdGhlDQogQHVyZWZ7aHR0cHM6Ly9w cm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVzLywgYXV0aG9yJ3MgcGVyc29uYWwgd2Vic2l0ZX0g KGRvZXMgbm90IHJlbHkgb24gYW55IG5vbi1mcmVlIGNvZGUpLg0KIA0KIEBub2RlIElzc3VlcyB5 b3UgY2FuIGhlbHAgd2l0aA0KQEAgLTIyMTIsMTAgKzIyOTEsMTAgQEAgSXNzdWVzIHlvdSBjYW4g aGVscCB3aXRoDQogTWVyZ2UgcmVxdWVzdHMgZm9yIGNvZGUgcmVmaW5lbWVudHMuDQogQGVuZCBp dGVtaXplDQogDQotQHhyZWZ7TWVyZ2UgcmVxdWVzdHMsICwgUGF0Y2hlcyByZXF1aXJlIGNvcHly aWdodCBhc3NpZ25tZW50IHRvIHRoZSBGU0Z9Lg0KK0B4cmVme01lcmdlIHJlcXVlc3RzfS4NCiAN Ci1JdCB3b3VsZCBiZSBncmVhdCBpZiB5b3VyIGZlZWRiYWNrIGFsc28gaW5jbHVkZXMgc29tZSBz Y3JlZW5zaG90cywgR0lGcywNCi1vciBzaG9ydCB2aWRlb3MsIGFzIHdlbGwgYXMgZnVydGhlciBp bnN0cnVjdGlvbnMgdG8gcmVwcm9kdWNlIGEgZ2l2ZW4NCitJdCBpcyBwcmVmZXJhYmxlIHRoYXQg eW91ciBmZWVkYmFjayBpbmNsdWRlcyBzb21lIHNjcmVlbnNob3RzLCBHSUZzLCBvcg0KK3Nob3J0 IHZpZGVvcywgYXMgd2VsbCBhcyBmdXJ0aGVyIGluc3RydWN0aW9ucyB0byByZXByb2R1Y2UgYSBn aXZlbg0KIHNldHVwLiAgVGhvdWdoIHRoaXMgaXMgbm90IGEgcmVxdWlyZW1lbnQuDQogDQogV2hh dGV2ZXIgeW91IGRvLCBiZWFyIGluIG1pbmQgdGhlIG92ZXJhcmNoaW5nIG9iamVjdGl2ZSBvZiB0 aGUgTW9kdXMNCkBAIC0yMjgzLDQ3ICsyMzYyLDUxIEBAIE1lcmdlIHJlcXVlc3RzDQogW1doaWNo IGZpbGVzIGhhdmUgeW91IGNoYW5nZWQgc28gZmFyLCBhbmQgd2hpY2ggbmV3IGZpbGVzIGhhdmUg eW91IHdyaXR0ZW4NCiBzbyBmYXI/XQ0KIA0KLUNoYW5nZWQgYSBjb3VwbGUgb2YgdGhlbWVzIHRo YXQgYXJlIHBhcnQgb2YgdGhlIEVtYWNzIHNvdXJjZSBjb2RlOg0KLQ0KLS4vZXRjL3RoZW1lcy9t b2R1cy1vcGVyYW5kaS10aGVtZS5lbA0KLS4vZXRjL3RoZW1lcy9tb2R1cy12aXZlbmRpLXRoZW1l LmVsDQogQGVuZCBleGFtcGxlDQogDQogQG5vZGUgQWNrbm93bGVkZ2VtZW50cw0KIEBjaGFwdGVy IEFja25vd2xlZGdlbWVudHMNCiANCi1UaGUgTW9kdXMgdGhlbWVzIGFyZSBhIGNvbGxlY3RpdmUg ZWZmb3J0LiAgRXZlcnkgY29udHJpYnV0aW9uIGNvdW50cy4NCitUaGUgTW9kdXMgdGhlbWVzIGFy ZSBhIGNvbGxlY3RpdmUgZWZmb3J0LiAgRXZlcnkgYml0IG9mIHdvcmsgbWF0dGVycy4NCiANCiBA dGFibGUgQGFzaXMNCiBAaXRlbSBBdXRob3IvbWFpbnRhaW5lcg0KIFByb3Rlc2lsYW9zIFN0YXZy b3UuDQogDQotQGl0ZW0gQ29kZSBjb250cmlidXRpb25zDQotQW5kZXJzIEpvaGFuc3NvbiwgQmFz aWwgTEAuIENvbnRvdm91bmVzaW9zLA0KLU1hcmt1cyBCZXBwbGVyLCBNYXR0aGV3IFN0ZXZlbnNv bi4NCitAaXRlbSBDb250cmlidXRpb25zIHRvIGNvZGUgb3IgZG9jdW1lbnRhdGlvbg0KK0FuZGVy cyBKb2hhbnNzb24sIEJhc2lsDQorTEAuIENvbnRvdm91bmVzaW9zLCBFbGkgWmFyZXRza2lpLCBN YWRoYXZhbiBLcmlzaG5hbiwgTWFya3VzIEJlcHBsZXIsDQorTWF0dGhldyBTdGV2ZW5zb24sIFNo cmV5YXMgUmFnYXZhbiwgU3RlZmFuIEthbmdhcywgVmluY2VudCBNdXJwaHkuDQogDQogQGl0ZW0g SWRlYXMgYW5kIHVzZXIgZmVlZGJhY2sNCiBBYXJvbiBKZW5zZW4sIEFkYW0gU3BpZXJzLCBBbGV4 IEdyaWZmaW4sDQotQWxleCBQZWl0c2luaXMsIEFsZXhleSBTaG1hbGtvLCBBbmRlcnMgSm9oYW5z c29uLCBBbmRyw6kgQWxleGFuZHJlDQotR29tZXMsIEFyaWYgUmV6YWksIEJhc2lsIExALiBDb250 b3ZvdW5lc2lvcywgRGFtaWVuIENhc3NvdSwgRGFyaW8NCi1Ham9yZ2pldnNraSwgRGF2aWQgRWRt b25kc29uLCBEYXZvciBSb3RpbSwgRGl2YW4gU2FudGFuYSwgR2VycnkNCi1BZ2JvYmFkYSwgR2lh bmx1Y2EgUmVjY2hpYSwgSXJpcyBHYXJjaWEsIExlbiBUcmlnZywgTWFudWVsIFViZXJ0aSwNCi1N YXJrIEJ1cnRvbiwgTWFya3VzIEJlcHBsZXIsIE1pY2hhZWwgR29sZGVuYmVyZywgTXVyaWxvIFBl cmVpcmEsDQotTmljb2xhcyBEZSBKYWVnaGVyZSwgUGllcnJlIFTDqWNob3VleXJlcywgUm9tYW4g UnVkYWtvdiwgUnlhbiBQaGlsbGlwcywNCi1TaHJleWFzIFJhZ2F2YW4sIFRhc3NpbG8gSG9ybiwg VGhpYmF1dCBWZXJyb24sIFRyZXkgTWVya2xleSwgVXJpDQotU2hhcmYsIFV0a2Fyc2ggU2luZ2gs IFZpbmNlbnQgRm9sZXkuICBBcyB3ZWxsIGFzIHVzZXJzOiBCZW4sDQotRm91cmNoYXV4LCBGcmVk cmlrLCBNb2VzYXNqaSwgTmljaywgVGhlQmxvYjQyLCBkaW5rbywgZG9vbGlvLCBqaXhpdWYsDQot b2thbXNuLCB0eWNobyBnYXJlbi4NCitBbGV4IFBlaXRzaW5pcywgQWxleGV5IFNobWFsa28sIEFs b2sgU2luZ2gsIEFuZGVycyBKb2hhbnNzb24sIEFuZHLDqQ0KK0FsZXhhbmRyZSBHb21lcywgQXJp ZiBSZXphaSwgQmFzaWwgTEAuIENvbnRvdm91bmVzaW9zLCBEYW1pZW4gQ2Fzc291LA0KK0Rhbmll bCBNZW5kbGVyLCBEYXJpbyBHam9yZ2pldnNraSwgRGF2aWQgRWRtb25kc29uLCBEYXZvciBSb3Rp bSwgRGl2YW4NCitTYW50YW5hLCBHZXJyeSBBZ2JvYmFkYSwgR2lhbmx1Y2EgUmVjY2hpYSwgSMO2 cm1ldGphbiBZaWx0aXosIElsamENCitLb2NrZW4sIElyaXMgR2FyY2lhLCBKZXJlbXkgRnJpZXNl biwgSm9obiBIYW1hbiwgTGVuIFRyaWdnLCBNYW51ZWwNCitVYmVydGksIE1hcmsgQnVydG9uLCBN YXJrdXMgQmVwcGxlciwgTWljaGFlbCBHb2xkZW5iZXJnLCBNdXJpbG8NCitQZXJlaXJhLCBOaWNv bGFzIERlIEphZWdoZXJlLCBQYXVsIFBvbG9za292LCBQZXRlIEthem1pZXIsIFBpZXJyZQ0KK1TD qWNob3VleXJlcywgUm9tYW4gUnVkYWtvdiwgUnlhbiBQaGlsbGlwcywgU2hyZXlhcyBSYWdhdmFu LCBTaW1vbg0KK1B1Z25ldCwgVGFzc2lsbyBIb3JuLCBUaGliYXV0IFZlcnJvbiwgVHJleSBNZXJr bGV5LCBUb2dhbiBNdWZ0dW9nbHUsDQorVXJpIFNoYXJmLCBVdGthcnNoIFNpbmdoLCBWaW5jZW50 IEZvbGV5LiAgQXMgd2VsbCBhcyB1c2VyczogQmVuLCBFbWFjcw0KK0NvbnRyaWIsIEV1Z2VuZSwg Rm91cmNoYXV4LCBGcmVkcmlrLCBNb2VzYXNqaSwgTmljaywgVGhlQmxvYjQyLA0KK2JlcG9seW1h dGhlLCBkaW5rbywgZG9vbGlvLCBmbGVpbWdydWJlciwgaVNlZVUsIGppeGl1Ziwgb2thbXNuLCB0 eWNobw0KK2dhcmVuLg0KIA0KIEBpdGVtIFBhY2thZ2luZw0KIERoYXZhbiBWYWlkeWEgKERlYmlh biksIFN0ZWZhbiBLYW5nYXMgKGNvcmUgRW1hY3MpLA0KIFN0ZWZhbiBNb25uaWVyIChHTlUgRWxw YSkuDQogDQogQGl0ZW0gSW5zcGlyYXRpb24gZm9yIGNlcnRhaW4gZmVhdHVyZXMNCi1GYWJyaWNl IE5pZXNzZW4gKGxldXZlbi10aGVtZSksDQotQm96aGlkYXIgQmF0c292ICh6ZW5idXJuLXRoZW1l KS4NCitCb3poaWRhciBCYXRzb3YgKHplbmJ1cm4tdGhlbWUpLA0KK0ZhYnJpY2UgTmllc3NlbiAo bGV1dmVuLXRoZW1lKS4NCiBAZW5kIHRhYmxlDQogDQorU3BlY2lhbCB0aGFua3MsIGluIG5vIHBh cnRpY3VsYXIgb3JkZXIsIHRvIE1hbnVlbCBVYmVydGkgYW5kIE9tYXINCitBbnRvbMOtbiBDYW1h cmVuYSBmb3IgdGhlaXIgbG9uZyB0aW1lIGNvbnRyaWJ1dGlvbnMgYW5kIGluc2lnaHRmdWwNCitj b21tZW50YXJ5Lg0KKw0KIEBub2RlIE1ldGENCiBAY2hhcHRlciBNZXRhDQogDQpAQCAtMjM0OCw3 ICsyNDMxLDcgQEAgTWV0YQ0KIEB1cmVme2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2NvZGVsb2cv MjAyMC0wOS0xNC1tb2R1cy10aGVtZXMtcmV2aWV3LWJsdWVzLywgTW9kdXMgdGhlbWVzOiByZXZp ZXcgb2YgYmx1ZSBjb2xvdXJzfSAoMjAyMC0wOS0xNCkNCiBAZW5kIGl0ZW1pemUNCiANCi1BbmQg aGVyZSBhcmUgdGhlIGNhbm9uaWNhbCBzb3VyY2VzIGZvciB0aGlzIHByb2plY3QncyBkb2N1bWVu dGF0aW9uOg0KK0FuZCBoZXJlIGFyZSB0aGUgY2Fub25pY2FsIHNvdXJjZXMgb2YgdGhpcyBwcm9q ZWN0J3MgZG9jdW1lbnRhdGlvbjoNCiANCiBAdGFibGUgQGFzaXMNCiBAaXRlbSBNYW51YWwNCkBA IC0yMzc3LDQ1OCArMjQ2MCw2IEBAIEV4dGVybmFsIHByb2plY3RzIChwb3J0cykNCiANCiBAbm9k ZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UNCiBAYXBwZW5kaXggR05VIEZyZWUgRG9j dW1lbnRhdGlvbiBMaWNlbnNlDQotDQotQGV4YW1wbGUNCi0gICAgICAgICAgICAgICAgR05VIEZy ZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlDQotICAgICAgICAgICAgICAgICBWZXJzaW9uIDEuMywg MyBOb3ZlbWJlciAyMDA4DQotDQotDQotIENvcHlyaWdodCAoQykgMjAwMCwgMjAwMSwgMjAwMiwg MjAwNywgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCi0gICAgIDxodHRwczov L2ZzZi5vcmcvPg0KLSBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0 ZSB2ZXJiYXRpbSBjb3BpZXMNCi0gb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdp bmcgaXQgaXMgbm90IGFsbG93ZWQuDQotDQotMC4gUFJFQU1CTEUNCi0NCi1UaGUgcHVycG9zZSBv ZiB0aGlzIExpY2Vuc2UgaXMgdG8gbWFrZSBhIG1hbnVhbCwgdGV4dGJvb2ssIG9yIG90aGVyDQot ZnVuY3Rpb25hbCBhbmQgdXNlZnVsIGRvY3VtZW50ICJmcmVlIiBpbiB0aGUgc2Vuc2Ugb2YgZnJl ZWRvbTogdG8NCi1hc3N1cmUgZXZlcnlvbmUgdGhlIGVmZmVjdGl2ZSBmcmVlZG9tIHRvIGNvcHkg YW5kIHJlZGlzdHJpYnV0ZSBpdCwNCi13aXRoIG9yIHdpdGhvdXQgbW9kaWZ5aW5nIGl0LCBlaXRo ZXIgY29tbWVyY2lhbGx5IG9yIG5vbmNvbW1lcmNpYWxseS4NCi1TZWNvbmRhcmlseSwgdGhpcyBM aWNlbnNlIHByZXNlcnZlcyBmb3IgdGhlIGF1dGhvciBhbmQgcHVibGlzaGVyIGEgd2F5DQotdG8g Z2V0IGNyZWRpdCBmb3IgdGhlaXIgd29yaywgd2hpbGUgbm90IGJlaW5nIGNvbnNpZGVyZWQgcmVz cG9uc2libGUNCi1mb3IgbW9kaWZpY2F0aW9ucyBtYWRlIGJ5IG90aGVycy4NCi0NCi1UaGlzIExp Y2Vuc2UgaXMgYSBraW5kIG9mICJjb3B5bGVmdCIsIHdoaWNoIG1lYW5zIHRoYXQgZGVyaXZhdGl2 ZQ0KLXdvcmtzIG9mIHRoZSBkb2N1bWVudCBtdXN0IHRoZW1zZWx2ZXMgYmUgZnJlZSBpbiB0aGUg c2FtZSBzZW5zZS4gIEl0DQotY29tcGxlbWVudHMgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlLCB3aGljaCBpcyBhIGNvcHlsZWZ0DQotbGljZW5zZSBkZXNpZ25lZCBmb3IgZnJlZSBzb2Z0 d2FyZS4NCi0NCi1XZSBoYXZlIGRlc2lnbmVkIHRoaXMgTGljZW5zZSBpbiBvcmRlciB0byB1c2Ug aXQgZm9yIG1hbnVhbHMgZm9yIGZyZWUNCi1zb2Z0d2FyZSwgYmVjYXVzZSBmcmVlIHNvZnR3YXJl IG5lZWRzIGZyZWUgZG9jdW1lbnRhdGlvbjogYSBmcmVlDQotcHJvZ3JhbSBzaG91bGQgY29tZSB3 aXRoIG1hbnVhbHMgcHJvdmlkaW5nIHRoZSBzYW1lIGZyZWVkb21zIHRoYXQgdGhlDQotc29mdHdh cmUgZG9lcy4gIEJ1dCB0aGlzIExpY2Vuc2UgaXMgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgbWFu dWFsczsNCi1pdCBjYW4gYmUgdXNlZCBmb3IgYW55IHRleHR1YWwgd29yaywgcmVnYXJkbGVzcyBv ZiBzdWJqZWN0IG1hdHRlciBvcg0KLXdoZXRoZXIgaXQgaXMgcHVibGlzaGVkIGFzIGEgcHJpbnRl ZCBib29rLiAgV2UgcmVjb21tZW5kIHRoaXMgTGljZW5zZQ0KLXByaW5jaXBhbGx5IGZvciB3b3Jr cyB3aG9zZSBwdXJwb3NlIGlzIGluc3RydWN0aW9uIG9yIHJlZmVyZW5jZS4NCi0NCi0NCi0xLiBB UFBMSUNBQklMSVRZIEFORCBERUZJTklUSU9OUw0KLQ0KLVRoaXMgTGljZW5zZSBhcHBsaWVzIHRv IGFueSBtYW51YWwgb3Igb3RoZXIgd29yaywgaW4gYW55IG1lZGl1bSwgdGhhdA0KLWNvbnRhaW5z IGEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgY2FuIGJl DQotZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4gIFN1Y2ggYSBu b3RpY2UgZ3JhbnRzIGENCi13b3JsZC13aWRlLCByb3lhbHR5LWZyZWUgbGljZW5zZSwgdW5saW1p dGVkIGluIGR1cmF0aW9uLCB0byB1c2UgdGhhdA0KLXdvcmsgdW5kZXIgdGhlIGNvbmRpdGlvbnMg c3RhdGVkIGhlcmVpbi4gIFRoZSAiRG9jdW1lbnQiLCBiZWxvdywNCi1yZWZlcnMgdG8gYW55IHN1 Y2ggbWFudWFsIG9yIHdvcmsuICBBbnkgbWVtYmVyIG9mIHRoZSBwdWJsaWMgaXMgYQ0KLWxpY2Vu c2VlLCBhbmQgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLiAgWW91IGFjY2VwdCB0aGUgbGljZW5zZSBp ZiB5b3UNCi1jb3B5LCBtb2RpZnkgb3IgZGlzdHJpYnV0ZSB0aGUgd29yayBpbiBhIHdheSByZXF1 aXJpbmcgcGVybWlzc2lvbg0KLXVuZGVyIGNvcHlyaWdodCBsYXcuDQotDQotQSAiTW9kaWZpZWQg VmVyc2lvbiIgb2YgdGhlIERvY3VtZW50IG1lYW5zIGFueSB3b3JrIGNvbnRhaW5pbmcgdGhlDQot RG9jdW1lbnQgb3IgYSBwb3J0aW9uIG9mIGl0LCBlaXRoZXIgY29waWVkIHZlcmJhdGltLCBvciB3 aXRoDQotbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIgbGFuZ3Vh Z2UuDQotDQotQSAiU2Vjb25kYXJ5IFNlY3Rpb24iIGlzIGEgbmFtZWQgYXBwZW5kaXggb3IgYSBm cm9udC1tYXR0ZXIgc2VjdGlvbiBvZg0KLXRoZSBEb2N1bWVudCB0aGF0IGRlYWxzIGV4Y2x1c2l2 ZWx5IHdpdGggdGhlIHJlbGF0aW9uc2hpcCBvZiB0aGUNCi1wdWJsaXNoZXJzIG9yIGF1dGhvcnMg b2YgdGhlIERvY3VtZW50IHRvIHRoZSBEb2N1bWVudCdzIG92ZXJhbGwNCi1zdWJqZWN0IChvciB0 byByZWxhdGVkIG1hdHRlcnMpIGFuZCBjb250YWlucyBub3RoaW5nIHRoYXQgY291bGQgZmFsbA0K LWRpcmVjdGx5IHdpdGhpbiB0aGF0IG92ZXJhbGwgc3ViamVjdC4gIChUaHVzLCBpZiB0aGUgRG9j dW1lbnQgaXMgaW4NCi1wYXJ0IGEgdGV4dGJvb2sgb2YgbWF0aGVtYXRpY3MsIGEgU2Vjb25kYXJ5 IFNlY3Rpb24gbWF5IG5vdCBleHBsYWluDQotYW55IG1hdGhlbWF0aWNzLikgIFRoZSByZWxhdGlv bnNoaXAgY291bGQgYmUgYSBtYXR0ZXIgb2YgaGlzdG9yaWNhbA0KLWNvbm5lY3Rpb24gd2l0aCB0 aGUgc3ViamVjdCBvciB3aXRoIHJlbGF0ZWQgbWF0dGVycywgb3Igb2YgbGVnYWwsDQotY29tbWVy Y2lhbCwgcGhpbG9zb3BoaWNhbCwgZXRoaWNhbCBvciBwb2xpdGljYWwgcG9zaXRpb24gcmVnYXJk aW5nDQotdGhlbS4NCi0NCi1UaGUgIkludmFyaWFudCBTZWN0aW9ucyIgYXJlIGNlcnRhaW4gU2Vj b25kYXJ5IFNlY3Rpb25zIHdob3NlIHRpdGxlcw0KLWFyZSBkZXNpZ25hdGVkLCBhcyBiZWluZyB0 aG9zZSBvZiBJbnZhcmlhbnQgU2VjdGlvbnMsIGluIHRoZSBub3RpY2UNCi10aGF0IHNheXMgdGhh dCB0aGUgRG9jdW1lbnQgaXMgcmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSWYgYQ0KLXNl Y3Rpb24gZG9lcyBub3QgZml0IHRoZSBhYm92ZSBkZWZpbml0aW9uIG9mIFNlY29uZGFyeSB0aGVu IGl0IGlzIG5vdA0KLWFsbG93ZWQgdG8gYmUgZGVzaWduYXRlZCBhcyBJbnZhcmlhbnQuICBUaGUg RG9jdW1lbnQgbWF5IGNvbnRhaW4gemVybw0KLUludmFyaWFudCBTZWN0aW9ucy4gIElmIHRoZSBE b2N1bWVudCBkb2VzIG5vdCBpZGVudGlmeSBhbnkgSW52YXJpYW50DQotU2VjdGlvbnMgdGhlbiB0 aGVyZSBhcmUgbm9uZS4NCi0NCi1UaGUgIkNvdmVyIFRleHRzIiBhcmUgY2VydGFpbiBzaG9ydCBw YXNzYWdlcyBvZiB0ZXh0IHRoYXQgYXJlIGxpc3RlZCwNCi1hcyBGcm9udC1Db3ZlciBUZXh0cyBv ciBCYWNrLUNvdmVyIFRleHRzLCBpbiB0aGUgbm90aWNlIHRoYXQgc2F5cyB0aGF0DQotdGhlIERv Y3VtZW50IGlzIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEEgRnJvbnQtQ292ZXIgVGV4 dCBtYXkNCi1iZSBhdCBtb3N0IDUgd29yZHMsIGFuZCBhIEJhY2stQ292ZXIgVGV4dCBtYXkgYmUg YXQgbW9zdCAyNSB3b3Jkcy4NCi0NCi1BICJUcmFuc3BhcmVudCIgY29weSBvZiB0aGUgRG9jdW1l bnQgbWVhbnMgYSBtYWNoaW5lLXJlYWRhYmxlIGNvcHksDQotcmVwcmVzZW50ZWQgaW4gYSBmb3Jt YXQgd2hvc2Ugc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlDQotZ2VuZXJhbCBwdWJs aWMsIHRoYXQgaXMgc3VpdGFibGUgZm9yIHJldmlzaW5nIHRoZSBkb2N1bWVudA0KLXN0cmFpZ2h0 Zm9yd2FyZGx5IHdpdGggZ2VuZXJpYyB0ZXh0IGVkaXRvcnMgb3IgKGZvciBpbWFnZXMgY29tcG9z ZWQgb2YNCi1waXhlbHMpIGdlbmVyaWMgcGFpbnQgcHJvZ3JhbXMgb3IgKGZvciBkcmF3aW5ncykg c29tZSB3aWRlbHkgYXZhaWxhYmxlDQotZHJhd2luZyBlZGl0b3IsIGFuZCB0aGF0IGlzIHN1aXRh YmxlIGZvciBpbnB1dCB0byB0ZXh0IGZvcm1hdHRlcnMgb3INCi1mb3IgYXV0b21hdGljIHRyYW5z bGF0aW9uIHRvIGEgdmFyaWV0eSBvZiBmb3JtYXRzIHN1aXRhYmxlIGZvciBpbnB1dA0KLXRvIHRl eHQgZm9ybWF0dGVycy4gIEEgY29weSBtYWRlIGluIGFuIG90aGVyd2lzZSBUcmFuc3BhcmVudCBm aWxlDQotZm9ybWF0IHdob3NlIG1hcmt1cCwgb3IgYWJzZW5jZSBvZiBtYXJrdXAsIGhhcyBiZWVu IGFycmFuZ2VkIHRvIHRod2FydA0KLW9yIGRpc2NvdXJhZ2Ugc3Vic2VxdWVudCBtb2RpZmljYXRp b24gYnkgcmVhZGVycyBpcyBub3QgVHJhbnNwYXJlbnQuDQotQW4gaW1hZ2UgZm9ybWF0IGlzIG5v dCBUcmFuc3BhcmVudCBpZiB1c2VkIGZvciBhbnkgc3Vic3RhbnRpYWwgYW1vdW50DQotb2YgdGV4 dC4gIEEgY29weSB0aGF0IGlzIG5vdCAiVHJhbnNwYXJlbnQiIGlzIGNhbGxlZCAiT3BhcXVlIi4N Ci0NCi1FeGFtcGxlcyBvZiBzdWl0YWJsZSBmb3JtYXRzIGZvciBUcmFuc3BhcmVudCBjb3BpZXMg aW5jbHVkZSBwbGFpbg0KLUFTQ0lJIHdpdGhvdXQgbWFya3VwLCBUZXhpbmZvIGlucHV0IGZvcm1h dCwgTGFUZVggaW5wdXQgZm9ybWF0LCBTR01MDQotb3IgWE1MIHVzaW5nIGEgcHVibGljbHkgYXZh aWxhYmxlIERURCwgYW5kIHN0YW5kYXJkLWNvbmZvcm1pbmcgc2ltcGxlDQotSFRNTCwgUG9zdFNj cmlwdCBvciBQREYgZGVzaWduZWQgZm9yIGh1bWFuIG1vZGlmaWNhdGlvbi4gIEV4YW1wbGVzIG9m DQotdHJhbnNwYXJlbnQgaW1hZ2UgZm9ybWF0cyBpbmNsdWRlIFBORywgWENGIGFuZCBKUEcuICBP cGFxdWUgZm9ybWF0cw0KLWluY2x1ZGUgcHJvcHJpZXRhcnkgZm9ybWF0cyB0aGF0IGNhbiBiZSBy ZWFkIGFuZCBlZGl0ZWQgb25seSBieQ0KLXByb3ByaWV0YXJ5IHdvcmQgcHJvY2Vzc29ycywgU0dN TCBvciBYTUwgZm9yIHdoaWNoIHRoZSBEVEQgYW5kL29yDQotcHJvY2Vzc2luZyB0b29scyBhcmUg bm90IGdlbmVyYWxseSBhdmFpbGFibGUsIGFuZCB0aGUNCi1tYWNoaW5lLWdlbmVyYXRlZCBIVE1M LCBQb3N0U2NyaXB0IG9yIFBERiBwcm9kdWNlZCBieSBzb21lIHdvcmQNCi1wcm9jZXNzb3JzIGZv ciBvdXRwdXQgcHVycG9zZXMgb25seS4NCi0NCi1UaGUgIlRpdGxlIFBhZ2UiIG1lYW5zLCBmb3Ig YSBwcmludGVkIGJvb2ssIHRoZSB0aXRsZSBwYWdlIGl0c2VsZiwNCi1wbHVzIHN1Y2ggZm9sbG93 aW5nIHBhZ2VzIGFzIGFyZSBuZWVkZWQgdG8gaG9sZCwgbGVnaWJseSwgdGhlIG1hdGVyaWFsDQot dGhpcyBMaWNlbnNlIHJlcXVpcmVzIHRvIGFwcGVhciBpbiB0aGUgdGl0bGUgcGFnZS4gIEZvciB3 b3JrcyBpbg0KLWZvcm1hdHMgd2hpY2ggZG8gbm90IGhhdmUgYW55IHRpdGxlIHBhZ2UgYXMgc3Vj aCwgIlRpdGxlIFBhZ2UiIG1lYW5zDQotdGhlIHRleHQgbmVhciB0aGUgbW9zdCBwcm9taW5lbnQg YXBwZWFyYW5jZSBvZiB0aGUgd29yaydzIHRpdGxlLA0KLXByZWNlZGluZyB0aGUgYmVnaW5uaW5n IG9mIHRoZSBib2R5IG9mIHRoZSB0ZXh0Lg0KLQ0KLVRoZSAicHVibGlzaGVyIiBtZWFucyBhbnkg cGVyc29uIG9yIGVudGl0eSB0aGF0IGRpc3RyaWJ1dGVzIGNvcGllcyBvZg0KLXRoZSBEb2N1bWVu dCB0byB0aGUgcHVibGljLg0KLQ0KLUEgc2VjdGlvbiAiRW50aXRsZWQgWFlaIiBtZWFucyBhIG5h bWVkIHN1YnVuaXQgb2YgdGhlIERvY3VtZW50IHdob3NlDQotdGl0bGUgZWl0aGVyIGlzIHByZWNp c2VseSBYWVogb3IgY29udGFpbnMgWFlaIGluIHBhcmVudGhlc2VzIGZvbGxvd2luZw0KLXRleHQg dGhhdCB0cmFuc2xhdGVzIFhZWiBpbiBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmUgWFlaIHN0YW5k cyBmb3IgYQ0KLXNwZWNpZmljIHNlY3Rpb24gbmFtZSBtZW50aW9uZWQgYmVsb3csIHN1Y2ggYXMg IkFja25vd2xlZGdlbWVudHMiLA0KLSJEZWRpY2F0aW9ucyIsICJFbmRvcnNlbWVudHMiLCBvciAi SGlzdG9yeSIuKSAgVG8gIlByZXNlcnZlIHRoZSBUaXRsZSINCi1vZiBzdWNoIGEgc2VjdGlvbiB3 aGVuIHlvdSBtb2RpZnkgdGhlIERvY3VtZW50IG1lYW5zIHRoYXQgaXQgcmVtYWlucyBhDQotc2Vj dGlvbiAiRW50aXRsZWQgWFlaIiBhY2NvcmRpbmcgdG8gdGhpcyBkZWZpbml0aW9uLg0KLQ0KLVRo ZSBEb2N1bWVudCBtYXkgaW5jbHVkZSBXYXJyYW50eSBEaXNjbGFpbWVycyBuZXh0IHRvIHRoZSBu b3RpY2Ugd2hpY2gNCi1zdGF0ZXMgdGhhdCB0aGlzIExpY2Vuc2UgYXBwbGllcyB0byB0aGUgRG9j dW1lbnQuICBUaGVzZSBXYXJyYW50eQ0KLURpc2NsYWltZXJzIGFyZSBjb25zaWRlcmVkIHRvIGJl IGluY2x1ZGVkIGJ5IHJlZmVyZW5jZSBpbiB0aGlzDQotTGljZW5zZSwgYnV0IG9ubHkgYXMgcmVn YXJkcyBkaXNjbGFpbWluZyB3YXJyYW50aWVzOiBhbnkgb3RoZXINCi1pbXBsaWNhdGlvbiB0aGF0 IHRoZXNlIFdhcnJhbnR5IERpc2NsYWltZXJzIG1heSBoYXZlIGlzIHZvaWQgYW5kIGhhcw0KLW5v IGVmZmVjdCBvbiB0aGUgbWVhbmluZyBvZiB0aGlzIExpY2Vuc2UuDQotDQotMi4gVkVSQkFUSU0g Q09QWUlORw0KLQ0KLVlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgRG9jdW1lbnQgaW4g YW55IG1lZGl1bSwgZWl0aGVyDQotY29tbWVyY2lhbGx5IG9yIG5vbmNvbW1lcmNpYWxseSwgcHJv dmlkZWQgdGhhdCB0aGlzIExpY2Vuc2UsIHRoZQ0KLWNvcHlyaWdodCBub3RpY2VzLCBhbmQgdGhl IGxpY2Vuc2Ugbm90aWNlIHNheWluZyB0aGlzIExpY2Vuc2UgYXBwbGllcw0KLXRvIHRoZSBEb2N1 bWVudCBhcmUgcmVwcm9kdWNlZCBpbiBhbGwgY29waWVzLCBhbmQgdGhhdCB5b3UgYWRkIG5vDQot b3RoZXIgY29uZGl0aW9ucyB3aGF0c29ldmVyIHRvIHRob3NlIG9mIHRoaXMgTGljZW5zZS4gIFlv dSBtYXkgbm90IHVzZQ0KLXRlY2huaWNhbCBtZWFzdXJlcyB0byBvYnN0cnVjdCBvciBjb250cm9s IHRoZSByZWFkaW5nIG9yIGZ1cnRoZXINCi1jb3B5aW5nIG9mIHRoZSBjb3BpZXMgeW91IG1ha2Ug b3IgZGlzdHJpYnV0ZS4gIEhvd2V2ZXIsIHlvdSBtYXkgYWNjZXB0DQotY29tcGVuc2F0aW9uIGlu IGV4Y2hhbmdlIGZvciBjb3BpZXMuICBJZiB5b3UgZGlzdHJpYnV0ZSBhIGxhcmdlIGVub3VnaA0K LW51bWJlciBvZiBjb3BpZXMgeW91IG11c3QgYWxzbyBmb2xsb3cgdGhlIGNvbmRpdGlvbnMgaW4g c2VjdGlvbiAzLg0KLQ0KLVlvdSBtYXkgYWxzbyBsZW5kIGNvcGllcywgdW5kZXIgdGhlIHNhbWUg Y29uZGl0aW9ucyBzdGF0ZWQgYWJvdmUsIGFuZA0KLXlvdSBtYXkgcHVibGljbHkgZGlzcGxheSBj b3BpZXMuDQotDQotDQotMy4gQ09QWUlORyBJTiBRVUFOVElUWQ0KLQ0KLUlmIHlvdSBwdWJsaXNo IHByaW50ZWQgY29waWVzIChvciBjb3BpZXMgaW4gbWVkaWEgdGhhdCBjb21tb25seSBoYXZlDQot cHJpbnRlZCBjb3ZlcnMpIG9mIHRoZSBEb2N1bWVudCwgbnVtYmVyaW5nIG1vcmUgdGhhbiAxMDAs IGFuZCB0aGUNCi1Eb2N1bWVudCdzIGxpY2Vuc2Ugbm90aWNlIHJlcXVpcmVzIENvdmVyIFRleHRz LCB5b3UgbXVzdCBlbmNsb3NlIHRoZQ0KLWNvcGllcyBpbiBjb3ZlcnMgdGhhdCBjYXJyeSwgY2xl YXJseSBhbmQgbGVnaWJseSwgYWxsIHRoZXNlIENvdmVyDQotVGV4dHM6IEZyb250LUNvdmVyIFRl eHRzIG9uIHRoZSBmcm9udCBjb3ZlciwgYW5kIEJhY2stQ292ZXIgVGV4dHMgb24NCi10aGUgYmFj ayBjb3Zlci4gIEJvdGggY292ZXJzIG11c3QgYWxzbyBjbGVhcmx5IGFuZCBsZWdpYmx5IGlkZW50 aWZ5DQoteW91IGFzIHRoZSBwdWJsaXNoZXIgb2YgdGhlc2UgY29waWVzLiAgVGhlIGZyb250IGNv dmVyIG11c3QgcHJlc2VudA0KLXRoZSBmdWxsIHRpdGxlIHdpdGggYWxsIHdvcmRzIG9mIHRoZSB0 aXRsZSBlcXVhbGx5IHByb21pbmVudCBhbmQNCi12aXNpYmxlLiAgWW91IG1heSBhZGQgb3RoZXIg bWF0ZXJpYWwgb24gdGhlIGNvdmVycyBpbiBhZGRpdGlvbi4NCi1Db3B5aW5nIHdpdGggY2hhbmdl cyBsaW1pdGVkIHRvIHRoZSBjb3ZlcnMsIGFzIGxvbmcgYXMgdGhleSBwcmVzZXJ2ZQ0KLXRoZSB0 aXRsZSBvZiB0aGUgRG9jdW1lbnQgYW5kIHNhdGlzZnkgdGhlc2UgY29uZGl0aW9ucywgY2FuIGJl IHRyZWF0ZWQNCi1hcyB2ZXJiYXRpbSBjb3B5aW5nIGluIG90aGVyIHJlc3BlY3RzLg0KLQ0KLUlm IHRoZSByZXF1aXJlZCB0ZXh0cyBmb3IgZWl0aGVyIGNvdmVyIGFyZSB0b28gdm9sdW1pbm91cyB0 byBmaXQNCi1sZWdpYmx5LCB5b3Ugc2hvdWxkIHB1dCB0aGUgZmlyc3Qgb25lcyBsaXN0ZWQgKGFz IG1hbnkgYXMgZml0DQotcmVhc29uYWJseSkgb24gdGhlIGFjdHVhbCBjb3ZlciwgYW5kIGNvbnRp bnVlIHRoZSByZXN0IG9udG8gYWRqYWNlbnQNCi1wYWdlcy4NCi0NCi1JZiB5b3UgcHVibGlzaCBv ciBkaXN0cmlidXRlIE9wYXF1ZSBjb3BpZXMgb2YgdGhlIERvY3VtZW50IG51bWJlcmluZw0KLW1v cmUgdGhhbiAxMDAsIHlvdSBtdXN0IGVpdGhlciBpbmNsdWRlIGEgbWFjaGluZS1yZWFkYWJsZSBU cmFuc3BhcmVudA0KLWNvcHkgYWxvbmcgd2l0aCBlYWNoIE9wYXF1ZSBjb3B5LCBvciBzdGF0ZSBp biBvciB3aXRoIGVhY2ggT3BhcXVlIGNvcHkNCi1hIGNvbXB1dGVyLW5ldHdvcmsgbG9jYXRpb24g ZnJvbSB3aGljaCB0aGUgZ2VuZXJhbCBuZXR3b3JrLXVzaW5nDQotcHVibGljIGhhcyBhY2Nlc3Mg dG8gZG93bmxvYWQgdXNpbmcgcHVibGljLXN0YW5kYXJkIG5ldHdvcmsgcHJvdG9jb2xzDQotYSBj b21wbGV0ZSBUcmFuc3BhcmVudCBjb3B5IG9mIHRoZSBEb2N1bWVudCwgZnJlZSBvZiBhZGRlZCBt YXRlcmlhbC4NCi1JZiB5b3UgdXNlIHRoZSBsYXR0ZXIgb3B0aW9uLCB5b3UgbXVzdCB0YWtlIHJl YXNvbmFibHkgcHJ1ZGVudCBzdGVwcywNCi13aGVuIHlvdSBiZWdpbiBkaXN0cmlidXRpb24gb2Yg T3BhcXVlIGNvcGllcyBpbiBxdWFudGl0eSwgdG8gZW5zdXJlDQotdGhhdCB0aGlzIFRyYW5zcGFy ZW50IGNvcHkgd2lsbCByZW1haW4gdGh1cyBhY2Nlc3NpYmxlIGF0IHRoZSBzdGF0ZWQNCi1sb2Nh dGlvbiB1bnRpbCBhdCBsZWFzdCBvbmUgeWVhciBhZnRlciB0aGUgbGFzdCB0aW1lIHlvdSBkaXN0 cmlidXRlIGFuDQotT3BhcXVlIGNvcHkgKGRpcmVjdGx5IG9yIHRocm91Z2ggeW91ciBhZ2VudHMg b3IgcmV0YWlsZXJzKSBvZiB0aGF0DQotZWRpdGlvbiB0byB0aGUgcHVibGljLg0KLQ0KLUl0IGlz IHJlcXVlc3RlZCwgYnV0IG5vdCByZXF1aXJlZCwgdGhhdCB5b3UgY29udGFjdCB0aGUgYXV0aG9y cyBvZiB0aGUNCi1Eb2N1bWVudCB3ZWxsIGJlZm9yZSByZWRpc3RyaWJ1dGluZyBhbnkgbGFyZ2Ug bnVtYmVyIG9mIGNvcGllcywgdG8NCi1naXZlIHRoZW0gYSBjaGFuY2UgdG8gcHJvdmlkZSB5b3Ug d2l0aCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlDQotRG9jdW1lbnQuDQotDQotDQotNC4gTU9E SUZJQ0FUSU9OUw0KLQ0KLVlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSBhIE1vZGlmaWVkIFZl cnNpb24gb2YgdGhlIERvY3VtZW50IHVuZGVyDQotdGhlIGNvbmRpdGlvbnMgb2Ygc2VjdGlvbnMg MiBhbmQgMyBhYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgcmVsZWFzZQ0KLXRoZSBNb2RpZmllZCBW ZXJzaW9uIHVuZGVyIHByZWNpc2VseSB0aGlzIExpY2Vuc2UsIHdpdGggdGhlIE1vZGlmaWVkDQot VmVyc2lvbiBmaWxsaW5nIHRoZSByb2xlIG9mIHRoZSBEb2N1bWVudCwgdGh1cyBsaWNlbnNpbmcg ZGlzdHJpYnV0aW9uDQotYW5kIG1vZGlmaWNhdGlvbiBvZiB0aGUgTW9kaWZpZWQgVmVyc2lvbiB0 byB3aG9ldmVyIHBvc3Nlc3NlcyBhIGNvcHkNCi1vZiBpdC4gIEluIGFkZGl0aW9uLCB5b3UgbXVz dCBkbyB0aGVzZSB0aGluZ3MgaW4gdGhlIE1vZGlmaWVkIFZlcnNpb246DQotDQotQS4gVXNlIGlu IHRoZSBUaXRsZSBQYWdlIChhbmQgb24gdGhlIGNvdmVycywgaWYgYW55KSBhIHRpdGxlIGRpc3Rp bmN0DQotICAgZnJvbSB0aGF0IG9mIHRoZSBEb2N1bWVudCwgYW5kIGZyb20gdGhvc2Ugb2YgcHJl dmlvdXMgdmVyc2lvbnMNCi0gICAod2hpY2ggc2hvdWxkLCBpZiB0aGVyZSB3ZXJlIGFueSwgYmUg bGlzdGVkIGluIHRoZSBIaXN0b3J5IHNlY3Rpb24NCi0gICBvZiB0aGUgRG9jdW1lbnQpLiAgWW91 IG1heSB1c2UgdGhlIHNhbWUgdGl0bGUgYXMgYSBwcmV2aW91cyB2ZXJzaW9uDQotICAgaWYgdGhl IG9yaWdpbmFsIHB1Ymxpc2hlciBvZiB0aGF0IHZlcnNpb24gZ2l2ZXMgcGVybWlzc2lvbi4NCi1C LiBMaXN0IG9uIHRoZSBUaXRsZSBQYWdlLCBhcyBhdXRob3JzLCBvbmUgb3IgbW9yZSBwZXJzb25z IG9yIGVudGl0aWVzDQotICAgcmVzcG9uc2libGUgZm9yIGF1dGhvcnNoaXAgb2YgdGhlIG1vZGlm aWNhdGlvbnMgaW4gdGhlIE1vZGlmaWVkDQotICAgVmVyc2lvbiwgdG9nZXRoZXIgd2l0aCBhdCBs ZWFzdCBmaXZlIG9mIHRoZSBwcmluY2lwYWwgYXV0aG9ycyBvZiB0aGUNCi0gICBEb2N1bWVudCAo YWxsIG9mIGl0cyBwcmluY2lwYWwgYXV0aG9ycywgaWYgaXQgaGFzIGZld2VyIHRoYW4gZml2ZSks DQotICAgdW5sZXNzIHRoZXkgcmVsZWFzZSB5b3UgZnJvbSB0aGlzIHJlcXVpcmVtZW50Lg0KLUMu IFN0YXRlIG9uIHRoZSBUaXRsZSBwYWdlIHRoZSBuYW1lIG9mIHRoZSBwdWJsaXNoZXIgb2YgdGhl DQotICAgTW9kaWZpZWQgVmVyc2lvbiwgYXMgdGhlIHB1Ymxpc2hlci4NCi1ELiBQcmVzZXJ2ZSBh bGwgdGhlIGNvcHlyaWdodCBub3RpY2VzIG9mIHRoZSBEb2N1bWVudC4NCi1FLiBBZGQgYW4gYXBw cm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBmb3IgeW91ciBtb2RpZmljYXRpb25zDQotICAgYWRq YWNlbnQgdG8gdGhlIG90aGVyIGNvcHlyaWdodCBub3RpY2VzLg0KLUYuIEluY2x1ZGUsIGltbWVk aWF0ZWx5IGFmdGVyIHRoZSBjb3B5cmlnaHQgbm90aWNlcywgYSBsaWNlbnNlIG5vdGljZQ0KLSAg IGdpdmluZyB0aGUgcHVibGljIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBNb2RpZmllZCBWZXJzaW9u IHVuZGVyIHRoZQ0KLSAgIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwgaW4gdGhlIGZvcm0gc2hvd24g aW4gdGhlIEFkZGVuZHVtIGJlbG93Lg0KLUcuIFByZXNlcnZlIGluIHRoYXQgbGljZW5zZSBub3Rp Y2UgdGhlIGZ1bGwgbGlzdHMgb2YgSW52YXJpYW50IFNlY3Rpb25zDQotICAgYW5kIHJlcXVpcmVk IENvdmVyIFRleHRzIGdpdmVuIGluIHRoZSBEb2N1bWVudCdzIGxpY2Vuc2Ugbm90aWNlLg0KLUgu IEluY2x1ZGUgYW4gdW5hbHRlcmVkIGNvcHkgb2YgdGhpcyBMaWNlbnNlLg0KLUkuIFByZXNlcnZl IHRoZSBzZWN0aW9uIEVudGl0bGVkICJIaXN0b3J5IiwgUHJlc2VydmUgaXRzIFRpdGxlLCBhbmQg YWRkDQotICAgdG8gaXQgYW4gaXRlbSBzdGF0aW5nIGF0IGxlYXN0IHRoZSB0aXRsZSwgeWVhciwg bmV3IGF1dGhvcnMsIGFuZA0KLSAgIHB1Ymxpc2hlciBvZiB0aGUgTW9kaWZpZWQgVmVyc2lvbiBh cyBnaXZlbiBvbiB0aGUgVGl0bGUgUGFnZS4gIElmDQotICAgdGhlcmUgaXMgbm8gc2VjdGlvbiBF bnRpdGxlZCAiSGlzdG9yeSIgaW4gdGhlIERvY3VtZW50LCBjcmVhdGUgb25lDQotICAgc3RhdGlu ZyB0aGUgdGl0bGUsIHllYXIsIGF1dGhvcnMsIGFuZCBwdWJsaXNoZXIgb2YgdGhlIERvY3VtZW50 IGFzDQotICAgZ2l2ZW4gb24gaXRzIFRpdGxlIFBhZ2UsIHRoZW4gYWRkIGFuIGl0ZW0gZGVzY3Jp YmluZyB0aGUgTW9kaWZpZWQNCi0gICBWZXJzaW9uIGFzIHN0YXRlZCBpbiB0aGUgcHJldmlvdXMg c2VudGVuY2UuDQotSi4gUHJlc2VydmUgdGhlIG5ldHdvcmsgbG9jYXRpb24sIGlmIGFueSwgZ2l2 ZW4gaW4gdGhlIERvY3VtZW50IGZvcg0KLSAgIHB1YmxpYyBhY2Nlc3MgdG8gYSBUcmFuc3BhcmVu dCBjb3B5IG9mIHRoZSBEb2N1bWVudCwgYW5kIGxpa2V3aXNlDQotICAgdGhlIG5ldHdvcmsgbG9j YXRpb25zIGdpdmVuIGluIHRoZSBEb2N1bWVudCBmb3IgcHJldmlvdXMgdmVyc2lvbnMNCi0gICBp dCB3YXMgYmFzZWQgb24uICBUaGVzZSBtYXkgYmUgcGxhY2VkIGluIHRoZSAiSGlzdG9yeSIgc2Vj dGlvbi4NCi0gICBZb3UgbWF5IG9taXQgYSBuZXR3b3JrIGxvY2F0aW9uIGZvciBhIHdvcmsgdGhh dCB3YXMgcHVibGlzaGVkIGF0DQotICAgbGVhc3QgZm91ciB5ZWFycyBiZWZvcmUgdGhlIERvY3Vt ZW50IGl0c2VsZiwgb3IgaWYgdGhlIG9yaWdpbmFsDQotICAgcHVibGlzaGVyIG9mIHRoZSB2ZXJz aW9uIGl0IHJlZmVycyB0byBnaXZlcyBwZXJtaXNzaW9uLg0KLUsuIEZvciBhbnkgc2VjdGlvbiBF bnRpdGxlZCAiQWNrbm93bGVkZ2VtZW50cyIgb3IgIkRlZGljYXRpb25zIiwNCi0gICBQcmVzZXJ2 ZSB0aGUgVGl0bGUgb2YgdGhlIHNlY3Rpb24sIGFuZCBwcmVzZXJ2ZSBpbiB0aGUgc2VjdGlvbiBh bGwNCi0gICB0aGUgc3Vic3RhbmNlIGFuZCB0b25lIG9mIGVhY2ggb2YgdGhlIGNvbnRyaWJ1dG9y IGFja25vd2xlZGdlbWVudHMNCi0gICBhbmQvb3IgZGVkaWNhdGlvbnMgZ2l2ZW4gdGhlcmVpbi4N Ci1MLiBQcmVzZXJ2ZSBhbGwgdGhlIEludmFyaWFudCBTZWN0aW9ucyBvZiB0aGUgRG9jdW1lbnQs DQotICAgdW5hbHRlcmVkIGluIHRoZWlyIHRleHQgYW5kIGluIHRoZWlyIHRpdGxlcy4gIFNlY3Rp b24gbnVtYmVycw0KLSAgIG9yIHRoZSBlcXVpdmFsZW50IGFyZSBub3QgY29uc2lkZXJlZCBwYXJ0 IG9mIHRoZSBzZWN0aW9uIHRpdGxlcy4NCi1NLiBEZWxldGUgYW55IHNlY3Rpb24gRW50aXRsZWQg IkVuZG9yc2VtZW50cyIuICBTdWNoIGEgc2VjdGlvbg0KLSAgIG1heSBub3QgYmUgaW5jbHVkZWQg aW4gdGhlIE1vZGlmaWVkIFZlcnNpb24uDQotTi4gRG8gbm90IHJldGl0bGUgYW55IGV4aXN0aW5n IHNlY3Rpb24gdG8gYmUgRW50aXRsZWQgIkVuZG9yc2VtZW50cyINCi0gICBvciB0byBjb25mbGlj dCBpbiB0aXRsZSB3aXRoIGFueSBJbnZhcmlhbnQgU2VjdGlvbi4NCi1PLiBQcmVzZXJ2ZSBhbnkg V2FycmFudHkgRGlzY2xhaW1lcnMuDQotDQotSWYgdGhlIE1vZGlmaWVkIFZlcnNpb24gaW5jbHVk ZXMgbmV3IGZyb250LW1hdHRlciBzZWN0aW9ucyBvcg0KLWFwcGVuZGljZXMgdGhhdCBxdWFsaWZ5 IGFzIFNlY29uZGFyeSBTZWN0aW9ucyBhbmQgY29udGFpbiBubyBtYXRlcmlhbA0KLWNvcGllZCBm cm9tIHRoZSBEb2N1bWVudCwgeW91IG1heSBhdCB5b3VyIG9wdGlvbiBkZXNpZ25hdGUgc29tZSBv ciBhbGwNCi1vZiB0aGVzZSBzZWN0aW9ucyBhcyBpbnZhcmlhbnQuICBUbyBkbyB0aGlzLCBhZGQg dGhlaXIgdGl0bGVzIHRvIHRoZQ0KLWxpc3Qgb2YgSW52YXJpYW50IFNlY3Rpb25zIGluIHRoZSBN b2RpZmllZCBWZXJzaW9uJ3MgbGljZW5zZSBub3RpY2UuDQotVGhlc2UgdGl0bGVzIG11c3QgYmUg ZGlzdGluY3QgZnJvbSBhbnkgb3RoZXIgc2VjdGlvbiB0aXRsZXMuDQotDQotWW91IG1heSBhZGQg YSBzZWN0aW9uIEVudGl0bGVkICJFbmRvcnNlbWVudHMiLCBwcm92aWRlZCBpdCBjb250YWlucw0K LW5vdGhpbmcgYnV0IGVuZG9yc2VtZW50cyBvZiB5b3VyIE1vZGlmaWVkIFZlcnNpb24gYnkgdmFy aW91cw0KLXBhcnRpZXMtLWZvciBleGFtcGxlLCBzdGF0ZW1lbnRzIG9mIHBlZXIgcmV2aWV3IG9y IHRoYXQgdGhlIHRleHQgaGFzDQotYmVlbiBhcHByb3ZlZCBieSBhbiBvcmdhbml6YXRpb24gYXMg dGhlIGF1dGhvcml0YXRpdmUgZGVmaW5pdGlvbiBvZiBhDQotc3RhbmRhcmQuDQotDQotWW91IG1h eSBhZGQgYSBwYXNzYWdlIG9mIHVwIHRvIGZpdmUgd29yZHMgYXMgYSBGcm9udC1Db3ZlciBUZXh0 LCBhbmQgYQ0KLXBhc3NhZ2Ugb2YgdXAgdG8gMjUgd29yZHMgYXMgYSBCYWNrLUNvdmVyIFRleHQs IHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QNCi1vZiBDb3ZlciBUZXh0cyBpbiB0aGUgTW9kaWZpZWQg VmVyc2lvbi4gIE9ubHkgb25lIHBhc3NhZ2Ugb2YNCi1Gcm9udC1Db3ZlciBUZXh0IGFuZCBvbmUg b2YgQmFjay1Db3ZlciBUZXh0IG1heSBiZSBhZGRlZCBieSAob3INCi10aHJvdWdoIGFycmFuZ2Vt ZW50cyBtYWRlIGJ5KSBhbnkgb25lIGVudGl0eS4gIElmIHRoZSBEb2N1bWVudCBhbHJlYWR5DQot aW5jbHVkZXMgYSBjb3ZlciB0ZXh0IGZvciB0aGUgc2FtZSBjb3ZlciwgcHJldmlvdXNseSBhZGRl ZCBieSB5b3Ugb3INCi1ieSBhcnJhbmdlbWVudCBtYWRlIGJ5IHRoZSBzYW1lIGVudGl0eSB5b3Ug YXJlIGFjdGluZyBvbiBiZWhhbGYgb2YsDQoteW91IG1heSBub3QgYWRkIGFub3RoZXI7IGJ1dCB5 b3UgbWF5IHJlcGxhY2UgdGhlIG9sZCBvbmUsIG9uIGV4cGxpY2l0DQotcGVybWlzc2lvbiBmcm9t IHRoZSBwcmV2aW91cyBwdWJsaXNoZXIgdGhhdCBhZGRlZCB0aGUgb2xkIG9uZS4NCi0NCi1UaGUg YXV0aG9yKHMpIGFuZCBwdWJsaXNoZXIocykgb2YgdGhlIERvY3VtZW50IGRvIG5vdCBieSB0aGlz IExpY2Vuc2UNCi1naXZlIHBlcm1pc3Npb24gdG8gdXNlIHRoZWlyIG5hbWVzIGZvciBwdWJsaWNp dHkgZm9yIG9yIHRvIGFzc2VydCBvcg0KLWltcGx5IGVuZG9yc2VtZW50IG9mIGFueSBNb2RpZmll ZCBWZXJzaW9uLg0KLQ0KLQ0KLTUuIENPTUJJTklORyBET0NVTUVOVFMNCi0NCi1Zb3UgbWF5IGNv bWJpbmUgdGhlIERvY3VtZW50IHdpdGggb3RoZXIgZG9jdW1lbnRzIHJlbGVhc2VkIHVuZGVyIHRo aXMNCi1MaWNlbnNlLCB1bmRlciB0aGUgdGVybXMgZGVmaW5lZCBpbiBzZWN0aW9uIDQgYWJvdmUg Zm9yIG1vZGlmaWVkDQotdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgeW91IGluY2x1ZGUgaW4gdGhl IGNvbWJpbmF0aW9uIGFsbCBvZiB0aGUNCi1JbnZhcmlhbnQgU2VjdGlvbnMgb2YgYWxsIG9mIHRo ZSBvcmlnaW5hbCBkb2N1bWVudHMsIHVubW9kaWZpZWQsIGFuZA0KLWxpc3QgdGhlbSBhbGwgYXMg SW52YXJpYW50IFNlY3Rpb25zIG9mIHlvdXIgY29tYmluZWQgd29yayBpbiBpdHMNCi1saWNlbnNl IG5vdGljZSwgYW5kIHRoYXQgeW91IHByZXNlcnZlIGFsbCB0aGVpciBXYXJyYW50eSBEaXNjbGFp bWVycy4NCi0NCi1UaGUgY29tYmluZWQgd29yayBuZWVkIG9ubHkgY29udGFpbiBvbmUgY29weSBv ZiB0aGlzIExpY2Vuc2UsIGFuZA0KLW11bHRpcGxlIGlkZW50aWNhbCBJbnZhcmlhbnQgU2VjdGlv bnMgbWF5IGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUNCi1jb3B5LiAgSWYgdGhlcmUgYXJlIG11 bHRpcGxlIEludmFyaWFudCBTZWN0aW9ucyB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0DQotZGlmZmVy ZW50IGNvbnRlbnRzLCBtYWtlIHRoZSB0aXRsZSBvZiBlYWNoIHN1Y2ggc2VjdGlvbiB1bmlxdWUg YnkNCi1hZGRpbmcgYXQgdGhlIGVuZCBvZiBpdCwgaW4gcGFyZW50aGVzZXMsIHRoZSBuYW1lIG9m IHRoZSBvcmlnaW5hbA0KLWF1dGhvciBvciBwdWJsaXNoZXIgb2YgdGhhdCBzZWN0aW9uIGlmIGtu b3duLCBvciBlbHNlIGEgdW5pcXVlIG51bWJlci4NCi1NYWtlIHRoZSBzYW1lIGFkanVzdG1lbnQg dG8gdGhlIHNlY3Rpb24gdGl0bGVzIGluIHRoZSBsaXN0IG9mDQotSW52YXJpYW50IFNlY3Rpb25z IGluIHRoZSBsaWNlbnNlIG5vdGljZSBvZiB0aGUgY29tYmluZWQgd29yay4NCi0NCi1JbiB0aGUg Y29tYmluYXRpb24sIHlvdSBtdXN0IGNvbWJpbmUgYW55IHNlY3Rpb25zIEVudGl0bGVkICJIaXN0 b3J5Ig0KLWluIHRoZSB2YXJpb3VzIG9yaWdpbmFsIGRvY3VtZW50cywgZm9ybWluZyBvbmUgc2Vj dGlvbiBFbnRpdGxlZA0KLSJIaXN0b3J5IjsgbGlrZXdpc2UgY29tYmluZSBhbnkgc2VjdGlvbnMg RW50aXRsZWQgIkFja25vd2xlZGdlbWVudHMiLA0KLWFuZCBhbnkgc2VjdGlvbnMgRW50aXRsZWQg IkRlZGljYXRpb25zIi4gIFlvdSBtdXN0IGRlbGV0ZSBhbGwgc2VjdGlvbnMNCi1FbnRpdGxlZCAi RW5kb3JzZW1lbnRzIi4NCi0NCi0NCi02LiBDT0xMRUNUSU9OUyBPRiBET0NVTUVOVFMNCi0NCi1Z b3UgbWF5IG1ha2UgYSBjb2xsZWN0aW9uIGNvbnNpc3Rpbmcgb2YgdGhlIERvY3VtZW50IGFuZCBv dGhlcg0KLWRvY3VtZW50cyByZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZCByZXBsYWNl IHRoZSBpbmRpdmlkdWFsDQotY29waWVzIG9mIHRoaXMgTGljZW5zZSBpbiB0aGUgdmFyaW91cyBk b2N1bWVudHMgd2l0aCBhIHNpbmdsZSBjb3B5DQotdGhhdCBpcyBpbmNsdWRlZCBpbiB0aGUgY29s bGVjdGlvbiwgcHJvdmlkZWQgdGhhdCB5b3UgZm9sbG93IHRoZSBydWxlcw0KLW9mIHRoaXMgTGlj ZW5zZSBmb3IgdmVyYmF0aW0gY29weWluZyBvZiBlYWNoIG9mIHRoZSBkb2N1bWVudHMgaW4gYWxs DQotb3RoZXIgcmVzcGVjdHMuDQotDQotWW91IG1heSBleHRyYWN0IGEgc2luZ2xlIGRvY3VtZW50 IGZyb20gc3VjaCBhIGNvbGxlY3Rpb24sIGFuZA0KLWRpc3RyaWJ1dGUgaXQgaW5kaXZpZHVhbGx5 IHVuZGVyIHRoaXMgTGljZW5zZSwgcHJvdmlkZWQgeW91IGluc2VydCBhDQotY29weSBvZiB0aGlz IExpY2Vuc2UgaW50byB0aGUgZXh0cmFjdGVkIGRvY3VtZW50LCBhbmQgZm9sbG93IHRoaXMNCi1M aWNlbnNlIGluIGFsbCBvdGhlciByZXNwZWN0cyByZWdhcmRpbmcgdmVyYmF0aW0gY29weWluZyBv ZiB0aGF0DQotZG9jdW1lbnQuDQotDQotDQotNy4gQUdHUkVHQVRJT04gV0lUSCBJTkRFUEVOREVO VCBXT1JLUw0KLQ0KLUEgY29tcGlsYXRpb24gb2YgdGhlIERvY3VtZW50IG9yIGl0cyBkZXJpdmF0 aXZlcyB3aXRoIG90aGVyIHNlcGFyYXRlDQotYW5kIGluZGVwZW5kZW50IGRvY3VtZW50cyBvciB3 b3JrcywgaW4gb3Igb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yDQotZGlzdHJpYnV0aW9uIG1l ZGl1bSwgaXMgY2FsbGVkIGFuICJhZ2dyZWdhdGUiIGlmIHRoZSBjb3B5cmlnaHQNCi1yZXN1bHRp bmcgZnJvbSB0aGUgY29tcGlsYXRpb24gaXMgbm90IHVzZWQgdG8gbGltaXQgdGhlIGxlZ2FsIHJp Z2h0cw0KLW9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzIGJleW9uZCB3aGF0IHRoZSBpbmRpdmlk dWFsIHdvcmtzIHBlcm1pdC4NCi1XaGVuIHRoZSBEb2N1bWVudCBpcyBpbmNsdWRlZCBpbiBhbiBh Z2dyZWdhdGUsIHRoaXMgTGljZW5zZSBkb2VzIG5vdA0KLWFwcGx5IHRvIHRoZSBvdGhlciB3b3Jr cyBpbiB0aGUgYWdncmVnYXRlIHdoaWNoIGFyZSBub3QgdGhlbXNlbHZlcw0KLWRlcml2YXRpdmUg d29ya3Mgb2YgdGhlIERvY3VtZW50Lg0KLQ0KLUlmIHRoZSBDb3ZlciBUZXh0IHJlcXVpcmVtZW50 IG9mIHNlY3Rpb24gMyBpcyBhcHBsaWNhYmxlIHRvIHRoZXNlDQotY29waWVzIG9mIHRoZSBEb2N1 bWVudCwgdGhlbiBpZiB0aGUgRG9jdW1lbnQgaXMgbGVzcyB0aGFuIG9uZSBoYWxmIG9mDQotdGhl IGVudGlyZSBhZ2dyZWdhdGUsIHRoZSBEb2N1bWVudCdzIENvdmVyIFRleHRzIG1heSBiZSBwbGFj ZWQgb24NCi1jb3ZlcnMgdGhhdCBicmFja2V0IHRoZSBEb2N1bWVudCB3aXRoaW4gdGhlIGFnZ3Jl Z2F0ZSwgb3IgdGhlDQotZWxlY3Ryb25pYyBlcXVpdmFsZW50IG9mIGNvdmVycyBpZiB0aGUgRG9j dW1lbnQgaXMgaW4gZWxlY3Ryb25pYyBmb3JtLg0KLU90aGVyd2lzZSB0aGV5IG11c3QgYXBwZWFy IG9uIHByaW50ZWQgY292ZXJzIHRoYXQgYnJhY2tldCB0aGUgd2hvbGUNCi1hZ2dyZWdhdGUuDQot DQotDQotOC4gVFJBTlNMQVRJT04NCi0NCi1UcmFuc2xhdGlvbiBpcyBjb25zaWRlcmVkIGEga2lu ZCBvZiBtb2RpZmljYXRpb24sIHNvIHlvdSBtYXkNCi1kaXN0cmlidXRlIHRyYW5zbGF0aW9ucyBv ZiB0aGUgRG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHNlY3Rpb24gNC4NCi1SZXBsYWNpbmcg SW52YXJpYW50IFNlY3Rpb25zIHdpdGggdHJhbnNsYXRpb25zIHJlcXVpcmVzIHNwZWNpYWwNCi1w ZXJtaXNzaW9uIGZyb20gdGhlaXIgY29weXJpZ2h0IGhvbGRlcnMsIGJ1dCB5b3UgbWF5IGluY2x1 ZGUNCi10cmFuc2xhdGlvbnMgb2Ygc29tZSBvciBhbGwgSW52YXJpYW50IFNlY3Rpb25zIGluIGFk ZGl0aW9uIHRvIHRoZQ0KLW9yaWdpbmFsIHZlcnNpb25zIG9mIHRoZXNlIEludmFyaWFudCBTZWN0 aW9ucy4gIFlvdSBtYXkgaW5jbHVkZSBhDQotdHJhbnNsYXRpb24gb2YgdGhpcyBMaWNlbnNlLCBh bmQgYWxsIHRoZSBsaWNlbnNlIG5vdGljZXMgaW4gdGhlDQotRG9jdW1lbnQsIGFuZCBhbnkgV2Fy cmFudHkgRGlzY2xhaW1lcnMsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gaW5jbHVkZQ0KLXRoZSBv cmlnaW5hbCBFbmdsaXNoIHZlcnNpb24gb2YgdGhpcyBMaWNlbnNlIGFuZCB0aGUgb3JpZ2luYWwg dmVyc2lvbnMNCi1vZiB0aG9zZSBub3RpY2VzIGFuZCBkaXNjbGFpbWVycy4gIEluIGNhc2Ugb2Yg YSBkaXNhZ3JlZW1lbnQgYmV0d2Vlbg0KLXRoZSB0cmFuc2xhdGlvbiBhbmQgdGhlIG9yaWdpbmFs IHZlcnNpb24gb2YgdGhpcyBMaWNlbnNlIG9yIGEgbm90aWNlDQotb3IgZGlzY2xhaW1lciwgdGhl IG9yaWdpbmFsIHZlcnNpb24gd2lsbCBwcmV2YWlsLg0KLQ0KLUlmIGEgc2VjdGlvbiBpbiB0aGUg RG9jdW1lbnQgaXMgRW50aXRsZWQgIkFja25vd2xlZGdlbWVudHMiLA0KLSJEZWRpY2F0aW9ucyIs IG9yICJIaXN0b3J5IiwgdGhlIHJlcXVpcmVtZW50IChzZWN0aW9uIDQpIHRvIFByZXNlcnZlDQot aXRzIFRpdGxlIChzZWN0aW9uIDEpIHdpbGwgdHlwaWNhbGx5IHJlcXVpcmUgY2hhbmdpbmcgdGhl IGFjdHVhbA0KLXRpdGxlLg0KLQ0KLQ0KLTkuIFRFUk1JTkFUSU9ODQotDQotWW91IG1heSBub3Qg Y29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudA0KLWV4 Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVt cHQNCi1vdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRl IGl0IGlzIHZvaWQsIGFuZA0KLXdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdo dHMgdW5kZXIgdGhpcyBMaWNlbnNlLg0KLQ0KLUhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlv bGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyIGxpY2Vuc2UNCi1mcm9tIGEgcGFydGlj dWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzIHJlaW5zdGF0ZWQgKGEpIHByb3Zpc2lvbmFsbHksDQot dW5sZXNzIGFuZCB1bnRpbCB0aGUgY29weXJpZ2h0IGhvbGRlciBleHBsaWNpdGx5IGFuZCBmaW5h bGx5DQotdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRo ZSBjb3B5cmlnaHQgaG9sZGVyDQotZmFpbHMgdG8gbm90aWZ5IHlvdSBvZiB0aGUgdmlvbGF0aW9u IGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucyBwcmlvciB0bw0KLTYwIGRheXMgYWZ0ZXIgdGhlIGNl c3NhdGlvbi4NCi0NCi1Nb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNv cHlyaWdodCBob2xkZXIgaXMNCi1yZWluc3RhdGVkIHBlcm1hbmVudGx5IGlmIHRoZSBjb3B5cmln aHQgaG9sZGVyIG5vdGlmaWVzIHlvdSBvZiB0aGUNCi12aW9sYXRpb24gYnkgc29tZSByZWFzb25h YmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSBoYXZlDQotcmVjZWl2ZWQgbm90 aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0 DQotY29weXJpZ2h0IGhvbGRlciwgYW5kIHlvdSBjdXJlIHRoZSB2aW9sYXRpb24gcHJpb3IgdG8g MzAgZGF5cyBhZnRlcg0KLXlvdXIgcmVjZWlwdCBvZiB0aGUgbm90aWNlLg0KLQ0KLVRlcm1pbmF0 aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUg dGhlDQotbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMgb3Igcmln aHRzIGZyb20geW91IHVuZGVyDQotdGhpcyBMaWNlbnNlLiAgSWYgeW91ciByaWdodHMgaGF2ZSBi ZWVuIHRlcm1pbmF0ZWQgYW5kIG5vdCBwZXJtYW5lbnRseQ0KLXJlaW5zdGF0ZWQsIHJlY2VpcHQg b2YgYSBjb3B5IG9mIHNvbWUgb3IgYWxsIG9mIHRoZSBzYW1lIG1hdGVyaWFsIGRvZXMNCi1ub3Qg Z2l2ZSB5b3UgYW55IHJpZ2h0cyB0byB1c2UgaXQuDQotDQotDQotMTAuIEZVVFVSRSBSRVZJU0lP TlMgT0YgVEhJUyBMSUNFTlNFDQotDQotVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkg cHVibGlzaCBuZXcsIHJldmlzZWQgdmVyc2lvbnMgb2YgdGhlDQotR05VIEZyZWUgRG9jdW1lbnRh dGlvbiBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMNCi13aWxs IGJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlm ZmVyIGluDQotZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLiAgU2Vl DQotaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uDQotDQotRWFjaCB2ZXJzaW9uIG9mIHRo ZSBMaWNlbnNlIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuDQotSWYg dGhlIERvY3VtZW50IHNwZWNpZmllcyB0aGF0IGEgcGFydGljdWxhciBudW1iZXJlZCB2ZXJzaW9u IG9mIHRoaXMNCi1MaWNlbnNlICJvciBhbnkgbGF0ZXIgdmVyc2lvbiIgYXBwbGllcyB0byBpdCwg eW91IGhhdmUgdGhlIG9wdGlvbiBvZg0KLWZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlv bnMgZWl0aGVyIG9mIHRoYXQgc3BlY2lmaWVkIHZlcnNpb24gb3INCi1vZiBhbnkgbGF0ZXIgdmVy c2lvbiB0aGF0IGhhcyBiZWVuIHB1Ymxpc2hlZCAobm90IGFzIGEgZHJhZnQpIGJ5IHRoZQ0KLUZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5vdCBzcGVjaWZ5 IGEgdmVyc2lvbg0KLW51bWJlciBvZiB0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2 ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIChub3QNCi1hcyBhIGRyYWZ0KSBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIERvY3VtZW50DQotc3BlY2lmaWVzIHRoYXQgYSBwcm94 eSBjYW4gZGVjaWRlIHdoaWNoIGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGlzDQotTGljZW5zZSBjYW4g YmUgdXNlZCwgdGhhdCBwcm94eSdzIHB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNjZXB0YW5jZSBvZiBh DQotdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdSB0byBjaG9vc2UgdGhhdCB2ZXJz aW9uIGZvciB0aGUNCi1Eb2N1bWVudC4NCi0NCi0xMS4gUkVMSUNFTlNJTkcNCi0NCi0iTWFzc2l2 ZSBNdWx0aWF1dGhvciBDb2xsYWJvcmF0aW9uIFNpdGUiIChvciAiTU1DIFNpdGUiKSBtZWFucyBh bnkNCi1Xb3JsZCBXaWRlIFdlYiBzZXJ2ZXIgdGhhdCBwdWJsaXNoZXMgY29weXJpZ2h0YWJsZSB3 b3JrcyBhbmQgYWxzbw0KLXByb3ZpZGVzIHByb21pbmVudCBmYWNpbGl0aWVzIGZvciBhbnlib2R5 IHRvIGVkaXQgdGhvc2Ugd29ya3MuICBBDQotcHVibGljIHdpa2kgdGhhdCBhbnlib2R5IGNhbiBl ZGl0IGlzIGFuIGV4YW1wbGUgb2Ygc3VjaCBhIHNlcnZlci4gIEENCi0iTWFzc2l2ZSBNdWx0aWF1 dGhvciBDb2xsYWJvcmF0aW9uIiAob3IgIk1NQyIpIGNvbnRhaW5lZCBpbiB0aGUgc2l0ZQ0KLW1l YW5zIGFueSBzZXQgb2YgY29weXJpZ2h0YWJsZSB3b3JrcyB0aHVzIHB1Ymxpc2hlZCBvbiB0aGUg TU1DIHNpdGUuDQotDQotIkNDLUJZLVNBIiBtZWFucyB0aGUgQ3JlYXRpdmUgQ29tbW9ucyBBdHRy aWJ1dGlvbi1TaGFyZSBBbGlrZSAzLjANCi1saWNlbnNlIHB1Ymxpc2hlZCBieSBDcmVhdGl2ZSBD b21tb25zIENvcnBvcmF0aW9uLCBhIG5vdC1mb3ItcHJvZml0DQotY29ycG9yYXRpb24gd2l0aCBh IHByaW5jaXBhbCBwbGFjZSBvZiBidXNpbmVzcyBpbiBTYW4gRnJhbmNpc2NvLA0KLUNhbGlmb3Ju aWEsIGFzIHdlbGwgYXMgZnV0dXJlIGNvcHlsZWZ0IHZlcnNpb25zIG9mIHRoYXQgbGljZW5zZQ0K LXB1Ymxpc2hlZCBieSB0aGF0IHNhbWUgb3JnYW5pemF0aW9uLg0KLQ0KLSJJbmNvcnBvcmF0ZSIg bWVhbnMgdG8gcHVibGlzaCBvciByZXB1Ymxpc2ggYSBEb2N1bWVudCwgaW4gd2hvbGUgb3IgaW4N Ci1wYXJ0LCBhcyBwYXJ0IG9mIGFub3RoZXIgRG9jdW1lbnQuDQotDQotQW4gTU1DIGlzICJlbGln aWJsZSBmb3IgcmVsaWNlbnNpbmciIGlmIGl0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoaXMNCi1MaWNl bnNlLCBhbmQgaWYgYWxsIHdvcmtzIHRoYXQgd2VyZSBmaXJzdCBwdWJsaXNoZWQgdW5kZXIgdGhp cyBMaWNlbnNlDQotc29tZXdoZXJlIG90aGVyIHRoYW4gdGhpcyBNTUMsIGFuZCBzdWJzZXF1ZW50 bHkgaW5jb3Jwb3JhdGVkIGluIHdob2xlIG9yDQotaW4gcGFydCBpbnRvIHRoZSBNTUMsICgxKSBo YWQgbm8gY292ZXIgdGV4dHMgb3IgaW52YXJpYW50IHNlY3Rpb25zLCBhbmQNCi0oMikgd2VyZSB0 aHVzIGluY29ycG9yYXRlZCBwcmlvciB0byBOb3ZlbWJlciAxLCAyMDA4Lg0KLQ0KLVRoZSBvcGVy YXRvciBvZiBhbiBNTUMgU2l0ZSBtYXkgcmVwdWJsaXNoIGFuIE1NQyBjb250YWluZWQgaW4gdGhl IHNpdGUNCi11bmRlciBDQy1CWS1TQSBvbiB0aGUgc2FtZSBzaXRlIGF0IGFueSB0aW1lIGJlZm9y ZSBBdWd1c3QgMSwgMjAwOSwNCi1wcm92aWRlZCB0aGUgTU1DIGlzIGVsaWdpYmxlIGZvciByZWxp Y2Vuc2luZy4NCi0NCi0NCi1BRERFTkRVTTogSG93IHRvIHVzZSB0aGlzIExpY2Vuc2UgZm9yIHlv dXIgZG9jdW1lbnRzDQotDQotVG8gdXNlIHRoaXMgTGljZW5zZSBpbiBhIGRvY3VtZW50IHlvdSBo YXZlIHdyaXR0ZW4sIGluY2x1ZGUgYSBjb3B5IG9mDQotdGhlIExpY2Vuc2UgaW4gdGhlIGRvY3Vt ZW50IGFuZCBwdXQgdGhlIGZvbGxvd2luZyBjb3B5cmlnaHQgYW5kDQotbGljZW5zZSBub3RpY2Vz IGp1c3QgYWZ0ZXIgdGhlIHRpdGxlIHBhZ2U6DQotDQotICAgIENvcHlyaWdodCAoYykgIFlFQVIg IFlPVVIgTkFNRS4NCi0gICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1 dGUgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50DQotICAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMw0KLSAgICBvciBh bnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsNCi0gICAgd2l0aCBubyBJbnZhcmlhbnQgU2VjdGlvbnMsIG5vIEZyb250LUNvdmVyIFRleHRz LCBhbmQgbm8gQmFjay1Db3ZlciBUZXh0cy4NCi0gICAgQSBjb3B5IG9mIHRoZSBsaWNlbnNlIGlz IGluY2x1ZGVkIGluIHRoZSBzZWN0aW9uIGVudGl0bGVkICJHTlUNCi0gICAgRnJlZSBEb2N1bWVu dGF0aW9uIExpY2Vuc2UiLg0KLQ0KLUlmIHlvdSBoYXZlIEludmFyaWFudCBTZWN0aW9ucywgRnJv bnQtQ292ZXIgVGV4dHMgYW5kIEJhY2stQ292ZXIgVGV4dHMsDQotcmVwbGFjZSB0aGUgIndpdGgu Li5UZXh0cy4iIGxpbmUgd2l0aCB0aGlzOg0KLQ0KLSAgICB3aXRoIHRoZSBJbnZhcmlhbnQgU2Vj dGlvbnMgYmVpbmcgTElTVCBUSEVJUiBUSVRMRVMsIHdpdGggdGhlDQotICAgIEZyb250LUNvdmVy IFRleHRzIGJlaW5nIExJU1QsIGFuZCB3aXRoIHRoZSBCYWNrLUNvdmVyIFRleHRzIGJlaW5nIExJ U1QuDQotDQotSWYgeW91IGhhdmUgSW52YXJpYW50IFNlY3Rpb25zIHdpdGhvdXQgQ292ZXIgVGV4 dHMsIG9yIHNvbWUgb3RoZXINCi1jb21iaW5hdGlvbiBvZiB0aGUgdGhyZWUsIG1lcmdlIHRob3Nl IHR3byBhbHRlcm5hdGl2ZXMgdG8gc3VpdCB0aGUNCi1zaXR1YXRpb24uDQotDQotSWYgeW91ciBk b2N1bWVudCBjb250YWlucyBub250cml2aWFsIGV4YW1wbGVzIG9mIHByb2dyYW0gY29kZSwgd2UN Ci1yZWNvbW1lbmQgcmVsZWFzaW5nIHRoZXNlIGV4YW1wbGVzIGluIHBhcmFsbGVsIHVuZGVyIHlv dXIgY2hvaWNlIG9mDQotZnJlZSBzb2Z0d2FyZSBsaWNlbnNlLCBzdWNoIGFzIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSwNCi10byBwZXJtaXQgdGhlaXIgdXNlIGluIGZyZWUgc29mdHdh cmUuDQotQGVuZCBleGFtcGxlDQorQGluY2x1ZGUgZG9jbGljZW5zZS50ZXhpDQogDQogQGJ5ZQ0K ZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MNCmluZGV4IDgzZmU3YTM0OWUuLmNkODU1 YWIxNGUgMTAwNjQ0DQotLS0gYS9ldGMvTkVXUw0KKysrIGIvZXRjL05FV1MNCkBAIC0xNzAzLDEw ICsxNzAzLDkgQEAgSXQncyBhIGxpYnJhcnkgdG8gY3JlYXRlLCBxdWVyeSwgbmF2aWdhdGUgYW5k IGRpc3BsYXkgaGllcmFyY2h5IHN0cnVjdHVyZXMuDQogDQogKiogTmV3IHRoZW1lcyAnbW9kdXMt dml2ZW5kaScgYW5kICdtb2R1cy1vcGVyYW5kaScuDQogVGhlc2UgdGhlbWVzIGFyZSBkZXNpZ25l ZCB0byBjb25mb3JtIHdpdGggdGhlIGhpZ2hlc3Qgc3RhbmRhcmQgZm9yDQotY29sb3ItY29udHJh c3QgYWNjZXNzaWJpbGl0eSAoV0NBRyBBQUEpLiAgWW91IGNhbiBsb2FkIGVpdGhlciBvZiB0aGVt DQotdXNpbmcgJ00teCBjdXN0b21pemUtdGhlbWVzJyBvciAnbG9hZC10aGVtZScgZnJvbSB5b3Vy IGluaXQgZmlsZS4NCi1Db25zdWx0IHRoZSBNb2R1cyBUaGVtZXMgSW5mbyBtYW51YWwgZm9yIG1v cmUgaW5mb3JtYXRpb24gb24gdGhlIHVzZXINCi1vcHRpb25zIHRoZXkgcHJvdmlkZS4NCitjb2xv ci1jb250cmFzdCBhY2Nlc3NpYmlsaXR5IChXQ0FHIEFBQSkuICBDb25zdWx0IHRoZSBNb2R1cyBU aGVtZXMNCitJbmZvIG1hbnVhbCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8gZW5hYmxl IGFuZCBsb2FkIHRoZW0sIGFzDQord2VsbCBhcyBob3cgdG8gY29uZmlndXJlIHRoZSB1c2VyIG9w dGlvbnMgdGhleSBwcm92aWRlLg0KIA0KIAwNCiAqIEluY29tcGF0aWJsZSBFZGl0aW5nIENoYW5n ZXMgaW4gRW1hY3MgMjguMQ0KZGlmZiAtLWdpdCBhL2V0Yy90aGVtZXMvbW9kdXMtb3BlcmFuZGkt dGhlbWUuZWwgYi9ldGMvdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsDQppbmRleCBkYjYx Yzk3Yjc2Li43MTA1MTFiY2UwIDEwMDY0NA0KLS0tIGEvZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5k aS10aGVtZS5lbA0KKysrIGIvZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5kaS10aGVtZS5lbA0KQEAg LTQsNDY2MCArNCw2NCBAQA0KIA0KIDs7IEF1dGhvcjogUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5m b0Bwcm90ZXNpbGFvcy5jb20+DQogOzsgVVJMOiBodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxh b3MvbW9kdXMtdGhlbWVzDQotOzsgVmVyc2lvbjogMC4xMy4wDQorOzsgVmVyc2lvbjogMS4wLjIN CiA7OyBQYWNrYWdlLVJlcXVpcmVzOiAoKGVtYWNzICIyNi4xIikpDQogOzsgS2V5d29yZHM6IGZh Y2VzLCB0aGVtZSwgYWNjZXNzaWJpbGl0eQ0KIA0KIDs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO VSBFbWFjcy4NCiANCi07OyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yDQorOzsgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiA7OyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0K LTs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl IExpY2Vuc2UsIG9yDQotOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCis7 OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBM aWNlbnNlLCBvciAoYXQNCis7OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQogOzsN Ci07OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwNCi07OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KLTs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCi07OyBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKzs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQNCis7OyBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQorOzsgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZSBHTlUNCis7OyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQogOzsN CiA7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQ0KIDs7IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUg PGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCiANCiA7OzsgQ29tbWVudGFyeToNCiA7 Ow0KLTs7IFRoaXMgdGhlbWUgaXMgZGVzaWduZWQgZm9yIGNvbG91ci1jb250cmFzdCBhY2Nlc3Np YmlsaXR5Lg0KKzs7IE1vZHVzIE9wZXJhbmRpIGlzIHRoZSBsaWdodCB2YXJpYW50IG9mIHRoZSBN b2R1cyB0aGVtZXMgKE1vZHVzDQorOzsgVml2ZW5kaSBpcyB0aGUgZGFyayBvbmUpLiAgVGhlIHRo ZW1lcyBhcmUgZGVzaWduZWQgZm9yIGNvbG9yLWNvbnRyYXN0DQorOzsgYWNjZXNzaWJpbGl0eS4g IE1vcmUgc3BlY2lmaWNhbGx5Og0KIDs7DQotOzsgMS4gUHJvdmlkZSBhIGNvbnNpc3RlbnQgbWlu aW11bSBjb250cmFzdCByYXRpbyBiZXR3ZWVuIGJhY2tncm91bmQgYW5kDQotOzsgZm9yZWdyb3Vu ZCB2YWx1ZXMgb2YgNzoxIG9yIGhpZ2hlci4gIFRoaXMgbWVldHMgdGhlIGhpZ2hlc3Qgc3VjaA0K LTs7IGFjY2Vzc2liaWxpdHkgY3JpdGVyaW9uIHBlciB0aGUgZ3VpZGVsaW5lcyBvZiB0aGUgV29y bGR3aWRlIFdlYg0KLTs7IENvbnNvcnRpdW0ncyBXb3JraW5nIEdyb3VwIG9uIEFjY2Vzc2liaWxp dHkgKFdDQUcgQUFBIHN0YW5kYXJkKS4NCis7OyAgICAgMS4gUHJvdmlkZSBhIGNvbnNpc3RlbnQg bWluaW11bSBjb250cmFzdCByYXRpbyBiZXR3ZWVuIGJhY2tncm91bmQNCis7OyAgICAgYW5kIGZv cmVncm91bmQgdmFsdWVzIG9mIDc6MSBvciBoaWdoZXIuICBUaGlzIG1lZXRzIHRoZSBoaWdoZXN0 DQorOzsgICAgIHN1Y2ggYWNjZXNzaWJpbGl0eSBjcml0ZXJpb24gcGVyIHRoZSBndWlkZWxpbmVz IG9mIHRoZSBXb3JsZHdpZGUNCis7OyAgICAgV2ViIENvbnNvcnRpdW0ncyBXb3JraW5nIEdyb3Vw IG9uIEFjY2Vzc2liaWxpdHkgKFdDQUcgQUFBDQorOzsgICAgIHN0YW5kYXJkKS4NCiA7Ow0KLTs7 IDIuIE9mZmVyIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcyBwb3NzaWJsZS4gIFRo ZSBsaXN0IGlzDQotOzsgYWxyZWFkeSBxdWl0ZSBsb25nIChzZWUgZnVydGhlciBiZWxvdyksIHdp dGggbW9yZSBhZGRpdGlvbnMgdG8gZm9sbG93DQotOzsgYXMgcGFydCBvZiB0aGUgb25nb2luZyBk ZXZlbG9wbWVudCBwcm9jZXNzLg0KKzs7ICAgICAyLiBPZmZlciBhcyBjbG9zZSB0byBmdWxsIGZh Y2UgY292ZXJhZ2UgYXMgcG9zc2libGUuICBUaGUgbGlzdCBpcw0KKzs7ICAgICBhbHJlYWR5IHF1 aXRlIGxvbmcsIHdpdGggbW9yZSBhZGRpdGlvbnMgdG8gZm9sbG93IGFzIHBhcnQgb2YgdGhlDQor OzsgICAgIG9uZ29pbmcgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4NCiA7Ow0KLTs7IFRoZSB0aGVtZSBw cm92aWRlcyB0aGUgZm9sbG93aW5nIGN1c3RvbWlzYXRpb24gb3B0aW9ucywgYWxsIG9mIHdoaWNo DQotOzsgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQ6DQorOzsgRm9yIGEgY29tcGxldGUgdmlldyBv ZiB0aGUgcHJvamVjdCwgYWxzbyByZWZlciB0byB0aGUgZm9sbG93aW5nIGZpbGVzDQorOzsgKHNo b3VsZCBiZSBkaXN0cmlidXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5L2RpcmVjdG9yeSBhcyB0 aGUNCis7OyBjdXJyZW50IGl0ZW0pOg0KIDs7DQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXNsYW50ZWQtY29uc3RydWN0cyAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMt b3BlcmFuZGktdGhlbWUtYm9sZC1jb25zdHJ1Y3RzICAgICAgICAgICAgICAgIChib29sZWFuKQ0K LTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAgICAg ICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRz ICAgICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUt aGVhZGluZ3MgICAgICAgICAgICAgICAgICAgICAgIChhbGlzdCkNCi07OyAgICAgbW9kdXMtb3Bl cmFuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7 ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2VzICAgICAgICAgICAgICAgICAgICAgICAg KGNob2ljZSkNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrcyAgICAgICAg ICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21w dHMgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5k aS10aGVtZS1tb2RlLWxpbmUgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCi07OyAgICAg bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZnMgICAgICAgICAgICAgICAgICAgICAgICAgIChjaG9p Y2UpDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZhaW50LXN5bnRheCAgICAgICAgICAg ICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1o bC1saW5lICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10 aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lICAgICAgICAgICAgICAoYm9vbGVh bikNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtY29tcGxldGlvbnMgICAgICAgICAgICAg ICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW92ZXJyaWRlLWNv bG9ycy1hbGlzdCAgICAgICAgICAoYWxpc3QpDQotOzsNCi07OyBUaGUgZGVmYXVsdCBzY2FsZSBp cyBhcyBmb2xsb3dzIChpdCBjYW4gYmUgY3VzdG9taXNlZCBhcyB3ZWxsKToNCi07Ow0KLTs7ICAg ICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi07OyAgICAgbW9kdXMtb3BlcmFu ZGktdGhlbWUtc2NhbGUtMiAxLjENCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUt MyAxLjE1DQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQgMS4yDQotOzsgICAg IG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTUgMS4zDQotOzsNCi07OyBXaGF0IGZvbGxvd3Mg aXMgdGhlIGxpc3Qgb2YgZXhwbGljaXRseSBzdXBwb3J0ZWQgcGFja2FnZXMgb3IgZmFjZQ0KLTs7 IGdyb3VwcyAodGhlcmUgYXJlIGltcGxpY2l0bHkgc3VwcG9ydGVkIHBhY2thZ2VzIGFzIHdlbGws IHdoaWNoDQotOzsgaW5oZXJpdCBmcm9tIGZvbnQtbG9jayBvciBzb21lIGJhc2ljIGdyb3VwKS4g IFlvdSBhcmUgZW5jb3VyYWdlZCB0bw0KLTs7IG5vdGlmeSBtZSBvZiBhbnkgbWlzc2luZyBwYWNr YWdlIG9yIGNoYW5nZSB5b3Ugd291bGQgbGlrZSB0byBzZWUuDQotOzsNCi07OyAgICAgYWNlLXdp bmRvdw0KLTs7ICAgICBhZw0KLTs7ICAgICBhbGVydA0KLTs7ICAgICBhbGwtdGhlLWljb25zDQot OzsgICAgIGFubm90YXRlDQotOzsgICAgIGFuenUNCi07OyAgICAgYXByb3Bvcw0KLTs7ICAgICBh cHQtc291cmNlcy1saXN0DQotOzsgICAgIGFydGJvbGxvY2tzLW1vZGUNCi07OyAgICAgYXVjdGV4 IGFuZCBUZVgNCi07OyAgICAgYXV0by1kaW0tb3RoZXItYnVmZmVycw0KLTs7ICAgICBhdnkNCi07 OyAgICAgYXdlc29tZS10cmF5DQotOzsgICAgIGJpbmRlcg0KLTs7ICAgICBibQ0KLTs7ICAgICBi b25nbw0KLTs7ICAgICBib29uDQotOzsgICAgIGJyZWFrcG9pbnQgKHByb3ZpZGVkIGJ5IGJ1aWx0 LWluIGdkYi1taS5lbCkNCi07OyAgICAgYnVmZmVyLWV4cG9zZQ0KLTs7ICAgICBjYWxlbmRhciBh bmQgZGlhcnkNCi07OyAgICAgY2FsZncNCi07OyAgICAgY2VudGF1ci10YWJzDQotOzsgICAgIGNo YW5nZS1sb2cgYW5kIGxvZy12aWV3IChgdmMtcHJpbnQtbG9nJyBhbmQgYHZjLXByaW50LXJvb3Qt bG9nJykNCi07OyAgICAgY2lkZXINCi07OyAgICAgY2lyY2UNCi07OyAgICAgY29sb3ItcmcNCi07 OyAgICAgY29sdW1uLWVuZm9yY2UtbW9kZQ0KLTs7ICAgICBjb21wYW55LW1vZGUNCi07OyAgICAg Y29tcGFueS1wb3NmcmFtZQ0KLTs7ICAgICBjb21waWxhdGlvbi1tb2RlDQotOzsgICAgIGNvbXBs ZXRpb25zDQotOzsgICAgIGNvdW5zZWwNCi07OyAgICAgY291bnNlbC1jc3MNCi07OyAgICAgY291 bnNlbC1ub3RtdWNoDQotOzsgICAgIGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nDQotOzsgICAg IGNvdg0KLTs7ICAgICBjcGVybC1tb2RlDQotOzsgICAgIGNzdi1tb2RlDQotOzsgICAgIGN0cmxm DQotOzsgICAgIGN1c3RvbSAoTS14IGN1c3RvbWl6ZSkNCi07OyAgICAgZGFwLW1vZGUNCi07OyAg ICAgZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQotOzsgICAgIGRlYWRncmVwDQotOzsgICAg IGRlYmJ1Z3MNCi07OyAgICAgZGVmaW5lLXdvcmQNCi07OyAgICAgZGVmdA0KLTs7ICAgICBkaWN0 aW9uYXJ5DQotOzsgICAgIGRpZmYtaGwNCi07OyAgICAgZGlmZi1tb2RlDQotOzsgICAgIGRpbS1h dXRvbG9hZA0KLTs7ICAgICBkaXItdHJlZXZpZXcNCi07OyAgICAgZGlyZWQNCi07OyAgICAgZGly ZWQtYXN5bmMNCi07OyAgICAgZGlyZWQtZ2l0DQotOzsgICAgIGRpcmVkLWdpdC1pbmZvDQotOzsg ICAgIGRpcmVkLW5hcnJvdw0KLTs7ICAgICBkaXJlZC1zdWJ0cmVlDQotOzsgICAgIGRpcmVkZmwN Ci07OyAgICAgZGlzay11c2FnZQ0KLTs7ICAgICBkb29tLW1vZGVsaW5lDQotOzsgICAgIGR5bmFt aWMtcnVsZXINCi07OyAgICAgZWFzeS1qZWt5bGwNCi07OyAgICAgZWFzeS1raWxsDQotOzsgICAg IGViZGINCi07OyAgICAgZWRpZmYNCi07OyAgICAgZWdsb3QNCi07OyAgICAgZWwtc2VhcmNoDQot OzsgICAgIGVsZG9jDQotOzsgICAgIGVsZG9jLWJveA0KLTs7ICAgICBlbGZlZWQNCi07OyAgICAg ZWxmZWVkLXNjb3JlDQotOzsgICAgIGVtbXMNCi07OyAgICAgZW5oYW5jZWQtcnVieS1tb2RlDQot OzsgICAgIGVwYQ0KLTs7ICAgICBlcXVha2UNCi07OyAgICAgZXJjDQotOzsgICAgIGVyb3MNCi07 OyAgICAgZXJ0DQotOzsgICAgIGVzaGVsbA0KLTs7ICAgICBlc2hlbGwtZnJpbmdlLXN0YXR1cw0K LTs7ICAgICBlc2hlbGwtZ2l0LXByb21wdA0KLTs7ICAgICBlc2hlbGwtcHJvbXB0LWV4dHJhcyAo ZXBlKQ0KLTs7ICAgICBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0KLTs7ICAgICBldmlsIChl dmlsLW1vZGUpDQotOzsgICAgIGV2aWwtZ29nZ2xlcw0KLTs7ICAgICBldmlsLXZpc3VhbC1tYXJr LW1vZGUNCi07OyAgICAgZXd3DQotOzsgICAgIGV5ZWJyb3dzZQ0KLTs7ICAgICBmYW5jeS1kYWJi cmV2DQotOzsgICAgIGZseWNoZWNrDQotOzsgICAgIGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZQ0K LTs7ICAgICBmbHljaGVjay1pbmRpY2F0b3INCi07OyAgICAgZmx5Y2hlY2stcG9zZnJhbWUNCi07 OyAgICAgZmx5bWFrZQ0KLTs7ICAgICBmbHlzcGVsbA0KLTs7ICAgICBmbHlzcGVsbC1jb3JyZWN0 DQotOzsgICAgIGZseA0KLTs7ICAgICBmcmVlemUtaXQNCi07OyAgICAgZnJvZy1tZW51DQotOzsg ICAgIGZvY3VzDQotOzsgICAgIGZvbGQtdGhpcw0KLTs7ICAgICBmb250LWxvY2sgKGdlbmVyaWMg c3ludGF4IGhpZ2hsaWdodGluZykNCi07OyAgICAgZm9yZ2UNCi07OyAgICAgZm91bnRhaW4gKGZv dW50YWluLW1vZGUpDQotOzsgICAgIGdlaXNlcg0KLTs7ICAgICBnaXQtY29tbWl0DQotOzsgICAg IGdpdC1ndXR0ZXIgKGFuZCB2YXJpYW50cykNCi07OyAgICAgZ2l0LWxlbnMNCi07OyAgICAgZ2l0 LXJlYmFzZQ0KLTs7ICAgICBnaXQtdGltZW1hY2hpbmUNCi07OyAgICAgZ2l0LXdhbGt0cmVlDQot OzsgICAgIGdudXMNCi07OyAgICAgZ29sZGVuLXJhdGlvLXNjcm9sbC1zY3JlZW4NCi07OyAgICAg aGVsbQ0KLTs7ICAgICBoZWxtLWxzLWdpdA0KLTs7ICAgICBoZWxtLXN3aXRjaC1zaGVsbA0KLTs7 ICAgICBoZWxtLXhyZWYNCi07OyAgICAgaGVscGZ1bA0KLTs7ICAgICBoaWdobGlnaHQtYmxvY2tz DQotOzsgICAgIGhpZ2hsaWdodC1kZWZpbmVkDQotOzsgICAgIGhpZ2hsaWdodC1lc2NhcGUtc2Vx dWVuY2VzIChgaGVzLW1vZGUnKQ0KLTs7ICAgICBoaWdobGlnaHQtaW5kZW50YXRpb24NCi07OyAg ICAgaGlnaGxpZ2h0LW51bWJlcnMNCi07OyAgICAgaGlnaGxpZ2h0LXN5bWJvbA0KLTs7ICAgICBo aWdobGlnaHQtdGFpbA0KLTs7ICAgICBoaWdobGlnaHQtdGhpbmcNCi07OyAgICAgaGwtZGVmaW5l ZA0KLTs7ICAgICBobC1maWxsLWNvbHVtbg0KLTs7ICAgICBobC1saW5lLW1vZGUNCi07OyAgICAg aGwtdG9kbw0KLTs7ICAgICBoeWRyYQ0KLTs7ICAgICBoeXBlcmxpc3QNCi07OyAgICAgaWJ1ZmZl cg0KLTs7ICAgICBpY29tcGxldGUNCi07OyAgICAgaWRvLW1vZGUNCi07OyAgICAgaWVkaXQNCi07 OyAgICAgaWZsaXBiDQotOzsgICAgIGltZW51LWxpc3QNCi07OyAgICAgaW5kaXVtDQotOzsgICAg IGluZm8NCi07OyAgICAgaW5mby1jb2xvcnMNCi07OyAgICAgaW50ZXJhY3Rpb24tbG9nDQotOzsg ICAgIGlvY2N1cg0KLTs7ICAgICBpc2VhcmNoLCBvY2N1ciwgZXRjLg0KLTs7ICAgICBpdnkNCi07 OyAgICAgaXZ5LXBvc2ZyYW1lDQotOzsgICAgIGppcmEgKG9yZy1qaXJhKQ0KLTs7ICAgICBqb3Vy bmFsY3RsLW1vZGUNCi07OyAgICAganMyLW1vZGUNCi07OyAgICAganVsaWENCi07OyAgICAganVw eXRlcg0KLTs7ICAgICBrYW9jaGEtcnVubmVyDQotOzsgICAgIGtleWNhc3QNCi07OyAgICAgbGlu ZSBudW1iZXJzIChgZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZScgYW5kIGdsb2JhbCB2YXJpYW50 KQ0KLTs7ICAgICBsc3AtbW9kZQ0KLTs7ICAgICBsc3AtdWkNCi07OyAgICAgbWFnaXQNCi07OyAg ICAgbWFnaXQtaW1lcmdlDQotOzsgICAgIG1hbg0KLTs7ICAgICBtYXJrZG93bi1tb2RlDQotOzsg ICAgIG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9kZScpDQotOzsgICAgIG1lbnRvcg0KLTs7ICAgICBt ZXNzYWdlcw0KLTs7ICAgICBtaW5pYnVmZmVyLWxpbmUNCi07OyAgICAgbWluaW1hcA0KLTs7ICAg ICBtb2RlbGluZQ0KLTs7ICAgICBtb29kLWxpbmUNCi07OyAgICAgbXBkZWwNCi07OyAgICAgbXU0 ZQ0KLTs7ICAgICBtdTRlLWNvbnZlcnNhdGlvbg0KLTs7ICAgICBtdWx0aXBsZS1jdXJzb3JzDQot OzsgICAgIG5lb3RyZWUNCi07OyAgICAgbm8tZW1vamkNCi07OyAgICAgbm90bXVjaA0KLTs7ICAg ICBudW0zLW1vZGUNCi07OyAgICAgbnhtbC1tb2RlDQotOzsgICAgIG9iamVkDQotOzsgICAgIG9y ZGVybGVzcw0KLTs7ICAgICBvcmcNCi07OyAgICAgb3JnLWpvdXJuYWwNCi07OyAgICAgb3JnLW5v dGVyDQotOzsgICAgIG9yZy1wb21vZG9ybw0KLTs7ICAgICBvcmctcmVjdXINCi07OyAgICAgb3Jn LXJvYW0NCi07OyAgICAgb3JnLXN1cGVyc3Rhcg0KLTs7ICAgICBvcmctdGFibGUtc3RpY2t5LWhl YWRlcg0KLTs7ICAgICBvcmctdHJlZXNjb3BlDQotOzsgICAgIG9yaWdhbWkNCi07OyAgICAgb3V0 bGluZS1tb2RlDQotOzsgICAgIG91dGxpbmUtbWlub3ItZmFjZXMNCi07OyAgICAgcGFja2FnZSAo TS14IGxpc3QtcGFja2FnZXMpDQotOzsgICAgIHBhZ2UtYnJlYWstbGluZXMNCi07OyAgICAgcGFy YWRveA0KLTs7ICAgICBwYXJlbi1mYWNlDQotOzsgICAgIHBhcnJvdA0KLTs7ICAgICBwYXNzDQot OzsgICAgIHBlcnNwLW1vZGUNCi07OyAgICAgcGVyc3BlY3RpdmUNCi07OyAgICAgcGhpLWdyZXAN Ci07OyAgICAgcGhpLXNlYXJjaA0KLTs7ICAgICBwa2didWlsZC1tb2RlDQotOzsgICAgIHBvbWlk b3INCi07OyAgICAgcG93ZXJsaW5lDQotOzsgICAgIHBvd2VybGluZS1ldmlsDQotOzsgICAgIHBy b2NlZA0KLTs7ICAgICBwcm9kaWd5DQotOzsgICAgIHJhY2tldC1tb2RlDQotOzsgICAgIHJhaW5i b3ctYmxvY2tzDQotOzsgICAgIHJhaW5ib3ctaWRlbnRpZmllcnMNCi07OyAgICAgcmFpbmJvdy1k ZWxpbWl0ZXJzDQotOzsgICAgIHJjaXJjDQotOzsgICAgIHJlZ2V4cC1idWlsZGVyIChhbHNvIGtu b3duIGFzIGByZS1idWlsZGVyJykNCi07OyAgICAgcmcNCi07OyAgICAgcmlwZ3JlcA0KLTs7ICAg ICBybWFpbA0KLTs7ICAgICBydWxlci1tb2RlDQotOzsgICAgIHNhbGxldA0KLTs7ICAgICBzZWxl Y3RydW0NCi07OyAgICAgc2VtYW50aWMNCi07OyAgICAgc2VzbWFuDQotOzsgICAgIHNoZWxsLXNj cmlwdC1tb2RlDQotOzsgICAgIHNob3ctcGFyZW4tbW9kZQ0KLTs7ICAgICBzaWRlLW5vdGVzDQot OzsgICAgIHNrZXdlci1tb2RlDQotOzsgICAgIHNtYXJ0LW1vZGUtbGluZQ0KLTs7ICAgICBzbWFy dHBhcmVucw0KLTs7ICAgICBzbWVyZ2UNCi07OyAgICAgc3BhY2VsaW5lDQotOzsgICAgIHNwZWVk YmFyDQotOzsgICAgIHNwZWxsLWZ1DQotOzsgICAgIHN0cmlwZXMNCi07OyAgICAgc3VnZ2VzdA0K LTs7ICAgICBzd2l0Y2gtd2luZG93DQotOzsgICAgIHN3aXBlcg0KLTs7ICAgICBzd29vcA0KLTs7 ICAgICBzeA0KLTs7ICAgICBzeW1ib2wtb3ZlcmxheQ0KLTs7ICAgICB0YWItYmFyLW1vZGUNCi07 OyAgICAgdGFiLWxpbmUtbW9kZQ0KLTs7ICAgICBzeXNsb2ctbW9kZQ0KLTs7ICAgICB0YWJsZSAo YnVpbHQtaW4gdGFibGUuZWwpDQotOzsgICAgIHRlbGVwaG9uZS1saW5lDQotOzsgICAgIHRlcm0N Ci07OyAgICAgdG9tYXRpbmhvDQotOzsgICAgIHRyYW5zaWVudCAocG9wLXVwIHdpbmRvd3MgbGlr ZSBNYWdpdCdzKQ0KLTs7ICAgICB0cmFzaGVkDQotOzsgICAgIHRyZWVtYWNzDQotOzsgICAgIHR0 eS1tZW51DQotOzsgICAgIHR1YXJlZw0KLTs7ICAgICB0eXBlc2NyaXB0DQotOzsgICAgIHVuZG8t dHJlZQ0KLTs7ICAgICB2YyAoYnVpbHQtaW4gbW9kZSBsaW5lIHN0YXR1cyBmb3IgdmVyc2lvbiBj b250cm9sKQ0KLTs7ICAgICB2Yy1hbm5vdGF0ZSAoQy14IHYgZykNCi07OyAgICAgdmRpZmYNCi07 OyAgICAgdmltaXNoLWZvbGQNCi07OyAgICAgdmlzaWJsZS1tYXJrDQotOzsgICAgIHZpc3VhbC1y ZWdleHANCi07OyAgICAgdm9sYXRpbGUtaGlnaGxpZ2h0cw0KLTs7ICAgICB2dGVybQ0KLTs7ICAg ICB3Y2hlY2stbW9kZQ0KLTs7ICAgICB3ZWItbW9kZQ0KLTs7ICAgICB3Z3JlcA0KLTs7ICAgICB3 aGljaC1mdW5jdGlvbi1tb2RlDQotOzsgICAgIHdoaWNoLWtleQ0KLTs7ICAgICB3aGl0ZXNwYWNl LW1vZGUNCi07OyAgICAgd2luZG93LWRpdmlkZXItbW9kZQ0KLTs7ICAgICB3aW51bQ0KLTs7ICAg ICB3cml0ZWdvb2QtbW9kZQ0KLTs7ICAgICB3b21hbg0KLTs7ICAgICB4YWgtZWxpc3AtbW9kZQ0K LTs7ICAgICB4cmVmDQotOzsgICAgIHh0ZXJtLWNvbG9yIChhbmQgYW5zaS1jb2xvcnMpDQotOzsg ICAgIHlhbWwtbW9kZQ0KLTs7ICAgICB5YXNuaXBwZXQNCi07OyAgICAgenRyZWUNCis7OyAtIG1v ZHVzLXRoZW1lcy5lbCAgICAgICAgICAgIChNYWluIGNvZGUgc2hhcmVkIGJldHdlZW4gdGhlIHRo ZW1lcykNCis7OyAtIG1vZHVzLXRoZW1lcy1jb3JlLmVsICAgICAgIChDb2RlIHVzZWQgdG8gcHJv ZHVjZSB0aGUgdGhlbWVzKQ0KKzs7IC0gbW9kdXMtdml2ZW5kaS10aGVtZS5lbCAgICAgKERhcmsg dGhlbWUpDQogDQogOzs7IENvZGU6DQogDQogDA0KIA0KKyhyZXF1aXJlICdtb2R1cy10aGVtZXMp DQorKGV2YWwtd2hlbi1jb21waWxlDQorICAocmVxdWlyZSAnbW9kdXMtdGhlbWVzLWNvcmUpKQ0K Kw0KIChkZWZ0aGVtZSBtb2R1cy1vcGVyYW5kaQ0KICAgIkxpZ2h0IHRoZW1lIHRoYXQgY29uZm9y bXMgd2l0aCB0aGUgaGlnaGVzdCBhY2Nlc3NpYmlsaXR5DQotICBzdGFuZGFyZCBmb3IgY29sb3Vy IGNvbnRyYXN0IGJldHdlZW4gYmFja2dyb3VuZCBhbmQNCi0gIGZvcmVncm91bmQgZWxlbWVudHMg KFdDQUcgQUFBKS4iKQ0KLQ0KLTs7OyBDdXN0b20gZmFjZXMNCi0NCi07OyBUaGVzZSBmYWNlcyB3 aWxsIGJlIGluaGVyaXRlZCBieSBhY3R1YWwgY29uc3RydWN0cy4gIFRoZXkgYXJlIG1lYW50DQot OzsgZm9yIHRob3NlIGNhc2VzIHdoZXJlIGEgZmFjZSBuZWVkcyB0byBkaXN0aW5ndWlzaCBpdHMg b3V0cHV0IGZyb20NCi07OyB0aGUgcmVzdCBvZiB0aGUgdGV4dCwgc3VjaCBhcyBgaXNlYXJjaCcg YW5kIGBvY2N1cifigKYgIFdlIGRlZmluZQ0KLTs7IHRoZXNlIHNlcGFyYXRlbHkgaW4gb3JkZXIg dG8gY29tYmluZSBlYWNoIGNvbG91ciB3aXRoIGl0cw0KLTs7IGFwcHJvcHJpYXRlIGZvcmVncm91 bmQgdmFsdWUuICBUaGlzIGlzIHRvIGVuc3VyZSBhIGNvbnNpc3RlbnQNCi07OyBjb250cmFzdCBy YXRpbyBvZiA+PSA3OjEuDQotKGRlZmdyb3VwIG1vZHVzLXRoZW1lICgpDQotICAiVGhlbWUgdGhh dCBlbnN1cmVzIFdDQUcgQUFBIGFjY2Vzc2liaWxpdHkgKGNvbnRyYXN0IHJhdGlvDQotYmV0d2Vl biBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGlzID49IDc6MSkuIg0KLSAgOmdyb3VwICdmYWNl cw0KLSAgOnByZWZpeCAibW9kdXMtdGhlbWUtIg0KLSAgOmxpbmsgJyh1cmwtbGluayA6dGFnICJH aXRMYWIiICJodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzIikNCi0g IDp0YWcgIk1vZHVzIE9wZXJhbmRpIikNCi0NCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUt cmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt c3VidGxlLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtY3lh biBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt aW50ZW5zZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLWJs dWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1yZWZpbmUtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWdy ZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2Ug bW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1yZWZpbmUtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4gbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtYWN0aXZlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3Rp dmUtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLWZyaW5nZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2Ut Ymx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LW51YW5jZWQtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLXll bGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLXNwZWNpYWwtY29sZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwt bWlsZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1k aWZmLWNoYW5nZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLWRpZmYtZm9jdXMtY2hhbmdlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWRpZmYtZm9jdXMtcmVtb3ZlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYt aGVhZGluZyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLWFsdCBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLW1hcmstZGVsIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFy ay1zZWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctMSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLWhlYWRpbmctMiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRp bmctMyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctNCBuaWwgbmlsKQ0K LShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctNSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLWhlYWRpbmctNiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmct NyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctOCBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLWhsLWxpbmUgbmlsIG5pbCkNCi0NCi07OzsgQ3VzdG9taXNhdGlv biBvcHRpb25zDQotDQotOzsgVXNlci1mYWNpbmcgY3VzdG9taXNhdGlvbiBvcHRpb25zLiAgVGhl eSBhcmUgYWxsIGRlYWN0aXZhdGVkIGJ5DQotOzsgZGVmYXVsdCAodXNlcnMgbXVzdCBvcHQgaW4p Lg0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzIG5p bA0KLSAgIlVzZSBzbGFudGVkIHRleHQgaW4gbW9yZSBjb2RlIGNvbnN0cnVjdHMgKGl0YWxpY3Mg b3Igb2JsaXF1ZSkuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1v cGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgbmlsDQotICAiVXNlIGJvbGQgdGV4dCBpbiBt b3JlIGNvZGUgY29uc3RydWN0cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmaW5lLW9i c29sZXRlLXZhcmlhYmxlLWFsaWFzICdtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9wb3J0aW9uYWwt Zm9udHMNCi0gICdtb2R1cy1vcGVyYW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAi YG1vZHVzLW9wZXJhbmRpLXRoZW1lJyAwLjExLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3Bl cmFuZGktdGhlbWUtcHJvcG9ydGlvbmFsLWZvbnRzIG5pbA0KLSAgIlVzZSBwcm9wb3J0aW9uYWwg Zm9udHMgKHZhcmlhYmxlLXBpdGNoKSBpbiBoZWFkaW5ncy4iDQotICA6dHlwZSAnYm9vbGVhbikN Ci0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRp bmdzIG5pbA0KLSAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMgKHZhcmlhYmxlLXBpdGNoKSBpbiBo ZWFkaW5ncy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJh bmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzIG5pbA0KLSAgIkRpc2FibGUgaW5oZXJpdGFuY2UgZnJv bSBgZml4ZWQtcGl0Y2gnIGluIHNvbWUgZmFjZXMuDQotDQotVGhpcyBpcyBkb25lIGJ5IGRlZmF1 bHQgdG8gYWxsb3cgc3BhY2luZy1zZW5zaXRpdmUgY29uc3RydWN0cywNCi1zdWNoIGFzIE9yZyB0 YWJsZXMgYW5kIGNvZGUgYmxvY2tzLCB0byByZW1haW4gbW9ub3NwYWNlZCB3aGVuDQotdXNlcnMg b3B0IGZvciBzb21ldGhpbmcgbGlrZSB0aGUgY29tbWFuZCBgdmFyaWFibGUtcGl0Y2gtbW9kZScu DQotVGhlIGRvd25zaWRlIHdpdGggdGhlIGRlZmF1bHQgaXMgdGhhdCB1c2VycyBuZWVkIHRvIGV4 cGxpY2l0bHkNCi1jb25maWd1cmUgdGhlIGZvbnQgZmFtaWx5IG9mIGBmaXhlZC1waXRjaCcgaW4g b3JkZXIgdG8gZ2V0IGENCi1jb25zaXN0ZW50IGV4cGVyaWVuY2UuICBUaGF0IG1heSBiZSBzb21l dGhpbmcgdGhleSBkbyBub3Qgd2FudCB0bw0KLWRvLiAgSGVuY2UgdGhpcyBvcHRpb24gdG8gZGlz YWJsZSBhbnkga2luZCBvZiB0ZWNobmlxdWUgZm9yDQotbWl4aW5nIGZvbnRzLiINCi0gIDp0eXBl ICdib29sZWFuKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1yYWlu Ym93LWhlYWRpbmdzDQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRp bmdzDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMy4wIikNCi0N Ci0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXJhaW5ib3ctaGVhZGluZ3MgbmlsDQot ICAiVXNlIG1vcmUgc2F0dXJhdGVkIGNvbG91cnMgZm9yIGhlYWRpbmdzLiINCi0gIDp0eXBlICdi b29sZWFuKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zZWN0aW9u LWhlYWRpbmdzDQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdz DQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNlY3Rpb24taGVhZGluZ3MgbmlsDQotICAi VXNlIGEgYmFja2dyb3VuZCBhbmQgYW4gb3ZlcmxpbmUgaW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUg J2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncw0K LSAgJygodCAuIG5pbCkpDQotICAiQWxpc3Qgb2Ygc3R5bGVzIGZvciBoZWFkaW5ncywgd2l0aCBv cHRpb25hbCB2YWx1ZSBwZXIgbGV2ZWwuDQotDQotVG8gY29udHJvbCBmYWNlcyBwZXIgbGV2ZWwg ZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KLQ0KLSAgKHNldHEgbW9kdXMtb3Bl cmFuZGktdGhlbWUtaGVhZGluZ3MNCi0gICAgICAgICcoKDEgLiBoaWdobGlnaHQpDQotICAgICAg ICAgICgyIC4gbGluZSkNCi0gICAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8tYm9sZCkpKQ0K LQ0KLVRvIHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBoZWFkaW5nIGxldmVscywgdXNlIHRo aXMgcGF0dGVybjoNCi0NCi0gIChzZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQot ICAgICAgICAnKCh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCi0NCi1UaGUgZGVmYXVsdCB1 c2VzIGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgdmFsdWUgaW4NCi1jb21iaW5hdGlv biB3aXRoIGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBUbyBzcGVjaWZ5IHRoaXMNCi1zdHls ZSBmb3IgYSBnaXZlbiBsZXZlbCBOIChhc3N1bWluZyB5b3Ugd2lzaCB0byBoYXZlIGFub3RoZXIN Ci1mYWxsYmFjayBvcHRpb24pLCBqdXN0IHNwZWNpZnkgdGhlIHZhbHVlIHQgbGlrZSB0aGlzOg0K LQ0KLSAgKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MNCi0gICAgICAgICcoKDEg LiB0KQ0KLSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAgICAgICh0IC4gcmFpbmJvdy1saW5l LW5vLWJvbGQpKSkNCi0NCi1BIGRlc2NyaXB0aW9uIG9mIGFsbCBwb3NzaWJsZSB2YWx1ZXM6DQot DQotKyBgbm8tYm9sZCcgcmV0YWlucyB0aGUgZGVmYXVsdCB0ZXh0IGNvbG91ciB3aGlsZSByZW1v dmluZw0KLSAgdGhlIHR5cG9ncmFwaGljIHdlaWdodC4NCi0NCi0rIGBsaW5lJyBpcyB0aGUgc2Ft ZSBhcyB0aGUgZGVmYXVsdCBwbHVzIGFuIG92ZXJsaW5lIG92ZXIgdGhlDQotICBoZWFkaW5nLg0K LQ0KLSsgYGxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGxpbmUnIHdpdGhvdXQgYm9sZCB3 ZWlnaHQuDQotDQotKyBgcmFpbmJvdycgdXNlcyBhIG1vcmUgY29sb3VyZnVsIGZvcmVncm91bmQg aW4gY29tYmluYXRpb24NCi0gIHdpdGggYm9sZCB3ZWlnaHQuDQotDQotKyBgcmFpbmJvdy1saW5l JyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBvdmVybGluZS4NCi0NCi0rIGByYWlu Ym93LWxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctbGluZScgd2l0aG91dA0K LSAgdGhlIGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYGhpZ2hsaWdodCcgcmV0YWlucyB0aGUgZGVmYXVs dCBzdHlsZSBvZiBhIGZhaXJseSBkZXNhdHVyYXRlZA0KLSAgZm9yZWdyb3VuZCBjb21iaW5lZCB3 aXRoIGEgYm9sZCB3ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1YnRsZQ0KLSAgYWNjZW50ZWQgYmFj a2dyb3VuZC4NCi0NCi0rIGBoaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hs aWdodCcgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdodC4NCi0NCi0rIGByYWluYm93LWhpZ2hsaWdo dCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdpdGggYSBtb3JlDQotICBjb2xvdXJm dWwgZm9yZWdyb3VuZC4NCi0NCi0rIGByYWluYm93LWhpZ2hsaWdodC1uby1ib2xkJyBpcyB0aGUg c2FtZSBhcyBgcmFpbmJvdy1oaWdobGlnaHQnDQotICB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuDQot DQotKyBgc2VjdGlvbicgcmV0YWlucyB0aGUgZGVmYXVsdCBsb29rcyBhbmQgYWRkcyB0byB0aGVt IGJvdGggYW4NCi0gIG92ZXJsaW5lIGFuZCBhIHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQu ICBJdCBpcywgaW4gZWZmZWN0LA0KLSAgYSBjb21iaW5hdGlvbiBvZiB0aGUgYGxpbmUnIGFuZCBg aGlnaGxpZ2h0JyB2YWx1ZXMuDQotDQotKyBgc2VjdGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBh cyBgc2VjdGlvbicgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdodC4NCi0NCi0rIGByYWluYm93LXNl Y3Rpb24nIGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9uJyBidXQgd2l0aCBhIG1vcmUNCi0gIGNvbG91 cmZ1bCBmb3JlZ3JvdW5kLg0KLQ0KLSsgYHJhaW5ib3ctc2VjdGlvbi1uby1ib2xkJyBpcyB0aGUg c2FtZSBhcyBgcmFpbmJvdy1zZWN0aW9uJw0KLSAgd2l0aG91dCBhIGJvbGQgd2VpZ2h0LiINCi0g IDp0eXBlDQotICAnKGFsaXN0DQotICAgIDprZXktdHlwZSBzeW1ib2wNCi0gICAgOnZhbHVlLXR5 cGUNCi0gICAgKGNob2ljZSAoY29uc3QgOnRhZyAiRmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91 bmQgd2l0aCBib2xkIHdlaWdodCAoZGVmYXVsdCkiIHQpDQotICAgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgdGhlIGRlZmF1bHQgd2l0aG91dCBib2xkIHdlaWdodCIgbm8tYm9sZCkNCi0gICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCBwbHVzIG92ZXJsaW5lIiBsaW5l KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBsaW5lJyB3aXRob3V0IGJvbGQgd2Vp Z2h0IiBsaW5lLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRl ZmF1bHQgYnV0IHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdykNCi0gICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycgcGx1cyBvdmVybGluZSIgcmFpbmJv dy1saW5lKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93JyB3aXRob3V0 IGJvbGQgd2VpZ2h0IiByYWluYm93LW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcg Ikxpa2UgYHJhaW5ib3ctbGluZScgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1saW5lLW5v LWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgcGx1cyBz dWJ0bGUgYmFja2dyb3VuZCIgaGlnaGxpZ2h0KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJM aWtlIGBoaWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIGhpZ2hsaWdodC1uby1ib2xkKQ0K LSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHdpdGggbW9yZSBjb2xv dXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQpDQotICAgICAgICAgICAgKGNvbnN0 IDp0YWcgIkxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWlu Ym93LWhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBo aWdobGlnaHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQotICAgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHNlY3Rpb24tbm8tYm9sZCkN Ci0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aCBtb3JlIGNvbG91 cmZ1bCBmb3JlZ3JvdW5kIiByYWluYm93LXNlY3Rpb24pDQotICAgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgYHJhaW5ib3ctc2VjdGlvbicgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1z ZWN0aW9uLW5vLWJvbGQpKSkpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1z Y2FsZS1oZWFkaW5ncyBuaWwNCi0gICJVc2UgZm9udCBzY2FsaW5nIGZvciBoZWFkaW5ncy4iDQot ICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNj YWxlLTEgMS4wNQ0KLSAgIkZvbnQgc2l6ZSB0aGF0IGlzIHNsaWdodGx5IGxhcmdlciB0aGFuIHRo ZSBiYXNlIHZhbHVlLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBp bnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZl ciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMg YW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMg c2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUg bWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScs IHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikN Ci0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTIgMS4xDQotICAiRm9u dCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0x Jy4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQg YXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJp YWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRl IGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhl IGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVh ZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2Fs bHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1 c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zIDEuMTUNCi0gICJGb250IHNpemUgc2xp Z2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTInLg0KLVRoZSBk ZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRp cGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28g YWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChl LmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAx NCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1 bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpo ZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVz LW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQgMS4yDQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdl ciB0aGFuIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zJy4NCi1UaGUgZGVmYXVsdCBpcyBh IGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRo ZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4N Ci1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVl IG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6 ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBv Zg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0 aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10 aGVtZS1zY2FsZS01IDEuMw0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9k dXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCcuDQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBw b2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBmb250 IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdlciwg dW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMN Ci10aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZv ciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0LWZh Y2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQotICA6 dHlwZSAnbnVtYmVyKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS12 aXNpYmxlLWZyaW5nZXMNCi0gICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUtZnJp bmdlcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUnIDAuMTIuMCIpDQot DQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS12aXNpYmxlLWZyaW5nZXMgbmlsDQot ICAiVXNlIGEgdmlzaWJsZSBzdHlsZSBmb3IgZnJpbmdlcy4iDQotICA6dHlwZSAnYm9vbGVhbikN Ci0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZXMgbmlsDQotICAiRGVm aW5lIHRoZSB2aXNpYmlsaXR5IG9mIGZyaW5nZXMuDQotDQotTmlsIG1lYW5zIHRoZSBmcmluZ2Vz IGhhdmUgbm8gYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24gYHN1YnRsZScNCi13aWxsIGFwcGx5 IGEgZ3JleXNjYWxlIHZhbHVlIHRoYXQgaXMgdmlzaWJsZSB5ZXQgY2xvc2UgdG8gdGhlDQotbWFp biBidWZmZXIgYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24gYGludGVuc2UnIHdpbGwgdXNlIGEg bW9yZQ0KLXByb25vdW5jZWQgZ3JleXNjYWxlIHZhbHVlLiINCi0gIDp0eXBlICcoY2hvaWNlDQot ICAgICAgICAgIChjb25zdCA6dGFnICJObyB2aXNpYmxlIGZyaW5nZXMgKGRlZmF1bHQpIiBuaWwp DQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JleXNjYWxlIGJhY2tncm91bmQiIHN1 YnRsZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2UgZ3JleXNjYWxlIGJhY2tncm91 bmQiIGludGVuc2UpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUt ZGlzdGluY3Qtb3JnLWJsb2Nrcw0KLSAgICAgICAgICAgICAgICdtb2R1cy1vcGVyYW5kaS10aGVt ZS1vcmctYmxvY2tzDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4x MS4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpc3RpbmN0LW9yZy1i bG9ja3MgbmlsDQotICAiVXNlIGEgZGlzdGluY3QgbmV1dHJhbCBiYWNrZ3JvdW5kIGZvciBgb3Jn LW1vZGUnIGJsb2Nrcy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0obWFrZS1vYnNvbGV0ZSAn bW9kdXMtb3BlcmFuZGktdGhlbWUtcmFpbmJvdy1vcmctc3JjLWJsb2Nrcw0KLSAgICAgICAgICAg ICAgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICAgICAgICAgICAgImBt b2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMS4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJh bmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MgbmlsDQotICAiVXNlIGNvbG91ci1jb2Rl ZCBiYWNrZ3JvdW5kcyBmb3IgYG9yZy1tb2RlJyBzb3VyY2UgYmxvY2tzLg0KLVRoZSBjb2xvdXIg aW4gdXNlIGRlcGVuZHMgb24gdGhlIGxhbmd1YWdlIChzZW5kIGZlZWRiYWNrIHRvDQotaW5jbHVk ZSBtb3JlIGxhbmd1YWdlcykuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBt b2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzIG5pbA0KLSAgIlVzZSBhIHN1YnRsZSBncmV5 IG9yIGNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kIGZvciBPcmcgYmxvY2tzLg0KLQ0KLU5pbCBtZWFu cyB0aGF0IHRoZSBibG9jayB3aWxsIGhhdmUgbm8gYmFja2dyb3VuZCBvZiBpdHMgb3duIGFuZA0K LXdpbGwgdXNlIHRoZSBkZWZhdWx0IHRoYXQgYXBwbGllcyB0byB0aGUgcmVzdCBvZiB0aGUgYnVm ZmVyLg0KLQ0KLU9wdGlvbiBgZ3JleXNjYWxlJyB3aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRyYWwg Z3JleSBiYWNrZ3JvdW5kIHRvDQotdGhlIGJsb2NrJ3MgY29udGVudHMuICBJdCBhbHNvIGFmZmVj dHMgdGhlIGJlZ2luIGFuZCBlbmQgbGluZXMgb2YNCi10aGUgYmxvY2s6IHRoZWlyIGJhY2tncm91 bmQgd2lsbCBiZSBleHRlbmRlZCB0byB0aGUgZWRnZSBvZiB0aGUNCi13aW5kb3cgZm9yIEVtYWNz IHZlcnNpb24gPj0gMjcgd2hlcmUgdGhlICc6ZXh0ZW5kJyBrZXl3b3JkIGlzDQotcmVjb2duaXNl ZCBieSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCi0NCi1PcHRpb24gYHJhaW5ib3cnIHdpbGwgdXNl IGFuIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBjb250ZW50cw0KLW9mIHRoZSBibG9jay4g IFRoZSBleGFjdCBjb2xvdXIgd2lsbCBkZXBlbmQgb24gdGhlIHByb2dyYW1taW5nDQotbGFuZ3Vh Z2UgYW5kIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGBvcmctc3JjLWJsb2NrLWZhY2VzJw0KLXZhcmlh YmxlIChyZWZlciB0byB0aGUgdGhlbWUncyBzb3VyY2UgY29kZSBmb3IgdGhlIGN1cnJlbnQNCi1h c3NvY2lhdGlvbiBsaXN0KS4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3Qg OnRhZyAiTm8gT3JnIGJsb2NrIGJhY2tncm91bmQgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAg IChjb25zdCA6dGFnICJTdWJ0bGUgZ3JleSBibG9jayBiYWNrZ3JvdW5kIiBncmV5c2NhbGUpDQot ICAgICAgICAgIChjb25zdCA6dGFnICJDb2xvdXItY29kZWQgYmFja2dyb3VuZCBwZXIgcHJvZ3Jh bW1pbmcgbGFuZ3VhZ2UiIHJhaW5ib3cpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3Bl cmFuZGktdGhlbWUtM2QtbW9kZWxpbmUNCi0gICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGkt dGhlbWUtbW9kZS1saW5lDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScg MC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLTNkLW1vZGVsaW5l IG5pbA0KLSAgIlVzZSBhIHRocmVlLWRpbWVuc2lvbmFsIHN0eWxlIGZvciB0aGUgYWN0aXZlIG1v ZGUgbGluZS4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJh bmRpLXRoZW1lLW1vZGUtbGluZSBuaWwNCi0gICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGUgb2Yg dGhlIG1vZGUgbGluZS4NCi0NCi1OaWwgaXMgYSB0d28tZGltZW5zaW9uYWwgcmVjdGFuZ2xlIHdp dGggYSBib3JkZXIgYXJvdW5kIGl0LiAgVGhlDQotYWN0aXZlIGFuZCB0aGUgaW5hY3RpdmUgbW9k ZWxpbmVzIHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mDQotZ3JleXNjYWxlIHZhbHVlcyBmb3IgdGhl IGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQuDQotDQotQSBgM2QnIHZhbHVlIHdpbGwgYXBwbHkg YSB0aHJlZS1kaW1lbnNpb25hbCBlZmZlY3QgdG8gdGhlIGFjdGl2ZQ0KLW1vZGVsaW5lLiAgVGhl IGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gdHdvLWRpbWVuc2lvbmFsIGFuZCBhcmUNCi10b25l ZCBkb3duIGEgYml0LCByZWxhdGl2ZSB0byB0aGUgbmlsIHZhbHVlLg0KLQ0KLVRoZSBgbW9vZHkn IG9wdGlvbiBpcyBtZWFudCB0byBvcHRpbWlzZSB0aGUgbW9kZWxpbmUgZm9yIHVzZSB3aXRoDQot dGhlIGxpYnJhcnkgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgcHJhY3RpY2FsbHkgbWVhbnMgdG8g cmVtb3ZlDQotdGhlIGJveCBlZmZlY3QgYW5kIHJlbHkgb24gdW5kZXJsaW5lIGFuZCBvdmVybGlu ZSBwcm9wZXJ0aWVzDQotaW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biB0aGUgaW5hY3RpdmUg bW9kZWxpbmVzLiAgRGVzcGl0ZSBpdHMNCi1pbnRlbmRlZCBwdXJwb3NlLCB0aGlzIG9wdGlvbiBj YW4gYWxzbyBiZSB1c2VkIHdpdGhvdXQgdGhlDQotYG1vb2R5JyBsaWJyYXJ5LiINCi0gIDp0eXBl ICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJUd28tZGltZW5zaW9uYWwgYm94IChk ZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiVGhyZWUtZGltZW5zaW9uYWwg c3R5bGUgZm9yIHRoZSBhY3RpdmUgbW9kZSBsaW5lIiAzZCkNCi0gICAgICAgICAgKGNvbnN0IDp0 YWcgIk5vIGJveCBlZmZlY3RzLCB3aGljaCBhcmUgb3B0aW1hbCBmb3IgdXNlIHdpdGggdGhlIGBt b29keScgbGlicmFyeSIgbW9vZHkpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFu ZGktdGhlbWUtc3VidGxlLWRpZmZzDQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRo ZW1lLWRpZmZzDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMy4w IikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN1YnRsZS1kaWZmcyBuaWwN Ci0gICJVc2UgZmV3ZXIvZGltIGJhY2tncm91bmRzIGluIGBkaWZmLW1vZGUnLCBgZWRpZmYnLGBt YWdpdCcuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5k aS10aGVtZS1kaWZmcyBuaWwNCi0gICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGVzIG9mIGRpZmZz Lg0KLQ0KLU5pbCBtZWFucyB0byB1c2UgZmFpcmx5IGludGVuc2UgY29sb3VyIGNvbWJpbmF0aW9u cyBmb3IgZGlmZnMuDQotRm9yIGV4YW1wbGUsIHlvdSBnZXQgYSByaWNoIGdyZWVuIGJhY2tncm91 bmQgd2l0aCBhIGdyZWVuDQotZm9yZWdyb3VuZCBmb3IgYWRkZWQgbGluZXMuICBXb3JkLXdpc2Ug b3IgJ3JlZmluZWQnIGRpZmZzIGZvbGxvdw0KLXRoZSBzYW1lIHBhdHRlcm4gYnV0IHVzZSBkaWZm ZXJlbnQgc2hhZGVzIG9mIHRob3NlIGNvbG91cnMgdG8NCi1yZW1haW4gZGlzdGluY3QuDQotDQot QSBgZGVzYXR1cmF0ZWQnIHZhbHVlIGZvbGxvd3MgdGhlIHNhbWUgcHJpbmNpcGxlcyBhcyB3aXRo IHRoZSBuaWwNCi1vcHRpb24sIHdoaWxlIGl0IHRvbmVzIGRvd24gYWxsIHJlbGV2YW50IGNvbG91 cnMuDQotDQotT3B0aW9uIGBmZy1vbmx5JyB3aWxsIHJlbW92ZSBhbGwgYWNjZW50ZWQgYmFja2dy b3VuZHMsIGV4Y2VwdA0KLWZyb20gd29yZC13aXNlIGNoYW5nZXMuICBJdCBpbnN0ZWFkIHVzZXMg Y29sb3VyLWNvZGVkIGZvcmVncm91bmQNCi12YWx1ZXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVu IGFkZGVkL3JlbW92ZWQvY2hhbmdlZCBsaW5lcy4gIElmDQotYSBiYWNrZ3JvdW5kIGlzIG5lY2Vz c2FyeSwgc3VjaCBhcyB3aXRoIGBlZGlmZicsIHRoZW4gYSBzdWJ0bGUNCi1ncmV5c2NhbGUgdmFs dWUgaXMgdXNlZC4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAi SW50ZW5zZWx5IGNvbG91cmVkIGJhY2tncm91bmRzIChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAg ICAoY29uc3QgOnRhZyAiU2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZHMgd2l0aCB0aW50ZWQg dGV4dCIgZGVzYXR1cmF0ZWQpDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyBiYWNrZ3JvdW5k cywgZXhjZXB0IGZvciByZWZpbmVkIGRpZmZzIiBmZy1vbmx5KSkpDQotDQotKG1ha2Utb2Jzb2xl dGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMNCi0g ICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAiYG1vZHVzLW9wZXJhbmRpLXRoZW1lJyAwLjEyLjAiKQ0KLQ0KLShkZWZjdXN0b20g bW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1zdGFuZGFyZC1jb21wbGV0aW9ucyBuaWwNCi0g ICJVc2UgcHJvbWluZW50IGJhY2tncm91bmRzIGZvciBJY29tcGxldGUsIElkbywgb3Igc2ltaWxh ci4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWNvbXBsZXRpb25zIG5pbA0KLSAgIkFwcGx5IHNwZWNpYWwgc3R5bGVzIHRvIHRoZSBVSSBv ZiBjb21wbGV0aW9uIGZyYW1ld29ya3MuDQotDQotVGhpcyBjb25jZXJucyBJY29tcGxldGUsIEl2 eSwgSGVsbSwgU2VsZWN0cnVtLCBJZG8sIGFzIHdlbGwgYXMNCi1hbnkgb3RoZXIgdG9vbCBtZWFu dCB0byBlbmhhbmNlIHRoZWlyIGV4cGVyaWVuY2UuICBUaGUgZWZmZWN0DQotd2lsbCB2YXJ5IGRl cGVuZGluZyBvbiB0aGUgY29tcGxldGlvbiBmcmFtZXdvcmsuDQotDQotTmlsIG1lYW5zIHRvIHJl bWFpbiBmYWl0aGZ1bCB0byB0aGUgbWV0YXBob3JzIHRoYXQgZWFjaCBVSQ0KLWVzdGFibGlzaGVz LiAgRm9yIGV4YW1wbGUsIEljb21wbGV0ZSBhbmQgSWRvIG9ubHkgdXNlIGZvcmVncm91bmQNCi1j b2xvdXJzIHRvIHN0eWxlIHRoZWlyIG1hdGNoZXMsIHdoZXJlYXMgSXZ5IG9yIEhlbG0gcmVseSBv biBhbg0KLWFlc3RoZXRpYyB0aGF0IGNvbWJpbmVzIGNvbG91cmVkIGJhY2tncm91bmRzIHdpdGgg YXBwcm9wcmlhdGUNCi10ZXh0IGNvbG91ci4NCi0NCi1PcHRpb24gYG1vZGVyYXRlJyB3aWxsIGFw cGx5IGEgY29tYmluYXRpb24gb2YgYmFja2dyb3VuZCBhbmQNCi1mb3JlZ3JvdW5kIHRoYXQgaXMg ZmFpcmx5IHN1YnRsZS4gIEZvciBJY29tcGxldGUgYW5kIHRoZSBsaWtlLA0KLXRoaXMgY29uc3Rp dHV0ZXMgYSBkZXBhcnR1cmUgZnJvbSB0aGVpciBzdGFuZGFyZCBzdHlsZS4gIFdoaWxlDQotSXZ5 LCBIZWxtLCBhbmQgdGhlIG90aGVycywgd2lsbCB1c2UgbGVzcyBwcm9ub3VuY2VkIGNvbG91cnMg Zm9yDQotYXBwbGljYWJsZSBjb250ZXh0cy4NCi0NCi1PcHRpb24gYG9waW5pb25hdGVkJyB3aWxs IGFwcGx5IGNvbG91ciBjb21iaW5hdGlvbnMgdGhhdA0KLXJlZmFzaGlvbiB0aGUgY29tcGxldGlv biBVSS4gIFNvIEljb21wbGV0ZSBldCBhbCB3aWxsIG5vdyB1c2UNCi1zdHlsZXMgdGhhdCByZXNl bWJsZSB0aGUgZGVmYXVsdHMgb2YgSXZ5IGFuZCBjby4sIHdoaWxlIHRoZQ0KLWxhdHRlciBncm91 cCB3aWxsIHJldmVydCB0byBhbiBldmVuIG1vcmUgbnVhbmNlZCBhZXN0aGV0aWMuIg0KLSAgOnR5 cGUgJyhjaG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlJlc3BlY3QgdGhlIGZyYW1ld29y aydzIGVzdGFibGlzaGVkIGFlc3RoZXRpYyAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNv bnN0IDp0YWcgIlN1YnRsZSBiYWNrZ3JvdW5kcyBmb3IgdmFyaW91cyBlbGVtZW50cyIgbW9kZXJh dGUpDQotICAgICAgICAgIChjb25zdCA6dGFnICJSYWRpY2FsIGFsdGVybmF0aXZlIHRvIHRoZSBm cmFtZXdvcmsncyBsb29rcyIgb3BpbmlvbmF0ZWQpKSkNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLXByb21wdHMgbmlsDQotICAiVXNlIHN1YnRsZSBvciBpbnRlbnNlIHN0eWxl cyBmb3IgbWluaWJ1ZmZlciBhbmQgUkVQTCBwcm9tcHRzLg0KLQ0KLU5pbCBtZWFucyB0byBvbmx5 IHVzZSBhbiBhY2NlbnRlZCBmb3JlZ3JvdW5kIGNvbG91ci4NCi0NCi1PcHRpb25zIGBzdWJ0bGUn IGFuZCBgaW50ZW5zZScgd2lsbCBjaGFuZ2UgYm90aCB0aGUgYmFja2dyb3VuZA0KLWFuZCB0aGUg Zm9yZWdyb3VuZCB2YWx1ZXMuICBUaGUgbGF0dGVyIGhhcyBhIG1vcmUgcHJvbm91bmNlZA0KLWVm ZmVjdCB0aGFuIHRoZSBmb3JtZXIuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAgICAgICAgKGNv bnN0IDp0YWcgIk5vIHByb21wdCBiYWNrZ3JvdW5kIChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAg ICAoY29uc3QgOnRhZyAiU3VidGxlIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBwcm9tcHQi IHN1YnRsZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2UgYmFja2dyb3VuZCBhbmQg Zm9yZWdyb3VuZCBmb3IgdGhlIHByb21wdCIgaW50ZW5zZSkpKQ0KLQ0KLShkZWZjdXN0b20gbW9k dXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lIG5pbA0KLSAgIlVzZSBtb3JlIHByb21p bmVudCBiYWNrZ3JvdW5kIGZvciBjb21tYW5kIGBobC1saW5lLW1vZGUnLiINCi0gIDp0eXBlICdi b29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJl bi1tYXRjaCBuaWwNCi0gICJVc2UgbW9yZSBwcm9taW5lbnQgY29sb3VyIGZvciBwYXJlbnRoZXNp cyBtYXRjaGluZy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWZhaW50LXN5bnRheCBuaWwNCi0gICJVc2UgbGVzcyBzYXR1cmF0ZWQgY29s b3VycyBmb3IgY29kZSBzeW50YXggaGlnaGxpZ2h0aW5nLiINCi0gIDp0eXBlICdib29sZWFuKQ0K LQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUgbmls DQotICAiRG8gbm90IHVuZGVybGluZSBsaW5rcy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi07 OzsgSW50ZXJuYWwgZnVuY3Rpb25zDQotDQotOzsgSGVscGVyIGZ1bmN0aW9ucyB0aGF0IGFyZSBt ZWFudCB0byBlYXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUNCi07OyBhYm92ZSBjdXN0b21p c2F0aW9uIG9wdGlvbnMuDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 ICgpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGEgaGVhdmllciB0ZXh0IHdlaWdodC4iDQotICAo d2hlbiBtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMNCi0gICAgKGxpc3QgOmlu aGVyaXQgJ2JvbGQpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9u dHMgKCkNCi0gICJDb25kaXRpb25hbCBhcHBsaWNhdGlvbiBvZiBgZml4ZWQtcGl0Y2gnIGluaGVy aXRhbmNlLiINCi0gICh1bmxlc3MgbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMN Ci0gICAgKGxpc3QgOmluaGVyaXQgJ2ZpeGVkLXBpdGNoKSkpDQotDQotKGRlZnVuIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWZyaW5nZSAoc3VidGxlYmcgaW50ZW5zZWJnKQ0KLSAgIkNvbmRpdGlvbmFs IHVzZSBvZiBiYWNrZ3JvdW5kIGNvbG91cnMgZm9yIGZyaW5nZXMuDQotU1VCVExFQkcgc2hvdWxk IGJlIGEgc3VidGxlIGdyZXlzY2FsZSB2YWx1ZS4gIElOVEVOU0VCRyBtdXN0IGJlIGENCi1tb3Jl IHByb25vdW5jZWQgZ3JleXNjYWxlIGNvbG91ci4iDQotICAocGNhc2UgbW9kdXMtb3BlcmFuZGkt dGhlbWUtZnJpbmdlcw0KLSAgICAoJ2ludGVuc2UgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJn KSkNCi0gICAgKCdzdWJ0bGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcpKQ0KLSAgICAoXyAo bGlzdCA6YmFja2dyb3VuZCBuaWwpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXByb21wdCAobWFpbmZnIHN1YnRsZWJnIHN1YnRsZWZnIGludGVuc2ViZyBpbnRlbnNlZmcpDQot ICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQgY29sb3VycyBmb3IgcHJvbXB0cy4NCi1N QUlORkcgaXMgdGhlIHByb21wdCdzIHN0YW5kYXJkIGZvcmVncm91bmQuICBTVUJUTEVCRyBzaG91 bGQgYmUgYQ0KLXN1YnRsZSBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQgd29ya3Mgd2l0aCBTVUJU TEVGRy4gIElOVEVOU0VCRw0KLW11c3QgYmUgYSBtb3JlIHByb25vdW5jZWQgYWNjZW50ZWQgY29s b3VyIHRoYXQgc2hvdWxkIGJlDQotY29tYmluYWJsZSB3aXRoIElOVEVOU0VGRy4iDQotICAocGNh c2UgbW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0cw0KLSAgICAoJ2ludGVuc2UgKGxpc3QgOmJh Y2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykpDQotICAgICgnc3VidGxl IChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIHN1YnRsZWZnKSkNCi0gICAg KF8gKGxpc3QgOmJhY2tncm91bmQgbmlsIDpmb3JlZ3JvdW5kIG1haW5mZykpKSkNCi0NCi0oZGVm dW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtcGFyZW4gKG5vcm1hbGJnIGludGVuc2ViZykNCi0gICJD b25kaXRpb25hbCB1c2Ugb2YgaW50ZW5zZSBjb2xvdXJzIGZvciBtYXRjaGluZyBwYXJlbnRoZXNl cy4NCi1OT1JNQUxCRyBzaG91bGQgdGhlIHNwZWNpYWwgcGFsZXR0ZSBjb2xvdXIgJ2JnLXBhcmVu LW1hdGNoJyBvcg0KLXNvbWV0aGluZyBzaW1pbGFyLiAgSU5URU5TRUJHIG11c3QgYmUgZWFzaWVy IHRvIGRpc2Nlcm4gbmV4dCB0bw0KLW90aGVyIGJhY2tncm91bmRzLCBzdWNoIGFzIHRoZSBzcGVj aWFsIHBhbGV0dGUgY29sb3VyDQotJ2JnLXBhcmVuLW1hdGNoLWludGVuc2UnLiINCi0gIChpZiBt b2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoDQotICAgICAgKGxpc3QgOmJh Y2tncm91bmQgaW50ZW5zZWJnKQ0KLSAgICAobGlzdCA6YmFja2dyb3VuZCBub3JtYWxiZykpKQ0K LQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZCAobm9ybWFs IGZhaW50KQ0KLSAgIkFwcGx5IGZvcmVncm91bmQgdmFsdWUgdG8gY29kZSBzeW50YXguDQotTk9S TUFMIGlzIHRoZSBtb3JlIHNhdHVyYXRlZCBjb2xvdXIsIHdoaWNoIHNob3VsZCBiZSB0aGUgZGVm YXVsdC4NCi1GQUlOVCBpcyB0aGUgbGVzcyBzYXR1cmF0ZWQgY29sb3VyLiINCi0gIChpZiBtb2R1 cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50YXgNCi0gICAgICAobGlzdCA6Zm9yZWdyb3VuZCBm YWludCkNCi0gICAgKGxpc3QgOmZvcmVncm91bmQgbm9ybWFsKSkpDQotDQotKGRlZnVuIG1vZHVz LW9wZXJhbmRpLXRoZW1lLWhlYWRpbmctcCAoa2V5KQ0KLSAgIlF1ZXJ5IHN0eWxlIG9mIEtFWSBp biBgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MnLiINCi0gIChjZHIgKGFzc29jIGtleSBt b2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncykpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5k aS10aGVtZS1oZWFkaW5nIChsZXZlbCBmZyBmZy1hbHQgYmcgYm9yZGVyKQ0KLSAgIkNvbmRpdGlv bmFsIHN0eWxlcyBmb3IgYG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzJy4NCi0NCi1MRVZF TCBpcyB0aGUgaGVhZGluZydzIHBvc2l0aW9uIGluIHRoZWlyIG9yZGVyLiAgRkcgaXMgdGhlDQot ZGVmYXVsdCB0ZXh0IGNvbG91ci4gIEZHLUFMVCBpcyBhbiBhY2NlbnRlZCwgbW9yZSBzYXR1cmF0 ZWQgdmFsdWUNCi10aGFuIHRoZSBkZWZhdWx0LiAgQkcgaXMgYSBudWFuY2VkLCB0eXBpY2FsbHkg YWNjZW50ZWQsDQotYmFja2dyb3VuZCB0aGF0IGNhbiB3b3JrIHdlbGwgd2l0aCBlaXRoZXIgb2Yg dGhlIGZvcmVncm91bmQNCi12YWx1ZXMuICBCT1JERVIgaXMgYSBjb2xvdXIgdmFsdWUgdGhhdCBj b21iaW5lcyB3ZWxsIHdpdGggdGhlDQotYmFja2dyb3VuZCBhbmQgYWx0ZXJuYXRpdmUgZm9yZWdy b3VuZC4iDQotICAobGV0KiAoKGtleSAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZy1wIGAs bGV2ZWwpKQ0KLSAgICAgICAgIChzdHlsZSAob3Iga2V5IChtb2R1cy1vcGVyYW5kaS10aGVtZS1o ZWFkaW5nLXAgdCkpKQ0KLSAgICAgICAgICh2YXIgKGlmIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXZh cmlhYmxlLXBpdGNoLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgICAgJ3ZhcmlhYmxlLXBpdGNo DQotICAgICAgICAgICAgICAgICdkZWZhdWx0KSkpDQotICAgIChwY2FzZSBzdHlsZQ0KLSAgICAg ICgnbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBmZykp DQotICAgICAgKCdsaW5lDQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9y ZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAgICAoJ2xpbmUtbm8tYm9sZA0KLSAg ICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVy KSkNCi0gICAgICAoJ3JhaW5ib3cNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIp IDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdyYWluYm93LW5vLWJvbGQNCi0gICAgICAg KGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmctYWx0KSkNCi0gICAgICAoJ3JhaW5i b3ctbGluZQ0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQg ZmctYWx0IDpvdmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgncmFpbmJvdy1saW5lLW5vLWJvbGQN Ci0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmctYWx0IDpvdmVybGlu ZSBib3JkZXIpKQ0KLSAgICAgICgnaGlnaGxpZ2h0DQotICAgICAgIChsaXN0IDppbmhlcml0IGAo Ym9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZykpDQotICAgICAgKCdoaWdo bGlnaHQtbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBi ZyA6Zm9yZWdyb3VuZCBmZykpDQotICAgICAgKCdyYWluYm93LWhpZ2hsaWdodA0KLSAgICAgICAo bGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmct YWx0KSkNCi0gICAgICAoJ3JhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQNCi0gICAgICAgKGxpc3Qg OmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0KSkNCi0gICAg ICAoJ3NlY3Rpb24NCi0gICAgICAgKGFwcGVuZA0KLSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgKGxpc3QgOmluaGVyaXQgYChi b2xkICx2YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnIDpvdmVybGluZSBib3JkZXIp KSkNCi0gICAgICAoJ3NlY3Rpb24tbm8tYm9sZA0KLSAgICAgICAoYXBwZW5kDQotICAgICAgICAo YW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAo bGlzdCA6aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6b3Zlcmxp bmUgYm9yZGVyKSkpDQotICAgICAgKCdyYWluYm93LXNlY3Rpb24NCi0gICAgICAgKGFwcGVuZA0K LSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0K LSAgICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3Jl Z3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkpDQotICAgICAgKCdyYWluYm93LXNlY3Rp b24tbm8tYm9sZA0KLSAgICAgICAoYXBwZW5kDQotICAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpv ci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZh ciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpKQ0K LSAgICAgIChfDQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3Vu ZCBmZykpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9jayAoYmdi bGspDQotICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIGJhY2tncm91bmQgb2YgT3JnIGJsb2Nrcy4N Ci1CR0JMSyBhcHBsaWVzIHRvIGEgZGlzdGluY3QgbmV1dHJhbCBiYWNrZ3JvdW5kLiAgRWxzZSBi bG9ja3MgaGF2ZQ0KLW5vIGJhY2tncm91bmQgb2YgdGhlaXIgb3duICh0aGUgZGVmYXVsdCksIHNv IHRoZXkgbG9vayB0aGUgc2FtZQ0KLWFzIHRoZSByZXN0IG9mIHRoZSBidWZmZXIuDQotDQotYG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGFsc28gYWNjZXB0cyBhIGByYWluYm93JyBv cHRpb24NCi13aGljaCBpcyBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgdG8gYG9yZy1zcmMtYmxvY2st ZmFjZXMnIChzZWUgdGhlDQotdGhlbWUncyBzb3VyY2UgY29kZSkuIg0KLSAgKGlmIChlcSBtb2R1 cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzICdncmV5c2NhbGUpDQotICAgICAgKGFwcGVuZA0K LSAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQot ICAgICAgIChsaXN0IDpiYWNrZ3JvdW5kIGJnYmxrKSkNCi0gICAgKGxpc3QgOmJhY2tncm91bmQg bmlsKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9jay1kZWxpbSAo YmdhY2NlbnQgZmdhY2NlbnQgYmcgZmcpDQotICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIHN0eWxl cyBvZiBPcmcgYmxvY2sgZGVsaW1pdGVycy4NCi1CRywgRkcsIEJHQUNDRU5ULCBGR0FDQ0VOVCBh cHBseSBhIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQNCi1jb2xvdXIgcmVzcGVjdGl2ZWx5Lg0K LQ0KLVRoZSBmb3JtZXIgcGFpciBpcyBhIGdyZXlzY2FsZSBjb21iaW5hdGlvbiB0aGF0IHNob3Vs ZCBiZSBtb3JlDQotZGlzdGluY3QgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYmxvY2suICBJ dCBpcyBhcHBsaWVkIHRvIHRoZQ0KLWRlZmF1bHQgc3R5bGVzIG9yIHdoZW4gYG1vZHVzLW9wZXJh bmRpLXRoZW1lLW9yZy1ibG9ja3MnIGlzIHNldA0KLXRvIGBncmV5c2NhbGUnLg0KLQ0KLVRoZSBs YXR0ZXIgcGFpciBzaG91bGQgYmUgbW9yZSBzdWJ0bGUgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0 aGUNCi1ibG9jaywgYXMgaXQgaXMgdXNlZCB3aGVuIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmct YmxvY2tzJyBpcw0KLXNldCB0byBgcmFpbmJvdycuIg0KLSAgKHBjYXNlIG1vZHVzLW9wZXJhbmRp LXRoZW1lLW9yZy1ibG9ja3MNCi0gICAgKCdncmV5c2NhbGUgKGFwcGVuZCAoYW5kICg+PSBlbWFj cy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAg ICAgKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkNCi0gICAgKCdyYWluYm93 IChsaXN0IDpiYWNrZ3JvdW5kIGJnYWNjZW50IDpmb3JlZ3JvdW5kIGZnYWNjZW50KSkNCi0gICAg KF8gKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkpDQotDQotKGRlZnVuIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAoZmcgYmcgZmctYWx0IGJn LWFsdCBib3JkZXIgYm9yZGVyLTNkICZvcHRpb25hbCBhbHQtc3R5bGUgYm9yZGVyLXdpZHRoIGZn LWRpc3RhbnQpDQotICAiQ29sb3VyIGNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW1vZGUtbGluZScuDQotDQotRkcgYW5kIEJHIGFyZSB0aGUgZGVmYXVsdCBjb2xvdXJzLiAg RkctQUxUIGFuZCBCRy1BTFQgYXJlIG1lYW50DQotdG8gYWNjb21tb2RhdGUgdGhlIG9wdGlvbnMg Zm9yIGEgM0QgbW9kZWxpbmUgb3IgYSBgbW9vZHknDQotY29tcGxpYW50IG9uZS4gIEJPUkRFUiBh cHBsaWVzIHRvIGFsbCBwZXJtdXRhdGlvbnMgb2YgdGhlDQotbW9kZWxpbmUsIGV4Y2VwdCB0aGUg dGhyZWUtZGltZW5zaW9uYWwgZWZmZWN0LCB3aGVyZSBCT1JERVItM0QgaXMNCi11c2VkIGluc3Rl YWQuDQotDQotT3B0aW9uYWwgQUxULVNUWUxFIGFwcGxpZXMgYW4gYXBwcm9wcmlhdGUgc3R5bGUg dG8gdGhlIG1vZGUNCi1saW5lJ3MgYm94IHByb3BlcnR5Lg0KLQ0KLU9wdGlvbmFsIEJPUkRFUi1X SURUSCBzcGVjaWZpZXMgYW4gaW50ZWdlciBmb3IgdGhlIHdpZHRoIG9mIHRoZQ0KLXJlY3Rhbmds ZSB0aGF0IHByb2R1Y2VzIHRoZSBib3ggZWZmZWN0Lg0KLQ0KLU9wdGlvbmFsIEZHLURJU1RBTlQg c2hvdWxkIGJlIGNsb3NlIHRvIHRoZSBtYWluIGJhY2tncm91bmQNCi12YWx1ZXMuICBJdCBpcyBp bnRlbmRlZCB0byBiZSB1c2VkIGFzIGEgZGlzdGFudC1mb3JlZ3JvdW5kDQotcHJvcGVydHkuIg0K LSAgKHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZQ0KLSAgICAoJzNkDQotICAg ICBgKDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdA0KLSAgICAgICAgICAg ICAgICAgICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRlci13aWR0aCAxKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y29sb3IgLGJvcmRlci0zZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGUgLChhbmQgYWx0LXN0eWxlICdyZWxl YXNlZC1idXR0b24pKSkpDQotICAgICgnbW9vZHkNCi0gICAgIGAoOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgLGJvcmRlciA6b3ZlcmxpbmUgLGJvcmRl cg0KLSAgICAgICAgICAgICAgICAgICA6ZGlzdGFudC1mb3JlZ3JvdW5kICxmZy1kaXN0YW50KSkN Ci0gICAgKF8NCi0gICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3JvdW5kICxiZyA6Ym94ICxi b3JkZXIpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYgKGZnLW9ubHkt YmcgZmctb25seS1mZyBtYWluYmcgbWFpbmZnIGFsdGJnIGFsdGZnKQ0KLSAgIkNvbG91ciBjb21i aW5hdGlvbnMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcycuDQotDQotRkctT05MWS1C RyBzaG91bGQgYmUgc2ltaWxhciBvciB0aGUgc2FtZSBhcyB0aGUgbWFpbiBiYWNrZ3JvdW5kLg0K LUZHLU9OTFktRkcgc2hvdWxkIGJlIGEgc2F0dXJhdGVkIGFjY2VudCB2YWx1ZSB0aGF0IGNhbiBi ZQ0KLWNvbWJpbmVkIHdpdGggdGhlIGZvcm1lci4NCi0NCi1NQUlOQkcgbXVzdCBiZSBvbmUgb2Yg dGhlIGRlZGljYXRlZCBiYWNrZ3JvdW5kcyBmb3IgZGlmZnMgd2hpbGUNCi1NQUlORkcgbXVzdCBi ZSB0aGUgc2FtZSBmb3IgdGhlIGZvcmVncm91bmQuDQotDQotQUxUQkcgbmVlZHMgdG8gYmUgYSBz bGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMgbWVhbnQgdG8NCi1iZSBjb21iaW5l ZCB3aXRoIEFMVEZHLiAgQm90aCBtdXN0IGJlIGxlc3MgaW50ZW5zZSB0aGFuIE1BSU5CRw0KLWFu ZCBNQUlORkcgcmVzcGVjdGl2ZWx5LiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1k aWZmcw0KLSAgICAoJ2ZnLW9ubHkgKGxpc3QgOmJhY2tncm91bmQgZmctb25seS1iZyA6Zm9yZWdy b3VuZCBmZy1vbmx5LWZnKSkNCi0gICAgKCdkZXNhdHVyYXRlZCAobGlzdCA6YmFja2dyb3VuZCBh bHRiZyA6Zm9yZWdyb3VuZCBhbHRmZykpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIG1haW5i ZyA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN0YW5kYXJkLWNvbXBsZXRpb25zIChtYWluZmcgc3VidGxlYmcgaW50ZW5zZWJnIGludGVuc2Vm ZykNCi0gICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9u cycuDQotDQotTUFJTkZHIGlzIGFuIGFjY2VudGVkIGZvcmVncm91bmQgdmFsdWUuICBTVUJUTEVC RyBpcyBhbiBhY2NlbnRlZA0KLWJhY2tncm91bmQgdmFsdWUgdGhhdCBjYW4gYmUgY29tYmluZWQg d2l0aCBNQUlORkcuICBJTlRFTlNFQkcgYW5kDQotSU5URU5TRUZHIGFyZSBhY2NlbnRlZCBjb2xv dXJzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW4NCi10YW5kZW0uDQotDQotVGhlc2Ug YXJlIGludGVuZGVkIGZvciBJY29tcGxldGUsIElkbywgYW5kIHJlbGF0ZWQuIg0KLSAgKHBjYXNl IG1vZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zDQotICAgICgnb3BpbmlvbmF0ZWQgKGxp c3QgOmJhY2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykpDQotICAgICgn bW9kZXJhdGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcgOmZvcmVncm91bmQgbWFpbmZnKSkN Ci0gICAgKF8gKGxpc3QgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1v cGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucyAoc3VidGxlZmFjZSBpbnRlbnNlZmFjZSBh bHRmYWNlICZvcHRpb25hbCBhbHRmZyBib2xkKQ0KLSAgIkNvbWJpbmF0aW9ucyBmb3IgYG1vZHVz LW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zJy4NCi0NCi1TVUJUTEVGQUNFIGFuZCBJTlRFTlNF RkFDRSBhcmUgY3VzdG9tIHRoZW1lIGZhY2VzIHRoYXQgY29tYmluZSBhDQotYmFja2dyb3VuZCBh bmQgZm9yZWdyb3VuZCB2YWx1ZS4gIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3bw0KLWlz IGEgbWF0dGVyIG9mIGRlZ3JlZS4NCi0NCi1BTFRGQUNFIGlzIGEgY29tYmluYXRpb24gb2YgY29s b3VycyB0aGF0IHJlcHJlc2VudHMgYSBkZXBhcnR1cmUNCi1mcm9tIHRoZSBVSSdzIGRlZmF1bHQg YWVzdGhldGljcy4gIE9wdGlvbmFsIEFMVEZHIGlzIG1lYW50IHRvIGJlDQotdXNlZCBpbiB0YW5k ZW0gd2l0aCBpdC4NCi0NCi1PcHRpb25hbCBCT0xEIHdpbGwgYXBwbHkgYSBoZWF2aWVyIHdlaWdo dCB0byB0aGUgdGV4dC4NCi0NCi1UaGVzZSBhcmUgaW50ZW5kZWQgZm9yIEhlbG0sIEl2eSwgZXRj LiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAoJ29w aW5pb25hdGVkIChsaXN0IDppbmhlcml0IChsaXN0IGFsdGZhY2UgYm9sZCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAob3IgYWx0ZmcgJ3Vuc3BlY2lmaWVkKSkpDQotICAg ICgnbW9kZXJhdGUgKGxpc3QgOmluaGVyaXQgKGxpc3Qgc3VidGxlZmFjZSBib2xkKSkpDQotICAg IChfIChsaXN0IDppbmhlcml0IChsaXN0IGludGVuc2VmYWNlIGJvbGQpKSkpKQ0KLQ0KLShkZWZ1 biBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSAoYW1vdW50KQ0KLSAgIlNjYWxlIGhlYWRpbmcg YnkgQU1PVU5ULg0KLQ0KLUFNT1VOVCBpcyBhIGN1c3RvbWlzYXRpb24gb3B0aW9uLiINCi0gICh3 aGVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzDQotICAgIChsaXN0IDpoZWln aHQgYW1vdW50KSkpDQotDQotOzs7IENvbG91ciBwYWxldHRlDQotDQotOzsgRGVmaW5lIGNvbG91 ciBwYWxldHRlLiAgRWFjaCBjb2xvdXIgbXVzdCBoYXZlIGEgPj0gNzoxIGNvbnRyYXN0DQotOzsg cmF0aW8gcmVsYXRpdmUgdG8gdGhlIGZvcmVncm91bmQvYmFja2dyb3VuZCBjb2xvdXIgaXQgaXMg cmVuZGVyZWQNCi07OyBhZ2FpbnN0Lg0KLTs7DQotOzsgVGhlIGRlc2lnbiBvZiB0aGUgY29sb3Vy IHBhbGV0dGUgYXMgYSBtYWNybyB0aGF0IG1hcHMgaXQgdG8gZmFjZXMgaXMNCi07OyBhZGFwdGVk IGZyb20gemVuYmVybi10aGVtZS5lbCwgbGFzdCBzZWVuIGF0IGNvbW1pdCA3ZGQ3OTY4Og0KLTs7 IGh0dHBzOi8vZ2l0aHViLmNvbS9iYmF0c292L3plbmJ1cm4tZW1hY3MNCi0oZXZhbC1hbmQtY29t cGlsZQ0KLSAgKGRlZmNvbnN0IG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRlZmF1bHQtY29sb3JzLWFs aXN0DQotICAgICcoOzsgYmFzZSB2YWx1ZXMNCi0gICAgICAoImJnLW1haW4iIC4gIiNmZmZmZmYi KSAoImZnLW1haW4iIC4gIiMwMDAwMDAiKQ0KLSAgICAgICgiYmctYWx0IiAuICIjZjBmMGYwIikg KCJmZy1hbHQiIC4gIiM1MDUwNTAiKQ0KLSAgICAgICgiYmctZGltIiAuICIjZjhmOGY4IikgKCJm Zy1kaW0iIC4gIiMyODI4MjgiKQ0KLSAgICAgIDs7IHNwZWNpZmljYWxseSBmb3Igb24vb2ZmIHN0 YXRlcyAoZS5nLiBgbW9kZS1saW5lJykNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29t YmluZWQgd2l0aCB0aGVtc2VsdmVzDQotICAgICAgKCJiZy1hY3RpdmUiIC4gIiNkN2Q3ZDciKSAo ImZnLWFjdGl2ZSIgLiAiIzBhMGEwYSIpDQotICAgICAgKCJiZy1pbmFjdGl2ZSIgLiAiI2VmZWZl ZiIpICgiZmctaW5hY3RpdmUiIC4gIiM0MDQxNDgiKQ0KLSAgICAgIDs7IHNwZWNpYWwgYmFzZSB2 YWx1ZXMsIHVzZWQgb25seSBmb3IgY2FzZXMgd2hlcmUgdGhlIGFib3ZlDQotICAgICAgOzsgZmct KiBvciBiZy0qIGNhbm5vdCBvciBzaG91bGQgbm90IGJlIHVzZWQgKHRvIGF2b2lkIGNvbmZ1c2lv bikNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IHtmZyxiZ30te21haW4sYWx0LGRp bX0NCi0gICAgICAoImJnLXNwZWNpYWwtY29sZCIgLiAiI2RkZTNmNCIpICgiZmctc3BlY2lhbC1j b2xkIiAuICIjMDkzMDYwIikNCi0gICAgICAoImJnLXNwZWNpYWwtbWlsZCIgLiAiI2M0ZWRlMCIp ICgiZmctc3BlY2lhbC1taWxkIiAuICIjMTg0MDM0IikNCi0gICAgICAoImJnLXNwZWNpYWwtd2Fy bSIgLiAiI2YwZTBkNCIpICgiZmctc3BlY2lhbC13YXJtIiAuICIjNWQzMDI2IikNCi0gICAgICAo ImJnLXNwZWNpYWwtY2FsbSIgLiAiI2Y4ZGRlYSIpICgiZmctc3BlY2lhbC1jYWxtIiAuICIjNjEy ODRmIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIHRoZSBtYWluIGNvbnN0cnVjdHMNCi0gICAgICA7 Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0Jywg YGJnLWRpbScNCi0gICAgICAoInJlZCIgLiAiI2E2MDAwMCIpICgiZ3JlZW4iIC4gIiMwMDVlMDAi KQ0KLSAgICAgICgieWVsbG93IiAuICIjODEzZTAwIikgKCJibHVlIiAuICIjMDAzMWE5IikNCi0g ICAgICAoIm1hZ2VudGEiIC4gIiM3MjEwNDUiKSAoImN5YW4iIC4gIiMwMDUzOGIiKQ0KLSAgICAg IDs7IHN0eWxlcyBmb3IgY29tbW9uLCBidXQgc3RpbGwgc3BlY2lhbGlzZWQgY29uc3RydWN0cw0K LSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBi Zy1hbHQnLCBgYmctZGltJw0KLSAgICAgICgicmVkLWFsdCIgLiAiIzk3MjUwMCIpICgiZ3JlZW4t YWx0IiAuICIjMzE1YjAwIikNCi0gICAgICAoInllbGxvdy1hbHQiIC4gIiM3MDQ4MGYiKSAoImJs dWUtYWx0IiAuICIjMjU0NGJiIikNCi0gICAgICAoIm1hZ2VudGEtYWx0IiAuICIjOGYwMDc1Iikg KCJjeWFuLWFsdCIgLiAiIzMwNTE3ZiIpDQotICAgICAgOzsgc2FtZSBwdXJwb3NlIGFzIGFib3Zl LCBqdXN0IHNsaWdodCBkaWZmZXJlbmNlcw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBj b21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQnLCBgYmctZGltJw0KLSAgICAgICgicmVk LWFsdC1vdGhlciIgLiAiI2EwMTMyZiIpICgiZ3JlZW4tYWx0LW90aGVyIiAuICIjMTQ1YzMzIikN Ci0gICAgICAoInllbGxvdy1hbHQtb3RoZXIiIC4gIiM4NjM5MjciKSAoImJsdWUtYWx0LW90aGVy IiAuICIjMDAwMGMwIikNCi0gICAgICAoIm1hZ2VudGEtYWx0LW90aGVyIiAuICIjNTMxN2FjIikg KCJjeWFuLWFsdC1vdGhlciIgLiAiIzAwNWE1ZiIpDQotICAgICAgOzsgc3R5bGVzIGZvciBkZXNh dHVyYXRlZCBmb3JlZ3JvdW5kIHRleHQsIGludGVuZGVkIGZvciB1c2Ugd2l0aA0KLSAgICAgIDs7 IHRoZSBgbW9kdXMtb3BlcmFuZGktdGhlbWUtZmFpbnQtc3ludGF4JyBvcHRpb24NCi0gICAgICA7 Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0Jywg YGJnLWRpbScNCi0gICAgICAoInJlZC1mYWludCIgLiAiIzdmMTAxMCIpICgiZ3JlZW4tZmFpbnQi IC4gIiMxMDQ0MTAiKQ0KLSAgICAgICgieWVsbG93LWZhaW50IiAuICIjNWY0NDAwIikgKCJibHVl LWZhaW50IiAuICIjMDAyZjg4IikNCi0gICAgICAoIm1hZ2VudGEtZmFpbnQiIC4gIiM3NTJmNTAi KSAoImN5YW4tZmFpbnQiIC4gIiMxMjUwNmYiKQ0KLQ0KLSAgICAgICgicmVkLWFsdC1mYWludCIg LiAiIzcwMmYwMCIpICgiZ3JlZW4tYWx0LWZhaW50IiAuICIjMzA0NDBmIikNCi0gICAgICAoInll bGxvdy1hbHQtZmFpbnQiIC4gIiM1ZDUwMDAiKSAoImJsdWUtYWx0LWZhaW50IiAuICIjMDAzZjc4 IikNCi0gICAgICAoIm1hZ2VudGEtYWx0LWZhaW50IiAuICIjNzAyNTY1IikgKCJjeWFuLWFsdC1m YWludCIgLiAiIzM1NGY2ZiIpDQotDQotICAgICAgKCJyZWQtYWx0LW90aGVyLWZhaW50IiAuICIj N2YwMDJmIikgKCJncmVlbi1hbHQtb3RoZXItZmFpbnQiIC4gIiMwZjQ0M2YiKQ0KLSAgICAgICgi eWVsbG93LWFsdC1vdGhlci1mYWludCIgLiAiIzVlM2EyMCIpICgiYmx1ZS1hbHQtb3RoZXItZmFp bnQiIC4gIiMxZjJmNmYiKQ0KLSAgICAgICgibWFnZW50YS1hbHQtb3RoZXItZmFpbnQiIC4gIiM1 ZjNmN2YiKSAoImN5YW4tYWx0LW90aGVyLWZhaW50IiAuICIjMmU1ODRmIikNCi0gICAgICA7OyBz dHlsZXMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZlcnkgc3VidGxlLCB5ZXQgYWNjZW50 ZWQNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4n LCBgYmctYWx0JywgYGJnLWRpbScgb3IgYW55IG9mDQotICAgICAgOzsgdGhlICJudWFuY2VkIiBi YWNrZ3JvdW5kcw0KLSAgICAgICgicmVkLW51YW5jZWQiIC4gIiM1ZjAwMDAiKSAoImdyZWVuLW51 YW5jZWQiIC4gIiMwMDQwMDAiKQ0KLSAgICAgICgieWVsbG93LW51YW5jZWQiIC4gIiMzZjMwMDAi KSAoImJsdWUtbnVhbmNlZCIgLiAiIzIwMWY1NSIpDQotICAgICAgKCJtYWdlbnRhLW51YW5jZWQi IC4gIiM1NDFmNGYiKSAoImN5YW4tbnVhbmNlZCIgLiAiIzBmMzM2MCIpDQotICAgICAgOzsgc3R5 bGVzIGZvciBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kDQotICAgICAgOzsNCi0gICAgICA7 OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBhYm92ZSBmb3JlZ3JvdW5kIHZhbHVl cw0KLSAgICAgICgicmVkLW51YW5jZWQtYmciIC4gIiNmZmYxZjAiKSAoImdyZWVuLW51YW5jZWQt YmciIC4gIiNlY2Y3ZWQiKQ0KLSAgICAgICgieWVsbG93LW51YW5jZWQtYmciIC4gIiNmZmYzZGEi KSAoImJsdWUtbnVhbmNlZC1iZyIgLiAiI2YzZjNmZiIpDQotICAgICAgKCJtYWdlbnRhLW51YW5j ZWQtYmciIC4gIiNmZGYwZmYiKSAoImN5YW4tbnVhbmNlZC1iZyIgLiAiI2ViZjZmYSIpDQotICAg ICAgOzsgc3R5bGVzIGZvciBlbGVtZW50cyB0aGF0IHNob3VsZCBkcmF3IGF0dGVudGlvbiB0byB0 aGVtc2VsdmVzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBi Zy1tYWluJw0KLSAgICAgICgicmVkLWludGVuc2UiIC4gIiNiNjAwMDAiKSAoImdyZWVuLWludGVu c2UiIC4gIiMwMDY4MDAiKQ0KLSAgICAgICgieWVsbG93LWludGVuc2UiIC4gIiM5MDQyMDAiKSAo ImJsdWUtaW50ZW5zZSIgLiAiIzExMTFlZSIpDQotICAgICAgKCJtYWdlbnRhLWludGVuc2UiIC4g IiM3MDAwZTAiKSAoImN5YW4taW50ZW5zZSIgLiAiIzIwNWI5MyIpDQotICAgICAgOzsgc3R5bGVz IGZvciBiYWNrZ3JvdW5kIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZpc2libGUgeWV0DQotICAg ICAgOzsgc3VidGxlDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6 IGBmZy1kaW0nDQotICAgICAgKCJyZWQtc3VidGxlLWJnIiAuICIjZjJiMGEyIikgKCJncmVlbi1z dWJ0bGUtYmciIC4gIiNhZWNmOTAiKQ0KLSAgICAgICgieWVsbG93LXN1YnRsZS1iZyIgLiAiI2U0 YzM0MCIpICgiYmx1ZS1zdWJ0bGUtYmciIC4gIiNiNWQwZmYiKQ0KLSAgICAgICgibWFnZW50YS1z dWJ0bGUtYmciIC4gIiNmMGQzZmYiKSAoImN5YW4tc3VidGxlLWJnIiAuICIjYzBlZmZmIikNCi0g ICAgICA7OyBzdHlsZXMgZm9yIGJhY2tncm91bmQgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgdmlz aWJsZSBhbmQNCi0gICAgICA7OyBkaXN0aW5ndWlzaGFibGUNCi0gICAgICA7Ow0KLSAgICAgIDs7 IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGZnLW1haW4nDQotICAgICAgKCJyZWQtaW50ZW5zZS1i ZyIgLiAiI2ZmODg5MiIpICgiZ3JlZW4taW50ZW5zZS1iZyIgLiAiIzVhZGE4OCIpDQotICAgICAg KCJ5ZWxsb3ctaW50ZW5zZS1iZyIgLiAiI2Y1ZGYyMyIpICgiYmx1ZS1pbnRlbnNlLWJnIiAuICIj NmFhZWZmIikNCi0gICAgICAoIm1hZ2VudGEtaW50ZW5zZS1iZyIgLiAiI2Q1YmFmZiIpICgiY3lh bi1pbnRlbnNlLWJnIiAuICIjNDJjYmQ0IikNCi0gICAgICA7OyBzdHlsZXMgZm9yIHJlZmluZWQg Y29udGV4dHMgd2hlcmUgYm90aCB0aGUgZm9yZWdyb3VuZCBhbmQgdGhlDQotICAgICAgOzsgYmFj a2dyb3VuZCBuZWVkIHRvIGhhdmUgdGhlIHNhbWUvc2ltaWxhciBodWUNCi0gICAgICA7Ow0KLSAg ICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCB0aGVtc2VsdmVzIE9SIHRoZSBmb3JlZ3JvdW5k cyBjYW4gYmUNCi0gICAgICA7OyBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgYmFzZSBiYWNrZ3Jv dW5kcw0KLSAgICAgICgicmVkLXJlZmluZS1iZyIgLiAiI2ZmY2NjYyIpICgicmVkLXJlZmluZS1m ZyIgLiAiIzc4MDAwMCIpDQotICAgICAgKCJncmVlbi1yZWZpbmUtYmciIC4gIiNhY2VhYWMiKSAo ImdyZWVuLXJlZmluZS1mZyIgLiAiIzAwNGMwMCIpDQotICAgICAgKCJ5ZWxsb3ctcmVmaW5lLWJn IiAuICIjZmZmMjlhIikgKCJ5ZWxsb3ctcmVmaW5lLWZnIiAuICIjNjA0MDAwIikNCi0gICAgICAo ImJsdWUtcmVmaW5lLWJnIiAuICIjOGFjN2ZmIikgKCJibHVlLXJlZmluZS1mZyIgLiAiIzAwMjI4 OCIpDQotICAgICAgKCJtYWdlbnRhLXJlZmluZS1iZyIgLiAiI2ZmY2NmZiIpICgibWFnZW50YS1y ZWZpbmUtZmciIC4gIiM3NzAwNzciKQ0KLSAgICAgICgiY3lhbi1yZWZpbmUtYmciIC4gIiM4ZWVj ZjQiKSAoImN5YW4tcmVmaW5lLWZnIiAuICIjMDA0ODUwIikNCi0gICAgICA7OyBzdHlsZXMgdGhh dCBhcmUgbWVhbnQgZXhjbHVzaXZlbHkgZm9yIHRoZSBtb2RlIGxpbmUNCi0gICAgICA7Ow0KLSAg ICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLWFjdGl2ZScsIGBiZy1pbmFjdGl2ZScN Ci0gICAgICAoInJlZC1hY3RpdmUiIC4gIiM4YTAwMDAiKSAoImdyZWVuLWFjdGl2ZSIgLiAiIzAw NGMyZSIpDQotICAgICAgKCJ5ZWxsb3ctYWN0aXZlIiAuICIjNzAyZDFmIikgKCJibHVlLWFjdGl2 ZSIgLiAiIzAwMzBiNCIpDQotICAgICAgKCJtYWdlbnRhLWFjdGl2ZSIgLiAiIzVjMjA5MiIpICgi Y3lhbi1hY3RpdmUiIC4gIiMwMDNmOGEiKQ0KLSAgICAgIDs7IHN0eWxlcyB0aGF0IGFyZSBtZWFu dCBleGNsdXNpdmVseSBmb3IgdGhlIGZyaW5nZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3Qg YmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICAoInJlZC1mcmluZ2UtYmciIC4gIiNm MDgyOTAiKSAoImdyZWVuLWZyaW5nZS1iZyIgLiAiIzYyYzg2YSIpDQotICAgICAgKCJ5ZWxsb3ct ZnJpbmdlLWJnIiAuICIjZGJiYTNmIikgKCJibHVlLWZyaW5nZS1iZyIgLiAiIzgyYWZmZiIpDQot ICAgICAgKCJtYWdlbnRhLWZyaW5nZS1iZyIgLiAiI2UwYTNmZiIpICgiY3lhbi1mcmluZ2UtYmci IC4gIiMyZmNkZGYiKQ0KLSAgICAgIDs7IHN0eWxlcyByZXNlcnZlZCBmb3Igc3BlY2lmaWMgZmFj ZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1obC1saW5lJyBpcyBiZXR3ZWVuIGBiZy1kaW0n IGFuZCBgYmctYWx0Jywgc28gaXQgc2hvdWxkDQotICAgICAgOzsgd29yayB3aXRoIGFsbCBhY2Nl bnRzIHRoYXQgY292ZXIgdGhvc2UgdHdvLCBwbHVzIGBiZy1tYWluJw0KLSAgICAgIDs7DQotICAg ICAgOzsgYGJnLWhsLWFsdCcgYW5kIGBiZy1obC1hbHQtaW50ZW5zZScgc2hvdWxkIG9ubHkgYmUg dXNlZCB3aGVuIG5vDQotICAgICAgOzsgb3RoZXIgZ3JleXNjYWxlIG9yIGZhaXJseSBuZXV0cmFs IGJhY2tncm91bmQgaXMgYXZhaWxhYmxlIHRvDQotICAgICAgOzsgcHJvcGVybHkgZHJhdyBhdHRl bnRpb24gdG8gYSBnaXZlbiBjb25zdHJ1Y3QNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1oZWFk ZXInIGlzIGJldHdlZW4gYGJnLWFjdGl2ZScgYW5kIGBiZy1pbmFjdGl2ZScsIHNvIGl0DQotICAg ICAgOzsgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSAiYWN0aXZlIiB2YWx1ZXMsIHBs dXMgdGhlDQotICAgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNlIGZvcmVncm91bmQgY29sb3Vycw0K LSAgICAgIDs7DQotICAgICAgOzsgYGJnLXBhcmVuLW1hdGNoJywgYGJnLXBhcmVuLW1hdGNoLWlu dGVuc2UnLCBgYmctcmVnaW9uJyBhbmQNCi0gICAgICA7OyBgYmctdGFiLWFjdGl2ZScgbXVzdCBi ZSBjb21iaW5lZCB3aXRoIGBmZy1tYWluJywgd2hpbGUNCi0gICAgICA7OyBgYmctdGFiLWluYWN0 aXZlJyBzaG91bGQgYmUgY29tYmluZWQgd2l0aCBgZmctZGltJw0KLSAgICAgIDs7DQotICAgICAg OzsgYGJnLXRhYi1iYXInIGlzIG9ubHkgaW50ZW5kZWQgZm9yIHRoZSBiYXIgdGhhdCBob2xkcyB0 aGUgdGFicyBhbmQNCi0gICAgICA7OyBjYW4gb25seSBiZSBjb21iaW5lZCB3aXRoIGBmZy1tYWlu Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLXRhYi1hY3RpdmUnIGlzIG1lYW50IHRvIGJlIGNv bWJpbmVkIHdpdGggYGJnLXRhYi1hY3RpdmUnLA0KLSAgICAgIDs7IHRob3VnaCBvbmx5IGZvciBz dHlsaW5nIHNwZWNpYWwgZWxlbWVudHMsIHN1Y2ggYXMgdW5kZXJsaW5pbmcNCi0gICAgICA7OyB0 aGUgY3VycmVudCB0YWINCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy1lc2NhcGUtY2hhci1jb25z dHJ1Y3QnIGFuZCBgZmctZXNjYXBlLWNoYXItYmFja3NsYXNoJyBjYW4NCi0gICAgICA7OyBiZSBj b21iaW5lZCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0Jw0KLSAgICAgIDs7DQotICAgICAg OzsgYGZnLWxhbmctZXJyb3InLCBgZmctbGFuZy13YXJuaW5nJywgYGZnLWxhbmctbm90ZScgY2Fu IGJlDQotICAgICAgOzsgY29tYmluZWQgd2l0aCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0 Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLW1hcmstc2VsJywgYGZnLW1hcmstZGVsJywgYGZn LW1hcmstYWx0JyBjYW4gYmUgY29tYmluZWQNCi0gICAgICA7OyB3aXRoIGBiZy1tYWluJywgYGJn LWRpbScsIGBiZy1hbHQnLCBgYmctaGwtbGluZScNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy11 bmZvY3VzZWQnIG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICA7Ow0KLSAg ICAgIDs7IHRoZSB3aW5kb3cgZGl2aWRlciBjb2xvdXJzIGFwcGx5IHRvIGZhY2VzIHdpdGgganVz dCBhbiBmZyB2YWx1ZQ0KLSAgICAgIDs7DQotICAgICAgOzsgYWxsIHBhaXJzIGFyZSBjb21iaW5h YmxlIHdpdGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmctaGwtbGluZSIgLiAiI2YyZWZmMyIpDQot ICAgICAgKCJiZy1obC1saW5lLWludGVuc2UiIC4gIiNlMGUwZTAiKQ0KLSAgICAgICgiYmctaGwt YWx0IiAuICIjZmJlZWUwIikNCi0gICAgICAoImJnLWhsLWFsdC1pbnRlbnNlIiAuICIjZThkZmQx IikNCi0gICAgICAoImJnLXBhcmVuLW1hdGNoIiAuICIjZTBhZjgyIikNCi0gICAgICAoImJnLXBh cmVuLW1hdGNoLWludGVuc2UiIC4gIiNjNDg4ZmYiKQ0KLSAgICAgICgiYmctcmVnaW9uIiAuICIj YmNiY2JjIikNCi0NCi0gICAgICAoImJnLXRhYi1iYXIiIC4gIiNkNWQ1ZDUiKQ0KLSAgICAgICgi YmctdGFiLWFjdGl2ZSIgLiAiI2Y2ZjZmNiIpDQotICAgICAgKCJiZy10YWItaW5hY3RpdmUiIC4g IiNiZGJkYmQiKQ0KLSAgICAgICgiZmctdGFiLWFjdGl2ZSIgLiAiIzMwMTY5ZSIpDQotDQotICAg ICAgKCJmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QiIC4gIiM4YjEwMzAiKQ0KLSAgICAgICgiZmct ZXNjYXBlLWNoYXItYmFja3NsYXNoIiAuICIjNjU0ZDBmIikNCi0NCi0gICAgICAoImZnLWxhbmct ZXJyb3IiIC4gIiM5ZjAwNGYiKQ0KLSAgICAgICgiZmctbGFuZy13YXJuaW5nIiAuICIjNjA0ZjBm IikNCi0gICAgICAoImZnLWxhbmctbm90ZSIgLiAiIzQwNDBhZSIpDQotDQotICAgICAgKCJmZy13 aW5kb3ctZGl2aWRlci1pbm5lciIgLiAiIzg4ODg4OCIpDQotICAgICAgKCJmZy13aW5kb3ctZGl2 aWRlci1vdXRlciIgLiAiIzU4NTg1OCIpDQotDQotICAgICAgKCJmZy11bmZvY3VzZWQiIC4gIiM1 NjU3NmQiKQ0KLQ0KLSAgICAgICgiYmctaGVhZGVyIiAuICIjZTVlNWU1IikgKCJmZy1oZWFkZXIi IC4gIiMyYTJhMmEiKQ0KLQ0KLSAgICAgICgiYmctd2hpdGVzcGFjZSIgLiAiI2ZmZjhmYyIpICgi Zmctd2hpdGVzcGFjZSIgLiAiIzY0NTA2MCIpDQotDQotICAgICAgKCJiZy1kaWZmLWhlYWRpbmci IC4gIiNiN2MyZGQiKSAoImZnLWRpZmYtaGVhZGluZyIgLiAiIzA0MzM1NSIpDQotICAgICAgKCJi Zy1kaWZmLWFkZGVkIiAuICIjZDRmYWQ0IikgKCJmZy1kaWZmLWFkZGVkIiAuICIjMDA0NTAwIikN Ci0gICAgICAoImJnLWRpZmYtY2hhbmdlZCIgLiAiI2ZjZWZjZiIpICgiZmctZGlmZi1jaGFuZ2Vk IiAuICIjNTI0MjAwIikNCi0gICAgICAoImJnLWRpZmYtcmVtb3ZlZCIgLiAiI2ZmZThlZiIpICgi ZmctZGlmZi1yZW1vdmVkIiAuICIjNjkxNjE2IikNCi0NCi0gICAgICAoImJnLWRpZmYtcmVmaW5l LWFkZGVkIiAuICIjOTRjZjk0IikgKCJmZy1kaWZmLXJlZmluZS1hZGRlZCIgLiAiIzAwMmEwMCIp DQotICAgICAgKCJiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIiAuICIjY2NjZjhmIikgKCJmZy1kaWZm LXJlZmluZS1jaGFuZ2VkIiAuICIjMzAyMDEwIikNCi0gICAgICAoImJnLWRpZmYtcmVmaW5lLXJl bW92ZWQiIC4gIiNkYWEyYjAiKSAoImZnLWRpZmYtcmVmaW5lLXJlbW92ZWQiIC4gIiM0MDAwMDAi KQ0KLQ0KLSAgICAgICgiYmctZGlmZi1mb2N1cy1hZGRlZCIgLiAiI2JiZWFiYiIpICgiZmctZGlm Zi1mb2N1cy1hZGRlZCIgLiAiIzAwMmMwMCIpDQotICAgICAgKCJiZy1kaWZmLWZvY3VzLWNoYW5n ZWQiIC4gIiNlY2RmYmYiKSAoImZnLWRpZmYtZm9jdXMtY2hhbmdlZCIgLiAiIzM5MjkwMCIpDQot ICAgICAgKCJiZy1kaWZmLWZvY3VzLXJlbW92ZWQiIC4gIiNlZmNiY2YiKSAoImZnLWRpZmYtZm9j dXMtcmVtb3ZlZCIgLiAiIzRhMDAwMCIpDQotDQotICAgICAgKCJiZy1kaWZmLW5ldXRyYWwtMCIg LiAiIzk3OTc5NyIpICgiZmctZGlmZi1uZXV0cmFsLTAiIC4gIiMwNDA0MDQiKQ0KLSAgICAgICgi YmctZGlmZi1uZXV0cmFsLTEiIC4gIiNiMGIwYjAiKSAoImZnLWRpZmYtbmV1dHJhbC0xIiAuICIj MjUyNTI1IikNCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0yIiAuICIjY2NjY2NjIikgKCJmZy1k aWZmLW5ldXRyYWwtMiIgLiAiIzNhM2EzYSIpDQotDQotICAgICAgKCJiZy1tYXJrLXNlbCIgLiAi I2EwZjBjZiIpICgiZmctbWFyay1zZWwiIC4gIiMwMDUwNDAiKQ0KLSAgICAgICgiYmctbWFyay1k ZWwiIC4gIiNmZmNjYmIiKSAoImZnLW1hcmstZGVsIiAuICIjODQwMDQwIikNCi0gICAgICAoImJn LW1hcmstYWx0IiAuICIjZjVkODhmIikgKCJmZy1tYXJrLWFsdCIgLiAiIzc4MjkwMCIpKQ0KLSAg ICAiVGhlIGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy1vcGVyYW5kaS10aGVtZScuDQotRWFjaCBl bGVtZW50IGhhcyB0aGUgZm9ybSAoTkFNRSAuIEhFWCkuIikNCi0NCi0gIChkZWZjdXN0b20gbW9k dXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0ICcoKQ0KLSAgICAiQXNzb2Np YXRpb24gbGlzdCBvZiBwYWxldHRlIGNvbG91ciBvdmVycmlkZXMuDQotVmFsdWVzIGNhbiBiZSBt YXBwZWQgdG8gdmFyaWFibGVzLCB1c2luZyB0aGUgc2FtZSBzeW50YXggYXMgdGhlDQotb25lIHBy ZXNlbnQgaW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRlZmF1bHQtY29sb3JzLWFsaXN0Jy4NCi0N Ci1UaGlzIGlzIG9ubHkgbWVhbnQgZm9yIGRvLWl0LXlvdXJzZWxmIHVzYWdlLCB3aXRoIHRoZQ0K LXVuZGVyc3RhbmRpbmcgdGhhdCB0aGUgdXNlciBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHJlc3Vs dGluZw0KLWNvbnRyYXN0IHJhdGlvIGJldHdlZW4gbmV3IGFuZCBleGlzdGluZyBjb2xvdXJzLiIN Ci0gICAgOnR5cGUgJyhhbGlzdA0KLSAgICAgICAgICAgIDprZXktdHlwZSAoc3RyaW5nIDp0YWcg Ik5hbWUiKQ0KLSAgICAgICAgICAgIDp2YWx1ZS10eXBlIChzdHJpbmcgOnRhZyAiIEhleCIpKSkN Ci0NCi0gIChkZWZtYWNybyBtb2R1cy1vcGVyYW5kaS10aGVtZS13aXRoLWNvbG9yLXZhcmlhYmxl cyAoJnJlc3QgYm9keSkNCi0gICAgImBsZXQnIGJpbmQgYWxsIGNvbG91cnMgYXJvdW5kIEJPRFku DQotQWxzbyBiaW5kIGBjbGFzcycgdG8gKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgODkpKS4i DQotICAgIChkZWNsYXJlIChpbmRlbnQgMCkpDQotICAgIGAobGV0ICgoY2xhc3MgJygoY2xhc3Mg Y29sb3IpIChtaW4tY29sb3JzIDg5KSkpDQotICAgICAgICAgICAsQChtYXBjYXIgKGxhbWJkYSAo Y29ucykNCi0gICAgICAgICAgICAgICAgICAgICAgIChsaXN0IChpbnRlcm4gKGNhciBjb25zKSkg KGNkciBjb25zKSkpDQotICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBtb2R1cy1vcGVyYW5k aS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0KSkNCi0gICAgICAg ICAgIDs7IHNpbXBsZSBjb25kaXRpb25hbCBzdHlsZXMgdGhhdCBldmFsdWF0ZSB1c2VyLWZhY2lu Zw0KLSAgICAgICAgICAgOzsgY3VzdG9taXNhdGlvbiBvcHRpb25zDQotICAgICAgICAgICAobW9k dXMtdGhlbWUtc2xhbnQNCi0gICAgICAgICAgICAoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2xh bnRlZC1jb25zdHJ1Y3RzICdpdGFsaWMgJ25vcm1hbCkpDQotICAgICAgICAgICAobW9kdXMtdGhl bWUtdmFyaWFibGUtcGl0Y2gNCi0gICAgICAgICAgICAoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUt dmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgJ3ZhcmlhYmxlLXBpdGNoICdkZWZhdWx0KSkpDQotICAg ICAgICxAYm9keSkpKQ0KLQ0KLQwNCi0NCi07OzsgRmFjZXMNCi0NCi0obW9kdXMtb3BlcmFuZGkt dGhlbWUtd2l0aC1jb2xvci12YXJpYWJsZXMNCi0gIChjdXN0b20tdGhlbWUtc2V0LWZhY2VzDQot ICAgJ21vZHVzLW9wZXJhbmRpDQotOzs7OyBjdXN0b20gZmFjZXMNCi0gICA7OyB0aGVzZSBiZXNw b2tlIGZhY2VzIGFyZSBpbmhlcml0ZWQgYnkgb3RoZXIgY29uc3RydWN0cyBiZWxvdw0KLTs7Ozs7 IHN1YnRsZSBjb2xvdXJlZCBiYWNrZ3JvdW5kcw0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLXJl ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQg LGdyZWVuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVt ZS1zdWJ0bGUteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQot ICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFn ZW50YS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUt c3VidGxlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07 Ozs7OyBpbnRlbnNlIGNvbG91cmVkIGJhY2tncm91bmRzDQotICAgYChtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ct aW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaW50 ZW5zZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5 YW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUt aW50ZW5zZS1uZXV0cmFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi07Ozs7OyByZWZpbmVkIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQg Y29tYmluYXRpb25zDQotICAgOzsgZ2VuZXJhbCBwdXJwb3NlIHN0eWxlcyB0aGF0IHVzZSBhbiBh Y2NlbnRlZCBmb3JlZ3JvdW5kIGFnYWluc3QgYW4NCi0gICA7OyBhY2NlbnRlZCBiYWNrZ3JvdW5k DQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQt cmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVt ZS1yZWZpbmUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXJlZmluZS1iZyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUteWVs bG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZn KSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsbWFnZW50YS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQot ICAgYChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1y ZWZpbmUtYmcgOmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkpDQotOzs7OzsgImFjdGl2ZSIg Y29tYmluYXRpb25zLCBtb3N0bHkgZm9yIHVzZSBvbiB0aGUgbW9kZSBsaW5lDQotICAgYChtb2R1 cy10aGVtZS1hY3RpdmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtYWN0aXZlIDpmb3Jl Z3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbiAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkN Ci0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHll bGxvdy1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUt YWN0aXZlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtYWN0aXZlIDpmb3JlZ3JvdW5k ICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQot ICAgYChtb2R1cy10aGVtZS1hY3RpdmUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1h Y3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLTs7Ozs7IG51YW5jZWQgYmFja2dyb3Vu ZHMNCi0gICA7OyB1c2VmdWwgZm9yIGFkZGluZyBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQg aXMgc3VpdGFibGUgZm9yIGFsbA0KLSAgIDs7IG1haW4gZm9yZWdyb3VuZCBjb2xvdXJzIChpbnRl bmRlZCBmb3IgdXNlIGluIE9yZyBzb3VyY2UgYmxvY2tzKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVh bmNlZC1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1udWFuY2VkLWJnDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNp b24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4g KCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3 KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdyAoKCxj bGFzcyA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykg Jyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVu ZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsbWFnZW50YS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRl bmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkp KQ0KLTs7Ozs7IGZyaW5nZS1zcGVjaWZpYyBjb21iaW5hdGlvbnMNCi0gICBgKG1vZHVzLXRoZW1l LWZyaW5nZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1mcmluZ2UtYmcgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsZ3JlZW4tZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ct ZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1mcmlu Z2UtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1mcmluZ2UtYmcgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxtYWdlbnRhLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAobW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tZnJp bmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7Ozsgc3BlY2lhbCBiYXNlIHZhbHVl cw0KLSAgIDs7IHRoZXNlIGFyZSBjbG9zZXIgdG8gdGhlIGdyYXlzY2FsZSB0aGFuIHRoZSBhY2Nl bnRzIGRlZmluZWQgYWJvdmUNCi0gICA7OyBhbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRo ZSBuZXh0IGNsb3Nlc3QgYWx0ZXJuYXRpdmUgd291bGQgYmUNCi0gICA7OyBhIGdyZXlzY2FsZSB2 YWx1ZSB0aGFuIGFuIGFjY2VudGVkIG9uZQ0KLSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xk ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1zcGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1zcGVjaWFsLXdhcm0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtc3BlY2lhbC1jYWxtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNh bG0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IGRpZmYtc3BlY2lmaWMg Y29tYmluYXRpb25zDQotICAgOzsgaW50ZW5kZWQgZm9yIGBkaWZmLW1vZGUnIG9yIGVxdWl2YWxl bnQNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4gZ3JlZW4NCi0g ICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0K LSAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkKSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1tYWluIHllbGxvdw0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZA0K LSAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgZmctZGlmZi1jaGFuZ2VkKSkpKQ0K LSAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1tYWluIHJlZA0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1yZW1vdmVkIGZnLWRpZmYtZm9jdXMtcmVtb3ZlZA0K LSAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVkKSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmct ZGlmZi1hZGRlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtYWRkZWQgZmctZGlm Zi1yZWZpbmUtYWRkZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmct ZGlmZi1mb2N1cy1hZGRlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5n ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAg ICAgICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCi0gICAgICAgICAgICAg ICAgIGJnLWRpZmYtcmVmaW5lLWNoYW5nZWQgZmctZGlmZi1yZWZpbmUtY2hhbmdlZA0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZCkp KSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQNCi0gICAgICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYt cmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5l LXJlbW92ZWQgZmctZGlmZi1yZWZpbmUtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlm Zi1mb2N1cy1yZW1vdmVkIGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKSkNCi0gICBgKG1vZHVzLXRo ZW1lLWRpZmYtZm9jdXMtYWRkZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpbSBncmVlbg0KLSAgICAgICAgICAgICAg ICAgYmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQotICAgICAgICAgICAg ICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1k aWZmLWZvY3VzLWNoYW5nZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpbSB5ZWxsb3cNCi0gICAgICAgICAgICAgICAg IGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQNCi0gICAgICAgICAg ICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAgYChtb2R1cy10 aGVtZS1kaWZmLWZvY3VzLXJlbW92ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpbSByZWQNCi0gICAgICAgICAgICAg ICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQNCi0gICAgICAg ICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQpKSkpDQotICAgYChtb2R1 cy10aGVtZS1kaWZmLWhlYWRpbmcNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWFsdCBibHVlLWFsdA0KLSAgICAgICAgICAg ICAgICAgYmctZGlmZi1oZWFkaW5nIGZnLWRpZmYtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAg Ymx1ZS1udWFuY2VkLWJnIGJsdWUpKSkpDQotOzs7OzsgbWFyayBpbmRpY2F0b3JzDQotICAgOzsg Y29sb3VyIGNvbWJpbmF0aW9ucyBpbnRlbmRlZCBmb3IgRGlyZWQsIElidWZmZXIsIG9yIGVxdWl2 YWxlbnQNCi0gICBgKG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1hbHQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctbWFyay1hbHQgOmZvcmVncm91 bmQgLGZnLW1hcmstYWx0KSkpDQotICAgYChtb2R1cy10aGVtZS1tYXJrLWRlbCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1tYXJrLWRlbCA6Zm9yZWdyb3VuZCAsZmctbWFy ay1kZWwpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW1hcmstc2VsICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJnLW1hcmstc2VsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLXNlbCkpKQ0K LSAgIGAobW9kdXMtdGhlbWUtbWFyay1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBoZWFkaW5nIGxldmVscw0KLSAgIDs7IHN0eWxl cyBmb3IgcmVndWxhciBoZWFkaW5ncyB1c2VkIGluIE9yZywgTWFya2Rvd24sIEluZm8sIGV0Yy4N Ci0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctMQ0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgMSBmZy1tYWluIG1hZ2VudGEt YWx0LW90aGVyIG1hZ2VudGEtbnVhbmNlZC1iZyBiZy1yZWdpb24pDQotICAgICAgICAgICAgICAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00 KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0yDQotICAgICAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAyIGZnLXNwZWNpYWwt d2FybSBtYWdlbnRhLWFsdCByZWQtbnVhbmNlZC1iZyBiZy1yZWdpb24pDQotICAgICAgICAgICAg ICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2Fs ZS0zKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0zDQotICAgICAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAzIGZnLXNwZWNp YWwtY29sZCBibHVlIGJsdWUtbnVhbmNlZC1iZyBiZy1yZWdpb24pDQotICAgICAgICAgICAgICAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0y KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy00DQotICAgICAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA0IGZnLXNwZWNpYWwt bWlsZCBjeWFuIGN5YW4tbnVhbmNlZC1iZyBiZy1yZWdpb24pDQotICAgICAgICAgICAgICAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0xKSkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy01DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA1IGZnLXNwZWNpYWwtY2Fs bSBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tbnVhbmNlZC1iZyBiZy1yZWdpb24pKSkpDQotICAgYCht b2R1cy10aGVtZS1oZWFkaW5nLTYNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDYgeWVsbG93LW51YW5jZWQgeWVsbG93LWFs dC1vdGhlciB5ZWxsb3ctbnVhbmNlZC1iZyBiZy1yZWdpb24pKSkpDQotICAgYChtb2R1cy10aGVt ZS1oZWFkaW5nLTcNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRp bmcNCi0gICAgICAgICAgICAgICAgIDcgcmVkLW51YW5jZWQgcmVkLWFsdCByZWQtbnVhbmNlZC1i ZyBiZy1yZWdpb24pKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTgNCi0gICAgICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDgg ZmctZGltIG1hZ2VudGEgYmctYWx0IGJnLXJlZ2lvbikpKSkNCi07Ozs7OyBvdGhlciBjdXN0b20g ZmFjZXMNCi0gICBgKG1vZHVzLXRoZW1lLWhsLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLChp ZiBtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmUNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1obC1saW5lLWludGVuc2UgYmct aGwtbGluZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoPj0gZW1h Y3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLTs7Ozsgc3RhbmRhcmQgZmFj ZXMNCi07Ozs7OyBhYnNvbHV0ZSBlc3NlbnRpYWxzDQotICAgYChkZWZhdWx0ICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjdXJzb3Ig KCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGZyaW5nZSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2UgYmctaW5hY3RpdmUgYmctYWN0aXZlKQ0KLSAg ICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh2ZXJ0aWNh bC1ib3JkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLWlubmVyKSkp DQotOzs7OzsgYmFzaWMgYW5kL29yIHVuZ3JvdXBlZCBzdHlsZXMNCi0gICA7OyBNb2RpZnkgdGhl IGBib2xkJyBmYWNlIHRvIGNoYW5nZSB0aGUgd2VpZ2h0IG9mIGFsbCAiYm9sZCIgZWxlbWVudHMN Ci0gICA7OyBkZWZpbmVkIGJ5IHRoZSB0aGVtZS4gIFlvdSBuZWVkIGEgdHlwZWZhY2UgdGhhdCBz dXBwb3J0cyBhDQotICAgOzsgbXVsdGl0dWRlIG9mIGhlYXZpZXIgd2VpZ2h0cyB0aGFuIHRoZSBy ZWd1bGFyIG9uZSBhbmQgdGhlbiB5b3UNCi0gICA7OyBtdXN0IHNwZWNpZnkgdGhlIGV4YWN0IG5h bWUgb2YgdGhlIG9uZSB5b3Ugd2lzaCB0byBhcHBseS4gIEV4YW1wbGUNCi0gICA7OyBmb3IgeW91 ciBpbml0LmVsOg0KLSAgIDs7DQotICAgOzsgKHNldC1mYWNlLWF0dHJpYnV0ZSAnYm9sZCBuaWwg OndlaWdodCAnc2VtaWJvbGQpDQotICAgYChib2xkICgoLGNsYXNzIDp3ZWlnaHQgYm9sZCkpKQ0K LSAgIGAoY29taW50LWhpZ2hsaWdodC1pbnB1dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQot ICAgYChjb21pbnQtaGlnaGxpZ2h0LXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1ib2xkLXdlaWdodCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUtYWx0DQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBibHVlLXJlZmluZS1iZyBmZy1tYWluKSkpKQ0KLSAgIGAoZXJy b3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlc2Nh cGUtZ2x5cGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkp KQ0KLSAgIGAoZmlsZS1uYW1lLXNoYWRvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1 c2VkKSkpDQotICAgYChoZWFkZXItbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVy IDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGhlYWRlci1saW5lLWhpZ2hsaWdodCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoaGVscC1h cmd1bWVudC1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGhvbW9nbHlwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNj YXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChpYnVmZmVyLWxvY2tlZC1idWZmZXIgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGl0YWxpYyAoKCxjbGFz cyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChub2JyZWFrLWh5cGhlbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChub2JyZWFrLXNwYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgOnVuZGVybGluZSB0 KSkpDQotICAgYChtaW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1wcm9tcHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0 LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLW51YW5jZWQt YmcgY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUt YmcgZmctbWFpbikpKSkNCi0gICBgKG1tLWNvbW1hbmQtb3V0cHV0ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChtbS11dS1leHRyYWN0ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobmV4 dC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAg YChyZWN0YW5nbGUtcHJldmlldyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LW1pbGQpKSkNCi0gICBgKHJlZ2lvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctcmVnaW9uIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzZWNvbmRhcnktc2VsZWN0aW9uICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc2hhZG93ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHN1Y2Nlc3MgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHRyYWlsaW5nLXdoaXRlc3BhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQotICAgYCh3YXJuaW5nICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGJ1dHRv bnMsIGxpbmtzLCB3aWRnZXRzDQotICAgYChidXR0b24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgLEAodW5sZXNzIG1vZHVzLW9wZXJh bmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lDQotICAgICAgICAgICAgICAgICAgICAgICAgIChs aXN0IDp1bmRlcmxpbmUgdCkpKSkpDQotICAgYChsaW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv bikpKQ0KLSAgIGAobGluay12aXNpdGVkICgoLGNsYXNzIDppbmhlcml0IGxpbmsgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYCh0b29sdGlwICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdpZGdl dC1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYCh3aWRnZXQtYnV0dG9u LXByZXNzZWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYCh3aWRnZXQtZG9jdW1lbnRhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKHdpZGdldC1maWVsZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKHdpZGdldC1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYCh3aWRn ZXQtc2luZ2xlLWxpbmUtZmllbGQgKCgsY2xhc3MgOmluaGVyaXQgd2lkZ2V0LWZpZWxkKSkpDQot Ozs7OzsgYWcNCi0gICBgKGFnLWhpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGFnLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotOzs7OzsgYWxlcnQNCi0gICBgKGFsZXJ0LWhpZ2gtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChh bGVydC1sb3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQot ICAgYChhbGVydC1tb2RlcmF0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KLSAgIGAoYWxlcnQtdHJpdmlhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGFsZXJ0LXVyZ2VudC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotOzs7OzsgYWxsLXRo ZS1pY29ucw0KLSAgIGAoYWxsLXRoZS1pY29ucy1ibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotICAgYChhbGwtdGhlLWljb25zLWJsdWUtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1jeWFuICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotICAgYChhbGwtdGhlLWljb25zLWN5YW4tYWx0ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kYmx1ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZGN5YW4g KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhlLWlj b25zLWRncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAg YChhbGwtdGhlLWljb25zLWRpcmVkLWRpci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChhbGwtdGhlLWljb25zLWRtYXJvb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhlLWljb25zLWRvcmFuZ2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZHBpbmsg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZHB1 cnBsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtZHJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChhbGwtdGhlLWlj b25zLWRzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAoYWxsLXRoZS1pY29ucy1keWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKGFsbC10aGUtaWNvbnMtZ3JlZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkp DQotICAgYChhbGwtdGhlLWljb25zLWxibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLXJl ZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbGdyZWVuICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbG1h cm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKGFs bC10aGUtaWNvbnMtbG9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykp KQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1scGluayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHB1cnBsZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHJlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29u cy1sc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KGFsbC10aGUtaWNvbnMtbHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmlu ZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1tYXJvb24gKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtb3JhbmdlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLXBpbmsgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtcHVycGxlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1wdXJwbGUtYWx0 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRo ZS1pY29ucy1yZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoYWxsLXRoZS1p Y29ucy1yZWQtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChhbGwt dGhlLWljb25zLXNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQotICAgYChhbGwtdGhlLWljb25zLXllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotOzs7OzsgYW5ub3RhdGUNCi0gICBgKGFubm90YXRlLWFubm90YXRpb24gKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGFubm90YXRlLWFubm90 YXRpb24tc2Vjb25kYXJ5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVl bikpKQ0KLSAgIGAoYW5ub3RhdGUtaGlnaGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVl LW51YW5jZWQtYmcgOnVuZGVybGluZSAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChhbm5vdGF0ZS1o aWdobGlnaHQtc2Vjb25kYXJ5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1udWFuY2VkLWJn IDp1bmRlcmxpbmUgLGdyZWVuLWludGVuc2UpKSkNCi07Ozs7OyBhbnp1DQotICAgYChhbnp1LW1h dGNoLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBg KGFuenUtbWF0Y2gtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4p KSkNCi0gICBgKGFuenUtbWF0Y2gtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUteWVsbG93KSkpDQotICAgYChhbnp1LW1vZGUtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGFuenUtbW9kZS1saW5lLW5vLW1h dGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0g ICBgKGFuenUtcmVwbGFjZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGFuenUtcmVwbGFjZS10byAoKCxj bGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLTs7Ozs7 IGFwcm9wb3MNCi0gICBgKGFwcm9wb3MtZnVuY3Rpb24tYnV0dG9uICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGFwcm9wb3Mt a2V5YmluZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChhcHJvcG9zLW1pc2MtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFwcm9wb3MtcHJvcGVydHkgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAoYXByb3Bvcy1zeW1ib2wgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAo YXByb3Bvcy11c2VyLW9wdGlvbi1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFwcm9wb3MtdmFyaWFibGUtYnV0dG9u ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7Ozs7IGFw dC1zb3VyY2VzLWxpc3QNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3QtY29tcG9uZW50cyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYXB0LXNvdXJjZXMtbGlzdC1vcHRpb25zICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3Qtc3Vp dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChhcHQtc291cmNlcy1saXN0 LXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFwdC1zb3VyY2Vz LWxpc3QtdXJpICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotOzs7OzsgYXJ0Ym9sbG9j a3MtbW9kZQ0KLSAgIGAoYXJ0Ym9sbG9ja3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctbm90ZSkpKQ0KLSAgIGAoYXJ0Ym9sbG9ja3Mt bGV4aWNhbC1pbGx1c2lvbnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICxyZWQtYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYXJ0Ym9sbG9ja3MtcGFzc2l2 ZS12b2ljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCA6dW5kZXJs aW5lICxmZy1sYW5nLXdhcm5pbmcpKSkNCi0gICBgKGFydGJvbGxvY2tzLXdlYXNlbC13b3Jkcy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5n LWVycm9yKSkpDQotOzs7OzsgYXVjdGV4IGFuZCBUZXgNCi0gICBgKGZvbnQtbGF0ZXgtYm9sZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkp KQ0KLSAgIGAoZm9udC1sYXRleC1kb2N0ZXgtZG9jdW1lbnRhdGlvbi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAoZm9udC1sYXRleC1kb2N0ZXgtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVy KSkpDQotICAgYChmb250LWxhdGV4LWl0YWxpYy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNhbG0gOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZm9udC1sYXRleC1tYXRoLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChmb250LWxh dGV4LXNjcmlwdC1jaGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMC1mYWNlICgoLGNsYXNzIDppbmhlcml0 ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkp DQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChi b2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNl ZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVlLW51 YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0zLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctNC1mYWNlICgoLGNsYXNz IDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTUtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGJs dWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWRhdGUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChmb250LWxhdGV4LXNsaWRlLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsY3lh bi1udWFuY2VkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkp KSkNCi0gICBgKGZvbnQtbGF0ZXgtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQotICAgYChmb250LWxhdGV4LXN1YnNjcmlwdC1mYWNlICgoLGNsYXNzIDpoZWln aHQgMC45NSkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdXBlcnNjcmlwdC1mYWNlICgoLGNsYXNzIDpo ZWlnaHQgMC45NSkpKQ0KLSAgIGAoZm9udC1sYXRleC12ZXJiYXRpbS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAo Zm9udC1sYXRleC13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIpKSkNCi0gICBgKHRleC1tYXRjaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCi0gICBgKHRleC12ZXJiYXRpbSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlt IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHRleGluZm8taGVhZGluZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0 aW9uLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLWhlbHAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKFRlWC1lcnJvci1kZXNjcmlwdGlvbi10ZXgtc2FpZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXdhcm5pbmcgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgYXV0by1kaW0t b3RoZXItYnVmZmVycw0KLSAgIGAoYXV0by1kaW0tb3RoZXItYnVmZmVycy1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi07Ozs7OyBhdnkNCi0gICBgKGF2eS1iYWNrZ3JvdW5k LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQotICAgYChhdnktZ290by1jaGFyLXRpbWVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVz LXRoZW1lLWludGVuc2UteWVsbG93IGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgYm9sZCkpKSkNCi0gICBg KGF2eS1sZWFkLWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1i bHVlIGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNlLTIgKCgs Y2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCi07Ozs7 OyBhdyAoYWNlLXdpbmRvdykNCi0gICBgKGF3LWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGF3LWtleS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAg IGAoYXctbGVhZGluZy1jaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEu NSA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBg KGF3LW1pbmlidWZmZXItbGVhZGluZy1jaGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWN0aXZlKSkpDQotICAgYChhdy1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkKSkpDQotOzs7OzsgYXdlc29tZS10cmF5DQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxl LWF3ZXNvbWUtdGFiLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk LWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1iYXR0ZXJ5LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBg KGF3ZXNvbWUtdHJheS1tb2R1bGUtYnVmZmVyLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChhd2Vzb21lLXRyYXkt bW9kdWxlLWNpcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtZGF0ZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1v ZHVsZS1ldmlsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0KSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWdpdC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1 bGUtbGFzdC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtbG9jYXRpb24tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGF3 ZXNvbWUtdHJheS1tb2R1bGUtbW9kZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtcGFyZW50LWRp ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGF3ZXNvbWUtdHJheS1tb2R1bGUtcnZtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBiaW5kZXINCi0gICBgKGJpbmRl ci1zaWRlYmFyLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt Y3lhbikpKQ0KLSAgIGAoYmluZGVyLXNpZGViYXItbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChiaW5kZXItc2lkZWJhci1taXNzaW5nICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGJpbmRlci1zaWRl YmFyLXRhZ3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBibQ0KLSAgIGAo Ym0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93DQotICAg ICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6 ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAoYm0tZnJpbmdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoYm0tZnJpbmdlLXBlcnNpc3RlbnQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtYmx1ZSkpKQ0KLSAgIGAoYm0t cGVyc2lzdGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1 ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLTs7Ozs7IGJvbmdvDQotICAgYChib25n by1hbGJ1bS10aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBg KGJvbmdvLWFydGlzdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0g ICBgKGJvbmdvLWN1cnJlbnRseS1wbGF5aW5nLXRyYWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCi0gICBgKGJvbmdvLWVsYXBzZWQtdHJhY2stcGFydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGJvbmdvLWZpbGxl ZC1zZWVrLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGJvbmdvLW1hcmtlZC10cmFjayAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFyay1hbHQpKSkNCi0gICBgKGJvbmdvLW1hcmtlZC10cmFjay1saW5lICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1tYXJrLWFsdCkpKQ0KLSAgIGAoYm9uZ28tcGxheWVkLXRyYWNr ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQgOnN0cmlrZS10aHJvdWdoIHQpKSkN Ci0gICBgKGJvbmdvLXRyYWNrLWxlbmd0aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCi0gICBgKGJvbmdvLXRyYWNrLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFjdGl2ZSkpKQ0KLSAgIGAoYm9uZ28tdW5maWxsZWQtc2Vlay1iYXIgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7 IGJvb24NCi0gICBgKGJvb24tbW9kZWxpbmUtY21kICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChib29uLW1vZGVsaW5lLWlucyAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAgYChib29uLW1vZGVsaW5lLW9mZiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93KSkpDQotICAgYChib29u LW1vZGVsaW5lLXNwYyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4p KSkNCi07Ozs7OyBicmVha3BvaW50IChidWlsdC1pbiBnZGItbWkuZWwpDQotICAgYChicmVha3Bv aW50LWRpc2FibGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGJyZWFr cG9pbnQtZW5hYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci07Ozs7OyBidWZmZXItZXhwb3NlDQotICAgYChidWZmZXItZXhwb3NlLWFjZS1jaGFyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAo YnVmZmVyLWV4cG9zZS1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h Y3RpdmUpKSkNCi0gICBgKGJ1ZmZlci1leHBvc2Utc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBjYWxlbmRhciBhbmQgZGlh cnkNCi0gICBgKGNhbGVuZGFyLW1vbnRoLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjYWxlbmRhci10b2RheSAoKCxjbGFzcyA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKGNhbGVuZGFyLXdlZWtkYXktaGVhZGVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNhbGVuZGFyLXdlZWtlbmQtaGVhZGVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlhcnktYW5uaXZlcnNhcnkgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGRpYXJ5LXRpbWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChob2xpZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IGNhbGZ3DQotICAgYChjZnc6ZmFjZS1hbm5vdGF0aW9u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGNmdzpmYWNl LWRheS10aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY2Z3OmZh Y2UtZGVmYXVsdC1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0g ICBgKGNmdzpmYWNlLWRlZmF1bHQtZGF5ICgoLGNsYXNzIDppbmhlcml0IChjZnc6ZmFjZS1kYXkt dGl0bGUgYm9sZCkpKSkNCi0gICBgKGNmdzpmYWNlLWRpc2FibGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoY2Z3OmZhY2UtZ3JpZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCi0gICBgKGNmdzpmYWNlLWhlYWRlciAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjZnc6 ZmFjZS1ob2xpZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoY2Z3OmZhY2UtcGVyaW9kcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGNmdzpmYWNlLXNhdHVyZGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS1zZWxlY3QgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjZnc6ZmFjZS1z dW5kYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKGNmdzpmYWNlLXRpdGxlICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10aGVtZS12 YXJpYWJsZS1waXRjaA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNSkpKSkNCi0g ICBgKGNmdzpmYWNlLXRvZGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSkpKQ0K LSAgIGAoY2Z3OmZhY2UtdG9kYXktdGl0bGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2 ZSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9vbGJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGNmdzpmYWNlLXRvb2xiYXItYnV0dG9uLW9m ZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjZnc6ZmFjZS10b29sYmFy LWJ1dHRvbi1vbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxibHVlLW51YW5j ZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGNlbnRhdXItdGFicw0KLSAgIGAoY2VudGF1ci10YWJz LWFjdGl2ZS1iYXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctdGFiLWFjdGl2ZSkpKQ0K LSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNlbnRhdXIt dGFicy1jbG9zZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtc2VsZWN0 ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1jbG9zZS11bnNlbGVjdGVkICgoLGNsYXNzIDppbmhl cml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRhYnMtbW9kaWZp ZWQtbWFya2VyLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy1zZWxlY3Rl ZCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLW1vZGlmaWVkLW1hcmtlci11bnNlbGVjdGVkICgoLGNs YXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRh YnMtZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsYmct bWFpbikpKQ0KLSAgIGAoY2VudGF1ci10YWJzLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKGNlbnRhdXItdGFicy1zZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgaXRhbGljKSkpDQotICAg YChjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFiLWlu YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNlbnRhdXItdGFicy11bnNlbGVj dGVkLW1vZGlmaWVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVn cm91bmQgLGZnLWRpbSA6c2xhbnQgaXRhbGljKSkpDQotOzs7OzsgY2hhbmdlLWxvZyBhbmQgbG9n LXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0KLSAgIGAoY2hh bmdlLWxvZy1hY2tub3dsZWRnbWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChjaGFuZ2UtbG9nLWNvbmRpdGlvbmFscyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGNoYW5nZS1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5nZS1sb2ctZW1haWwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCi0gICBgKGNoYW5nZS1sb2ctZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLWxpc3QgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGxvZy1lZGl0LWhlYWRlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChsb2ctZWRpdC1zdW1tYXJ5ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGxvZy1lZGl0 LXVua25vd24taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGxv Zy12aWV3LWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChsb2ctdmlldy1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi07Ozs7OyBjaWRlcg0KLSAgIGAoY2lkZXItZGVidWctY29kZS1vdmVybGF5LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoY2lkZXItZGVidWctcHJv bXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoY2lkZXItZGVwcmVjYXRlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctZW1waGFzaXMtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0g ICBgKGNpZGVyLWRvY3ZpZXctbGl0ZXJhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy1zdHJvbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGNpZGVyLWRvY3Zp ZXctdGFibGUtYm9yZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoY2lkZXItZW5saWdodGVuZWQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6 Y29sb3IgLHllbGxvdy1hbHQgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAg IGAoY2lkZXItZW5saWdodGVuZWQtbG9jYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChjaWRlci1lcnJvci1oaWdobGln aHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAo Y2lkZXItZnJhZ2lsZS1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpj b2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCi0gICBgKGNpZGVyLWZyaW5nZS1nb29kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoY2lkZXItaW5zdHJ1bWVudGVkLWZhY2UgKCgsY2xhc3MgOmJv eCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxyZWQgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQgLGJn LWRpbSkpKQ0KLSAgIGAoY2lkZXItcmVhZGVyLWNvbmRpdGlvbmFsLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRlci1y ZXBsLWlucHV0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoY2lkZXItcmVw bC1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0g ICBgKGNpZGVyLXJlcGwtc3RkZXJyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChjaWRlci1yZXBsLXN0ZG91dC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChjaWRlci1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSA6c3R5bGUgbmlsKSA6YmFja2dyb3Vu ZCAsYmctZGltKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWVycm9yLWNsYXNzLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjaWRlci1zdGFj a3RyYWNlLWVycm9yLW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVy LWFjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVyLWluYWN0aXZlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZuLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY2lk ZXItc3RhY2t0cmFjZS1ucy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50 IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1wcm9tb3RlZC1idXR0b24tZmFjZSAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNl ZC1idXR0b24pIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2Utc3Vw cHJlc3NlZC1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAs ZmctYWx0IDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKGNpZGVyLXRlc3QtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChjaWRlci10ZXN0LWZhaWx1cmUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkN Ci0gICBgKGNpZGVyLXRlc3Qtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGNpZGVyLXRyYWNlZC1mYWNlICgoLGNsYXNzIDpi b3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsY3lhbiA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAs YmctZGltKSkpDQotICAgYChjaWRlci13YXJuaW5nLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgY2lyY2UgKGFuZCBsdWkp DQotICAgYChjaXJjZS1mb29sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAoY2lyY2UtaGlnaGxpZ2h0LW5pY2stZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaXJjZS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2lyY2Utc2Vy dmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAobHVp LWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAobHVpLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAobHVpLXRpbWUtc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1udWFuY2VkKSkpDQotOzs7OzsgY29sb3ItcmcNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9j ay1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNvbW1hbmQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZpbGUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYChjb2xvci1yZy1mb250LWxvY2stZmxhc2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stZnVuY3Rpb24tbG9j YXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAg YChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1s aW5lLWVkaXQtbW9kZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0g ICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1rZXl3b3JkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXIt bGluZS10ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNvbG9y LXJnLWZvbnQtbG9jay1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stbWFyay1jaGFuZ2VkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQt bG9jay1tYXJrLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk KSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stcG9zaXRp b24tc3BsaXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGNvbHVt bi1lbmZvcmNlLW1vZGUNCi0gICBgKGNvbHVtbi1lbmZvcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLTs7Ozs7IGNvbXBhbnktbW9kZQ0KLSAg IGAoY29tcGFueS1lY2hvLWNvbW1vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKGNvbXBhbnktcHJldmlldyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNvbXBhbnktcHJldmlldy1jb21tb24g KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjb21wYW55LXByZXZpZXct c2VhcmNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAg IGAoY29tcGFueS1zY3JvbGxiYXItYmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkp KQ0KLSAgIGAoY29tcGFueS1zY3JvbGxiYXItZmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFj dGl2ZSkpKQ0KLSAgIGAoY29tcGFueS10ZW1wbGF0ZS1maWVsZCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGNv bXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlw LWFubm90YXRpb24tc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1jb21tb24gKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1j b21tb24tc2VsZWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChj b21wYW55LXRvb2x0aXAtbW91c2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1ibHVlKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtc2VhcmNoICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xkKSkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlw LXNlYXJjaC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2Ut Z3JlZW4gYm9sZCkgOnVuZGVybGluZSB0KSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtc2VsZWN0 aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkpKQ0K LTs7Ozs7IGNvbXBhbnktcG9zZnJhbWUNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUtYWN0aXZlLWJh Y2tlbmQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUg OmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChjb21wYW55LXBvc2ZyYW1lLWluYWN0 aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUtbWV0YWRhdGEgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0K LTs7Ozs7IGNvbXBpbGF0aW9uIGZlZWRiYWNrDQotICAgYChjb21waWxhdGlvbi1jb2x1bW4tbnVt YmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY29t cGlsYXRpb24tZXJyb3IgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWln aHQpIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNvbXBpbGF0aW9uLWluZm8gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoY29tcGlsYXRpb24tbGluZS1u dW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoY29t cGlsYXRpb24tbW9kZS1saW5lLWV4aXQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt Ym9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGlsYXRp b24tbW9kZS1saW5lLWZhaWwgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13 ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChjb21waWxhdGlvbi1tb2Rl LWxpbmUtcnVuICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGNvbXBpbGF0aW9uLXdhcm5pbmcg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi07Ozs7OyBjb21wbGV0aW9ucw0KLSAgIGAoY29tcGxldGlvbnMtYW5ub3Rh dGlvbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotICAgYChjb21wbGV0aW9ucy1jb21tb24tcGFydCAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1udWFuY2VkLWJnDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBj eWFuLXJlZmluZS1mZykpKSkNCi0gICBgKGNvbXBsZXRpb25zLWZpcnN0LWRpZmZlcmVuY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBi bHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbWFnZW50YS1pbnRlbnNlLWJnIGZnLW1haW4pKSkpDQotOzs7OzsgY291bnNlbA0KLSAg IGAoY291bnNlbC1hY3RpdmUtbW9kZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKGNvdW5zZWwtYXBwbGljYXRpb24tbmFtZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoY291bnNlbC1rZXktYmluZGluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoY291 bnNlbC1vdXRsaW5lLTEgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS0xKSkpDQotICAgYChjb3Vu c2VsLW91dGxpbmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTIpKSkNCi0gICBgKGNvdW5z ZWwtb3V0bGluZS0zICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtMykpKQ0KLSAgIGAoY291bnNl bC1vdXRsaW5lLTQgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS00KSkpDQotICAgYChjb3Vuc2Vs LW91dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTUpKSkNCi0gICBgKGNvdW5zZWwt b3V0bGluZS02ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNikpKQ0KLSAgIGAoY291bnNlbC1v dXRsaW5lLTcgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS03KSkpDQotICAgYChjb3Vuc2VsLW91 dGxpbmUtOCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTgpKSkNCi0gICBgKGNvdW5zZWwtb3V0 bGluZS1kZWZhdWx0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KLSAgIGAoY291bnNlbC12YXJpYWJsZS1kb2N1bWVudGF0aW9uICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQp KSkNCi07Ozs7OyBjb3Vuc2VsLWNzcw0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgt ZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjb3Vuc2VsLWNzcy1z ZWxlY3Rvci1kZXB0aC1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0 aC1mYWNlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGNvdW5zZWwt Y3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQot Ozs7OzsgY291bnNlbC1ub3RtdWNoDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtY291bnQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY291bnNlbC1ub3RtdWNoLWRhdGUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY291bnNlbC1ub3RtdWNo LXBlb3BsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChjb3Vu c2VsLW5vdG11Y2gtc3ViamVjdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLTs7Ozs7IGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nDQotICAgYChjb3Vu c2VsLW9yZy1jYXB0dXJlLXN0cmluZy10ZW1wbGF0ZS1ib2R5LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLTs7Ozs7IGNvdg0KLSAgIGAoY292LWNvdmVyYWdl LW5vdC1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBg KGNvdi1jb3ZlcmFnZS1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5z ZSkpKQ0KLSAgIGAoY292LWhlYXZ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt aW50ZW5zZSkpKQ0KLSAgIGAoY292LWxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtaW50ZW5zZSkpKQ0KLSAgIGAoY292LW1lZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAoY292LW5vbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1pbnRlbnNlKSkpDQotOzs7OzsgY3BlcmwtbW9kZQ0KLSAgIGAoY3Blcmwtbm9ub3Zl cnJpZGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAoY3BlcmwtYXJyYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChjcGVybC1oYXNoLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxyZWQtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBjc3YtbW9kZQ0K LSAgIGAoY3N2LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFs LWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBjdHJsZg0KLSAgIGAoY3RybGYt aGlnaGxpZ2h0LWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1n cmVlbiBib2xkKSkpKQ0KLSAgIGAoY3RybGYtaGlnaGxpZ2h0LWxpbmUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAoY3RybGYtaGlnaGxpZ2h0LXBhc3NpdmUg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07Ozs7OyBjdXN0 b20gKE0teCBjdXN0b21pemUpDQotICAgYChjdXN0b20tYnV0dG9uICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChjdXN0b20tYnV0dG9uLW1vdXNlICgoLGNsYXNzIDpib3ggKDpsaW5l LXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5k ICxmZy1hY3RpdmUpKSkNCi0gICBgKGN1c3RvbS1idXR0b24tcHJlc3NlZCAoKCxjbGFzcyA6Ym94 ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHByZXNzZWQtYnV0dG9uKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGN1c3RvbS1jaGFuZ2VkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChjdXN0b20tY29tbWVudCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjdXN0b20tY29tbWVudC10YWcgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikp KQ0KLSAgIGAoY3VzdG9tLWZhY2UtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAoY3VzdG9tLWdyb3VwLXRhZyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChjdXN0b20tZ3Jv dXAtdGFnLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQot ICAgYChjdXN0b20taW52YWxpZCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5z ZS1yZWQgYm9sZCkpKSkNCi0gICBgKGN1c3RvbS1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoY3VzdG9tLXJvZ3VlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChjdXN0b20tc2V0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY3VzdG9tLXN0YXRlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY3VzdG9tLXRoZW1lZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoY3VzdG9t LXZhcmlhYmxlLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotOzs7OzsgZGFwLW1vZGUNCi0gICBgKGRhcC1tb3VzZS1ldmFsLXRoaW5nLWZhY2UgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlLWFjdGl2ZSA6c3R5bGUgbmlsKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmct YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkYXAtcmVzdWx0LW92ZXJsYXkt ZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJnLWFjdGl2ZSA6c3R5 bGUgbmlsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91 bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGFwLXVpLWJyZWFr cG9pbnQtdmVyaWZpZWQtZnJpbmdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZGFwLXVpLWNvbXBpbGUtZXJybGluZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoZGFwLXVpLWxv Y2Fscy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEgOnVuZGVybGluZSB0KSkpDQotICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZGFwLXVpLWxv Y2Fscy12YXJpYWJsZS1sZWFmLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGRhcC11aS1tYXJrZXItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoZGFwLXVpLXNlc3Npb25z LXN0YWNrLWZyYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKGRhcC11aS1zZXNzaW9ucy10ZXJtaW5hdGVkLWFjdGl2ZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGFw LXVpLXNlc3Npb25zLXRlcm1pbmF0ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotOzs7OzsgZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQotICAgYChkYXNoYm9hcmQt YmFubmVyLWxvZ28tdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQotICAgYChkYXNoYm9hcmQtZm9vdGVyICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoZGFzaGJvYXJkLWhl YWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJt KSkpDQotICAgYChkYXNoYm9hcmQtbmF2aWdhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KLSAgIGAoZGFzaGJvYXJkLXRleHQtYmFubmVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCi07Ozs7OyBkZWFkZ3JlcA0KLSAgIGAoZGVhZGdyZXAtZmlsZW5h bWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKGRlYWRncmVwLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChkZWFkZ3JlcC1tZXRhLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGVhZGdyZXAtcmVnZXhwLW1ldGFjaGFyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkN Ci0gICBgKGRlYWRncmVwLXNlYXJjaC10ZXJtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLTs7Ozs7IGRlYmJ1Z3MNCi0gICBgKGRlYmJ1 Z3MtZ251LWFyY2hpdmVkICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKGRlYmJ1 Z3MtZ251LWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGViYnVn cy1nbnUtZm9yd2FyZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKGRlYmJ1Z3MtZ251LWhhbmRsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkp DQotICAgYChkZWJidWdzLWdudS1uZXcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoZGViYnVncy1nbnUtcGVuZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAoZGViYnVncy1nbnUtc3RhbGUtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5j ZWQpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtNCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtNSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtdGFnZ2VkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IGRlZmluZS13b3JkDQot ICAgYChkZWZpbmUtd29yZC1mYWNlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAoZGVmaW5lLXdvcmQtZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotOzs7OzsgZGVmdA0KLSAgIGAoZGVmdC1maWx0ZXItc3RyaW5nLWVycm9yLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAoZGVmdC1maWx0ZXIt c3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBg KGRlZnQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChkZWZ0LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRlZnQtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZGVmdC10 aW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAo ZGVmdC10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi07Ozs7OyBkaWN0aW9uYXJ5DQotICAgYChkaWN0aW9uYXJ5LWJ1dHRvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAoZGljdGlvbmFyeS1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGRpY3Rpb25hcnktd29yZC1kZWZpbml0aW9uLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpY3Rpb25hcnktd29y ZC1lbnRyeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGRpZmYtaGwNCi0gICBgKGRpZmYtaGwtY2hh bmdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBg KGRpZmYtaGwtZGVsZXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQp KSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0IGRpZmYtaGwt Y2hhbmdlKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWRlbGV0ZSAoKCxjbGFzcyA6aW5oZXJpdCBk aWZmLWhsLWRlbGV0ZSkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1pZ25vcmVkICgoLGNsYXNzIDpp bmhlcml0IGRpcmVkLWlnbm9yZWQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtaW5zZXJ0ICgoLGNs YXNzIDppbmhlcml0IGRpZmYtaGwtaW5zZXJ0KSkpDQotICAgYChkaWZmLWhsLWRpcmVkLXVua25v d24gKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KLSAgIGAoZGlmZi1obC1pbnNl cnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChk aWZmLWhsLXJldmVydGVkLWh1bmstaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10 aGVtZS1hY3RpdmUtbWFnZW50YSBib2xkKSkpKQ0KLTs7Ozs7IGRpZmYtbW9kZQ0KLSAgIGAoZGlm Zi1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQotICAg YChkaWZmLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2Vk KSkpDQotICAgYChkaWZmLWNvbnRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNl ZCkpKQ0KLSAgIGAoZGlmZi1maWxlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChkaWZmLWZ1bmN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGRpZmYtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGRpZmYtaHVuay1oZWFkZXIgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nKSkpDQotICAgYChkaWZmLWluZGV4ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChkaWZmLWlu ZGljYXRvci1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWFkZGVkKSkpDQotICAgYChkaWZm LWluZGljYXRvci1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IGRpZmYtY2hhbmdlZCkpKQ0KLSAg IGAoZGlmZi1pbmRpY2F0b3ItcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLXJlbW92ZWQp KSkNCi0gICBgKGRpZmYtbm9uZXhpc3RlbnQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LW5ldXRyYWwgYm9sZCkpKSkNCi0gICBgKGRpZmYtcmVmaW5lLWFkZGVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYChkaWZmLXJlZmluZS1j aGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQp KSkNCi0gICBgKGRpZmYtcmVmaW5lLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KLSAgIGAoZGlmZi1yZW1vdmVkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLTs7Ozs7IGRpbS1hdXRvbG9hZA0K LSAgIGAoZGltLWF1dG9sb2FkLWNvb2tpZS1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGRpci10cmVldmlldw0KLSAg IGAoZGlyLXRyZWV2aWV3LWFyY2hpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChkaXItdHJlZXZpZXctYXJjaGl2ZS1pY29uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi0gICBgKGRpci10cmVldmlldy1hdWRpby1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChkaXItdHJlZXZpZXctYXVkaW8taWNvbi1mYWNlICgoLGNs YXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1jb250cm9sLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWNvbnRyb2wtbW91c2Ut ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGlnaHQpKSkNCi0gICBgKGRpci10cmVldmlldy1k ZWZhdWx0LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmYW1pbHkgIkZvbnQgQXdl c29tZSIgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWRlZmF1bHQt ZmlsZW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGly LXRyZWV2aWV3LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQot ICAgYChkaXItdHJlZXZpZXctZGlyZWN0b3J5LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBk aXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1pY29uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxy ZWQtYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctaW1hZ2UtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctaW1hZ2Ut aWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFj ZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctaW5kZW50LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWxh YmVsLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaGlnaGxpZ2h0KSkpDQotICAgYChkaXIt dHJlZXZpZXctc3RhcnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNl dWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXN5bWxpbmstZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGRpci10cmVldmlldy12 aWRlby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAoZGlyLXRyZWV2aWV3LXZpZGVvLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJl ZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQotOzs7OzsgZGlyZWQNCi0gICBgKGRpcmVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAoZGlyZWQtZmxhZ2dlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWQtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCi0gICBgKGRpcmVkLWlnbm9yZWQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyZWQtbWFyayAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAoZGlyZWQtbWFya2VkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChkaXJlZC1wZXJtLXdyaXRl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRpcmVkLXN5 bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0K LSAgIGAoZGlyZWQtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi07Ozs7OyBkaXJlZC1hc3luYw0KLSAgIGAoZGlyZWQtYXN5bmMtZmFpbHVyZXMg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICxyZWQtYWN0aXZlKSkpDQotICAgYChkaXJlZC1hc3luYy1tZXNzYWdlICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZl KSkpDQotICAgYChkaXJlZC1hc3luYy1tb2RlLW1lc3NhZ2UgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLTs7 Ozs7IGRpcmVkLWdpdA0KLSAgIGAoZGlyZWQtZ2l0LWJyYW5jaC1lbHNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkaXJlZC1naXQtYnJh bmNoLW1hc3RlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLTs7Ozs7IGRpcmVkLWdpdC1pbmZvDQotICAgYChkZ2ktY29tbWl0LW1lc3Nh Z2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotOzs7Ozsg ZGlyZWQtbmFycm93DQotICAgYChkaXJlZC1uYXJyb3ctYmxpbmsgKCgsY2xhc3MgOmluaGVyaXQg KG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQpKSkpDQotOzs7OzsgZGlyZWQtc3VidHJlZQ0K LSAgIDs7IHJlbW92ZSBiYWNrZ3JvdW5kIGZyb20gZGlyZWQtc3VidHJlZSwgZWxzZSBpdCBicmVh a3MNCi0gICA7OyBkaXJlZC17ZmxhZ2dlZCxtYXJrZWR9IGFuZCBhbnkgb3RoZXIgZmFjZSB0aGF0 IHNldHMgYSBiYWNrZ3JvdW5kDQotICAgOzsgc3VjaCBhcyBobC1saW5lDQotICAgYChkaXJlZC1z dWJ0cmVlLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi0gICBgKGRp cmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLSAg IGAoZGlyZWQtc3VidHJlZS1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgbmlsKSkp DQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBu aWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgbmlsKSkpDQotOzs7OzsgZGlyZWRmbA0KLSAgIGAoZGlyZWRmbC1hdXRvZmlsZS1u YW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAo ZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChkaXJlZGZsLWNvbXByZXNzZWQtZmlsZS1zdWZmaXggKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRpcmVkZmwtZGF0ZS10aW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyZWRmbC1kZWxldGlv biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWRm bC1kZWxldGlvbi1maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1k ZWwpKSkNCi0gICBgKGRpcmVkZmwtZGlyLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyZWRmbC1kaXItbmFtZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXJlZC1kaXJlY3RvcnkpKSkNCi0gICBgKGRpcmVkZmwtZGlyLXByaXYgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChkaXJlZGZsLWV4ZWMtcHJpdiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZGlyZWRmbC1leGVjdXRhYmxlLXRh ZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRpcmVkZmwtZmls ZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkaXJlZGZsLWZp bGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkaXJlZGZsLWZs YWctbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAo ZGlyZWRmbC1mbGFnLW1hcmstbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJr LXNlbCkpKQ0KLSAgIGAoZGlyZWRmbC1pZ25vcmVkLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZsLWxpbmstcHJpdiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGRpcmVkZmwtbm8tcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZsLW51bWJlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGRpcmVkZmwtb3RoZXItcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkaXJlZGZsLXJhcmUtcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1yZWFkLXByaXYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpcmVkZmwtc3ltbGluayAoKCxjbGFzcyA6 aW5oZXJpdCBkaXJlZC1zeW1saW5rKSkpDQotICAgYChkaXJlZGZsLXRhZ2dlZC1hdXRvZmlsZS1u YW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAg YChkaXJlZGZsLXdyaXRlLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7 OyBkaXNrLXVzYWdlDQotICAgYChkaXNrLXVzYWdlLWNoaWxkcmVuICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpc2stdXNhZ2UtaW5hY2Nlc3NpYmxlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZGlzay11c2FnZS1wZXJjZW50 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZGlzay11c2FnZS1zaXplICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkaXNrLXVzYWdlLXN5bWxpbmsgKCgs Y2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaXNrLXVz YWdlLXN5bWxpbmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotOzs7OzsgZG9vbS1tb2RlbGluZQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1i YXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGRv b20tbW9kZWxpbmUtYmFyLWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1pbmFjdGl2 ZSA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWNo YXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtYmF0dGVyeS1jcml0aWNhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktZXJyb3IgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAtMikNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0K LSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWZ1bGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktbm9ybWFsICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS13 YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUp KSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1t YWpvci1tb2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZl KSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1taW5vci1tb2RlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItbW9kaWZp ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLXBhdGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWRlYnVnICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRv b20tbW9kZWxpbmUtZGVidWctdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1lbWFjcy1zdGF0ZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAoZG9vbS1tb2RlbGluZS1ldmlsLWluc2VydC1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1t b3Rpb24tc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1ub3JtYWwtc3RhdGUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5l LWV2aWwtb3BlcmF0b3Itc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1yZXBsYWNlLXN0YXRlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRv b20tbW9kZWxpbmUtZXZpbC12aXN1YWwtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtaGlnaGxpZ2h0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChk b29tLW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBg KGRvb20tbW9kZWxpbmUtbHNwLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtbHNwLXN1Y2Nlc3MgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkb29t LW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGFuZWwgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGVy c3AtYnVmZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXBlcnNwLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0 LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0K LSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LXBhcmVudC1kaXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXByb2plY3Qtcm9vdC1kaXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS11 bnJlYWQtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUgOnNsYW50IGl0YWxp YykpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS11cmdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS13YXJuaW5nICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07Ozs7 OyBkeW5hbWljLXJ1bGVyDQotICAgYChkeW5hbWljLXJ1bGVyLW5lZ2F0aXZlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAgYChkeW5hbWlj LXJ1bGVyLXBvc2l0aXZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS15ZWxsb3cpKSkNCi07Ozs7OyBlYXN5LWpla3lsbA0KLSAgIGAoZWFzeS1qZWt5bGwtaGVscC1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotOzs7OzsgZWFzeS1raWxsDQotICAgYChlYXN5LWtpbGwtb3JpZ2luICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGVhc3kta2lsbC1zZWxl Y3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KLTs7 Ozs7IGViZGINCi0gICBgKGViZGItYWRkcmVzcy1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChlYmRiLWRiLWNoYXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZWJkYi1kZWZ1bmN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKGViZGItZmllbGQtaGlkZGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChlYmRiLWZpZWxkLXVybCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAoZWJkYi1sYWJlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKGViZGItbWFpbC1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChlYmRiLW1haWwtcHJpbWFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCi0gICBgKGViZGItbWFya2VkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFu LWludGVuc2UtYmcpKSkNCi0gICBgKGViZGItb3JnYW5pemF0aW9uLW5hbWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZWJkYi1wZXJzb24tbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGViZGItcGhvbmUt ZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChl YmRiLXJvbGUtZGVmdW5jdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChl aWVpby1jdXN0b20tc2xvdC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLTs7Ozs7IGVkaWZmDQotICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0 ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0aGUNCi0gICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFj ZXMuDQotICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1k aW0gcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJl bW92ZWQgZmctZGlmZi1yZW1vdmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZWQtbnVhbmNlZC1iZyByZWQtZmFpbnQpKSkpDQotICAgYChlZGlmZi1jdXJyZW50LWRp ZmYtQW5jZXN0b3IgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1zcGVjaWFs LWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1z cGVjaWFsLWNvbGQgZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUpKSkpDQotICAgYChlZGlmZi1j dXJyZW50LWRpZmYtQiAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZ3JlZW4NCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRl ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1i ZyBncmVlbi1mYWludCkpKSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1DICgoLGNsYXNzICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJnLWRpbSB5ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIHllbGxvdy1mYWludCkpKSkN Ci0gICBgKGVkaWZmLWV2ZW4tZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5l dXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2 ZW4tZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIg OmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotICAgYChlZGlmZi1ldmVuLWRpZmYt QiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQgLGZn LWRpZmYtbmV1dHJhbC0xKSkpDQotICAgYChlZGlmZi1ldmVuLWRpZmYtQyAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0y KSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlm Zi1mb2N1cy1yZW1vdmVkIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkNCi0g ICBgKGVkaWZmLWZpbmUtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUIgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWRpZmYtZm9jdXMtYWRkZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtYWRk ZWQpKSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aWZmLWZvY3VzLWNoYW5nZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtY2hhbmdlZCkpKQ0K LSAgIGAoZWRpZmYtb2RkLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0 cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQotICAgYChlZGlmZi1vZGQt ZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTAgOmZv cmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0wKSkpDQotICAgYChlZGlmZi1vZGQtZGlmZi1CICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlm Zi1uZXV0cmFsLTIpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0K LTs7Ozs7IGVnbG90DQotICAgYChlZ2xvdC1tb2RlLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K LTs7Ozs7IGVsLXNlYXJjaA0KLSAgIGAoZWwtc2VhcmNoLWhpZ2hsaWdodC1pbi1wcm9tcHQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAg IGAoZWwtc2VhcmNoLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut Z3JlZW4pKSkNCi0gICBgKGVsLXNlYXJjaC1vdGhlci1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGVsLXNlYXJjaC1vY2N1ci1tYXRjaCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBlbGRv Yw0KLSAgIDs7IE5PVEU6IHNlZSBodHRwczovL2dpdGh1Yi5jb20vcHVyY2VsbC9wYWNrYWdlLWxp bnQvaXNzdWVzLzE4Nw0KLSAgIChsaXN0ICdlbGRvYy1oaWdobGlnaHQtZnVuY3Rpb24tYXJndW1l bnQgYCgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkp DQotOzs7OzsgZWxkb2MtYm94DQotICAgYChlbGRvYy1ib3gtYm9keSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlbGRvYy1ib3gtYm9y ZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBlbGZlZWQNCi0gICBg KGVsZmVlZC1sb2ctZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0K LSAgIGAoZWxmZWVkLWxvZy1kZWJ1Zy1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChlbGZlZWQtbG9nLWVycm9yLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1pbmZvLWxldmVsLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChlbGZlZWQtbG9nLXdhcm4tbGV2ZWwtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChlbGZlZWQtc2VhcmNoLWRh dGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChlbGZl ZWQtc2VhcmNoLWZlZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo ZWxmZWVkLXNlYXJjaC1maWx0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1sYXN0LXVwZGF0ZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoZWxmZWVkLXNl YXJjaC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAg YChlbGZlZWQtc2VhcmNoLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkp KQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC11bnJlYWQtY291bnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChlbGZlZWQtc2VhcmNoLXVucmVhZC10aXRsZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7 OyBlbGZlZWQtc2NvcmUNCi0gICBgKGVsZmVlZC1zY29yZS1kYXRlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVsZmVlZC1zY29yZS1kZWJ1Zy1sZXZlbC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZWxmZWVkLXNj b3JlLWVycm9yLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo ZWxmZWVkLXNjb3JlLWluZm8tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAoZWxmZWVkLXNjb3JlLXdhcm4tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotOzs7OzsgZW1tcw0KLSAgIGAoZW1tcy1wbGF5bGlzdC10cmFjay1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlbW1zLXBsYXlsaXN0LXNlbGVj dGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LTs7Ozs7IGVuaGFuY2VkLXJ1YnktbW9kZQ0KLSAgIGAoZW5oLXJ1YnktaGVyZWRvYy1kZWxpbWl0 ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGVu aC1ydWJ5LW9wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGVu aC1ydWJ5LXJlZ2V4cC1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKGVuaC1ydWJ5LXJlZ2V4cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChlbmgtcnVieS1zdHJpbmctZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChlcm0tc3luLWVycmxpbmUgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGVybS1zeW4td2FybmxpbmUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBlcGENCi0g ICBgKGVwYS1maWVsZC1ib2R5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChlcGEtZmllbGQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1k aW0pKSkNCi0gICBgKGVwYS1tYXJrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKGVwYS1zdHJpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChlcGEtdmFsaWRpdHktZGlzYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWhpZ2ggKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChlcGEt dmFsaWRpdHktbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVwYS12 YWxpZGl0eS1tZWRpdW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLTs7Ozs7 IGVxdWFrZQ0KLSAgIGAoZXF1YWtlLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlwZS1l c2hlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxncmVl bi1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXJhc2ggKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChlcXVh a2Utc2hlbGwtdHlwZS1zaGVsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZv cmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlwZS10ZXJtICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtdnRlcm0gKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtl LXRhYi1hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmct YWx0KSkpDQotICAgYChlcXVha2UtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IGVyYw0KLSAgIGAoZXJjLWFjdGlvbi1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVyYy1ib2xkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoZXJjLWJ1dHRvbiAoKCxjbGFzcyA6aW5o ZXJpdCBidXR0b24pKSkNCi0gICBgKGVyYy1jb21tYW5kLWluZGljYXRvci1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChlcmMtY3VycmVu dC1uaWNrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChlcmMtZGFuZ2Vyb3VzLWhvc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoZXJjLWRpcmVjdC1tc2ctZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXJjLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlcmMtZm9vbC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZXJjLWhlYWRlci1saW5lICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KLSAg IGAoZXJjLWlucHV0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkp KQ0KLSAgIGAoZXJjLWludmVyc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtZGVmYXVsdC1m YWNlIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKGVyYy1rZXl3b3JkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGVyYy1teS1u aWNrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAoZXJjLW15LW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW15LW5p Y2stZmFjZSkpKQ0KLSAgIGAoZXJjLW5pY2stZGVmYXVsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVyYy1uaWNrLW1zZy1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChlcmMtbmljay1w cmVmaXgtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtbmljay1kZWZhdWx0LWZhY2UpKSkNCi0g ICBgKGVyYy1ub3RpY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkp DQotICAgYChlcmMtcGFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLSAgIGAoZXJjLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChlcmMtdGltZXN0YW1wLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZXJjLXVuZGVybGlu ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2Uw ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJ3aGl0ZSIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNl MSAoKCxjbGFzcyA6YmFja2dyb3VuZCAiYmxhY2siKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFj ZTEwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6ZXJj LWNvbG9yLWZhY2UxMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnKSkpDQot ICAgYChiZzplcmMtY29sb3ItZmFjZTEyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRs ZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMyAoKCxjbGFzcyA6YmFja2dyb3VuZCAs bWFnZW50YS1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTQgKCgsY2xhc3Mg OmJhY2tncm91bmQgImdyYXk2MCIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTUgKCgsY2xh c3MgOmJhY2tncm91bmQgImdyYXk4MCIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMiAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3It ZmFjZTMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkNCi0gICBgKGJn OmVyYy1jb2xvci1mYWNlNCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1YnRsZS1iZykpKQ0K LSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U1ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtaW50ZW5z ZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U2ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxt YWdlbnRhLXJlZmluZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U3ICgoLGNsYXNzIDpi YWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTgg KCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcpKSkNCi0gICBgKGJnOmVyYy1j b2xvci1mYWNlOSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tc3VidGxlLWJnKSkpDQotICAg YChmZzplcmMtY29sb3ItZmFjZTAgKCgsY2xhc3MgOmZvcmVncm91bmQgIndoaXRlIikpKQ0KLSAg IGAoZmc6ZXJjLWNvbG9yLWZhY2UxICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJibGFjayIpKSkNCi0g ICBgKGZnOmVyYy1jb2xvci1mYWNlMTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGZnOmVyYy1jb2xvci1mYWNlMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxNCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAiZ3JheTYwIikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAiZ3JheTgwIikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UzICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlNSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U2ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNv bG9yLWZhY2U3ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAg YChmZzplcmMtY29sb3ItZmFjZTggKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkN Ci0gICBgKGZnOmVyYy1jb2xvci1mYWNlOSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 LW90aGVyKSkpDQotOzs7OzsgZXJvcw0KLSAgIGAoZXJvcy1yZXN1bHQtb3ZlcmxheS1mYWNlICgo LGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSkNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5k ICxmZy1kaW0pKSkNCi07Ozs7OyBlcnQNCi0gICBgKGVydC10ZXN0LXJlc3VsdC1leHBlY3RlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChlcnQt dGVzdC1yZXN1bHQtdW5leHBlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCkpKQ0KLTs7Ozs7IGVzaGVsbA0KLSAgIGAoZXNoZWxsLWxzLWFyY2hpdmUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGVzaGVsbC1s cy1iYWNrdXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGVzaGVs bC1scy1jbHV0dGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChlc2hl bGwtbHMtZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChlc2hlbGwtbHMtZXhlY3V0YWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKGVzaGVsbC1scy1taXNzaW5nICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChlc2hlbGwtbHMtcHJvZHVjdCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChlc2hlbGwtbHMtcmVh ZG9ubHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZXNo ZWxsLWxzLXNwZWNpYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAoZXNoZWxsLWxzLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlc2hlbGwtbHMtdW5yZWFkYWJsZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAg YChlc2hlbGwtcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1wcm9tcHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVy DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZ3JlZW4t YWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLXJlZmluZS1iZyBmZy1t YWluKSkpKQ0KLTs7Ozs7IGVzaGVsbC1mcmluZ2Utc3RhdHVzDQotICAgYChlc2hlbGwtZnJpbmdl LXN0YXR1cy1mYWlsdXJlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVzaGVs bC1mcmluZ2Utc3RhdHVzLXN1Y2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQot Ozs7OzsgZXNoZWxsLWdpdC1wcm9tcHQNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWFkZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0 LWJyYW5jaC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVzaGVs bC1naXQtcHJvbXB0LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1leGl0LWZhaWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1leGl0LXN1Y2Nlc3MtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LW1v ZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZXNoZWxs LWdpdC1wcm9tcHQtcG93ZXJsaW5lLWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdy ZWVuLXJlZmluZS1iZykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcG93ZXJsaW5lLWRpci1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXJlZmluZS1iZykpKQ0KLSAgIGAoZXNoZWxs LWdpdC1wcm9tcHQtcG93ZXJsaW5lLW5vdC1jbGVhbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxtYWdlbnRhLXJlZmluZS1iZykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3Nl bGwtYnJhbmNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxs LWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtZ2l0LWRpcnR5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtZ2l0LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi07Ozs7OyBlc2hlbGwtcHJvbXB0LWV4 dHJhcyAoZXBlKQ0KLSAgIGAoZXBlLWRpci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZXBlLWdpdC1k aXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXBl LWdpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZXBlLXBp cGVsaW5lLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkN Ci0gICBgKGVwZS1waXBlbGluZS1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKGVwZS1waXBlbGluZS10aW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZXBlLXBpcGVsaW5lLXVzZXItZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXBlLXJlbW90ZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZXBl LXN0YXR1cy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoZXBlLXZlbnYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0K LSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctYWxpYXMtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctY29tbWVu dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVzaGVsbC1zeW50 YXgtaGlnaGxpZ2h0aW5nLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1lbnZ2YXItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxp Z2h0aW5nLWludmFsaWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChl c2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1saXNwLWZ1bmN0aW9uLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLXNo ZWxsLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLXN0cmluZy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGV2aWwtbW9kZQ0KLSAgIGAoZXZpbC1leC1j b21tYW5kcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KGV2aWwtZXgtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0g ICBgKGV2aWwtZXgtbGF6eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLWN5YW4pKSkNCi0gICBgKGV2aWwtZXgtc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGV2aWwtZXgtc3Vic3RpdHV0ZS1tYXRj aGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVuZGVybGlu ZSB0KSkpDQotICAgYChldmlsLWV4LXN1YnN0aXR1dGUtcmVwbGFjZW1lbnQgKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCi07Ozs7OyBldmlsLWdv Z2dsZXMNCi0gICBgKGV2aWwtZ29nZ2xlcy1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChldmlsLWdvZ2dsZXMtY29tbWVudGFy eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsIDpzbGFu dCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCi0gICBgKGV2 aWwtZ29nZ2xlcy1kZWxldGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtcmVkKSkpDQotICAgYChldmlsLWdvZ2dsZXMtZmlsbC1hbmQtbW92ZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2aWwtZ29nZ2xl cy1pbmRlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNl KSkpDQotICAgYChldmlsLWdvZ2dsZXMtam9pbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLW5lcmQtY29tbWVudGVy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWNvbW1lbnRhcnktZmFjZSkpKQ0K LSAgIGAoZXZpbC1nb2dnbGVzLXBhc3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1yZWNvcmQtbWFjcm8tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGV2aWwt Z29nZ2xlcy1yZXBsYWNlLXdpdGgtcmVnaXN0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXNldC1tYXJrZXIt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0g ICBgKGV2aWwtZ29nZ2xlcy1zaGlmdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xl cy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1zdXJyb3VuZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2aWwtZ29n Z2xlcy15YW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUp KSkNCi07Ozs7OyBldmlsLXZpc3VhbC1tYXJrLW1vZGUNCi0gICBgKGV2aWwtdmlzdWFsLW1hcmst ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi07 Ozs7OyBld3cNCi0gICBgKGV3dy1pbnZhbGlkLWNlcnRpZmljYXRlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChld3ctdmFsaWQtY2VydGlmaWNhdGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZXd3LWZvcm0tY2hlY2tib3ggKCgs Y2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWluYWN0aXZlIDpzdHlsZSByZWxl YXNlZC1idXR0b24pIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoZXd3LWZvcm0tZmlsZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpj b2xvciAsZmctaW5hY3RpdmUgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmJhY2tncm91bmQgLGJn LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZXd3LWZvcm0tc2VsZWN0ICgo LGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWNoZWNrYm94KSkpDQotICAgYChld3ctZm9ybS1zdWJt aXQgKCgsY2xhc3MgOmluaGVyaXQgZXd3LWZvcm0tZmlsZSkpKQ0KLSAgIGAoZXd3LWZvcm0tdGV4 dCAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAsZmctaW5hY3RpdmUgOnN0eWxl IG5vbmUpIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0K LSAgIGAoZXd3LWZvcm0tdGV4dGFyZWEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGV5ZWJyb3dzZQ0KLSAgIGAoZXllYnJvd3NlLW1v ZGUtbGluZS1hY3RpdmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h Y3RpdmUpKSkNCi07Ozs7OyBmYW5jeS1kYWJicmV2DQotICAgYChmYW5jeS1kYWJicmV2LW1lbnUt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGZhbmN5LWRhYmJyZXYtcHJldmlldy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQgOnVuZGVybGluZSB0KSkpDQotICAgYChmYW5jeS1kYWJicmV2LXNlbGVjdGlvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gYm9sZCkpKSkNCi07 Ozs7OyBmbHljaGVjaw0KLSAgIGAoZmx5Y2hlY2stZXJyb3INCi0gICAgICgoLChhcHBlbmQgJygo c3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRl cmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseWNo ZWNrLWVycm9yLWxpc3QtY2hlY2tlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1jb2x1bW4tbnVtYmVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGZseWNoZWNrLWVycm9y LWxpc3QtZXJyb3IgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQp IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtZmlsZW5hbWUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3Qt aGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi0gICBg KGZseWNoZWNrLWVycm9yLWxpc3QtaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWlkLXdpdGgtZXhwbGFpbmVyICgo LGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWVycm9yLWxpc3QtaWQgOmJveCB0KSkpDQotICAgYChm bHljaGVjay1lcnJvci1saXN0LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGZseWNoZWNrLWVycm9yLWxpc3QtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC13YXJuaW5nICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGZseWNoZWNrLWZyaW5nZS1lcnJv ciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChmbHlj aGVjay1mcmluZ2UtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lh bikpKQ0KLSAgIGAoZmx5Y2hlY2stZnJpbmdlLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZmx5Y2hlY2staW5mbw0KLSAgICAgKCgs KGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0g ICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLW5vdGUgOnN0eWxlIHdhdmUpKQ0KLSAg ICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGZseWNoZWNrLXZlcmlmeS1zZWxlY3QtY2hlY2tlciAoKCxjbGFzcyA6Ym94ICg6bGluZS13 aWR0aCAxIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikpKSkNCi0gICBgKGZseWNo ZWNrLXdhcm5pbmcNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy13 YXJuaW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5n LXdhcm5pbmcgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5Y2hlY2stY29sb3ItbW9kZS1saW5l DQotICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBmbHljaGVjay1mcmluZ2UtZXJyb3IpKSkNCi0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUt bGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdlLWluZm8pKSkN Ci0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1ydW5uaW5nLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGZseWNoZWNrLWNv bG9yLW1vZGUtbGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdl LXdhcm5pbmcpKSkNCi07Ozs7OyBmbHljaGVjay1pbmRpY2F0b3INCi0gICBgKGZseWNoZWNrLWlu ZGljYXRvci1kaXNhYmxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWVycm9yICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWluZm8gKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXJ1bm5pbmcgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkp KQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXN1Y2Nlc3MgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0g ICBgKGZseWNoZWNrLWluZGljYXRvci13YXJuaW5nICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7 IGZseWNoZWNrLXBvc2ZyYW1lDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1iYWNrZ3JvdW5kLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJh bWUtYm9yZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZmx5 Y2hlY2stcG9zZnJhbWUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZmx5Y2hl Y2stcG9zZnJhbWUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBmbHltYWtlDQotICAg YChmbHltYWtlLWVycm9yDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUg KDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxh bmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxh bmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHltYWtlLW5vdGUNCi0gICAgICgoLChh cHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAg ICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1ub3RlIDpzdHlsZSB3YXZlKSkNCi0gICAg ICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUgOnVuZGVybGluZSB0KSkpDQotICAg YChmbHltYWtlLXdhcm5pbmcNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGlu ZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmct bGFuZy13YXJuaW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1sYW5nLXdhcm5pbmcgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5c3BlbGwNCi0gICBgKGZs eXNwZWxsLWR1cGxpY2F0ZQ0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5l ICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1s YW5nLXdhcm5pbmcgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseXNwZWxsLWluY29ycmVjdA0K LSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBj bGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3 YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxp bmUgdCkpKQ0KLTs7Ozs7IGZseXNwZWxsLWNvcnJlY3QNCi0gICBgKGZseXNwZWxsLWNvcnJlY3Qt aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVu KSkpDQotOzs7OzsgZmx4DQotICAgYChmbHgtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQt bWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotOzs7Ozsg ZnJlZXplLWl0DQotICAgYChmcmVlemUtaXQtc2hvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBmcm9nLW1lbnUNCi0g ICBgKGZyb2ctbWVudS1hY3Rpb24ta2V5YmluZGluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZnJvZy1tZW51LWFjdGlvbnMtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZnJvZy1tZW51LWJvcmRlciAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChmcm9nLW1lbnUtY2FuZGlkYXRlcy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChmcm9nLW1lbnUtcG9z ZnJhbWUtYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0g ICBgKGZyb2ctbWVudS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K LTs7Ozs7IGZvY3VzDQotICAgYChmb2N1cy11bmZvY3VzZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXVuZm9jdXNlZCkpKQ0KLTs7Ozs7IGZvbGQtdGhpcw0KLSAgIGAoZm9sZC10aGlzLW92ZXJs YXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7Ozsg Zm9udC1sb2NrDQotICAgYChmb250LWxvY2stYnVpbHRpbi1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1i b2xkLXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1jb21tZW50LWRlbGltaXRlci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAoZm9udC1sb2NrLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1jb25zdGFudC1m YWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBi bHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay1kb2MtZmFjZSAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZnLXNwZWNpYWwtY29sZCBjeWFuLWFsdC1vdGhlci1m YWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkp KSkNCi0gICBgKGZvbnQtbG9jay1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAoZm9udC1sb2NrLW5lZ2F0aW9uLWNoYXItZmFjZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LWZh aW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1wcmVwcm9j ZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1h bHQtb3RoZXIgcmVkLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay1yZWdleHAt Z3JvdXBpbmctYmFja3NsYXNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KLSAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91cGlu Zy1jb25zdHJ1Y3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBl LWNoYXItY29uc3RydWN0KSkpDQotICAgYChmb250LWxvY2stc3RyaW5nLWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWludCkpKSkNCi0g ICBgKGZvbnQtbG9jay10eXBlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYChmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5 YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay13YXJuaW5nLWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFjdGl2ZSB5ZWxsb3ctYWx0LWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi07Ozs7OyBmb3JnZQ0KLSAgIGAoZm9yZ2UtcG9zdC1h dXRob3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoZm9yZ2UtcG9zdC1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKGZvcmdlLXRvcGljLWNsb3NlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChmb3JnZS10b3BpYy1tZXJnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMtb3BlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1taWxkKSkpDQotICAgYChmb3JnZS10b3BpYy11bm1lcmdlZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb3JnZS10 b3BpYy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLTs7Ozs7IGZvdW50YWluLW1vZGUNCi0gICBgKGZvdW50YWluLWNoYXJhY3RlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGZvdW50YWluLWNvbW1lbnQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChmb3VudGFpbi1kaWFsb2cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQotICAgYChmb3VudGFpbi1tZXRhZGF0YS1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWFsdC1vdGhlcikpKQ0KLSAgIGAoZm91bnRhaW4tbWV0YWRhdGEtdmFsdWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZvdW50YWluLW5vbi1wcmludGluZyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmb3VudGFpbi1ub3RlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm91bnRh aW4tcGFnZS1icmVhayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0 KSkpDQotICAgYChmb3VudGFpbi1wYWdlLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChmb3VudGFpbi1wYXJlbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZm91bnRhaW4tc2NlbmUtaGVhZGluZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZv dW50YWluLXNlY3Rpb24taGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhl bWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1tYWluDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9k dXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVh ZGluZy0xICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRj aCkgOmZvcmVncm91bmQgLGZnLW1haW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXNjYWxlLTQpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMiAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNj YWxlLTMpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMyAoKCxjbGFzcyA6aW5o ZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTIp KSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctNCAoKCxjbGFzcyA6aW5oZXJpdCAo Ym9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNhbG0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEpKSkpDQot ICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctNSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAs bW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0p KSkNCi0gICBgKGZvdW50YWluLXN5bm9wc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dCkpKQ0KLSAgIGAoZm91bnRhaW4tdHJhbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCi07Ozs7OyBnZWlzZXINCi0gICBgKGdlaXNlci1mb250LWxvY2stYXV0b2Rv Yy1jdXJyZW50LWFyZyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2st YXV0b2RvYy1pZGVudGlmaWVyICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLWRv Yy1idXR0b24gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFs dCBjeWFuLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stZG9jLWxpbmsgKCgs Y2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1lcnJvci1saW5r ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0 LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1pbWFnZS1idXR0b24gKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdCBncmVlbi1hbHQtZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dW5kZXJs aW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stcmVwbC1pbnB1dCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtb3V0cHV0ICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2Vu dGEtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBsLXByb21w dCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhl ciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2steHJlZi1o ZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14 cmVmLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLTs7Ozs7IGdpdC1jb21taXQNCi0g ICBgKGdpdC1jb21taXQtY29tbWVudC1hY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQt YnJhbmNoLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtYnJhbmNoLXJlbW90ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWRldGFjaGVkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29t bWl0LWNvbW1lbnQtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1oZWFk aW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWtleXdvcmQgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdpdC1jb21taXQta25vd24tcHNldWRvLWhlYWRl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGdpdC1jb21t aXQtbm9uZW1wdHktc2Vjb25kLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1vdmVybG9uZy1zdW1tYXJ5ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1jb21taXQt cHNldWRvLWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZ2l0LWNv bW1pdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkN Ci07Ozs7OyBnaXQtZ3V0dGVyDQotICAgYChnaXQtZ3V0dGVyOmFkZGVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAgIGAoZ2l0LWd1dHRlcjpkZWxldGVk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGdpdC1n dXR0ZXI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxv dykpKQ0KLSAgIGAoZ2l0LWd1dHRlcjpzZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLWN5YW4pKSkNCi0gICBgKGdpdC1ndXR0ZXI6dW5jaGFuZ2VkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQotOzs7OzsgZ2l0LWd1dHRl ci1mcg0KLSAgIGAoZ2l0LWd1dHRlci1mcjphZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0ZXItZnI6ZGVsZXRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChnaXQtZ3V0dGVyLWZy Om1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkN Ci07Ozs7OyBnaXQte2d1dHRlcixmcmluZ2V9Kw0KLSAgIGAoZ2l0LWd1dHRlcistYWRkZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0 dGVyKy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkN Ci0gICBgKGdpdC1ndXR0ZXIrLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1ndXR0ZXIrLXNlcGFyYXRvciAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KLSAgIGAoZ2l0LWd1dHRlcistdW5j aGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQot ICAgYChnaXQtZ3V0dGVyLWZyKy1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0ZXItZnIrLWRlbGV0ZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcistbW9k aWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLTs7 Ozs7IGdpdC1sZW5zDQotICAgYChnaXQtbGVucy1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ2l0LWxlbnMtZGVsZXRlZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGdpdC1sZW5zLWhlYWRlciAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4xIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChnaXQtbGVucy1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKGdpdC1sZW5zLXJlbmFtZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLTs7Ozs7IGdpdC1yZWJhc2UNCi0gICBgKGdpdC1y ZWJhc2UtY29tbWVudC1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LXJlYmFzZS1jb21tZW50LWhl YWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltIDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1yZWJhc2UtZGVzY3JpcHRpb24gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGdpdC1yZWJhc2UtaGFzaCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi07Ozs7OyBnaXQtdGltZW1hY2hpbmUN Ci0gICBgKGdpdC10aW1lbWFjaGluZS1jb21taXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoZ2l0LXRpbWVtYWNoaW5lLW1pbmlidWZm ZXItYXV0aG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAoZ2l0LXRpbWVtYWNoaW5lLW1pbmlidWZmZXItZGV0YWlsLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyBnaXQtd2Fsa3RyZWUNCi0gICBgKGdpdC13YWxr dHJlZS1jb21taXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChn aXQtd2Fsa3RyZWUtc3ltbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAoZ2l0LXdhbGt0cmVlLXRyZWUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLTs7Ozs7IGdudXMNCi0gICBgKGdudXMtYnV0dG9uICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAoZ251cy1jaXRlLTEgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChnbnVzLWNpdGUtMTAgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtMTEgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS0yICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChnbnVzLWNpdGUtMyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS01ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLTggKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS05ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS1hdHRyaWJ1dGlvbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLWVtcGhh c2lzLWhpZ2hsaWdodC13b3JkcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt eWVsbG93KSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTEtZW1w dHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChnbnVzLWdyb3Vw LW1haWwtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQot ICAgYChnbnVzLWdyb3VwLW1haWwtMi1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0zLWVt cHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251 cy1ncm91cC1tYWlsLWxvdyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC1sb3ctZW1wdHkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTEg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdudXMt Z3JvdXAtbmV3cy0xLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAo Z251cy1ncm91cC1uZXdzLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTItZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMy1l bXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICBgKGdudXMt Z3JvdXAtbmV3cy00ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tbnVh bmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTQtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAt bmV3cy01LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAo Z251cy1ncm91cC1uZXdzLTYgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNi1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtbG93ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3 cy1sb3ctZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQpKSkNCi0gICBg KGdudXMtaGVhZGVyLWNvbnRlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGdudXMtaGVhZGVyLWZyb20gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIgOnVuZGVybGluZSBuaWwpKSkNCi0gICBgKGdudXMtaGVhZGVyLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVzLWhlYWRlci1uZXdzZ3JvdXBz ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChn bnVzLWhlYWRlci1zdWJqZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLXNlcnZlci1hZ2VudCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVzLXNlcnZlci1jbG9zZWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ251 cy1zZXJ2ZXItY2xvdWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCi0gICBgKGdudXMtc2VydmVyLWNsb3VkLWhvc3QgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKGdudXMtc2VydmVyLWRlbmllZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGdudXMtc2VydmVyLW9m ZmxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAg YChnbnVzLXNlcnZlci1vcGVuZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCi0gICBgKGdudXMtc2lnbmF0dXJlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zcGxhc2ggKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWNhbmNlbGxlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5 LWhpZ2gtYW5jaWVudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChnbnVzLXN1bW1hcnktaGlnaC10 aWNrZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikp KQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtdW5kb3dubG9hZGVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtdW5y ZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGdudXMtc3VtbWFyeS1sb3ctYW5jaWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpz bGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ctcmVhZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ct dGlja2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnIDpzbGFudCBpdGFsaWMp KSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ctdW5kb3dubG9hZGVkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctcmVmaW5lLWZnIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3VtbWFy eS1sb3ctdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC1hbmNpZW50ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwt cmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLXN1bW1hcnkt bm9ybWFsLXRpY2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAg IGAoZ251cy1zdW1tYXJ5LW5vcm1hbC11bmRvd25sb2FkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC11bnJlYWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGdudXMtc3VtbWFyeS1zZWxlY3RlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLTs7Ozs7IGdvbGRlbi1yYXRp by1zY3JvbGwtc2NyZWVuDQotICAgYChnb2xkZW4tcmF0aW8tc2Nyb2xsLWhpZ2hsaWdodC1saW5l LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotOzs7OzsgaGVsbQ0KLSAgIGAoaGVsbS1NLXgta2V5ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWFj dGlvbiAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhlbG0tYm9va21hcmstYWRkcmVz c2Jvb2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoaGVsbS1ib29r bWFyay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAoaGVsbS1ib29rbWFyay1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWZpbGUtbm90LWZvdW5kICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1n bnVzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoZWxtLWJvb2ttYXJr LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChoZWxtLWJvb2tt YXJrLW1hbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoaGVsbS1i b29rbWFyay13M20gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChoZWxt LWJ1ZmZlci1hcmNoaXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4p KSkNCi0gICBgKGhlbG0tYnVmZmVyLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChoZWxtLWJ1ZmZlci1maWxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWJ1ZmZlci1tb2RpZmllZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoaGVsbS1idWZmZXItbm90LXNhdmVkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChoZWxtLWJ1ZmZlci1wcm9jZXNz ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoZWxtLWJ1ZmZlci1zYXZl ZC1vdXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKGhlbG0tYnVmZmVyLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1jYW5kaWRhdGUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1jYW5kaWRhdGUtbnVtYmVyLXN1c3BlbmRl ZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1jb21p bnQtcHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZl KSkpDQotICAgYChoZWxtLWNvbWludC1wcm9tcHRzLXByb21wdGlkeCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZGVsZXRlLWFzeW5jLW1lc3NhZ2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBg KGhlbG0tZW9iLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKGhlbG0tZXNoZWxsLXByb21wdHMtYnVmZmVyLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0 cy1wcm9tcHRpZHggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYCho ZWxtLWV0YWdzLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKGhlbG0tZmYtYmFja3VwLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoaGVsbS1mZi1kZW5pZWQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1udWFuY2VkLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVkKSkpKQ0KLSAgIGAoaGVsbS1mZi1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgaGVs bS1idWZmZXItZGlyZWN0b3J5KSkpDQotICAgYChoZWxtLWZmLWRpcnMgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tZmYtZG90 dGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1mZi1kb3R0ZWQtc3ltbGluay1kaXJl Y3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgKGJ1dHRvbiBoZWxtLWZmLWRvdHRlZC1kaXJlY3Rvcnkp KSkpDQotICAgYChoZWxtLWZmLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQotICAgYChoZWxtLWZmLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGhlbG0tZmYtZmlsZS1leHRlbnNpb24gKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1mZi1pbnZhbGlkLXN5bWxpbmsgKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGhlbG0tZmYtcGlw ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50 YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1h Z2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhKSkpKQ0KLSAgIGAo aGVsbS1mZi1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1y ZWZpbmUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtc3VidGxlLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLW51YW5jZWQteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5 ZWxsb3ctYWx0LW90aGVyKSkpKQ0KLSAgIGAoaGVsbS1mZi1zb2NrZXQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tZmYtc3VpZCAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1yZWQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZWQtYWx0KSkpKQ0KLSAgIGAoaGVsbS1mZi1zeW1saW5rICgoLGNsYXNz IDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaGVsbS1mZi10cnVl bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0t Z3JlcC1jbWQtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAoaGVsbS1ncmVwLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLWdyZXAtZmluaXNoICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZ3JlcC1saW5lbm8gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1ncmVwLW1hdGNoICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoaGVsbS1o ZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQotICAgYChoZWxtLWhlYWRlci1saW5lLWxlZnQtbWFyZ2luICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYChoZWxtLWhpc3Rvcnkt ZGVsZXRlZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9u cw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1 YnRsZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xk KSkpKQ0KLSAgIGAoaGVsbS1oaXN0b3J5LXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1saXNwLWNvbXBsZXRpb24taW5mbyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChoZWxtLWxpc3Atc2hvdy1jb21w bGV0aW9uICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25z DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1zdWJ0bGUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChoZWxtLWxvY2F0 ZS1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVs bS1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9u cw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4N Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFuDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tbWF0Y2gtaXRlbSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCi0gICBgKGhlbG0tbWlu aWJ1ZmZlci1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQgbWluaWJ1ZmZlci1wcm9tcHQpKSkNCi0g ICBgKGhlbG0tbW9jY3VyLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChoZWxtLW1vZGUtcHJlZml4ICgoLGNsYXNzICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1h Z2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChoZWxtLW5v bi1maWxlLWJ1ZmZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxt LXByZWZhcmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGhlbG0t cmVzdW1lLW5lZWQtdXBkYXRlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJh LWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3Ro ZXIpKSkpDQotICAgYChoZWxtLXNlbGVjdGlvbiAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG5pbA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQot ICAgYChoZWxtLXNlbGVjdGlvbi1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS1zZXBhcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoaGVsbS10aW1lLXpvbmUtY3VycmVudCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGhlbG0tdGltZS16b25lLWhvbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhlbG0tc291cmNlLWhlYWRlciAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3Bl cmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGhlbG0tdG9wLWNvbHVtbnMgKCgsY2xhc3Mg OmluaGVyaXQgaGVsbS1oZWFkZXIpKSkNCi0gICBgKGhlbG0tdWNzLWNoYXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tdmlzaWJsZS1tYXJrICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotOzs7OzsgaGVsbS1s cy1naXQNCi0gICBgKGhlbG0tbHMtZ2l0LWFkZGVkLWNvcGllZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxzLWdpdC1hZGRlZC1tb2RpZmll ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAoaGVs bS1scy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1scy1naXQtZGVsZXRlZC1hbmQtc3RhZ2VkLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChoZWxtLWxzLWdp dC1kZWxldGVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYChoZWxtLWxzLWdpdC1tb2RpZmllZC1hbmQtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgYChoZWxtLWxzLWdpdC1tb2RpZmllZC1ub3Qt c3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoaGVsbS1s cy1naXQtcmVuYW1lZC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQotICAgYChoZWxtLWxzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgaGVsbS1zd2l0Y2gtc2hlbGwNCi0gICBgKGhl bG0tc3dpdGNoLXNoZWxsLW5ldy1zaGVsbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1y ZWZpbmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXINCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0K LTs7Ozs7IGhlbG0teHJlZg0KLSAgIGAoaGVsbS14cmVmLWZpbGUtbmFtZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0teHJl Zi1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7 Ozs7IGhlbHBmdWwNCi0gICBgKGhlbHBmdWwtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTEpKSkNCi07Ozs7OyBoaWdobGlnaHQgcmVnaW9uIG9yIGFkLWhvYyBy ZWdleHANCi0gICBgKGhpLWJsYWNrLWIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZv cmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKGhpLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpLWJsdWUt YiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKGhp LWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGdyZWVuIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGktZ3JlZW4tYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChoaS1waW5rICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQotICAgYChoaS1y ZWQtYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAo aGkteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHllbGxv dyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGhpZ2hsaWdodC1jaGFuZ2Vz LWRlbGV0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKGhsLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkp KQ0KLTs7Ozs7IGhpZ2hsaWdodC1ibG9ja3MNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgt MS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9j a3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtNC1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNhbG0gOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1zcGVjaWFsLXdhcm0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhp Z2hsaWdodC1ibG9ja3MtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVj aWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3Mt ZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC04LWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo aGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4t c3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWRlZmlu ZWQNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLWJ1aWx0aW4tZnVuY3Rpb24tbmFtZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1m YWNlLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGln aGxpZ2h0LWRlZmluZWQtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1tYWNyby1uYW1lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1z cGVjaWFsLWZvcm0tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5j ZXMgKGBoZXMtbW9kZScpDQotICAgYChoZXMtZXNjYXBlLWJhY2tzbGFzaC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0K LSAgIGAoaGVzLWVzY2FwZS1zZXF1ZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KLTs7Ozs7IGhpZ2hsaWdodC1p bmRlbnRhdGlvbg0KLSAgIGAoaGlnaGxpZ2h0LWluZGVudGF0aW9uLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAoaGlnaGxpZ2h0LWluZGVudGF0aW9u LWN1cnJlbnQtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0K LTs7Ozs7IGhpZ2hsaWdodC1udW1iZXJzDQotICAgYChoaWdobGlnaHQtbnVtYmVycy1udW1iZXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotOzs7OzsgaGlnaGxpZ2h0 LXN5bWJvbA0KLSAgIGAoaGlnaGxpZ2h0LXN5bWJvbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IGhpZ2hsaWdodC10aGluZw0KLSAgIGAo aGlnaGxpZ2h0LXRoaW5nICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LGN5YW4pKSkNCi07Ozs7OyBobC1kZWZpbmVkDQotICAgYChoZGVmZC1mdW5jdGlvbnMgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGhkZWZkLXVuZGVmaW5lZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoaGRlZmQtdmFyaWFibGVzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLTs7Ozs7IGhsLWZpbGwtY29sdW1uDQotICAgYChobC1m aWxsLWNvbHVtbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91 bmQgLGZnLWFjdGl2ZSkpKQ0KLTs7Ozs7IGhsLXRvZG8NCi0gICBgKGhsLXRvZG8gKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotOzs7OzsgaHlkcmENCi0gICBgKGh5ZHJhLWZhY2UtYW1hcmFudGggKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChoeWRyYS1m YWNlLWJsdWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN Ci0gICBgKGh5ZHJhLWZhY2UtcGluayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaHlkcmEtZmFjZS1yZWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChoeWRyYS1mYWNlLXRlYWwgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGh5cGVybGlzdA0KLSAg IGAoaHlwZXJsaXN0LWNvbmRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKGh5cGVybGlzdC1oYXNodGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0g ICBgKGh5cGVybGlzdC1vcGVyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN Ci0gICBgKGh5cGVybGlzdC1wYXJlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGh5cGVybGlzdC1xdW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCi0gICBgKGh5cGVybGlzdC1yZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChoeXBlcmxpc3Qtc3RhcnMgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk KSkpDQotICAgYChoeXBlcmxpc3QtdG9wbGV2ZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGljb21wbGV0ZQ0KLSAgIGAoaWNvbXBsZXRlLWZp cnN0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9u cw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgYmctYWx0 DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWN0aXZlIGZnLW1h aW4pKSkpDQotOzs7OzsgaWNvbXBsZXRlLXZlcnRpY2FsDQotICAgYChpY29tcGxldGUtdmVydGlj YWwtc2VwYXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBpZG8t bW9kZQ0KLSAgIGAoaWRvLWZpcnN0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFy ZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEg YmctYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWN0aXZlIGZnLW1h aW4pKSkpDQotICAgYChpZG8taW5jb21wbGV0ZS1yZWdleHAgKCgsY2xhc3MgOmluaGVyaXQgZXJy b3IpKSkNCi0gICBgKGlkby1pbmRpY2F0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLXllbGxvdykpKQ0KLSAgIGAoaWRvLW9ubHktbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQg Ym9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdyZWVuIGdyZWVuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdyZWVuLWludGVuc2UtYmcgZmctbWFpbikpKSkNCi0gICBgKGlkby1zdWJkaXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGlkby12aXJ0dWFsICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBpZWRpdA0KLSAgIGAoaWVkaXQtb2NjdXJy ZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAo aWVkaXQtcmVhZC1vbmx5LW9jY3VycmVuY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS15ZWxsb3cpKSkNCi07Ozs7OyBpZmxpcGINCi0gICBgKGlmbGlwYi1jdXJyZW50LWJ1 ZmZlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChpZmxpcGItb3RoZXItYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLTs7Ozs7IGltZW51LWxpc3QNCi0gICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0w ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LWZh Y2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRy eS1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChp bWVudS1saXN0LWVudHJ5LWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN Ci0gICBgKGltZW51LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAg IGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGltZW51LWxpc3Qt ZW50cnktc3ViYWxpc3QtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGdyZWVuLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnkt c3ViYWxpc3QtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgaW5kaXVtDQotICAgYChpbmRpdW0tYnJl YWtwb2ludC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChp bmRpdW0tZnJhbWUtdXJsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKGluZGl1bS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbmRpdW0tbGl0YWJsZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAoaW5kaXVtLXJlcGwtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGluZGl1bS1yZXBsLXByb21wdC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5kaXVtLXJlcGwtc3Rk b3V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBpbmZvDQot ICAgYChJbmZvLXF1b3RlZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1m b250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp IDsgdGhlIGNhcGl0YWxpc2F0aW9uIGlzIGNhbm9uaWNhbA0KLSAgIGAoaW5mby1oZWFkZXItbm9k ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGlu Zm8taGVhZGVyLXhyZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAg YChpbmZvLWluZGV4LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNoKSkpDQotICAgYChpbmZv LW1lbnUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0K LSAgIGAoaW5mby1tZW51LXN0YXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo aW5mby1ub2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGluZm8tdGl0bGUtMSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBgKGluZm8tdGl0 bGUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCi0gICBgKGlu Zm8tdGl0bGUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0g ICBgKGluZm8tdGl0bGUtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQp KSkNCi07Ozs7OyBpbmZvLWNvbG9ycw0KLSAgIGAoaW5mby1jb2xvcnMtbGlzcC1jb2RlLWJsb2Nr ICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYt aXRlbS1jb21tYW5kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpbmZv LWNvbG9ycy1yZWYtaXRlbS1jb25zdGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWZ1bmN0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1tYWNybyAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1vdGhlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0t c3BlY2lhbC1mb3JtICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZm8tY29sb3JzLXJl Zi1pdGVtLXN5bnRheC1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAg IGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXVzZXItb3B0aW9uICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS12YXJpYWJs ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGludGVyYWN0aW9uLWxvZw0K LSAgIGAoaWxvZy1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKGlsb2ctY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChpbG9nLWVjaG8tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaWxvZy1sb2FkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQotICAgYChpbG9nLW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChpbG9nLW5vbi1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7Ozs7IGlvY2N1cg0KLSAgIGAoaW9jY3VyLWN1cnNvciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaW9jY3VyLWludmFsaWQtcmVnZXhw ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGlvY2N1ci1tYXRjaC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoaW9jY3Vy LW1hdGNoLW92ZXJsYXktZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNp b24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChpb2NjdXIt bnVtLWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot ICAgYChpb2NjdXItb3ZlcmxheS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3It dmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAoaW9jY3VyLXJl Z2V4cC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEg Ym9sZCkpKSkNCi0gICBgKGlvY2N1ci10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQp KSkpDQotOzs7OzsgaXNlYXJjaCwgb2NjdXIsIGFuZCB0aGUgbGlrZQ0KLSAgIGAoaXNlYXJjaCAo KCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLSAg IGAoaXNlYXJjaC1mYWlsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQp KSkNCi0gICBgKGxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuKSkpDQotICAgYChtYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLWNhbG0pKSkNCi0gICBgKHF1ZXJ5LXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLWludGVuc2UteWVsbG93IGJvbGQpKSkpDQotOzs7OzsgaXZ5DQotICAgYChpdnkt YWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0g ICBgKGl2eS1jb21wbGV0aW9ucy1hbm5vdGF0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGl2eS1jb25m aXJtLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGl2eS1jdXJyZW50 LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25z DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5l LWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1p bnRlbnNlLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1zcGVjaWFsLXdhcm0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5p bA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChp dnktY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1t YWluKSkpDQotICAgYChpdnktZ3JlcC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dCkpKQ0KLSAgIGAoaXZ5LWdyZXAtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaXZ5LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpdnktbWF0Y2gtcmVxdWlyZWQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBlcnJvcikpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtZmFjZS0xICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWFsdCkpKSkNCi0gICBgKGl2 eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51 YW5jZWQtZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBncmVlbi1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMyAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUt Y3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1yZWZpbmUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1pbmli dWZmZXItbWF0Y2gtZmFjZS00ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJh LWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5j ZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEtYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1oaWdobGlnaHQg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt c3VidGxlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVy DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQp KSkpDQotICAgYChpdnktbW9kaWZpZWQtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LW1vZGlmaWVkLW91dHNp ZGUtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKGl2eS1vcmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChpdnktcHJvbXB0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGl2 eS1jdXJyZW50LW1hdGNoKSkpDQotICAgYChpdnktcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChpdnktc2VwYXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKGl2eS1zdWJkaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyKSkpDQotICAgYChpdnktdmlydHVhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCi0gICBgKGl2eS15YW5rZWQtd29yZCAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCkpKSkNCi07Ozs7OyBpdnktcG9zZnJhbWUNCi0g ICBgKGl2eS1wb3NmcmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChpdnktcG9zZnJhbWUtYm9yZGVyICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKGl2eS1wb3NmcmFtZS1jdXJzb3IgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi07Ozs7OyBqaXJhIChv cmctamlyYSkNCi0gICBgKGppcmFsaWItY29tbWVudC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQpKSkNCi0gICBgKGppcmFsaWItY29tbWVudC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQotICAgYChqaXJhbGliLWlzc3VlLWluZm8tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGppcmFsaWItaXNzdWUt aW5mby1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3BlY2lhbC13 YXJtIGJvbGQpKSkpDQotICAgYChqaXJhbGliLWlzc3VlLXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQotICAgYChqaXJhbGliLWxpbmstZmlsdGVyLWZhY2UgKCgsY2xhc3Mg OnVuZGVybGluZSB0KSkpDQotICAgYChqaXJhbGliLWxpbmstaXNzdWUtZmFjZSAoKCxjbGFzcyA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGppcmFsaWItbGluay1wcm9qZWN0LWZhY2UgKCgsY2xhc3Mg OnVuZGVybGluZSB0KSkpDQotOzs7Ozsgam91cm5hbGN0bC1tb2RlDQotICAgYChqb3VybmFsY3Rs LWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYChqb3VybmFsY3RsLWZpbmlzaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGpvdXJuYWxjdGwtaG9zdC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChqb3VybmFsY3RsLXByb2Nlc3MtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGpvdXJuYWxjdGwtc3RhcnRp bmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGpvdXJuYWxjdGwt dGltZXN0YW1wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoam91cm5hbGN0bC13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsganMyLW1vZGUNCi0gICBgKGpzMi1lcnJvciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChqczItZXh0ZXJuYWwtdmFyaWFibGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChqczItZnVuY3Rpb24t Y2FsbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoanMyLWZ1bmN0aW9u LXBhcmFtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChqczItaW5zdGFuY2Ut bWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo anMyLWpzZG9jLWh0bWwtdGFnLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoanMyLWpzZG9jLWh0bWwtdGFnLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGpzMi1qc2RvYy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY2FsbSkpKQ0KLSAgIGAoanMyLWpzZG9jLXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoanMyLWpzZG9jLXZhbHVlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGpzMi1vYmplY3QtcHJvcGVydHkgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGpzMi1vYmplY3QtcHJvcGVydHkt YWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChqczItcHJpdmF0 ZS1mdW5jdGlvbi1jYWxsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGpzMi1wcml2YXRlLW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQotICAgYChqczItd2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LWFsdCA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBqdWxpYQ0KLSAgIGAoanVsaWEtbWFjcm8tZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGp1bGlhLXF1b3RlZC1zeW1ib2wtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBqdXB5dGVyDQotICAgYChqdXB5 dGVyLWV2YWwtb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChqdXB5dGVyLXJlcGwtaW5wdXQtcHJvbXB0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoanVweXRlci1yZXBsLW91dHB1dC1wcm9tcHQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChqdXB5dGVyLXJl cGwtdHJhY2ViYWNrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkp DQotOzs7Ozsga2FvY2hhLXJ1bm5lcg0KLSAgIGAoa2FvY2hhLXJ1bm5lci1lcnJvci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGthb2NoYS1ydW5uZXItc3VjY2Vzcy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoa2FvY2hhLXJ1bm5lci13 YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGtleWNh c3QNCi0gICBgKGtleWNhc3QtY29tbWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoa2V5Y2FzdC1rZXkgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtbW9kZS1saW5lLWF0dHJzDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1tYWluIGJsdWUtYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi Zy1tYWluIGJsdWUtYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFj dGl2ZSBibHVlLWludGVuc2UNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbHQtc3R5 bGUgLTMpKSkpDQotOzs7OzsgbGluZSBudW1iZXJzIChkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2Rl IGFuZCBnbG9iYWwgdmFyaWFudCkNCi0gICBgKGxpbmUtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0 IGRlZmF1bHQgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChsaW5lLW51bWJlci1jdXJyZW50LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVsdCA6YmFj a2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgbHNwLW1v ZGUNCi0gICBgKGxzcC1mYWNlLWhpZ2hsaWdodC1yZWFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1ibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLWZhY2UtaGlnaGxp Z2h0LXRleHR1YWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkN Ci0gICBgKGxzcC1mYWNlLWhpZ2hsaWdodC13cml0ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMt dGhlbWUtcmVmaW5lLWJsdWUgYm9sZCkpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWNvbnN0YW50 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWZhY2Ut c2VtaGwtZGVwcmVjYXRlZA0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5l ICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOmZvcmVncm91bmQgLHllbGxvdyA6dW5k ZXJsaW5lICg6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZW51bW1lbWJlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWZp ZWxkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2Vt aGwtZmllbGQtc3RhdGljICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1mdW5jdGlvbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtbWV0aG9kICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1uYW1l c3BhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtcHJlcHJvY2Vzc29y ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChsc3AtZmFjZS1z ZW1obC1zdGF0aWMtbWV0aG9kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtY2xhc3MgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10 eXBlLWVudW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChsc3At ZmFjZS1zZW1obC10eXBlLXByaW1pdGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlw ZS10ZW1wbGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS10eXBlZGVmICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChsc3AtZmFjZS1zZW1obC12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFibGUtbG9jYWwgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlLXBhcmFtZXRlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1sZW5zLWZh Y2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobHNw LWxlbnMtbW91c2UtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChsc3AtdWktZG9jLWJhY2tncm91bmQgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobHNwLXVpLWRvYy1oZWFkZXIgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQot ICAgYChsc3AtdWktZG9jLXVybCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChsc3AtdWktcGVlay1maWxlbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChsc3AtdWktcGVlay1mb290ZXIg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkp DQotICAgYChsc3AtdWktcGVlay1oZWFkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRl ciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChsc3AtdWktcGVlay1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGxzcC11 aS1wZWVrLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KGxzcC11aS1wZWVrLWxpc3QgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAo bHNwLXVpLXBlZWstcGVlayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChs c3AtdWktcGVlay1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LWN5YW4pKSkNCi0gICBgKGxzcC11aS1zaWRlbGluZS1jb2RlLWFjdGlvbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChsc3AtdWktc2lkZWxpbmUtY3VycmVudC1zeW1ib2wg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOTkgOmJveCAoOmxpbmUtd2lkdGggLTEg OnN0eWxlIG5pbCkgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGxzcC11aS1zaWRlbGlu ZS1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOTkgOmJveCAoOmxpbmUt d2lkdGggLTEgOnN0eWxlIG5pbCkgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobHNwLXVp LXNpZGVsaW5lLXN5bWJvbC1pbmZvICgoLGNsYXNzIDpoZWlnaHQgMC45OSA6c2xhbnQgaXRhbGlj KSkpDQotOzs7OzsgbWFnaXQNCi0gICBgKG1hZ2l0LWJpc2VjdC1iYWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJpc2VjdC1nb29kICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJpc2VjdC1za2lw ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1i bGFtZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChtYWdpdC1ibGFt ZS1kaW1tZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtYmxh bWUtaGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYCht YWdpdC1ibGFtZS1oZWFkaW5nICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBg KG1hZ2l0LWJsYW1lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1udWFu Y2VkLWN5YW4pKSkNCi0gICBgKG1hZ2l0LWJsYW1lLW1hcmdpbiAoKCxjbGFzcyA6aW5oZXJpdCBt YWdpdC1ibGFtZS1oaWdobGlnaHQpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLW5hbWUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1ibGFtZS1zdW1t YXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQt YnJhbmNoLWN1cnJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDpib3gg dCkpKQ0KLSAgIGAobWFnaXQtYnJhbmNoLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAobWFnaXQtYnJhbmNoLXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC1yZW1vdGUtaGVhZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOmJveCB0KSkpDQotICAgYChtYWdpdC1icmFu Y2gtdXBzdHJlYW0gKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFnaXQtY2hlcnJ5 LWVxdWl2YWxlbnQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1h Z2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtY2hlcnJ5LXVubWF0Y2hlZCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQotICAgOzsg Tk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0 aGUNCi0gICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFjZXMsIHRob3VnaCBvbmx5IGZvciB0aGUg c3RhbmRhcmQgYWN0aW9ucywNCi0gICA7OyBub3QgdGhlIGhpZ2hsaWdodGVkIG9uZXMuICBUaGlz IGlzIGJlY2F1c2UgTWFnaXQncyBpbnRlcmFjdGlvbg0KLSAgIDs7IG1vZGVsIHJlbGllcyBvbiBo aWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgZGlmZiBodW5rLg0KLSAgIGAobWFnaXQtZGlmZi1hZGRl ZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJnLW1haW4gZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVkDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlmZi1hZGRlZCkpKSkNCi0g ICBgKG1hZ2l0LWRpZmYtYWRkZWQtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWRpZmYtZm9jdXMtYWRkZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtYmFzZSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctbWFpbiB5ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi Zy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgZmctZGlmZi1jaGFuZ2VkKSkpKQ0KLSAgIGAobWFn aXQtZGlmZi1iYXNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZm LWZvY3VzLWNoYW5nZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtY29udGV4dCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChtYWdpdC1kaWZmLWNvbnRleHQtaGlnaGxp Z2h0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGZnLWRpbQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1pbmFjdGl2ZSBmZy1pbmFj dGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1k aW0gZmctYWx0KSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1maWxlLWhlYWRpbmcgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYWdpdC1k aWZmLWZpbGUtaGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LXNwZWNpYWwtY29sZCBib2xkKSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1maWxlLWhlYWRpbmctc2Vs ZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAg OzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJv bSB0aGUNCi0gICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFjZXMuDQotICAgYChtYWdpdC1kaWZm LWh1bmstaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hY3Rp dmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmctaGlnaGxpZ2h0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWRpZmYtaGVhZGluZw0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxm Zy1kaWZmLWhlYWRpbmcpKSkNCi0gICBgKG1hZ2l0LWRpZmYtaHVuay1oZWFkaW5nLXNlbGVjdGlv biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAobWFn aXQtZGlmZi1odW5rLXJlZ2lvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChtYWdp dC1kaWZmLWxpbmVzLWJvdW5kYXJ5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChtYWdpdC1kaWZmLWxpbmVzLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKG1hZ2l0LWRpZmYtcmVtb3ZlZCAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctbWFpbiByZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVkKSkpKQ0KLSAgIGAo bWFnaXQtZGlmZi1yZW1vdmVkLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1kaWZmLWZvY3VzLXJlbW92ZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmZzdGF0LWFkZGVkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobWFnaXQtZGlmZnN0YXQtcmVtb3ZlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYWdpdC1kaW1tZWQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAobWFnaXQtZmlsZW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFnaXQtaGFzaCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1oZWFkICgoLGNsYXNzIDpp bmhlcml0IG1hZ2l0LWJyYW5jaC1sb2NhbCkpKQ0KLSAgIGAobWFnaXQtaGVhZGVyLWxpbmUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBg KG1hZ2l0LWhlYWRlci1saW5lLWtleSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWN0aXZlKSkpDQotICAgYChtYWdpdC1oZWFkZXItbGluZS1sb2ctc2VsZWN0ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1hZ2l0LWtl eXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG1hZ2l0LWtleXdv cmQtc3F1YXNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIpKSkNCi0gICBgKG1hZ2l0LWxvZy1hdXRob3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi0gICBgKG1hZ2l0LWxvZy1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKG1hZ2l0LWxvZy1ncmFwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQotICAgYChtYWdpdC1tb2RlLWxpbmUtcHJvY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtbW9kZS1saW5lLXByb2Nlc3Mt ZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0K LSAgIGAobWFnaXQtcHJvY2Vzcy1uZyAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KLSAgIGAo bWFnaXQtcHJvY2Vzcy1vayAoKCxjbGFzcyA6aW5oZXJpdCBzdWNjZXNzKSkpDQotICAgYChtYWdp dC1yZWZsb2ctYW1lbmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQg LG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWNoZWNrb3V0ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBg KG1hZ2l0LXJlZmxvZy1jaGVycnktcGljayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6 Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWNvbW1pdCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkp KQ0KLSAgIGAobWFnaXQtcmVmbG9nLW1lcmdlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctb3RoZXIg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkp KQ0KLSAgIGAobWFnaXQtcmVmbG9nLXJlYmFzZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFp biA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctcmVt b3RlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVu c2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1yZXNldCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct bWFpbiA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtcmVmbmFtZS1wdWxscmVx ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUtc3Rh c2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtcmVmbmFtZS13 aXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbiAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChtYWdpdC1zZWN0aW9uLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbi1oZWFkaW5nLXNlbGVjdGlvbiAoKCxjbGFz cyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gYm9sZCkpKSkNCi0gICBgKG1hZ2l0 LXNlY3Rpb24taGlnaGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBg KG1hZ2l0LXNlcXVlbmNlLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0K LSAgIGAobWFnaXQtc2VxdWVuY2UtZHJvcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLSAgIGAobWFnaXQtc2VxdWVuY2UtZXhlYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLWhlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1vbnRvICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLXBhcnQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLXBpY2sgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1zdG9wICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1iYWQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYWdpdC1zaWduYXR1 cmUtZXJyb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1hZ2l0LXNp Z25hdHVyZS1leHBpcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG1h Z2l0LXNpZ25hdHVyZS1leHBpcmVkLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkp DQotICAgYChtYWdpdC1zaWduYXR1cmUtZ29vZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1yZXZva2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtdW50cnVzdGVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQotICAgYChtYWdpdC10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1hbHQtb3RoZXIpKSkNCi07Ozs7OyBtYWdpdC1pbWVyZ2UNCi0gICBgKG1hZ2l0LWltZXJn ZS1vdmVycmlkaW5nLXZhbHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1hbHQpKSkNCi07Ozs7OyBtYW4NCi0gICBgKE1hbi1vdmVyc3RyaWtlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKE1hbi1yZXZlcnNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYChNYW4tdW5k ZXJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7 IG1hcmtkb3duLW1vZGUNCi0gICBgKG1hcmtkb3duLWJsb2NrcXVvdGUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKG1hcmtkb3duLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAg YChtYXJrZG93bi1jb2RlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4 ZWQtZm9udHMpKSkpDQotICAgYChtYXJrZG93bi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93 bi1mb290bm90ZS1tYXJrZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24tZm9vdG5vdGUtdGV4dC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBg KG1hcmtkb3duLWdmbS1jaGVja2JveC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWRlbGltaXRlci1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZSAoKHQgbmlsKSkpDQotICAgYChtYXJrZG93 bi1oZWFkZXItZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkp KQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTIpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXIt ZmFjZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KLSAgIGAo bWFya2Rvd24taGVhZGVyLWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTUpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTYgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGVhZGluZy02KSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItcnVsZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAobWFya2Rvd24taHItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtYXR0ci1uYW1lLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChtYXJrZG93bi1odG1sLWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChtYXJrZG93bi1odG1sLWVu dGl0eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAobWFya2Rvd24taHRtbC10YWctZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkp DQotICAgYChtYXJrZG93bi1odG1sLXRhZy1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtYXJrZG93bi1p bmxpbmUtY29kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZv bnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFya2Rvd24taXRhbGljLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYXJrZG93bi1s YW5ndWFnZS1pbmZvLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQt Zm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya2Rvd24tbGFuZ3VhZ2Uta2V5d29y ZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmtkb3duLWxpbmUtYnJlYWstZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KG1hcmtkb3duLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChtYXJr ZG93bi1saW5rLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1saXN0LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobWFya2Rvd24tbWFya3VwLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24tbWF0aC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFy a2Rvd24tbWV0YWRhdGEta2V5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotICAgYChtYXJrZG93bi1tZXRhZGF0YS12YWx1ZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24tbWlzc2luZy1saW5rLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChtYXJrZG93 bi1wbGFpbi11cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtYXJrZG93bi1saW5rLWZhY2UpKSkN Ci0gICBgKG1hcmtkb3duLXByZS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3It dmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctZGltDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChtYXJr ZG93bi1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtYXJrZG93bi1tYXJrdXAtZmFj ZSkpKQ0KLSAgIGAobWFya2Rvd24tc3RyaWtlLXRocm91Z2gtZmFjZSAoKCxjbGFzcyA6c3RyaWtl LXRocm91Z2ggdCkpKQ0KLSAgIGAobWFya2Rvd24tdGFibGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya2Rvd24t dXJsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgbWFya3Vw LWZhY2VzIChgYWRvYy1tb2RlJykNCi0gICBgKG1hcmt1cC1hbmNob3ItZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1hdHRyaWJ1dGUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAo bWFya3VwLWJpZy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxibHVlLW51 YW5jZWQpKSkNCi0gICBgKG1hcmt1cC1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC1jb2RlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgZml4ZWQtcGl0Y2ggOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG1h cmt1cC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQot ICAgYChtYXJrdXAtY29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFya3VwLWNvbXBsZXgtcmVwbGFjZW1l bnQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJl bGVhc2VkLWJ1dHRvbikNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKG1hcmt1 cC1lbXBoYXNpcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNs YW50IGl0YWxpYykpKQ0KLSAgIGAobWFya3VwLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYXJrdXAtZ2VuLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtYXJrdXAtaW50ZXJuYWwtcmVmZXJl bmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2 ZSkpKQ0KLSAgIGAobWFya3VwLWl0YWxpYy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFya3VwLWxpc3QtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKG1hcmt1cC1t ZXRhLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJr dXAtbWV0YS1oaWRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo bWFya3VwLXBhc3N0aHJvdWdoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZml4ZWQtcGl0Y2ggOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hcmt1cC1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya3VwLXJlcGxhY2VtZW50 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG1h cmt1cC1zZWNvbmRhcnktdGV4dC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5k ICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC1zbWFsbC1mYWNlICgoLGNsYXNzIDpo ZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYXJrdXAtc3Ryb25nLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0g ICBgKG1hcmt1cC1zdWJzY3JpcHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYXJrdXAtc3VwZXJzY3JpcHQtZmFjZSAoKCxj bGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCht YXJrdXAtdGFibGUtY2VsbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAobWFya3VwLXRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKG1hcmt1cC10YWJsZS1yb3ctZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAobWFya3VwLXRp dGxlLTAtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDMuMCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk KSkpDQotICAgYChtYXJrdXAtdGl0bGUtMS1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMi40IDpmb3Jl Z3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS0yLWZhY2UgKCgsY2xh c3MgOmhlaWdodCAxLjggOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3Vw LXRpdGxlLTMtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuNCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFu Y2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUtNC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4yIDpm b3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS01LWZhY2UgKCgs Y2xhc3MgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKG1hcmt1cC12YWx1ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFj dGl2ZSkpKQ0KLSAgIGAobWFya3VwLXZlcmJhdGltLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgbWVudG9yDQotICAgYChtZW50b3ItZG93 bmxvYWQtbWVzc2FnZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot ICAgYChtZW50b3ItZG93bmxvYWQtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtcHJvZ3Jlc3MgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtc2l6ZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG1lbnRvci1kb3du bG9hZC1zcGVlZC1kb3duICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAo bWVudG9yLWRvd25sb2FkLXNwZWVkLXVwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQotICAgYChtZW50b3ItZG93bmxvYWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQpKSkNCi0gICBgKG1lbnRvci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAobWVudG9yLXRyYWNrZXItbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBtZXNzYWdlcw0KLSAgIGAo bWVzc2FnZS1jaXRlZC10ZXh0LTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTQgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQotICAgYChtZXNzYWdlLWhlYWRlci1jYyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItbmFt ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChtZXNzYWdl LWhlYWRlci1uZXdzZ3JvdXBzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdy ZWVuLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItb3RoZXIgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVy LXN1YmplY3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLXRvICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLXhoZWFkZXIgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1lc3NhZ2UtbW1sICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1lc3NhZ2Utc2VwYXJhdG9yICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLTs7Ozs7IG1pbmli dWZmZXItbGluZQ0KLSAgIGAobWluaWJ1ZmZlci1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotOzs7OzsgbWluaW1hcA0KLSAgIGAobWluaW1hcC1hY3RpdmUtcmVnaW9uLWJh Y2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobWluaW1h cC1jdXJyZW50LWxpbmUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgbW9kZWxpbmUNCi0gICBgKG1vZGUtbGlu ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICBmZy1hY3RpdmUgYmctYWN0aXZlIGZnLWRpbSBiZy1hY3Rp dmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQgYmctYWN0aXZlICdhbHQtc3R5 bGUgbmlsIGJnLW1haW4pKSkpDQotICAgYChtb2RlLWxpbmUtYnVmZmVyLWlkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQpKSkNCi0gICBgKG1vZGUtbGluZS1lbXBoYXNpcyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAobW9kZS1saW5lLWhpZ2hs aWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSA6Ym94ICg6bGlu ZS13aWR0aCAtMSA6c3R5bGUgcHJlc3NlZC1idXR0b24pKSkpDQotICAgYChtb2RlLWxpbmUtaW5h Y3RpdmUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5lLWF0dHJzDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctaW5hY3RpdmUgYmctaW5hY3Rp dmUgZmctYWx0IGJnLWRpbQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LXJlZ2lvbiBiZy1hY3RpdmUpKSkpDQotOzs7OzsgbW9vZC1saW5lDQotICAgYChtb29kLWxpbmUt bW9kaWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYCht b29kLWxpbmUtc3RhdHVzLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtaW5mbyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtbmV1dHJhbCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0 dXMtc3VjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYCht b29kLWxpbmUtc3RhdHVzLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXVuaW1wb3J0YW50ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IG1wZGVsDQotICAgYChtcGRlbC1i cm93c2VyLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAg YChtcGRlbC1wbGF5bGlzdC1jdXJyZW50LXNvbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IG11NGUNCi0gICBgKG11NGUt YXR0YWNoLW51bWJlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtNS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTYtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtNy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtdTRlLWNvbXBvc2UtaGVhZGVyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbXU0ZS1jb21wb3NlLXNlcGFyYXRvci1mYWNlKSkpDQotICAg YChtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAgYChtdTRlLWNvbnRhY3QtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1j b250ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYCht dTRlLWRyYWZ0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAg YChtdTRlLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAg IGAobXU0ZS1mb290ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG11NGUtZm9yd2FyZGVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtdTRlLWhl YWRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG11NGUtaGVh ZGVyLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUp KSkNCi0gICBgKG11NGUtaGVhZGVyLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQotICAgYChtdTRlLWhlYWRlci1tYXJrcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtdTRlLWhlYWRlci10aXRsZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG11NGUtaGVh ZGVyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtbGluay1m YWNlICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKG11NGUtbW9kZWxpbmUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG11NGUtbW92ZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xh bnQpKSkNCi0gICBgKG11NGUtb2stZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAobXU0ZS1yZWdpb24tY29kZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKG11NGUtcmVwbGllZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50KSkpDQotICAgYChtdTRlLXNwZWNpYWwtaGVhZGVy LXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCi0gICBgKG11NGUtc3lzdGVtLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1hcmstZGVsIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG11NGUtdGl0bGUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobXU0ZS10cmFzaGVk LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobXU0ZS11bnJlYWQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCht dTRlLXVybC1udW1iZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS12aWV3LWJvZHktZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobXU0ZS13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgd2FybmluZykpKQ0KLTs7Ozs7IG11NGUtY29udmVyc2F0aW9uDQotICAgYChtdTRlLWNv bnZlcnNhdGlvbi1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1j b2xkKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXIt MiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtdTRlLWNv bnZlcnNhdGlvbi1zZW5kZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24t c2VuZGVyLTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkpDQotICAgYCht dTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tcmVm aW5lLWZnKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItOCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRl ci1tZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobXU0ZS1jb252ZXJz YXRpb24tdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi07Ozs7OyBtdWx0aXBsZS1j dXJzb3JzDQotICAgYChtYy9jdXJzb3ItYmFyLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxIDpiYWNr Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYy9jdXJzb3ItZmFjZSAoKCxjbGFzcyA6aW52ZXJz ZS12aWRlbyB0KSkpDQotICAgYChtYy9yZWdpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCByZWdp b24pKSkNCi07Ozs7OyBuZW90cmVlDQotICAgYChuZW8tYmFubmVyLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG5lby1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBidXR0b24pKSkNCi0gICBgKG5lby1kaXItbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG5lby1leHBhbmQtYnRuLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG5lby1maWxlLWxpbmstZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobmVvLWhlYWRlci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5lby1yb290 LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChuZW8tdmMtYWRkZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkN Ci0gICBgKG5lby12Yy1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAobmVvLXZjLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobmVvLXZjLWVkaXRlZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG5lby12Yy1pZ25vcmVkLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChuZW8tdmMtbWlzc2luZy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChuZW8tdmMtbmVlZHMtbWVyZ2UtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG5lby12Yy1uZWVk cy11cGRhdGUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG5lby12Yy1yZW1v dmVkLWZhY2UgKCgsY2xhc3MgOnN0cmlrZS10aHJvdWdoIHQpKSkNCi0gICBgKG5lby12Yy11bmxv Y2tlZC1jaGFuZ2VzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJs dWUpKSkNCi0gICBgKG5lby12Yy11cC10by1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAobmVvLXZjLXVzZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLTs7Ozs7IG5vLWVtb2ppDQotICAgYChuby1lbW9qaSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IG5vdG11Y2gNCi0gICBgKG5vdG11Y2gtY3J5cHRvLWRl Y3J5cHRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkN Ci0gICBgKG5vdG11Y2gtY3J5cHRvLXBhcnQtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLWJhZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAobm90bXVj aC1jcnlwdG8tc2lnbmF0dXJlLWdvb2QgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLWdyZWVuKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtZ29vZC1rZXkgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAobm90bXVj aC1jcnlwdG8tc2lnbmF0dXJlLXVua25vd24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLXJlZCkpKQ0KLSAgIGAobm90bXVjaC1oZWxsby1sb2dvLWJhY2tncm91bmQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKG5vdG11Y2gtbWVzc2FnZS1zdW1tYXJ5 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKSkpDQotICAg YChub3RtdWNoLXNlYXJjaC1mbGFnZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCi0gICBgKG5vdG11Y2gtc2VhcmNoLW1hdGNoaW5nLWF1dGhvcnMgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5vdG11Y2gtc2VhcmNoLW5vbi1tYXRjaGluZy1h dXRob3JzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG5vdG11Y2gtc2Vh cmNoLXVucmVhZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG5vdG11Y2gt dGFnLWFkZGVkDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHls ZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGdyZWVuIDpzdHls ZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbiA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKG5vdG11Y2gtdGFnLWRlbGV0ZWQNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9y dHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUg KDpjb2xvciAscmVkIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChub3RtdWNoLXRhZy1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChub3RtdWNoLXRhZy1mbGFn Z2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChub3RtdWNoLXRhZy11 bnJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChub3RtdWNo LXRyZWUtbWF0Y2gtYXV0aG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAobm90bXVjaC10cmVlLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKG5vdG11Y2gtdHJlZS1tYXRjaC10YWctZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobm90bXVjaC10 cmVlLW5vLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo bm90bXVjaC13YXNoLWNpdGVkLXRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKG5vdG11Y2gtd2FzaC10b2dnbGUtYnV0dG9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h bHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IG51bTMtbW9kZQ0KLSAgIGAobnVtMy1m YWNlLWV2ZW4gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQot Ozs7OzsgbnhtbC1tb2RlDQotICAgYChueG1sLWF0dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtbG9jYWwtbmFtZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdCBjeWFuLWFsdC1mYWlu dCkpKSkNCi0gICBgKG54bWwtYXR0cmlidXRlLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJv bGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtdmFsdWUgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkNCi0gICBgKG54bWwtY2RhdGEt c2VjdGlvbi1DREFUQSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1h bHQgcmVkLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtY2Rh dGEtc2VjdGlvbi1kZWxpbWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAobnhtbC1jaGFyLXJlZi1kZWxp bWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhl ciBncmVlbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChueG1sLWNoYXItcmVmLW51bWJlciAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFs dC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1kZWxpbWl0ZWQt ZGF0YSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKG54bWwtZGVsaW1pdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1kaW0pKSkNCi0gICBgKG54bWwtZWxlbWVudC1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAobnhtbC1lbGVtZW50LWxvY2FsLW5hbWUgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBg KG54bWwtZWxlbWVudC1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnht bC1lbnRpdHktcmVmLWRlbGltaXRlciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAobnht bC1lbnRpdHktcmVmLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVu LWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0g ICBgKG54bWwtZ2x5cGggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0 cmFsKSkpDQotICAgYChueG1sLWhhc2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBi bHVlLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtaGVhZGluZyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkKSkpDQotICAgYChueG1sLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdl bnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtbmFtZXNwYWNl LWF0dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo bnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYChueG1sLXByb2Nl c3NpbmctaW5zdHJ1Y3Rpb24tdGFyZ2V0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtcHJvbG9nLWtl eXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIg bWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1y ZWYgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXIt ZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1i b2xkLXdlaWdodCkpKSkNCi07Ozs7OyBvYmplZA0KLSAgIGAob2JqZWQtaGwgKCgsY2xhc3MgOmJh Y2tncm91bmQgLChpZiBtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmUNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctaGwtYWx0LWludGVuc2UgYmct aGwtYWx0KSkpKQ0KLSAgIGAob2JqZWQtbWFyayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0 aXZlKSkpDQotICAgYChvYmplZC1tb2RlLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQotOzs7Ozsgb3JkZXJsZXNzDQotICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFjZS0w ICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1u dWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUt cmVmaW5lLWJnIGJsdWUtcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2Ut MSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEt bnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdl bnRhLXJlZmluZS1iZyBtYWdlbnRhLXJlZmluZS1mZykpKSkNCi0gICBgKG9yZGVybGVzcy1tYXRj aC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9u cw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbiBncmVlbi1u dWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVu LXJlZmluZS1iZyBncmVlbi1yZWZpbmUtZmcpKSkpDQotICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFj ZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxvdy1udWFu Y2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1y ZWZpbmUtYmcgeWVsbG93LXJlZmluZS1mZykpKSkNCi07Ozs7OyBvcmcNCi0gICBgKG9yZy1hZ2Vu ZGEtY2FsZW5kYXItZXZlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG9yZy1hZ2VuZGEtY2FsZW5kYXItc2V4cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQp KSkNCi0gICBgKG9yZy1hZ2VuZGEtY2xvY2tpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFu ZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAob3Jn LWFnZW5kYS1jb2x1bW4tZGF0ZWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0K LSAgIGAob3JnLWFnZW5kYS1jdXJyZW50LXRpbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGF0ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kYXRlLXRvZGF5ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVybGluZSB0KSkpDQot ICAgYChvcmctYWdlbmRhLWRhdGUtd2Vla2VuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGlhcnkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGltbWVkLXRvZG8tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZG9u ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChvcmctYWdlbmRhLWZp bHRlci1jYXRlZ29yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1maWx0ZXItZWZmb3J0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChvcmctYWdlbmRh LWZpbHRlci1yZWdleHAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXRhZ3MgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEt cmVzdHJpY3Rpb24tbG9jayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5k ICxmZy1kaW0pKSkNCi0gICBgKG9yZy1hZ2VuZGEtc3RydWN0dXJlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KLSAgIGAob3JnLWFyY2hpdmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWJsb2NrICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9jayBiZy1kaW0pDQotICAgICAg ICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1ibG9j ay1iZWdpbi1saW5lICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRz KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtb3JnLWJsb2NrLWRlbGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1kaW0gZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1hbHQgZmctc3BlY2lhbC1taWxkKSkpKQ0KLSAgIGAob3JnLWJsb2NrLWVu ZC1saW5lICgoLGNsYXNzIDppbmhlcml0IG9yZy1ibG9jay1iZWdpbi1saW5lKSkpDQotICAgYChv cmctY2hlY2tib3ggKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGJnLWFjdGl2 ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUg OmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWNoZWNrYm94LXN0YXRpc3RpY3Mt ZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctZG9uZSkpKQ0KLSAgIGAob3JnLWNoZWNrYm94LXN0 YXRpc3RpY3MtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCBvcmctdG9kbykpKQ0KLSAgIGAob3JnLWNs b2NrLW92ZXJsYXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkp DQotICAgYChvcmctY29kZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1m b250cykgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG9yZy1jb2x1bW4gKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAob3JnLWNvbHVtbi10aXRsZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDp1bmRlcmxpbmUgdCA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChv cmctZGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCAoYnV0dG9uIGZpeGVkLXBpdGNoKSA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1kYXRlLXNlbGVjdGVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0IDppbnZlcnNlLXZpZGVvIHQpKSkNCi0g ICBgKG9yZy1kb2N1bWVudC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKG9yZy1kb2N1bWVudC1pbmZvLWtleXdvcmQgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1kb2N1bWVudC10 aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gp IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVt ZS1zY2FsZS01KSkpKQ0KLSAgIGAob3JnLWRvbmUgKCgsY2xhc3MgOmJveCAsYmctcmVnaW9uIDpi YWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChvcmctZHJhd2Vy ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAob3JnLWVsbGlwc2lz ICgoLGNsYXNzIDpmb3JlZ3JvdW5kIG5pbCkpKSA7IGluaGVyaXRzIGZyb20gdGhlIGhlYWRpbmcn cyBjb2xvdXINCi0gICBgKG9yZy1mb290bm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChvcmctZm9ybXVsYSAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAg IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChvcmctaGFiaXQtYWxlcnQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdykpKQ0KLSAgIGAob3JnLWhh Yml0LWFsZXJ0LWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS15ZWxsb3cpKSkNCi0gICBgKG9yZy1oYWJpdC1jbGVhci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAob3JnLWhhYml0LWNsZWFyLWZ1 dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkp DQotICAgYChvcmctaGFiaXQtb3ZlcmR1ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChvcmctaGFiaXQtb3ZlcmR1ZS1mdXR1cmUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChvcmctaGFi aXQtcmVhZHktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUp KSkNCi0gICBgKG9yZy1oYWJpdC1yZWFkeS1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAob3JnLWhlYWRsaW5lLWRvbmUgKCgsY2xh c3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxncmVl bi1udWFuY2VkKSkpDQotICAgYChvcmctaGVhZGxpbmUtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCAs bW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQot ICAgYChvcmctaGlkZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAob3Jn LWluZGVudCAoKCxjbGFzcyA6aW5oZXJpdCAoZml4ZWQtcGl0Y2ggb3JnLWhpZGUpKSkpDQotICAg YChvcmctbGF0ZXgtYW5kLXJlbGF0ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVm aW5lLWZnKSkpDQotICAgYChvcmctbGV2ZWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTEpKSkNCi0gICBgKG9yZy1sZXZlbC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAob3JnLWxldmVsLTMgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChvcmctbGV2ZWwtNCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCi0gICBgKG9yZy1sZXZlbC01ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KLSAgIGAob3JnLWxldmVsLTYgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy02KSkpDQotICAgYChvcmctbGV2ZWwt NyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkNCi0gICBgKG9yZy1s ZXZlbC04ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctOCkpKQ0KLSAgIGAo b3JnLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAob3JnLWxpc3QtZHQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAob3JnLW1hY3JvICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChvcmctbWV0YS1saW5lICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVk LWZvbnRzKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChvcmctbW9kZS1saW5lLWNsb2Nr ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctbW9kZS1saW5lLWNs b2NrLW92ZXJydW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0K LSAgIGAob3JnLXByaW9yaXR5ICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6YmFja2dyb3VuZCAs YmctZGltIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChvcmctcHJvcGVydHktdmFsdWUg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChvcmctcXVvdGUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2Nr IGJnLWRpbSkNCi0gICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG9yZy1zY2hlZHVsZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAob3JnLXNjaGVk dWxlZC1wcmV2aW91c2x5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkp DQotICAgYChvcmctc2NoZWR1bGVkLXRvZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLXNleHAtZGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmct ZGF0ZSkpKQ0KLSAgIGAob3JnLXNwZWNpYWwta2V5d29yZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRhYmxlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG9yZy10YWJsZS1o ZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG1vZHVzLXRoZW1lLWludGVuc2Ut bmV1dHJhbCkpKSkNCi0gICBgKG9yZy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt bnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRhZy1ncm91cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKG9yZy10YXJnZXQgKCgsY2xhc3MgOnVu ZGVybGluZSB0KSkpDQotICAgYChvcmctdGltZS1ncmlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy11bmZvY3VzZWQpKSkNCi0gICBgKG9yZy10b2RvICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6 YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChvcmctdXBj b21pbmctZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0g ICBgKG9yZy11cGNvbWluZy1kaXN0YW50LWRlYWRsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXZlcmJhdGltICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAob3Jn LXZlcnNlICgoLGNsYXNzIDppbmhlcml0IG9yZy1xdW90ZSkpKQ0KLSAgIGAob3JnLXdhcm5pbmcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLTs7 Ozs7IG9yZy1qb3VybmFsDQotICAgYChvcmctam91cm5hbC1jYWxlbmRhci1lbnRyeS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKG9yZy1qb3VybmFsLWNhbGVuZGFyLXNjaGVkdWxlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQp KSkNCi0gICBgKG9yZy1qb3VybmFsLWhpZ2hsaWdodCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi07Ozs7OyBvcmctbm90ZXINCi0gICBgKG9yZy1ub3Rlci1uby1ub3Rlcy1l eGlzdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUp KSkNCi0gICBgKG9yZy1ub3Rlci1ub3Rlcy1leGlzdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLTs7Ozs7IG9yZy1wb21vZG9ybw0KLSAg IGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLSAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZS1icmVhayAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKG9yZy1wb21vZG9yby1tb2RlLWxpbmUtb3ZlcnRp bWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLTs7 Ozs7IG9yZy1yZWN1cg0KLSAgIGAob3JnLXJlY3VyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFjdGl2ZSkpKQ0KLTs7Ozs7IG9yZy1yb2FtDQotICAgYChvcmctcm9hbS1saW5rICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG9yZy1yb2Ft LWxpbmstY3VycmVudCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGdyZWVu LWFsdCkpKQ0KLSAgIGAob3JnLXJvYW0tbGluay1pbnZhbGlkICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbiA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChvcmctcm9hbS1saW5rLXNoaWVsZGVkICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChvcmct cm9hbS10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQot Ozs7Ozsgb3JnLXN1cGVyc3Rhcg0KLSAgIGAob3JnLXN1cGVyc3Rhci1pdGVtICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctc3VwZXJzdGFyLWxlYWRpbmcgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi07Ozs7OyBvcmctdGFibGUtc3RpY2t5 LWhlYWRlcg0KLSAgIGAob3JnLXRhYmxlLXN0aWNreS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi07Ozs7OyBvcmctdHJlZXNjb3Bl DQotICAgYChvcmctdHJlZXNjb3BlLWZhY2VzLS1tYXJrZXJpbnRlcm5hbC1taWRkYXkgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChvcmctdHJlZXNj b3BlLWZhY2VzLS1tYXJrZXJpbnRlcm5hbC1yYW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBvcmlnYW1pDQotICAgYChvcmlnYW1pLWZvbGQt aGVhZGVyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct ZGltIDpib3ggdCkpKQ0KLSAgIGAob3JpZ2FtaS1mb2xkLXJlcGxhY2VtZW50LWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7Ozsgb3V0 bGluZS1tb2RlDQotICAgYChvdXRsaW5lLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aGVhZGluZy0xKSkpDQotICAgYChvdXRsaW5lLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy0yKSkpDQotICAgYChvdXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChvdXRsaW5lLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy00KSkpDQotICAgYChvdXRsaW5lLTUgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGVhZGluZy01KSkpDQotICAgYChvdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaGVhZGluZy02KSkpDQotICAgYChvdXRsaW5lLTcgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy03KSkpDQotICAgYChvdXRsaW5lLTggKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy04KSkpDQotOzs7Ozsgb3V0bGluZS1taW5vci1m YWNlcw0KLSAgIGAob3V0bGluZS1taW5vci0wICgoLGNsYXNzIG5pbCkpKQ0KLTs7Ozs7IHBhY2th Z2UgKE0teCBsaXN0LXBhY2thZ2VzKQ0KLSAgIGAocGFja2FnZS1kZXNjcmlwdGlvbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYWNrYWdlLWhlbHAtc2Vj dGlvbi1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChwYWNrYWdlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0K LSAgIGAocGFja2FnZS1zdGF0dXMtYXZhaWwtb2JzbyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWF2YWlsYWJsZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1i dWlsdC1pbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAocGFja2FnZS1z dGF0dXMtZGVwZW5kZW5jeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWRpc2FibGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWV4dGVybmFsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMt aGVsZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAocGFja2FnZS1z dGF0dXMtaW5jb21wYXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1pbnN0YWxsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtbmV3ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy11 bnNpZ25lZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot Ozs7OzsgcGFnZS1icmVhay1saW5lcw0KLSAgIGAocGFnZS1icmVhay1saW5lcyAoKCxjbGFzcyA6 aW5oZXJpdCBkZWZhdWx0IDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0K LTs7Ozs7IHBhcmFkb3gNCi0gICBgKHBhcmFkb3gtYXJjaGl2ZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHBhcmFkb3gtY29tbWVudC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAocGFyYWRveC1jb21taXQtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLW1hZ2VudGEgOmJveCB0KSkpDQotICAgYChwYXJhZG94LWRlc2NyaXB0aW9uLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocGFyYWRv eC1kZXNjcmlwdGlvbi1mYWNlLW11bHRpbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChwYXJhZG94LWRvd25sb2FkLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KLSAgIGAocGFyYWRveC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChwYXJhZG94LWhvbWVwYWdlLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHBhcmFkb3gtbW9kZS1saW5l LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN Ci0gICBgKHBhcmFkb3gtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAocGFyYWRveC1zdGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKHBhcmFkb3gtc3RhcnJlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHBhcmVuLWZhY2UNCi0gICBgKHBhcmVudGhlc2lz ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi07Ozs7OyBwYXJyb3QNCi0g ICBgKHBhcnJvdC1yb3RhdGUtcm90YXRpb24taGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi07Ozs7OyBwYXNzDQotICAgYChwYXNz LW1vZGUtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYXNzLW1vZGUtZW50cnktZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAocGFzcy1t b2RlLWhlYWRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN Ci07Ozs7OyBwZXJzcC1tb2RlDQotICAgYChwZXJzcC1mYWNlLWxpZ2h0ZXItYnVmZmVyLW5vdC1p bi1wZXJzcCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAg IGAocGVyc3AtZmFjZS1saWdodGVyLWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHBlcnNwLWZhY2UtbGlnaHRlci1uaWwtcGVy c3AgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotOzs7 OzsgcGVyc3BlY3RpdmUNCi0gICBgKHBlcnNwLXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi07Ozs7OyBwaGktZ3JlcA0KLSAg IGAocGhpLWdyZXAtaGVhZGluZy1mYWNlICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkp DQotICAgYChwaGktZ3JlcC1saW5lLW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHBoaS1ncmVwLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChwaGktZ3JlcC1tb2RpZmll ZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0g ICBgKHBoaS1ncmVwLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtYmx1ZSkpKQ0KLTs7Ozs7IHBoaS1zZWFyY2gNCi0gICBgKHBoaS1yZXBsYWNlLXByZXZp ZXctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkN Ci0gICBgKHBoaS1zZWFyY2gtZmFpbHBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChwaGktc2VhcmNoLW1hdGNoLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKHBoaS1zZWFyY2gtc2Vs ZWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4g Ym9sZCkpKSkNCi07Ozs7OyBwa2didWlsZC1tb2RlDQotICAgYChwa2didWlsZC1lcnJvci1mYWNl ICgoLGNsYXNzIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyBwb21pZG9yDQot ICAgYChwb21pZG9yLWJyZWFrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90 aGVyKSkpDQotICAgYChwb21pZG9yLW92ZXJ3b3JrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKHBvbWlkb3Itc2tpcC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAocG9taWRv ci13b3JrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLTs7 Ozs7IHBvd2VybGluZQ0KLSAgIGAocG93ZXJsaW5lLWFjdGl2ZTAgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGJsdWUtZmFpbnQgOmludmVyc2UtdmlkZW8gdCkpKQ0K LSAgIGAocG93ZXJsaW5lLWFjdGl2ZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNl ZC1iZyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChwb3dlcmxpbmUtYWN0aXZl MiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUp KSkNCi0gICBgKHBvd2VybGluZS1pbmFjdGl2ZTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNw ZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwb3dlcmxp bmUtaW5hY3RpdmUxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LWluYWN0aXZlKSkpDQotICAgYChwb3dlcmxpbmUtaW5hY3RpdmUyICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07Ozs7OyBwb3dl cmxpbmUtZXZpbA0KLSAgIGAocG93ZXJsaW5lLWV2aWwtYmFzZS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChwb3dlcmxpbmUt ZXZpbC1lbWFjcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdl bnRhKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1pbnNlcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLW1vdGlv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAg YChwb3dlcmxpbmUtZXZpbC1ub3JtYWwtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0 IDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1vcGVyYXRvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCi0gICBg KHBvd2VybGluZS1ldmlsLXJlcGxhY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtcmVkKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC12aXN1YWwtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtY3lhbikpKQ0KLTs7Ozs7IHByb2NlZA0KLSAg IGAocHJvY2VkLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wp KSkNCi0gICBgKHByb2NlZC1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFy ay1hbHQpKSkNCi0gICBgKHByb2NlZC1zb3J0LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnVuZGVybGluZSB0KSkpDQotOzs7OzsgcHJv ZGlneQ0KLSAgIGAocHJvZGlneS1ncmVlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KLSAgIGAocHJvZGlneS1yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChwcm9kaWd5LXllbGxvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCi07Ozs7OyByYWNrZXQtbW9kZQ0KLSAgIGAocmFja2V0LWRlYnVnLWJyZWFrLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHJhY2tldC1k ZWJ1Zy1sb2NhbHMtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3Igbmls KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhY2tldC1kZWJ1Zy1yZXN1bHQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciBuaWwpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVuKSkpDQot ICAgYChyYWNrZXQtaGVyZS1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQpKSkNCi0gICBgKHJhY2tldC1rZXl3b3JkLWFyZ3VtZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHJhY2tldC1sb2dnZXItY29uZmlnLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChyYWNrZXQtbG9nZ2VyLWRlYnVnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyKSkpDQotICAgYChyYWNrZXQtbG9nZ2VyLWluZm8tZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbGFuZy1ub3RlKSkpDQotICAgYChyYWNrZXQtbG9nZ2VyLXRvcGljLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAocmFja2V0LXNlbGZldmFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dCkpKQ0KLSAgIGAocmFja2V0LXhwLWVycm9yLWZhY2UNCi0gICAgICgoLChhcHBlbmQgJygoc3Vw cG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxp bmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyByYWluYm93 LWJsb2Nrcw0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgt Mi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChyYWluYm93LWJsb2Nr cy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAg YChyYWluYm93LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTYtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNy1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRl cHRoLTgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKHJhaW5i b3ctYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0K LSAgIGAocmFpbmJvdy1ibG9ja3MtdW5tYXRjaGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZCkpKQ0KLTs7Ozs7IHJhaW5ib3ctaWRlbnRpZmllcnMNCi0gICBgKHJhaW5ib3ctaWRlbnRp ZmllcnMtaWRlbnRpZmllci0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIp KSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0yICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1p ZGVudGlmaWVyLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVy LTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93 LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRp Zmllci04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1p ZGVudGlmaWVycy1pZGVudGlmaWVyLTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQp KSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0x MSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlm aWVycy1pZGVudGlmaWVyLTEyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChy YWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTE0ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVu dGlmaWVyLTE1ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgcmFpbmJv dy1kZWxpbWl0ZXJzDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtYmFzZS1mYWNlLWVycm9yICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1iYXNl LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHJhaW5ib3ctZGVs aW1pdGVycy1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhl cikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1k ZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1k ZWxpbWl0ZXJzLWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkp DQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTgtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1p dGVycy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0g ICBgKHJhaW5ib3ctZGVsaW1pdGVycy1taXNtYXRjaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLXVu bWF0Y2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0K LTs7Ozs7IHJjaXJjDQotICAgYChyY2lyYy1icmlnaHQtbmljayAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmNpcmMtZGltLW5pY2sgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAocmNpcmMtbXktbmljayAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChyY2lyYy1uaWNr LWluLW1lc3NhZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChyY2lyYy1uaWNrLWluLW1lc3NhZ2UtZnVsbC1saW5lICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAocmNpcmMtb3RoZXItbmlj ayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKHJjaXJjLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmNpcmMtc2VydmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKHJjaXJjLXRpbWVzdGFtcCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChyY2lyYy11cmwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgcmVnZXhwLWJ1aWxkZXIgKHJlLWJ1aWxk ZXIpDQotICAgYChyZWItbWF0Y2gtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLWJsdWUpKSkNCi0gICBgKHJlYi1tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAocmViLW1hdGNoLTIgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAocmViLW1hdGNoLTMgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHJlYi1yZWdleHAt Z3JvdXBpbmctYmFja3NsYXNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KLSAgIGAocmViLXJlZ2V4cC1ncm91cGluZy1jb25z dHJ1Y3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXIt Y29uc3RydWN0KSkpDQotOzs7OzsgcmcgKHJnLmVsKQ0KLSAgIGAocmctY29sdW1uLW51bWJlci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmct Y29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBg KHJnLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChyZy1maWxlLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKHJnLWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChyZy1saW5lLW51bWJlci1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHJnLWxpdGVy YWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHJnLW1hdGNo LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAg YChyZy1yZWdleHAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN Ci0gICBgKHJnLXRvZ2dsZS1vZmYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAocmctdG9nZ2xlLW9uLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHJnLXdhcm5pbmct ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7 OyByaXBncmVwDQotICAgYChyaXBncmVwLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChyaXBncmVwLWVycm9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChyaXBncmVwLWhpdC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChyaXBncmVwLW1hdGNoLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotOzs7Ozsgcm1haWwN Ci0gICBgKHJtYWlsLWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAocm1haWwtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgcnVsZXItbW9kZQ0KLSAgIGAocnVsZXIt bW9kZS1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IChydWxlci1tb2RlLWRlZmF1bHQg Ym9sZCkgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHJ1bGVyLW1vZGUtY29tbWVudC1j b2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQotICAgYChydWxlci1tb2RlLWN1cnJlbnQtY29sdW1uICgoLGNsYXNzIDpp bmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUgOmJveCB0 KSkpDQotICAgYChydWxlci1tb2RlLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWlu YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1maWxs LWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQg LGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1mcmluZ2VzICgoLGNsYXNzIDppbmhl cml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBg KHJ1bGVyLW1vZGUtZ29hbC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZh dWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1tYXJn aW5zICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsYmct bWFpbikpKQ0KLSAgIGAocnVsZXItbW9kZS1wYWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtdGFiLXN0 b3AgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWN0aXZlKSkpDQotOzs7Ozsgc2FsbGV0DQotICAgYChzYWxsZXQtYnVmZmVyLWNvbXByZXNz ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkIDpzbGFudCBpdGFsaWMpKSkN Ci0gICBgKHNhbGxldC1idWZmZXItZGVmYXVsdC1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tbnVhbmNlZCkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1oZWxw ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHNhbGxldC1i dWZmZXItbW9kaWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIgOnNs YW50IGl0YWxpYykpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1vcmRpbmFyeSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1yZWFkLW9ubHkgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKHNhbGxldC1idWZmZXItc2l6ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChzYWxsZXQtYnVm ZmVyLXNwZWNpYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChzYWxsZXQtZmx4LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4 dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCi0gICBgKHNhbGxldC1yZWNlbnRmLWJ1ZmZlci1u YW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHNhbGxldC1y ZWNlbnRmLWZpbGUtcGF0aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkp DQotICAgYChzYWxsZXQtcmVnZXhwLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcikpKSkN Ci0gICBgKHNhbGxldC1zb3VyY2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkp DQotICAgYChzYWxsZXQtc3Vic3RyaW5nLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlcikp KSkNCi07Ozs7OyBzZWxlY3RydW0NCi0gICBgKHNlbGVjdHJ1bS1jdXJyZW50LWNhbmRpZGF0ZQ0K LSAgICAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6dW5kZXJs aW5lICxmZy1tYWluDQotICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsQChwY2FzZSBtb2R1cy1v cGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgnb3BpbmlvbmF0ZWQgKGxpc3QgYmctYWN0aXZlKSkNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoXyAobGlzdCBiZy1pbmFjdGl2ZSkpKSkpKQ0KLSAgIGAoc2VsZWN0cnVtLXByaW1h cnktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEtYWx0IG1hZ2VudGEtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZn KSkpKQ0KLSAgIGAoc2VsZWN0cnVtLXNlY29uZGFyeS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tbnVh bmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcpKSkpDQotOzs7Ozsgc2VtYW50aWMNCi0gICBg KHNlbWFudGljLWNvbXBsZXRlLWlubGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0gOnVuZGVybGluZSB0KSkpDQotICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9u LXByaXZhdGUtbWVtYmVycy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuKSkpDQotICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLXByb3RlY3RlZC1tZW1iZXJz LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoc2VtYW50aWMtaGln aGxpZ2h0LWVkaXRzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAo c2VtYW50aWMtaGlnaGxpZ2h0LWZ1bmMtY3VycmVudC10YWctZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctYWx0KSkpDQotICAgYChzZW1hbnRpYy1pZGxlLXN5bWJvbC1oaWdobGlnaHQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYChzZW1hbnRp Yy10YWctYm91bmRhcnktZmFjZSAoKCxjbGFzcyA6b3ZlcmxpbmUgLGJsdWUtaW50ZW5zZSkpKQ0K LSAgIGAoc2VtYW50aWMtdW5tYXRjaGVkLXN5bnRheC1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUg LGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyBzZXNtYW4NCi0gICBgKHNlc21hbi1icm93c2VyLWJ1 dHRvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKHNlc21hbi1icm93c2VyLWhpZ2hsaWdoLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKHNlc21hbi1idWZmZXItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoc2VzbWFuLWRpcmVjdG9yeS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHNl c21hbi1wcm9qZWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBzaGVsbC1zY3JpcHQtbW9kZQ0KLSAgIGAoc2gtaGVy ZWRvYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHNoLXF1b3RlZC1l eGVjICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBzaG93LXBhcmVuLW1vZGUNCi0gICBgKHNob3ct cGFyZW4tbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtcGFyZW4gYmctcGFy ZW4tbWF0Y2gNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNob3ctcGFyZW4t bWF0Y2gtZXhwcmVzc2lvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNh bG0pKSkNCi0gICBgKHNob3ctcGFyZW4tbWlzbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyBzaWRlLW5vdGVzDQotICAgYChzaWRlLW5vdGVz ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7 Ozs7IHNrZXdlci1tb2RlDQotICAgYChza2V3ZXItZXJyb3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHNtYXJ0LW1vZGUtbGluZQ0KLSAgIGAo c21sL2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBg KHNtbC9kaXNjaGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAg IGAoc21sL2ZpbGVuYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWN0aXZlKSkpDQotICAgYChzbWwvZm9sZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3Rp dmUpKSkNCi0gICBgKHNtbC9naXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWN0aXZlKSkpDQotICAgYChzbWwvZ2xvYmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hY3RpdmUpKSkNCi0gICBgKHNtbC9saW5lLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBzbWwv Z2xvYmFsKSkpDQotICAgYChzbWwvbWlub3ItbW9kZXMgKCgsY2xhc3MgOmluaGVyaXQgc21sL2ds b2JhbCkpKQ0KLSAgIGAoc21sL21vZGVzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL21vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChzbWwvbXVsZS1pbmZvICgo LGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9uYW1lLWZpbGxpbmcgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKHNtbC9ub3QtbW9kaWZp ZWQgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL251bWJlcnMtc2Vw YXJhdG9yICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9vdXRzaWRl LW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQot ICAgYChzbWwvcG9zaXRpb24tcGVyY2VudGFnZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFs KSkpDQotICAgYChzbWwvcHJlZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUp KSkNCi0gICBgKHNtbC9wcm9jZXNzICgoLGNsYXNzIDppbmhlcml0IHNtbC9wcmVmaXgpKSkNCi0g ICBgKHNtbC9wcm9qZWN0aWxlICgoLGNsYXNzIDppbmhlcml0IHNtbC9naXQpKSkNCi0gICBgKHNt bC9yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3Rp dmUpKSkNCi0gICBgKHNtbC9yZW1vdGUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0K LSAgIGAoc21sL3N1ZG8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkp KQ0KLSAgIGAoc21sL3RpbWUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAo c21sL3ZjICgoLGNsYXNzIDppbmhlcml0IHNtbC9naXQpKSkNCi0gICBgKHNtbC92Yy1lZGl0ZWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7 Ozs7IHNtYXJ0cGFyZW5zDQotICAgYChzcC1wYWlyLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHNwLXNob3ctcGFpci1lbmNs b3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAg YChzcC1zaG93LXBhaXItbWF0Y2gtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1wYXJlbiBiZy1wYXJlbi1tYXRjaA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5z ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChzcC1zaG93LXBhaXItbWlzbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5LWNs b3NpbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KLSAg IGAoc3Atd3JhcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5 LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtb3ZlcmxheS1vcGVuaW5nLXBhaXIgKCgsY2xhc3MgOmlu aGVyaXQgc3AtcGFpci1vdmVybGF5LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtdGFnLW92ZXJsYXkt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KLTs7Ozs7IHNt ZXJnZQ0KLSAgIGAoc21lcmdlLWJhc2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlm Zi1jaGFuZ2VkKSkpDQotICAgYChzbWVyZ2UtbG93ZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1hZGRlZCkpKQ0KLSAgIGAoc21lcmdlLW1hcmtlcnMgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikp KQ0KLSAgIGAoc21lcmdlLXJlZmluZWQtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLWNoYW5nZWQgKCgs Y2xhc3MpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KLSAgIGAoc21lcmdlLXVwcGVyICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLTs7Ozs7IHNwYWNl bGluZQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLWluc2VydCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCi0gICBgKHNwYWNlbGlu ZS1ldmlsLW1vdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkp KQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1h bHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtcmVwbGFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAgYChzcGFjZWxp bmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4p KSkNCi0gICBgKHNwYWNlbGluZS1mbHljaGVjay1lcnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWluZm8gKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUtZmx5Y2hlY2std2Fybmlu ZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5l LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVl KSkpDQotICAgYChzcGFjZWxpbmUtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZnJpbmdlLW1hZ2VudGEpKSkNCi0gICBgKHNwYWNlbGluZS1weXRob24tdmVudiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHNwYWNlbGluZS1yZWFkLW9u bHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoc3Bh Y2VsaW5lLXVubW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5 YW4pKSkNCi07Ozs7OyBzcGVlZGJhcg0KLSAgIGAoc3BlZWRiYXItYnV0dG9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAoc3BlZWRiYXItZGlyZWN0b3J5LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc3BlZWRiYXItZmls ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzcGVlZGJhci1o aWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkp KQ0KLSAgIGAoc3BlZWRiYXItc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChzcGVlZGJhci1zZXBhcmF0b3ItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBgKHNwZWVkYmFy LXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7 Ozsgc3BlbGwtZnUNCi0gICBgKHNwZWxsLWZ1LWluY29ycmVjdC1mYWNlDQotICAgICAoKCwoYXBw ZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAg ICA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpDQot ICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkN Ci07Ozs7OyBzdHJpcGVzDQotICAgYChzdHJpcGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhsLWxpbmUpKSkNCi07Ozs7OyBzdWNjZXNzDQotICAgYChzdWdnZXN0LWhlYWRpbmcgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLTs7 Ozs7IHN3aXRjaC13aW5kb3cNCi0gICBgKHN3aXRjaC13aW5kb3ctYmFja2dyb3VuZCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChzd2l0Y2gtd2luZG93LWxhYmVsICgoLGNs YXNzIDpoZWlnaHQgMy4wIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi07Ozs7OyBzd2lw ZXINCi0gICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCkpKQ0KLSAgIGAoc3dpcGVyLWJhY2tncm91bmQt bWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkp DQotICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1h dGNoLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkN Ci0gICBgKHN3aXBlci1saW5lLWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12 ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc3dpcGVyLW1hdGNo LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXItbGluZS1mYWNlKSkpDQotICAgYChzd2lw ZXItbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IHN3aXBlci1saW5lLWZhY2UpKSkNCi0g ICBgKHN3aXBlci1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgc3dpcGVyLWxpbmUtZmFj ZSkpKQ0KLSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXIt bGluZS1mYWNlKSkpDQotOzs7Ozsgc3dvb3ANCi0gICBgKHN3b29wLWZhY2UtaGVhZGVyLWZvcm1h dC1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTMpKSkpDQotICAgYChzd29v cC1mYWNlLWxpbmUtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00 KSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotICAgYChzd29vcC1mYWNlLXRhcmdldC1saW5lICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4 dGVuZCB0KSkpKSkNCi0gICBgKHN3b29wLWZhY2UtdGFyZ2V0LXdvcmRzICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotOzs7Ozsgc3gNCi0gICBgKHN4LWluYm94 LWl0ZW0tdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKHN4LWluYm94LWl0ZW0tdHlwZS11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgKHN4LWluYm94 LWl0ZW0tdHlwZSBib2xkKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1hbnN3ZXJzICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1hbnN3ZXJz LWFjY2VwdGVkICgoLGNsYXNzIDpib3ggdCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHN4 LXF1ZXN0aW9uLWxpc3QtYm91bnR5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWRh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbGlzdC1mYXZvcml0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtcGFyZW50ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LXJlYWQtcXVl c3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24t bGlzdC1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAg YChzeC1xdWVzdGlvbi1saXN0LXNjb3JlLXVwdm90ZWQgKCgsY2xhc3MgOmluaGVyaXQgKHN4LXF1 ZXN0aW9uLWxpc3Qtc2NvcmUgYm9sZCkpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtdW5yZWFk LXF1ZXN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtYWNjZXB0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 aGVpZ2h0IDEuMyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUt Y2xvc2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cgOmJveCAo OmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1jbG9z ZWQtcmVhc29uICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCkgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtY29udGVudC1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtZGF0 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1o ZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo c3gtcXVlc3Rpb24tbW9kZS1rYmQtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAw LjkgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLW1haW4gOnN0eWxlIHJlbGVhc2VkLWJ1 dHRvbikgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtc2Nv cmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9k ZS1zY29yZS1kb3dudm90ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAo c3gtcXVlc3Rpb24tbW9kZS1zY29yZS11cHZvdGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtdGl0bGUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rp b24tbW9kZS10aXRsZS1jb21tZW50cyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKHN4LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCi0gICBgKHN4LXVzZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKHN4LXVzZXItcmVwdXRhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotOzs7Ozsgc3ltYm9sLW92ZXJsYXkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWRlZmF1bHQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KHN5bWJvbC1vdmVybGF5LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLWJsdWUpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFj ZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93KSkpDQotICAg YChzeW1ib2wtb3ZlcmxheS1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTUgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZh Y2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChz eW1ib2wtb3ZlcmxheS1mYWNlLTcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1jeWFuKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07Ozs7OyBzeXNsb2ctbW9kZQ0KLSAgIGAoc3lz bG9nLWRlYnVnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotICAgYChzeXNsb2ctZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChzeXNsb2ctZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHN5c2xvZy1oaWRlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeXNs b2ctaG91ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAoc3lzbG9nLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1pcCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQgOnVuZGVybGluZSB0KSkpDQotICAg YChzeXNsb2ctc3UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLSAgIGAoc3lzbG9nLXdhcm4gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotOzs7OzsgdGFibGUgKGJ1aWx0LWluIHRhYmxlLmVsKQ0KLSAgIGAodGFibGUt Y2VsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnKSkpDQotOzs7OzsgdGVs ZXBob25lLWxpbmUNCi0gICBgKHRlbGVwaG9uZS1saW5lLWFjY2VudC1hY3RpdmUgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGZnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1pbmFjdGl2ZSkpKQ0KLSAg IGAodGVsZXBob25lLWxpbmUtYWNjZW50LWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUt ZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0K LSAgIGAodGVsZXBob25lLWxpbmUtZXZpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1lbWFjcyAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxl cGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWludGVuc2UtYmcpKSkNCi0gICBg KHRlbGVwaG9uZS1saW5lLWV2aWwtaW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1s aW5lLWV2aWwgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkNCi0gICBgKHRlbGVwaG9u ZS1saW5lLWV2aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwg OmJhY2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1l dmlsLW5vcm1hbCAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3Jv dW5kICxiZy1hbHQpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtb3BlcmF0b3IgKCgsY2xh c3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRs ZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1yZXBsYWNlICgoLGNsYXNzIDppbmhl cml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQot ICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhv bmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBgKHRlbGVw aG9uZS1saW5lLXByb2plY3RpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkp DQotICAgYCh0ZWxlcGhvbmUtbGluZS11bmltcG9ydGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctaW5hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLXdhcm5pbmcgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7IHRlcm0NCi0g ICBgKHRlcm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKHRlcm0tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYCh0 ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJs dWUpKSkNCi0gICBgKHRlcm0tY29sb3ItY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbiA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAodGVybS1jb2xvci1ncmVlbiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZ3JlZW4gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYCh0ZXJtLWNvbG9yLW1h Z2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCi0gICBgKHRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAodGVybS1jb2xvci15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91 bmQgLHllbGxvdyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYCh0ZXJtLXVuZGVybGluZSAo KCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyB0b21hdGluaG8NCi0gICBgKHRvbWF0aW5o by1vay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKHRv bWF0aW5oby1wYXVzZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkp KQ0KLSAgIGAodG9tYXRpbmhvLXJlc2V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLTs7Ozs7IHRyYW5zaWVudA0KLSAgIGAodHJhbnNpZW50LWFjdGl2ZS1pbmZpeCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHRyYW5zaWVu dC1hbWFyYW50aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKHRyYW5zaWVudC1hcmd1bWVudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWx0KSkpDQotICAgYCh0cmFuc2llbnQtYmx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCh0cmFuc2llbnQtZGlzYWJsZWQtc3VmZml4 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYCh0cmFu c2llbnQtZW5hYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1ncmVlbikpKQ0KLSAgIGAodHJhbnNpZW50LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJhbnNpZW50LWluYWN0aXZlLWFyZ3Vt ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHRyYW5zaWVudC1pbmFj dGl2ZS12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0cmFuc2ll bnQta2V5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBg KHRyYW5zaWVudC1taXNtYXRjaGVkLWtleSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KHRyYW5zaWVudC1ub25zdGFuZGFyZC1rZXkgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAg YCh0cmFuc2llbnQtcGluayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYCh0cmFuc2llbnQtcmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYCh0cmFuc2llbnQtdGVhbCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAodHJhbnNpZW50 LXVucmVhY2hhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBg KHRyYW5zaWVudC11bnJlYWNoYWJsZS1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9j dXNlZCkpKQ0KLSAgIGAodHJhbnNpZW50LXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLTs7Ozs7IHRyYXNoZWQNCi0gICBgKHRyYXNoZWQtZGVsZXRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAodHJhc2hlZC1kaXJlY3Rv cnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHRyYXNoZWQtbWFyayAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAodHJhc2hlZC1t YXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCi0gICBgKHRy YXNoZWQtcmVzdG9yZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkN Ci0gICBgKHRyYXNoZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQotOzs7OzsgdHJlZW1hY3MNCi0gICBgKHRyZWVtYWNzLWRpcmVjdG9y eS1jb2xsYXBzZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0g ICBgKHRyZWVtYWNzLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWRpcmVj dG9yeSkpKQ0KLSAgIGAodHJlZW1hY3MtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYCh0cmVlbWFjcy1mcmluZ2UtaW5kaWNhdG9yLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1hZGRlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYCh0cmVlbWFjcy1naXQt Y29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQg Ym9sZCkpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1pZ25vcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LW1vZGlmaWVkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1y ZW5hbWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YCh0cmVlbWFjcy1naXQtdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYCh0cmVlbWFjcy1naXQtdW50cmFja2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKHRyZWVtYWNzLWhlbHAtY29sdW1uLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHRyZWVtYWNzLWhlbHAt dGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBg KHRyZWVtYWNzLW9uLWZhaWx1cmUtcHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAodHJlZW1hY3Mtb24tc3VjY2Vzcy1wdWxzZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKHRy ZWVtYWNzLXJvb3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlciA6aGVpZ2h0IDEuMiA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHRyZWVtYWNzLXJv b3QtcmVtb3RlLWRpc2Nvbm5lY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJv b3QtcmVtb3RlLWZhY2UgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAodHJlZW1hY3Mtcm9v dC1yZW1vdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LWZhY2UgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLXVucmVhZGFibGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LXVucmVhZGFibGUtZmFjZSkpKQ0K LSAgIGAodHJlZW1hY3Mtcm9vdC11bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJl ZW1hY3Mtcm9vdC1mYWNlIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQotICAgYCh0cmVlbWFjcy10YWdz LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYCh0cmVlbWFjcy10 YWdzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgdHR5 LW1lbnUNCi0gICBgKHR0eS1tZW51LWRpc2FibGVkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0dHktbWVudS1lbmFibGVkLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYCh0dHktbWVudS1zZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLTs7Ozs7IHR1YXJlZw0KLSAgIGAoY2Ft bC10eXBlcy1kZWYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVk KSkpDQotICAgYChjYW1sLXR5cGVzLWV4cHItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGNhbWwtdHlwZXMtb2NjLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChjYW1sLXR5cGVzLXNj b3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0g ICBgKGNhbWwtdHlwZXMtdHlwZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtZG91YmxlLXNlbWljb2xvbi1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCBy ZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1hdHRyaWJ1dGUtZmFjZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2Vu dGEtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWNvbnN0cnVjdG9yLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stZXJy b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkp KSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stZXh0ZW5zaW9uLW5vZGUtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh0dWFyZWct Zm9udC1sb2NrLWdvdmVybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2staW5maXgtZXh0ZW5zaW9uLW5v ZGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2st aW50ZXJhY3RpdmUtZGlyZWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbnRlcmFjdGl2ZS1lcnJvci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZCByZWQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVy YWN0aXZlLW91dHB1dC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAodHVhcmVnLWZvbnQtbG9jay1sYWJlbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkp DQotICAgYCh0dWFyZWctZm9udC1sb2NrLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1tb2R1bGUt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFs dCBtYWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stbXVsdGlzdGFn ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1m b250LWxvY2stb3BlcmF0b3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1vcGFtLWVy cm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KSkp KQ0KLSAgIGAodHVhcmVnLW9wYW0tcGtnLXZhcmlhYmxlLW5hbWUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzbGFudCAsbW9k dXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyB0eXBlc2NyaXB0DQotICAgYCh0eXBlc2NyaXB0LWpz ZG9jLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkIDpzbGFudCAsbW9k dXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHR5cGVzY3JpcHQtanNkb2MtdHlwZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKHR5cGVzY3JpcHQtanNkb2MtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgdW5kby10cmVl DQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1hY3RpdmUtYnJhbmNoLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodW5kby10cmVlLXZp c3VhbGl6ZXItY3VycmVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2Up KSkNCi0gICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1yZWdpc3Rlci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBgKHVuZG8t dHJlZS12aXN1YWxpemVyLXVubW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4taW50ZW5zZSkpKQ0KLTs7Ozs7IHZjICh2Yy1ob29rcy5lbCkNCi0gICBgKHZjLWNvbmZsaWN0 LXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKHZjLWVkaXRlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAodmMtbG9jYWxseS1hZGRlZC1zdGF0ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHZjLWxvY2tlZC1zdGF0ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHZjLW1pc3Npbmctc3RhdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xh bnQpKSkNCi0gICBgKHZjLW5lZWRzLXVwZGF0ZS1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWN0aXZlIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHZjLXJlbW92 ZWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKHZjLXN0 YXRlLWJhc2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAodmMtdXAt dG8tZGF0ZS1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot Ozs7OzsgdmRpZmYNCi0gICBgKHZkaWZmLWFkZGl0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KLSAgIGAodmRpZmYtY2hhbmdlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQotICAgYCh2ZGlmZi1jbG9z ZWQtZm9sZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9y ZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKHZkaWZmLXJlZmluZS1hZGRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KLSAgIGAo dmRpZmYtcmVmaW5lLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1y ZWZpbmUtY2hhbmdlZCkpKQ0KLSAgIGAodmRpZmYtc3VidHJhY3Rpb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCi0gICBgKHZkaWZmLXRhcmdldC1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLTs7Ozs7 IHZpbWlzaC1mb2xkDQotICAgYCh2aW1pc2gtZm9sZC1mcmluZ2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYCh2aW1pc2gtZm9sZC1tb3VzZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAodmltaXNoLWZvbGQt b3ZlcmxheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi07Ozs7OyB2aXNpYmxlLW1hcmsNCi0gICBgKHZpc2libGUtbWFyay1hY3Rp dmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJs ZS1tYXJrLWZhY2UxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0g ICBgKHZpc2libGUtbWFyay1mYWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWludGVu c2UtYmcpKSkNCi0gICBgKHZpc2libGUtbWFyay1mb3J3YXJkLWZhY2UxICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxtYWdlbnRhLWludGVuc2UtYmcpKSkNCi0gICBgKHZpc2libGUtbWFyay1mb3J3YXJk LWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJnKSkpDQotOzs7Ozsg dmlzdWFsLXJlZ2V4cA0KLSAgIGAodnIvZ3JvdXAtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKHZyL2dyb3VwLTEgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYCh2ci9ncm91cC0yICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKHZyL21hdGNoLTAg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAodnIv bWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQot ICAgYCh2ci9tYXRjaC1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhl bWUtaW50ZW5zZS1uZXV0cmFsIGJvbGQpKSkpDQotOzs7Ozsgdm9sYXRpbGUtaGlnaGxpZ2h0cw0K LSAgIGAodmhsL2RlZmF1bHQtZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZl cnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotOzs7Ozsg dnRlcm0NCi0gICBgKHZ0ZXJtLWNvbG9yLWJsYWNrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5 MzUiIDpmb3JlZ3JvdW5kICJncmF5MzUiKSkpDQotICAgYCh2dGVybS1jb2xvci1ibHVlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCh2dGVybS1j b2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYCh2dGVybS1jb2xvci1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh2dGVybS1jb2xvci1ncmVlbiAoKCxjbGFz cyA6YmFja2dyb3VuZCAsZ3JlZW4gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYCh2dGVybS1j b2xvci1pbnZlcnNlLXZpZGVvICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDppbnZlcnNl LXZpZGVvIHQpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91 bmQgLG1hZ2VudGEgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLXJl ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHZ0 ZXJtLWNvbG9yLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJt IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodnRlcm0tY29sb3Itd2hpdGUgKCgsY2xhc3MgOmJhY2tn cm91bmQgImdyYXk2NSIgOmZvcmVncm91bmQgImdyYXk2NSIpKSkNCi0gICBgKHZ0ZXJtLWNvbG9y LXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93IDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCi07Ozs7OyB3Y2hlY2stbW9kZQ0KLSAgIGAod2NoZWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHdlYi1tb2RlDQotICAg YCh3ZWItbW9kZS1hbm5vdGF0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29t bWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1hbm5vdGF0aW9uLWh0bWwtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWFubm90 YXRpb24tdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stYXR0ci1uYW1lLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkN Ci0gICBgKHdlYi1tb2RlLWJsb2NrLWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZh aW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhl cml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stY29udHJv bC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1h bHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3 ZWItbW9kZS1ibG9jay1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYm9sZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKHdlYi1tb2RlLWJ1aWx0aW4tZmFjZSAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY29tbWVudC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAod2ViLW1vZGUtY29tbWVudC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctZGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxvdy1m YWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkp DQotICAgYCh3ZWItbW9kZS1jc3MtYXQtcnVsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAod2ViLW1vZGUtY3NzLWNvbG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWln aHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLWZ1bmN0aW9uLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1h Z2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9k ZS1jc3MtcHJpb3JpdHktZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgeWVsbG93LWFsdCB5ZWxsb3ctYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkp DQotICAgYCh3ZWItbW9kZS1jc3MtcHJvcGVydHktbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKHdl Yi1tb2RlLWNzcy1wc2V1ZG8tY2xhc3MtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAod2ViLW1vZGUtY3NzLXNlbGVjdG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3Mtc3RyaW5nLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1t b2RlLWNzcy12YXJpYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi0gICBgKHdlYi1tb2RlLWN1cnJlbnQtY29sdW1uLWhpZ2hsaWdodC1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHdlYi1tb2RlLWN1cnJlbnQtZWxlbWVu dC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1p bGQpKSkNCi0gICBgKHdlYi1tb2RlLWRvY3R5cGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHdlYi1t b2RlLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQp KSkNCi0gICBgKHdlYi1tb2RlLWZpbHRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1mb2xkZWQt ZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLWZ1bmN0aW9uLWNh bGwtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEg bWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWlu dCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1jdXN0b20tZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBg KHdlYi1tb2RlLWh0bWwtYXR0ci1lbmdpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLWVxdWFsLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1uYW1lLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50 KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLXZhbHVlLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVy LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1lbnRpdHktZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1hbHQtb3Ro ZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzbGFu dCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFnLWJyYWNrZXQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYCh3ZWItbW9kZS1odG1s LXRhZy1jdXN0b20tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFp bnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy1uYW1lc3BhY2VkLWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRh LWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1t b2RlLWh0bWwtdGFnLXVuY2xvc2VkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVkIHJlZC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOnVuZGVybGluZSB0KSkpDQotICAgYCh3ZWItbW9kZS1pbmxh eS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHdlYi1tb2RlLWl0 YWxpYy1mYWNlICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHdlYi1tb2RlLWphdmFz Y3JpcHQtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFj ZSkpKQ0KLSAgIGAod2ViLW1vZGUtamF2YXNjcmlwdC1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtanNvbi1jb21tZW50 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3 ZWItbW9kZS1qc29uLWNvbnRleHQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9k ZS1qc29uLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0g ICBgKHdlYi1tb2RlLWpzb24tc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUt c3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0xLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAod2ViLW1vZGUtanN4LWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1z dWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0 aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtNC1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkp DQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAod2ViLW1vZGUta2V5d29y ZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3Ro ZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3 ZWItbW9kZS1wYXJhbS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1wYXJ0LWNvbW1l bnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBg KHdlYi1tb2RlLXBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1ibG9jay1mYWNl KSkpDQotICAgYCh3ZWItbW9kZS1wYXJ0LXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdl Yi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1wcmVwcm9jZXNzb3ItZmFjZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdC1vdGhlciByZWQt YWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtc2NyaXB0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgd2ViLW1vZGUtcGFydC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1zcWwta2V5d29y ZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxv dy1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXN0cmluZy1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWludCkpKSkNCi0gICBgKHdlYi1t b2RlLXN0eWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtcGFydC1mYWNlKSkpDQot ICAgYCh3ZWItbW9kZS1zeW1ib2wtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9k ZS10eXBlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBt YWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXVuZGVybGluZS1mYWNlICgoLGNs YXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2ViLW1vZGUtdmFyaWFibGUtbmFtZS1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkp KQ0KLSAgIGAod2ViLW1vZGUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJh Y2tncm91bmQgLGJnLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFsdC1vdGhlciB5ZWxsb3ctYWx0LW90aGVy LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtd2hpdGVzcGFjZS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotOzs7 Ozsgd2dyZXANCi0gICBgKHdncmVwLWRlbGV0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKHdncmVwLWRvbmUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAod2dyZXAtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCi0gICBgKHdncmVwLWZp bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYCh3 Z3JlcC1yZWplY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1y ZWQgYm9sZCkpKSkNCi07Ozs7OyB3aGljaC1mdW5jdGlvbi1tb2RlDQotICAgYCh3aGljaC1mdW5j ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLTs7Ozs7IHdoaWNoLWtl eQ0KLSAgIGAod2hpY2gta2V5LWNvbW1hbmQtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAod2hpY2gta2V5LWdyb3VwLWRlc2NyaXB0aW9uLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYCh3aGljaC1rZXktaGln aGxpZ2h0ZWQtY29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKHdoaWNoLWtleS1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKHdoaWNoLWtleS1sb2NhbC1t YXAtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAod2hpY2gta2V5LW5vdGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHdoaWNoLWtleS1zZXBhcmF0b3ItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh3aGljaC1rZXktc3BlY2lh bC1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50 ZW5zZSkpKQ0KLTs7Ozs7IHdoaXRlc3BhY2UtbW9kZQ0KLSAgIGAod2hpdGVzcGFjZS1iaWctaW5k ZW50ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKHdo aXRlc3BhY2UtZW1wdHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdl bnRhKSkpDQotICAgYCh3aGl0ZXNwYWNlLWhzcGFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct d2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFj ZS1pbmRlbnRhdGlvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdy b3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1saW5lICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1uZXds aW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13 aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLXNwYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0 ZXNwYWNlLXNwYWNlLWFmdGVyLXRhYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtbWFnZW50YSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1zcGFjZS1iZWZvcmUtdGFiICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYCh3aGl0ZXNwYWNlLXRh YiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hp dGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS10cmFpbGluZyAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHdpbmRvdy1kaXZpZGVyLW1vZGUNCi0g ICBgKHdpbmRvdy1kaXZpZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRl ci1pbm5lcikpKQ0KLSAgIGAod2luZG93LWRpdmlkZXItZmlyc3QtcGl4ZWwgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotICAgYCh3aW5kb3ctZGl2aWRl ci1sYXN0LXBpeGVsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRl cikpKQ0KLTs7Ozs7IHdpbnVtDQotICAgYCh3aW51bS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi07 Ozs7OyB3cml0ZWdvb2QtbW9kZQ0KLSAgIGAod3JpdGVnb29kLWR1cGxpY2F0ZXMtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0IDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAod3JpdGVnb29kLXBhc3NpdmUtdm9pY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LW51YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy13YXJuaW5nKSkpDQotICAg YCh3cml0ZWdvb2Qtd2Vhc2Vscy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNl ZCA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7Ozsgd29tYW4NCi0gICBgKHdvbWFu LWFkZGl0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAod29tYW4tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQotICAgYCh3b21hbi1pdGFsaWMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4gOnNsYW50 IGl0YWxpYykpKQ0KLSAgIGAod29tYW4tdW5rbm93biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyB4YWgtZWxpc3AtbW9kZQ0KLSAgIGAoeGFoLWVs aXNwLWF0LXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1m YWludCkpKSkNCi0gICBgKHhhaC1lbGlzcC1jYXAtdmFyaWFibGUgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVkLWFsdC1vdGhlciByZWQtYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAoeGFoLWVsaXNwLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHhh aC1lbGlzcC1kb2xsYXItc3ltYm9sICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBncmVlbiBncmVlbi1mYWludCkpKSkNCi07Ozs7OyB4cmVmDQotICAgYCh4cmVmLWZpbGUtaGVh ZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAoeHJlZi1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYCh4cmVmLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNoKSkpDQotOzs7OzsgeWFt bC1tb2RlDQotICAgYCh5YW1sLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtcmVkKSkpDQotOzs7OzsgeWFzbmlwcGV0DQotICAgYCh5YXMtZmllbGQtaGlnaGxp Z2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLTs7Ozs7IHp0cmVlDQotICAgYCh6dHJlZXAtYXJyb3ctZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHp0cmVlcC1kaWZmLWhlYWRlci1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtaGVhZGVyLXNtYWxsLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYCh6dHJlZXAt ZGlmZi1tb2RlbC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBg KHp0cmVlcC1kaWZmLW1vZGVsLWRpZmYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1pZ25vcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtbW9kZWwt bm9ybWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoenRyZWVw LWV4cGFuZC1zaWduLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHp0 cmVlcC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHp0cmVlcC1sZWFmLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHp0cmVlcC1ub2RlLWNvdW50LWNoaWxkcmVu LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoenRy ZWVwLW5vZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKSkNCi07Ozs7IEVt YWNzIDI3Kw0KLSAgKHdoZW4gKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpDQotICAgIChjdXN0 b20tdGhlbWUtc2V0LWZhY2VzDQotICAgICAnbW9kdXMtb3BlcmFuZGkNCi07Ozs7OyBsaW5lIG51 bWJlcnMgKGBkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZhcmlhbnQpDQot ICAgICA7OyBOT1RFIHRoYXQgdGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIHRoZSBmYWNlcyB0aGF0 IHdlcmUNCi0gICAgIDs7IGludHJvZHVjZWQgaW4gRW1hY3MgMjcsIGFzIHRoZSBvdGhlciBmYWNl cyBhcmUgYWxyZWFkeQ0KLSAgICAgOzsgc3VwcG9ydGVkLg0KLSAgICAgYChsaW5lLW51bWJlci1t YWpvci10aWNrICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLHllbGxvdy1udWFuY2VkLWJn DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHll bGxvdy1udWFuY2VkKSkpDQotICAgICBgKGxpbmUtbnVtYmVyLW1pbm9yLXRpY2sgKCgsY2xhc3Mg OmluaGVyaXQgKGJvbGQgZGVmYXVsdCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07Ozs7OyB0YWIt YmFyLW1vZGUNCi0gICAgIGAodGFiLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFiLWJh ciA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItYmFyLXRhYiAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItYWN0aXZlKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItYmFyLXRhYi1pbmFjdGl2ZSAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWluYWN0aXZlKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWluYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi07Ozs7OyB0YWItbGluZS1tb2RlDQotICAgICBg KHRhYi1saW5lICgoLGNsYXNzIDpoZWlnaHQgMC45NSA6YmFja2dyb3VuZCAsYmctdGFiLWJhciA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItbGluZS1jbG9zZS1oaWdobGlnaHQg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgICAgYCh0YWItbGluZS1oaWdobGlnaHQg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0p KSkNCi0gICAgIGAodGFiLWxpbmUtdGFiICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxp bmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgICAgYCh0YWItbGluZS10YWItY3VycmVudCAoKCxjbGFzcyA6aW5oZXJpdCB0YWItbGlu ZS10YWIpKSkNCi0gICAgIGAodGFiLWxpbmUtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWluYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkpKQ0KLTs7OzsgRW1hY3MgMjgrDQotICAod2hlbiAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyOCkNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0gICAgICdtb2R1 cy1vcGVyYW5kaQ0KLTs7Ozs7IGlzZWFyY2ggcmVnZXhwIGdyb3Vwcw0KLSAgICAgYChpc2VhcmNo LWdyb3VwLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQot ICAgICBgKGlzZWFyY2gtZ3JvdXAtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLW1hZ2VudGEpKSkpKQ0KLTs7OyB2YXJpYWJsZXMNCi0gIChjdXN0b20tdGhlbWUtc2V0LXZh cmlhYmxlcw0KLSAgICdtb2R1cy1vcGVyYW5kaQ0KLTs7OzsgYW5zaS1jb2xvcnMNCi0gICBgKGFu c2ktY29sb3ItZmFjZXMtdmVjdG9yIFtkZWZhdWx0IGJvbGQgc2hhZG93IGl0YWxpYyB1bmRlcmxp bmUgc3VjY2VzcyB3YXJuaW5nIGVycm9yXSkNCi0gICBgKGFuc2ktY29sb3ItbmFtZXMtdmVjdG9y IFssZmctbWFpbiAscmVkICxncmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFuICxiZy1t YWluXSkNCi07Ozs7IGF3ZXNvbWUtdHJheQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZGUtbGluZS1h Y3RpdmUtY29sb3IgLGJsdWUpDQotICAgYChhd2Vzb21lLXRyYXktbW9kZS1saW5lLWluYWN0aXZl LWNvbG9yICxiZy1hY3RpdmUpDQotOzs7OyBmbHltYWtlIGZyaW5nZSBpbmRpY2F0b3JzDQotICAg YChmbHltYWtlLWVycm9yLWJpdG1hcCAnKGZseW1ha2UtZG91YmxlLWV4Y2xhbWF0aW9uLW1hcmsg bW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpDQotICAgYChmbHltYWtlLXdhcm5pbmctYml0bWFwICco ZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkNCi0gICBgKGZseW1h a2Utbm90ZS1iaXRtYXAgJyhleGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFu KSkNCi07Ozs7IGlidWZmZXINCi0gICBgKGlidWZmZXItZGVsZXRpb24tZmFjZSAnbW9kdXMtdGhl bWUtbWFyay1kZWwpDQotICAgYChpYnVmZmVyLWZpbHRlci1ncm91cC1uYW1lLWZhY2UgJ21vZHVz LXRoZW1lLW1hcmstc3ltYm9sKQ0KLSAgIGAoaWJ1ZmZlci1tYXJrZWQtZmFjZSAnbW9kdXMtdGhl bWUtbWFyay1zZWwpDQotICAgYChpYnVmZmVyLXRpdGxlLWZhY2UgJ21vZHVzLXRoZW1lLXBzZXVk by1oZWFkZXIpDQotOzs7OyBoaWdobGlnaHQtdGFpbA0KLSAgIGAoaGlnaGxpZ2h0LXRhaWwtY29s b3JzDQotICAgICAnKCgsZ3JlZW4tc3VidGxlLWJnIC4gMCkNCi0gICAgICAgKCxjeWFuLXN1YnRs ZS1iZyAuIDIwKSkpDQotOzs7OyBobC10b2RvDQotICAgYChobC10b2RvLWtleXdvcmQtZmFjZXMN Ci0gICAgICcoKCJIT0xEIiAuICx5ZWxsb3ctYWx0KQ0KLSAgICAgICAoIlRPRE8iIC4gLG1hZ2Vu dGEpDQotICAgICAgICgiTkVYVCIgLiAsbWFnZW50YS1hbHQtb3RoZXIpDQotICAgICAgICgiVEhF TSIgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICgiUFJPRyIgLiAsY3lhbikNCi0gICAgICAgKCJP S0FZIiAuICxjeWFuLWFsdCkNCi0gICAgICAgKCJET05UIiAuICxncmVlbi1hbHQpDQotICAgICAg ICgiRkFJTCIgLiAscmVkKQ0KLSAgICAgICAoIkJVRyIgLiAscmVkKQ0KLSAgICAgICAoIkRPTkUi IC4gLGdyZWVuKQ0KLSAgICAgICAoIk5PVEUiIC4gLHllbGxvdy1hbHQtb3RoZXIpDQotICAgICAg ICgiS0xVREdFIiAuICx5ZWxsb3cpDQotICAgICAgICgiSEFDSyIgLiAseWVsbG93KQ0KLSAgICAg ICAoIlRFTVAiIC4gLHJlZC1udWFuY2VkKQ0KLSAgICAgICAoIkZJWE1FIiAuICxyZWQtYWx0LW90 aGVyKQ0KLSAgICAgICAoIlhYWCsiIC4gLHJlZC1hbHQpDQotICAgICAgICgiUkVWSUVXIiAuICxj eWFuLWFsdC1vdGhlcikNCi0gICAgICAgKCJERVBSRUNBVEVEIiAuICxibHVlLW51YW5jZWQpKSkN Ci07Ozs7IHZjLWFubm90YXRlIChDLXggdiBnKQ0KLSAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3Vu ZCBuaWwpDQotICAgYCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUgbmlsKQ0KLSAgIGAodmMt YW5ub3RhdGUtY29sb3ItbWFwDQotICAgICAnKCgyMCAuICxyZWQpDQotICAgICAgICg0MCAuICxt YWdlbnRhKQ0KLSAgICAgICAoNjAgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICg4MCAuICxyZWQt YWx0KQ0KLSAgICAgICAoMTAwIC4gLHllbGxvdykNCi0gICAgICAgKDEyMCAuICx5ZWxsb3ctYWx0 KQ0KLSAgICAgICAoMTQwIC4gLGZnLXNwZWNpYWwtd2FybSkNCi0gICAgICAgKDE2MCAuICxmZy1z cGVjaWFsLW1pbGQpDQotICAgICAgICgxODAgLiAsZ3JlZW4pDQotICAgICAgICgyMDAgLiAsZ3Jl ZW4tYWx0KQ0KLSAgICAgICAoMjIwIC4gLGN5YW4tYWx0LW90aGVyKQ0KLSAgICAgICAoMjQwIC4g LGN5YW4tYWx0KQ0KLSAgICAgICAoMjYwIC4gLGN5YW4pDQotICAgICAgICgyODAgLiAsZmctc3Bl Y2lhbC1jb2xkKQ0KLSAgICAgICAoMzAwIC4gLGJsdWUpDQotICAgICAgICgzMjAgLiAsYmx1ZS1h bHQpDQotICAgICAgICgzNDAgLiAsYmx1ZS1hbHQtb3RoZXIpDQotICAgICAgICgzNjAgLiAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHZjLWFubm90YXRlLXZlcnktb2xkLWNvbG9yIG5pbCkN Ci07Ozs7IHh0ZXJtLWNvbG9yDQotICAgYCh4dGVybS1jb2xvci1uYW1lcyBbLGZnLW1haW4gLHJl ZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50YSAsY3lhbiAsYmctYWx0XSkNCi0gICBgKHh0 ZXJtLWNvbG9yLW5hbWVzLWJyaWdodCBbLGZnLWFsdCAscmVkLWFsdCAsZ3JlZW4tYWx0ICx5ZWxs b3ctYWx0ICxibHVlLWFsdCAsbWFnZW50YS1hbHQgLGN5YW4tYWx0ICxiZy1tYWluXSkpDQotOzs7 IENvbmRpdGlvbmFsIHRoZW1lIHZhcmlhYmxlcw0KLTs7Ozsgb3JnLXNyYy1ibG9jay1mYWNlcw0K LSAgOzsgdGhpcyBpcyBhIHVzZXIgb3B0aW9uIHRvIGFkZCBhIGNvbG91ci1jb2RlZCBiYWNrZ3Jv dW5kIHRvIHNvdXJjZQ0KLSAgOzsgYmxvY2tzIGZvciB2YXJpb3VzIHByb2dyYW1taW5nIGxhbmd1 YWdlcw0KLSAgKHdoZW4gKGVxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9ja3MgJ3JhaW5i b3cpDQotICAgIChjdXN0b20tdGhlbWUtc2V0LXZhcmlhYmxlcw0KLSAgICAgJ21vZHVzLW9wZXJh bmRpDQotICAgICBgKG9yZy1zcmMtYmxvY2stZmFjZXMgICAgICAgICAgICAgIDsgVE9ETyB0aGlz IGxpc3Qgc2hvdWxkIGJlIGV4cGFuZGVkDQotICAgICAgIGAoKCJlbWFjcy1saXNwIiBtb2R1cy10 aGVtZS1udWFuY2VkLW1hZ2VudGEpDQotICAgICAgICAgKCJlbGlzcCIgbW9kdXMtdGhlbWUtbnVh bmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiY2xvanVyZSIgbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhKQ0KLSAgICAgICAgICgiY2xvanVyZXNjcmlwdCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhKQ0KLSAgICAgICAgICgiYyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlKQ0KLSAgICAg ICAgICgiYysrIiBtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUpDQotICAgICAgICAgKCJzaCIgbW9k dXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoInNoZWxsIiBtb2R1cy10aGVtZS1u dWFuY2VkLWdyZWVuKQ0KLSAgICAgICAgICgiaHRtbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxs b3cpDQotICAgICAgICAgKCJ4bWwiIG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93KQ0KLSAgICAg ICAgICgiY3NzIiBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCkNCi0gICAgICAgICAoInNjc3MiIG1v ZHVzLXRoZW1lLW51YW5jZWQtcmVkKQ0KLSAgICAgICAgICgicHl0aG9uIiBtb2R1cy10aGVtZS1u dWFuY2VkLWdyZWVuKQ0KLSAgICAgICAgICgiaXB5dGhvbiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhKQ0KLSAgICAgICAgICgiciIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAg ICAgICgieWFtbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAgICAgICgiY29uZiIg bW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAgICAgICgiZG9ja2VyIiBtb2R1cy10aGVt ZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAgKCJqc29uIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5 YW4pKSkpKSkNCisgIHN0YW5kYXJkIGZvciBjb2xvciBjb250cmFzdCBiZXR3ZWVuIGJhY2tncm91 bmQgYW5kIGZvcmVncm91bmQNCisgIGVsZW1lbnRzIChXQ0FHIEFBQSkuIikNCiANCi07OzsgbGli cmFyeSBwcm92aWRlcw0KLTs7OyMjI2F1dG9sb2FkDQotKHdoZW4gbG9hZC1maWxlLW5hbWUNCi0g IChhZGQtdG8tbGlzdCAnY3VzdG9tLXRoZW1lLWxvYWQtcGF0aA0KLSAgICAgICAgICAgICAgIChm aWxlLW5hbWUtYXMtZGlyZWN0b3J5IChmaWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1uYW1l KSkpKQ0KKyhtb2R1cy10aGVtZXMtY29yZS10aGVtZQ0KKyAnbW9kdXMtb3BlcmFuZGkpDQogDQog KHByb3ZpZGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKQ0KIA0KZGlmZiAtLWdpdCBhL2V0Yy90aGVt ZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbCBiL2V0Yy90aGVtZXMvbW9kdXMtdml2ZW5kaS10aGVt ZS5lbA0KaW5kZXggZDQ1YzNjYTJlZS4uYjI2MDM5NDkwNSAxMDA2NDQNCi0tLSBhL2V0Yy90aGVt ZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbA0KKysrIGIvZXRjL3RoZW1lcy9tb2R1cy12aXZlbmRp LXRoZW1lLmVsDQpAQCAtNCw0NjYwICs0LDY0IEBADQogDQogOzsgQXV0aG9yOiBQcm90ZXNpbGFv cyBTdGF2cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCiA7OyBVUkw6IGh0dHBzOi8vZ2l0bGFi LmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMNCi07OyBWZXJzaW9uOiAwLjEzLjANCis7OyBW ZXJzaW9uOiAxLjAuMg0KIDs7IFBhY2thZ2UtUmVxdWlyZXM6ICgoZW1hY3MgIjI2LjEiKSkNCiA7 OyBLZXl3b3JkczogZmFjZXMsIHRoZW1lLCBhY2Nlc3NpYmlsaXR5DQogDQogOzsgVGhpcyBmaWxl IGlzIHBhcnQgb2YgR05VIEVtYWNzLg0KIA0KLTs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCis7OyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIDs7 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5DQotOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCi07OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLg0KKzs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdA0KKzs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4NCiA7Ow0KLTs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KLTs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQotOzsgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KLTs7IEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorOzsgVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dA0K Kzs7IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YNCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlIEdOVQ0KKzs7IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4NCiA7Ow0KIDs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQogOzsgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KIA0KIDs7OyBD b21tZW50YXJ5Og0KIDs7DQotOzsgVGhpcyB0aGVtZSBpcyBkZXNpZ25lZCBmb3IgY29sb3VyLWNv bnRyYXN0IGFjY2Vzc2liaWxpdHkuDQorOzsgTW9kdXMgVml2ZW5kaSBpcyB0aGUgZGFyayB2YXJp YW50IG9mIHRoZSBNb2R1cyB0aGVtZXMgKE1vZHVzIE9wZXJhbmRpDQorOzsgaXMgdGhlIGxpZ2h0 IG9uZSkuICBUaGUgdGhlbWVzIGFyZSBkZXNpZ25lZCBmb3IgY29sb3ItY29udHJhc3QNCis7OyBh Y2Nlc3NpYmlsaXR5LiAgTW9yZSBzcGVjaWZpY2FsbHk6DQogOzsNCi07OyAxLiBQcm92aWRlIGEg Y29uc2lzdGVudCBtaW5pbXVtIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gYmFja2dyb3VuZCBhbmQN Ci07OyBmb3JlZ3JvdW5kIHZhbHVlcyBvZiA3OjEgb3IgaGlnaGVyLiAgVGhpcyBtZWV0cyB0aGUg aGlnaGVzdCBzdWNoDQotOzsgYWNjZXNzaWJpbGl0eSBjcml0ZXJpb24gcGVyIHRoZSBndWlkZWxp bmVzIG9mIHRoZSBXb3JsZHdpZGUgV2ViDQotOzsgQ29uc29ydGl1bSdzIFdvcmtpbmcgR3JvdXAg b24gQWNjZXNzaWJpbGl0eSAoV0NBRyBBQUEgc3RhbmRhcmQpLg0KKzs7ICAgICAxLiBQcm92aWRl IGEgY29uc2lzdGVudCBtaW5pbXVtIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gYmFja2dyb3VuZA0K Kzs7ICAgICBhbmQgZm9yZWdyb3VuZCB2YWx1ZXMgb2YgNzoxIG9yIGhpZ2hlci4gIFRoaXMgbWVl dHMgdGhlIGhpZ2hlc3QNCis7OyAgICAgc3VjaCBhY2Nlc3NpYmlsaXR5IGNyaXRlcmlvbiBwZXIg dGhlIGd1aWRlbGluZXMgb2YgdGhlIFdvcmxkd2lkZQ0KKzs7ICAgICBXZWIgQ29uc29ydGl1bSdz IFdvcmtpbmcgR3JvdXAgb24gQWNjZXNzaWJpbGl0eSAoV0NBRyBBQUENCis7OyAgICAgc3RhbmRh cmQpLg0KIDs7DQotOzsgMi4gT2ZmZXIgYXMgY2xvc2UgdG8gZnVsbCBmYWNlIGNvdmVyYWdlIGFz IHBvc3NpYmxlLiAgVGhlIGxpc3QgaXMNCi07OyBhbHJlYWR5IHF1aXRlIGxvbmcgKHNlZSBmdXJ0 aGVyIGJlbG93KSwgd2l0aCBtb3JlIGFkZGl0aW9ucyB0byBmb2xsb3cNCi07OyBhcyBwYXJ0IG9m IHRoZSBvbmdvaW5nIGRldmVsb3BtZW50IHByb2Nlc3MuDQorOzsgICAgIDIuIE9mZmVyIGFzIGNs b3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcyBwb3NzaWJsZS4gIFRoZSBsaXN0IGlzDQorOzsg ICAgIGFscmVhZHkgcXVpdGUgbG9uZywgd2l0aCBtb3JlIGFkZGl0aW9ucyB0byBmb2xsb3cgYXMg cGFydCBvZiB0aGUNCis7OyAgICAgb25nb2luZyBkZXZlbG9wbWVudCBwcm9jZXNzLg0KIDs7DQot OzsgVGhlIHRoZW1lIHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgY3VzdG9taXNhdGlvbiBvcHRpb25z LCBhbGwgb2Ygd2hpY2gNCi07OyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdDoNCis7OyBGb3IgYSBj b21wbGV0ZSB2aWV3IG9mIHRoZSBwcm9qZWN0LCBhbHNvIHJlZmVyIHRvIHRoZSBmb2xsb3dpbmcg ZmlsZXMNCis7OyAoc2hvdWxkIGJlIGRpc3RyaWJ1dGVkIGluIHRoZSBzYW1lIHJlcG9zaXRvcnkv ZGlyZWN0b3J5IGFzIHRoZQ0KKzs7IGN1cnJlbnQgaXRlbSk6DQogOzsNCi07OyAgICAgbW9kdXMt dml2ZW5kaS10aGVtZS1zbGFudGVkLWNvbnN0cnVjdHMgICAgICAgICAgICAgKGJvb2xlYW4pDQot OzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC1jb25zdHJ1Y3RzICAgICAgICAgICAgICAg IChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhl YWRpbmdzICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1uby1t aXhlZC1mb250cyAgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVu ZGktdGhlbWUtaGVhZGluZ3MgICAgICAgICAgICAgICAgICAgICAgIChhbGlzdCkNCi07OyAgICAg bW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS1oZWFkaW5ncyAgICAgICAgICAgICAgICAgKGJvb2xl YW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcyAgICAgICAgICAgICAgICAg ICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcyAg ICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUt cHJvbXB0cyAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLXZp dmVuZGktdGhlbWUtbW9kZS1saW5lICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQotOzsg ICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMgICAgICAgICAgICAgICAgICAgICAgICAgIChj aG9pY2UpDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3ludGF4ICAgICAgICAg ICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2Ut aGwtbGluZSAgICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10 aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1v ZHVzLXZpdmVuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUgICAgICAgICAgICAgIChib29sZWFu KQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zICAgICAgICAgICAgICAg ICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9y cy1hbGlzdCAgICAgICAgICAoYWxpc3QpDQotOzsNCi07OyBUaGUgZGVmYXVsdCBzY2FsZSBpcyBh cyBmb2xsb3dzIChpdCBjYW4gYmUgY3VzdG9taXNlZCBhcyB3ZWxsKToNCi07Ow0KLTs7ICAgICBt b2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTEgMS4wNQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTIgMS4xDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMyAxLjE1 DQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNCAxLjINCi07OyAgICAgbW9kdXMt dml2ZW5kaS10aGVtZS1zY2FsZS01IDEuMw0KLTs7DQotOzsgV2hhdCBmb2xsb3dzIGlzIHRoZSBs aXN0IG9mIGV4cGxpY2l0bHkgc3VwcG9ydGVkIHBhY2thZ2VzIG9yIGZhY2UNCi07OyBncm91cHMg KHRoZXJlIGFyZSBpbXBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcyBhcyB3ZWxsLCB3aGljaA0K LTs7IGluaGVyaXQgZnJvbSBmb250LWxvY2sgb3Igc29tZSBiYXNpYyBncm91cCkuICBZb3UgYXJl IGVuY291cmFnZWQgdG8NCi07OyBub3RpZnkgbWUgb2YgYW55IG1pc3NpbmcgcGFja2FnZSBvciBj aGFuZ2UgeW91IHdvdWxkIGxpa2UgdG8gc2VlLg0KLTs7DQotOzsgICAgIGFjZS13aW5kb3cNCi07 OyAgICAgYWcNCi07OyAgICAgYWxlcnQNCi07OyAgICAgYWxsLXRoZS1pY29ucw0KLTs7ICAgICBh bm5vdGF0ZQ0KLTs7ICAgICBhbnp1DQotOzsgICAgIGFwcm9wb3MNCi07OyAgICAgYXB0LXNvdXJj ZXMtbGlzdA0KLTs7ICAgICBhcnRib2xsb2Nrcy1tb2RlDQotOzsgICAgIGF1Y3RleCBhbmQgVGVY DQotOzsgICAgIGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMNCi07OyAgICAgYXZ5DQotOzsgICAgIGF3 ZXNvbWUtdHJheQ0KLTs7ICAgICBiaW5kZXINCi07OyAgICAgYm0NCi07OyAgICAgYm9uZ28NCi07 OyAgICAgYm9vbg0KLTs7ICAgICBicmVha3BvaW50IChwcm92aWRlZCBieSBidWlsdC1pbiBnZGIt bWkuZWwpDQotOzsgICAgIGJ1ZmZlci1leHBvc2UNCi07OyAgICAgY2FsZW5kYXIgYW5kIGRpYXJ5 DQotOzsgICAgIGNhbGZ3DQotOzsgICAgIGNlbnRhdXItdGFicw0KLTs7ICAgICBjaGFuZ2UtbG9n IGFuZCBsb2ctdmlldyAoYHZjLXByaW50LWxvZycgYW5kIGB2Yy1wcmludC1yb290LWxvZycpDQot OzsgICAgIGNpZGVyDQotOzsgICAgIGNpcmNlDQotOzsgICAgIGNvbG9yLXJnDQotOzsgICAgIGNv bHVtbi1lbmZvcmNlLW1vZGUNCi07OyAgICAgY29tcGFueS1tb2RlDQotOzsgICAgIGNvbXBhbnkt cG9zZnJhbWUNCi07OyAgICAgY29tcGlsYXRpb24tbW9kZQ0KLTs7ICAgICBjb21wbGV0aW9ucw0K LTs7ICAgICBjb3Vuc2VsDQotOzsgICAgIGNvdW5zZWwtY3NzDQotOzsgICAgIGNvdW5zZWwtbm90 bXVjaA0KLTs7ICAgICBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0cmluZw0KLTs7ICAgICBjb3YNCi07 OyAgICAgY3BlcmwtbW9kZQ0KLTs7ICAgICBjc3YtbW9kZQ0KLTs7ICAgICBjdHJsZg0KLTs7ICAg ICBjdXN0b20gKE0teCBjdXN0b21pemUpDQotOzsgICAgIGRhcC1tb2RlDQotOzsgICAgIGRhc2hi b2FyZCAoZW1hY3MtZGFzaGJvYXJkKQ0KLTs7ICAgICBkZWFkZ3JlcA0KLTs7ICAgICBkZWJidWdz DQotOzsgICAgIGRlZmluZS13b3JkDQotOzsgICAgIGRlZnQNCi07OyAgICAgZGljdGlvbmFyeQ0K LTs7ICAgICBkaWZmLWhsDQotOzsgICAgIGRpZmYtbW9kZQ0KLTs7ICAgICBkaW0tYXV0b2xvYWQN Ci07OyAgICAgZGlyLXRyZWV2aWV3DQotOzsgICAgIGRpcmVkDQotOzsgICAgIGRpcmVkLWFzeW5j DQotOzsgICAgIGRpcmVkLWdpdA0KLTs7ICAgICBkaXJlZC1naXQtaW5mbw0KLTs7ICAgICBkaXJl ZC1uYXJyb3cNCi07OyAgICAgZGlyZWQtc3VidHJlZQ0KLTs7ICAgICBkaXJlZGZsDQotOzsgICAg IGRpc2stdXNhZ2UNCi07OyAgICAgZG9vbS1tb2RlbGluZQ0KLTs7ICAgICBkeW5hbWljLXJ1bGVy DQotOzsgICAgIGVhc3ktamVreWxsDQotOzsgICAgIGVhc3kta2lsbA0KLTs7ICAgICBlYmRiDQot OzsgICAgIGVkaWZmDQotOzsgICAgIGVnbG90DQotOzsgICAgIGVsLXNlYXJjaA0KLTs7ICAgICBl bGRvYw0KLTs7ICAgICBlbGRvYy1ib3gNCi07OyAgICAgZWxmZWVkDQotOzsgICAgIGVsZmVlZC1z Y29yZQ0KLTs7ICAgICBlbW1zDQotOzsgICAgIGVuaGFuY2VkLXJ1YnktbW9kZQ0KLTs7ICAgICBl cGENCi07OyAgICAgZXF1YWtlDQotOzsgICAgIGVyYw0KLTs7ICAgICBlcm9zDQotOzsgICAgIGVy dA0KLTs7ICAgICBlc2hlbGwNCi07OyAgICAgZXNoZWxsLWZyaW5nZS1zdGF0dXMNCi07OyAgICAg ZXNoZWxsLWdpdC1wcm9tcHQNCi07OyAgICAgZXNoZWxsLXByb21wdC1leHRyYXMgKGVwZSkNCi07 OyAgICAgZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmcNCi07OyAgICAgZXZpbCAoZXZpbC1tb2Rl KQ0KLTs7ICAgICBldmlsLWdvZ2dsZXMNCi07OyAgICAgZXZpbC12aXN1YWwtbWFyay1tb2RlDQot OzsgICAgIGV3dw0KLTs7ICAgICBleWVicm93c2UNCi07OyAgICAgZmFuY3ktZGFiYnJldg0KLTs7 ICAgICBmbHljaGVjaw0KLTs7ICAgICBmbHljaGVjay1jb2xvci1tb2RlLWxpbmUNCi07OyAgICAg Zmx5Y2hlY2staW5kaWNhdG9yDQotOzsgICAgIGZseWNoZWNrLXBvc2ZyYW1lDQotOzsgICAgIGZs eW1ha2UNCi07OyAgICAgZmx5c3BlbGwNCi07OyAgICAgZmx5c3BlbGwtY29ycmVjdA0KLTs7ICAg ICBmbHgNCi07OyAgICAgZnJlZXplLWl0DQotOzsgICAgIGZyb2ctbWVudQ0KLTs7ICAgICBmb2N1 cw0KLTs7ICAgICBmb2xkLXRoaXMNCi07OyAgICAgZm9udC1sb2NrIChnZW5lcmljIHN5bnRheCBo aWdobGlnaHRpbmcpDQotOzsgICAgIGZvcmdlDQotOzsgICAgIGZvdW50YWluIChmb3VudGFpbi1t b2RlKQ0KLTs7ICAgICBnZWlzZXINCi07OyAgICAgZ2l0LWNvbW1pdA0KLTs7ICAgICBnaXQtZ3V0 dGVyIChhbmQgdmFyaWFudHMpDQotOzsgICAgIGdpdC1sZW5zDQotOzsgICAgIGdpdC1yZWJhc2UN Ci07OyAgICAgZ2l0LXRpbWVtYWNoaW5lDQotOzsgICAgIGdpdC13YWxrdHJlZQ0KLTs7ICAgICBn bnVzDQotOzsgICAgIGdvbGRlbi1yYXRpby1zY3JvbGwtc2NyZWVuDQotOzsgICAgIGhlbG0NCi07 OyAgICAgaGVsbS1scy1naXQNCi07OyAgICAgaGVsbS1zd2l0Y2gtc2hlbGwNCi07OyAgICAgaGVs bS14cmVmDQotOzsgICAgIGhlbHBmdWwNCi07OyAgICAgaGlnaGxpZ2h0LWJsb2Nrcw0KLTs7ICAg ICBoaWdobGlnaHQtZGVmaW5lZA0KLTs7ICAgICBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAo YGhlcy1tb2RlJykNCi07OyAgICAgaGlnaGxpZ2h0LWluZGVudGF0aW9uDQotOzsgICAgIGhpZ2hs aWdodC1udW1iZXJzDQotOzsgICAgIGhpZ2hsaWdodC1zeW1ib2wNCi07OyAgICAgaGlnaGxpZ2h0 LXRhaWwNCi07OyAgICAgaGlnaGxpZ2h0LXRoaW5nDQotOzsgICAgIGhsLWRlZmluZWQNCi07OyAg ICAgaGwtZmlsbC1jb2x1bW4NCi07OyAgICAgaGwtbGluZS1tb2RlDQotOzsgICAgIGhsLXRvZG8N Ci07OyAgICAgaHlkcmENCi07OyAgICAgaHlwZXJsaXN0DQotOzsgICAgIGlidWZmZXINCi07OyAg ICAgaWNvbXBsZXRlDQotOzsgICAgIGlkby1tb2RlDQotOzsgICAgIGllZGl0DQotOzsgICAgIGlm bGlwYg0KLTs7ICAgICBpbWVudS1saXN0DQotOzsgICAgIGluZGl1bQ0KLTs7ICAgICBpbmZvDQot OzsgICAgIGluZm8tY29sb3JzDQotOzsgICAgIGludGVyYWN0aW9uLWxvZw0KLTs7ICAgICBpb2Nj dXINCi07OyAgICAgaXNlYXJjaCwgb2NjdXIsIGV0Yy4NCi07OyAgICAgaXZ5DQotOzsgICAgIGl2 eS1wb3NmcmFtZQ0KLTs7ICAgICBqaXJhIChvcmctamlyYSkNCi07OyAgICAgam91cm5hbGN0bC1t b2RlDQotOzsgICAgIGpzMi1tb2RlDQotOzsgICAgIGp1bGlhDQotOzsgICAgIGp1cHl0ZXINCi07 OyAgICAga2FvY2hhLXJ1bm5lcg0KLTs7ICAgICBrZXljYXN0DQotOzsgICAgIGxpbmUgbnVtYmVy cyAoYGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUnIGFuZCBnbG9iYWwgdmFyaWFudCkNCi07OyAg ICAgbHNwLW1vZGUNCi07OyAgICAgbHNwLXVpDQotOzsgICAgIG1hZ2l0DQotOzsgICAgIG1hZ2l0 LWltZXJnZQ0KLTs7ICAgICBtYW4NCi07OyAgICAgbWFya2Rvd24tbW9kZQ0KLTs7ICAgICBtYXJr dXAtZmFjZXMgKGBhZG9jLW1vZGUnKQ0KLTs7ICAgICBtZW50b3INCi07OyAgICAgbWVzc2FnZXMN Ci07OyAgICAgbWluaWJ1ZmZlci1saW5lDQotOzsgICAgIG1pbmltYXANCi07OyAgICAgbW9kZWxp bmUNCi07OyAgICAgbW9vZC1saW5lDQotOzsgICAgIG1wZGVsDQotOzsgICAgIG11NGUNCi07OyAg ICAgbXU0ZS1jb252ZXJzYXRpb24NCi07OyAgICAgbXVsdGlwbGUtY3Vyc29ycw0KLTs7ICAgICBu ZW90cmVlDQotOzsgICAgIG5vLWVtb2ppDQotOzsgICAgIG5vdG11Y2gNCi07OyAgICAgbnVtMy1t b2RlDQotOzsgICAgIG54bWwtbW9kZQ0KLTs7ICAgICBvYmplZA0KLTs7ICAgICBvcmRlcmxlc3MN Ci07OyAgICAgb3JnDQotOzsgICAgIG9yZy1qb3VybmFsDQotOzsgICAgIG9yZy1ub3Rlcg0KLTs7 ICAgICBvcmctcG9tb2Rvcm8NCi07OyAgICAgb3JnLXJlY3VyDQotOzsgICAgIG9yZy1yb2FtDQot OzsgICAgIG9yZy1zdXBlcnN0YXINCi07OyAgICAgb3JnLXRhYmxlLXN0aWNreS1oZWFkZXINCi07 OyAgICAgb3JnLXRyZWVzY29wZQ0KLTs7ICAgICBvcmlnYW1pDQotOzsgICAgIG91dGxpbmUtbW9k ZQ0KLTs7ICAgICBvdXRsaW5lLW1pbm9yLWZhY2VzDQotOzsgICAgIHBhY2thZ2UgKE0teCBsaXN0 LXBhY2thZ2VzKQ0KLTs7ICAgICBwYWdlLWJyZWFrLWxpbmVzDQotOzsgICAgIHBhcmFkb3gNCi07 OyAgICAgcGFyZW4tZmFjZQ0KLTs7ICAgICBwYXJyb3QNCi07OyAgICAgcGFzcw0KLTs7ICAgICBw ZXJzcC1tb2RlDQotOzsgICAgIHBlcnNwZWN0aXZlDQotOzsgICAgIHBoaS1ncmVwDQotOzsgICAg IHBoaS1zZWFyY2gNCi07OyAgICAgcGtnYnVpbGQtbW9kZQ0KLTs7ICAgICBwb21pZG9yDQotOzsg ICAgIHBvd2VybGluZQ0KLTs7ICAgICBwb3dlcmxpbmUtZXZpbA0KLTs7ICAgICBwcm9jZWQNCi07 OyAgICAgcHJvZGlneQ0KLTs7ICAgICByYWNrZXQtbW9kZQ0KLTs7ICAgICByYWluYm93LWJsb2Nr cw0KLTs7ICAgICByYWluYm93LWlkZW50aWZpZXJzDQotOzsgICAgIHJhaW5ib3ctZGVsaW1pdGVy cw0KLTs7ICAgICByY2lyYw0KLTs7ICAgICByZWdleHAtYnVpbGRlciAoYWxzbyBrbm93biBhcyBg cmUtYnVpbGRlcicpDQotOzsgICAgIHJnDQotOzsgICAgIHJpcGdyZXANCi07OyAgICAgcm1haWwN Ci07OyAgICAgcnVsZXItbW9kZQ0KLTs7ICAgICBzYWxsZXQNCi07OyAgICAgc2VsZWN0cnVtDQot OzsgICAgIHNlbWFudGljDQotOzsgICAgIHNlc21hbg0KLTs7ICAgICBzaGVsbC1zY3JpcHQtbW9k ZQ0KLTs7ICAgICBzaG93LXBhcmVuLW1vZGUNCi07OyAgICAgc2lkZS1ub3Rlcw0KLTs7ICAgICBz a2V3ZXItbW9kZQ0KLTs7ICAgICBzbWFydC1tb2RlLWxpbmUNCi07OyAgICAgc21hcnRwYXJlbnMN Ci07OyAgICAgc21lcmdlDQotOzsgICAgIHNwYWNlbGluZQ0KLTs7ICAgICBzcGVlZGJhcg0KLTs7 ICAgICBzcGVsbC1mdQ0KLTs7ICAgICBzdHJpcGVzDQotOzsgICAgIHN1Z2dlc3QNCi07OyAgICAg c3dpdGNoLXdpbmRvdw0KLTs7ICAgICBzd2lwZXINCi07OyAgICAgc3dvb3ANCi07OyAgICAgc3gN Ci07OyAgICAgc3ltYm9sLW92ZXJsYXkNCi07OyAgICAgdGFiLWJhci1tb2RlDQotOzsgICAgIHRh Yi1saW5lLW1vZGUNCi07OyAgICAgc3lzbG9nLW1vZGUNCi07OyAgICAgdGFibGUgKGJ1aWx0LWlu IHRhYmxlLmVsKQ0KLTs7ICAgICB0ZWxlcGhvbmUtbGluZQ0KLTs7ICAgICB0ZXJtDQotOzsgICAg IHRvbWF0aW5obw0KLTs7ICAgICB0cmFuc2llbnQgKHBvcC11cCB3aW5kb3dzIGxpa2UgTWFnaXQn cykNCi07OyAgICAgdHJhc2hlZA0KLTs7ICAgICB0cmVlbWFjcw0KLTs7ICAgICB0dHktbWVudQ0K LTs7ICAgICB0dWFyZWcNCi07OyAgICAgdHlwZXNjcmlwdA0KLTs7ICAgICB1bmRvLXRyZWUNCi07 OyAgICAgdmMgKGJ1aWx0LWluIG1vZGUgbGluZSBzdGF0dXMgZm9yIHZlcnNpb24gY29udHJvbCkN Ci07OyAgICAgdmMtYW5ub3RhdGUgKEMteCB2IGcpDQotOzsgICAgIHZkaWZmDQotOzsgICAgIHZp bWlzaC1mb2xkDQotOzsgICAgIHZpc2libGUtbWFyaw0KLTs7ICAgICB2aXN1YWwtcmVnZXhwDQot OzsgICAgIHZvbGF0aWxlLWhpZ2hsaWdodHMNCi07OyAgICAgdnRlcm0NCi07OyAgICAgd2NoZWNr LW1vZGUNCi07OyAgICAgd2ViLW1vZGUNCi07OyAgICAgd2dyZXANCi07OyAgICAgd2hpY2gtZnVu Y3Rpb24tbW9kZQ0KLTs7ICAgICB3aGljaC1rZXkNCi07OyAgICAgd2hpdGVzcGFjZS1tb2RlDQot OzsgICAgIHdpbmRvdy1kaXZpZGVyLW1vZGUNCi07OyAgICAgd2ludW0NCi07OyAgICAgd3JpdGVn b29kLW1vZGUNCi07OyAgICAgd29tYW4NCi07OyAgICAgeGFoLWVsaXNwLW1vZGUNCi07OyAgICAg eHJlZg0KLTs7ICAgICB4dGVybS1jb2xvciAoYW5kIGFuc2ktY29sb3JzKQ0KLTs7ICAgICB5YW1s LW1vZGUNCi07OyAgICAgeWFzbmlwcGV0DQotOzsgICAgIHp0cmVlDQorOzsgLSBtb2R1cy10aGVt ZXMuZWwgICAgICAgICAgICAoTWFpbiBjb2RlIHNoYXJlZCBiZXR3ZWVuIHRoZSB0aGVtZXMpDQor OzsgLSBtb2R1cy10aGVtZXMtY29yZS5lbCAgICAgICAoQ29kZSB1c2VkIHRvIHByb2R1Y2UgdGhl IHRoZW1lcykNCis7OyAtIG1vZHVzLW9wZXJhbmRpLXRoZW1lLmVsICAgIChMaWdodCB0aGVtZSkN CiANCiA7OzsgQ29kZToNCiANCiAMDQogDQorKHJlcXVpcmUgJ21vZHVzLXRoZW1lcykNCisoZXZh bC13aGVuLWNvbXBpbGUNCisgIChyZXF1aXJlICdtb2R1cy10aGVtZXMtY29yZSkpDQorDQogKGRl ZnRoZW1lIG1vZHVzLXZpdmVuZGkNCiAgICJEYXJrIHRoZW1lIHRoYXQgY29uZm9ybXMgd2l0aCB0 aGUgaGlnaGVzdCBhY2Nlc3NpYmlsaXR5DQotICBzdGFuZGFyZCBmb3IgY29sb3VyIGNvbnRyYXN0 IGJldHdlZW4gYmFja2dyb3VuZCBhbmQNCi0gIGZvcmVncm91bmQgZWxlbWVudHMgKFdDQUcgQUFB KS4iKQ0KLQ0KLTs7OyBDdXN0b20gZmFjZXMNCi0NCi07OyBUaGVzZSBmYWNlcyB3aWxsIGJlIGlu aGVyaXRlZCBieSBhY3R1YWwgY29uc3RydWN0cy4gIFRoZXkgYXJlIG1lYW50DQotOzsgZm9yIHRo b3NlIGNhc2VzIHdoZXJlIGEgZmFjZSBuZWVkcyB0byBkaXN0aW5ndWlzaCBpdHMgb3V0cHV0IGZy b20NCi07OyB0aGUgcmVzdCBvZiB0aGUgdGV4dCwgc3VjaCBhcyBgaXNlYXJjaCcgYW5kIGBvY2N1 cifigKYgIFdlIGRlZmluZQ0KLTs7IHRoZXNlIHNlcGFyYXRlbHkgaW4gb3JkZXIgdG8gY29tYmlu ZSBlYWNoIGNvbG91ciB3aXRoIGl0cw0KLTs7IGFwcHJvcHJpYXRlIGZvcmVncm91bmQgdmFsdWUu ICBUaGlzIGlzIHRvIGVuc3VyZSBhIGNvbnNpc3RlbnQNCi07OyBjb250cmFzdCByYXRpbyBvZiA+ PSA3OjEuDQotKGRlZmdyb3VwIG1vZHVzLXRoZW1lICgpDQotICAiVGhlbWUgdGhhdCBlbnN1cmVz IFdDQUcgQUFBIGFjY2Vzc2liaWxpdHkgKGNvbnRyYXN0IHJhdGlvDQotYmV0d2VlbiBmb3JlZ3Jv dW5kIGFuZCBiYWNrZ3JvdW5kIGlzID49IDc6MSkuIg0KLSAgOmdyb3VwICdmYWNlcw0KLSAgOnBy ZWZpeCAibW9kdXMtdGhlbWUtIg0KLSAgOmxpbmsgJyh1cmwtbGluayA6dGFnICJHaXRMYWIiICJo dHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzIikNCi0gIDp0YWcgIk1v ZHVzIFZpdmVuZGkiKQ0KLQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtc3VidGxlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtbWFn ZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWludGVuc2UtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLXll bGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLWludGVuc2UtbmV1dHJhbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmlu ZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4gbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93IG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1yZWZpbmUtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1j eWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCBuaWwgbmlsKQ0K LShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1h Y3RpdmUtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRh IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4gbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtZnJpbmdlLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdl LXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVm ZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLW51YW5jZWQtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1n cmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93IG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtbnVhbmNlZC1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lh bC1jb2xkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtZGlmZi1hZGRlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdl ZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCBuaWwgbmlsKQ0K LShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1kaWZmLWZvY3VzLWFkZGVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlm Zi1mb2N1cy1jaGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1 cy1yZW1vdmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlciBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstYWx0IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtbWFyay1kZWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLXNlbCBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtaGVhZGluZy0xIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt aGVhZGluZy0yIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0zIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy00IG5pbCBuaWwpDQotKGRlZmZhY2Ug bW9kdXMtdGhlbWUtaGVhZGluZy01IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVh ZGluZy02IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy03IG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy04IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtaGwtbGluZSBuaWwgbmlsKQ0KLQ0KLTs7OyBDdXN0b21pc2F0aW9uIG9wdGlvbnMN Ci0NCi07OyBVc2VyLWZhY2luZyBjdXN0b21pc2F0aW9uIG9wdGlvbnMuICBUaGV5IGFyZSBhbGwg ZGVhY3RpdmF0ZWQgYnkNCi07OyBkZWZhdWx0ICh1c2VycyBtdXN0IG9wdCBpbikuDQotKGRlZmN1 c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyBuaWwNCi0gICJVc2Ug c2xhbnRlZCB0ZXh0IGluIG1vcmUgY29kZSBjb25zdHJ1Y3RzIChpdGFsaWNzIG9yIG9ibGlxdWUp LiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVt ZS1ib2xkLWNvbnN0cnVjdHMgbmlsDQotICAiVXNlIGJvbGQgdGV4dCBpbiBtb3JlIGNvZGUgY29u c3RydWN0cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmaW5lLW9ic29sZXRlLXZhcmlh YmxlLWFsaWFzICdtb2R1cy12aXZlbmRpLXRoZW1lLXByb3BvcnRpb25hbC1mb250cw0KLSAgJ21v ZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgImBtb2R1cy12aXZlbmRp LXRoZW1lJyAwLjExLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1wcm9w b3J0aW9uYWwtZm9udHMgbmlsDQotICAiVXNlIHByb3BvcnRpb25hbCBmb250cyAodmFyaWFibGUt cGl0Y2gpIGluIGhlYWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20g bW9kdXMtdml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyBuaWwNCi0gICJVc2Ug cHJvcG9ydGlvbmFsIGZvbnRzICh2YXJpYWJsZS1waXRjaCkgaW4gaGVhZGluZ3MuIg0KLSAgOnR5 cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLW5vLW1peGVk LWZvbnRzIG5pbA0KLSAgIkRpc2FibGUgaW5oZXJpdGFuY2UgZnJvbSBgZml4ZWQtcGl0Y2gnIGlu IHNvbWUgZmFjZXMuDQotDQotVGhpcyBpcyBkb25lIGJ5IGRlZmF1bHQgdG8gYWxsb3cgc3BhY2lu Zy1zZW5zaXRpdmUgY29uc3RydWN0cywNCi1zdWNoIGFzIE9yZyB0YWJsZXMgYW5kIGNvZGUgYmxv Y2tzLCB0byByZW1haW4gbW9ub3NwYWNlZCB3aGVuDQotdXNlcnMgb3B0IGZvciBzb21ldGhpbmcg bGlrZSB0aGUgY29tbWFuZCBgdmFyaWFibGUtcGl0Y2gtbW9kZScuDQotVGhlIGRvd25zaWRlIHdp dGggdGhlIGRlZmF1bHQgaXMgdGhhdCB1c2VycyBuZWVkIHRvIGV4cGxpY2l0bHkNCi1jb25maWd1 cmUgdGhlIGZvbnQgZmFtaWx5IG9mIGBmaXhlZC1waXRjaCcgaW4gb3JkZXIgdG8gZ2V0IGENCi1j b25zaXN0ZW50IGV4cGVyaWVuY2UuICBUaGF0IG1heSBiZSBzb21ldGhpbmcgdGhleSBkbyBub3Qg d2FudCB0bw0KLWRvLiAgSGVuY2UgdGhpcyBvcHRpb24gdG8gZGlzYWJsZSBhbnkga2luZCBvZiB0 ZWNobmlxdWUgZm9yDQotbWl4aW5nIGZvbnRzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLSht YWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXJhaW5ib3ctaGVhZGluZ3MNCi0gICAg ICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgICAgICAg ICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZp dmVuZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncyBuaWwNCi0gICJVc2UgbW9yZSBzYXR1cmF0ZWQg Y29sb3VycyBmb3IgaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKG1ha2Utb2Jz b2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2VjdGlvbi1oZWFkaW5ncw0KLSAgICAgICAgICAg ICAgICdtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgImBtb2R1 cy12aXZlbmRpLXRoZW1lJyAwLjEzLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10 aGVtZS1zZWN0aW9uLWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBhIGJhY2tncm91bmQgYW5kIGFuIG92 ZXJsaW5lIGluIGhlYWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20g bW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgJygodCAuIG5pbCkpDQotICAiQWxpc3Qg b2Ygc3R5bGVzIGZvciBoZWFkaW5ncywgd2l0aCBvcHRpb25hbCB2YWx1ZSBwZXIgbGV2ZWwuDQot DQotVG8gY29udHJvbCBmYWNlcyBwZXIgbGV2ZWwgZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcgbGlr ZSB0aGlzOg0KLQ0KLSAgKHNldHEgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAg ICAgJygoMSAuIGhpZ2hsaWdodCkNCi0gICAgICAgICAgKDIgLiBsaW5lKQ0KLSAgICAgICAgICAo dCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQotDQotVG8gc2V0IGEgdW5pZm9ybSB2YWx1ZSBm b3IgYWxsIGhlYWRpbmcgbGV2ZWxzLCB1c2UgdGhpcyBwYXR0ZXJuOg0KLQ0KLSAgKHNldHEgbW9k dXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1u by1ib2xkKSkpDQotDQotVGhlIGRlZmF1bHQgdXNlcyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3Jl Z3JvdW5kIHZhbHVlIGluDQotY29tYmluYXRpb24gd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2Vp Z2h0LiAgVG8gc3BlY2lmeSB0aGlzDQotc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1p bmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyDQotZmFsbGJhY2sgb3B0aW9uKSwganVzdCBzcGVj aWZ5IHRoZSB2YWx1ZSB0IGxpa2UgdGhpczoNCi0NCi0gIChzZXRxIG1vZHVzLXZpdmVuZGktdGhl bWUtaGVhZGluZ3MNCi0gICAgICAgICcoKDEgLiB0KQ0KLSAgICAgICAgICAoMiAuIGxpbmUpDQot ICAgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCi0NCi1BIGRlc2NyaXB0aW9u IG9mIGFsbCBwb3NzaWJsZSB2YWx1ZXM6DQotDQotKyBgbm8tYm9sZCcgcmV0YWlucyB0aGUgZGVm YXVsdCB0ZXh0IGNvbG91ciB3aGlsZSByZW1vdmluZw0KLSAgdGhlIHR5cG9ncmFwaGljIHdlaWdo dC4NCi0NCi0rIGBsaW5lJyBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdCBwbHVzIGFuIG92ZXJs aW5lIG92ZXIgdGhlDQotICBoZWFkaW5nLg0KLQ0KLSsgYGxpbmUtbm8tYm9sZCcgaXMgdGhlIHNh bWUgYXMgYGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQuDQotDQotKyBgcmFpbmJvdycgdXNlcyBh IG1vcmUgY29sb3VyZnVsIGZvcmVncm91bmQgaW4gY29tYmluYXRpb24NCi0gIHdpdGggYm9sZCB3 ZWlnaHQuDQotDQotKyBgcmFpbmJvdy1saW5lJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdycgcGx1 cyBhbiBvdmVybGluZS4NCi0NCi0rIGByYWluYm93LWxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUg YXMgYHJhaW5ib3ctbGluZScgd2l0aG91dA0KLSAgdGhlIGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYGhp Z2hsaWdodCcgcmV0YWlucyB0aGUgZGVmYXVsdCBzdHlsZSBvZiBhIGZhaXJseSBkZXNhdHVyYXRl ZA0KLSAgZm9yZWdyb3VuZCBjb21iaW5lZCB3aXRoIGEgYm9sZCB3ZWlnaHQgYW5kIGFkZCB0byBp dCBhIHN1YnRsZQ0KLSAgYWNjZW50ZWQgYmFja2dyb3VuZC4NCi0NCi0rIGBoaWdobGlnaHQtbm8t Ym9sZCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdo dC4NCi0NCi0rIGByYWluYm93LWhpZ2hsaWdodCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcg YnV0IHdpdGggYSBtb3JlDQotICBjb2xvdXJmdWwgZm9yZWdyb3VuZC4NCi0NCi0rIGByYWluYm93 LWhpZ2hsaWdodC1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdy1oaWdobGlnaHQnDQot ICB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuDQotDQotKyBgc2VjdGlvbicgcmV0YWlucyB0aGUgZGVm YXVsdCBsb29rcyBhbmQgYWRkcyB0byB0aGVtIGJvdGggYW4NCi0gIG92ZXJsaW5lIGFuZCBhIHNs aWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQuICBJdCBpcywgaW4gZWZmZWN0LA0KLSAgYSBjb21i aW5hdGlvbiBvZiB0aGUgYGxpbmUnIGFuZCBgaGlnaGxpZ2h0JyB2YWx1ZXMuDQotDQotKyBgc2Vj dGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgc2VjdGlvbicgd2l0aG91dCBhIGJvbGQNCi0g IHdlaWdodC4NCi0NCi0rIGByYWluYm93LXNlY3Rpb24nIGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9u JyBidXQgd2l0aCBhIG1vcmUNCi0gIGNvbG91cmZ1bCBmb3JlZ3JvdW5kLg0KLQ0KLSsgYHJhaW5i b3ctc2VjdGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdy1zZWN0aW9uJw0KLSAg d2l0aG91dCBhIGJvbGQgd2VpZ2h0LiINCi0gIDp0eXBlDQotICAnKGFsaXN0DQotICAgIDprZXkt dHlwZSBzeW1ib2wNCi0gICAgOnZhbHVlLXR5cGUNCi0gICAgKGNob2ljZSAoY29uc3QgOnRhZyAi RmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgd2l0aCBib2xkIHdlaWdodCAoZGVmYXVsdCki IHQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgd2l0aG91dCBi b2xkIHdlaWdodCIgbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUg ZGVmYXVsdCBwbHVzIG92ZXJsaW5lIiBsaW5lKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJM aWtlIGBsaW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBsaW5lLW5vLWJvbGQpDQotICAgICAgICAg ICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgYnV0IHdpdGggbW9yZSBjb2xvdXJmdWwg Zm9yZWdyb3VuZCIgcmFpbmJvdykNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFp bmJvdycgcGx1cyBvdmVybGluZSIgcmFpbmJvdy1saW5lKQ0KLSAgICAgICAgICAgIChjb25zdCA6 dGFnICJMaWtlIGByYWluYm93JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LW5vLWJvbGQp DQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctbGluZScgd2l0aG91dCBi b2xkIHdlaWdodCIgcmFpbmJvdy1saW5lLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgdGhlIGRlZmF1bHQgcGx1cyBzdWJ0bGUgYmFja2dyb3VuZCIgaGlnaGxpZ2h0KQ0K LSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3 ZWlnaHQiIGhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtl IGBoaWdobGlnaHQnIHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdo bGlnaHQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0 JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LWhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAg ICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rp b24pDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9s ZCB3ZWlnaHQiIHNlY3Rpb24tbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlr ZSBgc2VjdGlvbicgd2l0aCBtb3JlIGNvbG91cmZ1bCBmb3JlZ3JvdW5kIiByYWluYm93LXNlY3Rp b24pDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctc2VjdGlvbicgd2l0 aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQpKSkpDQotDQotKGRlZmN1 c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBmb250 IHNjYWxpbmcgZm9yIGhlYWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0 b20gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi0gICJGb250IHNpemUgdGhhdCBp cyBzbGlnaHRseSBsYXJnZXIgdGhhbiB0aGUgYmFzZSB2YWx1ZS4NCi1UaGUgZGVmYXVsdCBpcyBh IGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRo ZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4N Ci1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVl IG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6 ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBv Zg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0 aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTIgMS4xDQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1 cy12aXZlbmRpLXRoZW1lLXNjYWxlLTEnLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9p bnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBz aXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVu ZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQot dGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3Ig bW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNl LWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5 cGUgJ251bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMyAx LjE1DQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTInLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBp bnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZl ciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMg YW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMg c2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUg bWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScs IHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikN Ci0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNCAxLjINCi0gICJGb250 IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMycu DQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFz IGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFi bGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBo ZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBm b250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQg dGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5 IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVtYmVyKQ0KLQ0KLShkZWZjdXN0 b20gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS01IDEuMw0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRs eSBsYXJnZXIgdGhhbiBgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00Jy4NCi1UaGUgZGVmYXVs dCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0K LW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2Vw dHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBh IHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9p bnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRh dGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0 JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVz LXZpdmVuZGktdGhlbWUtdmlzaWJsZS1mcmluZ2VzDQotICAgICAgICAgICAgICAgJ21vZHVzLXZp dmVuZGktdGhlbWUtZnJpbmdlcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVt ZScgMC4xMi4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtdmlzaWJsZS1m cmluZ2VzIG5pbA0KLSAgIlVzZSBhIHZpc2libGUgc3R5bGUgZm9yIGZyaW5nZXMuIg0KLSAgOnR5 cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMg bmlsDQotICAiRGVmaW5lIHRoZSB2aXNpYmlsaXR5IG9mIGZyaW5nZXMuDQotDQotTmlsIG1lYW5z IHRoZSBmcmluZ2VzIGhhdmUgbm8gYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24gYHN1YnRsZScN Ci13aWxsIGFwcGx5IGEgZ3JleXNjYWxlIHZhbHVlIHRoYXQgaXMgdmlzaWJsZSB5ZXQgY2xvc2Ug dG8gdGhlDQotbWFpbiBidWZmZXIgYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24gYGludGVuc2Un IHdpbGwgdXNlIGEgbW9yZQ0KLXByb25vdW5jZWQgZ3JleXNjYWxlIHZhbHVlLiINCi0gIDp0eXBl ICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyB2aXNpYmxlIGZyaW5nZXMgKGRl ZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JleXNjYWxlIGJh Y2tncm91bmQiIHN1YnRsZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2UgZ3JleXNj YWxlIGJhY2tncm91bmQiIGludGVuc2UpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2 ZW5kaS10aGVtZS1kaXN0aW5jdC1vcmctYmxvY2tzDQotICAgICAgICAgICAgICAgJ21vZHVzLXZp dmVuZGktdGhlbWUtb3JnLWJsb2Nrcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10 aGVtZScgMC4xMS4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtZGlzdGlu Y3Qtb3JnLWJsb2NrcyBuaWwNCi0gICJVc2UgYSBkaXN0aW5jdCBuZXV0cmFsIGJhY2tncm91bmQg Zm9yIGBvcmctbW9kZScgYmxvY2tzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShtYWtlLW9i c29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MNCi0gICAg ICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICAgICAgICAg ICAgImBtb2R1cy12aXZlbmRpLXRoZW1lJyAwLjExLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMt dml2ZW5kaS10aGVtZS1yYWluYm93LW9yZy1zcmMtYmxvY2tzIG5pbA0KLSAgIlVzZSBjb2xvdXIt Y29kZWQgYmFja2dyb3VuZHMgZm9yIGBvcmctbW9kZScgc291cmNlIGJsb2Nrcy4NCi1UaGUgY29s b3VyIGluIHVzZSBkZXBlbmRzIG9uIHRoZSBsYW5ndWFnZSAoc2VuZCBmZWVkYmFjayB0bw0KLWlu Y2x1ZGUgbW9yZSBsYW5ndWFnZXMpLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0 b20gbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzIG5pbA0KLSAgIlVzZSBhIHN1YnRsZSBn cmV5IG9yIGNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kIGZvciBPcmcgYmxvY2tzLg0KLQ0KLU5pbCBt ZWFucyB0aGF0IHRoZSBibG9jayB3aWxsIGhhdmUgbm8gYmFja2dyb3VuZCBvZiBpdHMgb3duIGFu ZA0KLXdpbGwgdXNlIHRoZSBkZWZhdWx0IHRoYXQgYXBwbGllcyB0byB0aGUgcmVzdCBvZiB0aGUg YnVmZmVyLg0KLQ0KLU9wdGlvbiBgZ3JleXNjYWxlJyB3aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRy YWwgZ3JleSBiYWNrZ3JvdW5kIHRvDQotdGhlIGJsb2NrJ3MgY29udGVudHMuICBJdCBhbHNvIGFm ZmVjdHMgdGhlIGJlZ2luIGFuZCBlbmQgbGluZXMgb2YNCi10aGUgYmxvY2s6IHRoZWlyIGJhY2tn cm91bmQgd2lsbCBiZSBleHRlbmRlZCB0byB0aGUgZWRnZSBvZiB0aGUNCi13aW5kb3cgZm9yIEVt YWNzIHZlcnNpb24gPj0gMjcgd2hlcmUgdGhlICc6ZXh0ZW5kJyBrZXl3b3JkIGlzDQotcmVjb2du aXNlZCBieSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCi0NCi1PcHRpb24gYHJhaW5ib3cnIHdpbGwg dXNlIGFuIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBjb250ZW50cw0KLW9mIHRoZSBibG9j ay4gIFRoZSBleGFjdCBjb2xvdXIgd2lsbCBkZXBlbmQgb24gdGhlIHByb2dyYW1taW5nDQotbGFu Z3VhZ2UgYW5kIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGBvcmctc3JjLWJsb2NrLWZhY2VzJw0KLXZh cmlhYmxlIChyZWZlciB0byB0aGUgdGhlbWUncyBzb3VyY2UgY29kZSBmb3IgdGhlIGN1cnJlbnQN Ci1hc3NvY2lhdGlvbiBsaXN0KS4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29u c3QgOnRhZyAiTm8gT3JnIGJsb2NrIGJhY2tncm91bmQgKGRlZmF1bHQpIiBuaWwpDQotICAgICAg ICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JleSBibG9jayBiYWNrZ3JvdW5kIiBncmV5c2NhbGUp DQotICAgICAgICAgIChjb25zdCA6dGFnICJDb2xvdXItY29kZWQgYmFja2dyb3VuZCBwZXIgcHJv Z3JhbW1pbmcgbGFuZ3VhZ2UiIHJhaW5ib3cpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMt dml2ZW5kaS10aGVtZS0zZC1tb2RlbGluZQ0KLSAgICAgICAgICAgICAgICdtb2R1cy12aXZlbmRp LXRoZW1lLW1vZGUtbGluZQ0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScg MC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtM2QtbW9kZWxpbmUg bmlsDQotICAiVXNlIGEgdGhyZWUtZGltZW5zaW9uYWwgc3R5bGUgZm9yIHRoZSBhY3RpdmUgbW9k ZSBsaW5lLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5k aS10aGVtZS1tb2RlLWxpbmUgbmlsDQotICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlIG9mIHRo ZSBtb2RlIGxpbmUuDQotDQotTmlsIGlzIGEgdHdvLWRpbWVuc2lvbmFsIHJlY3RhbmdsZSB3aXRo IGEgYm9yZGVyIGFyb3VuZCBpdC4gIFRoZQ0KLWFjdGl2ZSBhbmQgdGhlIGluYWN0aXZlIG1vZGVs aW5lcyB1c2UgZGlmZmVyZW50IHNoYWRlcyBvZg0KLWdyZXlzY2FsZSB2YWx1ZXMgZm9yIHRoZSBi YWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kLg0KLQ0KLUEgYDNkJyB2YWx1ZSB3aWxsIGFwcGx5IGEg dGhyZWUtZGltZW5zaW9uYWwgZWZmZWN0IHRvIHRoZSBhY3RpdmUNCi1tb2RlbGluZS4gIFRoZSBp bmFjdGl2ZSBtb2RlbGluZXMgcmVtYWluIHR3by1kaW1lbnNpb25hbCBhbmQgYXJlDQotdG9uZWQg ZG93biBhIGJpdCwgcmVsYXRpdmUgdG8gdGhlIG5pbCB2YWx1ZS4NCi0NCi1UaGUgYG1vb2R5JyBv cHRpb24gaXMgbWVhbnQgdG8gb3B0aW1pc2UgdGhlIG1vZGVsaW5lIGZvciB1c2Ugd2l0aA0KLXRo ZSBsaWJyYXJ5IG9mIHRoZSBzYW1lIG5hbWUuICBUaGlzIHByYWN0aWNhbGx5IG1lYW5zIHRvIHJl bW92ZQ0KLXRoZSBib3ggZWZmZWN0IGFuZCByZWx5IG9uIHVuZGVybGluZSBhbmQgb3ZlcmxpbmUg cHJvcGVydGllcw0KLWluc3RlYWQuICBJdCBhbHNvIHRvbmVzIGRvd24gdGhlIGluYWN0aXZlIG1v ZGVsaW5lcy4gIERlc3BpdGUgaXRzDQotaW50ZW5kZWQgcHVycG9zZSwgdGhpcyBvcHRpb24gY2Fu IGFsc28gYmUgdXNlZCB3aXRob3V0IHRoZQ0KLWBtb29keScgbGlicmFyeS4iDQotICA6dHlwZSAn KGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiVHdvLWRpbWVuc2lvbmFsIGJveCAoZGVm YXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlRocmVlLWRpbWVuc2lvbmFsIHN0 eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGluZSIgM2QpDQotICAgICAgICAgIChjb25zdCA6dGFn ICJObyBib3ggZWZmZWN0cywgd2hpY2ggYXJlIG9wdGltYWwgZm9yIHVzZSB3aXRoIHRoZSBgbW9v ZHknIGxpYnJhcnkiIG1vb2R5KSkpDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGkt dGhlbWUtc3VidGxlLWRpZmZzDQotICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGktdGhlbWUt ZGlmZnMNCi0gICAgICAgICAgICAgICAiYG1vZHVzLXZpdmVuZGktdGhlbWUnIDAuMTMuMCIpDQot DQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXN1YnRsZS1kaWZmcyBuaWwNCi0gICJV c2UgZmV3ZXIvZGltIGJhY2tncm91bmRzIGluIGBkaWZmLW1vZGUnLCBgZWRpZmYnLGBtYWdpdCcu Ig0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1l LWRpZmZzIG5pbA0KLSAgIkFkanVzdCB0aGUgb3ZlcmFsbCBzdHlsZXMgb2YgZGlmZnMuDQotDQot TmlsIG1lYW5zIHRvIHVzZSBmYWlybHkgaW50ZW5zZSBjb2xvdXIgY29tYmluYXRpb25zIGZvciBk aWZmcy4NCi1Gb3IgZXhhbXBsZSwgeW91IGdldCBhIHJpY2ggZ3JlZW4gYmFja2dyb3VuZCB3aXRo IGEgZ3JlZW4NCi1mb3JlZ3JvdW5kIGZvciBhZGRlZCBsaW5lcy4gIFdvcmQtd2lzZSBvciAncmVm aW5lZCcgZGlmZnMgZm9sbG93DQotdGhlIHNhbWUgcGF0dGVybiBidXQgdXNlIGRpZmZlcmVudCBz aGFkZXMgb2YgdGhvc2UgY29sb3VycyB0bw0KLXJlbWFpbiBkaXN0aW5jdC4NCi0NCi1BIGBkZXNh dHVyYXRlZCcgdmFsdWUgZm9sbG93cyB0aGUgc2FtZSBwcmluY2lwbGVzIGFzIHdpdGggdGhlIG5p bA0KLW9wdGlvbiwgd2hpbGUgaXQgdG9uZXMgZG93biBhbGwgcmVsZXZhbnQgY29sb3Vycy4NCi0N Ci1PcHRpb24gYGZnLW9ubHknIHdpbGwgcmVtb3ZlIGFsbCBhY2NlbnRlZCBiYWNrZ3JvdW5kcywg ZXhjZXB0DQotZnJvbSB3b3JkLXdpc2UgY2hhbmdlcy4gIEl0IGluc3RlYWQgdXNlcyBjb2xvdXIt Y29kZWQgZm9yZWdyb3VuZA0KLXZhbHVlcyB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYWRkZWQv cmVtb3ZlZC9jaGFuZ2VkIGxpbmVzLiAgSWYNCi1hIGJhY2tncm91bmQgaXMgbmVjZXNzYXJ5LCBz dWNoIGFzIHdpdGggYGVkaWZmJywgdGhlbiBhIHN1YnRsZQ0KLWdyZXlzY2FsZSB2YWx1ZSBpcyB1 c2VkLiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNl bHkgY29sb3VyZWQgYmFja2dyb3VuZHMgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25z dCA6dGFnICJTbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kcyB3aXRoIHRpbnRlZCB0ZXh0IiBk ZXNhdHVyYXRlZCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIGJhY2tncm91bmRzLCBleGNl cHQgZm9yIHJlZmluZWQgZGlmZnMiIGZnLW9ubHkpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9k dXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAg ICAgICAgJ21vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAi YG1vZHVzLXZpdmVuZGktdGhlbWUnIDAuMTIuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZl bmRpLXRoZW1lLWludGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMgbmlsDQotICAiVXNlIHByb21p bmVudCBiYWNrZ3JvdW5kcyBmb3IgSWNvbXBsZXRlLCBJZG8sIG9yIHNpbWlsYXIuIg0KLSAgOnR5 cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRp b25zIG5pbA0KLSAgIkFwcGx5IHNwZWNpYWwgc3R5bGVzIHRvIHRoZSBVSSBvZiBjb21wbGV0aW9u IGZyYW1ld29ya3MuDQotDQotVGhpcyBjb25jZXJucyBJY29tcGxldGUsIEl2eSwgSGVsbSwgU2Vs ZWN0cnVtLCBJZG8sIGFzIHdlbGwgYXMNCi1hbnkgb3RoZXIgdG9vbCBtZWFudCB0byBlbmhhbmNl IHRoZWlyIGV4cGVyaWVuY2UuICBUaGUgZWZmZWN0DQotd2lsbCB2YXJ5IGRlcGVuZGluZyBvbiB0 aGUgY29tcGxldGlvbiBmcmFtZXdvcmsuDQotDQotTmlsIG1lYW5zIHRvIHJlbWFpbiBmYWl0aGZ1 bCB0byB0aGUgbWV0YXBob3JzIHRoYXQgZWFjaCBVSQ0KLWVzdGFibGlzaGVzLiAgRm9yIGV4YW1w bGUsIEljb21wbGV0ZSBhbmQgSWRvIG9ubHkgdXNlIGZvcmVncm91bmQNCi1jb2xvdXJzIHRvIHN0 eWxlIHRoZWlyIG1hdGNoZXMsIHdoZXJlYXMgSXZ5IG9yIEhlbG0gcmVseSBvbiBhbg0KLWFlc3Ro ZXRpYyB0aGF0IGNvbWJpbmVzIGNvbG91cmVkIGJhY2tncm91bmRzIHdpdGggYXBwcm9wcmlhdGUN Ci10ZXh0IGNvbG91ci4NCi0NCi1PcHRpb24gYG1vZGVyYXRlJyB3aWxsIGFwcGx5IGEgY29tYmlu YXRpb24gb2YgYmFja2dyb3VuZCBhbmQNCi1mb3JlZ3JvdW5kIHRoYXQgaXMgZmFpcmx5IHN1YnRs ZS4gIEZvciBJY29tcGxldGUgYW5kIHRoZSBsaWtlLA0KLXRoaXMgY29uc3RpdHV0ZXMgYSBkZXBh cnR1cmUgZnJvbSB0aGVpciBzdGFuZGFyZCBzdHlsZS4gIFdoaWxlDQotSXZ5LCBIZWxtLCBhbmQg dGhlIG90aGVycywgd2lsbCB1c2UgbGVzcyBwcm9ub3VuY2VkIGNvbG91cnMgZm9yDQotYXBwbGlj YWJsZSBjb250ZXh0cy4NCi0NCi1PcHRpb24gYG9waW5pb25hdGVkJyB3aWxsIGFwcGx5IGNvbG91 ciBjb21iaW5hdGlvbnMgdGhhdA0KLXJlZmFzaGlvbiB0aGUgY29tcGxldGlvbiBVSS4gIFNvIElj b21wbGV0ZSBldCBhbCB3aWxsIG5vdyB1c2UNCi1zdHlsZXMgdGhhdCByZXNlbWJsZSB0aGUgZGVm YXVsdHMgb2YgSXZ5IGFuZCBjby4sIHdoaWxlIHRoZQ0KLWxhdHRlciBncm91cCB3aWxsIHJldmVy dCB0byBhbiBldmVuIG1vcmUgbnVhbmNlZCBhZXN0aGV0aWMuIg0KLSAgOnR5cGUgJyhjaG9pY2UN Ci0gICAgICAgICAgKGNvbnN0IDp0YWcgIlJlc3BlY3QgdGhlIGZyYW1ld29yaydzIGVzdGFibGlz aGVkIGFlc3RoZXRpYyAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlN1 YnRsZSBiYWNrZ3JvdW5kcyBmb3IgdmFyaW91cyBlbGVtZW50cyIgbW9kZXJhdGUpDQotICAgICAg ICAgIChjb25zdCA6dGFnICJSYWRpY2FsIGFsdGVybmF0aXZlIHRvIHRoZSBmcmFtZXdvcmsncyBs b29rcyIgb3BpbmlvbmF0ZWQpKSkNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUt cHJvbXB0cyBuaWwNCi0gICJVc2Ugc3VidGxlIG9yIGludGVuc2Ugc3R5bGVzIGZvciBtaW5pYnVm ZmVyIGFuZCBSRVBMIHByb21wdHMuDQotDQotTmlsIG1lYW5zIHRvIG9ubHkgdXNlIGFuIGFjY2Vu dGVkIGZvcmVncm91bmQgY29sb3VyLg0KLQ0KLU9wdGlvbnMgYHN1YnRsZScgYW5kIGBpbnRlbnNl JyB3aWxsIGNoYW5nZSBib3RoIHRoZSBiYWNrZ3JvdW5kDQotYW5kIHRoZSBmb3JlZ3JvdW5kIHZh bHVlcy4gIFRoZSBsYXR0ZXIgaGFzIGEgbW9yZSBwcm9ub3VuY2VkDQotZWZmZWN0IHRoYW4gdGhl IGZvcm1lci4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiTm8g cHJvbXB0IGJhY2tncm91bmQgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFn ICJTdWJ0bGUgYWNjZW50ZWQgYmFja2dyb3VuZCBmb3IgdGhlIHByb21wdCIgc3VidGxlKQ0KLSAg ICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGZv ciB0aGUgcHJvbXB0IiBpbnRlbnNlKSkpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRo ZW1lLWludGVuc2UtaGwtbGluZSBuaWwNCi0gICJVc2UgbW9yZSBwcm9taW5lbnQgYmFja2dyb3Vu ZCBmb3IgY29tbWFuZCBgaGwtbGluZS1tb2RlJy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRjaCBuaWwNCi0g ICJVc2UgbW9yZSBwcm9taW5lbnQgY29sb3VyIGZvciBwYXJlbnRoZXNpcyBtYXRjaGluZy4iDQot ICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtZmFp bnQtc3ludGF4IG5pbA0KLSAgIlVzZSBsZXNzIHNhdHVyYXRlZCBjb2xvdXJzIGZvciBjb2RlIHN5 bnRheCBoaWdobGlnaHRpbmcuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBt b2R1cy12aXZlbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lIG5pbA0KLSAgIkRvIG5vdCB1bmRl cmxpbmUgbGlua3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotOzs7IEludGVybmFsIGZ1bmN0 aW9ucw0KLQ0KLTs7IEhlbHBlciBmdW5jdGlvbnMgdGhhdCBhcmUgbWVhbnQgdG8gZWFzZSB0aGUg aW1wbGVtZW50YXRpb24gb2YgdGhlDQotOzsgYWJvdmUgY3VzdG9taXNhdGlvbiBvcHRpb25zLg0K LShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0ICgpDQotICAiQ29uZGl0aW9u YWwgdXNlIG9mIGEgaGVhdmllciB0ZXh0IHdlaWdodC4iDQotICAod2hlbiBtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtY29uc3RydWN0cw0KLSAgICAobGlzdCA6aW5oZXJpdCAnYm9sZCkpKQ0KLQ0K LShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzICgpDQotICAiQ29uZGl0aW9u YWwgYXBwbGljYXRpb24gb2YgYGZpeGVkLXBpdGNoJyBpbmhlcml0YW5jZS4iDQotICAodW5sZXNz IG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMNCi0gICAgKGxpc3QgOmluaGVyaXQg J2ZpeGVkLXBpdGNoKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlIChz dWJ0bGViZyBpbnRlbnNlYmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQgY29s b3VycyBmb3IgZnJpbmdlcy4NCi1TVUJUTEVCRyBzaG91bGQgYmUgYSBzdWJ0bGUgZ3JleXNjYWxl IHZhbHVlLiAgSU5URU5TRUJHIG11c3QgYmUgYQ0KLW1vcmUgcHJvbm91bmNlZCBncmV5c2NhbGUg Y29sb3VyLiINCi0gIChwY2FzZSBtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMNCi0gICAgKCdp bnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykpDQotICAgICgnc3VidGxlIChsaXN0 IDpiYWNrZ3JvdW5kIHN1YnRsZWJnKSkNCi0gICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsKSkp KQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLXByb21wdCAobWFpbmZnIHN1YnRsZWJn IHN1YnRsZWZnIGludGVuc2ViZyBpbnRlbnNlZmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJh Y2tncm91bmQgY29sb3VycyBmb3IgcHJvbXB0cy4NCi1NQUlORkcgaXMgdGhlIHByb21wdCdzIHN0 YW5kYXJkIGZvcmVncm91bmQuICBTVUJUTEVCRyBzaG91bGQgYmUgYQ0KLXN1YnRsZSBhY2NlbnRl ZCBiYWNrZ3JvdW5kIHRoYXQgd29ya3Mgd2l0aCBTVUJUTEVGRy4gIElOVEVOU0VCRw0KLW11c3Qg YmUgYSBtb3JlIHByb25vdW5jZWQgYWNjZW50ZWQgY29sb3VyIHRoYXQgc2hvdWxkIGJlDQotY29t YmluYWJsZSB3aXRoIElOVEVOU0VGRy4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1w cm9tcHRzDQotICAgICgnaW50ZW5zZSAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcgOmZvcmVn cm91bmQgaW50ZW5zZWZnKSkNCi0gICAgKCdzdWJ0bGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxl YmcgOmZvcmVncm91bmQgc3VidGxlZmcpKQ0KLSAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBuaWwg OmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLXBh cmVuIChub3JtYWxiZyBpbnRlbnNlYmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGludGVuc2Ug Y29sb3VycyBmb3IgbWF0Y2hpbmcgcGFyZW50aGVzZXMuDQotTk9STUFMQkcgc2hvdWxkIHRoZSBz cGVjaWFsIHBhbGV0dGUgY29sb3VyICdiZy1wYXJlbi1tYXRjaCcgb3INCi1zb21ldGhpbmcgc2lt aWxhci4gIElOVEVOU0VCRyBtdXN0IGJlIGVhc2llciB0byBkaXNjZXJuIG5leHQgdG8NCi1vdGhl ciBiYWNrZ3JvdW5kcywgc3VjaCBhcyB0aGUgc3BlY2lhbCBwYWxldHRlIGNvbG91cg0KLSdiZy1w YXJlbi1tYXRjaC1pbnRlbnNlJy4iDQotICAoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNl LXBhcmVuLW1hdGNoDQotICAgICAgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnKQ0KLSAgICAo bGlzdCA6YmFja2dyb3VuZCBub3JtYWxiZykpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kIChub3JtYWwgZmFpbnQpDQotICAiQXBwbHkgZm9yZWdyb3Vu ZCB2YWx1ZSB0byBjb2RlIHN5bnRheC4NCi1OT1JNQUwgaXMgdGhlIG1vcmUgc2F0dXJhdGVkIGNv bG91ciwgd2hpY2ggc2hvdWxkIGJlIHRoZSBkZWZhdWx0Lg0KLUZBSU5UIGlzIHRoZSBsZXNzIHNh dHVyYXRlZCBjb2xvdXIuIg0KLSAgKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3ludGF4 DQotICAgICAgKGxpc3QgOmZvcmVncm91bmQgZmFpbnQpDQotICAgIChsaXN0IDpmb3JlZ3JvdW5k IG5vcm1hbCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmctcCAoa2V5 KQ0KLSAgIlF1ZXJ5IHN0eWxlIG9mIEtFWSBpbiBgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5n cycuIg0KLSAgKGNkciAoYXNzb2Mga2V5IG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZ3MpKSkN Ci0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nIChsZXZlbCBmZyBmZy1hbHQg YmcgYm9yZGVyKQ0KLSAgIkNvbmRpdGlvbmFsIHN0eWxlcyBmb3IgYG1vZHVzLXZpdmVuZGktdGhl bWUtaGVhZGluZ3MnLg0KLQ0KLUxFVkVMIGlzIHRoZSBoZWFkaW5nJ3MgcG9zaXRpb24gaW4gdGhl aXIgb3JkZXIuICBGRyBpcyB0aGUNCi1kZWZhdWx0IHRleHQgY29sb3VyLiAgRkctQUxUIGlzIGFu IGFjY2VudGVkLCBtb3JlIHNhdHVyYXRlZCB2YWx1ZQ0KLXRoYW4gdGhlIGRlZmF1bHQuICBCRyBp cyBhIG51YW5jZWQsIHR5cGljYWxseSBhY2NlbnRlZCwNCi1iYWNrZ3JvdW5kIHRoYXQgY2FuIHdv cmsgd2VsbCB3aXRoIGVpdGhlciBvZiB0aGUgZm9yZWdyb3VuZA0KLXZhbHVlcy4gIEJPUkRFUiBp cyBhIGNvbG91ciB2YWx1ZSB0aGF0IGNvbWJpbmVzIHdlbGwgd2l0aCB0aGUNCi1iYWNrZ3JvdW5k IGFuZCBhbHRlcm5hdGl2ZSBmb3JlZ3JvdW5kLiINCi0gIChsZXQqICgoa2V5IChtb2R1cy12aXZl bmRpLXRoZW1lLWhlYWRpbmctcCBgLGxldmVsKSkNCi0gICAgICAgICAoc3R5bGUgKG9yIGtleSAo bW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nLXAgdCkpKQ0KLSAgICAgICAgICh2YXIgKGlmIG1v ZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MNCi0gICAgICAgICAgICAg ICAgICAndmFyaWFibGUtcGl0Y2gNCi0gICAgICAgICAgICAgICAgJ2RlZmF1bHQpKSkNCi0gICAg KHBjYXNlIHN0eWxlDQotICAgICAgKCduby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAs dmFyIDpmb3JlZ3JvdW5kIGZnKSkNCi0gICAgICAoJ2xpbmUNCi0gICAgICAgKGxpc3QgOmluaGVy aXQgYChib2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnIDpvdmVybGluZSBib3JkZXIpKQ0KLSAgICAg ICgnbGluZS1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5k IGZnIDpvdmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgncmFpbmJvdw0KLSAgICAgICAobGlzdCA6 aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmctYWx0KSkNCi0gICAgICAoJ3JhaW5i b3ctbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBmZy1h bHQpKQ0KLSAgICAgICgncmFpbmJvdy1saW5lDQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9s ZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdy YWluYm93LWxpbmUtbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdy b3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdoaWdobGlnaHQNCi0gICAg ICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5k IGZnKSkNCi0gICAgICAoJ2hpZ2hsaWdodC1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0 IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkNCi0gICAgICAoJ3JhaW5ib3ct aGlnaGxpZ2h0DQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3Vu ZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KLSAgICAgICgncmFpbmJvdy1oaWdobGlnaHQtbm8t Ym9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdy b3VuZCBmZy1hbHQpKQ0KLSAgICAgICgnc2VjdGlvbg0KLSAgICAgICAoYXBwZW5kDQotICAgICAg ICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAg ICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQg ZmcgOm92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgICgnc2VjdGlvbi1uby1ib2xkDQotICAgICAg IChhcHBlbmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4 dGVuZCB0KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpm b3JlZ3JvdW5kIGZnIDpvdmVybGluZSBib3JkZXIpKSkNCi0gICAgICAoJ3JhaW5ib3ctc2VjdGlv bg0KLSAgICAgICAoYXBwZW5kDQotICAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9u IDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikg OmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIpKSkNCi0g ICAgICAoJ3JhaW5ib3ctc2VjdGlvbi1uby1ib2xkDQotICAgICAgIChhcHBlbmQNCi0gICAgICAg IChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAg IChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCA6 b3ZlcmxpbmUgYm9yZGVyKSkpDQotICAgICAgKF8NCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChi b2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnKSkpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10 aGVtZS1vcmctYmxvY2sgKGJnYmxrKQ0KLSAgIkNvbmRpdGlvbmFsbHkgc2V0IHRoZSBiYWNrZ3Jv dW5kIG9mIE9yZyBibG9ja3MuDQotQkdCTEsgYXBwbGllcyB0byBhIGRpc3RpbmN0IG5ldXRyYWwg YmFja2dyb3VuZC4gIEVsc2UgYmxvY2tzIGhhdmUNCi1ubyBiYWNrZ3JvdW5kIG9mIHRoZWlyIG93 biAodGhlIGRlZmF1bHQpLCBzbyB0aGV5IGxvb2sgdGhlIHNhbWUNCi1hcyB0aGUgcmVzdCBvZiB0 aGUgYnVmZmVyLg0KLQ0KLWBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGFsc28gYWNj ZXB0cyBhIGByYWluYm93JyBvcHRpb24NCi13aGljaCBpcyBhcHBsaWVkIGNvbmRpdGlvbmFsbHkg dG8gYG9yZy1zcmMtYmxvY2stZmFjZXMnIChzZWUgdGhlDQotdGhlbWUncyBzb3VyY2UgY29kZSku Ig0KLSAgKGlmIChlcSBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MgJ2dyZXlzY2FsZSkN Ci0gICAgICAoYXBwZW5kDQotICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcp ICcoOmV4dGVuZCB0KSkNCi0gICAgICAgKGxpc3QgOmJhY2tncm91bmQgYmdibGspKQ0KLSAgICAo bGlzdCA6YmFja2dyb3VuZCBuaWwpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1v cmctYmxvY2stZGVsaW0gKGJnYWNjZW50IGZnYWNjZW50IGJnIGZnKQ0KLSAgIkNvbmRpdGlvbmFs bHkgc2V0IHRoZSBzdHlsZXMgb2YgT3JnIGJsb2NrIGRlbGltaXRlcnMuDQotQkcsIEZHLCBCR0FD Q0VOVCwgRkdBQ0NFTlQgYXBwbHkgYSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kDQotY29sb3Vy IHJlc3BlY3RpdmVseS4NCi0NCi1UaGUgZm9ybWVyIHBhaXIgaXMgYSBncmV5c2NhbGUgY29tYmlu YXRpb24gdGhhdCBzaG91bGQgYmUgbW9yZQ0KLWRpc3RpbmN0IHRoYW4gdGhlIGJhY2tncm91bmQg b2YgdGhlIGJsb2NrLiAgSXQgaXMgYXBwbGllZCB0byB0aGUNCi1kZWZhdWx0IHN0eWxlcyBvciB3 aGVuIGBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGlzIHNldA0KLXRvIGBncmV5c2Nh bGUnLg0KLQ0KLVRoZSBsYXR0ZXIgcGFpciBzaG91bGQgYmUgbW9yZSBzdWJ0bGUgdGhhbiB0aGUg YmFja2dyb3VuZCBvZiB0aGUNCi1ibG9jaywgYXMgaXQgaXMgdXNlZCB3aGVuIGBtb2R1cy12aXZl bmRpLXRoZW1lLW9yZy1ibG9ja3MnIGlzDQotc2V0IHRvIGByYWluYm93Jy4iDQotICAocGNhc2Ug bW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICgnZ3JleXNjYWxlIChhcHBlbmQg KGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkpDQot ICAgICgncmFpbmJvdyAobGlzdCA6YmFja2dyb3VuZCBiZ2FjY2VudCA6Zm9yZWdyb3VuZCBmZ2Fj Y2VudCkpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkpKQ0K LQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAoZmcg YmcgZmctYWx0IGJnLWFsdCBib3JkZXIgYm9yZGVyLTNkICZvcHRpb25hbCBhbHQtc3R5bGUgYm9y ZGVyLXdpZHRoIGZnLWRpc3RhbnQpDQotICAiQ29sb3VyIGNvbWJpbmF0aW9ucyBmb3IgYG1vZHVz LXZpdmVuZGktdGhlbWUtbW9kZS1saW5lJy4NCi0NCi1GRyBhbmQgQkcgYXJlIHRoZSBkZWZhdWx0 IGNvbG91cnMuICBGRy1BTFQgYW5kIEJHLUFMVCBhcmUgbWVhbnQNCi10byBhY2NvbW1vZGF0ZSB0 aGUgb3B0aW9ucyBmb3IgYSAzRCBtb2RlbGluZSBvciBhIGBtb29keScNCi1jb21wbGlhbnQgb25l LiAgQk9SREVSIGFwcGxpZXMgdG8gYWxsIHBlcm11dGF0aW9ucyBvZiB0aGUNCi1tb2RlbGluZSwg ZXhjZXB0IHRoZSB0aHJlZS1kaW1lbnNpb25hbCBlZmZlY3QsIHdoZXJlIEJPUkRFUi0zRCBpcw0K LXVzZWQgaW5zdGVhZC4NCi0NCi1PcHRpb25hbCBBTFQtU1RZTEUgYXBwbGllcyBhbiBhcHByb3By aWF0ZSBzdHlsZSB0byB0aGUgbW9kZQ0KLWxpbmUncyBib3ggcHJvcGVydHkuDQotDQotT3B0aW9u YWwgQk9SREVSLVdJRFRIIHNwZWNpZmllcyBhbiBpbnRlZ2VyIGZvciB0aGUgd2lkdGggb2YgdGhl DQotcmVjdGFuZ2xlIHRoYXQgcHJvZHVjZXMgdGhlIGJveCBlZmZlY3QuDQotDQotT3B0aW9uYWwg RkctRElTVEFOVCBzaG91bGQgYmUgY2xvc2UgdG8gdGhlIG1haW4gYmFja2dyb3VuZA0KLXZhbHVl cy4gIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSBkaXN0YW50LWZvcmVncm91bmQNCi1w cm9wZXJ0eS4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1tb2RlLWxpbmUNCi0gICAg KCczZA0KLSAgICAgYCg6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQNCi0g ICAgICAgICAgICAgICAgICAgOmJveCAoOmxpbmUtd2lkdGggLChvciBib3JkZXItd2lkdGggMSkN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNvbG9yICxib3JkZXItM2QN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnN0eWxlICwoYW5kIGFsdC1z dHlsZSAncmVsZWFzZWQtYnV0dG9uKSkpKQ0KLSAgICAoJ21vb2R5DQotICAgICBgKDpiYWNrZ3Jv dW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCA6dW5kZXJsaW5lICxib3JkZXIgOm92ZXJs aW5lICxib3JkZXINCi0gICAgICAgICAgICAgICAgICAgOmRpc3RhbnQtZm9yZWdyb3VuZCAsZmct ZGlzdGFudCkpDQotICAgIChfDQotICAgICBgKDpmb3JlZ3JvdW5kICxmZyA6YmFja2dyb3VuZCAs YmcgOmJveCAsYm9yZGVyKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYg KGZnLW9ubHktYmcgZmctb25seS1mZyBtYWluYmcgbWFpbmZnIGFsdGJnIGFsdGZnKQ0KLSAgIkNv bG91ciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZzJy4NCi0NCi1G Ry1PTkxZLUJHIHNob3VsZCBiZSBzaW1pbGFyIG9yIHRoZSBzYW1lIGFzIHRoZSBtYWluIGJhY2tn cm91bmQuDQotRkctT05MWS1GRyBzaG91bGQgYmUgYSBzYXR1cmF0ZWQgYWNjZW50IHZhbHVlIHRo YXQgY2FuIGJlDQotY29tYmluZWQgd2l0aCB0aGUgZm9ybWVyLg0KLQ0KLU1BSU5CRyBtdXN0IGJl IG9uZSBvZiB0aGUgZGVkaWNhdGVkIGJhY2tncm91bmRzIGZvciBkaWZmcyB3aGlsZQ0KLU1BSU5G RyBtdXN0IGJlIHRoZSBzYW1lIGZvciB0aGUgZm9yZWdyb3VuZC4NCi0NCi1BTFRCRyBuZWVkcyB0 byBiZSBhIHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCBpcyBtZWFudCB0bw0KLWJl IGNvbWJpbmVkIHdpdGggQUxURkcuICBCb3RoIG11c3QgYmUgbGVzcyBpbnRlbnNlIHRoYW4gTUFJ TkJHDQotYW5kIE1BSU5GRyByZXNwZWN0aXZlbHkuIg0KLSAgKHBjYXNlIG1vZHVzLXZpdmVuZGkt dGhlbWUtZGlmZnMNCi0gICAgKCdmZy1vbmx5IChsaXN0IDpiYWNrZ3JvdW5kIGZnLW9ubHktYmcg OmZvcmVncm91bmQgZmctb25seS1mZykpDQotICAgICgnZGVzYXR1cmF0ZWQgKGxpc3QgOmJhY2tn cm91bmQgYWx0YmcgOmZvcmVncm91bmQgYWx0ZmcpKQ0KLSAgICAoXyAobGlzdCA6YmFja2dyb3Vu ZCBtYWluYmcgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRp LXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zIChtYWluZmcgc3VidGxlYmcgaW50ZW5zZWJnIGlu dGVuc2VmZykNCi0gICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBs ZXRpb25zJy4NCi0NCi1NQUlORkcgaXMgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCB2YWx1ZS4gIFNV QlRMRUJHIGlzIGFuIGFjY2VudGVkDQotYmFja2dyb3VuZCB2YWx1ZSB0aGF0IGNhbiBiZSBjb21i aW5lZCB3aXRoIE1BSU5GRy4gIElOVEVOU0VCRyBhbmQNCi1JTlRFTlNFRkcgYXJlIGFjY2VudGVk IGNvbG91cnMgdGhhdCBhcmUgZGVzaWduZWQgdG8gYmUgdXNlZCBpbg0KLXRhbmRlbS4NCi0NCi1U aGVzZSBhcmUgaW50ZW5kZWQgZm9yIEljb21wbGV0ZSwgSWRvLCBhbmQgcmVsYXRlZC4iDQotICAo cGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAoJ29waW5pb25hdGVk IChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KLSAg ICAoJ21vZGVyYXRlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIG1haW5m ZykpDQotICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIG1haW5mZykpKSkNCi0NCi0oZGVmdW4gbW9k dXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucyAoc3VidGxlZmFjZSBpbnRlbnNlZmFj ZSBhbHRmYWNlICZvcHRpb25hbCBhbHRmZyBib2xkKQ0KLSAgIkNvbWJpbmF0aW9ucyBmb3IgYG1v ZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMnLg0KLQ0KLVNVQlRMRUZBQ0UgYW5kIElOVEVO U0VGQUNFIGFyZSBjdXN0b20gdGhlbWUgZmFjZXMgdGhhdCBjb21iaW5lIGENCi1iYWNrZ3JvdW5k IGFuZCBmb3JlZ3JvdW5kIHZhbHVlLiAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvDQot aXMgYSBtYXR0ZXIgb2YgZGVncmVlLg0KLQ0KLUFMVEZBQ0UgaXMgYSBjb21iaW5hdGlvbiBvZiBj b2xvdXJzIHRoYXQgcmVwcmVzZW50cyBhIGRlcGFydHVyZQ0KLWZyb20gdGhlIFVJJ3MgZGVmYXVs dCBhZXN0aGV0aWNzLiAgT3B0aW9uYWwgQUxURkcgaXMgbWVhbnQgdG8gYmUNCi11c2VkIGluIHRh bmRlbSB3aXRoIGl0Lg0KLQ0KLU9wdGlvbmFsIEJPTEQgd2lsbCBhcHBseSBhIGhlYXZpZXIgd2Vp Z2h0IHRvIHRoZSB0ZXh0Lg0KLQ0KLVRoZXNlIGFyZSBpbnRlbmRlZCBmb3IgSGVsbSwgSXZ5LCBl dGMuIg0KLSAgKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgKCdv cGluaW9uYXRlZCAobGlzdCA6aW5oZXJpdCAobGlzdCBhbHRmYWNlIGJvbGQpDQotICAgICAgICAg ICAgICAgICAgICAgICAgOmZvcmVncm91bmQgKG9yIGFsdGZnICd1bnNwZWNpZmllZCkpKQ0KLSAg ICAoJ21vZGVyYXRlIChsaXN0IDppbmhlcml0IChsaXN0IHN1YnRsZWZhY2UgYm9sZCkpKQ0KLSAg ICAoXyAobGlzdCA6aW5oZXJpdCAobGlzdCBpbnRlbnNlZmFjZSBib2xkKSkpKSkNCi0NCi0oZGVm dW4gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSAoYW1vdW50KQ0KLSAgIlNjYWxlIGhlYWRpbmcg YnkgQU1PVU5ULg0KLQ0KLUFNT1VOVCBpcyBhIGN1c3RvbWlzYXRpb24gb3B0aW9uLiINCi0gICh3 aGVuIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MNCi0gICAgKGxpc3QgOmhlaWdo dCBhbW91bnQpKSkNCi0NCi07OzsgQ29sb3VyIHBhbGV0dGUNCi0NCi07OyBEZWZpbmUgY29sb3Vy IHBhbGV0dGUuICBFYWNoIGNvbG91ciBtdXN0IGhhdmUgYSA+PSA3OjEgY29udHJhc3QNCi07OyBy YXRpbyByZWxhdGl2ZSB0byB0aGUgZm9yZWdyb3VuZC9iYWNrZ3JvdW5kIGNvbG91ciBpdCBpcyBy ZW5kZXJlZA0KLTs7IGFnYWluc3QuDQotOzsNCi07OyBUaGUgZGVzaWduIG9mIHRoZSBjb2xvdXIg cGFsZXR0ZSBhcyBhIG1hY3JvIHRoYXQgbWFwcyBpdCB0byBmYWNlcyBpcw0KLTs7IGFkYXB0ZWQg ZnJvbSB6ZW5iZXJuLXRoZW1lLmVsLCBsYXN0IHNlZW4gYXQgY29tbWl0IDdkZDc5Njg6DQotOzsg aHR0cHM6Ly9naXRodWIuY29tL2JiYXRzb3YvemVuYnVybi1lbWFjcw0KLShldmFsLWFuZC1jb21w aWxlDQotICAoZGVmY29uc3QgbW9kdXMtdml2ZW5kaS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlz dA0KLSAgICAnKDs7IGJhc2UgdmFsdWVzDQotICAgICAgKCJiZy1tYWluIiAuICIjMDAwMDAwIikg KCJmZy1tYWluIiAuICIjZmZmZmZmIikNCi0gICAgICAoImJnLWFsdCIgLiAiIzE4MWEyMCIpICgi ZmctYWx0IiAuICIjYThhOGE4IikNCi0gICAgICAoImJnLWRpbSIgLiAiIzExMGIxMSIpICgiZmct ZGltIiAuICIjZTBlNmYwIikNCi0gICAgICA7OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0 ZXMgKGUuZy4gYG1vZGUtbGluZScpDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJp bmVkIHdpdGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmctYWN0aXZlIiAuICIjMzIzMjMyIikgKCJm Zy1hY3RpdmUiIC4gIiNmNGY0ZjQiKQ0KLSAgICAgICgiYmctaW5hY3RpdmUiIC4gIiMxZTFlMWUi KSAoImZnLWluYWN0aXZlIiAuICIjYmZjMGM0IikNCi0gICAgICA7OyBzcGVjaWFsIGJhc2UgdmFs dWVzLCB1c2VkIG9ubHkgZm9yIGNhc2VzIHdoZXJlIHRoZSBhYm92ZQ0KLSAgICAgIDs7IGZnLSog b3IgYmctKiBjYW5ub3Qgb3Igc2hvdWxkIG5vdCBiZSB1c2VkICh0byBhdm9pZCBjb25mdXNpb24p DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiB7ZmcsYmd9LXttYWluLGFsdCxkaW19 DQotICAgICAgKCJiZy1zcGVjaWFsLWNvbGQiIC4gIiMyMDM0NDgiKSAoImZnLXNwZWNpYWwtY29s ZCIgLiAiI2M2ZWFmZiIpDQotICAgICAgKCJiZy1zcGVjaWFsLW1pbGQiIC4gIiMwMDMyMmUiKSAo ImZnLXNwZWNpYWwtbWlsZCIgLiAiI2JmZWJlMCIpDQotICAgICAgKCJiZy1zcGVjaWFsLXdhcm0i IC4gIiMzODJmMjciKSAoImZnLXNwZWNpYWwtd2FybSIgLiAiI2Y4ZGVjMCIpDQotICAgICAgKCJi Zy1zcGVjaWFsLWNhbG0iIC4gIiMzOTJhNDgiKSAoImZnLXNwZWNpYWwtY2FsbSIgLiAiI2ZiZDZm NCIpDQotICAgICAgOzsgc3R5bGVzIGZvciB0aGUgbWFpbiBjb25zdHJ1Y3RzDQotICAgICAgOzsN Ci0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWluJywgYGJnLWFsdCcsIGBi Zy1kaW0nDQotICAgICAgKCJyZWQiIC4gIiNmZjgwNTkiKSAoImdyZWVuIiAuICIjNDRiYzQ0IikN Ci0gICAgICAoInllbGxvdyIgLiAiI2VlY2MwMCIpICgiYmx1ZSIgLiAiIzJmYWZmZiIpDQotICAg ICAgKCJtYWdlbnRhIiAuICIjZmVhY2QwIikgKCJjeWFuIiAuICIjMDBkM2QwIikNCi0gICAgICA7 OyBzdHlsZXMgZm9yIGNvbW1vbiwgYnV0IHN0aWxsIHNwZWNpYWxpc2VkIGNvbnN0cnVjdHMNCi0g ICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmct YWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZC1hbHQiIC4gIiNmNDkyM2IiKSAoImdyZWVuLWFs dCIgLiAiIzgwZDIwMCIpDQotICAgICAgKCJ5ZWxsb3ctYWx0IiAuICIjY2ZkZjMwIikgKCJibHVl LWFsdCIgLiAiIzc5YThmZiIpDQotICAgICAgKCJtYWdlbnRhLWFsdCIgLiAiI2Y3OGZlNyIpICgi Y3lhbi1hbHQiIC4gIiM0YWU4ZmMiKQ0KLSAgICAgIDs7IHNhbWUgcHVycG9zZSBhcyBhYm92ZSwg anVzdCBzbGlnaHQgZGlmZmVyZW5jZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29t YmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZC1h bHQtb3RoZXIiIC4gIiNmZjk5NzciKSAoImdyZWVuLWFsdC1vdGhlciIgLiAiIzAwY2Q2OCIpDQot ICAgICAgKCJ5ZWxsb3ctYWx0LW90aGVyIiAuICIjZjBjZTQzIikgKCJibHVlLWFsdC1vdGhlciIg LiAiIzAwYmNmZiIpDQotICAgICAgKCJtYWdlbnRhLWFsdC1vdGhlciIgLiAiI2I2YTBmZiIpICgi Y3lhbi1hbHQtb3RoZXIiIC4gIiM2YWU0YjkiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgZGVzYXR1 cmF0ZWQgZm9yZWdyb3VuZCB0ZXh0LCBpbnRlbmRlZCBmb3IgdXNlIHdpdGgNCi0gICAgICA7OyB0 aGUgYG1vZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3ludGF4JyBvcHRpb24NCi0gICAgICA7Ow0K LSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJn LWRpbScNCi0gICAgICAoInJlZC1mYWludCIgLiAiI2ZmYTBhMCIpICgiZ3JlZW4tZmFpbnQiIC4g IiM4OGNmODgiKQ0KLSAgICAgICgieWVsbG93LWZhaW50IiAuICIjZDJiNTgwIikgKCJibHVlLWZh aW50IiAuICIjOTJiYWZmIikNCi0gICAgICAoIm1hZ2VudGEtZmFpbnQiIC4gIiNlMGIyZDYiKSAo ImN5YW4tZmFpbnQiIC4gIiNhMGJmZGYiKQ0KLQ0KLSAgICAgICgicmVkLWFsdC1mYWludCIgLiAi I2Y1YWE4MCIpICgiZ3JlZW4tYWx0LWZhaW50IiAuICIjYThjZjg4IikNCi0gICAgICAoInllbGxv dy1hbHQtZmFpbnQiIC4gIiNjYWJmNzciKSAoImJsdWUtYWx0LWZhaW50IiAuICIjYTRiMGZmIikN Ci0gICAgICAoIm1hZ2VudGEtYWx0LWZhaW50IiAuICIjZWY5ZmU0IikgKCJjeWFuLWFsdC1mYWlu dCIgLiAiIzkwYzRlZCIpDQotDQotICAgICAgKCJyZWQtYWx0LW90aGVyLWZhaW50IiAuICIjZmY5 ZmJmIikgKCJncmVlbi1hbHQtb3RoZXItZmFpbnQiIC4gIiM4OGNmYWYiKQ0KLSAgICAgICgieWVs bG93LWFsdC1vdGhlci1mYWludCIgLiAiI2QwYmE5NSIpICgiYmx1ZS1hbHQtb3RoZXItZmFpbnQi IC4gIiM4ZmM1ZmYiKQ0KLSAgICAgICgibWFnZW50YS1hbHQtb3RoZXItZmFpbnQiIC4gIiNkMGI0 ZmYiKSAoImN5YW4tYWx0LW90aGVyLWZhaW50IiAuICIjYTRkMGJiIikNCi0gICAgICA7OyBzdHls ZXMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZlcnkgc3VidGxlLCB5ZXQgYWNjZW50ZWQN Ci0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBg YmctYWx0JywgYGJnLWRpbScgb3IgYW55IG9mDQotICAgICAgOzsgdGhlICJudWFuY2VkIiBiYWNr Z3JvdW5kcw0KLSAgICAgICgicmVkLW51YW5jZWQiIC4gIiNmZmNjY2MiKSAoImdyZWVuLW51YW5j ZWQiIC4gIiNiOGUyYjgiKQ0KLSAgICAgICgieWVsbG93LW51YW5jZWQiIC4gIiNkZmRmYjAiKSAo ImJsdWUtbnVhbmNlZCIgLiAiI2JmZDlmZiIpDQotICAgICAgKCJtYWdlbnRhLW51YW5jZWQiIC4g IiNlNWNmZWYiKSAoImN5YW4tbnVhbmNlZCIgLiAiI2E4ZTVlNSIpDQotICAgICAgOzsgc3R5bGVz IGZvciBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kDQotICAgICAgOzsNCi0gICAgICA7OyBt dXN0IGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBhYm92ZSBmb3JlZ3JvdW5kIHZhbHVlcw0K LSAgICAgICgicmVkLW51YW5jZWQtYmciIC4gIiMyYzA2MTQiKSAoImdyZWVuLW51YW5jZWQtYmci IC4gIiMwMDE5MDQiKQ0KLSAgICAgICgieWVsbG93LW51YW5jZWQtYmciIC4gIiMyMjEwMDAiKSAo ImJsdWUtbnVhbmNlZC1iZyIgLiAiIzBmMGUzOSIpDQotICAgICAgKCJtYWdlbnRhLW51YW5jZWQt YmciIC4gIiMyMzA2MzEiKSAoImN5YW4tbnVhbmNlZC1iZyIgLiAiIzA0MTUyOSIpDQotICAgICAg Ozsgc3R5bGVzIGZvciBlbGVtZW50cyB0aGF0IHNob3VsZCBkcmF3IGF0dGVudGlvbiB0byB0aGVt c2VsdmVzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1t YWluJw0KLSAgICAgICgicmVkLWludGVuc2UiIC4gIiNmYjY4NTkiKSAoImdyZWVuLWludGVuc2Ui IC4gIiMwMGZjNTAiKQ0KLSAgICAgICgieWVsbG93LWludGVuc2UiIC4gIiNmZmRkMDAiKSAoImJs dWUtaW50ZW5zZSIgLiAiIzAwYTJmZiIpDQotICAgICAgKCJtYWdlbnRhLWludGVuc2UiIC4gIiNm ZjhiZDQiKSAoImN5YW4taW50ZW5zZSIgLiAiIzMwZmZjMCIpDQotICAgICAgOzsgc3R5bGVzIGZv ciBiYWNrZ3JvdW5kIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZpc2libGUgeWV0DQotICAgICAg Ozsgc3VidGxlDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBm Zy1kaW0nDQotICAgICAgKCJyZWQtc3VidGxlLWJnIiAuICIjNzYyNDIyIikgKCJncmVlbi1zdWJ0 bGUtYmciIC4gIiMyZjRhMDAiKQ0KLSAgICAgICgieWVsbG93LXN1YnRsZS1iZyIgLiAiIzYwNDIw MCIpICgiYmx1ZS1zdWJ0bGUtYmciIC4gIiMxMDM4N2MiKQ0KLSAgICAgICgibWFnZW50YS1zdWJ0 bGUtYmciIC4gIiM0OTM2NmUiKSAoImN5YW4tc3VidGxlLWJnIiAuICIjMDA0MTVlIikNCi0gICAg ICA7OyBzdHlsZXMgZm9yIGJhY2tncm91bmQgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgdmlzaWJs ZSBhbmQNCi0gICAgICA7OyBkaXN0aW5ndWlzaGFibGUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11 c3QgYmUgY29tYmluZWQgd2l0aDogYGZnLW1haW4nDQotICAgICAgKCJyZWQtaW50ZW5zZS1iZyIg LiAiI2E0MjAyYSIpICgiZ3JlZW4taW50ZW5zZS1iZyIgLiAiIzAwNjgwMCIpDQotICAgICAgKCJ5 ZWxsb3ctaW50ZW5zZS1iZyIgLiAiIzg3NDkwMCIpICgiYmx1ZS1pbnRlbnNlLWJnIiAuICIjMmE0 MGI4IikNCi0gICAgICAoIm1hZ2VudGEtaW50ZW5zZS1iZyIgLiAiIzcwNDJhMiIpICgiY3lhbi1p bnRlbnNlLWJnIiAuICIjMDA1Zjg4IikNCi0gICAgICA7OyBzdHlsZXMgZm9yIHJlZmluZWQgY29u dGV4dHMgd2hlcmUgYm90aCB0aGUgZm9yZWdyb3VuZCBhbmQgdGhlDQotICAgICAgOzsgYmFja2dy b3VuZCBuZWVkIHRvIGhhdmUgdGhlIHNhbWUvc2ltaWxhciBodWUNCi0gICAgICA7Ow0KLSAgICAg IDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCB0aGVtc2VsdmVzIE9SIHRoZSBmb3JlZ3JvdW5kcyBj YW4gYmUNCi0gICAgICA7OyBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgYmFzZSBiYWNrZ3JvdW5k cw0KLSAgICAgICgicmVkLXJlZmluZS1iZyIgLiAiIzc3MDAyYSIpICgicmVkLXJlZmluZS1mZyIg LiAiI2ZmYjlhYiIpDQotICAgICAgKCJncmVlbi1yZWZpbmUtYmciIC4gIiMwMDQyMmEiKSAoImdy ZWVuLXJlZmluZS1mZyIgLiAiIzlmZjBjZiIpDQotICAgICAgKCJ5ZWxsb3ctcmVmaW5lLWJnIiAu ICIjNjkzMjAwIikgKCJ5ZWxsb3ctcmVmaW5lLWZnIiAuICIjZTJkOTgwIikNCi0gICAgICAoImJs dWUtcmVmaW5lLWJnIiAuICIjMjQyNjc5IikgKCJibHVlLXJlZmluZS1mZyIgLiAiIzhlYzZmZiIp DQotICAgICAgKCJtYWdlbnRhLXJlZmluZS1iZyIgLiAiIzcxMjA2YSIpICgibWFnZW50YS1yZWZp bmUtZmciIC4gIiNmZmNhZjAiKQ0KLSAgICAgICgiY3lhbi1yZWZpbmUtYmciIC4gIiMwMDQwNjUi KSAoImN5YW4tcmVmaW5lLWZnIiAuICIjOGFlNGYyIikNCi0gICAgICA7OyBzdHlsZXMgdGhhdCBh cmUgbWVhbnQgZXhjbHVzaXZlbHkgZm9yIHRoZSBtb2RlIGxpbmUNCi0gICAgICA7Ow0KLSAgICAg IDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLWFjdGl2ZScsIGBiZy1pbmFjdGl2ZScNCi0g ICAgICAoInJlZC1hY3RpdmUiIC4gIiNmZmE3YmEiKSAoImdyZWVuLWFjdGl2ZSIgLiAiIzcwZDcz ZiIpDQotICAgICAgKCJ5ZWxsb3ctYWN0aXZlIiAuICIjZGJiZTVmIikgKCJibHVlLWFjdGl2ZSIg LiAiIzM0Y2ZmZiIpDQotICAgICAgKCJtYWdlbnRhLWFjdGl2ZSIgLiAiI2Q1YjFmZiIpICgiY3lh bi1hY3RpdmUiIC4gIiMwMGQ4YjQiKQ0KLSAgICAgIDs7IHN0eWxlcyB0aGF0IGFyZSBtZWFudCBl eGNsdXNpdmVseSBmb3IgdGhlIGZyaW5nZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUg Y29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICAoInJlZC1mcmluZ2UtYmciIC4gIiM4ZjFm NGIiKSAoImdyZWVuLWZyaW5nZS1iZyIgLiAiIzAwNjcwMCIpDQotICAgICAgKCJ5ZWxsb3ctZnJp bmdlLWJnIiAuICIjNmY0ZjAwIikgKCJibHVlLWZyaW5nZS1iZyIgLiAiIzNmMzNhZiIpDQotICAg ICAgKCJtYWdlbnRhLWZyaW5nZS1iZyIgLiAiIzZmMmY4OSIpICgiY3lhbi1mcmluZ2UtYmciIC4g IiMwMDRmOGYiKQ0KLSAgICAgIDs7IHN0eWxlcyByZXNlcnZlZCBmb3Igc3BlY2lmaWMgZmFjZXMN Ci0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1obC1saW5lJyBpcyBiZXR3ZWVuIGBiZy1kaW0nIGFu ZCBgYmctYWx0Jywgc28gaXQgc2hvdWxkDQotICAgICAgOzsgd29yayB3aXRoIGFsbCBhY2NlbnRz IHRoYXQgY292ZXIgdGhvc2UgdHdvLCBwbHVzIGBiZy1tYWluJw0KLSAgICAgIDs7DQotICAgICAg OzsgYGJnLWhsLWFsdCcgYW5kIGBiZy1obC1hbHQtaW50ZW5zZScgc2hvdWxkIG9ubHkgYmUgdXNl ZCB3aGVuIG5vDQotICAgICAgOzsgb3RoZXIgZ3JleXNjYWxlIG9yIGZhaXJseSBuZXV0cmFsIGJh Y2tncm91bmQgaXMgYXZhaWxhYmxlIHRvDQotICAgICAgOzsgcHJvcGVybHkgZHJhdyBhdHRlbnRp b24gdG8gYSBnaXZlbiBjb25zdHJ1Y3QNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1oZWFkZXIn IGlzIGJldHdlZW4gYGJnLWFjdGl2ZScgYW5kIGBiZy1pbmFjdGl2ZScsIHNvIGl0DQotICAgICAg OzsgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMg dGhlDQotICAgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNlIGZvcmVncm91bmQgY29sb3Vycw0KLSAg ICAgIDs7DQotICAgICAgOzsgYGJnLXBhcmVuLW1hdGNoJywgYGJnLXBhcmVuLW1hdGNoLWludGVu c2UnLCBgYmctcmVnaW9uJyBhbmQNCi0gICAgICA7OyBgYmctdGFiLWFjdGl2ZScgbXVzdCBiZSBj b21iaW5lZCB3aXRoIGBmZy1tYWluJywgd2hpbGUNCi0gICAgICA7OyBgYmctdGFiLWluYWN0aXZl JyBzaG91bGQgYmUgY29tYmluZWQgd2l0aCBgZmctZGltJw0KLSAgICAgIDs7DQotICAgICAgOzsg YGJnLXRhYi1iYXInIGlzIG9ubHkgaW50ZW5kZWQgZm9yIHRoZSBiYXIgdGhhdCBob2xkcyB0aGUg dGFicyBhbmQNCi0gICAgICA7OyBjYW4gb25seSBiZSBjb21iaW5lZCB3aXRoIGBmZy1tYWluJw0K LSAgICAgIDs7DQotICAgICAgOzsgYGZnLXRhYi1hY3RpdmUnIGlzIG1lYW50IHRvIGJlIGNvbWJp bmVkIHdpdGggYGJnLXRhYi1hY3RpdmUnLA0KLSAgICAgIDs7IHRob3VnaCBvbmx5IGZvciBzdHls aW5nIHNwZWNpYWwgZWxlbWVudHMsIHN1Y2ggYXMgdW5kZXJsaW5pbmcNCi0gICAgICA7OyB0aGUg Y3VycmVudCB0YWINCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy1lc2NhcGUtY2hhci1jb25zdHJ1 Y3QnIGFuZCBgZmctZXNjYXBlLWNoYXItYmFja3NsYXNoJyBjYW4NCi0gICAgICA7OyBiZSBjb21i aW5lZCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0Jw0KLSAgICAgIDs7DQotICAgICAgOzsg YGZnLWxhbmctZXJyb3InLCBgZmctbGFuZy13YXJuaW5nJywgYGZnLWxhbmctbm90ZScgY2FuIGJl DQotICAgICAgOzsgY29tYmluZWQgd2l0aCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0Jw0K LSAgICAgIDs7DQotICAgICAgOzsgYGZnLW1hcmstc2VsJywgYGZnLW1hcmstZGVsJywgYGZnLW1h cmstYWx0JyBjYW4gYmUgY29tYmluZWQNCi0gICAgICA7OyB3aXRoIGBiZy1tYWluJywgYGJnLWRp bScsIGBiZy1hbHQnLCBgYmctaGwtbGluZScNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy11bmZv Y3VzZWQnIG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICA7Ow0KLSAgICAg IDs7IHRoZSB3aW5kb3cgZGl2aWRlciBjb2xvdXJzIGFwcGx5IHRvIGZhY2VzIHdpdGgganVzdCBh biBmZyB2YWx1ZQ0KLSAgICAgIDs7DQotICAgICAgOzsgYWxsIHBhaXJzIGFyZSBjb21iaW5hYmxl IHdpdGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmctaGwtbGluZSIgLiAiIzE1MTgyMyIpDQotICAg ICAgKCJiZy1obC1saW5lLWludGVuc2UiIC4gIiMyZjJmMmYiKQ0KLSAgICAgICgiYmctaGwtYWx0 IiAuICIjMTgxNzMyIikNCi0gICAgICAoImJnLWhsLWFsdC1pbnRlbnNlIiAuICIjMjgyZTQ2IikN Ci0gICAgICAoImJnLXBhcmVuLW1hdGNoIiAuICIjNWYzNjJmIikNCi0gICAgICAoImJnLXBhcmVu LW1hdGNoLWludGVuc2UiIC4gIiM3NDE2YjUiKQ0KLSAgICAgICgiYmctcmVnaW9uIiAuICIjM2Mz YzNjIikNCi0NCi0gICAgICAoImJnLXRhYi1iYXIiIC4gIiMyYzJjMmMiKQ0KLSAgICAgICgiYmct dGFiLWFjdGl2ZSIgLiAiIzBlMGUwZSIpDQotICAgICAgKCJiZy10YWItaW5hY3RpdmUiIC4gIiMz ZDNkM2QiKQ0KLSAgICAgICgiZmctdGFiLWFjdGl2ZSIgLiAiIzVhYzNjZiIpDQotDQotICAgICAg KCJmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QiIC4gIiNlN2E1OWEiKQ0KLSAgICAgICgiZmctZXNj YXBlLWNoYXItYmFja3NsYXNoIiAuICIjYWJhYjAwIikNCi0NCi0gICAgICAoImZnLWxhbmctZXJy b3IiIC4gIiNlZjg2OTAiKQ0KLSAgICAgICgiZmctbGFuZy13YXJuaW5nIiAuICIjYjBhYTAwIikN Ci0gICAgICAoImZnLWxhbmctbm90ZSIgLiAiIzlkOWRlZiIpDQotDQotICAgICAgKCJmZy13aW5k b3ctZGl2aWRlci1pbm5lciIgLiAiIzY0NjQ2NCIpDQotICAgICAgKCJmZy13aW5kb3ctZGl2aWRl ci1vdXRlciIgLiAiIzk2OTY5NiIpDQotDQotICAgICAgKCJmZy11bmZvY3VzZWQiIC4gIiM5Mzk1 OWIiKQ0KLQ0KLSAgICAgICgiYmctaGVhZGVyIiAuICIjMjEyMTIxIikgKCJmZy1oZWFkZXIiIC4g IiNkZGRkZGQiKQ0KLQ0KLSAgICAgICgiYmctd2hpdGVzcGFjZSIgLiAiIzE3MDAxNiIpICgiZmct d2hpdGVzcGFjZSIgLiAiI2E0OTU5ZiIpDQotDQotICAgICAgKCJiZy1kaWZmLWhlYWRpbmciIC4g IiMzMDQ0NjYiKSAoImZnLWRpZmYtaGVhZGluZyIgLiAiI2RhZGZmZSIpDQotICAgICAgKCJiZy1k aWZmLWFkZGVkIiAuICIjMGEyODBhIikgKCJmZy1kaWZmLWFkZGVkIiAuICIjOTRiYTk0IikNCi0g ICAgICAoImJnLWRpZmYtY2hhbmdlZCIgLiAiIzJhMjAwMCIpICgiZmctZGlmZi1jaGFuZ2VkIiAu ICIjYjBiYTlmIikNCi0gICAgICAoImJnLWRpZmYtcmVtb3ZlZCIgLiAiIzQwMTYwZiIpICgiZmct ZGlmZi1yZW1vdmVkIiAuICIjYzZhZGFhIikNCi0NCi0gICAgICAoImJnLWRpZmYtcmVmaW5lLWFk ZGVkIiAuICIjMDA1YTM2IikgKCJmZy1kaWZmLXJlZmluZS1hZGRlZCIgLiAiI2UwZjZlMCIpDQot ICAgICAgKCJiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIiAuICIjNTg1ODAwIikgKCJmZy1kaWZmLXJl ZmluZS1jaGFuZ2VkIiAuICIjZmZmZmNjIikNCi0gICAgICAoImJnLWRpZmYtcmVmaW5lLXJlbW92 ZWQiIC4gIiM4NTI4MjgiKSAoImZnLWRpZmYtcmVmaW5lLXJlbW92ZWQiIC4gIiNmZmQ5ZWIiKQ0K LQ0KLSAgICAgICgiYmctZGlmZi1mb2N1cy1hZGRlZCIgLiAiIzIwM2QyMCIpICgiZmctZGlmZi1m b2N1cy1hZGRlZCIgLiAiI2I0ZGRiNCIpDQotICAgICAgKCJiZy1kaWZmLWZvY3VzLWNoYW5nZWQi IC4gIiM0YTNhMTAiKSAoImZnLWRpZmYtZm9jdXMtY2hhbmdlZCIgLiAiI2QwZGFhZiIpDQotICAg ICAgKCJiZy1kaWZmLWZvY3VzLXJlbW92ZWQiIC4gIiM1ZTI1MjYiKSAoImZnLWRpZmYtZm9jdXMt cmVtb3ZlZCIgLiAiI2VlYmRiYSIpDQotDQotICAgICAgKCJiZy1kaWZmLW5ldXRyYWwtMCIgLiAi IzU3NTc1NyIpICgiZmctZGlmZi1uZXV0cmFsLTAiIC4gIiNmY2ZjZmMiKQ0KLSAgICAgICgiYmct ZGlmZi1uZXV0cmFsLTEiIC4gIiM0NTQ1NDUiKSAoImZnLWRpZmYtbmV1dHJhbC0xIiAuICIjZGRk ZGRkIikNCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0yIiAuICIjMzEzMTMxIikgKCJmZy1kaWZm LW5ldXRyYWwtMiIgLiAiI2JmYmZiZiIpDQotDQotICAgICAgKCJiZy1tYXJrLXNlbCIgLiAiIzAw MmYyZiIpICgiZmctbWFyay1zZWwiIC4gIiM2MGNmYTIiKQ0KLSAgICAgICgiYmctbWFyay1kZWwi IC4gIiM1YTAwMDAiKSAoImZnLW1hcmstZGVsIiAuICIjZmY5OWFhIikNCi0gICAgICAoImJnLW1h cmstYWx0IiAuICIjM2YyMjEwIikgKCJmZy1tYXJrLWFsdCIgLiAiI2YwYWEyMCIpKQ0KLSAgICAi VGhlIGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy12aXZlbmRpLXRoZW1lJy4NCi1FYWNoIGVsZW1l bnQgaGFzIHRoZSBmb3JtIChOQU1FIC4gSEVYKS4iKQ0KLQ0KLSAgKGRlZmN1c3RvbSBtb2R1cy12 aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdCAnKCkNCi0gICAgIkFzc29jaWF0aW9u IGxpc3Qgb2YgcGFsZXR0ZSBjb2xvdXIgb3ZlcnJpZGVzLg0KLVZhbHVlcyBjYW4gYmUgbWFwcGVk IHRvIHZhcmlhYmxlcywgdXNpbmcgdGhlIHNhbWUgc3ludGF4IGFzIHRoZQ0KLW9uZSBwcmVzZW50 IGluIGBtb2R1cy12aXZlbmRpLXRoZW1lLWRlZmF1bHQtY29sb3JzLWFsaXN0Jy4NCi0NCi1UaGlz IGlzIG9ubHkgbWVhbnQgZm9yIGRvLWl0LXlvdXJzZWxmIHVzYWdlLCB3aXRoIHRoZQ0KLXVuZGVy c3RhbmRpbmcgdGhhdCB0aGUgdXNlciBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHJlc3VsdGluZw0K LWNvbnRyYXN0IHJhdGlvIGJldHdlZW4gbmV3IGFuZCBleGlzdGluZyBjb2xvdXJzLiINCi0gICAg OnR5cGUgJyhhbGlzdA0KLSAgICAgICAgICAgIDprZXktdHlwZSAoc3RyaW5nIDp0YWcgIk5hbWUi KQ0KLSAgICAgICAgICAgIDp2YWx1ZS10eXBlIChzdHJpbmcgOnRhZyAiIEhleCIpKSkNCi0NCi0g IChkZWZtYWNybyBtb2R1cy12aXZlbmRpLXRoZW1lLXdpdGgtY29sb3ItdmFyaWFibGVzICgmcmVz dCBib2R5KQ0KLSAgICAiYGxldCcgYmluZCBhbGwgY29sb3VycyBhcm91bmQgQk9EWS4NCi1BbHNv IGJpbmQgYGNsYXNzJyB0byAoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OSkpLiINCi0gICAg KGRlY2xhcmUgKGluZGVudCAwKSkNCi0gICAgYChsZXQgKChjbGFzcyAnKChjbGFzcyBjb2xvcikg KG1pbi1jb2xvcnMgODkpKSkNCi0gICAgICAgICAgICxAKG1hcGNhciAobGFtYmRhIChjb25zKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgKGludGVybiAoY2FyIGNvbnMpKSAoY2RyIGNv bnMpKSkNCi0gICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIG1vZHVzLXZpdmVuZGktdGhlbWUt ZGVmYXVsdC1jb2xvcnMtYWxpc3QNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVz LXZpdmVuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0KSkNCi0gICAgICAgICAgIDs7IHNp bXBsZSBjb25kaXRpb25hbCBzdHlsZXMgdGhhdCBldmFsdWF0ZSB1c2VyLWZhY2luZw0KLSAgICAg ICAgICAgOzsgY3VzdG9taXNhdGlvbiBvcHRpb25zDQotICAgICAgICAgICAobW9kdXMtdGhlbWUt c2xhbnQNCi0gICAgICAgICAgICAoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS1zbGFudGVkLWNvbnN0 cnVjdHMgJ2l0YWxpYyAnbm9ybWFsKSkNCi0gICAgICAgICAgIChtb2R1cy10aGVtZS12YXJpYWJs ZS1waXRjaA0KLSAgICAgICAgICAgIChpZiBtb2R1cy12aXZlbmRpLXRoZW1lLXZhcmlhYmxlLXBp dGNoLWhlYWRpbmdzICd2YXJpYWJsZS1waXRjaCAnZGVmYXVsdCkpKQ0KLSAgICAgICAsQGJvZHkp KSkNCi0NCi0MDQotDQotOzs7IEZhY2VzDQotDQotKG1vZHVzLXZpdmVuZGktdGhlbWUtd2l0aC1j b2xvci12YXJpYWJsZXMNCi0gIChjdXN0b20tdGhlbWUtc2V0LWZhY2VzDQotICAgJ21vZHVzLXZp dmVuZGkNCi07Ozs7IGN1c3RvbSBmYWNlcw0KLSAgIDs7IHRoZXNlIGJlc3Bva2UgZmFjZXMgYXJl IGluaGVyaXRlZCBieSBvdGhlciBjb25zdHJ1Y3RzIGJlbG93DQotOzs7Ozsgc3VidGxlIGNvbG91 cmVkIGJhY2tncm91bmRzDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtcmVkICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxyZWQtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1v ZHVzLXRoZW1lLXN1YnRsZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tc3VidGxl LWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxs b3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRo ZW1lLXN1YnRsZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXN1YnRsZS1i ZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiAo KCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IGludGVuc2Ug Y29sb3VyZWQgYmFja2dyb3VuZHMNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxyZWQtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3Jl ZW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUt aW50ZW5zZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxtYWdlbnRhLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVz LXRoZW1lLWludGVuc2UtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRy YWwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLTs7Ozs7IHJlZmluZWQgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb21iaW5hdGlvbnMN Ci0gICA7OyBnZW5lcmFsIHB1cnBvc2Ugc3R5bGVzIHRoYXQgdXNlIGFuIGFjY2VudGVkIGZvcmVn cm91bmQgYWdhaW5zdCBhbg0KLSAgIDs7IGFjY2VudGVkIGJhY2tncm91bmQNCi0gICBgKG1vZHVz LXRoZW1lLXJlZmluZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1yZWZpbmUtYmcgOmZv cmVncm91bmQgLHJlZC1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS1ncmVl biAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxncmVl bi1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgKCgsY2xhc3Mg OmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUt ZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxibHVlLXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKG1v ZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXJl ZmluZS1iZyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVzLXRo ZW1lLXJlZmluZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXJlZmluZS1iZyA6Zm9y ZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCi07Ozs7OyAiYWN0aXZlIiBjb21iaW5hdGlvbnMs IG1vc3RseSBmb3IgdXNlIG9uIHRoZSBtb2RlIGxpbmUNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2 ZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFj dGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxncmVlbi1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMt dGhlbWUtYWN0aXZlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQg LG1hZ2VudGEtYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRo ZW1lLWFjdGl2ZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWFjdGl2ZSA6Zm9yZWdy b3VuZCAsYmctYWN0aXZlKSkpDQotOzs7OzsgbnVhbmNlZCBiYWNrZ3JvdW5kcw0KLSAgIDs7IHVz ZWZ1bCBmb3IgYWRkaW5nIGFuIGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCBpcyBzdWl0YWJsZSBm b3IgYWxsDQotICAgOzsgbWFpbiBmb3JlZ3JvdW5kIGNvbG91cnMgKGludGVuZGVkIGZvciB1c2Ug aW4gT3JnIHNvdXJjZSBibG9ja3MpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLXJlZCAoKCxj bGFzcyA6YmFja2dyb3VuZCAscmVkLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0 ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZ3JlZW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0 KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICx5ZWxsb3ctbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkp KSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdl bnRhLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0g ICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1u dWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5k ICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotOzs7OzsgZnJp bmdlLXNwZWNpZmljIGNvbWJpbmF0aW9ucw0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLXJlZCAo KCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxn cmVlbi1mcmluZ2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1l LWZyaW5nZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1mcmluZ2UtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1h Z2VudGEtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVt ZS1mcmluZ2UtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1mcmluZ2UtYmcgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBzcGVjaWFsIGJhc2UgdmFsdWVzDQotICAgOzsgdGhl c2UgYXJlIGNsb3NlciB0byB0aGUgZ3JheXNjYWxlIHRoYW4gdGhlIGFjY2VudHMgZGVmaW5lZCBh Ym92ZQ0KLSAgIDs7IGFuZCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIG5leHQgY2xvc2Vz dCBhbHRlcm5hdGl2ZSB3b3VsZCBiZQ0KLSAgIDs7IGEgZ3JleXNjYWxlIHZhbHVlIHRoYW4gYW4g YWNjZW50ZWQgb25lDQotICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQotICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LXNwZWNpYWwtbWlsZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChtb2R1 cy10aGVtZS1zcGVjaWFsLXdhcm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtd2Fy bSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtb2R1cy10aGVtZS1zcGVj aWFsLWNhbG0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotOzs7OzsgZGlmZi1zcGVjaWZpYyBjb21iaW5hdGlvbnMN Ci0gICA7OyBpbnRlbmRlZCBmb3IgYGRpZmYtbW9kZScgb3IgZXF1aXZhbGVudA0KLSAgIGAobW9k dXMtdGhlbWUtZGlmZi1hZGRlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1tYWluIGdyZWVuDQotICAgICAgICAgICAgICAg ICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYtZm9jdXMtYWRkZWQNCi0gICAgICAgICAgICAg ICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlmZi1hZGRlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1l LWRpZmYtY2hhbmdlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZm DQotICAgICAgICAgICAgICAgICBiZy1tYWluIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgYmct ZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZA0KLSAgICAgICAgICAgICAg ICAgeWVsbG93LW51YW5jZWQtYmcgZmctZGlmZi1jaGFuZ2VkKSkpKQ0KLSAgIGAobW9kdXMtdGhl bWUtZGlmZi1yZW1vdmVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRp ZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4gcmVkDQotICAgICAgICAgICAgICAgICBiZy1k aWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQotICAgICAgICAgICAgICAg ICByZWQtbnVhbmNlZC1iZyBmZy1kaWZmLXJlbW92ZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1k aWZmLXJlZmluZS1hZGRlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1k aWZmDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCi0gICAg ICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5lLWFkZGVkIGZnLWRpZmYtcmVmaW5lLWFkZGVkDQot ICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYtZm9jdXMtYWRkZWQp KSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2VkDQotICAgICAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYt Y2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5l LWNoYW5nZWQgZmctZGlmZi1yZWZpbmUtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlm Zi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZCkpKSkNCi0gICBgKG1vZHVzLXRo ZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVt b3ZlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtcmVtb3ZlZCBmZy1kaWZmLXJl ZmluZS1yZW1vdmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmct ZGlmZi1mb2N1cy1yZW1vdmVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRl ZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAg ICAgICAgICBiZy1kaW0gZ3JlZW4NCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRk ZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBm Zy1kaWZmLWFkZGVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2VkDQot ICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAg ICAgIGJnLWRpbSB5ZWxsb3cNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdl ZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtY2hhbmdl ZCBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92 ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAg ICAgICAgICAgYmctZGltIHJlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1yZW1v dmVkIGZnLWRpZmYtZm9jdXMtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1v dmVkIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZw0K LSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAg ICAgICBiZy1hbHQgYmx1ZS1hbHQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtaGVhZGluZyBm Zy1kaWZmLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlKSkp KQ0KLTs7Ozs7IG1hcmsgaW5kaWNhdG9ycw0KLSAgIDs7IGNvbG91ciBjb21iaW5hdGlvbnMgaW50 ZW5kZWQgZm9yIERpcmVkLCBJYnVmZmVyLCBvciBlcXVpdmFsZW50DQotICAgYChtb2R1cy10aGVt ZS1wc2V1ZG8taGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLW1hcmstYWx0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmJhY2tncm91bmQgLGJnLW1hcmstYWx0IDpmb3JlZ3JvdW5kICxmZy1tYXJrLWFsdCkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtbWFyay1kZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3Vu ZCAsYmctbWFyay1kZWwgOmZvcmVncm91bmQgLGZnLW1hcmstZGVsKSkpDQotICAgYChtb2R1cy10 aGVtZS1tYXJrLXNlbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1tYXJr LXNlbCA6Zm9yZWdyb3VuZCAsZmctbWFyay1zZWwpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW1hcmst c3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot Ozs7OzsgaGVhZGluZyBsZXZlbHMNCi0gICA7OyBzdHlsZXMgZm9yIHJlZ3VsYXIgaGVhZGluZ3Mg dXNlZCBpbiBPcmcsIE1hcmtkb3duLCBJbmZvLCBldGMuDQotICAgYChtb2R1cy10aGVtZS1oZWFk aW5nLTENCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZw0KLSAg ICAgICAgICAgICAgICAgMSBmZy1tYWluIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtbnVhbmNl ZC1iZyBiZy1yZWdpb24pDQotICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNj YWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhl YWRpbmctMg0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nDQot ICAgICAgICAgICAgICAgICAyIGZnLXNwZWNpYWwtd2FybSBtYWdlbnRhLWFsdCByZWQtbnVhbmNl ZC1iZyBiZy1yZWdpb24pDQotICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNj YWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMykpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhl YWRpbmctMw0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nDQot ICAgICAgICAgICAgICAgICAzIGZnLXNwZWNpYWwtY29sZCBibHVlIGJsdWUtbnVhbmNlZC1iZyBi Zy1yZWdpb24pDQotICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1v ZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMikpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmct NA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAg ICAgICAgICAgICA0IGZnLXNwZWNpYWwtbWlsZCBjeWFuIGN5YW4tbnVhbmNlZC1iZyBiZy1yZWdp b24pDQotICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUtMSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNQ0KLSAg ICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAg ICAgICA1IGZnLXNwZWNpYWwtY2FsbSBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tbnVhbmNlZC1iZyBi Zy1yZWdpb24pKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTYNCi0gICAgICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgNiB5ZWxs b3ctbnVhbmNlZCB5ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1udWFuY2VkLWJnIGJnLXJlZ2lvbikp KSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNw0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA3IHJlZC1udWFuY2VkIHJl ZC1hbHQgcmVkLW51YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVh ZGluZy04DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0g ICAgICAgICAgICAgICAgIDggZmctZGltIG1hZ2VudGEgYmctYWx0IGJnLXJlZ2lvbikpKSkNCi07 Ozs7OyBvdGhlciBjdXN0b20gZmFjZXMNCi0gICBgKG1vZHVzLXRoZW1lLWhsLWxpbmUgKCgsY2xh c3MgOmJhY2tncm91bmQgLChpZiBtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWhs LWxpbmUtaW50ZW5zZSBiZy1obC1saW5lKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQot Ozs7OyBzdGFuZGFyZCBmYWNlcw0KLTs7Ozs7IGFic29sdXRlIGVzc2VudGlhbHMNCi0gICBgKGRl ZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo ZnJpbmdlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlIGJnLWluYWN0aXZl IGJnLWFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAodmVydGljYWwtYm9yZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ct ZGl2aWRlci1pbm5lcikpKQ0KLTs7Ozs7IGJhc2ljIGFuZC9vciB1bmdyb3VwZWQgc3R5bGVzDQot ICAgOzsgTW9kaWZ5IHRoZSBgYm9sZCcgZmFjZSB0byBjaGFuZ2UgdGhlIHdlaWdodCBvZiBhbGwg ImJvbGQiIGVsZW1lbnRzDQotICAgOzsgZGVmaW5lZCBieSB0aGUgdGhlbWUuICBZb3UgbmVlZCBh IHR5cGVmYWNlIHRoYXQgc3VwcG9ydHMgYQ0KLSAgIDs7IG11bHRpdHVkZSBvZiBoZWF2aWVyIHdl aWdodHMgdGhhbiB0aGUgcmVndWxhciBvbmUgYW5kIHRoZW4geW91DQotICAgOzsgbXVzdCBzcGVj aWZ5IHRoZSBleGFjdCBuYW1lIG9mIHRoZSBvbmUgeW91IHdpc2ggdG8gYXBwbHkuICBFeGFtcGxl DQotICAgOzsgZm9yIHlvdXIgaW5pdC5lbDoNCi0gICA7Ow0KLSAgIDs7IChzZXQtZmFjZS1hdHRy aWJ1dGUgJ2JvbGQgbmlsIDp3ZWlnaHQgJ3NlbWlib2xkKQ0KLSAgIGAoYm9sZCAoKCxjbGFzcyA6 d2VpZ2h0IGJvbGQpKSkNCi0gICBgKGNvbWludC1oaWdobGlnaHQtaW5wdXQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCkpKQ0KLSAgIGAoY29taW50LWhpZ2hsaWdodC1wcm9tcHQgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtcHJvbXB0DQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBibHVlLW51YW5jZWQtYmcgYmx1ZS1hbHQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGZnLW1haW4p KSkpDQotICAgYChlcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQp KSkNCi0gICBgKGVzY2FwZS1nbHlwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNo YXItY29uc3RydWN0KSkpDQotICAgYChmaWxlLW5hbWUtc2hhZG93ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKGhlYWRlci1saW5lICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KLSAgIGAoaGVhZGVyLWxp bmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkp DQotICAgYChoZWxwLWFyZ3VtZW50LW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4gOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaG9tb2dseXBoICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKGlidWZmZXItbG9ja2Vk LWJ1ZmZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAo aXRhbGljICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG5vYnJlYWstaHlwaGVuICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKG5v YnJlYWstc3BhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVj dCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG1pbmlidWZmZXItcHJvbXB0ICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtcHJvbXB0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjeWFuLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhbi1udWFuY2VkLWJnIGN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN5YW4tcmVmaW5lLWJnIGZnLW1haW4pKSkpDQotICAgYChtbS1jb21tYW5kLW91dHB1dCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAobW0tdXUtZXh0cmFjdCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQp KSkNCi0gICBgKG5leHQtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LXJlZCkpKQ0KLSAgIGAocmVjdGFuZ2xlLXByZXZpZXcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYChyZWdpb24gKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLXJlZ2lvbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc2Vjb25kYXJ5LXNlbGVj dGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KHNoYWRvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChzdWNjZXNzICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYCh0cmFpbGlu Zy13aGl0ZXNwYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtaW50ZW5zZS1iZykpKQ0KLSAg IGAod2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci07Ozs7OyBidXR0b25zLCBsaW5rcywgd2lkZ2V0cw0KLSAgIGAoYnV0dG9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICxAKHVubGVz cyBtb2R1cy12aXZlbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lDQotICAgICAgICAgICAgICAg ICAgICAgICAgIChsaXN0IDp1bmRlcmxpbmUgdCkpKSkpDQotICAgYChsaW5rICgoLGNsYXNzIDpp bmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAobGluay12aXNpdGVkICgoLGNsYXNzIDppbmhlcml0IGxp bmsgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYCh0b29sdGlwICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKHdpZGdldC1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYCh3 aWRnZXQtYnV0dG9uLXByZXNzZWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYCh3aWRnZXQtZG9jdW1lbnRhdGlvbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4pKSkNCi0gICBgKHdpZGdldC1maWVsZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctYWx0IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKHdpZGdldC1pbmFjdGl2ZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkp DQotICAgYCh3aWRnZXQtc2luZ2xlLWxpbmUtZmllbGQgKCgsY2xhc3MgOmluaGVyaXQgd2lkZ2V0 LWZpZWxkKSkpDQotOzs7OzsgYWcNCi0gICBgKGFnLWhpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGFnLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotOzs7OzsgYWxlcnQNCi0gICBgKGFs ZXJ0LWhpZ2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0 KSkpDQotICAgYChhbGVydC1sb3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQotICAgYChhbGVydC1tb2RlcmF0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYWxlcnQtdHJpdmlhbC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGFsZXJ0LXVyZ2VudC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQot Ozs7OzsgYWxsLXRoZS1pY29ucw0KLSAgIGAoYWxsLXRoZS1pY29ucy1ibHVlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChhbGwtdGhlLWljb25zLWJsdWUtYWx0ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1jeWFuICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChhbGwtdGhlLWljb25zLWN5YW4tYWx0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kYmx1 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtZGN5YW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChhbGwtdGhlLWljb25zLWRncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90 aGVyKSkpDQotICAgYChhbGwtdGhlLWljb25zLWRpcmVkLWRpci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChhbGwtdGhlLWljb25zLWRtYXJvb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhlLWljb25zLWRvcmFu Z2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtZHBpbmsgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFsbC10 aGUtaWNvbnMtZHB1cnBsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0g ICBgKGFsbC10aGUtaWNvbnMtZHJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAg YChhbGwtdGhlLWljb25zLWRzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1keWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZ3JlZW4gKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxibHVlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sY3lhbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbGdy ZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10 aGUtaWNvbnMtbG1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcp KSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbG9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1scGluayAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHB1cnBsZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtbHJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KLSAgIGAo YWxsLXRoZS1pY29ucy1sc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1tYXJvb24gKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtb3JhbmdlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLXBpbmsgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtcHVycGxl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29u cy1wdXJwbGUtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoYWxsLXRoZS1pY29ucy1yZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoYWxsLXRoZS1pY29ucy1yZWQtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQotICAgYChhbGwtdGhlLWljb25zLXNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChhbGwtdGhlLWljb25zLXllbGxvdyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotOzs7OzsgYW5ub3RhdGUNCi0gICBgKGFubm90YXRlLWFubm90YXRp b24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGFu bm90YXRlLWFubm90YXRpb24tc2Vjb25kYXJ5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoYW5ub3RhdGUtaGlnaGxpZ2h0ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxibHVlLW51YW5jZWQtYmcgOnVuZGVybGluZSAsYmx1ZS1pbnRlbnNlKSkpDQotICAg YChhbm5vdGF0ZS1oaWdobGlnaHQtc2Vjb25kYXJ5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVl bi1udWFuY2VkLWJnIDp1bmRlcmxpbmUgLGdyZWVuLWludGVuc2UpKSkNCi07Ozs7OyBhbnp1DQot ICAgYChhbnp1LW1hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5 YW4pKSkNCi0gICBgKGFuenUtbWF0Y2gtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGFuenUtbWF0Y2gtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUteWVsbG93KSkpDQotICAgYChhbnp1LW1vZGUtbGluZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGFuenUtbW9k ZS1saW5lLW5vLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h Y3RpdmUpKSkNCi0gICBgKGFuenUtcmVwbGFjZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGFuenUtcmVw bGFjZS10byAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xk KSkpKQ0KLTs7Ozs7IGFwcm9wb3MNCi0gICBgKGFwcm9wb3MtZnVuY3Rpb24tYnV0dG9uICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKGFwcm9wb3Mta2V5YmluZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChhcHJvcG9zLW1pc2MtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFwcm9wb3MtcHJvcGVy dHkgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChhcHJvcG9zLXN5bWJvbCAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIp KSkNCi0gICBgKGFwcm9wb3MtdXNlci1vcHRpb24tYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChhcHJvcG9zLXZhcmlh YmxlLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGJsdWUpKSkN Ci07Ozs7OyBhcHQtc291cmNlcy1saXN0DQotICAgYChhcHQtc291cmNlcy1saXN0LWNvbXBvbmVu dHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3Qt b3B0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChhcHQtc291cmNl cy1saXN0LXN1aXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoYXB0LXNv dXJjZXMtbGlzdC10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChh cHQtc291cmNlcy1saXN0LXVyaSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7Ozs7 IGFydGJvbGxvY2tzLW1vZGUNCi0gICBgKGFydGJvbGxvY2tzLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLW5vdGUpKSkNCi0gICBgKGFy dGJvbGxvY2tzLWxleGljYWwtaWxsdXNpb25zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAscmVkLWFsdCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGFydGJvbGxv Y2tzLXBhc3NpdmUtdm9pY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5j ZWQgOnVuZGVybGluZSAsZmctbGFuZy13YXJuaW5nKSkpDQotICAgYChhcnRib2xsb2Nrcy13ZWFz ZWwtd29yZHMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQgOnVuZGVybGlu ZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IGF1Y3RleCBhbmQgVGV4DQotICAgYChmb250LWxh dGV4LWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNhbG0pKSkNCi0gICBgKGZvbnQtbGF0ZXgtZG9jdGV4LWRvY3VtZW50YXRpb24tZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtZG9jdGV4LXByZXByb2Nlc3Nvci1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQt YWx0LW90aGVyKSkpDQotICAgYChmb250LWxhdGV4LWl0YWxpYy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZm9udC1sYXRl eC1tYXRoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChmb250LWxhdGV4LXNjcmlwdC1jaGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMC1mYWNlICgoLGNsYXNz IDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJs dWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5k ICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0zLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdy b3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctNC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZv cmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWRhdGUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2xpZGUtdGl0bGUtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3Jv dW5kICxjeWFuLW51YW5jZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUtNCkpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChmb250LWxhdGV4LXN1YnNjcmlwdC1mYWNlICgoLGNsYXNz IDpoZWlnaHQgMC45NSkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdXBlcnNjcmlwdC1mYWNlICgoLGNs YXNzIDpoZWlnaHQgMC45NSkpKQ0KLSAgIGAoZm9udC1sYXRleC12ZXJiYXRpbS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0K LSAgIGAoZm9udC1sYXRleC13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQtb3RoZXIpKSkNCi0gICBgKHRleC1tYXRjaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHRleC12ZXJiYXRpbSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHRleGluZm8taGVh ZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRl c2NyaXB0aW9uLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLWhlbHAgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUpKSkNCi0gICBgKFRlWC1lcnJvci1kZXNjcmlwdGlvbi10ZXgtc2FpZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXdhcm5pbmcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgYXV0 by1kaW0tb3RoZXItYnVmZmVycw0KLSAgIGAoYXV0by1kaW0tb3RoZXItYnVmZmVycy1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi07Ozs7OyBhdnkNCi0gICBgKGF2eS1iYWNr Z3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQotICAgYChhdnktZ290by1jaGFyLXRpbWVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg KG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93IGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgYm9sZCkpKSkN Ci0gICBgKGF2eS1sZWFkLWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS1ibHVlIGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNlLTEgKCgsY2xhc3MgOmluaGVy aXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNl LTIgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkN Ci07Ozs7OyBhdyAoYWNlLXdpbmRvdykNCi0gICBgKGF3LWJhY2tncm91bmQtZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGF3LWtl eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkp KQ0KLSAgIGAoYXctbGVhZGluZy1jaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVp Z2h0IDEuNSA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkN Ci0gICBgKGF3LW1pbmlidWZmZXItbGVhZGluZy1jaGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChhdy1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQotOzs7OzsgYXdlc29tZS10cmF5DQotICAgYChhd2Vzb21lLXRyYXkt bW9kdWxlLWF3ZXNvbWUtdGFiLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1iYXR0ZXJ5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYnVmZmVyLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChhd2Vzb21l LXRyYXktbW9kdWxlLWNpcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtZGF0ZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoYXdlc29tZS10 cmF5LW1vZHVsZS1ldmlsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0KSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWdpdC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGF3ZXNvbWUtdHJh eS1tb2R1bGUtbGFzdC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtbG9jYXRp b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0g ICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtbW9kZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtcGFy ZW50LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkN Ci0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtcnZtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBiaW5kZXINCi0gICBg KGJpbmRlci1zaWRlYmFyLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtY3lhbikpKQ0KLSAgIGAoYmluZGVyLXNpZGViYXItbWFya2VkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChiaW5kZXItc2lkZWJhci1taXNzaW5n ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGJpbmRl ci1zaWRlYmFyLXRhZ3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBibQ0K LSAgIGAoYm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93 DQotICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAy NykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAoYm0tZnJpbmdlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoYm0tZnJpbmdlLXBlcnNpc3Rl bnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtYmx1ZSkpKQ0KLSAg IGAoYm0tcGVyc2lzdGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1h Y3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLTs7Ozs7IGJvbmdvDQotICAg YChib25nby1hbGJ1bS10aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN Ci0gICBgKGJvbmdvLWFydGlzdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUp KSkNCi0gICBgKGJvbmdvLWN1cnJlbnRseS1wbGF5aW5nLXRyYWNrICgoLGNsYXNzIDppbmhlcml0 IGJvbGQpKSkNCi0gICBgKGJvbmdvLWVsYXBzZWQtdHJhY2stcGFydCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGJvbmdv LWZpbGxlZC1zZWVrLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGJvbmdvLW1hcmtlZC10cmFjayAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFyay1hbHQpKSkNCi0gICBgKGJvbmdvLW1hcmtlZC10cmFjay1saW5l ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYXJrLWFsdCkpKQ0KLSAgIGAoYm9uZ28tcGxheWVk LXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQgOnN0cmlrZS10aHJvdWdo IHQpKSkNCi0gICBgKGJvbmdvLXRyYWNrLWxlbmd0aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGJvbmdvLXRyYWNrLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoYm9uZ28tdW5maWxsZWQtc2Vlay1iYXIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LTs7Ozs7IGJvb24NCi0gICBgKGJvb24tbW9kZWxpbmUtY21kICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChib29uLW1vZGVsaW5lLWlucyAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAgYChib29uLW1vZGVsaW5l LW9mZiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93KSkpDQotICAg YChib29uLW1vZGVsaW5lLXNwYyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUt Z3JlZW4pKSkNCi07Ozs7OyBicmVha3BvaW50IChidWlsdC1pbiBnZGItbWkuZWwpDQotICAgYChi cmVha3BvaW50LWRpc2FibGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KGJyZWFrcG9pbnQtZW5hYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi07Ozs7OyBidWZmZXItZXhwb3NlDQotICAgYChidWZmZXItZXhwb3NlLWFjZS1jaGFy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0K LSAgIGAoYnVmZmVyLWV4cG9zZS1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hY3RpdmUpKSkNCi0gICBgKGJ1ZmZlci1leHBvc2Utc2VsZWN0ZWQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBjYWxlbmRhciBh bmQgZGlhcnkNCi0gICBgKGNhbGVuZGFyLW1vbnRoLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjYWxlbmRhci10b2RheSAoKCxjbGFz cyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNhbGVuZGFyLXdlZWtkYXktaGVhZGVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNhbGVuZGFyLXdlZWtlbmQtaGVhZGVyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpYXJ5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlhcnktYW5uaXZlcnNhcnkgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGRpYXJ5LXRpbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChob2xpZGF5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IGNhbGZ3DQotICAgYChjZnc6ZmFjZS1hbm5v dGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGNm dzpmYWNlLWRheS10aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo Y2Z3OmZhY2UtZGVmYXVsdC1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQp KSkNCi0gICBgKGNmdzpmYWNlLWRlZmF1bHQtZGF5ICgoLGNsYXNzIDppbmhlcml0IChjZnc6ZmFj ZS1kYXktdGl0bGUgYm9sZCkpKSkNCi0gICBgKGNmdzpmYWNlLWRpc2FibGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoY2Z3OmZhY2UtZ3JpZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCi0gICBgKGNmdzpmYWNlLWhl YWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChjZnc6ZmFjZS1ob2xpZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoY2Z3OmZhY2UtcGVyaW9kcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXNhdHVyZGF5ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS1zZWxlY3Qg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjZnc6 ZmFjZS1zdW5kYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXRpdGxlICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10 aGVtZS12YXJpYWJsZS1waXRjaA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTUpKSkp DQotICAgYChjZnc6ZmFjZS10b2RheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUp KSkNCi0gICBgKGNmdzpmYWNlLXRvZGF5LXRpdGxlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h Y3RpdmUpKSkNCi0gICBgKGNmdzpmYWNlLXRvb2xiYXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQotICAgYChjZnc6ZmFjZS10b29sYmFyLWJ1dHRv bi1vZmYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9v bGJhci1idXR0b24tb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmx1ZS1u dWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBjZW50YXVyLXRhYnMNCi0gICBgKGNlbnRhdXIt dGFicy1hY3RpdmUtYmFyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLXRhYi1hY3RpdmUp KSkNCi0gICBgKGNlbnRhdXItdGFicy1jbG9zZS1tb3VzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUgOnVuZGVybGluZSB0KSkpDQotICAgYChjZW50 YXVyLXRhYnMtY2xvc2Utc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXNl bGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRhYnMtY2xvc2UtdW5zZWxlY3RlZCAoKCxjbGFzcyA6 aW5oZXJpdCBjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLW1v ZGlmaWVkLW1hcmtlci1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtc2Vs ZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1tb2RpZmllZC1tYXJrZXItdW5zZWxlY3RlZCAo KCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCkpKQ0KLSAgIGAoY2VudGF1 ci10YWJzLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQg LGJnLW1haW4pKSkNCi0gICBgKGNlbnRhdXItdGFicy1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChjZW50YXVyLXRhYnMtc2VsZWN0ZWQtbW9kaWZpZWQgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4gOnNsYW50IGl0YWxpYykpKQ0K LSAgIGAoY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXRh Yi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChjZW50YXVyLXRhYnMtdW5z ZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFiLWluYWN0aXZlIDpm b3JlZ3JvdW5kICxmZy1kaW0gOnNsYW50IGl0YWxpYykpKQ0KLTs7Ozs7IGNoYW5nZS1sb2cgYW5k IGxvZy12aWV3IChgdmMtcHJpbnQtbG9nJyBhbmQgYHZjLXByaW50LXJvb3QtbG9nJykNCi0gICBg KGNoYW5nZS1sb2ctYWNrbm93bGVkZ21lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAoY2hhbmdlLWxvZy1jb25kaXRpb25hbHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChjaGFuZ2UtbG9nLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLWVtYWlsICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQotICAgYChjaGFuZ2UtbG9nLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKGNoYW5nZS1sb2ctZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2hhbmdlLWxvZy1saXN0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2hhbmdlLWxvZy1uYW1lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChsb2ctZWRpdC1oZWFkZXIgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobG9nLWVkaXQtc3VtbWFy eSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChsb2ct ZWRpdC11bmtub3duLWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChsb2ctdmlldy1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAobG9nLXZpZXctbWVzc2FnZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotOzs7OzsgY2lkZXINCi0gICBgKGNpZGVyLWRlYnVnLWNvZGUtb3Zlcmxh eS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGNpZGVyLWRlYnVn LXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKGNpZGVyLWRlcHJlY2F0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChjaWRlci1kb2N2aWV3LWVtcGhhc2lzLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkp DQotICAgYChjaWRlci1kb2N2aWV3LWxpdGVyYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctc3Ryb25nLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChjaWRlci1k b2N2aWV3LXRhYmxlLWJvcmRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGNpZGVyLWVubGlnaHRlbmVkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGgg LTEgOmNvbG9yICx5ZWxsb3ctYWx0IDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkN Ci0gICBgKGNpZGVyLWVubGlnaHRlbmVkLWxvY2FsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoY2lkZXItZXJyb3ItaGln aGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGNpZGVyLWZyYWdpbGUtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGgg MyA6Y29sb3IgLGZnLWFsdCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQotICAgYChjaWRlci1mcmluZ2UtZ29vZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGNpZGVyLWluc3RydW1lbnRlZC1mYWNlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAscmVkIDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5k ICxiZy1kaW0pKSkNCi0gICBgKGNpZGVyLXJlYWRlci1jb25kaXRpb25hbC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoY2lk ZXItcmVwbC1pbnB1dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGNpZGVy LXJlcGwtcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYChjaWRlci1yZXBsLXN0ZGVyci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY2lkZXItcmVwbC1zdGRvdXQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY2lkZXItcmVzdWx0LW92ZXJsYXktZmFjZSAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUgOnN0eWxlIG5pbCkgOmJhY2tn cm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1lcnJvci1jbGFzcy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY2lkZXIt c3RhY2t0cmFjZS1lcnJvci1tZXNzYWdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZp bHRlci1hY3RpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnVuZGVybGlu ZSB0KSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZpbHRlci1pbmFjdGl2ZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1mbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGNpZGVyLXN0YWNrdHJhY2UtbnMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpz bGFudCBpdGFsaWMpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtcHJvbW90ZWQtYnV0dG9uLWZh Y2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLWFsdCA6c3R5bGUgcmVs ZWFzZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNl LXN1cHByZXNzZWQtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29s b3IgLGZnLWFsdCA6c3R5bGUgcHJlc3NlZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjaWRlci10ZXN0LWVycm9yLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAoY2lkZXItdGVzdC1mYWls dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQp KSkpDQotICAgYChjaWRlci10ZXN0LXN1Y2Nlc3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChjaWRlci10cmFjZWQtZmFjZSAoKCxjbGFz cyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGN5YW4gOnN0eWxlIG5pbCkgOmJhY2tncm91 bmQgLGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItd2FybmluZy1oaWdobGlnaHQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGNpcmNlIChhbmQg bHVpKQ0KLSAgIGAoY2lyY2UtZm9vbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGNpcmNlLWhpZ2hsaWdodC1uaWNrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY2lyY2UtcHJvbXB0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNpcmNl LXNlcnZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBg KGx1aS1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGJs dWUpKSkNCi0gICBgKGx1aS1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKGx1aS10aW1lLXN0YW1wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLTs7Ozs7IGNvbG9yLXJnDQotICAgYChjb2xvci1yZy1mb250 LWxvY2stY29sdW1uLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1jb21tYW5kICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1m aWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZsYXNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZ1bmN0aW9u LWxvY2F0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0K LSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5lLWRpcmVjdG9yeSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFk ZXItbGluZS1lZGl0LW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkp DQotICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUta2V5d29yZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2staGVh ZGVyLWxpbmUtdGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChj b2xvci1yZy1mb250LWxvY2stbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLW1hcmstY2hhbmdlZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjb2xvci1yZy1m b250LWxvY2stbWFyay1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLW1hdGNoICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLXBv c2l0aW9uLXNwbGl0dGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBj b2x1bW4tZW5mb3JjZS1tb2RlDQotICAgYChjb2x1bW4tZW5mb3JjZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi07Ozs7OyBjb21wYW55LW1vZGUN Ci0gICBgKGNvbXBhbnktZWNoby1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChjb21wYW55LXByZXZpZXcgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChjb21wYW55LXByZXZpZXctY29t bW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY29tcGFueS1wcmV2 aWV3LXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkN Ci0gICBgKGNvbXBhbnktc2Nyb2xsYmFyLWJnICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3Rp dmUpKSkNCi0gICBgKGNvbXBhbnktc2Nyb2xsYmFyLWZnICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxm Zy1hY3RpdmUpKSkNCi0gICBgKGNvbXBhbnktdGVtcGxhdGUtZmllbGQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChjb21wYW55LXRvb2x0aXAtYW5ub3RhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGNvbXBhbnktdG9v bHRpcC1hbm5vdGF0aW9uLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtY29tbW9uICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjb21wYW55LXRvb2x0 aXAtY29tbW9uLXNlbGVjdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoY29tcGFueS10b29sdGlwLW1vdXNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtYmx1ZSkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLXNlYXJjaCAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gYm9sZCkpKSkNCi0gICBgKGNvbXBhbnktdG9v bHRpcC1zZWFyY2gtc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLWdyZWVuIGJvbGQpIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLXNl bGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3VidGxlLWN5YW4gYm9sZCkp KSkNCi07Ozs7OyBjb21wYW55LXBvc2ZyYW1lDQotICAgYChjb21wYW55LXBvc2ZyYW1lLWFjdGl2 ZS1iYWNrZW5kLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS1wb3NmcmFtZS1p bmFjdGl2ZS1iYWNrZW5kLW5hbWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9y ZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChjb21wYW55LXBvc2ZyYW1lLW1ldGFkYXRhICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUp KSkNCi07Ozs7OyBjb21waWxhdGlvbiBmZWVkYmFjaw0KLSAgIGAoY29tcGlsYXRpb24tY29sdW1u LW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KGNvbXBpbGF0aW9uLWVycm9yICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13 ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNvbXBpbGF0aW9uLWluZm8gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoY29tcGlsYXRpb24tbGlu ZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo Y29tcGlsYXRpb24tbW9kZS1saW5lLWV4aXQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChjb21waWxh dGlvbi1tb2RlLWxpbmUtZmFpbCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQt d2VpZ2h0KSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGlsYXRpb24tbW9k ZS1saW5lLXJ1biAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGNvbXBpbGF0aW9uLXdhcm5pbmcg KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KLTs7Ozs7IGNvbXBsZXRpb25zDQotICAgYChjb21wbGV0aW9ucy1hbm5vdGF0 aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKGNvbXBsZXRpb25zLWNvbW1vbi1wYXJ0ICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUtbnVhbmNlZC1iZw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lh bi1yZWZpbmUtZmcpKSkpDQotICAgYChjb21wbGV0aW9ucy1maXJzdC1kaWZmZXJlbmNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBibHVl LW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1pbnRlbnNlLWJnIGZnLW1haW4pKSkpDQotOzs7OzsgY291bnNlbA0KLSAgIGAo Y291bnNlbC1hY3RpdmUtbW9kZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGNvdW5zZWwtYXBwbGljYXRpb24tbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoY291bnNlbC1rZXktYmluZGluZyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoY291bnNl bC1vdXRsaW5lLTEgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS0xKSkpDQotICAgYChjb3Vuc2Vs LW91dGxpbmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTIpKSkNCi0gICBgKGNvdW5zZWwt b3V0bGluZS0zICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtMykpKQ0KLSAgIGAoY291bnNlbC1v dXRsaW5lLTQgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS00KSkpDQotICAgYChjb3Vuc2VsLW91 dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTUpKSkNCi0gICBgKGNvdW5zZWwtb3V0 bGluZS02ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNikpKQ0KLSAgIGAoY291bnNlbC1vdXRs aW5lLTcgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS03KSkpDQotICAgYChjb3Vuc2VsLW91dGxp bmUtOCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTgpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGlu ZS1kZWZhdWx0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1v dGhlcikpKQ0KLSAgIGAoY291bnNlbC12YXJpYWJsZS1kb2N1bWVudGF0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci07Ozs7OyBjb3Vuc2VsLWNzcw0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFj ZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjb3Vuc2VsLWNzcy1zZWxl Y3Rvci1kZXB0aC1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGNv dW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1m YWNlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGNvdW5zZWwtY3Nz LXNlbGVjdG9yLWRlcHRoLWZhY2UtNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotOzs7 OzsgY291bnNlbC1ub3RtdWNoDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtY291bnQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY291bnNlbC1ub3RtdWNoLWRhdGUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY291bnNlbC1ub3RtdWNoLXBl b3BsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChjb3Vuc2Vs LW5vdG11Y2gtc3ViamVjdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLTs7Ozs7IGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nDQotICAgYChjb3Vuc2Vs LW9yZy1jYXB0dXJlLXN0cmluZy10ZW1wbGF0ZS1ib2R5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLTs7Ozs7IGNvdg0KLSAgIGAoY292LWNvdmVyYWdlLW5v dC1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBgKGNv di1jb3ZlcmFnZS1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkp KQ0KLSAgIGAoY292LWhlYXZ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtaW50 ZW5zZSkpKQ0KLSAgIGAoY292LWxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt aW50ZW5zZSkpKQ0KLSAgIGAoY292LW1lZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctaW50ZW5zZSkpKQ0KLSAgIGAoY292LW5vbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1pbnRlbnNlKSkpDQotOzs7OzsgY3BlcmwtbW9kZQ0KLSAgIGAoY3Blcmwtbm9ub3ZlcnJp ZGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAg IGAoY3BlcmwtYXJyYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChjcGVybC1oYXNoLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxy ZWQtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBjc3YtbW9kZQ0KLSAg IGAoY3N2LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNv bGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBjdHJsZg0KLSAgIGAoY3RybGYtaGln aGxpZ2h0LWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl biBib2xkKSkpKQ0KLSAgIGAoY3RybGYtaGlnaGxpZ2h0LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAoY3RybGYtaGlnaGxpZ2h0LXBhc3NpdmUgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07Ozs7OyBjdXN0b20g KE0teCBjdXN0b21pemUpDQotICAgYChjdXN0b20tYnV0dG9uICgoLGNsYXNzIDpib3ggKDpsaW5l LXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChjdXN0b20tYnV0dG9uLW1vdXNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdp ZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1hY3RpdmUpKSkNCi0gICBgKGN1c3RvbS1idXR0b24tcHJlc3NlZCAoKCxjbGFzcyA6Ym94ICg6 bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHByZXNzZWQtYnV0dG9uKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGN1c3RvbS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChjdXN0b20tY29tbWVudCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjdXN0b20tY29tbWVudC10YWcgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAoY3VzdG9tLWZhY2UtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAoY3VzdG9tLWdyb3VwLXRhZyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChjdXN0b20tZ3JvdXAt dGFnLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQotICAg YChjdXN0b20taW52YWxpZCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1y ZWQgYm9sZCkpKSkNCi0gICBgKGN1c3RvbS1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoY3VzdG9tLXJvZ3VlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChjdXN0b20tc2V0ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY3VzdG9tLXN0YXRlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY3VzdG9tLXRoZW1lZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoY3VzdG9tLXZh cmlhYmxlLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot Ozs7OzsgZGFwLW1vZGUNCi0gICBgKGRhcC1tb3VzZS1ldmFsLXRoaW5nLWZhY2UgKCgsY2xhc3Mg OmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlLWFjdGl2ZSA6c3R5bGUgbmlsKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkYXAtcmVzdWx0LW92ZXJsYXktZmFj ZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJnLWFjdGl2ZSA6c3R5bGUg bmlsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQg LGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGFwLXVpLWJyZWFrcG9p bnQtdmVyaWZpZWQtZnJpbmdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdy ZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZGFwLXVpLWNvbXBpbGUtZXJybGluZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoZGFwLXVpLWxvY2Fs cy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEg OnVuZGVybGluZSB0KSkpDQotICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZGFwLXVpLWxvY2Fs cy12YXJpYWJsZS1sZWFmLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGRhcC11aS1tYXJrZXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoZGFwLXVpLXNlc3Npb25zLXN0 YWNrLWZyYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGRhcC11aS1zZXNzaW9ucy10ZXJtaW5hdGVkLWFjdGl2ZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGFwLXVp LXNlc3Npb25zLXRlcm1pbmF0ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotOzs7OzsgZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQotICAgYChkYXNoYm9hcmQtYmFu bmVyLWxvZ28tdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChkYXNoYm9hcmQtZm9vdGVyICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoZGFzaGJvYXJkLWhlYWRp bmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQotICAgYChkYXNoYm9hcmQtbmF2aWdhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAoZGFzaGJvYXJkLXRleHQtYmFubmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkNCi07Ozs7OyBkZWFkZ3JlcA0KLSAgIGAoZGVhZGdyZXAtZmlsZW5hbWUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKGRlYWRncmVwLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChkZWFkZ3JlcC1tZXRhLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGVhZGdyZXAtcmVnZXhwLW1ldGFjaGFyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCi0g ICBgKGRlYWRncmVwLXNlYXJjaC10ZXJtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLTs7Ozs7IGRlYmJ1Z3MNCi0gICBgKGRlYmJ1Z3Mt Z251LWFyY2hpdmVkICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKGRlYmJ1Z3Mt Z251LWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGViYnVncy1n bnUtZm9yd2FyZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0g ICBgKGRlYmJ1Z3MtZ251LWhhbmRsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQot ICAgYChkZWJidWdzLWdudS1uZXcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo ZGViYnVncy1nbnUtcGVuZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo ZGViYnVncy1nbnUtc3RhbGUtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQp KSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFsdCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtNCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtNSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtdGFnZ2VkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IGRlZmluZS13b3JkDQotICAg YChkZWZpbmUtd29yZC1mYWNlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAoZGVmaW5lLXdvcmQtZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot Ozs7OzsgZGVmdA0KLSAgIGAoZGVmdC1maWx0ZXItc3RyaW5nLWVycm9yLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAoZGVmdC1maWx0ZXItc3Ry aW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKGRl ZnQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChkZWZ0LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKGRlZnQtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZGVmdC10aW1l LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGVm dC10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi07Ozs7OyBkaWN0aW9uYXJ5DQotICAgYChkaWN0aW9uYXJ5LWJ1dHRvbi1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAo ZGljdGlvbmFyeS1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChkaWN0aW9uYXJ5LXdvcmQtZGVmaW5pdGlv bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkaWN0aW9uYXJ5 LXdvcmQtZW50cnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBkaWZmLWhsDQotICAgYChkaWZmLWhs LWNoYW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQot ICAgYChkaWZmLWhsLWRlbGV0ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2Ut cmVkKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWNoYW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBkaWZm LWhsLWNoYW5nZSkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1kZWxldGUgKCgsY2xhc3MgOmluaGVy aXQgZGlmZi1obC1kZWxldGUpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtaWdub3JlZCAoKCxjbGFz cyA6aW5oZXJpdCBkaXJlZC1pZ25vcmVkKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWluc2VydCAo KCxjbGFzcyA6aW5oZXJpdCBkaWZmLWhsLWluc2VydCkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC11 bmtub3duICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWlnbm9yZWQpKSkNCi0gICBgKGRpZmYtaGwt aW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAg IGAoZGlmZi1obC1yZXZlcnRlZC1odW5rLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCAobW9k dXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEgYm9sZCkpKSkNCi07Ozs7OyBkaWZmLW1vZGUNCi0gICBg KGRpZmYtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0K LSAgIGAoZGlmZi1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hh bmdlZCkpKQ0KLSAgIGAoZGlmZi1jb250ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZv Y3VzZWQpKSkNCi0gICBgKGRpZmYtZmlsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZGlmZi1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkaWZmLWhlYWRlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChkaWZmLWh1bmstaGVhZGVyICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZykpKQ0KLSAgIGAoZGlmZi1pbmRleCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZGlm Zi1pbmRpY2F0b3ItYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1hZGRlZCkpKQ0KLSAgIGAo ZGlmZi1pbmRpY2F0b3ItY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWNoYW5nZWQpKSkN Ci0gICBgKGRpZmYtaW5kaWNhdG9yLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1yZW1v dmVkKSkpDQotICAgYChkaWZmLW5vbmV4aXN0ZW50ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10 aGVtZS1uZXV0cmFsIGJvbGQpKSkpDQotICAgYChkaWZmLXJlZmluZS1hZGRlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KLSAgIGAoZGlmZi1yZWZp bmUtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFu Z2VkKSkpDQotICAgYChkaWZmLXJlZmluZS1yZW1vdmVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQpKSkNCi0gICBgKGRpZmYtcmVtb3ZlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCi07Ozs7OyBkaW0tYXV0b2xv YWQNCi0gICBgKGRpbS1hdXRvbG9hZC1jb29raWUtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBkaXItdHJlZXZpZXcN Ci0gICBgKGRpci10cmVldmlldy1hcmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWFyY2hpdmUtaWNvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotICAgYChkaXItdHJlZXZpZXctYXVkaW8tZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWF1ZGlvLWljb24tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctY29udHJvbC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1jb250cm9sLW1v dXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaGlnaGxpZ2h0KSkpDQotICAgYChkaXItdHJlZXZp ZXctZGVmYXVsdC1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6ZmFtaWx5ICJGb250 IEF3ZXNvbWUiIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1kZWZh dWx0LWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGRpci10cmVldmlldy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWV4ZWN1dGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWV4ZWN1dGFibGUtaWNvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWltYWdlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWlt YWdlLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29u LWZhY2UgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWluZGVu dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpci10cmVldmll dy1sYWJlbC1tb3VzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGhpZ2hsaWdodCkpKQ0KLSAgIGAo ZGlyLXRyZWV2aWV3LXN0YXJ0LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXBzZXVkby1oZWFkZXIpKSkNCi0gICBgKGRpci10cmVldmlldy1zeW1saW5rLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkaXItdHJlZXZp ZXctdmlkZW8tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKGRpci10cmVldmlldy12aWRlby1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGly LXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLTs7Ozs7IGRpcmVkDQotICAgYChkaXJlZC1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGRpcmVkLWZsYWdnZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtbWFyay1kZWwpKSkNCi0gICBgKGRpcmVkLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQotICAgYChkaXJlZC1pZ25vcmVkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpcmVkLW1hcmsgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpKSkNCi0gICBgKGRpcmVkLW1hcmtlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAoZGlyZWQtcGVybS13 cml0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChkaXJl ZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQp KSkNCi0gICBgKGRpcmVkLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotOzs7OzsgZGlyZWQtYXN5bmMNCi0gICBgKGRpcmVkLWFzeW5jLWZhaWx1 cmVzICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkaXJlZC1hc3luYy1tZXNzYWdlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxncmVlbi1hY3Rp dmUpKSkNCi0gICBgKGRpcmVkLWFzeW5jLW1vZGUtbWVzc2FnZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi07 Ozs7OyBkaXJlZC1naXQNCi0gICBgKGRpcmVkLWdpdC1icmFuY2gtZWxzZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZGlyZWQtZ2l0LWJy YW5jaC1tYXN0ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi07Ozs7OyBkaXJlZC1naXQtaW5mbw0KLSAgIGAoZGdpLWNvbW1pdC1tZXNz YWdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7 IGRpcmVkLW5hcnJvdw0KLSAgIGAoZGlyZWQtbmFycm93LWJsaW5rICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkpKQ0KLTs7Ozs7IGRpcmVkLXN1YnRyZWUN Ci0gICA7OyByZW1vdmUgYmFja2dyb3VuZCBmcm9tIGRpcmVkLXN1YnRyZWUsIGVsc2UgaXQgYnJl YWtzDQotICAgOzsgZGlyZWQte2ZsYWdnZWQsbWFya2VkfSBhbmQgYW55IG90aGVyIGZhY2UgdGhh dCBzZXRzIGEgYmFja2dyb3VuZA0KLSAgIDs7IHN1Y2ggYXMgaGwtbGluZQ0KLSAgIGAoZGlyZWQt c3VidHJlZS1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgbmlsKSkpDQotICAgYChk aXJlZC1zdWJ0cmVlLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi0g ICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkp KQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg bmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTUtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kIG5pbCkpKQ0KLTs7Ozs7IGRpcmVkZmwNCi0gICBgKGRpcmVkZmwtYXV0b2ZpbGUt bmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KGRpcmVkZmwtY29tcHJlc3NlZC1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtc3VmZml4ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkaXJlZGZsLWRhdGUtdGltZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGRpcmVkZmwtZGVsZXRp b24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1kZWwpKSkNCi0gICBgKGRpcmVk ZmwtZGVsZXRpb24tZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmst ZGVsKSkpDQotICAgYChkaXJlZGZsLWRpci1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCi0gICBgKGRpcmVkZmwtZGlyLW5hbWUgKCgsY2xhc3Mg OmluaGVyaXQgZGlyZWQtZGlyZWN0b3J5KSkpDQotICAgYChkaXJlZGZsLWRpci1wcml2ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1leGVjLXByaXYgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGRpcmVkZmwtZXhlY3V0YWJsZS10 YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkaXJlZGZsLWZp bGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGlyZWRmbC1m aWxlLXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZGlyZWRmbC1m bGFnLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCi0gICBg KGRpcmVkZmwtZmxhZy1tYXJrLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFy ay1zZWwpKSkNCi0gICBgKGRpcmVkZmwtaWdub3JlZC1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1saW5rLXByaXYgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChkaXJlZGZsLW5vLXByaXYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1udW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChkaXJlZGZsLW90aGVyLXByaXYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZGlyZWRmbC1yYXJlLXByaXYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRpcmVkZmwtcmVhZC1wcml2ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkaXJlZGZsLXN5bWxpbmsgKCgsY2xhc3Mg OmluaGVyaXQgZGlyZWQtc3ltbGluaykpKQ0KLSAgIGAoZGlyZWRmbC10YWdnZWQtYXV0b2ZpbGUt bmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAg IGAoZGlyZWRmbC13cml0ZS1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7 OzsgZGlzay11c2FnZQ0KLSAgIGAoZGlzay11c2FnZS1jaGlsZHJlbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotICAgYChkaXNrLXVzYWdlLWluYWNjZXNzaWJsZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGRpc2stdXNhZ2UtcGVyY2Vu dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGRpc2stdXNhZ2Utc2l6ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZGlzay11c2FnZS1zeW1saW5rICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZGlzay11 c2FnZS1zeW1saW5rLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGRvb20tbW9kZWxpbmUNCi0gICBgKGRvb20tbW9kZWxpbmUt YmFyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChk b29tLW1vZGVsaW5lLWJhci1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3Rp dmUgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1j aGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkb29t LW1vZGVsaW5lLWJhdHRlcnktY3JpdGljYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWVycm9yICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggLTIpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1mdWxsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LW5vcm1hbCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnkt d2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZl KSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1maWxlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXIt bWFqb3ItbW9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItbWlub3ItbW9kZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLW1vZGlm aWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkp DQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1wYXRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1kZWJ1ZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChk b29tLW1vZGVsaW5lLWRlYnVnLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtZW1hY3Mtc3RhdGUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0g ICBgKGRvb20tbW9kZWxpbmUtZXZpbC1pbnNlcnQtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwt bW90aW9uLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWluYWN0 aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtbm9ybWFsLXN0YXRlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGlu ZS1ldmlsLW9wZXJhdG9yLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtcmVwbGFjZS1zdGF0ZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChk b29tLW1vZGVsaW5lLWV2aWwtdmlzdWFsLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWhpZ2hsaWdodCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAo ZG9vbS1tb2RlbGluZS1ob3N0ICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAg YChkb29tLW1vZGVsaW5lLWxzcC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWxzcC1zdWNjZXNzICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9v bS1tb2RlbGluZS1sc3Atd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXBhbmVsICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXBl cnNwLWJ1ZmZlci1ub3QtaW4tcGVyc3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wZXJzcC1uYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcHJvamVj dC1kaXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtcHJvamVjdC1wYXJlbnQtZGlyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LXJvb3QtZGly ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUt dW5yZWFkLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlIDpzbGFudCBpdGFs aWMpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtdXJnZW50ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtd2FybmluZyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7 OzsgZHluYW1pYy1ydWxlcg0KLSAgIGAoZHluYW1pYy1ydWxlci1uZWdhdGl2ZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLSAgIGAoZHluYW1p Yy1ydWxlci1wb3NpdGl2ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UteWVsbG93KSkpDQotOzs7OzsgZWFzeS1qZWt5bGwNCi0gICBgKGVhc3ktamVreWxsLWhlbHAt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLTs7Ozs7IGVhc3kta2lsbA0KLSAgIGAoZWFzeS1raWxsLW9yaWdpbiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChlYXN5LWtpbGwtc2Vs ZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cpKSkNCi07 Ozs7OyBlYmRiDQotICAgYChlYmRiLWFkZHJlc3MtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAoZWJkYi1kYi1jaGFyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGViZGItZGVmdW5jdCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChlYmRiLWZpZWxkLWhpZGRlbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoZWJkYi1maWVsZC11cmwgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUpKSkNCi0gICBgKGViZGItbGFiZWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYChlYmRiLW1haWwtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAoZWJkYi1tYWlsLXByaW1hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChlYmRiLW1hcmtlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lh bi1pbnRlbnNlLWJnKSkpDQotICAgYChlYmRiLW9yZ2FuaXphdGlvbi1uYW1lICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGViZGItcGVyc29uLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChlYmRiLXBob25l LWRlZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo ZWJkYi1yb2xlLWRlZnVuY3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo ZWllaW8tY3VzdG9tLXNsb3QtdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQp KSkNCi07Ozs7OyBlZGlmZg0KLSAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0 dGVybiBvZiBpbmhlcml0aW5nIGZyb20gdGhlDQotICAgOzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZh Y2VzLg0KLSAgIGAoZWRpZmYtY3VycmVudC1kaWZmLUEgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1k aW0gcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJl bW92ZWQgZmctZGlmZi1yZW1vdmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZWQtbnVhbmNlZC1iZyByZWQtZmFpbnQpKSkpDQotICAgYChlZGlmZi1jdXJyZW50LWRp ZmYtQW5jZXN0b3IgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwt Y29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXNw ZWNpYWwtY29sZCBmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBibHVlLW51YW5jZWQtYmcgYmx1ZSkpKSkNCi0gICBgKGVkaWZmLWN1 cnJlbnQtZGlmZi1CICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGdyZWVuDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcg Z3JlZW4tZmFpbnQpKSkpDQotICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQyAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLWRpbSB5ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIHllbGxvdy1mYWludCkpKSkNCi0g ICBgKGVkaWZmLWV2ZW4tZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRy YWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2ZW4t ZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZv cmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotICAgYChlZGlmZi1ldmVuLWRpZmYtQiAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQgLGZnLWRp ZmYtbmV1dHJhbC0xKSkpDQotICAgYChlZGlmZi1ldmVuLWRpZmYtQyAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkp DQotICAgYChlZGlmZi1maW5lLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1m b2N1cy1yZW1vdmVkIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkNCi0gICBg KGVkaWZmLWZpbmUtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtY3lhbikpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUIgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpZmYtZm9jdXMtYWRkZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtYWRkZWQp KSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZm LWZvY3VzLWNoYW5nZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtY2hhbmdlZCkpKQ0KLSAg IGAoZWRpZmYtb2RkLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFs LTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQotICAgYChlZGlmZi1vZGQtZGlm Zi1BbmNlc3RvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTAgOmZvcmVn cm91bmQgLGZnLWRpZmYtbmV1dHJhbC0wKSkpDQotICAgYChlZGlmZi1vZGQtZGlmZi1CICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1u ZXV0cmFsLTIpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLTs7 Ozs7IGVnbG90DQotICAgYChlZ2xvdC1tb2RlLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7 OzsgZWwtc2VhcmNoDQotICAgYChlbC1zZWFyY2gtaGlnaGxpZ2h0LWluLXByb21wdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChl bC1zZWFyY2gtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl bikpKQ0KLSAgIGAoZWwtc2VhcmNoLW90aGVyLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoZWwtc2VhcmNoLW9jY3VyLW1hdGNoICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IGVsZG9jDQot ICAgOzsgTk9URTogc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wdXJjZWxsL3BhY2thZ2UtbGludC9p c3N1ZXMvMTg3DQotICAgKGxpc3QgJ2VsZG9jLWhpZ2hsaWdodC1mdW5jdGlvbi1hcmd1bWVudCBg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07 Ozs7OyBlbGRvYy1ib3gNCi0gICBgKGVsZG9jLWJveC1ib2R5ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGVsZG9jLWJveC1ib3JkZXIg KCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGVsZmVlZA0KLSAgIGAoZWxm ZWVkLWxvZy1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAg YChlbGZlZWQtbG9nLWRlYnVnLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGVsZmVlZC1sb2ctZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChlbGZlZWQtbG9nLWluZm8tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGVsZmVlZC1sb2ctd2Fybi1sZXZlbC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtZGF0ZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGVsZmVlZC1z ZWFyY2gtZmVlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlbGZl ZWQtc2VhcmNoLWZpbHRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChlbGZlZWQtc2VhcmNoLWxhc3QtdXBkYXRlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChlbGZlZWQtc2VhcmNo LXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGVs ZmVlZC1zZWFyY2gtdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQot ICAgYChlbGZlZWQtc2VhcmNoLXVucmVhZC1jb3VudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtdW5yZWFkLXRpdGxlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGVs ZmVlZC1zY29yZQ0KLSAgIGAoZWxmZWVkLXNjb3JlLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZWxmZWVkLXNjb3JlLWRlYnVnLWxldmVsLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChlbGZlZWQtc2NvcmUt ZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlbGZl ZWQtc2NvcmUtaW5mby1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChlbGZlZWQtc2NvcmUtd2Fybi1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi07Ozs7OyBlbW1zDQotICAgYChlbW1zLXBsYXlsaXN0LXRyYWNrLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVtbXMtcGxheWxpc3Qtc2VsZWN0ZWQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7 OzsgZW5oYW5jZWQtcnVieS1tb2RlDQotICAgYChlbmgtcnVieS1oZXJlZG9jLWRlbGltaXRlci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZW5oLXJ1 Ynktb3AtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZW5oLXJ1 YnktcmVnZXhwLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAoZW5oLXJ1YnktcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCi0gICBgKGVuaC1ydWJ5LXN0cmluZy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGVybS1zeW4tZXJybGluZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZXJtLXN5bi13YXJubGluZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGVwYQ0KLSAgIGAo ZXBhLWZpZWxkLWJvZHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGVw YS1maWVsZC1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkp KQ0KLSAgIGAoZXBhLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoZXBhLXN0cmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKGVwYS12YWxpZGl0eS1kaXNhYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChlcGEtdmFsaWRpdHktaGlnaCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGVwYS12YWxp ZGl0eS1sb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXBhLXZhbGlk aXR5LW1lZGl1bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotOzs7OzsgZXF1 YWtlDQotICAgYChlcXVha2UtYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h aW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLWVzaGVs bCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGdyZWVuLWFj dGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtcmFzaCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1z aGVsbC10eXBlLXNoZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdy b3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXRlcm0gKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkp DQotICAgYChlcXVha2Utc2hlbGwtdHlwZS12dGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChlcXVha2UtdGFi LWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQp KSkNCi0gICBgKGVxdWFrZS10YWItaW5hY3RpdmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlKSkpDQotOzs7OzsgZXJjDQotICAgYChlcmMtYWN0aW9uLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZXJjLWJvbGQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChlcmMtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbikpKQ0KLSAgIGAoZXJjLWNvbW1hbmQtaW5kaWNhdG9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGVyYy1jdXJyZW50LW5p Y2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KGVyYy1kYW5nZXJvdXMtaG9zdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtcmVkKSkpDQotICAgYChlcmMtZGlyZWN0LW1zZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChlcmMtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVyYy1mb29sLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChlcmMtaGVhZGVyLWxpbmUgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChl cmMtaW5wdXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQot ICAgYChlcmMtaW52ZXJzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVyYy1kZWZhdWx0LWZhY2Ug OmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAoZXJjLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZXJjLW15LW5pY2st ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChlcmMtbXktbmljay1wcmVmaXgtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtbXktbmljay1m YWNlKSkpDQotICAgYChlcmMtbmljay1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZXJjLW5pY2stbXNnLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGVyYy1uaWNrLXByZWZp eC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVyYy1uaWNrLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAo ZXJjLW5vdGljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0g ICBgKGVyYy1wYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0KSkpDQotICAgYChlcmMtcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGVyYy10aW1lc3RhbXAtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChlcmMtdW5kZXJsaW5lLWZh Y2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTAgKCgs Y2xhc3MgOmJhY2tncm91bmQgIndoaXRlIikpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxICgo LGNsYXNzIDpiYWNrZ3JvdW5kICJibGFjayIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTAg KCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29s b3ItZmFjZTExICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBg KGJnOmVyYy1jb2xvci1mYWNlMTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJn KSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTEzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdl bnRhLXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxNCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAiZ3JheTYwIikpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAiZ3JheTgwIikpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UyICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNl MyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJj LWNvbG9yLWZhY2U0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtc3VidGxlLWJnKSkpDQotICAg YChiZzplcmMtY29sb3ItZmFjZTUgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJn KSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTYgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2Vu dGEtcmVmaW5lLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTcgKCgsY2xhc3MgOmJhY2tn cm91bmQgLHllbGxvdy1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlOCAoKCxj bGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXJlZmluZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9y LWZhY2U5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1zdWJ0bGUtYmcpKSkNCi0gICBgKGZn OmVyYy1jb2xvci1mYWNlMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAid2hpdGUiKSkpDQotICAgYChm ZzplcmMtY29sb3ItZmFjZTEgKCgsY2xhc3MgOmZvcmVncm91bmQgImJsYWNrIikpKQ0KLSAgIGAo Zmc6ZXJjLWNvbG9yLWZhY2UxMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo Zmc6ZXJjLWNvbG9yLWZhY2UxMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTE0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICJncmF5NjAiKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTE1ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICJncmF5ODAiKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTMgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U1ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTYgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChmZzplcmMtY29sb3It ZmFjZTcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGZn OmVyYy1jb2xvci1mYWNlOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAg IGAoZmc6ZXJjLWNvbG9yLWZhY2U5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3Ro ZXIpKSkNCi07Ozs7OyBlcm9zDQotICAgYChlcm9zLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KLTs7Ozs7IGVydA0KLSAgIGAoZXJ0LXRlc3QtcmVzdWx0LWV4cGVjdGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGVydC10ZXN0 LXJlc3VsdC11bmV4cGVjdGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkKSkpDQotOzs7OzsgZXNoZWxsDQotICAgYChlc2hlbGwtbHMtYXJjaGl2ZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLWJh Y2t1cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxz LWNsdXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGVzaGVsbC1s cy1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKGVzaGVsbC1scy1leGVjdXRhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLW1pc3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKGVzaGVsbC1scy1wcm9kdWN0ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGVzaGVsbC1scy1yZWFkb25s eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChlc2hlbGwt bHMtc3BlY2lhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChlc2hlbGwtbHMtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGVzaGVsbC1scy11bnJlYWRhYmxlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGVz aGVsbC1wcm9tcHQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1wcm9t cHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZ3JlZW4tYWx0DQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLXJlZmluZS1iZyBmZy1tYWluKSkp KQ0KLTs7Ozs7IGVzaGVsbC1mcmluZ2Utc3RhdHVzDQotICAgYChlc2hlbGwtZnJpbmdlLXN0YXR1 cy1mYWlsdXJlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVzaGVsbC1mcmlu Z2Utc3RhdHVzLXN1Y2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotOzs7Ozsg ZXNoZWxsLWdpdC1wcm9tcHQNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWFkZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWJyYW5j aC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVzaGVsbC1naXQt cHJvbXB0LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAg YChlc2hlbGwtZ2l0LXByb21wdC1leGl0LWZhaWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1leGl0LXN1Y2Nlc3MtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LW1vZGlmaWVk LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1w cm9tcHQtcG93ZXJsaW5lLWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXJl ZmluZS1iZykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcG93ZXJsaW5lLWRpci1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXJlZmluZS1iZykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1w cm9tcHQtcG93ZXJsaW5lLW5vdC1jbGVhbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdl bnRhLXJlZmluZS1iZykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtYnJh bmNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1w cm9tcHQtcm9ieXJ1c3NlbGwtZ2l0LWRpcnR5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtZ2l0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi07Ozs7OyBlc2hlbGwtcHJvbXB0LWV4dHJhcyAo ZXBlKQ0KLSAgIGAoZXBlLWRpci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt Ym9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlcGUtZ2l0LWRpci1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChlcGUtZ2l0LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChlcGUtcGlwZWxpbmUt ZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAo ZXBlLXBpcGVsaW5lLWhvc3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAoZXBlLXBpcGVsaW5lLXRpbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQotICAgYChlcGUtcGlwZWxpbmUtdXNlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChlcGUtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChlcGUtc3RhdHVz LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChl cGUtdmVudi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQotICAgYChl c2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1hbGlhcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1jb21tZW50LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdo bGlnaHRpbmctZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0g ICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWVudnZhci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmct aW52YWxpZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVzaGVsbC1z eW50YXgtaGlnaGxpZ2h0aW5nLWxpc3AtZnVuY3Rpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctc2hlbGwtY29t bWFuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAo ZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgZXZpbC1tb2RlDQotICAgYChldmlsLWV4LWNvbW1hbmRz ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXZpbC1l eC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXZp bC1leC1sYXp5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt Y3lhbikpKQ0KLSAgIGAoZXZpbC1leC1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLW1hdGNoZXMgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKGV2aWwtZXgtc3Vic3RpdHV0ZS1yZXBsYWNlbWVudCAoKCxjbGFzcyA6aW5oZXJpdCAo bW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLTs7Ozs7IGV2aWwtZ29nZ2xlcw0K LSAgIGAoZXZpbC1nb2dnbGVzLWNoYW5nZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1jb21tZW50YXJ5LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCkpKQ0KLSAgIGAoZXZpbC1nb2dn bGVzLWRlbGV0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQp KSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1maWxsLWFuZC1tb3ZlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWluZGVu dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0g ICBgKGV2aWwtZ29nZ2xlcy1qb2luLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLWdyZWVuKSkpDQotICAgYChldmlsLWdvZ2dsZXMtbmVyZC1jb21tZW50ZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtY29tbWVudGFyeS1mYWNlKSkpDQotICAgYChl dmlsLWdvZ2dsZXMtcGFzdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtY3lhbikpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXJlY29yZC1tYWNyby1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVz LXJlcGxhY2Utd2l0aC1yZWdpc3Rlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChldmlsLWdvZ2dsZXMtc2V0LW1hcmtlci1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAoZXZp bC1nb2dnbGVzLXNoaWZ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1 bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXN1cnJvdW5kLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXlh bmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLTs7 Ozs7IGV2aWwtdmlzdWFsLW1hcmstbW9kZQ0KLSAgIGAoZXZpbC12aXN1YWwtbWFyay1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLTs7Ozs7IGV3 dw0KLSAgIGAoZXd3LWludmFsaWQtY2VydGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKGV3dy12YWxpZC1jZXJ0aWZpY2F0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChld3ctZm9ybS1jaGVja2JveCAoKCxjbGFzcyA6 Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAsZmctaW5hY3RpdmUgOnN0eWxlIHJlbGVhc2VkLWJ1 dHRvbikgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChld3ctZm9ybS1maWxlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxm Zy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChld3ctZm9ybS1zZWxlY3QgKCgsY2xhc3Mg OmluaGVyaXQgZXd3LWZvcm0tY2hlY2tib3gpKSkNCi0gICBgKGV3dy1mb3JtLXN1Ym1pdCAoKCxj bGFzcyA6aW5oZXJpdCBld3ctZm9ybS1maWxlKSkpDQotICAgYChld3ctZm9ybS10ZXh0ICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgbm9uZSkg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChl d3ctZm9ybS10ZXh0YXJlYSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotOzs7OzsgZXllYnJvd3NlDQotICAgYChleWVicm93c2UtbW9kZS1saW5l LWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkp KQ0KLTs7Ozs7IGZhbmN5LWRhYmJyZXYNCi0gICBgKGZhbmN5LWRhYmJyZXYtbWVudS1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo ZmFuY3ktZGFiYnJldi1wcmV2aWV3LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZhbmN5LWRhYmJyZXYtc2VsZWN0aW9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbiBib2xkKSkpKQ0KLTs7Ozs7IGZs eWNoZWNrDQotICAgYChmbHljaGVjay1lcnJvcg0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0 cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAo OmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJy b3ItbGlzdC1jaGVja2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZl KSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1l cnJvciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWZpbGVuYW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWhpZ2hsaWdo dCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChmbHljaGVj ay1lcnJvci1saXN0LWlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1pZC13aXRoLWV4cGxhaW5lciAoKCxjbGFzcyA6 aW5oZXJpdCBmbHljaGVjay1lcnJvci1saXN0LWlkIDpib3ggdCkpKQ0KLSAgIGAoZmx5Y2hlY2st ZXJyb3ItbGlzdC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChmbHlj aGVjay1lcnJvci1saXN0LWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3Qtd2FybmluZyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChmbHljaGVjay1mcmluZ2UtZXJyb3IgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZmx5Y2hlY2stZnJp bmdlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCi0g ICBgKGZseWNoZWNrLWZyaW5nZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGZseWNoZWNrLWluZm8NCi0gICAgICgoLChhcHBlbmQg Jygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1 bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1ub3RlIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHlj aGVjay12ZXJpZnktc2VsZWN0LWNoZWNrZXIgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6 Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pKSkpDQotICAgYChmbHljaGVjay13YXJu aW5nDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZl KSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctd2FybmluZyA6 c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy13YXJuaW5n IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZQ0KLSAgIGAo Zmx5Y2hlY2stY29sb3ItbW9kZS1saW5lLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5 Y2hlY2stZnJpbmdlLWVycm9yKSkpDQotICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtaW5m by1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS1pbmZvKSkpDQotICAgYChm bHljaGVjay1jb2xvci1tb2RlLWxpbmUtcnVubmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1pbmFjdGl2ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChmbHljaGVjay1jb2xvci1tb2Rl LWxpbmUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS13YXJuaW5n KSkpDQotOzs7OzsgZmx5Y2hlY2staW5kaWNhdG9yDQotICAgYChmbHljaGVjay1pbmRpY2F0b3It ZGlzYWJsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlIDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKGZseWNoZWNrLWluZGljYXRvci1lcnJvciAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWluZm8gKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAg YChmbHljaGVjay1pbmRpY2F0b3ItcnVubmluZyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGZs eWNoZWNrLWluZGljYXRvci1zdWNjZXNzICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt Ym9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGZseWNoZWNr LWluZGljYXRvci13YXJuaW5nICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13 ZWlnaHQpIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7OzsgZmx5Y2hlY2stcG9z ZnJhbWUNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1ib3JkZXItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmbHljaGVjay1wb3NmcmFt ZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0K LSAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp biA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1p bmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAoZmx5Y2hlY2stcG9zZnJhbWUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGZseW1ha2UNCi0gICBgKGZseW1ha2UtZXJy b3INCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUp KSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5 bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKGZseW1ha2Utbm90ZQ0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBw b3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGlu ZSAoOmNvbG9yICxmZy1sYW5nLW5vdGUgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWxhbmctbm90ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseW1ha2Utd2Fy bmluZw0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2 ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLXdhcm5pbmcg OnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctd2Fybmlu ZyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBmbHlzcGVsbA0KLSAgIGAoZmx5c3BlbGwtZHVwbGlj YXRlDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZl KSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctd2FybmluZyA6 c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy13YXJuaW5n IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5c3BlbGwtaW5jb3JyZWN0DQotICAgICAoKCwoYXBw ZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAg ICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAgICAg ICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQotOzs7 OzsgZmx5c3BlbGwtY29ycmVjdA0KLSAgIGAoZmx5c3BlbGwtY29ycmVjdC1oaWdobGlnaHQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCi07Ozs7OyBm bHgNCi0gICBgKGZseC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLTs7Ozs7IGZyZWV6ZS1pdA0KLSAg IGAoZnJlZXplLWl0LXNob3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC13YXJtKSkpDQotOzs7OzsgZnJvZy1tZW51DQotICAgYChmcm9nLW1lbnUt YWN0aW9uLWtleWJpbmRpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGZyb2ctbWVudS1hY3Rpb25zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKGZyb2ctbWVudS1ib3JkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFjdGl2ZSkpKQ0KLSAgIGAoZnJvZy1tZW51LWNhbmRpZGF0ZXMtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZnJvZy1tZW51LXBvc2ZyYW1lLWJhY2tncm91 bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChmcm9nLW1lbnUt cHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBmb2N1cw0K LSAgIGAoZm9jdXMtdW5mb2N1c2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQp KSkNCi07Ozs7OyBmb2xkLXRoaXMNCi0gICBgKGZvbGQtdGhpcy1vdmVybGF5ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IGZvbnQtbG9jaw0KLSAg IGAoZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0K LSAgIGAoZm9udC1sb2NrLWNvbW1lbnQtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb250LWxvY2st Y29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm9udC1sb2NrLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFp bnQpKSkpDQotICAgYChmb250LWxvY2stZG9jLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZnLXNwZWNpYWwtY29sZCBjeWFuLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2Nr LWtleXdvcmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt YWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0K LSAgIGAoZm9udC1sb2NrLW5lZ2F0aW9uLWNoYXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13 ZWlnaHQpKSkpDQotICAgYChmb250LWxvY2stcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXIgcmVkLWFsdC1vdGhlci1m YWludCkpKSkNCi0gICBgKGZvbnQtbG9jay1yZWdleHAtZ3JvdXBpbmctYmFja3NsYXNoICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkp KQ0KLSAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1jb25zdHJ1Y3QgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAg YChmb250LWxvY2stc3RyaW5nLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJsdWUtYWx0IGJsdWUtYWx0LWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXR5cGUtZmFjZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZh aW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKGZv bnQtbG9jay13YXJuaW5nLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5 ZWxsb3ctYWN0aXZlIHllbGxvdy1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotOzs7 OzsgZm9yZ2UNCi0gICBgKGZvcmdlLXBvc3QtYXV0aG9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGZvcmdlLXBvc3QtZGF0ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChmb3JnZS10b3BpYy1jbG9zZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMtbWVyZ2Vk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGZvcmdlLXRvcGljLW9wZW4g KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoZm9yZ2UtdG9w aWMtdW5tZXJnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMtdW5yZWFkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBmb3VudGFpbi1tb2RlDQotICAg YChmb3VudGFpbi1jaGFyYWN0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVy KSkpDQotICAgYChmb3VudGFpbi1jb21tZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm91bnRhaW4tZGlhbG9nICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZm91bnRhaW4tbWV0YWRhdGEta2V5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGZvdW50YWlu LW1ldGFkYXRhLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChmb3Vu dGFpbi1ub24tcHJpbnRpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo Zm91bnRhaW4tbm90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvdW50YWluLXBhZ2UtYnJlYWsgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZm91bnRhaW4tcGFnZS1udW1i ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0K LSAgIGAoZm91bnRhaW4tcGFyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGZvdW50YWluLXNjZW5lLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmcgKCgsY2xh c3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0K LSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTEgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQg LG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctbWFpbg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChmb3VudGFpbi1z ZWN0aW9uLWhlYWRpbmctMiAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFy aWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0NCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUg bW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zKSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1o ZWFkaW5nLTMgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBp dGNoKSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUtMikpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy00 ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTEpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctNSAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGZvdW50YWluLXN5bm9wc2lzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZm91bnRhaW4tdHJhbnMgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi07Ozs7OyBnZWlzZXINCi0gICBgKGdlaXNl ci1mb250LWxvY2stYXV0b2RvYy1jdXJyZW50LWFyZyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAo Z2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWlkZW50aWZpZXIgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAgIGAoZ2Vp c2VyLWZvbnQtbG9jay1kb2MtYnV0dG9uICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjeWFuLWFsdCBjeWFuLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxv Y2stZG9jLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQt bG9jay1lcnJvci1saW5rICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZWQtYWx0IHJlZC1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOnVuZGVybGluZSB0KSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLWltYWdlLWJ1 dHRvbiAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQg Z3JlZW4tYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOnVuZGVybGluZSB0KSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtaW5wdXQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBsLW91 dHB1dCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9j ay1yZXBsLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5 YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQt bG9jay14cmVmLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChnZWlzZXIt Zm9udC1sb2NrLXhyZWYtbGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotOzs7OzsgZ2l0 LWNvbW1pdA0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWFjdGlvbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21t aXQtY29tbWVudC1icmFuY2gtbG9jYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0IDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1icmFu Y2gtcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtZGV0YWNoZWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0g ICBgKGdpdC1jb21taXQtY29tbWVudC1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1j b21tZW50LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGlt IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQta2V5d29yZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1rbm93bi1w c2V1ZG8taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAg IGAoZ2l0LWNvbW1pdC1ub25lbXB0eS1zZWNvbmQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChnaXQtY29tbWl0LW92ZXJsb25nLXN1bW1h cnkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAo Z2l0LWNvbW1pdC1wc2V1ZG8taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQot ICAgYChnaXQtY29tbWl0LXN1bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLTs7Ozs7IGdpdC1ndXR0ZXINCi0gICBgKGdpdC1ndXR0ZXI6YWRkZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0 dGVyOmRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0K LSAgIGAoZ2l0LWd1dHRlcjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UteWVsbG93KSkpDQotICAgYChnaXQtZ3V0dGVyOnNlcGFyYXRvciAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KLSAgIGAoZ2l0LWd1dHRlcjp1bmNoYW5n ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCi07Ozs7 OyBnaXQtZ3V0dGVyLWZyDQotICAgYChnaXQtZ3V0dGVyLWZyOmFkZGVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcjpkZWxl dGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGdp dC1ndXR0ZXItZnI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdl LXllbGxvdykpKQ0KLTs7Ozs7IGdpdC17Z3V0dGVyLGZyaW5nZX0rDQotICAgYChnaXQtZ3V0dGVy Ky1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0g ICBgKGdpdC1ndXR0ZXIrLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJp bmdlLXJlZCkpKQ0KLSAgIGAoZ2l0LWd1dHRlcistbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWd1dHRlcistc2VwYXJhdG9y ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQotICAgYChnaXQt Z3V0dGVyKy11bmNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1h Z2VudGEpKSkNCi0gICBgKGdpdC1ndXR0ZXItZnIrLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcistZGVsZXRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChnaXQtZ3V0 dGVyLWZyKy1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVs bG93KSkpDQotOzs7OzsgZ2l0LWxlbnMNCi0gICBgKGdpdC1sZW5zLWFkZGVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnaXQtbGVucy1kZWxldGVk ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZ2l0LWxl bnMtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjEgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGdpdC1sZW5zLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZ2l0LWxlbnMtcmVuYW1lZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7OzsgZ2l0LXJlYmFzZQ0K LSAgIGAoZ2l0LXJlYmFzZS1jb21tZW50LWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtcmViYXNl LWNvbW1lbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1k aW0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LXJlYmFzZS1kZXNjcmlw dGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZ2l0LXJlYmFzZS1o YXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGdpdC10 aW1lbWFjaGluZQ0KLSAgIGAoZ2l0LXRpbWVtYWNoaW5lLWNvbW1pdCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChnaXQtdGltZW1hY2hp bmUtbWluaWJ1ZmZlci1hdXRob3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQotICAgYChnaXQtdGltZW1hY2hpbmUtbWluaWJ1ZmZlci1kZXRhaWwtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IGdpdC13YWxrdHJlZQ0KLSAg IGAoZ2l0LXdhbGt0cmVlLWNvbW1pdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCi0gICBgKGdpdC13YWxrdHJlZS1zeW1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnaXQtd2Fsa3RyZWUtdHJlZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7OzsgZ251cw0KLSAgIGAoZ251cy1i dXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChnbnVzLWNpdGUtMSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS0xMCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS0xMSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRl LTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS0zICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS00ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTUgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS02ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTcgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtOCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLTkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLWF0dHJpYnV0 aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCBpdGFsaWMpKSkNCi0gICBg KGdudXMtZW1waGFzaXMtaGlnaGxpZ2h0LXdvcmRzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0xICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChnbnVzLWdyb3Vw LW1haWwtMS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KGdudXMtZ3JvdXAtbWFpbC0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0yLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1ncm91 cC1tYWlsLTMtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQotICAgYChnbnVzLWdyb3VwLW1haWwtbG93ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLWxvdy1lbXB0 eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChnbnVzLWdy b3VwLW5ld3MtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAoZ251cy1ncm91cC1uZXdzLTEtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMi1lbXB0eSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTMgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3Jv dXAtbmV3cy0zLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0K LSAgIGAoZ251cy1ncm91cC1uZXdzLTQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNC1lbXB0eSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAo Z251cy1ncm91cC1uZXdzLTUtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2Vk KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy02LWVtcHR5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy1sb3cgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251 cy1ncm91cC1uZXdzLWxvdy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNl ZCkpKQ0KLSAgIGAoZ251cy1oZWFkZXItY29udGVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoZ251cy1oZWFkZXItZnJvbSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlciA6dW5kZXJsaW5lIG5pbCkpKQ0KLSAgIGAoZ251cy1oZWFk ZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdudXMtaGVhZGVy LW5ld3Nncm91cHMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKGdudXMtaGVhZGVyLXN1YmplY3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtc2VydmVyLWFnZW50ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtc2Vy dmVyLWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChnbnVzLXNlcnZlci1jbG91ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItY2xvdWQtaG9zdCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItZGVu aWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZ251 cy1zZXJ2ZXItb2ZmbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCi0gICBgKGdudXMtc2VydmVyLW9wZW5lZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ251cy1zaWduYXR1cmUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXNwbGFz aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLXN1bW1hcnktY2Fu Y2VsbGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQotICAgYChn bnVzLXN1bW1hcnktaGlnaC1hbmNpZW50ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtcmVhZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGdudXMtc3Vt bWFyeS1oaWdoLXRpY2tlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0LW90aGVyKSkpDQotICAgYChnbnVzLXN1bW1hcnktaGlnaC11bmRvd25sb2FkZWQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChnbnVzLXN1bW1h cnktaGlnaC11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy1hbmNpZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy1yZWFkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1z dW1tYXJ5LWxvdy10aWNrZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcgOnNs YW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy11bmRvd25sb2FkZWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAo Z251cy1zdW1tYXJ5LWxvdy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLWFuY2llbnQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZ251cy1zdW1t YXJ5LW5vcm1hbC1yZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdu dXMtc3VtbWFyeS1ub3JtYWwtdGlja2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90 aGVyKSkpDQotICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXVuZG93bmxvYWRlZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXVucmVhZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LXNlbGVj dGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotOzs7Ozsg Z29sZGVuLXJhdGlvLXNjcm9sbC1zY3JlZW4NCi0gICBgKGdvbGRlbi1yYXRpby1zY3JvbGwtaGln aGxpZ2h0LWxpbmUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBoZWxtDQotICAgYChoZWxtLU0teC1rZXkgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKGhlbG0tYWN0aW9uICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGVsbS1ib29r bWFyay1hZGRyZXNzYm9vayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAg YChoZWxtLWJvb2ttYXJrLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tYm9va21hcmstZmlsZS1ub3QtZm91bmQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxt LWJvb2ttYXJrLWdudXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhl bG0tYm9va21hcmstaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KGhlbG0tYm9va21hcmstbWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQot ICAgYChoZWxtLWJvb2ttYXJrLXczbSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN Ci0gICBgKGhlbG0tYnVmZmVyLWFyY2hpdmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAoaGVsbS1idWZmZXItZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGhlbG0tYnVmZmVyLWZpbGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tYnVmZmVyLW1vZGlmaWVk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChoZWxtLWJ1ZmZlci1u b3Qtc2F2ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGhlbG0tYnVm ZmVyLXByb2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhlbG0t YnVmZmVyLXNhdmVkLW91dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1h bHQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaGVsbS1idWZmZXItc2l6ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxtLWNhbmRpZGF0ZS1udW1iZXIgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWNhbmRpZGF0ZS1udW1i ZXItc3VzcGVuZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAg YChoZWxtLWNvbWludC1wcm9tcHRzLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tY29taW50LXByb21wdHMtcHJvbXB0aWR4ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1kZWxldGUtYXN5bmMt bWVzc2FnZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2 ZSkpKQ0KLSAgIGAoaGVsbS1lb2ItbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0cy1idWZmZXIt bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWVz aGVsbC1wcm9tcHRzLXByb21wdGlkeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUp KSkNCi0gICBgKGhlbG0tZXRhZ3MtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGVsbS1mZi1iYWNrdXAtZmlsZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxtLWZmLWRlbmllZCAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtcmVkDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlZCkpKSkNCi0gICBgKGhlbG0tZmYtZGlyZWN0b3J5ICgoLGNsYXNzIDpp bmhlcml0IGhlbG0tYnVmZmVyLWRpcmVjdG9yeSkpKQ0KLSAgIGAoaGVsbS1mZi1kaXJzICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYCho ZWxtLWZmLWRvdHRlZC1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3Vu ZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tZmYtZG90dGVkLXN5 bWxpbmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IChidXR0b24gaGVsbS1mZi1kb3R0ZWQt ZGlyZWN0b3J5KSkpKQ0KLSAgIGAoaGVsbS1mZi1leGVjdXRhYmxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaGVsbS1mZi1maWxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWZmLWZpbGUtZXh0ZW5zaW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGhlbG0tZmYtaW52YWxpZC1zeW1s aW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYCho ZWxtLWZmLXBpcGUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUt bWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0 bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhKSkp KQ0KLSAgIGAoaGVsbS1mZi1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1l eHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXJlZmluZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1zdWJ0bGUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHllbGxvdy1hbHQtb3RoZXIpKSkpDQotICAgYChoZWxtLWZmLXNvY2tldCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1mZi1zdWlkICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtcmVkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93DQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCkpKSkNCi0gICBgKGhlbG0tZmYtc3ltbGluayAo KCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGhlbG0t ZmYtdHJ1ZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAg YChoZWxtLWdyZXAtY21kLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCi0gICBgKGhlbG0tZ3JlcC1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS1ncmVwLWZpbmlzaCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWdyZXAtbGluZW5vICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGhlbG0tZ3JlcC1t YXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBg KGhlbG0taGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoaGVsbS1oZWFkZXItbGluZS1sZWZ0LW1hcmdpbiAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1o aXN0b3J5LWRlbGV0ZWQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21w bGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXN1YnRsZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1pbnRlbnNlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1oaXN0b3J5LXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1saXNwLWNvbXBsZXRpb24taW5mbyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChoZWxtLWxpc3Atc2hv dy1jb21wbGV0aW9uICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxl dGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93DQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0t bG9jYXRlLWZpbmlzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAg YChoZWxtLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxl dGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1j eWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lh bg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFu DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4NCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChoZWxtLW1hdGNoLWl0ZW0gKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCi0gICBgKGhlbG0t bWluaWJ1ZmZlci1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQgbWluaWJ1ZmZlci1wcm9tcHQpKSkN Ci0gICBgKGhlbG0tbW9jY3VyLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChoZWxtLW1vZGUtcHJlZml4ICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQt bWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0t bm9uLWZpbGUtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhl bG0tcHJlZmFyZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoaGVs bS1yZXN1bWUtbmVlZC11cGRhdGUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRy YS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90 aGVyKSkpKQ0KLSAgIGAoaGVsbS1zZWxlY3Rpb24gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG5pbA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQot ICAgYChoZWxtLXNlbGVjdGlvbi1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS1zZXBhcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoaGVsbS10aW1lLXpvbmUtY3VycmVudCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGhlbG0tdGltZS16b25lLWhvbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhlbG0tc291cmNlLWhlYWRlciAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZl bmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChoZWxtLXRvcC1jb2x1bW5zICgoLGNsYXNzIDpp bmhlcml0IGhlbG0taGVhZGVyKSkpDQotICAgYChoZWxtLXVjcy1jaGFyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChoZWxtLXZpc2libGUtbWFyayAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLTs7Ozs7IGhlbG0tbHMt Z2l0DQotICAgYChoZWxtLWxzLWdpdC1hZGRlZC1jb3BpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1scy1naXQtYWRkZWQtbW9kaWZpZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCi0gICBgKGhlbG0t bHMtZ2l0LWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWludGVuc2UpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LWRlbGV0ZWQtYW5kLXN0YWdlZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAoaGVsbS1scy1naXQt ZGVsZXRlZC1ub3Qtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoaGVsbS1scy1naXQtbW9kaWZpZWQtYW5kLXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgIGAoaGVsbS1scy1naXQtbW9kaWZpZWQtbm90LXN0 YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGhlbG0tbHMt Z2l0LXJlbmFtZWQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAoaGVsbS1scy1naXQtdW50cmFja2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KLTs7Ozs7IGhlbG0tc3dpdGNoLXNoZWxsDQotICAgYChoZWxt LXN3aXRjaC1zaGVsbC1uZXctc2hlbGwtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXINCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLTs7 Ozs7IGhlbG0teHJlZg0KLSAgIGAoaGVsbS14cmVmLWZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0teHJlZi1m aWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7 IGhlbHBmdWwNCi0gICBgKGhlbHBmdWwtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTEpKSkNCi07Ozs7OyBoaWdobGlnaHQgcmVnaW9uIG9yIGFkLWhvYyByZWdl eHANCi0gICBgKGhpLWJsYWNrLWIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVn cm91bmQgLGJnLW1haW4pKSkNCi0gICBgKGhpLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpLWJsdWUtYiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKGhpLWdy ZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGdyZWVuIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoaGktZ3JlZW4tYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChoaS1waW5rICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQotICAgYChoaS1yZWQt YiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoaGkt eWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHllbGxvdyA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGhpZ2hsaWdodC1jaGFuZ2VzLWRl bGV0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKGhsLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0K LTs7Ozs7IGhpZ2hsaWdodC1ibG9ja3MNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtMS1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3Mt ZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtNC1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNhbG0gOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1zcGVjaWFsLXdhcm0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hs aWdodC1ibG9ja3MtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFs LW1pbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVw dGgtNy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC04LWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGln aGxpZ2h0LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3Vi dGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWRlZmluZWQN Ci0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLWJ1aWx0aW4tZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1mYWNl LW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxp Z2h0LWRlZmluZWQtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1tYWNyby1uYW1lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1zcGVj aWFsLWZvcm0tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5jZXMg KGBoZXMtbW9kZScpDQotICAgYChoZXMtZXNjYXBlLWJhY2tzbGFzaC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAg IGAoaGVzLWVzY2FwZS1zZXF1ZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KLTs7Ozs7IGhpZ2hsaWdodC1pbmRl bnRhdGlvbg0KLSAgIGAoaGlnaGxpZ2h0LWluZGVudGF0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAoaGlnaGxpZ2h0LWluZGVudGF0aW9uLWN1 cnJlbnQtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLTs7 Ozs7IGhpZ2hsaWdodC1udW1iZXJzDQotICAgYChoaWdobGlnaHQtbnVtYmVycy1udW1iZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotOzs7OzsgaGlnaGxpZ2h0LXN5 bWJvbA0KLSAgIGAoaGlnaGxpZ2h0LXN5bWJvbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IGhpZ2hsaWdodC10aGluZw0KLSAgIGAoaGln aGxpZ2h0LXRoaW5nICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi07Ozs7OyBobC1kZWZpbmVkDQotICAgYChoZGVmZC1mdW5jdGlvbnMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGhkZWZkLXVuZGVmaW5lZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoaGRlZmQtdmFyaWFibGVzICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdCkpKQ0KLTs7Ozs7IGhsLWZpbGwtY29sdW1uDQotICAgYChobC1maWxs LWNvbHVtbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQg LGZnLWFjdGl2ZSkpKQ0KLTs7Ozs7IGhsLXRvZG8NCi0gICBgKGhsLXRvZG8gKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6c2xhbnQgLG1vZHVzLXRoZW1l LXNsYW50KSkpDQotOzs7OzsgaHlkcmENCi0gICBgKGh5ZHJhLWZhY2UtYW1hcmFudGggKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChoeWRyYS1mYWNl LWJsdWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0g ICBgKGh5ZHJhLWZhY2UtcGluayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KLSAgIGAoaHlkcmEtZmFjZS1yZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChoeWRyYS1mYWNlLXRlYWwgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGh5cGVybGlzdA0KLSAgIGAo aHlwZXJsaXN0LWNvbmRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBg KGh5cGVybGlzdC1oYXNodGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBg KGh5cGVybGlzdC1vcGVyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0g ICBgKGh5cGVybGlzdC1wYXJlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKGh5cGVybGlzdC1xdW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQp KSkNCi0gICBgKGh5cGVybGlzdC1yZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChoeXBlcmxpc3Qtc3RhcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChoeXBlcmxpc3QtdG9wbGV2ZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGljb21wbGV0ZQ0KLSAgIGAoaWNvbXBsZXRlLWZpcnN0 LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBiZy1hbHQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1hY3RpdmUgZmctbWFpbikp KSkNCi07Ozs7OyBpY29tcGxldGUtdmVydGljYWwNCi0gICBgKGljb21wbGV0ZS12ZXJ0aWNhbC1z ZXBhcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGlkby1tb2Rl DQotICAgYChpZG8tZmlyc3QtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIGJnLWFs dA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1tYWluKSkp KQ0KLSAgIGAoaWRvLWluY29tcGxldGUtcmVnZXhwICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkp DQotICAgYChpZG8taW5kaWNhdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS15ZWxsb3cpKSkNCi0gICBgKGlkby1vbmx5LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3Rh bmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVu IGdyZWVuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVu LWludGVuc2UtYmcgZmctbWFpbikpKSkNCi0gICBgKGlkby1zdWJkaXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGlkby12aXJ0dWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBpZWRpdA0KLSAgIGAoaWVkaXQtb2NjdXJyZW5jZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAoaWVkaXQt cmVhZC1vbmx5LW9jY3VycmVuY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS15ZWxsb3cpKSkNCi07Ozs7OyBpZmxpcGINCi0gICBgKGlmbGlwYi1jdXJyZW50LWJ1ZmZlci1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAg YChpZmxpcGItb3RoZXItYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLTs7Ozs7IGltZW51LWxpc3QNCi0gICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0wICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2UtMSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNl LTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChpbWVudS1s aXN0LWVudHJ5LWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBg KGltZW51LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaW1l bnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnkt c3ViYWxpc3QtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVu LWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktc3ViYWxp c3QtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3Ro ZXIgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgaW5kaXVtDQotICAgYChpbmRpdW0tYnJlYWtwb2lu dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChpbmRpdW0t ZnJhbWUtdXJsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKGluZGl1bS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbmRpdW0tbGl0YWJsZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAoaW5kaXVtLXJlcGwtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCi0gICBgKGluZGl1bS1yZXBsLXByb21wdC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5kaXVtLXJlcGwtc3Rkb3V0LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBpbmZvDQotICAgYChJ bmZvLXF1b3RlZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkgOyB0aGUg Y2FwaXRhbGlzYXRpb24gaXMgY2Fub25pY2FsDQotICAgYChpbmZvLWhlYWRlci1ub2RlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaW5mby1oZWFk ZXIteHJlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGluZm8t aW5kZXgtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbWF0Y2gpKSkNCi0gICBgKGluZm8tbWVudS1o ZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChp bmZvLW1lbnUtc3RhciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChpbmZvLW5v ZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoaW5mby10aXRsZS0xICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLSAgIGAoaW5mby10aXRsZS0yICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAoaW5mby10aXRs ZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KLSAgIGAoaW5m by10aXRsZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KLTs7 Ozs7IGluZm8tY29sb3JzDQotICAgYChpbmZvLWNvbG9ycy1saXNwLWNvZGUtYmxvY2sgKCgsY2xh c3MgOmluaGVyaXQgZml4ZWQtcGl0Y2gpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWNv bW1hbmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGluZm8tY29sb3Jz LXJlZi1pdGVtLWNvbnN0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikp KQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLW1hY3JvICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tb3RoZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXNwZWNpYWwt Zm9ybSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXN5 bnRheC1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaW5mby1j b2xvcnMtcmVmLWl0ZW0tdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkN Ci0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXVzZXItb3B0aW9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS12YXJpYWJsZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGludGVyYWN0aW9uLWxvZw0KLSAgIGAoaWxv Zy1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKGlsb2ctY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotICAgYChpbG9nLWVjaG8tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dC1vdGhlcikpKQ0KLSAgIGAoaWxvZy1sb2FkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuKSkpDQotICAgYChpbG9nLW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChpbG9nLW5vbi1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLTs7Ozs7IGlvY2N1cg0KLSAgIGAoaW9jY3VyLWN1cnNvciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaW9jY3VyLWludmFsaWQtcmVnZXhwICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGlvY2N1ci1tYXRjaC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoaW9jY3VyLW1hdGNoLW92 ZXJsYXktZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICco OmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChpb2NjdXItbnVtLWxpbmUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChpb2Nj dXItb3ZlcmxheS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAy NykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAoaW9jY3VyLXJlZ2V4cC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgYm9sZCkpKSkN Ci0gICBgKGlvY2N1ci10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLTs7Ozs7 IGlzZWFyY2gsIG9jY3VyLCBhbmQgdGhlIGxpa2UNCi0gICBgKGlzZWFyY2ggKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCi0gICBgKGlzZWFyY2gt ZmFpbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChs YXp5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikp KQ0KLSAgIGAobWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxt KSkpDQotICAgYChxdWVyeS1yZXBsYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1p bnRlbnNlLXllbGxvdyBib2xkKSkpKQ0KLTs7Ozs7IGl2eQ0KLSAgIGAoaXZ5LWFjdGlvbiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChpdnktY29t cGxldGlvbnMtYW5ub3RhdGlvbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChpdnktY29uZmlybS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChpdnktY3VycmVudC1tYXRjaCAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4N Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zcGVjaWFs LXdhcm0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pbA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktY3Vyc29yICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAg YChpdnktZ3JlcC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAo aXZ5LWdyZXAtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KLSAgIGAoaXZ5LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChpdnktbWF0Y2gtcmVxdWlyZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBl cnJvcikpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtZmFjZS0xICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt aW50ZW5zZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmctYWx0KSkpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXIt bWF0Y2gtZmFjZS0yICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxl dGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtc3VidGxlLWdyZWVuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ncmVlbg0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90 aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQp KSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUt Y3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1udWFuY2VkLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtZmFj ZS00ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt c3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3Ro ZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkp KSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWhpZ2hsaWdodCAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LWludGVuc2UtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1v ZGlmaWVkLWJ1ZmZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKGl2eS1tb2RpZmllZC1vdXRzaWRlLWJ1ZmZlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQot ICAgYChpdnktb3JnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAg IGAoaXZ5LXByb21wdC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBpdnktY3VycmVudC1tYXRjaCkp KQ0KLSAgIGAoaXZ5LXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAg IGAoaXZ5LXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChp dnktc3ViZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAo aXZ5LXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChpdnkteWFua2VkLXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRy YS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBibHVlLWFsdCkpKSkNCi07Ozs7OyBpdnktcG9zZnJhbWUNCi0gICBgKGl2eS1wb3NmcmFtZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChpdnktcG9zZnJhbWUtYm9yZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkN Ci0gICBgKGl2eS1wb3NmcmFtZS1jdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4g OmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi07Ozs7OyBqaXJhIChvcmctamlyYSkNCi0gICBgKGpp cmFsaWItY29tbWVudC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBg KGppcmFsaWItY29tbWVudC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQot ICAgYChqaXJhbGliLWlzc3VlLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGppcmFsaWItaXNzdWUtaW5mby1oZWFkZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtIGJvbGQpKSkpDQotICAg YChqaXJhbGliLWlzc3VlLXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQot ICAgYChqaXJhbGliLWxpbmstZmlsdGVyLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQot ICAgYChqaXJhbGliLWxpbmstaXNzdWUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGppcmFsaWItbGluay1wcm9qZWN0LWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQot Ozs7Ozsgam91cm5hbGN0bC1tb2RlDQotICAgYChqb3VybmFsY3RsLWVycm9yLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChqb3VybmFsY3RsLWZp bmlzaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkN Ci0gICBgKGpvdXJuYWxjdGwtaG9zdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkp DQotICAgYChqb3VybmFsY3RsLXByb2Nlc3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIpKSkNCi0gICBgKGpvdXJuYWxjdGwtc3RhcnRpbmctZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGpvdXJuYWxjdGwtdGltZXN0YW1wLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoam91cm5hbGN0bC13 YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkp DQotOzs7OzsganMyLW1vZGUNCi0gICBgKGpzMi1lcnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotICAgYChqczItZXh0ZXJuYWwtdmFyaWFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChqczItZnVuY3Rpb24tY2FsbCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoanMyLWZ1bmN0aW9uLXBhcmFtICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChqczItaW5zdGFuY2UtbWVtYmVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoanMyLWpzZG9jLWh0bWwtdGFn LWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoanMyLWpz ZG9jLWh0bWwtdGFnLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGpz Mi1qc2RvYy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAg IGAoanMyLWpzZG9jLXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAoanMyLWpzZG9jLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi0gICBgKGpzMi1vYmplY3QtcHJvcGVydHkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKGpzMi1vYmplY3QtcHJvcGVydHktYWNjZXNzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChqczItcHJpdmF0ZS1mdW5jdGlvbi1jYWxsICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGpzMi1wcml2YXRl LW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChq czItd2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCA6dW5kZXJsaW5lIHQp KSkNCi07Ozs7OyBqdWxpYQ0KLSAgIGAoanVsaWEtbWFjcm8tZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAg IGAoanVsaWEtcXVvdGVkLXN5bWJvbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dC1vdGhlcikpKQ0KLTs7Ozs7IGp1cHl0ZXINCi0gICBgKGp1cHl0ZXItZXZhbC1vdmVybGF5ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGp1cHl0ZXIt cmVwbC1pbnB1dC1wcm9tcHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYChqdXB5dGVyLXJlcGwtb3V0cHV0LXByb21wdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGp1cHl0ZXItcmVwbC10cmFjZWJhY2sgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyBrYW9jaGEtcnVu bmVyDQotICAgYChrYW9jaGEtcnVubmVyLWVycm9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAoa2FvY2hhLXJ1bm5lci1zdWNjZXNzLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQotICAgYChrYW9jaGEtcnVubmVyLXdhcm5pbmctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7Ozsga2V5Y2FzdA0KLSAgIGAoa2V5Y2FzdC1j b21tYW5kICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQotICAgYChrZXljYXN0LWtleSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUt bGluZS1hdHRycw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiBibHVlLWFj dGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiBibHVlLWFjdGl2ZQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hY3RpdmUgYmx1ZS1pbnRlbnNlDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWx0LXN0eWxlIC0zKSkpKQ0KLTs7Ozs7IGxp bmUgbnVtYmVycyAoZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZSBhbmQgZ2xvYmFsIHZhcmlhbnQp DQotICAgYChsaW5lLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNrZ3JvdW5k ICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobGluZS1udW1iZXItY3VycmVu dC1saW5lICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGxzcC1tb2RlDQotICAgYChsc3AtZmFjZS1o aWdobGlnaHQtcmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGxzcC1mYWNlLWhpZ2hsaWdodC10ZXh0dWFsICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChsc3AtZmFjZS1oaWdo bGlnaHQtd3JpdGUgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlIGJv bGQpKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1jb25zdGFudCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWRlcHJlY2F0ZWQNCi0g ICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xh c3MpDQotICAgICAgIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUp KQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGxzcC1mYWNlLXNlbWhsLWVudW1tZW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1maWVsZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWZpZWxkLXN0YXRpYyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAobHNwLWZhY2Utc2VtaGwtZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLW1ldGhvZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtbmFtZXNwYWNlICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtcHJlcHJvY2Vzc29yICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1zdGF0aWMtbWV0aG9kICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtY2xhc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLWVudW0gKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXByaW1p dGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS10ZW1wbGF0ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAobHNwLWZhY2Utc2VtaGwtdHlwZS10eXBlZGVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1o bC12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobHNwLWZhY2Ut c2VtaGwtdmFyaWFibGUtbG9jYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlLXBhcmFtZXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1sZW5zLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAw LjggOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobHNwLWxlbnMtbW91c2UtZmFjZSAoKCxj bGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOnVuZGVybGluZSB0 KSkpDQotICAgYChsc3AtdWktZG9jLWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KLSAgIGAobHNwLXVpLWRvYy1oZWFkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChsc3AtdWktZG9jLXVybCAo KCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQot ICAgYChsc3AtdWktcGVlay1maWxlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQotICAgYChsc3AtdWktcGVlay1mb290ZXIgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChsc3AtdWktcGVlay1o ZWFkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVh ZGVyKSkpDQotICAgYChsc3AtdWktcGVlay1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGxzcC11aS1wZWVrLWxpbmUtbnVtYmVyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGxzcC11aS1wZWVrLWxpc3QgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAobHNwLXVpLXBlZWstcGVlayAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChsc3AtdWktcGVlay1zZWxlY3Rpb24g KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGxzcC11 aS1zaWRlbGluZS1jb2RlLWFjdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQot ICAgYChsc3AtdWktc2lkZWxpbmUtY3VycmVudC1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6aGVpZ2h0IDAuOTkgOmJveCAoOmxpbmUtd2lkdGggLTEgOnN0eWxlIG5pbCkgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGxzcC11aS1zaWRlbGluZS1zeW1ib2wgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6aGVpZ2h0IDAuOTkgOmJveCAoOmxpbmUtd2lkdGggLTEgOnN0eWxlIG5pbCkg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbC1pbmZv ICgoLGNsYXNzIDpoZWlnaHQgMC45OSA6c2xhbnQgaXRhbGljKSkpDQotOzs7OzsgbWFnaXQNCi0g ICBgKG1hZ2l0LWJpc2VjdC1iYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIp KSkNCi0gICBgKG1hZ2l0LWJpc2VjdC1nb29kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJpc2VjdC1za2lwICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1ibGFtZS1kYXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChtYWdpdC1ibGFtZS1kaW1tZWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtaGFzaCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtYWdpdC1ibGFtZS1oZWFkaW5nICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWhpZ2hsaWdo dCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pKSkNCi0gICBgKG1h Z2l0LWJsYW1lLW1hcmdpbiAoKCxjbGFzcyA6aW5oZXJpdCBtYWdpdC1ibGFtZS1oaWdobGlnaHQp KSkNCi0gICBgKG1hZ2l0LWJsYW1lLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1ibGFtZS1zdW1tYXJ5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYnJhbmNoLWN1cnJlbnQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDpib3ggdCkpKQ0KLSAgIGAobWFnaXQtYnJh bmNoLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWFnaXQt YnJhbmNoLXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KG1hZ2l0LWJyYW5jaC1yZW1vdGUtaGVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIgOmJveCB0KSkpDQotICAgYChtYWdpdC1icmFuY2gtdXBzdHJlYW0gKCgsY2xhc3Mg OnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFnaXQtY2hlcnJ5LWVxdWl2YWxlbnQgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAg IGAobWFnaXQtY2hlcnJ5LXVubWF0Y2hlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6 Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQotICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBm cm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0aGUNCi0gICA7OyBtb2R1cy10aGVt ZS1kaWZmLSogZmFjZXMsIHRob3VnaCBvbmx5IGZvciB0aGUgc3RhbmRhcmQgYWN0aW9ucywNCi0g ICA7OyBub3QgdGhlIGhpZ2hsaWdodGVkIG9uZXMuICBUaGlzIGlzIGJlY2F1c2UgTWFnaXQncyBp bnRlcmFjdGlvbg0KLSAgIDs7IG1vZGVsIHJlbGllcyBvbiBoaWdobGlnaHRpbmcgdGhlIGN1cnJl bnQgZGlmZiBodW5rLg0KLSAgIGAobWFnaXQtZGlmZi1hZGRlZCAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmct bWFpbiBncmVlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFk ZGVkIGZnLWRpZmYtYWRkZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl ZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkKSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1hZGRlZC1o aWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCkp KQ0KLSAgIGAobWFnaXQtZGlmZi1iYXNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt ZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4geWVsbG93DQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYt Y2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1udWFuY2Vk LWJnIGZnLWRpZmYtY2hhbmdlZCkpKSkNCi0gICBgKG1hZ2l0LWRpZmYtYmFzZS1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2VkKSkpDQotICAg YChtYWdpdC1kaWZmLWNvbnRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkp KQ0KLSAgIGAobWFnaXQtZGlmZi1jb250ZXh0LWhpZ2hsaWdodCAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctZGltIGZnLWRpbQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZy1pbmFjdGl2ZSBmZy1pbmFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmctYWx0KSkpKQ0KLSAgIGAobWFn aXQtZGlmZi1maWxlLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1oaWdobGln aHQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCBib2xkKSkpKQ0K LSAgIGAobWFnaXQtZGlmZi1maWxlLWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBm cm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0aGUNCi0gICA7OyBtb2R1cy10aGVt ZS1kaWZmLSogZmFjZXMuDQotICAgYChtYWdpdC1kaWZmLWh1bmstaGVhZGluZyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFn aXQtZGlmZi1odW5rLWhlYWRpbmctaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJh Y2tncm91bmQgLGJnLWRpZmYtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWhlYWRpbmcpKSkNCi0gICBg KG1hZ2l0LWRpZmYtaHVuay1oZWFkaW5nLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1odW5rLXJlZ2lvbiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChtYWdpdC1kaWZmLWxpbmVzLWJvdW5kYXJ5ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYWdpdC1kaWZmLWxpbmVzLWhl YWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0g ICBgKG1hZ2l0LWRpZmYtcmVtb3ZlZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRp ZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIHJlZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZm LXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtbnVhbmNl ZC1iZyBmZy1kaWZmLXJlbW92ZWQpKSkpDQotICAgYChtYWdpdC1kaWZmLXJlbW92ZWQtaGlnaGxp Z2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKQ0K LSAgIGAobWFnaXQtZGlmZnN0YXQtYWRkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkp DQotICAgYChtYWdpdC1kaWZmc3RhdC1yZW1vdmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQp KSkNCi0gICBgKG1hZ2l0LWRpbW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2Vk KSkpDQotICAgYChtYWdpdC1maWxlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChtYWdpdC1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKG1hZ2l0LWhlYWQgKCgsY2xhc3MgOmluaGVyaXQgbWFnaXQtYnJhbmNoLWxvY2Fs KSkpDQotICAgYChtYWdpdC1oZWFkZXItbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtaGVhZGVyLWxpbmUta2V5ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG1h Z2l0LWhlYWRlci1saW5lLWxvZy1zZWxlY3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobWFnaXQta2V5d29yZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFnaXQta2V5d29yZC1zcXVhc2ggKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtbG9n LWF1dGhvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFnaXQtbG9nLWRh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtbG9nLWdyYXBo ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1hZ2l0LW1vZGUtbGluZS1w cm9jZXNzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQotICAgYChtYWdpdC1tb2RlLWxpbmUtcHJvY2Vzcy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChtYWdpdC1wcm9jZXNzLW5nICgo LGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQotICAgYChtYWdpdC1wcm9jZXNzLW9rICgoLGNsYXNz IDppbmhlcml0IHN1Y2Nlc3MpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1hbWVuZCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAg YChtYWdpdC1yZWZsb2ctY2hlY2tvdXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZv cmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWNoZXJyeS1waWNr ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNl KSkpDQotICAgYChtYWdpdC1yZWZsb2ctY29tbWl0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctbWVy Z2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVu c2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1vdGhlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct bWFpbiA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctcmVi YXNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWlu dGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1yZW1vdGUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9n LXJlc2V0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxyZWQtaW50 ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChtYWdpdC1yZWZuYW1lLXB1bGxyZXEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAobWFnaXQtcmVmbmFtZS1zdGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYChtYWdpdC1yZWZuYW1lLXdpcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYChtYWdpdC1zZWN0aW9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1hZ2l0LXNlY3Rpb24taGVhZGluZyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYWdpdC1z ZWN0aW9uLWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1y ZWZpbmUtY3lhbiBib2xkKSkpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbi1oaWdobGlnaHQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2UtZG9uZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1kcm9w ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1l eGVjICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2Vx dWVuY2UtaGVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG1hZ2l0 LXNlcXVlbmNlLW9udG8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFn aXQtc2VxdWVuY2UtcGFydCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAg IGAobWFnaXQtc2VxdWVuY2UtcGljayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN Ci0gICBgKG1hZ2l0LXNlcXVlbmNlLXN0b3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0K LSAgIGAobWFnaXQtc2lnbmF0dXJlLWJhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1lcnJvciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWV4cGlyZWQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWV4cGlyZWQta2V5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1n b29kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJl LXJldm9rZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG1hZ2l0LXNp Z25hdHVyZS11bnRydXN0ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1h Z2l0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLTs7Ozs7 IG1hZ2l0LWltZXJnZQ0KLSAgIGAobWFnaXQtaW1lcmdlLW92ZXJyaWRpbmctdmFsdWUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IG1hbg0KLSAg IGAoTWFuLW92ZXJzdHJpa2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoTWFuLXJldmVyc2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKE1hbi11bmRlcmxpbmUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4gOnVuZGVybGluZSB0KSkpDQotOzs7OzsgbWFya2Rvd24tbW9kZQ0KLSAgIGAobWFy a2Rvd24tYmxvY2txdW90ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFya2Rvd24tYm9sZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1hcmtkb3duLWNvZGUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKSkpKQ0KLSAgIGAobWFya2Rv d24tY29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFya2Rvd24tZm9vdG5vdGUtbWFya2VyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG1hcmtk b3duLWZvb3Rub3RlLXRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1nZm0tY2hlY2tib3gtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmtkb3du LWhlYWRlci1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJv bGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXIt ZmFjZSAoKHQgbmlsKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS0xICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZh Y2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCi0gICBgKG1h cmtkb3duLWhlYWRlci1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGlu Zy0zKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS00ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtNSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCi0gICBgKG1hcmtkb3duLWhl YWRlci1mYWNlLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy02KSkpDQot ICAgYChtYXJrZG93bi1oZWFkZXItcnVsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWFya2Rvd24taHItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KG1hcmtkb3duLWh0bWwtYXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtYXR0ci12YWx1 ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KLSAgIGAobWFya2Rvd24taHRtbC1lbnRpdHktZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFya2Rvd24taHRtbC10YWct ZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250 cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtdGFnLW5hbWUt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAobWFya2Rvd24taW5saW5lLWNvZGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFya2Rvd24taXRh bGljLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRh bGljKSkpDQotICAgYChtYXJrZG93bi1sYW5ndWFnZS1pbmZvLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCht YXJrZG93bi1sYW5ndWFnZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93bi1s aW5lLWJyZWFrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4g OnVuZGVybGluZSB0KSkpDQotICAgYChtYXJrZG93bi1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbGluaykpKQ0KLSAgIGAobWFya2Rvd24tbGluay10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAobWFya2Rvd24tbGlzdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0g ICBgKG1hcmtkb3duLW1hcmt1cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKG1hcmtkb3duLW1hdGgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKG1hcmtkb3duLW1ldGFkYXRhLWtleS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24tbWV0YWRhdGEtdmFs dWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG1hcmtkb3du LW1pc3NpbmctbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLSAgIGAobWFya2Rvd24tcGxhaW4tdXJsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bWFya2Rvd24tbGluay1mYWNlKSkpDQotICAgYChtYXJrZG93bi1wcmUtZmFjZSAoKCxjbGFzcyAs QChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9u dHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctZGlt DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQotICAgYChtYXJrZG93bi1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtYXJrZG93bi1tYXJrdXAtZmFjZSkpKQ0KLSAgIGAobWFya2Rvd24tc3RyaWtlLXRocm91Z2gt ZmFjZSAoKCxjbGFzcyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAobWFya2Rvd24tdGFibGUt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQotICAgYChtYXJrZG93bi11cmwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQpKSkNCi07Ozs7OyBtYXJrdXAtZmFjZXMgKGBhZG9jLW1vZGUnKQ0KLSAgIGAobWFya3VwLWFu Y2hvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFy a3VwLWF0dHJpYnV0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSA6c2xh bnQgaXRhbGljKSkpDQotICAgYChtYXJrdXAtYmlnLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjMg OmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLWJvbGQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAobWFy a3VwLWNvZGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAobWFya3VwLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJr dXAtY29tcGxleC1yZXBsYWNlbWVudC1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIg OmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFn ZW50YSkpKQ0KLSAgIGAobWFya3VwLWVtcGhhc2lzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYXJrdXAtZXJyb3ItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG1hcmt1 cC1nZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG1h cmt1cC1pbnRlcm5hbC1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJrdXAtaXRhbGljLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYCht YXJrdXAtbGlzdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2Fs bSkpKQ0KLSAgIGAobWFya3VwLW1ldGEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5h Y3RpdmUpKSkNCi0gICBgKG1hcmt1cC1tZXRhLWhpZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChtYXJrdXAtcGFzc3Rocm91Z2gtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFya3VwLXByZXBy b2Nlc3Nvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAg YChtYXJrdXAtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dC1vdGhlcikpKQ0KLSAgIGAobWFya3VwLXNlY29uZGFyeS10ZXh0LWZhY2UgKCgsY2xhc3MgOmhl aWdodCAwLjggOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXNt YWxsLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKG1hcmt1cC1zdHJvbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXN1YnNjcmlwdC1mYWNlICgoLGNsYXNzIDpo ZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmt1cC1z dXBlcnNjcmlwdC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKG1hcmt1cC10YWJsZS1jZWxsLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYXJrdXAtdGFibGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAobWFya3Vw LXRhYmxlLXJvdy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFu KSkpDQotICAgYChtYXJrdXAtdGl0bGUtMC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMy4wIDpmb3Jl Z3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS0xLWZhY2UgKCgsY2xh c3MgOmhlaWdodCAyLjQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3Vw LXRpdGxlLTItZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuOCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFu Y2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUtMy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS40IDpm b3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS00LWZhY2UgKCgs Y2xhc3MgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFy a3VwLXRpdGxlLTUtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWFya3VwLXZhbHVlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJrdXAtdmVyYmF0aW0tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBtZW50 b3INCi0gICBgKG1lbnRvci1kb3dubG9hZC1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1uYW1lICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1wcm9n cmVzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG1lbnRv ci1kb3dubG9hZC1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXNwZWVkLWRvd24gKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0KSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtc3BlZWQtdXAgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1zdGF0ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAobWVudG9yLWhpZ2hsaWdodC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChtZW50 b3ItdHJhY2tlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7 Ozs7IG1lc3NhZ2VzDQotICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC0yICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtZXNzYWdlLWNpdGVkLXRleHQtNCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVy LWNjICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAg YChtZXNzYWdlLWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLW5ld3Nncm91cHMgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtZXNzYWdlLWhlYWRlci1vdGhl ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K LSAgIGAobWVzc2FnZS1oZWFkZXItc3ViamVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItdG8gKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobWVzc2FnZS1o ZWFkZXIteGhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWVzc2Fn ZS1tbWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWVz c2FnZS1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0 cmFsKSkpDQotOzs7OzsgbWluaWJ1ZmZlci1saW5lDQotICAgYChtaW5pYnVmZmVyLWxpbmUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBtaW5pbWFwDQotICAgYChtaW5p bWFwLWFjdGl2ZS1yZWdpb24tYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0 aXZlKSkpDQotICAgYChtaW5pbWFwLWN1cnJlbnQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxjeWFuLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBtb2Rl bGluZQ0KLSAgIGAobW9kZS1saW5lICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbW9k ZS1saW5lLWF0dHJzDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWN0aXZlIGJnLWFj dGl2ZSBmZy1kaW0gYmctYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWx0 IGJnLWFjdGl2ZSAnYWx0LXN0eWxlIG5pbCBiZy1tYWluKSkpKQ0KLSAgIGAobW9kZS1saW5lLWJ1 ZmZlci1pZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChtb2RlLWxpbmUtZW1waGFz aXMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0g ICBgKG1vZGUtbGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0 aXZlLWJsdWUgOmJveCAoOmxpbmUtd2lkdGggLTEgOnN0eWxlIHByZXNzZWQtYnV0dG9uKSkpKQ0K LSAgIGAobW9kZS1saW5lLWluYWN0aXZlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt bW9kZS1saW5lLWF0dHJzDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmct aW5hY3RpdmUgYmctaW5hY3RpdmUgZmctYWx0IGJnLWRpbQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJnLXJlZ2lvbiBiZy1hY3RpdmUpKSkpDQotOzs7OzsgbW9vZC1saW5l DQotICAgYChtb29kLWxpbmUtbW9kaWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotICAgYChtb29kLWxpbmUtc3RhdHVzLWVycm9yICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMt aW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGlu ZS1zdGF0dXMtbmV1dHJhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0g ICBgKG1vb2QtbGluZS1zdGF0dXMtc3VjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWN0aXZlKSkpDQotICAgYChtb29kLWxpbmUtc3RhdHVzLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXVu aW1wb3J0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IG1w ZGVsDQotICAgYChtcGRlbC1icm93c2VyLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYChtcGRlbC1wbGF5bGlzdC1jdXJyZW50LXNvbmctZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLTs7Ozs7 IG11NGUNCi0gICBgKG11NGUtYXR0YWNoLW51bWJlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTEtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTMtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQt NS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChtdTRlLWNp dGVkLTYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG11NGUt Y2l0ZWQtNy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtdTRl LWNvbXBvc2UtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbXU0ZS1jb21wb3NlLXNlcGFy YXRvci1mYWNlKSkpDQotICAgYChtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAgYChtdTRlLWNvbnRh Y3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KLSAgIGAobXU0ZS1jb250ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWN0aXZlKSkpDQotICAgYChtdTRlLWRyYWZ0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChtdTRlLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KLSAgIGAobXU0ZS1mb290ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG11 NGUtZm9yd2FyZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQotICAgYChtdTRlLWhlYWRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKG11NGUtaGVhZGVyLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi0gICBgKG11NGUtaGVhZGVyLWtleS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtdTRlLWhlYWRlci1tYXJrcy1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtdTRl LWhlYWRlci10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQp KSkNCi0gICBgKG11NGUtaGVhZGVyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtaGlnaGxpZ2h0LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN Ci0gICBgKG11NGUtbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKG11 NGUtbW9kZWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN Ci0gICBgKG11NGUtbW92ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDpzbGFu dCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG11NGUtb2stZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobXU0ZS1yZWdpb24tY29kZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKG11NGUt cmVwbGllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50KSkpDQotICAgYCht dTRlLXNwZWNpYWwtaGVhZGVyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtc3lzdGVtLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1hcmstZGVsIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKG11NGUtdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAobXU0ZS10cmFzaGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAobXU0ZS11bnJlYWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChtdTRlLXVybC1udW1iZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS12aWV3LWJvZHkt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobXU0ZS13YXJuaW5n LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2FybmluZykpKQ0KLTs7Ozs7IG11NGUtY29udmVyc2F0 aW9uDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXIt MSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtdTRlLWNv bnZlcnNhdGlvbi1zZW5kZXItMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1z ZW5kZXItNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KLSAgIGAo bXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tcmVm aW5lLWZnKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5k ZXItOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUt Y29udmVyc2F0aW9uLXNlbmRlci1tZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAobXU0ZS1jb252ZXJzYXRpb24tdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkN Ci07Ozs7OyBtdWx0aXBsZS1jdXJzb3JzDQotICAgYChtYy9jdXJzb3ItYmFyLWZhY2UgKCgsY2xh c3MgOmhlaWdodCAxIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYy9jdXJzb3ItZmFj ZSAoKCxjbGFzcyA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChtYy9yZWdpb24tZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCByZWdpb24pKSkNCi07Ozs7OyBuZW90cmVlDQotICAgYChuZW8tYmFubmVy LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG5lby1idXR0b24t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKG5lby1kaXItbGluay1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG5lby1l eHBhbmQtYnRuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG5lby1m aWxlLWxpbmstZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobmVv LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKG5lby1yb290LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChuZW8tdmMtYWRkZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG5lby12Yy1jb25mbGljdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobmVvLXZjLWRlZmF1bHQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobmVvLXZjLWVkaXRlZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG5lby12Yy1pZ25vcmVk LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChuZW8tdmMt bWlzc2luZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChuZW8t dmMtbmVlZHMtbWVyZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkN Ci0gICBgKG5lby12Yy1uZWVkcy11cGRhdGUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKG5lby12Yy1yZW1vdmVkLWZhY2UgKCgsY2xhc3MgOnN0cmlrZS10aHJvdWdoIHQpKSkN Ci0gICBgKG5lby12Yy11bmxvY2tlZC1jaGFuZ2VzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi0gICBgKG5lby12Yy11cC10by1kYXRlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobmVvLXZjLXVzZXItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLTs7Ozs7IG5vLWVtb2ppDQotICAgYChuby1l bW9qaSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IG5vdG11Y2gNCi0gICBg KG5vdG11Y2gtY3J5cHRvLWRlY3J5cHRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKG5vdG11Y2gtY3J5cHRvLXBhcnQtaGVhZGVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobm90bXVjaC1jcnlw dG8tc2lnbmF0dXJlLWJhZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCkpKQ0KLSAgIGAobm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLWdvb2QgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWdu YXR1cmUtZ29vZC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxv dykpKQ0KLSAgIGAobm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLXVua25vd24gKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAobm90bXVjaC1oZWxsby1sb2dv LWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKG5vdG11 Y2gtbWVzc2FnZS1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbnVh bmNlZC1jeWFuKSkpDQotICAgYChub3RtdWNoLXNlYXJjaC1mbGFnZ2VkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG5vdG11Y2gtc2VhcmNoLW1hdGNoaW5nLWF1 dGhvcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5vdG11Y2gtc2Vh cmNoLW5vbi1tYXRjaGluZy1hdXRob3JzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKG5vdG11Y2gtc2VhcmNoLXVucmVhZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCi0gICBgKG5vdG11Y2gtdGFnLWFkZGVkDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRz IDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6 Y29sb3IgLGdyZWVuIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbiA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLWRlbGV0ZWQNCi0gICAgICgo LChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQot ICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAscmVkIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChub3RtdWNoLXRhZy1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAg YChub3RtdWNoLXRhZy1mbGFnZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChub3RtdWNoLXRhZy11bnJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotICAgYChub3RtdWNoLXRyZWUtbWF0Y2gtYXV0aG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobm90bXVjaC10cmVlLW1hdGNoLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5vdG11Y2gtdHJlZS1tYXRj aC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAobm90bXVjaC10cmVlLW5vLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAobm90bXVjaC13YXNoLWNpdGVkLXRleHQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKG5vdG11Y2gtd2FzaC10b2dnbGUtYnV0dG9uICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IG51bTMt bW9kZQ0KLSAgIGAobnVtMy1mYWNlLWV2ZW4gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dy b3VuZCAsYmctYWx0KSkpDQotOzs7OzsgbnhtbC1tb2RlDQotICAgYChueG1sLWF0dHJpYnV0ZS1j b2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobnhtbC1hdHRyaWJ1 dGUtbG9jYWwtbmFtZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4t YWx0IGN5YW4tYWx0LWZhaW50KSkpKQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtcHJlZml4ICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhl ci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtdmFsdWUg KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAg IGAobnhtbC1jZGF0YS1zZWN0aW9uLUNEQVRBICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0g ICBgKG54bWwtY2RhdGEtc2VjdGlvbi1kZWxpbWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkpDQotICAgYChueG1sLWNo YXItcmVmLWRlbGltaXRlciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVl bi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAobnhtbC1jaGFyLXJl Zi1udW1iZXIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVy IGdyZWVuLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWRl bGltaXRlZC1kYXRhICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobnhtbC1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobnhtbC1lbGVtZW50LWNvbG9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChueG1sLWVsZW1lbnQtbG9jYWwtbmFtZSAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkp DQotICAgYChueG1sLWVsZW1lbnQtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAg YChueG1sLWVudGl0eS1yZWYtZGVsaW1pdGVyICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBg KG54bWwtZW50aXR5LXJlZi1uYW1lICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdy ZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0K LSAgIGAobnhtbC1nbHlwaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5l dXRyYWwpKSkNCi0gICBgKG54bWwtaGFzaCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQg Ymx1ZS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtaGVhZGluZyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkKSkpDQotICAgYChueG1sLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLW5hbWVzcGFjZS1h dHRyaWJ1dGUtY29sb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG54 bWwtbmFtZXNwYWNlLWF0dHJpYnV0ZS1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYChueG1sLXByb2Nlc3Np bmctaW5zdHJ1Y3Rpb24tdGFyZ2V0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLXByb2xvZy1rZXl3b3Jk ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50 YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLXJlZiAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KQ0K LSAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdo dCkpKSkNCi07Ozs7OyBvYmplZA0KLSAgIGAob2JqZWQtaGwgKCgsY2xhc3MgOmJhY2tncm91bmQg LChpZiBtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1obC1hbHQtaW50ZW5zZSBiZy1obC1hbHQpKSkp DQotICAgYChvYmplZC1tYXJrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0g ICBgKG9iamVkLW1vZGUtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN Ci07Ozs7OyBvcmRlcmxlc3MNCi0gICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTAgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtbnVhbmNlZC1iZw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLXJlZmluZS1iZyBi bHVlLXJlZmluZS1mZykpKSkNCi0gICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTEgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtbnVhbmNlZC1iZw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1i ZyBtYWdlbnRhLXJlZmluZS1mZykpKSkNCi0gICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTIgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuIGdyZWVuLW51YW5jZWQtYmcNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVmaW5lLWJnIGdy ZWVuLXJlZmluZS1mZykpKSkNCi0gICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTMgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdyB5ZWxsb3ctbnVhbmNlZC1iZw0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctcmVmaW5lLWJnIHllbGxv dy1yZWZpbmUtZmcpKSkpDQotOzs7Ozsgb3JnDQotICAgYChvcmctYWdlbmRhLWNhbGVuZGFyLWV2 ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctYWdlbmRhLWNh bGVuZGFyLXNleHAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChvcmct YWdlbmRhLWNsb2NraW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29s ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1h am9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG9yZy1hZ2VuZGEtY29sdW1u LWRhdGVsaW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKG9yZy1hZ2Vu ZGEtY3VycmVudC10aW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQotICAgYChvcmctYWdlbmRhLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGF0ZS10b2RheSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAob3JnLWFnZW5k YS1kYXRlLXdlZWtlbmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChvcmctYWdlbmRhLWRpYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChvcmctYWdlbmRhLWRpbW1lZC10b2RvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChvcmctYWdlbmRhLWRvbmUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAob3JnLWFnZW5kYS1maWx0ZXItY2F0ZWdvcnkg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0g ICBgKG9yZy1hZ2VuZGEtZmlsdGVyLWVmZm9ydCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1maWx0ZXItcmVnZXhw ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQot ICAgYChvcmctYWdlbmRhLWZpbHRlci10YWdzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChvcmctYWdlbmRhLXJlc3RyaWN0aW9uLWxv Y2sgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQot ICAgYChvcmctYWdlbmRhLXN0cnVjdHVyZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKG9yZy1hcmNoaXZlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1ibG9jayAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrIGJnLWRpbSkNCi0gICAgICAgICAgICAgICAgICAgICAg ICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAob3JnLWJsb2NrLWJlZ2luLWxpbmUgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrLWRl bGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmctc3Bl Y2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1hbHQg Zmctc3BlY2lhbC1taWxkKSkpKQ0KLSAgIGAob3JnLWJsb2NrLWVuZC1saW5lICgoLGNsYXNzIDpp bmhlcml0IG9yZy1ibG9jay1iZWdpbi1saW5lKSkpDQotICAgYChvcmctY2hlY2tib3ggKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGJnLWFjdGl2ZSkNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFj dGl2ZSkpKQ0KLSAgIGAob3JnLWNoZWNrYm94LXN0YXRpc3RpY3MtZG9uZSAoKCxjbGFzcyA6aW5o ZXJpdCBvcmctZG9uZSkpKQ0KLSAgIGAob3JnLWNoZWNrYm94LXN0YXRpc3RpY3MtdG9kbyAoKCxj bGFzcyA6aW5oZXJpdCBvcmctdG9kbykpKQ0KLSAgIGAob3JnLWNsb2NrLW92ZXJsYXkgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChvcmctY29kZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKSA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAob3JnLWNvbHVtbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0 KSkpDQotICAgYChvcmctY29sdW1uLXRpdGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOnVuZGVy bGluZSB0IDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKG9yZy1kYXRlICgoLGNsYXNzIDpp bmhlcml0IChidXR0b24gZml4ZWQtcGl0Y2gpIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KLSAgIGAob3JnLWRhdGUtc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAob3JnLWRvY3VtZW50LWlu Zm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAob3JnLWRv Y3VtZW50LWluZm8ta2V5d29yZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVk LWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChvcmctZG9jdW1lbnQtdGl0bGUgKCgsY2xhc3MgOmluaGVy aXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTUpKSkpDQotICAgYChv cmctZG9uZSAoKCxjbGFzcyA6Ym94ICxiZy1yZWdpb24gOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG9yZy1kcmF3ZXIgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKG9yZy1lbGxpcHNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCBu aWwpKSkgOyBpbmhlcml0cyBmcm9tIHRoZSBoZWFkaW5nJ3MgY29sb3VyDQotICAgYChvcmctZm9v dG5vdGUgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LSAgIGAob3JnLWZvcm11bGEgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1m b250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQotICAgYChvcmctaGFiaXQtYWxlcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLXllbGxvdykpKQ0KLSAgIGAob3JnLWhhYml0LWFsZXJ0LWZ1dHVyZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKG9yZy1o YWJpdC1jbGVhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFn ZW50YSkpKQ0KLSAgIGAob3JnLWhhYml0LWNsZWFyLWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChvcmctaGFiaXQtb3ZlcmR1 ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAg YChvcmctaGFiaXQtb3ZlcmR1ZS1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChvcmctaGFiaXQtcmVhZHktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKG9yZy1oYWJpdC1yZWFk eS1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkp KQ0KLSAgIGAob3JnLWhlYWRsaW5lLWRvbmUgKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1l LXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2VkKSkpDQotICAgYChvcmct aGVhZGxpbmUtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0 Y2ggOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChvcmctaGlkZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAob3JnLWluZGVudCAoKCxjbGFzcyA6aW5oZXJp dCAoZml4ZWQtcGl0Y2ggb3JnLWhpZGUpKSkpDQotICAgYChvcmctbGF0ZXgtYW5kLXJlbGF0ZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQotICAgYChvcmctbGV2 ZWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBgKG9y Zy1sZXZlbC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KLSAg IGAob3JnLWxldmVsLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkp DQotICAgYChvcmctbGV2ZWwtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTQpKSkNCi0gICBgKG9yZy1sZXZlbC01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctNSkpKQ0KLSAgIGAob3JnLWxldmVsLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy02KSkpDQotICAgYChvcmctbGV2ZWwtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTcpKSkNCi0gICBgKG9yZy1sZXZlbC04ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctOCkpKQ0KLSAgIGAob3JnLWxpbmsgKCgsY2xhc3MgOmluaGVy aXQgbGluaykpKQ0KLSAgIGAob3JnLWxpc3QtZHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0K LSAgIGAob3JnLW1hY3JvICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChvcmctbWV0YS1saW5lICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKG9yZy1tb2RlLWxpbmUtY2xvY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKG9yZy1tb2RlLWxpbmUtY2xvY2stb3ZlcnJ1biAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAgYChvcmctcHJpb3JpdHkgKCgsY2xh c3MgOmJveCAsYmctcmVnaW9uIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKG9yZy1wcm9wZXJ0eS12YWx1ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLXF1b3RlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrIGJnLWRpbSkNCi0gICAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKG9yZy1zY2hlZHVsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAob3JnLXNjaGVkdWxlZC1wcmV2aW91c2x5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChvcmctc2NoZWR1bGVkLXRvZGF5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLXNl eHAtZGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctZGF0ZSkpKQ0KLSAgIGAob3JnLXNwZWNpYWwt a2V5d29yZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk KSkpDQotICAgYChvcmctdGFibGUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhl ZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChvcmctdGFibGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IChmaXhl ZC1waXRjaCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkpDQotICAgYChvcmctdGFnICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKG9yZy10YWctZ3Jv dXAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkKSkpDQot ICAgYChvcmctdGFyZ2V0ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAob3JnLXRpbWUt Z3JpZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChvcmctdG9k byAoKCxjbGFzcyA6Ym94ICxiZy1yZWdpb24gOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KLSAgIGAob3JnLXVwY29taW5nLWRlYWRsaW5lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChvcmctdXBjb21pbmctZGlzdGFudC1kZWFk bGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKG9yZy12ZXJi YXRpbSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAob3JnLXZlcnNlICgoLGNsYXNzIDppbmhlcml0IG9yZy1x dW90ZSkpKQ0KLSAgIGAob3JnLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IG9yZy1qb3VybmFsDQotICAgYChvcmctam91 cm5hbC1jYWxlbmRhci1lbnRyeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG9yZy1qb3VybmFsLWNh bGVuZGFyLXNjaGVkdWxlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVy IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG9yZy1qb3VybmFsLWhpZ2hsaWdo dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBvcmctbm90ZXIN Ci0gICBgKG9yZy1ub3Rlci1uby1ub3Rlcy1leGlzdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG9yZy1ub3Rlci1ub3Rlcy1leGlz dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkp KQ0KLTs7Ozs7IG9yZy1wb21vZG9ybw0KLSAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLXBvbW9kb3JvLW1vZGUt bGluZS1icmVhayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKG9y Zy1wb21vZG9yby1tb2RlLWxpbmUtb3ZlcnRpbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLTs7Ozs7IG9yZy1yZWN1cg0KLSAgIGAob3JnLXJlY3Vy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLTs7Ozs7IG9yZy1yb2Ft DQotICAgYChvcmctcm9hbS1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKG9yZy1yb2FtLWxpbmstY3VycmVudCAoKCxjbGFzcyA6aW5oZXJp dCBidXR0b24gOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAob3JnLXJvYW0tbGluay1p bnZhbGlkICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAg YChvcmctcm9hbS1saW5rLXNoaWVsZGVkICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotICAgYChvcmctcm9hbS10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotOzs7Ozsgb3JnLXN1cGVyc3Rhcg0KLSAgIGAob3Jn LXN1cGVyc3Rhci1pdGVtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChv cmctc3VwZXJzdGFyLWxlYWRpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2Up KSkNCi07Ozs7OyBvcmctdGFibGUtc3RpY2t5LWhlYWRlcg0KLSAgIGAob3JnLXRhYmxlLXN0aWNr eS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRy YWwpKSkNCi07Ozs7OyBvcmctdHJlZXNjb3BlDQotICAgYChvcmctdHJlZXNjb3BlLWZhY2VzLS1t YXJrZXJpbnRlcm5hbC1taWRkYXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1ibHVlKSkpDQotICAgYChvcmctdHJlZXNjb3BlLWZhY2VzLS1tYXJrZXJpbnRlcm5hbC1yYW5n ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBv cmlnYW1pDQotICAgYChvcmlnYW1pLWZvbGQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltIDpib3ggdCkpKQ0KLSAgIGAob3JpZ2FtaS1m b2xkLXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotOzs7Ozsgb3V0bGluZS1tb2RlDQotICAgYChvdXRsaW5lLTEgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotICAgYChvdXRsaW5lLTIg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQotICAgYChvdXRsaW5l LTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChvdXRs aW5lLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQotICAgYChv dXRsaW5lLTUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01KSkpDQotICAg YChvdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy02KSkpDQot ICAgYChvdXRsaW5lLTcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy03KSkp DQotICAgYChvdXRsaW5lLTggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy04 KSkpDQotOzs7Ozsgb3V0bGluZS1taW5vci1mYWNlcw0KLSAgIGAob3V0bGluZS1taW5vci0wICgo LGNsYXNzIG5pbCkpKQ0KLTs7Ozs7IHBhY2thZ2UgKE0teCBsaXN0LXBhY2thZ2VzKQ0KLSAgIGAo cGFja2FnZS1kZXNjcmlwdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQotICAgYChwYWNrYWdlLWhlbHAtc2VjdGlvbi1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChwYWNrYWdlLW5hbWUg KCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtYXZhaWwtb2Jz byAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHBhY2th Z2Utc3RhdHVzLWF2YWlsYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1idWlsdC1pbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtZGVwZW5kZW5jeSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWRpc2Fi bGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKHBh Y2thZ2Utc3RhdHVzLWV4dGVybmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtaGVsZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFsdCkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtaW5jb21wYXQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1pbnN0 YWxsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAocGFj a2FnZS1zdGF0dXMtbmV3ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVu KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy11bnNpZ25lZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgcGFnZS1icmVhay1saW5lcw0KLSAgIGAo cGFnZS1icmVhay1saW5lcyAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpmb3JlZ3JvdW5kICxm Zy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KLTs7Ozs7IHBhcmFkb3gNCi0gICBgKHBhcmFkb3gt YXJjaGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0g ICBgKHBhcmFkb3gtY29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAocGFyYWRveC1jb21taXQtdGFnLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgOmJveCB0KSkpDQot ICAgYChwYXJhZG94LWRlc2NyaXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAocGFyYWRveC1kZXNjcmlwdGlvbi1mYWNlLW11bHRpbGluZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYXJhZG94LWRv d25sb2FkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkg OmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChwYXJhZG94LWhpZ2hsaWdodC1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocGFyYWRveC1ob21lcGFnZS1idXR0b24tZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkp DQotICAgYChwYXJhZG94LW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChwYXJhZG94LW5hbWUtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHBhcmFkb3gtc3Rhci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChwYXJhZG94LXN0YXJy ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBwYXJl bi1mYWNlDQotICAgYChwYXJlbnRoZXNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1 c2VkKSkpDQotOzs7OzsgcGFycm90DQotICAgYChwYXJyb3Qtcm90YXRlLXJvdGF0aW9uLWhpZ2hs aWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkp DQotOzs7OzsgcGFzcw0KLSAgIGAocGFzcy1tb2RlLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocGFzcy1t b2RlLWVudHJ5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKHBhc3MtbW9kZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotOzs7OzsgcGVyc3AtbW9kZQ0KLSAgIGAocGVyc3At ZmFjZS1saWdodGVyLWJ1ZmZlci1ub3QtaW4tcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHBlcnNwLWZhY2UtbGlnaHRlci1kZWZhdWx0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChw ZXJzcC1mYWNlLWxpZ2h0ZXItbmlsLXBlcnNwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWFjdGl2ZSkpKQ0KLTs7Ozs7IHBlcnNwZWN0aXZlDQotICAgYChwZXJzcC1zZWxl Y3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZl KSkpDQotOzs7OzsgcGhpLWdyZXANCi0gICBgKHBoaS1ncmVwLWhlYWRpbmctZmFjZSAgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKHBoaS1ncmVwLWxpbmUtbnVtYmVyLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAocGhpLWdyZXAt bWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkN Ci0gICBgKHBoaS1ncmVwLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAocGhpLWdyZXAtb3ZlcmxheS1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotOzs7OzsgcGhpLXNlYXJjaA0K LSAgIGAocGhpLXJlcGxhY2UtcHJldmlldy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAocGhpLXNlYXJjaC1mYWlscGFydC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKHBoaS1zZWFy Y2gtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikp KQ0KLSAgIGAocGhpLXNlYXJjaC1zZWxlY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9k dXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLTs7Ozs7IHBrZ2J1aWxkLW1vZGUNCi0g ICBgKHBrZ2J1aWxkLWVycm9yLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSAsZmctbGFuZy1lcnJv cikpKQ0KLTs7Ozs7IHBvbWlkb3INCi0gICBgKHBvbWlkb3ItYnJlYWstZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHBvbWlkb3Itb3ZlcndvcmstZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAocG9taWRvci1z a2lwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1l LXNsYW50KSkpDQotICAgYChwb21pZG9yLXdvcmstZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0LW90aGVyKSkpDQotOzs7OzsgcG93ZXJsaW5lDQotICAgYChwb3dlcmxpbmUtYWN0 aXZlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsYmx1ZS1mYWlu dCA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChwb3dlcmxpbmUtYWN0aXZlMSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkN Ci0gICBgKHBvd2VybGluZS1hY3RpdmUyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUg OmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAocG93ZXJsaW5lLWluYWN0aXZlMCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKHBvd2VybGluZS1pbmFjdGl2ZTEgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHBvd2VybGluZS1pbmFj dGl2ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1p bmFjdGl2ZSkpKQ0KLTs7Ozs7IHBvd2VybGluZS1ldmlsDQotICAgYChwb3dlcmxpbmUtZXZpbC1i YXNlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1h aW4pKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLWVtYWNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLWluc2Vy dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0KLSAg IGAocG93ZXJsaW5lLWV2aWwtbW90aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLW5vcm1hbC1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKHBv d2VybGluZS1ldmlsLW9wZXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt YWN0aXZlLXllbGxvdykpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtcmVwbGFjZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCi0gICBgKHBvd2VybGluZS1l dmlsLXZpc3VhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFu KSkpDQotOzs7OzsgcHJvY2VkDQotICAgYChwcm9jZWQtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAocHJvY2VkLW1hcmtlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkpKQ0KLSAgIGAocHJvY2VkLXNvcnQtaGVhZGVy ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6dW5k ZXJsaW5lIHQpKSkNCi07Ozs7OyBwcm9kaWd5DQotICAgYChwcm9kaWd5LWdyZWVuLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChwcm9kaWd5LXJlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHByb2RpZ3kteWVsbG93LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHJhY2tldC1tb2RlDQotICAgYChyYWNr ZXQtZGVidWctYnJlYWstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCkpKQ0KLSAgIGAocmFja2V0LWRlYnVnLWxvY2Fscy1mYWNlICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIC0xIDpjb2xvciBuaWwpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFja2V0LWRl YnVnLXJlc3VsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGgg LTEgOmNvbG9yIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHJhY2tldC1oZXJlLXN0cmluZy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAocmFja2V0LWtleXdvcmQtYXJndW1l bnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAocmFja2V0LWxv Z2dlci1jb25maWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9k dXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHJhY2tldC1sb2dnZXItZGVidWctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhY2tldC1sb2dnZXItaW5m by1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUpKSkNCi0gICBgKHJhY2tl dC1sb2dnZXItdG9waWMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChyYWNrZXQtc2VsZmV2YWwtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChyYWNrZXQteHAtZXJyb3ItZmFjZQ0K LSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBj bGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3 YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxp bmUgdCkpKQ0KLTs7Ozs7IHJhaW5ib3ctYmxvY2tzDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0 aC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChyYWluYm93LWJsb2Nrcy1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAocmFpbmJvdy1ibG9j a3MtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChyYWlu Ym93LWJsb2Nrcy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtOC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy11bm1hdGNoZWQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotOzs7OzsgcmFpbmJvdy1pZGVudGlmaWVy cw0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVu dGlmaWVyLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci00 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93 LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci02ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRl bnRpZmllci03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmFp bmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItOSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVu dGlmaWVyLTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocmFpbmJvdy1p ZGVudGlmaWVycy1pZGVudGlmaWVyLTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJz LWlkZW50aWZpZXItMTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChy YWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hbHQpKSkNCi07Ozs7OyByYWluYm93LWRlbGltaXRlcnMNCi0gICBgKHJhaW5ib3ctZGVsaW1p dGVycy1iYXNlLWZhY2UtZXJyb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo cmFpbmJvdy1kZWxpbWl0ZXJzLWJhc2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVw dGgtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC00LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ct ZGVsaW1pdGVycy1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90 aGVyKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC03 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChyYWluYm93 LWRlbGltaXRlcnMtZGVwdGgtOC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkp KQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLW1pc21hdGNoZWQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAg YChyYWluYm93LWRlbGltaXRlcnMtdW5tYXRjaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotOzs7OzsgcmNpcmMNCi0gICBgKHJjaXJjLWJyaWdodC1u aWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQot ICAgYChyY2lyYy1kaW0tbmljayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChyY2lyYy1teS1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKHJjaXJjLW5pY2staW4tbWVzc2FnZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJjaXJjLW5pY2staW4tbWVzc2FnZS1mdWxsLWxp bmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkp DQotICAgYChyY2lyYy1vdGhlci1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocmNpcmMtcHJvbXB0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChyY2lyYy1zZXJ2 ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAocmNpcmMtdGlt ZXN0YW1wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHJjaXJj LXVybCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBy ZWdleHAtYnVpbGRlciAocmUtYnVpbGRlcikNCi0gICBgKHJlYi1tYXRjaC0wICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAocmViLW1hdGNoLTEgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChyZWIt bWF0Y2gtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQot ICAgYChyZWItbWF0Y2gtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCkpKQ0KLSAgIGAocmViLXJlZ2V4cC1ncm91cGluZy1iYWNrc2xhc2ggKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3NsYXNoKSkpDQotICAgYChy ZWItcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi07Ozs7OyByZyAocmcuZWwpDQot ICAgYChyZy1jb2x1bW4tbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChyZy1jb250ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAocmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHJnLWZpbGUtdGFnLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocmctZmlsZW5hbWUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0g ICBgKHJnLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KLSAgIGAocmctbGl0ZXJhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAocmctbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKHJnLXJlZ2V4cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAocmctdG9nZ2xlLW9mZi1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChyZy10b2dn bGUtb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KLSAgIGAocmctd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHJpcGdyZXANCi0gICBgKHJpcGdyZXAtY29udGV4dC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKHJpcGdyZXAt ZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKHJpcGdyZXAtaGl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KHJpcGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNhbG0pKSkNCi07Ozs7OyBybWFpbA0KLSAgIGAocm1haWwtaGVhZGVyLW5hbWUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChybWFpbC1oaWdobGlnaHQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBy dWxlci1tb2RlDQotICAgYChydWxlci1tb2RlLWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmluaGVy aXQgKHJ1bGVyLW1vZGUtZGVmYXVsdCBib2xkKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAocnVsZXItbW9kZS1jb21tZW50LWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2Rl LWRlZmF1bHQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtY3Vy cmVudC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSA6Ym94IHQpKSkNCi0gICBgKHJ1bGVyLW1vZGUtZGVmYXVsdCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkp DQotICAgYChydWxlci1tb2RlLWZpbGwtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1v ZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChydWxlci1tb2Rl LWZyaW5nZXMgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5k ICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1nb2FsLWNvbHVtbiAoKCxjbGFzcyA6 aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkp DQotICAgYChydWxlci1tb2RlLW1hcmdpbnMgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1k ZWZhdWx0IDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChydWxlci1tb2RlLXBhZCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0K LSAgIGAocnVsZXItbW9kZS10YWItc3RvcCAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRl ZmF1bHQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07Ozs7OyBzYWxsZXQNCi0gICBg KHNhbGxldC1idWZmZXItY29tcHJlc3NlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51 YW5jZWQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1kZWZhdWx0LWRpcmVj dG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkKSkpDQotICAgYChzYWxsZXQt YnVmZmVyLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQot ICAgYChzYWxsZXQtYnVmZmVyLWhlbHAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdC1vdGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAgYChzYWxsZXQtYnVmZmVy LW9yZGluYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzYWxsZXQt YnVmZmVyLXJlYWQtb25seSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAg IGAoc2FsbGV0LWJ1ZmZlci1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNh bG0pKSkNCi0gICBgKHNhbGxldC1idWZmZXItc3BlY2lhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHNhbGxldC1mbHgtbWF0Y2ggKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4NCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFuDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIpKSkpDQotICAgYChz YWxsZXQtcmVjZW50Zi1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFu Y2VkKSkpDQotICAgYChzYWxsZXQtcmVjZW50Zi1maWxlLXBhdGggKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoc2FsbGV0LXJlZ2V4cC1tYXRjaCAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1h Z2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhLWFsdC1vdGhlcikpKSkNCi0gICBgKHNhbGxldC1zb3VyY2UtaGVhZGVyICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5k aS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAoc2FsbGV0LXN1YnN0cmluZy1tYXRjaCAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5l LWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLW51YW5jZWQtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBibHVlLWFsdC1vdGhlcikpKSkNCi07Ozs7OyBzZWxlY3RydW0NCi0gICBgKHNlbGVjdHJ1bS1j dXJyZW50LWNhbmRpZGF0ZQ0KLSAgICAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctbWFpbiA6dW5kZXJsaW5lICxmZy1tYWluDQotICAgICAgICAgICAgICA6YmFja2dyb3Vu ZCAsQChwY2FzZSBtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCdvcGluaW9uYXRlZCAobGlzdCBiZy1hY3RpdmUpKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChfIChsaXN0IGJnLWluYWN0aXZlKSkpKSkpDQotICAg YChzZWxlY3RydW0tcHJpbWFyeS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLW51YW5jZWQtYmcNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1iZyBt YWdlbnRhLXJlZmluZS1mZykpKSkNCi0gICBgKHNlbGVjdHJ1bS1zZWNvbmRhcnktaGlnaGxpZ2h0 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0 LW90aGVyIGN5YW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcpKSkpDQotOzs7Ozsg c2VtYW50aWMNCi0gICBgKHNlbWFudGljLWNvbXBsZXRlLWlubGluZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnVuZGVybGluZSB0KSkpDQotICAgYChzZW1hbnRp Yy1kZWNvcmF0aW9uLW9uLXByaXZhdGUtbWVtYmVycy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLXBy b3RlY3RlZC1tZW1iZXJzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAg IGAoc2VtYW50aWMtaGlnaGxpZ2h0LWVkaXRzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KLSAgIGAoc2VtYW50aWMtaGlnaGxpZ2h0LWZ1bmMtY3VycmVudC10YWctZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChzZW1hbnRpYy1pZGxlLXN5bWJv bC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkp DQotICAgYChzZW1hbnRpYy10YWctYm91bmRhcnktZmFjZSAoKCxjbGFzcyA6b3ZlcmxpbmUgLGJs dWUtaW50ZW5zZSkpKQ0KLSAgIGAoc2VtYW50aWMtdW5tYXRjaGVkLXN5bnRheC1mYWNlICgoLGNs YXNzIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyBzZXNtYW4NCi0gICBgKHNl c21hbi1icm93c2VyLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHNlc21hbi1icm93c2VyLWhpZ2hsaWdoLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKHNlc21h bi1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoc2Vz bWFuLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJs dWUpKSkNCi0gICBgKHNlc21hbi1wcm9qZWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBzaGVsbC1zY3JpcHQtbW9k ZQ0KLSAgIGAoc2gtaGVyZWRvYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0g ICBgKHNoLXF1b3RlZC1leGVjICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13 ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHNob3ctcGFyZW4tbW9k ZQ0KLSAgIGAoc2hvdy1wYXJlbi1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXBhcmVuIGJnLXBhcmVuLW1hdGNoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KHNob3ctcGFyZW4tbWF0Y2gtZXhwcmVzc2lvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKHNob3ctcGFyZW4tbWlzbWF0Y2ggKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyBzaWRlLW5vdGVzDQotICAg YChzaWRlLW5vdGVzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KLTs7Ozs7IHNrZXdlci1tb2RlDQotICAgYChza2V3ZXItZXJyb3ItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHNtYXJ0LW1vZGUt bGluZQ0KLSAgIGAoc21sL2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3Rp dmUpKSkNCi0gICBgKHNtbC9kaXNjaGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFj dGl2ZSkpKQ0KLSAgIGAoc21sL2ZpbGVuYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChzbWwvZm9sZGVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKHNtbC9naXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChzbWwvZ2xvYmFsICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKHNtbC9saW5lLW51bWJlciAoKCxjbGFzcyA6 aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvbWlub3ItbW9kZXMgKCgsY2xhc3MgOmlu aGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL21vZGVzICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL21vZGlmaWVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChzbWwv bXVsZS1pbmZvICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9uYW1l LWZpbGxpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKHNt bC9ub3QtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21s L251bWJlcnMtc2VwYXJhdG9yICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBg KHNtbC9vdXRzaWRlLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtcmVkKSkpDQotICAgYChzbWwvcG9zaXRpb24tcGVyY2VudGFnZSAoKCxjbGFzcyA6aW5oZXJp dCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvcHJlZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCi0gICBgKHNtbC9wcm9jZXNzICgoLGNsYXNzIDppbmhlcml0IHNtbC9w cmVmaXgpKSkNCi0gICBgKHNtbC9wcm9qZWN0aWxlICgoLGNsYXNzIDppbmhlcml0IHNtbC9naXQp KSkNCi0gICBgKHNtbC9yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHNtbC9yZW1vdGUgKCgsY2xhc3MgOmluaGVyaXQgc21s L2dsb2JhbCkpKQ0KLSAgIGAoc21sL3N1ZG8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLXJlZCkpKQ0KLSAgIGAoc21sL3RpbWUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2Jh bCkpKQ0KLSAgIGAoc21sL3ZjICgoLGNsYXNzIDppbmhlcml0IHNtbC9naXQpKSkNCi0gICBgKHNt bC92Yy1lZGl0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFj dGl2ZSkpKQ0KLTs7Ozs7IHNtYXJ0cGFyZW5zDQotICAgYChzcC1wYWlyLW92ZXJsYXktZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHNwLXNo b3ctcGFpci1lbmNsb3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1t aWxkKSkpDQotICAgYChzcC1zaG93LXBhaXItbWF0Y2gtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLXBhcmVuIGJnLXBhcmVuLW1hdGNoDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXBhcmVuLW1h dGNoLWludGVuc2UpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3Atc2hvdy1wYWlyLW1pc21hdGNoLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHNwLXdyYXAt b3ZlcmxheS1jbG9zaW5nLXBhaXIgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5LWZh Y2UpKSkNCi0gICBgKHNwLXdyYXAtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNwLXBh aXItb3ZlcmxheS1mYWNlKSkpDQotICAgYChzcC13cmFwLW92ZXJsYXktb3BlbmluZy1wYWlyICgo LGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQotICAgYChzcC13cmFwLXRh Zy1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5LWZhY2UpKSkN Ci07Ozs7OyBzbWVyZ2UNCi0gICBgKHNtZXJnZS1iYXNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KLSAgIGAoc21lcmdlLWxvd2VyICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQpKSkNCi0gICBgKHNtZXJnZS1tYXJrZXJzICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1u ZXV0cmFsLTIpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLWFkZGVkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYChzbWVyZ2UtcmVmaW5lZC1j aGFuZ2VkICgoLGNsYXNzKSkpDQotICAgYChzbWVyZ2UtcmVmaW5lZC1yZW1vdmVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQpKSkNCi0gICBgKHNtZXJn ZS11cHBlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCi07 Ozs7OyBzcGFjZWxpbmUNCi0gICBgKHNwYWNlbGluZS1ldmlsLWVtYWNzICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhKSkpDQotICAgYChzcGFjZWxpbmUtZXZpbC1p bnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuKSkpDQotICAg YChzcGFjZWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0 aXZlLWJsdWUpKSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLW5vcm1hbCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHNwYWNlbGluZS1ldmls LXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KLSAg IGAoc3BhY2VsaW5lLWV2aWwtdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFj dGl2ZS1jeWFuKSkpDQotICAgYChzcGFjZWxpbmUtZmx5Y2hlY2stZXJyb3IgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKHNwYWNlbGluZS1mbHljaGVjay1pbmZvICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWZseWNo ZWNrLXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBg KHNwYWNlbGluZS1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UtYmx1ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQotICAgYChzcGFjZWxpbmUtcHl0aG9uLXZl bnYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChzcGFjZWxp bmUtcmVhZC1vbmx5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkN Ci0gICBgKHNwYWNlbGluZS11bm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS1jeWFuKSkpDQotOzs7Ozsgc3BlZWRiYXINCi0gICBgKHNwZWVkYmFyLWJ1dHRvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKHNwZWVkYmFyLWRpcmVjdG9yeS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHNw ZWVkYmFyLWZpbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo c3BlZWRiYXItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Vi dGxlLWJsdWUpKSkNCi0gICBgKHNwZWVkYmFyLXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoc3BlZWRiYXItc2VwYXJhdG9yLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAg YChzcGVlZGJhci10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KLTs7Ozs7IHNwZWxsLWZ1DQotICAgYChzcGVsbC1mdS1pbmNvcnJlY3QtZmFjZQ0KLSAg ICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFz cykNCi0gICAgICAgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSAoOnN0eWxl IHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVy bGluZSB0KSkpDQotOzs7Ozsgc3RyaXBlcw0KLSAgIGAoc3RyaXBlcyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotOzs7Ozsgc3VjY2Vzcw0KLSAgIGAoc3VnZ2VzdC1o ZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCi07Ozs7OyBzd2l0Y2gtd2luZG93DQotICAgYChzd2l0Y2gtd2luZG93LWJhY2tncm91 bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoc3dpdGNoLXdpbmRvdy1s YWJlbCAoKCxjbGFzcyA6aGVpZ2h0IDMuMCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQot Ozs7Ozsgc3dpcGVyDQotICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTEgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCi0gICBgKHN3aXBlci1i YWNrZ3JvdW5kLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtY3lhbikpKQ0KLSAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS0zICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYChzd2lwZXItYmFj a2dyb3VuZC1tYXRjaC1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LWdyZWVuKSkpDQotICAgYChzd2lwZXItbGluZS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1h Y3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHN3 aXBlci1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgc3dpcGVyLWxpbmUtZmFjZSkpKQ0K LSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXItbGluZS1m YWNlKSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IHN3aXBl ci1saW5lLWZhY2UpKSkNCi0gICBgKHN3aXBlci1tYXRjaC1mYWNlLTQgKCgsY2xhc3MgOmluaGVy aXQgc3dpcGVyLWxpbmUtZmFjZSkpKQ0KLTs7Ozs7IHN3b29wDQotICAgYChzd29vcC1mYWNlLWhl YWRlci1mb3JtYXQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMykpKSkNCi0g ICBgKHN3b29wLWZhY2UtbGluZS1idWZmZXItbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1z Y2FsZS00KSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChzd29vcC1mYWNlLXRhcmdldC1saW5lICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcp ICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKHN3b29wLWZhY2UtdGFyZ2V0LXdvcmRzICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotOzs7Ozsgc3gNCi0gICBgKHN4 LWluYm94LWl0ZW0tdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKHN4LWluYm94LWl0ZW0tdHlwZS11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgKHN4 LWluYm94LWl0ZW0tdHlwZSBib2xkKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1hbnN3ZXJz ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1h bnN3ZXJzLWFjY2VwdGVkICgoLGNsYXNzIDpib3ggdCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKHN4LXF1ZXN0aW9uLWxpc3QtYm91bnR5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tn cm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChzeC1xdWVzdGlvbi1s aXN0LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAo c3gtcXVlc3Rpb24tbGlzdC1mYXZvcml0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtcGFyZW50ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LXJl YWQtcXVlc3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbGlzdC1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkp DQotICAgYChzeC1xdWVzdGlvbi1saXN0LXNjb3JlLXVwdm90ZWQgKCgsY2xhc3MgOmluaGVyaXQg KHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUgYm9sZCkpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3Qt dW5yZWFkLXF1ZXN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtYWNjZXB0ZWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6aGVpZ2h0IDEuMyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9u LW1vZGUtY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cg OmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9k ZS1jbG9zZWQtcmVhc29uICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCkg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtY29udGVudC1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1v ZGUtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24t bW9kZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K LSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1rYmQtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhl aWdodCAwLjkgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLW1haW4gOnN0eWxlIHJlbGVh c2VkLWJ1dHRvbikgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1v ZGUtc2NvcmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoc3gtcXVlc3Rp b24tbW9kZS1zY29yZS1kb3dudm90ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1zY29yZS11cHZvdGVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtdGl0bGUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gt cXVlc3Rpb24tbW9kZS10aXRsZS1jb21tZW50cyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHN4LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKHN4LXVzZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCi0gICBgKHN4LXVzZXItcmVwdXRhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotOzs7Ozsgc3ltYm9sLW92ZXJsYXkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWRl ZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtMiAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJs YXktZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93KSkp DQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTUgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHN5bWJvbC1vdmVy bGF5LWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQot ICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1jeWFuKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTggKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07Ozs7OyBzeXNsb2ctbW9kZQ0KLSAg IGAoc3lzbG9nLWRlYnVnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChzeXNsb2ctZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChzeXNsb2ctZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHN5c2xvZy1oaWRlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChzeXNsb2ctaG91ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KLSAgIGAoc3lzbG9nLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1pcCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQgOnVuZGVybGluZSB0KSkp DQotICAgYChzeXNsb2ctc3UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KLSAgIGAoc3lzbG9nLXdhcm4gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotOzs7OzsgdGFibGUgKGJ1aWx0LWluIHRhYmxlLmVsKQ0KLSAgIGAo dGFibGUtY2VsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnKSkpDQotOzs7 OzsgdGVsZXBob25lLWxpbmUNCi0gICBgKHRlbGVwaG9uZS1saW5lLWFjY2VudC1hY3RpdmUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGZnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1pbmFjdGl2ZSkp KQ0KLSAgIGAodGVsZXBob25lLWxpbmUtYWNjZW50LWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBob25l LWxpbmUtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1lbWFjcyAoKCxjbGFzcyA6aW5oZXJp dCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWludGVuc2UtYmcpKSkN Ci0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtaW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IHRlbGVw aG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkNCi0gICBgKHRl bGVwaG9uZS1saW5lLWV2aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5l LWV2aWwgOmJhY2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnKSkpDQotICAgYCh0ZWxlcGhvbmUt bGluZS1ldmlsLW5vcm1hbCAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpi YWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtb3BlcmF0b3Ig KCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAseWVsbG93 LXN1YnRsZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1yZXBsYWNlICgoLGNsYXNz IDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJn KSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCB0 ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBg KHRlbGVwaG9uZS1saW5lLXByb2plY3RpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0 aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS11bmltcG9ydGFudCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLXdhcm5pbmcgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7IHRl cm0NCi0gICBgKHRlcm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKHRlcm0tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQot ICAgYCh0ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKHRlcm0tY29sb3ItY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Y3lhbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAodGVybS1jb2xvci1ncmVlbiAoKCxjbGFz cyA6YmFja2dyb3VuZCAsZ3JlZW4gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYCh0ZXJtLWNv bG9yLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCi0gICBgKHRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQg OmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAodGVybS1jb2xvci15ZWxsb3cgKCgsY2xhc3MgOmJh Y2tncm91bmQgLHllbGxvdyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYCh0ZXJtLXVuZGVy bGluZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyB0b21hdGluaG8NCi0gICBgKHRv bWF0aW5oby1vay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0g ICBgKHRvbWF0aW5oby1wYXVzZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50 ZW5zZSkpKQ0KLSAgIGAodG9tYXRpbmhvLXJlc2V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLTs7Ozs7IHRyYW5zaWVudA0KLSAgIGAodHJhbnNpZW50LWFjdGl2ZS1pbmZp eCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHRy YW5zaWVudC1hbWFyYW50aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCi0gICBgKHRyYW5zaWVudC1hcmd1bWVudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYCh0cmFuc2llbnQtYmx1ZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCh0cmFuc2llbnQtZGlzYWJsZWQt c3VmZml4ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAg YCh0cmFuc2llbnQtZW5hYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAodHJhbnNpZW50LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJhbnNpZW50LWluYWN0aXZl LWFyZ3VtZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHRyYW5zaWVu dC1pbmFjdGl2ZS12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0 cmFuc2llbnQta2V5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKHRyYW5zaWVudC1taXNtYXRjaGVkLWtleSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKHRyYW5zaWVudC1ub25zdGFuZGFyZC1rZXkgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkp DQotICAgYCh0cmFuc2llbnQtcGluayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYCh0cmFuc2llbnQtcmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYCh0cmFuc2llbnQtdGVhbCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAodHJh bnNpZW50LXVucmVhY2hhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkN Ci0gICBgKHRyYW5zaWVudC11bnJlYWNoYWJsZS1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCkpKQ0KLSAgIGAodHJhbnNpZW50LXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHRyYXNoZWQNCi0gICBgKHRyYXNoZWQtZGVsZXRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAodHJhc2hlZC1k aXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHRyYXNoZWQtbWFy ayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAodHJh c2hlZC1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCi0g ICBgKHRyYXNoZWQtcmVzdG9yZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1z ZWwpKSkNCi0gICBgKHRyYXNoZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZv cmVncm91bmQgLGN5YW4tYWx0KSkpDQotOzs7OzsgdHJlZW1hY3MNCi0gICBgKHRyZWVtYWNzLWRp cmVjdG9yeS1jb2xsYXBzZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCi0gICBgKHRyZWVtYWNzLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpcmVk LWRpcmVjdG9yeSkpKQ0KLSAgIGAodHJlZW1hY3MtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYCh0cmVlbWFjcy1mcmluZ2UtaW5kaWNhdG9yLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1hZGRlZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYCh0cmVlbWFj cy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5z ZS1yZWQgYm9sZCkpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1pZ25vcmVkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LW1vZGlmaWVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHRyZWVtYWNz LWdpdC1yZW5hbWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYCh0cmVlbWFjcy1naXQtdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYCh0cmVlbWFjcy1naXQtdW50cmFja2VkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKHRyZWVtYWNzLWhlbHAtY29sdW1u LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodHJlZW1hY3Mt aGVscC10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K LSAgIGAodHJlZW1hY3Mtb24tZmFpbHVyZS1wdWxzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYCh0cmVlbWFjcy1vbi1zdWNjZXNzLXB1bHNl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAg IGAodHJlZW1hY3Mtcm9vdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyIDpoZWlnaHQgMS4yIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodHJlZW1h Y3Mtcm9vdC1yZW1vdGUtZGlzY29ubmVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1h Y3Mtcm9vdC1yZW1vdGUtZmFjZSA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYCh0cmVlbWFj cy1yb290LXJlbW90ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJvb3QtZmFjZSA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtdW5yZWFk YWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJvb3QtdW5yZWFkYWJsZS1mYWNl KSkpDQotICAgYCh0cmVlbWFjcy1yb290LXVucmVhZGFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB0cmVlbWFjcy1yb290LWZhY2UgOnN0cmlrZS10aHJvdWdoIHQpKSkNCi0gICBgKHRyZWVtYWNz LXRhZ3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHRyZWVt YWNzLXRhZ3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7 OyB0dHktbWVudQ0KLSAgIGAodHR5LW1lbnUtZGlzYWJsZWQtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHR0eS1tZW51LWVuYWJs ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHR0eS1tZW51LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotOzs7OzsgdHVhcmVnDQotICAg YChjYW1sLXR5cGVzLWRlZi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1yZWQpKSkNCi0gICBgKGNhbWwtdHlwZXMtZXhwci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoY2FtbC10eXBlcy1vY2MtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGNhbWwtdHlw ZXMtc2NvcGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkp KQ0KLSAgIGAoY2FtbC10eXBlcy10eXBlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYCh0dWFyZWctZm9udC1kb3VibGUtc2VtaWNvbG9u LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1h bHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stYXR0cmlidXRlLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1h Z2VudGEtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWNvbnN0cnVjdG9yLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2st ZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9s ZCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stZXh0ZW5zaW9uLW5vZGUtZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh0dWFy ZWctZm9udC1sb2NrLWdvdmVybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2staW5maXgtZXh0ZW5zaW9u LW5vZGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9j ay1pbnRlcmFjdGl2ZS1kaXJlY3RpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWVycm9yLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZWQgcmVkLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbnRl cmFjdGl2ZS1vdXRwdXQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAodHVhcmVnLWZvbnQtbG9jay1sYWJlbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkN Ci0gICBgKHR1YXJlZy1mb250LWxvY2stbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLW1vZHVsZS1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQg bWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLW11bHRpc3RhZ2Ut ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250 LWxvY2stb3BlcmF0b3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLW9wYW0tZXJyb3It ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkIHJlZC1mYWludCkpKSkNCi0g ICBgKHR1YXJlZy1vcGFtLXBrZy12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi07Ozs7OyB0eXBlc2NyaXB0DQotICAgYCh0eXBlc2NyaXB0LWpzZG9jLXRh ZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKHR5cGVzY3JpcHQtanNkb2MtdHlwZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jYWxtIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBg KHR5cGVzY3JpcHQtanNkb2MtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgdW5kby10cmVlDQotICAg YCh1bmRvLXRyZWUtdmlzdWFsaXplci1hY3RpdmUtYnJhbmNoLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6 ZXItY3VycmVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0g ICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1yZWdpc3Rlci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBgKHVuZG8tdHJlZS12 aXN1YWxpemVyLXVubW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50 ZW5zZSkpKQ0KLTs7Ozs7IHZjICh2Yy1ob29rcy5lbCkNCi0gICBgKHZjLWNvbmZsaWN0LXN0YXRl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xh bnQpKSkNCi0gICBgKHZjLWVkaXRlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LWFjdGl2ZSkpKQ0KLSAgIGAodmMtbG9jYWxseS1hZGRlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHZjLWxvY2tlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHZjLW1pc3Npbmctc3RhdGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKHZjLW5lZWRzLXVwZGF0ZS1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWN0aXZlIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHZjLXJlbW92ZWQtc3Rh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKHZjLXN0YXRlLWJh c2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAodmMtdXAtdG8tZGF0 ZS1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7Ozsg dmRpZmYNCi0gICBgKHZkaWZmLWFkZGl0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1hZGRlZCkpKQ0KLSAgIGAodmRpZmYtY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQotICAgYCh2ZGlmZi1jbG9zZWQtZm9s ZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3Vu ZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKHZkaWZmLXJlZmluZS1hZGRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KLSAgIGAodmRpZmYt cmVmaW5lLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUt Y2hhbmdlZCkpKQ0KLSAgIGAodmRpZmYtc3VidHJhY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCi0gICBgKHZkaWZmLXRhcmdldC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLTs7Ozs7IHZpbWlz aC1mb2xkDQotICAgYCh2aW1pc2gtZm9sZC1mcmluZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWN0aXZlKSkpDQotICAgYCh2aW1pc2gtZm9sZC1tb3VzZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAodmltaXNoLWZvbGQtb3Zlcmxh eSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi07Ozs7OyB2aXNpYmxlLW1hcmsNCi0gICBgKHZpc2libGUtbWFyay1hY3RpdmUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJr LWZhY2UxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBgKHZp c2libGUtbWFyay1mYWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcp KSkNCi0gICBgKHZpc2libGUtbWFyay1mb3J3YXJkLWZhY2UxICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxtYWdlbnRhLWludGVuc2UtYmcpKSkNCi0gICBgKHZpc2libGUtbWFyay1mb3J3YXJkLWZhY2Uy ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJnKSkpDQotOzs7OzsgdmlzdWFs LXJlZ2V4cA0KLSAgIGAodnIvZ3JvdXAtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLWJsdWUpKSkNCi0gICBgKHZyL2dyb3VwLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYCh2ci9ncm91cC0yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKHZyL21hdGNoLTAgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAodnIvbWF0Y2gt MSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYCh2 ci9tYXRjaC1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS1uZXV0cmFsIGJvbGQpKSkpDQotOzs7Ozsgdm9sYXRpbGUtaGlnaGxpZ2h0cw0KLSAgIGAo dmhsL2RlZmF1bHQtZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24g MjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tn cm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotOzs7OzsgdnRlcm0N Ci0gICBgKHZ0ZXJtLWNvbG9yLWJsYWNrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5MzUiIDpm b3JlZ3JvdW5kICJncmF5MzUiKSkpDQotICAgYCh2dGVybS1jb2xvci1ibHVlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxibHVlIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCh2dGVybS1jb2xvci1j eWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAg YCh2dGVybS1jb2xvci1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh2dGVybS1jb2xvci1ncmVlbiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZ3JlZW4gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYCh2dGVybS1jb2xvci1p bnZlcnNlLXZpZGVvICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDppbnZlcnNlLXZpZGVv IHQpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1h Z2VudGEgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLXJlZCAoKCxj bGFzcyA6YmFja2dyb3VuZCAscmVkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHZ0ZXJtLWNv bG9yLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAodnRlcm0tY29sb3Itd2hpdGUgKCgsY2xhc3MgOmJhY2tncm91bmQg ImdyYXk2NSIgOmZvcmVncm91bmQgImdyYXk2NSIpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLXllbGxv dyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07 Ozs7OyB3Y2hlY2stbW9kZQ0KLSAgIGAod2NoZWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHdlYi1tb2RlDQotICAgYCh3ZWIt bW9kZS1hbm5vdGF0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1m YWNlKSkpDQotICAgYCh3ZWItbW9kZS1hbm5vdGF0aW9uLWh0bWwtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWFubm90YXRpb24t dGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stYXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAgIGAo d2ViLW1vZGUtYmxvY2stYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkN Ci0gICBgKHdlYi1tb2RlLWJsb2NrLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWIt bW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWNvbnRyb2wtZmFjZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50 YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWJs b2NrLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YCh3ZWItbW9kZS1ibG9jay1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0g ICBgKHdlYi1tb2RlLWJsb2NrLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2Rl LXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KLSAgIGAod2ViLW1vZGUtYnVpbHRpbi1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQt d2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAod2ViLW1vZGUt Y29tbWVudC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAs YmctZGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LWZhaW50KSkpKQ0KLSAg IGAod2ViLW1vZGUtY29uc3RhbnQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1v ZGUtY3NzLWF0LXJ1bGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUt Y3NzLWNvbG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2Vi LW1vZGUtY3NzLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50 LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1mdW5jdGlvbi1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1wcmlvcml0eS1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hbHQgeWVsbG93 LWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3Mt cHJvcGVydHktbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXBzZXVkby1jbGFz cy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFs dC1vdGhlciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1zZWxl Y3Rvci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt YWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkp KSkNCi0gICBgKHdlYi1tb2RlLWNzcy1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWIt bW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXZhcmlhYmxlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAod2ViLW1vZGUtY3Vy cmVudC1jb2x1bW4taGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkp KQ0KLSAgIGAod2ViLW1vZGUtY3VycmVudC1lbGVtZW50LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAod2ViLW1vZGUtZG9j dHlwZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAod2ViLW1vZGUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAod2ViLW1vZGUtZmlsdGVy LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZh aW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtZm9sZGVkLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0 KSkpDQotICAgYCh3ZWItbW9kZS1mdW5jdGlvbi1jYWxsLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdl Yi1tb2RlLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1h dHRyLWN1c3RvbS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZW5naW5lLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwt YXR0ci1lcXVhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3 ZWItbW9kZS1odG1sLWF0dHItbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRy LXZhbHVlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1 ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1s LWVudGl0eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93 LWFsdC1vdGhlciB5ZWxsb3ctYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3 ZWItbW9kZS1odG1sLXRhZy1icmFja2V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRp bSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctY3VzdG9tLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAg IGAod2ViLW1vZGUtaHRtbC10YWctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFnLW5h bWVzcGFjZWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFnLXVuY2xvc2VkLWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKHdlYi1tb2RlLWlubGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkp KQ0KLSAgIGAod2ViLW1vZGUtaXRhbGljLWZhY2UgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0K LSAgIGAod2ViLW1vZGUtamF2YXNjcmlwdC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg d2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1qYXZhc2NyaXB0LXN0cmlu Zy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3 ZWItbW9kZS1qc29uLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21t ZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWpzb24tY29udGV4dC1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50 KSkpKQ0KLSAgIGAod2ViLW1vZGUtanNvbi1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1udWFuY2VkKSkpDQotICAgYCh3ZWItbW9kZS1qc29uLXN0cmluZy1mYWNlICgoLGNsYXNz IDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVw dGgtMS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0yLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YCh3ZWItbW9kZS1qc3gtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVj aWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAod2ViLW1vZGUt anN4LWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxibHVlLXJlZmluZS1mZykpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTUtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0g ICBgKHdlYi1tb2RlLWtleXdvcmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLXBhcmFtLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2Vi LW1vZGUtcGFydC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVu dC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1wYXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2Vi LW1vZGUtYmxvY2stZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtcGFydC1zdHJpbmctZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtcHJl cHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVk LWFsdC1vdGhlciByZWQtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtc2NyaXB0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtcGFydC1mYWNlKSkpDQotICAgYCh3ZWIt bW9kZS1zcWwta2V5d29yZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB5ZWxsb3cgeWVsbG93LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtc3RyaW5nLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQpKSkp DQotICAgYCh3ZWItbW9kZS1zdHlsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXBh cnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtc3ltYm9sLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQot ICAgYCh3ZWItbW9kZS10eXBlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtdW5kZXJsaW5l LWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYCh3ZWItbW9kZS12YXJpYWJsZS1u YW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lh bi1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFsdC1vdGhlciB5ZWxsb3ct YWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtd2hpdGVzcGFjZS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNl KSkpDQotOzs7Ozsgd2dyZXANCi0gICBgKHdncmVwLWRlbGV0ZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKHdncmVwLWRvbmUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAod2dyZXAt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCi0gICBg KHdncmVwLWZpbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQotICAgYCh3Z3JlcC1yZWplY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt aW50ZW5zZS1yZWQgYm9sZCkpKSkNCi07Ozs7OyB3aGljaC1mdW5jdGlvbi1tb2RlDQotICAgYCh3 aGljaC1mdW5jICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLTs7Ozs7 IHdoaWNoLWtleQ0KLSAgIGAod2hpY2gta2V5LWNvbW1hbmQtZGVzY3JpcHRpb24tZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAod2hpY2gta2V5LWdyb3VwLWRlc2NyaXB0 aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYCh3aGlj aC1rZXktaGlnaGxpZ2h0ZWQtY29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdoaWNoLWtleS1rZXktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKHdoaWNoLWtl eS1sb2NhbC1tYXAtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAod2hpY2gta2V5LW5vdGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHdoaWNoLWtleS1zZXBh cmF0b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh3aGljaC1r ZXktc3BlY2lhbC1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctaW50ZW5zZSkpKQ0KLTs7Ozs7IHdoaXRlc3BhY2UtbW9kZQ0KLSAgIGAod2hpdGVzcGFj ZS1iaWctaW5kZW50ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkN Ci0gICBgKHdoaXRlc3BhY2UtZW1wdHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhKSkpDQotICAgYCh3aGl0ZXNwYWNlLWhzcGFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAo d2hpdGVzcGFjZS1pbmRlbnRhdGlvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFj ZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1saW5lICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAod2hpdGVz cGFjZS1uZXdsaW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3Jv dW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLXNwYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQot ICAgYCh3aGl0ZXNwYWNlLXNwYWNlLWFmdGVyLXRhYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1zcGFjZS1iZWZvcmUtdGFi ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYCh3aGl0 ZXNwYWNlLXRhYiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3Vu ZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS10cmFpbGluZyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHdpbmRvdy1kaXZpZGVy LW1vZGUNCi0gICBgKHdpbmRvdy1kaXZpZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5k b3ctZGl2aWRlci1pbm5lcikpKQ0KLSAgIGAod2luZG93LWRpdmlkZXItZmlyc3QtcGl4ZWwgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotICAgYCh3aW5k b3ctZGl2aWRlci1sYXN0LXBpeGVsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2 aWRlci1vdXRlcikpKQ0KLTs7Ozs7IHdpbnVtDQotICAgYCh3aW51bS1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KLTs7Ozs7IHdyaXRlZ29vZC1tb2RlDQotICAgYCh3cml0ZWdvb2QtZHVwbGljYXRlcy1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZC1hbHQgOnVu ZGVybGluZSB0KSkpDQotICAgYCh3cml0ZWdvb2QtcGFzc2l2ZS12b2ljZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLXdhcm5pbmcp KSkNCi0gICBgKHdyaXRlZ29vZC13ZWFzZWxzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyB3b21hbg0KLSAg IGAod29tYW4tYWRkaXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQotICAgYCh3b21hbi1ib2xkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKHdvbWFuLWl0YWxpYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh biA6c2xhbnQgaXRhbGljKSkpDQotICAgYCh3b21hbi11bmtub3duICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cgOnNsYW50IGl0YWxpYykpKQ0KLTs7Ozs7IHhhaC1lbGlzcC1tb2RlDQotICAg YCh4YWgtZWxpc3AtYXQtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0IHJl ZC1hbHQtZmFpbnQpKSkpDQotICAgYCh4YWgtZWxpc3AtY2FwLXZhcmlhYmxlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdC1vdGhlciByZWQtYWx0LW90aGVyLWZhaW50 KSkpKQ0KLSAgIGAoeGFoLWVsaXNwLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAg IGAoeGFoLWVsaXNwLWRvbGxhci1zeW1ib2wgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ3JlZW4gZ3JlZW4tZmFpbnQpKSkpDQotOzs7OzsgeHJlZg0KLSAgIGAoeHJlZi1maWxl LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKHhyZWYtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoeHJlZi1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtYXRjaCkpKQ0KLTs7Ozs7 IHlhbWwtbW9kZQ0KLSAgIGAoeWFtbC10YWItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHlhc25pcHBldA0KLSAgIGAoeWFzLWZpZWxkLWhp Z2hsaWdodC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi07Ozs7OyB6dHJlZQ0KLSAgIGAoenRyZWVwLWFycm93LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYCh6dHJlZXAtZGlmZi1oZWFkZXItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKHp0cmVlcC1kaWZmLWhlYWRlci1zbWFsbC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoenRy ZWVwLWRpZmYtbW9kZWwtYWRkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQot ICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1kaWZmLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtbW9kZWwtaWdub3JlZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQgOnN0cmlrZS10aHJvdWdoIHQpKSkNCi0gICBgKHp0cmVlcC1kaWZmLW1v ZGVsLW5vcm1hbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHp0 cmVlcC1leHBhbmQtc2lnbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAg YCh6dHJlZXAtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuMiA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh6dHJlZXAtbGVhZi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCh6dHJlZXAtbm9kZS1jb3VudC1jaGls ZHJlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KHp0cmVlcC1ub2RlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkpDQotOzs7 OyBFbWFjcyAyNysNCi0gICh3aGVuICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KQ0KLSAgICAo Y3VzdG9tLXRoZW1lLXNldC1mYWNlcw0KLSAgICAgJ21vZHVzLXZpdmVuZGkNCi07Ozs7OyBsaW5l IG51bWJlcnMgKGBkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZhcmlhbnQp DQotICAgICA7OyBOT1RFIHRoYXQgdGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIHRoZSBmYWNlcyB0 aGF0IHdlcmUNCi0gICAgIDs7IGludHJvZHVjZWQgaW4gRW1hY3MgMjcsIGFzIHRoZSBvdGhlciBm YWNlcyBhcmUgYWxyZWFkeQ0KLSAgICAgOzsgc3VwcG9ydGVkLg0KLSAgICAgYChsaW5lLW51bWJl ci1tYWpvci10aWNrICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLHllbGxvdy1udWFuY2Vk LWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LHllbGxvdy1udWFuY2VkKSkpDQotICAgICBgKGxpbmUtbnVtYmVyLW1pbm9yLXRpY2sgKCgsY2xh c3MgOmluaGVyaXQgKGJvbGQgZGVmYXVsdCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07Ozs7OyB0 YWItYmFyLW1vZGUNCi0gICAgIGAodGFiLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFi LWJhciA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItYmFyLXRhYiAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItYWN0aXZl KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItYmFyLXRhYi1pbmFjdGl2ZSAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWluYWN0aXZlKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWlu YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi07Ozs7OyB0YWItbGluZS1tb2RlDQotICAg ICBgKHRhYi1saW5lICgoLGNsYXNzIDpoZWlnaHQgMC45NSA6YmFja2dyb3VuZCAsYmctdGFiLWJh ciA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItbGluZS1jbG9zZS1oaWdobGln aHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgICAgYCh0YWItbGluZS1oaWdobGln aHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1k aW0pKSkNCi0gICAgIGAodGFiLWxpbmUtdGFiICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAo OmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgICAgYCh0YWItbGluZS10YWItY3VycmVudCAoKCxjbGFzcyA6aW5oZXJpdCB0YWIt bGluZS10YWIpKSkNCi0gICAgIGAodGFiLWxpbmUtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpib3gg KDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWluYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkpKQ0KLTs7OzsgRW1hY3MgMjgrDQotICAod2hlbiAoPj0gZW1hY3Mt bWFqb3ItdmVyc2lvbiAyOCkNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0gICAgICdt b2R1cy12aXZlbmRpDQotOzs7OzsgaXNlYXJjaCByZWdleHAgZ3JvdXBzDQotICAgICBgKGlzZWFy Y2gtZ3JvdXAtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkN Ci0gICAgIGAoaXNlYXJjaC1ncm91cC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtbWFnZW50YSkpKSkpDQotOzs7IHZhcmlhYmxlcw0KLSAgKGN1c3RvbS10aGVtZS1zZXQt dmFyaWFibGVzDQotICAgJ21vZHVzLXZpdmVuZGkNCi07Ozs7IGFuc2ktY29sb3JzDQotICAgYChh bnNpLWNvbG9yLWZhY2VzLXZlY3RvciBbZGVmYXVsdCBib2xkIHNoYWRvdyBpdGFsaWMgdW5kZXJs aW5lIHN1Y2Nlc3Mgd2FybmluZyBlcnJvcl0pDQotICAgYChhbnNpLWNvbG9yLW5hbWVzLXZlY3Rv ciBbLGJnLW1haW4gLHJlZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50YSAsY3lhbiAsZmct bWFpbl0pDQotOzs7OyBhd2Vzb21lLXRyYXkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2RlLWxpbmUt YWN0aXZlLWNvbG9yICxibHVlKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZGUtbGluZS1pbmFjdGl2 ZS1jb2xvciAsYmctYWN0aXZlKQ0KLTs7OzsgZmx5bWFrZSBmcmluZ2UgaW5kaWNhdG9ycw0KLSAg IGAoZmx5bWFrZS1lcnJvci1iaXRtYXAgJyhmbHltYWtlLWRvdWJsZS1leGNsYW1hdGlvbi1tYXJr IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKQ0KLSAgIGAoZmx5bWFrZS13YXJuaW5nLWJpdG1hcCAn KGV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpDQotICAgYChmbHlt YWtlLW5vdGUtYml0bWFwICcoZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UtY3lh bikpDQotOzs7OyBpYnVmZmVyDQotICAgYChpYnVmZmVyLWRlbGV0aW9uLWZhY2UgJ21vZHVzLXRo ZW1lLW1hcmstZGVsKQ0KLSAgIGAoaWJ1ZmZlci1maWx0ZXItZ3JvdXAtbmFtZS1mYWNlICdtb2R1 cy10aGVtZS1tYXJrLXN5bWJvbCkNCi0gICBgKGlidWZmZXItbWFya2VkLWZhY2UgJ21vZHVzLXRo ZW1lLW1hcmstc2VsKQ0KLSAgIGAoaWJ1ZmZlci10aXRsZS1mYWNlICdtb2R1cy10aGVtZS1wc2V1 ZG8taGVhZGVyKQ0KLTs7OzsgaGlnaGxpZ2h0LXRhaWwNCi0gICBgKGhpZ2hsaWdodC10YWlsLWNv bG9ycw0KLSAgICAgJygoLGdyZWVuLXN1YnRsZS1iZyAuIDApDQotICAgICAgICgsY3lhbi1zdWJ0 bGUtYmcgLiAyMCkpKQ0KLTs7OzsgaGwtdG9kbw0KLSAgIGAoaGwtdG9kby1rZXl3b3JkLWZhY2Vz DQotICAgICAnKCgiSE9MRCIgLiAseWVsbG93LWFsdCkNCi0gICAgICAgKCJUT0RPIiAuICxtYWdl bnRhKQ0KLSAgICAgICAoIk5FWFQiIC4gLG1hZ2VudGEtYWx0LW90aGVyKQ0KLSAgICAgICAoIlRI RU0iIC4gLG1hZ2VudGEtYWx0KQ0KLSAgICAgICAoIlBST0ciIC4gLGN5YW4pDQotICAgICAgICgi T0tBWSIgLiAsY3lhbi1hbHQpDQotICAgICAgICgiRE9OVCIgLiAsZ3JlZW4tYWx0KQ0KLSAgICAg ICAoIkZBSUwiIC4gLHJlZCkNCi0gICAgICAgKCJCVUciIC4gLHJlZCkNCi0gICAgICAgKCJET05F IiAuICxncmVlbikNCi0gICAgICAgKCJOT1RFIiAuICx5ZWxsb3ctYWx0LW90aGVyKQ0KLSAgICAg ICAoIktMVURHRSIgLiAseWVsbG93KQ0KLSAgICAgICAoIkhBQ0siIC4gLHllbGxvdykNCi0gICAg ICAgKCJURU1QIiAuICxyZWQtbnVhbmNlZCkNCi0gICAgICAgKCJGSVhNRSIgLiAscmVkLWFsdC1v dGhlcikNCi0gICAgICAgKCJYWFgrIiAuICxyZWQtYWx0KQ0KLSAgICAgICAoIlJFVklFVyIgLiAs Y3lhbi1hbHQtb3RoZXIpDQotICAgICAgICgiREVQUkVDQVRFRCIgLiAsYmx1ZS1udWFuY2VkKSkp DQotOzs7OyB2Yy1hbm5vdGF0ZSAoQy14IHYgZykNCi0gICBgKHZjLWFubm90YXRlLWJhY2tncm91 bmQgbmlsKQ0KLSAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3VuZC1tb2RlIG5pbCkNCi0gICBgKHZj LWFubm90YXRlLWNvbG9yLW1hcA0KLSAgICAgJygoMjAgLiAscmVkKQ0KLSAgICAgICAoNDAgLiAs bWFnZW50YSkNCi0gICAgICAgKDYwIC4gLG1hZ2VudGEtYWx0KQ0KLSAgICAgICAoODAgLiAscmVk LWFsdCkNCi0gICAgICAgKDEwMCAuICx5ZWxsb3cpDQotICAgICAgICgxMjAgLiAseWVsbG93LWFs dCkNCi0gICAgICAgKDE0MCAuICxmZy1zcGVjaWFsLXdhcm0pDQotICAgICAgICgxNjAgLiAsZmct c3BlY2lhbC1taWxkKQ0KLSAgICAgICAoMTgwIC4gLGdyZWVuKQ0KLSAgICAgICAoMjAwIC4gLGdy ZWVuLWFsdCkNCi0gICAgICAgKDIyMCAuICxjeWFuLWFsdC1vdGhlcikNCi0gICAgICAgKDI0MCAu ICxjeWFuLWFsdCkNCi0gICAgICAgKDI2MCAuICxjeWFuKQ0KLSAgICAgICAoMjgwIC4gLGZnLXNw ZWNpYWwtY29sZCkNCi0gICAgICAgKDMwMCAuICxibHVlKQ0KLSAgICAgICAoMzIwIC4gLGJsdWUt YWx0KQ0KLSAgICAgICAoMzQwIC4gLGJsdWUtYWx0LW90aGVyKQ0KLSAgICAgICAoMzYwIC4gLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYCh2Yy1hbm5vdGF0ZS12ZXJ5LW9sZC1jb2xvciBuaWwp DQotOzs7OyB4dGVybS1jb2xvcg0KLSAgIGAoeHRlcm0tY29sb3ItbmFtZXMgWyxiZy1tYWluICxy ZWQgLGdyZWVuICx5ZWxsb3cgLGJsdWUgLG1hZ2VudGEgLGN5YW4gLGZnLWFsdF0pDQotICAgYCh4 dGVybS1jb2xvci1uYW1lcy1icmlnaHQgWyxiZy1hbHQgLHJlZC1hbHQgLGdyZWVuLWFsdCAseWVs bG93LWFsdCAsYmx1ZS1hbHQgLG1hZ2VudGEtYWx0ICxjeWFuLWFsdCAsZmctbWFpbl0pKQ0KLTs7 OyBDb25kaXRpb25hbCB0aGVtZSB2YXJpYWJsZXMNCi07Ozs7IG9yZy1zcmMtYmxvY2stZmFjZXMN Ci0gIDs7IHRoaXMgaXMgYSB1c2VyIG9wdGlvbiB0byBhZGQgYSBjb2xvdXItY29kZWQgYmFja2dy b3VuZCB0byBzb3VyY2UNCi0gIDs7IGJsb2NrcyBmb3IgdmFyaW91cyBwcm9ncmFtbWluZyBsYW5n dWFnZXMNCi0gICh3aGVuIChlcSBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MgJ3JhaW5i b3cpDQotICAgIChjdXN0b20tdGhlbWUtc2V0LXZhcmlhYmxlcw0KLSAgICAgJ21vZHVzLXZpdmVu ZGkNCi0gICAgIGAob3JnLXNyYy1ibG9jay1mYWNlcyAgICAgICAgICAgICAgOyBUT0RPIHRoaXMg bGlzdCBzaG91bGQgYmUgZXhwYW5kZWQNCi0gICAgICAgYCgoImVtYWNzLWxpc3AiIG1vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImVsaXNwIiBtb2R1cy10aGVtZS1udWFu Y2VkLW1hZ2VudGEpDQotICAgICAgICAgKCJjbG9qdXJlIiBtb2R1cy10aGVtZS1udWFuY2VkLW1h Z2VudGEpDQotICAgICAgICAgKCJjbG9qdXJlc2NyaXB0IiBtb2R1cy10aGVtZS1udWFuY2VkLW1h Z2VudGEpDQotICAgICAgICAgKCJjIiBtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUpDQotICAgICAg ICAgKCJjKysiIG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSkNCi0gICAgICAgICAoInNoIiBtb2R1 cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KLSAgICAgICAgICgic2hlbGwiIG1vZHVzLXRoZW1lLW51 YW5jZWQtZ3JlZW4pDQotICAgICAgICAgKCJodG1sIiBtb2R1cy10aGVtZS1udWFuY2VkLXllbGxv dykNCi0gICAgICAgICAoInhtbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cpDQotICAgICAg ICAgKCJjc3MiIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkKQ0KLSAgICAgICAgICgic2NzcyIgbW9k dXMtdGhlbWUtbnVhbmNlZC1yZWQpDQotICAgICAgICAgKCJweXRob24iIG1vZHVzLXRoZW1lLW51 YW5jZWQtZ3JlZW4pDQotICAgICAgICAgKCJpcHl0aG9uIiBtb2R1cy10aGVtZS1udWFuY2VkLW1h Z2VudGEpDQotICAgICAgICAgKCJyIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAg ICAgKCJ5YW1sIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAgKCJjb25mIiBt b2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAgKCJkb2NrZXIiIG1vZHVzLXRoZW1l LW51YW5jZWQtY3lhbikNCi0gICAgICAgICAoImpzb24iIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lh bikpKSkpKQ0KKyAgc3RhbmRhcmQgZm9yIGNvbG9yIGNvbnRyYXN0IGJldHdlZW4gYmFja2dyb3Vu ZCBhbmQgZm9yZWdyb3VuZA0KKyAgZWxlbWVudHMgKFdDQUcgQUFBKS4iKQ0KIA0KLTs7OyBsaWJy YXJ5IHByb3ZpZGVzDQotOzs7IyMjYXV0b2xvYWQNCi0od2hlbiBsb2FkLWZpbGUtbmFtZQ0KLSAg KGFkZC10by1saXN0ICdjdXN0b20tdGhlbWUtbG9hZC1wYXRoDQotICAgICAgICAgICAgICAgKGZp bGUtbmFtZS1hcy1kaXJlY3RvcnkgKGZpbGUtbmFtZS1kaXJlY3RvcnkgbG9hZC1maWxlLW5hbWUp KSkpDQorKG1vZHVzLXRoZW1lcy1jb3JlLXRoZW1lDQorICdtb2R1cy12aXZlbmRpKQ0KIA0KIChw cm92aWRlLXRoZW1lICdtb2R1cy12aXZlbmRpKQ0KIA0KZGlmZiAtLWdpdCBhL2xpc3AvdGhlbWVz L21vZHVzLXRoZW1lcy1jb3JlLmVsIGIvbGlzcC90aGVtZXMvbW9kdXMtdGhlbWVzLWNvcmUuZWwN Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi44ODI3OWNmNzVhDQotLS0g L2Rldi9udWxsDQorKysgYi9saXNwL3RoZW1lcy9tb2R1cy10aGVtZXMtY29yZS5lbA0KQEAgLTAs MCArMSw4MCBAQA0KKzs7OyBtb2R1cy10aGVtZXMtY29yZS5lbCAtLS0gSGlnaGx5IGFjY2Vzc2li bGUgdGhlbWVzIChXQ0FHIEFBQSkgLSotIGxleGljYWwtYmluZGluZzp0IC0qLQ0KKw0KKzs7IENv cHlyaWdodCAoQykgMjAxOS0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KKw0K Kzs7IEF1dGhvcjogUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5mb0Bwcm90ZXNpbGFvcy5jb20+DQor OzsgVVJMOiBodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzDQorOzsg VmVyc2lvbjogMS4wLjINCis7OyBQYWNrYWdlLVJlcXVpcmVzOiAoKGVtYWNzICIyNi4xIikpDQor OzsgS2V5d29yZHM6IGZhY2VzLCB0aGVtZSwgYWNjZXNzaWJpbGl0eQ0KKw0KKzs7IFRoaXMgZmls ZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4NCisNCis7OyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KKzs7IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk IGJ5DQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IgKGF0DQorOzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u Lg0KKzs7DQorOzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsIGJ1dA0KKzs7IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQ0KKzs7IEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCis7Ow0KKzs7IFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQorOzsg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+Lg0KKw0KKzs7OyBDb21tZW50YXJ5Og0KKzs7DQorOzsgVGhlIE1vZHVzIHRo ZW1lcyBjb25mb3JtIHdpdGggdGhlIGhpZ2hlc3Qgc3RhbmRhcmQgZm9yIGNvbG9yLWNvbnRyYXN0 DQorOzsgYWNjZXNzaWJpbGl0eSBiZXR3ZWVuIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgdmFs dWVzIChXQ0FHIEFBQSkuDQorOzsgVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBjdXN0b21pc2F0aW9u IG9wdGlvbnMsIGhlbHBlciBmdW5jdGlvbnMsDQorOzsgaW50ZXJhY3RpdmUgY29tbWFuZHMsIGFu ZCBmYWNlIHNwZWNpZmljYXRpb25zLg0KKzs7DQorOzsgRm9yIGEgY29tcGxldGUgdmlldyBvZiB0 aGUgcHJvamVjdCwgYWxzbyByZWZlciB0byB0aGUgZm9sbG93aW5nIGZpbGVzDQorOzsgKHNob3Vs ZCBiZSBkaXN0cmlidXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5L2RpcmVjdG9yeSBhcyB0aGUN Cis7OyBjdXJyZW50IGl0ZW0pOg0KKzs7DQorOzsgLSBtb2R1cy10aGVtZXMuZWwgICAgICAgICAg ICAoTWFpbiBjb2RlIHNoYXJlZCBiZXR3ZWVuIHRoZSB0aGVtZXMpDQorOzsgLSBtb2R1cy1vcGVy YW5kaS10aGVtZS5lbCAgICAoTGlnaHQgdGhlbWUpDQorOzsgLSBtb2R1cy12aXZlbmRpLXRoZW1l LmVsICAgICAoRGFyayB0aGVtZSkNCisNCis7OzsgQ29kZToNCisNCisMDQorDQorKGRlZnZhciBt b2R1cy10aGVtZXMtY29sb3JzLW9wZXJhbmRpKQ0KKyhkZWZ2YXIgbW9kdXMtdGhlbWVzLWNvbG9y cy12aXZlbmRpKQ0KKyhkZWZ2YXIgbW9kdXMtdGhlbWVzLWZhY2VzKQ0KKyhkZWZ2YXIgbW9kdXMt dGhlbWVzLWN1c3RvbS12YXJpYWJsZXMpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy1jb3JlLXRo ZW1lLXZhcmlhYmxlcyAobmFtZSkNCisgICJSZXR1cm4gY29ycmVjdCB2YXJpYWJsZSBmb3IgTW9k dXMgdGhlbWUgTkFNRS4iDQorICAocGNhc2UgbmFtZQ0KKyAgICAoJydtb2R1cy1vcGVyYW5kaSBt b2R1cy10aGVtZXMtY29sb3JzLW9wZXJhbmRpKQ0KKyAgICAoJydtb2R1cy12aXZlbmRpIG1vZHVz LXRoZW1lcy1jb2xvcnMtdml2ZW5kaSkNCisgICAgKF8gKHVzZXItZXJyb3IgIjw8ICVzID4+IGlz IG5vdCBhIHZhbGlkIE1vZHVzIHRoZW1lIiBuYW1lKSkpKQ0KKw0KKyhkZWZtYWNybyBtb2R1cy10 aGVtZXMtY29yZS10aGVtZSAobmFtZSkNCisgICJCaW5kIE5BTUUncyBjb2xvciBwYWxldHRlIGFy b3VuZCBmYWNlIHNwZWNpZmljYXRpb25zLg0KKw0KK05BTUUgc2hvdWxkIGJlIHRoZSBwcm9wZXIg bmFtZSBvZiBhIE1vZHVzIHRoZW1lLCBlaXRoZXINCisnbW9kdXMtb3BlcmFuZGkgb3IgJ21vZHVz LXZpdmVuZGkuDQorDQorRmFjZSBzcGVjaWZpY2F0aW9ucyBhcmUgdGhvc2UgcGFzc2VkIHRvIGBj dXN0b20tdGhlbWUtc2V0LWZhY2VzJy4NCitUaGV5IGFyZSBleHRyYWN0ZWQgZGlyZWN0bHkgZnJv bSB2YXJpYWJsZXMgZGVmaW5lZCBpbiB0aGUNCitgbW9kdXMtdGhlbWVzJyBsaWJyYXJ5LiAgRm9y IGV4YW1wbGUsIGBtb2R1cy10aGVtZXMtZmFjZXMnLiINCisgIChsZXQgKChmYWNlcyBtb2R1cy10 aGVtZXMtZmFjZXMpDQorICAgICAgICAoY3VzIG1vZHVzLXRoZW1lcy1jdXN0b20tdmFyaWFibGVz KSkNCisgICAgYChsZXQgKChjbGFzcyAnKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgODkpKSkN CisgICAgICAgICAgICxAKG1hcGNhciAobGFtYmRhIChjb25zKQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgYCgsKGNhciBjb25zKSAsKGNkciBjb25zKSkpDQorICAgICAgICAgICAgICAgICAgICAg KG1vZHVzLXRoZW1lcy1jb3JlLXRoZW1lLXZhcmlhYmxlcyBuYW1lKSkpDQorICAgICAgIChjdXN0 b20tdGhlbWUtc2V0LWZhY2VzDQorICAgICAgICAsbmFtZQ0KKyAgICAgICAgLEBmYWNlcykNCisg ICAgICAgKGN1c3RvbS10aGVtZS1zZXQtdmFyaWFibGVzDQorICAgICAgICAsbmFtZQ0KKyAgICAg ICAgLEBjdXMpKSkpDQorDQorKHByb3ZpZGUgJ21vZHVzLXRoZW1lcy1jb3JlKQ0KKzs7OyBtb2R1 cy10aGVtZXMtY29yZS5lbCBlbmRzIGhlcmUNCmRpZmYgLS1naXQgYS9saXNwL3RoZW1lcy9tb2R1 cy10aGVtZXMuZWwgYi9saXNwL3RoZW1lcy9tb2R1cy10aGVtZXMuZWwNCm5ldyBmaWxlIG1vZGUg MTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi44YzFmMzIzMzJjDQotLS0gL2Rldi9udWxsDQorKysg Yi9saXNwL3RoZW1lcy9tb2R1cy10aGVtZXMuZWwNCkBAIC0wLDAgKzEsNTE2NCBAQA0KKzs7OyBt b2R1cy10aGVtZXMuZWwgLS0tIEhpZ2hseSBhY2Nlc3NpYmxlIHRoZW1lcyAoV0NBRyBBQUEpIC0q LSBsZXhpY2FsLWJpbmRpbmc6dCAtKi0NCisNCis7OyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCisNCis7OyBBdXRob3I6IFByb3Rlc2lsYW9z IFN0YXZyb3UgPGluZm9AcHJvdGVzaWxhb3MuY29tPg0KKzs7IFVSTDogaHR0cHM6Ly9naXRsYWIu Y29tL3Byb3Rlc2lsYW9zL21vZHVzLXRoZW1lcw0KKzs7IFZlcnNpb246IDEuMC4yDQorOzsgUGFj a2FnZS1SZXF1aXJlczogKChlbWFjcyAiMjYuMSIpKQ0KKzs7IEtleXdvcmRzOiBmYWNlcywgdGhl bWUsIGFjY2Vzc2liaWxpdHkNCisNCis7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3Mu DQorDQorOzsgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkNCis7OyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KKzs7IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdA0K Kzs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCis7Ow0KKzs7IFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQN Cis7OyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mDQorOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZSBHTlUNCis7OyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuDQorOzsNCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KKzs7IGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCisNCis7Ozsg Q29tbWVudGFyeToNCis7Ow0KKzs7IFRoZSBNb2R1cyB0aGVtZXMgY29uZm9ybSB3aXRoIHRoZSBo aWdoZXN0IHN0YW5kYXJkIGZvciBjb2xvci1jb250cmFzdA0KKzs7IGFjY2Vzc2liaWxpdHkgYmV0 d2VlbiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHZhbHVlcyAoV0NBRyBBQUEpLg0KKzs7IFRo aXMgZmlsZSBjb250YWlucyBhbGwgY3VzdG9taXNhdGlvbiBvcHRpb25zLCBoZWxwZXIgZnVuY3Rp b25zLA0KKzs7IGludGVyYWN0aXZlIGNvbW1hbmRzLCBhbmQgZmFjZSBzcGVjaWZpY2F0aW9ucy4g IFBsZWFzZSByZWZlciB0byB0aGUNCis7OyBvZmZpY2lhbCBJbmZvIG1hbnVhbCBmb3IgZnVydGhl ciBkb2N1bWVudGF0aW9uIChkaXN0cmlidXRlZCB3aXRoIHRoZQ0KKzs7IHRoZW1lcywgb3IgYXZh aWxhYmxlIGF0OiA8aHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVzPikuDQorOzsN Cis7OyBUaGUgdGhlbWVzIHNoYXJlIHRoZSBmb2xsb3dpbmcgY3VzdG9taXphdGlvbiBvcHRpb25z LCBhbGwgb2Ygd2hpY2gNCis7OyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCAobmlsKToNCis7Ow0K Kzs7ICAgICBtb2R1cy10aGVtZXMtc2xhbnRlZC1jb25zdHJ1Y3RzICAgICAgICAgICAgIChib29s ZWFuKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzICAgICAgICAgICAgICAg IChib29sZWFuKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3Mg ICAgICAgIChib29sZWFuKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMgICAg ICAgICAgICAgICAgIChib29sZWFuKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtaGVhZGluZ3MgICAg ICAgICAgICAgICAgICAgICAgIChhbGlzdCkNCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLWhl YWRpbmdzICAgICAgICAgICAgICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhlbWVzLWZy aW5nZXMgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10aGVt ZXMtb3JnLWJsb2NrcyAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAgIG1vZHVz LXRoZW1lcy1wcm9tcHRzICAgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAgICAg bW9kdXMtdGhlbWVzLW1vZGUtbGluZSAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7 ICAgICBtb2R1cy10aGVtZXMtZGlmZnMgICAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2Up DQorOzsgICAgIG1vZHVzLXRoZW1lcy1zeW50YXggICAgICAgICAgICAgICAgICAgICAgICAgKGNo b2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLWludGVuc2UtaGwtbGluZSAgICAgICAgICAgICAg ICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhlbWVzLXBhcmVuLW1hdGNoICAgICAgICAgICAg ICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtcmVnaW9uICAgICAgICAgICAg ICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1saW5rcyAgICAgICAg ICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLWNvbXBsZXRp b25zICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7DQorOzsgVGhlIGRlZmF1bHQgc2Nh bGUgZm9yIGhlYWRpbmdzIGlzIGFzIGZvbGxvd3MgKGl0IGNhbiBiZSBjdXN0b21pemVkIGFzDQor Ozsgd2VsbC0tLXJlbWVtYmVyLCBubyBzY2FsaW5nIHRha2VzIHBsYWNlIGJ5IGRlZmF1bHQpOg0K Kzs7DQorOzsgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS0xIDEuMDUNCis7OyAgICAgbW9kdXMtdGhl bWVzLXNjYWxlLTIgMS4xDQorOzsgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS0zIDEuMTUNCis7OyAg ICAgbW9kdXMtdGhlbWVzLXNjYWxlLTQgMS4yDQorOzsgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS01 IDEuMw0KKzs7DQorOzsgQmVsb3cgaXMgdGhlIGxpc3Qgb2YgZXhwbGljaXRseSBzdXBwb3J0ZWQg cGFja2FnZXMgb3IgZmFjZSBncm91cHMNCis7OyAodGhlcmUgYXJlIGltcGxpY2l0bHkgc3VwcG9y dGVkIHBhY2thZ2VzIGFzIHdlbGwsIHdoaWNoIGluaGVyaXQgZnJvbQ0KKzs7IGZvbnQtbG9jayBv ciBzb21lIGJhc2ljIGdyb3VwKS4gIFlvdSBhcmUgZW5jb3VyYWdlZCB0byByZXBvcnQgb2YgYW55 DQorOzsgbWlzc2luZyBwYWNrYWdlIG9yIGNoYW5nZSB5b3Ugd291bGQgbGlrZSB0byBzZWUuDQor OzsNCis7OyAgICAgYWNlLXdpbmRvdw0KKzs7ICAgICBhZw0KKzs7ICAgICBhbGVydA0KKzs7ICAg ICBhbGwtdGhlLWljb25zDQorOzsgICAgIGFubm90YXRlDQorOzsgICAgIGFuenUNCis7OyAgICAg YXByb3Bvcw0KKzs7ICAgICBhcHQtc291cmNlcy1saXN0DQorOzsgICAgIGFydGJvbGxvY2tzLW1v ZGUNCis7OyAgICAgYXVjdGV4IGFuZCBUZVgNCis7OyAgICAgYXV0by1kaW0tb3RoZXItYnVmZmVy cw0KKzs7ICAgICBhdnkNCis7OyAgICAgYXdlc29tZS10cmF5DQorOzsgICAgIGJpbmRlcg0KKzs7 ICAgICBibQ0KKzs7ICAgICBib25nbw0KKzs7ICAgICBib29uDQorOzsgICAgIGJyZWFrcG9pbnQg KHByb3ZpZGVkIGJ5IGJ1aWx0LWluIGdkYi1taS5lbCkNCis7OyAgICAgYnVmZmVyLWV4cG9zZQ0K Kzs7ICAgICBjYWxlbmRhciBhbmQgZGlhcnkNCis7OyAgICAgY2FsZncNCis7OyAgICAgY2VudGF1 ci10YWJzDQorOzsgICAgIGNoYW5nZS1sb2cgYW5kIGxvZy12aWV3IChgdmMtcHJpbnQtbG9nJyBh bmQgYHZjLXByaW50LXJvb3QtbG9nJykNCis7OyAgICAgY2lkZXINCis7OyAgICAgY2lyY2UNCis7 OyAgICAgY29sb3ItcmcNCis7OyAgICAgY29sdW1uLWVuZm9yY2UtbW9kZQ0KKzs7ICAgICBjb21w YW55LW1vZGUNCis7OyAgICAgY29tcGFueS1wb3NmcmFtZQ0KKzs7ICAgICBjb21waWxhdGlvbi1t b2RlDQorOzsgICAgIGNvbXBsZXRpb25zDQorOzsgICAgIGNvbnN1bHQNCis7OyAgICAgY291bnNl bA0KKzs7ICAgICBjb3Vuc2VsLWNzcw0KKzs7ICAgICBjb3Vuc2VsLW5vdG11Y2gNCis7OyAgICAg Y291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCis7OyAgICAgY292DQorOzsgICAgIGNwZXJsLW1v ZGUNCis7OyAgICAgY3N2LW1vZGUNCis7OyAgICAgY3RybGYNCis7OyAgICAgY3VzdG9tIChNLXgg Y3VzdG9taXplKQ0KKzs7ICAgICBkYXAtbW9kZQ0KKzs7ICAgICBkYXNoYm9hcmQgKGVtYWNzLWRh c2hib2FyZCkNCis7OyAgICAgZGVhZGdyZXANCis7OyAgICAgZGViYnVncw0KKzs7ICAgICBkZWZp bmUtd29yZA0KKzs7ICAgICBkZWZ0DQorOzsgICAgIGRpY3Rpb25hcnkNCis7OyAgICAgZGlmZi1o bA0KKzs7ICAgICBkaWZmLW1vZGUNCis7OyAgICAgZGltLWF1dG9sb2FkDQorOzsgICAgIGRpci10 cmVldmlldw0KKzs7ICAgICBkaXJlZA0KKzs7ICAgICBkaXJlZC1hc3luYw0KKzs7ICAgICBkaXJl ZC1naXQNCis7OyAgICAgZGlyZWQtZ2l0LWluZm8NCis7OyAgICAgZGlyZWQtbmFycm93DQorOzsg ICAgIGRpcmVkLXN1YnRyZWUNCis7OyAgICAgZGlyZWRmbA0KKzs7ICAgICBkaXNrLXVzYWdlDQor OzsgICAgIGRvb20tbW9kZWxpbmUNCis7OyAgICAgZHluYW1pYy1ydWxlcg0KKzs7ICAgICBlYXN5 LWpla3lsbA0KKzs7ICAgICBlYXN5LWtpbGwNCis7OyAgICAgZWJkYg0KKzs7ICAgICBlZGlmZg0K Kzs7ICAgICBlZ2xvdA0KKzs7ICAgICBlbC1zZWFyY2gNCis7OyAgICAgZWxkb2MNCis7OyAgICAg ZWxkb2MtYm94DQorOzsgICAgIGVsZmVlZA0KKzs7ICAgICBlbGZlZWQtc2NvcmUNCis7OyAgICAg ZW1tcw0KKzs7ICAgICBlbmhhbmNlZC1ydWJ5LW1vZGUNCis7OyAgICAgZXBhDQorOzsgICAgIGVx dWFrZQ0KKzs7ICAgICBlcmMNCis7OyAgICAgZXJvcw0KKzs7ICAgICBlcnQNCis7OyAgICAgZXNo ZWxsDQorOzsgICAgIGVzaGVsbC1mcmluZ2Utc3RhdHVzDQorOzsgICAgIGVzaGVsbC1naXQtcHJv bXB0DQorOzsgICAgIGVzaGVsbC1wcm9tcHQtZXh0cmFzIChlcGUpDQorOzsgICAgIGVzaGVsbC1z eW50YXgtaGlnaGxpZ2h0aW5nDQorOzsgICAgIGV2aWwgKGV2aWwtbW9kZSkNCis7OyAgICAgZXZp bC1nb2dnbGVzDQorOzsgICAgIGV2aWwtdmlzdWFsLW1hcmstbW9kZQ0KKzs7ICAgICBld3cNCis7 OyAgICAgZXh3bQ0KKzs7ICAgICBleWVicm93c2UNCis7OyAgICAgZmFuY3ktZGFiYnJldg0KKzs7 ICAgICBmbHljaGVjaw0KKzs7ICAgICBmbHljaGVjay1jb2xvci1tb2RlLWxpbmUNCis7OyAgICAg Zmx5Y2hlY2staW5kaWNhdG9yDQorOzsgICAgIGZseWNoZWNrLXBvc2ZyYW1lDQorOzsgICAgIGZs eW1ha2UNCis7OyAgICAgZmx5c3BlbGwNCis7OyAgICAgZmx5c3BlbGwtY29ycmVjdA0KKzs7ICAg ICBmbHgNCis7OyAgICAgZnJlZXplLWl0DQorOzsgICAgIGZyb2ctbWVudQ0KKzs7ICAgICBmb2N1 cw0KKzs7ICAgICBmb2xkLXRoaXMNCis7OyAgICAgZm9udC1sb2NrIChnZW5lcmljIHN5bnRheCBo aWdobGlnaHRpbmcpDQorOzsgICAgIGZvcmdlDQorOzsgICAgIGZvdW50YWluIChmb3VudGFpbi1t b2RlKQ0KKzs7ICAgICBnZWlzZXINCis7OyAgICAgZ2l0LWNvbW1pdA0KKzs7ICAgICBnaXQtZ3V0 dGVyIChhbmQgdmFyaWFudHMpDQorOzsgICAgIGdpdC1sZW5zDQorOzsgICAgIGdpdC1yZWJhc2UN Cis7OyAgICAgZ2l0LXRpbWVtYWNoaW5lDQorOzsgICAgIGdpdC13YWxrdHJlZQ0KKzs7ICAgICBn bnVzDQorOzsgICAgIGdvbGRlbi1yYXRpby1zY3JvbGwtc2NyZWVuDQorOzsgICAgIGhlbG0NCis7 OyAgICAgaGVsbS1scy1naXQNCis7OyAgICAgaGVsbS1zd2l0Y2gtc2hlbGwNCis7OyAgICAgaGVs bS14cmVmDQorOzsgICAgIGhlbHBmdWwNCis7OyAgICAgaGlnaGxpZ2h0LWJsb2Nrcw0KKzs7ICAg ICBoaWdobGlnaHQtZGVmaW5lZA0KKzs7ICAgICBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAo YGhlcy1tb2RlJykNCis7OyAgICAgaGlnaGxpZ2h0LWluZGVudGF0aW9uDQorOzsgICAgIGhpZ2hs aWdodC1udW1iZXJzDQorOzsgICAgIGhpZ2hsaWdodC1zeW1ib2wNCis7OyAgICAgaGlnaGxpZ2h0 LXRhaWwNCis7OyAgICAgaGlnaGxpZ2h0LXRoaW5nDQorOzsgICAgIGhsLWRlZmluZWQNCis7OyAg ICAgaGwtZmlsbC1jb2x1bW4NCis7OyAgICAgaGwtbGluZS1tb2RlDQorOzsgICAgIGhsLXRvZG8N Cis7OyAgICAgaHlkcmENCis7OyAgICAgaHlwZXJsaXN0DQorOzsgICAgIGlidWZmZXINCis7OyAg ICAgaWNvbXBsZXRlDQorOzsgICAgIGlkby1tb2RlDQorOzsgICAgIGllZGl0DQorOzsgICAgIGlm bGlwYg0KKzs7ICAgICBpbWVudS1saXN0DQorOzsgICAgIGluZGl1bQ0KKzs7ICAgICBpbmZvDQor OzsgICAgIGluZm8tY29sb3JzDQorOzsgICAgIGludGVyYWN0aW9uLWxvZw0KKzs7ICAgICBpb2Nj dXINCis7OyAgICAgaXNlYXJjaCwgb2NjdXIsIGV0Yy4NCis7OyAgICAgaXZ5DQorOzsgICAgIGl2 eS1wb3NmcmFtZQ0KKzs7ICAgICBqaXJhIChvcmctamlyYSkNCis7OyAgICAgam91cm5hbGN0bC1t b2RlDQorOzsgICAgIGpzMi1tb2RlDQorOzsgICAgIGp1bGlhDQorOzsgICAgIGp1cHl0ZXINCis7 OyAgICAga2FvY2hhLXJ1bm5lcg0KKzs7ICAgICBrZXljYXN0DQorOzsgICAgIGxpbmUgbnVtYmVy cyAoYGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUnIGFuZCBnbG9iYWwgdmFyaWFudCkNCis7OyAg ICAgbHNwLW1vZGUNCis7OyAgICAgbHNwLXVpDQorOzsgICAgIG1hY3Jvc3RlcA0KKzs7ICAgICBt YWdpdA0KKzs7ICAgICBtYWdpdC1pbWVyZ2UNCis7OyAgICAgbWFrZS1tb2RlDQorOzsgICAgIG1h bg0KKzs7ICAgICBtYXJrZG93bi1tb2RlDQorOzsgICAgIG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9k ZScpDQorOzsgICAgIG1lbnRvcg0KKzs7ICAgICBtZXNzYWdlcw0KKzs7ICAgICBtaW5pYnVmZmVy LWxpbmUNCis7OyAgICAgbWluaW1hcA0KKzs7ICAgICBtb2RlbGluZQ0KKzs7ICAgICBtb29kLWxp bmUNCis7OyAgICAgbXBkZWwNCis7OyAgICAgbXU0ZQ0KKzs7ICAgICBtdTRlLWNvbnZlcnNhdGlv bg0KKzs7ICAgICBtdWx0aXBsZS1jdXJzb3JzDQorOzsgICAgIG5lb3RyZWUNCis7OyAgICAgbm8t ZW1vamkNCis7OyAgICAgbm90bXVjaA0KKzs7ICAgICBudW0zLW1vZGUNCis7OyAgICAgbnhtbC1t b2RlDQorOzsgICAgIG9iamVkDQorOzsgICAgIG9yZGVybGVzcw0KKzs7ICAgICBvcmcNCis7OyAg ICAgb3JnLWpvdXJuYWwNCis7OyAgICAgb3JnLW5vdGVyDQorOzsgICAgIG9yZy1wb21vZG9ybw0K Kzs7ICAgICBvcmctcmVjdXINCis7OyAgICAgb3JnLXJvYW0NCis7OyAgICAgb3JnLXN1cGVyc3Rh cg0KKzs7ICAgICBvcmctdGFibGUtc3RpY2t5LWhlYWRlcg0KKzs7ICAgICBvcmctdHJlZXNjb3Bl DQorOzsgICAgIG9yaWdhbWkNCis7OyAgICAgb3V0bGluZS1tb2RlDQorOzsgICAgIG91dGxpbmUt bWlub3ItZmFjZXMNCis7OyAgICAgcGFja2FnZSAoTS14IGxpc3QtcGFja2FnZXMpDQorOzsgICAg IHBhZ2UtYnJlYWstbGluZXMNCis7OyAgICAgcGFyYWRveA0KKzs7ICAgICBwYXJlbi1mYWNlDQor OzsgICAgIHBhcnJvdA0KKzs7ICAgICBwYXNzDQorOzsgICAgIHBkZi10b29scw0KKzs7ICAgICBw ZXJzcC1tb2RlDQorOzsgICAgIHBlcnNwZWN0aXZlDQorOzsgICAgIHBoaS1ncmVwDQorOzsgICAg IHBoaS1zZWFyY2gNCis7OyAgICAgcGtnYnVpbGQtbW9kZQ0KKzs7ICAgICBwb21pZG9yDQorOzsg ICAgIHBvcHVwDQorOzsgICAgIHBvd2VybGluZQ0KKzs7ICAgICBwb3dlcmxpbmUtZXZpbA0KKzs7 ICAgICBwcm9jZWQNCis7OyAgICAgcHJvZGlneQ0KKzs7ICAgICByYWNrZXQtbW9kZQ0KKzs7ICAg ICByYWluYm93LWJsb2Nrcw0KKzs7ICAgICByYWluYm93LWlkZW50aWZpZXJzDQorOzsgICAgIHJh aW5ib3ctZGVsaW1pdGVycw0KKzs7ICAgICByY2lyYw0KKzs7ICAgICByZWdleHAtYnVpbGRlciAo YWxzbyBrbm93biBhcyBgcmUtYnVpbGRlcicpDQorOzsgICAgIHJnDQorOzsgICAgIHJpcGdyZXAN Cis7OyAgICAgcm1haWwNCis7OyAgICAgcnVsZXItbW9kZQ0KKzs7ICAgICBzYWxsZXQNCis7OyAg ICAgc2VsZWN0cnVtDQorOzsgICAgIHNlbWFudGljDQorOzsgICAgIHNlc21hbg0KKzs7ICAgICBz aGVsbC1zY3JpcHQtbW9kZQ0KKzs7ICAgICBzaG93LXBhcmVuLW1vZGUNCis7OyAgICAgc2hyDQor OzsgICAgIHNpZGUtbm90ZXMNCis7OyAgICAgc2lldmUtbW9kZQ0KKzs7ICAgICBza2V3ZXItbW9k ZQ0KKzs7ICAgICBzbWFydC1tb2RlLWxpbmUNCis7OyAgICAgc21hcnRwYXJlbnMNCis7OyAgICAg c21lcmdlDQorOzsgICAgIHNwYWNlbGluZQ0KKzs7ICAgICBzcGVlZGJhcg0KKzs7ICAgICBzcGVs bC1mdQ0KKzs7ICAgICBzdHJpcGVzDQorOzsgICAgIHN1Z2dlc3QNCis7OyAgICAgc3dpdGNoLXdp bmRvdw0KKzs7ICAgICBzd2lwZXINCis7OyAgICAgc3dvb3ANCis7OyAgICAgc3gNCis7OyAgICAg c3ltYm9sLW92ZXJsYXkNCis7OyAgICAgdGFiLWJhci1tb2RlDQorOzsgICAgIHRhYi1saW5lLW1v ZGUNCis7OyAgICAgc3lzbG9nLW1vZGUNCis7OyAgICAgdGFibGUgKGJ1aWx0LWluIHRhYmxlLmVs KQ0KKzs7ICAgICB0ZWxlcGhvbmUtbGluZQ0KKzs7ICAgICB0ZXJtDQorOzsgICAgIHRvbWF0aW5o bw0KKzs7ICAgICB0cmFuc2llbnQgKHBvcC11cCB3aW5kb3dzIGxpa2UgTWFnaXQncykNCis7OyAg ICAgdHJhc2hlZA0KKzs7ICAgICB0cmVlbWFjcw0KKzs7ICAgICB0dHktbWVudQ0KKzs7ICAgICB0 dWFyZWcNCis7OyAgICAgdHlwZXNjcmlwdA0KKzs7ICAgICB1bmRvLXRyZWUNCis7OyAgICAgdmMg KGJ1aWx0LWluIG1vZGUgbGluZSBzdGF0dXMgZm9yIHZlcnNpb24gY29udHJvbCkNCis7OyAgICAg dmMtYW5ub3RhdGUgKEMteCB2IGcpDQorOzsgICAgIHZkaWZmDQorOzsgICAgIHZpbWlzaC1mb2xk DQorOzsgICAgIHZpc2libGUtbWFyaw0KKzs7ICAgICB2aXN1YWwtcmVnZXhwDQorOzsgICAgIHZv bGF0aWxlLWhpZ2hsaWdodHMNCis7OyAgICAgdnRlcm0NCis7OyAgICAgd2NoZWNrLW1vZGUNCis7 OyAgICAgd2ViLW1vZGUNCis7OyAgICAgd2dyZXANCis7OyAgICAgd2hpY2gtZnVuY3Rpb24tbW9k ZQ0KKzs7ICAgICB3aGljaC1rZXkNCis7OyAgICAgd2hpdGVzcGFjZS1tb2RlDQorOzsgICAgIHdp bmRvdy1kaXZpZGVyLW1vZGUNCis7OyAgICAgd2ludW0NCis7OyAgICAgd3JpdGVnb29kLW1vZGUN Cis7OyAgICAgd29tYW4NCis7OyAgICAgeGFoLWVsaXNwLW1vZGUNCis7OyAgICAgeHJlZg0KKzs7 ICAgICB4dGVybS1jb2xvciAoYW5kIGFuc2ktY29sb3JzKQ0KKzs7ICAgICB5YW1sLW1vZGUNCis7 OyAgICAgeWFzbmlwcGV0DQorOzsgICAgIHp0cmVlDQorOzsNCis7OyBGb3IgYSBjb21wbGV0ZSB2 aWV3IG9mIHRoZSBwcm9qZWN0LCBhbHNvIHJlZmVyIHRvIHRoZSBmb2xsb3dpbmcgZmlsZXMNCis7 OyAoc2hvdWxkIGJlIGRpc3RyaWJ1dGVkIGluIHRoZSBzYW1lIHJlcG9zaXRvcnkvZGlyZWN0b3J5 IGFzIHRoZQ0KKzs7IGN1cnJlbnQgaXRlbSk6DQorOzsNCis7OyAtIG1vZHVzLXRoZW1lcy1jb3Jl LmVsICAgICAgIChDb2RlIHVzZWQgdG8gcHJvZHVjZSB0aGUgdGhlbWVzKQ0KKzs7IC0gbW9kdXMt b3BlcmFuZGktdGhlbWUuZWwgICAgKExpZ2h0IHRoZW1lKQ0KKzs7IC0gbW9kdXMtdml2ZW5kaS10 aGVtZS5lbCAgICAgKERhcmsgdGhlbWUpDQorDQorOzs7IENvZGU6DQorDQorDA0KKw0KKyhyZXF1 aXJlICdjbC1saWIpDQorDQorOzs7IEN1c3RvbSBmYWNlcw0KKw0KKyhkZWZncm91cCBtb2R1cy10 aGVtZSAoKQ0KKyAgIkN1c3RvbSBmYWNlcyBmb3IgdGhlIE1vZHVzIHRoZW1lcy4iDQorICA6Z3Jv dXAgJ2ZhY2VzDQorICA6cHJlZml4ICJtb2R1cy10aGVtZS0iDQorICA6bGluayAnKHVybC1saW5r IDp0YWcgIkdpdExhYiIgImh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVt ZXMiKQ0KKyAgOnRhZyAiTW9kdXMgT3BlcmFuZGkiKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1l LXN1YnRsZS1yZWQgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4g bmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93IG5pbCBuaWwpDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1zdWJ0bGUtbWFnZW50YSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1 YnRsZS1jeWFuIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwg bmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBuaWwgbmlsKQ0KKyhk ZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1pbnRlbnNlLXllbGxvdyBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWlu dGVuc2UtYmx1ZSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50 YSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbiBuaWwgbmlsKQ0K KyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCBuaWwgbmlsKQ0KKyhkZWZmYWNl IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1y ZWZpbmUtZ3JlZW4gbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93 IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgbmlsIG5pbCkNCiso ZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1v ZHVzLXRoZW1lLXJlZmluZS1jeWFuIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0 aXZlLXJlZCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbiBuaWwg bmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cgbmlsIG5pbCkNCisoZGVm ZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRo ZW1lLWFjdGl2ZS1tYWdlbnRhIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZl LWN5YW4gbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtcmVkIG5pbCBuaWwp DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuIG5pbCBuaWwpDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdyBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1l LWZyaW5nZS1ibHVlIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2Vu dGEgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbiBuaWwgbmlsKQ0K KyhkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9k dXMtdGhlbWUtbnVhbmNlZC1ncmVlbiBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW51 YW5jZWQteWVsbG93IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVl IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhIG5pbCBuaWwp DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuIG5pbCBuaWwpDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUt c3BlY2lhbC1taWxkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJt IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtIG5pbCBuaWwpDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVz LXRoZW1lLWRpZmYtY2hhbmdlZCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYt cmVtb3ZlZCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVk IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCBuaWwg bmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQgbmlsIG5pbCkN CisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkIG5pbCBuaWwpDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2VkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9k dXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVkIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhl bWUtZGlmZi1oZWFkaW5nIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcHNldWRvLWhl YWRlciBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstYWx0IG5pbCBuaWwpDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1kZWwgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1tYXJrLXNlbCBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstc3ltYm9s IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0xIG5pbCBuaWwpDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0yIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhl bWUtaGVhZGluZy0zIG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy00IG5p bCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy01IG5pbCBuaWwpDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtaGVhZGluZy02IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUt aGVhZGluZy03IG5pbCBuaWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy04IG5pbCBu aWwpDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGwtbGluZSBuaWwgbmlsKQ0KKyhkZWZmYWNlIG1v ZHVzLXRoZW1lLWJvbGQgbmlsIG5pbCkNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zbGFudCBuaWwg bmlsKQ0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIG5pbCBuaWwpDQorDQor DA0KKw0KKzs7OyBDdXN0b21pemF0aW9uIG9wdGlvbnMNCisNCis7Ozs7IEN1cnJlbnQgY3VzdG9t aXNhdGlvbiBvcHRpb25zICg+PSAxLjAuMCkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1z bGFudGVkLWNvbnN0cnVjdHMgbmlsDQorICAiVXNlIHNsYW50ZWQgdGV4dCBpbiBtb3JlIGNvZGUg Y29uc3RydWN0cyAoaXRhbGljcyBvciBvYmxpcXVlKS4iDQorICA6cGFja2FnZS12ZXJzaW9uICco bW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jv b2xlYW4pDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIG5pbA0K KyAgIlVzZSBib2xkIHRleHQgaW4gbW9yZSBjb2RlIGNvbnN0cnVjdHMuIg0KKyAgOnBhY2thZ2Ut dmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisg IDp0eXBlICdib29sZWFuKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBp dGNoLWhlYWRpbmdzIG5pbA0KKyAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMgKHZhcmlhYmxlLXBp dGNoKSBpbiBoZWFkaW5ncy4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4g IjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4pDQorDQorKGRl ZmN1c3RvbSBtb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMgbmlsDQorICAiRGlzYWJsZSBpbmhl cml0YW5jZSBmcm9tIGBmaXhlZC1waXRjaCcgaW4gc29tZSBmYWNlcy4NCisNCitUaGlzIGlzIGRv bmUgYnkgZGVmYXVsdCB0byBhbGxvdyBzcGFjaW5nLXNlbnNpdGl2ZSBjb25zdHJ1Y3RzLA0KK3N1 Y2ggYXMgT3JnIHRhYmxlcyBhbmQgY29kZSBibG9ja3MsIHRvIHJlbWFpbiBtb25vc3BhY2VkIHdo ZW4NCit1c2VycyBvcHQgZm9yIHNvbWV0aGluZyBsaWtlIHRoZSBjb21tYW5kIGB2YXJpYWJsZS1w aXRjaC1tb2RlJy4NCitUaGUgZG93bnNpZGUgd2l0aCB0aGUgZGVmYXVsdCBpcyB0aGF0IHVzZXJz IG5lZWQgdG8gZXhwbGljaXRseQ0KK2NvbmZpZ3VyZSB0aGUgZm9udCBmYW1pbHkgb2YgYGZpeGVk LXBpdGNoJyBpbiBvcmRlciB0byBnZXQgYQ0KK2NvbnNpc3RlbnQgZXhwZXJpZW5jZS4gIFRoYXQg bWF5IGJlIHNvbWV0aGluZyB0aGV5IGRvIG5vdCB3YW50IHRvDQorZG8uICBIZW5jZSB0aGlzIG9w dGlvbiB0byBkaXNhYmxlIGFueSBraW5kIG9mIHRlY2huaXF1ZSBmb3INCittaXhpbmcgZm9udHMu Ig0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVy c2lvbiAiMjguMSINCisgIDp0eXBlICdib29sZWFuKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhl bWVzLWhlYWRpbmdzDQorICAnKCh0IC4gbmlsKSkNCisgICJBbGlzdCBvZiBzdHlsZXMgZm9yIGhl YWRpbmdzLCB3aXRoIG9wdGlvbmFsIHZhbHVlIHBlciBsZXZlbC4NCisNCitUbyBjb250cm9sIGZh Y2VzIHBlciBsZXZlbCBmcm9tIDEtOCwgdXNlIHNvbWV0aGluZyBsaWtlIHRoaXM6DQorDQorICAo c2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCisgICAgICAgICcoKDEgLiBoaWdobGlnaHQpDQor ICAgICAgICAgICgyIC4gbGluZSkNCisgICAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8tYm9s ZCkpKQ0KKw0KK1RvIHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBoZWFkaW5nIGxldmVscywg dXNlIHRoaXMgcGF0dGVybjoNCisNCisgIChzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAg ICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQorDQorVGhlIGRlZmF1bHQgdXNl cyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHZhbHVlIGluDQorY29tYmluYXRpb24g d2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0aGlzDQorc3R5bGUg Zm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyDQor ZmFsbGJhY2sgb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRoZSB2YWx1ZSB0IGxpa2UgdGhpczoNCisN CisgIChzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAgICAgICAgJygoMSAuIHQpDQorICAg ICAgICAgICgyIC4gbGluZSkNCisgICAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8tYm9sZCkp KQ0KKw0KK0EgZGVzY3JpcHRpb24gb2YgYWxsIHBvc3NpYmxlIHZhbHVlczoNCisNCisrIGBuby1i b2xkJyByZXRhaW5zIHRoZSBkZWZhdWx0IHRleHQgY29sb3Igd2hpbGUgcmVtb3ZpbmcgdGhlDQor ICB0eXBvZ3JhcGhpYyB3ZWlnaHQuDQorDQorKyBgbGluZScgaXMgdGhlIHNhbWUgYXMgdGhlIGRl ZmF1bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZQ0KKyAgaGVhZGluZy4NCisNCisrIGBsaW5l LW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBsaW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0Lg0KKw0K KysgYHJhaW5ib3cnIHVzZXMgYSBtb3JlIGNvbG9yZnVsIGZvcmVncm91bmQgaW4gY29tYmluYXRp b24gd2l0aA0KKyAgYm9sZCB3ZWlnaHQuDQorDQorKyBgcmFpbmJvdy1saW5lJyBpcyB0aGUgc2Ft ZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBvdmVybGluZS4NCisNCisrIGByYWluYm93LWxpbmUtbm8t Ym9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctbGluZScgd2l0aG91dA0KKyAgdGhlIGJvbGQg d2VpZ2h0Lg0KKw0KKysgYGhpZ2hsaWdodCcgcmV0YWlucyB0aGUgZGVmYXVsdCBzdHlsZSBvZiBh IGZhaXJseSBkZXNhdHVyYXRlZA0KKyAgZm9yZWdyb3VuZCBjb21iaW5lZCB3aXRoIGEgYm9sZCB3 ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1YnRsZQ0KKyAgYWNjZW50ZWQgYmFja2dyb3VuZC4NCisN CisrIGBoaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgd2l0aG91 dCBhIGJvbGQNCisgIHdlaWdodC4NCisNCisrIGByYWluYm93LWhpZ2hsaWdodCcgaXMgdGhlIHNh bWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdpdGggYSBtb3JlDQorICBjb2xvcmZ1bCBmb3JlZ3JvdW5k Lg0KKw0KKysgYHJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGByYWlu Ym93LWhpZ2hsaWdodCcNCisgIHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCisNCisrIGBzZWN0aW9u JyByZXRhaW5zIHRoZSBkZWZhdWx0IGxvb2tzIGFuZCBhZGRzIHRvIHRoZW0gYm90aCBhbg0KKyAg b3ZlcmxpbmUgYW5kIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZC4gIEl0IGlzLCBpbiBl ZmZlY3QsDQorICBhIGNvbWJpbmF0aW9uIG9mIHRoZSBgbGluZScgYW5kIGBoaWdobGlnaHQnIHZh bHVlcy4NCisNCisrIGBzZWN0aW9uLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9uJyB3 aXRob3V0IGEgYm9sZA0KKyAgd2VpZ2h0Lg0KKw0KKysgYHJhaW5ib3ctc2VjdGlvbicgaXMgdGhl IHNhbWUgYXMgYHNlY3Rpb24nIGJ1dCB3aXRoIGEgbW9yZQ0KKyAgY29sb3JmdWwgZm9yZWdyb3Vu ZC4NCisNCisrIGByYWluYm93LXNlY3Rpb24tbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5i b3ctc2VjdGlvbicNCisgIHdpdGhvdXQgYSBib2xkIHdlaWdodC4iDQorICA6cGFja2FnZS12ZXJz aW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5 cGUNCisgICcoYWxpc3QNCisgICAgOmtleS10eXBlIHN5bWJvbA0KKyAgICA6dmFsdWUtdHlwZQ0K KyAgICAoY2hvaWNlIChjb25zdCA6dGFnICJGYWlybHkgZGVzYXR1cmF0ZWQgZm9yZWdyb3VuZCB3 aXRoIGJvbGQgd2VpZ2h0IChkZWZhdWx0KSIgdCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAi TGlrZSB0aGUgZGVmYXVsdCB3aXRob3V0IGJvbGQgd2VpZ2h0IiBuby1ib2xkKQ0KKyAgICAgICAg ICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHBsdXMgb3ZlcmxpbmUiIGxpbmUpDQor ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQi IGxpbmUtbm8tYm9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVs dCBidXQgd2l0aCBtb3JlIGNvbG9yZnVsIGZvcmVncm91bmQiIHJhaW5ib3cpDQorICAgICAgICAg ICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3cnIHBsdXMgb3ZlcmxpbmUiIHJhaW5ib3ctbGlu ZSkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycgd2l0aG91dCBib2xk IHdlaWdodCIgcmFpbmJvdy1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtl IGByYWluYm93LWxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ctbGluZS1uby1ib2xk KQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHBsdXMgc3VidGxl IGJhY2tncm91bmQiIGhpZ2hsaWdodCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBg aGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBoaWdobGlnaHQtbm8tYm9sZCkNCisgICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRoIG1vcmUgY29sb3JmdWwg Zm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcg Ikxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LWhp Z2hsaWdodC1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGln aHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHNlY3Rpb24tbm8tYm9sZCkNCisgICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aCBtb3JlIGNvbG9yZnVsIGZv cmVncm91bmQiIHJhaW5ib3ctc2VjdGlvbikNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlr ZSBgcmFpbmJvdy1zZWN0aW9uJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LXNlY3Rpb24t bm8tYm9sZCkpKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5ncyBu aWwNCisgICJVc2UgZm9udCBzY2FsaW5nIGZvciBoZWFkaW5ncy4iDQorICA6cGFja2FnZS12ZXJz aW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5 cGUgJ2Jvb2xlYW4pDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtc2NhbGUtMSAxLjA1DQor ICAiRm9udCBzaXplIHRoYXQgaXMgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGhlIGJhc2UgdmFsdWUu DQorVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFz IGEgbXVsdGlwbGUNCitvZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFi bGUgYWxzbyBhY2NlcHRzIGFuDQoraW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBo ZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCit0aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBm b250IGF0IDE0IHBvaW50IHNpemUpLg0KKw0KK0ZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQg dGhlIGRvY3VtZW50YXRpb24gb2YNCitgc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5 IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhl bWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ251bWJlcikNCisN CisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS0yIDEuMQ0KKyAgIkZvbnQgc2l6ZSBzbGln aHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtdGhlbWVzLXNjYWxlLTEnLg0KK1RoZSBkZWZhdWx0IGlz IGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQorb2Yg dGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBh bg0KK2ludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFs dWUgb2YgMTQwIGlzDQordGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBz aXplKS4NCisNCitGb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9u IG9mDQorYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNl Y3Rpb24uIg0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQor ICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdudW1iZXIpDQorDQorKGRlZmN1c3RvbSBtb2R1 cy10aGVtZXMtc2NhbGUtMyAxLjE1DQorICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFu IGBtb2R1cy10aGVtZXMtc2NhbGUtMicuDQorVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2lu dCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCitvZiB0aGUgYmFzZSBmb250IHNp emUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQoraW50ZWdlciwgdW5k ZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCit0 aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KKw0KK0ZvciBt b3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCitgc2V0LWZhY2Ut YXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJ251bWJlcikNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS00 IDEuMg0KKyAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtdGhlbWVzLXNj YWxlLTMnLg0KK1RoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnBy ZXRlZCBhcyBhIG11bHRpcGxlDQorb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhl IHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KK2ludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJz b2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQordGhlIHNhbWUgYXMgc2V0dGlu ZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCisNCitGb3IgbW9yZSBvbiB0aGUgbWF0dGVy LCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQorYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNp ZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1v ZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdudW1i ZXIpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtc2NhbGUtNSAxLjMNCisgICJGb250IHNp emUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXRoZW1lcy1zY2FsZS00Jy4NCitUaGUgZGVm YXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBs ZQ0KK29mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFj Y2VwdHMgYW4NCitpbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5n LiBhIHZhbHVlIG9mIDE0MCBpcw0KK3RoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQg cG9pbnQgc2l6ZSkuDQorDQorRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1l bnRhdGlvbiBvZg0KK2BzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVp Z2h0JyBzZWN0aW9uLiINCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4w LjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnbnVtYmVyKQ0KKw0KKyhkZWZjdXN0 b20gbW9kdXMtdGhlbWVzLWZyaW5nZXMgbmlsDQorICAiRGVmaW5lIHRoZSB2aXNpYmlsaXR5IG9m IGZyaW5nZXMuDQorDQorTmlsIG1lYW5zIHRoZSBmcmluZ2VzIGhhdmUgbm8gYmFja2dyb3VuZCBj b2xvci4gIE9wdGlvbiBgc3VidGxlJw0KK3dpbGwgYXBwbHkgYSBncmV5c2NhbGUgdmFsdWUgdGhh dCBpcyB2aXNpYmxlIHlldCBjbG9zZSB0byB0aGUNCittYWluIGJ1ZmZlciBiYWNrZ3JvdW5kIGNv bG9yLiAgT3B0aW9uIGBpbnRlbnNlJyB3aWxsIHVzZSBhIG1vcmUNCitwcm9ub3VuY2VkIGdyZXlz Y2FsZSB2YWx1ZS4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4w IikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNv bnN0IDp0YWcgIk5vIHZpc2libGUgZnJpbmdlcyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAg KGNvbnN0IDp0YWcgIlN1YnRsZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgc3VidGxlKQ0KKyAgICAg ICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgaW50ZW5zZSkp KQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgbmlsDQorICAiVXNlIGEg c3VidGxlIGdyYXkgb3IgY29sb3ItY29kZWQgYmFja2dyb3VuZCBmb3IgT3JnIGJsb2Nrcy4NCisN CitOaWwgbWVhbnMgdGhhdCB0aGUgYmxvY2sgd2lsbCBoYXZlIG5vIGJhY2tncm91bmQgb2YgaXRz IG93biBhbmQNCit3aWxsIHVzZSB0aGUgZGVmYXVsdCB0aGF0IGFwcGxpZXMgdG8gdGhlIHJlc3Qg b2YgdGhlIGJ1ZmZlci4NCisNCitPcHRpb24gYGdyYXlzY2FsZScgKG9yIGBncmV5c2NhbGUnKSB3 aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRyYWwNCitncmF5IGJhY2tncm91bmQgdG8gdGhlIGJsb2Nr J3MgY29udGVudHMuICBJdCBhbHNvIGFmZmVjdHMgdGhlDQorYmVnaW4gYW5kIGVuZCBsaW5lcyBv ZiB0aGUgYmxvY2s6IHRoZWlyIGJhY2tncm91bmQgd2lsbCBiZQ0KK2V4dGVuZGVkIHRvIHRoZSBl ZGdlIG9mIHRoZSB3aW5kb3cgZm9yIEVtYWNzIHZlcnNpb24gPj0gMjcgd2hlcmUNCit0aGUgJzpl eHRlbmQnIGtleXdvcmQgaXMgcmVjb2duaXplZCBieSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCisN CitPcHRpb24gYHJhaW5ib3cnIHdpbGwgdXNlIGFuIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRo ZSBjb250ZW50cw0KK29mIHRoZSBibG9jay4gIFRoZSBleGFjdCBjb2xvciB3aWxsIGRlcGVuZCBv biB0aGUgcHJvZ3JhbW1pbmcNCitsYW5ndWFnZSBhbmQgaXMgY29udHJvbGxlZCBieSB0aGUgYG9y Zy1zcmMtYmxvY2stZmFjZXMnDQordmFyaWFibGUgKHJlZmVyIHRvIHRoZSB0aGVtZSdzIHNvdXJj ZSBjb2RlIGZvciB0aGUgY3VycmVudA0KK2Fzc29jaWF0aW9uIGxpc3QpLiINCisgIDpwYWNrYWdl LXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQor ICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gT3JnIGJsb2NrIGJh Y2tncm91bmQgKGRlZmF1bHQpIiBuaWwpDQorICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUg Z3JheSBibG9jayBiYWNrZ3JvdW5kIiBncmF5c2NhbGUpDQorICAgICAgICAgIChjb25zdCA6dGFn ICJTdWJ0bGUgZ3JheSBibG9jayBiYWNrZ3JvdW5kIChhbHQgc3BlbGxpbmcpIiBncmV5c2NhbGUp DQorICAgICAgICAgIChjb25zdCA6dGFnICJDb2xvci1jb2RlZCBiYWNrZ3JvdW5kIHBlciBwcm9n cmFtbWluZyBsYW5ndWFnZSIgcmFpbmJvdykpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVz LW1vZGUtbGluZSBuaWwNCisgICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGUgb2YgdGhlIG1vZGUg bGluZS4NCisNCitOaWwgaXMgYSB0d28tZGltZW5zaW9uYWwgcmVjdGFuZ2xlIHdpdGggYSBib3Jk ZXIgYXJvdW5kIGl0LiAgVGhlDQorYWN0aXZlIGFuZCB0aGUgaW5hY3RpdmUgbW9kZWxpbmVzIHVz ZSBkaWZmZXJlbnQgc2hhZGVzIG9mDQorZ3JleXNjYWxlIHZhbHVlcyBmb3IgdGhlIGJhY2tncm91 bmQgYW5kIGZvcmVncm91bmQuDQorDQorQSBgM2QnIHZhbHVlIHdpbGwgYXBwbHkgYSB0aHJlZS1k aW1lbnNpb25hbCBlZmZlY3QgdG8gdGhlIGFjdGl2ZQ0KK21vZGVsaW5lLiAgVGhlIGluYWN0aXZl IG1vZGVsaW5lcyByZW1haW4gdHdvLWRpbWVuc2lvbmFsIGFuZCBhcmUNCit0b25lZCBkb3duIGEg Yml0LCByZWxhdGl2ZSB0byB0aGUgbmlsIHZhbHVlLg0KKw0KK1RoZSBgbW9vZHknIG9wdGlvbiBp cyBtZWFudCB0byBvcHRpbWl6ZSB0aGUgbW9kZWxpbmUgZm9yIHVzZSB3aXRoDQordGhlIGxpYnJh cnkgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgcHJhY3RpY2FsbHkgbWVhbnMgdG8gcmVtb3ZlDQor dGhlIGJveCBlZmZlY3QgYW5kIHJlbHkgb24gdW5kZXJsaW5lIGFuZCBvdmVybGluZSBwcm9wZXJ0 aWVzDQoraW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biB0aGUgaW5hY3RpdmUgbW9kZWxpbmVz LiAgRGVzcGl0ZSBpdHMNCitpbnRlbmRlZCBwdXJwb3NlLCB0aGlzIG9wdGlvbiBjYW4gYWxzbyBi ZSB1c2VkIHdpdGhvdXQgdGhlDQorYG1vb2R5JyBsaWJyYXJ5LiINCisgIDpwYWNrYWdlLXZlcnNp b24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlw ZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVHdvLWRpbWVuc2lvbmFsIGJveCAo ZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlRocmVlLWRpbWVuc2lvbmFs IHN0eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGluZSIgM2QpDQorICAgICAgICAgIChjb25zdCA6 dGFnICJObyBib3ggZWZmZWN0cywgd2hpY2ggYXJlIG9wdGltYWwgZm9yIHVzZSB3aXRoIHRoZSBg bW9vZHknIGxpYnJhcnkiIG1vb2R5KSkpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtZGlm ZnMgbmlsDQorICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlcyBvZiBkaWZmcy4NCisNCitOaWwg bWVhbnMgdG8gdXNlIGZhaXJseSBpbnRlbnNlIGNvbG9yIGNvbWJpbmF0aW9ucyBmb3IgZGlmZnMu DQorRm9yIGV4YW1wbGUsIHlvdSBnZXQgYSByaWNoIGdyZWVuIGJhY2tncm91bmQgd2l0aCBhIGdy ZWVuDQorZm9yZWdyb3VuZCBmb3IgYWRkZWQgbGluZXMuICBXb3JkLXdpc2Ugb3IgJ3JlZmluZWQn IGRpZmZzIGZvbGxvdw0KK3RoZSBzYW1lIHBhdHRlcm4gYnV0IHVzZSBkaWZmZXJlbnQgc2hhZGVz IG9mIHRob3NlIGNvbG9ycyB0bw0KK3JlbWFpbiBkaXN0aW5jdC4NCisNCitBIGBkZXNhdHVyYXRl ZCcgdmFsdWUgZm9sbG93cyB0aGUgc2FtZSBwcmluY2lwbGVzIGFzIHdpdGggdGhlIG5pbA0KK29w dGlvbiwgd2hpbGUgaXQgdG9uZXMgZG93biBhbGwgcmVsZXZhbnQgY29sb3JzLg0KKw0KK09wdGlv biBgZmctb25seScgd2lsbCByZW1vdmUgYWxsIGFjY2VudGVkIGJhY2tncm91bmRzLCBleGNlcHQN Citmcm9tIHdvcmQtd2lzZSBjaGFuZ2VzLiAgSXQgaW5zdGVhZCB1c2VzIGNvbG9yLWNvZGVkIGZv cmVncm91bmQNCit2YWx1ZXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGFkZGVkL3JlbW92ZWQv Y2hhbmdlZCBsaW5lcy4gIElmDQorYSBiYWNrZ3JvdW5kIGlzIG5lY2Vzc2FyeSwgc3VjaCBhcyB3 aXRoIGBlZGlmZicsIHRoZW4gYSBzdWJ0bGUNCitncmV5c2NhbGUgdmFsdWUgaXMgdXNlZC4NCisN CitPcHRpb24gYGJnLW9ubHknIGFwcGxpZXMgYSBiYWNrZ3JvdW5kIGJ1dCBkb2VzIG5vdCBvdmVy cmlkZSB0aGUNCit0ZXh0J3MgZm9yZWdyb3VuZC4gIFRoaXMgbWFrZXMgaXQgc3VpdGFibGUgZm9y IGEgbm9uLW5pbCB2YWx1ZQ0KK3Bhc3NlZCB0byBgZGlmZi1mb250LWxvY2stc3ludGF4JyAobm90 ZTogTWFnaXQgZG9lcyBub3Qgc3VwcG9ydA0KK3N5bnRheCBoaWdobGlnaHRpbmcgaW4gZGlmZnMg YXMgb2YgMjAyMC0xMS0yNSwgdmVyc2lvbg0KKzIwMjAxMTE2LjEwNTcpLiINCisgIDpwYWNrYWdl LXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQor ICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZWx5IGNvbG9y ZWQgYmFja2dyb3VuZHMgKGRlZmF1bHQpIiBuaWwpDQorICAgICAgICAgIChjb25zdCA6dGFnICJT bGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kcyB3aXRoIHRpbnRlZCB0ZXh0IiBkZXNhdHVyYXRl ZCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIGJhY2tncm91bmRzLCBleGNlcHQgZm9yIHJl ZmluZWQgZGlmZnMiIGZnLW9ubHkpDQorICAgICAgICAgIChjb25zdCA6dGFnICJBcHBseSBjb2xv ci1jb2RlZCBiYWNrZ3JvdW5kczsga2VlcCBzeW50YXggY29sb3JzIGluIHRhY3QiIGJnLW9ubHkp KSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1jb21wbGV0aW9ucyBuaWwNCisgICJBcHBs eSBzcGVjaWFsIHN0eWxlcyB0byB0aGUgVUkgb2YgY29tcGxldGlvbiBmcmFtZXdvcmtzLg0KKw0K K1RoaXMgY29uY2VybnMgSWNvbXBsZXRlLCBJdnksIEhlbG0sIFNlbGVjdHJ1bSwgSWRvLCBhcyB3 ZWxsIGFzDQorYW55IG90aGVyIHRvb2wgbWVhbnQgdG8gZW5oYW5jZSB0aGVpciBleHBlcmllbmNl LiAgVGhlIGVmZmVjdA0KK3dpbGwgdmFyeSBkZXBlbmRpbmcgb24gdGhlIGNvbXBsZXRpb24gZnJh bWV3b3JrLg0KKw0KK05pbCBtZWFucyB0byByZW1haW4gZmFpdGhmdWwgdG8gdGhlIG1ldGFwaG9y cyB0aGF0IGVhY2ggVUkNCitlc3RhYmxpc2hlcy4gIEZvciBleGFtcGxlLCBJY29tcGxldGUgYW5k IElkbyBvbmx5IHVzZSBmb3JlZ3JvdW5kDQorY29sb3JzIHRvIHN0eWxlIHRoZWlyIG1hdGNoZXMs IHdoZXJlYXMgSXZ5IG9yIEhlbG0gcmVseSBvbiBhbg0KK2Flc3RoZXRpYyB0aGF0IGNvbWJpbmVz IGNvbG9yZWQgYmFja2dyb3VuZHMgd2l0aCBhcHByb3ByaWF0ZSB0ZXh0DQorY29sb3IuDQorDQor T3B0aW9uIGBtb2RlcmF0ZScgd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQg YW5kDQorZm9yZWdyb3VuZCB0aGF0IGlzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNvbXBsZXRlIGFu ZCB0aGUgbGlrZSwNCit0aGlzIGNvbnN0aXR1dGVzIGEgZGVwYXJ0dXJlIGZyb20gdGhlaXIgc3Rh bmRhcmQgc3R5bGUuICBXaGlsZQ0KK0l2eSwgSGVsbSwgYW5kIHRoZSBvdGhlcnMsIHdpbGwgdXNl IGxlc3MgcHJvbm91bmNlZCBjb2xvcnMgZm9yDQorYXBwbGljYWJsZSBjb250ZXh0cy4NCisNCitP cHRpb24gYG9waW5pb25hdGVkJyB3aWxsIGFwcGx5IGNvbG9yIGNvbWJpbmF0aW9ucyB0aGF0IHJl ZmFzaGlvbg0KK3RoZSBjb21wbGV0aW9uIFVJLiAgU28gSWNvbXBsZXRlIGV0IGFsIHdpbGwgbm93 IHVzZSBzdHlsZXMgdGhhdA0KK3Jlc2VtYmxlIHRoZSBkZWZhdWx0cyBvZiBJdnkgYW5kIGNvLiwg d2hpbGUgdGhlIGxhdHRlciBncm91cCB3aWxsDQorcmV2ZXJ0IHRvIGFuIGV2ZW4gbW9yZSBudWFu Y2VkIGFlc3RoZXRpYy4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEu MC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAg KGNvbnN0IDp0YWcgIlJlc3BlY3QgdGhlIGZyYW1ld29yaydzIGVzdGFibGlzaGVkIGFlc3RoZXRp YyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBiYWNrZ3Jv dW5kcyBmb3IgdmFyaW91cyBlbGVtZW50cyIgbW9kZXJhdGUpDQorICAgICAgICAgIChjb25zdCA6 dGFnICJSYWRpY2FsIGFsdGVybmF0aXZlIHRvIHRoZSBmcmFtZXdvcmsncyBsb29rcyIgb3Bpbmlv bmF0ZWQpKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1wcm9tcHRzIG5pbA0KKyAgIlVz ZSBzdWJ0bGUgb3IgaW50ZW5zZSBzdHlsZXMgZm9yIG1pbmlidWZmZXIgYW5kIFJFUEwgcHJvbXB0 cy4NCisNCitOaWwgbWVhbnMgdG8gb25seSB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xv ci4NCisNCitPcHRpb25zIGBzdWJ0bGUnIGFuZCBgaW50ZW5zZScgd2lsbCBjaGFuZ2UgYm90aCB0 aGUgYmFja2dyb3VuZA0KK2FuZCB0aGUgZm9yZWdyb3VuZCB2YWx1ZXMuICBUaGUgbGF0dGVyIGhh cyBhIG1vcmUgcHJvbm91bmNlZA0KK2VmZmVjdCB0aGFuIHRoZSBmb3JtZXIuIg0KKyAgOnBhY2th Z2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSIN CisgIDp0eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJObyBwcm9tcHQgYmFj a2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBh Y2NlbnRlZCBiYWNrZ3JvdW5kIGZvciB0aGUgcHJvbXB0IiBzdWJ0bGUpDQorICAgICAgICAgIChj b25zdCA6dGFnICJJbnRlbnNlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgZm9yIHRoZSBwcm9t cHQiIGludGVuc2UpKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxp bmUgbmlsDQorICAiVXNlIGEgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCBmb3IgY29tbWFuZCBg aGwtbGluZS1tb2RlJy4iDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEu MC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4pDQorDQorKGRlZmN1 c3RvbSBtb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2ggbmlsDQorICAiQ2hvb3NlIHRoZSBzdHlsZSBv ZiBtYXRjaGluZyBwYXJlbnRoZXNlcyBvciBkZWxpbWl0ZXJzLg0KKw0KK05pbCBtZWFucyB0byB1 c2UgYSBzdWJ0bGUgdGludGVkIGJhY2tncm91bmQgY29sb3IgKHRoZSBkZWZhdWx0KS4NCisNCitP cHRpb24gYGludGVuc2UnIGFwcGxpZXMgYSBzYXR1cmF0ZWQgYmFja2dyb3VuZCBjb2xvci4NCisN CitPcHRpb24gYHN1YnRsZS1ib2xkJyBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdCwgYnV0IGFs c28gbWFrZXMNCit1c2Ugb2YgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQgKGluaGVyaXRzIHRoZSBg Ym9sZCcgZmFjZSkuDQorDQorT3B0aW9uIGBpbnRlbnNlLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBp bnRlbnNlJywgd2hpbGUgaXQgYWxzbw0KK3VzZXMgYSBib2xkIHdlaWdodC4iDQorICA6cGFja2Fn ZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0K KyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlN1Ymx0ZSB0aW50ZWQg YmFja2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2Ug dGhlIGRlZmF1bHQsIGJ1dCBhbHNvIHVzZSBib2xkIHR5cG9ncmFwaGljIHdlaWdodCIgc3VidGxl LWJvbGQpDQorICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlIHNhdHVyYXRlZCBiYWNrZ3Jv dW5kIiBpbnRlbnNlKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaW50ZW5zZScgYnV0 IHdpdGggYm9sZCB3ZWlnaHQiIGludGVuc2UtYm9sZCkpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMt dGhlbWVzLXN5bnRheCBuaWwNCisgICJDb250cm9sIHRoZSBvdmVyYWxsIHN0eWxlIG9mIGNvZGUg c3ludGF4IGhpZ2hsaWdodGluZy4NCisNCitOaWwgKHRoZSBkZWZhdWx0KSBtZWFucyB0byB1c2Ug Y29sb3JzIG9uIHRoZSBjeWFuLWJsdWUtbWFnZW50YQ0KK3NpZGUgb2YgdGhlIHNwZWN0cnVtLiAg VGhlcmUgaXMgbGl0dGxlIHRvIG5vIHVzZSBvZiBncmVlbnMsDQoreWVsbG93cywgYW5kIHJlZHMu DQorDQorT3B0aW9uIGBmYWludCcgaXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUg Y2hvaWNlIG9mDQorcGFsZXR0ZSBidXQgYXBwbGllcyBkZXNhdHVyYXRlZCBjb2xvciB2YWx1ZXMu DQorDQorT3B0aW9uIGB5ZWxsb3ctY29tbWVudHMnIGFwcGxpZXMgYSB5ZWxsb3cgdGludCB0byBj b21tZW50cy4gIFRoZQ0KK3Jlc3Qgb2YgdGhlIHN5bnRheCBpcyB0aGUgc2FtZSBhcyB0aGUgZGVm YXVsdC4NCisNCitPcHRpb24gYGdyZWVuLXN0cmluZ3MnIHJlcGxhY2VzIHRoZSBibHVlL2N5YW4v Y29sZCBjb2xvciB2YXJpYW50cw0KK2luIHN0cmluZ3Mgd2l0aCBncmVlbmVyIGFsdGVybmF0aXZl cy4gIFRoZSByZXN0IG9mIHRoZSBzeW50YXgNCityZW1haW5zIHRoZSBzYW1lLg0KKw0KK09wdGlv biBgeWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MnIGNvbWJpbmVzIHllbGxvdyBjb21tZW50 cw0KK3dpdGggZ3JlZW4gc3RyaW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRlZmF1bHQgc3ludGF4 DQoraGlnaGxpZ2h0aW5nIHN0eWxlLg0KKw0KK09wdGlvbiBgYWx0LXN5bnRheCcgZXhwYW5kcyB0 aGUgY29sb3IgcGFsZXR0ZSBhbmQgYXBwbGllcyBuZXcNCitjb2xvciBjb21iaW5hdGlvbnMuICBT dHJpbmdzIGFyZSBncmVlbi4gIERvYyBzdHJpbmdzIGFyZSBtYWdlbnRhDQordGludGVkLiAgQ29t bWVudHMgYXJlIGdyYXkuDQorDQorT3B0aW9uIGBhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cycg Y29tYmluZXMgYGFsdC1zeW50YXgnIHdpdGgNCitgeWVsbG93LWNvbW1lbnRzJy4iDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkJhbGFuY2VkIHVz ZSBvZiBibHVlLCBjeWFuLCBtYWdlbnRhLCBwdXJwbGUgdmFyaWFudHMgKGRlZmF1bHQpIiBuaWwp DQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQgd2l0aCBkZXNh dHVyYXRlZCBjb2xvciB2YWx1ZXMiIGZhaW50KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQXBw bHkgeWVsbG93IHRpbnQgdG8gY29tbWVudHMsIGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRo ZSByZXN0IiB5ZWxsb3ctY29tbWVudHMpDQorICAgICAgICAgIChjb25zdCA6dGFnICJVc2UgZ3Jl ZW4gZm9yIHN0cmluZ3MsIGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRoZSByZXN0IiBncmVl bi1zdHJpbmdzKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVXNlIGdyZWVuIGZvciBzdHJpbmdz LCB5ZWxsb3cgZm9yIGNvbW1lbnRzLCBrZWVwIHRoZSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcmVz dCIgeWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MpDQorICAgICAgICAgIChjb25zdCA6dGFn ICJSZWZhc2hpb24gc3ludGF4IGhpZ2hsaWdodGluZyB3aXRoIG1vcmUgY29sb3JzLCBncmF5IGNv bW1lbnRzIiBhbHQtc3ludGF4KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgYWx0LXN5 bnRheCcgYnV0IHdpdGggeWVsbG93IGNvbW1lbnRzIiBhbHQtc3ludGF4LXllbGxvdy1jb21tZW50 cykpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLWxpbmtzIG5pbA0KKyAgIlNldCB0aGUg c3R5bGUgb2YgbGlua3MuDQorDQorTmlsIG1lYW5zIHRvIHVzZSBhbiB1bmRlcmxpbmUgdGhhdCBp cyB0aGUgc2FtZSBjb2xvciBhcyB0aGUNCitmb3JlZ3JvdW5kLg0KKw0KK09wdGlvbiBgZmFpbnQn IGFwcGxpZXMgZGVzYXR1cmF0ZWQgY29sb3JzIHRvIHRoZSBsaW5rJ3MgdGV4dCBhbmQNCit1bmRl cmxpbmUuDQorDQorT3B0aW9uIGBuZXV0cmFsLXVuZGVybGluZScgYXBwbGllcyBhIHN1YnRsZSBn cmV5IHVuZGVybGluZSwgd2hpbGUNCityZXRhaW5pbmcgdGhlIGxpbmsncyBmb3JlZ3JvdW5kLg0K Kw0KK09wdGlvbiBgZmFpbnQtbmV1dHJhbC11bmRlcmxpbmUnIGNvbWJpbmVzIGEgZGVzYXR1cmF0 ZWQgdGV4dA0KK2NvbG9yIHdpdGggYSBzdWJ0bGUgZ3JleSB1bmRlcmxpbmUuDQorDQorT3B0aW9u IGBuby11bmRlcmxpbmUnIHJlbW92ZXMgbGluayB1bmRlcmxpbmVzIGFsdG9nZXRoZXIuIg0KKyAg OnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAi MjguMSINCisgIDp0eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJVbmRlbGlu ZSBsaW5rIHVzaW5nIHRoZSBzYW1lIGNvbG9yIGFzIHRoZSB0ZXh0IChkZWZhdWx0KSIgbmlsKQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCwgYnV0IGFwcGx5IGxlc3Mg aW50ZW5zZSBjb2xvcnMgdG8gbGlua3MiIGZhaW50KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAi Q2hhbmdlIHRoZSBjb2xvciBvZiBsaW5rIHVuZGVybGluZXMgdG8gYSBuZXV0cmFsIGdyZXkiIG5l dXRyYWwtdW5kZXJsaW5lKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiRGVzYXR1cmF0ZWQgZm9y ZWdyb3VuZCB3aXRoIG5ldXRyYWwgZ3JleSB1bmRlcmxpbmUiIGZhaW50LW5ldXRyYWwtdW5kZXJs aW5lKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiUmVtb3ZlIHVuZGVybGluZSBwcm9wZXJ0eSBm cm9tIGxpbmtzLCBrZWVwaW5nIHRoZWlyIGZvcmVncm91bmQgYXMtaXMiIG5vLXVuZGVybGluZSkp KQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXJlZ2lvbiBuaWwNCisgICJDaGFuZ2UgdGhl IG92ZXJhbGwgYXBwZWFyYW5jZSBvZiB0aGUgYWN0aXZlIHJlZ2lvbi4NCisNCitOaWwgKHRoZSBk ZWZhdWx0KSBtZWFucyB0byBvbmx5IHVzZSBhIHByb21pbmVudCBncmF5IGJhY2tncm91bmQNCit3 aXRoIGEgbmV1dHJhbCBmb3JlZ3JvdW5kLiAgVGhlIGZvcmVncm91bmQgb3ZlcnJpZGVzIGFsbCBz eW50YXgNCitoaWdobGlnaHRpbmcuICBUaGUgcmVnaW9uIGV4dGVuZHMgdG8gdGhlIGVkZ2Ugb2Yg dGhlIHdpbmRvdy4NCisNCitPcHRpb24gYG5vLWV4dGVuZCcgcHJlc2VydmVzIHRoZSBkZWZhdWx0 IGFlc3RoZXRpYyBidXQgcHJldmVudHMNCit0aGUgcmVnaW9uIGZyb20gZXh0ZW5kaW5nIHRvIHRo ZSBlZGdlIG9mIHRoZSB3aW5kb3cuDQorDQorT3B0aW9uIGBiZy1vbmx5JyBhcHBsaWVzIGEgZmFp bnQgdGludGVkIGJhY2tncm91bmQgdGhhdCBpcw0KK2Rpc3RpbmN0IGZyb20gYWxsIG90aGVycyB1 c2VkIGluIHRoZSB0aGVtZSwgd2hpbGUgaXQgZG9lcyBub3QNCitvdmVycmlkZSBhbnkgZXhpc3Rp bmcgY29sb3JzLiAgSXQgZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUNCit3aW5kb3cuDQorDQor T3B0aW9uIGBiZy1vbmx5LW5vLWV4dGVuZCcgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgYGJnLW9u bHknIGFuZA0KK2Buby1leHRlbmQnIG9wdGlvbnMuIg0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1v ZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoY2hv aWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlIGJhY2tncm91bmQ7IG92ZXJyaWRl cyBjb2xvcnM7IGV4dGVuZHMgdG8gZWRnZSBvZiB3aW5kb3cgKGRlZmF1bHQpIiBuaWwpDQorICAg ICAgICAgIChjb25zdCA6dGFnICJBcyB3aXRoIHRoZSBkZWZhdWx0LCBidXQgZG9lcyBub3QgZXh0 ZW5kIiBuby1leHRlbmQpDQorICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgYmFja2dyb3Vu ZDsgcHJlc2VydmVzIGNvbG9yczsgZXh0ZW5kcyB0byBlZGdlIG9mIHdpbmRvdyIgYmctb25seSkN CisgICAgICAgICAgKGNvbnN0IDp0YWcgIkFzIHdpdGggdGhlIGBzdWJ0bGUnIG9wdGlvbiwgYnV0 IGRvZXMgbm90IGV4dGVuZCIgYmctb25seS1uby1leHRlbmQpKSkNCisNCisMDQorDQorOzs7IFZh cmlhYmxlcyBmb3IgZWFjaCB2YXJpYW50DQorDQorOzs7OyBNb2R1cyBPcGVyYW5kaQ0KKw0KKyhk ZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMNCisgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1k ZWZhdWx0LWNvbG9ycy1hbGlzdA0KKyAgJ21vZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkNCisg ICIxLjAuMCIpDQorDQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkNCisg ICcoOzsgYmFzZSB2YWx1ZXMNCisgICAgKGJnLW1haW4gLiAiI2ZmZmZmZiIpIChmZy1tYWluIC4g IiMwMDAwMDAiKQ0KKyAgICAoYmctZGltIC4gIiNmOGY4ZjgiKSAoZmctZGltIC4gIiMyODI4Mjgi KQ0KKyAgICAoYmctYWx0IC4gIiNmMGYwZjAiKSAoZmctYWx0IC4gIiM1MDUwNTAiKQ0KKyAgICA7 OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgYW5kIG11c3QgYmUgY29tYmluZWQgd2l0 aA0KKyAgICA7OyB0aGVtc2VsdmVzLCB0aG91Z2ggdGhlIGJhY2tncm91bmRzIGFyZSBhbHNvIG1l YW50IHRvIGJlIHVzZWQgd2l0aA0KKyAgICA7OyBvdGhlciAiYWN0aXZlIiB2YWx1ZXMsIGRlZmlu ZWQgZnVydGhlciBiZWxvdw0KKyAgICAoYmctYWN0aXZlIC4gIiNkN2Q3ZDciKSAoZmctYWN0aXZl IC4gIiMwYTBhMGEiKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiI2VmZWZlZiIpIChmZy1pbmFjdGl2 ZSAuICIjNDA0MTQ4IikNCisgICAgOzsgdGhlc2Ugc3BlY2lhbCB2YWx1ZXMgYXJlIGludGVuZGVk IGFzIGFsdGVybmF0aXZlcyB0byB0aGUgYmFzZQ0KKyAgICA7OyB2YWx1ZXMgZm9yIGNhc2VzIHdo ZXJlIHdlIG5lZWQgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gdGhlDQorICAgIDs7IGhpZ2hs aWdodGVkIGNvbnN0cnVjdHM7IHRoZXkgbXVzdCBlaXRoZXIgYmUgdXNlZCBhcyBwYWlycyBiYXNl ZA0KKyAgICA7OyBvbiB0aGVpciBuYW1lIG9yIGVhY2ggY2FuIGJlIGNvbWJpbmVkIHdpdGgge2Zn LGJnfS17bWFpbixhbHQsZGltfQ0KKyAgICA7OyBhbHdheXMgaW4gYWNjb3JkYW5jZSB3aXRoIHRo ZWlyIHJvbGUgYXMgYmFja2dyb3VuZCBvciBmb3JlZ3JvdW5kDQorICAgIChiZy1zcGVjaWFsLWNv bGQgLiAiI2RkZTNmNCIpIChmZy1zcGVjaWFsLWNvbGQgLiAiIzA5MzA2MCIpDQorICAgIChiZy1z cGVjaWFsLW1pbGQgLiAiI2M0ZWRlMCIpIChmZy1zcGVjaWFsLW1pbGQgLiAiIzE4NDAzNCIpDQor ICAgIChiZy1zcGVjaWFsLXdhcm0gLiAiI2YwZTBkNCIpIChmZy1zcGVjaWFsLXdhcm0gLiAiIzVk MzAyNiIpDQorICAgIChiZy1zcGVjaWFsLWNhbG0gLiAiI2Y4ZGRlYSIpIChmZy1zcGVjaWFsLWNh bG0gLiAiIzYxMjg0ZiIpDQorICAgIDs7IGZvcmVncm91bmRzIHRoYXQgY2FuIGJlIGNvbWJpbmVk IHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgKHJlZCAuICIjYTYwMDAwIikNCisg ICAgKHJlZC1hbHQgLiAiIzk3MjUwMCIpDQorICAgIChyZWQtYWx0LW90aGVyIC4gIiNhMDEzMmYi KQ0KKyAgICAocmVkLWZhaW50IC4gIiM3ZjEwMTAiKQ0KKyAgICAocmVkLWFsdC1mYWludCAuICIj NzAyZjAwIikNCisgICAgKHJlZC1hbHQtb3RoZXItZmFpbnQgLiAiIzdmMDAyZiIpDQorICAgIChn cmVlbiAuICIjMDA1ZTAwIikNCisgICAgKGdyZWVuLWFsdCAuICIjMzE1YjAwIikNCisgICAgKGdy ZWVuLWFsdC1vdGhlciAuICIjMTQ1YzMzIikNCisgICAgKGdyZWVuLWZhaW50IC4gIiMxMDQ0MTAi KQ0KKyAgICAoZ3JlZW4tYWx0LWZhaW50IC4gIiMzMDQ0MGYiKQ0KKyAgICAoZ3JlZW4tYWx0LW90 aGVyLWZhaW50IC4gIiMwZjQ0M2YiKQ0KKyAgICAoeWVsbG93IC4gIiM4MTNlMDAiKQ0KKyAgICAo eWVsbG93LWFsdCAuICIjNzA0ODBmIikNCisgICAgKHllbGxvdy1hbHQtb3RoZXIgLiAiIzg2Mzky NyIpDQorICAgICh5ZWxsb3ctZmFpbnQgLiAiIzVmNDQwMCIpDQorICAgICh5ZWxsb3ctYWx0LWZh aW50IC4gIiM1ZDUwMDAiKQ0KKyAgICAoeWVsbG93LWFsdC1vdGhlci1mYWludCAuICIjNWUzYTIw IikNCisgICAgKGJsdWUgLiAiIzAwMzFhOSIpDQorICAgIChibHVlLWFsdCAuICIjMjU0NGJiIikN CisgICAgKGJsdWUtYWx0LW90aGVyIC4gIiMwMDAwYzAiKQ0KKyAgICAoYmx1ZS1mYWludCAuICIj MDAyZjg4IikNCisgICAgKGJsdWUtYWx0LWZhaW50IC4gIiMwMDNmNzgiKQ0KKyAgICAoYmx1ZS1h bHQtb3RoZXItZmFpbnQgLiAiIzFmMGY2ZiIpDQorICAgIChtYWdlbnRhIC4gIiM3MjEwNDUiKQ0K KyAgICAobWFnZW50YS1hbHQgLiAiIzhmMDA3NSIpDQorICAgIChtYWdlbnRhLWFsdC1vdGhlciAu ICIjNTMxN2FjIikNCisgICAgKG1hZ2VudGEtZmFpbnQgLiAiIzc1MmY1MCIpDQorICAgIChtYWdl bnRhLWFsdC1mYWludCAuICIjNzAyNTY1IikNCisgICAgKG1hZ2VudGEtYWx0LW90aGVyLWZhaW50 IC4gIiM1ZjNmN2YiKQ0KKyAgICAoY3lhbiAuICIjMDA1MzhiIikNCisgICAgKGN5YW4tYWx0IC4g IiMzMDUxN2YiKQ0KKyAgICAoY3lhbi1hbHQtb3RoZXIgLiAiIzAwNWE1ZiIpDQorICAgIChjeWFu LWZhaW50IC4gIiMxMjUwNmYiKQ0KKyAgICAoY3lhbi1hbHQtZmFpbnQgLiAiIzM1NGY2ZiIpDQor ICAgIChjeWFuLWFsdC1vdGhlci1mYWludCAuICIjMmU1ODRmIikNCisgICAgOzsgdGhlc2UgZm9y ZWdyb3VuZCB2YWx1ZXMgY2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBiZy1tYWluIGFuZCBhcmUN CisgICAgOzsgdGh1cyBub3Qgc3VpdGFibGUgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRp bmcNCisgICAgKHJlZC1pbnRlbnNlIC4gIiNiNjAwMDAiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZSAu ICIjMDA2ODAwIikNCisgICAgKHllbGxvdy1pbnRlbnNlIC4gIiM5MDQyMDAiKQ0KKyAgICAoYmx1 ZS1pbnRlbnNlIC4gIiMxMTExZWUiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNlIC4gIiM3MDAwZTAi KQ0KKyAgICAoY3lhbi1pbnRlbnNlIC4gIiMyMDViOTMiKQ0KKyAgICA7OyB0aG9zZSBmb3JlZ3Jv dW5kcyBhcmUgbWVhbnQgZXhjbHVzaXZlbHkgZm9yIGJnLWFjdGl2ZSwgYmctaW5hY3RpdmUNCisg ICAgKHJlZC1hY3RpdmUgLiAiIzhhMDAwMCIpDQorICAgIChncmVlbi1hY3RpdmUgLiAiIzAwNGMy ZSIpDQorICAgICh5ZWxsb3ctYWN0aXZlIC4gIiM3MDJkMWYiKQ0KKyAgICAoYmx1ZS1hY3RpdmUg LiAiIzAwMzBiNCIpDQorICAgIChtYWdlbnRhLWFjdGl2ZSAuICIjNWMyMDkyIikNCisgICAgKGN5 YW4tYWN0aXZlIC4gIiMwMDNmOGEiKQ0KKyAgICA7OyB0aGUgInN1YnRsZSIgdmFsdWVzIGJlbG93 IGJlIGNvbWJpbmVkIHdpdGggZmctZGltLCB3aGlsZSB0aGUNCisgICAgOzsgImludGVuc2UiIHNo b3VsZCBiZSBwYWlyZWQgd2l0aCBmZy1tYWluDQorICAgIChyZWQtc3VidGxlLWJnIC4gIiNmMmIw YTIiKQ0KKyAgICAocmVkLWludGVuc2UtYmcgLiAiI2ZmODg5MiIpDQorICAgIChncmVlbi1zdWJ0 bGUtYmcgLiAiI2FlY2Y5MCIpDQorICAgIChncmVlbi1pbnRlbnNlLWJnIC4gIiM1YWRhODgiKQ0K KyAgICAoeWVsbG93LXN1YnRsZS1iZyAuICIjZTRjMzQwIikNCisgICAgKHllbGxvdy1pbnRlbnNl LWJnIC4gIiNmNWRmMjMiKQ0KKyAgICAoYmx1ZS1zdWJ0bGUtYmcgLiAiI2I1ZDBmZiIpDQorICAg IChibHVlLWludGVuc2UtYmcgLiAiIzZhYWVmZiIpDQorICAgIChtYWdlbnRhLXN1YnRsZS1iZyAu ICIjZjBkM2ZmIikNCisgICAgKG1hZ2VudGEtaW50ZW5zZS1iZyAuICIjZDViYWZmIikNCisgICAg KGN5YW4tc3VidGxlLWJnIC4gIiNjMGVmZmYiKQ0KKyAgICAoY3lhbi1pbnRlbnNlLWJnIC4gIiM0 MmNiZDQiKQ0KKyAgICA7OyB0aG9zZSBiYWNrZ3JvdW5kIHZhbHVlcyBtdXN0IGJlIGNvbWJpbmVk IHdpdGggZmctbWFpbiBhbmQgc2hvdWxkDQorICAgIDs7IG9ubHkgYmUgdXNlZCBmb3IgaW5kaWNh dG9ycyB0aGF0IGFyZSBwbGFjZWQgb24gdGhlIGZyaW5nZXMNCisgICAgKHJlZC1mcmluZ2UtYmcg LiAiI2YwODI5MCIpDQorICAgIChncmVlbi1mcmluZ2UtYmcgLiAiIzYyYzg2YSIpDQorICAgICh5 ZWxsb3ctZnJpbmdlLWJnIC4gIiNkYmJhM2YiKQ0KKyAgICAoYmx1ZS1mcmluZ2UtYmcgLiAiIzgy YWZmZiIpDQorICAgIChtYWdlbnRhLWZyaW5nZS1iZyAuICIjZTBhM2ZmIikNCisgICAgKGN5YW4t ZnJpbmdlLWJnIC4gIiMyZmNkZGYiKQ0KKyAgICA7OyB0aGUgZm9sbG93aW5nIGFyZSBmb3IgY2Fz ZXMgd2hlcmUgYm90aCB0aGUgZm9yZWdyb3VuZCBhbmQgdGhlDQorICAgIDs7IGJhY2tncm91bmQg bmVlZCB0byBoYXZlIGEgc2ltaWxhciBodWUgYW5kIHNvIG11c3QgYmUgY29tYmluZWQNCisgICAg Ozsgd2l0aCB0aGVtc2VsdmVzLCBldmVuIHRob3VnaCB0aGUgZm9yZWdyb3VuZHMgY2FuIGJlIHBh aXJlZCB3aXRoDQorICAgIDs7IGFueSBvZiB0aGUgYmFzZSBiYWNrZ3JvdW5kcw0KKyAgICAocmVk LXJlZmluZS1iZyAuICIjZmZjY2NjIikgKHJlZC1yZWZpbmUtZmcgLiAiIzc4MDAwMCIpDQorICAg IChncmVlbi1yZWZpbmUtYmcgLiAiI2FjZWFhYyIpIChncmVlbi1yZWZpbmUtZmcgLiAiIzAwNGMw MCIpDQorICAgICh5ZWxsb3ctcmVmaW5lLWJnIC4gIiNmZmYyOWEiKSAoeWVsbG93LXJlZmluZS1m ZyAuICIjNjA0MDAwIikNCisgICAgKGJsdWUtcmVmaW5lLWJnIC4gIiM4YWM3ZmYiKSAoYmx1ZS1y ZWZpbmUtZmcgLiAiIzAwMjI4OCIpDQorICAgIChtYWdlbnRhLXJlZmluZS1iZyAuICIjZmZjY2Zm IikgKG1hZ2VudGEtcmVmaW5lLWZnIC4gIiM3NzAwNzciKQ0KKyAgICAoY3lhbi1yZWZpbmUtYmcg LiAiIzhlZWNmNCIpIChjeWFuLXJlZmluZS1mZyAuICIjMDA0ODUwIikNCisgICAgOzsgdGhlICJu dWFuY2VkIiBiYWNrZ3JvdW5kcyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbGwgb2YgdGhlIGFib3Zl DQorICAgIDs7IGZvcmVncm91bmRzLCBhcyB3ZWxsIGFzIHRob3NlIGluY2x1ZGVkIGhlcmUsIHdo aWxlIHRoZSAibnVhbmNlZCINCisgICAgOzsgZm9yZWdyb3VuZHMgY2FuIGluIHR1cm4gYWxzbyBi ZSBjb21iaW5lZCB3aXRoIGJnLW1haW4sIGJnLWRpbSwNCisgICAgOzsgYmctYWx0DQorICAgIChy ZWQtbnVhbmNlZC1iZyAuICIjZmZmMWYwIikgKHJlZC1udWFuY2VkLWZnIC4gIiM1ZjAwMDAiKQ0K KyAgICAoZ3JlZW4tbnVhbmNlZC1iZyAuICIjZWNmN2VkIikgKGdyZWVuLW51YW5jZWQtZmcgLiAi IzAwNDAwMCIpDQorICAgICh5ZWxsb3ctbnVhbmNlZC1iZyAuICIjZmZmM2RhIikgKHllbGxvdy1u dWFuY2VkLWZnIC4gIiMzZjMwMDAiKQ0KKyAgICAoYmx1ZS1udWFuY2VkLWJnIC4gIiNmM2YzZmYi KSAoYmx1ZS1udWFuY2VkLWZnIC4gIiMyMDFmNTUiKQ0KKyAgICAobWFnZW50YS1udWFuY2VkLWJn IC4gIiNmZGYwZmYiKSAobWFnZW50YS1udWFuY2VkLWZnIC4gIiM1NDFmNGYiKQ0KKyAgICAoY3lh bi1udWFuY2VkLWJnIC4gIiNlYmY2ZmEiKSAoY3lhbi1udWFuY2VkLWZnIC4gIiMwZjMzNjAiKQ0K KyAgICA7OyB0aGUgZm9sbG93aW5nIGFyZSByZXNlcnZlZCBmb3Igc3BlY2lmaWMgY2FzZXMNCisg ICAgOzsNCisgICAgOzsgYmctaGwtbGluZSBpcyBiZXR3ZWVuIGJnLWRpbSBhbmQgYmctYWx0LCBz byBpdCBzaG91bGQNCisgICAgOzsgd29yayB3aXRoIGFsbCBhY2NlbnRzIHRoYXQgY292ZXIgdGhv c2UgdHdvLCBwbHVzIGJnLW1haW4NCisgICAgOzsNCisgICAgOzsgYmctaGwtYWx0IGFuZCBiZy1o bC1hbHQtaW50ZW5zZSBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gbm8NCisgICAgOzsgb3RoZXIg Z3JleXNjYWxlIG9yIGZhaXJseSBuZXV0cmFsIGJhY2tncm91bmQgaXMgYXZhaWxhYmxlIHRvDQor ICAgIDs7IHByb3Blcmx5IGRyYXcgYXR0ZW50aW9uIHRvIGEgZ2l2ZW4gY29uc3RydWN0DQorICAg IDs7DQorICAgIDs7IGJnLWhlYWRlciBpcyBiZXR3ZWVuIGJnLWFjdGl2ZSBhbmQgYmctaW5hY3Rp dmUsIHNvIGl0DQorICAgIDs7IGNhbiBiZSBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgImFjdGl2 ZSIgdmFsdWVzLCBwbHVzIHRoZQ0KKyAgICA7OyAic3BlY2lhbCIgYW5kIGJhc2UgZm9yZWdyb3Vu ZCBjb2xvcnMNCisgICAgOzsNCisgICAgOzsgYmctcGFyZW4tbWF0Y2gsIGJnLXBhcmVuLW1hdGNo LWludGVuc2UsIGJnLXJlZ2lvbiBhbmQNCisgICAgOzsgYmctdGFiLWFjdGl2ZSBtdXN0IGJlIGNv bWJpbmVkIHdpdGggZmctbWFpbiwgd2hpbGUNCisgICAgOzsgYmctdGFiLWluYWN0aXZlIHNob3Vs ZCBiZSBjb21iaW5lZCB3aXRoIGZnLWRpbQ0KKyAgICA7Ow0KKyAgICA7OyBiZy10YWItYmFyIGlz IG9ubHkgaW50ZW5kZWQgZm9yIHRoZSBiYXIgdGhhdCBob2xkcyB0aGUgdGFicyBhbmQNCisgICAg OzsgY2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluDQorICAgIDs7DQorICAgIDs7IGZn LXRhYi1hY3RpdmUgaXMgbWVhbnQgdG8gYmUgY29tYmluZWQgd2l0aCBiZy10YWItYWN0aXZlLA0K KyAgICA7OyB0aG91Z2ggb25seSBmb3Igc3R5bGluZyBzcGVjaWFsIGVsZW1lbnRzLCBzdWNoIGFz IHVuZGVybGluaW5nDQorICAgIDs7IHRoZSBjdXJyZW50IHRhYg0KKyAgICA7Ow0KKyAgICA7OyBm Zy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgYW5kIGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCBjYW4N CisgICAgOzsgYmUgY29tYmluZWQgYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgOzsNCisg ICAgOzsgZmctbGFuZy1lcnJvciwgZmctbGFuZy13YXJuaW5nLCBmZy1sYW5nLW5vdGUgY2FuIGJl DQorICAgIDs7IGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgOzsN CisgICAgOzsgZmctbWFyay1zZWwsIGZnLW1hcmstZGVsLCBmZy1tYXJrLWFsdCBjYW4gYmUgY29t YmluZWQNCisgICAgOzsgd2l0aCBiZy1tYWluLCBiZy1kaW0sIGJnLWFsdCwgYmctaGwtbGluZQ0K KyAgICA7Ow0KKyAgICA7OyBmZy11bmZvY3VzZWQgbXVzdCBiZSBjb21iaW5lZCB3aXRoIGZnLW1h aW4NCisgICAgOzsNCisgICAgOzsgZmctZG9jc3RyaW5nLCBmZy1jb21tZW50LXllbGxvdyBjYW4g YmUgY29tYmluZWQgd2l0aA0KKyAgICA7OyBiZy1tYWluLCBiZy1kaW0sIGJnLWFsdA0KKyAgICA7 Ow0KKyAgICA7OyB0aGUgd2luZG93IGRpdmlkZXIgY29sb3JzIGFwcGx5IHRvIGZhY2VzIHdpdGgg anVzdCBhbiBmZyB2YWx1ZQ0KKyAgICA7Ow0KKyAgICA7OyBhbGwgcGFpcnMgYXJlIGNvbWJpbmFi bGUgd2l0aCB0aGVtc2VsdmVzDQorICAgIChiZy1obC1saW5lIC4gIiNmMmVmZjMiKQ0KKyAgICAo YmctaGwtbGluZS1pbnRlbnNlIC4gIiNlMGUwZTAiKQ0KKyAgICAoYmctaGwtYWx0IC4gIiNmYmVl ZTAiKQ0KKyAgICAoYmctaGwtYWx0LWludGVuc2UgLiAiI2U4ZGZkMSIpDQorICAgIChiZy1wYXJl bi1tYXRjaCAuICIjZTBhZjgyIikNCisgICAgKGJnLXBhcmVuLW1hdGNoLWludGVuc2UgLiAiI2M0 ODhmZiIpDQorICAgIChiZy1yZWdpb24gLiAiI2JjYmNiYyIpDQorDQorICAgIChiZy10YWItYmFy IC4gIiNkNWQ1ZDUiKQ0KKyAgICAoYmctdGFiLWFjdGl2ZSAuICIjZjZmNmY2IikNCisgICAgKGJn LXRhYi1pbmFjdGl2ZSAuICIjYmRiZGJkIikNCisgICAgKGZnLXRhYi1hY3RpdmUgLiAiIzMwMTY5 ZSIpDQorDQorICAgIChmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgLiAiIzhiMTAzMCIpDQorICAg IChmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2ggLiAiIzY1NGQwZiIpDQorDQorICAgIChmZy1sYW5n LWVycm9yIC4gIiM5ZjAwNGYiKQ0KKyAgICAoZmctbGFuZy13YXJuaW5nIC4gIiM2MDRmMGYiKQ0K KyAgICAoZmctbGFuZy1ub3RlIC4gIiM0MDQwYWUiKQ0KKw0KKyAgICAoZmctd2luZG93LWRpdmlk ZXItaW5uZXIgLiAiIzg4ODg4OCIpDQorICAgIChmZy13aW5kb3ctZGl2aWRlci1vdXRlciAuICIj NTg1ODU4IikNCisNCisgICAgKGZnLXVuZm9jdXNlZCAuICIjNTY1NzZkIikNCisNCisgICAgKGZn LWRvY3N0cmluZyAuICIjMmE0ODZhIikNCisgICAgKGZnLWNvbW1lbnQteWVsbG93IC4gIiM1ZjQ0 MDAiKQ0KKw0KKyAgICAoYmctaGVhZGVyIC4gIiNlNWU1ZTUiKSAoZmctaGVhZGVyIC4gIiMyYTJh MmEiKQ0KKw0KKyAgICAoYmctd2hpdGVzcGFjZSAuICIjZmZmOGZjIikgKGZnLXdoaXRlc3BhY2Ug LiAiIzY0NTA2MCIpDQorDQorICAgIChiZy1kaWZmLWhlYWRpbmcgLiAiI2I3YzRkZCIpIChmZy1k aWZmLWhlYWRpbmcgLiAiIzA0MjY2NSIpDQorICAgIChiZy1kaWZmLWFkZGVkIC4gIiNkNGZhZDQi KSAoZmctZGlmZi1hZGRlZCAuICIjMDA0NTAwIikNCisgICAgKGJnLWRpZmYtY2hhbmdlZCAuICIj ZmNlZmNmIikgKGZnLWRpZmYtY2hhbmdlZCAuICIjNTI0MjAwIikNCisgICAgKGJnLWRpZmYtcmVt b3ZlZCAuICIjZmZlOGVmIikgKGZnLWRpZmYtcmVtb3ZlZCAuICIjNjkxNjE2IikNCisNCisgICAg KGJnLWRpZmYtcmVmaW5lLWFkZGVkIC4gIiM5NGNmOTQiKSAoZmctZGlmZi1yZWZpbmUtYWRkZWQg LiAiIzAwMmEwMCIpDQorICAgIChiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIC4gIiNjY2NmOGYiKSAo ZmctZGlmZi1yZWZpbmUtY2hhbmdlZCAuICIjMzAyMDEwIikNCisgICAgKGJnLWRpZmYtcmVmaW5l LXJlbW92ZWQgLiAiI2RhYTJiMCIpIChmZy1kaWZmLXJlZmluZS1yZW1vdmVkIC4gIiM0MDAwMDAi KQ0KKw0KKyAgICAoYmctZGlmZi1mb2N1cy1hZGRlZCAuICIjYmJlYWJiIikgKGZnLWRpZmYtZm9j dXMtYWRkZWQgLiAiIzAwMmMwMCIpDQorICAgIChiZy1kaWZmLWZvY3VzLWNoYW5nZWQgLiAiI2Vj ZGZiZiIpIChmZy1kaWZmLWZvY3VzLWNoYW5nZWQgLiAiIzM5MjkwMCIpDQorICAgIChiZy1kaWZm LWZvY3VzLXJlbW92ZWQgLiAiI2VmY2JjZiIpIChmZy1kaWZmLWZvY3VzLXJlbW92ZWQgLiAiIzRh MDAwMCIpDQorDQorICAgIChiZy1kaWZmLW5ldXRyYWwtMCAuICIjOTc5Nzk3IikgKGZnLWRpZmYt bmV1dHJhbC0wIC4gIiMwNDA0MDQiKQ0KKyAgICAoYmctZGlmZi1uZXV0cmFsLTEgLiAiI2IwYjBi MCIpIChmZy1kaWZmLW5ldXRyYWwtMSAuICIjMjUyNTI1IikNCisgICAgKGJnLWRpZmYtbmV1dHJh bC0yIC4gIiNjY2NjY2MiKSAoZmctZGlmZi1uZXV0cmFsLTIgLiAiIzNhM2EzYSIpDQorDQorICAg IChiZy1tYXJrLXNlbCAuICIjYTBmMGNmIikgKGZnLW1hcmstc2VsIC4gIiMwMDUwNDAiKQ0KKyAg ICAoYmctbWFyay1kZWwgLiAiI2ZmY2NiYiIpIChmZy1tYXJrLWRlbCAuICIjODQwMDQwIikNCisg ICAgKGJnLW1hcmstYWx0IC4gIiNmNWQ4OGYiKSAoZmctbWFyay1hbHQgLiAiIzc4MjkwMCIpKQ0K KyAgIlRoZSBlbnRpcmUgcGFsZXR0ZSBvZiBgbW9kdXMtdGhlbWVzJy4NCitFYWNoIGVsZW1lbnQg aGFzIHRoZSBmb3JtIChOQU1FIC4gSEVYKSB3aXRoIHRoZSBmb3JtZXIgYXMgYQ0KK3N5bWJvbCBh bmQgdGhlIGxhdHRlciBhcyBhIHN0cmluZy4iKQ0KKw0KKzs7OzsgTW9kdXMgVml2ZW5kaQ0KKw0K KyhkZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMNCisgICdtb2R1cy12aXZlbmRpLXRoZW1l LWRlZmF1bHQtY29sb3JzLWFsaXN0DQorICAnbW9kdXMtdGhlbWVzLWNvbG9ycy12aXZlbmRpDQor ICAiMS4wLjAiKQ0KKw0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtY29sb3JzLXZpdmVuZGkNCisg ICcoOzsgYmFzZSB2YWx1ZXMNCisgICAgKGJnLW1haW4gLiAiIzAwMDAwMCIpIChmZy1tYWluIC4g IiNmZmZmZmYiKQ0KKyAgICAoYmctZGltIC4gIiMxMTBiMTEiKSAoZmctZGltIC4gIiNlMGU2ZjAi KQ0KKyAgICAoYmctYWx0IC4gIiMxODFhMjAiKSAoZmctYWx0IC4gIiNhOGE4YTgiKQ0KKyAgICA7 OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgYW5kIG11c3QgYmUgY29tYmluZWQgd2l0 aA0KKyAgICA7OyB0aGVtc2VsdmVzLCB0aG91Z2ggdGhlIGJhY2tncm91bmRzIGFyZSBhbHNvIG1l YW50IHRvIGJlIHVzZWQgd2l0aA0KKyAgICA7OyBvdGhlciAiYWN0aXZlIiB2YWx1ZXMsIGRlZmlu ZWQgZnVydGhlciBiZWxvdw0KKyAgICAoYmctYWN0aXZlIC4gIiMzMjMyMzIiKSAoZmctYWN0aXZl IC4gIiNmNGY0ZjQiKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiIzFlMWUxZSIpIChmZy1pbmFjdGl2 ZSAuICIjYmZjMGM0IikNCisgICAgOzsgdGhlc2Ugc3BlY2lhbCB2YWx1ZXMgYXJlIGludGVuZGVk IGFzIGFsdGVybmF0aXZlcyB0byB0aGUgYmFzZQ0KKyAgICA7OyB2YWx1ZXMgZm9yIGNhc2VzIHdo ZXJlIHdlIG5lZWQgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gdGhlDQorICAgIDs7IGhpZ2hs aWdodGVkIGNvbnN0cnVjdHM7IHRoZXkgbXVzdCBlaXRoZXIgYmUgdXNlZCBhcyBwYWlycyBiYXNl ZA0KKyAgICA7OyBvbiB0aGVpciBuYW1lIG9yIGVhY2ggY2FuIGJlIGNvbWJpbmVkIHdpdGgge2Zn LGJnfS17bWFpbixhbHQsZGltfQ0KKyAgICA7OyBhbHdheXMgaW4gYWNjb3JkYW5jZSB3aXRoIHRo ZWlyIHJvbGUgYXMgYmFja2dyb3VuZCBvciBmb3JlZ3JvdW5kDQorICAgIChiZy1zcGVjaWFsLWNv bGQgLiAiIzIwMzQ0OCIpIChmZy1zcGVjaWFsLWNvbGQgLiAiI2M2ZWFmZiIpDQorICAgIChiZy1z cGVjaWFsLW1pbGQgLiAiIzAwMzIyZSIpIChmZy1zcGVjaWFsLW1pbGQgLiAiI2JmZWJlMCIpDQor ICAgIChiZy1zcGVjaWFsLXdhcm0gLiAiIzM4MmYyNyIpIChmZy1zcGVjaWFsLXdhcm0gLiAiI2Y4 ZGVjMCIpDQorICAgIChiZy1zcGVjaWFsLWNhbG0gLiAiIzM5MmE0OCIpIChmZy1zcGVjaWFsLWNh bG0gLiAiI2ZiZDZmNCIpDQorICAgIDs7IGZvcmVncm91bmRzIHRoYXQgY2FuIGJlIGNvbWJpbmVk IHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgKHJlZCAuICIjZmY4MDU5IikNCisg ICAgKHJlZC1hbHQgLiAiI2Y0OTIzYiIpDQorICAgIChyZWQtYWx0LW90aGVyIC4gIiNmZjk5Nzci KQ0KKyAgICAocmVkLWZhaW50IC4gIiNmZmEwYTAiKQ0KKyAgICAocmVkLWFsdC1mYWludCAuICIj ZjVhYTgwIikNCisgICAgKHJlZC1hbHQtb3RoZXItZmFpbnQgLiAiI2ZmOWZiZiIpDQorICAgIChn cmVlbiAuICIjNDRiYzQ0IikNCisgICAgKGdyZWVuLWFsdCAuICIjODBkMjAwIikNCisgICAgKGdy ZWVuLWFsdC1vdGhlciAuICIjMDBjZDY4IikNCisgICAgKGdyZWVuLWZhaW50IC4gIiM4OGNmODgi KQ0KKyAgICAoZ3JlZW4tYWx0LWZhaW50IC4gIiNhOGNmODgiKQ0KKyAgICAoZ3JlZW4tYWx0LW90 aGVyLWZhaW50IC4gIiM4OGNmYWYiKQ0KKyAgICAoeWVsbG93IC4gIiNlZWNjMDAiKQ0KKyAgICAo eWVsbG93LWFsdCAuICIjY2ZkZjMwIikNCisgICAgKHllbGxvdy1hbHQtb3RoZXIgLiAiI2YwY2U0 MyIpDQorICAgICh5ZWxsb3ctZmFpbnQgLiAiI2QyYjU4MCIpDQorICAgICh5ZWxsb3ctYWx0LWZh aW50IC4gIiNjYWJmNzciKQ0KKyAgICAoeWVsbG93LWFsdC1vdGhlci1mYWludCAuICIjZDBiYTk1 IikNCisgICAgKGJsdWUgLiAiIzJmYWZmZiIpDQorICAgIChibHVlLWFsdCAuICIjNzlhOGZmIiAp DQorICAgIChibHVlLWFsdC1vdGhlciAuICIjMDBiY2ZmIikNCisgICAgKGJsdWUtZmFpbnQgLiAi IzkyYmFmZiIpDQorICAgIChibHVlLWFsdC1mYWludCAuICIjYTRiMGZmIikNCisgICAgKGJsdWUt YWx0LW90aGVyLWZhaW50IC4gIiM4ZmM1ZmYiKQ0KKyAgICAobWFnZW50YSAuICIjZmVhY2QwIikN CisgICAgKG1hZ2VudGEtYWx0IC4gIiNmNzhmZTciKQ0KKyAgICAobWFnZW50YS1hbHQtb3RoZXIg LiAiI2I2YTBmZiIpDQorICAgIChtYWdlbnRhLWZhaW50IC4gIiNlMGIyZDYiKQ0KKyAgICAobWFn ZW50YS1hbHQtZmFpbnQgLiAiI2VmOWZlNCIpDQorICAgIChtYWdlbnRhLWFsdC1vdGhlci1mYWlu dCAuICIjZDBiNGZmIikNCisgICAgKGN5YW4gLiAiIzAwZDNkMCIpDQorICAgIChjeWFuLWFsdCAu ICIjNGFlOGZjIikNCisgICAgKGN5YW4tYWx0LW90aGVyIC4gIiM2YWU0YjkiKQ0KKyAgICAoY3lh bi1mYWludCAuICIjYTBiZmRmIikNCisgICAgKGN5YW4tYWx0LWZhaW50IC4gIiM5MGM0ZWQiKQ0K KyAgICAoY3lhbi1hbHQtb3RoZXItZmFpbnQgLiAiI2E0ZDBiYiIpDQorICAgIDs7IHRoZXNlIGZv cmVncm91bmQgdmFsdWVzIGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiBhbmQgYXJl DQorICAgIDs7IHRodXMgbm90IHN1aXRhYmxlIGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0 aW5nDQorICAgIChyZWQtaW50ZW5zZSAuICIjZmI2ODU5IikNCisgICAgKGdyZWVuLWludGVuc2Ug LiAiIzAwZmM1MCIpDQorICAgICh5ZWxsb3ctaW50ZW5zZSAuICIjZmZkZDAwIikNCisgICAgKGJs dWUtaW50ZW5zZSAuICIjMDBhMmZmIikNCisgICAgKG1hZ2VudGEtaW50ZW5zZSAuICIjZmY4YmQ0 IikNCisgICAgKGN5YW4taW50ZW5zZSAuICIjMzBmZmMwIikNCisgICAgOzsgdGhvc2UgZm9yZWdy b3VuZHMgYXJlIG1lYW50IGV4Y2x1c2l2ZWx5IGZvciBiZy1hY3RpdmUsIGJnLWluYWN0aXZlDQor ICAgIChyZWQtYWN0aXZlIC4gIiNmZmE3YmEiKQ0KKyAgICAoZ3JlZW4tYWN0aXZlIC4gIiM3MGQ3 M2YiKQ0KKyAgICAoeWVsbG93LWFjdGl2ZSAuICIjZGJiZTVmIikNCisgICAgKGJsdWUtYWN0aXZl IC4gIiMzNGNmZmYiKQ0KKyAgICAobWFnZW50YS1hY3RpdmUgLiAiI2Q1YjFmZiIpDQorICAgIChj eWFuLWFjdGl2ZSAuICIjMDBkOGI0IikNCisgICAgOzsgdGhlICJzdWJ0bGUiIHZhbHVlcyBiZWxv dyBiZSBjb21iaW5lZCB3aXRoIGZnLWRpbSwgd2hpbGUgdGhlDQorICAgIDs7ICJpbnRlbnNlIiBz aG91bGQgYmUgcGFpcmVkIHdpdGggZmctbWFpbg0KKyAgICAocmVkLXN1YnRsZS1iZyAuICIjNzYy NDIyIikNCisgICAgKHJlZC1pbnRlbnNlLWJnIC4gIiNhNDIwMmEiKQ0KKyAgICAoZ3JlZW4tc3Vi dGxlLWJnIC4gIiMyZjRhMDAiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZS1iZyAuICIjMDA2ODAwIikN CisgICAgKHllbGxvdy1zdWJ0bGUtYmcgLiAiIzYwNDIwMCIpDQorICAgICh5ZWxsb3ctaW50ZW5z ZS1iZyAuICIjODc0OTAwIikNCisgICAgKGJsdWUtc3VidGxlLWJnIC4gIiMxMDM4N2MiKQ0KKyAg ICAoYmx1ZS1pbnRlbnNlLWJnIC4gIiMyYTQwYjgiKQ0KKyAgICAobWFnZW50YS1zdWJ0bGUtYmcg LiAiIzQ5MzY2ZSIpDQorICAgIChtYWdlbnRhLWludGVuc2UtYmcgLiAiIzcwNDJhMiIpDQorICAg IChjeWFuLXN1YnRsZS1iZyAuICIjMDA0MTVlIikNCisgICAgKGN5YW4taW50ZW5zZS1iZyAuICIj MDA1Zjg4IikNCisgICAgOzsgdGhvc2UgYmFja2dyb3VuZCB2YWx1ZXMgbXVzdCBiZSBjb21iaW5l ZCB3aXRoIGZnLW1haW4gYW5kIHNob3VsZA0KKyAgICA7OyBvbmx5IGJlIHVzZWQgZm9yIGluZGlj YXRvcnMgdGhhdCBhcmUgcGxhY2VkIG9uIHRoZSBmcmluZ2VzDQorICAgIChyZWQtZnJpbmdlLWJn IC4gIiM4ZjFmNGIiKQ0KKyAgICAoZ3JlZW4tZnJpbmdlLWJnIC4gIiMwMDY3MDAiKQ0KKyAgICAo eWVsbG93LWZyaW5nZS1iZyAuICIjNmY0ZjAwIikNCisgICAgKGJsdWUtZnJpbmdlLWJnIC4gIiMz ZjMzYWYiKQ0KKyAgICAobWFnZW50YS1mcmluZ2UtYmcgLiAiIzZmMmY4OSIpDQorICAgIChjeWFu LWZyaW5nZS1iZyAuICIjMDA0ZjhmIikNCisgICAgOzsgdGhlIGZvbGxvd2luZyBhcmUgZm9yIGNh c2VzIHdoZXJlIGJvdGggdGhlIGZvcmVncm91bmQgYW5kIHRoZQ0KKyAgICA7OyBiYWNrZ3JvdW5k IG5lZWQgdG8gaGF2ZSBhIHNpbWlsYXIgaHVlIGFuZCBzbyBtdXN0IGJlIGNvbWJpbmVkDQorICAg IDs7IHdpdGggdGhlbXNlbHZlcywgZXZlbiB0aG91Z2ggdGhlIGZvcmVncm91bmRzIGNhbiBiZSBw YWlyZWQgd2l0aA0KKyAgICA7OyBhbnkgb2YgdGhlIGJhc2UgYmFja2dyb3VuZHMNCisgICAgKHJl ZC1yZWZpbmUtYmcgLiAiIzc3MDAyYSIpIChyZWQtcmVmaW5lLWZnIC4gIiNmZmI5YWIiKQ0KKyAg ICAoZ3JlZW4tcmVmaW5lLWJnIC4gIiMwMDQyMmEiKSAoZ3JlZW4tcmVmaW5lLWZnIC4gIiM5ZmYw Y2YiKQ0KKyAgICAoeWVsbG93LXJlZmluZS1iZyAuICIjNjkzMjAwIikgKHllbGxvdy1yZWZpbmUt ZmcgLiAiI2UyZDk4MCIpDQorICAgIChibHVlLXJlZmluZS1iZyAuICIjMjQyNjc5IikgKGJsdWUt cmVmaW5lLWZnIC4gIiM4ZWM2ZmYiKQ0KKyAgICAobWFnZW50YS1yZWZpbmUtYmcgLiAiIzcxMjA2 YSIpIChtYWdlbnRhLXJlZmluZS1mZyAuICIjZmZjYWYwIikNCisgICAgKGN5YW4tcmVmaW5lLWJn IC4gIiMwMDQwNjUiKSAoY3lhbi1yZWZpbmUtZmcgLiAiIzhhZTRmMiIpDQorICAgIDs7IHRoZSAi bnVhbmNlZCIgYmFja2dyb3VuZHMgY2FuIGJlIGNvbWJpbmVkIHdpdGggYWxsIG9mIHRoZSBhYm92 ZQ0KKyAgICA7OyBmb3JlZ3JvdW5kcywgYXMgd2VsbCBhcyB0aG9zZSBpbmNsdWRlZCBoZXJlLCB3 aGlsZSB0aGUgIm51YW5jZWQiDQorICAgIDs7IGZvcmVncm91bmRzIGNhbiBpbiB0dXJuIGFsc28g YmUgY29tYmluZWQgd2l0aCBiZy1tYWluLCBiZy1kaW0sDQorICAgIDs7IGJnLWFsdA0KKyAgICAo cmVkLW51YW5jZWQtYmcgLiAiIzJjMDYxNCIpIChyZWQtbnVhbmNlZC1mZyAuICIjZmZjY2NjIikN CisgICAgKGdyZWVuLW51YW5jZWQtYmcgLiAiIzAwMTkwNCIpIChncmVlbi1udWFuY2VkLWZnIC4g IiNiOGUyYjgiKQ0KKyAgICAoeWVsbG93LW51YW5jZWQtYmcgLiAiIzIyMTAwMCIpICh5ZWxsb3ct bnVhbmNlZC1mZyAuICIjZGZkZmIwIikNCisgICAgKGJsdWUtbnVhbmNlZC1iZyAuICIjMGYwZTM5 IikgKGJsdWUtbnVhbmNlZC1mZyAuICIjYmZkOWZmIikNCisgICAgKG1hZ2VudGEtbnVhbmNlZC1i ZyAuICIjMjMwNjMxIikgKG1hZ2VudGEtbnVhbmNlZC1mZyAuICIjZTVjZmVmIikNCisgICAgKGN5 YW4tbnVhbmNlZC1iZyAuICIjMDQxNTI5IikgKGN5YW4tbnVhbmNlZC1mZyAuICIjYThlNWU1IikN CisgICAgOzsgdGhlIGZvbGxvd2luZyBhcmUgcmVzZXJ2ZWQgZm9yIHNwZWNpZmljIGNhc2VzDQor ICAgIDs7DQorICAgIDs7IGJnLWhsLWxpbmUgaXMgYmV0d2VlbiBiZy1kaW0gYW5kIGJnLWFsdCwg c28gaXQgc2hvdWxkDQorICAgIDs7IHdvcmsgd2l0aCBhbGwgYWNjZW50cyB0aGF0IGNvdmVyIHRo b3NlIHR3bywgcGx1cyBiZy1tYWluDQorICAgIDs7DQorICAgIDs7IGJnLWhsLWFsdCBhbmQgYmct aGwtYWx0LWludGVuc2Ugc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIG5vDQorICAgIDs7IG90aGVy IGdyZXlzY2FsZSBvciBmYWlybHkgbmV1dHJhbCBiYWNrZ3JvdW5kIGlzIGF2YWlsYWJsZSB0bw0K KyAgICA7OyBwcm9wZXJseSBkcmF3IGF0dGVudGlvbiB0byBhIGdpdmVuIGNvbnN0cnVjdA0KKyAg ICA7Ow0KKyAgICA7OyBiZy1oZWFkZXIgaXMgYmV0d2VlbiBiZy1hY3RpdmUgYW5kIGJnLWluYWN0 aXZlLCBzbyBpdA0KKyAgICA7OyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlICJhY3Rp dmUiIHZhbHVlcywgcGx1cyB0aGUNCisgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNlIGZvcmVncm91 bmQgY29sb3JzDQorICAgIDs7DQorICAgIDs7IGJnLXBhcmVuLW1hdGNoLCBiZy1wYXJlbi1tYXRj aC1pbnRlbnNlLCBiZy1yZWdpb24gYW5kDQorICAgIDs7IGJnLXRhYi1hY3RpdmUgbXVzdCBiZSBj b21iaW5lZCB3aXRoIGZnLW1haW4sIHdoaWxlDQorICAgIDs7IGJnLXRhYi1pbmFjdGl2ZSBzaG91 bGQgYmUgY29tYmluZWQgd2l0aCBmZy1kaW0NCisgICAgOzsNCisgICAgOzsgYmctdGFiLWJhciBp cyBvbmx5IGludGVuZGVkIGZvciB0aGUgYmFyIHRoYXQgaG9sZHMgdGhlIHRhYnMgYW5kDQorICAg IDs7IGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggZmctbWFpbg0KKyAgICA7Ow0KKyAgICA7OyBm Zy10YWItYWN0aXZlIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVkIHdpdGggYmctdGFiLWFjdGl2ZSwN CisgICAgOzsgdGhvdWdoIG9ubHkgZm9yIHN0eWxpbmcgc3BlY2lhbCBlbGVtZW50cywgc3VjaCBh cyB1bmRlcmxpbmluZw0KKyAgICA7OyB0aGUgY3VycmVudCB0YWINCisgICAgOzsNCisgICAgOzsg ZmctZXNjYXBlLWNoYXItY29uc3RydWN0IGFuZCBmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2ggY2Fu DQorICAgIDs7IGJlIGNvbWJpbmVkIGJnLW1haW4sIGJnLWRpbSwgYmctYWx0DQorICAgIDs7DQor ICAgIDs7IGZnLWxhbmctZXJyb3IsIGZnLWxhbmctd2FybmluZywgZmctbGFuZy1ub3RlIGNhbiBi ZQ0KKyAgICA7OyBjb21iaW5lZCB3aXRoIGJnLW1haW4sIGJnLWRpbSwgYmctYWx0DQorICAgIDs7 DQorICAgIDs7IGZnLW1hcmstc2VsLCBmZy1tYXJrLWRlbCwgZmctbWFyay1hbHQgY2FuIGJlIGNv bWJpbmVkDQorICAgIDs7IHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQsIGJnLWhsLWxpbmUN CisgICAgOzsNCisgICAgOzsgZmctdW5mb2N1c2VkIG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1t YWluDQorICAgIDs7DQorICAgIDs7IGZnLWRvY3N0cmluZywgZmctY29tbWVudC15ZWxsb3cgY2Fu IGJlIGNvbWJpbmVkIHdpdGgNCisgICAgOzsgYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAg OzsNCisgICAgOzsgdGhlIHdpbmRvdyBkaXZpZGVyIGNvbG9ycyBhcHBseSB0byBmYWNlcyB3aXRo IGp1c3QgYW4gZmcgdmFsdWUNCisgICAgOzsNCisgICAgOzsgYWxsIHBhaXJzIGFyZSBjb21iaW5h YmxlIHdpdGggdGhlbXNlbHZlcw0KKyAgICAoYmctaGwtbGluZSAuICIjMTUxODIzIikNCisgICAg KGJnLWhsLWxpbmUtaW50ZW5zZSAuICIjMmYyZjJmIikNCisgICAgKGJnLWhsLWFsdCAuICIjMTgx NzMyIikNCisgICAgKGJnLWhsLWFsdC1pbnRlbnNlIC4gIiMyODJlNDYiKQ0KKyAgICAoYmctcGFy ZW4tbWF0Y2ggLiAiIzVmMzYyZiIpDQorICAgIChiZy1wYXJlbi1tYXRjaC1pbnRlbnNlIC4gIiM3 NDE2YjUiKQ0KKyAgICAoYmctcmVnaW9uIC4gIiMzYzNjM2MiKQ0KKw0KKyAgICAoYmctdGFiLWJh ciAuICIjMmMyYzJjIikNCisgICAgKGJnLXRhYi1hY3RpdmUgLiAiIzBlMGUwZSIpDQorICAgIChi Zy10YWItaW5hY3RpdmUgLiAiIzNkM2QzZCIpDQorICAgIChmZy10YWItYWN0aXZlIC4gIiM1YWMz Y2YiKQ0KKw0KKyAgICAoZmctZXNjYXBlLWNoYXItY29uc3RydWN0IC4gIiNlN2E1OWEiKQ0KKyAg ICAoZmctZXNjYXBlLWNoYXItYmFja3NsYXNoIC4gIiNhYmFiMDAiKQ0KKw0KKyAgICAoZmctbGFu Zy1lcnJvciAuICIjZWY4NjkwIikNCisgICAgKGZnLWxhbmctd2FybmluZyAuICIjYjBhYTAwIikN CisgICAgKGZnLWxhbmctbm90ZSAuICIjOWQ5ZGVmIikNCisNCisgICAgKGZnLXdpbmRvdy1kaXZp ZGVyLWlubmVyIC4gIiM2NDY0NjQiKQ0KKyAgICAoZmctd2luZG93LWRpdmlkZXItb3V0ZXIgLiAi Izk2OTY5NiIpDQorDQorICAgIChmZy11bmZvY3VzZWQgLiAiIzkzOTU5YiIpDQorDQorICAgIChm Zy1kb2NzdHJpbmcgLiAiI2IwZDZmNSIpDQorICAgIChmZy1jb21tZW50LXllbGxvdyAuICIjY2Fi OThmIikNCisNCisgICAgKGJnLWhlYWRlciAuICIjMjEyMTIxIikgKGZnLWhlYWRlciAuICIjZGRk ZGRkIikNCisNCisgICAgKGJnLXdoaXRlc3BhY2UgLiAiIzE3MDAxNiIpIChmZy13aGl0ZXNwYWNl IC4gIiNhNDk1OWYiKQ0KKw0KKyAgICAoYmctZGlmZi1oZWFkaW5nIC4gIiMzMDQ0NjYiKSAoZmct ZGlmZi1oZWFkaW5nIC4gIiNkYWRmZmUiKQ0KKyAgICAoYmctZGlmZi1hZGRlZCAuICIjMGEyODBh IikgKGZnLWRpZmYtYWRkZWQgLiAiIzk0YmE5NCIpDQorICAgIChiZy1kaWZmLWNoYW5nZWQgLiAi IzJhMjAwMCIpIChmZy1kaWZmLWNoYW5nZWQgLiAiI2IwYmE5ZiIpDQorICAgIChiZy1kaWZmLXJl bW92ZWQgLiAiIzQwMTYwZiIpIChmZy1kaWZmLXJlbW92ZWQgLiAiI2M2YWRhYSIpDQorDQorICAg IChiZy1kaWZmLXJlZmluZS1hZGRlZCAuICIjMDA1YTM2IikgKGZnLWRpZmYtcmVmaW5lLWFkZGVk IC4gIiNlMGY2ZTAiKQ0KKyAgICAoYmctZGlmZi1yZWZpbmUtY2hhbmdlZCAuICIjNTg1ODAwIikg KGZnLWRpZmYtcmVmaW5lLWNoYW5nZWQgLiAiI2ZmZmZjYyIpDQorICAgIChiZy1kaWZmLXJlZmlu ZS1yZW1vdmVkIC4gIiM4NTI4MjgiKSAoZmctZGlmZi1yZWZpbmUtcmVtb3ZlZCAuICIjZmZkOWVi IikNCisNCisgICAgKGJnLWRpZmYtZm9jdXMtYWRkZWQgLiAiIzIwM2QyMCIpIChmZy1kaWZmLWZv Y3VzLWFkZGVkIC4gIiNiNGRkYjQiKQ0KKyAgICAoYmctZGlmZi1mb2N1cy1jaGFuZ2VkIC4gIiM0 YTNhMTAiKSAoZmctZGlmZi1mb2N1cy1jaGFuZ2VkIC4gIiNkMGRhYWYiKQ0KKyAgICAoYmctZGlm Zi1mb2N1cy1yZW1vdmVkIC4gIiM1ZTI1MjYiKSAoZmctZGlmZi1mb2N1cy1yZW1vdmVkIC4gIiNl ZWJkYmEiKQ0KKw0KKyAgICAoYmctZGlmZi1uZXV0cmFsLTAgLiAiIzU3NTc1NyIpIChmZy1kaWZm LW5ldXRyYWwtMCAuICIjZmNmY2ZjIikNCisgICAgKGJnLWRpZmYtbmV1dHJhbC0xIC4gIiM0NTQ1 NDUiKSAoZmctZGlmZi1uZXV0cmFsLTEgLiAiI2RkZGRkZCIpDQorICAgIChiZy1kaWZmLW5ldXRy YWwtMiAuICIjMzEzMTMxIikgKGZnLWRpZmYtbmV1dHJhbC0yIC4gIiNiZmJmYmYiKQ0KKw0KKyAg ICAoYmctbWFyay1zZWwgLiAiIzAwMmYyZiIpIChmZy1tYXJrLXNlbCAuICIjNjBjZmEyIikNCisg ICAgKGJnLW1hcmstZGVsIC4gIiM1YTAwMDAiKSAoZmctbWFyay1kZWwgLiAiI2ZmOTlhYSIpDQor ICAgIChiZy1tYXJrLWFsdCAuICIjM2YyMjEwIikgKGZnLW1hcmstYWx0IC4gIiNmMGFhMjAiKSkN CisgICJUaGUgZW50aXJlIHBhbGV0dGUgb2YgYG1vZHVzLXZpdmVuZGktdGhlbWUnLg0KK0VhY2gg ZWxlbWVudCBoYXMgdGhlIGZvcm0gKE5BTUUgLiBIRVgpIHdpdGggdGhlIGZvcm1lciBhcyBhDQor c3ltYm9sIGFuZCB0aGUgbGF0dGVyIGFzIGEgc3RyaW5nLiIpDQorDQorOzs7OyBEZXByZWNhdGVk IGN1c3RvbWlzYXRpb24gb3B0aW9ucyAocHJpb3IgdG8gMS4wLjApDQorDQorOzs7OzsgTW9kdXMg T3BlcmFuZGkgb2Jzb2xldGUgb3B0aW9ucw0KKw0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVy YW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QgbmlsICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyAnbW9kdXMtdGhl bWVzLXNsYW50ZWQtY29uc3RydWN0cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1v cGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgJ21vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVj dHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvcG9y dGlvbmFsLWZvbnRzICdtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gt aGVhZGluZ3MgJ21vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1uby1taXhlZC1mb250cyAnbW9k dXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVz LW9wZXJhbmRpLXRoZW1lLXJhaW5ib3ctaGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1oZWFkaW5ncyAi MS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zZWN0aW9uLWhl YWRpbmdzICdtb2R1cy10aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAn bW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1oZWFkaW5ncyAiMS4w LjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS1oZWFkaW5n cyAnbW9kdXMtdGhlbWVzLXNjYWxlLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUg J21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEgJ21vZHVzLXRoZW1lcy1zY2FsZS0xICIxLjAu MCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTIgJ21vZHVz LXRoZW1lcy1zY2FsZS0yICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRp LXRoZW1lLXNjYWxlLTMgJ21vZHVzLXRoZW1lcy1zY2FsZS0zICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQgJ21vZHVzLXRoZW1lcy1zY2FsZS00 ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTUg J21vZHVzLXRoZW1lcy1zY2FsZS01ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9w ZXJhbmRpLXRoZW1lLXZpc2libGUtZnJpbmdlcyAnbW9kdXMtdGhlbWVzLWZyaW5nZXMgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtZnJpbmdlcyAnbW9kdXMt dGhlbWVzLWZyaW5nZXMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGkt dGhlbWUtZGlzdGluY3Qtb3JnLWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtcmFpbmJvdy1vcmctc3Jj LWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0 ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9j a3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtM2QtbW9k ZWxpbmUgJ21vZHVzLXRoZW1lcy1tb2RlLWxpbmUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAn bW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5lICdtb2R1cy10aGVtZXMtbW9kZS1saW5lICIx LjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXN1YnRsZS1kaWZm cyAnbW9kdXMtdGhlbWVzLWRpZmZzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9w ZXJhbmRpLXRoZW1lLWRpZmZzICdtb2R1cy10aGVtZXMtZGlmZnMgIjEuMC4wIikNCisobWFrZS1v YnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1zdGFuZGFyZC1jb21wbGV0aW9u cyAnbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21v ZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zICdtb2R1cy10aGVtZXMtY29tcGxldGlvbnMg IjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0cyAn bW9kdXMtdGhlbWVzLXByb21wdHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3Bl cmFuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lICdtb2R1cy10aGVtZXMtaW50ZW5zZS1obC1saW5l ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2Ut cGFyZW4tbWF0Y2ggJ21vZHVzLXRoZW1lcy1wYXJlbi1tYXRjaCAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50YXggJ21vZHVzLXRoZW1lcy1z eW50YXggIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtY29t bWVudHMgJ21vZHVzLXRoZW1lcy1zeW50YXggIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4ICdtb2R1cy10aGVtZXMtc3ludGF4ICIxLjAuMCIpDQor KG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lICdt b2R1cy10aGVtZXMtbGlua3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFu ZGktdGhlbWUtbGlua3MgJ21vZHVzLXRoZW1lcy1saW5rcyAiMS4wLjAiKQ0KKw0KKzs7Ozs7IE1v ZHVzIFZpdmVuZGkgb2Jzb2xldGUgb3B0aW9ucw0KKw0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12 aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdCBuaWwgIjEuMC4wIikNCisobWFrZS1v YnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zbGFudGVkLWNvbnN0cnVjdHMgJ21vZHVzLXRo ZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMt dml2ZW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgJ21vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVj dHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1wcm9wb3J0 aW9uYWwtZm9udHMgJ21vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiMS4wLjAi KQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhl YWRpbmdzICdtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgIjEuMC4wIikNCiso bWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1uby1taXhlZC1mb250cyAnbW9kdXMt dGhlbWVzLW5vLW1peGVkLWZvbnRzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZp dmVuZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAu MCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2VjdGlvbi1oZWFkaW5n cyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVz LXZpdmVuZGktdGhlbWUtaGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1oZWFkaW5ncyAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzICdtb2R1 cy10aGVtZXMtc2NhbGUtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMt dml2ZW5kaS10aGVtZS1zY2FsZS0xICdtb2R1cy10aGVtZXMtc2NhbGUtMSAiMS4wLjAiKQ0KKyht YWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTIgJ21vZHVzLXRoZW1lcy1z Y2FsZS0yICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUtMyAnbW9kdXMtdGhlbWVzLXNjYWxlLTMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS00ICdtb2R1cy10aGVtZXMtc2NhbGUtNCAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTUgJ21vZHVzLXRoZW1l cy1zY2FsZS01ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUt dmlzaWJsZS1mcmluZ2VzICdtb2R1cy10aGVtZXMtZnJpbmdlcyAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMgJ21vZHVzLXRoZW1lcy1mcmluZ2Vz ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtZGlzdGluY3Qt b3JnLWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1yYWluYm93LW9yZy1zcmMtYmxvY2tzICdtb2R1cy10 aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRp LXRoZW1lLW9yZy1ibG9ja3MgJ21vZHVzLXRoZW1lcy1vcmctYmxvY2tzICIxLjAuMCIpDQorKG1h a2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtM2QtbW9kZWxpbmUgJ21vZHVzLXRoZW1l cy1tb2RlLWxpbmUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVt ZS1tb2RlLWxpbmUgJ21vZHVzLXRoZW1lcy1tb2RlLWxpbmUgIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zdWJ0bGUtZGlmZnMgJ21vZHVzLXRoZW1lcy1kaWZm cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZzICdt b2R1cy10aGVtZXMtZGlmZnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5k aS10aGVtZS1pbnRlbnNlLXN0YW5kYXJkLWNvbXBsZXRpb25zICdtb2R1cy10aGVtZXMtY29tcGxl dGlvbnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1jb21w bGV0aW9ucyAnbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xl dGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtcHJvbXB0cyAnbW9kdXMtdGhlbWVzLXByb21wdHMgIjEu MC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLWhsLWxp bmUgJ21vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0 ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoICdtb2R1cy10aGVtZXMt cGFyZW4tbWF0Y2ggIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVt ZS1mYWludC1zeW50YXggJ21vZHVzLXRoZW1lcy1zeW50YXggIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1jb21tZW50cyAnbW9kdXMtdGhlbWVzLXN5bnRheCAi MS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheCAnbW9k dXMtdGhlbWVzLXN5bnRheCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRp LXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lICdtb2R1cy10aGVtZXMtbGlua3MgIjEuMC4wIikNCiso bWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1saW5rcyAnbW9kdXMtdGhlbWVzLWxp bmtzICIxLjAuMCIpDQorDQorDA0KKw0KKzs7OyBJbnRlcm5hbCBmdW5jdGlvbnMNCisNCis7OyBI ZWxwZXIgZnVuY3Rpb25zIHRoYXQgYXJlIG1lYW50IHRvIGVhc2UgdGhlIGltcGxlbWVudGF0aW9u IG9mIHRoZQ0KKzs7IGFib3ZlIGN1c3RvbWl6YXRpb24gb3B0aW9ucy4NCisoZGVmdW4gbW9kdXMt dGhlbWVzLS1ib2xkLXdlaWdodCAoKQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBhIGhlYXZpZXIg dGV4dCB3ZWlnaHQuIg0KKyAgKHdoZW4gbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cw0KKyAg ICAobGlzdCA6aW5oZXJpdCAnYm9sZCkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLW1peGVk LWZvbnRzICgpDQorICAiQ29uZGl0aW9uYWwgYXBwbGljYXRpb24gb2YgYGZpeGVkLXBpdGNoJyBp bmhlcml0YW5jZS4iDQorICAodW5sZXNzIG1vZHVzLXRoZW1lcy1uby1taXhlZC1mb250cw0KKyAg ICAobGlzdCA6aW5oZXJpdCAnZml4ZWQtcGl0Y2gpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVz LS1zbGFudCAoKQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBpdGFsaWNzIGZvciBzbGFudCBhdHRy aWJ1dGUuIg0KKyAgKGlmIG1vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMNCisgICAgICAo bGlzdCAnaXRhbGljKQ0KKyAgICAobGlzdCAnbm9ybWFsKSkpDQorDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy0tdmFyaWFibGUtcGl0Y2ggKCkNCisgICJDb25kaXRpb25hbCB1c2Ugb2YgYHZhcmlhYmxl LXBpdGNoJyBpbiBoZWFkaW5ncy4iDQorICAod2hlbiBtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0 Y2gtaGVhZGluZ3MNCisgICAgKGxpc3QgOmluaGVyaXQgJ3ZhcmlhYmxlLXBpdGNoKSkpDQorDQor KGRlZnVuIG1vZHVzLXRoZW1lcy0tZnJpbmdlIChtYWluYmcgc3VidGxlYmcgaW50ZW5zZWJnKQ0K KyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgZnJpbmdlcy4NCitN QUlOQkcgaXMgdGhlIGRlZmF1bHQuICBTVUJUTEVCRyBzaG91bGQgYmUgYSBzdWJ0bGUgZ3JleXNj YWxlDQordmFsdWUuICBJTlRFTlNFQkcgbXVzdCBiZSBhIG1vcmUgcHJvbm91bmNlZCBncmV5c2Nh bGUgY29sb3IuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1mcmluZ2VzDQorICAgICgnaW50ZW5z ZSAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcpKQ0KKyAgICAoJ3N1YnRsZSAobGlzdCA6YmFj a2dyb3VuZCBzdWJ0bGViZykpDQorICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIG1haW5iZykpKSkN CisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1wcm9tcHQgKG1haW5mZyBzdWJ0bGViZyBzdWJ0bGVm ZyBpbnRlbnNlYmcgaW50ZW5zZWZnKQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBiYWNrZ3JvdW5k IGNvbG9ycyBmb3IgcHJvbXB0cy4NCitNQUlORkcgaXMgdGhlIHByb21wdCdzIHN0YW5kYXJkIGZv cmVncm91bmQuICBTVUJUTEVCRyBzaG91bGQgYmUgYQ0KK3N1YnRsZSBhY2NlbnRlZCBiYWNrZ3Jv dW5kIHRoYXQgd29ya3Mgd2l0aCBTVUJUTEVGRy4gIElOVEVOU0VCRw0KK211c3QgYmUgYSBtb3Jl IHByb25vdW5jZWQgYWNjZW50ZWQgY29sb3IgdGhhdCBzaG91bGQgYmUNCitjb21iaW5hYmxlIHdp dGggSU5URU5TRUZHLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtcHJvbXB0cw0KKyAgICAoJ2lu dGVuc2UgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykp DQorICAgICgnc3VidGxlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIHN1 YnRsZWZnKSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsIDpmb3JlZ3JvdW5kIG1haW5m ZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1wYXJlbiAobm9ybWFsYmcgaW50ZW5zZWJn KQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBpbnRlbnNlIGNvbG9ycyBmb3IgbWF0Y2hpbmcgcGFy ZW50aGVzZXMuDQorTk9STUFMQkcgc2hvdWxkIGJlIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3Ig J2JnLXBhcmVuLW1hdGNoJyBvcg0KK3NvbWV0aGluZyBzaW1pbGFyLiAgSU5URU5TRUJHIG11c3Qg YmUgZWFzaWVyIHRvIGRpc2Nlcm4gbmV4dCB0bw0KK290aGVyIGJhY2tncm91bmRzLCBzdWNoIGFz IHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3INCisnYmctcGFyZW4tbWF0Y2gtaW50ZW5zZScuIg0K KyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1wYXJlbi1tYXRjaA0KKyAgICAoJ3N1YnRsZS1ib2xkIChs aXN0IDppbmhlcml0ICdib2xkIDpiYWNrZ3JvdW5kIG5vcm1hbGJnKSkNCisgICAgKCdpbnRlbnNl LWJvbGQgKGxpc3QgOmluaGVyaXQgJ2JvbGQgOmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCisgICAg KCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykpDQorICAgIChfIChsaXN0IDpi YWNrZ3JvdW5kIG5vcm1hbGJnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLXN5bnRheC1m b3JlZ3JvdW5kIChmZyBmYWludCkNCisgICJBcHBseSBmb3JlZ3JvdW5kIHZhbHVlIHRvIGNvZGUg c3ludGF4Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNhbGx5IHRoZSBzYW1l IGNvbG9yIGluIGl0cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uIg0KKyAgKHBjYXNlIG1vZHVzLXRo ZW1lcy1zeW50YXgNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkpDQorICAg IChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLXN5 bnRheC1leHRyYSAoZmcgZmFpbnQgYWx0KQ0KKyAgIkFwcGx5IGZvcmVncm91bmQgdmFsdWUgdG8g Y29kZSBzeW50YXguDQorRkcgaXMgdGhlIGRlZmF1bHQuICBGQUlOVCBpcyB0eXBpY2FsbHkgdGhl IHNhbWUgY29sb3IgaW4gaXRzDQorZGVzYXR1cmF0ZWQgdmVyc2lvbi4gIEFMVCBpcyBhbm90aGVy IGh1ZS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLXN5bnRheA0KKyAgICAoJ2ZhaW50IChsaXN0 IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisgICAgKCdhbHQtc3ludGF4IChsaXN0IDpmb3JlZ3JvdW5k IGFsdCkpDQorICAgICgnYWx0LXN5bnRheC15ZWxsb3ctY29tbWVudHMgKGxpc3QgOmZvcmVncm91 bmQgYWx0KSkNCisgICAgKF8gKGxpc3QgOmZvcmVncm91bmQgZmcpKSkpDQorDQorKGRlZnVuIG1v ZHVzLXRoZW1lcy0tc3ludGF4LXN0cmluZyAoZmcgZmFpbnQgZ3JlZW4gYWx0KQ0KKyAgIkFwcGx5 IGZvcmVncm91bmQgdmFsdWUgdG8gc3RyaW5ncyBpbiBjb2RlIHN5bnRheC4NCitGRyBpcyB0aGUg ZGVmYXVsdC4gIEZBSU5UIGlzIHR5cGljYWxseSB0aGUgc2FtZSBjb2xvciBpbiBpdHMNCitkZXNh dHVyYXRlZCB2ZXJzaW9uLiAgR1JFRU4gaXMgYSBjb2xvciB2YXJpYW50IGluIHRoYXQgc2lkZSBv Zg0KK3RoZSBzcGVjdHJ1bS4gIEFMVCBpcyBhbm90aGVyIGh1ZS4iDQorICAocGNhc2UgbW9kdXMt dGhlbWVzLXN5bnRheA0KKyAgICAoJ2ZhaW50IChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisg ICAgKCdncmVlbi1zdHJpbmdzIChsaXN0IDpmb3JlZ3JvdW5kIGdyZWVuKSkNCisgICAgKCd5ZWxs b3ctY29tbWVudHMtZ3JlZW4tc3RyaW5ncyAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAo J2FsdC1zeW50YXggKGxpc3QgOmZvcmVncm91bmQgYWx0KSkNCisgICAgKCdhbHQtc3ludGF4LXll bGxvdy1jb21tZW50cyAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAoXyAobGlzdCA6Zm9y ZWdyb3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1zeW50YXgtZG9jc3RyaW5n IChmZyBmYWludCBncmVlbiBhbHQpDQorICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1ZSB0byBzdHJp bmdzIGluIGNvZGUgc3ludGF4Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNh bGx5IHRoZSBzYW1lIGNvbG9yIGluIGl0cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uICBHUkVFTiBp cyBhIGNvbG9yIHZhcmlhbnQgaW4gdGhhdCBzaWRlIG9mDQordGhlIHNwZWN0cnVtLiAgQUxUIGlz IGFub3RoZXIgaHVlLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtc3ludGF4DQorICAgICgnZmFp bnQgKGxpc3QgOmZvcmVncm91bmQgZmFpbnQpKQ0KKyAgICAoJ2dyZWVuLXN0cmluZ3MgKGxpc3Qg OmZvcmVncm91bmQgZ3JlZW4pKQ0KKyAgICAoJ3llbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdz IChsaXN0IDpmb3JlZ3JvdW5kIGdyZWVuKSkNCisgICAgKCdhbHQtc3ludGF4IChsaXN0IDpmb3Jl Z3JvdW5kIGFsdCkpDQorICAgICgnYWx0LXN5bnRheC15ZWxsb3ctY29tbWVudHMgKGxpc3QgOmZv cmVncm91bmQgYWx0KSkNCisgICAgKF8gKGxpc3QgOmZvcmVncm91bmQgZmcpKSkpDQorDQorKGRl ZnVuIG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQgKGZnIHllbGxvdykNCisgICJBcHBseSBm b3JlZ3JvdW5kIHZhbHVlIHRvIHN0cmluZ3MgaW4gY29kZSBzeW50YXguDQorRkcgaXMgdGhlIGRl ZmF1bHQuICBZRUxMT1cgaXMgYSBjb2xvciB2YXJpYW50IG9mIHRoYXQgbmFtZS4iDQorICAocGNh c2UgbW9kdXMtdGhlbWVzLXN5bnRheA0KKyAgICAoJ3llbGxvdy1jb21tZW50cyAobGlzdCA6Zm9y ZWdyb3VuZCB5ZWxsb3cpKQ0KKyAgICAoJ3llbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdzIChs aXN0IDpmb3JlZ3JvdW5kIHllbGxvdykpDQorICAgICgnYWx0LXN5bnRheC15ZWxsb3ctY29tbWVu dHMgKGxpc3QgOmZvcmVncm91bmQgeWVsbG93KSkNCisgICAgKF8gKGxpc3QgOmZvcmVncm91bmQg ZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0taGVhZGluZy1wIChrZXkpDQorICAiUXVl cnkgc3R5bGUgb2YgS0VZIGluIGBtb2R1cy10aGVtZXMtaGVhZGluZ3MnLiINCisgIChjZHIgKGFz c29jIGtleSBtb2R1cy10aGVtZXMtaGVhZGluZ3MpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVz LS1oZWFkaW5nIChsZXZlbCBmZyBmZy1hbHQgYmcgYm9yZGVyKQ0KKyAgIkNvbmRpdGlvbmFsIHN0 eWxlcyBmb3IgYG1vZHVzLXRoZW1lcy1oZWFkaW5ncycuDQorDQorTEVWRUwgaXMgdGhlIGhlYWRp bmcncyBwb3NpdGlvbiBpbiB0aGVpciBvcmRlci4gIEZHIGlzIHRoZQ0KK2RlZmF1bHQgdGV4dCBj b2xvci4gIEZHLUFMVCBpcyBhbiBhY2NlbnRlZCwgbW9yZSBzYXR1cmF0ZWQgdmFsdWUNCit0aGFu IHRoZSBkZWZhdWx0LiAgQkcgaXMgYSBudWFuY2VkLCB0eXBpY2FsbHkgYWNjZW50ZWQsDQorYmFj a2dyb3VuZCB0aGF0IGNhbiB3b3JrIHdlbGwgd2l0aCBlaXRoZXIgb2YgdGhlIGZvcmVncm91bmQN Cit2YWx1ZXMuICBCT1JERVIgaXMgYSBjb2xvciB2YWx1ZSB0aGF0IGNvbWJpbmVzIHdlbGwgd2l0 aCB0aGUNCitiYWNrZ3JvdW5kIGFuZCBhbHRlcm5hdGl2ZSBmb3JlZ3JvdW5kLiINCisgIChsZXQq ICgoa2V5IChtb2R1cy10aGVtZXMtLWhlYWRpbmctcCBgLGxldmVsKSkNCisgICAgICAgICAoc3R5 bGUgKG9yIGtleSAobW9kdXMtdGhlbWVzLS1oZWFkaW5nLXAgdCkpKQ0KKyAgICAgICAgICh2YXIg KGlmIG1vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncw0KKyAgICAgICAgICAgICAg ICAgICd2YXJpYWJsZS1waXRjaA0KKyAgICAgICAgICAgICAgICAnZGVmYXVsdCkpKQ0KKyAgICAo cGNhc2Ugc3R5bGUNCisgICAgICAoJ25vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2 YXIgOmZvcmVncm91bmQgZmcpKQ0KKyAgICAgICgnbGluZQ0KKyAgICAgICAobGlzdCA6aW5oZXJp dCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQorICAgICAg KCdsaW5lLW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQg ZmcgOm92ZXJsaW5lIGJvcmRlcikpDQorICAgICAgKCdyYWluYm93DQorICAgICAgIChsaXN0IDpp bmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KKyAgICAgICgncmFpbmJv dy1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZnLWFs dCkpDQorICAgICAgKCdyYWluYm93LWxpbmUNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xk ICx2YXIpIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCisgICAgICAoJ3Jh aW5ib3ctbGluZS1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3Jv dW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCisgICAgICAoJ2hpZ2hsaWdodA0KKyAgICAg ICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQg ZmcpKQ0KKyAgICAgICgnaGlnaGxpZ2h0LW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQg YCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0KKyAgICAgICgncmFpbmJvdy1o aWdobGlnaHQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5k IGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdyYWluYm93LWhpZ2hsaWdodC1uby1i b2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3Jv dW5kIGZnLWFsdCkpDQorICAgICAgKCdzZWN0aW9uDQorICAgICAgIChsaXN0IDppbmhlcml0IGAo Ym9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVy IDpleHRlbmQgdCkpDQorICAgICAgKCdzZWN0aW9uLW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmlu aGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRl ciA6ZXh0ZW5kIHQpKQ0KKyAgICAgICgncmFpbmJvdy1zZWN0aW9uDQorICAgICAgIChsaXN0IDpp bmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92 ZXJsaW5lIGJvcmRlciA6ZXh0ZW5kIHQpKQ0KKyAgICAgICgncmFpbmJvdy1zZWN0aW9uLW5vLWJv bGQNCisgICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3Jv dW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyIDpleHRlbmQgdCkpDQorICAgICAgKF8NCisgICAg ICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnKSkpKSkNCisNCiso ZGVmdW4gbW9kdXMtdGhlbWVzLS1vcmctYmxvY2sgKGJnYmxrKQ0KKyAgIkNvbmRpdGlvbmFsbHkg c2V0IHRoZSBiYWNrZ3JvdW5kIG9mIE9yZyBibG9ja3MuDQorQkdCTEsgYXBwbGllcyB0byBhIGRp c3RpbmN0IG5ldXRyYWwgYmFja2dyb3VuZC4gIEVsc2UgYmxvY2tzIGhhdmUNCitubyBiYWNrZ3Jv dW5kIG9mIHRoZWlyIG93biAodGhlIGRlZmF1bHQpLCBzbyB0aGV5IGxvb2sgdGhlIHNhbWUNCith cyB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLg0KKw0KK2Btb2R1cy10aGVtZXMtb3JnLWJsb2Nrcycg YWxzbyBhY2NlcHRzIGEgYHJhaW5ib3cnIG9wdGlvbg0KK3doaWNoIGlzIGFwcGxpZWQgY29uZGl0 aW9uYWxseSB0byBgb3JnLXNyYy1ibG9jay1mYWNlcycgKHNlZSB0aGUNCit0aGVtZSdzIHNvdXJj ZSBjb2RlKS4iDQorICAoaWYgKG9yIChlcSBtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAnZ3JheXNj YWxlKQ0KKyAgICAgICAgICAoZXEgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgJ2dyZXlzY2FsZSkp DQorICAgICAgKGxpc3QgOmJhY2tncm91bmQgYmdibGsgOmV4dGVuZCB0KQ0KKyAgICAobGlzdCA6 YmFja2dyb3VuZCBuaWwpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1vcmctYmxvY2stZGVs aW0gKGJnYWNjZW50IGZnYWNjZW50IGJnIGZnKQ0KKyAgIkNvbmRpdGlvbmFsbHkgc2V0IHRoZSBz dHlsZXMgb2YgT3JnIGJsb2NrIGRlbGltaXRlcnMuDQorQkcsIEZHLCBCR0FDQ0VOVCwgRkdBQ0NF TlQgYXBwbHkgYSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kDQorY29sb3IgcmVzcGVjdGl2ZWx5 Lg0KKw0KK1RoZSBmb3JtZXIgcGFpciBpcyBhIGdyZXlzY2FsZSBjb21iaW5hdGlvbiB0aGF0IHNo b3VsZCBiZSBtb3JlDQorZGlzdGluY3QgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYmxvY2su ICBJdCBpcyBhcHBsaWVkIHRvIHRoZQ0KK2RlZmF1bHQgc3R5bGVzIG9yIHdoZW4gYG1vZHVzLXRo ZW1lcy1vcmctYmxvY2tzJyBpcyBzZXQNCit0byBgZ3JleXNjYWxlJy4NCisNCitUaGUgbGF0dGVy IHBhaXIgc2hvdWxkIGJlIG1vcmUgc3VidGxlIHRoYW4gdGhlIGJhY2tncm91bmQgb2YgdGhlDQor YmxvY2ssIGFzIGl0IGlzIHVzZWQgd2hlbiBgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MnIGlzDQor c2V0IHRvIGByYWluYm93Jy4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MNCisg ICAgKCdncmF5c2NhbGUgKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcgOmV4dGVu ZCB0KSkNCisgICAgKCdncmV5c2NhbGUgKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQg ZmcgOmV4dGVuZCB0KSkNCisgICAgKCdyYWluYm93IChsaXN0IDpiYWNrZ3JvdW5kIGJnYWNjZW50 IDpmb3JlZ3JvdW5kIGZnYWNjZW50KSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgYmcgOmZv cmVncm91bmQgZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tbW9kZS1saW5lLWF0dHJz DQorICAgIChmZyBiZyBmZy1hbHQgYmctYWx0IGJvcmRlciBib3JkZXItM2QgJm9wdGlvbmFsIGFs dC1zdHlsZSBib3JkZXItd2lkdGggZmctZGlzdGFudCkNCisgICJDb2xvciBjb21iaW5hdGlvbnMg Zm9yIGBtb2R1cy10aGVtZXMtbW9kZS1saW5lJy4NCisNCitGRyBhbmQgQkcgYXJlIHRoZSBkZWZh dWx0IGNvbG9ycy4gIEZHLUFMVCBhbmQgQkctQUxUIGFyZSBtZWFudCB0bw0KK2FjY29tbW9kYXRl IHRoZSBvcHRpb25zIGZvciBhIDNEIG1vZGVsaW5lIG9yIGEgYG1vb2R5JyBjb21wbGlhbnQNCitv bmUuICBCT1JERVIgYXBwbGllcyB0byBhbGwgcGVybXV0YXRpb25zIG9mIHRoZSBtb2RlbGluZSwg ZXhjZXB0DQordGhlIHRocmVlLWRpbWVuc2lvbmFsIGVmZmVjdCwgd2hlcmUgQk9SREVSLTNEIGlz IHVzZWQgaW5zdGVhZC4NCisNCitPcHRpb25hbCBBTFQtU1RZTEUgYXBwbGllcyBhbiBhcHByb3By aWF0ZSBzdHlsZSB0byB0aGUgbW9kZQ0KK2xpbmUncyBib3ggcHJvcGVydHkuDQorDQorT3B0aW9u YWwgQk9SREVSLVdJRFRIIHNwZWNpZmllcyBhbiBpbnRlZ2VyIGZvciB0aGUgd2lkdGggb2YgdGhl DQorcmVjdGFuZ2xlIHRoYXQgcHJvZHVjZXMgdGhlIGJveCBlZmZlY3QuDQorDQorT3B0aW9uYWwg RkctRElTVEFOVCBzaG91bGQgYmUgY2xvc2UgdG8gdGhlIG1haW4gYmFja2dyb3VuZA0KK3ZhbHVl cy4gIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSBkaXN0YW50LWZvcmVncm91bmQNCitw cm9wZXJ0eS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLW1vZGUtbGluZQ0KKyAgICAoJzNkDQor ICAgICBgKDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdA0KKyAgICAgICAg ICAgICAgICAgICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRlci13aWR0aCAxKQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y29sb3IgLGJvcmRlci0zZA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGUgLChhbmQgYWx0LXN0eWxlICdy ZWxlYXNlZC1idXR0b24pKSkpDQorICAgICgnbW9vZHkNCisgICAgIGAoOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgLGJvcmRlciA6b3ZlcmxpbmUgLGJv cmRlcg0KKyAgICAgICAgICAgICAgICAgICA6ZGlzdGFudC1mb3JlZ3JvdW5kICxmZy1kaXN0YW50 KSkNCisgICAgKF8NCisgICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3JvdW5kICxiZyA6Ym94 ICxib3JkZXIpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAoZmctb25s eS1iZyBmZy1vbmx5LWZnIG1haW5iZyBtYWluZmcgYWx0YmcgYWx0ZmcgJm9wdGlvbmFsIGJnLW9u bHktZmcpDQorICAiQ29sb3IgY29tYmluYXRpb25zIGZvciBgbW9kdXMtdGhlbWVzLWRpZmZzJy4N CisNCitGRy1PTkxZLUJHIHNob3VsZCBiZSBzaW1pbGFyIG9yIHRoZSBzYW1lIGFzIHRoZSBtYWlu IGJhY2tncm91bmQuDQorRkctT05MWS1GRyBzaG91bGQgYmUgYSBzYXR1cmF0ZWQgYWNjZW50IHZh bHVlIHRoYXQgY2FuIGJlDQorY29tYmluZWQgd2l0aCB0aGUgZm9ybWVyLg0KKw0KK01BSU5CRyBt dXN0IGJlIG9uZSBvZiB0aGUgZGVkaWNhdGVkIGJhY2tncm91bmRzIGZvciBkaWZmcyB3aGlsZQ0K K01BSU5GRyBtdXN0IGJlIHRoZSBzYW1lIGZvciB0aGUgZm9yZWdyb3VuZC4NCisNCitBTFRCRyBu ZWVkcyB0byBiZSBhIHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCBpcyBtZWFudCB0 bw0KK2JlIGNvbWJpbmVkIHdpdGggQUxURkcuICBCb3RoIG11c3QgYmUgbGVzcyBpbnRlbnNlIHRo YW4gTUFJTkJHDQorYW5kIE1BSU5GRyByZXNwZWN0aXZlbHkuDQorDQorT3B0aW9uYWwgQkctT05M WS1GRyBhcHBsaWVzIEFMVEZHIGVsc2UgbGVhdmVzIHRoZSBmb3JlZ3JvdW5kDQordW5zcGVjaWZp ZWQuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1kaWZmcw0KKyAgICAoJ2ZnLW9ubHkgKGxpc3Qg OmJhY2tncm91bmQgZmctb25seS1iZyA6Zm9yZWdyb3VuZCBmZy1vbmx5LWZnKSkNCisgICAgKCdk ZXNhdHVyYXRlZCAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6Zm9yZWdyb3VuZCBhbHRmZykpDQor ICAgICgnYmctb25seSAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6Zm9yZWdyb3VuZCAoaWYgYmct b25seS1mZyBhbHRmZyAndW5zcGVjaWZpZWQpKSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQg bWFpbmJnIDpmb3JlZ3JvdW5kIG1haW5mZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1z dGFuZGFyZC1jb21wbGV0aW9ucyAobWFpbmZnIHN1YnRsZWJnIGludGVuc2ViZyBpbnRlbnNlZmcp DQorICAiQ29tYmluYXRpb25zIGZvciBgbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zJy4NCisNCitN QUlORkcgaXMgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCB2YWx1ZS4gIFNVQlRMRUJHIGlzIGFuIGFj Y2VudGVkDQorYmFja2dyb3VuZCB2YWx1ZSB0aGF0IGNhbiBiZSBjb21iaW5lZCB3aXRoIE1BSU5G Ry4gIElOVEVOU0VCRyBhbmQNCitJTlRFTlNFRkcgYXJlIGFjY2VudGVkIGNvbG9ycyB0aGF0IGFy ZSBkZXNpZ25lZCB0byBiZSB1c2VkIGluDQordGFuZGVtLg0KKw0KK1RoZXNlIGFyZSBpbnRlbmRl ZCBmb3IgSWNvbXBsZXRlLCBJZG8sIGFuZCByZWxhdGVkLiINCisgIChwY2FzZSBtb2R1cy10aGVt ZXMtY29tcGxldGlvbnMNCisgICAgKCdvcGluaW9uYXRlZCAobGlzdCA6YmFja2dyb3VuZCBpbnRl bnNlYmcgOmZvcmVncm91bmQgaW50ZW5zZWZnKSkNCisgICAgKCdtb2RlcmF0ZSAobGlzdCA6YmFj a2dyb3VuZCBzdWJ0bGViZyA6Zm9yZWdyb3VuZCBtYWluZmcpKQ0KKyAgICAoXyAobGlzdCA6Zm9y ZWdyb3VuZCBtYWluZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxl dGlvbnMgKHN1YnRsZWZhY2UgaW50ZW5zZWZhY2UgYWx0ZmFjZSAmb3B0aW9uYWwgYWx0ZmcgYm9s ZCkNCisgICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMnLg0KKw0K K1NVQlRMRUZBQ0UgYW5kIElOVEVOU0VGQUNFIGFyZSBjdXN0b20gdGhlbWUgZmFjZXMgdGhhdCBj b21iaW5lIGENCitiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHZhbHVlLiAgVGhlIGRpZmZlcmVu Y2UgYmV0d2VlbiB0aGUgdHdvDQoraXMgYSBtYXR0ZXIgb2YgZGVncmVlLg0KKw0KK0FMVEZBQ0Ug aXMgYSBjb21iaW5hdGlvbiBvZiBjb2xvcnMgdGhhdCByZXByZXNlbnRzIGEgZGVwYXJ0dXJlDQor ZnJvbSB0aGUgVUkncyBkZWZhdWx0IGFlc3RoZXRpY3MuICBPcHRpb25hbCBBTFRGRyBpcyBtZWFu dCB0byBiZQ0KK3VzZWQgaW4gdGFuZGVtIHdpdGggaXQuDQorDQorT3B0aW9uYWwgQk9MRCB3aWxs IGFwcGx5IGEgaGVhdmllciB3ZWlnaHQgdG8gdGhlIHRleHQuDQorDQorVGhlc2UgYXJlIGludGVu ZGVkIGZvciBIZWxtLCBJdnksIGV0Yy4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLWNvbXBsZXRp b25zDQorICAgICgnb3BpbmlvbmF0ZWQgKGxpc3QgOmluaGVyaXQgKGxpc3QgYWx0ZmFjZSBib2xk KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kIChvciBhbHRmZyAndW5zcGVj aWZpZWQpKSkNCisgICAgKCdtb2RlcmF0ZSAobGlzdCA6aW5oZXJpdCAobGlzdCBzdWJ0bGVmYWNl IGJvbGQpKSkNCisgICAgKF8gKGxpc3QgOmluaGVyaXQgKGxpc3QgaW50ZW5zZWZhY2UgYm9sZCkp KSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tbGluayAoZmcgZmdmYWludCB1bmRlcmxpbmUp DQorICAiQ29uZGl0aW9uYWwgYXBwbGljYXRpb24gb2YgbGluayBzdHlsZXMuDQorRkcgaXMgdGhl IGxpbmsncyBkZWZhdWx0IGNvbG9yIGZvciBpdHMgdGV4dCBhbmQgdW5kZXJsaW5lDQorcHJvcGVy dHkuICBGR0ZBSU5UIGlzIGEgZGVzYXR1cmF0ZWQgY29sb3IgZm9yIHRoZSB0ZXh0IGFuZA0KK3Vu ZGVybGluZS4gIFVOREVSTElORSBpcyBhIGdyZXkgY29sb3Igb25seSBmb3IgdGhlIHVuZGVsaW5l LiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtbGlua3MNCisgICAgKCdmYWludCAobGlzdCA6Zm9y ZWdyb3VuZCBmZ2ZhaW50IDp1bmRlcmxpbmUgdCkpDQorICAgICgnbmV1dHJhbC11bmRlcmxpbmUg KGxpc3QgOmZvcmVncm91bmQgZmcgOnVuZGVybGluZSB1bmRlcmxpbmUpKQ0KKyAgICAoJ2ZhaW50 LW5ldXRyYWwtdW5kZXJsaW5lIChsaXN0IDpmb3JlZ3JvdW5kIGZnZmFpbnQgOnVuZGVybGluZSB1 bmRlcmxpbmUpKQ0KKyAgICAoJ25vLXVuZGVybGluZSAobGlzdCA6Zm9yZWdyb3VuZCBmZyA6dW5k ZXJsaW5lIG5pbCkpDQorICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnIDp1bmRlcmxpbmUgdCkp KSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yIChmZyBmZ2ZhaW50KQ0KKyAg IkV4dGVuZHMgYG1vZHVzLXRoZW1lcy0tbGluaycuDQorRkcgaXMgdGhlIG1haW4gZm9yZWdyb3Vu ZC4gIEZHRkFJTlQgaXMgdGhlIGRlc2F0dXJhdGVkIG9uZS4iDQorICAocGNhc2UgbW9kdXMtdGhl bWVzLWxpbmtzDQorICAgICgnZmFpbnQgKGxpc3QgOmZvcmVncm91bmQgZmdmYWludCkpDQorICAg ICgnZmFpbnQtbmV1dHJhbC11bmRlcmxpbmUgKGxpc3QgOmZvcmVncm91bmQgZmdmYWludCkpDQor ICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMt LXNjYWxlIChhbW91bnQpDQorICAiU2NhbGUgaGVhZGluZyBieSBBTU9VTlQuDQorQU1PVU5UIGlz IGEgY3VzdG9taXphdGlvbiBvcHRpb24uIg0KKyAgKHdoZW4gbW9kdXMtdGhlbWVzLXNjYWxlLWhl YWRpbmdzDQorICAgIChsaXN0IDpoZWlnaHQgYW1vdW50KSkpDQorDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy0tcmVnaW9uIChiZyBmZyBiZ3N1YnRsZSkNCisgICJBcHBseSBgbW9kdXMtdGhlbWVzLXJl Z2lvbicgc3R5bGVzLg0KKw0KK0JHIGFuZCBGRyBhcmUgdGhlIG1haW4gdmFsdWVzIHRoYXQgYXJl IHVzZWQgYnkgZGVmYXVsdC4gIEJHU1VCVExFDQoraXMgYSBzdWJ0bGUgYmFja2dyb3VuZCB2YWx1 ZSB0aGF0IGNhbiBiZSBjb21iaW5lZCB3aXRoIGFsbCBjb2xvcnMNCit1c2VkIHRvIGZvbnRpZnkg dGV4dCBhbmQgY29kZSBzeW50YXguIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1yZWdpb24NCisg ICAgKCdiZy1vbmx5IChsaXN0IDpiYWNrZ3JvdW5kIGJnc3VidGxlKSkNCisgICAgKCdiZy1vbmx5 LW5vLWV4dGVuZCAobGlzdCA6YmFja2dyb3VuZCBiZ3N1YnRsZSA6ZXh0ZW5kIG5pbCkpDQorICAg ICgnbm8tZXh0ZW5kIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnIDpleHRlbmQg bmlsKSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkpDQor DQorDA0KKw0KKzs7OzsgVXRpbGl0aWVzIGZvciBESVkgdXNlcnMNCisNCis7OyBUaGlzIGlzIHRo ZSBXQ0FHIGZvcm11bGE6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE4Lmh0 bWwNCisoZGVmdW4gbW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYSAoaGV4KQ0KKyAgIkdldCBXQ0FH IHZhbHVlIG9mIGNvbG9yIHZhbHVlIEhFWC4NCitUaGUgdmFsdWUgaXMgZGVmaW5lZCBpbiBoZXhh ZGVjaW1hbCBSR0Igbm90YXRpb24sIHN1Y2ggYXMgdGhvc2UgaW4NCitgbW9kdXMtdGhlbWVzLWNv bG9ycy1vcGVyYW5kaScgYW5kIGBtb2R1cy10aGVtZXMtY29sb3JzLXZpdmVuZGknLiINCisgIChj bC1sb29wIGZvciBrIGluICcoMC4yMTI2IDAuNzE1MiAwLjA3MjIpDQorICAgICAgICAgICBmb3Ig eCBpbiAoY29sb3ItbmFtZS10by1yZ2IgaGV4KQ0KKyAgICAgICAgICAgc3VtICgqIGsgKGlmICg8 PSB4IDAuMDM5MjgpDQorICAgICAgICAgICAgICAgICAgICAgICAgKC8geCAxMi45MikNCisgICAg ICAgICAgICAgICAgICAgICAgKGV4cHQgKC8gKCsgeCAwLjA1NSkgMS4wNTUpIDIuNCkpKSkpDQor DQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNvbnRyYXN0IChjMSBjMikN CisgICJNZWFzdXJlIFdDQUcgY29udHJhc3QgcmF0aW8gYmV0d2VlbiBDMSBhbmQgQzIuDQorQzEg YW5kIEMyIGFyZSBjb2xvciB2YWx1ZXMgd3JpdHRlbiBpbiBoZXhhZGVjaW1hbCBSR0IuIg0KKyAg KGxldCAoKGN0ICgvICgrIChtb2R1cy10aGVtZXMtd2NhZy1mb3JtdWxhIGMxKSAwLjA1KQ0KKyAg ICAgICAgICAgICAgICgrIChtb2R1cy10aGVtZXMtd2NhZy1mb3JtdWxhIGMyKSAwLjA1KSkpKQ0K KyAgICAobWF4IGN0ICgvIGN0KSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWFjdGl2ZS10 aGVtZSAoKQ0KKyAgIlJldHVybiBhcHByb3ByaWF0ZSBhbGlzdCBvZiBjb2xvciB2YWx1ZXMgZm9y IGFjdGl2ZSB0aGVtZS4iDQorICAobGV0ICgodGhlbWUgKGNhciBjdXN0b20tZW5hYmxlZC10aGVt ZXMpKSkNCisgICAgKHBjYXNlIHRoZW1lDQorICAgICAgKCdtb2R1cy1vcGVyYW5kaSBtb2R1cy10 aGVtZXMtY29sb3JzLW9wZXJhbmRpKQ0KKyAgICAgICgnbW9kdXMtdml2ZW5kaSBtb2R1cy10aGVt ZXMtY29sb3JzLXZpdmVuZGkpDQorICAgICAgKF8gKHVzZXItZXJyb3IgIiclcycgbm90IGEgTW9k dXMgdGhlbWU7IGNoZWNrIGBjdXN0b20tZW5hYmxlZC10aGVtZXMnIiB0aGVtZSkpKSkpDQorDQor Ozs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNvbG9yIChrZXkpDQorICAiUmV0 dXJuIGNvbG9yIHZhbHVlIGZvciBLRVkuDQorVGhlIEtFWSBpcyB0aGUgY2FyIG9mIGVhY2ggY29u cyBjZWxsIGluIHRoZSBhbGlzdHMNCitgbW9kdXMtdGhlbWVzLWNvbG9ycy1vcGVyYW5kaScsIGBt b2R1cy10aGVtZXMtY29sb3JzLXZpdmVuZGknLiINCisgIChsZXQgKChhbGlzdCAobW9kdXMtdGhl bWVzLS1hY3RpdmUtdGhlbWUpKSkNCisgICAgKGNkciAoYXNzb2MgYCxrZXkgYWxpc3QpKSkpDQor DQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNvbG9yLWFsdHMgKGtleS1s aWdodCBrZXktZGFyaykNCisgICJSZXR1cm4gY29sb3IgdmFsdWUgZm9yIEtFWS1MSUdIVCBhbmQg S0VZLURBUksuDQorQm90aCBhcmd1bWVudHMgbXVzdCByZWZlcmVuY2UgdGhlIGNhciBvZiBhIGNv bnMgY2VsbCBpbg0KK2Btb2R1cy10aGVtZXMtY29sb3JzLW9wZXJhbmRpJywgYG1vZHVzLXRoZW1l cy1jb2xvcnMtdml2ZW5kaScuIg0KKyAgKGxldCAoKHRoZW1lIChjYXIgY3VzdG9tLWVuYWJsZWQt dGhlbWVzKSkpDQorICAgIChwY2FzZSB0aGVtZQ0KKyAgICAgICgnbW9kdXMtb3BlcmFuZGkgKGNk ciAoYXNzb2MgYCxrZXktbGlnaHQgbW9kdXMtdGhlbWVzLWNvbG9ycy1vcGVyYW5kaSkpKQ0KKyAg ICAgICgnbW9kdXMtdml2ZW5kaSAoY2RyIChhc3NvYyBgLGtleS1kYXJrIG1vZHVzLXRoZW1lcy1j b2xvcnMtdml2ZW5kaSkpKQ0KKyAgICAgIChfICh1c2VyLWVycm9yICInJXMnIG5vdCBhIE1vZHVz IHRoZW1lOyBjaGVjayBgY3VzdG9tLWVuYWJsZWQtdGhlbWVzJyIgdGhlbWUpKSkpKQ0KKw0KKzs7 OzsgQ29tbWFuZHMNCisNCisoZGVmdmFyIG1vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhv b2sgbmlsDQorICAiSG9vayB0aGF0IHJ1bnMgYWZ0ZXIgdGhlIGBtb2R1cy10aGVtZXMtdG9nZ2xl JyByb3V0aW5lcy4iKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1lcy1s b2FkLW9wZXJhbmRpICgpDQorICAiTG9hZCBgbW9kdXMtb3BlcmFuZGknIGFuZCBkaXNhYmxlIGBt b2R1cy12aXZlbmRpJy4NCitBbHNvIHJ1biBgbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUt aG9vaycuIg0KKyAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpDQorICAobG9hZC10aGVt ZSAnbW9kdXMtb3BlcmFuZGkgdCkNCisgIChydW4taG9va3MgJ21vZHVzLXRoZW1lcy1hZnRlci1s b2FkLXRoZW1lLWhvb2spKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1l cy1sb2FkLXZpdmVuZGkgKCkNCisgICJMb2FkIGBtb2R1cy12aXZlbmRpJyBhbmQgZGlzYWJsZSBg bW9kdXMtb3BlcmFuZGknLg0KK0Fsc28gcnVuIGBtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVt ZS1ob29rJy4iDQorICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpDQorICAobG9hZC10 aGVtZSAnbW9kdXMtdml2ZW5kaSB0KQ0KKyAgKHJ1bi1ob29rcyAnbW9kdXMtdGhlbWVzLWFmdGVy LWxvYWQtdGhlbWUtaG9vaykpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tbG9hZC1wcm9tcHQg KCkNCisgICJIZWxwZXIgZm9yIGBtb2R1cy10aGVtZXMtdG9nZ2xlJy4iDQorICAobGV0ICgodGhl bWUNCisgICAgICAgICAoaW50ZXJuDQorICAgICAgICAgIChjb21wbGV0aW5nLXJlYWQgIkxvYWQg TW9kdXMgdGhlbWUgKHdpbGwgZGlzYWJsZSBhbGwgb3RoZXJzKTogIg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICcobW9kdXMtb3BlcmFuZGkgbW9kdXMtdml2ZW5kaSkgbmlsIHQpKSkpDQor ICAgIChtYXBjICMnZGlzYWJsZS10aGVtZSBjdXN0b20tZW5hYmxlZC10aGVtZXMpDQorICAgIChw Y2FzZSB0aGVtZQ0KKyAgICAgICgnbW9kdXMtb3BlcmFuZGkgKG1vZHVzLXRoZW1lcy1sb2FkLW9w ZXJhbmRpKSkNCisgICAgICAoJ21vZHVzLXZpdmVuZGkgKG1vZHVzLXRoZW1lcy1sb2FkLXZpdmVu ZGkpKSkpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1lcy10b2dnbGUg KCkNCisgICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGknIGFuZCBgbW9kdXMtdml2ZW5k aScgdGhlbWVzLg0KK0Fsc28gcnVucyBgbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9v aycgYnkgdmlydHVlIG9mDQorY2FsbGluZyB0aGUgaW50ZXJuYWwgYG1vZHVzLXRoZW1lcy1sb2Fk LW9wZXJhbmRpJyBhbmQNCitgbW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaScgZnVuY3Rpb25zLiIN CisgIChpbnRlcmFjdGl2ZSkNCisgIChwY2FzZSAoY2FyIGN1c3RvbS1lbmFibGVkLXRoZW1lcykN CisgICAgKCdtb2R1cy1vcGVyYW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaSkpDQorICAg ICgnbW9kdXMtdml2ZW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkpKQ0KKyAgICAoXyAo bW9kdXMtdGhlbWVzLS1sb2FkLXByb21wdCkpKSkNCisNCisMDQorDQorOzs7OyBGYWNlIHNwZWNp ZmljYXRpb25zDQorDQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1mYWNlcw0KKyAgJygNCis7Ozs7 IGN1c3RvbSBmYWNlcw0KKyAgICA7OyB0aGVzZSBiZXNwb2tlIGZhY2VzIGFyZSBpbmhlcml0ZWQg Ynkgb3RoZXIgY29uc3RydWN0cyBiZWxvdw0KKzs7Ozs7IHN1YnRsZSBjb2xvcmVkIGJhY2tncm91 bmRzDQorICAgIGAobW9kdXMtdGhlbWUtc3VidGxlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs cmVkLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobW9kdXMtdGhlbWUt c3VidGxlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1zdWJ0bGUtYmcgOmZvcmVn cm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cgKCgsY2xh c3MgOmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0K KyAgICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVl LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobW9kdXMtdGhlbWUtc3Vi dGxlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtc3VidGxlLWJnIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiAoKCxjbGFz cyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1p bmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCis7Ozs7OyBpbnRlbnNlIGNvbG9y ZWQgYmFja2dyb3VuZHMNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1p bnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50 ZW5zZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQg LG1hZ2VudGEtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVz LXRoZW1lLWludGVuc2UtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0 cmFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCis7Ozs7OyByZWZpbmVkIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRpb25z DQorICAgIDs7IGdlbmVyYWwgcHVycG9zZSBzdHlsZXMgdGhhdCB1c2UgYW4gYWNjZW50ZWQgZm9y ZWdyb3VuZCBhZ2FpbnN0IGFuDQorICAgIDs7IGFjY2VudGVkIGJhY2tncm91bmQNCisgICAgYCht b2R1cy10aGVtZS1yZWZpbmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtcmVmaW5lLWJn IDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtcmVmaW5l LWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1yZWZpbmUtYmcgOmZvcmVncm91bmQg LGdyZWVuLXJlZmluZS1mZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgKCgs Y2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcgOmZvcmVncm91bmQgLHllbGxvdy1y ZWZpbmUtZmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQor ICAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1h Z2VudGEtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXJlZmlu ZS1iZyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCis7Ozs7OyAiYWN0aXZlIiBjb21i aW5hdGlvbnMsIG1vc3RseSBmb3IgdXNlIG9uIHRoZSBtb2RlIGxpbmUNCisgICAgYChtb2R1cy10 aGVtZS1hY3RpdmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtYWN0aXZlIDpmb3JlZ3Jv dW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4gKCgsY2xh c3MgOmJhY2tncm91bmQgLGdyZWVuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQor ICAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVs bG93LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAobW9kdXMtdGhlbWUt YWN0aXZlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtYWN0aXZlIDpmb3JlZ3JvdW5k ICxiZy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsbWFnZW50YS1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0K KyAgICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFu LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorOzs7OzsgbnVhbmNlZCBiYWNrZ3Jv dW5kcw0KKyAgICA7OyB1c2VmdWwgZm9yIGFkZGluZyBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRo YXQgaXMgc3VpdGFibGUgZm9yIGFsbA0KKyAgICA7OyBtYWluIGZvcmVncm91bmQgY29sb3JzIChp bnRlbmRlZCBmb3IgdXNlIGluIE9yZyBzb3VyY2UgYmxvY2tzKQ0KKyAgICBgKG1vZHVzLXRoZW1l LW51YW5jZWQtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1iZyA6ZXh0ZW5k IHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxncmVlbi1udWFuY2VkLWJnIDpleHRlbmQgdCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW51 YW5jZWQteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1iZyA6ZXh0 ZW5kIHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6ZXh0ZW5kIHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1u dWFuY2VkLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1iZyA6 ZXh0ZW5kIHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGN5YW4tbnVhbmNlZC1iZyA6ZXh0ZW5kIHQpKSkNCis7Ozs7OyBmcmluZ2Utc3Bl Y2lmaWMgY29tYmluYXRpb25zDQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLXJlZCAoKCxjbGFz cyA6YmFja2dyb3VuZCAscmVkLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4t ZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZnJp bmdlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWZyaW5nZS1iZyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxibHVlLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdl bnRhLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1l LWZyaW5nZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWZyaW5nZS1iZyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IHNwZWNpYWwgYmFzZSB2YWx1ZXMNCisgICAgOzsgdGhl c2UgYXJlIGNsb3NlciB0byB0aGUgZ3JheXNjYWxlIHRoYW4gdGhlIGFjY2VudHMgZGVmaW5lZCBh Ym92ZQ0KKyAgICA7OyBhbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBuZXh0IGNsb3Nl c3QgYWx0ZXJuYXRpdmUgd291bGQgYmUNCisgICAgOzsgYSBncmV5c2NhbGUgdmFsdWUgdGhhbiBh biBhY2NlbnRlZCBvbmUNCisgICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQorICAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1zcGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lh bC13YXJtIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorOzs7OzsgZGlmZi1zcGVjaWZpYyBjb21iaW5h dGlvbnMNCisgICAgOzsgaW50ZW5kZWQgZm9yIGBkaWZmLW1vZGUnIG9yIGVxdWl2YWxlbnQNCisg ICAgYChtb2R1cy10aGVtZS1kaWZmLWFkZGVkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctbWFpbiBncmVlbg0KKyAgICAgICAgICAg ICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0KKyAgICAgICAg ICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlmZi1hZGRlZCkpKSkNCisgICAgYChtb2R1 cy10aGVtZS1kaWZmLWNoYW5nZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRp ZmYNCisgICAgICAgICAgICAgICAgICBiZy1tYWluIHllbGxvdw0KKyAgICAgICAgICAgICAgICAg IGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQNCisgICAgICAgICAg ICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5nZWQpKSkpDQorICAgIGAobW9k dXMtdGhlbWUtZGlmZi1yZW1vdmVkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1k aWZmDQorICAgICAgICAgICAgICAgICAgYmctbWFpbiByZWQNCisgICAgICAgICAgICAgICAgICBi Zy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQorICAgICAgICAgICAg ICAgICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVkKSkpKQ0KKyAgICBgKG1vZHVzLXRo ZW1lLWRpZmYtcmVmaW5lLWFkZGVkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1k aWZmDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVkDQorICAg ICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtYWRkZWQgZmctZGlmZi1yZWZpbmUtYWRkZWQN CisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYtZm9jdXMtYWRk ZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZA0KKyAgICAgICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYt Y2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmlu ZS1jaGFuZ2VkIGZnLWRpZmYtcmVmaW5lLWNoYW5nZWQNCisgICAgICAgICAgICAgICAgICBiZy1k aWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpKQ0KKyAgICBgKG1vZHVz LXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVt ZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1v dmVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtcmVtb3ZlZCBmZy1kaWZmLXJl ZmluZS1yZW1vdmVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1yZW1vdmVkIGZn LWRpZmYtZm9jdXMtcmVtb3ZlZCkpKSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFk ZGVkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAg ICAgICAgYmctZGltIGdyZWVuDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1hZGRl ZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBm Zy1kaWZmLWFkZGVkKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtY2hhbmdlZA0K KyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAg IGJnLWRpbSB5ZWxsb3cNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWNoYW5nZWQg ZmctZGlmZi1mb2N1cy1jaGFuZ2VkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2Vk IGZnLWRpZmYtY2hhbmdlZCkpKSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92 ZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAg ICAgICBiZy1kaW0gcmVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1yZW1vdmVk IGZnLWRpZmYtZm9jdXMtcmVtb3ZlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3Zl ZCBmZy1kaWZmLXJlbW92ZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nDQor ICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAg YmctYWx0IGJsdWUtYWx0DQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1oZWFkaW5nIGZnLWRp ZmYtaGVhZGluZw0KKyAgICAgICAgICAgICAgICAgIGN5YW4tbnVhbmNlZC1iZyBjeWFuLW51YW5j ZWQtZmcgdCkpKSkNCis7Ozs7OyBtYXJrIGluZGljYXRvcnMNCisgICAgOzsgY29sb3IgY29tYmlu YXRpb25zIGludGVuZGVkIGZvciBEaXJlZCwgSWJ1ZmZlciwgb3IgZXF1aXZhbGVudA0KKyAgICBg KG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW1hcmstYWx0ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmstYWx0IDpmb3JlZ3JvdW5kICxmZy1tYXJr LWFsdCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW1hcmstZGVsICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJnLW1hcmstZGVsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWRlbCkpKQ0K KyAgICBgKG1vZHVzLXRoZW1lLW1hcmstc2VsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tn cm91bmQgLGJnLW1hcmstc2VsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLXNlbCkpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLW1hcmstc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQorOzs7OzsgaGVhZGluZyBsZXZlbHMNCisgICAgOzsgc3R5bGVzIGZvciBy ZWd1bGFyIGhlYWRpbmdzIHVzZWQgaW4gT3JnLCBNYXJrZG93biwgSW5mbywgZXRjLg0KKyAgICBg KG1vZHVzLXRoZW1lLWhlYWRpbmctMQ0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0t aGVhZGluZw0KKyAgICAgICAgICAgICAgICAgIDEgZmctbWFpbiBtYWdlbnRhLWFsdC1vdGhlciBt YWdlbnRhLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUt aGVhZGluZy0yDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAg ICAgICAgICAgICAgICAgMiBmZy1zcGVjaWFsLXdhcm0gbWFnZW50YS1hbHQgcmVkLW51YW5jZWQt YmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9k dXMtdGhlbWVzLXNjYWxlLTMpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0zDQorICAg ICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAg MyBmZy1zcGVjaWFsLWNvbGQgYmx1ZSBibHVlLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTIpKSkp DQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy00DQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNCBmZy1zcGVjaWFsLW1pbGQgY3lh biBjeWFuLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTEpKSkpDQorICAgIGAobW9kdXMtdGhlbWUt aGVhZGluZy01DQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAg ICAgICAgICAgICAgICAgNSBmZy1zcGVjaWFsLWNhbG0gZ3JlZW4tYWx0LW90aGVyIGdyZWVuLW51 YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNg0KKyAg ICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0taGVhZGluZw0KKyAgICAgICAgICAgICAgICAg IDYgeWVsbG93LW51YW5jZWQtZmcgeWVsbG93LWFsdC1vdGhlciB5ZWxsb3ctbnVhbmNlZC1iZyBi Zy1yZWdpb24pKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy03DQorICAgICAgKCgsY2xh c3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNyByZWQtbnVh bmNlZC1mZyByZWQtYWx0IHJlZC1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCisgICAgYChtb2R1 cy10aGVtZS1oZWFkaW5nLTgNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWhlYWRp bmcNCisgICAgICAgICAgICAgICAgICA4IGZnLWRpbSBtYWdlbnRhIGJnLWFsdCBiZy1yZWdpb24p KSkpDQorOzs7Ozsgb3RoZXIgY3VzdG9tIGZhY2VzDQorICAgIGAobW9kdXMtdGhlbWUtYm9sZCAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWJvbGQtd2VpZ2h0KSkpKQ0KKyAgICBgKG1vZHVzLXRo ZW1lLWhsLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLChpZiBtb2R1cy10aGVtZXMtaW50ZW5z ZS1obC1saW5lDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLWhsLWxpbmUtaW50ZW5zZSBiZy1obC1saW5lKQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmV4dGVuZCB0KSkpDQorICAgIGAobW9kdXMtdGhlbWUtc2xhbnQg KCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpzbGFudCAsQChtb2R1cy10aGVtZXMtLXNsYW50KSkp KQ0KKyAgICBgKG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tdmFyaWFibGUtcGl0Y2gpKSkpDQorOzs7OyBzdGFuZGFyZCBmYWNlcw0KKzs7Ozs7IGFi c29sdXRlIGVzc2VudGlhbHMNCisgICAgYChkZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY3Vyc29yICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZnJpbmdlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tZnJpbmdlIGJnLW1haW4gYmctaW5hY3RpdmUgYmctYWN0aXZlKQ0KKyAgICAgICAgICAg ICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHZlcnRpY2FsLWJvcmRl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCis7Ozs7 OyBiYXNpYyBhbmQvb3IgdW5ncm91cGVkIHN0eWxlcw0KKyAgICBgKGJvbGQgKCgsY2xhc3MgOndl aWdodCBib2xkKSkpDQorICAgIGAoYm9sZC1pdGFsaWMgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQg aXRhbGljKSkpKQ0KKyAgICBgKGJ1ZmZlci1tZW51LWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkKSkpDQorICAgIGAoY29taW50LWhpZ2hsaWdodC1pbnB1dCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkKSkpDQorICAgIGAoY29taW50LWhpZ2hsaWdodC1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXRoZW1lcy0tcHJvbXB0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGZnLW1haW4pKSkpDQorICAgIGAoZXJyb3Ig KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZXNjYXBl LWdseXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkN CisgICAgYChmaWxlLW5hbWUtc2hhZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3Vz ZWQpKSkNCisgICAgYChoZWFkZXItbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVy IDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCisgICAgYChoZWFkZXItbGluZS1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChoZWxw LWFyZ3VtZW50LW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCisgICAgYChob21vZ2x5cGggKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hbHQtZmFpbnQpKSkNCisgICAgYChpYnVmZmVyLWxvY2tlZC1idWZmZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXItZmFpbnQpKSkNCisgICAgYChpdGFsaWMgKCgsY2xh c3MgOnNsYW50IGl0YWxpYykpKQ0KKyAgICBgKG5vYnJlYWstaHlwaGVuICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCisgICAgYChub2JyZWFrLXNwYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgOnVuZGVybGlu ZSB0KSkpDQorICAgIGAobWluaWJ1ZmZlci1wcm9tcHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1wcm9tcHQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1v dGhlcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tbnVhbmNlZC1i ZyBjeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUt YmcgZmctbWFpbikpKSkNCisgICAgYChtbS1jb21tYW5kLW91dHB1dCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1tLXV1LWV4dHJhY3QgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAo bmV4dC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQor ICAgIGAocmVjdGFuZ2xlLXByZXZpZXcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC1taWxkKSkpDQorICAgIGAocmVnaW9uICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tcmVn aW9uIGJnLXJlZ2lvbiBmZy1tYWluIGJnLWhsLWFsdC1pbnRlbnNlKSkpKQ0KKyAgICBgKHNlY29u ZGFyeS1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xk KSkpDQorICAgIGAoc2hhZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAg YChzdWNjZXNzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQor ICAgIGAodHJhaWxpbmctd2hpdGVzcGFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVu c2UtYmcpKSkNCisgICAgYCh3YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGJ1dHRvbnMsIGxpbmtzLCB3aWRnZXRzDQorICAgIGAoYnV0 dG9uICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbGluaw0KKyAgICAgICAgICAgICAgICAgICAg ICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCBiZy1yZWdpb24pKSkpDQor ICAgIGAobGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChsaW5rLXZpc2l0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkpKSkNCisgICAg YCh0b29sdGlwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYCh3aWRnZXQtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbikpKQ0KKyAgICBgKHdpZGdldC1idXR0b24tcHJlc3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBi dXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCisgICAgYCh3aWRnZXQtZG9jdW1lbnRhdGlvbiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYCh3aWRnZXQtZmllbGQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAod2lk Z2V0LWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3Vu ZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYCh3aWRnZXQtc2luZ2xlLWxpbmUtZmllbGQgKCgsY2xh c3MgOmluaGVyaXQgd2lkZ2V0LWZpZWxkKSkpDQorOzs7OzsgYWcNCisgICAgYChhZy1oaXQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoYWctbWF0 Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCis7 Ozs7OyBhbGVydA0KKyAgICBgKGFsZXJ0LWhpZ2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoYWxlcnQtbG93LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGFsZXJ0LW1vZGVyYXRlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAo YWxlcnQtdHJpdmlhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0p KSkNCisgICAgYChhbGVydC11cmdlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KKzs7Ozs7IGFsbC10aGUtaWNvbnMNCisgICAgYChhbGwt dGhlLWljb25zLWJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChhbGwt dGhlLWljb25zLWJsdWUtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAg ICBgKGFsbC10aGUtaWNvbnMtY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKGFsbC10aGUtaWNvbnMtY3lhbi1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1kYmx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWRjeWFuICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZGdyZWVuICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChhbGwtdGhlLWlj b25zLWRpcmVkLWRpci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAo YWxsLXRoZS1pY29ucy1kbWFyb29uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZG9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZHBpbmsgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWRwdXJwbGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1k cmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWRz aWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGFs bC10aGUtaWNvbnMtZHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAg IGAoYWxsLXRoZS1pY29ucy1ncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisg ICAgYChhbGwtdGhlLWljb25zLWxibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLXJlZmlu ZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbGN5YW4gKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tcmVmaW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1sZ3JlZW4gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbG1h cm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCisgICAgYChh bGwtdGhlLWljb25zLWxvcmFuZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcp KSkNCisgICAgYChhbGwtdGhlLWljb25zLWxwaW5rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbHB1cnBsZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWxy ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwtdGhl LWljb25zLWxzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKGFsbC10aGUtaWNvbnMtbHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbWFyb29uICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1vcmFuZ2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLXBpbmsgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhbGwtdGhlLWljb25zLXB1cnBsZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChhbGwtdGhlLWljb25z LXB1cnBsZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQor ICAgIGAoYWxsLXRoZS1pY29ucy1yZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAg ICBgKGFsbC10aGUtaWNvbnMtcmVkLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLXllbGxvdyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgYW5ub3RhdGUNCisgICAgYChhbm5vdGF0ZS1hbm5v dGF0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQorICAg IGAoYW5ub3RhdGUtYW5ub3RhdGlvbi1zZWNvbmRhcnkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLWdyZWVuKSkpDQorICAgIGAoYW5ub3RhdGUtaGlnaGxpZ2h0ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOnVuZGVybGluZSAsYmx1ZS1pbnRlbnNlKSkp DQorICAgIGAoYW5ub3RhdGUtaGlnaGxpZ2h0LXNlY29uZGFyeSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsZ3JlZW4tbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxncmVlbi1pbnRlbnNlKSkpDQorOzs7Ozsg YW56dQ0KKyAgICBgKGFuenUtbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtY3lhbikpKQ0KKyAgICBgKGFuenUtbWF0Y2gtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChhbnp1LW1hdGNoLTMgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KKyAgICBgKGFuenUtbW9kZS1saW5l ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAg ICBgKGFuenUtbW9kZS1saW5lLW5vLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChhbnp1LXJlcGxhY2UtaGlnaGxpZ2h0ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVuZGVybGluZSB0KSkpDQor ICAgIGAoYW56dS1yZXBsYWNlLXRvICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLWdyZWVuIGJvbGQpKSkpDQorOzs7OzsgYXByb3Bvcw0KKyAgICBgKGFwcm9wb3MtZnVuY3Rp b24tYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2Vu dGEtYWx0LW90aGVyLWZhaW50KSkpKQ0KKyAgICBgKGFwcm9wb3Mta2V5YmluZGluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoYXByb3Bvcy1taXNj LWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFp bnQpKSkpDQorICAgIGAoYXByb3Bvcy1wcm9wZXJ0eSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGFwcm9wb3Mtc3lt Ym9sICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQorICAgIGAoYXByb3Bvcy11c2VyLW9wdGlvbi1idXR0b24gKCgsY2xhc3Mg OmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWlu dCkpKSkNCisgICAgYChhcHJvcG9zLXZhcmlhYmxlLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBi dXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10 aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQorOzs7OzsgYXB0LXNvdXJjZXMtbGlzdA0KKyAgICBg KGFwdC1zb3VyY2VzLWxpc3QtY29tcG9uZW50cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKyAgICBgKGFwdC1zb3VyY2VzLWxpc3Qtb3B0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQorICAgIGAoYXB0LXNvdXJjZXMtbGlzdC1zdWl0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4pKSkNCisgICAgYChhcHQtc291cmNlcy1saXN0LXR5cGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhcHQtc291cmNlcy1saXN0LXVyaSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKzs7Ozs7IGFydGJvbGxvY2tzLW1vZGUNCisgICAgYChh cnRib2xsb2Nrcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQtZmcgOnVu ZGVybGluZSAsZmctbGFuZy1ub3RlKSkpDQorICAgIGAoYXJ0Ym9sbG9ja3MtbGV4aWNhbC1pbGx1 c2lvbnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQt YWx0IDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGFydGJvbGxvY2tzLXBhc3NpdmUtdm9pY2UtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcgOnVuZGVybGluZSAsZmct bGFuZy13YXJuaW5nKSkpDQorICAgIGAoYXJ0Ym9sbG9ja3Mtd2Vhc2VsLXdvcmRzLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkLWZnIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJy b3IpKSkNCis7Ozs7OyBhdWN0ZXggYW5kIFRleA0KKyAgICBgKGZvbnQtbGF0ZXgtYm9sZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0K KyAgICBgKGZvbnQtbGF0ZXgtZG9jdGV4LWRvY3VtZW50YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQor ICAgIGAoZm9udC1sYXRleC1kb2N0ZXgtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBg KGZvbnQtbGF0ZXgtaXRhbGljLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChmb250LWxhdGV4LW1hdGgtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChmb250LWxhdGV4LXNj cmlwdC1jaGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQor ICAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTAtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQor ICAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTEtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9s ZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1m ZykpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVlLW51 YW5jZWQtZmcpKSkNCisgICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMy1mYWNlICgoLGNsYXNz IDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAs Ymx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy01 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2VkYXRlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCisgICAgYChmb250LWxhdGV4LXNsaWRlLXRpdGxlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxj eWFuLW51YW5jZWQtZmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtNCkpKSkNCisgICAg YChmb250LWxhdGV4LXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1zdHJp bmctZmFjZSkpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc3Vic2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhl aWdodCAwLjk1KSkpDQorICAgIGAoZm9udC1sYXRleC1zdXBlcnNjcmlwdC1mYWNlICgoLGNsYXNz IDpoZWlnaHQgMC45NSkpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtdmVyYmF0aW0tZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisg ICAgYChmb250LWxhdGV4LXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2st d2FybmluZy1mYWNlKSkpDQorICAgIGAodGV4LW1hdGNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHRleC12ZXJiYXRpbSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYCh0ZXhpbmZv LWhlYWRpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChUZVgtZXJy b3ItZGVzY3JpcHRpb24tZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCisgICAgYChU ZVgtZXJyb3ItZGVzY3JpcHRpb24taGVscCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K KyAgICBgKFRlWC1lcnJvci1kZXNjcmlwdGlvbi10ZXgtc2FpZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KKyAgICBgKFRlWC1lcnJvci1kZXNjcmlwdGlvbi13YXJuaW5nICgoLGNsYXNz IDppbmhlcml0IHdhcm5pbmcpKSkNCis7Ozs7OyBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQorICAg IGAoYXV0by1kaW0tb3RoZXItYnVmZmVycy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h bHQpKSkNCis7Ozs7OyBhdnkNCisgICAgYChhdnktYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGF2eS1nb3Rv LWNoYXItdGltZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS15 ZWxsb3cgYm9sZCkpKSkNCisgICAgYChhdnktbGVhZC1mYWNlICgoLGNsYXNzIDppbmhlcml0ICht b2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgYm9sZCkpKSkNCisgICAgYChhdnktbGVhZC1mYWNl LTAgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSBib2xkKSkpKQ0K KyAgICBgKGF2eS1sZWFkLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS1yZWQgYm9sZCkpKSkNCisgICAgYChhdnktbGVhZC1mYWNlLTIgKCgsY2xhc3MgOmluaGVy aXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCis7Ozs7OyBhdyAoYWNlLXdp bmRvdykNCisgICAgYChhdy1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAoYXcta2V5LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAoYXctbGVh ZGluZy1jaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuNSA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYChhdy1taW5p YnVmZmVyLWxlYWRpbmctY2hhci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFj dGl2ZSkpKQ0KKyAgICBgKGF3LW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCis7Ozs7OyBhd2Vzb21lLXRyYXkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWF3ZXNv bWUtdGFiLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlcikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYmF0dGVyeS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoYXdl c29tZS10cmF5LW1vZHVsZS1idWZmZXItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9k dWxlLWNpcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWRhdGUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9k dWxlLWV2aWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWdpdC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9k dWxlLWxhc3QtY29tbWFuZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1sb2NhdGlvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBg KGF3ZXNvbWUtdHJheS1tb2R1bGUtbW9kZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLXBhcmVu dC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQor ICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1ydm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGJpbmRlcg0KKyAgICBg KGJpbmRlci1zaWRlYmFyLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtY3lhbikpKQ0KKyAgICBgKGJpbmRlci1zaWRlYmFyLW1hcmtlZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KKyAgICBgKGJpbmRlci1zaWRlYmFyLW1pc3Np bmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKGJp bmRlci1zaWRlYmFyLXRhZ3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBi bQ0KKyAgICBgKGJtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXll bGxvdyA6ZXh0ZW5kIHQpKSkNCisgICAgYChibS1mcmluZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoYm0tZnJpbmdlLXBlcnNpc3Rl bnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtYmx1ZSkpKQ0KKyAg ICBgKGJtLXBlcnNpc3RlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLWJsdWUgOmV4dGVuZCB0KSkpDQorOzs7OzsgYm9uZ28NCisgICAgYChib25nby1hbGJ1bS10 aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChib25nby1h cnRpc3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAoYm9u Z28tY3VycmVudGx5LXBsYXlpbmctdHJhY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAg ICBgKGJvbmdvLWVsYXBzZWQtdHJhY2stcGFydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChib25nby1maWxsZWQtc2Vl ay1iYXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQorICAgIGAoYm9uZ28tbWFya2VkLXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYXJrLWFsdCkpKQ0KKyAgICBgKGJvbmdvLW1hcmtlZC10cmFjay1saW5lICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1tYXJrLWFsdCkpKQ0KKyAgICBgKGJvbmdvLXBsYXllZC10cmFjayAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQor ICAgIGAoYm9uZ28tdHJhY2stbGVuZ3RoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlcikpKQ0KKyAgICBgKGJvbmdvLXRyYWNrLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGJvbmdvLXVuZmlsbGVkLXNlZWstYmFyICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7 OyBib29uDQorICAgIGAoYm9vbi1tb2RlbGluZS1jbWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChib29uLW1vZGVsaW5lLWlucyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQorICAgIGAoYm9vbi1tb2RlbGluZS1v ZmYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdykpKQ0KKyAgICBg KGJvb24tbW9kZWxpbmUtc3BjICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1n cmVlbikpKQ0KKzs7Ozs7IGJyZWFrcG9pbnQgKGJ1aWx0LWluIGdkYi1taS5lbCkNCisgICAgYChi cmVha3BvaW50LWRpc2FibGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAg YChicmVha3BvaW50LWVuYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkKSkpDQorOzs7OzsgYnVmZmVyLWV4cG9zZQ0KKyAgICBgKGJ1ZmZlci1leHBvc2UtYWNlLWNo YXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkp DQorICAgIGAoYnVmZmVyLWV4cG9zZS1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChidWZmZXItZXhwb3NlLXNlbGVjdGVkLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQorOzs7OzsgY2FsZW5k YXIgYW5kIGRpYXJ5DQorICAgIGAoY2FsZW5kYXItbW9udGgtaGVhZGVyICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjYWxlbmRhci10b2RheSAo KCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChjYWxlbmRhci13ZWVrZGF5LWhlYWRlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAoY2FsZW5kYXItd2Vla2VuZC1o ZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRpYXJ5ICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxncmVlbi1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KKyAgICBgKGRpYXJ5LWFubml2ZXJzYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0LW90aGVyKSkpDQorICAgIGAoZGlhcnktdGltZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCisgICAgYChob2xpZGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tn cm91bmQgLHJlZC1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBjYWxm dw0KKyAgICBgKGNmdzpmYWNlLWFubm90YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KKyAgICBgKGNmdzpmYWNlLWRheS10aXRsZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNmdzpmYWNlLWRlZmF1bHQtY29udGVudCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAoY2Z3OmZhY2UtZGVmYXVsdC1kYXkg KCgsY2xhc3MgOmluaGVyaXQgKGNmdzpmYWNlLWRheS10aXRsZSBib2xkKSkpKQ0KKyAgICBgKGNm dzpmYWNlLWRpc2FibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAg ICBgKGNmdzpmYWNlLWdyaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVy LW91dGVyKSkpDQorICAgIGAoY2Z3OmZhY2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjZnc6ZmFjZS1ob2xpZGF5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNmdzpmYWNlLXBlcmlv ZHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoY2Z3OmZh Y2Utc2F0dXJkYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCisgICAgYChjZnc6ZmFjZS1zZWxlY3QgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAoY2Z3OmZhY2Utc3VuZGF5ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoY2Z3OmZh Y2UtdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBt b2R1cy10aGVtZXMtc2NhbGUtNSkpKSkNCisgICAgYChjZnc6ZmFjZS10b2RheSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctaW5hY3RpdmUpKSkNCisgICAgYChjZnc6ZmFjZS10b2RheS10aXRsZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAoY2Z3OmZhY2UtdG9vbGJh ciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCisg ICAgYChjZnc6ZmFjZS10b29sYmFyLWJ1dHRvbi1vZmYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGNmdzpmYWNlLXRvb2xiYXItYnV0dG9uLW9uICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKzs7Ozs7 IGNlbnRhdXItdGFicw0KKyAgICBgKGNlbnRhdXItdGFicy1hY3RpdmUtYmFyLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGZnLXRhYi1hY3RpdmUpKSkNCisgICAgYChjZW50YXVyLXRhYnMtY2xv c2UtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0 aXZlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1jbG9zZS1zZWxlY3RlZCAo KCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtc2VsZWN0ZWQpKSkNCisgICAgYChjZW50YXVy LXRhYnMtY2xvc2UtdW5zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtdW5z ZWxlY3RlZCkpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1tb2RpZmllZC1tYXJrZXItc2VsZWN0ZWQg KCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXNlbGVjdGVkKSkpDQorICAgIGAoY2VudGF1 ci10YWJzLW1vZGlmaWVkLW1hcmtlci11bnNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRh dXItdGFicy11bnNlbGVjdGVkKSkpDQorICAgIGAoY2VudGF1ci10YWJzLWRlZmF1bHQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCisgICAgYChj ZW50YXVyLXRhYnMtc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAs YmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNlbnRhdXItdGFi cy1zZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmJhY2tncm91bmQg LGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjZW50YXVyLXRh YnMtdW5zZWxlY3RlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFiLWluYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChjZW50YXVyLXRhYnMtdW5zZWxlY3RlZC1tb2RpZmll ZCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorOzs7OzsgY2hhbmdlLWxvZyBhbmQgbG9nLXZpZXcgKGB2 Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0KKyAgICBgKGNoYW5nZS1sb2ct YWNrbm93bGVkZ21lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlci1mYWlu dCkpKQ0KKyAgICBgKGNoYW5nZS1sb2ctY29uZGl0aW9uYWxzICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGNoYW5nZS1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1mYWludCkpKQ0KKyAgICBgKGNoYW5nZS1sb2ctZW1haWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChjaGFuZ2UtbG9nLWZpbGUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoY2hhbmdl LWxvZy1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQor ICAgIGAoY2hhbmdlLWxvZy1saXN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KKyAgICBgKGNoYW5nZS1sb2ctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKyAgICBgKGxvZy1lZGl0LWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQorICAgIGAobG9nLWVkaXQtc3VtbWFyeSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAobG9nLWVkaXQtdW5rbm93bi1oZWFkZXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGxvZy12aWV3LWNvbW1pdC1i b2R5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4gOmV4 dGVuZCB0KSkpDQorICAgIGAobG9nLXZpZXctZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChsb2ctdmlldy1tZXNzYWdlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXItZmFpbnQpKSkNCis7Ozs7OyBjaWRl cg0KKyAgICBgKGNpZGVyLWRlYnVnLWNvZGUtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQpKSkNCisgICAgYChjaWRlci1kZWJ1Zy1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnVuZGVybGluZSB0KSkpDQorICAgIGAoY2lkZXItZGVw cmVjYXRlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cp KSkNCisgICAgYChjaWRlci1kb2N2aWV3LWVtcGhhc2lzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg aXRhbGljIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChjaWRlci1kb2N2 aWV3LWxpdGVyYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAg YChjaWRlci1kb2N2aWV3LXN0cm9uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNpZGVyLWRvY3ZpZXctdGFibGUtYm9y ZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGNpZGVyLWVu bGlnaHRlbmVkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICx5ZWxs b3ctYWx0IDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChjaWRlci1l bmxpZ2h0ZW5lZC1sb2NhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChjaWRlci1lcnJvci1oaWdobGlnaHQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGNpZGVyLWZy YWdpbGUtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZn LWFsdCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAg IGAoY2lkZXItZnJpbmdlLWdvb2QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQorICAgIGAoY2lkZXItaW5zdHJ1bWVudGVkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggLTEgOmNvbG9yICxyZWQgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQgLGJnLWRpbSkp KQ0KKyAgICBgKGNpZGVyLXJlYWRlci1jb25kaXRpb25hbC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoY2lkZXItcmVw bC1pbnB1dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChjaWRlci1yZXBs LXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGNpZGVyLXJlcGwtc3RkZXJyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQorICAgIGAoY2lkZXItcmVwbC1zdGRvdXQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNpZGVyLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlIDpzdHlsZSBuaWwpIDpiYWNrZ3Jv dW5kICxiZy1kaW0pKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLWVycm9yLWNsYXNzLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoY2lkZXIt c3RhY2t0cmFjZS1lcnJvci1tZXNzYWdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoY2lkZXItc3RhY2t0cmFjZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY2lkZXItc3RhY2t0cmFj ZS1maWx0ZXItYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0IDp1bmRl cmxpbmUgdCkpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVyLWluYWN0aXZlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAoY2lkZXItc3RhY2t0cmFj ZS1mbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChjaWRlci1zdGFja3RyYWNlLW5zLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGlj IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLXByb21vdGVk LWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1hbHQg OnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGNpZGVy LXN0YWNrdHJhY2Utc3VwcHJlc3NlZC1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13 aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoY2lkZXItdGVzdC1lcnJvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCisgICAgYChj aWRlci10ZXN0LWZhaWx1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS1yZWQgYm9sZCkpKSkNCisgICAgYChjaWRlci10ZXN0LXN1Y2Nlc3MtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAoY2lkZXItdHJh Y2VkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxjeWFuIDpzdHls ZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChjaWRlci13YXJuaW5nLWhpZ2hs aWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQor Ozs7OzsgY2lyY2UgKGFuZCBsdWkpDQorICAgIGAoY2lyY2UtZm9vbC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChjaXJjZS1oaWdobGlnaHQtbmljay1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChjaXJjZS1w cm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KKyAgICBgKGNpcmNlLXNlcnZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy11bmZvY3VzZWQpKSkNCisgICAgYChsdWktYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uKSkpDQorICAgIGAobHVpLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGx1aS10aW1lLXN0YW1wLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKzs7Ozs7IGNvbG9yLXJnDQorICAgIGAoY29s b3ItcmctZm9udC1sb2NrLWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNvbW1hbmQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNvbG9yLXJn LWZvbnQtbG9jay1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1mbGFzaCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChjb2xvci1yZy1mb250 LWxvY2stZnVuY3Rpb24tbG9jYXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC1jYWxtKSkpDQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5lLWRpcmVj dG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChjb2xvci1y Zy1mb250LWxvY2staGVhZGVyLWxpbmUtZWRpdC1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1r ZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChjb2xv ci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtdGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWN0aXZlKSkpDQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWxpbmUtbnVtYmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChjb2xvci1yZy1mb250LWxv Y2stbWFyay1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUp KSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stbWFyay1kZWxldGVkICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1t YXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAg YChjb2xvci1yZy1mb250LWxvY2stcG9zaXRpb24tc3BsaXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IGNvbHVtbi1lbmZvcmNlLW1vZGUNCisgICAgYChjb2x1bW4t ZW5mb3JjZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cp KSkNCis7Ozs7OyBjb21wYW55LW1vZGUNCisgICAgYChjb21wYW55LWVjaG8tY29tbW9uICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNvbXBhbnktcHJl dmlldyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkN CisgICAgYChjb21wYW55LXByZXZpZXctY29tbW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KKyAgICBgKGNvbXBhbnktcHJldmlldy1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoY29tcGFueS1zY3JvbGxiYXItYmcg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbXBhbnktc2Nyb2xs YmFyLWZnICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChjb21wYW55 LXRlbXBsYXRlLWZpZWxkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFn ZW50YSkpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChjb21wYW55LXRvb2x0aXAtYW5ub3Rh dGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQorICAgIGAoY29tcGFueS10b29sdGlwLWFubm90YXRpb24tc2VsZWN0 aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChjb21wYW55LXRvb2x0aXAtY29tbW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoY29tcGFueS10b29sdGlwLWNvbW1vbi1zZWxlY3Rpb24g KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjb21wYW55LXRvb2x0aXAt bW91c2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAg IGAoY29tcGFueS10b29sdGlwLXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt cmVmaW5lLWN5YW4gYm9sZCkpKSkNCisgICAgYChjb21wYW55LXRvb2x0aXAtc2VhcmNoLXNlbGVj dGlvbiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSA6 dW5kZXJsaW5lIHQpKSkNCisgICAgYChjb21wYW55LXRvb2x0aXAtc2VsZWN0aW9uICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkpKQ0KKzs7Ozs7IGNvbXBh bnktcG9zZnJhbWUNCisgICAgYChjb21wYW55LXBvc2ZyYW1lLWFjdGl2ZS1iYWNrZW5kLW5hbWUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5k ICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbXBhbnktcG9zZnJhbWUtaW5hY3RpdmUtYmFja2Vu ZC1uYW1lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFj dGl2ZSkpKQ0KKyAgICBgKGNvbXBhbnktcG9zZnJhbWUtbWV0YWRhdGEgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKzs7Ozs7IGNv bXBpbGF0aW9uIGZlZWRiYWNrDQorICAgIGAoY29tcGlsYXRpb24tY29sdW1uLW51bWJlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChjb21waWxhdGlv bi1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCisgICAgYChjb21waWxhdGlvbi1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYChjb21waWxhdGlvbi1saW5lLW51bWJlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoY29tcGlsYXRpb24tbW9kZS1s aW5lLWV4aXQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hY3RpdmUpKSkNCisgICAgYChjb21waWxhdGlvbi1tb2RlLWxpbmUtZmFpbCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQor ICAgIGAoY29tcGlsYXRpb24tbW9kZS1saW5lLXJ1biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbXBpbGF0 aW9uLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQorOzs7OzsgY29tcGxldGlvbnMNCisgICAgYChjb21wbGV0aW9ucy1hbm5v dGF0aW9ucyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAs Y3lhbi1mYWludCkpKQ0KKyAgICBgKGNvbXBsZXRpb25zLWNvbW1vbi1wYXJ0ICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLW51YW5jZWQtYmcNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFuLXJl ZmluZS1mZykpKSkNCisgICAgYChjb21wbGV0aW9ucy1maXJzdC1kaWZmZXJlbmNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IGJsdWUtbnVhbmNl ZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1pbnRlbnNlLWJnIGZnLW1haW4pKSkpDQorOzs7OzsgY29uc3VsdA0KKyAgICBgKGNvbnN1 bHQtYm9va21hcmsgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChjb25zdWx0 LWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAo Y29uc3VsdC1saWdodGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChj b25zdWx0LW9mZiAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKGNvbnN1bHQtb24g KCgsY2xhc3MgOmluaGVyaXQgc3VjY2VzcykpKQ0KKyAgICBgKGNvbnN1bHQtcHJldmlldy1jdXJz b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAo Y29uc3VsdC1wcmV2aWV3LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1taWxkKSkpDQorICAgIGAoY29uc3VsdC12aWV3ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKzs7Ozs7IGNvdW5zZWwNCisgICAgYChjb3Vu c2VsLWFjdGl2ZS1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KKyAgICBgKGNvdW5zZWwtYXBwbGljYXRpb24tbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNvdW5zZWwta2V5LWJpbmRpbmcgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtMSAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTEpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTIpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtMyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTMpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTQpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTUpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTYpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTcpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtOCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTgpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtZGVmYXVsdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bi1hbHQtb3RoZXIpKSkNCisgICAgYChjb3Vuc2VsLXZhcmlhYmxlLWRvY3VtZW50YXRpb24gKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIpKSkNCis7Ozs7OyBjb3Vuc2VsLWNzcw0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9y LWRlcHRoLWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNvdW5z ZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNl LTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGNvdW5zZWwtY3NzLXNl bGVjdG9yLWRlcHRoLWZhY2UtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAg ICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQorOzs7OzsgY291bnNlbC1ub3RtdWNoDQorICAgIGAoY291bnNlbC1ub3RtdWNo LWNvdW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChjb3Vuc2Vs LW5vdG11Y2gtZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAo Y291bnNlbC1ub3RtdWNoLXBlb3BsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQorICAgIGAoY291bnNlbC1ub3RtdWNoLXN1YmplY3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0 cmluZw0KKyAgICBgKGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nLXRlbXBsYXRlLWJvZHktZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorOzs7OzsgY292DQor ICAgIGAoY292LWNvdmVyYWdlLW5vdC1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWludGVuc2UpKSkNCisgICAgYChjb3YtY292ZXJhZ2UtcnVuLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChjb3YtaGVhdnktZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAoY292LWxpZ2h0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKGNvdi1tZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCisgICAgYChjb3Ytbm9uZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCis7Ozs7OyBjcGVybC1t b2RlDQorICAgIGAoY3Blcmwtbm9ub3ZlcnJpZGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKGNwZXJsLWFycmF5LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KKyAgICBgKGNwZXJsLWhhc2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1 cy10aGVtZS1zbGFudCkgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KKzs7Ozs7IGNzdi1tb2RlDQorICAgIGAoY3N2LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7 OyBjdHJsZg0KKyAgICBgKGN0cmxmLWhpZ2hsaWdodC1hY3RpdmUgKCgsY2xhc3MgOmluaGVyaXQg KG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCisgICAgYChjdHJsZi1oaWdobGln aHQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQorICAgIGAo Y3RybGYtaGlnaGxpZ2h0LXBhc3NpdmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLWN5YW4pKSkNCis7Ozs7OyBjdXN0b20gKE0teCBjdXN0b21pemUpDQorICAgIGAoY3VzdG9t LWJ1dHRvbiAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJl bGVhc2VkLWJ1dHRvbikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjdXN0b20tYnV0dG9u LW1vdXNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVs ZWFzZWQtYnV0dG9uKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoY3VzdG9t LWJ1dHRvbi1wcmVzc2VkICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6 c3R5bGUgcHJlc3NlZC1idXR0b24pDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChjdXN0b20tY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lh bikpKQ0KKyAgICBgKGN1c3RvbS1jb21tZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCisgICAgYChjdXN0b20tY29tbWVudC10YWcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKGN1c3RvbS1mYWNlLXRh ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCisg ICAgYChjdXN0b20tZ3JvdXAtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGdyZWVuLWludGVuc2UpKSkNCisgICAgYChjdXN0b20tZ3JvdXAtdGFnLTEgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQorICAgIGAoY3VzdG9tLWludmFsaWQg KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQorICAg IGAoY3VzdG9tLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1j eWFuKSkpDQorICAgIGAoY3VzdG9tLXJvZ3VlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAoY3VzdG9tLXNldCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCisgICAgYChjdXN0b20tc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoY3VzdG9tLXRoZW1lZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGN1c3RvbS12YXJpYWJsZS10YWcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKzs7Ozs7IGRhcC1t b2RlDQorICAgIGAoZGFwLW1vdXNlLWV2YWwtdGhpbmctZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGlu ZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUtYWN0aXZlIDpzdHlsZSBuaWwpDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGFwLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxiZy1hY3RpdmUgOnN0eWxlIG5pbCkNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGFwLXVpLWJyZWFrcG9pbnQtdmVy aWZpZWQtZnJpbmdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFj dGl2ZSkpKQ0KKyAgICBgKGRhcC11aS1jb21waWxlLWVycmxpbmUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYChkYXAtdWktbG9jYWxzLXNj b3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGRhcC11aS1sb2NhbHMt dmFyaWFibGUtbGVhZi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChkYXAtdWktbWFya2VyLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChkYXAtdWktc2Vzc2lvbnMt c3RhY2stZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KKyAgICBgKGRhcC11aS1zZXNzaW9ucy10ZXJtaW5hdGVkLWFjdGl2ZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRh cC11aS1zZXNzaW9ucy10ZXJtaW5hdGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KKzs7Ozs7IGRhc2hib2FyZCAoZW1hY3MtZGFzaGJvYXJkKQ0KKyAgICBgKGRhc2hib2Fy ZC1iYW5uZXItbG9nby10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChkYXNoYm9hcmQtZm9vdGVyICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGRhc2hib2Fy ZC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KKyAgICBgKGRhc2hib2FyZC1uYXZpZ2F0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZGFzaGJvYXJkLXRleHQtYmFubmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCis7Ozs7OyBkZWFkZ3JlcA0KKyAgICBgKGRlYWRncmVw LWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQorICAgIGAoZGVhZGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChkZWFkZ3JlcC1tZXRhLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRlYWRncmVwLXJlZ2V4cC1t ZXRhY2hhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1p bnRlbnNlKSkpDQorICAgIGAoZGVhZGdyZXAtc2VhcmNoLXRlcm0tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorOzs7OzsgZGViYnVncw0K KyAgICBgKGRlYmJ1Z3MtZ251LWFyY2hpdmVkICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkN CisgICAgYChkZWJidWdzLWdudS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN CisgICAgYChkZWJidWdzLWdudS1mb3J3YXJkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LWhhbmRsZWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorICAgIGAoZGViYnVncy1nbnUtbmV3ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCisgICAgYChkZWJidWdzLWdudS1wZW5kaW5nICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQorICAgIGAoZGViYnVncy1nbnUtc3RhbGUtMSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisgICAgYChkZWJidWdzLWdudS1zdGFsZS0yICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkZWJidWdzLWdudS1zdGFsZS0z ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAoZGViYnVncy1nbnUt c3RhbGUtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBg KGRlYmJ1Z3MtZ251LXN0YWxlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisg ICAgYChkZWJidWdzLWdudS10YWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQorOzs7OzsgZGVmaW5lLXdvcmQNCisgICAgYChkZWZpbmUtd29yZC1mYWNlLTEgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGRlZmluZS13b3JkLWZhY2UtMiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGRlZnQNCisgICAgYChkZWZ0LWZp bHRlci1zdHJpbmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtcmVkKSkpDQorICAgIGAoZGVmdC1maWx0ZXItc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChkZWZ0LWhlYWRlci1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGRl ZnQtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBg KGRlZnQtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChkZWZ0LXRpbWUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGVmdC10aXRsZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBkaWN0aW9u YXJ5DQorICAgIGAoZGljdGlvbmFyeS1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChkaWN0aW9uYXJ5LXJlZmVy ZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCisgICAgYChkaWN0aW9uYXJ5LXdvcmQtZGVmaW5pdGlvbi1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGljdGlvbmFyeS13b3JkLWVudHJ5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KKzs7Ozs7IGRpZmYtaGwNCisgICAgYChkaWZmLWhsLWNoYW5nZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoZGlmZi1o bC1kZWxldGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KKyAg ICBgKGRpZmYtaGwtZGlyZWQtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0IGRpZmYtaGwtY2hhbmdl KSkpDQorICAgIGAoZGlmZi1obC1kaXJlZC1kZWxldGUgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1o bC1kZWxldGUpKSkNCisgICAgYChkaWZmLWhsLWRpcmVkLWlnbm9yZWQgKCgsY2xhc3MgOmluaGVy aXQgZGlyZWQtaWdub3JlZCkpKQ0KKyAgICBgKGRpZmYtaGwtZGlyZWQtaW5zZXJ0ICgoLGNsYXNz IDppbmhlcml0IGRpZmYtaGwtaW5zZXJ0KSkpDQorICAgIGAoZGlmZi1obC1kaXJlZC11bmtub3du ICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWlnbm9yZWQpKSkNCisgICAgYChkaWZmLWhsLWluc2Vy dCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCisgICAgYChk aWZmLWhsLXJldmVydGVkLWh1bmstaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10 aGVtZS1hY3RpdmUtbWFnZW50YSBib2xkKSkpKQ0KKzs7Ozs7IGRpZmYtbW9kZQ0KKyAgICBgKGRp ZmYtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KKyAg ICBgKGRpZmYtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNoYW5n ZWQpKSkNCisgICAgYChkaWZmLWNvbnRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9j dXNlZCkpKQ0KKyAgICBgKGRpZmYtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1yZWQpKSkNCisgICAgYChkaWZmLWZpbGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChkaWZmLWZ1bmN0aW9uICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZykpKQ0KKyAgICBgKGRpZmYtaGVh ZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChkaWZmLWh1bmstaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRo ZW1lLWRpZmYtaGVhZGluZykpKSkNCisgICAgYChkaWZmLWluZGV4ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZGlmZi1pbmRpY2F0b3ItYWRk ZWQgKCgsY2xhc3MgOmluaGVyaXQgKGRpZmYtYWRkZWQgYm9sZCkgOmZvcmVncm91bmQgLGdyZWVu KSkpDQorICAgIGAoZGlmZi1pbmRpY2F0b3ItY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCAoZGlm Zi1jaGFuZ2VkIGJvbGQpIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkaWZmLWluZGlj YXRvci1yZW1vdmVkICgoLGNsYXNzIDppbmhlcml0IChkaWZmLXJlbW92ZWQgYm9sZCkgOmZvcmVn cm91bmQgLHJlZCkpKQ0KKyAgICBgKGRpZmYtbm9uZXhpc3RlbnQgKCgsY2xhc3MgOmluaGVyaXQg KG1vZHVzLXRoZW1lLW5ldXRyYWwgYm9sZCkpKSkNCisgICAgYChkaWZmLXJlZmluZS1hZGRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KKyAgICBg KGRpZmYtcmVmaW5lLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1y ZWZpbmUtY2hhbmdlZCkpKQ0KKyAgICBgKGRpZmYtcmVmaW5lLXJlbW92ZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KKyAgICBgKGRpZmYtcmVt b3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCis7Ozs7 OyBkaW0tYXV0b2xvYWQNCisgICAgYChkaW0tYXV0b2xvYWQtY29va2llLWxpbmUgKCgsY2xhc3Mg OmluaGVyaXQgZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkpKQ0KKzs7Ozs7IGRpci10cmVldmlldw0K KyAgICBgKGRpci10cmVldmlldy1hcmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGRpci10cmVldmlldy1hcmNoaXZlLWljb24tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KKyAgICBgKGRpci10cmVldmlldy1hdWRpby1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWF1ZGlvLWljb24tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWNvbnRyb2wtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWNvbnRy b2wtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGlnaHQpKSkNCisgICAgYChkaXIt dHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6ZmFtaWx5 ICJGb250IEF3ZXNvbWUiIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChkaXItdHJlZXZp ZXctZGVmYXVsdC1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAoZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1pY29uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1leGVjdXRhYmxlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1p Y29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNl IDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWltYWdl LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGRp ci10cmVldmlldy1pbWFnZS1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3 LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChkaXIt dHJlZXZpZXctaW5kZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAg ICBgKGRpci10cmVldmlldy1sYWJlbC1tb3VzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGhpZ2hs aWdodCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1zdGFydC1kaXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LXN5 bWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkp KQ0KKyAgICBgKGRpci10cmVldmlldy12aWRlby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGRpci10cmVldmlldy12aWRlby1pY29uLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGRpcmVkDQorICAgIGAoZGlyZWQtYnJv a2VuLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkN CisgICAgYChkaXJlZC1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisg ICAgYChkaXJlZC1mbGFnZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVs KSkpDQorICAgIGAoZGlyZWQtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXBz ZXVkby1oZWFkZXIpKSkNCisgICAgYChkaXJlZC1pZ25vcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCisgICAgYChkaXJlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLW1hcmstc3ltYm9sKSkpDQorICAgIGAoZGlyZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQorICAgIGAoZGlyZWQtcGVybS13cml0ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZGlyZWQtc3ltbGluayAo KCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQpKSkpDQorICAgIGAoZGlyZWQtd2FybmluZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBkaXJlZC1h c3luYw0KKyAgICBgKGRpcmVkLWFzeW5jLWZhaWx1cmVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChkaXJlZC1hc3lu Yy1tZXNzYWdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQg LGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRpcmVkLWFzeW5jLW1vZGUtbWVzc2FnZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0K Kzs7Ozs7IGRpcmVkLWdpdA0KKyAgICBgKGRpcmVkLWdpdC1icmFuY2gtZWxzZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGRpcmVkLWdp dC1icmFuY2gtbWFzdGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQorOzs7OzsgZGlyZWQtZ2l0LWluZm8NCisgICAgYChkZ2ktY29tbWl0 LW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQor Ozs7OzsgZGlyZWQtbmFycm93DQorICAgIGAoZGlyZWQtbmFycm93LWJsaW5rICgoLGNsYXNzIDpp bmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkpKQ0KKzs7Ozs7IGRpcmVkLXN1 YnRyZWUNCisgICAgOzsgcmVtb3ZlIGJhY2tncm91bmQgZnJvbSBkaXJlZC1zdWJ0cmVlLCBlbHNl IGl0IGJyZWFrcw0KKyAgICA7OyBkaXJlZC17ZmxhZ2dlZCxtYXJrZWR9IGFuZCBhbnkgb3RoZXIg ZmFjZSB0aGF0IHNldHMgYSBiYWNrZ3JvdW5kDQorICAgIDs7IHN1Y2ggYXMgaGwtbGluZQ0KKyAg ICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkp KQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k IG5pbCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kIG5pbCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNC1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNS1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNi1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KKzs7Ozs7IGRpcmVkZmwNCisgICAgYChk aXJlZGZsLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1jb2xkKSkpDQorICAgIGAoZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZGlyZWRmbC1jb21wcmVzc2Vk LWZpbGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoZGly ZWRmbC1kYXRlLXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQor ICAgIGAoZGlyZWRmbC1kZWxldGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJr LWRlbCkpKQ0KKyAgICBgKGRpcmVkZmwtZGVsZXRpb24tZmlsZS1uYW1lICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQorICAgIGAoZGlyZWRmbC1kaXItaGVhZGluZyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQorICAgIGAoZGly ZWRmbC1kaXItbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1kaXJlY3RvcnkpKSkNCisgICAg YChkaXJlZGZsLWRpci1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAg ICBgKGRpcmVkZmwtZXhlYy1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAoZGlyZWRmbC1leGVjdXRhYmxlLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCisgICAgYChkaXJlZGZsLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKGRpcmVkZmwtZmlsZS1zdWZmaXggKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCisgICAgYChkaXJlZGZsLWZsYWctbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KKyAgICBgKGRpcmVkZmwtZmxhZy1tYXJrLWxpbmUgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCisgICAgYChkaXJlZGZsLWln bm9yZWQtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChk aXJlZGZsLWxpbmstcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN CisgICAgYChkaXJlZGZsLW5vLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K KyAgICBgKGRpcmVkZmwtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0K KyAgICBgKGRpcmVkZmwtb3RoZXItcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkp DQorICAgIGAoZGlyZWRmbC1yYXJlLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQp KSkNCisgICAgYChkaXJlZGZsLXJlYWQtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKGRpcmVkZmwtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1zeW1s aW5rKSkpDQorICAgIGAoZGlyZWRmbC10YWdnZWQtYXV0b2ZpbGUtbmFtZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKGRpcmVkZmwtd3JpdGUt cHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKzs7Ozs7IGRpc2stdXNhZ2UNCisg ICAgYChkaXNrLXVzYWdlLWNoaWxkcmVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN CisgICAgYChkaXNrLXVzYWdlLWluYWNjZXNzaWJsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChkaXNrLXVzYWdlLXBlcmNlbnQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZGlzay11c2FnZS1zaXplICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQorICAgIGAoZGlzay11c2FnZS1zeW1saW5rICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbikpKQ0KKyAgICBgKGRpc2stdXNhZ2Utc3ltbGluay1kaXJlY3RvcnkgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCis7Ozs7OyBkb29tLW1v ZGVsaW5lDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJhci1pbmFjdGl2ZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGJnLW1haW4pKSkN CisgICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1jcml0aWNh bCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAg IGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJv eCAoOmxpbmUtd2lkdGggLTIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1i YXR0ZXJ5LWZ1bGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAo ZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LW5vcm1hbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0 aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LXdhcm5pbmcgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9k ZWxpbmUtYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct YWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItbWFqb3ItbW9kZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20t bW9kZWxpbmUtYnVmZmVyLW1pbm9yLW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0 aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItbW9kaWZpZWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChkb29tLW1v ZGVsaW5lLWJ1ZmZlci1wYXRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZGVidWcgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUt ZGVidWctdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3Rp dmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtZW1hY3Mtc3RhdGUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChkb29tLW1v ZGVsaW5lLWV2aWwtaW5zZXJ0LXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZXZpbC1tb3Rpb24tc3Rh dGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisg ICAgYChkb29tLW1vZGVsaW5lLWV2aWwtbm9ybWFsLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZXZpbC1v cGVyYXRvci1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFj dGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZXZpbC1yZXBsYWNlLXN0YXRlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChkb29tLW1v ZGVsaW5lLWV2aWwtdmlzdWFsLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1oaWdobGlnaHQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChkb29t LW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljKSkpDQorICAgIGAoZG9vbS1t b2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAg YChkb29tLW1vZGVsaW5lLWxzcC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1sc3Atc3VjY2VzcyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChk b29tLW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLXBhbmVsICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQorICAgIGAoZG9vbS1tb2RlbGlu ZS1wZXJzcC1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtcGVyc3AtbmFt ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGlu ZS1wcm9qZWN0LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFj dGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtcHJvamVjdC1wYXJlbnQtZGlyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtcHJvamVj dC1yb290LWRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9v bS1tb2RlbGluZS11bnJlYWQtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdy b3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS11cmdlbnQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9k ZWxpbmUtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWN0aXZlKSkpDQorOzs7OzsgZHluYW1pYy1ydWxlcg0KKyAgICBgKGR5bmFtaWMtcnVsZXItbmVn YXRpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwp KSkNCisgICAgYChkeW5hbWljLXJ1bGVyLXBvc2l0aXZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCis7Ozs7OyBlYXN5LWpla3lsbA0KKyAgICBg KGVhc3ktamVreWxsLWhlbHAtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGVhc3kta2lsbA0KKyAgICBgKGVhc3kt a2lsbC1vcmlnaW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0K KyAgICBgKGVhc3kta2lsbC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLXllbGxvdykpKQ0KKzs7Ozs7IGViZGINCisgICAgYChlYmRiLWFkZHJlc3MtZGVmYXVs dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGViZGItZGItY2hhciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZWJkYi1kZWZ1 bmN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChlYmRiLWZpZWxkLWhp ZGRlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGViZGItZmllbGQt dXJsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZWJkYi1sYWJlbCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChlYmRiLW1haWwtZGVm YXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGViZGItbWFpbC1w cmltYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGViZGItbWFy a2VkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCisgICAgYChlYmRi LW9yZ2FuaXphdGlvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0p KSkNCisgICAgYChlYmRiLXBlcnNvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KKyAgICBgKGViZGItcGhvbmUtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZWJkYi1yb2xlLWRlZnVuY3QgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGVpZWlvLWN1c3RvbS1zbG90LXRhZy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorOzs7OzsgZWRpZmYNCisgICAg OzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJv bSB0aGUNCisgICAgOzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZhY2VzLg0KKyAgICBgKGVkaWZmLWN1 cnJlbnQtZGlmZi1BICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSByZWQNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgcmVk LWZhaW50KSkpKQ0KKyAgICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1zcGVjaWFsLWNvbGQgZmctc3BlY2lhbC1jb2xk DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVh bmNlZC1iZyBibHVlKSkpKQ0KKyAgICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1CICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnLWRpbSBncmVlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZ3JlZW4tZmFpbnQpKSkpDQorICAgIGAoZWRp ZmYtY3VycmVudC1kaWZmLUMgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIHllbGxvdw0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNo YW5nZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVh bmNlZC1iZyB5ZWxsb3ctZmFpbnQpKSkpDQorICAgIGAoZWRpZmYtZXZlbi1kaWZmLUEgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMSkpKQ0KKyAgICBgKGVkaWZmLWV2ZW4tZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0x KSkpDQorICAgIGAoZWRpZmYtZXZlbi1kaWZmLUIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp ZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKGVk aWZmLWV2ZW4tZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6 Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCisgICAgYChlZGlmZi1maW5lLWRpZmYt QSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1mb2N1cy1yZW1vdmVkIDpmb3JlZ3JvdW5k ICxmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkNCisgICAgYChlZGlmZi1maW5lLWRpZmYtQW5jZXN0 b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCisgICAgYChl ZGlmZi1maW5lLWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1mb2N1cy1hZGRl ZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1hZGRlZCkpKQ0KKyAgICBgKGVkaWZmLWZpbmUt ZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWZvY3VzLWNoYW5nZWQgOmZvcmVn cm91bmQgLGZnLWRpZmYtZm9jdXMtY2hhbmdlZCkpKQ0KKyAgICBgKGVkaWZmLW9kZC1kaWZmLUEg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1k aWZmLW5ldXRyYWwtMikpKQ0KKyAgICBgKGVkaWZmLW9kZC1kaWZmLUFuY2VzdG9yICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0 cmFsLTApKSkNCisgICAgYChlZGlmZi1vZGQtZGlmZi1CICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCisgICAg YChlZGlmZi1vZGQtZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwt MSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCis7Ozs7OyBlZ2xvdA0KKyAgICBg KGVnbG90LW1vZGUtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKzs7Ozs7IGVsLXNlYXJjaA0KKyAgICBgKGVsLXNl YXJjaC1oaWdobGlnaHQtaW4tcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChlbC1zZWFyY2gtbWF0Y2ggKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGVsLXNlYXJjaC1v dGhlci1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkN CisgICAgYChlbC1zZWFyY2gtb2NjdXItbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jYWxtKSkpDQorOzs7OzsgZWxkb2MNCisgICAgOzsgTk9URTogc2VlIGh0dHBz Oi8vZ2l0aHViLmNvbS9wdXJjZWxsL3BhY2thZ2UtbGludC9pc3N1ZXMvMTg3DQorICAgIChsaXN0 ICdlbGRvYy1oaWdobGlnaHQtZnVuY3Rpb24tYXJndW1lbnQgYCgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorOzs7OzsgZWxkb2MtYm94DQorICAg IGAoZWxkb2MtYm94LWJvZHkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKGVsZG9jLWJveC1ib3JkZXIgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IGVsZmVlZA0KKyAgICBgKGVsZmVlZC1sb2ctZGF0ZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGVsZmVlZC1sb2ctZGVi dWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGVs ZmVlZC1sb2ctZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQor ICAgIGAoZWxmZWVkLWxvZy1pbmZvLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuKSkpDQorICAgIGAoZWxmZWVkLWxvZy13YXJuLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGVsZmVlZC1zZWFyY2gtZGF0ZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChlbGZlZWQtc2VhcmNoLWZl ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGVsZmVlZC1zZWFy Y2gtZmlsdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCisgICAgYChlbGZlZWQtc2VhcmNoLWxhc3QtdXBkYXRlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoZWxmZWVkLXNlYXJjaC10YWct ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoZWxm ZWVkLXNlYXJjaC10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisg ICAgYChlbGZlZWQtc2VhcmNoLXVucmVhZC1jb3VudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChlbGZlZWQtc2VhcmNoLXVucmVhZC10aXRsZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBl bGZlZWQtc2NvcmUNCisgICAgYChlbGZlZWQtc2NvcmUtZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQorICAgIGAoZWxmZWVkLXNjb3JlLWRlYnVnLWxldmVsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZWxmZWVkLXNj b3JlLWVycm9yLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBg KGVsZmVlZC1zY29yZS1pbmZvLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4p KSkNCisgICAgYChlbGZlZWQtc2NvcmUtd2Fybi1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBlbW1zDQorICAgIGAoZW1tcy1wbGF5bGlzdC10cmFjay1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZW1tcy1wbGF5bGlzdC1z ZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCis7Ozs7OyBlbmhhbmNlZC1ydWJ5LW1vZGUNCisgICAgYChlbmgtcnVieS1oZXJlZG9jLWRl bGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGVuaC1ydWJ5LW9wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYChlbmgtcnVieS1yZWdleHAtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuKSkpDQorICAgIGAoZW5oLXJ1YnktcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCisgICAgYChlbmgtcnVieS1zdHJpbmctZGVsaW1pdGVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZXJtLXN5bi1lcnJsaW5lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQorICAgIGAoZXJtLXN5bi13 YXJubGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KKzs7 Ozs7IGVwYQ0KKyAgICBgKGVwYS1maWVsZC1ib2R5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAoZXBhLWZpZWxkLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAoZXBhLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGVwYS1zdHJpbmcgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZXBhLXZhbGlkaXR5LWRpc2FibGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCisgICAgYChlcGEtdmFsaWRp dHktaGlnaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3Ro ZXIpKSkNCisgICAgYChlcGEtdmFsaWRpdHktbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCisgICAgYChlcGEtdmFsaWRpdHktbWVkaXVtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQpKSkNCis7Ozs7OyBlcXVha2UNCisgICAgYChlcXVha2UtYnVmZmVyLWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChlcXVha2Utc2hlbGwtdHlwZS1lc2hlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0 aXZlIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChlcXVha2Utc2hlbGwtdHlw ZS1yYXNoICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAscmVk LWFjdGl2ZSkpKQ0KKyAgICBgKGVxdWFrZS1zaGVsbC10eXBlLXNoZWxsICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChl cXVha2Utc2hlbGwtdHlwZS10ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6 Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGVxdWFrZS1zaGVsbC10eXBlLXZ0 ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCisgICAgYChlcXVha2UtdGFiLWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYChlcXVha2UtdGFiLWluYWN0 aXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKzs7Ozs7IGVyYw0KKyAg ICBgKGVyYy1hY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQorICAgIGAoZXJjLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQor ICAgIGAoZXJjLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChlcmMt Y29tbWFuZC1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KKyAgICBgKGVyYy1jdXJyZW50LW5pY2stZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChlcmMtZGFuZ2Vyb3VzLWhvc3Qt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBg KGVyYy1kaXJlY3QtbXNnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisg ICAgYChlcmMtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCisgICAgYChlcmMtZm9vbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFj dGl2ZSkpKQ0KKyAgICBgKGVyYy1oZWFkZXItbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCisgICAgYChlcmMtaW5wdXQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoZXJjLWludmVy c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtZGVmYXVsdC1mYWNlIDppbnZlcnNlLXZpZGVv IHQpKSkNCisgICAgYChlcmMta2V5d29yZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZXJjLW15LW5pY2stZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZXJjLW15LW5p Y2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW15LW5pY2stZmFjZSkpKQ0KKyAg ICBgKGVyYy1uaWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQorICAgIGAoZXJjLW5pY2stbXNnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChlcmMtbmljay1wcmVmaXgtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBlcmMtbmljay1kZWZhdWx0LWZhY2UpKSkNCisgICAgYChlcmMtbm90 aWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKGVy Yy1wYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQorICAgIGAoZXJjLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZXJjLXRpbWVzdGFtcC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChlcmMtdW5kZXJsaW5lLWZh Y2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UwICgo LGNsYXNzIDpiYWNrZ3JvdW5kICJ3aGl0ZSIpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTEg KCgsY2xhc3MgOmJhY2tncm91bmQgImJsYWNrIikpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNl MTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnKSkpDQorICAgIGAoYmc6ZXJj LWNvbG9yLWZhY2UxMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnKSkpDQor ICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0 bGUtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTEzICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxtYWdlbnRhLXN1YnRsZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlMTQgKCgsY2xh c3MgOmJhY2tncm91bmQgImdyYXk2MCIpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTE1ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5ODAiKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2Uy ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcpKSkNCisgICAgYChiZzplcmMt Y29sb3ItZmFjZTMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkNCisg ICAgYChiZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1zdWJ0bGUt YmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTUgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJl ZC1pbnRlbnNlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U2ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxtYWdlbnRhLXJlZmluZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlNyAo KCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRsZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1j b2xvci1mYWNlOCAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXJlZmluZS1iZykpKQ0KKyAg ICBgKGJnOmVyYy1jb2xvci1mYWNlOSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tc3VidGxl LWJnKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJ3 aGl0ZSIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTEgKCgsY2xhc3MgOmZvcmVncm91bmQg ImJsYWNrIikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlMTAgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTExICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlMTIgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTEzICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNl MTQgKCgsY2xhc3MgOmZvcmVncm91bmQgImdyYXk2MCIpKSkNCisgICAgYChmZzplcmMtY29sb3It ZmFjZTE1ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJncmF5ODAiKSkpDQorICAgIGAoZmc6ZXJjLWNv bG9yLWZhY2UyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBg KGZnOmVyYy1jb2xvci1mYWNlMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAg YChmZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBg KGZnOmVyYy1jb2xvci1mYWNlNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAg ICBgKGZnOmVyYy1jb2xvci1mYWNlNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTcgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTggKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTkgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGVyb3MNCisgICAg YChlcm9zLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEg OmNvbG9yICxibHVlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCis7Ozs7OyBlcnQNCisg ICAgYChlcnQtdGVzdC1yZXN1bHQtZXhwZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGVydC10ZXN0LXJlc3VsdC11bmV4cGVjdGVkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorOzs7OzsgZXNoZWxs DQorICAgIGAoZXNoZWxsLWxzLWFyY2hpdmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChlc2hlbGwtbHMtYmFja3VwICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAoZXNoZWxsLWxzLWNsdXR0ZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChlc2hlbGwtbHMtZGlyZWN0b3J5ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZXNoZWxs LWxzLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAg IGAoZXNoZWxsLWxzLW1pc3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1yZWQpKSkNCisgICAgYChlc2hlbGwtbHMtcHJvZHVjdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZXNoZWxsLWxzLXJlYWRvbmx5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChlc2hlbGwtbHMtc3BlY2lhbCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZXNo ZWxsLWxzLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KKyAgICBgKGVz aGVsbC1scy11bnJlYWRhYmxlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChlc2hlbGwtcHJvbXB0ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWJvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXRoZW1lcy0tcHJvbXB0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn cmVlbi1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLW51 YW5jZWQtYmcgZ3JlZW4tYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVl bi1yZWZpbmUtYmcgZmctbWFpbikpKSkNCis7Ozs7OyBlc2hlbGwtZnJpbmdlLXN0YXR1cw0KKyAg ICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLWZhaWx1cmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZCkpKQ0KKyAgICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLXN1Y2Nlc3MgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorOzs7OzsgZXNoZWxsLWdpdC1wcm9tcHQNCisgICAgYChlc2hlbGwt Z2l0LXByb21wdC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAg IGAoZXNoZWxsLWdpdC1wcm9tcHQtYnJhbmNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZXhpdC1mYWls LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJv bXB0LWV4aXQtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAg ICBgKGVzaGVsbC1naXQtcHJvbXB0LW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGluZS1jbGVhbi1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1yZWZpbmUtYmcpKSkNCisgICAgYChlc2hlbGwt Z2l0LXByb21wdC1wb3dlcmxpbmUtZGlyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUt cmVmaW5lLWJnKSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcG93ZXJsaW5lLW5vdC1jbGVh bi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1iZykpKQ0KKyAgICBg KGVzaGVsbC1naXQtcHJvbXB0LXJvYnlydXNzZWxsLWJyYW5jaC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQt ZGlydHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZXNoZWxs LWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtZ2l0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUpKSkNCis7Ozs7OyBlc2hlbGwtcHJvbXB0LWV4dHJhcyAoZXBlKQ0KKyAgICBgKGVwZS1kaXIt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxibHVl KSkpDQorICAgIGAoZXBlLWdpdC1kaXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KKyAgICBgKGVwZS1naXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQpKSkNCisgICAgYChlcGUtcGlwZWxpbmUtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKGVwZS1waXBlbGluZS1ob3N0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChlcGUtcGlwZWxpbmUtdGltZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChlcGUtcGlw ZWxpbmUtdXNlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo ZXBlLXJlbW90ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChlcGUtc3RhdHVzLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZXBlLXZlbnYtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorOzs7 OzsgZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmcNCisgICAgYChlc2hlbGwtc3ludGF4LWhpZ2hs aWdodGluZy1hbGlhcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAo ZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctY29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCisgICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1kaXJlY3Rv cnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGVzaGVsbC1zeW50 YXgtaGlnaGxpZ2h0aW5nLWVudnZhci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWludmFsaWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGln aHRpbmctbGlzcC1mdW5jdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctc2hlbGwtY29tbWFuZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVzaGVsbC1zeW50 YXgtaGlnaGxpZ2h0aW5nLXN0cmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KKzs7Ozs7IGV2aWwtbW9kZQ0KKyAgICBgKGV2aWwtZXgtY29tbWFuZHMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZXZpbC1leC1pbmZvICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGV2aWwtZXgtbGF6 eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkN CisgICAgYChldmlsLWV4LXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLWdyZWVuKSkpDQorICAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLW1hdGNoZXMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCisgICAg YChldmlsLWV4LXN1YnN0aXR1dGUtcmVwbGFjZW1lbnQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVz LXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCis7Ozs7OyBldmlsLWdvZ2dsZXMNCisgICAg YChldmlsLWdvZ2dsZXMtY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1jb21tZW50YXJ5LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsIG1vZHVzLXRoZW1lLXNs YW50KSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtZGVs ZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KKyAg ICBgKGV2aWwtZ29nZ2xlcy1maWxsLWFuZC1tb3ZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZp bC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1pbmRlbnQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQorICAgIGAo ZXZpbC1nb2dnbGVzLWpvaW4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtZ3JlZW4pKSkNCisgICAgYChldmlsLWdvZ2dsZXMtbmVyZC1jb21tZW50ZXItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtY29tbWVudGFyeS1mYWNlKSkpDQorICAgIGAoZXZp bC1nb2dnbGVzLXBhc3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LWN5YW4pKSkNCisgICAgYChldmlsLWdvZ2dsZXMtcmVjb3JkLW1hY3JvLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZXZpbC1nb2dnbGVz LXJlcGxhY2Utd2l0aC1yZWdpc3Rlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXNldC1tYXJrZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCisgICAgYChl dmlsLWdvZ2dsZXMtc2hpZnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVm YXVsdC1mYWNlKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXN1cnJvdW5kLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xl cy15YW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkN Cis7Ozs7OyBldmlsLXZpc3VhbC1tYXJrLW1vZGUNCisgICAgYChldmlsLXZpc3VhbC1tYXJrLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorOzs7 OzsgZXd3DQorICAgIGAoZXd3LWludmFsaWQtY2VydGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChld3ctdmFsaWQtY2VydGlmaWNhdGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGV3dy1mb3JtLWNoZWNrYm94ICgo LGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVs ZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChld3ctZm9ybS1maWxlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEg OmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAs YmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZXd3LWZvcm0tc2VsZWN0 ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWNoZWNrYm94KSkpDQorICAgIGAoZXd3LWZvcm0t c3VibWl0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWZpbGUpKSkNCisgICAgYChld3ctZm9y bS10ZXh0ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6 c3R5bGUgbm9uZSkgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZl KSkpDQorICAgIGAoZXd3LWZvcm0tdGV4dGFyZWEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGV5ZWJyb3dzZQ0KKyAgICBgKGV5ZWJy b3dzZS1tb2RlLWxpbmUtYWN0aXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWN0aXZlKSkpDQorOzs7OzsgZmFuY3ktZGFiYnJldg0KKyAgICBgKGZhbmN5LWRhYmJy ZXYtbWVudS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGZhbmN5LWRhYmJyZXYtcHJldmlldy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQgOnVuZGVybGluZSB0KSkpDQorICAgIGAoZmFuY3ktZGFiYnJldi1zZWxl Y3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuIGJv bGQpKSkpDQorOzs7OzsgZmx5Y2hlY2sNCisgICAgYChmbHljaGVjay1lcnJvcg0KKyAgICAgICgo LChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQor ICAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0K KyAgICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxpbmUgdCkp KQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtY2hlY2tlci1uYW1lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtY29s dW1uLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAg IGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1ib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWZp bGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZmx5Y2hlY2stZXJy b3ItbGlzdC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkp KQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1pZC13aXRoLWV4 cGxhaW5lciAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1lcnJvci1saXN0LWlkIDpib3ggdCkp KQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtbGluZS1udW1iZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxp c3Qtd2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZmx5Y2hl Y2stZnJpbmdlLWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQp KSkNCisgICAgYChmbHljaGVjay1mcmluZ2UtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1mcmluZ2UtY3lhbikpKQ0KKyAgICBgKGZseWNoZWNrLWZyaW5nZS13YXJuaW5nICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCisgICAgYChmbHljaGVj ay1pbmZvDQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1ub3Rl IDpzdHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3Rl IDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGZseWNoZWNrLXZlcmlmeS1zZWxlY3QtY2hlY2tlciAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1 dHRvbikpKSkNCisgICAgYChmbHljaGVjay13YXJuaW5nDQorICAgICAgKCgsKGFwcGVuZCAnKChz dXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDp1bmRl cmxpbmUgKDpjb2xvciAsZmctbGFuZy13YXJuaW5nIDpzdHlsZSB3YXZlKSkNCisgICAgICAgKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy13YXJuaW5nIDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7 IGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZQ0KKyAgICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGlu ZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS1lcnJvcikpKQ0K KyAgICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZmx5Y2hlY2stZnJpbmdlLWluZm8pKSkNCisgICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxp bmUtcnVubmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmct aW5hY3RpdmUpKSkNCisgICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtaW5mby1mYWNlICgo LGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS13YXJuaW5nKSkpDQorOzs7OzsgZmx5Y2hl Y2staW5kaWNhdG9yDQorICAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWRpc2FibGVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0K KyAgICBgKGZseWNoZWNrLWluZGljYXRvci1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZmx5Y2hlY2staW5k aWNhdG9yLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChmbHljaGVjay1pbmRpY2F0b3ItcnVubmluZyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2 ZSkpKQ0KKyAgICBgKGZseWNoZWNrLWluZGljYXRvci1zdWNjZXNzICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGZs eWNoZWNrLWluZGljYXRvci13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJv bGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCis7Ozs7OyBmbHljaGVjay1wb3NmcmFt ZQ0KKyAgICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtYm9yZGVyLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGZseWNoZWNrLXBvc2ZyYW1l LWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQor ICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZseWNoZWNrLXBvc2ZyYW1l LWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQor ICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGZseW1ha2UNCisgICAgYChmbHltYWtl LWVycm9yDQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJv ciA6c3R5bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJy b3IgOnVuZGVybGluZSB0KSkpDQorICAgIGAoZmx5bWFrZS1ub3RlDQorICAgICAgKCgsKGFwcGVu ZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAg IDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1ub3RlIDpzdHlsZSB3YXZlKSkNCisgICAgICAg KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBg KGZseW1ha2Utd2FybmluZw0KKyAgICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGlu ZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZn LWxhbmctd2FybmluZyA6c3R5bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBmbHlzcGVsbA0KKyAgICBg KGZseXNwZWxsLWR1cGxpY2F0ZQ0KKyAgICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVy bGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAgICA6dW5kZXJsaW5lICg6Y29sb3Ig LGZnLWxhbmctd2FybmluZyA6c3R5bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChmbHlzcGVsbC1pbmNv cnJlY3QNCisgICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3 YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9y IDpzdHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJv ciA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBmbHlzcGVsbC1jb3JyZWN0DQorICAgIGAoZmx5c3Bl bGwtY29ycmVjdC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtZ3JlZW4pKSkNCis7Ozs7OyBmbHgNCisgICAgYChmbHgtaGlnaGxpZ2h0LWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtbWFn ZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt bnVhbmNlZC1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkp KQ0KKzs7Ozs7IGZyZWV6ZS1pdA0KKyAgICBgKGZyZWV6ZS1pdC1zaG93ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKzs7Ozs7IGZy b2ctbWVudQ0KKyAgICBgKGZyb2ctbWVudS1hY3Rpb24ta2V5YmluZGluZy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZyb2ctbWVudS1hY3Rpb25z LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChmcm9nLW1lbnUt Ym9yZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChmcm9nLW1l bnUtY2FuZGlkYXRlcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAg IGAoZnJvZy1tZW51LXBvc2ZyYW1lLWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGltKSkpDQorICAgIGAoZnJvZy1tZW51LXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQorOzs7OzsgZm9jdXMNCisgICAgYChmb2N1cy11bmZvY3VzZWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKzs7Ozs7IGZvbGQtdGhpcw0KKyAg ICBgKGZvbGQtdGhpcy1vdmVybGF5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtbWlsZCkpKQ0KKzs7Ozs7IGZvbnQtbG9jaw0KKyAgICBgKGZvbnQtbG9jay1idWlsdGluLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEt YWx0LWZhaW50IG1hZ2VudGEtYWx0LW90aGVyKSkpKQ0KKyAgICBgKGZvbnQtbG9jay1jb21tZW50 LWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb21tZW50LWZhY2Up KSkNCisgICAgYChmb250LWxvY2stY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy10aGVtZXMtLXN5bnRheC1jb21tZW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmZy1hbHQgZmctY29tbWVudC15ZWxsb3cpKSkpDQorICAgIGAoZm9udC1s b2NrLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmEN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhl ciBibHVlLWFsdC1vdGhlci1mYWludCBtYWdlbnRhLWFsdCkpKSkNCisgICAgYChmb250LWxvY2st ZG9jLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZG9jc3RyaW5n DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWRvY3N0cmluZyBjeWFu LWFsdC1vdGhlci1mYWludCBncmVlbi1hbHQtZmFpbnQgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkp DQorICAgIGAoZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLXN5bnRheC1leHRyYQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50IHJlZC1hbHQtb3RoZXIpKSkpDQorICAg IGAoZm9udC1sb2NrLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1i b2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVt ZXMtLXN5bnRheC1leHRyYQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQgY3lhbi1hbHQtb3Ro ZXIpKSkpDQorICAgIGAoZm9udC1sb2NrLW5lZ2F0aW9uLWNoYXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1ib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1mb3JlZ3JvdW5kDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LWZhaW50 KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLXN5bnRheC1mb3JlZ3JvdW5kDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXIgcmVkLWFsdC1vdGhlci1mYWludCkpKSkN CisgICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWJhY2tzbGFzaCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gpKSkNCisgICAg YChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCisgICAgYChmb250 LWxvY2stc3RyaW5nLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtc3RyaW5n DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUt YWx0LWZhaW50IGdyZWVuIGdyZWVuKSkpKQ0KKyAgICBgKGZvbnQtbG9jay10eXBlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIG1hZ2VudGEtYWx0LWZhaW50 IG1hZ2VudGEtYWx0KSkpKQ0KKyAgICBgKGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCBibHVlKSkpKQ0KKyAg ICBgKGZvbnQtbG9jay13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt Ym9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1zeW50YXgtZm9yZWdyb3VuZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgeWVsbG93LWFjdGl2ZSB5ZWxsb3ctYWx0LWZhaW50KSkpKQ0KKzs7Ozs7IGZvcmdl DQorICAgIGAoZm9yZ2UtcG9zdC1hdXRob3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZvcmdlLXBvc3QtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZm9yZ2UtdG9waWMtY2xvc2VkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChmb3JnZS10b3BpYy1tZXJnZWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGZvcmdlLXRvcGljLW9wZW4gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGZvcmdlLXRvcGlj LXVubWVyZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQorICAgIGAoZm9yZ2UtdG9waWMtdW5yZWFkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBmb3VudGFpbi1tb2RlDQorICAg IGAoZm91bnRhaW4tY2hhcmFjdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KKyAgICBgKGZvdW50YWluLWNvbW1lbnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGZvdW50YWluLWRpYWxvZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChmb3VudGFpbi1tZXRhZGF0 YS1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZv dW50YWluLW1ldGFkYXRhLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAg IGAoZm91bnRhaW4tbm9uLXByaW50aW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN CisgICAgYChmb3VudGFpbi1ub3RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50 IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChmb3VudGFpbi1wYWdlLWJyZWFrICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChmb3VudGFp bi1wYWdlLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0 LW90aGVyKSkpDQorICAgIGAoZm91bnRhaW4tcGFyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCisgICAgYChmb3VudGFpbi1zY2VuZS1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGZvdW50YWluLXNlY3Rp b24taGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCisg ICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTEpKSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMiAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCisgICAgYChmb3VudGFpbi1z ZWN0aW9uLWhlYWRpbmctMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMp KSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctNCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmct NSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCisgICAgYChmb3Vu dGFpbi1zeW5vcHNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChm b3VudGFpbi10cmFucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K Kzs7Ozs7IGdlaXNlcg0KKyAgICBgKGdlaXNlci1mb250LWxvY2stYXV0b2RvYy1jdXJyZW50LWFy ZyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAg IGAoZ2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWlkZW50aWZpZXIgKCgsY2xhc3MgOmluaGVyaXQg Zm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLWRvYy1i dXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1kb2NzdHJpbmcp KSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLWRvYy1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbikpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2stZXJyb3ItbGluayAoKCxjbGFzcyA6aW5o ZXJpdCBidXR0b24gOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2st aW1hZ2UtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0KSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBsLWlucHV0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtb3V0cHV0ICgoLGNsYXNz IDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChnZWlzZXItZm9udC1s b2NrLXJlcGwtcHJvbXB0ICgoLGNsYXNzIDppbmhlcml0IG1pbmlidWZmZXItcHJvbXB0KSkpDQor ICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk KSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uKSkpDQorOzs7OzsgZ2l0LWNvbW1pdA0KKyAgICBgKGdpdC1jb21taXQtY29tbWVudC1h Y3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBg KGdpdC1jb21taXQtY29tbWVudC1icmFuY2gtbG9jYWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZ2l0LWNvbW1pdC1j b21tZW50LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWRl dGFjaGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxj eWFuLWFsdCkpKQ0KKyAgICBgKGdpdC1jb21taXQtY29tbWVudC1maWxlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtY29tbWVudA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZnLXNwZWNpYWwtY29sZCByZWQtbnVhbmNlZC1mZykp KSkNCisgICAgYChnaXQtY29tbWl0LWNvbW1lbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCAo Ym9sZCBtb2R1cy10aGVtZS1zbGFudCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1jb21tZW50DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctZGltIGZnLXNwZWNpYWwtd2FybSkp KSkNCisgICAgYChnaXQtY29tbWl0LWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCisgICAgYChnaXQtY29tbWl0LWtub3duLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZ2l0LWNvbW1pdC1ub25lbXB0eS1z ZWNvbmQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkp DQorICAgIGAoZ2l0LWNvbW1pdC1vdmVybG9uZy1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCisgICAgYChnaXQtY29tbWl0LXBzZXVkby1oZWFk ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChnaXQtY29tbWl0LXN1bW1h cnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKzs7Ozs7IGdp dC1ndXR0ZXINCisgICAgYChnaXQtZ3V0dGVyOmFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGdpdC1ndXR0ZXI6ZGVsZXRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZ2l0LWd1dHRlcjpt b2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQor ICAgIGAoZ2l0LWd1dHRlcjpzZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt ZnJpbmdlLWN5YW4pKSkNCisgICAgYChnaXQtZ3V0dGVyOnVuY2hhbmdlZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0KKzs7Ozs7IGdpdC1ndXR0ZXItZnIN CisgICAgYChnaXQtZ3V0dGVyLWZyOmFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGdpdC1ndXR0ZXItZnI6ZGVsZXRlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZ2l0LWd1dHRlci1mcjpt b2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQor Ozs7OzsgZ2l0LXtndXR0ZXIsZnJpbmdlfSsNCisgICAgYChnaXQtZ3V0dGVyKy1hZGRlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCisgICAgYChnaXQtZ3V0 dGVyKy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkN CisgICAgYChnaXQtZ3V0dGVyKy1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoZ2l0LWd1dHRlcistc2VwYXJhdG9yICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQorICAgIGAoZ2l0LWd1dHRlcist dW5jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhKSkp DQorICAgIGAoZ2l0LWd1dHRlci1mcistYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZnJpbmdlLWdyZWVuKSkpDQorICAgIGAoZ2l0LWd1dHRlci1mcistZGVsZXRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZ2l0LWd1dHRlci1m cistbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykp KQ0KKzs7Ozs7IGdpdC1sZW5zDQorICAgIGAoZ2l0LWxlbnMtYWRkZWQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChnaXQtbGVucy1kZWxldGVkICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGdpdC1sZW5z LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4xIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQorICAgIGAoZ2l0LWxlbnMtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ2l0LWxlbnMtcmVuYW1lZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorOzs7OzsgZ2l0LXJlYmFzZQ0K KyAgICBgKGdpdC1yZWJhc2UtY29tbWVudC1oYXNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdGhlbWVzLS1zeW50YXgtY29tbWVudA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZnLXNwZWNpYWwtY29sZCByZWQtbnVhbmNlZC1mZykpKSkNCisgICAgYChn aXQtcmViYXNlLWNvbW1lbnQtaGVhZGluZyAgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMt dGhlbWUtc2xhbnQpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmctZGltIGZnLXNwZWNpYWwtd2FybSkpKSkNCisgICAg YChnaXQtcmViYXNlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAoZ2l0LXJlYmFzZS1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KKzs7Ozs7IGdpdC10aW1lbWFjaGluZQ0KKyAgICBgKGdpdC10aW1lbWFjaGluZS1j b21taXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkp KQ0KKyAgICBgKGdpdC10aW1lbWFjaGluZS1taW5pYnVmZmVyLWF1dGhvci1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChnaXQtdGltZW1hY2hpbmUt bWluaWJ1ZmZlci1kZXRhaWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0K Kzs7Ozs7IGdpdC13YWxrdHJlZQ0KKyAgICBgKGdpdC13YWxrdHJlZS1jb21taXQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ2l0LXdhbGt0cmVlLXN5bWxpbmst ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChnaXQtd2Fsa3RyZWUtdHJl ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorOzs7OzsgZ251cw0KKyAg ICBgKGdudXMtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGdudXMt Y2l0ZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGdudXMtY2l0 ZS0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChn bnVzLWNpdGUtMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisg ICAgYChnbnVzLWNpdGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBg KGdudXMtY2l0ZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChn bnVzLWNpdGUtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChn bnVzLWNpdGUtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKGdu dXMtY2l0ZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGdudXMt Y2l0ZS03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdu dXMtY2l0ZS04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAo Z251cy1jaXRlLTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGdudXMtY2l0ZS1hdHRyaWJ1dGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChnbnVzLWVtcGhhc2lzLWJvbGQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCkpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMtYm9sZC1pdGFsaWMgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZC1pdGFsaWMpKSkNCisgICAgYChnbnVzLWVtcGhhc2lzLWhpZ2hsaWdodC13 b3JkcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAg IGAoZ251cy1lbXBoYXNpcy1pdGFsaWMgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljKSkpDQorICAg IGAoZ251cy1lbXBoYXNpcy11bmRlcmxpbmUtYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBnbnVzLWVt cGhhc2lzLWJvbGQgOnVuZGVybGluZSB0KSkpDQorICAgIGAoZ251cy1lbXBoYXNpcy11bmRlcmxp bmUtYm9sZC1pdGFsaWMgKCgsY2xhc3MgOmluaGVyaXQgZ251cy1lbXBoYXNpcy1ib2xkLWl0YWxp YyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChnbnVzLWVtcGhhc2lzLXVuZGVybGluZS1pdGFsaWMg KCgsY2xhc3MgOmluaGVyaXQgZ251cy1lbXBoYXNpcy1pdGFsaWMgOnVuZGVybGluZSB0KSkpDQor ICAgIGAoZ251cy1ncm91cC1tYWlsLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChnbnVzLWdyb3VwLW1haWwtMS1lbXB0eSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChnbnVzLWdyb3VwLW1haWwtMiAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZ251 cy1ncm91cC1tYWlsLTItZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisg ICAgYChnbnVzLWdyb3VwLW1haWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbWFpbC0zLWVtcHR5ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdudXMtZ3Jv dXAtbWFpbC1sb3cgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1u dWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1tYWlsLWxvdy1lbXB0eSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdz LTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChn bnVzLWdyb3VwLW5ld3MtMS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisg ICAgYChnbnVzLWdyb3VwLW5ld3MtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTItZW1wdHkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtMyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMtZ3Jv dXAtbmV3cy0zLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1mZykp KQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy00ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy00LWVtcHR5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdy b3VwLW5ld3MtNSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNl ZC1mZykpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy01LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy02ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGdudXMtZ3JvdXAt bmV3cy02LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChnbnVz LWdyb3VwLW5ld3MtbG93ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVu LW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtbG93LWVtcHR5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1oZWFkZXItY29u dGVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGdudXMtaGVhZGVyLWZy b20gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIgOnVu ZGVybGluZSBuaWwpKSkNCisgICAgYChnbnVzLWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KKyAgICBgKGdudXMtaGVhZGVyLW5ld3Nncm91cHMgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChnbnVzLWhlYWRlci1z dWJqZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAoZ251cy1zZXJ2ZXItYWdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGdudXMtc2VydmVyLWNsb3NlZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZ251cy1zZXJ2ZXIt Y2xvdWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisg ICAgYChnbnVzLXNlcnZlci1jbG91ZC1ob3N0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1jeWFuKSkpDQorICAgIGAoZ251cy1zZXJ2ZXItZGVuaWVkICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGdudXMtc2VydmVyLW9mZmxpbmUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ251 cy1zZXJ2ZXItb3BlbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVu KSkpDQorICAgIGAoZ251cy1zaWduYXR1cmUgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChnbnVzLXNwbGFzaCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWNhbmNlbGxlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkpKQ0KKyAgICBgKGdudXMtc3VtbWFy eS1oaWdoLWFuY2llbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtcmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChnbnVzLXN1bW1hcnktaGln aC10aWNrZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhl cikpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1oaWdoLXVuZG93bmxvYWRlZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChnbnVzLXN1bW1hcnktaGln aC11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKGdudXMtc3VtbWFyeS1sb3ctYW5jaWVudCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1sb3ctcmVhZCAoKCxj bGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGdudXMt c3VtbWFyeS1sb3ctdGlja2VkICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAs cmVkLXJlZmluZS1mZykpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1sb3ctdW5kb3dubG9hZGVkICgo LGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0K KyAgICBgKGdudXMtc3VtbWFyeS1sb3ctdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1ub3JtYWwt YW5jaWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAo Z251cy1zdW1tYXJ5LW5vcm1hbC1yZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN CisgICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXRpY2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtdW5kb3dubG9hZGVk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChnbnVzLXN1bW1hcnktbm9y bWFsLXVucmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGdudXMt c3VtbWFyeS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1 ZSkpKQ0KKzs7Ozs7IGdvbGRlbi1yYXRpby1zY3JvbGwtc2NyZWVuDQorICAgIGAoZ29sZGVuLXJh dGlvLXNjcm9sbC1oaWdobGlnaHQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFu LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGhlbG0NCisgICAgYCho ZWxtLU0teC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCisgICAgYChoZWxtLWFjdGlvbiAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkN CisgICAgYChoZWxtLWJvb2ttYXJrLWFkZHJlc3Nib29rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoaGVsbS1ib29rbWFyay1maWxl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGVsbS1ib29rbWFyay1m aWxlLW5vdC1mb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLWdudXMgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLWluZm8gKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQorICAgIGAoaGVsbS1ib29rbWFyay1tYW4gKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLXczbSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChoZWxtLWJ1ZmZlci1hcmNoaXZlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChoZWxtLWJ1ZmZl ci1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K KyAgICBgKGhlbG0tYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChoZWxtLWJ1ZmZlci1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LWFsdCkpKQ0KKyAgICBgKGhlbG0tYnVmZmVyLW5vdC1zYXZlZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KKyAgICBgKGhlbG0tYnVmZmVyLXByb2Nlc3MgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChoZWxtLWJ1ZmZlci1zYXZlZC1vdXQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQpKSkNCisg ICAgYChoZWxtLWJ1ZmZlci1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisg ICAgYChoZWxtLWNhbmRpZGF0ZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0 aXZlKSkpDQorICAgIGAoaGVsbS1jYW5kaWRhdGUtbnVtYmVyLXN1c3BlbmRlZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tY29taW50LXByb21wdHMt YnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBg KGhlbG0tY29taW50LXByb21wdHMtcHJvbXB0aWR4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tZGVsZXRlLWFzeW5jLW1lc3NhZ2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChoZWxtLWVv Yi1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0cy1wcm9t cHRpZHggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1l dGFncy1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0gOnVuZGVybGluZSB0KSkpDQor ICAgIGAoaGVsbS1mZi1iYWNrdXAtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQorICAgIGAoaGVsbS1mZi1kZW5pZWQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1j b21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1zdWJ0bGUtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLWludGVuc2UtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLW51YW5jZWQtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVk KSkpKQ0KKyAgICBgKGhlbG0tZmYtZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGhlbG0tYnVm ZmVyLWRpcmVjdG9yeSkpKQ0KKyAgICBgKGhlbG0tZmYtZGlycyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tZmYtZG90dGVk LWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGhlbG0tZmYtZG90dGVkLXN5bWxpbmstZGlyZWN0 b3J5ICgoLGNsYXNzIDppbmhlcml0IChidXR0b24gaGVsbS1mZi1kb3R0ZWQtZGlyZWN0b3J5KSkp KQ0KKyAgICBgKGhlbG0tZmYtZXhlY3V0YWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCisgICAgYChoZWxtLWZmLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChoZWxtLWZmLWZpbGUtZXh0ZW5zaW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChoZWxtLWZmLWludmFsaWQtc3ltbGluayAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KSkpKQ0KKyAgICBgKGhlbG0tZmYtcGlw ZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50 YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhKSkpKQ0KKyAgICBgKGhl bG0tZmYtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXll bGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0 bGUteWVsbG93DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LW51YW5jZWQteWVsbG93DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93 LWFsdC1vdGhlcikpKSkNCisgICAgYChoZWxtLWZmLXNvY2tldCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tZmYtc3VpZCAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1yZWZpbmUtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZWQtYWx0KSkpKQ0KKyAgICBgKGhlbG0tZmYtc3ltbGluayAoKCxjbGFzcyA6aW5o ZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4g Y3lhbi1mYWludCkpKSkNCisgICAgYChoZWxtLWZmLXRydWVuYW1lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tZmQtZmluaXNoICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChoZWxtLWdyZXAtY21kLWxpbmUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChoZWxtLWdyZXAt ZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChoZWxtLWdyZXAtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h Y3RpdmUpKSkNCisgICAgYChoZWxtLWdyZXAtbGluZW5vICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChoZWxtLWdyZXAtbWF0Y2ggKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoaGVsbS1oZWFkZXIgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAo aGVsbS1oZWFkZXItbGluZS1sZWZ0LW1hcmdpbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KKyAgICBgKGhlbG0taGlzdG9yeS1kZWxldGVkICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLXJlZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKyAgICBg KGhlbG0taGlzdG9yeS1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIp KSkNCisgICAgYChoZWxtLWxpc3AtY29tcGxldGlvbi1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChoZWxtLWxpc3Atc2hvdy1jb21wbGV0aW9uICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93 DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93DQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGhlbG0tbG9jYXRlLWZpbmlzaCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1tYXRjaCAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4NCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lhbg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQp KSkpDQorICAgIGAoaGVsbS1tYXRjaC1pdGVtICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0 cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXN1YnRsZS1uZXV0cmFsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGN5YW4tYWx0LW90aGVyKSkpKQ0KKyAgICBgKGhlbG0tbWluaWJ1ZmZlci1wcm9t cHQgKCgsY2xhc3MgOmluaGVyaXQgbWluaWJ1ZmZlci1wcm9tcHQpKSkNCisgICAgYChoZWxtLW1v Y2N1ci1idWZmZXIgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1m YWludCkpKSkNCisgICAgYChoZWxtLW1vZGUtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGhlbG0tbm9uLWZpbGUtYnVmZmVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChoZWxtLXByZWZhcmcgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChoZWxtLXJlc3VtZS1uZWVk LXVwZGF0ZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyKSkpKQ0KKyAgICBg KGhlbG0tc2VsZWN0aW9uICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlv bnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxl LWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVm aW5lLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt c3BlY2lhbC1jb2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaGVsbS1zZWxl Y3Rpb24tbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChoZWxtLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1t aWxkKSkpDQorICAgIGAoaGVsbS10aW1lLXpvbmUtY3VycmVudCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCisgICAgYChoZWxtLXRpbWUtem9uZS1ob21lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQorICAgIGAoaGVsbS1zb3VyY2UtaGVhZGVyICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtNCkpKSkN CisgICAgYChoZWxtLXRvcC1jb2x1bW5zICgoLGNsYXNzIDppbmhlcml0IGhlbG0taGVhZGVyKSkp DQorICAgIGAoaGVsbS11Y3MtY2hhciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1v dGhlcikpKQ0KKyAgICBgKGhlbG0tdmlzaWJsZS1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorOzs7OzsgaGVsbS1scy1naXQNCisgICAgYChoZWxtLWxz LWdpdC1hZGRlZC1jb3BpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5z ZSkpKQ0KKyAgICBgKGhlbG0tbHMtZ2l0LWFkZGVkLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQorICAgIGAoaGVsbS1scy1naXQtY29uZmxpY3Qt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0K KyAgICBgKGhlbG0tbHMtZ2l0LWRlbGV0ZWQtYW5kLXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGhlbG0tbHMtZ2l0LWRlbGV0ZWQtbm90 LXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChoZWxtLWxz LWdpdC1tb2RpZmllZC1hbmQtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1udWFuY2VkLWZnKSkpDQorICAgIGAoaGVsbS1scy1naXQtbW9kaWZpZWQtbm90LXN0YWdlZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChoZWxtLWxzLWdpdC1y ZW5hbWVkLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisg ICAgYChoZWxtLWxzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQorOzs7OzsgaGVsbS1zd2l0Y2gtc2hlbGwNCisgICAgYChoZWxtLXN3 aXRjaC1zaGVsbC1uZXctc2hlbGwtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJh LWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdl bnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorOzs7Ozsg aGVsbS14cmVmDQorICAgIGAoaGVsbS14cmVmLWZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChoZWxtLXhyZWYtZmls ZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCis7Ozs7OyBo ZWxwZnVsDQorICAgIGAoaGVscGZ1bC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctMSkpKQ0KKzs7Ozs7IGhpZ2hsaWdodCByZWdpb24gb3IgYWQtaG9jIHJlZ2V4 cA0KKyAgICBgKGhpLWJsYWNrLWIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVn cm91bmQgLGJnLW1haW4pKSkNCisgICAgYChoaS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGluZSB0KSkpDQorICAgIGAoaGktYmx1ZS1i ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAgICBgKGhp LWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGdyZWVuIDp1 bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGhpLWdyZWVuLWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGhpLXBpbmsgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCho aS1yZWQtYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAg ICBgKGhpLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICx5 ZWxsb3cgOnVuZGVybGluZSB0KSkpDQorICAgIGAoaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQorICAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChoaWdobGlnaHQt Y2hhbmdlcy1kZWxldGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIgOnVuZGVy bGluZSB0KSkpDQorICAgIGAoaGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o bC1saW5lKSkpDQorOzs7OzsgaGlnaGxpZ2h0LWJsb2Nrcw0KKyAgICBgKGhpZ2hsaWdodC1ibG9j a3MtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTItZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGln aGxpZ2h0LWJsb2Nrcy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNp YWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3Mt ZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNhbG0gOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTUtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC13YXJtIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLXNwZWNpYWwtbWlsZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhp Z2hsaWdodC1ibG9ja3MtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVw dGgtOC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7 OyBoaWdobGlnaHQtZGVmaW5lZA0KKyAgICBgKGhpZ2hsaWdodC1kZWZpbmVkLWJ1aWx0aW4tZnVu Y3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo aGlnaGxpZ2h0LWRlZmluZWQtZmFjZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC1mdW5jdGlvbi1uYW1lLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC1t YWNyby1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAg IGAoaGlnaGxpZ2h0LWRlZmluZWQtc3BlY2lhbC1mb3JtLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC12 YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBo aWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAoYGhlcy1tb2RlJykNCisgICAgYChoZXMtZXNjYXBl LWJhY2tzbGFzaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVz Y2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KKyAgICBgKGhlcy1lc2NhcGUtc2VxdWVuY2UtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xh c2gpKSkNCis7Ozs7OyBoaWdobGlnaHQtaW5kZW50YXRpb24NCisgICAgYChoaWdobGlnaHQtaW5k ZW50YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQor ICAgIGAoaGlnaGxpZ2h0LWluZGVudGF0aW9uLWN1cnJlbnQtY29sdW1uLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1udW1iZXJzDQorICAg IGAoaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dC1vdGhlcikpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1zeW1ib2wNCisgICAgYChoaWdobGlnaHQtc3lt Ym9sLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQor Ozs7OzsgaGlnaGxpZ2h0LXRoaW5nDQorICAgIGAoaGlnaGxpZ2h0LXRoaW5nICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBobC1kZWZpbmVk DQorICAgIGAoaGRlZmQtZnVuY3Rpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQor ICAgIGAoaGRlZmQtdW5kZWZpbmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQor ICAgIGAoaGRlZmQtdmFyaWFibGVzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0K Kzs7Ozs7IGhsLWZpbGwtY29sdW1uDQorICAgIGAoaGwtZmlsbC1jb2x1bW4tZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCis7Ozs7 OyBobC10b2RvDQorICAgIGAoaGwtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10 aGVtZS1zbGFudCkgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCis7Ozs7OyBoeWRyYQ0K KyAgICBgKGh5ZHJhLWZhY2UtYW1hcmFudGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQorICAgIGAoaHlkcmEtZmFjZS1ibHVlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoaHlkcmEtZmFjZS1waW5rICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAo aHlkcmEtZmFjZS1yZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQorICAgIGAoaHlkcmEtZmFjZS10ZWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4pKSkNCis7Ozs7OyBoeXBlcmxpc3QNCisgICAgYChoeXBlcmxpc3QtY29uZGl0aW9u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGh5cGVybGlzdC1oYXNodGFn ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChoeXBlcmxpc3Qtb3BlcmF0 b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoaHlwZXJsaXN0LXBh cmVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGh5cGVy bGlzdC1xdW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChoeXBl cmxpc3QtcmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGh5cGVybGlzdC1zdGFycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAg IGAoaHlwZXJsaXN0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoaHlw ZXJsaXN0LXRvcGxldmVsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCis7Ozs7OyBpY29tcGxldGUNCisgICAgYChpY29tcGxldGUtZmlyc3QtbWF0Y2ggKCgs Y2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgYmctYWx0DQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1tYWluKSkpKQ0KKzs7Ozs7IGlj b21wbGV0ZS12ZXJ0aWNhbA0KKyAgICBgKGljb21wbGV0ZS12ZXJ0aWNhbC1zZXBhcmF0b3IgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IGlkby1tb2RlDQorICAgIGAoaWRv LWZpcnN0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIGJnLWFsdA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1hY3RpdmUgZmctbWFpbikpKSkNCisgICAgYChpZG8t aW5jb21wbGV0ZS1yZWdleHAgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCisgICAgYChpZG8t aW5kaWNhdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cpKSkN CisgICAgYChpZG8tb25seS1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9u cw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuIGdyZWVuLW51YW5jZWQt YmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1pbnRlbnNlLWJnIGZn LW1haW4pKSkpDQorICAgIGAoaWRvLXN1YmRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KKyAgICBgKGlkby12aXJ0dWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCis7Ozs7OyBpZWRpdA0KKyAgICBgKGllZGl0LW9jY3VycmVuY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCisgICAgYChpZWRpdC1yZWFkLW9ubHkt b2NjdXJyZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdykp KQ0KKzs7Ozs7IGlmbGlwYg0KKyAgICBgKGlmbGlwYi1jdXJyZW50LWJ1ZmZlci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAoaWZsaXBi LW90aGVyLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCis7Ozs7 OyBpbWVudS1saXN0DQorICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTAgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCisgICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2UtMSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0yICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGltZW51LWxpc3Qt ZW50cnktZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGlt ZW51LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGltZW51 LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQorICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1z dWJhbGlzdC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnktc3ViYWxp c3QtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3Ro ZXIgOnVuZGVybGluZSB0KSkpDQorOzs7OzsgaW5kaXVtDQorICAgIGAoaW5kaXVtLWJyZWFrcG9p bnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGluZGl1 bS1mcmFtZS11cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGluZGl1bS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoaW5kaXVtLWxpdGFibGUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJt KSkpDQorICAgIGAoaW5kaXVtLXJlcGwtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChpbmRpdW0tcmVwbC1wcm9tcHQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChpbmRpdW0tcmVwbC1z dGRvdXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGluZm8N CisgICAgYChJbmZvLXF1b3RlZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRz KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpIDsg dGhlIGNhcGl0YWxpemF0aW9uIGlzIGNhbm9uaWNhbA0KKyAgICBgKGluZm8taGVhZGVyLW5vZGUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoaW5m by1oZWFkZXIteHJlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAg YChpbmZvLWluZGV4LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNoKSkpDQorICAgIGAoaW5m by1tZW51LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkN CisgICAgYChpbmZvLW1lbnUtc3RhciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAg IGAoaW5mby1ub2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChpbmZvLXRpdGxl LTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQorICAgIGAoaW5m by10aXRsZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KKyAg ICBgKGluZm8tdGl0bGUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMp KSkNCisgICAgYChpbmZvLXRpdGxlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVh ZGluZy00KSkpDQorOzs7OzsgaW5mby1jb2xvcnMNCisgICAgYChpbmZvLWNvbG9ycy1saXNwLWNv ZGUtYmxvY2sgKCgsY2xhc3MgOmluaGVyaXQgZml4ZWQtcGl0Y2gpKSkNCisgICAgYChpbmZvLWNv bG9ycy1yZWYtaXRlbS1jb21tYW5kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tY29uc3RhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tZnVuY3Rpb24g KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYt aXRlbS1tYWNybyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLW90aGVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoaW5mby1jb2xvcnMtcmVmLWl0 ZW0tc3BlY2lhbC1mb3JtICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0t c3ludGF4LWNsYXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoaW5m by1jb2xvcnMtcmVmLWl0ZW0tdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS11c2VyLW9wdGlvbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXZhcmlhYmxlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7OzsgaW50ZXJhY3Rpb24tbG9nDQorICAg IGAoaWxvZy1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCisgICAgYChpbG9nLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KKyAgICBgKGlsb2ctZWNoby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoaWxvZy1sb2FkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorICAgIGAoaWxvZy1tZXNzYWdlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGlsb2ctbm9uLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQorOzs7OzsgaW9jY3VyDQorICAgIGAoaW9jY3VyLWN1cnNvciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGlvY2N1ci1pbnZhbGlkLXJl Z2V4cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoaW9jY3VyLW1hdGNoLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAo aW9jY3VyLW1hdGNoLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLWNvbGQgOmV4dGVuZCB0KSkpDQorICAgIGAoaW9jY3VyLW51bS1saW5lLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGlvY2N1ci1vdmVy bGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgOmV4dGVu ZCB0KSkpDQorICAgIGAoaW9jY3VyLXJlZ2V4cC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgYm9sZCkpKSkNCisgICAgYChpb2NjdXItdGl0bGUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVt ZXMtc2NhbGUtNCkpKSkNCis7Ozs7OyBpc2VhcmNoLCBvY2N1ciwgYW5kIHRoZSBsaWtlDQorICAg IGAoaXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBi b2xkKSkpKQ0KKyAgICBgKGlzZWFyY2gtZmFpbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtcmVkKSkpDQorICAgIGAoaXNlYXJjaC1ncm91cC0xICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAgICBgKGlzZWFyY2gtZ3JvdXAtMiAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCisgICAgYChsYXp5 LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0K KyAgICBgKG1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkp KQ0KKyAgICBgKHF1ZXJ5LXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWlu dGVuc2UteWVsbG93IGJvbGQpKSkpDQorOzs7OzsgaXZ5DQorICAgIGAoaXZ5LWFjdGlvbiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoaXZ5LWNv bXBsZXRpb25zLWFubm90YXRpb25zICgoLGNsYXNzIDppbmhlcml0IGNvbXBsZXRpb25zLWFubm90 YXRpb25zKSkpDQorICAgIGAoaXZ5LWNvbmZpcm0tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKyAgICBgKGl2eS1jdXJyZW50LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5pbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGl2eS1jdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQg LGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCisgICAgYChpdnktZ3JlcC1pbmZvICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGl2eS1ncmVwLWxpbmUtbnVt YmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChpdnkt aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChp dnktbWF0Y2gtcmVxdWlyZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBg KGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4 dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1udWFuY2VkLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZmctYWx0KSkpKQ0KKyAgICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMiAoKCxj bGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4N CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXJlZmluZS1ncmVlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaXZ5LW1p bmlidWZmZXItbWF0Y2gtZmFjZS0zICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29t cGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVl DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0 LW90aGVyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdi b2xkKSkpKQ0KKyAgICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyAsQCht b2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVm aW5lLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChpdnktbWlu aWJ1ZmZlci1tYXRjaC1oaWdobGlnaHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1j b21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtY3lhbg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt bnVhbmNlZC1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN5YW4tYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGl2eS1tb2RpZmllZC1idWZmZXIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K KyAgICBgKGl2eS1tb2RpZmllZC1vdXRzaWRlLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKGl2eS1vcmcg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoaXZ5LXByb21w dC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBpdnktY3VycmVudC1tYXRjaCkpKQ0KKyAgICBgKGl2 eS1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChpdnktc2Vw YXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChpdnktc3ViZGly ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGl2eS12aXJ0 dWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGl2 eS15YW5rZWQtd29yZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25z DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUt Ymx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVm aW5lLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LW51YW5jZWQtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFs dCkpKSkNCis7Ozs7OyBpdnktcG9zZnJhbWUNCisgICAgYChpdnktcG9zZnJhbWUgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGl2eS1w b3NmcmFtZS1ib3JkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLWlu bmVyKSkpDQorICAgIGAoaXZ5LXBvc2ZyYW1lLWN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAs ZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKzs7Ozs7IGppcmEgKG9yZy1qaXJhKQ0K KyAgICBgKGppcmFsaWItY29tbWVudC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQp KSkNCisgICAgYChqaXJhbGliLWNvbW1lbnQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCkpKQ0KKyAgICBgKGppcmFsaWItaXNzdWUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGppcmFsaWItaXNzdWUtaW5mby1o ZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtIGJv bGQpKSkpDQorICAgIGAoamlyYWxpYi1pc3N1ZS1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KKyAgICBgKGppcmFsaWItbGluay1maWx0ZXItZmFjZSAoKCxjbGFzcyA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYChqaXJhbGliLWxpbmstaXNzdWUtZmFjZSAoKCxjbGFzcyA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYChqaXJhbGliLWxpbmstcHJvamVjdC1mYWNlICgoLGNsYXNzIDp1 bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IGpvdXJuYWxjdGwtbW9kZQ0KKyAgICBgKGpvdXJuYWxjdGwt ZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisg ICAgYChqb3VybmFsY3RsLWZpbmlzaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChqb3VybmFsY3RsLWhvc3QtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGpvdXJuYWxjdGwtcHJvY2Vzcy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGpvdXJuYWxjdGwtc3Rh cnRpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChqb3VybmFs Y3RsLXRpbWVzdGFtcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChqb3VybmFsY3RsLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBqczItbW9kZQ0KKyAgICBgKGpzMi1lcnJv ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoanMyLWV4dGVybmFsLXZhcmlh YmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGpzMi1m dW5jdGlvbi1jYWxsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoanMy LWZ1bmN0aW9uLXBhcmFtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoanMy LWluc3RhbmNlLW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCisgICAgYChqczItanNkb2MtaHRtbC10YWctZGVsaW1pdGVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoanMyLWpzZG9jLWh0bWwtdGFnLW5hbWUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChqczItanNkb2MtdGFnICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChqczItanNkb2MtdHlwZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoanMyLWpzZG9jLXZhbHVl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChqczItb2Jq ZWN0LXByb3BlcnR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoanMy LW9iamVjdC1wcm9wZXJ0eS1hY2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChqczItcHJpdmF0ZS1mdW5jdGlvbi1jYWxsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChqczItcHJpdmF0ZS1tZW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGpzMi13YXJuaW5nICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IGp1bGlhDQor ICAgIGAoanVsaWEtbWFjcm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoanVsaWEtcXVvdGVkLXN5bWJvbC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGp1cHl0ZXIN CisgICAgYChqdXB5dGVyLWV2YWwtb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQorICAgIGAoanVweXRlci1yZXBsLWlucHV0LXByb21wdCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChqdXB5dGVyLXJlcGwtb3V0 cHV0LXByb21wdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisg ICAgYChqdXB5dGVyLXJlcGwtdHJhY2ViYWNrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtcmVkKSkpDQorOzs7Ozsga2FvY2hhLXJ1bm5lcg0KKyAgICBgKGthb2NoYS1ydW5u ZXItZXJyb3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoa2FvY2hh LXJ1bm5lci1zdWNjZXNzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAg IGAoa2FvY2hhLXJ1bm5lci13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KKzs7Ozs7IGtleWNhc3QNCisgICAgYChrZXljYXN0LWNvbW1hbmQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChrZXljYXN0LWtl eSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1vZGUtbGluZS1hdHRycw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJnLW1haW4gYmx1ZS1hY3RpdmUNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZy1tYWluIGJsdWUtYWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmx1ZS1hY3RpdmUgYmx1ZS1pbnRlbnNlDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ2FsdC1zdHlsZSAtMykpKSkNCis7Ozs7OyBsaW5lIG51bWJlcnMgKGRpc3BsYXkt bGluZS1udW1iZXJzLW1vZGUgYW5kIGdsb2JhbCB2YXJpYW50KQ0KKyAgICBgKGxpbmUtbnVtYmVy ICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQorICAgIGAobGluZS1udW1iZXItY3VycmVudC1saW5lICgoLGNsYXNzIDpp bmhlcml0IGRlZmF1bHQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKGxpbmUtbnVtYmVyLW1ham9yLXRpY2sgKCgsY2xhc3MgOmluaGVyaXQgKGJv bGQgZGVmYXVsdCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNr Z3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAobGluZS1u dW1iZXItbWlub3ItdGljayAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0KQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWluYWN0aXZl DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmct aW5hY3RpdmUpKSkNCis7Ozs7OyBsc3AtbW9kZQ0KKyAgICBgKGxzcC1mYWNlLWhpZ2hsaWdodC1y ZWFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlIDp1bmRlcmxpbmUg dCkpKQ0KKyAgICBgKGxzcC1mYWNlLWhpZ2hsaWdodC10ZXh0dWFsICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQorICAgIGAobHNwLWZhY2UtaGlnaGxpZ2h0LXdy aXRlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSBib2xkKSkpKQ0K KyAgICBgKGxzcC1mYWNlLXNlbWhsLWNvbnN0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLWRlcHJlY2F0ZWQNCisgICAgICAo KCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0K KyAgICAgICAgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpDQor ICAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCisgICAg YChsc3AtZmFjZS1zZW1obC1lbnVtbWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dC1vdGhlcikpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLWZpZWxkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLWZpZWxkLXN0YXRpYyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN CisgICAgYChsc3AtZmFjZS1zZW1obC1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLW1ldGhvZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLW5hbWVzcGFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAg ICBgKGxzcC1mYWNlLXNlbWhsLXByZXByb2Nlc3NvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdC1vdGhlcikpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLXN0YXRpYy1tZXRob2QgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisg ICAgYChsc3AtZmFjZS1zZW1obC10eXBlLWNsYXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtZW51bSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXByaW1p dGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXRlbXBsYXRlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K KyAgICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtdHlwZWRlZiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFj ZS1zZW1obC12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGxz cC1mYWNlLXNlbWhsLXZhcmlhYmxlLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQorICAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFibGUtcGFyYW1ldGVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGxzcC1sZW5zLWZhY2UgKCgsY2xhc3Mg OmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGxzcC1sZW5zLW1vdXNl LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDp1 bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGxzcC11aS1kb2MtYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAobHNwLXVpLWRvYy1oZWFkZXIgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQorICAgIGAobHNw LXVpLWRvYy11cmwgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobHNwLXVpLXBl ZWstZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAg ICBgKGxzcC11aS1wZWVrLWZvb3RlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpm b3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCisgICAgYChsc3AtdWktcGVlay1oZWFkZXIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQorICAg IGAobHNwLXVpLXBlZWstaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1ibHVlKSkpDQorICAgIGAobHNwLXVpLXBlZWstbGluZS1udW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGxzcC11aS1wZWVrLWxpc3QgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKGxzcC11aS1wZWVrLXBlZWsgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGxzcC11aS1wZWVrLXNlbGVjdGlvbiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKGxzcC11aS1zaWRl bGluZS1jb2RlLWFjdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAo bHNwLXVpLXNpZGVsaW5lLWN1cnJlbnQtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhl aWdodCAwLjk5IDpib3ggKDpsaW5lLXdpZHRoIC0xIDpzdHlsZSBuaWwpIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQorICAgIGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbC1pbmZvICgo LGNsYXNzIDppbmhlcml0IGl0YWxpYyA6aGVpZ2h0IDAuOTkpKSkNCis7Ozs7OyBtYWNyb3N0ZXAN CisgICAgYChtYWNyb3N0ZXAtY29tcGlsZXItbWFjcm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBp dGFsaWMpKSkNCisgICAgYChtYWNyb3N0ZXAtZXhwYW5zaW9uLWhpZ2hsaWdodC1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcpKSkNCisgICAgYChtYWNyb3N0ZXAtZ2Vu c3ltLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSA6Ym94IHQpKSkN CisgICAgYChtYWNyb3N0ZXAtZ2Vuc3ltLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZ3JlZW4gOmJveCB0KSkpDQorICAgIGAobWFjcm9zdGVwLWdlbnN5bS0zICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdyA6Ym94IHQpKSkNCisgICAgYChtYWNy b3N0ZXAtZ2Vuc3ltLTQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkIDpi b3ggdCkpKQ0KKyAgICBgKG1hY3Jvc3RlcC1nZW5zeW0tNSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhIDpib3ggdCkpKQ0KKyAgICBgKG1hY3Jvc3RlcC1tYWNyby1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQor Ozs7OzsgbWFnaXQNCisgICAgYChtYWdpdC1iaXNlY3QtYmFkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAobWFnaXQtYmlzZWN0LWdvb2QgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hZ2l0LWJpc2VjdC1za2lwICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAobWFnaXQtYmxh bWUtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG1hZ2l0LWJsYW1l LWRpbW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobWFnaXQtYmxh bWUtaGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAo bWFnaXQtYmxhbWUtaGVhZGluZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAg IGAobWFnaXQtYmxhbWUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW51 YW5jZWQtY3lhbikpKQ0KKyAgICBgKG1hZ2l0LWJsYW1lLW1hcmdpbiAoKCxjbGFzcyA6aW5oZXJp dCBtYWdpdC1ibGFtZS1oaWdobGlnaHQpKSkNCisgICAgYChtYWdpdC1ibGFtZS1uYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hZ2l0LWJsYW1l LXN1bW1hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAo bWFnaXQtYnJhbmNoLWN1cnJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVy IDpib3ggdCkpKQ0KKyAgICBgKG1hZ2l0LWJyYW5jaC1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCisgICAgYChtYWdpdC1icmFuY2gtcmVtb3RlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LWJyYW5jaC1yZW1vdGUtaGVhZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOmJveCB0KSkpDQorICAgIGAo bWFnaXQtYnJhbmNoLXVwc3RyZWFtICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYykpKQ0KKyAgICBg KG1hZ2l0LWNoZXJyeS1lcXVpdmFsZW50ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1jaGVycnktdW5tYXRj aGVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVu c2UpKSkNCisgICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0ZXJuIG9mIGlu aGVyaXRpbmcgZnJvbSB0aGUNCisgICAgOzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZhY2VzLCB0aG91 Z2ggb25seSBmb3IgdGhlIHN0YW5kYXJkIGFjdGlvbnMsDQorICAgIDs7IG5vdCB0aGUgaGlnaGxp Z2h0ZWQgb25lcy4gIFRoaXMgaXMgYmVjYXVzZSBNYWdpdCdzIGludGVyYWN0aW9uDQorICAgIDs7 IG1vZGVsIHJlbGllcyBvbiBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgZGlmZiBodW5rLg0KKyAg ICBgKG1hZ2l0LWRpZmYtYWRkZWQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIGdyZWVuDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlm Zi1hZGRlZCkpKSkNCisgICAgYChtYWdpdC1kaWZmLWFkZGVkLWhpZ2hsaWdodCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkKSkpDQorICAgIGAobWFnaXQtZGlm Zi1iYXNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiZy1tYWluIHllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIGZnLWRpZmYtY2hhbmdlZCkp KSkNCisgICAgYChtYWdpdC1kaWZmLWJhc2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWRpZmYtZm9jdXMtY2hhbmdlZCkpKQ0KKyAgICBgKG1hZ2l0LWRpZmYtY29udGV4 dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAobWFnaXQtZGlm Zi1jb250ZXh0LWhpZ2hsaWdodCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1kaW0N CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWluYWN0 aXZlIGZnLWluYWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1kaW0gZmctYWx0KSkpKQ0KKyAgICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5n ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5nLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJp dCAobW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIGJvbGQpKSkpDQorICAgIGAobWFnaXQtZGlmZi1m aWxlLWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuKSkpDQorICAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBv ZiBpbmhlcml0aW5nIGZyb20gdGhlDQorICAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcy4N CisgICAgYChtYWdpdC1kaWZmLWh1bmstaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpi YWNrZ3JvdW5kICxiZy1hY3RpdmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChtYWdpdC1kaWZmLWh1bmst aGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmct ZGlmZi1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWhlYWRpbmcpKSkNCisgICAgYChtYWdpdC1kaWZm LWh1bmstaGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLWJsdWUpKSkNCisgICAgYChtYWdpdC1kaWZmLWh1bmstcmVnaW9uICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCisgICAgYChtYWdpdC1kaWZmLWxpbmVzLWJvdW5kYXJ5ICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobWFnaXQtZGlmZi1saW5lcy1oZWFkaW5nICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAobWFn aXQtZGlmZi1yZW1vdmVkICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIHJlZA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1udWFuY2VkLWJnIGZnLWRp ZmYtcmVtb3ZlZCkpKSkNCisgICAgYChtYWdpdC1kaWZmLXJlbW92ZWQtaGlnaGxpZ2h0ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKQ0KKyAgICBgKG1h Z2l0LWRpZmZzdGF0LWFkZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBg KG1hZ2l0LWRpZmZzdGF0LXJlbW92ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAg ICBgKG1hZ2l0LWRpbW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQor ICAgIGAobWFnaXQtZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KKyAgICBgKG1hZ2l0LWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K KyAgICBgKG1hZ2l0LWhlYWQgKCgsY2xhc3MgOmluaGVyaXQgbWFnaXQtYnJhbmNoLWxvY2FsKSkp DQorICAgIGAobWFnaXQtaGVhZGVyLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChtYWdpdC1oZWFkZXItbGluZS1rZXkgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYCht YWdpdC1oZWFkZXItbGluZS1sb2ctc2VsZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtYWdpdC1rZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQorICAgIGAobWFnaXQta2V5d29yZC1zcXVhc2ggKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hZ2l0 LWxvZy1hdXRob3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChtYWdpdC1s b2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobWFnaXQtbG9n LWdyYXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChtYWdpdC1tb2Rl LWxpbmUtcHJvY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFj dGl2ZSkpKQ0KKyAgICBgKG1hZ2l0LW1vZGUtbGluZS1wcm9jZXNzLWVycm9yICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChtYWdpdC1wcm9j ZXNzLW5nICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAobWFnaXQtcHJvY2Vzcy1v ayAoKCxjbGFzcyA6aW5oZXJpdCBzdWNjZXNzKSkpDQorICAgIGAobWFnaXQtcmVmbG9nLWFtZW5k ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVu c2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctY2hlY2tvdXQgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLW1haW4gOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKG1hZ2l0LXJlZmxv Zy1jaGVycnktcGljayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAs Z3JlZW4taW50ZW5zZSkpKQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1jb21taXQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYCht YWdpdC1yZWZsb2ctbWVyZ2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91 bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctb3RoZXIgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KKyAgICBg KG1hZ2l0LXJlZmxvZy1yZWJhc2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVn cm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1yZW1vdGUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0K KyAgICBgKG1hZ2l0LXJlZmxvZy1yZXNldCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6 Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZuYW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChtYWdpdC1yZWZuYW1lLXB1bGxyZXEgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXJlZm5hbWUtc3Rhc2gg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXJlZm5hbWUtd2lw ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChtYWdpdC1zZWN0aW9uICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChtYWdpdC1zZWN0aW9uLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KKyAgICBgKG1hZ2l0LXNlY3Rpb24taGVhZGluZy1zZWxlY3Rpb24gKCgsY2xh c3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIGJvbGQpKSkpDQorICAgIGAobWFn aXQtc2VjdGlvbi1oaWdobGlnaHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAg ICBgKG1hZ2l0LXNlcXVlbmNlLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkp KQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLWRyb3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCisgICAgYChtYWdpdC1zZXF1ZW5jZS1leGVjICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLWhlYWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAobWFnaXQtc2VxdWVuY2Utb250byAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobWFnaXQtc2VxdWVuY2UtcGFydCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLXBpY2sg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAobWFnaXQtc2VxdWVuY2Ut c3RvcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAobWFnaXQtc2lnbmF0dXJl LWJhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYCht YWdpdC1zaWduYXR1cmUtZXJyb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisg ICAgYChtYWdpdC1zaWduYXR1cmUtZXhwaXJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQorICAgIGAobWFnaXQtc2lnbmF0dXJlLWV4cGlyZWQta2V5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCisgICAgYChtYWdpdC1zaWduYXR1cmUtZ29vZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChtYWdpdC1zaWduYXR1cmUtcmV2b2tlZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKG1hZ2l0LXNpZ25hdHVyZS11bnRydXN0 ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChtYWdpdC10YWcgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCis7Ozs7OyBtYWdpdC1pbWVyZ2UN CisgICAgYChtYWdpdC1pbWVyZ2Utb3ZlcnJpZGluZy12YWx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorOzs7OzsgbWFrZS1tb2RlIChtYWtlZmlsZXMp DQorICAgIGAobWFrZWZpbGUtbWFrZXBwLXBlcmwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4t bnVhbmNlZC1iZykpKQ0KKyAgICBgKG1ha2VmaWxlLXNwYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxtYWdlbnRhLW51YW5jZWQtYmcpKSkNCis7Ozs7OyBtYW4NCisgICAgYChNYW4tb3ZlcnN0cmlr ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo TWFuLXJldmVyc2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEp KSkNCisgICAgYChNYW4tdW5kZXJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuIDp1bmRl cmxpbmUgdCkpKQ0KKzs7Ozs7IG1hcmtkb3duLW1vZGUNCisgICAgYChtYXJrZG93bi1ibG9ja3F1 b3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmtkb3duLWJvbGQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQorICAgIGAobWFya2Rvd24tY29kZS1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmV4dGVuZCB0KSkp DQorICAgIGAobWFya2Rvd24tY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay1jb21tZW50LWZhY2UpKSkNCisgICAgYChtYXJrZG93bi1mb290bm90ZS1tYXJrZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG1h cmtkb3duLWZvb3Rub3RlLXRleHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z bGFudCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1hcmtkb3duLWdmbS1jaGVja2Jv eC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1h cmtkb3duLWhlYWRlci1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1ib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZmFj ZSAoKHQgbmlsKSkpDQorICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtMSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZmFj ZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KKyAgICBgKG1h cmtkb3duLWhlYWRlci1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGlu Zy0zKSkpDQorICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS01ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KKyAgICBgKG1hcmtkb3du LWhlYWRlci1mYWNlLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy02KSkp DQorICAgIGAobWFya2Rvd24taGVhZGVyLXJ1bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtYXJrZG93bi1oci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K KyAgICBgKG1hcmtkb3duLWh0bWwtYXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFya2Rvd24taHRtbC1hdHRyLXZh bHVlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KKyAgICBgKG1hcmtkb3duLWh0bWwtZW50aXR5LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFya2Rvd24taHRtbC10YWctZGVsaW1p dGVyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1taWxkKSkpDQorICAgIGAobWFya2Rvd24taHRtbC10YWctbmFtZS1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBg KG1hcmtkb3duLWlubGluZS1jb2RlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhl ZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKG1h cmtkb3duLWl0YWxpYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFya2Rvd24tbGFuZ3VhZ2UtaW5mby1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChtYXJrZG93bi1sYW5ndWFnZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hcmtk b3duLWxpbmUtYnJlYWstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt Y3lhbiA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChtYXJrZG93bi1saW5rLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobWFya2Rvd24tbGluay10aXRsZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCisgICAgYChtYXJrZG93bi1saXN0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KKyAgICBgKG1hcmtkb3duLW1hcmt1cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCisgICAgYChtYXJrZG93bi1tYXRoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAobWFya2Rvd24tbWV0YWRhdGEta2V5LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAobWFya2Rv d24tbWV0YWRhdGEtdmFsdWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN CisgICAgYChtYXJrZG93bi1taXNzaW5nLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChtYXJrZG93bi1wbGFpbi11cmwtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtYXJrZG93bi1saW5rLWZhY2UpKSkNCisgICAgYChtYXJrZG93bi1w cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtYXJrZG93bi1jb2RlLWZhY2UgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG1hcmtkb3duLXJlZmVyZW5jZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1hcmtkb3duLW1hcmt1cC1mYWNlKSkpDQorICAgIGAobWFya2Rvd24tc3Ry aWtlLXRocm91Z2gtZmFjZSAoKCxjbGFzcyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KKyAgICBgKG1h cmtkb3duLXRhYmxlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCisgICAgYChtYXJrZG93bi11cmwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCis7Ozs7OyBtYXJrdXAtZmFjZXMgKGBhZG9jLW1vZGUnKQ0KKyAgICBg KG1hcmt1cC1hbmNob3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkN CisgICAgYChtYXJrdXAtYXR0cmlidXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpm b3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKG1hcmt1cC1iaWctZmFjZSAoKCxjbGFz cyA6aGVpZ2h0IDEuMyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFy a3VwLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtbnVh bmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC1jb2RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZml4 ZWQtcGl0Y2ggOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChtYXJrdXAtY29tbWFuZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKG1hcmt1cC1j b21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkpKQ0K KyAgICBgKG1hcmt1cC1jb21wbGV4LXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKG1hcmt1cC1lbXBoYXNpcy1mYWNlICgoLGNsYXNz IDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAo bWFya3VwLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk KSkpDQorICAgIGAobWFya3VwLWdlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KKyAgICBgKG1hcmt1cC1pbnRlcm5hbC1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hcmt1cC1pdGFs aWMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KKyAgICBgKG1hcmt1cC1saXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAobWFya3VwLW1ldGEtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChtYXJrdXAtbWV0YS1oaWRlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hcmt1cC1wYXNzdGhyb3Vn aC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQorICAgIGAobWFya3VwLXByZXByb2Nlc3Nvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0LW90aGVyKSkpDQorICAgIGAobWFya3VwLXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChtYXJrdXAtc2Vjb25kYXJ5 LXRleHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFu Y2VkLWZnKSkpDQorICAgIGAobWFya3VwLXNtYWxsLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjgg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtYXJrdXAtc3Ryb25nLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYCht YXJrdXAtc3Vic2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmt1cC1zdXBlcnNjcmlwdC1mYWNlICgoLGNsYXNz IDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJr dXAtdGFibGUtY2VsbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt Y29sZCkpKQ0KKyAgICBgKG1hcmt1cC10YWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAobWFya3VwLXRhYmxlLXJvdy1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAobWFya3VwLXRp dGxlLTAtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDMuMCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk LWZnKSkpDQorICAgIGAobWFya3VwLXRpdGxlLTEtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDIuNCA6 Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLXRpdGxlLTItZmFj ZSAoKCxjbGFzcyA6aGVpZ2h0IDEuOCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQor ICAgIGAobWFya3VwLXRpdGxlLTMtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuNCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLXRpdGxlLTQtZmFjZSAoKCxjbGFz cyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFy a3VwLXRpdGxlLTUtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkLWZnIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKG1hcmt1cC12YWx1ZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKG1hcmt1cC12ZXJiYXRpbS1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KKzs7Ozs7 IG1lbnRvcg0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQtbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWVudG9yLWRvd25s b2FkLXByb2dyZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAg ICBgKG1lbnRvci1kb3dubG9hZC1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1zcGVlZC1kb3duICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1zcGVlZC11cCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1z dGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKG1lbnRvci1o aWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkp KQ0KKyAgICBgKG1lbnRvci10cmFja2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQorOzs7OzsgbWVzc2FnZXMNCisgICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChtZXNzYWdlLWNpdGVkLXRl eHQtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG1lc3NhZ2UtY2l0 ZWQtdGV4dC0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChtZXNz YWdlLWNpdGVkLXRleHQtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisg ICAgYChtZXNzYWdlLWhlYWRlci1jYyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KKyAgICBgKG1lc3NhZ2UtaGVhZGVyLW5hbWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1lc3NhZ2UtaGVhZGVyLW5ld3Nncm91 cHMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAg IGAobWVzc2FnZS1oZWFkZXItb3RoZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChtZXNzYWdlLWhlYWRlci1zdWJqZWN0ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAg IGAobWVzc2FnZS1oZWFkZXItdG8gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKyAgICBgKG1lc3NhZ2UtaGVhZGVyLXhoZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCisgICAgYChtZXNzYWdlLW1tbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQorICAgIGAobWVzc2FnZS1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQorOzs7OzsgbWluaWJ1ZmZlci1saW5l DQorICAgIGAobWluaWJ1ZmZlci1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorOzs7OzsgbWluaW1hcA0KKyAgICBgKG1pbmltYXAtYWN0aXZlLXJlZ2lvbi1iYWNrZ3JvdW5k ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChtaW5pbWFwLWN1cnJl bnQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBtb2RlbGluZQ0KKyAgICBgKG1vZGUtbGluZSAoKCxj bGFzcyAsQChtb2R1cy10aGVtZXMtLW1vZGUtbGluZS1hdHRycw0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmZy1hY3RpdmUgYmctYWN0aXZlIGZnLWRpbSBiZy1hY3RpdmUNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZmctYWx0IGJnLWFjdGl2ZSAnYWx0LXN0eWxlIG5pbCBiZy1t YWluKSkpKQ0KKyAgICBgKG1vZGUtbGluZS1idWZmZXItaWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCkpKQ0KKyAgICBgKG1vZGUtbGluZS1lbXBoYXNpcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKG1vZGUtbGluZS1oaWdobGlnaHQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUgOmJveCAoOmxpbmUtd2lkdGgg LTEgOnN0eWxlIHByZXNzZWQtYnV0dG9uKSkpKQ0KKyAgICBgKG1vZGUtbGluZS1pbmFjdGl2ZSAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1vZGUtbGluZS1hdHRycw0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmZy1pbmFjdGl2ZSBiZy1pbmFjdGl2ZSBmZy1hbHQgYmct ZGltDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXJlZ2lvbiBiZy1h Y3RpdmUpKSkpDQorOzs7OzsgbW9vZC1saW5lDQorICAgIGAobW9vZC1saW5lLW1vZGlmaWVkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS1z dGF0dXMtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS1zdGF0dXMtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hY3RpdmUpKSkNCisgICAgYChtb29kLWxpbmUtc3RhdHVzLW5ldXRyYWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAobW9vZC1saW5lLXN0YXR1cy1zdWNj ZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChtb29kLWxp bmUtc3RhdHVzLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVs bG93LWFjdGl2ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS11bmltcG9ydGFudCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCis7Ozs7OyBtcGRlbA0KKyAgICBgKG1wZGVsLWJyb3dz ZXItZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYCht cGRlbC1wbGF5bGlzdC1jdXJyZW50LXNvbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IG11NGUNCisgICAgYChtdTRlLWF0 dGFjaC1udW1iZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQorICAgIGAobXU0ZS1jaXRlZC0zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtNC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtNS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAobXU0ZS1jaXRlZC02LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAobXU0ZS1jaXRlZC03LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChtdTRlLWNvbXBvc2UtaGVh ZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbXU0ZS1jb21wb3NlLXNlcGFyYXRvci1mYWNlKSkp DQorICAgIGAobXU0ZS1jb21wb3NlLXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KKyAgICBgKG11NGUtY29udGFjdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAg IGAobXU0ZS1jb250ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQorICAgIGAobXU0ZS1kcmFmdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KKyAgICBgKG11NGUtZmxhZ2dlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt YWx0KSkpDQorICAgIGAobXU0ZS1mb290ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobXU0ZS1m b3J3YXJkZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN CisgICAgYChtdTRlLWhlYWRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN CisgICAgYChtdTRlLWhlYWRlci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1obC1saW5lKSkpDQorICAgIGAobXU0ZS1oZWFkZXIta2V5LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChtdTRlLWhlYWRlci1tYXJrcy1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobXU0 ZS1oZWFkZXItdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQorICAgIGAobXU0ZS1oZWFkZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG11NGUtaGlnaGxpZ2h0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIp KSkNCisgICAgYChtdTRlLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisg ICAgYChtdTRlLW1vZGVsaW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0 aXZlKSkpDQorICAgIGAobXU0ZS1tb3ZlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNsYW50IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChtdTRlLW9rLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChtdTRlLXJl Z2lvbi1jb2RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0K KyAgICBgKG11NGUtcmVwbGllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50 KSkpDQorICAgIGAobXU0ZS1zcGVjaWFsLWhlYWRlci12YWx1ZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAobXU0ZS1zeXN0 ZW0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAs ZmctbWFyay1kZWwpKSkNCisgICAgYChtdTRlLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChtdTRlLXRyYXNoZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkKSkpDQorICAgIGAobXU0ZS11bnJlYWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobXU0ZS11cmwtbnVtYmVyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisg ICAgYChtdTRlLXZpZXctYm9keS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAobXU0ZS13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2FybmluZykpKQ0K Kzs7Ozs7IG11NGUtY29udmVyc2F0aW9uDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24taGVhZGVy ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG11 NGUtY29udmVyc2F0aW9uLXNlbmRlci0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2Vu ZGVyLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG11 NGUtY29udmVyc2F0aW9uLXNlbmRlci00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN CisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LXJlZmluZS1mZykpKQ0KKyAgICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci02ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KKyAgICBgKG11NGUtY29udmVy c2F0aW9uLXNlbmRlci03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkN CisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1yZWZpbmUtZmcpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi11 bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKzs7Ozs7IG11bHRpcGxlLWN1cnNvcnMN CisgICAgYChtYy9jdXJzb3ItYmFyLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxIDpiYWNrZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAobWMvY3Vyc29yLWZhY2UgKCgsY2xhc3MgOmludmVyc2Utdmlk ZW8gdCkpKQ0KKyAgICBgKG1jL3JlZ2lvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IHJlZ2lvbikp KQ0KKzs7Ozs7IG5lb3RyZWUNCisgICAgYChuZW8tYmFubmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChuZW8tYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uKSkpDQorICAgIGAobmVvLWRpci1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG5lby1leHBhbmQtYnRuLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChuZW8tZmlsZS1saW5rLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChuZW8taGVhZGVyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG5lby1y b290LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0 KSkpDQorICAgIGAobmVvLXZjLWFkZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu KSkpDQorICAgIGAobmVvLXZjLWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAobmVvLXZjLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG5lby12Yy1lZGl0ZWQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobmVvLXZjLWlnbm9yZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChuZW8tdmMtbWlzc2luZy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAobmVvLXZjLW5lZWRz LW1lcmdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAo bmVvLXZjLW5lZWRzLXVwZGF0ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBg KG5lby12Yy1yZW1vdmVkLWZhY2UgKCgsY2xhc3MgOnN0cmlrZS10aHJvdWdoIHQpKSkNCisgICAg YChuZW8tdmMtdW5sb2NrZWQtY2hhbmdlcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1ibHVlKSkpDQorICAgIGAobmVvLXZjLXVwLXRvLWRhdGUtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAobmVvLXZjLXVzZXItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKzs7Ozs7IG5vLWVtb2ppDQorICAgIGAobm8tZW1v amkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBub3RtdWNoDQorICAgIGAo bm90bXVjaC1jcnlwdG8tZGVjcnlwdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKG5vdG11Y2gtY3J5cHRvLXBhcnQtaGVhZGVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG5vdG11Y2gtY3J5 cHRvLXNpZ25hdHVyZS1iYWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1y ZWQpKSkNCisgICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtZ29vZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCisgICAgYChub3RtdWNoLWNyeXB0by1z aWduYXR1cmUtZ29vZC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXll bGxvdykpKQ0KKyAgICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS11bmtub3duICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCisgICAgYChub3RtdWNoLWhlbGxv LWxvZ28tYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBg KG5vdG11Y2gtbWVzc2FnZS1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtbnVhbmNlZC1jeWFuKSkpDQorICAgIGAobm90bXVjaC1zZWFyY2gtZmxhZ2dlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAobm90bXVjaC1zZWFyY2gtbWF0 Y2hpbmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG5v dG11Y2gtc2VhcmNoLW5vbi1tYXRjaGluZy1hdXRob3JzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCisgICAgYChub3RtdWNoLXNlYXJjaC11bnJlYWQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkKSkpDQorICAgIGAobm90bXVjaC10YWctYWRkZWQNCisgICAgICAoKCwoYXBwZW5k ICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAg OnVuZGVybGluZSAoOmNvbG9yICxncmVlbiA6c3R5bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKG5vdG11Y2gtdGFnLWRl bGV0ZWQNCisgICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3 YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxyZWQgOnN0eWxlIHdh dmUpKQ0KKyAgICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQor ICAgIGAobm90bXVjaC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gtdGFnLWZsYWdnZWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChub3RtdWNoLXRhZy11bnJlYWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobm90bXVjaC10cmVlLW1hdGNoLWF1dGhv ci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChu b3RtdWNoLXRyZWUtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKG5vdG11Y2gtdHJlZS1tYXRjaC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gtdHJlZS1uby1tYXRjaC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChub3RtdWNoLXdhc2gt Y2l0ZWQtdGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG5vdG11Y2gt d2FzaC10b2dnbGUtYnV0dG9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IG51bTMtbW9kZQ0KKyAgICBgKG51bTMtZmFjZS1ldmVuICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKzs7Ozs7IG54bWwt bW9kZQ0KKyAgICBgKG54bWwtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQorICAgIGAobnhtbC1hdHRyaWJ1dGUtbG9jYWwtbmFtZSAoKCxjbGFzcyA6aW5o ZXJpdCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorICAgIGAobnhtbC1hdHRyaWJ1 dGUtcHJlZml4ICgoLGNsYXNzICA6aW5oZXJpdCBmb250LWxvY2stdHlwZS1mYWNlKSkpDQorICAg IGAobnhtbC1hdHRyaWJ1dGUtdmFsdWUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbnN0 YW50LWZhY2UpKSkNCisgICAgYChueG1sLWNkYXRhLXNlY3Rpb24tQ0RBVEEgKCgsY2xhc3MgOmlu aGVyaXQgZXJyb3IpKSkNCisgICAgYChueG1sLWNkYXRhLXNlY3Rpb24tZGVsaW1pdGVyICgoLGNs YXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAobnhtbC1jaGFyLXJlZi1kZWxpbWl0ZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG54bWwtY2hhci1y ZWYtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG54bWwtZGVsaW1pdGVkLWRhdGEgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KKyAgICBgKG54bWwtZGVsaW1pdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkN CisgICAgYChueG1sLWVsZW1lbnQtY29sb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCisgICAgYChueG1sLWVsZW1lbnQtbG9jYWwtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250 LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAobnhtbC1lbGVtZW50LXByZWZpeCAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAgIGAobnhtbC1l bnRpdHktcmVmLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQorICAgIGAobnhtbC1lbnRpdHktcmVmLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobnhtbC1n bHlwaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCisg ICAgYChueG1sLWhhc2ggKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZm9udC1sb2NrLXN0cmluZy1m YWNlKSkpKQ0KKyAgICBgKG54bWwtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQor ICAgIGAobnhtbC1uYW1lICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2Up KSkNCisgICAgYChueG1sLW5hbWVzcGFjZS1hdHRyaWJ1dGUtY29sb24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChueG1sLW5hbWVzcGFjZS1hdHRyaWJ1dGUtcHJlZml4 ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkNCisgICAg YChueG1sLXByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24tdGFyZ2V0ICgoLGNsYXNzIDppbmhlcml0IGZv bnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChueG1sLXByb2xvZy1rZXl3b3JkICgoLGNs YXNzIDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChueG1sLXJlZiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCisgICAgYChybmctZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCis7 Ozs7OyBvYmplZA0KKyAgICBgKG9iamVkLWhsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICwoaWYgbW9k dXMtdGhlbWVzLWludGVuc2UtaGwtbGluZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctaGwtYWx0LWludGVuc2UgYmctaGwtYWx0KSkpKQ0KKyAgICBgKG9iamVk LW1hcmsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKyAgICBgKG9iamVkLW1v ZGUtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCis7Ozs7OyBvcmRl cmxlc3MNCisgICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IGJv bGQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1l cy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1yZWZpbmUtYmcgYmx1ZS1yZWZpbmUtZmcp KSkpDQorICAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMt LXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5l LWZnKSkpKQ0KKyAgICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVmaW5lLWJnIGdyZWVuLXJlZmluZS1mZykpKSkN CisgICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3Rh bmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHllbGxvdyB5ZWxsb3ctbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgeWVsbG93LXJlZmluZS1iZyB5ZWxsb3ctcmVmaW5lLWZnKSkpKQ0KKzs7 Ozs7IG9yZw0KKyAgICBgKG9yZy1hZ2VuZGEtY2FsZW5kYXItZXZlbnQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChvcmctYWdlbmRhLWNhbGVuZGFyLXNleHAgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAob3JnLWFnZW5kYS1jbG9ja2luZyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgOmV4dGVuZCB0KSkpDQor ICAgIGAob3JnLWFnZW5kYS1jb2x1bW4tZGF0ZWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtY3VycmVudC10aW1lICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAob3JnLWFnZW5kYS1k YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAob3JnLWFnZW5kYS1kYXRl LXRvZGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVy bGluZSB0KSkpDQorICAgIGAob3JnLWFnZW5kYS1kYXRlLXdlZWtlbmQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAob3JnLWFnZW5kYS1kaWFyeSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGltbWVkLXRvZG8t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAg YChvcmctYWdlbmRhLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAg ICBgKG9yZy1hZ2VuZGEtZmlsdGVyLWNhdGVnb3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAob3JnLWFnZW5kYS1maWx0ZXItZWZm b3J0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkp DQorICAgIGAob3JnLWFnZW5kYS1maWx0ZXItcmVnZXhwICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAob3JnLWFnZW5kYS1maWx0ZXIt dGFncyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkp KQ0KKyAgICBgKG9yZy1hZ2VuZGEtcmVzdHJpY3Rpb24tbG9jayAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChvcmctYWdlbmRhLXN0cnVj dHVyZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChvcmctYXJjaGl2 ZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQor ICAgIGAob3JnLWJsb2NrICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQor ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tb3JnLWJsb2NrIGJnLWRp bSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYChvcmctYmxvY2stYmVnaW4tbGluZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVk LWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tb3JnLWJsb2NrLWRlbGltDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJnLWFsdCBmZy1zcGVjaWFsLW1pbGQpKSkpDQorICAgIGAob3JnLWJsb2Nr LWVuZC1saW5lICgoLGNsYXNzIDppbmhlcml0IG9yZy1ibG9jay1iZWdpbi1saW5lKSkpDQorICAg IGAob3JnLWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxiZy1h Y3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAob3JnLWNoZWNrYm94LXN0YXRp c3RpY3MtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctZG9uZSkpKQ0KKyAgICBgKG9yZy1jaGVj a2JveC1zdGF0aXN0aWNzLXRvZG8gKCgsY2xhc3MgOmluaGVyaXQgb3JnLXRvZG8pKSkNCisgICAg YChvcmctY2xvY2stb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChvcmctY29kZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVk LWZvbnRzKSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKG9yZy1jb2x1bW4gKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKG9yZy1jb2x1bW4tdGl0bGUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6dW5kZXJsaW5lIHQgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAg ICBgKG9yZy1kYXRlICgoLGNsYXNzIDppbmhlcml0ICwoaWYgbW9kdXMtdGhlbWVzLW5vLW1peGVk LWZvbnRzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnV0dG9uDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhidXR0b24gZml4ZWQtcGl0Y2gp KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCisgICAgYChv cmctZGF0ZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFsdCA6aW52ZXJzZS12aWRlbyB0KSkpDQorICAgIGAob3JnLWRpc3BhdGNoZXItaGlnaGxpZ2h0 ICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpKQ0KKyAgICBg KG9yZy1kb2N1bWVudC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChvcmctZG9jdW1lbnQtaW5mby1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3JnLWRvY3VtZW50LXRpdGxlICgo LGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTUpKSkpDQorICAgIGAo b3JnLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAob3JnLWRyYXdl ciAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG9yZy1lbGxpcHNpcyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCBuaWwpKSkgOyBpbmhlcml0cyBmcm9tIHRoZSBoZWFkaW5nJ3Mg Y29sb3INCisgICAgYChvcmctZm9vdG5vdGUgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWludCkpKSkN CisgICAgYChvcmctZm9ybXVsYSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRz KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQor ICAgIGAob3JnLWhhYml0LWFsZXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS15ZWxsb3cpKSkNCisgICAgYChvcmctaGFiaXQtYWxlcnQtZnV0dXJlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKG9yZy1o YWJpdC1jbGVhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFn ZW50YSkpKQ0KKyAgICBgKG9yZy1oYWJpdC1jbGVhci1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKG9yZy1oYWJpdC1vdmVy ZHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisg ICAgYChvcmctaGFiaXQtb3ZlcmR1ZS1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtcmVkKSkpDQorICAgIGAob3JnLWhhYml0LXJlYWR5LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAob3JnLWhhYml0 LXJlYWR5LWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1i bHVlKSkpDQorICAgIGAob3JnLWhlYWRsaW5lLWRvbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQtZmcpKSkNCisg ICAgYChvcmctaGVhZGxpbmUtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS12YXJp YWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChvcmctaGlk ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKG9yZy1pbmRlbnQgKCgs Y2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG9yZy1oaWRlKSkpKQ0KKyAgICBgKG9yZy1sYXRl eC1hbmQtcmVsYXRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkN CisgICAgYChvcmctbGV2ZWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTEpKSkNCisgICAgYChvcmctbGV2ZWwtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTIpKSkNCisgICAgYChvcmctbGV2ZWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTMpKSkNCisgICAgYChvcmctbGV2ZWwtNCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChvcmctbGV2ZWwtNSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCisgICAgYChvcmctbGV2ZWwtNiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCisgICAgYChvcmctbGV2ZWwtNyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkNCisgICAgYChvcmctbGV2 ZWwtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTgpKSkNCisgICAgYChv cmctbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChvcmctbGlzdC1kdCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAob3JnLW1hY3JvICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQorICAgIGAob3JnLW1ldGEtbGluZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZv bnRzKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3JnLW1vZGUtbGluZS1jbG9jayAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG9yZy1tb2RlLWxpbmUtY2xv Y2stb3ZlcnJ1biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQor ICAgIGAob3JnLXByaW9yaXR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAg IGAob3JnLXByb3BlcnR5LXZhbHVlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9u dHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctcXVvdGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc2xhbnQNCisgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1v cmctYmxvY2sgYmctZGltKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAob3JnLXNjaGVkdWxlZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAob3JnLXNjaGVkdWxlZC1wcmV2aW91c2x5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAob3JnLXNj aGVkdWxlZC10b2RheSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN CisgICAgYChvcmctc2V4cC1kYXRlICgoLGNsYXNzIDppbmhlcml0IG9yZy1kYXRlKSkpDQorICAg IGAob3JnLXNwZWNpYWwta2V5d29yZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZv bnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKG9yZy10YWJsZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVk LWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQorICAgIGAob3JnLXRhYmxlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCAoZml4 ZWQtcGl0Y2ggbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpKQ0KKyAgICBgKG9yZy10YWcg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG9yZy10 YWctZ3JvdXAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2Vk LWZnKSkpDQorICAgIGAob3JnLXRhcmdldCAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAg YChvcmctdGltZS1ncmlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisg ICAgYChvcmctdG9kbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAob3JnLXVw Y29taW5nLWRlYWRsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQor ICAgIGAob3JnLXVwY29taW5nLWRpc3RhbnQtZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1udWFuY2VkLWZnKSkpDQorICAgIGAob3JnLXZlcmJhdGltICgoLGNsYXNzICxAKG1vZHVz LXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKG9y Zy12ZXJzZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctcXVvdGUpKSkNCisgICAgYChvcmctd2Fybmlu ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQor Ozs7Ozsgb3JnLWpvdXJuYWwNCisgICAgYChvcmctam91cm5hbC1jYWxlbmRhci1lbnRyeS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWx0LW90aGVyKSkpDQorICAgIGAob3JnLWpvdXJuYWwtY2FsZW5kYXItc2NoZWR1bGVkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHJlZC1hbHQt b3RoZXIpKSkNCisgICAgYChvcmctam91cm5hbC1oaWdobGlnaHQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQorOzs7Ozsgb3JnLW5vdGVyDQorICAgIGAob3JnLW5vdGVyLW5v LW5vdGVzLWV4aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk LWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1ub3Rlci1ub3Rlcy1leGlzdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKzs7Ozs7IG9yZy1wb21v ZG9ybw0KKyAgICBgKG9yZy1wb21vZG9yby1tb2RlLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hY3RpdmUpKSkNCisgICAgYChvcmctcG9tb2Rvcm8tbW9kZS1saW5lLWJyZWFrICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1wb21vZG9yby1tb2Rl LWxpbmUtb3ZlcnRpbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFj dGl2ZSkpKQ0KKzs7Ozs7IG9yZy1yZWN1cg0KKyAgICBgKG9yZy1yZWN1ciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCis7Ozs7OyBvcmctcm9hbQ0KKyAgICBgKG9yZy1y b2FtLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdyZWVuIGdyZWVuLWZhaW50KSkpKQ0KKyAgICBgKG9yZy1yb2FtLWxpbmst Y3VycmVudCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdCBncmVlbi1hbHQtZmFpbnQpKSkp DQorICAgIGAob3JnLXJvYW0tbGluay1pbnZhbGlkICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxp bmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkIHJl ZC1mYWludCkpKSkNCisgICAgYChvcmctcm9hbS1saW5rLXNoaWVsZGVkICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB5ZWxsb3cgeWVsbG93LWZhaW50KSkpKQ0KKyAgICBgKG9yZy1yb2FtLXRhZyAoKCxj bGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IG9yZy1z dXBlcnN0YXINCisgICAgYChvcmctc3VwZXJzdGFyLWl0ZW0gKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChvcmctc3VwZXJzdGFyLWxlYWRpbmcgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCis7Ozs7OyBvcmctdGFibGUtc3RpY2t5LWhlYWRlcg0K KyAgICBgKG9yZy10YWJsZS1zdGlja3ktaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQorOzs7Ozsgb3JnLXRyZWVzY29wZQ0KKyAgICBg KG9yZy10cmVlc2NvcGUtZmFjZXMtLW1hcmtlcmludGVybmFsLW1pZGRheSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChvcmctdHJlZXNjb3BlLWZh Y2VzLS1tYXJrZXJpbnRlcm5hbC1yYW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLW1pbGQpKSkNCis7Ozs7OyBvcmlnYW1pDQorICAgIGAob3JpZ2FtaS1mb2xkLWhlYWRl ci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSA6 Ym94IHQpKSkNCisgICAgYChvcmlnYW1pLWZvbGQtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCis7Ozs7OyBvdXRsaW5l LW1vZGUNCisgICAgYChvdXRsaW5lLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVh ZGluZy0xKSkpDQorICAgIGAob3V0bGluZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhlYWRpbmctMikpKQ0KKyAgICBgKG91dGxpbmUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTMpKSkNCisgICAgYChvdXRsaW5lLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy00KSkpDQorICAgIGAob3V0bGluZS01ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KKyAgICBgKG91dGxpbmUtNiAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCisgICAgYChvdXRsaW5lLTcgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy03KSkpDQorICAgIGAob3V0bGluZS04ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctOCkpKQ0KKzs7Ozs7IG91dGxpbmUtbWlu b3ItZmFjZXMNCisgICAgYChvdXRsaW5lLW1pbm9yLTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KKzs7Ozs7IHBhY2thZ2UgKE0teCBsaXN0LXBhY2thZ2VzKQ0KKyAgICBgKHBhY2th Z2UtZGVzY3JpcHRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKHBhY2thZ2UtaGVscC1zZWN0aW9uLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChwYWNrYWdlLW5hbWUgKCgs Y2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtYXZhaWwtb2Jz byAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChwYWNr YWdlLXN0YXR1cy1hdmFpbGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCkpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWJ1aWx0LWluICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtZGVwZW5kZW5jeSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1k aXNhYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAg IGAocGFja2FnZS1zdGF0dXMtZXh0ZXJuYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtaGVsZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWluY29tcGF0ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKHBhY2thZ2Utc3Rh dHVzLWluc3RhbGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQor ICAgIGAocGFja2FnZS1zdGF0dXMtbmV3ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGdyZWVuKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtdW5zaWduZWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKzs7Ozs7IHBhZ2UtYnJlYWstbGlu ZXMNCisgICAgYChwYWdlLWJyZWFrLWxpbmVzICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmZv cmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQorOzs7OzsgcGFyYWRveA0KKyAg ICBgKHBhcmFkb3gtYXJjaGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCisgICAgYChwYXJhZG94LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBm b250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAocGFyYWRveC1jb21taXQtdGFnLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgOmJveCB0KSkpDQor ICAgIGAocGFyYWRveC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYChwYXJhZG94LWRlc2NyaXB0aW9uLWZhY2UtbXVsdGlsaW5l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChwYXJhZG94 LWRvd25sb2FkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChwYXJhZG94LWhpZ2hsaWdodC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQorICAgIGAocGFyYWRveC1ob21lcGFnZS1idXR0b24tZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQorICAgIGAocGFyYWRv eC1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu LWFjdGl2ZSkpKQ0KKyAgICBgKHBhcmFkb3gtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHBhcmFkb3gtc3Rhci1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAocGFyYWRveC1zdGFycmVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorOzs7OzsgcGFyZW4tZmFjZQ0KKyAg ICBgKHBhcmVudGhlc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCis7 Ozs7OyBwYXJyb3QNCisgICAgYChwYXJyb3Qtcm90YXRlLXJvdGF0aW9uLWhpZ2hsaWdodC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorOzs7Ozsg cGFzcw0KKyAgICBgKHBhc3MtbW9kZS1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChwYXNzLW1vZGUtZW50 cnktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKHBhc3MtbW9kZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQorOzs7OzsgcGVyc3AtbW9kZQ0KKyAgICBgKHBlcnNwLWZhY2Ut bGlnaHRlci1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtcmVkKSkpDQorICAgIGAocGVyc3AtZmFjZS1saWdodGVyLWRlZmF1bHQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChwZXJz cC1mYWNlLWxpZ2h0ZXItbmlsLXBlcnNwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLWFjdGl2ZSkpKQ0KKzs7Ozs7IHBlcnNwZWN0aXZlDQorICAgIGAocGVyc3Atc2VsZWN0 ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkp KQ0KKzs7Ozs7IHBoaS1ncmVwDQorICAgIGAocGhpLWdyZXAtaGVhZGluZy1mYWNlICAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1z Y2FsZS00KSkpKQ0KKyAgICBgKHBoaS1ncmVwLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHBoaS1ncmVwLW1hdGNoLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAocGhp LWdyZXAtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt eWVsbG93KSkpDQorICAgIGAocGhpLWdyZXAtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQorOzs7OzsgcGhpLXNlYXJjaA0KKyAgICBgKHBo aS1yZXBsYWNlLXByZXZpZXctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLW1hZ2VudGEpKSkNCisgICAgYChwaGktc2VhcmNoLWZhaWxwYXJ0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KKyAgICBgKHBoaS1zZWFyY2gtbWF0 Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKyAg ICBgKHBoaS1zZWFyY2gtc2VsZWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCis7Ozs7OyBwa2didWlsZC1tb2RlDQorICAgIGAo cGtnYnVpbGQtZXJyb3ItZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkp DQorOzs7OzsgcG9taWRvcg0KKyAgICBgKHBvbWlkb3ItYnJlYWstZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChwb21pZG9yLW92ZXJ3b3JrLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChwb21pZG9yLXNr aXAtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQorICAgIGAocG9taWRvci13b3JrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IHBvcHVwDQorICAgIGAocG9wdXAtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo cG9wdXAtaXNlYXJjaC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5l LWN5YW4gYm9sZCkpKSkNCisgICAgYChwb3B1cC1tZW51LW1vdXNlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAocG9wdXAtbWVudS1zZWxl Y3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3VidGxlLWN5YW4gYm9s ZCkpKSkNCisgICAgYChwb3B1cC1zY3JvbGwtYmFyLWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAocG9wdXAtc2Nyb2xsLWJhci1mb3JlZ3Jv dW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKHBvcHVw LXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5k ICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHBvcHVwLXRpcC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCis7Ozs7OyBwb3dlcmxpbmUNCisgICAgYChw b3dlcmxpbmUtYWN0aXZlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3Vu ZCAsYmx1ZS1mYWludCA6aW52ZXJzZS12aWRlbyB0KSkpDQorICAgIGAocG93ZXJsaW5lLWFjdGl2 ZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkLWZnKSkpDQorICAgIGAocG93ZXJsaW5lLWFjdGl2ZTIgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAocG93ZXJs aW5lLWluYWN0aXZlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChwb3dlcmxpbmUtaW5hY3RpdmUxICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQor ICAgIGAocG93ZXJsaW5lLWluYWN0aXZlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3Rp dmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorOzs7OzsgcG93ZXJsaW5lLWV2aWwNCisg ICAgYChwb3dlcmxpbmUtZXZpbC1iYXNlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1h aW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCisgICAgYChwb3dlcmxpbmUtZXZpbC1lbWFjcy1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhKSkpDQorICAg IGAocG93ZXJsaW5lLWV2aWwtaW5zZXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYWN0aXZlLWdyZWVuKSkpDQorICAgIGAocG93ZXJsaW5lLWV2aWwtbW90aW9uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChwb3dlcmxp bmUtZXZpbC1ub3JtYWwtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0IDpmb3JlZ3Jv dW5kICxiZy1tYWluKSkpDQorICAgIGAocG93ZXJsaW5lLWV2aWwtb3BlcmF0b3ItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93KSkpDQorICAgIGAocG93ZXJs aW5lLWV2aWwtcmVwbGFjZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2 ZS1yZWQpKSkNCisgICAgYChwb3dlcmxpbmUtZXZpbC12aXN1YWwtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtY3lhbikpKQ0KKzs7Ozs7IHByb2NlZA0KKyAgICBgKHBy b2NlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQor ICAgIGAocHJvY2VkLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFs dCkpKQ0KKyAgICBgKHByb2NlZC1zb3J0LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnVuZGVybGluZSB0KSkpDQorOzs7OzsgcHJvZGln eQ0KKyAgICBgKHByb2RpZ3ktZ3JlZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCisgICAgYChwcm9kaWd5LXJlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN CisgICAgYChwcm9kaWd5LXllbGxvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCis7Ozs7OyByYWNrZXQtbW9kZQ0KKyAgICBgKHJhY2tldC1kZWJ1Zy1icmVhay1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAocmFja2V0 LWRlYnVnLWxvY2Fscy1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciBu aWwpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5k ICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChyYWNrZXQtZGVidWctcmVzdWx0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgbmlsKQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCisgICAgYChyYWNrZXQtaGVyZS1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCisgICAgYChyYWNrZXQta2V5d29yZC1hcmd1bWVudC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAocmFja2V0LWxvZ2dlci1jb25maWctZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQorICAgIGAocmFja2V0LWxvZ2dlci1kZWJ1Zy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhY2tldC1sb2dnZXItaW5mby1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUpKSkNCisgICAgYChyYWNrZXQtbG9nZ2VyLXRv cGljLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCisgICAgYChyYWNrZXQtc2VsZmV2YWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAocmFja2V0LXhwLWVycm9yLWZhY2UNCisgICAgICAo KCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0K KyAgICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3YXZlKSkN CisgICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQp KSkNCis7Ozs7OyByYWluYm93LWJsb2Nrcw0KKyAgICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTEt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChy YWluYm93LWJsb2Nrcy1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN CisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKHJhaW5ib3ctYmxv Y2tzLWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKHJh aW5ib3ctYmxvY2tzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkp DQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtOC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KKyAgICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKHJhaW5ib3ctYmxvY2tzLXVubWF0Y2hl ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCis7Ozs7OyByYWluYm93LWlkZW50 aWZpZXJzDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmll cnMtaWRlbnRpZmllci0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0zICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRl bnRpZmllci00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAg IGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVy LTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKHJhaW5ib3ctaWRl bnRpZmllcnMtaWRlbnRpZmllci03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci04ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmll ci05ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAocmFpbmJvdy1p ZGVudGlmaWVycy1pZGVudGlmaWVyLTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K KyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0x MiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmll cnMtaWRlbnRpZmllci0xMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAo cmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTE0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xNSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKzs7Ozs7IHJhaW5ib3ctZGVsaW1pdGVycw0K KyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy1iYXNlLWZhY2UtZXJyb3IgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZCkpKQ0KKyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy1iYXNlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVw dGgtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAg YChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0zLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAocmFpbmJv dy1kZWxpbWl0ZXJzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC01LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0 ZXJzLWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAg IGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtOC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKHJhaW5ib3ctZGVsaW1pdGVy cy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAg YChyYWluYm93LWRlbGltaXRlcnMtbWlzbWF0Y2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtdW5t YXRjaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQor Ozs7OzsgcmNpcmMNCisgICAgYChyY2lyYy1icmlnaHQtbmljayAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKHJjaXJjLWRpbS1uaWNrICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChyY2lyYy1teS1uaWNrICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChyY2lyYy1u aWNrLWluLW1lc3NhZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQorICAgIGAocmNpcmMtbmljay1pbi1tZXNzYWdlLWZ1bGwtbGluZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChyY2lyYy1vdGhl ci1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KKyAgICBgKHJjaXJjLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJjaXJjLXNlcnZlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAocmNpcmMtdGltZXN0YW1wICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChyY2lyYy11cmwgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGluZSB0KSkpDQorOzs7OzsgcmVnZXhwLWJ1aWxk ZXIgKHJlLWJ1aWxkZXIpDQorICAgIGAocmViLW1hdGNoLTAgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCisgICAgYChyZWItbWF0Y2gtMSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKHJlYi1tYXRjaC0yICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KKyAgICBgKHJlYi1t YXRjaC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAg ICBgKHJlYi1yZWdleHAtZ3JvdXBpbmctYmFja3NsYXNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KKyAgICBgKHJlYi1yZWdl eHAtZ3JvdXBpbmctY29uc3RydWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KKzs7Ozs7IHJnIChyZy5lbCkNCisgICAgYChy Zy1jb2x1bW4tbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAocmctY29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11 bmZvY3VzZWQpKSkNCisgICAgYChyZy1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHJnLWZpbGUtdGFnLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHJnLWZpbGVuYW1lLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAg IGAocmctbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQorICAgIGAocmctbGl0ZXJhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KKyAgICBgKHJnLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAocmctcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAocmctdG9nZ2xlLW9mZi1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAocmct dG9nZ2xlLW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1h Y3RpdmUpKSkNCisgICAgYChyZy13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgcmlwZ3JlcA0KKyAgICBgKHJpcGdyZXAtY29u dGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYChy aXBncmVwLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk KSkpDQorICAgIGAocmlwZ3JlcC1oaXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKyAgICBgKHJpcGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0pKSkNCis7Ozs7OyBybWFpbA0KKyAgICBgKHJtYWlsLWhlYWRlci1uYW1l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJtYWlsLWhp Z2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KKzs7Ozs7IHJ1bGVyLW1vZGUNCisgICAgYChydWxlci1tb2RlLWNvbHVtbi1udW1iZXIgKCgs Y2xhc3MgOmluaGVyaXQgKHJ1bGVyLW1vZGUtZGVmYXVsdCBib2xkKSA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKHJ1bGVyLW1vZGUtY29tbWVudC1jb2x1bW4gKCgsY2xhc3MgOmluaGVy aXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAo cnVsZXItbW9kZS1jdXJyZW50LWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRl ZmF1bHQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlIDpib3ggdCkpKQ0KKyAgICBgKHJ1bGVyLW1v ZGUtZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQorICAgIGAocnVsZXItbW9kZS1maWxsLWNvbHVtbiAoKCxjbGFzcyA6 aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0K KyAgICBgKHJ1bGVyLW1vZGUtZnJpbmdlcyAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRl ZmF1bHQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAocnVsZXItbW9kZS1nb2Fs LWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQg LG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAocnVsZXItbW9kZS1tYXJnaW5zICgoLGNsYXNzIDpp bmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBg KHJ1bGVyLW1vZGUtcGFkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91 bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAocnVsZXItbW9kZS10YWItc3RvcCAoKCxjbGFzcyA6 aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkN Cis7Ozs7OyBzYWxsZXQNCisgICAgYChzYWxsZXQtYnVmZmVyLWNvbXByZXNzZWQgKCgsY2xhc3Mg OmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1mZykpKQ0KKyAgICBg KHNhbGxldC1idWZmZXItZGVmYXVsdC1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tbnVhbmNlZC1mZykpKQ0KKyAgICBgKHNhbGxldC1idWZmZXItZGlyZWN0b3J5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLWhl bHAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHNhbGxl dC1idWZmZXItbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1vcmRpbmFyeSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHNhbGxldC1idWZmZXItcmVhZC1vbmx5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZl ci1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChz YWxsZXQtYnVmZmVyLXNwZWNpYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAoc2FsbGV0LWZseC1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMt LWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIpKSkpDQorICAgIGAoc2FsbGV0LXJlY2VudGYt YnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAg ICBgKHNhbGxldC1yZWNlbnRmLWZpbGUtcGF0aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1taWxkKSkpDQorICAgIGAoc2FsbGV0LXJlZ2V4cC1tYXRjaCAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQt b3RoZXIpKSkpDQorICAgIGAoc2FsbGV0LXNvdXJjZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQor ICAgIGAoc2FsbGV0LXN1YnN0cmluZy1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4 dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIpKSkpDQor Ozs7Ozsgc2VsZWN0cnVtDQorICAgIGAoc2VsZWN0cnVtLWN1cnJlbnQtY2FuZGlkYXRlDQorICAg ICAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6dW5kZXJsaW5l ICxmZy1tYWluDQorICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLEAocGNhc2UgbW9kdXMtdGhl bWVzLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnb3Bpbmlv bmF0ZWQgKGxpc3QgYmctYWN0aXZlKSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KF8gKGxpc3QgYmctaW5hY3RpdmUpKSkpKSkNCisgICAgYChzZWxlY3RydW0tcHJpbWFyeS1oaWdo bGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 IG1hZ2VudGEtbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1iZyBtYWdlbnRhLXJlZmluZS1mZykpKSkNCisgICAg YChzZWxlY3RydW0tc2Vjb25kYXJ5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tbnVhbmNlZC1iZw0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tcmVmaW5lLWJn IGN5YW4tcmVmaW5lLWZnKSkpKQ0KKzs7Ozs7IHNlbWFudGljDQorICAgIGAoc2VtYW50aWMtY29t cGxldGUtaW5saW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6 dW5kZXJsaW5lIHQpKSkNCisgICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLWZpbGVsZXNzLWlu Y2x1ZGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KKyAg ICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tcHJpdmF0ZS1tZW1iZXJzLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCisgICAgYChzZW1hbnRpYy1kZWNv cmF0aW9uLW9uLXByb3RlY3RlZC1tZW1iZXJzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpbSkpKQ0KKyAgICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tdW5rbm93bi1pbmNsdWRlcyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQorICAgIGAoc2VtYW50 aWMtZGVjb3JhdGlvbi1vbi11bnBhcnNlZC1pbmNsdWRlcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAoc2VtYW50aWMtaGlnaGxpZ2h0LWVkaXRz LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKHNlbWFudGljLWhp Z2hsaWdodC1mdW5jLWN1cnJlbnQtdGFnLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCkpKQ0KKyAgICBgKHNlbWFudGljLWlkbGUtc3ltYm9sLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChzZW1hbnRpYy10YWctYm91 bmRhcnktZmFjZSAoKCxjbGFzcyA6b3ZlcmxpbmUgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKHNl bWFudGljLXVubWF0Y2hlZC1zeW50YXgtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lICxmZy1sYW5n LWVycm9yKSkpDQorOzs7Ozsgc2VzbWFuDQorICAgIGAoc2VzbWFuLWJyb3dzZXItYnV0dG9uLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKHNlc21hbi1icm93c2VyLWhpZ2hsaWdoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChzZXNtYW4tYnVmZmVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChzZXNtYW4tZGlyZWN0b3J5LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHNlc21h bi1wcm9qZWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBzaGVsbC1zY3JpcHQtbW9kZQ0KKyAgICBgKHNoLWhlcmVk b2MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoc2gtcXVvdGVkLWV4 ZWMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCis7Ozs7OyBzaG93LXBhcmVuLW1vZGUNCisgICAgYChzaG93LXBhcmVuLW1hdGNo ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tcGFyZW4gYmctcGFyZW4tbWF0Y2gNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcGFyZW4t bWF0Y2gtaW50ZW5zZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoc2hvdy1wYXJlbi1tYXRjaC1leHByZXNzaW9uICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKHNob3ctcGFy ZW4tbWlzbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkN Cis7Ozs7OyBzaHINCisgICAgYChzaHItYWJicmV2aWF0aW9uDQorICAgICAgKCgsKGFwcGVuZCAn KChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDpm b3JlZ3JvdW5kICxmZy1kb2NzdHJpbmcgOnVuZGVybGluZSAoOmNvbG9yICxmZy1hbHQgOnN0eWxl IHdhdmUpKQ0KKyAgICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kb2NzdHJpbmcgOnVuZGVy bGluZSB0KSkpDQorICAgIGAoc2hyLXNlbGVjdGVkLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCis7Ozs7OyBzaWRlLW5vdGVzDQorICAgIGAoc2lkZS1u b3RlcyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkN Cis7Ozs7OyBzaWV2ZS1tb2RlDQorICAgIGAoc2lldmUtYWN0aW9uLWNvbW1hbmRzICgoLGNsYXNz IDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYChzaWV2ZS1jb250cm9s LWNvbW1hbmRzICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisg ICAgYChzaWV2ZS10YWdnZWQtYXJndW1lbnRzICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay10 eXBlLWZhY2UpKSkNCisgICAgYChzaWV2ZS10ZXN0LWNvbW1hbmRzICgoLGNsYXNzIDppbmhlcml0 IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCis7Ozs7OyBza2V3ZXItbW9kZQ0KKyAg ICBgKHNrZXdlci1lcnJvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGlu ZSB0KSkpDQorOzs7Ozsgc21hcnQtbW9kZS1saW5lDQorICAgIGAoc21sL2NoYXJnaW5nICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChzbWwvZGlzY2hhcmdpbmcg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChzbWwvZmlsZW5hbWUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAg YChzbWwvZm9sZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChz bWwvZ2l0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkp KQ0KKyAgICBgKHNtbC9nbG9iYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0K KyAgICBgKHNtbC9saW5lLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQor ICAgIGAoc21sL21pbm9yLW1vZGVzICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCisg ICAgYChzbWwvbW9kZXMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0 aXZlKSkpDQorICAgIGAoc21sL21vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAoc21sL211bGUtaW5mbyAoKCxjbGFzcyA6 aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL25hbWUtZmlsbGluZyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9ub3QtbW9kaWZpZWQgKCgs Y2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9udW1iZXJzLXNlcGFyYXRv ciAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL291dHNpZGUtbW9k aWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisgICAg YChzbWwvcG9zaXRpb24tcGVyY2VudGFnZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkp DQorICAgIGAoc21sL3ByZWZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkp DQorICAgIGAoc21sL3Byb2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgc21sL3ByZWZpeCkpKQ0KKyAg ICBgKHNtbC9wcm9qZWN0aWxlICgoLGNsYXNzIDppbmhlcml0IHNtbC9naXQpKSkNCisgICAgYChz bWwvcmVhZC1vbmx5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0 aXZlKSkpDQorICAgIGAoc21sL3JlbW90ZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkp DQorICAgIGAoc21sL3N1ZG8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJl ZCkpKQ0KKyAgICBgKHNtbC90aW1lICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCisg ICAgYChzbWwvdmMgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dpdCkpKQ0KKyAgICBgKHNtbC92Yy1l ZGl0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkp KQ0KKzs7Ozs7IHNtYXJ0cGFyZW5zDQorICAgIGAoc3AtcGFpci1vdmVybGF5LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQorICAgIGAoc3Atc2hvdy1w YWlyLWVuY2xvc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQp KSkNCisgICAgYChzcC1zaG93LXBhaXItbWF0Y2gtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVt ZXMtLXBhcmVuIGJnLXBhcmVuLW1hdGNoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1wYXJlbi1tYXRjaC1pbnRlbnNlKQ0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAoc3Atc2hvdy1wYWlyLW1pc21hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisgICAgYChzcC13cmFwLW92ZXJsYXktY2xv c2luZy1wYWlyICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQorICAg IGAoc3Atd3JhcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5 LWZhY2UpKSkNCisgICAgYChzcC13cmFwLW92ZXJsYXktb3BlbmluZy1wYWlyICgoLGNsYXNzIDpp bmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQorICAgIGAoc3Atd3JhcC10YWctb3Zlcmxh eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQorOzs7Ozsg c21lcmdlDQorICAgIGAoc21lcmdlLWJhc2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt ZGlmZi1jaGFuZ2VkKSkpDQorICAgIGAoc21lcmdlLWxvd2VyICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWRpZmYtYWRkZWQpKSkNCisgICAgYChzbWVyZ2UtbWFya2VycyAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJh bC0yKSkpDQorICAgIGAoc21lcmdlLXJlZmluZWQtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkNCisgICAgYChzbWVyZ2UtcmVmaW5lZC1jaGFu Z2VkICgoLGNsYXNzKSkpDQorICAgIGAoc21lcmdlLXJlZmluZWQtcmVtb3ZlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkKSkpDQorICAgIGAoc21lcmdl LXVwcGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KKzs7 Ozs7IHNwYWNlbGluZQ0KKyAgICBgKHNwYWNlbGluZS1ldmlsLWVtYWNzICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhKSkpDQorICAgIGAoc3BhY2VsaW5lLWV2aWwt aW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0KKyAg ICBgKHNwYWNlbGluZS1ldmlsLW1vdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1h Y3RpdmUtYmx1ZSkpKQ0KKyAgICBgKHNwYWNlbGluZS1ldmlsLW5vcm1hbCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYChzcGFjZWxpbmUt ZXZpbC1yZXBsYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkN CisgICAgYChzcGFjZWxpbmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYWN0aXZlLWN5YW4pKSkNCisgICAgYChzcGFjZWxpbmUtZmx5Y2hlY2stZXJyb3IgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChzcGFjZWxpbmUtZmx5Y2hlY2st aW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChzcGFjZWxp bmUtZmx5Y2hlY2std2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkp KQ0KKyAgICBgKHNwYWNlbGluZS1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1mcmluZ2UtYmx1ZSkpKQ0KKyAgICBgKHNwYWNlbGluZS1tb2RpZmllZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0KKyAgICBgKHNwYWNlbGlu ZS1weXRob24tdmVudiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisg ICAgYChzcGFjZWxpbmUtcmVhZC1vbmx5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS1yZWQpKSkNCisgICAgYChzcGFjZWxpbmUtdW5tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KKzs7Ozs7IHNwZWVkYmFyDQorICAgIGAoc3Bl ZWRiYXItYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAoc3Bl ZWRiYXItZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKyAgICBgKHNwZWVkYmFyLWZpbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKHNwZWVkYmFyLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQorICAgIGAoc3BlZWRiYXItc2VsZWN0ZWQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAo c3BlZWRiYXItc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1uZXV0cmFsKSkpDQorICAgIGAoc3BlZWRiYXItdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCis7Ozs7OyBzcGVsbC1mdQ0KKyAgICBgKHNwZWxs LWZ1LWluY29ycmVjdC1mYWNlDQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJs aW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1sYW5n LWVycm9yIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBzdHJpcGVzDQorICAg IGAoc3RyaXBlcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQorOzs7 Ozsgc3VjY2Vzcw0KKyAgICBgKHN1Z2dlc3QtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorOzs7Ozsgc3dpdGNoLXdpbmRvdw0K KyAgICBgKHN3aXRjaC13aW5kb3ctYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltKSkpDQorICAgIGAoc3dpdGNoLXdpbmRvdy1sYWJlbCAoKCxjbGFzcyA6aGVpZ2h0IDMuMCA6 Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorOzs7Ozsgc3dpcGVyDQorICAgIGAoc3dpcGVy LWJhY2tncm91bmQtbWF0Y2gtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1uZXV0cmFsKSkpDQorICAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS0yICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorICAgIGAoc3dpcGVy LWJhY2tncm91bmQtbWF0Y2gtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1tYWdlbnRhKSkpDQorICAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS00ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCisgICAgYChzd2lw ZXItbGluZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkp KQ0KKyAgICBgKHN3aXBlci1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9k dXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpKQ0KKyAgICBgKHN3aXBlci1tYXRjaC1mYWNlLTIg KCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKSkNCisg ICAgYChzd2lwZXItbWF0Y2gtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRo ZW1lLWludGVuc2UtYmx1ZSkpKSkNCisgICAgYChzd2lwZXItbWF0Y2gtZmFjZS00ICgoLGNsYXNz IDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpKQ0KKzs7Ozs7IHN3b29w DQorICAgIGAoc3dvb3AtZmFjZS1oZWFkZXItZm9ybWF0LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxl LTMpKSkpDQorICAgIGAoc3dvb3AtZmFjZS1saW5lLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNj YWxlLTQpKSkpDQorICAgIGAoc3dvb3AtZmFjZS1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoc3dvb3AtZmFjZS10YXJnZXQtbGluZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgOmV4dGVuZCB0KSkpDQor ICAgIGAoc3dvb3AtZmFjZS10YXJnZXQtd29yZHMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLWN5YW4pKSkNCis7Ozs7OyBzeA0KKyAgICBgKHN4LWluYm94LWl0ZW0tdHlwZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChzeC1pbmJv eC1pdGVtLXR5cGUtdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IChzeC1pbmJveC1pdGVtLXR5cGUg Ym9sZCkpKSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LWFuc3dlcnMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC1hbnN3ZXJzLWFjY2VwdGVk ICgoLGNsYXNzIDpib3ggdCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChzeC1xdWVzdGlv bi1saXN0LWJvdW50eSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtZGF0ZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoc3gtcXVlc3Rpb24t bGlzdC1mYXZvcml0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LXBhcmVudCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtcmVhZC1xdWVzdGlv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlz dC1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAo c3gtcXVlc3Rpb24tbGlzdC1zY29yZS11cHZvdGVkICgoLGNsYXNzIDppbmhlcml0IChzeC1xdWVz dGlvbi1saXN0LXNjb3JlIGJvbGQpKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC11bnJlYWQt cXVlc3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtYWNjZXB0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 aGVpZ2h0IDEuMyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2Rl LWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93IDpib3gg KDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCkpKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWNs b3NlZC1yZWFzb24gKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtY29udGVudC1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2Rl LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChzeC1xdWVzdGlvbi1t b2RlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQor ICAgIGAoc3gtcXVlc3Rpb24tbW9kZS1rYmQtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhl aWdodCAwLjkgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLW1haW4gOnN0eWxlIHJlbGVh c2VkLWJ1dHRvbikgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1t b2RlLXNjb3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChzeC1xdWVz dGlvbi1tb2RlLXNjb3JlLWRvd252b3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkp DQorICAgIGAoc3gtcXVlc3Rpb24tbW9kZS1zY29yZS11cHZvdGVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLXRp dGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChzeC1xdWVzdGlvbi1tb2RlLXRpdGxlLWNvbW1lbnRzICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKHN4LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChzeC11c2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoc3gtdXNlci1yZXB1dGF0aW9uICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCis7Ozs7OyBzeW1ib2wtb3ZlcmxheQ0KKyAgICBgKHN5bWJvbC1v dmVybGF5LWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LXdhcm0pKSkNCisgICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0y ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAo c3ltYm9sLW92ZXJsYXktZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UteWVsbG93KSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS00ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KKyAgICBgKHN5bWJvbC1vdmVybGF5 LWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAg ICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtcmVkKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS03ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbikpKQ0KKyAgICBgKHN5bWJvbC1vdmVybGF5LWZh Y2UtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKzs7Ozs7 IHN5c2xvZy1tb2RlDQorICAgIGAoc3lzbG9nLWRlYnVnICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoc3lzbG9nLWVycm9yICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHN5c2xvZy1maWxl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKHN5c2xvZy1oaWRlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoc3lzbG9nLWhvdXIgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChzeXNsb2ctaW5mbyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAg ICBgKHN5c2xvZy1pcCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLW1pbGQgOnVuZGVybGluZSB0KSkpDQorICAgIGAoc3lzbG9nLXN1ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChzeXNsb2ctd2FybiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyB0YWItYmFy LW1vZGUNCisgICAgYCh0YWItYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodGFiLWJhci10YWIgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWFjdGl2ZSkNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRhYi1iYXItdGFiLWluYWN0aXZlICgoLGNsYXNzIDpi b3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9y ZWdyb3VuZCAsZmctZGltKSkpDQorOzs7OzsgdGFiLWxpbmUtbW9kZQ0KKyAgICBgKHRhYi1saW5l ICgoLGNsYXNzIDpoZWlnaHQgMC45NSA6YmFja2dyb3VuZCAsYmctdGFiLWJhciA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKHRhYi1saW5lLWNsb3NlLWhpZ2hsaWdodCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAodGFiLWxpbmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAo dGFiLWxpbmUtdGFiICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggMiA6 Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNr Z3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodGFi LWxpbmUtdGFiLWN1cnJlbnQgKCgsY2xhc3MgOmluaGVyaXQgdGFiLWxpbmUtdGFiKSkpDQorICAg IGAodGFiLWxpbmUtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNv bG9yICxiZy10YWItaW5hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0K Kzs7Ozs7IHRhYmxlIChidWlsdC1pbiB0YWJsZS5lbCkNCisgICAgYCh0YWJsZS1jZWxsICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcpKSkNCis7Ozs7OyB0ZWxlcGhvbmUtbGlu ZQ0KKyAgICBgKHRlbGVwaG9uZS1saW5lLWFjY2VudC1hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGZnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHRlbGVw aG9uZS1saW5lLWFjY2VudC1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1lcnJvciAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAo dGVsZXBob25lLWxpbmUtZXZpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAg ICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25l LWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVs ZXBob25lLWxpbmUtZXZpbC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUt ZXZpbCA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KKyAgICBgKHRlbGVwaG9uZS1s aW5lLWV2aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJh Y2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZp bC1ub3JtYWwgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3Vu ZCAsYmctYWx0KSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1vcGVyYXRvciAoKCxjbGFz cyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxl LWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1yZXBsYWNlICgoLGNsYXNzIDppbmhl cml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQor ICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBo b25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVs ZXBob25lLWxpbmUtcHJvamVjdGlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUp KSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS11bmltcG9ydGFudCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS13YXJuaW5nICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCis7Ozs7OyB0ZXJt DQorICAgIGAodGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKHRlcm0tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQor ICAgIGAodGVybS1jb2xvci1ibGFjayAoKCxjbGFzcyA6YmFja2dyb3VuZCAiZ3JheTM1IiA6Zm9y ZWdyb3VuZCAiZ3JheTM1IikpKQ0KKyAgICBgKHRlcm0tY29sb3ItYmx1ZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmx1ZSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHRlcm0tY29sb3ItY3lh biAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBg KHRlcm0tY29sb3ItZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuIDpmb3JlZ3JvdW5k ICxncmVlbikpKQ0KKyAgICBgKHRlcm0tY29sb3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsbWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKHRlcm0tY29sb3ItcmVk ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHRl cm0tY29sb3Itd2hpdGUgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk2NSIgOmZvcmVncm91bmQg ImdyYXk2NSIpKSkNCisgICAgYCh0ZXJtLWNvbG9yLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAseWVsbG93IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYCh0ZXJtLXVuZGVybGluZSAo KCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyB0b21hdGluaG8NCisgICAgYCh0b21hdGlu aG8tb2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAo dG9tYXRpbmhvLXBhdXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNl KSkpDQorICAgIGAodG9tYXRpbmhvLXJlc2V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKzs7Ozs7IHRyYW5zaWVudA0KKyAgICBgKHRyYW5zaWVudC1hY3RpdmUtaW5maXgg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQorICAgIGAodHJh bnNpZW50LWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KKyAgICBgKHRyYW5zaWVudC1hcmd1bWVudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAodHJhbnNpZW50LWJsdWUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHRyYW5zaWVudC1kaXNhYmxl ZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisg ICAgYCh0cmFuc2llbnQtZW5hYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKHRyYW5zaWVudC1oZWFkaW5nICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0cmFuc2llbnQtaW5h Y3RpdmUtYXJndW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKHRy YW5zaWVudC1pbmFjdGl2ZS12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQor ICAgIGAodHJhbnNpZW50LWtleSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQorICAgIGAodHJhbnNpZW50LW1pc21hdGNoZWQta2V5ICgoLGNsYXNzIDp1bmRlcmxp bmUgdCkpKQ0KKyAgICBgKHRyYW5zaWVudC1ub25zdGFuZGFyZC1rZXkgKCgsY2xhc3MgOnVuZGVy bGluZSB0KSkpDQorICAgIGAodHJhbnNpZW50LXBpbmsgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKHRyYW5zaWVudC1yZWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYCh0cmFuc2llbnQt dGVhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KKyAgICBgKHRyYW5zaWVudC11bnJlYWNoYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct dW5mb2N1c2VkKSkpDQorICAgIGAodHJhbnNpZW50LXVucmVhY2hhYmxlLWtleSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAodHJhbnNpZW50LXZhbHVlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorOzs7 OzsgdHJhc2hlZA0KKyAgICBgKHRyYXNoZWQtZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBgKHRyYXNoZWQtZGlyZWN0b3J5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAodHJhc2hlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQorICAgIGAodHJhc2hlZC1tYXJrZWQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCisgICAgYCh0cmFzaGVkLXJlc3Rv cmVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQorICAgIGAodHJh c2hlZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQpKSkpDQorOzs7Ozsg dHJlZW1hY3MNCisgICAgYCh0cmVlbWFjcy1kaXJlY3RvcnktY29sbGFwc2VkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAodHJlZW1hY3MtZGlyZWN0b3J5 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtZGlyZWN0b3J5KSkpDQorICAgIGAodHJlZW1h Y3MtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHJl ZW1hY3MtZnJpbmdlLWluZGljYXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAodHJlZW1hY3MtZ2l0LWFkZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWludGVuc2UpKSkNCisgICAgYCh0cmVlbWFjcy1naXQtY29uZmxpY3QtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCisgICAgYCh0 cmVlbWFjcy1naXQtaWdub3JlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN CisgICAgYCh0cmVlbWFjcy1naXQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLWdpdC1yZW5hbWVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAodHJlZW1hY3MtZ2l0 LXVubW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KHRyZWVtYWNzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLWhlbHAtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVu ZGVybGluZSB0KSkpDQorICAgIGAodHJlZW1hY3MtaGVscC10aXRsZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLW9uLWZhaWx1cmUt cHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0K KyAgICBgKHRyZWVtYWNzLW9uLXN1Y2Nlc3MtcHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAodHJlZW1hY3Mtcm9vdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDpoZWlnaHQg MS4yIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLWRpc2Nvbm5l Y3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtdW5yZWFkYWJsZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHRyZWVtYWNzLXJvb3QtdW5yZWFkYWJsZS1mYWNlKSkpDQorICAgIGAodHJlZW1hY3Mt cm9vdC11bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNl IDpzdHJpa2UtdGhyb3VnaCB0KSkpDQorICAgIGAodHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKHRyZWVtYWNzLXRhZ3MtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyB0dHktbWVudQ0KKyAgICBg KHR0eS1tZW51LWRpc2FibGVkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAodHR5LW1lbnUtZW5hYmxlZC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKHR0eS1tZW51LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorOzs7OzsgdHVhcmVnDQorICAgIGAoY2FtbC10eXBlcy1k ZWYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAg IGAoY2FtbC10eXBlcy1leHByLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Vi dGxlLWdyZWVuKSkpDQorICAgIGAoY2FtbC10eXBlcy1vY2MtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChjYW1sLXR5cGVzLXNjb3BlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChj YW1sLXR5cGVzLXR5cGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LW1hZ2VudGEpKSkNCisgICAgYCh0dWFyZWctZm9udC1kb3VibGUtc2VtaWNvbG9uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXByZXByb2Nlc3Nvci1mYWNlKSkpDQorICAgIGAodHVh cmVnLWZvbnQtbG9jay1hdHRyaWJ1dGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2st ZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1jb25zdHJ1Y3Rv ci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHVhcmVnLWZv bnQtbG9jay1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCBib2xkKSkpKQ0KKyAgICBgKHR1YXJlZy1mb250LWxvY2stZXh0ZW5zaW9uLW5vZGUtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAodHVhcmVnLWZvbnQtbG9jay1nb3Zlcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1pbmZp eC1leHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1mdW5jdGlv bi1uYW1lLWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWRpcmVj dGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAg YCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZXJyb3IpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLW91dHB1dC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAo dHVhcmVnLWZvbnQtbG9jay1sYWJlbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay10 eXBlLWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWxpbmUtbnVtYmVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHR1YXJlZy1mb250 LWxvY2stbW9kdWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFj ZSkpKQ0KKyAgICBgKHR1YXJlZy1mb250LWxvY2stbXVsdGlzdGFnZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCBibHVlKSkpDQorICAg IGAodHVhcmVnLWZvbnQtbG9jay1vcGVyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQt bG9jay1wcmVwcm9jZXNzb3ItZmFjZSkpKQ0KKyAgICBgKHR1YXJlZy1vcGFtLWVycm9yLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCisgICAgYCh0dWFyZWctb3BhbS1wa2ctdmFyaWFi bGUtbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZh Y2UpKSkNCis7Ozs7OyB0eXBlc2NyaXB0DQorICAgIGAodHlwZXNjcmlwdC1qc2RvYy10YWcgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt bWlsZCkpKQ0KKyAgICBgKHR5cGVzY3JpcHQtanNkb2MtdHlwZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAo dHlwZXNjcmlwdC1qc2RvYy12YWx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFu dCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorOzs7OzsgdW5kby10cmVlDQorICAg IGAodW5kby10cmVlLXZpc3VhbGl6ZXItYWN0aXZlLWJyYW5jaC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh1bmRvLXRyZWUtdmlzdWFs aXplci1jdXJyZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0K KyAgICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQorICAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItcmVnaXN0ZXItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAodW5kby10 cmVlLXZpc3VhbGl6ZXItdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1pbnRlbnNlKSkpDQorOzs7OzsgdmMgKHZjLWhvb2tzLmVsKQ0KKyAgICBgKHZjLWNvbmZsaWN0 LXN0YXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQorICAgIGAodmMtZWRpdGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWN0aXZlKSkpDQorICAgIGAodmMtbG9jYWxseS1hZGRlZC1zdGF0ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYCh2Yy1sb2NrZWQtc3RhdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAodmMtbWlzc2luZy1zdGF0 ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCisgICAgYCh2Yy1uZWVkcy11cGRhdGUtc3RhdGUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBg KHZjLXJlbW92ZWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisg ICAgYCh2Yy1zdGF0ZS1iYXNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisg ICAgYCh2Yy11cC10by1kYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCis7Ozs7OyB2ZGlmZg0KKyAgICBgKHZkaWZmLWFkZGl0aW9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KKyAgICBgKHZkaWZmLWNoYW5n ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KKyAg ICBgKHZkaWZmLWNsb3NlZC1mb2xkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYt bmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKHZkaWZm LXJlZmluZS1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1h ZGRlZCkpKQ0KKyAgICBgKHZkaWZmLXJlZmluZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQpKSkNCisgICAgYCh2ZGlmZi1zdWJ0cmFjdGlv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KKyAg ICBgKHZkaWZmLXRhcmdldC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtYmx1ZSkpKQ0KKzs7Ozs7IHZpbWlzaC1mb2xkDQorICAgIGAodmltaXNoLWZvbGQtZnJpbmdl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHZpbWlzaC1mb2xk LW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkp DQorICAgIGAodmltaXNoLWZvbGQtb3ZlcmxheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCis7Ozs7OyB2aXNpYmxlLW1hcmsNCisg ICAgYCh2aXNpYmxlLW1hcmstYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVu c2UtYmcpKSkNCisgICAgYCh2aXNpYmxlLW1hcmstZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQg LGN5YW4taW50ZW5zZS1iZykpKQ0KKyAgICBgKHZpc2libGUtbWFyay1mYWNlMiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcpKSkNCisgICAgYCh2aXNpYmxlLW1hcmstZm9y d2FyZC1mYWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnKSkpDQor ICAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdy ZWVuLWludGVuc2UtYmcpKSkNCis7Ozs7OyB2aXN1YWwtcmVnZXhwDQorICAgIGAodnIvZ3JvdXAt MCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYCh2 ci9ncm91cC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkp KQ0KKyAgICBgKHZyL2dyb3VwLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1ncmVlbikpKQ0KKyAgICBgKHZyL21hdGNoLTAgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHZyL21hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHZyL21hdGNoLXNlcGFyYXRvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgYm9sZCkp KSkNCis7Ozs7OyB2b2xhdGlsZS1oaWdobGlnaHRzDQorICAgIGAodmhsL2RlZmF1bHQtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcg OmV4dGVuZCB0KSkpDQorOzs7OzsgdnRlcm0NCisgICAgYCh2dGVybS1jb2xvci1ibGFjayAoKCxj bGFzcyA6YmFja2dyb3VuZCAiZ3JheTM1IiA6Zm9yZWdyb3VuZCAiZ3JheTM1IikpKQ0KKyAgICBg KHZ0ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQg LGJsdWUpKSkNCisgICAgYCh2dGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxj eWFuIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAodnRlcm0tY29sb3ItZGVmYXVsdCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KHZ0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCisgICAgYCh2dGVybS1jb2xvci1pbnZlcnNlLXZpZGVvICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1tYWluIDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYCh2dGVybS1jb2xv ci1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQorICAgIGAodnRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQg OmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLXVuZGVybGluZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHZ0 ZXJtLWNvbG9yLXdoaXRlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjUiIDpmb3JlZ3JvdW5k ICJncmF5NjUiKSkpDQorICAgIGAodnRlcm0tY29sb3IteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IHdjaGVjay1tb2RlDQor ICAgIGAod2NoZWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRl cmxpbmUgdCkpKQ0KKzs7Ozs7IHdlYi1tb2RlDQorICAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdl Yi1tb2RlLWFubm90YXRpb24taHRtbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNv bW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWFubm90YXRpb24tdGFnLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBg KHdlYi1tb2RlLWJsb2NrLWF0dHItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2stYXR0ci12YWx1ZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay10eXBlLWZhY2UpKSkNCisgICAgYCh3ZWItbW9k ZS1ibG9jay1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1m YWNlKSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2stY29udHJvbC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1ibG9jay1kZWxp bWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1t b2RlLWJsb2NrLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKHdl Yi1tb2RlLWJsb2NrLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmlu Zy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQpKSkNCisgICAgYCh3ZWItbW9kZS1idWlsdGluLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9u dC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNvbW1lbnQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUt Y29tbWVudC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmct ZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Zm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtYXQtcnVsZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAo d2ViLW1vZGUtY3NzLWNvbG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0 aW4tZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLWZ1bmN0 aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAg ICBgKHdlYi1tb2RlLWNzcy1wcmlvcml0eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay13YXJuaW5nLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtcHJvcGVydHktbmFtZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYCh3ZWIt bW9kZS1jc3MtcHNldWRvLWNsYXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWRv Yy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLXNlbGVjdG9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1zdHJp bmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KKyAgICBg KHdlYi1tb2RlLWNzcy12YXJpYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCisgICAgYCh3ZWItbW9kZS1jdXJyZW50LWNvbHVtbi1oaWdobGlnaHQtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAod2ViLW1vZGUtY3VycmVu dC1lbGVtZW50LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtbWlsZCkpKQ0KKyAgICBgKHdlYi1tb2RlLWRvY3R5cGUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQor ICAgIGAod2ViLW1vZGUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLXJlZCkpKQ0KKyAgICBgKHdlYi1tb2RlLWZpbHRlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1mb2xk ZWQtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh3ZWItbW9kZS1mdW5jdGlv bi1jYWxsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFj ZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC1h dHRyLWN1c3RvbS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1l LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZW5naW5lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZXF1YWwt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWh0 bWwtYXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5h bWUtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRt bC1lbnRpdHktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stbmVnYXRpb24tY2hhci1m YWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC10YWctYnJhY2tldC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLXRhZy1jdXN0b20tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAg IGAod2ViLW1vZGUtaHRtbC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVu Y3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC10YWctbmFtZXNwYWNlZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3 ZWItbW9kZS1odG1sLXRhZy11bmNsb3NlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVycm9yIDp1 bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHdlYi1tb2RlLWlubGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKHdlYi1tb2RlLWl0YWxpYy1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGl0YWxpYykpKQ0KKyAgICBgKHdlYi1tb2RlLWphdmFzY3JpcHQtY29tbWVudC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1t b2RlLWphdmFzY3JpcHQtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3Ry aW5nLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1qc29uLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1qc29uLWNv bnRleHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQor ICAgIGAod2ViLW1vZGUtanNvbi1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkLWZnKSkpDQorICAgIGAod2ViLW1vZGUtanNvbi1zdHJpbmctZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0 aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0yLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAg IGAod2ViLW1vZGUtanN4LWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3Bl Y2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh3ZWItbW9k ZS1qc3gtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQorICAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTUtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcp KSkNCisgICAgYCh3ZWItbW9kZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgOmluaGVy aXQgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXBhcmFtLW5hbWUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQor ICAgIGAod2ViLW1vZGUtcGFydC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1v ZGUtY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtcGFydC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHdlYi1tb2RlLWJsb2NrLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1wYXJ0LXN0cmlu Zy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQorICAgIGAo d2ViLW1vZGUtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXBy ZXByb2Nlc3Nvci1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc2NyaXB0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgd2ViLW1vZGUtcGFydC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc3FsLWtleXdv cmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNlKSkp DQorICAgIGAod2ViLW1vZGUtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LXN0cmluZy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc3R5bGUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1zeW1ib2wtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1t b2RlLXR5cGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkp DQorICAgIGAod2ViLW1vZGUtdW5kZXJsaW5lLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkp DQorICAgIGAod2ViLW1vZGUtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZv bnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS13YXJuaW5nLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpKQ0KKyAgICBgKHdl Yi1tb2RlLXdoaXRlc3BhY2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFj ZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKzs7Ozs7IHdncmVwDQorICAgIGAod2dy ZXAtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxv dykpKQ0KKyAgICBgKHdncmVwLWRvbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKHdncmVwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLWdyZWVuKSkpDQorICAgIGAod2dyZXAtZmlsZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYCh3Z3JlcC1yZWplY3QtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCis7 Ozs7OyB3aGljaC1mdW5jdGlvbi1tb2RlDQorICAgIGAod2hpY2gtZnVuYyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCis7Ozs7OyB3aGljaC1rZXkNCisgICAgYCh3aGlj aC1rZXktY29tbWFuZC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQorICAgIGAod2hpY2gta2V5LWdyb3VwLWRlc2NyaXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAod2hpY2gta2V5LWhpZ2hsaWdodGVkLWNv bW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnVuZGVybGluZSB0KSkp DQorICAgIGAod2hpY2gta2V5LWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKHdoaWNoLWtleS1sb2NhbC1tYXAtZGVzY3Jp cHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdoaWNo LWtleS1ub3RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAod2hpY2gta2V5LXNlcGFyYXRvci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYCh3aGljaC1rZXktc3BlY2lhbC1rZXkt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkp KQ0KKzs7Ozs7IHdoaXRlc3BhY2UtbW9kZQ0KKyAgICBgKHdoaXRlc3BhY2UtYmlnLWluZGVudCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAgIGAod2hpdGVz cGFjZS1lbXB0eSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEp KSkNCisgICAgYCh3aGl0ZXNwYWNlLWhzcGFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hp dGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKyAgICBgKHdoaXRlc3BhY2Ut aW5kZW50YXRpb24gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91 bmQgLGZnLXdoaXRlc3BhY2UpKSkNCisgICAgYCh3aGl0ZXNwYWNlLWxpbmUgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQorICAgIGAod2hpdGVzcGFjZS1uZXds aW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13 aGl0ZXNwYWNlKSkpDQorICAgIGAod2hpdGVzcGFjZS1zcGFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKyAgICBgKHdo aXRlc3BhY2Utc3BhY2UtYWZ0ZXItdGFiICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1tYWdlbnRhKSkpDQorICAgIGAod2hpdGVzcGFjZS1zcGFjZS1iZWZvcmUtdGFiICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAod2hpdGVzcGFj ZS10YWIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZn LXdoaXRlc3BhY2UpKSkNCisgICAgYCh3aGl0ZXNwYWNlLXRyYWlsaW5nICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorOzs7Ozsgd2luZG93LWRpdmlkZXItbW9k ZQ0KKyAgICBgKHdpbmRvdy1kaXZpZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ct ZGl2aWRlci1pbm5lcikpKQ0KKyAgICBgKHdpbmRvdy1kaXZpZGVyLWZpcnN0LXBpeGVsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KKyAgICBgKHdpbmRv dy1kaXZpZGVyLWxhc3QtcGl4ZWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZp ZGVyLW91dGVyKSkpDQorOzs7Ozsgd2ludW0NCisgICAgYCh3aW51bS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorOzs7 Ozsgd3JpdGVnb29kLW1vZGUNCisgICAgYCh3cml0ZWdvb2QtZHVwbGljYXRlcy1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZC1hbHQgOnVuZGVybGluZSB0 KSkpDQorICAgIGAod3JpdGVnb29kLXBhc3NpdmUtdm9pY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LW51YW5jZWQtZmcgOnVuZGVybGluZSAsZmctbGFuZy13YXJuaW5nKSkpDQor ICAgIGAod3JpdGVnb29kLXdlYXNlbHMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51 YW5jZWQtZmcgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KKzs7Ozs7IHdvbWFuDQorICAg IGAod29tYW4tYWRkaXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQorICAgIGAod29tYW4tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQorICAgIGAod29tYW4taXRhbGljICgoLGNsYXNzIDppbmhlcml0IGl0YWxp YyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKHdvbWFuLXVua25vd24gKCgsY2xhc3MgOmlu aGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyB4YWgtZWxpc3AtbW9k ZQ0KKyAgICBgKHhhaC1lbGlzcC1hdC1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LXdhcm5pbmctZmFjZSkpKQ0KKyAgICBgKHhhaC1lbGlzcC1jYXAtdmFyaWFibGUgKCgsY2xhc3Mg OmluaGVyaXQgZm9udC1sb2NrLXByZXByb2Nlc3Nvci1mYWNlKSkpDQorICAgIGAoeGFoLWVsaXNw LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdHlwZS1mYWNlKSkpDQor ICAgIGAoeGFoLWVsaXNwLWRvbGxhci1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKzs7Ozs7IHhyZWYNCisgICAgYCh4cmVmLWZpbGUtaGVh ZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KKyAgICBgKHhyZWYtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KKyAgICBgKHhyZWYtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbWF0Y2gpKSkNCis7Ozs7OyB5 YW1sLW1vZGUNCisgICAgYCh5YW1sLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtcmVkKSkpDQorOzs7OzsgeWFzbmlwcGV0DQorICAgIGAoeWFzLWZpZWxkLWhp Z2hsaWdodC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1obC1hbHQtaW50ZW5zZSkpKQ0K Kzs7Ozs7IHp0cmVlDQorICAgIGAoenRyZWVwLWFycm93LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAoenRyZWVwLWRpZmYtaGVhZGVyLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQorICAgIGAoenRyZWVwLWRpZmYtaGVhZGVyLXNtYWxsLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAoenRyZWVwLWRp ZmYtbW9kZWwtYWRkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAo enRyZWVwLWRpZmYtbW9kZWwtZGlmZi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN CisgICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1pZ25vcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KKyAgICBgKHp0cmVlcC1kaWZmLW1vZGVs LW5vcm1hbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYCh6dHJl ZXAtZXhwYW5kLXNpZ24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBg KHp0cmVlcC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh6dHJlZXAtbGVhZi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoenRyZWVwLW5vZGUtY291bnQtY2hp bGRyZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAg IGAoenRyZWVwLW5vZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKSkNCisg ICJGYWNlIHNwZWNzIGZvciB1c2Ugd2l0aCBgbW9kdXMtdGhlbWVzLWNvcmUtdGhlbWUnLiIpDQor DQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1jdXN0b20tdmFyaWFibGVzDQorICAnKA0KKzs7Ozsg YW5zaS1jb2xvcnMNCisgICAgYChhbnNpLWNvbG9yLWZhY2VzLXZlY3RvciBbZGVmYXVsdCBib2xk IHNoYWRvdyBpdGFsaWMgdW5kZXJsaW5lIHN1Y2Nlc3Mgd2FybmluZyBlcnJvcl0pDQorICAgIGAo YW5zaS1jb2xvci1uYW1lcy12ZWN0b3IgWyJncmF5MzUiICxyZWQgLGdyZWVuICx5ZWxsb3cgLGJs dWUgLG1hZ2VudGEgLGN5YW4gImdyYXk2NSJdKQ0KKzs7OzsgYXdlc29tZS10cmF5DQorICAgIGAo YXdlc29tZS10cmF5LW1vZGUtbGluZS1hY3RpdmUtY29sb3IgLGJsdWUpDQorICAgIGAoYXdlc29t ZS10cmF5LW1vZGUtbGluZS1pbmFjdGl2ZS1jb2xvciAsYmctYWN0aXZlKQ0KKzs7OzsgZXh3bQ0K KyAgICBgKGV4d20tZmxvYXRpbmctYm9yZGVyLWNvbG9yICxmZy13aW5kb3ctZGl2aWRlci1pbm5l cikNCis7Ozs7IGZseW1ha2UgZnJpbmdlIGluZGljYXRvcnMNCisgICAgYChmbHltYWtlLWVycm9y LWJpdG1hcCAnKGZseW1ha2UtZG91YmxlLWV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJp bmdlLXJlZCkpDQorICAgIGAoZmx5bWFrZS13YXJuaW5nLWJpdG1hcCAnKGV4Y2xhbWF0aW9uLW1h cmsgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpDQorICAgIGAoZmx5bWFrZS1ub3RlLWJpdG1h cCAnKGV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKQ0KKzs7OzsgaWJ1 ZmZlcg0KKyAgICBgKGlidWZmZXItZGVsZXRpb24tZmFjZSAnbW9kdXMtdGhlbWUtbWFyay1kZWwp DQorICAgIGAoaWJ1ZmZlci1maWx0ZXItZ3JvdXAtbmFtZS1mYWNlICdtb2R1cy10aGVtZS1tYXJr LXN5bWJvbCkNCisgICAgYChpYnVmZmVyLW1hcmtlZC1mYWNlICdtb2R1cy10aGVtZS1tYXJrLXNl bCkNCisgICAgYChpYnVmZmVyLXRpdGxlLWZhY2UgJ21vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIp DQorOzs7OyBoaWdobGlnaHQtdGFpbA0KKyAgICBgKGhpZ2hsaWdodC10YWlsLWNvbG9ycw0KKyAg ICAgICcoKCxncmVlbi1zdWJ0bGUtYmcgLiAwKQ0KKyAgICAgICAgKCxjeWFuLXN1YnRsZS1iZyAu IDIwKSkpDQorOzs7OyBobC10b2RvDQorICAgIGAoaGwtdG9kby1rZXl3b3JkLWZhY2VzDQorICAg ICAgJygoIkhPTEQiIC4gLHllbGxvdy1hbHQpDQorICAgICAgICAoIlRPRE8iIC4gLG1hZ2VudGEp DQorICAgICAgICAoIk5FWFQiIC4gLG1hZ2VudGEtYWx0LW90aGVyKQ0KKyAgICAgICAgKCJUSEVN IiAuICxtYWdlbnRhLWFsdCkNCisgICAgICAgICgiUFJPRyIgLiAsY3lhbikNCisgICAgICAgICgi T0tBWSIgLiAsY3lhbi1hbHQpDQorICAgICAgICAoIkRPTlQiIC4gLGdyZWVuLWFsdCkNCisgICAg ICAgICgiRkFJTCIgLiAscmVkKQ0KKyAgICAgICAgKCJCVUciIC4gLHJlZCkNCisgICAgICAgICgi RE9ORSIgLiAsZ3JlZW4pDQorICAgICAgICAoIk5PVEUiIC4gLHllbGxvdy1hbHQtb3RoZXIpDQor ICAgICAgICAoIktMVURHRSIgLiAseWVsbG93KQ0KKyAgICAgICAgKCJIQUNLIiAuICx5ZWxsb3cp DQorICAgICAgICAoIlRFTVAiIC4gLHJlZC1udWFuY2VkLWZnKQ0KKyAgICAgICAgKCJGSVhNRSIg LiAscmVkLWFsdC1vdGhlcikNCisgICAgICAgICgiWFhYKyIgLiAscmVkLWFsdCkNCisgICAgICAg ICgiUkVWSUVXIiAuICxjeWFuLWFsdC1vdGhlcikNCisgICAgICAgICgiREVQUkVDQVRFRCIgLiAs Ymx1ZS1udWFuY2VkLWZnKSkpDQorOzs7OyBwZGYtdG9vbHMNCisgICAgYChwZGYtdmlldy1taWRu aWdodC1jb2xvcnMNCisgICAgICAnKCxmZy1tYWluIC4gLGJnLWRpbSkpDQorOzs7OyB2Yy1hbm5v dGF0ZSAoQy14IHYgZykNCisgICAgYCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kIG5pbCkNCisgICAg YCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUgbmlsKQ0KKyAgICBgKHZjLWFubm90YXRlLWNv bG9yLW1hcA0KKyAgICAgICcoKDIwIC4gLHJlZCkNCisgICAgICAgICg0MCAuICxtYWdlbnRhKQ0K KyAgICAgICAgKDYwIC4gLG1hZ2VudGEtYWx0KQ0KKyAgICAgICAgKDgwIC4gLHJlZC1hbHQpDQor ICAgICAgICAoMTAwIC4gLHllbGxvdykNCisgICAgICAgICgxMjAgLiAseWVsbG93LWFsdCkNCisg ICAgICAgICgxNDAgLiAsZmctc3BlY2lhbC13YXJtKQ0KKyAgICAgICAgKDE2MCAuICxmZy1zcGVj aWFsLW1pbGQpDQorICAgICAgICAoMTgwIC4gLGdyZWVuKQ0KKyAgICAgICAgKDIwMCAuICxncmVl bi1hbHQpDQorICAgICAgICAoMjIwIC4gLGN5YW4tYWx0LW90aGVyKQ0KKyAgICAgICAgKDI0MCAu ICxjeWFuLWFsdCkNCisgICAgICAgICgyNjAgLiAsY3lhbikNCisgICAgICAgICgyODAgLiAsZmct c3BlY2lhbC1jb2xkKQ0KKyAgICAgICAgKDMwMCAuICxibHVlKQ0KKyAgICAgICAgKDMyMCAuICxi bHVlLWFsdCkNCisgICAgICAgICgzNDAgLiAsYmx1ZS1hbHQtb3RoZXIpDQorICAgICAgICAoMzYw IC4gLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAodmMtYW5ub3RhdGUtdmVyeS1vbGQtY29s b3IgbmlsKQ0KKzs7OzsgeHRlcm0tY29sb3INCisgICAgYCh4dGVybS1jb2xvci1uYW1lcyBbImJs YWNrIiAscmVkICxncmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFuICJncmF5NjUiXSkN CisgICAgYCh4dGVybS1jb2xvci1uYW1lcy1icmlnaHQgWyJncmF5MzUiICxyZWQtYWx0ICxncmVl bi1hbHQgLHllbGxvdy1hbHQgLGJsdWUtYWx0ICxtYWdlbnRhLWFsdCAsY3lhbi1hbHQgIndoaXRl Il0pDQorICAgIChpZiAoZXEgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgJ3JhaW5ib3cpDQorICAg ICAgYChvcmctc3JjLWJsb2NrLWZhY2VzICAgICAgICAgICAgICA7IFRPRE8gdGhpcyBsaXN0IHNo b3VsZCBiZSBleHBhbmRlZA0KKyAgICAgICAgYCgoImVtYWNzLWxpc3AiIG1vZHVzLXRoZW1lLW51 YW5jZWQtbWFnZW50YSkNCisgICAgICAgICAgKCJlbGlzcCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhKQ0KKyAgICAgICAgICAoImNsb2p1cmUiIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50 YSkNCisgICAgICAgICAgKCJjbG9qdXJlc2NyaXB0IiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2Vu dGEpDQorICAgICAgICAgICgiYyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlKQ0KKyAgICAgICAg ICAoImMrKyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlKQ0KKyAgICAgICAgICAoInNoIiBtb2R1 cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KKyAgICAgICAgICAoInNoZWxsIiBtb2R1cy10aGVtZS1u dWFuY2VkLWdyZWVuKQ0KKyAgICAgICAgICAoImh0bWwiIG1vZHVzLXRoZW1lLW51YW5jZWQteWVs bG93KQ0KKyAgICAgICAgICAoInhtbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cpDQorICAg ICAgICAgICgiY3NzIiBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCkNCisgICAgICAgICAgKCJzY3Nz IiBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCkNCisgICAgICAgICAgKCJweXRob24iIG1vZHVzLXRo ZW1lLW51YW5jZWQtZ3JlZW4pDQorICAgICAgICAgICgiaXB5dGhvbiIgbW9kdXMtdGhlbWUtbnVh bmNlZC1tYWdlbnRhKQ0KKyAgICAgICAgICAoInIiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikN CisgICAgICAgICAgKCJ5YW1sIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQorICAgICAgICAg ICgiY29uZiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KKyAgICAgICAgICAoImRvY2tlciIg bW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKSkpDQorICAgICAgYChvcmctc3JjLWJsb2NrLWZhY2Vz ICcoKSkpKQ0KKyAgICAiQ3VzdG9tIHZhcmlhYmxlcyBmb3IgYG1vZHVzLXRoZW1lcy1jb3JlLXRo ZW1lJy4iKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKHdoZW4gKGFuZCAoYm91bmRwICdjdXN0b20t dGhlbWUtbG9hZC1wYXRoKSBsb2FkLWZpbGUtbmFtZSkNCisgIChhZGQtdG8tbGlzdCAnY3VzdG9t LXRoZW1lLWxvYWQtcGF0aA0KKyAgICAgICAgICAgICAgIChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5 IChmaWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1uYW1lKSkpKQ0KKw0KKyhwcm92aWRlICdt b2R1cy10aGVtZXMpDQorOzs7IG1vZHVzLXRoZW1lcy5lbCBlbmRzIGhlcmUNCi0tIA0KMi4yOS4y DQoNCg== --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 05:00:00 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 10:00:00 +0000 Received: from localhost ([127.0.0.1]:40019 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knfDT-0007Qy-R7 for submit@debbugs.gnu.org; Fri, 11 Dec 2020 05:00:00 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:34265) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knfDF-0007QJ-GE for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 04:59:46 -0500 X-Originating-IP: 91.129.99.98 Received: from mail.gandi.net (m91-129-99-98.cust.tele2.ee [91.129.99.98]) (Authenticated sender: juri@linkov.net) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id DE1931C000D; Fri, 11 Dec 2020 09:59:37 +0000 (UTC) From: Juri Linkov To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Organization: LINKOV.NET References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> Date: Fri, 11 Dec 2020 11:37:48 +0200 In-Reply-To: <87zh2ldgtf.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Thu, 10 Dec 2020 13:46:36 +0200") Message-ID: <87k0toof83.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org, Stefan Kangas X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > On the "obfuscation" point I mentioned before: I expressed myself > poorly. What I thought was that it would be difficult to study the > theme's code, but one upside (I think) of the aforementioned changes is > that M-x find-library now lists the files I placed in lisp/themes. Indeed, it would be difficult to study the theme's code when it's split between different directories. Would it be possible to put everything under lisp/themes? Later another theme that would help novices to enable relevant options, among other things could ask about enabling modus-themes - such theme could be placed under lisp/themes as well. > I cannot run that command locally---it is slow > and my hardware's temparature rises considerably. Sometimes it helps just to clean the CPU cooler fan. Such cleaning could save money instead of buying new hardware. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 08:22:03 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 13:22:03 +0000 Received: from localhost ([127.0.0.1]:40483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kniN0-0008S0-QN for submit@debbugs.gnu.org; Fri, 11 Dec 2020 08:22:02 -0500 Received: from mail-pl1-f180.google.com ([209.85.214.180]:41430) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kniMy-0008RV-E7 for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 08:22:01 -0500 Received: by mail-pl1-f180.google.com with SMTP id y8so4574750plp.8 for <45068@debbugs.gnu.org>; Fri, 11 Dec 2020 05:22:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=LZ1YthqLUHrkBZLzv6pXraDpPwHH3mdD+J8HQOxpvoE=; b=nlLJ/alF0ihnatEKQeiE/KdbEoUx0EDqRU2WhwdxKu6cCK/rcRRVYdlH3xzp1c6eY8 D8j2ycTCwtpYdkghjMozM3ikcL22eyfVVYVgL4oFvayALkqvTgEOCXExzUhxv6Axn1eQ Xgo5gaC7oNo4OYXiLca+pP+S2RVrmppfm0W6T8IM93y6wV54StapPnltZmL91+HLo1yK GIvBHmGaFl3PsmXeCan7g8k7CCbl/+Bm65eG2CF+FVwUPDsc+mk+NrNy8HfFHhMediPi ZgfRi7FJHh5HxA+jczwjWfoOid9Kj0c+C0oNagtzku8LTp4dEv66r0/TNw98+F7m/rDZ ouag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=LZ1YthqLUHrkBZLzv6pXraDpPwHH3mdD+J8HQOxpvoE=; b=sLT4kQqqoSyyxXmfnyD+zUt5pYRlBVnWO0FnO0XVEuueOW4AYsrh6x+NUNok6zlBYU XH3A6OQAho33D2mFBbGV3cFQB/N+PKgkE0aWCnUHvjqvYDBOjcaRXnxtlpod1lTVU+6S hXEKS0YgWKPTAuQslqET7DVAX4flqyjQ3k0f5uLNfMdHsUUM3KWIkFHdqYtJFPG6K7jT 6q7mGo/XjkBIsHRiJOZm2w8hUJWt2JNCRQfBhq78orhIaOh6/xBnmJ2HxxyvCTC4uezG WAdNfWYfiZhSe8KSI2VyuoTdOORNdQlxEO3DleAjyRIijZp09lbpfxqj3YICbQqZnIqT PvSA== X-Gm-Message-State: AOAM530s2krGgBlPR3hgjSANIjhH4rDxpbbNleHBx1Ii/Sr4/54Jkmsm F78fcaRayAyvAWGCJ9upmOHAZWI4z8MjU7VCoR6Z5b3RbqI= X-Google-Smtp-Source: ABdhPJzX6O2hxVTiFQ8/CLdZgcLdr+COzZvtpDH0h30iqXCYUGKf2mcHEZj6KWvd5h++Qk2OgNzqCVwTDJU/u0p0iqU= X-Received: by 2002:a17:902:9309:b029:db:c725:d19c with SMTP id bc9-20020a1709029309b02900dbc725d19cmr11341373plb.39.1607692914487; Fri, 11 Dec 2020 05:21:54 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 11 Dec 2020 07:21:53 -0600 From: Stefan Kangas In-Reply-To: <87k0toof83.fsf@mail.linkov.net> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> MIME-Version: 1.0 Date: Fri, 11 Dec 2020 07:21:53 -0600 Message-ID: Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) To: Juri Linkov , Protesilaos Stavrou Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Juri Linkov writes: >> On the "obfuscation" point I mentioned before: I expressed myself >> poorly. What I thought was that it would be difficult to study the >> theme's code, but one upside (I think) of the aforementioned changes is >> that M-x find-library now lists the files I placed in lisp/themes. > > Indeed, it would be difficult to study the theme's code when it's > split between different directories. Would it be possible to put > everything under lisp/themes? Later another theme that would help > novices to enable relevant options, among other things could ask > about enabling modus-themes - such theme could be placed under lisp/themes > as well. Taking a step back, why are any themes in "etc/themes" to begin with? Is it just to avoid byte-compiling them? From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 08:52:49 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 13:52:49 +0000 Received: from localhost ([127.0.0.1]:40551 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kniqn-0000oz-Di for submit@debbugs.gnu.org; Fri, 11 Dec 2020 08:52:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38808) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kniqj-0000oj-LA for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 08:52:48 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:46199) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kniqc-0006CS-PR; Fri, 11 Dec 2020 08:52:38 -0500 Received: from [176.228.60.248] (port=3691 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kniqc-0005iY-3O; Fri, 11 Dec 2020 08:52:38 -0500 Date: Fri, 11 Dec 2020 15:52:20 +0200 Message-Id: <83wnxo1mcr.fsf@gnu.org> From: Eli Zaretskii To: Stefan Kangas In-Reply-To: (message from Stefan Kangas on Fri, 11 Dec 2020 07:21:53 -0600) Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Kangas > Date: Fri, 11 Dec 2020 07:21:53 -0600 > Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org > > Taking a step back, why are any themes in "etc/themes" to begin with? This question should have been asked 10 years ago, when we added that place. Nowadays I think the question is what's so wrong with that place that would justify moving the files. If there are no serious problems, I'd prefer to keep using that directory for themes. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 09:16:56 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 14:16:56 +0000 Received: from localhost ([127.0.0.1]:40628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knjE8-0003dM-9Q for submit@debbugs.gnu.org; Fri, 11 Dec 2020 09:16:56 -0500 Received: from mail-pj1-f49.google.com ([209.85.216.49]:53843) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knjE6-0003cz-0u for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 09:16:55 -0500 Received: by mail-pj1-f49.google.com with SMTP id iq13so2260769pjb.3 for <45068@debbugs.gnu.org>; Fri, 11 Dec 2020 06:16:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=TAg8wshYnE94ai4L1wl5lALnLuHTZcTxtwGDc4qIIio=; b=lyjTbyZSIZGo+rMgJ1VWKoLuKlbRpeIEdJ2LaUVBvPj5/heb/0/IEe60RuotBMdDex dB/TtTdMIVuqcY6DFYLSLywBwkhSL+SbDDpaNUOfm4VNlJacQqro+638zUGuGs2FUfR4 2JKWanfRUOBuY9ASP1RkAVfXinBPf5+HuxnXJ1yPxdrKC8LV6K5Ln6180HA7e30g6eRY /dkN+asuGqiUlFvVvQNz0Kj8Wl0RyW3Bk3RQ9wm2HeSn33iElJYUCUg+yeuFUZVpKKdK h+7AwBJfl4Blg7X9zt7+fNQhRQFNCf+17MygZ6n2cyHHXTJ8ZnJYsd0sYv10eMV/oSDM 5NSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=TAg8wshYnE94ai4L1wl5lALnLuHTZcTxtwGDc4qIIio=; b=G1aZ2yy9fOLWVkO5ifiC/4Vf/4vC2IQL2d3ZthD+3tXFzmwNRlSpwg0c4vJSwqGAEf lYUZndaosaLHudS4bgJb/3ohNXisMP7EkNtWooLSYx85PySB8Pgu2rjmRUTD7pEz5+tL i1B1PpMo/3k04zkGsUg5F9n2Esy2focGjoQ74y/0QarPh03frBCOoNvmcdnWxiIjUPPx FLwPRQ1jmQBCDGZJobEvZxiq9r+uWdgW/sP56xp0kXGNR+st3dvmRH1NXYyqE6hiyFUp oVv8cXU/C21klGejdruguC/2m/z8Sx8GW4vg06W2lRxiz8qnfV+QrrGxn/dKAxcdGpc/ yRaQ== X-Gm-Message-State: AOAM530mcV2JpXJnrk0wzRaFC6QWS+c6AJt1GM2Aobi0BYBVDnFTPMBj 0UHvEF5h0aFt8kjt0QoQ0O2LBlsLVkNVO5n9zPI= X-Google-Smtp-Source: ABdhPJy2Hve37wzrDJlH93YRtjb2xwCu4XQQR6F1qjsq2LnYd1AbhKmToIoaOW6mhIwFfX5FQbCD3VY0qmwFO9P75+I= X-Received: by 2002:a17:902:9309:b029:db:c725:d19c with SMTP id bc9-20020a1709029309b02900dbc725d19cmr11561831plb.39.1607696208081; Fri, 11 Dec 2020 06:16:48 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 11 Dec 2020 08:16:47 -0600 From: Stefan Kangas In-Reply-To: <83wnxo1mcr.fsf@gnu.org> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> MIME-Version: 1.0 Date: Fri, 11 Dec 2020 08:16:47 -0600 Message-ID: Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> Taking a step back, why are any themes in "etc/themes" to begin with? > > This question should have been asked 10 years ago, when we added that > place. I wasn't paying attention 10 years ago, I'm afraid. :-) > Nowadays I think the question is what's so wrong with that > place that would justify moving the files. If there are no serious > problems, I'd prefer to keep using that directory for themes. Right. Well, I don't exactly have a strong opinion either way. But I do think that we should be consistent: it would be confusing to have some themes in "etc/themes" and some in "lisp/themes". If we can't move all themes to "lisp/themes" and we don't want to use "lisp/themes" just for support files, to my mind the only remaining way forward is to add some way to byte-compile (perhaps only some?) files in "etc/themes". And then make sure they can be loaded, are installed with Emacs, etc. Does that sound good, or could we do even better here? Protesilaos, what do you think? Does it sound workable for you? From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 09:26:01 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 14:26:01 +0000 Received: from localhost ([127.0.0.1]:40667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knjMp-0003tT-Ic for submit@debbugs.gnu.org; Fri, 11 Dec 2020 09:26:01 -0500 Received: from mout.gmx.net ([212.227.17.20]:53395) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knjMn-0003tD-DS for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 09:25:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1607696745; bh=LlGO0pttoJc+SirzNcBZOjLKPnk+iBZgxt4JCk2Gf0k=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=DCTGFmjdT0wIspy6Y6vYmBTbZ3kMr3DYx6f/L5P6dyn5+EVtgKnJJPadnhCZ2lWKG L/s5QSfMXwz9VYgNGKVKrS/riIOQy1/JMcc3Lr8d22DElrHhanHnMXxB0rjldAMS/Y Ntlcw7a8TpSsESM6q8nbUSdsDp/lN1fvBT5b5hJs= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs06.server.lan [172.19.170.174]) (via HTTP); Fri, 11 Dec 2020 15:25:45 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Dec 2020 15:25:45 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <83wnxo1mcr.fsf@gnu.org> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:0R6t89MZrASSmkm6zjz1y1+bh877Ds2RbZ25698pts1xK5KN2NcRZ1hUgP4gymM2dog19 whGDDPOVAqUVRYysCa5+rAGKOwZI2xDcMy413r4uM6KnJI8K0XZpgQ5bJkZLptxQZIjBZo70R8AO IIIOwuig+Ona2jBSAi9Und4LxXNGxOT4K4aNBdXf4PykmWApee3nOdAyvsA1e17eRUyJ0lstAWpR FanNytQ0/fcvnPhulOdliWeYJG5eP6h4KQtMDPyZPZMCDhfvqpWILuU6gBPacbFe577tAH6h4fo8 bI= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:CbGOG5fUzpw=:t3hBsfRqQSArQLH7RhJaae Rn6aZ9ylC794gvk8oe4aPQyTnXfzrT8Sb/asaIO9ihYkg/6VLmCMU4sr0zDfgsvCdO0peU1xh ZkGDNadeUXBJqn2XSXWW7RTdqTZpCWf0RJ+OyUw3InUX410SCMzuaH0nxzBr8YaXfrd3qXmpa eNPUaQjuLgFJFSdsJnaMGHTFaT5578Cdg/lIfq3OurcsI4g4NAjChX20agjDBk8kEJKa+xJQJ EOvFNfEnHw6XXcuq9L9sqC7x43E+WK/2hwY7wQr5FGe2fbtMC8Si7BpKtTTT2Qe3MAo2RmWd0 SfSgY6R6N/YQNqfPTZyRLrPpOvQeW5FfTUQR4nGjGuyewnVd4gXRS3OkZzrFYz9crvPpeEBg/ 1nAurNg0IEs8NlOPhT5nzXMyo0GJsAQiKVM3B1hzPsJC3amTziIl7aqBffEZPExliHS4PTNZl CaZ1CFDJJm6AnoFZShUqLEMXwB7nijWxOBg8+Sxj+FFcvr0SvBjBaEvmfBSmKbf24ZCkUwp4V abKADmCNWTdBSd25569BcNLhxBaouc2gNYaJP2myVqMWk0NJjbGq+OfQoSmCZeieblQ1wlsL4 wX/+kwkSmADac= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, juri@linkov.net, Stefan Kangas , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Sent: Friday, December 11, 2020 at 2:52 PM > From: "Eli Zaretskii" > To: "Stefan Kangas" > Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@l= inkov.net > Subject: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward= -incompatible) > > > From: Stefan Kangas > > Date: Fri, 11 Dec 2020 07:21:53 -0600 > > Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org > > > > Taking a step back, why are any themes in "etc/themes" to begin with? > > This question should have been asked 10 years ago, when we added that > place. Nowadays I think the question is what's so wrong with that > place that would justify moving the files. If there are no serious > problems, I'd prefer to keep using that directory for themes. I agree with your evaluation Eli. =2D-------------------- Christopher Dimech General Administrator - Naiad Informatics - GNU Project (Geocomputation) - Geophysical Simulation - Geological Subsurface Mapping - Disaster Preparedness and Mitigation - Natural Resource Exploration and Production - Free Software Advocacy From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 09:33:06 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 14:33:06 +0000 Received: from localhost ([127.0.0.1]:40691 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knjTm-0006Ai-BG for submit@debbugs.gnu.org; Fri, 11 Dec 2020 09:33:06 -0500 Received: from mout.gmx.net ([212.227.17.22]:58711) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knjTk-0006A5-JO for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 09:33:05 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1607697175; bh=C+LQggv8XATJ05StSCL5CxLyhw76O0FzP990lzWOa6g=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=KGnHAny6XmDipAeN1KtMFtF88DMvTJxj5+v3MAWQUGpRRmlEU7MOfYP1OpbHKFegq xhq7HHu8To51JTXK51oEv8cmdMaQu9AcKkN8n4Iw0OZwxxI6suMqxV8G+1bnyYMOZm ADZ+HFGXsiMdgMLEJi2fM0lWEZSYGZVv+Cfl5c3s= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs06.server.lan [172.19.170.174]) (via HTTP); Fri, 11 Dec 2020 15:32:55 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Stefan Kangas , Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Dec 2020 15:32:55 +0100 Importance: normal Sensitivity: Normal In-Reply-To: References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:N3UpgeCoOLKv+m45lbVF7BUjarJbppvbLcikLCs4GVzLxGGvNzbxQTUJTjZ4OonqdqVB7 /Ip5mKwVOgWLmKsHWJiS4jeRJrfy8wTtag11YabIFI452tIrDLK/p2HTOsQsnqEn2HmBQHKjpwxe yYOLvsiYfryaNTt9NRLtehcYiexwzb0UPH4MuX4dtGvWLm2dig3G67DZ/qLP1z37cZ3MBKCbC//U V6YpwIbBSNJd9TE0aArGuyV+L61zau6tOExLyT8GZwtBh89bPTbcV95YfFBfHOX3gSGPEWdJDuSr Tw= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:k68rk/5sOsM=:UjIxULN3W+bGz2xXTqNa7r Sh8fwTWUzeGIwSpFXnCNpTz3JfYAitXVwTGzabfqX554kOxZ0XjLZ+iuO9h/kxeFBoPpQzb0s AjxOpO8yzCXu4f77IpPVnHoKDmzrBW3v3FFgtZIQGERvS94glk/bqDukHmw+OXC4MMQ8C9WkH 15rBrJCmnN/ziDrFyvmiBDm5TI0Lms/IL1yXt9s+NzcD2Q+rxBIzhGWphB3kvd8o07zaZifoT Fkq4cOo77Ug0XDtez+r0OU4nnIGhuWTkUZoUtEji49Qbbg1Yodkg6DzhwEd0197dcX22om7L7 jeUfUjCME+MeuCcb+dYxKYtkG0jN9ENM2GqzLBG5wxCLmplo1IyJ3ZYyedDws3owQohJwDB32 DboH5l3styxEYukGqwN1UtAvcBuTaYqwzJgJgpHN6j1ApVcm7PbORimy45425BzyehkoRfxXr 4LyaazchsMJmeHEuLileU/CWX979cdQFhlKV0RboYIfhCXeKtrdOoDJYh2cltDQJ8uMEnAZG2 4vq0oN3CYx+IR6dp1tOKA6M9hcaAVD3ZqJusSNGtUT4C+5RHxOFZhlAtyH6Y7TlqA/8bFEXIt naitICsYrRpcQ= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Sent: Friday, December 11, 2020 at 3:16 PM > From: "Stefan Kangas" > To: "Eli Zaretskii" > Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@l= inkov.net > Subject: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward= -incompatible) > > Eli Zaretskii writes: > > >> Taking a step back, why are any themes in "etc/themes" to begin with? > > > > This question should have been asked 10 years ago, when we added that > > place. > > I wasn't paying attention 10 years ago, I'm afraid. :-) > > > Nowadays I think the question is what's so wrong with that > > place that would justify moving the files. If there are no serious > > problems, I'd prefer to keep using that directory for themes. > > Right. Well, I don't exactly have a strong opinion either way. But I > do think that we should be consistent: it would be confusing to have > some themes in "etc/themes" and some in "lisp/themes". > > If we can't move all themes to "lisp/themes" and we don't want to use > "lisp/themes" just for support files, to my mind the only remaining way > forward is to add some way to byte-compile (perhaps only some?) files in > "etc/themes". And then make sure they can be loaded, are installed with > Emacs, etc. > > Does that sound good, or could we do even better here? > > Protesilaos, what do you think? Does it sound workable for you? We can have a subset of the themes in "lisp/themes", the rest in "etc/them= es". I suggest that Protesilaos' Modus-Themes be used as default for emacs (sto= red in "lisp/themes") because they are acessible themes for Gnu Emacs that muc= h thought was spent conforming with WCAG AAA Standard. Regards Christopher From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 09:33:11 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 14:33:11 +0000 Received: from localhost ([127.0.0.1]:40694 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knjTq-0006Ay-Lk for submit@debbugs.gnu.org; Fri, 11 Dec 2020 09:33:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:47862) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knjTo-0006AZ-2o for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 09:33:09 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:46852) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knjTh-0003ri-94; Fri, 11 Dec 2020 09:33:01 -0500 Received: from [176.228.60.248] (port=2318 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1knjTg-0006YA-1U; Fri, 11 Dec 2020 09:33:00 -0500 Date: Fri, 11 Dec 2020 16:32:42 +0200 Message-Id: <83v9d81khh.fsf@gnu.org> From: Eli Zaretskii To: Stefan Kangas In-Reply-To: (message from Stefan Kangas on Fri, 11 Dec 2020 08:16:47 -0600) Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Kangas > Date: Fri, 11 Dec 2020 08:16:47 -0600 > Cc: juri@linkov.net, info@protesilaos.com, contovob@tcd.ie, > 45068@debbugs.gnu.org > > Right. Well, I don't exactly have a strong opinion either way. But I > do think that we should be consistent: it would be confusing to have > some themes in "etc/themes" and some in "lisp/themes". Why not have all of them in etc/themes? > If we can't move all themes to "lisp/themes" and we don't want to use > "lisp/themes" just for support files, to my mind the only remaining way > forward is to add some way to byte-compile (perhaps only some?) files in > "etc/themes". What theme-related files need to be byte-compiled, and why? From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 10:15:41 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 15:15:41 +0000 Received: from localhost ([127.0.0.1]:42633 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knk8z-0007um-Ap for submit@debbugs.gnu.org; Fri, 11 Dec 2020 10:15:41 -0500 Received: from mail-pf1-f177.google.com ([209.85.210.177]:37303) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knk8w-0007uY-Io for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 10:15:39 -0500 Received: by mail-pf1-f177.google.com with SMTP id 11so7178530pfu.4 for <45068@debbugs.gnu.org>; Fri, 11 Dec 2020 07:15:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=0t2y403s1jgwCok2sCvn8+n/f5HYy93pDF4/8672oyY=; b=byuwEe2Qd8W1926P8vdLMpbt5JJnQJW9K1Zp3zxTPkYWb/BYZvAXL6N1d/KkepOuB9 jBOcdr0jodVjExkUcMtXzje49oCtiQBqXDw7+pe/vdVl/6fJYMzLK08jP0njS8YMCdZC VFfAOaJe4ReSGNfATzRVnNXsh2XY4lQ/ad2R/mN/+BqnGIPQmG7rBEDmnRVCs2UsL1MF C3Wb+OiGtYVH2y1uGg8kEdaDIkAdgCEo7iW9q9k8CBX8jHlq0hcPiAcpGLey3TjPYiWM 4kffKiOoLWNtbJJN5mx0jnwSDOAPQsdWptem84/yjKUeTsjeItgxc8ZuvGyo2S0OsPKo Vn8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=0t2y403s1jgwCok2sCvn8+n/f5HYy93pDF4/8672oyY=; b=gA9BMu91GYTcJQzWL2GKfEgFe4XX597iwXLz3bLyo+OOerC3kdNKgbalavvXQwdzxN c6dw56h8nbaHo8IFGozkg2O5z4r66sk5+6CTOuczHaQK9gaa2wtQH2Ke+3J30MVTwqra 1SMVKLSF1zPWKKZsoLrjhorPO7E1n6loAAwNtNsZx6KtsoSMr65bDcPu8x45N777vJsb gNgKhJXd7190RnONybAWbU8/kZgQVuWIXtyF9AaUfabaPMiU5xnbMOVwIaI2Mw9OavRl IdU/kaOk7GjCtW7w2abZp/fT8qjF7iOkBPCrIst8qFq1ZZHHSuF8jqT4n+ORMOksv5YV f0nQ== X-Gm-Message-State: AOAM530vrIO3xlhQzLO+5eu7T0qIsHi/w+TjiBztHT5EXeO6Xqgc+RDO gB8ocqi7iLyTaGhz+YEMMLQ6Kxzkj31rE2nepjY= X-Google-Smtp-Source: ABdhPJyh6MSF5gffCOAV6bg/y+1zT2LotrSvSyEsgeVZiZk6LVUS8eIl/LqZkTrjLvb7qg8FttLS0Ytq1SqmrLarXv4= X-Received: by 2002:a63:cd09:: with SMTP id i9mr12184519pgg.363.1607699732756; Fri, 11 Dec 2020 07:15:32 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 11 Dec 2020 09:15:32 -0600 From: Stefan Kangas In-Reply-To: <83v9d81khh.fsf@gnu.org> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> MIME-Version: 1.0 Date: Fri, 11 Dec 2020 09:15:32 -0600 Message-ID: Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> If we can't move all themes to "lisp/themes" and we don't want to use >> "lisp/themes" just for support files, to my mind the only remaining way >> forward is to add some way to byte-compile (perhaps only some?) files in >> "etc/themes". > > What theme-related files need to be byte-compiled, and why? I believe the issues involved are explained in some detail in the first message in this bug report. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 10:32:50 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 15:32:50 +0000 Received: from localhost ([127.0.0.1]:42663 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knkPZ-0008MP-Mo for submit@debbugs.gnu.org; Fri, 11 Dec 2020 10:32:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34644) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knkPV-0008M9-Mj for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 10:32:48 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47906) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knkPO-0000IZ-Ok; Fri, 11 Dec 2020 10:32:38 -0500 Received: from [176.228.60.248] (port=2002 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1knkPO-0000uP-3U; Fri, 11 Dec 2020 10:32:38 -0500 Date: Fri, 11 Dec 2020 17:32:20 +0200 Message-Id: <83mtyk1hq3.fsf@gnu.org> From: Eli Zaretskii To: Stefan Kangas In-Reply-To: (message from Stefan Kangas on Fri, 11 Dec 2020 09:15:32 -0600) Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Kangas > Date: Fri, 11 Dec 2020 09:15:32 -0600 > Cc: juri@linkov.net, info@protesilaos.com, contovob@tcd.ie, > 45068@debbugs.gnu.org > > > What theme-related files need to be byte-compiled, and why? > > I believe the issues involved are explained in some detail in the first > message in this bug report. If they are, I'm missing that. All I see is an assertion that the files must be byte-compiled: > The problem with contributing this new code to Emacs is that it cannot > work if it is placed in ../etc/themes/. Instead, the files need to be > in a path that handles byte-compilation, like ../lisp/modus-themes/. I'm probably missing something, and that is what I'm asking to elaborate on. TIA From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 10:42:24 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 15:42:24 +0000 Received: from localhost ([127.0.0.1]:42681 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knkYq-0000A7-BO for submit@debbugs.gnu.org; Fri, 11 Dec 2020 10:42:24 -0500 Received: from mout.gmx.net ([212.227.15.18]:39969) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knkYm-00009p-3h for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 10:42:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1607701331; bh=phDhJ74u+sc+a/O7scGdtT0C87BD7I4Uooc3Cik5Svw=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=eFwX5rRhl9hDesKCT+MJsQGI600mzJuIAo5L1bCV1mOPbKnhBojxVPl3ncaPRV53d BczDXM9WERNOOUwM66h5Bu/RBAGPxx60xHXdXV2r4PzT1H4uVm8amyD74HD2KZEfEp YK/qy2cctvr7eyxf6sSynFMqlARFJWyCqv6Pgwdk= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs06.server.lan [172.19.170.174]) (via HTTP); Fri, 11 Dec 2020 16:42:10 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Dec 2020 16:42:10 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <83mtyk1hq3.fsf@gnu.org> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:Vq5p/uLFj35dJ/Ybi9pjiVLH5PCPrRm3XnAN/lserh0N5Y8dEStEn0j78hkyC/ylDg+Jl THGH2cFqDwtj5bR/Alf8+YzPfFEAeh1YJrNi+ohf5iIHB6bCKpmoJKYMYF4Yp1j1opGA32HR+a5I xK7rCmZPwWx2FM23TUbyqSUWP36QAhXSso1Fj57NiX3X5KzGTrcg8mnl+adt2vXMU3flxSSsw+cM clBfYyXQx0C7H60iLeXFN7L4heCerAOJdudu5KZm5a3zaxG3FutpFaeX3/o8Y6txiBoszEaH57Pt MM= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:oSJ8lqSlrlE=:A7WaCC7+oHicaobP2FQZEE WatwofdqDHKBphtkzApytlAPb3gyWmunFKWQ7Bzdzl5pRHmb9RNtvWqJDqmCmx1lYJSCC7Qtw ctz3k/Mf8aKdW3chvVdd5krOUx3OhJiqHHQRrL0qxC/eiZqGFkxv4pysWvJFwNaaqAgtuj7xA TWEYINL9HN//wQbNc+CEBNwpa6SZhKD7x9Bcs4qIa4eBL9niPgHQGvKkAHbCo3ulijWh3GjQy 1z3ZtHwutFg+REjX5dz9+60qg5ZfkTgm2P4w+7lhja/H4uxR6AdCGzgZ7xfKo9oG37zGCIpb5 wjtnRKXUh2pUa/E3+gMDQD+/2mhEkCnxk3O4rWIiW4CqnPJX8smiIPR+FyoSSKzJrC6mOXixE 1dq+1Pw2kHHOcD3vQWOip6ACYvEoRrav7o4d7ZLq2JRM+z6ezOcKobVKMQRwQ0aFuPV6I8Nan GMj3nYMs1aivsPvT+8CWZJcaxaJEbCPp0mr1bRXxO9vc+icg6QmsBg7okhh3IBYkWueNOqWjZ 9Z1xuxSgN3btwPky5/059zZlt8fiv5Wq4l8N+UJOz4BZOKxvwSD1Pn4/ue3wOQJZQcAaNA/OK KpZP7sgJVpUjE= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, juri@linkov.net, Stefan Kangas , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Sent: Friday, December 11, 2020 at 4:32 PM > From: "Eli Zaretskii" > To: "Stefan Kangas" > Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@l= inkov.net > Subject: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward= -incompatible) > > > From: Stefan Kangas > > Date: Fri, 11 Dec 2020 09:15:32 -0600 > > Cc: juri@linkov.net, info@protesilaos.com, contovob@tcd.ie, > > 45068@debbugs.gnu.org > > > > > What theme-related files need to be byte-compiled, and why? > > > > I believe the issues involved are explained in some detail in the firs= t > > message in this bug report. > > If they are, I'm missing that. All I see is an assertion that the > files must be byte-compiled: > > > The problem with contributing this new code to Emacs is that it cannot > > work if it is placed in ../etc/themes/. Instead, the files need to be > > in a path that handles byte-compilation, like ../lisp/modus-themes/. Then a good idea to use "lisp/themes" for modus-themes :) > I'm probably missing something, and that is what I'm asking to > elaborate on. > > TIA > > > > From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 10:54:01 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 15:54:01 +0000 Received: from localhost ([127.0.0.1]:42720 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knkjs-0002ZB-S0 for submit@debbugs.gnu.org; Fri, 11 Dec 2020 10:54:01 -0500 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:58757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knkjr-0002Yl-Fj for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 10:53:48 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id E690DFF803; Fri, 11 Dec 2020 15:53:39 +0000 (UTC) From: Protesilaos Stavrou To: Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> Date: Fri, 11 Dec 2020 17:53:34 +0200 In-Reply-To: <83mtyk1hq3.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 11 Dec 2020 17:32:20 +0200") Message-ID: <87czzgbapt.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, Stefan Kangas , juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2020-12-11, 17:32 +0200, Eli Zaretskii wrote: >> From: Stefan Kangas >> Date: Fri, 11 Dec 2020 09:15:32 -0600 >> Cc: juri@linkov.net, info@protesilaos.com, contovob@tcd.ie, >> 45068@debbugs.gnu.org >> >> > What theme-related files need to be byte-compiled, and why? >> >> I believe the issues involved are explained in some detail in the first >> message in this bug report. > > If they are, I'm missing that. All I see is an assertion that the > files must be byte-compiled: > >> The problem with contributing this new code to Emacs is that it cannot >> work if it is placed in ../etc/themes/. Instead, the files need to be >> in a path that handles byte-compilation, like ../lisp/modus-themes/. > > I'm probably missing something, and that is what I'm asking to > elaborate on. There now are four *.el files that make up the project: + modus-themes.el contains all defcustom, color palettes as alists, helper functions, and the face specs. + modus-themes-core.el contains a macro that 'let' binds the aforementioned alists around 'custom-theme-set-faces' and 'custom-theme-set-variables'. + modus-{operandi-vivendi}-theme.el contain a 'deftheme' and concomitant 'provide-theme' referencing each of them and just expand the macro. - Each of those files has (require 'modus-themes) and (eval-when-compile (require 'modus-themes-core)). Though I also tried without the eval-when-compile part. When I attempted to place all four files in etc/themes/ and then start a new 'emacs -Q' session, M-x load-theme RET modus-{operandi,vivendi} would throw an error: Cannot open load file: No such file or directory, modus-themes Whereas the latest patch I sent[1] does not produce any errors and fixes the issues I had identified in my original message. [1]: https://lists.gnu.org/archive/html/bug-gnu-emacs/2020-12/msg00937.html -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 11:05:14 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 16:05:14 +0000 Received: from localhost ([127.0.0.1]:42734 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knkuw-0002th-3A for submit@debbugs.gnu.org; Fri, 11 Dec 2020 11:05:14 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:25289) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knkut-0002tS-Oe for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 11:05:12 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 8334124000B; Fri, 11 Dec 2020 16:05:04 +0000 (UTC) From: Protesilaos Stavrou To: Stefan Kangas Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> Date: Fri, 11 Dec 2020 18:05:01 +0200 In-Reply-To: (Stefan Kangas's message of "Fri, 11 Dec 2020 08:16:47 -0600") Message-ID: <878sa4ba6q.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, Eli Zaretskii , 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2020-12-11, 08:16 -0600, Stefan Kangas wrote: > Eli Zaretskii writes: > >>> Taking a step back, why are any themes in "etc/themes" to begin with? >> >> This question should have been asked 10 years ago, when we added that >> place. > > I wasn't paying attention 10 years ago, I'm afraid. :-) > >> Nowadays I think the question is what's so wrong with that >> place that would justify moving the files. If there are no serious >> problems, I'd prefer to keep using that directory for themes. > > Right. Well, I don't exactly have a strong opinion either way. But I > do think that we should be consistent: it would be confusing to have > some themes in "etc/themes" and some in "lisp/themes". > > If we can't move all themes to "lisp/themes" and we don't want to use > "lisp/themes" just for support files, to my mind the only remaining way > forward is to add some way to byte-compile (perhaps only some?) files in > "etc/themes". And then make sure they can be loaded, are installed with > Emacs, etc. > > Does that sound good, or could we do even better here? > > Protesilaos, what do you think? Does it sound workable for you? I am fine with whatever is considered best for Emacs and am willing to make any changes you may consider necessary. My intent here is to contribute the latest version which satisfies the number one feature request I kept receiving: let the themes be customised uniformly. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 11:31:22 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 16:31:22 +0000 Received: from localhost ([127.0.0.1]:42752 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knlKE-0003Zl-60 for submit@debbugs.gnu.org; Fri, 11 Dec 2020 11:31:22 -0500 Received: from mout.gmx.net ([212.227.15.18]:41217) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knlKC-0003ZZ-4w for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 11:31:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1607704271; bh=uSKgRfk8QRzuHB3nCPsuG3F2Zs1qzrAo1T9vpUgIidU=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=h7C9dIJdeB0+xi6TUsi8MEsmz1sy0rjyLN63l5E4GnAJhgixXkVVI1/jkNDkPyYiK N74LSQR0Xb/V2pvmsNr5lxu+nwiUsAjCW0AyWhOYIKwC2xc8nBKhuE5V0ISbIpx3mS O9zBsNYRjUCRORsvUMjkxB+Xho5XRynpGtzEXW7o= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs06.server.lan [172.19.170.174]) (via HTTP); Fri, 11 Dec 2020 17:31:11 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Stefan Kangas Subject: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Dec 2020 17:31:11 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <878sa4ba6q.fsf@protesilaos.com> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <878sa4ba6q.fsf@protesilaos.com> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:hoEYQcu2z0Jbcb63DlQOA96KwqPJx6Q8UFNTM0HHHXovtlFdxInztOl3TzVYN/hZwsYQC 0s9ie3ELw43cqi3o57F7vXLPq7n+Zbzaj8++Hmzuv8C5wBD3nzes1H8JXofaDh4/N0Hyd9qHldS7 DVKHJftCM1XtfF4ecsH6UsSfuHmVQJ6xTLdhSWSr0lx8CWf2xLnYWQAOyGtoJBSv26vYnpj9J1dp 0IxD6yl7VstrEz1AKOU4nzZ8sWklZg9ts8j6HQ8wOkURQrp/O//BIjwWkMutw2c8vfT29hR/FeNt mg= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:WA4LKszpOBs=:chqtHHUr2yw7Ty5uGbfpCJ HuiF2zvqMeeq2pSJqtgEFUeRzVwdYauPGdjEjs7O1UorYU9aJFX94lzKGWIUydviaSwkiIdqM i44aFnQtlgwPIOdOvmeGYiFaRwhQy4rQsJHeASWWmMKOCR3yPeIUq/xiATKAJc+1XeeJz0EIJ wL2BAkaqiWpidPoRt3qC79QTTAV/8quOuo9tttx+waFdyHGiy65cSRW4l8OiXdWZwMyWEdLn6 RWAKz+NYieT1BCzuwbkw3cdh7vy3KIRZjhb1Y5GYtyD5UdBg2ECF6oruj639rNefm7cdvBiDt j+dKZp06nXbml2zYeRaJeTYVLE9YaMQiSVnlmB63Vsw/dxrKSInY38HL1PNQ9qMisV6aGbTqa iHHaJ3nRZ5gAHyAz0z5g3F4adfKyPB4tBUIoHnKQTEw7soyFt0LOr5k1cOu5V6klziy5GnDU+ doQ47uaLpg+1BysBcj8GgjBx7nybM5F4eqqr4Zrbp4iHTmImfvUX8dTLyj2qLpQGvSnlKm0/E vTVm3UB2dNWlf36OtEZZB3zc8bDdpAOa3wa6XKHkeRjvia6HW0lPIQg02Zif993r2D0FRa6hE 7hx3leEL1AVjc= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, Stefan Kangas , juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Sent: Friday, December 11, 2020 at 5:05 PM > From: "Protesilaos Stavrou" > To: "Stefan Kangas" > Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, juri@linkov.net > Subject: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward= -incompatible) > > On 2020-12-11, 08:16 -0600, Stefan Kangas wrote= : > > > Eli Zaretskii writes: > > > >>> Taking a step back, why are any themes in "etc/themes" to begin with= ? > >> > >> This question should have been asked 10 years ago, when we added that > >> place. > > > > I wasn't paying attention 10 years ago, I'm afraid. :-) > > > >> Nowadays I think the question is what's so wrong with that > >> place that would justify moving the files. If there are no serious > >> problems, I'd prefer to keep using that directory for themes. > > > > Right. Well, I don't exactly have a strong opinion either way. But I > > do think that we should be consistent: it would be confusing to have > > some themes in "etc/themes" and some in "lisp/themes". > > > > If we can't move all themes to "lisp/themes" and we don't want to use > > "lisp/themes" just for support files, to my mind the only remaining wa= y > > forward is to add some way to byte-compile (perhaps only some?) files = in > > "etc/themes". And then make sure they can be loaded, are installed wi= th > > Emacs, etc. > > > > Does that sound good, or could we do even better here? Perhaps you can make a new location for themes, put the required functiona= lity, then thrash the part that handled "lisp/themes" and "etc/themes". That w= ould then be a long term solution. > > Protesilaos, what do you think? Does it sound workable for you? > > I am fine with whatever is considered best for Emacs and am willing to > make any changes you may consider necessary. > > My intent here is to contribute the latest version which satisfies the > number one feature request I kept receiving: let the themes be > customised uniformly. > > -- > Protesilaos Stavrou > protesilaos.com > > > > From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 13:39:54 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 18:39:54 +0000 Received: from localhost ([127.0.0.1]:42912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knnKb-0000TC-7x for submit@debbugs.gnu.org; Fri, 11 Dec 2020 13:39:54 -0500 Received: from eggs.gnu.org ([209.51.188.92]:50304) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knnKV-0000Sv-Nj for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 13:39:52 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51845) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knnKN-00087V-W8; Fri, 11 Dec 2020 13:39:40 -0500 Received: from [176.228.60.248] (port=1616 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1knnKM-0005JR-2t; Fri, 11 Dec 2020 13:39:38 -0500 Date: Fri, 11 Dec 2020 20:39:20 +0200 Message-Id: <83lfe4192f.fsf@gnu.org> From: Eli Zaretskii To: Protesilaos Stavrou In-Reply-To: <87czzgbapt.fsf@protesilaos.com> (message from Protesilaos Stavrou on Fri, 11 Dec 2020 17:53:34 +0200) Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, stefankangas@gmail.com, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Protesilaos Stavrou > Cc: Stefan Kangas , juri@linkov.net, > contovob@tcd.ie, 45068@debbugs.gnu.org > Date: Fri, 11 Dec 2020 17:53:34 +0200 > > >> > What theme-related files need to be byte-compiled, and why? > >> > >> I believe the issues involved are explained in some detail in the first > >> message in this bug report. > > > > If they are, I'm missing that. All I see is an assertion that the > > files must be byte-compiled: > > > >> The problem with contributing this new code to Emacs is that it cannot > >> work if it is placed in ../etc/themes/. Instead, the files need to be > >> in a path that handles byte-compilation, like ../lisp/modus-themes/. > > > > I'm probably missing something, and that is what I'm asking to > > elaborate on. > > There now are four *.el files that make up the project: > > + modus-themes.el contains all defcustom, color palettes as alists, > helper functions, and the face specs. > > + modus-themes-core.el contains a macro that 'let' binds the > aforementioned alists around 'custom-theme-set-faces' and > 'custom-theme-set-variables'. > > + modus-{operandi-vivendi}-theme.el contain a 'deftheme' and concomitant > 'provide-theme' referencing each of them and just expand the macro. > > - Each of those files has (require 'modus-themes) and > (eval-when-compile (require 'modus-themes-core)). Though I also > tried without the eval-when-compile part. > > When I attempted to place all four files in etc/themes/ and then start a > new 'emacs -Q' session, M-x load-theme RET modus-{operandi,vivendi} > would throw an error: > > Cannot open load file: No such file or directory, modus-themes So this is not about byte-compiling, it's about being able to load some of the files that constitute this group of themes? If so, I see several possibilities: . make a single file with all the functionalities . invent a new function custom-require that would search the custom load-path, and use that instead of 'require' . don't consider this a "theme", but a normal Lisp package (since it basically violates the conventions for writing a theme) From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 13:56:56 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 18:56:56 +0000 Received: from localhost ([127.0.0.1]:42944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knnb5-0000tV-Vj for submit@debbugs.gnu.org; Fri, 11 Dec 2020 13:56:56 -0500 Received: from mout.gmx.net ([212.227.15.19]:33003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knnb2-0000tE-0J for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 13:56:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1607713003; bh=Nv0nMI8c5ThLoC1o7b++oAwkk1dj4BTxaH/bBDENV4c=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=JCeDHVFDc8CsDBr7n6K3URP/r5Y1xFQTtCvWg1hP3vs2pzeE7B6CdHYrrOEjSsfaR 9rTqudpchGDdwkP1gmI6OErPNCljXyeyogPWBweYXKemwlSKTf403bPRx4NSk+GFR0 ff4CwLA0Ls04ry3jUH+v3hSdxCbLrIYLCxwxZCp8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs06.server.lan [172.19.170.174]) (via HTTP); Fri, 11 Dec 2020 19:56:43 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Dec 2020 19:56:43 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <83lfe4192f.fsf@gnu.org> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:8mGoFDlvwwZ/JoeZNy15tMpEQYk1v1FGHTzl3RL/De8IECtFisOGxsY53Wj8hYMky74/O Y5d7UzyEHTSahkCJ7IzHWn0LYo7nD/6BZv/SEXCo57oLsa/gknwVOttwd0rqcu7yW15SJncy7EDd dgWEXEirzi4q2h+9q7BfL+AL/75PaS3gvaPgppaGL2fZG62aL4Mm1DbnOU462X59mcns2qeoc07q 01FjEbTIKMTqY3IXimGR1pvZMSVfIKQ98N1leZ2oMZLSy+7m49RX5HNDs7VbFrpXw27oB3ofWcXI EU= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:F+xECZnN4U4=:zGzghAulqg8R2CzfzaJohZ KOh3Wm1Kj9vc78z2mmrNVL1svMfD4ctoVy/Yhsf3j/k8uzLrx6RNmmJaT5JHMe+8uPH4ozbYS 4PkDjdRRoE6VV1SayOHyiuZeK8vZOzXjJLDbAYEidJqp2gtCfPs2A4T/sh8KCMFaiR7hLW0ye AGVstWSnr/FY2wQN28Oen4uynvQl5dXRmWSdRU4oPR+qGqQ84E0XbPcwziYGJqeb0EFe94yXx HHfYZE4O4mRyS37LdSswzRI2evPxbfrLQMfgEk69qp+XC0i8ndYfsEd2ctj1mF5w8qktwto12 pX+mobJZFLHS/KUZt2ctRPSLLVhrYvsSj5qyHhLPgE5GaFngXhVv7VVwLeqW5pIXmAiZVMv0q 8/oHgl0VoG8+2NNftNf8P/WjyrpPQh8RK+ScB31MQ5utDZy0BP9WCxZeOoyS/MIivigoNBMDc e6CeU9dmKO/Jz/cxOzOuk0DzUJ4VZRN+RnysMa90VLA5Je4Ln4h+2LdZbIYEH7bwrTeUEP84s g5OOywd6bqDKBbciGLfnvPfCc8zU7cJ1M5GapvNQPAN51GVDK35YFllNtyvD/9A9sIffhwc3O h1IkxmYmrxL2I= Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, Protesilaos Stavrou , juri@linkov.net, 45068@debbugs.gnu.org, stefankangas@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Sent: Friday, December 11, 2020 at 7:39 PM > From: "Eli Zaretskii" > To: "Protesilaos Stavrou" > Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, stefankangas@gmail.com, juri= @linkov.net > Subject: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward= -incompatible) > > > From: Protesilaos Stavrou > > Cc: Stefan Kangas , juri@linkov.net, > > contovob@tcd.ie, 45068@debbugs.gnu.org > > Date: Fri, 11 Dec 2020 17:53:34 +0200 > > > > >> > What theme-related files need to be byte-compiled, and why? > > >> > > >> I believe the issues involved are explained in some detail in the f= irst > > >> message in this bug report. > > > > > > If they are, I'm missing that. All I see is an assertion that the > > > files must be byte-compiled: > > > > > >> The problem with contributing this new code to Emacs is that it can= not > > >> work if it is placed in ../etc/themes/. Instead, the files need to= be > > >> in a path that handles byte-compilation, like ../lisp/modus-themes/= . > > > > > > I'm probably missing something, and that is what I'm asking to > > > elaborate on. > > > > There now are four *.el files that make up the project: > > > > + modus-themes.el contains all defcustom, color palettes as alists, > > helper functions, and the face specs. > > > > + modus-themes-core.el contains a macro that 'let' binds the > > aforementioned alists around 'custom-theme-set-faces' and > > 'custom-theme-set-variables'. > > > > + modus-{operandi-vivendi}-theme.el contain a 'deftheme' and concomita= nt > > 'provide-theme' referencing each of them and just expand the macro. > > > > - Each of those files has (require 'modus-themes) and > > (eval-when-compile (require 'modus-themes-core)). Though I also > > tried without the eval-when-compile part. > > > > When I attempted to place all four files in etc/themes/ and then start= a > > new 'emacs -Q' session, M-x load-theme RET modus-{operandi,vivendi} > > would throw an error: > > > > Cannot open load file: No such file or directory, modus-themes > > So this is not about byte-compiling, it's about being able to load > some of the files that constitute this group of themes? > > If so, I see several possibilities: > > . make a single file with all the functionalities > . invent a new function custom-require that would search the custom > load-path, and use that instead of 'require' > . don't consider this a "theme", but a normal Lisp package (since it > basically violates the conventions for writing a theme) It is still a theme though. What conventions does it violate, briefly? Not being a single file? From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 14:08:28 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 19:08:28 +0000 Received: from localhost ([127.0.0.1]:42955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knnmG-0001BQ-59 for submit@debbugs.gnu.org; Fri, 11 Dec 2020 14:08:28 -0500 Received: from mail-pl1-f176.google.com ([209.85.214.176]:43059) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knnmD-0001BA-RM for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 14:08:26 -0500 Received: by mail-pl1-f176.google.com with SMTP id x12so4587483plr.10 for <45068@debbugs.gnu.org>; Fri, 11 Dec 2020 11:08:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=Y0I2Xz/EZ4yhmZFDaTpLVBALxBfVI6a6NRlgOQANkZc=; b=iwR7PSibEK7wF/ZLeMnizDrUsQz4n/uWfrXfmnLPbBU60nx7YIlz+4klQGlf/nezp8 3kpDAkHRohcnmthKx3rQQGY7pzyWdOSiEwcEwxT3wdmRuPjo0KskiA3rRBB0AzsGWuq6 pqC25MEr937Hea+d6/QcWWcYTim26+EB4oyoC8jqv8Lqx7XWaxw+/xCpbYS7+9FAKjE4 AfZ/YSMmFaZnXR5Ne/SKbjRTQOugLLMRp1plKElzwKNq5szX/Uu4KwBh3I7Mj3YpLyLv ZaeBkdMXPWHJD52a0s5BiyCbv/esX+2NkjheSZ/NvHY7v4pXnYHkFUPI/gHpkJdsIjq3 WOGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=Y0I2Xz/EZ4yhmZFDaTpLVBALxBfVI6a6NRlgOQANkZc=; b=W02y3iiPhJ3C0s5TGzfaIBs/ns3FRvbEYHluSjqVfMwyxlQLlqv1VidUecbFFehRZ+ dmIFP5V5aQwAB6FRPooYfM52lETbLq4mxauOrnxE4z5I5vcv7oVRddOXp6Uf6XvjjUQC 05v6PgFh3gww2SvatTNT0WOTNlsdK2SeNVc39cYaZSt4Vhdgo2usQ2X2S5dF6UW92Ywk Az8cllo1Z2p9tiuyqhynGmjqStGLvjOVgpUgD+Llt8vjCY5bZvZhv/MMPgbJa8q8n+Fa 3PHEODVj+wzIN+bYBYj2pdDn591F50agPchNc8gMri+sodlkm12MGQAz/S7ml87OvZmh txow== X-Gm-Message-State: AOAM530XQLuk3hUqTc/21MSWB6VoNG1Wm9nIF8VjYLGNNxsipsc3LpDq PdaYFBcpuSOeB09apFH9gDtyWcaa6ZifMWjexTo= X-Google-Smtp-Source: ABdhPJyU+knVDb6aMP6kYkUHfjj9Dh17rqY69pIuPNnbChqKIi2j+97TKNUzrqNbe3PoYQM0V37RenP+REdR7KijEco= X-Received: by 2002:a17:902:ac93:b029:db:c725:e321 with SMTP id h19-20020a170902ac93b02900dbc725e321mr12249605plr.41.1607713700022; Fri, 11 Dec 2020 11:08:20 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 11 Dec 2020 13:08:19 -0600 From: Stefan Kangas In-Reply-To: <83lfe4192f.fsf@gnu.org> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> MIME-Version: 1.0 Date: Fri, 11 Dec 2020 13:08:19 -0600 Message-ID: Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) To: Eli Zaretskii , Protesilaos Stavrou Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > . don't consider this a "theme", but a normal Lisp package (since it > basically violates the conventions for writing a theme) I guess such violations of our old conventions are getting increasingly common in (third-party) Emacs theme development. See for example: https://github.com/bbatsov/solarized-emacs https://github.com/hlissner/emacs-doom-themes FWIW, I think this is a sign of the health and maturity of Emacs theme development; code reuse is as useful in themes as in any other Lisp code. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 15:05:22 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 20:05:22 +0000 Received: from localhost ([127.0.0.1]:43235 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knofJ-0006ut-Rt for submit@debbugs.gnu.org; Fri, 11 Dec 2020 15:05:22 -0500 Received: from mout.gmx.net ([212.227.17.21]:44691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knofH-0006uc-8f for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 15:05:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1607717110; bh=tHlloBkWWtZ0m0ZF3mTXE+TuyiVxK9bKz2o0ePyobKA=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=bY+kRtioBjjK1uGisOxZJ/nhBtsgK7pcHYG+zJmPwAmmC7086aYGNEl2kPePUG/Mr JY1QlY4pP0zO9ppQdFCTcDOWPu6oQCuOnqnUEwpzXfyb77+ybPmYBn4+BEI/Qk3znH h0SK0IVU6mdo0iMbV42/L6upUJiBo8qSFI26TzeY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs06.server.lan [172.19.170.174]) (via HTTP); Fri, 11 Dec 2020 21:05:10 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Stefan Kangas Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Dec 2020 21:05:10 +0100 Importance: normal Sensitivity: Normal In-Reply-To: References: <87im9fgm27.fsf@protesilaos.com> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:eLkLaS5eA9izNGsBn7kdpxBz0axpLGGX1Y9CqAibbFyrKdAguSD3cu49bDjQljc9WVvjy 8mvm8eRCBWfPe38yHFULVM9YskVjOTbQkuVI5EqzhRQPmXfX0y5dOV0trlL058GqCgxlzTFsZQVd xvo/lWiqAp0ZBzkdTAc2ocQNYhMEqBgiUVXMbaK+wQzTcrRagQgDIe4beTykG28kQMHFz6fIX5lA f2YSMogVap+Y+MbrNlN/+tOUo8m6Mr1guJKEm0kYmC92Adog2SGVgYi8Y5slCNC+5OfPihZmpnoc 3w= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:LmGB/8GxOBQ=:GOcD5Y5Lejbc1kG/Fikldi qiEGVjop+2rDaiuiABK74WrwTrl/0X42skAUSvLUllSuTX23bVU2oNGIQFzZ+UGpFKDG1VI/B 6WWEzziVR0m45ug6pFvKiA+rVYZlZbFFp1R/5dIupiTnCRl5qN5fgWKlpizG0418/G69dWL4z 56TP1IVmTdpRTNYbqaLmuTFFGXQNxCAHUZYjfIwCmR66QdrGJIIK3FaB4j8R2LvgbJw/E9ci4 57y8D+4IZcSqVcwvYXl7RMfLzu13DDawxAHi8MvClGLPDv9ZEINcRR4+4esR/kQ7Mql6h5Etc U2mUZdiBF+mh6RhlENca+K5B8dhB/95GuZI8ExFt10ExJanUlc5HsecBulxxx+Q98F02pJBi1 gdvnovrtS83VoYe/syme0x10N9pOA8o/amBxBVup2iRWZ7DU8pektQDol7JHRIO8c0FSkkxZn oP5zXUvxDoIrq8CYoWnFZMogJfyKjO+S//d3FUjISteKPdxOjkVRLFuNh6LpiXoLcwMpFXwEh IyYGTejaPjW8W8JnOTOqSnL6dDDyYIop9TaRNj92vHf6j5VbiRI6SNRVl8Q4OSnA/EUr1jooI OZzU1oEAo5DBw= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, Eli Zaretskii , juri@linkov.net, Protesilaos Stavrou , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Sent: Friday, December 11, 2020 at 8:08 PM > From: "Stefan Kangas" > To: "Eli Zaretskii" , "Protesilaos Stavrou" > Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, juri@linkov.net > Subject: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward= -incompatible) > > Eli Zaretskii writes: > > > . don't consider this a "theme", but a normal Lisp package (since it > > basically violates the conventions for writing a theme) > > I guess such violations of our old conventions are getting increasingly > common in (third-party) Emacs theme development. See for example: > > https://github.com/bbatsov/solarized-emacs > https://github.com/hlissner/emacs-doom-themes > > FWIW, I think this is a sign of the health and maturity of Emacs theme > development; code reuse is as useful in themes as in any other Lisp > code. I agree with that. Themes like those of Protesilaos have reached a very high standard and have recommended modus-themes as a default for emacs. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 15:14:33 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 20:14:33 +0000 Received: from localhost ([127.0.0.1]:43282 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knooD-0007AK-1c for submit@debbugs.gnu.org; Fri, 11 Dec 2020 15:14:33 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40558) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knooB-0007A3-MR for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 15:14:32 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53161) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knoo3-0003Ng-65; Fri, 11 Dec 2020 15:14:25 -0500 Received: from [176.228.60.248] (port=3428 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1knoo2-00041q-MD; Fri, 11 Dec 2020 15:14:23 -0500 Date: Fri, 11 Dec 2020 22:14:06 +0200 Message-Id: <83im9814oh.fsf@gnu.org> From: Eli Zaretskii To: Stefan Kangas In-Reply-To: (message from Stefan Kangas on Fri, 11 Dec 2020 13:08:19 -0600) Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Stefan Kangas > Date: Fri, 11 Dec 2020 13:08:19 -0600 > Cc: juri@linkov.net, contovob@tcd.ie, 45068@debbugs.gnu.org > > Eli Zaretskii writes: > > > . don't consider this a "theme", but a normal Lisp package (since it > > basically violates the conventions for writing a theme) > > I guess such violations of our old conventions are getting increasingly > common in (third-party) Emacs theme development. Then maybe the best way is to provide that require-theme function I proposed. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 15:16:39 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 20:16:39 +0000 Received: from localhost ([127.0.0.1]:43290 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knoqA-00008c-Lo for submit@debbugs.gnu.org; Fri, 11 Dec 2020 15:16:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40958) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knoq9-0008U6-10 for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 15:16:33 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53190) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knoq2-00041H-Qi; Fri, 11 Dec 2020 15:16:26 -0500 Received: from [176.228.60.248] (port=3551 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1knoq1-0004F8-Dq; Fri, 11 Dec 2020 15:16:26 -0500 Date: Fri, 11 Dec 2020 22:16:08 +0200 Message-Id: <83h7os14l3.fsf@gnu.org> From: Eli Zaretskii To: Christopher Dimech In-Reply-To: (message from Christopher Dimech on Fri, 11 Dec 2020 19:56:43 +0100) Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, juri@linkov.net, 45068@debbugs.gnu.org, stefankangas@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > From: Christopher Dimech > Cc: Protesilaos Stavrou , contovob@tcd.ie, > 45068@debbugs.gnu.org, stefankangas@gmail.com, juri@linkov.net > Date: Fri, 11 Dec 2020 19:56:43 +0100 > > It is still a theme though. What conventions does it violate, briefly? > Not being a single file? Not being a theme, really. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 15:22:11 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 20:22:11 +0000 Received: from localhost ([127.0.0.1]:43334 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knovb-000149-Hr for submit@debbugs.gnu.org; Fri, 11 Dec 2020 15:22:11 -0500 Received: from mout.gmx.net ([212.227.15.19]:43195) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knovY-00013u-T6 for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 15:22:10 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1607718118; bh=nJSiIEVJhQaMoCvp5yFvFVM7eIhkdO1dx/EaRJM6M/0=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=BBLJKmtxfpumio+A41a2nXwzepqBn7aBwnicpG6dqYD460YZh0JLCg09cHqOssGAe GVbclF74p52N1z2FgwQPIZxAdmsw5qngLh7vnSpOWfZyqQ8IdYqNoJAmMLXiEmxwS2 WP8vuwgB7v9lAlb4cpPH9Hl2TAARKy+SK2h0yhD0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs06.server.lan [172.19.170.174]) (via HTTP); Fri, 11 Dec 2020 21:21:58 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Dec 2020 21:21:58 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <83im9814oh.fsf@gnu.org> References: <87im9fgm27.fsf@protesilaos.com> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:rAeZm0wKfwrOJMiapNC9d67oq62CCMSZy790xboKHp3ws7jlkeu0J/fKldRLNIDqADmra 68VH4UFTNHpFxLh26aCVu6rB8TEL6EfLH64Kq0ysKCnbQGdtYEWtmFsa0ClVeJL6BhEWOvAwht7q d9HyUyjFKkp00kqaiG533fkPhoqnXeQr7LCWjRHA3fFIa5cyKBKoocrfUe3EN9alfcS9P6ellyQs U3BkWaMe/1G9wWneTPSKRwRrR3ui1xmIlY17bI/Q4+ZIJnFveEWsQ+/sGHixo/ecbqWNrwtP5YU6 LE= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:GDYV0mxJTXc=:ingytASyJGkj4Jko8HP/QI KD5OX2UvznqEjQdqg7bxmuQwUHj+5HRRYekvPbCKyt99/NYpNWVi13beg4bgScEKiKqAzyxeQ ulxr8mRnyA78pEu6KAmu+75BY/yBfydbkPdsaZ3BNezFc9gLqJuEzD8hANyVtViseqkprmCjv v1QPE+TXQxLSxIIkTNsY8BxKt6QycHzhPgs7O1av2lkN7g8TLDIKZQsi8NwkSg8qdjYqTqMnV rdtkYPA+wVdxecXWSr30BWWvpiC1QdPU6lt47WwNP8PvvtIZgDSuZf4HF9ii+6CD2bIbv5/UQ iF1zW5nd1TDA8CxzWJA+K6bXvmf3DtkyO3L+pFWBArd7smiMBlsZ+C0NtDwqso30ihXB6mWxi 4+ZbaLXFJH0PshdnggwVX4x7A0TDkxxOevYiPmVUX60AgSG5llrjEI40P/XJEbi68LRnpEAqc 92LqGRoGv6x/PsBbK3tQdaa1Rd5QkX675CqKzyHzpJlW8r7gWpbiOTQts37W5sDdHrLQYwYx3 FmpUyFtBUgqQxt4uUh/xga0oyVJ5MY3otZcTvBPPTKr/oR7TazQKIe0ext/hCx5d0YnF2KjSG I90l6gM9e6ZfM= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, juri@linkov.net, Stefan Kangas , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Sent: Friday, December 11, 2020 at 9:14 PM > From: "Eli Zaretskii" > To: "Stefan Kangas" > Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, juri@l= inkov.net > Subject: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward= -incompatible) > > > From: Stefan Kangas > > Date: Fri, 11 Dec 2020 13:08:19 -0600 > > Cc: juri@linkov.net, contovob@tcd.ie, 45068@debbugs.gnu.org > > > > Eli Zaretskii writes: > > > > > . don't consider this a "theme", but a normal Lisp package (since = it > > > basically violates the conventions for writing a theme) > > > > I guess such violations of our old conventions are getting increasingl= y > > common in (third-party) Emacs theme development. > > Then maybe the best way is to provide that require-theme function I > proposed. I would think so. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 11 15:30:18 2020 Received: (at 45068) by debbugs.gnu.org; 11 Dec 2020 20:30:18 +0000 Received: from localhost ([127.0.0.1]:43346 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knp3D-0001GD-0P for submit@debbugs.gnu.org; Fri, 11 Dec 2020 15:30:18 -0500 Received: from mout.gmx.net ([212.227.17.21]:56811) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knp3A-0001FG-Fp for 45068@debbugs.gnu.org; Fri, 11 Dec 2020 15:30:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1607718591; bh=IbOu+Q7b6HRMzqAFE5avKE29WSMeI04jwDHWhBPHYxE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=ERcxPeRvS/JaCh5YC/hMOggf7AK5er8EgJQiZElzimBTaM6IixUTpLrQ67a3/Eq0n PSqKCa4qLuroLzHTs6jB0xNnhHVeFibuPdIb1ZgRoOeg/DRvqSDMxcrtpVd5FOdPcE tSIxFV8uE+0zjKa30zTygqXnZhLVN5lwcieblQOo= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs06.server.lan [172.19.170.174]) (via HTTP); Fri, 11 Dec 2020 21:29:51 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) Content-Type: text/plain; charset=UTF-8 Date: Fri, 11 Dec 2020 21:29:51 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <83h7os14l3.fsf@gnu.org> References: <87im9fgm27.fsf@protesilaos.com> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83h7os14l3.fsf@gnu.org> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:lN7XXBgmNtmmr0oanpq2bYM4Lai8wwViBreh0m31/ZUlbnWDQcbJDYTBu+taLScPGiyyo mW8hLqXJMsrscdQhgZMYhGJlpv0l0mqLdQmrbhTeY1ES0lH1lSY+am3EPzIpKe8t/9wjqgq26pgA bzvCYSpooQbAtQ1r/ZDWpftNuXCbK9w5QCzh4eQSZTZkMQbbaD58j3wmdRO9w6l/frlVLDkmyuHg CecSUf8TIUbicPc1JSGz6oWpSoJ6hXiBenculGRdHHUjianEjp7+CD8a8k2Jakaf8gcebJYx0k05 9Q= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:6HSHMEcgcss=:5jlOHH0L2m3iFwCmukMquI BoSC3r7BOpHlIpYEX6WCUmRSOeNBI7UMd2joC0WtSpWYgmx74OiAyh22E7qE0hXCw0jIwSFC/ Dxvvyrv8mlkcH+aJwNaoJpEz1yqDFixUFPK+IzCF62HmgA8fcVvcSL7n4fAp6A4JQKSAYMM5g 7WrKdw1bo49791TNfkw69Qqmgg0a9iMeW/HoSMGEnTaJVK/hpEW7C8Dq7g4I8lyRUgcFt2lRw sCJDO1Hens1Ru150uahw5TaOMI/U0TbPxt4eKR4UYojNmfCChj5WZjkE9f1/S+QUEfmZ2YKZz hXGzvnjOCifu1Dx21NxBkdw7DkWQ3J+X+sXIJPpPRN0hqz3rxRvNaXH50smUMPAqf4LFyM0lh iLGSKXjshC/pn5kvFBRX9W1q/3CcD2ukA0fsRNdeEDv0KmJpTemmp8QfN909toPXFLl4B+njE hmkH7BZxlJ0I88m7uiMaclIsUkoN81cYvVgQvfWOH/11AhVf5j9kW2BkpEUDkNirnG8PIJTX5 2Fki7GpF1ca8JGcQQnm3r3ZEz5AxfptKd+ihJnRVNoa+LscxEFu3S4XPoBwN8MEceBSK0PSCC 0scZr7vG5ZoqE= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, juri@linkov.net, 45068@debbugs.gnu.org, stefankangas@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Sent: Friday, December 11, 2020 at 9:16 PM > From: "Eli Zaretskii" > To: "Christopher Dimech" > Cc: info@protesilaos.com, contovob@tcd.ie, 45068@debbugs.gnu.org, stefan= kangas@gmail.com, juri@linkov.net > Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (back= ward-incompatible) > > > From: Christopher Dimech > > Cc: Protesilaos Stavrou , contovob@tcd.ie, > > 45068@debbugs.gnu.org, stefankangas@gmail.com, juri@linkov.net > > Date: Fri, 11 Dec 2020 19:56:43 +0100 > > > > It is still a theme though. What conventions does it violate, briefly= ? > > Not being a single file? > > Not being a theme, really. We should look at what the result is, not the type of implementation. Sti= ll I agree on some procedure for theme. The current one seems a bit restrict= ive though. It is true also that the first version was easier to set up thoug= h. I have been using modus-themes as my new standard. I find utility in it, because it passes very good metrics for setting a theme. From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 25 03:50:01 2021 Received: (at 45068) by debbugs.gnu.org; 25 Jan 2021 08:50:01 +0000 Received: from localhost ([127.0.0.1]:37866 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l3xZQ-0007zI-Qj for submit@debbugs.gnu.org; Mon, 25 Jan 2021 03:50:01 -0500 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:38639) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l3xZO-0007z2-6Z for 45068@debbugs.gnu.org; Mon, 25 Jan 2021 03:49:58 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 5601AFF813; Mon, 25 Jan 2021 08:49:49 +0000 (UTC) From: Protesilaos Stavrou To: Eli Zaretskii Subject: Patch for Modus themes 1.1.1? (was: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible)) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> Date: Mon, 25 Jan 2021 10:49:46 +0200 In-Reply-To: <83im9814oh.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 11 Dec 2020 22:14:06 +0200") Message-ID: <87sg6po0yd.fsf_-_@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, juri@linkov.net, Stefan Kangas , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2020-12-11, 22:14 +0200, Eli Zaretskii wrote: >> From: Stefan Kangas >> Date: Fri, 11 Dec 2020 13:08:19 -0600 >> Cc: juri@linkov.net, contovob@tcd.ie, 45068@debbugs.gnu.org >> >> Eli Zaretskii writes: >> >> > . don't consider this a "theme", but a normal Lisp package (since it >> > basically violates the conventions for writing a theme) >> >> I guess such violations of our old conventions are getting increasingly >> common in (third-party) Emacs theme development. > > Then maybe the best way is to provide that require-theme function I > proposed. Hello again! I have produced a newer version in the meantime. Though I understand that a patch would not be able to be merged under the present conditions. Should I prepare it regardless? This would also fix bug#45141 pertaining to some formatting issues in modus-themes.texi. To recapitulate for your convenience: + The current etc/themes/modus-{operandi,vivendi}-theme.el are old-style themes in that they look like the rest of that directory's contents. - They exist as standalone files. They do not require any library. - All their face declarations are furnished therein. - Their version is 0.13.0. + As of version 1.0.0 (and now 1.1.1) of the Modus themes, those two files merely expand a macro and declare their respective theme. They thus depend on a shared library: currently that is modus-themes.el. - The library unifies the themes' defcustom declarations and, in general, streamlines their development (before I would copy lines from one to the other to ensure parity). - This approach of a library and concomitant macro expansion is not in line with the current design of etc/themes/, though as Stefan Kangas observed, such deviations from the established norms are becoming increasingly common in third-party packages. A quick-and-dirty workaround would be to place the library in some other path, such as lisp/modus-themes.el and keep the other two files were they currently are: etc/themes/modus-{operandi,vivendi}-theme.el This could, however, make the source code more difficult to understand. It would also set a bad precedent for any possible future themes, as this thread revealed. So Eli Zaretskii proposed a new 'require-theme' function. I believe this is how things stand. For my part, I am willing to do whatever you consider necessary and will follow your lead. Thank you for your time and efforts! Protesilaos or Prot -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 25 07:51:46 2021 Received: (at 45068) by debbugs.gnu.org; 25 Jan 2021 12:51:46 +0000 Received: from localhost ([127.0.0.1]:38214 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l41LN-0000YL-Ok for submit@debbugs.gnu.org; Mon, 25 Jan 2021 07:51:46 -0500 Received: from mout.gmx.net ([212.227.15.15]:34801) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l41LL-0000Y3-NH for 45068@debbugs.gnu.org; Mon, 25 Jan 2021 07:51:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1611579095; bh=AAzgMEj+NI+bn6wlkJoRt+UgG+2VkWQrOgAXqUig8Cs=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=IHsWX2HNjsLGVFzXpSWnQGnVez5vsI5IvzT82WzMWpof/oznfC9bzaPc9N022mrbA wTLPa+Am7qT32UsyST+chUzK/NV3KSyQcwjhSgLZlEb3lpIJD1LdhIfRtrdHdV0Iui JGndSHF2YORvEH0/1G6ibedxaR5wtbiWavE3QgM0= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs12.server.lan [172.19.170.180]) (via HTTP); Mon, 25 Jan 2021 13:51:35 +0100 MIME-Version: 1.0 Message-ID: From: Christopher Dimech To: Protesilaos Stavrou Subject: Re: bug#45068: Patch for Modus themes 1.1.1? (was: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible)) Content-Type: text/plain; charset=UTF-8 Date: Mon, 25 Jan 2021 13:51:35 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <87sg6po0yd.fsf_-_@protesilaos.com> References: <87im9fgm27.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:TqjhPyCMQ0lIvK/Ub548+bmRxKHfzTjQNcqDlho04wtR4zem/i20bV+Dt1kCKcxiDcWe8 GbnE3WXoZamNH1d44C0W63FwsNdZGyppIsw/rKrHoGZSzD/bi9JxSejL2wUWblysXZ0GU3Bg8Qy5 P1kU9gAa76Y2KgSoz7qh1+U2SEhsl1Yr5pBqahFP+X8ZhbQmLYqaH+KrK6c3c2xFQ13WGy7iQqsD ddXfllXr7imBD8eeqiV7PCQ7WwuNTXNULu5gkg71Z+Iob8mUxPPAvhdx0LtCiKso2g3qp+uAHvQh d4= X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:h550mUy7uV0=:DotCe2KvNHVXgsh2MFxnum IG6fR5ilJS7MOGT1Ol1V/HvgZbRlUwidHPyg6R1xdENJ80CgZhe1dwn5Gkpglg01u+/xcT7p3 QC12O2DtqWPbUXslglovW5BT33yWNzcngf7nvVgEzF9Fxi1pZx/lytwTcHIPXhQTlKTVjT9km BdDU8Cflu+A39uImuQgBFaGzW3Mybc9/1H++Uvj8tUfZLgRxBxmcD4R1obO5EEfxK4ZhewI8w /rGGKnWceM2v54QkFzJ0y2H3i+LmZzqRVc1VwUpN/sf2O7kyVTgBlY72PcYOLa7dZItLnabaR T8p0Wc/PPJ+mcDVHVp9LNoD6wurwovO1NFzDOMhN3WVdq7ej+3uV3qlGvm9Cuy/ikvonIwDX1 5Eb2uGK2QFDeCE39HOknMiupjFU49YZZEBZHiRTTRKMaGhBKIAySJj6Pf9mGT1JvIsivqeiHC put6QAEpJmyfFrxELidEufnbeHURMDdUVhIvC4CRBDFtanGCbFv6SNNZEahdP0ipmNYVQiE4w Gfd3vj4LQBNZC5t85dNf4C9lE4GM+ggufYWvx+/FToQ54aVjUEhb96YAGsY/+4f08ZRcVbcq2 psyjKUTwTDN2s= Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: info@protesilaos.com, juri@linkov.net, contovob@tcd.ie, Stefan Kangas , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Sent: Monday, January 25, 2021 at 8:49 PM > From: "Protesilaos Stavrou" > To: "Eli Zaretskii" > Cc: contovob@tcd.ie, info@protesilaos.com, 45068@debbugs.gnu.org, "Stefa= n Kangas" , juri@linkov.net > Subject: bug#45068: Patch for Modus themes 1.1.1? (was: bug#45068: [PATC= H] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible)) > > On 2020-12-11, 22:14 +0200, Eli Zaretskii wrote: > > >> From: Stefan Kangas > >> Date: Fri, 11 Dec 2020 13:08:19 -0600 > >> Cc: juri@linkov.net, contovob@tcd.ie, 45068@debbugs.gnu.org > >> > >> Eli Zaretskii writes: > >> > >> > . don't consider this a "theme", but a normal Lisp package (since= it > >> > basically violates the conventions for writing a theme) > >> > >> I guess such violations of our old conventions are getting increasing= ly > >> common in (third-party) Emacs theme development. > > > > Then maybe the best way is to provide that require-theme function I > > proposed. > > Hello again! > > I have produced a newer version in the meantime. Though I understand > that a patch would not be able to be merged under the present > conditions. Should I prepare it regardless? This would also fix > bug#45141 pertaining to some formatting issues in modus-themes.texi. > > To recapitulate for your convenience: > > + The current etc/themes/modus-{operandi,vivendi}-theme.el are old-style > themes in that they look like the rest of that directory's contents. > > - They exist as standalone files. They do not require any library. > - All their face declarations are furnished therein. > - Their version is 0.13.0. > > + As of version 1.0.0 (and now 1.1.1) of the Modus themes, those two > files merely expand a macro and declare their respective theme. They > thus depend on a shared library: currently that is modus-themes.el. > > - The library unifies the themes' defcustom declarations and, in > general, streamlines their development (before I would copy lines > from one to the other to ensure parity). > > - This approach of a library and concomitant macro expansion is not in > line with the current design of etc/themes/, though as Stefan Kangas > observed, such deviations from the established norms are becoming > increasingly common in third-party packages. The focus should not be on implementation but on functionality. As things flourish, people will find various ways to do it, with some being better because they yield to a different strategy. I suggest a more pragmatic app= roach. > A quick-and-dirty workaround would be to place the library in some other > path, such as lisp/modus-themes.el and keep the other two files were > they currently are: etc/themes/modus-{operandi,vivendi}-theme.el > > This could, however, make the source code more difficult to understand. > It would also set a bad precedent for any possible future themes, as > this thread revealed. So Eli Zaretskii proposed a new 'require-theme' > function. > > I believe this is how things stand. > > For my part, I am willing to do whatever you consider necessary and will > follow your lead. > > Thank you for your time and efforts! > Protesilaos or Prot > > -- > Protesilaos Stavrou > protesilaos.com > > > > From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 25 10:34:24 2021 Received: (at 45068) by debbugs.gnu.org; 25 Jan 2021 15:34:24 +0000 Received: from localhost ([127.0.0.1]:39667 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l43sl-0007Pe-NW for submit@debbugs.gnu.org; Mon, 25 Jan 2021 10:34:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l43sk-0007PQ-MX for 45068@debbugs.gnu.org; Mon, 25 Jan 2021 10:34:23 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:53055) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l43se-0007r2-2G; Mon, 25 Jan 2021 10:34:16 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3112 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1l43sd-0002rz-24; Mon, 25 Jan 2021 10:34:15 -0500 Date: Mon, 25 Jan 2021 17:34:22 +0200 Message-Id: <83czxt2fpd.fsf@gnu.org> From: Eli Zaretskii To: Protesilaos Stavrou In-Reply-To: <87sg6po0yd.fsf_-_@protesilaos.com> (message from Protesilaos Stavrou on Mon, 25 Jan 2021 10:49:46 +0200) Subject: Re: Patch for Modus themes 1.1.1? (was: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible)) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, info@protesilaos.com, juri@linkov.net, stefankangas@gmail.com, 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Protesilaos Stavrou > Cc: Stefan Kangas , contovob@tcd.ie, > info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net > Date: Mon, 25 Jan 2021 10:49:46 +0200 > > A quick-and-dirty workaround would be to place the library in some other > path, such as lisp/modus-themes.el and keep the other two files were > they currently are: etc/themes/modus-{operandi,vivendi}-theme.el > > This could, however, make the source code more difficult to understand. > It would also set a bad precedent for any possible future themes, as > this thread revealed. So Eli Zaretskii proposed a new 'require-theme' > function. > > I believe this is how things stand. > > For my part, I am willing to do whatever you consider necessary and will > follow your lead. Thanks. So how about adding such a require-theme function, and then using it in your themes? From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 25 01:10:04 2021 Received: (at 45068) by debbugs.gnu.org; 25 Feb 2021 06:10:05 +0000 Received: from localhost ([127.0.0.1]:36436 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lF9qe-00039i-HP for submit@debbugs.gnu.org; Thu, 25 Feb 2021 01:10:04 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:33093) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lF9qc-000391-VS for 45068@debbugs.gnu.org; Thu, 25 Feb 2021 01:10:03 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 879AC240006; Thu, 25 Feb 2021 06:09:55 +0000 (UTC) From: Protesilaos Stavrou To: Eli Zaretskii Subject: Re: Patch for Modus themes 1.1.1? References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> Date: Thu, 25 Feb 2021 08:09:53 +0200 In-Reply-To: <83czxt2fpd.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 25 Jan 2021 17:34:22 +0200") Message-ID: <87h7m0n0em.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, stefankangas@gmail.com, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-01-25, 17:34 +0200, Eli Zaretskii wrote: >> From: Protesilaos Stavrou >> Cc: Stefan Kangas , contovob@tcd.ie, >> info@protesilaos.com, 45068@debbugs.gnu.org, juri@linkov.net >> Date: Mon, 25 Jan 2021 10:49:46 +0200 >> >> A quick-and-dirty workaround would be to place the library in some other >> path, such as lisp/modus-themes.el and keep the other two files were >> they currently are: etc/themes/modus-{operandi,vivendi}-theme.el >> >> This could, however, make the source code more difficult to understand. >> It would also set a bad precedent for any possible future themes, as >> this thread revealed. So Eli Zaretskii proposed a new 'require-theme' >> function. >> >> I believe this is how things stand. >> >> For my part, I am willing to do whatever you consider necessary and will >> follow your lead. > > Thanks. So how about adding such a require-theme function, and then > using it in your themes? Hello Eli, Can you please outline what are the requirements and general functionality of such a 'require-theme' function? I wish to give it a try, though I can only do so in Elisp, whereas 'require' is in C... If there is some source code or documentation I could consult, please point me to it. My intent is to address this issue and then share with you the forthcoming 1.2.0 version of my themes. Thanks again for your time and efforts! Protesilaos -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Thu Feb 25 09:44:45 2021 Received: (at 45068) by debbugs.gnu.org; 25 Feb 2021 14:44:45 +0000 Received: from localhost ([127.0.0.1]:37143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lFHsj-0003DK-6Y for submit@debbugs.gnu.org; Thu, 25 Feb 2021 09:44:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48026) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lFHsh-0003D3-Cr for 45068@debbugs.gnu.org; Thu, 25 Feb 2021 09:44:43 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56826) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lFHsa-0001sl-Tf; Thu, 25 Feb 2021 09:44:36 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1383 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lFHsa-00043x-A2; Thu, 25 Feb 2021 09:44:36 -0500 Date: Thu, 25 Feb 2021 16:44:20 +0200 Message-Id: <83v9agryuz.fsf@gnu.org> From: Eli Zaretskii To: Protesilaos Stavrou In-Reply-To: <87h7m0n0em.fsf@protesilaos.com> (message from Protesilaos Stavrou on Thu, 25 Feb 2021 08:09:53 +0200) Subject: Re: Patch for Modus themes 1.1.1? References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, stefankangas@gmail.com, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Protesilaos Stavrou > Cc: stefankangas@gmail.com, contovob@tcd.ie, 45068@debbugs.gnu.org, > juri@linkov.net > Date: Thu, 25 Feb 2021 08:09:53 +0200 > > Can you please outline what are the requirements and general > functionality of such a 'require-theme' function? I wish to give it a > try, though I can only do so in Elisp, whereas 'require' is in C... A simple implementation that checks whether a theme is already loaded, and if not, looks it up in a suitable list of directories and loads when found. The main part is to make sure themes are looked up in the directories where we expect them to be, as opposed to load-path, which is where 'require' looks for files to load. A Lisp implementation should be fine, I think. Let me know if you need further clarifications. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 26 21:36:01 2021 Received: (at 45068) by debbugs.gnu.org; 27 Feb 2021 02:36:01 +0000 Received: from localhost ([127.0.0.1]:42907 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lFpSb-0005O4-1j for submit@debbugs.gnu.org; Fri, 26 Feb 2021 21:36:01 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:47711) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lFpSZ-0005Np-7J for 45068@debbugs.gnu.org; Fri, 26 Feb 2021 21:35:59 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 153B2240007; Sat, 27 Feb 2021 02:35:51 +0000 (UTC) From: Protesilaos Stavrou To: Eli Zaretskii Subject: Re: Patch for Modus themes 1.1.1? References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> Date: Sat, 27 Feb 2021 04:35:49 +0200 In-Reply-To: <83v9agryuz.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 25 Feb 2021 16:44:20 +0200") Message-ID: <87tupyw83e.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-02-25, 16:44 +0200, Eli Zaretskii wrote: >> From: Protesilaos Stavrou >> Cc: stefankangas@gmail.com, contovob@tcd.ie, 45068@debbugs.gnu.org, >> juri@linkov.net >> Date: Thu, 25 Feb 2021 08:09:53 +0200 >> >> Can you please outline what are the requirements and general >> functionality of such a 'require-theme' function? I wish to give it a >> try, though I can only do so in Elisp, whereas 'require' is in C... > > A simple implementation that checks whether a theme is already loaded, > and if not, looks it up in a suitable list of directories and loads > when found. The main part is to make sure themes are looked up in the > directories where we expect them to be, as opposed to load-path, which > is where 'require' looks for files to load. A Lisp implementation > should be fine, I think. > > Let me know if you need further clarifications. Hello Eli, This is what I could come up with. It is not what you stipulated, as it only accounts for the default themes' directory instead of checking the 'custom-theme-load-path'. ;; To be added to custom.el (defun require-theme-base (base) "Load BASE theme file. BASE is a library that contains forms which are required by a theme declared with `deftheme'. It is located in the same directory as the built-in themes." (let* ((themes-dir (expand-file-name "themes" data-directory)) (themes (directory-files themes-dir nil "\\.el\\'")) files) (dolist (file themes) (unless (string-match-p "-theme\\.el\\'" file) (push file files))) (setq files (mapcar #'file-name-sans-extension files)) (if (and (member (format "%s" base) files) (not (custom-theme-p base))) (unless (featurep base) (load-file (expand-file-name (format "%s.el" base) themes-dir))) (error "`%s' is not a valid theme basis" base)))) I added that function to custom.el and placed the current version of my files at etc/themes: - modus-themes.el (the "base" file) - modus-operandi-theme.el - modus-vivendi-theme.el The latter two are tweaked to use (require-theme-base 'modus-themes) instead of (require 'modus-themes). Compiled and tested on emacs -Q. All theme loading seems to be working as expected. Though I understand that the function is not up to standard for a formal patch. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 27 03:16:11 2021 Received: (at 45068) by debbugs.gnu.org; 27 Feb 2021 08:16:12 +0000 Received: from localhost ([127.0.0.1]:43145 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lFuln-0007Pq-KY for submit@debbugs.gnu.org; Sat, 27 Feb 2021 03:16:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43732) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lFull-0007Pa-Jt for 45068@debbugs.gnu.org; Sat, 27 Feb 2021 03:16:10 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56974) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lFule-0005G5-Tp; Sat, 27 Feb 2021 03:16:03 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3403 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lFule-0000o2-9E; Sat, 27 Feb 2021 03:16:02 -0500 Date: Sat, 27 Feb 2021 10:15:54 +0200 Message-Id: <83zgzqncxx.fsf@gnu.org> From: Eli Zaretskii To: Protesilaos Stavrou In-Reply-To: <87tupyw83e.fsf@protesilaos.com> (message from Protesilaos Stavrou on Sat, 27 Feb 2021 04:35:49 +0200) Subject: Re: Patch for Modus themes 1.1.1? References: <87im9fgm27.fsf@protesilaos.com> <87zh2ozer4.fsf@tcd.ie> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Protesilaos Stavrou > Cc: 45068@debbugs.gnu.org > Date: Sat, 27 Feb 2021 04:35:49 +0200 > > > A simple implementation that checks whether a theme is already loaded, > > and if not, looks it up in a suitable list of directories and loads > > when found. The main part is to make sure themes are looked up in the > > directories where we expect them to be, as opposed to load-path, which > > is where 'require' looks for files to load. A Lisp implementation > > should be fine, I think. > > > > Let me know if you need further clarifications. > > Hello Eli, > > This is what I could come up with. It is not what you stipulated, as it > only accounts for the default themes' directory instead of checking the > 'custom-theme-load-path'. Hmm... I'm surprised. What I had in mind was a simple use of locate-file, which already accepts a path argument, so you could pass custom-theme-load-path to it, and it would do the job. Maybe I misunderstand or misremember the problem which led us here. Wasn't the problem that 'load' and 'require' search along load-path instead of custom-theme-load-path? IOW, could you show the code you'd use to load the other components of the theme if you could use 'load' and 'require'? My idea was simply to replace (require 'foo-themes) with (require-theme 'foo-themes) Would that solve your original problem, assuming that require-theme would look for and load foo-themes.el? Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 27 03:53:26 2021 Received: (at 45068) by debbugs.gnu.org; 27 Feb 2021 08:53:26 +0000 Received: from localhost ([127.0.0.1]:43152 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lFvLp-0008Gf-MU for submit@debbugs.gnu.org; Sat, 27 Feb 2021 03:53:25 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:45069) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lFvLn-0008GQ-V2 for 45068@debbugs.gnu.org; Sat, 27 Feb 2021 03:53:24 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id D690460003; Sat, 27 Feb 2021 08:53:16 +0000 (UTC) From: Protesilaos Stavrou To: Eli Zaretskii Subject: Re: Patch for Modus themes 1.1.1? References: <87im9fgm27.fsf@protesilaos.com> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> Date: Sat, 27 Feb 2021 10:53:14 +0200 In-Reply-To: <83zgzqncxx.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 27 Feb 2021 10:15:54 +0200") Message-ID: <87mtvp7uyt.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-02-27, 10:15 +0200, Eli Zaretskii wrote: >> From: Protesilaos Stavrou >> Cc: 45068@debbugs.gnu.org >> Date: Sat, 27 Feb 2021 04:35:49 +0200 >> >> > A simple implementation that checks whether a theme is already loaded, >> > and if not, looks it up in a suitable list of directories and loads >> > when found. The main part is to make sure themes are looked up in the >> > directories where we expect them to be, as opposed to load-path, which >> > is where 'require' looks for files to load. A Lisp implementation >> > should be fine, I think. >> > >> > Let me know if you need further clarifications. >> >> Hello Eli, >> >> This is what I could come up with. It is not what you stipulated, as it >> only accounts for the default themes' directory instead of checking the >> 'custom-theme-load-path'. > > Hmm... I'm surprised. What I had in mind was a simple use of > locate-file, which already accepts a path argument, so you could pass > custom-theme-load-path to it, and it would do the job. Thank you for the feedback (and sorry for putting you through the trouble)! I will try again using that approach. > Maybe I misunderstand or misremember the problem which led us here. > Wasn't the problem that 'load' and 'require' search along load-path > instead of custom-theme-load-path? Yes, that was the problem. So the "modus-themes.el" dependency could not be placed in etc/themes/ as (require 'modus-themes) would not find it. > IOW, could you show the code you'd use to load the other components of > the theme if you could use 'load' and 'require'? My idea was simply > to replace > > (require 'foo-themes) > > with > > (require-theme 'foo-themes) > > Would that solve your original problem, assuming that require-theme > would look for and load foo-themes.el? Indeed, with the function I provided all I had to change was 'require' to 'require-theme-base'. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 28 01:30:29 2021 Received: (at 45068) by debbugs.gnu.org; 28 Feb 2021 06:30:29 +0000 Received: from localhost ([127.0.0.1]:45751 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGFb2-0006GX-Oo for submit@debbugs.gnu.org; Sun, 28 Feb 2021 01:30:29 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:52915) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGFaz-0006Bp-Ir for 45068@debbugs.gnu.org; Sun, 28 Feb 2021 01:30:28 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 300F81C0009; Sun, 28 Feb 2021 06:30:18 +0000 (UTC) From: Protesilaos Stavrou To: Eli Zaretskii Subject: Re: Patch for Modus themes 1.1.1? References: <87im9fgm27.fsf@protesilaos.com> <87ft4edret.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> Date: Sun, 28 Feb 2021 08:30:16 +0200 In-Reply-To: <83zgzqncxx.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 27 Feb 2021 10:15:54 +0200") Message-ID: <874khwn1qf.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-02-27, 10:15 +0200, Eli Zaretskii wrote: >> From: Protesilaos Stavrou >> Cc: 45068@debbugs.gnu.org >> Date: Sat, 27 Feb 2021 04:35:49 +0200 >> >> > A simple implementation that checks whether a theme is already loaded, >> > and if not, looks it up in a suitable list of directories and loads >> > when found. The main part is to make sure themes are looked up in the >> > directories where we expect them to be, as opposed to load-path, which >> > is where 'require' looks for files to load. A Lisp implementation >> > should be fine, I think. >> > >> > Let me know if you need further clarifications. >> >> Hello Eli, >> >> This is what I could come up with. It is not what you stipulated, as it >> only accounts for the default themes' directory instead of checking the >> 'custom-theme-load-path'. > > Hmm... I'm surprised. What I had in mind was a simple use of > locate-file, which already accepts a path argument, so you could pass > custom-theme-load-path to it, and it would do the job. > > Maybe I misunderstand or misremember the problem which led us here. > Wasn't the problem that 'load' and 'require' search along load-path > instead of custom-theme-load-path? IOW, could you show the code you'd > use to load the other components of the theme if you could use 'load' > and 'require'? My idea was simply to replace > > (require 'foo-themes) > > with > > (require-theme 'foo-themes) > > Would that solve your original problem, assuming that require-theme > would look for and load foo-themes.el? > > Thanks. I retried and feel I am now closer to what you have described. The following is meant to go in custom.el: (defun require-theme (theme &optional directories) "Load THEME stored in `custom-theme-load-path'. THEME is a symbol or string that corresponds to the file name without its file type extension. That is assumed to be either '.el' or '.elc'. If THEME names a valid theme, load and enable it. Otherwise load the file, if present. In the latter case, the file is intended to work as the basis of a theme declared with `deftheme'. With optional DIRECTORIES as a list of filesystem paths, search for THEME file in those locations instead and load it, if present." (let* ((theme-dirs (custom-theme--load-path)) (custom-dirs (when (and directories (listp directories)) directories)) (theme-name (cond ((stringp theme) theme) ((symbolp theme) (format "%s" theme)) (t (error "`%s' must be either a symbol or string" theme)))) (dirs (or custom-dirs theme-dirs)) (file (locate-file theme-name dirs '(".el" ".elc")))) (cond ((custom-theme-p theme) (load-theme theme t)) (file (load-file file))))) This works in two ways: 1. To load a theme's dependency: (require-theme 'modus-themes) 2. To load and enable a theme: (require-theme 'modus-operandi) I am using functionality 1 on a newly compiled Emacs with 'emacs -Q'. I placed my three files in etc/themes (modus-{operandi,vivendi}-theme.el and modus-themes.el) and tried 'M-x load-theme RET modus-operandi' and the same for modus-vivendi, as well as 'M-x customize-themes'. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 28 06:41:46 2021 Received: (at 45068) by debbugs.gnu.org; 28 Feb 2021 11:41:47 +0000 Received: from localhost ([127.0.0.1]:45957 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGKSI-0005Qx-Hk for submit@debbugs.gnu.org; Sun, 28 Feb 2021 06:41:46 -0500 Received: from mail-qk1-f175.google.com ([209.85.222.175]:37757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGKSG-0005Ql-FN for 45068@debbugs.gnu.org; Sun, 28 Feb 2021 06:41:44 -0500 Received: by mail-qk1-f175.google.com with SMTP id s7so3713444qkg.4 for <45068@debbugs.gnu.org>; Sun, 28 Feb 2021 03:41:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version; bh=eCClxjki47wNnADjmHd+Y/l0VYTuFFYJLr9RgYpLT1I=; b=NgR/hC8iBfPpaTjP7BY7yKjRt89DZatqsAUf+ToTW6HvaoWe8jTLeBazj8dRHBW9mn vyWkW+Rw6FIaQzzON/IOoVnqztI5dn1zfppB7jqNWIk8F/yMZvkJOfR5dpYLZ9iDsPwt aIEWw/bVUTB84KdD9o8Ie+QJE93DEaux8eZ1cavHmxLNoXbGuB6iVyddw0733okRUJ1w lwdthjk00YOAq/B2Tv3EiYB+/VAQPNUnl5+E6jh8e9ydioGRJ7on82P3K8nrBty87jFA r6BzR5SCDo06aPHB/e2QiQEours9p0x5czd6oE8FivgE96Sv7ciuhTRZLRhuS8aVgK00 PZyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version; bh=eCClxjki47wNnADjmHd+Y/l0VYTuFFYJLr9RgYpLT1I=; b=BZVOLwtpdQUeddXSyJGULXS0b/mg3jP/leNS3faMTWekSCzYsj0son0myZy/rPy4dr kFySUNPRr4w22F6AAdIaTG13Yh3FNDyNN+gurCoOQHcYgsKvY3+rOHke4R6dqNgv5jsu Lwpa08bIAGfjwMvMme+4Lb8IIbLo7wnwVfbJOq8S1sZLB1JL4tKgAdpahICfXB+uo+m1 NTJ7oP5whGxlBdw8LEuwikZkg1i+Secf7wVKafdWzky1L71Eo0oAzS9sxrnsI0Qcp/SE eYjvOYaKtq5m1E9h9R4081AHEVlFdaxF9hVmlRqgyfqI52LoXYTrl8Rf2x0TemqfQyZy MnWg== X-Gm-Message-State: AOAM531w/DHcS0HzZnvpMFgO7xC5qv4HVmlJvP+TX4zQdrj+sXXnohXS fDnpqZPCVZw6N+93gOWaYfjN+Hcz1pnOxg== X-Google-Smtp-Source: ABdhPJxeMmRWf6X2vNHtCy8Qyzz9OgeID3dfH8hpDzl6JhDNgOFX74I86/cp3K6w8MrFpGctYtuGgg== X-Received: by 2002:ae9:edc1:: with SMTP id c184mr8625271qkg.453.1614512498361; Sun, 28 Feb 2021 03:41:38 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id q15sm9294848qti.9.2021.02.28.03.41.36 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 28 Feb 2021 03:41:37 -0800 (PST) Message-ID: <603b8171.1c69fb81.aa664.7f40@mx.google.com> X-Google-Original-Message-ID: <87tupwh11t.fsf_-_@maurooaranda@gmail.com> From: Mauro Aranda To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> Date: Sun, 28 Feb 2021 08:41:34 -0300 In-Reply-To: <874khwn1qf.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Sun, 28 Feb 2021 08:30:16 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Protesilaos, Protesilaos Stavrou writes: > (defun require-theme (theme &optional directories) > "Load THEME stored in `custom-theme-load-path'. > > THEME is a symbol or string that corresponds to the file name without > its file type extension. That is assumed to be either '.el' or '.elc'. > > If THEME names a valid theme, load and enable it. Otherwise load the > file, if present. In the latter case, the file is intended to work as > the basis of a theme declared with `deftheme'. > > With optional DIRECTORIES as a list of filesystem paths, search > for THEME file in those locations instead and load it, if present." > (let* ((theme-dirs (custom-theme--load-path)) > (custom-dirs (when (and directories (listp directories)) > directories)) > (theme-name (cond > ((stringp theme) > theme) > ((symbolp theme) > (format "%s" theme)) I think it's better to use `symbol-name' when you're sure it's a symbol. > (cond > ((custom-theme-p theme) > (load-theme theme t)) Some comments about this clause: The docstring says a valid theme, but this checks for a "known" theme. I think the docstring should clarify that. Also, in this clause you don't need all the early work for locating the file. More important: doesn't this make it possible to load a non-safe theme (as controlled by `custom-safe-themes') behind the user's back? > This works in two ways: > > 1. To load a theme's dependency: > > (require-theme 'modus-themes) > > 2. To load and enable a theme: > > (require-theme 'modus-operandi) IIUC, (2) works only after the theme is "known". From debbugs-submit-bounces@debbugs.gnu.org Sun Feb 28 07:46:10 2021 Received: (at 45068) by debbugs.gnu.org; 28 Feb 2021 12:46:10 +0000 Received: from localhost ([127.0.0.1]:45983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGLSc-0000gk-6o for submit@debbugs.gnu.org; Sun, 28 Feb 2021 07:46:10 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:37341) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGLSa-0000gK-Bb for 45068@debbugs.gnu.org; Sun, 28 Feb 2021 07:46:08 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 8FB8E60005; Sun, 28 Feb 2021 12:46:01 +0000 (UTC) From: Protesilaos Stavrou To: Mauro Aranda Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87zh2ldgtf.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> Date: Sun, 28 Feb 2021 14:45:59 +0200 In-Reply-To: <603b8171.1c69fb81.aa664.7f40@mx.google.com> (Mauro Aranda's message of "Sun, 28 Feb 2021 08:41:34 -0300") Message-ID: <87mtvoxsvs.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-02-28, 08:41 -0300, Mauro Aranda wrote: > Hi Protesilaos, Hello Mauro and thank you for the valuable feedback! I have written the function anew based on your suggestions. I also added a featurep check to ensure that the same file is not loaded repeatedly. Furthermore, I streamlined the type of THEME to always be a symbol. (defun require-theme (theme &optional directories) "Load THEME stored in `custom-theme-load-path'. THEME is a symbol that corresponds to the file name without its file type extension. That is assumed to be either '.el' or '.elc'. If THEME names an element of `custom-available-themes', load it asking for confirmation if it is not considered safe by `custom-safe-themes'. Otherwise load the file, if present. In the latter case, the file is intended to work as the basis of a theme declared with `deftheme'. With optional DIRECTORIES as a list of filesystem paths, search for THEME file in those locations instead and load it, if present." (cond ((member theme (member theme (custom-available-themes))) (load-theme theme)) ((let* ((theme-dirs (custom-theme--load-path)) (custom-dirs (when (and directories (listp directories)) directories)) (dirs (or custom-dirs theme-dirs)) (file (locate-file (symbol-name theme) dirs '(".el" ".elc")))) (when (and file (not (featurep theme))) (load-file file)))))) Please feel welcome to suggest any further changes/refinements. This is not my area of expertise, so apologies for taking so long to get it right. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 09:38:44 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 14:38:44 +0000 Received: from localhost ([127.0.0.1]:48603 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjh6-0003Ab-JL for submit@debbugs.gnu.org; Mon, 01 Mar 2021 09:38:44 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55604) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjh4-0003AP-3L for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 09:38:43 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:45798) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lGjgy-0002s0-BK; Mon, 01 Mar 2021 09:38:36 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1444 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lGjgn-0006QH-Pe; Mon, 01 Mar 2021 09:38:29 -0500 Date: Mon, 01 Mar 2021 16:38:22 +0200 Message-Id: <83eegz7xcx.fsf@gnu.org> From: Eli Zaretskii To: Mauro Aranda In-Reply-To: <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> (message from Mauro Aranda on Sun, 28 Feb 2021 10:33:14 -0300) Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87k0toof83.fsf@mail.linkov.net> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: info@protesilaos.com, 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Mauro Aranda > Cc: Eli Zaretskii , 45068@debbugs.gnu.org > Date: Sun, 28 Feb 2021 10:33:14 -0300 > > The rest looks good to me, but let's wait for the other people involved > to give their feedback. It LGTM as well, thanks. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 09:41:58 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 14:41:58 +0000 Received: from localhost ([127.0.0.1]:48607 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjkE-0003FJ-46 for submit@debbugs.gnu.org; Mon, 01 Mar 2021 09:41:58 -0500 Received: from relay12.mail.gandi.net ([217.70.178.232]:45757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjkC-0003F7-GH for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 09:41:56 -0500 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay12.mail.gandi.net (Postfix) with ESMTPSA id A2000200004; Mon, 1 Mar 2021 14:41:49 +0000 (UTC) From: Protesilaos Stavrou To: Mauro Aranda Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) In-Reply-To: <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> (Mauro Aranda's message of "Sun, 28 Feb 2021 10:33:14 -0300") Date: Sun, 28 Feb 2021 15:56:33 +0200 References: <87im9fgm27.fsf@protesilaos.com> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Message-ID: <8735xfgclw.fsf@protesilaos.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.2 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.2 (-) [ resending as it was lost as Lars explained on emacs-devel: "Discarded messages to the bug tracker yesterday" ] On 2021-02-28, 10:33 -0300, Mauro Aranda wrote: > I don't understand this double member call. Was it, by chance, just a > typo? > > I'd use `memq' rather than `member' here, since, > `custom-available-themes' returns a list of symbols. Oops, sorry! The double 'member' was indeed a mistake. Though using it was intentional. Now switched to 'memq'. Also added 'require' instead of 'load-file'. Here is the revised version, just to avoid confusion: (defun require-theme (theme &optional directories) "Load THEME stored in `custom-theme-load-path'. THEME is a symbol that corresponds to the file name without its file type extension. That is assumed to be either '.el' or '.elc'. If THEME names an element of `custom-available-themes', load it asking for confirmation if it is not considered safe by `custom-safe-themes'. Otherwise load the file, if present. In the latter case, the file is intended to work as the basis of a theme declared with `deftheme'. With optional DIRECTORIES as a list of filesystem paths, search for THEME file in those locations instead and load it, if present." (cond ((memq theme (custom-available-themes)) (load-theme theme)) ((let* ((theme-dirs (custom-theme--load-path)) (custom-dirs (when (and directories (listp directories)) directories)) (dirs (or custom-dirs theme-dirs)) (file (locate-file (symbol-name theme) dirs '(".el" ".elc")))) (when (and file (not (featurep theme))) (require theme file)))))) >> Please feel welcome to suggest any further changes/refinements. This is >> not my area of expertise, so apologies for taking so long to get it >> right. > > No apologies needed. > > The rest looks good to me, but let's wait for the other people involved > to give their feedback. Yes sure and thanks again! -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 09:42:46 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 14:42:46 +0000 Received: from localhost ([127.0.0.1]:48611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjl0-0003Gh-GA for submit@debbugs.gnu.org; Mon, 01 Mar 2021 09:42:46 -0500 Received: from relay12.mail.gandi.net ([217.70.178.232]:36199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjkv-0003GQ-Gu for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 09:42:45 -0500 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay12.mail.gandi.net (Postfix) with ESMTPSA id A9D0A200004; Mon, 1 Mar 2021 14:42:34 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) In-Reply-To: <87lfb8l2wr.fsf@tcd.ie> (Basil L. Contovounesios's message of "Sun, 28 Feb 2021 13:47:48 +0000") Date: Sun, 28 Feb 2021 16:13:26 +0200 References: <87im9fgm27.fsf@protesilaos.com> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <87lfb8l2wr.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Message-ID: <87zgzney08.fsf@protesilaos.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.2 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.2 (-) [ resending because it was lost, as Lars explained on emacs-devel: "Discarded messages to the bug tracker yesterday" ] On 2021-02-28, 13:47 +0000, "Basil L. Contovounesios" wrote: > Thanks, just some nits from me. > > Protesilaos Stavrou writes: > >> With optional DIRECTORIES as a list of filesystem paths, search >> for THEME file in those locations instead and load it, if >> present." > > GNU terminology distinguishes between "file names" and "paths", where > the latter is a list of directories to search. > See (info "(standards) GNU Manuals"). > > So I suggest calling this argument "path" like that of locate-file. > >> (cond >> ((member theme (member theme (custom-available-themes))) > > Duplicate member, and this can be memq instead, right? > >> (load-theme theme)) >> ((let* ((theme-dirs (custom-theme--load-path)) >> (custom-dirs (when (and directories (listp directories)) >> directories)) > > AKA (and (consp directories) directories), but see below. I don't think > we need to cater for callers passing atoms instead of lists. > >> (dirs (or custom-dirs theme-dirs)) > > I think you could just say (or directories (custom-theme--load-path)). > >> (file (locate-file (symbol-name theme) dirs '(".el" ".elc")))) >> (when (and file (not (featurep theme))) > > Maybe featurep should be checked before calling locate-file? > >> (load-file file)))))) Thank you Basil! The duplicate 'member' was a mistake, while Mauro also suggested 'memq'. If I understood your input correctly, the function should become: (defun require-theme (theme &optional paths) "Load THEME stored in `custom-theme-load-path'. THEME is a symbol that corresponds to the file name without its file type extension. That is assumed to be either '.el' or '.elc'. If THEME names an element of `custom-available-themes', load it asking for confirmation if it is not considered safe by `custom-safe-themes'. Otherwise load the file, if present. In the latter case, the file is intended to work as the basis of a theme declared with `deftheme'. With optional PATHS as a list of filesystem paths, search for THEME file in those locations instead and load it, if present." (cond ((memq theme (custom-available-themes)) (load-theme theme)) ((let* ((dirs (or paths (custom-theme--load-path))) (file (unless (featurep theme) (locate-file (symbol-name theme) dirs '(".el" ".elc"))))) (when file (require theme file)))))) [ Note that the 'require' call was part of the parallel thread with my reply to Mauro's feedback. Or keep 'load-file' for that? ] -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 09:43:14 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 14:43:14 +0000 Received: from localhost ([127.0.0.1]:48615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjlR-0003Hl-SA for submit@debbugs.gnu.org; Mon, 01 Mar 2021 09:43:14 -0500 Received: from relay11.mail.gandi.net ([217.70.178.231]:56737) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjlP-0003HV-By for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 09:43:12 -0500 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 0DED810000C; Mon, 1 Mar 2021 14:43:03 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) In-Reply-To: <87im6cfcex.fsf@tcd.ie> (Basil L. Contovounesios's message of "Sun, 28 Feb 2021 15:19:02 +0000") Date: Sun, 28 Feb 2021 17:57:16 +0200 References: <87im9fgm27.fsf@protesilaos.com> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <87lfb8l2wr.fsf@tcd.ie> <87a6roxou1.fsf@protesilaos.com> <87im6cfcex.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Message-ID: <87wnurexze.fsf@protesilaos.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.9 (/) [ resending because it was lost, as Lars explained on emacs-devel: "Discarded messages to the bug tracker yesterday" ] On 2021-02-28, 15:19 +0000, "Basil L. Contovounesios" wrote: > Protesilaos Stavrou writes: > >> With optional PATHS as a list of filesystem paths, search for THEME >> file in those locations instead and load it, if present." > > I think PATH is usually written in the singular, as in e.g.: > > If PATH is non-nil, it should be a list of directories to use > instead of `custom-theme-load-path' when searching for THEME. > PATH should have the same form as `load-path' or `exec-path'. > >> ((let* ((dirs (or paths (custom-theme--load-path))) >> (file (unless (featurep theme) >> (locate-file (symbol-name theme) dirs '(".el" ".elc"))))) >> (when file >> (require theme file)))))) >> >> [ Note that the 'require' call was part of the parallel thread with my >> reply to Mauro's feedback. Or keep 'load-file' for that? ] > > Shouldn't 'load' suffice, given we're already checking 'featurep'? > > Thanks, Very well! This is the updated version: (defun require-theme (theme &optional path) "Load THEME stored in `custom-theme-load-path'. THEME is a symbol that corresponds to the file name without its file type extension. That is assumed to be either '.el' or '.elc'. When THEME is an element of `custom-available-themes', load it and ask for confirmation if it is not considered safe by `custom-safe-themes'. Otherwise load the file indicated by THEME, if present. In the latter case, the file is intended to work as the basis of a theme declared with `deftheme'. If optional PATH is non-nil, it should be a list of directories to search for THEME in, instead of `custom-theme-load-path'. PATH should have the same form as `load-path' or `exec-path'." (cond ((memq theme (custom-available-themes)) (load-theme theme)) ((let* ((dirs (or path (custom-theme--load-path))) (file (unless (featurep theme) (locate-file (symbol-name theme) dirs '(".el" ".elc"))))) (when file (load-file file)))))) Code aside, if you think the doc string is too verbose or difficult to read, I will try to simplify it. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 09:52:32 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 14:52:32 +0000 Received: from localhost ([127.0.0.1]:48627 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjuS-0003Ve-DZ for submit@debbugs.gnu.org; Mon, 01 Mar 2021 09:52:32 -0500 Received: from relay11.mail.gandi.net ([217.70.178.231]:36099) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGjuQ-0003VN-Ez for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 09:52:30 -0500 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay11.mail.gandi.net (Postfix) with ESMTPSA id A421F100008; Mon, 1 Mar 2021 14:52:22 +0000 (UTC) From: Protesilaos Stavrou To: Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83wnxo1mcr.fsf@gnu.org> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> Date: Mon, 01 Mar 2021 16:52:20 +0200 In-Reply-To: <83eegz7xcx.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 01 Mar 2021 16:38:22 +0200") Message-ID: <87o8g3exjv.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-01, 16:38 +0200, Eli Zaretskii wrote: >> From: Mauro Aranda >> Cc: Eli Zaretskii , 45068@debbugs.gnu.org >> Date: Sun, 28 Feb 2021 10:33:14 -0300 >> >> The rest looks good to me, but let's wait for the other people involved >> to give their feedback. > > It LGTM as well, thanks. Thank you! Just to add that Basil (now in cc) shared some more insights. The current version is this (any mistakes are mine): (defun require-theme (theme &optional path) "Load THEME stored in `custom-theme-load-path'. THEME is a symbol that corresponds to the file name without its file type extension. That is assumed to be either '.el' or '.elc'. When THEME is an element of `custom-available-themes', load it and ask for confirmation if it is not considered safe by `custom-safe-themes'. Otherwise load the file indicated by THEME, if present. In the latter case, the file is intended to work as the basis of a theme declared with `deftheme'. If optional PATH is non-nil, it should be a list of directories to search for THEME in, instead of `custom-theme-load-path'. PATH should have the same form as `load-path' or `exec-path'." (cond ((memq theme (custom-available-themes)) (load-theme theme)) ((let* ((dirs (or path (custom-theme--load-path))) (file (unless (featurep theme) (locate-file (symbol-name theme) dirs '(".el" ".elc"))))) (when file (load-file file)))))) -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 10:16:18 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 15:16:18 +0000 Received: from localhost ([127.0.0.1]:50330 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGkHS-0004Un-3l for submit@debbugs.gnu.org; Mon, 01 Mar 2021 10:16:18 -0500 Received: from mail-qv1-f49.google.com ([209.85.219.49]:36195) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGkHQ-0004UW-JZ for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 10:16:16 -0500 Received: by mail-qv1-f49.google.com with SMTP id d9so1982779qvo.3 for <45068@debbugs.gnu.org>; Mon, 01 Mar 2021 07:16:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version; bh=n7RMUBS3JVh2rTDmp4thlYWBw/kdcd9T+MYF0JPvEaU=; b=h9Omzi2xw3kJDPWQ6ngxAB4+5j03hXCdzSxKprAXDR9myiw44EEbNId4/8V2JsXlZb JUx9pvvSHNac9/A93yT8ZLHl8fhKBYZQV/PAMCrVWRNigAWwLZOZM9P9X487D+kxZyP8 HEnB9qPAupG8jztntCFx86p/K/14GtqRMp8IdUWoHCDWMGCk/leywASMafDmH5O14zHq iWu4GuEyiCyPXi/kJtWKcjis7c+2MNPulN1lGIFeBpunyn2tLkm3VZnW20sHYK0cF+se VcV3WKpGevHBIzVcH+iGlrhWSu7AlkzJGVKdOt9x2Y0nwAHfp6YCY7VDot4PnDR3IcmV B6Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version; bh=n7RMUBS3JVh2rTDmp4thlYWBw/kdcd9T+MYF0JPvEaU=; b=n5XS4mrQHurvGexbsVvTu4nBpJ3M6M9CgckPUvQPf6yqffpA4Gpxecx8Aa7pYuWXBV +rYNhJ8tBAuVcgsx2HP7G8VZ8egc1P/qYKBqP6w9G0u3XMKwY7HAOYtfCPd/gQ4LqOgF xrHE7Ew6aKo5XHRHP32jUcx8ww87832qL6oY0F7WjtXXjMlSuwWmzA+DkZdCFuC4CbnM VjRcv3NQUAI7xkGNWrM67TyX8APriodb5NLWbxBeM2h12kClmtGsx37u/i67JBjTbUHk Np7e1LjPkz0zKu1GNY94SUqgOdgjXUvK4Q92Wm7GiAxDKvgpCYBawNMCoO+dz1cDk0a+ Vp8w== X-Gm-Message-State: AOAM530r3WvNgyB48plKatGXrw0ANNGA8eYTvBRxiQKPalhK7NkSQ1Z6 GxB4vRWPQ47m4JNDomk1SJ9qG/Mw68aMsA== X-Google-Smtp-Source: ABdhPJxaplpsPhzoQ27QTiSwGsN1zNCZG8utAyoTCV9k2WNJPExPDulkMPWy6V34T9TnaTbo8WJqYA== X-Received: by 2002:a0c:e152:: with SMTP id c18mr14838283qvl.51.1614611770656; Mon, 01 Mar 2021 07:16:10 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id m30sm10378488qtd.30.2021.03.01.07.16.08 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 01 Mar 2021 07:16:10 -0800 (PST) Message-ID: <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> X-Google-Original-Message-ID: <87eegy3nwp.fsf@maurooaranda@gmail.com> From: Mauro Aranda To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> Date: Mon, 01 Mar 2021 12:16:06 -0300 In-Reply-To: <87o8g3exjv.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Mon, 01 Mar 2021 16:52:20 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-01, 16:38 +0200, Eli Zaretskii wrote: > >>> From: Mauro Aranda >>> Cc: Eli Zaretskii , 45068@debbugs.gnu.org >>> Date: Sun, 28 Feb 2021 10:33:14 -0300 >>> >>> The rest looks good to me, but let's wait for the other people involved >>> to give their feedback. >> >> It LGTM as well, thanks. > > Thank you! Just to add that Basil (now in cc) shared some more > insights. The current version is this (any mistakes are mine): > > (defun require-theme (theme &optional path) > "Load THEME stored in `custom-theme-load-path'. > > THEME is a symbol that corresponds to the file name without its file > type extension. That is assumed to be either '.el' or '.elc'. > > When THEME is an element of `custom-available-themes', load it and ask > for confirmation if it is not considered safe by `custom-safe-themes'. > Otherwise load the file indicated by THEME, if present. In the latter > case, the file is intended to work as the basis of a theme declared > with `deftheme'. > > If optional PATH is non-nil, it should be a list of directories > to search for THEME in, instead of `custom-theme-load-path'. > PATH should have the same form as `load-path' or `exec-path'." > (cond > ((memq theme (custom-available-themes)) > (load-theme theme)) > ((let* ((dirs (or path (custom-theme--load-path))) > (file (unless (featurep theme) > (locate-file (symbol-name theme) dirs '(".el" ".elc"))))) > (when file > (load-file file)))))) Since there's agreement about this, could you send it as a patch? From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 10:36:07 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 15:36:07 +0000 Received: from localhost ([127.0.0.1]:50440 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGkac-0007EX-CB for submit@debbugs.gnu.org; Mon, 01 Mar 2021 10:36:06 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:52859) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGkaa-0007E2-6J for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 10:36:05 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 28706240009; Mon, 1 Mar 2021 15:35:56 +0000 (UTC) From: Protesilaos Stavrou To: Mauro Aranda Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83v9d81khh.fsf@gnu.org> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> Date: Mon, 01 Mar 2021 17:35:54 +0200 In-Reply-To: <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> (Mauro Aranda's message of "Mon, 01 Mar 2021 12:16:06 -0300") Message-ID: <87h7luga3p.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain On 2021-03-01, 12:16 -0300, Mauro Aranda wrote: > Since there's agreement about this, could you send it as a patch? Please find it attached. I did not know how to mention you as co-authors, so please do so. As for the original topic of this bug report, I will prepare a new version for the themes within the next few days (version 1.2.0). Then I will update this thread with a new patch. Thank you for your help and patience! -- Protesilaos Stavrou protesilaos.com --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Add-require-theme-function.patch >From c3f0ee0ed8e79f9496a6cec1c9d3282b3231a6dc Mon Sep 17 00:00:00 2001 Message-Id: From: Protesilaos Stavrou Date: Mon, 1 Mar 2021 17:31:44 +0200 Subject: [PATCH] Add 'require-theme' function * etc/NEWS: Document new function. * lisp/custom.el (require-theme): Add function. This follows from the discussion on bug#45068 where it became apparent that there was no equivalent mechanism to 'require' that read through the 'custom-theme-load-path'. --- etc/NEWS | 6 ++++++ lisp/custom.el | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/etc/NEWS b/etc/NEWS index f8f41e21e2..c2bb0820af 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -2495,6 +2495,12 @@ region's (or buffer's) end. This function can be used by modes to add elements to the 'choice' customization type of a variable. +--- +** New function 'require-theme'. +This function is used to load a theme or library stored in the +'custom-theme-load-path'. It is intended to work as a substitute for +'require' in those cases where that cannot be used. + +++ ** New function 'file-modes-number-to-symbolic' to convert a numeric file mode specification into symbolic form. diff --git a/lisp/custom.el b/lisp/custom.el index 833810718b..35ac4d8564 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -1200,6 +1200,30 @@ provide-theme (custom-check-theme theme) (provide (get theme 'theme-feature))) +(defun require-theme (theme &optional path) + "Load THEME stored in `custom-theme-load-path'. + +THEME is a symbol that corresponds to the file name without its file +type extension. That is assumed to be either '.el' or '.elc'. + +When THEME is an element of `custom-available-themes', load it and ask +for confirmation if it is not considered safe by `custom-safe-themes'. +Otherwise load the file indicated by THEME, if present. In the latter +case, the file is intended to work as the basis of a theme declared +with `deftheme'. + +If optional PATH is non-nil, it should be a list of directories +to search for THEME in, instead of `custom-theme-load-path'. +PATH should have the same form as `load-path' or `exec-path'." + (cond + ((memq theme (custom-available-themes)) + (load-theme theme)) + ((let* ((dirs (or path (custom-theme--load-path))) + (file (unless (featurep theme) + (locate-file (symbol-name theme) dirs '(".el" ".elc"))))) + (when file + (load-file file)))))) + (defcustom custom-safe-themes '(default) "Themes that are considered safe to load. If the value is a list, each element should be either the SHA-256 -- 2.30.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 14:58:52 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 19:58:52 +0000 Received: from localhost ([127.0.0.1]:50905 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGogu-00038O-9Y for submit@debbugs.gnu.org; Mon, 01 Mar 2021 14:58:52 -0500 Received: from mail-wr1-f43.google.com ([209.85.221.43]:45659) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGogn-00037y-7G for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 14:58:45 -0500 Received: by mail-wr1-f43.google.com with SMTP id e10so17217030wro.12 for <45068@debbugs.gnu.org>; Mon, 01 Mar 2021 11:58:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=WPhJBmT5AA4iPcyppsMOnSYT/SI3JNHrgllfl0k8yIw=; b=fZnuVx7lMFIuvcVaRYUny3wKlbAK6QIfuUPCcC3AUOaW3YTECF9DtdrEYtc8Q0mRS7 YP9mozLpEzoJjQCp2/f8/JdjFC8q1BnwgLs4Q4vlgpyaimFlR1RzBARfAV6F+Z0rqk0n B39AXcS3BN1sTsHbAbympmspuH+eyE1y++/4LpJWi2HVX6Sf0++pk9WVI/ULYnKZFqWt W0phkKZgWVjuo7mAjtvTs/jWrb0W/Ll7iBC76ovvihh1FcivkKjz9GXWC2ssBdvpBilG 8sjP5lQ9EvXycm7KlIZkoobfNsGfaObMnQjkQWGp9QHVDy/uRuyhlC9hGJbdFI092xmd 0ctA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=WPhJBmT5AA4iPcyppsMOnSYT/SI3JNHrgllfl0k8yIw=; b=K1jvg0MJ/yiMigMEHlMHeO4iZq1BoKTLFkS0UG3sCs6KHkVJaDDh3JpjuSdi3/3h51 rVIt9/FbmR/L49JrYNJ8SFQDR/7ukAzoI2rGN/OR0jnoU9bZ6LVfk7kzD5XwtLzBeLC+ 81bRDygTHjI8DKsBh4KcJ6qzIVWTlroDsamTYeTOvF69qdb5KtEuZ1yJ9yY1KUefcojx gD6W/9QgoI8NTq7L67jduGaZ0mX0mruVLdCUd38hPiBYTQyCzRdMfh2mtRTTA0BAtaTj JFUc7yvVOUlxEC7pdOOuwXvTI42Kr03+GYhb/z156tOSY8J/tTCfNvmUnMZCKY8ybbnA GVuA== X-Gm-Message-State: AOAM530xQ9KGylPTZU1rB6bl4EVQiiv+x1v8vFdZGJMJPaZqNSspl/8L czz1m6i9QsxkkfUmshunpD/d3g== X-Google-Smtp-Source: ABdhPJwmTmP78gOiIBRF4Z1HchYFAmhGXKjTwR/kJnbzqb+91jh5GZlGrlEvkeZkzwjl8pwfakqH0Q== X-Received: by 2002:a5d:4e83:: with SMTP id e3mr16053946wru.82.1614628719266; Mon, 01 Mar 2021 11:58:39 -0800 (PST) Received: from localhost ([2a02:8084:20e2:c380:d15:339e:aa10:60f1]) by smtp.gmail.com with ESMTPSA id b15sm25982087wrr.47.2021.03.01.11.58.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Mar 2021 11:58:38 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> Date: Mon, 01 Mar 2021 19:58:37 +0000 In-Reply-To: <87h7luga3p.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Mon, 01 Mar 2021 17:35:54 +0200") Message-ID: <877dmqejde.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-01, 12:16 -0300, Mauro Aranda wrote: > >> Since there's agreement about this, could you send it as a patch? > > Please find it attached. Thanks, pushed to master. Add 'require-theme' function 59e1867a1f 2021-03-01 19:50:02 +0000 https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=59e1867a1f2b6938cdabac8e3f52acc9e61e9e32 > I did not know how to mention you as co-authors, so please do so. I for one don't care for attribution nor count code review as co-authoring; hopefully Mauro agrees in this case :). -- Basil From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 15:03:59 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 20:03:59 +0000 Received: from localhost ([127.0.0.1]:50924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGolq-0003Ib-SB for submit@debbugs.gnu.org; Mon, 01 Mar 2021 15:03:59 -0500 Received: from mail-qk1-f182.google.com ([209.85.222.182]:33779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGolo-0003IL-Gh for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 15:03:57 -0500 Received: by mail-qk1-f182.google.com with SMTP id l4so3111170qkl.0 for <45068@debbugs.gnu.org>; Mon, 01 Mar 2021 12:03:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version; bh=Pg5plyxP6ue526OJlJ4oI711bcQRKWpjXhfa73LhQdY=; b=nQUmAxeXxvSVF8coLcQIzqAOE99awVSE7H2PDgWgl1JcjKGKmTuoDQ2A9f4Ogdc5L5 Xci5sn5tAVaTDiefHwMH16Fso++blZTq1JTUcih2QtkGCChx9ZZhEYPyGId0J9RWxny6 UPKxdAs+9/WLcRuDgglBhvE2LY2t6NJTZrvPSzRIk7iund2B1rXARO3AoyDQp9R9Ilxv 3mGXuk6qAcfWK3So7r0aow1/t8xVvxA25GwpKVoIvxIILNsthR4ERx9Ounvlr19G3Vbt EOKdAK15aDM0hAQSiEEQIYcyDuzBCPLZ3IhfUMxSQ3c5jWcW/muXNGzEUPz6imh7LTjY 0eiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version; bh=Pg5plyxP6ue526OJlJ4oI711bcQRKWpjXhfa73LhQdY=; b=RK6VyRmbLAdUKClDGwiNvAau7PUF/JghDS2F0imvBXtjVk+BDz5NcyI4BldkCGJVyk PFGljb0XiweSuo5+4ORdvgeuUh8EAzbW2sSmjqum9TzGUMbWuzAiRVlcG7KDBekm3Ibs bhhoaEO/Yy6LVyKxmkpU46Pz0w1VrWiS4N9behBF/IUwJmz9vKLYO4i4X24UdumdRzvi EOWNQjZ8SoyqzneLe9An7pkXgHJeEmXHVXCr3LrZAeKg+rud+0XrHL4wBp8TWCyy39HE p6URG6J4IQDIG7/Q6iGBDSJ/EO6XlP2etSF6NsEFSe2IFyYvD0lxA/EH4eORQzmURmR7 /UXQ== X-Gm-Message-State: AOAM532GHOnOlU4pQGEzlubS7eShQAtvyr0eAboe5FuXcI1SzqNn+OZY JVf3hdMHWHTB0xmWAbvSL4RA1p9kwpww7g== X-Google-Smtp-Source: ABdhPJwqbMRPMZvKEFbAegUTOfCnTo2n0bEnqPshzJP6585sa4c6FPXBYybUeOVk2aRejeO0B7FlpQ== X-Received: by 2002:ae9:e90c:: with SMTP id x12mr16062834qkf.498.1614629030727; Mon, 01 Mar 2021 12:03:50 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id o6sm3496422qtw.56.2021.03.01.12.03.48 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 01 Mar 2021 12:03:50 -0800 (PST) Message-ID: <603d48a6.1c69fb81.1e9c3.4d44@mx.google.com> X-Google-Original-Message-ID: <87y2f6hc9p.fsf@maurooaranda@gmail.com> From: Mauro Aranda To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> Date: Mon, 01 Mar 2021 17:03:46 -0300 In-Reply-To: <87h7luga3p.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Mon, 01 Mar 2021 17:35:54 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-01, 12:16 -0300, Mauro Aranda wrote: > >> Since there's agreement about this, could you send it as a patch? > > Please find it attached. I did not know how to mention you as > co-authors, so please do so. Thanks. I took the liberty of tweaking a little bit the commit message (but didn't add co-authors -- I hope I didn't hurt anyone's feelings...) and pushed it to the master branch. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 15:06:17 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 20:06:17 +0000 Received: from localhost ([127.0.0.1]:50932 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGoo5-0003Ml-HC for submit@debbugs.gnu.org; Mon, 01 Mar 2021 15:06:17 -0500 Received: from mail-qk1-f177.google.com ([209.85.222.177]:41787) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGoo2-0003MT-Pe for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 15:06:15 -0500 Received: by mail-qk1-f177.google.com with SMTP id q85so17908946qke.8 for <45068@debbugs.gnu.org>; Mon, 01 Mar 2021 12:06:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version; bh=A7MT//MMPjCIwq4Xlo4I6+lc4Zkhpr5RKFOXJT2CiVo=; b=NfnaY4qFJ3n6yFFifhV7JQH3NvTfRkqnByMXZmLLXom/AbxPE9cuwlkDGK2l2tfcbV mFzFZiVz+kMPRF0qO7tFXrg0bpEMQU1WV+5Wz4Tzve6lBSAa3QHEN/8SZd6BXo/Qyx53 0Rs9v8Z6PNk/k6fwSmDSKyl3nPFIDHTjrYMSi+964zvBuUDOx+BPHricDD2/Ee9EyEts erSzWaJfoODqnWKv3FuD1OBEz5czDzNIr0nu2tKShQryG20ychcVaBPTD9ZgiW5+vJuT 3X01rggxkmcXDZ3rxs7CDO4Ka1EVrm0LzxJ0ny3SwCaodv4Jx96umP5HGV5n/X1NCfs4 7TYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version; bh=A7MT//MMPjCIwq4Xlo4I6+lc4Zkhpr5RKFOXJT2CiVo=; b=Y/KQWejPlRp50R6yRqzq6j5Qr9SAJWNYIxYmMpvIsguyeQya/G0tsy/kUeNDfbpaF9 zsns2OiCTat739pc9XYEkc7ggHgSmmDhU5YoiXrS48sXBkFfTVDvT1MQWmjk9kVEb2eN qLmKQ/CAcga8pi5aGGq7oM7+dj1rHp8Imt8CMZ0ARloEPXhpV9USiTY2kjp6wfOZNKK2 ho3Iw28c16nW0f5WvP8MA0hzY7yrJ3HxsCgBoiBY+WTqtjyDPl69jYMyF/IFPvoYwen0 zHhwl0mxqPjCq8t+SFZj55i39IlVkNRFf0AdVLkQAxMH7YQKEzUJgh49goEqHm6fSkSV 3dOg== X-Gm-Message-State: AOAM531f3/eoEHCj2UyJXWeueNfp6XZETussQe5duwUNNvtjW1146MmJ xKCaAEWHS5ipEnCxB17b3o+VeOistvbuzg== X-Google-Smtp-Source: ABdhPJw+K0sMT50PwCqGJ5ZW7tFBR+UEZ1Hmg6Gz2vWrmJxNlcIk0ZG8iiAAzyvmL2o32qBS8yGJWQ== X-Received: by 2002:a37:f516:: with SMTP id l22mr16268650qkk.139.1614629169138; Mon, 01 Mar 2021 12:06:09 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id d16sm12771672qka.43.2021.03.01.12.06.07 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 01 Mar 2021 12:06:08 -0800 (PST) Message-ID: <603d4930.1c69fb81.30a14.e4c5@mx.google.com> X-Google-Original-Message-ID: <87tupuhc5u.fsf@maurooaranda@gmail.com> From: Mauro Aranda To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <877dmqejde.fsf@tcd.ie> Date: Mon, 01 Mar 2021 17:06:05 -0300 In-Reply-To: <877dmqejde.fsf@tcd.ie> (Basil L. Contovounesios's message of "Mon, 01 Mar 2021 19:58:37 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Protesilaos Stavrou , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "Basil L. Contovounesios" writes: > Protesilaos Stavrou writes: > >> On 2021-03-01, 12:16 -0300, Mauro Aranda wrote: >> >>> Since there's agreement about this, could you send it as a patch? >> >> Please find it attached. > > Thanks, pushed to master. > > Add 'require-theme' function > 59e1867a1f 2021-03-01 19:50:02 +0000 > https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=59e1867a1f2b6938cdabac8e3f52acc9e61e9e32 > >> I did not know how to mention you as co-authors, so please do so. > > I for one don't care for attribution nor count code review as > co-authoring; hopefully Mauro agrees in this case :). Oops, looks like you beat me. And we agree about the co-author thing ;) From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 18:34:58 2021 Received: (at 45068) by debbugs.gnu.org; 1 Mar 2021 23:34:58 +0000 Received: from localhost ([127.0.0.1]:51183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGs42-0004jC-9U for submit@debbugs.gnu.org; Mon, 01 Mar 2021 18:34:58 -0500 Received: from mail-wr1-f42.google.com ([209.85.221.42]:37496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGs3y-0004iv-92 for 45068@debbugs.gnu.org; Mon, 01 Mar 2021 18:34:57 -0500 Received: by mail-wr1-f42.google.com with SMTP id v15so17956983wrx.4 for <45068@debbugs.gnu.org>; Mon, 01 Mar 2021 15:34:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=+tV3PIwoD7bVUSqeQ3GdrSD07IW7ZaFBCnRK1wYlLZY=; b=gNjxmmaI0OmWq1BErdojoB3raQHtXXpPGUe3qOJwgUfRWvcU4gigDFaWE35Mpw4AtQ XNICSRs90HVsbvO9yMcjwxSFIUQJWNbR/rct7rD0mswz1yXTtZerxwx8xuFBHvUKncjx zaTLEWX9z/00erPOaOcTgVHxD0YYJUP/utsYc5PuEo053I4rJesv1UZ+SEG8LNvKQiwy apZ/L/bGbY/XJN/AC8Yxlr41lNQTp025ambnkpTmd8y+ip4/erCpwWntNHQ8yMM7oQI2 JnYjQE0BfrN7BHmVXwnAQYW/qWZXDJ/Mz4s9KO4EQX54Z4PCUos4I8ace3R4GkO+GofA rDtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=+tV3PIwoD7bVUSqeQ3GdrSD07IW7ZaFBCnRK1wYlLZY=; b=KmE49exQHeu/GQmA3VDcycjvyOD1FU+wL5oppC82GJn6ANQG7sSDDm4WjnNWC8BRsV XqZzMm9i/5BMTjxE78+1xFCEIMU6w3DFasuFH+s3HFwLtssZUJuOrRvhrX+w5cRzUMZ3 g2WOwOFi46cSAZCfseOjXTBuf3Rt9Y2os8xPFyrNz25+HQIyggXjCc04/6QftHrBRsVo 84YMAZ/br7frBpR3V/557drAKf+yp/F+NJNy3Lpyf+nAV10aK2eR83a0SwU746shVHsT DOlDbk9xkLrbw4AdcXalZDEQSO8nAv7N78vjBqB1wf6mpvxmyRqoYkNaUR87Izh99sYP Tw6g== X-Gm-Message-State: AOAM532dGiIDZrMGVCW9kgo6QPOSJ6t2CoYTT/PTVWFxqAvmXklibsVD 32dbLn/ZkpHUEVbljVoWmvb5Nw== X-Google-Smtp-Source: ABdhPJwh7innhkMfynL9/Kmc0A0JyQJh2CJUNf6rae4BZYxmFku4dPrmd7mwQ4JfngDwANj37Bhkbg== X-Received: by 2002:adf:9bce:: with SMTP id e14mr19945714wrc.29.1614641688354; Mon, 01 Mar 2021 15:34:48 -0800 (PST) Received: from localhost ([2a02:8084:20e2:c380:d15:339e:aa10:60f1]) by smtp.gmail.com with ESMTPSA id l22sm27433583wrb.4.2021.03.01.15.34.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Mar 2021 15:34:47 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> Date: Mon, 01 Mar 2021 23:34:46 +0000 In-Reply-To: <87h7luga3p.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Mon, 01 Mar 2021 17:35:54 +0200") Message-ID: <87o8g2bg89.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > +--- I think this function deserves to be documented under (info "(elisp) Custom Themes"), but... > +** New function 'require-theme'. > +This function is used to load a theme or library stored in the > +'custom-theme-load-path'. It is intended to work as a substitute for > +'require' in those cases where that cannot be used. ...after trying for some time, I failed to do so coherently and am now confused about the function's implementation and purpose (I'm sorry for not raising these points sooner). If require-theme is intended as an alternative to require that searches custom-theme-load-path, then why does it sometimes delegate to load-theme and prompt the user about unsafe themes? This mixes lower-level library functionality with a higher-level user feature, and the only deciding factor between the two is whether foo-theme.el or foo.el exists on custom-theme-load-path, which seems a bit opaque. Wouldn't it be simpler/cleaner if load-theme was used only for the foo-theme.el use case, and require-theme only for the foo.el use case? IOW, what is the use case for (require-theme 'modus-operandi)? Why not just call (load-theme 'modus-operandi) instead, with the added flexibility of specifying its optional arguments? I'm also curious about the use case for require-theme's optional second argument. Do the Modus themes require the current dual behaviour of require-theme? If not, then could require-theme be as simple as the following, or am I being naive / missing something? (defun require-theme (feature &optional noerror) (let ((load-path (custom-theme--load-path))) (require feature nil noerror))) BTW, do we need to warn anywhere that require-theme may unconditionally load files from custom-theme-load-path, or somehow protect against this? And does it matter if require-theme loads .elc files, given that its purpose is to load supporting non-theme Lisp files? Thanks, -- Basil From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 00:48:11 2021 Received: (at 45068) by debbugs.gnu.org; 2 Mar 2021 05:48:11 +0000 Received: from localhost ([127.0.0.1]:51411 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGxtD-0004yO-B7 for submit@debbugs.gnu.org; Tue, 02 Mar 2021 00:48:11 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:26691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGxtA-0004xz-Lj for 45068@debbugs.gnu.org; Tue, 02 Mar 2021 00:48:09 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 27CAC240002; Tue, 2 Mar 2021 05:48:00 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> Date: Tue, 02 Mar 2021 07:47:58 +0200 In-Reply-To: <87o8g2bg89.fsf@tcd.ie> (Basil L. Contovounesios's message of "Mon, 01 Mar 2021 23:34:46 +0000") Message-ID: <87r1kyrtrl.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-01, 23:34 +0000, "Basil L. Contovounesios" wrote: > Protesilaos Stavrou writes: > >> +--- > > I think this function deserves to be documented under > (info "(elisp) Custom Themes"), but... > >> +** New function 'require-theme'. >> +This function is used to load a theme or library stored in the >> +'custom-theme-load-path'. It is intended to work as a substitute for >> +'require' in those cases where that cannot be used. > > ...after trying for some time, I failed to do so coherently and am now > confused about the function's implementation and purpose (I'm sorry for > not raising these points sooner). No worries. I will try to asnwer and we can always amend things. > If require-theme is intended as an alternative to require that searches > custom-theme-load-path, then why does it sometimes delegate to > load-theme and prompt the user about unsafe themes? This mixes > lower-level library functionality with a higher-level user feature, and > the only deciding factor between the two is whether foo-theme.el or > foo.el exists on custom-theme-load-path, which seems a bit opaque. > > Wouldn't it be simpler/cleaner if load-theme was used only for the > foo-theme.el use case, and require-theme only for the foo.el use case? My idea was that there could be a future scenario where a derivative theme requires a basis and the two are both declared as 'deftheme'. So they would blend together. Otherwise yes, it would be simpler to keep things separate. > IOW, what is the use case for (require-theme 'modus-operandi)? Why not > just call (load-theme 'modus-operandi) instead, with the added > flexibility of specifying its optional arguments? I'm also curious > about the use case for require-theme's optional second argument. In my case (require-theme 'modus-operandi) would not be used. In the file modus-operandi-theme.el I now have (require 'modus-themes). The modus-themes.el is not a 'deftheme' in itself and 'require' cannot find it unless it is in the load-path. Emacs' directory etc/themes is not in the load-path, so (require-theme 'modus-themes) is meant to work around that constraint. > Do the Modus themes require the current dual behaviour of require-theme? > If not, then could require-theme be as simple as the following, or am I > being naive / missing something? > > (defun require-theme (feature &optional noerror) > (let ((load-path (custom-theme--load-path))) > (require feature nil noerror))) No the themes do not need that dual behaviour. And yes, your version works and I am happy with it: all I need is a 'require' that reads from etc/themes. Perhaps I should attach a preliminary patch with the themes so that you can inspect it? > BTW, do we need to warn anywhere that require-theme may unconditionally > load files from custom-theme-load-path, or somehow protect against this? That would be consistent with load-theme. > And does it matter if require-theme loads .elc files, given that its > purpose is to load supporting non-theme Lisp files? For this I am not sure. Whatever you think is appropriate. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 00:51:41 2021 Received: (at 45068) by debbugs.gnu.org; 2 Mar 2021 05:51:42 +0000 Received: from localhost ([127.0.0.1]:51415 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGxwa-00053F-Uk for submit@debbugs.gnu.org; Tue, 02 Mar 2021 00:51:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49232) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGxwa-000533-3N for 45068@debbugs.gnu.org; Tue, 02 Mar 2021 00:51:40 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33424) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lGxwT-0007nn-Oq; Tue, 02 Mar 2021 00:51:33 -0500 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1835 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lGxwT-0002J4-4f; Tue, 02 Mar 2021 00:51:33 -0500 Date: Tue, 02 Mar 2021 07:51:31 +0200 Message-Id: <83eegy6r30.fsf@gnu.org> From: Eli Zaretskii To: Protesilaos Stavrou In-Reply-To: <87r1kyrtrl.fsf@protesilaos.com> (message from Protesilaos Stavrou on Tue, 02 Mar 2021 07:47:58 +0200) Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83mtyk1hq3.fsf@gnu.org> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: contovob@tcd.ie, 45068@debbugs.gnu.org, maurooaranda@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > From: Protesilaos Stavrou > Cc: Mauro Aranda , Eli Zaretskii , > 45068@debbugs.gnu.org > Date: Tue, 02 Mar 2021 07:47:58 +0200 > > > (defun require-theme (feature &optional noerror) > > (let ((load-path (custom-theme--load-path))) > > (require feature nil noerror))) > > No the themes do not need that dual behaviour. And yes, your version > works and I am happy with it: all I need is a 'require' that reads from > etc/themes. Won't the above version cause problems if the loaded theme needs to require some Emacs package? Binding load-path would get in the way of that, no? From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 05:33:02 2021 Received: (at 45068) by debbugs.gnu.org; 2 Mar 2021 10:33:02 +0000 Received: from localhost ([127.0.0.1]:51907 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH2Ks-00020S-2r for submit@debbugs.gnu.org; Tue, 02 Mar 2021 05:33:02 -0500 Received: from mail-wm1-f51.google.com ([209.85.128.51]:53044) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH2Kp-0001zr-Ql for 45068@debbugs.gnu.org; Tue, 02 Mar 2021 05:33:00 -0500 Received: by mail-wm1-f51.google.com with SMTP id n22so1781595wmc.2 for <45068@debbugs.gnu.org>; Tue, 02 Mar 2021 02:32:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=ftbWNdMiWFJ42V5Pju3izWrXDgKLB6byS9EnMjDyhEc=; b=MSOAkdX2U3ASFBwabErGEfclSDRJegkQePmZ2AYhGyaApubYurRYilVmP8Q0URAoE1 Ky6JhSjK7zLVXCZAcjGRtKuqXmrijxRJO6PigzYBvRnEhJ9zQVgov9q5LacH48nYpZHa ibunTE8r6Emj+z3XV+gqqa5WTX1P2UgdYsUygms3XKtfqJ75CzcZxAEv3ceNpvHSiTcx biCEfsMoe/0jMqOf5ZBo9pLODElvj2aRqnxV53V0KkqkfzXrwlYINZ5gKb3FCrZMVsay SHrC3ejByU2pArHugHMMj6WOQ4bsBbeYYKx8hCAiz1CoCWqwl+2mPBRyDLcP4f9XOdWG p97A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=ftbWNdMiWFJ42V5Pju3izWrXDgKLB6byS9EnMjDyhEc=; b=rvdVu8G2QV4u5AkM2hx1Iv0Cv0ADz0rk07EIJvzyM8gRVMPFGD2Fc7yJNmv0IB6EkD yDEh2Ls2oXmoN0Almz+pKSvGhJuX5cpAgaoXpiog2QbdEmCnc77eiaPfrWzE3UJMcXDd 0ldOgVMZ1NeHekM2QokG0HjFBg7tTLWjWeLEixDsbRBsPE/kjmHSc08rOUbWZ/2F7Lk1 3vZZT97yy1Yg+uqU4nc7PBHerq3h2f8/Z6r4QrWCV2NBZGbyjJTL/wRQUSa5KRVWunKJ snfBOJl6G/fDb60utMa3We7jK8OcnYHFTllPq+mfBuV15uLgCSpj8WaXchX/pBF/oaxA oM9Q== X-Gm-Message-State: AOAM5335UKsHXrUordswegXcqU7/v177sG45Mr0iZ2GhDBt5T++rtrGJ ivGfYaXgbNFxVvRM82QOCN5tIw== X-Google-Smtp-Source: ABdhPJwLlVSc3CyBpLNsGIDE4F8PqlGElypIhHHpraTLcnAuft3u7yu4dlg2qZxqfMB1a7/sefQ6bg== X-Received: by 2002:a7b:cc90:: with SMTP id p16mr3449345wma.45.1614681173901; Tue, 02 Mar 2021 02:32:53 -0800 (PST) Received: from localhost ([2a02:8084:20e2:c380:f410:82e8:3a21:eedf]) by smtp.gmail.com with ESMTPSA id s11sm2237807wme.22.2021.03.02.02.32.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Mar 2021 02:32:53 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87czzgbapt.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> Date: Tue, 02 Mar 2021 10:32:51 +0000 In-Reply-To: <87r1kyrtrl.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Tue, 02 Mar 2021 07:47:58 +0200") Message-ID: <878s75x2uk.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-01, 23:34 +0000, "Basil L. Contovounesios" wrote: > >> If require-theme is intended as an alternative to require that searches >> custom-theme-load-path, then why does it sometimes delegate to >> load-theme and prompt the user about unsafe themes? This mixes >> lower-level library functionality with a higher-level user feature, and >> the only deciding factor between the two is whether foo-theme.el or >> foo.el exists on custom-theme-load-path, which seems a bit opaque. >> >> Wouldn't it be simpler/cleaner if load-theme was used only for the >> foo-theme.el use case, and require-theme only for the foo.el use case? > > My idea was that there could be a future scenario where a derivative > theme requires a basis and the two are both declared as 'deftheme'. So > they would blend together. So you mean there is a base-theme.el and derivative-theme.el? In that case, couldn't derivative-theme.el just call (load-theme 'base) with or without NO-CONFIRM and NO-ENABLE, depending on its needs? Or did I misunderstand what you mean? > Otherwise yes, it would be simpler to keep things separate. > >> IOW, what is the use case for (require-theme 'modus-operandi)? Why not >> just call (load-theme 'modus-operandi) instead, with the added >> flexibility of specifying its optional arguments? I'm also curious >> about the use case for require-theme's optional second argument. > > In my case (require-theme 'modus-operandi) would not be used. In the > file modus-operandi-theme.el I now have (require 'modus-themes). The > modus-themes.el is not a 'deftheme' in itself and 'require' cannot find > it unless it is in the load-path. Emacs' directory etc/themes is not in > the load-path, so (require-theme 'modus-themes) is meant to work around > that constraint. > >> Do the Modus themes require the current dual behaviour of require-theme? >> If not, then could require-theme be as simple as the following, or am I >> being naive / missing something? >> >> (defun require-theme (feature &optional noerror) >> (let ((load-path (custom-theme--load-path))) >> (require feature nil noerror))) > > No the themes do not need that dual behaviour. And yes, your version > works and I am happy with it: all I need is a 'require' that reads from > etc/themes. Thanks, in that case, AFAICS, it might indeed be okay to keep load-theme and require-theme separate (hopefully I'm not missing something obvious). > Perhaps I should attach a preliminary patch with the themes so that you > can inspect it? Sure, if you think it will help - my questions were just to help me understand the "requirements" of require-theme ;). >> BTW, do we need to warn anywhere that require-theme may unconditionally >> load files from custom-theme-load-path, or somehow protect against this? > > That would be consistent with load-theme. Right, but I'm wondering whether require-theme ought to be consistent in this regard. load-theme is a user-level command, and arbitrary themes are considered risky Lisp, so it has to (conditionally) display the code and ask the user if they think it looks okay. require-theme, OTOH, sounds like it's a behind-the-scenes noninteractive plumbing function to be used by themes themselves, so wouldn't the user be prompted twice if a theme called require-theme on an element of custom-available-themes? IOW, it seems to me like require-theme's "safety" should already be handled/covered by the theme using it. >> And does it matter if require-theme loads .elc files, given that its >> purpose is to load supporting non-theme Lisp files? > > For this I am not sure. Whatever you think is appropriate. load-theme already prefers the .elc file if the theme is considered safe by default, so if my suggestions for require-theme are acceptable to everyone then maybe it would make sense for require-theme to behave like require in this sense as well. I'll suggest a patch soon to help the discussion. Thanks for bearing with me, -- Basil From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 05:35:11 2021 Received: (at 45068) by debbugs.gnu.org; 2 Mar 2021 10:35:11 +0000 Received: from localhost ([127.0.0.1]:51912 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH2Mw-000243-NH for submit@debbugs.gnu.org; Tue, 02 Mar 2021 05:35:10 -0500 Received: from mail-wr1-f49.google.com ([209.85.221.49]:44146) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH2Mv-00023i-Gd for 45068@debbugs.gnu.org; Tue, 02 Mar 2021 05:35:10 -0500 Received: by mail-wr1-f49.google.com with SMTP id h98so19267588wrh.11 for <45068@debbugs.gnu.org>; Tue, 02 Mar 2021 02:35:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=ncUSArVRpe3IPkn4Sy1XfEJhuhMWOqsnlfHpCeRt294=; b=c9CEHK4XUTYVblJWlhpi2tjNpfqAK8Iu52dfKge1qHrFq0d6fSfH8oYPzfcLMu6l6f lgtXF3tThfrX8Oc/gmXbEq776xhAAdwpeLlAorXmzuCOX3sFgzTMizvcwWugwAmtOIUQ VnF4Ybue9fwCm5rdLx66Y1Fp4CIMKv9pmBbpFxA66D5q+Sq5DA6lLi0dv96YdYtQm5tP GvcL+XuneZh3EcSbumY3Ekd7Db94WdYHB7wDef1FXR1TYVMS/mnahiSue/fpCKrroQDi 7SuCE15ZwDtMd4DWEG2fUpjan2pTbMDdZFVqukx7EFn3Dzf8n1AISTWQPuDIFSR2GT1m SAzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=ncUSArVRpe3IPkn4Sy1XfEJhuhMWOqsnlfHpCeRt294=; b=PtqjzD+pzB0S9AhqpFXBJSvVMqzY5a/O8a2cDBLO+k5G544Kgvg3UAIFVn4Em/0lt3 mUQTbKytFdYhLsU8rutnNyXt1VYJE79u7Li+J0QQq4v8kFG5fIljdZrVmybDEeGi1QjK JKAy9bl64l9J+tldqyEPix5FmqR5B5JkPSJ4xUsSuzV0AcVSE75e3++JP1ArRxGhNJR5 9UvqbsXlTLhMADSop8porJmMuvFv8nF33rC+bUvp7q7uKWtN4/4EbViBVeR9MB8kknDi kb2oz/047bklDrRqnvRI4k5uB1Oj4OjZhSB+TJIjGIkY3WK8aQDnKCiyxdKwNqgY8RwC CM6w== X-Gm-Message-State: AOAM5304RBy6q5u+gE2XUGEmLKDUVXiew7AD0vZ/yFMCve0MNAlEPPd0 O/ZJl0WEH7CbWBe/yAYXUcvTFw== X-Google-Smtp-Source: ABdhPJyfC7TXun/U+VFPDpkcJDE6RbW4Fs+iil9KMiQgLIo/YAQQW8XZLb3Qrm5Pp12IVP+Nql743Q== X-Received: by 2002:adf:ecca:: with SMTP id s10mr13327927wro.324.1614681303844; Tue, 02 Mar 2021 02:35:03 -0800 (PST) Received: from localhost ([2a02:8084:20e2:c380:f410:82e8:3a21:eedf]) by smtp.gmail.com with ESMTPSA id j125sm2088973wmb.44.2021.03.02.02.35.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Mar 2021 02:35:03 -0800 (PST) From: "Basil L. Contovounesios" To: Eli Zaretskii Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <83eegy6r30.fsf@gnu.org> Date: Tue, 02 Mar 2021 10:35:02 +0000 In-Reply-To: <83eegy6r30.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 02 Mar 2021 07:51:31 +0200") Message-ID: <8735xdx2qx.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Protesilaos Stavrou , maurooaranda@gmail.com, 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> From: Protesilaos Stavrou >> Cc: Mauro Aranda , Eli Zaretskii , >> 45068@debbugs.gnu.org >> Date: Tue, 02 Mar 2021 07:47:58 +0200 >> >> > (defun require-theme (feature &optional noerror) >> > (let ((load-path (custom-theme--load-path))) >> > (require feature nil noerror))) >> >> No the themes do not need that dual behaviour. And yes, your version >> works and I am happy with it: all I need is a 'require' that reads from >> etc/themes. > > Won't the above version cause problems if the loaded theme needs to > require some Emacs package? Binding load-path would get in the way of > that, no? Probably, so locate-file is indeed the way to go. (The above was mostly an illustration.) Thanks, -- Basil From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 05:59:32 2021 Received: (at 45068) by debbugs.gnu.org; 2 Mar 2021 10:59:32 +0000 Received: from localhost ([127.0.0.1]:51955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH2kW-0002ir-HD for submit@debbugs.gnu.org; Tue, 02 Mar 2021 05:59:32 -0500 Received: from relay11.mail.gandi.net ([217.70.178.231]:60691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH2kV-0002ic-65 for 45068@debbugs.gnu.org; Tue, 02 Mar 2021 05:59:31 -0500 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 0C72110001C; Tue, 2 Mar 2021 10:59:21 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> Date: Tue, 02 Mar 2021 12:59:19 +0200 In-Reply-To: <878s75x2uk.fsf@tcd.ie> (Basil L. Contovounesios's message of "Tue, 02 Mar 2021 10:32:51 +0000") Message-ID: <875z29ddo8.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --=-=-= Content-Type: text/plain On 2021-03-02, 10:32 +0000, "Basil L. Contovounesios" wrote: > I'll suggest a patch soon to help the discussion. > > Thanks for bearing with me, I also attach the files I intend to use. Those should be placed in etc/themes. Note that this is not version 1.2.0 as I might still make some minor tweaks before tagging a release either tomorrow or the day after: just for you to make sense of the requirements. Thank you! P.S. If/when this issue is closed I will post on emacs-devel outlining the minor yet important breaking changes from the themes' 0.13.0 to version >= 1.0.0. -- Protesilaos Stavrou protesilaos.com --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=modus-operandi-theme.el ;;; modus-operandi-theme.el --- Accessible light theme (WCAG AAA) -*- lexical-binding:t -*- ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes ;; Version: 1.1.1 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: faces, theme, accessibility ;; This file is part of GNU Emacs. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or (at ;; your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; ;; Modus Operandi is the light variant of the Modus themes (Modus ;; Vivendi is the dark one). The themes are designed for color-contrast ;; accessibility. More specifically: ;; ;; 1. Provide a consistent minimum contrast ratio between background ;; and foreground values of 7:1 or higher. This meets the highest ;; such accessibility criterion per the guidelines of the Worldwide ;; Web Consortium's Working Group on Accessibility (WCAG AAA ;; standard). ;; ;; 2. Offer as close to full face coverage as possible. The list is ;; already quite long, with more additions to follow as part of the ;; ongoing development process. ;; ;; For a complete view of the project, also refer to the following files ;; (should be distributed in the same repository/directory as the ;; current item): ;; ;; - modus-themes.el (Main code shared between the themes) ;; - modus-vivendi-theme.el (Dark theme) ;;; Code: (if (>= emacs-major-version 28) (require-theme 'modus-themes) (require 'modus-themes)) (deftheme modus-operandi "Accessible and customizable light theme (WCAG AAA standard). Conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of 7:1.") (modus-themes-theme modus-operandi) (provide-theme 'modus-operandi) (provide 'modus-operandi-theme) ;;; modus-operandi-theme.el ends here --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=modus-themes.el ;;; modus-themes.el --- Highly accessible themes (WCAG AAA) -*- lexical-binding:t -*- ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes ;; Version: 1.1.1 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: faces, theme, accessibility ;; This file is part of GNU Emacs. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or (at ;; your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; ;; The Modus themes conform with the highest standard for color-contrast ;; accessibility between background and foreground values (WCAG AAA). ;; This file contains all customization options, helper functions, ;; interactive commands, and face specifications. Please refer to the ;; official Info manual for further documentation (distributed with the ;; themes, or available at: ). ;; ;; The themes share the following customization options, all of which ;; are disabled by default (nil): ;; ;; modus-themes-slanted-constructs (boolean) ;; modus-themes-bold-constructs (boolean) ;; modus-themes-variable-pitch-headings (boolean) ;; modus-themes-variable-pitch-ui (boolean) ;; modus-themes-no-mixed-fonts (boolean) ;; modus-themes-headings (alist) ;; modus-themes-scale-headings (boolean) ;; modus-themes-fringes (choice) ;; modus-themes-lang-checkers (choice) ;; modus-themes-org-blocks (choice) ;; modus-themes-org-habit (choice) ;; modus-themes-prompts (choice) ;; modus-themes-mode-line (choice) ;; modus-themes-diffs (choice) ;; modus-themes-syntax (choice) ;; modus-themes-intense-hl-line (boolean) ;; modus-themes-subtle-line-numbers (boolean) ;; modus-themes-paren-match (choice) ;; modus-themes-region (choice) ;; modus-themes-links (choice) ;; modus-themes-completions (choice) ;; ;; The default scale for headings is as follows (it can be customized as ;; well---remember, no scaling takes place by default): ;; ;; modus-themes-scale-1 1.05 ;; modus-themes-scale-2 1.1 ;; modus-themes-scale-3 1.15 ;; modus-themes-scale-4 1.2 ;; modus-themes-scale-5 1.3 ;; ;; There also exist two unique customization options for overriding ;; color palette values. The specifics are documented in the manual. ;; The symbols are: ;; ;; modus-themes-operandi-color-overrides (alist) ;; modus-themes-vivendi-color-overrides (alist) ;; ;; Below is the list of explicitly supported packages or face groups ;; (there are implicitly supported packages as well, which inherit from ;; font-lock or some basic group). You are encouraged to report any ;; missing package or change you would like to see. ;; ;; ace-window ;; ag ;; alert ;; all-the-icons ;; annotate ;; anzu ;; apropos ;; apt-sources-list ;; artbollocks-mode ;; auctex and TeX ;; auto-dim-other-buffers ;; avy ;; awesome-tray ;; bbdb ;; binder ;; bm ;; bongo ;; boon ;; breakpoint (provided by built-in gdb-mi.el) ;; buffer-expose ;; calendar and diary ;; calfw ;; centaur-tabs ;; cfrs ;; change-log and log-view (`vc-print-log' and `vc-print-root-log') ;; cider ;; circe ;; color-rg ;; column-enforce-mode ;; company-mode ;; company-posframe ;; compilation-mode ;; completions ;; consult ;; counsel ;; counsel-css ;; counsel-notmuch ;; counsel-org-capture-string ;; cov ;; cperl-mode ;; csv-mode ;; ctrlf ;; custom (M-x customize) ;; dap-mode ;; dashboard (emacs-dashboard) ;; deadgrep ;; debbugs ;; define-word ;; deft ;; dictionary ;; diff-hl ;; diff-mode ;; dim-autoload ;; dir-treeview ;; dired ;; dired-async ;; dired-git ;; dired-git-info ;; dired-narrow ;; dired-subtree ;; diredc ;; diredfl ;; diredp (dired+) ;; disk-usage ;; display-fill-column-indicator-mode ;; doom-modeline ;; dynamic-ruler ;; easy-jekyll ;; easy-kill ;; ebdb ;; ediff ;; eglot ;; el-search ;; eldoc ;; eldoc-box ;; elfeed ;; elfeed-score ;; emms ;; enhanced-ruby-mode ;; epa ;; equake ;; erc ;; eros ;; ert ;; eshell ;; eshell-fringe-status ;; eshell-git-prompt ;; eshell-prompt-extras (epe) ;; eshell-syntax-highlighting ;; evil (evil-mode) ;; evil-goggles ;; evil-snipe ;; evil-visual-mark-mode ;; eww ;; exwm ;; eyebrowse ;; fancy-dabbrev ;; flycheck ;; flycheck-color-mode-line ;; flycheck-indicator ;; flycheck-posframe ;; flymake ;; flyspell ;; flyspell-correct ;; flx ;; freeze-it ;; frog-menu ;; focus ;; fold-this ;; font-lock (generic syntax highlighting) ;; forge ;; fountain (fountain-mode) ;; geiser ;; git-commit ;; git-gutter (and variants) ;; git-lens ;; git-rebase ;; git-timemachine ;; git-walktree ;; gnus ;; golden-ratio-scroll-screen ;; helm ;; helm-ls-git ;; helm-switch-shell ;; helm-xref ;; helpful ;; highlight-blocks ;; highlight-defined ;; highlight-escape-sequences (`hes-mode') ;; highlight-indentation ;; highlight-numbers ;; highlight-symbol ;; highlight-tail ;; highlight-thing ;; hl-defined ;; hl-fill-column ;; hl-line-mode ;; hl-todo ;; hydra ;; hyperlist ;; ibuffer ;; icomplete ;; ido-mode ;; iedit ;; iflipb ;; imenu-list ;; indium ;; info ;; info-colors ;; interaction-log ;; ioccur ;; isearch, occur, etc. ;; isl (isearch-light) ;; ivy ;; ivy-posframe ;; jira (org-jira) ;; journalctl-mode ;; js2-mode ;; julia ;; jupyter ;; kaocha-runner ;; keycast ;; line numbers (`display-line-numbers-mode' and global variant) ;; lsp-mode ;; lsp-ui ;; macrostep ;; magit ;; magit-imerge ;; make-mode ;; man ;; marginalia ;; markdown-mode ;; markup-faces (`adoc-mode') ;; mentor ;; messages ;; minibuffer-line ;; minimap ;; mmm-mode ;; modeline ;; mood-line ;; mpdel ;; mu4e ;; mu4e-conversation ;; multiple-cursors ;; neotree ;; no-emoji ;; notmuch ;; num3-mode ;; nxml-mode ;; objed ;; orderless ;; org ;; org-journal ;; org-noter ;; org-pomodoro ;; org-recur ;; org-roam ;; org-superstar ;; org-table-sticky-header ;; org-tree-slide ;; org-treescope ;; origami ;; outline-mode ;; outline-minor-faces ;; package (M-x list-packages) ;; page-break-lines ;; paradox ;; paren-face ;; parrot ;; pass ;; pdf-tools ;; persp-mode ;; perspective ;; phi-grep ;; phi-search ;; pkgbuild-mode ;; pomidor ;; popup ;; powerline ;; powerline-evil ;; prism (see "Note for prism.el" in the manual) ;; proced ;; prodigy ;; quick-peek ;; racket-mode ;; rainbow-blocks ;; rainbow-identifiers ;; rainbow-delimiters ;; rcirc ;; recursion-indicator ;; regexp-builder (also known as `re-builder') ;; rg ;; ripgrep ;; rmail ;; ruler-mode ;; sallet ;; selectrum ;; selectrum-prescient ;; semantic ;; sesman ;; shell-script-mode ;; shortdoc ;; show-paren-mode ;; shr ;; side-notes ;; sieve-mode ;; skewer-mode ;; smart-mode-line ;; smartparens ;; smerge ;; spaceline ;; speedbar ;; spell-fu ;; stripes ;; suggest ;; switch-window ;; swiper ;; swoop ;; sx ;; symbol-overlay ;; tab-bar-mode ;; tab-line-mode ;; syslog-mode ;; table (built-in table.el) ;; telephone-line ;; terraform-mode ;; term ;; tomatinho ;; transient (pop-up windows like Magit's) ;; trashed ;; treemacs ;; tty-menu ;; tuareg ;; typescript ;; undo-tree ;; vc (built-in mode line status for version control) ;; vc-annotate (C-x v g) ;; vdiff ;; vimish-fold ;; visible-mark ;; visual-regexp ;; volatile-highlights ;; vterm ;; wcheck-mode ;; web-mode ;; wgrep ;; which-function-mode ;; which-key ;; whitespace-mode ;; window-divider-mode ;; winum ;; writegood-mode ;; woman ;; xah-elisp-mode ;; xref ;; xterm-color (and ansi-colors) ;; yaml-mode ;; yasnippet ;; ztree ;; ;; For a complete view of the project, also refer to the following files ;; (should be distributed in the same repository/directory as the ;; current item): ;; ;; - modus-operandi-theme.el (Light theme) ;; - modus-vivendi-theme.el (Dark theme) ;;; Code: (require 'cl-lib) (defgroup modus-themes () "Options for `modus-operandi', `modus-vivendi'." :group 'faces :link '(info-link "(modus-themes) Top") :prefix "modus-themes-" :tag "Modus Themes") ;;; Variables for each theme variant ;;;; Modus Operandi (define-obsolete-variable-alias 'modus-operandi-theme-default-colors-alist 'modus-themes-colors-operandi "1.0.0") (define-obsolete-variable-alias 'modus-themes-colors-operandi 'modus-themes-operandi-colors "1.1.0") (defconst modus-themes-operandi-colors '(;; base values (bg-main . "#ffffff") (fg-main . "#000000") (bg-dim . "#f8f8f8") (fg-dim . "#282828") (bg-alt . "#f0f0f0") (fg-alt . "#505050") ;; specifically for on/off states and must be combined with ;; themselves, though the backgrounds are also meant to be used with ;; other "active" values, defined further below (bg-active . "#d7d7d7") (fg-active . "#0a0a0a") (bg-inactive . "#efefef") (fg-inactive . "#404148") ;; these special values are intended as alternatives to the base ;; values for cases where we need to avoid confusion between the ;; highlighted constructs; they must either be used as pairs based ;; on their name or each can be combined with {fg,bg}-{main,alt,dim} ;; always in accordance with their role as background or foreground (bg-special-cold . "#dde3f4") (fg-special-cold . "#093060") (bg-special-mild . "#c4ede0") (fg-special-mild . "#184034") (bg-special-warm . "#f0e0d4") (fg-special-warm . "#5d3026") (bg-special-calm . "#f8ddea") (fg-special-calm . "#61284f") ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt (red . "#a60000") (red-alt . "#972500") (red-alt-other . "#a0132f") (red-faint . "#7f1010") (red-alt-faint . "#702f00") (red-alt-other-faint . "#7f002f") (green . "#005e00") (green-alt . "#315b00") (green-alt-other . "#145c33") (green-faint . "#104410") (green-alt-faint . "#30440f") (green-alt-other-faint . "#0f443f") (yellow . "#813e00") (yellow-alt . "#70480f") (yellow-alt-other . "#863927") (yellow-faint . "#5f4400") (yellow-alt-faint . "#5d5000") (yellow-alt-other-faint . "#5e3a20") (blue . "#0031a9") (blue-alt . "#2544bb") (blue-alt-other . "#0000c0") (blue-faint . "#003497") (blue-alt-faint . "#0f3d8c") (blue-alt-other-faint . "#001087") (magenta . "#721045") (magenta-alt . "#8f0075") (magenta-alt-other . "#5317ac") (magenta-faint . "#752f50") (magenta-alt-faint . "#7b206f") (magenta-alt-other-faint . "#55348e") (cyan . "#00538b") (cyan-alt . "#30517f") (cyan-alt-other . "#005a5f") (cyan-faint . "#005077") (cyan-alt-faint . "#354f6f") (cyan-alt-other-faint . "#125458") ;; these foreground values can only be combined with bg-main and are ;; thus not suitable for general purpose highlighting (red-intense . "#b60000") (orange-intense . "#904200") (green-intense . "#006800") (yellow-intense . "#605b00") (blue-intense . "#1f1fce") (magenta-intense . "#a8007f") (purple-intense . "#7f10d0") (cyan-intense . "#005f88") ;; those foregrounds are meant exclusively for bg-active, bg-inactive (red-active . "#8a0000") (green-active . "#004c2e") (yellow-active . "#702d1f") (blue-active . "#0030b4") (magenta-active . "#5c2092") (cyan-active . "#003f8a") ;; the "subtle" values below be combined with fg-dim, while the ;; "intense" should be paired with fg-main (red-subtle-bg . "#f2b0a2") (red-intense-bg . "#ff8892") (green-subtle-bg . "#aecf90") (green-intense-bg . "#5ada88") (yellow-subtle-bg . "#e4c340") (yellow-intense-bg . "#f5df23") (blue-subtle-bg . "#b5d0ff") (blue-intense-bg . "#6aaeff") (magenta-subtle-bg . "#f0d3ff") (magenta-intense-bg . "#d5baff") (cyan-subtle-bg . "#c0efff") (cyan-intense-bg . "#42cbd4") ;; those background values must be combined with fg-main and should ;; only be used for indicators that are placed on the fringes (red-fringe-bg . "#f08290") (green-fringe-bg . "#62c86a") (yellow-fringe-bg . "#dbba3f") (blue-fringe-bg . "#82afff") (magenta-fringe-bg . "#e0a3ff") (cyan-fringe-bg . "#2fcddf") ;; those background values should only be used for graphs or similar ;; applications where colored blocks are expected to be positioned ;; next to each other (red-graph-0-bg . "#ef6f79") (red-graph-1-bg . "#ff9f9f") (green-graph-0-bg . "#49d239") (green-graph-1-bg . "#6dec6d") (yellow-graph-0-bg . "#efec08") (yellow-graph-1-bg . "#dbff4e") (blue-graph-0-bg . "#55a2f0") (blue-graph-1-bg . "#7fcfff") (magenta-graph-0-bg . "#ba86ef") (magenta-graph-1-bg . "#e7afff") (cyan-graph-0-bg . "#30d3f0") (cyan-graph-1-bg . "#6fefff") ;; the following are for cases where both the foreground and the ;; background need to have a similar hue and so must be combined ;; with themselves, even though the foregrounds can be paired with ;; any of the base backgrounds (red-refine-bg . "#ffcccc") (red-refine-fg . "#780000") (green-refine-bg . "#aceaac") (green-refine-fg . "#004c00") (yellow-refine-bg . "#fff29a") (yellow-refine-fg . "#604000") (blue-refine-bg . "#8ac7ff") (blue-refine-fg . "#002288") (magenta-refine-bg . "#ffccff") (magenta-refine-fg . "#770077") (cyan-refine-bg . "#8eecf4") (cyan-refine-fg . "#004850") ;; the "nuanced" backgrounds can be combined with all of the above ;; foregrounds, as well as those included here, while the "nuanced" ;; foregrounds can in turn also be combined with bg-main, bg-dim, ;; bg-alt (red-nuanced-bg . "#fff1f0") (red-nuanced-fg . "#5f0000") (green-nuanced-bg . "#ecf7ed") (green-nuanced-fg . "#004000") (yellow-nuanced-bg . "#fff3da") (yellow-nuanced-fg . "#3f3000") (blue-nuanced-bg . "#f3f3ff") (blue-nuanced-fg . "#201f55") (magenta-nuanced-bg . "#fdf0ff") (magenta-nuanced-fg . "#541f4f") (cyan-nuanced-bg . "#ebf6fa") (cyan-nuanced-fg . "#0f3360") ;; the following are reserved for specific cases ;; ;; bg-hl-line is between bg-dim and bg-alt, so it should ;; work with all accents that cover those two, plus bg-main ;; ;; bg-hl-alt and bg-hl-alt-intense should only be used when no ;; other greyscale or fairly neutral background is available to ;; properly draw attention to a given construct ;; ;; bg-header is between bg-active and bg-inactive, so it ;; can be combined with any of the "active" values, plus the ;; "special" and base foreground colors ;; ;; bg-paren-match, bg-paren-match-intense, bg-region and ;; bg-tab-active must be combined with fg-main, while ;; bg-tab-inactive should be combined with fg-dim, whereas ;; bg-tab-inactive-alt goes together with fg-main ;; ;; bg-tab-bar is only intended for the bar that holds the tabs and ;; can only be combined with fg-main ;; ;; fg-tab-active is meant to be combined with bg-tab-active, ;; though only for styling special elements, such as underlining ;; the current tab ;; ;; fg-escape-char-construct and fg-escape-char-backslash can ;; be combined bg-main, bg-dim, bg-alt ;; ;; fg-lang-error, fg-lang-warning, fg-lang-note can be ;; combined with bg-main, bg-dim, bg-alt ;; ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined ;; with bg-main, bg-dim, bg-alt, bg-hl-line ;; ;; fg-unfocused must be combined with bg-main ;; ;; fg-docstring, fg-comment-yellow can be combined with ;; bg-main, bg-dim, bg-alt ;; ;; the window divider colors apply to faces with just an fg value ;; ;; all pairs are combinable with themselves (bg-hl-line . "#f2eff3") (bg-hl-line-intense . "#e0e0e0") (bg-hl-alt . "#fbeee0") (bg-hl-alt-intense . "#e8dfd1") (bg-paren-match . "#e0af82") (bg-paren-match-intense . "#c488ff") (bg-region . "#bcbcbc") (bg-tab-bar . "#d5d5d5") (bg-tab-active . "#f6f6f6") (bg-tab-inactive . "#bdbdbd") (bg-tab-inactive-alt . "#999999") (fg-tab-active . "#30169e") (fg-escape-char-construct . "#8b1030") (fg-escape-char-backslash . "#654d0f") (fg-lang-error . "#9f004f") (fg-lang-warning . "#604f0f") (fg-lang-note . "#4040ae") (fg-lang-underline-error . "#ef4f54") (fg-lang-underline-warning . "#cf9f00") (fg-lang-underline-note . "#3f6fef") (fg-window-divider-inner . "#888888") (fg-window-divider-outer . "#585858") (fg-unfocused . "#56576d") (fg-docstring . "#2a486a") (fg-comment-yellow . "#5f4400") (bg-header . "#e5e5e5") (fg-header . "#2a2a2a") (bg-whitespace . "#f5efef") (fg-whitespace . "#624956") (bg-diff-heading . "#b7cfe0") (fg-diff-heading . "#041645") (bg-diff-added . "#d4fad4") (fg-diff-added . "#004500") (bg-diff-added-deuteran . "#daefff") (fg-diff-added-deuteran . "#002044") (bg-diff-changed . "#fcefcf") (fg-diff-changed . "#524200") (bg-diff-removed . "#ffe8ef") (fg-diff-removed . "#691616") (bg-diff-refine-added . "#94cf94") (fg-diff-refine-added . "#002a00") (bg-diff-refine-added-deuteran . "#77c0ef") (fg-diff-refine-added-deuteran . "#000035") (bg-diff-refine-changed . "#cccf8f") (fg-diff-refine-changed . "#302010") (bg-diff-refine-removed . "#daa2b0") (fg-diff-refine-removed . "#400000") (bg-diff-focus-added . "#bbeabb") (fg-diff-focus-added . "#002c00") (bg-diff-focus-added-deuteran . "#bacfff") (fg-diff-focus-added-deuteran . "#001755") (bg-diff-focus-changed . "#ecdfbf") (fg-diff-focus-changed . "#392900") (bg-diff-focus-removed . "#efcbcf") (fg-diff-focus-removed . "#4a0000") (bg-diff-neutral-0 . "#979797") (fg-diff-neutral-0 . "#040404") (bg-diff-neutral-1 . "#b0b0b0") (fg-diff-neutral-1 . "#252525") (bg-diff-neutral-2 . "#cccccc") (fg-diff-neutral-2 . "#3a3a3a") (bg-mark-sel . "#a0f0cf") (fg-mark-sel . "#005040") (bg-mark-del . "#ffccbb") (fg-mark-del . "#840040") (bg-mark-alt . "#f5d88f") (fg-mark-alt . "#782900")) "The entire palette of `modus-operandi' theme. Each element has the form (NAME . HEX) with the former as a symbol and the latter as a string.") ;;;; Modus Vivendi (define-obsolete-variable-alias 'modus-vivendi-theme-default-colors-alist 'modus-themes-colors-vivendi "1.0.0") (define-obsolete-variable-alias 'modus-themes-colors-vivendi 'modus-themes-vivendi-colors "1.1.0") (defconst modus-themes-vivendi-colors '(;; base values (bg-main . "#000000") (fg-main . "#ffffff") (bg-dim . "#110b11") (fg-dim . "#e0e6f0") (bg-alt . "#181a20") (fg-alt . "#a8a8a8") ;; specifically for on/off states and must be combined with ;; themselves, though the backgrounds are also meant to be used with ;; other "active" values, defined further below (bg-active . "#323232") (fg-active . "#f4f4f4") (bg-inactive . "#1e1e1e") (fg-inactive . "#bfc0c4") ;; these special values are intended as alternatives to the base ;; values for cases where we need to avoid confusion between the ;; highlighted constructs; they must either be used as pairs based ;; on their name or each can be combined with {fg,bg}-{main,alt,dim} ;; always in accordance with their role as background or foreground (bg-special-cold . "#203448") (fg-special-cold . "#c6eaff") (bg-special-mild . "#00322e") (fg-special-mild . "#bfebe0") (bg-special-warm . "#382f27") (fg-special-warm . "#f8dec0") (bg-special-calm . "#392a48") (fg-special-calm . "#fbd6f4") ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt (red . "#ff8059") (red-alt . "#f4923b") (red-alt-other . "#ff9977") (red-faint . "#ffa0a0") (red-alt-faint . "#f5aa80") (red-alt-other-faint . "#ff9fbf") (green . "#44bc44") (green-alt . "#70c900") (green-alt-other . "#00cd68") (green-faint . "#88cf88") (green-alt-faint . "#a8cf88") (green-alt-other-faint . "#88cfaf") (yellow . "#eecc00") (yellow-alt . "#cfdf30") (yellow-alt-other . "#f0ce43") (yellow-faint . "#d2b580") (yellow-alt-faint . "#cabf77") (yellow-alt-other-faint . "#d0ba95") (blue . "#2fafff") (blue-alt . "#79a8ff" ) (blue-alt-other . "#00bcff") (blue-faint . "#92baff") (blue-alt-faint . "#a0acf5") (blue-alt-other-faint . "#87c8ff") (magenta . "#feacd0") (magenta-alt . "#f78fe7") (magenta-alt-other . "#b6a0ff") (magenta-faint . "#e0b2d6") (magenta-alt-faint . "#ef9fe4") (magenta-alt-other-faint . "#cfa6ff") (cyan . "#00d3d0") (cyan-alt . "#4ae8fc") (cyan-alt-other . "#6ae4b9") (cyan-faint . "#90c4ed") (cyan-alt-faint . "#a0bfdf") (cyan-alt-other-faint . "#a4d0bb") ;; these foreground values can only be combined with bg-main and are ;; thus not suitable for general purpose highlighting (red-intense . "#fe6060") (orange-intense . "#fba849") (green-intense . "#4fe42f") (yellow-intense . "#f0dd60") (blue-intense . "#4fafff") (magenta-intense . "#ff62d4") (purple-intense . "#9f80ff") (cyan-intense . "#3fdfd0") ;; those foregrounds are meant exclusively for bg-active, bg-inactive (red-active . "#ffa7ba") (green-active . "#70d73f") (yellow-active . "#dbbe5f") (blue-active . "#34cfff") (magenta-active . "#d5b1ff") (cyan-active . "#00d8b4") ;; the "subtle" values below be combined with fg-dim, while the ;; "intense" should be paired with fg-main (red-subtle-bg . "#762422") (red-intense-bg . "#a4202a") (green-subtle-bg . "#2f4a00") (green-intense-bg . "#006800") (yellow-subtle-bg . "#604200") (yellow-intense-bg . "#874900") (blue-subtle-bg . "#10387c") (blue-intense-bg . "#2a40b8") (magenta-subtle-bg . "#49366e") (magenta-intense-bg . "#7042a2") (cyan-subtle-bg . "#00415e") (cyan-intense-bg . "#005f88") ;; those background values must be combined with fg-main and should ;; only be used for indicators that are placed on the fringes (red-fringe-bg . "#8f1f4b") (green-fringe-bg . "#006700") (yellow-fringe-bg . "#6f4f00") (blue-fringe-bg . "#3f33af") (magenta-fringe-bg . "#6f2f89") (cyan-fringe-bg . "#004f8f") ;; those background values should only be used for graphs or similar ;; applications where colored blocks are expected to be positioned ;; next to each other (red-graph-0-bg . "#af0404") (red-graph-1-bg . "#801f2f") (green-graph-0-bg . "#24ba2f") (green-graph-1-bg . "#0f8f07") (yellow-graph-0-bg . "#ffd03e") (yellow-graph-1-bg . "#d7d800") (blue-graph-0-bg . "#406fff") (blue-graph-1-bg . "#2f50c8") (magenta-graph-0-bg . "#af7bee") (magenta-graph-1-bg . "#7f59cf") (cyan-graph-0-bg . "#47dcfa") (cyan-graph-1-bg . "#0bc0df") ;; the following are for cases where both the foreground and the ;; background need to have a similar hue and so must be combined ;; with themselves, even though the foregrounds can be paired with ;; any of the base backgrounds (red-refine-bg . "#77002a") (red-refine-fg . "#ffb9ab") (green-refine-bg . "#00422a") (green-refine-fg . "#9ff0cf") (yellow-refine-bg . "#693200") (yellow-refine-fg . "#e2d980") (blue-refine-bg . "#242679") (blue-refine-fg . "#8ec6ff") (magenta-refine-bg . "#71206a") (magenta-refine-fg . "#ffcaf0") (cyan-refine-bg . "#004065") (cyan-refine-fg . "#8ae4f2") ;; the "nuanced" backgrounds can be combined with all of the above ;; foregrounds, as well as those included here, while the "nuanced" ;; foregrounds can in turn also be combined with bg-main, bg-dim, ;; bg-alt (red-nuanced-bg . "#2c0614") (red-nuanced-fg . "#ffcccc") (green-nuanced-bg . "#001904") (green-nuanced-fg . "#b8e2b8") (yellow-nuanced-bg . "#221000") (yellow-nuanced-fg . "#dfdfb0") (blue-nuanced-bg . "#0f0e39") (blue-nuanced-fg . "#bfd9ff") (magenta-nuanced-bg . "#230631") (magenta-nuanced-fg . "#e5cfef") (cyan-nuanced-bg . "#041529") (cyan-nuanced-fg . "#a8e5e5") ;; the following are reserved for specific cases ;; ;; bg-hl-line is between bg-dim and bg-alt, so it should ;; work with all accents that cover those two, plus bg-main ;; ;; bg-hl-alt and bg-hl-alt-intense should only be used when no ;; other greyscale or fairly neutral background is available to ;; properly draw attention to a given construct ;; ;; bg-header is between bg-active and bg-inactive, so it ;; can be combined with any of the "active" values, plus the ;; "special" and base foreground colors ;; ;; bg-paren-match, bg-paren-match-intense, bg-region and ;; bg-tab-active must be combined with fg-main, while ;; bg-tab-inactive should be combined with fg-dim, whereas ;; bg-tab-inactive-alt goes together with fg-main ;; ;; bg-tab-bar is only intended for the bar that holds the tabs and ;; can only be combined with fg-main ;; ;; fg-tab-active is meant to be combined with bg-tab-active, ;; though only for styling special elements, such as underlining ;; the current tab ;; ;; fg-escape-char-construct and fg-escape-char-backslash can ;; be combined bg-main, bg-dim, bg-alt ;; ;; fg-lang-error, fg-lang-warning, fg-lang-note can be ;; combined with bg-main, bg-dim, bg-alt ;; ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined ;; with bg-main, bg-dim, bg-alt, bg-hl-line ;; ;; fg-unfocused must be combined with bg-main ;; ;; fg-docstring, fg-comment-yellow can be combined with ;; bg-main, bg-dim, bg-alt ;; ;; the window divider colors apply to faces with just an fg value ;; ;; all pairs are combinable with themselves (bg-hl-line . "#151823") (bg-hl-line-intense . "#2f2f2f") (bg-hl-alt . "#181732") (bg-hl-alt-intense . "#282e46") (bg-paren-match . "#5f362f") (bg-paren-match-intense . "#7416b5") (bg-region . "#3c3c3c") (bg-tab-bar . "#2c2c2c") (bg-tab-active . "#0e0e0e") (bg-tab-inactive . "#3d3d3d") (bg-tab-inactive-alt . "#595959") (fg-tab-active . "#5ac3cf") (fg-escape-char-construct . "#e7a59a") (fg-escape-char-backslash . "#abab00") (fg-lang-error . "#ef8690") (fg-lang-warning . "#b0aa00") (fg-lang-note . "#9d9def") (fg-lang-underline-error . "#ff4a6f") (fg-lang-underline-warning . "#d0de00") (fg-lang-underline-note . "#5f6fff") (fg-window-divider-inner . "#646464") (fg-window-divider-outer . "#969696") (fg-unfocused . "#93959b") (fg-docstring . "#b0d6f5") (fg-comment-yellow . "#cab98f") (bg-header . "#212121") (fg-header . "#dddddd") (bg-whitespace . "#101424") (fg-whitespace . "#aa9e9f") (bg-diff-heading . "#304466") (fg-diff-heading . "#dae7ff") (bg-diff-added . "#0a280a") (fg-diff-added . "#94ba94") (bg-diff-added-deuteran . "#001a3f") (fg-diff-added-deuteran . "#c4cdf2") (bg-diff-changed . "#2a2000") (fg-diff-changed . "#b0ba9f") (bg-diff-removed . "#40160f") (fg-diff-removed . "#c6adaa") (bg-diff-refine-added . "#005a36") (fg-diff-refine-added . "#e0f6e0") (bg-diff-refine-added-deuteran . "#234f8f") (fg-diff-refine-added-deuteran . "#dde4ff") (bg-diff-refine-changed . "#585800") (fg-diff-refine-changed . "#ffffcc") (bg-diff-refine-removed . "#852828") (fg-diff-refine-removed . "#ffd9eb") (bg-diff-focus-added . "#203d20") (fg-diff-focus-added . "#b4ddb4") (bg-diff-focus-added-deuteran . "#00405f") (fg-diff-focus-added-deuteran . "#bfe4ff") (bg-diff-focus-changed . "#4a3a10") (fg-diff-focus-changed . "#d0daaf") (bg-diff-focus-removed . "#5e2526") (fg-diff-focus-removed . "#eebdba") (bg-diff-neutral-0 . "#575757") (fg-diff-neutral-0 . "#fcfcfc") (bg-diff-neutral-1 . "#454545") (fg-diff-neutral-1 . "#dddddd") (bg-diff-neutral-2 . "#313131") (fg-diff-neutral-2 . "#bfbfbf") (bg-mark-sel . "#002f2f") (fg-mark-sel . "#60cfa2") (bg-mark-del . "#5a0000") (fg-mark-del . "#ff99aa") (bg-mark-alt . "#3f2210") (fg-mark-alt . "#f0aa20")) "The entire palette of `modus-vivendi' theme. Each element has the form (NAME . HEX) with the former as a symbol and the latter as a string.") ;;; Custom faces ;; These faces are used internally to ensure consistency between various ;; groups and to streamline the evaluation of relevant customization ;; options. (defface modus-theme-subtle-red nil "Subtle red background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-green nil "Subtle green background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-yellow nil "Subtle yellow background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-blue nil "Subtle blue background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-magenta nil "Subtle magenta background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-cyan nil "Subtle cyan background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-neutral nil "Subtle gray background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-red nil "Intense red background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-green nil "Intense green background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-yellow nil "Intense yellow background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-blue nil "Intense blue background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-magenta nil "Intense magenta background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-cyan nil "Intense cyan background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-neutral nil "Intense gray background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-red nil "Combination of accented red background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-green nil "Combination of accented green background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-yellow nil "Combination of accented yellow background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-blue nil "Combination of accented blue background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-magenta nil "Combination of accented magenta background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-cyan nil "Combination of accented cyan background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-red nil "A red background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-green nil "A green background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-yellow nil "A yellow background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-blue nil "A blue background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-magenta nil "A magenta background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-cyan nil "A cyan background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-red nil "A red background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-green nil "A green background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-yellow nil "A yellow background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-blue nil "A blue background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-magenta nil "A magenta background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-cyan nil "A cyan background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-red nil "A nuanced red background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-green nil "A nuanced green background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-yellow nil "A nuanced yellow background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-blue nil "A nuanced blue background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-magenta nil "A nuanced magenta background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-cyan nil "A nuanced cyan background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-special-cold nil "Combines the 'special cold' background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-special-mild nil "Combines the 'special mild' background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-special-warm nil "Combines the 'special warm' background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-special-calm nil "Combines the 'special calm' background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-added nil "Combines green colors for the 'added' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-changed nil "Combines yellow colors for the 'changed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-removed nil "Combines red colors for the 'removed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-refine-added nil "Combines green colors for word-wise 'added' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-refine-changed nil "Combines yellow colors for word-wise 'changed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-refine-removed nil "Combines red colors for word-wise 'removed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-focus-added nil "Combines green colors for the focused 'added' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-focus-changed nil "Combines yellow colors for the focused 'changed' state in. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-focus-removed nil "Combines red colors for the focused 'removed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-heading nil "Combines blue colors for the diff hunk heading. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-pseudo-header nil "Generic style for some elements that function like headings. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-mark-alt nil "Combines yellow colors for marking special lines This is intended for use in modes such as Dired, Ibuffer, Proced. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-mark-del nil "Combines red colors for marking deletable lines This is intended for use in modes such as Dired, Ibuffer, Proced. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-mark-sel nil "Combines green colors for marking lines This is intended for use in modes such as Dired, Ibuffer, Proced. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-mark-symbol nil "Applies a blue color and other styles for mark indicators. This is intended for use in modes such as Dired, Ibuffer, Proced. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-1 nil "General purpose face for use in headings level 1 The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-2 nil "General purpose face for use in headings level 2. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-3 nil "General purpose face for use in headings level 3. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-4 nil "General purpose face for use in headings level 4. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-5 nil "General purpose face for use in headings level 5. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-6 nil "General purpose face for use in headings level 6. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-7 nil "General purpose face for use in headings level 7. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-8 nil "General purpose face for use in headings level 8. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-hl-line nil "General purpose face for the current line. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-intense-hl-line' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-bold nil "Generic face for applying a conditional bold weight. This behaves in accordance with `modus-themes-bold-constructs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-slant nil "Generic face for applying a conditional slant (italics). This behaves in accordance with `modus-themes-slanted-constructs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-variable-pitch nil "Generic face for applying a conditional `variable-pitch'. This behaves in accordance with `modus-themes-no-mixed-fonts', `modus-themes-variable-pitch-headings' for all heading levels, and `modus-themes-variable-pitch-ui'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-red-0 nil "Special subdued red face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-red-1 nil "Special prominent red face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-green-0 nil "Special subdued green face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-green-1 nil "Special prominent green face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-yellow-0 nil "Special subdued yellow face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-yellow-1 nil "Special prominent yellow face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-blue-0 nil "Special subdued blue face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-blue-1 nil "Special prominent blue face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-magenta-0 nil "Special subdued magenta face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-magenta-1 nil "Special prominent magenta face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-cyan-0 nil "Special subdued cyan face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-cyan-1 nil "Special prominent cyan face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-lang-note nil "Generic face for linter or spell checker notes. The exact attributes and color combinations are controlled by `modus-themes-lang-checkers'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-lang-warning nil "Generic face for linter or spell checker warnings. The exact attributes and color combinations are controlled by `modus-themes-lang-checkers'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-lang-error nil "Generic face for linter or spell checker errors. The exact attributes and color combinations are controlled by `modus-themes-lang-checkers'. The actual styling of the face is done by `modus-themes-faces'.") ;;; Customization options ;;;; Current customization options (>= 1.0.0) (defcustom modus-themes-operandi-color-overrides nil "Override colors in the Modus Operandi palette. For form, see `modus-themes-operandi-colors'." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type '(alist :key-type symbol :value-type color) :link '(info-link "(modus-themes) Override colors (DIY)")) (defcustom modus-themes-vivendi-color-overrides nil "Override colors in the Modus Vivendi palette. For form, see `modus-themes-vivendi-colors'." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type '(alist :key-type symbol :value-type color) :link '(info-link "(modus-themes) Override colors (DIY)")) ;; The byte compiler complains when a defcustom isn't a top level form (let* ((names (mapcar (lambda (pair) (symbol-name (car pair))) modus-themes-operandi-colors)) (colors (mapcar #'intern (sort names #'string<)))) (put 'modus-themes-operandi-color-overrides 'custom-options (copy-sequence colors)) (put 'modus-themes-vivendi-color-overrides 'custom-options (copy-sequence colors))) (defcustom modus-themes-slanted-constructs nil "Use slanted text in more code constructs (italics or oblique)." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Slanted constructs")) (defcustom modus-themes-bold-constructs nil "Use bold text in more code constructs." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Bold constructs")) (defcustom modus-themes-variable-pitch-headings nil "Use proportional fonts (variable-pitch) in headings." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Headings' typeface")) (defcustom modus-themes-variable-pitch-ui nil "Use proportional fonts (variable-pitch) in UI elements. This includes the mode line, header line, tab bar, and tab line." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) UI typeface")) (defcustom modus-themes-no-mixed-fonts nil "Disable inheritance from `fixed-pitch' in some faces. This is done by default to allow spacing-sensitive constructs, such as Org tables and code blocks, to remain monospaced when users opt for something like the command `variable-pitch-mode'. The downside with the default is that users need to explicitly configure the font family of `fixed-pitch' in order to get a consistent experience. That may be something they do not want to do. Hence this option to disable any kind of technique for mixing fonts." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) No mixed fonts")) (defcustom modus-themes-headings '((t . nil)) "Alist of styles for headings, with optional value per level. To control faces per level from 1-8, use something like this: (setq modus-themes-headings '((1 . highlight) (2 . line) (t . rainbow-line-no-bold))) To set a uniform value for all heading levels, use this pattern: (setq modus-themes-headings '((t . rainbow-line-no-bold))) The default uses a fairly desaturated foreground value in combination with a bold typographic weight. To specify this style for a given level N (assuming you wish to have another fallback option), just specify the value t like this: (setq modus-themes-headings '((1 . t) (2 . line) (t . rainbow-line-no-bold))) A description of all possible values: + `no-bold' retains the default text color while removing the typographic weight. + `line' is the same as the default plus an overline over the heading. + `line-no-bold' is the same as `line' without bold weight. + `rainbow' uses a more colorful foreground in combination with bold weight. + `rainbow-line' is the same as `rainbow' plus an overline. + `rainbow-line-no-bold' is the same as `rainbow-line' without the bold weight. + `highlight' retains the default style of a fairly desaturated foreground combined with a bold weight and add to it a subtle accented background. + `highlight-no-bold' is the same as `highlight' without a bold weight. + `rainbow-highlight' is the same as `highlight' but with a more colorful foreground. + `rainbow-highlight-no-bold' is the same as `rainbow-highlight' without a bold weight. + `section' retains the default looks and adds to them both an overline and a slightly accented background. It is, in effect, a combination of the `line' and `highlight' values. + `section-no-bold' is the same as `section' without a bold weight. + `rainbow-section' is the same as `section' but with a more colorful foreground. + `rainbow-section-no-bold' is the same as `rainbow-section' without a bold weight. + `no-color' does not apply any color to the heading, meaning that it uses the foreground of the `default' face. It still renders the text with a bold typographic weight. + `no-color-no-bold' is like `no-color' but without the bold weight." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type '(alist :key-type symbol :value-type (choice (const :tag "Fairly desaturated foreground with bold weight (default)" t) (const :tag "Like the default without bold weight" no-bold) (const :tag "Like the default plus overline" line) (const :tag "Like `line' without bold weight" line-no-bold) (const :tag "Like the default but with more colorful foreground" rainbow) (const :tag "Like `rainbow' plus overline" rainbow-line) (const :tag "Like `rainbow' without bold weight" rainbow-no-bold) (const :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold) (const :tag "Like the default plus subtle background" highlight) (const :tag "Like `highlight' without bold weight" highlight-no-bold) (const :tag "Like `highlight' with more colorful foreground" rainbow-highlight) (const :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold) (const :tag "Like `highlight' plus overline" section) (const :tag "Like `section' without bold weight" section-no-bold) (const :tag "Like `section' with more colorful foreground" rainbow-section) (const :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold) (const :tag "Do not use any distinct foreground color; just bold weight" no-color) (const :tag "Like `no-bold' but without the distinct foreground color" no-color-no-bold))) :link '(info-link "(modus-themes) Heading styles")) (defcustom modus-themes-scale-headings nil "Use font scaling for headings. For regular headings the scale is controlled by the variables `modus-themes-scale-1' (smallest) and its variants all the way up to `modus-themes-scale-4' (larger). While `modus-themes-scale-5' is reserved for special headings that must be the largest on the scale. A special heading is, in this context, one that does not fit into the syntax for heading levels that apply to the given mode. For example, Org's #+title keyword lies outside the normal eight levels of headings. Whereas, say, Markdown does not have such a special heading." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Scaled headings")) (defcustom modus-themes-scale-1 1.05 "Font size that is slightly larger than the base value. This size is used for level 4 headings, such as in Org and Markdown files. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-scale-2 1.1 "Font size slightly larger than `modus-themes-scale-1'. This size is used for level 3 headings, such as in Org and Markdown files. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-scale-3 1.15 "Font size slightly larger than `modus-themes-scale-2'. This size is used for level 2 headings, such as in Org and Markdown files. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-scale-4 1.2 "Font size slightly larger than `modus-themes-scale-3'. This size is used for level 1 headings, such as in Org and Markdown files. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-scale-5 1.3 "Font size slightly larger than `modus-themes-scale-4'. This size is only used for 'special' top level headings, such as Org's file title heading, denoted by the #+title key word, and the Org agenda structure headers. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-fringes nil "Define the visibility of fringes. Nil means the fringes have no background color. Option `subtle' will apply a greyscale value that is visible yet close to the main buffer background color. Option `intense' will use a more pronounced greyscale value." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "No visible fringes (default)" nil) (const :tag "Subtle greyscale background" subtle) (const :tag "Intense greyscale background" intense)) :link '(info-link "(modus-themes) Fringes")) (defcustom modus-themes-lang-checkers nil "Control the style of spelling and code checkers/linters. Nil (the default) applies a color-coded underline to the affected text, while it leaves the original foreground in tact. If the display spec of Emacs has support for it, the underline's style is that of a wave, otherwise it is a straight line. Options `subtle-foreground' and `intense-foreground' add a color-coded underline while also changing the text's foreground accordingly. The style of the underline is the same as with the default option. Option `straight-underline' is like the default but always applies a straight line under the affected text. Same principle for `subtle-foreground-straight-underline' and its counterpart `intense-foreground-straight-underline'. Option `colored-background' uses a straight underline, a background, and a foreground. All are color-coded. This is the most intense combination of face properties." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type '(choice (const :tag "Only color-coded wavy underline (default)" nil) (const :tag "Like the default, but with a straight underline" straight-underline) (const :tag "Color-coded wavy underline; subtle foreground" subtle-foreground) (const :tag "Combines `straight-underline' and `subtle-foreground'" subtle-foreground-straight-underline) (const :tag "Color-coded wavy underline; intense foreground" intense-foreground) (const :tag "Combines `straight-underline' and `intense-foreground'" intense-foreground-straight-underline) (const :tag "Color-coded background, foreground, straight underline" colored-background)) :link '(info-link "(modus-themes) Language checkers")) (defcustom modus-themes-org-blocks nil "Use a subtle gray or color-coded background for Org blocks. Nil means that the block will have no background of its own and will use the default that applies to the rest of the buffer. Option `grayscale' (or `greyscale') will apply a subtle neutral gray background to the block's contents. It also affects the begin and end lines of the block: their background will be extended to the edge of the window for Emacs version >= 27 where the ':extend' keyword is recognized by `set-face-attribute'. Option `rainbow' will use an accented background for the contents of the block. The exact color will depend on the programming language and is controlled by the `org-src-block-faces' variable (refer to the theme's source code for the current association list)." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "No Org block background (default)" nil) (const :tag "Subtle gray block background" grayscale) (const :tag "Subtle gray block background (alt spelling)" greyscale) (const :tag "Color-coded background per programming language" rainbow)) :link '(info-link "(modus-themes) Org mode blocks")) (defcustom modus-themes-org-habit nil "Control the presentation of the `org-habit' graph. The default is meant to conform with the original aesthetic of `org-habit'. It employs all four color codes that correspond to the org-habit states---clear, ready, alert, and overdue---while distinguishing between their present and future variants. This results in a total of eight colors in use: red, yellow, green, blue, in tinted and shaded versions. They cover the full set of information provided by the `org-habit' consistency graph. Option `simplified' is like the default except that it removes the dichotomy between current and future variants by applying uniform color-coded values. It applies a total of four colors: red, yellow, green, blue. They produce a simplified consistency graph that is more legible (or less \"busy\") than the default. The intent is to shift focus towards the distinction between the four states of a habit task, rather than each state's present/future outlook. Option `traffic-light' further reduces the available colors to red, yellow, and green. As in `simplified', present and future variants appear uniformly, but differently from it, the 'clear' state is rendered in a green hue, instead of the original blue. This is meant to capture the use-case where a habit task being \"too early\" is less important than it being \"too late\". The difference between ready and clear states is attenuated by painting both of them using shades of green. This option thus highlights the alert and overdue states." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type '(choice (const :tag "Respect the original design of org-habit (default)" nil) (const :tag "Like the default, but do not distinguish between present and future variants" simplified) (const :tag "Like `simplified', but only use red, yellow, green" traffic-light)) :link '(info-link "(modus-themes) Org agenda habits")) (defcustom modus-themes-mode-line nil "Adjust the overall style of the mode line. Nil is a two-dimensional rectangle with a border around it. The active and the inactive modelines use different shades of greyscale values for the background and foreground. A `3d' value will apply a three-dimensional effect to the active modeline. The inactive modelines remain two-dimensional and are toned down a bit, relative to the nil value. The `moody' option is meant to optimize the modeline for use with the library of the same name. This practically means to remove the box effect and rely on underline and overline properties instead. It also tones down the inactive modelines. Despite its intended purpose, this option can also be used without the `moody' library. The `borderless' option uses the same colors as the default (nil value), but removes the border effect. This is done by making the box property use the same color as the background, effectively blending the two and creating some padding. The `borderless-3d' and `borderless-moody' approximate the `3d' and `moody' options respectively, while removing the borders. However, to ensure that the inactive modelines remain visible, they apply a slightly more prominent background to them than what their counterparts do (same inactive background as with the default)." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "Two-dimensional box (default)" nil) (const :tag "Three-dimensional style for the active mode line" 3d) (const :tag "No box effects, which are optimal for use with the `moody' library" moody) (const :tag "Like the default, but without border effects" borderless) (const :tag "Like `3d', but without noticeable border" borderless-3d) (const :tag "Like `moody', but without noticeable border" borderless-moody)) :link '(info-link "(modus-themes) Mode line")) (defcustom modus-themes-diffs nil "Adjust the overall styles of diffs. Nil means to use fairly intense color combinations for diffs. For example, you get a rich green background with a green foreground for added lines. Word-wise or 'refined' diffs follow the same pattern but use different shades of those colors to remain distinct. A `desaturated' value follows the same principles as with the nil option, while it tones down all relevant colors. Option `fg-only' will remove all accented backgrounds, except from word-wise changes. It instead uses color-coded foreground values to differentiate between added/removed/changed lines. If a background is necessary, such as with `ediff', then a subtle greyscale value is used. Option `bg-only' applies a background but does not override the text's foreground. This makes it suitable for a non-nil value passed to `diff-font-lock-syntax' (note: Magit does not support syntax highlighting in diffs as of 2020-11-25, version 20201116.1057). Option `deuteranopia' accounts for red-green color defficiency by replacing all instances of green with colors on the blue side of the spectrum. Other stylistic changes are made in the interest of optimizing for such a use-case." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type '(choice (const :tag "Intensely colored backgrounds (default)" nil) (const :tag "Slightly accented backgrounds with tinted text" desaturated) (const :tag "No backgrounds, except for refined diffs" fg-only) (const :tag "Apply color-coded backgrounds; keep syntax colors in tact" bg-only) (const :tag "Optimized for red-green color defficiency" deuteranopia)) :link '(info-link "(modus-themes) Diffs")) (defcustom modus-themes-completions nil "Apply special styles to the UI of completion frameworks. This concerns Icomplete, Ivy, Helm, Selectrum, Ido, as well as any other tool meant to enhance their experience. The effect will vary depending on the completion framework. Nil means to remain faithful to the metaphors that each UI establishes. For example, Icomplete and Ido only use foreground colors to style their matches, whereas Ivy or Helm rely on an aesthetic that combines colored backgrounds with appropriate text color. Option `moderate' will apply a combination of background and foreground that is fairly subtle. For Icomplete and the like, this constitutes a departure from their standard style. While Ivy, Helm, and the others, will use less pronounced colors for applicable contexts. Option `opinionated' will apply color combinations that refashion the completion UI. So Icomplete et al will now use styles that resemble the defaults of Ivy and co., while the latter group will revert to an even more nuanced aesthetic." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "Respect the framework's established aesthetic (default)" nil) (const :tag "Subtle backgrounds for various elements" moderate) (const :tag "Radical alternative to the framework's looks" opinionated)) :link '(info-link "(modus-themes) Completion UIs")) (defcustom modus-themes-prompts nil "Use subtle or intense styles for minibuffer and REPL prompts. Nil means to only use an accented foreground color. Options `subtle-accented' and `intense-accented' will change both the background and the foreground values to use accented color combinations that follow the hue of the default styles' foreground (e.g. the default minibuffer prompt is cyan text, so these combinations will involved a cyan background and an appropriate cyan foreground). Options `subtle-gray' and `intense-gray' are like their `subtle-accented' and `intense-accented' counterparts, except they use grayscale values instead of accented ones." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice ;; `subtle' is the same as `subtle-accented', while `intense' is ;; equal to `intense-accented' for backward compatibility (const :tag "No prompt background (default)" nil) (const :tag "Subtle accented background for the prompt" subtle-accented) (const :tag "Same as `subtle-accented' for compatibility with older versions" subtle) (const :tag "Intense accented background and foreground for the prompt" intense-accented) (const :tag "Same as `intense-accented' for compatibility with older versions" intense) (const :tag "Like `subtle-accented' but grayscale" subtle-gray) (const :tag "Like `intense-accented' but grayscale" intense-gray)) :link '(info-link "(modus-themes) Command prompts")) (defcustom modus-themes-intense-hl-line nil "Use a more prominent background for command `hl-line-mode'." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Line highlighting")) (defcustom modus-themes-subtle-line-numbers nil "Use more subtle style for command `display-line-numbers-mode'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Line numbers")) (defcustom modus-themes-paren-match nil "Choose the style of matching parentheses or delimiters. Nil means to use a subtle tinted background color (the default). Option `intense' applies a saturated background color. Option `subtle-bold' is the same as the default, but also makes use of bold typographic weight (inherits the `bold' face). Option `intense-bold' is the same as `intense', while it also uses a bold weight." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "Sublte tinted background (default)" nil) (const :tag "Like the default, but also use bold typographic weight" subtle-bold) (const :tag "Intense saturated background" intense) (const :tag "Like `intense' but with bold weight" intense-bold)) :link '(info-link "(modus-themes) Matching parentheses")) (defcustom modus-themes-syntax nil "Control the overall style of code syntax highlighting. Nil (the default) means to use colors on the cyan-blue-magenta side of the spectrum. There is little to no use of greens, yellows, and reds. Option `faint' is like the default in terms of the choice of palette but applies desaturated color values. Option `yellow-comments' applies a yellow tint to comments. The rest of the syntax is the same as the default. Option `green-strings' replaces the blue/cyan/cold color variants in strings with greener alternatives. The rest of the syntax remains the same. Option `yellow-comments-green-strings' combines yellow comments with green strings and the rest of the default syntax highlighting style. Option `alt-syntax' expands the color palette and applies new color combinations. Strings are green. Doc strings are magenta tinted. Comments are gray. Option `alt-syntax-yellow-comments' combines `alt-syntax' with `yellow-comments'. Option `faint-yellow-comments' combines the `faint' style with `yellow-comments'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type '(choice (const :tag "Balanced use of blue, cyan, magenta, purple variants (default)" nil) (const :tag "Like the default, but with desaturated color values" faint) (const :tag "Apply yellow tint to comments, keep the default style for the rest" yellow-comments) (const :tag "Use green for strings, keep the default style for the rest" green-strings) (const :tag "Use green for strings, yellow for comments, keep the default style for the rest" yellow-comments-green-strings) (const :tag "Refashion syntax highlighting with more colors, gray comments" alt-syntax) (const :tag "Like `alt-syntax' but with yellow comments" alt-syntax-yellow-comments) (const :tag "Like `faint' but with yellow comments" faint-yellow-comments)) :link '(info-link "(modus-themes) Syntax styles")) (defcustom modus-themes-links nil "Set the style of links. Nil means to use an underline that is the same color as the foreground. Option `faint' applies desaturated colors to the link's text and underline. Option `neutral-underline' applies a subtle grey underline, while retaining the link's foreground. Option `faint-neutral-underline' combines a desaturated text color with a subtle grey underline. Option `no-underline' removes link underlines altogether, while retaining their original fairly vivid color. Option `underline-only' applies an underline while making the affected text colorless (it uses the same foreground as the theme's default). Option `neutral-underline-only' makes the text colorless while using a subtle underline below it." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type '(choice (const :tag "Undeline link using the same color as the text (default)" nil) (const :tag "Like the default, but apply less intense colors to links" faint) (const :tag "Change the color of link underlines to a neutral grey" neutral-underline) (const :tag "Desaturated foreground with neutral grey underline" faint-neutral-underline) (const :tag "Remove underline property from links, keeping their foreground as-is" no-underline) (const :tag "Apply underline only; use default foreground" underline-only) (const :tag "Like `underline-only' but with a subtle underline" neutral-underline-only)) :link '(info-link "(modus-themes) Link styles")) (defcustom modus-themes-region nil "Change the overall appearance of the active region. Nil (the default) means to only use a prominent gray background with a neutral foreground. The foreground overrides all syntax highlighting. The region extends to the edge of the window. Option `no-extend' preserves the default aesthetic but prevents the region from extending to the edge of the window. Option `bg-only' applies a faint tinted background that is distinct from all others used in the theme, while it does not override any existing colors. It extends to the edge of the window. Option `bg-only-no-extend' is a combination of the `bg-only' and `no-extend' options." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "Intense background; overrides colors; extends to edge of window (default)" nil) (const :tag "As with the default, but does not extend" no-extend) (const :tag "Subtle background; preserves colors; extends to edge of window" bg-only) (const :tag "As with the `subtle' option, but does not extend" bg-only-no-extend)) :link '(info-link "(modus-themes) Active region")) ;;;; Deprecated customization options (prior to 1.0.0) ;;;;; Modus Operandi obsolete options (make-obsolete 'modus-operandi-theme-override-colors-alist nil "1.0.0") (make-obsolete 'modus-operandi-theme-slanted-constructs 'modus-themes-slanted-constructs "1.0.0") (make-obsolete 'modus-operandi-theme-bold-constructs 'modus-themes-bold-constructs "1.0.0") (make-obsolete 'modus-operandi-theme-proportional-fonts 'modus-themes-variable-pitch-headings "1.0.0") (make-obsolete 'modus-operandi-theme-variable-pitch-headings 'modus-themes-variable-pitch-headings "1.0.0") (make-obsolete 'modus-operandi-theme-no-mixed-fonts 'modus-themes-no-mixed-fonts "1.0.0") (make-obsolete 'modus-operandi-theme-rainbow-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-operandi-theme-section-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-operandi-theme-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-operandi-theme-scale-headings 'modus-themes-scale-headings "1.0.0") (make-obsolete 'modus-operandi-theme-scale-1 'modus-themes-scale-1 "1.0.0") (make-obsolete 'modus-operandi-theme-scale-2 'modus-themes-scale-2 "1.0.0") (make-obsolete 'modus-operandi-theme-scale-3 'modus-themes-scale-3 "1.0.0") (make-obsolete 'modus-operandi-theme-scale-4 'modus-themes-scale-4 "1.0.0") (make-obsolete 'modus-operandi-theme-scale-5 'modus-themes-scale-5 "1.0.0") (make-obsolete 'modus-operandi-theme-visible-fringes 'modus-themes-fringes "1.0.0") (make-obsolete 'modus-operandi-theme-fringes 'modus-themes-fringes "1.0.0") (make-obsolete 'modus-operandi-theme-distinct-org-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-operandi-theme-rainbow-org-src-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-operandi-theme-org-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-operandi-theme-3d-modeline 'modus-themes-mode-line "1.0.0") (make-obsolete 'modus-operandi-theme-mode-line 'modus-themes-mode-line "1.0.0") (make-obsolete 'modus-operandi-theme-subtle-diffs 'modus-themes-diffs "1.0.0") (make-obsolete 'modus-operandi-theme-diffs 'modus-themes-diffs "1.0.0") (make-obsolete 'modus-operandi-theme-intense-standard-completions 'modus-themes-completions "1.0.0") (make-obsolete 'modus-operandi-theme-completions 'modus-themes-completions "1.0.0") (make-obsolete 'modus-operandi-theme-prompts 'modus-themes-prompts "1.0.0") (make-obsolete 'modus-operandi-theme-intense-hl-line 'modus-themes-intense-hl-line "1.0.0") (make-obsolete 'modus-operandi-theme-intense-paren-match 'modus-themes-paren-match "1.0.0") (make-obsolete 'modus-operandi-theme-faint-syntax 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-operandi-theme-comments 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-operandi-theme-syntax 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-operandi-theme-no-link-underline 'modus-themes-links "1.0.0") (make-obsolete 'modus-operandi-theme-links 'modus-themes-links "1.0.0") ;;;;; Modus Vivendi obsolete options (make-obsolete 'modus-vivendi-theme-override-colors-alist nil "1.0.0") (make-obsolete 'modus-vivendi-theme-slanted-constructs 'modus-themes-slanted-constructs "1.0.0") (make-obsolete 'modus-vivendi-theme-bold-constructs 'modus-themes-bold-constructs "1.0.0") (make-obsolete 'modus-vivendi-theme-proportional-fonts 'modus-themes-variable-pitch-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-variable-pitch-headings 'modus-themes-variable-pitch-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-no-mixed-fonts 'modus-themes-no-mixed-fonts "1.0.0") (make-obsolete 'modus-vivendi-theme-rainbow-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-section-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-headings 'modus-themes-scale-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-1 'modus-themes-scale-1 "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-2 'modus-themes-scale-2 "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-3 'modus-themes-scale-3 "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-4 'modus-themes-scale-4 "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-5 'modus-themes-scale-5 "1.0.0") (make-obsolete 'modus-vivendi-theme-visible-fringes 'modus-themes-fringes "1.0.0") (make-obsolete 'modus-vivendi-theme-fringes 'modus-themes-fringes "1.0.0") (make-obsolete 'modus-vivendi-theme-distinct-org-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-vivendi-theme-rainbow-org-src-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-vivendi-theme-org-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-vivendi-theme-3d-modeline 'modus-themes-mode-line "1.0.0") (make-obsolete 'modus-vivendi-theme-mode-line 'modus-themes-mode-line "1.0.0") (make-obsolete 'modus-vivendi-theme-subtle-diffs 'modus-themes-diffs "1.0.0") (make-obsolete 'modus-vivendi-theme-diffs 'modus-themes-diffs "1.0.0") (make-obsolete 'modus-vivendi-theme-intense-standard-completions 'modus-themes-completions "1.0.0") (make-obsolete 'modus-vivendi-theme-completions 'modus-themes-completions "1.0.0") (make-obsolete 'modus-vivendi-theme-prompts 'modus-themes-prompts "1.0.0") (make-obsolete 'modus-vivendi-theme-intense-hl-line 'modus-themes-intense-hl-line "1.0.0") (make-obsolete 'modus-vivendi-theme-intense-paren-match 'modus-themes-paren-match "1.0.0") (make-obsolete 'modus-vivendi-theme-faint-syntax 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-vivendi-theme-comments 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-vivendi-theme-syntax 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-vivendi-theme-no-link-underline 'modus-themes-links "1.0.0") (make-obsolete 'modus-vivendi-theme-links 'modus-themes-links "1.0.0") ;;; Internal functions (defun modus-themes--palette (theme) "Return color palette for Modus theme THEME. THEME is a symbol, either `modus-operandi' or `modus-vivendi'." (pcase theme ('modus-operandi (append modus-themes-operandi-color-overrides modus-themes-operandi-colors)) ('modus-vivendi (append modus-themes-vivendi-color-overrides modus-themes-vivendi-colors)) (_theme (error "'%s' is not a Modus theme" theme)))) (defvar modus-themes-faces) (defvar modus-themes-custom-variables) (defmacro modus-themes-theme (name) "Bind NAME's color palette around face specs and variables. NAME should be the proper name of a Modus theme, either `modus-operandi' or `modus-vivendi'. Face specifications are passed to `custom-theme-set-faces'. While variables are handled by `custom-theme-set-variables'. Those are stored in `modus-themes-faces' and `modus-themes-custom-variables' respectively." (declare (indent 0)) (let ((palette-sym (gensym)) (colors (mapcar #'car modus-themes-operandi-colors))) `(let* ((class '((class color) (min-colors 89))) (,palette-sym (modus-themes--palette ',name)) ,@(mapcar (lambda (color) (list color `(alist-get ',color ,palette-sym))) colors)) (custom-theme-set-faces ',name ,@modus-themes-faces) (custom-theme-set-variables ',name ,@modus-themes-custom-variables)))) (defun modus-themes--current-theme () "Return current theme." (car custom-enabled-themes)) ;; Helper functions that are meant to ease the implementation of the ;; above customization options. (defun modus-themes--bold-weight () "Conditional use of a heavier text weight." (when modus-themes-bold-constructs (list :inherit 'bold))) (defun modus-themes--mixed-fonts () "Conditional application of `fixed-pitch' inheritance." (unless modus-themes-no-mixed-fonts (list :inherit 'fixed-pitch))) (defun modus-themes--slant () "Conditional use of italics for slant attribute." (if modus-themes-slanted-constructs (list 'italic) (list 'normal))) (defun modus-themes--variable-pitch () "Conditional use of `variable-pitch' in headings." (when modus-themes-variable-pitch-headings (list :inherit 'variable-pitch))) (defun modus-themes--variable-pitch-ui () "Conditional use of `variable-pitch' in UI elements." (when modus-themes-variable-pitch-ui (list :inherit 'variable-pitch))) (defun modus-themes--fringe (mainbg subtlebg intensebg) "Conditional use of background colors for fringes. MAINBG is the default. SUBTLEBG should be a subtle greyscale value. INTENSEBG must be a more pronounced greyscale color." (pcase modus-themes-fringes ('intense (list :background intensebg)) ('subtle (list :background subtlebg)) (_ (list :background mainbg)))) (defun modus-themes--line-numbers (mainfg mainbg altfg &optional altbg) "Conditional use of colors for line numbers. MAINBG and MAINFG are the default colors. ALTFG is a color that combines with the theme's primary background (white/black)." (if modus-themes-subtle-line-numbers (list :background (or altbg 'unspecified) :foreground altfg) (list :background mainbg :foreground mainfg))) (defun modus-themes--lang-check (underline subtlefg intensefg bg) "Conditional use of foreground colors for language checkers. UNDERLINE is a color-code value for the affected text's underline property. SUBTLEFG and INTENSEFG follow the same color-coding pattern and represent a value that is faint or vibrant respectively. BG is a color-coded background." (pcase modus-themes-lang-checkers ('colored-background (list :underline underline :background bg :foreground intensefg)) ('intense-foreground (list :underline (list :color underline :style 'wave) :foreground intensefg)) ('intense-foreground-straight-underline (list :underline underline :foreground intensefg)) ('subtle-foreground (list :underline (list :color underline :style 'wave) :foreground subtlefg)) ('subtle-foreground-straight-underline (list :underline underline :foreground subtlefg)) ('straight-underline (list :underline underline)) (_ (list :underline (list :color underline :style 'wave))))) (defun modus-themes--prompt (mainfg subtlebg subtlefg intensebg intensefg) "Conditional use of background colors for prompts. MAINFG is the prompt's standard foreground. SUBTLEBG should be a subtle accented background that works with SUBTLEFG. INTENSEBG must be a more pronounced accented color that should be combinable with INTENSEFG." (pcase modus-themes-prompts ;; `subtle' is the same as `subtle-accented', while `intense' is ;; equal to `intense-accented' for backward compatibility ('intense-accented (list :background intensebg :foreground intensefg)) ('intense (list :background intensebg :foreground intensefg)) ('subtle-accented (list :background subtlebg :foreground subtlefg)) ('subtle (list :background subtlebg :foreground subtlefg)) ('subtle-gray (list :inherit 'modus-theme-subtle-neutral)) ('intense-gray (list :inherit 'modus-theme-intense-neutral)) (_ (list :background nil :foreground mainfg)))) (defun modus-themes--paren (normalbg intensebg) "Conditional use of intense colors for matching parentheses. NORMALBG should be the special palette color 'bg-paren-match' or something similar. INTENSEBG must be easier to discern next to other backgrounds, such as the special palette color 'bg-paren-match-intense'." (pcase modus-themes-paren-match ('subtle-bold (list :inherit 'bold :background normalbg)) ('intense-bold (list :inherit 'bold :background intensebg)) ('intense (list :background intensebg)) (_ (list :background normalbg)))) (defun modus-themes--syntax-foreground (fg faint) "Apply foreground value to code syntax. FG is the default. FAINT is typically the same color in its desaturated version." (pcase modus-themes-syntax ('faint (list :foreground faint)) ('faint-yellow-comments (list :foreground faint)) (_ (list :foreground fg)))) (defun modus-themes--syntax-extra (fg faint alt) "Apply foreground value to code syntax. FG is the default. FAINT is typically the same color in its desaturated version. ALT is another hue." (pcase modus-themes-syntax ('faint (list :foreground faint)) ('faint-yellow-comments (list :foreground faint)) ('alt-syntax (list :foreground alt)) ('alt-syntax-yellow-comments (list :foreground alt)) (_ (list :foreground fg)))) (defun modus-themes--syntax-string (fg faint green alt) "Apply foreground value to strings in code syntax. FG is the default. FAINT is typically the same color in its desaturated version. GREEN is a color variant in that side of the spectrum. ALT is another hue." (pcase modus-themes-syntax ('faint (list :foreground faint)) ('faint-yellow-comments (list :foreground faint)) ('green-strings (list :foreground green)) ('yellow-comments-green-strings (list :foreground alt)) ('alt-syntax (list :foreground alt)) ('alt-syntax-yellow-comments (list :foreground alt)) (_ (list :foreground fg)))) (defun modus-themes--syntax-docstring (fg faint green alt) "Apply foreground value to strings in code syntax. FG is the default. FAINT is typically the same color in its desaturated version. GREEN is a color variant in that side of the spectrum. ALT is another hue." (pcase modus-themes-syntax ('faint (list :foreground faint)) ('faint-yellow-comments (list :foreground faint)) ('green-strings (list :foreground green)) ('yellow-comments-green-strings (list :foreground green)) ('alt-syntax (list :foreground alt)) ('alt-syntax-yellow-comments (list :foreground alt)) (_ (list :foreground fg)))) (defun modus-themes--syntax-comment (fg yellow) "Apply foreground value to strings in code syntax. FG is the default. YELLOW is a color variant of that name." (pcase modus-themes-syntax ('yellow-comments (list :foreground yellow)) ('yellow-comments-green-strings (list :foreground yellow)) ('alt-syntax-yellow-comments (list :foreground yellow)) ('faint-yellow-comments (list :foreground yellow)) (_ (list :foreground fg)))) (defun modus-themes--heading-p (key) "Query style of KEY in `modus-themes-headings'." (cdr (assoc key modus-themes-headings))) (defun modus-themes--heading (level fg fg-alt bg border) "Conditional styles for `modus-themes-headings'. LEVEL is the heading's position in their order. FG is the default text color. FG-ALT is an accented, more saturated value than the default. BG is a nuanced, typically accented, background that can work well with either of the foreground values. BORDER is a color value that combines well with the background and alternative foreground." (let* ((key (modus-themes--heading-p `,level)) (style (or key (modus-themes--heading-p t))) (var (when modus-themes-variable-pitch-headings 'variable-pitch)) (varbold (if var (append (list 'bold) (list var)) 'bold))) (pcase style ('no-bold (list :inherit `,var :foreground fg)) ('no-color (list :inherit `,varbold)) ('no-color-no-bold (list :inherit `,var)) ('line (list :inherit `,varbold :foreground fg :overline border)) ('line-no-bold (list :inherit `,var :foreground fg :overline border)) ('rainbow (list :inherit `,varbold :foreground fg-alt)) ('rainbow-no-bold (list :inherit `,var :foreground fg-alt)) ('rainbow-line (list :inherit `,varbold :foreground fg-alt :overline border)) ('rainbow-line-no-bold (list :inherit `,var :foreground fg-alt :overline border)) ('highlight (list :inherit `,varbold :background bg :foreground fg)) ('highlight-no-bold (list :inherit `,var :background bg :foreground fg)) ('rainbow-highlight (list :inherit `,varbold :background bg :foreground fg-alt)) ('rainbow-highlight-no-bold (list :inherit `,var :background bg :foreground fg-alt)) ('section (list :inherit `,varbold :background bg :foreground fg :overline border :extend t)) ('section-no-bold (list :inherit `,var :background bg :foreground fg :overline border :extend t)) ('rainbow-section (list :inherit `,varbold :background bg :foreground fg-alt :overline border :extend t)) ('rainbow-section-no-bold (list :inherit `,var :background bg :foreground fg-alt :overline border :extend t)) (_ (list :inherit `,varbold :foreground fg))))) (defun modus-themes--org-block (bgblk) "Conditionally set the background of Org blocks. BGBLK applies to a distinct neutral background. Else blocks have no background of their own (the default), so they look the same as the rest of the buffer. `modus-themes-org-blocks' also accepts a `rainbow' option which is applied conditionally to `org-src-block-faces' (see the theme's source code)." (if (or (eq modus-themes-org-blocks 'grayscale) (eq modus-themes-org-blocks 'greyscale)) (list :background bgblk :extend t) (list :background 'unspecified))) (defun modus-themes--org-block-delim (bgaccent fgaccent bg fg) "Conditionally set the styles of Org block delimiters. BG, FG, BGACCENT, FGACCENT apply a background and foreground color respectively. The former pair is a greyscale combination that should be more distinct than the background of the block. It is applied to the default styles or when `modus-themes-org-blocks' is set to `greyscale'. The latter pair should be more subtle than the background of the block, as it is used when `modus-themes-org-blocks' is set to `rainbow'." (pcase modus-themes-org-blocks ('grayscale (list :background bg :foreground fg :extend t)) ('greyscale (list :background bg :foreground fg :extend t)) ('rainbow (list :background bgaccent :foreground fgaccent)) (_ (list :background bg :foreground fg)))) (defun modus-themes--org-habit (default &optional traffic simple) "Specify background values for `modus-themes-org-habit'. If no optional TRAFFIC argument is supplied, the DEFAULT is used instead. Same for SIMPLE." (pcase modus-themes-org-habit ('traffic-light (list :background (or traffic default))) ('simplified (list :background (or simple default))) (_ (list :background default)))) (defun modus-themes--mode-line-attrs (fg bg fg-alt bg-alt border border-3d &optional alt-style border-width fg-distant) "Color combinations for `modus-themes-mode-line'. FG and BG are the default colors. FG-ALT and BG-ALT are meant to accommodate the options for a 3D modeline or a `moody' compliant one. BORDER applies to all permutations of the modeline, except the three-dimensional effect, where BORDER-3D is used instead. Optional ALT-STYLE applies an appropriate style to the mode line's box property. Optional BORDER-WIDTH specifies an integer for the width of the rectangle that produces the box effect. Optional FG-DISTANT should be close to the main background values. It is intended to be used as a distant-foreground property." (pcase modus-themes-mode-line ('3d `(:background ,bg-alt :foreground ,fg-alt :box (:line-width ,(or border-width 1) :color ,border-3d :style ,(and alt-style 'released-button)))) ('moody `(:background ,bg-alt :foreground ,fg-alt :underline ,border :overline ,border :distant-foreground ,fg-distant)) ('borderless `(:foreground ,fg :background ,bg :box ,bg)) ('borderless-3d `(:foreground ,fg :background ,bg :box (:line-width ,(or border-width 1) :color ,bg :style ,(and alt-style 'released-button)))) ('borderless-moody `(:background ,bg :foreground ,fg :underline ,bg :overline ,bg :distant-foreground ,fg-distant)) (_ `(:foreground ,fg :background ,bg :box ,border)))) (defun modus-themes--diff (fg-only-bg fg-only-fg mainbg mainfg altbg altfg &optional deuteranbg deuteranfg bg-only-fg) "Color combinations for `modus-themes-diffs'. FG-ONLY-BG should be similar or the same as the main background. FG-ONLY-FG should be a saturated accent value that can be combined with the former. MAINBG must be one of the dedicated backgrounds for diffs while MAINFG must be the same for the foreground. ALTBG needs to be a slightly accented background that is meant to be combined with ALTFG. Both must be less intense than MAINBG and MAINFG respectively. DEUTERANBG and DEUTERANFG must be combinations of colors that account for red-green color defficiency (deuteranopia). Optional BG-ONLY-FG applies ALTFG else leaves the foreground unspecified." (pcase modus-themes-diffs ('fg-only (list :background fg-only-bg :foreground fg-only-fg)) ('desaturated (list :background altbg :foreground altfg)) ('deuteranopia (list :background (or deuteranbg mainbg) :foreground (or deuteranfg mainfg))) ('bg-only (list :background altbg :foreground (if bg-only-fg altfg 'unspecified))) (_ (list :background mainbg :foreground mainfg)))) (defun modus-themes--diff-deuteran (deuteran main) "Determine whether the DEUTERAN or MAIN color should be used. This is based on whether `modus-themes-diffs' has the value `deuteranopia'." (if (eq modus-themes-diffs 'deuteranopia) (list deuteran) (list main))) (defun modus-themes--diff-text (fg-only-fg default-fg) "Like `modus-themes--diff', but only for foregrounds. FG-ONLY-FG is the foreground that is used when diffs are styled using only foreground colors. DEFAULT-FG covers all other cases." (pcase modus-themes-diffs ('fg-only (list :foreground fg-only-fg)) ('bg-only (list :foreground 'unspecified)) (_ (list :foreground default-fg)))) (defun modus-themes--standard-completions (mainfg subtlebg intensebg intensefg) "Combinations for `modus-themes-completions'. MAINFG is an accented foreground value. SUBTLEBG is an accented background value that can be combined with MAINFG. INTENSEBG and INTENSEFG are accented colors that are designed to be used in tandem. These are intended for Icomplete, Ido, and related." (pcase modus-themes-completions ('opinionated (list :background intensebg :foreground intensefg)) ('moderate (list :background subtlebg :foreground mainfg)) (_ (list :foreground mainfg)))) (defun modus-themes--extra-completions (subtleface intenseface altface &optional altfg bold) "Combinations for `modus-themes-completions'. SUBTLEFACE and INTENSEFACE are custom theme faces that combine a background and foreground value. The difference between the two is a matter of degree. ALTFACE is a combination of colors that represents a departure from the UI's default aesthetics. Optional ALTFG is meant to be used in tandem with it. Optional BOLD will apply a heavier weight to the text. These are intended for Helm, Ivy, etc." (pcase modus-themes-completions ('opinionated (list :inherit (list altface bold) :foreground (or altfg 'unspecified))) ('moderate (list :inherit (list subtleface bold))) (_ (list :inherit (list intenseface bold))))) (defun modus-themes--link (fg fgfaint underline) "Conditional application of link styles. FG is the link's default color for its text and underline property. FGFAINT is a desaturated color for the text and underline. UNDERLINE is a grey color only for the undeline." (pcase modus-themes-links ('faint (list :foreground fgfaint :underline t)) ('neutral-underline (list :foreground fg :underline underline)) ('faint-neutral-underline (list :foreground fgfaint :underline underline)) ('no-underline (list :foreground fg :underline nil)) ('underline-only (list :underline t)) ('neutral-underline-only (list :underline underline)) (_ (list :foreground fg :underline t)))) (defun modus-themes--link-color (fg fgfaint &optional neutralfg) "Extends `modus-themes--link'. FG is the main accented foreground. FGFAINT is also accented, yet desaturated. Optional NEUTRALFG is a gray value." (pcase modus-themes-links ('faint (list :foreground fgfaint)) ('faint-neutral-underline (list :foreground fgfaint)) ('underline-only (list :underline t :foreground (or neutralfg 'unspecified))) ('neutral-underline-only (list :underline 'unspecified :foreground (or neutralfg 'unspecified))) (_ (list :foreground fg)))) (defun modus-themes--scale (amount) "Scale heading by AMOUNT. AMOUNT is a customization option." (when modus-themes-scale-headings (list :height amount))) (defun modus-themes--region (bg fg bgsubtle) "Apply `modus-themes-region' styles. BG and FG are the main values that are used by default. BGSUBTLE is a subtle background value that can be combined with all colors used to fontify text and code syntax." (pcase modus-themes-region ('bg-only (list :background bgsubtle)) ('bg-only-no-extend (list :background bgsubtle :extend nil)) ('no-extend (list :background bg :foreground fg :extend nil)) (_ (list :background bg :foreground fg)))) ;;;; Utilities for DIY users ;; This is the WCAG formula: https://www.w3.org/TR/WCAG20-TECHS/G18.html (defun modus-themes-wcag-formula (hex) "Get WCAG value of color value HEX. The value is defined in hexadecimal RGB notation, such as those in `modus-themes-operandi-colors' and `modus-themes-vivendi-colors'." (cl-loop for k in '(0.2126 0.7152 0.0722) for x in (color-name-to-rgb hex) sum (* k (if (<= x 0.03928) (/ x 12.92) (expt (/ (+ x 0.055) 1.055) 2.4))))) ;;;###autoload (defun modus-themes-contrast (c1 c2) "Measure WCAG contrast ratio between C1 and C2. C1 and C2 are color values written in hexadecimal RGB." (let ((ct (/ (+ (modus-themes-wcag-formula c1) 0.05) (+ (modus-themes-wcag-formula c2) 0.05)))) (max ct (/ ct)))) (defun modus-themes-current-palette () "Return current color palette." (modus-themes--palette (modus-themes--current-theme))) ;;;###autoload (defun modus-themes-color (color) "Return color value for COLOR from current palette. COLOR is a key in `modus-themes-operandi-colors' or `modus-themes-vivendi-colors'." (alist-get color (modus-themes-current-palette))) ;;;###autoload (defun modus-themes-color-alts (light-color dark-color) "Return color value from current palette. When Modus Operandi is enabled, return color value for color LIGHT-COLOR. When Modus Vivendi is enabled, return color value for DARK-COLOR. LIGHT-COLOR and DARK-COLOR are keys in `modus-themes-operandi-colors' or `modus-themes-vivendi-colors'." (let* ((theme (modus-themes--current-theme)) (color (pcase theme ('modus-operandi light-color) ('modus-vivendi dark-color) (_theme (error "'%s' is not a Modus theme" theme))))) (alist-get color (modus-themes--palette theme)))) (defmacro modus-themes-with-colors (&rest body) "Evaluate BODY with colors from current palette bound. For colors bound, see `modus-themes-operandi-colors' or `modus-themes-vivendi-colors'." (declare (indent 0)) (let ((palette-sym (gensym)) (colors (mapcar #'car modus-themes-operandi-colors))) `(let* ((class '((class color) (min-colors 89))) (,palette-sym (modus-themes-current-palette)) ,@(mapcar (lambda (color) (list color `(alist-get ',color ,palette-sym))) colors)) (ignore class ,@colors) ; Silence unused variable warnings ,@body))) ;;;; Commands ;;;###autoload (defun modus-themes-load-themes () "Ensure that the Modus themes are in `custom-enabled-themes'. This function is intended for use in package declarations such as those defined with the help of `use-package'. The idea is to add this function to the `:init' stage of the package's loading, so that subsequent calls that assume the presence of a loaded theme, like `modus-themes-toggle' or `modus-themes-load-operandi', will continue to work as intended even if they are lazy-loaded (such as when they are declared in the `:config' phase)." (unless (or (custom-theme-p 'modus-operandi) (custom-theme-p 'modus-vivendi)) (load-theme 'modus-operandi t t) (load-theme 'modus-vivendi t t))) (defvar modus-themes-after-load-theme-hook nil "Hook that runs after the `modus-themes-toggle' routines.") ;; The reason we use `load-theme' instead of `enable-theme' is that the ;; former does a kind of "reset" on the face specs. So it plays nicely ;; with `custom-set-faces', as well as defcustom user customizations, ;; including the likes of `modus-themes-operandi-color-overrides'. ;; ;; Tests show that `enable-theme' does not re-read those variables, so ;; it might appear to the unsuspecting user that the themes are somehow ;; broken. ;; ;; This "reset", however, comes at the cost of being a bit slower than ;; `enable-theme'. User who have a stable setup and seldom update their ;; variables during a given Emacs session, are better off using ;; something like this: ;; ;; (defun modus-themes-toggle-enabled () ;; "Toggle between `modus-operandi' and `modus-vivendi' themes." ;; (interactive) ;; (pcase (modus-themes--current-theme) ;; ('modus-operandi (progn (enable-theme 'modus-vivendi) ;; (disable-theme 'modus-operandi))) ;; ('modus-vivendi (progn (enable-theme 'modus-operandi) ;; (disable-theme 'modus-vivendi))) ;; (_ (error "No Modus theme is loaded; evaluate `modus-themes-load-themes' first")))) ;;;###autoload (defun modus-themes-load-operandi () "Load `modus-operandi' and disable `modus-vivendi'. Also run `modus-themes-after-load-theme-hook'." (disable-theme 'modus-vivendi) (load-theme 'modus-operandi t) (run-hooks 'modus-themes-after-load-theme-hook)) ;;;###autoload (defun modus-themes-load-vivendi () "Load `modus-vivendi' and disable `modus-operandi'. Also run `modus-themes-after-load-theme-hook'." (disable-theme 'modus-operandi) (load-theme 'modus-vivendi t) (run-hooks 'modus-themes-after-load-theme-hook)) (defun modus-themes--load-prompt () "Helper for `modus-themes-toggle'." (let ((theme (intern (completing-read "Load Modus theme (will disable all others): " '(modus-operandi modus-vivendi) nil t)))) (mapc #'disable-theme custom-enabled-themes) (pcase theme ('modus-operandi (modus-themes-load-operandi)) ('modus-vivendi (modus-themes-load-vivendi))))) ;;;###autoload (defun modus-themes-toggle () "Toggle between `modus-operandi' and `modus-vivendi' themes. Also runs `modus-themes-after-load-theme-hook' at its last stage by virtue of calling either of `modus-themes-load-operandi' and `modus-themes-load-vivendi' functions." (interactive) (modus-themes-load-themes) (pcase (modus-themes--current-theme) ('modus-operandi (modus-themes-load-vivendi)) ('modus-vivendi (modus-themes-load-operandi)) (_ (modus-themes--load-prompt)))) ;;;; Face specifications (defconst modus-themes-faces '( ;;;; custom faces ;; these bespoke faces are inherited by other constructs below ;;;;; subtle colored backgrounds `(modus-theme-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive))) ;;;;; intense colored backgrounds `(modus-theme-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main))) `(modus-theme-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main))) `(modus-theme-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main))) `(modus-theme-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main))) `(modus-theme-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main))) `(modus-theme-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main))) `(modus-theme-intense-neutral ((,class :background ,bg-active :foreground ,fg-main))) ;;;;; refined background and foreground combinations ;; general purpose styles that use an accented foreground against an ;; accented background `(modus-theme-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg))) `(modus-theme-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg))) `(modus-theme-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg))) `(modus-theme-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg))) `(modus-theme-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg))) `(modus-theme-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg))) ;;;;; "active" combinations, mostly for use on the mode line `(modus-theme-active-red ((,class :background ,red-active :foreground ,bg-active))) `(modus-theme-active-green ((,class :background ,green-active :foreground ,bg-active))) `(modus-theme-active-yellow ((,class :background ,yellow-active :foreground ,bg-active))) `(modus-theme-active-blue ((,class :background ,blue-active :foreground ,bg-active))) `(modus-theme-active-magenta ((,class :background ,magenta-active :foreground ,bg-active))) `(modus-theme-active-cyan ((,class :background ,cyan-active :foreground ,bg-active))) ;;;;; nuanced backgrounds ;; useful for adding an accented background that is suitable for all ;; main foreground colors (intended for use in Org source blocks) `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg :extend t))) `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg :extend t))) `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg :extend t))) `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg :extend t))) `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg :extend t))) `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg :extend t))) ;;;;; fringe-specific combinations `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main))) ;;;;; special base values ;; these are closer to the grayscale than the accents defined above ;; and should only be used when the next closest alternative would be ;; a greyscale value than an accented one `(modus-theme-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) `(modus-theme-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild))) `(modus-theme-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm))) `(modus-theme-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm))) ;;;;; diff-specific combinations ;; intended for `diff-mode' or equivalent `(modus-theme-diff-added ((,class ,@(modus-themes--diff bg-main green bg-diff-focus-added fg-diff-focus-added green-nuanced-bg fg-diff-added bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) `(modus-theme-diff-changed ((,class ,@(modus-themes--diff bg-main yellow bg-diff-focus-changed fg-diff-focus-changed yellow-nuanced-bg fg-diff-changed)))) `(modus-theme-diff-removed ((,class ,@(modus-themes--diff bg-main red bg-diff-focus-removed fg-diff-focus-removed red-nuanced-bg fg-diff-removed)))) `(modus-theme-diff-refine-added ((,class ,@(modus-themes--diff bg-diff-added fg-diff-added bg-diff-refine-added fg-diff-refine-added bg-diff-focus-added fg-diff-focus-added bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran)))) `(modus-theme-diff-refine-changed ((,class ,@(modus-themes--diff bg-diff-changed fg-diff-changed bg-diff-refine-changed fg-diff-refine-changed bg-diff-focus-changed fg-diff-focus-changed)))) `(modus-theme-diff-refine-removed ((,class ,@(modus-themes--diff bg-diff-removed fg-diff-removed bg-diff-refine-removed fg-diff-refine-removed bg-diff-focus-removed fg-diff-focus-removed)))) `(modus-theme-diff-focus-added ((,class ,@(modus-themes--diff bg-dim green bg-diff-focus-added fg-diff-focus-added bg-diff-added fg-diff-added bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) `(modus-theme-diff-focus-changed ((,class ,@(modus-themes--diff bg-dim yellow bg-diff-focus-changed fg-diff-focus-changed bg-diff-changed fg-diff-changed)))) `(modus-theme-diff-focus-removed ((,class ,@(modus-themes--diff bg-dim red bg-diff-focus-removed fg-diff-focus-removed bg-diff-removed fg-diff-removed)))) `(modus-theme-diff-heading ((,class ,@(modus-themes--diff bg-main blue bg-diff-heading fg-diff-heading cyan-nuanced-bg cyan-nuanced-fg bg-header fg-main t)))) ;;;;; mark indicators ;; color combinations intended for Dired, Ibuffer, or equivalent `(modus-theme-pseudo-header ((,class :inherit bold :foreground ,fg-main))) `(modus-theme-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt))) `(modus-theme-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del))) `(modus-theme-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel))) `(modus-theme-mark-symbol ((,class :inherit bold :foreground ,blue-alt))) ;;;;; heading levels ;; styles for regular headings used in Org, Markdown, Info, etc. `(modus-theme-heading-1 ((,class ,@(modus-themes--heading 1 fg-main magenta-alt-other magenta-nuanced-bg bg-region) ,@(modus-themes--scale modus-themes-scale-4)))) `(modus-theme-heading-2 ((,class ,@(modus-themes--heading 2 fg-special-warm magenta-alt red-nuanced-bg bg-region) ,@(modus-themes--scale modus-themes-scale-3)))) `(modus-theme-heading-3 ((,class ,@(modus-themes--heading 3 fg-special-cold blue blue-nuanced-bg bg-region) ,@(modus-themes--scale modus-themes-scale-2)))) `(modus-theme-heading-4 ((,class ,@(modus-themes--heading 4 fg-special-mild cyan cyan-nuanced-bg bg-region) ,@(modus-themes--scale modus-themes-scale-1)))) `(modus-theme-heading-5 ((,class ,@(modus-themes--heading 5 fg-special-calm green-alt-other green-nuanced-bg bg-region)))) `(modus-theme-heading-6 ((,class ,@(modus-themes--heading 6 yellow-nuanced-fg yellow-alt-other yellow-nuanced-bg bg-region)))) `(modus-theme-heading-7 ((,class ,@(modus-themes--heading 7 red-nuanced-fg red-alt red-nuanced-bg bg-region)))) `(modus-theme-heading-8 ((,class ,@(modus-themes--heading 8 fg-dim magenta bg-alt bg-region)))) ;;;;; graph-specific faces `(modus-theme-graph-red-0 ((,class :background ,red-graph-0-bg))) `(modus-theme-graph-red-1 ((,class :background ,red-graph-1-bg))) `(modus-theme-graph-green-0 ((,class :background ,green-graph-0-bg))) `(modus-theme-graph-green-1 ((,class :background ,green-graph-1-bg))) `(modus-theme-graph-yellow-0 ((,class :background ,yellow-graph-0-bg))) `(modus-theme-graph-yellow-1 ((,class :background ,yellow-graph-1-bg))) `(modus-theme-graph-blue-0 ((,class :background ,blue-graph-0-bg))) `(modus-theme-graph-blue-1 ((,class :background ,blue-graph-1-bg))) `(modus-theme-graph-magenta-0 ((,class :background ,magenta-graph-0-bg))) `(modus-theme-graph-magenta-1 ((,class :background ,magenta-graph-1-bg))) `(modus-theme-graph-cyan-0 ((,class :background ,cyan-graph-0-bg))) `(modus-theme-graph-cyan-1 ((,class :background ,cyan-graph-1-bg))) ;;;;; language checkers `(modus-theme-lang-error ((,class ,@(modus-themes--lang-check fg-lang-underline-error fg-lang-error red red-nuanced-bg)))) `(modus-theme-lang-note ((,class ,@(modus-themes--lang-check fg-lang-underline-note fg-lang-note blue-alt blue-nuanced-bg)))) `(modus-theme-lang-warning ((,class ,@(modus-themes--lang-check fg-lang-underline-warning fg-lang-warning yellow yellow-nuanced-bg)))) ;;;;; other custom faces `(modus-theme-bold ((,class ,@(modus-themes--bold-weight)))) `(modus-theme-hl-line ((,class :background ,(if modus-themes-intense-hl-line bg-hl-line-intense bg-hl-line) :extend t))) `(modus-theme-slant ((,class :inherit italic :slant ,@(modus-themes--slant)))) `(modus-theme-variable-pitch ((,class ,@(modus-themes--variable-pitch)))) ;;;; standard faces ;;;;; absolute essentials `(default ((,class :background ,bg-main :foreground ,fg-main))) `(cursor ((,class :background ,fg-main))) `(fringe ((,class ,@(modus-themes--fringe bg-main bg-inactive bg-active) :foreground ,fg-main))) `(vertical-border ((,class :foreground ,fg-window-divider-inner))) ;;;;; basic and/or ungrouped styles `(bold ((,class :weight bold))) `(bold-italic ((,class :inherit (bold italic)))) `(buffer-menu-buffer ((,class :inherit bold))) `(comint-highlight-input ((,class :inherit bold))) `(comint-highlight-prompt ((,class :inherit modus-theme-bold ,@(modus-themes--prompt cyan blue-nuanced-bg blue-alt blue-refine-bg fg-main)))) `(error ((,class :inherit bold :foreground ,red))) `(escape-glyph ((,class :foreground ,fg-escape-char-construct))) `(file-name-shadow ((,class :foreground ,fg-unfocused))) `(header-line ((,class ,@(modus-themes--variable-pitch-ui) :background ,bg-header :foreground ,fg-header))) `(header-line-highlight ((,class :inherit modus-theme-active-blue))) `(help-argument-name ((,class :inherit modus-theme-slant :foreground ,cyan))) `(homoglyph ((,class :foreground ,red-alt-faint))) `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other-faint))) `(italic ((,class :slant italic))) `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct))) `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t))) `(minibuffer-prompt ((,class ,@(modus-themes--prompt cyan-alt-other cyan-nuanced-bg cyan cyan-refine-bg fg-main)))) `(mm-command-output ((,class :foreground ,red-alt-other))) `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild))) `(next-error ((,class :inherit modus-theme-subtle-red))) `(rectangle-preview ((,class :inherit modus-theme-special-mild))) `(region ((,class ,@(modus-themes--region bg-region fg-main bg-hl-alt-intense)))) `(secondary-selection ((,class :inherit modus-theme-special-cold))) `(shadow ((,class :foreground ,fg-alt))) `(success ((,class :inherit bold :foreground ,green))) `(trailing-whitespace ((,class :background ,red-intense-bg))) `(warning ((,class :inherit bold :foreground ,yellow))) ;;;;; buttons, links, widgets `(button ((,class ,@(modus-themes--link blue-alt-other blue-alt-other-faint bg-region)))) `(link ((,class :inherit button))) `(link-visited ((,class :inherit button ,@(modus-themes--link-color magenta-alt-other magenta-alt-other-faint fg-alt)))) `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main))) `(widget-button ((,class :inherit button))) `(widget-button-pressed ((,class :inherit button ,@(modus-themes--link-color magenta magenta-faint)))) `(widget-documentation ((,class :foreground ,green))) `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim))) `(widget-inactive ((,class :background ,bg-inactive :foreground ,fg-inactive))) `(widget-single-line-field ((,class :inherit widget-field))) ;;;;; ag `(ag-hit-face ((,class :foreground ,fg-special-cold))) `(ag-match-face ((,class :inherit modus-theme-special-calm))) ;;;;; alert `(alert-high-face ((,class :inherit bold :foreground ,red-alt))) `(alert-low-face ((,class :foreground ,fg-special-mild))) `(alert-moderate-face ((,class :inherit bold :foreground ,yellow))) `(alert-trivial-face ((,class :foreground ,fg-special-calm))) `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense))) ;;;;; all-the-icons `(all-the-icons-blue ((,class :foreground ,blue))) `(all-the-icons-blue-alt ((,class :foreground ,blue-alt))) `(all-the-icons-cyan ((,class :foreground ,cyan))) `(all-the-icons-cyan-alt ((,class :foreground ,cyan-alt))) `(all-the-icons-dblue ((,class :foreground ,blue-alt-other))) `(all-the-icons-dcyan ((,class :foreground ,cyan-alt-other))) `(all-the-icons-dgreen ((,class :foreground ,green-alt-other))) `(all-the-icons-dired-dir-face ((,class :foreground ,blue))) `(all-the-icons-dmaroon ((,class :foreground ,magenta-alt-other))) `(all-the-icons-dorange ((,class :foreground ,red-alt-other))) `(all-the-icons-dpink ((,class :foreground ,magenta))) `(all-the-icons-dpurple ((,class :foreground ,magenta-alt))) `(all-the-icons-dred ((,class :foreground ,red))) `(all-the-icons-dsilver ((,class :foreground ,fg-special-cold))) `(all-the-icons-dyellow ((,class :foreground ,yellow))) `(all-the-icons-green ((,class :foreground ,green))) `(all-the-icons-lblue ((,class :foreground ,blue-refine-fg))) `(all-the-icons-lcyan ((,class :foreground ,cyan-refine-fg))) `(all-the-icons-lgreen ((,class :foreground ,green-refine-fg))) `(all-the-icons-lmaroon ((,class :foreground ,magenta-refine-fg))) `(all-the-icons-lorange ((,class :foreground ,red-refine-fg))) `(all-the-icons-lpink ((,class :foreground ,magenta-refine-fg))) `(all-the-icons-lpurple ((,class :foreground ,magenta-refine-fg))) `(all-the-icons-lred ((,class :foreground ,red-refine-fg))) `(all-the-icons-lsilver ((,class :foreground ,fg-special-cold))) `(all-the-icons-lyellow ((,class :foreground ,yellow-refine-fg))) `(all-the-icons-maroon ((,class :foreground ,magenta))) `(all-the-icons-orange ((,class :foreground ,red-alt))) `(all-the-icons-pink ((,class :foreground ,magenta))) `(all-the-icons-purple ((,class :foreground ,magenta-alt))) `(all-the-icons-purple-alt ((,class :foreground ,magenta-alt-other))) `(all-the-icons-red ((,class :foreground ,red))) `(all-the-icons-red-alt ((,class :foreground ,red-alt))) `(all-the-icons-silver ((,class :foreground ,fg-special-cold))) `(all-the-icons-yellow ((,class :foreground ,yellow))) ;;;;; annotate `(annotate-annotation ((,class :inherit modus-theme-subtle-blue))) `(annotate-annotation-secondary ((,class :inherit modus-theme-subtle-green))) `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense))) `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense))) ;;;;; anzu `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan))) `(anzu-match-2 ((,class :inherit modus-theme-subtle-green))) `(anzu-match-3 ((,class :inherit modus-theme-subtle-yellow))) `(anzu-mode-line ((,class :inherit bold :foreground ,green-active))) `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active))) `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow :underline t))) `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold)))) ;;;;; apropos `(apropos-function-button ((,class :inherit button ,@(modus-themes--link-color magenta-alt-other magenta-alt-other-faint)))) `(apropos-keybinding ((,class :inherit bold :foreground ,cyan))) `(apropos-misc-button ((,class :inherit button ,@(modus-themes--link-color cyan-alt-other cyan-alt-other-faint)))) `(apropos-property ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) `(apropos-symbol ((,class :inherit modus-theme-bold :foreground ,blue-alt-other))) `(apropos-user-option-button ((,class :inherit button ,@(modus-themes--link-color green-alt-other green-alt-other-faint)))) `(apropos-variable-button ((,class :inherit button ,@(modus-themes--link-color blue blue-faint)))) ;;;;; apt-sources-list `(apt-sources-list-components ((,class :foreground ,cyan))) `(apt-sources-list-options ((,class :foreground ,yellow))) `(apt-sources-list-suite ((,class :foreground ,green))) `(apt-sources-list-type ((,class :foreground ,magenta))) `(apt-sources-list-uri ((,class :foreground ,blue))) ;;;;; artbollocks-mode `(artbollocks-face ((,class :inherit modus-theme-lang-note))) `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) `(artbollocks-passive-voice-face ((,class :inherit modus-theme-lang-warning))) `(artbollocks-weasel-words-face ((,class :inherit modus-theme-lang-error))) ;;;;; auctex and Tex `(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm))) `(font-latex-doctex-documentation-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(font-latex-doctex-preprocessor-face ((,class :inherit modus-theme-bold :foreground ,red-alt-other))) `(font-latex-italic-face ((,class :inherit italic :foreground ,fg-special-calm))) `(font-latex-math-face ((,class :foreground ,cyan-alt-other))) `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other))) `(font-latex-sectioning-0-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-1-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-2-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-3-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-4-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-5-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg))) `(font-latex-sedate-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other))) `(font-latex-slide-title-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,cyan-nuanced-fg ,@(modus-themes--scale modus-themes-scale-4)))) `(font-latex-string-face ((,class :inherit font-lock-string-face))) `(font-latex-subscript-face ((,class :height 0.95))) `(font-latex-superscript-face ((,class :height 0.95))) `(font-latex-verbatim-face ((,class :background ,bg-dim :foreground ,fg-special-mild))) `(font-latex-warning-face ((,class :inherit font-lock-warning-face))) `(tex-match ((,class :foreground ,blue-alt-other))) `(tex-verbatim ((,class :background ,bg-dim :foreground ,fg-special-mild))) `(texinfo-heading ((,class :foreground ,magenta))) `(TeX-error-description-error ((,class :inherit error))) `(TeX-error-description-help ((,class :foreground ,blue))) `(TeX-error-description-tex-said ((,class :foreground ,blue))) `(TeX-error-description-warning ((,class :inherit warning))) ;;;;; auto-dim-other-buffers `(auto-dim-other-buffers-face ((,class :background ,bg-alt))) ;;;;; avy `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) `(avy-goto-char-timer-face ((,class :inherit (modus-theme-intense-yellow bold)))) `(avy-lead-face ((,class :inherit (modus-theme-intense-magenta bold)))) `(avy-lead-face-0 ((,class :inherit (modus-theme-intense-blue bold)))) `(avy-lead-face-1 ((,class :inherit (modus-theme-intense-red bold)))) `(avy-lead-face-2 ((,class :inherit (modus-theme-intense-green bold)))) ;;;;; aw (ace-window) `(aw-background-face ((,class :foreground ,fg-unfocused))) `(aw-key-face ((,class :inherit bold :foreground ,blue-intense))) `(aw-leading-char-face ((,class :inherit (modus-theme-intense-cyan bold fixed-pitch) :height 1.5 :slant normal))) `(aw-minibuffer-leading-char-face ((,class :inherit (modus-theme-intense-red bold)))) `(aw-mode-line-face ((,class :inherit bold))) ;;;;; awesome-tray `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other))) `(awesome-tray-module-battery-face ((,class :inherit bold :foreground ,cyan-alt-other))) `(awesome-tray-module-buffer-name-face ((,class :inherit bold :foreground ,yellow-alt-other))) `(awesome-tray-module-circe-face ((,class :inherit bold :foreground ,blue-alt))) `(awesome-tray-module-date-face ((,class :inherit bold :foreground ,fg-dim))) `(awesome-tray-module-evil-face ((,class :inherit bold :foreground ,green-alt))) `(awesome-tray-module-git-face ((,class :inherit bold :foreground ,magenta))) `(awesome-tray-module-last-command-face ((,class :inherit bold :foreground ,blue-alt-other))) `(awesome-tray-module-location-face ((,class :inherit bold :foreground ,yellow))) `(awesome-tray-module-mode-name-face ((,class :inherit bold :foreground ,green))) `(awesome-tray-module-parent-dir-face ((,class :inherit bold :foreground ,cyan))) `(awesome-tray-module-rvm-face ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; bbdb `(bbdb-name ((,class :foreground ,magenta-alt-other))) `(bbdb-organization ((,class :foreground ,red-alt-other))) `(bbdb-field-name ((,class :foreground ,cyan-alt-other))) ;;;;; binder `(binder-sidebar-highlight ((,class :inherit modus-theme-subtle-cyan))) `(binder-sidebar-marked ((,class :inherit modus-theme-mark-sel))) `(binder-sidebar-missing ((,class :inherit modus-theme-subtle-red))) `(binder-sidebar-tags ((,class :foreground ,cyan))) ;;;;; bm `(bm-face ((,class :inherit modus-theme-subtle-yellow :extend t))) `(bm-fringe-face ((,class :inherit modus-theme-fringe-yellow))) `(bm-fringe-persistent-face ((,class :inherit modus-theme-fringe-blue))) `(bm-persistent-face ((,class :inherit modus-theme-intense-blue :extend t))) ;;;;; bongo `(bongo-album-title ((,class :foreground ,yellow-active))) `(bongo-artist ((,class :foreground ,magenta-active))) `(bongo-currently-playing-track ((,class :inherit bold))) `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta :underline t))) `(bongo-filled-seek-bar ((,class :background ,blue-intense-bg :foreground ,fg-main))) `(bongo-marked-track ((,class :foreground ,fg-mark-alt))) `(bongo-marked-track-line ((,class :background ,bg-mark-alt))) `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t))) `(bongo-track-length ((,class :foreground ,fg-active))) `(bongo-track-title ((,class :foreground ,cyan-active))) `(bongo-unfilled-seek-bar ((,class :background ,bg-special-cold :foreground ,fg-main))) ;;;;; boon `(boon-modeline-cmd ((,class :inherit modus-theme-active-blue))) `(boon-modeline-ins ((,class :inherit modus-theme-active-red))) `(boon-modeline-off ((,class :inherit modus-theme-active-yellow))) `(boon-modeline-spc ((,class :inherit modus-theme-active-green))) ;;;;; breakpoint (built-in gdb-mi.el) `(breakpoint-disabled ((,class :inherit shadow))) `(breakpoint-enabled ((,class :inherit bold :foreground ,red))) ;;;;; buffer-expose `(buffer-expose-ace-char-face ((,class :inherit bold :foreground ,red-active))) `(buffer-expose-mode-line-face ((,class :foreground ,cyan-active))) `(buffer-expose-selected-face ((,class :inherit modus-theme-special-mild))) ;;;;; calendar and diary `(calendar-month-header ((,class :inherit modus-theme-pseudo-header))) `(calendar-today ((,class :inherit bold :underline t))) `(calendar-weekday-header ((,class :inherit shadow))) `(calendar-weekend-header ((,class :inherit shadow))) `(diary ((,class :background ,green-nuanced-bg :foreground ,green-alt-other))) `(diary-anniversary ((,class :foreground ,red-alt-other))) `(diary-time ((,class :foreground ,blue-alt))) `(holiday ((,class :background ,magenta-nuanced-bg :foreground ,magenta-alt))) ;;;;; calfw `(cfw:face-annotation ((,class :foreground ,fg-special-warm))) `(cfw:face-day-title ((,class :foreground ,fg-main))) `(cfw:face-default-content ((,class :foreground ,green-alt))) `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold)))) `(cfw:face-disable ((,class :foreground ,fg-unfocused))) `(cfw:face-grid ((,class :foreground ,fg-window-divider-outer))) `(cfw:face-header ((,class :inherit bold :foreground ,fg-main))) `(cfw:face-holiday ((,class :foreground ,magenta-alt-other))) `(cfw:face-periods ((,class :foreground ,cyan-alt-other))) `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other))) `(cfw:face-select ((,class :inherit modus-theme-intense-blue))) `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other))) `(cfw:face-title ((,class :inherit modus-theme-variable-pitch :foreground ,fg-special-cold ,@(modus-themes--scale modus-themes-scale-5)))) `(cfw:face-today ((,class :background ,bg-inactive))) `(cfw:face-today-title ((,class :background ,bg-active))) `(cfw:face-toolbar ((,class :background ,bg-alt :foreground ,bg-alt))) `(cfw:face-toolbar-button-off ((,class :inherit shadow))) `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg :foreground ,blue-alt))) ;;;;; centaur-tabs `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active))) `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected))) `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected))) `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected))) `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected))) `(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main))) `(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active :foreground ,fg-main))) `(centaur-tabs-selected-modified ((,class :inherit italic :background ,bg-tab-active :foreground ,fg-main))) `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground ,fg-dim))) `(centaur-tabs-unselected-modified ((,class :inherit italic :background ,bg-tab-inactive :foreground ,fg-dim))) ;;;;; cfrs `(cfrs-border-color ((,class :background ,fg-window-divider-inner))) ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') `(change-log-acknowledgment ((,class :foreground ,fg-alt))) `(change-log-conditionals ((,class :foreground ,yellow))) `(change-log-date ((,class :foreground ,cyan))) `(change-log-email ((,class :foreground ,cyan-alt-other))) `(change-log-file ((,class :inherit bold :foreground ,fg-special-cold))) `(change-log-function ((,class :foreground ,green-alt-other))) `(change-log-list ((,class :foreground ,magenta-alt))) `(change-log-name ((,class :foreground ,magenta-alt-other))) `(log-edit-header ((,class :foreground ,fg-special-warm))) `(log-edit-summary ((,class :inherit bold :foreground ,blue))) `(log-edit-unknown-header ((,class :inherit shadow))) `(log-view-commit-body ((,class :foreground ,blue-nuanced-fg))) `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold))) `(log-view-message ((,class :background ,bg-alt :foreground ,fg-alt))) ;;;;; cider `(cider-debug-code-overlay-face ((,class :background ,bg-alt))) `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t))) `(cider-deprecated-face ((,class :inherit modus-theme-refine-yellow))) `(cider-docview-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold))) `(cider-docview-literal-face ((,class :foreground ,blue-alt))) `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold))) `(cider-docview-table-border-face ((,class :inherit shadow))) `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim))) `(cider-enlightened-local-face ((,class :inherit bold :foreground ,yellow-alt-other))) `(cider-error-highlight-face ((,class :foreground ,red :underline t))) `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,yellow))) `(cider-fringe-good-face ((,class :foreground ,green-active))) `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim))) `(cider-reader-conditional-face ((,class :inherit italic :foreground ,fg-special-warm))) `(cider-repl-input-face ((,class :inherit bold))) `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other))) `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red))) `(cider-repl-stdout-face ((,class :foreground ,blue))) `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim))) `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground ,red))) `(cider-stacktrace-error-message-face ((,class :inherit italic :foreground ,red-alt-other))) `(cider-stacktrace-face ((,class :foreground ,fg-main))) `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt :underline t))) `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt))) `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main))) `(cider-stacktrace-ns-face ((,class :inherit italic :foreground ,fg-alt))) `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red))) `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button) :background ,bg-alt :foreground ,fg-alt))) `(cider-test-error-face ((,class :inherit modus-theme-subtle-red))) `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red bold)))) `(cider-test-success-face ((,class :inherit modus-theme-intense-green))) `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim))) `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t))) ;;;;; circe (and lui) `(circe-fool-face ((,class :inherit shadow))) `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue))) `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) `(circe-server-face ((,class :foreground ,fg-unfocused))) `(lui-button-face ((,class :inherit button))) `(lui-highlight-face ((,class :foreground ,magenta-alt))) `(lui-time-stamp-face ((,class :foreground ,blue-nuanced-fg))) ;;;;; color-rg `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other))) `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main))) `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold))) `(color-rg-font-lock-flash ((,class :inherit modus-theme-intense-blue))) `(color-rg-font-lock-function-location ((,class :inherit modus-theme-special-calm))) `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active))) `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active))) `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active))) `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active))) `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm))) `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue))) `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red))) `(color-rg-font-lock-match ((,class :inherit modus-theme-special-calm))) `(color-rg-font-lock-position-splitter ((,class :inherit shadow))) ;;;;; column-enforce-mode `(column-enforce-face ((,class :inherit modus-theme-refine-yellow))) ;;;;; company-mode `(company-echo-common ((,class :foreground ,magenta-alt-other))) `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim))) `(company-preview-common ((,class :foreground ,blue-alt))) `(company-preview-search ((,class :inherit modus-theme-special-calm))) `(company-scrollbar-bg ((,class :background ,bg-active))) `(company-scrollbar-fg ((,class :background ,fg-active))) `(company-template-field ((,class :inherit modus-theme-intense-magenta))) `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt))) `(company-tooltip-annotation ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(company-tooltip-annotation-selection ((,class :inherit bold :foreground ,fg-main))) `(company-tooltip-common ((,class :inherit bold :foreground ,blue-alt))) `(company-tooltip-common-selection ((,class :foreground ,fg-main))) `(company-tooltip-mouse ((,class :inherit modus-theme-intense-blue))) `(company-tooltip-search ((,class :inherit (modus-theme-refine-cyan bold)))) `(company-tooltip-search-selection ((,class :inherit (modus-theme-intense-green bold) :underline t))) `(company-tooltip-selection ((,class :inherit (modus-theme-subtle-cyan bold)))) ;;;;; company-posframe `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active))) `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active))) `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive))) ;;;;; compilation feedback `(compilation-column-number ((,class :foreground ,magenta-alt-other))) `(compilation-error ((,class :inherit modus-theme-bold :foreground ,red))) `(compilation-info ((,class :inherit modus-theme-bold :foreground ,fg-special-cold))) `(compilation-line-number ((,class :foreground ,fg-special-warm))) `(compilation-mode-line-exit ((,class :inherit modus-theme-bold :foreground ,blue-active))) `(compilation-mode-line-fail ((,class :inherit modus-theme-bold :foreground ,red-active))) `(compilation-mode-line-run ((,class :inherit modus-theme-bold :foreground ,magenta-active))) `(compilation-warning ((,class :inherit modus-theme-bold :foreground ,yellow))) ;;;;; completions `(completions-annotations ((,class :inherit modus-theme-slant :foreground ,cyan-faint))) `(completions-common-part ((,class ,@(modus-themes--standard-completions blue-alt blue-nuanced-bg cyan-refine-bg cyan-refine-fg)))) `(completions-first-difference ((,class :inherit bold ,@(modus-themes--standard-completions magenta-alt blue-nuanced-bg magenta-intense-bg fg-main)))) ;;;;; consult `(consult-async-running ((,class :inherit bold :foreground ,blue))) `(consult-async-split ((,class :foreground ,magenta-alt))) `(consult-bookmark ((,class :foreground ,blue))) `(consult-file ((,class :foreground ,fg-special-cold))) `(consult-imenu-prefix ((,class :inherit shadow))) `(consult-key ((,class :inherit modus-themes-bold :foreground ,magenta-alt-other))) `(consult-line-number ((,class :foreground ,fg-special-warm))) `(consult-line-number-prefix ((,class :foreground ,fg-unfocused))) `(consult-narrow-indicator ((,class :foreground ,magenta-alt))) `(consult-preview-cursor ((,class :inherit modus-theme-intense-blue))) `(consult-preview-error ((,class :inherit modus-theme-intense-red))) `(consult-preview-line ((,class :background ,bg-hl-alt-intense))) ;;;;; counsel `(counsel-active-mode ((,class :foreground ,magenta-alt-other))) `(counsel-application-name ((,class :foreground ,red-alt-other))) `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other))) `(counsel-outline-1 ((,class :inherit org-level-1))) `(counsel-outline-2 ((,class :inherit org-level-2))) `(counsel-outline-3 ((,class :inherit org-level-3))) `(counsel-outline-4 ((,class :inherit org-level-4))) `(counsel-outline-5 ((,class :inherit org-level-5))) `(counsel-outline-6 ((,class :inherit org-level-6))) `(counsel-outline-7 ((,class :inherit org-level-7))) `(counsel-outline-8 ((,class :inherit org-level-8))) `(counsel-outline-default ((,class :foreground ,fg-main))) `(counsel-variable-documentation ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other))) ;;;;; counsel-css `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue))) `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan))) `(counsel-css-selector-depth-face-3 ((,class :foreground ,green))) `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow))) `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta))) `(counsel-css-selector-depth-face-6 ((,class :foreground ,red))) ;;;;; counsel-notmuch `(counsel-notmuch-count-face ((,class :foreground ,cyan))) `(counsel-notmuch-date-face ((,class :foreground ,blue))) `(counsel-notmuch-people-face ((,class :foreground ,magenta))) `(counsel-notmuch-subject-face ((,class :foreground ,magenta-alt-other))) ;;;;; counsel-org-capture-string `(counsel-org-capture-string-template-body-face ((,class :foreground ,fg-special-cold))) ;;;;; cov `(cov-coverage-not-run-face ((,class :foreground ,red-intense))) `(cov-coverage-run-face ((,class :foreground ,green-intense))) `(cov-heavy-face ((,class :foreground ,magenta-intense))) `(cov-light-face ((,class :foreground ,blue-intense))) `(cov-med-face ((,class :foreground ,yellow-intense))) `(cov-none-face ((,class :foreground ,cyan-intense))) ;;;;; cperl-mode `(cperl-nonoverridable-face ((,class :foreground unspecified))) `(cperl-array-face ((,class :inherit font-lock-keyword-face))) `(cperl-hash-face ((,class :inherit font-lock-variable-name-face))) ;;;;; csv-mode `(csv-separator-face ((,class :background ,bg-special-cold :foreground ,fg-main))) ;;;;; ctrlf `(ctrlf-highlight-active ((,class :inherit (modus-theme-intense-green bold)))) `(ctrlf-highlight-line ((,class :inherit modus-theme-hl-line))) `(ctrlf-highlight-passive ((,class :inherit modus-theme-refine-cyan))) ;;;;; custom (M-x customize) `(custom-button ((,class :box (:line-width 2 :color nil :style released-button) :background ,bg-active :foreground ,fg-main))) `(custom-button-mouse ((,class :box (:line-width 2 :color nil :style released-button) :background ,bg-active :foreground ,fg-active))) `(custom-button-pressed ((,class :box (:line-width 2 :color nil :style pressed-button) :background ,bg-active :foreground ,fg-main))) `(custom-changed ((,class :inherit modus-theme-subtle-cyan))) `(custom-comment ((,class :inherit shadow))) `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other))) `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense))) `(custom-group-tag ((,class :inherit bold :foreground ,green-intense))) `(custom-group-tag-1 ((,class :inherit modus-theme-special-warm))) `(custom-invalid ((,class :inherit (modus-theme-intense-red bold)))) `(custom-modified ((,class :inherit modus-theme-subtle-cyan))) `(custom-rogue ((,class :inherit modus-theme-refine-magenta))) `(custom-set ((,class :foreground ,blue-alt))) `(custom-state ((,class :foreground ,cyan-alt-other))) `(custom-themed ((,class :inherit modus-theme-subtle-blue))) `(custom-variable-tag ((,class :inherit bold :foreground ,cyan))) ;;;;; dap-mode `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil) :background ,bg-active :foreground ,fg-main))) `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active :style nil) :background ,bg-active :foreground ,fg-main))) `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground ,green-active))) `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense))) `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t))) `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan))) `(dap-ui-locals-variable-leaf-face ((,class :inherit italic :foreground ,cyan-alt-other))) `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue))) `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt))) `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt))) `(dap-ui-sessions-terminated-face ((,class :inherit shadow))) ;;;;; dashboard (emacs-dashboard) `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold))) `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild))) `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm))) `(dashboard-navigator ((,class :foreground ,cyan-alt-other))) `(dashboard-text-banner ((,class :foreground ,fg-dim))) ;;;;; deadgrep `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) `(deadgrep-match-face ((,class :inherit modus-theme-special-calm))) `(deadgrep-meta-face ((,class :inherit shadow))) `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense))) `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense))) ;;;;; debbugs `(debbugs-gnu-archived ((,class :inverse-video t))) `(debbugs-gnu-done ((,class :inherit shadow))) `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm))) `(debbugs-gnu-handled ((,class :foreground ,green))) `(debbugs-gnu-new ((,class :foreground ,red))) `(debbugs-gnu-pending ((,class :foreground ,cyan))) `(debbugs-gnu-stale-1 ((,class :foreground ,yellow-nuanced-fg))) `(debbugs-gnu-stale-2 ((,class :foreground ,yellow))) `(debbugs-gnu-stale-3 ((,class :foreground ,yellow-alt))) `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other))) `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt))) `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt))) ;;;;; define-word `(define-word-face-1 ((,class :foreground ,yellow))) `(define-word-face-2 ((,class :foreground ,fg-main))) ;;;;; deft `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red))) `(deft-filter-string-face ((,class :foreground ,green-intense))) `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm))) `(deft-separator-face ((,class :inherit shadow))) `(deft-summary-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(deft-time-face ((,class :foreground ,fg-special-cold))) `(deft-title-face ((,class :inherit bold :foreground ,fg-main))) ;;;;; dictionary `(dictionary-button-face ((,class :inherit bold :foreground ,fg-special-cold))) `(dictionary-reference-face ((,class :inherit button))) `(dictionary-word-definition-face ((,class))) `(dictionary-word-entry-face ((,class :inherit font-lock-comment-face))) ;;;;; diff-hl `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow))) `(diff-hl-delete ((,class :inherit modus-theme-fringe-red))) `(diff-hl-dired-change ((,class :inherit diff-hl-change))) `(diff-hl-dired-delete ((,class :inherit diff-hl-delete))) `(diff-hl-dired-ignored ((,class :inherit dired-ignored))) `(diff-hl-dired-insert ((,class :inherit diff-hl-insert))) `(diff-hl-dired-unknown ((,class :inherit dired-ignored))) `(diff-hl-insert ((,class :inherit modus-theme-fringe-green))) `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-theme-active-magenta bold)))) ;;;;; diff-mode `(diff-added ((,class :inherit modus-theme-diff-added))) `(diff-changed ((,class :inherit modus-theme-diff-changed :extend t))) `(diff-context ((,class ,@(modus-themes--diff-text fg-main fg-unfocused)))) `(diff-error ((,class :inherit modus-theme-intense-red))) `(diff-file-header ((,class :inherit (bold diff-header)))) `(diff-function ((,class :inherit modus-theme-diff-heading))) `(diff-header ((,class ,@(modus-themes--diff-text cyan-faint fg-main)))) `(diff-hunk-header ((,class :inherit (bold modus-theme-diff-heading)))) `(diff-index ((,class :inherit bold :foreground ,blue-alt))) `(diff-indicator-added ((,class :inherit (diff-added bold) :foreground ,@(modus-themes--diff-deuteran blue green)))) `(diff-indicator-changed ((,class :inherit (diff-changed bold) :foreground ,yellow))) `(diff-indicator-removed ((,class :inherit (diff-removed bold) :foreground ,red))) `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold)))) `(diff-refine-added ((,class :inherit modus-theme-diff-refine-added))) `(diff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) `(diff-refine-removed ((,class :inherit modus-theme-diff-refine-removed))) `(diff-removed ((,class :inherit modus-theme-diff-removed))) ;;;;; dim-autoload `(dim-autoload-cookie-line ((,class :inherit font-lock-comment-face))) ;;;;; dir-treeview `(dir-treeview-archive-face ((,class :foreground ,fg-special-warm))) `(dir-treeview-archive-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,yellow))) `(dir-treeview-audio-face ((,class :foreground ,magenta))) `(dir-treeview-audio-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt))) `(dir-treeview-control-face ((,class :inherit shadow))) `(dir-treeview-control-mouse-face ((,class :inherit highlight))) `(dir-treeview-default-icon-face ((,class :inherit bold :family "Font Awesome" :foreground ,fg-alt))) `(dir-treeview-default-filename-face ((,class :foreground ,fg-main))) `(dir-treeview-directory-face ((,class :foreground ,blue))) `(dir-treeview-directory-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,blue-alt))) `(dir-treeview-executable-face ((,class :foreground ,red-alt))) `(dir-treeview-executable-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,red-alt-other))) `(dir-treeview-image-face ((,class :foreground ,green-alt-other))) `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt))) `(dir-treeview-indent-face ((,class :inherit shadow))) `(dir-treeview-label-mouse-face ((,class :inherit highlight))) `(dir-treeview-start-dir-face ((,class :inherit modus-theme-pseudo-header))) `(dir-treeview-symlink-face ((,class :inherit button ,@(modus-themes--link-color cyan cyan-faint)))) `(dir-treeview-video-face ((,class :foreground ,magenta-alt-other))) `(dir-treeview-video-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt-other))) ;;;;; dired `(dired-broken-symlink ((,class :inherit button :foreground ,red))) `(dired-directory ((,class :foreground ,blue))) `(dired-flagged ((,class :inherit modus-theme-mark-del))) `(dired-header ((,class :inherit modus-theme-pseudo-header))) `(dired-ignored ((,class :inherit shadow))) `(dired-mark ((,class :inherit modus-theme-mark-symbol))) `(dired-marked ((,class :inherit modus-theme-mark-sel))) `(dired-perm-write ((,class :foreground ,fg-special-warm))) `(dired-symlink ((,class :inherit button ,@(modus-themes--link-color cyan-alt cyan-alt-faint)))) `(dired-warning ((,class :inherit bold :foreground ,yellow))) ;;;;; dired-async `(dired-async-failures ((,class :inherit modus-theme-bold :foreground ,red-active))) `(dired-async-message ((,class :inherit modus-theme-bold :foreground ,green-active))) `(dired-async-mode-message ((,class :inherit modus-theme-bold :foreground ,cyan-active))) ;;;;; dired-git `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt))) `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; dired-git-info `(dgi-commit-message-face ((,class :foreground ,fg-special-mild))) ;;;;; dired-narrow `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold)))) ;;;;; dired-subtree ;; remove backgrounds from dired-subtree faces, else they break ;; dired-{flagged,marked} and any other face that sets a background ;; such as hl-line. Also, denoting depth by varying shades of gray ;; is not good for accessibility. `(dired-subtree-depth-1-face (())) `(dired-subtree-depth-2-face (())) `(dired-subtree-depth-3-face (())) `(dired-subtree-depth-4-face (())) `(dired-subtree-depth-5-face (())) `(dired-subtree-depth-6-face (())) ;;;;; diredc `(diredc-face-chmod-font-lock-dir ((,class :foreground ,blue-alt))) `(diredc-face-chmod-font-lock-exec ((,class :foreground ,magenta))) `(diredc-face-chmod-font-lock-read ((,class :foreground ,fg-main))) `(diredc-face-chmod-font-lock-write ((,class :foreground ,cyan))) ;;;;; diredfl `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold))) `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm))) `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt))) `(diredfl-date-time ((,class :foreground ,cyan-alt-other))) `(diredfl-deletion ((,class :inherit modus-theme-mark-del))) `(diredfl-deletion-file-name ((,class :inherit modus-theme-mark-del))) `(diredfl-dir-heading ((,class :inherit modus-theme-pseudo-header))) `(diredfl-dir-name ((,class :inherit dired-directory))) `(diredfl-dir-priv ((,class :foreground ,blue-alt))) `(diredfl-exec-priv ((,class :foreground ,magenta))) `(diredfl-executable-tag ((,class :foreground ,magenta-alt))) `(diredfl-file-name ((,class :foreground ,fg-main))) `(diredfl-file-suffix ((,class :foreground ,cyan))) `(diredfl-flag-mark ((,class :inherit modus-theme-mark-sel))) `(diredfl-flag-mark-line ((,class :inherit modus-theme-mark-sel))) `(diredfl-ignored-file-name ((,class :inherit shadow))) `(diredfl-link-priv ((,class :foreground ,blue-alt-other))) `(diredfl-no-priv ((,class :inherit shadow))) `(diredfl-number ((,class :foreground ,cyan-alt))) `(diredfl-other-priv ((,class :foreground ,yellow))) `(diredfl-rare-priv ((,class :foreground ,red-alt))) `(diredfl-read-priv ((,class :foreground ,fg-main))) `(diredfl-symlink ((,class :inherit dired-symlink))) `(diredfl-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta))) `(diredfl-write-priv ((,class :foreground ,cyan))) ;;;;; dired+ `(diredp-autofile-name ((,class :inherit modus-theme-special-cold))) `(diredp-compressed-file-name ((,class :foreground ,fg-special-warm))) `(diredp-compressed-file-suffix ((,class :foreground ,red-alt))) `(diredp-date-time ((,class :foreground ,cyan-alt-other))) `(diredp-deletion ((,class :inherit modus-theme-mark-del))) `(diredp-deletion-file-name ((,class :inherit modus-theme-mark-del))) `(diredp-dir-heading ((,class :inherit modus-theme-pseudo-header))) `(diredp-dir-name ((,class :inherit dired-directory))) `(diredp-dir-priv ((,class :foreground ,blue-alt))) `(diredp-exec-priv ((,class :foreground ,magenta))) `(diredp-executable-tag ((,class :foreground ,magenta-alt))) `(diredp-file-name ((,class :foreground ,fg-main))) `(diredp-file-suffix ((,class :foreground ,cyan))) `(diredp-flag-mark ((,class :inherit modus-theme-mark-sel))) `(diredp-flag-mark-line ((,class :inherit modus-theme-mark-sel))) `(diredp-ignored-file-name ((,class :inherit shadow))) `(diredp-link-priv ((,class :foreground ,blue-alt-other))) `(diredp-mode-line-flagged ((,class :foreground ,red-active))) `(diredp-mode-line-marked ((,class :foreground ,green-active))) `(diredp-no-priv ((,class :inherit shadow))) `(diredp-number ((,class :foreground ,cyan-alt))) `(diredp-omit-file-name ((,class :inherit shadow :strike-through t))) `(diredp-other-priv ((,class :foreground ,yellow))) `(diredp-rare-priv ((,class :foreground ,red-alt))) `(diredp-read-priv ((,class :foreground ,fg-main))) `(diredp-symlink ((,class :inherit dired-symlink))) `(diredp-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta))) `(diredp-write-priv ((,class :foreground ,cyan))) ;;;;; disk-usage `(disk-usage-children ((,class :foreground ,yellow))) `(disk-usage-inaccessible ((,class :inherit bold :foreground ,red))) `(disk-usage-percent ((,class :foreground ,green))) `(disk-usage-size ((,class :foreground ,cyan))) `(disk-usage-symlink ((,class :inherit button))) `(disk-usage-symlink-directory ((,class :inherit bold :foreground ,blue-alt))) ;;;;; display-fill-column-indicator-mode `(fill-column-indicator ((,class :foreground ,bg-active))) ;;;;; doom-modeline `(doom-modeline-bar ((,class :inherit modus-theme-active-blue))) `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main))) `(doom-modeline-battery-charging ((,class :foreground ,green-active))) `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-battery-error ((,class :inherit bold :box (:line-width -2) :foreground ,red-active))) `(doom-modeline-battery-full ((,class :foreground ,blue-active))) `(doom-modeline-battery-normal ((,class :foreground ,fg-active))) `(doom-modeline-battery-warning ((,class :inherit bold :foreground ,yellow-active))) `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active))) `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground ,cyan-active))) `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive))) `(doom-modeline-buffer-modified ((,class :inherit bold :foreground ,magenta-active))) `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active))) `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active))) `(doom-modeline-debug-visual ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground ,magenta-active))) `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground ,green-active))) `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground ,fg-inactive))) `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground ,fg-active))) `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground ,blue-active))) `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground ,cyan-active))) `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active))) `(doom-modeline-host ((,class :inherit italic))) `(doom-modeline-info ((,class :foreground ,green-active))) `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-lsp-success ((,class :inherit bold :foreground ,green-active))) `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active))) `(doom-modeline-panel ((,class :inherit modus-theme-active-blue))) `(doom-modeline-persp-buffer-not-in-persp ((,class :inherit italic :foreground ,yellow-active))) `(doom-modeline-persp-name ((,class :foreground ,fg-active))) `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active))) `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active))) `(doom-modeline-project-root-dir ((,class :foreground ,fg-active))) `(doom-modeline-unread-number ((,class :inherit italic :foreground ,fg-active))) `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active))) ;;;;; dynamic-ruler `(dynamic-ruler-negative-face ((,class :inherit modus-theme-intense-neutral))) `(dynamic-ruler-positive-face ((,class :inherit modus-theme-intense-yellow))) ;;;;; easy-jekyll `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other))) ;;;;; easy-kill `(easy-kill-origin ((,class :inherit modus-theme-subtle-red))) `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow))) ;;;;; ebdb `(ebdb-address-default ((,class :foreground ,fg-special-calm))) `(ebdb-defunct ((,class :inherit shadow))) `(ebdb-field-hidden ((,class :foreground ,magenta))) `(ebdb-label ((,class :foreground ,cyan-alt-other))) `(ebdb-mail-default ((,class :foreground ,fg-main))) `(ebdb-mail-primary ((,class :foreground ,magenta-alt))) `(ebdb-marked ((,class :background ,cyan-intense-bg))) `(ebdb-organization-name ((,class :foreground ,red-alt-other))) `(ebdb-person-name ((,class :foreground ,magenta-alt-other))) `(ebdb-phone-default ((,class :foreground ,cyan))) `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt))) ;;;;; ediff ;; NOTE: here we break from the pattern of inheriting from the ;; modus-theme-diff-* faces. `(ediff-current-diff-A ((,class ,@(modus-themes--diff bg-dim red bg-diff-removed fg-diff-removed red-nuanced-bg red-faint)))) `(ediff-current-diff-Ancestor ((,class ,@(modus-themes--diff bg-dim fg-special-cold bg-special-cold fg-special-cold blue-nuanced-bg blue)))) `(ediff-current-diff-B ((,class ,@(modus-themes--diff bg-dim green bg-diff-added fg-diff-added green-nuanced-bg green-faint bg-diff-added-deuteran fg-diff-added-deuteran)))) `(ediff-current-diff-C ((,class ,@(modus-themes--diff bg-dim yellow bg-diff-changed fg-diff-changed yellow-nuanced-bg yellow-faint)))) `(ediff-even-diff-A ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) `(ediff-even-diff-Ancestor ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1))) `(ediff-even-diff-B ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) `(ediff-even-diff-C ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) `(ediff-fine-diff-A ((,class :background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed))) `(ediff-fine-diff-Ancestor ((,class :inherit modus-theme-refine-cyan))) `(ediff-fine-diff-B ((,class :background ,@(modus-themes--diff-deuteran bg-diff-focus-added-deuteran bg-diff-focus-added) :foreground ,@(modus-themes--diff-deuteran fg-diff-focus-added-deuteran fg-diff-focus-added)))) `(ediff-fine-diff-C ((,class :background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed))) `(ediff-odd-diff-A ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) `(ediff-odd-diff-Ancestor ((,class :background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0))) `(ediff-odd-diff-B ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) `(ediff-odd-diff-C ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) ;;;;; eglot `(eglot-mode-line ((,class :inherit modus-theme-bold :foreground ,magenta-active))) ;;;;; el-search `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt))) `(el-search-match ((,class :inherit modus-theme-intense-green))) `(el-search-other-match ((,class :inherit modus-theme-special-mild))) `(el-search-occur-match ((,class :inherit modus-theme-special-calm))) ;;;;; eldoc ;; NOTE: see https://github.com/purcell/package-lint/issues/187 (list 'eldoc-highlight-function-argument `((,class :inherit bold :foreground ,blue-alt-other))) ;;;;; eldoc-box `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main))) `(eldoc-box-border ((,class :background ,fg-alt))) ;;;;; elfeed `(elfeed-log-date-face ((,class :inherit elfeed-search-date-face))) `(elfeed-log-debug-level-face ((,class :inherit elfeed-search-filter-face))) `(elfeed-log-error-level-face ((,class :inherit error))) `(elfeed-log-info-level-face ((,class :inherit success))) `(elfeed-log-warn-level-face ((,class :inherit warning))) `(elfeed-search-date-face ((,class :foreground ,cyan))) `(elfeed-search-feed-face ((,class :foreground ,blue-faint))) `(elfeed-search-filter-face ((,class :inherit bold :foreground ,magenta-active))) `(elfeed-search-last-update-face ((,class :foreground ,cyan-active))) `(elfeed-search-tag-face ((,class :foreground ,cyan-alt-other))) `(elfeed-search-title-face ((,class :foreground ,fg-dim))) `(elfeed-search-unread-count-face ((,class :foreground ,green-active))) `(elfeed-search-unread-title-face ((,class :inherit bold :foreground ,fg-main))) ;;;;; elfeed-score `(elfeed-score-date-face ((,class :foreground ,blue))) `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other))) `(elfeed-score-error-level-face ((,class :foreground ,red))) `(elfeed-score-info-level-face ((,class :foreground ,cyan))) `(elfeed-score-warn-level-face ((,class :foreground ,yellow))) ;;;;; emms `(emms-playlist-track-face ((,class :foreground ,blue))) `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta))) ;;;;; enhanced-ruby-mode `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other))) `(enh-ruby-op-face ((,class :foreground ,fg-main))) `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green))) `(enh-ruby-regexp-face ((,class :foreground ,magenta))) `(enh-ruby-string-delimiter-face ((,class :foreground ,blue-alt))) `(erm-syn-errline ((,class :foreground ,red :underline t))) `(erm-syn-warnline ((,class :foreground ,yellow :underline t))) ;;;;; epa `(epa-field-body ((,class :foreground ,fg-main))) `(epa-field-name ((,class :inherit bold :foreground ,fg-dim))) `(epa-mark ((,class :inherit bold :foreground ,magenta))) `(epa-string ((,class :foreground ,blue-alt))) `(epa-validity-disabled ((,class :inherit modus-theme-refine-red))) `(epa-validity-high ((,class :inherit bold :foreground ,green-alt-other))) `(epa-validity-low ((,class :inherit shadow))) `(epa-validity-medium ((,class :foreground ,green-alt))) ;;;;; equake `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main))) `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground ,green-active))) `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground ,red-active))) `(equake-shell-type-shell ((,class :background ,bg-inactive :foreground ,cyan-active))) `(equake-shell-type-term ((,class :background ,bg-inactive :foreground ,yellow-active))) `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground ,magenta-active))) `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt))) `(equake-tab-inactive ((,class :foreground ,fg-inactive))) ;;;;; erc `(erc-action-face ((,class :inherit bold :foreground ,cyan))) `(erc-bold-face ((,class :inherit bold))) `(erc-button ((,class :inherit button))) `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt))) `(erc-current-nick-face ((,class :foreground ,magenta-alt-other))) `(erc-dangerous-host-face ((,class :inherit modus-theme-intense-red))) `(erc-direct-msg-face ((,class :foreground ,magenta))) `(erc-error-face ((,class :inherit bold :foreground ,red))) `(erc-fool-face ((,class :foreground ,fg-inactive))) `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header))) `(erc-input-face ((,class :foreground ,fg-special-calm))) `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t))) `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt))) `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta))) `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face))) `(erc-nick-default-face ((,class :inherit bold :foreground ,blue))) `(erc-nick-msg-face ((,class :inherit bold :foreground ,green))) `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face))) `(erc-notice-face ((,class :foreground ,fg-unfocused))) `(erc-pal-face ((,class :inherit bold :foreground ,red-alt))) `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) `(erc-timestamp-face ((,class :foreground ,blue-nuanced-fg))) `(erc-underline-face ((,class :underline t))) `(bg:erc-color-face0 ((,class :background "white"))) `(bg:erc-color-face1 ((,class :background "black"))) `(bg:erc-color-face10 ((,class :background ,cyan-subtle-bg))) `(bg:erc-color-face11 ((,class :background ,cyan-intense-bg))) `(bg:erc-color-face12 ((,class :background ,blue-subtle-bg))) `(bg:erc-color-face13 ((,class :background ,magenta-subtle-bg))) `(bg:erc-color-face14 ((,class :background "gray60"))) `(bg:erc-color-face15 ((,class :background "gray80"))) `(bg:erc-color-face2 ((,class :background ,blue-intense-bg))) `(bg:erc-color-face3 ((,class :background ,green-intense-bg))) `(bg:erc-color-face4 ((,class :background ,red-subtle-bg))) `(bg:erc-color-face5 ((,class :background ,red-intense-bg))) `(bg:erc-color-face6 ((,class :background ,magenta-refine-bg))) `(bg:erc-color-face7 ((,class :background ,yellow-subtle-bg))) `(bg:erc-color-face8 ((,class :background ,yellow-refine-bg))) `(bg:erc-color-face9 ((,class :background ,green-subtle-bg))) `(fg:erc-color-face0 ((,class :foreground "white"))) `(fg:erc-color-face1 ((,class :foreground "black"))) `(fg:erc-color-face10 ((,class :foreground ,cyan))) `(fg:erc-color-face11 ((,class :foreground ,cyan-alt-other))) `(fg:erc-color-face12 ((,class :foreground ,blue))) `(fg:erc-color-face13 ((,class :foreground ,magenta-alt))) `(fg:erc-color-face14 ((,class :foreground "gray60"))) `(fg:erc-color-face15 ((,class :foreground "gray80"))) `(fg:erc-color-face2 ((,class :foreground ,blue-alt-other))) `(fg:erc-color-face3 ((,class :foreground ,green))) `(fg:erc-color-face4 ((,class :foreground ,red))) `(fg:erc-color-face5 ((,class :foreground ,red-alt))) `(fg:erc-color-face6 ((,class :foreground ,magenta-alt-other))) `(fg:erc-color-face7 ((,class :foreground ,yellow-alt-other))) `(fg:erc-color-face8 ((,class :foreground ,yellow-alt))) `(fg:erc-color-face9 ((,class :foreground ,green-alt-other))) ;;;;; eros `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue) :background ,bg-dim :foreground ,fg-dim))) ;;;;; ert `(ert-test-result-expected ((,class :inherit modus-theme-intense-green))) `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red))) ;;;;; eshell `(eshell-ls-archive ((,class :inherit bold :foreground ,cyan-alt))) `(eshell-ls-backup ((,class :foreground ,yellow-alt))) `(eshell-ls-clutter ((,class :foreground ,red-alt))) `(eshell-ls-directory ((,class :inherit bold :foreground ,blue-alt))) `(eshell-ls-executable ((,class :foreground ,magenta-alt))) `(eshell-ls-missing ((,class :inherit modus-theme-intense-red))) `(eshell-ls-product ((,class :foreground ,fg-special-warm))) `(eshell-ls-readonly ((,class :foreground ,fg-special-cold))) `(eshell-ls-special ((,class :inherit bold :foreground ,magenta))) `(eshell-ls-symlink ((,class :inherit button ,@(modus-themes--link-color cyan cyan-faint)))) `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive))) `(eshell-prompt ((,class :inherit modus-theme-bold ,@(modus-themes--prompt green-alt-other green-nuanced-bg green-alt green-refine-bg fg-main)))) ;;;;; eshell-fringe-status `(eshell-fringe-status-failure ((,class :foreground ,red))) `(eshell-fringe-status-success ((,class :foreground ,green))) ;;;;; eshell-git-prompt `(eshell-git-prompt-add-face ((,class :inherit shadow))) `(eshell-git-prompt-branch-face ((,class :inherit shadow))) `(eshell-git-prompt-directory-face ((,class :foreground ,cyan))) `(eshell-git-prompt-exit-fail-face ((,class :foreground ,red))) `(eshell-git-prompt-exit-success-face ((,class :foreground ,green))) `(eshell-git-prompt-modified-face ((,class :foreground ,yellow))) `(eshell-git-prompt-powerline-clean-face ((,class :background ,green-refine-bg))) `(eshell-git-prompt-powerline-dir-face ((,class :background ,blue-refine-bg))) `(eshell-git-prompt-powerline-not-clean-face ((,class :background ,magenta-refine-bg))) `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,red))) `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow))) `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,blue))) ;;;;; eshell-prompt-extras (epe) `(epe-dir-face ((,class :inherit modus-theme-bold :foreground ,blue))) `(epe-git-dir-face ((,class :foreground ,red-alt-other))) `(epe-git-face ((,class :foreground ,cyan-alt))) `(epe-pipeline-delimiter-face ((,class :foreground ,green-alt))) `(epe-pipeline-host-face ((,class :foreground ,blue))) `(epe-pipeline-time-face ((,class :foreground ,fg-special-warm))) `(epe-pipeline-user-face ((,class :foreground ,magenta))) `(epe-remote-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(epe-status-face ((,class :foreground ,magenta-alt-other))) `(epe-venv-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) ;;;;; eshell-syntax-highlighting `(eshell-syntax-highlighting-alias-face ((,class :foreground ,cyan))) `(eshell-syntax-highlighting-comment-face ((,class :inherit shadow))) `(eshell-syntax-highlighting-directory-face ((,class :foreground ,blue))) `(eshell-syntax-highlighting-envvar-face ((,class :foreground ,magenta-alt))) `(eshell-syntax-highlighting-invalid-face ((,class :foreground ,red))) `(eshell-syntax-highlighting-lisp-function-face ((,class :foreground ,magenta))) `(eshell-syntax-highlighting-shell-command-face ((,class :foreground ,cyan-alt-other))) `(eshell-syntax-highlighting-string-face ((,class :foreground ,blue-alt))) ;;;;; evil-mode `(evil-ex-commands ((,class :foreground ,magenta-alt-other))) `(evil-ex-info ((,class :foreground ,cyan-alt-other))) `(evil-ex-lazy-highlight ((,class :inherit modus-theme-refine-cyan))) `(evil-ex-search ((,class :inherit modus-theme-intense-green))) `(evil-ex-substitute-matches ((,class :inherit modus-theme-refine-yellow :underline t))) `(evil-ex-substitute-replacement ((,class :inherit (modus-theme-intense-green bold)))) ;;;;; evil-goggles `(evil-goggles-change-face ((,class :inherit modus-theme-refine-yellow))) `(evil-goggles-commentary-face ((,class :inherit (modus-theme-subtle-neutral modus-theme-slant)))) `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral))) `(evil-goggles-delete-face ((,class :inherit modus-theme-refine-red))) `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face))) `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face))) `(evil-goggles-join-face ((,class :inherit modus-theme-subtle-green))) `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face))) `(evil-goggles-paste-face ((,class :inherit modus-theme-subtle-cyan))) `(evil-goggles-record-macro-face ((,class :inherit modus-theme-special-cold))) `(evil-goggles-replace-with-register-face ((,class :inherit modus-theme-refine-magenta))) `(evil-goggles-set-marker-face ((,class :inherit modus-theme-intense-magenta))) `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face))) `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face))) `(evil-goggles-yank-face ((,class :inherit modus-theme-subtle-blue))) ;;;;; evil-snipe `(evil-snipe-first-match-face ((,class :inherit (bold modus-theme-intense-blue)))) `(evil-snipe-matches-face ((,class :inherit modus-theme-refine-magenta))) ;;;;; evil-visual-mark-mode `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta))) ;;;;; eww `(eww-invalid-certificate ((,class :foreground ,red-active))) `(eww-valid-certificate ((,class :foreground ,green-active))) `(eww-form-checkbox ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main))) `(eww-form-file ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main))) `(eww-form-select ((,class :inherit eww-form-checkbox))) `(eww-form-submit ((,class :inherit eww-form-file))) `(eww-form-text ((,class :box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active))) `(eww-form-textarea ((,class :background ,bg-alt :foreground ,fg-main))) ;;;;; eyebrowse `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active))) ;;;;; fancy-dabbrev `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt))) `(fancy-dabbrev-preview-face ((,class :inherit shadow :underline t))) `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan bold)))) ;;;;; flycheck `(flycheck-error ((,class :inherit modus-theme-lang-error))) `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active))) `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold))) `(flycheck-error-list-error ((,class :inherit modus-theme-bold :foreground ,red))) `(flycheck-error-list-filename ((,class :foreground ,blue))) `(flycheck-error-list-highlight ((,class :inherit modus-theme-hl-line))) `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other))) `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t))) `(flycheck-error-list-info ((,class :foreground ,cyan))) `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm))) `(flycheck-error-list-warning ((,class :foreground ,yellow))) `(flycheck-fringe-error ((,class :inherit modus-theme-fringe-red))) `(flycheck-fringe-info ((,class :inherit modus-theme-fringe-cyan))) `(flycheck-fringe-warning ((,class :inherit modus-theme-fringe-yellow))) `(flycheck-info ((,class :inherit modus-theme-lang-note))) `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button)))) `(flycheck-warning ((,class :inherit modus-theme-lang-warning))) ;;;;; flycheck-color-mode-line `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error))) `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info))) `(flycheck-color-mode-line-running-face ((,class :inherit italic :foreground ,fg-inactive))) `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning))) ;;;;; flycheck-indicator `(flycheck-indicator-disabled ((,class :inherit modus-theme-slant :foreground ,fg-inactive))) `(flycheck-indicator-error ((,class :inherit modus-theme-bold :foreground ,red-active))) `(flycheck-indicator-info ((,class :inherit modus-theme-bold :foreground ,blue-active))) `(flycheck-indicator-running ((,class :inherit modus-theme-bold :foreground ,magenta-active))) `(flycheck-indicator-success ((,class :inherit modus-theme-bold :foreground ,green-active))) `(flycheck-indicator-warning ((,class :inherit modus-theme-bold :foreground ,yellow-active))) ;;;;; flycheck-posframe `(flycheck-posframe-background-face ((,class :background ,bg-alt))) `(flycheck-posframe-border-face ((,class :inherit shadow))) `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red))) `(flycheck-posframe-face ((,class :inherit modus-theme-slant :foreground ,fg-main))) `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan))) `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow))) ;;;;; flymake `(flymake-error ((,class :inherit modus-theme-lang-error))) `(flymake-note ((,class :inherit modus-theme-lang-note))) `(flymake-warning ((,class :inherit modus-theme-lang-warning))) ;;;;; flyspell `(flyspell-duplicate ((,class :inherit modus-theme-lang-warning))) `(flyspell-incorrect ((,class :inherit modus-theme-lang-error))) ;;;;; flyspell-correct `(flyspell-correct-highlight-face ((,class :inherit modus-theme-refine-green))) ;;;;; flx `(flx-highlight-face ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-intense-magenta 'modus-theme-nuanced-magenta magenta-alt 'bold)))) ;;;;; freeze-it `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm))) ;;;;; frog-menu `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other))) `(frog-menu-actions-face ((,class :foreground ,magenta))) `(frog-menu-border ((,class :background ,bg-active))) `(frog-menu-candidates-face ((,class :foreground ,fg-main))) `(frog-menu-posframe-background-face ((,class :background ,bg-dim))) `(frog-menu-prompt-face ((,class :foreground ,cyan))) ;;;;; focus `(focus-unfocused ((,class :foreground ,fg-unfocused))) ;;;;; fold-this `(fold-this-overlay ((,class :inherit modus-theme-special-mild))) ;;;;; font-lock `(font-lock-builtin-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-extra magenta-alt magenta-alt-faint blue-alt)))) `(font-lock-comment-delimiter-face ((,class :inherit font-lock-comment-face))) `(font-lock-comment-face ((,class :inherit modus-theme-slant ,@(modus-themes--syntax-comment fg-alt fg-comment-yellow)))) `(font-lock-constant-face ((,class ,@(modus-themes--syntax-extra blue-alt-other blue-alt-other-faint magenta-alt-other)))) `(font-lock-doc-face ((,class :inherit modus-theme-slant ,@(modus-themes--syntax-docstring fg-docstring green-alt-other-faint green-alt-other-faint magenta-nuanced-fg)))) `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra magenta magenta-faint magenta-alt)))) `(font-lock-keyword-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-extra magenta-alt-other magenta-alt-other-faint cyan-alt-other)))) `(font-lock-negation-char-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-foreground yellow yellow-faint)))) `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-foreground red-alt-other red-alt-other-faint)))) `(font-lock-regexp-grouping-backslash ((,class :inherit bold ,@(modus-themes--syntax-string fg-escape-char-backslash yellow-alt-faint magenta-alt-other blue-alt)))) `(font-lock-regexp-grouping-construct ((,class :inherit bold ,@(modus-themes--syntax-string fg-escape-char-construct red-alt-other-faint red magenta-alt)))) `(font-lock-string-face ((,class ,@(modus-themes--syntax-string blue-alt blue-alt-faint green green-alt)))) `(font-lock-type-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-extra cyan-alt-other cyan-alt-faint cyan-alt)))) `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra cyan cyan-faint blue-alt-faint)))) `(font-lock-warning-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-foreground yellow-active yellow-alt-faint)))) ;;;;; forge `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) `(forge-post-date ((,class :foreground ,fg-special-cold))) `(forge-topic-closed ((,class :inherit shadow))) `(forge-topic-merged ((,class :inherit shadow))) `(forge-topic-open ((,class :foreground ,fg-special-mild))) `(forge-topic-unmerged ((,class :inherit modus-theme-slant :foreground ,magenta))) `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main))) ;;;;; fountain-mode `(fountain-character ((,class :foreground ,blue-alt-other))) `(fountain-comment ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(fountain-dialog ((,class :foreground ,blue-alt))) `(fountain-metadata-key ((,class :foreground ,green-alt-other))) `(fountain-metadata-value ((,class :foreground ,blue))) `(fountain-non-printing ((,class :inherit shadow))) `(fountain-note ((,class :inherit modus-theme-slant :foreground ,yellow))) `(fountain-page-break ((,class :inherit bold :foreground ,red-alt))) `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other))) `(fountain-paren ((,class :foreground ,cyan))) `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced-fg))) `(fountain-section-heading ((,class :inherit modus-theme-heading-1))) `(fountain-section-heading-1 ((,class :inherit modus-theme-heading-1))) `(fountain-section-heading-2 ((,class :inherit modus-theme-heading-2))) `(fountain-section-heading-3 ((,class :inherit modus-theme-heading-3))) `(fountain-section-heading-4 ((,class :inherit modus-theme-heading-4))) `(fountain-section-heading-5 ((,class :inherit modus-theme-heading-5))) `(fountain-synopsis ((,class :foreground ,cyan-alt))) `(fountain-trans ((,class :foreground ,yellow-alt-other))) ;;;;; geiser `(geiser-font-lock-autodoc-current-arg ((,class :inherit font-lock-function-name-face))) `(geiser-font-lock-autodoc-identifier ((,class :inherit font-lock-constant-face))) `(geiser-font-lock-doc-button ((,class :inherit button :foreground ,fg-docstring))) `(geiser-font-lock-doc-link ((,class :inherit button))) `(geiser-font-lock-error-link ((,class :inherit button :foreground ,red))) `(geiser-font-lock-image-button ((,class :inherit button :foreground ,green-alt))) `(geiser-font-lock-repl-input ((,class :inherit bold))) `(geiser-font-lock-repl-output ((,class :inherit font-lock-keyword-face))) `(geiser-font-lock-repl-prompt ((,class :inherit minibuffer-prompt))) `(geiser-font-lock-xref-header ((,class :inherit bold))) `(geiser-font-lock-xref-link ((,class :inherit button))) ;;;;; git-commit `(git-commit-comment-action ((,class :inherit font-lock-comment-face))) `(git-commit-comment-branch-local ((,class :inherit modus-theme-slant :foreground ,blue-alt))) `(git-commit-comment-branch-remote ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) `(git-commit-comment-detached ((,class :inherit modus-theme-slant :foreground ,cyan-alt))) `(git-commit-comment-file ((,class :inherit modus-theme-slant ,@(modus-themes--syntax-comment fg-special-cold red-nuanced-fg)))) `(git-commit-comment-heading ((,class :inherit (bold modus-theme-slant) ,@(modus-themes--syntax-comment fg-dim fg-special-warm)))) `(git-commit-keyword ((,class :foreground ,magenta))) `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other))) `(git-commit-nonempty-second-line ((,class :inherit modus-theme-refine-yellow))) `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow))) `(git-commit-pseudo-header ((,class :foreground ,blue))) `(git-commit-summary ((,class :inherit bold :foreground ,cyan))) ;;;;; git-gutter `(git-gutter:added ((,class :inherit modus-theme-fringe-green))) `(git-gutter:deleted ((,class :inherit modus-theme-fringe-red))) `(git-gutter:modified ((,class :inherit modus-theme-fringe-yellow))) `(git-gutter:separator ((,class :inherit modus-theme-fringe-cyan))) `(git-gutter:unchanged ((,class :inherit modus-theme-fringe-magenta))) ;;;;; git-gutter-fr `(git-gutter-fr:added ((,class :inherit modus-theme-fringe-green))) `(git-gutter-fr:deleted ((,class :inherit modus-theme-fringe-red))) `(git-gutter-fr:modified ((,class :inherit modus-theme-fringe-yellow))) ;;;;; git-{gutter,fringe}+ `(git-gutter+-added ((,class :inherit modus-theme-fringe-green))) `(git-gutter+-deleted ((,class :inherit modus-theme-fringe-red))) `(git-gutter+-modified ((,class :inherit modus-theme-fringe-yellow))) `(git-gutter+-separator ((,class :inherit modus-theme-fringe-cyan))) `(git-gutter+-unchanged ((,class :inherit modus-theme-fringe-magenta))) `(git-gutter-fr+-added ((,class :inherit modus-theme-fringe-green))) `(git-gutter-fr+-deleted ((,class :inherit modus-theme-fringe-red))) `(git-gutter-fr+-modified ((,class :inherit modus-theme-fringe-yellow))) ;;;;; git-lens `(git-lens-added ((,class :inherit bold :foreground ,green))) `(git-lens-deleted ((,class :inherit bold :foreground ,red))) `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan))) `(git-lens-modified ((,class :inherit bold :foreground ,yellow))) `(git-lens-renamed ((,class :inherit bold :foreground ,magenta))) ;;;;; git-rebase `(git-rebase-comment-hash ((,class :inherit modus-theme-slant ,@(modus-themes--syntax-comment fg-special-cold red-nuanced-fg)))) `(git-rebase-comment-heading ((,class :inherit (bold modus-theme-slant) ,@(modus-themes--syntax-comment fg-dim fg-special-warm)))) `(git-rebase-description ((,class :foreground ,fg-main))) `(git-rebase-hash ((,class :foreground ,cyan-alt-other))) ;;;;; git-timemachine `(git-timemachine-commit ((,class :inherit bold :foreground ,yellow-active))) `(git-timemachine-minibuffer-author-face ((,class :foreground ,fg-special-warm))) `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt))) ;;;;; git-walktree `(git-walktree-commit-face ((,class :foreground ,yellow))) `(git-walktree-symlink-face ((,class :inherit button))) `(git-walktree-tree-face ((,class :foreground ,magenta))) ;;;;; gnus `(gnus-button ((,class :inherit button))) `(gnus-cite-1 ((,class :foreground ,blue-faint))) `(gnus-cite-10 ((,class :foreground ,yellow-alt-other))) `(gnus-cite-11 ((,class :foreground ,magenta-alt))) `(gnus-cite-2 ((,class :foreground ,green-alt-other))) `(gnus-cite-3 ((,class :foreground ,red-alt-other))) `(gnus-cite-4 ((,class :foreground ,cyan))) `(gnus-cite-5 ((,class :foreground ,yellow-alt))) `(gnus-cite-6 ((,class :foreground ,magenta))) `(gnus-cite-7 ((,class :foreground ,green-alt))) `(gnus-cite-8 ((,class :foreground ,magenta-alt-other))) `(gnus-cite-9 ((,class :foreground ,cyan-alt))) `(gnus-cite-attribution ((,class :inherit italic :foreground ,fg-main))) `(gnus-emphasis-bold ((,class :inherit bold))) `(gnus-emphasis-bold-italic ((,class :inherit bold-italic))) `(gnus-emphasis-highlight-words ((,class :inherit modus-theme-refine-yellow))) `(gnus-emphasis-italic ((,class :inherit italic))) `(gnus-emphasis-underline-bold ((,class :inherit gnus-emphasis-bold :underline t))) `(gnus-emphasis-underline-bold-italic ((,class :inherit gnus-emphasis-bold-italic :underline t))) `(gnus-emphasis-underline-italic ((,class :inherit gnus-emphasis-italic :underline t))) `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt))) `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt))) `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta))) `(gnus-group-mail-2-empty ((,class :foreground ,magenta))) `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other))) `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other))) `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced-fg))) `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced-fg))) `(gnus-group-news-1 ((,class :inherit bold :foreground ,green))) `(gnus-group-news-1-empty ((,class :foreground ,green))) `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan))) `(gnus-group-news-2-empty ((,class :foreground ,cyan))) `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced-fg))) `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced-fg))) `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced-fg))) `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced-fg))) `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced-fg))) `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced-fg))) `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-alt))) `(gnus-group-news-6-empty ((,class :inherit shadow))) `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced-fg))) `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced-fg))) `(gnus-header-content ((,class :inherit message-header-other))) `(gnus-header-from ((,class :inherit message-header-to :underline nil))) `(gnus-header-name ((,class :inherit message-header-name))) `(gnus-header-newsgroups ((,class :inherit message-header-newsgroups))) `(gnus-header-subject ((,class :inherit message-header-subject))) `(gnus-server-agent ((,class :inherit bold :foreground ,cyan))) `(gnus-server-closed ((,class :inherit bold :foreground ,magenta))) `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt))) `(gnus-server-cloud-host ((,class :inherit modus-theme-refine-cyan))) `(gnus-server-denied ((,class :inherit bold :foreground ,red))) `(gnus-server-offline ((,class :inherit bold :foreground ,yellow))) `(gnus-server-opened ((,class :inherit bold :foreground ,green))) `(gnus-signature ((,class :inherit italic :foreground ,fg-special-cold))) `(gnus-splash ((,class :inherit shadow))) `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt))) `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt))) `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold))) `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other))) `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground ,yellow))) `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main))) `(gnus-summary-low-ancient ((,class :inherit italic :foreground ,fg-alt))) `(gnus-summary-low-read ((,class :inherit italic :foreground ,fg-alt))) `(gnus-summary-low-ticked ((,class :inherit italic :foreground ,red-refine-fg))) `(gnus-summary-low-undownloaded ((,class :inherit italic :foreground ,yellow-refine-fg))) `(gnus-summary-low-unread ((,class :inherit bold :foreground ,fg-special-cold))) `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm))) `(gnus-summary-normal-read ((,class :inherit shadow))) `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other))) `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow))) `(gnus-summary-normal-unread ((,class :foreground ,fg-main))) `(gnus-summary-selected ((,class :inherit modus-theme-subtle-blue))) ;;;;; golden-ratio-scroll-screen `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) ;;;;; helm `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other))) `(helm-action ((,class :underline t))) `(helm-bookmark-addressbook ((,class :foreground ,green-alt))) `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue))) `(helm-bookmark-file ((,class :foreground ,fg-main))) `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground ,fg-alt))) `(helm-bookmark-gnus ((,class :foreground ,magenta))) `(helm-bookmark-info ((,class :foreground ,cyan-alt))) `(helm-bookmark-man ((,class :foreground ,yellow-alt))) `(helm-bookmark-w3m ((,class :foreground ,blue-alt))) `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan))) `(helm-buffer-directory ((,class :inherit bold :foreground ,blue))) `(helm-buffer-file ((,class :foreground ,fg-main))) `(helm-buffer-modified ((,class :foreground ,yellow-alt))) `(helm-buffer-not-saved ((,class :foreground ,red-alt))) `(helm-buffer-process ((,class :foreground ,magenta))) `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt :foreground ,red))) `(helm-buffer-size ((,class :inherit shadow))) `(helm-candidate-number ((,class :foreground ,cyan-active))) `(helm-candidate-number-suspended ((,class :foreground ,yellow-active))) `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active))) `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active))) `(helm-delete-async-message ((,class :inherit bold :foreground ,magenta-active))) `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main))) `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active))) `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active))) `(helm-etags-file ((,class :foreground ,fg-dim :underline t))) `(helm-ff-backup-file ((,class :inherit shadow))) `(helm-ff-denied ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-red 'modus-theme-intense-red 'modus-theme-nuanced-red red)))) `(helm-ff-directory ((,class :inherit helm-buffer-directory))) `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other))) `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt :foreground ,fg-alt))) `(helm-ff-dotted-symlink-directory ((,class :inherit (button helm-ff-dotted-directory)))) `(helm-ff-executable ((,class :foreground ,magenta-alt))) `(helm-ff-file ((,class :foreground ,fg-main))) `(helm-ff-file-extension ((,class :foreground ,fg-special-warm))) `(helm-ff-invalid-symlink ((,class :inherit button ,@(modus-themes--link-color red red-faint)))) `(helm-ff-pipe ((,class ,@(modus-themes--extra-completions 'modus-theme-refine-magenta 'modus-theme-subtle-magenta 'modus-theme-nuanced-magenta magenta)))) `(helm-ff-prefix ((,class ,@(modus-themes--extra-completions 'modus-theme-refine-yellow 'modus-theme-subtle-yellow 'modus-theme-nuanced-yellow yellow-alt-other)))) `(helm-ff-socket ((,class :foreground ,red-alt-other))) `(helm-ff-suid ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-red 'modus-theme-refine-red 'modus-theme-nuanced-yellow red-alt)))) `(helm-ff-symlink ((,class :inherit button ,@(modus-themes--link-color cyan cyan-faint)))) `(helm-ff-truename ((,class :foreground ,blue-alt-other))) `(helm-fd-finish ((,class :foreground ,green-active))) `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other))) `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold))) `(helm-grep-finish ((,class :foreground ,green-active))) `(helm-grep-lineno ((,class :foreground ,fg-special-warm))) `(helm-grep-match ((,class :inherit modus-theme-special-calm))) `(helm-header ((,class :inherit bold :foreground ,fg-special-cold))) `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense))) `(helm-history-deleted ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-red 'modus-theme-intense-red 'modus-theme-nuanced-red red 'bold)))) `(helm-history-remote ((,class :foreground ,red-alt-other))) `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm))) `(helm-lisp-show-completion ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-yellow 'modus-theme-refine-yellow 'modus-theme-nuanced-yellow yellow 'bold)))) `(helm-locate-finish ((,class :foreground ,green-active))) `(helm-match ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-cyan 'modus-theme-refine-cyan 'modus-theme-nuanced-cyan cyan 'bold)))) `(helm-match-item ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-neutral 'modus-theme-subtle-cyan 'modus-theme-nuanced-cyan cyan-alt-other)))) `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt))) `(helm-moccur-buffer ((,class :inherit button ,@(modus-themes--link-color cyan-alt-other cyan-alt-other-faint)))) `(helm-mode-prefix ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-intense-magenta 'modus-theme-nuanced-magenta magenta-alt 'bold)))) `(helm-non-file-buffer ((,class :inherit shadow))) `(helm-prefarg ((,class :foreground ,red-active))) `(helm-resume-need-update ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-refine-magenta 'modus-theme-nuanced-magenta magenta-alt-other)))) `(helm-selection ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-blue 'modus-theme-refine-blue 'modus-theme-special-cold nil 'bold)))) `(helm-selection-line ((,class :inherit modus-theme-special-cold))) `(helm-separator ((,class :foreground ,fg-special-mild))) `(helm-time-zone-current ((,class :foreground ,green))) `(helm-time-zone-home ((,class :foreground ,magenta))) `(helm-source-header ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-4)))) `(helm-top-columns ((,class :inherit helm-header))) `(helm-ucs-char ((,class :foreground ,yellow-alt-other))) `(helm-visible-mark ((,class :inherit modus-theme-subtle-cyan))) ;;;;; helm-ls-git `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense))) `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense))) `(helm-ls-git-conflict-face ((,class :inherit bold :foreground ,red-intense))) `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced-fg))) `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red))) `(helm-ls-git-modified-and-staged-face ((,class :foreground ,yellow-nuanced-fg))) `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow))) `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta))) `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold))) ;;;;; helm-switch-shell `(helm-switch-shell-new-shell-face ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-refine-magenta 'modus-theme-nuanced-magenta magenta-alt-other 'bold)))) ;;;;; helm-xref `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold))) `(helm-xref-file-name ((,class :foreground ,fg-special-warm))) ;;;;; helpful `(helpful-heading ((,class :inherit modus-theme-heading-1))) ;;;;; highlight region or ad-hoc regexp `(hi-aquamarine ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) `(hi-black-b ((,class :inherit bold :background ,fg-main :foreground ,bg-main))) `(hi-black-hb ((,class :inherit bold :background ,fg-alt :foreground ,bg-main))) `(hi-blue ((,class :background ,blue-subtle-bg :foreground ,fg-main))) `(hi-blue-b ((,class :inherit (bold hi-blue)))) `(hi-green ((,class :background ,green-subtle-bg :foreground ,fg-main))) `(hi-green-b ((,class :inherit (bold hi-green)))) `(hi-pink ((,class :background ,magenta-subtle-bg :foreground ,fg-main))) `(hi-pink-b ((,class :inherit (bold hi-pink)))) `(hi-red-b ((,class :inherit bold :background ,red-intense-bg :foreground ,fg-main))) `(hi-salmon ((,class :background ,red-subtle-bg :foreground ,fg-main))) `(hi-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-main))) `(highlight ((,class :inherit modus-theme-subtle-blue))) `(highlight-changes ((,class :foreground ,yellow-alt-other))) `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline t))) `(hl-line ((,class :inherit modus-theme-hl-line))) ;;;;; highlight-blocks `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground ,fg-main))) `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground ,fg-main))) `(highlight-blocks-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-main))) `(highlight-blocks-depth-4-face ((,class :background ,bg-special-calm :foreground ,fg-main))) `(highlight-blocks-depth-5-face ((,class :background ,bg-special-warm :foreground ,fg-main))) `(highlight-blocks-depth-6-face ((,class :background ,bg-special-mild :foreground ,fg-main))) `(highlight-blocks-depth-7-face ((,class :background ,bg-inactive :foreground ,fg-main))) `(highlight-blocks-depth-8-face ((,class :background ,bg-active :foreground ,fg-main))) `(highlight-blocks-depth-9-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) ;;;;; highlight-defined `(highlight-defined-builtin-function-name-face ((,class :foreground ,magenta))) `(highlight-defined-face-name-face ((,class :foreground ,fg-main))) `(highlight-defined-function-name-face ((,class :foreground ,magenta))) `(highlight-defined-macro-name-face ((,class :foreground ,magenta-alt))) `(highlight-defined-special-form-name-face ((,class :foreground ,magenta-alt-other))) `(highlight-defined-variable-name-face ((,class :foreground ,cyan))) ;;;;; highlight-escape-sequences (`hes-mode') `(hes-escape-backslash-face ((,class :inherit bold :foreground ,fg-escape-char-construct))) `(hes-escape-sequence-face ((,class :inherit bold :foreground ,fg-escape-char-backslash))) ;;;;; highlight-indentation `(highlight-indentation-face ((,class :inherit modus-theme-hl-line))) `(highlight-indentation-current-column-face ((,class :background ,bg-active))) ;;;;; highlight-numbers `(highlight-numbers-number ((,class :foreground ,blue-alt-other))) ;;;;; highlight-symbol `(highlight-symbol-face ((,class :inherit modus-theme-special-mild))) ;;;;; highlight-thing `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan))) ;;;;; hl-defined `(hdefd-functions ((,class :foreground ,blue))) `(hdefd-undefined ((,class :foreground ,red-alt))) `(hdefd-variables ((,class :foreground ,cyan-alt))) ;;;;; hl-fill-column `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active))) ;;;;; hl-todo `(hl-todo ((,class :inherit (bold modus-theme-slant) :foreground ,red-alt-other))) ;;;;; hydra `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow))) `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt))) `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt))) `(hydra-face-red ((,class :inherit bold :foreground ,red))) `(hydra-face-teal ((,class :inherit bold :foreground ,cyan))) ;;;;; hyperlist `(hyperlist-condition ((,class :foreground ,green))) `(hyperlist-hashtag ((,class :foreground ,yellow))) `(hyperlist-operator ((,class :foreground ,blue-alt))) `(hyperlist-paren ((,class :foreground ,cyan-alt-other))) `(hyperlist-quote ((,class :foreground ,cyan-alt))) `(hyperlist-ref ((,class :foreground ,magenta-alt-other))) `(hyperlist-stars ((,class :inherit shadow))) `(hyperlist-tag ((,class :foreground ,red))) `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main))) ;;;;; icomplete `(icomplete-first-match ((,class :inherit bold ,@(modus-themes--standard-completions magenta bg-alt bg-active fg-main)))) ;;;;; icomplete-vertical `(icomplete-vertical-separator ((,class :inherit shadow))) ;;;;; ido-mode `(ido-first-match ((,class :inherit bold ,@(modus-themes--standard-completions magenta bg-alt bg-active fg-main)))) `(ido-incomplete-regexp ((,class :inherit error))) `(ido-indicator ((,class :inherit modus-theme-subtle-yellow))) `(ido-only-match ((,class :inherit bold ,@(modus-themes--standard-completions green green-nuanced-bg green-intense-bg fg-main)))) `(ido-subdir ((,class :foreground ,blue))) `(ido-virtual ((,class :foreground ,fg-special-warm))) ;;;;; iedit `(iedit-occurrence ((,class :inherit modus-theme-refine-blue))) `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow))) ;;;;; iflipb `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt))) `(iflipb-other-buffer-face ((,class :inherit shadow))) ;;;;; imenu-list `(imenu-list-entry-face-0 ((,class :foreground ,cyan))) `(imenu-list-entry-face-1 ((,class :foreground ,blue))) `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other))) `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt))) `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground ,magenta-alt-other :underline t))) `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground ,magenta :underline t))) `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground ,green-alt-other :underline t))) `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground ,red-alt-other :underline t))) ;;;;; indium `(indium-breakpoint-face ((,class :foreground ,red-active))) `(indium-frame-url-face ((,class :inherit button :foreground ,fg-alt))) `(indium-keyword-face ((,class :foreground ,magenta-alt-other))) `(indium-litable-face ((,class :inherit modus-theme-slant :foreground ,fg-special-warm))) `(indium-repl-error-face ((,class :inherit bold :foreground ,red))) `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other))) `(indium-repl-stdout-face ((,class :foreground ,fg-main))) ;;;;; info `(Info-quoted ((,class ,@(modus-themes--mixed-fonts) ; the capitalization is canonical :background ,bg-alt :foreground ,fg-special-calm))) `(info-header-node ((,class :inherit bold :foreground ,fg-alt))) `(info-header-xref ((,class :foreground ,blue-active))) `(info-index-match ((,class :inherit match))) `(info-menu-header ((,class :inherit modus-theme-heading-3))) `(info-menu-star ((,class :foreground ,red))) `(info-node ((,class :inherit bold))) `(info-title-1 ((,class :inherit modus-theme-heading-1))) `(info-title-2 ((,class :inherit modus-theme-heading-2))) `(info-title-3 ((,class :inherit modus-theme-heading-3))) `(info-title-4 ((,class :inherit modus-theme-heading-4))) ;;;;; info-colors `(info-colors-lisp-code-block ((,class :inherit fixed-pitch))) `(info-colors-ref-item-command ((,class :foreground ,magenta))) `(info-colors-ref-item-constant ((,class :inherit font-lock-constant-face))) `(info-colors-ref-item-function ((,class :inherit font-lock-function-name-face))) `(info-colors-ref-item-macro ((,class :inherit font-lock-keyword-face))) `(info-colors-ref-item-other ((,class :inherit font-lock-doc-face))) `(info-colors-ref-item-special-form ((,class :inherit font-lock-keyword-face))) `(info-colors-ref-item-syntax-class ((,class :inherit font-lock-builtin-face))) `(info-colors-ref-item-type ((,class :inherit font-lock-type-face))) `(info-colors-ref-item-user-option ((,class :inherit font-lock-variable-name-face))) `(info-colors-ref-item-variable ((,class :inherit font-lock-variable-name-face))) ;;;;; interaction-log `(ilog-buffer-face ((,class :foreground ,magenta-alt-other))) `(ilog-change-face ((,class :foreground ,magenta-alt))) `(ilog-echo-face ((,class :foreground ,yellow-alt-other))) `(ilog-load-face ((,class :foreground ,green))) `(ilog-message-face ((,class :inherit shadow))) `(ilog-non-change-face ((,class :foreground ,blue))) ;;;;; ioccur `(ioccur-cursor ((,class :foreground ,fg-main))) `(ioccur-invalid-regexp ((,class :foreground ,red))) `(ioccur-match-face ((,class :inherit modus-theme-special-calm))) `(ioccur-match-overlay-face ((,class :inherit modus-theme-special-cold :extend t))) `(ioccur-num-line-face ((,class :foreground ,fg-special-warm))) `(ioccur-overlay-face ((,class :inherit modus-theme-refine-blue :extend t))) `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold)))) `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-4)))) ;;;;; isearch, occur, and the like `(isearch ((,class :inherit (modus-theme-intense-green bold)))) `(isearch-fail ((,class :inherit modus-theme-refine-red))) `(isearch-group-1 ((,class :inherit modus-theme-intense-blue))) `(isearch-group-2 ((,class :inherit modus-theme-intense-magenta))) `(lazy-highlight ((,class :inherit modus-theme-refine-cyan))) `(match ((,class :inherit modus-theme-special-calm))) `(query-replace ((,class :inherit (modus-theme-intense-yellow bold)))) ;;;;; isl (isearch-light) `(isl-line ((,class :inherit modus-theme-subtle-green))) `(isl-match ((,class :inherit modus-theme-refine-cyan))) `(isl-number ((,class :inherit modus-theme-bold :foreground ,green-active))) `(isl-on ((,class :inherit (bold modus-theme-intense-green)))) `(isl-string ((,class :inherit modus-theme-bold :foreground ,cyan-active))) ;;;;; ivy `(ivy-action ((,class :inherit bold :foreground ,red-alt))) `(ivy-completions-annotations ((,class :inherit completions-annotations))) `(ivy-confirm-face ((,class :foreground ,cyan))) `(ivy-current-match ((,class ,@(modus-themes--extra-completions 'modus-theme-refine-cyan 'modus-theme-intense-cyan 'modus-theme-special-cold nil 'bold)))) `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main))) `(ivy-grep-info ((,class :foreground ,cyan-alt))) `(ivy-grep-line-number ((,class :foreground ,fg-special-warm))) `(ivy-highlight-face ((,class :foreground ,magenta))) `(ivy-match-required-face ((,class :inherit error))) `(ivy-minibuffer-match-face-1 ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-neutral 'modus-theme-intense-neutral 'modus-theme-nuanced-cyan fg-alt)))) `(ivy-minibuffer-match-face-2 ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-green 'modus-theme-refine-green 'modus-theme-nuanced-green green-alt-other 'bold)))) `(ivy-minibuffer-match-face-3 ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-blue 'modus-theme-refine-blue 'modus-theme-nuanced-blue blue-alt-other 'bold)))) `(ivy-minibuffer-match-face-4 ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-refine-magenta 'modus-theme-nuanced-magenta magenta-alt-other 'bold)))) `(ivy-minibuffer-match-highlight ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-cyan 'modus-theme-intense-cyan 'modus-theme-nuanced-cyan cyan-alt-other 'bold)))) `(ivy-modified-buffer ((,class :inherit modus-theme-slant :foreground ,yellow))) `(ivy-modified-outside-buffer ((,class :inherit modus-theme-slant :foreground ,yellow-alt))) `(ivy-org ((,class :foreground ,cyan-alt-other))) `(ivy-prompt-match ((,class :inherit ivy-current-match))) `(ivy-remote ((,class :foreground ,magenta))) `(ivy-separator ((,class :inherit shadow))) `(ivy-subdir ((,class :foreground ,blue-alt-other))) `(ivy-virtual ((,class :foreground ,magenta-alt-other))) `(ivy-yanked-word ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-blue 'modus-theme-refine-blue 'modus-theme-nuanced-blue blue-alt)))) ;;;;; ivy-posframe `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main))) `(ivy-posframe-border ((,class :background ,fg-window-divider-inner))) `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main))) ;;;;; jira (org-jira) `(jiralib-comment-face ((,class :background ,bg-alt))) `(jiralib-comment-header-face ((,class :inherit bold))) `(jiralib-issue-info-face ((,class :inherit modus-theme-special-warm))) `(jiralib-issue-info-header-face ((,class :inherit (modus-theme-special-warm bold)))) `(jiralib-issue-summary-face ((,class :inherit bold))) `(jiralib-link-filter-face ((,class :underline t))) `(jiralib-link-issue-face ((,class :underline t))) `(jiralib-link-project-face ((,class :underline t))) ;;;;; journalctl-mode `(journalctl-error-face ((,class :inherit bold :foreground ,red))) `(journalctl-finished-face ((,class :inherit bold :foreground ,green))) `(journalctl-host-face ((,class :foreground ,blue))) `(journalctl-process-face ((,class :foreground ,cyan-alt-other))) `(journalctl-starting-face ((,class :foreground ,green))) `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold))) `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow))) ;;;;; js2-mode `(js2-error ((,class :foreground ,red))) `(js2-external-variable ((,class :foreground ,cyan-alt-other))) `(js2-function-call ((,class :foreground ,magenta))) `(js2-function-param ((,class :foreground ,blue))) `(js2-instance-member ((,class :foreground ,magenta-alt-other))) `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main))) `(js2-jsdoc-html-tag-name ((,class :foreground ,cyan))) `(js2-jsdoc-tag ((,class :foreground ,fg-special-calm))) `(js2-jsdoc-type ((,class :foreground ,fg-special-cold))) `(js2-jsdoc-value ((,class :foreground ,fg-special-warm))) `(js2-object-property ((,class :foreground ,fg-main))) `(js2-object-property-access ((,class :foreground ,fg-main))) `(js2-private-function-call ((,class :foreground ,green-alt-other))) `(js2-private-member ((,class :foreground ,fg-special-mild))) `(js2-warning ((,class :foreground ,yellow-alt :underline t))) ;;;;; julia `(julia-macro-face ((,class :inherit modus-theme-bold :foreground ,magenta))) `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other))) ;;;;; jupyter `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue))) `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other))) `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other))) `(jupyter-repl-traceback ((,class :inherit modus-theme-intense-red))) ;;;;; kaocha-runner `(kaocha-runner-error-face ((,class :foreground ,red))) `(kaocha-runner-success-face ((,class :foreground ,green))) `(kaocha-runner-warning-face ((,class :foreground ,yellow))) ;;;;; keycast `(keycast-command ((,class :inherit bold :foreground ,blue-active))) `(keycast-key ((,class ,@(modus-themes--mode-line-attrs bg-main blue-active bg-main blue-active blue-active blue-intense 'alt-style -3)))) ;;;;; line numbers (display-line-numbers-mode and global variant) `(line-number ((,class :inherit default ,@(modus-themes--line-numbers fg-alt bg-dim fg-unfocused)))) `(line-number-current-line ((,class :inherit (bold default) ,@(modus-themes--line-numbers fg-main bg-active blue-alt-other)))) `(line-number-major-tick ((,class :inherit (bold default) ,@(modus-themes--line-numbers yellow-nuanced-fg yellow-nuanced-bg red-alt)))) `(line-number-minor-tick ((,class :inherit (bold default) ,@(modus-themes--line-numbers fg-alt bg-inactive fg-inactive)))) ;;;;; lsp-mode `(lsp-face-highlight-read ((,class :inherit modus-theme-subtle-blue :underline t))) `(lsp-face-highlight-textual ((,class :inherit modus-theme-subtle-blue))) `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue bold)))) `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other))) `(lsp-face-semhl-deprecated ((,(append '((supports :underline (:style wave))) class) :foreground ,yellow :underline (:style wave)) (,class :foreground ,yellow :underline t))) `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other))) `(lsp-face-semhl-field ((,class :foreground ,cyan-alt))) `(lsp-face-semhl-field-static ((,class :inherit modus-theme-slant :foreground ,cyan-alt))) `(lsp-face-semhl-function ((,class :foreground ,magenta))) `(lsp-face-semhl-method ((,class :foreground ,magenta))) `(lsp-face-semhl-namespace ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other))) `(lsp-face-semhl-static-method ((,class :inherit modus-theme-slant :foreground ,magenta))) `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt))) `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt))) `(lsp-face-semhl-type-primitive ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) `(lsp-face-semhl-type-template ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) `(lsp-face-semhl-type-typedef ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) `(lsp-face-semhl-variable ((,class :foreground ,cyan))) `(lsp-face-semhl-variable-local ((,class :foreground ,cyan))) `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other))) `(lsp-lens-face ((,class :height 0.8 :foreground ,fg-alt))) `(lsp-lens-mouse-face ((,class :height 0.8 :foreground ,blue-alt-other :underline t))) `(lsp-ui-doc-background ((,class :background ,bg-alt))) `(lsp-ui-doc-header ((,class :background ,bg-header :foreground ,fg-header))) `(lsp-ui-doc-url ((,class :inherit button))) `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm))) `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header))) `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header))) `(lsp-ui-peek-highlight ((,class :inherit modus-theme-subtle-blue))) `(lsp-ui-peek-line-number ((,class :inherit shadow))) `(lsp-ui-peek-list ((,class :background ,bg-dim))) `(lsp-ui-peek-peek ((,class :background ,bg-alt))) `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan))) `(lsp-ui-sideline-code-action ((,class :foreground ,yellow))) `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main))) `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt))) `(lsp-ui-sideline-symbol-info ((,class :inherit italic :height 0.99))) ;;;;; macrostep `(macrostep-compiler-macro-face ((,class :inherit italic))) `(macrostep-expansion-highlight-face ((,class :background ,blue-nuanced-bg))) `(macrostep-gensym-1 ((,class :inherit bold :foreground ,blue :box t))) `(macrostep-gensym-2 ((,class :inherit bold :foreground ,green :box t))) `(macrostep-gensym-3 ((,class :inherit bold :foreground ,yellow :box t))) `(macrostep-gensym-4 ((,class :inherit bold :foreground ,red :box t))) `(macrostep-gensym-5 ((,class :inherit bold :foreground ,magenta :box t))) `(macrostep-macro-face ((,class :inherit button :foreground ,green-alt))) ;;;;; magit `(magit-bisect-bad ((,class :foreground ,red-alt-other))) `(magit-bisect-good ((,class :foreground ,green-alt-other))) `(magit-bisect-skip ((,class :foreground ,yellow-alt-other))) `(magit-blame-date ((,class :foreground ,blue))) `(magit-blame-dimmed ((,class :inherit shadow))) `(magit-blame-hash ((,class :foreground ,fg-special-warm))) `(magit-blame-heading ((,class :background ,bg-alt))) `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan))) `(magit-blame-margin ((,class :inherit magit-blame-highlight))) `(magit-blame-name ((,class :foreground ,magenta-alt-other))) `(magit-blame-summary ((,class :foreground ,cyan-alt-other))) `(magit-branch-current ((,class :foreground ,blue-alt-other :box t))) `(magit-branch-local ((,class :foreground ,blue-alt))) `(magit-branch-remote ((,class :foreground ,magenta-alt))) `(magit-branch-remote-head ((,class :foreground ,magenta-alt-other :box t))) `(magit-branch-upstream ((,class :inherit italic))) `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense))) `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense))) ;; NOTE: here we break from the pattern of inheriting from the ;; modus-theme-diff-* faces, though only for the standard actions, ;; not the highlighted ones. This is because Magit's interaction ;; model relies on highlighting the current diff hunk. `(magit-diff-added ((,class ,@(modus-themes--diff bg-main green bg-diff-added fg-diff-added green-nuanced-bg fg-diff-added bg-diff-added-deuteran fg-diff-added-deuteran)))) `(magit-diff-added-highlight ((,class :inherit modus-theme-diff-focus-added))) `(magit-diff-base ((,class ,@(modus-themes--diff bg-main yellow bg-diff-changed fg-diff-changed yellow-nuanced-bg fg-diff-changed)))) `(magit-diff-base-highlight ((,class :inherit modus-theme-diff-focus-changed))) `(magit-diff-context ((,class :foreground ,fg-unfocused))) `(magit-diff-context-highlight ((,class ,@(modus-themes--diff bg-dim fg-dim bg-inactive fg-inactive bg-dim fg-alt)))) `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold))) `(magit-diff-file-heading-highlight ((,class :inherit (modus-theme-special-cold bold)))) `(magit-diff-file-heading-selection ((,class :inherit modus-theme-refine-cyan))) ;; NOTE: here we break from the pattern of inheriting from the ;; modus-theme-diff-* faces. `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active :foreground ,fg-inactive))) `(magit-diff-hunk-heading-highlight ((,class :inherit bold :background ,@(modus-themes--diff-deuteran bg-region bg-diff-heading) :foreground ,@(modus-themes--diff-deuteran fg-main fg-diff-heading)))) `(magit-diff-hunk-heading-selection ((,class :inherit modus-theme-refine-blue))) `(magit-diff-hunk-region ((,class :inherit bold))) `(magit-diff-lines-boundary ((,class :background ,fg-main))) `(magit-diff-lines-heading ((,class :inherit modus-theme-refine-magenta))) `(magit-diff-removed ((,class ,@(modus-themes--diff bg-main red bg-diff-removed fg-diff-removed red-nuanced-bg fg-diff-removed)))) `(magit-diff-removed-highlight ((,class :inherit modus-theme-diff-focus-removed))) `(magit-diffstat-added ((,class :foreground ,@(modus-themes--diff-deuteran blue green)))) `(magit-diffstat-removed ((,class :foreground ,red))) `(magit-dimmed ((,class :foreground ,fg-unfocused))) `(magit-filename ((,class :foreground ,fg-special-cold))) `(magit-hash ((,class :inherit shadow))) `(magit-head ((,class :inherit magit-branch-local))) `(magit-header-line ((,class :inherit bold :foreground ,magenta-active))) `(magit-header-line-key ((,class :inherit bold :foreground ,blue-active))) `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main))) `(magit-keyword ((,class :foreground ,magenta))) `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other))) `(magit-log-author ((,class :foreground ,cyan))) `(magit-log-date ((,class :inherit shadow))) `(magit-log-graph ((,class :foreground ,fg-dim))) `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active))) `(magit-mode-line-process-error ((,class :inherit bold :foreground ,red-active))) `(magit-process-ng ((,class :inherit error))) `(magit-process-ok ((,class :inherit success))) `(magit-reflog-amend ((,class :background ,bg-main :foreground ,magenta-intense))) `(magit-reflog-checkout ((,class :background ,bg-main :foreground ,blue-intense))) `(magit-reflog-cherry-pick ((,class :background ,bg-main :foreground ,green-intense))) `(magit-reflog-commit ((,class :background ,bg-main :foreground ,green-intense))) `(magit-reflog-merge ((,class :background ,bg-main :foreground ,green-intense))) `(magit-reflog-other ((,class :background ,bg-main :foreground ,cyan-intense))) `(magit-reflog-rebase ((,class :background ,bg-main :foreground ,magenta-intense))) `(magit-reflog-remote ((,class :background ,bg-main :foreground ,cyan-intense))) `(magit-reflog-reset ((,class :background ,bg-main :foreground ,red-intense))) `(magit-refname ((,class :inherit shadow))) `(magit-refname-pullreq ((,class :inherit shadow))) `(magit-refname-stash ((,class :inherit shadow))) `(magit-refname-wip ((,class :inherit shadow))) `(magit-section ((,class :background ,bg-dim :foreground ,fg-main))) `(magit-section-heading ((,class :inherit bold :foreground ,cyan))) `(magit-section-heading-selection ((,class :inherit (modus-theme-refine-cyan bold)))) `(magit-section-highlight ((,class :background ,bg-alt))) `(magit-sequence-done ((,class :foreground ,green-alt))) `(magit-sequence-drop ((,class :foreground ,red-alt))) `(magit-sequence-exec ((,class :foreground ,magenta-alt))) `(magit-sequence-head ((,class :foreground ,cyan-alt))) `(magit-sequence-onto ((,class :inherit shadow))) `(magit-sequence-part ((,class :foreground ,yellow-alt))) `(magit-sequence-pick ((,class :foreground ,blue-alt))) `(magit-sequence-stop ((,class :foreground ,red))) `(magit-signature-bad ((,class :inherit bold :foreground ,red))) `(magit-signature-error ((,class :foreground ,red-alt))) `(magit-signature-expired ((,class :foreground ,yellow))) `(magit-signature-expired-key ((,class :foreground ,yellow))) `(magit-signature-good ((,class :foreground ,green))) `(magit-signature-revoked ((,class :foreground ,magenta))) `(magit-signature-untrusted ((,class :foreground ,cyan))) `(magit-tag ((,class :foreground ,yellow-alt-other))) ;;;;; magit-imerge `(magit-imerge-overriding-value ((,class :inherit bold :foreground ,red-alt))) ;;;;; make-mode (makefiles) `(makefile-makepp-perl ((,class :background ,cyan-nuanced-bg))) `(makefile-space ((,class :background ,magenta-nuanced-bg))) ;;;;; man `(Man-overstrike ((,class :inherit bold :foreground ,magenta))) `(Man-reverse ((,class :inherit modus-theme-subtle-magenta))) `(Man-underline ((,class :foreground ,cyan :underline t))) ;;;;; marginalia `(marginalia-archive ((,class :foreground ,green-nuanced-fg))) `(marginalia-date ((,class :foreground ,blue-nuanced-fg))) `(marginalia-char ((,class :foreground ,red-active))) `(marginalia-documentation ((,class :foreground ,fg-special-cold :inherit modus-theme-slant))) `(marginalia-file-modes ((,class :inherit shadow))) `(marginalia-file-name ((,class :foreground ,fg-special-mild))) `(marginalia-file-owner ((,class :foreground ,red-nuanced-fg))) `(marginalia-key ((,class :foreground ,magenta-active))) `(marginalia-mode ((,class :foreground ,cyan-active))) `(marginalia-modified ((,class :foreground ,yellow-active))) `(marginalia-number ((,class :foreground ,blue-active))) `(marginalia-size ((,class :foreground ,green-active))) `(marginalia-type ((,class :foreground ,fg-special-warm))) `(marginalia-variable ((,class :foreground ,yellow-nuanced-fg))) `(marginalia-version ((,class :foreground ,cyan-active))) ;;;;; markdown-mode `(markdown-blockquote-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(markdown-bold-face ((,class :inherit bold))) `(markdown-code-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-dim :extend t))) `(markdown-comment-face ((,class :inherit font-lock-comment-face))) `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt))) `(markdown-footnote-text-face ((,class :inherit modus-theme-slant :foreground ,fg-main))) `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other))) `(markdown-header-delimiter-face ((,class :inherit modus-theme-bold :foreground ,fg-dim))) `(markdown-header-face ((t nil))) `(markdown-header-face-1 ((,class :inherit modus-theme-heading-1))) `(markdown-header-face-2 ((,class :inherit modus-theme-heading-2))) `(markdown-header-face-3 ((,class :inherit modus-theme-heading-3))) `(markdown-header-face-4 ((,class :inherit modus-theme-heading-4))) `(markdown-header-face-5 ((,class :inherit modus-theme-heading-5))) `(markdown-header-face-6 ((,class :inherit modus-theme-heading-6))) `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm))) `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm))) `(markdown-html-attr-name-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,cyan))) `(markdown-html-attr-value-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,blue))) `(markdown-html-entity-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,cyan))) `(markdown-html-tag-delimiter-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-mild))) `(markdown-html-tag-name-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,magenta-alt))) `(markdown-inline-code-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-alt :foreground ,fg-special-calm))) `(markdown-italic-face ((,class :inherit italic :foreground ,fg-special-cold))) `(markdown-language-info-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-cold))) `(markdown-language-keyword-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-alt :foreground ,fg-alt))) `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan :underline t))) `(markdown-link-face ((,class :inherit button))) `(markdown-link-title-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(markdown-list-face ((,class :foreground ,fg-dim))) `(markdown-markup-face ((,class :inherit shadow))) `(markdown-math-face ((,class :foreground ,magenta-alt-other))) `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other))) `(markdown-metadata-value-face ((,class :foreground ,blue-alt))) `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow))) `(markdown-plain-url-face ((,class :inherit markdown-link-face))) `(markdown-pre-face ((,class :inherit markdown-code-face :foreground ,fg-special-mild))) `(markdown-reference-face ((,class :inherit markdown-markup-face))) `(markdown-strike-through-face ((,class :strike-through t))) `(markdown-table-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-cold))) `(markdown-url-face ((,class :foreground ,blue-alt))) ;;;;; markup-faces (`adoc-mode') `(markup-anchor-face ((,class :foreground ,fg-inactive))) `(markup-attribute-face ((,class :inherit italic :foreground ,fg-inactive))) `(markup-big-face ((,class :height 1.3 :foreground ,blue-nuanced-fg))) `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced-fg))) `(markup-code-face ((,class :inherit fixed-pitch :foreground ,magenta))) `(markup-command-face ((,class :foreground ,fg-inactive))) `(markup-comment-face ((,class :inherit font-lock-comment-face))) `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil :style released-button) :inherit modus-theme-refine-magenta))) `(markup-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold))) `(markup-error-face ((,class :inherit bold :foreground ,red))) `(markup-gen-face ((,class :foreground ,magenta-alt))) `(markup-internal-reference-face ((,class :inherit button :foreground ,fg-alt))) `(markup-italic-face ((,class :inherit italic :foreground ,fg-special-cold))) `(markup-list-face ((,class :inherit modus-theme-special-calm))) `(markup-meta-face ((,class :foreground ,fg-inactive))) `(markup-meta-hide-face ((,class :inherit shadow))) `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan))) `(markup-preprocessor-face ((,class :foreground ,red-alt-other))) `(markup-replacement-face ((,class :foreground ,yellow-alt-other))) `(markup-secondary-text-face ((,class :height 0.8 :foreground ,magenta-nuanced-fg))) `(markup-small-face ((,class :height 0.8 :foreground ,fg-main))) `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced-fg))) `(markup-subscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) `(markup-superscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) `(markup-table-cell-face ((,class :inherit modus-theme-special-cold))) `(markup-table-face ((,class :inherit modus-theme-subtle-cyan))) `(markup-table-row-face ((,class :inherit modus-theme-subtle-cyan))) `(markup-title-0-face ((,class :height 3.0 :foreground ,blue-nuanced-fg))) `(markup-title-1-face ((,class :height 2.4 :foreground ,blue-nuanced-fg))) `(markup-title-2-face ((,class :height 1.8 :foreground ,blue-nuanced-fg))) `(markup-title-3-face ((,class :height 1.4 :foreground ,blue-nuanced-fg))) `(markup-title-4-face ((,class :height 1.2 :foreground ,blue-nuanced-fg))) `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced-fg :underline t))) `(markup-value-face ((,class :foreground ,fg-inactive))) `(markup-verbatim-face ((,class :inherit modus-theme-special-mild))) ;;;;; mentor `(mentor-download-message ((,class :foreground ,fg-special-warm))) `(mentor-download-name ((,class :foreground ,fg-special-cold))) `(mentor-download-progress ((,class :foreground ,blue-alt-other))) `(mentor-download-size ((,class :foreground ,magenta-alt-other))) `(mentor-download-speed-down ((,class :foreground ,cyan-alt))) `(mentor-download-speed-up ((,class :foreground ,red-alt))) `(mentor-download-state ((,class :foreground ,yellow-alt))) `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue))) `(mentor-tracker-name ((,class :foreground ,magenta-alt))) ;;;;; messages `(message-cited-text-1 ((,class :foreground ,blue-faint))) `(message-cited-text-2 ((,class :foreground ,green-alt-other))) `(message-cited-text-3 ((,class :foreground ,red-alt-other))) `(message-cited-text-4 ((,class :foreground ,cyan))) `(message-header-cc ((,class :foreground ,blue-alt-other))) `(message-header-name ((,class :inherit bold :foreground ,cyan))) `(message-header-newsgroups ((,class :inherit message-header-other))) `(message-header-other ((,class :foreground ,fg-special-calm))) `(message-header-subject ((,class :inherit bold :foreground ,magenta-alt))) `(message-header-to ((,class :inherit bold :foreground ,magenta-alt-other))) `(message-header-xheader ((,class :foreground ,blue-alt))) `(message-mml ((,class :foreground ,yellow))) `(message-separator ((,class :inherit modus-theme-intense-neutral))) ;;;;; minibuffer-line `(minibuffer-line ((,class :foreground ,fg-main))) ;;;;; minimap `(minimap-active-region-background ((,class :background ,bg-active))) `(minimap-current-line-face ((,class :background ,cyan-intense-bg :foreground ,fg-main))) ;;;;; mmm-mode `(mmm-cleanup-submode-face ((,class :background ,yellow-nuanced-bg))) `(mmm-code-submode-face ((,class :background ,bg-alt))) `(mmm-comment-submode-face ((,class :background ,blue-nuanced-bg))) `(mmm-declaration-submode-face ((,class :background ,cyan-nuanced-bg))) `(mmm-default-submode-face ((,class :background ,bg-dim))) `(mmm-init-submode-face ((,class :background ,magenta-nuanced-bg))) `(mmm-output-submode-face ((,class :background ,red-nuanced-bg))) `(mmm-special-submode-face ((,class :background ,green-nuanced-bg))) ;;;;; modeline `(mode-line ((,class ,@(modus-themes--variable-pitch-ui) ,@(modus-themes--mode-line-attrs fg-active bg-active fg-dim bg-active fg-alt bg-active 'alt-style nil bg-main)))) `(mode-line-buffer-id ((,class :inherit bold))) `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active))) `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button)))) `(mode-line-inactive ((,class ,@(modus-themes--variable-pitch-ui) ,@(modus-themes--mode-line-attrs fg-inactive bg-inactive fg-alt bg-dim bg-region bg-active)))) ;;;;; mood-line `(mood-line-modified ((,class :foreground ,magenta-active))) `(mood-line-status-error ((,class :inherit bold :foreground ,red-active))) `(mood-line-status-info ((,class :foreground ,cyan-active))) `(mood-line-status-neutral ((,class :foreground ,blue-active))) `(mood-line-status-success ((,class :foreground ,green-active))) `(mood-line-status-warning ((,class :inherit bold :foreground ,yellow-active))) `(mood-line-unimportant ((,class :foreground ,fg-inactive))) ;;;;; mpdel `(mpdel-browser-directory-face ((,class :foreground ,blue))) `(mpdel-playlist-current-song-face ((,class :inherit bold :foreground ,blue-alt-other))) ;;;;; mu4e `(mu4e-attach-number-face ((,class :inherit bold :foreground ,fg-dim))) `(mu4e-cited-1-face ((,class :foreground ,blue-faint))) `(mu4e-cited-2-face ((,class :foreground ,green-alt-other))) `(mu4e-cited-3-face ((,class :foreground ,red-alt-other))) `(mu4e-cited-4-face ((,class :foreground ,cyan))) `(mu4e-cited-5-face ((,class :foreground ,yellow-alt))) `(mu4e-cited-6-face ((,class :foreground ,magenta))) `(mu4e-cited-7-face ((,class :foreground ,green-alt))) `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face))) `(mu4e-compose-separator-face ((,class :inherit modus-theme-intense-neutral))) `(mu4e-contact-face ((,class :inherit message-header-to))) `(mu4e-context-face ((,class :foreground ,blue-active))) `(mu4e-draft-face ((,class :foreground ,magenta-alt))) `(mu4e-flagged-face ((,class :foreground ,red-alt))) `(mu4e-footer-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other))) `(mu4e-header-face ((,class :inherit shadow))) `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line))) `(mu4e-header-key-face ((,class :inherit message-header-name))) `(mu4e-header-marks-face ((,class :inherit mu4e-special-header-value-face))) `(mu4e-header-title-face ((,class :foreground ,fg-special-mild))) `(mu4e-header-value-face ((,class :inherit message-header-other))) `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other))) `(mu4e-link-face ((,class :inherit button))) `(mu4e-modeline-face ((,class :foreground ,magenta-active))) `(mu4e-moved-face ((,class :inherit modus-theme-slant :foreground ,yellow))) `(mu4e-ok-face ((,class :inherit bold :foreground ,green))) `(mu4e-region-code ((,class :inherit modus-theme-special-calm))) `(mu4e-replied-face ((,class :foreground ,blue))) `(mu4e-special-header-value-face ((,class :inherit message-header-subject))) `(mu4e-system-face ((,class :inherit modus-theme-slant :foreground ,fg-mark-del))) `(mu4e-title-face ((,class :foreground ,fg-main))) `(mu4e-trashed-face ((,class :foreground ,red))) `(mu4e-unread-face ((,class :inherit bold))) `(mu4e-url-number-face ((,class :foreground ,fg-alt))) `(mu4e-view-body-face ((,class :foreground ,fg-main))) `(mu4e-warning-face ((,class :inherit warning))) ;;;;; mu4e-conversation `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold))) `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm))) `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold))) `(mu4e-conversation-sender-3 ((,class :foreground ,fg-special-mild))) `(mu4e-conversation-sender-4 ((,class :inherit shadow))) `(mu4e-conversation-sender-5 ((,class :foreground ,yellow-refine-fg))) `(mu4e-conversation-sender-6 ((,class :foreground ,cyan-refine-fg))) `(mu4e-conversation-sender-7 ((,class :foreground ,green-refine-fg))) `(mu4e-conversation-sender-8 ((,class :foreground ,blue-refine-fg))) `(mu4e-conversation-sender-me ((,class :foreground ,fg-main))) `(mu4e-conversation-unread ((,class :inherit bold))) ;;;;; multiple-cursors `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main))) `(mc/cursor-face ((,class :inverse-video t))) `(mc/region-face ((,class :inherit region))) ;;;;; neotree `(neo-banner-face ((,class :foreground ,magenta))) `(neo-button-face ((,class :inherit button))) `(neo-dir-link-face ((,class :inherit bold :foreground ,blue))) `(neo-expand-btn-face ((,class :foreground ,cyan))) `(neo-file-link-face ((,class :foreground ,fg-main))) `(neo-header-face ((,class :inherit bold :foreground ,fg-main))) `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt))) `(neo-vc-added-face ((,class :foreground ,green))) `(neo-vc-conflict-face ((,class :inherit bold :foreground ,red))) `(neo-vc-default-face ((,class :foreground ,fg-main))) `(neo-vc-edited-face ((,class :foreground ,yellow))) `(neo-vc-ignored-face ((,class :foreground ,fg-inactive))) `(neo-vc-missing-face ((,class :foreground ,red-alt))) `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt))) `(neo-vc-needs-update-face ((,class :underline t))) `(neo-vc-removed-face ((,class :strike-through t))) `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue))) `(neo-vc-up-to-date-face ((,class :inherit shadow))) `(neo-vc-user-face ((,class :foreground ,magenta))) ;;;;; no-emoji `(no-emoji ((,class :foreground ,cyan))) ;;;;; notmuch `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta))) `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other))) `(notmuch-crypto-signature-bad ((,class :inherit modus-theme-intense-red))) `(notmuch-crypto-signature-good ((,class :inherit modus-theme-refine-green))) `(notmuch-crypto-signature-good-key ((,class :inherit modus-theme-refine-yellow))) `(notmuch-crypto-signature-unknown ((,class :inherit modus-theme-refine-red))) `(notmuch-hello-logo-background ((,class :background "gray50"))) `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan))) `(notmuch-search-count ((,class :inherit shadow))) `(notmuch-search-date ((,class :foreground ,cyan))) `(notmuch-search-flagged-face ((,class :foreground ,red-alt))) `(notmuch-search-matching-authors ((,class :foreground ,fg-main))) `(notmuch-search-non-matching-authors ((,class :inherit shadow))) `(notmuch-search-subject ((,class :foreground ,fg-dim))) `(notmuch-search-unread-face ((,class :inherit bold))) `(notmuch-tag-added ((,(append '((supports :underline (:style wave))) class) :underline (:color ,green :style wave)) (,class :foreground ,green :underline t))) `(notmuch-tag-deleted ((,(append '((supports :underline (:style wave))) class) :underline (:color ,red :style wave)) (,class :foreground ,red :underline t))) `(notmuch-tag-face ((,class :inherit bold :foreground ,blue-alt))) `(notmuch-tag-flagged ((,class :foreground ,red-alt))) `(notmuch-tag-unread ((,class :foreground ,magenta-alt))) `(notmuch-tree-match-author-face ((,class :foreground ,fg-special-cold))) `(notmuch-tree-match-date-face ((,class :inherit notmuch-search-date))) `(notmuch-tree-match-face ((,class :foreground ,fg-main))) `(notmuch-tree-match-tag-face ((,class :inherit bold :foreground ,blue-alt))) `(notmuch-tree-no-match-face ((,class :inherit shadow))) `(notmuch-tree-no-match-date-face ((,class :inherit shadow))) `(notmuch-wash-cited-text ((,class :foreground ,cyan))) `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground ,fg-alt))) ;;;;; num3-mode `(num3-face-even ((,class :inherit bold :background ,bg-alt))) ;;;;; nxml-mode `(nxml-attribute-colon ((,class :foreground ,fg-main))) `(nxml-attribute-local-name ((,class :inherit font-lock-variable-name-face))) `(nxml-attribute-prefix ((,class :inherit font-lock-type-face))) `(nxml-attribute-value ((,class :inherit font-lock-constant-face))) `(nxml-cdata-section-CDATA ((,class :inherit error))) `(nxml-cdata-section-delimiter ((,class :inherit error))) `(nxml-char-ref-delimiter ((,class :foreground ,fg-special-mild))) `(nxml-char-ref-number ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) `(nxml-delimited-data ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(nxml-delimiter ((,class :foreground ,fg-dim))) `(nxml-element-colon ((,class :foreground ,fg-main))) `(nxml-element-local-name ((,class :inherit font-lock-function-name-face))) `(nxml-element-prefix ((,class :inherit font-lock-builtin-face))) `(nxml-entity-ref-delimiter ((,class :foreground ,fg-special-mild))) `(nxml-entity-ref-name ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) `(nxml-glyph ((,class :inherit modus-theme-intense-neutral))) `(nxml-hash ((,class :inherit (bold font-lock-string-face)))) `(nxml-heading ((,class :inherit bold))) `(nxml-name ((,class :inherit font-lock-builtin-face))) `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main))) `(nxml-namespace-attribute-prefix ((,class :inherit font-lock-variable-name-face))) `(nxml-processing-instruction-target ((,class :inherit font-lock-keyword-face))) `(nxml-prolog-keyword ((,class :inherit font-lock-keyword-face))) `(nxml-ref ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) `(rng-error ((,class :inherit error))) ;;;;; objed `(objed-hl ((,class :background ,(if modus-themes-intense-hl-line bg-hl-alt-intense bg-hl-alt)))) `(objed-mark ((,class :background ,bg-active))) `(objed-mode-line ((,class :foreground ,cyan-active))) ;;;;; orderless `(orderless-match-face-0 ((,class :inherit bold ,@(modus-themes--standard-completions blue-alt-other blue-nuanced-bg blue-refine-bg blue-refine-fg)))) `(orderless-match-face-1 ((,class :inherit bold ,@(modus-themes--standard-completions magenta-alt magenta-nuanced-bg magenta-refine-bg magenta-refine-fg)))) `(orderless-match-face-2 ((,class :inherit bold ,@(modus-themes--standard-completions green green-nuanced-bg green-refine-bg green-refine-fg)))) `(orderless-match-face-3 ((,class :inherit bold ,@(modus-themes--standard-completions yellow yellow-nuanced-bg yellow-refine-bg yellow-refine-fg)))) ;;;;; org `(org-agenda-calendar-event ((,class :foreground ,fg-main))) `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt))) `(org-agenda-clocking ((,class :inherit modus-theme-special-cold :extend t))) `(org-agenda-column-dateline ((,class :background ,bg-alt))) `(org-agenda-current-time ((,class :inherit bold :foreground ,blue-alt-other))) `(org-agenda-date ((,class :foreground ,cyan))) `(org-agenda-date-today ((,class :inherit bold :foreground ,fg-main :underline t))) `(org-agenda-date-weekend ((,class :foreground ,cyan-alt-other))) `(org-agenda-diary ((,class :foreground ,fg-main))) `(org-agenda-dimmed-todo-face ((,class :inherit bold :foreground ,fg-alt))) `(org-agenda-done ((,class :foreground ,green-alt))) `(org-agenda-filter-category ((,class :inherit bold :foreground ,magenta-active))) `(org-agenda-filter-effort ((,class :inherit bold :foreground ,magenta-active))) `(org-agenda-filter-regexp ((,class :inherit bold :foreground ,magenta-active))) `(org-agenda-filter-tags ((,class :inherit bold :foreground ,magenta-active))) `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground ,fg-dim))) `(org-agenda-structure ((,class ,@(modus-themes--scale modus-themes-scale-5) :foreground ,blue-alt))) `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt))) `(org-block ((,class ,@(modus-themes--mixed-fonts) ,@(modus-themes--org-block bg-dim) :foreground ,fg-main))) `(org-block-begin-line ((,class ,@(modus-themes--mixed-fonts) ,@(modus-themes--org-block-delim bg-dim fg-special-cold bg-alt fg-special-mild)))) `(org-block-end-line ((,class :inherit org-block-begin-line))) `(org-checkbox ((,class :box (:line-width 1 :color ,bg-active) :background ,bg-inactive :foreground ,fg-active))) `(org-checkbox-statistics-done ((,class :inherit org-done))) `(org-checkbox-statistics-todo ((,class :inherit org-todo))) `(org-clock-overlay ((,class :inherit modus-theme-special-cold))) `(org-code ((,class ,@(modus-themes--mixed-fonts) :foreground ,magenta))) `(org-column ((,class :background ,bg-alt))) `(org-column-title ((,class :inherit bold :underline t :background ,bg-alt))) `(org-date ((,class :inherit ,(if modus-themes-no-mixed-fonts 'button '(button fixed-pitch)) ,@(modus-themes--link-color cyan cyan-faint)))) `(org-date-selected ((,class :inherit bold :foreground ,blue-alt :inverse-video t))) `(org-dispatcher-highlight ((,class :inherit (bold modus-theme-mark-alt)))) `(org-document-info ((,class :foreground ,fg-special-cold))) `(org-document-info-keyword ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) `(org-document-title ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,fg-special-cold ,@(modus-themes--scale modus-themes-scale-5)))) `(org-done ((,class :foreground ,green))) `(org-drawer ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) `(org-ellipsis ((,class))) ; inherits from the heading's color `(org-footnote ((,class :inherit button ,@(modus-themes--link-color blue-alt blue-alt-faint)))) `(org-formula ((,class ,@(modus-themes--mixed-fonts) :foreground ,red-alt))) `(org-habit-alert-face ((,class ,@(modus-themes--org-habit yellow-graph-0-bg yellow-graph-0-bg yellow-graph-1-bg)))) `(org-habit-alert-future-face ((,class ,@(modus-themes--org-habit yellow-graph-1-bg yellow-graph-0-bg yellow-graph-1-bg)))) `(org-habit-clear-face ((,class ,@(modus-themes--org-habit blue-graph-0-bg green-graph-1-bg blue-graph-1-bg)))) `(org-habit-clear-future-face ((,class ,@(modus-themes--org-habit blue-graph-1-bg green-graph-1-bg blue-graph-1-bg)))) `(org-habit-overdue-face ((,class ,@(modus-themes--org-habit red-graph-0-bg red-graph-0-bg red-graph-1-bg)))) `(org-habit-overdue-future-face ((,class ,@(modus-themes--org-habit red-graph-1-bg red-graph-0-bg red-graph-1-bg)))) `(org-habit-ready-face ((,class ,@(modus-themes--org-habit green-graph-0-bg green-graph-0-bg green-graph-1-bg)))) `(org-habit-ready-future-face ((,class ,@(modus-themes--org-habit green-graph-1-bg green-graph-0-bg green-graph-1-bg)))) `(org-headline-done ((,class :inherit modus-theme-variable-pitch :foreground ,green-nuanced-fg))) `(org-headline-todo ((,class :inherit modus-theme-variable-pitch :foreground ,red-nuanced-fg))) `(org-hide ((,class :foreground ,bg-main))) `(org-indent ((,class :inherit (fixed-pitch org-hide)))) `(org-latex-and-related ((,class :foreground ,magenta-refine-fg))) `(org-level-1 ((,class :inherit modus-theme-heading-1))) `(org-level-2 ((,class :inherit modus-theme-heading-2))) `(org-level-3 ((,class :inherit modus-theme-heading-3))) `(org-level-4 ((,class :inherit modus-theme-heading-4))) `(org-level-5 ((,class :inherit modus-theme-heading-5))) `(org-level-6 ((,class :inherit modus-theme-heading-6))) `(org-level-7 ((,class :inherit modus-theme-heading-7))) `(org-level-8 ((,class :inherit modus-theme-heading-8))) `(org-link ((,class :inherit button))) `(org-list-dt ((,class :inherit bold))) `(org-macro ((,class :background ,blue-nuanced-bg :foreground ,magenta-alt-other))) `(org-meta-line ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) `(org-mode-line-clock ((,class :foreground ,fg-main))) `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red))) `(org-priority ((,class :foreground ,magenta))) `(org-property-value ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-cold))) `(org-quote ((,class :inherit modus-theme-slant ,@(modus-themes--org-block bg-dim) :foreground ,fg-special-cold))) `(org-scheduled ((,class :foreground ,magenta-alt))) `(org-scheduled-previously ((,class :foreground ,yellow-alt-other))) `(org-scheduled-today ((,class :foreground ,magenta-alt-other))) `(org-sexp-date ((,class :inherit org-date))) `(org-special-keyword ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) `(org-table ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-cold))) `(org-table-header ((,class :inherit (fixed-pitch modus-theme-intense-neutral)))) `(org-tag ((,class :foreground ,magenta-nuanced-fg))) `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced-fg))) `(org-target ((,class :underline t))) `(org-time-grid ((,class :foreground ,fg-unfocused))) `(org-todo ((,class :foreground ,red))) `(org-upcoming-deadline ((,class :foreground ,red-alt-other))) `(org-upcoming-distant-deadline ((,class :foreground ,red-nuanced-fg))) `(org-verbatim ((,class ,@(modus-themes--mixed-fonts) :background ,bg-alt :foreground ,fg-special-calm))) `(org-verse ((,class :inherit org-quote))) `(org-warning ((,class :inherit bold :foreground ,red-alt-other))) ;;;;; org-journal `(org-journal-calendar-entry-face ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other))) `(org-journal-calendar-scheduled-face ((,class :inherit modus-theme-slant :foreground ,red-alt-other))) `(org-journal-highlight ((,class :foreground ,magenta-alt))) ;;;;; org-noter `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active))) `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active))) ;;;;; org-pomodoro `(org-pomodoro-mode-line ((,class :foreground ,red-active))) `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active))) `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground ,red-active))) ;;;;; org-recur `(org-recur ((,class :foreground ,magenta-active))) ;;;;; org-roam `(org-roam-link ((,class :inherit button ,@(modus-themes--link-color green green-faint)))) `(org-roam-link-current ((,class :inherit button ,@(modus-themes--link-color green-alt green-alt-faint)))) `(org-roam-link-invalid ((,class :inherit button ,@(modus-themes--link-color red red-faint)))) `(org-roam-link-shielded ((,class :inherit button ,@(modus-themes--link-color yellow yellow-faint)))) `(org-roam-tag ((,class :inherit italic :foreground ,fg-alt))) ;;;;; org-superstar `(org-superstar-item ((,class :foreground ,fg-main))) `(org-superstar-leading ((,class :foreground ,fg-whitespace))) ;;;;; org-table-sticky-header `(org-table-sticky-header-face ((,class :inherit modus-theme-intense-neutral))) ;;;;; org-tree-slide `(org-tree-slide-header-overlay-face ((,class :inherit (bold modus-theme-variable-pitch) :background ,bg-main :foreground ,fg-special-cold :overline nil ,@(modus-themes--scale modus-themes-scale-5)))) ;;;;; org-treescope `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-theme-intense-blue))) `(org-treescope-faces--markerinternal-range ((,class :inherit modus-theme-special-mild))) ;;;;; origami `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t))) `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt))) ;;;;; outline-mode `(outline-1 ((,class :inherit modus-theme-heading-1))) `(outline-2 ((,class :inherit modus-theme-heading-2))) `(outline-3 ((,class :inherit modus-theme-heading-3))) `(outline-4 ((,class :inherit modus-theme-heading-4))) `(outline-5 ((,class :inherit modus-theme-heading-5))) `(outline-6 ((,class :inherit modus-theme-heading-6))) `(outline-7 ((,class :inherit modus-theme-heading-7))) `(outline-8 ((,class :inherit modus-theme-heading-8))) ;;;;; outline-minor-faces `(outline-minor-0 ((,class :background ,bg-alt))) ;;;;; package (M-x list-packages) `(package-description ((,class :foreground ,fg-special-cold))) `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other))) `(package-name ((,class :inherit button))) `(package-status-avail-obso ((,class :inherit bold :foreground ,red))) `(package-status-available ((,class :foreground ,fg-special-mild))) `(package-status-built-in ((,class :foreground ,magenta))) `(package-status-dependency ((,class :foreground ,magenta-alt-other))) `(package-status-disabled ((,class :inherit modus-theme-subtle-red))) `(package-status-external ((,class :foreground ,cyan-alt-other))) `(package-status-held ((,class :foreground ,yellow-alt))) `(package-status-incompat ((,class :inherit bold :foreground ,yellow))) `(package-status-installed ((,class :foreground ,fg-special-warm))) `(package-status-new ((,class :inherit bold :foreground ,green))) `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt))) ;;;;; page-break-lines `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer))) ;;;;; paradox `(paradox-archive-face ((,class :foreground ,fg-special-mild))) `(paradox-comment-face ((,class :inherit font-lock-comment-face))) `(paradox-commit-tag-face ((,class :inherit modus-theme-refine-magenta :box t))) `(paradox-description-face ((,class :foreground ,fg-special-cold))) `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold))) `(paradox-download-face ((,class :inherit modus-theme-bold :foreground ,blue-alt-other))) `(paradox-highlight-face ((,class :inherit modus-theme-bold :foreground ,cyan-alt-other))) `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t))) `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active))) `(paradox-name-face ((,class :foreground ,blue :underline t))) `(paradox-star-face ((,class :foreground ,magenta))) `(paradox-starred-face ((,class :foreground ,magenta-alt))) ;;;;; paren-face `(parenthesis ((,class :foreground ,fg-unfocused))) ;;;;; parrot `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-theme-refine-magenta))) ;;;;; pass `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold))) `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main))) `(pass-mode-header-face ((,class :foreground ,fg-special-warm))) ;;;;; pdf-tools `(pdf-links-read-link ((,class :background ,fg-main :foreground ,magenta-intense-bg :inherit bold))) ; Foreground is background and vice versa `(pdf-occur-document-face ((,class :inherit shadow))) `(pdf-occur-page-face ((,class :inherit shadow))) ;;;;; persp-mode `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-theme-intense-red))) `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active))) `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active))) ;;;;; perspective `(persp-selected-face ((,class :inherit bold :foreground ,blue-active))) ;;;;; phi-grep `(phi-grep-heading-face ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-4)))) `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm))) `(phi-grep-match-face ((,class :inherit modus-theme-special-calm))) `(phi-grep-modified-face ((,class :inherit modus-theme-refine-yellow))) `(phi-grep-overlay-face ((,class :inherit modus-theme-refine-blue))) ;;;;; phi-search `(phi-replace-preview-face ((,class :inherit modus-theme-intense-magenta))) `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red))) `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan))) `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green bold)))) ;;;;; pkgbuild-mode `(pkgbuild-error-face ((,class :inherit modus-theme-lang-error))) ;;;;; pomidor `(pomidor-break-face ((,class :foreground ,blue-alt-other))) `(pomidor-overwork-face ((,class :foreground ,red-alt-other))) `(pomidor-skip-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(pomidor-work-face ((,class :foreground ,green-alt-other))) ;;;;; popup `(popup-face ((,class :background ,bg-alt :foreground ,fg-main))) `(popup-isearch-match ((,class :inherit (modus-theme-refine-cyan bold)))) `(popup-menu-mouse-face ((,class :inherit modus-theme-intense-blue))) `(popup-menu-selection-face ((,class :inherit (modus-theme-subtle-cyan bold)))) `(popup-scroll-bar-background-face ((,class :background ,bg-active))) `(popup-scroll-bar-foreground-face ((,class :foreground ,fg-active))) `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive))) `(popup-tip-face ((,class :inherit modus-theme-refine-yellow))) ;;;;; powerline `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t))) `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg))) `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active))) `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive))) `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive))) ;;;;; powerline-evil `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main))) `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta))) `(powerline-evil-insert-face ((,class :inherit modus-theme-active-green))) `(powerline-evil-motion-face ((,class :inherit modus-theme-active-blue))) `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main))) `(powerline-evil-operator-face ((,class :inherit modus-theme-active-yellow))) `(powerline-evil-replace-face ((,class :inherit modus-theme-active-red))) `(powerline-evil-visual-face ((,class :inherit modus-theme-active-cyan))) ;;;;; proced `(proced-mark ((,class :inherit modus-theme-mark-symbol))) `(proced-marked ((,class :inherit modus-theme-mark-alt))) `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t))) ;;;;; prodigy `(prodigy-green-face ((,class :foreground ,green))) `(prodigy-red-face ((,class :foreground ,red))) `(prodigy-yellow-face ((,class :foreground ,yellow))) ;;;;; quick-peek `(quick-peek-background-face ((,class :background ,bg-alt))) `(quick-peek-border-face ((,class :background ,fg-window-divider-inner :height 1))) `(quick-peek-padding-face ((,class :background ,bg-alt :height 0.15))) ;;;;; racket-mode `(racket-debug-break-face ((,class :inherit modus-theme-intense-red))) `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil) :foreground ,green-alt-other))) `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil) :foreground ,green))) `(racket-here-string-face ((,class :foreground ,blue-alt))) `(racket-keyword-argument-face ((,class :foreground ,red-alt))) `(racket-logger-config-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(racket-logger-debug-face ((,class :foreground ,blue-alt-other))) `(racket-logger-info-face ((,class :foreground ,fg-lang-note))) `(racket-logger-topic-face ((,class :inherit modus-theme-slant :foreground ,magenta))) `(racket-selfeval-face ((,class :foreground ,green-alt))) `(racket-xp-error-face ((,class :inherit modus-theme-lang-error))) ;;;;; rainbow-blocks `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other))) `(rainbow-blocks-depth-2-face ((,class :foreground ,blue))) `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt))) `(rainbow-blocks-depth-4-face ((,class :foreground ,green))) `(rainbow-blocks-depth-5-face ((,class :foreground ,magenta))) `(rainbow-blocks-depth-6-face ((,class :foreground ,cyan))) `(rainbow-blocks-depth-7-face ((,class :foreground ,yellow))) `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt))) `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt))) `(rainbow-blocks-unmatched-face ((,class :foreground ,red))) ;;;;; rainbow-identifiers `(rainbow-identifiers-identifier-1 ((,class :foreground ,green-alt-other))) `(rainbow-identifiers-identifier-2 ((,class :foreground ,magenta-alt-other))) `(rainbow-identifiers-identifier-3 ((,class :foreground ,cyan-alt-other))) `(rainbow-identifiers-identifier-4 ((,class :foreground ,yellow-alt-other))) `(rainbow-identifiers-identifier-5 ((,class :foreground ,blue-alt-other))) `(rainbow-identifiers-identifier-6 ((,class :foreground ,green-alt))) `(rainbow-identifiers-identifier-7 ((,class :foreground ,magenta-alt))) `(rainbow-identifiers-identifier-8 ((,class :foreground ,cyan-alt))) `(rainbow-identifiers-identifier-9 ((,class :foreground ,yellow-alt))) `(rainbow-identifiers-identifier-10 ((,class :foreground ,green))) `(rainbow-identifiers-identifier-11 ((,class :foreground ,magenta))) `(rainbow-identifiers-identifier-12 ((,class :foreground ,cyan))) `(rainbow-identifiers-identifier-13 ((,class :foreground ,yellow))) `(rainbow-identifiers-identifier-14 ((,class :foreground ,blue-alt))) `(rainbow-identifiers-identifier-15 ((,class :foreground ,red-alt))) ;;;;; rainbow-delimiters `(rainbow-delimiters-base-error-face ((,class :background ,red-subtle-bg :foreground ,fg-main))) `(rainbow-delimiters-base-face ((,class :foreground ,fg-main))) `(rainbow-delimiters-depth-1-face ((,class :foreground ,fg-main))) `(rainbow-delimiters-depth-2-face ((,class :foreground ,magenta-intense))) `(rainbow-delimiters-depth-3-face ((,class :foreground ,cyan-intense))) `(rainbow-delimiters-depth-4-face ((,class :foreground ,orange-intense))) `(rainbow-delimiters-depth-5-face ((,class :foreground ,purple-intense))) `(rainbow-delimiters-depth-6-face ((,class :foreground ,green-intense))) `(rainbow-delimiters-depth-7-face ((,class :foreground ,red-intense))) `(rainbow-delimiters-depth-8-face ((,class :foreground ,blue-intense))) `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-intense))) `(rainbow-delimiters-mismatched-face ((,class :inherit (bold modus-theme-refine-yellow)))) `(rainbow-delimiters-unmatched-face ((,class :inherit (bold modus-theme-refine-red)))) ;;;;; rcirc `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt))) `(rcirc-dim-nick ((,class :inherit shadow))) `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta))) `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other))) `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,fg-special-mild))) `(rcirc-other-nick ((,class :inherit bold :foreground ,fg-special-cold))) `(rcirc-prompt ((,class :inherit bold :foreground ,cyan-alt-other))) `(rcirc-server ((,class :foreground ,fg-unfocused))) `(rcirc-timestamp ((,class :foreground ,blue-nuanced-fg))) `(rcirc-url ((,class :foreground ,blue :underline t))) ;;;;; recursion-indicator `(recursion-indicator-general ((,class :foreground ,blue-active))) `(recursion-indicator-minibuffer ((,class :foreground ,red-active))) ;;;;; regexp-builder (re-builder) `(reb-match-0 ((,class :inherit modus-theme-refine-cyan))) `(reb-match-1 ((,class :inherit modus-theme-subtle-magenta))) `(reb-match-2 ((,class :inherit modus-theme-subtle-green))) `(reb-match-3 ((,class :inherit modus-theme-refine-yellow))) `(reb-regexp-grouping-backslash ((,class :inherit font-lock-regexp-grouping-backslash))) `(reb-regexp-grouping-construct ((,class :inherit font-lock-regexp-grouping-construct))) ;;;;; rg (rg.el) `(rg-column-number-face ((,class :foreground ,magenta-alt-other))) `(rg-context-face ((,class :foreground ,fg-unfocused))) `(rg-error-face ((,class :inherit bold :foreground ,red))) `(rg-file-tag-face ((,class :foreground ,fg-special-cold))) `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) `(rg-line-number-face ((,class :foreground ,fg-special-warm))) `(rg-literal-face ((,class :foreground ,blue-alt))) `(rg-match-face ((,class :inherit modus-theme-special-calm))) `(rg-regexp-face ((,class :foreground ,magenta-active))) `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive))) `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active))) `(rg-warning-face ((,class :inherit bold :foreground ,yellow))) ;;;;; ripgrep `(ripgrep-context-face ((,class :foreground ,fg-unfocused))) `(ripgrep-error-face ((,class :inherit bold :foreground ,red))) `(ripgrep-hit-face ((,class :foreground ,cyan))) `(ripgrep-match-face ((,class :inherit modus-theme-special-calm))) ;;;;; rmail `(rmail-header-name ((,class :foreground ,cyan-alt-other))) `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt))) ;;;;; ruler-mode `(ruler-mode-column-number ((,class :inherit ruler-mode-default :foreground ,fg-main))) `(ruler-mode-comment-column ((,class :inherit ruler-mode-default :foreground ,red))) `(ruler-mode-current-column ((,class :inherit ruler-mode-default :background ,blue-subtle-bg :foreground ,fg-main))) `(ruler-mode-default ((,class :inherit default :background ,bg-alt :foreground ,fg-unfocused))) `(ruler-mode-fill-column ((,class :inherit ruler-mode-default :foreground ,green))) `(ruler-mode-fringes ((,class :inherit ruler-mode-default :foreground ,cyan))) `(ruler-mode-goal-column ((,class :inherit ruler-mode-default :foreground ,blue))) `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground ,bg-main))) `(ruler-mode-pad ((,class :inherit ruler-mode-default :background ,bg-active :foreground ,fg-inactive))) `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground ,fg-special-warm))) ;;;;; sallet `(sallet-buffer-compressed ((,class :inherit italic :foreground ,yellow-nuanced-fg))) `(sallet-buffer-default-directory ((,class :foreground ,cyan-nuanced-fg))) `(sallet-buffer-directory ((,class :foreground ,blue-nuanced-fg))) `(sallet-buffer-help ((,class :foreground ,fg-special-cold))) `(sallet-buffer-modified ((,class :inherit italic :foreground ,yellow-alt-other))) `(sallet-buffer-ordinary ((,class :foreground ,fg-main))) `(sallet-buffer-read-only ((,class :foreground ,yellow-alt))) `(sallet-buffer-size ((,class :foreground ,fg-special-calm))) `(sallet-buffer-special ((,class :foreground ,magenta-alt-other))) `(sallet-flx-match ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-cyan 'modus-theme-refine-cyan 'modus-theme-nuanced-cyan cyan-alt-other)))) `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced-fg))) `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild))) `(sallet-regexp-match ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-refine-magenta 'modus-theme-nuanced-magenta magenta-alt-other)))) `(sallet-source-header ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-4)))) `(sallet-substring-match ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-blue 'modus-theme-refine-blue 'modus-theme-nuanced-blue blue-alt-other)))) ;;;;; selectrum ;; NOTE 2021-02-22: The `selectrum-primary-highlight' and ;; `selectrum-secondary-highlight' are deprecated upstream in favour of ;; their selectrum-prescient counterparts. We shall remove those faces ;; from the themes once we are certain that they are no longer relevant. `(selectrum-current-candidate ((,class :inherit bold :foreground ,fg-main :background ,@(pcase modus-themes-completions ('opinionated (list bg-active)) (_ (list bg-inactive)))))) `(selectrum-primary-highlight ((,class :inherit bold ,@(modus-themes--standard-completions magenta-alt magenta-nuanced-bg magenta-refine-bg magenta-refine-fg)))) `(selectrum-secondary-highlight ((,class :inherit bold ,@(modus-themes--standard-completions cyan-alt-other cyan-nuanced-bg cyan-refine-bg cyan-refine-fg)))) ;;;;; selectrum-prescient `(selectrum-prescient-primary-highlight ((,class :inherit bold ,@(modus-themes--standard-completions magenta-alt magenta-nuanced-bg magenta-refine-bg magenta-refine-fg)))) `(selectrum-prescient-secondary-highlight ((,class :inherit bold ,@(modus-themes--standard-completions cyan-alt-other cyan-nuanced-bg cyan-refine-bg cyan-refine-fg)))) ;;;;; semantic `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t))) `(semantic-decoration-on-fileless-includes ((,class :inherit modus-theme-refine-green))) `(semantic-decoration-on-private-members-face ((,class :inherit modus-theme-refine-cyan))) `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim))) `(semantic-decoration-on-unknown-includes ((,class :inherit modus-theme-refine-red))) `(semantic-decoration-on-unparsed-includes ((,class :inherit modus-theme-refine-yellow))) `(semantic-highlight-edits-face ((,class :background ,bg-alt))) `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt))) `(semantic-idle-symbol-highlight ((,class :inherit modus-theme-special-mild))) `(semantic-tag-boundary-face ((,class :overline ,blue-intense))) `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error))) ;;;;; sesman `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t))) `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue))) `(sesman-buffer-face ((,class :foreground ,magenta))) `(sesman-directory-face ((,class :inherit bold :foreground ,blue))) `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; shell-script-mode `(sh-heredoc ((,class :foreground ,blue-alt))) `(sh-quoted-exec ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) ;;;;; shortdoc `(shortdoc-heading ((,class :inherit modus-theme-pseudo-header))) `(shortdoc-section ((,class))) ; remove the default's variable-pitch style ;;;;; show-paren-mode `(show-paren-match ((,class ,@(modus-themes--paren bg-paren-match bg-paren-match-intense) :foreground ,fg-main))) `(show-paren-match-expression ((,class :inherit modus-theme-special-calm))) `(show-paren-mismatch ((,class :inherit modus-theme-intense-red))) ;;;;; shr `(shr-abbreviation ((,(append '((supports :underline (:style wave))) class) :foreground ,fg-docstring :underline (:color ,fg-alt :style wave)) (,class :foreground ,fg-docstring :underline t))) `(shr-selected-link ((,class :inherit modus-theme-subtle-cyan))) ;;;;; side-notes `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim))) ;;;;; sieve-mode `(sieve-action-commands ((,class :inherit font-lock-builtin-face))) `(sieve-control-commands ((,class :inherit font-lock-keyword-face))) `(sieve-tagged-arguments ((,class :inherit font-lock-type-face))) `(sieve-test-commands ((,class :inherit font-lock-function-name-face))) ;;;;; skewer-mode `(skewer-error-face ((,class :foreground ,red :underline t))) ;;;;; smart-mode-line `(sml/charging ((,class :foreground ,green-active))) `(sml/discharging ((,class :foreground ,red-active))) `(sml/filename ((,class :inherit bold :foreground ,blue-active))) `(sml/folder ((,class :foreground ,fg-active))) `(sml/git ((,class :inherit bold :foreground ,green-active))) `(sml/global ((,class :foreground ,fg-active))) `(sml/line-number ((,class :inherit sml/global))) `(sml/minor-modes ((,class :inherit sml/global))) `(sml/modes ((,class :inherit bold :foreground ,fg-active))) `(sml/modified ((,class :inherit bold :foreground ,magenta-active))) `(sml/mule-info ((,class :inherit sml/global))) `(sml/name-filling ((,class :foreground ,yellow-active))) `(sml/not-modified ((,class :inherit sml/global))) `(sml/numbers-separator ((,class :inherit sml/global))) `(sml/outside-modified ((,class :inherit modus-theme-intense-red))) `(sml/position-percentage ((,class :inherit sml/global))) `(sml/prefix ((,class :foreground ,green-active))) `(sml/process ((,class :inherit sml/prefix))) `(sml/projectile ((,class :inherit sml/git))) `(sml/read-only ((,class :inherit bold :foreground ,cyan-active))) `(sml/remote ((,class :inherit sml/global))) `(sml/sudo ((,class :inherit modus-theme-subtle-red))) `(sml/time ((,class :inherit sml/global))) `(sml/vc ((,class :inherit sml/git))) `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active))) ;;;;; smartparens `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm))) `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild))) `(sp-show-pair-match-face ((,class ,@(modus-themes--paren bg-paren-match bg-paren-match-intense) :foreground ,fg-main))) `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red))) `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face))) `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face))) `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face))) `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face))) ;;;;; smerge `(smerge-base ((,class :inherit modus-theme-diff-changed))) `(smerge-lower ((,class :inherit modus-theme-diff-added))) `(smerge-markers ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) `(smerge-refined-added ((,class :inherit modus-theme-diff-refine-added))) `(smerge-refined-changed ((,class))) `(smerge-refined-removed ((,class :inherit modus-theme-diff-refine-removed))) `(smerge-upper ((,class :inherit modus-theme-diff-removed))) ;;;;; solaire `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim))) `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused))) `(solaire-hl-line-face ((,class :background ,bg-active))) `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt))) ;;;;; spaceline `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta))) `(spaceline-evil-insert ((,class :inherit modus-theme-active-green))) `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue))) `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt))) `(spaceline-evil-replace ((,class :inherit modus-theme-active-red))) `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan))) `(spaceline-flycheck-error ((,class :foreground ,red-active))) `(spaceline-flycheck-info ((,class :foreground ,cyan-active))) `(spaceline-flycheck-warning ((,class :foreground ,yellow-active))) `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue))) `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta))) `(spaceline-python-venv ((,class :foreground ,magenta-active))) `(spaceline-read-only ((,class :inherit modus-theme-fringe-red))) `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan))) ;;;;; speedbar `(speedbar-button-face ((,class :inherit button))) `(speedbar-directory-face ((,class :inherit bold :foreground ,blue))) `(speedbar-file-face ((,class :foreground ,fg-main))) `(speedbar-highlight-face ((,class :inherit modus-theme-subtle-blue))) `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan))) `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral))) `(speedbar-tag-face ((,class :foreground ,yellow-alt-other))) ;;;;; spell-fu `(spell-fu-incorrect-face ((,class :inherit modus-theme-lang-error))) ;;;;; stripes `(stripes ((,class :inherit modus-theme-hl-line))) ;;;;; success `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other))) ;;;;; switch-window `(switch-window-background ((,class :background ,bg-dim))) `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense))) ;;;;; swiper `(swiper-background-match-face-1 ((,class :inherit modus-theme-subtle-neutral))) `(swiper-background-match-face-2 ((,class :inherit modus-theme-refine-cyan))) `(swiper-background-match-face-3 ((,class :inherit modus-theme-refine-magenta))) `(swiper-background-match-face-4 ((,class :inherit modus-theme-refine-yellow))) `(swiper-line-face ((,class :inherit modus-theme-special-cold))) `(swiper-match-face-1 ((,class :inherit (bold modus-theme-intense-neutral)))) `(swiper-match-face-2 ((,class :inherit (bold modus-theme-intense-green)))) `(swiper-match-face-3 ((,class :inherit (bold modus-theme-intense-blue)))) `(swiper-match-face-4 ((,class :inherit (bold modus-theme-intense-red)))) ;;;;; swoop `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-3)))) `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt ,@(modus-themes--scale modus-themes-scale-4)))) `(swoop-face-line-number ((,class :foreground ,fg-special-warm))) `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue :extend t))) `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan))) ;;;;; sx `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other))) `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold)))) `(sx-question-list-answers ((,class :foreground ,green))) `(sx-question-list-answers-accepted ((,class :box t :foreground ,green))) `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt :foreground ,yellow))) `(sx-question-list-date ((,class :foreground ,fg-special-cold))) `(sx-question-list-favorite ((,class :inherit bold :foreground ,fg-special-warm))) `(sx-question-list-parent ((,class :foreground ,fg-main))) `(sx-question-list-read-question ((,class :inherit shadow))) `(sx-question-list-score ((,class :foreground ,fg-special-mild))) `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold)))) `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main))) `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green))) `(sx-question-mode-closed ((,class :inherit modus-theme-active-yellow :box (:line-width 2 :color nil)))) `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main))) `(sx-question-mode-content-face ((,class :background ,bg-dim))) `(sx-question-mode-date ((,class :foreground ,blue))) `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan))) `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main))) `(sx-question-mode-score ((,class :foreground ,fg-dim))) `(sx-question-mode-score-downvoted ((,class :foreground ,yellow))) `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground ,magenta))) `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main))) `(sx-question-mode-title-comments ((,class :inherit bold :foreground ,fg-alt))) `(sx-tag ((,class :foreground ,magenta-alt))) `(sx-user-name ((,class :foreground ,blue-alt))) `(sx-user-reputation ((,class :inherit shadow))) ;;;;; symbol-overlay `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm))) `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue))) `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta))) `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow))) `(symbol-overlay-face-4 ((,class :inherit modus-theme-intense-magenta))) `(symbol-overlay-face-5 ((,class :inherit modus-theme-intense-red))) `(symbol-overlay-face-6 ((,class :inherit modus-theme-refine-red))) `(symbol-overlay-face-7 ((,class :inherit modus-theme-intense-cyan))) `(symbol-overlay-face-8 ((,class :inherit modus-theme-refine-cyan))) ;;;;; syslog-mode `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other))) `(syslog-error ((,class :inherit bold :foreground ,red))) `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold))) `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main))) `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other))) `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other))) `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t))) `(syslog-su ((,class :inherit bold :foreground ,red-alt))) `(syslog-warn ((,class :inherit bold :foreground ,yellow))) ;;;;; tab-bar-mode `(tab-bar ((,class ,@(modus-themes--variable-pitch-ui) :background ,bg-tab-bar :foreground ,fg-main))) `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) :background ,bg-tab-active :foreground ,fg-main))) `(tab-bar-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) :background ,bg-tab-inactive :foreground ,fg-dim))) ;;;;; tab-line-mode `(tab-line ((,class ,@(modus-themes--variable-pitch-ui) :height 0.95 :background ,bg-tab-bar :foreground ,fg-main))) `(tab-line-close-highlight ((,class :foreground ,red))) `(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) `(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) :background ,bg-tab-active :foreground ,fg-main))) `(tab-line-tab-current ((,class :inherit tab-line-tab))) `(tab-line-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) :background ,bg-tab-inactive :foreground ,fg-dim))) `(tab-line-tab-inactive-alternate ((,class :box (:line-width 2 :color ,bg-tab-inactive-alt) :background ,bg-tab-inactive-alt :foreground ,fg-main))) ;;;;; table (built-in table.el) `(table-cell ((,class :background ,blue-nuanced-bg))) ;;;;; telephone-line `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive))) `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active))) `(telephone-line-error ((,class :inherit bold :foreground ,red-active))) `(telephone-line-evil ((,class :foreground ,fg-main))) `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil :background ,magenta-intense-bg))) `(telephone-line-evil-insert ((,class :inherit telephone-line-evil :background ,green-intense-bg))) `(telephone-line-evil-motion ((,class :inherit telephone-line-evil :background ,yellow-intense-bg))) `(telephone-line-evil-normal ((,class :inherit telephone-line-evil :background ,bg-alt))) `(telephone-line-evil-operator ((,class :inherit telephone-line-evil :background ,yellow-subtle-bg))) `(telephone-line-evil-replace ((,class :inherit telephone-line-evil :background ,red-intense-bg))) `(telephone-line-evil-visual ((,class :inherit telephone-line-evil :background ,cyan-intense-bg))) `(telephone-line-projectile ((,class :foreground ,cyan-active))) `(telephone-line-unimportant ((,class :foreground ,fg-inactive))) `(telephone-line-warning ((,class :inherit bold :foreground ,yellow-active))) ;;;;; terraform-mode `(terraform--resource-name-face ((,class ,@(modus-themes--syntax-string magenta-alt-other magenta-alt-other-faint red-alt red-alt)))) `(terraform--resource-type-face ((,class ,@(modus-themes--syntax-string green green-faint blue-alt magenta-alt)))) ;;;;; term `(term ((,class :background ,bg-main :foreground ,fg-main))) `(term-bold ((,class :inherit bold))) `(term-color-black ((,class :background "gray35" :foreground "gray35"))) `(term-color-blue ((,class :background ,blue :foreground ,blue))) `(term-color-cyan ((,class :background ,cyan :foreground ,cyan))) `(term-color-green ((,class :background ,green :foreground ,green))) `(term-color-magenta ((,class :background ,magenta :foreground ,magenta))) `(term-color-red ((,class :background ,red :foreground ,red))) `(term-color-white ((,class :background "gray65" :foreground "gray65"))) `(term-color-yellow ((,class :background ,yellow :foreground ,yellow))) `(term-underline ((,class :underline t))) ;;;;; tomatinho `(tomatinho-ok-face ((,class :foreground ,blue-intense))) `(tomatinho-pause-face ((,class :foreground ,yellow-intense))) `(tomatinho-reset-face ((,class :inherit shadow))) ;;;;; transient `(transient-active-infix ((,class :inherit modus-theme-special-mild))) `(transient-amaranth ((,class :inherit bold :foreground ,yellow))) `(transient-argument ((,class :inherit bold :foreground ,red-alt))) `(transient-blue ((,class :inherit bold :foreground ,blue))) `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red))) `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green))) `(transient-heading ((,class :inherit bold :foreground ,fg-main))) `(transient-inactive-argument ((,class :inherit shadow))) `(transient-inactive-value ((,class :inherit shadow))) `(transient-key ((,class :inherit bold :foreground ,blue))) `(transient-mismatched-key ((,class :underline t))) `(transient-nonstandard-key ((,class :underline t))) `(transient-pink ((,class :inherit bold :foreground ,magenta))) `(transient-red ((,class :inherit bold :foreground ,red-intense))) `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other))) `(transient-unreachable ((,class :foreground ,fg-unfocused))) `(transient-unreachable-key ((,class :foreground ,fg-unfocused))) `(transient-value ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; trashed `(trashed-deleted ((,class :inherit modus-theme-mark-del))) `(trashed-directory ((,class :foreground ,blue))) `(trashed-mark ((,class :inherit modus-theme-mark-symbol))) `(trashed-marked ((,class :inherit modus-theme-mark-alt))) `(trashed-restored ((,class :inherit modus-theme-mark-sel))) `(trashed-symlink ((,class :inherit button ,@(modus-themes--link-color cyan-alt cyan-alt-faint)))) ;;;;; treemacs `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt))) `(treemacs-directory-face ((,class :inherit dired-directory))) `(treemacs-file-face ((,class :foreground ,fg-main))) `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main))) `(treemacs-git-added-face ((,class :foreground ,green-intense))) `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red bold)))) `(treemacs-git-ignored-face ((,class :inherit shadow))) `(treemacs-git-modified-face ((,class :foreground ,yellow-alt-other))) `(treemacs-git-renamed-face ((,class :foreground ,cyan-alt-other))) `(treemacs-git-unmodified-face ((,class :foreground ,fg-main))) `(treemacs-git-untracked-face ((,class :foreground ,red-alt-other))) `(treemacs-help-column-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other :underline t))) `(treemacs-help-title-face ((,class :foreground ,blue-alt-other))) `(treemacs-on-failure-pulse-face ((,class :inherit modus-theme-intense-red))) `(treemacs-on-success-pulse-face ((,class :inherit modus-theme-intense-green))) `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t))) `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow))) `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta))) `(treemacs-root-remote-unreadable-face ((,class :inherit treemacs-root-unreadable-face))) `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face :strike-through t))) `(treemacs-tags-face ((,class :foreground ,blue-alt))) `(treemacs-tags-face ((,class :foreground ,magenta-alt))) ;;;;; tty-menu `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt))) `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main))) `(tty-menu-selected-face ((,class :inherit modus-theme-intense-blue))) ;;;;; tuareg `(caml-types-def-face ((,class :inherit modus-theme-subtle-red))) `(caml-types-expr-face ((,class :inherit modus-theme-subtle-green))) `(caml-types-occ-face ((,class :inherit modus-theme-subtle-green))) `(caml-types-scope-face ((,class :inherit modus-theme-subtle-blue))) `(caml-types-typed-face ((,class :inherit modus-theme-subtle-magenta))) `(tuareg-font-double-semicolon-face ((,class :inherit font-lock-preprocessor-face))) `(tuareg-font-lock-attribute-face ((,class :inherit font-lock-function-name-face))) `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main))) `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red bold)))) `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta))) `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main))) `(tuareg-font-lock-infix-extension-node-face ((,class :inherit font-lock-function-name-face))) `(tuareg-font-lock-interactive-directive-face ((,class :foreground ,fg-special-cold))) `(tuareg-font-lock-interactive-error-face ((,class :inherit error))) `(tuareg-font-lock-interactive-output-face ((,class :inherit font-lock-constant-face))) `(tuareg-font-lock-label-face ((,class :inherit font-lock-type-face))) `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm))) `(tuareg-font-lock-module-face ((,class :inherit font-lock-builtin-face))) `(tuareg-font-lock-multistage-face ((,class :inherit bold :background ,bg-alt :foreground ,blue))) `(tuareg-font-lock-operator-face ((,class :inherit font-lock-preprocessor-face))) `(tuareg-opam-error-face ((,class :inherit error))) `(tuareg-opam-pkg-variable-name-face ((,class :inherit font-lock-variable-name-face))) ;;;;; typescript `(typescript-jsdoc-tag ((,class :inherit modus-theme-slant :foreground ,fg-special-mild))) `(typescript-jsdoc-type ((,class :inherit modus-theme-slant :foreground ,fg-special-calm))) `(typescript-jsdoc-value ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) ;;;;; undo-tree `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main))) `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense))) `(undo-tree-visualizer-default-face ((,class :inherit shadow))) `(undo-tree-visualizer-register-face ((,class :foreground ,magenta-intense))) `(undo-tree-visualizer-unmodified-face ((,class :foreground ,green-intense))) ;;;;; vc (vc-dir.el, vc-hooks.el) `(vc-dir-directory ((,class :foreground ,blue))) `(vc-dir-file ((,class :foreground ,fg-main))) `(vc-dir-header ((,class :foreground ,cyan-alt-other))) `(vc-dir-header-value ((,class :foreground ,magenta-alt-other))) `(vc-dir-mark-indicator ((,class :foreground ,blue-alt-other))) `(vc-dir-status-edited ((,class :foreground ,yellow))) `(vc-dir-status-ignored ((,class :foreground ,fg-unfocused))) `(vc-dir-status-up-to-date ((,class :foreground ,cyan))) `(vc-dir-status-warning ((,class :foreground ,red))) `(vc-conflict-state ((,class :inherit modus-theme-slant :foreground ,red-active))) `(vc-edited-state ((,class :foreground ,yellow-active))) `(vc-locally-added-state ((,class :foreground ,cyan-active))) `(vc-locked-state ((,class :foreground ,blue-active))) `(vc-missing-state ((,class :inherit modus-theme-slant :foreground ,magenta-active))) `(vc-needs-update-state ((,class :inherit modus-theme-slant :foreground ,green-active))) `(vc-removed-state ((,class :foreground ,red-active))) `(vc-state-base ((,class :foreground ,fg-active))) `(vc-up-to-date-state ((,class :foreground ,fg-special-cold))) ;;;;; vdiff `(vdiff-addition-face ((,class :inherit modus-theme-diff-added))) `(vdiff-change-face ((,class :inherit modus-theme-diff-changed))) `(vdiff-closed-fold-face ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) `(vdiff-refine-added ((,class :inherit modus-theme-diff-refine-added))) `(vdiff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) `(vdiff-subtraction-face ((,class :inherit modus-theme-diff-removed))) `(vdiff-target-face ((,class :inherit modus-theme-intense-blue))) ;;;;; vimish-fold `(vimish-fold-fringe ((,class :foreground ,cyan-active))) `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue))) `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold))) ;;;;; visible-mark `(visible-mark-active ((,class :background ,blue-intense-bg))) `(visible-mark-face1 ((,class :background ,cyan-intense-bg))) `(visible-mark-face2 ((,class :background ,yellow-intense-bg))) `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg))) `(visible-mark-forward-face2 ((,class :background ,green-intense-bg))) ;;;;; visual-regexp `(vr/group-0 ((,class :inherit modus-theme-intense-blue))) `(vr/group-1 ((,class :inherit modus-theme-intense-magenta))) `(vr/group-2 ((,class :inherit modus-theme-intense-green))) `(vr/match-0 ((,class :inherit modus-theme-refine-yellow))) `(vr/match-1 ((,class :inherit modus-theme-refine-yellow))) `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral bold)))) ;;;;; volatile-highlights `(vhl/default-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg :extend t))) ;;;;; vterm `(vterm-color-black ((,class :background "gray35" :foreground "gray35"))) `(vterm-color-blue ((,class :background ,blue :foreground ,blue))) `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan))) `(vterm-color-default ((,class :background ,bg-main :foreground ,fg-main))) `(vterm-color-green ((,class :background ,green :foreground ,green))) `(vterm-color-inverse-video ((,class :background ,bg-main :inverse-video t))) `(vterm-color-magenta ((,class :background ,magenta :foreground ,magenta))) `(vterm-color-red ((,class :background ,red :foreground ,red))) `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t))) `(vterm-color-white ((,class :background "gray65" :foreground "gray65"))) `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow))) ;;;;; wcheck-mode `(wcheck-default-face ((,class :foreground ,red :underline t))) ;;;;; web-mode `(web-mode-annotation-face ((,class :inherit web-mode-comment-face))) `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face))) `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face :underline t))) `(web-mode-block-attr-name-face ((,class :inherit font-lock-constant-face))) `(web-mode-block-attr-value-face ((,class :inherit font-lock-type-face))) `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-block-control-face ((,class :inherit font-lock-builtin-face))) `(web-mode-block-delimiter-face ((,class :foreground ,fg-main))) `(web-mode-block-face ((,class :background ,bg-dim))) `(web-mode-block-string-face ((,class :inherit web-mode-string-face))) `(web-mode-bold-face ((,class :inherit bold))) `(web-mode-builtin-face ((,class :inherit font-lock-builtin-face))) `(web-mode-comment-face ((,class :inherit font-lock-comment-face))) `(web-mode-comment-keyword-face ((,class :inherit font-lock-warning-face))) `(web-mode-constant-face ((,class :inherit font-lock-constant-face))) `(web-mode-css-at-rule-face ((,class :inherit font-lock-constant-face))) `(web-mode-css-color-face ((,class :inherit font-lock-builtin-face))) `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-css-function-face ((,class :inherit font-lock-builtin-face))) `(web-mode-css-priority-face ((,class :inherit font-lock-warning-face))) `(web-mode-css-property-name-face ((,class :inherit font-lock-keyword-face))) `(web-mode-css-pseudo-class-face ((,class :inherit font-lock-doc-face))) `(web-mode-css-selector-face ((,class :inherit font-lock-keyword-face))) `(web-mode-css-string-face ((,class :inherit web-mode-string-face))) `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm))) `(web-mode-current-column-highlight-face ((,class :background ,bg-alt))) `(web-mode-current-element-highlight-face ((,class :inherit modus-theme-special-mild))) `(web-mode-doctype-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(web-mode-error-face ((,class :inherit modus-theme-intense-red))) `(web-mode-filter-face ((,class :inherit font-lock-function-name-face))) `(web-mode-folded-face ((,class :underline t))) `(web-mode-function-call-face ((,class :inherit font-lock-function-name-face))) `(web-mode-function-name-face ((,class :inherit font-lock-function-name-face))) `(web-mode-html-attr-custom-face ((,class :inherit font-lock-variable-name-face))) `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main))) `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main))) `(web-mode-html-attr-name-face ((,class :inherit font-lock-variable-name-face))) `(web-mode-html-attr-value-face ((,class :inherit font-lock-constant-face))) `(web-mode-html-entity-face ((,class :inherit font-lock-negation-char-face))) `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim))) `(web-mode-html-tag-custom-face ((,class :inherit font-lock-function-name-face))) `(web-mode-html-tag-face ((,class :inherit font-lock-function-name-face))) `(web-mode-html-tag-namespaced-face ((,class :inherit font-lock-builtin-face))) `(web-mode-html-tag-unclosed-face ((,class :inherit error :underline t))) `(web-mode-inlay-face ((,class :background ,bg-alt))) `(web-mode-italic-face ((,class :inherit italic))) `(web-mode-javascript-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face))) `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-json-context-face ((,class :inherit font-lock-builtin-face))) `(web-mode-json-key-face ((,class :foreground ,blue-nuanced-fg))) `(web-mode-json-string-face ((,class :inherit web-mode-string-face))) `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg :foreground ,fg-main))) `(web-mode-jsx-depth-2-face ((,class :background ,blue-subtle-bg :foreground ,fg-main))) `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg))) `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg))) `(web-mode-keyword-face ((,class :inherit :inherit font-lock-keyword-face))) `(web-mode-param-name-face ((,class :inherit font-lock-function-name-face))) `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-part-face ((,class :inherit web-mode-block-face))) `(web-mode-part-string-face ((,class :inherit web-mode-string-face))) `(web-mode-preprocessor-face ((,class :inherit font-lock-preprocessor-face))) `(web-mode-script-face ((,class :inherit web-mode-part-face))) `(web-mode-sql-keyword-face ((,class :inherit font-lock-negation-char-face))) `(web-mode-string-face ((,class :inherit font-lock-string-face))) `(web-mode-style-face ((,class :inherit web-mode-part-face))) `(web-mode-symbol-face ((,class :inherit font-lock-constant-face))) `(web-mode-type-face ((,class :inherit font-lock-builtin-face))) `(web-mode-underline-face ((,class :underline t))) `(web-mode-variable-name-face ((,class :inherit font-lock-variable-name-face))) `(web-mode-warning-face ((,class :inherit font-lock-warning-face))) `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) ;;;;; wgrep `(wgrep-delete-face ((,class :inherit modus-theme-refine-yellow))) `(wgrep-done-face ((,class :inherit modus-theme-refine-blue))) `(wgrep-face ((,class :inherit modus-theme-refine-green))) `(wgrep-file-face ((,class :foreground ,fg-special-warm))) `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold)))) ;;;;; which-function-mode `(which-func ((,class :foreground ,magenta-active))) ;;;;; which-key `(which-key-command-description-face ((,class :foreground ,fg-main))) `(which-key-group-description-face ((,class :foreground ,magenta-alt))) `(which-key-highlighted-command-face ((,class :foreground ,yellow :underline t))) `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense))) `(which-key-local-map-description-face ((,class :foreground ,fg-main))) `(which-key-note-face ((,class :foreground ,fg-special-warm))) `(which-key-separator-face ((,class :inherit shadow))) `(which-key-special-key-face ((,class :inherit bold :foreground ,orange-intense))) ;;;;; whitespace-mode `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red))) `(whitespace-empty ((,class :inherit modus-theme-intense-magenta))) `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-line ((,class :background ,bg-alt))) `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-space-after-tab ((,class :inherit modus-theme-subtle-magenta))) `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan))) `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-trailing ((,class :inherit modus-theme-intense-red))) ;;;;; window-divider-mode `(window-divider ((,class :foreground ,fg-window-divider-inner))) `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer))) `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer))) ;;;;; winum `(winum-face ((,class :inherit modus-theme-bold :foreground ,cyan-active))) ;;;;; writegood-mode `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) `(writegood-passive-voice-face ((,class :inherit modus-theme-lang-warning))) `(writegood-weasels-face ((,class :inherit modus-theme-lang-error))) ;;;;; woman `(woman-addition ((,class :foreground ,magenta-alt-other))) `(woman-bold ((,class :inherit bold :foreground ,magenta))) `(woman-italic ((,class :inherit italic :foreground ,cyan))) `(woman-unknown ((,class :inherit italic :foreground ,yellow))) ;;;;; xah-elisp-mode `(xah-elisp-at-symbol ((,class :inherit font-lock-warning-face))) `(xah-elisp-cap-variable ((,class :inherit font-lock-preprocessor-face))) `(xah-elisp-command-face ((,class :inherit font-lock-type-face))) `(xah-elisp-dollar-symbol ((,class :inherit font-lock-variable-name-face))) ;;;;; xref `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold))) `(xref-line-number ((,class :inherit shadow))) `(xref-match ((,class :inherit match))) ;;;;; yaml-mode `(yaml-tab-face ((,class :inherit modus-theme-intense-red))) ;;;;; yasnippet `(yas-field-highlight-face ((,class :background ,bg-hl-alt-intense))) ;;;;; ztree `(ztreep-arrow-face ((,class :foreground ,fg-inactive))) `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) `(ztreep-diff-header-small-face ((,class :inherit bold :foreground ,fg-special-mild))) `(ztreep-diff-model-add-face ((,class :foreground ,green))) `(ztreep-diff-model-diff-face ((,class :foreground ,red))) `(ztreep-diff-model-ignored-face ((,class :inherit shadow :strike-through t))) `(ztreep-diff-model-normal-face ((,class :inherit shadow))) `(ztreep-expand-sign-face ((,class :foreground ,blue))) `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) `(ztreep-leaf-face ((,class :foreground ,cyan))) `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm))) `(ztreep-node-face ((,class :foreground ,fg-main)))) "Face specs for use with `modus-themes-theme'.") (defconst modus-themes-custom-variables '( ;;;; ansi-colors `(ansi-color-faces-vector [default bold shadow italic underline success warning error]) `(ansi-color-names-vector ["gray35" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"]) ;;;; awesome-tray `(awesome-tray-mode-line-active-color ,blue) `(awesome-tray-mode-line-inactive-color ,bg-active) ;;;; exwm `(exwm-floating-border-color ,fg-window-divider-inner) ;;;; flymake fringe indicators `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red)) `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow)) `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan)) ;;;; ibuffer `(ibuffer-deletion-face 'modus-theme-mark-del) `(ibuffer-filter-group-name-face 'modus-theme-mark-symbol) `(ibuffer-marked-face 'modus-theme-mark-sel) `(ibuffer-title-face 'modus-theme-pseudo-header) ;;;; highlight-tail `(highlight-tail-colors '((,green-subtle-bg . 0) (,cyan-subtle-bg . 20))) ;;;; hl-todo `(hl-todo-keyword-faces '(("HOLD" . ,yellow-alt) ("TODO" . ,magenta) ("NEXT" . ,magenta-alt-other) ("THEM" . ,magenta-alt) ("PROG" . ,cyan) ("OKAY" . ,cyan-alt) ("DONT" . ,green-alt) ("FAIL" . ,red) ("BUG" . ,red) ("DONE" . ,green) ("NOTE" . ,yellow-alt-other) ("KLUDGE" . ,yellow) ("HACK" . ,yellow) ("TEMP" . ,red-nuanced-fg) ("FIXME" . ,red-alt-other) ("XXX+" . ,red-alt) ("REVIEW" . ,cyan-alt-other) ("DEPRECATED" . ,blue-nuanced-fg))) ;;;; pdf-tools `(pdf-view-midnight-colors '(,fg-main . ,bg-dim)) ;;;; vc-annotate (C-x v g) `(vc-annotate-background nil) `(vc-annotate-background-mode nil) `(vc-annotate-color-map '((20 . ,red) (40 . ,magenta) (60 . ,magenta-alt) (80 . ,red-alt) (100 . ,yellow) (120 . ,yellow-alt) (140 . ,fg-special-warm) (160 . ,fg-special-mild) (180 . ,green) (200 . ,green-alt) (220 . ,cyan-alt-other) (240 . ,cyan-alt) (260 . ,cyan) (280 . ,fg-special-cold) (300 . ,blue) (320 . ,blue-alt) (340 . ,blue-alt-other) (360 . ,magenta-alt-other))) `(vc-annotate-very-old-color nil) ;;;; xterm-color `(xterm-color-names ["black" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"]) `(xterm-color-names-bright ["gray35" ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt "white"]) (if (eq modus-themes-org-blocks 'rainbow) `(org-src-block-faces ; TODO this list should be expanded `(("emacs-lisp" modus-theme-nuanced-magenta) ("elisp" modus-theme-nuanced-magenta) ("clojure" modus-theme-nuanced-magenta) ("clojurescript" modus-theme-nuanced-magenta) ("c" modus-theme-nuanced-blue) ("c++" modus-theme-nuanced-blue) ("sh" modus-theme-nuanced-green) ("shell" modus-theme-nuanced-green) ("html" modus-theme-nuanced-yellow) ("xml" modus-theme-nuanced-yellow) ("css" modus-theme-nuanced-red) ("scss" modus-theme-nuanced-red) ("python" modus-theme-nuanced-green) ("ipython" modus-theme-nuanced-magenta) ("r" modus-theme-nuanced-cyan) ("yaml" modus-theme-nuanced-cyan) ("conf" modus-theme-nuanced-cyan) ("docker" modus-theme-nuanced-cyan))) `(org-src-block-faces '()))) "Custom variables for `modus-themes-theme'.") ;;;###autoload (when (and (boundp 'custom-theme-load-path) load-file-name) (add-to-list 'custom-theme-load-path (file-name-as-directory (file-name-directory load-file-name)))) (provide 'modus-themes) ;;; modus-themes.el ends here --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=modus-vivendi-theme.el ;;; modus-vivendi-theme.el --- Accessible dark theme (WCAG AAA) -*- lexical-binding:t -*- ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes ;; Version: 1.1.1 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: faces, theme, accessibility ;; This file is part of GNU Emacs. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or (at ;; your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; ;; Modus Vivendi is the dark variant of the Modus themes (Modus Operandi ;; is the light one). The themes are designed for color-contrast ;; accessibility. More specifically: ;; ;; 1. Provide a consistent minimum contrast ratio between background ;; and foreground values of 7:1 or higher. This meets the highest ;; such accessibility criterion per the guidelines of the Worldwide ;; Web Consortium's Working Group on Accessibility (WCAG AAA ;; standard). ;; ;; 2. Offer as close to full face coverage as possible. The list is ;; already quite long, with more additions to follow as part of the ;; ongoing development process. ;; ;; For a complete view of the project, also refer to the following files ;; (should be distributed in the same repository/directory as the ;; current item): ;; ;; - modus-themes.el (Main code shared between the themes) ;; - modus-operandi-theme.el (Light theme) ;;; Code: (if (>= emacs-major-version 28) (require-theme 'modus-themes) (require 'modus-themes)) (deftheme modus-vivendi "Accessible and customizable light theme (WCAG AAA standard). Conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of 7:1.") (modus-themes-theme modus-vivendi) (provide-theme 'modus-vivendi) (provide 'modus-vivendi-theme) ;;; modus-vivendi-theme.el ends here --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 06:04:01 2021 Received: (at 45068) by debbugs.gnu.org; 2 Mar 2021 11:04:01 +0000 Received: from localhost ([127.0.0.1]:51958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH2oq-0002ql-WD for submit@debbugs.gnu.org; Tue, 02 Mar 2021 06:04:01 -0500 Received: from mail-qv1-f41.google.com ([209.85.219.41]:37623) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH2op-0002qY-4Z for 45068@debbugs.gnu.org; Tue, 02 Mar 2021 06:03:59 -0500 Received: by mail-qv1-f41.google.com with SMTP id n4so7346271qvl.4 for <45068@debbugs.gnu.org>; Tue, 02 Mar 2021 03:03:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version; bh=sO3UkyvjdGwEE2Byagq439S5R0dsh8zT7+n0ezHjGuA=; b=Edx4ZUGCreIKTbH98BlyC9u9E6I1okSXQSZ9ed7Qi+C6eDMLa1iWolYzk+tRoVw4/k hZQ9wfg4IHu/qsZbPsQpMRjiVgznc45xqFtPBIi+X31AR1RpxCRnc7sDgy2UYNI3oXyl X/ezwZI3HKeK11/QcGXrxAqPDKktt6uwDopnwAcSDE5P67sQSQj2NdTp4w39I5wXeJUu K/RH7dN+bhcJ2oqQ4LYGAvY0fIup1aEp9TfIu2/E2Y0xzCgMgZo5Lz3KA02fLgZqc/fw 5LQO+yECvJjfOtQA80/6mJO0rZ/XYImcS7Ktf7rWcaGjlzREHoIk5irQisUljpqunFII PcpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version; bh=sO3UkyvjdGwEE2Byagq439S5R0dsh8zT7+n0ezHjGuA=; b=R/STqmISuLY3sSxfRGbg7xj2aM/ABvJct3kPpWKcwkZxaEKIAIYTh1mGCfEHa6dYUw wPYVxhUFyGwlgtuV1xBUNn39RQGizjVwGAwKOL1F8IPxfr6EulrlwSOnLLvTaF0BW0/a O3ZOfJiuyv+di8Mtu3ZI2GwmEdY/PtMFOXIRFKyxDeJbzmZoHzVQjafLhNtxfI14ZHVY pKagNkghGLQN1BH/e+UMTEb0bO9q07MrD56vD1+eKGOpdrPmoymFAa7VmdnVJpPuBpCE of3NqsWtju9uRGO2lA4+Qg2AlO/jiCOfnKZmmVEf8iw5pwvWGlyh6c1pHuQud+CcXHg1 V4jA== X-Gm-Message-State: AOAM531EZiimIRzu1eLDOEHo29K0GigQl1NtPIsjelxOnlXVA93A5EHG fz8HZm+7hKiDrgMzi2rAXZXbI+AnGKXQOA== X-Google-Smtp-Source: ABdhPJwEL/+GQgwPeuAqcuUWTQfHIEyYjSm2wIuEAWK4wyqUs2Rm/f0g9GIWD1skjaF71IUv1ZIzUw== X-Received: by 2002:a0c:83a4:: with SMTP id k33mr19054305qva.1.1614683033186; Tue, 02 Mar 2021 03:03:53 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id m190sm14706379qkc.66.2021.03.02.03.03.51 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Mar 2021 03:03:52 -0800 (PST) Message-ID: <603e1b98.1c69fb81.7221b.9c4c@mx.google.com> X-Google-Original-Message-ID: <87blc1rf56.fsf@maurooaranda@gmail.com> From: Mauro Aranda To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> Date: Tue, 02 Mar 2021 08:03:49 -0300 In-Reply-To: <878s75x2uk.fsf@tcd.ie> (Basil L. Contovounesios's message of "Tue, 02 Mar 2021 10:32:51 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Protesilaos Stavrou , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "Basil L. Contovounesios" writes: > Protesilaos Stavrou writes: > >> On 2021-03-01, 23:34 +0000, "Basil L. Contovounesios" wrote: >>> BTW, do we need to warn anywhere that require-theme may unconditionally >>> load files from custom-theme-load-path, or somehow protect against this? >> >> That would be consistent with load-theme. > > Right, but I'm wondering whether require-theme ought to be consistent in > this regard. > > load-theme is a user-level command, and arbitrary themes are considered > risky Lisp, so it has to (conditionally) display the code and ask the > user if they think it looks okay. > > require-theme, OTOH, sounds like it's a behind-the-scenes noninteractive > plumbing function to be used by themes themselves, so wouldn't the user > be prompted twice if a theme called require-theme on an element of > custom-available-themes? IOW, it seems to me like require-theme's > "safety" should already be handled/covered by the theme using it. I was the one that raised the question about loading a theme via require-theme unconditionally (Protesilaos had a NO-CONFIRM non-nil in one of the early versions of the patch), so if that bit of the patch is wrong I'm the one to blame. I'll just say that I raised the question because (usually) theme files are just settings, so for a user to check the safety it is normally enough to go through the custom-theme-set-* functions and see what the theme is setting. Now the user would be asked to check a require-theme call for its safety, and since a call to require-theme looks a lot like require, it might not be obvious that it can load (and enable) any theme it wants. And if a theme uses require-theme to do that, it can "hide" the "unsafe theme" settings, because the first element of custom-enabled-themes will just be the "safe" theme. Those were my reasons, feel free to ignore them if you think they make no sense. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 06:38:45 2021 Received: (at 45068) by debbugs.gnu.org; 2 Mar 2021 11:38:45 +0000 Received: from localhost ([127.0.0.1]:51997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH3MT-0003o0-8k for submit@debbugs.gnu.org; Tue, 02 Mar 2021 06:38:45 -0500 Received: from mail-wm1-f51.google.com ([209.85.128.51]:53308) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH3MR-0003nk-3W for 45068@debbugs.gnu.org; Tue, 02 Mar 2021 06:38:43 -0500 Received: by mail-wm1-f51.google.com with SMTP id e23so1936303wmh.3 for <45068@debbugs.gnu.org>; Tue, 02 Mar 2021 03:38:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=kIzV7bFYOFf5NMryJ6oUIOH7vRmcZAxtwC2ecL2GHTM=; b=ZB+1x7UVkl5Z4dnvC6j4eVR/Lx2uGwMM3eAyNQDl7DzVnR38sSrcCQdTUjn6yk03cA kDPMF+xHO/ep7ghPyknxW+hU4A4V3sZd194HxuA61ZYJpDD7+Wsfw1p6FMlhVb/8EqzS XXgwy1eGXFwGTDlfZaBYti2XsulMl2GNR5z78meTFMbOBldLqPWUi8hHmcNq3n+veJM8 6bSxVqo3ud1h4ggtBGZD0SipBkfOiuN/fF2Y0rXS7jgezgNc81kq0p9hFlw0QhCNWjTU kYBVANoZIchdh9bGWUy44p+ML4yKhZWpHUOPtUm69GlzB/U1WX9XV1Q9Z7PmXMVzrU0v DDIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=kIzV7bFYOFf5NMryJ6oUIOH7vRmcZAxtwC2ecL2GHTM=; b=Drt4hIFIGPD0yOl24tRFLtEzN6TsgSqpucpWYpgGf/Ey6N1FYu9X9Zf78eAw9Nq0Fg TXkjGShm8Jsy035mS/J1MBZRCKT7FmjuIpdtdDcgjxPD2P9oEurLRPvtC1SyZxqeG/kb a9irqRYWhm8MOK5COTF6GNj7dOh3Bv7rpl4/3uEdSeaN7lqfPMA9tjXXnWK1DZVsAaX3 QK9b4wwPIyMRTno6MEZdHi+XAr3bSheHX9c/ZG68w3J1geaigYtTM3yYb+cSSH/S1DwM 8QRaLghT+WVVdROxTGT53LneMmhXfNoF8EomI7UxZ4VFzFI+I+Ak1EBaBMrTtKaNO9Ay CMag== X-Gm-Message-State: AOAM531fZYYRZ1dE9lYuDCXDuJcc9CCLudcpmKYNl0SsnCKPRzUv5vFJ ie0EZb/iTPlQz5ERBPBKx2SwMg== X-Google-Smtp-Source: ABdhPJzo9W5H9l4sMpx7DaaPNOw/D4BaqdcVNa7zQGgCUlAlgvTru1RVf2eAWMQPKfa/DzNrzwZ1xA== X-Received: by 2002:a1c:28c1:: with SMTP id o184mr3462379wmo.183.1614685117181; Tue, 02 Mar 2021 03:38:37 -0800 (PST) Received: from localhost ([2a02:8084:20e2:c380:f410:82e8:3a21:eedf]) by smtp.gmail.com with ESMTPSA id u20sm1237606wru.6.2021.03.02.03.38.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Mar 2021 03:38:36 -0800 (PST) From: "Basil L. Contovounesios" To: Mauro Aranda Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <603e1b98.1c69fb81.7221b.9c4c@mx.google.com> Date: Tue, 02 Mar 2021 11:38:34 +0000 In-Reply-To: <603e1b98.1c69fb81.7221b.9c4c@mx.google.com> (Mauro Aranda's message of "Tue, 02 Mar 2021 08:03:49 -0300") Message-ID: <87h7ltvl8l.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Protesilaos Stavrou , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Mauro Aranda writes: > I'll just say that I raised the question because (usually) theme files > are just settings, so for a user to check the safety it is normally > enough to go through the custom-theme-set-* functions and see what the > theme is setting. Now the user would be asked to check a require-theme > call for its safety, and since a call to require-theme looks a lot like > require, it might not be obvious that it can load (and enable) any theme > it wants. I'm suggesting that require-theme never enables any themes. And to the eyes of the user, it would be no different than a call to require or load, which we already don't warn a second time about. > And if a theme uses require-theme to do that, it can "hide" > the "unsafe theme" settings, because the first element of > custom-enabled-themes will just be the "safe" theme. Sorry, I'm not sure what you mean, could you please elaborate on the steps involved? > Those were my reasons, feel free to ignore them if you think they make > no sense. I doubt that's the case :). Thanks, -- Basil From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 06:56:33 2021 Received: (at 45068) by debbugs.gnu.org; 2 Mar 2021 11:56:33 +0000 Received: from localhost ([127.0.0.1]:52005 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH3dg-0004DZ-Rp for submit@debbugs.gnu.org; Tue, 02 Mar 2021 06:56:33 -0500 Received: from mail-qt1-f170.google.com ([209.85.160.170]:45318) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH3df-0004DN-Ru for 45068@debbugs.gnu.org; Tue, 02 Mar 2021 06:56:32 -0500 Received: by mail-qt1-f170.google.com with SMTP id a2so14452998qtw.12 for <45068@debbugs.gnu.org>; Tue, 02 Mar 2021 03:56:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:in-reply-to:date:mime-version; bh=BTfugoUT+1FtwKUdM6gKeglIMr6IDOqkltijOaLJ0ew=; b=uipVDIHgc/EgQDytZWUULEVkmhJ1a2ddcKP07ip0rxxezLIhUW5GiesySH+hWcv9cb 8CtZkSo1j4STrx4QnwX+C6PBNougcO7hlk084Z6nv4ishRmKNh0Agy1VVxkHI1Sl4AhC NcBp0ka6fvv265HoRqfbgWm9bsLN14Rvm1s29iFfvHXjnPMy54ZFVMKIljaILO0Zj2EC WGAshx0dScF006JWs8CyHIBFR75ZhI67UcTdAxuot9lEw8WvEzko73eeSmzNh6K+zAGn nq1H8maasXLPlw5yP35NWOQ3GsIYrCCTU92ErMKv7k0bqjpgZIcpE0WLlJ3b3AqTFbcL 6cbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:in-reply-to:date :mime-version; bh=BTfugoUT+1FtwKUdM6gKeglIMr6IDOqkltijOaLJ0ew=; b=Cyae92Aeouzmab84VncpGgVag9d2TemrvSOnxWWFkYhz2riSBmcpZ3d50Vzg0upEiu 37SEB3OFXwoMhgFXvl3jWXCxbZ50Mrfow+n60PuwwrqJ8fSqXK1r5YRWXaSmPDhKtV8e wCrXbdLMKJO4TUrBbGKb1U3w7txYmLAS/5sK5ZCoHdizANx9a++tp0uAKe+pr5vssxoL 1irR1meZEPvuwb8Xp32frG0fh56lVjv+LIYm3S0mbr46k9Xx/cc5p9FXQokXVsYtuO1o Ok5sqdCtIncqZ6/2+UL5LR1eBoVU5jqdLj7PTyq0ArCNwVZedHfYRBRE1d8HR69xiNtZ Xo6w== X-Gm-Message-State: AOAM533dkP6h5N0FEcJFS4zBjaCj/2YHg2yxaqVRxej+y9eS/7ARcgB6 XLw2yLHOSH/YLqGIDrNBl5Srdtqnwb8OMA== X-Google-Smtp-Source: ABdhPJymK9job8s9xjhtWEkbHOIv2ga/DySgvODC/T+9vMd998YHDH9wWDnjW7K9QmznAsBEN4EmWw== X-Received: by 2002:a05:622a:3:: with SMTP id x3mr17518322qtw.42.1614686185857; Tue, 02 Mar 2021 03:56:25 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id j11sm13550858qtk.63.2021.03.02.03.56.24 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Mar 2021 03:56:25 -0800 (PST) Message-ID: <603e27e9.1c69fb81.a4fa1.2a87@mx.google.com> X-Google-Original-Message-ID: <875z29rcpl.fsf@maurooaranda@gmail.com> From: Mauro Aranda To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) In-Reply-To: <87h7ltvl8l.fsf@tcd.ie> (contovob@tcd.ie) Date: Tue, 02 Mar 2021 08:56:22 -0300 MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: info@protesilaos.com, eliz@gnu.org, 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "Basil L. Contovounesios" writes: > Mauro Aranda writes: > >> I'll just say that I raised the question because (usually) theme files >> are just settings, so for a user to check the safety it is normally >> enough to go through the custom-theme-set-* functions and see what the >> theme is setting. Now the user would be asked to check a require-theme >> call for its safety, and since a call to require-theme looks a lot like >> require, it might not be obvious that it can load (and enable) any theme >> it wants. > > I'm suggesting that require-theme never enables any themes. And to the > eyes of the user, it would be no different than a call to require or > load, which we already don't warn a second time about. Then there's no reason for me to worry at all. >> And if a theme uses require-theme to do that, it can "hide" >> the "unsafe theme" settings, because the first element of >> custom-enabled-themes will just be the "safe" theme. > > Sorry, I'm not sure what you mean, could you please elaborate on the > steps involved? With the require-theme posted that included a (load-theme t) call, I thought about the following steps: The user enables super-safe-theme which hasn't been marked as safe. The theme has a call to require-theme: (require-theme 'should-be-safe-theme) and the user thinks it's fine because should-be-safe-theme comes from the same author as super-safe-theme. The user doesn't check should-be-safe-theme.el (shame on him), and is neither prompted because of the NO-CONFIRM non-nil. should-be-safe-theme.el has this call: (require-theme 'not-so-safe-theme) and the user is again not prompted for this theme. After all the loading and enabling, custom-enabled-themes looks like this: (super-safe should-be-safe not-so-safe) and it's not entirely obvious which setting came from which theme. Of course all of this is already possible, but the theme has to put a (load-theme t) call in front of the user eyes. But anyway, if you're thinking about a require-theme that never enables any theme, this is not relevant anymore. From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 03 11:31:40 2021 Received: (at 45068) by debbugs.gnu.org; 3 Mar 2021 16:31:40 +0000 Received: from localhost ([127.0.0.1]:56774 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHUPT-0004mu-IH for submit@debbugs.gnu.org; Wed, 03 Mar 2021 11:31:40 -0500 Received: from mail-wm1-f49.google.com ([209.85.128.49]:56192) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHUPR-0004mh-J0 for 45068@debbugs.gnu.org; Wed, 03 Mar 2021 11:31:38 -0500 Received: by mail-wm1-f49.google.com with SMTP id w7so5670536wmb.5 for <45068@debbugs.gnu.org>; Wed, 03 Mar 2021 08:31:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=W1D6Al7E66EZggOkuuUADv3k5o6ZzXDA7qBoL4/KVuE=; b=dSxElR5tZuFSHTA95o7pryVdFKzuYduq1oLjXIyfGnPC/jqIAzJC+Bcjh6UxnbfzIO 09nn+NZlaYxBBYS+FM6vfqONO7nM3DJLmloCKXfWRFTHvyikseLrL1muoZeUVx7QLGqF xpazhAQXOFjV/zm9E9UO9ydYD9vGrX1pW78qVCY+tWXBn5/fWTizFNVFqCueOPKLdi7U +eTalJyaGLvcyeUtrMDlF4BGjTA6o3Mtwm9SUV3GpXGPJVOaEA2dAaqorFgIQ4maQV+M G/EyyM1tQUyeOf4D6QYWM76dfiJgexiRO9UHivc9htElvxJxb++NZTm1iHYhhhJ0A+gT FMZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=W1D6Al7E66EZggOkuuUADv3k5o6ZzXDA7qBoL4/KVuE=; b=IthO3bncideBtX4e8Twj+U5tlWOb2R8DdO40kqikPoIiZJ5sWus7SHHrWjERsMpBjX fXGl7M/Ht0jnQNiZwf+53eQamUeJX+iD63vjGrS9QURwELA/iRXZ8RC44sS6gQZwAhQV j3B+wXsQ1dzT1NcWndqy6CNOQne+cTv2Nhsb6lRKsEd4MtPgf+pnUozoDzznaEoV4b7x qGmzeXOlTChQCFiWWKjFcPp81cPDxwuvBhfCFhB5FSa7x/GJNgxM8h5pPiMfQEGCi4OR Sb8EUlKs2RHh7ntxf6bGYdL6dAcCia3fdTDNPb5N0+o6aE1rDOJNSl9XiWPdTKhhIUPp Z4aw== X-Gm-Message-State: AOAM533C0/3cUwlIePYk5dc/UiHwGcHopv7blWxchp/1pWDTu2ErSFlo 5RRpCzcvkUUBQjEUuMD8wow9EA== X-Google-Smtp-Source: ABdhPJzXwC4T5g8Mem7ZGL1JPIBo3o49f9/WCDlK3U9NKPjGN11m2IULXniJ1y+qa9Oo7vs4F/y0OA== X-Received: by 2002:a7b:ca50:: with SMTP id m16mr9541370wml.113.1614789091479; Wed, 03 Mar 2021 08:31:31 -0800 (PST) Received: from localhost ([2a02:8084:20e2:c380:f410:82e8:3a21:eedf]) by smtp.gmail.com with ESMTPSA id z21sm6501111wma.29.2021.03.03.08.31.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Mar 2021 08:31:30 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83lfe4192f.fsf@gnu.org> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> Date: Wed, 03 Mar 2021 16:31:28 +0000 In-Reply-To: <878s75x2uk.fsf@tcd.ie> (Basil L. Contovounesios's message of "Tue, 02 Mar 2021 10:32:51 +0000") Message-ID: <87o8g0ryfz.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain "Basil L. Contovounesios" writes: > I'll suggest a patch soon to help the discussion. How's the attached? Thanks, -- Basil --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Decouple-require-theme-from-load-theme.patch >From 89c356e0ae18fd265a0992a6767289e267410a26 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Tue, 2 Mar 2021 14:35:50 +0000 Subject: [PATCH] Decouple require-theme from load-theme * lisp/custom.el (require-theme): Refashion after 'require', as a function for loading only named features. Do not call load-theme (bug#45068). * etc/NEWS: Update its announcement accordingly. * doc/lispref/customize.texi (Custom Themes): Document it. * etc/themes/modus-operandi-theme.el: * etc/themes/modus-vivendi-theme.el: Remove redundant calls to 'provide'. * test/lisp/custom-tests.el (custom-tests--with-temp-dir): New macro. (custom-theme--load-path): Use it. (custom-tests-require-theme): New test. --- doc/lispref/customize.texi | 26 ++++- etc/NEWS | 8 +- etc/themes/modus-operandi-theme.el | 2 - etc/themes/modus-vivendi-theme.el | 2 - lisp/custom.el | 40 ++++---- test/lisp/custom-tests.el | 150 ++++++++++++++++++----------- 6 files changed, 144 insertions(+), 84 deletions(-) diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index 8fd12f7902..bc35982c17 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi @@ -1474,7 +1474,7 @@ Custom Themes displays the source file and asks for confirmation from the user before loading any non-built-in theme for the first time. As such, themes are not ordinarily byte-compiled, and source files -always take precedence when Emacs is looking for a theme to load. +usually take precedence when Emacs is looking for a theme to load. The following functions are useful for programmatically enabling and disabling themes: @@ -1508,6 +1508,30 @@ Custom Themes @var{no-confirm} is non-@code{nil}. @end deffn +@defun require-theme feature &optional noerror +This function searches @code{custom-theme-load-path} for a file that +provides @var{feature} and then loads it. This is like the function +@code{require} (@pxref{Named Features}), except it searches +@code{custom-theme-load-path} instead of @code{load-path} +(@pxref{Library Search}). This can be useful in Custom themes that +need to load supporting Lisp files when @code{require} is unsuitable +for that. + +If @var{feature}, which should be a symbol, is not already present in +the current Emacs session according to @code{featurep}, then +@code{require-theme} searches for a file named @var{feature} with an +added @samp{.elc} or @samp{.el} suffix, in that order, in the +directories specified by @code{custom-theme-load-path}. + +If a file providing @var{feature} is successfully found and loaded, +then @code{require-theme} returns @var{feature}. The optional +argument @var{noerror} determines what happens if the search or +loading fails. If it is @code{nil}, the function signals an error; +otherwise, it returns @code{nil}. If the file loads successfully but +does not provide @var{feature}, then @code{require-theme} signals an +error; this cannot be suppressed. +@end defun + @deffn Command enable-theme theme This function enables the Custom theme named @var{theme}. It signals an error if no such theme has been loaded. diff --git a/etc/NEWS b/etc/NEWS index 73f136cfa7..c794597de5 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -2511,11 +2511,11 @@ region's (or buffer's) end. This function can be used by modes to add elements to the 'choice' customization type of a variable. ---- ++++ ** New function 'require-theme'. -This function is used to load a theme or library stored in the -'custom-theme-load-path'. It is intended to work as a substitute for -'require' in those cases where that cannot be used. +This function is like 'require', but searches 'custom-theme-load-path' +instead of 'load-path'. It can be used by Custom themes to load +supporting Lisp files when 'require' is unsuitable. +++ ** New function 'file-modes-number-to-symbolic' to convert a numeric diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el index 346000a093..9d6e9ad50f 100644 --- a/etc/themes/modus-operandi-theme.el +++ b/etc/themes/modus-operandi-theme.el @@ -4661,6 +4661,4 @@ modus-operandi-theme-scale (provide-theme 'modus-operandi) -(provide 'modus-operandi-theme) - ;;; modus-operandi-theme.el ends here diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el index 73f07d644b..171313244b 100644 --- a/etc/themes/modus-vivendi-theme.el +++ b/etc/themes/modus-vivendi-theme.el @@ -4661,6 +4661,4 @@ modus-vivendi-theme-scale (provide-theme 'modus-vivendi) -(provide 'modus-vivendi-theme) - ;;; modus-vivendi-theme.el ends here diff --git a/lisp/custom.el b/lisp/custom.el index 35ac4d8564..b9fccce583 100644 --- a/lisp/custom.el +++ b/lisp/custom.el @@ -1200,29 +1200,31 @@ provide-theme (custom-check-theme theme) (provide (get theme 'theme-feature))) -(defun require-theme (theme &optional path) - "Load THEME stored in `custom-theme-load-path'. +(defun require-theme (feature &optional noerror) + "Load FEATURE from a file along `custom-theme-load-path'. -THEME is a symbol that corresponds to the file name without its file -type extension. That is assumed to be either '.el' or '.elc'. +This function is like `require', but searches along +`custom-theme-load-path' instead of `load-path'. It can be used +by Custom themes to load supporting Lisp files when `require' is +unsuitable. -When THEME is an element of `custom-available-themes', load it and ask -for confirmation if it is not considered safe by `custom-safe-themes'. -Otherwise load the file indicated by THEME, if present. In the latter -case, the file is intended to work as the basis of a theme declared -with `deftheme'. +If FEATURE is not already loaded, search for a file named FEATURE +with an added `.elc' or `.el' suffix, in that order, in the +directories specified by `custom-theme-load-path'. -If optional PATH is non-nil, it should be a list of directories -to search for THEME in, instead of `custom-theme-load-path'. -PATH should have the same form as `load-path' or `exec-path'." +Return FEATURE if the file is successfully found and loaded, or +if FEATURE was already loaded. If the file fails to load, signal +an error. If optional argument NOERROR is non-nil, return nil +instead of signaling an error. If the file loads but does not +provide FEATURE, signal an error. This cannot be suppressed." (cond - ((memq theme (custom-available-themes)) - (load-theme theme)) - ((let* ((dirs (or path (custom-theme--load-path))) - (file (unless (featurep theme) - (locate-file (symbol-name theme) dirs '(".el" ".elc"))))) - (when file - (load-file file)))))) + ((featurep feature) feature) + ((let* ((path (custom-theme--load-path)) + (file (locate-file (symbol-name feature) path '(".elc" ".el")))) + (and file (require feature (file-name-sans-extension file) noerror)))) + ((not noerror) + (let (load-path) + (require feature))))) (defcustom custom-safe-themes '(default) "Themes that are considered safe to load. diff --git a/test/lisp/custom-tests.el b/test/lisp/custom-tests.el index 09f79c1a08..02a9239824 100644 --- a/test/lisp/custom-tests.el +++ b/test/lisp/custom-tests.el @@ -24,70 +24,108 @@ (require 'wid-edit) (require 'cus-edit) -(require 'seq) ; For `seq-find'. + +(defmacro custom-tests--with-temp-dir (&rest body) + "Eval BODY with `temporary-file-directory' bound to a fresh directory. +Ensure the directory is recursively deleted after the fact." + (declare (debug t) (indent 0)) + (let ((dir (make-symbol "dir"))) + `(let ((,dir (file-name-as-directory (make-temp-file "custom-tests-" t)))) + (unwind-protect + (let ((temporary-file-directory ,dir)) + ,@body) + (delete-directory ,dir t))))) (ert-deftest custom-theme--load-path () "Test `custom-theme--load-path' behavior." - (let ((tmpdir (file-name-as-directory (make-temp-file "custom-tests-" t)))) - (unwind-protect - ;; Create all temporary files under the same deletable parent. - (let ((temporary-file-directory tmpdir)) - ;; Path is empty. - (let ((custom-theme-load-path ())) - (should (null (custom-theme--load-path)))) + (custom-tests--with-temp-dir + ;; Path is empty. + (let ((custom-theme-load-path ())) + (should (null (custom-theme--load-path)))) - ;; Path comprises non-existent file. - (let* ((name (make-temp-name tmpdir)) - (custom-theme-load-path (list name))) - (should (not (file-exists-p name))) - (should (null (custom-theme--load-path)))) + ;; Path comprises non-existent file. + (let* ((name (make-temp-name temporary-file-directory)) + (custom-theme-load-path (list name))) + (should (not (file-exists-p name))) + (should (null (custom-theme--load-path)))) - ;; Path comprises existing file. - (let* ((file (make-temp-file "file")) - (custom-theme-load-path (list file))) - (should (file-exists-p file)) - (should (not (file-directory-p file))) - (should (null (custom-theme--load-path)))) + ;; Path comprises existing file. + (let* ((file (make-temp-file "file")) + (custom-theme-load-path (list file))) + (should (file-exists-p file)) + (should (not (file-directory-p file))) + (should (null (custom-theme--load-path)))) - ;; Path comprises existing directory. - (let* ((dir (make-temp-file "dir" t)) - (custom-theme-load-path (list dir))) - (should (file-directory-p dir)) - (should (equal (custom-theme--load-path) custom-theme-load-path))) + ;; Path comprises existing directory. + (let* ((dir (make-temp-file "dir" t)) + (custom-theme-load-path (list dir))) + (should (file-directory-p dir)) + (should (equal (custom-theme--load-path) custom-theme-load-path))) - ;; Expand `custom-theme-directory' path element. - (let ((custom-theme-load-path '(custom-theme-directory))) - (let ((custom-theme-directory (make-temp-name tmpdir))) - (should (not (file-exists-p custom-theme-directory))) - (should (null (custom-theme--load-path)))) - (let ((custom-theme-directory (make-temp-file "file"))) - (should (file-exists-p custom-theme-directory)) - (should (not (file-directory-p custom-theme-directory))) - (should (null (custom-theme--load-path)))) - (let ((custom-theme-directory (make-temp-file "dir" t))) - (should (file-directory-p custom-theme-directory)) - (should (equal (custom-theme--load-path) - (list custom-theme-directory))))) + ;; Expand `custom-theme-directory' path element. + (let ((custom-theme-load-path '(custom-theme-directory))) + (let ((custom-theme-directory (make-temp-name temporary-file-directory))) + (should (not (file-exists-p custom-theme-directory))) + (should (null (custom-theme--load-path)))) + (let ((custom-theme-directory (make-temp-file "file"))) + (should (file-exists-p custom-theme-directory)) + (should (not (file-directory-p custom-theme-directory))) + (should (null (custom-theme--load-path)))) + (let ((custom-theme-directory (make-temp-file "dir" t))) + (should (file-directory-p custom-theme-directory)) + (should (equal (custom-theme--load-path) + (list custom-theme-directory))))) - ;; Expand t path element. - (let ((custom-theme-load-path '(t))) - (let ((data-directory (make-temp-name tmpdir))) - (should (not (file-exists-p data-directory))) - (should (null (custom-theme--load-path)))) - (let ((data-directory tmpdir) - (themedir (expand-file-name "themes" tmpdir))) - (should (not (file-exists-p themedir))) - (should (null (custom-theme--load-path))) - (with-temp-file themedir) - (should (file-exists-p themedir)) - (should (not (file-directory-p themedir))) - (should (null (custom-theme--load-path))) - (delete-file themedir) - (make-directory themedir) - (should (file-directory-p themedir)) - (should (equal (custom-theme--load-path) (list themedir)))))) - (when (file-directory-p tmpdir) - (delete-directory tmpdir t))))) + ;; Expand t path element. + (let ((custom-theme-load-path '(t))) + (let ((data-directory (make-temp-name temporary-file-directory))) + (should (not (file-exists-p data-directory))) + (should (null (custom-theme--load-path)))) + (let ((data-directory temporary-file-directory) + (themedir (expand-file-name "themes" temporary-file-directory))) + (should (not (file-exists-p themedir))) + (should (null (custom-theme--load-path))) + (with-temp-file themedir) + (should (file-exists-p themedir)) + (should (not (file-directory-p themedir))) + (should (null (custom-theme--load-path))) + (delete-file themedir) + (make-directory themedir) + (should (file-directory-p themedir)) + (should (equal (custom-theme--load-path) (list themedir))))))) + +(ert-deftest custom-tests-require-theme () + "Test `require-theme'." + (custom-tests--with-temp-dir + (let* ((default-directory temporary-file-directory) + (custom-theme-load-path (list default-directory)) + (load-path ())) + ;; Generate some `.el' and `.elc' files. + (with-temp-file "custom-tests--a.el" + (insert "(provide 'custom-tests--a)")) + (make-empty-file "custom-tests--b.el") + (with-temp-file "custom-tests--b.elc" + (byte-compile-insert-header nil (current-buffer)) + (insert "(provide 'custom-tests--b)")) + (make-empty-file "custom-tests--c.el") + (with-temp-file "custom-tests--d.elc" + (byte-compile-insert-header nil (current-buffer))) + ;; Load them. + (dolist (feature '(a b c d e)) + (should-not (featurep (intern (format "custom-tests--%s" feature))))) + (should (eq (require-theme 'custom-tests--a) 'custom-tests--a)) + (delete-file "custom-tests--a.el") + (dolist (feature '(custom-tests--a custom-tests--b)) + (should (eq (require-theme feature) feature)) + (should (featurep feature))) + (dolist (feature '(custom-tests--c custom-tests--d)) + (dolist (noerror '(nil t)) + (let ((err (should-error (require-theme feature noerror)))) + (should (string-search "failed to provide feature" (cadr err)))))) + (should-error (require-theme 'custom-tests--e) :type 'file-missing) + (should-not (require-theme 'custom-tests--e t)) + (dolist (feature '(custom-tests--c custom-tests--d custom-tests--e)) + (should-not (featurep feature)))))) (defcustom custom--test-user-option 'foo "User option for test." -- 2.30.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 03 13:06:53 2021 Received: (at 45068) by debbugs.gnu.org; 3 Mar 2021 18:06:53 +0000 Received: from localhost ([127.0.0.1]:56952 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHVtd-0007Fx-ET for submit@debbugs.gnu.org; Wed, 03 Mar 2021 13:06:53 -0500 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:64109) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHVtc-0007Fi-Iz for 45068@debbugs.gnu.org; Wed, 03 Mar 2021 13:06:53 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 14881240007; Wed, 3 Mar 2021 18:06:44 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> Date: Wed, 03 Mar 2021 20:06:42 +0200 In-Reply-To: <87o8g0ryfz.fsf@tcd.ie> (Basil L. Contovounesios's message of "Wed, 03 Mar 2021 16:31:28 +0000") Message-ID: <871rcw8631.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-03, 16:31 +0000, "Basil L. Contovounesios" wrote: > "Basil L. Contovounesios" writes: > >> I'll suggest a patch soon to help the discussion. > > How's the attached? > > Thanks, I applied it and it works for what I want to do. The decoupling feels more appropriate. The major difference I see between evaluating 'require-theme' and 'require' forms is that the latter errors with a backtrace buffer, while the former logs a message. Compare those: (require 'give-me-error) (require-theme 'give-me-error) At any rate, tomorrow I will share with you the new version of my themes and their manual. Thank you! -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 03 21:04:51 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 02:04:51 +0000 Received: from localhost ([127.0.0.1]:57325 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHdMB-0008Br-7O for submit@debbugs.gnu.org; Wed, 03 Mar 2021 21:04:51 -0500 Received: from mail-wm1-f53.google.com ([209.85.128.53]:54109) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHdMA-0008Bc-3S for 45068@debbugs.gnu.org; Wed, 03 Mar 2021 21:04:50 -0500 Received: by mail-wm1-f53.google.com with SMTP id e23so6662716wmh.3 for <45068@debbugs.gnu.org>; Wed, 03 Mar 2021 18:04:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=+67WJXWtlYXW27ZKI5lw56JTKQ8/NrTFitO9HRqO5ws=; b=U5xcnabk+cC1ckiifwEGe2DlO/kYigGJZwXnVxRwz6IsPg4SP2Q9mXE3MndOutn+rv DKlGTaJbqUeoSBl/eh7Qy25qRbbcOJvrqeWfWfYeJF1mp9w0cCJ6w/UjRCMFrOPGJxGS oxxLzjyx2xvFcZGScLe+Fm6Uav93hz2PsN0Xrsl3v1msRu3jb8pI2TEJJI81qpmLeX5m wP2fFdJq3Jm0aj5a43dfSlOR7xZ3AKFTntrhISVvLtkCu+yxaJ1gBkGyaZEUalUULjDu uUtwLg3msxdOmX6EPKE8QOqD+MYxzQjKc4cPgAG5hqDebLtaLnUQSH7tv3aGgrh+bmMC 7dVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=+67WJXWtlYXW27ZKI5lw56JTKQ8/NrTFitO9HRqO5ws=; b=DdaGMNSnz9+/vKsQ2s1pSikaL/0ceSpQXtqrEDIT3D0mxufZkU9UIHzo7ZHblKjT6x O314IRG9vZaVoWdMr9JJq7LRU2b9WZ6lkDuYZQOutxs4dTZ7zyHU2BD2kWTpKDDaxgC+ EI0D3yEW5hh+fCpabbNZhAJqBhKFnaQ+5uZS1UvejvBYngnH/67Z4Vds+KiMV+gL2g5u KclamADTQPT/M2XJwDfqEjXIH5tX37NITm4wGHDNHd5TtX0wW1CDKFxSKYaxejB9rqa7 nmghG5w2tXfvKG3UU/LmCWwG61zU2QP0EjQ81q+Ec3DCdWDIalofJg/f5Q5UFmkgxn3J 7Q1Q== X-Gm-Message-State: AOAM5310INPQvwIV6SjLvajDupRWb128NyU8eHhiTgH6fENLv+F7k18R /zhAHLXr6vhDQ61/R1ExjZp2zA== X-Google-Smtp-Source: ABdhPJyL2PKImmW6Bu7iCvhzq8FuGy36KY/I1pwi9637F3XZt62NZ/POCBOvHwk5J8ZHWDe61HCFeA== X-Received: by 2002:a7b:cb90:: with SMTP id m16mr1453402wmi.162.1614823484376; Wed, 03 Mar 2021 18:04:44 -0800 (PST) Received: from localhost ([2a02:8084:20e2:c380:f410:82e8:3a21:eedf]) by smtp.gmail.com with ESMTPSA id u4sm32674967wrr.37.2021.03.03.18.04.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Mar 2021 18:04:43 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <871rcw8631.fsf@protesilaos.com> Date: Thu, 04 Mar 2021 02:04:41 +0000 In-Reply-To: <871rcw8631.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Wed, 03 Mar 2021 20:06:42 +0200") Message-ID: <87wnunbrnq.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > I applied it and it works for what I want to do. The decoupling feels > more appropriate. Thanks for reviewing it. > The major difference I see between evaluating 'require-theme' and > 'require' forms is that the latter errors with a backtrace buffer, while > the former logs a message. > > Compare those: > > (require 'give-me-error) > (require-theme 'give-me-error) Hm, how are you evaluating them? Here's what I tried: 0. ./src/emacs -Q 1. (require 'give-me-error) C-j Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "give-me-error") require(give-me-error) (progn (require 'give-me-error)) eval((progn (require 'give-me-error)) t) elisp--eval-last-sexp(t) eval-last-sexp(t) eval-print-last-sexp(nil) funcall-interactively(eval-print-last-sexp nil) call-interactively(eval-print-last-sexp nil nil) command-execute(eval-print-last-sexp) 2. q 3. (require-theme 'give-me-error) C-j Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "give-me-error") require(give-me-error) require-theme(give-me-error) (progn (require-theme 'give-me-error)) eval((progn (require-theme 'give-me-error)) t) elisp--eval-last-sexp(t) eval-last-sexp(t) eval-print-last-sexp(nil) funcall-interactively(eval-print-last-sexp nil) call-interactively(eval-print-last-sexp nil nil) command-execute(eval-print-last-sexp) The patch implements require-theme in terms of require, so even the error symbol and data should be identical. > At any rate, tomorrow I will share with you the new version of my themes > and their manual. I look forward to it. Thanks, -- Basil From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 03 23:53:17 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 04:53:17 +0000 Received: from localhost ([127.0.0.1]:57412 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHfzB-000601-4X for submit@debbugs.gnu.org; Wed, 03 Mar 2021 23:53:17 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:51205) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHfzA-0005zp-5J for 45068@debbugs.gnu.org; Wed, 03 Mar 2021 23:53:16 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id BC6E01C0004; Thu, 4 Mar 2021 04:53:08 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <871rcw8631.fsf@protesilaos.com> <87wnunbrnq.fsf@tcd.ie> Date: Thu, 04 Mar 2021 06:53:06 +0200 In-Reply-To: <87wnunbrnq.fsf@tcd.ie> (Basil L. Contovounesios's message of "Thu, 04 Mar 2021 02:04:41 +0000") Message-ID: <875z27bjv1.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: Eli Zaretskii , Mauro Aranda , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-04, 02:04 +0000, "Basil L. Contovounesios" wrote: > Protesilaos Stavrou writes: > >> I applied it and it works for what I want to do. The decoupling feels >> more appropriate. > > Thanks for reviewing it. You are welcome! >> The major difference I see between evaluating 'require-theme' and >> 'require' forms is that the latter errors with a backtrace buffer, while >> the former logs a message. >> >> Compare those: >> >> (require 'give-me-error) >> (require-theme 'give-me-error) > > Hm, how are you evaluating them? Here's what I tried: > > [...] > > The patch implements require-theme in terms of require, > so even the error symbol and data should be identical. My bad! I was trying the patch in emacs -Q and then went to my unpatched Emacs' scratch buffer... >> At any rate, tomorrow I will share with you the new version of my themes >> and their manual. > > I look forward to it. Will finalise the changelog entry and update this thread. Probably within 8 hours or so. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 04 07:33:13 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 12:33:13 +0000 Received: from localhost ([127.0.0.1]:58023 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHnAH-0007NV-Bq for submit@debbugs.gnu.org; Thu, 04 Mar 2021 07:33:13 -0500 Received: from mail-qt1-f176.google.com ([209.85.160.176]:45150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHnAC-0007NF-GF for 45068@debbugs.gnu.org; Thu, 04 Mar 2021 07:33:11 -0500 Received: by mail-qt1-f176.google.com with SMTP id j3so4505534qtj.12 for <45068@debbugs.gnu.org>; Thu, 04 Mar 2021 04:33:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version; bh=vJpeVjb83ZG0GtKnKcgO5v1HEMTUSUIpmPmTP90uFrU=; b=r8Fc44+MM9iiQg1Iy2q3g6RrXnc9sjZDDLe/B4yXseZuuHBZJVohPV+4CXfg0DgYmd gMUCO7k0L6qetg0b55OF90qRkktKm1uxZQ1UPpA5qxIql10P4dBqFZukc/PUFQ8xg7Mj ZoVGZ3D2pJhDSpKXKbBtkJ50OOZvLubYW55AcDLDjcr8HnhEGRDqTwFGGcizRpAkt5AG MUETfjkl2yUAGmQ0TSaO0m2YAnvQraFPNXZUYlKapECsFRA0eRTSBCY8lptRn9+jAWRH eL1InIR/rMiGIk2OmxvGTBM9D3nbeOQ5v3xBvXGupQBRER/6ti4GNCba7r/9f+x2E3HG vH3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version; bh=vJpeVjb83ZG0GtKnKcgO5v1HEMTUSUIpmPmTP90uFrU=; b=o16SyYRg5ei4dxBbbzbFlBU0kae21B5QbhP9EnF/pA2MMmT61P1kT6SjZkTvIvLqU2 E7rCarWGTQMfXxAbOT5x1JFVTILkqis+a5fZp1Tjy2PHoY7U53H6WrwZeAtmdoeG2/63 gvoDA7utSxEgKJmDQ5S9mSu+arLhkRv2qA8bvSJrTm2xsimbu5iIBCCptIkQBq3FXAe3 cV5yn9WtWiB7AMMGDVqgb9TQNXMJlskR80tHxagaIWN3ABH9HmU6RwbJGNYPyLNJXNEn bLWYDYZwyCXAhZYaOFwzbDEMsLPo6QcEQM/uSLdeoKL+txwyKIMyqFepvf8O9vbLvnyK Nzqw== X-Gm-Message-State: AOAM531GSjkHkRAirAXL+b8YYxgP0BcC/TPBAhV9txGSLlG6LEImjqSU 1BidrYcADlkjrsGrdNuBuOFCJw8+8fyAbw== X-Google-Smtp-Source: ABdhPJyAnqkA4Y1i6+VgLYN1MlqWDw7x1WE4TaIiQ9gAJDFpJmLpSkpozcZ39MMhdrR1uIdjppZsNg== X-Received: by 2002:ac8:7409:: with SMTP id p9mr3717993qtq.100.1614861182563; Thu, 04 Mar 2021 04:33:02 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id z78sm6451393qka.38.2021.03.04.04.33.00 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 04 Mar 2021 04:33:02 -0800 (PST) Message-ID: <6040d37e.1c69fb81.63467.ad62@mx.google.com> X-Google-Original-Message-ID: <87wnunqeth.fsf@maurooaranda@gmail.com> From: Mauro Aranda To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> Date: Thu, 04 Mar 2021 09:32:58 -0300 In-Reply-To: <87o8g0ryfz.fsf@tcd.ie> (Basil L. Contovounesios's message of "Wed, 03 Mar 2021 16:31:28 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Protesilaos Stavrou , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) "Basil L. Contovounesios" writes: > "Basil L. Contovounesios" writes: > >> I'll suggest a patch soon to help the discussion. > > How's the attached? > > Thanks, LGTM, thank you. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 04 09:54:35 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 14:54:35 +0000 Received: from localhost ([127.0.0.1]:58275 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHpN5-0006kt-6e for submit@debbugs.gnu.org; Thu, 04 Mar 2021 09:54:35 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:49959) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHpN2-0006kf-JB for 45068@debbugs.gnu.org; Thu, 04 Mar 2021 09:54:33 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 7A15160003; Thu, 4 Mar 2021 14:54:18 +0000 (UTC) From: Protesilaos Stavrou To: Mauro Aranda Subject: [PATCH] Modus themes 1.2.0 (was: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible)) References: <87im9fgm27.fsf@protesilaos.com> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> Date: Thu, 04 Mar 2021 16:54:15 +0200 In-Reply-To: <6040d37e.1c69fb81.63467.ad62@mx.google.com> (Mauro Aranda's message of "Thu, 04 Mar 2021 09:32:58 -0300") Message-ID: <87wnun9dgo.fsf_-_@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --=-=-= Content-Type: text/plain On 2021-03-04, 09:32 -0300, Mauro Aranda wrote: > "Basil L. Contovounesios" writes: > >> "Basil L. Contovounesios" writes: >> >>> I'll suggest a patch soon to help the discussion. >> >> How's the attached? >> >> Thanks, > > LGTM, thank you. Hello again! As noted earlier, please find attached the patch that upgrades the themes to their newest version 1.2.0. I tested it with Basil's latest patch for 'require-theme', though it still works with the variant of that function currently in trunk. For your convenience, I also attach a note that I intend to post on emacs-devel: it warns about the minor backward-incompatible refactoring of some symbols and offers an overview of what is now available. Thank you once more! Prot -- Protesilaos Stavrou protesilaos.com --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-Update-Modus-themes-to-their-version-1.2.0.patch Content-Transfer-Encoding: base64 RnJvbSBkODFkYzZlZjA2OTgyZmIwNWM5ZjY2MDQ2MDgzMGQ5NmUyNjg0NzI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KTWVzc2FnZS1JZDogPGQ4MWRjNmVmMDY5ODJmYjA1YzlmNjYwNDYwODMw ZDk2ZTI2ODQ3MjUuMTYxNDg2NzY3MS5naXQuaW5mb0Bwcm90ZXNpbGFvcy5jb20+DQpGcm9tOiBQ cm90ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCkRhdGU6IFRodSwgNCBN YXIgMjAyMSAxNjoyMDoxNSArMDIwMA0KU3ViamVjdDogW1BBVENIXSBVcGRhdGUgTW9kdXMgdGhl bWVzIHRvIHRoZWlyIHZlcnNpb24gMS4yLjANCg0KKiBkb2MvbWlzYy9tb2R1cy10aGVtZXMub3Jn OiBBZGQgbmV3IHZlcnNpb24gb2YgdGhlIG1hbnVhbCwgd2l0aA0KICBjaGFuZ2VzIHRvIG1hcmt1 cCBhbmQgcmVmZXJlbmNlcyB0byB0aGUgbGF0ZXN0IHN0YXRlIG9mIHRoZSBwcm9qZWN0Lg0KDQoq IGV0Yy90aGVtZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbDoNCiogZXRjL3RoZW1lcy9tb2R1cy1v cGVyYW5kaS10aGVtZS5lbDogUHJvdmlkZSB1cGRhdGVkIHZlcnNpb24gb2YgZWFjaA0KICB0aGVt ZSwgd2hpY2ggZXhwYW5kcyB0aGUgY29udGVudHMgb2YgJ21vZHVzLXRoZW1lcy5lbCcuDQoNCiog ZXRjL3RoZW1lcy9tb2R1cy10aGVtZXMuZWw6IEFkZCBuZXcgc3VwcG9ydGl2ZSBmaWxlLiAgVGhp cyBpcyB3aGVyZQ0KICB0aGVtZSBkYXRhLCBmdW5jdGlvbnMsIGFuZCBmYWNlIGRlZmluaXRpb25z IGFyZSBkZWZpbmVkLg0KLS0tDQogZG9jL21pc2MvbW9kdXMtdGhlbWVzLm9yZyAgICAgICAgICB8 IDMyNjEgKysrKysrKysrLS0tLS0NCiBldGMvdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVs IHwgNDY3MiArLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIGV0Yy90aGVtZXMvbW9kdXMtdGhlbWVzLmVs ICAgICAgICAgfCA2NDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBldGMvdGhlbWVz L21vZHVzLXZpdmVuZGktdGhlbWUuZWwgIHwgNDY3MiArLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIDQg ZmlsZXMgY2hhbmdlZCwgODgwNyBpbnNlcnRpb25zKCspLCAxMDIzOSBkZWxldGlvbnMoLSkNCiBj cmVhdGUgbW9kZSAxMDA2NDQgZXRjL3RoZW1lcy9tb2R1cy10aGVtZXMuZWwNCg0KZGlmZiAtLWdp dCBhL2RvYy9taXNjL21vZHVzLXRoZW1lcy5vcmcgYi9kb2MvbWlzYy9tb2R1cy10aGVtZXMub3Jn DQppbmRleCA0YTYxNTBjZjlkLi5mMGM5ZjNhYjIyIDEwMDY0NA0KLS0tIGEvZG9jL21pc2MvbW9k dXMtdGhlbWVzLm9yZw0KKysrIGIvZG9jL21pc2MvbW9kdXMtdGhlbWVzLm9yZw0KQEAgLTEsMzAg KzEsNTEgQEANCi0jK1RJVExFOiBNb2R1cyB0aGVtZXMgZm9yIEdOVSBFbWFjcw0KLSMrQVVUSE9S OiBQcm90ZXNpbGFvcyBTdGF2cm91DQotIytFTUFJTDogaW5mb0Bwcm90ZXNpbGFvcy5jb20NCi0j K1RFWElORk9fRElSX0NBVEVHT1JZOiBFbWFjcyBtaXNjIGZlYXR1cmVzDQotIytURVhJTkZPX0RJ Ul9USVRMRTogTW9kdXMgVGhlbWVzOiAobW9kdXMtdGhlbWVzKQ0KLSMrVEVYSU5GT19ESVJfREVT QzogSGlnaGx5IGFjY2Vzc2libGUgdGhlbWVzIChXQ0FHIEFBQSkNCi0jK09QVElPTlM6ICc6dCB0 b2M6bmlsIGF1dGhvcjp0IGVtYWlsOnQNCi0jK01BQ1JPOiB2ZXJzaW9uLXRhZyAwLjEzLjANCi0j K01BQ1JPOiByZWxlYXNlLWRhdGUgMjAyMC0xMC0wOA0KKyMrdGl0bGU6IE1vZHVzIHRoZW1lcyBm b3IgR05VIEVtYWNzDQorIythdXRob3I6IFByb3Rlc2lsYW9zIFN0YXZyb3UNCisjK2VtYWlsOiBp bmZvQHByb3Rlc2lsYW9zLmNvbQ0KKyMrbGFuZ3VhZ2U6IGVuDQorIytvcHRpb25zOiAnOnQgdG9j Om5pbCBhdXRob3I6dCBlbWFpbDp0DQorDQorIyttYWNybzogc3RhYmxlLXZlcnNpb24gMS4yLjAN CisjK21hY3JvOiByZWxlYXNlLWRhdGUgMjAyMS0wMy0wNA0KKyMrbWFjcm86IGRldmVsb3BtZW50 LXZlcnNpb24gMS4zLjAtZGV2DQorIyttYWNybzogZXhwb3J0LWRhdGUgKGV2YWwgKGZvcm1hdC10 aW1lLXN0cmluZyAiJUYgJVIgJXoiIChjdXJyZW50LXRpbWUpKSkNCisjK21hY3JvOiBmaWxlIEBA dGV4aW5mbzpAZmlsZXtAQCQxQEB0ZXhpbmZvOn1AQA0KKyMgVGhlICJrYmQiIG1hY3JvIHR1cm5z IEtCRCBpbnRvIEBrYmR7S0JEfS4gIEFkZGl0aW9uYWxseSwgaXQNCisjIGVuY2xvc2VzIGNhc2Ut c2Vuc2l0aXZlIHNwZWNpYWwga2V5cyAoU1BDLCBSRVQuLi4pIHdpdGhpbiBAa2V5ey4uLn0uDQor IyBJIGdvdCB0aGlzIGZyb20gdGhlIE9yZyBzb3VyY2UgY29kZS4NCisjK21hY3JvOiBrYmQgKGV2 YWwgKGxldCAoKGNhc2UtZm9sZC1zZWFyY2ggbmlsKSAocmVnZXhwIChyZWdleHAtb3B0ICcoIlNQ QyIgIlJFVCIgIkxGRCIgIlRBQiIgIkJTIiAiRVNDIiAiREVMRVRFIiAiU0hJRlQiICJDdHJsIiAi TWV0YSIgIkFsdCIgIkNtZCIgIlN1cGVyIiAiVVAiICJMRUZUIiAiUklHSFQiICJET1dOIikgJ3dv cmRzKSkpIChmb3JtYXQgIkBAdGV4aW5mbzpAa2Jke0BAJXNAQHRleGluZm86fUBAIiAocmVwbGFj ZS1yZWdleHAtaW4tc3RyaW5nIHJlZ2V4cCAiQEB0ZXhpbmZvOkBrZXl7QEBcXCZAQHRleGluZm86 fUBAIiAkMSB0KSkpKQ0KKw0KKyMrdGV4aW5mb19maWxlbmFtZTogbW9kdXMtdGhlbWVzLmluZm8N CisjK3RleGluZm9fZGlyX2NhdGVnb3J5OiBFbWFjcyBtaXNjIGZlYXR1cmVzDQorIyt0ZXhpbmZv X2Rpcl90aXRsZTogTW9kdXMgVGhlbWVzOiAobW9kdXMtdGhlbWVzKQ0KKyMrdGV4aW5mb19kaXJf ZGVzYzogSGlnaGx5IGFjY2Vzc2libGUgdGhlbWVzIChXQ0FHIEFBQSkNCisjK3RleGluZm9faGVh ZGVyOiBAc2V0IE1BSU5UQUlORVJTSVRFIEB1cmVme2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tLG1h aW50YWluZXIgd2VicGFnZX0NCisjK3RleGluZm9faGVhZGVyOiBAc2V0IE1BSU5UQUlORVIgUHJv dGVzaWxhb3MgU3RhdnJvdQ0KKyMrdGV4aW5mb19oZWFkZXI6IEBzZXQgTUFJTlRBSU5FUkVNQUlM IEBlbWFpbHtpbmZvQHByb3Rlc2lsYW9zLmNvbX0NCisjK3RleGluZm9faGVhZGVyOiBAc2V0IE1B SU5UQUlORVJDT05UQUNUIEB1cmVme21haWx0bzppbmZvQHByb3Rlc2lsYW9zLmNvbSxjb250YWN0 IHRoZSBtYWludGFpbmVyfQ0KIA0KICMrdGV4aW5mbzogQGluc2VydGNvcHlpbmcNCiANCiBUaGlz IG1hbnVhbCwgd3JpdHRlbiBieSBQcm90ZXNpbGFvcyBTdGF2cm91LCBkZXNjcmliZXMgdGhlIGN1 c3RvbWl6YXRpb24NCi1vcHRpb25zIGZvciB0aGUgPW1vZHVzLW9wZXJhbmRpPSBhbmQgPW1vZHVz LXZpdmVuZGk9IHRoZW1lcywgYW5kIHByb3ZpZGVzDQorb3B0aW9ucyBmb3IgdGhlIH5tb2R1cy1v cGVyYW5kaX4gYW5kIH5tb2R1cy12aXZlbmRpfiB0aGVtZXMsIGFuZCBwcm92aWRlcw0KIGV2ZXJ5 IG90aGVyIHBpZWNlIG9mIGluZm9ybWF0aW9uIHBlcnRpbmVudCB0byB0aGVtLg0KIA0KLVRoZSBk b2N1bWVudGF0aW9uIGZ1cm5pc2hlZCBoZXJlaW4gY29ycmVzcG9uZHMgdG8gdmVyc2lvbiB7e3t2 ZXJzaW9uLXRhZ319fSwNCi1yZWxlYXNlZCBvbiB7e3tyZWxlYXNlLWRhdGV9fX0uICBBbnkgcmVm ZXJlbmNlIHRvIGEgbmV3ZXIgZmVhdHVyZSB3aGljaCBkb2VzDQotbm90IHlldCBmb3JtIHBhcnQg b2YgdGhlIGxhdGVzdCB0YWdnZWQgY29tbWl0LCBpcyBleHBsaWNpdGx5IG1hcmtlZCBhcw0KLXN1 Y2guDQorVGhlIGRvY3VtZW50YXRpb24gZnVybmlzaGVkIGhlcmVpbiBjb3JyZXNwb25kcyB0byBz dGFibGUgdmVyc2lvbg0KK3t7e3N0YWJsZS12ZXJzaW9ufX19LCByZWxlYXNlZCBvbiB7e3tyZWxl YXNlLWRhdGV9fX0uICBBbnkgcmVmZXJlbmNlIHRvIGEgbmV3ZXINCitmZWF0dXJlIHdoaWNoIGRv ZXMgbm90IHlldCBmb3JtIHBhcnQgb2YgdGhlIGxhdGVzdCB0YWdnZWQgY29tbWl0LCBpcw0KK2V4 cGxpY2l0bHkgbWFya2VkIGFzIHN1Y2guDQogDQotKiBDb3B5aW5nDQotOlBST1BFUlRJRVM6DQot OmNvcHlpbmc6ICB0DQotOkVORDoNCisjIEN1cnJlbnQgZGV2ZWxvcG1lbnQgdGFyZ2V0IGlzIHt7 e2RldmVsb3BtZW50LXZlcnNpb259fX0uICBUaGlzIG1hbnVhbCB3YXMNCisjIGJ1aWx0IG9uIHt7 e2V4cG9ydC1kYXRlfX19Lg0KIA0KLUNvcHlyaWdodCAoQykgMjAyMC0tMjAyMSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4NCisjK3RvYzogaGVhZGxpbmVzIDggaW5zZXJ0IFRPQyBoZXJl LCB3aXRoIGVpZ2h0IGhlYWRsaW5lIGxldmVscw0KKw0KKyogQ09QWUlORw0KKzpwcm9wZXJ0aWVz Og0KKzpjb3B5aW5nOiB0DQorOmN1c3RvbV9pZDogaDpiMTRjM2ZjYi0xM2RkLTQxNDQtOWQ5Mi0y YzU4YjNlZDE2ZDMNCis6ZW5kOg0KKw0KK0NvcHlyaWdodCAoQykgMjAyMC0yMDIxICBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCiANCiAjK2JlZ2luX3F1b3RlDQogUGVybWlzc2lvbiBp cyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzDQpAQCAtMzQs MTIgKzU1LDEwIEBAICogQ29weWluZw0KIGFuZCB3aXRoIG5vIEJhY2stQ292ZXIgVGV4dHMuDQog IytlbmRfcXVvdGUNCiANCi0jK1RPQzogaGVhZGxpbmVzIDggaW5zZXJ0IFRPQyBoZXJlLCB3aXRo IGVpZ2h0IGhlYWRsaW5lIGxldmVscw0KLQ0KICogT3ZlcnZpZXcNCi06UFJPUEVSVElFUzoNCi06 Q1VTVE9NX0lEOiBoOmYwZjNkYmNiLTYwMmQtNDBjZi1iOTE4LThmOTI5YzQ0MWJhZg0KLTpFTkQ6 DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDpmMGYzZGJjYi02MDJkLTQwY2YtYjkxOC04 ZjkyOWM0NDFiYWYNCis6ZW5kOg0KIA0KIFRoZSBNb2R1cyB0aGVtZXMgYXJlIGRlc2lnbmVkIGZv ciBhY2Nlc3NpYmxlIHJlYWRhYmlsaXR5LiAgVGhleSBjb25mb3JtDQogd2l0aCB0aGUgaGlnaGVz dCBzdGFuZGFyZCBmb3IgY29sb3IgY29udHJhc3QgYmV0d2VlbiBhbnkgZ2l2ZW4NCkBAIC00Nyw5 ICs2Niw5IEBAICogT3ZlcnZpZXcNCiB0aGUgV0NBRyBBQUEgc3RhbmRhcmQsIHdoaWNoIHNwZWNp ZmllcyBhIG1pbmltdW0gcmF0ZSBvZiBkaXN0YW5jZSBpbg0KIHJlbGF0aXZlIGx1bWluYW5jZSBv ZiA3OjEuDQogDQotTW9kdXMgT3BlcmFuZGkgKD1tb2R1cy1vcGVyYW5kaT0pIGlzIGEgbGlnaHQg dGhlbWUsIHdoaWxlIE1vZHVzIFZpdmVuZGkNCi0oPW1vZHVzLXZpdmVuZGk9KSBpcyBkYXJrLiAg RWFjaCB0aGVtZSdzIGNvbG9yIHBhbGV0dGUgaXMgZGVzaWduZWQgdG8NCi1tZWV0IHRoZSBuZWVk cyBvZiB0aGUgbnVtZXJvdXMgaW50ZXJmYWNlcyB0aGF0IGFyZSBwb3NzaWJsZSBpbiB0aGUgRW1h Y3MNCitNb2R1cyBPcGVyYW5kaSAofm1vZHVzLW9wZXJhbmRpfikgaXMgYSBsaWdodCB0aGVtZSwg d2hpbGUgTW9kdXMgVml2ZW5kaQ0KKyh+bW9kdXMtdml2ZW5kaX4pIGlzIGRhcmsuICBFYWNoIHRo ZW1lJ3MgY29sb3IgcGFsZXR0ZSBpcyBkZXNpZ25lZCB0byBtZWV0DQordGhlIG5lZWRzIG9mIHRo ZSBudW1lcm91cyBpbnRlcmZhY2VzIHRoYXQgYXJlIHBvc3NpYmxlIGluIHRoZSBFbWFjcw0KIGNv bXB1dGluZyBlbnZpcm9ubWVudC4NCiANCiBUaGUgb3ZlcmFyY2hpbmcgb2JqZWN0aXZlIG9mIHRo aXMgcHJvamVjdCBpcyB0byBhbHdheXMgb2ZmZXIgYWNjZXNzaWJsZQ0KQEAgLTU5LDE1ICs3OCwx NiBAQCAqIE92ZXJ2aWV3DQogDQogVG8gZW5zdXJlIHRoYXQgdXNlcnMgaGF2ZSBhIGNvbnNpc3Rl bnRseSBhY2Nlc3NpYmxlIGV4cGVyaWVuY2UsIHRoZQ0KIHRoZW1lcyBzdHJpdmUgdG8gYWNoaWV2 ZSBhcyBjbG9zZSB0byBmdWxsIGZhY2UgY292ZXJhZ2UgYXMgcG9zc2libGUNCi0oc2VlIFtbI2g6 YTljOGYyOWQtN2Y3Mi00YjU0LWI3NGItZGRlZmUxNWQ2YTE5XVtGYWNlIGNvdmVyYWdlXV0pLg0K KyhbWyNoOmE5YzhmMjlkLTdmNzItNGI1NC1iNzRiLWRkZWZlMTVkNmExOV1bRmFjZSBjb3ZlcmFn ZV1dKS4NCiANCiBTdGFydGluZyB3aXRoIHZlcnNpb24gMC4xMi4wIGFuZCBvbndhcmRzLCB0aGUg dGhlbWVzIGFyZSBidWlsdCBpbnRvIEdOVQ0KLUVtYWNzIChjdXJyZW50IHZlcnNpb24gaXMge3t7 dmVyc2lvbi10YWd9fX0pLg0KK0VtYWNzLg0KIA0KICoqIEhvdyBkbyB0aGUgdGhlbWVzIGxvb2sg bGlrZQ0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6NjliOTIwODktMDY5Yy00YmExLTlk OTQtY2MzNDE1ZmM0Zjg3DQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjY5 YjkyMDg5LTA2OWMtNGJhMS05ZDk0LWNjMzQxNWZjNGY4Nw0KKzplbmQ6DQorIytjaW5kZXg6IFNj cmVlbnNob3RzDQogDQogQ2hlY2sgdGhlIHdlYiBwYWdlIHdpdGggW1todHRwczovL3Byb3Rlc2ls YW9zLmNvbS9tb2R1cy10aGVtZXMtcGljdHVyZXMvXVt0aGUgc2NyZWVuIHNob3RzXV0uICBUaGVy ZSBhcmUgbG90cyBvZiBzY2VuYXJpb3MNCiBvbiBkaXNwbGF5IHRoYXQgZHJhdyBhdHRlbnRpb24g dG8gZGV0YWlscyBhbmQgaW1wb3J0YW50IGFzcGVjdHMgaW4gdGhlDQpAQCAtNzcsNTk2ICs5Nyw1 NTAgQEAgKiogSG93IGRvIHRoZSB0aGVtZXMgbG9vayBsaWtlDQogW1sjaDpiZjFjODJmMi00NmM3 LTRlYjItYWQwMC1kZDExZmRkOGI1M2ZdW0N1c3RvbWl6YXRpb24gb3B0aW9uc11dLg0KIA0KICoq IExlYXJuIGFib3V0IHRoZSBsYXRlc3QgY2hhbmdlcw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01f SUQ6IGg6MmNjMzdjMzYtNmMxYS00OGIyLWEwMTAtMTA1MGIyNzBlZTE4DQotOkVORDoNCis6cHJv cGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjJjYzM3YzM2LTZjMWEtNDhiMi1hMDEwLTEwNTBiMjcw ZWUxOA0KKzplbmQ6DQorIytjaW5kZXg6IENoYW5nZWxvZw0KIA0KIFBsZWFzZSByZWZlciB0byB0 aGUgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9tb2R1cy10aGVtZXMtY2hhbmdlbG9nXVt3ZWIg cGFnZSB3aXRoIHRoZSBjaGFuZ2UgbG9nXV0uICBJdCBpcyBjb21wcmVoZW5zaXZlDQogYW5kIGNv dmVycyBldmVyeXRoaW5nIHRoYXQgZ29lcyBpbnRvIGV2ZXJ5IHRhZ2dlZCByZWxlYXNlIG9mIHRo ZSB0aGVtZXMuDQogDQogKiBJbnN0YWxsYXRpb24NCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lE OiBoOjFhZjg1MzczLTdmODEtNGMzNS1hZjI1LWFmY2VmNDkwYzExMQ0KLTpFTkQ6DQorOnByb3Bl cnRpZXM6DQorOmN1c3RvbV9pZDogaDoxYWY4NTM3My03ZjgxLTRjMzUtYWYyNS1hZmNlZjQ5MGMx MTENCis6ZW5kOg0KIA0KIFRoZSBNb2R1cyB0aGVtZXMgYXJlIGRpc3RyaWJ1dGVkIHdpdGggRW1h Y3Mgc3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDI4LjEuDQogT24gb2xkZXIgdmVyc2lvbnMgb2YgRW1h Y3MsIHRoZXkgY2FuIGJlIGluc3RhbGxlZCB1c2luZyBFbWFjcycgcGFja2FnZQ0KLW1hbmFnZXIg b3IgbWFudWFsbHkgZnJvbSB0aGVpciBjb2RlIHJlcG9zaXRvcnkuDQorbWFuYWdlciBvciBtYW51 YWxseSBmcm9tIHRoZWlyIGNvZGUgcmVwb3NpdG9yeS4gIFRoZXJlIGFsc28gZXhpc3QNCitwYWNr YWdlcyBmb3IgZGlzdHJpYnV0aW9ucyBvZiBHTlUvTGludXguDQorDQorKiogSW5zdGFsbCBtYW51 YWxseSBmcm9tIHNvdXJjZQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6ZGEzNDE0Yjct MTQyNi00NmI4LThlNzYtNDdiODQ1Yjc2ZmQwDQorOmVuZDoNCisNCitJbiB0aGUgZm9sbG93aW5n IGV4YW1wbGUsIHdlIGFyZSBhc3N1bWluZyB0aGF0IHlvdXIgRW1hY3MgZmlsZXMgYXJlDQorc3Rv cmVkIGluID1+Ly5lbWFjcy5kPSBhbmQgdGhhdCB5b3Ugd2FudCB0byBwbGFjZSB0aGUgTW9kdXMg dGhlbWVzIGluDQorPX4vLmVtYWNzLmQvbW9kdXMtdGhlbWVzPS4NCisNCisxLiBHZXQgdGhlIHNv dXJjZSBhbmQgc3RvcmUgaXQgaW4gdGhlIGRlc2lyZWQgcGF0aCBieSBydW5uaW5nIHRoZQ0KKyAg IGZvbGxvd2luZyBpbiB0aGUgY29tbWFuZCBsaW5lIHNoZWxsOg0KKw0KKzogJCBnaXQgY2xvbmUg aHR0cHM6Ly9naXRsYWIuY29tL3Byb3Rlc2lsYW9zL21vZHVzLXRoZW1lcy5naXQgfi8uZW1hY3Mu ZC9tb2R1cy10aGVtZXMNCisNCisyLiBBZGQgdGhhdCBwYXRoIHRvIHlvdXIga25vd24gRWxpc3Ag bGlicmFyaWVzJyBsaXN0LCBieSBwbGFjaW5nIHRoaXMNCisgICBzbmlwcGV0IG9mIEVtYWNzIExp c3AgaW4geW91ciBpbml0IGZpbGUgKGUuZy4ge3t7ZmlsZShpbml0LmVsKX19fSk6DQorDQorIyti ZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhhZGQtdG8tbGlzdCAnbG9hZC1wYXRoICJ+Ly5lbWFjcy5k L21vZHVzLXRoZW1lcyIpDQorIytlbmRfc3JjDQogDQotTW9kdXMgT3BlcmFuZGkgKGxpZ2h0IHRo ZW1lKSBhbmQgTW9kdXMgVml2ZW5kaSAoZGFyaykgYXJlIG5vcm1hbGx5DQotZGlzdHJpYnV0ZWQg YXMgc3RhbmRhbG9uZSBwYWNrYWdlcyBpbiBFbWFjcy1zcGVjaWZpYyBhcmNoaXZlcy4gIFRoZXJl DQotYWxzbyBleGlzdCBwYWNrYWdlcyBmb3IgR05VL0xpbnV4IGRpc3RyaWJ1dGlvbnMuDQorVGhl IHRoZW1lcyBhcmUgbm93IHJlYWR5IHRvIGJlIHVzZWQ6IFtbI2g6M2YzYzM3MjgtMWIzNC00Mzdk LTlkMGMtYjExMGY1YjE2MWE5XVtFbmFibGUgYW5kIGxvYWRdXS4NCiANCiAqKiBJbnN0YWxsIGZy b20gdGhlIGFyY2hpdmVzDQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDpjNGIxMDA4NS0x NDlmLTQzZTItYmQ0ZC0zNDdmMzNhZWUwNTQNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0 b21faWQ6IGg6YzRiMTAwODUtMTQ5Zi00M2UyLWJkNGQtMzQ3ZjMzYWVlMDU0DQorOmVuZDoNCiAN Ci09bW9kdXMtb3BlcmFuZGktdGhlbWU9IGFuZCA9bW9kdXMtdml2ZW5kaS10aGVtZT0gYXJlIGF2 YWlsYWJsZSBmcm9tIEdOVSB0aGUNCi1FTFBBIGFyY2hpdmUsIHdoaWNoIGlzIGNvbmZpZ3VyZWQg YnkgZGVmYXVsdC4NCitUaGUgPW1vZHVzLXRoZW1lcz0gcGFja2FnZSBpcyBhdmFpbGFibGUgZnJv bSB0aGUgR05VIEVMUEEgYXJjaGl2ZSwgd2hpY2gNCitpcyBjb25maWd1cmVkIGJ5IGRlZmF1bHQu DQogDQogUHJpb3IgdG8gcXVlcnlpbmcgYW55IHBhY2thZ2UgYXJjaGl2ZSwgbWFrZSBzdXJlIHRv IGhhdmUgdXBkYXRlZCB0aGUNCi1pbmRleCwgd2l0aCA9TS14IHBhY2thZ2UtcmVmcmVzaC1jb250 ZW50cz0uICBUaGVuIGFsbCB5b3UgbmVlZCB0byBkbyBpcw0KLXR5cGUgPU0teCBwYWNrYWdlLWlu c3RhbGw9IGFuZCBzcGVjaWZ5IHRoZSB0aGVtZSBvZiB5b3VyIGNob2ljZS4NCitpbmRleCwgd2l0 aCB7e3trYmQoTS14IHBhY2thZ2UtcmVmcmVzaC1jb250ZW50cyl9fX0uICBUaGVuIGFsbCB5b3Ug bmVlZCB0byBkbw0KK2lzIHR5cGUge3t7a2JkKE0teCBwYWNrYWdlLWluc3RhbGwpfX19IGFuZCBz cGVjaWZ5IHRoZSB+bW9kdXMtdGhlbWVzfi4NCisNCitOb3RlIHRoYXQgb2xkZXIgdmVyc2lvbnMg b2YgdGhlIHRoZW1lcyB1c2VkIHRvIGJlIGRpc3RyaWJ1dGVkIGFzDQorc3RhbmRhbG9uZSBwYWNr YWdlcy4gIFRoaXMgcHJhY3RpY2UgaGFzIGJlZW4gZGlzY29udGludWVkIHN0YXJ0aW5nIHdpdGgN Cit2ZXJzaW9uIDEuMC4wIG9mIHRoaXMgcHJvamVjdC4NCisNCitPbmNlIGluc3RhbGxlZCwgdGhl IHRoZW1lcyBhcmUgcmVhZHkgdG8gYmUgdXNlZDogW1sjaDozZjNjMzcyOC0xYjM0LTQzN2QtOWQw Yy1iMTEwZjViMTYxYTldW0VuYWJsZSBhbmQgbG9hZF1dLg0KIA0KICoqIEluc3RhbGwgb24gR05V L0xpbnV4DQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDpkYTY0MGViMS05NWRkLTRlODYt YmI0ZS0xMDI3YjI3ODg1ZjANCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6 ZGE2NDBlYjEtOTVkZC00ZTg2LWJiNGUtMTAyN2IyNzg4NWYwDQorOmVuZDoNCiANCi1UaGUgdGhl bWVzIGFyZSBhbHNvIGF2YWlsYWJsZSBmcm9tIHRoZSBhcmNoaXZlcyBvZiBzb21lIEdOVS9MaW51 eA0KLWRpc3RyaWJ1dGlvbnMuICBUaGVzZSBzaG91bGQgY29ycmVzcG9uZCB0byBhIHRhZ2dlZCBy ZWxlYXNlIHJhdGhlciB0aGFuDQorVGhlIHRoZW1lcyBhcmUgYWxzbyBhdmFpbGFibGUgZnJvbSB0 aGUgYXJjaGl2ZXMgb2Ygc29tZSBkaXN0cmlidXRpb25zIG9mDQorR05VL0xpbnV4LiAgVGhlc2Ug c2hvdWxkIGNvcnJlc3BvbmQgdG8gYSB0YWdnZWQgcmVsZWFzZSByYXRoZXIgdGhhbg0KIGJ1aWxk aW5nIGRpcmVjdGx5IGZyb20gdGhlIGxhdGVzdCBHaXQgY29tbWl0LiAgSXQgYWxsIGRlcGVuZHMg b24gdGhlDQogZGlzdHJvJ3MgcGFja2FnaW5nIHBvbGljaWVzLg0KIA0KICoqKiBEZWJpYW4gMTEg QnVsbHNleWUNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjdlNTcwMzYwLTllZTYtNGJj NS04YzA0LTlkYzExNDE4YTNlNA0KLTpFTkQ6DQotDQotVGhlIHR3byB0aGVtZXMgYXJlIGRpc3Ry aWJ1dGVkIGFzIGEgc2luZ2xlIHBhY2thZ2UgZm9yIERlYmlhbiBhbmQgaXRzDQotZGVyaXZhdGl2 ZXMuICBDdXJyZW50bHkgaW4gdGhlIHVuc3RhYmxlIGFuZCB0ZXN0aW5nIHN1aXRlcyBhbmQgc2hv dWxkIGJlDQotYXZhaWxhYmxlIGluIHRpbWUgZm9yIERlYmlhbiAxMSBCdWxsc2V5ZSAobmV4dCBz dGFibGUpLg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6N2U1NzAzNjAtOWVlNi00YmM1 LThjMDQtOWRjMTE0MThhM2U0DQorOmVuZDoNCiANCi1HZXQgdGhlbSB3aXRoOg0KK1RoZSB0aGVt ZXMgYXJlIHBhcnQgb2YgRGViaWFuIDExIEJ1bGxzZXllLiAgR2V0IHRoZW0gd2l0aDoNCiANCiAj K2JlZ2luX3NyYyBzaA0KIHN1ZG8gYXB0IGluc3RhbGwgZWxwYS1tb2R1cy10aGVtZXMNCiAjK2Vu ZF9zcmMNCiANCitUaGV5IGFyZSBub3cgcmVhZHkgdG8gYmUgdXNlZDogW1sjaDozZjNjMzcyOC0x YjM0LTQzN2QtOWQwYy1iMTEwZjViMTYxYTldW0VuYWJsZSBhbmQgbG9hZF1dLg0KKw0KICoqKiBH TlUgR3VpeA0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6YTRjYTUyY2QtODY5Zi00NmE1 LTllMTYtNGQ5NjY1ZjViODhlDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBo OmE0Y2E1MmNkLTg2OWYtNDZhNS05ZTE2LTRkOTY2NWY1Yjg4ZQ0KKzplbmQ6DQogDQotVXNlcnMg b2YgZWl0aGVyIHRoZSBHdWl4IFN5c3RlbSAodGhlIGRpc3Rybykgb3IganVzdCBHdWl4ICh0aGUg cGFja2FnZQ0KLW1hbmFnZXIpIGNhbiBnZXQgZWFjaCB0aGVtZSBhcyBhIHN0YW5kYWxvbmUgcGFj a2FnZS4NCitVc2VycyBvZiBHdWl4IGNhbiBnZXQgdGhlIHRoZW1lcyB3aXRoIHRoaXMgY29tbWFu ZDoNCiANCiAjK2JlZ2luX3NyYyBzaA0KLWd1aXggcGFja2FnZSAtaSBlbWFjcy1tb2R1cy1vcGVy YW5kaS10aGVtZQ0KK2d1aXggcGFja2FnZSAtaSBlbWFjcy1tb2R1cy10aGVtZXMNCiAjK2VuZF9z cmMNCiANCi1BbmQvb3I6DQotDQotIytiZWdpbl9zcmMgc2gNCi1ndWl4IHBhY2thZ2UgLWkgZW1h Y3MtbW9kdXMtdml2ZW5kaS10aGVtZQ0KLSMrZW5kX3NyYw0KK1RoZXkgYXJlIG5vdyByZWFkeSB0 byBiZSB1c2VkOiBbWyNoOjNmM2MzNzI4LTFiMzQtNDM3ZC05ZDBjLWIxMTBmNWIxNjFhOV1bRW5h YmxlIGFuZCBsb2FkXV0uDQogDQogKiBFbmFibGUgYW5kIGxvYWQNCi06UFJPUEVSVElFUzoNCi06 Q1VTVE9NX0lEOiBoOjNmM2MzNzI4LTFiMzQtNDM3ZC05ZDBjLWIxMTBmNWIxNjFhOQ0KLTpFTkQ6 DQotDQotVGhpcyBzZWN0aW9uIGRvY3VtZW50cyBob3cgdG8gbG9hZCB0aGUgdGhlbWUgb2YgeW91 ciBjaG9pY2UgYW5kIGhvdyB0bw0KLWZ1cnRoZXIgY29udHJvbCBpdHMgaW5pdGlhbGl6YXRpb24u ICBJdCBhbHNvIGluY2x1ZGVzIHNvbWUgc2FtcGxlIGNvZGUNCi1zbmlwcGV0cyB0aGF0IGNvdWxk IGhlbHAgeW91IGluIHRoZSB0YXNrLCBlc3BlY2lhbGx5IGlmIHlvdSBpbnRlbmQgdG8NCi11c2Ug Ym90aCBNb2R1cyBPcGVyYW5kaSBhbmQgTW9kdXMgVml2ZW5kaS4NCi0NCi0qKiBMb2FkIGF1dG9t YXRpY2FsbHkNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjE3NzdjMjQ3LTFiNTYtNDZi Ny1hNGNlLTU0ZTcyMGIzM2QwNg0KLTpFTkQ6DQotDQotQSBzaW1wbGUgd2F5IHRvIGxvYWQgdGhl IHRoZW1lIGZyb20geW91ciBFbWFjcyBpbml0aWFsaXphdGlvbiBmaWxlIGlzIHRvDQotaW5jbHVk ZSBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZyBleHByZXNzaW9uczoNCi0NCi0jK0JFR0lOX1NSQyBl bWFjcy1saXNwDQotKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQpICAgICAgICAgIDsgTGln aHQgdGhlbWUNCi0obG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0KSAgICAgICAgICAgOyBEYXJr IHRoZW1lDQotIytFTkRfU1JDDQotDQotTWFrZSBzdXJlIHRvIHJlbW92ZSBhbnkgb3RoZXIgdGhl bWUgdGhhdCBpcyBiZWluZyBsb2FkZWQsIG90aGVyd2lzZSB5b3UNCi1taWdodCBydW4gaW50byB1 bmV4cGVjdGVkIGlzc3Vlcy4NCi0NCi1Ob3RlIHRoYXQgeW91IGNhbiBhbHdheXMgPU0teCBkaXNh YmxlLXRoZW1lPSBhbmQgc3BlY2lmeSBhbiBpdGVtLiAgVGhlDQotY29tbWFuZCBkb2VzIGV4YWN0 bHkgd2hhdCBpdHMgbmFtZSBzdWdnZXN0cy4gIFRvIGRlYWN0aXZhdGUgYWxsIGVuYWJsZWQNCi10 aGVtZXMgYXQgb25jZSwgaW4gY2FzZSB5b3UgaGF2ZSBtdWx0aXBsZSBvZiB0aGVtIGVuYWJsZWQs IHlvdSBtYXkNCi1ldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbjoNCis6cHJvcGVydGllczoNCis6Y3Vz dG9tX2lkOiBoOjNmM2MzNzI4LTFiMzQtNDM3ZC05ZDBjLWIxMTBmNWIxNjFhOQ0KKzplbmQ6DQor IytmaW5kZXg6IG1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lcw0KKyMrZmluZGV4OiBtb2R1cy10aGVt ZXMtdG9nZ2xlDQorIytmaW5kZXg6IG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpDQorIytmaW5k ZXg6IG1vZHVzLXRoZW1lcy1sb2FkLXZpdmVuZGkNCisjK2NpbmRleDogRXNzZW50aWFsIGNvbmZp Z3VyYXRpb24NCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9vaw0K Kw0KK0JlZm9yZSB5b3UgbG9hZCBhIHRoZW1lLCBpdCBpcyBuZWNlc3NhcnkgdG8gcmVxdWlyZSB0 aGUgbWFpbiBsaWJyYXJ5Og0KIA0KICMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCi0obWFwYyAjJ2Rp c2FibGUtdGhlbWUgY3VzdG9tLWVuYWJsZWQtdGhlbWVzKQ0KKyhyZXF1aXJlICdtb2R1cy10aGVt ZXMpDQogIytlbmRfc3JjDQogDQotKiogTG9hZCBhdCBhIGdpdmVuIHRpbWUgb3IgYXQgc3Vuc2V0 L3N1bnJpc2UNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjRlOTM2ZTMxLWU5ZWItNGI1 MC04ZmRkLTQ1ZDgyN2EwM2NjYQ0KLTpFTkQ6DQotDQotSXQgaXMgcG9zc2libGUgdG8gc2NoZWR1 bGUgYSB0aW1lIGR1cmluZyB0aGUgZGF5IGF0IG9yIGFmdGVyIHdoaWNoIGENCi1naXZlbiB0aGVt ZSB3aWxsIGJlIGxvYWRlZC5bZm46OiBDb250cmlidXRlZCBvbiBSZWRkaXQgYnkgdXNlciA9YjNu PSwNCi1odHRwczovL3d3dy5yZWRkaXQuY29tL3IvZW1hY3MvY29tbWVudHMvZ2R0cW92L3dlZWts eV90aXBzdHJpY2tldGNfdGhyZWFkL2ZxOTE4NmgvLl0NCitUaGVuIGxvYWQgdGhlIGluZGl2aWR1 YWwgdGhlbWUgZmlsZXMgd2l0aCB0aGUgaGVscGVyIGZ1bmN0aW9uDQorfm1vZHVzLXRoZW1lcy1s b2FkLXRoZW1lc346DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KLTs7IExpZ2h0IGZvciB0 aGUgZGF5DQotKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQgdCkNCi0ocnVuLWF0LXRpbWUg IjA1OjAwIiAoKiA2MCA2MCAyNCkNCi0gICAgICAgICAgICAgKGxhbWJkYSAoKQ0KLSAgICAgICAg ICAgICAgIChlbmFibGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKSkpDQotDQotOzsgRGFyayBmb3Ig dGhlIG5pZ2h0DQotKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVuZGkgdCB0KQ0KLShydW4tYXQtdGlt ZSAiMjE6MDAiICgqIDYwIDYwIDI0KQ0KLSAgICAgICAgICAgICAobGFtYmRhICgpDQotICAgICAg ICAgICAgICAgKGVuYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkpKQ0KKzs7IExvYWQgdGhlIHRo ZW1lIGZpbGVzIGJlZm9yZSBlbmFibGluZyBhIHRoZW1lIChlbHNlIHlvdSBnZXQgYW4gZXJyb3Ip Lg0KKyhtb2R1cy10aGVtZXMtbG9hZC10aGVtZXMpDQogIytlbmRfc3JjDQogDQotQSBtb2RpZmll ZCB2ZXJzaW9uIG9mIHRoZSBhYm92ZSB0ZWNobmlxdWUgaXMgdG8gdXNlIHRoZSBzdW5yaXNlIGFu ZA0KLXN1bnNldCBhcyByZWZlcmVuY2VzLCBpbnN0ZWFkIG9mIHNwZWNpZnlpbmcgYSBmaXhlZCBo b3VyIHZhbHVlLltmbjo6DQotQ29udHJpYnV0ZWQgZGlyZWN0bHkgYnkgQW5kcsOpIEFsZXhhbmRy ZSBHb21lcyBodHRwczovL2dpdGxhYi5jb20vYWFkY2cuXQ0KLUlmIHlvdSBzZXQgPWNhbGVuZGFy LWxhdGl0dWRlPSBhbmQgPWNhbGVuZGFyLWxvbmdpdHVkZT0gKGRlZmluZWQgaW4gdGhlDQotYnVp bHQtaW4gPXNvbGFyLmVsPSBsaWJyYXJ5LS0tcmVhZCBpdCB3aXRoID1NLXggZmluZC1saWJyYXJ5 PSksIHlvdSBjYW4NCi1hdXRvbWF0aWNhbGx5IHN3aXRjaCBiZXR3ZWVuIGJvdGggdGhlbWVzIGF0 IHRoZSBhcHByb3ByaWF0ZSB0aW1lLW9mLWRheS4NCi1Ob3RlIHRoYXQgL3Rob3NlIGNhbGVuZGFy IHZhcmlhYmxlcyBuZWVkIHRvIGJlIHNldCBiZWZvcmUgbG9hZGluZyB0aGUNCi10aGVtZXMvLg0K K09uY2UgdGhlIGxpYnJhcmllcyB0aGF0IGRlZmluZSB0aGUgdGhlbWVzIGFyZSBlbmFibGVkLCB5 b3UgY2FuIGxvYWQgYQ0KK3RoZW1lIHdpdGggZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgZXhwcmVz c2lvbnM6DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KLTs7IERlZmluZSBjb29yZGluYXRl cw0KLShzZXRxIGNhbGVuZGFyLWxhdGl0dWRlIDM1LjE3DQotICAgICAgY2FsZW5kYXItbG9uZ2l0 dWRlIDMzLjM2KQ0KLQ0KLTs7IExpZ2h0IGF0IHN1bnJpc2UNCi0obG9hZC10aGVtZSAnbW9kdXMt b3BlcmFuZGkgdCB0KQ0KLShydW4tYXQtdGltZSAobnRoIDEgKHNwbGl0LXN0cmluZyAoc3Vucmlz ZS1zdW5zZXQpKSkNCi0gICAgICAgICAgICAgKCogNjAgNjAgMjQpDQotICAgICAgICAgICAgIChs YW1iZGEgKCkNCi0gICAgICAgICAgICAgICAoZW5hYmxlLXRoZW1lICdtb2R1cy1vcGVyYW5kaSkp KQ0KLQ0KLTs7IERhcmsgYXQgc3Vuc2V0DQotKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVuZGkgdCB0 KQ0KLShydW4tYXQtdGltZSAobnRoIDQgKHNwbGl0LXN0cmluZyAoc3VucmlzZS1zdW5zZXQpKSkN Ci0gICAgICAgICAgICAgKCogNjAgNjAgMjQpDQotICAgICAgICAgICAgIChsYW1iZGEgKCkNCi0g ICAgICAgICAgICAgICAoZW5hYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKSkpDQorKG1vZHVzLXRo ZW1lcy1sb2FkLW9wZXJhbmRpKSAgICAgICAgICAgIDsgTGlnaHQgdGhlbWUNCis7OyBPUg0KKyht b2R1cy10aGVtZXMtbG9hZC12aXZlbmRpKSAgICAgICAgICAgICA7IERhcmsgdGhlbWUNCiAjK2Vu ZF9zcmMNCiANCi1Gb3IgdGhlIHNha2Ugb2YgY29tcGxldGVuZXNzLCB0aGUgPWxvYWQtdGhlbWU9 IGNhbGwgaW4gdGhlc2Ugc25pcHBldHMgaXMNCi1zbGlnaHRseSBkaWZmZXJlbnQgdGhhbiB0aGUg b25lIHNob3duIGluIFtbI2g6MTc3N2MyNDctMWI1Ni00NmI3LWE0Y2UtNTRlNzIwYjMzZDA2XVtM b2FkIGF1dG9tYXRpY2FsbHldXSwgYmVjYXVzZSBpdA0KLWRvZXMgbm90IGVuYWJsZSB0aGUgdGhl bWUgZGlyZWN0bHk6IHRoZSBzdWJzZXF1ZW50ID1lbmFibGUtdGhlbWU9IGRvZXMNCi10aGF0IHdo ZW4gbmVlZGVkLg0KLQ0KLSoqIFRvZ2dsZSBiZXR3ZWVuIHRoZSB0aGVtZXMgb24gZGVtYW5kDQot OlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDoyYTA4OTVhNi0zMjgxLTRlNTUtOGFhMS04YTcz NzU1NTgyMWUNCi06RU5EOg0KLQ0KLVdpdGggYm90aCB0aGVtZXMgYXZhaWxhYmxlLCBpdCBpcyBw b3NzaWJsZSB0byBkZXNpZ24gYSBzaW1wbGUgY29tbWFuZCB0bw0KLXN3aXRjaCBiZXR3ZWVuIHRo ZW0gb24gZGVtYW5kLg0KK1lvdSBtYXkgd2FudCB0byBtYWtlIHNvbWUgY2hhbmdlcyB0byB0aGUg YXZhaWxhYmxlIGN1c3RvbWl6YXRpb24gb3B0aW9ucw0KK2JlZm9yZSBsb2FkaW5nIGEgdGhlbWUg KFtbI2g6YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAtZGQxMWZkZDhiNTNmXVtDdXN0b21pemF0aW9u IE9wdGlvbnNdXSkuICBTbyB0aGlzIGlzIGhvdyBhIGJhc2ljDQorc2V0dXAgc2hvdWxkIGxvb2sg bGlrZToNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQotKGRlZnVuIG1vZHVzLXRoZW1lcy10 b2dnbGUgKCkNCi0gICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGknIGFuZCBgbW9kdXMt dml2ZW5kaScgdGhlbWVzLiINCi0gIChpbnRlcmFjdGl2ZSkNCi0gIChpZiAoZXEgKGNhciBjdXN0 b20tZW5hYmxlZC10aGVtZXMpICdtb2R1cy1vcGVyYW5kaSkNCi0gICAgICAocHJvZ24NCi0gICAg ICAgIChkaXNhYmxlLXRoZW1lICdtb2R1cy1vcGVyYW5kaSkNCi0gICAgICAgIChsb2FkLXRoZW1l ICdtb2R1cy12aXZlbmRpIHQpKQ0KLSAgICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkN Ci0gICAgKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQpKSkNCi0jK2VuZF9zcmMNCi0NCi1Z b3UgY291bGQgdXNlID0obWFwYyAjJ2Rpc2FibGUtdGhlbWUgY3VzdG9tLWVuYWJsZWQtdGhlbWVz KT0gaW5zdGVhZCBvZg0KLWRpc2FibGluZyBhIHNpbmdsZSB0YXJnZXQsIGJ1dCB5b3UgZ2V0IHRo ZSBpZGVhLg0KKyhyZXF1aXJlICdtb2R1cy10aGVtZXMpDQogDQotKiogQ29uZmlndXJlIG9wdGlv bnMgcHJpb3IgdG8gbG9hZGluZw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6YTg5N2Iz MDItOGUxMC00YTI2LWJlYWItM2NhYWVlMWUxMTkzDQotOkVORDoNCis7OyBZb3VyIGN1c3RvbWlz YXRpb25zIGhlcmUuICBGb3IgZXhhbXBsZToNCisoc2V0cSBtb2R1cy10aGVtZXMtYm9sZC1jb25z dHJ1Y3RzIHQNCisgICAgICBtb2R1cy10aGVtZXMtbW9kZS1saW5lICczZCkNCiANCi1JZiB5b3Ug cGxhbiB0byB1c2UgYm90aCB0aGVtZXMgYW5kIHdpc2ggdG8gYXBwbHkgc3R5bGVzIGNvbnNpc3Rl bnRseQ0KLShzZWUgW1sjaDpiZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1M2ZdW0N1 c3RvbWl6YXRpb24gT3B0aW9uc11dKSwgeW91IGNvdWxkIGRlZmluZSB3cmFwcGVyIGZ1bmN0aW9u cyBhcm91bmQNCi10aGUgc3RhbmRhcmQgPWxvYWQtdGhlbWU9IGNvbW1hbmQuICBUaGVzZSBleHRl bmQgdGhlIHNpbXBsZSBmdW5jdGlvbiB3ZQ0KLXByZXNlbnRlZCBpbiBbWyNoOjJhMDg5NWE2LTMy ODEtNGU1NS04YWExLThhNzM3NTU1ODIxZV1bVG9nZ2xlIGJldHdlZW4gdGhlIHRoZW1lcyBvbiBk ZW1hbmRdXS4NCis7OyBMb2FkIHRoZSB0aGVtZSBmaWxlcyBiZWZvcmUgZW5hYmxpbmcgYSB0aGVt ZSAoZWxzZSB5b3UgZ2V0IGFuIGVycm9yKS4NCisobW9kdXMtdGhlbWVzLWxvYWQtdGhlbWVzKQ0K IA0KLUhlcmUgaXMgYSBjb21wcmVoZW5zaXZlIHNldHVwICh0aGUgdmFsdWVzIGFzc2lnbmVkIHRv IHRoZSB2YXJpYWJsZXMgYXJlDQotanVzdCBmb3IgdGhlIHNha2Ugb2YgdGhpcyBkZW1vbnN0cmF0 aW9uKTpbZm46OiBUaGUgPWRlZm1hY3JvPSBhbmQgPWRvbGlzdD0NCi1tZXRob2Qgd2VyZSBjb250 cmlidXRlZCBvbiBSZWRkaXQgYnkgdXNlciA9YjNuPQ0KLWh0dHBzOi8vd3d3LnJlZGRpdC5jb20v ci9lbWFjcy9jb21tZW50cy9ncXN6OHUvd2Vla2x5X3RpcHN0cmlja2V0Y190aHJlYWQvZnNmYWto Zy8uXQ0KKzs7IEVuYWJsZSB0aGUgdGhlbWUgb2YgeW91ciBwcmVmZXJlbmNlOg0KKyhtb2R1cy10 aGVtZXMtbG9hZC1vcGVyYW5kaSkNCiANCi0jK2JlZ2luX3NyYyBlbWFjcy1saXNwDQotKGRlZm1h Y3JvIG1vZHVzLXRoZW1lcy1mb3JtYXQtc2V4cCAoc2V4cCAmcmVzdCBvYmplY3RzKQ0KLSAgYChl dmFsIChyZWFkIChmb3JtYXQgLChmb3JtYXQgIiVTIiBzZXhwKSAsQG9iamVjdHMpKSkpDQotDQot KGRvbGlzdCAodGhlbWUgJygib3BlcmFuZGkiICJ2aXZlbmRpIikpDQotICAobW9kdXMtdGhlbWVz LWZvcm1hdC1zZXhwDQotICAgKGRlZnVuIG1vZHVzLSUxJHMtdGhlbWUtbG9hZCAoKQ0KLSAgICAg KHNldHEgbW9kdXMtJTEkcy10aGVtZS1zbGFudGVkLWNvbnN0cnVjdHMgdA0KLSAgICAgICAgICAg bW9kdXMtJTEkcy10aGVtZS1ib2xkLWNvbnN0cnVjdHMgdA0KLSAgICAgICAgICAgbW9kdXMtJTEk cy10aGVtZS1mcmluZ2VzICdzdWJ0bGUgOyB7bmlsLCdzdWJ0bGUsJ2ludGVuc2V9DQotICAgICAg ICAgICBtb2R1cy0lMSRzLXRoZW1lLW1vZGUtbGluZSAnM2QgOyB7bmlsLCczZCwnbW9vZHl9DQot ICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXN5bnRheCAnYWx0LXN5bnRheCA7IHtuaWwsZmFp bnQsJ3llbGxvdy1jb21tZW50cywnZ3JlZW4tc3RyaW5ncywneWVsbG93LWNvbW1lbnRzLWdyZWVu LXN0cmluZ3MsJ2FsdC1zeW50YXgsJ2FsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzfQ0KLSAgICAg ICAgICAgbW9kdXMtJTEkcy10aGVtZS1pbnRlbnNlLWhsLWxpbmUgbmlsDQotICAgICAgICAgICBt b2R1cy0lMSRzLXRoZW1lLWludGVuc2UtcGFyZW4tbWF0Y2ggbmlsDQotICAgICAgICAgICBtb2R1 cy0lMSRzLXRoZW1lLWxpbmtzICdmYWludCA7IHtuaWwsJ2ZhaW50LCduZXV0cmFsLXVuZGVybGlu ZSwnZmFpbnQtbmV1dHJhbC11bmRlcmxpbmUsJ25vLXVuZGVybGluZX0NCi0gICAgICAgICAgIG1v ZHVzLSUxJHMtdGhlbWUtbm8tbWl4ZWQtZm9udHMgbmlsDQotICAgICAgICAgICBtb2R1cy0lMSRz LXRoZW1lLXByb21wdHMgbmlsIDsge25pbCwnc3VidGxlLCdpbnRlbnNlfQ0KLSAgICAgICAgICAg bW9kdXMtJTEkcy10aGVtZS1jb21wbGV0aW9ucyAnbW9kZXJhdGUgOyB7bmlsLCdtb2RlcmF0ZSwn b3BpbmlvbmF0ZWR9DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLWRpZmZzIG5pbCA7IHtu aWwsJ2Rlc2F0dXJhdGVkLCdmZy1vbmx5fQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1v cmctYmxvY2tzICdncmF5c2NhbGUgOyB7bmlsLCdncmF5c2NhbGUsJ3JhaW5ib3d9DQotICAgICAg ICAgICBtb2R1cy0lMSRzLXRoZW1lLWhlYWRpbmdzICA7IFJlYWQgZnVydGhlciBiZWxvdyBpbiB0 aGUgbWFudWFsIGZvciB0aGlzIG9uZQ0KLSAgICAgICAgICAgJygoMSAuIHNlY3Rpb24pDQotICAg ICAgICAgICAgICgyIC4gbGluZSkNCi0gICAgICAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8t Ym9sZCkpDQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRp bmdzIG5pbA0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1zY2FsZS1oZWFkaW5ncyB0DQot ICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXNjYWxlLTEgMS4xDQotICAgICAgICAgICBtb2R1 cy0lMSRzLXRoZW1lLXNjYWxlLTIgMS4xNQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1z Y2FsZS0zIDEuMjENCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtc2NhbGUtNCAxLjI3DQot ICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXNjYWxlLTUgMS4zMykNCi0gICAgIChsb2FkLXRo ZW1lICdtb2R1cy0lMSRzIHQpKQ0KLSAgIHRoZW1lKSkNCi0NCi0oZGVmdW4gbW9kdXMtdGhlbWVz LXRvZ2dsZSAoKQ0KLSAgIlRvZ2dsZSBiZXR3ZWVuIGBtb2R1cy1vcGVyYW5kaScgYW5kIGBtb2R1 cy12aXZlbmRpJyB0aGVtZXMuIg0KLSAgKGludGVyYWN0aXZlKQ0KLSAgKGlmIChlcSAoY2FyIGN1 c3RvbS1lbmFibGVkLXRoZW1lcykgJ21vZHVzLW9wZXJhbmRpKQ0KLSAgICAgIChwcm9nbg0KLSAg ICAgICAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKQ0KLSAgICAgICAgKG1vZHVzLXZp dmVuZGktdGhlbWUtbG9hZCkpDQotICAgIChkaXNhYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKQ0K LSAgICAobW9kdXMtb3BlcmFuZGktdGhlbWUtbG9hZCkpKQ0KKzs7IE9wdGlvbmFsbHkgYWRkIGEg a2V5IGJpbmRpbmcgZm9yIHRoZSB0b2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzOg0KKyhkZWZpbmUt a2V5IGdsb2JhbC1tYXAgKGtiZCAiPGY1PiIpICMnbW9kdXMtdGhlbWVzLXRvZ2dsZSkNCiAjK2Vu ZF9zcmMNCiANCi0qIEN1c3RvbWl6YXRpb24gT3B0aW9ucw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNU T01fSUQ6IGg6YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAtZGQxMWZkZDhiNTNmDQotOkVORDoNCitb WyNoOmU5Nzk3MzRjLWE5ZTEtNDM3My05MzY1LTBmMmNkMzYxMDdiOF1bU2FtcGxlIGNvbmZpZ3Vy YXRpb24gZm9yIHVzZS1wYWNrYWdlXV0uDQogDQotVGhlIE1vZHVzIHRoZW1lcyBhcmUgaGlnaGx5 IGNvbmZpZ3VyYWJsZSwgdGhvdWdoIHRoZXkgc2hvdWxkIHdvcmsgd2VsbA0KLXdpdGhvdXQgYW55 IGZ1cnRoZXIgdHdlYWtzLg0KK1dpdGggdGhvc2UgZ3JhbnRlZCwgYmVhciBpbiBtaW5kIGEgY291 cGxlIG9mIHRlY2huaWNhbCBwb2ludHMgb24NCit+bW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGl+ IGFuZCB+bW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaX4sIGFzIHdlbGwgYXMNCit+bW9kdXMtdGhl bWVzLXRvZ2dsZX4gd2hpY2ggcmVsaWVzIG9uIHRoZW06DQogDQotQnkgZGVmYXVsdCwgYWxsIGN1 c3RvbWl6YXRpb24gb3B0aW9ucyBhcmUgc2V0IHRvID1uaWw9Lg0KKzEuIFRob3NlIGZ1bmN0aW9u cyBjYWxsIH5sb2FkLXRoZW1lfi4gIFNvbWUgdXNlcnMgcHJlZmVyIHRvIG9wdCBmb3INCisgICB+ ZW5hYmxlLXRoZW1lfiBpbnN0ZWFkIChbWyNoOmU2ODU2MGIzLTdmYjAtNDJiYy1hMTUxLWUwMTU5 NDhmOGEzNV1bRGlmZmVyZW5jZXMgYmV0d2VlbiBsb2FkaW5nIGFuZCBlbmFibGluZ11dKS4NCiAN Ci1BbGwgY3VzdG9taXphdGlvbiBvcHRpb25zIG5lZWQgdG8gYmUgZXZhbHVhdGVkIGJlZm9yZSBs b2FkaW5nIHRoZWlyDQotdGhlbWUgKHNlZSBbWyNoOjNmM2MzNzI4LTFiMzQtNDM3ZC05ZDBjLWIx MTBmNWIxNjFhOV1bRW5hYmxlIGFuZCBsb2FkXV0pLg0KKzIuIFRoZSBmdW5jdGlvbnMgd2lsbCBy dW4gdGhlIH5tb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rfiBhcw0KKyAgIHRoZWly IGZpbmFsIHN0ZXAuICBUaGlzIGNhbiBiZSBlbXBsb3llZCBmb3IgYmVzcG9rZSBjb25maWd1cmF0 aW9ucw0KKyAgIChbWyNoOmY0NjUxZDU1LThjMDctNDZhYS1iNTJiLWJlZDFlNTM0NjNiYl1bQWR2 YW5jZWQgY3VzdG9taXphdGlvbiAoZG8taXQteW91cnNlbGYpXV0pLiAgRXhwZXJpZW5jZWQgdXNl cnMgbWF5IG5vdA0KKyAgIHdpc2ggdG8gcmVseSBvbiBzdWNoIGEgaG9vayBhbmQgdGhlIGZ1bmN0 aW9ucyB0aGF0IHJ1biBpdDogdGhleSBtYXkNCisgICBwcmVmZXIgYSBjdXN0b20gc29sdXRpb24g KFtbI2g6ODZmNjkwNmItZjA5MC00NmNjLTk4MTYtMWZlOGFlYjM4Nzc2XVtBIHRoZW1lLWFnbm9z dGljIGhvb2sgZm9yIHRoZW1lIGxvYWRpbmddXSkuDQogDQotKiogT3B0aW9uIGZvciBtb3JlIGJv bGQgY29uc3RydWN0cw0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IEJvbGQgY29uc3RydWN0 cw0KLTpERVNDUklQVElPTjogVG9nZ2xlIGJvbGQgY29uc3RydWN0cyBpbiBjb2RlDQotOkNVU1RP TV9JRDogaDpiMjU3MTRmNi0wZmJlLTQxZjYtODliNS02OTEyZDMwNDA5MWUNCi06RU5EOg0KKyoq IFNhbXBsZSBjb25maWd1cmF0aW9uIGZvciB1c2UtcGFja2FnZQ0KKzpwcm9wZXJ0aWVzOg0KKzpj dXN0b21faWQ6IGg6ZTk3OTczNGMtYTllMS00MzczLTkzNjUtMGYyY2QzNjEwN2I4DQorOmVuZDoN CisjK2NpbmRleDogdXNlLXBhY2thZ2UgY29uZmlndXJhdGlvbg0KIA0KLVN5bWJvbCBuYW1lczoN CitJdCBpcyBjb21tb24gZm9yIEVtYWNzIHVzZXJzIHRvIHJlbHkgb24gfnVzZS1wYWNrYWdlfiBm b3IgZGVjbGFyaW5nDQorcGFja2FnZSBjb25maWd1cmF0aW9ucyBpbiB0aGVpciBzZXR1cC4gIFdl IHVzZSB0aGlzIGFzIGFuIGV4YW1wbGU6DQogDQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9s ZC1jb25zdHJ1Y3RzPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC1jb25zdHJ1Y3RzPQ0K KyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisodXNlLXBhY2thZ2UgbW9kdXMtdGhlbWVzDQorICA6 ZW5zdXJlDQorICA6aW5pdA0KKyAgOzsgQWRkIGFsbCB5b3VyIGN1c3RvbWl6YXRpb25zIHByaW9y IHRvIGxvYWRpbmcgdGhlIHRoZW1lcw0KKyAgKHNldHEgbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29u c3RydWN0cyB0DQorICAgICAgICBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIG5pbCkNCisN CisgIDs7IExvYWQgdGhlIHRoZW1lIGZpbGVzIGJlZm9yZSBlbmFibGluZyBhIHRoZW1lIChlbHNl IHlvdSBnZXQgYW4gZXJyb3IpLg0KKyAgKG1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lcykNCisgIDpj b25maWcNCisgIDs7IExvYWQgdGhlIHRoZW1lIG9mIHlvdXIgY2hvaWNlOg0KKyAgKG1vZHVzLXRo ZW1lcy1sb2FkLW9wZXJhbmRpKSA7OyBPUiAobW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaSkNCisg IDpiaW5kICgiPGY1PiIgLiBtb2R1cy10aGVtZXMtdG9nZ2xlKSkNCisjK2VuZF9zcmMNCiANCi1Q b3NzaWJsZSB2YWx1ZXM6DQorW1sjaDplNjg1NjBiMy03ZmIwLTQyYmMtYTE1MS1lMDE1OTQ4Zjhh MzVdW0RpZmZlcmVuY2VzIGJldHdlZW4gbG9hZGluZyBhbmQgZW5hYmxpbmddXS4NCisNCitOb3Rl OiBtYWtlIHN1cmUgbm90IHRvIGN1c3RvbWl6ZSB0aGUgdmFyaWFibGUgfmN1c3RvbS10aGVtZS1s b2FkLXBhdGh+DQorb3IgfmN1c3RvbS10aGVtZS1kaXJlY3Rvcnl+IGFmdGVyIHRoZSB0aGVtZXMn IHBhY2thZ2UgZGVjbGFyYXRpb24uICBUaGF0DQord2lsbCBsZWFkIHRvIGZhaWx1cmVzIGluIGxv YWRpbmcgdGhlIGZpbGVzLiAgSWYgZWl0aGVyIG9yIGJvdGggb2YgdGhvc2UNCit2YXJpYWJsZXMg bmVlZCB0byBiZSBjaGFuZ2VkLCB0aGVpciB2YWx1ZXMgc2hvdWxkIGJlIGRlZmluZWQgYmVmb3Jl IHRoZQ0KK3BhY2thZ2UgZGVjbGFyYXRpb24gb2YgdGhlIHRoZW1lcy4NCisNCisqKiBEaWZmZXJl bmNlcyBiZXR3ZWVuIGxvYWRpbmcgYW5kIGVuYWJsaW5nDQorOnByb3BlcnRpZXM6DQorOmN1c3Rv bV9pZDogaDplNjg1NjBiMy03ZmIwLTQyYmMtYTE1MS1lMDE1OTQ4ZjhhMzUNCis6ZW5kOg0KKyMr Y2luZGV4OiBsb2FkLXRoZW1lIFZTIGVuYWJsZS10aGVtZQ0KKw0KK1RoZSByZWFzb24gd2UgcmVj b21tZW5kIH5sb2FkLXRoZW1lfiBpbnN0ZWFkIG9mIHRoZSBvdGhlciBvcHRpb24gb2YNCit+ZW5h YmxlLXRoZW1lfiBpcyB0aGF0IHRoZSBmb3JtZXIgZG9lcyBhIGtpbmQgb2YgInJlc2V0IiBvbiB0 aGUgZmFjZQ0KK3NwZWNzLiAgSXQgcXVpdGUgbGl0ZXJhbGx5IGxvYWRzIChvciByZS1sb2Fkcykg dGhlIHRoZW1lLiAgV2hlcmVhcyB0aGUNCitsYXR0ZXIgc2ltcGx5IHB1dHMgYW4gYWxyZWFkeSBs b2FkZWQgdGhlbWUgYXQgdGhlIHRvcCBvZiB0aGUgbGlzdCBvZg0KK2VuYWJsZWQgaXRlbXMsIHJl LXVzaW5nIHdoYXRldmVyIHN0YXRlIHdhcyBsYXN0IGxvYWRlZC4NCisNCitBcyBzdWNoLCB+bG9h ZC10aGVtZX4gcmVhZHMgYWxsIGN1c3RvbWl6YXRpb25zIHRoYXQgbWF5IGhhcHBlbiBkdXJpbmcN CithbnkgZ2l2ZW4gRW1hY3Mgc2Vzc2lvbjogZXZlbiBhZnRlciB0aGUgaW5pdGlhbCBzZXR1cCBv ZiBhIHRoZW1lLg0KK0V4YW1wbGVzIGFyZSBjYWxscyB0byB+Y3VzdG9tLXNldC1mYWNlc34sIGFz IHdlbGwgYXMgbmV3IHZhbHVlcyBhc3NpZ25lZA0KK3RvIHRoZSBvcHRpb25zIHRoZSBNb2R1cyB0 aGVtZXMgcHJvdmlkZSAoW1sjaDpiZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1M2Zd W0N1c3RvbWl6YXRpb24gT3B0aW9uc11dKS4NCisNCitPdXIgdGVzdHMgc2hvdyB0aGF0IH5lbmFi bGUtdGhlbWV+IGRvZXMgbm90IHJlYWQgc3VjaCB2YXJpYWJsZXMgYW5ldywgc28NCitpdCBtaWdo dCBhcHBlYXIgdG8gdGhlIHVuc3VzcGVjdGluZyB1c2VyIHRoYXQgdGhlIHRoZW1lcyBhcmUgc29t ZWhvdw0KK2Jyb2tlbiB3aGVuZXZlciB0aGV5IHRyeSB0byBhc3NpZ24gYSBuZXcgdmFsdWUgdG8g YSBjdXN0b21pemF0aW9uIG9wdGlvbg0KK29yIHNvbWUgZmFjZS4NCisNCitUaGlzICJyZXNldCIg dGhhdCB+bG9hZC10aGVtZX4gY29uZHVjdHMgZG9lcywgaG93ZXZlciwgY29tZSBhdCB0aGUgY29z dA0KK29mIGJlaW5nIHNvbWV3aGF0IHNsb3dlciB0aGFuIH5lbmFibGUtdGhlbWV+LiAgVXNlcnMg d2hvIGhhdmUgYSBzdGFibGUNCitzZXR1cCBhbmQgd2hvIHNlbGRvbSB1cGRhdGUgdGhlaXIgdmFy aWFibGVzIGR1cmluZyBhIGdpdmVuIEVtYWNzDQorc2Vzc2lvbiwgYXJlIGJldHRlciBvZmYgdXNp bmcgc29tZXRoaW5nIGxpa2UgdGhpczoNCiANCi0xLiA9bmlsPSAoZGVmYXVsdCkNCi0yLiA9dD0N CisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKHJlcXVpcmUgJ21vZHVzLXRoZW1lcykNCisocmVx dWlyZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUpDQorKHJlcXVpcmUgJ21vZHVzLXZpdmVuZGktdGhl bWUpDQogDQotRGlzcGxheSBzZXZlcmFsIGNvbnN0cnVjdHMgaW4gYm9sZCB3ZWlnaHQuICBUaGlz IGNvbmNlcm5zIGtleXdvcmRzIGFuZA0KLW90aGVyIGltcG9ydGFudCBhc3BlY3RzIG9mIGNvZGUg c3ludGF4LiAgSXQgYWxzbyBhZmZlY3RzIGNlcnRhaW4gbW9kZQ0KLWxpbmUgaW5kaWNhdG9ycyBh bmQgY29tbWFuZC1saW5lIHByb21wdHMuDQorKGVuYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkp IDs7IE9SIChlbmFibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpDQorIytlbmRfc3JjDQogDQotVGhl IGRlZmF1bHQgaXMgdG8gb25seSB1c2UgYSBib2xkIHdlaWdodCB3aGVuIGl0IGlzIHJlcXVpcmVk Lg0KK1tbI2g6ZTk3OTczNGMtYTllMS00MzczLTkzNjUtMGYyY2QzNjEwN2I4XVtTYW1wbGUgY29u ZmlndXJhdGlvbiBmb3IgdXNlLXBhY2thZ2VdXS4NCiANCi1BZGRpdGlvbmFsbHksIGFuZCB3aGls ZSBub3QgbmVjZXNzYXJ5LCB0byBkZWZpbmUgdGhlIHByZWNpc2Ugd2VpZ2h0IGZvcg0KLWJvbGQg Y29uc3RydWN0cywgeW91IGNhbiBjaGFuZ2UgdGhlIHR5cG9ncmFwaGljIGludGVuc2l0eSBvZiB0 aGUgPWJvbGQ9DQotZmFjZS4gIFRoZSBzdGFuZGFyZCBpcyBhIGJvbGQgd2VpZ2h0LiAgSXQgcmVx dWlyZXMgbm8gZnVydGhlcg0KLWludGVydmVudGlvbi4gIEFzc3VtaW5nIHRob3VnaCB0aGF0IHlv dXIgdHlwZWZhY2Ugb2YgY2hvaWNlIHN1cHBvcnRzIGENCi0ic2VtaWJvbGQiIHdlaWdodCwgYWRk aW5nIHRoZSBmb2xsb3dpbmcgc25pcHBldCB0byB5b3VyIGluaXQgZmlsZSBzaG91bGQNCi1zdWZm aWNlLg0KK1dpdGggdGhlIGFib3ZlIGdyYW50ZWQsIG90aGVyIHNlY3Rpb25zIG9mIHRoZSBtYW51 YWwgZGlzY3VzcyBob3cgdG8NCitjb25maWd1cmUgY3VzdG9tIGZhY2VzLCB3aGVyZSB+bG9hZC10 aGVtZX4gaXMgZXhwZWN0ZWQsIHRob3VnaA0KK35lbmFibGUtdGhlbWV+IGNvdWxkIHN0aWxsIGFw cGx5IGluIHN0YWJsZSBzZXR1cHM6DQogDQotIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KLShzZXQt ZmFjZS1hdHRyaWJ1dGUgJ2JvbGQgbmlsIDp3ZWlnaHQgJ3NlbWlib2xkKQ0KLSMrZW5kX3NyYw0K K1tbI2g6MTQ4N2M2MzEtZjRmZS00OTBkLThkNTgtZDcyZmZhM2JkNDc0XVtDYXNlLWJ5LWNhc2Ug ZmFjZSBzcGVjcyB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uDQogDQotTm90ZSB0aGF0IGlm IHlvdSBhcmUgc3dpdGNoaW5nIHRoZW1lcywgeW91IG5lZWQgdG8gcmUtZXZhbHVhdGUgdGhpcw0K LWV4cHJlc3Npb24gYWZ0ZXIgdGhlIG5ldyB0aGVtZSBpcyBsb2FkZWQuDQorW1sjaDo1MWJhMzU0 Ny1iOGM4LTQwZDYtYmE1YS00NTg2NDc3ZmQ0YWVdW0ZhY2Ugc3BlY3MgYXQgc2NhbGUgdXNpbmcg dGhlIHRoZW1lcycgcGFsZXR0ZV1dLg0KIA0KLSoqIE9wdGlvbiBmb3IgbW9yZSBzbGFudGVkIGNv bnN0cnVjdHMNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBTbGFudGVkIGNvbnN0cnVjdHMN Ci06REVTQ1JJUFRJT046IFRvZ2dsZSBzbGFudGVkIGNvbnN0cnVjdHMgKGl0YWxpY3MpIGluIGNv ZGUNCi06Q1VTVE9NX0lEOiBoOjk3N2M5MDBkLTBkNmQtNGRiYi04MmQ5LWMyYWFlNjk1NDNkNg0K LTpFTkQ6DQorKiBDdXN0b21pemF0aW9uIE9wdGlvbnMNCis6cHJvcGVydGllczoNCis6Y3VzdG9t X2lkOiBoOmJmMWM4MmYyLTQ2YzctNGViMi1hZDAwLWRkMTFmZGQ4YjUzZg0KKzplbmQ6DQorDQor VGhlIE1vZHVzIHRoZW1lcyBhcmUgaGlnaGx5IGNvbmZpZ3VyYWJsZSwgdGhvdWdoIHRoZXkgc2hv dWxkIHdvcmsgd2VsbA0KK3dpdGhvdXQgYW55IGZ1cnRoZXIgdHdlYWtzLiAgQnkgZGVmYXVsdCwg YWxsIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBhcmUNCitzZXQgdG8gbmlsLg0KIA0KLVN5bWJvbCBu YW1lczoNCitSZW1lbWJlciB0aGF0IGFsbCBjdXN0b21pemF0aW9uIG9wdGlvbnMgbXVzdCBiZSBl dmFsdWF0ZWQgYmVmb3JlIGxvYWRpbmcNCithIHRoZW1lIChbWyNoOjNmM2MzNzI4LTFiMzQtNDM3 ZC05ZDBjLWIxMTBmNWIxNjFhOV1bRW5hYmxlIGFuZCBsb2FkXV0pLg0KIA0KLSsgPW1vZHVzLW9w ZXJhbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cz0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1l LXNsYW50ZWQtY29uc3RydWN0cz0NCisqKiBPcHRpb24gZm9yIG1vcmUgYm9sZCBjb25zdHJ1Y3Rz DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogQm9sZCBjb25zdHJ1Y3RzDQorOmRlc2NyaXB0 aW9uOiBUb2dnbGUgYm9sZCBjb25zdHJ1Y3RzIGluIGNvZGUNCis6Y3VzdG9tX2lkOiBoOmIyNTcx NGY2LTBmYmUtNDFmNi04OWI1LTY5MTJkMzA0MDkxZQ0KKzplbmQ6DQorIyt2aW5kZXg6IG1vZHVz LXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMNCisNCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtYm9sZC1j b25zdHJ1Y3Rzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkN CiAyLiA9dD0NCiANCi1DaG9vc2UgdG8gcmVuZGVyIG1vcmUgZmFjZXMgaW4gc2xhbnRlZCB0ZXh0 IChpdGFsaWNzKS4gIFRoaXMgdHlwaWNhbGx5DQotYWZmZWN0cyBkb2N1bWVudGF0aW9uIHN0cmlu Z3MgYW5kIGNvZGUgY29tbWVudHMuDQotDQotVGhlIGRlZmF1bHQgaXMgdG8gbm90IHVzZSBpdGFs aWNzIHVubGVzcyBpdCBpcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS4NCitUaGUgZGVmYXVsdCBpcyB0 byB1c2UgYSBib2xkIHR5cG9ncmFwaGljIHdlaWdodCBvbmx5IHdoZW4gaXQgaXMNCityZXF1aXJl ZC4NCiANCi0qKiBPcHRpb24gZm9yIGZhaW50IGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZyAoZGVw cmVjYXRlZCBmb3IgfjAuMTQuMH4pDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogRmFpbnQg c3ludGF4DQotOkRFU0NSSVBUSU9OOiBUb2dnbGUgc3VidGxlIGNvbG9yYXRpb24gaW4gY29kZSAo ZGVwcmVjYXRlZCBmb3IgMC4xNC4wKQ0KLTpDVVNUT01fSUQ6IGg6NzQxMzc5ZmUtNzIwMy00ZGFk LWE3ZjgtYWI3MWY2MWI0M2U2DQotOkVORDoNCitXaXRoIGEgbm9uLW5pbCB2YWx1ZSAoPXQ9KSBk aXNwbGF5IHNldmVyYWwgc3ludGFjdGljIGNvbnN0cnVjdHMgaW4gYm9sZA0KK3dlaWdodC4gIFRo aXMgY29uY2VybnMga2V5d29yZHMgYW5kIG90aGVyIGltcG9ydGFudCBhc3BlY3RzIG9mIGNvZGUN CitzeW50YXguICBJdCBhbHNvIGFmZmVjdHMgY2VydGFpbiBtb2RlIGxpbmUgaW5kaWNhdG9ycyBh bmQgY29tbWFuZC1saW5lDQorcHJvbXB0cy4NCiANCi1TeW1ib2wgbmFtZXM6DQorKiogT3B0aW9u IGZvciBtb3JlIHNsYW50ZWQgY29uc3RydWN0cw0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6 IFNsYW50ZWQgY29uc3RydWN0cw0KKzpkZXNjcmlwdGlvbjogVG9nZ2xlIHNsYW50ZWQgY29uc3Ry dWN0cyAoaXRhbGljcykgaW4gY29kZQ0KKzpjdXN0b21faWQ6IGg6OTc3YzkwMGQtMGQ2ZC00ZGJi LTgyZDktYzJhYWU2OTU0M2Q2DQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLXNsYW50 ZWQtY29uc3RydWN0cw0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLWZhaW50LXN5bnRheD0N Ci0rID1tb2R1cy12aXZlbmRpLXRoZW1lLWZhaW50LXN5bnRheD0NCitTeW1ib2w6IH5tb2R1cy10 aGVtZXMtc2xhbnRlZC1jb25zdHJ1Y3Rzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9 bmlsPSAoZGVmYXVsdCkNCiAyLiA9dD0NCiANCi1Vc2UgbGVzcyBzYXR1cmF0ZWQgY29sb3JzIGlu IHByb2dyYW1taW5nIG1vZGVzIGZvciBoaWdobGlnaHRpbmcgY29kZQ0KLXN5bnRheC4gIFRoZSBk ZWZhdWx0IGlzIHRvIHVzZSBzYXR1cmF0ZWQgY29sb3JzLg0KK1RoZSBkZWZhdWx0IGlzIHRvIG5v dCB1c2Ugc2xhbnRlZCB0ZXh0IChpdGFsaWNzKSB1bmxlc3MgaXQgaXMgYWJzb2x1dGVseQ0KK25l Y2Vzc2FyeS4NCiANCi1UaGlzIG9wdGlvbiBlc3NlbnRpYWxseSBhZmZlY3RzIHRoZSBmb250LWxv Y2sgZmFjZXMsIHNvIGl0IG1heSBhbHNvIGhhdmUNCi1pbXBsaWNhdGlvbnMgaW4gb3RoZXIgcGxh Y2VzIHRoYXQgYXJlIGhhcmQtd2lyZWQgdG8gcmVseSBkaXJlY3RseSBvbg0KLXRoZW0gaW5zdGVh ZCBvZiBzcGVjaWZ5aW5nIHRoZWlyIG93biBmYWNlcyAod2hpY2ggY291bGQgaW5oZXJpdCBmcm9t DQotZm9udC1sb2NrIGlmIHRoYXQgaXMgdGhlIGludGVudCkuICBUaGUgYXV0aG9yIGlzIGF3YXJl IG9mID12Yy1kaXI9IGFzIGENCi1jYXNlIGluIHBvaW50Lg0KK1dpdGggYSBub24tbmlsIHZhbHVl ICg9dD0pIGNob29zZSB0byByZW5kZXIgbW9yZSBmYWNlcyBpbiBzbGFudGVkIHRleHQuDQorVGhp cyB0eXBpY2FsbHkgYWZmZWN0cyBkb2N1bWVudGF0aW9uIHN0cmluZ3MgYW5kIGNvZGUgY29tbWVu dHMuDQogDQogKiogT3B0aW9uIGZvciBzeW50YXggaGlnaGxpZ2h0aW5nDQotOlBST1BFUlRJRVM6 DQotOkFMVF9USVRMRTogU3ludGF4IHN0eWxlcw0KLTpERVNDUklQVElPTjogQ2hvb3NlIHRoZSBv dmVyYWxsIGFlc3RoZXRpYyBvZiBjb2RlIHN5bnRheA0KLTpDVVNUT01fSUQ6IGg6YzExOWQ3YjIt ZmNkNC00ZTQ0LTg5MGUtNWUyNTczM2Q1ZTUyDQotOkVORDoNCis6cHJvcGVydGllczoNCis6YWx0 X3RpdGxlOiBTeW50YXggc3R5bGVzDQorOmRlc2NyaXB0aW9uOiBDaG9vc2UgdGhlIG92ZXJhbGwg YWVzdGhldGljIG9mIGNvZGUgc3ludGF4DQorOmN1c3RvbV9pZDogaDpjMTE5ZDdiMi1mY2Q0LTRl NDQtODkwZS01ZTI1NzMzZDVlNTINCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtc3lu dGF4DQogDQotVGhpcyBvcHRpb24gc3VwZXJzZWRlcyB0aGUgImZhaW50IHN5bnRheCIgb25lIGFo ZWFkIG9mIHZlcnNpb24gPTAuMTQuMD0NCi0oW1sjaDo3NDEzNzlmZS03MjAzLTRkYWQtYTdmOC1h YjcxZjYxYjQzZTZdW09wdGlvbiBmb3IgZmFpbnQgY29kZSBzeW50YXggaGlnaGxpZ2h0aW5nXV0p Lg0KLQ0KLVN5bWJvbCBuYW1lczoNCi0NCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXg9 DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXg9DQorU3ltYm9sOiB+bW9kdXMtdGhlbWVz LXN5bnRheH4NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRlZmF1bHQpDQot Mi4gPWZhaW50PQ0KLTMuID15ZWxsb3ctY29tbWVudHM9DQotNC4gPWdyZWVuLXN0cmluZ3M9DQot NS4gPXllbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdzPQ0KLTYuID1hbHQtc3ludGF4PQ0KLTcu ID1hbHQtc3ludGF4LXllbGxvdy1jb21tZW50cz0NCisyLiB+ZmFpbnR+DQorMy4gfnllbGxvdy1j b21tZW50c34NCis0LiB+Z3JlZW4tc3RyaW5nc34NCis1LiB+eWVsbG93LWNvbW1lbnRzLWdyZWVu LXN0cmluZ3N+DQorNi4gfmFsdC1zeW50YXh+DQorNy4gfmFsdC1zeW50YXgteWVsbG93LWNvbW1l bnRzfg0KKzguIH5mYWludC15ZWxsb3ctY29tbWVudHN+DQogDQogVGhlIGRlZmF1bHQgc3R5bGUg KG5pbCkgZm9yIGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZyBpcyBhIGJhbGFuY2VkDQogY29tYmlu YXRpb24gb2YgY29sb3JzIG9uIHRoZSBjeWFuLWJsdWUtbWFnZW50YSBzaWRlIG9mIHRoZSBzcGVj dHJ1bS4NCiBUaGVyZSBpcyBsaXR0bGUgdG8gbm8gdXNlIG9mIGdyZWVucywgeWVsbG93cywgb3Ig cmVkcywgZXhjZXB0IHdoZW4gaXQgaXMNCiBuZWNlc3NhcnkuDQogDQotT3B0aW9uID1mYWludD0g aXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUgY2hvaWNlIG9mIHBhbGV0dGUgYnV0 DQorT3B0aW9uIH5mYWludH4gaXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUgY2hv aWNlIG9mIHBhbGV0dGUgYnV0DQogYXBwbGllcyBkZXNhdHVyYXRlZCBjb2xvciB2YWx1ZXMuDQog DQotT3B0aW9uID15ZWxsb3ctY29tbWVudHM9IGFwcGxpZXMgYSB5ZWxsb3cgdGludCB0byBjb21t ZW50cy4gIFRoZSByZXN0IG9mDQotdGhlIHN5bnRheCBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVs dC4NCitPcHRpb24gfnllbGxvdy1jb21tZW50c34gYWRkcyBhIHllbGxvdyB0aW50IHRvIGNvbW1l bnRzLiAgVGhlIHJlc3Qgb2YgdGhlDQorc3ludGF4IGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0 Lg0KIA0KLU9wdGlvbiA9Z3JlZW4tc3RyaW5ncz0gcmVwbGFjZXMgdGhlIGJsdWUvY3lhbi9jb2xk IGNvbG9yIHZhcmlhbnRzIGluDQorT3B0aW9uIH5ncmVlbi1zdHJpbmdzfiByZXBsYWNlcyB0aGUg Ymx1ZS9jeWFuL2NvbGQgY29sb3IgdmFyaWFudHMgaW4NCiBzdHJpbmdzIHdpdGggZ3JlZW5lciBh bHRlcm5hdGl2ZXMuICBUaGUgcmVzdCBvZiB0aGUgc3ludGF4IHJlbWFpbnMgdGhlDQogc2FtZS4N CiANCi1PcHRpb24gPXllbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdzPSBjb21iaW5lcyB5ZWxs b3cgY29tbWVudHMgd2l0aCBncmVlbg0KK09wdGlvbiB+eWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0 cmluZ3N+IGNvbWJpbmVzIHllbGxvdyBjb21tZW50cyB3aXRoIGdyZWVuDQogc3RyaW5ncyBhbmQg dGhlIHJlc3Qgb2YgdGhlIGRlZmF1bHQgc3ludGF4IGhpZ2hsaWdodGluZyBzdHlsZS4NCiANCi1P cHRpb24gPWFsdC1zeW50YXg9IGV4cGFuZHMgdGhlIGNvbG9yIHBhbGV0dGUgYW5kIGFwcGxpZXMg bmV3IGNvbG9yDQotY29tYmluYXRpb25zLiAgU3RyaW5ncyBhcmUgZ3JlZW4uICBEb2Mgc3RyaW5n cyBhcmUgbWFnZW50YSB0aW50ZWQuDQotQ29tbWVudHMgYXJlIGdyYXkuDQorT3B0aW9uIH5hbHQt c3ludGF4fiBleHBhbmRzIHRoZSBhY3RpdmUgc3BlY3RydW0gYnkgYXBwbHlpbmcgY29sb3INCitj b21iaW5hdGlvbnMgd2l0aCBtb3JlIGNvbnRyYXN0aW5nIGh1ZXMgYmV0d2VlbiB0aGVtLiAgRXhw ZWN0IHRvIGZpbmQNCityZWQgYW5kIGdyZWVuIHZhcmlhbnRzIGluIGFkZGl0aW9uIHRvIGN5YW4s IGJsdWUsIG1hZ2VudGEuDQogDQotT3B0aW9uID1hbHQtc3ludGF4LXllbGxvdy1jb21tZW50cz0g Y29tYmluZXMgPWFsdC1zeW50YXg9IHdpdGgNCi09eWVsbG93LWNvbW1lbnRzPS4NCitPcHRpb24g fmFsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzfiBjb21iaW5lcyB+YWx0LXN5bnRheH4gd2l0aA0K K355ZWxsb3ctY29tbWVudHN+Lg0KIA0KLSoqIE9wdGlvbiBmb3Igbm8gZm9udCBtaXhpbmcNCi06 UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBObyBtaXhlZCBmb250cw0KLTpERVNDUklQVElPTjog VG9nZ2xlIG1peGluZyBvZiBmb250IGZhbWlsaWVzDQotOkNVU1RPTV9JRDogaDoxMTVlNmMyMy1l ZTM1LTRhMTYtOGNlZi1lMmZjYmIwOGUyOGINCi06RU5EOg0KK09wdGlvbiB+ZmFpbnQteWVsbG93 LWNvbW1lbnRzfiBjb21iaW5lcyB0aGUgfmZhaW50fiBzdHlsZSB3aXRoDQorfnllbGxvdy1jb21t ZW50c34uDQogDQotU3ltYm9sIG5hbWVzOg0KKyoqIE9wdGlvbiBmb3Igbm8gZm9udCBtaXhpbmcN Cis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBObyBtaXhlZCBmb250cw0KKzpkZXNjcmlwdGlv bjogVG9nZ2xlIG1peGluZyBvZiBmb250IGZhbWlsaWVzDQorOmN1c3RvbV9pZDogaDoxMTVlNmMy My1lZTM1LTRhMTYtOGNlZi1lMmZjYmIwOGUyOGINCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10 aGVtZXMtbm8tbWl4ZWQtZm9udHMNCiANCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1uby1taXhl ZC1mb250cz0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzPQ0KK1N5bWJv bDogfm1vZHVzLXRoZW1lcy1uby1taXhlZC1mb250c34NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQog DQogMS4gPW5pbD0gKGRlZmF1bHQpDQogMi4gPXQ9DQogDQotQnkgZGVmYXVsdCwgdGhlIHRoZW1l cyBjb25maWd1cmUgc29tZSBzcGFjaW5nLXNlbnNpdGl2ZSBmYWNlcywgc3VjaCBhcw0KLU9yZyB0 YWJsZXMgYW5kIGNvZGUgYmxvY2tzLCB0byBhbHdheXMgaW5oZXJpdCBmcm9tIHRoZSA9Zml4ZWQt cGl0Y2g9IGZhY2UuDQotVGhpcyBpcyB0byBlbnN1cmUgdGhhdCB0aG9zZSBjb25zdHJ1Y3RzIHJl bWFpbiBtb25vc3BhY2VkIHdoZW4gdXNlcnMgb3B0DQotZm9yIHNvbWV0aGluZyBsaWtlIHRoZSBi dWlsdC1pbiA9TS14IHZhcmlhYmxlLXBpdGNoLW1vZGU9LiAgT3RoZXJ3aXNlIHRoZQ0KLWxheW91 dCB3b3VsZCBhcHBlYXIgYnJva2VuLiAgVG8gZGlzYWJsZSB0aGlzIGJlaGF2aW91ciwgc2V0IHRo ZSBvcHRpb24NCi10byA9dD0uDQorQnkgZGVmYXVsdCwgdGhlIHRoZW1lcyBjb25maWd1cmUgc29t ZSBzcGFjaW5nLXNlbnNpdGl2ZSBmYWNlcyBsaWtlIE9yZw0KK3RhYmxlcyBhbmQgY29kZSBibG9j a3MgdG8gYWx3YXlzIGluaGVyaXQgZnJvbSB0aGUgfmZpeGVkLXBpdGNofiBmYWNlLg0KK1RoaXMg aXMgdG8gZW5zdXJlIHRoYXQgdGhvc2UgY29uc3RydWN0cyByZW1haW4gbW9ub3NwYWNlZCBldmVu IHdoZW4NCit1c2VycyBvcHQgZm9yIGEgbW9kZSB0aGF0IHJlbWFwcyB0eXBlZmFjZSBmYW1pbGll cywgc3VjaCBhcyB0aGUgYnVpbHQtaW4NCit7e3trYmQoTS14IHZhcmlhYmxlLXBpdGNoLW1vZGUp fX19LiAgT3RoZXJ3aXNlIHRoZSBsYXlvdXQgd291bGQgYXBwZWFyDQorYnJva2VuLCBkdWUgdG8g aG93IHNwYWNpbmcgaXMgZG9uZS4gIFRvIGRpc2FibGUgdGhpcyBiZWhhdmlvdXIsIHNldCB0aGUN CitvcHRpb24gdG8gPXQ9Lg0KIA0KIFVzZXJzIG1heSBwcmVmZXIgdG8gdXNlIGFub3RoZXIgcGFj a2FnZSBmb3IgaGFuZGxpbmcgbWl4ZWQgdHlwZWZhY2UNCiBjb25maWd1cmF0aW9ucywgcmF0aGVy IHRoYW4gbGV0dGluZyB0aGUgdGhlbWUgZG8gaXQsIHBlcmhhcHMgYmVjYXVzZSBhDQogcHVycG9z ZS1zcGVjaWZpYyBwYWNrYWdlIGhhcyBleHRyYSBmdW5jdGlvbmFsaXR5LiAgVHdvIHBvc3NpYmxl IG9wdGlvbnMNCi1hcmUgPW9yZy12YXJpYWJsZS1waXRjaD0gYW5kID1taXhlZC1waXRjaD0uDQot DQotKiogT3B0aW9uIGZvciBubyBsaW5rIHVuZGVybGluZSAoZGVwcmVjYXRlZCBmb3IgfjAuMTQu MH4pDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogTGluayB1bmRlcmxpbmUNCi06REVTQ1JJ UFRJT046IFRvZ2dsZSB1bmRlcmxpbmVkIHRleHQgaW4gbGlua3MgKGRlcHJlY2F0ZWQgZm9yIDAu MTQuMCkNCi06Q1VTVE9NX0lEOiBoOmExYTYzOWU5LWQyNDctNDE0Yy1hMGFkLTA4YWRhZGNiYzZj MQ0KLTpFTkQ6DQorYXJlIH5vcmctdmFyaWFibGUtcGl0Y2h+IGFuZCB+bWl4ZWQtcGl0Y2h+Lg0K IA0KLU5vdGU6IGRlcHJlY2F0ZWQgYWhlYWQgb2YgdmVyc2lvbiA9MC4xNC4wPSAoW1sjaDpjMTE5 ZDdiMi1mY2Q0LTRlNDQtODkwZS01ZTI1NzMzZDVlNTJdW09wdGlvbiBmb3IgbGlua3NdXSkuDQot DQotU3ltYm9sIG5hbWVzOg0KLQ0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLWxpbmstdW5k ZXJsaW5lPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmU9DQotDQot UG9zc2libGUgdmFsdWVzOg0KLQ0KLTEuID1uaWw9IChkZWZhdWx0KQ0KLTIuID10PQ0KLQ0KLVJl bW92ZSB0aGUgdW5kZXJsaW5lIGVmZmVjdCBmcm9tIGxpbmtzLCBzeW1ib2xpYyBsaW5rcywgYW5k IGJ1dHRvbnMuDQotVGhlIGRlZmF1bHQgaXMgdG8gYXBwbHkgYW4gdW5kZXJsaW5lLg0KK1tbI2g6 ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRpb25z IGZvciBPcmcgKGFuZCBvdGhlcnMpXV0uDQogDQogKiogT3B0aW9uIGZvciBsaW5rcw0KLTpQUk9Q RVJUSUVTOg0KLTpBTFRfVElUTEU6IExpbmsgc3R5bGVzDQotOkRFU0NSSVBUSU9OOiBDaG9vc2Ug Y29sb3IgaW50ZW5zaXR5IG9yIG5vIHVuZGVybGluZSBmb3IgbGlua3MNCi06Q1VTVE9NX0lEOiBo OmMxMTlkN2IyLWZjZDQtNGU0NC04OTBlLTVlMjU3MzNkNWU1Mg0KLTpFTkQ6DQotDQotVGhpcyBv cHRpb24gc3VwZXJzZWRlcyB0aGUgIm5vIGxpbmsgdW5kZXJsaW5lIiBvbmUgYWhlYWQgb2YgdmVy c2lvbg0KLT0wLjE0LjA9IChbWyNoOmExYTYzOWU5LWQyNDctNDE0Yy1hMGFkLTA4YWRhZGNiYzZj MV1bT3B0aW9uIGZvciBubyBsaW5rIHVuZGVybGluZV1dKS4NCis6cHJvcGVydGllczoNCis6YWx0 X3RpdGxlOiBMaW5rIHN0eWxlcw0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIGFtb25nIHNldmVyYWwg c3R5bGVzLCB3aXRoIG9yIHdpdGhvdXQgdW5kZXJsaW5lDQorOmN1c3RvbV9pZDogaDpjMTE5ZDdi Mi1mY2Q0LTRlNDQtODkwZS01ZTI1NzMzZDVlNTINCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10 aGVtZXMtbGlua3MNCiANCi1TeW1ib2wgbmFtZXM6DQotDQotKyA9bW9kdXMtb3BlcmFuZGktdGhl bWUtbGlua3M9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1saW5rcz0NCitTeW1ib2w6IH5tb2R1 cy10aGVtZXMtbGlua3N+DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KIDEuID1uaWw9IChkZWZh dWx0KQ0KLTIuID1mYWludD0NCi0zLiA9bmV1dHJhbC11bmRlcmxpbmU9DQotNC4gPWZhaW50LW5l dXRyYWwtdW5kZXJsaW5lPQ0KLTUuID1uby11bmRlcmxpbmU9DQorMi4gfmZhaW50fg0KKzMuIH5u ZXV0cmFsLXVuZGVybGluZX4NCis0LiB+ZmFpbnQtbmV1dHJhbC11bmRlcmxpbmV+DQorNS4gfm5v LXVuZGVybGluZX4NCis2LiB+dW5kZXJsaW5lLW9ubHl+DQorNy4gfm5ldXRyYWwtdW5kZXJsaW5l LW9ubHl+DQogDQogVGhlIGRlZmF1bHQgc3R5bGUgKG5pbCkgZm9yIGxpbmtzIGlzIHRvIGFwcGx5 IGFuIHVuZGVybGluZSBhbmQgYQ0KLXNhdHVyYXRlZCBjb2xvciB0byB0aGUgYWZmZWN0ZWQgdGV4 dC4gIFRoZSBjb2xvciBvZiB0aGUgdHdvIGlzIHRoZQ0KLXNhbWUsIHdoaWNoIG1ha2VzIHRoZSBs aW5rIGZhaXJseSBwcm9taW5lbnQuDQorc2F0dXJhdGVkIGNvbG9yIHRvIHRoZSBhZmZlY3RlZCB0 ZXh0LiAgVGhlIGNvbG9yIG9mIHRoZSB0d28gaXMgdGhlIHNhbWUsDQord2hpY2ggbWFrZXMgdGhl IGxpbmsgZmFpcmx5IHByb21pbmVudC4NCiANCi1PcHRpb24gPWZhaW50PSBmb2xsb3dzIHRoZSBz YW1lIGFwcHJvYWNoIGFzIHRoZSBkZWZhdWx0LCBidXQgdXNlcyBsZXNzDQorT3B0aW9uIH5mYWlu dH4gZm9sbG93cyB0aGUgc2FtZSBhcHByb2FjaCBhcyB0aGUgZGVmYXVsdCwgYnV0IHVzZXMgbGVz cw0KIGludGVuc2UgY29sb3JzLg0KIA0KLU9wdGlvbiA9bmV1dHJhbC11bmRlcmxpbmU9IGNoYW5n ZXMgdGhlIHVuZGVybGluZSdzIGNvbG9yIHRvIGEgc3VidGxlDQotZ3JheSwgd2hpbGUgcmV0YWlu aW5nIHRoZSBkZWZhdWx0IHRleHQgY29sb3IuDQorT3B0aW9uIH5uZXV0cmFsLXVuZGVybGluZX4g Y2hhbmdlcyB0aGUgdW5kZXJsaW5lJ3MgY29sb3IgdG8gYSBzdWJ0bGUgZ3JheSwNCit3aGlsZSBy ZXRhaW5pbmcgdGhlIGRlZmF1bHQgdGV4dCBjb2xvci4NCiANCi1PcHRpb24gPWZhaW50LW5ldXRy YWwtdW5kZXJsaW5lPSBjb21iaW5lcyBhIGRlc2F0dXJhdGVkIHRleHQgY29sb3Igd2l0aCBhDQor T3B0aW9uIH5mYWludC1uZXV0cmFsLXVuZGVybGluZX4gY29tYmluZXMgYSBkZXNhdHVyYXRlZCB0 ZXh0IGNvbG9yIHdpdGggYQ0KIHN1YnRsZSBncmF5IHVuZGVybGluZS4NCiANCi1PcHRpb24gPW5v LXVuZGVybGluZT0gcmVtb3ZlcyBsaW5rIHVuZGVybGluZXMgYWx0b2dldGhlciwgd2hpbGUga2Vl cGluZw0KLXRoZWlyIHRleHQgY29sb3IgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQuDQorT3B0aW9u IH5uby11bmRlcmxpbmV+IHJlbW92ZXMgbGluayB1bmRlcmxpbmVzIGFsdG9nZXRoZXIsIHdoaWxl IHJldGFpbmluZw0KK3RoZWlyIG9yaWdpbmFsIGZhaXJseSB2aXZpZCBjb2xvci4NCiANCi0qKiBP cHRpb24gZm9yIGNvbW1hbmQgcHJvbXB0IHN0eWxlcw0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElU TEU6IENvbW1hbmQgcHJvbXB0cw0KLTpERVNDUklQVElPTjogQ2hvb3NlIGFtb25nIHBsYWluLCBz dWJ0bGUsIG9yIGludGVuc2UgcHJvbXB0cw0KLTpDVVNUT01fSUQ6IGg6ZGI1YTlhN2MtMjkyOC00 YTI4LWIwZjAtNmYyYjliZDUyYmExDQotOkVORDoNCitPcHRpb24gfnVuZGVybGluZS1vbmx5fiBh cHBsaWVzIGEgcHJvbWluZW50IHVuZGVybGluZSB3aGlsZSBtYWtpbmcgdGhlDQorYWZmZWN0ZWQg dGV4dCBjb2xvcmxlc3MgKGl0IHVzZXMgdGhlIHNhbWUgZm9yZWdyb3VuZCBhcyB0aGUgdGhlbWUn cw0KK2RlZmF1bHQpLg0KKw0KK09wdGlvbiB+bmV1dHJhbC11bmRlcmxpbmUtb25seX4gbWFrZXMg dGhlIHRleHQgY29sb3JsZXNzIHdoaWxlIHVzaW5nIGENCitzdWJ0bGUgZ3JheSB1bmRlcmxpbmUg YmVsb3cgaXQuDQogDQotU3ltYm9sIG5hbWVzOg0KK05PVEU6IFRoZSBwbGFjZW1lbnQgb2YgdGhl IHVuZGVybGluZSwgaS5lLiBpdHMgcHJveGltaXR5IHRvIHRoZSBhZmZlY3RlZA0KK3RleHQsIGlz IGNvbnRyb2xsZWQgYnkgdGhlIGJ1aWx0LWluIH54LXVuZGVybGluZS1hdC1kZXNjZW50LWxpbmV+ LA0KK354LXVzZS11bmRlcmxpbmUtcG9zaXRpb24tcHJvcGVydGllc34sIH51bmRlcmxpbmUtbWlu aW11bS1vZmZzZXR+LiAgUGxlYXNlDQorcmVmZXIgdG8gdGhlaXIgZG9jdW1lbnRhdGlvbiBzdHJp bmdzLg0KKw0KKyoqIE9wdGlvbiBmb3IgY29tbWFuZCBwcm9tcHQgc3R5bGVzDQorOnByb3BlcnRp ZXM6DQorOmFsdF90aXRsZTogQ29tbWFuZCBwcm9tcHRzDQorOmRlc2NyaXB0aW9uOiBDaG9vc2Ug YW1vbmcgcGxhaW4sIHN1YnRsZSwgb3IgaW50ZW5zZSBwcm9tcHRzDQorOmN1c3RvbV9pZDogaDpk YjVhOWE3Yy0yOTI4LTRhMjgtYjBmMC02ZjJiOWJkNTJiYTENCis6ZW5kOg0KKyMrdmluZGV4OiBt b2R1cy10aGVtZXMtcHJvbXB0cw0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdHM9 DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHRzPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1l cy1wcm9tcHRzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkN Ci0yLiA9c3VidGxlPQ0KLTMuID1pbnRlbnNlPQ0KKzIuIH5zdWJ0bGUtYWNjZW50ZWR+ICh+c3Vi dGxlfiBleGlzdHMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpDQorMy4gfmludGVuc2UtYWNj ZW50ZWR+ICh+aW50ZW5zZX4gZXhpc3RzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KQ0KKzQu IH5zdWJ0bGUtZ3JheX4NCis1LiB+aW50ZW5zZS1ncmF5fg0KIA0KLVRoZSBzeW1ib2xzICJzdWJ0 bGUiIGFuZCAiaW50ZW5zZSIgd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGFjY2VudGVkDQot YmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB0byB0aGUgbWluaWJ1ZmZlciBhbmQgb3RoZXIgUkVQ TCBwcm9tcHRzIChsaWtlDQotPU0teCBzaGVsbD0gYW5kID1NLXggZXNoZWxsPSkuICBUaGUgZGlm ZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gaXMgdGhhdCB0aGUNCi1sYXR0ZXIgaGFzIGEgbW9yZSBw cm9ub3VuY2VkL25vdGljZWFibGUgZWZmZWN0IHRoYW4gdGhlIGZvcm1lci4NCitUaGUgZGVmYXVs dCBkb2VzIG5vdCB1c2UgYW55IGJhY2tncm91bmQgZm9yIG1pbmlidWZmZXIgYW5kIGNvbW1hbmQg bGluZQ0KK3Byb21wdHMuICBJdCByZWxpZXMgZXhjbHVzaXZlbHkgb24gYW4gYWNjZW50ZWQgZm9y ZWdyb3VuZCBjb2xvci4NCiANCi1UaGUgZGVmYXVsdCBkb2VzIG5vdCB1c2UgYW55IGJhY2tncm91 bmQgZm9yIHN1Y2ggcHJvbXB0cywgd2hpbGUgcmVseWluZw0KLWV4Y2x1c2l2ZWx5IG9uIGFuIGFj Y2VudGVkIGZvcmVncm91bmQgY29sb3IuDQorT3B0aW9ucyB+c3VidGxlLWFjY2VudGVkfiBhbmQg fmludGVuc2UtYWNjZW50ZWR+IHdpbGwgY2hhbmdlIGJvdGggdGhlDQorYmFja2dyb3VuZCBhbmQg dGhlIGZvcmVncm91bmQgdmFsdWVzIHRvIHVzZSBhY2NlbnRlZCBjb2xvciBjb21iaW5hdGlvbnMN Cit0aGF0IGZvbGxvdyB0aGUgaHVlIG9mIHRoZSBkZWZhdWx0IHN0eWxlcycgZm9yZWdyb3VuZCAo ZS5nLiB0aGUgZGVmYXVsdA0KK21pbmlidWZmZXIgcHJvbXB0IGlzIGN5YW4gdGV4dCwgc28gdGhl c2UgY29tYmluYXRpb25zIHdpbGwgaW52b2x2ZWQgYQ0KK2N5YW4gYmFja2dyb3VuZCBhbmQgYW4g YXBwcm9wcmlhdGUgY3lhbiBmb3JlZ3JvdW5kKS4gIFRoZSBkaWZmZXJlbmNlDQorYmV0d2VlbiB0 aGUgdHdvIGlzIHRoYXQgdGhlIGxhdHRlciBoYXMgYSBtb3JlIHByb25vdW5jZWQvbm90aWNlYWJs ZQ0KK2VmZmVjdCB0aGFuIHRoZSBmb3JtZXIuDQogDQotKiogT3B0aW9uIGZvciBtb2RlIGxpbmUg cHJlc2VudGF0aW9uDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogTW9kZSBsaW5lDQotOkRF U0NSSVBUSU9OOiBDaG9vc2UgYW1vbmcgcGxhaW4sIHRocmVlLWRpbWVuc2lvbiwgb3IgbW9vZHkt Y29tcGxpYW50IHN0eWxlcw0KLTpDVVNUT01fSUQ6IGg6Mjc5NDNhZjYtZDk1MC00MmQwLWJjMjMt MTA2ZTQzZjUwYTI0DQotOkVORDoNCitPcHRpb25zIH5zdWJ0bGUtZ3JheX4sIH5pbnRlbnNlLWdy YXl+IGFyZSBsaWtlIHRoZWlyIGFjY2VudGVkIGNvdW50ZXJwYXJ0cywNCitleGNlcHQgdGhleSB1 c2UgZ3JheXNjYWxlIHZhbHVlcy4NCiANCi1TeW1ib2wgbmFtZXM6DQorKiogT3B0aW9uIGZvciBt b2RlIGxpbmUgcHJlc2VudGF0aW9uDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogTW9kZSBs aW5lDQorOmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgc2V2ZXJhbCBzdHlsZXMsIHdpdGggb3Ig d2l0aG91dCBib3JkZXJzDQorOmN1c3RvbV9pZDogaDoyNzk0M2FmNi1kOTUwLTQyZDAtYmMyMy0x MDZlNDNmNTBhMjQNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtbW9kZS1saW5lDQog DQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5lPQ0KLSsgPW1vZHVzLXZpdmVuZGkt dGhlbWUtbW9kZS1saW5lPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1tb2RlLWxpbmV+DQogDQog UG9zc2libGUgdmFsdWVzOg0KIA0KIDEuID1uaWw9IChkZWZhdWx0KQ0KLTIuID0zZD0NCi0zLiA9 bW9vZHk9DQotDQotVGhlIGRlZmF1bHQgdmFsdWUgKD1uaWw9KSBwcm9kdWNlcyBhIHR3by1kaW1l bnNpb25hbCBlZmZlY3QgYm90aCBmb3IgdGhlDQotYWN0aXZlIGFuZCBpbmFjdGl2ZSBtb2RlbGlu ZXMuICBUaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgdHdvIGFyZQ0KLWxpbWl0ZWQgdG8gZGlz dGluY3Qgc2hhZGVzIG9mIGdyYXlzY2FsZSB2YWx1ZXMsIHdpdGggdGhlIGFjdGl2ZSBiZWluZw0K LW1vcmUgaW50ZW5zZSB0aGFuIHRoZSBpbmFjdGl2ZS4NCi0NCi1BID0zZD0gc3ltYm9sIHdpbGwg bWFrZSB0aGUgYWN0aXZlIG1vZGVsaW5lIGxvb2sgbGlrZSBhIHRocmVlLWRpbWVuc2lvbmFsDQor Mi4gfjNkfg0KKzMuIH5tb29keX4NCis0LiB+Ym9yZGVybGVzc34NCis1LiB+Ym9yZGVybGVzcy0z ZH4NCis2LiB+Ym9yZGVybGVzcy1tb29keX4NCisNCitUaGUgZGVmYXVsdCBwcm9kdWNlcyBhIHR3 by1kaW1lbnNpb25hbCBlZmZlY3QgYm90aCBmb3IgdGhlIGFjdGl2ZSBhbmQNCitpbmFjdGl2ZSBt b2RlbGluZXMuICBUaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgdHdvIGFyZSBsaW1pdGVkIHRv DQorZGlzdGluY3Qgc2hhZGVzIG9mIGdyYXlzY2FsZSB2YWx1ZXMsIHdpdGggdGhlIGFjdGl2ZSBi ZWluZyBtb3JlIGludGVuc2UNCit0aGFuIHRoZSBpbmFjdGl2ZS4NCisNCitPcHRpb24gfjNkfiB3 aWxsIG1ha2UgdGhlIGFjdGl2ZSBtb2RlbGluZSBsb29rIGxpa2UgYSB0aHJlZS1kaW1lbnNpb25h bA0KIHJlY3RhbmdsZS4gIEluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gMkQsIHRob3VnaCB0aGV5 IGFyZSBzbGlnaHRseSB0b25lZA0KLWRvd24gcmVsYXRpdmUgdG8gdGhlIGRlZmF1bHQuICBUaGlz IGFlc3RoZXRpYyBpcyB0aGUgc2FtZSBhcyB3aGF0IHlvdQ0KLWdldCB3aGVuIHlvdSBydW4gRW1h Y3Mgd2l0aG91dCBhbnkgY3VzdG9taXphdGlvbnMgKD1lbWFjcyAtUT0gb24gdGhlDQotY29tbWFu ZCBsaW5lKS4NCitkb3duIHJlbGF0aXZlIHRvIHRoZSBkZWZhdWx0LiAgVGhpcyBhZXN0aGV0aWMg aXMgdmlydHVhbGx5IHRoZSBzYW1lIGFzDQord2hhdCB5b3UgZ2V0IHdoZW4geW91IHJ1biBFbWFj cyB3aXRob3V0IGFueSBjdXN0b21pemF0aW9ucyAoPWVtYWNzIC1RPSBvbg0KK3RoZSBjb21tYW5k IGxpbmUpLg0KIA0KLVdoaWxlID1tb29keT0gcmVtb3ZlcyBhbGwgYm94IGVmZmVjdHMgZnJvbSB0 aGUgbW9kZWxpbmVzIGFuZCBhcHBsaWVzDQorV2hpbGUgfm1vb2R5fiByZW1vdmVzIGFsbCBib3gg ZWZmZWN0cyBmcm9tIHRoZSBtb2RlbGluZXMgYW5kIGFwcGxpZXMNCiB1bmRlcmxpbmUgYW5kIG92 ZXJsaW5lIHByb3BlcnRpZXMgaW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biBhIGJpdCB0aGUN CiBpbmFjdGl2ZSBtb2RlbGluZXMuICBUaGlzIGlzIG1lYW50IHRvIG9wdGltaXplIHRoaW5ncyBm b3IgdXNlIHdpdGggdGhlDQogW1todHRwczovL2dpdGh1Yi5jb20vdGFyc2l1cy9tb29keV1bbW9v ZHkgcGFja2FnZV1dIChoZXJlaW5hZnRlciByZWZlcnJlZCB0byBhcyAiTW9vZHkiKSwgdGhvdWdo IGl0IGNhbiB3b3JrDQogZmluZSBldmVuIHdpdGhvdXQgaXQuDQogDQorVGhlIH5ib3JkZXJsZXNz fiBvcHRpb24gdXNlcyB0aGUgc2FtZSBjb2xvcnMgYXMgdGhlIGRlZmF1bHQgKG5pbCB2YWx1ZSks DQorYnV0IHJlbW92ZXMgdGhlIGJvcmRlciBlZmZlY3QuICBUaGlzIGlzIGRvbmUgYnkgbWFraW5n IHRoZSBib3ggcHJvcGVydHkNCit1c2UgdGhlIHNhbWUgY29sb3IgYXMgdGhlIGJhY2tncm91bmQs IGVmZmVjdGl2ZWx5IGJsZW5kaW5nIHRoZSB0d28gYW5kDQorY3JlYXRpbmcgc29tZSBwYWRkaW5n Lg0KKw0KK1RoZSB+Ym9yZGVybGVzcy0zZH4gYW5kIH5ib3JkZXJsZXNzLW1vb2R5fiBhcHByb3hp bWF0ZSB0aGUgfjNkfiBhbmQgfm1vb2R5fg0KK29wdGlvbnMgcmVzcGVjdGl2ZWx5LCB3aGlsZSBy ZW1vdmluZyB0aGUgYm9yZGVycy4gIEhvd2V2ZXIsIHRvIGVuc3VyZQ0KK3RoYXQgdGhlIGluYWN0 aXZlIG1vZGVsaW5lcyByZW1haW4gdmlzaWJsZSwgdGhleSBhcHBseSBhIHNsaWdodGx5IG1vcmUN Citwcm9taW5lbnQgYmFja2dyb3VuZCB0byB0aGVtIHRoYW4gd2hhdCB0aGVpciBjb3VudGVycGFy dHMgZG8gKHNhbWUNCitpbmFjdGl2ZSBiYWNrZ3JvdW5kIGFzIHdpdGggdGhlIGRlZmF1bHQpLg0K Kw0KIE5vdGUgdGhhdCBNb29keSBkb2VzIG5vdCBleHBvc2UgYW55IGZhY2VzIHRoYXQgdGhlIHRo ZW1lcyBjb3VsZCBzdHlsZQ0KIGRpcmVjdGx5LiAgSW5zdGVhZCBpdCByZS1wdXJwb3NlcyBleGlz dGluZyBvbmVzIHRvIHJlbmRlciBpdHMgdGFicyBhbmQNCiByaWJib25zLiAgQXMgc3VjaCwgdGhl cmUgbWF5IGJlIGNhc2VzIHdoZXJlIHRoZSBjb250cmFzdCByYXRpbyBmYWxscw0KIGJlbG93IHRo ZSA3OjEgdGFyZ2V0IHRoYXQgdGhlIHRoZW1lcyBjb25mb3JtIHdpdGggKFdDQUcgQUFBKS4gIFRv IGhlZGdlDQotYWdhaW5zdCB0aGlzLCB3ZSBjb25maWd1cmUgYSBmYWxsYmFjayBmb3JlZ3JvdW5k IGZvciB0aGUgPW1vb2R5PSBvcHRpb24sDQorYWdhaW5zdCB0aGlzLCB3ZSBjb25maWd1cmUgYSBm YWxsYmFjayBmb3JlZ3JvdW5kIGZvciB0aGUgfm1vb2R5fiBvcHRpb24sDQogd2hpY2ggd2lsbCBj b21lIGludG8gZWZmZWN0IHdoZW4gdGhlIGJhY2tncm91bmQgb2YgdGhlIG1vZGVsaW5lIGNoYW5n ZXMNCiB0byBzb21ldGhpbmcgbGVzcyBhY2Nlc3NpYmxlLCBzdWNoIGFzIE1vb2R5IHJpYmJvbnMg KHJlYWQgdGhlIGRvYyBzdHJpbmcNCi1vZiA9c2V0LWZhY2UtYXR0cmlidXRlPSwgc3BlY2lmaWNh bGx5ID06ZGlzdGFudC1mb3JlZ3JvdW5kPSkuICBUaGlzIGZhbGxiYWNrDQotY29tZXMgaW50byBl ZmZlY3Qgd2hlbiBFbWFjcyBkZXRlcm1pbmVzIHRoYXQgdGhlIGJhY2tncm91bmQgYW5kDQotZm9y ZWdyb3VuZCBvZiB0aGUgZ2l2ZW4gY29uc3RydWN0IGFyZSB0b28gY2xvc2UgdG8gZWFjaCBvdGhl ciBpbiB0ZXJtcw0KLW9mIGNvbG9yIGRpc3RhbmNlLiAgSW4gZWZmZWN0LCB1c2VycyB3b3VsZCBu ZWVkIHRvIGV4cGVyaW1lbnQgd2l0aCB0aGUNCi12YXJpYWJsZSA9ZmFjZS1uZWFyLXNhbWUtY29s b3ItdGhyZXNob2xkPSB0byB0cmlnZ2VyIHRoZSBmYWxsYmFjayBjb2xvci4NCi1XZSBmaW5kIHRo YXQgYSB2YWx1ZSBvZiA9NDUwMDA9IHdvdWxkIHN1ZmZpY2UsIGNvbnRyYXJ5IHRvIHRoZSBkZWZh dWx0DQotPTMwMDAwPS4gIERvIG5vdCBzZXQgdGhlIHZhbHVlIHRvbyBoaWdoLCBiZWNhdXNlIHRo YXQgd291bGQgaGF2ZSB0aGUNCi1hZHZlcnNlIGVmZmVjdCBvZiBhbHdheXMgb3ZlcnJpZGluZyB0 aGUgZGVmYXVsdCBjb2xvciAod2hpY2ggaGFzIGJlZW4NCi1jYXJlZnVsbHkgZGVzaWduZWQgdG8g YmUgaGlnaGx5IGFjY2Vzc2libGUpLg0KK29mIH5zZXQtZmFjZS1hdHRyaWJ1dGV+LCBzcGVjaWZp Y2FsbHkgfjpkaXN0YW50LWZvcmVncm91bmR+KS4gIFRoaXMgZmFsbGJhY2sNCitpcyBhY3RpdmF0 ZWQgd2hlbiBFbWFjcyBkZXRlcm1pbmVzIHRoYXQgdGhlIGJhY2tncm91bmQgYW5kIGZvcmVncm91 bmQgb2YNCit0aGUgZ2l2ZW4gY29uc3RydWN0IGFyZSB0b28gY2xvc2UgdG8gZWFjaCBvdGhlciBp biB0ZXJtcyBvZiBjb2xvcg0KK2Rpc3RhbmNlLiAgSW4gZWZmZWN0LCB1c2VycyB3b3VsZCBuZWVk IHRvIGV4cGVyaW1lbnQgd2l0aCB0aGUgdmFyaWFibGUNCit+ZmFjZS1uZWFyLXNhbWUtY29sb3It dGhyZXNob2xkfiB0byB0cmlnZ2VyIHRoZSBlZmZlY3QuICBXZSBmaW5kIHRoYXQgYQ0KK3ZhbHVl IG9mID00NTAwMD0gd2lsbCBzdWZmaWNlLCBjb250cmFyeSB0byB0aGUgZGVmYXVsdCA9MzAwMDA9 LiAgRG8gbm90IHNldA0KK3RoZSB2YWx1ZSB0b28gaGlnaCwgYmVjYXVzZSB0aGF0IHdvdWxkIGhh dmUgdGhlIGFkdmVyc2UgZWZmZWN0IG9mIGFsd2F5cw0KK292ZXJyaWRpbmcgdGhlIGRlZmF1bHQg Y29sb3IgKHdoaWNoIGhhcyBiZWVuIGNhcmVmdWxseSBkZXNpZ25lZCB0byBiZQ0KK2hpZ2hseSBh Y2Nlc3NpYmxlKS4NCiANCiBGdXJ0aGVybW9yZSwgYmVjYXVzZSBNb29keSBleHBlY3RzIGFuIHVu ZGVybGluZSBhbmQgb3ZlcmxpbmUgaW5zdGVhZCBvZg0KLWEgYm94IHN0eWxlLCBpdCBpcyByZWNv bW1lbmRlZCB5b3UgYWxzbyBpbmNsdWRlIHRoaXMgaW4geW91ciBzZXR1cDoNCithIGJveCBzdHls ZSwgaXQgaXMgYWR2aXNlZCB5b3UgaW5jbHVkZSB0aGlzIGluIHlvdXIgc2V0dXA6DQogDQogIyti ZWdpbl9zcmMgZW1hY3MtbGlzcA0KIChzZXRxIHgtdW5kZXJsaW5lLWF0LWRlc2NlbnQtbGluZSB0 KQ0KICMrZW5kX3NyYw0KIA0KICoqIE9wdGlvbiBmb3IgY29tcGxldGlvbiBmcmFtZXdvcmsgYWVz dGhldGljcw0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IENvbXBsZXRpb24gVUlzDQotOkRF U0NSSVBUSU9OOiBDaG9vc2UgYW1vbmcgc3RhbmRhcmQsIG1vZGVyYXRlLCBvciBvcGluaW9uYXRl ZCBsb29rcw0KLTpDVVNUT01fSUQ6IGg6ZjFjMjBjMDItN2IzNC00YzM1LTljNjUtOTkxNzBlZmIy ODgyDQotOkVORDoNCi0NCi1TeW1ib2wgbmFtZXM6DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRs ZTogQ29tcGxldGlvbiBVSXMNCis6ZGVzY3JpcHRpb246IENob29zZSBhbW9uZyBzdGFuZGFyZCwg bW9kZXJhdGUsIG9yIG9waW5pb25hdGVkIGxvb2tzDQorOmN1c3RvbV9pZDogaDpmMWMyMGMwMi03 YjM0LTRjMzUtOWM2NS05OTE3MGVmYjI4ODINCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVt ZXMtY29tcGxldGlvbnMNCiANCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucz0N Ci0rID1tb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zPQ0KK1N5bWJvbDogfm1vZHVzLXRo ZW1lcy1jb21wbGV0aW9uc34NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRl ZmF1bHQpDQotMi4gPW1vZGVyYXRlPQ0KLTMuID1vcGluaW9uYXRlZD0NCisyLiB+bW9kZXJhdGV+ DQorMy4gfm9waW5pb25hdGVkfg0KIA0KIFRoaXMgaXMgYSBzcGVjaWFsIG9wdGlvbiB0aGF0IGhh cyBkaWZmZXJlbnQgZWZmZWN0cyBkZXBlbmRpbmcgb24gdGhlDQogY29tcGxldGlvbiBVSS4gIFRo ZSBpbnRlcmZhY2VzIGNhbiBiZSBncm91cGVkIGluIHR3byBjYXRlZ29yaWVzLCBiYXNlZA0KQEAg LTY3OSw1MTIgKzY1MywxMDA4IEBAICoqIE9wdGlvbiBmb3IgY29tcGxldGlvbiBmcmFtZXdvcmsg YWVzdGhldGljcw0KIA0KIEEgdmFsdWUgb2YgPW5pbD0gd2lsbCByZXNwZWN0IHRoZSBtZXRhcGhv cnMgb2YgZWFjaCBjb21wbGV0aW9uIGZyYW1ld29yay4NCiANCi1UaGUgc3ltYm9sID1tb2RlcmF0 ZT0gd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQgYW5kDQotZm9yZWdyb3Vu ZCB0aGF0IGlzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNvbXBsZXRlIGFuZCBmcmllbmRzIHRoaXMN Ci1jb25zdGl0dXRlcyBhIGRlcGFydHVyZSBmcm9tIHRoZWlyIGRlZmF1bHQgYWVzdGhldGljcywg aG93ZXZlciB0aGUNCi1kaWZmZXJlbmNlIGlzIHNtYWxsLiAgV2hpbGUgSGVsbSBldCBhbCB3aWxs IGFwcGVhciBzbGlnaHRseSBkaWZmZXJlbnQNCi10aGFuIHRoZWlyIG9yaWdpbmFsIGxvb2tzLCBh cyB0aGV5IGFyZSB0b25lZCBkb3duIGEgYml0Lg0KK09wdGlvbiB+bW9kZXJhdGV+IGFwcGxpZXMg YSBjb21iaW5hdGlvbiBvZiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHRoYXQNCitpcyBmYWly bHkgc3VidGxlLiAgRm9yIEljb21wbGV0ZSBhbmQgZnJpZW5kcyB0aGlzIGNvbnN0aXR1dGVzIGEN CitkZXBhcnR1cmUgZnJvbSB0aGVpciBkZWZhdWx0IGFlc3RoZXRpY3MsIGhvd2V2ZXIgdGhlIGRp ZmZlcmVuY2UgaXMNCitzbWFsbC4gIFdoaWxlIEhlbG0sIEl2eSBldCBhbCBhcHBlYXIgc2xpZ2h0 bHkgZGlmZmVyZW50IHRoYW4gdGhlaXINCitvcmlnaW5hbCBsb29rcywgYXMgdGhleSBhcmUgdG9u ZWQgZG93biBhIGJpdC4NCiANCi1UaGUgc3ltYm9sID1vcGluaW9uYXRlZD0gd2lsbCBhcHBseSBj b2xvciBjb21iaW5hdGlvbnMgdGhhdCByZWZhc2hpb24gdGhlDQotY29tcGxldGlvbiBVSS4gIEZv ciB0aGUgSWNvbXBsZXRlIGNhbXAgdGhpcyBtZWFucyB0aGF0IGludGVuc2UNCi1iYWNrZ3JvdW5k IGFuZCBmb3JlZ3JvdW5kIGNvbWJpbmF0aW9ucyBhcmUgdXNlZDogaW4gZWZmZWN0IHRoZWlyIGxv b2tzDQotZW11bGF0ZSB0aG9zZSBvZiBJdnkgYW5kIGNvLiBpbiB0aGVpciBvcmlnaW5hbCBzdHls ZS4gIFdoZXJlYXMgdGhlIG90aGVyDQotZ3JvdXAgb2YgcGFja2FnZXMgd2lsbCByZXZlcnQgdG8g YW4gZXZlbiBtb3JlIG51YW5jZWQgYWVzdGhldGljIHdpdGgNCi1zb21lIGFkZGl0aW9uYWwgY2hh bmdlcyB0byB0aGUgY2hvaWNlIG9mIGh1ZXMuDQorT3B0aW9uIH5vcGluaW9uYXRlZH4gdXNlcyBj b2xvciBjb21iaW5hdGlvbnMgdGhhdCByZWZhc2hpb24gdGhlIGNvbXBsZXRpb24NCitVSS4gIEZv ciB0aGUgSWNvbXBsZXRlIGNhbXAgdGhpcyBtZWFucyB0aGF0IGludGVuc2UgYmFja2dyb3VuZCBh bmQNCitmb3JlZ3JvdW5kIGNvbWJpbmF0aW9ucyBhcmUgdXNlZDogaW4gZWZmZWN0IHRoZWlyIGxv b2tzIGVtdWxhdGUgdGhvc2Ugb2YNCitIZWxtLCBJdnkgYW5kIGNvLiBpbiB0aGVpciBvcmlnaW5h bCBzdHlsZS4gIFdoZXJlYXMgdGhlIG90aGVyIGdyb3VwIG9mDQorcGFja2FnZXMgd2lsbCByZXZl cnQgdG8gYW4gZXZlbiBtb3JlIG51YW5jZWQgYWVzdGhldGljIHdpdGggc29tZQ0KK2FkZGl0aW9u YWwgY2hhbmdlcyB0byB0aGUgY2hvaWNlIG9mIGh1ZXMuDQogDQogVG8gYXBwcmVjaWF0ZSB0aGUg c2NvcGUgb2YgdGhpcyBjdXN0b21pemF0aW9uIG9wdGlvbiwgeW91IHNob3VsZCBzcGVuZA0KLXNv bWUgdGltZSB3aXRoIGV2ZXJ5IG9uZSBvZiB0aGUgPW5pbD0gKGRlZmF1bHQpLCA9bW9kZXJhdGU9 LCBhbmQgPW9waW5pb25hdGVkPQ0KK3NvbWUgdGltZSB3aXRoIGV2ZXJ5IG9uZSBvZiB0aGUgPW5p bD0gKGRlZmF1bHQpLCB+bW9kZXJhdGV+LCBhbmQgfm9waW5pb25hdGVkfg0KIHBvc3NpYmlsaXRp ZXMuDQogDQogKiogT3B0aW9uIGZvciBmcmluZ2UgdmlzaWJpbGl0eQ0KLTpQUk9QRVJUSUVTOg0K LTpBTFRfVElUTEU6IEZyaW5nZXMNCi06REVTQ1JJUFRJT046IENob29zZSBhbW9uZyBwbGFpbiwg c3VidGxlLCBvciBpbnRlbnNlIGZyaW5nZSB2aXNpYmlsaXR5DQotOkNVU1RPTV9JRDogaDoxOTgz YzNmYy03NGY2LTQ0ZjMtYjkxNy05NjdjNDAzYmViYWUNCi06RU5EOg0KLQ0KLVN5bWJvbCBuYW1l czoNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBGcmluZ2VzDQorOmRlc2NyaXB0aW9uOiBD aG9vc2UgYW1vbmcgaW52aXNpYmxlLCBzdWJ0bGUsIG9yIGludGVuc2UgZnJpbmdlIHN0eWxlcw0K KzpjdXN0b21faWQ6IGg6MTk4M2MzZmMtNzRmNi00NGYzLWI5MTctOTY3YzQwM2JlYmFlDQorOmVu ZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLWZyaW5nZXMNCiANCi0rID1tb2R1cy1vcGVyYW5k aS10aGVtZS1mcmluZ2VzPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcz0NCitTeW1i b2w6IH5tb2R1cy10aGVtZXMtZnJpbmdlc34NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4g PW5pbD0gKGRlZmF1bHQpDQotMi4gPXN1YnRsZT0NCi0zLiA9aW50ZW5zZT0NCi0NCi1UaGUgInN1 YnRsZSIgc3ltYm9sIHdpbGwgYXBwbHkgYSBncmF5c2NhbGUgYmFja2dyb3VuZCB0aGF0IGlzIHZp c2libGUsDQoteWV0IGNsb3NlIGVub3VnaCB0byB0aGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yLiAg V2hpbGUgdGhlICJpbnRlbnNlIg0KLXN5bWJvbCB3aWxsIHVzZSBhIG1vcmUgbm90aWNlYWJsZSBn cmF5c2NhbGUgYmFja2dyb3VuZC4NCisyLiB+c3VidGxlfg0KKzMuIH5pbnRlbnNlfg0KIA0KIFRo ZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUgc2FtZSBjb2xvciBhcyB0aGF0IG9mIHRoZSBtYWluIGJh Y2tncm91bmQsDQogbWVhbmluZyB0aGF0IHRoZSBmcmluZ2VzIGFyZSBub3Qgb2J2aW91cyB0aG91 Z2ggdGhleSBzdGlsbCBvY2N1cHkgdGhlDQotc3BhY2UgZ2l2ZW4gdG8gdGhlbSBieSA9ZnJpbmdl LW1vZGU9Lg0KK3NwYWNlIGdpdmVuIHRvIHRoZW0gYnkgfmZyaW5nZS1tb2Rlfi4NCiANCi0qKiBP cHRpb24gZm9yIGxpbmUgaGlnaGxpZ2h0aW5nIChobC1saW5lLW1vZGUpDQotOlBST1BFUlRJRVM6 DQotOkFMVF9USVRMRTogTGluZSBoaWdobGlnaHRpbmcNCi06REVTQ1JJUFRJT046IFRvZ2dsZSBp bnRlbnNlIHN0eWxlIGZvciBjdXJyZW50IGxpbmUgaGlnaGxpZ2h0aW5nDQotOkNVU1RPTV9JRDog aDoxZGJhMWNmZS1kMDc5LTRjMTMtYTgxMC1mNzY4ZTg3ODkxNzcNCi06RU5EOg0KK09wdGlvbnMg fnN1YnRsZX4gYW5kIH5pbnRlbnNlfiBhcHBseSBhIGdyYXkgYmFja2dyb3VuZCwgbWFraW5nIHRo ZSBmcmluZ2VzDQordmlzaWJsZS4gIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBpcyBv bmUgb2YgZGVncmVlLCBhcyB0aGVpcg0KK25hbWVzIGltcGx5Lg0KIA0KLVN5bWJvbCBuYW1lczoN CisqKiBPcHRpb24gZm9yIGxhbmd1YWdlIGNoZWNrZXJzDQorOnByb3BlcnRpZXM6DQorOmFsdF90 aXRsZTogTGFuZ3VhZ2UgY2hlY2tlcnMNCis6ZGVzY3JpcHRpb246IENvbnRyb2wgdGhlIHN0eWxl IG9mIGxhbmd1YWdlIGNoZWNrZXJzL2xpbnRlcnMNCis6Y3VzdG9tX2lkOiBoOjRiMTM3NDNhLThl YmYtNGQyYy1hMDQzLWNjZWJhMTBiMWViNA0KKzplbmQ6DQorIyt2aW5kZXg6IG1vZHVzLXRoZW1l cy1sYW5nLWNoZWNrZXJzDQogDQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1obC1s aW5lPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lPQ0KK1N5bWJvbDog fm1vZHVzLXRoZW1lcy1sYW5nLWNoZWNrZXJzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCisx LiA9bmlsPSAoZGVmYXVsdCkNCisyLiB+c3VidGxlLWZvcmVncm91bmR+DQorMy4gfmludGVuc2Ut Zm9yZWdyb3VuZH4NCis0LiB+c3RyYWlnaHQtdW5kZXJsaW5lfg0KKzUuIH5zdWJ0bGUtZm9yZWdy b3VuZC1zdHJhaWdodC11bmRlcmxpbmV+DQorNi4gfmludGVuc2UtZm9yZWdyb3VuZC1zdHJhaWdo dC11bmRlcmxpbmV+DQorNy4gfmNvbG9yZWQtYmFja2dyb3VuZH4NCisNCitOaWwgKHRoZSBkZWZh dWx0KSBhcHBsaWVzIGEgY29sb3ItY29kZWQgdW5kZXJsaW5lIHRvIHRoZSBhZmZlY3RlZCB0ZXh0 LA0KK3doaWxlIGl0IGxlYXZlcyB0aGUgb3JpZ2luYWwgZm9yZWdyb3VuZCBpbiB0YWN0LiAgSWYg dGhlIGRpc3BsYXkgc3BlYw0KK3doZXJlIEVtYWNzIHJ1bnMgaW4gaGFzIHN1cHBvcnQgZm9yIGl0 IChlLmcuIEVtYWNzIEdVSSksIHRoZSB1bmRlcmxpbmUncw0KK3N0eWxlIGlzIHRoYXQgb2YgYSB3 YXZlLCBvdGhlcndpc2UgaXQgaXMgYSBzdHJhaWdodCBsaW5lLg0KKw0KK09wdGlvbnMgfnN1YnRs ZS1mb3JlZ3JvdW5kfiBhbmQgfmludGVuc2UtZm9yZWdyb3VuZH4gZm9sbG93IHRoZSBzYW1lDQor Y29sb3ItY29kaW5nIHBhdHRlcm4gYW5kIHdhdnkgdW5kZXJsaW5lIG9mIHRoZSBkZWZhdWx0LCB3 aGlsZSBleHRlbmRpbmcNCitpdCB3aXRoIGEgY29ycmVzcG9uZGluZyBmb3JlZ3JvdW5kIHZhbHVl IGZvciB0aGUgYWZmZWN0ZWQgdGV4dC4gIFRoZQ0KK2RpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdv IG9wdGlvbnMgaXMgb25lIG9mIGRlZ3JlZSwgYXMgdGhlaXIgbmFtZXMNCitzdWdnZXN0Lg0KKw0K K09wdGlvbiB+c3RyYWlnaHQtdW5kZXJsaW5lfiBpcyBsaWtlIHRoZSBkZWZhdWx0IGJ1dCBhbHdh eXMgYXBwbGllcyBhDQorc3RyYWlnaHQgbGluZSB1bmRlciB0aGUgYWZmZWN0ZWQgdGV4dC4gIFNh bWUgcHJpbmNpcGxlIGZvcg0KK35zdWJ0bGUtZm9yZWdyb3VuZC1zdHJhaWdodC11bmRlcmxpbmV+ IGFuZCBpdHMgY291bnRlcnBhcnQNCit+aW50ZW5zZS1mb3JlZ3JvdW5kLXN0cmFpZ2h0LXVuZGVy bGluZX4uDQorDQorT3B0aW9uIH5jb2xvcmVkLWJhY2tncm91bmR+IHVzZXMgYSBzdHJhaWdodCB1 bmRlcmxpbmUsIGEgdGludGVkDQorYmFja2dyb3VuZCwgYW5kIGEgc3VpdGFibGUgZm9yZWdyb3Vu ZC4gIEFsbCBhcmUgY29sb3ItY29kZWQuICBUaGlzIGlzDQordGhlIG1vc3QgaW50ZW5zZSBjb21i aW5hdGlvbiBvZiBmYWNlIHByb3BlcnRpZXMuDQorDQorVGhlIHByZXNlbnQgdmFyaWFibGUgYWZm ZWN0cyBwYWNrYWdlcyBhbmQvb3IgZmFjZSBncm91cHMgc3VjaCBhcyB0aG9zZQ0KK29mID1mbHlz cGVsbD0sID1mbHltYWtlPSwgPWZseWNoZWNrPSwgfmFydGJvbGxvY2tzLW1vZGV+LCBhbmQgfndy aXRlZ29vZC1tb2Rlfi4NCisNCitOT1RFOiBUaGUgcGxhY2VtZW50IG9mIHRoZSBzdHJhaWdodCB1 bmRlcmxpbmUsIHRob3VnaCBub3QgdGhlIHdhdmUNCitzdHlsZSwgaXMgY29udHJvbGxlZCBieSB0 aGUgYnVpbHQtaW4gfngtdW5kZXJsaW5lLWF0LWRlc2NlbnQtbGluZX4sDQorfngtdXNlLXVuZGVy bGluZS1wb3NpdGlvbi1wcm9wZXJ0aWVzfiwgfnVuZGVybGluZS1taW5pbXVtLW9mZnNldH4uICBQ bGVhc2UNCityZWZlciB0byB0aGVpciBkb2N1bWVudGF0aW9uIHN0cmluZ3MuDQorDQorKiogT3B0 aW9uIGZvciBsaW5lIGhpZ2hsaWdodGluZyAoaGwtbGluZS1tb2RlKQ0KKzpwcm9wZXJ0aWVzOg0K KzphbHRfdGl0bGU6IExpbmUgaGlnaGxpZ2h0aW5nDQorOmRlc2NyaXB0aW9uOiBUb2dnbGUgaW50 ZW5zZSBzdHlsZSBmb3IgY3VycmVudCBsaW5lIGhpZ2hsaWdodGluZw0KKzpjdXN0b21faWQ6IGg6 MWRiYTFjZmUtZDA3OS00YzEzLWE4MTAtZjc2OGU4Nzg5MTc3DQorOmVuZDoNCisjK3ZpbmRleDog bW9kdXMtdGhlbWVzLWludGVuc2UtaGwtbGluZQ0KKw0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1p bnRlbnNlLWhsLWxpbmV+DQorDQorUG9zc2libGUgdmFsdWVzOg0KKw0KKzEuID1uaWw9IChkZWZh dWx0KQ0KKzIuID10PQ0KKw0KK1RoZSBkZWZhdWx0IGlzIHRvIHVzZSBhIHN1YnRsZSBncmF5IGJh Y2tncm91bmQgZm9yIH5obC1saW5lLW1vZGV+IGFuZCBpdHMNCitnbG9iYWwgZXF1aXZhbGVudC4N CisNCitXaXRoIGEgbm9uLW5pbCB2YWx1ZSAoPXQ9KSB1c2UgYSBtb3JlIHByb21pbmVudCBiYWNr Z3JvdW5kIGNvbG9yIGluc3RlYWQuDQorDQorVGhpcyBhZmZlY3RzIHNldmVyYWwgcGFja2FnZXMg dGhhdCBlbmFibGUgfmhsLWxpbmUtbW9kZX4sIHN1Y2ggYXMgPWVsZmVlZD0NCithbmQgPW11NGU9 Lg0KKw0KKyoqIE9wdGlvbiBmb3IgbGluZSBudW1iZXJzIChkaXNwbGF5LWxpbmUtbnVtYmVycy1t b2RlKQ0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IExpbmUgbnVtYmVycw0KKzpkZXNjcmlw dGlvbjogVG9nZ2xlIHN1YnRsZSBzdHlsZSBmb3IgbGluZSBudW1iZXJzDQorOmN1c3RvbV9pZDog aDo4YzRhNjIzMC0yZTQzLTRhYTItYTYzMS0zYjcxNzkzOTJlMDkNCis6ZW5kOg0KKyMrdmluZGV4 OiBtb2R1cy10aGVtZXMtc3VidGxlLWxpbmUtbnVtYmVycw0KKw0KK1N5bWJvbDogfm1vZHVzLXRo ZW1lcy1zdWJ0bGUtbGluZS1udW1iZXJzfg0KKw0KK1Bvc3NpYmxlIHZhbHVlOg0KKw0KIDEuID1u aWw9IChkZWZhdWx0KQ0KIDIuID10PQ0KIA0KLURyYXcgdGhlIGN1cnJlbnQgbGluZSBvZiA9aGwt bGluZS1tb2RlPSBvciBpdHMgZ2xvYmFsIGVxdWl2YWxlbnQgaW4gYSBtb3JlDQotcHJvbWluZW50 IGJhY2tncm91bmQgY29sb3IuICBUaGlzIHdvdWxkIGFsc28gYWZmZWN0IHNldmVyYWwgcGFja2Fn ZXMNCi10aGF0IGVuYWJsZSA9aGwtbGluZS1tb2RlPSwgc3VjaCBhcyA9ZWxmZWVkPSBhbmQgPW11 NGU9Lg0KK1RoZSBkZWZhdWx0IHN0eWxlIGZvciB+ZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZX4g YW5kIGl0cyBnbG9iYWwgdmFyaWFudA0KK2lzIHRvIGFwcGx5IGEgc3VidGxlIGdyYXkgYmFja2dy b3VuZCB0byB0aGUgbGluZSBudW1iZXJzLiAgVGhlIGN1cnJlbnQNCitsaW5lIGhhcyBhIG1vcmUg cHJvbm91bmNlZCBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbWJpbmF0aW9uIHRvDQorYnJp bmcgbW9yZSBhdHRlbnRpb24gdG8gaXRzZWxmLg0KIA0KLVRoZSBkZWZhdWx0IGlzIHRvIHVzZSBh IG1vcmUgc3VidGxlIGdyYXkuDQorU2ltaWxhcmx5LCB0aGUgZmFjZXMgZm9yIH5kaXNwbGF5LWxp bmUtbnVtYmVycy1tYWpvci10aWNrfiBhbmQgaXRzDQorY291bnRlcnBhcnQgfmRpc3BsYXktbGlu ZS1udW1iZXJzLW1pbm9yLXRpY2t+IHVzZSBhcHByb3ByaWF0ZSBzdHlsZXMgdGhhdA0KK2ludm9s dmUgYSBiZXNwb2tlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRpb24uDQorDQor V2l0aCBhIG5vbi1uaWwgdmFsdWUgKD10PSksIGxpbmUgbnVtYmVycyBoYXZlIG5vIGJhY2tncm91 bmQgb2YgdGhlaXIgb3duLg0KK0luc3RlYWQgdGhleSByZXRhaW4gdGhlIHByaW1hcnkgYmFja2dy b3VuZCBvZiB0aGUgdGhlbWUsIGJsZW5kaW5nIHdpdGgNCit0aGUgcmVzdCBvZiB0aGUgYnVmZmVy LiAgRm9yZWdyb3VuZCB2YWx1ZXMgZm9yIGFsbCByZWxldmFudCBmYWNlcyBhcmUNCit1cGRhdGVk IHRvIGFjY29tbW9kYXRlIHRoaXMgYWVzdGhldGljLg0KIA0KICoqIE9wdGlvbiBmb3IgcGFyZW50 aGVzaXMgbWF0Y2hpbmcgKHNob3ctcGFyZW4tbW9kZSkNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJ VExFOiBNYXRjaGluZyBwYXJlbnRoZXNlcw0KLTpERVNDUklQVElPTjogVG9nZ2xlIGludGVuc2Ug c3R5bGUgZm9yIG1hdGNoaW5nIGRlbGltaXRlcnMvcGFyZW50aGVzZXMNCi06Q1VTVE9NX0lEOiBo OmU2NmE3ZTRkLWE1MTItNGJjNy05Zjg2LWZiYmI1OTIzYmYzNw0KLTpFTkQ6DQorOnByb3BlcnRp ZXM6DQorOmFsdF90aXRsZTogTWF0Y2hpbmcgcGFyZW50aGVzZXMNCis6ZGVzY3JpcHRpb246IENo b29zZSBiZXR3ZWVuIHZhcmlvdXMgc3R5bGVzIGZvciBtYXRjaGluZyBkZWxpbWl0ZXJzL3BhcmVu dGhlc2VzDQorOmN1c3RvbV9pZDogaDplNjZhN2U0ZC1hNTEyLTRiYzctOWY4Ni1mYmJiNTkyM2Jm MzcNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2gNCisNCitTeW1i b2w6IH5tb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2h+DQorDQorUG9zc2libGUgdmFsdWVzOg0KKw0K KzEuID1uaWw9IChkZWZhdWx0KQ0KKzIuIH5zdWJ0bGUtYm9sZH4NCiszLiB+aW50ZW5zZX4NCis0 LiB+aW50ZW5zZS1ib2xkfg0KKw0KK05pbCBtZWFucyB0byB1c2UgYSBzdWJ0bGUgdGludGVkIGJh Y2tncm91bmQgY29sb3IgZm9yIHRoZSBtYXRjaGluZw0KK2RlbGltaXRlcnMuDQorDQorT3B0aW9u IH5pbnRlbnNlfiBhcHBsaWVzIGEgc2F0dXJhdGVkIGJhY2tncm91bmQgY29sb3IuDQorDQorT3B0 aW9uIH5zdWJ0bGUtYm9sZH4gaXMgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQsIGJ1dCBhbHNvIG1h a2VzIHVzZSBvZg0KK2JvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0IChpbmhlcml0cyB0aGUgfmJvbGR+ IGZhY2UpLg0KKw0KK09wdGlvbiB+aW50ZW5zZS1ib2xkfiBpcyB0aGUgc2FtZSBhcyB+aW50ZW5z ZX4sIHdoaWxlIGl0IGFsc28gdXNlcyBhIGJvbGQNCit3ZWlnaHQuDQogDQotU3ltYm9sIG5hbWVz Og0KK1RoaXMgY3VzdG9taXphdGlvbiB2YXJpYWJsZSBhZmZlY3RzIHRvb2xzIHN1Y2ggYXMgdGhl IGJ1aWx0LWluDQorfnNob3ctcGFyZW4tbW9kZX4gYW5kIHRoZSA9c21hcnRwYXJlbnM9IHBhY2th Z2UuDQogDQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRjaD0NCi0r ID1tb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtcGFyZW4tbWF0Y2g9DQorKiogT3B0aW9uIGZv ciBhY3RpdmUgcmVnaW9uDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogQWN0aXZlIHJlZ2lv bg0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIGJldHdlZW4gdmFyaW91cyBzdHlsZXMgZm9yIHRoZSBh Y3RpdmUgcmVnaW9uDQorOmN1c3RvbV9pZDogaDo2MDc5ODA2My1iNGFkLTQ1ZWEtYjlhNy1mZjdi NWMwYWI3NGMNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtcmVnaW9uDQorDQorU3lt Ym9sOiB+bW9kdXMtdGhlbWVzLXJlZ2lvbn4NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4g PW5pbD0gKGRlZmF1bHQpDQotMi4gPXQ9DQorMi4gfm5vLWV4dGVuZH4NCiszLiB+Ymctb25seX4N Cis0LiB+Ymctb25seS1uby1leHRlbmR+DQogDQotQXBwbHkgYSBtb3JlIGludGVuc2UgYmFja2dy b3VuZCB0byB0aGUgbWF0Y2hpbmcgcGFyZW50aGVzZXMgKG9yDQotZGVsaW1pdGVycykuICBUaGlz IGFmZmVjdHMgdG9vbHMgc3VjaCBhcyB0aGUgYnVpbHQtaW4gPXNob3ctcGFyZW4tbW9kZT0uDQot VGhlIGRlZmF1bHQgaXMgdG8gdXNlIGEgc3VidGxlIHdhcm0gY29sb3IgZm9yIHRoZSBiYWNrZ3Jv dW5kIG9mIHRob3NlDQotb3ZlcmxheXMuDQorTmlsIG1lYW5zIHRvIG9ubHkgdXNlIGEgcHJvbWlu ZW50IGdyYXkgYmFja2dyb3VuZCB3aXRoIGEgbmV1dHJhbA0KK2ZvcmVncm91bmQuICBUaGUgZm9y ZWdyb3VuZCBvdmVycmlkZXMgYWxsIHN5bnRheCBoaWdobGlnaHRpbmcuICBUaGUNCityZWdpb24g ZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KIA0KLSoqIE9wdGlvbiBmb3IgZGlm ZiBidWZmZXIgbG9va3MNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBEaWZmcw0KLTpERVND UklQVElPTjogQ2hvb3NlIGFtb25nIGludGVuc2UsIGRlc2F0dXJhdGVkLCBvciB0ZXh0LW9ubHkg ZGlmZnMNCi06Q1VTVE9NX0lEOiBoOmVhN2FjNTRmLTU4MjctNDliZC1iMDlmLTYyNDI0YjNiNjQy Nw0KLTpFTkQ6DQorT3B0aW9uIH5uby1leHRlbmR+IHByZXNlcnZlcyB0aGUgZGVmYXVsdCBhZXN0 aGV0aWMgYnV0IHByZXZlbnRzIHRoZSByZWdpb24NCitmcm9tIGV4dGVuZGluZyB0byB0aGUgZWRn ZSBvZiB0aGUgd2luZG93Lg0KKw0KK09wdGlvbiB+Ymctb25seX4gYXBwbGllcyBhIGZhaW50IHRp bnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMgZGlzdGluY3QgZnJvbQ0KK2FsbCBvdGhlcnMgdXNlZCBp biB0aGUgdGhlbWUsIHdoaWxlIGl0IGRvZXMgbm90IG92ZXJyaWRlIGFueSBleGlzdGluZw0KK2Nv bG9ycy4gIEl0IGV4dGVuZHMgdG8gdGhlIGVkZ2Ugb2YgdGhlIHdpbmRvdy4NCisNCitPcHRpb24g fmJnLW9ubHktbm8tZXh0ZW5kfiBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSB+Ymctb25seX4gYW5k IH5uby1leHRlbmR+DQorb3B0aW9ucy4NCiANCi1TeW1ib2wgbmFtZXM6DQorKiogT3B0aW9uIGZv ciBkaWZmIGJ1ZmZlciBsb29rcw0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IERpZmZzDQor OmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgaW50ZW5zZSwgZGVzYXR1cmF0ZWQsIG9yIHRleHQt b25seSBkaWZmcw0KKzpjdXN0b21faWQ6IGg6ZWE3YWM1NGYtNTgyNy00OWJkLWIwOWYtNjI0MjRi M2I2NDI3DQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLWRpZmZzDQogDQotKyA9bW9k dXMtb3BlcmFuZGktdGhlbWUtZGlmZnM9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmcz0N CitTeW1ib2w6IH5tb2R1cy10aGVtZXMtZGlmZnN+DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0K IDEuID1uaWw9IChkZWZhdWx0KQ0KLTIuID1kZXNhdHVyYXRlZD0NCi0yLiA9Zmctb25seT0NCi0N Ci1CeSBkZWZhdWx0IHRoZSB0aGVtZXMgd2lsbCBhcHBseSByaWNobHkgY29sb3JlZCBiYWNrZ3Jv dW5kcyB0byB0aGUNCi1vdXRwdXQgb2YgZGlmZnMsIHN1Y2ggYXMgdGhvc2Ugb2YgPWRpZmYtbW9k ZT0sID1lZGlmZj0sID1zbWVyZ2UtbW9kZT0sIGFuZA0KLT1tYWdpdD0uICBUaGVzZSBhcmUgY29s b3IgY29tYmluYXRpb25zIG9mIGFuIGFjY2VudGVkIGJhY2tncm91bmQgYW5kDQotZm9yZWdyb3Vu ZCBzbyB0aGF0LCBmb3IgZXhhbXBsZSwgYWRkZWQgbGluZXMgaGF2ZSBhIHByb25vdW5jZWQgZ3Jl ZW4NCi1iYWNrZ3JvdW5kIHdpdGggYW4gYXBwcm9wcmlhdGUgc2hhZGUgb2YgZ3JlZW4gZm9yIHRo ZSBhZmZlY3RlZCB0ZXh0Lg0KLVdvcmQtd2lzZSBvciAicmVmaW5lZCIgY2hhbmdlcyBmb2xsb3cg dGhpcyBwYXR0ZXJuIGJ1dCB1c2UgZGlmZmVyZW50DQotc2hhZGVzIG9mIHRob3NlIGNvbG9ycyB0 byByZW1haW4gZGlzdGluY3QuDQotDQotQSA9ZGVzYXR1cmF0ZWQ9IHZhbHVlIHRvbmVzIGRvd24g YWxsIHJlbGV2YW50IGNvbG9yIHZhbHVlcy4gIEl0IHN0aWxsDQorMi4gfmRlc2F0dXJhdGVkfg0K KzMuIH5mZy1vbmx5fg0KKzQuIH5iZy1vbmx5fg0KKzUuIH5kZXV0ZXJhbm9waWF+DQorDQorQnkg ZGVmYXVsdCB0aGUgdGhlbWVzIGFwcGx5IHJpY2ggY29sb3JhdGlvbiB0byB0aGUgb3V0cHV0IG9m IGRpZmZzLCBzdWNoDQorYXMgdGhvc2Ugb2YgfmRpZmYtbW9kZX4sIH5lZGlmZn4sIH5zbWVyZ2Ut bW9kZX4sIGFuZCBNYWdpdC4gIFRoZXNlIGFyZQ0KK2NvbG9yIGNvbWJpbmF0aW9ucyBvZiBhbiBh Y2NlbnRlZCBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHNvIHRoYXQsIGZvcg0KK2V4YW1wbGUs IGFkZGVkIGxpbmVzIGhhdmUgYSBwcm9ub3VuY2VkIGdyZWVuIGJhY2tncm91bmQgd2l0aCBhbg0K K2FwcHJvcHJpYXRlIHNoYWRlIG9mIGdyZWVuIGZvciB0aGUgYWZmZWN0ZWQgdGV4dC4gIFdvcmQt d2lzZSBvcg0KKyJyZWZpbmVkIiBjaGFuZ2VzIGZvbGxvdyB0aGlzIHBhdHRlcm4gYnV0IHVzZSBk aWZmZXJlbnQgc2hhZGVzIG9mIHRob3NlDQorY29sb3JzIHRvIHJlbWFpbiBkaXN0aW5jdC4NCisN CitPcHRpb24gfmRlc2F0dXJhdGVkfiB0b25lcyBkb3duIGFsbCByZWxldmFudCBjb2xvciB2YWx1 ZXMuICBJdCBzdGlsbA0KIGNvbWJpbmVzIGFuIGFjY2VudGVkIGJhY2tncm91bmQgd2l0aCBhbiBh cHByb3ByaWF0ZSBmb3JlZ3JvdW5kLCB5ZXQgaXRzDQotb3ZlcmFsbCBpbXByZXNzaW9uIGlzIHZl cnkgc3VidGxlLiAgUmVmaW5lZCBjaGFuZ2VzIGFyZSBhIGJpdCBtb3JlDQorb3ZlcmFsbCBpbXBy ZXNzaW9uIGlzIGZhaXJseSBzdWJ0bGUuICBSZWZpbmVkIGNoYW5nZXMgYXJlIGEgYml0IG1vcmUN CiBpbnRlbnNlIHRvIGZ1bGZpbCB0aGVpciBpbnRlbmRlZCBmdW5jdGlvbiwgdGhvdWdoIHN0aWxs IGxlc3Mgc2F0dXJhdGVkDQogdGhhbiBkZWZhdWx0Lg0KIA0KLVdoaWxlID1mZy1vbmx5PSB3aWxs IHJlbW92ZSBhbGwgYWNjZW50ZWQgYmFja2dyb3VuZHMgYW5kIGluc3RlYWQgcmVseSBvbg0KLWNv bG9yLWNvZGVkIHRleHQgdG8gZGVub3RlIGNoYW5nZXMuICBGb3IgaW5zdGFuY2UsIGFkZGVkIGxp bmVzIHVzZSBhbg0KLWludGVuc2UgZ3JlZW4gZm9yZWdyb3VuZCwgd2hpbGUgdGhlaXIgYmFja2dy b3VuZCBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdA0KLW9mIHRoZSBidWZmZXIuICBXb3JkLXdpc2Ug aGlnaGxpZ2h0cyBzdGlsbCB1c2UgYSBiYWNrZ3JvdW5kIHZhbHVlIHdoaWNoDQotaXMsIG5vbmV0 aGVsZXNzLCBtb3JlIHN1YnRsZSB0aGFuIGl0cyBkZWZhdWx0IGVxdWl2YWxlbnQuDQotDQotQ29u Y2VybmluZyA9bWFnaXQ9LCBhbiBleHRyYSBzZXQgb2YgdHdlYWtzIGFyZSBpbnRyb2R1Y2VkIGZv ciB0aGUgZWZmZWN0DQotb2YgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IGRpZmYgaHVuaywgc28g YXMgdG8gcmVtYWluIGNvbnNpc3RlbnQgd2l0aA0KLXRoZSBvdmVyYWxsIGV4cGVyaWVuY2Ugb2Yg dGhhdCBtb2RlLiAgRXhwZWN0IGNoYW5nZXMgdGhhdCBhcmUgY29uc2lzdGVudA0KLXdpdGggdGhl IG92ZXJhbGwgaW50ZW50IG9mIHRoZSBhZm9yZW1lbnRpb25lZC4NCitPcHRpb24gfmZnLW9ubHl+ IHdpbGwgcmVtb3ZlIG1vc3QgYWNjZW50ZWQgYmFja2dyb3VuZHMgYW5kIGluc3RlYWQgcmVseQ0K K29uIGNvbG9yLWNvZGVkIHRleHQgdG8gZGVub3RlIGNoYW5nZXMuICBGb3IgaW5zdGFuY2UsIGFk ZGVkIGxpbmVzIHVzZSBhDQorZ3JlZW4gZm9yZWdyb3VuZCwgd2hpbGUgdGhlaXIgYmFja2dyb3Vu ZCBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdCBvZiB0aGUNCitidWZmZXIuICBXb3JkLXdpc2UgaGln aGxpZ2h0cyBzdGlsbCB1c2UgYSBiYWNrZ3JvdW5kIHZhbHVlIHdoaWNoIGlzLA0KK25vbmV0aGVs ZXNzLCBtb3JlIHN1YnRsZSB0aGFuIGl0cyBkZWZhdWx0IGVxdWl2YWxlbnQuDQorDQorT3B0aW9u IH5iZy1vbmx5fiBhcHBsaWVzIGNvbG9yLWNvZGVkIGJhY2tncm91bmRzIGJ1dCBkb2VzIG5vdCBv dmVycmlkZQ0KK2FueSBzeW50YXggaGlnaGxpZ2h0aW5nIHRoYXQgbWF5IGJlIHByZXNlbnQuICBU aGlzIG1ha2VzIGl0IHN1aXRhYmxlIGZvcg0KK3VzZSB3aXRoIGEgbm9uLW5pbCB2YWx1ZSBmb3Ig fmRpZmYtZm9udC1sb2NrLXN5bnRheH4gKHdoaWNoIGlzIHRoZQ0KK2RlZmF1bHQgZm9yIH5kaWZm LW1vZGV+IGJ1ZmZlcnMgaW4gRW1hY3MgMjcgb3IgaGlnaGVyKS4NCisNCitPcHRpb24gfmRldXRl cmFub3BpYX4gb3B0aW1pemVzIGZvciByZWQtZ3JlZW4gY29sb3IgZGVmaWNpZW5jeS4gIEl0DQor cmVwbGFjZXMgYWxsIGluc3RhbmNlcyBvZiBncmVlbiB3aXRoIGJsdWUgdmFyaWFudHMuICBUaGlz IGlzIHRvIGVuc3VyZQ0KK3RoYXQgaW5kaWNhdG9ycyBmb3IgInJlbW92ZWQiIGFuZCAiYWRkZWQi IHN0YXRlcyBhcmUgbm90IG1pc3Rha2VuIGZvcg0KK2VhY2ggb3RoZXIuDQorDQorQ29uY2Vybmlu ZyBNYWdpdCwgYW4gZXh0cmEgc2V0IG9mIHR3ZWFrcyBhcmUgaW50cm9kdWNlZCBmb3IgdGhlIGVm ZmVjdA0KK29mIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBkaWZmIGh1bmssIHNvIGFzIHRvIHJl bWFpbiBhbGlnbmVkIHdpdGggdGhlDQorb3ZlcmFsbCBleHBlcmllbmNlIG9mIHRoYXQgbW9kZS4g IEV4cGVjdCBjaGFuZ2VzIHRoYXQgYXJlIGNvbnNpc3RlbnQNCit3aXRoIHRoZSBvdmVyYWxsIGlu dGVudCBvZiB0aGUgYWZvcmVtZW50aW9uZWQuICBOb3RlLCBob3dldmVyLCB0aGF0IHRoZQ0KK35i Zy1vbmx5fiBvcHRpb24gd2lsbCBub3QgZGVsaXZlciB0aGUgaW50ZW5kZWQgcmVzdWx0cyBpbiBN YWdpdCBkaWZmcw0KK2JlY2F1c2Ugbm8gc3ludGF4IGhpZ2hsaWdodGluZyBpcyB1c2VkIHRoZXJl IChsYXN0IGNoZWNrZWQgd2l0aCBNYWdpdA0KK3ZlcnNpb24gMjAyMDExMTYuMTA1NywgdGhvdWdo IHVwc3RyZWFtIGhhcyBhIHBsYW4gdG8gZXZlbnR1YWxseSBzdXBwb3J0DQorc3VjaCBhIGZlYXR1 cmUtLS10aGlzIGVudHJ5IHNoYWxsIGJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkpLg0KIA0KICoqIE9w dGlvbiBmb3Igb3JnLW1vZGUgYmxvY2sgc3R5bGVzDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRM RTogT3JnIG1vZGUgYmxvY2tzDQotOkRFU0NSSVBUSU9OOiBDaG9vc2UgYW1vbmcgcGxhaW4sIGdy YXlzY2FsZSwgb3IgcmFpbmJvdyBzdHlsZXMNCi06Q1VTVE9NX0lEOiBoOmI3ZTMyOGMwLTMwMzQt NGRiNy05Y2RmLWQ1YmExMjA4MWNhMg0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRs ZTogT3JnIG1vZGUgYmxvY2tzDQorOmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgcGxhaW4sIGdy YXlzY2FsZSwgb3IgcmFpbmJvdyBzdHlsZXMNCis6Y3VzdG9tX2lkOiBoOmI3ZTMyOGMwLTMwMzQt NGRiNy05Y2RmLWQ1YmExMjA4MWNhMg0KKzplbmQ6DQorIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1v cmctYmxvY2tzDQogDQotU3ltYm9sIG5hbWVzOg0KLQ0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1l LW9yZy1ibG9ja3M9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzPQ0KK1N5bWJv bDogfm1vZHVzLXRoZW1lcy1vcmctYmxvY2tzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAx LiA9bmlsPSAoZGVmYXVsdCkNCi0yLiA9Z3JheXNjYWxlPQ0KLTMuID1yYWluYm93PQ0KKzIuIH5n cmF5c2NhbGV+DQorMy4gfnJhaW5ib3d+DQogDQogVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBz YW1lIGJhY2tncm91bmQgYXMgdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlciBmb3INCiB0aGUgY29udGVu dHMgb2YgdGhlIGJsb2NrLg0KIA0KLUEgdmFsdWUgb2YgPWdyYXlzY2FsZT0gd2lsbCBhcHBseSBh IHN1YnRsZSBuZXV0cmFsIGdyYXkgYmFja2dyb3VuZCB0byB0aGUNCi1ibG9jaydzIGNvbnRlbnRz LiAgSXQgd2lsbCBhbHNvIGV4dGVuZCB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93IHRoZQ0KLWJh Y2tncm91bmQgb2YgdGhlICJiZWdpbiIgYW5kICJlbmQiIGJsb2NrIGRlbGltaXRlciBsaW5lcyAo b25seSByZWxldmFudA0KLWZvciBFbWFjcyB2ZXJzaW9ucyA+PSAyNyB3aGVyZSB0aGUgJ2V4dGVu ZCcga2V5d29yZCBpcyByZWNvZ25pc2VkIGJ5DQotPXNldC1mYWNlLWF0dHJpYnV0ZT0pLg0KK09w dGlvbiB+Z3JheXNjYWxlfiBhcHBsaWVzIGEgc3VidGxlIG5ldXRyYWwgZ3JheSBiYWNrZ3JvdW5k IHRvIHRoZSBibG9jaydzDQorY29udGVudHMuICBJdCB3aWxsIGFsc28gZXh0ZW5kIHRvIHRoZSBl ZGdlIG9mIHRoZSB3aW5kb3cgdGhlIGJhY2tncm91bmQNCitvZiB0aGUgImJlZ2luIiBhbmQgImVu ZCIgYmxvY2sgZGVsaW1pdGVyIGxpbmVzIChvbmx5IHJlbGV2YW50IGZvciBFbWFjcw0KK3ZlcnNp b25zID49IDI3IHdoZXJlIHRoZSAnZXh0ZW5kJyBrZXl3b3JkIGlzIHBhcnQgb2YgdGhlIGZhY2UN CitzcGVjaWZpY2F0aW9ucykuDQogDQotV2hpbGUgPXJhaW5ib3c9IHdpbGwgaW5zdGVhZCB1c2Ug YW4gYWNjZW50ZWQgYmFja2dyb3VuZCBmb3IgdGhlIGNvbnRlbnRzDQotb2YgdGhlIGJsb2NrLiAg VGhlIGV4YWN0IGNvbG9yIHdpbGwgZGVwZW5kIG9uIHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZQ0K LWFuZCBpcyBjb250cm9sbGVkIGJ5IHRoZSA9b3JnLXNyYy1ibG9jay1mYWNlcz0gdmFyaWFibGUg KHJlZmVyIHRvIHRoZQ0KLXRoZW1lJ3Mgc291cmNlIGNvZGUgZm9yIHRoZSBjdXJyZW50IGFzc29j aWF0aW9uIGxpc3QpLiAgVGhpcyBpcyBtb3N0DQotc3VpdGFibGUgZm9yIHVzZXJzIHdobyB3b3Jr IG9uIGxpdGVyYXRlIHByb2dyYW1taW5nIGRvY3VtZW50cyB0aGF0IG1peA0KLWFuZCBtYXRjaCBz ZXZlcmFsIGxhbmd1YWdlcy4NCitPcHRpb24gfnJhaW5ib3d+IHVzZXMgYW4gYWNjZW50ZWQgYmFj a2dyb3VuZCBmb3IgdGhlIGNvbnRlbnRzIG9mIHRoZQ0KK2Jsb2NrLiAgVGhlIGV4YWN0IGNvbG9y IHdpbGwgZGVwZW5kIG9uIHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBhbmQgaXMNCitjb250cm9s bGVkIGJ5IHRoZSB+b3JnLXNyYy1ibG9jay1mYWNlc34gdmFyaWFibGUuICBUaGlzIGlzIG1vc3Qg c3VpdGFibGUNCitmb3IgdXNlcnMgd2hvIHdvcmsgb24gbGl0ZXJhdGUgcHJvZ3JhbW1pbmcgZG9j dW1lbnRzIHRoYXQgbWl4IGFuZCBtYXRjaA0KK3NldmVyYWwgbGFuZ3VhZ2VzLg0KIA0KIE5vdGUg dGhhdCB0aGUgInJhaW5ib3ciIGJsb2NrcyBtYXkgcmVxdWlyZSB5b3UgdG8gYWxzbyByZWxvYWQg dGhlDQotbWFqb3ItbW9kZSBzbyB0aGF0IHRoZSBjb2xvcnMgYXJlIGFwcGxpZWQgcHJvcGVybHk6 IHVzZSA9TS14IG9yZy1tb2RlPSBvcg0KLT1NLXggb3JnLW1vZGUtcmVzdGFydD0gdG8gcmVmcmVz aCB0aGUgYnVmZmVyLiAgT3Igc3RhcnQgdHlwaW5nIGluIGVhY2gNCi1jb2RlIGJsb2NrIChpbmVm ZmljaWVudCBhdCBzY2FsZSwgYnV0IGl0IHN0aWxsIHdvcmtzKS4NCittYWpvci1tb2RlIHNvIHRo YXQgdGhlIGNvbG9ycyBhcmUgYXBwbGllZCBjb25zaXN0ZW50bHkgdGhyb3VnaG91dDogdXNlDQor e3t7a2JkKE0teCBvcmctbW9kZSl9fX0gb3Ige3t7a2JkKE0teCBvcmctbW9kZS1yZXN0YXJ0KX19 fSB0byByZWZyZXNoIHRoZSBidWZmZXIuDQorT3Igc3RhcnQgdHlwaW5nIGluIGVhY2ggY29kZSBi bG9jayAoaW5lZmZpY2llbnQgYXQgc2NhbGUsIGJ1dCBpdCBzdGlsbA0KK3dvcmtzKS4NCisNCisq KiBPcHRpb24gZm9yIG9yZy1oYWJpdCBncmFwaCBzdHlsZXMNCis6cHJvcGVydGllczoNCis6YWx0 X3RpdGxlOiBPcmcgYWdlbmRhIGhhYml0cw0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIGFtb25nIHN0 YW5kYXJkLCBzaW1wbGlmaWVkLCBvciB0cmFmZmljIGxpZ2h0IHN0eWxlcw0KKzpjdXN0b21faWQ6 IGg6YjdlMzI4YzAtMzAzNC00ZGI3LTljZGYtZDViYTEyMDgxY2EyDQorOmVuZDoNCisjK3ZpbmRl eDogbW9kdXMtdGhlbWVzLW9yZy1oYWJpdA0KIA0KLSoqIE9wdGlvbiBmb3IgaGVhZGluZ3MnIG92 ZXJhbGwgc3R5bGUNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBIZWFkaW5nIHN0eWxlcw0K LTpERVNDUklQVElPTjogQ2hvb3NlIGFtb25nIHNldmVyYWwgc3R5bGVzLCBhbHNvIHBlciBoZWFk aW5nIGxldmVsDQotOkNVU1RPTV9JRDogaDoyNzFlZmYxOS05N2FhLTQwOTAtOTQxNS1hNjQ2M2My ZjlhZTENCi06RU5EOg0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1vcmctaGFiaXR+DQorDQorUG9z c2libGUgdmFsdWVzOg0KKw0KKzEuID1uaWw9IChkZWZhdWx0KQ0KKzIuIH5zaW1wbGlmaWVkfg0K KzMuIH50cmFmZmljLWxpZ2h0fg0KKw0KK1RoZSBkZWZhdWx0IGlzIG1lYW50IHRvIGNvbmZvcm0g d2l0aCB0aGUgb3JpZ2luYWwgYWVzdGhldGljIG9mDQorPW9yZy1oYWJpdD0uICBJdCBlbXBsb3lz IGFsbCBmb3VyIGNvbG9yIGNvZGVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUNCitvcmctaGFiaXQg c3RhdGVzLS0tY2xlYXIsIHJlYWR5LCBhbGVydCwgYW5kIG92ZXJkdWUtLS13aGlsZQ0KK2Rpc3Rp bmd1aXNoaW5nIGJldHdlZW4gdGhlaXIgcHJlc2VudCBhbmQgZnV0dXJlIHZhcmlhbnRzLiAgVGhp cyByZXN1bHRzDQoraW4gYSB0b3RhbCBvZiBlaWdodCBjb2xvcnMgaW4gdXNlOiByZWQsIHllbGxv dywgZ3JlZW4sIGJsdWUsIGluIHRpbnRlZA0KK2FuZCBzaGFkZWQgdmVyc2lvbnMuICBUaGV5IGNv dmVyIHRoZSBmdWxsIHNldCBvZiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieQ0KK3RoZSA9b3JnLWhh Yml0PSBjb25zaXN0ZW5jeSBncmFwaC4NCisNCitPcHRpb24gfnNpbXBsaWZpZWR+IGlzIGxpa2Ug dGhlIGRlZmF1bHQgZXhjZXB0IHRoYXQgaXQgcmVtb3ZlcyB0aGUNCitkaWNob3RvbXkgYmV0d2Vl biBjdXJyZW50IGFuZCBmdXR1cmUgdmFyaWFudHMgYnkgYXBwbHlpbmcgdW5pZm9ybQ0KK2NvbG9y LWNvZGVkIHZhbHVlcy4gIEl0IGFwcGxpZXMgYSB0b3RhbCBvZiBmb3VyIGNvbG9yczogcmVkLCB5 ZWxsb3csDQorZ3JlZW4sIGJsdWUuICBUaGV5IHByb2R1Y2UgYSBzaW1wbGlmaWVkIGNvbnNpc3Rl bmN5IGdyYXBoIHRoYXQgaXMgbW9yZQ0KK2xlZ2libGUgKG9yIGxlc3MgImJ1c3kiKSB0aGFuIHRo ZSBkZWZhdWx0LiAgVGhlIGludGVudCBpcyB0byBzaGlmdCBmb2N1cw0KK3Rvd2FyZHMgdGhlIGRp c3RpbmN0aW9uIGJldHdlZW4gdGhlIGZvdXIgc3RhdGVzIG9mIGEgaGFiaXQgdGFzaywgcmF0aGVy DQordGhhbiBlYWNoIHN0YXRlJ3MgcHJlc2VudC9mdXR1cmUgb3V0bG9vay4NCisNCitPcHRpb24g fnRyYWZmaWMtbGlnaHR+IGZ1cnRoZXIgcmVkdWNlcyB0aGUgYXZhaWxhYmxlIGNvbG9ycyB0byBy ZWQsDQoreWVsbG93LCBhbmQgZ3JlZW4uICBBcyBpbiB+c2ltcGxpZmllZH4sIHByZXNlbnQgYW5k IGZ1dHVyZSB2YXJpYW50cyBhcHBlYXINCit1bmlmb3JtbHksIGJ1dCBkaWZmZXJlbnRseSBmcm9t IGl0LCB0aGUgJ2NsZWFyJyBzdGF0ZSBpcyByZW5kZXJlZCBpbiBhDQorZ3JlZW4gaHVlLCBpbnN0 ZWFkIG9mIHRoZSBvcmlnaW5hbCBibHVlLiAgVGhpcyBpcyBtZWFudCB0byBjYXB0dXJlIHRoZQ0K K3VzZS1jYXNlIHdoZXJlIGEgaGFiaXQgdGFzayBiZWluZyAidG9vIGVhcmx5IiBpcyBsZXNzIGlt cG9ydGFudCB0aGFuIGl0DQorYmVpbmcgInRvbyBsYXRlIi4gIFRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gcmVhZHkgYW5kIGNsZWFyIHN0YXRlcyBpcw0KK2F0dGVudWF0ZWQgYnkgcGFpbnRpbmcgYm90 aCBvZiB0aGVtIHVzaW5nIHNoYWRlcyBvZiBncmVlbi4gIFRoaXMgb3B0aW9uDQordGh1cyBoaWdo bGlnaHRzIHRoZSBhbGVydCBhbmQgb3ZlcmR1ZSBzdGF0ZXMuDQorDQorKiogT3B0aW9uIGZvciB0 aGUgaGVhZGluZ3MnIG92ZXJhbGwgc3R5bGUNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBI ZWFkaW5nIHN0eWxlcw0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIGFtb25nIHNldmVyYWwgc3R5bGVz LCBhbHNvIHBlciBoZWFkaW5nIGxldmVsDQorOmN1c3RvbV9pZDogaDoyNzFlZmYxOS05N2FhLTQw OTAtOTQxNS1hNjQ2M2MyZjlhZTENCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtaGVh ZGluZ3MNCiANCiBUaGlzIGlzIGRlZmluZWQgYXMgYW4gYWxpc3QgYW5kLCB0aGVyZWZvcmUsIHVz ZXMgYSBkaWZmZXJlbnQgYXBwcm9hY2gNCiB0aGFuIG90aGVyIGN1c3RvbWl6YXRpb24gb3B0aW9u cyBkb2N1bWVudGVkIGluIHRoaXMgbWFudWFsLg0KIA0KLVN5bWJvbCBuYW1lczoNCi0NCi0rID1t b2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncz0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1lLWhl YWRpbmdzPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1oZWFkaW5nc34NCiANCiBQb3NzaWJsZSB2 YWx1ZXMsIHdoaWNoIGNhbiBiZSBzcGVjaWZpZWQgZm9yIGVhY2ggaGVhZGluZyBsZXZlbCAoZXhh bXBsZXMNCiBmdXJ0aGVyIGJlbG93KToNCiANCiArIG5pbCAoZGVmYXVsdCBmYWxsYmFjayBvcHRp b24tLS1jb3ZlcnMgYWxsIGhlYWRpbmcgbGV2ZWxzKQ0KICsgPXQ9IChkZWZhdWx0IHN0eWxlIGZv ciBhIHNpbmdsZSBoZWFkaW5nLCB3aGVuIHRoZSBmYWxsYmFjayBkaWZmZXJzKQ0KLSsgPW5vLWJv bGQ9DQotKyA9bGluZT0NCi0rID1saW5lLW5vLWJvbGQ9DQotKyA9cmFpbmJvdz0NCi0rID1yYWlu Ym93LWxpbmU9DQotKyA9cmFpbmJvdy1saW5lLW5vLWJvbGQ9DQotKyA9aGlnaGxpZ2h0PQ0KLSsg PWhpZ2hsaWdodC1uby1ib2xkPQ0KLSsgPXJhaW5ib3ctaGlnaGxpZ2h0PQ0KLSsgPXJhaW5ib3ct aGlnaGxpZ2h0LW5vLWJvbGQ9DQotKyA9c2VjdGlvbj0NCi0rID1zZWN0aW9uLW5vLWJvbGQ9DQot KyA9cmFpbmJvdy1zZWN0aW9uPQ0KLSsgPXJhaW5ib3ctc2VjdGlvbi1uby1ib2xkPQ0KLQ0KLVRv IGNvbnRyb2wgZmFjZXMgcGVyIGxldmVsIGZyb20gMS04LCB1c2Ugc29tZXRoaW5nIGxpa2UgdGhp cyAoc2FtZSBmb3INCi09bW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncz0pOg0KKysgfm5vLWJv bGR+DQorKyB+bGluZX4NCisrIH5saW5lLW5vLWJvbGR+DQorKyB+cmFpbmJvd34NCisrIH5yYWlu Ym93LWxpbmV+DQorKyB+cmFpbmJvdy1saW5lLW5vLWJvbGR+DQorKyB+aGlnaGxpZ2h0fg0KKysg fmhpZ2hsaWdodC1uby1ib2xkfg0KKysgfnJhaW5ib3ctaGlnaGxpZ2h0fg0KKysgfnJhaW5ib3ct aGlnaGxpZ2h0LW5vLWJvbGR+DQorKyB+c2VjdGlvbn4NCisrIH5zZWN0aW9uLW5vLWJvbGR+DQor KyB+cmFpbmJvdy1zZWN0aW9ufg0KKysgfnJhaW5ib3ctc2VjdGlvbi1uby1ib2xkfg0KKysgfm5v LWNvbG9yfg0KKysgfm5vLWNvbG9yLW5vLWJvbGR+DQorDQorVG8gY29udHJvbCBmYWNlcyBwZXIg bGV2ZWwgZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KIA0KICMrYmVnaW5fc3Jj IGVtYWNzLWxpc3ANCi0oc2V0cSBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncw0KKyhzZXRx IG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KICAgICAgICcoKDEgLiBzZWN0aW9uKQ0KLSAgICAgICAg KDIgLiBsaW5lKQ0KLSAgICAgICAgKDMgLiBoaWdobGlnaHQpDQotICAgICAgICAodCAuIHJhaW5i b3ctbm8tYm9sZCkpKQ0KKyAgICAgICAgKDIgLiBzZWN0aW9uLW5vLWJvbGQpDQorICAgICAgICAo MyAuIHJhaW5ib3ctbGluZSkNCisgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkN CiAjK2VuZF9zcmMNCiANCi1UaGUgYWJvdmUgdXNlcyB0aGUgPXNlY3Rpb249IHZhbHVlIGZvciBo ZWFkaW5nIGxldmVscyAxLCB0aGUgPWxpbmU9IGZvcg0KLWhlYWRpbmdzIDIsID1oaWdobGlnaHQ9 IGZvciAzLiAgQWxsIG90aGVyIGxldmVscyBmYWxsIGJhY2sgdG8NCi09cmFpbmJvdy1saW5lLW5v LWJvbGQ9Lg0KK1RoZSBhYm92ZSB1c2VzIHRoZSB+c2VjdGlvbn4gdmFsdWUgZm9yIGhlYWRpbmcg bGV2ZWxzIDEsIH5zZWN0aW9uLW5vLWJvbGR+DQorZm9yIGhlYWRpbmdzIDIsIH5yYWluYm93LWxp bmV+IGZvciAzLiAgQWxsIG90aGVyIGxldmVscyBmYWxsIGJhY2sgdG8NCit+cmFpbmJvdy1saW5l LW5vLWJvbGR+Lg0KIA0KIFRvIHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBoZWFkaW5nIGxl dmVscywgdXNlIHRoaXMgcGF0dGVybjoNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQogOzsg QSBnaXZlbiBzdHlsZSBmb3IgZXZlcnkgaGVhZGluZw0KLShzZXRxIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWhlYWRpbmdzDQotICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQorKHNl dHEgbW9kdXMtdGhlbWVzLWhlYWRpbmdzDQorICAgICAgJygodCAuIHNlY3Rpb24pKSkNCiANCiA7 OyBEZWZhdWx0IGFlc3RoZXRpYyBmb3IgZXZlcnkgaGVhZGluZw0KLShzZXRxIG1vZHVzLW9wZXJh bmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgJygodCAuIG5pbCkpKQ0KKyhzZXRxIG1vZHVzLXRo ZW1lcy1oZWFkaW5ncw0KKyAgICAgICcoKSkNCiAjK2VuZF9zcmMNCiANCiBUaGUgZGVmYXVsdCBz dHlsZSBmb3IgaGVhZGluZ3MgdXNlcyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kDQot dmFsdWUgaW4gY29tYmluYXRpb24gd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8g c3BlY2lmeSB0aGlzDQotc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91IHdp c2ggdG8gaGF2ZSBhbm90aGVyIGZhbGxiYWNrDQotb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRoZSB2 YWx1ZSA9dD0gbGlrZSB0aGlzOg0KK3ZhbHVlIGluIGNvbWJpbmF0aW9uIHdpdGggYm9sZCB0eXBv Z3JhcGhpYyB3ZWlnaHQuICBUbyBzcGVjaWZ5IHRoaXMNCitzdHlsZSBmb3IgYSBnaXZlbiBsZXZl bCBOLCBhc3N1bWluZyB5b3Ugd2lzaCB0byBoYXZlIGFub3RoZXIgZmFsbGJhY2sNCitvcHRpb24s IGp1c3Qgc3BlY2lmeSB0aGUgdmFsdWUgPXQ9IGxpa2UgdGhpczoNCiANCiAjK2JlZ2luX3NyYyBl bWFjcy1saXNwDQotKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MNCisoc2V0cSBt b2R1cy10aGVtZXMtaGVhZGluZ3MNCiAgICAgICAnKCgxIC4gdCkNCiAgICAgICAgICgyIC4gbGlu ZSkNCiAgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCiAjK2VuZF9zcmMNCiAN Ci1BIGRlc2NyaXB0aW9uIG9mIGFsbCBvdGhlciBwb3NzaWJsZSBzdHlsZXM6DQorQSBkZXNjcmlw dGlvbiBvZiBhbGwgb3RoZXIgcG9zc2libGUgc3R5bGVzIGJleW9uZCB0aGUgZGVmYXVsdDoNCiAN Ci0rID1uby1ib2xkPSByZXRhaW5zIHRoZSBkZWZhdWx0IHRleHQgY29sb3Igd2hpbGUgcmVtb3Zp bmcgdGhlIHR5cG9ncmFwaGljDQotICB3ZWlnaHQuDQorKyB+bm8tYm9sZH4gcmV0YWlucyB0aGUg ZGVmYXVsdCB0ZXh0IGNvbG9yIHdoaWxlIHJlbW92aW5nIHRoZSBib2xkDQorICB0eXBvZ3JhcGhp YyB3ZWlnaHQuDQogDQotKyA9bGluZT0gaXMgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQgcGx1cyBh biBvdmVybGluZSBvdmVyIHRoZSBoZWFkaW5nLg0KKysgfmxpbmV+IGlzIHRoZSBzYW1lIGFzIHRo ZSBkZWZhdWx0IHBsdXMgYW4gb3ZlcmxpbmUgYWNyb3NzIHRoZQ0KKyAgaGVhZGluZydzIGxlbmd0 aC4NCiANCi0rID1saW5lLW5vLWJvbGQ9IGlzIHRoZSBzYW1lIGFzID1saW5lPSB3aXRob3V0IGJv bGQgd2VpZ2h0Lg0KKysgfmxpbmUtbm8tYm9sZH4gaXMgdGhlIHNhbWUgYXMgfmxpbmV+IHdpdGhv dXQgYm9sZCB3ZWlnaHQuDQogDQotKyA9cmFpbmJvdz0gdXNlcyBhIG1vcmUgY29sb3JmdWwgZm9y ZWdyb3VuZCBpbiBjb21iaW5hdGlvbiB3aXRoIGJvbGQNCi0gIHdlaWdodC4NCisrIH5yYWluYm93 fiB1c2VzIGEgbW9yZSBjb2xvcmZ1bCBmb3JlZ3JvdW5kIGluIGNvbWJpbmF0aW9uIHdpdGggYm9s ZA0KKyAgdHlwb2dyYXBoaWMgd2VpZ2h0Lg0KIA0KLSsgPXJhaW5ib3ctbGluZT0gaXMgdGhlIHNh bWUgYXMgPXJhaW5ib3c9IHBsdXMgYW4gb3ZlcmxpbmUuDQorKyB+cmFpbmJvdy1saW5lfiBpcyB0 aGUgc2FtZSBhcyB+cmFpbmJvd34gcGx1cyBhbiBvdmVybGluZS4NCiANCi0rID1yYWluYm93LWxp bmUtbm8tYm9sZD0gaXMgdGhlIHNhbWUgYXMgPXJhaW5ib3ctbGluZT0gd2l0aG91dCB0aGUgYm9s ZA0KKysgfnJhaW5ib3ctbGluZS1uby1ib2xkfiBpcyB0aGUgc2FtZSBhcyB+cmFpbmJvdy1saW5l fiB3aXRob3V0IHRoZSBib2xkDQogICB3ZWlnaHQuDQogDQotKyA9aGlnaGxpZ2h0PSByZXRhaW5z IHRoZSBkZWZhdWx0IHN0eWxlIG9mIGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQNCi0g IGNvbWJpbmVkIHdpdGggYSBib2xkIHdlaWdodCBhbmQgYWRkcyB0byBpdCBhIHN1YnRsZSBhY2Nl bnRlZA0KLSAgYmFja2dyb3VuZC4NCisrIH5oaWdobGlnaHR+IHJldGFpbnMgdGhlIGRlZmF1bHQg c3R5bGUgb2YgYSBmYWlybHkgZGVzYXR1cmF0ZWQNCisgIGZvcmVncm91bmQgY29tYmluZWQgd2l0 aCBhIGJvbGQgd2VpZ2h0IGFuZCBhZGRzIHRvIGl0IGEgc3VidGxlDQorICBhY2NlbnRlZCBiYWNr Z3JvdW5kLg0KIA0KLSsgPWhpZ2hsaWdodC1uby1ib2xkPSBpcyB0aGUgc2FtZSBhcyA9aGlnaGxp Z2h0PSB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuDQorKyB+aGlnaGxpZ2h0LW5vLWJvbGR+IGlzIHRo ZSBzYW1lIGFzIH5oaWdobGlnaHR+IHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCiANCi0rID1yYWlu Ym93LWhpZ2hsaWdodD0gaXMgdGhlIHNhbWUgYXMgPWhpZ2hsaWdodD0gYnV0IHdpdGggYSBtb3Jl IGNvbG9yZnVsDQotICBmb3JlZ3JvdW5kLg0KKysgfnJhaW5ib3ctaGlnaGxpZ2h0fiBpcyB0aGUg c2FtZSBhcyB+aGlnaGxpZ2h0fiBidXQgd2l0aCBhIG1vcmUNCisgIGNvbG9yZnVsIGZvcmVncm91 bmQuDQogDQotKyA9cmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZD0gaXMgdGhlIHNhbWUgYXMgPXJh aW5ib3ctaGlnaGxpZ2h0PSB3aXRob3V0IGENCi0gIGJvbGQgd2VpZ2h0Lg0KKysgfnJhaW5ib3ct aGlnaGxpZ2h0LW5vLWJvbGR+IGlzIHRoZSBzYW1lIGFzIH5yYWluYm93LWhpZ2hsaWdodH4gd2l0 aG91dA0KKyAgYSBib2xkIHdlaWdodC4NCiANCi0rID1zZWN0aW9uPSByZXRhaW5zIHRoZSBkZWZh dWx0IGxvb2tzIGFuZCBhZGRzIHRvIHRoZW0gYm90aCBhbiBvdmVybGluZQ0KKysgfnNlY3Rpb25+ IHJldGFpbnMgdGhlIGRlZmF1bHQgbG9va3MgYW5kIGFkZHMgdG8gdGhlbSBib3RoIGFuIG92ZXJs aW5lDQogICBhbmQgYSBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kLiAgSXQgaXMsIGluIGVm ZmVjdCwgYSBjb21iaW5hdGlvbg0KLSAgb2YgdGhlID1saW5lPSBhbmQgPWhpZ2hsaWdodD0gdmFs dWVzLg0KKyAgb2YgdGhlIH5saW5lfiBhbmQgfmhpZ2hsaWdodH4gdmFsdWVzLg0KIA0KLSsgPXNl Y3Rpb24tbm8tYm9sZD0gaXMgdGhlIHNhbWUgYXMgPXNlY3Rpb249IHdpdGhvdXQgYSBib2xkIHdl aWdodC4NCisrIH5zZWN0aW9uLW5vLWJvbGR+IGlzIHRoZSBzYW1lIGFzIH5zZWN0aW9ufiB3aXRo b3V0IGEgYm9sZCB3ZWlnaHQuDQogDQotKyA9cmFpbmJvdy1zZWN0aW9uPSBpcyB0aGUgc2FtZSBh cyA9c2VjdGlvbj0gYnV0IHdpdGggYSBtb3JlIGNvbG9yZnVsDQorKyB+cmFpbmJvdy1zZWN0aW9u fiBpcyB0aGUgc2FtZSBhcyB+c2VjdGlvbn4gYnV0IHdpdGggYSBtb3JlIGNvbG9yZnVsDQogICBm b3JlZ3JvdW5kLg0KIA0KLSsgPXJhaW5ib3ctc2VjdGlvbi1uby1ib2xkPSBpcyB0aGUgc2FtZSBh cyA9cmFpbmJvdy1zZWN0aW9uPSB3aXRob3V0IGEgYm9sZA0KLSAgd2VpZ2h0LiINCisrIH5yYWlu Ym93LXNlY3Rpb24tbm8tYm9sZH4gaXMgdGhlIHNhbWUgYXMgfnJhaW5ib3ctc2VjdGlvbn4gd2l0 aG91dCBhDQorICBib2xkIHdlaWdodC4NCiANCi0qKiBPcHRpb24gZm9yIHNjYWxlZCBoZWFkaW5n cw0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IFNjYWxlZCBoZWFkaW5ncw0KLTpERVNDUklQ VElPTjogVG9nZ2xlIHNjYWxpbmcgb2YgaGVhZGluZ3MNCi06Q1VTVE9NX0lEOiBoOjA3NWViMDIy LTM3YTYtNDFhNC1hMDQwLWNjMTg5ZjZiZmExZg0KLTpFTkQ6DQorKyB+bm8tY29sb3J+IGRvZXMg bm90IGFwcGx5IGFueSBjb2xvciB0byB0aGUgaGVhZGluZywgbWVhbmluZyB0aGF0IGl0DQorICB1 c2VzIHRoZSBmb3JlZ3JvdW5kIG9mIHRoZSB+ZGVmYXVsdH4gZmFjZS4gIEl0IHN0aWxsIHJlbmRl cnMgdGhlIHRleHQNCisgIHdpdGggYSBib2xkIHR5cG9ncmFwaGljIHdlaWdodC4NCiANCi1TeW1i b2wgbmFtZXM6DQorKyB+bm8tY29sb3Itbm8tYm9sZH4gaXMgbGlrZSB+bm8tY29sb3J+IGJ1dCB3 aXRob3V0IHRoZSBib2xkIHdlaWdodC4NCisNCisqKiBPcHRpb24gZm9yIHNjYWxlZCBoZWFkaW5n cw0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IFNjYWxlZCBoZWFkaW5ncw0KKzpkZXNjcmlw dGlvbjogVG9nZ2xlIHNjYWxpbmcgb2YgaGVhZGluZ3MNCis6Y3VzdG9tX2lkOiBoOjA3NWViMDIy LTM3YTYtNDFhNC1hMDQwLWNjMTg5ZjZiZmExZg0KKzplbmQ6DQorIyt2aW5kZXg6IG1vZHVzLXRo ZW1lcy1zY2FsZS1oZWFkaW5ncw0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhl YWRpbmdzPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3M9DQorU3ltYm9s OiB+bW9kdXMtdGhlbWVzLXNjYWxlLWhlYWRpbmdzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiAN CiAxLiA9bmlsPSAoZGVmYXVsdCkNCiAyLiA9dD0NCiANCi1NYWtlIGhlYWRpbmdzIGxhcmdlciBp biBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIG1haW4gdGV4dC4gIFRoaXMgaXMNCi1ub3RpY2VhYmxl IGluIG1vZGVzIGxpa2UgT3JnLiAgVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBzYW1lIHNpemUg Zm9yDQotaGVhZGluZ3MgYW5kIGJvZHkgY29weS4NCitUaGUgZGVmYXVsdCBpcyB0byB1c2UgdGhl IHNhbWUgc2l6ZSBmb3IgaGVhZGluZ3MgYW5kIHBhcmFncmFwaCB0ZXh0Lg0KKw0KK1dpdGggYSBu b24tbmlsIHZhbHVlICg9dD0pIG1ha2UgaGVhZGluZ3MgbGFyZ2VyIGluIGhlaWdodCByZWxhdGl2 ZSB0byB0aGUNCittYWluIHRleHQuICBUaGlzIGlzIG5vdGljZWFibGUgaW4gbW9kZXMgbGlrZSBP cmcsIE1hcmtkb3duLCBhbmQgSW5mby4NCiANCiAqKiogQ29udHJvbCB0aGUgc2NhbGUgb2YgaGVh ZGluZ3MNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBTY2FsZWQgaGVhZGluZyBzaXplcw0K LTpERVNDUklQVElPTjogU3BlY2lmeSByYXRlIG9mIGluY3JlYXNlIGZvciBzY2FsZWQgaGVhZGlu Z3MNCi06Q1VTVE9NX0lEOiBoOjY4NjhiYWExLWJlYmEtNDVlZC1iYWE1LTVmZDY4MzIyY2NiMw0K LTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogU2NhbGVkIGhlYWRpbmcgc2l6ZXMN Cis6ZGVzY3JpcHRpb246IFNwZWNpZnkgcmF0ZSBvZiBpbmNyZWFzZSBmb3Igc2NhbGVkIGhlYWRp bmdzDQorOmN1c3RvbV9pZDogaDo2ODY4YmFhMS1iZWJhLTQ1ZWQtYmFhNS01ZmQ2ODMyMmNjYjMN Cis6ZW5kOg0KIA0KLUluIGFkZGl0aW9uIHRvIHRvZ2dsZXMgZm9yIGVuYWJsaW5nIHNjYWxlZCBo ZWFkaW5ncywgdXNlcnMgY2FuIGFsc28NCitJbiBhZGRpdGlvbiB0byB0aGUgdG9nZ2xlIGZvciBl bmFibGluZyBzY2FsZWQgaGVhZGluZ3MsIHVzZXJzIGNhbiBhbHNvDQogc3BlY2lmeSBhIG51bWJl ciBvZiB0aGVpciBvd24uDQogDQogKyBJZiBpdCBpcyBhIGZsb2F0aW5nIHBvaW50LCBzYXksID0x LjU9LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotICBvZiB0aGUgYmFzZSBmb250 IHNpemUuICBUaGlzIGlzIHRoZSByZWNvbW1lbmRlZCBtZXRob2QuDQotDQotKyBJZiBpdCBpcyBh biBpbnRlZ2VyLCBpdCBpcyByZWFkIGFzIGFuIGFic29sdXRlIGZvbnQgaGVpZ2h0LiAgVGhlDQot ICBudW1iZXIgaXMgYmFzaWNhbGx5IHRoZSBwb2ludCBzaXplIG11bHRpcGxpZWQgYnkgdGVuLiAg U28gaWYgeW91IHdhbnQNCi0gIGl0IHRvIGJlID0xOHB0PSB5b3UgbXVzdCBwYXNzID0xODA9LiAg UGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBzZXR0aW5nIGFuDQotICBhYnNvbHV0ZSB2YWx1ZSBpcyBk aXNjb3VyYWdlZCwgYXMgaXQgd2lsbCBicmVhayB0aGUgbGF5b3V0IHdoZW4geW91DQotICB0cnkg dG8gY2hhbmdlIGZvbnQgc2l6ZXMgd2l0aCB0aGUgYnVpbHQtaW4gPXRleHQtc2NhbGUtYWRqdXN0 PSBjb21tYW5kDQotICAoc2VlIFtbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNj OTI5XVtGb250IGNvbmZpZ3VyYXRpb25zXV0pLg0KKyAgb2YgdGhlIGJhc2UgZm9udCBzaXplLiAg VGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgbWV0aG9kLCBiZWNhdXNlIGl0DQorICB3aWxsIGFsd2F5 cyBhZGFwdCB0byBjaGFuZ2VzIGluIHRoZSBiYXNlIGZvbnQgc2l6ZSwgc3VjaCBhcyB3aGlsZQ0K KyAgdXNpbmcgdGhlIH50ZXh0LXNjYWxlLWFkanVzdH4gY29tbWFuZC4NCisNCisrIElmIGl0IGlz IGFuIGludGVnZXIsIGl0IGlzIHJlYWQgYXMgYW4gYWJzb2x1dGUgZm9udCBoZWlnaHQgdGhhdCBp cw0KKyAgMS8xMCBvZiB0aGUgdHlwb2dyYXBoaWMgcG9pbnQgc2l6ZS4gIFRodXMgYSB2YWx1ZSBv ZiA9MThwdD0gbXVzdCBiZQ0KKyAgZXhwcmVzc2VkIGFzID0xODA9LiAgU2V0dGluZyBhbiBhYnNv bHV0ZSB2YWx1ZSBpcyBkaXNjb3VyYWdlZCwgYXMgaXQNCisgIHdpbGwgYnJlYWsgdGhlIGxheW91 dCBpbiBjYXNlcyB3aGVyZSB0aGUgYmFzZSBmb250IHNpemUgbXVzdCBjaGFuZ2UsDQorICBzdWNo IGFzIHdpdGggdGhlIH50ZXh0LXNjYWxlLWFkanVzdH4gY29tbWFuZCAoW1sjaDpkZWZjZjRmYy04 ZmE4LTRjMjktYjEyZS03MTE5NTgyY2M5MjldW0ZvbnQgY29uZmlndXJhdGlvbnNdXSkuDQorICBX aGlsZSB3ZSBkaXNjb3VyYWdlIHVzaW5nIGFic29sdXRlIHZhbHVlcywgd2Ugc3RpbGwgcHJvdmlk ZSBmb3IgdGhpcw0KKyAgb3B0aW9uIGZvciB1c2VycyB3aG8gZG8gbm90IG5lZWQgdG8gcGVyZm9y bSB0ZXh0LXNjYWxpbmcgb3BlcmF0aW9ucyBvcg0KKyAgd2hvIGFyZSBjb250ZW50IHdpdGggd2hh dGV2ZXIgZGlzY3JlcGFuY2llcyBpbiBoZWlnaHQuDQogDQogQmVsb3cgYXJlIHRoZSB2YXJpYWJs ZXMgaW4gdGhlaXIgZGVmYXVsdCB2YWx1ZXMsIHVzaW5nIHRoZSBmbG9hdGluZw0KLXBvaW50IHBh cmFkaWdtLiAgVGhlIG51bWJlcnMgYXJlIHZlcnkgY29uc2VydmF0aXZlLCBidXQgeW91IGFyZSBm cmVlIHRvDQotY2hhbmdlIHRoZW0gdG8geW91ciBsaWtpbmcsIHN1Y2ggYXMgPTEuMj0sID0xLjQ9 LCA9MS42PSwgPTEuOD0sID0yLjA9LS0tb3IgdXNlIGENCitwb2ludCBwYXJhZGlnbS4gIFRoZSBu dW1iZXJzIGFyZSB2ZXJ5IGNvbnNlcnZhdGl2ZSwgYnV0IG9uZSBpcyBmcmVlIHRvDQorY2hhbmdl IHRoZW0gdG8gdGhlaXIgbGlraW5nLCBzdWNoIGFzID0xLjI9LCA9MS40PSwgPTEuNj0sID0xLjg9 LCA9Mi4wPS0tLW9yIHVzZSBhDQogcmVzb3VyY2UgZm9yIGZpbmRpbmcgYSBjb25zaXN0ZW50IHNj YWxlOg0KIA0KICMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCi0oc2V0cSBtb2R1cy1vcGVyYW5kaS10 aGVtZS1zY2FsZS0xIDEuMDUNCi0gICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0yIDEu MQ0KLSAgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTMgMS4xNQ0KLSAgICAgIG1vZHVz LW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQgMS4yDQotICAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUt c2NhbGUtNSAxLjMpDQotDQotKHNldHEgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xIDEuMDUN Ci0gICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTIgMS4xDQotICAgICAgbW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZS0zIDEuMTUNCi0gICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxl LTQgMS4yDQotICAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS01IDEuMykNCisoc2V0cSBt b2R1cy10aGVtZXMtc2NhbGUtMSAxLjA1DQorICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTIgMS4x DQorICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTMgMS4xNQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1z Y2FsZS00IDEuMg0KKyAgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS01IDEuMykNCiAjK2VuZF9zcmMN CiANCitBcyBmb3IgdGhlIGFwcGxpY2F0aW9uIG9mIHRoYXQgc2NhbGUsIHRoZSB2YXJpYWJsZXMg dGhhdCByYW5nZSBmcm9tDQorfm1vZHVzLXRoZW1lcy1zY2FsZS0xfiB1cCB0byB+bW9kdXMtdGhl bWVzLXNjYWxlLTR+IGFwcGx5IHRvIHJlZ3VsYXINCitoZWFkaW5ncyB3aXRoaW4gdGhlIGNvbnRl eHQgb2YgdGhlIGdpdmVuIG1ham9yIG1vZGUuICBUaGUgZm9ybWVyIGlzIHRoZQ0KK3NtYWxsZXN0 LCB3aGlsZSB0aGUgbGF0dGVyIGlzIHRoZSBsYXJnZXN0LiAgIlJlZ3VsYXIgaGVhZGluZ3MiIGFy ZSB0aG9zZQ0KK3RoYXQgaGF2ZSBhIHN0YW5kYXJkIHN5bnRheCBmb3IgdGhlaXIgc2NhbGUsIHN1 Y2ggYXMgT3JnIG1vZGUncyBlaWdodA0KK2xldmVscyBvZiBhc3Rlcmlza3Mgb3IgTWFya2Rvd24n cyBzaXggY29sdW1ucy4NCisNCitXaGVyZWFzIH5tb2R1cy10aGVtZXMtc2NhbGUtNX4gaXMgYXBw bGllZCB0byBzcGVjaWFsIGhlYWRpbmdzIHRoYXQgZG8gbm90DQorY29uZm9ybSB3aXRoIHRoZSBh Zm9yZW1lbnRpb25lZCBzeW50YXgsIHlldCB3aGljaCBhcmUgZXhwZWN0ZWQgdG8gYmUNCitsYXJn ZXIgdGhhbiB0aGUgbGFyZ2VzdCB2YWx1ZSBvbiB0aGF0IGltcGxpZWQgc2NhbGUuICBQdXQgY29u Y3JldGVseSwNCitPcmcncyA9Iyt0aXRsZT0gbWV0YSBkYXR1bSBpcyBub3QgcGFydCBvZiB0aGUg ZWlnaHQgbGV2ZWxzIG9mIGhlYWRpbmdzIGluDQorYW4gT3JnIGZpbGUsIHlldCBpcyBzdXBwb3Nl ZCB0byBzaWduaWZ5IHRoZSBwcmltYXJ5IGhlYWRlci4gIFNpbWlsYXJseSwNCit0aGUgT3JnIEFn ZW5kYSdzIHN0cnVjdHVyZSBoZWFkaW5ncyBhcmUgbm90IHBhcnQgb2YgYSByZWNvZ25pc2FibGUg c2NhbGUNCithbmQgc28gdGhleSBhbHNvIGdldCB+bW9kdXMtdGhlbWVzLXNjYWxlLTV+Lg0KKw0K K1VzZXJzIHdobyB3aXNoIHRvIG1haW50YWluIHNjYWxlZCBoZWFkaW5ncyBmb3IgdGhlIG5vcm1h bCBzeW50YXggd2hpbGUNCitwcmV2ZW50aW5nIHNwZWNpYWwgaGVhZGluZ3MgZnJvbSBzdGFuZGlu ZyBvdXQsIGNhbiBhc3NpZ24gYSB2YWx1ZSBvZiA9MS4wPQ0KK3RvIH5tb2R1cy10aGVtZXMtc2Nh bGUtNX4gdG8gbWFrZSBpdCB0aGUgc2FtZSBhcyBib2R5IHRleHQgKG9yIHdoYXRldmVyDQordmFs dWUgd291bGQgcmVuZGVyIGl0IGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gdGhlIGRlc2lyZWQgcG9p bnQgb2YNCityZWZlcmVuY2UpLg0KKw0KIE5vdGUgdGhhdCBpbiBlYXJsaWVyIHZlcnNpb25zIG9m IE9yZywgc2NhbGluZyB3b3VsZCBvbmx5IGluY3JlYXNlIHRoZQ0KIHNpemUgb2YgdGhlIGhlYWRp bmcsIGJ1dCBub3Qgb2Yga2V5d29yZHMgdGhhdCB3ZXJlIGFkZGVkIHRvIGl0LCBsaWtlDQogIlRP RE8iLiAgVGhlIGlzc3VlIGhhcyBiZWVuIGZpeGVkIHVwc3RyZWFtOg0KIDxodHRwczovL3Byb3Rl c2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAtMDktMjQtb3JnLWhlYWRpbmdzLWFkYXB0Lz4uDQogDQot KiogT3B0aW9uIGZvciB2YXJpYWJsZS1waXRjaCBmb250IGluIGhlYWRpbmdzDQotOlBST1BFUlRJ RVM6DQotOkFMVF9USVRMRTogSGVhZGluZ3MnIGZvbnQNCi06REVTQ1JJUFRJT046IFRvZ2dsZSBw cm9wb3J0aW9uYXRlbHkgc3BhY2VkIGZvbnRzIGluIGhlYWRpbmdzDQotOkNVU1RPTV9JRDogaDo5 N2NhY2E3Ni1mYTEzLTQ1NmMtYWVmMS1hMmFhMTY1ZWEyNzQNCi06RU5EOg0KKyoqIE9wdGlvbiBm b3IgdmFyaWFibGUtcGl0Y2ggZm9udCBpbiBVSSBlbGVtZW50cw0KKzpwcm9wZXJ0aWVzOg0KKzph bHRfdGl0bGU6IFVJIHR5cGVmYWNlDQorOmRlc2NyaXB0aW9uOiBUb2dnbGUgdGhlIHVzZSBvZiB2 YXJpYWJsZS1waXRjaCBhY3Jvc3MgdGhlIFVzZXIgSW50ZXJmYWNlDQorOmN1c3RvbV9pZDogaDox NmNmNjY2Yy01ZTY1LTQyNGMtYTg1NS03ZWE4YTRhMWZjYWMNCis6ZW5kOg0KKyMrdmluZGV4OiBt b2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtdWkNCisNCitTeW1ib2w6IH5tb2R1cy10aGVtZXMt dmFyaWFibGUtcGl0Y2gtdWl+DQogDQotU3ltYm9sIG5hbWVzOg0KK1Bvc3NpYmxlIHZhbHVlczoN CisNCisxLiA9bmlsPSAoZGVmYXVsdCkNCisyLiA9dD0NCisNCitUaGlzIG9wdGlvbiBjb25jZXJu cyBVc2VyIEludGVyZmFjZSBlbGVtZW50cyB0aGF0IGFyZSB1bmRlciB0aGUgZGlyZWN0DQorY29u dHJvbCBvZiBFbWFjcy4gIEluIHBhcnRpY3VsYXI6IHRoZSBtb2RlIGxpbmUsIGhlYWRlciBsaW5l LCB0YWIgYmFyLA0KK2FuZCB0YWIgbGluZS4NCisNCitUaGUgZGVmYXVsdCBpcyB0byB1c2UgdGhl IHNhbWUgZm9udCBhcyB0aGUgcmVzdCBvZiBFbWFjcywgd2hpY2ggdXN1YWxseQ0KK2lzIGEgbW9u b3NwYWNlZCBmYW1pbHkuDQorDQorV2l0aCBhIG5vbi1uaWwgdmFsdWUgKD10PSkgYXBwbHkgYSBw cm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlLiAgVGhpcw0KK2lzIGRvbmUgYnkgYXNzaWdu aW5nIHRoZSB+dmFyaWFibGUtcGl0Y2h+IGZhY2UgdG8gdGhlIHJlbGV2YW50IGl0ZW1zLg0KKw0K K1tbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3Vy YXRpb25zIGZvciBPcmcgYW5kIG90aGVyc11dLg0KKw0KKyoqIE9wdGlvbiBmb3IgdmFyaWFibGUt cGl0Y2ggZm9udCBpbiBoZWFkaW5ncw0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IEhlYWRp bmdzJyB0eXBlZmFjZQ0KKzpkZXNjcmlwdGlvbjogVG9nZ2xlIHRoZSB1c2Ugb2YgdmFyaWFibGUt cGl0Y2ggaW4gaGVhZGluZ3MNCis6Y3VzdG9tX2lkOiBoOjk3Y2FjYTc2LWZhMTMtNDU2Yy1hZWYx LWEyYWExNjVlYTI3NA0KKzplbmQ6DQorIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy12YXJpYWJsZS1w aXRjaC1oZWFkaW5ncw0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNo LWhlYWRpbmdzPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGlu Z3M9DQorU3ltYm9sOiB+bW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzfg0KIA0K IFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCiAyLiA9dD0NCiANCi1D aG9vc2UgdG8gYXBwbHkgYSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkLCBlbHNlICJ2YXJpYWJsZS1w aXRjaCIsDQotdHlwZWZhY2UgdG8gaGVhZGluZ3MgKHN1Y2ggYXMgaW4gT3JnIG1vZGUpLiAgVGhl IGRlZmF1bHQgaXMgdG8gdXNlIHRoZQ0KLW1haW4gZm9udCBmYW1pbHkuDQorVGhlIGRlZmF1bHQg aXMgdG8gdXNlIHRoZSBtYWluIGZvbnQgZmFtaWx5LCB3aGljaCB0eXBpY2FsbHkgaXMNCittb25v c3BhY2VkLg0KIA0KLVtbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtG b250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMpXV0uDQorV2l0aCBhIG5vbi1u aWwgdmFsdWUgKD10PSkgYXBwbHkgYSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlLCBl bHNlDQorInZhcmlhYmxlLXBpdGNoIiwgdG8gaGVhZGluZ3MgKHN1Y2ggYXMgaW4gT3JnIG1vZGUp Lg0KKw0KK1tbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNv bmZpZ3VyYXRpb25zIGZvciBPcmcgYW5kIG90aGVyc11dLg0KIA0KICogQWR2YW5jZWQgY3VzdG9t aXphdGlvbiAoZG8taXQteW91cnNlbGYpDQotOlBST1BFUlRJRVM6DQotOklOREVYOiBjcA0KLTpD VVNUT01fSUQ6IGg6ZjQ2NTFkNTUtOGMwNy00NmFhLWI1MmItYmVkMWU1MzQ2M2JiDQotOkVORDoN Cis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOmY0NjUxZDU1LThjMDctNDZhYS1iNTJiLWJl ZDFlNTM0NjNiYg0KKzplbmQ6DQogDQotVW5saWtlIHRoZSBwcmVkZWZpbmVkIGN1c3RvbWl6YXRp b24gb3B0aW9ucyB3aGljaCBmb2xsb3cgYQ0KLXN0cmFpZ2h0Zm9yd2FyZCBwYXR0ZXJuIG9mIGFs bG93aW5nIHRoZSB1c2VyIHRvIHF1aWNrbHkgc3BlY2lmeSB0aGVpcg0KLXByZWZlcmVuY2UsIHRo ZSB0aGVtZXMgYWxzbyBwcm92aWRlIGEgbW9yZSBmbGV4aWJsZSwgYWxiZWl0IGRpZmZpY3VsdCwN Ci1tZWNoYW5pc20gdG8gY29udHJvbCB0aGluZ3Mgd2l0aCBwcmVjaXNpb24gKHNlZSBbWyNoOmJm MWM4MmYyLTQ2YzctNGViMi1hZDAwLWRkMTFmZGQ4YjUzZl1bQ3VzdG9taXphdGlvbiBPcHRpb25z XV0pLg0KK1VubGlrZSB0aGUgcHJlZGVmaW5lZCBjdXN0b21pemF0aW9uIG9wdGlvbnMgd2hpY2gg Zm9sbG93IGEgY2xlYXIgcGF0dGVybg0KK29mIGFsbG93aW5nIHRoZSB1c2VyIHRvIHF1aWNrbHkg c3BlY2lmeSB0aGVpciBwcmVmZXJlbmNlLCB0aGUgdGhlbWVzDQorYWxzbyBwcm92aWRlIGEgbW9y ZSBmbGV4aWJsZSwgYWxiZWl0IGRpZmZpY3VsdCwgbWVjaGFuaXNtIHRvIGNvbnRyb2wNCit0aGlu Z3Mgd2l0aCBwcmVjaXNpb24gKFtbI2g6YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAtZGQxMWZkZDhi NTNmXVtDdXN0b21pemF0aW9uIE9wdGlvbnNdXSkuDQogDQogVGhpcyBzZWN0aW9uIGlzIG9mIGlu dGVyZXN0IG9ubHkgdG8gdXNlcnMgd2hvIGFyZSBwcmVwYXJlZCB0byBtYWludGFpbg0KIHRoZWly IG93biBsb2NhbCB0d2Vha3MgYW5kIHdobyBhcmUgd2lsbGluZyB0byBkZWFsIHdpdGggYW55IHBv c3NpYmxlDQogaW5jb21wYXRpYmlsaXRpZXMgYmV0d2VlbiB2ZXJzaW9uZWQgcmVsZWFzZXMgb2Yg dGhlIHRoZW1lcy4gIEFzIHN1Y2gsDQogdGhleSBhcmUgbGFiZWxsZWQgYXMgImRvLWl0LXlvdXJz ZWxmIiBvciAiRElZIi4NCiANCi0qKiBGdWxsIGFjY2VzcyB0byB0aGUgdGhlbWVzJyBwYWxldHRl DQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogVHdlYWsgY29sb3JzIChESVkpDQotOkRFU0NS SVBUSU9OOiBEZWNsYXJlIHlvdXIgb3duIHBhbGV0dGUgb3ZlcnJpZGVzDQotOkNVU1RPTV9JRDog aDoxNDg3YzYzMS1mNGZlLTQ5MGQtOGQ1OC1kNzJmZmEzYmQ0NzQNCi06RU5EOg0KKyoqIFBlci10 aGVtZSBjdXN0b21pemF0aW9uIHNldHRpbmdzIChESVkpDQorOnByb3BlcnRpZXM6DQorOmN1c3Rv bV9pZDogaDphODk3YjMwMi04ZTEwLTRhMjYtYmVhYi0zY2FhZWUxZTExOTMNCis6ZW5kOg0KKw0K K0lmIHlvdSBwcmVmZXIgdG8gbWFpbnRhaW4gZGlmZmVyZW50IGN1c3RvbWl6YXRpb24gb3B0aW9u cyBiZXR3ZWVuIHRoZQ0KK3R3byB0aGVtZXMsIGl0IGlzIGJlc3QgeW91IHdyaXRlIHlvdXIgb3du IGZ1bmN0aW9ucyB0aGF0IGZpcnN0IHNldCB0aG9zZQ0KK29wdGlvbnMgYW5kIHRoZW4gbG9hZCB0 aGUgcmVsZXZhbnQgdGhlbWUuICBUaGUgZm9sbG93aW5nIGNvZGUgZG9lcw0KK2V4YWN0bHkgdGhh dCBieSBzaW1wbHkgZGlmZmVyZW50aWF0aW5nIHRoZSB0d28gdGhlbWVzIG9uIHRoZSBjaG9pY2Ug b2YNCitib2xkIGNvbnN0cnVjdHMgaW4gY29kZSBzeW50YXggKGVuYWJsZWQgZm9yIG9uZSwgZGlz YWJsZWQgZm9yIHRoZQ0KK290aGVyKS4NCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKGRl ZnVuIG15LWRlbW8tbW9kdXMtb3BlcmFuZGkgKCkNCisgIChpbnRlcmFjdGl2ZSkNCisgIChzZXRx IG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMgdCkgOyBFTkFCTEUgYm9sZA0KKyAgKG1vZHVz LXRoZW1lcy1sb2FkLW9wZXJhbmRpKSkNCisNCisoZGVmdW4gbXktZGVtby1tb2R1cy12aXZlbmRp ICgpDQorICAoaW50ZXJhY3RpdmUpDQorICAoc2V0cSBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1 Y3RzIG5pbCkgOyBESVNBQkxFIGJvbGQNCisgIChtb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpKSkN CisNCisoZGVmdW4gbXktZGVtby1tb2R1cy10aGVtZXMtdG9nZ2xlICgpDQorICAoaWYgKGVxIChj YXIgY3VzdG9tLWVuYWJsZWQtdGhlbWVzKSAnbW9kdXMtb3BlcmFuZGkpDQorICAgICAgKG15LWRl bW8tbW9kdXMtdml2ZW5kaSkNCisgICAgKG15LWRlbW8tbW9kdXMtb3BlcmFuZGkpKSkNCisjK2Vu ZF9zcmMNCisNCitUaGVuIGFzc2lnbiB+bXktZGVtby1tb2R1cy10aGVtZXMtdG9nZ2xlfiB0byBh IGtleSBpbnN0ZWFkIG9mIHRoZQ0KK2VxdWl2YWxlbnQgdGhlIHRoZW1lcyBwcm92aWRlLg0KKw0K K0ZvciBhIG1vcmUgZWxhYm9yYXRlIGRlc2lnbiwgaXQgaXMgYmV0dGVyIHRvIGluc3BlY3QgdGhl IHNvdXJjZSBjb2RlIG9mDQorfm1vZHVzLXRoZW1lcy10b2dnbGV+IGFuZCByZWxldmFudCBmdW5j dGlvbnMuDQogDQotVGhlIHZhcmlhYmxlcyBhcmU6DQorKiogQ2FzZS1ieS1jYXNlIGZhY2Ugc3Bl Y3MgdXNpbmcgdGhlIHRoZW1lcycgcGFsZXR0ZSAoRElZKQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0 b21faWQ6IGg6MTQ4N2M2MzEtZjRmZS00OTBkLThkNTgtZDcyZmZhM2JkNDc0DQorOmVuZDoNCisj K2ZpbmRleDogbW9kdXMtdGhlbWVzLWNvbG9yDQorIytmaW5kZXg6IG1vZHVzLXRoZW1lcy1jb2xv ci1hbHRzDQorIytjaW5kZXg6IEV4dHJhY3RpbmcgaW5kaXZpZHVhbCBjb2xvcnMNCiANCi0rID1t b2R1cy1vcGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3Q9DQotKyA9bW9kdXMtdml2 ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3Q9DQorVGhpcyBzZWN0aW9uIGlzIGFib3V0 IHR3ZWFraW5nIGluZGl2aWR1YWwgZmFjZXMuICBJZiB5b3UgcGxhbiB0byBkbw0KK3RoaW5ncyBh dCBzY2FsZSwgY29uc3VsdCB0aGUgbmV4dCBzZWN0aW9uOiBbWyNoOjUxYmEzNTQ3LWI4YzgtNDBk Ni1iYTVhLTQ1ODY0NzdmZDRhZV1bU2V0IG11bHRpcGxlIGZhY2VzXV0uDQogDQotVXNlcnMgY2Fu IHNwZWNpZnkgYW4gYXNzb2NpYXRpb24gbGlzdCB0aGF0IG1hcHMgdGhlIG5hbWVzIG9mIGNvbG9y DQotdmFyaWFibGVzIHRvIGhleGFkZWNpbWFsIFJHQiB2YWx1ZXMgKGluIHRoZSBmb3JtIG9mID0j UlJHR0JCPSkuICBUaGlzDQotbWVhbnMgdGhhdCBpdCBpcyBwb3NzaWJsZSB0byBvdmVycmlkZSB0 aGUgZW50aXJlIHBhbGV0dGUgb3Igc3Vic2V0cw0KLXRoZXJlb2YgKHNlZSB0aGUgc291cmNlIGNv ZGUgZm9yIHRoZSBhY3R1YWwgbmFtZXMgYW5kIHZhbHVlcykuDQorV2UgYWxyZWFkeSBjb3ZlcmVk IGluIHByZXZpb3VzIHNlY3Rpb25zIGhvdyB0byB0b2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzDQor YW5kIGhvdyB0byBjb25maWd1cmUgb3B0aW9ucyBwcmlvciB0byBsb2FkaW5nLiAgV2UgYWxzbyBl eHBsYWluZWQgdGhhdA0KK3NvbWUgb2YgdGhlIGZ1bmN0aW9ucyBtYWRlIGF2YWlsYWJsZSB0byB1 c2VycyB3aWxsIGZpcmUgdXAgYSBob29rIHRoYXQNCitjYW4gYmUgdXNlZCB0byBwYXNzIHR3ZWFr cyBpbiB0aGUgcG9zdC10aGVtZS1sb2FkIHBoYXNlLg0KIA0KLUV4YW1wbGU6DQorTm93IGFzc3Vt ZSB5b3Ugd2lzaCB0byBjaGFuZ2UgYSBzaW5nbGUgZmFjZSwgc2F5LCB0aGUgfmN1cnNvcn4uICBB bmQgeW91DQord291bGQgbGlrZSB0byBnZXQgdGhlIHN0YW5kYXJkICJibHVlIiBjb2xvciB2YWx1 ZSBvZiB0aGUgYWN0aXZlIE1vZHVzDQordGhlbWUsIHdoZXRoZXIgaXQgaXMgTW9kdXMgT3BlcmFu ZGkgb3IgTW9kdXMgVml2ZW5kaS4gIFRvIGRvIHRoYXQsIHlvdQ0KK2NhbiB1c2UgdGhlIH5tb2R1 cy10aGVtZXMtY29sb3J+IGZ1bmN0aW9uLiAgSXQgYWNjZXB0cyBhIHN5bWJvbCB0aGF0IGlzDQor YXNzb2NpYXRlZCB3aXRoIGEgY29sb3IgaW4gfm1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnN+ IGFuZA0KK35tb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnN+LiAgTGlrZSB0aGlzOg0KIA0KICMr YmVnaW5fc3JjIGVtYWNzLWxpc3ANCi07OyBSZWRlZmluZSB0aGUgdmFsdWVzIG9mIHRob3NlIHRo cmVlIHZhcmlhYmxlcyBmb3IgdGhlIGdpdmVuIHRoZW1lDQotKHNldHEgbW9kdXMtdml2ZW5kaS10 aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QNCi0gICAgICAnKCgibWFnZW50YSIgLiAiI2ZmYWFi YiIpDQotICAgICAgICAoIm1hZ2VudGEtYWx0IiAuICIjZWU4OGZmIikNCi0gICAgICAgICgibWFn ZW50YS1hbHQtb3RoZXIiIC4gIiNiYmFhZmYiKSkpDQorKG1vZHVzLXRoZW1lcy1jb2xvciAnYmx1 ZSkNCiAjK2VuZF9zcmMNCiANCi1JZiB5b3Ugd2FudCB0byBiZSBjcmVhdGl2ZSwgeW91IGNhbiBk ZWZpbmUgYSBtaW5vciBtb2RlIHRoYXQgcmVmYXNoaW9ucw0KLXRoZSB0aGVtZXMgb24gZGVtYW5k LiAgVGhlIGZvbGxvd2luZyBpcyBhIG1pbm9yIG1vZGUgdGhhdCBnZXRzIGFjdGl2YXRlZA0KLW9u IGRlbWFuZC4gIFdlIGNvbWJpbmUgaXQgd2l0aCB0aGUgZnVuY3Rpb24gdG8gc3dpdGNoIGJldHdl ZW4gTW9kdXMNCi1PcGVyYW5kaSBhbmQgTW9kdXMgVml2ZW5kaSAoc2VlIFtbI2g6MmEwODk1YTYt MzI4MS00ZTU1LThhYTEtOGE3Mzc1NTU4MjFlXVtUb2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzIG9u IGRlbWFuZF1dIGZvcg0KLWEgYmFzaWMgY29tbWFuZCwgYW5kL29yIFtbKkNvbmZpZ3VyZSBvcHRp b25zIHByaW9yIHRvIGxvYWRpbmddW0NvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRpbmdd XSBmb3IgYSBtb3JlDQotY29tcHJlaGVuc2l2ZSBzZXR1cCkuDQorVGhlIGZ1bmN0aW9uIGFsd2F5 cyBleHRyYWN0cyB0aGUgY29sb3IgdmFsdWUgb2YgdGhlIGFjdGl2ZSBNb2R1cyB0aGVtZS4NCisN CisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKHByb2duDQorICAobG9hZC10aGVtZSAnbW9kdXMt b3BlcmFuZGkgdCkNCisgIChtb2R1cy10aGVtZXMtY29sb3IgJ2JsdWUpKSAgICAgICAgICAgOyAi IzAwMzFhOSIgZm9yIGBtb2R1cy1vcGVyYW5kaScNCisNCisocHJvZ24NCisgIChsb2FkLXRoZW1l ICdtb2R1cy12aXZlbmRpIHQpDQorICAobW9kdXMtdGhlbWVzLWNvbG9yICdibHVlKSkgICAgICAg ICAgIDsgIiMyZmFmZmYiIGZvciBgbW9kdXMtdml2ZW5kaScNCisjK2VuZF9zcmMNCisNCitEbyB7 e3trYmQoQy1oIHYpfX19IG9uIHRoZSBhZm9yZW1lbnRpb25lZCB2YXJpYWJsZXMgdG8gY2hlY2sg YWxsIHRoZSBhdmFpbGFibGUNCitzeW1ib2xzIHRoYXQgY2FuIGJlIHBhc3NlZCB0byB0aGlzIGZ1 bmN0aW9uLg0KKw0KK1dpdGggdGhhdCBncmFudGVkLCBsZXQgdXMgZXhwYW5kIHRoZSBleGFtcGxl IHRvIGFjdHVhbGx5IGNoYW5nZSB0aGUNCit+Y3Vyc29yfiBmYWNlJ3MgYmFja2dyb3VuZCBwcm9w ZXJ0eS4gIFdlIGVtcGxveSB0aGUgYnVpbHQtaW4gZnVuY3Rpb24gb2YNCit+c2V0LWZhY2UtYXR0 cmlidXRlfjoNCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKHNldC1mYWNlLWF0dHJpYnV0 ZSAnY3Vyc29yIG5pbCA6YmFja2dyb3VuZCAobW9kdXMtdGhlbWVzLWNvbG9yICdibHVlKSkNCisj K2VuZF9zcmMNCisNCitJZiB5b3UgZXZhbHVhdGUgdGhpcyBmb3JtLCB5b3VyIGN1cnNvciB3aWxs IGJlY29tZSBibHVlLiAgQnV0IGlmIHlvdQ0KK2NoYW5nZSB0aGVtZXMsIHN1Y2ggYXMgd2l0aCB+ bW9kdXMtdGhlbWVzLXRvZ2dsZX4sIHlvdXIgZWRpdHMgd2lsbCBiZQ0KK2xvc3QsIGJlY2F1c2Ug dGhlIG5ld2x5IGxvYWRlZCB0aGVtZSB3aWxsIG92ZXJyaWRlIHRoZSA9OmJhY2tncm91bmQ9DQor YXR0cmlidXRlIHlvdSBoYWQgYXNzaWduZWQgdG8gdGhhdCBmYWNlLg0KKw0KK0ZvciBzdWNoIGNo YW5nZXMgdG8gcGVyc2lzdCwgd2UgbmVlZCB0byBtYWtlIHRoZW0gYWZ0ZXIgbG9hZGluZyB0aGUN Cit0aGVtZS4gIFNvIHdlIHJlbHkgb24gfm1vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhv b2t+LCB3aGljaCBnZXRzDQorY2FsbGVkIGZyb20gfm1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRp fiwgfm1vZHVzLXRoZW1lcy1sb2FkLXZpdmVuZGl+LCBhcw0KK3dlbGwgYXMgdGhlIGNvbW1hbmQg fm1vZHVzLXRoZW1lcy10b2dnbGV+LiAgSGVyZSBpcyBhIHNhbXBsZSBmdW5jdGlvbiB0aGF0DQor dHdlYWtzIHR3byBmYWNlcyBhbmQgdGhlbiBnZXRzIGFkZGVkIHRvIHRoZSBob29rOg0KKw0KKyMr YmVnaW5fc3JjIGVtYWNzLWxpc3ANCisoZGVmdW4gbXktbW9kdXMtdGhlbWVzLWN1c3RvbS1mYWNl cyAoKQ0KKyAgKHNldC1mYWNlLWF0dHJpYnV0ZSAnY3Vyc29yIG5pbCA6YmFja2dyb3VuZCAobW9k dXMtdGhlbWVzLWNvbG9yICdibHVlKSkNCisgIChzZXQtZmFjZS1hdHRyaWJ1dGUgJ2ZvbnQtbG9j ay10eXBlLWZhY2UgbmlsIDpmb3JlZ3JvdW5kIChtb2R1cy10aGVtZXMtY29sb3IgJ21hZ2VudGEt YWx0KSkpDQorDQorKGFkZC1ob29rICdtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29r ICMnbXktbW9kdXMtdGhlbWVzLWN1c3RvbS1mYWNlcykNCisjK2VuZF9zcmMNCisNCitbWyNoOjg2 ZjY5MDZiLWYwOTAtNDZjYy05ODE2LTFmZThhZWIzODc3Nl1bQSB0aGVtZS1hZ25vc3RpYyBob29r IGZvciB0aGVtZSBsb2FkaW5nXV0uDQorDQorVXNpbmcgdGhpcyBwcmluY2lwbGUsIGl0IGlzIHBv c3NpYmxlIHRvIG92ZXJyaWRlIHRoZSBzdHlsZXMgb2YgZmFjZXMNCit3aXRob3V0IGhhdmluZyB0 byBmaW5kIGNvbG9yIHZhbHVlcyBmb3IgZWFjaCBjYXNlLg0KKw0KK0Fub3RoZXIgYXBwbGljYXRp b24gaXMgdG8gY29udHJvbCB0aGUgcHJlY2lzZSB3ZWlnaHQgZm9yIGJvbGQNCitjb25zdHJ1Y3Rz LiAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIHlvdXIgdHlwZWZhY2UgaGFzIHNldmVy YWwNCit2YXJpYW50cyBzdWNoIGFzICJoZWF2eSIsICJleHRyYWJvbGQiLCAic2VtaWJvbGQiLiAg QWxsIHlvdSBoYXZlIHRvIGRvDQoraXMgZWRpdCB0aGUgfmJvbGR+IGZhY2UuICBGb3IgZXhhbXBs ZToNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQotKGRlZmluZS1taW5vci1tb2RlIG1vZHVz LXRoZW1lcy1hbHQtbW9kZQ0KLSAgIk92ZXJyaWRlIE1vZHVzIHRoZW1lcycgcGFsZXR0ZSB2YXJp YWJsZXMgd2l0aCBjdXN0b20gdmFsdWVzLg0KKyhzZXQtZmFjZS1hdHRyaWJ1dGUgJ2JvbGQgbmls IDp3ZWlnaHQgJ3NlbWlib2xkKQ0KKyMrZW5kX3NyYw0KKw0KK1JlbWVtYmVyIHRvIHVzZSB0aGUg Y3VzdG9tIGZ1bmN0aW9uIGFuZCBob29rIGNvbWJvIHdlIGRlbW9uc3RyYXRlZA0KK2Fib3ZlLiAg QmVjYXVzZSB0aGUgdGhlbWVzIGRvIG5vdCBoYXJkLXdpcmUgYSBzcGVjaWZpYyB3ZWlnaHQsIHRo aXMNCitzaW1wbGUgZm9ybSBpcyBlbm91Z2ggdG8gY2hhbmdlIHRoZSB3ZWlnaHQgb2YgYWxsIGJv bGQgY29uc3RydWN0cw0KK3Rocm91Z2hvdXQgdGhlIGludGVyZmFjZS4NCisNCitGaW5hbGx5LCB0 aGVyZSBhcmUgY2FzZXMgd2hlcmUgeW91IHdhbnQgdG8gdHdlYWsgY29sb3JzIHRob3VnaCB3aXNo IHRvDQorYXBwbHkgZGlmZmVyZW50IG9uZXMgdG8gZWFjaCB0aGVtZSwgc2F5LCBhIGJsdWUgaHVl IGZvciBNb2R1cyBPcGVyYW5kaQ0KK2FuZCBhIHNoYWRlIG9mIHJlZCBmb3IgTW9kdXMgVml2ZW5k aS4gIFRvIHRoaXMgZW5kLCB3ZSBwcm92aWRlDQorfm1vZHVzLXRoZW1lcy1jb2xvci1hbHRzfiBh cyBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIHNhdmUgeW91IGZyb20gdGhlDQordHJvdWJsZSBv ZiB3cml0aW5nIHNlcGFyYXRlIHdyYXBwZXJzIGZvciBlYWNoIHRoZW1lLiAgSXQgc3RpbGwgcmV0 dXJucyBhDQorc2luZ2xlIHZhbHVlIGJ5IHF1ZXJ5aW5nIGVpdGhlciBvZiB+bW9kdXMtdGhlbWVz LW9wZXJhbmRpLWNvbG9yc34gYW5kDQorfm1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yc34sIG9u bHkgaGVyZSB5b3UgcGFzcyB0aGUgdHdvIGtleXMgeW91IHdhbnQsDQorZmlyc3QgZm9yIH5tb2R1 cy1vcGVyYW5kaX4gdGhlbiB+bW9kdXMtdml2ZW5kaX4uDQorDQorVGFrZSB0aGUgcHJldmlvdXMg ZXhhbXBsZSB3aXRoIHRoZSB+Y3Vyc29yfiBmYWNlOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxp c3ANCis7OyBCbHVlIGZvciBgbW9kdXMtb3BlcmFuZGknIGFuZCByZWQgZm9yIGBtb2R1cy12aXZl bmRpJw0KKyhzZXQtZmFjZS1hdHRyaWJ1dGUgJ2N1cnNvciBuaWwgOmJhY2tncm91bmQgKG1vZHVz LXRoZW1lcy1jb2xvci1hbHRzICdibHVlICdyZWQpKQ0KKyMrZW5kX3NyYw0KKw0KKyoqIEZhY2Ug c3BlY3MgYXQgc2NhbGUgdXNpbmcgdGhlIHRoZW1lcycgcGFsZXR0ZSAoRElZKQ0KKzpwcm9wZXJ0 aWVzOg0KKzpjdXN0b21faWQ6IGg6NTFiYTM1NDctYjhjOC00MGQ2LWJhNWEtNDU4NjQ3N2ZkNGFl DQorOmVuZDoNCisjK2ZpbmRleDogbW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzDQorIytjaW5kZXg6 IEV4dHJhY3RpbmcgY29sb3JzIGVuIG1hc3NlDQorDQorVGhlIGV4YW1wbGVzIGhlcmUgYXJlIGZv ciBsYXJnZSBzY2FsZSBvcGVyYXRpb25zLiAgRm9yIHNpbXBsZSwgb25lLW9mZg0KK3R3ZWFrcywg eW91IG1heSBwcmVmZXIgdGhlIGFwcHJvYWNoIGRvY3VtZW50ZWQgaW4gdGhlIHByZXZpb3VzIHNl Y3Rpb24NCisoW1sjaDoxNDg3YzYzMS1mNGZlLTQ5MGQtOGQ1OC1kNzJmZmEzYmQ0NzRdW0Nhc2Ut YnktY2FzZSBmYWNlIHNwZWNzIHVzaW5nIHRoZSB0aGVtZXMnIHBhbGV0dGVdXSkuDQorDQorVGhl IH5tb2R1cy10aGVtZXMtd2l0aC1jb2xvcnN+IG1hY3JvIGxldHMgeW91IHJldHJpZXZlIG11bHRp cGxlIGNvbG9yDQordmFsdWVzIGJ5IGVtcGxveWluZyB0aGUgYmFja3F1b3RlL2JhY2t0aWNrIGFu ZCBjb21tYSBub3RhdGlvbi4gIFRoZQ0KK3ZhbHVlcyBhcmUgc3RvcmVkIGluIHRoZSBhbGlzdHMg fm1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnN+IGFuZA0KK35tb2R1cy10aGVtZXMtdml2ZW5k aS1jb2xvcnN+LCB3aGlsZSB0aGUgbWFjcm8gYWx3YXlzIHF1ZXJpZXMgdGhhdCBvZiB0aGUNCith Y3RpdmUgTW9kdXMgdGhlbWUuDQorDQorSGVyZSBpcyBhbiBhYnN0cmFjdCBleGFtcGxlIHRoYXQg anVzdCByZXR1cm5zIGEgbGlzdCBvZiBjb2xvciB2YWx1ZXMNCit3aGlsZSB+bW9kdXMtb3BlcmFu ZGl+IGlzIGVuYWJsZWQ6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10aGVt ZXMtd2l0aC1jb2xvcnMNCisgIChsaXN0IGZnLW1haW4NCisgICAgICAgIGJsdWUtZmFpbnQNCisg ICAgICAgIG1hZ2VudGENCisgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyDQorICAgICAgICBjeWFu LWFsdC1vdGhlcg0KKyAgICAgICAgZmctc3BlY2lhbC1jb2xkDQorICAgICAgICBibHVlLWFsdA0K KyAgICAgICAgbWFnZW50YS1mYWludA0KKyAgICAgICAgY3lhbg0KKyAgICAgICAgZmctbWFpbg0K KyAgICAgICAgZ3JlZW4tZmFpbnQNCisgICAgICAgIHJlZC1hbHQtZmFpbnQNCisgICAgICAgIGJs dWUtYWx0LWZhaW50DQorICAgICAgICBmZy1zcGVjaWFsLXdhcm0NCisgICAgICAgIGN5YW4tYWx0 DQorICAgICAgICBibHVlKSkNCis7OyA9Pg0KKzs7ICgiIzAwMDAwMCIgIiMwMDJmODgiICIjNzIx MDQ1IiAiIzUzMTdhYyINCis7OyAgIiMwMDVhNWYiICIjMDkzMDYwIiAiIzI1NDRiYiIgIiM3NTJm NTAiDQorOzsgICIjMDA1MzhiIiAiIzAwMDAwMCIgIiMxMDQ0MTAiICIjNzAyZjAwIg0KKzs7ICAi IzAwM2Y3OCIgIiM1ZDMwMjYiICIjMzA1MTdmIiAiIzAwMzFhOSIpDQorIytlbmRfc3JjDQorDQor R2V0dGluZyBhIGxpc3Qgb2YgY29sb3JzIG1heSBoYXZlIGl0cyBhcHBsaWNhdGlvbnMsIHRob3Vn aCB3aGF0IHlvdSBhcmUNCittb3N0IGxpa2VseSBpbnRlcmVzdGVkIGluIGlzIGhvdyB0byB1c2Ug dGhvc2UgdmFyaWFibGVzIHRvIGNvbmZpZ3VyZQ0KK3NldmVyYWwgZmFjZXMgYXQgb25jZS4gIFRv IGRvIHNvIHdlIGNhbiByZWx5IG9uIHRoZSBidWlsdC1pbg0KK35jdXN0b20tc2V0LWZhY2VzfiBm dW5jdGlvbiwgd2hpY2ggc2V0cyBmYWNlIHNwZWNpZmljYXRpb25zIGZvciB0aGUNCitzcGVjaWFs ID11c2VyPSB0aGVtZS4gIFRoYXQgInRoZW1lIiBnZXRzIGFwcGxpZWQgb24gdG9wIG9mIHJlZ3Vs YXIgdGhlbWVzDQorbGlrZSB+bW9kdXMtb3BlcmFuZGl+IGFuZCB+bW9kdXMtdml2ZW5kaX4uDQor DQorVGhpcyBpcyBob3cgaXQgd29ya3M6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyht b2R1cy10aGVtZXMtd2l0aC1jb2xvcnMNCisgIChjdXN0b20tc2V0LWZhY2VzDQorICAgYChjdXJz b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUpKSkNCisgICBgKG1vZGUtbGluZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAg ICA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisgICBgKG1vZGUtbGluZS1pbmFj dGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKSkpDQor IytlbmRfc3JjDQogDQotVGhpcyBpcyBpbnRlbmRlZCBhcyBhIHByb29mLW9mLWNvbmNlcHQuICBJ dCBpcywgbm9uZXRoZWxlc3MsIGENCi1wZXJmZWN0bHkgYWNjZXNzaWJsZSBhbHRlcm5hdGl2ZSwg Y29uZm9ybWluZyB3aXRoIHRoZSBkZXNpZ24NCi1wcmluY2lwbGVzIG9mIHRoZSBNb2R1cyB0aGVt ZXMuICBJdCBzdGlsbCBpcyBub3QgYXMgZ29vZCBhcyB0aGUNCi1kZWZhdWx0IGNvbG9ycy4iDQor VGhlIGFib3ZlIHNuaXBwZXQgd2lsbCBpbW1lZGlhdGVseSByZWZhc2hpb24gdGhlIGZhY2VzIGl0 IG5hbWVzIG9uY2UgaXQNCitpcyBldmFsdWF0ZWQuICBIb3dldmVyLCBpZiB5b3Ugc3dpdGNoIGJl dHdlZW4gdGhlIE1vZHVzIHRoZW1lcywgc2F5LA0KK2Zyb20gfm1vZHVzLW9wZXJhbmRpfiB0byB+ bW9kdXMtdml2ZW5kaX4sIHRoZSBjb2xvcnMgd2lsbCBub3QgZ2V0IHVwZGF0ZWQgdG8NCittYXRj aCB0aG9zZSBvZiB0aGUgbmV3IHRoZW1lLiAgVG8gbWFrZSB0aGluZ3Mgd29yayBhY3Jvc3MgdGhl IHRoZW1lcywgd2UNCituZWVkIHRvIGVtcGxveSB0aGUgc2FtZSB0ZWNobmlxdWUgd2UgZGlzY3Vz c2VkIGluIHRoZSBwcmV2aW91cyBzZWN0aW9uLA0KK25hbWVseSwgdG8gcGFzcyBvdXIgY2hhbmdl cyBhdCB0aGUgcG9zdC10aGVtZS1sb2FkIHBoYXNlIHZpYSBhIGhvb2suDQorDQorVGhlIHRoZW1l cyBwcm92aWRlIHRoZSB+bW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9va34sIHdoaWNo IGdldHMNCitjYWxsZWQgZnJvbSB+bW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGl+LCB+bW9kdXMt dGhlbWVzLWxvYWQtdml2ZW5kaX4sIGFzDQord2VsbCBhcyB0aGUgY29tbWFuZCB+bW9kdXMtdGhl bWVzLXRvZ2dsZX4uICBXaXRoIHRoaXMga25vd2xlZGdlLCB5b3UgY2FuDQord3JhcCB0aGUgbWFj cm8gaW4gYSBmdW5jdGlvbiBhbmQgdGhlbiBhc3NpZ24gdGhhdCBmdW5jdGlvbiB0byB0aGUgaG9v ay4NCitUaHVzOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisoZGVmdW4gbXktbW9kdXMt dGhlbWVzLWN1c3RvbS1mYWNlcyAoKQ0KKyAgKG1vZHVzLXRoZW1lcy13aXRoLWNvbG9ycw0KKyAg ICAoY3VzdG9tLXNldC1mYWNlcw0KKyAgICAgYChjdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUpKSkNCisgICAgIGAobW9kZS1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ct bnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHllbGxv dy1udWFuY2VkLWZnKSkpDQorICAgICBgKG1vZGUtbGluZS1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpKSkpDQorDQorKGFkZC1ob29rICdt b2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rICMnbXktbW9kdXMtdGhlbWVzLWN1c3Rv bS1mYWNlcykNCisjK2VuZF9zcmMNCisNCitbWyNoOjg2ZjY5MDZiLWYwOTAtNDZjYy05ODE2LTFm ZThhZWIzODc3Nl1bQSB0aGVtZS1hZ25vc3RpYyBob29rIGZvciB0aGVtZSBsb2FkaW5nXV0uDQor DQorVG8gZGlzY292ZXIgdGhlIGZhY2VzIGRlZmluZWQgYnkgYWxsIGxvYWRlZCBsaWJyYXJpZXMs IHlvdSBtYXkgZG8NCit7e3trYmQoTS14IGxpc3QtZmFjZXMtZGlzcGxheSl9fX0uICBCZSB3YXJu ZWQgdGhhdCB3aGVuIHlvdSA9OmluaGVyaXQ9IGEgZmFjZQ0KK3lvdSBhcmUgaW50cm9kdWNpbmcg YW4gaW1wbGljaXQgZGVwZW5kZW5jeSwgc28gdHJ5IHRvIGF2b2lkIGRvaW5nIHNvIGZvcg0KK2xp YnJhcmllcyBvdGhlciB0aGFuIHRoZSBidWlsdC1pbiB7e3tmaWxlKGZhY2VzLmVsKX19fSAob3Ig YXQgbGVhc3QgdW5kZXJzdGFuZA0KK3RoYXQgdGhpbmdzIG1heSBicmVhayBpZiB5b3UgaW5oZXJp dCBmcm9tIGEgeWV0LXRvLWJlLWxvYWRlZCBmYWNlKS4NCisNCitBbHNvIGJlYXIgaW4gbWluZCB0 aGF0IHRoZXNlIGV4YW1wbGVzIGFyZSBtZWFudCB0byB3b3JrIHdpdGggdGhlIE1vZHVzDQordGhl bWVzLiAgSWYgeW91IGFyZSBjeWNsaW5nIGJldHdlZW4gbXVsdGlwbGUgdGhlbWVzIHlvdSBtYXkg ZW5jb3VudGVyDQordW5mb3Jlc2VlbiBpc3N1ZXMsIHN1Y2ggYXMgdGhlIGNvbG9ycyBvZiB0aGUg TW9kdXMgdGhlbWVzIGJlaW5nIGFwcGxpZWQNCit0byBhIG5vbi1Nb2R1cyBpdGVtLg0KKw0KK0Zp bmFsbHksIG5vdGUgdGhhdCB5b3UgY2FuIHN0aWxsIHVzZSBvdGhlciBmdW5jdGlvbnMgd2hlcmUg dGhvc2UgbWFrZQ0KK3NlbnNlLiAgRm9yIGV4YW1wbGUsIHRoZSB+bW9kdXMtdGhlbWVzLWNvbG9y LWFsdHN+IHRoYXQgd2FzIGRpc2N1c3NlZCBpbg0KK3RoZSBwcmV2aW91cyBzZWN0aW9uLiAgQWRh cHQgdGhlIGFib3ZlIGV4YW1wbGUgbGlrZSB0aGlzOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxp c3ANCisuLi4NCisobW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzDQorICAoY3VzdG9tLXNldC1mYWNl cw0KKyAgIGAoY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICwobW9kdXMtdGhlbWVzLWNvbG9y LWFsdHMgJ2JsdWUgJ2dyZWVuKSkpKQ0KKyAgIC4uLikpDQorIytlbmRfc3JjDQorDQorKiogT3Zl cnJpZGUgY29sb3JzIChESVkpDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDozMDdkOTVk ZC04ZGJkLTRlY2UtYTU0My0xMGFlODZmMTU1YTYNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10 aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzDQorIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy12 aXZlbmRpLWNvbG9yLW92ZXJyaWRlcw0KKyMrY2luZGV4OiBDaGFuZ2UgYSB0aGVtZSdzIGNvbG9y cw0KKw0KK1RoZSB0aGVtZXMgcHJvdmlkZSBhIG1lY2hhbmlzbSBmb3Igb3ZlcnJpZGluZyB0aGVp ciBjb2xvciB2YWx1ZXMuICBUaGlzDQoraXMgY29udHJvbGxlZCBieSB0aGUgdmFyaWFibGVzIH5t b2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzfiBhbmQNCit+bW9kdXMtdGhlbWVz LXZpdmVuZGktY29sb3Itb3ZlcnJpZGVzfiwgd2hpY2ggYXJlIGFsaXN0cyB0aGF0IHNob3VsZA0K K21pcnJvciBhIHN1YnNldCBvZiB0aGUgYXNzb2NpYXRpb25zIGluIH5tb2R1cy10aGVtZXMtb3Bl cmFuZGktY29sb3JzfiBhbmQNCit+bW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzfiByZXNwZWN0 aXZlbHkuICBBcyB3aXRoIGFsbCBjdXN0b21pc2F0aW9ucywNCitvdmVycmlkaW5nIG11c3QgYmUg ZG9uZSBiZWZvcmUgbG9hZGluZyB0aGUgYWZmZWN0ZWQgdGhlbWUuDQorDQorTGV0IHVzIGFwcHJv YWNoIHRoZSBwcmVzZW50IHRvcGljIG9uZSBzdGVwIGF0IGEgdGltZS4gIEhlcmUgaXMgYQ0KK3Np bXBsaWZpZWQgZXhjZXJwdCBvZiB0aGUgZGVmYXVsdCBwYWxldHRlIGZvciBNb2R1cyBPcGVyYW5k aSB3aXRoIHNvbWUNCitiYXNpYyBiYWNrZ3JvdW5kIHZhbHVlcyB0aGF0IGFwcGx5IHRvIGJ1ZmZl cnMgYW5kIHRoZSBtb2RlIGxpbmUNCisocmVtZW1iZXIgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHZh bHVlIHRvIGZpbmQgb3V0IGFsbCB0aGUgYXNzb2NpYXRpb25zDQordGhhdCBjYW4gYmUgb3ZlcnJp ZGRlbik6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhkZWZjb25zdCBtb2R1cy10aGVt ZXMtY29sb3JzLW9wZXJhbmRpDQorICAnKChiZy1tYWluIC4gIiNmZmZmZmYiKQ0KKyAgICAoYmct ZGltIC4gIiNmOGY4ZjgiKQ0KKyAgICAoYmctYWx0IC4gIiNmMGYwZjAiKQ0KKyAgICAoYmctYWN0 aXZlIC4gIiNkN2Q3ZDciKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiI2VmZWZlZiIpKSkNCisjK2Vu ZF9zcmMNCisNCitBcyBvbmUgY2FuIHRlbGwsIHdlIGJpbmQgYSBrZXkgdG8gYSBoZXhhZGVjaW1h bCBSR0IgY29sb3IgdmFsdWUuICBOb3cNCitzYXkgd2Ugd2lzaCB0byBvdmVycmlkZSB0aG9zZSBz cGVjaWZpYyB2YWx1ZXMgYW5kIGhhdmUgb3VyIGNoYW5nZXMNCitwcm9wYWdhdGUgdG8gYWxsIGZh Y2VzIHRoYXQgdXNlIHRob3NlIGtleXMuICBXZSBjb3VsZCB3cml0ZSBzb21ldGhpbmcNCitsaWtl IHRoaXMsIHdoaWNoIGFkZHMgYSBzdWJ0bGUgb2NocmUgdGludDoNCisNCisjK2JlZ2luX3NyYyBl bWFjcy1saXNwDQorKHNldHEgbW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9yLW92ZXJyaWRlcw0K KyAgICAgICcoKGJnLW1haW4gLiAiI2ZlZmNmNCIpDQorICAgICAgICAoYmctZGltIC4gIiNmYWY2 ZWYiKQ0KKyAgICAgICAgKGJnLWFsdCAuICIjZjdlZmU1IikNCisgICAgICAgIChiZy1hY3RpdmUg LiAiI2U4ZGZkMSIpDQorICAgICAgICAoYmctaW5hY3RpdmUgLiAiI2Y2ZWNlNSIpKSkNCisjK2Vu ZF9zcmMNCisNCitPbmNlIHRoaXMgaXMgZXZhbHVhdGVkLCBhbnkgc3Vic2VxdWVudCBsb2FkaW5n IG9mIH5tb2R1cy1vcGVyYW5kaX4gd2lsbA0KK3VzZSB0aG9zZSB2YWx1ZXMgaW5zdGVhZCBvZiB0 aGUgZGVmYXVsdHMuICBObyBmdXJ0aGVyIGludGVydmVudGlvbiBpcw0KK3JlcXVpcmVkLg0KKw0K K1RvIHJlc2V0IHRoZSBjaGFuZ2VzLCB3ZSBhcHBseSB0aGlzIGFuZCByZWxvYWQgdGhlIHRoZW1l Og0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisoc2V0cSBtb2R1cy10aGVtZXMtb3BlcmFu ZGktY29sb3Itb3ZlcnJpZGVzIG5pbCkNCisjK2VuZF9zcmMNCisNCitVc2VycyB3aG8gd2lzaCB0 byBsZXZlcmFnZSBzdWNoIGEgbWVjaGFuaXNtIGNhbiBvcHQgdG8gaW1wbGVtZW50IGl0DQorb24t ZGVtYW5kIGJ5IG1lYW5zIG9mIGEgZ2xvYmFsIG1pbm9yIG1vZGUuICBUaGUgZm9sbG93aW5nIHNu aXBwZXQgY292ZXJzDQorYm90aCB0aGVtZXMgYW5kIGV4cGFuZHMgdG8gc29tZSBtb3JlIGFzc29z aWF0aW9ucyBpbiB0aGUgcGFsZXR0ZToNCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKGRl ZmluZS1taW5vci1tb2RlIG15LW1vZHVzLXRoZW1lcy10aW50ZWQNCisgICJUd2VhayBzb21lIE1v ZHVzIHRoZW1lcyBjb2xvcnMuIg0KICAgOmluaXQtdmFsdWUgbmlsDQogICA6Z2xvYmFsIHQNCi0g IChpZiBtb2R1cy10aGVtZXMtYWx0LW1vZGUNCi0gICAgICAoc2V0cSBtb2R1cy1vcGVyYW5kaS10 aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QNCi0gICAgICAgICAgICAnKCgiYmctbWFpbiIgLiAi I2ZlZmNmNCIpDQotICAgICAgICAgICAgICAoImJnLWRpbSIgLiAiI2ZhZjZlZiIpDQotICAgICAg ICAgICAgICAoImJnLWFsdCIgLiAiI2Y3ZWZlNSIpDQotICAgICAgICAgICAgICAoImJnLWhsLWxp bmUiIC4gIiNmNGYwZTMiKQ0KLSAgICAgICAgICAgICAgKCJiZy1hY3RpdmUiIC4gIiNlOGRmZDEi KQ0KLSAgICAgICAgICAgICAgKCJiZy1pbmFjdGl2ZSIgLiAiI2Y2ZWNlNSIpDQotICAgICAgICAg ICAgICAoImJnLXJlZ2lvbiIgLiAiI2M2YmFiMSIpDQotICAgICAgICAgICAgICAoImJnLWhlYWRl ciIgLiAiI2VkZTNlMCIpDQotICAgICAgICAgICAgICAoImJnLXRhYi1iYXIiIC4gIiNkY2QzZDMi KQ0KLSAgICAgICAgICAgICAgKCJiZy10YWItYWN0aXZlIiAuICIjZmRmNmViIikNCi0gICAgICAg ICAgICAgICgiYmctdGFiLWluYWN0aXZlIiAuICIjYzhiYWI4IikNCi0gICAgICAgICAgICAgICgi ZmctdW5mb2N1c2VkIiAuICIjNTU1NTZmIikpDQotICAgICAgICAgICAgbW9kdXMtdml2ZW5kaS10 aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QNCi0gICAgICAgICAgICAnKCgiYmctbWFpbiIgLiAi IzEwMGIxNyIpDQotICAgICAgICAgICAgICAoImJnLWRpbSIgLiAiIzE2MTEyOSIpDQotICAgICAg ICAgICAgICAoImJnLWFsdCIgLiAiIzE4MTczMiIpDQotICAgICAgICAgICAgICAoImJnLWhsLWxp bmUiIC4gIiMxOTE2MjgiKQ0KLSAgICAgICAgICAgICAgKCJiZy1hY3RpdmUiIC4gIiMyODJlNDYi KQ0KLSAgICAgICAgICAgICAgKCJiZy1pbmFjdGl2ZSIgLiAiIzFhMWUzOSIpDQotICAgICAgICAg ICAgICAoImJnLXJlZ2lvbiIgLiAiIzM5M2E1MyIpDQotICAgICAgICAgICAgICAoImJnLWhlYWRl ciIgLiAiIzIwMjAzNyIpDQotICAgICAgICAgICAgICAoImJnLXRhYi1iYXIiIC4gIiMyNjJiNDEi KQ0KLSAgICAgICAgICAgICAgKCJiZy10YWItYWN0aXZlIiAuICIjMTIwZjE4IikNCi0gICAgICAg ICAgICAgICgiYmctdGFiLWluYWN0aXZlIiAuICIjM2EzYTVhIikNCi0gICAgICAgICAgICAgICgi ZmctdW5mb2N1c2VkIiAuICIjOWE5YWFiIikpKQ0KLSAgICAoc2V0cSBtb2R1cy1vcGVyYW5kaS10 aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QgbmlsDQotICAgICAgICAgIG1vZHVzLXZpdmVuZGkt dGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0IG5pbCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy10aGVt ZXMtdG9nZ2xlICgmb3B0aW9uYWwgYXJnKQ0KLSAgIlRvZ2dsZSBiZXR3ZWVuIGBtb2R1cy1vcGVy YW5kaScgYW5kIGBtb2R1cy12aXZlbmRpJyB0aGVtZXMuDQotDQotV2l0aCBvcHRpb25hbCBcXFt1 bml2ZXJzYWwtYXJndW1lbnRdIHByZWZpeCwgZW5hYmxlDQotYG1vZHVzLXRoZW1lcy1hbHQtbW9k ZScgZm9yIHRoZSBsb2FkZWQgdGhlbWUuIg0KLSAgKGludGVyYWN0aXZlICJQIikNCi0gIChpZiBh cmcNCi0gICAgICAobW9kdXMtdGhlbWVzLWFsdC1tb2RlIDEpDQotICAgIChtb2R1cy10aGVtZXMt YWx0LW1vZGUgLTEpKQ0KLSAgKGlmIChlcSAoY2FyIGN1c3RvbS1lbmFibGVkLXRoZW1lcykgJ21v ZHVzLW9wZXJhbmRpKQ0KLSAgICAgIChwcm9nbg0KLSAgICAgICAgKGRpc2FibGUtdGhlbWUgJ21v ZHVzLW9wZXJhbmRpKQ0KLSAgICAgICAgKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVuZGkgdCkpDQot ICAgIChkaXNhYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKQ0KLSAgICAobG9hZC10aGVtZSAnbW9k dXMtb3BlcmFuZGkgdCkpKQ0KKyAgKGlmIG15LW1vZHVzLXRoZW1lcy10aW50ZWQNCisgICAgICAo c2V0cSBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzDQorICAgICAgICAgICAg JygoYmctbWFpbiAuICIjZmVmY2Y0IikNCisgICAgICAgICAgICAgIChiZy1kaW0gLiAiI2ZhZjZl ZiIpDQorICAgICAgICAgICAgICAoYmctYWx0IC4gIiNmN2VmZTUiKQ0KKyAgICAgICAgICAgICAg KGJnLWhsLWxpbmUgLiAiI2Y0ZjBlMyIpDQorICAgICAgICAgICAgICAoYmctYWN0aXZlIC4gIiNl OGRmZDEiKQ0KKyAgICAgICAgICAgICAgKGJnLWluYWN0aXZlIC4gIiNmNmVjZTUiKQ0KKyAgICAg ICAgICAgICAgKGJnLXJlZ2lvbiAuICIjYzZiYWIxIikNCisgICAgICAgICAgICAgIChiZy1oZWFk ZXIgLiAiI2VkZTNlMCIpDQorICAgICAgICAgICAgICAoYmctdGFiLWJhciAuICIjZGNkM2QzIikN CisgICAgICAgICAgICAgIChiZy10YWItYWN0aXZlIC4gIiNmZGY2ZWIiKQ0KKyAgICAgICAgICAg ICAgKGJnLXRhYi1pbmFjdGl2ZSAuICIjYzhiYWI4IikNCisgICAgICAgICAgICAgIChmZy11bmZv Y3VzZWQgLiAiIzU1NTU2ZiIpKQ0KKyAgICAgICAgICAgIG1vZHVzLXRoZW1lcy12aXZlbmRpLWNv bG9yLW92ZXJyaWRlcw0KKyAgICAgICAgICAgICcoKGJnLW1haW4gLiAiIzEwMGIxNyIpDQorICAg ICAgICAgICAgICAoYmctZGltIC4gIiMxNjExMjkiKQ0KKyAgICAgICAgICAgICAgKGJnLWFsdCAu ICIjMTgxNzMyIikNCisgICAgICAgICAgICAgIChiZy1obC1saW5lIC4gIiMxOTE2MjgiKQ0KKyAg ICAgICAgICAgICAgKGJnLWFjdGl2ZSAuICIjMjgyZTQ2IikNCisgICAgICAgICAgICAgIChiZy1p bmFjdGl2ZSAuICIjMWExZTM5IikNCisgICAgICAgICAgICAgIChiZy1yZWdpb24gLiAiIzM5M2E1 MyIpDQorICAgICAgICAgICAgICAoYmctaGVhZGVyIC4gIiMyMDIwMzciKQ0KKyAgICAgICAgICAg ICAgKGJnLXRhYi1iYXIgLiAiIzI2MmI0MSIpDQorICAgICAgICAgICAgICAoYmctdGFiLWFjdGl2 ZSAuICIjMTIwZjE4IikNCisgICAgICAgICAgICAgIChiZy10YWItaW5hY3RpdmUgLiAiIzNhM2E1 YSIpDQorICAgICAgICAgICAgICAoZmctdW5mb2N1c2VkIC4gIiM5YTlhYWIiKSkpDQorICAgIChz ZXRxIG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVycmlkZXMgbmlsDQorICAgICAgICAg IG1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yLW92ZXJyaWRlcyBuaWwpKSkNCiAjK2VuZF9zcmMN CiANCi0qKiBGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMpDQotOlBST1BF UlRJRVM6DQotOkFMVF9USVRMRTogRm9udCBjb25maWdzIChESVkpDQotOkRFU0NSSVBUSU9OOiBP cHRpbWlzZSBmb3IgbWl4ZWQgdHlwZWZhY2UgYnVmZmVycw0KLTpDVVNUT01fSUQ6IGg6ZGVmY2Y0 ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5DQotOkVORDoNCitXaXRoIHRoaXMgaW4gcGxh Y2UsIG9uZSBjYW4gaW52b2tlIHt7e2tiZChNLXggbXktbW9kdXMtdGhlbWVzLXRpbnRlZCl9fX0g YW5kDQordGhlbiBsb2FkIHRoZSBNb2R1cyB0aGVtZSBvZiB0aGVpciBjaG9pY2UuICBUaGUgbmV3 IHBhbGV0dGUgc3Vic2V0IHdpbGwNCitjb21lIGludG8gZWZmZWN0OiBzdWJ0bGUgb2NocmUgdGlu dHMgZm9yIE1vZHVzIE9wZXJhbmRpIGFuZCBuaWdodCBza3kNCitzaGFkZXMgZm9yIE1vZHVzIFZp dmVuZGkuICBTd2l0Y2hpbmcgYmV0d2VlbiB0aGUgdHdvIHRoZW1lcywgc3VjaCBhcw0KK3dpdGgg e3t7a2JkKE0teCBtb2R1cy10aGVtZXMtdG9nZ2xlKX19fSB3aWxsIGFsc28gdXNlIHRoZSBvdmVy cmlkZXMuDQorDQorR2l2ZW4gdGhhdCB0aGlzIGlzIGEgdXNlci1sZXZlbCBjdXN0b21pc2F0aW9u LCBvbmUgaXMgZnJlZSB0byBpbXBsZW1lbnQNCit3aGF0ZXZlciBjb2xvciB2YWx1ZXMgdGhleSBk ZXNpcmUsIGV2ZW4gaWYgdGhlIHBvc3NpYmxlIGNvbWJpbmF0aW9ucw0KK2ZhbGwgYmVsb3cgdGhl IG1pbmltdW0gNzoxIGNvbnRyYXN0IHJhdGlvIHRoYXQgZ292ZXJucyB0aGUgZGVzaWduIG9mIHRo ZQ0KK3RoZW1lcyAodGhlIFdDQUcgQUFBIGxlZ2liaWxpdHkgc3RhbmRhcmQpLiAgUHJlZmVyZW5j ZXMgYXNpZGUsIGl0IGlzDQorYWR2aXNlZCB0byBpbnNwZWN0IHRoZSBzb3VyY2UgY29kZSBvZiB+ bW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9yc34gYW5kDQorfm1vZHVzLXRoZW1lcy12aXZlbmRp LWNvbG9yc34gdG8gcmVhZCB0aGUgaW5saW5lIGNvbW1lbnRhcnk6IGl0IGV4cGxhaW5zDQord2hh dCB0aGUgaW50ZW5kZWQgdXNlIG9mIGVhY2ggcGFsZXR0ZSBzdWJzZXQgaXMuDQorDQorRnVydGhl cm1vcmUsIHVzZXJzIG1heSBiZW5lZml0IGZyb20gdGhlIH5tb2R1cy10aGVtZXMtY29udHJhc3R+ IGZ1bmN0aW9uDQordGhhdCB3ZSBwcm92aWRlOiBbWyNoOjAyZTI1OTMwLWU3MWEtNDkzZC04Mjhh LTg5MDdmYzgwZjg3NF1bdGVzdCBjb2xvciBjb21iaW5hdGlvbnNdXS4gIEl0IG1lYXN1cmVzIHRo ZSBjb250cmFzdA0KK3JhdGlvIGJldHdlZW4gdHdvIGNvbG9yIHZhbHVlcywgc28gaXQgY2FuIGhl bHAgaW4gb3ZlcnJpZGluZyB0aGUgcGFsZXR0ZQ0KKyhvciBhIHN1YnNldCB0aGVyZW9mKSB3aXRo b3V0IG1ha2luZyB0aGUgZW5kIHJlc3VsdCBpbmFjY2Vzc2libGUuDQogDQotVGhlIHRoZW1lcyBh cmUgZGVzaWduZWQgdG8gY29wZSB3ZWxsIHdpdGggbWl4ZWQgZm9udCBzZXR0aW5ncyAoW1sjaDox MTVlNmMyMy1lZTM1LTRhMTYtOGNlZi1lMmZjYmIwOGUyOGJdW09wdGlvbg0KLWZvciBubyBmb250 IG1peGluZ11dKS4gIEN1cnJlbnRseSB0aGlzIGFwcGxpZXMgdG8gPW9yZy1tb2RlPSBhbmQNCi09 bWFya2Rvd24tbW9kZT0uDQorKiogRm9udCBjb25maWd1cmF0aW9ucyBmb3IgT3JnIGFuZCBvdGhl cnMgKERJWSkNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOmRlZmNmNGZjLThmYTgtNGMy OS1iMTJlLTcxMTk1ODJjYzkyOQ0KKzplbmQ6DQorIytjaW5kZXg6IEZvbnQgY29uZmlndXJhdGlv bnMNCisNCitUaGUgdGhlbWVzIGFyZSBkZXNpZ25lZCB0byBjb3BlIHdlbGwgd2l0aCBtaXhlZCBm b250IGNvbmZpZ3VyYXRpb25zLg0KKw0KK1tbI2g6MTE1ZTZjMjMtZWUzNS00YTE2LThjZWYtZTJm Y2JiMDhlMjhiXVtPcHRpb24gZm9yIG5vIGZvbnQgbWl4aW5nXV0uDQorDQorVGhpcyBtb3N0bHkg Y29uY2VybnMgfm9yZy1tb2RlfiBhbmQgfm1hcmtkb3duLW1vZGV+LCB0aG91Z2ggZXhwZWN0IHRv IGZpbmQNCitpdCBlbHNld2hlcmUgbGlrZSBpbiB+SW5mby1tb2Rlfi4NCiANCiBJbiBwcmFjdGlj ZSBpdCBtZWFucyB0aGF0IHRoZSB1c2VyIGNhbiBzYWZlbHkgb3B0IGZvciBhIG1vcmUNCiBwcm9z ZS1mcmllbmRseSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlIGFzIHRoZWlyIGRlZmF1 bHQsIHdoaWxlDQogbGV0dGluZyBzcGFjaW5nLXNlbnNpdGl2ZSBlbGVtZW50cyBsaWtlIHRhYmxl cyBhbmQgaW5saW5lIGNvZGUgYWx3YXlzDQotdXNlIGEgbW9ub3NwYWNlZCBmb250LCBieSBpbmhl cml0aW5nIGZyb20gdGhlID1maXhlZC1waXRjaD0gZmFjZS4NCit1c2UgYSBtb25vc3BhY2VkIGZv bnQsIGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgfmZpeGVkLXBpdGNofiBmYWNlLg0KIA0KLVVzZXJz IGNhbiB0cnkgdGhlIGJ1aWx0LWluID1NLXggdmFyaWFibGUtcGl0Y2gtbW9kZT0gdG8gc2VlIHRo ZSBlZmZlY3QgaW4NCi1hY3Rpb24uDQorVXNlcnMgY2FuIHRyeSB0aGUgYnVpbHQtaW4ge3t7a2Jk KE0teCB2YXJpYWJsZS1waXRjaC1tb2RlKX19fSB0byBzZWUgdGhlDQorZWZmZWN0IGluIGFjdGlv bi4NCiANCiBUbyBtYWtlIGV2ZXJ5dGhpbmcgdXNlIHlvdXIgZGVzaXJlZCBmb250IGZhbWlsaWVz LCB5b3UgbmVlZCB0byBjb25maWd1cmUNCi10aGUgPXZhcmlhYmxlLXBpdGNoPSAocHJvcG9ydGlv bmFsIHNwYWNpbmcpIGFuZCA9Zml4ZWQtcGl0Y2g9IChtb25vc3BhY2VkKQ0KK3RoZSB+dmFyaWFi bGUtcGl0Y2h+IChwcm9wb3J0aW9uYWwgc3BhY2luZykgYW5kIH5maXhlZC1waXRjaH4gKG1vbm9z cGFjZWQpDQogZmFjZXMgcmVzcGVjdGl2ZWx5LiAgSXQgbWF5IGFsc28gYmUgY29udmVuaWVudCB0 byBzZXQgeW91ciBtYWluIHR5cGVmYWNlDQotYnkgY29uZmlndXJpbmcgdGhlID1kZWZhdWx0PSBm YWNlIHRoZSBzYW1lIHdheS4NCitieSBjb25maWd1cmluZyB0aGUgfmRlZmF1bHR+IGZhY2UgdGhl IHNhbWUgd2F5Lg0KIA0KLVB1dCBzb21ldGhpbmcgbGlrZSB0aGlzIGluIHlvdXIgaW5pdGlhbGl6 YXRpb24gZmlsZSAobWFrZSBzdXJlIHRvIHJlYWQNCi10aGUgZG9jdW1lbnRhdGlvbiBvZiA9c2V0 LWZhY2UtYXR0cmlidXRlPSwgd2l0aCA9TS14IGRlc2NyaWJlLWZ1bmN0aW9uPSk6DQorUHV0IHNv bWV0aGluZyBsaWtlIHRoaXMgaW4geW91ciBpbml0aWFsaXphdGlvbiBmaWxlIChhbHNvIGNvbnNp ZGVyDQorcmVhZGluZyB0aGUgZG9jIHN0cmluZyBvZiB+c2V0LWZhY2UtYXR0cmlidXRlfik6DQog DQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KIDs7IE1haW4gdHlwZWZhY2UNCkBAIC0xMTk5LDUw ICsxNjY5LDM1IEBAICoqIEZvbnQgY29uZmlndXJhdGlvbnMgZm9yIE9yZyAoYW5kIG90aGVycykN CiANCiBOb3RlIHRoZSBkaWZmZXJlbmNlcyBpbiB0aGUgPTpoZWlnaHQ9IHByb3BlcnR5LiAgVGhl ID1kZWZhdWx0PSBmYWNlIG11c3QNCiBzcGVjaWZ5IGFuIGFic29sdXRlIHZhbHVlLCB3aGljaCBp cyB0aGUgcG9pbnQgc2l6ZSDDlyAxMC4gIFNvIGlmIHlvdSB3YW50DQotdG8gdXNlIGEgZm9udCBh dCBwb2ludCBzaXplID0xMT0sIHlvdSBzZXQgdGhlIGhlaWdodCBhdCA9MTEwPS5bZm46OiA9Omhl aWdodD0NCit0byB1c2UgYSBmb250IGF0IHBvaW50IHNpemUgPTExPSwgeW91IHNldCB0aGUgaGVp Z2h0IHRvID0xMTA9Lltmbjo6ID06aGVpZ2h0PQ0KIHZhbHVlcyBkbyBub3QgbmVlZCB0byBiZSBy b3VuZGVkIHRvIG11bHRpcGxlcyBvZiB0ZW46IHRoZSBsaWtlcyBvZiA9MTE1PQ0KIGFyZSBwZXJm ZWN0bHkgdmFsaWTigJRzb21lIHR5cGVmYWNlcyB3aWxsIGNoYW5nZSB0byBhY2NvdW50IGZvciB0 aG9zZQ0KIGZpbmVyIGluY3JlbWVudHMuXSAgV2hlcmVhcyBldmVyeSBvdGhlciBmYWNlIG11c3Qg aGF2ZSBhIHZhbHVlIHRoYXQgaXMNCiByZWxhdGl2ZSB0byB0aGUgZGVmYXVsdCwgcmVwcmVzZW50 ZWQgYXMgYSBmbG9hdGluZyBwb2ludCAoaWYgeW91IHVzZSBhbg0KLWludGVnZXIsIHNheSwgPTE1 PSB0aGVuIHRoYXQgbWVhbnMgYW4gYWJzb2x1dGUgaGVpZ2h0KS4gIFRoaXMgaXMgb2YNCi1wYXJh bW91bnQgaW1wb3J0YW5jZTogaXQgZW5zdXJlcyB0aGF0IGFsbCBmb250cyBjYW4gc2NhbGUgZ3Jh Y2VmdWxseQ0KLXdoZW4gdXNpbmcgc29tZXRoaW5nIGxpa2UgdGhlID10ZXh0LXNjYWxlLWFkanVz dD0gY29tbWFuZCB3aGljaCBvbmx5DQotb3BlcmF0ZXMgb24gdGhlIGJhc2UgZm9udCBzaXplIChp LmUuIHRoZSA9ZGVmYXVsdD0gZmFjZSdzIGFic29sdXRlDQotaGVpZ2h0KS4NCi0NCi1BbiBhbHRl cm5hdGl2ZSBzeW50YXggZm9yIHRoZSA9ZGVmYXVsdD0gZmFjZSwgaXMgdG8gcGFzcyBhbGwgdHlw ZWZhY2UNCi1wYXJhbWV0ZXJzIGRpcmVjdGx5IHRvIGEgPWZvbnQ9IHByb3BlcnR5Lltmbjo6IEhh cyB0aGUgYmVuZWZpdCBvZg0KLWFjY2VwdGluZyA9Zm9udGNvbmZpZz0gcGFyYW1ldGVycyAoR05V L0xpbnV4KSwgc3VjaCBhcyA9IkRlamFWdSBTYW5zDQotTW9uby0xMTpoaW50c3R5bGU9aGludHNs aWdodDphdXRvaGludD1mYWxzZSI9Lg0KLWh0dHBzOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0 d2FyZS9mb250Y29uZmlnL2ZvbnRjb25maWctdXNlci5odG1sXQ0KLU5vdGUgdGhhdCBoZXJlIHdl IHVzZSBhIHN0YW5kYXJkIHBvaW50IHNpemU6DQotDQotIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0K LShzZXQtZmFjZS1hdHRyaWJ1dGUgJ2RlZmF1bHQgbmlsIDpmb250ICJEZWphVnUgU2FucyBNb25v LTExIikNCi0jK2VuZF9zcmMNCi0NCi1BZ2FpbiwgcmVtZW1iZXIgdG8gb25seSBldmVyIHNwZWNp ZnkgYW4gYWJzb2x1dGUgaGVpZ2h0IGZvciB0aGUgPWRlZmF1bHQ9Lg0KLQ0KLSoqIE9yZyB1c2Vy IGZhY2VzIChESVkpDQotOlBST1BFUlRJRVM6DQotOkRFU0NSSVBUSU9OOiBFeHRlbmQgc3R5bGVz IGZvciBvcmctbW9kZSBrZXl3b3JkcyBhbmQgcHJpb3JpdGllcw0KLTpDVVNUT01fSUQ6IGg6ODlm MDY3OGQtYzVjMy00YTU3LWE1MjYtNjY4YjJiYjJkN2FkDQotOkVORDoNCi0NCi1Vc2VycyBvZiA9 b3JnLW1vZGU9IGhhdmUgdGhlIG9wdGlvbiB0byBjb25maWd1cmUgdmFyaW91cyBrZXl3b3JkcyBh bmQNCitpbnRlZ2VyLCB0aGVuIHRoYXQgbWVhbnMgYW4gYWJzb2x1dGUgaGVpZ2h0KS4gIFRoaXMg aXMgb2YgcGFyYW1vdW50DQoraW1wb3J0YW5jZTogaXQgZW5zdXJlcyB0aGF0IGFsbCBmb250cyBj YW4gc2NhbGUgZ3JhY2VmdWxseSB3aGVuIHVzaW5nDQorc29tZXRoaW5nIGxpa2UgdGhlIH50ZXh0 LXNjYWxlLWFkanVzdH4gY29tbWFuZCB3aGljaCBvbmx5IG9wZXJhdGVzIG9uIHRoZQ0KK2Jhc2Ug Zm9udCBzaXplIChpLmUuIHRoZSB+ZGVmYXVsdH4gZmFjZSdzIGFic29sdXRlIGhlaWdodCkuDQor DQorKiogQ3VzdG9tIE9yZyB1c2VyIGZhY2VzIChESVkpDQorOnByb3BlcnRpZXM6DQorOmN1c3Rv bV9pZDogaDo4OWYwNjc4ZC1jNWMzLTRhNTctYTUyNi02NjhiMmJiMmQ3YWQNCis6ZW5kOg0KKyMr Y2luZGV4OiBPcmcgZXh0cmEgZmFjZXMNCisNCitVc2VycyBvZiB+b3JnLW1vZGV+IGhhdmUgdGhl IG9wdGlvbiB0byBjb25maWd1cmUgdmFyaW91cyBrZXl3b3JkcyBhbmQNCiBwcmlvcml0eSBjb29r aWVzIHRvIGJldHRlciBtYXRjaCB0aGVpciB3b3JrZmxvdy4gIFVzZXIgb3B0aW9ucyBhcmUNCi09 b3JnLXRvZG8ta2V5d29yZC1mYWNlcz0gYW5kID1vcmctcHJpb3JpdHktZmFjZXM9Lg0KK35vcmct dG9kby1rZXl3b3JkLWZhY2VzfiBhbmQgfm9yZy1wcmlvcml0eS1mYWNlc34uDQogDQotQXMgdGhv c2UgYXJlIG1lYW50IHRvIGJlIGN1c3RvbSBmYWNlcywgaXQgd291bGQgYmUgZnV0aWxlIHRvIGhh dmUgdGhlDQotdGhlbWVzIHRyeSB0byBndWVzcyB3aGF0IGVhY2ggdXNlciB3b3VsZCB3YW50IHRv IHVzZSwgd2hpY2gga2V5d29yZHMgdG8NCi10YXJnZXQsIGFuZCBzbyBvbi4gIEluc3RlYWQsIHdl IGNhbiBwcm92aWRlIGd1aWRlbGluZXMgb24gaG93IHRvDQotY3VzdG9taXplIHRoaW5ncyB0byBv bmUncyBsaWtpbmcgd2l0aCB0aGUgaW50ZW50IG9mIHJldGFpbmluZyB0aGUNCi1vdmVyYWxsIGFl c3RoZXRpY3Mgb2YgdGhlIHRoZW1lLg0KK0FzIHRob3NlIGFyZSBtZWFudCB0byBiZSBjdXN0b20g ZmFjZXMsIGl0IGlzIGZ1dGlsZSB0byBoYXZlIHRoZSB0aGVtZXMNCitndWVzcyB3aGF0IGVhY2gg dXNlciB3YW50cyB0byB1c2UsIHdoaWNoIGtleXdvcmRzIHRvIHRhcmdldCwgYW5kIHNvIG9uLg0K K0luc3RlYWQsIHdlIGNhbiBwcm92aWRlIGd1aWRlbGluZXMgb24gaG93IHRvIGN1c3RvbWl6ZSB0 aGluZ3MgdG8gb25lJ3MNCitsaWtpbmcgd2l0aCB0aGUgaW50ZW50IG9mIHJldGFpbmluZyB0aGUg b3ZlcmFsbCBhZXN0aGV0aWMgb2YgdGhlIHRoZW1lcy4NCiANCiBQbGVhc2UgYmVhciBpbiBtaW5k IHRoYXQgdGhlIGVuZCByZXN1bHQgb2YgdGhvc2UgaXMgbm90IGNvbnRyb2xsZWQgYnkNCi10aGUg YWN0aXZlIHRoZW1lIGJ1dCBieSBob3cgT3JnIG1hcHMgZmFjZXMgdG8gaXRzIGNvbnN0cnVjdHMu ICBFZGl0aW5nDQotdGhvc2Ugd2hpbGUgPW9yZy1tb2RlPSBpcyBhY3RpdmUgcmVxdWlyZXMgPU0t eCBvcmctbW9kZS1yZXN0YXJ0PSBmb3IgY2hhbmdlcw0KLXRvIHRha2UgZWZmZWN0Lg0KK3RoZSBh Y3RpdmUgTW9kdXMgdGhlbWUgYnV0IGJ5IGhvdyBPcmcgbWFwcyBmYWNlcyB0byBpdHMgY29uc3Ry dWN0cy4NCitFZGl0aW5nIHRob3NlIHdoaWxlIH5vcmctbW9kZX4gaXMgYWN0aXZlIHJlcXVpcmVz IHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZQ0KK21vZGUgd2l0aCB7e3trYmQoTS14IG9yZy1tb2Rl LXJlc3RhcnQpfX19IGZvciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0Lg0KIA0KIExldCB1cyBhc3N1 bWUgeW91IHdpc2ggdG8gdmlzdWFsbHkgZGlmZmVyZW50aWF0ZSB5b3VyIGtleXdvcmRzLiAgWW91 DQogaGF2ZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KQEAgLTEyNTcsNyArMTcxMiw3IEBAICoqIE9y ZyB1c2VyIGZhY2VzIChESVkpDQogDQogWW91IGNvdWxkIHRoZW4gdXNlIGEgdmFyaWFudCBvZiB0 aGUgZm9sbG93aW5nIHRvIGluaGVyaXQgZnJvbSBhIGZhY2UNCiB0aGF0IHVzZXMgdGhlIHN0eWxl cyB5b3Ugd2FudCBhbmQgYWxzbyB0byBwcmVzZXJ2ZSB0aGUgcHJvcGVydGllcw0KLWFwcGxpZWQg YnkgdGhlID1vcmctdG9kbz0gZmFjZToNCithcHBsaWVkIGJ5IHRoZSB+b3JnLXRvZG9+IGZhY2U6 DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KIChzZXRxIG9yZy10b2RvLWtleXdvcmQtZmFj ZXMNCkBAIC0xMjY3LDEwICsxNzIyLDEwIEBAICoqIE9yZyB1c2VyIGZhY2VzIChESVkpDQogIytl bmRfc3JjDQogDQogVGhpcyB3aWxsIHJlZmFzaGlvbiB0aGUga2V5d29yZHMgeW91IHNwZWNpZnks IHdoaWxlIGxldHRpbmcgdGhlIG90aGVyDQotaXRlbXMgaW4gPW9yZy10b2RvLWtleXdvcmRzPSB1 c2UgdGhlaXIgb3JpZ2luYWwgc3R5bGVzICh3aGljaCBhcmUgZGVmaW5lZA0KLWluIHRoZSA9b3Jn LXRvZG89IGFuZCA9b3JnLWRvbmU9IGZhY2VzKS4NCitpdGVtcyBpbiB+b3JnLXRvZG8ta2V5d29y ZHN+IHVzZSB0aGVpciBvcmlnaW5hbCBzdHlsZXMgKHdoaWNoIGFyZSBkZWZpbmVkDQoraW4gdGhl IH5vcmctdG9kb34gYW5kIH5vcmctZG9uZX4gZmFjZXMpLg0KIA0KLUlmIHlvdSB3YW50IGJhY2sg dGhlIGRlZmF1bHRzLCB0cnkgc3BlY2lmeWluZyBqdXN0IHRoZSA9b3JnLXRvZG89IGZhY2U6DQor SWYgeW91IHdhbnQgYmFjayB0aGUgZGVmYXVsdHMsIHRyeSBzcGVjaWZ5aW5nIGp1c3QgdGhlIH5v cmctdG9kb34gZmFjZToNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQogKHNldHEgb3JnLXRv ZG8ta2V5d29yZC1mYWNlcw0KQEAgLTEyODIsNyArMTczNyw3IEBAICoqIE9yZyB1c2VyIGZhY2Vz IChESVkpDQogV2hlbiB5b3UgaW5oZXJpdCBmcm9tIG11bHRpcGxlIGZhY2VzLCB5b3UgbmVlZCB0 byBxdW90ZSB0aGUgbGlzdCBhcw0KIHNob3duIGZ1cnRoZXIgYWJvdmUuICBUaGUgb3JkZXIgaXMg aW1wb3J0YW50OiB0aGUgbGFzdCBpdGVtIGlzIGFwcGxpZWQNCiBvdmVyIHRoZSBwcmV2aW91cyBv bmVzLiAgSWYgeW91IGRvIG5vdCB3YW50IHRvIGJsZW5kIG11bHRpcGxlIGZhY2VzLCB5b3UNCi1k byBub3QgbmVlZCBhIHF1b3RlZCBsaXN0LiAgQSBwYXR0ZXJuIG9mID1rZXl3b3JkIC4gZmFjZT0g d291bGQgc3VmZmljZS4NCitkbyBub3QgbmVlZCBhIHF1b3RlZCBsaXN0LiAgQSBwYXR0ZXJuIG9m ID1rZXl3b3JkIC4gZmFjZT0gd2lsbCBzdWZmaWNlLg0KIA0KIEJvdGggYXBwcm9hY2hlcyBjYW4g YmUgdXNlZCBzaW11bHRhbmVvdXNseSwgYXMgaWxsdXN0cmF0ZWQgaW4gdGhpcw0KIGNvbmZpZ3Vy YXRpb24gb2YgdGhlIHByaW9yaXR5IGNvb2tpZXM6DQpAQCAtMTI5NSwyOSArMTc1MCwxODIgQEAg KiogT3JnIHVzZXIgZmFjZXMgKERJWSkNCiAjK2VuZF9zcmMNCiANCiBUbyBmaW5kIGFsbCB0aGUg ZmFjZXMgdGhhdCBhcmUgbG9hZGVkIGluIHlvdXIgY3VycmVudCBFbWFjcyBzZXNzaW9uLCB1c2UN Ci09TS14IGxpc3QtZmFjZXMtZGlzcGxheT0uICBBbHNvIHRyeSA9TS14IGRlc2NyaWJlLXZhcmlh YmxlPSBhbmQgdGhlbiBzcGVjaWZ5DQotdGhlIG5hbWUgb2YgZWFjaCBvZiB0aG9zZSBPcmcgdmFy aWFibGVzIGRlbW9uc3RyYXRlZCBhYm92ZS4gIFRoZWlyDQotZG9jdW1lbnRhdGlvbiBzdHJpbmdz IHdpbGwgb2ZmZXIgeW91IGZ1cnRoZXIgZ3VpZGFuY2UuDQore3t7a2JkKE0teCBsaXN0LWZhY2Vz LWRpc3BsYXkpfX19LiAgVHJ5IHt7e2tiZChNLXggZGVzY3JpYmUtdmFyaWFibGUpfX19IGFzIHdl bGwgYW5kDQordGhlbiBzcGVjaWZ5IHRoZSBuYW1lIG9mIGVhY2ggb2YgdGhvc2UgT3JnIHZhcmlh YmxlcyBkZW1vbnN0cmF0ZWQgYWJvdmUuDQorVGhlaXIgZG9jdW1lbnRhdGlvbiBzdHJpbmdzIHdp bGwgb2ZmZXIgeW91IGZ1cnRoZXIgZ3VpZGFuY2UuDQorDQorUmVjYWxsIHRoYXQgdGhlIHRoZW1l cyBsZXQgeW91IHJldHJpZXZlIGEgY29sb3IgZnJvbSB0aGVpciBwYWxldHRlLiAgRG8NCitpdCBp ZiB5b3UgcGxhbiB0byBjb250cm9sIGZhY2UgYXR0cmlidXRlcy4NCisNCitbWyNoOjE0ODdjNjMx LWY0ZmUtNDkwZC04ZDU4LWQ3MmZmYTNiZDQ3NF1bQ3VzdG9tIGZhY2Ugc3BlY3MgdXNpbmcgdGhl IHRoZW1lcycgcGFsZXR0ZV1dLg0KKw0KK1tbI2g6MDJlMjU5MzAtZTcxYS00OTNkLTgyOGEtODkw N2ZjODBmODc0XVtDaGVjayBjb2xvciBjb21iaW5hdGlvbnNdXS4NCisNCisqKiBNZWFzdXJlIGNv bG9yIGNvbnRyYXN0IChESVkpDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDowMmUyNTkz MC1lNzFhLTQ5M2QtODI4YS04OTA3ZmM4MGY4NzQNCis6ZW5kOg0KKyMrZmluZGV4OiBtb2R1cy10 aGVtZXMtY29udHJhc3QNCisjK2ZpbmRleDogbW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYQ0KKyMr Y2luZGV4OiBDb2xvciBjb250cmFzdA0KKw0KK1RoZSB0aGVtZXMgcHJvdmlkZSB0aGUgZnVuY3Rp b25zIH5tb2R1cy10aGVtZXMtd2NhZy1mb3JtdWxhfiBhbmQNCit+bW9kdXMtdGhlbWVzLWNvbnRy YXN0fi4gIFRoZSBmb3JtZXIgaXMgYSBkaXJlY3QgaW1wbGVtZW50YXRpb24gb2YgdGhlDQorV0NB RyBmb3JtdWxhOiA8aHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTguaHRtbD4u ICBJdA0KK2NhbGN1bGF0ZXMgdGhlIHJlbGF0aXZlIGx1bWluYW5jZSBvZiBhIGNvbG9yIHZhbHVl IHRoYXQgaXMgZXhwcmVzc2VkIGluDQoraGV4YWRlY2ltYWwgUkdCIG5vdGF0aW9uLiAgV2hpbGUg dGhlIGxhdHRlciBmdW5jdGlvbiBpcyBqdXN0IGENCitjb252ZW5pZW50IHdyYXBwZXIgZm9yIGNv bXBhcmluZyB0aGUgcmVsYXRpdmUgbHVtaW5hbmNlIGJldHdlZW4gdHdvDQorY29sb3JzLg0KKw0K K0luIHByYWN0aWNlLCBvbmUgbmVlZHMgdG8gd29yayBvbmx5IHdpdGggfm1vZHVzLXRoZW1lcy1j b250cmFzdH4uICBJdA0KK2FjY2VwdHMgdHdvIGNvbG9yIHZhbHVlcyBhbmQgcmV0dXJucyB0aGVp ciBjb250cmFzdCByYXRpby4gIFZhbHVlcyByYW5nZQ0KK2Zyb20gMSB0byAyMSAobG93ZXN0IHRv IGhpZ2hlc3QpLiAgVGhlIHRoZW1lcyBhcmUgZGVzaWduZWQgdG8gYWx3YXlzIGJlDQorZXF1YWwg b3IgaGlnaGVyIHRoYW4gNyBmb3IgZWFjaCBjb21iaW5hdGlvbiBvZiBiYWNrZ3JvdW5kIGFuZCBm b3JlZ3JvdW5kDQordGhhdCB0aGV5IHVzZSAodGhpcyBpcyB0aGUgV0NBRyBBQUEgc3RhbmRhcmQt LS10aGUgbW9zdCBkZW1hbmRpbmcgb2YgaXRzDQora2luZCkuDQorDQorQSBjb3VwbGUgb2YgZXhh bXBsZXMgKHJvdW5kZWQgbnVtYmVycyk6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKzs7 IFB1cmUgd2hpdGUgd2l0aCBwdXJlIGdyZWVuDQorKG1vZHVzLXRoZW1lcy1jb250cmFzdCAiI2Zm ZmZmZiIgIiMwMGZmMDAiKQ0KKzs7ID0+IDEuMzcNCis7OyBUaGF0IGlzIGFuIG91dHJpZ2h0IGlu YWNjZXNzaWJsZSBjb21ibw0KKw0KKzs7IFB1cmUgYmxhY2sgd2l0aCBwdXJlIGdyZWVuDQorKG1v ZHVzLXRoZW1lcy1jb250cmFzdCAiIzAwMDAwMCIgIiMwMGZmMDAiKQ0KKzs7ID0+IDE1LjMNCis7 OyBUaGF0IGlzIGlzIGEgaGlnaGx5IGFjY2Vzc2libGUgY29tYm8NCisjK2VuZF9zcmMNCisNCitJ dCBkb2VzIG5vdCBtYXR0ZXIgd2hpY2ggY29sb3IgdmFsdWUgY29tZXMgZmlyc3QuICBUaGUgcmF0 aW8gaXMgYWx3YXlzDQordGhlIHNhbWUuDQorDQorSWYgb25lIGRvZXMgbm90IHdpc2ggdG8gcmVh ZCBhbGwgdGhlIGRlY2ltYWwgcG9pbnRzLCBpdCBpcyBwb3NzaWJsZSB0bw0KK3RyeSBzb21ldGhp bmcgbGlrZSB0aGlzOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisoZm9ybWF0ICIlMC4y ZiIgKG1vZHVzLXRoZW1lcy1jb250cmFzdCAiIzAwMDAwMCIgIiMwMGZmMDAiKSkNCisjK2VuZF9z cmMNCisNCitXaGlsZSBpdCBpcyBmaW5lIHRvIHBlcmZvcm0gc3VjaCBjYWxjdWxhdGlvbnMgb24g YSBjYXNlLWJ5LWNhc2UgYmFzaXMsDQoraXQgaXMgcHJlZmVyYWJsZSB0byBpbXBsZW1lbnQgZm9y bXVsYXMgYW5kIHRhYmxlcyBmb3IgbW9yZSBkZW1hbmRpbmcNCit0YXNrcy4gIFN1Y2ggaW5zdHJ1 bWVudHMgYXJlIHByb3ZpZGVkIGJ5IH5vcmctbW9kZX4gb3Igfm9yZ3RibC1tb2RlfiwgYm90aA0K K29mIHdoaWNoIGFyZSBidWlsdCBpbnRvIEVtYWNzLiAgQmVsb3cgaXMgc3VjaCBhIHRhYmxlIHRo YXQgZGVyaXZlcyB0aGUNCitjb250cmFzdCByYXRpbyBvZiBhbGwgY29sb3JzIGluIHRoZSBmaXJz dCBjb2x1bW4gKHB1cmUgcmVkLCBncmVlbiwgYmx1ZSkNCityZWxhdGl2ZSB0byB0aGUgY29sb3Ig c3BlY2lmaWVkIGluIHRoZSBmaXJzdCByb3cgb2YgdGhlIHNlY29uZCBjb2x1bW4NCisocHVyZSB3 aGl0ZSkgYW5kIHJvdW5kcyB0aGUgcmVzdWx0czoNCisNCisjK2JlZ2luX2V4YW1wbGUNCit8ICAg ICAgICAgfCAjZmZmZmZmIHwNCit8LS0tLS0tLS0tKy0tLS0tLS0tLXwNCit8ICNmZjAwMDAgfCAg ICA0LjAwIHwNCit8ICMwMGZmMDAgfCAgICAxLjM3IHwNCit8ICMwMDAwZmYgfCAgICA4LjU5IHwN CisjK3RibGZtOiAkMj0nKG1vZHVzLXRoZW1lcy1jb250cmFzdCAkMSBAMSQyKTslMC4yZg0KKyMr ZW5kX2V4YW1wbGUNCisNCitUbyBtZWFzdXJlIGNvbG9yIGNvbnRyYXN0IG9uZSBuZWVkcyB0byBz dGFydCBmcm9tIGEga25vd24gdmFsdWUuICBUaGlzDQordHlwaWNhbGx5IGlzIHRoZSBiYWNrZ3Jv dW5kLiAgVGhlIE1vZHVzIHRoZW1lcyBkZWZpbmUgYW4gZXhwYW5kZWQNCitwYWxldHRlIGluIGxh cmdlIHBhcnQgYmVjYXVzZSBjZXJ0YWluIGNvbG9ycyBhcmUgb25seSBtZWFudCB0byBiZSB1c2Vk DQoraW4gY29tYmluYXRpb24gd2l0aCBzb21lIG90aGVycy4gIENvbnN1bHQgdGhlIHNvdXJjZSBj b2RlIGZvciB0aGUNCittaW51dGlhIGFuZCByZWxldmFudCBjb21tZW50YXJ5Lg0KKw0KK1N1Y2gg a25vd2xlZGdlIG1heSBwcm92ZSB2YWx1YWJsZSB3aGlsZSBhdHRlbXB0aW5nIHRvIG92ZXJyaWRl IHNvbWUgb2YNCit0aGUgdGhlbWVzJyBjb2xvcnM6IFtbI2g6MzA3ZDk1ZGQtOGRiZC00ZWNlLWE1 NDMtMTBhZTg2ZjE1NWE2XVtPdmVycmlkZSBjb2xvcnNdXS4NCisNCisqKiBMb2FkIHRoZW1lIGRl cGVuZGluZyBvbiB0aW1lIG9mIGRheQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MWQx ZWY0YjQtODYwMC00YTA5LTk5M2MtNmRlM2FmMGRkZDI2DQorOmVuZDoNCisNCitXaGlsZSB3ZSBk byBwcm92aWRlIH5tb2R1cy10aGVtZXMtdG9nZ2xlfiB0byBtYW51YWxseSBzd2l0Y2ggYmV0d2Vl biB0aGUNCit0aGVtZXMsIHVzZXJzIG1heSBhbHNvIHNldCB1cCB0aGVpciBzeXN0ZW0gdG8gcGVy Zm9ybSBzdWNoIGEgdGFzaw0KK2F1dG9tYXRpY2FsbHkgYXQgc3VucmlzZSBhbmQgc3Vuc2V0Lg0K Kw0KK1RoaXMgY2FuIGJlIGFjY29tcGxpc2hlZCBieSBzcGVjaWZ5aW5nIHRoZSBjb29yZGluYXRl cyBvZiBvbmUncyBsb2NhdGlvbg0KK3VzaW5nIHRoZSBidWlsdC1pbiB7e3tmaWxlKHNvbGFyLmVs KX19fSBhbmQgdGhlbiBjb25maWd1cmluZyB0aGUgPWNpcmNhZGlhbj0NCitwYWNrYWdlOg0KKw0K KyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisodXNlLXBhY2thZ2Ugc29sYXIgICAgICAgICAgICAg ICAgICAgICAgOyBidWlsdC1pbg0KKyAgOmNvbmZpZw0KKyAgKHNldHEgY2FsZW5kYXItbGF0aXR1 ZGUgMzUuMTcNCisgICAgICAgIGNhbGVuZGFyLWxvbmdpdHVkZSAzMy4zNikpDQorDQorKHVzZS1w YWNrYWdlIGNpcmNhZGlhbiAgICAgICAgICAgICAgICAgIDsgeW91IG5lZWQgdG8gaW5zdGFsbCB0 aGlzDQorICA6ZW5zdXJlDQorICA6YWZ0ZXIgc29sYXINCisgIChzZXRxIGNpcmNhZGlhbi10aGVt ZXMgJygoOnN1bnJpc2UgLiBtb2R1cy1vcGVyYW5kaSkNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAoOnN1bnNldCAgLiBtb2R1cy12aXZlbmRpKSkpDQorICAoY2lyY2FkaWFuLXNldHVwKSkN CisjK2VuZF9zcmMNCisNCisqKiBBIHRoZW1lLWFnbm9zdGljIGhvb2sgZm9yIHRoZW1lIGxvYWRp bmcgKERJWSkNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjg2ZjY5MDZiLWYwOTAtNDZj Yy05ODE2LTFmZThhZWIzODc3Ng0KKzplbmQ6DQorDQorVGhlIHRoZW1lcyBhcmUgZGVzaWduZWQg d2l0aCB0aGUgaW50ZW50IHRvIGJlIHVzZWZ1bCB0byBFbWFjcyB1c2VycyBvZg0KK3Zhcnlpbmcg c2tpbGwgbGV2ZWxzLCBmcm9tIGJlZ2lubmVycyB0byBleHBlcnRzLiAgVGhpcyBtZWFucyB0aGF0 IHdlIHRyeQ0KK3RvIG1ha2UgdGhpbmdzIGVhc2llciBieSBub3QgZXhwZWN0aW5nIGFueW9uZSBy ZWFkaW5nIHRoaXMgZG9jdW1lbnQgdG8NCitiZSBwcm9maWNpZW50IGluIEVtYWNzIExpc3Agb3Ig cHJvZ3JhbW1pbmcgaW4gZ2VuZXJhbC4NCisNCitTdWNoIGEgY2FzZSBpcyB3aXRoIHRoZSB1c2Ug b2YgdGhlIH5tb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rfiwNCit3aGljaCBydW5z IGFmdGVyIH5tb2R1cy10aGVtZXMtdG9nZ2xlfiwgfm1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRp fiwgb3INCit+bW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaX4gaXMgZXZhbHVhdGVkLiAgV2UgcmVj b21tZW5kIHVzaW5nIHRoYXQgaG9vaw0KK2ZvciBhZHZhbmNlZCBjdXN0b21pemF0aW9ucywgYmVj YXVzZSAoMSkgd2Uga25vdyBmb3Igc3VyZSB0aGF0IGl0IGlzDQorYXZhaWxhYmxlIG9uY2UgdGhl IHRoZW1lcyBhcmUgbG9hZGVkLCBhbmQgKDIpIGFueW9uZSBjb25zdWx0aW5nIHRoaXMNCittYW51 YWwsIGVzcGVjaWFsbHkgdGhlIHNlY3Rpb25zIG9uIGVuYWJsaW5nIGFuZCBsb2FkaW5nIHRoZSB0 aGVtZXMsIHdpbGwNCitiZSBpbiBhIGdvb2QgcG9zaXRpb24gdG8gYmVuZWZpdCBmcm9tIHRoYXQg aG9vay4NCisNCitBZHZhbmNlZCB1c2VycyB3aG8gaGF2ZSBhIG5lZWQgdG8gc3dpdGNoIGJldHdl ZW4gdGhlIE1vZHVzIHRoZW1lcyBhbmQNCitvdGhlciBpdGVtcyB3aWxsIGZpbmQgdGhhdCBzdWNo IGEgaG9vayBkb2VzIG5vdCBtZWV0IHRoZWlyIHJlcXVpcmVtZW50czoNCitpdCBvbmx5IHdvcmtz IHdpdGggdGhlIE1vZHVzIHRoZW1lcyBhbmQgb25seSB3aXRoIHRoZSBhZm9yZW1lbnRpb25lZA0K K2Z1bmN0aW9ucy4NCiANCi1GdXJ0aGVybW9yZSwgY29uc2lkZXIgcmVhZGluZyB0aGUgIk5vdGVz IGZvciBhc3BpcmluZyBFbWFjcyB0aGVtZQ0KLWRldmVsb3BlcnMiLCBwdWJsaXNoZWQgb24gMjAy MC0wOC0yOCBieSBtZSAoUHJvdGVzaWxhb3MgU3RhdnJvdSk6DQotaHR0cHM6Ly9wcm90ZXNpbGFv cy5jb20vY29kZWxvZy8yMDIwLTA4LTI4LW5vdGVzLWVtYWNzLXRoZW1lLWRldnMvLg0KK0EgdGhl bWUtYWdub3N0aWMgc2V0dXAgY2FuIGJlIGNvbmZpZ3VyZWQgdGh1czoNCisNCisjK2JlZ2luX3Ny YyBlbWFjcy1saXNwDQorKGRlZnZhciBhZnRlci1lbmFibGUtdGhlbWUtaG9vayBuaWwNCisgICAi Tm9ybWFsIGhvb2sgcnVuIGFmdGVyIGVuYWJsaW5nIGEgdGhlbWUuIikNCisNCisoZGVmdW4gcnVu LWFmdGVyLWVuYWJsZS10aGVtZS1ob29rICgmcmVzdCBfYXJncykNCisgICAiUnVuIGBhZnRlci1l bmFibGUtdGhlbWUtaG9vaycuIg0KKyAgIChydW4taG9va3MgJ2FmdGVyLWVuYWJsZS10aGVtZS1o b29rKSkNCisNCisoYWR2aWNlLWFkZCAnZW5hYmxlLXRoZW1lIDphZnRlciAjJ3J1bi1hZnRlci1l bmFibGUtdGhlbWUtaG9vaykNCisjK2VuZF9zcmMNCisNCitUaGlzIGNyZWF0ZXMgdGhlIH5hZnRl ci1lbmFibGUtdGhlbWUtaG9va34gYW5kIG1ha2VzIGl0IHJ1biBhZnRlciBlYWNoDQorY2FsbCB0 byB+ZW5hYmxlLXRoZW1lfiwgd2hpY2ggbWVhbnMgdGhhdCBpdCB3aWxsIHdvcmsgZm9yIGFsbCB0 aGVtZXMgYW5kDQorYWxzbyBoYXMgdGhlIGJlbmVmaXQgdGhhdCBpdCBkb2VzIG5vdCBkZXBlbmQg b24gZnVuY3Rpb25zIHN1Y2ggYXMNCit+bW9kdXMtdGhlbWVzLXRvZ2dsZX4gYW5kIHRoZSBvdGhl cnMgbWVudGlvbmVkIGFib3ZlLiAgfmVuYWJsZS10aGVtZX4gaXMNCitjYWxsZWQgaW50ZXJuYWxs eSBieSB+bG9hZC10aGVtZX4sIHNvIHRoZSBob29rIHdvcmtzIGV2ZXJ5d2hlcmUuDQorDQorTm93 IHRoaXMgc3BlY2lmaWMgcGllY2Ugb2YgRWxpc3AgbWF5IGJlIHNpbXBsZSBmb3IgZXhwZXJpZW5j ZWQgdXNlcnMsDQorYnV0IGl0IGlzIG5vdCBlYXN5IHRvIHJlYWQgZm9yIG5ld2NvbWVycywgaW5j bHVkaW5nIHRoZSBhdXRob3Igb2YgdGhlDQorTW9kdXMgdGhlbWVzIGZvciB0aGUgZmlyc3Qgc2V2 ZXJhbCBtb250aHMgb2YgdGhlaXIgdGltZSBhcyBhbiBFbWFjcw0KK3VzZXIuICBIZW5jZSBvdXIg aGVzaXRhdGlvbiB0byByZWNvbW1lbmQgaXQgYXMgcGFydCBvZiB0aGUgc3RhbmRhcmQNCitzZXR1 cCBvZiB0aGUgTW9kdXMgdGhlbWVzIChpdCBpcyBnZW5lcmFsbHkgYSBnb29kIGlkZWEgdG8gdW5k ZXJzdGFuZA0KK3doYXQgdGhlIGltcGxpY2F0aW9ucyBhcmUgb2YgYWR2aXNpbmcgYSBmdW5jdGlv bikuDQogDQogKiBGYWNlIGNvdmVyYWdlDQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDph OWM4ZjI5ZC03ZjcyLTRiNTQtYjc0Yi1kZGVmZTE1ZDZhMTkNCi06RU5EOg0KKzpwcm9wZXJ0aWVz Og0KKzpjdXN0b21faWQ6IGg6YTljOGYyOWQtN2Y3Mi00YjU0LWI3NGItZGRlZmUxNWQ2YTE5DQor OmVuZDoNCiANCi1Nb2R1cyBPcGVyYW5kaSBhbmQgTW9kdXMgVml2ZW5kaSB0cnkgdG8gcHJvdmlk ZSBhcyBjbG9zZSB0byBmdWxsIGZhY2UNCi1jb3ZlcmFnZSBhcyBwb3NzaWJsZS4gIFRoaXMgaXMg bmVjZXNzYXJ5IHRvIGVuc3VyZSBhIGNvbnNpc3RlbnRseQ0KLWFjY2Vzc2libGUgcmVhZGluZyBl eHBlcmllbmNlIGFjcm9zcyBhbGwgcG9zc2libGUgaW50ZXJmYWNlcy4NCitUaGUgTW9kdXMgdGhl bWVzIHRyeSB0byBwcm92aWRlIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcw0KK3Bv c3NpYmxlLiAgVGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIGEgY29uc2lzdGVudGx5IGFjY2Vz c2libGUgcmVhZGluZw0KK2V4cGVyaWVuY2UgYWNyb3NzIGFsbCBhdmFpbGFibGUgaW50ZXJmYWNl cy4NCiANCiAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQotOlBS T1BFUlRJRVM6DQotOkFMVF9USVRMRTogU3VwcG9ydGVkIHBhY2thZ2VzDQotOkRFU0NSSVBUSU9O OiBGdWxsIGxpc3Qgb2YgY292ZXJlZCBmYWNlIGdyb3Vwcw0KLTpDVVNUT01fSUQ6IGg6NjBlZDQy NzUtNjBkNi00OWY4LTkyODctOWE2NGU1NGJlYTBlDQotOkVORDoNCis6cHJvcGVydGllczoNCis6 YWx0X3RpdGxlOiBTdXBwb3J0ZWQgcGFja2FnZXMNCis6ZGVzY3JpcHRpb246IEZ1bGwgbGlzdCBv ZiBjb3ZlcmVkIGZhY2UgZ3JvdXBzDQorOmN1c3RvbV9pZDogaDo2MGVkNDI3NS02MGQ2LTQ5Zjgt OTI4Ny05YTY0ZTU0YmVhMGUNCis6ZW5kOg0KKyMrY2luZGV4OiBFeHBsaWNpdGx5IHN1cHBvcnRl ZCBwYWNrYWdlcw0KIA0KIFRoaXMgbGlzdCB3aWxsIGFsd2F5cyBiZSB1cGRhdGVkIHRvIHJlZmxl Y3QgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlDQogcHJvamVjdC4gIFRoZSBpZGVhIGlzIHRvIG9m ZmVyIGFuIG92ZXJ2aWV3IG9mIHRoZSBrbm93biBzdGF0dXMgb2YgYWxsDQpAQCAtMTMzNywxNiAr MTk0NSwxOCBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQog KyBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQogKyBhdnkNCiArIGF3ZXNvbWUtdHJheQ0KKysgYmJk Yg0KICsgYmluZGVyDQogKyBibQ0KICsgYm9uZ28NCiArIGJvb24NCi0rIGJyZWFrcG9pbnQgKHBy b3ZpZGVkIGJ5IHRoZSBidWlsdC1pbiA9Z2RiLW1pLmVsPSBsaWJyYXJ5KQ0KKysgYnJlYWtwb2lu dCAocHJvdmlkZWQgYnkgdGhlIGJ1aWx0LWluIHt7e2ZpbGUoZ2RiLW1pLmVsKX19fSBsaWJyYXJ5 KQ0KICsgYnVmZmVyLWV4cG9zZQ0KICsgY2FsZW5kYXIgYW5kIGRpYXJ5DQogKyBjYWxmdw0KICsg Y2VudGF1ci10YWJzDQotKyBjaGFuZ2UtbG9nIGFuZCBsb2ctdmlldyAoc3VjaCBhcyA9dmMtcHJp bnQtbG9nPSBhbmQgPXZjLXByaW50LXJvb3QtbG9nPSkNCisrIGNmcnMNCisrIGNoYW5nZS1sb2cg YW5kIGxvZy12aWV3IChzdWNoIGFzIH52Yy1wcmludC1sb2d+LCB+dmMtcHJpbnQtcm9vdC1sb2d+ KQ0KICsgY2lkZXINCiArIGNpcmNlDQogKyBjb2xvci1yZw0KQEAgLTEzNTUsNiArMTk2NSw3IEBA ICoqIEZ1bGwgc3VwcG9ydCBmb3IgcGFja2FnZXMgb3IgZmFjZSBncm91cHMNCiArIGNvbXBhbnkt cG9zZnJhbWUNCiArIGNvbXBpbGF0aW9uLW1vZGUNCiArIGNvbXBsZXRpb25zDQorKyBjb25zdWx0 DQogKyBjb3Vuc2VsKg0KICsgY291bnNlbC1jc3MNCiArIGNvdW5zZWwtbm90bXVjaA0KQEAgLTEz NjMsNyArMTk3NCw3IEBAICoqIEZ1bGwgc3VwcG9ydCBmb3IgcGFja2FnZXMgb3IgZmFjZSBncm91 cHMNCiArIGNwZXJsLW1vZGUNCiArIGNzdi1tb2RlDQogKyBjdHJsZg0KLSsgY3VzdG9tICg9TS14 IGN1c3RvbWl6ZT0pDQorKyBjdXN0b20gKHdoYXQgeW91IGdldCB3aXRoIHt7e2tiZChNLXggY3Vz dG9taXplKX19fSkNCiArIGRhcC1tb2RlDQogKyBkYXNoYm9hcmQgKGVtYWNzLWRhc2hib2FyZCkN CiArIGRlYWRncmVwDQpAQCAtMTM4MSw4ICsxOTkyLDExIEBAICoqIEZ1bGwgc3VwcG9ydCBmb3Ig cGFja2FnZXMgb3IgZmFjZSBncm91cHMNCiArIGRpcmVkLWdpdC1pbmZvDQogKyBkaXJlZC1uYXJy b3cNCiArIGRpcmVkLXN1YnRyZWUNCisrIGRpcmVkYw0KICsgZGlyZWRmbA0KKysgZGlyZWRwIChk aXJlZCspDQogKyBkaXNrLXVzYWdlDQorKyBkaXNwbGF5LWZpbGwtY29sdW1uLWluZGljYXRvci1t b2RlDQogKyBkb29tLW1vZGVsaW5lDQogKyBkeW5hbWljLXJ1bGVyDQogKyBlYXN5LWpla3lsbA0K QEAgLTE0MDgsOCArMjAyMiwxMCBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZh Y2UgZ3JvdXBzDQogKyBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0KICsgZXZpbCogKGV2aWwt bW9kZSkNCiArIGV2aWwtZ29nZ2xlcw0KKysgZXZpbC1zbmlwZQ0KICsgZXZpbC12aXN1YWwtbWFy ay1tb2RlDQogKyBld3cNCisrIGV4d20NCiArIGV5ZWJyb3dzZQ0KICsgZmFuY3ktZGFiYnJldg0K ICsgZmx5Y2hlY2sNCkBAIC0xNDQzLDcgKzIwNTksNyBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBh Y2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBoZWxwZnVsDQogKyBoaWdobGlnaHQtYmxvY2tzDQog KyBoaWdobGlnaHQtZGVmaW5lZA0KLSsgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5jZXMgKD1oZXMt bW9kZT0pDQorKyBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAofmhlcy1tb2RlfikNCiArIGhp Z2hsaWdodC1pbmRlbnRhdGlvbg0KICsgaGlnaGxpZ2h0LW51bWJlcnMNCiArIGhpZ2hsaWdodC1z eW1ib2wNCkBAIC0xNDY4LDYgKzIwODQsNyBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2Vz IG9yIGZhY2UgZ3JvdXBzDQogKyBpbnRlcmFjdGlvbi1sb2cNCiArIGlvY2N1cg0KICsgaXNlYXJj aCwgb2NjdXIsIGV0Yy4NCisrIGlzbCAoaXNlYXJjaC1saWdodCkNCiArIGl2eSoNCiArIGl2eS1w b3NmcmFtZQ0KICsgamlyYSAob3JnLWppcmEpDQpAQCAtMTQ3NywxOSArMjA5NCwyMiBAQCAqKiBG dWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBqdXB5dGVyDQogKyBr YW9jaGEtcnVubmVyDQogKyBrZXljYXN0DQotKyBsaW5lIG51bWJlcnMgKD1kaXNwbGF5LWxpbmUt bnVtYmVycy1tb2RlPSBhbmQgZ2xvYmFsIHZhcmlhbnQpDQorKyBsaW5lIG51bWJlcnMgKH5kaXNw bGF5LWxpbmUtbnVtYmVycy1tb2RlfiBhbmQgZ2xvYmFsIHZhcmlhbnQpDQogKyBsc3AtbW9kZQ0K ICsgbHNwLXVpDQorKyBtYWNyb3N0ZXANCiArIG1hZ2l0DQogKyBtYWdpdC1pbWVyZ2UNCiArIG1h a2UtbW9kZQ0KICsgbWFuDQorKyBtYXJnaW5hbGlhDQogKyBtYXJrZG93bi1tb2RlDQotKyBtYXJr dXAtZmFjZXMgKD1hZG9jLW1vZGU9KQ0KKysgbWFya3VwLWZhY2VzICh+YWRvYy1tb2RlfikNCiAr IG1lbnRvcg0KICsgbWVzc2FnZXMNCiArIG1pbmlidWZmZXItbGluZQ0KICsgbWluaW1hcA0KKysg bW1tLW1vZGUNCiArIG1vZGVsaW5lDQogKyBtb29kLWxpbmUNCiArIG1vb2R5DQpAQCAtMTUxMiwx MSArMjEzMiwxMiBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBz DQogKyBvcmctcm9hbQ0KICsgb3JnLXN1cGVyc3Rhcg0KICsgb3JnLXRhYmxlLXN0aWNreS1oZWFk ZXINCisrIG9yZy10cmVlLXNsaWRlDQogKyBvcmctdHJlZXNjb3BlDQogKyBvcmlnYW1pDQogKyBv dXRsaW5lLW1vZGUNCiArIG91dGxpbmUtbWlub3ItZmFjZXMNCi0rIHBhY2thZ2UgKD1NLXggbGlz dC1wYWNrYWdlcz0pDQorKyBwYWNrYWdlICh3aGF0IHlvdSBnZXQgd2l0aCB7e3trYmQoTS14IGxp c3QtcGFja2FnZXMpfX19KQ0KICsgcGFnZS1icmVhay1saW5lcw0KICsgcGFyYWRveA0KICsgcGFy ZW4tZmFjZQ0KQEAgLTE1MzIsMjMgKzIxNTMsMjggQEAgKiogRnVsbCBzdXBwb3J0IGZvciBwYWNr YWdlcyBvciBmYWNlIGdyb3Vwcw0KICsgcG9wdXANCiArIHBvd2VybGluZQ0KICsgcG93ZXJsaW5l LWV2aWwNCisrIHByaXNtIChbWyNoOmE5NDI3MmUwLTk5ZGEtNDE0OS05ZTgwLTExYTdlNjdhMmNm Ml1bTm90ZSBmb3IgcHJpc20uZWxdXSkNCiArIHByb2NlZA0KICsgcHJvZGlneQ0KKysgcXVpY2st cGVlaw0KICsgcmFja2V0LW1vZGUNCiArIHJhaW5ib3ctYmxvY2tzDQogKyByYWluYm93LWlkZW50 aWZpZXJzDQogKyByYWluYm93LWRlbGltaXRlcnMNCiArIHJjaXJjDQotKyByZWdleHAtYnVpbGRl ciAoYWxzbyBrbm93biBhcyA9cmUtYnVpbGRlcj0pDQorKyByZWN1cnNpb24taW5kaWNhdG9yDQor KyByZWdleHAtYnVpbGRlciAoYWxzbyBrbm93biBhcyB+cmUtYnVpbGRlcn4pDQogKyByZyAocmcu ZWwpDQogKyByaXBncmVwDQogKyBybWFpbA0KICsgcnVsZXItbW9kZQ0KICsgc2FsbGV0DQogKyBz ZWxlY3RydW0NCisrIHNlbGVjdHJ1bS1wcmVzY2llbnQNCiArIHNlbWFudGljDQogKyBzZXNtYW4N CiArIHNoZWxsLXNjcmlwdC1tb2RlDQorKyBzaG9ydGRvYw0KICsgc2hvdy1wYXJlbi1tb2RlDQog KyBzaHINCiArIHNpZGUtbm90ZXMNCkBAIC0xNTU3LDkgKzIxODMsMTEgQEAgKiogRnVsbCBzdXBw b3J0IGZvciBwYWNrYWdlcyBvciBmYWNlIGdyb3Vwcw0KICsgc21hcnQtbW9kZS1saW5lDQogKyBz bWFydHBhcmVucw0KICsgc21lcmdlDQorKyBzb2xhaXJlDQogKyBzcGFjZWxpbmUNCiArIHNwZWVk YmFyDQogKyBzcGVsbC1mdQ0KKysgc3ByYXkNCiArIHN0cmlwZXMNCiArIHN1Z2dlc3QNCiArIHN3 aXRjaC13aW5kb3cNCkBAIC0xNTcwLDYgKzIxOTgsNyBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBh Y2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBzeXNsb2ctbW9kZQ0KICsgdGFibGUgKGJ1aWx0LWlu IHRhYmxlLmVsKQ0KICsgdGVsZXBob25lLWxpbmUNCisrIHRlcnJhZm9ybS1tb2RlDQogKyB0ZXJt DQogKyB0b21hdGluaG8NCiArIHRyYW5zaWVudCAocG9wLXVwIHdpbmRvd3Mgc3VjaCBhcyBNYWdp dCdzKQ0KQEAgLTE1ODAsNyArMjIwOSw3IEBAICoqIEZ1bGwgc3VwcG9ydCBmb3IgcGFja2FnZXMg b3IgZmFjZSBncm91cHMNCiArIHR5cGVzY3JpcHQNCiArIHVuZG8tdHJlZQ0KICsgdmMgKGJ1aWx0 LWluIG1vZGUgbGluZSBzdGF0dXMgZm9yIHZlcnNpb24gY29udHJvbCkNCi0rIHZjLWFubm90YXRl ICg9Qy14IHYgZz0pDQorKyB2Yy1hbm5vdGF0ZSAodGhlIG91dCBwdXQgb2Yge3t7a2JkKEMteCB2 IGcpfX19KQ0KICsgdmRpZmYNCiArIHZpbWlzaC1mb2xkDQogKyB2aXNpYmxlLW1hcmsNCkBAIC0x NjA4LDY3ICsyMjM3LDIzNCBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2Ug Z3JvdXBzDQogR05VIEVtYWNzIGRpc3RyaWJ1dGlvbi4NCiANCiAqKiBJbmRpcmVjdGx5IGNvdmVy ZWQgcGFja2FnZXMNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjJjYjM1OWM3LTNhODQt NDI2Mi1iYWIzLWRjZGMxZDAwMzRkNw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9p ZDogaDoyY2IzNTljNy0zYTg0LTQyNjItYmFiMy1kY2RjMWQwMDM0ZDcNCis6ZW5kOg0KKyMrY2lu ZGV4OiBJbXBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcw0KIA0KIFRoZXNlIGRvIG5vdCByZXF1 aXJlIGFueSBleHRyYSBzdHlsZXMgYmVjYXVzZSB0aGV5IGFyZSBjb25maWd1cmVkIHRvDQogaW5o ZXJpdCBmcm9tIHNvbWUgYmFzaWMgZmFjZXMuICBQbGVhc2UgY29uZmlybS4NCiANCiArIGVkaXQt aW5kaXJlY3QNCiArIGV2aWwtb3dsDQorKyBmb3J0cmFuLW1vZGUNCisrIGdvZ2dsZXMNCiArIGkz d20tY29uZmlnLW1vZGUNCiArIHBlcmwtbW9kZQ0KICsgcGhwLW1vZGUNCiArIHJqc3gtbW9kZQ0K ICsgc3dpZnQtbW9kZQ0KLQ0KLSoqIFdpbGwgTk9UIGJlIHN1cHBvcnRlZA0KLTpQUk9QRVJUSUVT Og0KLTpDVVNUT01fSUQ6IGg6NmM2ZThkOTQtNjc4Mi00N2ZjLTllZWYtYWQ3ODY3MWU5ZWVhDQot OkVORDoNCi0NCi1JIGhhdmUgdGh1cyBmYXIgaWRlbnRpZmllZCBhIHNpbmdsZSBwYWNrYWdlIHRo YXQgZG9lcyBmaXQgaW50byB0aGUNCi1vdmVyYXJjaGluZyBvYmplY3RpdmUgb2YgdGhpcyBwcm9q ZWN0OiBbW2h0dHBzOi8vZ2l0aHViLmNvbS9obGlzc25lci9lbWFjcy1zb2xhaXJlLW1vZGVdW3Nv bGFpcmVdXS4gIEl0IGJhc2ljYWxseSB0cmllcyB0bw0KLWNhc3QgYSBsZXNzIGludGVuc2UgYmFj a2dyb3VuZCBvbiB0aGUgbWFpbiBmaWxlLXZpc2l0aW5nIGJ1ZmZlcnMsIHNvDQotdGhhdCBzZWNv bmRhcnkgZWxlbWVudHMgbGlrZSBzaWRlYmFycyBjYW4gaGF2ZSB0aGUgZGVmYXVsdCAocHVyZQ0K LXdoaXRlL2JsYWNrKSBiYWNrZ3JvdW5kLg0KLQ0KLUkgd2lsbCBvbmx5IGNvdmVyIHRoaXMgcGFj a2FnZSBpZiBpdCBldmVyIHN1cHBvcnRzIHRoZSBpbnZlcnNlIGVmZmVjdDoNCi1sZXNzIGludGVu c2UgY29sb3JzIChidXQgc3RpbGwgYWNjZXNzaWJsZSkgZm9yIGFuY2lsbGFyeSBpbnRlcmZhY2Vz DQotYW5kIHRoZSBpbnRlbmRlZCBzdHlsZXMgZm9yIHRoZSBjb250ZW50IHlvdSBhcmUgYWN0dWFs bHkgd29ya2luZyBvbi4NCisrIHRhYi1iYXItZWNoby1hcmVhDQogDQogKiBOb3RlcyBmb3IgaW5k aXZpZHVhbCBwYWNrYWdlcw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6NGM0ZDkwMWEt ODRkNy00ZjIwLWJkOTktMDgwOGMyYjA2ZWJhDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3Vz dG9tX2lkOiBoOjRjNGQ5MDFhLTg0ZDctNGYyMC1iZDk5LTA4MDhjMmIwNmViYQ0KKzplbmQ6DQog DQogVGhpcyBzZWN0aW9uIGNvdmVycyBpbmZvcm1hdGlvbiB0aGF0IG1heSBiZSBvZiBpbnRlcmVz dCB0byB1c2VycyBvZg0KIGluZGl2aWR1YWwgcGFja2FnZXMuDQogDQorKiogTm90ZSBmb3IgZGlz cGxheS1maWxsLWNvbHVtbi1pbmRpY2F0b3ItbW9kZQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21f aWQ6IGg6MmE2MDI4MTYtYmMxYi00NWJmLTk2NzUtNGNiYmQ3YmY2Y2FiDQorOmVuZDoNCisNCitX aGlsZSBkZXNpZ25pbmcgdGhlIHN0eWxlIGZvciB+ZGlzcGxheS1maWxsLWNvbHVtbi1pbmRpY2F0 b3ItbW9kZX4sIHdlDQorc3RheWVkIGNsb3NlIHRvIHRoZSBtb2RlJ3MgZGVmYXVsdHM6IHRvIGFw cGx5IGEgc3VidGxlIGZvcmVncm91bmQgY29sb3INCit0byB0aGUgfmZpbGwtY29sdW1uLWluZGlj YXRvcn4gZmFjZSwgd2hpY2ggYmxlbmRzIHdlbGwgd2l0aCB0aGUgcmVzdCBvZg0KK3RoZW1lIGFu ZCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHJvbGUgb2YgdGhhdCBtb2RlLiAgVGhpcyBpcyB0byBu b3QNCit1cHNldCB0aGUgZXhwZWN0YXRpb25zIG9mIHVzZXJzLg0KKw0KK05ldmVydGhlbGVzcywg fmRpc3BsYXktZmlsbC1jb2x1bW4taW5kaWNhdG9yLW1vZGV+IGhhcyBzb21lIGtub3duDQorbGlt aXRhdGlvbnMgcGVydGFpbmluZyB0byBpdHMgY2hvaWNlIG9mIHVzaW5nIHR5cG9ncmFwaGljIGNo YXJhY3RlcnMgdG8NCitkcmF3IGl0cyBpbmRpY2F0b3IuICBXaGF0IHNob3VsZCBiZSBhIGNvbnRp bnVvdXMgdmVydGljYWwgbGluZSBtaWdodA0KK2FwcGVhciBhcyBhIHNlcmllcyBvZiBkYXNoZXMg aW4gY2VydGFpbiBjb250ZXh0cyBvciB1bmRlciBzcGVjaWZpYw0KK2NvbmRpdGlvbnM6IGEgbm9u LWRlZmF1bHQgdmFsdWUgZm9yIH5saW5lLXNwYWNpbmd+LCBzY2FsZWQgYW5kL29yDQordmFyaWFi bGUtcGl0Y2ggaGVhZGluZ3MgaGF2ZSBiZWVuIG9ic2VydmVkIHRvIGNhdXNlIHRoaXMgZWZmZWN0 Lg0KKw0KK0dpdmVuIHRoYXQgd2UgY2Fubm90IGNvbnRyb2wgc3VjaCBmYWN0b3JzLCBpdCBtYXkg YmUgYmV0dGVyIGZvciBhZmZlY3RlZA0KK3VzZXJzIHRvIGRldmlhdGUgZnJvbSB0aGUgZGVmYXVs dCBzdHlsZSBvZiB0aGUgfmZpbGwtY29sdW1uLWluZGljYXRvcn4NCitmYWNlLiAgSW5zdGVhZCBv ZiBzZXR0aW5nIGEgZm9yZWdyb3VuZCBjb2xvciwgb25lIGNvdWxkIHVzZSBhIGJhY2tncm91bmQN CithbmQgaGF2ZSB0aGUgZm9yZWdyb3VuZCBiZSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGl0LiAg Rm9yIGV4YW1wbGU6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10aGVtZXMt d2l0aC1jb2xvcnMNCisgIChjdXN0b20tc2V0LWZhY2VzDQorICAgYChmaWxsLWNvbHVtbi1pbmRp Y2F0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGJnLWluYWN0aXZlKSkpKSkNCisjK2Vu ZF9zcmMNCisNCitbWyNoOjUxYmEzNTQ3LWI4YzgtNDBkNi1iYTVhLTQ1ODY0NzdmZDRhZV1bRmFj ZSBzcGVjcyBhdCBzY2FsZSB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uDQorDQorKiogTm90 ZSBmb3IgbW1tLW1vZGUuZWwgYmFja2dyb3VuZCBjb2xvcnMNCis6cHJvcGVydGllczoNCis6Y3Vz dG9tX2lkOiBoOjk5Y2YwZDZjLWU0NzgtNGUyNi05OTMyLTNiZjM0MjdkMTNmNg0KKzplbmQ6DQor DQorVGhlIGZhY2VzIHVzZWQgYnkge3t7ZmlsZShtbW0tbW9kZS5lbCl9fX0gYXJlIGV4cGVjdGVk IHRvIGhhdmUgYSBjb2xvcmZ1bA0KK2JhY2tncm91bmQsIHdoaWxlIHRoZXkgc2hvdWxkIG5vdCB0 b3VjaCBhbnkgZm9yZWdyb3VuZCB2YWx1ZS4gIFRoZSBpZGVhDQoraXMgdGhhdCB0aGV5IG11c3Qg bm90IGludGVyZmVyZSB3aXRoIGV4aXN0aW5nIGZvbnRpZmljYXRpb24uICBUaG9zZQ0KK2JhY2tn cm91bmQgY29sb3JzIG5lZWQgdG8gYmUgZGlzdGluY3QgZnJvbSBlYWNoIG90aGVyLCBzdWNoIGFz IGFuDQordW5hbWJpZ3VvdXMgcmVkIGp1eHRhcG9zZWQgd2l0aCBhIGNsZWFyIGJsdWUuDQorDQor V2hpbGUgdGhpcyBkZXNpZ24gbWF5IGJlIGludGVybmFsbHkgY29uc2lzdGVudCB3aXRoIHRoZSBy YWlzb24gZCfDqnRyZSBvZg0KK3RoYXQgbGlicmFyeSwgaXQgaW5ldml0YWJseSBwcm9kdWNlcyBp bmFjY2Vzc2libGUgY29sb3IgY29tYmluYXRpb25zLg0KKw0KK1RoZXJlIGFyZSB0d28gY29tcGV0 aW5nIGdvYWxzIGF0IHBsYXk6DQorDQorMS4gTGVnaWJpbGl0eSBvZiB0aGUgdGV4dCwgdW5kZXJz dG9vZCBhcyB0aGUgY29udHJhc3QgcmF0aW8gYmV0d2VlbiB0aGUNCisgICBiYWNrZ3JvdW5kIGFu ZCB0aGUgZm9yZWdyb3VuZC4NCisNCisyLiBTZW1hbnRpYyBwcmVjaXNpb24gb2YgZWFjaCBmYWNl IHdoaWNoIGVudGFpbHMgZmFpdGhmdWxuZXNzIHRvDQorICAgY29sb3ItY29kaW5nIG9mIHRoZSB1 bmRlcmx5aW5nIGJhY2tncm91bmQuDQorDQorQXMgdGhlIE1vZHVzIHRoZW1lcyBhcmUgZGVzaWdu ZWQgd2l0aCB0aGUgZXhwcmVzcyBwdXJwb3NlIG9mIGNvbmZvcm1pbmcNCit3aXRoIHRoZSBmaXJz dCBwb2ludCwgd2UgaGF2ZSB0byBmb3JnbyB0aGUgYXBwYXJlbnQgY29sb3ItY29kaW5nIG9mIHRo ZQ0KK2JhY2tncm91bmQgZWxlbWVudHMuICBJbnN0ZWFkIHdlIHVzZSBzdWJ0bGUgY29sb3JzIHRo YXQgZG8gbm90IHVuZGVybWluZQ0KK3RoZSBsZWdpYmlsaXR5IG9mIHRoZSBhZmZlY3RlZCB0ZXh0 IHdoaWxlIHRoZXkgc3RpbGwgb2ZmZXIgYSBzZW5zZSBvZg0KK2FkZGVkIGNvbnRleHQuDQorDQor VXNlcnMgd2hvIG1pZ2h0IHByZWZlciB0byBmYWxsIGJlbG93IHRoZSBtaW5pbXVtIDc6MSBjb250 cmFzdCByYXRpbyBpbg0KK3JlbGF0aXZlIGx1bWluYW5jZSAodGhlIGFjY2Vzc2liaWxpdHkgdGFy Z2V0IHdlIGNvbmZvcm0gd2l0aCksIGNhbiBvcHQNCit0byBjb25maWd1cmUgdGhlIHJlbGV2YW50 IGZhY2VzIG9uIHRoZWlyIG93bi4NCisNCitbWyNoOjUxYmEzNTQ3LWI4YzgtNDBkNi1iYTVhLTQ1 ODY0NzdmZDRhZV1bRmFjZSBzcGVjcyBhdCBzY2FsZSB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRl XV0uDQorDQorVGhpcyBleGFtcGxlIHVzZXMgbW9yZSB2aXZpZCBiYWNrZ3JvdW5kIGNvbG9ycywg dGhvdWdoIGl0IGNvbWVzIGF0IHRoZQ0KK3ZlcnkgaGlnaCBjb3N0IG9mIGRlZ3JhZGVkIGxlZ2li aWxpdHkuDQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10aGVtZXMtd2l0aC1j b2xvcnMNCisgIChjdXN0b20tc2V0LWZhY2VzDQorICAgYChtbW0tY2xlYW51cC1zdWJtb2RlLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcpKSkNCisgICBgKG1tbS1j b2RlLXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQorICAg YChtbW0tY29tbWVudC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVm aW5lLWJnKSkpDQorICAgYChtbW0tZGVjbGFyYXRpb24tc3VibW9kZS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxjeWFuLXJlZmluZS1iZykpKQ0KKyAgIGAobW1tLWRlZmF1bHQtc3VibW9kZS1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICBgKG1tbS1pbml0LXN1Ym1v ZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCisgICBg KG1tbS1vdXRwdXQtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtcmVmaW5l LWJnKSkpDQorICAgYChtbW0tc3BlY2lhbC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGdyZWVuLXJlZmluZS1iZykpKSkpDQorIytlbmRfc3JjDQorDQorKiogTm90ZSBmb3IgcHJp c20uZWwNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBOb3RlIGZvciBwcmlzbQ0KKzpjdXN0 b21faWQ6IGg6YTk0MjcyZTAtOTlkYS00MTQ5LTllODAtMTFhN2U2N2EyY2YyDQorOmVuZDoNCisN CitUaGlzIHBhY2thZ2UgYnkgQWRhbSBQb3J0ZXIsIGFrYSAiYWxwaGFwYXBhIiBvciAiZ2l0aHVi LWFscGhhcGFwYSIsDQoraW1wbGVtZW50cyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgdHlwaWNhbCBj b2xvcmF0aW9uIG9mIGNvZGUuICBJbnN0ZWFkIG9mDQoraGlnaGxpZ2h0aW5nIHRoZSBzeW50YWN0 aWMgY29uc3RydWN0cywgaXQgYXBwbGllcyBjb2xvciB0byBkaWZmZXJlbnQNCitsZXZlbHMgb2Yg ZGVwdGggaW4gdGhlIGNvZGUgc3RydWN0dXJlLg0KKw0KK0FzIHt7e2ZpbGUocHJpc20uZWwpfX19 IG9mZmVycyBhIGJyb2FkIHJhbmdlIG9mIGN1c3RvbWlzYXRpb25zLCB3ZSBjYW5ub3QNCitzdHls ZSBpdCBkaXJlY3RseSBhdCB0aGUgdGhlbWUgbGV2ZWw6IHRoYXQgd291bGQgcnVuIGNvbnRyYXJ5 IHRvIHRoZQ0KK3NwaXJpdCBvZiB0aGUgcGFja2FnZS4gIEluc3RlYWQsIHdlIG1heSBvZmZlciBw cmVzZXQgY29sb3Igc2NoZW1lcy4NCitUaG9zZSBzaG91bGQgb2ZmZXIgYSBzdGFydGluZyBwb2lu dCBmb3IgdXNlcnMgdG8gYWRhcHQgdG8gdGhlaXIgbmVlZHMuDQorDQorSW4gdGhlIGZvbGxvd2lu ZyBjb2RlIHNuaXBwZXRzLCB3ZSBlbXBsb3kgdGhlIH5tb2R1cy10aGVtZXMtd2l0aC1jb2xvcnN+ DQorbWFjcm86IFtbI2g6NTFiYTM1NDctYjhjOC00MGQ2LWJhNWEtNDU4NjQ3N2ZkNGFlXVtGYWNl IHNwZWNzIGF0IHNjYWxlIHVzaW5nIHRoZSB0aGVtZXMnIHBhbGV0dGVdXS4NCisNCitUaGVzZSBh cmUgdGhlIG1pbmltdW0gcmVjb21tZW5kZWQgc2V0dGluZ3Mgd2l0aCAxNiBjb2xvcnM6DQorDQor IytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhzZXRxIHByaXNtLW51bS1mYWNlcyAxNikNCisNCiso cHJpc20tc2V0LWNvbG9ycw0KKyAgOmRlc2F0dXJhdGlvbnMgJygwKSA7IGRvIG5vdCBjaGFuZ2Ut LS1tYXkgbG93ZXIgdGhlIGNvbnRyYXN0IHJhdGlvDQorICA6bGlnaHRlbnMgJygwKSAgICAgIDsg c2FtZQ0KKyAgOmNvbG9ycyAobW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzDQorICAgICAgICAgICAg KGxpc3QgZmctbWFpbg0KKyAgICAgICAgICAgICAgICAgIG1hZ2VudGENCisgICAgICAgICAgICAg ICAgICBjeWFuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVy DQorICAgICAgICAgICAgICAgICAgYmx1ZQ0KKyAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 DQorICAgICAgICAgICAgICAgICAgY3lhbi1hbHQNCisgICAgICAgICAgICAgICAgICByZWQtYWx0 LW90aGVyDQorICAgICAgICAgICAgICAgICAgZ3JlZW4NCisgICAgICAgICAgICAgICAgICBmZy1t YWluDQorICAgICAgICAgICAgICAgICAgY3lhbg0KKyAgICAgICAgICAgICAgICAgIHllbGxvdw0K KyAgICAgICAgICAgICAgICAgIGJsdWUtYWx0DQorICAgICAgICAgICAgICAgICAgcmVkLWFsdA0K KyAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgIGZn LXNwZWNpYWwtd2FybSkpKQ0KKyMrZW5kX3NyYw0KKw0KK1dpdGggOCBjb2xvcnM6DQorDQorIyti ZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhzZXRxIHByaXNtLW51bS1mYWNlcyA4KQ0KKw0KKyhwcmlz bS1zZXQtY29sb3JzDQorICA6ZGVzYXR1cmF0aW9ucyAnKDApIDsgZG8gbm90IGNoYW5nZS0tLW1h eSBsb3dlciB0aGUgY29udHJhc3QgcmF0aW8NCisgIDpsaWdodGVucyAnKDApICAgICAgOyBzYW1l DQorICA6Y29sb3JzIChtb2R1cy10aGVtZXMtd2l0aC1jb2xvcnMNCisgICAgICAgICAgICAobGlz dCBmZy1zcGVjaWFsLWNvbGQNCisgICAgICAgICAgICAgICAgICBtYWdlbnRhDQorICAgICAgICAg ICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1v dGhlcg0KKyAgICAgICAgICAgICAgICAgIGZnLW1haW4NCisgICAgICAgICAgICAgICAgICBibHVl LWFsdA0KKyAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAg ICBjeWFuKSkpDQorIytlbmRfc3JjDQorDQorQW5kIHRoaXMgaXMgd2l0aCA0IGNvbG9ycywgd2hp Y2ggcHJvZHVjZXMgcmVzdWx0cyB0aGF0IGFyZSB0aGUgY2xvc2VzdA0KK3RvIHRoZSB0aGVtZXMn IGRlZmF1bHQgYWVzdGhldGljOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisoc2V0cSBw cmlzbS1udW0tZmFjZXMgNCkNCisNCisocHJpc20tc2V0LWNvbG9ycw0KKyAgOmRlc2F0dXJhdGlv bnMgJygwKSA7IGRvIG5vdCBjaGFuZ2UtLS1tYXkgbG93ZXIgdGhlIGNvbnRyYXN0IHJhdGlvDQor ICA6bGlnaHRlbnMgJygwKSAgICAgIDsgc2FtZQ0KKyAgOmNvbG9ycyAobW9kdXMtdGhlbWVzLXdp dGgtY29sb3JzDQorICAgICAgICAgICAgKGxpc3QgZmctbWFpbg0KKyAgICAgICAgICAgICAgICAg IGN5YW4tYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXINCisg ICAgICAgICAgICAgICAgICBtYWdlbnRhKSkpDQorIytlbmRfc3JjDQorDQorSWYgeW91IG5lZWQg dG8gYXBwbHkgZGVzYXR1cmF0aW9uIGFuZCBsaWdodGVuaW5nLCB5b3UgY2FuIHVzZSB3aGF0IHRo ZQ0KK3t7e2ZpbGUocHJpc20uZWwpfX19IGRvY3VtZW50YXRpb24gcmVjb21tZW5kcywgbGlrZSB0 aGlzIChhZGFwdGluZyB0byB0aGUNCitleGFtcGxlcyB3aXRoIHRoZSA0LCA4LCAxNiBjb2xvcnMp Og0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisocHJpc20tc2V0LWNvbG9ycw0KKyAgOmRl c2F0dXJhdGlvbnMgKGNsLWxvb3AgZm9yIGkgZnJvbSAwIGJlbG93IDE2IGNvbGxlY3QgKCogaSAy LjUpKQ0KKyAgOmxpZ2h0ZW5zIChjbC1sb29wIGZvciBpIGZyb20gMCBiZWxvdyAxNiBjb2xsZWN0 ICgqIGkgMi41KSkNCisgIDpjb2xvcnMgKG1vZHVzLXRoZW1lcy13aXRoLWNvbG9ycw0KKyAgICAg ICAgICAgIChsaXN0IGZnLW1haW4NCisgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0K KyAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAg bWFnZW50YSkpKQ0KKyMrZW5kX3NyYw0KKw0KICoqIE5vdGUgb24gY29tcGFueS1tb2RlIG92ZXJs YXkgcG9wLXVwDQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDoyMGNlZjhjNC1kMTFmLTQw NTMtOGIyYy0yODcyOTI1NzgwYjENCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6 IGg6MjBjZWY4YzQtZDExZi00MDUzLThiMmMtMjg3MjkyNTc4MGIxDQorOmVuZDoNCiANCi1CeSBk ZWZhdWx0LCB0aGUgPWNvbXBhbnktbW9kZT0gcG9wLXVwIHRoYXQgbGlzdHMgY29tcGxldGlvbiBj YW5kaWRhdGVzIGlzDQorQnkgZGVmYXVsdCwgdGhlIH5jb21wYW55LW1vZGV+IHBvcC11cCB0aGF0 IGxpc3RzIGNvbXBsZXRpb24gY2FuZGlkYXRlcyBpcw0KIGRyYXduIHVzaW5nIGFuIG92ZXJsYXku ICBUaGlzIGNyZWF0ZXMgYWxpZ25tZW50IGlzc3VlcyBldmVyeSB0aW1lIGl0IGlzDQogcGxhY2Vk IGFib3ZlIGEgcGllY2Ugb2YgdGV4dCB0aGF0IGhhcyBhIGRpZmZlcmVudCBoZWlnaHQgdGhhbiB0 aGUNCiBkZWZhdWx0Lg0KIA0KIFRoZSBzb2x1dGlvbiByZWNvbW1lbmRlZCBieSB0aGUgcHJvamVj dCdzIG1haW50YWluZXIgaXMgdG8gdXNlIGFuDQotYWx0ZXJuYXRpdmUgZnJvbnQtZW5kIGZvciBk cmF3aW5nIHRoZSBwb3AtdXAgd2hpY2ggdXNlcyBjaGlsZCBmcmFtZXMNCithbHRlcm5hdGl2ZSBm cm9udC1lbmQgZm9yIGRyYXdpbmcgdGhlIHBvcC11cCB3aGljaCBkcmF3cyBjaGlsZCBmcmFtZXMN CiBpbnN0ZWFkIG9mIG92ZXJsYXlzLltmbjo6DQogaHR0cHM6Ly9naXRodWIuY29tL2NvbXBhbnkt bW9kZS9jb21wYW55LW1vZGUvaXNzdWVzLzEwMTBdW2ZuOjoNCiBodHRwczovL2dpdGh1Yi5jb20v dHVtYXNodS9jb21wYW55LXBvc2ZyYW1lL10NCiANCiAqKiBOb3RlIGZvciBFUkMgZXNjYXBlZCBj b2xvciBzZXF1ZW5jZXMNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjk4YmRmMzE5LTFl MzItNDQ2OS04YTAxLTc3MTIwMGZiYTY1Yw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3Rv bV9pZDogaDo5OGJkZjMxOS0xZTMyLTQ0NjktOGEwMS03NzEyMDBmYmE2NWMNCis6ZW5kOg0KIA0K LVRoZSBidWlsdC1pbiBJUkMgY2xpZW50ID1lcmM9IGhhcyB0aGUgYWJpbGl0eSB0byBjb2xvcmlz ZSBhbnkgdGV4dCB1c2luZw0KLWVzY2FwZSBzZXF1ZW5jZXMgdGhhdCBzdGFydCB3aXRoID1eQz0g KGluc2VydGVkIHdpdGggPUMtcSBDLWM9KSBhbmQgYXJlDQorVGhlIGJ1aWx0LWluIElSQyBjbGll bnQgfmVyY34gaGFzIHRoZSBhYmlsaXR5IHRvIGNvbG9yaXNlIGFueSB0ZXh0IHVzaW5nDQorZXNj YXBlIHNlcXVlbmNlcyB0aGF0IHN0YXJ0IHdpdGggPV5DPSAoaW5zZXJ0ZWQgd2l0aCB7e3trYmQo Qy1xIEMtYyl9fX0pIGFuZCBhcmUNCiBmb2xsb3dlZCBieSBhIG51bWJlciBmb3IgdGhlIGZvcmVn cm91bmQgYW5kIGJhY2tncm91bmQuW2ZuOjogVGhpcyBwYWdlDQogZXhwbGFpbnMgdGhlIGJhc2lj cywgdGhvdWdoIGl0IGlzIG5vdCBzcGVjaWZpYyB0byBFbWFjczoNCiBodHRwczovL3d3dy5taXJj LmNvbS9jb2xvcnMuaHRtbF0gUG9zc2libGUgbnVtYmVycyBhcmUgMC0xNSwgd2l0aCB0aGUNCkBA IC0xNjgxLDEzICsyNDc3LDEzIEBAICoqIE5vdGUgZm9yIEVSQyBlc2NhcGVkIGNvbG9yIHNlcXVl bmNlcw0KICAgICAgIGVyYy1pbnRlcnByZXQtbWlyYy1jb2xvciB0KQ0KICMrZW5kX3NyYw0KIA0K LUFzIHRoaXMgYWxsb3dzIHVzZXJzIHRvIG1ha2UgYXJiaXRyYXJ5IGNvbWJpbmF0aW9ucywgaXQg aXMgaW1wb3NzaWJsZSB0bw0KLWd1YXJhbnRlZSBhIGNvbnNpc3RlbnRseSBoaWdoIGNvbnRyYXN0 IHJhdGlvLiAgQWxsIHdlIGNhbiB3ZSBkbyBpcw0KLXByb3ZpZGUgZ3VpZGFuY2Ugb24gdGhlIGNv bWJpbmF0aW9ucyB0aGF0IHNhdGlzZnkgdGhlIGFjY2Vzc2liaWxpdHkNCi1zdGFuZGFyZCBvZiB0 aGUgdGhlbWVzOg0KK0FzIHRoaXMgYWxsb3dzIHVzZXJzIHRoZSBjaGFuY2UgdG8gbWFrZSBhcmJp dHJhcnkgY29tYmluYXRpb25zLCBpdCBpcw0KK2ltcG9zc2libGUgdG8gZ3VhcmFudGVlIGEgY29u c2lzdGVudGx5IGhpZ2ggY29udHJhc3QgcmF0aW8uICBBbGwgd2UgY2FuDQord2UgZG8gaXMgcHJv dmlkZSBndWlkYW5jZSBvbiB0aGUgY29tYmluYXRpb25zIHRoYXQgc2F0aXNmeSB0aGUNCithY2Nl c3NpYmlsaXR5IHN0YW5kYXJkIG9mIHRoZSB0aGVtZXM6DQogDQogKyBNb2R1cyBPcGVyYW5kaSA6 OiBVc2UgZm9yZWdyb3VuZCBjb2xvciAxIGZvciBhbGwgYmFja2dyb3VuZHMgZnJvbQ0KLSAgMi0x NS4gIExpa2Ugc286ID1DLXEgQy1jMSxOPSB3aGVyZSA9Tj0gaXMgdGhlIGJhY2tncm91bmQuDQor ICAyLTE1LiAgTGlrZSBzbzoge3t7a2JkKEMtcSBDLWMxLE4pfX19IHdoZXJlID1OPSBpcyB0aGUg YmFja2dyb3VuZC4NCiANCiArIE1vZHVzIFZpdmVuZGkgOjogVXNlIGZvcmVncm91bmQgY29sb3Ig MCBmb3IgYWxsIGJhY2tncm91bmRzIGZyb20NCiAgIDItMTMuICBVc2UgZm9yZWdyb3VuZCA9MT0g Zm9yIGJhY2tncm91bmRzIDE0LCAxNS4NCkBAIC0xNjk2LDM1ICsyNDkyLDM4IEBAICoqIE5vdGUg Zm9yIEVSQyBlc2NhcGVkIGNvbG9yIHNlcXVlbmNlcw0KIHRvZ2V0aGVyLCBpZiB5b3UgbXVzdC4N CiANCiAqKiBOb3RlIGZvciBwb3dlcmxpbmUgb3Igc3BhY2VsaW5lDQotOlBST1BFUlRJRVM6DQot OkNVU1RPTV9JRDogaDo5MTMwYThiYS1kOGUzLTQxYmUtYTU4Yi0zY2IxZWI3YjZkMTcNCi06RU5E Og0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6OTEzMGE4YmEtZDhlMy00MWJlLWE1OGIt M2NiMWViN2I2ZDE3DQorOmVuZDoNCiANCiBCb3RoIFBvd2VybGluZSBhbmQgU3BhY2VsaW5lIHBh Y2thZ2UgdXNlcnMgd2lsbCBsaWtlbHkgbmVlZCB0byB1c2UgdGhlDQotY29tbWFuZCA9cG93ZXJs aW5lLXJlc2V0PSB3aGVuZXZlciB0aGV5IG1ha2UgY2hhbmdlcyB0byB0aGVpciB0aGVtZXMNCitj b21tYW5kIH5wb3dlcmxpbmUtcmVzZXR+IHdoZW5ldmVyIHRoZXkgbWFrZSBjaGFuZ2VzIHRvIHRo ZWlyIHRoZW1lcw0KIGFuZC9vciBtb2RlbGluZSBzZXR1cC4NCiANCi0qKiBOb3RlIG9uIHNociBj b2xvcnMNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjRjYzc2N2RjLWZmZWYtNGM1Yy05 ZjEwLTgyZWI3Yjg5MjFiZg0KLTpFTkQ6DQorKiogTm90ZSBvbiBTSFIgY29sb3JzDQorOnByb3Bl cnRpZXM6DQorOmN1c3RvbV9pZDogaDo0Y2M3NjdkYy1mZmVmLTRjNWMtOWYxMC04MmViN2I4OTIx YmYNCis6ZW5kOg0KIA0KLUVtYWNzJyBIVE1MIHJlbmRlcmluZyBtZWNoYW5pc20gKD1zaHI9KSBt YXkgbmVlZCBleHBsaWNpdCBjb25maWd1cmF0aW9uIHRvDQotcmVzcGVjdCB0aGUgdGhlbWUncyBj b2xvcnMgaW5zdGVhZCBvZiB3aGF0ZXZlciBzcGVjaWZpY2F0aW9ucyB0aGUNCi13ZWJwYWdlIHBy b3ZpZGVzLiAgQ29uc3VsdCA9Qy1oIHYgc2hyLXVzZS1jb2xvcnM9Lg0KK0VtYWNzJyBIVE1MIHJl bmRlcmluZyBsaWJyYXJ5ICh7e3tmaWxlKHNoci5lbCl9fX0pIG1heSBuZWVkIGV4cGxpY2l0DQor Y29uZmlndXJhdGlvbiB0byByZXNwZWN0IHRoZSB0aGVtZSdzIGNvbG9ycyBpbnN0ZWFkIG9mIHdo YXRldmVyDQorc3BlY2lmaWNhdGlvbnMgdGhlIHdlYnBhZ2UgcHJvdmlkZXMuDQorDQorQ29uc3Vs dCB7e3trYmQoQy1oIHYgc2hyLXVzZS1jb2xvcnMpfX19Lg0KIA0KICoqIE5vdGUgZm9yIEhlbG0g Z3JlcA0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6ZDI4ODc5YTItOGU0Yi00NTI1LTk4 NmUtMTRjMGY4NzNkMjI5DQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOmQy ODg3OWEyLThlNGItNDUyNS05ODZlLTE0YzBmODczZDIyOQ0KKzplbmQ6DQogDQogVGhlcmUgaXMg b25lIGZhY2UgZnJvbSB0aGUgSGVsbSBwYWNrYWdlIHRoYXQgaXMgbWVhbnQgdG8gaGlnaGxpZ2h0 IHRoZQ0KIG1hdGNoZXMgb2YgYSBncmVwIG9yIGdyZXAtbGlrZSBjb21tYW5kICg9YWc9IG9yID1y aXBncmVwPSkuICBJdCBpcw0KLT1oZWxtLWdyZXAtbWF0Y2g9LiAgSG93ZXZlciwgdGhpcyBmYWNl IGNhbiBvbmx5IGFwcGx5IHdoZW4gdGhlIHVzZXIgZG9lcw0KK35oZWxtLWdyZXAtbWF0Y2h+LiAg SG93ZXZlciwgdGhpcyBmYWNlIGNhbiBvbmx5IGFwcGx5IHdoZW4gdGhlIHVzZXIgZG9lcw0KIG5v dCBwYXNzID0tLWNvbG9yPWFsd2F5cz0gYXMgYSBjb21tYW5kLWxpbmUgb3B0aW9uIGZvciB0aGVp ciBjb21tYW5kLg0KIA0KIEhlcmUgaXMgdGhlIGRvY3N0cmluZyBmb3IgdGhhdCBmYWNlLCB3aGlj aCBpcyBkZWZpbmVkIGluIHRoZQ0KLT1oZWxtLWdyZXAuZWw9IGxpYnJhcnkgKHZpZXcgYSBsaWJy YXJ5IHdpdGggPU0teCBmaW5kLWxpYnJhcnk9KS4NCit7e3tmaWxlKGhlbG0tZ3JlcC5lbCl9fX0g bGlicmFyeSAoeW91IGNhbiBhbHdheXMgdmlzaXQgdGhlIHNvdXJjZSBjb2RlIHdpdGgNCit7e3tr YmQoTS14IGZpbmQtbGlicmFyeSl9fX0pLg0KIA0KICMrYmVnaW5fcXVvdGUNCiBGYWNlIHVzZWQg dG8gaGlnaGxpZ2h0IGdyZXAgbWF0Y2hlcy4gIEhhdmUgbm8gZWZmZWN0IHdoZW4gZ3JlcCBiYWNr ZW5kDQpAQCAtMTczNCwyMyArMjUzMywyMyBAQCAqKiBOb3RlIGZvciBIZWxtIGdyZXANCiBUaGUg dXNlciBtdXN0IGVpdGhlciByZW1vdmUgPS0tY29sb3I9IGZyb20gdGhlIGZsYWdzIHBhc3NlZCB0 byB0aGUgZ3JlcA0KIGZ1bmN0aW9uLCBvciBleHBsaWNpdGx5IHVzZSA9LS1jb2xvcj1uZXZlcj0g KG9yIGVxdWl2YWxlbnQpLiAgSGVsbQ0KIHByb3ZpZGVzIHVzZXItZmFjaW5nIGN1c3RvbWl6YXRp b24gb3B0aW9ucyBmb3IgY29udHJvbGxpbmcgdGhlIGdyZXANCi1mdW5jdGlvbidzIHBhcmFtZXRl cnMsIHN1Y2ggYXMgPWhlbG0tZ3JlcC1kZWZhdWx0LWNvbW1hbmQ9IGFuZA0KLT1oZWxtLWdyZXAt Z2l0LWdyZXAtY29tbWFuZD0uDQorZnVuY3Rpb24ncyBwYXJhbWV0ZXJzLCBzdWNoIGFzIH5oZWxt LWdyZXAtZGVmYXVsdC1jb21tYW5kfiBhbmQNCit+aGVsbS1ncmVwLWdpdC1ncmVwLWNvbW1hbmR+ Lg0KIA0KIFdoZW4gPS0tY29sb3I9YWx3YXlzPSBpcyBpbiBlZmZlY3QsIHRoZSBncmVwIG91dHB1 dCB3aWxsIHVzZSByZWQgdGV4dCBpbg0KIGJvbGQgbGV0dGVyIGZvcm1zIHRvIHByZXNlbnQgdGhl IG1hdGNoaW5nIHBhcnQgaW4gdGhlIGxpc3Qgb2YNCiBjYW5kaWRhdGVzLiAgVGhhdCBzdHlsZSBz dGlsbCBtZWV0cyB0aGUgY29udHJhc3QgcmF0aW8gdGFyZ2V0IG9mID49IDc6MQ0KIChhY2Nlc3Np YmlsaXR5IHN0YW5kYXJkIFdDQUcgQUFBKSwgYmVjYXVzZSBpdCBkcmF3cyB0aGUgcmVmZXJlbmNl IHRvDQogQU5TSSBjb2xvciBudW1iZXIgMSAocmVkKSBmcm9tIHRoZSBhbHJlYWR5LXN1cHBvcnRl ZCBhcnJheSBvZg0KLT1hbnNpLWNvbG9yLW5hbWVzLXZlY3Rvcj0uDQorfmFuc2ktY29sb3ItbmFt ZXMtdmVjdG9yfi4NCiANCiAqKiBOb3RlIG9uIHZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZQ0K LTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6NTA5NWNiZDEtZTE3YS00MTljLTkzZTgtOTUx YzE4NjM2MmEzDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjUwOTVjYmQx LWUxN2EtNDE5Yy05M2U4LTk1MWMxODYzNjJhMw0KKzplbmQ6DQogDQotRHVlIHRvIHRoZSB1bmlx dWUgd2F5ID12Yy1hbm5vdGF0ZT0gKD1DLXggdiBnPSkgYXBwbGllcyBjb2xvcnMsIHN1cHBvcnQg Zm9yDQotaXRzIGJhY2tncm91bmQgbW9kZSAoPXZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZT0p IGlzIGRpc2FibGVkIGF0IHRoZQ0KK0R1ZSB0byB0aGUgdW5pcXVlIHdheSB+dmMtYW5ub3RhdGV+ ICh7e3trYmQoQy14IHYgZyl9fX0pIGFwcGxpZXMgY29sb3JzLCBzdXBwb3J0DQorZm9yIGl0cyBi YWNrZ3JvdW5kIG1vZGUgKH52Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGV+KSBpcyBkaXNhYmxl ZCBhdCB0aGUNCiB0aGVtZSBsZXZlbC4NCiANCiBOb3JtYWxseSwgc3VjaCBhIGRyYXN0aWMgbWVh c3VyZSBzaG91bGQgbm90IGJlbG9uZyBpbiBhIHRoZW1lOiBhc3N1bWluZw0KQEAgLTE3NjAsMzUg KzI1NTksODcgQEAgKiogTm90ZSBvbiB2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUNCiANCiBJ ZiB0aGVyZSBhY3R1YWxseSBpcyBhIHdheSB0byBhdm9pZCBzdWNoIGEgY291cnNlIG9mIGFjdGlv biwgd2l0aG91dA0KIHByZWp1ZGljZSB0byB0aGUgYWNjZXNzaWJpbGl0eSBzdGFuZGFyZCBvZiB0 aGlzIHByb2plY3QsIHRoZW4gcGxlYXNlDQotcmVwb3J0IGFzIG11Y2ggb3Igc2VuZCBwYXRjaGVz IChzZWUgW1sjaDo5YzNjZDg0Mi0xNGI3LTQ0ZDctODRiMi1hNWM4YmMzZmMzYjFdW0NvbnRyaWJ1 dGluZ11dKS4NCityZXBvcnQgYXMgbXVjaCBvciBzZW5kIHBhdGNoZXMgKFtbI2g6OWMzY2Q4NDIt MTRiNy00NGQ3LTg0YjItYTVjOGJjM2ZjM2IxXVtDb250cmlidXRpbmddXSkuDQorDQorKiogTm90 ZSBvbiBwZGYtdG9vbHMgbGluayBoaW50cw0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6 MjY1OWQxM2UtYjFhNS00MTZjLTlhODktN2MzY2UzYTc2NTc0DQorOmVuZDoNCisNCitIaW50cyBh cmUgZHJhd24gYnkgW1todHRwczovL2ltYWdlbWFnaWNrLm9yZy9dW0ltYWdlTWFnaWNrXV0sIG5v dCBFbWFjcywgaS5lLiwgSW1hZ2VNYWdpY2sgZG9lc24ndA0KK2tub3cgYWJvdXQgdGhlIGhpbnQg ZmFjZSB1bmxlc3MgeW91IHRlbGwgSW1hZ2VNYWdpY2sgYWJvdXQgaXQuIEJ5DQorZGVmYXVsdCwg b25seSB0aGUgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvciBhdHRyaWJ1dGVzIGFyZQ0K K3Bhc3NlZC4gVGhlIGJlbG93IHNuaXBwZXQgYWRkcyB0byB0aG9zZSB0aGUgdmFyaW91cyBmb250 IGF0dHJpYnV0ZXMuICBBcw0KK2l0IHF1ZXJpZXMgdmFyaW91cyBmYWNlcywgc3BlY2lmaWNhbGx5 IH5wZGYtbGlua3MtcmVhZC1saW5rfiBhbmQgdGhlIGZhY2VzDQoraXQgaW5oZXJpdHMsIGl0IG5l ZWRzIHRvIGJlIGFkZGVkIHRvIHlvdXIgaW5pdGlhbGl6YXRpb24gZmlsZSBhZnRlcg0KK3lvdSd2 ZSBjdXN0b21pemVkIGFueSBmYWNlcy4NCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKHVz ZS1wYWNrYWdlIHBkZi1saW5rcw0KKyAgOmNvbmZpZw0KKyAgKGxldCAoKHNwZWMNCisgICAgICAg ICAoYXBwbHkgIydhcHBlbmQNCisgICAgICAgICAgICAgICAgKG1hcGNhcg0KKyAgICAgICAgICAg ICAgICAgKGxhbWJkYSAobmFtZSkNCisgICAgICAgICAgICAgICAgICAgKGxpc3QgbmFtZQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAoZmFjZS1hdHRyaWJ1dGUgJ3BkZi1saW5rcy1yZWFkLWxp bmsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgbmlsICdk ZWZhdWx0KSkpDQorICAgICAgICAgICAgICAgICAnKDpmYW1pbHkgOndpZHRoIDp3ZWlnaHQgOnNs YW50KSkpKSkNCisgICAgKHNldHEgcGRmLWxpbmtzLXJlYWQtbGluay1jb252ZXJ0LWNvbW1hbmRz DQorICAgICAgICAgIGAoIi1kZW5zaXR5IiAgICAiOTYiDQorICAgICAgICAgICAgIi1mYW1pbHki ICAgICAsKHBsaXN0LWdldCBzcGVjIDpmYW1pbHkpDQorICAgICAgICAgICAgIi1zdHJldGNoIiAg ICAsKGxldCogKCh3aWR0aCAocGxpc3QtZ2V0IHNwZWMgOndpZHRoKSkNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKG5hbWUgKHN5bWJvbC1uYW1lIHdpZHRoKSkpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5nICItIiAiIg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Y2FwaXRhbGl6ZSBuYW1lKSkpDQorICAgICAgICAgICAgIi13ZWlnaHQiICAgICAsKHBjYXNlIChw bGlzdC1nZXQgc3BlYyA6d2VpZ2h0KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCd1 bHRyYS1saWdodCAiVGhpbiIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2V4dHJh LWxpZ2h0ICJFeHRyYUxpZ2h0IikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnbGln aHQgICAgICAgIkxpZ2h0IikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnc2VtaS1i b2xkICAgIlNlbWlCb2xkIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnYm9sZCAg ICAgICAgIkJvbGQiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdleHRyYS1ib2xk ICAiRXh0cmFCb2xkIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgndWx0cmEtYm9s ZCAgIkJsYWNrIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfd2VpZ2h0ICAgICAg Ik5vcm1hbCIpKQ0KKyAgICAgICAgICAgICItc3R5bGUiICAgICAgLChwY2FzZSAocGxpc3QtZ2V0 IHNwZWMgOnNsYW50KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdpdGFsaWMgICJJ dGFsaWMiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdvYmxpcXVlICJPYmxpcXVl IikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfc2xhbnQgICAiTm9ybWFsIikpDQor ICAgICAgICAgICAgIi1wb2ludHNpemUiICAiJVAiDQorICAgICAgICAgICAgIi11bmRlcmNvbG9y IiAiJWYiDQorICAgICAgICAgICAgIi1maWxsIiAgICAgICAiJWIiDQorICAgICAgICAgICAgIi1k cmF3IiAgICAgICAidGV4dCAlWCwlWSAnJWMnIikpKSkNCisjK2VuZF9zcmMNCiANCiAqIENvbnRy aWJ1dGluZw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6OWMzY2Q4NDItMTRiNy00NGQ3 LTg0YjItYTVjOGJjM2ZjM2IxDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBo OjljM2NkODQyLTE0YjctNDRkNy04NGIyLWE1YzhiYzNmYzNiMQ0KKzplbmQ6DQogDQogVGhpcyBz ZWN0aW9uIGRvY3VtZW50cyB0aGUgY2Fub25pY2FsIHNvdXJjZXMgb2YgdGhlIHRoZW1lcyBhbmQg dGhlIHdheXMNCiBpbiB3aGljaCB5b3UgY2FuIGNvbnRyaWJ1dGUgdG8gdGhlaXIgb25nb2luZyBk ZXZlbG9wbWVudC4NCiANCiAqKiBTb3VyY2VzIG9mIHRoZSB0aGVtZXMNCi06UFJPUEVSVElFUzoN Ci06Q1VTVE9NX0lEOiBoOjg5NTA0ZjFjLWM5YTEtNGJkOS1hYjM5LTc4ZmQwZWRkYjQ3Yw0KLTpF TkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDo4OTUwNGYxYy1jOWExLTRiZDktYWIz OS03OGZkMGVkZGI0N2MNCis6ZW5kOg0KKyMrY2luZGV4OiBTb3VyY2VzIG9mIHRoZSB0aGVtZXMN CiANCi1UaGUgPW1vZHVzLW9wZXJhbmRpPSBhbmQgPW1vZHVzLXZpdmVuZGk9IHRoZW1lcyBhcmUg YnVpbHQgaW50byBFbWFjcy4NCi1DdXJyZW50bHkgdGhleSBhcmUgaW4gdGhlIHByb2plY3QncyA9 bWFzdGVyPSBicmFuY2gsIHdoaWNoIGlzIHRyYWNraW5nIHRoZQ0KLW5leHQgZGV2ZWxvcG1lbnQg cmVsZWFzZSB0YXJnZXQuDQorVGhlIH5tb2R1cy1vcGVyYW5kaX4gYW5kIH5tb2R1cy12aXZlbmRp fiB0aGVtZXMgYXJlIGJ1aWx0IGludG8gRW1hY3MuDQorQ3VycmVudGx5IHRoZXkgYXJlIGluIEVt YWNzJyBnaXQgbWFpbiBicmFuY2ggKHRydW5rKSwgd2hpY2ggaXMgdHJhY2tpbmcNCit0aGUgbmV4 dCBkZXZlbG9wbWVudCByZWxlYXNlIHRhcmdldC4NCiANCiBUaGUgc291cmNlIGNvZGUgb2YgdGhl IHRoZW1lcyBpcyBbW2h0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMv XVthdmFpbGFibGUgb24gR2l0bGFiXV0sIGZvciB0aGUgdGltZQ0KIGJlaW5nLiAgQSBbW2h0dHBz Oi8vZ2l0aHViLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMvXVttaXJyb3Igb24gR2l0aHVi XV0gaXMgYWxzbyBvbiBvZmZlci4NCiANCi1BbiBIVE1MIHZlcnNpb24gb2YgdGhpcyBtYW51YWwg aXMgYXZhaWxhYmxlIGFzIGFuIGV4dGVuc2lvbiB0byB0aGUNCitBbiBIVE1MIHZlcnNpb24gb2Yg dGhpcyBtYW51YWwgaXMgcHJvdmlkZWQgYXMgYW4gZXh0ZW5zaW9uIG9mIHRoZQ0KIFtbaHR0cHM6 Ly9wcm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVzL11bYXV0aG9yJ3MgcGVyc29uYWwgd2Vic2l0 ZV1dIChkb2VzIG5vdCByZWx5IG9uIGFueSBub24tZnJlZSBjb2RlKS4NCiANCiAqKiBJc3N1ZXMg eW91IGNhbiBoZWxwIHdpdGgNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjY1MzZjOGQ1 LTNmOTgtNDNhYi1hNzg3LWI5NDEyMGU3MzVlOA0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1 c3RvbV9pZDogaDo2NTM2YzhkNS0zZjk4LTQzYWItYTc4Ny1iOTQxMjBlNzM1ZTgNCis6ZW5kOg0K KyMrY2luZGV4OiBDb250cmlidXRpbmcNCiANCiBBIGZldyB0YXNrcyB5b3UgY2FuIGhlbHAgd2l0 aDoNCiANCkBAIC0xODAyLDggKzI2NTMsOCBAQCAqKiBJc3N1ZXMgeW91IGNhbiBoZWxwIHdpdGgN CiANCiBbWyNoOjExMTc3M2UyLWYyNmYtNGI2OC04YzRmLTk3OTRjYTZiOTYzM11bUGF0Y2hlcyBy ZXF1aXJlIGNvcHlyaWdodCBhc3NpZ25tZW50IHRvIHRoZSBGU0ZdXS4NCiANCi1JdCB3b3VsZCBi ZSBncmVhdCBpZiB5b3VyIGZlZWRiYWNrIGFsc28gaW5jbHVkZXMgc29tZSBzY3JlZW5zaG90cywg R0lGcywNCi1vciBzaG9ydCB2aWRlb3MsIGFzIHdlbGwgYXMgZnVydGhlciBpbnN0cnVjdGlvbnMg dG8gcmVwcm9kdWNlIGEgZ2l2ZW4NCitJdCBpcyBwcmVmZXJhYmxlIHRoYXQgeW91ciBmZWVkYmFj ayBpbmNsdWRlcyBzb21lIHNjcmVlbnNob3RzLCBHSUZzLCBvcg0KK3Nob3J0IHZpZGVvcywgYXMg d2VsbCBhcyBmdXJ0aGVyIGluc3RydWN0aW9ucyB0byByZXByb2R1Y2UgYSBnaXZlbg0KIHNldHVw LiAgVGhvdWdoIHRoaXMgaXMgbm90IGEgcmVxdWlyZW1lbnQuDQogDQogV2hhdGV2ZXIgeW91IGRv LCBiZWFyIGluIG1pbmQgdGhlIG92ZXJhcmNoaW5nIG9iamVjdGl2ZSBvZiB0aGUgTW9kdXMNCkBA IC0xODEzLDExICsyNjY0LDkgQEAgKiogSXNzdWVzIHlvdSBjYW4gaGVscCB3aXRoDQogaW50ZXJl c3Qgb2YgdGhlIGxhdHRlci4NCiANCiAqKiBQYXRjaGVzIHJlcXVpcmUgY29weXJpZ2h0IGFzc2ln bm1lbnQgdG8gdGhlIEZTRg0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IE1lcmdlIHJlcXVl c3RzDQotOkRFU0NSSVBUSU9OOiBMZWdhbCBjb25zaWRlcmF0aW9ucyBmb3IgY29kZSBwYXRjaGVz DQotOkNVU1RPTV9JRDogaDoxMTE3NzNlMi1mMjZmLTRiNjgtOGM0Zi05Nzk0Y2E2Yjk2MzMNCi06 RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MTExNzczZTItZjI2Zi00YjY4LThj NGYtOTc5NGNhNmI5NjMzDQorOmVuZDoNCiANCiBDb2RlIGNvbnRyaWJ1dGlvbnMgYXJlIG1vc3Qg d2VsY29tZS4gIEZvciBhbnkgbWFqb3IgZWRpdCAobW9yZSB0aGFuIDE1DQogbGluZXMsIG9yIHNv LCBpbiBhZ2dyZWdhdGUgcGVyIHBlcnNvbiksIHlvdSBuZWVkIHRvIG1ha2UgYSBjb3B5cmlnaHQN CkBAIC0xODc1LDQ4ICsyNzI0LDU3IEBAICoqIFBhdGNoZXMgcmVxdWlyZSBjb3B5cmlnaHQgYXNz aWdubWVudCB0byB0aGUgRlNGDQogW1doaWNoIGZpbGVzIGhhdmUgeW91IGNoYW5nZWQgc28gZmFy LCBhbmQgd2hpY2ggbmV3IGZpbGVzIGhhdmUgeW91IHdyaXR0ZW4NCiBzbyBmYXI/XQ0KIA0KLUNo YW5nZWQgYSBjb3VwbGUgb2YgdGhlbWVzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIEVtYWNzIHNvdXJj ZSBjb2RlOg0KLQ0KLS4vZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5kaS10aGVtZS5lbA0KLS4vZXRj L3RoZW1lcy9tb2R1cy12aXZlbmRpLXRoZW1lLmVsDQogIytlbmRfZXhhbXBsZQ0KIA0KICogQWNr bm93bGVkZ2VtZW50cw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6OTVjM2RhMjMtMjE3 Zi00MDRlLWI1ZjMtNTZjNzU3NjBlYmNmDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9t X2lkOiBoOjk1YzNkYTIzLTIxN2YtNDA0ZS1iNWYzLTU2Yzc1NzYwZWJjZg0KKzplbmQ6DQorIytj aW5kZXg6IENvbnRyaWJ1dG9ycw0KIA0KLVRoZSBNb2R1cyB0aGVtZXMgYXJlIGEgY29sbGVjdGl2 ZSBlZmZvcnQuICBFdmVyeSBjb250cmlidXRpb24gY291bnRzLg0KK1RoZSBNb2R1cyB0aGVtZXMg YXJlIGEgY29sbGVjdGl2ZSBlZmZvcnQuICBFdmVyeSBiaXQgb2Ygd29yayBtYXR0ZXJzLg0KIA0K ICsgQXV0aG9yL21haW50YWluZXIgOjogUHJvdGVzaWxhb3MgU3RhdnJvdS4NCiANCiArIENvbnRy aWJ1dGlvbnMgdG8gY29kZSBvciBkb2N1bWVudGF0aW9uIDo6IEFuZGVycyBKb2hhbnNzb24sIEJh c2lsDQotICBMLiBDb250b3ZvdW5lc2lvcywgRWxpIFphcmV0c2tpaSwgTWFkaGF2YW4gS3Jpc2hu YW4sIE1hcmt1cyBCZXBwbGVyLA0KLSAgTWF0dGhldyBTdGV2ZW5zb24sIFNocmV5YXMgUmFnYXZh biwgU3RlZmFuIEthbmdhcywgVmluY2VudCBNdXJwaHkuDQotDQotKyBJZGVhcyBhbmQgdXNlciBm ZWVkYmFjayA6OiBBYXJvbiBKZW5zZW4sIEFkYW0gU3BpZXJzLCBBbGV4IEdyaWZmaW4sDQotICBB bGV4IFBlaXRzaW5pcywgQWxleGV5IFNobWFsa28sIEFuZGVycyBKb2hhbnNzb24sIEFuZHLDqSBB bGV4YW5kcmUNCi0gIEdvbWVzLCBBcmlmIFJlemFpLCBCYXNpbCBMLiBDb250b3ZvdW5lc2lvcywg RGFtaWVuIENhc3NvdSwgRGFyaW8NCi0gIEdqb3JnamV2c2tpLCBEYXZpZCBFZG1vbmRzb24sIERh dm9yIFJvdGltLCBEaXZhbiBTYW50YW5hLCBHZXJyeQ0KLSAgQWdib2JhZGEsIEdpYW5sdWNhIFJl Y2NoaWEsIElsamEgS29ja2VuLCBJcmlzIEdhcmNpYSwgTGVuIFRyaWdnLA0KLSAgTWFudWVsIFVi ZXJ0aSwgTWFyayBCdXJ0b24sIE1hcmt1cyBCZXBwbGVyLCBNaWNoYWVsIEdvbGRlbmJlcmcsIE11 cmlsbw0KLSAgUGVyZWlyYSwgTmljb2xhcyBEZSBKYWVnaGVyZSwgUGF1bCBQb2xvc2tvdiwgUGll cnJlIFTDqWNob3VleXJlcywgUm9tYW4NCi0gIFJ1ZGFrb3YsIFJ5YW4gUGhpbGxpcHMsIFNocmV5 YXMgUmFnYXZhbiwgU2ltb24gUHVnbmV0LCBUYXNzaWxvIEhvcm4sDQotICBUaGliYXV0IFZlcnJv biwgVHJleSBNZXJrbGV5LCBUb2dhbiBNdWZ0dW9nbHUsIFVyaSBTaGFyZiwgVXRrYXJzaA0KLSAg U2luZ2gsIFZpbmNlbnQgRm9sZXkuICBBcyB3ZWxsIGFzIHVzZXJzOiBCZW4sIEV1Z2VuZSwgRm91 cmNoYXV4LA0KLSAgRnJlZHJpaywgTW9lc2FzamksIE5pY2ssIFRoZUJsb2I0MiwgYmVwb2x5bWF0 aGUsIGRpbmtvLCBkb29saW8sDQotICBqaXhpdWYsIG9rYW1zbiwgdHljaG8gZ2FyZW4uDQotDQot KyBQYWNrYWdpbmcgOjogRGhhdmFuIFZhaWR5YSAoRGViaWFuKSwgU3RlZmFuIEthbmdhcyAoY29y ZSBFbWFjcyksDQotICBTdGVmYW4gTW9ubmllciAoR05VIEVscGEpLg0KKyAgTC4gQ29udG92b3Vu ZXNpb3MsIENhcmxvIFphbmNhbmFybywgRWxpIFphcmV0c2tpaSwgS29zdGFkaW4gTmluZXYsDQor ICBNYWRoYXZhbiBLcmlzaG5hbiwgTWFya3VzIEJlcHBsZXIsIE1hdHRoZXcgU3RldmVuc29uLCBO aWNvbGFzIERlDQorICBKYWVnaGVyZSwgU2hyZXlhcyBSYWdhdmFuLCBTdGVmYW4gS2FuZ2FzLCBW aW5jZW50IE11cnBoeSwgWGluZ2x1IENoZW4uDQorDQorKyBJZGVhcyBhbmQgdXNlciBmZWVkYmFj ayA6OiBBYXJvbiBKZW5zZW4sIEFkYW0gU3BpZXJzLCBBZHJpYW4gTWFuZWEsDQorICBBbGV4IEdy aWZmaW4sIEFsZXggUGVpdHNpbmlzLCBBbGV4ZXkgU2htYWxrbywgQWxvayBTaW5naCwgQW5kZXJz DQorICBKb2hhbnNzb24sIEFuZHLDqSBBbGV4YW5kcmUgR29tZXMsIEFyaWYgUmV6YWksIEJhc2ls IEwuIENvbnRvdm91bmVzaW9zLA0KKyAgQnVyZ2VzcyBDaGFuZywgQ2hyaXN0aWFuIFRpZXR6ZSwg Q2hyaXN0b3BoZXIgRGltZWNoLCBEYW1pZW4gQ2Fzc291LA0KKyAgRGFuaWVsIE1lbmRsZXIsIERh cmlvIEdqb3JnamV2c2tpLCBEYXZpZCBFZG1vbmRzb24sIERhdm9yIFJvdGltLCBEaXZhbg0KKyAg U2FudGFuYSwgR2VycnkgQWdib2JhZGEsIEdpYW5sdWNhIFJlY2NoaWEsIEd1c3Rhdm8gQmFycm9z LCBIw7ZybWV0amFuDQorICBZaWx0aXosIElsamEgS29ja2VuLCBJcmlzIEdhcmNpYSwgSmVyZW15 IEZyaWVzZW4sIEpvaG4gSGFtYW4sIEtldmluDQorICBGbGVtaW5nLCBLb3N0YWRpbiBOaW5ldiwg TGVuIFRyaWdnLCBNYW51ZWwgVWJlcnRpLCBNYXJrIEJ1cnRvbiwgTWFya3VzDQorICBCZXBwbGVy LCBNaWNoYWVsIEdvbGRlbmJlcmcsIE1vcmdhbiBTbWl0aCwgTXVyaWxvIFBlcmVpcmEsIE5pY29s YXMgRGUNCisgIEphZWdoZXJlLCBQYXVsIFBvbG9za292LCBQZXRlIEthem1pZXIsIFBldGVyIFd1 LCBQaGlsaXAgSy4sIFBpZXJyZQ0KKyAgVMOpY2hvdWV5cmVzLCBSb21hbiBSdWRha292LCBSeWFu IFBoaWxsaXBzLCBTYW0gS2xlaW5tYW4sIFNocmV5YXMNCisgIFJhZ2F2YW4sIFNpbW9uIFB1Z25l dCwgVGFzc2lsbyBIb3JuLCBUaGliYXV0IFZlcnJvbiwgVHJleSBNZXJrbGV5LA0KKyAgVG9nYW4g TXVmdHVvZ2x1LCBUb29uIENsYWVzLCBVcmkgU2hhcmYsIFV0a2Fyc2ggU2luZ2gsIFZpbmNlbnQg Rm9sZXkuDQorICBBcyB3ZWxsIGFzIHVzZXJzOiBCZW4sIENzQmlnRGF0YUh1YjEsIEVtYWNzIENv bnRyaWIsIEV1Z2VuZSwNCisgIEZvdXJjaGF1eCwgRnJlZHJpaywgTW9lc2FzamksIE5pY2ssIFRo ZUJsb2I0MiwgYmVwb2x5bWF0aGUsIGRvb2xpbywNCisgIGZsZWltZ3J1YmVyLCBpU2VlVSwgaml4 aXVmLCBva2Ftc24uDQorDQorKyBQYWNrYWdpbmcgOjogQmFzaWwgTC4gQ29udG92b3VuZXNpb3Ms IEVsaSBaYXJldHNraWksIEdsZW5uIE1vcnJpcywNCisgIE1hdXJvIEFyYW5kYSwgUmljaGFyZCBT dGFsbG1hbiwgU3RlZmFuIEthbmdhcyAoY29yZSBFbWFjcyksIFN0ZWZhbg0KKyAgTW9ubmllciAo R05VIEVscGEpLCBBbmRyw6kgQWxleGFuZHJlIEdvbWVzLCBEaW1ha2Frb3MgRGltb3MsIE1vcmdh bg0KKyAgU21pdGgsIE5pY29sYXMgR29hemlvdSAoR3VpeCksIERoYXZhbiBWYWlkeWEgKERlYmlh bikuDQogDQogKyBJbnNwaXJhdGlvbiBmb3IgY2VydGFpbiBmZWF0dXJlcyA6OiBCb3poaWRhciBC YXRzb3YgKHplbmJ1cm4tdGhlbWUpLA0KICAgRmFicmljZSBOaWVzc2VuIChsZXV2ZW4tdGhlbWUp Lg0KIA0KK1NwZWNpYWwgdGhhbmtzLCBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyLCB0byBNYW51ZWwg VWJlcnRpIGFuZCBPbWFyDQorQW50b2zDrW4gQ2FtYXJlbmEgZm9yIHRoZWlyIGxvbmcgdGltZSBj b250cmlidXRpb25zIGFuZCBpbnNpZ2h0ZnVsDQorY29tbWVudGFyeS4NCisNCiAqIE1ldGENCi06 UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjEzNzUyNTgxLTQzNzgtNDc4Yy1hZjE3LTE2NWI2 ZTc2YmMxYg0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDoxMzc1MjU4MS00 Mzc4LTQ3OGMtYWYxNy0xNjViNmU3NmJjMWINCis6ZW5kOg0KKyMrY2luZGV4OiBEZXZlbG9wbWVu dCBub3Rlcw0KIA0KIElmIHlvdSBhcmUgY3VyaW91cyBhYm91dCB0aGUgcHJpbmNpcGxlcyB0aGF0 IGdvdmVybiB0aGUgZGV2ZWxvcG1lbnQgb2YNCiB0aGlzIHByb2plY3QgcmVhZCB0aGUgZXNzYXkg W1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAtMDMtMTctZGVzaWduLW1vZHVz LXRoZW1lcy1lbWFjcy9dW09uIHRoZSBkZXNpZ24gb2YgdGhlIE1vZHVzIHRoZW1lc11dDQpAQCAt MTkzMSwzMiArMjc4OSw1MDEgQEAgKiBNZXRhDQogKyBbW2h0dHBzOi8vcHJvdGVzaWxhb3MuY29t L2NvZGVsb2cvMjAyMC0wNy0wNC1tb2R1cy10aGVtZXMtZmFpbnQtY29sb3Vycy9dW01vZHVzIHRo ZW1lczogbmV3ICJmYWludCBzeW50YXgiIG9wdGlvbl1dICgyMDIwLTA3LTA0KQ0KICsgW1todHRw czovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAtMDctMDgtbW9kdXMtdGhlbWVzLW51YW5j ZWQtY29sb3Vycy9dW01vZHVzIHRoZW1lczogbWFqb3IgcmV2aWV3IG9mICJudWFuY2VkIiBjb2xv dXJzXV0gKDIwMjAtMDctMDgpDQogKyBbW2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2NvZGVsb2cv MjAyMC0wOS0xNC1tb2R1cy10aGVtZXMtcmV2aWV3LWJsdWVzL11bTW9kdXMgdGhlbWVzOiByZXZp ZXcgb2YgYmx1ZSBjb2xvdXJzXV0gKDIwMjAtMDktMTQpDQorKyBbW2h0dHBzOi8vcHJvdGVzaWxh b3MuY29tL2NvZGVsb2cvMjAyMC0xMi0yNy1tb2R1cy10aGVtZXMtcmV2aWV3LXJhaW5ib3ctZGVs aW1pdGVycy9dW01vZHVzIHRoZW1lczogcmV2aWV3IHJhaW5ib3ctZGVsaW1pdGVycyBmYWNlc11d ICgyMDIwLTEyLTI3KQ0KKysgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjEt MDEtMTEtbW9kdXMtdGhlbWVzLXJldmlldy1zZWxlY3QtZmFpbnQtY29sb3Vycy9dW01vZHVzIHRo ZW1lczogcmV2aWV3IG9mIHNlbGVjdCAiZmFpbnQiIGNvbG91cnNdXSAoMjAyMS0wMS0xMSkNCisr IFtbaHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vY29kZWxvZy8yMDIxLTAyLTI1LW1vZHVzLXRoZW1l cy1kaWZmcy1kZXV0ZXJhbm9waWEvXVtUaGUgTW9kdXMgdGhlbWVzIG5vdyBjb3ZlciBkZXV0ZXJh bm9waWEgaW4gZGlmZnNdXSAoMjAyMS0wMi0yNSkNCiANCi1BbmQgaGVyZSBhcmUgdGhlIGNhbm9u aWNhbCBzb3VyY2VzIGZvciB0aGlzIHByb2plY3QncyBkb2N1bWVudGF0aW9uOg0KK0FuZCBoZXJl IGFyZSB0aGUgY2Fub25pY2FsIHNvdXJjZXMgb2YgdGhpcyBwcm9qZWN0J3MgZG9jdW1lbnRhdGlv bjoNCiANCiArIE1hbnVhbCA6OiA8aHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVz Pg0KICsgQ2hhbmdlIExvZyA6OiA8aHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVz LWNoYW5nZWxvZz4NCiArIFNjcmVlbnNob3RzIDo6IDxodHRwczovL3Byb3Rlc2lsYW9zLmNvbS9t b2R1cy10aGVtZXMtcGljdHVyZXM+DQogDQotKiBFeHRlcm5hbCBwcm9qZWN0cyAocG9ydHMpDQot OlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDoyMWFkYjdjOC0yMjA4LTQxZTgtODAzYy0wNTJl NDJlMmMwNWQNCi06RU5EOg0KLQ0KLVRoZSBwcmVzZW50IHNlY3Rpb24gZG9jdW1lbnRzIHByb2pl Y3RzIHRoYXQgZXh0ZW5kIHRoZSBzY29wZSBvZiB0aGUNCi1Nb2R1cyB0aGVtZXMuICBUaGUgZm9s bG93aW5nIGxpc3Qgd2lsbCBiZSB1cGRhdGVkIHdoZW5ldmVyIHJlbGV2YW50DQotaW5mb3JtYXRp b24gaXMgYnJvdWdodCB0byBteSBhdHRlbnRpb24uICBJZiB5b3UgYWxyZWFkeSBoYXZlIG9yIGlu dGVuZA0KLXRvIHByb2R1Y2Ugc3VjaCBhIHBvcnQsIGZlZWwgd2VsY29tZSBbW2h0dHBzOi8vcHJv dGVzaWxhb3MuY29tL2NvbnRhY3RdW3RvIGNvbnRhY3QgbWVdXS4NCi0NCi0rIE1vZHVzIGV4cG9y dGVyIDo6IFRoaXMgaXMgW1todHRwczovL2dpdGh1Yi5jb20vcG9sYXJpczY0L21vZHVzLWV4cG9y dGVyXVthbiBFbGlzcCBsaWJyYXJ5IHdyaXR0ZW4gYnkgU2ltb24gUHVnbmV0XV0uDQotICBMaWNl bnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAg SXQgaXMNCi0gIG1lYW50IHRvIGNhcHR1cmUgdGhlIGNvbG9yIHZhbHVlcyBvZiB0aGUgYWN0aXZl IE1vZHVzIHRoZW1lIChPcGVyYW5kaQ0KLSAgb3IgVml2ZW5kaSkgYW5kIG91dHB1dCBpdCBhcyBh IHZhbGlkIHRoZW1lIGZvciBzb21lIG90aGVyIGFwcGxpY2F0aW9uLg0KLQ0KICogR05VIEZyZWUg RG9jdW1lbnRhdGlvbiBMaWNlbnNlDQotOlBST1BFUlRJRVM6DQotOkFQUEVORElYOiB0DQotOkNV U1RPTV9JRDogaDozMDc3YzNkMi03ZjkwLTQyMjgtOGYwYS03MzEyNGY0MDI2ZjYNCi06RU5EOg0K Kzpwcm9wZXJ0aWVzOg0KKzphcHBlbmRpeDogdA0KKzpjdXN0b21faWQ6IGg6MzA3N2MzZDItN2Y5 MC00MjI4LThmMGEtNzMxMjRmNDAyNmY2DQorOmVuZDoNCiANCiAjK3RleGluZm86IEBpbmNsdWRl IGRvY2xpY2Vuc2UudGV4aQ0KKw0KKyMrYmVnaW5fZXhwb3J0IGh0bWwNCisNCisgICAgICAgICAg ICAgICAgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlDQorICAgICAgICAgICAgICAgICBW ZXJzaW9uIDEuMywgMyBOb3ZlbWJlciAyMDA4DQorDQorDQorIENvcHlyaWdodCAoQykgMjAwMCwg MjAwMSwgMjAwMiwgMjAwNywgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCisg ICAgIDxodHRwczovL2ZzZi5vcmcvPg0KKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBh bmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMNCisgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50 LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuDQorDQorMC4gUFJFQU1CTEUNCisNCitU aGUgcHVycG9zZSBvZiB0aGlzIExpY2Vuc2UgaXMgdG8gbWFrZSBhIG1hbnVhbCwgdGV4dGJvb2ss IG9yIG90aGVyDQorZnVuY3Rpb25hbCBhbmQgdXNlZnVsIGRvY3VtZW50ICJmcmVlIiBpbiB0aGUg c2Vuc2Ugb2YgZnJlZWRvbTogdG8NCithc3N1cmUgZXZlcnlvbmUgdGhlIGVmZmVjdGl2ZSBmcmVl ZG9tIHRvIGNvcHkgYW5kIHJlZGlzdHJpYnV0ZSBpdCwNCit3aXRoIG9yIHdpdGhvdXQgbW9kaWZ5 aW5nIGl0LCBlaXRoZXIgY29tbWVyY2lhbGx5IG9yIG5vbmNvbW1lcmNpYWxseS4NCitTZWNvbmRh cmlseSwgdGhpcyBMaWNlbnNlIHByZXNlcnZlcyBmb3IgdGhlIGF1dGhvciBhbmQgcHVibGlzaGVy IGEgd2F5DQordG8gZ2V0IGNyZWRpdCBmb3IgdGhlaXIgd29yaywgd2hpbGUgbm90IGJlaW5nIGNv bnNpZGVyZWQgcmVzcG9uc2libGUNCitmb3IgbW9kaWZpY2F0aW9ucyBtYWRlIGJ5IG90aGVycy4N CisNCitUaGlzIExpY2Vuc2UgaXMgYSBraW5kIG9mICJjb3B5bGVmdCIsIHdoaWNoIG1lYW5zIHRo YXQgZGVyaXZhdGl2ZQ0KK3dvcmtzIG9mIHRoZSBkb2N1bWVudCBtdXN0IHRoZW1zZWx2ZXMgYmUg ZnJlZSBpbiB0aGUgc2FtZSBzZW5zZS4gIEl0DQorY29tcGxlbWVudHMgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlLCB3aGljaCBpcyBhIGNvcHlsZWZ0DQorbGljZW5zZSBkZXNpZ25lZCBm b3IgZnJlZSBzb2Z0d2FyZS4NCisNCitXZSBoYXZlIGRlc2lnbmVkIHRoaXMgTGljZW5zZSBpbiBv cmRlciB0byB1c2UgaXQgZm9yIG1hbnVhbHMgZm9yIGZyZWUNCitzb2Z0d2FyZSwgYmVjYXVzZSBm cmVlIHNvZnR3YXJlIG5lZWRzIGZyZWUgZG9jdW1lbnRhdGlvbjogYSBmcmVlDQorcHJvZ3JhbSBz aG91bGQgY29tZSB3aXRoIG1hbnVhbHMgcHJvdmlkaW5nIHRoZSBzYW1lIGZyZWVkb21zIHRoYXQg dGhlDQorc29mdHdhcmUgZG9lcy4gIEJ1dCB0aGlzIExpY2Vuc2UgaXMgbm90IGxpbWl0ZWQgdG8g c29mdHdhcmUgbWFudWFsczsNCitpdCBjYW4gYmUgdXNlZCBmb3IgYW55IHRleHR1YWwgd29yaywg cmVnYXJkbGVzcyBvZiBzdWJqZWN0IG1hdHRlciBvcg0KK3doZXRoZXIgaXQgaXMgcHVibGlzaGVk IGFzIGEgcHJpbnRlZCBib29rLiAgV2UgcmVjb21tZW5kIHRoaXMgTGljZW5zZQ0KK3ByaW5jaXBh bGx5IGZvciB3b3JrcyB3aG9zZSBwdXJwb3NlIGlzIGluc3RydWN0aW9uIG9yIHJlZmVyZW5jZS4N CisNCisNCisxLiBBUFBMSUNBQklMSVRZIEFORCBERUZJTklUSU9OUw0KKw0KK1RoaXMgTGljZW5z ZSBhcHBsaWVzIHRvIGFueSBtYW51YWwgb3Igb3RoZXIgd29yaywgaW4gYW55IG1lZGl1bSwgdGhh dA0KK2NvbnRhaW5zIGEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlp bmcgaXQgY2FuIGJlDQorZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5z ZS4gIFN1Y2ggYSBub3RpY2UgZ3JhbnRzIGENCit3b3JsZC13aWRlLCByb3lhbHR5LWZyZWUgbGlj ZW5zZSwgdW5saW1pdGVkIGluIGR1cmF0aW9uLCB0byB1c2UgdGhhdA0KK3dvcmsgdW5kZXIgdGhl IGNvbmRpdGlvbnMgc3RhdGVkIGhlcmVpbi4gIFRoZSAiRG9jdW1lbnQiLCBiZWxvdywNCityZWZl cnMgdG8gYW55IHN1Y2ggbWFudWFsIG9yIHdvcmsuICBBbnkgbWVtYmVyIG9mIHRoZSBwdWJsaWMg aXMgYQ0KK2xpY2Vuc2VlLCBhbmQgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLiAgWW91IGFjY2VwdCB0 aGUgbGljZW5zZSBpZiB5b3UNCitjb3B5LCBtb2RpZnkgb3IgZGlzdHJpYnV0ZSB0aGUgd29yayBp biBhIHdheSByZXF1aXJpbmcgcGVybWlzc2lvbg0KK3VuZGVyIGNvcHlyaWdodCBsYXcuDQorDQor QSAiTW9kaWZpZWQgVmVyc2lvbiIgb2YgdGhlIERvY3VtZW50IG1lYW5zIGFueSB3b3JrIGNvbnRh aW5pbmcgdGhlDQorRG9jdW1lbnQgb3IgYSBwb3J0aW9uIG9mIGl0LCBlaXRoZXIgY29waWVkIHZl cmJhdGltLCBvciB3aXRoDQorbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFu b3RoZXIgbGFuZ3VhZ2UuDQorDQorQSAiU2Vjb25kYXJ5IFNlY3Rpb24iIGlzIGEgbmFtZWQgYXBw ZW5kaXggb3IgYSBmcm9udC1tYXR0ZXIgc2VjdGlvbiBvZg0KK3RoZSBEb2N1bWVudCB0aGF0IGRl YWxzIGV4Y2x1c2l2ZWx5IHdpdGggdGhlIHJlbGF0aW9uc2hpcCBvZiB0aGUNCitwdWJsaXNoZXJz IG9yIGF1dGhvcnMgb2YgdGhlIERvY3VtZW50IHRvIHRoZSBEb2N1bWVudCdzIG92ZXJhbGwNCitz dWJqZWN0IChvciB0byByZWxhdGVkIG1hdHRlcnMpIGFuZCBjb250YWlucyBub3RoaW5nIHRoYXQg Y291bGQgZmFsbA0KK2RpcmVjdGx5IHdpdGhpbiB0aGF0IG92ZXJhbGwgc3ViamVjdC4gIChUaHVz LCBpZiB0aGUgRG9jdW1lbnQgaXMgaW4NCitwYXJ0IGEgdGV4dGJvb2sgb2YgbWF0aGVtYXRpY3Ms IGEgU2Vjb25kYXJ5IFNlY3Rpb24gbWF5IG5vdCBleHBsYWluDQorYW55IG1hdGhlbWF0aWNzLikg IFRoZSByZWxhdGlvbnNoaXAgY291bGQgYmUgYSBtYXR0ZXIgb2YgaGlzdG9yaWNhbA0KK2Nvbm5l Y3Rpb24gd2l0aCB0aGUgc3ViamVjdCBvciB3aXRoIHJlbGF0ZWQgbWF0dGVycywgb3Igb2YgbGVn YWwsDQorY29tbWVyY2lhbCwgcGhpbG9zb3BoaWNhbCwgZXRoaWNhbCBvciBwb2xpdGljYWwgcG9z aXRpb24gcmVnYXJkaW5nDQordGhlbS4NCisNCitUaGUgIkludmFyaWFudCBTZWN0aW9ucyIgYXJl IGNlcnRhaW4gU2Vjb25kYXJ5IFNlY3Rpb25zIHdob3NlIHRpdGxlcw0KK2FyZSBkZXNpZ25hdGVk LCBhcyBiZWluZyB0aG9zZSBvZiBJbnZhcmlhbnQgU2VjdGlvbnMsIGluIHRoZSBub3RpY2UNCit0 aGF0IHNheXMgdGhhdCB0aGUgRG9jdW1lbnQgaXMgcmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNlbnNl LiAgSWYgYQ0KK3NlY3Rpb24gZG9lcyBub3QgZml0IHRoZSBhYm92ZSBkZWZpbml0aW9uIG9mIFNl Y29uZGFyeSB0aGVuIGl0IGlzIG5vdA0KK2FsbG93ZWQgdG8gYmUgZGVzaWduYXRlZCBhcyBJbnZh cmlhbnQuICBUaGUgRG9jdW1lbnQgbWF5IGNvbnRhaW4gemVybw0KK0ludmFyaWFudCBTZWN0aW9u cy4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5vdCBpZGVudGlmeSBhbnkgSW52YXJpYW50DQorU2Vj dGlvbnMgdGhlbiB0aGVyZSBhcmUgbm9uZS4NCisNCitUaGUgIkNvdmVyIFRleHRzIiBhcmUgY2Vy dGFpbiBzaG9ydCBwYXNzYWdlcyBvZiB0ZXh0IHRoYXQgYXJlIGxpc3RlZCwNCithcyBGcm9udC1D b3ZlciBUZXh0cyBvciBCYWNrLUNvdmVyIFRleHRzLCBpbiB0aGUgbm90aWNlIHRoYXQgc2F5cyB0 aGF0DQordGhlIERvY3VtZW50IGlzIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEEgRnJv bnQtQ292ZXIgVGV4dCBtYXkNCitiZSBhdCBtb3N0IDUgd29yZHMsIGFuZCBhIEJhY2stQ292ZXIg VGV4dCBtYXkgYmUgYXQgbW9zdCAyNSB3b3Jkcy4NCisNCitBICJUcmFuc3BhcmVudCIgY29weSBv ZiB0aGUgRG9jdW1lbnQgbWVhbnMgYSBtYWNoaW5lLXJlYWRhYmxlIGNvcHksDQorcmVwcmVzZW50 ZWQgaW4gYSBmb3JtYXQgd2hvc2Ugc3BlY2lmaWNhdGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlDQor Z2VuZXJhbCBwdWJsaWMsIHRoYXQgaXMgc3VpdGFibGUgZm9yIHJldmlzaW5nIHRoZSBkb2N1bWVu dA0KK3N0cmFpZ2h0Zm9yd2FyZGx5IHdpdGggZ2VuZXJpYyB0ZXh0IGVkaXRvcnMgb3IgKGZvciBp bWFnZXMgY29tcG9zZWQgb2YNCitwaXhlbHMpIGdlbmVyaWMgcGFpbnQgcHJvZ3JhbXMgb3IgKGZv ciBkcmF3aW5ncykgc29tZSB3aWRlbHkgYXZhaWxhYmxlDQorZHJhd2luZyBlZGl0b3IsIGFuZCB0 aGF0IGlzIHN1aXRhYmxlIGZvciBpbnB1dCB0byB0ZXh0IGZvcm1hdHRlcnMgb3INCitmb3IgYXV0 b21hdGljIHRyYW5zbGF0aW9uIHRvIGEgdmFyaWV0eSBvZiBmb3JtYXRzIHN1aXRhYmxlIGZvciBp bnB1dA0KK3RvIHRleHQgZm9ybWF0dGVycy4gIEEgY29weSBtYWRlIGluIGFuIG90aGVyd2lzZSBU cmFuc3BhcmVudCBmaWxlDQorZm9ybWF0IHdob3NlIG1hcmt1cCwgb3IgYWJzZW5jZSBvZiBtYXJr dXAsIGhhcyBiZWVuIGFycmFuZ2VkIHRvIHRod2FydA0KK29yIGRpc2NvdXJhZ2Ugc3Vic2VxdWVu dCBtb2RpZmljYXRpb24gYnkgcmVhZGVycyBpcyBub3QgVHJhbnNwYXJlbnQuDQorQW4gaW1hZ2Ug Zm9ybWF0IGlzIG5vdCBUcmFuc3BhcmVudCBpZiB1c2VkIGZvciBhbnkgc3Vic3RhbnRpYWwgYW1v dW50DQorb2YgdGV4dC4gIEEgY29weSB0aGF0IGlzIG5vdCAiVHJhbnNwYXJlbnQiIGlzIGNhbGxl ZCAiT3BhcXVlIi4NCisNCitFeGFtcGxlcyBvZiBzdWl0YWJsZSBmb3JtYXRzIGZvciBUcmFuc3Bh cmVudCBjb3BpZXMgaW5jbHVkZSBwbGFpbg0KK0FTQ0lJIHdpdGhvdXQgbWFya3VwLCBUZXhpbmZv IGlucHV0IGZvcm1hdCwgTGFUZVggaW5wdXQgZm9ybWF0LCBTR01MDQorb3IgWE1MIHVzaW5nIGEg cHVibGljbHkgYXZhaWxhYmxlIERURCwgYW5kIHN0YW5kYXJkLWNvbmZvcm1pbmcgc2ltcGxlDQor SFRNTCwgUG9zdFNjcmlwdCBvciBQREYgZGVzaWduZWQgZm9yIGh1bWFuIG1vZGlmaWNhdGlvbi4g IEV4YW1wbGVzIG9mDQordHJhbnNwYXJlbnQgaW1hZ2UgZm9ybWF0cyBpbmNsdWRlIFBORywgWENG IGFuZCBKUEcuICBPcGFxdWUgZm9ybWF0cw0KK2luY2x1ZGUgcHJvcHJpZXRhcnkgZm9ybWF0cyB0 aGF0IGNhbiBiZSByZWFkIGFuZCBlZGl0ZWQgb25seSBieQ0KK3Byb3ByaWV0YXJ5IHdvcmQgcHJv Y2Vzc29ycywgU0dNTCBvciBYTUwgZm9yIHdoaWNoIHRoZSBEVEQgYW5kL29yDQorcHJvY2Vzc2lu ZyB0b29scyBhcmUgbm90IGdlbmVyYWxseSBhdmFpbGFibGUsIGFuZCB0aGUNCittYWNoaW5lLWdl bmVyYXRlZCBIVE1MLCBQb3N0U2NyaXB0IG9yIFBERiBwcm9kdWNlZCBieSBzb21lIHdvcmQNCitw cm9jZXNzb3JzIGZvciBvdXRwdXQgcHVycG9zZXMgb25seS4NCisNCitUaGUgIlRpdGxlIFBhZ2Ui IG1lYW5zLCBmb3IgYSBwcmludGVkIGJvb2ssIHRoZSB0aXRsZSBwYWdlIGl0c2VsZiwNCitwbHVz IHN1Y2ggZm9sbG93aW5nIHBhZ2VzIGFzIGFyZSBuZWVkZWQgdG8gaG9sZCwgbGVnaWJseSwgdGhl IG1hdGVyaWFsDQordGhpcyBMaWNlbnNlIHJlcXVpcmVzIHRvIGFwcGVhciBpbiB0aGUgdGl0bGUg cGFnZS4gIEZvciB3b3JrcyBpbg0KK2Zvcm1hdHMgd2hpY2ggZG8gbm90IGhhdmUgYW55IHRpdGxl IHBhZ2UgYXMgc3VjaCwgIlRpdGxlIFBhZ2UiIG1lYW5zDQordGhlIHRleHQgbmVhciB0aGUgbW9z dCBwcm9taW5lbnQgYXBwZWFyYW5jZSBvZiB0aGUgd29yaydzIHRpdGxlLA0KK3ByZWNlZGluZyB0 aGUgYmVnaW5uaW5nIG9mIHRoZSBib2R5IG9mIHRoZSB0ZXh0Lg0KKw0KK1RoZSAicHVibGlzaGVy IiBtZWFucyBhbnkgcGVyc29uIG9yIGVudGl0eSB0aGF0IGRpc3RyaWJ1dGVzIGNvcGllcyBvZg0K K3RoZSBEb2N1bWVudCB0byB0aGUgcHVibGljLg0KKw0KK0Egc2VjdGlvbiAiRW50aXRsZWQgWFla IiBtZWFucyBhIG5hbWVkIHN1YnVuaXQgb2YgdGhlIERvY3VtZW50IHdob3NlDQordGl0bGUgZWl0 aGVyIGlzIHByZWNpc2VseSBYWVogb3IgY29udGFpbnMgWFlaIGluIHBhcmVudGhlc2VzIGZvbGxv d2luZw0KK3RleHQgdGhhdCB0cmFuc2xhdGVzIFhZWiBpbiBhbm90aGVyIGxhbmd1YWdlLiAgKEhl cmUgWFlaIHN0YW5kcyBmb3IgYQ0KK3NwZWNpZmljIHNlY3Rpb24gbmFtZSBtZW50aW9uZWQgYmVs b3csIHN1Y2ggYXMgIkFja25vd2xlZGdlbWVudHMiLA0KKyJEZWRpY2F0aW9ucyIsICJFbmRvcnNl bWVudHMiLCBvciAiSGlzdG9yeSIuKSAgVG8gIlByZXNlcnZlIHRoZSBUaXRsZSINCitvZiBzdWNo IGEgc2VjdGlvbiB3aGVuIHlvdSBtb2RpZnkgdGhlIERvY3VtZW50IG1lYW5zIHRoYXQgaXQgcmVt YWlucyBhDQorc2VjdGlvbiAiRW50aXRsZWQgWFlaIiBhY2NvcmRpbmcgdG8gdGhpcyBkZWZpbml0 aW9uLg0KKw0KK1RoZSBEb2N1bWVudCBtYXkgaW5jbHVkZSBXYXJyYW50eSBEaXNjbGFpbWVycyBu ZXh0IHRvIHRoZSBub3RpY2Ugd2hpY2gNCitzdGF0ZXMgdGhhdCB0aGlzIExpY2Vuc2UgYXBwbGll cyB0byB0aGUgRG9jdW1lbnQuICBUaGVzZSBXYXJyYW50eQ0KK0Rpc2NsYWltZXJzIGFyZSBjb25z aWRlcmVkIHRvIGJlIGluY2x1ZGVkIGJ5IHJlZmVyZW5jZSBpbiB0aGlzDQorTGljZW5zZSwgYnV0 IG9ubHkgYXMgcmVnYXJkcyBkaXNjbGFpbWluZyB3YXJyYW50aWVzOiBhbnkgb3RoZXINCitpbXBs aWNhdGlvbiB0aGF0IHRoZXNlIFdhcnJhbnR5IERpc2NsYWltZXJzIG1heSBoYXZlIGlzIHZvaWQg YW5kIGhhcw0KK25vIGVmZmVjdCBvbiB0aGUgbWVhbmluZyBvZiB0aGlzIExpY2Vuc2UuDQorDQor Mi4gVkVSQkFUSU0gQ09QWUlORw0KKw0KK1lvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUg RG9jdW1lbnQgaW4gYW55IG1lZGl1bSwgZWl0aGVyDQorY29tbWVyY2lhbGx5IG9yIG5vbmNvbW1l cmNpYWxseSwgcHJvdmlkZWQgdGhhdCB0aGlzIExpY2Vuc2UsIHRoZQ0KK2NvcHlyaWdodCBub3Rp Y2VzLCBhbmQgdGhlIGxpY2Vuc2Ugbm90aWNlIHNheWluZyB0aGlzIExpY2Vuc2UgYXBwbGllcw0K K3RvIHRoZSBEb2N1bWVudCBhcmUgcmVwcm9kdWNlZCBpbiBhbGwgY29waWVzLCBhbmQgdGhhdCB5 b3UgYWRkIG5vDQorb3RoZXIgY29uZGl0aW9ucyB3aGF0c29ldmVyIHRvIHRob3NlIG9mIHRoaXMg TGljZW5zZS4gIFlvdSBtYXkgbm90IHVzZQ0KK3RlY2huaWNhbCBtZWFzdXJlcyB0byBvYnN0cnVj dCBvciBjb250cm9sIHRoZSByZWFkaW5nIG9yIGZ1cnRoZXINCitjb3B5aW5nIG9mIHRoZSBjb3Bp ZXMgeW91IG1ha2Ugb3IgZGlzdHJpYnV0ZS4gIEhvd2V2ZXIsIHlvdSBtYXkgYWNjZXB0DQorY29t cGVuc2F0aW9uIGluIGV4Y2hhbmdlIGZvciBjb3BpZXMuICBJZiB5b3UgZGlzdHJpYnV0ZSBhIGxh cmdlIGVub3VnaA0KK251bWJlciBvZiBjb3BpZXMgeW91IG11c3QgYWxzbyBmb2xsb3cgdGhlIGNv bmRpdGlvbnMgaW4gc2VjdGlvbiAzLg0KKw0KK1lvdSBtYXkgYWxzbyBsZW5kIGNvcGllcywgdW5k ZXIgdGhlIHNhbWUgY29uZGl0aW9ucyBzdGF0ZWQgYWJvdmUsIGFuZA0KK3lvdSBtYXkgcHVibGlj bHkgZGlzcGxheSBjb3BpZXMuDQorDQorDQorMy4gQ09QWUlORyBJTiBRVUFOVElUWQ0KKw0KK0lm IHlvdSBwdWJsaXNoIHByaW50ZWQgY29waWVzIChvciBjb3BpZXMgaW4gbWVkaWEgdGhhdCBjb21t b25seSBoYXZlDQorcHJpbnRlZCBjb3ZlcnMpIG9mIHRoZSBEb2N1bWVudCwgbnVtYmVyaW5nIG1v cmUgdGhhbiAxMDAsIGFuZCB0aGUNCitEb2N1bWVudCdzIGxpY2Vuc2Ugbm90aWNlIHJlcXVpcmVz IENvdmVyIFRleHRzLCB5b3UgbXVzdCBlbmNsb3NlIHRoZQ0KK2NvcGllcyBpbiBjb3ZlcnMgdGhh dCBjYXJyeSwgY2xlYXJseSBhbmQgbGVnaWJseSwgYWxsIHRoZXNlIENvdmVyDQorVGV4dHM6IEZy b250LUNvdmVyIFRleHRzIG9uIHRoZSBmcm9udCBjb3ZlciwgYW5kIEJhY2stQ292ZXIgVGV4dHMg b24NCit0aGUgYmFjayBjb3Zlci4gIEJvdGggY292ZXJzIG11c3QgYWxzbyBjbGVhcmx5IGFuZCBs ZWdpYmx5IGlkZW50aWZ5DQoreW91IGFzIHRoZSBwdWJsaXNoZXIgb2YgdGhlc2UgY29waWVzLiAg VGhlIGZyb250IGNvdmVyIG11c3QgcHJlc2VudA0KK3RoZSBmdWxsIHRpdGxlIHdpdGggYWxsIHdv cmRzIG9mIHRoZSB0aXRsZSBlcXVhbGx5IHByb21pbmVudCBhbmQNCit2aXNpYmxlLiAgWW91IG1h eSBhZGQgb3RoZXIgbWF0ZXJpYWwgb24gdGhlIGNvdmVycyBpbiBhZGRpdGlvbi4NCitDb3B5aW5n IHdpdGggY2hhbmdlcyBsaW1pdGVkIHRvIHRoZSBjb3ZlcnMsIGFzIGxvbmcgYXMgdGhleSBwcmVz ZXJ2ZQ0KK3RoZSB0aXRsZSBvZiB0aGUgRG9jdW1lbnQgYW5kIHNhdGlzZnkgdGhlc2UgY29uZGl0 aW9ucywgY2FuIGJlIHRyZWF0ZWQNCithcyB2ZXJiYXRpbSBjb3B5aW5nIGluIG90aGVyIHJlc3Bl Y3RzLg0KKw0KK0lmIHRoZSByZXF1aXJlZCB0ZXh0cyBmb3IgZWl0aGVyIGNvdmVyIGFyZSB0b28g dm9sdW1pbm91cyB0byBmaXQNCitsZWdpYmx5LCB5b3Ugc2hvdWxkIHB1dCB0aGUgZmlyc3Qgb25l cyBsaXN0ZWQgKGFzIG1hbnkgYXMgZml0DQorcmVhc29uYWJseSkgb24gdGhlIGFjdHVhbCBjb3Zl ciwgYW5kIGNvbnRpbnVlIHRoZSByZXN0IG9udG8gYWRqYWNlbnQNCitwYWdlcy4NCisNCitJZiB5 b3UgcHVibGlzaCBvciBkaXN0cmlidXRlIE9wYXF1ZSBjb3BpZXMgb2YgdGhlIERvY3VtZW50IG51 bWJlcmluZw0KK21vcmUgdGhhbiAxMDAsIHlvdSBtdXN0IGVpdGhlciBpbmNsdWRlIGEgbWFjaGlu ZS1yZWFkYWJsZSBUcmFuc3BhcmVudA0KK2NvcHkgYWxvbmcgd2l0aCBlYWNoIE9wYXF1ZSBjb3B5 LCBvciBzdGF0ZSBpbiBvciB3aXRoIGVhY2ggT3BhcXVlIGNvcHkNCithIGNvbXB1dGVyLW5ldHdv cmsgbG9jYXRpb24gZnJvbSB3aGljaCB0aGUgZ2VuZXJhbCBuZXR3b3JrLXVzaW5nDQorcHVibGlj IGhhcyBhY2Nlc3MgdG8gZG93bmxvYWQgdXNpbmcgcHVibGljLXN0YW5kYXJkIG5ldHdvcmsgcHJv dG9jb2xzDQorYSBjb21wbGV0ZSBUcmFuc3BhcmVudCBjb3B5IG9mIHRoZSBEb2N1bWVudCwgZnJl ZSBvZiBhZGRlZCBtYXRlcmlhbC4NCitJZiB5b3UgdXNlIHRoZSBsYXR0ZXIgb3B0aW9uLCB5b3Ug bXVzdCB0YWtlIHJlYXNvbmFibHkgcHJ1ZGVudCBzdGVwcywNCit3aGVuIHlvdSBiZWdpbiBkaXN0 cmlidXRpb24gb2YgT3BhcXVlIGNvcGllcyBpbiBxdWFudGl0eSwgdG8gZW5zdXJlDQordGhhdCB0 aGlzIFRyYW5zcGFyZW50IGNvcHkgd2lsbCByZW1haW4gdGh1cyBhY2Nlc3NpYmxlIGF0IHRoZSBz dGF0ZWQNCitsb2NhdGlvbiB1bnRpbCBhdCBsZWFzdCBvbmUgeWVhciBhZnRlciB0aGUgbGFzdCB0 aW1lIHlvdSBkaXN0cmlidXRlIGFuDQorT3BhcXVlIGNvcHkgKGRpcmVjdGx5IG9yIHRocm91Z2gg eW91ciBhZ2VudHMgb3IgcmV0YWlsZXJzKSBvZiB0aGF0DQorZWRpdGlvbiB0byB0aGUgcHVibGlj Lg0KKw0KK0l0IGlzIHJlcXVlc3RlZCwgYnV0IG5vdCByZXF1aXJlZCwgdGhhdCB5b3UgY29udGFj dCB0aGUgYXV0aG9ycyBvZiB0aGUNCitEb2N1bWVudCB3ZWxsIGJlZm9yZSByZWRpc3RyaWJ1dGlu ZyBhbnkgbGFyZ2UgbnVtYmVyIG9mIGNvcGllcywgdG8NCitnaXZlIHRoZW0gYSBjaGFuY2UgdG8g cHJvdmlkZSB5b3Ugd2l0aCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdGhlDQorRG9jdW1lbnQuDQor DQorDQorNC4gTU9ESUZJQ0FUSU9OUw0KKw0KK1lvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSBh IE1vZGlmaWVkIFZlcnNpb24gb2YgdGhlIERvY3VtZW50IHVuZGVyDQordGhlIGNvbmRpdGlvbnMg b2Ygc2VjdGlvbnMgMiBhbmQgMyBhYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgcmVsZWFzZQ0KK3Ro ZSBNb2RpZmllZCBWZXJzaW9uIHVuZGVyIHByZWNpc2VseSB0aGlzIExpY2Vuc2UsIHdpdGggdGhl IE1vZGlmaWVkDQorVmVyc2lvbiBmaWxsaW5nIHRoZSByb2xlIG9mIHRoZSBEb2N1bWVudCwgdGh1 cyBsaWNlbnNpbmcgZGlzdHJpYnV0aW9uDQorYW5kIG1vZGlmaWNhdGlvbiBvZiB0aGUgTW9kaWZp ZWQgVmVyc2lvbiB0byB3aG9ldmVyIHBvc3Nlc3NlcyBhIGNvcHkNCitvZiBpdC4gIEluIGFkZGl0 aW9uLCB5b3UgbXVzdCBkbyB0aGVzZSB0aGluZ3MgaW4gdGhlIE1vZGlmaWVkIFZlcnNpb246DQor DQorQS4gVXNlIGluIHRoZSBUaXRsZSBQYWdlIChhbmQgb24gdGhlIGNvdmVycywgaWYgYW55KSBh IHRpdGxlIGRpc3RpbmN0DQorICAgZnJvbSB0aGF0IG9mIHRoZSBEb2N1bWVudCwgYW5kIGZyb20g dGhvc2Ugb2YgcHJldmlvdXMgdmVyc2lvbnMNCisgICAod2hpY2ggc2hvdWxkLCBpZiB0aGVyZSB3 ZXJlIGFueSwgYmUgbGlzdGVkIGluIHRoZSBIaXN0b3J5IHNlY3Rpb24NCisgICBvZiB0aGUgRG9j dW1lbnQpLiAgWW91IG1heSB1c2UgdGhlIHNhbWUgdGl0bGUgYXMgYSBwcmV2aW91cyB2ZXJzaW9u DQorICAgaWYgdGhlIG9yaWdpbmFsIHB1Ymxpc2hlciBvZiB0aGF0IHZlcnNpb24gZ2l2ZXMgcGVy bWlzc2lvbi4NCitCLiBMaXN0IG9uIHRoZSBUaXRsZSBQYWdlLCBhcyBhdXRob3JzLCBvbmUgb3Ig bW9yZSBwZXJzb25zIG9yIGVudGl0aWVzDQorICAgcmVzcG9uc2libGUgZm9yIGF1dGhvcnNoaXAg b2YgdGhlIG1vZGlmaWNhdGlvbnMgaW4gdGhlIE1vZGlmaWVkDQorICAgVmVyc2lvbiwgdG9nZXRo ZXIgd2l0aCBhdCBsZWFzdCBmaXZlIG9mIHRoZSBwcmluY2lwYWwgYXV0aG9ycyBvZiB0aGUNCisg ICBEb2N1bWVudCAoYWxsIG9mIGl0cyBwcmluY2lwYWwgYXV0aG9ycywgaWYgaXQgaGFzIGZld2Vy IHRoYW4gZml2ZSksDQorICAgdW5sZXNzIHRoZXkgcmVsZWFzZSB5b3UgZnJvbSB0aGlzIHJlcXVp cmVtZW50Lg0KK0MuIFN0YXRlIG9uIHRoZSBUaXRsZSBwYWdlIHRoZSBuYW1lIG9mIHRoZSBwdWJs aXNoZXIgb2YgdGhlDQorICAgTW9kaWZpZWQgVmVyc2lvbiwgYXMgdGhlIHB1Ymxpc2hlci4NCitE LiBQcmVzZXJ2ZSBhbGwgdGhlIGNvcHlyaWdodCBub3RpY2VzIG9mIHRoZSBEb2N1bWVudC4NCitF LiBBZGQgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBmb3IgeW91ciBtb2RpZmljYXRp b25zDQorICAgYWRqYWNlbnQgdG8gdGhlIG90aGVyIGNvcHlyaWdodCBub3RpY2VzLg0KK0YuIElu Y2x1ZGUsIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBjb3B5cmlnaHQgbm90aWNlcywgYSBsaWNlbnNl IG5vdGljZQ0KKyAgIGdpdmluZyB0aGUgcHVibGljIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBNb2Rp ZmllZCBWZXJzaW9uIHVuZGVyIHRoZQ0KKyAgIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwgaW4gdGhl IGZvcm0gc2hvd24gaW4gdGhlIEFkZGVuZHVtIGJlbG93Lg0KK0cuIFByZXNlcnZlIGluIHRoYXQg bGljZW5zZSBub3RpY2UgdGhlIGZ1bGwgbGlzdHMgb2YgSW52YXJpYW50IFNlY3Rpb25zDQorICAg YW5kIHJlcXVpcmVkIENvdmVyIFRleHRzIGdpdmVuIGluIHRoZSBEb2N1bWVudCdzIGxpY2Vuc2Ug bm90aWNlLg0KK0guIEluY2x1ZGUgYW4gdW5hbHRlcmVkIGNvcHkgb2YgdGhpcyBMaWNlbnNlLg0K K0kuIFByZXNlcnZlIHRoZSBzZWN0aW9uIEVudGl0bGVkICJIaXN0b3J5IiwgUHJlc2VydmUgaXRz IFRpdGxlLCBhbmQgYWRkDQorICAgdG8gaXQgYW4gaXRlbSBzdGF0aW5nIGF0IGxlYXN0IHRoZSB0 aXRsZSwgeWVhciwgbmV3IGF1dGhvcnMsIGFuZA0KKyAgIHB1Ymxpc2hlciBvZiB0aGUgTW9kaWZp ZWQgVmVyc2lvbiBhcyBnaXZlbiBvbiB0aGUgVGl0bGUgUGFnZS4gIElmDQorICAgdGhlcmUgaXMg bm8gc2VjdGlvbiBFbnRpdGxlZCAiSGlzdG9yeSIgaW4gdGhlIERvY3VtZW50LCBjcmVhdGUgb25l DQorICAgc3RhdGluZyB0aGUgdGl0bGUsIHllYXIsIGF1dGhvcnMsIGFuZCBwdWJsaXNoZXIgb2Yg dGhlIERvY3VtZW50IGFzDQorICAgZ2l2ZW4gb24gaXRzIFRpdGxlIFBhZ2UsIHRoZW4gYWRkIGFu IGl0ZW0gZGVzY3JpYmluZyB0aGUgTW9kaWZpZWQNCisgICBWZXJzaW9uIGFzIHN0YXRlZCBpbiB0 aGUgcHJldmlvdXMgc2VudGVuY2UuDQorSi4gUHJlc2VydmUgdGhlIG5ldHdvcmsgbG9jYXRpb24s IGlmIGFueSwgZ2l2ZW4gaW4gdGhlIERvY3VtZW50IGZvcg0KKyAgIHB1YmxpYyBhY2Nlc3MgdG8g YSBUcmFuc3BhcmVudCBjb3B5IG9mIHRoZSBEb2N1bWVudCwgYW5kIGxpa2V3aXNlDQorICAgdGhl IG5ldHdvcmsgbG9jYXRpb25zIGdpdmVuIGluIHRoZSBEb2N1bWVudCBmb3IgcHJldmlvdXMgdmVy c2lvbnMNCisgICBpdCB3YXMgYmFzZWQgb24uICBUaGVzZSBtYXkgYmUgcGxhY2VkIGluIHRoZSAi SGlzdG9yeSIgc2VjdGlvbi4NCisgICBZb3UgbWF5IG9taXQgYSBuZXR3b3JrIGxvY2F0aW9uIGZv ciBhIHdvcmsgdGhhdCB3YXMgcHVibGlzaGVkIGF0DQorICAgbGVhc3QgZm91ciB5ZWFycyBiZWZv cmUgdGhlIERvY3VtZW50IGl0c2VsZiwgb3IgaWYgdGhlIG9yaWdpbmFsDQorICAgcHVibGlzaGVy IG9mIHRoZSB2ZXJzaW9uIGl0IHJlZmVycyB0byBnaXZlcyBwZXJtaXNzaW9uLg0KK0suIEZvciBh bnkgc2VjdGlvbiBFbnRpdGxlZCAiQWNrbm93bGVkZ2VtZW50cyIgb3IgIkRlZGljYXRpb25zIiwN CisgICBQcmVzZXJ2ZSB0aGUgVGl0bGUgb2YgdGhlIHNlY3Rpb24sIGFuZCBwcmVzZXJ2ZSBpbiB0 aGUgc2VjdGlvbiBhbGwNCisgICB0aGUgc3Vic3RhbmNlIGFuZCB0b25lIG9mIGVhY2ggb2YgdGhl IGNvbnRyaWJ1dG9yIGFja25vd2xlZGdlbWVudHMNCisgICBhbmQvb3IgZGVkaWNhdGlvbnMgZ2l2 ZW4gdGhlcmVpbi4NCitMLiBQcmVzZXJ2ZSBhbGwgdGhlIEludmFyaWFudCBTZWN0aW9ucyBvZiB0 aGUgRG9jdW1lbnQsDQorICAgdW5hbHRlcmVkIGluIHRoZWlyIHRleHQgYW5kIGluIHRoZWlyIHRp dGxlcy4gIFNlY3Rpb24gbnVtYmVycw0KKyAgIG9yIHRoZSBlcXVpdmFsZW50IGFyZSBub3QgY29u c2lkZXJlZCBwYXJ0IG9mIHRoZSBzZWN0aW9uIHRpdGxlcy4NCitNLiBEZWxldGUgYW55IHNlY3Rp b24gRW50aXRsZWQgIkVuZG9yc2VtZW50cyIuICBTdWNoIGEgc2VjdGlvbg0KKyAgIG1heSBub3Qg YmUgaW5jbHVkZWQgaW4gdGhlIE1vZGlmaWVkIFZlcnNpb24uDQorTi4gRG8gbm90IHJldGl0bGUg YW55IGV4aXN0aW5nIHNlY3Rpb24gdG8gYmUgRW50aXRsZWQgIkVuZG9yc2VtZW50cyINCisgICBv ciB0byBjb25mbGljdCBpbiB0aXRsZSB3aXRoIGFueSBJbnZhcmlhbnQgU2VjdGlvbi4NCitPLiBQ cmVzZXJ2ZSBhbnkgV2FycmFudHkgRGlzY2xhaW1lcnMuDQorDQorSWYgdGhlIE1vZGlmaWVkIFZl cnNpb24gaW5jbHVkZXMgbmV3IGZyb250LW1hdHRlciBzZWN0aW9ucyBvcg0KK2FwcGVuZGljZXMg dGhhdCBxdWFsaWZ5IGFzIFNlY29uZGFyeSBTZWN0aW9ucyBhbmQgY29udGFpbiBubyBtYXRlcmlh bA0KK2NvcGllZCBmcm9tIHRoZSBEb2N1bWVudCwgeW91IG1heSBhdCB5b3VyIG9wdGlvbiBkZXNp Z25hdGUgc29tZSBvciBhbGwNCitvZiB0aGVzZSBzZWN0aW9ucyBhcyBpbnZhcmlhbnQuICBUbyBk byB0aGlzLCBhZGQgdGhlaXIgdGl0bGVzIHRvIHRoZQ0KK2xpc3Qgb2YgSW52YXJpYW50IFNlY3Rp b25zIGluIHRoZSBNb2RpZmllZCBWZXJzaW9uJ3MgbGljZW5zZSBub3RpY2UuDQorVGhlc2UgdGl0 bGVzIG11c3QgYmUgZGlzdGluY3QgZnJvbSBhbnkgb3RoZXIgc2VjdGlvbiB0aXRsZXMuDQorDQor WW91IG1heSBhZGQgYSBzZWN0aW9uIEVudGl0bGVkICJFbmRvcnNlbWVudHMiLCBwcm92aWRlZCBp dCBjb250YWlucw0KK25vdGhpbmcgYnV0IGVuZG9yc2VtZW50cyBvZiB5b3VyIE1vZGlmaWVkIFZl cnNpb24gYnkgdmFyaW91cw0KK3BhcnRpZXMtLWZvciBleGFtcGxlLCBzdGF0ZW1lbnRzIG9mIHBl ZXIgcmV2aWV3IG9yIHRoYXQgdGhlIHRleHQgaGFzDQorYmVlbiBhcHByb3ZlZCBieSBhbiBvcmdh bml6YXRpb24gYXMgdGhlIGF1dGhvcml0YXRpdmUgZGVmaW5pdGlvbiBvZiBhDQorc3RhbmRhcmQu DQorDQorWW91IG1heSBhZGQgYSBwYXNzYWdlIG9mIHVwIHRvIGZpdmUgd29yZHMgYXMgYSBGcm9u dC1Db3ZlciBUZXh0LCBhbmQgYQ0KK3Bhc3NhZ2Ugb2YgdXAgdG8gMjUgd29yZHMgYXMgYSBCYWNr LUNvdmVyIFRleHQsIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QNCitvZiBDb3ZlciBUZXh0cyBpbiB0 aGUgTW9kaWZpZWQgVmVyc2lvbi4gIE9ubHkgb25lIHBhc3NhZ2Ugb2YNCitGcm9udC1Db3ZlciBU ZXh0IGFuZCBvbmUgb2YgQmFjay1Db3ZlciBUZXh0IG1heSBiZSBhZGRlZCBieSAob3INCit0aHJv dWdoIGFycmFuZ2VtZW50cyBtYWRlIGJ5KSBhbnkgb25lIGVudGl0eS4gIElmIHRoZSBEb2N1bWVu dCBhbHJlYWR5DQoraW5jbHVkZXMgYSBjb3ZlciB0ZXh0IGZvciB0aGUgc2FtZSBjb3ZlciwgcHJl dmlvdXNseSBhZGRlZCBieSB5b3Ugb3INCitieSBhcnJhbmdlbWVudCBtYWRlIGJ5IHRoZSBzYW1l IGVudGl0eSB5b3UgYXJlIGFjdGluZyBvbiBiZWhhbGYgb2YsDQoreW91IG1heSBub3QgYWRkIGFu b3RoZXI7IGJ1dCB5b3UgbWF5IHJlcGxhY2UgdGhlIG9sZCBvbmUsIG9uIGV4cGxpY2l0DQorcGVy bWlzc2lvbiBmcm9tIHRoZSBwcmV2aW91cyBwdWJsaXNoZXIgdGhhdCBhZGRlZCB0aGUgb2xkIG9u ZS4NCisNCitUaGUgYXV0aG9yKHMpIGFuZCBwdWJsaXNoZXIocykgb2YgdGhlIERvY3VtZW50IGRv IG5vdCBieSB0aGlzIExpY2Vuc2UNCitnaXZlIHBlcm1pc3Npb24gdG8gdXNlIHRoZWlyIG5hbWVz IGZvciBwdWJsaWNpdHkgZm9yIG9yIHRvIGFzc2VydCBvcg0KK2ltcGx5IGVuZG9yc2VtZW50IG9m IGFueSBNb2RpZmllZCBWZXJzaW9uLg0KKw0KKw0KKzUuIENPTUJJTklORyBET0NVTUVOVFMNCisN CitZb3UgbWF5IGNvbWJpbmUgdGhlIERvY3VtZW50IHdpdGggb3RoZXIgZG9jdW1lbnRzIHJlbGVh c2VkIHVuZGVyIHRoaXMNCitMaWNlbnNlLCB1bmRlciB0aGUgdGVybXMgZGVmaW5lZCBpbiBzZWN0 aW9uIDQgYWJvdmUgZm9yIG1vZGlmaWVkDQordmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgeW91IGlu Y2x1ZGUgaW4gdGhlIGNvbWJpbmF0aW9uIGFsbCBvZiB0aGUNCitJbnZhcmlhbnQgU2VjdGlvbnMg b2YgYWxsIG9mIHRoZSBvcmlnaW5hbCBkb2N1bWVudHMsIHVubW9kaWZpZWQsIGFuZA0KK2xpc3Qg dGhlbSBhbGwgYXMgSW52YXJpYW50IFNlY3Rpb25zIG9mIHlvdXIgY29tYmluZWQgd29yayBpbiBp dHMNCitsaWNlbnNlIG5vdGljZSwgYW5kIHRoYXQgeW91IHByZXNlcnZlIGFsbCB0aGVpciBXYXJy YW50eSBEaXNjbGFpbWVycy4NCisNCitUaGUgY29tYmluZWQgd29yayBuZWVkIG9ubHkgY29udGFp biBvbmUgY29weSBvZiB0aGlzIExpY2Vuc2UsIGFuZA0KK211bHRpcGxlIGlkZW50aWNhbCBJbnZh cmlhbnQgU2VjdGlvbnMgbWF5IGJlIHJlcGxhY2VkIHdpdGggYSBzaW5nbGUNCitjb3B5LiAgSWYg dGhlcmUgYXJlIG11bHRpcGxlIEludmFyaWFudCBTZWN0aW9ucyB3aXRoIHRoZSBzYW1lIG5hbWUg YnV0DQorZGlmZmVyZW50IGNvbnRlbnRzLCBtYWtlIHRoZSB0aXRsZSBvZiBlYWNoIHN1Y2ggc2Vj dGlvbiB1bmlxdWUgYnkNCithZGRpbmcgYXQgdGhlIGVuZCBvZiBpdCwgaW4gcGFyZW50aGVzZXMs IHRoZSBuYW1lIG9mIHRoZSBvcmlnaW5hbA0KK2F1dGhvciBvciBwdWJsaXNoZXIgb2YgdGhhdCBz ZWN0aW9uIGlmIGtub3duLCBvciBlbHNlIGEgdW5pcXVlIG51bWJlci4NCitNYWtlIHRoZSBzYW1l IGFkanVzdG1lbnQgdG8gdGhlIHNlY3Rpb24gdGl0bGVzIGluIHRoZSBsaXN0IG9mDQorSW52YXJp YW50IFNlY3Rpb25zIGluIHRoZSBsaWNlbnNlIG5vdGljZSBvZiB0aGUgY29tYmluZWQgd29yay4N CisNCitJbiB0aGUgY29tYmluYXRpb24sIHlvdSBtdXN0IGNvbWJpbmUgYW55IHNlY3Rpb25zIEVu dGl0bGVkICJIaXN0b3J5Ig0KK2luIHRoZSB2YXJpb3VzIG9yaWdpbmFsIGRvY3VtZW50cywgZm9y bWluZyBvbmUgc2VjdGlvbiBFbnRpdGxlZA0KKyJIaXN0b3J5IjsgbGlrZXdpc2UgY29tYmluZSBh bnkgc2VjdGlvbnMgRW50aXRsZWQgIkFja25vd2xlZGdlbWVudHMiLA0KK2FuZCBhbnkgc2VjdGlv bnMgRW50aXRsZWQgIkRlZGljYXRpb25zIi4gIFlvdSBtdXN0IGRlbGV0ZSBhbGwgc2VjdGlvbnMN CitFbnRpdGxlZCAiRW5kb3JzZW1lbnRzIi4NCisNCisNCis2LiBDT0xMRUNUSU9OUyBPRiBET0NV TUVOVFMNCisNCitZb3UgbWF5IG1ha2UgYSBjb2xsZWN0aW9uIGNvbnNpc3Rpbmcgb2YgdGhlIERv Y3VtZW50IGFuZCBvdGhlcg0KK2RvY3VtZW50cyByZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2Us IGFuZCByZXBsYWNlIHRoZSBpbmRpdmlkdWFsDQorY29waWVzIG9mIHRoaXMgTGljZW5zZSBpbiB0 aGUgdmFyaW91cyBkb2N1bWVudHMgd2l0aCBhIHNpbmdsZSBjb3B5DQordGhhdCBpcyBpbmNsdWRl ZCBpbiB0aGUgY29sbGVjdGlvbiwgcHJvdmlkZWQgdGhhdCB5b3UgZm9sbG93IHRoZSBydWxlcw0K K29mIHRoaXMgTGljZW5zZSBmb3IgdmVyYmF0aW0gY29weWluZyBvZiBlYWNoIG9mIHRoZSBkb2N1 bWVudHMgaW4gYWxsDQorb3RoZXIgcmVzcGVjdHMuDQorDQorWW91IG1heSBleHRyYWN0IGEgc2lu Z2xlIGRvY3VtZW50IGZyb20gc3VjaCBhIGNvbGxlY3Rpb24sIGFuZA0KK2Rpc3RyaWJ1dGUgaXQg aW5kaXZpZHVhbGx5IHVuZGVyIHRoaXMgTGljZW5zZSwgcHJvdmlkZWQgeW91IGluc2VydCBhDQor Y29weSBvZiB0aGlzIExpY2Vuc2UgaW50byB0aGUgZXh0cmFjdGVkIGRvY3VtZW50LCBhbmQgZm9s bG93IHRoaXMNCitMaWNlbnNlIGluIGFsbCBvdGhlciByZXNwZWN0cyByZWdhcmRpbmcgdmVyYmF0 aW0gY29weWluZyBvZiB0aGF0DQorZG9jdW1lbnQuDQorDQorDQorNy4gQUdHUkVHQVRJT04gV0lU SCBJTkRFUEVOREVOVCBXT1JLUw0KKw0KK0EgY29tcGlsYXRpb24gb2YgdGhlIERvY3VtZW50IG9y IGl0cyBkZXJpdmF0aXZlcyB3aXRoIG90aGVyIHNlcGFyYXRlDQorYW5kIGluZGVwZW5kZW50IGRv Y3VtZW50cyBvciB3b3JrcywgaW4gb3Igb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yDQorZGlz dHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuICJhZ2dyZWdhdGUiIGlmIHRoZSBjb3B5cmln aHQNCityZXN1bHRpbmcgZnJvbSB0aGUgY29tcGlsYXRpb24gaXMgbm90IHVzZWQgdG8gbGltaXQg dGhlIGxlZ2FsIHJpZ2h0cw0KK29mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzIGJleW9uZCB3aGF0 IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4NCitXaGVuIHRoZSBEb2N1bWVudCBpcyBpbmNs dWRlZCBpbiBhbiBhZ2dyZWdhdGUsIHRoaXMgTGljZW5zZSBkb2VzIG5vdA0KK2FwcGx5IHRvIHRo ZSBvdGhlciB3b3JrcyBpbiB0aGUgYWdncmVnYXRlIHdoaWNoIGFyZSBub3QgdGhlbXNlbHZlcw0K K2Rlcml2YXRpdmUgd29ya3Mgb2YgdGhlIERvY3VtZW50Lg0KKw0KK0lmIHRoZSBDb3ZlciBUZXh0 IHJlcXVpcmVtZW50IG9mIHNlY3Rpb24gMyBpcyBhcHBsaWNhYmxlIHRvIHRoZXNlDQorY29waWVz IG9mIHRoZSBEb2N1bWVudCwgdGhlbiBpZiB0aGUgRG9jdW1lbnQgaXMgbGVzcyB0aGFuIG9uZSBo YWxmIG9mDQordGhlIGVudGlyZSBhZ2dyZWdhdGUsIHRoZSBEb2N1bWVudCdzIENvdmVyIFRleHRz IG1heSBiZSBwbGFjZWQgb24NCitjb3ZlcnMgdGhhdCBicmFja2V0IHRoZSBEb2N1bWVudCB3aXRo aW4gdGhlIGFnZ3JlZ2F0ZSwgb3IgdGhlDQorZWxlY3Ryb25pYyBlcXVpdmFsZW50IG9mIGNvdmVy cyBpZiB0aGUgRG9jdW1lbnQgaXMgaW4gZWxlY3Ryb25pYyBmb3JtLg0KK090aGVyd2lzZSB0aGV5 IG11c3QgYXBwZWFyIG9uIHByaW50ZWQgY292ZXJzIHRoYXQgYnJhY2tldCB0aGUgd2hvbGUNCith Z2dyZWdhdGUuDQorDQorDQorOC4gVFJBTlNMQVRJT04NCisNCitUcmFuc2xhdGlvbiBpcyBjb25z aWRlcmVkIGEga2luZCBvZiBtb2RpZmljYXRpb24sIHNvIHlvdSBtYXkNCitkaXN0cmlidXRlIHRy YW5zbGF0aW9ucyBvZiB0aGUgRG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHNlY3Rpb24gNC4N CitSZXBsYWNpbmcgSW52YXJpYW50IFNlY3Rpb25zIHdpdGggdHJhbnNsYXRpb25zIHJlcXVpcmVz IHNwZWNpYWwNCitwZXJtaXNzaW9uIGZyb20gdGhlaXIgY29weXJpZ2h0IGhvbGRlcnMsIGJ1dCB5 b3UgbWF5IGluY2x1ZGUNCit0cmFuc2xhdGlvbnMgb2Ygc29tZSBvciBhbGwgSW52YXJpYW50IFNl Y3Rpb25zIGluIGFkZGl0aW9uIHRvIHRoZQ0KK29yaWdpbmFsIHZlcnNpb25zIG9mIHRoZXNlIElu dmFyaWFudCBTZWN0aW9ucy4gIFlvdSBtYXkgaW5jbHVkZSBhDQordHJhbnNsYXRpb24gb2YgdGhp cyBMaWNlbnNlLCBhbmQgYWxsIHRoZSBsaWNlbnNlIG5vdGljZXMgaW4gdGhlDQorRG9jdW1lbnQs IGFuZCBhbnkgV2FycmFudHkgRGlzY2xhaW1lcnMsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gaW5j bHVkZQ0KK3RoZSBvcmlnaW5hbCBFbmdsaXNoIHZlcnNpb24gb2YgdGhpcyBMaWNlbnNlIGFuZCB0 aGUgb3JpZ2luYWwgdmVyc2lvbnMNCitvZiB0aG9zZSBub3RpY2VzIGFuZCBkaXNjbGFpbWVycy4g IEluIGNhc2Ugb2YgYSBkaXNhZ3JlZW1lbnQgYmV0d2Vlbg0KK3RoZSB0cmFuc2xhdGlvbiBhbmQg dGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhpcyBMaWNlbnNlIG9yIGEgbm90aWNlDQorb3IgZGlz Y2xhaW1lciwgdGhlIG9yaWdpbmFsIHZlcnNpb24gd2lsbCBwcmV2YWlsLg0KKw0KK0lmIGEgc2Vj dGlvbiBpbiB0aGUgRG9jdW1lbnQgaXMgRW50aXRsZWQgIkFja25vd2xlZGdlbWVudHMiLA0KKyJE ZWRpY2F0aW9ucyIsIG9yICJIaXN0b3J5IiwgdGhlIHJlcXVpcmVtZW50IChzZWN0aW9uIDQpIHRv IFByZXNlcnZlDQoraXRzIFRpdGxlIChzZWN0aW9uIDEpIHdpbGwgdHlwaWNhbGx5IHJlcXVpcmUg Y2hhbmdpbmcgdGhlIGFjdHVhbA0KK3RpdGxlLg0KKw0KKw0KKzkuIFRFUk1JTkFUSU9ODQorDQor WW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBE b2N1bWVudA0KK2V4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNl LiAgQW55IGF0dGVtcHQNCitvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBv ciBkaXN0cmlidXRlIGl0IGlzIHZvaWQsIGFuZA0KK3dpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5h dGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLg0KKw0KK0hvd2V2ZXIsIGlmIHlvdSBj ZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyIGxpY2Vuc2UNCitm cm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzIHJlaW5zdGF0ZWQgKGEpIHByb3Zp c2lvbmFsbHksDQordW5sZXNzIGFuZCB1bnRpbCB0aGUgY29weXJpZ2h0IGhvbGRlciBleHBsaWNp dGx5IGFuZCBmaW5hbGx5DQordGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFu ZW50bHksIGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyDQorZmFpbHMgdG8gbm90aWZ5IHlvdSBvZiB0 aGUgdmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBtZWFucyBwcmlvciB0bw0KKzYwIGRheXMg YWZ0ZXIgdGhlIGNlc3NhdGlvbi4NCisNCitNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBw YXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMNCityZWluc3RhdGVkIHBlcm1hbmVudGx5IGlm IHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vdGlmaWVzIHlvdSBvZiB0aGUNCit2aW9sYXRpb24gYnkg c29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSBoYXZlDQor cmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29y aykgZnJvbSB0aGF0DQorY29weXJpZ2h0IGhvbGRlciwgYW5kIHlvdSBjdXJlIHRoZSB2aW9sYXRp b24gcHJpb3IgdG8gMzAgZGF5cyBhZnRlcg0KK3lvdXIgcmVjZWlwdCBvZiB0aGUgbm90aWNlLg0K Kw0KK1Rlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5v dCB0ZXJtaW5hdGUgdGhlDQorbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBj b3BpZXMgb3IgcmlnaHRzIGZyb20geW91IHVuZGVyDQordGhpcyBMaWNlbnNlLiAgSWYgeW91ciBy aWdodHMgaGF2ZSBiZWVuIHRlcm1pbmF0ZWQgYW5kIG5vdCBwZXJtYW5lbnRseQ0KK3JlaW5zdGF0 ZWQsIHJlY2VpcHQgb2YgYSBjb3B5IG9mIHNvbWUgb3IgYWxsIG9mIHRoZSBzYW1lIG1hdGVyaWFs IGRvZXMNCitub3QgZ2l2ZSB5b3UgYW55IHJpZ2h0cyB0byB1c2UgaXQuDQorDQorDQorMTAuIEZV VFVSRSBSRVZJU0lPTlMgT0YgVEhJUyBMSUNFTlNFDQorDQorVGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiBtYXkgcHVibGlzaCBuZXcsIHJldmlzZWQgdmVyc2lvbnMgb2YgdGhlDQorR05VIEZy ZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVy c2lvbnMNCit3aWxsIGJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24s IGJ1dCBtYXkgZGlmZmVyIGluDQorZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNv bmNlcm5zLiAgU2VlDQoraHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uDQorDQorRWFjaCB2 ZXJzaW9uIG9mIHRoZSBMaWNlbnNlIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBu dW1iZXIuDQorSWYgdGhlIERvY3VtZW50IHNwZWNpZmllcyB0aGF0IGEgcGFydGljdWxhciBudW1i ZXJlZCB2ZXJzaW9uIG9mIHRoaXMNCitMaWNlbnNlICJvciBhbnkgbGF0ZXIgdmVyc2lvbiIgYXBw bGllcyB0byBpdCwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZg0KK2ZvbGxvd2luZyB0aGUgdGVybXMg YW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgc3BlY2lmaWVkIHZlcnNpb24gb3INCitvZiBh bnkgbGF0ZXIgdmVyc2lvbiB0aGF0IGhhcyBiZWVuIHB1Ymxpc2hlZCAobm90IGFzIGEgZHJhZnQp IGJ5IHRoZQ0KK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBEb2N1bWVudCBkb2Vz IG5vdCBzcGVjaWZ5IGEgdmVyc2lvbg0KK251bWJlciBvZiB0aGlzIExpY2Vuc2UsIHlvdSBtYXkg Y2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIChub3QNCithcyBhIGRyYWZ0KSBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIERvY3VtZW50DQorc3BlY2lmaWVz IHRoYXQgYSBwcm94eSBjYW4gZGVjaWRlIHdoaWNoIGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGlzDQor TGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94eSdzIHB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNj ZXB0YW5jZSBvZiBhDQordmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdSB0byBjaG9v c2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUNCitEb2N1bWVudC4NCisNCisxMS4gUkVMSUNFTlNJTkcN CisNCisiTWFzc2l2ZSBNdWx0aWF1dGhvciBDb2xsYWJvcmF0aW9uIFNpdGUiIChvciAiTU1DIFNp dGUiKSBtZWFucyBhbnkNCitXb3JsZCBXaWRlIFdlYiBzZXJ2ZXIgdGhhdCBwdWJsaXNoZXMgY29w eXJpZ2h0YWJsZSB3b3JrcyBhbmQgYWxzbw0KK3Byb3ZpZGVzIHByb21pbmVudCBmYWNpbGl0aWVz IGZvciBhbnlib2R5IHRvIGVkaXQgdGhvc2Ugd29ya3MuICBBDQorcHVibGljIHdpa2kgdGhhdCBh bnlib2R5IGNhbiBlZGl0IGlzIGFuIGV4YW1wbGUgb2Ygc3VjaCBhIHNlcnZlci4gIEENCisiTWFz c2l2ZSBNdWx0aWF1dGhvciBDb2xsYWJvcmF0aW9uIiAob3IgIk1NQyIpIGNvbnRhaW5lZCBpbiB0 aGUgc2l0ZQ0KK21lYW5zIGFueSBzZXQgb2YgY29weXJpZ2h0YWJsZSB3b3JrcyB0aHVzIHB1Ymxp c2hlZCBvbiB0aGUgTU1DIHNpdGUuDQorDQorIkNDLUJZLVNBIiBtZWFucyB0aGUgQ3JlYXRpdmUg Q29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZSBBbGlrZSAzLjANCitsaWNlbnNlIHB1Ymxpc2hlZCBi eSBDcmVhdGl2ZSBDb21tb25zIENvcnBvcmF0aW9uLCBhIG5vdC1mb3ItcHJvZml0DQorY29ycG9y YXRpb24gd2l0aCBhIHByaW5jaXBhbCBwbGFjZSBvZiBidXNpbmVzcyBpbiBTYW4gRnJhbmNpc2Nv LA0KK0NhbGlmb3JuaWEsIGFzIHdlbGwgYXMgZnV0dXJlIGNvcHlsZWZ0IHZlcnNpb25zIG9mIHRo YXQgbGljZW5zZQ0KK3B1Ymxpc2hlZCBieSB0aGF0IHNhbWUgb3JnYW5pemF0aW9uLg0KKw0KKyJJ bmNvcnBvcmF0ZSIgbWVhbnMgdG8gcHVibGlzaCBvciByZXB1Ymxpc2ggYSBEb2N1bWVudCwgaW4g d2hvbGUgb3IgaW4NCitwYXJ0LCBhcyBwYXJ0IG9mIGFub3RoZXIgRG9jdW1lbnQuDQorDQorQW4g TU1DIGlzICJlbGlnaWJsZSBmb3IgcmVsaWNlbnNpbmciIGlmIGl0IGlzIGxpY2Vuc2VkIHVuZGVy IHRoaXMNCitMaWNlbnNlLCBhbmQgaWYgYWxsIHdvcmtzIHRoYXQgd2VyZSBmaXJzdCBwdWJsaXNo ZWQgdW5kZXIgdGhpcyBMaWNlbnNlDQorc29tZXdoZXJlIG90aGVyIHRoYW4gdGhpcyBNTUMsIGFu ZCBzdWJzZXF1ZW50bHkgaW5jb3Jwb3JhdGVkIGluIHdob2xlIG9yDQoraW4gcGFydCBpbnRvIHRo ZSBNTUMsICgxKSBoYWQgbm8gY292ZXIgdGV4dHMgb3IgaW52YXJpYW50IHNlY3Rpb25zLCBhbmQN CisoMikgd2VyZSB0aHVzIGluY29ycG9yYXRlZCBwcmlvciB0byBOb3ZlbWJlciAxLCAyMDA4Lg0K Kw0KK1RoZSBvcGVyYXRvciBvZiBhbiBNTUMgU2l0ZSBtYXkgcmVwdWJsaXNoIGFuIE1NQyBjb250 YWluZWQgaW4gdGhlIHNpdGUNCit1bmRlciBDQy1CWS1TQSBvbiB0aGUgc2FtZSBzaXRlIGF0IGFu eSB0aW1lIGJlZm9yZSBBdWd1c3QgMSwgMjAwOSwNCitwcm92aWRlZCB0aGUgTU1DIGlzIGVsaWdp YmxlIGZvciByZWxpY2Vuc2luZy4NCisNCisNCitBRERFTkRVTTogSG93IHRvIHVzZSB0aGlzIExp Y2Vuc2UgZm9yIHlvdXIgZG9jdW1lbnRzDQorDQorVG8gdXNlIHRoaXMgTGljZW5zZSBpbiBhIGRv Y3VtZW50IHlvdSBoYXZlIHdyaXR0ZW4sIGluY2x1ZGUgYSBjb3B5IG9mDQordGhlIExpY2Vuc2Ug aW4gdGhlIGRvY3VtZW50IGFuZCBwdXQgdGhlIGZvbGxvd2luZyBjb3B5cmlnaHQgYW5kDQorbGlj ZW5zZSBub3RpY2VzIGp1c3QgYWZ0ZXIgdGhlIHRpdGxlIHBhZ2U6DQorDQorICAgIENvcHlyaWdo dCAoYykgIFlFQVIgIFlPVVIgTkFNRS4NCisgICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNv cHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzIGRvY3VtZW50DQorICAgIHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEu Mw0KKyAgICBvciBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsNCisgICAgd2l0aCBubyBJbnZhcmlhbnQgU2VjdGlvbnMsIG5vIEZyb250 LUNvdmVyIFRleHRzLCBhbmQgbm8gQmFjay1Db3ZlciBUZXh0cy4NCisgICAgQSBjb3B5IG9mIHRo ZSBsaWNlbnNlIGlzIGluY2x1ZGVkIGluIHRoZSBzZWN0aW9uIGVudGl0bGVkICJHTlUNCisgICAg RnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UiLg0KKw0KK0lmIHlvdSBoYXZlIEludmFyaWFudCBT ZWN0aW9ucywgRnJvbnQtQ292ZXIgVGV4dHMgYW5kIEJhY2stQ292ZXIgVGV4dHMsDQorcmVwbGFj ZSB0aGUgIndpdGguLi5UZXh0cy4iIGxpbmUgd2l0aCB0aGlzOg0KKw0KKyAgICB3aXRoIHRoZSBJ bnZhcmlhbnQgU2VjdGlvbnMgYmVpbmcgTElTVCBUSEVJUiBUSVRMRVMsIHdpdGggdGhlDQorICAg IEZyb250LUNvdmVyIFRleHRzIGJlaW5nIExJU1QsIGFuZCB3aXRoIHRoZSBCYWNrLUNvdmVyIFRl eHRzIGJlaW5nIExJU1QuDQorDQorSWYgeW91IGhhdmUgSW52YXJpYW50IFNlY3Rpb25zIHdpdGhv dXQgQ292ZXIgVGV4dHMsIG9yIHNvbWUgb3RoZXINCitjb21iaW5hdGlvbiBvZiB0aGUgdGhyZWUs IG1lcmdlIHRob3NlIHR3byBhbHRlcm5hdGl2ZXMgdG8gc3VpdCB0aGUNCitzaXR1YXRpb24uDQor DQorSWYgeW91ciBkb2N1bWVudCBjb250YWlucyBub250cml2aWFsIGV4YW1wbGVzIG9mIHByb2dy YW0gY29kZSwgd2UNCityZWNvbW1lbmQgcmVsZWFzaW5nIHRoZXNlIGV4YW1wbGVzIGluIHBhcmFs bGVsIHVuZGVyIHlvdXIgY2hvaWNlIG9mDQorZnJlZSBzb2Z0d2FyZSBsaWNlbnNlLCBzdWNoIGFz IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwNCit0byBwZXJtaXQgdGhlaXIgdXNlIGlu IGZyZWUgc29mdHdhcmUuDQorIytlbmRfZXhwb3J0DQorDQorIytodG1sOiA8IS0tDQorDQorKiBJ bmRpY2VzDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDo1NTEwNGIyNi04ZTk0LTQ2Y2Yt OTk3NS00M2VhMDAzMTY0ODkNCis6ZW5kOg0KKw0KKyoqIEZ1bmN0aW9uIGluZGV4DQorOnByb3Bl cnRpZXM6DQorOmluZGV4OiBmbg0KKzpjdXN0b21faWQ6IGg6NmJlYzUwMDUtNTI5Yy00NTIxLWFl MDUtM2Q5OTBiYWZmYjViDQorOmVuZDoNCisNCisqKiBWYXJpYWJsZSBpbmRleA0KKzpwcm9wZXJ0 aWVzOg0KKzppbmRleDogdnINCis6Y3VzdG9tX2lkOiBoOjE2YWQ4ZGY2LWIwMTUtNDBhOS05MjU5 LTAzZDRmN2EyM2VlNA0KKzplbmQ6DQorDQorKiogQ29uY2VwdCBpbmRleA0KKzpwcm9wZXJ0aWVz Og0KKzppbmRleDogY3ANCis6Y3VzdG9tX2lkOiBoOjZhYTdhNjU2LTg4NGItNGMzOS1iNzU5LTA4 N2U0MTJlZWMxMw0KKzplbmQ6DQorDQorIytodG1sOiAtLT4NCmRpZmYgLS1naXQgYS9ldGMvdGhl bWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsIGIvZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5kaS10 aGVtZS5lbA0KaW5kZXggMzQ2MDAwYTA5My4uY2UyYzc1ZTlhOCAxMDA2NDQNCi0tLSBhL2V0Yy90 aGVtZXMvbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwNCisrKyBiL2V0Yy90aGVtZXMvbW9kdXMtb3Bl cmFuZGktdGhlbWUuZWwNCkBAIC0xLDQ2NjYgKzEsNjYgQEANCiA7OzsgbW9kdXMtb3BlcmFuZGkt dGhlbWUuZWwgLS0tIEFjY2Vzc2libGUgbGlnaHQgdGhlbWUgKFdDQUcgQUFBKSAtKi0gbGV4aWNh bC1iaW5kaW5nOnQgLSotDQogDQotOzsgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorOzsgQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KIA0KIDs7IEF1dGhvcjogUHJvdGVzaWxhb3MgU3Rh dnJvdSA8aW5mb0Bwcm90ZXNpbGFvcy5jb20+DQogOzsgVVJMOiBodHRwczovL2dpdGxhYi5jb20v cHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzDQotOzsgVmVyc2lvbjogMC4xMy4wDQorOzsgVmVyc2lv bjogMS4yLjANCiA7OyBQYWNrYWdlLVJlcXVpcmVzOiAoKGVtYWNzICIyNi4xIikpDQogOzsgS2V5 d29yZHM6IGZhY2VzLCB0aGVtZSwgYWNjZXNzaWJpbGl0eQ0KIA0KIDs7IFRoaXMgZmlsZSBpcyBw YXJ0IG9mIEdOVSBFbWFjcy4NCiANCi07OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KKzs7IFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQogOzsg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkNCi07OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcg0KLTs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uDQotDQotOzsgR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsDQotOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCi07OyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQotOzsgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCi0NCis7OyB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQN Cis7OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQorOzsNCis7OyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0 DQorOzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZg0KKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUgR05VDQorOzsgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLg0KKzs7DQogOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCi07OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4g IElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQorOzsgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+Lg0KIA0KIDs7OyBDb21tZW50YXJ5Og0KIDs7DQotOzsgVGhpcyB0aGVtZSBpcyBkZXNp Z25lZCBmb3IgY29sb3VyLWNvbnRyYXN0IGFjY2Vzc2liaWxpdHkuDQotOzsNCi07OyAxLiBQcm92 aWRlIGEgY29uc2lzdGVudCBtaW5pbXVtIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gYmFja2dyb3Vu ZCBhbmQNCi07OyBmb3JlZ3JvdW5kIHZhbHVlcyBvZiA3OjEgb3IgaGlnaGVyLiAgVGhpcyBtZWV0 cyB0aGUgaGlnaGVzdCBzdWNoDQotOzsgYWNjZXNzaWJpbGl0eSBjcml0ZXJpb24gcGVyIHRoZSBn dWlkZWxpbmVzIG9mIHRoZSBXb3JsZHdpZGUgV2ViDQotOzsgQ29uc29ydGl1bSdzIFdvcmtpbmcg R3JvdXAgb24gQWNjZXNzaWJpbGl0eSAoV0NBRyBBQUEgc3RhbmRhcmQpLg0KKzs7IE1vZHVzIE9w ZXJhbmRpIGlzIHRoZSBsaWdodCB2YXJpYW50IG9mIHRoZSBNb2R1cyB0aGVtZXMgKE1vZHVzDQor OzsgVml2ZW5kaSBpcyB0aGUgZGFyayBvbmUpLiAgVGhlIHRoZW1lcyBhcmUgZGVzaWduZWQgZm9y IGNvbG9yLWNvbnRyYXN0DQorOzsgYWNjZXNzaWJpbGl0eS4gIE1vcmUgc3BlY2lmaWNhbGx5Og0K IDs7DQotOzsgMi4gT2ZmZXIgYXMgY2xvc2UgdG8gZnVsbCBmYWNlIGNvdmVyYWdlIGFzIHBvc3Np YmxlLiAgVGhlIGxpc3QgaXMNCi07OyBhbHJlYWR5IHF1aXRlIGxvbmcgKHNlZSBmdXJ0aGVyIGJl bG93KSwgd2l0aCBtb3JlIGFkZGl0aW9ucyB0byBmb2xsb3cNCi07OyBhcyBwYXJ0IG9mIHRoZSBv bmdvaW5nIGRldmVsb3BtZW50IHByb2Nlc3MuDQorOzsgICAgIDEuIFByb3ZpZGUgYSBjb25zaXN0 ZW50IG1pbmltdW0gY29udHJhc3QgcmF0aW8gYmV0d2VlbiBiYWNrZ3JvdW5kDQorOzsgICAgIGFu ZCBmb3JlZ3JvdW5kIHZhbHVlcyBvZiA3OjEgb3IgaGlnaGVyLiAgVGhpcyBtZWV0cyB0aGUgaGln aGVzdA0KKzs7ICAgICBzdWNoIGFjY2Vzc2liaWxpdHkgY3JpdGVyaW9uIHBlciB0aGUgZ3VpZGVs aW5lcyBvZiB0aGUgV29ybGR3aWRlDQorOzsgICAgIFdlYiBDb25zb3J0aXVtJ3MgV29ya2luZyBH cm91cCBvbiBBY2Nlc3NpYmlsaXR5IChXQ0FHIEFBQQ0KKzs7ICAgICBzdGFuZGFyZCkuDQogOzsN Ci07OyBUaGUgdGhlbWUgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBjdXN0b21pc2F0aW9uIG9wdGlv bnMsIGFsbCBvZiB3aGljaA0KLTs7IGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0Og0KKzs7ICAgICAy LiBPZmZlciBhcyBjbG9zZSB0byBmdWxsIGZhY2UgY292ZXJhZ2UgYXMgcG9zc2libGUuICBUaGUg bGlzdCBpcw0KKzs7ICAgICBhbHJlYWR5IHF1aXRlIGxvbmcsIHdpdGggbW9yZSBhZGRpdGlvbnMg dG8gZm9sbG93IGFzIHBhcnQgb2YgdGhlDQorOzsgICAgIG9uZ29pbmcgZGV2ZWxvcG1lbnQgcHJv Y2Vzcy4NCiA7Ow0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zbGFudGVkLWNvbnN0cnVj dHMgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJv bGQtY29uc3RydWN0cyAgICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtb3Bl cmFuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgICAgICAgIChib29sZWFuKQ0KLTs7 ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1uby1taXhlZC1mb250cyAgICAgICAgICAgICAgICAg KGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzICAgICAgICAg ICAgICAgICAgICAgICAoYWxpc3QpDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxl LWhlYWRpbmdzICAgICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFu ZGktdGhlbWUtZnJpbmdlcyAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAg IG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9ja3MgICAgICAgICAgICAgICAgICAgICAoY2hv aWNlKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9tcHRzICAgICAgICAgICAgICAg ICAgICAgICAgKGNob2ljZSkNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5l ICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWRpZmZzICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1 cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50YXggICAgICAgICAgICAgICAgICAgKGJvb2xlYW4p DQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZSAgICAgICAgICAg ICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJl bi1tYXRjaCAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVt ZS1uby1saW5rLXVuZGVybGluZSAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVz LW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0K LTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QgICAgICAg ICAgKGFsaXN0KQ0KKzs7IEZvciBhIGNvbXBsZXRlIHZpZXcgb2YgdGhlIHByb2plY3QsIGFsc28g cmVmZXIgdG8gdGhlIGZvbGxvd2luZyBmaWxlcw0KKzs7IChzaG91bGQgYmUgZGlzdHJpYnV0ZWQg aW4gdGhlIHNhbWUgcmVwb3NpdG9yeS9kaXJlY3RvcnkgYXMgdGhlDQorOzsgY3VycmVudCBpdGVt KToNCiA7Ow0KLTs7IFRoZSBkZWZhdWx0IHNjYWxlIGlzIGFzIGZvbGxvd3MgKGl0IGNhbiBiZSBj dXN0b21pc2VkIGFzIHdlbGwpOg0KLTs7DQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNj YWxlLTEgMS4wNQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0yIDEuMQ0KLTs7 ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zIDEuMTUNCi07OyAgICAgbW9kdXMtb3Bl cmFuZGktdGhlbWUtc2NhbGUtNCAxLjINCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2Nh bGUtNSAxLjMNCi07Ow0KLTs7IFdoYXQgZm9sbG93cyBpcyB0aGUgbGlzdCBvZiBleHBsaWNpdGx5 IHN1cHBvcnRlZCBwYWNrYWdlcyBvciBmYWNlDQotOzsgZ3JvdXBzICh0aGVyZSBhcmUgaW1wbGlj aXRseSBzdXBwb3J0ZWQgcGFja2FnZXMgYXMgd2VsbCwgd2hpY2gNCi07OyBpbmhlcml0IGZyb20g Zm9udC1sb2NrIG9yIHNvbWUgYmFzaWMgZ3JvdXApLiAgWW91IGFyZSBlbmNvdXJhZ2VkIHRvDQot Ozsgbm90aWZ5IG1lIG9mIGFueSBtaXNzaW5nIHBhY2thZ2Ugb3IgY2hhbmdlIHlvdSB3b3VsZCBs aWtlIHRvIHNlZS4NCi07Ow0KLTs7ICAgICBhY2Utd2luZG93DQotOzsgICAgIGFnDQotOzsgICAg IGFsZXJ0DQotOzsgICAgIGFsbC10aGUtaWNvbnMNCi07OyAgICAgYW5ub3RhdGUNCi07OyAgICAg YW56dQ0KLTs7ICAgICBhcHJvcG9zDQotOzsgICAgIGFwdC1zb3VyY2VzLWxpc3QNCi07OyAgICAg YXJ0Ym9sbG9ja3MtbW9kZQ0KLTs7ICAgICBhdWN0ZXggYW5kIFRlWA0KLTs7ICAgICBhdXRvLWRp bS1vdGhlci1idWZmZXJzDQotOzsgICAgIGF2eQ0KLTs7ICAgICBhd2Vzb21lLXRyYXkNCi07OyAg ICAgYmluZGVyDQotOzsgICAgIGJtDQotOzsgICAgIGJvbmdvDQotOzsgICAgIGJvb24NCi07OyAg ICAgYnJlYWtwb2ludCAocHJvdmlkZWQgYnkgYnVpbHQtaW4gZ2RiLW1pLmVsKQ0KLTs7ICAgICBi dWZmZXItZXhwb3NlDQotOzsgICAgIGNhbGVuZGFyIGFuZCBkaWFyeQ0KLTs7ICAgICBjYWxmdw0K LTs7ICAgICBjZW50YXVyLXRhYnMNCi07OyAgICAgY2hhbmdlLWxvZyBhbmQgbG9nLXZpZXcgKGB2 Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0KLTs7ICAgICBjaWRlcg0KLTs7 ICAgICBjaXJjZQ0KLTs7ICAgICBjb2xvci1yZw0KLTs7ICAgICBjb2x1bW4tZW5mb3JjZS1tb2Rl DQotOzsgICAgIGNvbXBhbnktbW9kZQ0KLTs7ICAgICBjb21wYW55LXBvc2ZyYW1lDQotOzsgICAg IGNvbXBpbGF0aW9uLW1vZGUNCi07OyAgICAgY29tcGxldGlvbnMNCi07OyAgICAgY291bnNlbA0K LTs7ICAgICBjb3Vuc2VsLWNzcw0KLTs7ICAgICBjb3Vuc2VsLW5vdG11Y2gNCi07OyAgICAgY291 bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCi07OyAgICAgY292DQotOzsgICAgIGNwZXJsLW1vZGUN Ci07OyAgICAgY3N2LW1vZGUNCi07OyAgICAgY3RybGYNCi07OyAgICAgY3VzdG9tIChNLXggY3Vz dG9taXplKQ0KLTs7ICAgICBkYXAtbW9kZQ0KLTs7ICAgICBkYXNoYm9hcmQgKGVtYWNzLWRhc2hi b2FyZCkNCi07OyAgICAgZGVhZGdyZXANCi07OyAgICAgZGViYnVncw0KLTs7ICAgICBkZWZpbmUt d29yZA0KLTs7ICAgICBkZWZ0DQotOzsgICAgIGRpY3Rpb25hcnkNCi07OyAgICAgZGlmZi1obA0K LTs7ICAgICBkaWZmLW1vZGUNCi07OyAgICAgZGltLWF1dG9sb2FkDQotOzsgICAgIGRpci10cmVl dmlldw0KLTs7ICAgICBkaXJlZA0KLTs7ICAgICBkaXJlZC1hc3luYw0KLTs7ICAgICBkaXJlZC1n aXQNCi07OyAgICAgZGlyZWQtZ2l0LWluZm8NCi07OyAgICAgZGlyZWQtbmFycm93DQotOzsgICAg IGRpcmVkLXN1YnRyZWUNCi07OyAgICAgZGlyZWRmbA0KLTs7ICAgICBkaXNrLXVzYWdlDQotOzsg ICAgIGRvb20tbW9kZWxpbmUNCi07OyAgICAgZHluYW1pYy1ydWxlcg0KLTs7ICAgICBlYXN5LWpl a3lsbA0KLTs7ICAgICBlYXN5LWtpbGwNCi07OyAgICAgZWJkYg0KLTs7ICAgICBlZGlmZg0KLTs7 ICAgICBlZ2xvdA0KLTs7ICAgICBlbC1zZWFyY2gNCi07OyAgICAgZWxkb2MNCi07OyAgICAgZWxk b2MtYm94DQotOzsgICAgIGVsZmVlZA0KLTs7ICAgICBlbGZlZWQtc2NvcmUNCi07OyAgICAgZW1t cw0KLTs7ICAgICBlbmhhbmNlZC1ydWJ5LW1vZGUNCi07OyAgICAgZXBhDQotOzsgICAgIGVxdWFr ZQ0KLTs7ICAgICBlcmMNCi07OyAgICAgZXJvcw0KLTs7ICAgICBlcnQNCi07OyAgICAgZXNoZWxs DQotOzsgICAgIGVzaGVsbC1mcmluZ2Utc3RhdHVzDQotOzsgICAgIGVzaGVsbC1naXQtcHJvbXB0 DQotOzsgICAgIGVzaGVsbC1wcm9tcHQtZXh0cmFzIChlcGUpDQotOzsgICAgIGVzaGVsbC1zeW50 YXgtaGlnaGxpZ2h0aW5nDQotOzsgICAgIGV2aWwgKGV2aWwtbW9kZSkNCi07OyAgICAgZXZpbC1n b2dnbGVzDQotOzsgICAgIGV2aWwtdmlzdWFsLW1hcmstbW9kZQ0KLTs7ICAgICBld3cNCi07OyAg ICAgZXllYnJvd3NlDQotOzsgICAgIGZhbmN5LWRhYmJyZXYNCi07OyAgICAgZmx5Y2hlY2sNCi07 OyAgICAgZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lDQotOzsgICAgIGZseWNoZWNrLWluZGljYXRv cg0KLTs7ICAgICBmbHljaGVjay1wb3NmcmFtZQ0KLTs7ICAgICBmbHltYWtlDQotOzsgICAgIGZs eXNwZWxsDQotOzsgICAgIGZseXNwZWxsLWNvcnJlY3QNCi07OyAgICAgZmx4DQotOzsgICAgIGZy ZWV6ZS1pdA0KLTs7ICAgICBmcm9nLW1lbnUNCi07OyAgICAgZm9jdXMNCi07OyAgICAgZm9sZC10 aGlzDQotOzsgICAgIGZvbnQtbG9jayAoZ2VuZXJpYyBzeW50YXggaGlnaGxpZ2h0aW5nKQ0KLTs7 ICAgICBmb3JnZQ0KLTs7ICAgICBmb3VudGFpbiAoZm91bnRhaW4tbW9kZSkNCi07OyAgICAgZ2Vp c2VyDQotOzsgICAgIGdpdC1jb21taXQNCi07OyAgICAgZ2l0LWd1dHRlciAoYW5kIHZhcmlhbnRz KQ0KLTs7ICAgICBnaXQtbGVucw0KLTs7ICAgICBnaXQtcmViYXNlDQotOzsgICAgIGdpdC10aW1l bWFjaGluZQ0KLTs7ICAgICBnaXQtd2Fsa3RyZWUNCi07OyAgICAgZ251cw0KLTs7ICAgICBnb2xk ZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KLTs7ICAgICBoZWxtDQotOzsgICAgIGhlbG0tbHMtZ2l0 DQotOzsgICAgIGhlbG0tc3dpdGNoLXNoZWxsDQotOzsgICAgIGhlbG0teHJlZg0KLTs7ICAgICBo ZWxwZnVsDQotOzsgICAgIGhpZ2hsaWdodC1ibG9ja3MNCi07OyAgICAgaGlnaGxpZ2h0LWRlZmlu ZWQNCi07OyAgICAgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5jZXMgKGBoZXMtbW9kZScpDQotOzsg ICAgIGhpZ2hsaWdodC1pbmRlbnRhdGlvbg0KLTs7ICAgICBoaWdobGlnaHQtbnVtYmVycw0KLTs7 ICAgICBoaWdobGlnaHQtc3ltYm9sDQotOzsgICAgIGhpZ2hsaWdodC10YWlsDQotOzsgICAgIGhp Z2hsaWdodC10aGluZw0KLTs7ICAgICBobC1kZWZpbmVkDQotOzsgICAgIGhsLWZpbGwtY29sdW1u DQotOzsgICAgIGhsLWxpbmUtbW9kZQ0KLTs7ICAgICBobC10b2RvDQotOzsgICAgIGh5ZHJhDQot OzsgICAgIGh5cGVybGlzdA0KLTs7ICAgICBpYnVmZmVyDQotOzsgICAgIGljb21wbGV0ZQ0KLTs7 ICAgICBpZG8tbW9kZQ0KLTs7ICAgICBpZWRpdA0KLTs7ICAgICBpZmxpcGINCi07OyAgICAgaW1l bnUtbGlzdA0KLTs7ICAgICBpbmRpdW0NCi07OyAgICAgaW5mbw0KLTs7ICAgICBpbmZvLWNvbG9y cw0KLTs7ICAgICBpbnRlcmFjdGlvbi1sb2cNCi07OyAgICAgaW9jY3VyDQotOzsgICAgIGlzZWFy Y2gsIG9jY3VyLCBldGMuDQotOzsgICAgIGl2eQ0KLTs7ICAgICBpdnktcG9zZnJhbWUNCi07OyAg ICAgamlyYSAob3JnLWppcmEpDQotOzsgICAgIGpvdXJuYWxjdGwtbW9kZQ0KLTs7ICAgICBqczIt bW9kZQ0KLTs7ICAgICBqdWxpYQ0KLTs7ICAgICBqdXB5dGVyDQotOzsgICAgIGthb2NoYS1ydW5u ZXINCi07OyAgICAga2V5Y2FzdA0KLTs7ICAgICBsaW5lIG51bWJlcnMgKGBkaXNwbGF5LWxpbmUt bnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZhcmlhbnQpDQotOzsgICAgIGxzcC1tb2RlDQotOzsg ICAgIGxzcC11aQ0KLTs7ICAgICBtYWdpdA0KLTs7ICAgICBtYWdpdC1pbWVyZ2UNCi07OyAgICAg bWFuDQotOzsgICAgIG1hcmtkb3duLW1vZGUNCi07OyAgICAgbWFya3VwLWZhY2VzIChgYWRvYy1t b2RlJykNCi07OyAgICAgbWVudG9yDQotOzsgICAgIG1lc3NhZ2VzDQotOzsgICAgIG1pbmlidWZm ZXItbGluZQ0KLTs7ICAgICBtaW5pbWFwDQotOzsgICAgIG1vZGVsaW5lDQotOzsgICAgIG1vb2Qt bGluZQ0KLTs7ICAgICBtcGRlbA0KLTs7ICAgICBtdTRlDQotOzsgICAgIG11NGUtY29udmVyc2F0 aW9uDQotOzsgICAgIG11bHRpcGxlLWN1cnNvcnMNCi07OyAgICAgbmVvdHJlZQ0KLTs7ICAgICBu by1lbW9qaQ0KLTs7ICAgICBub3RtdWNoDQotOzsgICAgIG51bTMtbW9kZQ0KLTs7ICAgICBueG1s LW1vZGUNCi07OyAgICAgb2JqZWQNCi07OyAgICAgb3JkZXJsZXNzDQotOzsgICAgIG9yZw0KLTs7 ICAgICBvcmctam91cm5hbA0KLTs7ICAgICBvcmctbm90ZXINCi07OyAgICAgb3JnLXBvbW9kb3Jv DQotOzsgICAgIG9yZy1yZWN1cg0KLTs7ICAgICBvcmctcm9hbQ0KLTs7ICAgICBvcmctc3VwZXJz dGFyDQotOzsgICAgIG9yZy10YWJsZS1zdGlja3ktaGVhZGVyDQotOzsgICAgIG9yZy10cmVlc2Nv cGUNCi07OyAgICAgb3JpZ2FtaQ0KLTs7ICAgICBvdXRsaW5lLW1vZGUNCi07OyAgICAgb3V0bGlu ZS1taW5vci1mYWNlcw0KLTs7ICAgICBwYWNrYWdlIChNLXggbGlzdC1wYWNrYWdlcykNCi07OyAg ICAgcGFnZS1icmVhay1saW5lcw0KLTs7ICAgICBwYXJhZG94DQotOzsgICAgIHBhcmVuLWZhY2UN Ci07OyAgICAgcGFycm90DQotOzsgICAgIHBhc3MNCi07OyAgICAgcGVyc3AtbW9kZQ0KLTs7ICAg ICBwZXJzcGVjdGl2ZQ0KLTs7ICAgICBwaGktZ3JlcA0KLTs7ICAgICBwaGktc2VhcmNoDQotOzsg ICAgIHBrZ2J1aWxkLW1vZGUNCi07OyAgICAgcG9taWRvcg0KLTs7ICAgICBwb3dlcmxpbmUNCi07 OyAgICAgcG93ZXJsaW5lLWV2aWwNCi07OyAgICAgcHJvY2VkDQotOzsgICAgIHByb2RpZ3kNCi07 OyAgICAgcmFja2V0LW1vZGUNCi07OyAgICAgcmFpbmJvdy1ibG9ja3MNCi07OyAgICAgcmFpbmJv dy1pZGVudGlmaWVycw0KLTs7ICAgICByYWluYm93LWRlbGltaXRlcnMNCi07OyAgICAgcmNpcmMN Ci07OyAgICAgcmVnZXhwLWJ1aWxkZXIgKGFsc28ga25vd24gYXMgYHJlLWJ1aWxkZXInKQ0KLTs7 ICAgICByZw0KLTs7ICAgICByaXBncmVwDQotOzsgICAgIHJtYWlsDQotOzsgICAgIHJ1bGVyLW1v ZGUNCi07OyAgICAgc2FsbGV0DQotOzsgICAgIHNlbGVjdHJ1bQ0KLTs7ICAgICBzZW1hbnRpYw0K LTs7ICAgICBzZXNtYW4NCi07OyAgICAgc2hlbGwtc2NyaXB0LW1vZGUNCi07OyAgICAgc2hvdy1w YXJlbi1tb2RlDQotOzsgICAgIHNpZGUtbm90ZXMNCi07OyAgICAgc2tld2VyLW1vZGUNCi07OyAg ICAgc21hcnQtbW9kZS1saW5lDQotOzsgICAgIHNtYXJ0cGFyZW5zDQotOzsgICAgIHNtZXJnZQ0K LTs7ICAgICBzcGFjZWxpbmUNCi07OyAgICAgc3BlZWRiYXINCi07OyAgICAgc3BlbGwtZnUNCi07 OyAgICAgc3RyaXBlcw0KLTs7ICAgICBzdWdnZXN0DQotOzsgICAgIHN3aXRjaC13aW5kb3cNCi07 OyAgICAgc3dpcGVyDQotOzsgICAgIHN3b29wDQotOzsgICAgIHN4DQotOzsgICAgIHN5bWJvbC1v dmVybGF5DQotOzsgICAgIHRhYi1iYXItbW9kZQ0KLTs7ICAgICB0YWItbGluZS1tb2RlDQotOzsg ICAgIHN5c2xvZy1tb2RlDQotOzsgICAgIHRhYmxlIChidWlsdC1pbiB0YWJsZS5lbCkNCi07OyAg ICAgdGVsZXBob25lLWxpbmUNCi07OyAgICAgdGVybQ0KLTs7ICAgICB0b21hdGluaG8NCi07OyAg ICAgdHJhbnNpZW50IChwb3AtdXAgd2luZG93cyBsaWtlIE1hZ2l0J3MpDQotOzsgICAgIHRyYXNo ZWQNCi07OyAgICAgdHJlZW1hY3MNCi07OyAgICAgdHR5LW1lbnUNCi07OyAgICAgdHVhcmVnDQot OzsgICAgIHR5cGVzY3JpcHQNCi07OyAgICAgdW5kby10cmVlDQotOzsgICAgIHZjIChidWlsdC1p biBtb2RlIGxpbmUgc3RhdHVzIGZvciB2ZXJzaW9uIGNvbnRyb2wpDQotOzsgICAgIHZjLWFubm90 YXRlIChDLXggdiBnKQ0KLTs7ICAgICB2ZGlmZg0KLTs7ICAgICB2aW1pc2gtZm9sZA0KLTs7ICAg ICB2aXNpYmxlLW1hcmsNCi07OyAgICAgdmlzdWFsLXJlZ2V4cA0KLTs7ICAgICB2b2xhdGlsZS1o aWdobGlnaHRzDQotOzsgICAgIHZ0ZXJtDQotOzsgICAgIHdjaGVjay1tb2RlDQotOzsgICAgIHdl Yi1tb2RlDQotOzsgICAgIHdncmVwDQotOzsgICAgIHdoaWNoLWZ1bmN0aW9uLW1vZGUNCi07OyAg ICAgd2hpY2gta2V5DQotOzsgICAgIHdoaXRlc3BhY2UtbW9kZQ0KLTs7ICAgICB3aW5kb3ctZGl2 aWRlci1tb2RlDQotOzsgICAgIHdpbnVtDQotOzsgICAgIHdyaXRlZ29vZC1tb2RlDQotOzsgICAg IHdvbWFuDQotOzsgICAgIHhhaC1lbGlzcC1tb2RlDQotOzsgICAgIHhyZWYNCi07OyAgICAgeHRl cm0tY29sb3IgKGFuZCBhbnNpLWNvbG9ycykNCi07OyAgICAgeWFtbC1tb2RlDQotOzsgICAgIHlh c25pcHBldA0KLTs7ICAgICB6dHJlZQ0KKzs7IC0gbW9kdXMtdGhlbWVzLmVsICAgICAgICAgICAg KE1haW4gY29kZSBzaGFyZWQgYmV0d2VlbiB0aGUgdGhlbWVzKQ0KKzs7IC0gbW9kdXMtdml2ZW5k aS10aGVtZS5lbCAgICAgKERhcmsgdGhlbWUpDQogDQogOzs7IENvZGU6DQogDQogDA0KIA0KLShk ZWZ0aGVtZSBtb2R1cy1vcGVyYW5kaQ0KLSAgIkxpZ2h0IHRoZW1lIHRoYXQgY29uZm9ybXMgd2l0 aCB0aGUgaGlnaGVzdCBhY2Nlc3NpYmlsaXR5DQotICBzdGFuZGFyZCBmb3IgY29sb3VyIGNvbnRy YXN0IGJldHdlZW4gYmFja2dyb3VuZCBhbmQNCi0gIGZvcmVncm91bmQgZWxlbWVudHMgKFdDQUcg QUFBKS4iKQ0KLQ0KLTs7OyBDdXN0b20gZmFjZXMNCi0NCi07OyBUaGVzZSBmYWNlcyB3aWxsIGJl IGluaGVyaXRlZCBieSBhY3R1YWwgY29uc3RydWN0cy4gIFRoZXkgYXJlIG1lYW50DQotOzsgZm9y IHRob3NlIGNhc2VzIHdoZXJlIGEgZmFjZSBuZWVkcyB0byBkaXN0aW5ndWlzaCBpdHMgb3V0cHV0 IGZyb20NCi07OyB0aGUgcmVzdCBvZiB0aGUgdGV4dCwgc3VjaCBhcyBgaXNlYXJjaCcgYW5kIGBv Y2N1cifigKYgIFdlIGRlZmluZQ0KLTs7IHRoZXNlIHNlcGFyYXRlbHkgaW4gb3JkZXIgdG8gY29t YmluZSBlYWNoIGNvbG91ciB3aXRoIGl0cw0KLTs7IGFwcHJvcHJpYXRlIGZvcmVncm91bmQgdmFs dWUuICBUaGlzIGlzIHRvIGVuc3VyZSBhIGNvbnNpc3RlbnQNCi07OyBjb250cmFzdCByYXRpbyBv ZiA+PSA3OjEuDQotKGRlZmdyb3VwIG1vZHVzLXRoZW1lICgpDQotICAiVGhlbWUgdGhhdCBlbnN1 cmVzIFdDQUcgQUFBIGFjY2Vzc2liaWxpdHkgKGNvbnRyYXN0IHJhdGlvDQotYmV0d2VlbiBmb3Jl Z3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGlzID49IDc6MSkuIg0KLSAgOmdyb3VwICdmYWNlcw0KLSAg OnByZWZpeCAibW9kdXMtdGhlbWUtIg0KLSAgOmxpbmsgJyh1cmwtbGluayA6dGFnICJHaXRMYWIi ICJodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzIikNCi0gIDp0YWcg Ik1vZHVzIE9wZXJhbmRpIikNCi0NCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLXN1YnRsZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxl LW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1pbnRlbnNlLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5z ZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1y ZWZpbmUtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtcmVmaW5lLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZp bmUtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtYWN0aXZlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtbWFn ZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZy aW5nZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtYmx1ZSBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1udWFuY2VkLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5j ZWQtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdyBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLW51YW5jZWQtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXNw ZWNpYWwtY29sZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLWRpZmYtYWRkZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWNo YW5nZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWRpZmYtZm9jdXMtY2hhbmdlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYt Zm9jdXMtcmVtb3ZlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtaGVhZGlu ZyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIgbmlsIG5pbCkN Ci0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLWFsdCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLW1hcmstZGVsIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1zZWwg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctMSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLWhlYWRpbmctMiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctMyBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctNCBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctNSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWhlYWRpbmctNiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctNyBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctOCBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLWhsLWxpbmUgbmlsIG5pbCkNCi0NCi07OzsgQ3VzdG9taXNhdGlvbiBvcHRp b25zDQotDQotOzsgVXNlci1mYWNpbmcgY3VzdG9taXNhdGlvbiBvcHRpb25zLiAgVGhleSBhcmUg YWxsIGRlYWN0aXZhdGVkIGJ5DQotOzsgZGVmYXVsdCAodXNlcnMgbXVzdCBvcHQgaW4pLg0KLShk ZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzIG5pbA0KLSAg IlVzZSBzbGFudGVkIHRleHQgaW4gbW9yZSBjb2RlIGNvbnN0cnVjdHMgKGl0YWxpY3Mgb3Igb2Js aXF1ZSkuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgbmlsDQotICAiVXNlIGJvbGQgdGV4dCBpbiBtb3JlIGNv ZGUgY29uc3RydWN0cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmaW5lLW9ic29sZXRl LXZhcmlhYmxlLWFsaWFzICdtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9wb3J0aW9uYWwtZm9udHMN Ci0gICdtb2R1cy1vcGVyYW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiYG1vZHVz LW9wZXJhbmRpLXRoZW1lJyAwLjExLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGkt dGhlbWUtcHJvcG9ydGlvbmFsLWZvbnRzIG5pbA0KLSAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMg KHZhcmlhYmxlLXBpdGNoKSBpbiBoZWFkaW5ncy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzIG5p bA0KLSAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMgKHZhcmlhYmxlLXBpdGNoKSBpbiBoZWFkaW5n cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW5vLW1peGVkLWZvbnRzIG5pbA0KLSAgIkRpc2FibGUgaW5oZXJpdGFuY2UgZnJvbSBgZml4 ZWQtcGl0Y2gnIGluIHNvbWUgZmFjZXMuDQotDQotVGhpcyBpcyBkb25lIGJ5IGRlZmF1bHQgdG8g YWxsb3cgc3BhY2luZy1zZW5zaXRpdmUgY29uc3RydWN0cywNCi1zdWNoIGFzIE9yZyB0YWJsZXMg YW5kIGNvZGUgYmxvY2tzLCB0byByZW1haW4gbW9ub3NwYWNlZCB3aGVuDQotdXNlcnMgb3B0IGZv ciBzb21ldGhpbmcgbGlrZSB0aGUgY29tbWFuZCBgdmFyaWFibGUtcGl0Y2gtbW9kZScuDQotVGhl IGRvd25zaWRlIHdpdGggdGhlIGRlZmF1bHQgaXMgdGhhdCB1c2VycyBuZWVkIHRvIGV4cGxpY2l0 bHkNCi1jb25maWd1cmUgdGhlIGZvbnQgZmFtaWx5IG9mIGBmaXhlZC1waXRjaCcgaW4gb3JkZXIg dG8gZ2V0IGENCi1jb25zaXN0ZW50IGV4cGVyaWVuY2UuICBUaGF0IG1heSBiZSBzb21ldGhpbmcg dGhleSBkbyBub3Qgd2FudCB0bw0KLWRvLiAgSGVuY2UgdGhpcyBvcHRpb24gdG8gZGlzYWJsZSBh bnkga2luZCBvZiB0ZWNobmlxdWUgZm9yDQotbWl4aW5nIGZvbnRzLiINCi0gIDp0eXBlICdib29s ZWFuKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1yYWluYm93LWhl YWRpbmdzDQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQot ICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVm Y3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXJhaW5ib3ctaGVhZGluZ3MgbmlsDQotICAiVXNl IG1vcmUgc2F0dXJhdGVkIGNvbG91cnMgZm9yIGhlYWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFu KQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zZWN0aW9uLWhlYWRp bmdzDQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQotICAg ICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3Vz dG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNlY3Rpb24taGVhZGluZ3MgbmlsDQotICAiVXNlIGEg YmFja2dyb3VuZCBhbmQgYW4gb3ZlcmxpbmUgaW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xl YW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgJygo dCAuIG5pbCkpDQotICAiQWxpc3Qgb2Ygc3R5bGVzIGZvciBoZWFkaW5ncywgd2l0aCBvcHRpb25h bCB2YWx1ZSBwZXIgbGV2ZWwuDQotDQotVG8gY29udHJvbCBmYWNlcyBwZXIgbGV2ZWwgZnJvbSAx LTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KLQ0KLSAgKHNldHEgbW9kdXMtb3BlcmFuZGkt dGhlbWUtaGVhZGluZ3MNCi0gICAgICAgICcoKDEgLiBoaWdobGlnaHQpDQotICAgICAgICAgICgy IC4gbGluZSkNCi0gICAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8tYm9sZCkpKQ0KLQ0KLVRv IHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBoZWFkaW5nIGxldmVscywgdXNlIHRoaXMgcGF0 dGVybjoNCi0NCi0gIChzZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAg ICAnKCh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCi0NCi1UaGUgZGVmYXVsdCB1c2VzIGEg ZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgdmFsdWUgaW4NCi1jb21iaW5hdGlvbiB3aXRo IGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBUbyBzcGVjaWZ5IHRoaXMNCi1zdHlsZSBmb3Ig YSBnaXZlbiBsZXZlbCBOIChhc3N1bWluZyB5b3Ugd2lzaCB0byBoYXZlIGFub3RoZXINCi1mYWxs YmFjayBvcHRpb24pLCBqdXN0IHNwZWNpZnkgdGhlIHZhbHVlIHQgbGlrZSB0aGlzOg0KLQ0KLSAg KHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MNCi0gICAgICAgICcoKDEgLiB0KQ0K LSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJv bGQpKSkNCi0NCi1BIGRlc2NyaXB0aW9uIG9mIGFsbCBwb3NzaWJsZSB2YWx1ZXM6DQotDQotKyBg bm8tYm9sZCcgcmV0YWlucyB0aGUgZGVmYXVsdCB0ZXh0IGNvbG91ciB3aGlsZSByZW1vdmluZw0K LSAgdGhlIHR5cG9ncmFwaGljIHdlaWdodC4NCi0NCi0rIGBsaW5lJyBpcyB0aGUgc2FtZSBhcyB0 aGUgZGVmYXVsdCBwbHVzIGFuIG92ZXJsaW5lIG92ZXIgdGhlDQotICBoZWFkaW5nLg0KLQ0KLSsg YGxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQu DQotDQotKyBgcmFpbmJvdycgdXNlcyBhIG1vcmUgY29sb3VyZnVsIGZvcmVncm91bmQgaW4gY29t YmluYXRpb24NCi0gIHdpdGggYm9sZCB3ZWlnaHQuDQotDQotKyBgcmFpbmJvdy1saW5lJyBpcyB0 aGUgc2FtZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBvdmVybGluZS4NCi0NCi0rIGByYWluYm93LWxp bmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctbGluZScgd2l0aG91dA0KLSAgdGhl IGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYGhpZ2hsaWdodCcgcmV0YWlucyB0aGUgZGVmYXVsdCBzdHls ZSBvZiBhIGZhaXJseSBkZXNhdHVyYXRlZA0KLSAgZm9yZWdyb3VuZCBjb21iaW5lZCB3aXRoIGEg Ym9sZCB3ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1YnRsZQ0KLSAgYWNjZW50ZWQgYmFja2dyb3Vu ZC4NCi0NCi0rIGBoaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcg d2l0aG91dCBhIGJvbGQNCi0gIHdlaWdodC4NCi0NCi0rIGByYWluYm93LWhpZ2hsaWdodCcgaXMg dGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdpdGggYSBtb3JlDQotICBjb2xvdXJmdWwgZm9y ZWdyb3VuZC4NCi0NCi0rIGByYWluYm93LWhpZ2hsaWdodC1uby1ib2xkJyBpcyB0aGUgc2FtZSBh cyBgcmFpbmJvdy1oaWdobGlnaHQnDQotICB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuDQotDQotKyBg c2VjdGlvbicgcmV0YWlucyB0aGUgZGVmYXVsdCBsb29rcyBhbmQgYWRkcyB0byB0aGVtIGJvdGgg YW4NCi0gIG92ZXJsaW5lIGFuZCBhIHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQuICBJdCBp cywgaW4gZWZmZWN0LA0KLSAgYSBjb21iaW5hdGlvbiBvZiB0aGUgYGxpbmUnIGFuZCBgaGlnaGxp Z2h0JyB2YWx1ZXMuDQotDQotKyBgc2VjdGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgc2Vj dGlvbicgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdodC4NCi0NCi0rIGByYWluYm93LXNlY3Rpb24n IGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9uJyBidXQgd2l0aCBhIG1vcmUNCi0gIGNvbG91cmZ1bCBm b3JlZ3JvdW5kLg0KLQ0KLSsgYHJhaW5ib3ctc2VjdGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBh cyBgcmFpbmJvdy1zZWN0aW9uJw0KLSAgd2l0aG91dCBhIGJvbGQgd2VpZ2h0LiINCi0gIDp0eXBl DQotICAnKGFsaXN0DQotICAgIDprZXktdHlwZSBzeW1ib2wNCi0gICAgOnZhbHVlLXR5cGUNCi0g ICAgKGNob2ljZSAoY29uc3QgOnRhZyAiRmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgd2l0 aCBib2xkIHdlaWdodCAoZGVmYXVsdCkiIHQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgdGhlIGRlZmF1bHQgd2l0aG91dCBib2xkIHdlaWdodCIgbm8tYm9sZCkNCi0gICAgICAgICAg ICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCBwbHVzIG92ZXJsaW5lIiBsaW5lKQ0KLSAg ICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBsaW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBs aW5lLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQg YnV0IHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdykNCi0gICAgICAgICAg ICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycgcGx1cyBvdmVybGluZSIgcmFpbmJvdy1saW5l KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93JyB3aXRob3V0IGJvbGQg d2VpZ2h0IiByYWluYm93LW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2Ug YHJhaW5ib3ctbGluZScgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1saW5lLW5vLWJvbGQp DQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgcGx1cyBzdWJ0bGUg YmFja2dyb3VuZCIgaGlnaGxpZ2h0KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBo aWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIGhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAg ICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHdpdGggbW9yZSBjb2xvdXJmdWwg Zm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcg Ikxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LWhp Z2hsaWdodC1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGln aHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHNlY3Rpb24tbm8tYm9sZCkNCi0gICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aCBtb3JlIGNvbG91cmZ1bCBm b3JlZ3JvdW5kIiByYWluYm93LXNlY3Rpb24pDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgYHJhaW5ib3ctc2VjdGlvbicgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1zZWN0aW9u LW5vLWJvbGQpKSkpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS1o ZWFkaW5ncyBuaWwNCi0gICJVc2UgZm9udCBzY2FsaW5nIGZvciBoZWFkaW5ncy4iDQotICA6dHlw ZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEg MS4wNQ0KLSAgIkZvbnQgc2l6ZSB0aGF0IGlzIHNsaWdodGx5IGxhcmdlciB0aGFuIHRoZSBiYXNl IHZhbHVlLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnBy ZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhl IHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJz b2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGlu ZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVy LCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNp ZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTIgMS4xDQotICAiRm9udCBzaXpl IHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0xJy4NCi1U aGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBt dWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBh bHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdo dCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQg YXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUg ZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhl ICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBt b2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zIDEuMTUNCi0gICJGb250IHNpemUgc2xpZ2h0bHkg bGFyZ2VyIHRoYW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTInLg0KLVRoZSBkZWZhdWx0 IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQot b2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0 cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEg dmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2lu dCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0 aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQn IHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJh bmRpLXRoZW1lLXNjYWxlLTQgMS4yDQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFu IGBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zJy4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0 aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNl IGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRl Z2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0 MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQot DQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBz ZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiIN Ci0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1z Y2FsZS01IDEuMw0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtb3Bl cmFuZGktdGhlbWUtc2NhbGUtNCcuDQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0 aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUu ICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJz dG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUg c2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3Jl IG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0 cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAn bnVtYmVyKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS12aXNpYmxl LWZyaW5nZXMNCi0gICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUtZnJpbmdlcw0K LSAgICAgICAgICAgICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUnIDAuMTIuMCIpDQotDQotKGRl ZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS12aXNpYmxlLWZyaW5nZXMgbmlsDQotICAiVXNl IGEgdmlzaWJsZSBzdHlsZSBmb3IgZnJpbmdlcy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZXMgbmlsDQotICAiRGVmaW5lIHRo ZSB2aXNpYmlsaXR5IG9mIGZyaW5nZXMuDQotDQotTmlsIG1lYW5zIHRoZSBmcmluZ2VzIGhhdmUg bm8gYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24gYHN1YnRsZScNCi13aWxsIGFwcGx5IGEgZ3Jl eXNjYWxlIHZhbHVlIHRoYXQgaXMgdmlzaWJsZSB5ZXQgY2xvc2UgdG8gdGhlDQotbWFpbiBidWZm ZXIgYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24gYGludGVuc2UnIHdpbGwgdXNlIGEgbW9yZQ0K LXByb25vdW5jZWQgZ3JleXNjYWxlIHZhbHVlLiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAg ICAgIChjb25zdCA6dGFnICJObyB2aXNpYmxlIGZyaW5nZXMgKGRlZmF1bHQpIiBuaWwpDQotICAg ICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JleXNjYWxlIGJhY2tncm91bmQiIHN1YnRsZSkN Ci0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2UgZ3JleXNjYWxlIGJhY2tncm91bmQiIGlu dGVuc2UpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtZGlzdGlu Y3Qtb3JnLWJsb2Nrcw0KLSAgICAgICAgICAgICAgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmct YmxvY2tzDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMS4wIikN Ci0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpc3RpbmN0LW9yZy1ibG9ja3Mg bmlsDQotICAiVXNlIGEgZGlzdGluY3QgbmV1dHJhbCBiYWNrZ3JvdW5kIGZvciBgb3JnLW1vZGUn IGJsb2Nrcy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMt b3BlcmFuZGktdGhlbWUtcmFpbmJvdy1vcmctc3JjLWJsb2Nrcw0KLSAgICAgICAgICAgICAgICdt b2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICAgICAgICAgICAgImBtb2R1cy1v cGVyYW5kaS10aGVtZScgMC4xMS4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MgbmlsDQotICAiVXNlIGNvbG91ci1jb2RlZCBiYWNr Z3JvdW5kcyBmb3IgYG9yZy1tb2RlJyBzb3VyY2UgYmxvY2tzLg0KLVRoZSBjb2xvdXIgaW4gdXNl IGRlcGVuZHMgb24gdGhlIGxhbmd1YWdlIChzZW5kIGZlZWRiYWNrIHRvDQotaW5jbHVkZSBtb3Jl IGxhbmd1YWdlcykuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1v cGVyYW5kaS10aGVtZS1vcmctYmxvY2tzIG5pbA0KLSAgIlVzZSBhIHN1YnRsZSBncmV5IG9yIGNv bG91ci1jb2RlZCBiYWNrZ3JvdW5kIGZvciBPcmcgYmxvY2tzLg0KLQ0KLU5pbCBtZWFucyB0aGF0 IHRoZSBibG9jayB3aWxsIGhhdmUgbm8gYmFja2dyb3VuZCBvZiBpdHMgb3duIGFuZA0KLXdpbGwg dXNlIHRoZSBkZWZhdWx0IHRoYXQgYXBwbGllcyB0byB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLg0K LQ0KLU9wdGlvbiBgZ3JleXNjYWxlJyB3aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRyYWwgZ3JleSBi YWNrZ3JvdW5kIHRvDQotdGhlIGJsb2NrJ3MgY29udGVudHMuICBJdCBhbHNvIGFmZmVjdHMgdGhl IGJlZ2luIGFuZCBlbmQgbGluZXMgb2YNCi10aGUgYmxvY2s6IHRoZWlyIGJhY2tncm91bmQgd2ls bCBiZSBleHRlbmRlZCB0byB0aGUgZWRnZSBvZiB0aGUNCi13aW5kb3cgZm9yIEVtYWNzIHZlcnNp b24gPj0gMjcgd2hlcmUgdGhlICc6ZXh0ZW5kJyBrZXl3b3JkIGlzDQotcmVjb2duaXNlZCBieSBg c2V0LWZhY2UtYXR0cmlidXRlJy4NCi0NCi1PcHRpb24gYHJhaW5ib3cnIHdpbGwgdXNlIGFuIGFj Y2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBjb250ZW50cw0KLW9mIHRoZSBibG9jay4gIFRoZSBl eGFjdCBjb2xvdXIgd2lsbCBkZXBlbmQgb24gdGhlIHByb2dyYW1taW5nDQotbGFuZ3VhZ2UgYW5k IGlzIGNvbnRyb2xsZWQgYnkgdGhlIGBvcmctc3JjLWJsb2NrLWZhY2VzJw0KLXZhcmlhYmxlIChy ZWZlciB0byB0aGUgdGhlbWUncyBzb3VyY2UgY29kZSBmb3IgdGhlIGN1cnJlbnQNCi1hc3NvY2lh dGlvbiBsaXN0KS4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAi Tm8gT3JnIGJsb2NrIGJhY2tncm91bmQgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25z dCA6dGFnICJTdWJ0bGUgZ3JleSBibG9jayBiYWNrZ3JvdW5kIiBncmV5c2NhbGUpDQotICAgICAg ICAgIChjb25zdCA6dGFnICJDb2xvdXItY29kZWQgYmFja2dyb3VuZCBwZXIgcHJvZ3JhbW1pbmcg bGFuZ3VhZ2UiIHJhaW5ib3cpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGkt dGhlbWUtM2QtbW9kZWxpbmUNCi0gICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUt bW9kZS1saW5lDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMy4w IikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLTNkLW1vZGVsaW5lIG5pbA0K LSAgIlVzZSBhIHRocmVlLWRpbWVuc2lvbmFsIHN0eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGlu ZS4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW1vZGUtbGluZSBuaWwNCi0gICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGUgb2YgdGhlIG1v ZGUgbGluZS4NCi0NCi1OaWwgaXMgYSB0d28tZGltZW5zaW9uYWwgcmVjdGFuZ2xlIHdpdGggYSBi b3JkZXIgYXJvdW5kIGl0LiAgVGhlDQotYWN0aXZlIGFuZCB0aGUgaW5hY3RpdmUgbW9kZWxpbmVz IHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mDQotZ3JleXNjYWxlIHZhbHVlcyBmb3IgdGhlIGJhY2tn cm91bmQgYW5kIGZvcmVncm91bmQuDQotDQotQSBgM2QnIHZhbHVlIHdpbGwgYXBwbHkgYSB0aHJl ZS1kaW1lbnNpb25hbCBlZmZlY3QgdG8gdGhlIGFjdGl2ZQ0KLW1vZGVsaW5lLiAgVGhlIGluYWN0 aXZlIG1vZGVsaW5lcyByZW1haW4gdHdvLWRpbWVuc2lvbmFsIGFuZCBhcmUNCi10b25lZCBkb3du IGEgYml0LCByZWxhdGl2ZSB0byB0aGUgbmlsIHZhbHVlLg0KLQ0KLVRoZSBgbW9vZHknIG9wdGlv biBpcyBtZWFudCB0byBvcHRpbWlzZSB0aGUgbW9kZWxpbmUgZm9yIHVzZSB3aXRoDQotdGhlIGxp YnJhcnkgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgcHJhY3RpY2FsbHkgbWVhbnMgdG8gcmVtb3Zl DQotdGhlIGJveCBlZmZlY3QgYW5kIHJlbHkgb24gdW5kZXJsaW5lIGFuZCBvdmVybGluZSBwcm9w ZXJ0aWVzDQotaW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biB0aGUgaW5hY3RpdmUgbW9kZWxp bmVzLiAgRGVzcGl0ZSBpdHMNCi1pbnRlbmRlZCBwdXJwb3NlLCB0aGlzIG9wdGlvbiBjYW4gYWxz byBiZSB1c2VkIHdpdGhvdXQgdGhlDQotYG1vb2R5JyBsaWJyYXJ5LiINCi0gIDp0eXBlICcoY2hv aWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJUd28tZGltZW5zaW9uYWwgYm94IChkZWZhdWx0 KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiVGhyZWUtZGltZW5zaW9uYWwgc3R5bGUg Zm9yIHRoZSBhY3RpdmUgbW9kZSBsaW5lIiAzZCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIk5v IGJveCBlZmZlY3RzLCB3aGljaCBhcmUgb3B0aW1hbCBmb3IgdXNlIHdpdGggdGhlIGBtb29keScg bGlicmFyeSIgbW9vZHkpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhl bWUtc3VidGxlLWRpZmZzDQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWRp ZmZzDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMy4wIikNCi0N Ci0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN1YnRsZS1kaWZmcyBuaWwNCi0gICJV c2UgZmV3ZXIvZGltIGJhY2tncm91bmRzIGluIGBkaWZmLW1vZGUnLCBgZWRpZmYnLGBtYWdpdCcu Ig0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVt ZS1kaWZmcyBuaWwNCi0gICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGVzIG9mIGRpZmZzLg0KLQ0K LU5pbCBtZWFucyB0byB1c2UgZmFpcmx5IGludGVuc2UgY29sb3VyIGNvbWJpbmF0aW9ucyBmb3Ig ZGlmZnMuDQotRm9yIGV4YW1wbGUsIHlvdSBnZXQgYSByaWNoIGdyZWVuIGJhY2tncm91bmQgd2l0 aCBhIGdyZWVuDQotZm9yZWdyb3VuZCBmb3IgYWRkZWQgbGluZXMuICBXb3JkLXdpc2Ugb3IgJ3Jl ZmluZWQnIGRpZmZzIGZvbGxvdw0KLXRoZSBzYW1lIHBhdHRlcm4gYnV0IHVzZSBkaWZmZXJlbnQg c2hhZGVzIG9mIHRob3NlIGNvbG91cnMgdG8NCi1yZW1haW4gZGlzdGluY3QuDQotDQotQSBgZGVz YXR1cmF0ZWQnIHZhbHVlIGZvbGxvd3MgdGhlIHNhbWUgcHJpbmNpcGxlcyBhcyB3aXRoIHRoZSBu aWwNCi1vcHRpb24sIHdoaWxlIGl0IHRvbmVzIGRvd24gYWxsIHJlbGV2YW50IGNvbG91cnMuDQot DQotT3B0aW9uIGBmZy1vbmx5JyB3aWxsIHJlbW92ZSBhbGwgYWNjZW50ZWQgYmFja2dyb3VuZHMs IGV4Y2VwdA0KLWZyb20gd29yZC13aXNlIGNoYW5nZXMuICBJdCBpbnN0ZWFkIHVzZXMgY29sb3Vy LWNvZGVkIGZvcmVncm91bmQNCi12YWx1ZXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGFkZGVk L3JlbW92ZWQvY2hhbmdlZCBsaW5lcy4gIElmDQotYSBiYWNrZ3JvdW5kIGlzIG5lY2Vzc2FyeSwg c3VjaCBhcyB3aXRoIGBlZGlmZicsIHRoZW4gYSBzdWJ0bGUNCi1ncmV5c2NhbGUgdmFsdWUgaXMg dXNlZC4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5z ZWx5IGNvbG91cmVkIGJhY2tncm91bmRzIChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29u c3QgOnRhZyAiU2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZHMgd2l0aCB0aW50ZWQgdGV4dCIg ZGVzYXR1cmF0ZWQpDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyBiYWNrZ3JvdW5kcywgZXhj ZXB0IGZvciByZWZpbmVkIGRpZmZzIiBmZy1vbmx5KSkpDQotDQotKG1ha2Utb2Jzb2xldGUgJ21v ZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAg ICAiYG1vZHVzLW9wZXJhbmRpLXRoZW1lJyAwLjEyLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMt b3BlcmFuZGktdGhlbWUtaW50ZW5zZS1zdGFuZGFyZC1jb21wbGV0aW9ucyBuaWwNCi0gICJVc2Ug cHJvbWluZW50IGJhY2tncm91bmRzIGZvciBJY29tcGxldGUsIElkbywgb3Igc2ltaWxhci4iDQot ICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWNv bXBsZXRpb25zIG5pbA0KLSAgIkFwcGx5IHNwZWNpYWwgc3R5bGVzIHRvIHRoZSBVSSBvZiBjb21w bGV0aW9uIGZyYW1ld29ya3MuDQotDQotVGhpcyBjb25jZXJucyBJY29tcGxldGUsIEl2eSwgSGVs bSwgU2VsZWN0cnVtLCBJZG8sIGFzIHdlbGwgYXMNCi1hbnkgb3RoZXIgdG9vbCBtZWFudCB0byBl bmhhbmNlIHRoZWlyIGV4cGVyaWVuY2UuICBUaGUgZWZmZWN0DQotd2lsbCB2YXJ5IGRlcGVuZGlu ZyBvbiB0aGUgY29tcGxldGlvbiBmcmFtZXdvcmsuDQotDQotTmlsIG1lYW5zIHRvIHJlbWFpbiBm YWl0aGZ1bCB0byB0aGUgbWV0YXBob3JzIHRoYXQgZWFjaCBVSQ0KLWVzdGFibGlzaGVzLiAgRm9y IGV4YW1wbGUsIEljb21wbGV0ZSBhbmQgSWRvIG9ubHkgdXNlIGZvcmVncm91bmQNCi1jb2xvdXJz IHRvIHN0eWxlIHRoZWlyIG1hdGNoZXMsIHdoZXJlYXMgSXZ5IG9yIEhlbG0gcmVseSBvbiBhbg0K LWFlc3RoZXRpYyB0aGF0IGNvbWJpbmVzIGNvbG91cmVkIGJhY2tncm91bmRzIHdpdGggYXBwcm9w cmlhdGUNCi10ZXh0IGNvbG91ci4NCi0NCi1PcHRpb24gYG1vZGVyYXRlJyB3aWxsIGFwcGx5IGEg Y29tYmluYXRpb24gb2YgYmFja2dyb3VuZCBhbmQNCi1mb3JlZ3JvdW5kIHRoYXQgaXMgZmFpcmx5 IHN1YnRsZS4gIEZvciBJY29tcGxldGUgYW5kIHRoZSBsaWtlLA0KLXRoaXMgY29uc3RpdHV0ZXMg YSBkZXBhcnR1cmUgZnJvbSB0aGVpciBzdGFuZGFyZCBzdHlsZS4gIFdoaWxlDQotSXZ5LCBIZWxt LCBhbmQgdGhlIG90aGVycywgd2lsbCB1c2UgbGVzcyBwcm9ub3VuY2VkIGNvbG91cnMgZm9yDQot YXBwbGljYWJsZSBjb250ZXh0cy4NCi0NCi1PcHRpb24gYG9waW5pb25hdGVkJyB3aWxsIGFwcGx5 IGNvbG91ciBjb21iaW5hdGlvbnMgdGhhdA0KLXJlZmFzaGlvbiB0aGUgY29tcGxldGlvbiBVSS4g IFNvIEljb21wbGV0ZSBldCBhbCB3aWxsIG5vdyB1c2UNCi1zdHlsZXMgdGhhdCByZXNlbWJsZSB0 aGUgZGVmYXVsdHMgb2YgSXZ5IGFuZCBjby4sIHdoaWxlIHRoZQ0KLWxhdHRlciBncm91cCB3aWxs IHJldmVydCB0byBhbiBldmVuIG1vcmUgbnVhbmNlZCBhZXN0aGV0aWMuIg0KLSAgOnR5cGUgJyhj aG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlJlc3BlY3QgdGhlIGZyYW1ld29yaydzIGVz dGFibGlzaGVkIGFlc3RoZXRpYyAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0 YWcgIlN1YnRsZSBiYWNrZ3JvdW5kcyBmb3IgdmFyaW91cyBlbGVtZW50cyIgbW9kZXJhdGUpDQot ICAgICAgICAgIChjb25zdCA6dGFnICJSYWRpY2FsIGFsdGVybmF0aXZlIHRvIHRoZSBmcmFtZXdv cmsncyBsb29rcyIgb3BpbmlvbmF0ZWQpKSkNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRp LXRoZW1lLXByb21wdHMgbmlsDQotICAiVXNlIHN1YnRsZSBvciBpbnRlbnNlIHN0eWxlcyBmb3Ig bWluaWJ1ZmZlciBhbmQgUkVQTCBwcm9tcHRzLg0KLQ0KLU5pbCBtZWFucyB0byBvbmx5IHVzZSBh biBhY2NlbnRlZCBmb3JlZ3JvdW5kIGNvbG91ci4NCi0NCi1PcHRpb25zIGBzdWJ0bGUnIGFuZCBg aW50ZW5zZScgd2lsbCBjaGFuZ2UgYm90aCB0aGUgYmFja2dyb3VuZA0KLWFuZCB0aGUgZm9yZWdy b3VuZCB2YWx1ZXMuICBUaGUgbGF0dGVyIGhhcyBhIG1vcmUgcHJvbm91bmNlZA0KLWVmZmVjdCB0 aGFuIHRoZSBmb3JtZXIuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0 YWcgIk5vIHByb21wdCBiYWNrZ3JvdW5kIChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29u c3QgOnRhZyAiU3VidGxlIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBwcm9tcHQiIHN1YnRs ZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2UgYmFja2dyb3VuZCBhbmQgZm9yZWdy b3VuZCBmb3IgdGhlIHByb21wdCIgaW50ZW5zZSkpKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3Bl cmFuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lIG5pbA0KLSAgIlVzZSBtb3JlIHByb21pbmVudCBi YWNrZ3JvdW5kIGZvciBjb21tYW5kIGBobC1saW5lLW1vZGUnLiINCi0gIDp0eXBlICdib29sZWFu KQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRj aCBuaWwNCi0gICJVc2UgbW9yZSBwcm9taW5lbnQgY29sb3VyIGZvciBwYXJlbnRoZXNpcyBtYXRj aGluZy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRp LXRoZW1lLWZhaW50LXN5bnRheCBuaWwNCi0gICJVc2UgbGVzcyBzYXR1cmF0ZWQgY29sb3VycyBm b3IgY29kZSBzeW50YXggaGlnaGxpZ2h0aW5nLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShk ZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUgbmlsDQotICAi RG8gbm90IHVuZGVybGluZSBsaW5rcy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi07OzsgSW50 ZXJuYWwgZnVuY3Rpb25zDQotDQotOzsgSGVscGVyIGZ1bmN0aW9ucyB0aGF0IGFyZSBtZWFudCB0 byBlYXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUNCi07OyBhYm92ZSBjdXN0b21pc2F0aW9u IG9wdGlvbnMuDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0ICgpDQot ICAiQ29uZGl0aW9uYWwgdXNlIG9mIGEgaGVhdmllciB0ZXh0IHdlaWdodC4iDQotICAod2hlbiBt b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMNCi0gICAgKGxpc3QgOmluaGVyaXQg J2JvbGQpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMgKCkN Ci0gICJDb25kaXRpb25hbCBhcHBsaWNhdGlvbiBvZiBgZml4ZWQtcGl0Y2gnIGluaGVyaXRhbmNl LiINCi0gICh1bmxlc3MgbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMNCi0gICAg KGxpc3QgOmluaGVyaXQgJ2ZpeGVkLXBpdGNoKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRp LXRoZW1lLWZyaW5nZSAoc3VidGxlYmcgaW50ZW5zZWJnKQ0KLSAgIkNvbmRpdGlvbmFsIHVzZSBv ZiBiYWNrZ3JvdW5kIGNvbG91cnMgZm9yIGZyaW5nZXMuDQotU1VCVExFQkcgc2hvdWxkIGJlIGEg c3VidGxlIGdyZXlzY2FsZSB2YWx1ZS4gIElOVEVOU0VCRyBtdXN0IGJlIGENCi1tb3JlIHByb25v dW5jZWQgZ3JleXNjYWxlIGNvbG91ci4iDQotICAocGNhc2UgbW9kdXMtb3BlcmFuZGktdGhlbWUt ZnJpbmdlcw0KLSAgICAoJ2ludGVuc2UgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCi0g ICAgKCdzdWJ0bGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcpKQ0KLSAgICAoXyAobGlzdCA6 YmFja2dyb3VuZCBuaWwpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21w dCAobWFpbmZnIHN1YnRsZWJnIHN1YnRsZWZnIGludGVuc2ViZyBpbnRlbnNlZmcpDQotICAiQ29u ZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQgY29sb3VycyBmb3IgcHJvbXB0cy4NCi1NQUlORkcg aXMgdGhlIHByb21wdCdzIHN0YW5kYXJkIGZvcmVncm91bmQuICBTVUJUTEVCRyBzaG91bGQgYmUg YQ0KLXN1YnRsZSBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQgd29ya3Mgd2l0aCBTVUJUTEVGRy4g IElOVEVOU0VCRw0KLW11c3QgYmUgYSBtb3JlIHByb25vdW5jZWQgYWNjZW50ZWQgY29sb3VyIHRo YXQgc2hvdWxkIGJlDQotY29tYmluYWJsZSB3aXRoIElOVEVOU0VGRy4iDQotICAocGNhc2UgbW9k dXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0cw0KLSAgICAoJ2ludGVuc2UgKGxpc3QgOmJhY2tncm91 bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykpDQotICAgICgnc3VidGxlIChsaXN0 IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIHN1YnRsZWZnKSkNCi0gICAgKF8gKGxp c3QgOmJhY2tncm91bmQgbmlsIDpmb3JlZ3JvdW5kIG1haW5mZykpKSkNCi0NCi0oZGVmdW4gbW9k dXMtb3BlcmFuZGktdGhlbWUtcGFyZW4gKG5vcm1hbGJnIGludGVuc2ViZykNCi0gICJDb25kaXRp b25hbCB1c2Ugb2YgaW50ZW5zZSBjb2xvdXJzIGZvciBtYXRjaGluZyBwYXJlbnRoZXNlcy4NCi1O T1JNQUxCRyBzaG91bGQgdGhlIHNwZWNpYWwgcGFsZXR0ZSBjb2xvdXIgJ2JnLXBhcmVuLW1hdGNo JyBvcg0KLXNvbWV0aGluZyBzaW1pbGFyLiAgSU5URU5TRUJHIG11c3QgYmUgZWFzaWVyIHRvIGRp c2Nlcm4gbmV4dCB0bw0KLW90aGVyIGJhY2tncm91bmRzLCBzdWNoIGFzIHRoZSBzcGVjaWFsIHBh bGV0dGUgY29sb3VyDQotJ2JnLXBhcmVuLW1hdGNoLWludGVuc2UnLiINCi0gIChpZiBtb2R1cy1v cGVyYW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoDQotICAgICAgKGxpc3QgOmJhY2tncm91 bmQgaW50ZW5zZWJnKQ0KLSAgICAobGlzdCA6YmFja2dyb3VuZCBub3JtYWxiZykpKQ0KLQ0KLShk ZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZCAobm9ybWFsIGZhaW50 KQ0KLSAgIkFwcGx5IGZvcmVncm91bmQgdmFsdWUgdG8gY29kZSBzeW50YXguDQotTk9STUFMIGlz IHRoZSBtb3JlIHNhdHVyYXRlZCBjb2xvdXIsIHdoaWNoIHNob3VsZCBiZSB0aGUgZGVmYXVsdC4N Ci1GQUlOVCBpcyB0aGUgbGVzcyBzYXR1cmF0ZWQgY29sb3VyLiINCi0gIChpZiBtb2R1cy1vcGVy YW5kaS10aGVtZS1mYWludC1zeW50YXgNCi0gICAgICAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkN Ci0gICAgKGxpc3QgOmZvcmVncm91bmQgbm9ybWFsKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJh bmRpLXRoZW1lLWhlYWRpbmctcCAoa2V5KQ0KLSAgIlF1ZXJ5IHN0eWxlIG9mIEtFWSBpbiBgbW9k dXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MnLiINCi0gIChjZHIgKGFzc29jIGtleSBtb2R1cy1v cGVyYW5kaS10aGVtZS1oZWFkaW5ncykpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVt ZS1oZWFkaW5nIChsZXZlbCBmZyBmZy1hbHQgYmcgYm9yZGVyKQ0KLSAgIkNvbmRpdGlvbmFsIHN0 eWxlcyBmb3IgYG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzJy4NCi0NCi1MRVZFTCBpcyB0 aGUgaGVhZGluZydzIHBvc2l0aW9uIGluIHRoZWlyIG9yZGVyLiAgRkcgaXMgdGhlDQotZGVmYXVs dCB0ZXh0IGNvbG91ci4gIEZHLUFMVCBpcyBhbiBhY2NlbnRlZCwgbW9yZSBzYXR1cmF0ZWQgdmFs dWUNCi10aGFuIHRoZSBkZWZhdWx0LiAgQkcgaXMgYSBudWFuY2VkLCB0eXBpY2FsbHkgYWNjZW50 ZWQsDQotYmFja2dyb3VuZCB0aGF0IGNhbiB3b3JrIHdlbGwgd2l0aCBlaXRoZXIgb2YgdGhlIGZv cmVncm91bmQNCi12YWx1ZXMuICBCT1JERVIgaXMgYSBjb2xvdXIgdmFsdWUgdGhhdCBjb21iaW5l cyB3ZWxsIHdpdGggdGhlDQotYmFja2dyb3VuZCBhbmQgYWx0ZXJuYXRpdmUgZm9yZWdyb3VuZC4i DQotICAobGV0KiAoKGtleSAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZy1wIGAsbGV2ZWwp KQ0KLSAgICAgICAgIChzdHlsZSAob3Iga2V5IChtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5n LXAgdCkpKQ0KLSAgICAgICAgICh2YXIgKGlmIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxl LXBpdGNoLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgICAgJ3ZhcmlhYmxlLXBpdGNoDQotICAg ICAgICAgICAgICAgICdkZWZhdWx0KSkpDQotICAgIChwY2FzZSBzdHlsZQ0KLSAgICAgICgnbm8t Ym9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBmZykpDQotICAg ICAgKCdsaW5lDQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3Vu ZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAgICAoJ2xpbmUtbm8tYm9sZA0KLSAgICAgICAo bGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0g ICAgICAoJ3JhaW5ib3cNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpmb3Jl Z3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdyYWluYm93LW5vLWJvbGQNCi0gICAgICAgKGxpc3Qg OmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmctYWx0KSkNCi0gICAgICAoJ3JhaW5ib3ctbGlu ZQ0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmctYWx0 IDpvdmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgncmFpbmJvdy1saW5lLW5vLWJvbGQNCi0gICAg ICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmctYWx0IDpvdmVybGluZSBib3Jk ZXIpKQ0KLSAgICAgICgnaGlnaGxpZ2h0DQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAs dmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZykpDQotICAgICAgKCdoaWdobGlnaHQt bm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBiZyA6Zm9y ZWdyb3VuZCBmZykpDQotICAgICAgKCdyYWluYm93LWhpZ2hsaWdodA0KLSAgICAgICAobGlzdCA6 aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0KSkN Ci0gICAgICAoJ3JhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVy aXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0KSkNCi0gICAgICAoJ3Nl Y3Rpb24NCi0gICAgICAgKGFwcGVuZA0KLSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVy c2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2 YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnIDpvdmVybGluZSBib3JkZXIpKSkNCi0g ICAgICAoJ3NlY3Rpb24tbm8tYm9sZA0KLSAgICAgICAoYXBwZW5kDQotICAgICAgICAoYW5kICg+ PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAobGlzdCA6 aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9y ZGVyKSkpDQotICAgICAgKCdyYWluYm93LXNlY3Rpb24NCi0gICAgICAgKGFwcGVuZA0KLSAgICAg ICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAg ICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5k IGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkpDQotICAgICAgKCdyYWluYm93LXNlY3Rpb24tbm8t Ym9sZA0KLSAgICAgICAoYXBwZW5kDQotICAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJz aW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6YmFj a2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAg IChfDQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZykp KSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9jayAoYmdibGspDQot ICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIGJhY2tncm91bmQgb2YgT3JnIGJsb2Nrcy4NCi1CR0JM SyBhcHBsaWVzIHRvIGEgZGlzdGluY3QgbmV1dHJhbCBiYWNrZ3JvdW5kLiAgRWxzZSBibG9ja3Mg aGF2ZQ0KLW5vIGJhY2tncm91bmQgb2YgdGhlaXIgb3duICh0aGUgZGVmYXVsdCksIHNvIHRoZXkg bG9vayB0aGUgc2FtZQ0KLWFzIHRoZSByZXN0IG9mIHRoZSBidWZmZXIuDQotDQotYG1vZHVzLW9w ZXJhbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGFsc28gYWNjZXB0cyBhIGByYWluYm93JyBvcHRpb24N Ci13aGljaCBpcyBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgdG8gYG9yZy1zcmMtYmxvY2stZmFjZXMn IChzZWUgdGhlDQotdGhlbWUncyBzb3VyY2UgY29kZSkuIg0KLSAgKGlmIChlcSBtb2R1cy1vcGVy YW5kaS10aGVtZS1vcmctYmxvY2tzICdncmV5c2NhbGUpDQotICAgICAgKGFwcGVuZA0KLSAgICAg ICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAg IChsaXN0IDpiYWNrZ3JvdW5kIGJnYmxrKSkNCi0gICAgKGxpc3QgOmJhY2tncm91bmQgbmlsKSkp DQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9jay1kZWxpbSAoYmdhY2Nl bnQgZmdhY2NlbnQgYmcgZmcpDQotICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIHN0eWxlcyBvZiBP cmcgYmxvY2sgZGVsaW1pdGVycy4NCi1CRywgRkcsIEJHQUNDRU5ULCBGR0FDQ0VOVCBhcHBseSBh IGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQNCi1jb2xvdXIgcmVzcGVjdGl2ZWx5Lg0KLQ0KLVRo ZSBmb3JtZXIgcGFpciBpcyBhIGdyZXlzY2FsZSBjb21iaW5hdGlvbiB0aGF0IHNob3VsZCBiZSBt b3JlDQotZGlzdGluY3QgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYmxvY2suICBJdCBpcyBh cHBsaWVkIHRvIHRoZQ0KLWRlZmF1bHQgc3R5bGVzIG9yIHdoZW4gYG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW9yZy1ibG9ja3MnIGlzIHNldA0KLXRvIGBncmV5c2NhbGUnLg0KLQ0KLVRoZSBsYXR0ZXIg cGFpciBzaG91bGQgYmUgbW9yZSBzdWJ0bGUgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0aGUNCi1i bG9jaywgYXMgaXQgaXMgdXNlZCB3aGVuIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tz JyBpcw0KLXNldCB0byBgcmFpbmJvdycuIg0KLSAgKHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1l LW9yZy1ibG9ja3MNCi0gICAgKCdncmV5c2NhbGUgKGFwcGVuZCAoYW5kICg+PSBlbWFjcy1tYWpv ci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgKGxp c3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkNCi0gICAgKCdyYWluYm93IChsaXN0 IDpiYWNrZ3JvdW5kIGJnYWNjZW50IDpmb3JlZ3JvdW5kIGZnYWNjZW50KSkNCi0gICAgKF8gKGxp c3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAoZmcgYmcgZmctYWx0IGJnLWFsdCBi b3JkZXIgYm9yZGVyLTNkICZvcHRpb25hbCBhbHQtc3R5bGUgYm9yZGVyLXdpZHRoIGZnLWRpc3Rh bnQpDQotICAiQ29sb3VyIGNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1v ZGUtbGluZScuDQotDQotRkcgYW5kIEJHIGFyZSB0aGUgZGVmYXVsdCBjb2xvdXJzLiAgRkctQUxU IGFuZCBCRy1BTFQgYXJlIG1lYW50DQotdG8gYWNjb21tb2RhdGUgdGhlIG9wdGlvbnMgZm9yIGEg M0QgbW9kZWxpbmUgb3IgYSBgbW9vZHknDQotY29tcGxpYW50IG9uZS4gIEJPUkRFUiBhcHBsaWVz IHRvIGFsbCBwZXJtdXRhdGlvbnMgb2YgdGhlDQotbW9kZWxpbmUsIGV4Y2VwdCB0aGUgdGhyZWUt ZGltZW5zaW9uYWwgZWZmZWN0LCB3aGVyZSBCT1JERVItM0QgaXMNCi11c2VkIGluc3RlYWQuDQot DQotT3B0aW9uYWwgQUxULVNUWUxFIGFwcGxpZXMgYW4gYXBwcm9wcmlhdGUgc3R5bGUgdG8gdGhl IG1vZGUNCi1saW5lJ3MgYm94IHByb3BlcnR5Lg0KLQ0KLU9wdGlvbmFsIEJPUkRFUi1XSURUSCBz cGVjaWZpZXMgYW4gaW50ZWdlciBmb3IgdGhlIHdpZHRoIG9mIHRoZQ0KLXJlY3RhbmdsZSB0aGF0 IHByb2R1Y2VzIHRoZSBib3ggZWZmZWN0Lg0KLQ0KLU9wdGlvbmFsIEZHLURJU1RBTlQgc2hvdWxk IGJlIGNsb3NlIHRvIHRoZSBtYWluIGJhY2tncm91bmQNCi12YWx1ZXMuICBJdCBpcyBpbnRlbmRl ZCB0byBiZSB1c2VkIGFzIGEgZGlzdGFudC1mb3JlZ3JvdW5kDQotcHJvcGVydHkuIg0KLSAgKHBj YXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZQ0KLSAgICAoJzNkDQotICAgICBgKDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdA0KLSAgICAgICAgICAgICAgICAg ICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRlci13aWR0aCAxKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6Y29sb3IgLGJvcmRlci0zZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGUgLChhbmQgYWx0LXN0eWxlICdyZWxlYXNlZC1i dXR0b24pKSkpDQotICAgICgnbW9vZHkNCi0gICAgIGAoOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgLGJvcmRlciA6b3ZlcmxpbmUgLGJvcmRlcg0KLSAg ICAgICAgICAgICAgICAgICA6ZGlzdGFudC1mb3JlZ3JvdW5kICxmZy1kaXN0YW50KSkNCi0gICAg KF8NCi0gICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3JvdW5kICxiZyA6Ym94ICxib3JkZXIp KSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYgKGZnLW9ubHktYmcgZmct b25seS1mZyBtYWluYmcgbWFpbmZnIGFsdGJnIGFsdGZnKQ0KLSAgIkNvbG91ciBjb21iaW5hdGlv bnMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcycuDQotDQotRkctT05MWS1CRyBzaG91 bGQgYmUgc2ltaWxhciBvciB0aGUgc2FtZSBhcyB0aGUgbWFpbiBiYWNrZ3JvdW5kLg0KLUZHLU9O TFktRkcgc2hvdWxkIGJlIGEgc2F0dXJhdGVkIGFjY2VudCB2YWx1ZSB0aGF0IGNhbiBiZQ0KLWNv bWJpbmVkIHdpdGggdGhlIGZvcm1lci4NCi0NCi1NQUlOQkcgbXVzdCBiZSBvbmUgb2YgdGhlIGRl ZGljYXRlZCBiYWNrZ3JvdW5kcyBmb3IgZGlmZnMgd2hpbGUNCi1NQUlORkcgbXVzdCBiZSB0aGUg c2FtZSBmb3IgdGhlIGZvcmVncm91bmQuDQotDQotQUxUQkcgbmVlZHMgdG8gYmUgYSBzbGlnaHRs eSBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMgbWVhbnQgdG8NCi1iZSBjb21iaW5lZCB3aXRo IEFMVEZHLiAgQm90aCBtdXN0IGJlIGxlc3MgaW50ZW5zZSB0aGFuIE1BSU5CRw0KLWFuZCBNQUlO RkcgcmVzcGVjdGl2ZWx5LiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcw0K LSAgICAoJ2ZnLW9ubHkgKGxpc3QgOmJhY2tncm91bmQgZmctb25seS1iZyA6Zm9yZWdyb3VuZCBm Zy1vbmx5LWZnKSkNCi0gICAgKCdkZXNhdHVyYXRlZCAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6 Zm9yZWdyb3VuZCBhbHRmZykpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIG1haW5iZyA6Zm9y ZWdyb3VuZCBtYWluZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5k YXJkLWNvbXBsZXRpb25zIChtYWluZmcgc3VidGxlYmcgaW50ZW5zZWJnIGludGVuc2VmZykNCi0g ICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucycuDQot DQotTUFJTkZHIGlzIGFuIGFjY2VudGVkIGZvcmVncm91bmQgdmFsdWUuICBTVUJUTEVCRyBpcyBh biBhY2NlbnRlZA0KLWJhY2tncm91bmQgdmFsdWUgdGhhdCBjYW4gYmUgY29tYmluZWQgd2l0aCBN QUlORkcuICBJTlRFTlNFQkcgYW5kDQotSU5URU5TRUZHIGFyZSBhY2NlbnRlZCBjb2xvdXJzIHRo YXQgYXJlIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW4NCi10YW5kZW0uDQotDQotVGhlc2UgYXJlIGlu dGVuZGVkIGZvciBJY29tcGxldGUsIElkbywgYW5kIHJlbGF0ZWQuIg0KLSAgKHBjYXNlIG1vZHVz LW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zDQotICAgICgnb3BpbmlvbmF0ZWQgKGxpc3QgOmJh Y2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykpDQotICAgICgnbW9kZXJh dGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcgOmZvcmVncm91bmQgbWFpbmZnKSkNCi0gICAg KF8gKGxpc3QgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5k aS10aGVtZS1leHRyYS1jb21wbGV0aW9ucyAoc3VidGxlZmFjZSBpbnRlbnNlZmFjZSBhbHRmYWNl ICZvcHRpb25hbCBhbHRmZyBib2xkKQ0KLSAgIkNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLW9wZXJh bmRpLXRoZW1lLWNvbXBsZXRpb25zJy4NCi0NCi1TVUJUTEVGQUNFIGFuZCBJTlRFTlNFRkFDRSBh cmUgY3VzdG9tIHRoZW1lIGZhY2VzIHRoYXQgY29tYmluZSBhDQotYmFja2dyb3VuZCBhbmQgZm9y ZWdyb3VuZCB2YWx1ZS4gIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3bw0KLWlzIGEgbWF0 dGVyIG9mIGRlZ3JlZS4NCi0NCi1BTFRGQUNFIGlzIGEgY29tYmluYXRpb24gb2YgY29sb3VycyB0 aGF0IHJlcHJlc2VudHMgYSBkZXBhcnR1cmUNCi1mcm9tIHRoZSBVSSdzIGRlZmF1bHQgYWVzdGhl dGljcy4gIE9wdGlvbmFsIEFMVEZHIGlzIG1lYW50IHRvIGJlDQotdXNlZCBpbiB0YW5kZW0gd2l0 aCBpdC4NCi0NCi1PcHRpb25hbCBCT0xEIHdpbGwgYXBwbHkgYSBoZWF2aWVyIHdlaWdodCB0byB0 aGUgdGV4dC4NCi0NCi1UaGVzZSBhcmUgaW50ZW5kZWQgZm9yIEhlbG0sIEl2eSwgZXRjLiINCi0g IChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAoJ29waW5pb25h dGVkIChsaXN0IDppbmhlcml0IChsaXN0IGFsdGZhY2UgYm9sZCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAob3IgYWx0ZmcgJ3Vuc3BlY2lmaWVkKSkpDQotICAgICgnbW9k ZXJhdGUgKGxpc3QgOmluaGVyaXQgKGxpc3Qgc3VidGxlZmFjZSBib2xkKSkpDQotICAgIChfIChs aXN0IDppbmhlcml0IChsaXN0IGludGVuc2VmYWNlIGJvbGQpKSkpKQ0KLQ0KLShkZWZ1biBtb2R1 cy1vcGVyYW5kaS10aGVtZS1zY2FsZSAoYW1vdW50KQ0KLSAgIlNjYWxlIGhlYWRpbmcgYnkgQU1P VU5ULg0KLQ0KLUFNT1VOVCBpcyBhIGN1c3RvbWlzYXRpb24gb3B0aW9uLiINCi0gICh3aGVuIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzDQotICAgIChsaXN0IDpoZWlnaHQgYW1v dW50KSkpDQotDQotOzs7IENvbG91ciBwYWxldHRlDQotDQotOzsgRGVmaW5lIGNvbG91ciBwYWxl dHRlLiAgRWFjaCBjb2xvdXIgbXVzdCBoYXZlIGEgPj0gNzoxIGNvbnRyYXN0DQotOzsgcmF0aW8g cmVsYXRpdmUgdG8gdGhlIGZvcmVncm91bmQvYmFja2dyb3VuZCBjb2xvdXIgaXQgaXMgcmVuZGVy ZWQNCi07OyBhZ2FpbnN0Lg0KLTs7DQotOzsgVGhlIGRlc2lnbiBvZiB0aGUgY29sb3VyIHBhbGV0 dGUgYXMgYSBtYWNybyB0aGF0IG1hcHMgaXQgdG8gZmFjZXMgaXMNCi07OyBhZGFwdGVkIGZyb20g emVuYmVybi10aGVtZS5lbCwgbGFzdCBzZWVuIGF0IGNvbW1pdCA3ZGQ3OTY4Og0KLTs7IGh0dHBz Oi8vZ2l0aHViLmNvbS9iYmF0c292L3plbmJ1cm4tZW1hY3MNCi0oZXZhbC1hbmQtY29tcGlsZQ0K LSAgKGRlZmNvbnN0IG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRlZmF1bHQtY29sb3JzLWFsaXN0DQot ICAgICcoOzsgYmFzZSB2YWx1ZXMNCi0gICAgICAoImJnLW1haW4iIC4gIiNmZmZmZmYiKSAoImZn LW1haW4iIC4gIiMwMDAwMDAiKQ0KLSAgICAgICgiYmctYWx0IiAuICIjZjBmMGYwIikgKCJmZy1h bHQiIC4gIiM1MDUwNTAiKQ0KLSAgICAgICgiYmctZGltIiAuICIjZjhmOGY4IikgKCJmZy1kaW0i IC4gIiMyODI4MjgiKQ0KLSAgICAgIDs7IHNwZWNpZmljYWxseSBmb3Igb24vb2ZmIHN0YXRlcyAo ZS5nLiBgbW9kZS1saW5lJykNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQg d2l0aCB0aGVtc2VsdmVzDQotICAgICAgKCJiZy1hY3RpdmUiIC4gIiNkN2Q3ZDciKSAoImZnLWFj dGl2ZSIgLiAiIzBhMGEwYSIpDQotICAgICAgKCJiZy1pbmFjdGl2ZSIgLiAiI2VmZWZlZiIpICgi ZmctaW5hY3RpdmUiIC4gIiM0MDQxNDgiKQ0KLSAgICAgIDs7IHNwZWNpYWwgYmFzZSB2YWx1ZXMs IHVzZWQgb25seSBmb3IgY2FzZXMgd2hlcmUgdGhlIGFib3ZlDQotICAgICAgOzsgZmctKiBvciBi Zy0qIGNhbm5vdCBvciBzaG91bGQgbm90IGJlIHVzZWQgKHRvIGF2b2lkIGNvbmZ1c2lvbikNCi0g ICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IHtmZyxiZ30te21haW4sYWx0LGRpbX0NCi0g ICAgICAoImJnLXNwZWNpYWwtY29sZCIgLiAiI2RkZTNmNCIpICgiZmctc3BlY2lhbC1jb2xkIiAu ICIjMDkzMDYwIikNCi0gICAgICAoImJnLXNwZWNpYWwtbWlsZCIgLiAiI2M0ZWRlMCIpICgiZmct c3BlY2lhbC1taWxkIiAuICIjMTg0MDM0IikNCi0gICAgICAoImJnLXNwZWNpYWwtd2FybSIgLiAi I2YwZTBkNCIpICgiZmctc3BlY2lhbC13YXJtIiAuICIjNWQzMDI2IikNCi0gICAgICAoImJnLXNw ZWNpYWwtY2FsbSIgLiAiI2Y4ZGRlYSIpICgiZmctc3BlY2lhbC1jYWxtIiAuICIjNjEyODRmIikN Ci0gICAgICA7OyBzdHlsZXMgZm9yIHRoZSBtYWluIGNvbnN0cnVjdHMNCi0gICAgICA7Ow0KLSAg ICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRp bScNCi0gICAgICAoInJlZCIgLiAiI2E2MDAwMCIpICgiZ3JlZW4iIC4gIiMwMDVlMDAiKQ0KLSAg ICAgICgieWVsbG93IiAuICIjODEzZTAwIikgKCJibHVlIiAuICIjMDAzMWE5IikNCi0gICAgICAo Im1hZ2VudGEiIC4gIiM3MjEwNDUiKSAoImN5YW4iIC4gIiMwMDUzOGIiKQ0KLSAgICAgIDs7IHN0 eWxlcyBmb3IgY29tbW9uLCBidXQgc3RpbGwgc3BlY2lhbGlzZWQgY29uc3RydWN0cw0KLSAgICAg IDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQn LCBgYmctZGltJw0KLSAgICAgICgicmVkLWFsdCIgLiAiIzk3MjUwMCIpICgiZ3JlZW4tYWx0IiAu ICIjMzE1YjAwIikNCi0gICAgICAoInllbGxvdy1hbHQiIC4gIiM3MDQ4MGYiKSAoImJsdWUtYWx0 IiAuICIjMjU0NGJiIikNCi0gICAgICAoIm1hZ2VudGEtYWx0IiAuICIjOGYwMDc1IikgKCJjeWFu LWFsdCIgLiAiIzMwNTE3ZiIpDQotICAgICAgOzsgc2FtZSBwdXJwb3NlIGFzIGFib3ZlLCBqdXN0 IHNsaWdodCBkaWZmZXJlbmNlcw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5l ZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQnLCBgYmctZGltJw0KLSAgICAgICgicmVkLWFsdC1v dGhlciIgLiAiI2EwMTMyZiIpICgiZ3JlZW4tYWx0LW90aGVyIiAuICIjMTQ1YzMzIikNCi0gICAg ICAoInllbGxvdy1hbHQtb3RoZXIiIC4gIiM4NjM5MjciKSAoImJsdWUtYWx0LW90aGVyIiAuICIj MDAwMGMwIikNCi0gICAgICAoIm1hZ2VudGEtYWx0LW90aGVyIiAuICIjNTMxN2FjIikgKCJjeWFu LWFsdC1vdGhlciIgLiAiIzAwNWE1ZiIpDQotICAgICAgOzsgc3R5bGVzIGZvciBkZXNhdHVyYXRl ZCBmb3JlZ3JvdW5kIHRleHQsIGludGVuZGVkIGZvciB1c2Ugd2l0aA0KLSAgICAgIDs7IHRoZSBg bW9kdXMtb3BlcmFuZGktdGhlbWUtZmFpbnQtc3ludGF4JyBvcHRpb24NCi0gICAgICA7Ow0KLSAg ICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRp bScNCi0gICAgICAoInJlZC1mYWludCIgLiAiIzdmMTAxMCIpICgiZ3JlZW4tZmFpbnQiIC4gIiMx MDQ0MTAiKQ0KLSAgICAgICgieWVsbG93LWZhaW50IiAuICIjNWY0NDAwIikgKCJibHVlLWZhaW50 IiAuICIjMDAyZjg4IikNCi0gICAgICAoIm1hZ2VudGEtZmFpbnQiIC4gIiM3NTJmNTAiKSAoImN5 YW4tZmFpbnQiIC4gIiMxMjUwNmYiKQ0KLQ0KLSAgICAgICgicmVkLWFsdC1mYWludCIgLiAiIzcw MmYwMCIpICgiZ3JlZW4tYWx0LWZhaW50IiAuICIjMzA0NDBmIikNCi0gICAgICAoInllbGxvdy1h bHQtZmFpbnQiIC4gIiM1ZDUwMDAiKSAoImJsdWUtYWx0LWZhaW50IiAuICIjMDAzZjc4IikNCi0g ICAgICAoIm1hZ2VudGEtYWx0LWZhaW50IiAuICIjNzAyNTY1IikgKCJjeWFuLWFsdC1mYWludCIg LiAiIzM1NGY2ZiIpDQotDQotICAgICAgKCJyZWQtYWx0LW90aGVyLWZhaW50IiAuICIjN2YwMDJm IikgKCJncmVlbi1hbHQtb3RoZXItZmFpbnQiIC4gIiMwZjQ0M2YiKQ0KLSAgICAgICgieWVsbG93 LWFsdC1vdGhlci1mYWludCIgLiAiIzVlM2EyMCIpICgiYmx1ZS1hbHQtb3RoZXItZmFpbnQiIC4g IiMxZjJmNmYiKQ0KLSAgICAgICgibWFnZW50YS1hbHQtb3RoZXItZmFpbnQiIC4gIiM1ZjNmN2Yi KSAoImN5YW4tYWx0LW90aGVyLWZhaW50IiAuICIjMmU1ODRmIikNCi0gICAgICA7OyBzdHlsZXMg Zm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZlcnkgc3VidGxlLCB5ZXQgYWNjZW50ZWQNCi0g ICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmct YWx0JywgYGJnLWRpbScgb3IgYW55IG9mDQotICAgICAgOzsgdGhlICJudWFuY2VkIiBiYWNrZ3Jv dW5kcw0KLSAgICAgICgicmVkLW51YW5jZWQiIC4gIiM1ZjAwMDAiKSAoImdyZWVuLW51YW5jZWQi IC4gIiMwMDQwMDAiKQ0KLSAgICAgICgieWVsbG93LW51YW5jZWQiIC4gIiMzZjMwMDAiKSAoImJs dWUtbnVhbmNlZCIgLiAiIzIwMWY1NSIpDQotICAgICAgKCJtYWdlbnRhLW51YW5jZWQiIC4gIiM1 NDFmNGYiKSAoImN5YW4tbnVhbmNlZCIgLiAiIzBmMzM2MCIpDQotICAgICAgOzsgc3R5bGVzIGZv ciBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0 IGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBhYm92ZSBmb3JlZ3JvdW5kIHZhbHVlcw0KLSAg ICAgICgicmVkLW51YW5jZWQtYmciIC4gIiNmZmYxZjAiKSAoImdyZWVuLW51YW5jZWQtYmciIC4g IiNlY2Y3ZWQiKQ0KLSAgICAgICgieWVsbG93LW51YW5jZWQtYmciIC4gIiNmZmYzZGEiKSAoImJs dWUtbnVhbmNlZC1iZyIgLiAiI2YzZjNmZiIpDQotICAgICAgKCJtYWdlbnRhLW51YW5jZWQtYmci IC4gIiNmZGYwZmYiKSAoImN5YW4tbnVhbmNlZC1iZyIgLiAiI2ViZjZmYSIpDQotICAgICAgOzsg c3R5bGVzIGZvciBlbGVtZW50cyB0aGF0IHNob3VsZCBkcmF3IGF0dGVudGlvbiB0byB0aGVtc2Vs dmVzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWlu Jw0KLSAgICAgICgicmVkLWludGVuc2UiIC4gIiNiNjAwMDAiKSAoImdyZWVuLWludGVuc2UiIC4g IiMwMDY4MDAiKQ0KLSAgICAgICgieWVsbG93LWludGVuc2UiIC4gIiM5MDQyMDAiKSAoImJsdWUt aW50ZW5zZSIgLiAiIzExMTFlZSIpDQotICAgICAgKCJtYWdlbnRhLWludGVuc2UiIC4gIiM3MDAw ZTAiKSAoImN5YW4taW50ZW5zZSIgLiAiIzIwNWI5MyIpDQotICAgICAgOzsgc3R5bGVzIGZvciBi YWNrZ3JvdW5kIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZpc2libGUgeWV0DQotICAgICAgOzsg c3VidGxlDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBmZy1k aW0nDQotICAgICAgKCJyZWQtc3VidGxlLWJnIiAuICIjZjJiMGEyIikgKCJncmVlbi1zdWJ0bGUt YmciIC4gIiNhZWNmOTAiKQ0KLSAgICAgICgieWVsbG93LXN1YnRsZS1iZyIgLiAiI2U0YzM0MCIp ICgiYmx1ZS1zdWJ0bGUtYmciIC4gIiNiNWQwZmYiKQ0KLSAgICAgICgibWFnZW50YS1zdWJ0bGUt YmciIC4gIiNmMGQzZmYiKSAoImN5YW4tc3VidGxlLWJnIiAuICIjYzBlZmZmIikNCi0gICAgICA7 OyBzdHlsZXMgZm9yIGJhY2tncm91bmQgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZSBh bmQNCi0gICAgICA7OyBkaXN0aW5ndWlzaGFibGUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3Qg YmUgY29tYmluZWQgd2l0aDogYGZnLW1haW4nDQotICAgICAgKCJyZWQtaW50ZW5zZS1iZyIgLiAi I2ZmODg5MiIpICgiZ3JlZW4taW50ZW5zZS1iZyIgLiAiIzVhZGE4OCIpDQotICAgICAgKCJ5ZWxs b3ctaW50ZW5zZS1iZyIgLiAiI2Y1ZGYyMyIpICgiYmx1ZS1pbnRlbnNlLWJnIiAuICIjNmFhZWZm IikNCi0gICAgICAoIm1hZ2VudGEtaW50ZW5zZS1iZyIgLiAiI2Q1YmFmZiIpICgiY3lhbi1pbnRl bnNlLWJnIiAuICIjNDJjYmQ0IikNCi0gICAgICA7OyBzdHlsZXMgZm9yIHJlZmluZWQgY29udGV4 dHMgd2hlcmUgYm90aCB0aGUgZm9yZWdyb3VuZCBhbmQgdGhlDQotICAgICAgOzsgYmFja2dyb3Vu ZCBuZWVkIHRvIGhhdmUgdGhlIHNhbWUvc2ltaWxhciBodWUNCi0gICAgICA7Ow0KLSAgICAgIDs7 IG11c3QgYmUgY29tYmluZWQgd2l0aCB0aGVtc2VsdmVzIE9SIHRoZSBmb3JlZ3JvdW5kcyBjYW4g YmUNCi0gICAgICA7OyBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgYmFzZSBiYWNrZ3JvdW5kcw0K LSAgICAgICgicmVkLXJlZmluZS1iZyIgLiAiI2ZmY2NjYyIpICgicmVkLXJlZmluZS1mZyIgLiAi Izc4MDAwMCIpDQotICAgICAgKCJncmVlbi1yZWZpbmUtYmciIC4gIiNhY2VhYWMiKSAoImdyZWVu LXJlZmluZS1mZyIgLiAiIzAwNGMwMCIpDQotICAgICAgKCJ5ZWxsb3ctcmVmaW5lLWJnIiAuICIj ZmZmMjlhIikgKCJ5ZWxsb3ctcmVmaW5lLWZnIiAuICIjNjA0MDAwIikNCi0gICAgICAoImJsdWUt cmVmaW5lLWJnIiAuICIjOGFjN2ZmIikgKCJibHVlLXJlZmluZS1mZyIgLiAiIzAwMjI4OCIpDQot ICAgICAgKCJtYWdlbnRhLXJlZmluZS1iZyIgLiAiI2ZmY2NmZiIpICgibWFnZW50YS1yZWZpbmUt ZmciIC4gIiM3NzAwNzciKQ0KLSAgICAgICgiY3lhbi1yZWZpbmUtYmciIC4gIiM4ZWVjZjQiKSAo ImN5YW4tcmVmaW5lLWZnIiAuICIjMDA0ODUwIikNCi0gICAgICA7OyBzdHlsZXMgdGhhdCBhcmUg bWVhbnQgZXhjbHVzaXZlbHkgZm9yIHRoZSBtb2RlIGxpbmUNCi0gICAgICA7Ow0KLSAgICAgIDs7 IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLWFjdGl2ZScsIGBiZy1pbmFjdGl2ZScNCi0gICAg ICAoInJlZC1hY3RpdmUiIC4gIiM4YTAwMDAiKSAoImdyZWVuLWFjdGl2ZSIgLiAiIzAwNGMyZSIp DQotICAgICAgKCJ5ZWxsb3ctYWN0aXZlIiAuICIjNzAyZDFmIikgKCJibHVlLWFjdGl2ZSIgLiAi IzAwMzBiNCIpDQotICAgICAgKCJtYWdlbnRhLWFjdGl2ZSIgLiAiIzVjMjA5MiIpICgiY3lhbi1h Y3RpdmUiIC4gIiMwMDNmOGEiKQ0KLSAgICAgIDs7IHN0eWxlcyB0aGF0IGFyZSBtZWFudCBleGNs dXNpdmVseSBmb3IgdGhlIGZyaW5nZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29t YmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICAoInJlZC1mcmluZ2UtYmciIC4gIiNmMDgyOTAi KSAoImdyZWVuLWZyaW5nZS1iZyIgLiAiIzYyYzg2YSIpDQotICAgICAgKCJ5ZWxsb3ctZnJpbmdl LWJnIiAuICIjZGJiYTNmIikgKCJibHVlLWZyaW5nZS1iZyIgLiAiIzgyYWZmZiIpDQotICAgICAg KCJtYWdlbnRhLWZyaW5nZS1iZyIgLiAiI2UwYTNmZiIpICgiY3lhbi1mcmluZ2UtYmciIC4gIiMy ZmNkZGYiKQ0KLSAgICAgIDs7IHN0eWxlcyByZXNlcnZlZCBmb3Igc3BlY2lmaWMgZmFjZXMNCi0g ICAgICA7Ow0KLSAgICAgIDs7IGBiZy1obC1saW5lJyBpcyBiZXR3ZWVuIGBiZy1kaW0nIGFuZCBg YmctYWx0Jywgc28gaXQgc2hvdWxkDQotICAgICAgOzsgd29yayB3aXRoIGFsbCBhY2NlbnRzIHRo YXQgY292ZXIgdGhvc2UgdHdvLCBwbHVzIGBiZy1tYWluJw0KLSAgICAgIDs7DQotICAgICAgOzsg YGJnLWhsLWFsdCcgYW5kIGBiZy1obC1hbHQtaW50ZW5zZScgc2hvdWxkIG9ubHkgYmUgdXNlZCB3 aGVuIG5vDQotICAgICAgOzsgb3RoZXIgZ3JleXNjYWxlIG9yIGZhaXJseSBuZXV0cmFsIGJhY2tn cm91bmQgaXMgYXZhaWxhYmxlIHRvDQotICAgICAgOzsgcHJvcGVybHkgZHJhdyBhdHRlbnRpb24g dG8gYSBnaXZlbiBjb25zdHJ1Y3QNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1oZWFkZXInIGlz IGJldHdlZW4gYGJnLWFjdGl2ZScgYW5kIGBiZy1pbmFjdGl2ZScsIHNvIGl0DQotICAgICAgOzsg Y2FuIGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMgdGhl DQotICAgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNlIGZvcmVncm91bmQgY29sb3Vycw0KLSAgICAg IDs7DQotICAgICAgOzsgYGJnLXBhcmVuLW1hdGNoJywgYGJnLXBhcmVuLW1hdGNoLWludGVuc2Un LCBgYmctcmVnaW9uJyBhbmQNCi0gICAgICA7OyBgYmctdGFiLWFjdGl2ZScgbXVzdCBiZSBjb21i aW5lZCB3aXRoIGBmZy1tYWluJywgd2hpbGUNCi0gICAgICA7OyBgYmctdGFiLWluYWN0aXZlJyBz aG91bGQgYmUgY29tYmluZWQgd2l0aCBgZmctZGltJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJn LXRhYi1iYXInIGlzIG9ubHkgaW50ZW5kZWQgZm9yIHRoZSBiYXIgdGhhdCBob2xkcyB0aGUgdGFi cyBhbmQNCi0gICAgICA7OyBjYW4gb25seSBiZSBjb21iaW5lZCB3aXRoIGBmZy1tYWluJw0KLSAg ICAgIDs7DQotICAgICAgOzsgYGZnLXRhYi1hY3RpdmUnIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVk IHdpdGggYGJnLXRhYi1hY3RpdmUnLA0KLSAgICAgIDs7IHRob3VnaCBvbmx5IGZvciBzdHlsaW5n IHNwZWNpYWwgZWxlbWVudHMsIHN1Y2ggYXMgdW5kZXJsaW5pbmcNCi0gICAgICA7OyB0aGUgY3Vy cmVudCB0YWINCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3Qn IGFuZCBgZmctZXNjYXBlLWNoYXItYmFja3NsYXNoJyBjYW4NCi0gICAgICA7OyBiZSBjb21iaW5l ZCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZn LWxhbmctZXJyb3InLCBgZmctbGFuZy13YXJuaW5nJywgYGZnLWxhbmctbm90ZScgY2FuIGJlDQot ICAgICAgOzsgY29tYmluZWQgd2l0aCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0Jw0KLSAg ICAgIDs7DQotICAgICAgOzsgYGZnLW1hcmstc2VsJywgYGZnLW1hcmstZGVsJywgYGZnLW1hcmst YWx0JyBjYW4gYmUgY29tYmluZWQNCi0gICAgICA7OyB3aXRoIGBiZy1tYWluJywgYGJnLWRpbScs IGBiZy1hbHQnLCBgYmctaGwtbGluZScNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy11bmZvY3Vz ZWQnIG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICA7Ow0KLSAgICAgIDs7 IHRoZSB3aW5kb3cgZGl2aWRlciBjb2xvdXJzIGFwcGx5IHRvIGZhY2VzIHdpdGgganVzdCBhbiBm ZyB2YWx1ZQ0KLSAgICAgIDs7DQotICAgICAgOzsgYWxsIHBhaXJzIGFyZSBjb21iaW5hYmxlIHdp dGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmctaGwtbGluZSIgLiAiI2YyZWZmMyIpDQotICAgICAg KCJiZy1obC1saW5lLWludGVuc2UiIC4gIiNlMGUwZTAiKQ0KLSAgICAgICgiYmctaGwtYWx0IiAu ICIjZmJlZWUwIikNCi0gICAgICAoImJnLWhsLWFsdC1pbnRlbnNlIiAuICIjZThkZmQxIikNCi0g ICAgICAoImJnLXBhcmVuLW1hdGNoIiAuICIjZTBhZjgyIikNCi0gICAgICAoImJnLXBhcmVuLW1h dGNoLWludGVuc2UiIC4gIiNjNDg4ZmYiKQ0KLSAgICAgICgiYmctcmVnaW9uIiAuICIjYmNiY2Jj IikNCi0NCi0gICAgICAoImJnLXRhYi1iYXIiIC4gIiNkNWQ1ZDUiKQ0KLSAgICAgICgiYmctdGFi LWFjdGl2ZSIgLiAiI2Y2ZjZmNiIpDQotICAgICAgKCJiZy10YWItaW5hY3RpdmUiIC4gIiNiZGJk YmQiKQ0KLSAgICAgICgiZmctdGFiLWFjdGl2ZSIgLiAiIzMwMTY5ZSIpDQotDQotICAgICAgKCJm Zy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QiIC4gIiM4YjEwMzAiKQ0KLSAgICAgICgiZmctZXNjYXBl LWNoYXItYmFja3NsYXNoIiAuICIjNjU0ZDBmIikNCi0NCi0gICAgICAoImZnLWxhbmctZXJyb3Ii IC4gIiM5ZjAwNGYiKQ0KLSAgICAgICgiZmctbGFuZy13YXJuaW5nIiAuICIjNjA0ZjBmIikNCi0g ICAgICAoImZnLWxhbmctbm90ZSIgLiAiIzQwNDBhZSIpDQotDQotICAgICAgKCJmZy13aW5kb3ct ZGl2aWRlci1pbm5lciIgLiAiIzg4ODg4OCIpDQotICAgICAgKCJmZy13aW5kb3ctZGl2aWRlci1v dXRlciIgLiAiIzU4NTg1OCIpDQotDQotICAgICAgKCJmZy11bmZvY3VzZWQiIC4gIiM1NjU3NmQi KQ0KLQ0KLSAgICAgICgiYmctaGVhZGVyIiAuICIjZTVlNWU1IikgKCJmZy1oZWFkZXIiIC4gIiMy YTJhMmEiKQ0KLQ0KLSAgICAgICgiYmctd2hpdGVzcGFjZSIgLiAiI2ZmZjhmYyIpICgiZmctd2hp dGVzcGFjZSIgLiAiIzY0NTA2MCIpDQotDQotICAgICAgKCJiZy1kaWZmLWhlYWRpbmciIC4gIiNi N2MyZGQiKSAoImZnLWRpZmYtaGVhZGluZyIgLiAiIzA0MzM1NSIpDQotICAgICAgKCJiZy1kaWZm LWFkZGVkIiAuICIjZDRmYWQ0IikgKCJmZy1kaWZmLWFkZGVkIiAuICIjMDA0NTAwIikNCi0gICAg ICAoImJnLWRpZmYtY2hhbmdlZCIgLiAiI2ZjZWZjZiIpICgiZmctZGlmZi1jaGFuZ2VkIiAuICIj NTI0MjAwIikNCi0gICAgICAoImJnLWRpZmYtcmVtb3ZlZCIgLiAiI2ZmZThlZiIpICgiZmctZGlm Zi1yZW1vdmVkIiAuICIjNjkxNjE2IikNCi0NCi0gICAgICAoImJnLWRpZmYtcmVmaW5lLWFkZGVk IiAuICIjOTRjZjk0IikgKCJmZy1kaWZmLXJlZmluZS1hZGRlZCIgLiAiIzAwMmEwMCIpDQotICAg ICAgKCJiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIiAuICIjY2NjZjhmIikgKCJmZy1kaWZmLXJlZmlu ZS1jaGFuZ2VkIiAuICIjMzAyMDEwIikNCi0gICAgICAoImJnLWRpZmYtcmVmaW5lLXJlbW92ZWQi IC4gIiNkYWEyYjAiKSAoImZnLWRpZmYtcmVmaW5lLXJlbW92ZWQiIC4gIiM0MDAwMDAiKQ0KLQ0K LSAgICAgICgiYmctZGlmZi1mb2N1cy1hZGRlZCIgLiAiI2JiZWFiYiIpICgiZmctZGlmZi1mb2N1 cy1hZGRlZCIgLiAiIzAwMmMwMCIpDQotICAgICAgKCJiZy1kaWZmLWZvY3VzLWNoYW5nZWQiIC4g IiNlY2RmYmYiKSAoImZnLWRpZmYtZm9jdXMtY2hhbmdlZCIgLiAiIzM5MjkwMCIpDQotICAgICAg KCJiZy1kaWZmLWZvY3VzLXJlbW92ZWQiIC4gIiNlZmNiY2YiKSAoImZnLWRpZmYtZm9jdXMtcmVt b3ZlZCIgLiAiIzRhMDAwMCIpDQotDQotICAgICAgKCJiZy1kaWZmLW5ldXRyYWwtMCIgLiAiIzk3 OTc5NyIpICgiZmctZGlmZi1uZXV0cmFsLTAiIC4gIiMwNDA0MDQiKQ0KLSAgICAgICgiYmctZGlm Zi1uZXV0cmFsLTEiIC4gIiNiMGIwYjAiKSAoImZnLWRpZmYtbmV1dHJhbC0xIiAuICIjMjUyNTI1 IikNCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0yIiAuICIjY2NjY2NjIikgKCJmZy1kaWZmLW5l dXRyYWwtMiIgLiAiIzNhM2EzYSIpDQotDQotICAgICAgKCJiZy1tYXJrLXNlbCIgLiAiI2EwZjBj ZiIpICgiZmctbWFyay1zZWwiIC4gIiMwMDUwNDAiKQ0KLSAgICAgICgiYmctbWFyay1kZWwiIC4g IiNmZmNjYmIiKSAoImZnLW1hcmstZGVsIiAuICIjODQwMDQwIikNCi0gICAgICAoImJnLW1hcmst YWx0IiAuICIjZjVkODhmIikgKCJmZy1tYXJrLWFsdCIgLiAiIzc4MjkwMCIpKQ0KLSAgICAiVGhl IGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy1vcGVyYW5kaS10aGVtZScuDQotRWFjaCBlbGVtZW50 IGhhcyB0aGUgZm9ybSAoTkFNRSAuIEhFWCkuIikNCi0NCi0gIChkZWZjdXN0b20gbW9kdXMtb3Bl cmFuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0ICcoKQ0KLSAgICAiQXNzb2NpYXRpb24g bGlzdCBvZiBwYWxldHRlIGNvbG91ciBvdmVycmlkZXMuDQotVmFsdWVzIGNhbiBiZSBtYXBwZWQg dG8gdmFyaWFibGVzLCB1c2luZyB0aGUgc2FtZSBzeW50YXggYXMgdGhlDQotb25lIHByZXNlbnQg aW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRlZmF1bHQtY29sb3JzLWFsaXN0Jy4NCi0NCi1UaGlz IGlzIG9ubHkgbWVhbnQgZm9yIGRvLWl0LXlvdXJzZWxmIHVzYWdlLCB3aXRoIHRoZQ0KLXVuZGVy c3RhbmRpbmcgdGhhdCB0aGUgdXNlciBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHJlc3VsdGluZw0K LWNvbnRyYXN0IHJhdGlvIGJldHdlZW4gbmV3IGFuZCBleGlzdGluZyBjb2xvdXJzLiINCi0gICAg OnR5cGUgJyhhbGlzdA0KLSAgICAgICAgICAgIDprZXktdHlwZSAoc3RyaW5nIDp0YWcgIk5hbWUi KQ0KLSAgICAgICAgICAgIDp2YWx1ZS10eXBlIChzdHJpbmcgOnRhZyAiIEhleCIpKSkNCi0NCi0g IChkZWZtYWNybyBtb2R1cy1vcGVyYW5kaS10aGVtZS13aXRoLWNvbG9yLXZhcmlhYmxlcyAoJnJl c3QgYm9keSkNCi0gICAgImBsZXQnIGJpbmQgYWxsIGNvbG91cnMgYXJvdW5kIEJPRFkuDQotQWxz byBiaW5kIGBjbGFzcycgdG8gKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgODkpKS4iDQotICAg IChkZWNsYXJlIChpbmRlbnQgMCkpDQotICAgIGAobGV0ICgoY2xhc3MgJygoY2xhc3MgY29sb3Ip IChtaW4tY29sb3JzIDg5KSkpDQotICAgICAgICAgICAsQChtYXBjYXIgKGxhbWJkYSAoY29ucykN Ci0gICAgICAgICAgICAgICAgICAgICAgIChsaXN0IChpbnRlcm4gKGNhciBjb25zKSkgKGNkciBj b25zKSkpDQotICAgICAgICAgICAgICAgICAgICAgKGFwcGVuZCBtb2R1cy1vcGVyYW5kaS10aGVt ZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9k dXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0KSkNCi0gICAgICAgICAgIDs7 IHNpbXBsZSBjb25kaXRpb25hbCBzdHlsZXMgdGhhdCBldmFsdWF0ZSB1c2VyLWZhY2luZw0KLSAg ICAgICAgICAgOzsgY3VzdG9taXNhdGlvbiBvcHRpb25zDQotICAgICAgICAgICAobW9kdXMtdGhl bWUtc2xhbnQNCi0gICAgICAgICAgICAoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2xhbnRlZC1j b25zdHJ1Y3RzICdpdGFsaWMgJ25vcm1hbCkpDQotICAgICAgICAgICAobW9kdXMtdGhlbWUtdmFy aWFibGUtcGl0Y2gNCi0gICAgICAgICAgICAoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtdmFyaWFi bGUtcGl0Y2gtaGVhZGluZ3MgJ3ZhcmlhYmxlLXBpdGNoICdkZWZhdWx0KSkpDQotICAgICAgICxA Ym9keSkpKQ0KLQ0KLQwNCi0NCi07OzsgRmFjZXMNCisocmVxdWlyZS10aGVtZSAnbW9kdXMtdGhl bWVzKQ0KIA0KLShtb2R1cy1vcGVyYW5kaS10aGVtZS13aXRoLWNvbG9yLXZhcmlhYmxlcw0KLSAg KGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0gICAnbW9kdXMtb3BlcmFuZGkNCi07Ozs7IGN1c3Rv bSBmYWNlcw0KLSAgIDs7IHRoZXNlIGJlc3Bva2UgZmFjZXMgYXJlIGluaGVyaXRlZCBieSBvdGhl ciBjb25zdHJ1Y3RzIGJlbG93DQotOzs7Ozsgc3VidGxlIGNvbG91cmVkIGJhY2tncm91bmRzDQot ICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtc3Vi dGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1n cmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxm Zy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tn cm91bmQgLHllbGxvdy1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtc3VidGxlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJn IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRh ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhl bWUtc3VidGxlLW5ldXRyYWwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IGludGVuc2UgY29sb3VyZWQgYmFja2dyb3Vu ZHMNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxy ZWQtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUt aW50ZW5zZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgKCgs Y2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhl bWUtaW50ZW5zZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWludGVuc2Ut YmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtY3lh biAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IHJlZmluZWQg YmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb21iaW5hdGlvbnMNCi0gICA7OyBnZW5lcmFsIHB1 cnBvc2Ugc3R5bGVzIHRoYXQgdXNlIGFuIGFjY2VudGVkIGZvcmVncm91bmQgYWdhaW5zdCBhbg0K LSAgIDs7IGFjY2VudGVkIGJhY2tncm91bmQNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS1yZWQg KCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1yZWZpbmUtYmcgOmZvcmVncm91bmQgLHJlZC1yZWZp bmUtZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dy b3VuZCAsZ3JlZW4tcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0g ICBgKG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxv dy1yZWZpbmUtYmcgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVz LXRoZW1lLXJlZmluZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXJlZmluZS1iZyA6 Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS1t YWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1iZyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZp bmUtZmcpKSkNCi07Ozs7OyAiYWN0aXZlIiBjb21iaW5hdGlvbnMsIG1vc3RseSBmb3IgdXNlIG9u IHRoZSBtb2RlIGxpbmUNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLHJlZC1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtYWN0aXZlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1hY3RpdmUg OmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLXllbGxv dyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0 aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmx1ZS1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhl bWUtYWN0aXZlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtYWN0aXZlIDpm b3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkp DQotOzs7OzsgbnVhbmNlZCBiYWNrZ3JvdW5kcw0KLSAgIDs7IHVzZWZ1bCBmb3IgYWRkaW5nIGFu IGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCBpcyBzdWl0YWJsZSBmb3IgYWxsDQotICAgOzsgbWFp biBmb3JlZ3JvdW5kIGNvbG91cnMgKGludGVuZGVkIGZvciB1c2UgaW4gT3JnIHNvdXJjZSBibG9j a3MpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs cmVkLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAo bW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tbnVh bmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQg KD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVz LXRoZW1lLW51YW5jZWQteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNl ZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+ PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10 aGVtZS1udWFuY2VkLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3Mt bWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVh bmNlZC1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQtYmcNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNz LW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51 YW5jZWQtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1udWFuY2VkLWJnDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12 ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotOzs7OzsgZnJpbmdlLXNwZWNpZmljIGNvbWJp bmF0aW9ucw0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAscmVkLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhl bWUtZnJpbmdlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1mcmluZ2UtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cgKCgs Y2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1mcmluZ2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi bHVlLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUt ZnJpbmdlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtZnJpbmdlLWJnIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtY3lhbiAoKCxj bGFzcyA6YmFja2dyb3VuZCAsY3lhbi1mcmluZ2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci07Ozs7OyBzcGVjaWFsIGJhc2UgdmFsdWVzDQotICAgOzsgdGhlc2UgYXJlIGNsb3NlciB0byB0 aGUgZ3JheXNjYWxlIHRoYW4gdGhlIGFjY2VudHMgZGVmaW5lZCBhYm92ZQ0KLSAgIDs7IGFuZCBz aG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIG5leHQgY2xvc2VzdCBhbHRlcm5hdGl2ZSB3b3Vs ZCBiZQ0KLSAgIDs7IGEgZ3JleXNjYWxlIHZhbHVlIHRoYW4gYW4gYWNjZW50ZWQgb25lDQotICAg YChtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNp YWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtb2R1cy10aGVt ZS1zcGVjaWFsLW1pbGQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtbWlsZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLXdh cm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtd2FybSA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0gKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxt KSkpDQotOzs7OzsgZGlmZi1zcGVjaWZpYyBjb21iaW5hdGlvbnMNCi0gICA7OyBpbnRlbmRlZCBm b3IgYGRpZmYtbW9kZScgb3IgZXF1aXZhbGVudA0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1hZGRl ZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAg ICAgICAgICAgYmctbWFpbiBncmVlbg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1h ZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQotICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2Vk LWJnIGZnLWRpZmYtYWRkZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQNCi0g ICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAg ICAgIGJnLW1haW4geWVsbG93DQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWNoYW5n ZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNl ZC1iZyBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQN Ci0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAg ICAgICAgIGJnLW1haW4gcmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92 ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQotICAgICAgICAgICAgICAgICByZWQtbnVhbmNlZC1i ZyBmZy1kaWZmLXJlbW92ZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRl ZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAg ICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVkDQotICAgICAgICAgICAgICAgICBi Zy1kaWZmLXJlZmluZS1hZGRlZCBmZy1kaWZmLXJlZmluZS1hZGRlZA0KLSAgICAgICAgICAgICAg ICAgYmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkKSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRp ZmYtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtY2hhbmdlZCBmZy1k aWZmLXJlZmluZS1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWNoYW5n ZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZp bmUtcmVtb3ZlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0K LSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVtb3ZlZA0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtcmVtb3ZlZCBmZy1kaWZmLXJlZmluZS1yZW1vdmVk DQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1y ZW1vdmVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZA0KLSAgICAgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmct ZGltIGdyZWVuDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYt Zm9jdXMtYWRkZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRl ZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtY2hhbmdlZA0KLSAgICAgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGlt IHllbGxvdw0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYt Zm9jdXMtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYt Y2hhbmdlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3ZlZA0KLSAgICAg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAg YmctZGltIHJlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1yZW1vdmVkIGZnLWRp ZmYtZm9jdXMtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRp ZmYtcmVtb3ZlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZw0KLSAgICAgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmct YWx0IGJsdWUtYWx0DQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWhlYWRpbmcgZmctZGlmZi1o ZWFkaW5nDQotICAgICAgICAgICAgICAgICBibHVlLW51YW5jZWQtYmcgYmx1ZSkpKSkNCi07Ozs7 OyBtYXJrIGluZGljYXRvcnMNCi0gICA7OyBjb2xvdXIgY29tYmluYXRpb25zIGludGVuZGVkIGZv ciBEaXJlZCwgSWJ1ZmZlciwgb3IgZXF1aXZhbGVudA0KLSAgIGAobW9kdXMtdGhlbWUtcHNldWRv LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChtb2R1cy10aGVtZS1tYXJrLWFsdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3Jv dW5kICxiZy1tYXJrLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFyay1hbHQpKSkNCi0gICBgKG1vZHVz LXRoZW1lLW1hcmstZGVsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1h cmstZGVsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWRlbCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFy ay1zZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctbWFyay1zZWwgOmZv cmVncm91bmQgLGZnLW1hcmstc2VsKSkpDQotICAgYChtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGhl YWRpbmcgbGV2ZWxzDQotICAgOzsgc3R5bGVzIGZvciByZWd1bGFyIGhlYWRpbmdzIHVzZWQgaW4g T3JnLCBNYXJrZG93biwgSW5mbywgZXRjLg0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0xDQot ICAgICAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAg ICAgICAgICAxIGZnLW1haW4gbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1udWFuY2VkLWJnIGJn LXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5n LTINCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAg ICAgICAgICAgICAgIDIgZmctc3BlY2lhbC13YXJtIG1hZ2VudGEtYWx0IHJlZC1udWFuY2VkLWJn IGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxl IG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTMpKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFk aW5nLTMNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0g ICAgICAgICAgICAgICAgIDMgZmctc3BlY2lhbC1jb2xkIGJsdWUgYmx1ZS1udWFuY2VkLWJnIGJn LXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTIpKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5n LTQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAg ICAgICAgICAgICAgIDQgZmctc3BlY2lhbC1taWxkIGN5YW4gY3lhbi1udWFuY2VkLWJnIGJnLXJl Z2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVz LW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEpKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTUN Ci0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAg ICAgICAgICAgIDUgZmctc3BlY2lhbC1jYWxtIGdyZWVuLWFsdC1vdGhlciBncmVlbi1udWFuY2Vk LWJnIGJnLXJlZ2lvbikpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNg0KLSAgICAgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAg NiB5ZWxsb3ctbnVhbmNlZCB5ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1udWFuY2VkLWJnIGJnLXJl Z2lvbikpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNw0KLSAgICAgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgNyByZWQtbnVh bmNlZCByZWQtYWx0IHJlZC1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCi0gICBgKG1vZHVzLXRo ZW1lLWhlYWRpbmctOA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVh ZGluZw0KLSAgICAgICAgICAgICAgICAgOCBmZy1kaW0gbWFnZW50YSBiZy1hbHQgYmctcmVnaW9u KSkpKQ0KLTs7Ozs7IG90aGVyIGN1c3RvbSBmYWNlcw0KLSAgIGAobW9kdXMtdGhlbWUtaGwtbGlu ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2Ut aGwtbGluZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnLWhsLWxpbmUtaW50ZW5zZSBiZy1obC1saW5lKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQg dCkpKSkpDQotOzs7OyBzdGFuZGFyZCBmYWNlcw0KLTs7Ozs7IGFic29sdXRlIGVzc2VudGlhbHMN Ci0gICBgKGRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKGN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoZnJpbmdlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZSBi Zy1pbmFjdGl2ZSBiZy1hY3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKHZlcnRpY2FsLWJvcmRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCi07Ozs7OyBiYXNpYyBhbmQvb3IgdW5ncm91cGVk IHN0eWxlcw0KLSAgIDs7IE1vZGlmeSB0aGUgYGJvbGQnIGZhY2UgdG8gY2hhbmdlIHRoZSB3ZWln aHQgb2YgYWxsICJib2xkIiBlbGVtZW50cw0KLSAgIDs7IGRlZmluZWQgYnkgdGhlIHRoZW1lLiAg WW91IG5lZWQgYSB0eXBlZmFjZSB0aGF0IHN1cHBvcnRzIGENCi0gICA7OyBtdWx0aXR1ZGUgb2Yg aGVhdmllciB3ZWlnaHRzIHRoYW4gdGhlIHJlZ3VsYXIgb25lIGFuZCB0aGVuIHlvdQ0KLSAgIDs7 IG11c3Qgc3BlY2lmeSB0aGUgZXhhY3QgbmFtZSBvZiB0aGUgb25lIHlvdSB3aXNoIHRvIGFwcGx5 LiAgRXhhbXBsZQ0KLSAgIDs7IGZvciB5b3VyIGluaXQuZWw6DQotICAgOzsNCi0gICA7OyAoc2V0 LWZhY2UtYXR0cmlidXRlICdib2xkIG5pbCA6d2VpZ2h0ICdzZW1pYm9sZCkNCi0gICBgKGJvbGQg KCgsY2xhc3MgOndlaWdodCBib2xkKSkpDQotICAgYChjb21pbnQtaGlnaGxpZ2h0LWlucHV0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGNvbWludC1oaWdobGlnaHQtcHJvbXB0ICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0 DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLW51YW5jZWQtYmcgYmx1ZS1h bHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5l LWJnIGZnLW1haW4pKSkpDQotICAgYChlcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCi0gICBgKGVzY2FwZS1nbHlwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChmaWxlLW5hbWUtc2hhZG93ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKGhlYWRlci1saW5lICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KLSAg IGAoaGVhZGVyLWxpbmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFj dGl2ZS1ibHVlKSkpDQotICAgYChoZWxwLWFyZ3VtZW50LW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaG9tb2dseXBoICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKGli dWZmZXItbG9ja2VkLWJ1ZmZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KLSAgIGAoaXRhbGljICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG5vYnJl YWstaHlwaGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3Qp KSkNCi0gICBgKG5vYnJlYWstc3BhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1j aGFyLWNvbnN0cnVjdCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG1pbmlidWZmZXItcHJvbXB0ICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN5YW4tbnVhbmNlZC1iZyBjeWFuDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBmZy1tYWluKSkpKQ0KLSAgIGAobW0tY29tbWFu ZC1vdXRwdXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG1t LXV1LWV4dHJhY3QgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1taWxkKSkpDQotICAgYChuZXh0LWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKHJlY3RhbmdsZS1wcmV2aWV3ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAocmVnaW9uICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1yZWdpb24gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNl Y29uZGFyeS1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1j b2xkKSkpDQotICAgYChzaGFkb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoc3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAodHJhaWxpbmctd2hpdGVzcGFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVu c2UtYmcpKSkNCi0gICBgKHdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotOzs7OzsgYnV0dG9ucywgbGlua3MsIHdpZGdldHMNCi0gICBgKGJ1dHRv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAg ICAgICAsQCh1bmxlc3MgbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgOnVuZGVybGluZSB0KSkpKSkNCi0gICBgKGxp bmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChsaW5rLXZpc2l0ZWQgKCgsY2xh c3MgOmluaGVyaXQgbGluayA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KHRvb2x0aXAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAod2lkZ2V0LWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0 b24pKSkNCi0gICBgKHdpZGdldC1idXR0b24tcHJlc3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0 b24gOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHdpZGdldC1kb2N1bWVudGF0aW9uICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAod2lkZ2V0LWZpZWxkICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAod2lkZ2V0 LWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctaW5hY3RpdmUpKSkNCi0gICBgKHdpZGdldC1zaW5nbGUtbGluZS1maWVsZCAoKCxjbGFzcyA6 aW5oZXJpdCB3aWRnZXQtZmllbGQpKSkNCi07Ozs7OyBhZw0KLSAgIGAoYWctaGl0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoYWctbWF0Y2gtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBh bGVydA0KLSAgIGAoYWxlcnQtaGlnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsZXJ0LWxvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGFsZXJ0LW1vZGVyYXRlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChhbGVydC10cml2 aWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAo YWxlcnQtdXJnZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk LWludGVuc2UpKSkNCi07Ozs7OyBhbGwtdGhlLWljb25zDQotICAgYChhbGwtdGhlLWljb25zLWJs dWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtYmx1 ZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChhbGwtdGhlLWlj b25zLWN5YW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGFsbC10aGUtaWNv bnMtY3lhbi1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChhbGwt dGhlLWljb25zLWRibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K LSAgIGAoYWxsLXRoZS1pY29ucy1kY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZGdyZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZGlyZWQtZGlyLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZG1hcm9v biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10 aGUtaWNvbnMtZG9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0K LSAgIGAoYWxsLXRoZS1pY29ucy1kcGluayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kcHVycGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZHNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChhbGwtdGhlLWljb25zLWR5ZWxsb3cgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1ncmVlbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbGJsdWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25z LWxjeWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxs LXRoZS1pY29ucy1sZ3JlZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykp KQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sbWFyb29uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sb3JhbmdlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxwaW5rICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1p Y29ucy1scHVycGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0K LSAgIGAoYWxsLXRoZS1pY29ucy1scmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5l LWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1seWVsbG93ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLW1h cm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29u cy1vcmFuZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtcGluayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRo ZS1pY29ucy1wdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAg YChhbGwtdGhlLWljb25zLXB1cnBsZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhlLWljb25zLXJlZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQotICAgYChhbGwtdGhlLWljb25zLXJlZC1hbHQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtc2lsdmVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMteWVsbG93ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBhbm5vdGF0ZQ0KLSAgIGAoYW5u b3RhdGUtYW5ub3RhdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1 ZSkpKQ0KLSAgIGAoYW5ub3RhdGUtYW5ub3RhdGlvbi1zZWNvbmRhcnkgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChhbm5vdGF0ZS1oaWdobGlnaHQg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxibHVlLWlu dGVuc2UpKSkNCi0gICBgKGFubm90YXRlLWhpZ2hsaWdodC1zZWNvbmRhcnkgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGdyZWVuLW51YW5jZWQtYmcgOnVuZGVybGluZSAsZ3JlZW4taW50ZW5zZSkpKQ0K LTs7Ozs7IGFuenUNCi0gICBgKGFuenUtbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoYW56dS1tYXRjaC0yICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoYW56dS1tYXRjaC0zICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cpKSkNCi0gICBgKGFuenUtbW9kZS1s aW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0K LSAgIGAoYW56dS1tb2RlLWxpbmUtbm8tbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoYW56dS1yZXBsYWNlLWhpZ2hsaWdodCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoYW56dS1yZXBsYWNlLXRvICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLWdyZWVuIGJvbGQpKSkpDQotOzs7OzsgYXByb3Bvcw0KLSAgIGAoYXByb3Bvcy1mdW5jdGlv bi1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAoYXByb3Bvcy1rZXliaW5kaW5nICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGFwcm9wb3MtbWlzYy1idXR0b24gKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAo YXByb3Bvcy1wcm9wZXJ0eSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdl aWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChhcHJvcG9zLXN5bWJvbCAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChhcHJvcG9zLXVzZXItb3B0aW9uLWJ1dHRvbiAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAg IGAoYXByb3Bvcy12YXJpYWJsZS1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotOzs7OzsgYXB0LXNvdXJjZXMtbGlzdA0KLSAgIGAoYXB0LXNvdXJj ZXMtbGlzdC1jb21wb25lbnRzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChh cHQtc291cmNlcy1saXN0LW9wdGlvbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAoYXB0LXNvdXJjZXMtbGlzdC1zdWl0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3QtdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoYXB0LXNvdXJjZXMtbGlzdC11cmkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUpKSkNCi07Ozs7OyBhcnRib2xsb2Nrcy1tb2RlDQotICAgYChhcnRib2xsb2Nrcy1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy1u b3RlKSkpDQotICAgYChhcnRib2xsb2Nrcy1sZXhpY2FsLWlsbHVzaW9ucy1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZC1hbHQgOnVuZGVybGluZSB0KSkp DQotICAgYChhcnRib2xsb2Nrcy1wYXNzaXZlLXZvaWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdy1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctd2FybmluZykpKQ0KLSAgIGAo YXJ0Ym9sbG9ja3Mtd2Vhc2VsLXdvcmRzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1u dWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyBhdWN0ZXggYW5kIFRl eA0KLSAgIGAoZm9udC1sYXRleC1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChmb250LWxhdGV4LWRvY3RleC1kb2N1 bWVudGF0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb250LWxhdGV4LWRvY3RleC1wcmVwcm9j ZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkg OmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtaXRhbGljLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6c2xhbnQgaXRhbGljKSkp DQotICAgYChmb250LWxhdGV4LW1hdGgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2NyaXB0LWNoYXItZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmlu Zy0wLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpm b3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0x LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNo KSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25p bmctMi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1w aXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0 aW9uaW5nLTMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFi bGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgt c2VjdGlvbmluZy00LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZh cmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxh dGV4LXNlY3Rpb25pbmctNS1mYWNlICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJp YWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4 LXNlZGF0ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2xp ZGUtdGl0bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFi bGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1 cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdHJpbmctZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc3Vi c2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjk1KSkpDQotICAgYChmb250LWxhdGV4LXN1 cGVyc2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjk1KSkpDQotICAgYChmb250LWxhdGV4 LXZlcmJhdGltLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1taWxkKSkpDQotICAgYChmb250LWxhdGV4LXdhcm5pbmctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAodGV4LW1hdGNoICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAodGV4LXZlcmJhdGltICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAodGV4aW5mby1oZWFkaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24tZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24taGVscCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9u LXRleC1zYWlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChUZVgtZXJyb3It ZGVzY3JpcHRpb24td2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi07Ozs7OyBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQotICAgYChhdXRvLWRpbS1v dGhlci1idWZmZXJzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLTs7Ozs7 IGF2eQ0KLSAgIGAoYXZ5LWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGF2eS1nb3RvLWNoYXItdGltZXItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgYm9sZCkpKSkN Ci0gICBgKGF2eS1sZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVu c2UtbWFnZW50YSBib2xkKSkpKQ0KLSAgIGAoYXZ5LWxlYWQtZmFjZS0wICgoLGNsYXNzIDppbmhl cml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZh Y2UtMSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkN Ci0gICBgKGF2eS1sZWFkLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLTs7Ozs7IGF3IChhY2Utd2luZG93KQ0KLSAgIGAoYXctYmFj a2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KLSAgIGAoYXcta2V5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChhdy1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS41IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3Jv dW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoYXctbWluaWJ1ZmZlci1sZWFkaW5nLWNoYXItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGF3LW1vZGUt bGluZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi07Ozs7OyBhd2Vzb21lLXRyYXkN Ci0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYXdlc29tZS10YWItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChhd2Vzb21lLXRy YXktbW9kdWxlLWJhdHRlcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1idWZmZXItbmFt ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtY2lyY2UtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1v ZHVsZS1kYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWV2aWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1 bGUtZ2l0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1sYXN0LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29t ZS10cmF5LW1vZHVsZS1sb2NhdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1tb2RlLW5hbWUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoYXdl c29tZS10cmF5LW1vZHVsZS1wYXJlbnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1ydm0tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LTs7Ozs7IGJpbmRlcg0KLSAgIGAoYmluZGVyLXNpZGViYXItaGlnaGxpZ2h0ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChiaW5kZXItc2lkZWJhci1t YXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCi0gICBgKGJp bmRlci1zaWRlYmFyLW1pc3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LXJlZCkpKQ0KLSAgIGAoYmluZGVyLXNpZGViYXItdGFncyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLTs7Ozs7IGJtDQotICAgYChibS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBl bWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChibS1mcmluZ2Ut ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAg YChibS1mcmluZ2UtcGVyc2lzdGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS1ibHVlKSkpDQotICAgYChibS1wZXJzaXN0ZW50LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkp DQotOzs7OzsgYm9uZ28NCi0gICBgKGJvbmdvLWFsYnVtLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoYm9uZ28tYXJ0aXN0ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoYm9uZ28tY3VycmVudGx5LXBsYXlpbmctdHJh Y2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoYm9uZ28tZWxhcHNlZC10cmFjay1w YXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAoYm9uZ28tZmlsbGVkLXNlZWstYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoYm9uZ28tbWFy a2VkLXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWFsdCkpKQ0KLSAgIGAoYm9u Z28tbWFya2VkLXRyYWNrLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1hcmstYWx0KSkp DQotICAgYChib25nby1wbGF5ZWQtdHJhY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9j dXNlZCA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAoYm9uZ28tdHJhY2stbGVuZ3RoICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYm9uZ28tdHJhY2stdGl0 bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChib25nby11bmZp bGxlZC1zZWVrLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgYm9vbg0KLSAgIGAoYm9vbi1tb2RlbGluZS1jbWQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGJvb24t bW9kZWxpbmUtaW5zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkN Ci0gICBgKGJvb24tbW9kZWxpbmUtb2ZmICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFj dGl2ZS15ZWxsb3cpKSkNCi0gICBgKGJvb24tbW9kZWxpbmUtc3BjICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0KLTs7Ozs7IGJyZWFrcG9pbnQgKGJ1aWx0LWlu IGdkYi1taS5lbCkNCi0gICBgKGJyZWFrcG9pbnQtZGlzYWJsZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoYnJlYWtwb2ludC1lbmFibGVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLTs7Ozs7IGJ1ZmZlci1leHBvc2UNCi0gICBgKGJ1 ZmZlci1leHBvc2UtYWNlLWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChidWZmZXItZXhwb3NlLW1vZGUtbGluZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoYnVmZmVyLWV4cG9zZS1z ZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkp KQ0KLTs7Ozs7IGNhbGVuZGFyIGFuZCBkaWFyeQ0KLSAgIGAoY2FsZW5kYXItbW9udGgtaGVhZGVy ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNh bGVuZGFyLXRvZGF5ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2FsZW5kYXItd2Vl a2RheS1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoY2FsZW5k YXItd2Vla2VuZC1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo ZGlhcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChkaWFy eS1hbm5pdmVyc2FyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAg IGAoZGlhcnktdGltZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGhv bGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgY2FsZncN Ci0gICBgKGNmdzpmYWNlLWFubm90YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGF5LXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChjZnc6ZmFjZS1kZWZhdWx0LWNvbnRlbnQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGVmYXVsdC1kYXkgKCgsY2xh c3MgOmluaGVyaXQgKGNmdzpmYWNlLWRheS10aXRsZSBib2xkKSkpKQ0KLSAgIGAoY2Z3OmZhY2Ut ZGlzYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChjZnc6 ZmFjZS1ncmlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikp KQ0KLSAgIGAoY2Z3OmZhY2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGNmdzpmYWNlLWhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS1wZXJpb2RzICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2Utc2F0dXJkYXkg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0g ICBgKGNmdzpmYWNlLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUpKSkNCi0gICBgKGNmdzpmYWNlLXN1bmRheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2UtdGl0bGUgKCgsY2xh c3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVy YW5kaS10aGVtZS1zY2FsZS01KSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9kYXkgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWluYWN0aXZlKSkpDQotICAgYChjZnc6ZmFjZS10b2RheS10aXRsZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChjZnc6ZmFjZS10b29sYmFyICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAo Y2Z3OmZhY2UtdG9vbGJhci1idXR0b24tb2ZmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGNmdzpmYWNlLXRvb2xiYXItYnV0dG9uLW9uICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgY2VudGF1 ci10YWJzDQotICAgYChjZW50YXVyLXRhYnMtYWN0aXZlLWJhci1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxmZy10YWItYWN0aXZlKSkpDQotICAgYChjZW50YXVyLXRhYnMtY2xvc2UtbW91c2Ut ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLXNlbGVjdGVkICgoLGNsYXNzIDpp bmhlcml0IGNlbnRhdXItdGFicy1zZWxlY3RlZCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3Nl LXVuc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQpKSkN Ci0gICBgKGNlbnRhdXItdGFicy1tb2RpZmllZC1tYXJrZXItc2VsZWN0ZWQgKCgsY2xhc3MgOmlu aGVyaXQgY2VudGF1ci10YWJzLXNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRhYnMtbW9kaWZp ZWQtbWFya2VyLXVuc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXVuc2Vs ZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChjZW50YXVyLXRhYnMtc2Vs ZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY2VudGF1ci10YWJzLXNlbGVjdGVkLW1vZGlm aWVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1t YWluIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGNlbnRhdXItdGFicy11bnNlbGVjdGVkICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0K LSAgIGAoY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQtbW9kaWZpZWQgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltIDpzbGFudCBpdGFsaWMpKSkN Ci07Ozs7OyBjaGFuZ2UtbG9nIGFuZCBsb2ctdmlldyAoYHZjLXByaW50LWxvZycgYW5kIGB2Yy1w cmludC1yb290LWxvZycpDQotICAgYChjaGFuZ2UtbG9nLWFja25vd2xlZGdtZW50ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGNoYW5nZS1sb2ctY29uZGl0aW9uYWxzICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1kYXRl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2hhbmdlLWxv Zy1lbWFpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY2hhbmdlLWxvZy1m aWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaGFuZ2UtbG9nLWZ1bmN0 aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5n ZS1sb2ctbGlzdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKGNoYW5nZS1sb2ctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo bG9nLWVkaXQtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKGxvZy1lZGl0LXN1bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAobG9nLWVkaXQtdW5rbm93bi1oZWFkZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobG9nLXZpZXctZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGxvZy12aWV3LW1lc3Nh Z2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGNpZGVyDQotICAgYChj aWRlci1kZWJ1Zy1jb2RlLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0 KSkpDQotICAgYChjaWRlci1kZWJ1Zy1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQgOnVuZGVybGluZSB0KSkpDQotICAgYChjaWRlci1kZXByZWNhdGVkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoY2lk ZXItZG9jdmlldy1lbXBoYXNpcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy1saXRlcmFsLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjaWRlci1kb2N2aWV3LXN0 cm9uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy10YWJsZS1ib3JkZXItZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjaWRlci1lbmxpZ2h0ZW5lZC1mYWNlICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAseWVsbG93LWFsdCA6c3R5bGUgbmlsKSA6 YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci1lbmxpZ2h0ZW5lZC1sb2NhbC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkN Ci0gICBgKGNpZGVyLWVycm9yLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChjaWRlci1mcmFnaWxlLWJ1dHRvbi1mYWNlICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1hbHQgOnN0eWxlIHJlbGVhc2VkLWJ1 dHRvbikgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoY2lkZXItZnJpbmdlLWdvb2QtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChjaWRlci1pbnN0 cnVtZW50ZWQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLHJlZCA6 c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci1yZWFkZXItY29u ZGl0aW9uYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDpzbGFu dCBpdGFsaWMpKSkNCi0gICBgKGNpZGVyLXJlcGwtaW5wdXQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkKSkpDQotICAgYChjaWRlci1yZXBsLXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2lkZXItcmVwbC1zdGRlcnItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNpZGVyLXJlcGwt c3Rkb3V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNpZGVyLXJl c3VsdC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxi bHVlIDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKGNpZGVyLXN0YWNr dHJhY2UtZXJyb3ItY2xhc3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZXJyb3ItbWVzc2FnZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGNp ZGVyLXN0YWNrdHJhY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoY2lkZXItc3RhY2t0cmFjZS1maWx0ZXItYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1maWx0 ZXItaW5hY3RpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KGNpZGVyLXN0YWNrdHJhY2UtZm4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLW5zLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRlci1zdGFja3Ry YWNlLXByb21vdGVkLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNv bG9yICxmZy1hbHQgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmZvcmVncm91bmQgLHJlZCkpKQ0K LSAgIGAoY2lkZXItc3RhY2t0cmFjZS1zdXBwcmVzc2VkLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpi b3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1hbHQgOnN0eWxlIHByZXNzZWQtYnV0dG9uKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY2lkZXItdGVz dC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkN Ci0gICBgKGNpZGVyLXRlc3QtZmFpbHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAoY2lkZXItdGVzdC1zdWNjZXNzLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoY2lk ZXItdHJhY2VkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxjeWFu IDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKGNpZGVyLXdhcm5pbmct aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQp KSkNCi07Ozs7OyBjaXJjZSAoYW5kIGx1aSkNCi0gICBgKGNpcmNlLWZvb2wtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjaXJjZS1oaWdobGlnaHQtbmljay1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNpcmNl LXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYChjaXJjZS1zZXJ2ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctdW5mb2N1c2VkKSkpDQotICAgYChsdWktYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChsdWktaGlnaGxpZ2h0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChsdWktdGltZS1zdGFtcC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi07Ozs7OyBjb2xvci1y Zw0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stY29t bWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChjb2xvci1yZy1mb250LWxvY2stZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1mbGFzaCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKGNvbG9y LXJnLWZvbnQtbG9jay1mdW5jdGlvbi1sb2NhdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGlu ZS1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChj b2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtZWRpdC1tb2RlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1s aW5lLWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAo Y29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5lLXRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWxpbmUtbnVtYmVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQt bG9jay1tYXJrLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLW1hcmstZGVsZXRlZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1t YXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBg KGNvbG9yLXJnLWZvbnQtbG9jay1wb3NpdGlvbi1zcGxpdHRlciAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotOzs7OzsgY29sdW1uLWVuZm9yY2UtbW9kZQ0KLSAgIGAoY29sdW1uLWVu Zm9yY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkp DQotOzs7OzsgY29tcGFueS1tb2RlDQotICAgYChjb21wYW55LWVjaG8tY29tbW9uICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY29tcGFueS1wcmV2aWV3 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAg IGAoY29tcGFueS1wcmV2aWV3LWNvbW1vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKGNvbXBhbnktcHJldmlldy1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChjb21wYW55LXNjcm9sbGJhci1iZyAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChjb21wYW55LXNjcm9sbGJhci1mZyAo KCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChjb21wYW55LXRlbXBsYXRl LWZpZWxkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0K LSAgIGAoY29tcGFueS10b29sdGlwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLWFubm90YXRpb24gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50 KSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtYW5ub3RhdGlvbi1zZWxlY3Rpb24gKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY29tcGFueS10b29s dGlwLWNvbW1vbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoY29tcGFueS10b29sdGlwLWNvbW1vbi1zZWxlY3Rpb24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1tb3VzZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRp cC1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIGJvbGQp KSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtc2VhcmNoLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGNvbXBhbnktdG9vbHRpcC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLXN1YnRsZS1jeWFuIGJvbGQpKSkpDQotOzs7OzsgY29tcGFueS1wb3NmcmFtZQ0KLSAgIGAo Y29tcGFueS1wb3NmcmFtZS1hY3RpdmUtYmFja2VuZC1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0g ICBgKGNvbXBhbnktcG9zZnJhbWUtaW5hY3RpdmUtYmFja2VuZC1uYW1lICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFu eS1wb3NmcmFtZS1tZXRhZGF0YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7OzsgY29tcGlsYXRpb24gZmVlZGJhY2sNCi0g ICBgKGNvbXBpbGF0aW9uLWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQotICAgYChjb21waWxhdGlvbi1lcnJvciAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo Y29tcGlsYXRpb24taW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQotICAgYChjb21waWxhdGlvbi1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChjb21waWxhdGlvbi1tb2RlLWxpbmUtZXhpdCAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUt YWN0aXZlKSkpDQotICAgYChjb21waWxhdGlvbi1tb2RlLWxpbmUtZmFpbCAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUp KSkNCi0gICBgKGNvbXBpbGF0aW9uLW1vZGUtbGluZS1ydW4gKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K LSAgIGAoY29tcGlsYXRpb24td2FybmluZyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGNvbXBsZXRpb25z DQotICAgYChjb21wbGV0aW9ucy1hbm5vdGF0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGNvbXBsZXRp b25zLWNvbW1vbi1wYXJ0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJk LWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlLWFsdCBibHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGN5YW4tcmVmaW5lLWJnIGN5YW4tcmVmaW5lLWZnKSkpKQ0KLSAgIGAoY29tcGxl dGlvbnMtZmlyc3QtZGlmZmVyZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEtYWx0IGJsdWUtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWludGVuc2UtYmcgZmctbWFp bikpKSkNCi07Ozs7OyBjb3Vuc2VsDQotICAgYChjb3Vuc2VsLWFjdGl2ZS1tb2RlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY291bnNlbC1hcHBsaWNh dGlvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChj b3Vuc2VsLWtleS1iaW5kaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLW91dGxpbmUtMSAoKCxjbGFzcyA6aW5oZXJp dCBvdXRsaW5lLTEpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGluZS0yICgoLGNsYXNzIDppbmhlcml0 IG91dGxpbmUtMikpKQ0KLSAgIGAoY291bnNlbC1vdXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQg b3V0bGluZS0zKSkpDQotICAgYChjb3Vuc2VsLW91dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBv dXRsaW5lLTQpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG91 dGxpbmUtNSkpKQ0KLSAgIGAoY291bnNlbC1vdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgb3V0 bGluZS02KSkpDQotICAgYChjb3Vuc2VsLW91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRs aW5lLTcpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGluZS04ICgoLGNsYXNzIDppbmhlcml0IG91dGxp bmUtOCkpKQ0KLSAgIGAoY291bnNlbC1vdXRsaW5lLWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLXZhcmlh YmxlLWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGNvdW5zZWwtY3NzDQotICAgYChj b3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUpKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFj ZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2Vs ZWN0b3ItZGVwdGgtZmFjZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBg KGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS02ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7OyBjb3Vuc2VsLW5vdG11Y2gNCi0gICBgKGNv dW5zZWwtbm90bXVjaC1jb3VudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChjb3Vuc2VsLW5vdG11Y2gtZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtcGVvcGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGNvdW5zZWwtbm90bXVjaC1zdWJqZWN0LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7OzsgY291bnNlbC1vcmct Y2FwdHVyZS1zdHJpbmcNCi0gICBgKGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nLXRlbXBsYXRl LWJvZHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7 OzsgY292DQotICAgYChjb3YtY292ZXJhZ2Utbm90LXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoY292LWNvdmVyYWdlLXJ1bi1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChjb3YtaGVhdnktZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAgYChjb3YtbGlnaHQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChjb3YtbWVkLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYChjb3Ytbm9u ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi07Ozs7OyBjcGVy bC1tb2RlDQotICAgYChjcGVybC1ub25vdmVycmlkYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChjcGVybC1hcnJheS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCi0gICBgKGNwZXJsLWhhc2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZC1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLTs7Ozs7IGNzdi1tb2RlDQotICAgYChjc3Ytc2VwYXJhdG9yLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LTs7Ozs7IGN0cmxmDQotICAgYChjdHJsZi1oaWdobGlnaHQtYWN0aXZlICgoLGNsYXNzIDppbmhl cml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotICAgYChjdHJsZi1oaWdo bGlnaHQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAg YChjdHJsZi1oaWdobGlnaHQtcGFzc2l2ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtY3lhbikpKQ0KLTs7Ozs7IGN1c3RvbSAoTS14IGN1c3RvbWl6ZSkNCi0gICBgKGN1c3Rv bS1idXR0b24gKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSBy ZWxlYXNlZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGN1c3RvbS1idXR0b24t bW91c2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxl YXNlZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY3VzdG9tLWJ1 dHRvbi1wcmVzc2VkICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5 bGUgcHJlc3NlZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY3Vz dG9tLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkN Ci0gICBgKGN1c3RvbS1jb21tZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKGN1c3RvbS1jb21tZW50LXRhZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChjdXN0b20tZmFjZS10YWcgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChjdXN0 b20tZ3JvdXAtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWlu dGVuc2UpKSkNCi0gICBgKGN1c3RvbS1ncm91cC10YWctMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGN1c3RvbS1pbnZhbGlkICgoLGNsYXNzIDpp bmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAoY3VzdG9tLW1v ZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAg YChjdXN0b20tcm9ndWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2Vu dGEpKSkNCi0gICBgKGN1c3RvbS1zZXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQotICAgYChjdXN0b20tc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChjdXN0b20tdGhlbWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1ibHVlKSkpDQotICAgYChjdXN0b20tdmFyaWFibGUtdGFnICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBkYXAtbW9kZQ0KLSAgIGAoZGFwLW1v dXNlLWV2YWwtdGhpbmctZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3Ig LGJsdWUtYWN0aXZlIDpzdHlsZSBuaWwpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGRhcC1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRo IC0xIDpjb2xvciAsYmctYWN0aXZlIDpzdHlsZSBuaWwpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChkYXAtdWktYnJlYWtwb2ludC12ZXJpZmllZC1mcmluZ2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkYXAtdWkt Y29tcGlsZS1lcnJsaW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1p bnRlbnNlKSkpDQotICAgYChkYXAtdWktbG9jYWxzLXNjb3BlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGRhcC11 aS1sb2NhbHMtdmFyaWFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxlLWxlYWYtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZGFw LXVpLW1hcmtlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVl KSkpDQotICAgYChkYXAtdWktc2Vzc2lvbnMtc3RhY2stZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZGFwLXVpLXNlc3Np b25zLXRlcm1pbmF0ZWQtYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChkYXAtdWktc2Vzc2lvbnMtdGVybWluYXRlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBkYXNoYm9hcmQgKGVtYWNzLWRh c2hib2FyZCkNCi0gICBgKGRhc2hib2FyZC1iYW5uZXItbG9nby10aXRsZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGRhc2hib2Fy ZC1mb290ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1t aWxkKSkpDQotICAgYChkYXNoYm9hcmQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRhc2hib2FyZC1uYXZpZ2F0b3Ig KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChkYXNoYm9hcmQt dGV4dC1iYW5uZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IGRlYWRn cmVwDQotICAgYChkZWFkZ3JlcC1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGVhZGdyZXAtbWF0Y2gtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGRl YWRncmVwLW1ldGEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChk ZWFkZ3JlcC1yZWdleHAtbWV0YWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAoZGVhZGdyZXAtc2VhcmNoLXRlcm0tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQot Ozs7OzsgZGViYnVncw0KLSAgIGAoZGViYnVncy1nbnUtYXJjaGl2ZWQgKCgsY2xhc3MgOmludmVy c2UtdmlkZW8gdCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChkZWJidWdzLWdudS1mb3J3YXJkZWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGViYnVncy1nbnUtaGFuZGxlZCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGRlYmJ1Z3MtZ251LW5ldyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChkZWJidWdzLWdudS1wZW5kaW5nICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS0xICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUt MiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkZWJidWdzLWdudS1zdGFs ZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChkZWJidWdzLWdu dS1zdGFsZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAg YChkZWJidWdzLWdudS1zdGFsZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChkZWJidWdzLWdudS10YWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotOzs7OzsgZGVmaW5lLXdvcmQNCi0gICBgKGRlZmluZS13b3JkLWZhY2UtMSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkZWZpbmUtd29yZC1mYWNlLTIgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBkZWZ0DQotICAgYChkZWZ0LWZpbHRl ci1zdHJpbmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt cmVkKSkpDQotICAgYChkZWZ0LWZpbHRlci1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAoZGVmdC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRlZnQtc2Vw YXJhdG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGVmdC1z dW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChkZWZ0LXRpbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkZWZ0LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGRpY3Rpb25hcnkNCi0gICBg KGRpY3Rpb25hcnktYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkaWN0aW9uYXJ5LXJlZmVyZW5jZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlj dGlvbmFyeS13b3JkLWRlZmluaXRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoZGljdGlvbmFyeS13b3JkLWVudHJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7Ozsg ZGlmZi1obA0KLSAgIGAoZGlmZi1obC1jaGFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZGlmZi1obC1kZWxldGUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1jaGFuZ2Ug KCgsY2xhc3MgOmluaGVyaXQgZGlmZi1obC1jaGFuZ2UpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQt ZGVsZXRlICgoLGNsYXNzIDppbmhlcml0IGRpZmYtaGwtZGVsZXRlKSkpDQotICAgYChkaWZmLWhs LWRpcmVkLWlnbm9yZWQgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KLSAgIGAo ZGlmZi1obC1kaXJlZC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1obC1pbnNlcnQpKSkN Ci0gICBgKGRpZmYtaGwtZGlyZWQtdW5rbm93biAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1pZ25v cmVkKSkpDQotICAgYChkaWZmLWhsLWluc2VydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGRpZmYtaGwtcmV2ZXJ0ZWQtaHVuay1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhIGJvbGQpKSkpDQot Ozs7OzsgZGlmZi1tb2RlDQotICAgYChkaWZmLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWRpZmYtYWRkZWQpKSkNCi0gICBgKGRpZmYtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQpKSkNCi0gICBgKGRpZmYtY29udGV4dCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChkaWZmLWZpbGUtaGVhZGVyICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGRpZmYtZnVu Y3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGlm Zi1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZGlm Zi1odW5rLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcp KSkNCi0gICBgKGRpZmYtaW5kZXggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCi0gICBgKGRpZmYtaW5kaWNhdG9yLWFkZGVkICgoLGNsYXNzIDppbmhlcml0 IGRpZmYtYWRkZWQpKSkNCi0gICBgKGRpZmYtaW5kaWNhdG9yLWNoYW5nZWQgKCgsY2xhc3MgOmlu aGVyaXQgZGlmZi1jaGFuZ2VkKSkpDQotICAgYChkaWZmLWluZGljYXRvci1yZW1vdmVkICgoLGNs YXNzIDppbmhlcml0IGRpZmYtcmVtb3ZlZCkpKQ0KLSAgIGAoZGlmZi1ub25leGlzdGVudCAoKCxj bGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtbmV1dHJhbCBib2xkKSkpKQ0KLSAgIGAoZGlmZi1y ZWZpbmUtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRk ZWQpKSkNCi0gICBgKGRpZmYtcmVmaW5lLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCkpKQ0KLSAgIGAoZGlmZi1yZWZpbmUtcmVtb3ZlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkKSkpDQotICAg YChkaWZmLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVk KSkpDQotOzs7OzsgZGltLWF1dG9sb2FkDQotICAgYChkaW0tYXV0b2xvYWQtY29va2llLWxpbmUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotOzs7OzsgZGlyLXRyZWV2aWV3DQotICAgYChkaXItdHJlZXZpZXctYXJjaGl2ZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRpci10cmVldmll dy1hcmNoaXZlLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVs dC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWF1 ZGlvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGRpci10cmVl dmlldy1hdWRpby1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1 bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2 aWV3LWNvbnRyb2wtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChk aXItdHJlZXZpZXctY29udHJvbC1tb3VzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGhpZ2hsaWdo dCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZhbWlseSAiRm9udCBBd2Vzb21lIiA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChkaXItdHJlZXZpZXctZGVmYXVsdC1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChkaXItdHJlZXZpZXctZGlyZWN0b3J5LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGRpci10cmVldmlldy1kaXJlY3RvcnktaWNv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1leGVjdXRhYmxlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1l eGVjdXRhYmxlLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVs dC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGRpci10cmVl dmlldy1pbWFnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGRpci10cmVldmlldy1pbWFnZS1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGly LXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0g ICBgKGRpci10cmVldmlldy1pbmRlbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChkaXItdHJlZXZpZXctbGFiZWwtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBoaWdobGlnaHQpKSkNCi0gICBgKGRpci10cmVldmlldy1zdGFydC1kaXItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQotICAgYChkaXItdHJlZXZp ZXctc3ltbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXZpZGVvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctdmlkZW8taWNvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBkaXJlZA0KLSAgIGAoZGlyZWQtZGly ZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaXJlZC1mbGFnZ2Vk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQotICAgYChkaXJlZC1o ZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAg IGAoZGlyZWQtaWdub3JlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChk aXJlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQot ICAgYChkaXJlZC1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwp KSkNCi0gICBgKGRpcmVkLXBlcm0td3JpdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSkpKQ0KLSAgIGAoZGlyZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24g OmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChkaXJlZC13YXJuaW5nICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGRpcmVkLWFzeW5jDQot ICAgYChkaXJlZC1hc3luYy1mYWlsdXJlcyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRpcmVkLWFz eW5jLW1lc3NhZ2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQp IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRpcmVkLWFzeW5jLW1vZGUtbWVz c2FnZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVn cm91bmQgLGN5YW4tYWN0aXZlKSkpDQotOzs7OzsgZGlyZWQtZ2l0DQotICAgYChkaXJlZC1naXQt YnJhbmNoLWVsc2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCi0gICBgKGRpcmVkLWdpdC1icmFuY2gtbWFzdGVyICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7OzsgZGlyZWQtZ2l0LWlu Zm8NCi0gICBgKGRnaS1jb21taXQtbWVzc2FnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBkaXJlZC1uYXJyb3cNCi0gICBgKGRpcmVkLW5hcnJv dy1ibGluayAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3VidGxlLWN5YW4gYm9sZCkp KSkNCi07Ozs7OyBkaXJlZC1zdWJ0cmVlDQotICAgOzsgcmVtb3ZlIGJhY2tncm91bmQgZnJvbSBk aXJlZC1zdWJ0cmVlLCBlbHNlIGl0IGJyZWFrcw0KLSAgIDs7IGRpcmVkLXtmbGFnZ2VkLG1hcmtl ZH0gYW5kIGFueSBvdGhlciBmYWNlIHRoYXQgc2V0cyBhIGJhY2tncm91bmQNCi0gICA7OyBzdWNo IGFzIGhsLWxpbmUNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC0yLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgbmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTMtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNC1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0 aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgbmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVl LWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi07Ozs7OyBkaXJlZGZs DQotICAgYChkaXJlZGZsLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChkaXJlZGZsLWNvbXByZXNzZWQtZmlsZS1uYW1lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRpcmVkZmwtY29t cHJlc3NlZC1maWxlLXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAg IGAoZGlyZWRmbC1kYXRlLXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChkaXJlZGZsLWRlbGV0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LW1hcmstZGVsKSkpDQotICAgYChkaXJlZGZsLWRlbGV0aW9uLWZpbGUtbmFtZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWRmbC1kaXItaGVhZGlu ZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQotICAgYChk aXJlZGZsLWRpci1uYW1lICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWRpcmVjdG9yeSkpKQ0KLSAg IGAoZGlyZWRmbC1kaXItcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0g ICBgKGRpcmVkZmwtZXhlYy1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQot ICAgYChkaXJlZGZsLWV4ZWN1dGFibGUtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKGRpcmVkZmwtZmlsZS1zdWZmaXggKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGRpcmVkZmwtZmxhZy1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChkaXJlZGZsLWZsYWctbWFyay1saW5lICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChkaXJlZGZsLWlnbm9yZWQt ZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpcmVkZmwt bGluay1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAo ZGlyZWRmbC1uby1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRp cmVkZmwtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZGly ZWRmbC1vdGhlci1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRp cmVkZmwtcmFyZS1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChk aXJlZGZsLXJlYWQtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo ZGlyZWRmbC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLXN5bWxpbmspKSkNCi0gICBg KGRpcmVkZmwtdGFnZ2VkLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGRpcmVkZmwtd3JpdGUtcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGRpc2stdXNhZ2UNCi0gICBgKGRpc2stdXNhZ2Ut Y2hpbGRyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZGlzay11c2Fn ZS1pbmFjY2Vzc2libGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChkaXNrLXVzYWdlLXBlcmNlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkp DQotICAgYChkaXNrLXVzYWdlLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGRpc2stdXNhZ2Utc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKGRpc2stdXNhZ2Utc3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBkb29tLW1vZGVs aW5lDQotICAgYChkb29tLW1vZGVsaW5lLWJhciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXItaW5hY3RpdmUgKCgsY2xh c3MgOmJhY2tncm91bmQgLGZnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAg YChkb29tLW1vZGVsaW5lLWJhdHRlcnktY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWNyaXRpY2FsICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtYmF0dGVyeS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5l LXdpZHRoIC0yKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktZnVs bCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxp bmUtYmF0dGVyeS1ub3JtYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAg IGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXIt ZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0g ICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLW1ham9yLW1vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVy LW1pbm9yLW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChk b29tLW1vZGVsaW5lLWJ1ZmZlci1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItcGF0 aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBg KGRvb20tbW9kZWxpbmUtZGVidWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs eWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1kZWJ1Zy12aXN1YWwgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1ldmlsLWVtYWNzLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtaW5zZXJ0LXN0 YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0K LSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLW1vdGlvbi1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmls LW5vcm1hbC1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3Rp dmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1vcGVyYXRvci1zdGF0ZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2Rl bGluZS1ldmlsLXJlcGxhY2Utc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLXZpc3VhbC1zdGF0ZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAo ZG9vbS1tb2RlbGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtaG9zdCAoKCxjbGFzcyA6c2xh bnQgaXRhbGljKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWluZm8gKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1sc3AtZXJyb3IgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1sc3Atc3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtbHNwLXdhcm5pbmcgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1wYW5lbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkp KQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wZXJzcC1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtcGVyc3AtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQot ICAgYChkb29tLW1vZGVsaW5lLXByb2plY3QtZGlyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXByb2plY3QtcGFy ZW50LWRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtcHJvamVjdC1yb290LWRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZl KSkpDQotICAgYChkb29tLW1vZGVsaW5lLXVucmVhZC1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFjdGl2ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXVyZ2Vu dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAg YChkb29tLW1vZGVsaW5lLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7IGR5bmFtaWMtcnVsZXINCi0gICBgKGR5bmFtaWMt cnVsZXItbmVnYXRpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LW5ldXRyYWwpKSkNCi0gICBgKGR5bmFtaWMtcnVsZXItcG9zaXRpdmUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdykpKQ0KLTs7Ozs7IGVhc3ktamVreWxs DQotICAgYChlYXN5LWpla3lsbC1oZWxwLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp bSA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi07Ozs7OyBlYXN5LWtpbGwNCi0gICBg KGVhc3kta2lsbC1vcmlnaW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJl ZCkpKQ0KLSAgIGAoZWFzeS1raWxsLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUteWVsbG93KSkpDQotOzs7OzsgZWJkYg0KLSAgIGAoZWJkYi1hZGRyZXNzLWRl ZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGViZGItZGItY2hh ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChlYmRiLWRl ZnVuY3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZWJkYi1maWVsZC1o aWRkZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGViZGItZmllbGQt dXJsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlYmRiLWxhYmVsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZWJkYi1tYWlsLWRlZmF1 bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGViZGItbWFpbC1wcmlt YXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZWJkYi1tYXJrZWQg KCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAoZWJkYi1vcmdh bml6YXRpb24tbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQot ICAgYChlYmRiLXBlcnNvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAoZWJkYi1waG9uZS1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGViZGItcm9sZS1kZWZ1bmN0ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVpZWlvLWN1c3RvbS1zbG90LXRhZy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgZWRpZmYNCi0gICA7OyBOT1RFOiBo ZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAg IDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcy4NCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1B ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSByZWQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1udWFuY2VkLWJnIHJlZC1mYWludCkp KSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLXNwZWNpYWwtY29sZCBmZy1zcGVjaWFsLWNvbGQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLW51YW5jZWQt YmcgYmx1ZSkpKSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1CICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnLWRpbSBncmVlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGdyZWVuLWZhaW50KSkpKQ0KLSAgIGAoZWRpZmYt Y3VycmVudC1kaWZmLUMgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIHllbGxvdw0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYt Y2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LW51 YW5jZWQtYmcgeWVsbG93LWZhaW50KSkpKQ0KLSAgIGAoZWRpZmYtZXZlbi1kaWZmLUEgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMSkpKQ0KLSAgIGAoZWRpZmYtZXZlbi1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEp KSkNCi0gICBgKGVkaWZmLWV2ZW4tZGlmZi1CICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZm LW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZm LWV2ZW4tZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9y ZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1BICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWZvY3VzLXJlbW92ZWQgOmZvcmVncm91bmQgLGZn LWRpZmYtZm9jdXMtcmVtb3ZlZCkpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUFuY2VzdG9yICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChlZGlmZi1m aW5lLWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1mb2N1cy1hZGRlZCA6Zm9y ZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1hZGRlZCkpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUMg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtZm9jdXMtY2hhbmdlZCA6Zm9yZWdyb3VuZCAs ZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpDQotICAgYChlZGlmZi1vZGQtZGlmZi1BICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0 cmFsLTIpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaWZmLW5ldXRyYWwtMCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTApKSkN Ci0gICBgKGVkaWZmLW9kZC1kaWZmLUIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1 dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikpKQ0KLSAgIGAoZWRpZmYtb2Rk LWRpZmYtQyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91 bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotOzs7OzsgZWdsb3QNCi0gICBgKGVnbG90LW1vZGUt bGluZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7OzsgZWwtc2VhcmNoDQotICAgYChlbC1zZWFy Y2gtaGlnaGxpZ2h0LWluLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChlbC1zZWFyY2gtbWF0Y2ggKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoZWwtc2VhcmNoLW90aGVy LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAg IGAoZWwtc2VhcmNoLW9jY3VyLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IGVsZG9jDQotICAgOzsgTk9URTogc2VlIGh0dHBzOi8vZ2l0 aHViLmNvbS9wdXJjZWxsL3BhY2thZ2UtbGludC9pc3N1ZXMvMTg3DQotICAgKGxpc3QgJ2VsZG9j LWhpZ2hsaWdodC1mdW5jdGlvbi1hcmd1bWVudCBgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBlbGRvYy1ib3gNCi0gICBgKGVsZG9j LWJveC1ib2R5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGVsZG9jLWJveC1ib3JkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFs dCkpKQ0KLTs7Ozs7IGVsZmVlZA0KLSAgIGAoZWxmZWVkLWxvZy1kYXRlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChlbGZlZWQtbG9nLWRlYnVnLWxldmVsLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVsZmVlZC1sb2ctZXJy b3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlbGZlZWQt bG9nLWluZm8tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBg KGVsZmVlZC1sb2ctd2Fybi1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLW51YW5jZWQpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtZmVlZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlbGZlZWQtc2VhcmNoLWZpbHRlci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChl bGZlZWQtc2VhcmNoLWxhc3QtdXBkYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQotICAgYChlbGZlZWQtc2VhcmNoLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtdGl0bGUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChlbGZlZWQtc2VhcmNoLXVucmVhZC1j b3VudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGVs ZmVlZC1zZWFyY2gtdW5yZWFkLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGVsZmVlZC1zY29yZQ0KLSAgIGAoZWxmZWVkLXNj b3JlLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZWxmZWVk LXNjb3JlLWRlYnVnLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChlbGZlZWQtc2NvcmUtZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlbGZlZWQtc2NvcmUtaW5mby1sZXZlbC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlbGZlZWQtc2NvcmUtd2Fybi1sZXZl bC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBlbW1zDQotICAg YChlbW1zLXBsYXlsaXN0LXRyYWNrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKGVtbXMtcGxheWxpc3Qtc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7OzsgZW5oYW5jZWQtcnVieS1tb2RlDQotICAg YChlbmgtcnVieS1oZXJlZG9jLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZW5oLXJ1Ynktb3AtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZW5oLXJ1YnktcmVnZXhwLWRlbGltaXRlci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZW5oLXJ1YnktcmVnZXhwLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVuaC1ydWJ5LXN0cmluZy1k ZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGVy bS1zeW4tZXJybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoZXJtLXN5bi13YXJubGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRl cmxpbmUgdCkpKQ0KLTs7Ozs7IGVwYQ0KLSAgIGAoZXBhLWZpZWxkLWJvZHkgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGVwYS1maWVsZC1uYW1lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoZXBhLW1hcmsgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXBhLXN0cmluZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGVwYS12YWxpZGl0eS1kaXNh YmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChl cGEtdmFsaWRpdHktaGlnaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bi1hbHQtb3RoZXIpKSkNCi0gICBgKGVwYS12YWxpZGl0eS1sb3cgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXBhLXZhbGlkaXR5LW1lZGl1bSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0KSkpDQotOzs7OzsgZXF1YWtlDQotICAgYChlcXVha2UtYnVmZmVyLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGVxdWFrZS1zaGVsbC10eXBlLWVzaGVsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxs LXR5cGUtcmFzaCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQg LHJlZC1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXNoZWxsICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBg KGVxdWFrZS1zaGVsbC10eXBlLXRlcm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZl IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlwZS12 dGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWN0aXZlKSkpDQotICAgYChlcXVha2UtdGFiLWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGVxdWFrZS10YWItaW5hY3Rp dmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7OzsgZXJjDQotICAg YChlcmMtYWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoZXJjLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAg YChlcmMtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAoZXJjLWNvbW1h bmQtaW5kaWNhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQpKSkNCi0gICBgKGVyYy1jdXJyZW50LW5pY2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGVyYy1kYW5nZXJvdXMtaG9zdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChlcmMtZGly ZWN0LW1zZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlcmMt ZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKGVyYy1mb29sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQot ICAgYChlcmMtaGVhZGVyLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9y ZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChlcmMtaW5wdXQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChlcmMtaW52ZXJzZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGVyYy1kZWZhdWx0LWZhY2UgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAo ZXJjLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAoZXJjLW15LW5pY2stZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlcmMtbXktbmljay1wcmVmaXgtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBlcmMtbXktbmljay1mYWNlKSkpDQotICAgYChlcmMtbmljay1kZWZh dWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAoZXJjLW5pY2stbXNnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCi0gICBgKGVyYy1uaWNrLXByZWZpeC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVy Yy1uaWNrLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXJjLW5vdGljZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKGVyYy1wYWwtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChlcmMtcHJvbXB0LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGVyYy10aW1lc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFu Y2VkKSkpDQotICAgYChlcmMtdW5kZXJsaW5lLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkp DQotICAgYChiZzplcmMtY29sb3ItZmFjZTAgKCgsY2xhc3MgOmJhY2tncm91bmQgIndoaXRlIikp KQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJibGFjayIp KSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4t c3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTExICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFj ZTEzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6 ZXJjLWNvbG9yLWZhY2UxNCAoKCxjbGFzcyA6YmFja2dyb3VuZCAiZ3JheTYwIikpKQ0KLSAgIGAo Ymc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxjbGFzcyA6YmFja2dyb3VuZCAiZ3JheTgwIikpKQ0KLSAg IGAoYmc6ZXJjLWNvbG9yLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2Ut YmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3Jl ZW4taW50ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U0ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxyZWQtc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTUgKCgsY2xh c3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFj ZTYgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtcmVmaW5lLWJnKSkpDQotICAgYChiZzpl cmMtY29sb3ItZmFjZTcgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcpKSkN Ci0gICBgKGJnOmVyYy1jb2xvci1mYWNlOCAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXJl ZmluZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U5ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxncmVlbi1zdWJ0bGUtYmcpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAid2hpdGUiKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEgKCgsY2xhc3Mg OmZvcmVncm91bmQgImJsYWNrIikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNl MTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNl MTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChmZzplcmMtY29s b3ItZmFjZTE0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJncmF5NjAiKSkpDQotICAgYChmZzplcmMt Y29sb3ItZmFjZTE1ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJncmF5ODAiKSkpDQotICAgYChmZzpl cmMtY29sb3ItZmFjZTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQot ICAgYChmZzplcmMtY29sb3ItZmFjZTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQot ICAgYChmZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoZmc6ZXJjLWNvbG9yLWZhY2U1ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChmZzplcmMtY29sb3ItZmFjZTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTcgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlOCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi07Ozs7OyBlcm9zDQotICAgYChl cm9zLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNv bG9yICxibHVlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNr Z3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IGVydA0KLSAgIGAo ZXJ0LXRlc3QtcmVzdWx0LWV4cGVjdGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtZ3JlZW4pKSkNCi0gICBgKGVydC10ZXN0LXJlc3VsdC11bmV4cGVjdGVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7OzsgZXNoZWxsDQotICAg YChlc2hlbGwtbHMtYXJjaGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLWJhY2t1cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLWNsdXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCi0gICBgKGVzaGVsbC1scy1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGVzaGVsbC1scy1leGVjdXRh YmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxz LW1pc3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0g ICBgKGVzaGVsbC1scy1wcm9kdWN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi0gICBgKGVzaGVsbC1scy1yZWFkb25seSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQotICAgYChlc2hlbGwtbHMtc3BlY2lhbCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlc2hlbGwtbHMtc3ltbGluayAo KCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVzaGVs bC1scy11bnJlYWRhYmxlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdy b3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGVzaGVsbC1wcm9tcHQgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ3JlZW4tbnVhbmNlZC1iZyBncmVlbi1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ3JlZW4tcmVmaW5lLWJnIGZnLW1haW4pKSkpDQotOzs7OzsgZXNoZWxsLWZyaW5nZS1z dGF0dXMNCi0gICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLWZhaWx1cmUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxsLWZyaW5nZS1zdGF0dXMtc3VjY2VzcyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi07Ozs7OyBlc2hlbGwtZ2l0LXByb21wdA0KLSAgIGAo ZXNoZWxsLWdpdC1wcm9tcHQtYWRkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYnJhbmNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZGlyZWN0b3J5LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQt ZmFpbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVzaGVsbC1naXQt cHJvbXB0LWV4aXQtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtY2xlYW4tZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwt Z2l0LXByb21wdC1wb3dlcmxpbmUtZGlyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUt cmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtbm90LWNsZWFu LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtcmVmaW5lLWJnKSkpDQotICAgYChl c2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1icmFuY2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZGly dHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChlc2hlbGwtZ2l0 LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLTs7Ozs7IGVzaGVsbC1wcm9tcHQtZXh0cmFzIChlcGUpDQotICAgYChlcGUtZGlyLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQotICAgYChlcGUtZ2l0LWRpci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0LW90aGVyKSkpDQotICAgYChlcGUtZ2l0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0KSkpDQotICAgYChlcGUtcGlwZWxpbmUtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoZXBlLXBpcGVsaW5lLWhvc3QtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZXBlLXBpcGVsaW5lLXRpbWUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChlcGUtcGlw ZWxpbmUtdXNlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChl cGUtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotICAgYChlcGUtc3RhdHVzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChlcGUtdmVudi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGVz aGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGlu Zy1hbGlhcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlc2hlbGwt c3ludGF4LWhpZ2hsaWdodGluZy1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctZGlyZWN0b3J5LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxp Z2h0aW5nLWVudnZhci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K LSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctaW52YWxpZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWxpc3At ZnVuY3Rpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXNo ZWxsLXN5bnRheC1oaWdobGlnaHRpbmctc2hlbGwtY29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRp bmctc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotOzs7Ozsg ZXZpbC1tb2RlDQotICAgYChldmlsLWV4LWNvbW1hbmRzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXZpbC1leC1pbmZvICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXZpbC1leC1sYXp5LWhpZ2hsaWdodCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAoZXZpbC1leC1z ZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAg IGAoZXZpbC1leC1zdWJzdGl0dXRlLW1hdGNoZXMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGV2aWwtZXgtc3Vic3RpdHV0 ZS1yZXBsYWNlbWVudCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl biBib2xkKSkpKQ0KLTs7Ozs7IGV2aWwtZ29nZ2xlcw0KLSAgIGAoZXZpbC1nb2dnbGVzLWNoYW5n ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0g ICBgKGV2aWwtZ29nZ2xlcy1jb21tZW50YXJ5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLW5ldXRyYWwgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAo ZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtbmV1dHJhbCkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWRlbGV0ZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1m aWxsLWFuZC1tb3ZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQt ZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWluZGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1qb2luLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChl dmlsLWdvZ2dsZXMtbmVyZC1jb21tZW50ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdv Z2dsZXMtY29tbWVudGFyeS1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMtcGFzdGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoZXZpbC1n b2dnbGVzLXJlY29yZC1tYWNyby1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXJlcGxhY2Utd2l0aC1yZWdpc3Rlci1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAg YChldmlsLWdvZ2dsZXMtc2V0LW1hcmtlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXNoaWZ0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1n b2dnbGVzLXN1cnJvdW5kLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1 bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXlhbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLTs7Ozs7IGV2aWwtdmlzdWFsLW1hcmstbW9k ZQ0KLSAgIGAoZXZpbC12aXN1YWwtbWFyay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLTs7Ozs7IGV3dw0KLSAgIGAoZXd3LWludmFsaWQtY2Vy dGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGV3dy12 YWxpZC1jZXJ0aWZpY2F0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQot ICAgYChld3ctZm9ybS1jaGVja2JveCAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xv ciAsZmctaW5hY3RpdmUgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmJhY2tncm91bmQgLGJnLWlu YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChld3ctZm9ybS1maWxlICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFz ZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChld3ctZm9ybS1zZWxlY3QgKCgsY2xhc3MgOmluaGVyaXQgZXd3LWZvcm0tY2hlY2ti b3gpKSkNCi0gICBgKGV3dy1mb3JtLXN1Ym1pdCAoKCxjbGFzcyA6aW5oZXJpdCBld3ctZm9ybS1m aWxlKSkpDQotICAgYChld3ctZm9ybS10ZXh0ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEg OmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgbm9uZSkgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChld3ctZm9ybS10ZXh0YXJlYSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgZXll YnJvd3NlDQotICAgYChleWVicm93c2UtbW9kZS1saW5lLWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLTs7Ozs7IGZhbmN5LWRhYmJyZXYN Ci0gICBgKGZhbmN5LWRhYmJyZXYtbWVudS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h bHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZmFuY3ktZGFiYnJldi1wcmV2aWV3LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZh bmN5LWRhYmJyZXYtc2VsZWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWludGVuc2UtY3lhbiBib2xkKSkpKQ0KLTs7Ozs7IGZseWNoZWNrDQotICAgYChmbHljaGVjay1l cnJvcg0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2 ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9yIDpz dHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1jaGVja2VyLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChmbHljaGVjay1lcnJv ci1saXN0LWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1lcnJvciAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZmx5 Y2hlY2stZXJyb3ItbGlzdC1maWxlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1pZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGZseWNoZWNrLWVycm9y LWxpc3QtaWQtd2l0aC1leHBsYWluZXIgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZXJyb3It bGlzdC1pZCA6Ym94IHQpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaW5mbyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1saW5lLW51 bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChmbHlj aGVjay1lcnJvci1saXN0LXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAoZmx5Y2hlY2stZnJpbmdlLWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS1yZWQpKSkNCi0gICBgKGZseWNoZWNrLWZyaW5nZS1pbmZvICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQotICAgYChmbHljaGVjay1mcmluZ2Utd2Fy bmluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAg YChmbHljaGVjay1pbmZvDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUg KDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxh bmctbm90ZSA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFu Zy1ub3RlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5Y2hlY2stdmVyaWZ5LXNlbGVjdC1jaGVj a2VyICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFz ZWQtYnV0dG9uKSkpKQ0KLSAgIGAoZmx5Y2hlY2std2FybmluZw0KLSAgICAgKCgsKGFwcGVuZCAn KChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVu ZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLXdhcm5pbmcgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyBmbHljaGVjay1jb2xvci1tb2RlLWxpbmUNCi0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGlu ZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS1lcnJvcikpKQ0K LSAgIGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBmbHljaGVjay1mcmluZ2UtaW5mbykpKQ0KLSAgIGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5l LXJ1bm5pbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUgOnNsYW50IGl0 YWxpYykpKQ0KLSAgIGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lLWluZm8tZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2Utd2FybmluZykpKQ0KLTs7Ozs7IGZseWNoZWNrLWlu ZGljYXRvcg0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWRpc2FibGVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChm bHljaGVjay1pbmRpY2F0b3ItZXJyb3IgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt Ym9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChmbHljaGVjay1p bmRpY2F0b3ItaW5mbyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdo dCkgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3It cnVubmluZyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZv cmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3Itc3Vj Y2VzcyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVn cm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXdhcm5pbmcg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7OzsgZmx5Y2hlY2stcG9zZnJhbWUNCi0gICBgKGZseWNo ZWNrLXBvc2ZyYW1lLWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0 KSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1ib3JkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1lcnJvci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZmx5Y2hlY2stcG9z ZnJhbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1pbmZvLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJh bWUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLTs7Ozs7IGZseW1ha2UNCi0gICBgKGZseW1ha2UtZXJyb3INCi0gICAgICgoLChhcHBl bmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAg IDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAg KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KGZseW1ha2Utbm90ZQ0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6 c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5n LW5vdGUgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmct bm90ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseW1ha2Utd2FybmluZw0KLSAgICAgKCgsKGFw cGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAg ICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLXdhcm5pbmcgOnN0eWxlIHdhdmUpKQ0KLSAg ICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkN Ci07Ozs7OyBmbHlzcGVsbA0KLSAgIGAoZmx5c3BlbGwtZHVwbGljYXRlDQotICAgICAoKCwoYXBw ZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAg ICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctd2FybmluZyA6c3R5bGUgd2F2ZSkpDQotICAg ICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy13YXJuaW5nIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoZmx5c3BlbGwtaW5jb3JyZWN0DQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1 bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29s b3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5c3BlbGwtY29ycmVj dA0KLSAgIGAoZmx5c3BlbGwtY29ycmVjdC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCi07Ozs7OyBmbHgNCi0gICBgKGZseC1oaWdo bGlnaHQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1z dWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1pbnRlbnNlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFnZW50YS1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnYm9sZCkpKSkNCi07Ozs7OyBmcmVlemUtaXQNCi0gICBgKGZyZWV6ZS1pdC1zaG93 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KLTs7Ozs7IGZyb2ctbWVudQ0KLSAgIGAoZnJvZy1tZW51LWFjdGlvbi1rZXliaW5kaW5n LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChmcm9n LW1lbnUtYWN0aW9ucy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChmcm9nLW1lbnUtYm9yZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0g ICBgKGZyb2ctbWVudS1jYW5kaWRhdGVzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGZyb2ctbWVudS1wb3NmcmFtZS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoZnJvZy1tZW51LXByb21wdC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgZm9jdXMNCi0gICBgKGZvY3VzLXVuZm9j dXNlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotOzs7OzsgZm9sZC10 aGlzDQotICAgYChmb2xkLXRoaXMtb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBmb250LWxvY2sNCi0gICBgKGZvbnQtbG9jay1idWls dGluLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQg bWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAoZm9udC1sb2Nr LWNvbW1lbnQtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb250LWxvY2stY29tbWVudC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAoZm9udC1sb2NrLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAo Zm9udC1sb2NrLWRvYy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctc3Bl Y2lhbC1jb2xkIGN5YW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1m dW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLWtleXdvcmQtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBt YWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChmb250 LWxvY2stbmVnYXRpb24tY2hhci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkp KQ0KLSAgIGAoZm9udC1sb2NrLXByZXByb2Nlc3Nvci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdC1vdGhlciByZWQtYWx0LW90aGVyLWZhaW50KSkp KQ0KLSAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1iYWNrc2xhc2ggKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3NsYXNoKSkpDQotICAg YChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKGZvbnQt bG9jay1zdHJpbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUt YWx0IGJsdWUtYWx0LWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXR5cGUtZmFjZSAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkp KSkNCi0gICBgKGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1s b2NrLXdhcm5pbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxs b3ctYWN0aXZlIHllbGxvdy1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLTs7Ozs7 IGZvcmdlDQotICAgYChmb3JnZS1wb3N0LWF1dGhvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChmb3JnZS1wb3N0LWRhdGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMtY2xvc2VkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGZvcmdlLXRvcGljLW1lcmdlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmb3JnZS10b3BpYy1vcGVuICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGZvcmdlLXRvcGlj LXVubWVyZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGZvcmdlLXRvcGljLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgZm91bnRhaW4tbW9kZQ0KLSAgIGAo Zm91bnRhaW4tY2hhcmFjdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikp KQ0KLSAgIGAoZm91bnRhaW4tY29tbWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvdW50YWluLWRpYWxvZyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGZvdW50YWluLW1ldGFkYXRhLWtleSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChmb3VudGFpbi1t ZXRhZGF0YS12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZm91bnRh aW4tbm9uLXByaW50aW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGZv dW50YWluLW5vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChmb3VudGFpbi1wYWdlLWJyZWFrICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGZvdW50YWluLXBhZ2UtbnVtYmVy ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0g ICBgKGZvdW50YWluLXBhcmVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChm b3VudGFpbi1zY2VuZS1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nICgoLGNsYXNz IDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQg LGZnLW1haW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00KSkpKQ0K LSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTEgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQg LG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctbWFpbg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGZvdW50YWlu LXNlY3Rpb24taGVhZGluZy0yICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12 YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2Nh bGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMykpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rp b24taGVhZGluZy0zICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJs ZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9k dXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMikpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVh ZGluZy00ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRj aCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3Bl cmFuZGktdGhlbWUtc2NhbGUtMSkpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy01 ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZm91bnRhaW4tc3lub3BzaXMgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChmb3VudGFpbi10cmFucyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGdlaXNlcg0KLSAg IGAoZ2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWN1cnJlbnQtYXJnICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkp KQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWlkZW50aWZpZXIgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkN Ci0gICBgKGdlaXNlci1mb250LWxvY2stZG9jLWJ1dHRvbiAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0IGN5YW4tYWx0LWZhaW50KQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZ2Vp c2VyLWZvbnQtbG9jay1kb2MtbGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChn ZWlzZXItZm9udC1sb2NrLWVycm9yLWxpbmsgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOnVuZGVybGluZSB0KSkpDQotICAgYChnZWlzZXItZm9udC1s b2NrLWltYWdlLWJ1dHRvbiAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ3JlZW4tYWx0IGdyZWVuLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9j ay1yZXBsLWlucHV0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGdlaXNlci1mb250 LWxvY2stcmVwbC1vdXRwdXQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChn ZWlzZXItZm9udC1sb2NrLXJlcGwtcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAg IGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkp DQotICAgYChnZWlzZXItZm9udC1sb2NrLXhyZWYtbGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5r KSkpDQotOzs7OzsgZ2l0LWNvbW1pdA0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWFjdGlvbiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKGdpdC1jb21taXQtY29tbWVudC1icmFuY2gtbG9jYWwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21t aXQtY29tbWVudC1icmFuY2gtcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQt ZGV0YWNoZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0IDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1maWxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZ2l0LWNvbW1pdC1jb21tZW50LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctZGltIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1j b21taXQta2V5d29yZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ2l0 LWNvbW1pdC1rbm93bi1wc2V1ZG8taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1ub25lbXB0eS1zZWNvbmQtbGluZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChnaXQtY29tbWl0 LW92ZXJsb25nLXN1bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXll bGxvdykpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1wc2V1ZG8taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYChnaXQtY29tbWl0LXN1bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGdpdC1ndXR0ZXINCi0gICBgKGdpdC1n dXR0ZXI6YWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkp DQotICAgYChnaXQtZ3V0dGVyOmRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt ZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZ2l0LWd1dHRlcjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChnaXQtZ3V0dGVyOnNlcGFyYXRv ciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KLSAgIGAoZ2l0 LWd1dHRlcjp1bmNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1h Z2VudGEpKSkNCi07Ozs7OyBnaXQtZ3V0dGVyLWZyDQotICAgYChnaXQtZ3V0dGVyLWZyOmFkZGVk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAgIGAoZ2l0 LWd1dHRlci1mcjpkZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1y ZWQpKSkNCi0gICBgKGdpdC1ndXR0ZXItZnI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLTs7Ozs7IGdpdC17Z3V0dGVyLGZyaW5nZX0rDQot ICAgYChnaXQtZ3V0dGVyKy1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmlu Z2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0ZXIrLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZ2l0LWd1dHRlcistbW9kaWZpZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWd1 dHRlcistc2VwYXJhdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFu KSkpDQotICAgYChnaXQtZ3V0dGVyKy11bmNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCi0gICBgKGdpdC1ndXR0ZXItZnIrLWFkZGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAgIGAoZ2l0LWd1dHRl ci1mcistZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkp DQotICAgYChnaXQtZ3V0dGVyLWZyKy1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1mcmluZ2UteWVsbG93KSkpDQotOzs7OzsgZ2l0LWxlbnMNCi0gICBgKGdpdC1sZW5zLWFk ZGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChn aXQtbGVucy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAoZ2l0LWxlbnMtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAx LjEgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdpdC1sZW5zLW1vZGlmaWVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZ2l0LWxlbnMtcmVu YW1lZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7 OzsgZ2l0LXJlYmFzZQ0KLSAgIGAoZ2l0LXJlYmFzZS1jb21tZW50LWhhc2ggKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQot ICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1kaW0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0 LXJlYmFzZS1kZXNjcmlwdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoZ2l0LXJlYmFzZS1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KLTs7Ozs7IGdpdC10aW1lbWFjaGluZQ0KLSAgIGAoZ2l0LXRpbWVtYWNoaW5lLWNvbW1pdCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAg YChnaXQtdGltZW1hY2hpbmUtbWluaWJ1ZmZlci1hdXRob3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChnaXQtdGltZW1hY2hpbmUtbWluaWJ1ZmZl ci1kZXRhaWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IGdp dC13YWxrdHJlZQ0KLSAgIGAoZ2l0LXdhbGt0cmVlLWNvbW1pdC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdpdC13YWxrdHJlZS1zeW1saW5rLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnaXQtd2Fsa3Ry ZWUtdHJlZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7OzsgZ251 cw0KLSAgIGAoZ251cy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChn bnVzLWNpdGUtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGdudXMt Y2l0ZS0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KGdudXMtY2l0ZS0xMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAoZ251cy1jaXRlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBg KGdudXMtY2l0ZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGdu dXMtY2l0ZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZ251 cy1jaXRlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGdudXMt Y2l0ZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRl LTcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNp dGUtOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1j aXRlLTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251 cy1jaXRlLWF0dHJpYnV0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCBp dGFsaWMpKSkNCi0gICBgKGdudXMtZW1waGFzaXMtaGlnaGxpZ2h0LXdvcmRzICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFp bC0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQot ICAgYChnbnVzLWdyb3VwLW1haWwtMS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0yLWVtcHR5ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoZ251cy1ncm91cC1tYWlsLTMtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtbG93ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91 cC1tYWlsLWxvdy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkp DQotICAgYChnbnVzLWdyb3VwLW5ld3MtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTEtZW1wdHkgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMiAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMi1l bXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdz LTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkN Ci0gICBgKGdudXMtZ3JvdXAtbmV3cy0zLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3Mt NC1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkKSkpDQotICAgYChnbnVz LWdyb3VwLW5ld3MtNSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtbnVh bmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTUtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNiAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy02 LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAt bmV3cy1sb3cgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNl ZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLWxvdy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1oZWFkZXItY29udGVudCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251cy1oZWFkZXItZnJvbSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlciA6dW5kZXJsaW5lIG5pbCkpKQ0K LSAgIGAoZ251cy1oZWFkZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKGdudXMtaGVhZGVyLW5ld3Nncm91cHMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGdudXMtaGVhZGVyLXN1YmplY3QgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMt c2VydmVyLWFnZW50ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkN Ci0gICBgKGdudXMtc2VydmVyLWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChnbnVzLXNlcnZlci1jbG91ZCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItY2xvdWQt aG9zdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAo Z251cy1zZXJ2ZXItZGVuaWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZCkpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItb2ZmbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdudXMtc2VydmVyLW9wZW5lZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ251cy1zaWduYXR1cmUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQot ICAgYChnbnVzLXNwbGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChn bnVzLXN1bW1hcnktY2FuY2VsbGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmst YWx0KSkpDQotICAgYChnbnVzLXN1bW1hcnktaGlnaC1hbmNpZW50ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtcmVh ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXRpY2tlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLXN1bW1hcnktaGlnaC11bmRv d25sb2FkZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQot ICAgYChnbnVzLXN1bW1hcnktaGlnaC11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy1hbmNpZW50ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zdW1t YXJ5LWxvdy1yZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50IGl0YWxpYykp KQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy10aWNrZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1yZWZpbmUtZmcgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy11bmRv d25sb2FkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcgOnNsYW50IGl0 YWxpYykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChnbnVzLXN1bW1hcnkt bm9ybWFsLWFuY2llbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0K LSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC1yZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtdGlja2VkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXVuZG93bmxv YWRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChnbnVzLXN1bW1hcnkt bm9ybWFsLXVucmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZ251 cy1zdW1tYXJ5LXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1i bHVlKSkpDQotOzs7OzsgZ29sZGVuLXJhdGlvLXNjcm9sbC1zY3JlZW4NCi0gICBgKGdvbGRlbi1y YXRpby1zY3JvbGwtaGlnaGxpZ2h0LWxpbmUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lh bi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBoZWxtDQotICAgYCho ZWxtLU0teC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tYWN0aW9uICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoaGVsbS1ib29rbWFyay1hZGRyZXNzYm9vayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWx0KSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWZpbGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tYm9va21hcmstZmlsZS1u b3QtZm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWdudXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGhlbG0tYm9va21hcmstaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQpKSkNCi0gICBgKGhlbG0tYm9va21hcmstbWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0KSkpDQotICAgYChoZWxtLWJvb2ttYXJrLXczbSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGhlbG0tYnVmZmVyLWFyY2hpdmUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaGVsbS1idWZmZXItZGlyZWN0b3J5 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGhlbG0t YnVmZmVyLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0t YnVmZmVyLW1vZGlmaWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAg YChoZWxtLWJ1ZmZlci1ub3Qtc2F2ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN Ci0gICBgKGhlbG0tYnVmZmVyLXByb2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCi0gICBgKGhlbG0tYnVmZmVyLXNhdmVkLW91dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaGVsbS1idWZmZXIt c2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxtLWNhbmRpZGF0 ZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChoZWxt LWNhbmRpZGF0ZS1udW1iZXItc3VzcGVuZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWN0aXZlKSkpDQotICAgYChoZWxtLWNvbWludC1wcm9tcHRzLWJ1ZmZlci1uYW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tY29taW50LXByb21wdHMt cHJvbXB0aWR4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVs bS1kZWxldGUtYXN5bmMtbWVzc2FnZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1lb2ItbGluZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1lc2hlbGwt cHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkp DQotICAgYChoZWxtLWVzaGVsbC1wcm9tcHRzLXByb21wdGlkeCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZXRhZ3MtZmlsZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctZGltIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGVsbS1mZi1iYWNrdXAtZmlsZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxtLWZmLWRlbmllZCAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1yZWQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLXJlZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQpKSkpDQotICAgYChoZWxtLWZmLWRpcmVj dG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBoZWxtLWJ1ZmZlci1kaXJlY3RvcnkpKSkNCi0gICBgKGhl bG0tZmYtZGlycyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlcikpKQ0KLSAgIGAoaGVsbS1mZi1kb3R0ZWQtZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCho ZWxtLWZmLWRvdHRlZC1zeW1saW5rLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCAoYnV0dG9u IGhlbG0tZmYtZG90dGVkLWRpcmVjdG9yeSkpKSkNCi0gICBgKGhlbG0tZmYtZXhlY3V0YWJsZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGhlbG0tZmYtZmlsZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1mZi1maWxlLWV4dGVu c2lvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChoZWxt LWZmLWludmFsaWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAoaGVsbS1mZi1waXBlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1hZ2VudGEpKSkpDQotICAgYChoZWxtLWZmLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93DQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hbHQtb3RoZXIpKSkpDQotICAgYChoZWxt LWZmLXNvY2tldCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAo aGVsbS1mZi1zdWlkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBs ZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5l LXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQpKSkpDQotICAg YChoZWxtLWZmLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChoZWxtLWZmLXRydWVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1ncmVwLWNtZC1saW5lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWdyZXAtZmlsZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0t Z3JlcC1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAo aGVsbS1ncmVwLWxpbmVubyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQotICAgYChoZWxtLWdyZXAtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC1jYWxtKSkpDQotICAgYChoZWxtLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0taGVhZGVyLWxpbmUtbGVm dC1tYXJnaW4gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVu c2UpKSkNCi0gICBgKGhlbG0taGlzdG9yeS1kZWxldGVkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtcmVkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChoZWxtLWhpc3RvcnktcmVtb3Rl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWxpc3At Y29tcGxldGlvbi1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKGhlbG0tbGlzcC1zaG93LWNvbXBsZXRpb24gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LW51YW5jZWQteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Ym9sZCkpKSkNCi0gICBgKGhlbG0tbG9jYXRlLWZpbmlzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWN0aXZlKSkpDQotICAgYChoZWxtLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFu DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1tYXRj aC1pdGVtICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25z DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1u ZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1 YnRsZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0 LW90aGVyKSkpKQ0KLSAgIGAoaGVsbS1taW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyA6aW5oZXJp dCBtaW5pYnVmZmVyLXByb21wdCkpKQ0KLSAgIGAoaGVsbS1tb2NjdXItYnVmZmVyICgoLGNsYXNz IDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGhl bG0tbW9kZS1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1pbnRlbnNlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWdlbnRhLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tbm9uLWZpbGUtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tcHJlZmFyZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1yZXN1bWUtbmVlZC11cGRhdGUgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcikpKSkNCi0gICBgKGhlbG0tc2VsZWN0aW9uICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tc2VsZWN0aW9uLWxpbmUgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLXNlcGFy YXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChoZWxt LXRpbWUtem9uZS1jdXJyZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAo aGVsbS10aW1lLXpvbmUtaG9tZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAg IGAoaGVsbS1zb3VyY2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAo aGVsbS10b3AtY29sdW1ucyAoKCxjbGFzcyA6aW5oZXJpdCBoZWxtLWhlYWRlcikpKQ0KLSAgIGAo aGVsbS11Y3MtY2hhciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAoaGVsbS12aXNpYmxlLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Vi dGxlLWN5YW4pKSkNCi07Ozs7OyBoZWxtLWxzLWdpdA0KLSAgIGAoaGVsbS1scy1naXQtYWRkZWQt Y29waWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBg KGhlbG0tbHMtZ2l0LWFkZGVkLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxzLWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxz LWdpdC1kZWxldGVkLWFuZC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51 YW5jZWQpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LWRlbGV0ZWQtbm90LXN0YWdlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LW1vZGlmaWVkLWFuZC1z dGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICBg KGhlbG0tbHMtZ2l0LW1vZGlmaWVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotICAgYChoZWxtLWxzLWdpdC1yZW5hbWVkLW1vZGlmaWVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LXVudHJhY2tl ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyBo ZWxtLXN3aXRjaC1zaGVsbA0KLSAgIGAoaGVsbS1zd2l0Y2gtc2hlbGwtbmV3LXNoZWxsLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotOzs7OzsgaGVsbS14cmVmDQotICAgYChoZWxtLXhy ZWYtZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoaGVsbS14cmVmLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC13YXJtKSkpDQotOzs7OzsgaGVscGZ1bA0KLSAgIGAoaGVscGZ1bC1oZWFk aW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLTs7Ozs7IGhp Z2hsaWdodCByZWdpb24gb3IgYWQtaG9jIHJlZ2V4cA0KLSAgIGAoaGktYmxhY2stYiAoKCxjbGFz cyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoaGkt Ymx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoaGktYmx1ZS1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoaGktZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsZ3JlZW4gOnVuZGVybGluZSB0KSkpDQotICAgYChoaS1ncmVlbi1i ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGhp LXBpbmsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpLXJlZC1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChoaS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGlnaGxp Z2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYCho aWdobGlnaHQtY2hhbmdlcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikp KQ0KLSAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMtZGVsZXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGwtbGluZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWJsb2Nrcw0KLSAg IGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0 aC0yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGln aGxpZ2h0LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNp YWwtY2FsbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1k ZXB0aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtd2FybSA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtbWlsZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQt YmxvY2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTktZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi07Ozs7OyBoaWdobGlnaHQtZGVmaW5lZA0KLSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtYnVp bHRpbi1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZhY2UtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1mdW5jdGlvbi1uYW1lLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZp bmVkLW1hY3JvLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkN Ci0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLXNwZWNpYWwtZm9ybS1uYW1lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5l ZC12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7 OyBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAoYGhlcy1tb2RlJykNCi0gICBgKGhlcy1lc2Nh cGUtYmFja3NsYXNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct ZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChoZXMtZXNjYXBlLXNlcXVlbmNlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3Ns YXNoKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWluZGVudGF0aW9uDQotICAgYChoaWdobGlnaHQtaW5k ZW50YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQot ICAgYChoaWdobGlnaHQtaW5kZW50YXRpb24tY3VycmVudC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotOzs7OzsgaGlnaGxpZ2h0LW51bWJlcnMNCi0gICBg KGhpZ2hsaWdodC1udW1iZXJzLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCi07Ozs7OyBoaWdobGlnaHQtc3ltYm9sDQotICAgYChoaWdobGlnaHQtc3ltYm9s LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7 OzsgaGlnaGxpZ2h0LXRoaW5nDQotICAgYChoaWdobGlnaHQtdGhpbmcgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGhsLWRlZmluZWQNCi0g ICBgKGhkZWZkLWZ1bmN0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAo aGRlZmQtdW5kZWZpbmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYCho ZGVmZC12YXJpYWJsZXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotOzs7Ozsg aGwtZmlsbC1jb2x1bW4NCi0gICBgKGhsLWZpbGwtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotOzs7OzsgaGwtdG9k bw0KLSAgIGAoaGwtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBoeWRyYQ0KLSAg IGAoaHlkcmEtZmFjZS1hbWFyYW50aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKGh5ZHJhLWZhY2UtYmx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaHlkcmEtZmFjZS1waW5rICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoeWRyYS1m YWNlLXJlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KGh5ZHJhLWZhY2UtdGVhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQotOzs7OzsgaHlwZXJsaXN0DQotICAgYChoeXBlcmxpc3QtY29uZGl0aW9uICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoaHlwZXJsaXN0LWhhc2h0YWcgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoaHlwZXJsaXN0LW9wZXJhdG9yICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXBhcmVuICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoaHlwZXJsaXN0LXF1b3RlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXJlZiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGh5cGVybGlzdC1z dGFycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoeXBlcmxpc3QtdGFn ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGh5cGVybGlzdC10b3BsZXZlbCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgaWNv bXBsZXRlDQotICAgYChpY29tcGxldGUtZmlyc3QtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9s ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YSBiZy1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1hY3RpdmUgZmctbWFpbikpKSkNCi07Ozs7OyBpY29tcGxldGUtdmVydGlj YWwNCi0gICBgKGljb21wbGV0ZS12ZXJ0aWNhbC1zZXBhcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGlkby1tb2RlDQotICAgYChpZG8tZmlyc3QtbWF0Y2ggKCgs Y2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YSBiZy1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1hY3RpdmUgZmctbWFpbikpKSkNCi0gICBgKGlkby1pbmNvbXBsZXRlLXJl Z2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KLSAgIGAoaWRvLWluZGljYXRvciAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93KSkpDQotICAgYChpZG8tb25s eS1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tbnVhbmNlZC1iZw0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4taW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0K LSAgIGAoaWRvLXN1YmRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaWRv LXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7 IGllZGl0DQotICAgYChpZWRpdC1vY2N1cnJlbmNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChpZWRpdC1yZWFkLW9ubHktb2NjdXJyZW5jZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdykpKQ0KLTs7Ozs7IGlmbGlw Yg0KLSAgIGAoaWZsaXBiLWN1cnJlbnQtYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGlmbGlwYi1vdGhlci1idWZmZXItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgaW1lbnUtbGlzdA0KLSAg IGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkN Ci0gICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0zICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlz dC1mYWNlLTAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZh Y2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTIgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTMgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyBpbmRpdW0NCi0gICBgKGluZGl1bS1icmVha3BvaW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGluZGl1bS1mcmFtZS11cmwtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaW5kaXVtLWtleXdv cmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KGluZGl1bS1saXRhYmxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChpbmRpdW0tcmVwbC1lcnJvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaW5k aXVtLXJlcGwtcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChpbmRpdW0tcmVwbC1zdGRvdXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLTs7Ozs7IGluZm8NCi0gICBgKEluZm8tcXVvdGVkICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkgOyB0aGUgY2FwaXRhbGlzYXRpb24gaXMgY2Fub25p Y2FsDQotICAgYChpbmZvLWhlYWRlci1ub2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaW5mby1oZWFkZXIteHJlZiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGluZm8taW5kZXgtbWF0Y2ggKCgsY2xhc3MgOmlu aGVyaXQgbWF0Y2gpKSkNCi0gICBgKGluZm8tbWVudS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChpbmZvLW1lbnUtc3RhciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChpbmZvLW5vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCkpKQ0KLSAgIGAoaW5mby10aXRsZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctMSkpKQ0KLSAgIGAoaW5mby10aXRsZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAoaW5mby10aXRsZS0zICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KLSAgIGAoaW5mby10aXRsZS00ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KLTs7Ozs7IGluZm8tY29sb3JzDQotICAgYChp bmZvLWNvbG9ycy1saXNwLWNvZGUtYmxvY2sgKCgsY2xhc3MgOmluaGVyaXQgZml4ZWQtcGl0Y2gp KSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWNvbW1hbmQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWNvbnN0YW50ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVm LWl0ZW0tZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGlu Zm8tY29sb3JzLXJlZi1pdGVtLW1hY3JvICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGlu Zm8tY29sb3JzLXJlZi1pdGVtLW90aGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1zcGVjaWFsLWZvcm0gKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tc3ludGF4LWNsYXNzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS10eXBlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVm LWl0ZW0tdXNlci1vcHRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGlu Zm8tY29sb3JzLXJlZi1pdGVtLXZhcmlhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotOzs7OzsgaW50ZXJhY3Rpb24tbG9nDQotICAgYChpbG9nLWJ1ZmZlci1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaWxvZy1jaGFuZ2UtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGlsb2ctZWNoby1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChpbG9n LWxvYWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGlsb2ctbWVz c2FnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGlsb2ctbm9u LWNoYW5nZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotOzs7OzsgaW9jY3Vy DQotICAgYChpb2NjdXItY3Vyc29yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChpb2NjdXItaW52YWxpZC1yZWdleHAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0K LSAgIGAoaW9jY3VyLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC1jYWxtKSkpDQotICAgYChpb2NjdXItbWF0Y2gtb3ZlcmxheS1mYWNlICgoLGNsYXNzICxA KGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGlvY2N1ci1udW0tbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGlvY2N1ci1vdmVybGF5LWZhY2UgKCgsY2xh c3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1ibHVlKSkpDQotICAgYChpb2NjdXItcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0KLSAgIGAoaW9jY3VyLXRpdGxlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9k dXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi07Ozs7OyBpc2VhcmNoLCBvY2N1ciwgYW5k IHRoZSBsaWtlDQotICAgYChpc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1p bnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotICAgYChpc2VhcmNoLWZhaWwgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAobGF6eS1oaWdobGlnaHQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKG1hdGNoICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAocXVlcnktcmVw bGFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgYm9sZCkp KSkNCi07Ozs7OyBpdnkNCi0gICBgKGl2eS1hY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoaXZ5LWNvbXBsZXRpb25zLWFubm90YXRpb25z ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LWNvbmZpcm0tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLSAgIGAoaXZ5LWN1cnJlbnQtbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtY3lhbg0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtd2FybQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbmlsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1jdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQg LGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKGl2eS1ncmVwLWluZm8gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChpdnktZ3JlcC1saW5lLW51bWJl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChpdnktaGln aGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGl2eS1t YXRjaC1yZXF1aXJlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQotICAgYChpdnkt bWluaWJ1ZmZlci1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt ZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXN1YnRsZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZmctYWx0KSkpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtZmFjZS0yICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1n cmVlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1yZWZpbmUtZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbg0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlcg0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1p bmlidWZmZXItbWF0Y2gtZmFjZS0zICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4 dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFuDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQt Y3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4t YWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J2JvbGQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTQgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtcmVmaW5lLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXINCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1t aW5pYnVmZmVyLW1hdGNoLWhpZ2hsaWdodCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtbnVhbmNlZC1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1tb2RpZmllZC1idWZmZXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChpdnktbW9kaWZpZWQtb3V0c2lkZS1idWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LW9yZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGl2eS1wcm9tcHQt bWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgaXZ5LWN1cnJlbnQtbWF0Y2gpKSkNCi0gICBgKGl2eS1y ZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGl2eS1zZXBhcmF0 b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaXZ5LXN1YmRpciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGl2eS12aXJ0dWFsICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaXZ5LXlhbmtl ZC13b3JkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25z DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1i bHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51 YW5jZWQtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0KSkp KQ0KLTs7Ozs7IGl2eS1wb3NmcmFtZQ0KLSAgIGAoaXZ5LXBvc2ZyYW1lICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGl2eS1wb3NmcmFt ZS1ib3JkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAoaXZ5LXBv c2ZyYW1lLWN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAs YmctbWFpbikpKQ0KLTs7Ozs7IGppcmEgKG9yZy1qaXJhKQ0KLSAgIGAoamlyYWxpYi1jb21tZW50 LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoamlyYWxpYi1jb21t ZW50LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGppcmFsaWIt aXNzdWUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2Fy bSkpKQ0KLSAgIGAoamlyYWxpYi1pc3N1ZS1pbmZvLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IChtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0gYm9sZCkpKSkNCi0gICBgKGppcmFsaWItaXNz dWUtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGppcmFsaWIt bGluay1maWx0ZXItZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGppcmFsaWIt bGluay1pc3N1ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoamlyYWxpYi1s aW5rLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBqb3VybmFs Y3RsLW1vZGUNCi0gICBgKGpvdXJuYWxjdGwtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGpvdXJuYWxjdGwtZmluaXNoZWQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoam91cm5h bGN0bC1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGpvdXJu YWxjdGwtcHJvY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KLSAgIGAoam91cm5hbGN0bC1zdGFydGluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbikpKQ0KLSAgIGAoam91cm5hbGN0bC10aW1lc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChqb3VybmFsY3RsLXdhcm5pbmctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBqczIt bW9kZQ0KLSAgIGAoanMyLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KGpzMi1leHRlcm5hbC12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGpzMi1mdW5jdGlvbi1jYWxsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChqczItZnVuY3Rpb24tcGFyYW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUpKSkNCi0gICBgKGpzMi1pbnN0YW5jZS1tZW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChqczItanNkb2MtaHRtbC10YWctZGVsaW1pdGVyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChqczItanNkb2MtaHRtbC10YWct bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoanMyLWpzZG9jLXRhZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChqczItanNkb2Mt dHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChqczIt anNkb2MtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAg IGAoanMyLW9iamVjdC1wcm9wZXJ0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoanMyLW9iamVjdC1wcm9wZXJ0eS1hY2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKGpzMi1wcml2YXRlLWZ1bmN0aW9uLWNhbGwgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoanMyLXByaXZhdGUtbWVtYmVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGpzMi13YXJuaW5nICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGp1 bGlhDQotICAgYChqdWxpYS1tYWNyby1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoanVsaWEtcXVv dGVkLXN5bWJvbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K LTs7Ozs7IGp1cHl0ZXINCi0gICBgKGp1cHl0ZXItZXZhbC1vdmVybGF5ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGp1cHl0ZXItcmVwbC1pbnB1dC1w cm9tcHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChqdXB5 dGVyLXJlcGwtb3V0cHV0LXByb21wdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKGp1cHl0ZXItcmVwbC10cmFjZWJhY2sgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyBrYW9jaGEtcnVubmVyDQotICAgYChr YW9jaGEtcnVubmVyLWVycm9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoa2FvY2hhLXJ1bm5lci1zdWNjZXNzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu KSkpDQotICAgYChrYW9jaGEtcnVubmVyLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotOzs7Ozsga2V5Y2FzdA0KLSAgIGAoa2V5Y2FzdC1jb21tYW5kICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChrZXlj YXN0LWtleSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUtYXR0cnMN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4gYmx1ZS1hY3RpdmUNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4gYmx1ZS1hY3RpdmUNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJsdWUtYWN0aXZlIGJsdWUtaW50ZW5zZQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2FsdC1zdHlsZSAtMykpKSkNCi07Ozs7OyBsaW5lIG51bWJlcnMg KGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUgYW5kIGdsb2JhbCB2YXJpYW50KQ0KLSAgIGAobGlu ZS1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVsdCA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGxpbmUtbnVtYmVyLWN1cnJlbnQtbGluZSAoKCxj bGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi07Ozs7OyBsc3AtbW9kZQ0KLSAgIGAobHNwLWZhY2UtaGlnaGxpZ2h0LXJl YWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUgOnVuZGVybGluZSB0 KSkpDQotICAgYChsc3AtZmFjZS1oaWdobGlnaHQtdGV4dHVhbCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAobHNwLWZhY2UtaGlnaGxpZ2h0LXdyaXRl ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSBib2xkKSkpKQ0KLSAg IGAobHNwLWZhY2Utc2VtaGwtY29uc3RhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1kZXByZWNhdGVkDQotICAgICAoKCwoYXBw ZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAg ICA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkNCi0gICAgICAo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotICAgYChsc3AtZmFj ZS1zZW1obC1lbnVtbWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikp KQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZmllbGQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1maWVsZC1zdGF0aWMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1m YWNlLXNlbWhsLWZ1bmN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChsc3AtZmFjZS1zZW1obC1tZXRob2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKGxzcC1mYWNlLXNlbWhsLW5hbWVzcGFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChs c3AtZmFjZS1zZW1obC1wcmVwcm9jZXNzb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQt b3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXN0YXRpYy1tZXRob2QgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNw LWZhY2Utc2VtaGwtdHlwZS1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtZW51bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtcHJpbWl0aXZlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXRlbXBsYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFj ZS1zZW1obC10eXBlLXR5cGVkZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC12YXJp YWJsZS1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobHNwLWZhY2Ut c2VtaGwtdmFyaWFibGUtcGFyYW1ldGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAobHNwLWxlbnMtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChsc3AtbGVucy1tb3VzZS1mYWNlICgoLGNsYXNzIDpoZWln aHQgMC44IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KGxzcC11aS1kb2MtYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQot ICAgYChsc3AtdWktZG9jLWhlYWRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpm b3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1kb2MtdXJsICgoLGNsYXNzIDpp bmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC11 aS1wZWVrLWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKGxzcC11aS1wZWVrLWZvb3RlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVy IDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWhlYWRlciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0g ICBgKGxzcC11aS1wZWVrLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtYmx1ZSkpKQ0KLSAgIGAobHNwLXVpLXBlZWstbGluZS1udW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobHNwLXVpLXBlZWstbGlzdCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGltKSkpDQotICAgYChsc3AtdWktcGVlay1wZWVrICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGxzcC11aS1wZWVrLXNlbGVjdGlvbiAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5l LWNvZGUtYWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGxzcC11 aS1zaWRlbGluZS1jdXJyZW50LXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQg MC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChsc3AtdWktc2lkZWxpbmUtc3ltYm9sLWluZm8gKCgsY2xhc3Mg OmhlaWdodCAwLjk5IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyBtYWdpdA0KLSAgIGAobWFnaXQt YmlzZWN0LWJhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAo bWFnaXQtYmlzZWN0LWdvb2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikp KQ0KLSAgIGAobWFnaXQtYmlzZWN0LXNraXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWRpbW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYChtYWdpdC1ibGFtZS1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWhlYWRpbmcgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtaGlnaGxpZ2h0ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikpKQ0KLSAgIGAobWFnaXQtYmxhbWUt bWFyZ2luICgoLGNsYXNzIDppbmhlcml0IG1hZ2l0LWJsYW1lLWhpZ2hsaWdodCkpKQ0KLSAgIGAo bWFnaXQtYmxhbWUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKG1hZ2l0LWJsYW1lLXN1bW1hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1icmFuY2gtY3VycmVudCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmJveCB0KSkpDQotICAgYChtYWdpdC1icmFuY2gtbG9jYWwg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChtYWdpdC1icmFuY2gtcmVt b3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWFnaXQtYnJh bmNoLXJlbW90ZS1oZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6 Ym94IHQpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC11cHN0cmVhbSAoKCxjbGFzcyA6c2xhbnQgaXRh bGljKSkpDQotICAgYChtYWdpdC1jaGVycnktZXF1aXZhbGVudCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1j aGVycnktdW5tYXRjaGVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5k ICxjeWFuLWludGVuc2UpKSkNCi0gICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBh dHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBm YWNlcywgdGhvdWdoIG9ubHkgZm9yIHRoZSBzdGFuZGFyZCBhY3Rpb25zLA0KLSAgIDs7IG5vdCB0 aGUgaGlnaGxpZ2h0ZWQgb25lcy4gIFRoaXMgaXMgYmVjYXVzZSBNYWdpdCdzIGludGVyYWN0aW9u DQotICAgOzsgbW9kZWwgcmVsaWVzIG9uIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBkaWZmIGh1 bmsuDQotICAgYChtYWdpdC1kaWZmLWFkZGVkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiBncmVl bg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRp ZmYtYWRkZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNl ZC1iZyBmZy1kaWZmLWFkZGVkKSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1hZGRlZC1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCkpKQ0KLSAgIGAo bWFnaXQtZGlmZi1iYXNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIHllbGxvdw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1k aWZmLWNoYW5nZWQpKSkpDQotICAgYChtYWdpdC1kaWZmLWJhc2UtaGlnaGxpZ2h0ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtY2hhbmdlZCkpKQ0KLSAgIGAobWFnaXQt ZGlmZi1jb250ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBg KG1hZ2l0LWRpZmYtY29udGV4dC1oaWdobGlnaHQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZy1kaW0gZmctZGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLWluYWN0aXZlIGZnLWluYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1hbHQpKSkpDQotICAgYChtYWdpdC1kaWZm LWZpbGUtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5nLWhpZ2hsaWdodCAoKCxj bGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIGJvbGQpKSkpDQotICAgYCht YWdpdC1kaWZmLWZpbGUtaGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhl IHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAgIDs7IG1vZHVzLXRoZW1lLWRpZmYt KiBmYWNlcy4NCi0gICBgKG1hZ2l0LWRpZmYtaHVuay1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYWdpdC1kaWZm LWh1bmstaGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3Vu ZCAsYmctZGlmZi1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWRpZmYtaGVhZGluZykpKQ0KLSAgIGAobWFnaXQt ZGlmZi1odW5rLWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1ibHVlKSkpDQotICAgYChtYWdpdC1kaWZmLWh1bmstcmVnaW9uICgoLGNsYXNzIDpp bmhlcml0IGJvbGQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtbGluZXMtYm91bmRhcnkgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1hZ2l0LWRpZmYtbGluZXMtaGVhZGluZyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAobWFn aXQtZGlmZi1yZW1vdmVkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIHJlZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92 ZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtbnVhbmNlZC1iZyBm Zy1kaWZmLXJlbW92ZWQpKSkpDQotICAgYChtYWdpdC1kaWZmLXJlbW92ZWQtaGlnaGxpZ2h0ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKQ0KLSAgIGAo bWFnaXQtZGlmZnN0YXQtYWRkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAg YChtYWdpdC1kaWZmc3RhdC1yZW1vdmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKG1hZ2l0LWRpbW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQot ICAgYChtYWdpdC1maWxlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQotICAgYChtYWdpdC1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKG1hZ2l0LWhlYWQgKCgsY2xhc3MgOmluaGVyaXQgbWFnaXQtYnJhbmNoLWxvY2FsKSkpDQot ICAgYChtYWdpdC1oZWFkZXItbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtaGVhZGVyLWxpbmUta2V5ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LWhl YWRlci1saW5lLWxvZy1zZWxlY3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAobWFnaXQta2V5d29yZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAobWFnaXQta2V5d29yZC1zcXVhc2ggKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtbG9nLWF1dGhv ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFnaXQtbG9nLWRhdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtbG9nLWdyYXBoICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1hZ2l0LW1vZGUtbGluZS1wcm9jZXNz ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAg YChtYWdpdC1tb2RlLWxpbmUtcHJvY2Vzcy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChtYWdpdC1wcm9jZXNzLW5nICgoLGNsYXNz IDppbmhlcml0IGVycm9yKSkpDQotICAgYChtYWdpdC1wcm9jZXNzLW9rICgoLGNsYXNzIDppbmhl cml0IHN1Y2Nlc3MpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1hbWVuZCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAgYChtYWdp dC1yZWZsb2ctY2hlY2tvdXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91 bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWNoZXJyeS1waWNrICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQot ICAgYChtYWdpdC1yZWZsb2ctY29tbWl0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctbWVyZ2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkN Ci0gICBgKG1hZ2l0LXJlZmxvZy1vdGhlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6 Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctcmViYXNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2Up KSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1yZW1vdGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h aW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLXJlc2V0 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkp KQ0KLSAgIGAobWFnaXQtcmVmbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChtYWdpdC1yZWZuYW1lLXB1bGxyZXEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAobWFnaXQtcmVmbmFtZS1zdGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChtYWdpdC1yZWZuYW1lLXdpcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChtYWdpdC1zZWN0aW9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1hZ2l0LXNlY3Rpb24taGVhZGluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYWdpdC1zZWN0aW9u LWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUt Y3lhbiBib2xkKSkpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbi1oaWdobGlnaHQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2UtZG9uZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1kcm9wICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1leGVjICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2Ut aGVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVl bmNlLW9udG8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2Vx dWVuY2UtcGFydCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAobWFn aXQtc2VxdWVuY2UtcGljayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBg KG1hZ2l0LXNlcXVlbmNlLXN0b3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo bWFnaXQtc2lnbmF0dXJlLWJhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1lcnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWV4cGlyZWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWV4cGlyZWQta2V5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1nb29kICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLXJldm9r ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVy ZS11bnRydXN0ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hZ2l0LXRh ZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IG1hZ2l0 LWltZXJnZQ0KLSAgIGAobWFnaXQtaW1lcmdlLW92ZXJyaWRpbmctdmFsdWUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IG1hbg0KLSAgIGAoTWFu LW92ZXJzdHJpa2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAoTWFuLXJldmVyc2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LW1hZ2VudGEpKSkNCi0gICBgKE1hbi11bmRlcmxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4gOnVuZGVybGluZSB0KSkpDQotOzs7OzsgbWFya2Rvd24tbW9kZQ0KLSAgIGAobWFya2Rvd24t YmxvY2txdW90ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFya2Rvd24tYm9sZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1hcmtkb3duLWNvZGUtZmFjZSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykpKSkNCi0gICBgKG1hcmtkb3duLWNv bW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKG1hcmtkb3duLWZvb3Rub3RlLW1hcmtlci1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChtYXJrZG93bi1m b290bm90ZS10ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4gOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFya2Rvd24tZ2ZtLWNoZWNrYm94LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93bi1oZWFk ZXItZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13 ZWlnaHQpIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNl ICgodCBuaWwpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTEgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS0y ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAobWFya2Rv d24taGVhZGVyLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMp KSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaGVhZGluZy00KSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS01ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVy LWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0gICBg KG1hcmtkb3duLWhlYWRlci1ydWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtYXJrZG93bi1oci1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWFy a2Rvd24taHRtbC1hdHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtYXR0ci12YWx1ZS1m YWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKG1hcmtkb3duLWh0bWwtZW50aXR5LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYXJrZG93bi1odG1sLXRhZy1k ZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250 cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtdGFnLW5hbWUt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKG1hcmtkb3duLWlubGluZS1jb2RlLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtYXJrZG93bi1p dGFsaWMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBp dGFsaWMpKSkNCi0gICBgKG1hcmtkb3duLWxhbmd1YWdlLWluZm8tZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChtYXJrZG93bi1sYW5ndWFnZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya2Rv d24tbGluZS1icmVhay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1j eWFuIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWFya2Rvd24tbGluay1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGxpbmspKSkNCi0gICBgKG1hcmtkb3duLWxpbmstdGl0bGUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKG1hcmtkb3duLWxpc3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQotICAgYChtYXJrZG93bi1tYXJrdXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChtYXJrZG93bi1tYXRoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93bi1tZXRhZGF0YS1rZXktZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmtkb3duLW1ldGFkYXRh LXZhbHVlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChtYXJr ZG93bi1taXNzaW5nLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKG1hcmtkb3duLXBsYWluLXVybC1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1hcmtkb3duLWxpbmstZmFjZSkpKQ0KLSAgIGAobWFya2Rvd24tcHJlLWZhY2UgKCgsY2xh c3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhl ZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxi Zy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQpKSkNCi0gICBgKG1hcmtkb3duLXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1hcmtkb3duLW1hcmt1cC1mYWNlKSkpDQotICAgYChtYXJrZG93bi1zdHJpa2UtdGhy b3VnaC1mYWNlICgoLGNsYXNzIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQotICAgYChtYXJrZG93bi10 YWJsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChtYXJrZG93bi11cmwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCi07Ozs7OyBtYXJrdXAtZmFjZXMgKGBhZG9jLW1vZGUnKQ0KLSAgIGAobWFy a3VwLWFuY2hvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAg IGAobWFya3VwLWF0dHJpYnV0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2 ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYXJrdXAtYmlnLWZhY2UgKCgsY2xhc3MgOmhlaWdo dCAxLjMgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLWJvbGQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAg IGAobWFya3VwLWNvZGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFya3VwLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1jb21tZW50LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChtYXJrdXAtY29tcGxleC1yZXBsYWNlbWVudC1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdp ZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YSkpKQ0KLSAgIGAobWFya3VwLWVtcGhhc2lzLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYXJrdXAtZXJy b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KG1hcmt1cC1nZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0g ICBgKG1hcmt1cC1pbnRlcm5hbC1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0 b24gOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJrdXAtaXRhbGljLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQot ICAgYChtYXJrdXAtbGlzdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtY2FsbSkpKQ0KLSAgIGAobWFya3VwLW1ldGEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1tZXRhLWhpZGUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYXJrdXAtcGFzc3Rocm91Z2gtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFya3Vw LXByZXByb2Nlc3Nvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkp DQotICAgYChtYXJrdXAtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya3VwLXNlY29uZGFyeS10ZXh0LWZhY2UgKCgsY2xh c3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAobWFy a3VwLXNtYWxsLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKG1hcmt1cC1zdHJvbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXN1YnNjcmlwdC1mYWNlICgoLGNs YXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1h cmt1cC1zdXBlcnNjcmlwdC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmt1cC10YWJsZS1jZWxsLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYXJrdXAtdGFibGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAo bWFya3VwLXRhYmxlLXJvdy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1jeWFuKSkpDQotICAgYChtYXJrdXAtdGl0bGUtMC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMy4w IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS0xLWZhY2Ug KCgsY2xhc3MgOmhlaWdodCAyLjQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAo bWFya3VwLXRpdGxlLTItZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuOCA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUtMy1mYWNlICgoLGNsYXNzIDpoZWlnaHQg MS40IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS00LWZh Y2UgKCgsY2xhc3MgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAg IGAobWFya3VwLXRpdGxlLTUtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAs Ymx1ZS1udWFuY2VkIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWFya3VwLXZhbHVlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJrdXAtdmVyYmF0aW0t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7 OyBtZW50b3INCi0gICBgKG1lbnRvci1kb3dubG9hZC1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1uYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1lbnRvci1kb3dubG9h ZC1wcm9ncmVzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBg KG1lbnRvci1kb3dubG9hZC1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXNwZWVkLWRvd24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtc3BlZWQtdXAgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1zdGF0ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAobWVudG9yLWhpZ2hsaWdo dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAg YChtZW50b3ItdHJhY2tlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLTs7Ozs7IG1lc3NhZ2VzDQotICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC0yICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtZXNzYWdlLWNpdGVkLXRl eHQtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG1lc3NhZ2Ut aGVhZGVyLWNjICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChtZXNzYWdlLWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQtb3RoZXIpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLW5ld3Nncm91cHMgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtZXNzYWdlLWhlYWRl ci1vdGhlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItc3ViamVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXIt dG8gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobWVz c2FnZS1oZWFkZXIteGhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo bWVzc2FnZS1tbWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAg IGAobWVzc2FnZS1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1uZXV0cmFsKSkpDQotOzs7OzsgbWluaWJ1ZmZlci1saW5lDQotICAgYChtaW5pYnVmZmVyLWxp bmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBtaW5pbWFwDQotICAg YChtaW5pbWFwLWFjdGl2ZS1yZWdpb24tYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctYWN0aXZlKSkpDQotICAgYChtaW5pbWFwLWN1cnJlbnQtbGluZS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7 OyBtb2RlbGluZQ0KLSAgIGAobW9kZS1saW5lICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWFjdGl2 ZSBiZy1hY3RpdmUgZmctZGltIGJnLWFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg IGZnLWFsdCBiZy1hY3RpdmUgJ2FsdC1zdHlsZSBuaWwgYmctbWFpbikpKSkNCi0gICBgKG1vZGUt bGluZS1idWZmZXItaWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobW9kZS1saW5l LWVtcGhhc2lzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZl KSkpDQotICAgYChtb2RlLWxpbmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWFjdGl2ZS1ibHVlIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpzdHlsZSBwcmVzc2VkLWJ1dHRv bikpKSkNCi0gICBgKG1vZGUtbGluZS1pbmFjdGl2ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmZy1pbmFjdGl2ZSBiZy1pbmFjdGl2ZSBmZy1hbHQgYmctZGltDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmctcmVnaW9uIGJnLWFjdGl2ZSkpKSkNCi07Ozs7OyBt b29kLWxpbmUNCi0gICBgKG1vb2QtbGluZS1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtZXJyb3IgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5l LXN0YXR1cy1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAo bW9vZC1saW5lLXN0YXR1cy1uZXV0cmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1zdWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtd2FybmluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChtb29k LWxpbmUtdW5pbXBvcnRhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQot Ozs7OzsgbXBkZWwNCi0gICBgKG1wZGVsLWJyb3dzZXItZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1wZGVsLXBsYXlsaXN0LWN1cnJlbnQtc29uZy1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkp DQotOzs7OzsgbXU0ZQ0KLSAgIGAobXU0ZS1hdHRhY2gtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC0y LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQt My1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0 ZWQtNC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobXU0 ZS1jaXRlZC01LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBg KG11NGUtY2l0ZWQtNi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAg IGAobXU0ZS1jaXRlZC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0g ICBgKG11NGUtY29tcG9zZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtdTRlLWNvbXBv c2Utc2VwYXJhdG9yLWZhY2UpKSkNCi0gICBgKG11NGUtY29tcG9zZS1zZXBhcmF0b3ItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBgKG11 NGUtY29udGFjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChtdTRlLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKG11NGUtZHJhZnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUtZmxhZ2dlZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtdTRlLWZvb3Rlci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAobXU0ZS1mb3J3YXJkZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKG11NGUtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAobXU0ZS1oZWFkZXItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAobXU0ZS1oZWFkZXIta2V5LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG11NGUtaGVhZGVyLW1hcmtzLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0g ICBgKG11NGUtaGVhZGVyLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtbWlsZCkpKQ0KLSAgIGAobXU0ZS1oZWFkZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1oaWdo bGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlcikpKQ0KLSAgIGAobXU0ZS1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0K LSAgIGAobXU0ZS1tb2RlbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFj dGl2ZSkpKQ0KLSAgIGAobXU0ZS1tb3ZlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobXU0ZS1vay1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChtdTRlLXJlZ2lv bi1jb2RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAg IGAobXU0ZS1yZXBsaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtZmFpbnQpKSkN Ci0gICBgKG11NGUtc3BlY2lhbC1oZWFkZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1zeXN0ZW0tZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFyay1kZWwgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAobXU0ZS10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtdTRlLXRyYXNoZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk KSkpDQotICAgYChtdTRlLXVucmVhZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG11NGUtdXJsLW51bWJlci1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtdTRlLXZp ZXctYm9keS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtdTRl LXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5nKSkpDQotOzs7OzsgbXU0ZS1j b252ZXJzYXRpb24NCi0gICBgKG11NGUtY29udmVyc2F0aW9uLWhlYWRlciAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9u LXNlbmRlci0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0zICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNl bmRlci00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG11NGUtY29udmVy c2F0aW9uLXNlbmRlci01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkp DQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci03ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0 aW9uLXNlbmRlci04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLXJlZmluZS1mZykpKQ0KLSAg IGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCkpKQ0KLTs7Ozs7IG11bHRpcGxlLWN1cnNvcnMNCi0gICBgKG1jL2N1cnNvci1iYXItZmFj ZSAoKCxjbGFzcyA6aGVpZ2h0IDEgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1jL2N1 cnNvci1mYWNlICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKG1jL3JlZ2lvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IHJlZ2lvbikpKQ0KLTs7Ozs7IG5lb3RyZWUNCi0gICBgKG5l by1iYW5uZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobmVv LWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAobmVvLWRpci1s aW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAobmVvLWV4cGFuZC1idG4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAobmVvLWZpbGUtbGluay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChuZW8taGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAobmVvLXJvb3QtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG5lby12Yy1hZGRlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobmVvLXZjLWNvbmZsaWN0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChuZW8tdmMtZGVm YXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChuZW8tdmMt ZWRpdGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAobmVvLXZj LWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBg KG5lby12Yy1taXNzaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0g ICBgKG5lby12Yy1uZWVkcy1tZXJnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAobmVvLXZjLW5lZWRzLXVwZGF0ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAobmVvLXZjLXJlbW92ZWQtZmFjZSAoKCxjbGFzcyA6c3RyaWtlLXRocm91 Z2ggdCkpKQ0KLSAgIGAobmVvLXZjLXVubG9ja2VkLWNoYW5nZXMtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAobmVvLXZjLXVwLXRvLWRhdGUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChuZW8tdmMtdXNlci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7Ozsgbm8tZW1vamkNCi0g ICBgKG5vLWVtb2ppICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7Ozsgbm90bXVj aA0KLSAgIGAobm90bXVjaC1jcnlwdG8tZGVjcnlwdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAobm90bXVjaC1jcnlwdG8tcGFydC1oZWFk ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChub3Rt dWNoLWNyeXB0by1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtcmVkKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtZ29vZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCi0gICBgKG5vdG11Y2gtY3J5 cHRvLXNpZ25hdHVyZS1nb29kLWtleSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUteWVsbG93KSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtdW5rbm93biAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChub3RtdWNoLWhl bGxvLWxvZ28tYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbikpKQ0KLSAg IGAobm90bXVjaC1tZXNzYWdlLXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1udWFuY2VkLWN5YW4pKSkNCi0gICBgKG5vdG11Y2gtc2VhcmNoLWZsYWdnZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtbWF0 Y2hpbmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobm90 bXVjaC1zZWFyY2gtbm9uLW1hdGNoaW5nLWF1dGhvcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtdW5yZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KLSAgIGAobm90bXVjaC10YWctYWRkZWQNCi0gICAgICgoLChhcHBlbmQgJygo c3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRl cmxpbmUgKDpjb2xvciAsZ3JlZW4gOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobm90bXVjaC10YWctZGVsZXRlZA0K LSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBj bGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxyZWQgOnN0eWxlIHdhdmUpKQ0KLSAg ICAgICgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG5vdG11 Y2gtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKG5vdG11Y2gtdGFnLWZsYWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLXVucmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdHJlZS1tYXRjaC1hdXRob3ItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChub3RtdWNoLXRyZWUtbWF0 Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobm90bXVjaC10 cmVlLW1hdGNoLXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQotICAgYChub3RtdWNoLXRyZWUtbm8tbWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChub3RtdWNoLXdhc2gtY2l0ZWQtdGV4dCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobm90bXVjaC13YXNoLXRvZ2dsZS1idXR0b24g KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7 OzsgbnVtMy1tb2RlDQotICAgYChudW0zLWZhY2UtZXZlbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi07Ozs7OyBueG1sLW1vZGUNCi0gICBgKG54bWwtYXR0 cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChueG1s LWF0dHJpYnV0ZS1sb2NhbC1uYW1lICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGN5YW4tYWx0IGN5YW4tYWx0LWZhaW50KSkpKQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtcHJl Zml4ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lh bi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWF0dHJp YnV0ZS12YWx1ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZh aW50KSkpKQ0KLSAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLUNEQVRBICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQt d2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLWRlbGltaXRlciAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkp DQotICAgYChueG1sLWNoYXItcmVmLWRlbGltaXRlciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWludCkpKSkNCi0g ICBgKG54bWwtY2hhci1yZWYtbnVtYmVyICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQp KSkpDQotICAgYChueG1sLWRlbGltaXRlZC1kYXRhICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobnhtbC1kZWxp bWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobnhtbC1lbGVtZW50 LWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChueG1sLWVsZW1l bnQtbG9jYWwtbmFtZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAobnhtbC1lbGVtZW50LXByZWZpeCAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt Ym9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWVudGl0eS1yZWYtZGVsaW1pdGVyICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQt b3RoZXItZmFpbnQpKSkpDQotICAgYChueG1sLWVudGl0eS1yZWYtbmFtZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWlu dCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1nbHlwaCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBgKG54bWwtaGFzaCAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAo bnhtbC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG54bWwtbmFtZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSkpKQ0KLSAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChueG1sLW5hbWVzcGFjZS1hdHRyaWJ1dGUtcHJlZml4 ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1m YWludCkpKSkNCi0gICBgKG54bWwtcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi10YXJnZXQgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3Ro ZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSkpKQ0KLSAgIGAobnhtbC1wcm9sb2cta2V5d29yZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9s ZC13ZWlnaHQpKSkpDQotICAgYChueG1sLXJlZiAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4t YWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLTs7Ozs7IG9iamVkDQot ICAgYChvYmplZC1obCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWludGVuc2UtaGwtbGluZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1obC1hbHQtaW50ZW5zZSBiZy1obC1hbHQpKSkpDQotICAgYChvYmplZC1tYXJrICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG9iamVkLW1vZGUtbGluZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi07Ozs7OyBvcmRlcmxlc3MNCi0g ICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z dGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBibHVlLWFsdC1vdGhlciBibHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmx1ZS1yZWZpbmUtYmcgYmx1ZS1yZWZpbmUtZmcpKSkpDQot ICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt c3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZn KSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdyZWVuIGdyZWVuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVmaW5lLWJnIGdyZWVuLXJlZmluZS1mZykpKSkN Ci0gICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB5ZWxsb3cgeWVsbG93LW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeWVsbG93LXJlZmluZS1iZyB5ZWxsb3ctcmVmaW5lLWZnKSkpKQ0K LTs7Ozs7IG9yZw0KLSAgIGAob3JnLWFnZW5kYS1jYWxlbmRhci1ldmVudCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1jYWxlbmRhci1zZXhwICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAob3JnLWFnZW5kYS1jbG9ja2luZyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAn KDpleHRlbmQgdCkpKSkpDQotICAgYChvcmctYWdlbmRhLWNvbHVtbi1kYXRlbGluZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChvcmctYWdlbmRhLWN1cnJlbnQtdGltZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAg IGAob3JnLWFnZW5kYS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChv cmctYWdlbmRhLWRhdGUtdG9kYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbiA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGF0ZS13ZWVrZW5kICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLWFnZW5kYS1k aWFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1k aW1tZWQtdG9kby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAob3JnLWFnZW5kYS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmlsdGVyLWNhdGVnb3J5ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChvcmctYWdlbmRhLWZp bHRlci1lZmZvcnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1m aWx0ZXItdGFncyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFj dGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1yZXN0cmljdGlvbi1sb2NrICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1z dHJ1Y3R1cmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChvcmctYXJj aGl2ZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChvcmctYmxvY2sgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQt Zm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt b3JnLWJsb2NrIGJnLWRpbSkNCi0gICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAob3JnLWJsb2NrLWJlZ2luLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2stZGVsaW0NCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1zcGVjaWFsLWNvbGQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFsdCBmZy1zcGVjaWFsLW1p bGQpKSkpDQotICAgYChvcmctYmxvY2stZW5kLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWJs b2NrLWJlZ2luLWxpbmUpKSkNCi0gICBgKG9yZy1jaGVja2JveCAoKCxjbGFzcyA6Ym94ICg6bGlu ZS13aWR0aCAxIDpjb2xvciAsYmctYWN0aXZlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg IDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAg YChvcmctY2hlY2tib3gtc3RhdGlzdGljcy1kb25lICgoLGNsYXNzIDppbmhlcml0IG9yZy1kb25l KSkpDQotICAgYChvcmctY2hlY2tib3gtc3RhdGlzdGljcy10b2RvICgoLGNsYXNzIDppbmhlcml0 IG9yZy10b2RvKSkpDQotICAgYChvcmctY2xvY2stb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG9yZy1jb2RlICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAob3JnLWNvbHVtbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChv cmctY29sdW1uLXRpdGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOnVuZGVybGluZSB0IDpiYWNr Z3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKG9yZy1kYXRlICgoLGNsYXNzIDppbmhlcml0IChidXR0 b24gZml4ZWQtcGl0Y2gpIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAob3Jn LWRhdGUtc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAob3JnLWRvY3VtZW50LWluZm8gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAob3JnLWRvY3VtZW50LWluZm8t a2V5d29yZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAob3JnLWRvY3VtZW50LXRpdGxlICgoLGNsYXNzIDppbmhlcml0IChib2xkICxt b2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTUpKSkpDQotICAgYChvcmctZG9uZSAo KCxjbGFzcyA6Ym94ICxiZy1yZWdpb24gOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCi0gICBgKG9yZy1kcmF3ZXIgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChvcmctZWxsaXBzaXMgKCgsY2xhc3MgOmZvcmVncm91bmQgbmlsKSkpIDsg aW5oZXJpdHMgZnJvbSB0aGUgaGVhZGluZydzIGNvbG91cg0KLSAgIGAob3JnLWZvb3Rub3RlICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG9y Zy1mb3JtdWxhICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBg KG9yZy1oYWJpdC1hbGVydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UteWVsbG93KSkpDQotICAgYChvcmctaGFiaXQtYWxlcnQtZnV0dXJlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAob3JnLWhhYml0LWNs ZWFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkp DQotICAgYChvcmctaGFiaXQtY2xlYXItZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKG9yZy1oYWJpdC1vdmVyZHVlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKG9yZy1o YWJpdC1vdmVyZHVlLWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1yZWQpKSkNCi0gICBgKG9yZy1oYWJpdC1yZWFkeS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAob3JnLWhhYml0LXJlYWR5LWZ1dHVy ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAg YChvcmctaGVhZGxpbmUtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFi bGUtcGl0Y2ggOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQpKSkNCi0gICBgKG9yZy1oZWFkbGlu ZS10b2RvICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9y ZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKG9yZy1oaWRlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxiZy1tYWluKSkpDQotICAgYChvcmctaW5kZW50ICgoLGNsYXNzIDppbmhlcml0IChmaXhl ZC1waXRjaCBvcmctaGlkZSkpKSkNCi0gICBgKG9yZy1sYXRleC1hbmQtcmVsYXRlZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKG9yZy1sZXZlbC0xICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLSAgIGAob3JnLWxldmVs LTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQotICAgYChvcmct bGV2ZWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBg KG9yZy1sZXZlbC00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0K LSAgIGAob3JnLWxldmVsLTUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01 KSkpDQotICAgYChvcmctbGV2ZWwtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTYpKSkNCi0gICBgKG9yZy1sZXZlbC03ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhlYWRpbmctNykpKQ0KLSAgIGAob3JnLWxldmVsLTggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaGVhZGluZy04KSkpDQotICAgYChvcmctbGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5r KSkpDQotICAgYChvcmctbGlzdC1kdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChv cmctbWFjcm8gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1tZXRhLWxpbmUgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKG9yZy1tb2RlLWxpbmUtY2xvY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKG9yZy1tb2RlLWxpbmUtY2xvY2stb3ZlcnJ1biAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAgYChvcmctcHJpb3JpdHkgKCgsY2xhc3MgOmJv eCAsYmctcmVnaW9uIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKG9yZy1wcm9wZXJ0eS12YWx1ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1xdW90ZSAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2sgYmctZGltKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAob3JnLXNjaGVkdWxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQotICAgYChvcmctc2NoZWR1bGVkLXByZXZpb3VzbHkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1zY2hlZHVsZWQtdG9kYXkgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChvcmctc2V4cC1k YXRlICgoLGNsYXNzIDppbmhlcml0IG9yZy1kYXRlKSkpDQotICAgYChvcmctc3BlY2lhbC1rZXl3 b3JkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkp DQotICAgYChvcmctdGFibGUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQt Zm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAob3JnLXRhYmxlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCAoZml4ZWQt cGl0Y2ggbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpKQ0KLSAgIGAob3JnLXRhZyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChvcmctdGFnLWdyb3Vw ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZCkpKQ0KLSAg IGAob3JnLXRhcmdldCAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG9yZy10aW1lLWdy aWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAob3JnLXRvZG8g KCgsY2xhc3MgOmJveCAsYmctcmVnaW9uIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQg LHJlZC1hbHQpKSkNCi0gICBgKG9yZy11cGNvbWluZy1kZWFkbGluZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLXVwY29taW5nLWRpc3RhbnQtZGVhZGxp bmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChvcmctdmVyYmF0 aW0gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jYWxtKSkpDQotICAgYChvcmctdmVyc2UgKCgsY2xhc3MgOmluaGVyaXQgb3JnLXF1 b3RlKSkpDQotICAgYChvcmctd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWx0LW90aGVyKSkpDQotOzs7Ozsgb3JnLWpvdXJuYWwNCi0gICBgKG9yZy1qb3Vy bmFsLWNhbGVuZGFyLWVudHJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLWpvdXJuYWwtY2Fs ZW5kYXItc2NoZWR1bGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLWpvdXJuYWwtaGlnaGxpZ2h0 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IG9yZy1ub3Rlcg0K LSAgIGAob3JnLW5vdGVyLW5vLW5vdGVzLWV4aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLW5vdGVyLW5vdGVzLWV4aXN0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkp DQotOzs7Ozsgb3JnLXBvbW9kb3JvDQotICAgYChvcmctcG9tb2Rvcm8tbW9kZS1saW5lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChvcmctcG9tb2Rvcm8tbW9kZS1s aW5lLWJyZWFrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAob3Jn LXBvbW9kb3JvLW1vZGUtbGluZS1vdmVydGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtYWN0aXZlKSkpDQotOzs7Ozsgb3JnLXJlY3VyDQotICAgYChvcmctcmVjdXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7Ozsgb3JnLXJvYW0N Ci0gICBgKG9yZy1yb2FtLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5k ICxncmVlbikpKQ0KLSAgIGAob3JnLXJvYW0tbGluay1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChvcmctcm9hbS1saW5rLWlu dmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KG9yZy1yb2FtLWxpbmstc2hpZWxkZWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi0gICBgKG9yZy1yb2FtLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyBvcmctc3VwZXJzdGFyDQotICAgYChvcmct c3VwZXJzdGFyLWl0ZW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9y Zy1zdXBlcnN0YXItbGVhZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkp KQ0KLTs7Ozs7IG9yZy10YWJsZS1zdGlja3ktaGVhZGVyDQotICAgYChvcmctdGFibGUtc3RpY2t5 LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJh bCkpKQ0KLTs7Ozs7IG9yZy10cmVlc2NvcGUNCi0gICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1h cmtlcmludGVybmFsLW1pZGRheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUpKSkNCi0gICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1hcmtlcmludGVybmFsLXJhbmdl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IG9y aWdhbWkNCi0gICBgKG9yaWdhbWktZm9sZC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0gOmJveCB0KSkpDQotICAgYChvcmlnYW1pLWZv bGQtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi07Ozs7OyBvdXRsaW5lLW1vZGUNCi0gICBgKG91dGxpbmUtMSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBgKG91dGxpbmUtMiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCi0gICBgKG91dGxpbmUt MyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBgKG91dGxp bmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCi0gICBgKG91 dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCi0gICBg KG91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0g ICBgKG91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkN Ci0gICBgKG91dGxpbmUtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTgp KSkNCi07Ozs7OyBvdXRsaW5lLW1pbm9yLWZhY2VzDQotICAgYChvdXRsaW5lLW1pbm9yLTAgKCgs Y2xhc3MgbmlsKSkpDQotOzs7OzsgcGFja2FnZSAoTS14IGxpc3QtcGFja2FnZXMpDQotICAgYChw YWNrYWdlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKHBhY2thZ2UtaGVscC1zZWN0aW9uLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHBhY2thZ2UtbmFtZSAo KCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1hdmFpbC1vYnNv ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocGFja2Fn ZS1zdGF0dXMtYXZhaWxhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQp KSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWJ1aWx0LWluICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1kZXBlbmRlbmN5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtZGlzYWJs ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAocGFj a2FnZS1zdGF0dXMtZXh0ZXJuYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1oZWxkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1pbmNvbXBhdCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWluc3Rh bGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChwYWNr YWdlLXN0YXR1cy1uZXcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLXVuc2lnbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyBwYWdlLWJyZWFrLWxpbmVzDQotICAgYChw YWdlLWJyZWFrLWxpbmVzICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmZvcmVncm91bmQgLGZn LXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotOzs7OzsgcGFyYWRveA0KLSAgIGAocGFyYWRveC1h cmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAg IGAocGFyYWRveC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChwYXJhZG94LWNvbW1pdC10YWctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSA6Ym94IHQpKSkNCi0g ICBgKHBhcmFkb3gtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChwYXJhZG94LWRlc2NyaXB0aW9uLWZhY2UtbXVsdGlsaW5lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHBhcmFkb3gtZG93 bmxvYWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkg OmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChwYXJhZG94LWhpZ2hsaWdodC1m YWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHBhcmFkb3gtaG9tZXBhZ2UtYnV0dG9uLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAocGFyYWRveC1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAocGFyYWRveC1uYW1lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGluZSB0KSkpDQotICAgYChwYXJhZG94LXN0YXIt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAocGFyYWRveC1zdGFy cmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgcGFy ZW4tZmFjZQ0KLSAgIGAocGFyZW50aGVzaXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9j dXNlZCkpKQ0KLTs7Ozs7IHBhcnJvdA0KLSAgIGAocGFycm90LXJvdGF0ZS1yb3RhdGlvbi1oaWdo bGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkp KQ0KLTs7Ozs7IHBhc3MNCi0gICBgKHBhc3MtbW9kZS1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHBhc3Mt bW9kZS1lbnRyeS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChwYXNzLW1vZGUtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7IHBlcnNwLW1vZGUNCi0gICBgKHBlcnNw LWZhY2UtbGlnaHRlci1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChwZXJzcC1mYWNlLWxpZ2h0ZXItZGVmYXVsdCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAo cGVyc3AtZmFjZS1saWdodGVyLW5pbC1wZXJzcCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1hY3RpdmUpKSkNCi07Ozs7OyBwZXJzcGVjdGl2ZQ0KLSAgIGAocGVyc3Atc2Vs ZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KLTs7Ozs7IHBoaS1ncmVwDQotICAgYChwaGktZ3JlcC1oZWFkaW5nLWZhY2UgICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMt b3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKHBoaS1ncmVwLWxpbmUtbnVtYmVyLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAocGhpLWdy ZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0p KSkNCi0gICBgKHBoaS1ncmVwLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAocGhpLWdyZXAtb3ZlcmxheS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotOzs7OzsgcGhpLXNlYXJj aA0KLSAgIGAocGhpLXJlcGxhY2UtcHJldmlldy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAocGhpLXNlYXJjaC1mYWlscGFydC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKHBoaS1z ZWFyY2gtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lh bikpKQ0KLSAgIGAocGhpLXNlYXJjaC1zZWxlY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAo bW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLTs7Ozs7IHBrZ2J1aWxkLW1vZGUN Ci0gICBgKHBrZ2J1aWxkLWVycm9yLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSAsZmctbGFuZy1l cnJvcikpKQ0KLTs7Ozs7IHBvbWlkb3INCi0gICBgKHBvbWlkb3ItYnJlYWstZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHBvbWlkb3Itb3Zlcndvcmst ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAocG9taWRv ci1za2lwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChwb21pZG9yLXdvcmstZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotOzs7OzsgcG93ZXJsaW5lDQotICAgYChwb3dlcmxpbmUt YWN0aXZlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsYmx1ZS1m YWludCA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChwb3dlcmxpbmUtYWN0aXZlMSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQp KSkNCi0gICBgKHBvd2VybGluZS1hY3RpdmUyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3Rp dmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAocG93ZXJsaW5lLWluYWN0aXZlMCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKHBvd2VybGluZS1pbmFjdGl2ZTEgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHBvd2VybGluZS1p bmFjdGl2ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IHBvd2VybGluZS1ldmlsDQotICAgYChwb3dlcmxpbmUtZXZp bC1iYXNlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJn LW1haW4pKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLWVtYWNzLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLWlu c2VydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0K LSAgIGAocG93ZXJsaW5lLWV2aWwtbW90aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLW5vcm1hbC1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBg KHBvd2VybGluZS1ldmlsLW9wZXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYWN0aXZlLXllbGxvdykpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtcmVwbGFjZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCi0gICBgKHBvd2VybGlu ZS1ldmlsLXZpc3VhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1j eWFuKSkpDQotOzs7OzsgcHJvY2VkDQotICAgYChwcm9jZWQtbWFyayAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAocHJvY2VkLW1hcmtlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkpKQ0KLSAgIGAocHJvY2VkLXNvcnQtaGVh ZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6 dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBwcm9kaWd5DQotICAgYChwcm9kaWd5LWdyZWVuLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChwcm9kaWd5LXJlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHByb2RpZ3kteWVsbG93LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHJhY2tldC1tb2RlDQotICAgYChy YWNrZXQtZGVidWctYnJlYWstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCkpKQ0KLSAgIGAocmFja2V0LWRlYnVnLWxvY2Fscy1mYWNlICgoLGNsYXNzIDpib3gg KDpsaW5lLXdpZHRoIC0xIDpjb2xvciBuaWwpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFja2V0 LWRlYnVnLXJlc3VsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lk dGggLTEgOmNvbG9yIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHJhY2tldC1oZXJlLXN0cmluZy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAocmFja2V0LWtleXdvcmQtYXJn dW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAocmFja2V0 LWxvZ2dlci1jb25maWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHJhY2tldC1sb2dnZXItZGVidWctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhY2tldC1sb2dnZXIt aW5mby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUpKSkNCi0gICBgKHJh Y2tldC1sb2dnZXItdG9waWMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChyYWNrZXQtc2VsZmV2YWwtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChyYWNrZXQteHAtZXJyb3ItZmFj ZQ0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkp KSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHls ZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRl cmxpbmUgdCkpKQ0KLTs7Ozs7IHJhaW5ib3ctYmxvY2tzDQotICAgYChyYWluYm93LWJsb2Nrcy1k ZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRo LTUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAocmFpbmJvdy1i bG9ja3MtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChy YWluYm93LWJsb2Nrcy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtOC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtOS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy11bm1hdGNoZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotOzs7OzsgcmFpbmJvdy1pZGVudGlm aWVycw0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1p ZGVudGlmaWVyLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmll ci00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChyYWlu Ym93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci02ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMt aWRlbnRpZmllci03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAo cmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItOSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1p ZGVudGlmaWVyLTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocmFpbmJv dy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0x MyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChyYWluYm93LWlkZW50aWZp ZXJzLWlkZW50aWZpZXItMTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAg YChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTUgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQpKSkNCi07Ozs7OyByYWluYm93LWRlbGltaXRlcnMNCi0gICBgKHJhaW5ib3ctZGVs aW1pdGVycy1iYXNlLWZhY2UtZXJyb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAocmFpbmJvdy1kZWxpbWl0ZXJzLWJhc2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMt ZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC00LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5i b3ctZGVsaW1pdGVycy1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNi1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0 aC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChyYWlu Ym93LWRlbGltaXRlcnMtZGVwdGgtOC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLW1pc21hdGNo ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChyYWluYm93LWRlbGltaXRlcnMtdW5tYXRjaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotOzs7OzsgcmNpcmMNCi0gICBgKHJjaXJjLWJyaWdo dC1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkp DQotICAgYChyY2lyYy1kaW0tbmljayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChyY2lyYy1teS1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCi0gICBgKHJjaXJjLW5pY2staW4tbWVzc2FnZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJjaXJjLW5pY2staW4tbWVzc2FnZS1mdWxs LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQotICAgYChyY2lyYy1vdGhlci1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocmNpcmMtcHJvbXB0ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChyY2lyYy1z ZXJ2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAocmNpcmMt dGltZXN0YW1wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHJj aXJjLXVybCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyByZWdleHAtYnVpbGRlciAocmUtYnVpbGRlcikNCi0gICBgKHJlYi1tYXRjaC0wICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAocmViLW1hdGNoLTEg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChy ZWItbWF0Y2gtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkp DQotICAgYChyZWItbWF0Y2gtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCkpKQ0KLSAgIGAocmViLXJlZ2V4cC1ncm91cGluZy1iYWNrc2xhc2ggKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3NsYXNoKSkpDQotICAg YChyZWItcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi07Ozs7OyByZyAocmcuZWwp DQotICAgYChyZy1jb2x1bW4tbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQotICAgYChyZy1jb250ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAocmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHJnLWZpbGUtdGFnLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocmctZmlsZW5hbWUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKHJnLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSkpKQ0KLSAgIGAocmctbGl0ZXJhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KLSAgIGAocmctbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKHJnLXJlZ2V4cC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAocmctdG9nZ2xlLW9mZi1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChyZy10 b2dnbGUtb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFj dGl2ZSkpKQ0KLSAgIGAocmctd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHJpcGdyZXANCi0gICBgKHJpcGdyZXAtY29udGV4 dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKHJpcGdy ZXAtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKHJpcGdyZXAtaGl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKHJpcGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLWNhbG0pKSkNCi07Ozs7OyBybWFpbA0KLSAgIGAocm1haWwtaGVhZGVyLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChybWFpbC1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7 OyBydWxlci1tb2RlDQotICAgYChydWxlci1tb2RlLWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmlu aGVyaXQgKHJ1bGVyLW1vZGUtZGVmYXVsdCBib2xkKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAocnVsZXItbW9kZS1jb21tZW50LWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1t b2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUt Y3VycmVudC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3Jl Z3JvdW5kICxjeWFuLWFjdGl2ZSA6Ym94IHQpKSkNCi0gICBgKHJ1bGVyLW1vZGUtZGVmYXVsdCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQotICAgYChydWxlci1tb2RlLWZpbGwtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVy LW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChydWxlci1t b2RlLWZyaW5nZXMgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3Jv dW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1nb2FsLWNvbHVtbiAoKCxjbGFz cyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZl KSkpDQotICAgYChydWxlci1tb2RlLW1hcmdpbnMgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9k ZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChydWxlci1tb2RlLXBhZCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkp KQ0KLSAgIGAocnVsZXItbW9kZS10YWItc3RvcCAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2Rl LWRlZmF1bHQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07Ozs7OyBzYWxsZXQNCi0g ICBgKHNhbGxldC1idWZmZXItY29tcHJlc3NlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LW51YW5jZWQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1kZWZhdWx0LWRp cmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkKSkpDQotICAgYChzYWxs ZXQtYnVmZmVyLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkp DQotICAgYChzYWxsZXQtYnVmZmVyLWhlbHAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LWFsdC1vdGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAgYChzYWxsZXQtYnVm ZmVyLW9yZGluYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzYWxs ZXQtYnVmZmVyLXJlYWQtb25seSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0K LSAgIGAoc2FsbGV0LWJ1ZmZlci1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNhbG0pKSkNCi0gICBgKHNhbGxldC1idWZmZXItc3BlY2lhbCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHNhbGxldC1mbHgtbWF0Y2ggKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lhbg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyKSkpKQ0KLSAg IGAoc2FsbGV0LXJlY2VudGYtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt bnVhbmNlZCkpKQ0KLSAgIGAoc2FsbGV0LXJlY2VudGYtZmlsZS1wYXRoICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHNhbGxldC1yZWdleHAtbWF0Y2ggKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRh DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1hZ2VudGEtYWx0LW90aGVyKSkpKQ0KLSAgIGAoc2FsbGV0LXNvdXJjZS1oZWFkZXIgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMt b3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKHNhbGxldC1zdWJzdHJpbmctbWF0Y2gg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1i bHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJsdWUtYWx0LW90aGVyKSkpKQ0KLTs7Ozs7IHNlbGVjdHJ1bQ0KLSAgIGAoc2Vs ZWN0cnVtLWN1cnJlbnQtY2FuZGlkYXRlDQotICAgICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1tYWluIDp1bmRlcmxpbmUgLGZnLW1haW4NCi0gICAgICAgICAgICAgIDpi YWNrZ3JvdW5kICxAKHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdvcGluaW9uYXRlZCAobGlzdCBiZy1hY3RpdmUp KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfIChsaXN0IGJnLWluYWN0aXZlKSkp KSkpDQotICAgYChzZWxlY3RydW0tcHJpbWFyeS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFuY2VkLWJn DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1y ZWZpbmUtYmcgbWFnZW50YS1yZWZpbmUtZmcpKSkpDQotICAgYChzZWxlY3RydW0tc2Vjb25kYXJ5 LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFuLXJlZmluZS1mZykp KSkNCi07Ozs7OyBzZW1hbnRpYw0KLSAgIGAoc2VtYW50aWMtY29tcGxldGUtaW5saW5lLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tcHJpdmF0ZS1tZW1iZXJzLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKHNlbWFudGljLWRlY29y YXRpb24tb24tcHJvdGVjdGVkLW1lbWJlcnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltKSkpDQotICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZWRpdHMtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZnVuYy1jdXJyZW50 LXRhZy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHNlbWFudGlj LWlkbGUtc3ltYm9sLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLW1pbGQpKSkNCi0gICBgKHNlbWFudGljLXRhZy1ib3VuZGFyeS1mYWNlICgoLGNsYXNzIDpv dmVybGluZSAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChzZW1hbnRpYy11bm1hdGNoZWQtc3ludGF4 LWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IHNlc21h bg0KLSAgIGAoc2VzbWFuLWJyb3dzZXItYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoc2VzbWFuLWJyb3dzZXItaGln aGxpZ2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0K LSAgIGAoc2VzbWFuLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChzZXNtYW4tZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc2VzbWFuLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IHNoZWxs LXNjcmlwdC1tb2RlDQotICAgYChzaC1oZXJlZG9jICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAoc2gtcXVvdGVkLWV4ZWMgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHNo b3ctcGFyZW4tbW9kZQ0KLSAgIGAoc2hvdy1wYXJlbi1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1wYXJlbiBiZy1wYXJlbi1tYXRjaA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1wYXJlbi1tYXRjaC1p bnRlbnNlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoc2hvdy1wYXJlbi1tYXRjaC1leHByZXNzaW9uICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoc2hvdy1wYXJlbi1taXNtYXRj aCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHNp ZGUtbm90ZXMNCi0gICBgKHNpZGUtbm90ZXMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6 Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7Ozsgc2tld2VyLW1vZGUNCi0gICBgKHNrZXdlci1l cnJvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotOzs7 Ozsgc21hcnQtbW9kZS1saW5lDQotICAgYChzbWwvY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2Rpc2NoYXJnaW5nICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChzbWwvZmlsZW5hbWUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHNtbC9mb2xkZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2dpdCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKHNtbC9nbG9i YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2xpbmUtbnVt YmVyICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9taW5vci1tb2Rl cyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvbW9kZXMgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChzbWwvbW9k aWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUp KSkNCi0gICBgKHNtbC9tdWxlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0K LSAgIGAoc21sL25hbWUtZmlsbGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSkpKQ0KLSAgIGAoc21sL25vdC1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFs KSkpDQotICAgYChzbWwvbnVtYmVycy1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgc21sL2ds b2JhbCkpKQ0KLSAgIGAoc21sL291dHNpZGUtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHNtbC9wb3NpdGlvbi1wZXJjZW50YWdlICgo LGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9wcmVmaXggKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL3Byb2Nlc3MgKCgsY2xhc3Mg OmluaGVyaXQgc21sL3ByZWZpeCkpKQ0KLSAgIGAoc21sL3Byb2plY3RpbGUgKCgsY2xhc3MgOmlu aGVyaXQgc21sL2dpdCkpKQ0KLSAgIGAoc21sL3JlYWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL3JlbW90ZSAoKCxjbGFz cyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvc3VkbyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChzbWwvdGltZSAoKCxjbGFzcyA6aW5o ZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvdmMgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dp dCkpKQ0KLSAgIGAoc21sL3ZjLWVkaXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7Ozsgc21hcnRwYXJlbnMNCi0gICBgKHNwLXBhaXIt b3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkp KQ0KLSAgIGAoc3Atc2hvdy1wYWlyLWVuY2xvc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHNwLXNob3ctcGFpci1tYXRjaC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXBhcmVuIGJnLXBhcmVuLW1hdGNoDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1wYXJlbi1tYXRjaC1pbnRlbnNlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNwLXNob3ctcGFpci1t aXNtYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkp DQotICAgYChzcC13cmFwLW92ZXJsYXktY2xvc2luZy1wYWlyICgoLGNsYXNzIDppbmhlcml0IHNw LXBhaXItb3ZlcmxheS1mYWNlKSkpDQotICAgYChzcC13cmFwLW92ZXJsYXktZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5 LW9wZW5pbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0K LSAgIGAoc3Atd3JhcC10YWctb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXIt b3ZlcmxheS1mYWNlKSkpDQotOzs7Ozsgc21lcmdlDQotICAgYChzbWVyZ2UtYmFzZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQpKSkNCi0gICBgKHNtZXJnZS1sb3dl ciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQotICAgYChzbWVy Z2UtbWFya2VycyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVn cm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQotICAgYChzbWVyZ2UtcmVmaW5lZC1hZGRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KLSAgIGAo c21lcmdlLXJlZmluZWQtY2hhbmdlZCAoKCxjbGFzcykpKQ0KLSAgIGAoc21lcmdlLXJlZmluZWQt cmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVk KSkpDQotICAgYChzbWVyZ2UtdXBwZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlm Zi1yZW1vdmVkKSkpDQotOzs7Ozsgc3BhY2VsaW5lDQotICAgYChzcGFjZWxpbmUtZXZpbC1lbWFj cyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSkpKQ0KLSAgIGAo c3BhY2VsaW5lLWV2aWwtaW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2 ZS1ncmVlbikpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChzcGFjZWxpbmUtZXZpbC1ub3JtYWwg KCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQotICAg YChzcGFjZWxpbmUtZXZpbC1yZXBsYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFj dGl2ZS1yZWQpKSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1hY3RpdmUtY3lhbikpKQ0KLSAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWVy cm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUt Zmx5Y2hlY2staW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBg KHNwYWNlbGluZS1mbHljaGVjay13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUpKSkNCi0gICBgKHNwYWNlbGluZS1tb2RpZmllZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0KLSAgIGAoc3Bh Y2VsaW5lLXB5dGhvbi12ZW52ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkp KQ0KLSAgIGAoc3BhY2VsaW5lLXJlYWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtcmVkKSkpDQotICAgYChzcGFjZWxpbmUtdW5tb2RpZmllZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KLTs7Ozs7IHNwZWVkYmFyDQotICAgYChz cGVlZGJhci1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChzcGVl ZGJhci1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotICAgYChzcGVlZGJhci1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKHNwZWVkYmFyLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChzcGVlZGJhci1zZWxlY3RlZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHNwZWVk YmFyLXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut bmV1dHJhbCkpKQ0KLSAgIGAoc3BlZWRiYXItdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hbHQtb3RoZXIpKSkNCi07Ozs7OyBzcGVsbC1mdQ0KLSAgIGAoc3BlbGwtZnUtaW5j b3JyZWN0LWZhY2UNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1 bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1s YW5nLWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHN0cmlwZXMNCi0gICBgKHN0cmlwZXMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLTs7Ozs7IHN1Y2Nlc3MN Ci0gICBgKHN1Z2dlc3QtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7Ozsgc3dpdGNoLXdpbmRvdw0KLSAgIGAoc3dpdGNo LXdpbmRvdy1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBg KHN3aXRjaC13aW5kb3ctbGFiZWwgKCgsY2xhc3MgOmhlaWdodCAzLjAgOmZvcmVncm91bmQgLGJs dWUtaW50ZW5zZSkpKQ0KLTs7Ozs7IHN3aXBlcg0KLSAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0 Y2gtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsKSkp DQotICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNo LWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0K LSAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS00ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoc3dpcGVyLWxpbmUtZmFjZSAoKCxjbGFz cyAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1j b2xkKSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IHN3aXBl ci1saW5lLWZhY2UpKSkNCi0gICBgKHN3aXBlci1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgOmluaGVy aXQgc3dpcGVyLWxpbmUtZmFjZSkpKQ0KLSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtMyAoKCxjbGFz cyA6aW5oZXJpdCBzd2lwZXItbGluZS1mYWNlKSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS00 ICgoLGNsYXNzIDppbmhlcml0IHN3aXBlci1saW5lLWZhY2UpKSkNCi07Ozs7OyBzd29vcA0KLSAg IGAoc3dvb3AtZmFjZS1oZWFkZXItZm9ybWF0LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhl bWUtc2NhbGUtMykpKSkNCi0gICBgKHN3b29wLWZhY2UtbGluZS1idWZmZXItbmFtZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChzd29vcC1mYWNlLWxpbmUtbnVt YmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHN3b29w LWZhY2UtdGFyZ2V0LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1i bHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1h Y3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS10 YXJnZXQtd29yZHMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkN Ci07Ozs7OyBzeA0KLSAgIGAoc3gtaW5ib3gtaXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoc3gtaW5ib3gtaXRlbS10eXBlLXVucmVhZCAo KCxjbGFzcyA6aW5oZXJpdCAoc3gtaW5ib3gtaXRlbS10eXBlIGJvbGQpKSkpDQotICAgYChzeC1x dWVzdGlvbi1saXN0LWFuc3dlcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAg YChzeC1xdWVzdGlvbi1saXN0LWFuc3dlcnMtYWNjZXB0ZWQgKCgsY2xhc3MgOmJveCB0IDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1ib3VudHkgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWZhdm9yaXRlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbGlzdC1wYXJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KHN4LXF1ZXN0aW9uLWxpc3QtcmVhZC1xdWVzdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LXNjb3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUtdXB2b3Rl ZCAoKCxjbGFzcyA6aW5oZXJpdCAoc3gtcXVlc3Rpb24tbGlzdC1zY29yZSBib2xkKSkpKQ0KLSAg IGAoc3gtcXVlc3Rpb24tbGlzdC11bnJlYWQtcXVlc3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1hY2NlcHRl ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxncmVlbikp KQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1jbG9zZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLXllbGxvdyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwpKSkpDQot ICAgYChzeC1xdWVzdGlvbi1tb2RlLWNsb3NlZC1yZWFzb24gKCgsY2xhc3MgOmJveCAoOmxpbmUt d2lkdGggMiA6Y29sb3IgbmlsKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbW9kZS1jb250ZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0K LSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkp DQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWtiZC10YWcgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOSA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAs ZmctbWFpbiA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLXNjb3JlLWRvd252b3RlZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLXNjb3JlLXVwdm90ZWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoc3gt cXVlc3Rpb24tbW9kZS10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLXRpdGxlLWNvbW1lbnRzICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoc3gtdGFnICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoc3gtdXNlci1uYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoc3gtdXNlci1yZXB1dGF0aW9uICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBzeW1ib2wtb3ZlcmxheQ0KLSAg IGAoc3ltYm9sLW92ZXJsYXktZGVmYXVsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0xICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJs YXktZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkp DQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS15ZWxsb3cpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHN5bWJvbC1v dmVybGF5LWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkp KQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4pKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5 LWZhY2UtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7 Ozs7IHN5c2xvZy1tb2RlDQotICAgYChzeXNsb2ctZGVidWcgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1lcnJvciAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHN5c2xvZy1maWxl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoc3lzbG9nLWhpZGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKHN5c2xvZy1ob3VyICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChzeXNsb2ctaW5mbyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAo c3lzbG9nLWlwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt bWlsZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHN5c2xvZy1zdSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChzeXNsb2ctd2FybiAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyB0YWJsZSAoYnVpbHQt aW4gdGFibGUuZWwpDQotICAgYCh0YWJsZS1jZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVl LW51YW5jZWQtYmcpKSkNCi07Ozs7OyB0ZWxlcGhvbmUtbGluZQ0KLSAgIGAodGVsZXBob25lLWxp bmUtYWNjZW50LWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZvcmVn cm91bmQgLGJnLWluYWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1hY2NlbnQtaW5hY3Rp dmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZl KSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLWVt YWNzICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLG1h Z2VudGEtaW50ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1pbnNlcnQgKCgs Y2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsZ3JlZW4taW50 ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xhc3MgOmlu aGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcp KSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDppbmhlcml0IHRl bGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAodGVsZXBob25l LWxpbmUtZXZpbC1vcGVyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmls IDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1l dmlsLXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dy b3VuZCAscmVkLWludGVuc2UtYmcpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtdmlzdWFs ICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLGN5YW4t aW50ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtcHJvamVjdGlsZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLXVuaW1wb3J0 YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBob25l LWxpbmUtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWN0aXZlKSkpDQotOzs7OzsgdGVybQ0KLSAgIGAodGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodGVybS1ib2xkICgoLGNsYXNz IDppbmhlcml0IGJvbGQpKSkNCi0gICBgKHRlcm0tY29sb3ItYmx1ZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmx1ZSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodGVybS1jb2xvci1jeWFuICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCh0ZXJt LWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCi0gICBgKHRlcm0tY29sb3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFn ZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodGVybS1jb2xvci1yZWQgKCgsY2xh c3MgOmJhY2tncm91bmQgLHJlZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYCh0ZXJtLWNvbG9y LXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93IDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCi0gICBgKHRlcm0tdW5kZXJsaW5lICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7 IHRvbWF0aW5obw0KLSAgIGAodG9tYXRpbmhvLW9rLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAodG9tYXRpbmhvLXBhdXNlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYCh0b21hdGluaG8tcmVzZXQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgdHJhbnNpZW50DQotICAgYCh0 cmFuc2llbnQtYWN0aXZlLWluZml4ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtbWlsZCkpKQ0KLSAgIGAodHJhbnNpZW50LWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAodHJhbnNpZW50LWFyZ3VtZW50ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHRyYW5zaWVu dC1ibHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBg KHRyYW5zaWVudC1kaXNhYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1yZWQpKSkNCi0gICBgKHRyYW5zaWVudC1lbmFibGVkLXN1ZmZpeCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYCh0cmFuc2llbnQtaGVh ZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YCh0cmFuc2llbnQtaW5hY3RpdmUtYXJndW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAodHJhbnNpZW50LWluYWN0aXZlLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKHRyYW5zaWVudC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodHJhbnNpZW50LW1pc21hdGNoZWQta2V5ICgoLGNs YXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodHJhbnNpZW50LW5vbnN0YW5kYXJkLWtleSAoKCxj bGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHRyYW5zaWVudC1waW5rICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHRyYW5zaWVudC1yZWQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBgKHRy YW5zaWVudC10ZWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYCh0cmFuc2llbnQtdW5yZWFjaGFibGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAodHJhbnNpZW50LXVucmVhY2hhYmxlLWtleSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYCh0cmFuc2llbnQtdmFsdWUg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgdHJhc2hlZA0KLSAg IGAodHJhc2hlZC1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVs KSkpDQotICAgYCh0cmFzaGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAodHJhc2hlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmst c3ltYm9sKSkpDQotICAgYCh0cmFzaGVkLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1tYXJrLWFsdCkpKQ0KLSAgIGAodHJhc2hlZC1yZXN0b3JlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAodHJhc2hlZC1zeW1saW5rICgoLGNsYXNz IDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi07Ozs7OyB0cmVlbWFj cw0KLSAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWNvbGxhcHNlZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZGlyZWQtZGlyZWN0b3J5KSkpDQotICAgYCh0cmVlbWFjcy1maWxlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWZyaW5n ZS1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo dHJlZW1hY3MtZ2l0LWFkZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVu c2UpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LWln bm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0cmVlbWFj cy1naXQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LXJlbmFtZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC11bm1vZGlmaWVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWdpdC11bnRy YWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAo dHJlZW1hY3MtaGVscC1jb2x1bW4tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAodHJlZW1hY3MtaGVscC10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAodHJlZW1hY3Mtb24tZmFpbHVyZS1wdWxzZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYCh0cmVl bWFjcy1vbi1zdWNjZXNzLXB1bHNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAodHJlZW1hY3Mtcm9vdC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDpoZWlnaHQgMS4yIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtZGlzY29ubmVjdGVkLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1yZW1vdGUtZmFjZSA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQotICAgYCh0cmVlbWFjcy1yb290LXJlbW90ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IHRyZWVtYWNzLXJvb3QtZmFjZSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodHJlZW1h Y3Mtcm9vdC1yZW1vdGUtdW5yZWFkYWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNz LXJvb3QtdW5yZWFkYWJsZS1mYWNlKSkpDQotICAgYCh0cmVlbWFjcy1yb290LXVucmVhZGFibGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LWZhY2UgOnN0cmlrZS10aHJvdWdo IHQpKSkNCi0gICBgKHRyZWVtYWNzLXRhZ3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCi0gICBgKHRyZWVtYWNzLXRhZ3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi07Ozs7OyB0dHktbWVudQ0KLSAgIGAodHR5LW1lbnUtZGlzYWJsZWQt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKHR0eS1tZW51LWVuYWJsZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHR0eS1tZW51LXNl bGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkp DQotOzs7OzsgdHVhcmVnDQotICAgYChjYW1sLXR5cGVzLWRlZi1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGNhbWwtdHlwZXMtZXhwci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoY2Ft bC10eXBlcy1vY2MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3Jl ZW4pKSkNCi0gICBgKGNhbWwtdHlwZXMtc2NvcGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoY2FtbC10eXBlcy10eXBlZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYCh0dWFyZWct Zm9udC1kb3VibGUtc2VtaWNvbG9uLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWct Zm9udC1sb2NrLWF0dHJpYnV0ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250 LWxvY2stY29uc3RydWN0b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAodHVhcmVnLWZvbnQtbG9jay1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1leHRl bnNpb24tbm9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stZ292ZXJuaW5nLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHVhcmVnLWZv bnQtbG9jay1pbmZpeC1leHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkp KQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbnRlcmFjdGl2ZS1kaXJlY3RpdmUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh0dWFyZWctZm9udC1s b2NrLWludGVyYWN0aXZlLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkIHJlZC1mYWludCkpKSkNCi0g ICBgKHR1YXJlZy1mb250LWxvY2staW50ZXJhY3RpdmUtb3V0cHV0LWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIg Ymx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWxhYmVsLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhl ciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stbGluZS1u dW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAg YCh0dWFyZWctZm9udC1sb2NrLW1vZHVsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KSkpKQ0KLSAgIGAo dHVhcmVnLWZvbnQtbG9jay1tdWx0aXN0YWdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVl LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1vcGVyYXRvci1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50 KSkpKQ0KLSAgIGAodHVhcmVnLW9wYW0tZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZCByZWQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctb3BhbS1wa2ctdmFyaWFi bGUtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGN5YW4gY3lhbi1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IHR5cGVz Y3JpcHQNCi0gICBgKHR5cGVzY3JpcHQtanNkb2MtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLW1pbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodHlwZXNj cmlwdC1qc2RvYy10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodHlwZXNjcmlwdC1qc2RvYy12YWx1ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi07Ozs7OyB1bmRvLXRyZWUNCi0gICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWFj dGl2ZS1icmFuY2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1jdXJyZW50LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXIt ZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHVuZG8t dHJlZS12aXN1YWxpemVyLXJlZ2lzdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtaW50ZW5zZSkpKQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItdW5tb2RpZmllZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotOzs7OzsgdmMgKHZjLWhv b2tzLmVsKQ0KLSAgIGAodmMtY29uZmxpY3Qtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodmMtZWRpdGVkLXN0 YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYCh2Yy1sb2Nh bGx5LWFkZGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAg IGAodmMtbG9ja2VkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0K LSAgIGAodmMtbWlzc2luZy1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodmMtbmVlZHMtdXBkYXRlLXN0 YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAodmMtcmVtb3ZlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KLSAgIGAodmMtc3RhdGUtYmFzZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWN0aXZlKSkpDQotICAgYCh2Yy11cC10by1kYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyB2ZGlmZg0KLSAgIGAodmRpZmYtYWRkaXRp b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQotICAg YCh2ZGlmZi1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNo YW5nZWQpKSkNCi0gICBgKHZkaWZmLWNsb3NlZC1mb2xkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0K LSAgIGAodmRpZmYtcmVmaW5lLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRp ZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYCh2ZGlmZi1yZWZpbmUtY2hhbmdlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2VkKSkpDQotICAgYCh2ZGlmZi1z dWJ0cmFjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3Zl ZCkpKQ0KLSAgIGAodmRpZmYtdGFyZ2V0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ibHVlKSkpDQotOzs7OzsgdmltaXNoLWZvbGQNCi0gICBgKHZpbWlzaC1mb2xk LWZyaW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHZpbWlz aC1mb2xkLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1i bHVlKSkpDQotICAgYCh2aW1pc2gtZm9sZC1vdmVybGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLTs7Ozs7IHZpc2libGUtbWFy aw0KLSAgIGAodmlzaWJsZS1tYXJrLWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1p bnRlbnNlLWJnKSkpDQotICAgYCh2aXNpYmxlLW1hcmstZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZhY2UyICgoLGNsYXNz IDpiYWNrZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZv cndhcmQtZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZykpKQ0K LSAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdy ZWVuLWludGVuc2UtYmcpKSkNCi07Ozs7OyB2aXN1YWwtcmVnZXhwDQotICAgYCh2ci9ncm91cC0w ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAodnIv Z3JvdXAtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkN Ci0gICBgKHZyL2dyb3VwLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1n cmVlbikpKQ0KLSAgIGAodnIvbWF0Y2gtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUteWVsbG93KSkpDQotICAgYCh2ci9tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKHZyL21hdGNoLXNlcGFyYXRvci1mYWNlICgo LGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgYm9sZCkpKSkNCi07 Ozs7OyB2b2xhdGlsZS1oaWdobGlnaHRzDQotICAgYCh2aGwvZGVmYXVsdC1mYWNlICgoLGNsYXNz ICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxibHVlLW51YW5jZWQpKSkNCi07Ozs7OyB2dGVybQ0KLSAgIGAodnRlcm0tY29sb3ItYmxhY2sg KCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXkzNSIgOmZvcmVncm91bmQgImdyYXkzNSIpKSkNCi0g ICBgKHZ0ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQg LGN5YW4gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWRlZmF1bHQgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KHZ0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWludmVyc2UtdmlkZW8gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLW1haW4gOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAodnRlcm0tY29sb3It bWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAodnRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZv cmVncm91bmQgLHJlZCkpKQ0KLSAgIGAodnRlcm0tY29sb3ItdW5kZXJsaW5lICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnVuZGVybGluZSB0KSkpDQotICAgYCh2dGVybS1j b2xvci13aGl0ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAiZ3JheTY1IiA6Zm9yZWdyb3VuZCAiZ3Jh eTY1IikpKQ0KLSAgIGAodnRlcm0tY29sb3IteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5 ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHdjaGVjay1tb2RlDQotICAgYCh3 Y2hlY2stZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0 KSkpDQotOzs7Ozsgd2ViLW1vZGUNCi0gICBgKHdlYi1tb2RlLWFubm90YXRpb24tZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWFu bm90YXRpb24taHRtbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFj ZSkpKQ0KLSAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB3ZWItbW9kZS1jb21tZW50LWZhY2UgOnVuZGVybGluZSB0KSkpDQotICAgYCh3ZWItbW9kZS1i bG9jay1hdHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stYXR0ci12YWx1 ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1h bHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1j b21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQot ICAgYCh3ZWItbW9kZS1ibG9jay1jb250cm9sLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWRlbGltaXRlci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLXN0 cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAg YCh3ZWItbW9kZS1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAod2Vi LW1vZGUtYnVpbHRpbi1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3 ZWItbW9kZS1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3ZWItbW9kZS1jb21tZW50LWtleXdvcmQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1kaW0NCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB5ZWxsb3cgeWVsbG93LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtY29uc3Rh bnQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhl ciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1hdC1ydWxlLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIg Ymx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtY29sb3ItZmFjZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1h bHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1jb21t ZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAg YCh3ZWItbW9kZS1jc3MtZnVuY3Rpb24tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xk LXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1wcmlvcml0eS1mYWNlICgoLGNsYXNzICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0IHllbGxvdy1hbHQtZmFpbnQp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1wcm9wZXJ0eS1u YW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lh biBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXBzZXVkby1jbGFzcy1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIg Y3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3Mtc2VsZWN0b3ItZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3Ro ZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0g ICBgKHdlYi1tb2RlLWNzcy1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1z dHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXZhcmlhYmxlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAod2ViLW1vZGUtY3VycmVudC1j b2x1bW4taGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAg IGAod2ViLW1vZGUtY3VycmVudC1lbGVtZW50LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAod2ViLW1vZGUtZG9jdHlwZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAod2ViLW1vZGUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAod2ViLW1vZGUtZmlsdGVyLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkp KSkNCi0gICBgKHdlYi1tb2RlLWZvbGRlZC1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAod2ViLW1vZGUtZnVuY3Rpb24tY2FsbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1v ZGUtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRy LWN1c3RvbS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLWVuZ2luZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0 dHItZXF1YWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2Vi LW1vZGUtaHRtbC1hdHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHIt dmFsdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1 ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1s LWVudGl0eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxv dy1hbHQtb3RoZXIgeWVsbG93LWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAo d2ViLW1vZGUtaHRtbC10YWctYnJhY2tldC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1k aW0pKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFnLWN1c3RvbS1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQot ICAgYCh3ZWItbW9kZS1odG1sLXRhZy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFn LW5hbWVzcGFjZWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJv bGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctdW5jbG9zZWQtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKHdlYi1tb2RlLWlubGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KLSAgIGAod2ViLW1vZGUtaXRhbGljLWZhY2UgKCgsY2xhc3MgOnNsYW50IGl0YWxp YykpKQ0KLSAgIGAod2ViLW1vZGUtamF2YXNjcmlwdC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1qYXZhc2NyaXB0 LXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQot ICAgYCh3ZWItbW9kZS1qc29uLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9k ZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWpzb24tY29udGV4dC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFs dC1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWpzb24ta2V5LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAod2ViLW1vZGUtanNvbi1zdHJpbmctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUt anN4LWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtMi1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Ymctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHdl Yi1tb2RlLWpzeC1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC01LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk KSkpDQotICAgYCh3ZWItbW9kZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLXBhcmFtLW5hbWUtZmFjZSAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkN Ci0gICBgKHdlYi1tb2RlLXBhcnQtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1t b2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtcGFydC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHdlYi1tb2RlLWJsb2NrLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXBhcnQtc3RyaW5n LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdl Yi1tb2RlLXByZXByb2Nlc3Nvci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZWQtYWx0LW90aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWIt bW9kZS1zY3JpcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkN Ci0gICBgKHdlYi1tb2RlLXNxbC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtc3Ry aW5nLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUt YWx0LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtc3R5bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXN5bWJvbC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhl ci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXR5cGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KSkpKQ0KLSAgIGAod2Vi LW1vZGUtdW5kZXJsaW5lLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYCh3ZWIt bW9kZS12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS13YXJuaW5nLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0DQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ct YWx0LW90aGVyIHllbGxvdy1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS13aGl0 ZXNwYWNlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91 bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi07Ozs7OyB3Z3JlcA0KLSAgIGAod2dyZXAtZGVsZXRlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAo d2dyZXAtZG9uZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVl KSkpDQotICAgYCh3Z3JlcC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1ncmVlbikpKQ0KLSAgIGAod2dyZXAtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHdncmVwLXJlamVjdC1mYWNlICgoLGNsYXNzIDppbmhl cml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLTs7Ozs7IHdoaWNoLWZ1bmN0 aW9uLW1vZGUNCi0gICBgKHdoaWNoLWZ1bmMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotOzs7Ozsgd2hpY2gta2V5DQotICAgYCh3aGljaC1rZXktY29tbWFuZC1kZXNj cmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCh3aGljaC1r ZXktZ3JvdXAtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCi0gICBgKHdoaWNoLWtleS1oaWdobGlnaHRlZC1jb21tYW5kLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2hpY2gta2V5LWtl eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkp KQ0KLSAgIGAod2hpY2gta2V5LWxvY2FsLW1hcC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3aGljaC1rZXktbm90ZS1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAg IGAod2hpY2gta2V5LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKHdoaWNoLWtleS1zcGVjaWFsLWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotOzs7Ozsgd2hpdGVzcGFjZS1tb2Rl DQotICAgYCh3aGl0ZXNwYWNlLWJpZy1pbmRlbnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAod2hpdGVzcGFjZS1lbXB0eSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHdoaXRlc3BhY2UtaHNwYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0 ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLWluZGVudGF0aW9uICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3 aGl0ZXNwYWNlLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJt KSkpDQotICAgYCh3aGl0ZXNwYWNlLW5ld2xpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdo aXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2Ut c3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZn LXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2Utc3BhY2UtYWZ0ZXItdGFiICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYCh3aGl0ZXNwYWNl LXNwYWNlLWJlZm9yZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5 YW4pKSkNCi0gICBgKHdoaXRlc3BhY2UtdGFiICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0 ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLXRy YWlsaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7 Ozsgd2luZG93LWRpdmlkZXItbW9kZQ0KLSAgIGAod2luZG93LWRpdmlkZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLWlubmVyKSkpDQotICAgYCh3aW5kb3ctZGl2aWRl ci1maXJzdC1waXhlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0 ZXIpKSkNCi0gICBgKHdpbmRvdy1kaXZpZGVyLWxhc3QtcGl4ZWwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotOzs7Ozsgd2ludW0NCi0gICBgKHdpbnVt LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3Jl Z3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLTs7Ozs7IHdyaXRlZ29vZC1tb2RlDQotICAgYCh3cml0 ZWdvb2QtZHVwbGljYXRlcy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLHJlZC1hbHQgOnVuZGVybGluZSB0KSkpDQotICAgYCh3cml0ZWdvb2QtcGFzc2l2ZS12 b2ljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCA6dW5kZXJsaW5l ICxmZy1sYW5nLXdhcm5pbmcpKSkNCi0gICBgKHdyaXRlZ29vZC13ZWFzZWxzLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkN Ci07Ozs7OyB3b21hbg0KLSAgIGAod29tYW4tYWRkaXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYCh3b21hbi1ib2xkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHdvbWFuLWl0YWxpYyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbiA6c2xhbnQgaXRhbGljKSkpDQotICAgYCh3b21hbi11bmtub3du ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50IGl0YWxpYykpKQ0KLTs7Ozs7IHhh aC1lbGlzcC1tb2RlDQotICAgYCh4YWgtZWxpc3AtYXQtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0 IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAoeGFoLWVsaXNwLWNhcC12 YXJpYWJsZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0LW90aGVy IHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh4YWgtZWxpc3AtY29tbWFuZC1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0 LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoeGFoLWVsaXNwLWRvbGxhci1zeW1ib2wgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuIGdyZWVuLWZhaW50KSkpKQ0KLTs7Ozs7 IHhyZWYNCi0gICBgKHhyZWYtZmlsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh4cmVmLWxpbmUtbnVtYmVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHhyZWYtbWF0Y2ggKCgsY2xhc3MgOmlu aGVyaXQgbWF0Y2gpKSkNCi07Ozs7OyB5YW1sLW1vZGUNCi0gICBgKHlhbWwtdGFiLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyB5YXNuaXBw ZXQNCi0gICBgKHlhcy1maWVsZC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgenRyZWUNCi0gICBgKHp0cmVl cC1hcnJvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAo enRyZWVwLWRpZmYtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEu MiA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh6dHJlZXAtZGlmZi1oZWFk ZXItc21hbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLW1pbGQpKSkNCi0gICBgKHp0cmVlcC1kaWZmLW1vZGVsLWFkZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoenRyZWVwLWRpZmYtbW9kZWwtZGlmZi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHp0cmVlcC1kaWZmLW1vZGVsLWlnbm9y ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzdHJpa2UtdGhyb3VnaCB0KSkp DQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1ub3JtYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYCh6dHJlZXAtZXhwYW5kLXNpZ24tZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoenRyZWVwLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAoenRyZWVwLWxlYWYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo enRyZWVwLW5vZGUtY291bnQtY2hpbGRyZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYCh6dHJlZXAtbm9kZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpKQ0KLTs7OzsgRW1hY3MgMjcrDQotICAod2hlbiAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyNykNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0gICAgICdtb2R1 cy1vcGVyYW5kaQ0KLTs7Ozs7IGxpbmUgbnVtYmVycyAoYGRpc3BsYXktbGluZS1udW1iZXJzLW1v ZGUnIGFuZCBnbG9iYWwgdmFyaWFudCkNCi0gICAgIDs7IE5PVEUgdGhhdCB0aGlzIGlzIHNwZWNp ZmljYWxseSBmb3IgdGhlIGZhY2VzIHRoYXQgd2VyZQ0KLSAgICAgOzsgaW50cm9kdWNlZCBpbiBF bWFjcyAyNywgYXMgdGhlIG90aGVyIGZhY2VzIGFyZSBhbHJlYWR5DQotICAgICA7OyBzdXBwb3J0 ZWQuDQotICAgICBgKGxpbmUtbnVtYmVyLW1ham9yLXRpY2sgKCgsY2xhc3MgOmluaGVyaXQgKGJv bGQgZGVmYXVsdCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFj a2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICAgIGAobGluZS1u dW1iZXItbWlub3ItdGljayAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2 ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IHRhYi1iYXItbW9kZQ0KLSAgICAgYCh0YWItYmFyICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg ICBgKHRhYi1iYXItdGFiICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGgg MiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpi YWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBg KHRhYi1iYXItdGFiLWluYWN0aXZlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9y ICxiZy10YWItaW5hY3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7 Ozs7IHRhYi1saW5lLW1vZGUNCi0gICAgIGAodGFiLWxpbmUgKCgsY2xhc3MgOmhlaWdodCAwLjk1 IDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBg KHRhYi1saW5lLWNsb3NlLWhpZ2hsaWdodCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgICBgKHRhYi1saW5lLWhpZ2hsaWdodCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0 bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgICAgYCh0YWItbGluZS10YWIgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWFjdGl2 ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1saW5lLXRhYi1jdXJyZW50 ICgoLGNsYXNzIDppbmhlcml0IHRhYi1saW5lLXRhYikpKQ0KLSAgICAgYCh0YWItbGluZS10YWIt aW5hY3RpdmUgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1pbmFj dGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5k ICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKSkpDQotOzs7OyBFbWFjcyAy OCsNCi0gICh3aGVuICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI4KQ0KLSAgICAoY3VzdG9tLXRo ZW1lLXNldC1mYWNlcw0KLSAgICAgJ21vZHVzLW9wZXJhbmRpDQotOzs7OzsgaXNlYXJjaCByZWdl eHAgZ3JvdXBzDQotICAgICBgKGlzZWFyY2gtZ3JvdXAtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICAgIGAoaXNlYXJjaC1ncm91cC0yICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKSkpDQotOzs7IHZhcmlhYmxl cw0KLSAgKGN1c3RvbS10aGVtZS1zZXQtdmFyaWFibGVzDQotICAgJ21vZHVzLW9wZXJhbmRpDQot Ozs7OyBhbnNpLWNvbG9ycw0KLSAgIGAoYW5zaS1jb2xvci1mYWNlcy12ZWN0b3IgW2RlZmF1bHQg Ym9sZCBzaGFkb3cgaXRhbGljIHVuZGVybGluZSBzdWNjZXNzIHdhcm5pbmcgZXJyb3JdKQ0KLSAg IGAoYW5zaS1jb2xvci1uYW1lcy12ZWN0b3IgWyxmZy1tYWluICxyZWQgLGdyZWVuICx5ZWxsb3cg LGJsdWUgLG1hZ2VudGEgLGN5YW4gLGJnLW1haW5dKQ0KLTs7OzsgYXdlc29tZS10cmF5DQotICAg YChhd2Vzb21lLXRyYXktbW9kZS1saW5lLWFjdGl2ZS1jb2xvciAsYmx1ZSkNCi0gICBgKGF3ZXNv bWUtdHJheS1tb2RlLWxpbmUtaW5hY3RpdmUtY29sb3IgLGJnLWFjdGl2ZSkNCi07Ozs7IGZseW1h a2UgZnJpbmdlIGluZGljYXRvcnMNCi0gICBgKGZseW1ha2UtZXJyb3ItYml0bWFwICcoZmx5bWFr ZS1kb3VibGUtZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkNCi0gICBg KGZseW1ha2Utd2FybmluZy1iaXRtYXAgJyhleGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZy aW5nZS15ZWxsb3cpKQ0KLSAgIGAoZmx5bWFrZS1ub3RlLWJpdG1hcCAnKGV4Y2xhbWF0aW9uLW1h cmsgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKQ0KLTs7OzsgaWJ1ZmZlcg0KLSAgIGAoaWJ1ZmZl ci1kZWxldGlvbi1mYWNlICdtb2R1cy10aGVtZS1tYXJrLWRlbCkNCi0gICBgKGlidWZmZXItZmls dGVyLWdyb3VwLW5hbWUtZmFjZSAnbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpDQotICAgYChpYnVm ZmVyLW1hcmtlZC1mYWNlICdtb2R1cy10aGVtZS1tYXJrLXNlbCkNCi0gICBgKGlidWZmZXItdGl0 bGUtZmFjZSAnbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlcikNCi07Ozs7IGhpZ2hsaWdodC10YWls DQotICAgYChoaWdobGlnaHQtdGFpbC1jb2xvcnMNCi0gICAgICcoKCxncmVlbi1zdWJ0bGUtYmcg LiAwKQ0KLSAgICAgICAoLGN5YW4tc3VidGxlLWJnIC4gMjApKSkNCi07Ozs7IGhsLXRvZG8NCi0g ICBgKGhsLXRvZG8ta2V5d29yZC1mYWNlcw0KLSAgICAgJygoIkhPTEQiIC4gLHllbGxvdy1hbHQp DQotICAgICAgICgiVE9ETyIgLiAsbWFnZW50YSkNCi0gICAgICAgKCJORVhUIiAuICxtYWdlbnRh LWFsdC1vdGhlcikNCi0gICAgICAgKCJUSEVNIiAuICxtYWdlbnRhLWFsdCkNCi0gICAgICAgKCJQ Uk9HIiAuICxjeWFuKQ0KLSAgICAgICAoIk9LQVkiIC4gLGN5YW4tYWx0KQ0KLSAgICAgICAoIkRP TlQiIC4gLGdyZWVuLWFsdCkNCi0gICAgICAgKCJGQUlMIiAuICxyZWQpDQotICAgICAgICgiQlVH IiAuICxyZWQpDQotICAgICAgICgiRE9ORSIgLiAsZ3JlZW4pDQotICAgICAgICgiTk9URSIgLiAs eWVsbG93LWFsdC1vdGhlcikNCi0gICAgICAgKCJLTFVER0UiIC4gLHllbGxvdykNCi0gICAgICAg KCJIQUNLIiAuICx5ZWxsb3cpDQotICAgICAgICgiVEVNUCIgLiAscmVkLW51YW5jZWQpDQotICAg ICAgICgiRklYTUUiIC4gLHJlZC1hbHQtb3RoZXIpDQotICAgICAgICgiWFhYKyIgLiAscmVkLWFs dCkNCi0gICAgICAgKCJSRVZJRVciIC4gLGN5YW4tYWx0LW90aGVyKQ0KLSAgICAgICAoIkRFUFJF Q0FURUQiIC4gLGJsdWUtbnVhbmNlZCkpKQ0KLTs7OzsgdmMtYW5ub3RhdGUgKEMteCB2IGcpDQot ICAgYCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kIG5pbCkNCi0gICBgKHZjLWFubm90YXRlLWJhY2tn cm91bmQtbW9kZSBuaWwpDQotICAgYCh2Yy1hbm5vdGF0ZS1jb2xvci1tYXANCi0gICAgICcoKDIw IC4gLHJlZCkNCi0gICAgICAgKDQwIC4gLG1hZ2VudGEpDQotICAgICAgICg2MCAuICxtYWdlbnRh LWFsdCkNCi0gICAgICAgKDgwIC4gLHJlZC1hbHQpDQotICAgICAgICgxMDAgLiAseWVsbG93KQ0K LSAgICAgICAoMTIwIC4gLHllbGxvdy1hbHQpDQotICAgICAgICgxNDAgLiAsZmctc3BlY2lhbC13 YXJtKQ0KLSAgICAgICAoMTYwIC4gLGZnLXNwZWNpYWwtbWlsZCkNCi0gICAgICAgKDE4MCAuICxn cmVlbikNCi0gICAgICAgKDIwMCAuICxncmVlbi1hbHQpDQotICAgICAgICgyMjAgLiAsY3lhbi1h bHQtb3RoZXIpDQotICAgICAgICgyNDAgLiAsY3lhbi1hbHQpDQotICAgICAgICgyNjAgLiAsY3lh bikNCi0gICAgICAgKDI4MCAuICxmZy1zcGVjaWFsLWNvbGQpDQotICAgICAgICgzMDAgLiAsYmx1 ZSkNCi0gICAgICAgKDMyMCAuICxibHVlLWFsdCkNCi0gICAgICAgKDM0MCAuICxibHVlLWFsdC1v dGhlcikNCi0gICAgICAgKDM2MCAuICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAodmMtYW5u b3RhdGUtdmVyeS1vbGQtY29sb3IgbmlsKQ0KLTs7OzsgeHRlcm0tY29sb3INCi0gICBgKHh0ZXJt LWNvbG9yLW5hbWVzIFssZmctbWFpbiAscmVkICxncmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRh ICxjeWFuICxiZy1hbHRdKQ0KLSAgIGAoeHRlcm0tY29sb3ItbmFtZXMtYnJpZ2h0IFssZmctYWx0 ICxyZWQtYWx0ICxncmVlbi1hbHQgLHllbGxvdy1hbHQgLGJsdWUtYWx0ICxtYWdlbnRhLWFsdCAs Y3lhbi1hbHQgLGJnLW1haW5dKSkNCi07OzsgQ29uZGl0aW9uYWwgdGhlbWUgdmFyaWFibGVzDQot Ozs7OyBvcmctc3JjLWJsb2NrLWZhY2VzDQotICA7OyB0aGlzIGlzIGEgdXNlciBvcHRpb24gdG8g YWRkIGEgY29sb3VyLWNvZGVkIGJhY2tncm91bmQgdG8gc291cmNlDQotICA7OyBibG9ja3MgZm9y IHZhcmlvdXMgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzDQotICAod2hlbiAoZXEgbW9kdXMtb3BlcmFu ZGktdGhlbWUtb3JnLWJsb2NrcyAncmFpbmJvdykNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtdmFy aWFibGVzDQotICAgICAnbW9kdXMtb3BlcmFuZGkNCi0gICAgIGAob3JnLXNyYy1ibG9jay1mYWNl cyAgICAgICAgICAgICAgOyBUT0RPIHRoaXMgbGlzdCBzaG91bGQgYmUgZXhwYW5kZWQNCi0gICAg ICAgYCgoImVtYWNzLWxpc3AiIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAg ICAoImVsaXNwIiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEpDQotICAgICAgICAgKCJjbG9q dXJlIiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEpDQotICAgICAgICAgKCJjbG9qdXJlc2Ny aXB0IiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEpDQotICAgICAgICAgKCJjIiBtb2R1cy10 aGVtZS1udWFuY2VkLWJsdWUpDQotICAgICAgICAgKCJjKysiIG1vZHVzLXRoZW1lLW51YW5jZWQt Ymx1ZSkNCi0gICAgICAgICAoInNoIiBtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KLSAgICAg ICAgICgic2hlbGwiIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQotICAgICAgICAgKCJodG1s IiBtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdykNCi0gICAgICAgICAoInhtbCIgbW9kdXMtdGhl bWUtbnVhbmNlZC15ZWxsb3cpDQotICAgICAgICAgKCJjc3MiIG1vZHVzLXRoZW1lLW51YW5jZWQt cmVkKQ0KLSAgICAgICAgICgic2NzcyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQpDQotICAgICAg ICAgKCJweXRob24iIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQotICAgICAgICAgKCJpcHl0 aG9uIiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEpDQotICAgICAgICAgKCJyIiBtb2R1cy10 aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAgKCJ5YW1sIiBtb2R1cy10aGVtZS1udWFuY2Vk LWN5YW4pDQotICAgICAgICAgKCJjb25mIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAg ICAgICAgKCJkb2NrZXIiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAgICAgICAoImpz b24iIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikpKSkpKQ0KKyhkZWZ0aGVtZSBtb2R1cy1vcGVy YW5kaQ0KKyAgIkFjY2Vzc2libGUgYW5kIGN1c3RvbWl6YWJsZSBsaWdodCB0aGVtZSAoV0NBRyBB QUEgc3RhbmRhcmQpLg0KK0NvbmZvcm1zIHdpdGggdGhlIGhpZ2hlc3QgbGVnaWJpbGl0eSBzdGFu ZGFyZCBmb3IgY29sb3IgY29udHJhc3QNCitiZXR3ZWVuIGJhY2tncm91bmQgYW5kIGZvcmVncm91 bmQgaW4gYW55IGdpdmVuIHBpZWNlIG9mIHRleHQsDQord2hpY2ggY29ycmVzcG9uZHMgdG8gYSBt aW5pbXVtIGNvbnRyYXN0IGluIHJlbGF0aXZlIGx1bWluYW5jZSBvZg0KKzc6MS4iKQ0KIA0KLTs7 OyBsaWJyYXJ5IHByb3ZpZGVzDQotOzs7IyMjYXV0b2xvYWQNCi0od2hlbiBsb2FkLWZpbGUtbmFt ZQ0KLSAgKGFkZC10by1saXN0ICdjdXN0b20tdGhlbWUtbG9hZC1wYXRoDQotICAgICAgICAgICAg ICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKGZpbGUtbmFtZS1kaXJlY3RvcnkgbG9hZC1maWxl LW5hbWUpKSkpDQorKG1vZHVzLXRoZW1lcy10aGVtZSBtb2R1cy1vcGVyYW5kaSkNCiANCiAocHJv dmlkZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpDQogDQotKHByb3ZpZGUgJ21vZHVzLW9wZXJhbmRp LXRoZW1lKQ0KLQ0KIDs7OyBtb2R1cy1vcGVyYW5kaS10aGVtZS5lbCBlbmRzIGhlcmUNCmRpZmYg LS1naXQgYS9ldGMvdGhlbWVzL21vZHVzLXRoZW1lcy5lbCBiL2V0Yy90aGVtZXMvbW9kdXMtdGhl bWVzLmVsDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uZGRiNDJkYTM2 Yg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZXRjL3RoZW1lcy9tb2R1cy10aGVtZXMuZWwNCkBAIC0w LDAgKzEsNjQ0MSBAQA0KKzs7OyBtb2R1cy10aGVtZXMuZWwgLS0tIEhpZ2hseSBhY2Nlc3NpYmxl IHRoZW1lcyAoV0NBRyBBQUEpIC0qLSBsZXhpY2FsLWJpbmRpbmc6dCAtKi0NCisNCis7OyBDb3B5 cmlnaHQgKEMpIDIwMTktMjAyMSAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorDQor OzsgQXV0aG9yOiBQcm90ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCis7 OyBVUkw6IGh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMNCis7OyBW ZXJzaW9uOiAxLjIuMA0KKzs7IFBhY2thZ2UtUmVxdWlyZXM6ICgoZW1hY3MgIjI2LjEiKSkNCis7 OyBLZXl3b3JkczogZmFjZXMsIHRoZW1lLCBhY2Nlc3NpYmlsaXR5DQorDQorOzsgVGhpcyBmaWxl IGlzIHBhcnQgb2YgR05VIEVtYWNzLg0KKw0KKzs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQorOzsgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkNCis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9m IHRoZSBMaWNlbnNlLCBvciAoYXQNCis7OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u DQorOzsNCis7OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwgYnV0DQorOzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VDQorOzsgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKzs7DQorOzsgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCis7OyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uDQorDQorOzs7IENvbW1lbnRhcnk6DQorOzsNCis7OyBUaGUgTW9kdXMgdGhl bWVzIGNvbmZvcm0gd2l0aCB0aGUgaGlnaGVzdCBzdGFuZGFyZCBmb3IgY29sb3ItY29udHJhc3QN Cis7OyBhY2Nlc3NpYmlsaXR5IGJldHdlZW4gYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2YWx1 ZXMgKFdDQUcgQUFBKS4NCis7OyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGN1c3RvbWl6YXRpb24g b3B0aW9ucywgaGVscGVyIGZ1bmN0aW9ucywNCis7OyBpbnRlcmFjdGl2ZSBjb21tYW5kcywgYW5k IGZhY2Ugc3BlY2lmaWNhdGlvbnMuICBQbGVhc2UgcmVmZXIgdG8gdGhlDQorOzsgb2ZmaWNpYWwg SW5mbyBtYW51YWwgZm9yIGZ1cnRoZXIgZG9jdW1lbnRhdGlvbiAoZGlzdHJpYnV0ZWQgd2l0aCB0 aGUNCis7OyB0aGVtZXMsIG9yIGF2YWlsYWJsZSBhdDogPGh0dHBzOi8vcHJvdGVzaWxhb3MuY29t L21vZHVzLXRoZW1lcz4pLg0KKzs7DQorOzsgVGhlIHRoZW1lcyBzaGFyZSB0aGUgZm9sbG93aW5n IGN1c3RvbWl6YXRpb24gb3B0aW9ucywgYWxsIG9mIHdoaWNoDQorOzsgYXJlIGRpc2FibGVkIGJ5 IGRlZmF1bHQgKG5pbCk6DQorOzsNCis7OyAgICAgbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3Ry dWN0cyAgICAgICAgICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhlbWVzLWJvbGQtY29u c3RydWN0cyAgICAgICAgICAgICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhlbWVzLXZh cmlhYmxlLXBpdGNoLWhlYWRpbmdzICAgICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhl bWVzLXZhcmlhYmxlLXBpdGNoLXVpICAgICAgICAgICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9k dXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzICAgICAgICAgICAgICAgICAoYm9vbGVhbikNCis7OyAg ICAgbW9kdXMtdGhlbWVzLWhlYWRpbmdzICAgICAgICAgICAgICAgICAgICAgICAoYWxpc3QpDQor OzsgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5ncyAgICAgICAgICAgICAgICAgKGJvb2xl YW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy1mcmluZ2VzICAgICAgICAgICAgICAgICAgICAgICAg KGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLWxhbmctY2hlY2tlcnMgICAgICAgICAgICAg ICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAgICAgICAgICAg ICAgICAgICAgIChjaG9pY2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1vcmctaGFiaXQgICAgICAg ICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLXByb21wdHMgICAg ICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtbW9kZS1s aW5lICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1k aWZmcyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhl bWVzLXN5bnRheCAgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1 cy10aGVtZXMtaW50ZW5zZS1obC1saW5lICAgICAgICAgICAgICAgIChib29sZWFuKQ0KKzs7ICAg ICBtb2R1cy10aGVtZXMtc3VidGxlLWxpbmUtbnVtYmVycyAgICAgICAgICAgIChib29sZWFuKQ0K Kzs7ICAgICBtb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2ggICAgICAgICAgICAgICAgICAgIChjaG9p Y2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1yZWdpb24gICAgICAgICAgICAgICAgICAgICAgICAg KGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLWxpbmtzICAgICAgICAgICAgICAgICAgICAg ICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMgICAgICAgICAg ICAgICAgICAgIChjaG9pY2UpDQorOzsNCis7OyBUaGUgZGVmYXVsdCBzY2FsZSBmb3IgaGVhZGlu Z3MgaXMgYXMgZm9sbG93cyAoaXQgY2FuIGJlIGN1c3RvbWl6ZWQgYXMNCis7OyB3ZWxsLS0tcmVt ZW1iZXIsIG5vIHNjYWxpbmcgdGFrZXMgcGxhY2UgYnkgZGVmYXVsdCk6DQorOzsNCis7OyAgICAg bW9kdXMtdGhlbWVzLXNjYWxlLTEgMS4wNQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtc2NhbGUtMiAx LjENCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTMgMS4xNQ0KKzs7ICAgICBtb2R1cy10aGVt ZXMtc2NhbGUtNCAxLjINCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTUgMS4zDQorOzsNCis7 OyBUaGVyZSBhbHNvIGV4aXN0IHR3byB1bmlxdWUgY3VzdG9taXphdGlvbiBvcHRpb25zIGZvciBv dmVycmlkaW5nDQorOzsgY29sb3IgcGFsZXR0ZSB2YWx1ZXMuICBUaGUgc3BlY2lmaWNzIGFyZSBk b2N1bWVudGVkIGluIHRoZSBtYW51YWwuDQorOzsgVGhlIHN5bWJvbHMgYXJlOg0KKzs7DQorOzsg ICAgIG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVycmlkZXMgICAgICAgKGFsaXN0KQ0K Kzs7ICAgICBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvci1vdmVycmlkZXMgICAgICAgIChhbGlz dCkNCis7Ow0KKzs7IEJlbG93IGlzIHRoZSBsaXN0IG9mIGV4cGxpY2l0bHkgc3VwcG9ydGVkIHBh Y2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQorOzsgKHRoZXJlIGFyZSBpbXBsaWNpdGx5IHN1cHBvcnRl ZCBwYWNrYWdlcyBhcyB3ZWxsLCB3aGljaCBpbmhlcml0IGZyb20NCis7OyBmb250LWxvY2sgb3Ig c29tZSBiYXNpYyBncm91cCkuICBZb3UgYXJlIGVuY291cmFnZWQgdG8gcmVwb3J0IGFueQ0KKzs7 IG1pc3NpbmcgcGFja2FnZSBvciBjaGFuZ2UgeW91IHdvdWxkIGxpa2UgdG8gc2VlLg0KKzs7DQor OzsgICAgIGFjZS13aW5kb3cNCis7OyAgICAgYWcNCis7OyAgICAgYWxlcnQNCis7OyAgICAgYWxs LXRoZS1pY29ucw0KKzs7ICAgICBhbm5vdGF0ZQ0KKzs7ICAgICBhbnp1DQorOzsgICAgIGFwcm9w b3MNCis7OyAgICAgYXB0LXNvdXJjZXMtbGlzdA0KKzs7ICAgICBhcnRib2xsb2Nrcy1tb2RlDQor OzsgICAgIGF1Y3RleCBhbmQgVGVYDQorOzsgICAgIGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMNCis7 OyAgICAgYXZ5DQorOzsgICAgIGF3ZXNvbWUtdHJheQ0KKzs7ICAgICBiYmRiDQorOzsgICAgIGJp bmRlcg0KKzs7ICAgICBibQ0KKzs7ICAgICBib25nbw0KKzs7ICAgICBib29uDQorOzsgICAgIGJy ZWFrcG9pbnQgKHByb3ZpZGVkIGJ5IGJ1aWx0LWluIGdkYi1taS5lbCkNCis7OyAgICAgYnVmZmVy LWV4cG9zZQ0KKzs7ICAgICBjYWxlbmRhciBhbmQgZGlhcnkNCis7OyAgICAgY2FsZncNCis7OyAg ICAgY2VudGF1ci10YWJzDQorOzsgICAgIGNmcnMNCis7OyAgICAgY2hhbmdlLWxvZyBhbmQgbG9n LXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0KKzs7ICAgICBj aWRlcg0KKzs7ICAgICBjaXJjZQ0KKzs7ICAgICBjb2xvci1yZw0KKzs7ICAgICBjb2x1bW4tZW5m b3JjZS1tb2RlDQorOzsgICAgIGNvbXBhbnktbW9kZQ0KKzs7ICAgICBjb21wYW55LXBvc2ZyYW1l DQorOzsgICAgIGNvbXBpbGF0aW9uLW1vZGUNCis7OyAgICAgY29tcGxldGlvbnMNCis7OyAgICAg Y29uc3VsdA0KKzs7ICAgICBjb3Vuc2VsDQorOzsgICAgIGNvdW5zZWwtY3NzDQorOzsgICAgIGNv dW5zZWwtbm90bXVjaA0KKzs7ICAgICBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0cmluZw0KKzs7ICAg ICBjb3YNCis7OyAgICAgY3BlcmwtbW9kZQ0KKzs7ICAgICBjc3YtbW9kZQ0KKzs7ICAgICBjdHJs Zg0KKzs7ICAgICBjdXN0b20gKE0teCBjdXN0b21pemUpDQorOzsgICAgIGRhcC1tb2RlDQorOzsg ICAgIGRhc2hib2FyZCAoZW1hY3MtZGFzaGJvYXJkKQ0KKzs7ICAgICBkZWFkZ3JlcA0KKzs7ICAg ICBkZWJidWdzDQorOzsgICAgIGRlZmluZS13b3JkDQorOzsgICAgIGRlZnQNCis7OyAgICAgZGlj dGlvbmFyeQ0KKzs7ICAgICBkaWZmLWhsDQorOzsgICAgIGRpZmYtbW9kZQ0KKzs7ICAgICBkaW0t YXV0b2xvYWQNCis7OyAgICAgZGlyLXRyZWV2aWV3DQorOzsgICAgIGRpcmVkDQorOzsgICAgIGRp cmVkLWFzeW5jDQorOzsgICAgIGRpcmVkLWdpdA0KKzs7ICAgICBkaXJlZC1naXQtaW5mbw0KKzs7 ICAgICBkaXJlZC1uYXJyb3cNCis7OyAgICAgZGlyZWQtc3VidHJlZQ0KKzs7ICAgICBkaXJlZGMN Cis7OyAgICAgZGlyZWRmbA0KKzs7ICAgICBkaXJlZHAgKGRpcmVkKykNCis7OyAgICAgZGlzay11 c2FnZQ0KKzs7ICAgICBkaXNwbGF5LWZpbGwtY29sdW1uLWluZGljYXRvci1tb2RlDQorOzsgICAg IGRvb20tbW9kZWxpbmUNCis7OyAgICAgZHluYW1pYy1ydWxlcg0KKzs7ICAgICBlYXN5LWpla3ls bA0KKzs7ICAgICBlYXN5LWtpbGwNCis7OyAgICAgZWJkYg0KKzs7ICAgICBlZGlmZg0KKzs7ICAg ICBlZ2xvdA0KKzs7ICAgICBlbC1zZWFyY2gNCis7OyAgICAgZWxkb2MNCis7OyAgICAgZWxkb2Mt Ym94DQorOzsgICAgIGVsZmVlZA0KKzs7ICAgICBlbGZlZWQtc2NvcmUNCis7OyAgICAgZW1tcw0K Kzs7ICAgICBlbmhhbmNlZC1ydWJ5LW1vZGUNCis7OyAgICAgZXBhDQorOzsgICAgIGVxdWFrZQ0K Kzs7ICAgICBlcmMNCis7OyAgICAgZXJvcw0KKzs7ICAgICBlcnQNCis7OyAgICAgZXNoZWxsDQor OzsgICAgIGVzaGVsbC1mcmluZ2Utc3RhdHVzDQorOzsgICAgIGVzaGVsbC1naXQtcHJvbXB0DQor OzsgICAgIGVzaGVsbC1wcm9tcHQtZXh0cmFzIChlcGUpDQorOzsgICAgIGVzaGVsbC1zeW50YXgt aGlnaGxpZ2h0aW5nDQorOzsgICAgIGV2aWwgKGV2aWwtbW9kZSkNCis7OyAgICAgZXZpbC1nb2dn bGVzDQorOzsgICAgIGV2aWwtc25pcGUNCis7OyAgICAgZXZpbC12aXN1YWwtbWFyay1tb2RlDQor OzsgICAgIGV3dw0KKzs7ICAgICBleHdtDQorOzsgICAgIGV5ZWJyb3dzZQ0KKzs7ICAgICBmYW5j eS1kYWJicmV2DQorOzsgICAgIGZseWNoZWNrDQorOzsgICAgIGZseWNoZWNrLWNvbG9yLW1vZGUt bGluZQ0KKzs7ICAgICBmbHljaGVjay1pbmRpY2F0b3INCis7OyAgICAgZmx5Y2hlY2stcG9zZnJh bWUNCis7OyAgICAgZmx5bWFrZQ0KKzs7ICAgICBmbHlzcGVsbA0KKzs7ICAgICBmbHlzcGVsbC1j b3JyZWN0DQorOzsgICAgIGZseA0KKzs7ICAgICBmcmVlemUtaXQNCis7OyAgICAgZnJvZy1tZW51 DQorOzsgICAgIGZvY3VzDQorOzsgICAgIGZvbGQtdGhpcw0KKzs7ICAgICBmb250LWxvY2sgKGdl bmVyaWMgc3ludGF4IGhpZ2hsaWdodGluZykNCis7OyAgICAgZm9yZ2UNCis7OyAgICAgZm91bnRh aW4gKGZvdW50YWluLW1vZGUpDQorOzsgICAgIGdlaXNlcg0KKzs7ICAgICBnaXQtY29tbWl0DQor OzsgICAgIGdpdC1ndXR0ZXIgKGFuZCB2YXJpYW50cykNCis7OyAgICAgZ2l0LWxlbnMNCis7OyAg ICAgZ2l0LXJlYmFzZQ0KKzs7ICAgICBnaXQtdGltZW1hY2hpbmUNCis7OyAgICAgZ2l0LXdhbGt0 cmVlDQorOzsgICAgIGdudXMNCis7OyAgICAgZ29sZGVuLXJhdGlvLXNjcm9sbC1zY3JlZW4NCis7 OyAgICAgaGVsbQ0KKzs7ICAgICBoZWxtLWxzLWdpdA0KKzs7ICAgICBoZWxtLXN3aXRjaC1zaGVs bA0KKzs7ICAgICBoZWxtLXhyZWYNCis7OyAgICAgaGVscGZ1bA0KKzs7ICAgICBoaWdobGlnaHQt YmxvY2tzDQorOzsgICAgIGhpZ2hsaWdodC1kZWZpbmVkDQorOzsgICAgIGhpZ2hsaWdodC1lc2Nh cGUtc2VxdWVuY2VzIChgaGVzLW1vZGUnKQ0KKzs7ICAgICBoaWdobGlnaHQtaW5kZW50YXRpb24N Cis7OyAgICAgaGlnaGxpZ2h0LW51bWJlcnMNCis7OyAgICAgaGlnaGxpZ2h0LXN5bWJvbA0KKzs7 ICAgICBoaWdobGlnaHQtdGFpbA0KKzs7ICAgICBoaWdobGlnaHQtdGhpbmcNCis7OyAgICAgaGwt ZGVmaW5lZA0KKzs7ICAgICBobC1maWxsLWNvbHVtbg0KKzs7ICAgICBobC1saW5lLW1vZGUNCis7 OyAgICAgaGwtdG9kbw0KKzs7ICAgICBoeWRyYQ0KKzs7ICAgICBoeXBlcmxpc3QNCis7OyAgICAg aWJ1ZmZlcg0KKzs7ICAgICBpY29tcGxldGUNCis7OyAgICAgaWRvLW1vZGUNCis7OyAgICAgaWVk aXQNCis7OyAgICAgaWZsaXBiDQorOzsgICAgIGltZW51LWxpc3QNCis7OyAgICAgaW5kaXVtDQor OzsgICAgIGluZm8NCis7OyAgICAgaW5mby1jb2xvcnMNCis7OyAgICAgaW50ZXJhY3Rpb24tbG9n DQorOzsgICAgIGlvY2N1cg0KKzs7ICAgICBpc2VhcmNoLCBvY2N1ciwgZXRjLg0KKzs7ICAgICBp c2wgKGlzZWFyY2gtbGlnaHQpDQorOzsgICAgIGl2eQ0KKzs7ICAgICBpdnktcG9zZnJhbWUNCis7 OyAgICAgamlyYSAob3JnLWppcmEpDQorOzsgICAgIGpvdXJuYWxjdGwtbW9kZQ0KKzs7ICAgICBq czItbW9kZQ0KKzs7ICAgICBqdWxpYQ0KKzs7ICAgICBqdXB5dGVyDQorOzsgICAgIGthb2NoYS1y dW5uZXINCis7OyAgICAga2V5Y2FzdA0KKzs7ICAgICBsaW5lIG51bWJlcnMgKGBkaXNwbGF5LWxp bmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZhcmlhbnQpDQorOzsgICAgIGxzcC1tb2RlDQor OzsgICAgIGxzcC11aQ0KKzs7ICAgICBtYWNyb3N0ZXANCis7OyAgICAgbWFnaXQNCis7OyAgICAg bWFnaXQtaW1lcmdlDQorOzsgICAgIG1ha2UtbW9kZQ0KKzs7ICAgICBtYW4NCis7OyAgICAgbWFy Z2luYWxpYQ0KKzs7ICAgICBtYXJrZG93bi1tb2RlDQorOzsgICAgIG1hcmt1cC1mYWNlcyAoYGFk b2MtbW9kZScpDQorOzsgICAgIG1lbnRvcg0KKzs7ICAgICBtZXNzYWdlcw0KKzs7ICAgICBtaW5p YnVmZmVyLWxpbmUNCis7OyAgICAgbWluaW1hcA0KKzs7ICAgICBtbW0tbW9kZQ0KKzs7ICAgICBt b2RlbGluZQ0KKzs7ICAgICBtb29kLWxpbmUNCis7OyAgICAgbXBkZWwNCis7OyAgICAgbXU0ZQ0K Kzs7ICAgICBtdTRlLWNvbnZlcnNhdGlvbg0KKzs7ICAgICBtdWx0aXBsZS1jdXJzb3JzDQorOzsg ICAgIG5lb3RyZWUNCis7OyAgICAgbm8tZW1vamkNCis7OyAgICAgbm90bXVjaA0KKzs7ICAgICBu dW0zLW1vZGUNCis7OyAgICAgbnhtbC1tb2RlDQorOzsgICAgIG9iamVkDQorOzsgICAgIG9yZGVy bGVzcw0KKzs7ICAgICBvcmcNCis7OyAgICAgb3JnLWpvdXJuYWwNCis7OyAgICAgb3JnLW5vdGVy DQorOzsgICAgIG9yZy1wb21vZG9ybw0KKzs7ICAgICBvcmctcmVjdXINCis7OyAgICAgb3JnLXJv YW0NCis7OyAgICAgb3JnLXN1cGVyc3Rhcg0KKzs7ICAgICBvcmctdGFibGUtc3RpY2t5LWhlYWRl cg0KKzs7ICAgICBvcmctdHJlZS1zbGlkZQ0KKzs7ICAgICBvcmctdHJlZXNjb3BlDQorOzsgICAg IG9yaWdhbWkNCis7OyAgICAgb3V0bGluZS1tb2RlDQorOzsgICAgIG91dGxpbmUtbWlub3ItZmFj ZXMNCis7OyAgICAgcGFja2FnZSAoTS14IGxpc3QtcGFja2FnZXMpDQorOzsgICAgIHBhZ2UtYnJl YWstbGluZXMNCis7OyAgICAgcGFyYWRveA0KKzs7ICAgICBwYXJlbi1mYWNlDQorOzsgICAgIHBh cnJvdA0KKzs7ICAgICBwYXNzDQorOzsgICAgIHBkZi10b29scw0KKzs7ICAgICBwZXJzcC1tb2Rl DQorOzsgICAgIHBlcnNwZWN0aXZlDQorOzsgICAgIHBoaS1ncmVwDQorOzsgICAgIHBoaS1zZWFy Y2gNCis7OyAgICAgcGtnYnVpbGQtbW9kZQ0KKzs7ICAgICBwb21pZG9yDQorOzsgICAgIHBvcHVw DQorOzsgICAgIHBvd2VybGluZQ0KKzs7ICAgICBwb3dlcmxpbmUtZXZpbA0KKzs7ICAgICBwcmlz bSAoc2VlICJOb3RlIGZvciBwcmlzbS5lbCIgaW4gdGhlIG1hbnVhbCkNCis7OyAgICAgcHJvY2Vk DQorOzsgICAgIHByb2RpZ3kNCis7OyAgICAgcXVpY2stcGVlaw0KKzs7ICAgICByYWNrZXQtbW9k ZQ0KKzs7ICAgICByYWluYm93LWJsb2Nrcw0KKzs7ICAgICByYWluYm93LWlkZW50aWZpZXJzDQor OzsgICAgIHJhaW5ib3ctZGVsaW1pdGVycw0KKzs7ICAgICByY2lyYw0KKzs7ICAgICByZWN1cnNp b24taW5kaWNhdG9yDQorOzsgICAgIHJlZ2V4cC1idWlsZGVyIChhbHNvIGtub3duIGFzIGByZS1i dWlsZGVyJykNCis7OyAgICAgcmcNCis7OyAgICAgcmlwZ3JlcA0KKzs7ICAgICBybWFpbA0KKzs7 ICAgICBydWxlci1tb2RlDQorOzsgICAgIHNhbGxldA0KKzs7ICAgICBzZWxlY3RydW0NCis7OyAg ICAgc2VsZWN0cnVtLXByZXNjaWVudA0KKzs7ICAgICBzZW1hbnRpYw0KKzs7ICAgICBzZXNtYW4N Cis7OyAgICAgc2hlbGwtc2NyaXB0LW1vZGUNCis7OyAgICAgc2hvcnRkb2MNCis7OyAgICAgc2hv dy1wYXJlbi1tb2RlDQorOzsgICAgIHNocg0KKzs7ICAgICBzaWRlLW5vdGVzDQorOzsgICAgIHNp ZXZlLW1vZGUNCis7OyAgICAgc2tld2VyLW1vZGUNCis7OyAgICAgc21hcnQtbW9kZS1saW5lDQor OzsgICAgIHNtYXJ0cGFyZW5zDQorOzsgICAgIHNtZXJnZQ0KKzs7ICAgICBzcGFjZWxpbmUNCis7 OyAgICAgc3BlZWRiYXINCis7OyAgICAgc3BlbGwtZnUNCis7OyAgICAgc3ByYXkNCis7OyAgICAg c3RyaXBlcw0KKzs7ICAgICBzdWdnZXN0DQorOzsgICAgIHN3aXRjaC13aW5kb3cNCis7OyAgICAg c3dpcGVyDQorOzsgICAgIHN3b29wDQorOzsgICAgIHN4DQorOzsgICAgIHN5bWJvbC1vdmVybGF5 DQorOzsgICAgIHRhYi1iYXItbW9kZQ0KKzs7ICAgICB0YWItbGluZS1tb2RlDQorOzsgICAgIHN5 c2xvZy1tb2RlDQorOzsgICAgIHRhYmxlIChidWlsdC1pbiB0YWJsZS5lbCkNCis7OyAgICAgdGVs ZXBob25lLWxpbmUNCis7OyAgICAgdGVycmFmb3JtLW1vZGUNCis7OyAgICAgdGVybQ0KKzs7ICAg ICB0b21hdGluaG8NCis7OyAgICAgdHJhbnNpZW50IChwb3AtdXAgd2luZG93cyBsaWtlIE1hZ2l0 J3MpDQorOzsgICAgIHRyYXNoZWQNCis7OyAgICAgdHJlZW1hY3MNCis7OyAgICAgdHR5LW1lbnUN Cis7OyAgICAgdHVhcmVnDQorOzsgICAgIHR5cGVzY3JpcHQNCis7OyAgICAgdW5kby10cmVlDQor OzsgICAgIHZjIChidWlsdC1pbiBtb2RlIGxpbmUgc3RhdHVzIGZvciB2ZXJzaW9uIGNvbnRyb2wp DQorOzsgICAgIHZjLWFubm90YXRlIChDLXggdiBnKQ0KKzs7ICAgICB2ZGlmZg0KKzs7ICAgICB2 aW1pc2gtZm9sZA0KKzs7ICAgICB2aXNpYmxlLW1hcmsNCis7OyAgICAgdmlzdWFsLXJlZ2V4cA0K Kzs7ICAgICB2b2xhdGlsZS1oaWdobGlnaHRzDQorOzsgICAgIHZ0ZXJtDQorOzsgICAgIHdjaGVj ay1tb2RlDQorOzsgICAgIHdlYi1tb2RlDQorOzsgICAgIHdncmVwDQorOzsgICAgIHdoaWNoLWZ1 bmN0aW9uLW1vZGUNCis7OyAgICAgd2hpY2gta2V5DQorOzsgICAgIHdoaXRlc3BhY2UtbW9kZQ0K Kzs7ICAgICB3aW5kb3ctZGl2aWRlci1tb2RlDQorOzsgICAgIHdpbnVtDQorOzsgICAgIHdyaXRl Z29vZC1tb2RlDQorOzsgICAgIHdvbWFuDQorOzsgICAgIHhhaC1lbGlzcC1tb2RlDQorOzsgICAg IHhyZWYNCis7OyAgICAgeHRlcm0tY29sb3IgKGFuZCBhbnNpLWNvbG9ycykNCis7OyAgICAgeWFt bC1tb2RlDQorOzsgICAgIHlhc25pcHBldA0KKzs7ICAgICB6dHJlZQ0KKzs7DQorOzsgRm9yIGEg Y29tcGxldGUgdmlldyBvZiB0aGUgcHJvamVjdCwgYWxzbyByZWZlciB0byB0aGUgZm9sbG93aW5n IGZpbGVzDQorOzsgKHNob3VsZCBiZSBkaXN0cmlidXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5 L2RpcmVjdG9yeSBhcyB0aGUNCis7OyBjdXJyZW50IGl0ZW0pOg0KKzs7DQorOzsgLSBtb2R1cy1v cGVyYW5kaS10aGVtZS5lbCAgICAoTGlnaHQgdGhlbWUpDQorOzsgLSBtb2R1cy12aXZlbmRpLXRo ZW1lLmVsICAgICAoRGFyayB0aGVtZSkNCisNCis7OzsgQ29kZToNCisNCisMDQorDQorKHJlcXVp cmUgJ2NsLWxpYikNCisNCisoZGVmZ3JvdXAgbW9kdXMtdGhlbWVzICgpDQorICAiT3B0aW9ucyBm b3IgYG1vZHVzLW9wZXJhbmRpJywgYG1vZHVzLXZpdmVuZGknLiINCisgIDpncm91cCAnZmFjZXMN CisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBUb3AiKQ0KKyAgOnByZWZpeCAi bW9kdXMtdGhlbWVzLSINCisgIDp0YWcgIk1vZHVzIFRoZW1lcyIpDQorDQorOzs7IFZhcmlhYmxl cyBmb3IgZWFjaCB0aGVtZSB2YXJpYW50DQorDQorOzs7OyBNb2R1cyBPcGVyYW5kaQ0KKw0KKyhk ZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMNCisgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1k ZWZhdWx0LWNvbG9ycy1hbGlzdA0KKyAgJ21vZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkNCisg ICIxLjAuMCIpDQorDQorKGRlZmluZS1vYnNvbGV0ZS12YXJpYWJsZS1hbGlhcw0KKyAgJ21vZHVz LXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkNCisgICdtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Jz DQorICAiMS4xLjAiKQ0KKw0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Jz DQorICAnKDs7IGJhc2UgdmFsdWVzDQorICAgIChiZy1tYWluIC4gIiNmZmZmZmYiKSAoZmctbWFp biAuICIjMDAwMDAwIikNCisgICAgKGJnLWRpbSAuICIjZjhmOGY4IikgKGZnLWRpbSAuICIjMjgy ODI4IikNCisgICAgKGJnLWFsdCAuICIjZjBmMGYwIikgKGZnLWFsdCAuICIjNTA1MDUwIikNCisg ICAgOzsgc3BlY2lmaWNhbGx5IGZvciBvbi9vZmYgc3RhdGVzIGFuZCBtdXN0IGJlIGNvbWJpbmVk IHdpdGgNCisgICAgOzsgdGhlbXNlbHZlcywgdGhvdWdoIHRoZSBiYWNrZ3JvdW5kcyBhcmUgYWxz byBtZWFudCB0byBiZSB1c2VkIHdpdGgNCisgICAgOzsgb3RoZXIgImFjdGl2ZSIgdmFsdWVzLCBk ZWZpbmVkIGZ1cnRoZXIgYmVsb3cNCisgICAgKGJnLWFjdGl2ZSAuICIjZDdkN2Q3IikgKGZnLWFj dGl2ZSAuICIjMGEwYTBhIikNCisgICAgKGJnLWluYWN0aXZlIC4gIiNlZmVmZWYiKSAoZmctaW5h Y3RpdmUgLiAiIzQwNDE0OCIpDQorICAgIDs7IHRoZXNlIHNwZWNpYWwgdmFsdWVzIGFyZSBpbnRl bmRlZCBhcyBhbHRlcm5hdGl2ZXMgdG8gdGhlIGJhc2UNCisgICAgOzsgdmFsdWVzIGZvciBjYXNl cyB3aGVyZSB3ZSBuZWVkIHRvIGF2b2lkIGNvbmZ1c2lvbiBiZXR3ZWVuIHRoZQ0KKyAgICA7OyBo aWdobGlnaHRlZCBjb25zdHJ1Y3RzOyB0aGV5IG11c3QgZWl0aGVyIGJlIHVzZWQgYXMgcGFpcnMg YmFzZWQNCisgICAgOzsgb24gdGhlaXIgbmFtZSBvciBlYWNoIGNhbiBiZSBjb21iaW5lZCB3aXRo IHtmZyxiZ30te21haW4sYWx0LGRpbX0NCisgICAgOzsgYWx3YXlzIGluIGFjY29yZGFuY2Ugd2l0 aCB0aGVpciByb2xlIGFzIGJhY2tncm91bmQgb3IgZm9yZWdyb3VuZA0KKyAgICAoYmctc3BlY2lh bC1jb2xkIC4gIiNkZGUzZjQiKSAoZmctc3BlY2lhbC1jb2xkIC4gIiMwOTMwNjAiKQ0KKyAgICAo Ymctc3BlY2lhbC1taWxkIC4gIiNjNGVkZTAiKSAoZmctc3BlY2lhbC1taWxkIC4gIiMxODQwMzQi KQ0KKyAgICAoYmctc3BlY2lhbC13YXJtIC4gIiNmMGUwZDQiKSAoZmctc3BlY2lhbC13YXJtIC4g IiM1ZDMwMjYiKQ0KKyAgICAoYmctc3BlY2lhbC1jYWxtIC4gIiNmOGRkZWEiKSAoZmctc3BlY2lh bC1jYWxtIC4gIiM2MTI4NGYiKQ0KKyAgICA7OyBmb3JlZ3JvdW5kcyB0aGF0IGNhbiBiZSBjb21i aW5lZCB3aXRoIGJnLW1haW4sIGJnLWRpbSwgYmctYWx0DQorICAgIChyZWQgLiAiI2E2MDAwMCIp DQorICAgIChyZWQtYWx0IC4gIiM5NzI1MDAiKQ0KKyAgICAocmVkLWFsdC1vdGhlciAuICIjYTAx MzJmIikNCisgICAgKHJlZC1mYWludCAuICIjN2YxMDEwIikNCisgICAgKHJlZC1hbHQtZmFpbnQg LiAiIzcwMmYwMCIpDQorICAgIChyZWQtYWx0LW90aGVyLWZhaW50IC4gIiM3ZjAwMmYiKQ0KKyAg ICAoZ3JlZW4gLiAiIzAwNWUwMCIpDQorICAgIChncmVlbi1hbHQgLiAiIzMxNWIwMCIpDQorICAg IChncmVlbi1hbHQtb3RoZXIgLiAiIzE0NWMzMyIpDQorICAgIChncmVlbi1mYWludCAuICIjMTA0 NDEwIikNCisgICAgKGdyZWVuLWFsdC1mYWludCAuICIjMzA0NDBmIikNCisgICAgKGdyZWVuLWFs dC1vdGhlci1mYWludCAuICIjMGY0NDNmIikNCisgICAgKHllbGxvdyAuICIjODEzZTAwIikNCisg ICAgKHllbGxvdy1hbHQgLiAiIzcwNDgwZiIpDQorICAgICh5ZWxsb3ctYWx0LW90aGVyIC4gIiM4 NjM5MjciKQ0KKyAgICAoeWVsbG93LWZhaW50IC4gIiM1ZjQ0MDAiKQ0KKyAgICAoeWVsbG93LWFs dC1mYWludCAuICIjNWQ1MDAwIikNCisgICAgKHllbGxvdy1hbHQtb3RoZXItZmFpbnQgLiAiIzVl M2EyMCIpDQorICAgIChibHVlIC4gIiMwMDMxYTkiKQ0KKyAgICAoYmx1ZS1hbHQgLiAiIzI1NDRi YiIpDQorICAgIChibHVlLWFsdC1vdGhlciAuICIjMDAwMGMwIikNCisgICAgKGJsdWUtZmFpbnQg LiAiIzAwMzQ5NyIpDQorICAgIChibHVlLWFsdC1mYWludCAuICIjMGYzZDhjIikNCisgICAgKGJs dWUtYWx0LW90aGVyLWZhaW50IC4gIiMwMDEwODciKQ0KKyAgICAobWFnZW50YSAuICIjNzIxMDQ1 IikNCisgICAgKG1hZ2VudGEtYWx0IC4gIiM4ZjAwNzUiKQ0KKyAgICAobWFnZW50YS1hbHQtb3Ro ZXIgLiAiIzUzMTdhYyIpDQorICAgIChtYWdlbnRhLWZhaW50IC4gIiM3NTJmNTAiKQ0KKyAgICAo bWFnZW50YS1hbHQtZmFpbnQgLiAiIzdiMjA2ZiIpDQorICAgIChtYWdlbnRhLWFsdC1vdGhlci1m YWludCAuICIjNTUzNDhlIikNCisgICAgKGN5YW4gLiAiIzAwNTM4YiIpDQorICAgIChjeWFuLWFs dCAuICIjMzA1MTdmIikNCisgICAgKGN5YW4tYWx0LW90aGVyIC4gIiMwMDVhNWYiKQ0KKyAgICAo Y3lhbi1mYWludCAuICIjMDA1MDc3IikNCisgICAgKGN5YW4tYWx0LWZhaW50IC4gIiMzNTRmNmYi KQ0KKyAgICAoY3lhbi1hbHQtb3RoZXItZmFpbnQgLiAiIzEyNTQ1OCIpDQorICAgIDs7IHRoZXNl IGZvcmVncm91bmQgdmFsdWVzIGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiBhbmQg YXJlDQorICAgIDs7IHRodXMgbm90IHN1aXRhYmxlIGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxp Z2h0aW5nDQorICAgIChyZWQtaW50ZW5zZSAuICIjYjYwMDAwIikNCisgICAgKG9yYW5nZS1pbnRl bnNlIC4gIiM5MDQyMDAiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZSAuICIjMDA2ODAwIikNCisgICAg KHllbGxvdy1pbnRlbnNlIC4gIiM2MDViMDAiKQ0KKyAgICAoYmx1ZS1pbnRlbnNlIC4gIiMxZjFm Y2UiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNlIC4gIiNhODAwN2YiKQ0KKyAgICAocHVycGxlLWlu dGVuc2UgLiAiIzdmMTBkMCIpDQorICAgIChjeWFuLWludGVuc2UgLiAiIzAwNWY4OCIpDQorICAg IDs7IHRob3NlIGZvcmVncm91bmRzIGFyZSBtZWFudCBleGNsdXNpdmVseSBmb3IgYmctYWN0aXZl LCBiZy1pbmFjdGl2ZQ0KKyAgICAocmVkLWFjdGl2ZSAuICIjOGEwMDAwIikNCisgICAgKGdyZWVu LWFjdGl2ZSAuICIjMDA0YzJlIikNCisgICAgKHllbGxvdy1hY3RpdmUgLiAiIzcwMmQxZiIpDQor ICAgIChibHVlLWFjdGl2ZSAuICIjMDAzMGI0IikNCisgICAgKG1hZ2VudGEtYWN0aXZlIC4gIiM1 YzIwOTIiKQ0KKyAgICAoY3lhbi1hY3RpdmUgLiAiIzAwM2Y4YSIpDQorICAgIDs7IHRoZSAic3Vi dGxlIiB2YWx1ZXMgYmVsb3cgYmUgY29tYmluZWQgd2l0aCBmZy1kaW0sIHdoaWxlIHRoZQ0KKyAg ICA7OyAiaW50ZW5zZSIgc2hvdWxkIGJlIHBhaXJlZCB3aXRoIGZnLW1haW4NCisgICAgKHJlZC1z dWJ0bGUtYmcgLiAiI2YyYjBhMiIpDQorICAgIChyZWQtaW50ZW5zZS1iZyAuICIjZmY4ODkyIikN CisgICAgKGdyZWVuLXN1YnRsZS1iZyAuICIjYWVjZjkwIikNCisgICAgKGdyZWVuLWludGVuc2Ut YmcgLiAiIzVhZGE4OCIpDQorICAgICh5ZWxsb3ctc3VidGxlLWJnIC4gIiNlNGMzNDAiKQ0KKyAg ICAoeWVsbG93LWludGVuc2UtYmcgLiAiI2Y1ZGYyMyIpDQorICAgIChibHVlLXN1YnRsZS1iZyAu ICIjYjVkMGZmIikNCisgICAgKGJsdWUtaW50ZW5zZS1iZyAuICIjNmFhZWZmIikNCisgICAgKG1h Z2VudGEtc3VidGxlLWJnIC4gIiNmMGQzZmYiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNlLWJnIC4g IiNkNWJhZmYiKQ0KKyAgICAoY3lhbi1zdWJ0bGUtYmcgLiAiI2MwZWZmZiIpDQorICAgIChjeWFu LWludGVuc2UtYmcgLiAiIzQyY2JkNCIpDQorICAgIDs7IHRob3NlIGJhY2tncm91bmQgdmFsdWVz IG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluIGFuZCBzaG91bGQNCisgICAgOzsgb25seSBi ZSB1c2VkIGZvciBpbmRpY2F0b3JzIHRoYXQgYXJlIHBsYWNlZCBvbiB0aGUgZnJpbmdlcw0KKyAg ICAocmVkLWZyaW5nZS1iZyAuICIjZjA4MjkwIikNCisgICAgKGdyZWVuLWZyaW5nZS1iZyAuICIj NjJjODZhIikNCisgICAgKHllbGxvdy1mcmluZ2UtYmcgLiAiI2RiYmEzZiIpDQorICAgIChibHVl LWZyaW5nZS1iZyAuICIjODJhZmZmIikNCisgICAgKG1hZ2VudGEtZnJpbmdlLWJnIC4gIiNlMGEz ZmYiKQ0KKyAgICAoY3lhbi1mcmluZ2UtYmcgLiAiIzJmY2RkZiIpDQorICAgIDs7IHRob3NlIGJh Y2tncm91bmQgdmFsdWVzIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGdyYXBocyBvciBzaW1pbGFy DQorICAgIDs7IGFwcGxpY2F0aW9ucyB3aGVyZSBjb2xvcmVkIGJsb2NrcyBhcmUgZXhwZWN0ZWQg dG8gYmUgcG9zaXRpb25lZA0KKyAgICA7OyBuZXh0IHRvIGVhY2ggb3RoZXINCisgICAgKHJlZC1n cmFwaC0wLWJnIC4gIiNlZjZmNzkiKQ0KKyAgICAocmVkLWdyYXBoLTEtYmcgLiAiI2ZmOWY5ZiIp DQorICAgIChncmVlbi1ncmFwaC0wLWJnIC4gIiM0OWQyMzkiKQ0KKyAgICAoZ3JlZW4tZ3JhcGgt MS1iZyAuICIjNmRlYzZkIikNCisgICAgKHllbGxvdy1ncmFwaC0wLWJnIC4gIiNlZmVjMDgiKQ0K KyAgICAoeWVsbG93LWdyYXBoLTEtYmcgLiAiI2RiZmY0ZSIpDQorICAgIChibHVlLWdyYXBoLTAt YmcgLiAiIzU1YTJmMCIpDQorICAgIChibHVlLWdyYXBoLTEtYmcgLiAiIzdmY2ZmZiIpDQorICAg IChtYWdlbnRhLWdyYXBoLTAtYmcgLiAiI2JhODZlZiIpDQorICAgIChtYWdlbnRhLWdyYXBoLTEt YmcgLiAiI2U3YWZmZiIpDQorICAgIChjeWFuLWdyYXBoLTAtYmcgLiAiIzMwZDNmMCIpDQorICAg IChjeWFuLWdyYXBoLTEtYmcgLiAiIzZmZWZmZiIpDQorICAgIDs7IHRoZSBmb2xsb3dpbmcgYXJl IGZvciBjYXNlcyB3aGVyZSBib3RoIHRoZSBmb3JlZ3JvdW5kIGFuZCB0aGUNCisgICAgOzsgYmFj a2dyb3VuZCBuZWVkIHRvIGhhdmUgYSBzaW1pbGFyIGh1ZSBhbmQgc28gbXVzdCBiZSBjb21iaW5l ZA0KKyAgICA7OyB3aXRoIHRoZW1zZWx2ZXMsIGV2ZW4gdGhvdWdoIHRoZSBmb3JlZ3JvdW5kcyBj YW4gYmUgcGFpcmVkIHdpdGgNCisgICAgOzsgYW55IG9mIHRoZSBiYXNlIGJhY2tncm91bmRzDQor ICAgIChyZWQtcmVmaW5lLWJnIC4gIiNmZmNjY2MiKSAocmVkLXJlZmluZS1mZyAuICIjNzgwMDAw IikNCisgICAgKGdyZWVuLXJlZmluZS1iZyAuICIjYWNlYWFjIikgKGdyZWVuLXJlZmluZS1mZyAu ICIjMDA0YzAwIikNCisgICAgKHllbGxvdy1yZWZpbmUtYmcgLiAiI2ZmZjI5YSIpICh5ZWxsb3ct cmVmaW5lLWZnIC4gIiM2MDQwMDAiKQ0KKyAgICAoYmx1ZS1yZWZpbmUtYmcgLiAiIzhhYzdmZiIp IChibHVlLXJlZmluZS1mZyAuICIjMDAyMjg4IikNCisgICAgKG1hZ2VudGEtcmVmaW5lLWJnIC4g IiNmZmNjZmYiKSAobWFnZW50YS1yZWZpbmUtZmcgLiAiIzc3MDA3NyIpDQorICAgIChjeWFuLXJl ZmluZS1iZyAuICIjOGVlY2Y0IikgKGN5YW4tcmVmaW5lLWZnIC4gIiMwMDQ4NTAiKQ0KKyAgICA7 OyB0aGUgIm51YW5jZWQiIGJhY2tncm91bmRzIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFsbCBvZiB0 aGUgYWJvdmUNCisgICAgOzsgZm9yZWdyb3VuZHMsIGFzIHdlbGwgYXMgdGhvc2UgaW5jbHVkZWQg aGVyZSwgd2hpbGUgdGhlICJudWFuY2VkIg0KKyAgICA7OyBmb3JlZ3JvdW5kcyBjYW4gaW4gdHVy biBhbHNvIGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLA0KKyAgICA7OyBiZy1hbHQN CisgICAgKHJlZC1udWFuY2VkLWJnIC4gIiNmZmYxZjAiKSAocmVkLW51YW5jZWQtZmcgLiAiIzVm MDAwMCIpDQorICAgIChncmVlbi1udWFuY2VkLWJnIC4gIiNlY2Y3ZWQiKSAoZ3JlZW4tbnVhbmNl ZC1mZyAuICIjMDA0MDAwIikNCisgICAgKHllbGxvdy1udWFuY2VkLWJnIC4gIiNmZmYzZGEiKSAo eWVsbG93LW51YW5jZWQtZmcgLiAiIzNmMzAwMCIpDQorICAgIChibHVlLW51YW5jZWQtYmcgLiAi I2YzZjNmZiIpIChibHVlLW51YW5jZWQtZmcgLiAiIzIwMWY1NSIpDQorICAgIChtYWdlbnRhLW51 YW5jZWQtYmcgLiAiI2ZkZjBmZiIpIChtYWdlbnRhLW51YW5jZWQtZmcgLiAiIzU0MWY0ZiIpDQor ICAgIChjeWFuLW51YW5jZWQtYmcgLiAiI2ViZjZmYSIpIChjeWFuLW51YW5jZWQtZmcgLiAiIzBm MzM2MCIpDQorICAgIDs7IHRoZSBmb2xsb3dpbmcgYXJlIHJlc2VydmVkIGZvciBzcGVjaWZpYyBj YXNlcw0KKyAgICA7Ow0KKyAgICA7OyBiZy1obC1saW5lIGlzIGJldHdlZW4gYmctZGltIGFuZCBi Zy1hbHQsIHNvIGl0IHNob3VsZA0KKyAgICA7OyB3b3JrIHdpdGggYWxsIGFjY2VudHMgdGhhdCBj b3ZlciB0aG9zZSB0d28sIHBsdXMgYmctbWFpbg0KKyAgICA7Ow0KKyAgICA7OyBiZy1obC1hbHQg YW5kIGJnLWhsLWFsdC1pbnRlbnNlIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBubw0KKyAgICA7 OyBvdGhlciBncmV5c2NhbGUgb3IgZmFpcmx5IG5ldXRyYWwgYmFja2dyb3VuZCBpcyBhdmFpbGFi bGUgdG8NCisgICAgOzsgcHJvcGVybHkgZHJhdyBhdHRlbnRpb24gdG8gYSBnaXZlbiBjb25zdHJ1 Y3QNCisgICAgOzsNCisgICAgOzsgYmctaGVhZGVyIGlzIGJldHdlZW4gYmctYWN0aXZlIGFuZCBi Zy1pbmFjdGl2ZSwgc28gaXQNCisgICAgOzsgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRo ZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMgdGhlDQorICAgIDs7ICJzcGVjaWFsIiBhbmQgYmFzZSBm b3JlZ3JvdW5kIGNvbG9ycw0KKyAgICA7Ow0KKyAgICA7OyBiZy1wYXJlbi1tYXRjaCwgYmctcGFy ZW4tbWF0Y2gtaW50ZW5zZSwgYmctcmVnaW9uIGFuZA0KKyAgICA7OyBiZy10YWItYWN0aXZlIG11 c3QgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluLCB3aGlsZQ0KKyAgICA7OyBiZy10YWItaW5hY3Rp dmUgc2hvdWxkIGJlIGNvbWJpbmVkIHdpdGggZmctZGltLCB3aGVyZWFzDQorICAgIDs7IGJnLXRh Yi1pbmFjdGl2ZS1hbHQgZ29lcyB0b2dldGhlciB3aXRoIGZnLW1haW4NCisgICAgOzsNCisgICAg OzsgYmctdGFiLWJhciBpcyBvbmx5IGludGVuZGVkIGZvciB0aGUgYmFyIHRoYXQgaG9sZHMgdGhl IHRhYnMgYW5kDQorICAgIDs7IGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggZmctbWFpbg0KKyAg ICA7Ow0KKyAgICA7OyBmZy10YWItYWN0aXZlIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVkIHdpdGgg YmctdGFiLWFjdGl2ZSwNCisgICAgOzsgdGhvdWdoIG9ubHkgZm9yIHN0eWxpbmcgc3BlY2lhbCBl bGVtZW50cywgc3VjaCBhcyB1bmRlcmxpbmluZw0KKyAgICA7OyB0aGUgY3VycmVudCB0YWINCisg ICAgOzsNCisgICAgOzsgZmctZXNjYXBlLWNoYXItY29uc3RydWN0IGFuZCBmZy1lc2NhcGUtY2hh ci1iYWNrc2xhc2ggY2FuDQorICAgIDs7IGJlIGNvbWJpbmVkIGJnLW1haW4sIGJnLWRpbSwgYmct YWx0DQorICAgIDs7DQorICAgIDs7IGZnLWxhbmctZXJyb3IsIGZnLWxhbmctd2FybmluZywgZmct bGFuZy1ub3RlIGNhbiBiZQ0KKyAgICA7OyBjb21iaW5lZCB3aXRoIGJnLW1haW4sIGJnLWRpbSwg YmctYWx0DQorICAgIDs7DQorICAgIDs7IGZnLW1hcmstc2VsLCBmZy1tYXJrLWRlbCwgZmctbWFy ay1hbHQgY2FuIGJlIGNvbWJpbmVkDQorICAgIDs7IHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1h bHQsIGJnLWhsLWxpbmUNCisgICAgOzsNCisgICAgOzsgZmctdW5mb2N1c2VkIG11c3QgYmUgY29t YmluZWQgd2l0aCBiZy1tYWluDQorICAgIDs7DQorICAgIDs7IGZnLWRvY3N0cmluZywgZmctY29t bWVudC15ZWxsb3cgY2FuIGJlIGNvbWJpbmVkIHdpdGgNCisgICAgOzsgYmctbWFpbiwgYmctZGlt LCBiZy1hbHQNCisgICAgOzsNCisgICAgOzsgdGhlIHdpbmRvdyBkaXZpZGVyIGNvbG9ycyBhcHBs eSB0byBmYWNlcyB3aXRoIGp1c3QgYW4gZmcgdmFsdWUNCisgICAgOzsNCisgICAgOzsgYWxsIHBh aXJzIGFyZSBjb21iaW5hYmxlIHdpdGggdGhlbXNlbHZlcw0KKyAgICAoYmctaGwtbGluZSAuICIj ZjJlZmYzIikNCisgICAgKGJnLWhsLWxpbmUtaW50ZW5zZSAuICIjZTBlMGUwIikNCisgICAgKGJn LWhsLWFsdCAuICIjZmJlZWUwIikNCisgICAgKGJnLWhsLWFsdC1pbnRlbnNlIC4gIiNlOGRmZDEi KQ0KKyAgICAoYmctcGFyZW4tbWF0Y2ggLiAiI2UwYWY4MiIpDQorICAgIChiZy1wYXJlbi1tYXRj aC1pbnRlbnNlIC4gIiNjNDg4ZmYiKQ0KKyAgICAoYmctcmVnaW9uIC4gIiNiY2JjYmMiKQ0KKw0K KyAgICAoYmctdGFiLWJhciAuICIjZDVkNWQ1IikNCisgICAgKGJnLXRhYi1hY3RpdmUgLiAiI2Y2 ZjZmNiIpDQorICAgIChiZy10YWItaW5hY3RpdmUgLiAiI2JkYmRiZCIpDQorICAgIChiZy10YWIt aW5hY3RpdmUtYWx0IC4gIiM5OTk5OTkiKQ0KKyAgICAoZmctdGFiLWFjdGl2ZSAuICIjMzAxNjll IikNCisNCisgICAgKGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCAuICIjOGIxMDMwIikNCisgICAg KGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCAuICIjNjU0ZDBmIikNCisNCisgICAgKGZnLWxhbmct ZXJyb3IgLiAiIzlmMDA0ZiIpDQorICAgIChmZy1sYW5nLXdhcm5pbmcgLiAiIzYwNGYwZiIpDQor ICAgIChmZy1sYW5nLW5vdGUgLiAiIzQwNDBhZSIpDQorICAgIChmZy1sYW5nLXVuZGVybGluZS1l cnJvciAuICIjZWY0ZjU0IikNCisgICAgKGZnLWxhbmctdW5kZXJsaW5lLXdhcm5pbmcgLiAiI2Nm OWYwMCIpDQorICAgIChmZy1sYW5nLXVuZGVybGluZS1ub3RlIC4gIiMzZjZmZWYiKQ0KKw0KKyAg ICAoZmctd2luZG93LWRpdmlkZXItaW5uZXIgLiAiIzg4ODg4OCIpDQorICAgIChmZy13aW5kb3ct ZGl2aWRlci1vdXRlciAuICIjNTg1ODU4IikNCisNCisgICAgKGZnLXVuZm9jdXNlZCAuICIjNTY1 NzZkIikNCisNCisgICAgKGZnLWRvY3N0cmluZyAuICIjMmE0ODZhIikNCisgICAgKGZnLWNvbW1l bnQteWVsbG93IC4gIiM1ZjQ0MDAiKQ0KKw0KKyAgICAoYmctaGVhZGVyIC4gIiNlNWU1ZTUiKSAo ZmctaGVhZGVyIC4gIiMyYTJhMmEiKQ0KKw0KKyAgICAoYmctd2hpdGVzcGFjZSAuICIjZjVlZmVm IikgKGZnLXdoaXRlc3BhY2UgLiAiIzYyNDk1NiIpDQorDQorICAgIChiZy1kaWZmLWhlYWRpbmcg LiAiI2I3Y2ZlMCIpIChmZy1kaWZmLWhlYWRpbmcgLiAiIzA0MTY0NSIpDQorICAgIChiZy1kaWZm LWFkZGVkIC4gIiNkNGZhZDQiKSAoZmctZGlmZi1hZGRlZCAuICIjMDA0NTAwIikNCisgICAgKGJn LWRpZmYtYWRkZWQtZGV1dGVyYW4gLiAiI2RhZWZmZiIpIChmZy1kaWZmLWFkZGVkLWRldXRlcmFu IC4gIiMwMDIwNDQiKQ0KKyAgICAoYmctZGlmZi1jaGFuZ2VkIC4gIiNmY2VmY2YiKSAoZmctZGlm Zi1jaGFuZ2VkIC4gIiM1MjQyMDAiKQ0KKyAgICAoYmctZGlmZi1yZW1vdmVkIC4gIiNmZmU4ZWYi KSAoZmctZGlmZi1yZW1vdmVkIC4gIiM2OTE2MTYiKQ0KKw0KKyAgICAoYmctZGlmZi1yZWZpbmUt YWRkZWQgLiAiIzk0Y2Y5NCIpIChmZy1kaWZmLXJlZmluZS1hZGRlZCAuICIjMDAyYTAwIikNCisg ICAgKGJnLWRpZmYtcmVmaW5lLWFkZGVkLWRldXRlcmFuIC4gIiM3N2MwZWYiKSAoZmctZGlmZi1y ZWZpbmUtYWRkZWQtZGV1dGVyYW4gLiAiIzAwMDAzNSIpDQorICAgIChiZy1kaWZmLXJlZmluZS1j aGFuZ2VkIC4gIiNjY2NmOGYiKSAoZmctZGlmZi1yZWZpbmUtY2hhbmdlZCAuICIjMzAyMDEwIikN CisgICAgKGJnLWRpZmYtcmVmaW5lLXJlbW92ZWQgLiAiI2RhYTJiMCIpIChmZy1kaWZmLXJlZmlu ZS1yZW1vdmVkIC4gIiM0MDAwMDAiKQ0KKw0KKyAgICAoYmctZGlmZi1mb2N1cy1hZGRlZCAuICIj YmJlYWJiIikgKGZnLWRpZmYtZm9jdXMtYWRkZWQgLiAiIzAwMmMwMCIpDQorICAgIChiZy1kaWZm LWZvY3VzLWFkZGVkLWRldXRlcmFuIC4gIiNiYWNmZmYiKSAoZmctZGlmZi1mb2N1cy1hZGRlZC1k ZXV0ZXJhbiAuICIjMDAxNzU1IikNCisgICAgKGJnLWRpZmYtZm9jdXMtY2hhbmdlZCAuICIjZWNk ZmJmIikgKGZnLWRpZmYtZm9jdXMtY2hhbmdlZCAuICIjMzkyOTAwIikNCisgICAgKGJnLWRpZmYt Zm9jdXMtcmVtb3ZlZCAuICIjZWZjYmNmIikgKGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCAuICIjNGEw MDAwIikNCisNCisgICAgKGJnLWRpZmYtbmV1dHJhbC0wIC4gIiM5Nzk3OTciKSAoZmctZGlmZi1u ZXV0cmFsLTAgLiAiIzA0MDQwNCIpDQorICAgIChiZy1kaWZmLW5ldXRyYWwtMSAuICIjYjBiMGIw IikgKGZnLWRpZmYtbmV1dHJhbC0xIC4gIiMyNTI1MjUiKQ0KKyAgICAoYmctZGlmZi1uZXV0cmFs LTIgLiAiI2NjY2NjYyIpIChmZy1kaWZmLW5ldXRyYWwtMiAuICIjM2EzYTNhIikNCisNCisgICAg KGJnLW1hcmstc2VsIC4gIiNhMGYwY2YiKSAoZmctbWFyay1zZWwgLiAiIzAwNTA0MCIpDQorICAg IChiZy1tYXJrLWRlbCAuICIjZmZjY2JiIikgKGZnLW1hcmstZGVsIC4gIiM4NDAwNDAiKQ0KKyAg ICAoYmctbWFyay1hbHQgLiAiI2Y1ZDg4ZiIpIChmZy1tYXJrLWFsdCAuICIjNzgyOTAwIikpDQor ICAiVGhlIGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy1vcGVyYW5kaScgdGhlbWUuDQorRWFjaCBl bGVtZW50IGhhcyB0aGUgZm9ybSAoTkFNRSAuIEhFWCkgd2l0aCB0aGUgZm9ybWVyIGFzIGENCitz eW1ib2wgYW5kIHRoZSBsYXR0ZXIgYXMgYSBzdHJpbmcuIikNCisNCis7Ozs7IE1vZHVzIFZpdmVu ZGkNCisNCisoZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzDQorICAnbW9kdXMtdml2ZW5k aS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KKyAgJ21vZHVzLXRoZW1lcy1jb2xvcnMtdml2 ZW5kaQ0KKyAgIjEuMC4wIikNCisNCisoZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzDQor ICAnbW9kdXMtdGhlbWVzLWNvbG9ycy12aXZlbmRpDQorICAnbW9kdXMtdGhlbWVzLXZpdmVuZGkt Y29sb3JzDQorICAiMS4xLjAiKQ0KKw0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtdml2ZW5kaS1j b2xvcnMNCisgICcoOzsgYmFzZSB2YWx1ZXMNCisgICAgKGJnLW1haW4gLiAiIzAwMDAwMCIpIChm Zy1tYWluIC4gIiNmZmZmZmYiKQ0KKyAgICAoYmctZGltIC4gIiMxMTBiMTEiKSAoZmctZGltIC4g IiNlMGU2ZjAiKQ0KKyAgICAoYmctYWx0IC4gIiMxODFhMjAiKSAoZmctYWx0IC4gIiNhOGE4YTgi KQ0KKyAgICA7OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgYW5kIG11c3QgYmUgY29t YmluZWQgd2l0aA0KKyAgICA7OyB0aGVtc2VsdmVzLCB0aG91Z2ggdGhlIGJhY2tncm91bmRzIGFy ZSBhbHNvIG1lYW50IHRvIGJlIHVzZWQgd2l0aA0KKyAgICA7OyBvdGhlciAiYWN0aXZlIiB2YWx1 ZXMsIGRlZmluZWQgZnVydGhlciBiZWxvdw0KKyAgICAoYmctYWN0aXZlIC4gIiMzMjMyMzIiKSAo ZmctYWN0aXZlIC4gIiNmNGY0ZjQiKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiIzFlMWUxZSIpIChm Zy1pbmFjdGl2ZSAuICIjYmZjMGM0IikNCisgICAgOzsgdGhlc2Ugc3BlY2lhbCB2YWx1ZXMgYXJl IGludGVuZGVkIGFzIGFsdGVybmF0aXZlcyB0byB0aGUgYmFzZQ0KKyAgICA7OyB2YWx1ZXMgZm9y IGNhc2VzIHdoZXJlIHdlIG5lZWQgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gdGhlDQorICAg IDs7IGhpZ2hsaWdodGVkIGNvbnN0cnVjdHM7IHRoZXkgbXVzdCBlaXRoZXIgYmUgdXNlZCBhcyBw YWlycyBiYXNlZA0KKyAgICA7OyBvbiB0aGVpciBuYW1lIG9yIGVhY2ggY2FuIGJlIGNvbWJpbmVk IHdpdGgge2ZnLGJnfS17bWFpbixhbHQsZGltfQ0KKyAgICA7OyBhbHdheXMgaW4gYWNjb3JkYW5j ZSB3aXRoIHRoZWlyIHJvbGUgYXMgYmFja2dyb3VuZCBvciBmb3JlZ3JvdW5kDQorICAgIChiZy1z cGVjaWFsLWNvbGQgLiAiIzIwMzQ0OCIpIChmZy1zcGVjaWFsLWNvbGQgLiAiI2M2ZWFmZiIpDQor ICAgIChiZy1zcGVjaWFsLW1pbGQgLiAiIzAwMzIyZSIpIChmZy1zcGVjaWFsLW1pbGQgLiAiI2Jm ZWJlMCIpDQorICAgIChiZy1zcGVjaWFsLXdhcm0gLiAiIzM4MmYyNyIpIChmZy1zcGVjaWFsLXdh cm0gLiAiI2Y4ZGVjMCIpDQorICAgIChiZy1zcGVjaWFsLWNhbG0gLiAiIzM5MmE0OCIpIChmZy1z cGVjaWFsLWNhbG0gLiAiI2ZiZDZmNCIpDQorICAgIDs7IGZvcmVncm91bmRzIHRoYXQgY2FuIGJl IGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgKHJlZCAuICIjZmY4 MDU5IikNCisgICAgKHJlZC1hbHQgLiAiI2Y0OTIzYiIpDQorICAgIChyZWQtYWx0LW90aGVyIC4g IiNmZjk5NzciKQ0KKyAgICAocmVkLWZhaW50IC4gIiNmZmEwYTAiKQ0KKyAgICAocmVkLWFsdC1m YWludCAuICIjZjVhYTgwIikNCisgICAgKHJlZC1hbHQtb3RoZXItZmFpbnQgLiAiI2ZmOWZiZiIp DQorICAgIChncmVlbiAuICIjNDRiYzQ0IikNCisgICAgKGdyZWVuLWFsdCAuICIjNzBjOTAwIikN CisgICAgKGdyZWVuLWFsdC1vdGhlciAuICIjMDBjZDY4IikNCisgICAgKGdyZWVuLWZhaW50IC4g IiM4OGNmODgiKQ0KKyAgICAoZ3JlZW4tYWx0LWZhaW50IC4gIiNhOGNmODgiKQ0KKyAgICAoZ3Jl ZW4tYWx0LW90aGVyLWZhaW50IC4gIiM4OGNmYWYiKQ0KKyAgICAoeWVsbG93IC4gIiNlZWNjMDAi KQ0KKyAgICAoeWVsbG93LWFsdCAuICIjY2ZkZjMwIikNCisgICAgKHllbGxvdy1hbHQtb3RoZXIg LiAiI2YwY2U0MyIpDQorICAgICh5ZWxsb3ctZmFpbnQgLiAiI2QyYjU4MCIpDQorICAgICh5ZWxs b3ctYWx0LWZhaW50IC4gIiNjYWJmNzciKQ0KKyAgICAoeWVsbG93LWFsdC1vdGhlci1mYWludCAu ICIjZDBiYTk1IikNCisgICAgKGJsdWUgLiAiIzJmYWZmZiIpDQorICAgIChibHVlLWFsdCAuICIj NzlhOGZmIiApDQorICAgIChibHVlLWFsdC1vdGhlciAuICIjMDBiY2ZmIikNCisgICAgKGJsdWUt ZmFpbnQgLiAiIzkyYmFmZiIpDQorICAgIChibHVlLWFsdC1mYWludCAuICIjYTBhY2Y1IikNCisg ICAgKGJsdWUtYWx0LW90aGVyLWZhaW50IC4gIiM4N2M4ZmYiKQ0KKyAgICAobWFnZW50YSAuICIj ZmVhY2QwIikNCisgICAgKG1hZ2VudGEtYWx0IC4gIiNmNzhmZTciKQ0KKyAgICAobWFnZW50YS1h bHQtb3RoZXIgLiAiI2I2YTBmZiIpDQorICAgIChtYWdlbnRhLWZhaW50IC4gIiNlMGIyZDYiKQ0K KyAgICAobWFnZW50YS1hbHQtZmFpbnQgLiAiI2VmOWZlNCIpDQorICAgIChtYWdlbnRhLWFsdC1v dGhlci1mYWludCAuICIjY2ZhNmZmIikNCisgICAgKGN5YW4gLiAiIzAwZDNkMCIpDQorICAgIChj eWFuLWFsdCAuICIjNGFlOGZjIikNCisgICAgKGN5YW4tYWx0LW90aGVyIC4gIiM2YWU0YjkiKQ0K KyAgICAoY3lhbi1mYWludCAuICIjOTBjNGVkIikNCisgICAgKGN5YW4tYWx0LWZhaW50IC4gIiNh MGJmZGYiKQ0KKyAgICAoY3lhbi1hbHQtb3RoZXItZmFpbnQgLiAiI2E0ZDBiYiIpDQorICAgIDs7 IHRoZXNlIGZvcmVncm91bmQgdmFsdWVzIGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggYmctbWFp biBhbmQgYXJlDQorICAgIDs7IHRodXMgbm90IHN1aXRhYmxlIGZvciBnZW5lcmFsIHB1cnBvc2Ug aGlnaGxpZ2h0aW5nDQorICAgIChyZWQtaW50ZW5zZSAuICIjZmU2MDYwIikNCisgICAgKG9yYW5n ZS1pbnRlbnNlIC4gIiNmYmE4NDkiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZSAuICIjNGZlNDJmIikN CisgICAgKHllbGxvdy1pbnRlbnNlIC4gIiNmMGRkNjAiKQ0KKyAgICAoYmx1ZS1pbnRlbnNlIC4g IiM0ZmFmZmYiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNlIC4gIiNmZjYyZDQiKQ0KKyAgICAocHVy cGxlLWludGVuc2UgLiAiIzlmODBmZiIpDQorICAgIChjeWFuLWludGVuc2UgLiAiIzNmZGZkMCIp DQorICAgIDs7IHRob3NlIGZvcmVncm91bmRzIGFyZSBtZWFudCBleGNsdXNpdmVseSBmb3IgYmct YWN0aXZlLCBiZy1pbmFjdGl2ZQ0KKyAgICAocmVkLWFjdGl2ZSAuICIjZmZhN2JhIikNCisgICAg KGdyZWVuLWFjdGl2ZSAuICIjNzBkNzNmIikNCisgICAgKHllbGxvdy1hY3RpdmUgLiAiI2RiYmU1 ZiIpDQorICAgIChibHVlLWFjdGl2ZSAuICIjMzRjZmZmIikNCisgICAgKG1hZ2VudGEtYWN0aXZl IC4gIiNkNWIxZmYiKQ0KKyAgICAoY3lhbi1hY3RpdmUgLiAiIzAwZDhiNCIpDQorICAgIDs7IHRo ZSAic3VidGxlIiB2YWx1ZXMgYmVsb3cgYmUgY29tYmluZWQgd2l0aCBmZy1kaW0sIHdoaWxlIHRo ZQ0KKyAgICA7OyAiaW50ZW5zZSIgc2hvdWxkIGJlIHBhaXJlZCB3aXRoIGZnLW1haW4NCisgICAg KHJlZC1zdWJ0bGUtYmcgLiAiIzc2MjQyMiIpDQorICAgIChyZWQtaW50ZW5zZS1iZyAuICIjYTQy MDJhIikNCisgICAgKGdyZWVuLXN1YnRsZS1iZyAuICIjMmY0YTAwIikNCisgICAgKGdyZWVuLWlu dGVuc2UtYmcgLiAiIzAwNjgwMCIpDQorICAgICh5ZWxsb3ctc3VidGxlLWJnIC4gIiM2MDQyMDAi KQ0KKyAgICAoeWVsbG93LWludGVuc2UtYmcgLiAiIzg3NDkwMCIpDQorICAgIChibHVlLXN1YnRs ZS1iZyAuICIjMTAzODdjIikNCisgICAgKGJsdWUtaW50ZW5zZS1iZyAuICIjMmE0MGI4IikNCisg ICAgKG1hZ2VudGEtc3VidGxlLWJnIC4gIiM0OTM2NmUiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNl LWJnIC4gIiM3MDQyYTIiKQ0KKyAgICAoY3lhbi1zdWJ0bGUtYmcgLiAiIzAwNDE1ZSIpDQorICAg IChjeWFuLWludGVuc2UtYmcgLiAiIzAwNWY4OCIpDQorICAgIDs7IHRob3NlIGJhY2tncm91bmQg dmFsdWVzIG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluIGFuZCBzaG91bGQNCisgICAgOzsg b25seSBiZSB1c2VkIGZvciBpbmRpY2F0b3JzIHRoYXQgYXJlIHBsYWNlZCBvbiB0aGUgZnJpbmdl cw0KKyAgICAocmVkLWZyaW5nZS1iZyAuICIjOGYxZjRiIikNCisgICAgKGdyZWVuLWZyaW5nZS1i ZyAuICIjMDA2NzAwIikNCisgICAgKHllbGxvdy1mcmluZ2UtYmcgLiAiIzZmNGYwMCIpDQorICAg IChibHVlLWZyaW5nZS1iZyAuICIjM2YzM2FmIikNCisgICAgKG1hZ2VudGEtZnJpbmdlLWJnIC4g IiM2ZjJmODkiKQ0KKyAgICAoY3lhbi1mcmluZ2UtYmcgLiAiIzAwNGY4ZiIpDQorICAgIDs7IHRo b3NlIGJhY2tncm91bmQgdmFsdWVzIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGdyYXBocyBvciBz aW1pbGFyDQorICAgIDs7IGFwcGxpY2F0aW9ucyB3aGVyZSBjb2xvcmVkIGJsb2NrcyBhcmUgZXhw ZWN0ZWQgdG8gYmUgcG9zaXRpb25lZA0KKyAgICA7OyBuZXh0IHRvIGVhY2ggb3RoZXINCisgICAg KHJlZC1ncmFwaC0wLWJnIC4gIiNhZjA0MDQiKQ0KKyAgICAocmVkLWdyYXBoLTEtYmcgLiAiIzgw MWYyZiIpDQorICAgIChncmVlbi1ncmFwaC0wLWJnIC4gIiMyNGJhMmYiKQ0KKyAgICAoZ3JlZW4t Z3JhcGgtMS1iZyAuICIjMGY4ZjA3IikNCisgICAgKHllbGxvdy1ncmFwaC0wLWJnIC4gIiNmZmQw M2UiKQ0KKyAgICAoeWVsbG93LWdyYXBoLTEtYmcgLiAiI2Q3ZDgwMCIpDQorICAgIChibHVlLWdy YXBoLTAtYmcgLiAiIzQwNmZmZiIpDQorICAgIChibHVlLWdyYXBoLTEtYmcgLiAiIzJmNTBjOCIp DQorICAgIChtYWdlbnRhLWdyYXBoLTAtYmcgLiAiI2FmN2JlZSIpDQorICAgIChtYWdlbnRhLWdy YXBoLTEtYmcgLiAiIzdmNTljZiIpDQorICAgIChjeWFuLWdyYXBoLTAtYmcgLiAiIzQ3ZGNmYSIp DQorICAgIChjeWFuLWdyYXBoLTEtYmcgLiAiIzBiYzBkZiIpDQorICAgIDs7IHRoZSBmb2xsb3dp bmcgYXJlIGZvciBjYXNlcyB3aGVyZSBib3RoIHRoZSBmb3JlZ3JvdW5kIGFuZCB0aGUNCisgICAg OzsgYmFja2dyb3VuZCBuZWVkIHRvIGhhdmUgYSBzaW1pbGFyIGh1ZSBhbmQgc28gbXVzdCBiZSBj b21iaW5lZA0KKyAgICA7OyB3aXRoIHRoZW1zZWx2ZXMsIGV2ZW4gdGhvdWdoIHRoZSBmb3JlZ3Jv dW5kcyBjYW4gYmUgcGFpcmVkIHdpdGgNCisgICAgOzsgYW55IG9mIHRoZSBiYXNlIGJhY2tncm91 bmRzDQorICAgIChyZWQtcmVmaW5lLWJnIC4gIiM3NzAwMmEiKSAocmVkLXJlZmluZS1mZyAuICIj ZmZiOWFiIikNCisgICAgKGdyZWVuLXJlZmluZS1iZyAuICIjMDA0MjJhIikgKGdyZWVuLXJlZmlu ZS1mZyAuICIjOWZmMGNmIikNCisgICAgKHllbGxvdy1yZWZpbmUtYmcgLiAiIzY5MzIwMCIpICh5 ZWxsb3ctcmVmaW5lLWZnIC4gIiNlMmQ5ODAiKQ0KKyAgICAoYmx1ZS1yZWZpbmUtYmcgLiAiIzI0 MjY3OSIpIChibHVlLXJlZmluZS1mZyAuICIjOGVjNmZmIikNCisgICAgKG1hZ2VudGEtcmVmaW5l LWJnIC4gIiM3MTIwNmEiKSAobWFnZW50YS1yZWZpbmUtZmcgLiAiI2ZmY2FmMCIpDQorICAgIChj eWFuLXJlZmluZS1iZyAuICIjMDA0MDY1IikgKGN5YW4tcmVmaW5lLWZnIC4gIiM4YWU0ZjIiKQ0K KyAgICA7OyB0aGUgIm51YW5jZWQiIGJhY2tncm91bmRzIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFs bCBvZiB0aGUgYWJvdmUNCisgICAgOzsgZm9yZWdyb3VuZHMsIGFzIHdlbGwgYXMgdGhvc2UgaW5j bHVkZWQgaGVyZSwgd2hpbGUgdGhlICJudWFuY2VkIg0KKyAgICA7OyBmb3JlZ3JvdW5kcyBjYW4g aW4gdHVybiBhbHNvIGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLA0KKyAgICA7OyBi Zy1hbHQNCisgICAgKHJlZC1udWFuY2VkLWJnIC4gIiMyYzA2MTQiKSAocmVkLW51YW5jZWQtZmcg LiAiI2ZmY2NjYyIpDQorICAgIChncmVlbi1udWFuY2VkLWJnIC4gIiMwMDE5MDQiKSAoZ3JlZW4t bnVhbmNlZC1mZyAuICIjYjhlMmI4IikNCisgICAgKHllbGxvdy1udWFuY2VkLWJnIC4gIiMyMjEw MDAiKSAoeWVsbG93LW51YW5jZWQtZmcgLiAiI2RmZGZiMCIpDQorICAgIChibHVlLW51YW5jZWQt YmcgLiAiIzBmMGUzOSIpIChibHVlLW51YW5jZWQtZmcgLiAiI2JmZDlmZiIpDQorICAgIChtYWdl bnRhLW51YW5jZWQtYmcgLiAiIzIzMDYzMSIpIChtYWdlbnRhLW51YW5jZWQtZmcgLiAiI2U1Y2Zl ZiIpDQorICAgIChjeWFuLW51YW5jZWQtYmcgLiAiIzA0MTUyOSIpIChjeWFuLW51YW5jZWQtZmcg LiAiI2E4ZTVlNSIpDQorICAgIDs7IHRoZSBmb2xsb3dpbmcgYXJlIHJlc2VydmVkIGZvciBzcGVj aWZpYyBjYXNlcw0KKyAgICA7Ow0KKyAgICA7OyBiZy1obC1saW5lIGlzIGJldHdlZW4gYmctZGlt IGFuZCBiZy1hbHQsIHNvIGl0IHNob3VsZA0KKyAgICA7OyB3b3JrIHdpdGggYWxsIGFjY2VudHMg dGhhdCBjb3ZlciB0aG9zZSB0d28sIHBsdXMgYmctbWFpbg0KKyAgICA7Ow0KKyAgICA7OyBiZy1o bC1hbHQgYW5kIGJnLWhsLWFsdC1pbnRlbnNlIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBubw0K KyAgICA7OyBvdGhlciBncmV5c2NhbGUgb3IgZmFpcmx5IG5ldXRyYWwgYmFja2dyb3VuZCBpcyBh dmFpbGFibGUgdG8NCisgICAgOzsgcHJvcGVybHkgZHJhdyBhdHRlbnRpb24gdG8gYSBnaXZlbiBj b25zdHJ1Y3QNCisgICAgOzsNCisgICAgOzsgYmctaGVhZGVyIGlzIGJldHdlZW4gYmctYWN0aXZl IGFuZCBiZy1pbmFjdGl2ZSwgc28gaXQNCisgICAgOzsgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW55 IG9mIHRoZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMgdGhlDQorICAgIDs7ICJzcGVjaWFsIiBhbmQg YmFzZSBmb3JlZ3JvdW5kIGNvbG9ycw0KKyAgICA7Ow0KKyAgICA7OyBiZy1wYXJlbi1tYXRjaCwg YmctcGFyZW4tbWF0Y2gtaW50ZW5zZSwgYmctcmVnaW9uIGFuZA0KKyAgICA7OyBiZy10YWItYWN0 aXZlIG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluLCB3aGlsZQ0KKyAgICA7OyBiZy10YWIt aW5hY3RpdmUgc2hvdWxkIGJlIGNvbWJpbmVkIHdpdGggZmctZGltLCB3aGVyZWFzDQorICAgIDs7 IGJnLXRhYi1pbmFjdGl2ZS1hbHQgZ29lcyB0b2dldGhlciB3aXRoIGZnLW1haW4NCisgICAgOzsN CisgICAgOzsgYmctdGFiLWJhciBpcyBvbmx5IGludGVuZGVkIGZvciB0aGUgYmFyIHRoYXQgaG9s ZHMgdGhlIHRhYnMgYW5kDQorICAgIDs7IGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggZmctbWFp bg0KKyAgICA7Ow0KKyAgICA7OyBmZy10YWItYWN0aXZlIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVk IHdpdGggYmctdGFiLWFjdGl2ZSwNCisgICAgOzsgdGhvdWdoIG9ubHkgZm9yIHN0eWxpbmcgc3Bl Y2lhbCBlbGVtZW50cywgc3VjaCBhcyB1bmRlcmxpbmluZw0KKyAgICA7OyB0aGUgY3VycmVudCB0 YWINCisgICAgOzsNCisgICAgOzsgZmctZXNjYXBlLWNoYXItY29uc3RydWN0IGFuZCBmZy1lc2Nh cGUtY2hhci1iYWNrc2xhc2ggY2FuDQorICAgIDs7IGJlIGNvbWJpbmVkIGJnLW1haW4sIGJnLWRp bSwgYmctYWx0DQorICAgIDs7DQorICAgIDs7IGZnLWxhbmctZXJyb3IsIGZnLWxhbmctd2Fybmlu ZywgZmctbGFuZy1ub3RlIGNhbiBiZQ0KKyAgICA7OyBjb21iaW5lZCB3aXRoIGJnLW1haW4sIGJn LWRpbSwgYmctYWx0DQorICAgIDs7DQorICAgIDs7IGZnLW1hcmstc2VsLCBmZy1tYXJrLWRlbCwg ZmctbWFyay1hbHQgY2FuIGJlIGNvbWJpbmVkDQorICAgIDs7IHdpdGggYmctbWFpbiwgYmctZGlt LCBiZy1hbHQsIGJnLWhsLWxpbmUNCisgICAgOzsNCisgICAgOzsgZmctdW5mb2N1c2VkIG11c3Qg YmUgY29tYmluZWQgd2l0aCBiZy1tYWluDQorICAgIDs7DQorICAgIDs7IGZnLWRvY3N0cmluZywg ZmctY29tbWVudC15ZWxsb3cgY2FuIGJlIGNvbWJpbmVkIHdpdGgNCisgICAgOzsgYmctbWFpbiwg YmctZGltLCBiZy1hbHQNCisgICAgOzsNCisgICAgOzsgdGhlIHdpbmRvdyBkaXZpZGVyIGNvbG9y cyBhcHBseSB0byBmYWNlcyB3aXRoIGp1c3QgYW4gZmcgdmFsdWUNCisgICAgOzsNCisgICAgOzsg YWxsIHBhaXJzIGFyZSBjb21iaW5hYmxlIHdpdGggdGhlbXNlbHZlcw0KKyAgICAoYmctaGwtbGlu ZSAuICIjMTUxODIzIikNCisgICAgKGJnLWhsLWxpbmUtaW50ZW5zZSAuICIjMmYyZjJmIikNCisg ICAgKGJnLWhsLWFsdCAuICIjMTgxNzMyIikNCisgICAgKGJnLWhsLWFsdC1pbnRlbnNlIC4gIiMy ODJlNDYiKQ0KKyAgICAoYmctcGFyZW4tbWF0Y2ggLiAiIzVmMzYyZiIpDQorICAgIChiZy1wYXJl bi1tYXRjaC1pbnRlbnNlIC4gIiM3NDE2YjUiKQ0KKyAgICAoYmctcmVnaW9uIC4gIiMzYzNjM2Mi KQ0KKw0KKyAgICAoYmctdGFiLWJhciAuICIjMmMyYzJjIikNCisgICAgKGJnLXRhYi1hY3RpdmUg LiAiIzBlMGUwZSIpDQorICAgIChiZy10YWItaW5hY3RpdmUgLiAiIzNkM2QzZCIpDQorICAgIChi Zy10YWItaW5hY3RpdmUtYWx0IC4gIiM1OTU5NTkiKQ0KKyAgICAoZmctdGFiLWFjdGl2ZSAuICIj NWFjM2NmIikNCisNCisgICAgKGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCAuICIjZTdhNTlhIikN CisgICAgKGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCAuICIjYWJhYjAwIikNCisNCisgICAgKGZn LWxhbmctZXJyb3IgLiAiI2VmODY5MCIpDQorICAgIChmZy1sYW5nLXdhcm5pbmcgLiAiI2IwYWEw MCIpDQorICAgIChmZy1sYW5nLW5vdGUgLiAiIzlkOWRlZiIpDQorICAgIChmZy1sYW5nLXVuZGVy bGluZS1lcnJvciAuICIjZmY0YTZmIikNCisgICAgKGZnLWxhbmctdW5kZXJsaW5lLXdhcm5pbmcg LiAiI2QwZGUwMCIpDQorICAgIChmZy1sYW5nLXVuZGVybGluZS1ub3RlIC4gIiM1ZjZmZmYiKQ0K Kw0KKyAgICAoZmctd2luZG93LWRpdmlkZXItaW5uZXIgLiAiIzY0NjQ2NCIpDQorICAgIChmZy13 aW5kb3ctZGl2aWRlci1vdXRlciAuICIjOTY5Njk2IikNCisNCisgICAgKGZnLXVuZm9jdXNlZCAu ICIjOTM5NTliIikNCisNCisgICAgKGZnLWRvY3N0cmluZyAuICIjYjBkNmY1IikNCisgICAgKGZn LWNvbW1lbnQteWVsbG93IC4gIiNjYWI5OGYiKQ0KKw0KKyAgICAoYmctaGVhZGVyIC4gIiMyMTIx MjEiKSAoZmctaGVhZGVyIC4gIiNkZGRkZGQiKQ0KKw0KKyAgICAoYmctd2hpdGVzcGFjZSAuICIj MTAxNDI0IikgKGZnLXdoaXRlc3BhY2UgLiAiI2FhOWU5ZiIpDQorDQorICAgIChiZy1kaWZmLWhl YWRpbmcgLiAiIzMwNDQ2NiIpIChmZy1kaWZmLWhlYWRpbmcgLiAiI2RhZTdmZiIpDQorICAgIChi Zy1kaWZmLWFkZGVkIC4gIiMwYTI4MGEiKSAoZmctZGlmZi1hZGRlZCAuICIjOTRiYTk0IikNCisg ICAgKGJnLWRpZmYtYWRkZWQtZGV1dGVyYW4gLiAiIzAwMWEzZiIpIChmZy1kaWZmLWFkZGVkLWRl dXRlcmFuIC4gIiNjNGNkZjIiKQ0KKyAgICAoYmctZGlmZi1jaGFuZ2VkIC4gIiMyYTIwMDAiKSAo ZmctZGlmZi1jaGFuZ2VkIC4gIiNiMGJhOWYiKQ0KKyAgICAoYmctZGlmZi1yZW1vdmVkIC4gIiM0 MDE2MGYiKSAoZmctZGlmZi1yZW1vdmVkIC4gIiNjNmFkYWEiKQ0KKw0KKyAgICAoYmctZGlmZi1y ZWZpbmUtYWRkZWQgLiAiIzAwNWEzNiIpIChmZy1kaWZmLXJlZmluZS1hZGRlZCAuICIjZTBmNmUw IikNCisgICAgKGJnLWRpZmYtcmVmaW5lLWFkZGVkLWRldXRlcmFuIC4gIiMyMzRmOGYiKSAoZmct ZGlmZi1yZWZpbmUtYWRkZWQtZGV1dGVyYW4gLiAiI2RkZTRmZiIpDQorICAgIChiZy1kaWZmLXJl ZmluZS1jaGFuZ2VkIC4gIiM1ODU4MDAiKSAoZmctZGlmZi1yZWZpbmUtY2hhbmdlZCAuICIjZmZm ZmNjIikNCisgICAgKGJnLWRpZmYtcmVmaW5lLXJlbW92ZWQgLiAiIzg1MjgyOCIpIChmZy1kaWZm LXJlZmluZS1yZW1vdmVkIC4gIiNmZmQ5ZWIiKQ0KKw0KKyAgICAoYmctZGlmZi1mb2N1cy1hZGRl ZCAuICIjMjAzZDIwIikgKGZnLWRpZmYtZm9jdXMtYWRkZWQgLiAiI2I0ZGRiNCIpDQorICAgIChi Zy1kaWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuIC4gIiMwMDQwNWYiKSAoZmctZGlmZi1mb2N1cy1h ZGRlZC1kZXV0ZXJhbiAuICIjYmZlNGZmIikNCisgICAgKGJnLWRpZmYtZm9jdXMtY2hhbmdlZCAu ICIjNGEzYTEwIikgKGZnLWRpZmYtZm9jdXMtY2hhbmdlZCAuICIjZDBkYWFmIikNCisgICAgKGJn LWRpZmYtZm9jdXMtcmVtb3ZlZCAuICIjNWUyNTI2IikgKGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCAu ICIjZWViZGJhIikNCisNCisgICAgKGJnLWRpZmYtbmV1dHJhbC0wIC4gIiM1NzU3NTciKSAoZmct ZGlmZi1uZXV0cmFsLTAgLiAiI2ZjZmNmYyIpDQorICAgIChiZy1kaWZmLW5ldXRyYWwtMSAuICIj NDU0NTQ1IikgKGZnLWRpZmYtbmV1dHJhbC0xIC4gIiNkZGRkZGQiKQ0KKyAgICAoYmctZGlmZi1u ZXV0cmFsLTIgLiAiIzMxMzEzMSIpIChmZy1kaWZmLW5ldXRyYWwtMiAuICIjYmZiZmJmIikNCisN CisgICAgKGJnLW1hcmstc2VsIC4gIiMwMDJmMmYiKSAoZmctbWFyay1zZWwgLiAiIzYwY2ZhMiIp DQorICAgIChiZy1tYXJrLWRlbCAuICIjNWEwMDAwIikgKGZnLW1hcmstZGVsIC4gIiNmZjk5YWEi KQ0KKyAgICAoYmctbWFyay1hbHQgLiAiIzNmMjIxMCIpIChmZy1tYXJrLWFsdCAuICIjZjBhYTIw IikpDQorICAiVGhlIGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy12aXZlbmRpJyB0aGVtZS4NCitF YWNoIGVsZW1lbnQgaGFzIHRoZSBmb3JtIChOQU1FIC4gSEVYKSB3aXRoIHRoZSBmb3JtZXIgYXMg YQ0KK3N5bWJvbCBhbmQgdGhlIGxhdHRlciBhcyBhIHN0cmluZy4iKQ0KKw0KKwwNCisNCis7Ozsg Q3VzdG9tIGZhY2VzDQorDQorOzsgVGhlc2UgZmFjZXMgYXJlIHVzZWQgaW50ZXJuYWxseSB0byBl bnN1cmUgY29uc2lzdGVuY3kgYmV0d2VlbiB2YXJpb3VzDQorOzsgZ3JvdXBzIGFuZCB0byBzdHJl YW1saW5lIHRoZSBldmFsdWF0aW9uIG9mIHJlbGV2YW50IGN1c3RvbWl6YXRpb24NCis7OyBvcHRp b25zLg0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQgbmlsDQorICAiU3VidGxlIHJl ZCBiYWNrZ3JvdW5kIGNvbWJpbmVkIHdpdGggYSBkaW1tZWQgZm9yZWdyb3VuZC4NCitUaGlzIGlz IHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJz DQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcg b2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZm YWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbiBuaWwNCisgICJTdWJ0bGUgZ3JlZW4gYmFja2dy b3VuZCBjb21iaW5lZCB3aXRoIGEgZGltbWVkIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZv ciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZv ciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1zdWJ0bGUteWVsbG93IG5pbA0KKyAgIlN1YnRsZSB5ZWxsb3cgYmFja2dyb3VuZCBj b21iaW5lZCB3aXRoIGEgZGltbWVkIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5l cmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21w bGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlz IGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVt ZS1zdWJ0bGUtYmx1ZSBuaWwNCisgICJTdWJ0bGUgYmx1ZSBiYWNrZ3JvdW5kIGNvbWJpbmVkIHdp dGggYSBkaW1tZWQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9z ZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50 ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBg bW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1t YWdlbnRhIG5pbA0KKyAgIlN1YnRsZSBtYWdlbnRhIGJhY2tncm91bmQgY29tYmluZWQgd2l0aCBh IGRpbW1lZCBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhp Z2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZh Y2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1 cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4g bmlsDQorICAiU3VidGxlIGN5YW4gYmFja2dyb3VuZCBjb21iaW5lZCB3aXRoIGEgZGltbWVkIGZv cmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5n LCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQor VGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1m YWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCBuaWwNCisg ICJTdWJ0bGUgZ3JheSBiYWNrZ3JvdW5kIGNvbWJpbmVkIHdpdGggYSBkaW1tZWQgZm9yZWdyb3Vu ZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3Rs eSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0 dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4i KQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIG5pbA0KKyAgIkludGVuc2Ug cmVkIGJhY2tncm91bmQgY29tYmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kLg0KK1RoaXMg aXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZl cnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBuaWwNCisgICJJbnRlbnNlIGdyZWVuIGJh Y2tncm91bmQgY29tYmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNl ZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitv ciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0 aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgbmlsDQorICAiSW50ZW5zZSB5ZWxsb3cgYmFja2dy b3VuZCBjb21iaW5lZCB3aXRoIHRoZSBtYWluIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZv ciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZv ciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1pbnRlbnNlLWJsdWUgbmlsDQorICAiSW50ZW5zZSBibHVlIGJhY2tncm91bmQgY29t YmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJh bCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxl dGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBk b25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUt aW50ZW5zZS1tYWdlbnRhIG5pbA0KKyAgIkludGVuc2UgbWFnZW50YSBiYWNrZ3JvdW5kIGNvbWJp bmVkIHdpdGggdGhlIG1haW4gZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwg cHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRp b24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWlu dGVuc2UtY3lhbiBuaWwNCisgICJJbnRlbnNlIGN5YW4gYmFja2dyb3VuZCBjb21iaW5lZCB3aXRo IHRoZSBtYWluIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5lcmFsIHB1cnBvc2Ug aGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21wbGV0aW9uIGludGVy ZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1v ZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLW5l dXRyYWwgbmlsDQorICAiSW50ZW5zZSBncmF5IGJhY2tncm91bmQgY29tYmluZWQgd2l0aCB0aGUg bWFpbiBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hs aWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2Vz Lg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10 aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCBuaWwN CisgICJDb21iaW5hdGlvbiBvZiBhY2NlbnRlZCByZWQgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3Vu ZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3Rs eSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0 dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4i KQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbiBuaWwNCisgICJDb21iaW5h dGlvbiBvZiBhY2NlbnRlZCBncmVlbiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kLg0KK1RoaXMg aXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZl cnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyBuaWwNCisgICJDb21iaW5hdGlvbiBvZiBh Y2NlbnRlZCB5ZWxsb3cgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQg Zm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3Ig Zm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhl IGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1v ZHVzLXRoZW1lLXJlZmluZS1ibHVlIG5pbA0KKyAgIkNvbWJpbmF0aW9uIG9mIGFjY2VudGVkIGJs dWUgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwg cHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRp b24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXJl ZmluZS1tYWdlbnRhIG5pbA0KKyAgIkNvbWJpbmF0aW9uIG9mIGFjY2VudGVkIG1hZ2VudGEgYmFj a2dyb3VuZCBhbmQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9z ZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50 ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBg bW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1j eWFuIG5pbA0KKyAgIkNvbWJpbmF0aW9uIG9mIGFjY2VudGVkIGN5YW4gYmFja2dyb3VuZCBhbmQg Zm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRp bmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisN CitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVz LWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQgbmlsDQorICAi QSByZWQgYmFja2dyb3VuZCBtZWFudCBmb3IgdXNlIG9uIHRoZSBtb2RlbGluZSBvciBzaW1pbGFy Lg0KK1RoaXMgaXMgY29tYmluZWQgd2l0aCB0aGUgbW9kZWxpbmVzIHByaW1hcnkgZm9yZWdyb3Vu ZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBg bW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1n cmVlbiBuaWwNCisgICJBIGdyZWVuIGJhY2tncm91bmQgbWVhbnQgZm9yIHVzZSBvbiB0aGUgbW9k ZWxpbmUgb3Igc2ltaWxhci4NCitUaGlzIGlzIGNvbWJpbmVkIHdpdGggdGhlIG1vZGVsaW5lcyBw cmltYXJ5IGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1hY3RpdmUteWVsbG93IG5pbA0KKyAgIkEgeWVsbG93IGJhY2tncm91bmQgbWVhbnQg Zm9yIHVzZSBvbiB0aGUgbW9kZWxpbmUgb3Igc2ltaWxhci4NCitUaGlzIGlzIGNvbWJpbmVkIHdp dGggdGhlIG1vZGVsaW5lcyBwcmltYXJ5IGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVh bCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikN CisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSBuaWwNCisgICJBIGJsdWUgYmFj a2dyb3VuZCBtZWFudCBmb3IgdXNlIG9uIHRoZSBtb2RlbGluZSBvciBzaW1pbGFyLg0KK1RoaXMg aXMgY29tYmluZWQgd2l0aCB0aGUgbW9kZWxpbmVzIHByaW1hcnkgZm9yZWdyb3VuZCB2YWx1ZS4N CisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhl bWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhIG5p bA0KKyAgIkEgbWFnZW50YSBiYWNrZ3JvdW5kIG1lYW50IGZvciB1c2Ugb24gdGhlIG1vZGVsaW5l IG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5lZCB3aXRoIHRoZSBtb2RlbGluZXMgcHJpbWFy eSBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBp cyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhl bWUtYWN0aXZlLWN5YW4gbmlsDQorICAiQSBjeWFuIGJhY2tncm91bmQgbWVhbnQgZm9yIHVzZSBv biB0aGUgbW9kZWxpbmUgb3Igc2ltaWxhci4NCitUaGlzIGlzIGNvbWJpbmVkIHdpdGggdGhlIG1v ZGVsaW5lcyBwcmltYXJ5IGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5n IG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVm ZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtcmVkIG5pbA0KKyAgIkEgcmVkIGJhY2tncm91bmQgbWVh bnQgZm9yIHVzZSBvbiB0aGUgZnJpbmdlIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5lZCB3 aXRoIHRoZSBtYWluIGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9m IHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFj ZSBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4gbmlsDQorICAiQSBncmVlbiBiYWNrZ3JvdW5kIG1l YW50IGZvciB1c2Ugb24gdGhlIGZyaW5nZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMgY29tYmluZWQg d2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBv ZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdyBuaWwNCisgICJBIHllbGxvdyBiYWNrZ3JvdW5k IG1lYW50IGZvciB1c2Ugb24gdGhlIGZyaW5nZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMgY29tYmlu ZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUgbmlsDQorICAiQSBibHVlIGJhY2tncm91bmQg bWVhbnQgZm9yIHVzZSBvbiB0aGUgZnJpbmdlIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5l ZCB3aXRoIHRoZSBtYWluIGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5n IG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVm ZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSBuaWwNCisgICJBIG1hZ2VudGEgYmFja2dy b3VuZCBtZWFudCBmb3IgdXNlIG9uIHRoZSBmcmluZ2Ugb3Igc2ltaWxhci4NCitUaGlzIGlzIGNv bWJpbmVkIHdpdGggdGhlIG1haW4gZm9yZWdyb3VuZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFsIHN0 eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0K KyhkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuIG5pbA0KKyAgIkEgY3lhbiBiYWNrZ3Jv dW5kIG1lYW50IGZvciB1c2Ugb24gdGhlIGZyaW5nZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMgY29t YmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwgc3R5 bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQgbmlsDQorICAiQSBudWFuY2VkIHJlZCBi YWNrZ3JvdW5kLg0KK1RoaXMgZG9lcyBub3Qgc3BlY2lmeSBhIGZvcmVncm91bmQgb2YgaXRzIG93 bi4gIEluc3RlYWQgaXQgaXMgbWVhbnQgdG8NCitzZXJ2ZSBhcyB0aGUgYmFja2Ryb3AgZm9yIGVs ZW1lbnRzIHN1Y2ggYXMgT3JnIGJsb2NrcywgaGVhZGluZ3MsIGFuZCBhbnkNCitvdGhlciBzdXJm YWNlIHRoYXQgbmVlZHMgdG8gcmV0YWluIHRoZSBjb2xvcnMgb24gZGlzcGxheS4NCisNCitUaGUg YWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2Vz Jy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4gbmlsDQorICAiQSBu dWFuY2VkIGdyZWVuIGJhY2tncm91bmQuDQorVGhpcyBkb2VzIG5vdCBzcGVjaWZ5IGEgZm9yZWdy b3VuZCBvZiBpdHMgb3duLiAgSW5zdGVhZCBpdCBpcyBtZWFudCB0bw0KK3NlcnZlIGFzIHRoZSBi YWNrZHJvcCBmb3IgZWxlbWVudHMgc3VjaCBhcyBPcmcgYmxvY2tzLCBoZWFkaW5ncywgYW5kIGFu eQ0KK290aGVyIHN1cmZhY2UgdGhhdCBuZWVkcyB0byByZXRhaW4gdGhlIGNvbG9ycyBvbiBkaXNw bGF5Lg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1 cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxs b3cgbmlsDQorICAiQSBudWFuY2VkIHllbGxvdyBiYWNrZ3JvdW5kLg0KK1RoaXMgZG9lcyBub3Qg c3BlY2lmeSBhIGZvcmVncm91bmQgb2YgaXRzIG93bi4gIEluc3RlYWQgaXQgaXMgbWVhbnQgdG8N CitzZXJ2ZSBhcyB0aGUgYmFja2Ryb3AgZm9yIGVsZW1lbnRzIHN1Y2ggYXMgT3JnIGJsb2Nrcywg aGVhZGluZ3MsIGFuZCBhbnkNCitvdGhlciBzdXJmYWNlIHRoYXQgbmVlZHMgdG8gcmV0YWluIHRo ZSBjb2xvcnMgb24gZGlzcGxheS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2Ug aXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRo ZW1lLW51YW5jZWQtYmx1ZSBuaWwNCisgICJBIG51YW5jZWQgYmx1ZSBiYWNrZ3JvdW5kLg0KK1Ro aXMgZG9lcyBub3Qgc3BlY2lmeSBhIGZvcmVncm91bmQgb2YgaXRzIG93bi4gIEluc3RlYWQgaXQg aXMgbWVhbnQgdG8NCitzZXJ2ZSBhcyB0aGUgYmFja2Ryb3AgZm9yIGVsZW1lbnRzIHN1Y2ggYXMg T3JnIGJsb2NrcywgaGVhZGluZ3MsIGFuZCBhbnkNCitvdGhlciBzdXJmYWNlIHRoYXQgbmVlZHMg dG8gcmV0YWluIHRoZSBjb2xvcnMgb24gZGlzcGxheS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcg b2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZm YWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSBuaWwNCisgICJBIG51YW5jZWQgbWFnZW50 YSBiYWNrZ3JvdW5kLg0KK1RoaXMgZG9lcyBub3Qgc3BlY2lmeSBhIGZvcmVncm91bmQgb2YgaXRz IG93bi4gIEluc3RlYWQgaXQgaXMgbWVhbnQgdG8NCitzZXJ2ZSBhcyB0aGUgYmFja2Ryb3AgZm9y IGVsZW1lbnRzIHN1Y2ggYXMgT3JnIGJsb2NrcywgaGVhZGluZ3MsIGFuZCBhbnkNCitvdGhlciBz dXJmYWNlIHRoYXQgbmVlZHMgdG8gcmV0YWluIHRoZSBjb2xvcnMgb24gZGlzcGxheS4NCisNCitU aGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZh Y2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbiBuaWwNCisgICJB IG51YW5jZWQgY3lhbiBiYWNrZ3JvdW5kLg0KK1RoaXMgZG9lcyBub3Qgc3BlY2lmeSBhIGZvcmVn cm91bmQgb2YgaXRzIG93bi4gIEluc3RlYWQgaXQgaXMgbWVhbnQgdG8NCitzZXJ2ZSBhcyB0aGUg YmFja2Ryb3AgZm9yIGVsZW1lbnRzIHN1Y2ggYXMgT3JnIGJsb2NrcywgaGVhZGluZ3MsIGFuZCBh bnkNCitvdGhlciBzdXJmYWNlIHRoYXQgbmVlZHMgdG8gcmV0YWluIHRoZSBjb2xvcnMgb24gZGlz cGxheS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9k dXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtY29s ZCBuaWwNCisgICJDb21iaW5lcyB0aGUgJ3NwZWNpYWwgY29sZCcgYmFja2dyb3VuZCBhbmQgZm9y ZWdyb3VuZCB2YWx1ZXMuDQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgY2FzZXMgd2hlbiBhIG5ldXRy YWwgZ3JheSBiYWNrZ3JvdW5kIGlzIG5vdA0KK3N1aXRhYmxlIGFuZCB3aGVyZSBhIGNvbWJpbmF0 aW9uIG9mIG1vcmUgc2F0dXJhdGVkIGNvbG9ycyB3b3VsZCBub3QgYmUNCithcHByb3ByaWF0ZS4N CisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhl bWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCBuaWwN CisgICJDb21iaW5lcyB0aGUgJ3NwZWNpYWwgbWlsZCcgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3Vu ZCB2YWx1ZXMuDQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgY2FzZXMgd2hlbiBhIG5ldXRyYWwgZ3Jh eSBiYWNrZ3JvdW5kIGlzIG5vdA0KK3N1aXRhYmxlIGFuZCB3aGVyZSBhIGNvbWJpbmF0aW9uIG9m IG1vcmUgc2F0dXJhdGVkIGNvbG9ycyB3b3VsZCBub3QgYmUNCithcHByb3ByaWF0ZS4NCisNCitU aGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZh Y2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSBuaWwNCisgICJD b21iaW5lcyB0aGUgJ3NwZWNpYWwgd2FybScgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2YWx1 ZXMuDQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgY2FzZXMgd2hlbiBhIG5ldXRyYWwgZ3JheSBiYWNr Z3JvdW5kIGlzIG5vdA0KK3N1aXRhYmxlIGFuZCB3aGVyZSBhIGNvbWJpbmF0aW9uIG9mIG1vcmUg c2F0dXJhdGVkIGNvbG9ycyB3b3VsZCBub3QgYmUNCithcHByb3ByaWF0ZS4NCisNCitUaGUgYWN0 dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4i KQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSBuaWwNCisgICJDb21iaW5l cyB0aGUgJ3NwZWNpYWwgY2FsbScgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2YWx1ZXMuDQor VGhpcyBpcyBpbnRlbmRlZCBmb3IgY2FzZXMgd2hlbiBhIG5ldXRyYWwgZ3JheSBiYWNrZ3JvdW5k IGlzIG5vdA0KK3N1aXRhYmxlIGFuZCB3aGVyZSBhIGNvbWJpbmF0aW9uIG9mIG1vcmUgc2F0dXJh dGVkIGNvbG9ycyB3b3VsZCBub3QgYmUNCithcHByb3ByaWF0ZS4NCisNCitUaGUgYWN0dWFsIHN0 eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0K KyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQgbmlsDQorICAiQ29tYmluZXMgZ3JlZW4g Y29sb3JzIGZvciB0aGUgJ2FkZGVkJyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBwbGllZCBjb2xv cnMgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRoZW1l cy1kaWZmcycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkg YG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWNo YW5nZWQgbmlsDQorICAiQ29tYmluZXMgeWVsbG93IGNvbG9ycyBmb3IgdGhlICdjaGFuZ2VkJyBz dGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBwbGllZCBjb2xvcnMgYXJlIGNvbnRpbmdlbnQgb24gdGhl IHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRoZW1lcy1kaWZmcycuDQorDQorVGhlIGFjdHVh bCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikN CisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQgbmlsDQorICAiQ29tYmluZXMg cmVkIGNvbG9ycyBmb3IgdGhlICdyZW1vdmVkJyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBwbGll ZCBjb2xvcnMgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVz LXRoZW1lcy1kaWZmcycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRv bmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1k aWZmLXJlZmluZS1hZGRlZCBuaWwNCisgICJDb21iaW5lcyBncmVlbiBjb2xvcnMgZm9yIHdvcmQt d2lzZSAnYWRkZWQnIHN0YXRlIGluIGRpZmZzLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBhcmUgY29u dGluZ2VudCBvbiB0aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRpZmZzJy4N CisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhl bWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5n ZWQgbmlsDQorICAiQ29tYmluZXMgeWVsbG93IGNvbG9ycyBmb3Igd29yZC13aXNlICdjaGFuZ2Vk JyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBwbGllZCBjb2xvcnMgYXJlIGNvbnRpbmdlbnQgb24g dGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRoZW1lcy1kaWZmcycuDQorDQorVGhlIGFj dHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycu IikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkIG5pbA0KKyAg IkNvbWJpbmVzIHJlZCBjb2xvcnMgZm9yIHdvcmQtd2lzZSAncmVtb3ZlZCcgc3RhdGUgaW4gZGlm ZnMuDQorVGhlIGFwcGxpZWQgY29sb3JzIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZSBhc3Np Z25lZCB0bw0KK2Btb2R1cy10aGVtZXMtZGlmZnMnLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBv ZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCBuaWwNCisgICJDb21iaW5lcyBncmVlbiBj b2xvcnMgZm9yIHRoZSBmb2N1c2VkICdhZGRlZCcgc3RhdGUgaW4gZGlmZnMuDQorVGhlIGFwcGxp ZWQgY29sb3JzIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZSBhc3NpZ25lZCB0bw0KK2Btb2R1 cy10aGVtZXMtZGlmZnMnLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBk b25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUt ZGlmZi1mb2N1cy1jaGFuZ2VkIG5pbA0KKyAgIkNvbWJpbmVzIHllbGxvdyBjb2xvcnMgZm9yIHRo ZSBmb2N1c2VkICdjaGFuZ2VkJyBzdGF0ZSBpbi4NCitUaGUgYXBwbGllZCBjb2xvcnMgYXJlIGNv bnRpbmdlbnQgb24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRoZW1lcy1kaWZmcycu DQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRo ZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92 ZWQgbmlsDQorICAiQ29tYmluZXMgcmVkIGNvbG9ycyBmb3IgdGhlIGZvY3VzZWQgJ3JlbW92ZWQn IHN0YXRlIGluIGRpZmZzLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBhcmUgY29udGluZ2VudCBvbiB0 aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRpZmZzJy4NCisNCitUaGUgYWN0 dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4i KQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZyBuaWwNCisgICJDb21iaW5l cyBibHVlIGNvbG9ycyBmb3IgdGhlIGRpZmYgaHVuayBoZWFkaW5nLg0KK1RoZSBhcHBsaWVkIGNv bG9ycyBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMtdGhl bWVzLWRpZmZzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBi eSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXBzZXVk by1oZWFkZXIgbmlsDQorICAiR2VuZXJpYyBzdHlsZSBmb3Igc29tZSBlbGVtZW50cyB0aGF0IGZ1 bmN0aW9uIGxpa2UgaGVhZGluZ3MuDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlz IGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVt ZS1tYXJrLWFsdCBuaWwNCisgICJDb21iaW5lcyB5ZWxsb3cgY29sb3JzIGZvciBtYXJraW5nIHNw ZWNpYWwgbGluZXMNCitUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgaW4gbW9kZXMgc3VjaCBhcyBE aXJlZCwgSWJ1ZmZlciwgUHJvY2VkLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFj ZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMt dGhlbWUtbWFyay1kZWwgbmlsDQorICAiQ29tYmluZXMgcmVkIGNvbG9ycyBmb3IgbWFya2luZyBk ZWxldGFibGUgbGluZXMNCitUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgaW4gbW9kZXMgc3VjaCBh cyBEaXJlZCwgSWJ1ZmZlciwgUHJvY2VkLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUg ZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9k dXMtdGhlbWUtbWFyay1zZWwgbmlsDQorICAiQ29tYmluZXMgZ3JlZW4gY29sb3JzIGZvciBtYXJr aW5nIGxpbmVzDQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIG1vZGVzIHN1Y2ggYXMgRGly ZWQsIElidWZmZXIsIFByb2NlZC4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2Ug aXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRo ZW1lLW1hcmstc3ltYm9sIG5pbA0KKyAgIkFwcGxpZXMgYSBibHVlIGNvbG9yIGFuZCBvdGhlciBz dHlsZXMgZm9yIG1hcmsgaW5kaWNhdG9ycy4NCitUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgaW4g bW9kZXMgc3VjaCBhcyBEaXJlZCwgSWJ1ZmZlciwgUHJvY2VkLg0KKw0KK1RoZSBhY3R1YWwgc3R5 bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0xIG5pbA0KKyAgIkdlbmVyYWwgcHVycG9zZSBm YWNlIGZvciB1c2UgaW4gaGVhZGluZ3MgbGV2ZWwgMQ0KK1RoZSBleGFjdCBhdHRyaWJ1dGVzIGFz c2lnbmVkIHRvIHRoaXMgZmFjZSBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWVzDQorYXNzaWdu ZWQgdG8gdGhlIGBtb2R1cy10aGVtZXMtaGVhZGluZ3MnIHZhcmlhYmxlLg0KKw0KK1RoZSBhY3R1 YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIp DQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0yIG5pbA0KKyAgIkdlbmVyYWwgcHVy cG9zZSBmYWNlIGZvciB1c2UgaW4gaGVhZGluZ3MgbGV2ZWwgMi4NCitUaGUgZXhhY3QgYXR0cmli dXRlcyBhc3NpZ25lZCB0byB0aGlzIGZhY2UgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlcw0K K2Fzc2lnbmVkIHRvIHRoZSBgbW9kdXMtdGhlbWVzLWhlYWRpbmdzJyB2YXJpYWJsZS4NCisNCitU aGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZh Y2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctMyBuaWwNCisgICJHZW5l cmFsIHB1cnBvc2UgZmFjZSBmb3IgdXNlIGluIGhlYWRpbmdzIGxldmVsIDMuDQorVGhlIGV4YWN0 IGF0dHJpYnV0ZXMgYXNzaWduZWQgdG8gdGhpcyBmYWNlIGFyZSBjb250aW5nZW50IG9uIHRoZSB2 YWx1ZXMNCithc3NpZ25lZCB0byB0aGUgYG1vZHVzLXRoZW1lcy1oZWFkaW5ncycgdmFyaWFibGUu DQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRo ZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTQgbmlsDQor ICAiR2VuZXJhbCBwdXJwb3NlIGZhY2UgZm9yIHVzZSBpbiBoZWFkaW5ncyBsZXZlbCA0Lg0KK1Ro ZSBleGFjdCBhdHRyaWJ1dGVzIGFzc2lnbmVkIHRvIHRoaXMgZmFjZSBhcmUgY29udGluZ2VudCBv biB0aGUgdmFsdWVzDQorYXNzaWduZWQgdG8gdGhlIGBtb2R1cy10aGVtZXMtaGVhZGluZ3MnIHZh cmlhYmxlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBt b2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy01 IG5pbA0KKyAgIkdlbmVyYWwgcHVycG9zZSBmYWNlIGZvciB1c2UgaW4gaGVhZGluZ3MgbGV2ZWwg NS4NCitUaGUgZXhhY3QgYXR0cmlidXRlcyBhc3NpZ25lZCB0byB0aGlzIGZhY2UgYXJlIGNvbnRp bmdlbnQgb24gdGhlIHZhbHVlcw0KK2Fzc2lnbmVkIHRvIHRoZSBgbW9kdXMtdGhlbWVzLWhlYWRp bmdzJyB2YXJpYWJsZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWhl YWRpbmctNiBuaWwNCisgICJHZW5lcmFsIHB1cnBvc2UgZmFjZSBmb3IgdXNlIGluIGhlYWRpbmdz IGxldmVsIDYuDQorVGhlIGV4YWN0IGF0dHJpYnV0ZXMgYXNzaWduZWQgdG8gdGhpcyBmYWNlIGFy ZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZXMNCithc3NpZ25lZCB0byB0aGUgYG1vZHVzLXRoZW1l cy1oZWFkaW5ncycgdmFyaWFibGUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNl IGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1oZWFkaW5nLTcgbmlsDQorICAiR2VuZXJhbCBwdXJwb3NlIGZhY2UgZm9yIHVzZSBpbiBo ZWFkaW5ncyBsZXZlbCA3Lg0KK1RoZSBleGFjdCBhdHRyaWJ1dGVzIGFzc2lnbmVkIHRvIHRoaXMg ZmFjZSBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWVzDQorYXNzaWduZWQgdG8gdGhlIGBtb2R1 cy10aGVtZXMtaGVhZGluZ3MnIHZhcmlhYmxlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0 aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtaGVhZGluZy04IG5pbA0KKyAgIkdlbmVyYWwgcHVycG9zZSBmYWNlIGZvciB1 c2UgaW4gaGVhZGluZ3MgbGV2ZWwgOC4NCitUaGUgZXhhY3QgYXR0cmlidXRlcyBhc3NpZ25lZCB0 byB0aGlzIGZhY2UgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlcw0KK2Fzc2lnbmVkIHRvIHRo ZSBgbW9kdXMtdGhlbWVzLWhlYWRpbmdzJyB2YXJpYWJsZS4NCisNCitUaGUgYWN0dWFsIHN0eWxp bmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhk ZWZmYWNlIG1vZHVzLXRoZW1lLWhsLWxpbmUgbmlsDQorICAiR2VuZXJhbCBwdXJwb3NlIGZhY2Ug Zm9yIHRoZSBjdXJyZW50IGxpbmUuDQorVGhlIGV4YWN0IGF0dHJpYnV0ZXMgYXNzaWduZWQgdG8g dGhpcyBmYWNlIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZXMNCithc3NpZ25lZCB0byB0aGUg YG1vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUnIHZhcmlhYmxlLg0KKw0KK1RoZSBhY3R1YWwg c3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQor DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYm9sZCBuaWwNCisgICJHZW5lcmljIGZhY2UgZm9yIGFw cGx5aW5nIGEgY29uZGl0aW9uYWwgYm9sZCB3ZWlnaHQuDQorVGhpcyBiZWhhdmVzIGluIGFjY29y ZGFuY2Ugd2l0aCBgbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cycuDQorDQorVGhlIGFjdHVh bCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikN CisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zbGFudCBuaWwNCisgICJHZW5lcmljIGZhY2UgZm9y IGFwcGx5aW5nIGEgY29uZGl0aW9uYWwgc2xhbnQgKGl0YWxpY3MpLg0KK1RoaXMgYmVoYXZlcyBp biBhY2NvcmRhbmNlIHdpdGggYG1vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMnLg0KKw0K K1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMt ZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggbmlsDQor ICAiR2VuZXJpYyBmYWNlIGZvciBhcHBseWluZyBhIGNvbmRpdGlvbmFsIGB2YXJpYWJsZS1waXRj aCcuDQorVGhpcyBiZWhhdmVzIGluIGFjY29yZGFuY2Ugd2l0aCBgbW9kdXMtdGhlbWVzLW5vLW1p eGVkLWZvbnRzJywNCitgbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzJyBmb3Ig YWxsIGhlYWRpbmcgbGV2ZWxzLCBhbmQNCitgbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLXVp Jy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMt dGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBoLXJlZC0wIG5p bA0KKyAgIlNwZWNpYWwgc3ViZHVlZCByZWQgZmFjZSBmb3IgdXNlIGluIGdyYXBocy4NCitUaGlz IGlzIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgaW4gY29udGV4dHMgc3VjaCBhcyB0aGUgT3JnIGFn ZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJlIGZhaXRoZnVsbmVzcyB0byB0aGUgc2VtYW50aWNzIG9m IGEgY29sb3IgdmFsdWUgaXMgb2YNCitwYXJhbW91bnQgaW1wb3J0YW5jZS4NCisNCitUaGUgYWN0 dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4i KQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBoLXJlZC0xIG5pbA0KKyAgIlNwZWNpYWwg cHJvbWluZW50IHJlZCBmYWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5kZWQg dG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0DQor Z3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2YWx1 ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBv ZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZ3JhcGgtZ3JlZW4tMCBuaWwNCisgICJTcGVjaWFsIHN1YmR1ZWQgZ3Jl ZW4gZmFjZSBmb3IgdXNlIGluIGdyYXBocy4NCitUaGlzIGlzIGludGVuZGVkIHRvIGJlIGFwcGxp ZWQgaW4gY29udGV4dHMgc3VjaCBhcyB0aGUgT3JnIGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJl IGZhaXRoZnVsbmVzcyB0byB0aGUgc2VtYW50aWNzIG9mIGEgY29sb3IgdmFsdWUgaXMgb2YNCitw YXJhbW91bnQgaW1wb3J0YW5jZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2Ug aXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRo ZW1lLWdyYXBoLWdyZWVuLTEgbmlsDQorICAiU3BlY2lhbCBwcm9taW5lbnQgZ3JlZW4gZmFjZSBm b3IgdXNlIGluIGdyYXBocy4NCitUaGlzIGlzIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgaW4gY29u dGV4dHMgc3VjaCBhcyB0aGUgT3JnIGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJlIGZhaXRoZnVs bmVzcyB0byB0aGUgc2VtYW50aWNzIG9mIGEgY29sb3IgdmFsdWUgaXMgb2YNCitwYXJhbW91bnQg aW1wb3J0YW5jZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBi eSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBo LXllbGxvdy0wIG5pbA0KKyAgIlNwZWNpYWwgc3ViZHVlZCB5ZWxsb3cgZmFjZSBmb3IgdXNlIGlu IGdyYXBocy4NCitUaGlzIGlzIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgaW4gY29udGV4dHMgc3Vj aCBhcyB0aGUgT3JnIGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJlIGZhaXRoZnVsbmVzcyB0byB0 aGUgc2VtYW50aWNzIG9mIGEgY29sb3IgdmFsdWUgaXMgb2YNCitwYXJhbW91bnQgaW1wb3J0YW5j ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMt dGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBoLXllbGxvdy0x IG5pbA0KKyAgIlNwZWNpYWwgcHJvbWluZW50IHllbGxvdyBmYWNlIGZvciB1c2UgaW4gZ3JhcGhz Lg0KK1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRo ZSBPcmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1h bnRpY3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0K K1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMt ZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZ3JhcGgtYmx1ZS0wIG5pbA0KKyAg IlNwZWNpYWwgc3ViZHVlZCBibHVlIGZhY2UgZm9yIHVzZSBpbiBncmFwaHMuDQorVGhpcyBpcyBp bnRlbmRlZCB0byBiZSBhcHBsaWVkIGluIGNvbnRleHRzIHN1Y2ggYXMgdGhlIE9yZyBhZ2VuZGEg aGFiaXQNCitncmFwaCB3aGVyZSBmYWl0aGZ1bG5lc3MgdG8gdGhlIHNlbWFudGljcyBvZiBhIGNv bG9yIHZhbHVlIGlzIG9mDQorcGFyYW1vdW50IGltcG9ydGFuY2UuDQorDQorVGhlIGFjdHVhbCBz dHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisN CisoZGVmZmFjZSBtb2R1cy10aGVtZS1ncmFwaC1ibHVlLTEgbmlsDQorICAiU3BlY2lhbCBwcm9t aW5lbnQgYmx1ZSBmYWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5kZWQgdG8g YmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0DQorZ3Jh cGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2YWx1ZSBp cyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0 aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtZ3JhcGgtbWFnZW50YS0wIG5pbA0KKyAgIlNwZWNpYWwgc3ViZHVlZCBtYWdl bnRhIGZhY2UgZm9yIHVzZSBpbiBncmFwaHMuDQorVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBhcHBs aWVkIGluIGNvbnRleHRzIHN1Y2ggYXMgdGhlIE9yZyBhZ2VuZGEgaGFiaXQNCitncmFwaCB3aGVy ZSBmYWl0aGZ1bG5lc3MgdG8gdGhlIHNlbWFudGljcyBvZiBhIGNvbG9yIHZhbHVlIGlzIG9mDQor cGFyYW1vdW50IGltcG9ydGFuY2UuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNl IGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1ncmFwaC1tYWdlbnRhLTEgbmlsDQorICAiU3BlY2lhbCBwcm9taW5lbnQgbWFnZW50YSBm YWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCBp biBjb250ZXh0cyBzdWNoIGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUgZmFp dGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3BhcmFt b3VudCBpbXBvcnRhbmNlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBk b25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUt Z3JhcGgtY3lhbi0wIG5pbA0KKyAgIlNwZWNpYWwgc3ViZHVlZCBjeWFuIGZhY2UgZm9yIHVzZSBp biBncmFwaHMuDQorVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBhcHBsaWVkIGluIGNvbnRleHRzIHN1 Y2ggYXMgdGhlIE9yZyBhZ2VuZGEgaGFiaXQNCitncmFwaCB3aGVyZSBmYWl0aGZ1bG5lc3MgdG8g dGhlIHNlbWFudGljcyBvZiBhIGNvbG9yIHZhbHVlIGlzIG9mDQorcGFyYW1vdW50IGltcG9ydGFu Y2UuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVz LXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1ncmFwaC1jeWFuLTEg bmlsDQorICAiU3BlY2lhbCBwcm9taW5lbnQgY3lhbiBmYWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0K K1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRoZSBP cmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRp Y3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0KK1Ro ZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFj ZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbGFuZy1ub3RlIG5pbA0KKyAgIkdlbmVy aWMgZmFjZSBmb3IgbGludGVyIG9yIHNwZWxsIGNoZWNrZXIgbm90ZXMuDQorVGhlIGV4YWN0IGF0 dHJpYnV0ZXMgYW5kIGNvbG9yIGNvbWJpbmF0aW9ucyBhcmUgY29udHJvbGxlZCBieQ0KK2Btb2R1 cy10aGVtZXMtbGFuZy1jaGVja2VycycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1sYW5nLXdhcm5pbmcgbmlsDQorICAiR2VuZXJpYyBmYWNlIGZvciBsaW50ZXIgb3Ig c3BlbGwgY2hlY2tlciB3YXJuaW5ncy4NCitUaGUgZXhhY3QgYXR0cmlidXRlcyBhbmQgY29sb3Ig Y29tYmluYXRpb25zIGFyZSBjb250cm9sbGVkIGJ5DQorYG1vZHVzLXRoZW1lcy1sYW5nLWNoZWNr ZXJzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9k dXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWxhbmctZXJyb3Ig bmlsDQorICAiR2VuZXJpYyBmYWNlIGZvciBsaW50ZXIgb3Igc3BlbGwgY2hlY2tlciBlcnJvcnMu DQorVGhlIGV4YWN0IGF0dHJpYnV0ZXMgYW5kIGNvbG9yIGNvbWJpbmF0aW9ucyBhcmUgY29udHJv bGxlZCBieQ0KK2Btb2R1cy10aGVtZXMtbGFuZy1jaGVja2VycycuDQorDQorVGhlIGFjdHVhbCBz dHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisN CisMDQorDQorOzs7IEN1c3RvbWl6YXRpb24gb3B0aW9ucw0KKw0KKzs7OzsgQ3VycmVudCBjdXN0 b21pemF0aW9uIG9wdGlvbnMgKD49IDEuMC4wKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVz LW9wZXJhbmRpLWNvbG9yLW92ZXJyaWRlcyBuaWwNCisgICJPdmVycmlkZSBjb2xvcnMgaW4gdGhl IE1vZHVzIE9wZXJhbmRpIHBhbGV0dGUuDQorDQorRm9yIGZvcm0sIHNlZSBgbW9kdXMtdGhlbWVz LW9wZXJhbmRpLWNvbG9ycycuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdl LXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4xLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQor ICA6dHlwZSAnKGFsaXN0IDprZXktdHlwZSBzeW1ib2wgOnZhbHVlLXR5cGUgY29sb3IpDQorICA6 bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgT3ZlcnJpZGUgY29sb3JzIChESVkpIikp DQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvci1vdmVycmlkZXMgbmls DQorICAiT3ZlcnJpZGUgY29sb3JzIGluIHRoZSBNb2R1cyBWaXZlbmRpIHBhbGV0dGUuDQorDQor Rm9yIGZvcm0sIHNlZSBgbW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzJy4iDQorICA6Z3JvdXAg J21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjEu MCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoYWxpc3QgOmtleS10eXBlIHN5bWJv bCA6dmFsdWUtdHlwZSBjb2xvcikNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVz KSBPdmVycmlkZSBjb2xvcnMgKERJWSkiKSkNCisNCis7OyBUaGUgYnl0ZSBjb21waWxlciBjb21w bGFpbnMgd2hlbiBhIGRlZmN1c3RvbSBpc24ndCBhIHRvcCBsZXZlbCBmb3JtDQorKGxldCogKChu YW1lcyAobWFwY2FyIChsYW1iZGEgKHBhaXIpDQorICAgICAgICAgICAgICAgICAgICAgICAgKHN5 bWJvbC1uYW1lIChjYXIgcGFpcikpKQ0KKyAgICAgICAgICAgICAgICAgICAgICBtb2R1cy10aGVt ZXMtb3BlcmFuZGktY29sb3JzKSkNCisgICAgICAgKGNvbG9ycyAobWFwY2FyICMnaW50ZXJuIChz b3J0IG5hbWVzICMnc3RyaW5nPCkpKSkNCisgIChwdXQgJ21vZHVzLXRoZW1lcy1vcGVyYW5kaS1j b2xvci1vdmVycmlkZXMNCisgICAgICAgJ2N1c3RvbS1vcHRpb25zIChjb3B5LXNlcXVlbmNlIGNv bG9ycykpDQorICAocHV0ICdtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvci1vdmVycmlkZXMNCisg ICAgICAgJ2N1c3RvbS1vcHRpb25zIChjb3B5LXNlcXVlbmNlIGNvbG9ycykpKQ0KKw0KKyhkZWZj dXN0b20gbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cyBuaWwNCisgICJVc2Ugc2xhbnRl ZCB0ZXh0IGluIG1vcmUgY29kZSBjb25zdHJ1Y3RzIChpdGFsaWNzIG9yIG9ibGlxdWUpLiINCisg IDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVz IC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDps aW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBTbGFudGVkIGNvbnN0cnVjdHMiKSkNCisN CisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMgbmlsDQorICAiVXNlIGJv bGQgdGV4dCBpbiBtb3JlIGNvZGUgY29uc3RydWN0cy4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1l cw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVy c2lvbiAiMjguMSINCisgIDp0eXBlICdib29sZWFuDQorICA6bGluayAnKGluZm8tbGluayAiKG1v ZHVzLXRoZW1lcykgQm9sZCBjb25zdHJ1Y3RzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVt ZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgbmlsDQorICAiVXNlIHByb3BvcnRpb25hbCBmb250 cyAodmFyaWFibGUtcGl0Y2gpIGluIGhlYWRpbmdzLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVz DQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJz aW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICcoaW5mby1saW5rICIobW9k dXMtdGhlbWVzKSBIZWFkaW5ncycgdHlwZWZhY2UiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRo ZW1lcy12YXJpYWJsZS1waXRjaC11aSBuaWwNCisgICJVc2UgcHJvcG9ydGlvbmFsIGZvbnRzICh2 YXJpYWJsZS1waXRjaCkgaW4gVUkgZWxlbWVudHMuDQorVGhpcyBpbmNsdWRlcyB0aGUgbW9kZSBs aW5lLCBoZWFkZXIgbGluZSwgdGFiIGJhciwgYW5kIHRhYiBsaW5lLiINCisgIDpncm91cCAnbW9k dXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMS4wIikN CisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICcoaW5mby1s aW5rICIobW9kdXMtdGhlbWVzKSBVSSB0eXBlZmFjZSIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMt dGhlbWVzLW5vLW1peGVkLWZvbnRzIG5pbA0KKyAgIkRpc2FibGUgaW5oZXJpdGFuY2UgZnJvbSBg Zml4ZWQtcGl0Y2gnIGluIHNvbWUgZmFjZXMuDQorDQorVGhpcyBpcyBkb25lIGJ5IGRlZmF1bHQg dG8gYWxsb3cgc3BhY2luZy1zZW5zaXRpdmUgY29uc3RydWN0cywNCitzdWNoIGFzIE9yZyB0YWJs ZXMgYW5kIGNvZGUgYmxvY2tzLCB0byByZW1haW4gbW9ub3NwYWNlZCB3aGVuDQordXNlcnMgb3B0 IGZvciBzb21ldGhpbmcgbGlrZSB0aGUgY29tbWFuZCBgdmFyaWFibGUtcGl0Y2gtbW9kZScuDQor VGhlIGRvd25zaWRlIHdpdGggdGhlIGRlZmF1bHQgaXMgdGhhdCB1c2VycyBuZWVkIHRvIGV4cGxp Y2l0bHkNCitjb25maWd1cmUgdGhlIGZvbnQgZmFtaWx5IG9mIGBmaXhlZC1waXRjaCcgaW4gb3Jk ZXIgdG8gZ2V0IGENCitjb25zaXN0ZW50IGV4cGVyaWVuY2UuICBUaGF0IG1heSBiZSBzb21ldGhp bmcgdGhleSBkbyBub3Qgd2FudCB0bw0KK2RvLiAgSGVuY2UgdGhpcyBvcHRpb24gdG8gZGlzYWJs ZSBhbnkga2luZCBvZiB0ZWNobmlxdWUgZm9yDQorbWl4aW5nIGZvbnRzLiINCisgIDpncm91cCAn bW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4w IikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICcoaW5m by1saW5rICIobW9kdXMtdGhlbWVzKSBObyBtaXhlZCBmb250cyIpKQ0KKw0KKyhkZWZjdXN0b20g bW9kdXMtdGhlbWVzLWhlYWRpbmdzDQorICAnKCh0IC4gbmlsKSkNCisgICJBbGlzdCBvZiBzdHls ZXMgZm9yIGhlYWRpbmdzLCB3aXRoIG9wdGlvbmFsIHZhbHVlIHBlciBsZXZlbC4NCisNCitUbyBj b250cm9sIGZhY2VzIHBlciBsZXZlbCBmcm9tIDEtOCwgdXNlIHNvbWV0aGluZyBsaWtlIHRoaXM6 DQorDQorICAoc2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCisgICAgICAgICcoKDEgLiBoaWdo bGlnaHQpDQorICAgICAgICAgICgyIC4gbGluZSkNCisgICAgICAgICAgKHQgLiByYWluYm93LWxp bmUtbm8tYm9sZCkpKQ0KKw0KK1RvIHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBoZWFkaW5n IGxldmVscywgdXNlIHRoaXMgcGF0dGVybjoNCisNCisgIChzZXRxIG1vZHVzLXRoZW1lcy1oZWFk aW5ncw0KKyAgICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQorDQorVGhlIGRl ZmF1bHQgdXNlcyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHZhbHVlIGluDQorY29t YmluYXRpb24gd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0aGlz DQorc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2ZSBh bm90aGVyDQorZmFsbGJhY2sgb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRoZSB2YWx1ZSB0IGxpa2Ug dGhpczoNCisNCisgIChzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAgICAgICAgJygoMSAu IHQpDQorICAgICAgICAgICgyIC4gbGluZSkNCisgICAgICAgICAgKHQgLiByYWluYm93LWxpbmUt bm8tYm9sZCkpKQ0KKw0KK0EgZGVzY3JpcHRpb24gb2YgYWxsIHBvc3NpYmxlIHZhbHVlczoNCisN CisrIGBuby1ib2xkJyByZXRhaW5zIHRoZSBkZWZhdWx0IHRleHQgY29sb3Igd2hpbGUgcmVtb3Zp bmcgdGhlDQorICB0eXBvZ3JhcGhpYyB3ZWlnaHQuDQorDQorKyBgbGluZScgaXMgdGhlIHNhbWUg YXMgdGhlIGRlZmF1bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZQ0KKyAgaGVhZGluZy4NCisN CisrIGBsaW5lLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBsaW5lJyB3aXRob3V0IGJvbGQgd2Vp Z2h0Lg0KKw0KKysgYHJhaW5ib3cnIHVzZXMgYSBtb3JlIGNvbG9yZnVsIGZvcmVncm91bmQgaW4g Y29tYmluYXRpb24gd2l0aA0KKyAgYm9sZCB3ZWlnaHQuDQorDQorKyBgcmFpbmJvdy1saW5lJyBp cyB0aGUgc2FtZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBvdmVybGluZS4NCisNCisrIGByYWluYm93 LWxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctbGluZScgd2l0aG91dA0KKyAg dGhlIGJvbGQgd2VpZ2h0Lg0KKw0KKysgYGhpZ2hsaWdodCcgcmV0YWlucyB0aGUgZGVmYXVsdCBz dHlsZSBvZiBhIGZhaXJseSBkZXNhdHVyYXRlZA0KKyAgZm9yZWdyb3VuZCBjb21iaW5lZCB3aXRo IGEgYm9sZCB3ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1YnRsZQ0KKyAgYWNjZW50ZWQgYmFja2dy b3VuZC4NCisNCisrIGBoaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdo dCcgd2l0aG91dCBhIGJvbGQNCisgIHdlaWdodC4NCisNCisrIGByYWluYm93LWhpZ2hsaWdodCcg aXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdpdGggYSBtb3JlDQorICBjb2xvcmZ1bCBm b3JlZ3JvdW5kLg0KKw0KKysgYHJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQnIGlzIHRoZSBzYW1l IGFzIGByYWluYm93LWhpZ2hsaWdodCcNCisgIHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCisNCisr IGBzZWN0aW9uJyByZXRhaW5zIHRoZSBkZWZhdWx0IGxvb2tzIGFuZCBhZGRzIHRvIHRoZW0gYm90 aCBhbg0KKyAgb3ZlcmxpbmUgYW5kIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZC4gIEl0 IGlzLCBpbiBlZmZlY3QsDQorICBhIGNvbWJpbmF0aW9uIG9mIHRoZSBgbGluZScgYW5kIGBoaWdo bGlnaHQnIHZhbHVlcy4NCisNCisrIGBzZWN0aW9uLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBz ZWN0aW9uJyB3aXRob3V0IGEgYm9sZA0KKyAgd2VpZ2h0Lg0KKw0KKysgYHJhaW5ib3ctc2VjdGlv bicgaXMgdGhlIHNhbWUgYXMgYHNlY3Rpb24nIGJ1dCB3aXRoIGEgbW9yZQ0KKyAgY29sb3JmdWwg Zm9yZWdyb3VuZC4NCisNCisrIGByYWluYm93LXNlY3Rpb24tbm8tYm9sZCcgaXMgdGhlIHNhbWUg YXMgYHJhaW5ib3ctc2VjdGlvbicNCisgIHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCisNCisrIGBu by1jb2xvcicgZG9lcyBub3QgYXBwbHkgYW55IGNvbG9yIHRvIHRoZSBoZWFkaW5nLCBtZWFuaW5n DQorICB0aGF0IGl0IHVzZXMgdGhlIGZvcmVncm91bmQgb2YgdGhlIGBkZWZhdWx0JyBmYWNlLiAg SXQgc3RpbGwNCisgIHJlbmRlcnMgdGhlIHRleHQgd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2Vp Z2h0Lg0KKw0KKysgYG5vLWNvbG9yLW5vLWJvbGQnIGlzIGxpa2UgYG5vLWNvbG9yJyBidXQgd2l0 aG91dCB0aGUgYm9sZA0KKyAgd2VpZ2h0LiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6 cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIy OC4xIg0KKyAgOnR5cGUNCisgICcoYWxpc3QNCisgICAgOmtleS10eXBlIHN5bWJvbA0KKyAgICA6 dmFsdWUtdHlwZQ0KKyAgICAoY2hvaWNlIChjb25zdCA6dGFnICJGYWlybHkgZGVzYXR1cmF0ZWQg Zm9yZWdyb3VuZCB3aXRoIGJvbGQgd2VpZ2h0IChkZWZhdWx0KSIgdCkNCisgICAgICAgICAgICAo Y29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCB3aXRob3V0IGJvbGQgd2VpZ2h0IiBuby1ib2xk KQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHBsdXMgb3Zlcmxp bmUiIGxpbmUpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGxpbmUnIHdpdGhvdXQg Ym9sZCB3ZWlnaHQiIGxpbmUtbm8tYm9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlr ZSB0aGUgZGVmYXVsdCBidXQgd2l0aCBtb3JlIGNvbG9yZnVsIGZvcmVncm91bmQiIHJhaW5ib3cp DQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3cnIHBsdXMgb3ZlcmxpbmUi IHJhaW5ib3ctbGluZSkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycg d2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25z dCA6dGFnICJMaWtlIGByYWluYm93LWxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ct bGluZS1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0 IHBsdXMgc3VidGxlIGJhY2tncm91bmQiIGhpZ2hsaWdodCkNCisgICAgICAgICAgICAoY29uc3Qg OnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBoaWdobGlnaHQtbm8t Ym9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRoIG1v cmUgY29sb3JmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQpDQorICAgICAgICAgICAg KGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0 IiByYWluYm93LWhpZ2hsaWdodC1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJM aWtlIGBoaWdobGlnaHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQorICAgICAgICAgICAgKGNv bnN0IDp0YWcgIkxpa2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHNlY3Rpb24tbm8t Ym9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aCBtb3Jl IGNvbG9yZnVsIGZvcmVncm91bmQiIHJhaW5ib3ctc2VjdGlvbikNCisgICAgICAgICAgICAoY29u c3QgOnRhZyAiTGlrZSBgcmFpbmJvdy1zZWN0aW9uJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWlu Ym93LXNlY3Rpb24tbm8tYm9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiRG8gbm90IHVz ZSBhbnkgZGlzdGluY3QgZm9yZWdyb3VuZCBjb2xvcjsganVzdCBib2xkIHdlaWdodCIgbm8tY29s b3IpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYG5vLWJvbGQnIGJ1dCB3aXRob3V0 IHRoZSBkaXN0aW5jdCBmb3JlZ3JvdW5kIGNvbG9yIiBuby1jb2xvci1uby1ib2xkKSkpDQorICA6 bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgSGVhZGluZyBzdHlsZXMiKSkNCisNCiso ZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5ncyBuaWwNCisgICJVc2UgZm9udCBz Y2FsaW5nIGZvciBoZWFkaW5ncy4NCisNCitGb3IgcmVndWxhciBoZWFkaW5ncyB0aGUgc2NhbGUg aXMgY29udHJvbGxlZCBieSB0aGUgdmFyaWFibGVzDQorYG1vZHVzLXRoZW1lcy1zY2FsZS0xJyAo c21hbGxlc3QpIGFuZCBpdHMgdmFyaWFudHMgYWxsIHRoZSB3YXkgdXANCit0byBgbW9kdXMtdGhl bWVzLXNjYWxlLTQnIChsYXJnZXIpLiAgV2hpbGUgYG1vZHVzLXRoZW1lcy1zY2FsZS01Jw0KK2lz IHJlc2VydmVkIGZvciBzcGVjaWFsIGhlYWRpbmdzIHRoYXQgbXVzdCBiZSB0aGUgbGFyZ2VzdCBv biB0aGUNCitzY2FsZS4NCisNCitBIHNwZWNpYWwgaGVhZGluZyBpcywgaW4gdGhpcyBjb250ZXh0 LCBvbmUgdGhhdCBkb2VzIG5vdCBmaXQgaW50bw0KK3RoZSBzeW50YXggZm9yIGhlYWRpbmcgbGV2 ZWxzIHRoYXQgYXBwbHkgdG8gdGhlIGdpdmVuIG1vZGUuICBGb3INCitleGFtcGxlLCBPcmcncyAj K3RpdGxlIGtleXdvcmQgbGllcyBvdXRzaWRlIHRoZSBub3JtYWwgZWlnaHQNCitsZXZlbHMgb2Yg aGVhZGluZ3MuICBXaGVyZWFzLCBzYXksIE1hcmtkb3duIGRvZXMgbm90IGhhdmUgc3VjaCBhDQor c3BlY2lhbCBoZWFkaW5nLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12 ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAg OnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBTY2Fs ZWQgaGVhZGluZ3MiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS0xIDEuMDUN CisgICJGb250IHNpemUgdGhhdCBpcyBzbGlnaHRseSBsYXJnZXIgdGhhbiB0aGUgYmFzZSB2YWx1 ZS4NCisNCitUaGlzIHNpemUgaXMgdXNlZCBmb3IgbGV2ZWwgNCBoZWFkaW5ncywgc3VjaCBhcyBp biBPcmcgYW5kDQorTWFya2Rvd24gZmlsZXMuDQorDQorVGhlIGRlZmF1bHQgdmFsdWUgaXMgYSBm bG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGENCittdWx0aXBsZSBvZiB0aGUg YmFzZSBmb250IHNpemUuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3VjaCBhDQordmFsdWUu DQorDQorSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbiBpbnRlZ2VyLCB1bmRl cnN0b29kIGFzIGFuDQorYWJzb2x1dGUgaGVpZ2h0IHRoYXQgaXMgMS8xMCBvZiB0aGUgdHlwZWZh Y2UncyBwb2ludCBzaXplIChlLmcuIGENCit2YWx1ZSBvZiAxNDAgaXMgdGhlIHNhbWUgYXMgc2V0 dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCitUaGlzIHdpbGwgaWdub3JlIHRoZSBi YXNlIGZvbnQgc2l6ZSBhbmQsIHRodXMsIHdpbGwgbm90IHNjYWxlIGluDQorYWNjb3JkYW5jZSB3 aXRoIGl0IGluIGNhc2VzIHdoZXJlIGl0IGNoYW5nZXMsIHN1Y2ggYXMgd2hpbGUgdXNpbmcNCitg dGV4dC1zY2FsZS1hZGp1c3QnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2Fn ZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0K KyAgOnR5cGUgJ251bWJlcg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIFNj YWxlZCBoZWFkaW5nIHNpemVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtc2NhbGUt MiAxLjENCisgICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXRoZW1lcy1z Y2FsZS0xJy4NCisNCitUaGlzIHNpemUgaXMgdXNlZCBmb3IgbGV2ZWwgMyBoZWFkaW5ncywgc3Vj aCBhcyBpbiBPcmcgYW5kDQorTWFya2Rvd24gZmlsZXMuDQorDQorVGhlIGRlZmF1bHQgdmFsdWUg aXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGENCittdWx0aXBsZSBv ZiB0aGUgYmFzZSBmb250IHNpemUuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3VjaCBhDQor dmFsdWUuDQorDQorSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbiBpbnRlZ2Vy LCB1bmRlcnN0b29kIGFzIGFuDQorYWJzb2x1dGUgaGVpZ2h0IHRoYXQgaXMgMS8xMCBvZiB0aGUg dHlwZWZhY2UncyBwb2ludCBzaXplIChlLmcuIGENCit2YWx1ZSBvZiAxNDAgaXMgdGhlIHNhbWUg YXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCitUaGlzIHdpbGwgaWdub3Jl IHRoZSBiYXNlIGZvbnQgc2l6ZSBhbmQsIHRodXMsIHdpbGwgbm90IHNjYWxlIGluDQorYWNjb3Jk YW5jZSB3aXRoIGl0IGluIGNhc2VzIHdoZXJlIGl0IGNoYW5nZXMsIHN1Y2ggYXMgd2hpbGUgdXNp bmcNCitgdGV4dC1zY2FsZS1hZGp1c3QnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6 cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIy OC4xIg0KKyAgOnR5cGUgJ251bWJlcg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVt ZXMpIFNjYWxlZCBoZWFkaW5nIHNpemVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMt c2NhbGUtMyAxLjE1DQorICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy10 aGVtZXMtc2NhbGUtMicuDQorDQorVGhpcyBzaXplIGlzIHVzZWQgZm9yIGxldmVsIDIgaGVhZGlu Z3MsIHN1Y2ggYXMgaW4gT3JnIGFuZA0KK01hcmtkb3duIGZpbGVzLg0KKw0KK1RoZSBkZWZhdWx0 IHZhbHVlIGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhDQorbXVs dGlwbGUgb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHN1 Y2ggYQ0KK3ZhbHVlLg0KKw0KK0hvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4g aW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbg0KK2Fic29sdXRlIGhlaWdodCB0aGF0IGlzIDEvMTAg b2YgdGhlIHR5cGVmYWNlJ3MgcG9pbnQgc2l6ZSAoZS5nLiBhDQordmFsdWUgb2YgMTQwIGlzIHRo ZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQorVGhpcyB3aWxs IGlnbm9yZSB0aGUgYmFzZSBmb250IHNpemUgYW5kLCB0aHVzLCB3aWxsIG5vdCBzY2FsZSBpbg0K K2FjY29yZGFuY2Ugd2l0aCBpdCBpbiBjYXNlcyB3aGVyZSBpdCBjaGFuZ2VzLCBzdWNoIGFzIHdo aWxlIHVzaW5nDQorYHRleHQtc2NhbGUtYWRqdXN0Jy4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1l cw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjIuMCIpDQorICA6dmVy c2lvbiAiMjguMSINCisgIDp0eXBlICdudW1iZXINCisgIDpsaW5rICcoaW5mby1saW5rICIobW9k dXMtdGhlbWVzKSBTY2FsZWQgaGVhZGluZyBzaXplcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMt dGhlbWVzLXNjYWxlLTQgMS4yDQorICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBt b2R1cy10aGVtZXMtc2NhbGUtMycuDQorDQorVGhpcyBzaXplIGlzIHVzZWQgZm9yIGxldmVsIDEg aGVhZGluZ3MsIHN1Y2ggYXMgaW4gT3JnIGFuZA0KK01hcmtkb3duIGZpbGVzLg0KKw0KK1RoZSBk ZWZhdWx0IHZhbHVlIGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBh DQorbXVsdGlwbGUgb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSXQgaXMgcmVjb21tZW5kZWQgdG8g dXNlIHN1Y2ggYQ0KK3ZhbHVlLg0KKw0KK0hvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2Vw dHMgYW4gaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbg0KK2Fic29sdXRlIGhlaWdodCB0aGF0IGlz IDEvMTAgb2YgdGhlIHR5cGVmYWNlJ3MgcG9pbnQgc2l6ZSAoZS5nLiBhDQordmFsdWUgb2YgMTQw IGlzIHRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQorVGhp cyB3aWxsIGlnbm9yZSB0aGUgYmFzZSBmb250IHNpemUgYW5kLCB0aHVzLCB3aWxsIG5vdCBzY2Fs ZSBpbg0KK2FjY29yZGFuY2Ugd2l0aCBpdCBpbiBjYXNlcyB3aGVyZSBpdCBjaGFuZ2VzLCBzdWNo IGFzIHdoaWxlIHVzaW5nDQorYHRleHQtc2NhbGUtYWRqdXN0Jy4iDQorICA6Z3JvdXAgJ21vZHVz LXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjIuMCIpDQor ICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdudW1iZXINCisgIDpsaW5rICcoaW5mby1saW5r ICIobW9kdXMtdGhlbWVzKSBTY2FsZWQgaGVhZGluZyBzaXplcyIpKQ0KKw0KKyhkZWZjdXN0b20g bW9kdXMtdGhlbWVzLXNjYWxlLTUgMS4zDQorICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0 aGFuIGBtb2R1cy10aGVtZXMtc2NhbGUtNCcuDQorDQorVGhpcyBzaXplIGlzIG9ubHkgdXNlZCBm b3IgJ3NwZWNpYWwnIHRvcCBsZXZlbCBoZWFkaW5ncywgc3VjaCBhcw0KK09yZydzIGZpbGUgdGl0 bGUgaGVhZGluZywgZGVub3RlZCBieSB0aGUgIyt0aXRsZSBrZXkgd29yZCwgYW5kDQordGhlIE9y ZyBhZ2VuZGEgc3RydWN0dXJlIGhlYWRlcnMuDQorDQorVGhlIGRlZmF1bHQgdmFsdWUgaXMgYSBm bG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGENCittdWx0aXBsZSBvZiB0aGUg YmFzZSBmb250IHNpemUuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3VjaCBhDQordmFsdWUu DQorDQorSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbiBpbnRlZ2VyLCB1bmRl cnN0b29kIGFzIGFuDQorYWJzb2x1dGUgaGVpZ2h0IHRoYXQgaXMgMS8xMCBvZiB0aGUgdHlwZWZh Y2UncyBwb2ludCBzaXplIChlLmcuIGENCit2YWx1ZSBvZiAxNDAgaXMgdGhlIHNhbWUgYXMgc2V0 dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCitUaGlzIHdpbGwgaWdub3JlIHRoZSBi YXNlIGZvbnQgc2l6ZSBhbmQsIHRodXMsIHdpbGwgbm90IHNjYWxlIGluDQorYWNjb3JkYW5jZSB3 aXRoIGl0IGluIGNhc2VzIHdoZXJlIGl0IGNoYW5nZXMsIHN1Y2ggYXMgd2hpbGUgdXNpbmcNCitg dGV4dC1zY2FsZS1hZGp1c3QnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2Fn ZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0K KyAgOnR5cGUgJ251bWJlcg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIFNj YWxlZCBoZWFkaW5nIHNpemVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtZnJpbmdl cyBuaWwNCisgICJEZWZpbmUgdGhlIHZpc2liaWxpdHkgb2YgZnJpbmdlcy4NCisNCitOaWwgbWVh bnMgdGhlIGZyaW5nZXMgaGF2ZSBubyBiYWNrZ3JvdW5kIGNvbG9yLiAgT3B0aW9uIGBzdWJ0bGUn DQord2lsbCBhcHBseSBhIGdyZXlzY2FsZSB2YWx1ZSB0aGF0IGlzIHZpc2libGUgeWV0IGNsb3Nl IHRvIHRoZQ0KK21haW4gYnVmZmVyIGJhY2tncm91bmQgY29sb3IuICBPcHRpb24gYGludGVuc2Un IHdpbGwgdXNlIGEgbW9yZQ0KK3Byb25vdW5jZWQgZ3JleXNjYWxlIHZhbHVlLiINCisgIDpncm91 cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEu MC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAg KGNvbnN0IDp0YWcgIk5vIHZpc2libGUgZnJpbmdlcyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAg ICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgc3VidGxlKQ0KKyAg ICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgaW50ZW5z ZSkpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgRnJpbmdlcyIpKQ0KKw0K KyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLWxhbmctY2hlY2tlcnMgbmlsDQorICAiQ29udHJvbCB0 aGUgc3R5bGUgb2Ygc3BlbGxpbmcgYW5kIGNvZGUgY2hlY2tlcnMvbGludGVycy4NCisNCitOaWwg KHRoZSBkZWZhdWx0KSBhcHBsaWVzIGEgY29sb3ItY29kZWQgdW5kZXJsaW5lIHRvIHRoZSBhZmZl Y3RlZA0KK3RleHQsIHdoaWxlIGl0IGxlYXZlcyB0aGUgb3JpZ2luYWwgZm9yZWdyb3VuZCBpbiB0 YWN0LiAgSWYgdGhlDQorZGlzcGxheSBzcGVjIG9mIEVtYWNzIGhhcyBzdXBwb3J0IGZvciBpdCwg dGhlIHVuZGVybGluZSdzIHN0eWxlDQoraXMgdGhhdCBvZiBhIHdhdmUsIG90aGVyd2lzZSBpdCBp cyBhIHN0cmFpZ2h0IGxpbmUuDQorDQorT3B0aW9ucyBgc3VidGxlLWZvcmVncm91bmQnIGFuZCBg aW50ZW5zZS1mb3JlZ3JvdW5kJyBhZGQgYQ0KK2NvbG9yLWNvZGVkIHVuZGVybGluZSB3aGlsZSBh bHNvIGNoYW5naW5nIHRoZSB0ZXh0J3MgZm9yZWdyb3VuZA0KK2FjY29yZGluZ2x5LiAgVGhlIHN0 eWxlIG9mIHRoZSB1bmRlcmxpbmUgaXMgdGhlIHNhbWUgYXMgd2l0aCB0aGUNCitkZWZhdWx0IG9w dGlvbi4NCisNCitPcHRpb24gYHN0cmFpZ2h0LXVuZGVybGluZScgaXMgbGlrZSB0aGUgZGVmYXVs dCBidXQgYWx3YXlzDQorYXBwbGllcyBhIHN0cmFpZ2h0IGxpbmUgdW5kZXIgdGhlIGFmZmVjdGVk IHRleHQuICBTYW1lIHByaW5jaXBsZQ0KK2ZvciBgc3VidGxlLWZvcmVncm91bmQtc3RyYWlnaHQt dW5kZXJsaW5lJyBhbmQgaXRzIGNvdW50ZXJwYXJ0DQorYGludGVuc2UtZm9yZWdyb3VuZC1zdHJh aWdodC11bmRlcmxpbmUnLg0KKw0KK09wdGlvbiBgY29sb3JlZC1iYWNrZ3JvdW5kJyB1c2VzIGEg c3RyYWlnaHQgdW5kZXJsaW5lLCBhDQorYmFja2dyb3VuZCwgYW5kIGEgZm9yZWdyb3VuZC4gIEFs bCBhcmUgY29sb3ItY29kZWQuICBUaGlzIGlzIHRoZQ0KK21vc3QgaW50ZW5zZSBjb21iaW5hdGlv biBvZiBmYWNlIHByb3BlcnRpZXMuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNr YWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4xLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEi DQorICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiT25seSBjb2xvci1j b2RlZCB3YXZ5IHVuZGVybGluZSAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgdGhlIGRlZmF1bHQsIGJ1dCB3aXRoIGEgc3RyYWlnaHQgdW5kZXJsaW5lIiBzdHJh aWdodC11bmRlcmxpbmUpDQorICAgICAgICAgIChjb25zdCA6dGFnICJDb2xvci1jb2RlZCB3YXZ5 IHVuZGVybGluZTsgc3VidGxlIGZvcmVncm91bmQiIHN1YnRsZS1mb3JlZ3JvdW5kKQ0KKyAgICAg ICAgICAoY29uc3QgOnRhZyAiQ29tYmluZXMgYHN0cmFpZ2h0LXVuZGVybGluZScgYW5kIGBzdWJ0 bGUtZm9yZWdyb3VuZCciIHN1YnRsZS1mb3JlZ3JvdW5kLXN0cmFpZ2h0LXVuZGVybGluZSkNCisg ICAgICAgICAgKGNvbnN0IDp0YWcgIkNvbG9yLWNvZGVkIHdhdnkgdW5kZXJsaW5lOyBpbnRlbnNl IGZvcmVncm91bmQiIGludGVuc2UtZm9yZWdyb3VuZCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcg IkNvbWJpbmVzIGBzdHJhaWdodC11bmRlcmxpbmUnIGFuZCBgaW50ZW5zZS1mb3JlZ3JvdW5kJyIg aW50ZW5zZS1mb3JlZ3JvdW5kLXN0cmFpZ2h0LXVuZGVybGluZSkNCisgICAgICAgICAgKGNvbnN0 IDp0YWcgIkNvbG9yLWNvZGVkIGJhY2tncm91bmQsIGZvcmVncm91bmQsIHN0cmFpZ2h0IHVuZGVy bGluZSIgY29sb3JlZC1iYWNrZ3JvdW5kKSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMt dGhlbWVzKSBMYW5ndWFnZSBjaGVja2VycyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVz LW9yZy1ibG9ja3MgbmlsDQorICAiVXNlIGEgc3VidGxlIGdyYXkgb3IgY29sb3ItY29kZWQgYmFj a2dyb3VuZCBmb3IgT3JnIGJsb2Nrcy4NCisNCitOaWwgbWVhbnMgdGhhdCB0aGUgYmxvY2sgd2ls bCBoYXZlIG5vIGJhY2tncm91bmQgb2YgaXRzIG93biBhbmQNCit3aWxsIHVzZSB0aGUgZGVmYXVs dCB0aGF0IGFwcGxpZXMgdG8gdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlci4NCisNCitPcHRpb24gYGdy YXlzY2FsZScgKG9yIGBncmV5c2NhbGUnKSB3aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRyYWwNCitn cmF5IGJhY2tncm91bmQgdG8gdGhlIGJsb2NrJ3MgY29udGVudHMuICBJdCBhbHNvIGFmZmVjdHMg dGhlDQorYmVnaW4gYW5kIGVuZCBsaW5lcyBvZiB0aGUgYmxvY2s6IHRoZWlyIGJhY2tncm91bmQg d2lsbCBiZQ0KK2V4dGVuZGVkIHRvIHRoZSBlZGdlIG9mIHRoZSB3aW5kb3cgZm9yIEVtYWNzIHZl cnNpb24gPj0gMjcgd2hlcmUNCit0aGUgJzpleHRlbmQnIGtleXdvcmQgaXMgcmVjb2duaXplZCBi eSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCisNCitPcHRpb24gYHJhaW5ib3cnIHdpbGwgdXNlIGFu IGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBjb250ZW50cw0KK29mIHRoZSBibG9jay4gIFRo ZSBleGFjdCBjb2xvciB3aWxsIGRlcGVuZCBvbiB0aGUgcHJvZ3JhbW1pbmcNCitsYW5ndWFnZSBh bmQgaXMgY29udHJvbGxlZCBieSB0aGUgYG9yZy1zcmMtYmxvY2stZmFjZXMnDQordmFyaWFibGUg KHJlZmVyIHRvIHRoZSB0aGVtZSdzIHNvdXJjZSBjb2RlIGZvciB0aGUgY3VycmVudA0KK2Fzc29j aWF0aW9uIGxpc3QpLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJz aW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5 cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIE9yZyBibG9jayBiYWNrZ3Jv dW5kIChkZWZhdWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGdyYXkg YmxvY2sgYmFja2dyb3VuZCIgZ3JheXNjYWxlKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiU3Vi dGxlIGdyYXkgYmxvY2sgYmFja2dyb3VuZCAoYWx0IHNwZWxsaW5nKSIgZ3JleXNjYWxlKQ0KKyAg ICAgICAgICAoY29uc3QgOnRhZyAiQ29sb3ItY29kZWQgYmFja2dyb3VuZCBwZXIgcHJvZ3JhbW1p bmcgbGFuZ3VhZ2UiIHJhaW5ib3cpKQ0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVt ZXMpIE9yZyBtb2RlIGJsb2NrcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLW9yZy1o YWJpdCBuaWwNCisgICJDb250cm9sIHRoZSBwcmVzZW50YXRpb24gb2YgdGhlIGBvcmctaGFiaXQn IGdyYXBoLg0KKw0KK1RoZSBkZWZhdWx0IGlzIG1lYW50IHRvIGNvbmZvcm0gd2l0aCB0aGUgb3Jp Z2luYWwgYWVzdGhldGljIG9mDQorYG9yZy1oYWJpdCcuICBJdCBlbXBsb3lzIGFsbCBmb3VyIGNv bG9yIGNvZGVzIHRoYXQgY29ycmVzcG9uZCB0bw0KK3RoZSBvcmctaGFiaXQgc3RhdGVzLS0tY2xl YXIsIHJlYWR5LCBhbGVydCwgYW5kIG92ZXJkdWUtLS13aGlsZQ0KK2Rpc3Rpbmd1aXNoaW5nIGJl dHdlZW4gdGhlaXIgcHJlc2VudCBhbmQgZnV0dXJlIHZhcmlhbnRzLiAgVGhpcw0KK3Jlc3VsdHMg aW4gYSB0b3RhbCBvZiBlaWdodCBjb2xvcnMgaW4gdXNlOiByZWQsIHllbGxvdywgZ3JlZW4sDQor Ymx1ZSwgaW4gdGludGVkIGFuZCBzaGFkZWQgdmVyc2lvbnMuICBUaGV5IGNvdmVyIHRoZSBmdWxs IHNldCBvZg0KK2luZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHRoZSBgb3JnLWhhYml0JyBjb25zaXN0 ZW5jeSBncmFwaC4NCisNCitPcHRpb24gYHNpbXBsaWZpZWQnIGlzIGxpa2UgdGhlIGRlZmF1bHQg ZXhjZXB0IHRoYXQgaXQgcmVtb3Zlcw0KK3RoZSBkaWNob3RvbXkgYmV0d2VlbiBjdXJyZW50IGFu ZCBmdXR1cmUgdmFyaWFudHMgYnkgYXBwbHlpbmcNCit1bmlmb3JtIGNvbG9yLWNvZGVkIHZhbHVl cy4gIEl0IGFwcGxpZXMgYSB0b3RhbCBvZiBmb3VyIGNvbG9yczoNCityZWQsIHllbGxvdywgZ3Jl ZW4sIGJsdWUuICBUaGV5IHByb2R1Y2UgYSBzaW1wbGlmaWVkIGNvbnNpc3RlbmN5DQorZ3JhcGgg dGhhdCBpcyBtb3JlIGxlZ2libGUgKG9yIGxlc3MgXCJidXN5XCIpIHRoYW4gdGhlIGRlZmF1bHQu DQorVGhlIGludGVudCBpcyB0byBzaGlmdCBmb2N1cyB0b3dhcmRzIHRoZSBkaXN0aW5jdGlvbiBi ZXR3ZWVuIHRoZQ0KK2ZvdXIgc3RhdGVzIG9mIGEgaGFiaXQgdGFzaywgcmF0aGVyIHRoYW4gZWFj aCBzdGF0ZSdzDQorcHJlc2VudC9mdXR1cmUgb3V0bG9vay4NCisNCitPcHRpb24gYHRyYWZmaWMt bGlnaHQnIGZ1cnRoZXIgcmVkdWNlcyB0aGUgYXZhaWxhYmxlIGNvbG9ycyB0bw0KK3JlZCwgeWVs bG93LCBhbmQgZ3JlZW4uICBBcyBpbiBgc2ltcGxpZmllZCcsIHByZXNlbnQgYW5kIGZ1dHVyZQ0K K3ZhcmlhbnRzIGFwcGVhciB1bmlmb3JtbHksIGJ1dCBkaWZmZXJlbnRseSBmcm9tIGl0LCB0aGUg J2NsZWFyJw0KK3N0YXRlIGlzIHJlbmRlcmVkIGluIGEgZ3JlZW4gaHVlLCBpbnN0ZWFkIG9mIHRo ZSBvcmlnaW5hbCBibHVlLg0KK1RoaXMgaXMgbWVhbnQgdG8gY2FwdHVyZSB0aGUgdXNlLWNhc2Ug d2hlcmUgYSBoYWJpdCB0YXNrIGJlaW5nDQorXCJ0b28gZWFybHlcIiBpcyBsZXNzIGltcG9ydGFu dCB0aGFuIGl0IGJlaW5nIFwidG9vIGxhdGVcIi4gIFRoZQ0KK2RpZmZlcmVuY2UgYmV0d2VlbiBy ZWFkeSBhbmQgY2xlYXIgc3RhdGVzIGlzIGF0dGVudWF0ZWQgYnkNCitwYWludGluZyBib3RoIG9m IHRoZW0gdXNpbmcgc2hhZGVzIG9mIGdyZWVuLiAgVGhpcyBvcHRpb24gdGh1cw0KK2hpZ2hsaWdo dHMgdGhlIGFsZXJ0IGFuZCBvdmVyZHVlIHN0YXRlcy4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1l cw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjEuMCIpDQorICA6dmVy c2lvbiAiMjguMSINCisgIDp0eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJS ZXNwZWN0IHRoZSBvcmlnaW5hbCBkZXNpZ24gb2Ygb3JnLWhhYml0IChkZWZhdWx0KSIgbmlsKQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCwgYnV0IGRvIG5vdCBkaXN0 aW5ndWlzaCBiZXR3ZWVuIHByZXNlbnQgYW5kIGZ1dHVyZSB2YXJpYW50cyIgc2ltcGxpZmllZCkN CisgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHNpbXBsaWZpZWQnLCBidXQgb25seSB1c2Ug cmVkLCB5ZWxsb3csIGdyZWVuIiB0cmFmZmljLWxpZ2h0KSkNCisgIDpsaW5rICcoaW5mby1saW5r ICIobW9kdXMtdGhlbWVzKSBPcmcgYWdlbmRhIGhhYml0cyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9k dXMtdGhlbWVzLW1vZGUtbGluZSBuaWwNCisgICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGUgb2Yg dGhlIG1vZGUgbGluZS4NCisNCitOaWwgaXMgYSB0d28tZGltZW5zaW9uYWwgcmVjdGFuZ2xlIHdp dGggYSBib3JkZXIgYXJvdW5kIGl0LiAgVGhlDQorYWN0aXZlIGFuZCB0aGUgaW5hY3RpdmUgbW9k ZWxpbmVzIHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mDQorZ3JleXNjYWxlIHZhbHVlcyBmb3IgdGhl IGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQuDQorDQorQSBgM2QnIHZhbHVlIHdpbGwgYXBwbHkg YSB0aHJlZS1kaW1lbnNpb25hbCBlZmZlY3QgdG8gdGhlIGFjdGl2ZQ0KK21vZGVsaW5lLiAgVGhl IGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gdHdvLWRpbWVuc2lvbmFsIGFuZCBhcmUNCit0b25l ZCBkb3duIGEgYml0LCByZWxhdGl2ZSB0byB0aGUgbmlsIHZhbHVlLg0KKw0KK1RoZSBgbW9vZHkn IG9wdGlvbiBpcyBtZWFudCB0byBvcHRpbWl6ZSB0aGUgbW9kZWxpbmUgZm9yIHVzZSB3aXRoDQor dGhlIGxpYnJhcnkgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgcHJhY3RpY2FsbHkgbWVhbnMgdG8g cmVtb3ZlDQordGhlIGJveCBlZmZlY3QgYW5kIHJlbHkgb24gdW5kZXJsaW5lIGFuZCBvdmVybGlu ZSBwcm9wZXJ0aWVzDQoraW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biB0aGUgaW5hY3RpdmUg bW9kZWxpbmVzLiAgRGVzcGl0ZSBpdHMNCitpbnRlbmRlZCBwdXJwb3NlLCB0aGlzIG9wdGlvbiBj YW4gYWxzbyBiZSB1c2VkIHdpdGhvdXQgdGhlDQorYG1vb2R5JyBsaWJyYXJ5Lg0KKw0KK1RoZSBg Ym9yZGVybGVzcycgb3B0aW9uIHVzZXMgdGhlIHNhbWUgY29sb3JzIGFzIHRoZSBkZWZhdWx0IChu aWwNCit2YWx1ZSksIGJ1dCByZW1vdmVzIHRoZSBib3JkZXIgZWZmZWN0LiAgVGhpcyBpcyBkb25l IGJ5IG1ha2luZw0KK3RoZSBib3ggcHJvcGVydHkgdXNlIHRoZSBzYW1lIGNvbG9yIGFzIHRoZSBi YWNrZ3JvdW5kLA0KK2VmZmVjdGl2ZWx5IGJsZW5kaW5nIHRoZSB0d28gYW5kIGNyZWF0aW5nIHNv bWUgcGFkZGluZy4NCisNCitUaGUgYGJvcmRlcmxlc3MtM2QnIGFuZCBgYm9yZGVybGVzcy1tb29k eScgYXBwcm94aW1hdGUgdGhlIGAzZCcNCithbmQgYG1vb2R5JyBvcHRpb25zIHJlc3BlY3RpdmVs eSwgd2hpbGUgcmVtb3ZpbmcgdGhlIGJvcmRlcnMuDQorSG93ZXZlciwgdG8gZW5zdXJlIHRoYXQg dGhlIGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gdmlzaWJsZSwNCit0aGV5IGFwcGx5IGEgc2xp Z2h0bHkgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCB0byB0aGVtIHRoYW4gd2hhdA0KK3RoZWly IGNvdW50ZXJwYXJ0cyBkbyAoc2FtZSBpbmFjdGl2ZSBiYWNrZ3JvdW5kIGFzIHdpdGggdGhlDQor ZGVmYXVsdCkuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24g Jyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAn KGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVHdvLWRpbWVuc2lvbmFsIGJveCAoZGVm YXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlRocmVlLWRpbWVuc2lvbmFsIHN0 eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGluZSIgM2QpDQorICAgICAgICAgIChjb25zdCA6dGFn ICJObyBib3ggZWZmZWN0cywgd2hpY2ggYXJlIG9wdGltYWwgZm9yIHVzZSB3aXRoIHRoZSBgbW9v ZHknIGxpYnJhcnkiIG1vb2R5KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVm YXVsdCwgYnV0IHdpdGhvdXQgYm9yZGVyIGVmZmVjdHMiIGJvcmRlcmxlc3MpDQorICAgICAgICAg IChjb25zdCA6dGFnICJMaWtlIGAzZCcsIGJ1dCB3aXRob3V0IG5vdGljZWFibGUgYm9yZGVyIiBi b3JkZXJsZXNzLTNkKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgbW9vZHknLCBidXQg d2l0aG91dCBub3RpY2VhYmxlIGJvcmRlciIgYm9yZGVybGVzcy1tb29keSkpDQorICA6bGluayAn KGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgTW9kZSBsaW5lIikpDQorDQorKGRlZmN1c3RvbSBt b2R1cy10aGVtZXMtZGlmZnMgbmlsDQorICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlcyBvZiBk aWZmcy4NCisNCitOaWwgbWVhbnMgdG8gdXNlIGZhaXJseSBpbnRlbnNlIGNvbG9yIGNvbWJpbmF0 aW9ucyBmb3IgZGlmZnMuDQorRm9yIGV4YW1wbGUsIHlvdSBnZXQgYSByaWNoIGdyZWVuIGJhY2tn cm91bmQgd2l0aCBhIGdyZWVuDQorZm9yZWdyb3VuZCBmb3IgYWRkZWQgbGluZXMuICBXb3JkLXdp c2Ugb3IgJ3JlZmluZWQnIGRpZmZzIGZvbGxvdw0KK3RoZSBzYW1lIHBhdHRlcm4gYnV0IHVzZSBk aWZmZXJlbnQgc2hhZGVzIG9mIHRob3NlIGNvbG9ycyB0bw0KK3JlbWFpbiBkaXN0aW5jdC4NCisN CitBIGBkZXNhdHVyYXRlZCcgdmFsdWUgZm9sbG93cyB0aGUgc2FtZSBwcmluY2lwbGVzIGFzIHdp dGggdGhlIG5pbA0KK29wdGlvbiwgd2hpbGUgaXQgdG9uZXMgZG93biBhbGwgcmVsZXZhbnQgY29s b3JzLg0KKw0KK09wdGlvbiBgZmctb25seScgd2lsbCByZW1vdmUgYWxsIGFjY2VudGVkIGJhY2tn cm91bmRzLCBleGNlcHQNCitmcm9tIHdvcmQtd2lzZSBjaGFuZ2VzLiAgSXQgaW5zdGVhZCB1c2Vz IGNvbG9yLWNvZGVkIGZvcmVncm91bmQNCit2YWx1ZXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVu IGFkZGVkL3JlbW92ZWQvY2hhbmdlZCBsaW5lcy4gIElmDQorYSBiYWNrZ3JvdW5kIGlzIG5lY2Vz c2FyeSwgc3VjaCBhcyB3aXRoIGBlZGlmZicsIHRoZW4gYSBzdWJ0bGUNCitncmV5c2NhbGUgdmFs dWUgaXMgdXNlZC4NCisNCitPcHRpb24gYGJnLW9ubHknIGFwcGxpZXMgYSBiYWNrZ3JvdW5kIGJ1 dCBkb2VzIG5vdCBvdmVycmlkZSB0aGUNCit0ZXh0J3MgZm9yZWdyb3VuZC4gIFRoaXMgbWFrZXMg aXQgc3VpdGFibGUgZm9yIGEgbm9uLW5pbCB2YWx1ZQ0KK3Bhc3NlZCB0byBgZGlmZi1mb250LWxv Y2stc3ludGF4JyAobm90ZTogTWFnaXQgZG9lcyBub3Qgc3VwcG9ydA0KK3N5bnRheCBoaWdobGln aHRpbmcgaW4gZGlmZnMgYXMgb2YgMjAyMC0xMS0yNSwgdmVyc2lvbg0KKzIwMjAxMTE2LjEwNTcp Lg0KKw0KK09wdGlvbiBgZGV1dGVyYW5vcGlhJyBhY2NvdW50cyBmb3IgcmVkLWdyZWVuIGNvbG9y IGRlZmZpY2llbmN5IGJ5DQorcmVwbGFjaW5nIGFsbCBpbnN0YW5jZXMgb2YgZ3JlZW4gd2l0aCBj b2xvcnMgb24gdGhlIGJsdWUgc2lkZSBvZg0KK3RoZSBzcGVjdHJ1bS4gIE90aGVyIHN0eWxpc3Rp YyBjaGFuZ2VzIGFyZSBtYWRlIGluIHRoZSBpbnRlcmVzdA0KK29mIG9wdGltaXppbmcgZm9yIHN1 Y2ggYSB1c2UtY2FzZS4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVy c2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjIuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0 eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlbHkgY29sb3JlZCBi YWNrZ3JvdW5kcyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlNsaWdo dGx5IGFjY2VudGVkIGJhY2tncm91bmRzIHdpdGggdGludGVkIHRleHQiIGRlc2F0dXJhdGVkKQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gYmFja2dyb3VuZHMsIGV4Y2VwdCBmb3IgcmVmaW5l ZCBkaWZmcyIgZmctb25seSkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkFwcGx5IGNvbG9yLWNv ZGVkIGJhY2tncm91bmRzOyBrZWVwIHN5bnRheCBjb2xvcnMgaW4gdGFjdCIgYmctb25seSkNCisg ICAgICAgICAgKGNvbnN0IDp0YWcgIk9wdGltaXplZCBmb3IgcmVkLWdyZWVuIGNvbG9yIGRlZmZp Y2llbmN5IiBkZXV0ZXJhbm9waWEpKQ0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVt ZXMpIERpZmZzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMgbmls DQorICAiQXBwbHkgc3BlY2lhbCBzdHlsZXMgdG8gdGhlIFVJIG9mIGNvbXBsZXRpb24gZnJhbWV3 b3Jrcy4NCisNCitUaGlzIGNvbmNlcm5zIEljb21wbGV0ZSwgSXZ5LCBIZWxtLCBTZWxlY3RydW0s IElkbywgYXMgd2VsbCBhcw0KK2FueSBvdGhlciB0b29sIG1lYW50IHRvIGVuaGFuY2UgdGhlaXIg ZXhwZXJpZW5jZS4gIFRoZSBlZmZlY3QNCit3aWxsIHZhcnkgZGVwZW5kaW5nIG9uIHRoZSBjb21w bGV0aW9uIGZyYW1ld29yay4NCisNCitOaWwgbWVhbnMgdG8gcmVtYWluIGZhaXRoZnVsIHRvIHRo ZSBtZXRhcGhvcnMgdGhhdCBlYWNoIFVJDQorZXN0YWJsaXNoZXMuICBGb3IgZXhhbXBsZSwgSWNv bXBsZXRlIGFuZCBJZG8gb25seSB1c2UgZm9yZWdyb3VuZA0KK2NvbG9ycyB0byBzdHlsZSB0aGVp ciBtYXRjaGVzLCB3aGVyZWFzIEl2eSBvciBIZWxtIHJlbHkgb24gYW4NCithZXN0aGV0aWMgdGhh dCBjb21iaW5lcyBjb2xvcmVkIGJhY2tncm91bmRzIHdpdGggYXBwcm9wcmlhdGUgdGV4dA0KK2Nv bG9yLg0KKw0KK09wdGlvbiBgbW9kZXJhdGUnIHdpbGwgYXBwbHkgYSBjb21iaW5hdGlvbiBvZiBi YWNrZ3JvdW5kIGFuZA0KK2ZvcmVncm91bmQgdGhhdCBpcyBmYWlybHkgc3VidGxlLiAgRm9yIElj b21wbGV0ZSBhbmQgdGhlIGxpa2UsDQordGhpcyBjb25zdGl0dXRlcyBhIGRlcGFydHVyZSBmcm9t IHRoZWlyIHN0YW5kYXJkIHN0eWxlLiAgV2hpbGUNCitJdnksIEhlbG0sIGFuZCB0aGUgb3RoZXJz LCB3aWxsIHVzZSBsZXNzIHByb25vdW5jZWQgY29sb3JzIGZvcg0KK2FwcGxpY2FibGUgY29udGV4 dHMuDQorDQorT3B0aW9uIGBvcGluaW9uYXRlZCcgd2lsbCBhcHBseSBjb2xvciBjb21iaW5hdGlv bnMgdGhhdCByZWZhc2hpb24NCit0aGUgY29tcGxldGlvbiBVSS4gIFNvIEljb21wbGV0ZSBldCBh bCB3aWxsIG5vdyB1c2Ugc3R5bGVzIHRoYXQNCityZXNlbWJsZSB0aGUgZGVmYXVsdHMgb2YgSXZ5 IGFuZCBjby4sIHdoaWxlIHRoZSBsYXR0ZXIgZ3JvdXAgd2lsbA0KK3JldmVydCB0byBhbiBldmVu IG1vcmUgbnVhbmNlZCBhZXN0aGV0aWMuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpw YWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4 LjEiDQorICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiUmVzcGVjdCB0 aGUgZnJhbWV3b3JrJ3MgZXN0YWJsaXNoZWQgYWVzdGhldGljIChkZWZhdWx0KSIgbmlsKQ0KKyAg ICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGJhY2tncm91bmRzIGZvciB2YXJpb3VzIGVsZW1l bnRzIiBtb2RlcmF0ZSkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlJhZGljYWwgYWx0ZXJuYXRp dmUgdG8gdGhlIGZyYW1ld29yaydzIGxvb2tzIiBvcGluaW9uYXRlZCkpDQorICA6bGluayAnKGlu Zm8tbGluayAiKG1vZHVzLXRoZW1lcykgQ29tcGxldGlvbiBVSXMiKSkNCisNCisoZGVmY3VzdG9t IG1vZHVzLXRoZW1lcy1wcm9tcHRzIG5pbA0KKyAgIlVzZSBzdWJ0bGUgb3IgaW50ZW5zZSBzdHls ZXMgZm9yIG1pbmlidWZmZXIgYW5kIFJFUEwgcHJvbXB0cy4NCisNCitOaWwgbWVhbnMgdG8gb25s eSB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xvci4NCisNCitPcHRpb25zIGBzdWJ0bGUt YWNjZW50ZWQnIGFuZCBgaW50ZW5zZS1hY2NlbnRlZCcgd2lsbCBjaGFuZ2UgYm90aA0KK3RoZSBi YWNrZ3JvdW5kIGFuZCB0aGUgZm9yZWdyb3VuZCB2YWx1ZXMgdG8gdXNlIGFjY2VudGVkIGNvbG9y DQorY29tYmluYXRpb25zIHRoYXQgZm9sbG93IHRoZSBodWUgb2YgdGhlIGRlZmF1bHQgc3R5bGVz Jw0KK2ZvcmVncm91bmQgKGUuZy4gdGhlIGRlZmF1bHQgbWluaWJ1ZmZlciBwcm9tcHQgaXMgY3lh biB0ZXh0LCBzbw0KK3RoZXNlIGNvbWJpbmF0aW9ucyB3aWxsIGludm9sdmVkIGEgY3lhbiBiYWNr Z3JvdW5kIGFuZCBhbg0KK2FwcHJvcHJpYXRlIGN5YW4gZm9yZWdyb3VuZCkuDQorDQorT3B0aW9u cyBgc3VidGxlLWdyYXknIGFuZCBgaW50ZW5zZS1ncmF5JyBhcmUgbGlrZSB0aGVpcg0KK2BzdWJ0 bGUtYWNjZW50ZWQnIGFuZCBgaW50ZW5zZS1hY2NlbnRlZCcgY291bnRlcnBhcnRzLCBleGNlcHQN Cit0aGV5IHVzZSBncmF5c2NhbGUgdmFsdWVzIGluc3RlYWQgb2YgYWNjZW50ZWQgb25lcy4iDQor ICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1l cyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoY2hvaWNlDQorICAg ICAgICAgIDs7IGBzdWJ0bGUnIGlzIHRoZSBzYW1lIGFzIGBzdWJ0bGUtYWNjZW50ZWQnLCB3aGls ZSBgaW50ZW5zZScgaXMNCisgICAgICAgICAgOzsgZXF1YWwgdG8gYGludGVuc2UtYWNjZW50ZWQn IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5DQorICAgICAgICAgIChjb25zdCA6dGFnICJObyBw cm9tcHQgYmFja2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcg IlN1YnRsZSBhY2NlbnRlZCBiYWNrZ3JvdW5kIGZvciB0aGUgcHJvbXB0IiBzdWJ0bGUtYWNjZW50 ZWQpDQorICAgICAgICAgIChjb25zdCA6dGFnICJTYW1lIGFzIGBzdWJ0bGUtYWNjZW50ZWQnIGZv ciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMiIHN1YnRsZSkNCisgICAgICAgICAg KGNvbnN0IDp0YWcgIkludGVuc2UgYWNjZW50ZWQgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBm b3IgdGhlIHByb21wdCIgaW50ZW5zZS1hY2NlbnRlZCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcg IlNhbWUgYXMgYGludGVuc2UtYWNjZW50ZWQnIGZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIg dmVyc2lvbnMiIGludGVuc2UpDQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBzdWJ0bGUt YWNjZW50ZWQnIGJ1dCBncmF5c2NhbGUiIHN1YnRsZS1ncmF5KQ0KKyAgICAgICAgICAoY29uc3Qg OnRhZyAiTGlrZSBgaW50ZW5zZS1hY2NlbnRlZCcgYnV0IGdyYXlzY2FsZSIgaW50ZW5zZS1ncmF5 KSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBDb21tYW5kIHByb21wdHMi KSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUgbmlsDQorICAi VXNlIGEgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCBmb3IgY29tbWFuZCBgaGwtbGluZS1tb2Rl Jy4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVz LXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdib29sZWFu DQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgTGluZSBoaWdobGlnaHRpbmci KSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zdWJ0bGUtbGluZS1udW1iZXJzIG5pbA0K KyAgIlVzZSBtb3JlIHN1YnRsZSBzdHlsZSBmb3IgY29tbWFuZCBgZGlzcGxheS1saW5lLW51bWJl cnMtbW9kZScuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24g Jyhtb2R1cy10aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAn Ym9vbGVhbg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIExpbmUgbnVtYmVy cyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXBhcmVuLW1hdGNoIG5pbA0KKyAgIkNo b29zZSB0aGUgc3R5bGUgb2YgbWF0Y2hpbmcgcGFyZW50aGVzZXMgb3IgZGVsaW1pdGVycy4NCisN CitOaWwgbWVhbnMgdG8gdXNlIGEgc3VidGxlIHRpbnRlZCBiYWNrZ3JvdW5kIGNvbG9yICh0aGUg ZGVmYXVsdCkuDQorDQorT3B0aW9uIGBpbnRlbnNlJyBhcHBsaWVzIGEgc2F0dXJhdGVkIGJhY2tn cm91bmQgY29sb3IuDQorDQorT3B0aW9uIGBzdWJ0bGUtYm9sZCcgaXMgdGhlIHNhbWUgYXMgdGhl IGRlZmF1bHQsIGJ1dCBhbHNvIG1ha2VzDQordXNlIG9mIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0 IChpbmhlcml0cyB0aGUgYGJvbGQnIGZhY2UpLg0KKw0KK09wdGlvbiBgaW50ZW5zZS1ib2xkJyBp cyB0aGUgc2FtZSBhcyBgaW50ZW5zZScsIHdoaWxlIGl0IGFsc28NCit1c2VzIGEgYm9sZCB3ZWln aHQuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1 cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnKGNob2lj ZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiU3VibHRlIHRpbnRlZCBiYWNrZ3JvdW5kIChkZWZh dWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCwgYnV0 IGFsc28gdXNlIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0IiBzdWJ0bGUtYm9sZCkNCisgICAgICAg ICAgKGNvbnN0IDp0YWcgIkludGVuc2Ugc2F0dXJhdGVkIGJhY2tncm91bmQiIGludGVuc2UpDQor ICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBpbnRlbnNlJyBidXQgd2l0aCBib2xkIHdlaWdo dCIgaW50ZW5zZS1ib2xkKSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBN YXRjaGluZyBwYXJlbnRoZXNlcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXN5bnRh eCBuaWwNCisgICJDb250cm9sIHRoZSBvdmVyYWxsIHN0eWxlIG9mIGNvZGUgc3ludGF4IGhpZ2hs aWdodGluZy4NCisNCitOaWwgKHRoZSBkZWZhdWx0KSBtZWFucyB0byB1c2UgY29sb3JzIG9uIHRo ZSBjeWFuLWJsdWUtbWFnZW50YQ0KK3NpZGUgb2YgdGhlIHNwZWN0cnVtLiAgVGhlcmUgaXMgbGl0 dGxlIHRvIG5vIHVzZSBvZiBncmVlbnMsDQoreWVsbG93cywgYW5kIHJlZHMuDQorDQorT3B0aW9u IGBmYWludCcgaXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUgY2hvaWNlIG9mDQor cGFsZXR0ZSBidXQgYXBwbGllcyBkZXNhdHVyYXRlZCBjb2xvciB2YWx1ZXMuDQorDQorT3B0aW9u IGB5ZWxsb3ctY29tbWVudHMnIGFwcGxpZXMgYSB5ZWxsb3cgdGludCB0byBjb21tZW50cy4gIFRo ZQ0KK3Jlc3Qgb2YgdGhlIHN5bnRheCBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdC4NCisNCitP cHRpb24gYGdyZWVuLXN0cmluZ3MnIHJlcGxhY2VzIHRoZSBibHVlL2N5YW4vY29sZCBjb2xvciB2 YXJpYW50cw0KK2luIHN0cmluZ3Mgd2l0aCBncmVlbmVyIGFsdGVybmF0aXZlcy4gIFRoZSByZXN0 IG9mIHRoZSBzeW50YXgNCityZW1haW5zIHRoZSBzYW1lLg0KKw0KK09wdGlvbiBgeWVsbG93LWNv bW1lbnRzLWdyZWVuLXN0cmluZ3MnIGNvbWJpbmVzIHllbGxvdyBjb21tZW50cw0KK3dpdGggZ3Jl ZW4gc3RyaW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRlZmF1bHQgc3ludGF4DQoraGlnaGxpZ2h0 aW5nIHN0eWxlLg0KKw0KK09wdGlvbiBgYWx0LXN5bnRheCcgZXhwYW5kcyB0aGUgY29sb3IgcGFs ZXR0ZSBhbmQgYXBwbGllcyBuZXcNCitjb2xvciBjb21iaW5hdGlvbnMuICBTdHJpbmdzIGFyZSBn cmVlbi4gIERvYyBzdHJpbmdzIGFyZSBtYWdlbnRhDQordGludGVkLiAgQ29tbWVudHMgYXJlIGdy YXkuDQorDQorT3B0aW9uIGBhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cycgY29tYmluZXMgYGFs dC1zeW50YXgnIHdpdGgNCitgeWVsbG93LWNvbW1lbnRzJy4NCisNCitPcHRpb24gYGZhaW50LXll bGxvdy1jb21tZW50cycgY29tYmluZXMgdGhlIGBmYWludCcgc3R5bGUgd2l0aA0KK2B5ZWxsb3ct Y29tbWVudHMnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9u ICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUg JyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkJhbGFuY2VkIHVzZSBvZiBibHVlLCBj eWFuLCBtYWdlbnRhLCBwdXJwbGUgdmFyaWFudHMgKGRlZmF1bHQpIiBuaWwpDQorICAgICAgICAg IChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQgd2l0aCBkZXNhdHVyYXRlZCBjb2xv ciB2YWx1ZXMiIGZhaW50KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQXBwbHkgeWVsbG93IHRp bnQgdG8gY29tbWVudHMsIGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRoZSByZXN0IiB5ZWxs b3ctY29tbWVudHMpDQorICAgICAgICAgIChjb25zdCA6dGFnICJVc2UgZ3JlZW4gZm9yIHN0cmlu Z3MsIGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRoZSByZXN0IiBncmVlbi1zdHJpbmdzKQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiVXNlIGdyZWVuIGZvciBzdHJpbmdzLCB5ZWxsb3cgZm9y IGNvbW1lbnRzLCBrZWVwIHRoZSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcmVzdCIgeWVsbG93LWNv bW1lbnRzLWdyZWVuLXN0cmluZ3MpDQorICAgICAgICAgIChjb25zdCA6dGFnICJSZWZhc2hpb24g c3ludGF4IGhpZ2hsaWdodGluZyB3aXRoIG1vcmUgY29sb3JzLCBncmF5IGNvbW1lbnRzIiBhbHQt c3ludGF4KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgYWx0LXN5bnRheCcgYnV0IHdp dGggeWVsbG93IGNvbW1lbnRzIiBhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cykNCisgICAgICAg ICAgKGNvbnN0IDp0YWcgIkxpa2UgYGZhaW50JyBidXQgd2l0aCB5ZWxsb3cgY29tbWVudHMiIGZh aW50LXllbGxvdy1jb21tZW50cykpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1l cykgU3ludGF4IHN0eWxlcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLWxpbmtzIG5p bA0KKyAgIlNldCB0aGUgc3R5bGUgb2YgbGlua3MuDQorDQorTmlsIG1lYW5zIHRvIHVzZSBhbiB1 bmRlcmxpbmUgdGhhdCBpcyB0aGUgc2FtZSBjb2xvciBhcyB0aGUNCitmb3JlZ3JvdW5kLg0KKw0K K09wdGlvbiBgZmFpbnQnIGFwcGxpZXMgZGVzYXR1cmF0ZWQgY29sb3JzIHRvIHRoZSBsaW5rJ3Mg dGV4dCBhbmQNCit1bmRlcmxpbmUuDQorDQorT3B0aW9uIGBuZXV0cmFsLXVuZGVybGluZScgYXBw bGllcyBhIHN1YnRsZSBncmV5IHVuZGVybGluZSwgd2hpbGUNCityZXRhaW5pbmcgdGhlIGxpbmsn cyBmb3JlZ3JvdW5kLg0KKw0KK09wdGlvbiBgZmFpbnQtbmV1dHJhbC11bmRlcmxpbmUnIGNvbWJp bmVzIGEgZGVzYXR1cmF0ZWQgdGV4dA0KK2NvbG9yIHdpdGggYSBzdWJ0bGUgZ3JleSB1bmRlcmxp bmUuDQorDQorT3B0aW9uIGBuby11bmRlcmxpbmUnIHJlbW92ZXMgbGluayB1bmRlcmxpbmVzIGFs dG9nZXRoZXIsIHdoaWxlDQorcmV0YWluaW5nIHRoZWlyIG9yaWdpbmFsIGZhaXJseSB2aXZpZCBj b2xvci4NCisNCitPcHRpb24gYHVuZGVybGluZS1vbmx5JyBhcHBsaWVzIGFuIHVuZGVybGluZSB3 aGlsZSBtYWtpbmcgdGhlDQorYWZmZWN0ZWQgdGV4dCBjb2xvcmxlc3MgKGl0IHVzZXMgdGhlIHNh bWUgZm9yZWdyb3VuZCBhcyB0aGUNCit0aGVtZSdzIGRlZmF1bHQpLg0KKw0KK09wdGlvbiBgbmV1 dHJhbC11bmRlcmxpbmUtb25seScgbWFrZXMgdGhlIHRleHQgY29sb3JsZXNzIHdoaWxlDQordXNp bmcgYSBzdWJ0bGUgdW5kZXJsaW5lIGJlbG93IGl0LiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVz DQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJz aW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlVu ZGVsaW5lIGxpbmsgdXNpbmcgdGhlIHNhbWUgY29sb3IgYXMgdGhlIHRleHQgKGRlZmF1bHQpIiBu aWwpDQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQgYXBwbHkg bGVzcyBpbnRlbnNlIGNvbG9ycyB0byBsaW5rcyIgZmFpbnQpDQorICAgICAgICAgIChjb25zdCA6 dGFnICJDaGFuZ2UgdGhlIGNvbG9yIG9mIGxpbmsgdW5kZXJsaW5lcyB0byBhIG5ldXRyYWwgZ3Jl eSIgbmV1dHJhbC11bmRlcmxpbmUpDQorICAgICAgICAgIChjb25zdCA6dGFnICJEZXNhdHVyYXRl ZCBmb3JlZ3JvdW5kIHdpdGggbmV1dHJhbCBncmV5IHVuZGVybGluZSIgZmFpbnQtbmV1dHJhbC11 bmRlcmxpbmUpDQorICAgICAgICAgIChjb25zdCA6dGFnICJSZW1vdmUgdW5kZXJsaW5lIHByb3Bl cnR5IGZyb20gbGlua3MsIGtlZXBpbmcgdGhlaXIgZm9yZWdyb3VuZCBhcy1pcyIgbm8tdW5kZXJs aW5lKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQXBwbHkgdW5kZXJsaW5lIG9ubHk7IHVzZSBk ZWZhdWx0IGZvcmVncm91bmQiIHVuZGVybGluZS1vbmx5KQ0KKyAgICAgICAgICAoY29uc3QgOnRh ZyAiTGlrZSBgdW5kZXJsaW5lLW9ubHknIGJ1dCB3aXRoIGEgc3VidGxlIHVuZGVybGluZSIgbmV1 dHJhbC11bmRlcmxpbmUtb25seSkpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1l cykgTGluayBzdHlsZXMiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1yZWdpb24gbmls DQorICAiQ2hhbmdlIHRoZSBvdmVyYWxsIGFwcGVhcmFuY2Ugb2YgdGhlIGFjdGl2ZSByZWdpb24u DQorDQorTmlsICh0aGUgZGVmYXVsdCkgbWVhbnMgdG8gb25seSB1c2UgYSBwcm9taW5lbnQgZ3Jh eSBiYWNrZ3JvdW5kDQord2l0aCBhIG5ldXRyYWwgZm9yZWdyb3VuZC4gIFRoZSBmb3JlZ3JvdW5k IG92ZXJyaWRlcyBhbGwgc3ludGF4DQoraGlnaGxpZ2h0aW5nLiAgVGhlIHJlZ2lvbiBleHRlbmRz IHRvIHRoZSBlZGdlIG9mIHRoZSB3aW5kb3cuDQorDQorT3B0aW9uIGBuby1leHRlbmQnIHByZXNl cnZlcyB0aGUgZGVmYXVsdCBhZXN0aGV0aWMgYnV0IHByZXZlbnRzDQordGhlIHJlZ2lvbiBmcm9t IGV4dGVuZGluZyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KKw0KK09wdGlvbiBgYmctb25s eScgYXBwbGllcyBhIGZhaW50IHRpbnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMNCitkaXN0aW5jdCBm cm9tIGFsbCBvdGhlcnMgdXNlZCBpbiB0aGUgdGhlbWUsIHdoaWxlIGl0IGRvZXMgbm90DQorb3Zl cnJpZGUgYW55IGV4aXN0aW5nIGNvbG9ycy4gIEl0IGV4dGVuZHMgdG8gdGhlIGVkZ2Ugb2YgdGhl DQord2luZG93Lg0KKw0KK09wdGlvbiBgYmctb25seS1uby1leHRlbmQnIGlzIGEgY29tYmluYXRp b24gb2YgdGhlIGBiZy1vbmx5JyBhbmQNCitgbm8tZXh0ZW5kJyBvcHRpb25zLiINCisgIDpncm91 cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEu MC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAg KGNvbnN0IDp0YWcgIkludGVuc2UgYmFja2dyb3VuZDsgb3ZlcnJpZGVzIGNvbG9yczsgZXh0ZW5k cyB0byBlZGdlIG9mIHdpbmRvdyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0 YWcgIkFzIHdpdGggdGhlIGRlZmF1bHQsIGJ1dCBkb2VzIG5vdCBleHRlbmQiIG5vLWV4dGVuZCkN CisgICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBiYWNrZ3JvdW5kOyBwcmVzZXJ2ZXMgY29s b3JzOyBleHRlbmRzIHRvIGVkZ2Ugb2Ygd2luZG93IiBiZy1vbmx5KQ0KKyAgICAgICAgICAoY29u c3QgOnRhZyAiQXMgd2l0aCB0aGUgYHN1YnRsZScgb3B0aW9uLCBidXQgZG9lcyBub3QgZXh0ZW5k IiBiZy1vbmx5LW5vLWV4dGVuZCkpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1l cykgQWN0aXZlIHJlZ2lvbiIpKQ0KKw0KKwwNCisNCis7Ozs7IERlcHJlY2F0ZWQgY3VzdG9taXph dGlvbiBvcHRpb25zIChwcmlvciB0byAxLjAuMCkNCisNCis7Ozs7OyBNb2R1cyBPcGVyYW5kaSBv YnNvbGV0ZSBvcHRpb25zDQorDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1l LW92ZXJyaWRlLWNvbG9ycy1hbGlzdCBuaWwgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtb3BlcmFuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzICdtb2R1cy10aGVtZXMtc2xhbnRl ZC1jb25zdHJ1Y3RzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRo ZW1lLWJvbGQtY29uc3RydWN0cyAnbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyAiMS4wLjAi KQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9wb3J0aW9uYWwtZm9u dHMgJ21vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtl LW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAn bW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzICdtb2R1cy10aGVtZXMt bm8tbWl4ZWQtZm9udHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGkt dGhlbWUtcmFpbmJvdy1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAuMCIpDQor KG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNlY3Rpb24taGVhZGluZ3MgJ21v ZHVzLXRoZW1lcy1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVy YW5kaS10aGVtZS1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAuMCIpDQorKG1h a2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzICdtb2R1cy10 aGVtZXMtc2NhbGUtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3Bl cmFuZGktdGhlbWUtc2NhbGUtMSAnbW9kdXMtdGhlbWVzLXNjYWxlLTEgIjEuMC4wIikNCisobWFr ZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMiAnbW9kdXMtdGhlbWVzLXNj YWxlLTIgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc2Nh bGUtMyAnbW9kdXMtdGhlbWVzLXNjYWxlLTMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCAnbW9kdXMtdGhlbWVzLXNjYWxlLTQgIjEuMC4wIikN CisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNSAnbW9kdXMtdGhl bWVzLXNjYWxlLTUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhl bWUtdmlzaWJsZS1mcmluZ2VzICdtb2R1cy10aGVtZXMtZnJpbmdlcyAiMS4wLjAiKQ0KKyhtYWtl LW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2VzICdtb2R1cy10aGVtZXMtZnJp bmdlcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1kaXN0 aW5jdC1vcmctYmxvY2tzICdtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyhtYWtl LW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1yYWluYm93LW9yZy1zcmMtYmxvY2tzICdt b2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1v cGVyYW5kaS10aGVtZS1vcmctYmxvY2tzICdtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAi KQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS0zZC1tb2RlbGluZSAnbW9k dXMtdGhlbWVzLW1vZGUtbGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVy YW5kaS10aGVtZS1tb2RlLWxpbmUgJ21vZHVzLXRoZW1lcy1tb2RlLWxpbmUgIjEuMC4wIikNCiso bWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc3VidGxlLWRpZmZzICdtb2R1cy10 aGVtZXMtZGlmZnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhl bWUtZGlmZnMgJ21vZHVzLXRoZW1lcy1kaWZmcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdt b2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLXN0YW5kYXJkLWNvbXBsZXRpb25zICdtb2R1cy10 aGVtZXMtY29tcGxldGlvbnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFu ZGktdGhlbWUtY29tcGxldGlvbnMgJ21vZHVzLXRoZW1lcy1jb21wbGV0aW9ucyAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9tcHRzICdtb2R1cy10aGVt ZXMtcHJvbXB0cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVt ZS1pbnRlbnNlLWhsLWxpbmUgJ21vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUgIjEuMC4wIikN CisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRj aCAnbW9kdXMtdGhlbWVzLXBhcmVuLW1hdGNoICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21v ZHVzLW9wZXJhbmRpLXRoZW1lLWZhaW50LXN5bnRheCAnbW9kdXMtdGhlbWVzLXN5bnRheCAiMS4w LjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21tZW50cyAnbW9k dXMtdGhlbWVzLXN5bnRheCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXggJ21vZHVzLXRoZW1lcy1zeW50YXggIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUgJ21vZHVzLXRoZW1l cy1saW5rcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1s aW5rcyAnbW9kdXMtdGhlbWVzLWxpbmtzICIxLjAuMCIpDQorDQorOzs7OzsgTW9kdXMgVml2ZW5k aSBvYnNvbGV0ZSBvcHRpb25zDQorDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhl bWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0IG5pbCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdt b2R1cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyAnbW9kdXMtdGhlbWVzLXNsYW50 ZWQtY29uc3RydWN0cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRo ZW1lLWJvbGQtY29uc3RydWN0cyAnbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyAiMS4wLjAi KQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXByb3BvcnRpb25hbC1mb250 cyAnbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Ut b2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgJ21v ZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29s ZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzICdtb2R1cy10aGVtZXMtbm8t bWl4ZWQtZm9udHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVt ZS1yYWluYm93LWhlYWRpbmdzICdtb2R1cy10aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCisobWFr ZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zZWN0aW9uLWhlYWRpbmdzICdtb2R1cy10 aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10 aGVtZS1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1z Y2FsZS1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTEgJ21vZHVzLXRoZW1lcy1zY2FsZS0xICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xl dGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMiAnbW9kdXMtdGhlbWVzLXNjYWxlLTIgIjEu MC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zICdtb2R1 cy10aGVtZXMtc2NhbGUtMyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRp LXRoZW1lLXNjYWxlLTQgJ21vZHVzLXRoZW1lcy1zY2FsZS00ICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNSAnbW9kdXMtdGhlbWVzLXNjYWxlLTUg IjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS12aXNpYmxlLWZy aW5nZXMgJ21vZHVzLXRoZW1lcy1mcmluZ2VzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21v ZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcyAnbW9kdXMtdGhlbWVzLWZyaW5nZXMgIjEuMC4wIikN CisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1kaXN0aW5jdC1vcmctYmxvY2tz ICdtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1 cy12aXZlbmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MgJ21vZHVzLXRoZW1lcy1vcmct YmxvY2tzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtb3Jn LWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0 ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS0zZC1tb2RlbGluZSAnbW9kdXMtdGhlbWVzLW1vZGUtbGlu ZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUtbGlu ZSAnbW9kdXMtdGhlbWVzLW1vZGUtbGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1 cy12aXZlbmRpLXRoZW1lLXN1YnRsZS1kaWZmcyAnbW9kdXMtdGhlbWVzLWRpZmZzICIxLjAuMCIp DQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMgJ21vZHVzLXRoZW1l cy1kaWZmcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWlu dGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMgJ21vZHVzLXRoZW1lcy1jb21wbGV0aW9ucyAiMS4w LjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zICdt b2R1cy10aGVtZXMtY29tcGxldGlvbnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMt dml2ZW5kaS10aGVtZS1wcm9tcHRzICdtb2R1cy10aGVtZXMtcHJvbXB0cyAiMS4wLjAiKQ0KKyht YWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZSAnbW9kdXMt dGhlbWVzLWludGVuc2UtaGwtbGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12 aXZlbmRpLXRoZW1lLWludGVuc2UtcGFyZW4tbWF0Y2ggJ21vZHVzLXRoZW1lcy1wYXJlbi1tYXRj aCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWZhaW50LXN5 bnRheCAnbW9kdXMtdGhlbWVzLXN5bnRheCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1 cy12aXZlbmRpLXRoZW1lLWNvbW1lbnRzICdtb2R1cy10aGVtZXMtc3ludGF4ICIxLjAuMCIpDQor KG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4ICdtb2R1cy10aGVtZXMt c3ludGF4ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtbm8t bGluay11bmRlcmxpbmUgJ21vZHVzLXRoZW1lcy1saW5rcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29s ZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWxpbmtzICdtb2R1cy10aGVtZXMtbGlua3MgIjEuMC4w IikNCisNCisMDQorDQorOzs7IEludGVybmFsIGZ1bmN0aW9ucw0KKw0KKyhkZWZ1biBtb2R1cy10 aGVtZXMtLXBhbGV0dGUgKHRoZW1lKQ0KKyAgIlJldHVybiBjb2xvciBwYWxldHRlIGZvciBNb2R1 cyB0aGVtZSBUSEVNRS4NCitUSEVNRSBpcyBhIHN5bWJvbCwgZWl0aGVyIGBtb2R1cy1vcGVyYW5k aScgb3IgYG1vZHVzLXZpdmVuZGknLiINCisgIChwY2FzZSB0aGVtZQ0KKyAgICAoJ21vZHVzLW9w ZXJhbmRpDQorICAgICAoYXBwZW5kIG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVycmlk ZXMNCisgICAgICAgICAgICAgbW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9ycykpDQorICAgICgn bW9kdXMtdml2ZW5kaQ0KKyAgICAgKGFwcGVuZCBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvci1v dmVycmlkZXMNCisgICAgICAgICAgICAgbW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzKSkNCisg ICAgKF90aGVtZQ0KKyAgICAgKGVycm9yICInJXMnIGlzIG5vdCBhIE1vZHVzIHRoZW1lIiB0aGVt ZSkpKSkNCisNCisoZGVmdmFyIG1vZHVzLXRoZW1lcy1mYWNlcykNCisoZGVmdmFyIG1vZHVzLXRo ZW1lcy1jdXN0b20tdmFyaWFibGVzKQ0KKw0KKyhkZWZtYWNybyBtb2R1cy10aGVtZXMtdGhlbWUg KG5hbWUpDQorICAiQmluZCBOQU1FJ3MgY29sb3IgcGFsZXR0ZSBhcm91bmQgZmFjZSBzcGVjcyBh bmQgdmFyaWFibGVzLg0KKw0KK05BTUUgc2hvdWxkIGJlIHRoZSBwcm9wZXIgbmFtZSBvZiBhIE1v ZHVzIHRoZW1lLCBlaXRoZXINCitgbW9kdXMtb3BlcmFuZGknIG9yIGBtb2R1cy12aXZlbmRpJy4N CisNCitGYWNlIHNwZWNpZmljYXRpb25zIGFyZSBwYXNzZWQgdG8gYGN1c3RvbS10aGVtZS1zZXQt ZmFjZXMnLg0KK1doaWxlIHZhcmlhYmxlcyBhcmUgaGFuZGxlZCBieSBgY3VzdG9tLXRoZW1lLXNl dC12YXJpYWJsZXMnLg0KK1Rob3NlIGFyZSBzdG9yZWQgaW4gYG1vZHVzLXRoZW1lcy1mYWNlcycg YW5kDQorYG1vZHVzLXRoZW1lcy1jdXN0b20tdmFyaWFibGVzJyByZXNwZWN0aXZlbHkuIg0KKyAg KGRlY2xhcmUgKGluZGVudCAwKSkNCisgIChsZXQgKChwYWxldHRlLXN5bSAoZ2Vuc3ltKSkNCisg ICAgICAgIChjb2xvcnMgKG1hcGNhciAjJ2NhciBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Jz KSkpDQorICAgIGAobGV0KiAoKGNsYXNzICcoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OSkp KQ0KKyAgICAgICAgICAgICgscGFsZXR0ZS1zeW0gKG1vZHVzLXRoZW1lcy0tcGFsZXR0ZSAnLG5h bWUpKQ0KKyAgICAgICAgICAgICxAKG1hcGNhciAobGFtYmRhIChjb2xvcikNCisgICAgICAgICAg ICAgICAgICAgICAgICAobGlzdCBjb2xvciBgKGFsaXN0LWdldCAnLGNvbG9yICxwYWxldHRlLXN5 bSkpKQ0KKyAgICAgICAgICAgICAgICAgICAgICBjb2xvcnMpKQ0KKyAgICAgICAoY3VzdG9tLXRo ZW1lLXNldC1mYWNlcyAnLG5hbWUgLEBtb2R1cy10aGVtZXMtZmFjZXMpDQorICAgICAgIChjdXN0 b20tdGhlbWUtc2V0LXZhcmlhYmxlcyAnLG5hbWUgLEBtb2R1cy10aGVtZXMtY3VzdG9tLXZhcmlh YmxlcykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1jdXJyZW50LXRoZW1lICgpDQorICAi UmV0dXJuIGN1cnJlbnQgdGhlbWUuIg0KKyAgKGNhciBjdXN0b20tZW5hYmxlZC10aGVtZXMpKQ0K Kw0KKzs7IEhlbHBlciBmdW5jdGlvbnMgdGhhdCBhcmUgbWVhbnQgdG8gZWFzZSB0aGUgaW1wbGVt ZW50YXRpb24gb2YgdGhlDQorOzsgYWJvdmUgY3VzdG9taXphdGlvbiBvcHRpb25zLg0KKyhkZWZ1 biBtb2R1cy10aGVtZXMtLWJvbGQtd2VpZ2h0ICgpDQorICAiQ29uZGl0aW9uYWwgdXNlIG9mIGEg aGVhdmllciB0ZXh0IHdlaWdodC4iDQorICAod2hlbiBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1 Y3RzDQorICAgIChsaXN0IDppbmhlcml0ICdib2xkKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1l cy0tbWl4ZWQtZm9udHMgKCkNCisgICJDb25kaXRpb25hbCBhcHBsaWNhdGlvbiBvZiBgZml4ZWQt cGl0Y2gnIGluaGVyaXRhbmNlLiINCisgICh1bmxlc3MgbW9kdXMtdGhlbWVzLW5vLW1peGVkLWZv bnRzDQorICAgIChsaXN0IDppbmhlcml0ICdmaXhlZC1waXRjaCkpKQ0KKw0KKyhkZWZ1biBtb2R1 cy10aGVtZXMtLXNsYW50ICgpDQorICAiQ29uZGl0aW9uYWwgdXNlIG9mIGl0YWxpY3MgZm9yIHNs YW50IGF0dHJpYnV0ZS4iDQorICAoaWYgbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cw0K KyAgICAgIChsaXN0ICdpdGFsaWMpDQorICAgIChsaXN0ICdub3JtYWwpKSkNCisNCisoZGVmdW4g bW9kdXMtdGhlbWVzLS12YXJpYWJsZS1waXRjaCAoKQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBg dmFyaWFibGUtcGl0Y2gnIGluIGhlYWRpbmdzLiINCisgICh3aGVuIG1vZHVzLXRoZW1lcy12YXJp YWJsZS1waXRjaC1oZWFkaW5ncw0KKyAgICAobGlzdCA6aW5oZXJpdCAndmFyaWFibGUtcGl0Y2gp KSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS12YXJpYWJsZS1waXRjaC11aSAoKQ0KKyAgIkNv bmRpdGlvbmFsIHVzZSBvZiBgdmFyaWFibGUtcGl0Y2gnIGluIFVJIGVsZW1lbnRzLiINCisgICh3 aGVuIG1vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC11aQ0KKyAgICAobGlzdCA6aW5oZXJpdCAn dmFyaWFibGUtcGl0Y2gpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1mcmluZ2UgKG1haW5i ZyBzdWJ0bGViZyBpbnRlbnNlYmcpDQorICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQg Y29sb3JzIGZvciBmcmluZ2VzLg0KK01BSU5CRyBpcyB0aGUgZGVmYXVsdC4gIFNVQlRMRUJHIHNo b3VsZCBiZSBhIHN1YnRsZSBncmV5c2NhbGUNCit2YWx1ZS4gIElOVEVOU0VCRyBtdXN0IGJlIGEg bW9yZSBwcm9ub3VuY2VkIGdyZXlzY2FsZSBjb2xvci4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVz LWZyaW5nZXMNCisgICAgKCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykpDQor ICAgICgnc3VidGxlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnKSkNCisgICAgKF8gKGxpc3Qg OmJhY2tncm91bmQgbWFpbmJnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWxpbmUtbnVt YmVycyAobWFpbmZnIG1haW5iZyBhbHRmZyAmb3B0aW9uYWwgYWx0YmcpDQorICAiQ29uZGl0aW9u YWwgdXNlIG9mIGNvbG9ycyBmb3IgbGluZSBudW1iZXJzLg0KK01BSU5CRyBhbmQgTUFJTkZHIGFy ZSB0aGUgZGVmYXVsdCBjb2xvcnMuICBBTFRGRyBpcyBhIGNvbG9yIHRoYXQNCitjb21iaW5lcyB3 aXRoIHRoZSB0aGVtZSdzIHByaW1hcnkgYmFja2dyb3VuZCAod2hpdGUvYmxhY2spLiINCisgIChp ZiBtb2R1cy10aGVtZXMtc3VidGxlLWxpbmUtbnVtYmVycw0KKyAgICAgIChsaXN0IDpiYWNrZ3Jv dW5kIChvciBhbHRiZyAndW5zcGVjaWZpZWQpIDpmb3JlZ3JvdW5kIGFsdGZnKQ0KKyAgICAobGlz dCA6YmFja2dyb3VuZCBtYWluYmcgOmZvcmVncm91bmQgbWFpbmZnKSkpDQorDQorKGRlZnVuIG1v ZHVzLXRoZW1lcy0tbGFuZy1jaGVjayAodW5kZXJsaW5lIHN1YnRsZWZnIGludGVuc2VmZyBiZykN CisgICJDb25kaXRpb25hbCB1c2Ugb2YgZm9yZWdyb3VuZCBjb2xvcnMgZm9yIGxhbmd1YWdlIGNo ZWNrZXJzLg0KK1VOREVSTElORSBpcyBhIGNvbG9yLWNvZGUgdmFsdWUgZm9yIHRoZSBhZmZlY3Rl ZCB0ZXh0J3MgdW5kZXJsaW5lDQorcHJvcGVydHkuICBTVUJUTEVGRyBhbmQgSU5URU5TRUZHIGZv bGxvdyB0aGUgc2FtZSBjb2xvci1jb2RpbmcNCitwYXR0ZXJuIGFuZCByZXByZXNlbnQgYSB2YWx1 ZSB0aGF0IGlzIGZhaW50IG9yIHZpYnJhbnQNCityZXNwZWN0aXZlbHkuICBCRyBpcyBhIGNvbG9y LWNvZGVkIGJhY2tncm91bmQuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1sYW5nLWNoZWNrZXJz DQorICAgICgnY29sb3JlZC1iYWNrZ3JvdW5kDQorICAgICAobGlzdCA6dW5kZXJsaW5lIHVuZGVy bGluZSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KKyAgICAoJ2ludGVu c2UtZm9yZWdyb3VuZA0KKyAgICAgKGxpc3QgOnVuZGVybGluZSAobGlzdCA6Y29sb3IgdW5kZXJs aW5lIDpzdHlsZSAnd2F2ZSkgOmZvcmVncm91bmQgaW50ZW5zZWZnKSkNCisgICAgKCdpbnRlbnNl LWZvcmVncm91bmQtc3RyYWlnaHQtdW5kZXJsaW5lDQorICAgICAobGlzdCA6dW5kZXJsaW5lIHVu ZGVybGluZSA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KKyAgICAoJ3N1YnRsZS1mb3JlZ3JvdW5k DQorICAgICAobGlzdCA6dW5kZXJsaW5lIChsaXN0IDpjb2xvciB1bmRlcmxpbmUgOnN0eWxlICd3 YXZlKSA6Zm9yZWdyb3VuZCBzdWJ0bGVmZykpDQorICAgICgnc3VidGxlLWZvcmVncm91bmQtc3Ry YWlnaHQtdW5kZXJsaW5lDQorICAgICAobGlzdCA6dW5kZXJsaW5lIHVuZGVybGluZSA6Zm9yZWdy b3VuZCBzdWJ0bGVmZykpDQorICAgICgnc3RyYWlnaHQtdW5kZXJsaW5lDQorICAgICAobGlzdCA6 dW5kZXJsaW5lIHVuZGVybGluZSkpDQorICAgIChfIChsaXN0IDp1bmRlcmxpbmUgKGxpc3QgOmNv bG9yIHVuZGVybGluZSA6c3R5bGUgJ3dhdmUpKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMt LXByb21wdCAobWFpbmZnIHN1YnRsZWJnIHN1YnRsZWZnIGludGVuc2ViZyBpbnRlbnNlZmcpDQor ICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQgY29sb3JzIGZvciBwcm9tcHRzLg0KK01B SU5GRyBpcyB0aGUgcHJvbXB0J3Mgc3RhbmRhcmQgZm9yZWdyb3VuZC4gIFNVQlRMRUJHIHNob3Vs ZCBiZSBhDQorc3VidGxlIGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCB3b3JrcyB3aXRoIFNVQlRM RUZHLiAgSU5URU5TRUJHDQorbXVzdCBiZSBhIG1vcmUgcHJvbm91bmNlZCBhY2NlbnRlZCBjb2xv ciB0aGF0IHNob3VsZCBiZQ0KK2NvbWJpbmFibGUgd2l0aCBJTlRFTlNFRkcuIg0KKyAgKHBjYXNl IG1vZHVzLXRoZW1lcy1wcm9tcHRzDQorICAgIDs7IGBzdWJ0bGUnIGlzIHRoZSBzYW1lIGFzIGBz dWJ0bGUtYWNjZW50ZWQnLCB3aGlsZSBgaW50ZW5zZScgaXMNCisgICAgOzsgZXF1YWwgdG8gYGlu dGVuc2UtYWNjZW50ZWQnIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5DQorICAgICgnaW50ZW5z ZS1hY2NlbnRlZCAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcgOmZvcmVncm91bmQgaW50ZW5z ZWZnKSkNCisgICAgKCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9yZWdy b3VuZCBpbnRlbnNlZmcpKQ0KKyAgICAoJ3N1YnRsZS1hY2NlbnRlZCAobGlzdCA6YmFja2dyb3Vu ZCBzdWJ0bGViZyA6Zm9yZWdyb3VuZCBzdWJ0bGVmZykpDQorICAgICgnc3VidGxlIChsaXN0IDpi YWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIHN1YnRsZWZnKSkNCisgICAgKCdzdWJ0bGUt Z3JheSAobGlzdCA6aW5oZXJpdCAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKQ0KKyAgICAo J2ludGVuc2UtZ3JheSAobGlzdCA6aW5oZXJpdCAnbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFs KSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsIDpmb3JlZ3JvdW5kIG1haW5mZykpKSkN CisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1wYXJlbiAobm9ybWFsYmcgaW50ZW5zZWJnKQ0KKyAg IkNvbmRpdGlvbmFsIHVzZSBvZiBpbnRlbnNlIGNvbG9ycyBmb3IgbWF0Y2hpbmcgcGFyZW50aGVz ZXMuDQorTk9STUFMQkcgc2hvdWxkIGJlIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3IgJ2JnLXBh cmVuLW1hdGNoJyBvcg0KK3NvbWV0aGluZyBzaW1pbGFyLiAgSU5URU5TRUJHIG11c3QgYmUgZWFz aWVyIHRvIGRpc2Nlcm4gbmV4dCB0bw0KK290aGVyIGJhY2tncm91bmRzLCBzdWNoIGFzIHRoZSBz cGVjaWFsIHBhbGV0dGUgY29sb3INCisnYmctcGFyZW4tbWF0Y2gtaW50ZW5zZScuIg0KKyAgKHBj YXNlIG1vZHVzLXRoZW1lcy1wYXJlbi1tYXRjaA0KKyAgICAoJ3N1YnRsZS1ib2xkIChsaXN0IDpp bmhlcml0ICdib2xkIDpiYWNrZ3JvdW5kIG5vcm1hbGJnKSkNCisgICAgKCdpbnRlbnNlLWJvbGQg KGxpc3QgOmluaGVyaXQgJ2JvbGQgOmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCisgICAgKCdpbnRl bnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykpDQorICAgIChfIChsaXN0IDpiYWNrZ3Jv dW5kIG5vcm1hbGJnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLXN5bnRheC1mb3JlZ3Jv dW5kIChmZyBmYWludCkNCisgICJBcHBseSBmb3JlZ3JvdW5kIHZhbHVlIHRvIGNvZGUgc3ludGF4 Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNhbGx5IHRoZSBzYW1lIGNvbG9y IGluIGl0cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1z eW50YXgNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkpDQorICAgICgnZmFp bnQteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisgICAgKF8gKGxp c3QgOmZvcmVncm91bmQgZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tc3ludGF4LWV4 dHJhIChmZyBmYWludCBhbHQpDQorICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1ZSB0byBjb2RlIHN5 bnRheC4NCitGRyBpcyB0aGUgZGVmYXVsdC4gIEZBSU5UIGlzIHR5cGljYWxseSB0aGUgc2FtZSBj b2xvciBpbiBpdHMNCitkZXNhdHVyYXRlZCB2ZXJzaW9uLiAgQUxUIGlzIGFub3RoZXIgaHVlLiIN CisgIChwY2FzZSBtb2R1cy10aGVtZXMtc3ludGF4DQorICAgICgnZmFpbnQgKGxpc3QgOmZvcmVn cm91bmQgZmFpbnQpKQ0KKyAgICAoJ2ZhaW50LXllbGxvdy1jb21tZW50cyAobGlzdCA6Zm9yZWdy b3VuZCBmYWludCkpDQorICAgICgnYWx0LXN5bnRheCAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0K KyAgICAoJ2FsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIGFsdCkp DQorICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVt ZXMtLXN5bnRheC1zdHJpbmcgKGZnIGZhaW50IGdyZWVuIGFsdCkNCisgICJBcHBseSBmb3JlZ3Jv dW5kIHZhbHVlIHRvIHN0cmluZ3MgaW4gY29kZSBzeW50YXguDQorRkcgaXMgdGhlIGRlZmF1bHQu ICBGQUlOVCBpcyB0eXBpY2FsbHkgdGhlIHNhbWUgY29sb3IgaW4gaXRzDQorZGVzYXR1cmF0ZWQg dmVyc2lvbi4gIEdSRUVOIGlzIGEgY29sb3IgdmFyaWFudCBpbiB0aGF0IHNpZGUgb2YNCit0aGUg c3BlY3RydW0uICBBTFQgaXMgYW5vdGhlciBodWUuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1z eW50YXgNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkpDQorICAgICgnZmFp bnQteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisgICAgKCdncmVl bi1zdHJpbmdzIChsaXN0IDpmb3JlZ3JvdW5kIGdyZWVuKSkNCisgICAgKCd5ZWxsb3ctY29tbWVu dHMtZ3JlZW4tc3RyaW5ncyAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAoJ2FsdC1zeW50 YXggKGxpc3QgOmZvcmVncm91bmQgYWx0KSkNCisgICAgKCdhbHQtc3ludGF4LXllbGxvdy1jb21t ZW50cyAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBm ZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1zeW50YXgtZG9jc3RyaW5nIChmZyBmYWlu dCBncmVlbiBhbHQpDQorICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1ZSB0byBzdHJpbmdzIGluIGNv ZGUgc3ludGF4Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNhbGx5IHRoZSBz YW1lIGNvbG9yIGluIGl0cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uICBHUkVFTiBpcyBhIGNvbG9y IHZhcmlhbnQgaW4gdGhhdCBzaWRlIG9mDQordGhlIHNwZWN0cnVtLiAgQUxUIGlzIGFub3RoZXIg aHVlLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtc3ludGF4DQorICAgICgnZmFpbnQgKGxpc3Qg OmZvcmVncm91bmQgZmFpbnQpKQ0KKyAgICAoJ2ZhaW50LXllbGxvdy1jb21tZW50cyAobGlzdCA6 Zm9yZWdyb3VuZCBmYWludCkpDQorICAgICgnZ3JlZW4tc3RyaW5ncyAobGlzdCA6Zm9yZWdyb3Vu ZCBncmVlbikpDQorICAgICgneWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MgKGxpc3QgOmZv cmVncm91bmQgZ3JlZW4pKQ0KKyAgICAoJ2FsdC1zeW50YXggKGxpc3QgOmZvcmVncm91bmQgYWx0 KSkNCisgICAgKCdhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cyAobGlzdCA6Zm9yZWdyb3VuZCBh bHQpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMt dGhlbWVzLS1zeW50YXgtY29tbWVudCAoZmcgeWVsbG93KQ0KKyAgIkFwcGx5IGZvcmVncm91bmQg dmFsdWUgdG8gc3RyaW5ncyBpbiBjb2RlIHN5bnRheC4NCitGRyBpcyB0aGUgZGVmYXVsdC4gIFlF TExPVyBpcyBhIGNvbG9yIHZhcmlhbnQgb2YgdGhhdCBuYW1lLiINCisgIChwY2FzZSBtb2R1cy10 aGVtZXMtc3ludGF4DQorICAgICgneWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIHll bGxvdykpDQorICAgICgneWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MgKGxpc3QgOmZvcmVn cm91bmQgeWVsbG93KSkNCisgICAgKCdhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cyAobGlzdCA6 Zm9yZWdyb3VuZCB5ZWxsb3cpKQ0KKyAgICAoJ2ZhaW50LXllbGxvdy1jb21tZW50cyAobGlzdCA6 Zm9yZWdyb3VuZCB5ZWxsb3cpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBmZykpKSkNCisN CisoZGVmdW4gbW9kdXMtdGhlbWVzLS1oZWFkaW5nLXAgKGtleSkNCisgICJRdWVyeSBzdHlsZSBv ZiBLRVkgaW4gYG1vZHVzLXRoZW1lcy1oZWFkaW5ncycuIg0KKyAgKGNkciAoYXNzb2Mga2V5IG1v ZHVzLXRoZW1lcy1oZWFkaW5ncykpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWhlYWRpbmcg KGxldmVsIGZnIGZnLWFsdCBiZyBib3JkZXIpDQorICAiQ29uZGl0aW9uYWwgc3R5bGVzIGZvciBg bW9kdXMtdGhlbWVzLWhlYWRpbmdzJy4NCisNCitMRVZFTCBpcyB0aGUgaGVhZGluZydzIHBvc2l0 aW9uIGluIHRoZWlyIG9yZGVyLiAgRkcgaXMgdGhlDQorZGVmYXVsdCB0ZXh0IGNvbG9yLiAgRkct QUxUIGlzIGFuIGFjY2VudGVkLCBtb3JlIHNhdHVyYXRlZCB2YWx1ZQ0KK3RoYW4gdGhlIGRlZmF1 bHQuICBCRyBpcyBhIG51YW5jZWQsIHR5cGljYWxseSBhY2NlbnRlZCwNCitiYWNrZ3JvdW5kIHRo YXQgY2FuIHdvcmsgd2VsbCB3aXRoIGVpdGhlciBvZiB0aGUgZm9yZWdyb3VuZA0KK3ZhbHVlcy4g IEJPUkRFUiBpcyBhIGNvbG9yIHZhbHVlIHRoYXQgY29tYmluZXMgd2VsbCB3aXRoIHRoZQ0KK2Jh Y2tncm91bmQgYW5kIGFsdGVybmF0aXZlIGZvcmVncm91bmQuIg0KKyAgKGxldCogKChrZXkgKG1v ZHVzLXRoZW1lcy0taGVhZGluZy1wIGAsbGV2ZWwpKQ0KKyAgICAgICAgIChzdHlsZSAob3Iga2V5 IChtb2R1cy10aGVtZXMtLWhlYWRpbmctcCB0KSkpDQorICAgICAgICAgKHZhciAod2hlbiBtb2R1 cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MNCisgICAgICAgICAgICAgICAgJ3Zhcmlh YmxlLXBpdGNoKSkNCisgICAgICAgICAodmFyYm9sZCAoaWYgdmFyDQorICAgICAgICAgICAgICAg ICAgICAgIChhcHBlbmQgKGxpc3QgJ2JvbGQpIChsaXN0IHZhcikpDQorICAgICAgICAgICAgICAg ICAgICAnYm9sZCkpKQ0KKyAgICAocGNhc2Ugc3R5bGUNCisgICAgICAoJ25vLWJvbGQNCisgICAg ICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmcpKQ0KKyAgICAgICgnbm8tY29s b3INCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXJib2xkKSkNCisgICAgICAoJ25vLWNvbG9y LW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIpKQ0KKyAgICAgICgnbGluZQ0K KyAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhcmJvbGQgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5l IGJvcmRlcikpDQorICAgICAgKCdsaW5lLW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQg YCx2YXIgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQorICAgICAgKCdyYWluYm93 DQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyYm9sZCA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0K KyAgICAgICgncmFpbmJvdy1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpm b3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdyYWluYm93LWxpbmUNCisgICAgICAgKGxpc3Qg OmluaGVyaXQgYCx2YXJib2xkIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkN CisgICAgICAoJ3JhaW5ib3ctbGluZS1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAs dmFyIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCisgICAgICAoJ2hpZ2hs aWdodA0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhcmJvbGQgOmJhY2tncm91bmQgYmcgOmZv cmVncm91bmQgZmcpKQ0KKyAgICAgICgnaGlnaGxpZ2h0LW5vLWJvbGQNCisgICAgICAgKGxpc3Qg OmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0KKyAgICAgICgn cmFpbmJvdy1oaWdobGlnaHQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXJib2xkIDpiYWNr Z3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdyYWluYm93LWhpZ2hsaWdo dC1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpm b3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdzZWN0aW9uDQorICAgICAgIChsaXN0IDppbmhl cml0IGAsdmFyYm9sZCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9y ZGVyIDpleHRlbmQgdCkpDQorICAgICAgKCdzZWN0aW9uLW5vLWJvbGQNCisgICAgICAgKGxpc3Qg OmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJv cmRlciA6ZXh0ZW5kIHQpKQ0KKyAgICAgICgncmFpbmJvdy1zZWN0aW9uDQorICAgICAgIChsaXN0 IDppbmhlcml0IGAsdmFyYm9sZCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92 ZXJsaW5lIGJvcmRlciA6ZXh0ZW5kIHQpKQ0KKyAgICAgICgncmFpbmJvdy1zZWN0aW9uLW5vLWJv bGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91 bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIgOmV4dGVuZCB0KSkNCisgICAgICAoXw0KKyAgICAg ICAobGlzdCA6aW5oZXJpdCBgLHZhcmJvbGQgOmZvcmVncm91bmQgZmcpKSkpKQ0KKw0KKyhkZWZ1 biBtb2R1cy10aGVtZXMtLW9yZy1ibG9jayAoYmdibGspDQorICAiQ29uZGl0aW9uYWxseSBzZXQg dGhlIGJhY2tncm91bmQgb2YgT3JnIGJsb2Nrcy4NCitCR0JMSyBhcHBsaWVzIHRvIGEgZGlzdGlu Y3QgbmV1dHJhbCBiYWNrZ3JvdW5kLiAgRWxzZSBibG9ja3MgaGF2ZQ0KK25vIGJhY2tncm91bmQg b2YgdGhlaXIgb3duICh0aGUgZGVmYXVsdCksIHNvIHRoZXkgbG9vayB0aGUgc2FtZQ0KK2FzIHRo ZSByZXN0IG9mIHRoZSBidWZmZXIuDQorDQorYG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzJyBhbHNv IGFjY2VwdHMgYSBgcmFpbmJvdycgb3B0aW9uDQord2hpY2ggaXMgYXBwbGllZCBjb25kaXRpb25h bGx5IHRvIGBvcmctc3JjLWJsb2NrLWZhY2VzJyAoc2VlIHRoZQ0KK3RoZW1lJ3Mgc291cmNlIGNv ZGUpLiINCisgIChpZiAob3IgKGVxIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzICdncmF5c2NhbGUp DQorICAgICAgICAgIChlcSBtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAnZ3JleXNjYWxlKSkNCisg ICAgICAobGlzdCA6YmFja2dyb3VuZCBiZ2JsayA6ZXh0ZW5kIHQpDQorICAgIChsaXN0IDpiYWNr Z3JvdW5kICd1bnNwZWNpZmllZCkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLW9yZy1ibG9j ay1kZWxpbSAoYmdhY2NlbnQgZmdhY2NlbnQgYmcgZmcpDQorICAiQ29uZGl0aW9uYWxseSBzZXQg dGhlIHN0eWxlcyBvZiBPcmcgYmxvY2sgZGVsaW1pdGVycy4NCitCRywgRkcsIEJHQUNDRU5ULCBG R0FDQ0VOVCBhcHBseSBhIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQNCitjb2xvciByZXNwZWN0 aXZlbHkuDQorDQorVGhlIGZvcm1lciBwYWlyIGlzIGEgZ3JleXNjYWxlIGNvbWJpbmF0aW9uIHRo YXQgc2hvdWxkIGJlIG1vcmUNCitkaXN0aW5jdCB0aGFuIHRoZSBiYWNrZ3JvdW5kIG9mIHRoZSBi bG9jay4gIEl0IGlzIGFwcGxpZWQgdG8gdGhlDQorZGVmYXVsdCBzdHlsZXMgb3Igd2hlbiBgbW9k dXMtdGhlbWVzLW9yZy1ibG9ja3MnIGlzIHNldA0KK3RvIGBncmV5c2NhbGUnLg0KKw0KK1RoZSBs YXR0ZXIgcGFpciBzaG91bGQgYmUgbW9yZSBzdWJ0bGUgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0 aGUNCitibG9jaywgYXMgaXQgaXMgdXNlZCB3aGVuIGBtb2R1cy10aGVtZXMtb3JnLWJsb2Nrcycg aXMNCitzZXQgdG8gYHJhaW5ib3cnLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtb3JnLWJsb2Nr cw0KKyAgICAoJ2dyYXlzY2FsZSAobGlzdCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6 ZXh0ZW5kIHQpKQ0KKyAgICAoJ2dyZXlzY2FsZSAobGlzdCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdy b3VuZCBmZyA6ZXh0ZW5kIHQpKQ0KKyAgICAoJ3JhaW5ib3cgKGxpc3QgOmJhY2tncm91bmQgYmdh Y2NlbnQgOmZvcmVncm91bmQgZmdhY2NlbnQpKQ0KKyAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBi ZyA6Zm9yZWdyb3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1vcmctaGFiaXQg KGRlZmF1bHQgJm9wdGlvbmFsIHRyYWZmaWMgc2ltcGxlKQ0KKyAgIlNwZWNpZnkgYmFja2dyb3Vu ZCB2YWx1ZXMgZm9yIGBtb2R1cy10aGVtZXMtb3JnLWhhYml0Jy4NCitJZiBubyBvcHRpb25hbCBU UkFGRklDIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCB0aGUgREVGQVVMVCBpcyB1c2VkDQoraW5zdGVh ZC4gIFNhbWUgZm9yIFNJTVBMRS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLW9yZy1oYWJpdA0K KyAgICAoJ3RyYWZmaWMtbGlnaHQgKGxpc3QgOmJhY2tncm91bmQgKG9yIHRyYWZmaWMgZGVmYXVs dCkpKQ0KKyAgICAoJ3NpbXBsaWZpZWQgKGxpc3QgOmJhY2tncm91bmQgKG9yIHNpbXBsZSBkZWZh dWx0KSkpDQorICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGRlZmF1bHQpKSkpDQorDQorKGRlZnVu IG1vZHVzLXRoZW1lcy0tbW9kZS1saW5lLWF0dHJzDQorICAgIChmZyBiZyBmZy1hbHQgYmctYWx0 IGJvcmRlciBib3JkZXItM2QgJm9wdGlvbmFsIGFsdC1zdHlsZSBib3JkZXItd2lkdGggZmctZGlz dGFudCkNCisgICJDb2xvciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1cy10aGVtZXMtbW9kZS1saW5l Jy4NCisNCitGRyBhbmQgQkcgYXJlIHRoZSBkZWZhdWx0IGNvbG9ycy4gIEZHLUFMVCBhbmQgQkct QUxUIGFyZSBtZWFudCB0bw0KK2FjY29tbW9kYXRlIHRoZSBvcHRpb25zIGZvciBhIDNEIG1vZGVs aW5lIG9yIGEgYG1vb2R5JyBjb21wbGlhbnQNCitvbmUuICBCT1JERVIgYXBwbGllcyB0byBhbGwg cGVybXV0YXRpb25zIG9mIHRoZSBtb2RlbGluZSwgZXhjZXB0DQordGhlIHRocmVlLWRpbWVuc2lv bmFsIGVmZmVjdCwgd2hlcmUgQk9SREVSLTNEIGlzIHVzZWQgaW5zdGVhZC4NCisNCitPcHRpb25h bCBBTFQtU1RZTEUgYXBwbGllcyBhbiBhcHByb3ByaWF0ZSBzdHlsZSB0byB0aGUgbW9kZQ0KK2xp bmUncyBib3ggcHJvcGVydHkuDQorDQorT3B0aW9uYWwgQk9SREVSLVdJRFRIIHNwZWNpZmllcyBh biBpbnRlZ2VyIGZvciB0aGUgd2lkdGggb2YgdGhlDQorcmVjdGFuZ2xlIHRoYXQgcHJvZHVjZXMg dGhlIGJveCBlZmZlY3QuDQorDQorT3B0aW9uYWwgRkctRElTVEFOVCBzaG91bGQgYmUgY2xvc2Ug dG8gdGhlIG1haW4gYmFja2dyb3VuZA0KK3ZhbHVlcy4gIEl0IGlzIGludGVuZGVkIHRvIGJlIHVz ZWQgYXMgYSBkaXN0YW50LWZvcmVncm91bmQNCitwcm9wZXJ0eS4iDQorICAocGNhc2UgbW9kdXMt dGhlbWVzLW1vZGUtbGluZQ0KKyAgICAoJzNkDQorICAgICBgKDpiYWNrZ3JvdW5kICxiZy1hbHQg OmZvcmVncm91bmQgLGZnLWFsdA0KKyAgICAgICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRl ci13aWR0aCAxKQ0KKyAgICAgICAgICAgICA6Y29sb3IgLGJvcmRlci0zZA0KKyAgICAgICAgICAg ICA6c3R5bGUgLChhbmQgYWx0LXN0eWxlICdyZWxlYXNlZC1idXR0b24pKSkpDQorICAgICgnbW9v ZHkNCisgICAgIGAoOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0DQorICAg ICAgIDp1bmRlcmxpbmUgLGJvcmRlciA6b3ZlcmxpbmUgLGJvcmRlcg0KKyAgICAgICA6ZGlzdGFu dC1mb3JlZ3JvdW5kICxmZy1kaXN0YW50KSkNCisgICAgKCdib3JkZXJsZXNzDQorICAgICBgKDpm b3JlZ3JvdW5kICxmZyA6YmFja2dyb3VuZCAsYmcgOmJveCAsYmcpKQ0KKyAgICAoJ2JvcmRlcmxl c3MtM2QNCisgICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3JvdW5kICxiZw0KKyAgICAgICA6 Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRlci13aWR0aCAxKQ0KKyAgICAgICAgICAgICA6Y29s b3IgLGJnDQorICAgICAgICAgICAgIDpzdHlsZSAsKGFuZCBhbHQtc3R5bGUgJ3JlbGVhc2VkLWJ1 dHRvbikpKSkNCisgICAgKCdib3JkZXJsZXNzLW1vb2R5DQorICAgICBgKDpiYWNrZ3JvdW5kICxi ZyA6Zm9yZWdyb3VuZCAsZmcNCisgICAgICAgOnVuZGVybGluZSAsYmcgOm92ZXJsaW5lICxiZw0K KyAgICAgICA6ZGlzdGFudC1mb3JlZ3JvdW5kICxmZy1kaXN0YW50KSkNCisgICAgKF8NCisgICAg IGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3JvdW5kICxiZyA6Ym94ICxib3JkZXIpKSkpDQorDQor KGRlZnVuIG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAoZmctb25seS1iZyBmZy1vbmx5LWZnIG1h aW5iZyBtYWluZmcgYWx0YmcgYWx0ZmcgJm9wdGlvbmFsIGRldXRlcmFuYmcgZGV1dGVyYW5mZyAg Ymctb25seS1mZykNCisgICJDb2xvciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1cy10aGVtZXMtZGlm ZnMnLg0KKw0KK0ZHLU9OTFktQkcgc2hvdWxkIGJlIHNpbWlsYXIgb3IgdGhlIHNhbWUgYXMgdGhl IG1haW4gYmFja2dyb3VuZC4NCitGRy1PTkxZLUZHIHNob3VsZCBiZSBhIHNhdHVyYXRlZCBhY2Nl bnQgdmFsdWUgdGhhdCBjYW4gYmUNCitjb21iaW5lZCB3aXRoIHRoZSBmb3JtZXIuDQorDQorTUFJ TkJHIG11c3QgYmUgb25lIG9mIHRoZSBkZWRpY2F0ZWQgYmFja2dyb3VuZHMgZm9yIGRpZmZzIHdo aWxlDQorTUFJTkZHIG11c3QgYmUgdGhlIHNhbWUgZm9yIHRoZSBmb3JlZ3JvdW5kLg0KKw0KK0FM VEJHIG5lZWRzIHRvIGJlIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZCB0aGF0IGlzIG1l YW50IHRvDQorYmUgY29tYmluZWQgd2l0aCBBTFRGRy4gIEJvdGggbXVzdCBiZSBsZXNzIGludGVu c2UgdGhhbiBNQUlOQkcNCithbmQgTUFJTkZHIHJlc3BlY3RpdmVseS4NCisNCitERVVURVJBTkJH IGFuZCBERVVURVJBTkZHIG11c3QgYmUgY29tYmluYXRpb25zIG9mIGNvbG9ycyB0aGF0IGFjY291 bnQNCitmb3IgcmVkLWdyZWVuIGNvbG9yIGRlZmZpY2llbmN5IChkZXV0ZXJhbm9waWEpLg0KKw0K K09wdGlvbmFsIEJHLU9OTFktRkcgYXBwbGllcyBBTFRGRyBlbHNlIGxlYXZlcyB0aGUgZm9yZWdy b3VuZA0KK3Vuc3BlY2lmaWVkLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtZGlmZnMNCisgICAg KCdmZy1vbmx5IChsaXN0IDpiYWNrZ3JvdW5kIGZnLW9ubHktYmcgOmZvcmVncm91bmQgZmctb25s eS1mZykpDQorICAgICgnZGVzYXR1cmF0ZWQgKGxpc3QgOmJhY2tncm91bmQgYWx0YmcgOmZvcmVn cm91bmQgYWx0ZmcpKQ0KKyAgICAoJ2RldXRlcmFub3BpYSAobGlzdCA6YmFja2dyb3VuZCAob3Ig ZGV1dGVyYW5iZyBtYWluYmcpIDpmb3JlZ3JvdW5kIChvciBkZXV0ZXJhbmZnIG1haW5mZykpKQ0K KyAgICAoJ2JnLW9ubHkgKGxpc3QgOmJhY2tncm91bmQgYWx0YmcgOmZvcmVncm91bmQgKGlmIGJn LW9ubHktZmcgYWx0ZmcgJ3Vuc3BlY2lmaWVkKSkpDQorICAgIChfIChsaXN0IDpiYWNrZ3JvdW5k IG1haW5iZyA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0t ZGlmZi1kZXV0ZXJhbiAoZGV1dGVyYW4gbWFpbikNCisgICJEZXRlcm1pbmUgd2hldGhlciB0aGUg REVVVEVSQU4gb3IgTUFJTiBjb2xvciBzaG91bGQgYmUgdXNlZC4NCitUaGlzIGlzIGJhc2VkIG9u IHdoZXRoZXIgYG1vZHVzLXRoZW1lcy1kaWZmcycgaGFzIHRoZSB2YWx1ZQ0KK2BkZXV0ZXJhbm9w aWEnLiINCisgIChpZiAoZXEgbW9kdXMtdGhlbWVzLWRpZmZzICdkZXV0ZXJhbm9waWEpDQorICAg ICAgKGxpc3QgZGV1dGVyYW4pDQorICAgIChsaXN0IG1haW4pKSkNCisNCisoZGVmdW4gbW9kdXMt dGhlbWVzLS1kaWZmLXRleHQgKGZnLW9ubHktZmcgZGVmYXVsdC1mZykNCisgICJMaWtlIGBtb2R1 cy10aGVtZXMtLWRpZmYnLCBidXQgb25seSBmb3IgZm9yZWdyb3VuZHMuDQorRkctT05MWS1GRyBp cyB0aGUgZm9yZWdyb3VuZCB0aGF0IGlzIHVzZWQgd2hlbiBkaWZmcyBhcmUgc3R5bGVkDQordXNp bmcgb25seSBmb3JlZ3JvdW5kIGNvbG9ycy4gIERFRkFVTFQtRkcgY292ZXJzIGFsbCBvdGhlcg0K K2Nhc2VzLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtZGlmZnMNCisgICAgKCdmZy1vbmx5IChs aXN0IDpmb3JlZ3JvdW5kIGZnLW9ubHktZmcpKQ0KKyAgICAoJ2JnLW9ubHkgKGxpc3QgOmZvcmVn cm91bmQgJ3Vuc3BlY2lmaWVkKSkNCisgICAgKF8gKGxpc3QgOmZvcmVncm91bmQgZGVmYXVsdC1m ZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucyAobWFp bmZnIHN1YnRsZWJnIGludGVuc2ViZyBpbnRlbnNlZmcpDQorICAiQ29tYmluYXRpb25zIGZvciBg bW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zJy4NCisNCitNQUlORkcgaXMgYW4gYWNjZW50ZWQgZm9y ZWdyb3VuZCB2YWx1ZS4gIFNVQlRMRUJHIGlzIGFuIGFjY2VudGVkDQorYmFja2dyb3VuZCB2YWx1 ZSB0aGF0IGNhbiBiZSBjb21iaW5lZCB3aXRoIE1BSU5GRy4gIElOVEVOU0VCRyBhbmQNCitJTlRF TlNFRkcgYXJlIGFjY2VudGVkIGNvbG9ycyB0aGF0IGFyZSBkZXNpZ25lZCB0byBiZSB1c2VkIGlu DQordGFuZGVtLg0KKw0KK1RoZXNlIGFyZSBpbnRlbmRlZCBmb3IgSWNvbXBsZXRlLCBJZG8sIGFu ZCByZWxhdGVkLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMNCisgICAgKCdv cGluaW9uYXRlZCAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcgOmZvcmVncm91bmQgaW50ZW5z ZWZnKSkNCisgICAgKCdtb2RlcmF0ZSAobGlzdCA6YmFja2dyb3VuZCBzdWJ0bGViZyA6Zm9yZWdy b3VuZCBtYWluZmcpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQorDQor KGRlZnVuIG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMgKHN1YnRsZWZhY2UgaW50ZW5z ZWZhY2UgYWx0ZmFjZSAmb3B0aW9uYWwgYWx0ZmcgYm9sZCkNCisgICJDb21iaW5hdGlvbnMgZm9y IGBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMnLg0KKw0KK1NVQlRMRUZBQ0UgYW5kIElOVEVOU0VG QUNFIGFyZSBjdXN0b20gdGhlbWUgZmFjZXMgdGhhdCBjb21iaW5lIGENCitiYWNrZ3JvdW5kIGFu ZCBmb3JlZ3JvdW5kIHZhbHVlLiAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvDQoraXMg YSBtYXR0ZXIgb2YgZGVncmVlLg0KKw0KK0FMVEZBQ0UgaXMgYSBjb21iaW5hdGlvbiBvZiBjb2xv cnMgdGhhdCByZXByZXNlbnRzIGEgZGVwYXJ0dXJlDQorZnJvbSB0aGUgVUkncyBkZWZhdWx0IGFl c3RoZXRpY3MuICBPcHRpb25hbCBBTFRGRyBpcyBtZWFudCB0byBiZQ0KK3VzZWQgaW4gdGFuZGVt IHdpdGggaXQuDQorDQorT3B0aW9uYWwgQk9MRCB3aWxsIGFwcGx5IGEgaGVhdmllciB3ZWlnaHQg dG8gdGhlIHRleHQuDQorDQorVGhlc2UgYXJlIGludGVuZGVkIGZvciBIZWxtLCBJdnksIGV0Yy4i DQorICAocGNhc2UgbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zDQorICAgICgnb3BpbmlvbmF0ZWQg KGxpc3QgOmluaGVyaXQgKGxpc3QgYWx0ZmFjZSBib2xkKQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kIChvciBhbHRmZyAndW5zcGVjaWZpZWQpKSkNCisgICAgKCdtb2RlcmF0 ZSAobGlzdCA6aW5oZXJpdCAobGlzdCBzdWJ0bGVmYWNlIGJvbGQpKSkNCisgICAgKF8gKGxpc3Qg OmluaGVyaXQgKGxpc3QgaW50ZW5zZWZhY2UgYm9sZCkpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy0tbGluayAoZmcgZmdmYWludCB1bmRlcmxpbmUpDQorICAiQ29uZGl0aW9uYWwgYXBwbGlj YXRpb24gb2YgbGluayBzdHlsZXMuDQorRkcgaXMgdGhlIGxpbmsncyBkZWZhdWx0IGNvbG9yIGZv ciBpdHMgdGV4dCBhbmQgdW5kZXJsaW5lDQorcHJvcGVydHkuICBGR0ZBSU5UIGlzIGEgZGVzYXR1 cmF0ZWQgY29sb3IgZm9yIHRoZSB0ZXh0IGFuZA0KK3VuZGVybGluZS4gIFVOREVSTElORSBpcyBh IGdyZXkgY29sb3Igb25seSBmb3IgdGhlIHVuZGVsaW5lLiINCisgIChwY2FzZSBtb2R1cy10aGVt ZXMtbGlua3MNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmZ2ZhaW50IDp1bmRlcmxp bmUgdCkpDQorICAgICgnbmV1dHJhbC11bmRlcmxpbmUgKGxpc3QgOmZvcmVncm91bmQgZmcgOnVu ZGVybGluZSB1bmRlcmxpbmUpKQ0KKyAgICAoJ2ZhaW50LW5ldXRyYWwtdW5kZXJsaW5lIChsaXN0 IDpmb3JlZ3JvdW5kIGZnZmFpbnQgOnVuZGVybGluZSB1bmRlcmxpbmUpKQ0KKyAgICAoJ25vLXVu ZGVybGluZSAobGlzdCA6Zm9yZWdyb3VuZCBmZyA6dW5kZXJsaW5lIG5pbCkpDQorICAgICgndW5k ZXJsaW5lLW9ubHkgKGxpc3QgOnVuZGVybGluZSB0KSkNCisgICAgKCduZXV0cmFsLXVuZGVybGlu ZS1vbmx5IChsaXN0IDp1bmRlcmxpbmUgdW5kZXJsaW5lKSkNCisgICAgKF8gKGxpc3QgOmZvcmVn cm91bmQgZmcgOnVuZGVybGluZSB0KSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWxpbmst Y29sb3IgKGZnIGZnZmFpbnQgJm9wdGlvbmFsIG5ldXRyYWxmZykNCisgICJFeHRlbmRzIGBtb2R1 cy10aGVtZXMtLWxpbmsnLg0KK0ZHIGlzIHRoZSBtYWluIGFjY2VudGVkIGZvcmVncm91bmQuICBG R0ZBSU5UIGlzIGFsc28gYWNjZW50ZWQsDQoreWV0IGRlc2F0dXJhdGVkLiAgT3B0aW9uYWwgTkVV VFJBTEZHIGlzIGEgZ3JheSB2YWx1ZS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLWxpbmtzDQor ICAgICgnZmFpbnQgKGxpc3QgOmZvcmVncm91bmQgZmdmYWludCkpDQorICAgICgnZmFpbnQtbmV1 dHJhbC11bmRlcmxpbmUgKGxpc3QgOmZvcmVncm91bmQgZmdmYWludCkpDQorICAgICgndW5kZXJs aW5lLW9ubHkgKGxpc3QgOnVuZGVybGluZSB0IDpmb3JlZ3JvdW5kIChvciBuZXV0cmFsZmcgJ3Vu c3BlY2lmaWVkKSkpDQorICAgICgnbmV1dHJhbC11bmRlcmxpbmUtb25seSAobGlzdCA6dW5kZXJs aW5lICd1bnNwZWNpZmllZCA6Zm9yZWdyb3VuZCAob3IgbmV1dHJhbGZnICd1bnNwZWNpZmllZCkp KQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhl bWVzLS1zY2FsZSAoYW1vdW50KQ0KKyAgIlNjYWxlIGhlYWRpbmcgYnkgQU1PVU5ULg0KK0FNT1VO VCBpcyBhIGN1c3RvbWl6YXRpb24gb3B0aW9uLiINCisgICh3aGVuIG1vZHVzLXRoZW1lcy1zY2Fs ZS1oZWFkaW5ncw0KKyAgICAobGlzdCA6aGVpZ2h0IGFtb3VudCkpKQ0KKw0KKyhkZWZ1biBtb2R1 cy10aGVtZXMtLXJlZ2lvbiAoYmcgZmcgYmdzdWJ0bGUpDQorICAiQXBwbHkgYG1vZHVzLXRoZW1l cy1yZWdpb24nIHN0eWxlcy4NCisNCitCRyBhbmQgRkcgYXJlIHRoZSBtYWluIHZhbHVlcyB0aGF0 IGFyZSB1c2VkIGJ5IGRlZmF1bHQuICBCR1NVQlRMRQ0KK2lzIGEgc3VidGxlIGJhY2tncm91bmQg dmFsdWUgdGhhdCBjYW4gYmUgY29tYmluZWQgd2l0aCBhbGwgY29sb3JzDQordXNlZCB0byBmb250 aWZ5IHRleHQgYW5kIGNvZGUgc3ludGF4LiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtcmVnaW9u DQorICAgICgnYmctb25seSAobGlzdCA6YmFja2dyb3VuZCBiZ3N1YnRsZSkpDQorICAgICgnYmct b25seS1uby1leHRlbmQgKGxpc3QgOmJhY2tncm91bmQgYmdzdWJ0bGUgOmV4dGVuZCBuaWwpKQ0K KyAgICAoJ25vLWV4dGVuZCAobGlzdCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6ZXh0 ZW5kIG5pbCkpDQorICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkp KQ0KKw0KKwwNCisNCis7Ozs7IFV0aWxpdGllcyBmb3IgRElZIHVzZXJzDQorDQorOzsgVGhpcyBp cyB0aGUgV0NBRyBmb3JtdWxhOiBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLVRFQ0hTL0cx OC5odG1sDQorKGRlZnVuIG1vZHVzLXRoZW1lcy13Y2FnLWZvcm11bGEgKGhleCkNCisgICJHZXQg V0NBRyB2YWx1ZSBvZiBjb2xvciB2YWx1ZSBIRVguDQorVGhlIHZhbHVlIGlzIGRlZmluZWQgaW4g aGV4YWRlY2ltYWwgUkdCIG5vdGF0aW9uLCBzdWNoIGFzIHRob3NlIGluDQorYG1vZHVzLXRoZW1l cy1vcGVyYW5kaS1jb2xvcnMnIGFuZCBgbW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzJy4iDQor ICAoY2wtbG9vcCBmb3IgayBpbiAnKDAuMjEyNiAwLjcxNTIgMC4wNzIyKQ0KKyAgICAgICAgICAg Zm9yIHggaW4gKGNvbG9yLW5hbWUtdG8tcmdiIGhleCkNCisgICAgICAgICAgIHN1bSAoKiBrIChp ZiAoPD0geCAwLjAzOTI4KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICgvIHggMTIuOTIpDQor ICAgICAgICAgICAgICAgICAgICAgIChleHB0ICgvICgrIHggMC4wNTUpIDEuMDU1KSAyLjQpKSkp KQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1lcy1jb250cmFzdCAoYzEg YzIpDQorICAiTWVhc3VyZSBXQ0FHIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gQzEgYW5kIEMyLg0K K0MxIGFuZCBDMiBhcmUgY29sb3IgdmFsdWVzIHdyaXR0ZW4gaW4gaGV4YWRlY2ltYWwgUkdCLiIN CisgIChsZXQgKChjdCAoLyAoKyAobW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYSBjMSkgMC4wNSkN CisgICAgICAgICAgICAgICAoKyAobW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYSBjMikgMC4wNSkp KSkNCisgICAgKG1heCBjdCAoLyBjdCkpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWN1cnJl bnQtcGFsZXR0ZSAoKQ0KKyAgIlJldHVybiBjdXJyZW50IGNvbG9yIHBhbGV0dGUuIg0KKyAgKG1v ZHVzLXRoZW1lcy0tcGFsZXR0ZSAobW9kdXMtdGhlbWVzLS1jdXJyZW50LXRoZW1lKSkpDQorDQor Ozs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNvbG9yIChjb2xvcikNCisgICJS ZXR1cm4gY29sb3IgdmFsdWUgZm9yIENPTE9SIGZyb20gY3VycmVudCBwYWxldHRlLg0KK0NPTE9S IGlzIGEga2V5IGluIGBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3JzJyBvcg0KK2Btb2R1cy10 aGVtZXMtdml2ZW5kaS1jb2xvcnMnLiINCisgIChhbGlzdC1nZXQgY29sb3IgKG1vZHVzLXRoZW1l cy1jdXJyZW50LXBhbGV0dGUpKSkNCisNCis7OzsjIyNhdXRvbG9hZA0KKyhkZWZ1biBtb2R1cy10 aGVtZXMtY29sb3ItYWx0cyAobGlnaHQtY29sb3IgZGFyay1jb2xvcikNCisgICJSZXR1cm4gY29s b3IgdmFsdWUgZnJvbSBjdXJyZW50IHBhbGV0dGUuDQorV2hlbiBNb2R1cyBPcGVyYW5kaSBpcyBl bmFibGVkLCByZXR1cm4gY29sb3IgdmFsdWUgZm9yIGNvbG9yDQorTElHSFQtQ09MT1IuICBXaGVu IE1vZHVzIFZpdmVuZGkgaXMgZW5hYmxlZCwgcmV0dXJuIGNvbG9yIHZhbHVlDQorZm9yIERBUkst Q09MT1IuICBMSUdIVC1DT0xPUiBhbmQgREFSSy1DT0xPUiBhcmUga2V5cyBpbg0KK2Btb2R1cy10 aGVtZXMtb3BlcmFuZGktY29sb3JzJyBvciBgbW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzJy4i DQorICAobGV0KiAoKHRoZW1lIChtb2R1cy10aGVtZXMtLWN1cnJlbnQtdGhlbWUpKQ0KKyAgICAg ICAgIChjb2xvciAocGNhc2UgdGhlbWUNCisgICAgICAgICAgICAgICAgICAoJ21vZHVzLW9wZXJh bmRpIGxpZ2h0LWNvbG9yKQ0KKyAgICAgICAgICAgICAgICAgICgnbW9kdXMtdml2ZW5kaSBkYXJr LWNvbG9yKQ0KKyAgICAgICAgICAgICAgICAgIChfdGhlbWUNCisgICAgICAgICAgICAgICAgICAg KGVycm9yICInJXMnIGlzIG5vdCBhIE1vZHVzIHRoZW1lIiB0aGVtZSkpKSkpDQorICAgIChhbGlz dC1nZXQgY29sb3IgKG1vZHVzLXRoZW1lcy0tcGFsZXR0ZSB0aGVtZSkpKSkNCisNCisoZGVmbWFj cm8gbW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzICgmcmVzdCBib2R5KQ0KKyAgIkV2YWx1YXRlIEJP RFkgd2l0aCBjb2xvcnMgZnJvbSBjdXJyZW50IHBhbGV0dGUgYm91bmQuDQorRm9yIGNvbG9ycyBi b3VuZCwgc2VlIGBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3JzJyBvcg0KK2Btb2R1cy10aGVt ZXMtdml2ZW5kaS1jb2xvcnMnLiINCisgIChkZWNsYXJlIChpbmRlbnQgMCkpDQorICAobGV0ICgo cGFsZXR0ZS1zeW0gKGdlbnN5bSkpDQorICAgICAgICAoY29sb3JzIChtYXBjYXIgIydjYXIgbW9k dXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9ycykpKQ0KKyAgICBgKGxldCogKChjbGFzcyAnKChjbGFz cyBjb2xvcikgKG1pbi1jb2xvcnMgODkpKSkNCisgICAgICAgICAgICAoLHBhbGV0dGUtc3ltICht b2R1cy10aGVtZXMtY3VycmVudC1wYWxldHRlKSkNCisgICAgICAgICAgICAsQChtYXBjYXIgKGxh bWJkYSAoY29sb3IpDQorICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgY29sb3IgYChhbGlz dC1nZXQgJyxjb2xvciAscGFsZXR0ZS1zeW0pKSkNCisgICAgICAgICAgICAgICAgICAgICAgY29s b3JzKSkNCisgICAgICAgKGlnbm9yZSBjbGFzcyAsQGNvbG9ycykgICAgICAgICAgOyBTaWxlbmNl IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncw0KKyAgICAgICAsQGJvZHkpKSkNCisNCisMDQorDQor Ozs7OyBDb21tYW5kcw0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1lcy1s b2FkLXRoZW1lcyAoKQ0KKyAgIkVuc3VyZSB0aGF0IHRoZSBNb2R1cyB0aGVtZXMgYXJlIGluIGBj dXN0b20tZW5hYmxlZC10aGVtZXMnLg0KKw0KK1RoaXMgZnVuY3Rpb24gaXMgaW50ZW5kZWQgZm9y IHVzZSBpbiBwYWNrYWdlIGRlY2xhcmF0aW9ucyBzdWNoIGFzDQordGhvc2UgZGVmaW5lZCB3aXRo IHRoZSBoZWxwIG9mIGB1c2UtcGFja2FnZScuICBUaGUgaWRlYSBpcyB0byBhZGQNCit0aGlzIGZ1 bmN0aW9uIHRvIHRoZSBgOmluaXQnIHN0YWdlIG9mIHRoZSBwYWNrYWdlJ3MgbG9hZGluZywgc28N Cit0aGF0IHN1YnNlcXVlbnQgY2FsbHMgdGhhdCBhc3N1bWUgdGhlIHByZXNlbmNlIG9mIGEgbG9h ZGVkIHRoZW1lLA0KK2xpa2UgYG1vZHVzLXRoZW1lcy10b2dnbGUnIG9yIGBtb2R1cy10aGVtZXMt bG9hZC1vcGVyYW5kaScsIHdpbGwNCitjb250aW51ZSB0byB3b3JrIGFzIGludGVuZGVkIGV2ZW4g aWYgdGhleSBhcmUgbGF6eS1sb2FkZWQgKHN1Y2gNCithcyB3aGVuIHRoZXkgYXJlIGRlY2xhcmVk IGluIHRoZSBgOmNvbmZpZycgcGhhc2UpLiINCisgICh1bmxlc3MgKG9yIChjdXN0b20tdGhlbWUt cCAnbW9kdXMtb3BlcmFuZGkpDQorICAgICAgICAgICAgICAoY3VzdG9tLXRoZW1lLXAgJ21vZHVz LXZpdmVuZGkpKQ0KKyAgICAobG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCB0KQ0KKyAgICAo bG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0IHQpKSkNCisNCisoZGVmdmFyIG1vZHVzLXRoZW1l cy1hZnRlci1sb2FkLXRoZW1lLWhvb2sgbmlsDQorICAiSG9vayB0aGF0IHJ1bnMgYWZ0ZXIgdGhl IGBtb2R1cy10aGVtZXMtdG9nZ2xlJyByb3V0aW5lcy4iKQ0KKw0KKzs7IFRoZSByZWFzb24gd2Ug dXNlIGBsb2FkLXRoZW1lJyBpbnN0ZWFkIG9mIGBlbmFibGUtdGhlbWUnIGlzIHRoYXQgdGhlDQor OzsgZm9ybWVyIGRvZXMgYSBraW5kIG9mICJyZXNldCIgb24gdGhlIGZhY2Ugc3BlY3MuICBTbyBp dCBwbGF5cyBuaWNlbHkNCis7OyB3aXRoIGBjdXN0b20tc2V0LWZhY2VzJywgYXMgd2VsbCBhcyBk ZWZjdXN0b20gdXNlciBjdXN0b21pemF0aW9ucywNCis7OyBpbmNsdWRpbmcgdGhlIGxpa2VzIG9m IGBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzJy4NCis7Ow0KKzs7IFRlc3Rz IHNob3cgdGhhdCBgZW5hYmxlLXRoZW1lJyBkb2VzIG5vdCByZS1yZWFkIHRob3NlIHZhcmlhYmxl cywgc28NCis7OyBpdCBtaWdodCBhcHBlYXIgdG8gdGhlIHVuc3VzcGVjdGluZyB1c2VyIHRoYXQg dGhlIHRoZW1lcyBhcmUgc29tZWhvdw0KKzs7IGJyb2tlbi4NCis7Ow0KKzs7IFRoaXMgInJlc2V0 IiwgaG93ZXZlciwgY29tZXMgYXQgdGhlIGNvc3Qgb2YgYmVpbmcgYSBiaXQgc2xvd2VyIHRoYW4N Cis7OyBgZW5hYmxlLXRoZW1lJy4gIFVzZXIgd2hvIGhhdmUgYSBzdGFibGUgc2V0dXAgYW5kIHNl bGRvbSB1cGRhdGUgdGhlaXINCis7OyB2YXJpYWJsZXMgZHVyaW5nIGEgZ2l2ZW4gRW1hY3Mgc2Vz c2lvbiwgYXJlIGJldHRlciBvZmYgdXNpbmcNCis7OyBzb21ldGhpbmcgbGlrZSB0aGlzOg0KKzs7 DQorOzsgKGRlZnVuIG1vZHVzLXRoZW1lcy10b2dnbGUtZW5hYmxlZCAoKQ0KKzs7ICAgIlRvZ2ds ZSBiZXR3ZWVuIGBtb2R1cy1vcGVyYW5kaScgYW5kIGBtb2R1cy12aXZlbmRpJyB0aGVtZXMuIg0K Kzs7ICAgKGludGVyYWN0aXZlKQ0KKzs7ICAgKHBjYXNlIChtb2R1cy10aGVtZXMtLWN1cnJlbnQt dGhlbWUpDQorOzsgICAgICgnbW9kdXMtb3BlcmFuZGkgKHByb2duIChlbmFibGUtdGhlbWUgJ21v ZHVzLXZpdmVuZGkpDQorOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXNhYmxlLXRo ZW1lICdtb2R1cy1vcGVyYW5kaSkpKQ0KKzs7ICAgICAoJ21vZHVzLXZpdmVuZGkgKHByb2duIChl bmFibGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKQ0KKzs7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkpKQ0KKzs7ICAgICAoXyAoZXJyb3Ig Ik5vIE1vZHVzIHRoZW1lIGlzIGxvYWRlZDsgZXZhbHVhdGUgYG1vZHVzLXRoZW1lcy1sb2FkLXRo ZW1lcycgZmlyc3QiKSkpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1l cy1sb2FkLW9wZXJhbmRpICgpDQorICAiTG9hZCBgbW9kdXMtb3BlcmFuZGknIGFuZCBkaXNhYmxl IGBtb2R1cy12aXZlbmRpJy4NCitBbHNvIHJ1biBgbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhl bWUtaG9vaycuIg0KKyAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpDQorICAobG9hZC10 aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCkNCisgIChydW4taG9va3MgJ21vZHVzLXRoZW1lcy1hZnRl ci1sb2FkLXRoZW1lLWhvb2spKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy1sb2FkLXZpdmVuZGkgKCkNCisgICJMb2FkIGBtb2R1cy12aXZlbmRpJyBhbmQgZGlzYWJs ZSBgbW9kdXMtb3BlcmFuZGknLg0KK0Fsc28gcnVuIGBtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10 aGVtZS1ob29rJy4iDQorICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpDQorICAobG9h ZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0KQ0KKyAgKHJ1bi1ob29rcyAnbW9kdXMtdGhlbWVzLWFm dGVyLWxvYWQtdGhlbWUtaG9vaykpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tbG9hZC1wcm9t cHQgKCkNCisgICJIZWxwZXIgZm9yIGBtb2R1cy10aGVtZXMtdG9nZ2xlJy4iDQorICAobGV0ICgo dGhlbWUNCisgICAgICAgICAoaW50ZXJuDQorICAgICAgICAgIChjb21wbGV0aW5nLXJlYWQgIkxv YWQgTW9kdXMgdGhlbWUgKHdpbGwgZGlzYWJsZSBhbGwgb3RoZXJzKTogIg0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICcobW9kdXMtb3BlcmFuZGkgbW9kdXMtdml2ZW5kaSkgbmlsIHQpKSkp DQorICAgIChtYXBjICMnZGlzYWJsZS10aGVtZSBjdXN0b20tZW5hYmxlZC10aGVtZXMpDQorICAg IChwY2FzZSB0aGVtZQ0KKyAgICAgICgnbW9kdXMtb3BlcmFuZGkgKG1vZHVzLXRoZW1lcy1sb2Fk LW9wZXJhbmRpKSkNCisgICAgICAoJ21vZHVzLXZpdmVuZGkgKG1vZHVzLXRoZW1lcy1sb2FkLXZp dmVuZGkpKSkpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1lcy10b2dn bGUgKCkNCisgICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGknIGFuZCBgbW9kdXMtdml2 ZW5kaScgdGhlbWVzLg0KK0Fsc28gcnVucyBgbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUt aG9vaycgYXQgaXRzIGxhc3Qgc3RhZ2UNCitieSB2aXJ0dWUgb2YgY2FsbGluZyBlaXRoZXIgb2Yg YG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpJyBhbmQNCitgbW9kdXMtdGhlbWVzLWxvYWQtdml2 ZW5kaScgZnVuY3Rpb25zLiINCisgIChpbnRlcmFjdGl2ZSkNCisgIChtb2R1cy10aGVtZXMtbG9h ZC10aGVtZXMpDQorICAocGNhc2UgKG1vZHVzLXRoZW1lcy0tY3VycmVudC10aGVtZSkNCisgICAg KCdtb2R1cy1vcGVyYW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaSkpDQorICAgICgnbW9k dXMtdml2ZW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkpKQ0KKyAgICAoXyAobW9kdXMt dGhlbWVzLS1sb2FkLXByb21wdCkpKSkNCisNCisMDQorDQorOzs7OyBGYWNlIHNwZWNpZmljYXRp b25zDQorDQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1mYWNlcw0KKyAgJygNCis7Ozs7IGN1c3Rv bSBmYWNlcw0KKyAgICA7OyB0aGVzZSBiZXNwb2tlIGZhY2VzIGFyZSBpbmhlcml0ZWQgYnkgb3Ro ZXIgY29uc3RydWN0cyBiZWxvdw0KKzs7Ozs7IHN1YnRsZSBjb2xvcmVkIGJhY2tncm91bmRzDQor ICAgIGAobW9kdXMtdGhlbWUtc3VidGxlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1 YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobW9kdXMtdGhlbWUtc3VidGxl LWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cgKCgsY2xhc3MgOmJh Y2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRs ZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobW9kdXMtdGhlbWUtc3VidGxlLW1h Z2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtc3VidGxlLWJnIDpmb3JlZ3JvdW5k ICxmZy1kaW0pKSkNCisgICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCis7Ozs7OyBpbnRlbnNlIGNvbG9yZWQgYmFj a2dyb3VuZHMNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCAoKCxjbGFzcyA6YmFja2dy b3VuZCAscmVkLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS15 ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2Vu dGEtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1l LWludGVuc2UtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7 Ozs7OyByZWZpbmVkIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRpb25zDQorICAg IDs7IGdlbmVyYWwgcHVycG9zZSBzdHlsZXMgdGhhdCB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3Vu ZCBhZ2FpbnN0IGFuDQorICAgIDs7IGFjY2VudGVkIGJhY2tncm91bmQNCisgICAgYChtb2R1cy10 aGVtZS1yZWZpbmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtcmVmaW5lLWJnIDpmb3Jl Z3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVu ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGdyZWVu LXJlZmluZS1mZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgKCgsY2xhc3Mg OmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUt ZmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmx1ZS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQorICAgIGAo bW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEt cmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBgKG1vZHVz LXRoZW1lLXJlZmluZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXJlZmluZS1iZyA6 Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCis7Ozs7OyAiYWN0aXZlIiBjb21iaW5hdGlv bnMsIG1vc3RseSBmb3IgdXNlIG9uIHRoZSBtb2RlIGxpbmUNCisgICAgYChtb2R1cy10aGVtZS1h Y3RpdmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtYWN0aXZlIDpmb3JlZ3JvdW5kICxi Zy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGdyZWVuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAo bW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWFj dGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAobW9kdXMtdGhlbWUtYWN0aXZl LWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1h Y3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsbWFnZW50YS1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorOzs7OzsgbnVhbmNlZCBiYWNrZ3JvdW5kcw0K KyAgICA7OyB1c2VmdWwgZm9yIGFkZGluZyBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMg c3VpdGFibGUgZm9yIGFsbA0KKyAgICA7OyBtYWluIGZvcmVncm91bmQgY29sb3JzIChpbnRlbmRl ZCBmb3IgdXNlIGluIE9yZyBzb3VyY2UgYmxvY2tzKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW51YW5j ZWQtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1iZyA6ZXh0ZW5kIHQpKSkN CisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxn cmVlbi1udWFuY2VkLWJnIDpleHRlbmQgdCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW51YW5jZWQt eWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1iZyA6ZXh0ZW5kIHQp KSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUtbnVhbmNlZC1iZyA6ZXh0ZW5kIHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2Vk LW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1iZyA6ZXh0ZW5k IHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91 bmQgLGN5YW4tbnVhbmNlZC1iZyA6ZXh0ZW5kIHQpKSkNCis7Ozs7OyBmcmluZ2Utc3BlY2lmaWMg Y29tYmluYXRpb25zDQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLXJlZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAscmVkLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tZnJpbmdl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLXll bGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxibHVlLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWZy aW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWZyaW5n ZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKzs7Ozs7IHNwZWNpYWwgYmFzZSB2YWx1ZXMNCisgICAgOzsgdGhlc2UgYXJl IGNsb3NlciB0byB0aGUgZ3JheXNjYWxlIHRoYW4gdGhlIGFjY2VudHMgZGVmaW5lZCBhYm92ZQ0K KyAgICA7OyBhbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBuZXh0IGNsb3Nlc3QgYWx0 ZXJuYXRpdmUgd291bGQgYmUNCisgICAgOzsgYSBncmV5c2NhbGUgdmFsdWUgdGhhbiBhbiBhY2Nl bnRlZCBvbmUNCisgICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQor ICAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1z cGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG1vZHVz LXRoZW1lLXNwZWNpYWwtd2FybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC13YXJt IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtb2R1cy10aGVtZS1zcGVj aWFsLWNhbG0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorOzs7OzsgZGlmZi1zcGVjaWZpYyBjb21iaW5hdGlvbnMN CisgICAgOzsgaW50ZW5kZWQgZm9yIGBkaWZmLW1vZGUnIG9yIGVxdWl2YWxlbnQNCisgICAgYCht b2R1cy10aGVtZS1kaWZmLWFkZGVkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1k aWZmDQorICAgICAgICAgICAgICAgICAgYmctbWFpbiBncmVlbg0KKyAgICAgICAgICAgICAgICAg IGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0KKyAgICAgICAgICAgICAg ICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlmZi1hZGRlZA0KKyAgICAgICAgICAgICAgICAgIGJn LWRpZmYtZm9jdXMtYWRkZWQtZGV1dGVyYW4gZmctZGlmZi1mb2N1cy1hZGRlZC1kZXV0ZXJhbikp KSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQNCisgICAgICAoKCxjbGFzcyAsQCht b2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1tYWluIHllbGxvdw0KKyAg ICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZvY3VzLWNoYW5n ZWQNCisgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5nZWQp KSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkDQorICAgICAgKCgsY2xhc3MgLEAo bW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctbWFpbiByZWQNCisgICAg ICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVk DQorICAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVkKSkpKQ0K KyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkDQorICAgICAgKCgsY2xhc3MgLEAo bW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1k aWZmLWFkZGVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtYWRkZWQgZmctZGlm Zi1yZWZpbmUtYWRkZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZn LWRpZmYtZm9jdXMtYWRkZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1hZGRl ZC1kZXV0ZXJhbiBmZy1kaWZmLXJlZmluZS1hZGRlZC1kZXV0ZXJhbikpKSkNCisgICAgYChtb2R1 cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2VkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hh bmdlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5lLWNoYW5nZWQgZmctZGlmZi1y ZWZpbmUtY2hhbmdlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBm Zy1kaWZmLWZvY3VzLWNoYW5nZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUt cmVtb3ZlZA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAg ICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCisgICAgICAgICAgICAg ICAgICBiZy1kaWZmLXJlZmluZS1yZW1vdmVkIGZnLWRpZmYtcmVmaW5lLXJlbW92ZWQNCisgICAg ICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVk KSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtYWRkZWQNCisgICAgICAoKCxjbGFz cyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1kaW0gZ3JlZW4N CisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYtZm9jdXMtYWRk ZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCisgICAg ICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuIGZnLWRpZmYtZm9jdXMt YWRkZWQtZGV1dGVyYW4pKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2Vk DQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAg ICAgYmctZGltIHllbGxvdw0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdl ZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5n ZWQgZmctZGlmZi1jaGFuZ2VkKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVt b3ZlZA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAg ICAgICAgIGJnLWRpbSByZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92 ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1v dmVkIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcN CisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAg ICBiZy1tYWluIGJsdWUNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWhlYWRpbmcgZmctZGlm Zi1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgY3lhbi1udWFuY2VkLWJnIGN5YW4tbnVhbmNl ZC1mZw0KKyAgICAgICAgICAgICAgICAgIGJnLWhlYWRlciBmZy1tYWluDQorICAgICAgICAgICAg ICAgICAgdCkpKSkNCis7Ozs7OyBtYXJrIGluZGljYXRvcnMNCisgICAgOzsgY29sb3IgY29tYmlu YXRpb25zIGludGVuZGVkIGZvciBEaXJlZCwgSWJ1ZmZlciwgb3IgZXF1aXZhbGVudA0KKyAgICBg KG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW1hcmstYWx0ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmstYWx0IDpmb3JlZ3JvdW5kICxmZy1tYXJr LWFsdCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW1hcmstZGVsICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJnLW1hcmstZGVsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWRlbCkpKQ0K KyAgICBgKG1vZHVzLXRoZW1lLW1hcmstc2VsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tn cm91bmQgLGJnLW1hcmstc2VsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLXNlbCkpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLW1hcmstc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQorOzs7OzsgaGVhZGluZyBsZXZlbHMNCisgICAgOzsgc3R5bGVzIGZvciBy ZWd1bGFyIGhlYWRpbmdzIHVzZWQgaW4gT3JnLCBNYXJrZG93biwgSW5mbywgZXRjLg0KKyAgICBg KG1vZHVzLXRoZW1lLWhlYWRpbmctMQ0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0t aGVhZGluZw0KKyAgICAgICAgICAgICAgICAgIDEgZmctbWFpbiBtYWdlbnRhLWFsdC1vdGhlciBt YWdlbnRhLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUt aGVhZGluZy0yDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAg ICAgICAgICAgICAgICAgMiBmZy1zcGVjaWFsLXdhcm0gbWFnZW50YS1hbHQgcmVkLW51YW5jZWQt YmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9k dXMtdGhlbWVzLXNjYWxlLTMpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0zDQorICAg ICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAg MyBmZy1zcGVjaWFsLWNvbGQgYmx1ZSBibHVlLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTIpKSkp DQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy00DQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNCBmZy1zcGVjaWFsLW1pbGQgY3lh biBjeWFuLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTEpKSkpDQorICAgIGAobW9kdXMtdGhlbWUt aGVhZGluZy01DQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAg ICAgICAgICAgICAgICAgNSBmZy1zcGVjaWFsLWNhbG0gZ3JlZW4tYWx0LW90aGVyIGdyZWVuLW51 YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNg0KKyAg ICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0taGVhZGluZw0KKyAgICAgICAgICAgICAgICAg IDYgeWVsbG93LW51YW5jZWQtZmcgeWVsbG93LWFsdC1vdGhlciB5ZWxsb3ctbnVhbmNlZC1iZyBi Zy1yZWdpb24pKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy03DQorICAgICAgKCgsY2xh c3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNyByZWQtbnVh bmNlZC1mZyByZWQtYWx0IHJlZC1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCisgICAgYChtb2R1 cy10aGVtZS1oZWFkaW5nLTgNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWhlYWRp bmcNCisgICAgICAgICAgICAgICAgICA4IGZnLWRpbSBtYWdlbnRhIGJnLWFsdCBiZy1yZWdpb24p KSkpDQorOzs7OzsgZ3JhcGgtc3BlY2lmaWMgZmFjZXMNCisgICAgYChtb2R1cy10aGVtZS1ncmFw aC1yZWQtMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWdyYXBoLTAtYmcpKSkNCisgICAgYCht b2R1cy10aGVtZS1ncmFwaC1yZWQtMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWdyYXBoLTEt YmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1ncmFwaC1ncmVlbi0wICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxncmVlbi1ncmFwaC0wLWJnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZ3JhcGgtZ3JlZW4t MSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tZ3JhcGgtMS1iZykpKQ0KKyAgICBgKG1vZHVz LXRoZW1lLWdyYXBoLXllbGxvdy0wICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctZ3JhcGgt MC1iZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWdyYXBoLXllbGxvdy0xICgoLGNsYXNzIDpiYWNr Z3JvdW5kICx5ZWxsb3ctZ3JhcGgtMS1iZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWdyYXBoLWJs dWUtMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1ncmFwaC0wLWJnKSkpDQorICAgIGAobW9k dXMtdGhlbWUtZ3JhcGgtYmx1ZS0xICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWdyYXBoLTEt YmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1ncmFwaC1tYWdlbnRhLTAgKCgsY2xhc3MgOmJhY2tn cm91bmQgLG1hZ2VudGEtZ3JhcGgtMC1iZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWdyYXBoLW1h Z2VudGEtMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1ncmFwaC0xLWJnKSkpDQorICAg IGAobW9kdXMtdGhlbWUtZ3JhcGgtY3lhbi0wICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWdy YXBoLTAtYmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1ncmFwaC1jeWFuLTEgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGN5YW4tZ3JhcGgtMS1iZykpKQ0KKzs7Ozs7IGxhbmd1YWdlIGNoZWNrZXJzDQor ICAgIGAobW9kdXMtdGhlbWUtbGFuZy1lcnJvciAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWxh bmctY2hlY2sgZmctbGFuZy11bmRlcmxpbmUtZXJyb3IgZmctbGFuZy1lcnJvciByZWQgcmVkLW51 YW5jZWQtYmcpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtbGFuZy1ub3RlICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tbGFuZy1jaGVjayBmZy1sYW5nLXVuZGVybGluZS1ub3RlIGZnLWxhbmctbm90 ZSBibHVlLWFsdCBibHVlLW51YW5jZWQtYmcpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtbGFuZy13 YXJuaW5nICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbGFuZy1jaGVjayBmZy1sYW5nLXVuZGVy bGluZS13YXJuaW5nIGZnLWxhbmctd2FybmluZyB5ZWxsb3cgeWVsbG93LW51YW5jZWQtYmcpKSkp DQorOzs7Ozsgb3RoZXIgY3VzdG9tIGZhY2VzDQorICAgIGAobW9kdXMtdGhlbWUtYm9sZCAoKCxj bGFzcyAsQChtb2R1cy10aGVtZXMtLWJvbGQtd2VpZ2h0KSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1l LWhsLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLChpZiBtb2R1cy10aGVtZXMtaW50ZW5zZS1o bC1saW5lDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnLWhsLWxpbmUtaW50ZW5zZSBiZy1obC1saW5lKQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOmV4dGVuZCB0KSkpDQorICAgIGAobW9kdXMtdGhlbWUtc2xhbnQgKCgs Y2xhc3MgOmluaGVyaXQgaXRhbGljIDpzbGFudCAsQChtb2R1cy10aGVtZXMtLXNsYW50KSkpKQ0K KyAgICBgKG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tdmFyaWFibGUtcGl0Y2gpKSkpDQorOzs7OyBzdGFuZGFyZCBmYWNlcw0KKzs7Ozs7IGFic29s dXRlIGVzc2VudGlhbHMNCisgICAgYChkZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY3Vyc29yICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZnJpbmdlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tZnJpbmdlIGJnLW1haW4gYmctaW5hY3RpdmUgYmctYWN0aXZlKQ0KKyAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHZlcnRpY2FsLWJvcmRlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCis7Ozs7OyBi YXNpYyBhbmQvb3IgdW5ncm91cGVkIHN0eWxlcw0KKyAgICBgKGJvbGQgKCgsY2xhc3MgOndlaWdo dCBib2xkKSkpDQorICAgIGAoYm9sZC1pdGFsaWMgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgaXRh bGljKSkpKQ0KKyAgICBgKGJ1ZmZlci1tZW51LWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk KSkpDQorICAgIGAoY29taW50LWhpZ2hsaWdodC1pbnB1dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk KSkpDQorICAgIGAoY29taW50LWhpZ2hsaWdodC1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXRoZW1lcy0tcHJvbXB0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJsdWUtbnVhbmNlZC1iZyBibHVlLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGZnLW1haW4pKSkpDQorICAgIGAoZXJyb3IgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZXNjYXBlLWds eXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCisg ICAgYChmaWxlLW5hbWUtc2hhZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQp KSkNCisgICAgYChoZWFkZXItbGluZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXZhcmlhYmxl LXBpdGNoLXVpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1o ZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KKyAgICBgKGhlYWRlci1saW5lLWhpZ2hs aWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KKyAgICBg KGhlbHAtYXJndW1lbnQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGhvbW9nbHlwaCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1mYWludCkpKQ0KKyAgICBgKGlidWZmZXItbG9ja2VkLWJ1ZmZlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlci1mYWludCkpKQ0KKyAgICBgKGl0YWxpYyAo KCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQorICAgIGAobm9icmVhay1oeXBoZW4gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KKyAgICBgKG5vYnJlYWst c3BhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYChtaW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLXByb21wdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4t YWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1udWFu Y2VkLWJnIGN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJl ZmluZS1iZyBmZy1tYWluKSkpKQ0KKyAgICBgKG1tLWNvbW1hbmQtb3V0cHV0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAobW0tdXUtZXh0cmFjdCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisg ICAgYChuZXh0LWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQp KSkNCisgICAgYChyZWN0YW5nbGUtcHJldmlldyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChyZWdpb24gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1yZWdpb24gYmctcmVnaW9uIGZnLW1haW4gYmctaGwtYWx0LWludGVuc2UpKSkpDQorICAgIGAo c2Vjb25kYXJ5LXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChzaGFkb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K KyAgICBgKHN1Y2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCisgICAgYCh0cmFpbGluZy13aGl0ZXNwYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQt aW50ZW5zZS1iZykpKQ0KKyAgICBgKHdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgYnV0dG9ucywgbGlua3MsIHdpZGdldHMNCisgICAg YChidXR0b24gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1saW5rDQorICAgICAgICAgICAgICAg ICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50IGJnLXJlZ2lvbikp KSkNCisgICAgYChsaW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGxpbmst dmlzaXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50IGZnLWFs dCkpKSkNCisgICAgYCh0b29sdGlwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNv bGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh3aWRnZXQtYnV0dG9uICgoLGNsYXNz IDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKHdpZGdldC1idXR0b24tcHJlc3NlZCAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCisgICAgYCh3aWRnZXQtZG9j dW1lbnRhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYCh3aWRnZXQt ZmllbGQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQorICAgIGAod2lkZ2V0LWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYCh3aWRnZXQtc2luZ2xlLWxpbmUt ZmllbGQgKCgsY2xhc3MgOmluaGVyaXQgd2lkZ2V0LWZpZWxkKSkpDQorOzs7OzsgYWcNCisgICAg YChhZy1oaXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQor ICAgIGAoYWctbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNhbG0pKSkNCis7Ozs7OyBhbGVydA0KKyAgICBgKGFsZXJ0LWhpZ2gtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoYWxlcnQtbG93LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGFsZXJ0 LW1vZGVyYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQorICAgIGAoYWxlcnQtdHJpdmlhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNhbG0pKSkNCisgICAgYChhbGVydC11cmdlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KKzs7Ozs7IGFsbC10aGUtaWNvbnMN CisgICAgYChhbGwtdGhlLWljb25zLWJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN CisgICAgYChhbGwtdGhlLWljb25zLWJsdWUtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtY3lhbi1hbHQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1kYmx1ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWRjeWFuICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNv bnMtZGdyZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAg YChhbGwtdGhlLWljb25zLWRpcmVkLWRpci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1kbWFyb29uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZG9yYW5nZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZHBp bmsgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhbGwtdGhlLWljb25z LWRwdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoYWxs LXRoZS1pY29ucy1kcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChhbGwt dGhlLWljb25zLWRzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1ncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCisgICAgYChhbGwtdGhlLWljb25zLWxibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbGN5YW4gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1sZ3Jl ZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10 aGUtaWNvbnMtbG1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcp KSkNCisgICAgYChhbGwtdGhlLWljb25zLWxvcmFuZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWxwaW5rICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbHB1cnBs ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwt dGhlLWljb25zLWxyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcpKSkNCisg ICAgYChhbGwtdGhlLWljb25zLWxzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbWFyb29uICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1vcmFu Z2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChhbGwtdGhlLWljb25z LXBpbmsgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhbGwtdGhlLWlj b25zLXB1cnBsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChh bGwtdGhlLWljb25zLXB1cnBsZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1yZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtcmVkLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtc2lsdmVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLXllbGxvdyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgYW5ub3RhdGUNCisgICAgYChh bm5vdGF0ZS1hbm5vdGF0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1i bHVlKSkpDQorICAgIGAoYW5ub3RhdGUtYW5ub3RhdGlvbi1zZWNvbmRhcnkgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQorICAgIGAoYW5ub3RhdGUtaGlnaGxp Z2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOnVuZGVybGluZSAsYmx1 ZS1pbnRlbnNlKSkpDQorICAgIGAoYW5ub3RhdGUtaGlnaGxpZ2h0LXNlY29uZGFyeSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsZ3JlZW4tbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxncmVlbi1pbnRlbnNl KSkpDQorOzs7OzsgYW56dQ0KKyAgICBgKGFuenUtbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKGFuenUtbWF0Y2gtMiAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChhbnp1LW1hdGNoLTMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KKyAgICBgKGFu enUtbW9kZS1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFj dGl2ZSkpKQ0KKyAgICBgKGFuenUtbW9kZS1saW5lLW5vLW1hdGNoICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChhbnp1LXJlcGxhY2UtaGln aGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVuZGVy bGluZSB0KSkpDQorICAgIGAoYW56dS1yZXBsYWNlLXRvICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQorOzs7OzsgYXByb3Bvcw0KKyAgICBgKGFw cm9wb3MtZnVuY3Rpb24tYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xv cg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KSkpKQ0KKyAgICBgKGFwcm9wb3Mta2V5Ymlu ZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAo YXByb3Bvcy1taXNjLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1h bHQtb3RoZXItZmFpbnQpKSkpDQorICAgIGAoYXByb3Bvcy1wcm9wZXJ0eSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBg KGFwcm9wb3Mtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoYXByb3Bvcy11c2VyLW9wdGlvbi1idXR0 b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFs dC1vdGhlci1mYWludCkpKSkNCisgICAgYChhcHJvcG9zLXZhcmlhYmxlLWJ1dHRvbiAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQorOzs7OzsgYXB0LXNvdXJjZXMt bGlzdA0KKyAgICBgKGFwdC1zb3VyY2VzLWxpc3QtY29tcG9uZW50cyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KKyAgICBgKGFwdC1zb3VyY2VzLWxpc3Qtb3B0aW9ucyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoYXB0LXNvdXJjZXMtbGlzdC1zdWl0ZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChhcHQtc291cmNlcy1saXN0LXR5cGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhcHQtc291cmNlcy1saXN0 LXVyaSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKzs7Ozs7IGFydGJvbGxvY2tzLW1v ZGUNCisgICAgYChhcnRib2xsb2Nrcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWxhbmctbm90ZSkpKQ0KKyAgICBgKGFydGJvbGxvY2tzLWxleGljYWwtaWxsdXNpb25zLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkLWFsdCA6dW5kZXJs aW5lIHQpKSkNCisgICAgYChhcnRib2xsb2Nrcy1wYXNzaXZlLXZvaWNlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy13YXJuaW5nKSkpDQorICAgIGAoYXJ0Ym9sbG9ja3Mt d2Vhc2VsLXdvcmRzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1lcnJv cikpKQ0KKzs7Ozs7IGF1Y3RleCBhbmQgVGV4DQorICAgIGAoZm9udC1sYXRleC1ib2xkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQor ICAgIGAoZm9udC1sYXRleC1kb2N0ZXgtZG9jdW1lbnRhdGlvbi1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisg ICAgYChmb250LWxhdGV4LWRvY3RleC1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAo Zm9udC1sYXRleC1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtbWF0aC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2Ny aXB0LWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisg ICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisg ICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xk IG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZn KSkpDQorICAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVh bmNlZC1mZykpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0zLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxi bHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctNC1mYWNlICgo LGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdy b3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdy b3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoZm9udC1sYXRleC1zZWRhdGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2xpZGUtdGl0bGUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGN5 YW4tbnVhbmNlZC1mZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1zY2FsZS00KSkpKQ0KKyAgICBg KGZvbnQtbGF0ZXgtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXN0cmlu Zy1mYWNlKSkpDQorICAgIGAoZm9udC1sYXRleC1zdWJzY3JpcHQtZmFjZSAoKCxjbGFzcyA6aGVp Z2h0IDAuOTUpKSkNCisgICAgYChmb250LWxhdGV4LXN1cGVyc2NyaXB0LWZhY2UgKCgsY2xhc3Mg OmhlaWdodCAwLjk1KSkpDQorICAgIGAoZm9udC1sYXRleC12ZXJiYXRpbS1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAg ICBgKGZvbnQtbGF0ZXgtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay13 YXJuaW5nLWZhY2UpKSkNCisgICAgYCh0ZXgtbWF0Y2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyKSkpDQorICAgIGAodGV4LXZlcmJhdGltICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKHRleGluZm8t aGVhZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKFRlWC1lcnJv ci1kZXNjcmlwdGlvbi1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKFRl WC1lcnJvci1kZXNjcmlwdGlvbi1oZWxwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQor ICAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXRleC1zYWlkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQorICAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXdhcm5pbmcgKCgsY2xhc3Mg OmluaGVyaXQgd2FybmluZykpKQ0KKzs7Ozs7IGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMNCisgICAg YChhdXRvLWRpbS1vdGhlci1idWZmZXJzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCkpKQ0KKzs7Ozs7IGF2eQ0KKyAgICBgKGF2eS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAoYXZ5LWdvdG8t Y2hhci10aW1lci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXll bGxvdyBib2xkKSkpKQ0KKyAgICBgKGF2eS1sZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0KKyAgICBgKGF2eS1sZWFkLWZhY2Ut MCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlIGJvbGQpKSkpDQor ICAgIGAoYXZ5LWxlYWQtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCBib2xkKSkpKQ0KKyAgICBgKGF2eS1sZWFkLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJp dCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KKzs7Ozs7IGF3IChhY2Utd2lu ZG93KQ0KKyAgICBgKGF3LWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChhdy1rZXktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCisgICAgYChhdy1sZWFk aW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS41IDpzbGFudCBu b3JtYWwgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQor ICAgIGAoYXctbWluaWJ1ZmZlci1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChhdy1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQorOzs7OzsgYXdlc29tZS10cmF5DQorICAgIGAoYXdlc29tZS10cmF5 LW1vZHVsZS1hd2Vzb21lLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWJhdHRlcnkt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYnVmZmVyLW5hbWUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoYXdl c29tZS10cmF5LW1vZHVsZS1jaXJjZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1kYXRlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAoYXdl c29tZS10cmF5LW1vZHVsZS1ldmlsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1naXQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoYXdl c29tZS10cmF5LW1vZHVsZS1sYXN0LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1 bGUtbG9jYXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLW1vZGUtbmFtZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoYXdlc29tZS10cmF5 LW1vZHVsZS1wYXJlbnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtcnZtLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBi YmRiDQorICAgIGAoYmJkYi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KKyAgICBgKGJiZGItb3JnYW5pemF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0LW90aGVyKSkpDQorICAgIGAoYmJkYi1maWVsZC1uYW1lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGJpbmRlcg0KKyAgICBgKGJpbmRlci1zaWRl YmFyLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikp KQ0KKyAgICBgKGJpbmRlci1zaWRlYmFyLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1tYXJrLXNlbCkpKQ0KKyAgICBgKGJpbmRlci1zaWRlYmFyLW1pc3NpbmcgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKGJpbmRlci1zaWRlYmFy LXRhZ3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBibQ0KKyAgICBgKGJt LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdyA6ZXh0ZW5k IHQpKSkNCisgICAgYChibS1mcmluZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoYm0tZnJpbmdlLXBlcnNpc3RlbnQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtYmx1ZSkpKQ0KKyAgICBgKGJtLXBlcnNp c3RlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgOmV4 dGVuZCB0KSkpDQorOzs7OzsgYm9uZ28NCisgICAgYChib25nby1hbGJ1bS10aXRsZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGJvbmdvLWFydGlzdCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChib25nby1jdXJyZW50 bHktcGxheWluZy10cmFjayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoYm9uZ28t ZWxhcHNlZC10cmFjay1wYXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1t YWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGJvbmdvLWZpbGxlZC1zZWVrLWJhciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAoYm9uZ28tbWFya2VkLXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYXJr LWFsdCkpKQ0KKyAgICBgKGJvbmdvLW1hcmtlZC10cmFjay1saW5lICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1tYXJrLWFsdCkpKQ0KKyAgICBgKGJvbmdvLXBsYXllZC10cmFjayAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQorICAgIGAoYm9u Z28tdHJhY2stbGVuZ3RoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAg YChib25nby10cmFjay10aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN CisgICAgYChib25nby11bmZpbGxlZC1zZWVrLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct c3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorOzs7OzsgYm9vbg0KKyAgICBg KGJvb24tbW9kZWxpbmUtY21kICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1i bHVlKSkpDQorICAgIGAoYm9vbi1tb2RlbGluZS1pbnMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLXJlZCkpKQ0KKyAgICBgKGJvb24tbW9kZWxpbmUtb2ZmICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCisgICAgYChib29uLW1vZGVsaW5l LXNwYyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCis7Ozs7 OyBicmVha3BvaW50IChidWlsdC1pbiBnZGItbWkuZWwpDQorICAgIGAoYnJlYWtwb2ludC1kaXNh YmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChicmVha3BvaW50LWVuYWJs ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorOzs7OzsgYnVm ZmVyLWV4cG9zZQ0KKyAgICBgKGJ1ZmZlci1leHBvc2UtYWNlLWNoYXItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoYnVmZmVyLWV4 cG9zZS1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN CisgICAgYChidWZmZXItZXhwb3NlLXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQorOzs7OzsgY2FsZW5kYXIgYW5kIGRpYXJ5DQorICAg IGAoY2FsZW5kYXItbW9udGgtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXBz ZXVkby1oZWFkZXIpKSkNCisgICAgYChjYWxlbmRhci10b2RheSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGNhbGVuZGFyLXdlZWtkYXktaGVhZGVyICgoLGNs YXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGNhbGVuZGFyLXdlZWtlbmQtaGVhZGVyICgo LGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGRpYXJ5ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxncmVlbi1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisg ICAgYChkaWFyeS1hbm5pdmVyc2FyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhl cikpKQ0KKyAgICBgKGRpYXJ5LXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQorICAgIGAoaG9saWRheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1udWFuY2VkLWJn IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IGNhbGZ3DQorICAgIGAoY2Z3OmZh Y2UtYW5ub3RhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQor ICAgIGAoY2Z3OmZhY2UtZGF5LXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAoY2Z3OmZhY2UtZGVmYXVsdC1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQpKSkNCisgICAgYChjZnc6ZmFjZS1kZWZhdWx0LWRheSAoKCxjbGFzcyA6aW5oZXJp dCAoY2Z3OmZhY2UtZGF5LXRpdGxlIGJvbGQpKSkpDQorICAgIGAoY2Z3OmZhY2UtZGlzYWJsZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAoY2Z3OmZhY2UtZ3Jp ZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCisgICAg YChjZnc6ZmFjZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKGNmdzpmYWNlLWhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY2Z3OmZhY2UtcGVyaW9kcyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChjZnc6ZmFjZS1zYXR1cmRheSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBg KGNmdzpmYWNlLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJs dWUpKSkNCisgICAgYChjZnc6ZmFjZS1zdW5kYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChjZnc6ZmFjZS10aXRsZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1zY2Fs ZS01KSkpKQ0KKyAgICBgKGNmdzpmYWNlLXRvZGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1p bmFjdGl2ZSkpKQ0KKyAgICBgKGNmdzpmYWNlLXRvZGF5LXRpdGxlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChjZnc6ZmFjZS10b29sYmFyICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGNmdzpmYWNlLXRv b2xiYXItYnV0dG9uLW9mZiAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChjZnc6 ZmFjZS10b29sYmFyLWJ1dHRvbi1vbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxibHVlLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCis7Ozs7OyBjZW50YXVyLXRhYnMNCisgICAg YChjZW50YXVyLXRhYnMtYWN0aXZlLWJhci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy10 YWItYWN0aXZlKSkpDQorICAgIGAoY2VudGF1ci10YWJzLWNsb3NlLW1vdXNlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6dW5kZXJsaW5lIHQpKSkN CisgICAgYChjZW50YXVyLXRhYnMtY2xvc2Utc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2Vu dGF1ci10YWJzLXNlbGVjdGVkKSkpDQorICAgIGAoY2VudGF1ci10YWJzLWNsb3NlLXVuc2VsZWN0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQpKSkNCisgICAgYChj ZW50YXVyLXRhYnMtbW9kaWZpZWQtbWFya2VyLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNl bnRhdXItdGFicy1zZWxlY3RlZCkpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1tb2RpZmllZC1tYXJr ZXItdW5zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCkp KQ0KKyAgICBgKGNlbnRhdXItdGFicy1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQorICAgIGAoY2VudGF1ci10YWJzLXNlbGVjdGVk ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjZW50YXVyLXRhYnMtc2VsZWN0ZWQtbW9kaWZpZWQg KCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQor ICAgIGAoY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQg aXRhbGljIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkp KQ0KKzs7Ozs7IGNmcnMNCisgICAgYChjZnJzLWJvcmRlci1jb2xvciAoKCxjbGFzcyA6YmFja2dy b3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCis7Ozs7OyBjaGFuZ2UtbG9nIGFuZCBs b2ctdmlldyAoYHZjLXByaW50LWxvZycgYW5kIGB2Yy1wcmludC1yb290LWxvZycpDQorICAgIGAo Y2hhbmdlLWxvZy1hY2tub3dsZWRnbWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQorICAgIGAoY2hhbmdlLWxvZy1jb25kaXRpb25hbHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KKyAgICBgKGNoYW5nZS1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKyAgICBgKGNoYW5nZS1sb2ctZW1haWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQorICAgIGAoY2hhbmdlLWxvZy1maWxlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNoYW5nZS1sb2ctZnVu Y3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNo YW5nZS1sb2ctbGlzdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAg YChjaGFuZ2UtbG9nLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQorICAgIGAobG9nLWVkaXQtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCisgICAgYChsb2ctZWRpdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChsb2ctZWRpdC11bmtub3duLWhlYWRlciAo KCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChsb2ctdmlldy1jb21taXQtYm9keSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobG9nLXZpZXct ZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChsb2ctdmlldy1tZXNzYWdlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IGNpZGVyDQorICAgIGAoY2lkZXItZGVidWct Y29kZS1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBg KGNpZGVyLWRlYnVnLXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChjaWRlci1kZXByZWNhdGVkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKGNpZGVyLWRvY3Zp ZXctZW1waGFzaXMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNpZGVyLWRvY3ZpZXctbGl0ZXJhbC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGNpZGVyLWRvY3ZpZXctc3Ryb25n LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQorICAgIGAoY2lkZXItZG9jdmlldy10YWJsZS1ib3JkZXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBzaGFkb3cpKSkNCisgICAgYChjaWRlci1lbmxpZ2h0ZW5lZC1mYWNlICgoLGNsYXNzIDpi b3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAseWVsbG93LWFsdCA6c3R5bGUgbmlsKSA6YmFja2dy b3VuZCAsYmctZGltKSkpDQorICAgIGAoY2lkZXItZW5saWdodGVuZWQtbG9jYWwtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAg IGAoY2lkZXItZXJyb3ItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6 dW5kZXJsaW5lIHQpKSkNCisgICAgYChjaWRlci1mcmFnaWxlLWJ1dHRvbi1mYWNlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1hbHQgOnN0eWxlIHJlbGVhc2VkLWJ1dHRv bikgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGNpZGVyLWZyaW5nZS1nb29kLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGNpZGVyLWluc3Ry dW1lbnRlZC1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAscmVkIDpz dHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChjaWRlci1yZWFkZXItY29u ZGl0aW9uYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KKyAgICBgKGNpZGVyLXJlcGwtaW5wdXQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkKSkpDQorICAgIGAoY2lkZXItcmVwbC1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChjaWRlci1yZXBsLXN0ZGVyci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGNpZGVy LXJlcGwtc3Rkb3V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChj aWRlci1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpj b2xvciAsYmx1ZSA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoY2lk ZXItc3RhY2t0cmFjZS1lcnJvci1jbGFzcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZXJyb3ItbWVzc2FnZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikp KQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVyLWFjdGl2ZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChjaWRlci1z dGFja3RyYWNlLWZpbHRlci1pbmFjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZm4tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY2lkZXItc3RhY2t0cmFjZS1u cy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQor ICAgIGAoY2lkZXItc3RhY2t0cmFjZS1wcm9tb3RlZC1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94 ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLXN1cHByZXNzZWQtYnV0 dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLWFsdCA6c3R5 bGUgcHJlc3NlZC1idXR0b24pDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KKyAgICBgKGNpZGVyLXRlc3QtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAgIGAoY2lkZXItdGVzdC1mYWlsdXJlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQorICAgIGAo Y2lkZXItdGVzdC1zdWNjZXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGNpZGVyLXRyYWNlZC1mYWNlICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIC0xIDpjb2xvciAsY3lhbiA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGlt KSkpDQorICAgIGAoY2lkZXItd2FybmluZy1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IGNpcmNlIChhbmQgbHVpKQ0KKyAg ICBgKGNpcmNlLWZvb2wtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChj aXJjZS1oaWdobGlnaHQtbmljay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUpKSkNCisgICAgYChjaXJjZS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNpcmNlLXNlcnZlci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYChsdWktYnV0 dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobHVpLWhpZ2hsaWdo dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGx1aS10 aW1lLXN0YW1wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0K Kzs7Ozs7IGNvbG9yLXJnDQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNvbHVtbi1udW1iZXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY29sb3It cmctZm9udC1sb2NrLWNvbW1hbmQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1maWxlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNvbG9yLXJn LWZvbnQtbG9jay1mbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJs dWUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stZnVuY3Rpb24tbG9jYXRpb24gKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoY29sb3Itcmct Zm9udC1sb2NrLWhlYWRlci1saW5lLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hY3RpdmUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtZWRpdC1t b2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbG9y LXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1rZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtdGV4 dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoY29sb3ItcmctZm9u dC1sb2NrLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stbWFyay1jaGFuZ2VkICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2st bWFyay1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0K KyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stcG9zaXRpb24t c3BsaXR0ZXIgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorOzs7OzsgY29sdW1uLWVuZm9y Y2UtbW9kZQ0KKyAgICBgKGNvbHVtbi1lbmZvcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKzs7Ozs7IGNvbXBhbnktbW9kZQ0KKyAgICBgKGNv bXBhbnktZWNoby1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQorICAgIGAoY29tcGFueS1wcmV2aWV3ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0g OmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGNvbXBhbnktcHJldmlldy1jb21tb24gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoY29tcGFueS1wcmV2aWV3LXNl YXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAg YChjb21wYW55LXNjcm9sbGJhci1iZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkp DQorICAgIGAoY29tcGFueS1zY3JvbGxiYXItZmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFj dGl2ZSkpKQ0KKyAgICBgKGNvbXBhbnktdGVtcGxhdGUtZmllbGQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAoY29tcGFueS10b29sdGlwICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBg KGNvbXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChjb21wYW55LXRv b2x0aXAtYW5ub3RhdGlvbi1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1jb21tb24gKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChjb21wYW55LXRv b2x0aXAtY29tbW9uLXNlbGVjdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKGNvbXBhbnktdG9vbHRpcC1tb3VzZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChjb21wYW55LXRvb2x0aXAtc2VhcmNoICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xkKSkpKQ0KKyAgICBgKGNvbXBh bnktdG9vbHRpcC1zZWFyY2gtc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVt ZS1pbnRlbnNlLWdyZWVuIGJvbGQpIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGNvbXBhbnktdG9v bHRpcC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFu IGJvbGQpKSkpDQorOzs7OzsgY29tcGFueS1wb3NmcmFtZQ0KKyAgICBgKGNvbXBhbnktcG9zZnJh bWUtYWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAoY29tcGFueS1w b3NmcmFtZS1pbmFjdGl2ZS1iYWNrZW5kLW5hbWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoY29tcGFueS1wb3NmcmFtZS1t ZXRhZGF0YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZn LWluYWN0aXZlKSkpDQorOzs7OzsgY29tcGlsYXRpb24gZmVlZGJhY2sNCisgICAgYChjb21waWxh dGlvbi1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KKyAgICBgKGNvbXBpbGF0aW9uLWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGNvbXBpbGF0aW9uLWluZm8gKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAoY29tcGlsYXRpb24tbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGNvbXBpbGF0aW9uLW1vZGUtbGluZS1leGl0 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0 aXZlKSkpDQorICAgIGAoY29tcGlsYXRpb24tbW9kZS1saW5lLWZhaWwgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGNv bXBpbGF0aW9uLW1vZGUtbGluZS1ydW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChjb21waWxhdGlvbi13YXJu aW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KKzs7Ozs7IGNvbXBsZXRpb25zDQorICAgIGAoY29tcGxldGlvbnMtYW5ub3RhdGlvbnMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGN5YW4tZmFp bnQpKSkNCisgICAgYChjb21wbGV0aW9ucy1jb21tb24tcGFydCAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcp KSkpDQorICAgIGAoY29tcGxldGlvbnMtZmlyc3QtZGlmZmVyZW5jZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBibHVlLW51YW5jZWQtYmcNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtaW50 ZW5zZS1iZyBmZy1tYWluKSkpKQ0KKzs7Ozs7IGNvbnN1bHQNCisgICAgYChjb25zdWx0LWFzeW5j LXJ1bm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAg ICBgKGNvbnN1bHQtYXN5bmMtc3BsaXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQorICAgIGAoY29uc3VsdC1ib29rbWFyayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KKyAgICBgKGNvbnN1bHQtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAoY29uc3VsdC1pbWVudS1wcmVmaXggKCgsY2xhc3MgOmluaGVyaXQgc2hh ZG93KSkpDQorICAgIGAoY29uc3VsdC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWVz LWJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY29uc3VsdC1s aW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAg IGAoY29uc3VsdC1saW5lLW51bWJlci1wcmVmaXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVu Zm9jdXNlZCkpKQ0KKyAgICBgKGNvbnN1bHQtbmFycm93LWluZGljYXRvciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChjb25zdWx0LXByZXZpZXctY3Vyc29yICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAgICBgKGNvbnN1 bHQtcHJldmlldy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCkpKQ0KKyAgICBgKGNvbnN1bHQtcHJldmlldy1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1obC1hbHQtaW50ZW5zZSkpKQ0KKzs7Ozs7IGNvdW5zZWwNCisgICAgYChjb3Vuc2VsLWFjdGl2 ZS1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBg KGNvdW5zZWwtYXBwbGljYXRpb24tbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlcikpKQ0KKyAgICBgKGNvdW5zZWwta2V5LWJpbmRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChjb3Vuc2VsLW91dGxpbmUt MSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctbGV2ZWwtMSkpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGlu ZS0yICgoLGNsYXNzIDppbmhlcml0IG9yZy1sZXZlbC0yKSkpDQorICAgIGAoY291bnNlbC1vdXRs aW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWxldmVsLTMpKSkNCisgICAgYChjb3Vuc2VsLW91 dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBvcmctbGV2ZWwtNCkpKQ0KKyAgICBgKGNvdW5zZWwt b3V0bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG9yZy1sZXZlbC01KSkpDQorICAgIGAoY291bnNl bC1vdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWxldmVsLTYpKSkNCisgICAgYChjb3Vu c2VsLW91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBvcmctbGV2ZWwtNykpKQ0KKyAgICBgKGNv dW5zZWwtb3V0bGluZS04ICgoLGNsYXNzIDppbmhlcml0IG9yZy1sZXZlbC04KSkpDQorICAgIGAo Y291bnNlbC1vdXRsaW5lLWRlZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChjb3Vuc2VsLXZhcmlhYmxlLWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCis7Ozs7 OyBjb3Vuc2VsLWNzcw0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9y LWRlcHRoLWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGNvdW5z ZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCisgICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTQgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZh Y2UtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGNvdW5zZWwtY3Nz LXNlbGVjdG9yLWRlcHRoLWZhY2UtNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorOzs7 OzsgY291bnNlbC1ub3RtdWNoDQorICAgIGAoY291bnNlbC1ub3RtdWNoLWNvdW50LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChjb3Vuc2VsLW5vdG11Y2gtZGF0ZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoY291bnNlbC1ub3RtdWNo LXBlb3BsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoY291 bnNlbC1ub3RtdWNoLXN1YmplY3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCis7Ozs7OyBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0cmluZw0KKyAgICBgKGNv dW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nLXRlbXBsYXRlLWJvZHktZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorOzs7OzsgY292DQorICAgIGAoY292LWNvdmVy YWdlLW5vdC1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisg ICAgYChjb3YtY292ZXJhZ2UtcnVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWlu dGVuc2UpKSkNCisgICAgYChjb3YtaGVhdnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1pbnRlbnNlKSkpDQorICAgIGAoY292LWxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKGNvdi1tZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LWludGVuc2UpKSkNCisgICAgYChjb3Ytbm9uZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCis7Ozs7OyBjcGVybC1tb2RlDQorICAgIGAoY3Bl cmwtbm9ub3ZlcnJpZGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCB1bnNwZWNpZmllZCkp KQ0KKyAgICBgKGNwZXJsLWFycmF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWtl eXdvcmQtZmFjZSkpKQ0KKyAgICBgKGNwZXJsLWhhc2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBm b250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorOzs7OzsgY3N2LW1vZGUNCisgICAgYChj c3Ytc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGN0cmxmDQorICAgIGAoY3RybGYtaGlnaGxp Z2h0LWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBi b2xkKSkpKQ0KKyAgICBgKGN0cmxmLWhpZ2hsaWdodC1saW5lICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhsLWxpbmUpKSkNCisgICAgYChjdHJsZi1oaWdobGlnaHQtcGFzc2l2ZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKzs7Ozs7IGN1c3RvbSAo TS14IGN1c3RvbWl6ZSkNCisgICAgYChjdXN0b20tYnV0dG9uICgoLGNsYXNzIDpib3ggKDpsaW5l LXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKGN1c3RvbS1idXR0b24tbW91c2UgKCgsY2xhc3MgOmJveCAoOmxpbmUt d2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5k ICxmZy1hY3RpdmUpKSkNCisgICAgYChjdXN0b20tYnV0dG9uLXByZXNzZWQgKCgsY2xhc3MgOmJv eCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGN1c3RvbS1jaGFuZ2VkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAoY3VzdG9tLWNvbW1lbnQg KCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoY3VzdG9tLWNvbW1lbnQtdGFnICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIp KSkNCisgICAgYChjdXN0b20tZmFjZS10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAoY3VzdG9tLWdyb3VwLXRhZyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAoY3VzdG9t LWdyb3VwLXRhZy0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkp KQ0KKyAgICBgKGN1c3RvbS1pbnZhbGlkICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1p bnRlbnNlLXJlZCBib2xkKSkpKQ0KKyAgICBgKGN1c3RvbS1tb2RpZmllZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKGN1c3RvbS1yb2d1ZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKGN1c3Rv bS1zZXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoY3VzdG9tLXN0 YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGN1c3Rv bS10aGVtZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisg ICAgYChjdXN0b20tdmFyaWFibGUtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4pKSkNCis7Ozs7OyBkYXAtbW9kZQ0KKyAgICBgKGRhcC1tb3VzZS1ldmFsLXRoaW5n LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlLWFjdGl2ZSA6 c3R5bGUgbmlsKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJh Y2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRhcC1y ZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAs YmctYWN0aXZlIDpzdHlsZSBuaWwpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAg ICBgKGRhcC11aS1icmVha3BvaW50LXZlcmlmaWVkLWZyaW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChkYXAtdWktY29tcGlsZS1l cnJsaW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkp DQorICAgIGAoZGFwLXVpLWxvY2Fscy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQorICAgIGAoZGFwLXVpLWxvY2Fs cy12YXJpYWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4p KSkNCisgICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxlLWxlYWYtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZGFwLXVp LW1hcmtlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkp DQorICAgIGAoZGFwLXVpLXNlc3Npb25zLXN0YWNrLWZyYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChkYXAtdWktc2Vzc2lv bnMtdGVybWluYXRlZC1hY3RpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCisgICAgYChkYXAtdWktc2Vzc2lvbnMtdGVybWluYXRlZC1mYWNlICgo LGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKzs7Ozs7IGRhc2hib2FyZCAoZW1hY3MtZGFzaGJv YXJkKQ0KKyAgICBgKGRhc2hib2FyZC1iYW5uZXItbG9nby10aXRsZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChkYXNoYm9hcmQt Zm9vdGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCkpKQ0KKyAgICBgKGRhc2hib2FyZC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGRhc2hib2FyZC1uYXZpZ2F0b3Ig KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZGFzaGJvYXJk LXRleHQtYmFubmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCis7Ozs7OyBkZWFk Z3JlcA0KKyAgICBgKGRlYWRncmVwLWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGVhZGdyZXAtbWF0Y2gt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAg YChkZWFkZ3JlcC1tZXRhLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAo ZGVhZGdyZXAtcmVnZXhwLW1ldGFjaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCisgICAgYChkZWFkZ3JlcC1zZWFyY2gtdGVybS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkN Cis7Ozs7OyBkZWJidWdzDQorICAgIGAoZGViYnVncy1nbnUtYXJjaGl2ZWQgKCgsY2xhc3MgOmlu dmVyc2UtdmlkZW8gdCkpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LWRvbmUgKCgsY2xhc3MgOmluaGVy aXQgc2hhZG93KSkpDQorICAgIGAoZGViYnVncy1nbnUtZm9yd2FyZGVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChkZWJidWdzLWdudS1oYW5kbGVkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LW5ldyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZGViYnVncy1nbnUtcGVuZGluZyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTEgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAoZGViYnVncy1n bnUtc3RhbGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZGViYnVn cy1nbnUtc3RhbGUtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBg KGRlYmJ1Z3MtZ251LXN0YWxlLTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCisgICAgYChkZWJidWdzLWdudS1zdGFsZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQorICAgIGAoZGViYnVncy1nbnUtdGFnZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IGRlZmluZS13b3JkDQorICAgIGAoZGVmaW5lLXdvcmQt ZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkZWZpbmUtd29y ZC1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBkZWZ0DQor ICAgIGAoZGVmdC1maWx0ZXItc3RyaW5nLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KKyAgICBgKGRlZnQtZmlsdGVyLXN0cmluZy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAoZGVmdC1oZWFkZXIt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCisgICAgYChkZWZ0LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykp KQ0KKyAgICBgKGRlZnQtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNsYW50IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChkZWZ0LXRpbWUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGVmdC10aXRsZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7 OyBkaWN0aW9uYXJ5DQorICAgIGAoZGljdGlvbmFyeS1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChkaWN0aW9u YXJ5LXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGRp Y3Rpb25hcnktd29yZC1kZWZpbml0aW9uLWZhY2UgKCgsY2xhc3MpKSkNCisgICAgYChkaWN0aW9u YXJ5LXdvcmQtZW50cnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1m YWNlKSkpDQorOzs7OzsgZGlmZi1obA0KKyAgICBgKGRpZmYtaGwtY2hhbmdlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCisgICAgYChkaWZmLWhsLWRlbGV0 ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZGlm Zi1obC1kaXJlZC1jaGFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1obC1jaGFuZ2UpKSkNCisg ICAgYChkaWZmLWhsLWRpcmVkLWRlbGV0ZSAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWhsLWRlbGV0 ZSkpKQ0KKyAgICBgKGRpZmYtaGwtZGlyZWQtaWdub3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaXJl ZC1pZ25vcmVkKSkpDQorICAgIGAoZGlmZi1obC1kaXJlZC1pbnNlcnQgKCgsY2xhc3MgOmluaGVy aXQgZGlmZi1obC1pbnNlcnQpKSkNCisgICAgYChkaWZmLWhsLWRpcmVkLXVua25vd24gKCgsY2xh c3MgOmluaGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KKyAgICBgKGRpZmYtaGwtaW5zZXJ0ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGRpZmYtaGwt cmV2ZXJ0ZWQtaHVuay1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWFj dGl2ZS1tYWdlbnRhIGJvbGQpKSkpDQorOzs7OzsgZGlmZi1tb2RlDQorICAgIGAoZGlmZi1hZGRl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQorICAgIGAoZGlm Zi1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCA6ZXh0 ZW5kIHQpKSkNCisgICAgYChkaWZmLWNvbnRleHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1k aWZmLXRleHQgZmctbWFpbiBmZy11bmZvY3VzZWQpKSkpDQorICAgIGAoZGlmZi1lcnJvciAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBgKGRpZmYtZmls ZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZGlmZi1oZWFkZXIpKSkpDQorICAgIGAo ZGlmZi1mdW5jdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcp KSkNCisgICAgYChkaWZmLWhlYWRlciAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYtdGV4 dCBjeWFuLWZhaW50IGZnLW1haW4pKSkpDQorICAgIGAoZGlmZi1odW5rLWhlYWRlciAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcpKSkpDQorICAgIGAoZGlm Zi1pbmRleCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K KyAgICBgKGRpZmYtaW5kaWNhdG9yLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IChkaWZmLWFkZGVk IGJvbGQpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LEAobW9kdXMtdGhlbWVzLS1kaWZmLWRldXRlcmFuIGJsdWUgZ3JlZW4pKSkpDQorICAgIGAoZGlm Zi1pbmRpY2F0b3ItY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCAoZGlmZi1jaGFuZ2VkIGJvbGQp IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkaWZmLWluZGljYXRvci1yZW1vdmVkICgo LGNsYXNzIDppbmhlcml0IChkaWZmLXJlbW92ZWQgYm9sZCkgOmZvcmVncm91bmQgLHJlZCkpKQ0K KyAgICBgKGRpZmYtbm9uZXhpc3RlbnQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLW5l dXRyYWwgYm9sZCkpKSkNCisgICAgYChkaWZmLXJlZmluZS1hZGRlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KKyAgICBgKGRpZmYtcmVmaW5lLWNo YW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCkp KQ0KKyAgICBgKGRpZmYtcmVmaW5lLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KKyAgICBgKGRpZmYtcmVtb3ZlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCis7Ozs7OyBkaW0tYXV0b2xvYWQN CisgICAgYChkaW0tYXV0b2xvYWQtY29va2llLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1s b2NrLWNvbW1lbnQtZmFjZSkpKQ0KKzs7Ozs7IGRpci10cmVldmlldw0KKyAgICBgKGRpci10cmVl dmlldy1hcmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KKyAgICBgKGRpci10cmVldmlldy1hcmNoaXZlLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K KyAgICBgKGRpci10cmVldmlldy1hdWRpby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWF1ZGlvLWljb24tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWNvbnRyb2wtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBzaGFkb3cpKSkNCisgICAgYChkaXItdHJlZXZpZXctY29udHJvbC1tb3VzZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGhpZ2hsaWdodCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1kZWZhdWx0LWlj b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmYW1pbHkgIkZvbnQgQXdlc29tZSIgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1kZWZhdWx0LWZpbGVuYW1l LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChkaXItdHJlZXZp ZXctZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChk aXItdHJlZXZpZXctZGlyZWN0b3J5LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJl ZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAo ZGlyLXRyZWV2aWV3LWV4ZWN1dGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1leGVjdXRhYmxlLWljb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIpKSkNCisgICAgYChkaXItdHJlZXZpZXctaW1hZ2UtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWltYWdlLWlj b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2Ug OmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1pbmRlbnQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChkaXItdHJlZXZpZXctbGFiZWwt bW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGlnaHQpKSkNCisgICAgYChkaXItdHJl ZXZpZXctc3RhcnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNldWRv LWhlYWRlcikpKQ0KKyAgICBgKGRpci10cmVldmlldy1zeW1saW5rLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCisgICAgYChkaXItdHJlZXZpZXct dmlkZW8tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisg ICAgYChkaXItdHJlZXZpZXctdmlkZW8taWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10 cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCis7Ozs7OyBkaXJlZA0KKyAgICBgKGRpcmVkLWJyb2tlbi1zeW1saW5rICgoLGNsYXNzIDpp bmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZGlyZWQtZGlyZWN0b3J5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZGlyZWQtZmxhZ2dlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBgKGRpcmVkLWhlYWRl ciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQorICAgIGAo ZGlyZWQtaWdub3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChkaXJlZC1t YXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQorICAgIGAo ZGlyZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQor ICAgIGAoZGlyZWQtcGVybS13cml0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQorICAgIGAoZGlyZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQp KSkpDQorICAgIGAoZGlyZWQtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBkaXJlZC1hc3luYw0KKyAgICBgKGRpcmVkLWFzeW5jLWZh aWx1cmVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCisgICAgYChkaXJlZC1hc3luYy1tZXNzYWdlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRp cmVkLWFzeW5jLW1vZGUtbWVzc2FnZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xk IDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKzs7Ozs7IGRpcmVkLWdpdA0KKyAgICBgKGRp cmVkLWdpdC1icmFuY2gtZWxzZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KKyAgICBgKGRpcmVkLWdpdC1icmFuY2gtbWFzdGVyICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorOzs7OzsgZGly ZWQtZ2l0LWluZm8NCisgICAgYChkZ2ktY29tbWl0LW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorOzs7OzsgZGlyZWQtbmFycm93DQorICAgIGAo ZGlyZWQtbmFycm93LWJsaW5rICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUt Y3lhbiBib2xkKSkpKQ0KKzs7Ozs7IGRpcmVkLXN1YnRyZWUNCisgICAgOzsgcmVtb3ZlIGJhY2tn cm91bmRzIGZyb20gZGlyZWQtc3VidHJlZSBmYWNlcywgZWxzZSB0aGV5IGJyZWFrDQorICAgIDs7 IGRpcmVkLXtmbGFnZ2VkLG1hcmtlZH0gYW5kIGFueSBvdGhlciBmYWNlIHRoYXQgc2V0cyBhIGJh Y2tncm91bmQNCisgICAgOzsgc3VjaCBhcyBobC1saW5lLiAgQWxzbywgZGVub3RpbmcgZGVwdGgg YnkgdmFyeWluZyBzaGFkZXMgb2YgZ3JheQ0KKyAgICA7OyBpcyBub3QgZ29vZCBmb3IgYWNjZXNz aWJpbGl0eS4NCisgICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTEtZmFjZSAoKCkpKQ0KKyAgICBg KGRpcmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNlICgoKSkpDQorICAgIGAoZGlyZWQtc3VidHJlZS1k ZXB0aC0zLWZhY2UgKCgpKSkNCisgICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTQtZmFjZSAoKCkp KQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNS1mYWNlICgoKSkpDQorICAgIGAoZGlyZWQt c3VidHJlZS1kZXB0aC02LWZhY2UgKCgpKSkNCis7Ozs7OyBkaXJlZGMNCisgICAgYChkaXJlZGMt ZmFjZS1jaG1vZC1mb250LWxvY2stZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KKyAgICBgKGRpcmVkYy1mYWNlLWNobW9kLWZvbnQtbG9jay1leGVjICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZGlyZWRjLWZhY2UtY2htb2QtZm9udC1sb2NrLXJl YWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChkaXJlZGMtZmFjZS1j aG1vZC1mb250LWxvY2std3JpdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7 OyBkaXJlZGZsDQorICAgIGAoZGlyZWRmbC1hdXRvZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGRpcmVkZmwtY29tcHJlc3NlZC1m aWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBg KGRpcmVkZmwtY29tcHJlc3NlZC1maWxlLXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KKyAgICBgKGRpcmVkZmwtZGF0ZS10aW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGRpcmVkZmwtZGVsZXRpb24gKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtbWFyay1kZWwpKSkNCisgICAgYChkaXJlZGZsLWRlbGV0aW9uLWZpbGUt bmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBgKGRp cmVkZmwtZGlyLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNldWRvLWhl YWRlcikpKQ0KKyAgICBgKGRpcmVkZmwtZGlyLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQt ZGlyZWN0b3J5KSkpDQorICAgIGAoZGlyZWRmbC1kaXItcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCisgICAgYChkaXJlZGZsLWV4ZWMtcHJpdiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGRpcmVkZmwtZXhlY3V0YWJsZS10YWcgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZGlyZWRmbC1maWxlLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChkaXJlZGZsLWZpbGUtc3VmZml4 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZGlyZWRmbC1mbGFnLW1hcmsg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCisgICAgYChkaXJlZGZs LWZsYWctbWFyay1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkp DQorICAgIGAoZGlyZWRmbC1pZ25vcmVkLWZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFk b3cpKSkNCisgICAgYChkaXJlZGZsLWxpbmstcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCisgICAgYChkaXJlZGZsLW5vLXByaXYgKCgsY2xhc3MgOmluaGVyaXQg c2hhZG93KSkpDQorICAgIGAoZGlyZWRmbC1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQorICAgIGAoZGlyZWRmbC1vdGhlci1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCisgICAgYChkaXJlZGZsLXJhcmUtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KKyAgICBgKGRpcmVkZmwtcmVhZC1wcml2ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoZGlyZWRmbC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0 IGRpcmVkLXN5bWxpbmspKSkNCisgICAgYChkaXJlZGZsLXRhZ2dlZC1hdXRvZmlsZS1uYW1lICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAoZGly ZWRmbC13cml0ZS1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7OzsgZGly ZWQrDQorICAgIGAoZGlyZWRwLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGlyZWRwLWNvbXByZXNzZWQtZmlsZS1uYW1l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChkaXJlZHAt Y29tcHJlc3NlZC1maWxlLXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0K KyAgICBgKGRpcmVkcC1kYXRlLXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQorICAgIGAoZGlyZWRwLWRlbGV0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLW1hcmstZGVsKSkpDQorICAgIGAoZGlyZWRwLWRlbGV0aW9uLWZpbGUtbmFtZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBgKGRpcmVkcC1kaXItaGVh ZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQorICAg IGAoZGlyZWRwLWRpci1uYW1lICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWRpcmVjdG9yeSkpKQ0K KyAgICBgKGRpcmVkcC1kaXItcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN CisgICAgYChkaXJlZHAtZXhlYy1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAoZGlyZWRwLWV4ZWN1dGFibGUtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KKyAgICBgKGRpcmVkcC1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChkaXJlZHAtZmlsZS1zdWZmaXggKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCisgICAgYChkaXJlZHAtZmxhZy1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLW1hcmstc2VsKSkpDQorICAgIGAoZGlyZWRwLWZsYWctbWFyay1saW5lICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQorICAgIGAoZGlyZWRwLWlnbm9y ZWQtZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGRpcmVkcC1s aW5rLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAo ZGlyZWRwLW1vZGUtbGluZS1mbGFnZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQorICAgIGAoZGlyZWRwLW1vZGUtbGluZS1tYXJrZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRpcmVkcC1uby1wcml2ICgoLGNsYXNzIDppbmhlcml0 IHNoYWRvdykpKQ0KKyAgICBgKGRpcmVkcC1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQorICAgIGAoZGlyZWRwLW9taXQtZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0 IHNoYWRvdyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KKyAgICBgKGRpcmVkcC1vdGhlci1wcml2ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkaXJlZHAtcmFyZS1wcml2ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoZGlyZWRwLXJlYWQtcHJpdiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRpcmVkcC1zeW1saW5rICgo LGNsYXNzIDppbmhlcml0IGRpcmVkLXN5bWxpbmspKSkNCisgICAgYChkaXJlZHAtdGFnZ2VkLWF1 dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEp KSkNCisgICAgYChkaXJlZHAtd3JpdGUtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKzs7Ozs7IGRpc2stdXNhZ2UNCisgICAgYChkaXNrLXVzYWdlLWNoaWxkcmVuICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkaXNrLXVzYWdlLWluYWNjZXNzaWJsZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChkaXNrLXVz YWdlLXBlcmNlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZGlzay11 c2FnZS1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZGlzay11c2Fn ZS1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGRpc2stdXNhZ2Ut c3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCis7Ozs7OyBkaXNwbGF5LWZpbGwtY29sdW1uLWluZGljYXRvci1tb2RlDQorICAg IGAoZmlsbC1jb2x1bW4taW5kaWNhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUp KSkNCis7Ozs7OyBkb29tLW1vZGVsaW5lDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXIgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChkb29tLW1vZGVs aW5lLWJhci1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZvcmVn cm91bmQgLGJnLW1haW4pKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktY2hhcmdpbmcg KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxp bmUtYmF0dGVyeS1jcml0aWNhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWVycm9yICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggLTIpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAg IGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWZ1bGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LW5vcm1hbCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LXdh cm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkp KQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXIt bWFqb3ItbW9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLW1pbm9yLW1vZGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItbW9k aWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUp KSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1wYXRoICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZGVidWcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAg ICBgKGRvb20tbW9kZWxpbmUtZGVidWctdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtZW1hY3Mt c3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUp KSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtaW5zZXJ0LXN0YXRlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxp bmUtZXZpbC1tb3Rpb24tc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctaW5hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtbm9ybWFsLXN0YXRlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKGRv b20tbW9kZWxpbmUtZXZpbC1vcGVyYXRvci1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZXZpbC1yZXBs YWNlLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUp KSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtdmlzdWFsLXN0YXRlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGlu ZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3Rp dmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGlj KSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWxzcC1lcnJvciAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGlu ZS1sc3Atc3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1h Y3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVs aW5lLXBhbmVsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQor ICAgIGAoZG9vbS1tb2RlbGluZS1wZXJzcC1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNzIDpp bmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20t bW9kZWxpbmUtcGVyc3AtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQor ICAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtcHJvamVjdC1w YXJlbnQtZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGRv b20tbW9kZWxpbmUtcHJvamVjdC1yb290LWRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0 aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS11bnJlYWQtbnVtYmVyICgoLGNsYXNzIDppbmhl cml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGlu ZS11cmdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkp KQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorOzs7OzsgZHluYW1pYy1ydWxlcg0KKyAgICBg KGR5bmFtaWMtcnVsZXItbmVnYXRpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLW5ldXRyYWwpKSkNCisgICAgYChkeW5hbWljLXJ1bGVyLXBvc2l0aXZlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCis7Ozs7OyBl YXN5LWpla3lsbA0KKyAgICBgKGVhc3ktamVreWxsLWhlbHAtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGVhc3kt a2lsbA0KKyAgICBgKGVhc3kta2lsbC1vcmlnaW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKGVhc3kta2lsbC1zZWxlY3Rpb24gKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KKzs7Ozs7IGViZGINCisgICAgYChl YmRiLWFkZHJlc3MtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxt KSkpDQorICAgIGAoZWJkYi1kZWZ1bmN0ICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAg ICBgKGViZGItZmllbGQtaGlkZGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAoZWJkYi1sYWJlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN CisgICAgYChlYmRiLW1haWwtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKGViZGItbWFpbC1wcmltYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KKyAgICBgKGViZGItbWFya2VkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWlu dGVuc2UtYmcpKSkNCisgICAgYChlYmRiLW9yZ2FuaXphdGlvbi1uYW1lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoZWJkYi1wZXJzb24tbmFtZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChlYmRiLXBob25lLWRl ZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChlaWVpby1jdXN0b20t c2xvdC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKzs7Ozs7IGVk aWZmDQorICAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBvZiBpbmhl cml0aW5nIGZyb20gdGhlDQorICAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcy4NCisgICAg YChlZGlmZi1jdXJyZW50LWRpZmYtQSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gcmVkDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYt cmVtb3ZlZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1udWFu Y2VkLWJnIHJlZC1mYWludCkpKSkNCisgICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQW5jZXN0b3Ig KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1zcGVjaWFsLWNvbGQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctc3BlY2lhbC1jb2xkIGZnLXNw ZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBibHVlLW51YW5jZWQtYmcgYmx1ZSkpKSkNCisgICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQiAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZy1kaW0gZ3JlZW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGdyZWVuLWZhaW50DQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZC1kZXV0ZXJh biBmZy1kaWZmLWFkZGVkLWRldXRlcmFuKSkpKQ0KKyAgICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1D ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJnLWRpbSB5ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgeWVsbG93LWZh aW50KSkpKQ0KKyAgICBgKGVkaWZmLWV2ZW4tZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCisgICAg YChlZGlmZi1ldmVuLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYt bmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKGVkaWZm LWV2ZW4tZGlmZi1CICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9y ZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCisgICAgYChlZGlmZi1ldmVuLWRpZmYtQyAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRp ZmYtbmV1dHJhbC0yKSkpDQorICAgIGAoZWRpZmYtZmluZS1kaWZmLUEgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1y ZW1vdmVkKSkpDQorICAgIGAoZWRpZmYtZmluZS1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorICAgIGAoZWRpZmYtZmluZS1kaWZmLUIN CisgICAgICAoKCxjbGFzcyA6YmFja2dyb3VuZCAsQChtb2R1cy10aGVtZXMtLWRpZmYtZGV1dGVy YW4gYmctZGlmZi1mb2N1cy1hZGRlZC1kZXV0ZXJhbiBiZy1kaWZmLWZvY3VzLWFkZGVkKQ0KKyAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxAKG1vZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJhbiBm Zy1kaWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuIGZnLWRpZmYtZm9jdXMtYWRkZWQpKSkpDQorICAg IGAoZWRpZmYtZmluZS1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtZm9jdXMt Y2hhbmdlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpDQorICAgIGAoZWRp ZmYtb2RkLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZv cmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQorICAgIGAoZWRpZmYtb2RkLWRpZmYtQW5j ZXN0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0wIDpmb3JlZ3JvdW5k ICxmZy1kaWZmLW5ldXRyYWwtMCkpKQ0KKyAgICBgKGVkaWZmLW9kZC1kaWZmLUIgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRy YWwtMikpKQ0KKyAgICBgKGVkaWZmLW9kZC1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKzs7Ozs7 IGVnbG90DQorICAgIGAoZWdsb3QtbW9kZS1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorOzs7OzsgZWwtc2VhcmNo DQorICAgIGAoZWwtc2VhcmNoLWhpZ2hsaWdodC1pbi1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGVsLXNlYXJjaC1t YXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAg IGAoZWwtc2VhcmNoLW90aGVyLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGVsLXNlYXJjaC1vY2N1ci1tYXRjaCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCis7Ozs7OyBlbGRvYw0KKyAgICA7OyBO T1RFOiBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3B1cmNlbGwvcGFja2FnZS1saW50L2lzc3Vlcy8x ODcNCisgICAgKGxpc3QgJ2VsZG9jLWhpZ2hsaWdodC1mdW5jdGlvbi1hcmd1bWVudCBgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBl bGRvYy1ib3gNCisgICAgYChlbGRvYy1ib3gtYm9keSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZWxkb2MtYm94LWJvcmRlciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZmctYWx0KSkpDQorOzs7OzsgZWxmZWVkDQorICAgIGAoZWxmZWVk LWxvZy1kYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZWxmZWVkLXNlYXJjaC1kYXRlLWZhY2Up KSkNCisgICAgYChlbGZlZWQtbG9nLWRlYnVnLWxldmVsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg ZWxmZWVkLXNlYXJjaC1maWx0ZXItZmFjZSkpKQ0KKyAgICBgKGVsZmVlZC1sb2ctZXJyb3ItbGV2 ZWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKGVsZmVlZC1sb2ctaW5m by1sZXZlbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHN1Y2Nlc3MpKSkNCisgICAgYChlbGZlZWQt bG9nLXdhcm4tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5nKSkpDQorICAgIGAo ZWxmZWVkLXNlYXJjaC1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisg ICAgYChlbGZlZWQtc2VhcmNoLWZlZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1m YWludCkpKQ0KKyAgICBgKGVsZmVlZC1zZWFyY2gtZmlsdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChlbGZlZWQtc2Vh cmNoLWxhc3QtdXBkYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkp DQorICAgIGAoZWxmZWVkLXNlYXJjaC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIpKSkNCisgICAgYChlbGZlZWQtc2VhcmNoLXRpdGxlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGVsZmVlZC1zZWFyY2gtdW5yZWFkLWNvdW50 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGVsZmVl ZC1zZWFyY2gtdW5yZWFkLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGVsZmVlZC1zY29yZQ0KKyAgICBgKGVsZmVlZC1zY29y ZS1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChlbGZlZWQt c2NvcmUtZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCisgICAgYChlbGZlZWQtc2NvcmUtZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZWxmZWVkLXNjb3JlLWluZm8tbGV2ZWwtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGVsZmVlZC1zY29yZS13YXJuLWxl dmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGVtbXMNCisg ICAgYChlbW1zLXBsYXlsaXN0LXRyYWNrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCisgICAgYChlbW1zLXBsYXlsaXN0LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKzs7Ozs7IGVuaGFuY2VkLXJ1YnktbW9kZQ0K KyAgICBgKGVuaC1ydWJ5LWhlcmVkb2MtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoZW5oLXJ1Ynktb3AtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGVuaC1ydWJ5LXJlZ2V4cC1kZWxpbWl0ZXIt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChlbmgtcnVieS1yZWdl eHAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGVuaC1ydWJ5 LXN0cmluZy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN CisgICAgYChlcm0tc3luLWVycmxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJs aW5lIHQpKSkNCisgICAgYChlcm0tc3luLXdhcm5saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cgOnVuZGVybGluZSB0KSkpDQorOzs7OzsgZXBhDQorICAgIGAoZXBhLWZpZWxkLWJvZHkg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChlcGEtZmllbGQtbmFtZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChlcGEt bWFyayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAg IGAoZXBhLXN0cmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChl cGEtdmFsaWRpdHktZGlzYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5l LXJlZCkpKQ0KKyAgICBgKGVwYS12YWxpZGl0eS1oaWdoICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVwYS12YWxpZGl0eS1sb3cg KCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZXBhLXZhbGlkaXR5LW1lZGl1bSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorOzs7OzsgZXF1YWtlDQorICAgIGAo ZXF1YWtlLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtZXNoZWxsICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQor ICAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtcmFzaCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5h Y3RpdmUgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChlcXVha2Utc2hlbGwtdHlw ZS1zaGVsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGN5 YW4tYWN0aXZlKSkpDQorICAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtdGVybSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAg YChlcXVha2Utc2hlbGwtdHlwZS12dGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3Rp dmUgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAoZXF1YWtlLXRhYi1hY3Rp dmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQor ICAgIGAoZXF1YWtlLXRhYi1pbmFjdGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCis7Ozs7OyBlcmMNCisgICAgYChlcmMtYWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGVyYy1ib2xkLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKGVyYy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uKSkpDQorICAgIGAoZXJjLWNvbW1hbmQtaW5kaWNhdG9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChlcmMtY3VycmVudC1u aWNrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAg IGAoZXJjLWRhbmdlcm91cy1ob3N0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1yZWQpKSkNCisgICAgYChlcmMtZGlyZWN0LW1zZy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZXJjLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZXJjLWZvb2wtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChlcmMtaGVhZGVyLWxpbmUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQor ICAgIGAoZXJjLWlucHV0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2Fs bSkpKQ0KKyAgICBgKGVyYy1pbnZlcnNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLWRlZmF1 bHQtZmFjZSA6aW52ZXJzZS12aWRlbyB0KSkpDQorICAgIGAoZXJjLWtleXdvcmQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGVy Yy1teS1uaWNrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KKyAgICBgKGVyYy1teS1uaWNrLXByZWZpeC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVy Yy1teS1uaWNrLWZhY2UpKSkNCisgICAgYChlcmMtbmljay1kZWZhdWx0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGVyYy1uaWNrLW1zZy1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAo ZXJjLW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW5pY2stZGVmYXVsdC1m YWNlKSkpDQorICAgIGAoZXJjLW5vdGljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11 bmZvY3VzZWQpKSkNCisgICAgYChlcmMtcGFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGVyYy1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVyYy10 aW1lc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQor ICAgIGAoZXJjLXVuZGVybGluZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBg KGJnOmVyYy1jb2xvci1mYWNlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAid2hpdGUiKSkpDQorICAg IGAoYmc6ZXJjLWNvbG9yLWZhY2UxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJibGFjayIpKSkNCisg ICAgYChiZzplcmMtY29sb3ItZmFjZTEwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRs ZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlMTEgKCgsY2xhc3MgOmJhY2tncm91bmQg LGN5YW4taW50ZW5zZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlMTIgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2Ux MyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1zdWJ0bGUtYmcpKSkNCisgICAgYChiZzpl cmMtY29sb3ItZmFjZTE0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjAiKSkpDQorICAgIGAo Ymc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxjbGFzcyA6YmFja2dyb3VuZCAiZ3JheTgwIikpKQ0KKyAg ICBgKGJnOmVyYy1jb2xvci1mYWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNl LWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxn cmVlbi1pbnRlbnNlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U0ICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxyZWQtc3VidGxlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U1ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtaW50ZW5zZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xv ci1mYWNlNiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCisgICAg YChiZzplcmMtY29sb3ItZmFjZTcgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUt YmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTggKCgsY2xhc3MgOmJhY2tncm91bmQgLHll bGxvdy1yZWZpbmUtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGdyZWVuLXN1YnRsZS1iZykpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlMCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAid2hpdGUiKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2Ux ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJibGFjayIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFj ZTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZh Y2UxMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChmZzpl cmMtY29sb3ItZmFjZTEyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZmc6 ZXJjLWNvbG9yLWZhY2UxMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisg ICAgYChmZzplcmMtY29sb3ItZmFjZTE0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJncmF5NjAiKSkp DQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAiZ3JheTgw IikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U0ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTYgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U3 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoZmc6ZXJj LWNvbG9yLWZhY2U4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAo Zmc6ZXJjLWNvbG9yLWZhY2U5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIp KSkNCis7Ozs7OyBlcm9zDQorICAgIGAoZXJvcy1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSkNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQorOzs7OzsgZXJ0DQorICAgIGAoZXJ0LXRlc3QtcmVzdWx0LWV4cGVjdGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCisgICAgYChlcnQtdGVz dC1yZXN1bHQtdW5leHBlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCkpKQ0KKzs7Ozs7IGVzaGVsbA0KKyAgICBgKGVzaGVsbC1scy1hcmNoaXZlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAoZXNoZWxsLWxz LWJhY2t1cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKGVzaGVs bC1scy1jbHV0dGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoZXNo ZWxsLWxzLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1scy1leGVjdXRhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1scy1taXNzaW5nICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAoZXNoZWxsLWxzLXByb2R1Y3Qg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGVzaGVsbC1s cy1yZWFkb25seSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAg IGAoZXNoZWxsLWxzLXNwZWNpYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KKyAgICBgKGVzaGVsbC1scy1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0t bGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lh bi1mYWludCkpKSkNCisgICAgYChlc2hlbGwtbHMtdW5yZWFkYWJsZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAoZXNo ZWxsLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXByb21wdA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGdyZWVuLWFsdA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVmaW5lLWJnIGZnLW1haW4pKSkpDQorOzs7OzsgZXNo ZWxsLWZyaW5nZS1zdGF0dXMNCisgICAgYChlc2hlbGwtZnJpbmdlLXN0YXR1cy1mYWlsdXJlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChlc2hlbGwtZnJpbmdlLXN0YXR1cy1z dWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKzs7Ozs7IGVzaGVsbC1naXQt cHJvbXB0DQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYWRkLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgc2hhZG93KSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYnJhbmNoLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZGlyZWN0b3J5 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChlc2hlbGwtZ2l0LXBy b21wdC1leGl0LWZhaWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAo ZXNoZWxsLWdpdC1wcm9tcHQtZXhpdC1zdWNjZXNzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuKSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtbW9kaWZpZWQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcG93ZXJs aW5lLWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXJlZmluZS1iZykpKQ0K KyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGluZS1kaXItZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcpKSkNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dl cmxpbmUtbm90LWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtcmVmaW5l LWJnKSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtYnJhbmNoLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LXJv YnlydXNzZWxsLWdpdC1kaXJ0eS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN CisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKzs7Ozs7IGVzaGVsbC1wcm9tcHQtZXh0cmFzIChlcGUpDQor ICAgIGAoZXBlLWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZv cmVncm91bmQgLGJsdWUpKSkNCisgICAgYChlcGUtZ2l0LWRpci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoZXBlLWdpdC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGVwZS1waXBlbGluZS1kZWxpbWl0ZXItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAoZXBlLXBpcGVsaW5l LWhvc3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGVwZS1waXBl bGluZS10aW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K KyAgICBgKGVwZS1waXBlbGluZS11c2VyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCisgICAgYChlcGUtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGVwZS1zdGF0dXMtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChlcGUtdmVu di1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCis7Ozs7OyBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0KKyAgICBgKGVzaGVs bC1zeW50YXgtaGlnaGxpZ2h0aW5nLWFsaWFzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCisgICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1jb21tZW50LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRp bmctZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChl c2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1lbnZ2YXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1pbnZh bGlkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGVzaGVsbC1zeW50 YXgtaGlnaGxpZ2h0aW5nLWxpc3AtZnVuY3Rpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KKyAgICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLXNoZWxsLWNvbW1h bmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChl c2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCis7Ozs7OyBldmlsLW1vZGUNCisgICAgYChldmlsLWV4LWNvbW1hbmRz ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGV2aWwt ZXgtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChl dmlsLWV4LWxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuKSkpDQorICAgIGAoZXZpbC1leC1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGV2aWwtZXgtc3Vic3RpdHV0ZS1tYXRjaGVz ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVuZGVybGluZSB0 KSkpDQorICAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLXJlcGxhY2VtZW50ICgoLGNsYXNzIDppbmhl cml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQorOzs7OzsgZXZpbC1nb2dn bGVzDQorICAgIGAoZXZpbC1nb2dnbGVzLWNoYW5nZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtY29tbWVudGFy eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCBtb2R1 cy10aGVtZS1zbGFudCkpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsKSkpDQorICAgIGAoZXZpbC1n b2dnbGVzLWRlbGV0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1y ZWQpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtZmlsbC1hbmQtbW92ZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCisgICAgYChldmlsLWdvZ2dsZXMt aW5kZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkp KQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1qb2luLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLWdyZWVuKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLW5lcmQtY29tbWVudGVy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWNvbW1lbnRhcnktZmFjZSkpKQ0K KyAgICBgKGV2aWwtZ29nZ2xlcy1wYXN0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXJlY29yZC1tYWNyby1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGV2 aWwtZ29nZ2xlcy1yZXBsYWNlLXdpdGgtcmVnaXN0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1zZXQtbWFy a2VyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkp DQorICAgIGAoZXZpbC1nb2dnbGVzLXNoaWZ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1n b2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1zdXJyb3VuZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCisgICAgYChl dmlsLWdvZ2dsZXMteWFuay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1ibHVlKSkpDQorOzs7OzsgZXZpbC1zbmlwZQ0KKyAgICBgKGV2aWwtc25pcGUtZmlyc3QtbWF0 Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUp KSkpDQorICAgIGAoZXZpbC1zbmlwZS1tYXRjaGVzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCis7Ozs7OyBldmlsLXZpc3VhbC1tYXJrLW1vZGUN CisgICAgYChldmlsLXZpc3VhbC1tYXJrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorOzs7OzsgZXd3DQorICAgIGAoZXd3LWludmFsaWQtY2Vy dGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChld3ct dmFsaWQtY2VydGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0K KyAgICBgKGV3dy1mb3JtLWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNv bG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChld3ctZm9ybS1maWxlICgo LGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVs ZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoZXd3LWZvcm0tc2VsZWN0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWNo ZWNrYm94KSkpDQorICAgIGAoZXd3LWZvcm0tc3VibWl0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1m b3JtLWZpbGUpKSkNCisgICAgYChld3ctZm9ybS10ZXh0ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdp ZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgbm9uZSkgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZXd3LWZvcm0tdGV4dGFyZWEg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7 Ozs7IGV5ZWJyb3dzZQ0KKyAgICBgKGV5ZWJyb3dzZS1tb2RlLWxpbmUtYWN0aXZlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorOzs7OzsgZmFuY3kt ZGFiYnJldg0KKyAgICBgKGZhbmN5LWRhYmJyZXYtbWVudS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGZhbmN5LWRhYmJyZXYt cHJldmlldy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdyA6dW5kZXJsaW5lIHQpKSkNCisg ICAgYChmYW5jeS1kYWJicmV2LXNlbGVjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1pbnRlbnNlLWN5YW4gYm9sZCkpKSkNCis7Ozs7OyBmbHljaGVjaw0KKyAgICBgKGZs eWNoZWNrLWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctZXJyb3IpKSkN CisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWNoZWNrZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWNvbHVt bi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBg KGZseWNoZWNrLWVycm9yLWxpc3QtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt Ym9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1maWxl bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9y LWxpc3QtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkN CisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaWQtd2l0aC1leHBs YWluZXIgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZXJyb3ItbGlzdC1pZCA6Ym94IHQpKSkN CisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWxpbmUtbnVtYmVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0 LXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGZseWNoZWNr LWZyaW5nZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkp DQorICAgIGAoZmx5Y2hlY2stZnJpbmdlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZnJpbmdlLWN5YW4pKSkNCisgICAgYChmbHljaGVjay1mcmluZ2Utd2FybmluZyAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoZmx5Y2hlY2st aW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLW5vdGUpKSkNCisgICAgYChm bHljaGVjay12ZXJpZnktc2VsZWN0LWNoZWNrZXIgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGgg MSA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pKSkpDQorICAgIGAoZmx5Y2hlY2st d2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLXdhcm5pbmcpKSkNCis7 Ozs7OyBmbHljaGVjay1jb2xvci1tb2RlLWxpbmUNCisgICAgYChmbHljaGVjay1jb2xvci1tb2Rl LWxpbmUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2UtZXJyb3Ip KSkNCisgICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtaW5mby1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGZseWNoZWNrLWZyaW5nZS1pbmZvKSkpDQorICAgIGAoZmx5Y2hlY2stY29sb3ItbW9k ZS1saW5lLXJ1bm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQorICAgIGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lLWluZm8tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2Utd2FybmluZykpKQ0KKzs7Ozs7IGZs eWNoZWNrLWluZGljYXRvcg0KKyAgICBgKGZseWNoZWNrLWluZGljYXRvci1kaXNhYmxlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUp KSkNCisgICAgYChmbHljaGVjay1pbmRpY2F0b3ItZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGZseWNoZWNr LWluZGljYXRvci1pbmZvICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVn cm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXJ1bm5pbmcg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCisgICAgYChmbHljaGVjay1pbmRpY2F0b3Itc3VjY2VzcyAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAg YChmbHljaGVjay1pbmRpY2F0b3Itd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1ib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorOzs7OzsgZmx5Y2hlY2stcG9z ZnJhbWUNCisgICAgYChmbHljaGVjay1wb3NmcmFtZS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJvcmRlci1m YWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGZseWNoZWNrLXBvc2ZyYW1l LWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQor ICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZseWNoZWNrLXBvc2ZyYW1l LWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQor ICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGZseW1ha2UNCisgICAgYChmbHltYWtl LWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctZXJyb3IpKSkNCisgICAg YChmbHltYWtlLW5vdGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1ub3RlKSkp DQorICAgIGAoZmx5bWFrZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxh bmctd2FybmluZykpKQ0KKzs7Ozs7IGZseXNwZWxsDQorICAgIGAoZmx5c3BlbGwtZHVwbGljYXRl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctd2FybmluZykpKQ0KKyAgICBgKGZs eXNwZWxsLWluY29ycmVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLWVycm9y KSkpDQorOzs7OzsgZmx5c3BlbGwtY29ycmVjdA0KKyAgICBgKGZseXNwZWxsLWNvcnJlY3QtaGln aGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuKSkp DQorOzs7OzsgZmx4DQorICAgIGAoZmx4LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGENCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50 YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCis7Ozs7OyBmcmVl emUtaXQNCisgICAgYChmcmVlemUtaXQtc2hvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlt IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCis7Ozs7OyBmcm9nLW1lbnUNCisgICAg YChmcm9nLW1lbnUtYWN0aW9uLWtleWJpbmRpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChmcm9nLW1lbnUtYWN0aW9ucy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZnJvZy1tZW51LWJvcmRlciAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAoZnJvZy1tZW51LWNhbmRpZGF0ZXMt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZyb2ctbWVudS1w b3NmcmFtZS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0K KyAgICBgKGZyb2ctbWVudS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKzs7Ozs7IGZvY3VzDQorICAgIGAoZm9jdXMtdW5mb2N1c2VkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy11bmZvY3VzZWQpKSkNCis7Ozs7OyBmb2xkLXRoaXMNCisgICAgYChmb2xkLXRoaXMt b3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCis7 Ozs7OyBmb250LWxvY2sNCisgICAgYChmb250LWxvY2stYnVpbHRpbi1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWJvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWV4dHJhDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCBibHVl LWFsdCkpKSkNCisgICAgYChmb250LWxvY2stY29tbWVudC1kZWxpbWl0ZXItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAoZm9udC1sb2NrLWNv bW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtY29t bWVudA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWx0IGZn LWNvbW1lbnQteWVsbG93KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1jb25zdGFudC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWV4dHJhDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQg bWFnZW50YS1hbHQtb3RoZXIpKSkpDQorICAgIGAoZm9udC1sb2NrLWRvYy1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWRvY3N0cmluZw0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmZy1kb2NzdHJpbmcgZ3JlZW4tYWx0LW90aGVyLWZhaW50 DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlci1m YWludCBtYWdlbnRhLW51YW5jZWQtZmcpKSkpDQorICAgIGAoZm9udC1sb2NrLWZ1bmN0aW9uLW5h bWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1leHRyYQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZh aW50IG1hZ2VudGEtYWx0KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1rZXl3b3JkLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0 LW90aGVyLWZhaW50IGN5YW4tYWx0LW90aGVyKSkpKQ0KKyAgICBgKGZvbnQtbG9jay1uZWdhdGlv bi1jaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50 YXgtZm9yZWdyb3VuZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeWVsbG93IHllbGxvdy1mYWludCkpKSkNCisgICAgYChmb250LWxvY2stcHJlcHJvY2Vz c29yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZm9yZWdyb3VuZA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0LW90aGVy IHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQorICAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91cGlu Zy1iYWNrc2xhc2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LXN0 cmluZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCB5ZWxsb3ctYWx0LWZhaW50DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQt b3RoZXIgYmx1ZS1hbHQpKSkpDQorICAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1jb25z dHJ1Y3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LXN0cmluZw0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZn LWVzY2FwZS1jaGFyLWNvbnN0cnVjdCByZWQtYWx0LW90aGVyLWZhaW50DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkIG1hZ2VudGEtYWx0 KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1zdHJpbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVt ZXMtLXN5bnRheC1zdHJpbmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQgZ3JlZW4gZ3JlZW4tYWx0KSkpKQ0KKyAgICBgKGZv bnQtbG9jay10eXBlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgt ZXh0cmENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90 aGVyIGN5YW4tYWx0LWZhaW50IGN5YW4tYWx0KSkpKQ0KKyAgICBgKGZvbnQtbG9jay12YXJpYWJs ZS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWlu dCBibHVlLWFsdC1mYWludCkpKSkNCisgICAgYChmb250LWxvY2std2FybmluZy1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWZvcmVncm91bmQNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hY3RpdmUgeWVsbG93LWFs dC1mYWludCkpKSkNCis7Ozs7OyBmb3JnZQ0KKyAgICBgKGZvcmdlLXBvc3QtYXV0aG9yICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChmb3JnZS1w b3N0LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBg KGZvcmdlLXRvcGljLWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChm b3JnZS10b3BpYy1tZXJnZWQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZm9y Z2UtdG9waWMtb3BlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQor ICAgIGAoZm9yZ2UtdG9waWMtdW5tZXJnZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c2xhbnQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChmb3JnZS10b3BpYy11bnJlYWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGZv dW50YWluLW1vZGUNCisgICAgYChmb3VudGFpbi1jaGFyYWN0ZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoZm91bnRhaW4tY29tbWVudCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAo Zm91bnRhaW4tZGlhbG9nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBg KGZvdW50YWluLW1ldGFkYXRhLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90 aGVyKSkpDQorICAgIGAoZm91bnRhaW4tbWV0YWRhdGEtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUpKSkNCisgICAgYChmb3VudGFpbi1ub24tcHJpbnRpbmcgKCgsY2xhc3MgOmluaGVy aXQgc2hhZG93KSkpDQorICAgIGAoZm91bnRhaW4tbm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZm91bnRhaW4tcGFn ZS1icmVhayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQor ICAgIGAoZm91bnRhaW4tcGFnZS1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZvdW50YWluLXBhcmVuICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZm91bnRhaW4tc2NlbmUtaGVhZGluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChm b3VudGFpbi1zZWN0aW9uLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVh ZGluZy0xKSkpDQorICAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTEgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQorICAgIGAoZm91bnRhaW4tc2VjdGlvbi1o ZWFkaW5nLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQorICAg IGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy0zKSkpDQorICAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQorICAgIGAoZm91bnRhaW4tc2Vj dGlvbi1oZWFkaW5nLTUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01KSkp DQorICAgIGAoZm91bnRhaW4tc3lub3BzaXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 KSkpDQorICAgIGAoZm91bnRhaW4tdHJhbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCis7Ozs7OyBnZWlzZXINCisgICAgYChnZWlzZXItZm9udC1sb2NrLWF1dG9k b2MtY3VycmVudC1hcmcgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUt ZmFjZSkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2stYXV0b2RvYy1pZGVudGlmaWVyICgoLGNs YXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAoZ2Vpc2VyLWZv bnQtbG9jay1kb2MtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAs ZmctZG9jc3RyaW5nKSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1kb2MtbGluayAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLWVycm9yLWxpbmsg KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChnZWlz ZXItZm9udC1sb2NrLWltYWdlLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVn cm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2stcmVwbC1pbnB1dCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBsLW91 dHB1dCAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAo Z2Vpc2VyLWZvbnQtbG9jay1yZXBsLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtaW5pYnVmZmVy LXByb21wdCkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2steHJlZi1oZWFkZXIgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2steHJlZi1saW5rICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKzs7Ozs7IGdpdC1jb21taXQNCisgICAgYChnaXQtY29t bWl0LWNvbW1lbnQtYWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb21tZW50LWZh Y2UpKSkNCisgICAgYChnaXQtY29tbWl0LWNvbW1lbnQtYnJhbmNoLWxvY2FsICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBg KGdpdC1jb21taXQtY29tbWVudC1icmFuY2gtcmVtb3RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGdpdC1jb21t aXQtY29tbWVudC1kZXRhY2hlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChnaXQtY29tbWl0LWNvbW1lbnQtZmlsZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1zcGVjaWFsLWNvbGQgcmVk LW51YW5jZWQtZmcpKSkpDQorICAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWhlYWRpbmcgKCgsY2xh c3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtc2xhbnQpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtY29tbWVudA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWRpbSBmZy1z cGVjaWFsLXdhcm0pKSkpDQorICAgIGAoZ2l0LWNvbW1pdC1rZXl3b3JkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZ2l0LWNvbW1pdC1rbm93bi1wc2V1ZG8taGVhZGVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdpdC1jb21t aXQtbm9uZW1wdHktc2Vjb25kLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLXllbGxvdykpKQ0KKyAgICBgKGdpdC1jb21taXQtb3Zlcmxvbmctc3VtbWFyeSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAoZ2l0LWNvbW1p dC1wc2V1ZG8taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZ2l0 LWNvbW1pdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4p KSkNCis7Ozs7OyBnaXQtZ3V0dGVyDQorICAgIGAoZ2l0LWd1dHRlcjphZGRlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCisgICAgYChnaXQtZ3V0dGVyOmRl bGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KKyAgICBg KGdpdC1ndXR0ZXI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdl LXllbGxvdykpKQ0KKyAgICBgKGdpdC1ndXR0ZXI6c2VwYXJhdG9yICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQorICAgIGAoZ2l0LWd1dHRlcjp1bmNoYW5nZWQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCis7Ozs7OyBn aXQtZ3V0dGVyLWZyDQorICAgIGAoZ2l0LWd1dHRlci1mcjphZGRlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCisgICAgYChnaXQtZ3V0dGVyLWZyOmRlbGV0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KKyAgICBgKGdp dC1ndXR0ZXItZnI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdl LXllbGxvdykpKQ0KKzs7Ozs7IGdpdC17Z3V0dGVyLGZyaW5nZX0rDQorICAgIGAoZ2l0LWd1dHRl cistYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQor ICAgIGAoZ2l0LWd1dHRlcistZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UtcmVkKSkpDQorICAgIGAoZ2l0LWd1dHRlcistbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KKyAgICBgKGdpdC1ndXR0ZXIrLXNlcGFy YXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KKyAgICBg KGdpdC1ndXR0ZXIrLXVuY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmlu Z2UtbWFnZW50YSkpKQ0KKyAgICBgKGdpdC1ndXR0ZXItZnIrLWFkZGVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGdpdC1ndXR0ZXItZnIrLWRl bGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KKyAgICBg KGdpdC1ndXR0ZXItZnIrLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS15ZWxsb3cpKSkNCis7Ozs7OyBnaXQtbGVucw0KKyAgICBgKGdpdC1sZW5zLWFkZGVkICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZ2l0LWxl bnMtZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisg ICAgYChnaXQtbGVucy1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuMSA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGdpdC1sZW5zLW1vZGlmaWVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGdpdC1sZW5zLXJlbmFt ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKzs7Ozs7 IGdpdC1yZWJhc2UNCisgICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGFzaCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zbGFudA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1zcGVjaWFsLWNvbGQgcmVkLW51YW5jZWQtZmcp KSkpDQorICAgIGAoZ2l0LXJlYmFzZS1jb21tZW50LWhlYWRpbmcgICgoLGNsYXNzIDppbmhlcml0 IChib2xkIG1vZHVzLXRoZW1lLXNsYW50KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1jb21tZW50DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWRpbSBmZy1zcGVjaWFsLXdh cm0pKSkpDQorICAgIGAoZ2l0LXJlYmFzZS1kZXNjcmlwdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKGdpdC1yZWJhc2UtaGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCis7Ozs7OyBnaXQtdGltZW1hY2hpbmUNCisgICAgYChnaXQt dGltZW1hY2hpbmUtY29tbWl0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHll bGxvdy1hY3RpdmUpKSkNCisgICAgYChnaXQtdGltZW1hY2hpbmUtbWluaWJ1ZmZlci1hdXRob3It ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZ2l0 LXRpbWVtYWNoaW5lLW1pbmlidWZmZXItZGV0YWlsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQpKSkNCis7Ozs7OyBnaXQtd2Fsa3RyZWUNCisgICAgYChnaXQtd2Fsa3RyZWUtY29t bWl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGdpdC13YWxr dHJlZS1zeW1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAoZ2l0 LXdhbGt0cmVlLXRyZWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKzs7 Ozs7IGdudXMNCisgICAgYChnbnVzLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkN CisgICAgYChnbnVzLWNpdGUtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1mYWludCkpKQ0K KyAgICBgKGdudXMtY2l0ZS0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KKyAgICBgKGdudXMtY2l0ZS0xMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCisgICAgYChnbnVzLWNpdGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 LW90aGVyKSkpDQorICAgIGAoZ251cy1jaXRlLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIpKSkNCisgICAgYChnbnVzLWNpdGUtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKyAgICBgKGdudXMtY2l0ZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 KSkpDQorICAgIGAoZ251cy1jaXRlLTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN CisgICAgYChnbnVzLWNpdGUtNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQor ICAgIGAoZ251cy1jaXRlLTggKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQorICAgIGAoZ251cy1jaXRlLTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQorICAgIGAoZ251cy1jaXRlLWF0dHJpYnV0aW9uICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMtYm9sZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoZ251cy1lbXBoYXNpcy1ib2xkLWl0YWxpYyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkLWl0YWxpYykpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMtaGlnaGxp Z2h0LXdvcmRzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkN CisgICAgYChnbnVzLWVtcGhhc2lzLWl0YWxpYyAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMpKSkN CisgICAgYChnbnVzLWVtcGhhc2lzLXVuZGVybGluZS1ib2xkICgoLGNsYXNzIDppbmhlcml0IGdu dXMtZW1waGFzaXMtYm9sZCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChnbnVzLWVtcGhhc2lzLXVu ZGVybGluZS1ib2xkLWl0YWxpYyAoKCxjbGFzcyA6aW5oZXJpdCBnbnVzLWVtcGhhc2lzLWJvbGQt aXRhbGljIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMtdW5kZXJsaW5lLWl0 YWxpYyAoKCxjbGFzcyA6aW5oZXJpdCBnbnVzLWVtcGhhc2lzLWl0YWxpYyA6dW5kZXJsaW5lIHQp KSkNCisgICAgYChnbnVzLWdyb3VwLW1haWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbWFpbC0xLWVtcHR5ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbWFp bC0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAg YChnbnVzLWdyb3VwLW1haWwtMi1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KKyAgICBgKGdudXMtZ3JvdXAtbWFpbC0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZ251cy1ncm91cC1tYWlsLTMtZW1w dHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZ251 cy1ncm91cC1tYWlsLWxvdyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW1haWwtbG93LWVtcHR5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdyb3Vw LW5ld3MtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAg ICBgKGdudXMtZ3JvdXAtbmV3cy0xLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikp KQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtMi1lbXB0eSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy0zICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251 cy1ncm91cC1uZXdzLTMtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2Vk LWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTQt ZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdu dXMtZ3JvdXAtbmV3cy01ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1u dWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTUtZW1wdHkgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTYgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZ251cy1n cm91cC1uZXdzLTYtZW1wdHkgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZ251 cy1ncm91cC1uZXdzLWxvdyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bi1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLWxvdy1lbXB0eSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMtaGVhZGVyLWNv bnRlbnQgKCgsY2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFkZXItb3RoZXIpKSkNCisgICAgYChn bnVzLWhlYWRlci1mcm9tICgoLGNsYXNzIDppbmhlcml0IG1lc3NhZ2UtaGVhZGVyLXRvIDp1bmRl cmxpbmUgbmlsKSkpDQorICAgIGAoZ251cy1oZWFkZXItbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBt ZXNzYWdlLWhlYWRlci1uYW1lKSkpDQorICAgIGAoZ251cy1oZWFkZXItbmV3c2dyb3VwcyAoKCxj bGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1uZXdzZ3JvdXBzKSkpDQorICAgIGAoZ251cy1o ZWFkZXItc3ViamVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1zdWJqZWN0KSkp DQorICAgIGAoZ251cy1zZXJ2ZXItYWdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KKyAgICBgKGdudXMtc2VydmVyLWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZ251cy1zZXJ2ZXItY2xvdWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChn bnVzLXNlcnZlci1jbG91ZC1ob3N0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuKSkpDQorICAgIGAoZ251cy1zZXJ2ZXItZGVuaWVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGdudXMtc2VydmVyLW9mZmxpbmUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ251cy1zZXJ2 ZXItb3BlbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQor ICAgIGAoZ251cy1zaWduYXR1cmUgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChnbnVzLXNwbGFzaCAoKCxjbGFzcyA6aW5oZXJp dCBzaGFkb3cpKSkNCisgICAgYChnbnVzLXN1bW1hcnktY2FuY2VsbGVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtYW5j aWVudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAg YChnbnVzLXN1bW1hcnktaGlnaC1yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1oaWdoLXRpY2tlZCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAg IGAoZ251cy1zdW1tYXJ5LWhpZ2gtdW5kb3dubG9hZGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1oaWdoLXVucmVhZCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZ251 cy1zdW1tYXJ5LWxvdy1hbmNpZW50ICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWxvdy1yZWFkICgoLGNsYXNzIDppbmhl cml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWxv dy10aWNrZWQgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5l LWZnKSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWxvdy11bmRvd25sb2FkZWQgKCgsY2xhc3MgOmlu aGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQorICAgIGAoZ251 cy1zdW1tYXJ5LWxvdy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC1hbmNpZW50ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChnbnVzLXN1bW1h cnktbm9ybWFsLXJlYWQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZ251cy1z dW1tYXJ5LW5vcm1hbC10aWNrZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIp KSkNCisgICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXVuZG93bmxvYWRlZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC11bnJlYWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChnbnVzLXN1bW1hcnktc2VsZWN0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCis7Ozs7OyBn b2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KKyAgICBgKGdvbGRlbi1yYXRpby1zY3JvbGwtaGln aGxpZ2h0LWxpbmUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBoZWxtDQorICAgIGAoaGVsbS1NLXgta2V5ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQor ICAgIGAoaGVsbS1hY3Rpb24gKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAoaGVsbS1i b29rbWFyay1hZGRyZXNzYm9vayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQor ICAgIGAoaGVsbS1ib29rbWFyay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGhlbG0tYm9va21hcmstZmlsZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhlbG0tYm9va21hcmstZmlsZS1ub3QtZm91bmQg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAg IGAoaGVsbS1ib29rbWFyay1nbnVzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAoaGVsbS1ib29rbWFyay1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkp KQ0KKyAgICBgKGhlbG0tYm9va21hcmstbWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWx0KSkpDQorICAgIGAoaGVsbS1ib29rbWFyay13M20gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQorICAgIGAoaGVsbS1idWZmZXItYXJjaGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoaGVsbS1idWZmZXItZGlyZWN0b3J5ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChoZWxtLWJ1 ZmZlci1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGVsbS1i dWZmZXItbW9kaWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAg YChoZWxtLWJ1ZmZlci1ub3Qtc2F2ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN CisgICAgYChoZWxtLWJ1ZmZlci1wcm9jZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQorICAgIGAoaGVsbS1idWZmZXItc2F2ZWQtb3V0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoaGVsbS1idWZm ZXItc2l6ZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChoZWxtLWNhbmRpZGF0 ZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoaGVs bS1jYW5kaWRhdGUtbnVtYmVyLXN1c3BlbmRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tY29taW50LXByb21wdHMtYnVmZmVyLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tY29taW50LXByb21w dHMtcHJvbXB0aWR4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBg KGhlbG0tZGVsZXRlLWFzeW5jLW1lc3NhZ2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChoZWxtLWVvYi1saW5lICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGVsbS1l c2hlbGwtcHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQorICAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0cy1wcm9tcHRpZHggKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1ldGFncy1maWxlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1kaW0gOnVuZGVybGluZSB0KSkpDQorICAgIGAoaGVsbS1mZi1iYWNr dXAtZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChoZWxtLWZmLWRlbmll ZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1yZWQNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQpKSkpDQorICAgIGAoaGVsbS1mZi1k aXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgaGVsbS1idWZmZXItZGlyZWN0b3J5KSkpDQorICAg IGAoaGVsbS1mZi1kaXJzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQorICAgIGAoaGVsbS1mZi1kb3R0ZWQtZGlyZWN0b3J5ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQor ICAgIGAoaGVsbS1mZi1kb3R0ZWQtc3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQg KGJ1dHRvbiBoZWxtLWZmLWRvdHRlZC1kaXJlY3RvcnkpKSkpDQorICAgIGAoaGVsbS1mZi1leGVj dXRhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGhlbG0t ZmYtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhlbG0tZmYt ZmlsZS1leHRlbnNpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K KyAgICBgKGhlbG0tZmYtaW52YWxpZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0t bGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl ZCByZWQtZmFpbnQpKSkpDQorICAgIGAoaGVsbS1mZi1waXBlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEpKSkpDQorICAgIGAoaGVsbS1mZi1wcmVmaXggKCgsY2xhc3Mg LEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyKSkpKQ0KKyAgICBg KGhlbG0tZmYtc29ja2V0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQor ICAgIGAoaGVsbS1mZi1zdWlkICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxl dGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1yZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1yZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5j ZWQteWVsbG93DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQpKSkpDQor ICAgIGAoaGVsbS1mZi1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KKyAgICBg KGhlbG0tZmYtdHJ1ZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkp DQorICAgIGAoaGVsbS1mZC1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2 ZSkpKQ0KKyAgICBgKGhlbG0tZ3JlcC1jbWQtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tZ3JlcC1maWxlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGhlbG0tZ3JlcC1m aW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0t Z3JlcC1saW5lbm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAg ICBgKGhlbG0tZ3JlcC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNhbG0pKSkNCisgICAgYChoZWxtLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChoZWxtLWhlYWRlci1saW5lLWxlZnQt bWFyZ2luICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNl KSkpDQorICAgIGAoaGVsbS1oaXN0b3J5LWRlbGV0ZWQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtcmVkDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaGVsbS1oaXN0b3J5LXJlbW90ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tbGlzcC1j b21wbGV0aW9uLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K KyAgICBgKGhlbG0tbGlzcC1zaG93LWNvbXBsZXRpb24gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVh bmNlZC15ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jv bGQpKSkpDQorICAgIGAoaGVsbS1sb2NhdGUtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCisgICAgYChoZWxtLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1zdWJ0bGUtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXJlZmluZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtbnVhbmNlZC1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChoZWxtLW1hdGNo LWl0ZW0gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1j eWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFu Y2VkLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3Ro ZXIpKSkpDQorICAgIGAoaGVsbS1taW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBt aW5pYnVmZmVyLXByb21wdCkpKQ0KKyAgICBgKGhlbG0tbW9jY3VyLWJ1ZmZlciAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KKyAgICBgKGhlbG0t bW9kZS1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1t YWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt aW50ZW5zZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jv bGQpKSkpDQorICAgIGAoaGVsbS1ub24tZmlsZS1idWZmZXIgKCgsY2xhc3MgOmluaGVyaXQgc2hh ZG93KSkpDQorICAgIGAoaGVsbS1wcmVmYXJnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0 aXZlKSkpDQorICAgIGAoaGVsbS1yZXN1bWUtbmVlZC11cGRhdGUgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdC1vdGhlcikpKSkNCisgICAgYChoZWxtLXNlbGVjdGlvbiAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5pbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdib2xkKSkpKQ0KKyAgICBgKGhlbG0tc2VsZWN0aW9uLWxpbmUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoaGVsbS1zZXBhcmF0b3IgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGhlbG0tdGltZS16 b25lLWN1cnJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoaGVsbS10 aW1lLXpvbmUtaG9tZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGhl bG0tc291cmNlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0t c2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQorICAgIGAoaGVsbS10b3AtY29sdW1ucyAo KCxjbGFzcyA6aW5oZXJpdCBoZWxtLWhlYWRlcikpKQ0KKyAgICBgKGhlbG0tdWNzLWNoYXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChoZWxtLXZpc2li bGUtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKzs7 Ozs7IGhlbG0tbHMtZ2l0DQorICAgIGAoaGVsbS1scy1naXQtYWRkZWQtY29waWVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChoZWxtLWxzLWdpdC1h ZGRlZC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkp KQ0KKyAgICBgKGhlbG0tbHMtZ2l0LWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYChoZWxtLWxzLWdpdC1kZWxldGVk LWFuZC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkN CisgICAgYChoZWxtLWxzLWdpdC1kZWxldGVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkKSkpDQorICAgIGAoaGVsbS1scy1naXQtbW9kaWZpZWQtYW5kLXN0YWdlZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1mZykpKQ0KKyAgICBgKGhl bG0tbHMtZ2l0LW1vZGlmaWVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQorICAgIGAoaGVsbS1scy1naXQtcmVuYW1lZC1tb2RpZmllZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoaGVsbS1scy1naXQtdW50cmFja2Vk LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7Ozs7IGhl bG0tc3dpdGNoLXNoZWxsDQorICAgIGAoaGVsbS1zd2l0Y2gtc2hlbGwtbmV3LXNoZWxsLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0 bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2Vu dGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdib2xkKSkpKQ0KKzs7Ozs7IGhlbG0teHJlZg0KKyAgICBgKGhlbG0teHJl Zi1maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQorICAgIGAoaGVsbS14cmVmLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC13YXJtKSkpDQorOzs7OzsgaGVscGZ1bA0KKyAgICBgKGhlbHBmdWwtaGVh ZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCis7Ozs7OyBo aWdobGlnaHQgcmVnaW9uIG9yIGFkLWhvYyByZWdleHANCisgICAgYChoaS1hcXVhbWFyaW5lICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKGhpLWJsYWNrLWIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAs ZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKGhpLWJsYWNrLWhiICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctbWFp bikpKQ0KKyAgICBgKGhpLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGktYmx1ZS1iICgoLGNsYXNzIDppbmhl cml0IChib2xkIGhpLWJsdWUpKSkpDQorICAgIGAoaGktZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91 bmQgLGdyZWVuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpLWdy ZWVuLWIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgaGktZ3JlZW4pKSkpDQorICAgIGAoaGktcGlu ayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChoaS1waW5rLWIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgaGktcGlu aykpKSkNCisgICAgYChoaS1yZWQtYiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxyZWQtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpLXNhbG1v biAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKGhpLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRs ZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGhpZ2hsaWdodC1jaGFu Z2VzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoaGln aGxpZ2h0LWNoYW5nZXMtZGVsZXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVy IDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGhsLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaGwtbGluZSkpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1ibG9ja3MNCisgICAgYChoaWdobGln aHQtYmxvY2tzLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0yLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAg ICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoaWdobGlnaHQt YmxvY2tzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jYWxt IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC01 LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtd2FybSA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtNi1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxv Y2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorOzs7OzsgaGlnaGxpZ2h0LWRlZmluZWQNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC1idWls dGluLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K KyAgICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZhY2UtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtZnVuY3Rpb24tbmFtZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoaGlnaGxpZ2h0LWRl ZmluZWQtbWFjcm8tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KKyAgICBgKGhpZ2hsaWdodC1kZWZpbmVkLXNwZWNpYWwtZm9ybS1uYW1lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoaGlnaGxpZ2h0LWRl ZmluZWQtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQor Ozs7OzsgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5jZXMgKGBoZXMtbW9kZScpDQorICAgIGAoaGVz LWVzY2FwZS1iYWNrc2xhc2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCisgICAgYChoZXMtZXNjYXBlLXNlcXVlbmNl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXIt YmFja3NsYXNoKSkpDQorOzs7OzsgaGlnaGxpZ2h0LWluZGVudGF0aW9uDQorICAgIGAoaGlnaGxp Z2h0LWluZGVudGF0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGlu ZSkpKQ0KKyAgICBgKGhpZ2hsaWdodC1pbmRlbnRhdGlvbi1jdXJyZW50LWNvbHVtbi1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCis7Ozs7OyBoaWdobGlnaHQtbnVtYmVy cw0KKyAgICBgKGhpZ2hsaWdodC1udW1iZXJzLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBoaWdobGlnaHQtc3ltYm9sDQorICAgIGAoaGlnaGxp Z2h0LXN5bWJvbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWls ZCkpKQ0KKzs7Ozs7IGhpZ2hsaWdodC10aGluZw0KKyAgICBgKGhpZ2hsaWdodC10aGluZyAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7OzsgaGwt ZGVmaW5lZA0KKyAgICBgKGhkZWZkLWZ1bmN0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KKyAgICBgKGhkZWZkLXVuZGVmaW5lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dCkpKQ0KKyAgICBgKGhkZWZkLXZhcmlhYmxlcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCis7Ozs7OyBobC1maWxsLWNvbHVtbg0KKyAgICBgKGhsLWZpbGwtY29sdW1uLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkp DQorOzs7OzsgaGwtdG9kbw0KKyAgICBgKGhsLXRvZG8gKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQg bW9kdXMtdGhlbWUtc2xhbnQpIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorOzs7Ozsg aHlkcmENCisgICAgYChoeWRyYS1mYWNlLWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGh5ZHJhLWZhY2UtYmx1ZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGh5ZHJhLWZhY2Ut cGluayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K KyAgICBgKGh5ZHJhLWZhY2UtcmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZCkpKQ0KKyAgICBgKGh5ZHJhLWZhY2UtdGVhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7OzsgaHlwZXJsaXN0DQorICAgIGAoaHlwZXJsaXN0LWNv bmRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChoeXBlcmxpc3Qt aGFzaHRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoaHlwZXJsaXN0 LW9wZXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGh5cGVy bGlzdC1wYXJlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAg YChoeXBlcmxpc3QtcXVvdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAg IGAoaHlwZXJsaXN0LXJlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCisgICAgYChoeXBlcmxpc3Qtc3RhcnMgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQor ICAgIGAoaHlwZXJsaXN0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAo aHlwZXJsaXN0LXRvcGxldmVsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCis7Ozs7OyBpY29tcGxldGUNCisgICAgYChpY29tcGxldGUtZmlyc3QtbWF0Y2gg KCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgYmctYWx0DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1tYWluKSkpKQ0KKzs7Ozs7 IGljb21wbGV0ZS12ZXJ0aWNhbA0KKyAgICBgKGljb21wbGV0ZS12ZXJ0aWNhbC1zZXBhcmF0b3Ig KCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorOzs7OzsgaWRvLW1vZGUNCisgICAgYChpZG8t Zmlyc3QtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgYmctYWx0DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1tYWluKSkpKQ0KKyAgICBgKGlkby1p bmNvbXBsZXRlLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKGlkby1p bmRpY2F0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0K KyAgICBgKGlkby1vbmx5LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25z DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tbnVhbmNlZC1i Zw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWludGVuc2UtYmcgZmct bWFpbikpKSkNCisgICAgYChpZG8tc3ViZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkp DQorICAgIGAoaWRvLXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KKzs7Ozs7IGllZGl0DQorICAgIGAoaWVkaXQtb2NjdXJyZW5jZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKGllZGl0LXJlYWQtb25seS1v Y2N1cnJlbmNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93KSkp DQorOzs7OzsgaWZsaXBiDQorICAgIGAoaWZsaXBiLWN1cnJlbnQtYnVmZmVyLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChpZmxpcGIt b3RoZXItYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorOzs7OzsgaW1l bnUtbGlzdA0KKyAgICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0wICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQorICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTEgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCisgICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2UtMiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChpbWVudS1saXN0LWVudHJ5 LWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChpbWVudS1s aXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChpbWVudS1saXN0 LWVudHJ5LXN1YmFsaXN0LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnktc3ViYWxp c3QtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1v dGhlciA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChpbWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZh Y2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDp1 bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IGluZGl1bQ0KKyAgICBgKGluZGl1bS1icmVha3BvaW50LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChpbmRpdW0tZnJh bWUtdXJsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCisgICAgYChpbmRpdW0ta2V5d29yZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGluZGl1bS1saXRhYmxlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K KyAgICBgKGluZGl1bS1yZXBsLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkKSkpDQorICAgIGAoaW5kaXVtLXJlcGwtcHJvbXB0LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoaW5kaXVtLXJlcGwtc3Rkb3V0 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBpbmZvDQorICAg IGAoSW5mby1xdW90ZWQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykgOyB0 aGUgY2FwaXRhbGl6YXRpb24gaXMgY2Fub25pY2FsDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQor ICAgIGAoaW5mby1oZWFkZXItbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCisgICAgYChpbmZvLWhlYWRlci14cmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGluZm8taW5kZXgtbWF0Y2ggKCgsY2xhc3MgOmluaGVy aXQgbWF0Y2gpKSkNCisgICAgYChpbmZvLW1lbnUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKGluZm8tbWVudS1zdGFyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChpbmZvLW5vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCkpKQ0KKyAgICBgKGluZm8tdGl0bGUtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTEpKSkNCisgICAgYChpbmZvLXRpdGxlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaGVhZGluZy0yKSkpDQorICAgIGAoaW5mby10aXRsZS0zICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKGluZm8tdGl0bGUtNCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCis7Ozs7OyBpbmZvLWNvbG9ycw0KKyAg ICBgKGluZm8tY29sb3JzLWxpc3AtY29kZS1ibG9jayAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1w aXRjaCkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWNvbW1hbmQgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1jb25zdGFu dCAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQ0KKyAgICBgKGlu Zm8tY29sb3JzLXJlZi1pdGVtLWZ1bmN0aW9uICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1m dW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1tYWNybyAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAoaW5mby1j b2xvcnMtcmVmLWl0ZW0tb3RoZXIgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWRvYy1mYWNl KSkpDQorICAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tc3BlY2lhbC1mb3JtICgoLGNsYXNzIDpp bmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYt aXRlbS1zeW50YXgtY2xhc3MgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFj ZSkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXR5cGUgKCgsY2xhc3MgOmluaGVyaXQg Zm9udC1sb2NrLXR5cGUtZmFjZSkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXVzZXIt b3B0aW9uICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkN CisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS12YXJpYWJsZSAoKCxjbGFzcyA6aW5oZXJpdCBm b250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorOzs7OzsgaW50ZXJhY3Rpb24tbG9nDQor ICAgIGAoaWxvZy1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCisgICAgYChpbG9nLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KKyAgICBgKGlsb2ctZWNoby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoaWxvZy1sb2FkLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoaWxvZy1tZXNzYWdlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgc2hhZG93KSkpDQorICAgIGAoaWxvZy1ub24tY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCis7Ozs7OyBpb2NjdXINCisgICAgYChpb2NjdXItY3Vyc29yICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaW9jY3VyLWludmFsaWQtcmVn ZXhwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChpb2NjdXItbWF0Y2gtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChp b2NjdXItbWF0Y2gtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtY29sZCA6ZXh0ZW5kIHQpKSkNCisgICAgYChpb2NjdXItbnVtLWxpbmUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoaW9jY3VyLW92ZXJs YXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSA6ZXh0ZW5k IHQpKSkNCisgICAgYChpb2NjdXItcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVz LXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0KKyAgICBgKGlvY2N1ci10aXRsZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1l cy1zY2FsZS00KSkpKQ0KKzs7Ozs7IGlzZWFyY2gsIG9jY3VyLCBhbmQgdGhlIGxpa2UNCisgICAg YChpc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJv bGQpKSkpDQorICAgIGAoaXNlYXJjaC1mYWlsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1yZWQpKSkNCisgICAgYChpc2VhcmNoLWdyb3VwLTEgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAoaXNlYXJjaC1ncm91cC0yICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KKyAgICBgKGxhenkt aGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQor ICAgIGAobWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkp DQorICAgIGAocXVlcnktcmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS15ZWxsb3cgYm9sZCkpKSkNCis7Ozs7OyBpc2wgKGlzZWFyY2gtbGlnaHQpDQorICAgIGAo aXNsLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQor ICAgIGAoaXNsLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFu KSkpDQorICAgIGAoaXNsLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xk IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChpc2wtb24gKCgsY2xhc3MgOmlu aGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKSkNCisgICAgYChpc2wtc3Ry aW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQorOzs7OzsgaXZ5DQorICAgIGAoaXZ5LWFjdGlvbiAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoaXZ5LWNvbXBsZXRpb25zLWFu bm90YXRpb25zICgoLGNsYXNzIDppbmhlcml0IGNvbXBsZXRpb25zLWFubm90YXRpb25zKSkpDQor ICAgIGAoaXZ5LWNvbmZpcm0tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKGl2eS1jdXJyZW50LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29t cGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtcmVmaW5lLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtaW50ZW5zZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG5pbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xk KSkpKQ0KKyAgICBgKGl2eS1jdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZv cmVncm91bmQgLGJnLW1haW4pKSkNCisgICAgYChpdnktZ3JlcC1pbmZvICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGl2eS1ncmVwLWxpbmUtbnVtYmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChpdnktaGlnaGxpZ2h0LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChpdnktbWF0Y2gtcmVx dWlyZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKGl2eS1taW5pYnVm ZmVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRp b25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5 YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWx0 KSkpKQ0KKyAgICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4NCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1n cmVlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtbnVhbmNlZC1ncmVlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaXZ5LW1pbmlidWZmZXItbWF0 Y2gtZmFjZS0zICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXN1YnRsZS1ibHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKyAg ICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMt LWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChpdnktbWluaWJ1ZmZlci1tYXRj aC1oaWdobGlnaHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtc3VidGxlLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtY3lhbg0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFu DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4t YWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdib2xkKSkpKQ0KKyAgICBgKGl2eS1tb2RpZmllZC1idWZmZXIgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGl2eS1t b2RpZmllZC1vdXRzaWRlLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFu dCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKGl2eS1vcmcgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoaXZ5LXByb21wdC1tYXRjaCAoKCxj bGFzcyA6aW5oZXJpdCBpdnktY3VycmVudC1tYXRjaCkpKQ0KKyAgICBgKGl2eS1yZW1vdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChpdnktc2VwYXJhdG9yICgoLGNs YXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGl2eS1zdWJkaXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoaXZ5LXZpcnR1YWwgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoaXZ5LXlhbmtlZC13b3JkICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0KSkpKQ0KKzs7Ozs7IGl2 eS1wb3NmcmFtZQ0KKyAgICBgKGl2eS1wb3NmcmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaXZ5LXBvc2ZyYW1lLWJvcmRlciAo KCxjbGFzcyA6YmFja2dyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCisgICAgYChp dnktcG9zZnJhbWUtY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3JlZ3Jv dW5kICxiZy1tYWluKSkpDQorOzs7OzsgamlyYSAob3JnLWppcmEpDQorICAgIGAoamlyYWxpYi1j b21tZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGppcmFs aWItY29tbWVudC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAo amlyYWxpYi1pc3N1ZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC13YXJtKSkpDQorICAgIGAoamlyYWxpYi1pc3N1ZS1pbmZvLWhlYWRlci1mYWNlICgoLGNs YXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0gYm9sZCkpKSkNCisgICAgYChq aXJhbGliLWlzc3VlLXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAg IGAoamlyYWxpYi1saW5rLWZpbHRlci1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KKyAg ICBgKGppcmFsaWItbGluay1pc3N1ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KKyAg ICBgKGppcmFsaWItbGluay1wcm9qZWN0LWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQor Ozs7Ozsgam91cm5hbGN0bC1tb2RlDQorICAgIGAoam91cm5hbGN0bC1lcnJvci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGpvdXJuYWxjdGwt ZmluaXNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikp KQ0KKyAgICBgKGpvdXJuYWxjdGwtaG9zdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQorICAgIGAoam91cm5hbGN0bC1wcm9jZXNzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoam91cm5hbGN0bC1zdGFydGluZy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGpvdXJuYWxjdGwtdGltZXN0YW1wLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGpvdXJu YWxjdGwtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KKzs7Ozs7IGpzMi1tb2RlDQorICAgIGAoanMyLWVycm9yICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCisgICAgYChqczItZXh0ZXJuYWwtdmFyaWFibGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoanMyLWZ1bmN0aW9uLWNhbGwgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChqczItZnVuY3Rpb24tcGFyYW0g KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChqczItaW5zdGFuY2UtbWVtYmVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGpzMi1q c2RvYy1odG1sLXRhZy1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChqczItanNkb2MtaHRtbC10YWctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKyAgICBgKGpzMi1qc2RvYy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY2FsbSkpKQ0KKyAgICBgKGpzMi1qc2RvYy10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChqczItanNkb2MtdmFsdWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGpzMi1vYmplY3QtcHJvcGVydHkgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChqczItb2JqZWN0LXByb3BlcnR5 LWFjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGpzMi1wcml2 YXRlLWZ1bmN0aW9uLWNhbGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikp KQ0KKyAgICBgKGpzMi1wcml2YXRlLW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1taWxkKSkpDQorICAgIGAoanMyLXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1hbHQgOnVuZGVybGluZSB0KSkpDQorOzs7OzsganVsaWENCisgICAgYChqdWxpYS1tYWNy by1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCisgICAgYChqdWxpYS1xdW90ZWQtc3ltYm9sLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorOzs7OzsganVweXRlcg0KKyAgICBgKGp1cHl0ZXIt ZXZhbC1vdmVybGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkN CisgICAgYChqdXB5dGVyLXJlcGwtaW5wdXQtcHJvbXB0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGp1cHl0ZXItcmVwbC1vdXRwdXQtcHJvbXB0ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGp1cHl0ZXItcmVw bC10cmFjZWJhY2sgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkN Cis7Ozs7OyBrYW9jaGEtcnVubmVyDQorICAgIGAoa2FvY2hhLXJ1bm5lci1lcnJvci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChrYW9jaGEtcnVubmVyLXN1Y2Nlc3Mt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChrYW9jaGEtcnVubmVy LXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7Ozsga2V5 Y2FzdA0KKyAgICBgKGtleWNhc3QtY29tbWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGtleWNhc3Qta2V5ICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tbW9kZS1saW5lLWF0dHJzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmctbWFpbiBibHVlLWFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LW1haW4gYmx1ZS1hY3RpdmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFj dGl2ZSBibHVlLWludGVuc2UNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWx0LXN0 eWxlIC0zKSkpKQ0KKzs7Ozs7IGxpbmUgbnVtYmVycyAoZGlzcGxheS1saW5lLW51bWJlcnMtbW9k ZSBhbmQgZ2xvYmFsIHZhcmlhbnQpDQorICAgIGAobGluZS1udW1iZXINCisgICAgICAoKCxjbGFz cyA6aW5oZXJpdCBkZWZhdWx0DQorICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5l LW51bWJlcnMNCisgICAgICAgICAgICAgICAgICBmZy1hbHQgYmctZGltDQorICAgICAgICAgICAg ICAgICAgZmctdW5mb2N1c2VkKSkpKQ0KKyAgICBgKGxpbmUtbnVtYmVyLWN1cnJlbnQtbGluZQ0K KyAgICAgICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQorICAgICAgICAgICAgICAg LEAobW9kdXMtdGhlbWVzLS1saW5lLW51bWJlcnMNCisgICAgICAgICAgICAgICAgICBmZy1tYWlu IGJnLWFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyKSkpKQ0KKyAgICBg KGxpbmUtbnVtYmVyLW1ham9yLXRpY2sNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBk ZWZhdWx0KQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluZS1udW1iZXJzDQor ICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtZmcgeWVsbG93LW51YW5jZWQtYmcNCisg ICAgICAgICAgICAgICAgICByZWQtYWx0KSkpKQ0KKyAgICBgKGxpbmUtbnVtYmVyLW1pbm9yLXRp Y2sNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0KQ0KKyAgICAgICAgICAg ICAgICxAKG1vZHVzLXRoZW1lcy0tbGluZS1udW1iZXJzDQorICAgICAgICAgICAgICAgICAgZmct YWx0IGJnLWluYWN0aXZlDQorICAgICAgICAgICAgICAgICAgZmctaW5hY3RpdmUpKSkpDQorOzs7 OzsgbHNwLW1vZGUNCisgICAgYChsc3AtZmFjZS1oaWdobGlnaHQtcmVhZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChsc3At ZmFjZS1oaWdobGlnaHQtdGV4dHVhbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtYmx1ZSkpKQ0KKyAgICBgKGxzcC1mYWNlLWhpZ2hsaWdodC13cml0ZSAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgYm9sZCkpKSkNCisgICAgYChsc3AtZmFjZS1z ZW1obC1jb25zdGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisg ICAgYChsc3AtZmFjZS1zZW1obC1kZXByZWNhdGVkDQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBw b3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDpmb3JlZ3Jv dW5kICx5ZWxsb3cgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKQ0KKyAgICAgICAoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwt ZW51bW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAg YChsc3AtZmFjZS1zZW1obC1maWVsZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN CisgICAgYChsc3AtZmFjZS1zZW1obC1maWVsZC1zdGF0aWMgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAobHNwLWZhY2Ut c2VtaGwtZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChs c3AtZmFjZS1zZW1obC1tZXRob2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisg ICAgYChsc3AtZmFjZS1zZW1obC1uYW1lc3BhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1zZW1o bC1wcmVwcm9jZXNzb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisg ICAgYChsc3AtZmFjZS1zZW1obC1zdGF0aWMtbWV0aG9kICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobHNwLWZhY2Utc2Vt aGwtdHlwZS1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAg YChsc3AtZmFjZS1zZW1obC10eXBlLWVudW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1wcmltaXRpdmUgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAg IGAobHNwLWZhY2Utc2VtaGwtdHlwZS10ZW1wbGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1z ZW1obC10eXBlLXR5cGVkZWYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFibGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC12YXJp YWJsZS1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGxzcC1mYWNl LXNlbWhsLXZhcmlhYmxlLXBhcmFtZXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCisgICAgYChsc3AtbGVucy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChsc3AtbGVucy1tb3VzZS1mYWNlICgoLGNsYXNzIDpo ZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCisg ICAgYChsc3AtdWktZG9jLWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkp KQ0KKyAgICBgKGxzcC11aS1kb2MtaGVhZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFk ZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KKyAgICBgKGxzcC11aS1kb2MtdXJsICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGxzcC11aS1wZWVrLWZpbGVuYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChsc3AtdWktcGVlay1m b290ZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVh ZGVyKSkpDQorICAgIGAobHNwLXVpLXBlZWstaGVhZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KKyAgICBgKGxzcC11aS1wZWVrLWhp Z2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAg ICBgKGxzcC11aS1wZWVrLWxpbmUtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0K KyAgICBgKGxzcC11aS1wZWVrLWxpc3QgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0K KyAgICBgKGxzcC11aS1wZWVrLXBlZWsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0K KyAgICBgKGxzcC11aS1wZWVrLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKGxzcC11aS1zaWRlbGluZS1jb2RlLWFjdGlvbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobHNwLXVpLXNpZGVsaW5lLWN1cnJl bnQtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAwLjk5IDpib3ggKDpsaW5l LXdpZHRoIC0xIDpzdHlsZSBuaWwpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobHNw LXVpLXNpZGVsaW5lLXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMC45OSA6 Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQor ICAgIGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbC1pbmZvICgoLGNsYXNzIDppbmhlcml0IGl0YWxp YyA6aGVpZ2h0IDAuOTkpKSkNCis7Ozs7OyBtYWNyb3N0ZXANCisgICAgYChtYWNyb3N0ZXAtY29t cGlsZXItbWFjcm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMpKSkNCisgICAgYChtYWNy b3N0ZXAtZXhwYW5zaW9uLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVl LW51YW5jZWQtYmcpKSkNCisgICAgYChtYWNyb3N0ZXAtZ2Vuc3ltLTEgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSA6Ym94IHQpKSkNCisgICAgYChtYWNyb3N0ZXAtZ2Vu c3ltLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4gOmJveCB0KSkp DQorICAgIGAobWFjcm9zdGVwLWdlbnN5bS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHllbGxvdyA6Ym94IHQpKSkNCisgICAgYChtYWNyb3N0ZXAtZ2Vuc3ltLTQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkIDpib3ggdCkpKQ0KKyAgICBgKG1hY3Jv c3RlcC1nZW5zeW0tNSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh IDpib3ggdCkpKQ0KKyAgICBgKG1hY3Jvc3RlcC1tYWNyby1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorOzs7OzsgbWFnaXQNCisgICAgYCht YWdpdC1iaXNlY3QtYmFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQor ICAgIGAobWFnaXQtYmlzZWN0LWdvb2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1v dGhlcikpKQ0KKyAgICBgKG1hZ2l0LWJpc2VjdC1za2lwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAobWFnaXQtYmxhbWUtZGF0ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG1hZ2l0LWJsYW1lLWRpbW1lZCAoKCxjbGFzcyA6aW5o ZXJpdCBzaGFkb3cpKSkNCisgICAgYChtYWdpdC1ibGFtZS1oYXNoICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtYWdpdC1ibGFtZS1oZWFkaW5nICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYChtYWdpdC1ibGFtZS1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKSkpDQorICAgIGAobWFn aXQtYmxhbWUtbWFyZ2luICgoLGNsYXNzIDppbmhlcml0IG1hZ2l0LWJsYW1lLWhpZ2hsaWdodCkp KQ0KKyAgICBgKG1hZ2l0LWJsYW1lLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQorICAgIGAobWFnaXQtYmxhbWUtc3VtbWFyeSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChtYWdpdC1icmFuY2gtY3VycmVudCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmJveCB0KSkpDQorICAgIGAobWFnaXQt YnJhbmNoLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG1h Z2l0LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQor ICAgIGAobWFnaXQtYnJhbmNoLXJlbW90ZS1oZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlciA6Ym94IHQpKSkNCisgICAgYChtYWdpdC1icmFuY2gtdXBzdHJlYW0gKCgs Y2xhc3MgOmluaGVyaXQgaXRhbGljKSkpDQorICAgIGAobWFnaXQtY2hlcnJ5LWVxdWl2YWxlbnQg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5z ZSkpKQ0KKyAgICBgKG1hZ2l0LWNoZXJyeS11bm1hdGNoZWQgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KKyAgICA7OyBOT1RFOiBoZXJl IHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KKyAgICA7 OyBtb2R1cy10aGVtZS1kaWZmLSogZmFjZXMsIHRob3VnaCBvbmx5IGZvciB0aGUgc3RhbmRhcmQg YWN0aW9ucywNCisgICAgOzsgbm90IHRoZSBoaWdobGlnaHRlZCBvbmVzLiAgVGhpcyBpcyBiZWNh dXNlIE1hZ2l0J3MgaW50ZXJhY3Rpb24NCisgICAgOzsgbW9kZWwgcmVsaWVzIG9uIGhpZ2hsaWdo dGluZyB0aGUgY3VycmVudCBkaWZmIGh1bmsuDQorICAgIGAobWFnaXQtZGlmZi1hZGRlZCAoKCxj bGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLW1haW4gZ3JlZW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkLWRldXRlcmFuIGZnLWRpZmYtYWRkZWQt ZGV1dGVyYW4pKSkpDQorICAgIGAobWFnaXQtZGlmZi1hZGRlZC1oaWdobGlnaHQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCkpKQ0KKyAgICBgKG1hZ2l0LWRp ZmYtYmFzZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmctbWFpbiB5ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5nZWQp KSkpDQorICAgIGAobWFnaXQtZGlmZi1iYXNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQpKSkNCisgICAgYChtYWdpdC1kaWZmLWNvbnRl eHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKG1hZ2l0LWRp ZmYtY29udGV4dC1oaWdobGlnaHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmctZGlt DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1pbmFj dGl2ZSBmZy1pbmFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctZGltIGZnLWFsdCkpKSkNCisgICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGlu ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVy aXQgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCBib2xkKSkpKQ0KKyAgICBgKG1hZ2l0LWRpZmYt ZmlsZS1oZWFkaW5nLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtY3lhbikpKQ0KKyAgICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4g b2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KKyAgICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFjZXMu DQorICAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctYWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAobWFnaXQtZGlmZi1odW5r LWhlYWRpbmctaGlnaGxpZ2h0DQorICAgICAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAg ICAgICAgICAgIDpiYWNrZ3JvdW5kICxAKG1vZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJhbiBiZy1y ZWdpb24gYmctZGlmZi1oZWFkaW5nKQ0KKyAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxAKG1v ZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJhbiBmZy1tYWluIGZnLWRpZmYtaGVhZGluZykpKSkNCisg ICAgYChtYWdpdC1kaWZmLWh1bmstaGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCisgICAgYChtYWdpdC1kaWZmLWh1bmstcmVnaW9u ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChtYWdpdC1kaWZmLWxpbmVzLWJvdW5k YXJ5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobWFnaXQtZGlmZi1s aW5lcy1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRh KSkpDQorICAgIGAobWFnaXQtZGlmZi1yZW1vdmVkICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0t ZGlmZg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIHJlZA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmct ZGlmZi1yZW1vdmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1u dWFuY2VkLWJnIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCisgICAgYChtYWdpdC1kaWZmLXJlbW92ZWQt aGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3Zl ZCkpKQ0KKyAgICBgKG1hZ2l0LWRpZmZzdGF0LWFkZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxA KG1vZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJhbiBibHVlIGdyZWVuKSkpKQ0KKyAgICBgKG1hZ2l0 LWRpZmZzdGF0LXJlbW92ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG1h Z2l0LWRpbW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAo bWFnaXQtZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKG1hZ2l0LWhhc2ggKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobWFn aXQtaGVhZCAoKCxjbGFzcyA6aW5oZXJpdCBtYWdpdC1icmFuY2gtbG9jYWwpKSkNCisgICAgYCht YWdpdC1oZWFkZXItbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG1hZ2l0LWhlYWRlci1saW5lLWtleSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKG1hZ2l0LWhlYWRl ci1saW5lLWxvZy1zZWxlY3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKG1hZ2l0LWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCisgICAgYChtYWdpdC1rZXl3b3JkLXNxdWFzaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAobWFnaXQtbG9nLWF1dGhv ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1hZ2l0LWxvZy1kYXRlICgo LGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG1hZ2l0LWxvZy1ncmFwaCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobWFnaXQtbW9kZS1saW5lLXByb2Nlc3Mg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAg YChtYWdpdC1tb2RlLWxpbmUtcHJvY2Vzcy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAobWFnaXQtcHJvY2Vzcy1uZyAoKCxjbGFz cyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKG1hZ2l0LXByb2Nlc3Mtb2sgKCgsY2xhc3MgOmlu aGVyaXQgc3VjY2VzcykpKQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1hbWVuZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAo bWFnaXQtcmVmbG9nLWNoZWNrb3V0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3Jl Z3JvdW5kICxibHVlLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctY2hlcnJ5LXBpY2sg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2Up KSkNCisgICAgYChtYWdpdC1yZWZsb2ctY29tbWl0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAobWFnaXQtcmVmbG9nLW1l cmdlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRl bnNlKSkpDQorICAgIGAobWFnaXQtcmVmbG9nLW90aGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ct cmViYXNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctcmVtb3RlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1y ZWZsb2ctcmVzZXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJl ZC1pbnRlbnNlKSkpDQorICAgIGAobWFnaXQtcmVmbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFk b3cpKSkNCisgICAgYChtYWdpdC1yZWZuYW1lLXB1bGxyZXEgKCgsY2xhc3MgOmluaGVyaXQgc2hh ZG93KSkpDQorICAgIGAobWFnaXQtcmVmbmFtZS1zdGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFk b3cpKSkNCisgICAgYChtYWdpdC1yZWZuYW1lLXdpcCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cp KSkNCisgICAgYChtYWdpdC1zZWN0aW9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtYWdpdC1zZWN0aW9uLWhlYWRpbmcgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1hZ2l0LXNlY3Rp b24taGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuIGJvbGQpKSkpDQorICAgIGAobWFnaXQtc2VjdGlvbi1oaWdobGlnaHQgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLWRvbmUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLWRyb3Ag KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChtYWdpdC1zZXF1ZW5jZS1l eGVjICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNl cXVlbmNlLWhlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAobWFn aXQtc2VxdWVuY2Utb250byAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChtYWdp dC1zZXF1ZW5jZS1wYXJ0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAg IGAobWFnaXQtc2VxdWVuY2UtcGljayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN CisgICAgYChtYWdpdC1zZXF1ZW5jZS1zdG9wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN CisgICAgYChtYWdpdC1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZCkpKQ0KKyAgICBgKG1hZ2l0LXNpZ25hdHVyZS1lcnJvciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNpZ25hdHVyZS1leHBpcmVkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChtYWdpdC1zaWduYXR1cmUtZXhwaXJl ZC1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKG1hZ2l0LXNpZ25h dHVyZS1nb29kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKG1hZ2l0LXNp Z25hdHVyZS1yZXZva2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo bWFnaXQtc2lnbmF0dXJlLXVudHJ1c3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K KyAgICBgKG1hZ2l0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikp KQ0KKzs7Ozs7IG1hZ2l0LWltZXJnZQ0KKyAgICBgKG1hZ2l0LWltZXJnZS1vdmVycmlkaW5nLXZh bHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCis7Ozs7 OyBtYWtlLW1vZGUgKG1ha2VmaWxlcykNCisgICAgYChtYWtlZmlsZS1tYWtlcHAtcGVybCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsY3lhbi1udWFuY2VkLWJnKSkpDQorICAgIGAobWFrZWZpbGUtc3Bh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1iZykpKQ0KKzs7Ozs7IG1h bg0KKyAgICBgKE1hbi1vdmVyc3RyaWtlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCisgICAgYChNYW4tcmV2ZXJzZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KKyAgICBgKE1hbi11bmRlcmxpbmUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4gOnVuZGVybGluZSB0KSkpDQorOzs7OzsgbWFyZ2luYWxpYQ0KKyAg ICBgKG1hcmdpbmFsaWEtYXJjaGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNl ZC1mZykpKQ0KKyAgICBgKG1hcmdpbmFsaWEtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFyZ2luYWxpYS1jaGFyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAobWFyZ2luYWxpYS1kb2N1bWVudGF0aW9uICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xh bnQpKSkNCisgICAgYChtYXJnaW5hbGlhLWZpbGUtbW9kZXMgKCgsY2xhc3MgOmluaGVyaXQgc2hh ZG93KSkpDQorICAgIGAobWFyZ2luYWxpYS1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG1hcmdpbmFsaWEtZmlsZS1vd25lciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChtYXJnaW5hbGlhLWtleSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChtYXJnaW5hbGlh LW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAobWFyZ2lu YWxpYS1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAg ICBgKG1hcmdpbmFsaWEtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkp KQ0KKyAgICBgKG1hcmdpbmFsaWEtc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQorICAgIGAobWFyZ2luYWxpYS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCisgICAgYChtYXJnaW5hbGlhLXZhcmlhYmxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmdpbmFsaWEtdmVyc2lvbiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCis7Ozs7OyBtYXJrZG93bi1tb2Rl DQorICAgIGAobWFya2Rvd24tYmxvY2txdW90ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJr ZG93bi1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKG1hcmtkb3du LWNvZGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKSA6YmFja2dy b3VuZCAsYmctZGltIDpleHRlbmQgdCkpKQ0KKyAgICBgKG1hcmtkb3duLWNvbW1lbnQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAobWFya2Rv d24tZm9vdG5vdGUtbWFya2VyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQpKSkNCisgICAgYChtYXJrZG93bi1mb290bm90ZS10ZXh0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYChtYXJrZG93bi1nZm0tY2hlY2tib3gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIpKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZGVsaW1pdGVyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQor ICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UgKCh0IG5pbCkpKQ0KKyAgICBgKG1hcmtkb3duLWhl YWRlci1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQor ICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTIpKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS0zICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKG1hcmtkb3duLWhlYWRlci1m YWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQorICAgIGAo bWFya2Rvd24taGVhZGVyLWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTUpKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS02ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0KKyAgICBgKG1hcmtkb3duLWhlYWRlci1ydWxlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQorICAgIGAobWFya2Rvd24taHItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtYXJrZG93bi1odG1sLWF0dHItbmFtZS1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKG1hcmtkb3duLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChtYXJrZG93bi1odG1sLWVudGl0eS1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBg KG1hcmtkb3duLWh0bWwtdGFnLWRlbGltaXRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG1hcmtkb3du LWh0bWwtdGFnLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRz KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChtYXJrZG93bi1pbmxpbmUtY29kZS1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNhbG0pKSkNCisgICAgYChtYXJrZG93bi1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmtk b3duLWxhbmd1YWdlLWluZm8tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZv bnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFya2Rvd24tbGFuZ3VhZ2Uta2V5d29y ZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hcmtkb3duLWxpbmUtYnJlYWstZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCht YXJrZG93bi1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobWFy a2Rvd24tbGluay10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50 IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrZG93bi1saXN0LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKG1hcmtkb3duLW1hcmt1 cC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG1hcmtkb3duLW1hdGgt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYCht YXJrZG93bi1tZXRhZGF0YS1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCisgICAgYChtYXJrZG93bi1tZXRhZGF0YS12YWx1ZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG1hcmtkb3duLW1pc3NpbmctbGluay1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKG1h cmtkb3duLXBsYWluLXVybC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1hcmtkb3duLWxpbmstZmFj ZSkpKQ0KKyAgICBgKG1hcmtkb3duLXByZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1hcmtkb3du LWNvZGUtZmFjZSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobWFya2Rv d24tcmVmZXJlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWFya2Rvd24tbWFya3VwLWZhY2Up KSkNCisgICAgYChtYXJrZG93bi1zdHJpa2UtdGhyb3VnaC1mYWNlICgoLGNsYXNzIDpzdHJpa2Ut dGhyb3VnaCB0KSkpDQorICAgIGAobWFya2Rvd24tdGFibGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmtkb3duLXVybC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKzs7Ozs7IG1hcmt1cC1mYWNl cyAoYGFkb2MtbW9kZScpDQorICAgIGAobWFya3VwLWFuY2hvci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKG1hcmt1cC1hdHRyaWJ1dGUtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAo bWFya3VwLWJpZy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxibHVlLW51 YW5jZWQtZmcpKSkNCisgICAgYChtYXJrdXAtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLWNvZGUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K KyAgICBgKG1hcmt1cC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0 aXZlKSkpDQorICAgIGAobWFya3VwLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250 LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAobWFya3VwLWNvbXBsZXgtcmVwbGFjZW1lbnQt ZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVh c2VkLWJ1dHRvbikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAobWFya3Vw LWVtcGhhc2lzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrdXAtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChtYXJrdXAtZ2VuLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobWFya3VwLWludGVybmFsLXJl ZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQorICAgIGAobWFya3VwLWl0YWxpYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFya3VwLWxpc3QtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChtYXJr dXAtbWV0YS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBg KG1hcmt1cC1tZXRhLWhpZGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAg YChtYXJrdXAtcGFzc3Rocm91Z2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1hcmt1cC1wcmVwcm9jZXNzb3ItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hcmt1cC1yZXBsYWNl bWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAg IGAobWFya3VwLXNlY29uZGFyeS10ZXh0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVn cm91bmQgLG1hZ2VudGEtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC1zbWFsbC1mYWNlICgo LGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobWFya3Vw LXN0cm9uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFu Y2VkLWZnKSkpDQorICAgIGAobWFya3VwLXN1YnNjcmlwdC1mYWNlICgoLGNsYXNzIDpoZWlnaHQg MC44IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrdXAtc3VwZXJz Y3JpcHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAobWFya3VwLXRhYmxlLWNlbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrdXAtdGFibGUtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKG1hcmt1cC10 YWJsZS1yb3ctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikp KQ0KKyAgICBgKG1hcmt1cC10aXRsZS0wLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAzLjAgOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS0xLWZhY2UgKCgs Y2xhc3MgOmhlaWdodCAyLjQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBg KG1hcmt1cC10aXRsZS0yLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjggOmZvcmVncm91bmQgLGJs dWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS0zLWZhY2UgKCgsY2xhc3MgOmhl aWdodCAxLjQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10 aXRsZS00LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNl ZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS01LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjIg OmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChtYXJr dXAtdmFsdWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAg YChtYXJrdXAtdmVyYmF0aW0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLW1pbGQpKSkNCis7Ozs7OyBtZW50b3INCisgICAgYChtZW50b3ItZG93bmxvYWQtbWVzc2Fn ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAobWVudG9y LWRvd25sb2FkLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKG1lbnRvci1kb3dubG9hZC1wcm9ncmVzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQtc2l6ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQtc3Bl ZWQtZG93biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChtZW50b3It ZG93bmxvYWQtc3BlZWQtdXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAg YChtZW50b3ItZG93bmxvYWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQp KSkNCisgICAgYChtZW50b3ItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChtZW50b3ItdHJhY2tlci1uYW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IG1lc3NhZ2VzDQorICAgIGAobWVz c2FnZS1jaXRlZC10ZXh0LTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtZmFpbnQpKSkNCisg ICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 LW90aGVyKSkpDQorICAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTMgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChtZXNzYWdlLWNpdGVkLXRleHQtNCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1lc3NhZ2UtaGVhZGVyLWNjICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1lc3NhZ2UtaGVhZGVyLW5h bWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1l c3NhZ2UtaGVhZGVyLW5ld3Nncm91cHMgKCgsY2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFkZXIt b3RoZXIpKSkNCisgICAgYChtZXNzYWdlLWhlYWRlci1vdGhlciAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAobWVzc2FnZS1oZWFkZXItc3ViamVjdCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG1l c3NhZ2UtaGVhZGVyLXRvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQorICAgIGAobWVzc2FnZS1oZWFkZXIteGhlYWRlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChtZXNzYWdlLW1tbCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobWVzc2FnZS1zZXBhcmF0b3IgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQorOzs7OzsgbWluaWJ1ZmZlci1s aW5lDQorICAgIGAobWluaWJ1ZmZlci1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorOzs7OzsgbWluaW1hcA0KKyAgICBgKG1pbmltYXAtYWN0aXZlLXJlZ2lvbi1iYWNrZ3Jv dW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChtaW5pbWFwLWN1 cnJlbnQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBtbW0tbW9kZQ0KKyAgICBgKG1tbS1jbGVhbnVw LXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcpKSkN CisgICAgYChtbW0tY29kZS1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCkpKQ0KKyAgICBgKG1tbS1jb21tZW50LXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmx1ZS1udWFuY2VkLWJnKSkpDQorICAgIGAobW1tLWRlY2xhcmF0aW9uLXN1Ym1vZGUtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1udWFuY2VkLWJnKSkpDQorICAgIGAobW1tLWRl ZmF1bHQtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAg YChtbW0taW5pdC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtbnVh bmNlZC1iZykpKQ0KKyAgICBgKG1tbS1vdXRwdXQtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxyZWQtbnVhbmNlZC1iZykpKQ0KKyAgICBgKG1tbS1zcGVjaWFsLXN1Ym1vZGUtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tbnVhbmNlZC1iZykpKQ0KKzs7Ozs7IG1vZGVs aW5lDQorICAgIGAobW9kZS1saW5lICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tdmFyaWFibGUt cGl0Y2gtdWkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbW9k ZS1saW5lLWF0dHJzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWFjdGl2ZSBiZy1h Y3RpdmUgZmctZGltIGJnLWFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1h bHQgYmctYWN0aXZlICdhbHQtc3R5bGUgbmlsIGJnLW1haW4pKSkpDQorICAgIGAobW9kZS1saW5l LWJ1ZmZlci1pZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAobW9kZS1saW5lLWVt cGhhc2lzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQorICAgIGAobW9kZS1saW5lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtYmx1ZSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgcHJlc3NlZC1idXR0b24p KSkpDQorICAgIGAobW9kZS1saW5lLWluYWN0aXZlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0t dmFyaWFibGUtcGl0Y2gtdWkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXRoZW1lcy0tbW9kZS1saW5lLWF0dHJzDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZnLWluYWN0aXZlIGJnLWluYWN0aXZlIGZnLWFsdCBiZy1kaW0NCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcmVnaW9uIGJnLWFjdGl2ZSkpKSkN Cis7Ozs7OyBtb29kLWxpbmUNCisgICAgYChtb29kLWxpbmUtbW9kaWZpZWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAobW9vZC1saW5lLXN0YXR1cy1lcnJv ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAg IGAobW9vZC1saW5lLXN0YXR1cy1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS1zdGF0dXMtbmV1dHJhbCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChtb29kLWxpbmUtc3RhdHVzLXN1Y2Nlc3MgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS1zdGF0dXMt d2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZl KSkpDQorICAgIGAobW9vZC1saW5lLXVuaW1wb3J0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KKzs7Ozs7IG1wZGVsDQorICAgIGAobXBkZWwtYnJvd3Nlci1kaXJlY3Rv cnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG1wZGVsLXBsYXls aXN0LWN1cnJlbnQtc29uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQorOzs7OzsgbXU0ZQ0KKyAgICBgKG11NGUtYXR0YWNoLW51bWJl ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAg ICBgKG11NGUtY2l0ZWQtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50KSkp DQorICAgIGAobXU0ZS1jaXRlZC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KKyAgICBgKG11NGUtY2l0ZWQtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAobXU0ZS1jaXRlZC00LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCisgICAgYChtdTRlLWNpdGVkLTUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtNi1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobXU0ZS1jaXRlZC03LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKG11NGUtY29tcG9zZS1oZWFkZXIt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UpKSkNCisg ICAgYChtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQorICAgIGAobXU0ZS1jb250YWN0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbWVzc2FnZS1oZWFkZXItdG8pKSkNCisgICAgYChtdTRlLWNvbnRleHQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChtdTRlLWRyYWZ0 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobXU0ZS1m bGFnZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChtdTRl LWZvb3Rlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtdTRlLWZvcndhcmRlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG11NGUtaGVhZGVy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobXU0ZS1oZWFkZXItaGln aGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KKyAg ICBgKG11NGUtaGVhZGVyLWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1lc3NhZ2UtaGVhZGVy LW5hbWUpKSkNCisgICAgYChtdTRlLWhlYWRlci1tYXJrcy1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG11NGUtc3BlY2lhbC1oZWFkZXItdmFsdWUtZmFjZSkpKQ0KKyAgICBgKG11NGUtaGVhZGVyLXRp dGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBg KG11NGUtaGVhZGVyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFkZXIt b3RoZXIpKSkNCisgICAgYChtdTRlLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAobXU0ZS1saW5rLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobXU0ZS1tb2RlbGluZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG11NGUtbW92ZWQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQorICAgIGAobXU0ZS1vay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorICAgIGAobXU0ZS1yZWdpb24tY29kZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChtdTRlLXJlcGxpZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG11NGUtc3BlY2lhbC1oZWFkZXIt dmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1zdWJqZWN0KSkpDQor ICAgIGAobXU0ZS1zeXN0ZW0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFu dCA6Zm9yZWdyb3VuZCAsZmctbWFyay1kZWwpKSkNCisgICAgYChtdTRlLXRpdGxlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtdTRlLXRyYXNoZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAobXU0ZS11bnJlYWQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAobXU0ZS11cmwtbnVtYmVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG11NGUtdmlldy1ib2R5LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtdTRlLXdhcm5pbmctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5nKSkpDQorOzs7OzsgbXU0ZS1jb252ZXJzYXRpb24NCisg ICAgYChtdTRlLWNvbnZlcnNhdGlvbi1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTEgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKG11NGUtY29udmVy c2F0aW9uLXNlbmRlci0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTQgKCgs Y2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVy LTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcpKSkNCisgICAgYChtdTRl LWNvbnZlcnNhdGlvbi1zZW5kZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUt ZmcpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVy LTggKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQorICAgIGAobXU0ZS1j b252ZXJzYXRpb24tc2VuZGVyLW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAobXU0ZS1jb252ZXJzYXRpb24tdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkN Cis7Ozs7OyBtdWx0aXBsZS1jdXJzb3JzDQorICAgIGAobWMvY3Vyc29yLWJhci1mYWNlICgoLGNs YXNzIDpoZWlnaHQgMSA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1jL2N1cnNvci1m YWNlICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYChtYy9yZWdpb24tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCByZWdpb24pKSkNCis7Ozs7OyBuZW90cmVlDQorICAgIGAobmVvLWJh bm5lci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobmVvLWJ1 dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKG5lby1kaXItbGlu ay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAg YChuZW8tZXhwYW5kLWJ0bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAg IGAobmVvLWZpbGUtbGluay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAobmVvLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChuZW8tcm9vdC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG5lby12Yy1hZGRlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKG5lby12Yy1jb25mbGljdC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG5lby12 Yy1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChu ZW8tdmMtZWRpdGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBg KG5lby12Yy1pZ25vcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkp DQorICAgIGAobmVvLXZjLW1pc3NpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dCkpKQ0KKyAgICBgKG5lby12Yy1uZWVkcy1tZXJnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG5lby12Yy1uZWVkcy11cGRhdGUtZmFjZSAoKCxjbGFz cyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChuZW8tdmMtcmVtb3ZlZC1mYWNlICgoLGNsYXNzIDpz dHJpa2UtdGhyb3VnaCB0KSkpDQorICAgIGAobmVvLXZjLXVubG9ja2VkLWNoYW5nZXMtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKG5lby12 Yy11cC10by1kYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobmVv LXZjLXVzZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKzs7Ozs7IG5v LWVtb2ppDQorICAgIGAobm8tZW1vamkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7 Ozs7OyBub3RtdWNoDQorICAgIGAobm90bXVjaC1jcnlwdG8tZGVjcnlwdGlvbiAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKG5vdG11Y2gtY3J5 cHRvLXBhcnQtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KKyAgICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS1iYWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisgICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1 cmUtZ29vZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCisg ICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtZ29vZC1rZXkgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25h dHVyZS11bmtub3duICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkN CisgICAgYChub3RtdWNoLWhlbGxvLWxvZ28tYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAiZ3JheTUwIikpKQ0KKyAgICBgKG5vdG11Y2gtbWVzc2FnZS1zdW1tYXJ5LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKSkpDQorICAgIGAobm90bXVjaC1z ZWFyY2gtY291bnQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobm90bXVjaC1z ZWFyY2gtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG5vdG11Y2gt c2VhcmNoLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAg ICBgKG5vdG11Y2gtc2VhcmNoLW1hdGNoaW5nLWF1dGhvcnMgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChub3RtdWNoLXNlYXJjaC1ub24tbWF0Y2hpbmctYXV0aG9ycyAo KCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChub3RtdWNoLXNlYXJjaC1zdWJqZWN0 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChub3RtdWNoLXNlYXJjaC11 bnJlYWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAobm90bXVjaC10YWct YWRkZWQNCisgICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3 YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxncmVlbiA6c3R5bGUg d2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuIDp1bmRlcmxpbmUgdCkp KQ0KKyAgICBgKG5vdG11Y2gtdGFnLWRlbGV0ZWQNCisgICAgICAoKCwoYXBwZW5kICcoKHN1cHBv cnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAgOnVuZGVybGlu ZSAoOmNvbG9yICxyZWQgOnN0eWxlIHdhdmUpKQ0KKyAgICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQgOnVuZGVybGluZSB0KSkpDQorICAgIGAobm90bXVjaC10YWctZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gtdGFn LWZsYWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChub3RtdWNo LXRhZy11bnJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAo bm90bXVjaC10cmVlLW1hdGNoLWF1dGhvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYChub3RtdWNoLXRyZWUtbWF0Y2gtZGF0ZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG5vdG11Y2gtc2VhcmNoLWRhdGUpKSkNCisgICAgYChub3RtdWNoLXRyZWUt bWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG5vdG11 Y2gtdHJlZS1tYXRjaC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gtdHJlZS1uby1tYXRjaC1mYWNlICgoLGNsYXNz IDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG5vdG11Y2gtdHJlZS1uby1tYXRjaC1kYXRlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobm90bXVjaC13YXNoLWNpdGVk LXRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChub3RtdWNoLXdhc2gt dG9nZ2xlLWJ1dHRvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCis7Ozs7OyBudW0zLW1vZGUNCisgICAgYChudW0zLWZhY2UtZXZlbiAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCis7Ozs7OyBueG1sLW1vZGUN CisgICAgYChueG1sLWF0dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKG54bWwtYXR0cmlidXRlLWxvY2FsLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQg Zm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKyAgICBgKG54bWwtYXR0cmlidXRlLXBy ZWZpeCAoKCxjbGFzcyAgOmluaGVyaXQgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQ0KKyAgICBgKG54 bWwtYXR0cmlidXRlLXZhbHVlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1m YWNlKSkpDQorICAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLUNEQVRBICgoLGNsYXNzIDppbmhlcml0 IGVycm9yKSkpDQorICAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLWRlbGltaXRlciAoKCxjbGFzcyA6 aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKG54bWwtY2hhci1yZWYtZGVsaW1pdGVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChueG1sLWNoYXItcmVmLW51 bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQpKSkNCisgICAgYChueG1sLWRlbGltaXRlZC1kYXRhICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisg ICAgYChueG1sLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAg IGAobnhtbC1lbGVtZW50LWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAobnhtbC1lbGVtZW50LWxvY2FsLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LWZ1bmN0aW9uLW5hbWUtZmFjZSkpKQ0KKyAgICBgKG54bWwtZWxlbWVudC1wcmVmaXggKCgsY2xh c3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKG54bWwtZW50aXR5 LXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0K KyAgICBgKG54bWwtZW50aXR5LXJlZi1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG54bWwtZ2x5cGgg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQorICAgIGAo bnhtbC1oYXNoICgoLGNsYXNzIDppbmhlcml0IChib2xkIGZvbnQtbG9jay1zdHJpbmctZmFjZSkp KSkNCisgICAgYChueG1sLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBg KG54bWwtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQor ICAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLXByZWZpeCAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorICAgIGAobnht bC1wcm9jZXNzaW5nLWluc3RydWN0aW9uLXRhcmdldCAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxv Y2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAobnhtbC1wcm9sb2cta2V5d29yZCAoKCxjbGFzcyA6 aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAobnhtbC1yZWYgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQorICAgIGAocm5nLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorOzs7Ozsg b2JqZWQNCisgICAgYChvYmplZC1obCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1vZHVzLXRo ZW1lcy1pbnRlbnNlLWhsLWxpbmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLWhsLWFsdC1pbnRlbnNlIGJnLWhsLWFsdCkpKSkNCisgICAgYChvYmplZC1tYXJr ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChvYmplZC1tb2RlLWxp bmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorOzs7Ozsgb3JkZXJsZXNz DQorICAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0 YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBibHVlLWFsdC1vdGhlciBibHVlLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGJsdWUtcmVmaW5lLWZnKSkpKQ0K KyAgICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zdGFu ZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1iZyBtYWdlbnRhLXJlZmluZS1mZykp KSkNCisgICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0t c3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGdyZWVuIGdyZWVuLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdyZWVuLXJlZmluZS1iZyBncmVlbi1yZWZpbmUtZmcpKSkpDQorICAg IGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJk LWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5 ZWxsb3cgeWVsbG93LW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHllbGxvdy1yZWZpbmUtYmcgeWVsbG93LXJlZmluZS1mZykpKSkNCis7Ozs7OyBv cmcNCisgICAgYChvcmctYWdlbmRhLWNhbGVuZGFyLWV2ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAob3JnLWFnZW5kYS1jYWxlbmRhci1zZXhwICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtY2xvY2tpbmcgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIDpleHRlbmQgdCkpKQ0KKyAgICBg KG9yZy1hZ2VuZGEtY29sdW1uLWRhdGVsaW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQp KSkNCisgICAgYChvcmctYWdlbmRhLWN1cnJlbnQtdGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGF0ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGF0ZS10b2Rh eSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluIDp1bmRlcmxpbmUg dCkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGF0ZS13ZWVrZW5kICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGlhcnkgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChvcmctYWdlbmRhLWRpbW1lZC10b2RvLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3Jn LWFnZW5kYS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChv cmctYWdlbmRhLWZpbHRlci1jYXRlZ29yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZmlsdGVyLWVmZm9ydCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAg ICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXRhZ3Mg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisg ICAgYChvcmctYWdlbmRhLXJlc3RyaWN0aW9uLWxvY2sgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAob3JnLWFnZW5kYS1zdHJ1Y3R1cmUg KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtNSkNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCisgICAgYChvcmctYXJjaGl2ZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3JnLWJsb2NrICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tb3JnLWJsb2NrIGJnLWRpbSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChvcmctYmxvY2stYmVnaW4tbGluZSAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tb3JnLWJsb2NrLWRlbGltDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29sZA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFsdCBmZy1zcGVjaWFsLW1pbGQp KSkpDQorICAgIGAob3JnLWJsb2NrLWVuZC1saW5lICgoLGNsYXNzIDppbmhlcml0IG9yZy1ibG9j ay1iZWdpbi1saW5lKSkpDQorICAgIGAob3JnLWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5l LXdpZHRoIDEgOmNvbG9yICxiZy1hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAg IGAob3JnLWNoZWNrYm94LXN0YXRpc3RpY3MtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctZG9u ZSkpKQ0KKyAgICBgKG9yZy1jaGVja2JveC1zdGF0aXN0aWNzLXRvZG8gKCgsY2xhc3MgOmluaGVy aXQgb3JnLXRvZG8pKSkNCisgICAgYChvcmctY2xvY2stb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctY29kZSAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIDpi YWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBg KG9yZy1jb2x1bW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKG9yZy1j b2x1bW4tdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6dW5kZXJsaW5lIHQgOmJhY2tncm91 bmQgLGJnLWFsdCkpKQ0KKyAgICBgKG9yZy1kYXRlICgoLGNsYXNzIDppbmhlcml0ICwoaWYgbW9k dXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhi dXR0b24gZml4ZWQtcGl0Y2gpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1m YWludCkpKSkNCisgICAgYChvcmctZGF0ZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdCA6aW52ZXJzZS12aWRlbyB0KSkpDQorICAgIGAob3JnLWRp c3BhdGNoZXItaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLW1h cmstYWx0KSkpKQ0KKyAgICBgKG9yZy1kb2N1bWVudC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctZG9jdW1lbnQtaW5mby1rZXl3b3JkICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3Jn LWRvY3VtZW50LXRpdGxlICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXZhcmlh YmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNj YWxlLTUpKSkpDQorICAgIGAob3JnLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkp DQorICAgIGAob3JnLWRyYXdlciAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRz KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAg ICBgKG9yZy1lbGxpcHNpcyAoKCxjbGFzcykpKSA7IGluaGVyaXRzIGZyb20gdGhlIGhlYWRpbmcn cyBjb2xvcg0KKyAgICBgKG9yZy1mb290bm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUtYWx0LWZhaW50KSkp KQ0KKyAgICBgKG9yZy1mb3JtdWxhICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9u dHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN CisgICAgYChvcmctaGFiaXQtYWxlcnQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW9y Zy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1n cmFwaC0wLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93 LWdyYXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxs b3ctZ3JhcGgtMS1iZykpKSkNCisgICAgYChvcmctaGFiaXQtYWxlcnQtZnV0dXJlLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdGhlbWVzLS1vcmctaGFiaXQNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWdyYXBoLTEtYmcNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWdyYXBoLTAtYmcNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWdyYXBoLTEt YmcpKSkpDQorICAgIGAob3JnLWhhYml0LWNsZWFyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1vcmctaGFiaXQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlLWdyYXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn cmVlbi1ncmFwaC0xLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ymx1ZS1ncmFwaC0xLWJnKSkpKQ0KKyAgICBgKG9yZy1oYWJpdC1jbGVhci1mdXR1cmUtZmFjZSAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWdyYXBoLTEtYmcNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tZ3JhcGgtMS1iZw0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWdyYXBoLTEtYmcp KSkpDQorICAgIGAob3JnLWhhYml0LW92ZXJkdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVt ZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVkLWdyYXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlZC1ncmFwaC0wLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZWQtZ3JhcGgtMS1iZykpKSkNCisgICAgYChvcmctaGFiaXQtb3ZlcmR1ZS1mdXR1cmUtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1ncmFwaC0xLWJnDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWdyYXBoLTAtYmcNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtZ3JhcGgt MS1iZykpKSkNCisgICAgYChvcmctaGFiaXQtcmVhZHktZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdyZWVuLWdyYXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBncmVlbi1ncmFwaC0wLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ3JlZW4tZ3JhcGgtMS1iZykpKSkNCisgICAgYChvcmctaGFiaXQtcmVhZHktZnV0dXJlLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1vcmctaGFiaXQNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tZ3JhcGgtMS1iZw0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1ncmFwaC0wLWJnDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWdyYXBo LTEtYmcpKSkpDQorICAgIGAob3JnLWhlYWRsaW5lLWRvbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQtZmcpKSkN CisgICAgYChvcmctaGVhZGxpbmUtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS12 YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChvcmct aGlkZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKG9yZy1pbmRlbnQg KCgsY2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG9yZy1oaWRlKSkpKQ0KKyAgICBgKG9yZy1s YXRleC1hbmQtcmVsYXRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcp KSkNCisgICAgYChvcmctbGV2ZWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTEpKSkNCisgICAgYChvcmctbGV2ZWwtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTIpKSkNCisgICAgYChvcmctbGV2ZWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTMpKSkNCisgICAgYChvcmctbGV2ZWwtNCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChvcmctbGV2ZWwtNSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCisgICAgYChvcmctbGV2ZWwtNiAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCisgICAgYChvcmctbGV2ZWwt NyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkNCisgICAgYChvcmct bGV2ZWwtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTgpKSkNCisgICAg YChvcmctbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChvcmctbGlzdC1k dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAob3JnLW1hY3JvICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgIDpi YWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQorICAgIGAob3JnLW1ldGEtbGluZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVk LWZvbnRzKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3JnLW1vZGUtbGluZS1jbG9j ayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG9yZy1tb2RlLWxpbmUt Y2xvY2stb3ZlcnJ1biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkp DQorICAgIGAob3JnLXByaW9yaXR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAob3JnLXByb3BlcnR5LXZhbHVlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQt Zm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctcXVvdGUgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc2xhbnQNCisgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVz LS1vcmctYmxvY2sgYmctZGltKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAob3JnLXNjaGVkdWxlZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChvcmctc2NoZWR1bGVkLXByZXZpb3VzbHkg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChvcmctc2No ZWR1bGVkLXRvZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K KyAgICBgKG9yZy1zZXhwLWRhdGUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWRhdGUpKSkNCisgICAg YChvcmctc3BlY2lhbC1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9u dHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQorICAgIGAob3JnLXRhYmxlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQt Zm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChvcmctdGFibGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IChmaXhl ZC1waXRjaCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkpDQorICAgIGAob3JnLXRhZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkLWZnKSkpDQorICAgIGAob3JnLXRh Zy1ncm91cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQt ZmcpKSkNCisgICAgYChvcmctdGFyZ2V0ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBg KG9yZy10aW1lLWdyaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAg ICBgKG9yZy10b2RvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChvcmctdXBj b21pbmctZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisg ICAgYChvcmctdXBjb21pbmctZGlzdGFudC1kZWFkbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChvcmctdmVyYmF0aW0gKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tn cm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAob3Jn LXZlcnNlICgoLGNsYXNzIDppbmhlcml0IG9yZy1xdW90ZSkpKQ0KKyAgICBgKG9yZy13YXJuaW5n ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCis7 Ozs7OyBvcmctam91cm5hbA0KKyAgICBgKG9yZy1qb3VybmFsLWNhbGVuZGFyLWVudHJ5LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCisgICAgYChvcmctam91cm5hbC1jYWxlbmRhci1zY2hlZHVsZWQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlcikpKQ0KKyAgICBgKG9yZy1qb3VybmFsLWhpZ2hsaWdodCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyBvcmctbm90ZXINCisgICAgYChvcmctbm90ZXItbm8t bm90ZXMtZXhpc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQorICAgIGAob3JnLW5vdGVyLW5vdGVzLWV4aXN0LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorOzs7Ozsgb3JnLXBvbW9k b3JvDQorICAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1wb21vZG9yby1tb2RlLWxpbmUtYnJlYWsgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAob3JnLXBvbW9kb3JvLW1vZGUt bGluZS1vdmVydGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0 aXZlKSkpDQorOzs7Ozsgb3JnLXJlY3VyDQorICAgIGAob3JnLXJlY3VyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKzs7Ozs7IG9yZy1yb2FtDQorICAgIGAob3JnLXJv YW0tbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tZmFpbnQpKSkpDQorICAgIGAob3JnLXJvYW0tbGluay1j dXJyZW50ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0IGdyZWVuLWFsdC1mYWludCkpKSkN CisgICAgYChvcmctcm9hbS1saW5rLWludmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGlu ay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVk LWZhaW50KSkpKQ0KKyAgICBgKG9yZy1yb2FtLWxpbmstc2hpZWxkZWQgKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQorICAgIGAob3JnLXJvYW0tdGFnICgoLGNs YXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorOzs7Ozsgb3JnLXN1 cGVyc3Rhcg0KKyAgICBgKG9yZy1zdXBlcnN0YXItaXRlbSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKG9yZy1zdXBlcnN0YXItbGVhZGluZyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKzs7Ozs7IG9yZy10YWJsZS1zdGlja3ktaGVhZGVyDQor ICAgIGAob3JnLXRhYmxlLXN0aWNreS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCis7Ozs7OyBvcmctdHJlZS1zbGlkZQ0KKyAgICBg KG9yZy10cmVlLXNsaWRlLWhlYWRlci1vdmVybGF5LWZhY2UNCisgICAgICAoKCxjbGFzcyA6aW5o ZXJpdCAoYm9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmJhY2tncm91bmQgLGJnLW1h aW4NCisgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpvdmVybGlu ZSBuaWwNCisgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1l cy1zY2FsZS01KSkpKQ0KKzs7Ozs7IG9yZy10cmVlc2NvcGUNCisgICAgYChvcmctdHJlZXNjb3Bl LWZhY2VzLS1tYXJrZXJpbnRlcm5hbC1taWRkYXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAob3JnLXRyZWVzY29wZS1mYWNlcy0tbWFya2VyaW50 ZXJuYWwtcmFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkp DQorOzs7Ozsgb3JpZ2FtaQ0KKyAgICBgKG9yaWdhbWktZm9sZC1oZWFkZXItZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0gOmJveCB0KSkpDQorICAg IGAob3JpZ2FtaS1mb2xkLXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorOzs7Ozsgb3V0bGluZS1tb2RlDQorICAgIGAo b3V0bGluZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KKyAg ICBgKG91dGxpbmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkN CisgICAgYChvdXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0z KSkpDQorICAgIGAob3V0bGluZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRp bmctNCkpKQ0KKyAgICBgKG91dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTUpKSkNCisgICAgYChvdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy02KSkpDQorICAgIGAob3V0bGluZS03ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWhlYWRpbmctNykpKQ0KKyAgICBgKG91dGxpbmUtOCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTgpKSkNCis7Ozs7OyBvdXRsaW5lLW1pbm9yLWZhY2VzDQorICAg IGAob3V0bGluZS1taW5vci0wICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCis7Ozs7 OyBwYWNrYWdlIChNLXggbGlzdC1wYWNrYWdlcykNCisgICAgYChwYWNrYWdlLWRlc2NyaXB0aW9u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChwYWNrYWdl LWhlbHAtc2VjdGlvbi1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocGFja2FnZS1uYW1lICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbikpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWF2YWlsLW9ic28gKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtYXZh aWxhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChw YWNrYWdlLXN0YXR1cy1idWlsdC1pbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K KyAgICBgKHBhY2thZ2Utc3RhdHVzLWRlcGVuZGVuY3kgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtZGlzYWJsZWQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKHBhY2thZ2Utc3Rh dHVzLWV4dGVybmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKHBhY2thZ2Utc3RhdHVzLWhlbGQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQp KSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1pbmNvbXBhdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1pbnN0YWxsZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHBhY2thZ2Ut c3RhdHVzLW5ldyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K KyAgICBgKHBhY2thZ2Utc3RhdHVzLXVuc2lnbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCis7Ozs7OyBwYWdlLWJyZWFrLWxpbmVzDQorICAgIGAocGFn ZS1icmVhay1saW5lcyAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpmb3JlZ3JvdW5kICxmZy13 aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KKzs7Ozs7IHBhcmFkb3gNCisgICAgYChwYXJhZG94LWFy Y2hpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAg IGAocGFyYWRveC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbW1l bnQtZmFjZSkpKQ0KKyAgICBgKHBhcmFkb3gtY29tbWl0LXRhZy1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhIDpib3ggdCkpKQ0KKyAgICBgKHBhcmFkb3gt ZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQorICAgIGAocGFyYWRveC1kZXNjcmlwdGlvbi1mYWNlLW11bHRpbGluZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocGFyYWRveC1kb3dubG9hZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyKSkpDQorICAgIGAocGFyYWRveC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBg KHBhcmFkb3gtaG9tZXBhZ2UtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHBhcmFkb3gtbW9kZS1saW5lLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisg ICAgYChwYXJhZG94LW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJs aW5lIHQpKSkNCisgICAgYChwYXJhZG94LXN0YXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KKyAgICBgKHBhcmFkb3gtc3RhcnJlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IHBhcmVuLWZhY2UNCisgICAgYChwYXJlbnRoZXNp cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorOzs7OzsgcGFycm90DQor ICAgIGAocGFycm90LXJvdGF0ZS1yb3RhdGlvbi1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKzs7Ozs7IHBhc3MNCisgICAgYChw YXNzLW1vZGUtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocGFzcy1tb2RlLWVudHJ5LWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChw YXNzLW1vZGUtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KKzs7Ozs7IHBkZi10b29scw0KKyAgICBgKHBkZi1saW5rcy1yZWFkLWxpbmsgKCgsY2xh c3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZyA6 aW5oZXJpdCBib2xkKSkpIDsgRm9yZWdyb3VuZCBpcyBiYWNrZ3JvdW5kIGFuZCB2aWNlIHZlcnNh DQorICAgIGAocGRmLW9jY3VyLWRvY3VtZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93 KSkpDQorICAgIGAocGRmLW9jY3VyLXBhZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cp KSkNCis7Ozs7OyBwZXJzcC1tb2RlDQorICAgIGAocGVyc3AtZmFjZS1saWdodGVyLWJ1ZmZlci1u b3QtaW4tcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkN CisgICAgYChwZXJzcC1mYWNlLWxpZ2h0ZXItZGVmYXVsdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKHBlcnNwLWZhY2UtbGlnaHRlci1u aWwtcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkp DQorOzs7OzsgcGVyc3BlY3RpdmUNCisgICAgYChwZXJzcC1zZWxlY3RlZC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorOzs7OzsgcGhpLWdy ZXANCisgICAgYChwaGktZ3JlcC1oZWFkaW5nLWZhY2UgICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQorICAg IGAocGhpLWdyZXAtbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQorICAgIGAocGhpLWdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChwaGktZ3JlcC1tb2RpZmllZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCisgICAg YChwaGktZ3JlcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLWJsdWUpKSkNCis7Ozs7OyBwaGktc2VhcmNoDQorICAgIGAocGhpLXJlcGxhY2UtcHJldmll dy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0K KyAgICBgKHBoaS1zZWFyY2gtZmFpbHBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtcmVkKSkpDQorICAgIGAocGhpLXNlYXJjaC1tYXRjaC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorICAgIGAocGhpLXNlYXJjaC1z ZWxlY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl biBib2xkKSkpKQ0KKzs7Ozs7IHBrZ2J1aWxkLW1vZGUNCisgICAgYChwa2didWlsZC1lcnJvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctZXJyb3IpKSkNCis7Ozs7OyBw b21pZG9yDQorICAgIGAocG9taWRvci1icmVhay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHBvbWlkb3Itb3ZlcndvcmstZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKHBvbWlkb3Itc2tpcC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN CisgICAgYChwb21pZG9yLXdvcmstZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 LW90aGVyKSkpDQorOzs7OzsgcG9wdXANCisgICAgYChwb3B1cC1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChwb3B1cC1pc2Vh cmNoLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xk KSkpKQ0KKyAgICBgKHBvcHVwLW1lbnUtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChwb3B1cC1tZW51LXNlbGVjdGlvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkpKQ0KKyAg ICBgKHBvcHVwLXNjcm9sbC1iYXItYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUpKSkNCisgICAgYChwb3B1cC1zY3JvbGwtYmFyLWZvcmVncm91bmQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAocG9wdXAtc3VtbWFyeS1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0 aXZlKSkpDQorICAgIGAocG9wdXAtdGlwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdykpKQ0KKzs7Ozs7IHBvd2VybGluZQ0KKyAgICBgKHBvd2VybGluZS1h Y3RpdmUwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVlLWZh aW50IDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYChwb3dlcmxpbmUtYWN0aXZlMSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQt ZmcpKSkNCisgICAgYChwb3dlcmxpbmUtYWN0aXZlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChwb3dlcmxpbmUtaW5hY3Rp dmUwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHBvd2VybGluZS1pbmFjdGl2ZTEgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChwb3dl cmxpbmUtaW5hY3RpdmUyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdy b3VuZCAsZmctaW5hY3RpdmUpKSkNCis7Ozs7OyBwb3dlcmxpbmUtZXZpbA0KKyAgICBgKHBvd2Vy bGluZS1ldmlsLWJhc2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdy b3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKHBvd2VybGluZS1ldmlsLWVtYWNzLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCisgICAgYChwb3dlcmxp bmUtZXZpbC1pbnNlcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUt Z3JlZW4pKSkNCisgICAgYChwb3dlcmxpbmUtZXZpbC1tb3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KKyAgICBgKHBvd2VybGluZS1ldmlsLW5v cm1hbC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLW1h aW4pKSkNCisgICAgYChwb3dlcmxpbmUtZXZpbC1vcGVyYXRvci1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCisgICAgYChwb3dlcmxpbmUtZXZpbC1y ZXBsYWNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0K KyAgICBgKHBvd2VybGluZS1ldmlsLXZpc3VhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWFjdGl2ZS1jeWFuKSkpDQorOzs7OzsgcHJvY2VkDQorICAgIGAocHJvY2VkLW1hcmsg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpKSkNCisgICAgYChwcm9j ZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQorICAg IGAocHJvY2VkLXNvcnQtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY2FsbSA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBwcm9kaWd5DQorICAgIGAo cHJvZGlneS1ncmVlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBg KHByb2RpZ3ktcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHBy b2RpZ3kteWVsbG93LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7 IHF1aWNrLXBlZWsNCisgICAgYChxdWljay1wZWVrLWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAocXVpY2stcGVlay1ib3JkZXItZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIgOmhlaWdodCAxKSkpDQor ICAgIGAocXVpY2stcGVlay1wYWRkaW5nLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6aGVpZ2h0IDAuMTUpKSkNCis7Ozs7OyByYWNrZXQtbW9kZQ0KKyAgICBgKHJhY2tldC1kZWJ1 Zy1icmVhay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkp DQorICAgIGAocmFja2V0LWRlYnVnLWxvY2Fscy1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdp ZHRoIC0xIDpjb2xvciBuaWwpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChyYWNrZXQtZGVidWct cmVzdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAtMSA6 Y29sb3IgbmlsKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChyYWNrZXQtaGVyZS1zdHJpbmctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChyYWNrZXQta2V5d29yZC1hcmd1bWVu dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAocmFja2V0LWxv Z2dlci1jb25maWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAocmFja2V0LWxvZ2dlci1kZWJ1Zy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhY2tldC1sb2dnZXIt aW5mby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUpKSkNCisgICAgYChy YWNrZXQtbG9nZ2VyLXRvcGljLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xh bnQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChyYWNrZXQtc2VsZmV2YWwtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAocmFja2V0LXhwLWVycm9y LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1lcnJvcikpKQ0KKzs7Ozs7 IHJhaW5ib3ctYmxvY2tzDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ctYmxv Y2tzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHJh aW5ib3ctYmxvY2tzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgt Ni1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAocmFpbmJvdy1ibG9j a3MtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChy YWluYm93LWJsb2Nrcy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 KSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWx0KSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtdW5tYXRjaGVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKzs7Ozs7IHJhaW5ib3ctaWRlbnRpZmllcnMNCisg ICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlm aWVyLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAo cmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTQg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChyYWluYm93 LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1p ZGVudGlmaWVyLTcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAo cmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTkgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJz LWlkZW50aWZpZXItMTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAocmFp bmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlm aWVyLTEzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChyYWluYm93LWlk ZW50aWZpZXJzLWlkZW50aWZpZXItMTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTE1ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQorOzs7OzsgcmFpbmJvdy1kZWxpbWl0ZXJzDQorICAgIGAocmFp bmJvdy1kZWxpbWl0ZXJzLWJhc2UtZXJyb3ItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVk LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHJhaW5ib3ctZGVsaW1p dGVycy1iYXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChy YWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJz LWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQorICAg IGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs b3JhbmdlLWludGVuc2UpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxwdXJwbGUtaW50ZW5zZSkpKQ0KKyAgICBgKHJhaW5ib3ct ZGVsaW1pdGVycy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVu c2UpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KKyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0 aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKHJh aW5ib3ctZGVsaW1pdGVycy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1pbnRlbnNlKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLW1pc21hdGNoZWQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpKQ0KKyAg ICBgKHJhaW5ib3ctZGVsaW1pdGVycy11bm1hdGNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAo Ym9sZCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpKQ0KKzs7Ozs7IHJjaXJjDQorICAgIGAocmNp cmMtYnJpZ2h0LW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCisgICAgYChyY2lyYy1kaW0tbmljayAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cp KSkNCisgICAgYChyY2lyYy1teS1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCisgICAgYChyY2lyYy1uaWNrLWluLW1lc3NhZ2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocmNpcmMtbmljay1pbi1tZXNz YWdlLWZ1bGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLW1pbGQpKSkNCisgICAgYChyY2lyYy1vdGhlci1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHJjaXJjLXByb21wdCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKHJjaXJjLXNlcnZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQor ICAgIGAocmNpcmMtdGltZXN0YW1wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQt ZmcpKSkNCisgICAgYChyY2lyYy11cmwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVy bGluZSB0KSkpDQorOzs7OzsgcmVjdXJzaW9uLWluZGljYXRvcg0KKyAgICBgKHJlY3Vyc2lvbi1p bmRpY2F0b3ItZ2VuZXJhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisg ICAgYChyZWN1cnNpb24taW5kaWNhdG9yLW1pbmlidWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hY3RpdmUpKSkNCis7Ozs7OyByZWdleHAtYnVpbGRlciAocmUtYnVpbGRlcikNCisgICAg YChyZWItbWF0Y2gtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikp KQ0KKyAgICBgKHJlYi1tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1tYWdlbnRhKSkpDQorICAgIGAocmViLW1hdGNoLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLWdyZWVuKSkpDQorICAgIGAocmViLW1hdGNoLTMgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHJlYi1yZWdleHAtZ3JvdXBp bmctYmFja3NsYXNoICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1yZWdleHAtZ3JvdXBpbmct YmFja3NsYXNoKSkpDQorICAgIGAocmViLXJlZ2V4cC1ncm91cGluZy1jb25zdHJ1Y3QgKCgsY2xh c3MgOmluaGVyaXQgZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1jb25zdHJ1Y3QpKSkNCis7Ozs7 OyByZyAocmcuZWwpDQorICAgIGAocmctY29sdW1uLW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJnLWNvbnRleHQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAocmctZXJyb3ItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChyZy1maWxl LXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAg YChyZy1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHJnLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHJnLWxpdGVyYWwtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChyZy1tYXRjaC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKHJnLXJlZ2V4 cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKHJn LXRvZ2dsZS1vZmYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1p bmFjdGl2ZSkpKQ0KKyAgICBgKHJnLXRvZ2dsZS1vbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAocmctd2FybmluZy1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IHJpcGdy ZXANCisgICAgYChyaXBncmVwLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct dW5mb2N1c2VkKSkpDQorICAgIGAocmlwZ3JlcC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHJpcGdyZXAtaGl0LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChyaXBncmVwLW1hdGNoLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorOzs7Ozsgcm1haWwNCisg ICAgYChybWFpbC1oZWFkZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCisgICAgYChybWFpbC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyBydWxlci1tb2RlDQorICAgIGAocnVsZXIt bW9kZS1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHJ1bGVyLW1vZGUtY29tbWVudC1jb2x1bW4g KCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxyZWQpKSkN CisgICAgYChydWxlci1tb2RlLWN1cnJlbnQtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVy LW1vZGUtZGVmYXVsdCA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChydWxlci1tb2RlLWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQgZGVm YXVsdCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisg ICAgYChydWxlci1tb2RlLWZpbGwtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUt ZGVmYXVsdCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChydWxlci1tb2RlLWZyaW5nZXMg KCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxjeWFuKSkp DQorICAgIGAocnVsZXItbW9kZS1nb2FsLWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1t b2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChydWxlci1tb2RlLW1hcmdp bnMgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxiZy1t YWluKSkpDQorICAgIGAocnVsZXItbW9kZS1wYWQgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9k ZS1kZWZhdWx0IDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQorICAgIGAocnVsZXItbW9kZS10YWItc3RvcCAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1t b2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKzs7Ozs7IHNhbGxl dA0KKyAgICBgKHNhbGxldC1idWZmZXItY29tcHJlc3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFs aWMgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZl ci1kZWZhdWx0LWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkLWZn KSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKHNhbGxldC1idWZmZXItaGVscCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1tb2Rp ZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLW9yZGluYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1yZWFkLW9ubHkgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLXNpemUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKHNhbGxldC1idWZmZXIt c3BlY2lhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YChzYWxsZXQtZmx4LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxl dGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1z dWJ0bGUtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXJlZmluZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtbnVhbmNlZC1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjeWFuLWFsdC1vdGhlcikpKSkNCisgICAgYChzYWxsZXQtcmVjZW50Zi1idWZmZXItbmFtZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoc2FsbGV0LXJl Y2VudGYtZmlsZS1wYXRoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkN CisgICAgYChzYWxsZXQtcmVnZXhwLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0 cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcikpKSkNCisg ICAgYChzYWxsZXQtc291cmNlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtNCkpKSkNCisgICAgYChzYWxsZXQt c3Vic3RyaW5nLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlv bnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1zdWJ0bGUtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlcikpKSkNCis7Ozs7OyBzZWxlY3Ry dW0NCis7OyBOT1RFIDIwMjEtMDItMjI6IFRoZSBgc2VsZWN0cnVtLXByaW1hcnktaGlnaGxpZ2h0 JyBhbmQNCis7OyBgc2VsZWN0cnVtLXNlY29uZGFyeS1oaWdobGlnaHQnIGFyZSBkZXByZWNhdGVk IHVwc3RyZWFtIGluIGZhdm91ciBvZg0KKzs7IHRoZWlyIHNlbGVjdHJ1bS1wcmVzY2llbnQgY291 bnRlcnBhcnRzLiAgV2Ugc2hhbGwgcmVtb3ZlIHRob3NlIGZhY2VzDQorOzsgZnJvbSB0aGUgdGhl bWVzIG9uY2Ugd2UgYXJlIGNlcnRhaW4gdGhhdCB0aGV5IGFyZSBubyBsb25nZXIgcmVsZXZhbnQu DQorICAgIGAoc2VsZWN0cnVtLWN1cnJlbnQtY2FuZGlkYXRlDQorICAgICAgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbg0KKyAgICAgICAgICAgICAgIDpiYWNrZ3Jv dW5kICxAKHBjYXNlIG1vZHVzLXRoZW1lcy1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoJ29waW5pb25hdGVkIChsaXN0IGJnLWFjdGl2ZSkpDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChfIChsaXN0IGJnLWluYWN0aXZlKSkpKSkpDQorICAgIGAo c2VsZWN0cnVtLXByaW1hcnktaGlnaGxpZ2h0DQorICAgICAgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZA0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMN CisgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLW51YW5jZWQtYmcNCisgICAg ICAgICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1iZyBtYWdlbnRhLXJlZmluZS1mZykpKSkNCisg ICAgYChzZWxlY3RydW0tc2Vjb25kYXJ5LWhpZ2hsaWdodA0KKyAgICAgICgoLGNsYXNzIDppbmhl cml0IGJvbGQNCisgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBs ZXRpb25zDQorICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1udWFuY2VkLWJn DQorICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcpKSkpDQor Ozs7Ozsgc2VsZWN0cnVtLXByZXNjaWVudA0KKyAgICBgKHNlbGVjdHJ1bS1wcmVzY2llbnQtcHJp bWFyeS1oaWdobGlnaHQNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAgICAg ICAgICAgLEAobW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAgICAg ICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAg IG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KKyAgICBgKHNlbGVjdHJ1 bS1wcmVzY2llbnQtc2Vjb25kYXJ5LWhpZ2hsaWdodA0KKyAgICAgICgoLGNsYXNzIDppbmhlcml0 IGJvbGQNCisgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRp b25zDQorICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1udWFuY2VkLWJnDQor ICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcpKSkpDQorOzs7 Ozsgc2VtYW50aWMNCisgICAgYChzZW1hbnRpYy1jb21wbGV0ZS1pbmxpbmUtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHNl bWFudGljLWRlY29yYXRpb24tb24tZmlsZWxlc3MtaW5jbHVkZXMgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuKSkpDQorICAgIGAoc2VtYW50aWMtZGVjb3JhdGlvbi1v bi1wcml2YXRlLW1lbWJlcnMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtY3lhbikpKQ0KKyAgICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tcHJvdGVjdGVkLW1lbWJl cnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoc2VtYW50aWMt ZGVjb3JhdGlvbi1vbi11bmtub3duLWluY2x1ZGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1yZWQpKSkNCisgICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLXVucGFyc2Vk LWluY2x1ZGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkN CisgICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZWRpdHMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0KSkpDQorICAgIGAoc2VtYW50aWMtaGlnaGxpZ2h0LWZ1bmMtY3VycmVudC10YWct ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoc2VtYW50aWMtaWRs ZS1zeW1ib2wtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt bWlsZCkpKQ0KKyAgICBgKHNlbWFudGljLXRhZy1ib3VuZGFyeS1mYWNlICgoLGNsYXNzIDpvdmVy bGluZSAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAoc2VtYW50aWMtdW5tYXRjaGVkLXN5bnRheC1m YWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCis7Ozs7OyBzZXNtYW4N CisgICAgYChzZXNtYW4tYnJvd3Nlci1idXR0b24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQorICAgIGAoc2VzbWFuLWJyb3dzZXItaGln aGxpZ2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0K KyAgICBgKHNlc21hbi1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KKyAgICBgKHNlc21hbi1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoc2VzbWFuLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IHNo ZWxsLXNjcmlwdC1tb2RlDQorICAgIGAoc2gtaGVyZWRvYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCisgICAgYChzaC1xdW90ZWQtZXhlYyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IHNob3J0ZG9j DQorICAgIGAoc2hvcnRkb2MtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1w c2V1ZG8taGVhZGVyKSkpDQorICAgIGAoc2hvcnRkb2Mtc2VjdGlvbiAoKCxjbGFzcykpKSA7IHJl bW92ZSB0aGUgZGVmYXVsdCdzIHZhcmlhYmxlLXBpdGNoIHN0eWxlDQorOzs7Ozsgc2hvdy1wYXJl bi1tb2RlDQorICAgIGAoc2hvdy1wYXJlbi1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMt LXBhcmVuIGJnLXBhcmVuLW1hdGNoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLXBhcmVuLW1hdGNoLWludGVuc2UpDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHNo b3ctcGFyZW4tbWF0Y2gtZXhwcmVzc2lvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLWNhbG0pKSkNCisgICAgYChzaG93LXBhcmVuLW1pc21hdGNoICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorOzs7Ozsgc2hyDQorICAgIGAoc2hyLWFi YnJldmlhdGlvbg0KKyAgICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAgICA6Zm9yZWdyb3VuZCAsZmctZG9jc3RyaW5nIDp1 bmRlcmxpbmUgKDpjb2xvciAsZmctYWx0IDpzdHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctZG9jc3RyaW5nIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHNoci1zZWxl Y3RlZC1saW5rICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQor Ozs7Ozsgc2lkZS1ub3Rlcw0KKyAgICBgKHNpZGUtbm90ZXMgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorOzs7Ozsgc2lldmUtbW9kZQ0KKyAgICBg KHNpZXZlLWFjdGlvbi1jb21tYW5kcyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRp bi1mYWNlKSkpDQorICAgIGAoc2lldmUtY29udHJvbC1jb21tYW5kcyAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAoc2lldmUtdGFnZ2VkLWFyZ3VtZW50 cyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdHlwZS1mYWNlKSkpDQorICAgIGAoc2lldmUt dGVzdC1jb21tYW5kcyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1m YWNlKSkpDQorOzs7Ozsgc2tld2VyLW1vZGUNCisgICAgYChza2V3ZXItZXJyb3ItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IHNtYXJ0LW1vZGUt bGluZQ0KKyAgICBgKHNtbC9jaGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQorICAgIGAoc21sL2Rpc2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQorICAgIGAoc21sL2ZpbGVuYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAoc21sL2ZvbGRlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoc21sL2dpdCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChzbWwvZ2xvYmFsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChzbWwvbGluZS1udW1iZXIgKCgs Y2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9taW5vci1tb2RlcyAoKCxj bGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL21vZGVzICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9tb2RpZmll ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K KyAgICBgKHNtbC9tdWxlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAg ICBgKHNtbC9uYW1lLWZpbGxpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUp KSkNCisgICAgYChzbWwvbm90LW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwp KSkNCisgICAgYChzbWwvbnVtYmVycy1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgc21sL2ds b2JhbCkpKQ0KKyAgICBgKHNtbC9vdXRzaWRlLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAoc21sL3Bvc2l0aW9uLXBlcmNlbnRhZ2Ug KCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9wcmVmaXggKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9wcm9jZXNzICgoLGNs YXNzIDppbmhlcml0IHNtbC9wcmVmaXgpKSkNCisgICAgYChzbWwvcHJvamVjdGlsZSAoKCxjbGFz cyA6aW5oZXJpdCBzbWwvZ2l0KSkpDQorICAgIGAoc21sL3JlYWQtb25seSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9yZW1vdGUg KCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9zdWRvICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCisgICAgYChzbWwvdGltZSAoKCxj bGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL3ZjICgoLGNsYXNzIDppbmhl cml0IHNtbC9naXQpKSkNCisgICAgYChzbWwvdmMtZWRpdGVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCis7Ozs7OyBzbWFydHBhcmVucw0KKyAg ICBgKHNwLXBhaXItb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtd2FybSkpKQ0KKyAgICBgKHNwLXNob3ctcGFpci1lbmNsb3NpbmcgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQorICAgIGAoc3Atc2hvdy1wYWlyLW1h dGNoLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1wYXJlbiBiZy1wYXJlbi1tYXRjaA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHNwLXNob3ctcGFp ci1taXNtYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVk KSkpDQorICAgIGAoc3Atd3JhcC1vdmVybGF5LWNsb3NpbmctcGFpciAoKCxjbGFzcyA6aW5oZXJp dCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KKyAgICBgKHNwLXdyYXAtb3ZlcmxheS1mYWNlICgo LGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQorICAgIGAoc3Atd3JhcC1v dmVybGF5LW9wZW5pbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFj ZSkpKQ0KKyAgICBgKHNwLXdyYXAtdGFnLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBz cC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KKzs7Ozs7IHNtZXJnZQ0KKyAgICBgKHNtZXJnZS1iYXNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KKyAgICBgKHNt ZXJnZS1sb3dlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQor ICAgIGAoc21lcmdlLW1hcmtlcnMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJh bC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikpKQ0KKyAgICBgKHNtZXJnZS1yZWZp bmVkLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVk KSkpDQorICAgIGAoc21lcmdlLXJlZmluZWQtY2hhbmdlZCAoKCxjbGFzcykpKQ0KKyAgICBgKHNt ZXJnZS1yZWZpbmVkLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1y ZWZpbmUtcmVtb3ZlZCkpKQ0KKyAgICBgKHNtZXJnZS11cHBlciAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCis7Ozs7OyBzb2xhaXJlDQorICAgIGAoc29sYWly ZS1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVsdCA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChzb2xhaXJlLWxpbmUtbnVtYmVyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgc29sYWlyZS1kZWZhdWx0LWZhY2UgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCkpKQ0KKyAgICBgKHNvbGFpcmUtaGwtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChzb2xhaXJlLW9yZy1oaWRlLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQorOzs7Ozsgc3Bh Y2VsaW5lDQorICAgIGAoc3BhY2VsaW5lLWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCisgICAgYChzcGFjZWxpbmUtZXZpbC1pbnNlcnQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuKSkpDQorICAgIGAoc3Bh Y2VsaW5lLWV2aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1i bHVlKSkpDQorICAgIGAoc3BhY2VsaW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKHNwYWNlbGluZS1ldmlsLXJl cGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KKyAgICBg KHNwYWNlbGluZS1ldmlsLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3Rp dmUtY3lhbikpKQ0KKyAgICBgKHNwYWNlbGluZS1mbHljaGVjay1lcnJvciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKHNwYWNlbGluZS1mbHljaGVjay1pbmZvICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHNwYWNlbGluZS1mbHlj aGVjay13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorICAg IGAoc3BhY2VsaW5lLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS1ibHVlKSkpDQorICAgIGAoc3BhY2VsaW5lLW1vZGlmaWVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQorICAgIGAoc3BhY2VsaW5lLXB5dGhv bi12ZW52ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKHNw YWNlbGluZS1yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJl ZCkpKQ0KKyAgICBgKHNwYWNlbGluZS11bm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWZyaW5nZS1jeWFuKSkpDQorOzs7Ozsgc3BlZWRiYXINCisgICAgYChzcGVlZGJhci1i dXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChzcGVlZGJhci1k aXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkp DQorICAgIGAoc3BlZWRiYXItZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoc3BlZWRiYXItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChzcGVlZGJhci1zZWxlY3RlZC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChzcGVlZGJh ci1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5l dXRyYWwpKSkNCisgICAgYChzcGVlZGJhci10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdC1vdGhlcikpKQ0KKzs7Ozs7IHNwZWxsLWZ1DQorICAgIGAoc3BlbGwtZnUtaW5j b3JyZWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1lcnJvcikpKQ0K Kzs7Ozs7IHNwcmF5DQorICAgIGAoc3ByYXktYWNjZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1pbnRlbnNlKSkpDQorICAgIGAoc3ByYXktYmFzZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGRlZmF1bHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7Ozs7IHN0cmlw ZXMNCisgICAgYChzdHJpcGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUp KSkNCis7Ozs7OyBzdWNjZXNzDQorICAgIGAoc3VnZ2VzdC1oZWFkaW5nICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCis7Ozs7OyBzd2l0Y2gt d2luZG93DQorICAgIGAoc3dpdGNoLXdpbmRvdy1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaW0pKSkNCisgICAgYChzd2l0Y2gtd2luZG93LWxhYmVsICgoLGNsYXNzIDpoZWln aHQgMy4wIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCis7Ozs7OyBzd2lwZXINCisgICAg YChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCisgICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1m YWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCisgICAg YChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1m YWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAg ICBgKHN3aXBlci1saW5lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1jb2xkKSkpDQorICAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCAo Ym9sZCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkpDQorICAgIGAoc3dpcGVyLW1hdGNo LWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu KSkpKQ0KKyAgICBgKHN3aXBlci1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpKQ0KKyAgICBgKHN3aXBlci1tYXRjaC1mYWNlLTQg KCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkpDQorOzs7 Ozsgc3dvb3ANCisgICAgYChzd29vcC1mYWNlLWhlYWRlci1mb3JtYXQtbGluZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVt ZXMtc2NhbGUtMykpKSkNCisgICAgYChzd29vcC1mYWNlLWxpbmUtYnVmZmVyLW5hbWUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10 aGVtZXMtc2NhbGUtNCkpKSkNCisgICAgYChzd29vcC1mYWNlLWxpbmUtbnVtYmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChzd29vcC1mYWNlLXRhcmdl dC1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSA6ZXh0ZW5k IHQpKSkNCisgICAgYChzd29vcC1mYWNlLXRhcmdldC13b3JkcyAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKzs7Ozs7IHN4DQorICAgIGAoc3gtaW5ib3gtaXRl bS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBg KHN4LWluYm94LWl0ZW0tdHlwZS11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgKHN4LWluYm94LWl0 ZW0tdHlwZSBib2xkKSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtYW5zd2VycyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LWFuc3dlcnMt YWNjZXB0ZWQgKCgsY2xhc3MgOmJveCB0IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKHN4 LXF1ZXN0aW9uLWxpc3QtYm91bnR5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC1k YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChzeC1x dWVzdGlvbi1saXN0LWZhdm9yaXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtcGFyZW50ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC1yZWFk LXF1ZXN0aW9uICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKHN4LXF1ZXN0aW9u LWxpc3Qtc2NvcmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAg ICBgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUtdXB2b3RlZCAoKCxjbGFzcyA6aW5oZXJpdCAoc3gt cXVlc3Rpb24tbGlzdC1zY29yZSBib2xkKSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtdW5y ZWFkLXF1ZXN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWFjY2VwdGVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmhlaWdodCAxLjMgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoc3gtcXVlc3Rpb24t bW9kZS1jbG9zZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyA6 Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwpKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbW9k ZS1jbG9zZWQtcmVhc29uICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCkg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWNvbnRlbnQt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoc3gtcXVlc3Rpb24t bW9kZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoc3gtcXVlc3Rp b24tbW9kZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUta2JkLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpoZWlnaHQgMC45IDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1tYWluIDpzdHlsZSBy ZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3gtcXVlc3Rp b24tbW9kZS1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAoc3gt cXVlc3Rpb24tbW9kZS1zY29yZS1kb3dudm90ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtc2NvcmUtdXB2b3RlZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbW9k ZS10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAoc3gtcXVlc3Rpb24tbW9kZS10aXRsZS1jb21tZW50cyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChzeC10YWcgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoc3gtdXNlci1uYW1lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKHN4LXVzZXItcmVwdXRhdGlvbiAoKCxjbGFzcyA6 aW5oZXJpdCBzaGFkb3cpKSkNCis7Ozs7OyBzeW1ib2wtb3ZlcmxheQ0KKyAgICBgKHN5bWJvbC1v dmVybGF5LWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LXdhcm0pKSkNCisgICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0y ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAo c3ltYm9sLW92ZXJsYXktZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UteWVsbG93KSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS00ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KKyAgICBgKHN5bWJvbC1vdmVybGF5 LWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAg ICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtcmVkKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS03ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbikpKQ0KKyAgICBgKHN5bWJvbC1vdmVybGF5LWZh Y2UtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKzs7Ozs7 IHN5c2xvZy1tb2RlDQorICAgIGAoc3lzbG9nLWRlYnVnICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoc3lzbG9nLWVycm9yICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHN5c2xvZy1maWxl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKHN5c2xvZy1oaWRlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoc3lzbG9nLWhvdXIgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChzeXNsb2ctaW5mbyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAg ICBgKHN5c2xvZy1pcCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLW1pbGQgOnVuZGVybGluZSB0KSkpDQorICAgIGAoc3lzbG9nLXN1ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChzeXNsb2ctd2FybiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyB0YWItYmFy LW1vZGUNCisgICAgYCh0YWItYmFyICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tdmFyaWFibGUt cGl0Y2gtdWkpDQorICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWJh ciA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRhYi1iYXItdGFiICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0YWItYmFyLXRhYi1pbmFjdGl2ZSAoKCxjbGFz cyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWluYWN0aXZlKQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUg OmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKzs7Ozs7IHRhYi1saW5lLW1vZGUNCisgICAgYCh0YWIt bGluZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXZhcmlhYmxlLXBpdGNoLXVpKQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgIDpoZWlnaHQgMC45NSA6YmFja2dyb3VuZCAsYmctdGFiLWJhciA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRhYi1saW5lLWNsb3NlLWhpZ2hsaWdodCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAodGFiLWxpbmUtaGlnaGxpZ2h0ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQorICAgIGAodGFiLWxpbmUtdGFiICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUt d2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAodGFiLWxpbmUtdGFiLWN1cnJlbnQgKCgsY2xhc3MgOmluaGVyaXQgdGFiLWxpbmUtdGFi KSkpDQorICAgIGAodGFiLWxpbmUtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdp ZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KKyAgICBgKHRhYi1saW5lLXRhYi1pbmFjdGl2ZS1hbHRlcm5hdGUgKCgsY2xhc3Mg OmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1pbmFjdGl2ZS1hbHQpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmct dGFiLWluYWN0aXZlLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IHRhYmxlIChi dWlsdC1pbiB0YWJsZS5lbCkNCisgICAgYCh0YWJsZS1jZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxibHVlLW51YW5jZWQtYmcpKSkNCis7Ozs7OyB0ZWxlcGhvbmUtbGluZQ0KKyAgICBgKHRlbGVw aG9uZS1saW5lLWFjY2VudC1hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWluYWN0aXZl IDpmb3JlZ3JvdW5kICxiZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHRlbGVwaG9uZS1saW5lLWFjY2Vu dC1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1hY3RpdmUpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUt ZXZpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRlbGVwaG9uZS1s aW5lLWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFj a2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZp bC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3Vu ZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KKyAgICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtbW90aW9u ICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLHllbGxv dy1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1ub3JtYWwgKCgsY2xh c3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQor ICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1vcGVyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxl cGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnKSkpDQorICAgIGAo dGVsZXBob25lLWxpbmUtZXZpbC1yZXBsYWNlICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1s aW5lLWV2aWwgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25l LWxpbmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6 YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtcHJv amVjdGlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYCh0ZWxl cGhvbmUtbGluZS11bmltcG9ydGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUp KSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCis7Ozs7OyB0ZXJyYWZvcm0tbW9kZQ0KKyAg ICBgKHRlcnJhZm9ybS0tcmVzb3VyY2UtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tc3ludGF4LXN0cmluZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50DQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCByZWQt YWx0KSkpKQ0KKyAgICBgKHRlcnJhZm9ybS0tcmVzb3VyY2UtdHlwZS1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tc3ludGF4LXN0cmluZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdyZWVuIGdyZWVuLWZhaW50DQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgbWFnZW50YS1hbHQpKSkp DQorOzs7OzsgdGVybQ0KKyAgICBgKHRlcm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4g OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0ZXJtLWJvbGQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KKyAgICBgKHRlcm0tY29sb3ItYmxhY2sgKCgsY2xhc3MgOmJhY2tncm91bmQg ImdyYXkzNSIgOmZvcmVncm91bmQgImdyYXkzNSIpKSkNCisgICAgYCh0ZXJtLWNvbG9yLWJsdWUg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYCh0 ZXJtLWNvbG9yLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4gOmZvcmVncm91bmQgLGN5 YW4pKSkNCisgICAgYCh0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVl biA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYCh0ZXJtLWNvbG9yLW1hZ2VudGEgKCgsY2xh c3MgOmJhY2tncm91bmQgLG1hZ2VudGEgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYCh0 ZXJtLWNvbG9yLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkIDpmb3JlZ3JvdW5kICxyZWQp KSkNCisgICAgYCh0ZXJtLWNvbG9yLXdoaXRlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjUi IDpmb3JlZ3JvdW5kICJncmF5NjUiKSkpDQorICAgIGAodGVybS1jb2xvci15ZWxsb3cgKCgsY2xh c3MgOmJhY2tncm91bmQgLHllbGxvdyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAodGVy bS11bmRlcmxpbmUgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorOzs7OzsgdG9tYXRpbmhvDQor ICAgIGAodG9tYXRpbmhvLW9rLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5z ZSkpKQ0KKyAgICBgKHRvbWF0aW5oby1wYXVzZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctaW50ZW5zZSkpKQ0KKyAgICBgKHRvbWF0aW5oby1yZXNldC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHNoYWRvdykpKQ0KKzs7Ozs7IHRyYW5zaWVudA0KKyAgICBgKHRyYW5zaWVudC1hY3Rp dmUtaW5maXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQor ICAgIGAodHJhbnNpZW50LWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KKyAgICBgKHRyYW5zaWVudC1hcmd1bWVudCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAodHJhbnNpZW50LWJsdWUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHRyYW5zaWVu dC1kaXNhYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1y ZWQpKSkNCisgICAgYCh0cmFuc2llbnQtZW5hYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKHRyYW5zaWVudC1oZWFkaW5nICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0cmFu c2llbnQtaW5hY3RpdmUtYXJndW1lbnQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAg IGAodHJhbnNpZW50LWluYWN0aXZlLXZhbHVlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0K KyAgICBgKHRyYW5zaWVudC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKyAgICBgKHRyYW5zaWVudC1taXNtYXRjaGVkLWtleSAoKCxjbGFzcyA6dW5kZXJs aW5lIHQpKSkNCisgICAgYCh0cmFuc2llbnQtbm9uc3RhbmRhcmQta2V5ICgoLGNsYXNzIDp1bmRl cmxpbmUgdCkpKQ0KKyAgICBgKHRyYW5zaWVudC1waW5rICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYCh0cmFuc2llbnQtcmVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQorICAgIGAodHJhbnNpZW50 LXRlYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCisgICAgYCh0cmFuc2llbnQtdW5yZWFjaGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCkpKQ0KKyAgICBgKHRyYW5zaWVudC11bnJlYWNoYWJsZS1rZXkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKHRyYW5zaWVudC12YWx1ZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKzs7 Ozs7IHRyYXNoZWQNCisgICAgYCh0cmFzaGVkLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtbWFyay1kZWwpKSkNCisgICAgYCh0cmFzaGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHRyYXNoZWQtbWFyayAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KKyAgICBgKHRyYXNoZWQtbWFya2VkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQorICAgIGAodHJhc2hlZC1yZXN0 b3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KKyAgICBgKHRy YXNoZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0IGN5YW4tYWx0LWZhaW50KSkpKQ0KKzs7Ozs7 IHRyZWVtYWNzDQorICAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWNvbGxhcHNlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKHRyZWVtYWNzLWRpcmVjdG9y eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWRpcmVjdG9yeSkpKQ0KKyAgICBgKHRyZWVt YWNzLWZpbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRy ZWVtYWNzLWZyaW5nZS1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKHRyZWVtYWNzLWdpdC1hZGRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAodHJlZW1hY3MtZ2l0LWNvbmZsaWN0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQorICAgIGAo dHJlZW1hY3MtZ2l0LWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisg ICAgYCh0cmVlbWFjcy1naXQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLWdpdC1yZW5hbWVkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAodHJlZW1hY3MtZ2l0LXVu bW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRy ZWVtYWNzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLWhlbHAtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVy bGluZSB0KSkpDQorICAgIGAodHJlZW1hY3MtaGVscC10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLW9uLWZhaWx1cmUtcHVs c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAg ICBgKHRyZWVtYWNzLW9uLXN1Y2Nlc3MtcHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAodHJlZW1hY3Mtcm9vdC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDpoZWlnaHQgMS4y IDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLWRpc2Nvbm5lY3Rl ZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KKyAgICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtdW5yZWFkYWJsZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IHRyZWVtYWNzLXJvb3QtdW5yZWFkYWJsZS1mYWNlKSkpDQorICAgIGAodHJlZW1hY3Mtcm9v dC11bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNlIDpz dHJpa2UtdGhyb3VnaCB0KSkpDQorICAgIGAodHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKHRyZWVtYWNzLXRhZ3MtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyB0dHktbWVudQ0KKyAgICBgKHR0 eS1tZW51LWRpc2FibGVkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQorICAgIGAodHR5LW1lbnUtZW5hYmxlZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKHR0eS1tZW51LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ibHVlKSkpDQorOzs7OzsgdHVhcmVnDQorICAgIGAoY2FtbC10eXBlcy1kZWYt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAgIGAo Y2FtbC10eXBlcy1leHByLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LWdyZWVuKSkpDQorICAgIGAoY2FtbC10eXBlcy1vY2MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChjYW1sLXR5cGVzLXNjb3BlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChjYW1s LXR5cGVzLXR5cGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1h Z2VudGEpKSkNCisgICAgYCh0dWFyZWctZm9udC1kb3VibGUtc2VtaWNvbG9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgZm9udC1sb2NrLXByZXByb2Nlc3Nvci1mYWNlKSkpDQorICAgIGAodHVhcmVn LWZvbnQtbG9jay1hdHRyaWJ1dGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVu Y3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1jb25zdHJ1Y3Rvci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHVhcmVnLWZvbnQt bG9jay1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCBib2xkKSkpKQ0KKyAgICBgKHR1YXJlZy1mb250LWxvY2stZXh0ZW5zaW9uLW5vZGUtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAg IGAodHVhcmVnLWZvbnQtbG9jay1nb3Zlcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1pbmZpeC1l eHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1mdW5jdGlvbi1u YW1lLWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWRpcmVjdGl2 ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh0 dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg ZXJyb3IpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLW91dHB1dC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAodHVh cmVnLWZvbnQtbG9jay1sYWJlbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay10eXBl LWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHR1YXJlZy1mb250LWxv Y2stbW9kdWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkp KQ0KKyAgICBgKHR1YXJlZy1mb250LWxvY2stbXVsdGlzdGFnZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBg KHR1YXJlZy1mb250LWxvY2stb3BlcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxv Y2stcHJlcHJvY2Vzc29yLWZhY2UpKSkNCisgICAgYCh0dWFyZWctb3BhbS1lcnJvci1mYWNlICgo LGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAodHVhcmVnLW9wYW0tcGtnLXZhcmlhYmxl LW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNl KSkpDQorOzs7OzsgdHlwZXNjcmlwdA0KKyAgICBgKHR5cGVzY3JpcHQtanNkb2MtdGFnICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1p bGQpKSkNCisgICAgYCh0eXBlc2NyaXB0LWpzZG9jLXR5cGUgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKHR5 cGVzY3JpcHQtanNkb2MtdmFsdWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7Ozs7IHVuZG8tdHJlZQ0KKyAgICBg KHVuZG8tdHJlZS12aXN1YWxpemVyLWFjdGl2ZS1icmFuY2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodW5kby10cmVlLXZpc3VhbGl6 ZXItY3VycmVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCisg ICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg c2hhZG93KSkpDQorICAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItcmVnaXN0ZXItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAodW5kby10cmVlLXZp c3VhbGl6ZXItdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRl bnNlKSkpDQorOzs7OzsgdmMgKHZjLWRpci5lbCwgdmMtaG9va3MuZWwpDQorICAgIGAodmMtZGly LWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHZjLWRpci1m aWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodmMtZGlyLWhlYWRl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYCh2Yy1kaXIt aGVhZGVyLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K KyAgICBgKHZjLWRpci1tYXJrLWluZGljYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCisgICAgYCh2Yy1kaXItc3RhdHVzLWVkaXRlZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQorICAgIGAodmMtZGlyLXN0YXR1cy1pZ25vcmVkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYCh2Yy1kaXItc3RhdHVzLXVwLXRvLWRh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYCh2Yy1kaXItc3RhdHVzLXdh cm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHZjLWNvbmZsaWN0LXN0 YXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQorICAgIGAodmMtZWRpdGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWN0aXZlKSkpDQorICAgIGAodmMtbG9jYWxseS1hZGRlZC1zdGF0ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYCh2Yy1sb2NrZWQtc3RhdGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAodmMtbWlzc2luZy1zdGF0ZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCisgICAgYCh2Yy1uZWVkcy11cGRhdGUtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKHZj LXJlbW92ZWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAg YCh2Yy1zdGF0ZS1iYXNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAg YCh2Yy11cC10by1kYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCis7Ozs7OyB2ZGlmZg0KKyAgICBgKHZkaWZmLWFkZGl0aW9uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KKyAgICBgKHZkaWZmLWNoYW5nZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KKyAgICBg KHZkaWZmLWNsb3NlZC1mb2xkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1 dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKHZkaWZmLXJl ZmluZS1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRl ZCkpKQ0KKyAgICBgKHZkaWZmLXJlZmluZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQpKSkNCisgICAgYCh2ZGlmZi1zdWJ0cmFjdGlvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KKyAgICBg KHZkaWZmLXRhcmdldC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut Ymx1ZSkpKQ0KKzs7Ozs7IHZpbWlzaC1mb2xkDQorICAgIGAodmltaXNoLWZvbGQtZnJpbmdlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHZpbWlzaC1mb2xkLW1v dXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQor ICAgIGAodmltaXNoLWZvbGQtb3ZlcmxheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCis7Ozs7OyB2aXNpYmxlLW1hcmsNCisgICAg YCh2aXNpYmxlLW1hcmstYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2Ut YmcpKSkNCisgICAgYCh2aXNpYmxlLW1hcmstZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5 YW4taW50ZW5zZS1iZykpKQ0KKyAgICBgKHZpc2libGUtbWFyay1mYWNlMiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcpKSkNCisgICAgYCh2aXNpYmxlLW1hcmstZm9yd2Fy ZC1mYWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnKSkpDQorICAg IGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVu LWludGVuc2UtYmcpKSkNCis7Ozs7OyB2aXN1YWwtcmVnZXhwDQorICAgIGAodnIvZ3JvdXAtMCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYCh2ci9n cm91cC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0K KyAgICBgKHZyL2dyb3VwLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1n cmVlbikpKQ0KKyAgICBgKHZyL21hdGNoLTAgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHZyL21hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHZyL21hdGNoLXNlcGFyYXRvci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgYm9sZCkpKSkN Cis7Ozs7OyB2b2xhdGlsZS1oaWdobGlnaHRzDQorICAgIGAodmhsL2RlZmF1bHQtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcgOmV4 dGVuZCB0KSkpDQorOzs7OzsgdnRlcm0NCisgICAgYCh2dGVybS1jb2xvci1ibGFjayAoKCxjbGFz cyA6YmFja2dyb3VuZCAiZ3JheTM1IiA6Zm9yZWdyb3VuZCAiZ3JheTM1IikpKQ0KKyAgICBgKHZ0 ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJs dWUpKSkNCisgICAgYCh2dGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFu IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAodnRlcm0tY29sb3ItZGVmYXVsdCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHZ0 ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCisgICAgYCh2dGVybS1jb2xvci1pbnZlcnNlLXZpZGVvICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1tYWluIDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYCh2dGVybS1jb2xvci1t YWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQorICAgIGAodnRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZv cmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLXVuZGVybGluZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHZ0ZXJt LWNvbG9yLXdoaXRlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjUiIDpmb3JlZ3JvdW5kICJn cmF5NjUiKSkpDQorICAgIGAodnRlcm0tY29sb3IteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IHdjaGVjay1tb2RlDQorICAg IGAod2NoZWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxp bmUgdCkpKQ0KKzs7Ozs7IHdlYi1tb2RlDQorICAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1t b2RlLWFubm90YXRpb24taHRtbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1l bnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWFubm90YXRpb24tdGFnLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHdl Yi1tb2RlLWJsb2NrLWF0dHItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1j b25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2stYXR0ci12YWx1ZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay10eXBlLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1i bG9jay1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNl KSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2stY29udHJvbC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1ibG9jay1kZWxpbWl0 ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2Rl LWJsb2NrLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKHdlYi1t b2RlLWJsb2NrLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1m YWNlKSkpDQorICAgIGAod2ViLW1vZGUtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCisgICAgYCh3ZWItbW9kZS1idWlsdGluLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1s b2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNvbW1lbnQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY29t bWVudC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFj ZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9u dC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtYXQtcnVsZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2Vi LW1vZGUtY3NzLWNvbG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4t ZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLWZ1bmN0aW9u LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBg KHdlYi1tb2RlLWNzcy1wcmlvcml0eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay13 YXJuaW5nLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtcHJvcGVydHktbmFtZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYCh3ZWItbW9k ZS1jc3MtcHNldWRvLWNsYXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWRvYy1m YWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLXNlbGVjdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1zdHJpbmct ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KKyAgICBgKHdl Yi1tb2RlLWNzcy12YXJpYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCisgICAgYCh3ZWItbW9kZS1jdXJyZW50LWNvbHVtbi1oaWdobGlnaHQtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAod2ViLW1vZGUtY3VycmVudC1l bGVtZW50LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtbWlsZCkpKQ0KKyAgICBgKHdlYi1tb2RlLWRvY3R5cGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAg IGAod2ViLW1vZGUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCkpKQ0KKyAgICBgKHdlYi1tb2RlLWZpbHRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1mb2xkZWQt ZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh3ZWItbW9kZS1mdW5jdGlvbi1j YWxsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkp KQ0KKyAgICBgKHdlYi1tb2RlLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBm b250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC1hdHRy LWN1c3RvbS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZh Y2UpKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZW5naW5lLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZXF1YWwtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWh0bWwt YXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUt ZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC1l bnRpdHktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNl KSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC10YWctYnJhY2tldC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLXRhZy1jdXN0b20tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAo d2ViLW1vZGUtaHRtbC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rp b24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC10YWctbmFtZXNwYWNlZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3ZWIt bW9kZS1odG1sLXRhZy11bmNsb3NlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVycm9yIDp1bmRl cmxpbmUgdCkpKQ0KKyAgICBgKHdlYi1tb2RlLWlubGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFsdCkpKQ0KKyAgICBgKHdlYi1tb2RlLWl0YWxpYy1mYWNlICgoLGNsYXNzIDppbmhl cml0IGl0YWxpYykpKQ0KKyAgICBgKHdlYi1tb2RlLWphdmFzY3JpcHQtY29tbWVudC1mYWNlICgo LGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2Rl LWphdmFzY3JpcHQtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5n LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1qc29uLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1qc29uLWNvbnRl eHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAg IGAod2ViLW1vZGUtanNvbi1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFu Y2VkLWZnKSkpDQorICAgIGAod2ViLW1vZGUtanNvbi1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0x LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo d2ViLW1vZGUtanN4LWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lh bC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh3ZWItbW9kZS1q c3gtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LGJsdWUtcmVmaW5lLWZnKSkpDQorICAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTUtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkN CisgICAgYCh3ZWItbW9kZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgOmluaGVyaXQg Zm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXBhcmFtLW5hbWUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAg IGAod2ViLW1vZGUtcGFydC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUt Y29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtcGFydC1mYWNlICgoLGNsYXNzIDppbmhl cml0IHdlYi1tb2RlLWJsb2NrLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1wYXJ0LXN0cmluZy1m YWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQorICAgIGAod2Vi LW1vZGUtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXByZXBy b2Nlc3Nvci1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc2NyaXB0LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgd2ViLW1vZGUtcGFydC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc3FsLWtleXdvcmQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNlKSkpDQor ICAgIGAod2ViLW1vZGUtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXN0 cmluZy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc3R5bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1zeW1ib2wtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2Rl LXR5cGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQor ICAgIGAod2ViLW1vZGUtdW5kZXJsaW5lLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQor ICAgIGAod2ViLW1vZGUtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS13YXJuaW5nLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpKQ0KKyAgICBgKHdlYi1t b2RlLXdoaXRlc3BhY2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6 Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKzs7Ozs7IHdncmVwDQorICAgIGAod2dyZXAt ZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykp KQ0KKyAgICBgKHdncmVwLWRvbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKHdncmVwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLWdyZWVuKSkpDQorICAgIGAod2dyZXAtZmlsZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYCh3Z3JlcC1yZWplY3QtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCis7Ozs7 OyB3aGljaC1mdW5jdGlvbi1tb2RlDQorICAgIGAod2hpY2gtZnVuYyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCis7Ozs7OyB3aGljaC1rZXkNCisgICAgYCh3aGljaC1r ZXktY29tbWFuZC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAod2hpY2gta2V5LWdyb3VwLWRlc2NyaXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAod2hpY2gta2V5LWhpZ2hsaWdodGVkLWNv bW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKHdoaWNoLWtleS1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWludGVuc2UpKSkNCisgICAgYCh3aGljaC1rZXktbG9jYWwtbWFwLWRlc2NyaXB0 aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh3aGljaC1r ZXktbm90ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisg ICAgYCh3aGljaC1rZXktc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkp DQorICAgIGAod2hpY2gta2V5LXNwZWNpYWwta2V5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsb3JhbmdlLWludGVuc2UpKSkNCis7Ozs7OyB3aGl0ZXNwYWNlLW1vZGUN CisgICAgYCh3aGl0ZXNwYWNlLWJpZy1pbmRlbnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKHdoaXRlc3BhY2UtZW1wdHkgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAod2hpdGVzcGFjZS1oc3Bh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdo aXRlc3BhY2UpKSkNCisgICAgYCh3aGl0ZXNwYWNlLWluZGVudGF0aW9uICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQorICAg IGAod2hpdGVzcGFjZS1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAg YCh3aGl0ZXNwYWNlLW5ld2xpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2Ug OmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCisgICAgYCh3aGl0ZXNwYWNlLXNwYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNw YWNlKSkpDQorICAgIGAod2hpdGVzcGFjZS1zcGFjZS1hZnRlci10YWIgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCisgICAgYCh3aGl0ZXNwYWNlLXNwYWNl LWJlZm9yZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkN CisgICAgYCh3aGl0ZXNwYWNlLXRhYiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFj ZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKyAgICBgKHdoaXRlc3BhY2UtdHJhaWxp bmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCis7Ozs7OyB3 aW5kb3ctZGl2aWRlci1tb2RlDQorICAgIGAod2luZG93LWRpdmlkZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLWlubmVyKSkpDQorICAgIGAod2luZG93LWRpdmlkZXIt Zmlyc3QtcGl4ZWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVy KSkpDQorICAgIGAod2luZG93LWRpdmlkZXItbGFzdC1waXhlbCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCis7Ozs7OyB3aW51bQ0KKyAgICBgKHdpbnVt LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bi1hY3RpdmUpKSkNCis7Ozs7OyB3cml0ZWdvb2QtbW9kZQ0KKyAgICBgKHdyaXRlZ29vZC1kdXBs aWNhdGVzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVk LWFsdCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh3cml0ZWdvb2QtcGFzc2l2ZS12b2ljZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctd2FybmluZykpKQ0KKyAgICBgKHdy aXRlZ29vZC13ZWFzZWxzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1l cnJvcikpKQ0KKzs7Ozs7IHdvbWFuDQorICAgIGAod29tYW4tYWRkaXRpb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAod29tYW4tYm9sZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAod29tYW4taXRh bGljICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBg KHdvbWFuLXVua25vd24gKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCis7Ozs7OyB4YWgtZWxpc3AtbW9kZQ0KKyAgICBgKHhhaC1lbGlzcC1hdC1zeW1ib2wg KCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpKQ0KKyAgICBgKHhhaC1l bGlzcC1jYXAtdmFyaWFibGUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXByZXByb2Nlc3Nv ci1mYWNlKSkpDQorICAgIGAoeGFoLWVsaXNwLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stdHlwZS1mYWNlKSkpDQorICAgIGAoeGFoLWVsaXNwLWRvbGxhci1zeW1ib2wg KCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKzs7Ozs7 IHhyZWYNCisgICAgYCh4cmVmLWZpbGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHhyZWYtbGluZS1udW1iZXIgKCgs Y2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoeHJlZi1tYXRjaCAoKCxjbGFzcyA6aW5o ZXJpdCBtYXRjaCkpKQ0KKzs7Ozs7IHlhbWwtbW9kZQ0KKyAgICBgKHlhbWwtdGFiLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCis7Ozs7OyB5YXNuaXBw ZXQNCisgICAgYCh5YXMtZmllbGQtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWhsLWFsdC1pbnRlbnNlKSkpDQorOzs7OzsgenRyZWUNCisgICAgYCh6dHJlZXAtYXJyb3ct ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYCh6dHJlZXAt ZGlmZi1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh6dHJlZXAtZGlmZi1oZWFkZXItc21h bGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1p bGQpKSkNCisgICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4pKSkNCisgICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1kaWZmLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHp0cmVlcC1kaWZmLW1vZGVsLWlnbm9yZWQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cgOnN0cmlrZS10aHJvdWdoIHQpKSkNCisgICAg YCh6dHJlZXAtZGlmZi1tb2RlbC1ub3JtYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cp KSkNCisgICAgYCh6dHJlZXAtZXhwYW5kLXNpZ24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKyAgICBgKHp0cmVlcC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh6dHJl ZXAtbGVhZi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoenRyZWVw LW5vZGUtY291bnQtY2hpbGRyZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQorICAgIGAoenRyZWVwLW5vZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKSkNCisgICJGYWNlIHNwZWNzIGZvciB1c2Ugd2l0aCBgbW9kdXMtdGhlbWVzLXRo ZW1lJy4iKQ0KKw0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtY3VzdG9tLXZhcmlhYmxlcw0KKyAg JygNCis7Ozs7IGFuc2ktY29sb3JzDQorICAgIGAoYW5zaS1jb2xvci1mYWNlcy12ZWN0b3IgW2Rl ZmF1bHQgYm9sZCBzaGFkb3cgaXRhbGljIHVuZGVybGluZSBzdWNjZXNzIHdhcm5pbmcgZXJyb3Jd KQ0KKyAgICBgKGFuc2ktY29sb3ItbmFtZXMtdmVjdG9yIFsiZ3JheTM1IiAscmVkICxncmVlbiAs eWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFuICJncmF5NjUiXSkNCis7Ozs7IGF3ZXNvbWUtdHJh eQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2RlLWxpbmUtYWN0aXZlLWNvbG9yICxibHVlKQ0KKyAg ICBgKGF3ZXNvbWUtdHJheS1tb2RlLWxpbmUtaW5hY3RpdmUtY29sb3IgLGJnLWFjdGl2ZSkNCis7 Ozs7IGV4d20NCisgICAgYChleHdtLWZsb2F0aW5nLWJvcmRlci1jb2xvciAsZmctd2luZG93LWRp dmlkZXItaW5uZXIpDQorOzs7OyBmbHltYWtlIGZyaW5nZSBpbmRpY2F0b3JzDQorICAgIGAoZmx5 bWFrZS1lcnJvci1iaXRtYXAgJyhmbHltYWtlLWRvdWJsZS1leGNsYW1hdGlvbi1tYXJrIG1vZHVz LXRoZW1lLWZyaW5nZS1yZWQpKQ0KKyAgICBgKGZseW1ha2Utd2FybmluZy1iaXRtYXAgJyhleGNs YW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKQ0KKyAgICBgKGZseW1ha2Ut bm90ZS1iaXRtYXAgJyhleGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkN Cis7Ozs7IGlidWZmZXINCisgICAgYChpYnVmZmVyLWRlbGV0aW9uLWZhY2UgJ21vZHVzLXRoZW1l LW1hcmstZGVsKQ0KKyAgICBgKGlidWZmZXItZmlsdGVyLWdyb3VwLW5hbWUtZmFjZSAnbW9kdXMt dGhlbWUtbWFyay1zeW1ib2wpDQorICAgIGAoaWJ1ZmZlci1tYXJrZWQtZmFjZSAnbW9kdXMtdGhl bWUtbWFyay1zZWwpDQorICAgIGAoaWJ1ZmZlci10aXRsZS1mYWNlICdtb2R1cy10aGVtZS1wc2V1 ZG8taGVhZGVyKQ0KKzs7OzsgaGlnaGxpZ2h0LXRhaWwNCisgICAgYChoaWdobGlnaHQtdGFpbC1j b2xvcnMNCisgICAgICAnKCgsZ3JlZW4tc3VidGxlLWJnIC4gMCkNCisgICAgICAgICgsY3lhbi1z dWJ0bGUtYmcgLiAyMCkpKQ0KKzs7OzsgaGwtdG9kbw0KKyAgICBgKGhsLXRvZG8ta2V5d29yZC1m YWNlcw0KKyAgICAgICcoKCJIT0xEIiAuICx5ZWxsb3ctYWx0KQ0KKyAgICAgICAgKCJUT0RPIiAu ICxtYWdlbnRhKQ0KKyAgICAgICAgKCJORVhUIiAuICxtYWdlbnRhLWFsdC1vdGhlcikNCisgICAg ICAgICgiVEhFTSIgLiAsbWFnZW50YS1hbHQpDQorICAgICAgICAoIlBST0ciIC4gLGN5YW4pDQor ICAgICAgICAoIk9LQVkiIC4gLGN5YW4tYWx0KQ0KKyAgICAgICAgKCJET05UIiAuICxncmVlbi1h bHQpDQorICAgICAgICAoIkZBSUwiIC4gLHJlZCkNCisgICAgICAgICgiQlVHIiAuICxyZWQpDQor ICAgICAgICAoIkRPTkUiIC4gLGdyZWVuKQ0KKyAgICAgICAgKCJOT1RFIiAuICx5ZWxsb3ctYWx0 LW90aGVyKQ0KKyAgICAgICAgKCJLTFVER0UiIC4gLHllbGxvdykNCisgICAgICAgICgiSEFDSyIg LiAseWVsbG93KQ0KKyAgICAgICAgKCJURU1QIiAuICxyZWQtbnVhbmNlZC1mZykNCisgICAgICAg ICgiRklYTUUiIC4gLHJlZC1hbHQtb3RoZXIpDQorICAgICAgICAoIlhYWCsiIC4gLHJlZC1hbHQp DQorICAgICAgICAoIlJFVklFVyIgLiAsY3lhbi1hbHQtb3RoZXIpDQorICAgICAgICAoIkRFUFJF Q0FURUQiIC4gLGJsdWUtbnVhbmNlZC1mZykpKQ0KKzs7OzsgcGRmLXRvb2xzDQorICAgIGAocGRm LXZpZXctbWlkbmlnaHQtY29sb3JzDQorICAgICAgJygsZmctbWFpbiAuICxiZy1kaW0pKQ0KKzs7 OzsgdmMtYW5ub3RhdGUgKEMteCB2IGcpDQorICAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3VuZCBu aWwpDQorICAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3VuZC1tb2RlIG5pbCkNCisgICAgYCh2Yy1h bm5vdGF0ZS1jb2xvci1tYXANCisgICAgICAnKCgyMCAuICxyZWQpDQorICAgICAgICAoNDAgLiAs bWFnZW50YSkNCisgICAgICAgICg2MCAuICxtYWdlbnRhLWFsdCkNCisgICAgICAgICg4MCAuICxy ZWQtYWx0KQ0KKyAgICAgICAgKDEwMCAuICx5ZWxsb3cpDQorICAgICAgICAoMTIwIC4gLHllbGxv dy1hbHQpDQorICAgICAgICAoMTQwIC4gLGZnLXNwZWNpYWwtd2FybSkNCisgICAgICAgICgxNjAg LiAsZmctc3BlY2lhbC1taWxkKQ0KKyAgICAgICAgKDE4MCAuICxncmVlbikNCisgICAgICAgICgy MDAgLiAsZ3JlZW4tYWx0KQ0KKyAgICAgICAgKDIyMCAuICxjeWFuLWFsdC1vdGhlcikNCisgICAg ICAgICgyNDAgLiAsY3lhbi1hbHQpDQorICAgICAgICAoMjYwIC4gLGN5YW4pDQorICAgICAgICAo MjgwIC4gLGZnLXNwZWNpYWwtY29sZCkNCisgICAgICAgICgzMDAgLiAsYmx1ZSkNCisgICAgICAg ICgzMjAgLiAsYmx1ZS1hbHQpDQorICAgICAgICAoMzQwIC4gLGJsdWUtYWx0LW90aGVyKQ0KKyAg ICAgICAgKDM2MCAuICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHZjLWFubm90YXRlLXZl cnktb2xkLWNvbG9yIG5pbCkNCis7Ozs7IHh0ZXJtLWNvbG9yDQorICAgIGAoeHRlcm0tY29sb3It bmFtZXMgWyJibGFjayIgLHJlZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50YSAsY3lhbiAi Z3JheTY1Il0pDQorICAgIGAoeHRlcm0tY29sb3ItbmFtZXMtYnJpZ2h0IFsiZ3JheTM1IiAscmVk LWFsdCAsZ3JlZW4tYWx0ICx5ZWxsb3ctYWx0ICxibHVlLWFsdCAsbWFnZW50YS1hbHQgLGN5YW4t YWx0ICJ3aGl0ZSJdKQ0KKyAgICAoaWYgKGVxIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzICdyYWlu Ym93KQ0KKyAgICAgICAgYChvcmctc3JjLWJsb2NrLWZhY2VzICAgICAgICAgICAgICA7IFRPRE8g dGhpcyBsaXN0IHNob3VsZCBiZSBleHBhbmRlZA0KKyAgICAgICAgICBgKCgiZW1hY3MtbGlzcCIg bW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KKyAgICAgICAgICAgICgiZWxpc3AiIG1vZHVz LXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCisgICAgICAgICAgICAoImNsb2p1cmUiIG1vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YSkNCisgICAgICAgICAgICAoImNsb2p1cmVzY3JpcHQiIG1vZHVz LXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCisgICAgICAgICAgICAoImMiIG1vZHVzLXRoZW1lLW51 YW5jZWQtYmx1ZSkNCisgICAgICAgICAgICAoImMrKyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVl KQ0KKyAgICAgICAgICAgICgic2giIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQorICAgICAg ICAgICAgKCJzaGVsbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCisgICAgICAgICAgICAo Imh0bWwiIG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93KQ0KKyAgICAgICAgICAgICgieG1sIiBt b2R1cy10aGVtZS1udWFuY2VkLXllbGxvdykNCisgICAgICAgICAgICAoImNzcyIgbW9kdXMtdGhl bWUtbnVhbmNlZC1yZWQpDQorICAgICAgICAgICAgKCJzY3NzIiBtb2R1cy10aGVtZS1udWFuY2Vk LXJlZCkNCisgICAgICAgICAgICAoInB5dGhvbiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikN CisgICAgICAgICAgICAoImlweXRob24iIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCisg ICAgICAgICAgICAoInIiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCisgICAgICAgICAgICAo InlhbWwiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCisgICAgICAgICAgICAoImNvbmYiIG1v ZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCisgICAgICAgICAgICAoImRvY2tlciIgbW9kdXMtdGhl bWUtbnVhbmNlZC1jeWFuKSkpDQorICAgICAgYChvcmctc3JjLWJsb2NrLWZhY2VzICcoKSkpKQ0K KyAgIkN1c3RvbSB2YXJpYWJsZXMgZm9yIGBtb2R1cy10aGVtZXMtdGhlbWUnLiIpDQorDQorOzs7 IyMjYXV0b2xvYWQNCisod2hlbiAoYW5kIChib3VuZHAgJ2N1c3RvbS10aGVtZS1sb2FkLXBhdGgp IGxvYWQtZmlsZS1uYW1lKQ0KKyAgKGFkZC10by1saXN0ICdjdXN0b20tdGhlbWUtbG9hZC1wYXRo DQorICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKGZpbGUtbmFtZS1kaXJl Y3RvcnkgbG9hZC1maWxlLW5hbWUpKSkpDQorDQorKHByb3ZpZGUgJ21vZHVzLXRoZW1lcykNCis7 OzsgbW9kdXMtdGhlbWVzLmVsIGVuZHMgaGVyZQ0KZGlmZiAtLWdpdCBhL2V0Yy90aGVtZXMvbW9k dXMtdml2ZW5kaS10aGVtZS5lbCBiL2V0Yy90aGVtZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbA0K aW5kZXggNzNmMDdkNjQ0Yi4uYThmOTI2MGNjZiAxMDA2NDQNCi0tLSBhL2V0Yy90aGVtZXMvbW9k dXMtdml2ZW5kaS10aGVtZS5lbA0KKysrIGIvZXRjL3RoZW1lcy9tb2R1cy12aXZlbmRpLXRoZW1l LmVsDQpAQCAtMSw0NjY2ICsxLDY2IEBADQogOzs7IG1vZHVzLXZpdmVuZGktdGhlbWUuZWwgLS0t IEFjY2Vzc2libGUgZGFyayB0aGVtZSAoV0NBRyBBQUEpIC0qLSBsZXhpY2FsLWJpbmRpbmc6dCAt Ki0NCiANCi07OyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4NCis7OyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSAgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuDQogDQogOzsgQXV0aG9yOiBQcm90ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHBy b3Rlc2lsYW9zLmNvbT4NCiA7OyBVUkw6IGh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9t b2R1cy10aGVtZXMNCi07OyBWZXJzaW9uOiAwLjEzLjANCis7OyBWZXJzaW9uOiAxLjIuMA0KIDs7 IFBhY2thZ2UtUmVxdWlyZXM6ICgoZW1hY3MgIjI2LjEiKSkNCiA7OyBLZXl3b3JkczogZmFjZXMs IHRoZW1lLCBhY2Nlc3NpYmlsaXR5DQogDQogOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVt YWNzLg0KIA0KLTs7IEdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQorOzsgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiA7OyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0K LTs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhl IExpY2Vuc2UsIG9yDQotOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCi0N Ci07OyBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwNCi07OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZg0KLTs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCi07OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KLQ0KKzs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdA0KKzs7IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCis7Ow0KKzs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQNCis7OyBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQorOzsg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZSBHTlUNCis7OyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQor OzsNCiA7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQ0KLTs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUg PGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCis7OyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQogDQog Ozs7IENvbW1lbnRhcnk6DQogOzsNCi07OyBUaGlzIHRoZW1lIGlzIGRlc2lnbmVkIGZvciBjb2xv dXItY29udHJhc3QgYWNjZXNzaWJpbGl0eS4NCi07Ow0KLTs7IDEuIFByb3ZpZGUgYSBjb25zaXN0 ZW50IG1pbmltdW0gY29udHJhc3QgcmF0aW8gYmV0d2VlbiBiYWNrZ3JvdW5kIGFuZA0KLTs7IGZv cmVncm91bmQgdmFsdWVzIG9mIDc6MSBvciBoaWdoZXIuICBUaGlzIG1lZXRzIHRoZSBoaWdoZXN0 IHN1Y2gNCi07OyBhY2Nlc3NpYmlsaXR5IGNyaXRlcmlvbiBwZXIgdGhlIGd1aWRlbGluZXMgb2Yg dGhlIFdvcmxkd2lkZSBXZWINCi07OyBDb25zb3J0aXVtJ3MgV29ya2luZyBHcm91cCBvbiBBY2Nl c3NpYmlsaXR5IChXQ0FHIEFBQSBzdGFuZGFyZCkuDQorOzsgTW9kdXMgVml2ZW5kaSBpcyB0aGUg ZGFyayB2YXJpYW50IG9mIHRoZSBNb2R1cyB0aGVtZXMgKE1vZHVzIE9wZXJhbmRpDQorOzsgaXMg dGhlIGxpZ2h0IG9uZSkuICBUaGUgdGhlbWVzIGFyZSBkZXNpZ25lZCBmb3IgY29sb3ItY29udHJh c3QNCis7OyBhY2Nlc3NpYmlsaXR5LiAgTW9yZSBzcGVjaWZpY2FsbHk6DQogOzsNCi07OyAyLiBP ZmZlciBhcyBjbG9zZSB0byBmdWxsIGZhY2UgY292ZXJhZ2UgYXMgcG9zc2libGUuICBUaGUgbGlz dCBpcw0KLTs7IGFscmVhZHkgcXVpdGUgbG9uZyAoc2VlIGZ1cnRoZXIgYmVsb3cpLCB3aXRoIG1v cmUgYWRkaXRpb25zIHRvIGZvbGxvdw0KLTs7IGFzIHBhcnQgb2YgdGhlIG9uZ29pbmcgZGV2ZWxv cG1lbnQgcHJvY2Vzcy4NCis7OyAgICAgMS4gUHJvdmlkZSBhIGNvbnNpc3RlbnQgbWluaW11bSBj b250cmFzdCByYXRpbyBiZXR3ZWVuIGJhY2tncm91bmQNCis7OyAgICAgYW5kIGZvcmVncm91bmQg dmFsdWVzIG9mIDc6MSBvciBoaWdoZXIuICBUaGlzIG1lZXRzIHRoZSBoaWdoZXN0DQorOzsgICAg IHN1Y2ggYWNjZXNzaWJpbGl0eSBjcml0ZXJpb24gcGVyIHRoZSBndWlkZWxpbmVzIG9mIHRoZSBX b3JsZHdpZGUNCis7OyAgICAgV2ViIENvbnNvcnRpdW0ncyBXb3JraW5nIEdyb3VwIG9uIEFjY2Vz c2liaWxpdHkgKFdDQUcgQUFBDQorOzsgICAgIHN0YW5kYXJkKS4NCiA7Ow0KLTs7IFRoZSB0aGVt ZSBwcm92aWRlcyB0aGUgZm9sbG93aW5nIGN1c3RvbWlzYXRpb24gb3B0aW9ucywgYWxsIG9mIHdo aWNoDQotOzsgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQ6DQorOzsgICAgIDIuIE9mZmVyIGFzIGNs b3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcyBwb3NzaWJsZS4gIFRoZSBsaXN0IGlzDQorOzsg ICAgIGFscmVhZHkgcXVpdGUgbG9uZywgd2l0aCBtb3JlIGFkZGl0aW9ucyB0byBmb2xsb3cgYXMg cGFydCBvZiB0aGUNCis7OyAgICAgb25nb2luZyBkZXZlbG9wbWVudCBwcm9jZXNzLg0KIDs7DQot OzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzICAgICAgICAgICAg IChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cyAg ICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS12YXJp YWJsZS1waXRjaC1oZWFkaW5ncyAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVu ZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAg ICBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzICAgICAgICAgICAgICAgICAgICAgICAoYWxp c3QpDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgICAgICAgICAg ICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMgICAg ICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1l LW9yZy1ibG9ja3MgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12 aXZlbmRpLXRoZW1lLXByb21wdHMgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7 ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUtbGluZSAgICAgICAgICAgICAgICAgICAgICAo Y2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZzICAgICAgICAgICAgICAg ICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWZhaW50LXN5 bnRheCAgICAgICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10 aGVtZS1pbnRlbnNlLWhsLWxpbmUgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1v ZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRjaCAgICAgICAgICAgIChib29sZWFu KQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lICAgICAgICAg ICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucyAg ICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1v dmVycmlkZS1jb2xvcnMtYWxpc3QgICAgICAgICAgKGFsaXN0KQ0KKzs7IEZvciBhIGNvbXBsZXRl IHZpZXcgb2YgdGhlIHByb2plY3QsIGFsc28gcmVmZXIgdG8gdGhlIGZvbGxvd2luZyBmaWxlcw0K Kzs7IChzaG91bGQgYmUgZGlzdHJpYnV0ZWQgaW4gdGhlIHNhbWUgcmVwb3NpdG9yeS9kaXJlY3Rv cnkgYXMgdGhlDQorOzsgY3VycmVudCBpdGVtKToNCiA7Ow0KLTs7IFRoZSBkZWZhdWx0IHNjYWxl IGlzIGFzIGZvbGxvd3MgKGl0IGNhbiBiZSBjdXN0b21pc2VkIGFzIHdlbGwpOg0KLTs7DQotOzsg ICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMSAxLjA1DQotOzsgICAgIG1vZHVzLXZpdmVu ZGktdGhlbWUtc2NhbGUtMiAxLjENCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0z IDEuMTUNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00IDEuMg0KLTs7ICAgICBt b2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTUgMS4zDQotOzsNCi07OyBXaGF0IGZvbGxvd3MgaXMg dGhlIGxpc3Qgb2YgZXhwbGljaXRseSBzdXBwb3J0ZWQgcGFja2FnZXMgb3IgZmFjZQ0KLTs7IGdy b3VwcyAodGhlcmUgYXJlIGltcGxpY2l0bHkgc3VwcG9ydGVkIHBhY2thZ2VzIGFzIHdlbGwsIHdo aWNoDQotOzsgaW5oZXJpdCBmcm9tIGZvbnQtbG9jayBvciBzb21lIGJhc2ljIGdyb3VwKS4gIFlv dSBhcmUgZW5jb3VyYWdlZCB0bw0KLTs7IG5vdGlmeSBtZSBvZiBhbnkgbWlzc2luZyBwYWNrYWdl IG9yIGNoYW5nZSB5b3Ugd291bGQgbGlrZSB0byBzZWUuDQotOzsNCi07OyAgICAgYWNlLXdpbmRv dw0KLTs7ICAgICBhZw0KLTs7ICAgICBhbGVydA0KLTs7ICAgICBhbGwtdGhlLWljb25zDQotOzsg ICAgIGFubm90YXRlDQotOzsgICAgIGFuenUNCi07OyAgICAgYXByb3Bvcw0KLTs7ICAgICBhcHQt c291cmNlcy1saXN0DQotOzsgICAgIGFydGJvbGxvY2tzLW1vZGUNCi07OyAgICAgYXVjdGV4IGFu ZCBUZVgNCi07OyAgICAgYXV0by1kaW0tb3RoZXItYnVmZmVycw0KLTs7ICAgICBhdnkNCi07OyAg ICAgYXdlc29tZS10cmF5DQotOzsgICAgIGJpbmRlcg0KLTs7ICAgICBibQ0KLTs7ICAgICBib25n bw0KLTs7ICAgICBib29uDQotOzsgICAgIGJyZWFrcG9pbnQgKHByb3ZpZGVkIGJ5IGJ1aWx0LWlu IGdkYi1taS5lbCkNCi07OyAgICAgYnVmZmVyLWV4cG9zZQ0KLTs7ICAgICBjYWxlbmRhciBhbmQg ZGlhcnkNCi07OyAgICAgY2FsZncNCi07OyAgICAgY2VudGF1ci10YWJzDQotOzsgICAgIGNoYW5n ZS1sb2cgYW5kIGxvZy12aWV3IChgdmMtcHJpbnQtbG9nJyBhbmQgYHZjLXByaW50LXJvb3QtbG9n JykNCi07OyAgICAgY2lkZXINCi07OyAgICAgY2lyY2UNCi07OyAgICAgY29sb3ItcmcNCi07OyAg ICAgY29sdW1uLWVuZm9yY2UtbW9kZQ0KLTs7ICAgICBjb21wYW55LW1vZGUNCi07OyAgICAgY29t cGFueS1wb3NmcmFtZQ0KLTs7ICAgICBjb21waWxhdGlvbi1tb2RlDQotOzsgICAgIGNvbXBsZXRp b25zDQotOzsgICAgIGNvdW5zZWwNCi07OyAgICAgY291bnNlbC1jc3MNCi07OyAgICAgY291bnNl bC1ub3RtdWNoDQotOzsgICAgIGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nDQotOzsgICAgIGNv dg0KLTs7ICAgICBjcGVybC1tb2RlDQotOzsgICAgIGNzdi1tb2RlDQotOzsgICAgIGN0cmxmDQot OzsgICAgIGN1c3RvbSAoTS14IGN1c3RvbWl6ZSkNCi07OyAgICAgZGFwLW1vZGUNCi07OyAgICAg ZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQotOzsgICAgIGRlYWRncmVwDQotOzsgICAgIGRl YmJ1Z3MNCi07OyAgICAgZGVmaW5lLXdvcmQNCi07OyAgICAgZGVmdA0KLTs7ICAgICBkaWN0aW9u YXJ5DQotOzsgICAgIGRpZmYtaGwNCi07OyAgICAgZGlmZi1tb2RlDQotOzsgICAgIGRpbS1hdXRv bG9hZA0KLTs7ICAgICBkaXItdHJlZXZpZXcNCi07OyAgICAgZGlyZWQNCi07OyAgICAgZGlyZWQt YXN5bmMNCi07OyAgICAgZGlyZWQtZ2l0DQotOzsgICAgIGRpcmVkLWdpdC1pbmZvDQotOzsgICAg IGRpcmVkLW5hcnJvdw0KLTs7ICAgICBkaXJlZC1zdWJ0cmVlDQotOzsgICAgIGRpcmVkZmwNCi07 OyAgICAgZGlzay11c2FnZQ0KLTs7ICAgICBkb29tLW1vZGVsaW5lDQotOzsgICAgIGR5bmFtaWMt cnVsZXINCi07OyAgICAgZWFzeS1qZWt5bGwNCi07OyAgICAgZWFzeS1raWxsDQotOzsgICAgIGVi ZGINCi07OyAgICAgZWRpZmYNCi07OyAgICAgZWdsb3QNCi07OyAgICAgZWwtc2VhcmNoDQotOzsg ICAgIGVsZG9jDQotOzsgICAgIGVsZG9jLWJveA0KLTs7ICAgICBlbGZlZWQNCi07OyAgICAgZWxm ZWVkLXNjb3JlDQotOzsgICAgIGVtbXMNCi07OyAgICAgZW5oYW5jZWQtcnVieS1tb2RlDQotOzsg ICAgIGVwYQ0KLTs7ICAgICBlcXVha2UNCi07OyAgICAgZXJjDQotOzsgICAgIGVyb3MNCi07OyAg ICAgZXJ0DQotOzsgICAgIGVzaGVsbA0KLTs7ICAgICBlc2hlbGwtZnJpbmdlLXN0YXR1cw0KLTs7 ICAgICBlc2hlbGwtZ2l0LXByb21wdA0KLTs7ICAgICBlc2hlbGwtcHJvbXB0LWV4dHJhcyAoZXBl KQ0KLTs7ICAgICBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0KLTs7ICAgICBldmlsIChldmls LW1vZGUpDQotOzsgICAgIGV2aWwtZ29nZ2xlcw0KLTs7ICAgICBldmlsLXZpc3VhbC1tYXJrLW1v ZGUNCi07OyAgICAgZXd3DQotOzsgICAgIGV5ZWJyb3dzZQ0KLTs7ICAgICBmYW5jeS1kYWJicmV2 DQotOzsgICAgIGZseWNoZWNrDQotOzsgICAgIGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZQ0KLTs7 ICAgICBmbHljaGVjay1pbmRpY2F0b3INCi07OyAgICAgZmx5Y2hlY2stcG9zZnJhbWUNCi07OyAg ICAgZmx5bWFrZQ0KLTs7ICAgICBmbHlzcGVsbA0KLTs7ICAgICBmbHlzcGVsbC1jb3JyZWN0DQot OzsgICAgIGZseA0KLTs7ICAgICBmcmVlemUtaXQNCi07OyAgICAgZnJvZy1tZW51DQotOzsgICAg IGZvY3VzDQotOzsgICAgIGZvbGQtdGhpcw0KLTs7ICAgICBmb250LWxvY2sgKGdlbmVyaWMgc3lu dGF4IGhpZ2hsaWdodGluZykNCi07OyAgICAgZm9yZ2UNCi07OyAgICAgZm91bnRhaW4gKGZvdW50 YWluLW1vZGUpDQotOzsgICAgIGdlaXNlcg0KLTs7ICAgICBnaXQtY29tbWl0DQotOzsgICAgIGdp dC1ndXR0ZXIgKGFuZCB2YXJpYW50cykNCi07OyAgICAgZ2l0LWxlbnMNCi07OyAgICAgZ2l0LXJl YmFzZQ0KLTs7ICAgICBnaXQtdGltZW1hY2hpbmUNCi07OyAgICAgZ2l0LXdhbGt0cmVlDQotOzsg ICAgIGdudXMNCi07OyAgICAgZ29sZGVuLXJhdGlvLXNjcm9sbC1zY3JlZW4NCi07OyAgICAgaGVs bQ0KLTs7ICAgICBoZWxtLWxzLWdpdA0KLTs7ICAgICBoZWxtLXN3aXRjaC1zaGVsbA0KLTs7ICAg ICBoZWxtLXhyZWYNCi07OyAgICAgaGVscGZ1bA0KLTs7ICAgICBoaWdobGlnaHQtYmxvY2tzDQot OzsgICAgIGhpZ2hsaWdodC1kZWZpbmVkDQotOzsgICAgIGhpZ2hsaWdodC1lc2NhcGUtc2VxdWVu Y2VzIChgaGVzLW1vZGUnKQ0KLTs7ICAgICBoaWdobGlnaHQtaW5kZW50YXRpb24NCi07OyAgICAg aGlnaGxpZ2h0LW51bWJlcnMNCi07OyAgICAgaGlnaGxpZ2h0LXN5bWJvbA0KLTs7ICAgICBoaWdo bGlnaHQtdGFpbA0KLTs7ICAgICBoaWdobGlnaHQtdGhpbmcNCi07OyAgICAgaGwtZGVmaW5lZA0K LTs7ICAgICBobC1maWxsLWNvbHVtbg0KLTs7ICAgICBobC1saW5lLW1vZGUNCi07OyAgICAgaGwt dG9kbw0KLTs7ICAgICBoeWRyYQ0KLTs7ICAgICBoeXBlcmxpc3QNCi07OyAgICAgaWJ1ZmZlcg0K LTs7ICAgICBpY29tcGxldGUNCi07OyAgICAgaWRvLW1vZGUNCi07OyAgICAgaWVkaXQNCi07OyAg ICAgaWZsaXBiDQotOzsgICAgIGltZW51LWxpc3QNCi07OyAgICAgaW5kaXVtDQotOzsgICAgIGlu Zm8NCi07OyAgICAgaW5mby1jb2xvcnMNCi07OyAgICAgaW50ZXJhY3Rpb24tbG9nDQotOzsgICAg IGlvY2N1cg0KLTs7ICAgICBpc2VhcmNoLCBvY2N1ciwgZXRjLg0KLTs7ICAgICBpdnkNCi07OyAg ICAgaXZ5LXBvc2ZyYW1lDQotOzsgICAgIGppcmEgKG9yZy1qaXJhKQ0KLTs7ICAgICBqb3VybmFs Y3RsLW1vZGUNCi07OyAgICAganMyLW1vZGUNCi07OyAgICAganVsaWENCi07OyAgICAganVweXRl cg0KLTs7ICAgICBrYW9jaGEtcnVubmVyDQotOzsgICAgIGtleWNhc3QNCi07OyAgICAgbGluZSBu dW1iZXJzIChgZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZScgYW5kIGdsb2JhbCB2YXJpYW50KQ0K LTs7ICAgICBsc3AtbW9kZQ0KLTs7ICAgICBsc3AtdWkNCi07OyAgICAgbWFnaXQNCi07OyAgICAg bWFnaXQtaW1lcmdlDQotOzsgICAgIG1hbg0KLTs7ICAgICBtYXJrZG93bi1tb2RlDQotOzsgICAg IG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9kZScpDQotOzsgICAgIG1lbnRvcg0KLTs7ICAgICBtZXNz YWdlcw0KLTs7ICAgICBtaW5pYnVmZmVyLWxpbmUNCi07OyAgICAgbWluaW1hcA0KLTs7ICAgICBt b2RlbGluZQ0KLTs7ICAgICBtb29kLWxpbmUNCi07OyAgICAgbXBkZWwNCi07OyAgICAgbXU0ZQ0K LTs7ICAgICBtdTRlLWNvbnZlcnNhdGlvbg0KLTs7ICAgICBtdWx0aXBsZS1jdXJzb3JzDQotOzsg ICAgIG5lb3RyZWUNCi07OyAgICAgbm8tZW1vamkNCi07OyAgICAgbm90bXVjaA0KLTs7ICAgICBu dW0zLW1vZGUNCi07OyAgICAgbnhtbC1tb2RlDQotOzsgICAgIG9iamVkDQotOzsgICAgIG9yZGVy bGVzcw0KLTs7ICAgICBvcmcNCi07OyAgICAgb3JnLWpvdXJuYWwNCi07OyAgICAgb3JnLW5vdGVy DQotOzsgICAgIG9yZy1wb21vZG9ybw0KLTs7ICAgICBvcmctcmVjdXINCi07OyAgICAgb3JnLXJv YW0NCi07OyAgICAgb3JnLXN1cGVyc3Rhcg0KLTs7ICAgICBvcmctdGFibGUtc3RpY2t5LWhlYWRl cg0KLTs7ICAgICBvcmctdHJlZXNjb3BlDQotOzsgICAgIG9yaWdhbWkNCi07OyAgICAgb3V0bGlu ZS1tb2RlDQotOzsgICAgIG91dGxpbmUtbWlub3ItZmFjZXMNCi07OyAgICAgcGFja2FnZSAoTS14 IGxpc3QtcGFja2FnZXMpDQotOzsgICAgIHBhZ2UtYnJlYWstbGluZXMNCi07OyAgICAgcGFyYWRv eA0KLTs7ICAgICBwYXJlbi1mYWNlDQotOzsgICAgIHBhcnJvdA0KLTs7ICAgICBwYXNzDQotOzsg ICAgIHBlcnNwLW1vZGUNCi07OyAgICAgcGVyc3BlY3RpdmUNCi07OyAgICAgcGhpLWdyZXANCi07 OyAgICAgcGhpLXNlYXJjaA0KLTs7ICAgICBwa2didWlsZC1tb2RlDQotOzsgICAgIHBvbWlkb3IN Ci07OyAgICAgcG93ZXJsaW5lDQotOzsgICAgIHBvd2VybGluZS1ldmlsDQotOzsgICAgIHByb2Nl ZA0KLTs7ICAgICBwcm9kaWd5DQotOzsgICAgIHJhY2tldC1tb2RlDQotOzsgICAgIHJhaW5ib3ct YmxvY2tzDQotOzsgICAgIHJhaW5ib3ctaWRlbnRpZmllcnMNCi07OyAgICAgcmFpbmJvdy1kZWxp bWl0ZXJzDQotOzsgICAgIHJjaXJjDQotOzsgICAgIHJlZ2V4cC1idWlsZGVyIChhbHNvIGtub3du IGFzIGByZS1idWlsZGVyJykNCi07OyAgICAgcmcNCi07OyAgICAgcmlwZ3JlcA0KLTs7ICAgICBy bWFpbA0KLTs7ICAgICBydWxlci1tb2RlDQotOzsgICAgIHNhbGxldA0KLTs7ICAgICBzZWxlY3Ry dW0NCi07OyAgICAgc2VtYW50aWMNCi07OyAgICAgc2VzbWFuDQotOzsgICAgIHNoZWxsLXNjcmlw dC1tb2RlDQotOzsgICAgIHNob3ctcGFyZW4tbW9kZQ0KLTs7ICAgICBzaWRlLW5vdGVzDQotOzsg ICAgIHNrZXdlci1tb2RlDQotOzsgICAgIHNtYXJ0LW1vZGUtbGluZQ0KLTs7ICAgICBzbWFydHBh cmVucw0KLTs7ICAgICBzbWVyZ2UNCi07OyAgICAgc3BhY2VsaW5lDQotOzsgICAgIHNwZWVkYmFy DQotOzsgICAgIHNwZWxsLWZ1DQotOzsgICAgIHN0cmlwZXMNCi07OyAgICAgc3VnZ2VzdA0KLTs7 ICAgICBzd2l0Y2gtd2luZG93DQotOzsgICAgIHN3aXBlcg0KLTs7ICAgICBzd29vcA0KLTs7ICAg ICBzeA0KLTs7ICAgICBzeW1ib2wtb3ZlcmxheQ0KLTs7ICAgICB0YWItYmFyLW1vZGUNCi07OyAg ICAgdGFiLWxpbmUtbW9kZQ0KLTs7ICAgICBzeXNsb2ctbW9kZQ0KLTs7ICAgICB0YWJsZSAoYnVp bHQtaW4gdGFibGUuZWwpDQotOzsgICAgIHRlbGVwaG9uZS1saW5lDQotOzsgICAgIHRlcm0NCi07 OyAgICAgdG9tYXRpbmhvDQotOzsgICAgIHRyYW5zaWVudCAocG9wLXVwIHdpbmRvd3MgbGlrZSBN YWdpdCdzKQ0KLTs7ICAgICB0cmFzaGVkDQotOzsgICAgIHRyZWVtYWNzDQotOzsgICAgIHR0eS1t ZW51DQotOzsgICAgIHR1YXJlZw0KLTs7ICAgICB0eXBlc2NyaXB0DQotOzsgICAgIHVuZG8tdHJl ZQ0KLTs7ICAgICB2YyAoYnVpbHQtaW4gbW9kZSBsaW5lIHN0YXR1cyBmb3IgdmVyc2lvbiBjb250 cm9sKQ0KLTs7ICAgICB2Yy1hbm5vdGF0ZSAoQy14IHYgZykNCi07OyAgICAgdmRpZmYNCi07OyAg ICAgdmltaXNoLWZvbGQNCi07OyAgICAgdmlzaWJsZS1tYXJrDQotOzsgICAgIHZpc3VhbC1yZWdl eHANCi07OyAgICAgdm9sYXRpbGUtaGlnaGxpZ2h0cw0KLTs7ICAgICB2dGVybQ0KLTs7ICAgICB3 Y2hlY2stbW9kZQ0KLTs7ICAgICB3ZWItbW9kZQ0KLTs7ICAgICB3Z3JlcA0KLTs7ICAgICB3aGlj aC1mdW5jdGlvbi1tb2RlDQotOzsgICAgIHdoaWNoLWtleQ0KLTs7ICAgICB3aGl0ZXNwYWNlLW1v ZGUNCi07OyAgICAgd2luZG93LWRpdmlkZXItbW9kZQ0KLTs7ICAgICB3aW51bQ0KLTs7ICAgICB3 cml0ZWdvb2QtbW9kZQ0KLTs7ICAgICB3b21hbg0KLTs7ICAgICB4YWgtZWxpc3AtbW9kZQ0KLTs7 ICAgICB4cmVmDQotOzsgICAgIHh0ZXJtLWNvbG9yIChhbmQgYW5zaS1jb2xvcnMpDQotOzsgICAg IHlhbWwtbW9kZQ0KLTs7ICAgICB5YXNuaXBwZXQNCi07OyAgICAgenRyZWUNCis7OyAtIG1vZHVz LXRoZW1lcy5lbCAgICAgICAgICAgIChNYWluIGNvZGUgc2hhcmVkIGJldHdlZW4gdGhlIHRoZW1l cykNCis7OyAtIG1vZHVzLW9wZXJhbmRpLXRoZW1lLmVsICAgIChMaWdodCB0aGVtZSkNCiANCiA7 OzsgQ29kZToNCiANCiAMDQogDQotKGRlZnRoZW1lIG1vZHVzLXZpdmVuZGkNCi0gICJEYXJrIHRo ZW1lIHRoYXQgY29uZm9ybXMgd2l0aCB0aGUgaGlnaGVzdCBhY2Nlc3NpYmlsaXR5DQotICBzdGFu ZGFyZCBmb3IgY29sb3VyIGNvbnRyYXN0IGJldHdlZW4gYmFja2dyb3VuZCBhbmQNCi0gIGZvcmVn cm91bmQgZWxlbWVudHMgKFdDQUcgQUFBKS4iKQ0KLQ0KLTs7OyBDdXN0b20gZmFjZXMNCi0NCi07 OyBUaGVzZSBmYWNlcyB3aWxsIGJlIGluaGVyaXRlZCBieSBhY3R1YWwgY29uc3RydWN0cy4gIFRo ZXkgYXJlIG1lYW50DQotOzsgZm9yIHRob3NlIGNhc2VzIHdoZXJlIGEgZmFjZSBuZWVkcyB0byBk aXN0aW5ndWlzaCBpdHMgb3V0cHV0IGZyb20NCi07OyB0aGUgcmVzdCBvZiB0aGUgdGV4dCwgc3Vj aCBhcyBgaXNlYXJjaCcgYW5kIGBvY2N1cifigKYgIFdlIGRlZmluZQ0KLTs7IHRoZXNlIHNlcGFy YXRlbHkgaW4gb3JkZXIgdG8gY29tYmluZSBlYWNoIGNvbG91ciB3aXRoIGl0cw0KLTs7IGFwcHJv cHJpYXRlIGZvcmVncm91bmQgdmFsdWUuICBUaGlzIGlzIHRvIGVuc3VyZSBhIGNvbnNpc3RlbnQN Ci07OyBjb250cmFzdCByYXRpbyBvZiA+PSA3OjEuDQotKGRlZmdyb3VwIG1vZHVzLXRoZW1lICgp DQotICAiVGhlbWUgdGhhdCBlbnN1cmVzIFdDQUcgQUFBIGFjY2Vzc2liaWxpdHkgKGNvbnRyYXN0 IHJhdGlvDQotYmV0d2VlbiBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGlzID49IDc6MSkuIg0K LSAgOmdyb3VwICdmYWNlcw0KLSAgOnByZWZpeCAibW9kdXMtdGhlbWUtIg0KLSAgOmxpbmsgJyh1 cmwtbGluayA6dGFnICJHaXRMYWIiICJodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9k dXMtdGhlbWVzIikNCi0gIDp0YWcgIk1vZHVzIFZpdmVuZGkiKQ0KLQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLXN1YnRsZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUt Z3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93IG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLXN1YnRsZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLW5l dXRyYWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLWludGVuc2UtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2Ut bWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbiBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1yZWZpbmUtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUt eWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtYWN0aXZlLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVl biBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cgbmlsIG5pbCkN Ci0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt YWN0aXZlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtcmVkIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLWZyaW5nZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdl LW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbiBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLW51YW5jZWQteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNl ZC1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtc3BlY2lhbC1taWxkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lh bC13YXJtIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWRpZmYtcmVtb3ZlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5l LWFkZGVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdl ZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtZGlmZi1oZWFkaW5nIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcHNl dWRvLWhlYWRlciBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstYWx0IG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1kZWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1tYXJrLXNlbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmst c3ltYm9sIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0xIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0yIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtaGVhZGluZy0zIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGlu Zy00IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy01IG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy02IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtaGVhZGluZy03IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy04 IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGwtbGluZSBuaWwgbmlsKQ0KLQ0KLTs7 OyBDdXN0b21pc2F0aW9uIG9wdGlvbnMNCi0NCi07OyBVc2VyLWZhY2luZyBjdXN0b21pc2F0aW9u IG9wdGlvbnMuICBUaGV5IGFyZSBhbGwgZGVhY3RpdmF0ZWQgYnkNCi07OyBkZWZhdWx0ICh1c2Vy cyBtdXN0IG9wdCBpbikuDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQt Y29uc3RydWN0cyBuaWwNCi0gICJVc2Ugc2xhbnRlZCB0ZXh0IGluIG1vcmUgY29kZSBjb25zdHJ1 Y3RzIChpdGFsaWNzIG9yIG9ibGlxdWUpLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZj dXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgbmlsDQotICAiVXNlIGJv bGQgdGV4dCBpbiBtb3JlIGNvZGUgY29uc3RydWN0cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0N Ci0oZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzICdtb2R1cy12aXZlbmRpLXRoZW1lLXBy b3BvcnRpb25hbC1mb250cw0KLSAgJ21vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gt aGVhZGluZ3MgImBtb2R1cy12aXZlbmRpLXRoZW1lJyAwLjExLjAiKQ0KLQ0KLShkZWZjdXN0b20g bW9kdXMtdml2ZW5kaS10aGVtZS1wcm9wb3J0aW9uYWwtZm9udHMgbmlsDQotICAiVXNlIHByb3Bv cnRpb25hbCBmb250cyAodmFyaWFibGUtcGl0Y2gpIGluIGhlYWRpbmdzLiINCi0gIDp0eXBlICdi b29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRj aC1oZWFkaW5ncyBuaWwNCi0gICJVc2UgcHJvcG9ydGlvbmFsIGZvbnRzICh2YXJpYWJsZS1waXRj aCkgaW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1 cy12aXZlbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzIG5pbA0KLSAgIkRpc2FibGUgaW5oZXJpdGFu Y2UgZnJvbSBgZml4ZWQtcGl0Y2gnIGluIHNvbWUgZmFjZXMuDQotDQotVGhpcyBpcyBkb25lIGJ5 IGRlZmF1bHQgdG8gYWxsb3cgc3BhY2luZy1zZW5zaXRpdmUgY29uc3RydWN0cywNCi1zdWNoIGFz IE9yZyB0YWJsZXMgYW5kIGNvZGUgYmxvY2tzLCB0byByZW1haW4gbW9ub3NwYWNlZCB3aGVuDQot dXNlcnMgb3B0IGZvciBzb21ldGhpbmcgbGlrZSB0aGUgY29tbWFuZCBgdmFyaWFibGUtcGl0Y2gt bW9kZScuDQotVGhlIGRvd25zaWRlIHdpdGggdGhlIGRlZmF1bHQgaXMgdGhhdCB1c2VycyBuZWVk IHRvIGV4cGxpY2l0bHkNCi1jb25maWd1cmUgdGhlIGZvbnQgZmFtaWx5IG9mIGBmaXhlZC1waXRj aCcgaW4gb3JkZXIgdG8gZ2V0IGENCi1jb25zaXN0ZW50IGV4cGVyaWVuY2UuICBUaGF0IG1heSBi ZSBzb21ldGhpbmcgdGhleSBkbyBub3Qgd2FudCB0bw0KLWRvLiAgSGVuY2UgdGhpcyBvcHRpb24g dG8gZGlzYWJsZSBhbnkga2luZCBvZiB0ZWNobmlxdWUgZm9yDQotbWl4aW5nIGZvbnRzLiINCi0g IDp0eXBlICdib29sZWFuKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1l LXJhaW5ib3ctaGVhZGluZ3MNCi0gICAgICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1o ZWFkaW5ncw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMy4wIikN Ci0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncyBuaWwN Ci0gICJVc2UgbW9yZSBzYXR1cmF0ZWQgY29sb3VycyBmb3IgaGVhZGluZ3MuIg0KLSAgOnR5cGUg J2Jvb2xlYW4pDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2VjdGlv bi1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICdtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdz DQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZlbmRpLXRoZW1lJyAwLjEzLjAiKQ0KLQ0KLShk ZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1zZWN0aW9uLWhlYWRpbmdzIG5pbA0KLSAgIlVz ZSBhIGJhY2tncm91bmQgYW5kIGFuIG92ZXJsaW5lIGluIGhlYWRpbmdzLiINCi0gIDp0eXBlICdi b29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAg JygodCAuIG5pbCkpDQotICAiQWxpc3Qgb2Ygc3R5bGVzIGZvciBoZWFkaW5ncywgd2l0aCBvcHRp b25hbCB2YWx1ZSBwZXIgbGV2ZWwuDQotDQotVG8gY29udHJvbCBmYWNlcyBwZXIgbGV2ZWwgZnJv bSAxLTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KLQ0KLSAgKHNldHEgbW9kdXMtdml2ZW5k aS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgJygoMSAuIGhpZ2hsaWdodCkNCi0gICAgICAgICAg KDIgLiBsaW5lKQ0KLSAgICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQotDQot VG8gc2V0IGEgdW5pZm9ybSB2YWx1ZSBmb3IgYWxsIGhlYWRpbmcgbGV2ZWxzLCB1c2UgdGhpcyBw YXR0ZXJuOg0KLQ0KLSAgKHNldHEgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAg ICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQotDQotVGhlIGRlZmF1bHQgdXNlcyBh IGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHZhbHVlIGluDQotY29tYmluYXRpb24gd2l0 aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0aGlzDQotc3R5bGUgZm9y IGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyDQotZmFs bGJhY2sgb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRoZSB2YWx1ZSB0IGxpa2UgdGhpczoNCi0NCi0g IChzZXRxIG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZ3MNCi0gICAgICAgICcoKDEgLiB0KQ0K LSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJv bGQpKSkNCi0NCi1BIGRlc2NyaXB0aW9uIG9mIGFsbCBwb3NzaWJsZSB2YWx1ZXM6DQotDQotKyBg bm8tYm9sZCcgcmV0YWlucyB0aGUgZGVmYXVsdCB0ZXh0IGNvbG91ciB3aGlsZSByZW1vdmluZw0K LSAgdGhlIHR5cG9ncmFwaGljIHdlaWdodC4NCi0NCi0rIGBsaW5lJyBpcyB0aGUgc2FtZSBhcyB0 aGUgZGVmYXVsdCBwbHVzIGFuIG92ZXJsaW5lIG92ZXIgdGhlDQotICBoZWFkaW5nLg0KLQ0KLSsg YGxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQu DQotDQotKyBgcmFpbmJvdycgdXNlcyBhIG1vcmUgY29sb3VyZnVsIGZvcmVncm91bmQgaW4gY29t YmluYXRpb24NCi0gIHdpdGggYm9sZCB3ZWlnaHQuDQotDQotKyBgcmFpbmJvdy1saW5lJyBpcyB0 aGUgc2FtZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBvdmVybGluZS4NCi0NCi0rIGByYWluYm93LWxp bmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctbGluZScgd2l0aG91dA0KLSAgdGhl IGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYGhpZ2hsaWdodCcgcmV0YWlucyB0aGUgZGVmYXVsdCBzdHls ZSBvZiBhIGZhaXJseSBkZXNhdHVyYXRlZA0KLSAgZm9yZWdyb3VuZCBjb21iaW5lZCB3aXRoIGEg Ym9sZCB3ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1YnRsZQ0KLSAgYWNjZW50ZWQgYmFja2dyb3Vu ZC4NCi0NCi0rIGBoaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcg d2l0aG91dCBhIGJvbGQNCi0gIHdlaWdodC4NCi0NCi0rIGByYWluYm93LWhpZ2hsaWdodCcgaXMg dGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdpdGggYSBtb3JlDQotICBjb2xvdXJmdWwgZm9y ZWdyb3VuZC4NCi0NCi0rIGByYWluYm93LWhpZ2hsaWdodC1uby1ib2xkJyBpcyB0aGUgc2FtZSBh cyBgcmFpbmJvdy1oaWdobGlnaHQnDQotICB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuDQotDQotKyBg c2VjdGlvbicgcmV0YWlucyB0aGUgZGVmYXVsdCBsb29rcyBhbmQgYWRkcyB0byB0aGVtIGJvdGgg YW4NCi0gIG92ZXJsaW5lIGFuZCBhIHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQuICBJdCBp cywgaW4gZWZmZWN0LA0KLSAgYSBjb21iaW5hdGlvbiBvZiB0aGUgYGxpbmUnIGFuZCBgaGlnaGxp Z2h0JyB2YWx1ZXMuDQotDQotKyBgc2VjdGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgc2Vj dGlvbicgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdodC4NCi0NCi0rIGByYWluYm93LXNlY3Rpb24n IGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9uJyBidXQgd2l0aCBhIG1vcmUNCi0gIGNvbG91cmZ1bCBm b3JlZ3JvdW5kLg0KLQ0KLSsgYHJhaW5ib3ctc2VjdGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBh cyBgcmFpbmJvdy1zZWN0aW9uJw0KLSAgd2l0aG91dCBhIGJvbGQgd2VpZ2h0LiINCi0gIDp0eXBl DQotICAnKGFsaXN0DQotICAgIDprZXktdHlwZSBzeW1ib2wNCi0gICAgOnZhbHVlLXR5cGUNCi0g ICAgKGNob2ljZSAoY29uc3QgOnRhZyAiRmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgd2l0 aCBib2xkIHdlaWdodCAoZGVmYXVsdCkiIHQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgdGhlIGRlZmF1bHQgd2l0aG91dCBib2xkIHdlaWdodCIgbm8tYm9sZCkNCi0gICAgICAgICAg ICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCBwbHVzIG92ZXJsaW5lIiBsaW5lKQ0KLSAg ICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBsaW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBs aW5lLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQg YnV0IHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdykNCi0gICAgICAgICAg ICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycgcGx1cyBvdmVybGluZSIgcmFpbmJvdy1saW5l KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93JyB3aXRob3V0IGJvbGQg d2VpZ2h0IiByYWluYm93LW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2Ug YHJhaW5ib3ctbGluZScgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1saW5lLW5vLWJvbGQp DQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgcGx1cyBzdWJ0bGUg YmFja2dyb3VuZCIgaGlnaGxpZ2h0KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBo aWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIGhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAg ICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHdpdGggbW9yZSBjb2xvdXJmdWwg Zm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcg Ikxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LWhp Z2hsaWdodC1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGln aHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHNlY3Rpb24tbm8tYm9sZCkNCi0gICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aCBtb3JlIGNvbG91cmZ1bCBm b3JlZ3JvdW5kIiByYWluYm93LXNlY3Rpb24pDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgYHJhaW5ib3ctc2VjdGlvbicgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1zZWN0aW9u LW5vLWJvbGQpKSkpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLWhl YWRpbmdzIG5pbA0KLSAgIlVzZSBmb250IHNjYWxpbmcgZm9yIGhlYWRpbmdzLiINCi0gIDp0eXBl ICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xIDEu MDUNCi0gICJGb250IHNpemUgdGhhdCBpcyBzbGlnaHRseSBsYXJnZXIgdGhhbiB0aGUgYmFzZSB2 YWx1ZS4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0 ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2 YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29s dXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcg dGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwg cmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZp Y2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRl ZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTIgMS4xDQotICAiRm9udCBzaXplIHNs aWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTEnLg0KLVRoZSBk ZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRp cGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28g YWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChl LmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAx NCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1 bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpo ZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVz LXZpdmVuZGktdGhlbWUtc2NhbGUtMyAxLjE1DQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdl ciB0aGFuIGBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTInLg0KLVRoZSBkZWZhdWx0IGlzIGEg ZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhl IGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0K LWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUg b2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXpl KS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9m DQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rp b24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhl bWUtc2NhbGUtNCAxLjINCi0gICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVz LXZpdmVuZGktdGhlbWUtc2NhbGUtMycuDQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2lu dCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNp emUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5k ZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10 aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBt b3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2Ut YXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlw ZSAnbnVtYmVyKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS01IDEu Mw0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtdml2ZW5kaS10aGVt ZS1zY2FsZS00Jy4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50 ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIs IHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFu IGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNl dHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1h dHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBz cGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQot DQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtdmlzaWJsZS1mcmluZ2VzDQot ICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcw0KLSAgICAgICAgICAg ICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMi4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVz LXZpdmVuZGktdGhlbWUtdmlzaWJsZS1mcmluZ2VzIG5pbA0KLSAgIlVzZSBhIHZpc2libGUgc3R5 bGUgZm9yIGZyaW5nZXMuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1 cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMgbmlsDQotICAiRGVmaW5lIHRoZSB2aXNpYmlsaXR5IG9m IGZyaW5nZXMuDQotDQotTmlsIG1lYW5zIHRoZSBmcmluZ2VzIGhhdmUgbm8gYmFja2dyb3VuZCBj b2xvdXIuICBPcHRpb24gYHN1YnRsZScNCi13aWxsIGFwcGx5IGEgZ3JleXNjYWxlIHZhbHVlIHRo YXQgaXMgdmlzaWJsZSB5ZXQgY2xvc2UgdG8gdGhlDQotbWFpbiBidWZmZXIgYmFja2dyb3VuZCBj b2xvdXIuICBPcHRpb24gYGludGVuc2UnIHdpbGwgdXNlIGEgbW9yZQ0KLXByb25vdW5jZWQgZ3Jl eXNjYWxlIHZhbHVlLiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFn ICJObyB2aXNpYmxlIGZyaW5nZXMgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6 dGFnICJTdWJ0bGUgZ3JleXNjYWxlIGJhY2tncm91bmQiIHN1YnRsZSkNCi0gICAgICAgICAgKGNv bnN0IDp0YWcgIkludGVuc2UgZ3JleXNjYWxlIGJhY2tncm91bmQiIGludGVuc2UpKSkNCi0NCi0o bWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1kaXN0aW5jdC1vcmctYmxvY2tzDQot ICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2Nrcw0KLSAgICAgICAg ICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMS4wIikNCi0NCi0oZGVmY3VzdG9tIG1v ZHVzLXZpdmVuZGktdGhlbWUtZGlzdGluY3Qtb3JnLWJsb2NrcyBuaWwNCi0gICJVc2UgYSBkaXN0 aW5jdCBuZXV0cmFsIGJhY2tncm91bmQgZm9yIGBvcmctbW9kZScgYmxvY2tzLiINCi0gIDp0eXBl ICdib29sZWFuKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXJhaW5i b3ctb3JnLXNyYy1ibG9ja3MNCi0gICAgICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1v cmctYmxvY2tzDQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZlbmRpLXRoZW1lJyAwLjExLjAi KQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1yYWluYm93LW9yZy1zcmMtYmxv Y2tzIG5pbA0KLSAgIlVzZSBjb2xvdXItY29kZWQgYmFja2dyb3VuZHMgZm9yIGBvcmctbW9kZScg c291cmNlIGJsb2Nrcy4NCi1UaGUgY29sb3VyIGluIHVzZSBkZXBlbmRzIG9uIHRoZSBsYW5ndWFn ZSAoc2VuZCBmZWVkYmFjayB0bw0KLWluY2x1ZGUgbW9yZSBsYW5ndWFnZXMpLiINCi0gIDp0eXBl ICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tz IG5pbA0KLSAgIlVzZSBhIHN1YnRsZSBncmV5IG9yIGNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kIGZv ciBPcmcgYmxvY2tzLg0KLQ0KLU5pbCBtZWFucyB0aGF0IHRoZSBibG9jayB3aWxsIGhhdmUgbm8g YmFja2dyb3VuZCBvZiBpdHMgb3duIGFuZA0KLXdpbGwgdXNlIHRoZSBkZWZhdWx0IHRoYXQgYXBw bGllcyB0byB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLg0KLQ0KLU9wdGlvbiBgZ3JleXNjYWxlJyB3 aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRyYWwgZ3JleSBiYWNrZ3JvdW5kIHRvDQotdGhlIGJsb2Nr J3MgY29udGVudHMuICBJdCBhbHNvIGFmZmVjdHMgdGhlIGJlZ2luIGFuZCBlbmQgbGluZXMgb2YN Ci10aGUgYmxvY2s6IHRoZWlyIGJhY2tncm91bmQgd2lsbCBiZSBleHRlbmRlZCB0byB0aGUgZWRn ZSBvZiB0aGUNCi13aW5kb3cgZm9yIEVtYWNzIHZlcnNpb24gPj0gMjcgd2hlcmUgdGhlICc6ZXh0 ZW5kJyBrZXl3b3JkIGlzDQotcmVjb2duaXNlZCBieSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCi0N Ci1PcHRpb24gYHJhaW5ib3cnIHdpbGwgdXNlIGFuIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRo ZSBjb250ZW50cw0KLW9mIHRoZSBibG9jay4gIFRoZSBleGFjdCBjb2xvdXIgd2lsbCBkZXBlbmQg b24gdGhlIHByb2dyYW1taW5nDQotbGFuZ3VhZ2UgYW5kIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGBv cmctc3JjLWJsb2NrLWZhY2VzJw0KLXZhcmlhYmxlIChyZWZlciB0byB0aGUgdGhlbWUncyBzb3Vy Y2UgY29kZSBmb3IgdGhlIGN1cnJlbnQNCi1hc3NvY2lhdGlvbiBsaXN0KS4iDQotICA6dHlwZSAn KGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gT3JnIGJsb2NrIGJhY2tncm91bmQg KGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JleSBibG9j ayBiYWNrZ3JvdW5kIiBncmV5c2NhbGUpDQotICAgICAgICAgIChjb25zdCA6dGFnICJDb2xvdXIt Y29kZWQgYmFja2dyb3VuZCBwZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UiIHJhaW5ib3cpKSkNCi0N Ci0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS0zZC1tb2RlbGluZQ0KLSAgICAg ICAgICAgICAgICdtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUtbGluZQ0KLSAgICAgICAgICAgICAg ICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZp dmVuZGktdGhlbWUtM2QtbW9kZWxpbmUgbmlsDQotICAiVXNlIGEgdGhyZWUtZGltZW5zaW9uYWwg c3R5bGUgZm9yIHRoZSBhY3RpdmUgbW9kZSBsaW5lLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0K LShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1tb2RlLWxpbmUgbmlsDQotICAiQWRqdXN0 IHRoZSBvdmVyYWxsIHN0eWxlIG9mIHRoZSBtb2RlIGxpbmUuDQotDQotTmlsIGlzIGEgdHdvLWRp bWVuc2lvbmFsIHJlY3RhbmdsZSB3aXRoIGEgYm9yZGVyIGFyb3VuZCBpdC4gIFRoZQ0KLWFjdGl2 ZSBhbmQgdGhlIGluYWN0aXZlIG1vZGVsaW5lcyB1c2UgZGlmZmVyZW50IHNoYWRlcyBvZg0KLWdy ZXlzY2FsZSB2YWx1ZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kLg0KLQ0KLUEg YDNkJyB2YWx1ZSB3aWxsIGFwcGx5IGEgdGhyZWUtZGltZW5zaW9uYWwgZWZmZWN0IHRvIHRoZSBh Y3RpdmUNCi1tb2RlbGluZS4gIFRoZSBpbmFjdGl2ZSBtb2RlbGluZXMgcmVtYWluIHR3by1kaW1l bnNpb25hbCBhbmQgYXJlDQotdG9uZWQgZG93biBhIGJpdCwgcmVsYXRpdmUgdG8gdGhlIG5pbCB2 YWx1ZS4NCi0NCi1UaGUgYG1vb2R5JyBvcHRpb24gaXMgbWVhbnQgdG8gb3B0aW1pc2UgdGhlIG1v ZGVsaW5lIGZvciB1c2Ugd2l0aA0KLXRoZSBsaWJyYXJ5IG9mIHRoZSBzYW1lIG5hbWUuICBUaGlz IHByYWN0aWNhbGx5IG1lYW5zIHRvIHJlbW92ZQ0KLXRoZSBib3ggZWZmZWN0IGFuZCByZWx5IG9u IHVuZGVybGluZSBhbmQgb3ZlcmxpbmUgcHJvcGVydGllcw0KLWluc3RlYWQuICBJdCBhbHNvIHRv bmVzIGRvd24gdGhlIGluYWN0aXZlIG1vZGVsaW5lcy4gIERlc3BpdGUgaXRzDQotaW50ZW5kZWQg cHVycG9zZSwgdGhpcyBvcHRpb24gY2FuIGFsc28gYmUgdXNlZCB3aXRob3V0IHRoZQ0KLWBtb29k eScgbGlicmFyeS4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAi VHdvLWRpbWVuc2lvbmFsIGJveCAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0 YWcgIlRocmVlLWRpbWVuc2lvbmFsIHN0eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGluZSIgM2Qp DQotICAgICAgICAgIChjb25zdCA6dGFnICJObyBib3ggZWZmZWN0cywgd2hpY2ggYXJlIG9wdGlt YWwgZm9yIHVzZSB3aXRoIHRoZSBgbW9vZHknIGxpYnJhcnkiIG1vb2R5KSkpDQotDQotKG1ha2Ut b2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc3VidGxlLWRpZmZzDQotICAgICAgICAgICAg ICAgJ21vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMNCi0gICAgICAgICAgICAgICAiYG1vZHVzLXZp dmVuZGktdGhlbWUnIDAuMTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1l LXN1YnRsZS1kaWZmcyBuaWwNCi0gICJVc2UgZmV3ZXIvZGltIGJhY2tncm91bmRzIGluIGBkaWZm LW1vZGUnLCBgZWRpZmYnLGBtYWdpdCcuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1 c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZzIG5pbA0KLSAgIkFkanVzdCB0aGUgb3ZlcmFs bCBzdHlsZXMgb2YgZGlmZnMuDQotDQotTmlsIG1lYW5zIHRvIHVzZSBmYWlybHkgaW50ZW5zZSBj b2xvdXIgY29tYmluYXRpb25zIGZvciBkaWZmcy4NCi1Gb3IgZXhhbXBsZSwgeW91IGdldCBhIHJp Y2ggZ3JlZW4gYmFja2dyb3VuZCB3aXRoIGEgZ3JlZW4NCi1mb3JlZ3JvdW5kIGZvciBhZGRlZCBs aW5lcy4gIFdvcmQtd2lzZSBvciAncmVmaW5lZCcgZGlmZnMgZm9sbG93DQotdGhlIHNhbWUgcGF0 dGVybiBidXQgdXNlIGRpZmZlcmVudCBzaGFkZXMgb2YgdGhvc2UgY29sb3VycyB0bw0KLXJlbWFp biBkaXN0aW5jdC4NCi0NCi1BIGBkZXNhdHVyYXRlZCcgdmFsdWUgZm9sbG93cyB0aGUgc2FtZSBw cmluY2lwbGVzIGFzIHdpdGggdGhlIG5pbA0KLW9wdGlvbiwgd2hpbGUgaXQgdG9uZXMgZG93biBh bGwgcmVsZXZhbnQgY29sb3Vycy4NCi0NCi1PcHRpb24gYGZnLW9ubHknIHdpbGwgcmVtb3ZlIGFs bCBhY2NlbnRlZCBiYWNrZ3JvdW5kcywgZXhjZXB0DQotZnJvbSB3b3JkLXdpc2UgY2hhbmdlcy4g IEl0IGluc3RlYWQgdXNlcyBjb2xvdXItY29kZWQgZm9yZWdyb3VuZA0KLXZhbHVlcyB0byBkaWZm ZXJlbnRpYXRlIGJldHdlZW4gYWRkZWQvcmVtb3ZlZC9jaGFuZ2VkIGxpbmVzLiAgSWYNCi1hIGJh Y2tncm91bmQgaXMgbmVjZXNzYXJ5LCBzdWNoIGFzIHdpdGggYGVkaWZmJywgdGhlbiBhIHN1YnRs ZQ0KLWdyZXlzY2FsZSB2YWx1ZSBpcyB1c2VkLiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAg ICAgIChjb25zdCA6dGFnICJJbnRlbnNlbHkgY29sb3VyZWQgYmFja2dyb3VuZHMgKGRlZmF1bHQp IiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFnICJTbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3Jv dW5kcyB3aXRoIHRpbnRlZCB0ZXh0IiBkZXNhdHVyYXRlZCkNCi0gICAgICAgICAgKGNvbnN0IDp0 YWcgIk5vIGJhY2tncm91bmRzLCBleGNlcHQgZm9yIHJlZmluZWQgZGlmZnMiIGZnLW9ubHkpKSkN Ci0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXN0YW5kYXJk LWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxl dGlvbnMNCi0gICAgICAgICAgICAgICAiYG1vZHVzLXZpdmVuZGktdGhlbWUnIDAuMTIuMCIpDQot DQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2Utc3RhbmRhcmQtY29tcGxl dGlvbnMgbmlsDQotICAiVXNlIHByb21pbmVudCBiYWNrZ3JvdW5kcyBmb3IgSWNvbXBsZXRlLCBJ ZG8sIG9yIHNpbWlsYXIuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1 cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zIG5pbA0KLSAgIkFwcGx5IHNwZWNpYWwgc3R5bGVz IHRvIHRoZSBVSSBvZiBjb21wbGV0aW9uIGZyYW1ld29ya3MuDQotDQotVGhpcyBjb25jZXJucyBJ Y29tcGxldGUsIEl2eSwgSGVsbSwgU2VsZWN0cnVtLCBJZG8sIGFzIHdlbGwgYXMNCi1hbnkgb3Ro ZXIgdG9vbCBtZWFudCB0byBlbmhhbmNlIHRoZWlyIGV4cGVyaWVuY2UuICBUaGUgZWZmZWN0DQot d2lsbCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgY29tcGxldGlvbiBmcmFtZXdvcmsuDQotDQotTmls IG1lYW5zIHRvIHJlbWFpbiBmYWl0aGZ1bCB0byB0aGUgbWV0YXBob3JzIHRoYXQgZWFjaCBVSQ0K LWVzdGFibGlzaGVzLiAgRm9yIGV4YW1wbGUsIEljb21wbGV0ZSBhbmQgSWRvIG9ubHkgdXNlIGZv cmVncm91bmQNCi1jb2xvdXJzIHRvIHN0eWxlIHRoZWlyIG1hdGNoZXMsIHdoZXJlYXMgSXZ5IG9y IEhlbG0gcmVseSBvbiBhbg0KLWFlc3RoZXRpYyB0aGF0IGNvbWJpbmVzIGNvbG91cmVkIGJhY2tn cm91bmRzIHdpdGggYXBwcm9wcmlhdGUNCi10ZXh0IGNvbG91ci4NCi0NCi1PcHRpb24gYG1vZGVy YXRlJyB3aWxsIGFwcGx5IGEgY29tYmluYXRpb24gb2YgYmFja2dyb3VuZCBhbmQNCi1mb3JlZ3Jv dW5kIHRoYXQgaXMgZmFpcmx5IHN1YnRsZS4gIEZvciBJY29tcGxldGUgYW5kIHRoZSBsaWtlLA0K LXRoaXMgY29uc3RpdHV0ZXMgYSBkZXBhcnR1cmUgZnJvbSB0aGVpciBzdGFuZGFyZCBzdHlsZS4g IFdoaWxlDQotSXZ5LCBIZWxtLCBhbmQgdGhlIG90aGVycywgd2lsbCB1c2UgbGVzcyBwcm9ub3Vu Y2VkIGNvbG91cnMgZm9yDQotYXBwbGljYWJsZSBjb250ZXh0cy4NCi0NCi1PcHRpb24gYG9waW5p b25hdGVkJyB3aWxsIGFwcGx5IGNvbG91ciBjb21iaW5hdGlvbnMgdGhhdA0KLXJlZmFzaGlvbiB0 aGUgY29tcGxldGlvbiBVSS4gIFNvIEljb21wbGV0ZSBldCBhbCB3aWxsIG5vdyB1c2UNCi1zdHls ZXMgdGhhdCByZXNlbWJsZSB0aGUgZGVmYXVsdHMgb2YgSXZ5IGFuZCBjby4sIHdoaWxlIHRoZQ0K LWxhdHRlciBncm91cCB3aWxsIHJldmVydCB0byBhbiBldmVuIG1vcmUgbnVhbmNlZCBhZXN0aGV0 aWMuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlJlc3BlY3Qg dGhlIGZyYW1ld29yaydzIGVzdGFibGlzaGVkIGFlc3RoZXRpYyAoZGVmYXVsdCkiIG5pbCkNCi0g ICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBiYWNrZ3JvdW5kcyBmb3IgdmFyaW91cyBlbGVt ZW50cyIgbW9kZXJhdGUpDQotICAgICAgICAgIChjb25zdCA6dGFnICJSYWRpY2FsIGFsdGVybmF0 aXZlIHRvIHRoZSBmcmFtZXdvcmsncyBsb29rcyIgb3BpbmlvbmF0ZWQpKSkNCi0NCi0oZGVmY3Vz dG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtcHJvbXB0cyBuaWwNCi0gICJVc2Ugc3VidGxlIG9yIGlu dGVuc2Ugc3R5bGVzIGZvciBtaW5pYnVmZmVyIGFuZCBSRVBMIHByb21wdHMuDQotDQotTmlsIG1l YW5zIHRvIG9ubHkgdXNlIGFuIGFjY2VudGVkIGZvcmVncm91bmQgY29sb3VyLg0KLQ0KLU9wdGlv bnMgYHN1YnRsZScgYW5kIGBpbnRlbnNlJyB3aWxsIGNoYW5nZSBib3RoIHRoZSBiYWNrZ3JvdW5k DQotYW5kIHRoZSBmb3JlZ3JvdW5kIHZhbHVlcy4gIFRoZSBsYXR0ZXIgaGFzIGEgbW9yZSBwcm9u b3VuY2VkDQotZWZmZWN0IHRoYW4gdGhlIGZvcm1lci4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAg ICAgICAgICAoY29uc3QgOnRhZyAiTm8gcHJvbXB0IGJhY2tncm91bmQgKGRlZmF1bHQpIiBuaWwp DQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgYWNjZW50ZWQgYmFja2dyb3VuZCBmb3Ig dGhlIHByb21wdCIgc3VidGxlKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZSBiYWNr Z3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGZvciB0aGUgcHJvbXB0IiBpbnRlbnNlKSkpDQotDQotKGRl ZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZSBuaWwNCi0gICJVc2Ug bW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCBmb3IgY29tbWFuZCBgaGwtbGluZS1tb2RlJy4iDQot ICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50 ZW5zZS1wYXJlbi1tYXRjaCBuaWwNCi0gICJVc2UgbW9yZSBwcm9taW5lbnQgY29sb3VyIGZvciBw YXJlbnRoZXNpcyBtYXRjaGluZy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9t IG1vZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3ludGF4IG5pbA0KLSAgIlVzZSBsZXNzIHNhdHVy YXRlZCBjb2xvdXJzIGZvciBjb2RlIHN5bnRheCBoaWdobGlnaHRpbmcuIg0KLSAgOnR5cGUgJ2Jv b2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJs aW5lIG5pbA0KLSAgIkRvIG5vdCB1bmRlcmxpbmUgbGlua3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4p DQotDQotOzs7IEludGVybmFsIGZ1bmN0aW9ucw0KLQ0KLTs7IEhlbHBlciBmdW5jdGlvbnMgdGhh dCBhcmUgbWVhbnQgdG8gZWFzZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlDQotOzsgYWJvdmUg Y3VzdG9taXNhdGlvbiBvcHRpb25zLg0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQt d2VpZ2h0ICgpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGEgaGVhdmllciB0ZXh0IHdlaWdodC4i DQotICAod2hlbiBtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cw0KLSAgICAobGlz dCA6aW5oZXJpdCAnYm9sZCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVk LWZvbnRzICgpDQotICAiQ29uZGl0aW9uYWwgYXBwbGljYXRpb24gb2YgYGZpeGVkLXBpdGNoJyBp bmhlcml0YW5jZS4iDQotICAodW5sZXNzIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbWl4ZWQtZm9u dHMNCi0gICAgKGxpc3QgOmluaGVyaXQgJ2ZpeGVkLXBpdGNoKSkpDQotDQotKGRlZnVuIG1vZHVz LXZpdmVuZGktdGhlbWUtZnJpbmdlIChzdWJ0bGViZyBpbnRlbnNlYmcpDQotICAiQ29uZGl0aW9u YWwgdXNlIG9mIGJhY2tncm91bmQgY29sb3VycyBmb3IgZnJpbmdlcy4NCi1TVUJUTEVCRyBzaG91 bGQgYmUgYSBzdWJ0bGUgZ3JleXNjYWxlIHZhbHVlLiAgSU5URU5TRUJHIG11c3QgYmUgYQ0KLW1v cmUgcHJvbm91bmNlZCBncmV5c2NhbGUgY29sb3VyLiINCi0gIChwY2FzZSBtb2R1cy12aXZlbmRp LXRoZW1lLWZyaW5nZXMNCi0gICAgKCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2Vi ZykpDQotICAgICgnc3VidGxlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnKSkNCi0gICAgKF8g KGxpc3QgOmJhY2tncm91bmQgbmlsKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1l LXByb21wdCAobWFpbmZnIHN1YnRsZWJnIHN1YnRsZWZnIGludGVuc2ViZyBpbnRlbnNlZmcpDQot ICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQgY29sb3VycyBmb3IgcHJvbXB0cy4NCi1N QUlORkcgaXMgdGhlIHByb21wdCdzIHN0YW5kYXJkIGZvcmVncm91bmQuICBTVUJUTEVCRyBzaG91 bGQgYmUgYQ0KLXN1YnRsZSBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQgd29ya3Mgd2l0aCBTVUJU TEVGRy4gIElOVEVOU0VCRw0KLW11c3QgYmUgYSBtb3JlIHByb25vdW5jZWQgYWNjZW50ZWQgY29s b3VyIHRoYXQgc2hvdWxkIGJlDQotY29tYmluYWJsZSB3aXRoIElOVEVOU0VGRy4iDQotICAocGNh c2UgbW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHRzDQotICAgICgnaW50ZW5zZSAobGlzdCA6YmFj a2dyb3VuZCBpbnRlbnNlYmcgOmZvcmVncm91bmQgaW50ZW5zZWZnKSkNCi0gICAgKCdzdWJ0bGUg KGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcgOmZvcmVncm91bmQgc3VidGxlZmcpKQ0KLSAgICAo XyAobGlzdCA6YmFja2dyb3VuZCBuaWwgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1 biBtb2R1cy12aXZlbmRpLXRoZW1lLXBhcmVuIChub3JtYWxiZyBpbnRlbnNlYmcpDQotICAiQ29u ZGl0aW9uYWwgdXNlIG9mIGludGVuc2UgY29sb3VycyBmb3IgbWF0Y2hpbmcgcGFyZW50aGVzZXMu DQotTk9STUFMQkcgc2hvdWxkIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3VyICdiZy1wYXJlbi1t YXRjaCcgb3INCi1zb21ldGhpbmcgc2ltaWxhci4gIElOVEVOU0VCRyBtdXN0IGJlIGVhc2llciB0 byBkaXNjZXJuIG5leHQgdG8NCi1vdGhlciBiYWNrZ3JvdW5kcywgc3VjaCBhcyB0aGUgc3BlY2lh bCBwYWxldHRlIGNvbG91cg0KLSdiZy1wYXJlbi1tYXRjaC1pbnRlbnNlJy4iDQotICAoaWYgbW9k dXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoDQotICAgICAgKGxpc3QgOmJhY2tn cm91bmQgaW50ZW5zZWJnKQ0KLSAgICAobGlzdCA6YmFja2dyb3VuZCBub3JtYWxiZykpKQ0KLQ0K LShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kIChub3JtYWwgZmFp bnQpDQotICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1ZSB0byBjb2RlIHN5bnRheC4NCi1OT1JNQUwg aXMgdGhlIG1vcmUgc2F0dXJhdGVkIGNvbG91ciwgd2hpY2ggc2hvdWxkIGJlIHRoZSBkZWZhdWx0 Lg0KLUZBSU5UIGlzIHRoZSBsZXNzIHNhdHVyYXRlZCBjb2xvdXIuIg0KLSAgKGlmIG1vZHVzLXZp dmVuZGktdGhlbWUtZmFpbnQtc3ludGF4DQotICAgICAgKGxpc3QgOmZvcmVncm91bmQgZmFpbnQp DQotICAgIChsaXN0IDpmb3JlZ3JvdW5kIG5vcm1hbCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZl bmRpLXRoZW1lLWhlYWRpbmctcCAoa2V5KQ0KLSAgIlF1ZXJ5IHN0eWxlIG9mIEtFWSBpbiBgbW9k dXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncycuIg0KLSAgKGNkciAoYXNzb2Mga2V5IG1vZHVzLXZp dmVuZGktdGhlbWUtaGVhZGluZ3MpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1o ZWFkaW5nIChsZXZlbCBmZyBmZy1hbHQgYmcgYm9yZGVyKQ0KLSAgIkNvbmRpdGlvbmFsIHN0eWxl cyBmb3IgYG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZ3MnLg0KLQ0KLUxFVkVMIGlzIHRoZSBo ZWFkaW5nJ3MgcG9zaXRpb24gaW4gdGhlaXIgb3JkZXIuICBGRyBpcyB0aGUNCi1kZWZhdWx0IHRl eHQgY29sb3VyLiAgRkctQUxUIGlzIGFuIGFjY2VudGVkLCBtb3JlIHNhdHVyYXRlZCB2YWx1ZQ0K LXRoYW4gdGhlIGRlZmF1bHQuICBCRyBpcyBhIG51YW5jZWQsIHR5cGljYWxseSBhY2NlbnRlZCwN Ci1iYWNrZ3JvdW5kIHRoYXQgY2FuIHdvcmsgd2VsbCB3aXRoIGVpdGhlciBvZiB0aGUgZm9yZWdy b3VuZA0KLXZhbHVlcy4gIEJPUkRFUiBpcyBhIGNvbG91ciB2YWx1ZSB0aGF0IGNvbWJpbmVzIHdl bGwgd2l0aCB0aGUNCi1iYWNrZ3JvdW5kIGFuZCBhbHRlcm5hdGl2ZSBmb3JlZ3JvdW5kLiINCi0g IChsZXQqICgoa2V5IChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmctcCBgLGxldmVsKSkNCi0g ICAgICAgICAoc3R5bGUgKG9yIGtleSAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nLXAgdCkp KQ0KLSAgICAgICAgICh2YXIgKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gt aGVhZGluZ3MNCi0gICAgICAgICAgICAgICAgICAndmFyaWFibGUtcGl0Y2gNCi0gICAgICAgICAg ICAgICAgJ2RlZmF1bHQpKSkNCi0gICAgKHBjYXNlIHN0eWxlDQotICAgICAgKCduby1ib2xkDQot ICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZnKSkNCi0gICAgICAoJ2xp bmUNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnIDpv dmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgnbGluZS1uby1ib2xkDQotICAgICAgIChsaXN0IDpp bmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZnIDpvdmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgn cmFpbmJvdw0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQg ZmctYWx0KSkNCi0gICAgICAoJ3JhaW5ib3ctbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJp dCBgLHZhciA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KLSAgICAgICgncmFpbmJvdy1saW5lDQotICAg ICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJs aW5lIGJvcmRlcikpDQotICAgICAgKCdyYWluYm93LWxpbmUtbm8tYm9sZA0KLSAgICAgICAobGlz dCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpDQot ICAgICAgKCdoaWdobGlnaHQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpi YWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkNCi0gICAgICAoJ2hpZ2hsaWdodC1uby1ib2xk DQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5k IGZnKSkNCi0gICAgICAoJ3JhaW5ib3ctaGlnaGxpZ2h0DQotICAgICAgIChsaXN0IDppbmhlcml0 IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KLSAgICAg ICgncmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZh ciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KLSAgICAgICgnc2VjdGlvbg0K LSAgICAgICAoYXBwZW5kDQotICAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3 KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJh Y2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgICgn c2VjdGlvbi1uby1ib2xkDQotICAgICAgIChhcHBlbmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNz LW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0 IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnIDpvdmVybGluZSBib3JkZXIpKSkN Ci0gICAgICAoJ3JhaW5ib3ctc2VjdGlvbg0KLSAgICAgICAoYXBwZW5kDQotICAgICAgICAoYW5k ICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAobGlz dCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0 IDpvdmVybGluZSBib3JkZXIpKSkNCi0gICAgICAoJ3JhaW5ib3ctc2VjdGlvbi1uby1ib2xkDQot ICAgICAgIChhcHBlbmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcp ICcoOmV4dGVuZCB0KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5k IGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkpDQotICAgICAgKF8NCi0g ICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnKSkpKSkNCi0N Ci0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2sgKGJnYmxrKQ0KLSAgIkNvbmRp dGlvbmFsbHkgc2V0IHRoZSBiYWNrZ3JvdW5kIG9mIE9yZyBibG9ja3MuDQotQkdCTEsgYXBwbGll cyB0byBhIGRpc3RpbmN0IG5ldXRyYWwgYmFja2dyb3VuZC4gIEVsc2UgYmxvY2tzIGhhdmUNCi1u byBiYWNrZ3JvdW5kIG9mIHRoZWlyIG93biAodGhlIGRlZmF1bHQpLCBzbyB0aGV5IGxvb2sgdGhl IHNhbWUNCi1hcyB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLg0KLQ0KLWBtb2R1cy12aXZlbmRpLXRo ZW1lLW9yZy1ibG9ja3MnIGFsc28gYWNjZXB0cyBhIGByYWluYm93JyBvcHRpb24NCi13aGljaCBp cyBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgdG8gYG9yZy1zcmMtYmxvY2stZmFjZXMnIChzZWUgdGhl DQotdGhlbWUncyBzb3VyY2UgY29kZSkuIg0KLSAgKGlmIChlcSBtb2R1cy12aXZlbmRpLXRoZW1l LW9yZy1ibG9ja3MgJ2dyZXlzY2FsZSkNCi0gICAgICAoYXBwZW5kDQotICAgICAgIChhbmQgKD49 IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgKGxpc3QgOmJh Y2tncm91bmQgYmdibGspKQ0KLSAgICAobGlzdCA6YmFja2dyb3VuZCBuaWwpKSkNCi0NCi0oZGVm dW4gbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2stZGVsaW0gKGJnYWNjZW50IGZnYWNjZW50 IGJnIGZnKQ0KLSAgIkNvbmRpdGlvbmFsbHkgc2V0IHRoZSBzdHlsZXMgb2YgT3JnIGJsb2NrIGRl bGltaXRlcnMuDQotQkcsIEZHLCBCR0FDQ0VOVCwgRkdBQ0NFTlQgYXBwbHkgYSBiYWNrZ3JvdW5k IGFuZCBmb3JlZ3JvdW5kDQotY29sb3VyIHJlc3BlY3RpdmVseS4NCi0NCi1UaGUgZm9ybWVyIHBh aXIgaXMgYSBncmV5c2NhbGUgY29tYmluYXRpb24gdGhhdCBzaG91bGQgYmUgbW9yZQ0KLWRpc3Rp bmN0IHRoYW4gdGhlIGJhY2tncm91bmQgb2YgdGhlIGJsb2NrLiAgSXQgaXMgYXBwbGllZCB0byB0 aGUNCi1kZWZhdWx0IHN0eWxlcyBvciB3aGVuIGBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9j a3MnIGlzIHNldA0KLXRvIGBncmV5c2NhbGUnLg0KLQ0KLVRoZSBsYXR0ZXIgcGFpciBzaG91bGQg YmUgbW9yZSBzdWJ0bGUgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0aGUNCi1ibG9jaywgYXMgaXQg aXMgdXNlZCB3aGVuIGBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGlzDQotc2V0IHRv IGByYWluYm93Jy4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzDQot ICAgICgnZ3JleXNjYWxlIChhcHBlbmQgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykg Jyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDpiYWNrZ3JvdW5k IGJnIDpmb3JlZ3JvdW5kIGZnKSkpDQotICAgICgncmFpbmJvdyAobGlzdCA6YmFja2dyb3VuZCBi Z2FjY2VudCA6Zm9yZWdyb3VuZCBmZ2FjY2VudCkpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5k IGJnIDpmb3JlZ3JvdW5kIGZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLW1v ZGUtbGluZS1hdHRycw0KLSAgICAoZmcgYmcgZmctYWx0IGJnLWFsdCBib3JkZXIgYm9yZGVyLTNk ICZvcHRpb25hbCBhbHQtc3R5bGUgYm9yZGVyLXdpZHRoIGZnLWRpc3RhbnQpDQotICAiQ29sb3Vy IGNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1saW5lJy4NCi0NCi1G RyBhbmQgQkcgYXJlIHRoZSBkZWZhdWx0IGNvbG91cnMuICBGRy1BTFQgYW5kIEJHLUFMVCBhcmUg bWVhbnQNCi10byBhY2NvbW1vZGF0ZSB0aGUgb3B0aW9ucyBmb3IgYSAzRCBtb2RlbGluZSBvciBh IGBtb29keScNCi1jb21wbGlhbnQgb25lLiAgQk9SREVSIGFwcGxpZXMgdG8gYWxsIHBlcm11dGF0 aW9ucyBvZiB0aGUNCi1tb2RlbGluZSwgZXhjZXB0IHRoZSB0aHJlZS1kaW1lbnNpb25hbCBlZmZl Y3QsIHdoZXJlIEJPUkRFUi0zRCBpcw0KLXVzZWQgaW5zdGVhZC4NCi0NCi1PcHRpb25hbCBBTFQt U1RZTEUgYXBwbGllcyBhbiBhcHByb3ByaWF0ZSBzdHlsZSB0byB0aGUgbW9kZQ0KLWxpbmUncyBi b3ggcHJvcGVydHkuDQotDQotT3B0aW9uYWwgQk9SREVSLVdJRFRIIHNwZWNpZmllcyBhbiBpbnRl Z2VyIGZvciB0aGUgd2lkdGggb2YgdGhlDQotcmVjdGFuZ2xlIHRoYXQgcHJvZHVjZXMgdGhlIGJv eCBlZmZlY3QuDQotDQotT3B0aW9uYWwgRkctRElTVEFOVCBzaG91bGQgYmUgY2xvc2UgdG8gdGhl IG1haW4gYmFja2dyb3VuZA0KLXZhbHVlcy4gIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMg YSBkaXN0YW50LWZvcmVncm91bmQNCi1wcm9wZXJ0eS4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5k aS10aGVtZS1tb2RlLWxpbmUNCi0gICAgKCczZA0KLSAgICAgYCg6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxmZy1hbHQNCi0gICAgICAgICAgICAgICAgICAgOmJveCAoOmxpbmUtd2lk dGggLChvciBib3JkZXItd2lkdGggMSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmNvbG9yICxib3JkZXItM2QNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOnN0eWxlICwoYW5kIGFsdC1zdHlsZSAncmVsZWFzZWQtYnV0dG9uKSkpKQ0KLSAgICAo J21vb2R5DQotICAgICBgKDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCA6 dW5kZXJsaW5lICxib3JkZXIgOm92ZXJsaW5lICxib3JkZXINCi0gICAgICAgICAgICAgICAgICAg OmRpc3RhbnQtZm9yZWdyb3VuZCAsZmctZGlzdGFudCkpDQotICAgIChfDQotICAgICBgKDpmb3Jl Z3JvdW5kICxmZyA6YmFja2dyb3VuZCAsYmcgOmJveCAsYm9yZGVyKSkpKQ0KLQ0KLShkZWZ1biBt b2R1cy12aXZlbmRpLXRoZW1lLWRpZmYgKGZnLW9ubHktYmcgZmctb25seS1mZyBtYWluYmcgbWFp bmZnIGFsdGJnIGFsdGZnKQ0KLSAgIkNvbG91ciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1cy12aXZl bmRpLXRoZW1lLWRpZmZzJy4NCi0NCi1GRy1PTkxZLUJHIHNob3VsZCBiZSBzaW1pbGFyIG9yIHRo ZSBzYW1lIGFzIHRoZSBtYWluIGJhY2tncm91bmQuDQotRkctT05MWS1GRyBzaG91bGQgYmUgYSBz YXR1cmF0ZWQgYWNjZW50IHZhbHVlIHRoYXQgY2FuIGJlDQotY29tYmluZWQgd2l0aCB0aGUgZm9y bWVyLg0KLQ0KLU1BSU5CRyBtdXN0IGJlIG9uZSBvZiB0aGUgZGVkaWNhdGVkIGJhY2tncm91bmRz IGZvciBkaWZmcyB3aGlsZQ0KLU1BSU5GRyBtdXN0IGJlIHRoZSBzYW1lIGZvciB0aGUgZm9yZWdy b3VuZC4NCi0NCi1BTFRCRyBuZWVkcyB0byBiZSBhIHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91 bmQgdGhhdCBpcyBtZWFudCB0bw0KLWJlIGNvbWJpbmVkIHdpdGggQUxURkcuICBCb3RoIG11c3Qg YmUgbGVzcyBpbnRlbnNlIHRoYW4gTUFJTkJHDQotYW5kIE1BSU5GRyByZXNwZWN0aXZlbHkuIg0K LSAgKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMNCi0gICAgKCdmZy1vbmx5IChsaXN0 IDpiYWNrZ3JvdW5kIGZnLW9ubHktYmcgOmZvcmVncm91bmQgZmctb25seS1mZykpDQotICAgICgn ZGVzYXR1cmF0ZWQgKGxpc3QgOmJhY2tncm91bmQgYWx0YmcgOmZvcmVncm91bmQgYWx0ZmcpKQ0K LSAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBtYWluYmcgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0K LQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zIChtYWlu Zmcgc3VidGxlYmcgaW50ZW5zZWJnIGludGVuc2VmZykNCi0gICJDb21iaW5hdGlvbnMgZm9yIGBt b2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zJy4NCi0NCi1NQUlORkcgaXMgYW4gYWNjZW50 ZWQgZm9yZWdyb3VuZCB2YWx1ZS4gIFNVQlRMRUJHIGlzIGFuIGFjY2VudGVkDQotYmFja2dyb3Vu ZCB2YWx1ZSB0aGF0IGNhbiBiZSBjb21iaW5lZCB3aXRoIE1BSU5GRy4gIElOVEVOU0VCRyBhbmQN Ci1JTlRFTlNFRkcgYXJlIGFjY2VudGVkIGNvbG91cnMgdGhhdCBhcmUgZGVzaWduZWQgdG8gYmUg dXNlZCBpbg0KLXRhbmRlbS4NCi0NCi1UaGVzZSBhcmUgaW50ZW5kZWQgZm9yIEljb21wbGV0ZSwg SWRvLCBhbmQgcmVsYXRlZC4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0 aW9ucw0KLSAgICAoJ29waW5pb25hdGVkIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9y ZWdyb3VuZCBpbnRlbnNlZmcpKQ0KLSAgICAoJ21vZGVyYXRlIChsaXN0IDpiYWNrZ3JvdW5kIHN1 YnRsZWJnIDpmb3JlZ3JvdW5kIG1haW5mZykpDQotICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIG1h aW5mZykpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9u cyAoc3VidGxlZmFjZSBpbnRlbnNlZmFjZSBhbHRmYWNlICZvcHRpb25hbCBhbHRmZyBib2xkKQ0K LSAgIkNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMnLg0K LQ0KLVNVQlRMRUZBQ0UgYW5kIElOVEVOU0VGQUNFIGFyZSBjdXN0b20gdGhlbWUgZmFjZXMgdGhh dCBjb21iaW5lIGENCi1iYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHZhbHVlLiAgVGhlIGRpZmZl cmVuY2UgYmV0d2VlbiB0aGUgdHdvDQotaXMgYSBtYXR0ZXIgb2YgZGVncmVlLg0KLQ0KLUFMVEZB Q0UgaXMgYSBjb21iaW5hdGlvbiBvZiBjb2xvdXJzIHRoYXQgcmVwcmVzZW50cyBhIGRlcGFydHVy ZQ0KLWZyb20gdGhlIFVJJ3MgZGVmYXVsdCBhZXN0aGV0aWNzLiAgT3B0aW9uYWwgQUxURkcgaXMg bWVhbnQgdG8gYmUNCi11c2VkIGluIHRhbmRlbSB3aXRoIGl0Lg0KLQ0KLU9wdGlvbmFsIEJPTEQg d2lsbCBhcHBseSBhIGhlYXZpZXIgd2VpZ2h0IHRvIHRoZSB0ZXh0Lg0KLQ0KLVRoZXNlIGFyZSBp bnRlbmRlZCBmb3IgSGVsbSwgSXZ5LCBldGMuIg0KLSAgKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhl bWUtY29tcGxldGlvbnMNCi0gICAgKCdvcGluaW9uYXRlZCAobGlzdCA6aW5oZXJpdCAobGlzdCBh bHRmYWNlIGJvbGQpDQotICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgKG9yIGFs dGZnICd1bnNwZWNpZmllZCkpKQ0KLSAgICAoJ21vZGVyYXRlIChsaXN0IDppbmhlcml0IChsaXN0 IHN1YnRsZWZhY2UgYm9sZCkpKQ0KLSAgICAoXyAobGlzdCA6aW5oZXJpdCAobGlzdCBpbnRlbnNl ZmFjZSBib2xkKSkpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSAoYW1v dW50KQ0KLSAgIlNjYWxlIGhlYWRpbmcgYnkgQU1PVU5ULg0KLQ0KLUFNT1VOVCBpcyBhIGN1c3Rv bWlzYXRpb24gb3B0aW9uLiINCi0gICh3aGVuIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVh ZGluZ3MNCi0gICAgKGxpc3QgOmhlaWdodCBhbW91bnQpKSkNCi0NCi07OzsgQ29sb3VyIHBhbGV0 dGUNCi0NCi07OyBEZWZpbmUgY29sb3VyIHBhbGV0dGUuICBFYWNoIGNvbG91ciBtdXN0IGhhdmUg YSA+PSA3OjEgY29udHJhc3QNCi07OyByYXRpbyByZWxhdGl2ZSB0byB0aGUgZm9yZWdyb3VuZC9i YWNrZ3JvdW5kIGNvbG91ciBpdCBpcyByZW5kZXJlZA0KLTs7IGFnYWluc3QuDQotOzsNCi07OyBU aGUgZGVzaWduIG9mIHRoZSBjb2xvdXIgcGFsZXR0ZSBhcyBhIG1hY3JvIHRoYXQgbWFwcyBpdCB0 byBmYWNlcyBpcw0KLTs7IGFkYXB0ZWQgZnJvbSB6ZW5iZXJuLXRoZW1lLmVsLCBsYXN0IHNlZW4g YXQgY29tbWl0IDdkZDc5Njg6DQotOzsgaHR0cHM6Ly9naXRodWIuY29tL2JiYXRzb3YvemVuYnVy bi1lbWFjcw0KLShldmFsLWFuZC1jb21waWxlDQotICAoZGVmY29uc3QgbW9kdXMtdml2ZW5kaS10 aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KLSAgICAnKDs7IGJhc2UgdmFsdWVzDQotICAgICAg KCJiZy1tYWluIiAuICIjMDAwMDAwIikgKCJmZy1tYWluIiAuICIjZmZmZmZmIikNCi0gICAgICAo ImJnLWFsdCIgLiAiIzE4MWEyMCIpICgiZmctYWx0IiAuICIjYThhOGE4IikNCi0gICAgICAoImJn LWRpbSIgLiAiIzExMGIxMSIpICgiZmctZGltIiAuICIjZTBlNmYwIikNCi0gICAgICA7OyBzcGVj aWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgKGUuZy4gYG1vZGUtbGluZScpDQotICAgICAgOzsN Ci0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmct YWN0aXZlIiAuICIjMzIzMjMyIikgKCJmZy1hY3RpdmUiIC4gIiNmNGY0ZjQiKQ0KLSAgICAgICgi YmctaW5hY3RpdmUiIC4gIiMxZTFlMWUiKSAoImZnLWluYWN0aXZlIiAuICIjYmZjMGM0IikNCi0g ICAgICA7OyBzcGVjaWFsIGJhc2UgdmFsdWVzLCB1c2VkIG9ubHkgZm9yIGNhc2VzIHdoZXJlIHRo ZSBhYm92ZQ0KLSAgICAgIDs7IGZnLSogb3IgYmctKiBjYW5ub3Qgb3Igc2hvdWxkIG5vdCBiZSB1 c2VkICh0byBhdm9pZCBjb25mdXNpb24pDQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRo OiB7ZmcsYmd9LXttYWluLGFsdCxkaW19DQotICAgICAgKCJiZy1zcGVjaWFsLWNvbGQiIC4gIiMy MDM0NDgiKSAoImZnLXNwZWNpYWwtY29sZCIgLiAiI2M2ZWFmZiIpDQotICAgICAgKCJiZy1zcGVj aWFsLW1pbGQiIC4gIiMwMDMyMmUiKSAoImZnLXNwZWNpYWwtbWlsZCIgLiAiI2JmZWJlMCIpDQot ICAgICAgKCJiZy1zcGVjaWFsLXdhcm0iIC4gIiMzODJmMjciKSAoImZnLXNwZWNpYWwtd2FybSIg LiAiI2Y4ZGVjMCIpDQotICAgICAgKCJiZy1zcGVjaWFsLWNhbG0iIC4gIiMzOTJhNDgiKSAoImZn LXNwZWNpYWwtY2FsbSIgLiAiI2ZiZDZmNCIpDQotICAgICAgOzsgc3R5bGVzIGZvciB0aGUgbWFp biBjb25zdHJ1Y3RzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6 IGBiZy1tYWluJywgYGJnLWFsdCcsIGBiZy1kaW0nDQotICAgICAgKCJyZWQiIC4gIiNmZjgwNTki KSAoImdyZWVuIiAuICIjNDRiYzQ0IikNCi0gICAgICAoInllbGxvdyIgLiAiI2VlY2MwMCIpICgi Ymx1ZSIgLiAiIzJmYWZmZiIpDQotICAgICAgKCJtYWdlbnRhIiAuICIjZmVhY2QwIikgKCJjeWFu IiAuICIjMDBkM2QwIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGNvbW1vbiwgYnV0IHN0aWxsIHNw ZWNpYWxpc2VkIGNvbnN0cnVjdHMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmlu ZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZC1hbHQi IC4gIiNmNDkyM2IiKSAoImdyZWVuLWFsdCIgLiAiIzgwZDIwMCIpDQotICAgICAgKCJ5ZWxsb3ct YWx0IiAuICIjY2ZkZjMwIikgKCJibHVlLWFsdCIgLiAiIzc5YThmZiIpDQotICAgICAgKCJtYWdl bnRhLWFsdCIgLiAiI2Y3OGZlNyIpICgiY3lhbi1hbHQiIC4gIiM0YWU4ZmMiKQ0KLSAgICAgIDs7 IHNhbWUgcHVycG9zZSBhcyBhYm92ZSwganVzdCBzbGlnaHQgZGlmZmVyZW5jZXMNCi0gICAgICA7 Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0Jywg YGJnLWRpbScNCi0gICAgICAoInJlZC1hbHQtb3RoZXIiIC4gIiNmZjk5NzciKSAoImdyZWVuLWFs dC1vdGhlciIgLiAiIzAwY2Q2OCIpDQotICAgICAgKCJ5ZWxsb3ctYWx0LW90aGVyIiAuICIjZjBj ZTQzIikgKCJibHVlLWFsdC1vdGhlciIgLiAiIzAwYmNmZiIpDQotICAgICAgKCJtYWdlbnRhLWFs dC1vdGhlciIgLiAiI2I2YTBmZiIpICgiY3lhbi1hbHQtb3RoZXIiIC4gIiM2YWU0YjkiKQ0KLSAg ICAgIDs7IHN0eWxlcyBmb3IgZGVzYXR1cmF0ZWQgZm9yZWdyb3VuZCB0ZXh0LCBpbnRlbmRlZCBm b3IgdXNlIHdpdGgNCi0gICAgICA7OyB0aGUgYG1vZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3lu dGF4JyBvcHRpb24NCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDog YGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZC1mYWludCIgLiAiI2Zm YTBhMCIpICgiZ3JlZW4tZmFpbnQiIC4gIiM4OGNmODgiKQ0KLSAgICAgICgieWVsbG93LWZhaW50 IiAuICIjZDJiNTgwIikgKCJibHVlLWZhaW50IiAuICIjOTJiYWZmIikNCi0gICAgICAoIm1hZ2Vu dGEtZmFpbnQiIC4gIiNlMGIyZDYiKSAoImN5YW4tZmFpbnQiIC4gIiNhMGJmZGYiKQ0KLQ0KLSAg ICAgICgicmVkLWFsdC1mYWludCIgLiAiI2Y1YWE4MCIpICgiZ3JlZW4tYWx0LWZhaW50IiAuICIj YThjZjg4IikNCi0gICAgICAoInllbGxvdy1hbHQtZmFpbnQiIC4gIiNjYWJmNzciKSAoImJsdWUt YWx0LWZhaW50IiAuICIjYTRiMGZmIikNCi0gICAgICAoIm1hZ2VudGEtYWx0LWZhaW50IiAuICIj ZWY5ZmU0IikgKCJjeWFuLWFsdC1mYWludCIgLiAiIzkwYzRlZCIpDQotDQotICAgICAgKCJyZWQt YWx0LW90aGVyLWZhaW50IiAuICIjZmY5ZmJmIikgKCJncmVlbi1hbHQtb3RoZXItZmFpbnQiIC4g IiM4OGNmYWYiKQ0KLSAgICAgICgieWVsbG93LWFsdC1vdGhlci1mYWludCIgLiAiI2QwYmE5NSIp ICgiYmx1ZS1hbHQtb3RoZXItZmFpbnQiIC4gIiM4ZmM1ZmYiKQ0KLSAgICAgICgibWFnZW50YS1h bHQtb3RoZXItZmFpbnQiIC4gIiNkMGI0ZmYiKSAoImN5YW4tYWx0LW90aGVyLWZhaW50IiAuICIj YTRkMGJiIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZl cnkgc3VidGxlLCB5ZXQgYWNjZW50ZWQNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29t YmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScgb3IgYW55IG9mDQotICAg ICAgOzsgdGhlICJudWFuY2VkIiBiYWNrZ3JvdW5kcw0KLSAgICAgICgicmVkLW51YW5jZWQiIC4g IiNmZmNjY2MiKSAoImdyZWVuLW51YW5jZWQiIC4gIiNiOGUyYjgiKQ0KLSAgICAgICgieWVsbG93 LW51YW5jZWQiIC4gIiNkZmRmYjAiKSAoImJsdWUtbnVhbmNlZCIgLiAiI2JmZDlmZiIpDQotICAg ICAgKCJtYWdlbnRhLW51YW5jZWQiIC4gIiNlNWNmZWYiKSAoImN5YW4tbnVhbmNlZCIgLiAiI2E4 ZTVlNSIpDQotICAgICAgOzsgc3R5bGVzIGZvciBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5k DQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBh Ym92ZSBmb3JlZ3JvdW5kIHZhbHVlcw0KLSAgICAgICgicmVkLW51YW5jZWQtYmciIC4gIiMyYzA2 MTQiKSAoImdyZWVuLW51YW5jZWQtYmciIC4gIiMwMDE5MDQiKQ0KLSAgICAgICgieWVsbG93LW51 YW5jZWQtYmciIC4gIiMyMjEwMDAiKSAoImJsdWUtbnVhbmNlZC1iZyIgLiAiIzBmMGUzOSIpDQot ICAgICAgKCJtYWdlbnRhLW51YW5jZWQtYmciIC4gIiMyMzA2MzEiKSAoImN5YW4tbnVhbmNlZC1i ZyIgLiAiIzA0MTUyOSIpDQotICAgICAgOzsgc3R5bGVzIGZvciBlbGVtZW50cyB0aGF0IHNob3Vs ZCBkcmF3IGF0dGVudGlvbiB0byB0aGVtc2VsdmVzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0 IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWluJw0KLSAgICAgICgicmVkLWludGVuc2UiIC4gIiNm YjY4NTkiKSAoImdyZWVuLWludGVuc2UiIC4gIiMwMGZjNTAiKQ0KLSAgICAgICgieWVsbG93LWlu dGVuc2UiIC4gIiNmZmRkMDAiKSAoImJsdWUtaW50ZW5zZSIgLiAiIzAwYTJmZiIpDQotICAgICAg KCJtYWdlbnRhLWludGVuc2UiIC4gIiNmZjhiZDQiKSAoImN5YW4taW50ZW5zZSIgLiAiIzMwZmZj MCIpDQotICAgICAgOzsgc3R5bGVzIGZvciBiYWNrZ3JvdW5kIGVsZW1lbnRzIHRoYXQgc2hvdWxk IGJlIHZpc2libGUgeWV0DQotICAgICAgOzsgc3VidGxlDQotICAgICAgOzsNCi0gICAgICA7OyBt dXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBmZy1kaW0nDQotICAgICAgKCJyZWQtc3VidGxlLWJnIiAu ICIjNzYyNDIyIikgKCJncmVlbi1zdWJ0bGUtYmciIC4gIiMyZjRhMDAiKQ0KLSAgICAgICgieWVs bG93LXN1YnRsZS1iZyIgLiAiIzYwNDIwMCIpICgiYmx1ZS1zdWJ0bGUtYmciIC4gIiMxMDM4N2Mi KQ0KLSAgICAgICgibWFnZW50YS1zdWJ0bGUtYmciIC4gIiM0OTM2NmUiKSAoImN5YW4tc3VidGxl LWJnIiAuICIjMDA0MTVlIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGJhY2tncm91bmQgZWxlbWVu dHMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZSBhbmQNCi0gICAgICA7OyBkaXN0aW5ndWlzaGFibGUN Ci0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGZnLW1haW4nDQot ICAgICAgKCJyZWQtaW50ZW5zZS1iZyIgLiAiI2E0MjAyYSIpICgiZ3JlZW4taW50ZW5zZS1iZyIg LiAiIzAwNjgwMCIpDQotICAgICAgKCJ5ZWxsb3ctaW50ZW5zZS1iZyIgLiAiIzg3NDkwMCIpICgi Ymx1ZS1pbnRlbnNlLWJnIiAuICIjMmE0MGI4IikNCi0gICAgICAoIm1hZ2VudGEtaW50ZW5zZS1i ZyIgLiAiIzcwNDJhMiIpICgiY3lhbi1pbnRlbnNlLWJnIiAuICIjMDA1Zjg4IikNCi0gICAgICA7 OyBzdHlsZXMgZm9yIHJlZmluZWQgY29udGV4dHMgd2hlcmUgYm90aCB0aGUgZm9yZWdyb3VuZCBh bmQgdGhlDQotICAgICAgOzsgYmFja2dyb3VuZCBuZWVkIHRvIGhhdmUgdGhlIHNhbWUvc2ltaWxh ciBodWUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCB0aGVtc2Vs dmVzIE9SIHRoZSBmb3JlZ3JvdW5kcyBjYW4gYmUNCi0gICAgICA7OyBjb21iaW5lZCB3aXRoIGFu eSBvZiB0aGUgYmFzZSBiYWNrZ3JvdW5kcw0KLSAgICAgICgicmVkLXJlZmluZS1iZyIgLiAiIzc3 MDAyYSIpICgicmVkLXJlZmluZS1mZyIgLiAiI2ZmYjlhYiIpDQotICAgICAgKCJncmVlbi1yZWZp bmUtYmciIC4gIiMwMDQyMmEiKSAoImdyZWVuLXJlZmluZS1mZyIgLiAiIzlmZjBjZiIpDQotICAg ICAgKCJ5ZWxsb3ctcmVmaW5lLWJnIiAuICIjNjkzMjAwIikgKCJ5ZWxsb3ctcmVmaW5lLWZnIiAu ICIjZTJkOTgwIikNCi0gICAgICAoImJsdWUtcmVmaW5lLWJnIiAuICIjMjQyNjc5IikgKCJibHVl LXJlZmluZS1mZyIgLiAiIzhlYzZmZiIpDQotICAgICAgKCJtYWdlbnRhLXJlZmluZS1iZyIgLiAi IzcxMjA2YSIpICgibWFnZW50YS1yZWZpbmUtZmciIC4gIiNmZmNhZjAiKQ0KLSAgICAgICgiY3lh bi1yZWZpbmUtYmciIC4gIiMwMDQwNjUiKSAoImN5YW4tcmVmaW5lLWZnIiAuICIjOGFlNGYyIikN Ci0gICAgICA7OyBzdHlsZXMgdGhhdCBhcmUgbWVhbnQgZXhjbHVzaXZlbHkgZm9yIHRoZSBtb2Rl IGxpbmUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLWFj dGl2ZScsIGBiZy1pbmFjdGl2ZScNCi0gICAgICAoInJlZC1hY3RpdmUiIC4gIiNmZmE3YmEiKSAo ImdyZWVuLWFjdGl2ZSIgLiAiIzcwZDczZiIpDQotICAgICAgKCJ5ZWxsb3ctYWN0aXZlIiAuICIj ZGJiZTVmIikgKCJibHVlLWFjdGl2ZSIgLiAiIzM0Y2ZmZiIpDQotICAgICAgKCJtYWdlbnRhLWFj dGl2ZSIgLiAiI2Q1YjFmZiIpICgiY3lhbi1hY3RpdmUiIC4gIiMwMGQ4YjQiKQ0KLSAgICAgIDs7 IHN0eWxlcyB0aGF0IGFyZSBtZWFudCBleGNsdXNpdmVseSBmb3IgdGhlIGZyaW5nZXMNCi0gICAg ICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICAo InJlZC1mcmluZ2UtYmciIC4gIiM4ZjFmNGIiKSAoImdyZWVuLWZyaW5nZS1iZyIgLiAiIzAwNjcw MCIpDQotICAgICAgKCJ5ZWxsb3ctZnJpbmdlLWJnIiAuICIjNmY0ZjAwIikgKCJibHVlLWZyaW5n ZS1iZyIgLiAiIzNmMzNhZiIpDQotICAgICAgKCJtYWdlbnRhLWZyaW5nZS1iZyIgLiAiIzZmMmY4 OSIpICgiY3lhbi1mcmluZ2UtYmciIC4gIiMwMDRmOGYiKQ0KLSAgICAgIDs7IHN0eWxlcyByZXNl cnZlZCBmb3Igc3BlY2lmaWMgZmFjZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1obC1saW5l JyBpcyBiZXR3ZWVuIGBiZy1kaW0nIGFuZCBgYmctYWx0Jywgc28gaXQgc2hvdWxkDQotICAgICAg Ozsgd29yayB3aXRoIGFsbCBhY2NlbnRzIHRoYXQgY292ZXIgdGhvc2UgdHdvLCBwbHVzIGBiZy1t YWluJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLWhsLWFsdCcgYW5kIGBiZy1obC1hbHQtaW50 ZW5zZScgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIG5vDQotICAgICAgOzsgb3RoZXIgZ3JleXNj YWxlIG9yIGZhaXJseSBuZXV0cmFsIGJhY2tncm91bmQgaXMgYXZhaWxhYmxlIHRvDQotICAgICAg OzsgcHJvcGVybHkgZHJhdyBhdHRlbnRpb24gdG8gYSBnaXZlbiBjb25zdHJ1Y3QNCi0gICAgICA7 Ow0KLSAgICAgIDs7IGBiZy1oZWFkZXInIGlzIGJldHdlZW4gYGJnLWFjdGl2ZScgYW5kIGBiZy1p bmFjdGl2ZScsIHNvIGl0DQotICAgICAgOzsgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRo ZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMgdGhlDQotICAgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNl IGZvcmVncm91bmQgY29sb3Vycw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLXBhcmVuLW1hdGNo JywgYGJnLXBhcmVuLW1hdGNoLWludGVuc2UnLCBgYmctcmVnaW9uJyBhbmQNCi0gICAgICA7OyBg YmctdGFiLWFjdGl2ZScgbXVzdCBiZSBjb21iaW5lZCB3aXRoIGBmZy1tYWluJywgd2hpbGUNCi0g ICAgICA7OyBgYmctdGFiLWluYWN0aXZlJyBzaG91bGQgYmUgY29tYmluZWQgd2l0aCBgZmctZGlt Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLXRhYi1iYXInIGlzIG9ubHkgaW50ZW5kZWQgZm9y IHRoZSBiYXIgdGhhdCBob2xkcyB0aGUgdGFicyBhbmQNCi0gICAgICA7OyBjYW4gb25seSBiZSBj b21iaW5lZCB3aXRoIGBmZy1tYWluJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLXRhYi1hY3Rp dmUnIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVkIHdpdGggYGJnLXRhYi1hY3RpdmUnLA0KLSAgICAg IDs7IHRob3VnaCBvbmx5IGZvciBzdHlsaW5nIHNwZWNpYWwgZWxlbWVudHMsIHN1Y2ggYXMgdW5k ZXJsaW5pbmcNCi0gICAgICA7OyB0aGUgY3VycmVudCB0YWINCi0gICAgICA7Ow0KLSAgICAgIDs7 IGBmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QnIGFuZCBgZmctZXNjYXBlLWNoYXItYmFja3NsYXNo JyBjYW4NCi0gICAgICA7OyBiZSBjb21iaW5lZCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0 Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLWxhbmctZXJyb3InLCBgZmctbGFuZy13YXJuaW5n JywgYGZnLWxhbmctbm90ZScgY2FuIGJlDQotICAgICAgOzsgY29tYmluZWQgd2l0aCBgYmctbWFp bicsIGBiZy1kaW0nLCBgYmctYWx0Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLW1hcmstc2Vs JywgYGZnLW1hcmstZGVsJywgYGZnLW1hcmstYWx0JyBjYW4gYmUgY29tYmluZWQNCi0gICAgICA7 OyB3aXRoIGBiZy1tYWluJywgYGJnLWRpbScsIGBiZy1hbHQnLCBgYmctaGwtbGluZScNCi0gICAg ICA7Ow0KLSAgICAgIDs7IGBmZy11bmZvY3VzZWQnIG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmct bWFpbicNCi0gICAgICA7Ow0KLSAgICAgIDs7IHRoZSB3aW5kb3cgZGl2aWRlciBjb2xvdXJzIGFw cGx5IHRvIGZhY2VzIHdpdGgganVzdCBhbiBmZyB2YWx1ZQ0KLSAgICAgIDs7DQotICAgICAgOzsg YWxsIHBhaXJzIGFyZSBjb21iaW5hYmxlIHdpdGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmctaGwt bGluZSIgLiAiIzE1MTgyMyIpDQotICAgICAgKCJiZy1obC1saW5lLWludGVuc2UiIC4gIiMyZjJm MmYiKQ0KLSAgICAgICgiYmctaGwtYWx0IiAuICIjMTgxNzMyIikNCi0gICAgICAoImJnLWhsLWFs dC1pbnRlbnNlIiAuICIjMjgyZTQ2IikNCi0gICAgICAoImJnLXBhcmVuLW1hdGNoIiAuICIjNWYz NjJmIikNCi0gICAgICAoImJnLXBhcmVuLW1hdGNoLWludGVuc2UiIC4gIiM3NDE2YjUiKQ0KLSAg ICAgICgiYmctcmVnaW9uIiAuICIjM2MzYzNjIikNCi0NCi0gICAgICAoImJnLXRhYi1iYXIiIC4g IiMyYzJjMmMiKQ0KLSAgICAgICgiYmctdGFiLWFjdGl2ZSIgLiAiIzBlMGUwZSIpDQotICAgICAg KCJiZy10YWItaW5hY3RpdmUiIC4gIiMzZDNkM2QiKQ0KLSAgICAgICgiZmctdGFiLWFjdGl2ZSIg LiAiIzVhYzNjZiIpDQotDQotICAgICAgKCJmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QiIC4gIiNl N2E1OWEiKQ0KLSAgICAgICgiZmctZXNjYXBlLWNoYXItYmFja3NsYXNoIiAuICIjYWJhYjAwIikN Ci0NCi0gICAgICAoImZnLWxhbmctZXJyb3IiIC4gIiNlZjg2OTAiKQ0KLSAgICAgICgiZmctbGFu Zy13YXJuaW5nIiAuICIjYjBhYTAwIikNCi0gICAgICAoImZnLWxhbmctbm90ZSIgLiAiIzlkOWRl ZiIpDQotDQotICAgICAgKCJmZy13aW5kb3ctZGl2aWRlci1pbm5lciIgLiAiIzY0NjQ2NCIpDQot ICAgICAgKCJmZy13aW5kb3ctZGl2aWRlci1vdXRlciIgLiAiIzk2OTY5NiIpDQotDQotICAgICAg KCJmZy11bmZvY3VzZWQiIC4gIiM5Mzk1OWIiKQ0KLQ0KLSAgICAgICgiYmctaGVhZGVyIiAuICIj MjEyMTIxIikgKCJmZy1oZWFkZXIiIC4gIiNkZGRkZGQiKQ0KLQ0KLSAgICAgICgiYmctd2hpdGVz cGFjZSIgLiAiIzE3MDAxNiIpICgiZmctd2hpdGVzcGFjZSIgLiAiI2E0OTU5ZiIpDQotDQotICAg ICAgKCJiZy1kaWZmLWhlYWRpbmciIC4gIiMzMDQ0NjYiKSAoImZnLWRpZmYtaGVhZGluZyIgLiAi I2RhZGZmZSIpDQotICAgICAgKCJiZy1kaWZmLWFkZGVkIiAuICIjMGEyODBhIikgKCJmZy1kaWZm LWFkZGVkIiAuICIjOTRiYTk0IikNCi0gICAgICAoImJnLWRpZmYtY2hhbmdlZCIgLiAiIzJhMjAw MCIpICgiZmctZGlmZi1jaGFuZ2VkIiAuICIjYjBiYTlmIikNCi0gICAgICAoImJnLWRpZmYtcmVt b3ZlZCIgLiAiIzQwMTYwZiIpICgiZmctZGlmZi1yZW1vdmVkIiAuICIjYzZhZGFhIikNCi0NCi0g ICAgICAoImJnLWRpZmYtcmVmaW5lLWFkZGVkIiAuICIjMDA1YTM2IikgKCJmZy1kaWZmLXJlZmlu ZS1hZGRlZCIgLiAiI2UwZjZlMCIpDQotICAgICAgKCJiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIiAu ICIjNTg1ODAwIikgKCJmZy1kaWZmLXJlZmluZS1jaGFuZ2VkIiAuICIjZmZmZmNjIikNCi0gICAg ICAoImJnLWRpZmYtcmVmaW5lLXJlbW92ZWQiIC4gIiM4NTI4MjgiKSAoImZnLWRpZmYtcmVmaW5l LXJlbW92ZWQiIC4gIiNmZmQ5ZWIiKQ0KLQ0KLSAgICAgICgiYmctZGlmZi1mb2N1cy1hZGRlZCIg LiAiIzIwM2QyMCIpICgiZmctZGlmZi1mb2N1cy1hZGRlZCIgLiAiI2I0ZGRiNCIpDQotICAgICAg KCJiZy1kaWZmLWZvY3VzLWNoYW5nZWQiIC4gIiM0YTNhMTAiKSAoImZnLWRpZmYtZm9jdXMtY2hh bmdlZCIgLiAiI2QwZGFhZiIpDQotICAgICAgKCJiZy1kaWZmLWZvY3VzLXJlbW92ZWQiIC4gIiM1 ZTI1MjYiKSAoImZnLWRpZmYtZm9jdXMtcmVtb3ZlZCIgLiAiI2VlYmRiYSIpDQotDQotICAgICAg KCJiZy1kaWZmLW5ldXRyYWwtMCIgLiAiIzU3NTc1NyIpICgiZmctZGlmZi1uZXV0cmFsLTAiIC4g IiNmY2ZjZmMiKQ0KLSAgICAgICgiYmctZGlmZi1uZXV0cmFsLTEiIC4gIiM0NTQ1NDUiKSAoImZn LWRpZmYtbmV1dHJhbC0xIiAuICIjZGRkZGRkIikNCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0y IiAuICIjMzEzMTMxIikgKCJmZy1kaWZmLW5ldXRyYWwtMiIgLiAiI2JmYmZiZiIpDQotDQotICAg ICAgKCJiZy1tYXJrLXNlbCIgLiAiIzAwMmYyZiIpICgiZmctbWFyay1zZWwiIC4gIiM2MGNmYTIi KQ0KLSAgICAgICgiYmctbWFyay1kZWwiIC4gIiM1YTAwMDAiKSAoImZnLW1hcmstZGVsIiAuICIj ZmY5OWFhIikNCi0gICAgICAoImJnLW1hcmstYWx0IiAuICIjM2YyMjEwIikgKCJmZy1tYXJrLWFs dCIgLiAiI2YwYWEyMCIpKQ0KLSAgICAiVGhlIGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy12aXZl bmRpLXRoZW1lJy4NCi1FYWNoIGVsZW1lbnQgaGFzIHRoZSBmb3JtIChOQU1FIC4gSEVYKS4iKQ0K LQ0KLSAgKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlz dCAnKCkNCi0gICAgIkFzc29jaWF0aW9uIGxpc3Qgb2YgcGFsZXR0ZSBjb2xvdXIgb3ZlcnJpZGVz Lg0KLVZhbHVlcyBjYW4gYmUgbWFwcGVkIHRvIHZhcmlhYmxlcywgdXNpbmcgdGhlIHNhbWUgc3lu dGF4IGFzIHRoZQ0KLW9uZSBwcmVzZW50IGluIGBtb2R1cy12aXZlbmRpLXRoZW1lLWRlZmF1bHQt Y29sb3JzLWFsaXN0Jy4NCi0NCi1UaGlzIGlzIG9ubHkgbWVhbnQgZm9yIGRvLWl0LXlvdXJzZWxm IHVzYWdlLCB3aXRoIHRoZQ0KLXVuZGVyc3RhbmRpbmcgdGhhdCB0aGUgdXNlciBpcyByZXNwb25z aWJsZSBmb3IgdGhlIHJlc3VsdGluZw0KLWNvbnRyYXN0IHJhdGlvIGJldHdlZW4gbmV3IGFuZCBl eGlzdGluZyBjb2xvdXJzLiINCi0gICAgOnR5cGUgJyhhbGlzdA0KLSAgICAgICAgICAgIDprZXkt dHlwZSAoc3RyaW5nIDp0YWcgIk5hbWUiKQ0KLSAgICAgICAgICAgIDp2YWx1ZS10eXBlIChzdHJp bmcgOnRhZyAiIEhleCIpKSkNCi0NCi0gIChkZWZtYWNybyBtb2R1cy12aXZlbmRpLXRoZW1lLXdp dGgtY29sb3ItdmFyaWFibGVzICgmcmVzdCBib2R5KQ0KLSAgICAiYGxldCcgYmluZCBhbGwgY29s b3VycyBhcm91bmQgQk9EWS4NCi1BbHNvIGJpbmQgYGNsYXNzJyB0byAoKGNsYXNzIGNvbG9yKSAo bWluLWNvbG9ycyA4OSkpLiINCi0gICAgKGRlY2xhcmUgKGluZGVudCAwKSkNCi0gICAgYChsZXQg KChjbGFzcyAnKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgODkpKSkNCi0gICAgICAgICAgICxA KG1hcGNhciAobGFtYmRhIChjb25zKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgKGlu dGVybiAoY2FyIGNvbnMpKSAoY2RyIGNvbnMpKSkNCi0gICAgICAgICAgICAgICAgICAgICAoYXBw ZW5kIG1vZHVzLXZpdmVuZGktdGhlbWUtZGVmYXVsdC1jb2xvcnMtYWxpc3QNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFs aXN0KSkNCi0gICAgICAgICAgIDs7IHNpbXBsZSBjb25kaXRpb25hbCBzdHlsZXMgdGhhdCBldmFs dWF0ZSB1c2VyLWZhY2luZw0KLSAgICAgICAgICAgOzsgY3VzdG9taXNhdGlvbiBvcHRpb25zDQot ICAgICAgICAgICAobW9kdXMtdGhlbWUtc2xhbnQNCi0gICAgICAgICAgICAoaWYgbW9kdXMtdml2 ZW5kaS10aGVtZS1zbGFudGVkLWNvbnN0cnVjdHMgJ2l0YWxpYyAnbm9ybWFsKSkNCi0gICAgICAg ICAgIChtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaA0KLSAgICAgICAgICAgIChpZiBtb2R1cy12 aXZlbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICd2YXJpYWJsZS1waXRjaCAnZGVm YXVsdCkpKQ0KLSAgICAgICAsQGJvZHkpKSkNCi0NCi0MDQotDQotOzs7IEZhY2VzDQorKHJlcXVp cmUtdGhlbWUgJ21vZHVzLXRoZW1lcykNCiANCi0obW9kdXMtdml2ZW5kaS10aGVtZS13aXRoLWNv bG9yLXZhcmlhYmxlcw0KLSAgKGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0gICAnbW9kdXMtdml2 ZW5kaQ0KLTs7OzsgY3VzdG9tIGZhY2VzDQotICAgOzsgdGhlc2UgYmVzcG9rZSBmYWNlcyBhcmUg aW5oZXJpdGVkIGJ5IG90aGVyIGNvbnN0cnVjdHMgYmVsb3cNCi07Ozs7OyBzdWJ0bGUgY29sb3Vy ZWQgYmFja2dyb3VuZHMNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLHJlZC1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtc3VidGxlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1zdWJ0bGUt YmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLXllbGxv dyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhl bWUtc3VidGxlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtc3VidGxlLWJn IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7OzsgaW50ZW5zZSBj b2xvdXJlZCBiYWNrZ3JvdW5kcw0KLSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgKCgsY2xh c3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVl bi1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1p bnRlbnNlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQg LG1hZ2VudGEtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMt dGhlbWUtaW50ZW5zZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJh bCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotOzs7OzsgcmVmaW5lZCBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbWJpbmF0aW9ucw0K LSAgIDs7IGdlbmVyYWwgcHVycG9zZSBzdHlsZXMgdGhhdCB1c2UgYW4gYWNjZW50ZWQgZm9yZWdy b3VuZCBhZ2FpbnN0IGFuDQotICAgOzsgYWNjZW50ZWQgYmFja2dyb3VuZA0KLSAgIGAobW9kdXMt dGhlbWUtcmVmaW5lLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXJlZmluZS1iZyA6Zm9y ZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVu ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGdyZWVu LXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyAoKCxjbGFzcyA6 YmFja2dyb3VuZCAseWVsbG93LXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1m ZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxibHVlLXJlZmluZS1mZykpKQ0KLSAgIGAobW9k dXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtcmVm aW5lLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhl bWUtcmVmaW5lLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tcmVmaW5lLWJnIDpmb3Jl Z3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KLTs7Ozs7ICJhY3RpdmUiIGNvbWJpbmF0aW9ucywg bW9zdGx5IGZvciB1c2Ugb24gdGhlIG1vZGUgbGluZQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZl LXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0 aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91 bmQgLGdyZWVuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10 aGVtZS1hY3RpdmUteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctYWN0aXZlIDpm b3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkp DQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs bWFnZW50YS1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhl bWUtYWN0aXZlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tYWN0aXZlIDpmb3JlZ3Jv dW5kICxiZy1hY3RpdmUpKSkNCi07Ozs7OyBudWFuY2VkIGJhY2tncm91bmRzDQotICAgOzsgdXNl ZnVsIGZvciBhZGRpbmcgYW4gYWNjZW50ZWQgYmFja2dyb3VuZCB0aGF0IGlzIHN1aXRhYmxlIGZv ciBhbGwNCi0gICA7OyBtYWluIGZvcmVncm91bmQgY29sb3VycyAoaW50ZW5kZWQgZm9yIHVzZSBp biBPcmcgc291cmNlIGJsb2NrcykNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRl bmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxncmVlbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQp KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91 bmQgLHllbGxvdy1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkp KSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Ymx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAg YChtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2Vu dGEtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLW51 YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQg KD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi07Ozs7OyBmcmlu Z2Utc3BlY2lmaWMgY29tYmluYXRpb25zDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtcmVkICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdy ZWVuLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUt ZnJpbmdlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWZyaW5nZS1iZyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFn ZW50YS1mcmluZ2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1l LWZyaW5nZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWZyaW5nZS1iZyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IHNwZWNpYWwgYmFzZSB2YWx1ZXMNCi0gICA7OyB0aGVz ZSBhcmUgY2xvc2VyIHRvIHRoZSBncmF5c2NhbGUgdGhhbiB0aGUgYWNjZW50cyBkZWZpbmVkIGFi b3ZlDQotICAgOzsgYW5kIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiB0aGUgbmV4dCBjbG9zZXN0 IGFsdGVybmF0aXZlIHdvdWxkIGJlDQotICAgOzsgYSBncmV5c2NhbGUgdmFsdWUgdGhhbiBhbiBh Y2NlbnRlZCBvbmUNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct c3BlY2lhbC1taWxkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG1vZHVz LXRoZW1lLXNwZWNpYWwtd2FybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC13YXJt IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNp YWwtY2FsbSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jYWxtIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBkaWZmLXNwZWNpZmljIGNvbWJpbmF0aW9ucw0K LSAgIDs7IGludGVuZGVkIGZvciBgZGlmZi1tb2RlJyBvciBlcXVpdmFsZW50DQotICAgYChtb2R1 cy10aGVtZS1kaWZmLWFkZGVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4gZ3JlZW4NCi0gICAgICAgICAgICAgICAg IGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0KLSAgICAgICAgICAgICAg ICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUt ZGlmZi1jaGFuZ2VkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYN Ci0gICAgICAgICAgICAgICAgIGJnLW1haW4geWVsbG93DQotICAgICAgICAgICAgICAgICBiZy1k aWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkDQotICAgICAgICAgICAgICAg ICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAgYChtb2R1cy10aGVt ZS1kaWZmLXJlbW92ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlm Zg0KLSAgICAgICAgICAgICAgICAgYmctbWFpbiByZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRp ZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAg IHJlZC1udWFuY2VkLWJnIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRp ZmYtcmVmaW5lLWFkZGVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRp ZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtYWRkZWQgZmctZGlmZi1yZWZpbmUtYWRkZWQNCi0g ICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZCkp KSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQNCi0gICAgICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1j aGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUt Y2hhbmdlZCBmZy1kaWZmLXJlZmluZS1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICBiZy1kaWZm LWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpKQ0KLSAgIGAobW9kdXMtdGhl bWUtZGlmZi1yZWZpbmUtcmVtb3ZlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1v dmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1yZW1vdmVkIGZnLWRpZmYtcmVm aW5lLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1k aWZmLWZvY3VzLXJlbW92ZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVk DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAg ICAgICAgIGJnLWRpbSBncmVlbg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1hZGRl ZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZn LWRpZmYtYWRkZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQNCi0g ICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAg ICAgYmctZGltIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2Vk IGZnLWRpZmYtZm9jdXMtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2Vk IGZnLWRpZmYtY2hhbmdlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3Zl ZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAg ICAgICAgICBiZy1kaW0gcmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92 ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92 ZWQgZmctZGlmZi1yZW1vdmVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nDQot ICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAg ICAgIGJnLWFsdCBibHVlLWFsdA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1oZWFkaW5nIGZn LWRpZmYtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUpKSkp DQotOzs7OzsgbWFyayBpbmRpY2F0b3JzDQotICAgOzsgY29sb3VyIGNvbWJpbmF0aW9ucyBpbnRl bmRlZCBmb3IgRGlyZWQsIElidWZmZXIsIG9yIGVxdWl2YWxlbnQNCi0gICBgKG1vZHVzLXRoZW1l LXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1hbHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctbWFyay1hbHQgOmZvcmVncm91bmQgLGZnLW1hcmstYWx0KSkpDQotICAg YChtb2R1cy10aGVtZS1tYXJrLWRlbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxiZy1tYXJrLWRlbCA6Zm9yZWdyb3VuZCAsZmctbWFyay1kZWwpKSkNCi0gICBgKG1vZHVzLXRo ZW1lLW1hcmstc2VsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmst c2VsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLXNlbCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1z eW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07 Ozs7OyBoZWFkaW5nIGxldmVscw0KLSAgIDs7IHN0eWxlcyBmb3IgcmVndWxhciBoZWFkaW5ncyB1 c2VkIGluIE9yZywgTWFya2Rvd24sIEluZm8sIGV0Yy4NCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRp bmctMQ0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nDQotICAg ICAgICAgICAgICAgICAxIGZnLW1haW4gbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1udWFuY2Vk LWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVh ZGluZy0yDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0g ICAgICAgICAgICAgICAgIDIgZmctc3BlY2lhbC13YXJtIG1hZ2VudGEtYWx0IHJlZC1udWFuY2Vk LWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVh ZGluZy0zDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0g ICAgICAgICAgICAgICAgIDMgZmctc3BlY2lhbC1jb2xkIGJsdWUgYmx1ZS1udWFuY2VkLWJnIGJn LXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS0yKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy00 DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAg ICAgICAgICAgIDQgZmctc3BlY2lhbC1taWxkIGN5YW4gY3lhbi1udWFuY2VkLWJnIGJnLXJlZ2lv bikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZS0xKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy01DQotICAg ICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAg ICAgIDUgZmctc3BlY2lhbC1jYWxtIGdyZWVuLWFsdC1vdGhlciBncmVlbi1udWFuY2VkLWJnIGJn LXJlZ2lvbikpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNg0KLSAgICAgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA2IHllbGxv dy1udWFuY2VkIHllbGxvdy1hbHQtb3RoZXIgeWVsbG93LW51YW5jZWQtYmcgYmctcmVnaW9uKSkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy03DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDcgcmVkLW51YW5jZWQgcmVk LWFsdCByZWQtbnVhbmNlZC1iZyBiZy1yZWdpb24pKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFk aW5nLTgNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZw0KLSAg ICAgICAgICAgICAgICAgOCBmZy1kaW0gbWFnZW50YSBiZy1hbHQgYmctcmVnaW9uKSkpKQ0KLTs7 Ozs7IG90aGVyIGN1c3RvbSBmYWNlcw0KLSAgIGAobW9kdXMtdGhlbWUtaGwtbGluZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctaGwt bGluZS1pbnRlbnNlIGJnLWhsLWxpbmUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi07 Ozs7IHN0YW5kYXJkIGZhY2VzDQotOzs7OzsgYWJzb2x1dGUgZXNzZW50aWFscw0KLSAgIGAoZGVm YXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChm cmluZ2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1mcmluZ2UgYmctaW5hY3RpdmUg YmctYWN0aXZlKQ0KLSAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYCh2ZXJ0aWNhbC1ib3JkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1k aXZpZGVyLWlubmVyKSkpDQotOzs7OzsgYmFzaWMgYW5kL29yIHVuZ3JvdXBlZCBzdHlsZXMNCi0g ICA7OyBNb2RpZnkgdGhlIGBib2xkJyBmYWNlIHRvIGNoYW5nZSB0aGUgd2VpZ2h0IG9mIGFsbCAi Ym9sZCIgZWxlbWVudHMNCi0gICA7OyBkZWZpbmVkIGJ5IHRoZSB0aGVtZS4gIFlvdSBuZWVkIGEg dHlwZWZhY2UgdGhhdCBzdXBwb3J0cyBhDQotICAgOzsgbXVsdGl0dWRlIG9mIGhlYXZpZXIgd2Vp Z2h0cyB0aGFuIHRoZSByZWd1bGFyIG9uZSBhbmQgdGhlbiB5b3UNCi0gICA7OyBtdXN0IHNwZWNp ZnkgdGhlIGV4YWN0IG5hbWUgb2YgdGhlIG9uZSB5b3Ugd2lzaCB0byBhcHBseS4gIEV4YW1wbGUN Ci0gICA7OyBmb3IgeW91ciBpbml0LmVsOg0KLSAgIDs7DQotICAgOzsgKHNldC1mYWNlLWF0dHJp YnV0ZSAnYm9sZCBuaWwgOndlaWdodCAnc2VtaWJvbGQpDQotICAgYChib2xkICgoLGNsYXNzIDp3 ZWlnaHQgYm9sZCkpKQ0KLSAgIGAoY29taW50LWhpZ2hsaWdodC1pbnB1dCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkKSkpDQotICAgYChjb21pbnQtaGlnaGxpZ2h0LXByb21wdCAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4NCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlLWFsdA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1yZWZpbmUtYmcgZmctbWFpbikp KSkNCi0gICBgKGVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAoZXNjYXBlLWdseXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hh ci1jb25zdHJ1Y3QpKSkNCi0gICBgKGZpbGUtbmFtZS1zaGFkb3cgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoaGVhZGVyLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChoZWFkZXItbGlu ZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkN Ci0gICBgKGhlbHAtYXJndW1lbnQtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbiA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChob21vZ2x5cGggKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAgIGAoaWJ1ZmZlci1sb2NrZWQt YnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChp dGFsaWMgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobm9icmVhay1oeXBoZW4gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAgIGAobm9i cmVhay1zcGFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0 IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWluaWJ1ZmZlci1wcm9tcHQgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1wcm9tcHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGN5YW4tYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj eWFuLW51YW5jZWQtYmcgY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhbi1yZWZpbmUtYmcgZmctbWFpbikpKSkNCi0gICBgKG1tLWNvbW1hbmQtb3V0cHV0ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChtbS11dS1leHRyYWN0ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAobmV4dC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt cmVkKSkpDQotICAgYChyZWN0YW5nbGUtcHJldmlldyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHJlZ2lvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctcmVnaW9uIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzZWNvbmRhcnktc2VsZWN0 aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAo c2hhZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHN1Y2Nlc3MgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHRyYWlsaW5n LXdoaXRlc3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQotICAg YCh3YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LTs7Ozs7IGJ1dHRvbnMsIGxpbmtzLCB3aWRnZXRzDQotICAgYChidXR0b24gKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgLEAodW5sZXNz IG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgKGxpc3QgOnVuZGVybGluZSB0KSkpKSkNCi0gICBgKGxpbmsgKCgsY2xhc3MgOmlu aGVyaXQgYnV0dG9uKSkpDQotICAgYChsaW5rLXZpc2l0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbGlu ayA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHRvb2x0aXAgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAod2lkZ2V0LWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKHdp ZGdldC1idXR0b24tcHJlc3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKHdpZGdldC1kb2N1bWVudGF0aW9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAod2lkZ2V0LWZpZWxkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAod2lkZ2V0LWluYWN0aXZlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkN Ci0gICBgKHdpZGdldC1zaW5nbGUtbGluZS1maWVsZCAoKCxjbGFzcyA6aW5oZXJpdCB3aWRnZXQt ZmllbGQpKSkNCi07Ozs7OyBhZw0KLSAgIGAoYWctaGl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoYWctbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBhbGVydA0KLSAgIGAoYWxl cnQtaGlnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQp KSkNCi0gICBgKGFsZXJ0LWxvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCi0gICBgKGFsZXJ0LW1vZGVyYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChhbGVydC10cml2aWFsLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoYWxlcnQtdXJnZW50LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi07 Ozs7OyBhbGwtdGhlLWljb25zDQotICAgYChhbGwtdGhlLWljb25zLWJsdWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtYmx1ZS1hbHQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLWN5YW4gKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtY3lhbi1hbHQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLWRibHVl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1p Y29ucy1kY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBg KGFsbC10aGUtaWNvbnMtZGdyZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZGlyZWQtZGlyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZG1hcm9vbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZG9yYW5n ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1p Y29ucy1kcGluayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRo ZS1pY29ucy1kcHVycGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAg IGAoYWxsLXRoZS1pY29ucy1kcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KGFsbC10aGUtaWNvbnMtZHNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYChhbGwtdGhlLWljb25zLWR5ZWxsb3cgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1ncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbGJsdWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxjeWFuICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sZ3Jl ZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRo ZS1pY29ucy1sbWFyb29uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykp KQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sb3JhbmdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt cmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxwaW5rICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1scHVycGxlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1p Y29ucy1scmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYChh bGwtdGhlLWljb25zLWxzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1seWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLW1hcm9vbiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1vcmFuZ2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtcGluayAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1wdXJwbGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25z LXB1cnBsZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChhbGwtdGhlLWljb25zLXJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAg YChhbGwtdGhlLWljb25zLXJlZC1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN Ci0gICBgKGFsbC10aGUtaWNvbnMtc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMteWVsbG93ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBhbm5vdGF0ZQ0KLSAgIGAoYW5ub3RhdGUtYW5ub3RhdGlv biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoYW5u b3RhdGUtYW5ub3RhdGlvbi1zZWNvbmRhcnkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLWdyZWVuKSkpDQotICAgYChhbm5vdGF0ZS1oaWdobGlnaHQgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxibHVlLWludGVuc2UpKSkNCi0gICBg KGFubm90YXRlLWhpZ2hsaWdodC1zZWNvbmRhcnkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVu LW51YW5jZWQtYmcgOnVuZGVybGluZSAsZ3JlZW4taW50ZW5zZSkpKQ0KLTs7Ozs7IGFuenUNCi0g ICBgKGFuenUtbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lh bikpKQ0KLSAgIGAoYW56dS1tYXRjaC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1ncmVlbikpKQ0KLSAgIGAoYW56dS1tYXRjaC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS15ZWxsb3cpKSkNCi0gICBgKGFuenUtbW9kZS1saW5lICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoYW56dS1tb2Rl LWxpbmUtbm8tbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFj dGl2ZSkpKQ0KLSAgIGAoYW56dS1yZXBsYWNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUteWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYW56dS1yZXBs YWNlLXRvICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQp KSkpDQotOzs7OzsgYXByb3Bvcw0KLSAgIGAoYXByb3Bvcy1mdW5jdGlvbi1idXR0b24gKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAoYXByb3Bvcy1rZXliaW5kaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGFwcm9wb3MtbWlzYy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXByb3Bvcy1wcm9wZXJ0 eSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGFwcm9wb3Mtc3ltYm9sICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikp KQ0KLSAgIGAoYXByb3Bvcy11c2VyLW9wdGlvbi1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFwcm9wb3MtdmFyaWFi bGUtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LTs7Ozs7IGFwdC1zb3VyY2VzLWxpc3QNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3QtY29tcG9uZW50 cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYXB0LXNvdXJjZXMtbGlzdC1v cHRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGFwdC1zb3VyY2Vz LWxpc3Qtc3VpdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChhcHQtc291 cmNlcy1saXN0LXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFw dC1zb3VyY2VzLWxpc3QtdXJpICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotOzs7Ozsg YXJ0Ym9sbG9ja3MtbW9kZQ0KLSAgIGAoYXJ0Ym9sbG9ja3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctbm90ZSkpKQ0KLSAgIGAoYXJ0 Ym9sbG9ja3MtbGV4aWNhbC1pbGx1c2lvbnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYXJ0Ym9sbG9j a3MtcGFzc2l2ZS12b2ljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNl ZCA6dW5kZXJsaW5lICxmZy1sYW5nLXdhcm5pbmcpKSkNCi0gICBgKGFydGJvbGxvY2tzLXdlYXNl bC13b3Jkcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCA6dW5kZXJsaW5l ICxmZy1sYW5nLWVycm9yKSkpDQotOzs7OzsgYXVjdGV4IGFuZCBUZXgNCi0gICBgKGZvbnQtbGF0 ZXgtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY2FsbSkpKQ0KLSAgIGAoZm9udC1sYXRleC1kb2N0ZXgtZG9jdW1lbnRhdGlvbi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAoZm9udC1sYXRleC1kb2N0ZXgtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtaXRhbGljLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChmb250LWxhdGV4 LW1hdGgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBg KGZvbnQtbGF0ZXgtc2NyaXB0LWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0wLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxibHVlLW51 YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0xLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMi1mYWNlICgoLGNsYXNz IDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTMtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3Jv dW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy00LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9y ZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctNS1m YWNlICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdy b3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlZGF0ZS1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm9udC1sYXRleC1zbGlkZS10aXRsZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91 bmQgLGN5YW4tbnVhbmNlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2Fs ZS00KSkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc3Vic2NyaXB0LWZhY2UgKCgsY2xhc3Mg OmhlaWdodCAwLjk1KSkpDQotICAgYChmb250LWxhdGV4LXN1cGVyc2NyaXB0LWZhY2UgKCgsY2xh c3MgOmhlaWdodCAwLjk1KSkpDQotICAgYChmb250LWxhdGV4LXZlcmJhdGltLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQot ICAgYChmb250LWxhdGV4LXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LWFsdC1vdGhlcikpKQ0KLSAgIGAodGV4LW1hdGNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KLSAgIGAodGV4LXZlcmJhdGltICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAodGV4aW5mby1oZWFk aW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChUZVgtZXJyb3ItZGVz Y3JpcHRpb24tZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24taGVscCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXRleC1zYWlkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24td2FybmluZyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBhdXRv LWRpbS1vdGhlci1idWZmZXJzDQotICAgYChhdXRvLWRpbS1vdGhlci1idWZmZXJzLWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLTs7Ozs7IGF2eQ0KLSAgIGAoYXZ5LWJhY2tn cm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1k aW0pKSkNCi0gICBgKGF2eS1nb3RvLWNoYXItdGltZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAo bW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0K LSAgIGAoYXZ5LWxlYWQtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLWJsdWUgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJp dCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2Ut MiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0K LTs7Ozs7IGF3IChhY2Utd2luZG93KQ0KLSAgIGAoYXctYmFja2dyb3VuZC1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoYXcta2V5 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkp DQotICAgYChhdy1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWln aHQgMS41IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0K LSAgIGAoYXctbWluaWJ1ZmZlci1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGF3LW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQpKSkNCi07Ozs7OyBhd2Vzb21lLXRyYXkNCi0gICBgKGF3ZXNvbWUtdHJheS1t b2R1bGUtYXdlc29tZS10YWItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWJhdHRlcnktZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K LSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1idWZmZXItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGF3ZXNvbWUt dHJheS1tb2R1bGUtY2lyY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1kYXRlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChhd2Vzb21lLXRy YXktbW9kdWxlLWV2aWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtZ2l0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYXdlc29tZS10cmF5 LW1vZHVsZS1sYXN0LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1sb2NhdGlv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAoYXdlc29tZS10cmF5LW1vZHVsZS1tb2RlLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1wYXJl bnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K LSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1ydm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGJpbmRlcg0KLSAgIGAo YmluZGVyLXNpZGViYXItaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1jeWFuKSkpDQotICAgYChiaW5kZXItc2lkZWJhci1tYXJrZWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCi0gICBgKGJpbmRlci1zaWRlYmFyLW1pc3Npbmcg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAoYmluZGVy LXNpZGViYXItdGFncyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGJtDQot ICAgYChibS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cN Ci0gICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3 KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChibS1mcmluZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChibS1mcmluZ2UtcGVyc2lzdGVu dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlKSkpDQotICAg YChibS1wZXJzaXN0ZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFj cy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotOzs7OzsgYm9uZ28NCi0gICBg KGJvbmdvLWFsYnVtLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0K LSAgIGAoYm9uZ28tYXJ0aXN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkp KQ0KLSAgIGAoYm9uZ28tY3VycmVudGx5LXBsYXlpbmctdHJhY2sgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCkpKQ0KLSAgIGAoYm9uZ28tZWxhcHNlZC10cmFjay1wYXJ0ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYm9uZ28t ZmlsbGVkLXNlZWstYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoYm9uZ28tbWFya2VkLXRyYWNrICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYXJrLWFsdCkpKQ0KLSAgIGAoYm9uZ28tbWFya2VkLXRyYWNrLWxpbmUg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1hcmstYWx0KSkpDQotICAgYChib25nby1wbGF5ZWQt dHJhY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCA6c3RyaWtlLXRocm91Z2gg dCkpKQ0KLSAgIGAoYm9uZ28tdHJhY2stbGVuZ3RoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KLSAgIGAoYm9uZ28tdHJhY2stdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChib25nby11bmZpbGxlZC1zZWVrLWJhciAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot Ozs7OzsgYm9vbg0KLSAgIGAoYm9vbi1tb2RlbGluZS1jbWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGJvb24tbW9kZWxpbmUtaW5zICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCi0gICBgKGJvb24tbW9kZWxpbmUt b2ZmICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCi0gICBg KGJvb24tbW9kZWxpbmUtc3BjICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1n cmVlbikpKQ0KLTs7Ozs7IGJyZWFrcG9pbnQgKGJ1aWx0LWluIGdkYi1taS5lbCkNCi0gICBgKGJy ZWFrcG9pbnQtZGlzYWJsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo YnJlYWtwb2ludC1lbmFibGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZCkpKQ0KLTs7Ozs7IGJ1ZmZlci1leHBvc2UNCi0gICBgKGJ1ZmZlci1leHBvc2UtYWNlLWNoYXIt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQot ICAgYChidWZmZXItZXhwb3NlLW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFjdGl2ZSkpKQ0KLSAgIGAoYnVmZmVyLWV4cG9zZS1zZWxlY3RlZC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IGNhbGVuZGFyIGFu ZCBkaWFyeQ0KLSAgIGAoY2FsZW5kYXItbW9udGgtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNhbGVuZGFyLXRvZGF5ICgoLGNsYXNz IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2FsZW5kYXItd2Vla2RheS1oZWFkZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoY2FsZW5kYXItd2Vla2VuZC1oZWFkZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlhcnkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChkaWFyeS1hbm5pdmVyc2FyeSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlhcnktdGltZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGhvbGlkYXkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgY2FsZncNCi0gICBgKGNmdzpmYWNlLWFubm90 YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoY2Z3 OmZhY2UtZGF5LXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChj Znc6ZmFjZS1kZWZhdWx0LWNvbnRlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkp KQ0KLSAgIGAoY2Z3OmZhY2UtZGVmYXVsdC1kYXkgKCgsY2xhc3MgOmluaGVyaXQgKGNmdzpmYWNl LWRheS10aXRsZSBib2xkKSkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGlzYWJsZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChjZnc6ZmFjZS1ncmlkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KLSAgIGAoY2Z3OmZhY2UtaGVh ZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGNmdzpmYWNlLWhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQotICAgYChjZnc6ZmFjZS1wZXJpb2RzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2Utc2F0dXJkYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXNlbGVjdCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKGNmdzpm YWNlLXN1bmRheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2UtdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRo ZW1lLXZhcmlhYmxlLXBpdGNoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNSkpKSkN Ci0gICBgKGNmdzpmYWNlLXRvZGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSkp KQ0KLSAgIGAoY2Z3OmZhY2UtdG9kYXktdGl0bGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9vbGJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGNmdzpmYWNlLXRvb2xiYXItYnV0dG9u LW9mZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjZnc6ZmFjZS10b29s YmFyLWJ1dHRvbi1vbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxibHVlLW51 YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGNlbnRhdXItdGFicw0KLSAgIGAoY2VudGF1ci10 YWJzLWFjdGl2ZS1iYXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctdGFiLWFjdGl2ZSkp KQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNlbnRh dXItdGFicy1jbG9zZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtc2Vs ZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1jbG9zZS11bnNlbGVjdGVkICgoLGNsYXNzIDpp bmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRhYnMtbW9k aWZpZWQtbWFya2VyLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy1zZWxl Y3RlZCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLW1vZGlmaWVkLW1hcmtlci11bnNlbGVjdGVkICgo LGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQotICAgYChjZW50YXVy LXRhYnMtZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAs YmctbWFpbikpKQ0KLSAgIGAoY2VudGF1ci10YWJzLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGNlbnRhdXItdGFicy1zZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgaXRhbGljKSkpDQot ICAgYChjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFi LWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNlbnRhdXItdGFicy11bnNl bGVjdGVkLW1vZGlmaWVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZv cmVncm91bmQgLGZnLWRpbSA6c2xhbnQgaXRhbGljKSkpDQotOzs7OzsgY2hhbmdlLWxvZyBhbmQg bG9nLXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0KLSAgIGAo Y2hhbmdlLWxvZy1hY2tub3dsZWRnbWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChjaGFuZ2UtbG9nLWNvbmRpdGlvbmFscyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKGNoYW5nZS1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5nZS1sb2ctZW1haWwgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGNoYW5nZS1sb2ctZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLWxpc3QgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGxvZy1lZGl0LWhlYWRlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChsb2ctZWRpdC1zdW1tYXJ5 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGxvZy1l ZGl0LXVua25vd24taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KGxvZy12aWV3LWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChsb2ctdmlldy1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi07Ozs7OyBjaWRlcg0KLSAgIGAoY2lkZXItZGVidWctY29kZS1vdmVybGF5 LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoY2lkZXItZGVidWct cHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAoY2lkZXItZGVwcmVjYXRlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctZW1waGFzaXMtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkN Ci0gICBgKGNpZGVyLWRvY3ZpZXctbGl0ZXJhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy1zdHJvbmctZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGNpZGVyLWRv Y3ZpZXctdGFibGUtYm9yZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAoY2lkZXItZW5saWdodGVuZWQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAt MSA6Y29sb3IgLHllbGxvdy1hbHQgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0K LSAgIGAoY2lkZXItZW5saWdodGVuZWQtbG9jYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChjaWRlci1lcnJvci1oaWdo bGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLSAg IGAoY2lkZXItZnJhZ2lsZS1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAz IDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCi0gICBgKGNpZGVyLWZyaW5nZS1nb29kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoY2lkZXItaW5zdHJ1bWVudGVkLWZhY2UgKCgsY2xhc3Mg OmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxyZWQgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQg LGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItcmVhZGVyLWNvbmRpdGlvbmFsLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRl ci1yZXBsLWlucHV0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoY2lkZXIt cmVwbC1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGNpZGVyLXJlcGwtc3RkZXJyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkKSkpDQotICAgYChjaWRlci1yZXBsLXN0ZG91dC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaWRlci1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSA6c3R5bGUgbmlsKSA6YmFja2dy b3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWVycm9yLWNsYXNzLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjaWRlci1z dGFja3RyYWNlLWVycm9yLW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZmls dGVyLWFjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVyLWluYWN0aXZlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZuLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo Y2lkZXItc3RhY2t0cmFjZS1ucy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNs YW50IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1wcm9tb3RlZC1idXR0b24tZmFj ZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxl YXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2Ut c3VwcHJlc3NlZC1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xv ciAsZmctYWx0IDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGNpZGVyLXRlc3QtZXJyb3ItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChjaWRlci10ZXN0LWZhaWx1 cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkp KSkNCi0gICBgKGNpZGVyLXRlc3Qtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGNpZGVyLXRyYWNlZC1mYWNlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsY3lhbiA6c3R5bGUgbmlsKSA6YmFja2dyb3Vu ZCAsYmctZGltKSkpDQotICAgYChjaWRlci13YXJuaW5nLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgY2lyY2UgKGFuZCBs dWkpDQotICAgYChjaXJjZS1mb29sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAoY2lyY2UtaGlnaGxpZ2h0LW5pY2stZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaXJjZS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2lyY2Ut c2VydmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAo bHVpLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KLSAgIGAobHVpLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAobHVpLXRpbWUtc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1udWFuY2VkKSkpDQotOzs7OzsgY29sb3ItcmcNCi0gICBgKGNvbG9yLXJnLWZvbnQt bG9jay1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNvbW1hbmQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZp bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQotICAgYChjb2xvci1yZy1mb250LWxvY2stZmxhc2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stZnVuY3Rpb24t bG9jYXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQot ICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtZGlyZWN0b3J5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRl ci1saW5lLWVkaXQtbW9kZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN Ci0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1rZXl3b3JkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFk ZXItbGluZS10ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNv bG9yLXJnLWZvbnQtbG9jay1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stbWFyay1jaGFuZ2VkICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNvbG9yLXJnLWZv bnQtbG9jay1tYXJrLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stcG9z aXRpb24tc3BsaXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGNv bHVtbi1lbmZvcmNlLW1vZGUNCi0gICBgKGNvbHVtbi1lbmZvcmNlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLTs7Ozs7IGNvbXBhbnktbW9kZQ0K LSAgIGAoY29tcGFueS1lY2hvLWNvbW1vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKGNvbXBhbnktcHJldmlldyAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNvbXBhbnktcHJldmlldy1jb21t b24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjb21wYW55LXByZXZp ZXctc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0K LSAgIGAoY29tcGFueS1zY3JvbGxiYXItYmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2 ZSkpKQ0KLSAgIGAoY29tcGFueS1zY3JvbGxiYXItZmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZn LWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS10ZW1wbGF0ZS1maWVsZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KGNvbXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoY29tcGFueS10b29s dGlwLWFubm90YXRpb24tc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1jb21tb24gKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRp cC1jb21tb24tc2VsZWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChjb21wYW55LXRvb2x0aXAtbW91c2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1ibHVlKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtc2VhcmNoICgoLGNsYXNzIDppbmhl cml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xkKSkpKQ0KLSAgIGAoY29tcGFueS10b29s dGlwLXNlYXJjaC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVu c2UtZ3JlZW4gYm9sZCkgOnVuZGVybGluZSB0KSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtc2Vs ZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkp KQ0KLTs7Ozs7IGNvbXBhbnktcG9zZnJhbWUNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUtYWN0aXZl LWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hY3Rp dmUgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChjb21wYW55LXBvc2ZyYW1lLWlu YWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUtbWV0YWRhdGEgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkp KQ0KLTs7Ozs7IGNvbXBpbGF0aW9uIGZlZWRiYWNrDQotICAgYChjb21waWxhdGlvbi1jb2x1bW4t bnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo Y29tcGlsYXRpb24tZXJyb3IgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY29tcGlsYXRpb24taW5mbyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChjb21waWxhdGlvbi1saW5l LW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChj b21waWxhdGlvbi1tb2RlLWxpbmUtZXhpdCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGNvbXBpbGF0 aW9uLW1vZGUtbGluZS1mYWlsICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13 ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChjb21waWxhdGlvbi1tb2Rl LWxpbmUtcnVuICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGlsYXRpb24td2FybmluZyAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotOzs7OzsgY29tcGxldGlvbnMNCi0gICBgKGNvbXBsZXRpb25zLWFubm90YXRp b25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoY29tcGxldGlvbnMtY29tbW9uLXBhcnQgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1udWFuY2VkLWJnDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFu LXJlZmluZS1mZykpKSkNCi0gICBgKGNvbXBsZXRpb25zLWZpcnN0LWRpZmZlcmVuY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IGJsdWUt bnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWludGVuc2UtYmcgZmctbWFpbikpKSkNCi07Ozs7OyBjb3Vuc2VsDQotICAgYChj b3Vuc2VsLWFjdGl2ZS1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoY291bnNlbC1hcHBsaWNhdGlvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLWtleS1iaW5kaW5nICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2Vs LW91dGxpbmUtMSAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTEpKSkNCi0gICBgKGNvdW5zZWwt b3V0bGluZS0yICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtMikpKQ0KLSAgIGAoY291bnNlbC1v dXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS0zKSkpDQotICAgYChjb3Vuc2VsLW91 dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTQpKSkNCi0gICBgKGNvdW5zZWwtb3V0 bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNSkpKQ0KLSAgIGAoY291bnNlbC1vdXRs aW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS02KSkpDQotICAgYChjb3Vuc2VsLW91dGxp bmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTcpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGlu ZS04ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtOCkpKQ0KLSAgIGAoY291bnNlbC1vdXRsaW5l LWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90 aGVyKSkpDQotICAgYChjb3Vuc2VsLXZhcmlhYmxlLWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LTs7Ozs7IGNvdW5zZWwtY3NzDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNl LTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVj dG9yLWRlcHRoLWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY291 bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS00ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZh Y2UtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoY291bnNlbC1jc3Mt c2VsZWN0b3ItZGVwdGgtZmFjZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7 OyBjb3Vuc2VsLW5vdG11Y2gNCi0gICBgKGNvdW5zZWwtbm90bXVjaC1jb3VudC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtZGF0ZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtcGVv cGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGNvdW5zZWwt bm90bXVjaC1zdWJqZWN0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotOzs7OzsgY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCi0gICBgKGNvdW5zZWwt b3JnLWNhcHR1cmUtc3RyaW5nLXRlbXBsYXRlLWJvZHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgY292DQotICAgYChjb3YtY292ZXJhZ2Utbm90 LXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoY292 LWNvdmVyYWdlLXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkp DQotICAgYChjb3YtaGVhdnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRl bnNlKSkpDQotICAgYChjb3YtbGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1p bnRlbnNlKSkpDQotICAgYChjb3YtbWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1pbnRlbnNlKSkpDQotICAgYChjb3Ytbm9uZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWludGVuc2UpKSkNCi07Ozs7OyBjcGVybC1tb2RlDQotICAgYChjcGVybC1ub25vdmVycmlk YWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAg YChjcGVybC1hcnJheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGNwZXJsLWhhc2gtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJl ZC1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGNzdi1tb2RlDQotICAg YChjc3Ytc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29s ZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGN0cmxmDQotICAgYChjdHJsZi1oaWdo bGlnaHQtYWN0aXZlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu IGJvbGQpKSkpDQotICAgYChjdHJsZi1oaWdobGlnaHQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChjdHJsZi1oaWdobGlnaHQtcGFzc2l2ZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7Ozs7IGN1c3RvbSAo TS14IGN1c3RvbWl6ZSkNCi0gICBgKGN1c3RvbS1idXR0b24gKCgsY2xhc3MgOmJveCAoOmxpbmUt d2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGN1c3RvbS1idXR0b24tbW91c2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lk dGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZn LWFjdGl2ZSkpKQ0KLSAgIGAoY3VzdG9tLWJ1dHRvbi1wcmVzc2VkICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcHJlc3NlZC1idXR0b24pDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY3VzdG9tLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGN1c3RvbS1jb21tZW50ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGN1c3RvbS1jb21tZW50LXRhZyAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQot ICAgYChjdXN0b20tZmFjZS10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1pbnRlbnNlKSkpDQotICAgYChjdXN0b20tZ3JvdXAtdGFnICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKGN1c3RvbS1ncm91cC10 YWctMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KGN1c3RvbS1pbnZhbGlkICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCBib2xkKSkpKQ0KLSAgIGAoY3VzdG9tLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChjdXN0b20tcm9ndWUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGN1c3RvbS1zZXQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjdXN0b20tc3RhdGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjdXN0b20tdGhlbWVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChjdXN0b20tdmFy aWFibGUtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07 Ozs7OyBkYXAtbW9kZQ0KLSAgIGAoZGFwLW1vdXNlLWV2YWwtdGhpbmctZmFjZSAoKCxjbGFzcyA6 Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUtYWN0aXZlIDpzdHlsZSBuaWwpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3Rp dmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRhcC1yZXN1bHQtb3ZlcmxheS1mYWNl ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmctYWN0aXZlIDpzdHlsZSBu aWwpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAs YmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkYXAtdWktYnJlYWtwb2lu dC12ZXJpZmllZC1mcmluZ2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWN0aXZlKSkpDQotICAgYChkYXAtdWktY29tcGlsZS1lcnJsaW5lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYChkYXAtdWktbG9jYWxz LXNjb3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGRhcC11aS1sb2NhbHMtdmFyaWFibGUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkYXAtdWktbG9jYWxz LXZhcmlhYmxlLWxlYWYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIg OnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZGFwLXVpLW1hcmtlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChkYXAtdWktc2Vzc2lvbnMtc3Rh Y2stZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAoZGFwLXVpLXNlc3Npb25zLXRlcm1pbmF0ZWQtYWN0aXZlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkYXAtdWkt c2Vzc2lvbnMtdGVybWluYXRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci07Ozs7OyBkYXNoYm9hcmQgKGVtYWNzLWRhc2hib2FyZCkNCi0gICBgKGRhc2hib2FyZC1iYW5u ZXItbG9nby10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGRhc2hib2FyZC1mb290ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChkYXNoYm9hcmQtaGVhZGlu ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKGRhc2hib2FyZC1uYXZpZ2F0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYChkYXNoYm9hcmQtdGV4dC1iYW5uZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IGRlYWRncmVwDQotICAgYChkZWFkZ3JlcC1maWxlbmFtZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAoZGVhZGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGRlYWRncmVwLW1ldGEtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWFkZ3JlcC1yZWdleHAtbWV0YWNoYXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAg IGAoZGVhZGdyZXAtc2VhcmNoLXRlcm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotOzs7OzsgZGViYnVncw0KLSAgIGAoZGViYnVncy1n bnUtYXJjaGl2ZWQgKCgsY2xhc3MgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAoZGViYnVncy1n bnUtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWJidWdzLWdu dS1mb3J3YXJkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAg IGAoZGViYnVncy1nbnUtaGFuZGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKGRlYmJ1Z3MtZ251LW5ldyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChk ZWJidWdzLWdudS1wZW5kaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChk ZWJidWdzLWdudS1zdGFsZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkp KQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0KSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS01ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkZWJidWdzLWdudS10YWdnZWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgZGVmaW5lLXdvcmQNCi0gICBg KGRlZmluZS13b3JkLWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAg YChkZWZpbmUtd29yZC1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07 Ozs7OyBkZWZ0DQotICAgYChkZWZ0LWZpbHRlci1zdHJpbmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChkZWZ0LWZpbHRlci1zdHJp bmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAoZGVm dC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCi0gICBgKGRlZnQtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGVmdC1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChkZWZ0LXRpbWUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkZWZ0 LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLTs7Ozs7IGRpY3Rpb25hcnkNCi0gICBgKGRpY3Rpb25hcnktYnV0dG9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChk aWN0aW9uYXJ5LXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGRpY3Rpb25hcnktd29yZC1kZWZpbml0aW9u LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpY3Rpb25hcnkt d29yZC1lbnRyeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGRpZmYtaGwNCi0gICBgKGRpZmYtaGwt Y2hhbmdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0g ICBgKGRpZmYtaGwtZGVsZXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1y ZWQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0IGRpZmYt aGwtY2hhbmdlKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWRlbGV0ZSAoKCxjbGFzcyA6aW5oZXJp dCBkaWZmLWhsLWRlbGV0ZSkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1pZ25vcmVkICgoLGNsYXNz IDppbmhlcml0IGRpcmVkLWlnbm9yZWQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtaW5zZXJ0ICgo LGNsYXNzIDppbmhlcml0IGRpZmYtaGwtaW5zZXJ0KSkpDQotICAgYChkaWZmLWhsLWRpcmVkLXVu a25vd24gKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KLSAgIGAoZGlmZi1obC1p bnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAg YChkaWZmLWhsLXJldmVydGVkLWh1bmstaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1hY3RpdmUtbWFnZW50YSBib2xkKSkpKQ0KLTs7Ozs7IGRpZmYtbW9kZQ0KLSAgIGAo ZGlmZi1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQot ICAgYChkaWZmLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFu Z2VkKSkpDQotICAgYChkaWZmLWNvbnRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9j dXNlZCkpKQ0KLSAgIGAoZGlmZi1maWxlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaWZmLWZ1bmN0aW9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGRpZmYtaGVhZGVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGRpZmYtaHVuay1oZWFkZXIgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nKSkpDQotICAgYChkaWZmLWluZGV4ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChkaWZm LWluZGljYXRvci1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWFkZGVkKSkpDQotICAgYChk aWZmLWluZGljYXRvci1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IGRpZmYtY2hhbmdlZCkpKQ0K LSAgIGAoZGlmZi1pbmRpY2F0b3ItcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLXJlbW92 ZWQpKSkNCi0gICBgKGRpZmYtbm9uZXhpc3RlbnQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLW5ldXRyYWwgYm9sZCkpKSkNCi0gICBgKGRpZmYtcmVmaW5lLWFkZGVkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYChkaWZmLXJlZmlu ZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5n ZWQpKSkNCi0gICBgKGRpZmYtcmVmaW5lLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KLSAgIGAoZGlmZi1yZW1vdmVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLTs7Ozs7IGRpbS1hdXRvbG9h ZA0KLSAgIGAoZGltLWF1dG9sb2FkLWNvb2tpZS1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGRpci10cmVldmlldw0K LSAgIGAoZGlyLXRyZWV2aWV3LWFyY2hpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChkaXItdHJlZXZpZXctYXJjaGl2ZS1pY29uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKGRpci10cmVldmlldy1hdWRpby1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChkaXItdHJlZXZpZXctYXVkaW8taWNvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1jb250cm9sLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWNvbnRyb2wtbW91 c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGlnaHQpKSkNCi0gICBgKGRpci10cmVldmll dy1kZWZhdWx0LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmYW1pbHkgIkZvbnQg QXdlc29tZSIgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWRlZmF1 bHQtZmlsZW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo ZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkp DQotICAgYChkaXItdHJlZXZpZXctZGlyZWN0b3J5LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQotICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1pY29uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctaW1hZ2UtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctaW1h Z2UtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24t ZmFjZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctaW5kZW50 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3 LWxhYmVsLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaGlnaGxpZ2h0KSkpDQotICAgYChk aXItdHJlZXZpZXctc3RhcnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXN5bWxpbmstZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGRpci10cmVldmll dy12aWRlby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoZGlyLXRyZWV2aWV3LXZpZGVvLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXIt dHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQotOzs7OzsgZGlyZWQNCi0gICBgKGRpcmVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZGlyZWQtZmxhZ2dlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWQtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCi0gICBgKGRpcmVkLWlnbm9yZWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyZWQtbWFyayAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAoZGlyZWQtbWFya2VkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChkaXJlZC1wZXJtLXdy aXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRpcmVk LXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkp KQ0KLSAgIGAoZGlyZWQtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi07Ozs7OyBkaXJlZC1hc3luYw0KLSAgIGAoZGlyZWQtYXN5bmMtZmFpbHVy ZXMgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRpcmVkLWFzeW5jLW1lc3NhZ2UgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2 ZSkpKQ0KLSAgIGAoZGlyZWQtYXN5bmMtbW9kZS1tZXNzYWdlICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLTs7 Ozs7IGRpcmVkLWdpdA0KLSAgIGAoZGlyZWQtZ2l0LWJyYW5jaC1lbHNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkaXJlZC1naXQtYnJh bmNoLW1hc3RlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLTs7Ozs7IGRpcmVkLWdpdC1pbmZvDQotICAgYChkZ2ktY29tbWl0LW1lc3Nh Z2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotOzs7Ozsg ZGlyZWQtbmFycm93DQotICAgYChkaXJlZC1uYXJyb3ctYmxpbmsgKCgsY2xhc3MgOmluaGVyaXQg KG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQpKSkpDQotOzs7OzsgZGlyZWQtc3VidHJlZQ0K LSAgIDs7IHJlbW92ZSBiYWNrZ3JvdW5kIGZyb20gZGlyZWQtc3VidHJlZSwgZWxzZSBpdCBicmVh a3MNCi0gICA7OyBkaXJlZC17ZmxhZ2dlZCxtYXJrZWR9IGFuZCBhbnkgb3RoZXIgZmFjZSB0aGF0 IHNldHMgYSBiYWNrZ3JvdW5kDQotICAgOzsgc3VjaCBhcyBobC1saW5lDQotICAgYChkaXJlZC1z dWJ0cmVlLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi0gICBgKGRp cmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLSAg IGAoZGlyZWQtc3VidHJlZS1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgbmlsKSkp DQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBu aWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgbmlsKSkpDQotOzs7OzsgZGlyZWRmbA0KLSAgIGAoZGlyZWRmbC1hdXRvZmlsZS1u YW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAo ZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChkaXJlZGZsLWNvbXByZXNzZWQtZmlsZS1zdWZmaXggKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRpcmVkZmwtZGF0ZS10aW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyZWRmbC1kZWxldGlv biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWRm bC1kZWxldGlvbi1maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1k ZWwpKSkNCi0gICBgKGRpcmVkZmwtZGlyLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyZWRmbC1kaXItbmFtZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXJlZC1kaXJlY3RvcnkpKSkNCi0gICBgKGRpcmVkZmwtZGlyLXByaXYgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChkaXJlZGZsLWV4ZWMtcHJpdiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZGlyZWRmbC1leGVjdXRhYmxlLXRh ZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRpcmVkZmwtZmls ZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkaXJlZGZsLWZp bGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkaXJlZGZsLWZs YWctbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAo ZGlyZWRmbC1mbGFnLW1hcmstbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJr LXNlbCkpKQ0KLSAgIGAoZGlyZWRmbC1pZ25vcmVkLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZsLWxpbmstcHJpdiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGRpcmVkZmwtbm8tcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZsLW51bWJlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGRpcmVkZmwtb3RoZXItcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkaXJlZGZsLXJhcmUtcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1yZWFkLXByaXYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpcmVkZmwtc3ltbGluayAoKCxjbGFzcyA6 aW5oZXJpdCBkaXJlZC1zeW1saW5rKSkpDQotICAgYChkaXJlZGZsLXRhZ2dlZC1hdXRvZmlsZS1u YW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAg YChkaXJlZGZsLXdyaXRlLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7 OyBkaXNrLXVzYWdlDQotICAgYChkaXNrLXVzYWdlLWNoaWxkcmVuICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpc2stdXNhZ2UtaW5hY2Nlc3NpYmxlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZGlzay11c2FnZS1wZXJjZW50 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZGlzay11c2FnZS1zaXplICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkaXNrLXVzYWdlLXN5bWxpbmsgKCgs Y2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaXNrLXVz YWdlLXN5bWxpbmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotOzs7OzsgZG9vbS1tb2RlbGluZQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1i YXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGRv b20tbW9kZWxpbmUtYmFyLWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1pbmFjdGl2 ZSA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWNo YXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtYmF0dGVyeS1jcml0aWNhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktZXJyb3IgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAtMikNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0K LSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWZ1bGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktbm9ybWFsICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS13 YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUp KSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1t YWpvci1tb2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZl KSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1taW5vci1tb2RlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItbW9kaWZp ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLXBhdGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWRlYnVnICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRv b20tbW9kZWxpbmUtZGVidWctdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1lbWFjcy1zdGF0ZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAoZG9vbS1tb2RlbGluZS1ldmlsLWluc2VydC1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1t b3Rpb24tc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1ub3JtYWwtc3RhdGUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5l LWV2aWwtb3BlcmF0b3Itc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1yZXBsYWNlLXN0YXRlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRv b20tbW9kZWxpbmUtZXZpbC12aXN1YWwtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtaGlnaGxpZ2h0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChk b29tLW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBg KGRvb20tbW9kZWxpbmUtbHNwLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtbHNwLXN1Y2Nlc3MgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkb29t LW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGFuZWwgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGVy c3AtYnVmZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXBlcnNwLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0 LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0K LSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LXBhcmVudC1kaXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXByb2plY3Qtcm9vdC1kaXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS11 bnJlYWQtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUgOnNsYW50IGl0YWxp YykpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS11cmdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS13YXJuaW5nICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07Ozs7 OyBkeW5hbWljLXJ1bGVyDQotICAgYChkeW5hbWljLXJ1bGVyLW5lZ2F0aXZlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAgYChkeW5hbWlj LXJ1bGVyLXBvc2l0aXZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS15ZWxsb3cpKSkNCi07Ozs7OyBlYXN5LWpla3lsbA0KLSAgIGAoZWFzeS1qZWt5bGwtaGVscC1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotOzs7OzsgZWFzeS1raWxsDQotICAgYChlYXN5LWtpbGwtb3JpZ2luICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGVhc3kta2lsbC1zZWxl Y3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KLTs7 Ozs7IGViZGINCi0gICBgKGViZGItYWRkcmVzcy1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChlYmRiLWRiLWNoYXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZWJkYi1kZWZ1bmN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKGViZGItZmllbGQtaGlkZGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChlYmRiLWZpZWxkLXVybCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAoZWJkYi1sYWJlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKGViZGItbWFpbC1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChlYmRiLW1haWwtcHJpbWFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCi0gICBgKGViZGItbWFya2VkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFu LWludGVuc2UtYmcpKSkNCi0gICBgKGViZGItb3JnYW5pemF0aW9uLW5hbWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZWJkYi1wZXJzb24tbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGViZGItcGhvbmUt ZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChl YmRiLXJvbGUtZGVmdW5jdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChl aWVpby1jdXN0b20tc2xvdC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLTs7Ozs7IGVkaWZmDQotICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0 ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0aGUNCi0gICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFj ZXMuDQotICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRp bSByZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVt b3ZlZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlZC1udWFuY2VkLWJnIHJlZC1mYWludCkpKSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlm Zi1BbmNlc3RvciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmctc3BlY2lhbC1j b2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctc3Bl Y2lhbC1jb2xkIGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlKSkpKQ0KLSAgIGAoZWRpZmYtY3Vy cmVudC1kaWZmLUIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZ3JlZW4NCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBn cmVlbi1mYWludCkpKSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1DICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctZGltIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgeWVsbG93LWZhaW50KSkpKQ0KLSAg IGAoZWRpZmYtZXZlbi1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJh bC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAoZWRpZmYtZXZlbi1k aWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9y ZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2ZW4tZGlmZi1CICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlm Zi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2ZW4tZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkN Ci0gICBgKGVkaWZmLWZpbmUtZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWZv Y3VzLXJlbW92ZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKQ0KLSAgIGAo ZWRpZmYtZmluZS1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuKSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGlmZi1mb2N1cy1hZGRlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1hZGRlZCkp KQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYt Zm9jdXMtY2hhbmdlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpDQotICAg YChlZGlmZi1vZGQtZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwt MiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZm LUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMCA6Zm9yZWdy b3VuZCAsZmctZGlmZi1uZXV0cmFsLTApKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMikpKQ0KLSAgIGAoZWRpZmYtb2RkLWRpZmYtQyAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotOzs7 OzsgZWdsb3QNCi0gICBgKGVnbG90LW1vZGUtbGluZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi07Ozs7 OyBlbC1zZWFyY2gNCi0gICBgKGVsLXNlYXJjaC1oaWdobGlnaHQtaW4tcHJvbXB0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGVs LXNlYXJjaC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu KSkpDQotICAgYChlbC1zZWFyY2gtb3RoZXItbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYChlbC1zZWFyY2gtb2NjdXItbWF0Y2ggKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotOzs7OzsgZWxkb2MNCi0g ICA7OyBOT1RFOiBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3B1cmNlbGwvcGFja2FnZS1saW50L2lz c3Vlcy8xODcNCi0gICAobGlzdCAnZWxkb2MtaGlnaGxpZ2h0LWZ1bmN0aW9uLWFyZ3VtZW50IGAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLTs7 Ozs7IGVsZG9jLWJveA0KLSAgIGAoZWxkb2MtYm94LWJvZHkgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZWxkb2MtYm94LWJvcmRlciAo KCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgZWxmZWVkDQotICAgYChlbGZl ZWQtbG9nLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KGVsZmVlZC1sb2ctZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1lcnJvci1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKGVsZmVlZC1sb2ctaW5mby1sZXZlbC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZWxmZWVkLWxvZy13YXJuLWxldmVsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1kYXRlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZWxmZWVkLXNl YXJjaC1mZWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVsZmVl ZC1zZWFyY2gtZmlsdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtbGFzdC11cGRhdGUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gt dGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZWxm ZWVkLXNlYXJjaC10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0g ICBgKGVsZmVlZC1zZWFyY2gtdW5yZWFkLWNvdW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC11bnJlYWQtdGl0bGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgZWxm ZWVkLXNjb3JlDQotICAgYChlbGZlZWQtc2NvcmUtZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYChlbGZlZWQtc2NvcmUtZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGVsZmVlZC1zY29yZS1l cnJvci1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVsZmVl ZC1zY29yZS1pbmZvLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGVsZmVlZC1zY29yZS13YXJuLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLTs7Ozs7IGVtbXMNCi0gICBgKGVtbXMtcGxheWxpc3QtdHJhY2stZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZW1tcy1wbGF5bGlzdC1zZWxlY3RlZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7 OyBlbmhhbmNlZC1ydWJ5LW1vZGUNCi0gICBgKGVuaC1ydWJ5LWhlcmVkb2MtZGVsaW1pdGVyLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChlbmgtcnVi eS1vcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlbmgtcnVi eS1yZWdleHAtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQot ICAgYChlbmgtcnVieS1yZWdleHAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAoZW5oLXJ1Ynktc3RyaW5nLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZXJtLXN5bi1lcnJsaW5lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChlcm0tc3luLXdhcm5saW5lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZXBhDQotICAgYChl cGEtZmllbGQtYm9keSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZXBh LWZpZWxkLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQotICAgYChlcGEtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChlcGEtc3RyaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWRpc2FibGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKGVwYS12YWxpZGl0eS1oaWdoICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXBhLXZhbGlk aXR5LWxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChlcGEtdmFsaWRp dHktbWVkaXVtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi07Ozs7OyBlcXVh a2UNCi0gICBgKGVxdWFrZS1idWZmZXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFp biA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtZXNoZWxs ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlwZS1yYXNoICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNo ZWxsLXR5cGUtc2hlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtdGVybSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkN Ci0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXZ0ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1p bmFjdGl2ZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS10YWIt YWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkp KQ0KLSAgIGAoZXF1YWtlLXRhYi1pbmFjdGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5h Y3RpdmUpKSkNCi07Ozs7OyBlcmMNCi0gICBgKGVyYy1hY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlcmMtYm9sZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGVyYy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uKSkpDQotICAgYChlcmMtY29tbWFuZC1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZXJjLWN1cnJlbnQtbmlj ay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo ZXJjLWRhbmdlcm91cy1ob3N0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1yZWQpKSkNCi0gICBgKGVyYy1kaXJlY3QtbXNnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVyYy1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXJjLWZvb2wtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGVyYy1oZWFkZXItbGluZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGVy Yy1pbnB1dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0g ICBgKGVyYy1pbnZlcnNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLWRlZmF1bHQtZmFjZSA6 aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChlcmMta2V5d29yZC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChlcmMtbXktbmljay1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KGVyYy1teS1uaWNrLXByZWZpeC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVyYy1teS1uaWNrLWZh Y2UpKSkNCi0gICBgKGVyYy1uaWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlcmMtbmljay1tc2ctZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZXJjLW5pY2stcHJlZml4 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW5pY2stZGVmYXVsdC1mYWNlKSkpDQotICAgYChl cmMtbm90aWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAg IGAoZXJjLXBhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCi0gICBgKGVyYy1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXJjLXRpbWVzdGFtcC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGVyYy11bmRlcmxpbmUtZmFj ZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMCAoKCxj bGFzcyA6YmFja2dyb3VuZCAid2hpdGUiKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTEgKCgs Y2xhc3MgOmJhY2tncm91bmQgImJsYWNrIikpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xv ci1mYWNlMTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAo Ymc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcp KSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTMgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2Vu dGEtc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTE0ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICJncmF5NjAiKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTE1ICgoLGNsYXNzIDpi YWNrZ3JvdW5kICJncmF5ODAiKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTIgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2Uz ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJnKSkpDQotICAgYChiZzplcmMt Y29sb3ItZmFjZTQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1zdWJ0bGUtYmcpKSkNCi0gICBg KGJnOmVyYy1jb2xvci1mYWNlNSAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcp KSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlNiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50 YS1yZWZpbmUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlNyAoKCxjbGFzcyA6YmFja2dy b3VuZCAseWVsbG93LXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U4ICgoLGNs YXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWJnKSkpDQotICAgYChiZzplcmMtY29sb3It ZmFjZTkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXN1YnRsZS1iZykpKQ0KLSAgIGAoZmc6 ZXJjLWNvbG9yLWZhY2UwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJ3aGl0ZSIpKSkNCi0gICBgKGZn OmVyYy1jb2xvci1mYWNlMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAiYmxhY2siKSkpDQotICAgYChm ZzplcmMtY29sb3ItZmFjZTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChm ZzplcmMtY29sb3ItZmFjZTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTQgKCgsY2xhc3MgOmZvcmVncm91bmQg ImdyYXk2MCIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTUgKCgsY2xhc3MgOmZvcmVncm91 bmQgImdyYXk4MCIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlNCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlNiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1m YWNlNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoZmc6 ZXJjLWNvbG9yLWZhY2U4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAg YChmZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhl cikpKQ0KLTs7Ozs7IGVyb3MNCi0gICBgKGVyb3MtcmVzdWx0LW92ZXJsYXktZmFjZSAoKCxjbGFz cyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQotOzs7OzsgZXJ0DQotICAgYChlcnQtdGVzdC1yZXN1bHQtZXhwZWN0ZWQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoZXJ0LXRlc3Qt cmVzdWx0LXVuZXhwZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1y ZWQpKSkNCi07Ozs7OyBlc2hlbGwNCi0gICBgKGVzaGVsbC1scy1hcmNoaXZlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChlc2hlbGwtbHMtYmFj a3VwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChlc2hlbGwtbHMt Y2x1dHRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxz LWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoZXNoZWxsLWxzLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQotICAgYChlc2hlbGwtbHMtbWlzc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoZXNoZWxsLWxzLXByb2R1Y3QgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZXNoZWxsLWxzLXJlYWRvbmx5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGVzaGVsbC1s cy1zcGVjaWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKGVzaGVsbC1scy1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAoZXNoZWxsLWxzLXVucmVhZGFibGUgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZXNo ZWxsLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXByb21w dA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBncmVlbi1hbHQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVmaW5lLWJnIGZnLW1haW4pKSkp DQotOzs7OzsgZXNoZWxsLWZyaW5nZS1zdGF0dXMNCi0gICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVz LWZhaWx1cmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxsLWZyaW5n ZS1zdGF0dXMtc3VjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi07Ozs7OyBl c2hlbGwtZ2l0LXByb21wdA0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYWRkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYnJhbmNo LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1w cm9tcHQtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGVzaGVsbC1naXQtcHJvbXB0LWV4aXQtZmFpbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQtc3VjY2Vzcy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtbW9kaWZpZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChlc2hlbGwtZ2l0LXBy b21wdC1wb3dlcmxpbmUtY2xlYW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tcmVm aW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtZGlyLWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXBy b21wdC1wb3dlcmxpbmUtbm90LWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2Vu dGEtcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1icmFu Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlc2hlbGwtZ2l0LXBy b21wdC1yb2J5cnVzc2VsbC1naXQtZGlydHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7Ozs7IGVzaGVsbC1wcm9tcHQtZXh0cmFzIChl cGUpDQotICAgYChlcGUtZGlyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1i b2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVwZS1naXQtZGlyLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGVwZS1naXQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGVwZS1waXBlbGluZS1k ZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChl cGUtcGlwZWxpbmUtaG9zdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAg YChlcGUtcGlwZWxpbmUtdGltZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi0gICBgKGVwZS1waXBlbGluZS11c2VyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVwZS1yZW1vdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGVwZS1zdGF0dXMt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGVw ZS12ZW52LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotOzs7OzsgZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmcNCi0gICBgKGVz aGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWFsaWFzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbW1lbnQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hs aWdodGluZy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctZW52dmFyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1p bnZhbGlkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxsLXN5 bnRheC1oaWdobGlnaHRpbmctbGlzcC1mdW5jdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1zaGVsbC1jb21t YW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChl c2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBldmlsLW1vZGUNCi0gICBgKGV2aWwtZXgtY29tbWFuZHMg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChldmlsLWV4 LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChldmls LWV4LWxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1j eWFuKSkpDQotICAgYChldmlsLWV4LXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChldmlsLWV4LXN1YnN0aXR1dGUtbWF0Y2hlcyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLXJlcGxhY2VtZW50ICgoLGNsYXNzIDppbmhlcml0ICht b2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotOzs7OzsgZXZpbC1nb2dnbGVzDQot ICAgYChldmlsLWdvZ2dsZXMtY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWNvbW1lbnRhcnktZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotICAgYChldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsKSkpDQotICAgYChldmlsLWdvZ2ds ZXMtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkp KQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWZpbGwtYW5kLW1vdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMtaW5kZW50 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KLSAg IGAoZXZpbC1nb2dnbGVzLWpvaW4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1uZXJkLWNvbW1lbnRlci1mYWNlICgo LGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1jb21tZW50YXJ5LWZhY2UpKSkNCi0gICBgKGV2 aWwtZ29nZ2xlcy1wYXN0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1jeWFuKSkpDQotICAgYChldmlsLWdvZ2dsZXMtcmVjb3JkLW1hY3JvLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChldmlsLWdvZ2dsZXMt cmVwbGFjZS13aXRoLXJlZ2lzdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1zZXQtbWFya2VyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChldmls LWdvZ2dsZXMtc2hpZnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVs dC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMtc3Vycm91bmQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMteWFu ay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotOzs7 OzsgZXZpbC12aXN1YWwtbWFyay1tb2RlDQotICAgYChldmlsLXZpc3VhbC1tYXJrLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotOzs7OzsgZXd3 DQotICAgYChld3ctaW52YWxpZC1jZXJ0aWZpY2F0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFjdGl2ZSkpKQ0KLSAgIGAoZXd3LXZhbGlkLWNlcnRpZmljYXRlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGV3dy1mb3JtLWNoZWNrYm94ICgoLGNsYXNzIDpi b3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQtYnV0 dG9uKSA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKGV3dy1mb3JtLWZpbGUgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZn LWluYWN0aXZlIDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGV3dy1mb3JtLXNlbGVjdCAoKCxjbGFzcyA6 aW5oZXJpdCBld3ctZm9ybS1jaGVja2JveCkpKQ0KLSAgIGAoZXd3LWZvcm0tc3VibWl0ICgoLGNs YXNzIDppbmhlcml0IGV3dy1mb3JtLWZpbGUpKSkNCi0gICBgKGV3dy1mb3JtLXRleHQgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWluYWN0aXZlIDpzdHlsZSBub25lKSA6 YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGV3 dy1mb3JtLXRleHRhcmVhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi07Ozs7OyBleWVicm93c2UNCi0gICBgKGV5ZWJyb3dzZS1tb2RlLWxpbmUt YWN0aXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQotOzs7OzsgZmFuY3ktZGFiYnJldg0KLSAgIGAoZmFuY3ktZGFiYnJldi1tZW51LWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChm YW5jeS1kYWJicmV2LXByZXZpZXctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmFuY3ktZGFiYnJldi1zZWxlY3Rpb24tZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuIGJvbGQpKSkpDQotOzs7OzsgZmx5 Y2hlY2sNCi0gICBgKGZseWNoZWNrLWVycm9yDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRz IDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6 Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHljaGVjay1lcnJv ci1saXN0LWNoZWNrZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUp KSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtY29sdW1uLW51bWJlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWVy cm9yICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtZmlsZW5hbWUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaGlnaGxpZ2h0 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi0gICBgKGZseWNoZWNr LWVycm9yLWxpc3QtaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWlkLXdpdGgtZXhwbGFpbmVyICgoLGNsYXNzIDpp bmhlcml0IGZseWNoZWNrLWVycm9yLWxpc3QtaWQgOmJveCB0KSkpDQotICAgYChmbHljaGVjay1l cnJvci1saXN0LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGZseWNo ZWNrLWVycm9yLWxpc3QtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC13YXJuaW5nICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGZseWNoZWNrLWZyaW5nZS1lcnJvciAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChmbHljaGVjay1mcmlu Z2UtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KLSAg IGAoZmx5Y2hlY2stZnJpbmdlLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt ZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZmx5Y2hlY2staW5mbw0KLSAgICAgKCgsKGFwcGVuZCAn KChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVu ZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLW5vdGUgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseWNo ZWNrLXZlcmlmeS1zZWxlY3QtY2hlY2tlciAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpj b2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikpKSkNCi0gICBgKGZseWNoZWNrLXdhcm5p bmcNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUp KSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy13YXJuaW5nIDpz dHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLXdhcm5pbmcg OnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lDQotICAgYChm bHljaGVjay1jb2xvci1tb2RlLWxpbmUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHlj aGVjay1mcmluZ2UtZXJyb3IpKSkNCi0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1pbmZv LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdlLWluZm8pKSkNCi0gICBgKGZs eWNoZWNrLWNvbG9yLW1vZGUtbGluZS1ydW5uaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUt bGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdlLXdhcm5pbmcp KSkNCi07Ozs7OyBmbHljaGVjay1pbmRpY2F0b3INCi0gICBgKGZseWNoZWNrLWluZGljYXRvci1k aXNhYmxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWVycm9yICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3ItaW5mbyAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBg KGZseWNoZWNrLWluZGljYXRvci1ydW5uaW5nICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5 Y2hlY2staW5kaWNhdG9yLXN1Y2Nlc3MgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1i b2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2st aW5kaWNhdG9yLXdhcm5pbmcgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07Ozs7OyBmbHljaGVjay1wb3Nm cmFtZQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJvcmRlci1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1l LWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYChmbHljaGVjay1wb3NmcmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWlu Zm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAg YChmbHljaGVjay1wb3NmcmFtZS13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgZmx5bWFrZQ0KLSAgIGAoZmx5bWFrZS1lcnJv cg0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkp KSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHls ZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoZmx5bWFrZS1ub3RlDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBv cnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5l ICg6Y29sb3IgLGZnLWxhbmctbm90ZSA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5bWFrZS13YXJu aW5nDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZl KSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctd2FybmluZyA6 c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy13YXJuaW5n IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGZseXNwZWxsDQotICAgYChmbHlzcGVsbC1kdXBsaWNh dGUNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUp KSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy13YXJuaW5nIDpz dHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLXdhcm5pbmcg OnVuZGVybGluZSB0KSkpDQotICAgYChmbHlzcGVsbC1pbmNvcnJlY3QNCi0gICAgICgoLChhcHBl bmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAg IDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAg KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyBmbHlzcGVsbC1jb3JyZWN0DQotICAgYChmbHlzcGVsbC1jb3JyZWN0LWhpZ2hsaWdodC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KLTs7Ozs7IGZs eA0KLSAgIGAoZmx4LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0DQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotOzs7OzsgZnJlZXplLWl0DQotICAg YChmcmVlemUtaXQtc2hvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBmcm9nLW1lbnUNCi0gICBgKGZyb2ctbWVudS1h Y3Rpb24ta2V5YmluZGluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KLSAgIGAoZnJvZy1tZW51LWFjdGlvbnMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAoZnJvZy1tZW51LWJvcmRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctYWN0aXZlKSkpDQotICAgYChmcm9nLW1lbnUtY2FuZGlkYXRlcy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChmcm9nLW1lbnUtcG9zZnJhbWUtYmFja2dyb3Vu ZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKGZyb2ctbWVudS1w cm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGZvY3VzDQot ICAgYChmb2N1cy11bmZvY3VzZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkp KQ0KLTs7Ozs7IGZvbGQtdGhpcw0KLSAgIGAoZm9sZC10aGlzLW92ZXJsYXkgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgZm9udC1sb2NrDQotICAg YChmb250LWxvY2stYnVpbHRpbi1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQot ICAgYChmb250LWxvY2stY29tbWVudC1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1j b21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChmb250LWxvY2stY29uc3RhbnQtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWlu dCkpKSkNCi0gICBgKGZvbnQtbG9jay1kb2MtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZmctc3BlY2lhbC1jb2xkIGN5YW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBg KGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYChmb250LWxvY2st a2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1h bHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQot ICAgYChmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxvdy1mYWludCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdC1vdGhlciByZWQtYWx0LW90aGVyLWZh aW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1iYWNrc2xhc2ggKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3NsYXNoKSkp DQotICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBg KGZvbnQtbG9jay1zdHJpbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ymx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQpKSkpDQotICAgYChmb250LWxvY2stdHlwZS1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFp bnQpKSkpDQotICAgYChmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAoZm9u dC1sb2NrLXdhcm5pbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHll bGxvdy1hY3RpdmUgeWVsbG93LWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi07Ozs7 OyBmb3JnZQ0KLSAgIGAoZm9yZ2UtcG9zdC1hdXRob3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZm9yZ2UtcG9zdC1kYXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGZvcmdlLXRvcGljLWNsb3NlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmb3JnZS10b3BpYy1tZXJnZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMtb3BlbiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChmb3JnZS10b3Bp Yy11bm1lcmdlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChmb3JnZS10b3BpYy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGZvdW50YWluLW1vZGUNCi0gICBg KGZvdW50YWluLWNoYXJhY3RlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIp KSkNCi0gICBgKGZvdW50YWluLWNvbW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb3VudGFpbi1kaWFsb2cgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChmb3VudGFpbi1tZXRhZGF0YS1rZXkg KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm91bnRhaW4t bWV0YWRhdGEtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZvdW50 YWluLW5vbi1wcmludGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChm b3VudGFpbi1ub3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm91bnRhaW4tcGFnZS1icmVhayAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChmb3VudGFpbi1wYWdlLW51bWJl ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQot ICAgYChmb3VudGFpbi1wYXJlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo Zm91bnRhaW4tc2NlbmUtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZyAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5k ICxmZy1tYWluDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQot ICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAs bW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1tYWluDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGZvdW50YWluLXNl Y3Rpb24taGVhZGluZy0yICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJp YWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBt b2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTMpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhl YWRpbmctMyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0 Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZS0yKSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTQg KCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhl bWUtc2NhbGUtMSkpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy01ICgoLGNsYXNz IDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZm91bnRhaW4tc3lub3BzaXMgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChmb3VudGFpbi10cmFucyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGdlaXNlcg0KLSAgIGAoZ2Vpc2Vy LWZvbnQtbG9jay1hdXRvZG9jLWN1cnJlbnQtYXJnICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYChn ZWlzZXItZm9udC1sb2NrLWF1dG9kb2MtaWRlbnRpZmllciAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAgYChnZWlz ZXItZm9udC1sb2NrLWRvYy1idXR0b24gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN5YW4tYWx0IGN5YW4tYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9j ay1kb2MtbGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChnZWlzZXItZm9udC1s b2NrLWVycm9yLWxpbmsgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl ZC1hbHQgcmVkLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2staW1hZ2UtYnV0 dG9uICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdCBn cmVlbi1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stcmVwbC1pbnB1dCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtb3V0 cHV0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQt b3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9udC1sb2Nr LXJlcGwtcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lh bi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9udC1s b2NrLXhyZWYtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGdlaXNlci1m b250LWxvY2steHJlZi1saW5rICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi07Ozs7OyBnaXQt Y29tbWl0DQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtYWN0aW9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1p dC1jb21tZW50LWJyYW5jaC1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWJyYW5j aC1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1kZXRhY2hlZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZ2l0LWNvbW1pdC1jb21tZW50LWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWNv bW1lbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0g OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1rZXl3b3JkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChnaXQtY29tbWl0LWtub3duLXBz ZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChnaXQtY29tbWl0LW5vbmVtcHR5LXNlY29uZC1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1jb21taXQtb3Zlcmxvbmctc3VtbWFy eSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChn aXQtY29tbWl0LXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0g ICBgKGdpdC1jb21taXQtc3VtbWFyeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotOzs7OzsgZ2l0LWd1dHRlcg0KLSAgIGAoZ2l0LWd1dHRlcjphZGRlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0 ZXI6ZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQot ICAgYChnaXQtZ3V0dGVyOm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1ndXR0ZXI6c2VwYXJhdG9yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQotICAgYChnaXQtZ3V0dGVyOnVuY2hhbmdl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0KLTs7Ozs7 IGdpdC1ndXR0ZXItZnINCi0gICBgKGdpdC1ndXR0ZXItZnI6YWRkZWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0dGVyLWZyOmRlbGV0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZ2l0 LWd1dHRlci1mcjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2Ut eWVsbG93KSkpDQotOzs7OzsgZ2l0LXtndXR0ZXIsZnJpbmdlfSsNCi0gICBgKGdpdC1ndXR0ZXIr LWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAg IGAoZ2l0LWd1dHRlcistZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmlu Z2UtcmVkKSkpDQotICAgYChnaXQtZ3V0dGVyKy1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChnaXQtZ3V0dGVyKy1zZXBhcmF0b3Ig KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCi0gICBgKGdpdC1n dXR0ZXIrLXVuY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFn ZW50YSkpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcistYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0dGVyLWZyKy1kZWxldGVkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGdpdC1ndXR0 ZXItZnIrLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxs b3cpKSkNCi07Ozs7OyBnaXQtbGVucw0KLSAgIGAoZ2l0LWxlbnMtYWRkZWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdpdC1sZW5zLWRlbGV0ZWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChnaXQtbGVu cy1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuMSA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLSAgIGAoZ2l0LWxlbnMtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChnaXQtbGVucy1yZW5hbWVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBnaXQtcmViYXNlDQot ICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1yZWJhc2Ut Y29tbWVudC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRp bSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtcmViYXNlLWRlc2NyaXB0 aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChnaXQtcmViYXNlLWhh c2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotOzs7OzsgZ2l0LXRp bWVtYWNoaW5lDQotICAgYChnaXQtdGltZW1hY2hpbmUtY29tbWl0ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGdpdC10aW1lbWFjaGlu ZS1taW5pYnVmZmVyLWF1dGhvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi0gICBgKGdpdC10aW1lbWFjaGluZS1taW5pYnVmZmVyLWRldGFpbC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgZ2l0LXdhbGt0cmVlDQotICAg YChnaXQtd2Fsa3RyZWUtY29tbWl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KLSAgIGAoZ2l0LXdhbGt0cmVlLXN5bWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0 b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdpdC13YWxrdHJlZS10cmVlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBnbnVzDQotICAgYChnbnVzLWJ1 dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKGdudXMtY2l0ZS0xICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTEwICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLTExICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUt MiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTMgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTQgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS04ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtOSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtYXR0cmlidXRp b24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4gOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAo Z251cy1lbXBoYXNpcy1oaWdobGlnaHQtd29yZHMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTEgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAt bWFpbC0xLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAo Z251cy1ncm91cC1tYWlsLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTItZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0zICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWdyb3Vw LW1haWwtMy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKGdudXMtZ3JvdXAtbWFpbC1sb3cgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtbG93LWVtcHR5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3Jv dXAtbmV3cy0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQot ICAgYChnbnVzLWdyb3VwLW5ld3MtMS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0yLWVtcHR5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91 cC1uZXdzLTMtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQot ICAgYChnbnVzLWdyb3VwLW5ld3MtNCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy00LWVtcHR5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy01ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChn bnVzLWdyb3VwLW5ld3MtNS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQp KSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy02ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTYtZW1wdHkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLWxvdyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2VkKSkpDQotICAgYChnbnVz LWdyb3VwLW5ld3MtbG93LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2Vk KSkpDQotICAgYChnbnVzLWhlYWRlci1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQotICAgYChnbnVzLWhlYWRlci1mcm9tICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyIDp1bmRlcmxpbmUgbmlsKSkpDQotICAgYChnbnVzLWhlYWRl ci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ251cy1oZWFkZXIt bmV3c2dyb3VwcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAoZ251cy1oZWFkZXItc3ViamVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItYWdlbnQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251cy1zZXJ2 ZXItY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKGdudXMtc2VydmVyLWNsb3VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQotICAgYChnbnVzLXNlcnZlci1jbG91ZC1ob3N0ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChnbnVzLXNlcnZlci1kZW5p ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChnbnVz LXNlcnZlci1vZmZsaW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItb3BlbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVzLXNpZ25hdHVyZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3BsYXNo ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1jYW5j ZWxsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCi0gICBgKGdu dXMtc3VtbWFyeS1oaWdoLWFuY2llbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChnbnVzLXN1bW1hcnktaGlnaC1yZWFkICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZ251cy1zdW1t YXJ5LWhpZ2gtdGlja2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXVuZG93bmxvYWRlZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdudXMtc3VtbWFy eS1oaWdoLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LWFuY2llbnQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LXJlYWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1 bW1hcnktbG93LXRpY2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZyA6c2xh bnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LXVuZG93bmxvYWRlZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChn bnVzLXN1bW1hcnktbG93LXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtYW5jaWVudCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChnbnVzLXN1bW1h cnktbm9ybWFsLXJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251 cy1zdW1tYXJ5LW5vcm1hbC10aWNrZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3Ro ZXIpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtdW5kb3dubG9hZGVkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtdW5yZWFkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChnbnVzLXN1bW1hcnktc2VsZWN0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi07Ozs7OyBn b2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KLSAgIGAoZ29sZGVuLXJhdGlvLXNjcm9sbC1oaWdo bGlnaHQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGhlbG0NCi0gICBgKGhlbG0tTS14LWtleSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAoaGVsbS1hY3Rpb24gKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChoZWxtLWJvb2tt YXJrLWFkZHJlc3Nib29rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBg KGhlbG0tYm9va21hcmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKGhlbG0tYm9va21hcmstZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1maWxlLW5vdC1mb3VuZCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0t Ym9va21hcmstZ251cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVs bS1ib29rbWFyay1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAo aGVsbS1ib29rbWFyay1tYW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0g ICBgKGhlbG0tYm9va21hcmstdzNtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LSAgIGAoaGVsbS1idWZmZXItYXJjaGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotICAgYChoZWxtLWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaGVsbS1idWZmZXItZmlsZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1idWZmZXItbW9kaWZpZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGhlbG0tYnVmZmVyLW5v dC1zYXZlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoaGVsbS1idWZm ZXItcHJvY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVsbS1i dWZmZXItc2F2ZWQtb3V0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChoZWxtLWJ1ZmZlci1zaXplICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tY2FuZGlkYXRlLW51bWJlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tY2FuZGlkYXRlLW51bWJl ci1zdXNwZW5kZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBg KGhlbG0tY29taW50LXByb21wdHMtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1jb21pbnQtcHJvbXB0cy1wcm9tcHRpZHggKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWRlbGV0ZS1hc3luYy1t ZXNzYWdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZl KSkpDQotICAgYChoZWxtLWVvYi1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWVzaGVsbC1wcm9tcHRzLWJ1ZmZlci1u YW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZXNo ZWxsLXByb21wdHMtcHJvbXB0aWR4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkp KQ0KLSAgIGAoaGVsbS1ldGFncy1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0gOnVu ZGVybGluZSB0KSkpDQotICAgYChoZWxtLWZmLWJhY2t1cC1maWxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tZmYtZGVuaWVkICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXJlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVkKSkpKQ0KLSAgIGAoaGVsbS1mZi1kaXJlY3RvcnkgKCgsY2xhc3MgOmlu aGVyaXQgaGVsbS1idWZmZXItZGlyZWN0b3J5KSkpDQotICAgYChoZWxtLWZmLWRpcnMgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGhl bG0tZmYtZG90dGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1mZi1kb3R0ZWQtc3lt bGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgKGJ1dHRvbiBoZWxtLWZmLWRvdHRlZC1k aXJlY3RvcnkpKSkpDQotICAgYChoZWxtLWZmLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoZWxtLWZmLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tZmYtZmlsZS1leHRlbnNpb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1mZi1pbnZhbGlkLXN5bWxp bmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGhl bG0tZmYtcGlwZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRp b25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1t YWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51 YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEpKSkp DQotICAgYChoZWxtLWZmLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4 dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtcmVmaW5lLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeWVsbG93LWFsdC1vdGhlcikpKSkNCi0gICBgKGhlbG0tZmYtc29ja2V0ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWZmLXN1aWQgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1yZWQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZWQtYWx0KSkpKQ0KLSAgIGAoaGVsbS1mZi1zeW1saW5rICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaGVsbS1m Zi10cnVlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBg KGhlbG0tZ3JlcC1jbWQtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KLSAgIGAoaGVsbS1ncmVwLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLWdyZXAtZmluaXNoICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZ3JlcC1saW5lbm8gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1ncmVwLW1h dGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAo aGVsbS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChoZWxtLWhlYWRlci1saW5lLWxlZnQtbWFyZ2luICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYChoZWxtLWhp c3RvcnktZGVsZXRlZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBs ZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtc3VidGxlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLWludGVuc2UtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J2JvbGQpKSkpDQotICAgYChoZWxtLWhpc3RvcnktcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWxpc3AtY29tcGxldGlvbi1pbmZvICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGhlbG0tbGlzcC1zaG93 LWNvbXBsZXRpb24gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtc3VidGxlLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93DQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1s b2NhdGUtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBg KGhlbG0tbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5 YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFu DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4N Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbg0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tbWF0Y2gtaXRlbSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyKSkpKQ0KLSAgIGAoaGVsbS1t aW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtaW5pYnVmZmVyLXByb21wdCkpKQ0K LSAgIGAoaGVsbS1tb2NjdXItYnVmZmVyICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tbW9kZS1wcmVmaXggKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0DQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1u b24tZmlsZS1idWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVs bS1wcmVmYXJnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChoZWxt LXJlc3VtZS1uZWVkLXVwZGF0ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJh LWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3Ro ZXIpKSkpDQotICAgYChoZWxtLXNlbGVjdGlvbiAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmlsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0g ICBgKGhlbG0tc2VsZWN0aW9uLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChoZWxtLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1taWxkKSkpDQotICAgYChoZWxtLXRpbWUtem9uZS1jdXJyZW50ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoaGVsbS10aW1lLXpvbmUtaG9tZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVsbS1zb3VyY2UtaGVhZGVyICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVu ZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGhlbG0tdG9wLWNvbHVtbnMgKCgsY2xhc3MgOmlu aGVyaXQgaGVsbS1oZWFkZXIpKSkNCi0gICBgKGhlbG0tdWNzLWNoYXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tdmlzaWJsZS1tYXJrICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotOzs7OzsgaGVsbS1scy1n aXQNCi0gICBgKGhlbG0tbHMtZ2l0LWFkZGVkLWNvcGllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxzLWdpdC1hZGRlZC1tb2RpZmllZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1s cy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQtaW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1scy1naXQtZGVsZXRlZC1hbmQtc3RhZ2VkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChoZWxtLWxzLWdpdC1k ZWxldGVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAg YChoZWxtLWxzLWdpdC1tb2RpZmllZC1hbmQtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgYChoZWxtLWxzLWdpdC1tb2RpZmllZC1ub3Qtc3Rh Z2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoaGVsbS1scy1n aXQtcmVuYW1lZC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChoZWxtLWxzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgaGVsbS1zd2l0Y2gtc2hlbGwNCi0gICBgKGhlbG0t c3dpdGNoLXNoZWxsLW5ldy1zaGVsbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcg0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotOzs7 OzsgaGVsbS14cmVmDQotICAgYChoZWxtLXhyZWYtZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS14cmVmLWZp bGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotOzs7Ozsg aGVscGZ1bA0KLSAgIGAoaGVscGZ1bC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctMSkpKQ0KLTs7Ozs7IGhpZ2hsaWdodCByZWdpb24gb3IgYWQtaG9jIHJlZ2V4 cA0KLSAgIGAoaGktYmxhY2stYiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdy b3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoaGktYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGktYmx1ZS1iICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoaGktZ3Jl ZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZ3JlZW4gOnVuZGVy bGluZSB0KSkpDQotICAgYChoaS1ncmVlbi1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGhpLXBpbmsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpLXJlZC1i ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChoaS15 ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93IDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChoaWdobGlnaHQtY2hhbmdlcyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMtZGVs ZXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoaGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQot Ozs7OzsgaGlnaGxpZ2h0LWJsb2Nrcw0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0xLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1k ZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXNwZWNpYWwtd2FybSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxp Z2h0LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwt bWlsZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0 aC03LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdo bGlnaHQtYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0 bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBoaWdobGlnaHQtZGVmaW5lZA0K LSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtYnVpbHRpbi1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZhY2Ut bmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGln aHQtZGVmaW5lZC1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLW1hY3JvLW5hbWUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLXNwZWNp YWwtZm9ybS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAo YGhlcy1tb2RlJykNCi0gICBgKGhlcy1lc2NhcGUtYmFja3NsYXNoLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAg YChoZXMtZXNjYXBlLXNlcXVlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3NsYXNoKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWluZGVu dGF0aW9uDQotICAgYChoaWdobGlnaHQtaW5kZW50YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChoaWdobGlnaHQtaW5kZW50YXRpb24tY3Vy cmVudC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotOzs7 OzsgaGlnaGxpZ2h0LW51bWJlcnMNCi0gICBgKGhpZ2hsaWdodC1udW1iZXJzLW51bWJlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBoaWdobGlnaHQtc3lt Ym9sDQotICAgYChoaWdobGlnaHQtc3ltYm9sLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgaGlnaGxpZ2h0LXRoaW5nDQotICAgYChoaWdo bGlnaHQtdGhpbmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLTs7Ozs7IGhsLWRlZmluZWQNCi0gICBgKGhkZWZkLWZ1bmN0aW9ucyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaGRlZmQtdW5kZWZpbmVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChoZGVmZC12YXJpYWJsZXMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQotOzs7OzsgaGwtZmlsbC1jb2x1bW4NCi0gICBgKGhsLWZpbGwt Y29sdW1uLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctYWN0aXZlKSkpDQotOzs7OzsgaGwtdG9kbw0KLSAgIGAoaGwtdG9kbyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi07Ozs7OyBoeWRyYQ0KLSAgIGAoaHlkcmEtZmFjZS1hbWFyYW50aCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGh5ZHJhLWZhY2Ut Ymx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAg IGAoaHlkcmEtZmFjZS1waW5rICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChoeWRyYS1mYWNlLXJlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGh5ZHJhLWZhY2UtdGVhbCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaHlwZXJsaXN0DQotICAgYCho eXBlcmxpc3QtY29uZGl0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAo aHlwZXJsaXN0LWhhc2h0YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAo aHlwZXJsaXN0LW9wZXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAg IGAoaHlwZXJsaXN0LXBhcmVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KLSAgIGAoaHlwZXJsaXN0LXF1b3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkp KQ0KLSAgIGAoaHlwZXJsaXN0LXJlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKGh5cGVybGlzdC1zdGFycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChoeXBlcmxpc3QtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKGh5cGVybGlzdC10b3BsZXZlbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotOzs7OzsgaWNvbXBsZXRlDQotICAgYChpY29tcGxldGUtZmlyc3Qt bWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIGJnLWFsdA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1tYWluKSkp KQ0KLTs7Ozs7IGljb21wbGV0ZS12ZXJ0aWNhbA0KLSAgIGAoaWNvbXBsZXRlLXZlcnRpY2FsLXNl cGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgaWRvLW1vZGUN Ci0gICBgKGlkby1maXJzdC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21w bGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgYmctYWx0 DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWN0aXZlIGZnLW1haW4pKSkp DQotICAgYChpZG8taW5jb21wbGV0ZS1yZWdleHAgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkN Ci0gICBgKGlkby1pbmRpY2F0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LXllbGxvdykpKQ0KLSAgIGAoaWRvLW9ubHktbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFu ZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4g Z3JlZW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4t aW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0KLSAgIGAoaWRvLXN1YmRpciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaWRvLXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7IGllZGl0DQotICAgYChpZWRpdC1vY2N1cnJlbmNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChpZWRpdC1y ZWFkLW9ubHktb2NjdXJyZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXllbGxvdykpKQ0KLTs7Ozs7IGlmbGlwYg0KLSAgIGAoaWZsaXBiLWN1cnJlbnQtYnVmZmVyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KGlmbGlwYi1vdGhlci1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotOzs7OzsgaW1lbnUtbGlzdA0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTAgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0xICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2Ut MiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGltZW51LWxp c3QtZW50cnktZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAo aW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChpbWVu dS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1z dWJhbGlzdC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlz dC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhl ciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBpbmRpdW0NCi0gICBgKGluZGl1bS1icmVha3BvaW50 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGluZGl1bS1m cmFtZS11cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoaW5kaXVtLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZGl1bS1saXRhYmxlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQot ICAgYChpbmRpdW0tcmVwbC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAoaW5kaXVtLXJlcGwtcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChpbmRpdW0tcmVwbC1zdGRvdXQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGluZm8NCi0gICBgKElu Zm8tcXVvdGVkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKSA7IHRoZSBj YXBpdGFsaXNhdGlvbiBpcyBjYW5vbmljYWwNCi0gICBgKGluZm8taGVhZGVyLW5vZGUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChpbmZvLWhlYWRl ci14cmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoaW5mby1p bmRleC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtYXRjaCkpKQ0KLSAgIGAoaW5mby1tZW51LWhl YWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBgKGlu Zm8tbWVudS1zdGFyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGluZm8tbm9k ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChpbmZvLXRpdGxlLTEgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotICAgYChpbmZvLXRpdGxlLTIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQotICAgYChpbmZvLXRpdGxl LTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChpbmZv LXRpdGxlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQotOzs7 OzsgaW5mby1jb2xvcnMNCi0gICBgKGluZm8tY29sb3JzLWxpc3AtY29kZS1ibG9jayAoKCxjbGFz cyA6aW5oZXJpdCBmaXhlZC1waXRjaCkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tY29t bWFuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaW5mby1jb2xvcnMt cmVmLWl0ZW0tY29uc3RhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkp DQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tbWFjcm8gKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1vdGhlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tc3BlY2lhbC1m b3JtICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tc3lu dGF4LWNsYXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpbmZvLWNv bG9ycy1yZWYtaXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K LSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdXNlci1vcHRpb24gKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXZhcmlhYmxlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaW50ZXJhY3Rpb24tbG9nDQotICAgYChpbG9n LWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoaWxvZy1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCi0gICBgKGlsb2ctZWNoby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyKSkpDQotICAgYChpbG9nLWxvYWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCi0gICBgKGlsb2ctbWVzc2FnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKGlsb2ctbm9uLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotOzs7OzsgaW9jY3VyDQotICAgYChpb2NjdXItY3Vyc29yICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChpb2NjdXItaW52YWxpZC1yZWdleHAgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaW9jY3VyLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChpb2NjdXItbWF0Y2gtb3Zl cmxheS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6 ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGlvY2N1ci1udW0tbGluZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGlvY2N1 ci1vdmVybGF5LWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3 KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChpb2NjdXItcmVnZXhwLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0K LSAgIGAoaW9jY3VyLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotOzs7Ozsg aXNlYXJjaCwgb2NjdXIsIGFuZCB0aGUgbGlrZQ0KLSAgIGAoaXNlYXJjaCAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLSAgIGAoaXNlYXJjaC1m YWlsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKGxh enktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkp DQotICAgYChtYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0p KSkNCi0gICBgKHF1ZXJ5LXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWlu dGVuc2UteWVsbG93IGJvbGQpKSkpDQotOzs7OzsgaXZ5DQotICAgYChpdnktYWN0aW9uICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGl2eS1jb21w bGV0aW9ucy1hbm5vdGF0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGl2eS1jb25maXJtLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGl2eS1jdXJyZW50LW1hdGNoICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lhbg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtY3lhbg0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwt d2FybQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1jdXJzb3IgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBg KGl2eS1ncmVwLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChp dnktZ3JlcC1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJt KSkpDQotICAgYChpdnktaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGl2eS1tYXRjaC1yZXF1aXJlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVy cm9yKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1p bnRlbnNlLW5ldXRyYWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1t YXRjaC1mYWNlLTIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1zdWJ0bGUtZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4NCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3Ro ZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkp KSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1j eWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGN5YW4tYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNl LTQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1z dWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhl cg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkp KQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtaGlnaGxpZ2h0ICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt aW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktbW9k aWZpZWQtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LW1vZGlmaWVkLW91dHNpZGUtYnVmZmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0g ICBgKGl2eS1vcmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChpdnktcHJvbXB0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGl2eS1jdXJyZW50LW1hdGNoKSkp DQotICAgYChpdnktcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChpdnktc2VwYXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGl2 eS1zdWJkaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChp dnktdmlydHVhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKGl2eS15YW5rZWQtd29yZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJh LWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXJlZmluZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJsdWUtYWx0KSkpKQ0KLTs7Ozs7IGl2eS1wb3NmcmFtZQ0KLSAgIGAoaXZ5LXBvc2ZyYW1lICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGl2eS1wb3NmcmFtZS1ib3JkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0K LSAgIGAoaXZ5LXBvc2ZyYW1lLWN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6 Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLTs7Ozs7IGppcmEgKG9yZy1qaXJhKQ0KLSAgIGAoamly YWxpYi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAo amlyYWxpYi1jb21tZW50LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0g ICBgKGppcmFsaWItaXNzdWUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoamlyYWxpYi1pc3N1ZS1pbmZvLWhlYWRlci1mYWNlICgo LGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0gYm9sZCkpKSkNCi0gICBg KGppcmFsaWItaXNzdWUtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0g ICBgKGppcmFsaWItbGluay1maWx0ZXItZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGppcmFsaWItbGluay1pc3N1ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAg IGAoamlyYWxpYi1saW5rLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi07 Ozs7OyBqb3VybmFsY3RsLW1vZGUNCi0gICBgKGpvdXJuYWxjdGwtZXJyb3ItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGpvdXJuYWxjdGwtZmlu aXNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAoam91cm5hbGN0bC1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKGpvdXJuYWxjdGwtcHJvY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KLSAgIGAoam91cm5hbGN0bC1zdGFydGluZy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoam91cm5hbGN0bC10aW1lc3RhbXAtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChqb3VybmFsY3RsLXdh cm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci07Ozs7OyBqczItbW9kZQ0KLSAgIGAoanMyLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKGpzMi1leHRlcm5hbC12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGpzMi1mdW5jdGlvbi1jYWxsICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChqczItZnVuY3Rpb24tcGFyYW0gKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGpzMi1pbnN0YW5jZS1tZW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChqczItanNkb2MtaHRtbC10YWct ZGVsaW1pdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChqczItanNk b2MtaHRtbC10YWctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoanMy LWpzZG9jLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAg YChqczItanNkb2MtdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQotICAgYChqczItanNkb2MtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KLSAgIGAoanMyLW9iamVjdC1wcm9wZXJ0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAoanMyLW9iamVjdC1wcm9wZXJ0eS1hY2Nlc3MgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGpzMi1wcml2YXRlLWZ1bmN0aW9uLWNhbGwgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoanMyLXByaXZhdGUt bWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGpz Mi13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDp1bmRlcmxpbmUgdCkp KQ0KLTs7Ozs7IGp1bGlhDQotICAgYChqdWxpYS1tYWNyby1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChqdWxpYS1xdW90ZWQtc3ltYm9sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyKSkpDQotOzs7OzsganVweXRlcg0KLSAgIGAoanVweXRlci1ldmFsLW92ZXJsYXkgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoanVweXRlci1y ZXBsLWlucHV0LXByb21wdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGp1cHl0ZXItcmVwbC1vdXRwdXQtcHJvbXB0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoanVweXRlci1yZXBsLXRyYWNlYmFjayAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IGthb2NoYS1ydW5u ZXINCi0gICBgKGthb2NoYS1ydW5uZXItZXJyb3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotICAgYChrYW9jaGEtcnVubmVyLXN1Y2Nlc3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4pKSkNCi0gICBgKGthb2NoYS1ydW5uZXItd2FybmluZy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBrZXljYXN0DQotICAgYChrZXljYXN0LWNv bW1hbmQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkN Ci0gICBgKGtleWNhc3Qta2V5ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1s aW5lLWF0dHJzDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIGJsdWUtYWN0 aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIGJsdWUtYWN0aXZlDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFjdGl2ZSBibHVlLWludGVuc2UNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbHQtc3R5bGUgLTMpKSkpDQotOzs7OzsgbGlu ZSBudW1iZXJzIChkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlIGFuZCBnbG9iYWwgdmFyaWFudCkN Ci0gICBgKGxpbmUtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmJhY2tncm91bmQg LGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsaW5lLW51bWJlci1jdXJyZW50 LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVsdCA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgbHNwLW1vZGUNCi0gICBgKGxzcC1mYWNlLWhp Z2hsaWdodC1yZWFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLWZhY2UtaGlnaGxpZ2h0LXRleHR1YWwgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGxzcC1mYWNlLWhpZ2hs aWdodC13cml0ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgYm9s ZCkpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWNvbnN0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZGVwcmVjYXRlZA0KLSAg ICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFz cykNCi0gICAgICAgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkp DQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAg IGAobHNwLWZhY2Utc2VtaGwtZW51bW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWZpZWxkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZmllbGQtc3RhdGljICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQot ICAgYChsc3AtZmFjZS1zZW1obC1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtbWV0aG9kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1uYW1lc3BhY2UgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkp DQotICAgYChsc3AtZmFjZS1zZW1obC1wcmVwcm9jZXNzb3IgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXN0YXRpYy1tZXRob2QgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtZW51bSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtcHJpbWl0 aXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1l LXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXRlbXBsYXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChsc3AtZmFjZS1zZW1obC10eXBlLXR5cGVkZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhs LXZhcmlhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChsc3AtZmFjZS1z ZW1obC12YXJpYWJsZS1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo bHNwLWZhY2Utc2VtaGwtdmFyaWFibGUtcGFyYW1ldGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWxlbnMtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAu OCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsc3AtbGVucy1tb3VzZS1mYWNlICgoLGNs YXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKGxzcC11aS1kb2MtYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQotICAgYChsc3AtdWktZG9jLWhlYWRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1kb2MtdXJsICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0g ICBgKGxzcC11aS1wZWVrLWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi0gICBgKGxzcC11aS1wZWVrLWZvb3RlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWhl YWRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFk ZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAobHNwLXVpLXBlZWstbGluZS1udW1iZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobHNwLXVpLXBlZWstbGlzdCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChsc3AtdWktcGVlay1wZWVrICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGxzcC11aS1wZWVrLXNlbGVjdGlvbiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAobHNwLXVp LXNpZGVsaW5lLWNvZGUtYWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0g ICBgKGxzcC11aS1zaWRlbGluZS1jdXJyZW50LXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsc3AtdWktc2lkZWxpbmUtc3ltYm9sLWluZm8g KCgsY2xhc3MgOmhlaWdodCAwLjk5IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyBtYWdpdA0KLSAg IGAobWFnaXQtYmlzZWN0LWJhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikp KQ0KLSAgIGAobWFnaXQtYmlzZWN0LWdvb2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYmlzZWN0LXNraXAgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWRhdGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWRpbW1lZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1ibGFtZS1oYXNoICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWhlYWRpbmcgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtaGlnaGxpZ2h0 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikpKQ0KLSAgIGAobWFn aXQtYmxhbWUtbWFyZ2luICgoLGNsYXNzIDppbmhlcml0IG1hZ2l0LWJsYW1lLWhpZ2hsaWdodCkp KQ0KLSAgIGAobWFnaXQtYmxhbWUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLXN1bW1hcnkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1icmFuY2gtY3VycmVudCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmJveCB0KSkpDQotICAgYChtYWdpdC1icmFu Y2gtbG9jYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChtYWdpdC1i cmFuY2gtcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAo bWFnaXQtYnJhbmNoLXJlbW90ZS1oZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlciA6Ym94IHQpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC11cHN0cmVhbSAoKCxjbGFzcyA6 c2xhbnQgaXRhbGljKSkpDQotICAgYChtYWdpdC1jaGVycnktZXF1aXZhbGVudCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAg YChtYWdpdC1jaGVycnktdW5tYXRjaGVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi0gICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZy b20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAgIDs7IG1vZHVzLXRoZW1l LWRpZmYtKiBmYWNlcywgdGhvdWdoIG9ubHkgZm9yIHRoZSBzdGFuZGFyZCBhY3Rpb25zLA0KLSAg IDs7IG5vdCB0aGUgaGlnaGxpZ2h0ZWQgb25lcy4gIFRoaXMgaXMgYmVjYXVzZSBNYWdpdCdzIGlu dGVyYWN0aW9uDQotICAgOzsgbW9kZWwgcmVsaWVzIG9uIGhpZ2hsaWdodGluZyB0aGUgY3VycmVu dCBkaWZmIGh1bmsuDQotICAgYChtYWdpdC1kaWZmLWFkZGVkICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1t YWluIGdyZWVuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRk ZWQgZmctZGlmZi1hZGRlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVl bi1udWFuY2VkLWJnIGZnLWRpZmYtYWRkZWQpKSkpDQotICAgYChtYWdpdC1kaWZmLWFkZGVkLWhp Z2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkKSkp DQotICAgYChtYWdpdC1kaWZmLWJhc2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1k aWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiB5ZWxsb3cNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1j aGFuZ2VkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQt YmcgZmctZGlmZi1jaGFuZ2VkKSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1iYXNlLWhpZ2hsaWdodCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQpKSkNCi0gICBg KG1hZ2l0LWRpZmYtY29udGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkp DQotICAgYChtYWdpdC1kaWZmLWNvbnRleHQtaGlnaGxpZ2h0ICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1kaW0gZmctZGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJnLWluYWN0aXZlIGZnLWluYWN0aXZlDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1hbHQpKSkpDQotICAgYChtYWdp dC1kaWZmLWZpbGUtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5nLWhpZ2hsaWdo dCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIGJvbGQpKSkpDQot ICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZy b20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAgIDs7IG1vZHVzLXRoZW1l LWRpZmYtKiBmYWNlcy4NCi0gICBgKG1hZ2l0LWRpZmYtaHVuay1oZWFkaW5nICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYWdp dC1kaWZmLWh1bmstaGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFj a2dyb3VuZCAsYmctZGlmZi1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWRpZmYtaGVhZGluZykpKQ0KLSAgIGAo bWFnaXQtZGlmZi1odW5rLWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChtYWdpdC1kaWZmLWh1bmstcmVnaW9uICgoLGNs YXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtbGluZXMtYm91bmRhcnkgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1hZ2l0LWRpZmYtbGluZXMtaGVh ZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAg IGAobWFnaXQtZGlmZi1yZW1vdmVkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlm Zg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4gcmVkDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYt cmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1udWFuY2Vk LWJnIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCi0gICBgKG1hZ2l0LWRpZmYtcmVtb3ZlZC1oaWdobGln aHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVkKSkpDQot ICAgYChtYWdpdC1kaWZmc3RhdC1hZGRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkN Ci0gICBgKG1hZ2l0LWRpZmZzdGF0LXJlbW92ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAobWFnaXQtZGltbWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQp KSkNCi0gICBgKG1hZ2l0LWZpbGVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKG1hZ2l0LWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAobWFnaXQtaGVhZCAoKCxjbGFzcyA6aW5oZXJpdCBtYWdpdC1icmFuY2gtbG9jYWwp KSkNCi0gICBgKG1hZ2l0LWhlYWRlci1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChtYWdpdC1oZWFkZXItbGluZS1rZXkgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAobWFn aXQtaGVhZGVyLWxpbmUtbG9nLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChtYWdpdC1rZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChtYWdpdC1rZXl3b3JkLXNxdWFzaCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1sb2ct YXV0aG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYWdpdC1sb2ctZGF0 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1sb2ctZ3JhcGgg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobWFnaXQtbW9kZS1saW5lLXBy b2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkN Ci0gICBgKG1hZ2l0LW1vZGUtbGluZS1wcm9jZXNzLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LXByb2Nlc3MtbmcgKCgs Y2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCi0gICBgKG1hZ2l0LXByb2Nlc3Mtb2sgKCgsY2xhc3Mg OmluaGVyaXQgc3VjY2VzcykpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWFtZW5kICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBg KG1hZ2l0LXJlZmxvZy1jaGVja291dCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9y ZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctY2hlcnJ5LXBpY2sg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2Up KSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1jb21taXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h aW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1tZXJn ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5z ZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLW90aGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1yZWJh c2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50 ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLXJlbW90ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctbWFpbiA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ct cmVzZXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJlZC1pbnRl bnNlKSkpDQotICAgYChtYWdpdC1yZWZuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUtcHVsbHJlcSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChtYWdpdC1yZWZuYW1lLXN0YXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUtd2lwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlY3Rpb24gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp bSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbi1oZWFkaW5nICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hZ2l0LXNl Y3Rpb24taGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuIGJvbGQpKSkpDQotICAgYChtYWdpdC1zZWN0aW9uLWhpZ2hsaWdodCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1kb25lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLWRyb3Ag KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLWV4 ZWMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtYWdpdC1zZXF1 ZW5jZS1oZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobWFnaXQt c2VxdWVuY2Utb250byAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdp dC1zZXF1ZW5jZS1wYXJ0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAg YChtYWdpdC1zZXF1ZW5jZS1waWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LSAgIGAobWFnaXQtc2VxdWVuY2Utc3RvcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYChtYWdpdC1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZCkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWVycm9yICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWx0KSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtZXhwaXJlZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtZXhwaXJlZC1rZXkg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWdv b2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUt cmV2b2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFnaXQtc2ln bmF0dXJlLXVudHJ1c3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFn aXQtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7Ozsg bWFnaXQtaW1lcmdlDQotICAgYChtYWdpdC1pbWVyZ2Utb3ZlcnJpZGluZy12YWx1ZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgbWFuDQotICAg YChNYW4tb3ZlcnN0cmlrZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChNYW4tcmV2ZXJzZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAoTWFuLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbiA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBtYXJrZG93bi1tb2RlDQotICAgYChtYXJr ZG93bi1ibG9ja3F1b3RlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1ib2xkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobWFya2Rvd24tY29kZS1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpKSkpDQotICAgYChtYXJrZG93 bi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVz LXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1mb290bm90ZS1tYXJrZXItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobWFya2Rv d24tZm9vdG5vdGUtdGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFu dCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmtkb3duLWdmbS1jaGVja2JveC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24t aGVhZGVyLWRlbGltaXRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9s ZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1m YWNlICgodCBuaWwpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTEgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFj ZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAobWFy a2Rvd24taGVhZGVyLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTMpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy00KSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS01ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KLSAgIGAobWFya2Rvd24taGVh ZGVyLWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0g ICBgKG1hcmtkb3duLWhlYWRlci1ydWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtYXJrZG93bi1oci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo bWFya2Rvd24taHRtbC1hdHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFya2Rvd24taHRtbC1hdHRyLXZhbHVl LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChtYXJrZG93bi1odG1sLWVudGl0eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYXJrZG93bi1odG1sLXRhZy1k ZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRz KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobWFya2Rvd24taHRtbC10YWctbmFtZS1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotICAgYChtYXJrZG93bi1pbmxpbmUtY29kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtYXJrZG93bi1pdGFs aWMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFs aWMpKSkNCi0gICBgKG1hcmtkb3duLWxhbmd1YWdlLWluZm8tZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1h cmtkb3duLWxhbmd1YWdlLWtleXdvcmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmtkb3duLWxp bmUtYnJlYWstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKG1hcmtkb3duLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBsaW5rKSkpDQotICAgYChtYXJrZG93bi1saW5rLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChtYXJrZG93bi1saXN0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAg IGAobWFya2Rvd24tbWFya3VwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAobWFya2Rvd24tbWF0aC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24tbWV0YWRhdGEta2V5LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93bi1tZXRhZGF0YS12YWx1 ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24t bWlzc2luZy1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQotICAgYChtYXJrZG93bi1wbGFpbi11cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt YXJrZG93bi1saW5rLWZhY2UpKSkNCi0gICBgKG1hcmtkb3duLXByZS1mYWNlICgoLGNsYXNzICxA KGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250 cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1kaW0N Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCi0gICBgKG1hcmtkb3duLXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1hcmtkb3duLW1hcmt1cC1mYWNlKSkpDQotICAgYChtYXJrZG93bi1zdHJpa2UtdGhyb3VnaC1m YWNlICgoLGNsYXNzIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQotICAgYChtYXJrZG93bi10YWJsZS1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKG1hcmtkb3duLXVybC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KLTs7Ozs7IG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9kZScpDQotICAgYChtYXJrdXAtYW5j aG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJr dXAtYXR0cmlidXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlIDpzbGFu dCBpdGFsaWMpKSkNCi0gICBgKG1hcmt1cC1iaWctZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMyA6 Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtYm9sZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChtYXJr dXAtY29kZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChtYXJrdXAtY29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmt1 cC1jb21wbGV4LXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6 Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdl bnRhKSkpDQotICAgYChtYXJrdXAtZW1waGFzaXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmt1cC1lcnJvci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobWFya3Vw LWdlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWFy a3VwLWludGVybmFsLXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1pdGFsaWMtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1h cmt1cC1saXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxt KSkpDQotICAgYChtYXJrdXAtbWV0YS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFj dGl2ZSkpKQ0KLSAgIGAobWFya3VwLW1ldGEtaGlkZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKG1hcmt1cC1wYXNzdGhyb3VnaC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYXJrdXAtcHJlcHJv Y2Vzc29yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBg KG1hcmt1cC1yZXBsYWNlbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyKSkpDQotICAgYChtYXJrdXAtc2Vjb25kYXJ5LXRleHQtZmFjZSAoKCxjbGFzcyA6aGVp Z2h0IDAuOCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtc21h bGwtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAobWFya3VwLXN0cm9uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtc3Vic2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhl aWdodCAwLjggOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya3VwLXN1 cGVyc2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAobWFya3VwLXRhYmxlLWNlbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmt1cC10YWJsZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChtYXJrdXAt dGFibGUtcm93LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4p KSkNCi0gICBgKG1hcmt1cC10aXRsZS0wLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAzLjAgOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTEtZmFjZSAoKCxjbGFz cyA6aGVpZ2h0IDIuNCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAt dGl0bGUtMi1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS44IDpmb3JlZ3JvdW5kICxibHVlLW51YW5j ZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS0zLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjQgOmZv cmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTQtZmFjZSAoKCxj bGFzcyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJr dXAtdGl0bGUtNS1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxibHVlLW51 YW5jZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChtYXJrdXAtdmFsdWUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC12ZXJiYXRpbS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IG1lbnRv cg0KLSAgIGAobWVudG9yLWRvd25sb2FkLW1lc3NhZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLW5hbWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXByb2dy ZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobWVudG9y LWRvd25sb2FkLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQotICAgYChtZW50b3ItZG93bmxvYWQtc3BlZWQtZG93biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1zcGVlZC11cCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXN0YXRlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChtZW50b3ItaGlnaGxpZ2h0LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKG1lbnRv ci10cmFja2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7 OzsgbWVzc2FnZXMNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC0xICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTIgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC0zICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC00ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXIt Y2MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KG1lc3NhZ2UtaGVhZGVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhl cikpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItbmV3c2dyb3VwcyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLW90aGVy ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChtZXNzYWdlLWhlYWRlci1zdWJqZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtZXNzYWdlLWhlYWRlci10byAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChtZXNzYWdlLWhl YWRlci14aGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtZXNzYWdl LW1tbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtZXNz YWdlLXNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRy YWwpKSkNCi07Ozs7OyBtaW5pYnVmZmVyLWxpbmUNCi0gICBgKG1pbmlidWZmZXItbGluZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IG1pbmltYXANCi0gICBgKG1pbmlt YXAtYWN0aXZlLXJlZ2lvbi1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3Rp dmUpKSkNCi0gICBgKG1pbmltYXAtY3VycmVudC1saW5lLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGN5YW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IG1vZGVs aW5lDQotICAgYChtb2RlLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1tb2Rl LWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hY3RpdmUgYmctYWN0 aXZlIGZnLWRpbSBiZy1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQg YmctYWN0aXZlICdhbHQtc3R5bGUgbmlsIGJnLW1haW4pKSkpDQotICAgYChtb2RlLWxpbmUtYnVm ZmVyLWlkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1vZGUtbGluZS1lbXBoYXNp cyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAg IGAobW9kZS1saW5lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3Rp dmUtYmx1ZSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgcHJlc3NlZC1idXR0b24pKSkpDQot ICAgYChtb2RlLWxpbmUtaW5hY3RpdmUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1t b2RlLWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1p bmFjdGl2ZSBiZy1pbmFjdGl2ZSBmZy1hbHQgYmctZGltDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmctcmVnaW9uIGJnLWFjdGl2ZSkpKSkNCi07Ozs7OyBtb29kLWxpbmUN Ci0gICBgKG1vb2QtbGluZS1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1p bmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5l LXN0YXR1cy1uZXV0cmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAg IGAobW9vZC1saW5lLXN0YXR1cy1zdWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h Y3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChtb29kLWxpbmUtdW5p bXBvcnRhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7OzsgbXBk ZWwNCi0gICBgKG1wZGVsLWJyb3dzZXItZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKG1wZGVsLXBsYXlsaXN0LWN1cnJlbnQtc29uZy1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotOzs7Ozsg bXU0ZQ0KLSAgIGAobXU0ZS1hdHRhY2gtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC0yLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtNC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC01 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKG11NGUtY2l0 ZWQtNi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobXU0ZS1j aXRlZC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG11NGUt Y29tcG9zZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtdTRlLWNvbXBvc2Utc2VwYXJh dG9yLWZhY2UpKSkNCi0gICBgKG11NGUtY29tcG9zZS1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBgKG11NGUtY29udGFj dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChtdTRlLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h Y3RpdmUpKSkNCi0gICBgKG11NGUtZHJhZnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKG11NGUtZmxhZ2dlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQotICAgYChtdTRlLWZvb3Rlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobXU0 ZS1mb3J3YXJkZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKG11NGUtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAobXU0ZS1oZWFkZXItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAobXU0ZS1oZWFkZXIta2V5LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG11NGUtaGVhZGVyLW1hcmtzLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUt aGVhZGVyLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAobXU0ZS1oZWFkZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1oaWdobGlnaHQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K LSAgIGAobXU0ZS1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAobXU0 ZS1tb2RlbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K LSAgIGAobXU0ZS1tb3ZlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobXU0ZS1vay1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChtdTRlLXJlZ2lvbi1jb2RlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAobXU0ZS1y ZXBsaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtZmFpbnQpKSkNCi0gICBgKG11 NGUtc3BlY2lhbC1oZWFkZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1zeXN0ZW0tZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFyay1kZWwgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAobXU0ZS10aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChtdTRlLXRyYXNoZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAg YChtdTRlLXVucmVhZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKG11NGUtdXJsLW51bWJlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtdTRlLXZpZXctYm9keS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtdTRlLXdhcm5pbmct ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5nKSkpDQotOzs7OzsgbXU0ZS1jb252ZXJzYXRp b24NCi0gICBgKG11NGUtY29udmVyc2F0aW9uLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0x ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG11NGUtY29u dmVyc2F0aW9uLXNlbmRlci0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0zICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci00ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNl bmRlci01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYCht dTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZp bmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci03ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRl ci04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLXJlZmluZS1mZykpKQ0KLSAgIGAobXU0ZS1j b252ZXJzYXRpb24tc2VuZGVyLW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChtdTRlLWNvbnZlcnNhdGlvbi11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0K LTs7Ozs7IG11bHRpcGxlLWN1cnNvcnMNCi0gICBgKG1jL2N1cnNvci1iYXItZmFjZSAoKCxjbGFz cyA6aGVpZ2h0IDEgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1jL2N1cnNvci1mYWNl ICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKG1jL3JlZ2lvbi1mYWNlICgoLGNs YXNzIDppbmhlcml0IHJlZ2lvbikpKQ0KLTs7Ozs7IG5lb3RyZWUNCi0gICBgKG5lby1iYW5uZXIt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobmVvLWJ1dHRvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAobmVvLWRpci1saW5rLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobmVvLWV4 cGFuZC1idG4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobmVvLWZp bGUtbGluay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChuZW8t aGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAobmVvLXJvb3QtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG5lby12Yy1hZGRlZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KLSAgIGAobmVvLXZjLWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChuZW8tdmMtZGVmYXVsdC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChuZW8tdmMtZWRpdGVkLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAobmVvLXZjLWlnbm9yZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG5lby12Yy1t aXNzaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG5lby12 Yy1uZWVkcy1tZXJnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K LSAgIGAobmVvLXZjLW5lZWRzLXVwZGF0ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAobmVvLXZjLXJlbW92ZWQtZmFjZSAoKCxjbGFzcyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0K LSAgIGAobmVvLXZjLXVubG9ja2VkLWNoYW5nZXMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAobmVvLXZjLXVwLXRvLWRhdGUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChuZW8tdmMtdXNlci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7Ozsgbm8tZW1vamkNCi0gICBgKG5vLWVt b2ppICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7Ozsgbm90bXVjaA0KLSAgIGAo bm90bXVjaC1jcnlwdG8tZGVjcnlwdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAobm90bXVjaC1jcnlwdG8tcGFydC1oZWFkZXIgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChub3RtdWNoLWNyeXB0 by1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVk KSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtZ29vZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCi0gICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25h dHVyZS1nb29kLWtleSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93 KSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtdW5rbm93biAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChub3RtdWNoLWhlbGxvLWxvZ28t YmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAobm90bXVj aC1tZXNzYWdlLXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1udWFu Y2VkLWN5YW4pKSkNCi0gICBgKG5vdG11Y2gtc2VhcmNoLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtbWF0Y2hpbmctYXV0 aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobm90bXVjaC1zZWFy Y2gtbm9uLW1hdGNoaW5nLWF1dGhvcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAobm90bXVjaC1zZWFyY2gtdW5yZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkp KQ0KLSAgIGAobm90bXVjaC10YWctYWRkZWQNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMg OnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpj b2xvciAsZ3JlZW4gOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobm90bXVjaC10YWctZGVsZXRlZA0KLSAgICAgKCgs KGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0g ICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxyZWQgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xh c3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBg KG5vdG11Y2gtdGFnLWZsYWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0g ICBgKG5vdG11Y2gtdGFnLXVucmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCi0gICBgKG5vdG11Y2gtdHJlZS1tYXRjaC1hdXRob3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChub3RtdWNoLXRyZWUtbWF0Y2gtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobm90bXVjaC10cmVlLW1hdGNo LXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQotICAgYChub3RtdWNoLXRyZWUtbm8tbWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYChub3RtdWNoLXdhc2gtY2l0ZWQtdGV4dCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAobm90bXVjaC13YXNoLXRvZ2dsZS1idXR0b24gKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgbnVtMy1t b2RlDQotICAgYChudW0zLWZhY2UtZXZlbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3Jv dW5kICxiZy1hbHQpKSkNCi07Ozs7OyBueG1sLW1vZGUNCi0gICBgKG54bWwtYXR0cmlidXRlLWNv bG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChueG1sLWF0dHJpYnV0 ZS1sb2NhbC1uYW1lICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1h bHQgY3lhbi1hbHQtZmFpbnQpKSkpDQotICAgYChueG1sLWF0dHJpYnV0ZS1wcmVmaXggKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVy LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWF0dHJpYnV0ZS12YWx1ZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAg YChueG1sLWNkYXRhLXNlY3Rpb24tQ0RBVEEgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAg IGAobnhtbC1jZGF0YS1zZWN0aW9uLWRlbGltaXRlciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKG54bWwtY2hh ci1yZWYtZGVsaW1pdGVyICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVu LWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChueG1sLWNoYXItcmVm LW51bWJlciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIg Z3JlZW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtZGVs aW1pdGVkLWRhdGEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChueG1sLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChueG1sLWVsZW1lbnQtY29sb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG54bWwtZWxlbWVudC1sb2NhbC1uYW1lICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkN Ci0gICBgKG54bWwtZWxlbWVudC1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBg KG54bWwtZW50aXR5LXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAo bnhtbC1lbnRpdHktcmVmLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl ZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQot ICAgYChueG1sLWdseXBoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1 dHJhbCkpKQ0KLSAgIGAobnhtbC1oYXNoICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBi bHVlLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1oZWFkaW5nICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCi0gICBgKG54bWwtbmFtZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtbmFtZXNwYWNlLWF0 dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobnht bC1uYW1lc3BhY2UtYXR0cmlidXRlLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKG54bWwtcHJvY2Vzc2lu Zy1pbnN0cnVjdGlvbi10YXJnZXQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtcHJvbG9nLWtleXdvcmQg KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRh LWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtcmVmICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSkpKQ0KLTs7Ozs7IG9iamVkDQotICAgYChvYmplZC1obCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs KGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWhsLWFsdC1pbnRlbnNlIGJnLWhsLWFsdCkpKSkN Ci0gICBgKG9iamVkLW1hcmsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAg IGAob2JqZWQtbW9kZS1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0K LTs7Ozs7IG9yZGVybGVzcw0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1udWFuY2VkLWJnDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGJs dWUtcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFuY2VkLWJnDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtcmVmaW5lLWJn IG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tbnVhbmNlZC1iZw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1yZWZpbmUtYmcgZ3Jl ZW4tcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxvdy1udWFuY2VkLWJnDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1yZWZpbmUtYmcgeWVsbG93 LXJlZmluZS1mZykpKSkNCi07Ozs7OyBvcmcNCi0gICBgKG9yZy1hZ2VuZGEtY2FsZW5kYXItZXZl bnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1hZ2VuZGEtY2Fs ZW5kYXItc2V4cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG9yZy1h Z2VuZGEtY2xvY2tpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1jb2x1bW4t ZGF0ZWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAob3JnLWFnZW5k YS1jdXJyZW50LXRpbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kYXRlLXRvZGF5ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVybGluZSB0KSkpDQotICAgYChvcmctYWdlbmRh LWRhdGUtd2Vla2VuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0g ICBgKG9yZy1hZ2VuZGEtZGlhcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKG9yZy1hZ2VuZGEtZGltbWVkLXRvZG8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZG9uZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChvcmctYWdlbmRhLWZpbHRlci1jYXRlZ29yeSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAob3JnLWFnZW5kYS1maWx0ZXItZWZmb3J0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChvcmctYWdlbmRhLWZpbHRlci1yZWdleHAg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0g ICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXRhZ3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEtcmVzdHJpY3Rpb24tbG9j ayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0g ICBgKG9yZy1hZ2VuZGEtc3RydWN0dXJlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAob3JnLWFyY2hpdmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWJsb2NrICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1vcmctYmxvY2sgYmctZGltKQ0KLSAgICAgICAgICAgICAgICAgICAgICAg IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctYmxvY2stYmVnaW4tbGluZSAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2stZGVs aW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1zcGVj aWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFsdCBm Zy1zcGVjaWFsLW1pbGQpKSkpDQotICAgYChvcmctYmxvY2stZW5kLWxpbmUgKCgsY2xhc3MgOmlu aGVyaXQgb3JnLWJsb2NrLWJlZ2luLWxpbmUpKSkNCi0gICBgKG9yZy1jaGVja2JveCAoKCxjbGFz cyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAsYmctYWN0aXZlKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0 aXZlKSkpDQotICAgYChvcmctY2hlY2tib3gtc3RhdGlzdGljcy1kb25lICgoLGNsYXNzIDppbmhl cml0IG9yZy1kb25lKSkpDQotICAgYChvcmctY2hlY2tib3gtc3RhdGlzdGljcy10b2RvICgoLGNs YXNzIDppbmhlcml0IG9yZy10b2RvKSkpDQotICAgYChvcmctY2xvY2stb3ZlcmxheSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG9yZy1jb2RlICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChvcmctY29sdW1uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQp KSkNCi0gICBgKG9yZy1jb2x1bW4tdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6dW5kZXJs aW5lIHQgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAob3JnLWRhdGUgKCgsY2xhc3MgOmlu aGVyaXQgKGJ1dHRvbiBmaXhlZC1waXRjaCkgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYChvcmctZGF0ZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChvcmctZG9jdW1lbnQtaW5m byAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChvcmctZG9j dW1lbnQtaW5mby1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQt Zm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1kb2N1bWVudC10aXRsZSAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNSkpKSkNCi0gICBgKG9y Zy1kb25lICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6YmFja2dyb3VuZCAsYmctZGltIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KLSAgIGAob3JnLWRyYXdlciAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAob3JnLWVsbGlwc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kIG5p bCkpKSA7IGluaGVyaXRzIGZyb20gdGhlIGhlYWRpbmcncyBjb2xvdXINCi0gICBgKG9yZy1mb290 bm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChvcmctZm9ybXVsYSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZv bnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN Ci0gICBgKG9yZy1oYWJpdC1hbGVydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UteWVsbG93KSkpDQotICAgYChvcmctaGFiaXQtYWxlcnQtZnV0dXJlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAob3JnLWhh Yml0LWNsZWFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdl bnRhKSkpDQotICAgYChvcmctaGFiaXQtY2xlYXItZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKG9yZy1oYWJpdC1vdmVyZHVl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBg KG9yZy1oYWJpdC1vdmVyZHVlLWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKG9yZy1oYWJpdC1yZWFkeS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAob3JnLWhhYml0LXJlYWR5 LWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkp DQotICAgYChvcmctaGVhZGxpbmUtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUt dmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQpKSkNCi0gICBgKG9yZy1o ZWFkbGluZS10b2RvICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRj aCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKG9yZy1oaWRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChvcmctaW5kZW50ICgoLGNsYXNzIDppbmhlcml0 IChmaXhlZC1waXRjaCBvcmctaGlkZSkpKSkNCi0gICBgKG9yZy1sYXRleC1hbmQtcmVsYXRlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKG9yZy1sZXZl bC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLSAgIGAob3Jn LWxldmVsLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQotICAg YChvcmctbGV2ZWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkN Ci0gICBgKG9yZy1sZXZlbC00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmct NCkpKQ0KLSAgIGAob3JnLWxldmVsLTUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVh ZGluZy01KSkpDQotICAgYChvcmctbGV2ZWwtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTYpKSkNCi0gICBgKG9yZy1sZXZlbC03ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWhlYWRpbmctNykpKQ0KLSAgIGAob3JnLWxldmVsLTggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGVhZGluZy04KSkpDQotICAgYChvcmctbGluayAoKCxjbGFzcyA6aW5oZXJp dCBsaW5rKSkpDQotICAgYChvcmctbGlzdC1kdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQot ICAgYChvcmctbWFjcm8gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1tZXRhLWxpbmUgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAob3JnLW1vZGUtbGluZS1jbG9jayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAob3JnLW1vZGUtbGluZS1jbG9jay1vdmVycnVuICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCi0gICBgKG9yZy1wcmlvcml0eSAoKCxjbGFz cyA6Ym94ICxiZy1yZWdpb24gOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAob3JnLXByb3BlcnR5LXZhbHVlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChvcmctcXVvdGUgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2sgYmctZGltKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAob3JnLXNjaGVkdWxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChvcmctc2NoZWR1bGVkLXByZXZpb3VzbHkgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1zY2hlZHVsZWQtdG9kYXkg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChvcmctc2V4 cC1kYXRlICgoLGNsYXNzIDppbmhlcml0IG9yZy1kYXRlKSkpDQotICAgYChvcmctc3BlY2lhbC1r ZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQp KSkNCi0gICBgKG9yZy10YWJsZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVk LWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKG9yZy10YWJsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgKGZpeGVk LXBpdGNoIG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKSkNCi0gICBgKG9yZy10YWcgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRhZy1ncm91 cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0g ICBgKG9yZy10YXJnZXQgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChvcmctdGltZS1n cmlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKG9yZy10b2Rv ICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQotICAgYChvcmctdXBjb21pbmctZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy11cGNvbWluZy1kaXN0YW50LWRlYWRs aW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXZlcmJh dGltICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jYWxtKSkpDQotICAgYChvcmctdmVyc2UgKCgsY2xhc3MgOmluaGVyaXQgb3JnLXF1 b3RlKSkpDQotICAgYChvcmctd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtYWx0LW90aGVyKSkpDQotOzs7Ozsgb3JnLWpvdXJuYWwNCi0gICBgKG9yZy1qb3Vy bmFsLWNhbGVuZGFyLWVudHJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLWpvdXJuYWwtY2Fs ZW5kYXItc2NoZWR1bGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLWpvdXJuYWwtaGlnaGxpZ2h0 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IG9yZy1ub3Rlcg0K LSAgIGAob3JnLW5vdGVyLW5vLW5vdGVzLWV4aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLW5vdGVyLW5vdGVzLWV4aXN0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkp DQotOzs7Ozsgb3JnLXBvbW9kb3JvDQotICAgYChvcmctcG9tb2Rvcm8tbW9kZS1saW5lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChvcmctcG9tb2Rvcm8tbW9kZS1s aW5lLWJyZWFrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAob3Jn LXBvbW9kb3JvLW1vZGUtbGluZS1vdmVydGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtYWN0aXZlKSkpDQotOzs7Ozsgb3JnLXJlY3VyDQotICAgYChvcmctcmVjdXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7Ozsgb3JnLXJvYW0N Ci0gICBgKG9yZy1yb2FtLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5k ICxncmVlbikpKQ0KLSAgIGAob3JnLXJvYW0tbGluay1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChvcmctcm9hbS1saW5rLWlu dmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KG9yZy1yb2FtLWxpbmstc2hpZWxkZWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi0gICBgKG9yZy1yb2FtLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyBvcmctc3VwZXJzdGFyDQotICAgYChvcmct c3VwZXJzdGFyLWl0ZW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9y Zy1zdXBlcnN0YXItbGVhZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkp KQ0KLTs7Ozs7IG9yZy10YWJsZS1zdGlja3ktaGVhZGVyDQotICAgYChvcmctdGFibGUtc3RpY2t5 LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJh bCkpKQ0KLTs7Ozs7IG9yZy10cmVlc2NvcGUNCi0gICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1h cmtlcmludGVybmFsLW1pZGRheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUpKSkNCi0gICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1hcmtlcmludGVybmFsLXJhbmdl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IG9y aWdhbWkNCi0gICBgKG9yaWdhbWktZm9sZC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0gOmJveCB0KSkpDQotICAgYChvcmlnYW1pLWZv bGQtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi07Ozs7OyBvdXRsaW5lLW1vZGUNCi0gICBgKG91dGxpbmUtMSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBgKG91dGxpbmUtMiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCi0gICBgKG91dGxpbmUt MyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBgKG91dGxp bmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCi0gICBgKG91 dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCi0gICBg KG91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0g ICBgKG91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkN Ci0gICBgKG91dGxpbmUtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTgp KSkNCi07Ozs7OyBvdXRsaW5lLW1pbm9yLWZhY2VzDQotICAgYChvdXRsaW5lLW1pbm9yLTAgKCgs Y2xhc3MgbmlsKSkpDQotOzs7OzsgcGFja2FnZSAoTS14IGxpc3QtcGFja2FnZXMpDQotICAgYChw YWNrYWdlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKHBhY2thZ2UtaGVscC1zZWN0aW9uLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHBhY2thZ2UtbmFtZSAo KCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1hdmFpbC1vYnNv ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocGFja2Fn ZS1zdGF0dXMtYXZhaWxhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQp KSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWJ1aWx0LWluICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1kZXBlbmRlbmN5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtZGlzYWJs ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAocGFj a2FnZS1zdGF0dXMtZXh0ZXJuYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1oZWxkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1pbmNvbXBhdCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWluc3Rh bGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChwYWNr YWdlLXN0YXR1cy1uZXcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLXVuc2lnbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyBwYWdlLWJyZWFrLWxpbmVzDQotICAgYChw YWdlLWJyZWFrLWxpbmVzICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmZvcmVncm91bmQgLGZn LXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotOzs7OzsgcGFyYWRveA0KLSAgIGAocGFyYWRveC1h cmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAg IGAocGFyYWRveC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChwYXJhZG94LWNvbW1pdC10YWctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSA6Ym94IHQpKSkNCi0g ICBgKHBhcmFkb3gtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChwYXJhZG94LWRlc2NyaXB0aW9uLWZhY2UtbXVsdGlsaW5lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHBhcmFkb3gtZG93 bmxvYWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHBhcmFkb3gtaGlnaGxpZ2h0LWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChwYXJhZG94LWhvbWVwYWdlLWJ1dHRvbi1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKHBhcmFkb3gtbW9kZS1saW5lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHBhcmFkb3gtbmFtZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAocGFyYWRveC1zdGFyLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHBhcmFkb3gtc3RhcnJl ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHBhcmVu LWZhY2UNCi0gICBgKHBhcmVudGhlc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3Vz ZWQpKSkNCi07Ozs7OyBwYXJyb3QNCi0gICBgKHBhcnJvdC1yb3RhdGUtcm90YXRpb24taGlnaGxp Z2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkN Ci07Ozs7OyBwYXNzDQotICAgYChwYXNzLW1vZGUtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYXNzLW1v ZGUtZW50cnktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAocGFzcy1tb2RlLWhlYWRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBwZXJzcC1tb2RlDQotICAgYChwZXJzcC1m YWNlLWxpZ2h0ZXItYnVmZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAocGVyc3AtZmFjZS1saWdodGVyLWRlZmF1bHQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHBl cnNwLWZhY2UtbGlnaHRlci1uaWwtcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctYWN0aXZlKSkpDQotOzs7OzsgcGVyc3BlY3RpdmUNCi0gICBgKHBlcnNwLXNlbGVj dGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUp KSkNCi07Ozs7OyBwaGktZ3JlcA0KLSAgIGAocGhpLWdyZXAtaGVhZGluZy1mYWNlICAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAocGhpLWdyZXAtbGluZS1udW1iZXItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChwaGktZ3JlcC1t YXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0K LSAgIGAocGhpLWdyZXAtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChwaGktZ3JlcC1vdmVybGF5LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi07Ozs7OyBwaGktc2VhcmNoDQot ICAgYChwaGktcmVwbGFjZS1wcmV2aWV3LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChwaGktc2VhcmNoLWZhaWxwYXJ0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAocGhpLXNlYXJj aC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkp DQotICAgYChwaGktc2VhcmNoLXNlbGVjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotOzs7OzsgcGtnYnVpbGQtbW9kZQ0KLSAg IGAocGtnYnVpbGQtZXJyb3ItZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9y KSkpDQotOzs7OzsgcG9taWRvcg0KLSAgIGAocG9taWRvci1icmVhay1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocG9taWRvci1vdmVyd29yay1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChwb21pZG9yLXNr aXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKHBvbWlkb3Itd29yay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQtb3RoZXIpKSkNCi07Ozs7OyBwb3dlcmxpbmUNCi0gICBgKHBvd2VybGluZS1hY3Rp dmUwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50 IDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKHBvd2VybGluZS1hY3RpdmUxICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0K LSAgIGAocG93ZXJsaW5lLWFjdGl2ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChwb3dlcmxpbmUtaW5hY3RpdmUwICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAocG93ZXJsaW5lLWluYWN0aXZlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAocG93ZXJsaW5lLWluYWN0 aXZlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlKSkpDQotOzs7OzsgcG93ZXJsaW5lLWV2aWwNCi0gICBgKHBvd2VybGluZS1ldmlsLWJh c2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFp bikpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtZW1hY3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtaW5zZXJ0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuKSkpDQotICAg YChwb3dlcmxpbmUtZXZpbC1tb3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtbm9ybWFsLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAocG93 ZXJsaW5lLWV2aWwtb3BlcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1h Y3RpdmUteWVsbG93KSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1yZXBsYWNlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2 aWwtdmlzdWFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4p KSkNCi07Ozs7OyBwcm9jZWQNCi0gICBgKHByb2NlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQotICAgYChwcm9jZWQtbWFya2VkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQotICAgYChwcm9jZWQtc29ydC1oZWFkZXIg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtIDp1bmRl cmxpbmUgdCkpKQ0KLTs7Ozs7IHByb2RpZ3kNCi0gICBgKHByb2RpZ3ktZ3JlZW4tZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHByb2RpZ3ktcmVkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocHJvZGlneS15ZWxsb3ctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgcmFja2V0LW1vZGUNCi0gICBgKHJhY2tl dC1kZWJ1Zy1icmVhay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkKSkpDQotICAgYChyYWNrZXQtZGVidWctbG9jYWxzLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggLTEgOmNvbG9yIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChyYWNrZXQtZGVi dWctcmVzdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAt MSA6Y29sb3IgbmlsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocmFja2V0LWhlcmUtc3RyaW5nLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChyYWNrZXQta2V5d29yZC1hcmd1bWVu dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChyYWNrZXQtbG9n Z2VyLWNvbmZpZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAocmFja2V0LWxvZ2dlci1kZWJ1Zy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFja2V0LWxvZ2dlci1pbmZv LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSkpKQ0KLSAgIGAocmFja2V0 LWxvZ2dlci10b3BpYy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHJhY2tldC1zZWxmZXZhbC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKHJhY2tldC14cC1lcnJvci1mYWNlDQot ICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNs YXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdh dmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGlu ZSB0KSkpDQotOzs7OzsgcmFpbmJvdy1ibG9ja3MNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRo LTEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KHJhaW5ib3ctYmxvY2tzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChyYWluYm93LWJsb2Nr cy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHJhaW5i b3ctYmxvY2tzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQot ICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLXVubWF0Y2hlZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7OyByYWluYm93LWlkZW50aWZpZXJz DQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50 aWZpZXItMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTQg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ct aWRlbnRpZmllcnMtaWRlbnRpZmllci01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVu dGlmaWVyLTcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChyYWlu Ym93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci05ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50 aWZpZXItMTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChyYWluYm93LWlk ZW50aWZpZXJzLWlkZW50aWZpZXItMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEzICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMt aWRlbnRpZmllci0xNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHJh aW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KLTs7Ozs7IHJhaW5ib3ctZGVsaW1pdGVycw0KLSAgIGAocmFpbmJvdy1kZWxpbWl0 ZXJzLWJhc2UtZmFjZS1lcnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChy YWluYm93LWRlbGltaXRlcnMtYmFzZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0 aC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1k ZWxpbWl0ZXJzLWRlcHRoLTUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTct ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJhaW5ib3ct ZGVsaW1pdGVycy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtbWlzbWF0Y2hlZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBg KHJhaW5ib3ctZGVsaW1pdGVycy11bm1hdGNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7OyByY2lyYw0KLSAgIGAocmNpcmMtYnJpZ2h0LW5p Y2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0g ICBgKHJjaXJjLWRpbS1uaWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KHJjaXJjLW15LW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAocmNpcmMtbmljay1pbi1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmNpcmMtbmljay1pbi1tZXNzYWdlLWZ1bGwtbGlu ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkN Ci0gICBgKHJjaXJjLW90aGVyLW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChyY2lyYy1wcm9tcHQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJjaXJjLXNlcnZl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChyY2lyYy10aW1l c3RhbXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAocmNpcmMt dXJsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHJl Z2V4cC1idWlsZGVyIChyZS1idWlsZGVyKQ0KLSAgIGAocmViLW1hdGNoLTAgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChyZWItbWF0Y2gtMSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHJlYi1t YXRjaC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0g ICBgKHJlYi1tYXRjaC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVk KSkpDQotICAgYChyZWItcmVnZXhwLWdyb3VwaW5nLWJhY2tzbGFzaCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gpKSkNCi0gICBgKHJl Yi1yZWdleHAtZ3JvdXBpbmctY29uc3RydWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLTs7Ozs7IHJnIChyZy5lbCkNCi0g ICBgKHJnLWNvbHVtbi1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKHJnLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctdW5mb2N1c2VkKSkpDQotICAgYChyZy1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocmctZmlsZS10YWctZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChyZy1maWxlbmFtZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAocmctbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQotICAgYChyZy1saXRlcmFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChyZy1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAocmctcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChyZy10b2dnbGUtb2ZmLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHJnLXRvZ2ds ZS1vbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZl KSkpDQotICAgYChyZy13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotOzs7OzsgcmlwZ3JlcA0KLSAgIGAocmlwZ3JlcC1jb250ZXh0LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAocmlwZ3JlcC1l cnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAocmlwZ3JlcC1oaXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo cmlwZ3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt Y2FsbSkpKQ0KLTs7Ozs7IHJtYWlsDQotICAgYChybWFpbC1oZWFkZXItbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJtYWlsLWhpZ2hsaWdodCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHJ1 bGVyLW1vZGUNCi0gICBgKHJ1bGVyLW1vZGUtY29sdW1uLW51bWJlciAoKCxjbGFzcyA6aW5oZXJp dCAocnVsZXItbW9kZS1kZWZhdWx0IGJvbGQpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChydWxlci1tb2RlLWNvbW1lbnQtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUt ZGVmYXVsdCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1jdXJy ZW50LWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91 bmQgLGN5YW4tYWN0aXZlIDpib3ggdCkpKQ0KLSAgIGAocnVsZXItbW9kZS1kZWZhdWx0ICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkN Ci0gICBgKHJ1bGVyLW1vZGUtZmlsbC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9k ZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUt ZnJpbmdlcyAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQg LGJsdWUtYWN0aXZlKSkpDQotICAgYChydWxlci1tb2RlLWdvYWwtY29sdW1uICgoLGNsYXNzIDpp bmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN Ci0gICBgKHJ1bGVyLW1vZGUtbWFyZ2lucyAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRl ZmF1bHQgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKHJ1bGVyLW1vZGUtcGFkICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQot ICAgYChydWxlci1tb2RlLXRhYi1zdG9wICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVm YXVsdCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7IHNhbGxldA0KLSAgIGAo c2FsbGV0LWJ1ZmZlci1jb21wcmVzc2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVh bmNlZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLWRlZmF1bHQtZGlyZWN0 b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKHNhbGxldC1i dWZmZXItZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0g ICBgKHNhbGxldC1idWZmZXItaGVscCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLW1vZGlmaWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHNhbGxldC1idWZmZXIt b3JkaW5hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNhbGxldC1i dWZmZXItcmVhZC1vbmx5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAg YChzYWxsZXQtYnVmZmVyLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2Fs bSkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1zcGVjaWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoc2FsbGV0LWZseC1tYXRjaCAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCi0gICBgKHNh bGxldC1yZWNlbnRmLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5j ZWQpKSkNCi0gICBgKHNhbGxldC1yZWNlbnRmLWZpbGUtcGF0aCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChzYWxsZXQtcmVnZXhwLW1hdGNoICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFn ZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt bnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0LW90aGVyKSkpKQ0KLSAgIGAoc2FsbGV0LXNvdXJjZS1oZWFkZXIgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRp LXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChzYWxsZXQtc3Vic3RyaW5nLW1hdGNoICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUt Ymx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtbnVhbmNlZC1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJsdWUtYWx0LW90aGVyKSkpKQ0KLTs7Ozs7IHNlbGVjdHJ1bQ0KLSAgIGAoc2VsZWN0cnVtLWN1 cnJlbnQtY2FuZGlkYXRlDQotICAgICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxmZy1tYWluIDp1bmRlcmxpbmUgLGZnLW1haW4NCi0gICAgICAgICAgICAgIDpiYWNrZ3JvdW5k ICxAKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoJ29waW5pb25hdGVkIChsaXN0IGJnLWFjdGl2ZSkpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKF8gKGxpc3QgYmctaW5hY3RpdmUpKSkpKSkNCi0gICBg KHNlbGVjdHJ1bS1wcmltYXJ5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtbnVhbmNlZC1iZw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1h Z2VudGEtcmVmaW5lLWZnKSkpKQ0KLSAgIGAoc2VsZWN0cnVtLXNlY29uZGFyeS1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQt b3RoZXIgY3lhbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCi07Ozs7OyBz ZW1hbnRpYw0KLSAgIGAoc2VtYW50aWMtY29tcGxldGUtaW5saW5lLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHNlbWFudGlj LWRlY29yYXRpb24tb24tcHJpdmF0ZS1tZW1iZXJzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tcHJv dGVjdGVkLW1lbWJlcnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAg YChzZW1hbnRpYy1oaWdobGlnaHQtZWRpdHMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQotICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZnVuYy1jdXJyZW50LXRhZy1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHNlbWFudGljLWlkbGUtc3ltYm9s LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkN Ci0gICBgKHNlbWFudGljLXRhZy1ib3VuZGFyeS1mYWNlICgoLGNsYXNzIDpvdmVybGluZSAsYmx1 ZS1pbnRlbnNlKSkpDQotICAgYChzZW1hbnRpYy11bm1hdGNoZWQtc3ludGF4LWZhY2UgKCgsY2xh c3MgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IHNlc21hbg0KLSAgIGAoc2Vz bWFuLWJyb3dzZXItYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90 aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoc2VzbWFuLWJyb3dzZXItaGlnaGxpZ2gtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoc2VzbWFu LWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChzZXNt YW4tZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KLSAgIGAoc2VzbWFuLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IHNoZWxsLXNjcmlwdC1tb2Rl DQotICAgYChzaC1oZXJlZG9jICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAg IGAoc2gtcXVvdGVkLWV4ZWMgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7Ozsgc2hvdy1wYXJlbi1tb2Rl DQotICAgYChzaG93LXBhcmVuLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt cGFyZW4gYmctcGFyZW4tbWF0Y2gNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1wYXJlbi1tYXRjaC1pbnRlbnNlKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo c2hvdy1wYXJlbi1tYXRjaC1leHByZXNzaW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoc2hvdy1wYXJlbi1taXNtYXRjaCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHNpZGUtbm90ZXMNCi0gICBg KHNpZGUtbm90ZXMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQotOzs7Ozsgc2tld2VyLW1vZGUNCi0gICBgKHNrZXdlci1lcnJvci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotOzs7Ozsgc21hcnQtbW9kZS1s aW5lDQotICAgYChzbWwvY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2 ZSkpKQ0KLSAgIGAoc21sL2Rpc2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0 aXZlKSkpDQotICAgYChzbWwvZmlsZW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHNtbC9mb2xkZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2dpdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKHNtbC9nbG9iYWwgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2xpbmUtbnVtYmVyICgoLGNsYXNzIDpp bmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9taW5vci1tb2RlcyAoKCxjbGFzcyA6aW5o ZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvbW9kZXMgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChzbWwvbW9kaWZpZWQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHNtbC9t dWxlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL25hbWUt ZmlsbGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoc21s L25vdC1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwv bnVtYmVycy1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAo c21sL291dHNpZGUtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1yZWQpKSkNCi0gICBgKHNtbC9wb3NpdGlvbi1wZXJjZW50YWdlICgoLGNsYXNzIDppbmhlcml0 IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9wcmVmaXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL3Byb2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgc21sL3By ZWZpeCkpKQ0KLSAgIGAoc21sL3Byb2plY3RpbGUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dpdCkp KQ0KLSAgIGAoc21sL3JlYWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL3JlbW90ZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwv Z2xvYmFsKSkpDQotICAgYChzbWwvc3VkbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtcmVkKSkpDQotICAgYChzbWwvdGltZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFs KSkpDQotICAgYChzbWwvdmMgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dpdCkpKQ0KLSAgIGAoc21s L3ZjLWVkaXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0 aXZlKSkpDQotOzs7Ozsgc21hcnRwYXJlbnMNCi0gICBgKHNwLXBhaXItb3ZlcmxheS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3Atc2hv dy1wYWlyLWVuY2xvc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1p bGQpKSkNCi0gICBgKHNwLXNob3ctcGFpci1tYXRjaC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtcGFyZW4gYmctcGFyZW4tbWF0Y2gNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcGFyZW4tbWF0 Y2gtaW50ZW5zZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzcC1zaG93LXBhaXItbWlzbWF0Y2gtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoc3Atd3JhcC1v dmVybGF5LWNsb3NpbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFj ZSkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFp ci1vdmVybGF5LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtb3ZlcmxheS1vcGVuaW5nLXBhaXIgKCgs Y2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtdGFn LW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0K LTs7Ozs7IHNtZXJnZQ0KLSAgIGAoc21lcmdlLWJhc2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQotICAgYChzbWVyZ2UtbG93ZXIgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KLSAgIGAoc21lcmdlLW1hcmtlcnMgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMikpKQ0KLSAgIGAoc21lcmdlLXJlZmluZWQtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLWNo YW5nZWQgKCgsY2xhc3MpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLXJlbW92ZWQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KLSAgIGAoc21lcmdl LXVwcGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLTs7 Ozs7IHNwYWNlbGluZQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLWlu c2VydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCi0gICBg KHNwYWNlbGluZS1ldmlsLW1vdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3Rp dmUtYmx1ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwt cmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAg YChzcGFjZWxpbmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0 aXZlLWN5YW4pKSkNCi0gICBgKHNwYWNlbGluZS1mbHljaGVjay1lcnJvciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWluZm8gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUtZmx5Y2hl Y2std2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAo c3BhY2VsaW5lLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS1ibHVlKSkpDQotICAgYChzcGFjZWxpbmUtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCi0gICBgKHNwYWNlbGluZS1weXRob24tdmVu diAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHNwYWNlbGlu ZS1yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0K LSAgIGAoc3BhY2VsaW5lLXVubW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt ZnJpbmdlLWN5YW4pKSkNCi07Ozs7OyBzcGVlZGJhcg0KLSAgIGAoc3BlZWRiYXItYnV0dG9uLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAoc3BlZWRiYXItZGlyZWN0b3J5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc3Bl ZWRiYXItZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChz cGVlZGJhci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtYmx1ZSkpKQ0KLSAgIGAoc3BlZWRiYXItc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChzcGVlZGJhci1zZXBhcmF0b3ItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBg KHNwZWVkYmFyLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVy KSkpDQotOzs7Ozsgc3BlbGwtZnUNCi0gICBgKHNwZWxsLWZ1LWluY29ycmVjdC1mYWNlDQotICAg ICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNz KQ0KLSAgICAgICA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJs aW5lIHQpKSkNCi07Ozs7OyBzdHJpcGVzDQotICAgYChzdHJpcGVzICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi07Ozs7OyBzdWNjZXNzDQotICAgYChzdWdnZXN0LWhl YWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KLTs7Ozs7IHN3aXRjaC13aW5kb3cNCi0gICBgKHN3aXRjaC13aW5kb3ctYmFja2dyb3Vu ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChzd2l0Y2gtd2luZG93LWxh YmVsICgoLGNsYXNzIDpoZWlnaHQgMy4wIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi07 Ozs7OyBzd2lwZXINCi0gICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCkpKQ0KLSAgIGAoc3dpcGVyLWJh Y2tncm91bmQtbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1jeWFuKSkpDQotICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHN3aXBlci1iYWNr Z3JvdW5kLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt Z3JlZW4pKSkNCi0gICBgKHN3aXBlci1saW5lLWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFj cy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc3dp cGVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXItbGluZS1mYWNlKSkpDQot ICAgYChzd2lwZXItbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IHN3aXBlci1saW5lLWZh Y2UpKSkNCi0gICBgKHN3aXBlci1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgc3dpcGVy LWxpbmUtZmFjZSkpKQ0KLSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJp dCBzd2lwZXItbGluZS1mYWNlKSkpDQotOzs7Ozsgc3dvb3ANCi0gICBgKHN3b29wLWZhY2UtaGVh ZGVyLWZvcm1hdC1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zKSkpKQ0KLSAg IGAoc3dvb3AtZmFjZS1saW5lLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNj YWxlLTQpKSkpDQotICAgYChzd29vcC1mYWNlLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHN3b29wLWZhY2UtdGFyZ2V0LWxpbmUgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykg Jyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS10YXJnZXQtd29yZHMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07Ozs7OyBzeA0KLSAgIGAoc3gt aW5ib3gtaXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLSAgIGAoc3gtaW5ib3gtaXRlbS10eXBlLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCAoc3gt aW5ib3gtaXRlbS10eXBlIGJvbGQpKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWFuc3dlcnMg KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWFu c3dlcnMtYWNjZXB0ZWQgKCgsY2xhc3MgOmJveCB0IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAg IGAoc3gtcXVlc3Rpb24tbGlzdC1ib3VudHkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dy b3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxp c3QtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChz eC1xdWVzdGlvbi1saXN0LWZhdm9yaXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1wYXJlbnQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtcmVh ZC1xdWVzdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChzeC1xdWVz dGlvbi1saXN0LXNjb3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkN Ci0gICBgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUtdXB2b3RlZCAoKCxjbGFzcyA6aW5oZXJpdCAo c3gtcXVlc3Rpb24tbGlzdC1zY29yZSBib2xkKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC11 bnJlYWQtcXVlc3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1hY2NlcHRlZCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24t bW9kZS1jbG9zZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyA6 Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwpKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2Rl LWNsb3NlZC1yZWFzb24gKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1jb250ZW50LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9k ZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChzeC1xdWVzdGlvbi1t b2RlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChzeC1xdWVzdGlvbi1tb2RlLWtiZC10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVp Z2h0IDAuOSA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctbWFpbiA6c3R5bGUgcmVsZWFz ZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9k ZS1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChzeC1xdWVzdGlv bi1tb2RlLXNjb3JlLWRvd252b3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQot ICAgYChzeC1xdWVzdGlvbi1tb2RlLXNjb3JlLXVwdm90ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS10aXRsZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1x dWVzdGlvbi1tb2RlLXRpdGxlLWNvbW1lbnRzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoc3gtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAoc3gtdXNlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAoc3gtdXNlci1yZXB1dGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi07Ozs7OyBzeW1ib2wtb3ZlcmxheQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZGVm YXVsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0yICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChzeW1ib2wtb3Zlcmxh eS1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkN Ci0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJs YXktZmFjZS02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0g ICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLWN5YW4pKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtOCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7Ozs7IHN5c2xvZy1tb2RlDQotICAg YChzeXNsb2ctZGVidWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHN5c2xvZy1maWxlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc3lzbG9nLWhpZGUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KHN5c2xvZy1ob3VyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChzeXNsb2ctaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoc3lzbG9nLWlwICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKHN5c2xvZy1zdSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0KSkpDQotICAgYChzeXNsb2ctd2FybiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi07Ozs7OyB0YWJsZSAoYnVpbHQtaW4gdGFibGUuZWwpDQotICAgYCh0 YWJsZS1jZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcpKSkNCi07Ozs7 OyB0ZWxlcGhvbmUtbGluZQ0KLSAgIGAodGVsZXBob25lLWxpbmUtYWNjZW50LWFjdGl2ZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGJnLWluYWN0aXZlKSkp DQotICAgYCh0ZWxlcGhvbmUtbGluZS1hY2NlbnQtaW5hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUt bGluZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLWVtYWNzICgoLGNsYXNzIDppbmhlcml0 IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZykpKQ0K LSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBo b25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KLSAgIGAodGVs ZXBob25lLWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUt ZXZpbCA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcpKSkNCi0gICBgKHRlbGVwaG9uZS1s aW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJh Y2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1vcGVyYXRvciAo KCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICx5ZWxsb3ct c3VidGxlLWJnKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLXJlcGxhY2UgKCgsY2xhc3Mg OmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcp KSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IHRl bGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAo dGVsZXBob25lLWxpbmUtcHJvamVjdGlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3Rp dmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLXVuaW1wb3J0YW50ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtd2FybmluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7OzsgdGVy bQ0KLSAgIGAodGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAodGVybS1ib2xkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0g ICBgKHRlcm0tY29sb3ItYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZSA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAodGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxj eWFuIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCh0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHRlcm0tY29s b3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAodGVybS1jb2xvci1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZCA6 Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYCh0ZXJtLWNvbG9yLXllbGxvdyAoKCxjbGFzcyA6YmFj a2dyb3VuZCAseWVsbG93IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHRlcm0tdW5kZXJs aW5lICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHRvbWF0aW5obw0KLSAgIGAodG9t YXRpbmhvLW9rLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAg IGAodG9tYXRpbmhvLXBhdXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRl bnNlKSkpDQotICAgYCh0b21hdGluaG8tcmVzZXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotOzs7OzsgdHJhbnNpZW50DQotICAgYCh0cmFuc2llbnQtYWN0aXZlLWluZml4 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAodHJh bnNpZW50LWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLSAgIGAodHJhbnNpZW50LWFyZ3VtZW50ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHRyYW5zaWVudC1ibHVlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHRyYW5zaWVudC1kaXNhYmxlZC1z dWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBg KHRyYW5zaWVudC1lbmFibGVkLXN1ZmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLWdyZWVuKSkpDQotICAgYCh0cmFuc2llbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0cmFuc2llbnQtaW5hY3RpdmUt YXJndW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHJhbnNpZW50 LWluYWN0aXZlLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHRy YW5zaWVudC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LSAgIGAodHJhbnNpZW50LW1pc21hdGNoZWQta2V5ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAodHJhbnNpZW50LW5vbnN0YW5kYXJkLWtleSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKHRyYW5zaWVudC1waW5rICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKHRyYW5zaWVudC1yZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBgKHRyYW5zaWVudC10ZWFsICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYCh0cmFu c2llbnQtdW5yZWFjaGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0K LSAgIGAodHJhbnNpZW50LXVucmVhY2hhYmxlLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct dW5mb2N1c2VkKSkpDQotICAgYCh0cmFuc2llbnQtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgdHJhc2hlZA0KLSAgIGAodHJhc2hlZC1kZWxldGVkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQotICAgYCh0cmFzaGVkLWRp cmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodHJhc2hlZC1tYXJr ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQotICAgYCh0cmFz aGVkLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkpKQ0KLSAg IGAodHJhc2hlZC1yZXN0b3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNl bCkpKQ0KLSAgIGAodHJhc2hlZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi07Ozs7OyB0cmVlbWFjcw0KLSAgIGAodHJlZW1hY3MtZGly ZWN0b3J5LWNvbGxhcHNlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLSAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQt ZGlyZWN0b3J5KSkpDQotICAgYCh0cmVlbWFjcy1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWZyaW5nZS1pbmRpY2F0b3ItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LWFkZGVkLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKHRyZWVtYWNz LWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCBib2xkKSkpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0cmVlbWFjcy1naXQtbW9kaWZpZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAodHJlZW1hY3Mt Z2l0LXJlbmFtZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKHRyZWVtYWNzLWdpdC11bm1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAodHJlZW1hY3MtaGVscC1jb2x1bW4t ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYCh0cmVlbWFjcy1o ZWxwLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQot ICAgYCh0cmVlbWFjcy1vbi1mYWlsdXJlLXB1bHNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHRyZWVtYWNzLW9uLXN1Y2Nlc3MtcHVsc2Ut ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAg YCh0cmVlbWFjcy1yb290LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIgOmhlaWdodCAxLjIgOnVuZGVybGluZSB0KSkpDQotICAgYCh0cmVlbWFj cy1yb290LXJlbW90ZS1kaXNjb25uZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFj cy1yb290LXJlbW90ZS1mYWNlIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHRyZWVtYWNz LXJvb3QtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNlIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh0cmVlbWFjcy1yb290LXJlbW90ZS11bnJlYWRh YmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC11bnJlYWRhYmxlLWZhY2Up KSkNCi0gICBgKHRyZWVtYWNzLXJvb3QtdW5yZWFkYWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IHRyZWVtYWNzLXJvb3QtZmFjZSA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAodHJlZW1hY3Mt dGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAodHJlZW1h Y3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7 IHR0eS1tZW51DQotICAgYCh0dHktbWVudS1kaXNhYmxlZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHR5LW1lbnUtZW5hYmxl ZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHR5LW1lbnUtc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi07Ozs7OyB0dWFyZWcNCi0gICBg KGNhbWwtdHlwZXMtZGVmLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LXJlZCkpKQ0KLSAgIGAoY2FtbC10eXBlcy1leHByLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChjYW1sLXR5cGVzLW9jYy1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoY2FtbC10eXBl cy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkp DQotICAgYChjYW1sLXR5cGVzLXR5cGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHR1YXJlZy1mb250LWRvdWJsZS1zZW1pY29sb24t ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFs dCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1hdHRyaWJ1dGUtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFn ZW50YS1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stY29uc3RydWN0b3ItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1l cnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xk KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1leHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHR1YXJl Zy1mb250LWxvY2stZ292ZXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbmZpeC1leHRlbnNpb24t bm9kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2Nr LWludGVyYWN0aXZlLWRpcmVjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2staW50ZXJhY3RpdmUtZXJyb3ItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZCByZWQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVy YWN0aXZlLW91dHB1dC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQot ICAgYCh0dWFyZWctZm9udC1sb2NrLWxhYmVsLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAodHVhcmVnLWZvbnQtbG9jay1saW5lLW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stbW9kdWxlLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBt YWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stbXVsdGlzdGFnZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQt bG9jay1vcGVyYXRvci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctb3BhbS1lcnJvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVkLWZhaW50KSkpKQ0KLSAg IGAodHVhcmVnLW9wYW0tcGtnLXZhcmlhYmxlLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLTs7Ozs7IHR5cGVzY3JpcHQNCi0gICBgKHR5cGVzY3JpcHQtanNkb2MtdGFn ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAodHlwZXNjcmlwdC1qc2RvYy10eXBlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNhbG0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAo dHlwZXNjcmlwdC1qc2RvYy12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyB1bmRvLXRyZWUNCi0gICBg KHVuZG8tdHJlZS12aXN1YWxpemVyLWFjdGl2ZS1icmFuY2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXpl ci1jdXJyZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAg IGAodW5kby10cmVlLXZpc3VhbGl6ZXItZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLXJlZ2lzdGVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAodW5kby10cmVlLXZp c3VhbGl6ZXItdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRl bnNlKSkpDQotOzs7OzsgdmMgKHZjLWhvb2tzLmVsKQ0KLSAgIGAodmMtY29uZmxpY3Qtc3RhdGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAodmMtZWRpdGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWN0aXZlKSkpDQotICAgYCh2Yy1sb2NhbGx5LWFkZGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAodmMtbG9ja2VkLXN0YXRlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAodmMtbWlzc2luZy1zdGF0ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAodmMtbmVlZHMtdXBkYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h Y3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodmMtcmVtb3ZlZC1zdGF0 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAodmMtc3RhdGUtYmFz ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYCh2Yy11cC10by1kYXRl LXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyB2 ZGlmZg0KLSAgIGAodmRpZmYtYWRkaXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1kaWZmLWFkZGVkKSkpDQotICAgYCh2ZGlmZi1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQpKSkNCi0gICBgKHZkaWZmLWNsb3NlZC1mb2xk LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5k ICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAodmRpZmYtcmVmaW5lLWFkZGVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYCh2ZGlmZi1y ZWZpbmUtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1j aGFuZ2VkKSkpDQotICAgYCh2ZGlmZi1zdWJ0cmFjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLSAgIGAodmRpZmYtdGFyZ2V0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotOzs7OzsgdmltaXNo LWZvbGQNCi0gICBgKHZpbWlzaC1mb2xkLWZyaW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hY3RpdmUpKSkNCi0gICBgKHZpbWlzaC1mb2xkLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYCh2aW1pc2gtZm9sZC1vdmVybGF5 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLTs7Ozs7IHZpc2libGUtbWFyaw0KLSAgIGAodmlzaWJsZS1tYXJrLWFjdGl2ZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnKSkpDQotICAgYCh2aXNpYmxlLW1hcmst ZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAodmlz aWJsZS1tYXJrLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZS1iZykp KQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQg LG1hZ2VudGEtaW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTIg KCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkNCi07Ozs7OyB2aXN1YWwt cmVnZXhwDQotICAgYCh2ci9ncm91cC0wICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtYmx1ZSkpKQ0KLSAgIGAodnIvZ3JvdXAtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHZyL2dyb3VwLTIgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAodnIvbWF0Y2gtMCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYCh2ci9tYXRjaC0x ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKHZy L21hdGNoLXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLW5ldXRyYWwgYm9sZCkpKSkNCi07Ozs7OyB2b2xhdGlsZS1oaWdobGlnaHRzDQotICAgYCh2 aGwvZGVmYXVsdC1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAy NykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dy b3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi07Ozs7OyB2dGVybQ0K LSAgIGAodnRlcm0tY29sb3ItYmxhY2sgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXkzNSIgOmZv cmVncm91bmQgImdyYXkzNSIpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWN5 YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KHZ0ZXJtLWNvbG9yLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWlu dmVyc2UtdmlkZW8gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmludmVyc2UtdmlkZW8g dCkpKQ0KLSAgIGAodnRlcm0tY29sb3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFn ZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodnRlcm0tY29sb3ItcmVkICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAodnRlcm0tY29s b3ItdW5kZXJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnVuZGVy bGluZSB0KSkpDQotICAgYCh2dGVybS1jb2xvci13aGl0ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAi Z3JheTY1IiA6Zm9yZWdyb3VuZCAiZ3JheTY1IikpKQ0KLSAgIGAodnRlcm0tY29sb3IteWVsbG93 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7 Ozs7IHdjaGVjay1tb2RlDQotICAgYCh3Y2hlY2stZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotOzs7Ozsgd2ViLW1vZGUNCi0gICBgKHdlYi1t b2RlLWFubm90YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZh Y2UpKSkNCi0gICBgKHdlYi1tb2RlLWFubm90YXRpb24taHRtbC1mYWNlICgoLGNsYXNzIDppbmhl cml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi10 YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UgOnVuZGVybGlu ZSB0KSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1hdHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAgYCh3 ZWItbW9kZS1ibG9jay1hdHRyLXZhbHVlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAod2ViLW1vZGUtYmxvY2stY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1t b2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stY29udHJvbC1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRh LWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxv Y2stZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KHdlYi1tb2RlLWJsb2NrLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAg IGAod2ViLW1vZGUtYmxvY2stc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUt c3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkKSkpDQotICAgYCh3ZWItbW9kZS1idWlsdGluLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13 ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3ZWItbW9kZS1j b21tZW50LWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxi Zy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS1jb25zdGFudC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9k ZS1jc3MtYXQtcnVsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ymx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1j c3MtY29sb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRh LWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWIt bW9kZS1jc3MtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQt ZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLWZ1bmN0aW9uLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXByaW9yaXR5LWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFsdCB5ZWxsb3ct YWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1w cm9wZXJ0eS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtcHNldWRvLWNsYXNz LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0 LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXNlbGVj dG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1h bHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkp KQ0KLSAgIGAod2ViLW1vZGUtY3NzLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1t b2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtdmFyaWFibGUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYCh3ZWItbW9kZS1jdXJy ZW50LWNvbHVtbi1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkp DQotICAgYCh3ZWItbW9kZS1jdXJyZW50LWVsZW1lbnQtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYCh3ZWItbW9kZS1kb2N0 eXBlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3ZWItbW9kZS1lcnJvci1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYCh3ZWItbW9kZS1maWx0ZXIt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFp bnQpKSkpDQotICAgYCh3ZWItbW9kZS1mb2xkZWQtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKHdlYi1tb2RlLWZ1bmN0aW9uLWNhbGwtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2Vi LW1vZGUtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0 dHItY3VzdG9tLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1lbmdpbmUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1h dHRyLWVxdWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdl Yi1tb2RlLWh0bWwtYXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHIt dmFsdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVl LWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwt ZW50aXR5LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ct YWx0LW90aGVyIHllbGxvdy1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHdl Yi1tb2RlLWh0bWwtdGFnLWJyYWNrZXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy1jdXN0b20tZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS1odG1sLXRhZy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctbmFt ZXNwYWNlZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctdW5jbG9zZWQtZmFjZSAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZCByZWQtZmFpbnQpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAod2ViLW1vZGUtaW5sYXktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkp DQotICAgYCh3ZWItbW9kZS1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQot ICAgYCh3ZWItbW9kZS1qYXZhc2NyaXB0LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3 ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWphdmFzY3JpcHQtc3RyaW5n LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdl Yi1tb2RlLWpzb24tY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1l bnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtanNvbi1jb250ZXh0LWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQp KSkpDQotICAgYCh3ZWItbW9kZS1qc29uLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLW51YW5jZWQpKSkNCi0gICBgKHdlYi1tb2RlLWpzb24tc3RyaW5nLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0 aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KHdlYi1tb2RlLWpzeC1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNp YWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh3ZWItbW9kZS1q c3gtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LGJsdWUtcmVmaW5lLWZnKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtNS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAg IGAod2ViLW1vZGUta2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtcGFyYW0tbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWIt bW9kZS1wYXJ0LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50 LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWIt bW9kZS1ibG9jay1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1wYXJ0LXN0cmluZy1mYWNlICgoLGNs YXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1wcmVw cm9jZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQt YWx0LW90aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1zY3JpcHQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCi0gICBgKHdlYi1t b2RlLXNxbC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1zdHJpbmctZmFjZSAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWludCkpKSkN Ci0gICBgKHdlYi1tb2RlLXN0eWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtcGFy dC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1zeW1ib2wtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0g ICBgKHdlYi1tb2RlLXR5cGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS11bmRlcmxpbmUt ZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLXZhcmlhYmxlLW5h bWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFu LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1h bHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS13aGl0ZXNwYWNlLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2Up KSkNCi07Ozs7OyB3Z3JlcA0KLSAgIGAod2dyZXAtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAod2dyZXAtZG9uZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYCh3Z3JlcC1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KLSAgIGAo d2dyZXAtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKHdncmVwLXJlamVjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1p bnRlbnNlLXJlZCBib2xkKSkpKQ0KLTs7Ozs7IHdoaWNoLWZ1bmN0aW9uLW1vZGUNCi0gICBgKHdo aWNoLWZ1bmMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7Ozsg d2hpY2gta2V5DQotICAgYCh3aGljaC1rZXktY29tbWFuZC1kZXNjcmlwdGlvbi1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYCh3aGljaC1rZXktZ3JvdXAtZGVzY3JpcHRp b24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHdoaWNo LWtleS1oaWdobGlnaHRlZC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2hpY2gta2V5LWtleS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAod2hpY2gta2V5 LWxvY2FsLW1hcC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYCh3aGljaC1rZXktbm90ZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAod2hpY2gta2V5LXNlcGFy YXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHdoaWNoLWtl eS1zcGVjaWFsLWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHll bGxvdy1pbnRlbnNlKSkpDQotOzs7Ozsgd2hpdGVzcGFjZS1tb2RlDQotICAgYCh3aGl0ZXNwYWNl LWJpZy1pbmRlbnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0K LSAgIGAod2hpdGVzcGFjZS1lbXB0eSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLW1hZ2VudGEpKSkNCi0gICBgKHdoaXRlc3BhY2UtaHNwYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3 aGl0ZXNwYWNlLWluZGVudGF0aW9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNl IDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLWxpbmUgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQotICAgYCh3aGl0ZXNw YWNlLW5ld2xpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91 bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2Utc3BhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0g ICBgKHdoaXRlc3BhY2Utc3BhY2UtYWZ0ZXItdGFiICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYCh3aGl0ZXNwYWNlLXNwYWNlLWJlZm9yZS10YWIg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKHdoaXRl c3BhY2UtdGFiICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5k ICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLXRyYWlsaW5nICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7Ozsgd2luZG93LWRpdmlkZXIt bW9kZQ0KLSAgIGAod2luZG93LWRpdmlkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRv dy1kaXZpZGVyLWlubmVyKSkpDQotICAgYCh3aW5kb3ctZGl2aWRlci1maXJzdC1waXhlbCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCi0gICBgKHdpbmRv dy1kaXZpZGVyLWxhc3QtcGl4ZWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZp ZGVyLW91dGVyKSkpDQotOzs7Ozsgd2ludW0NCi0gICBgKHdpbnVtLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZl KSkpDQotOzs7Ozsgd3JpdGVnb29kLW1vZGUNCi0gICBgKHdyaXRlZ29vZC1kdXBsaWNhdGVzLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkLWFsdCA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKHdyaXRlZ29vZC1wYXNzaXZlLXZvaWNlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctd2FybmluZykp KQ0KLSAgIGAod3JpdGVnb29kLXdlYXNlbHMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LW51YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IHdvbWFuDQotICAg YCh3b21hbi1hZGRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKHdvbWFuLWJvbGQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAod29tYW4taXRhbGljICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHdvbWFuLXVua25vd24gKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdyA6c2xhbnQgaXRhbGljKSkpDQotOzs7OzsgeGFoLWVsaXNwLW1vZGUNCi0gICBg KHhhaC1lbGlzcC1hdC1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVk LWFsdC1mYWludCkpKSkNCi0gICBgKHhhaC1lbGlzcC1jYXAtdmFyaWFibGUgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0LW90aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQp KSkpDQotICAgYCh4YWgtZWxpc3AtY29tbWFuZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAg YCh4YWgtZWxpc3AtZG9sbGFyLXN5bWJvbCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBncmVlbiBncmVlbi1mYWludCkpKSkNCi07Ozs7OyB4cmVmDQotICAgYCh4cmVmLWZpbGUt aGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAoeHJlZi1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYCh4cmVmLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNoKSkpDQotOzs7Ozsg eWFtbC1tb2RlDQotICAgYCh5YW1sLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWludGVuc2UtcmVkKSkpDQotOzs7OzsgeWFzbmlwcGV0DQotICAgYCh5YXMtZmllbGQtaGln aGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLTs7Ozs7IHp0cmVlDQotICAgYCh6dHJlZXAtYXJyb3ctZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHp0cmVlcC1kaWZmLWhlYWRlci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtaGVhZGVyLXNtYWxsLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYCh6dHJl ZXAtZGlmZi1tb2RlbC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKHp0cmVlcC1kaWZmLW1vZGVsLWRpZmYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk KSkpDQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1pZ25vcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtbW9k ZWwtbm9ybWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoenRy ZWVwLWV4cGFuZC1zaWduLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBg KHp0cmVlcC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHp0cmVlcC1sZWFmLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHp0cmVlcC1ub2RlLWNvdW50LWNoaWxk cmVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo enRyZWVwLW5vZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKSkNCi07Ozs7 IEVtYWNzIDI3Kw0KLSAgKHdoZW4gKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpDQotICAgIChj dXN0b20tdGhlbWUtc2V0LWZhY2VzDQotICAgICAnbW9kdXMtdml2ZW5kaQ0KLTs7Ozs7IGxpbmUg bnVtYmVycyAoYGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUnIGFuZCBnbG9iYWwgdmFyaWFudCkN Ci0gICAgIDs7IE5PVEUgdGhhdCB0aGlzIGlzIHNwZWNpZmljYWxseSBmb3IgdGhlIGZhY2VzIHRo YXQgd2VyZQ0KLSAgICAgOzsgaW50cm9kdWNlZCBpbiBFbWFjcyAyNywgYXMgdGhlIG90aGVyIGZh Y2VzIGFyZSBhbHJlYWR5DQotICAgICA7OyBzdXBwb3J0ZWQuDQotICAgICBgKGxpbmUtbnVtYmVy LW1ham9yLXRpY2sgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZGVmYXVsdCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQt YmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAs eWVsbG93LW51YW5jZWQpKSkNCi0gICAgIGAobGluZS1udW1iZXItbWlub3ItdGljayAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IHRh Yi1iYXItbW9kZQ0KLSAgICAgYCh0YWItYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWIt YmFyIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1iYXItdGFiICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1iYXItdGFiLWluYWN0aXZlICgo LGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5h Y3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IHRhYi1saW5lLW1vZGUNCi0gICAg IGAodGFiLWxpbmUgKCgsY2xhc3MgOmhlaWdodCAwLjk1IDpiYWNrZ3JvdW5kICxiZy10YWItYmFy IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1saW5lLWNsb3NlLWhpZ2hsaWdo dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgICBgKHRhYi1saW5lLWhpZ2hsaWdo dCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRp bSkpKQ0KLSAgICAgYCh0YWItbGluZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6 bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgICBgKHRhYi1saW5lLXRhYi1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0IHRhYi1s aW5lLXRhYikpKQ0KLSAgICAgYCh0YWItbGluZS10YWItaW5hY3RpdmUgKCgsY2xhc3MgOmJveCAo OmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1pbmFjdGl2ZSkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVn cm91bmQgLGZnLWRpbSkpKSkpDQotOzs7OyBFbWFjcyAyOCsNCi0gICh3aGVuICg+PSBlbWFjcy1t YWpvci12ZXJzaW9uIDI4KQ0KLSAgICAoY3VzdG9tLXRoZW1lLXNldC1mYWNlcw0KLSAgICAgJ21v ZHVzLXZpdmVuZGkNCi07Ozs7OyBpc2VhcmNoIHJlZ2V4cCBncm91cHMNCi0gICAgIGAoaXNlYXJj aC1ncm91cC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0K LSAgICAgYChpc2VhcmNoLWdyb3VwLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhKSkpKSkNCi07OzsgdmFyaWFibGVzDQotICAoY3VzdG9tLXRoZW1lLXNldC12 YXJpYWJsZXMNCi0gICAnbW9kdXMtdml2ZW5kaQ0KLTs7OzsgYW5zaS1jb2xvcnMNCi0gICBgKGFu c2ktY29sb3ItZmFjZXMtdmVjdG9yIFtkZWZhdWx0IGJvbGQgc2hhZG93IGl0YWxpYyB1bmRlcmxp bmUgc3VjY2VzcyB3YXJuaW5nIGVycm9yXSkNCi0gICBgKGFuc2ktY29sb3ItbmFtZXMtdmVjdG9y IFssYmctbWFpbiAscmVkICxncmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFuICxmZy1t YWluXSkNCi07Ozs7IGF3ZXNvbWUtdHJheQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZGUtbGluZS1h Y3RpdmUtY29sb3IgLGJsdWUpDQotICAgYChhd2Vzb21lLXRyYXktbW9kZS1saW5lLWluYWN0aXZl LWNvbG9yICxiZy1hY3RpdmUpDQotOzs7OyBmbHltYWtlIGZyaW5nZSBpbmRpY2F0b3JzDQotICAg YChmbHltYWtlLWVycm9yLWJpdG1hcCAnKGZseW1ha2UtZG91YmxlLWV4Y2xhbWF0aW9uLW1hcmsg bW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpDQotICAgYChmbHltYWtlLXdhcm5pbmctYml0bWFwICco ZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkNCi0gICBgKGZseW1h a2Utbm90ZS1iaXRtYXAgJyhleGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFu KSkNCi07Ozs7IGlidWZmZXINCi0gICBgKGlidWZmZXItZGVsZXRpb24tZmFjZSAnbW9kdXMtdGhl bWUtbWFyay1kZWwpDQotICAgYChpYnVmZmVyLWZpbHRlci1ncm91cC1uYW1lLWZhY2UgJ21vZHVz LXRoZW1lLW1hcmstc3ltYm9sKQ0KLSAgIGAoaWJ1ZmZlci1tYXJrZWQtZmFjZSAnbW9kdXMtdGhl bWUtbWFyay1zZWwpDQotICAgYChpYnVmZmVyLXRpdGxlLWZhY2UgJ21vZHVzLXRoZW1lLXBzZXVk by1oZWFkZXIpDQotOzs7OyBoaWdobGlnaHQtdGFpbA0KLSAgIGAoaGlnaGxpZ2h0LXRhaWwtY29s b3JzDQotICAgICAnKCgsZ3JlZW4tc3VidGxlLWJnIC4gMCkNCi0gICAgICAgKCxjeWFuLXN1YnRs ZS1iZyAuIDIwKSkpDQotOzs7OyBobC10b2RvDQotICAgYChobC10b2RvLWtleXdvcmQtZmFjZXMN Ci0gICAgICcoKCJIT0xEIiAuICx5ZWxsb3ctYWx0KQ0KLSAgICAgICAoIlRPRE8iIC4gLG1hZ2Vu dGEpDQotICAgICAgICgiTkVYVCIgLiAsbWFnZW50YS1hbHQtb3RoZXIpDQotICAgICAgICgiVEhF TSIgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICgiUFJPRyIgLiAsY3lhbikNCi0gICAgICAgKCJP S0FZIiAuICxjeWFuLWFsdCkNCi0gICAgICAgKCJET05UIiAuICxncmVlbi1hbHQpDQotICAgICAg ICgiRkFJTCIgLiAscmVkKQ0KLSAgICAgICAoIkJVRyIgLiAscmVkKQ0KLSAgICAgICAoIkRPTkUi IC4gLGdyZWVuKQ0KLSAgICAgICAoIk5PVEUiIC4gLHllbGxvdy1hbHQtb3RoZXIpDQotICAgICAg ICgiS0xVREdFIiAuICx5ZWxsb3cpDQotICAgICAgICgiSEFDSyIgLiAseWVsbG93KQ0KLSAgICAg ICAoIlRFTVAiIC4gLHJlZC1udWFuY2VkKQ0KLSAgICAgICAoIkZJWE1FIiAuICxyZWQtYWx0LW90 aGVyKQ0KLSAgICAgICAoIlhYWCsiIC4gLHJlZC1hbHQpDQotICAgICAgICgiUkVWSUVXIiAuICxj eWFuLWFsdC1vdGhlcikNCi0gICAgICAgKCJERVBSRUNBVEVEIiAuICxibHVlLW51YW5jZWQpKSkN Ci07Ozs7IHZjLWFubm90YXRlIChDLXggdiBnKQ0KLSAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3Vu ZCBuaWwpDQotICAgYCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUgbmlsKQ0KLSAgIGAodmMt YW5ub3RhdGUtY29sb3ItbWFwDQotICAgICAnKCgyMCAuICxyZWQpDQotICAgICAgICg0MCAuICxt YWdlbnRhKQ0KLSAgICAgICAoNjAgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICg4MCAuICxyZWQt YWx0KQ0KLSAgICAgICAoMTAwIC4gLHllbGxvdykNCi0gICAgICAgKDEyMCAuICx5ZWxsb3ctYWx0 KQ0KLSAgICAgICAoMTQwIC4gLGZnLXNwZWNpYWwtd2FybSkNCi0gICAgICAgKDE2MCAuICxmZy1z cGVjaWFsLW1pbGQpDQotICAgICAgICgxODAgLiAsZ3JlZW4pDQotICAgICAgICgyMDAgLiAsZ3Jl ZW4tYWx0KQ0KLSAgICAgICAoMjIwIC4gLGN5YW4tYWx0LW90aGVyKQ0KLSAgICAgICAoMjQwIC4g LGN5YW4tYWx0KQ0KLSAgICAgICAoMjYwIC4gLGN5YW4pDQotICAgICAgICgyODAgLiAsZmctc3Bl Y2lhbC1jb2xkKQ0KLSAgICAgICAoMzAwIC4gLGJsdWUpDQotICAgICAgICgzMjAgLiAsYmx1ZS1h bHQpDQotICAgICAgICgzNDAgLiAsYmx1ZS1hbHQtb3RoZXIpDQotICAgICAgICgzNjAgLiAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHZjLWFubm90YXRlLXZlcnktb2xkLWNvbG9yIG5pbCkN Ci07Ozs7IHh0ZXJtLWNvbG9yDQotICAgYCh4dGVybS1jb2xvci1uYW1lcyBbLGJnLW1haW4gLHJl ZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50YSAsY3lhbiAsZmctYWx0XSkNCi0gICBgKHh0 ZXJtLWNvbG9yLW5hbWVzLWJyaWdodCBbLGJnLWFsdCAscmVkLWFsdCAsZ3JlZW4tYWx0ICx5ZWxs b3ctYWx0ICxibHVlLWFsdCAsbWFnZW50YS1hbHQgLGN5YW4tYWx0ICxmZy1tYWluXSkpDQotOzs7 IENvbmRpdGlvbmFsIHRoZW1lIHZhcmlhYmxlcw0KLTs7Ozsgb3JnLXNyYy1ibG9jay1mYWNlcw0K LSAgOzsgdGhpcyBpcyBhIHVzZXIgb3B0aW9uIHRvIGFkZCBhIGNvbG91ci1jb2RlZCBiYWNrZ3Jv dW5kIHRvIHNvdXJjZQ0KLSAgOzsgYmxvY2tzIGZvciB2YXJpb3VzIHByb2dyYW1taW5nIGxhbmd1 YWdlcw0KLSAgKHdoZW4gKGVxIG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcyAncmFpbmJv dykNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtdmFyaWFibGVzDQotICAgICAnbW9kdXMtdml2ZW5k aQ0KLSAgICAgYChvcmctc3JjLWJsb2NrLWZhY2VzICAgICAgICAgICAgICA7IFRPRE8gdGhpcyBs aXN0IHNob3VsZCBiZSBleHBhbmRlZA0KLSAgICAgICBgKCgiZW1hY3MtbGlzcCIgbW9kdXMtdGhl bWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiZWxpc3AiIG1vZHVzLXRoZW1lLW51YW5j ZWQtbWFnZW50YSkNCi0gICAgICAgICAoImNsb2p1cmUiIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YSkNCi0gICAgICAgICAoImNsb2p1cmVzY3JpcHQiIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YSkNCi0gICAgICAgICAoImMiIG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSkNCi0gICAgICAg ICAoImMrKyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlKQ0KLSAgICAgICAgICgic2giIG1vZHVz LXRoZW1lLW51YW5jZWQtZ3JlZW4pDQotICAgICAgICAgKCJzaGVsbCIgbW9kdXMtdGhlbWUtbnVh bmNlZC1ncmVlbikNCi0gICAgICAgICAoImh0bWwiIG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93 KQ0KLSAgICAgICAgICgieG1sIiBtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdykNCi0gICAgICAg ICAoImNzcyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQpDQotICAgICAgICAgKCJzY3NzIiBtb2R1 cy10aGVtZS1udWFuY2VkLXJlZCkNCi0gICAgICAgICAoInB5dGhvbiIgbW9kdXMtdGhlbWUtbnVh bmNlZC1ncmVlbikNCi0gICAgICAgICAoImlweXRob24iIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YSkNCi0gICAgICAgICAoInIiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAgICAg ICAoInlhbWwiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAgICAgICAoImNvbmYiIG1v ZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAgICAgICAoImRvY2tlciIgbW9kdXMtdGhlbWUt bnVhbmNlZC1jeWFuKQ0KLSAgICAgICAgICgianNvbiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFu KSkpKSkpDQorKGRlZnRoZW1lIG1vZHVzLXZpdmVuZGkNCisgICJBY2Nlc3NpYmxlIGFuZCBjdXN0 b21pemFibGUgbGlnaHQgdGhlbWUgKFdDQUcgQUFBIHN0YW5kYXJkKS4NCitDb25mb3JtcyB3aXRo IHRoZSBoaWdoZXN0IGxlZ2liaWxpdHkgc3RhbmRhcmQgZm9yIGNvbG9yIGNvbnRyYXN0DQorYmV0 d2VlbiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGluIGFueSBnaXZlbiBwaWVjZSBvZiB0ZXh0 LA0KK3doaWNoIGNvcnJlc3BvbmRzIHRvIGEgbWluaW11bSBjb250cmFzdCBpbiByZWxhdGl2ZSBs dW1pbmFuY2Ugb2YNCis3OjEuIikNCiANCi07OzsgbGlicmFyeSBwcm92aWRlcw0KLTs7OyMjI2F1 dG9sb2FkDQotKHdoZW4gbG9hZC1maWxlLW5hbWUNCi0gIChhZGQtdG8tbGlzdCAnY3VzdG9tLXRo ZW1lLWxvYWQtcGF0aA0KLSAgICAgICAgICAgICAgIChmaWxlLW5hbWUtYXMtZGlyZWN0b3J5IChm aWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1uYW1lKSkpKQ0KKyhtb2R1cy10aGVtZXMtdGhl bWUgbW9kdXMtdml2ZW5kaSkNCiANCiAocHJvdmlkZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkNCiAN Ci0ocHJvdmlkZSAnbW9kdXMtdml2ZW5kaS10aGVtZSkNCi0NCiA7OzsgbW9kdXMtdml2ZW5kaS10 aGVtZS5lbCBlbmRzIGhlcmUNCi0tIA0KMi4zMC4xDQoNCg== --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=20210304_162534--emacs--post-on-emacs-devel-about-update-to-the-modus-themes.txt title: Post on emacs-devel about update to the Modus themes date: 2021-03-04 category: Emacs orig_name: ~/Documents/notes/20210304_162534--emacs--post-on-emacs-devel-about-update-to-the-modus-themes.txt orig_id: 20210304_162534 ------------------------ The following is meant to be sent to emacs-devel on the occasion of the upgrade of the Modus themes to their version 1.2.0. * * * Subject: Major changes for the Modus themes (modus-operandi, modus-vivendi) Hello everyone, A few months ago the themes 'modus-operandi' and 'modus-vivendi' became part of Emacs. These "Modus themes" are designed to meet the highest accessibility standard for legibility (WCAG AAA), which is quantified as a minimum ratio of 7:1 contrast in relative luminance between any given combination of background and foreground colours. In short: every piece of text should be readable. The version that was in Emacs until recently was '0.13.0'. In trunk we now provide version '1.2.0', which is three releases ahead. As this is a major transition, it is pertinent to warn existing users about some breaking yet necessary changes, as well as inform them about the current state of affairs. 1 Customisation options ----------------------- In the past the themes were maintained as standalone files. This meant that customisations were specific to each theme. For example: (setq modus-operandi-bold-constructs t) (setq modus-operandi-slanted-constructs t) (setq modus-vivendi-bold-constructs t) (setq modus-vivendi-slanted-constructs t) This was inconvenient for users of both items, while maintaining separate files was becoming increasingly difficult for development. The new version derives the two themes from a common source and thus unifies their customisation options. The above variables are replaced by those: (setq modus-themes-bold-constructs t) (setq modus-themes-slanted-constructs t) Same principle for all customisations, of which there are plenty (not everything is a boolean). The values that could be passed to some older variables have been revised. For example, changing the fringe's background used to be a boolean but now is a choice. Please consult the themes' manual: (info "(modus-themes) Top") Or go directly to: (info "(modus-themes) Customization Options") 2 Palette overrides ------------------- While all customisation options are unified, there remains one exception: the alists 'modus-themes-operandi-color-overrides' and 'modus-themes-vivendi-color-overrides'. Those are specific to the item they reference. Both variables are intended for "do-it-yourself" cases where the user wishes to replace some colour values with their own (e.g. to change the main background colour of 'modus-operandi' from white to a light ochre). Again this topic is expanded upon in the manual and there even are palette subsets furnished therein that retain the accessibility target, if one does indeed wish to refashion the themes. 3 Shared functions and commands ------------------------------- [ All of the following are discussed at length in the manual. ] Users of both themes can now bind the command 'modus-themes-toggle': it switches between the two items if either of them is active, else it prompts with completion for one among them. To retrieve a single value from the palette of the active Modus theme one can use 'modus-themes-color'. There is also a variant called 'modus-themes-color-alts'. Consult their doc strings. The macro 'modus-themes-with-colors' can be employed to access all of the active theme's palette. The function 'modus-themes-contrast' measures the relative luminance between two colour values expressed in hexadecimal RGB notation. It implements the 'modus-themes-wcag-formula'.[1] Comparing two colours returns a number which is between 1 and 21. Our target is 7 or higher. This is useful on its own, like this: (modus-themes-contrast "#ffffff" "#000000") But also for formulas in Org tables (using 'org-mode' or 'orgtbl-mode'): #+begin_src emacs-lisp (defalias 'L 'modus-themes-contrast) #+end_src | | #ffffff | #f0f0f0 | |---------+---------+---------| | #8f0075 | 8.66 | 7.60 | | #5317ac | 10.07 | 8.83 | | #0031a9 | 10.44 | 9.16 | #+TBLFM: $2='(L $1 @1$2);%0.2f :: $3='(L $1 @1$3);%0.2f [1]: . 4 Further reading ----------------- The CHANGELOG of the themes is not distributed with Emacs (development is still done externally). Please consult the recent entries on my website (no javascript required): + 1.0.0 :: . + 1.1.0 :: . + 1.2.0 :: . These amount to around 7500 words, though the aforementioned should be enough to get you started. Thank you for your attention! --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 04 10:48:21 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 15:48:21 +0000 Received: from localhost ([127.0.0.1]:59958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHqCv-0008RD-I9 for submit@debbugs.gnu.org; Thu, 04 Mar 2021 10:48:21 -0500 Received: from mail-wr1-f43.google.com ([209.85.221.43]:39503) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHqCq-0008QS-FO for 45068@debbugs.gnu.org; Thu, 04 Mar 2021 10:48:08 -0500 Received: by mail-wr1-f43.google.com with SMTP id b18so21696046wrn.6 for <45068@debbugs.gnu.org>; Thu, 04 Mar 2021 07:48:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=fjnOcI2uVyWV/CNPCkj3jYPtZTMD5o94boKuSngXNsk=; b=blX2I94G0qSaIh9511kkgdBb0P9fDsQFT19VTiZ3+Hh7fq48vD7VLYNQ5GY/pm7WUu 3GQt28P/E2JXegSnEvQ7EurdQNt3guXmtX9C8TO6fZU9LEn0D4HPS2egda/p6dyn64PF kH14lSYE0Og+uu4T6WdhjmfUOYyXbOe7rQ4uquV5aHaqSR91naPRkUt8JL3RCJRh3qiw JmmIpuFaochsJShBZGA90CxivRU9EAMyFjxYMCFstO0xjzw1HAAvicLNeICi5UmT5gmp iwgQWg62CTyTbvH0BdmwWmKqGyk225v9oa3SOueF+SL18W2iEi6ncAZHr16JB4aZV7hT whrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=fjnOcI2uVyWV/CNPCkj3jYPtZTMD5o94boKuSngXNsk=; b=tT6hmy9s3ABJ+wR5XihWmHMW6MV+Hj2qL6Xaif4tjUUNlI1n4CBRRFctHELYLB4+BC zlBJsj4IFEAwW54WNE7lUd5FjzGXKVevkG3Rq6Lo7tU0XV7Dx5qua5oxMMECLa3MdENt M9OaCfaI5TG0hzSK4BzBG378qTkwdQelaEAZIDaRd+DWXU2CLhCflbmUDqsrY0qaAZDl cRmZBuRQXYttBfzl6FyMR+9JIs09XEgSbDcpFr0uxT3i1KaBk5TSBUqasVmGQUMqJS/c ogxya0CbEfe9Tqpg+TVVtm801A5G5hrmII0KWnFoHUGB15ZAYeEQ63JN2OLI6DRSvqdr 2xag== X-Gm-Message-State: AOAM5300myBKbum3Z/WGnAi7cgwTv+SW+7SHDDRXk2T4MyQffdaCPCNA t9q6TD4A6mhJW6H51FRny5z5dQ== X-Google-Smtp-Source: ABdhPJz+buPlXpqofrR/xBxlrSaBKgZgBsN7I1zdTX4gR0wZ/he0CxL+oifeqgeKxx2FyagfSl1IGQ== X-Received: by 2002:adf:f889:: with SMTP id u9mr4644732wrp.180.1614872878596; Thu, 04 Mar 2021 07:47:58 -0800 (PST) Received: from localhost ([51.37.98.190]) by smtp.gmail.com with ESMTPSA id d7sm8036900wrs.42.2021.03.04.07.47.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Mar 2021 07:47:57 -0800 (PST) From: "Basil L. Contovounesios" To: Mauro Aranda Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83im9814oh.fsf@gnu.org> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> Date: Thu, 04 Mar 2021 15:47:55 +0000 In-Reply-To: <6040d37e.1c69fb81.63467.ad62@mx.google.com> (Mauro Aranda's message of "Thu, 04 Mar 2021 09:32:58 -0300") Message-ID: <874khqsyxg.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: Protesilaos Stavrou , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Mauro Aranda writes: > LGTM, thank you. Thanks, pushed. Decouple require-theme from load-theme 8e759d60cc 2021-03-04 15:40:35 +0000 https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=8e759d60cc234d4beb471dbb46f91d8ca3a20066 -- Basil From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 04 11:53:16 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 16:53:17 +0000 Received: from localhost ([127.0.0.1]:60026 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHrDw-0001dJ-N0 for submit@debbugs.gnu.org; Thu, 04 Mar 2021 11:53:16 -0500 Received: from mail-qt1-f177.google.com ([209.85.160.177]:45496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHrDu-0001d5-K4 for 45068@debbugs.gnu.org; Thu, 04 Mar 2021 11:53:15 -0500 Received: by mail-qt1-f177.google.com with SMTP id j3so5204718qtj.12 for <45068@debbugs.gnu.org>; Thu, 04 Mar 2021 08:53:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version; bh=vticDxvEwyXtFvyz82C+adOrqcxFSb6UmqrHowr3mdw=; b=oL6+lquPwFynJL+hvrsJUDNLdaGRQh8GR1GUytbqlhD1LVN3w5tlKd6hRt3q+FF9G5 VjZJKBCYLP1h0TmfYjlQnRitl10kPZrkHIK/gzYZMnrJZV9JJ0ySC1QPOB79HmE+OEKB IALGO3n0g2bYe0uwTa9q9kKA2sc3mCSffEcwwZUZrZvIMhw2Vmgdvh+towE7lE9QIzCN BVNKsPdhlGFPAwrb+SoPMd3tamh74UwyDRJh+z/poG5Awm6sJIgrg3wWghLPeLl/pT7f Qiz4k7s77hX9rTQ1glxeJ9B/imJx87EC2sFUqDOTibr6ZBmbCLufB+KU+N5eRiAdjkqS 4Wzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version; bh=vticDxvEwyXtFvyz82C+adOrqcxFSb6UmqrHowr3mdw=; b=ZW3u+ONROMHG5VaH58qZBezHSFGu2llUU7F+Ax7+dc5Vji/hmRcPfVRfHfoa3jhGYN SGpgiktdPeia1pbqg57oiN9mdIftCMz4nKMSyWawFG3Le5EcpUk5+B0pRVEAxhdyCLU9 rDjvzNqViQzKVHvHX3jpXDOR3FyC0osGOs8gNMhNs+9Oarwt4fNMXXn3rMK0QF283gWh astU/k+K9f0igfYojnxfH3YNeRoAR5ZBu/wwRoDcEgZWoWAs3StDygVmEmNZI1IaXGPb MNzugdRL90vW+inLUTu9/Q1izfOj5ythXfJLeQdCGlhWc8Rei235h9lF8xNWJfXKvd62 xP6g== X-Gm-Message-State: AOAM532kI0JCER939lPf9m8fCffmA6lc1qnup6ugRF4KUwIbrdbMDTt/ R/pdOgRVxMQlXE7oAODtMIbxRWeFOfvs7+Ty X-Google-Smtp-Source: ABdhPJzliokd43h65RGpoLMwgrHVsqca9J0eoUUqdo9UqzNuka9Gb6w3swJs38+2KeVewd6tuN8u2w== X-Received: by 2002:ac8:6687:: with SMTP id d7mr5046466qtp.326.1614876788643; Thu, 04 Mar 2021 08:53:08 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id n23sm19926708qkg.25.2021.03.04.08.53.06 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 04 Mar 2021 08:53:07 -0800 (PST) Message-ID: <60411073.1c69fb81.81b21.cec2@mx.google.com> X-Google-Original-Message-ID: <87sg5aq2rz.fsf_-_@maurooaranda@gmail.com> From: Mauro Aranda To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> Date: Thu, 04 Mar 2021 13:53:04 -0300 In-Reply-To: <87wnun9dgo.fsf_-_@protesilaos.com> (Protesilaos Stavrou's message of "Thu, 04 Mar 2021 16:54:15 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , Eli Zaretskii , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Protesilaos, Protesilaos Stavrou writes: > Hello again! > > As noted earlier, please find attached the patch that upgrades the > themes to their newest version 1.2.0. I tested it with Basil's latest > patch for 'require-theme', though it still works with the variant of > that function currently in trunk. [...] > ;;;###autoload > (when (and (boundp 'custom-theme-load-path) load-file-name) > (add-to-list 'custom-theme-load-path > (file-name-as-directory (file-name-directory load-file-name)))) A nit: I think this code should avoid adding the value of custom-theme-directory or the built-in theme directory name to custom-theme-load-path , if `custom-theme-directory' (for the former) or t (for the latter) are already present in custom-theme-load-path. In particular, a theme distributed with Emacs should at least check for t, to avoid a repeated entry. I've noticed that the leuven theme has a similar code as well: I think that is a (really minor) bug. From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 04 13:41:30 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 18:41:30 +0000 Received: from localhost ([127.0.0.1]:60212 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHsug-0004MH-E3 for submit@debbugs.gnu.org; Thu, 04 Mar 2021 13:41:30 -0500 Received: from mail-wr1-f44.google.com ([209.85.221.44]:39639) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHsue-0004M2-74 for 45068@debbugs.gnu.org; Thu, 04 Mar 2021 13:41:29 -0500 Received: by mail-wr1-f44.google.com with SMTP id b18so22315282wrn.6 for <45068@debbugs.gnu.org>; Thu, 04 Mar 2021 10:41:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=Auy2v7BtxIxadVQnDE6EBWedeE8lPiIKqei4f2RdZVo=; b=DjV4mqLSFOEY6lf760jgZjpgL7VKg8ZoSYu9nL1+dyxJFZd1Xpo9XHlusSAUPYUAdF +Bddafx99zqnct+Dcr6EMLjlP1QCbhcVqpTsaRcx68SvPsYUncITRB95+W43ECMLAlch CRaefBoS0KEOjY+g5XIRUU6tdET4/ZYaqNPHysSig1X8pNLly+ueRe4hS0Dzdg6WisM/ K6QdYRBAL9uwevax3kC9akzzYT1t5VOH1DgFx3tnpEg7uvLzXpjWu0iJHgKs+MX6BSuI bOqc8WUd6hKndiGHRafQobW7fJ9Vq3+LoBdHwQh/MDqDez0v0Z2LmjFDYezTqGJ+ZOE+ o/Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=Auy2v7BtxIxadVQnDE6EBWedeE8lPiIKqei4f2RdZVo=; b=knreGb52RPhJuGWwSYS/DitUj52/9Nv/+VKJzGaeu501zoxJxtVlcI7MCygHqP/VVZ CpE2wfV1xc/HP5feZ8/Txp/7pmBAg2DMmR4RyYtMVPpyuPP6i9O7V8vcQvfXh2OJYE4s dooBIKAJULtTCcYCQyqO+I16kQ6hS6L/bC0xk56hzd1SQk3xrT3fI6x1+osBEmNkhx6B LTYOvh/ptNKTefGc5TZF8hBGHeZ0HOAiWoaEtnqVYhns2PHWnexpDZdlK0Win+z2gG6K 9ccL3RNtYj8qNZFChvFF1nK9YMr55ZDDaz4vUtHqoEL3jmhWZSN2yysY++lfqHMcmlyx Pr2g== X-Gm-Message-State: AOAM532uZjWzfE0rQWwVSHSdNxDF0uu5yUIan4impcXHogri3NhY+wT1 DHtxperIc3xrsT+0LPgqO7KCTg== X-Google-Smtp-Source: ABdhPJzNok3OcI/Kv6c2EE//1dvhwn79hekHq+IhQZi+Q/PLWrfW5X1KqaUXpteoDsWpIpUHfDjT0w== X-Received: by 2002:adf:ed46:: with SMTP id u6mr5457585wro.350.1614883282252; Thu, 04 Mar 2021 10:41:22 -0800 (PST) Received: from localhost ([51.37.98.190]) by smtp.gmail.com with ESMTPSA id p11sm124246wrs.80.2021.03.04.10.41.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Mar 2021 10:41:21 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <87sg6po0yd.fsf_-_@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> Date: Thu, 04 Mar 2021 18:41:19 +0000 In-Reply-To: <87wnun9dgo.fsf_-_@protesilaos.com> (Protesilaos Stavrou's message of "Thu, 04 Mar 2021 16:54:15 +0200") Message-ID: <87ft1aoj74.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > As noted earlier, please find attached the patch that upgrades the > themes to their newest version 1.2.0. I tested it with Basil's latest > patch for 'require-theme', though it still works with the variant of > that function currently in trunk. Thanks, they're looking good! Just a couple of nits from me below. > For your convenience, I also attach a note that I intend to post on > emacs-devel: it warns about the minor backward-incompatible refactoring > of some symbols and offers an overview of what is now available. > +Before you load a theme, it is necessary to require the main library: >=20=20 > #+begin_src emacs-lisp > +(require 'modus-themes) > #+end_src Is this always true? Because M-x load-theme RET modus-{operandi,vivendi} RET works fine here with your patch, and users can set variables even before they're defined - defvar and defcustom only change the symbol's value if it's unbound. Maybe this node should clarify which users/setups/use-cases this applies to? Similarly with other suggestions below like this one: (require 'modus-themes) (require 'modus-operandi-theme) (require 'modus-vivendi-theme) which surely won't work with the built-in themes. > ++ Ideas and user feedback :: Aaron Jensen, Adam Spiers, Adrian Manea, > + Alex Griffin, Alex Peitsinis, Alexey Shmalko, Alok Singh, Anders > + Johansson, Andr=C3=A9 Alexandre Gomes, Arif Rezai, Basil L. Contovoune= sios, ^^ Hopefully Org's Texinfo export can one day be taught that this is not the end of a sentence ;). > +(require 'cl-lib) In theory this should be wrapped in eval-when-compile, but it doesn't make a difference for now since built-in themes are not byte-compiled. > +(deftheme modus-vivendi > + "Accessible and customizable light theme (WCAG AAA standard). ^^^^^ dark Thanks, --=20 Basil From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 04 15:57:49 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 20:57:50 +0000 Received: from localhost ([127.0.0.1]:60443 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHv2b-0007hK-Q2 for submit@debbugs.gnu.org; Thu, 04 Mar 2021 15:57:49 -0500 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:59611) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHv2a-0007h6-6J for 45068@debbugs.gnu.org; Thu, 04 Mar 2021 15:57:48 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 3DC231BF204; Thu, 4 Mar 2021 20:57:34 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> Date: Thu, 04 Mar 2021 22:57:31 +0200 In-Reply-To: <87ft1aoj74.fsf@tcd.ie> (Basil L. Contovounesios's message of "Thu, 04 Mar 2021 18:41:19 +0000") Message-ID: <87eeguab7o.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 T24gMjAyMS0wMy0wNCwgMTg6NDEgKzAwMDAsICJCYXNpbCBMLiBDb250b3ZvdW5lc2lvcyIgPGNv bnRvdm9iQHRjZC5pZT4gd3JvdGU6DQoNCj4gUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5mb0Bwcm90 ZXNpbGFvcy5jb20+IHdyaXRlczoNCj4NCj4+IEFzIG5vdGVkIGVhcmxpZXIsIHBsZWFzZSBmaW5k IGF0dGFjaGVkIHRoZSBwYXRjaCB0aGF0IHVwZ3JhZGVzIHRoZQ0KPj4gdGhlbWVzIHRvIHRoZWly IG5ld2VzdCB2ZXJzaW9uIDEuMi4wLiAgSSB0ZXN0ZWQgaXQgd2l0aCBCYXNpbCdzIGxhdGVzdA0K Pj4gcGF0Y2ggZm9yICdyZXF1aXJlLXRoZW1lJywgdGhvdWdoIGl0IHN0aWxsIHdvcmtzIHdpdGgg dGhlIHZhcmlhbnQgb2YNCj4+IHRoYXQgZnVuY3Rpb24gY3VycmVudGx5IGluIHRydW5rLg0KPg0K PiBUaGFua3MsIHRoZXkncmUgbG9va2luZyBnb29kISAgSnVzdCBhIGNvdXBsZSBvZiBuaXRzIGZy b20gbWUgYmVsb3cuDQoNClRoYW5rIHlvdSBCYXNpbCBhbmQgTWF1cm8hICBUaGUgYXR0YWNoZWQg cGF0Y2ggYWRkcmVzc2VzIHlvdXIgZmVlZGJhY2suDQoNCj4+ICtCZWZvcmUgeW91IGxvYWQgYSB0 aGVtZSwgaXQgaXMgbmVjZXNzYXJ5IHRvIHJlcXVpcmUgdGhlIG1haW4gbGlicmFyeToNCj4+ICAN Cj4+ICAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQo+PiArKHJlcXVpcmUgJ21vZHVzLXRoZW1lcykN Cj4+ICAjK2VuZF9zcmMNCj4NCj4gSXMgdGhpcyBhbHdheXMgdHJ1ZT8gIEJlY2F1c2UgTS14IGxv YWQtdGhlbWUgUkVUDQo+IG1vZHVzLXtvcGVyYW5kaSx2aXZlbmRpfSBSRVQgd29ya3MgZmluZSBo ZXJlIHdpdGggeW91ciBwYXRjaCwgYW5kIHVzZXJzDQo+IGNhbiBzZXQgdmFyaWFibGVzIGV2ZW4g YmVmb3JlIHRoZXkncmUgZGVmaW5lZCAtIGRlZnZhciBhbmQgZGVmY3VzdG9tDQo+IG9ubHkgY2hh bmdlIHRoZSBzeW1ib2wncyB2YWx1ZSBpZiBpdCdzIHVuYm91bmQuDQo+DQo+IE1heWJlIHRoaXMg bm9kZSBzaG91bGQgY2xhcmlmeSB3aGljaCB1c2Vycy9zZXR1cHMvdXNlLWNhc2VzIHRoaXMgYXBw bGllcw0KPiB0bz8NCg0KSSB1cGRhdGVkIHRoZSBsYW5ndWFnZSB0byBkaXNhbWJpZ3VhdGUgdGhl IHVzZS1jYXNlcy4gIElmIHlvdSB0aGluayBpdA0KbmVlZHMgZnVydGhlciB3b3JrLCBJIHdpbGwg cmV3cml0ZSBpdC4NCg0KPiBTaW1pbGFybHkgd2l0aCBvdGhlciBzdWdnZXN0aW9ucyBiZWxvdyBs aWtlIHRoaXMgb25lOg0KPg0KPiAgICAgIChyZXF1aXJlICdtb2R1cy10aGVtZXMpDQo+ICAgICAg KHJlcXVpcmUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lKQ0KPiAgICAgIChyZXF1aXJlICdtb2R1cy12 aXZlbmRpLXRoZW1lKQ0KPg0KPiB3aGljaCBzdXJlbHkgd29uJ3Qgd29yayB3aXRoIHRoZSBidWls dC1pbiB0aGVtZXMuDQoNCkFwcGVuZGVkIGEgY29tbWVudCB0byB0aGUgZmlyc3QgZm9ybSBub3Rp bmcgdGhhdCBpdCBpcyBub3QgbmVlZGVkIGZvcg0KdGhlIGJ1aWx0LWluIHRoZW1lcy4gIFJlcGxh Y2VkIHRoZSBsYXR0ZXIgdHdvIGZvcm1zIHdpdGg6DQoNCihsb2FkLXRoZW1lICdtb2R1cy1vcGVy YW5kaSB0IHQpDQoobG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0IHQpDQoNCj4+ICsrIElkZWFz IGFuZCB1c2VyIGZlZWRiYWNrIDo6IEFhcm9uIEplbnNlbiwgQWRhbSBTcGllcnMsIEFkcmlhbiBN YW5lYSwNCj4+ICsgIEFsZXggR3JpZmZpbiwgQWxleCBQZWl0c2luaXMsIEFsZXhleSBTaG1hbGtv LCBBbG9rIFNpbmdoLCBBbmRlcnMNCj4+ICsgIEpvaGFuc3NvbiwgQW5kcsOpIEFsZXhhbmRyZSBH b21lcywgQXJpZiBSZXphaSwgQmFzaWwgTC4gQ29udG92b3VuZXNpb3MsDQo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXg0KPiBIb3Bl ZnVsbHkgT3JnJ3MgVGV4aW5mbyBleHBvcnQgY2FuIG9uZSBkYXkgYmUgdGF1Z2h0IHRoYXQgdGhp cyBpcyBub3QNCj4gdGhlIGVuZCBvZiBhIHNlbnRlbmNlIDspLg0KDQpBaCB5ZXMsIEkgcmVjYWxs IG5vdGljaW5nIHRoYXQhICBDYW4gd2UgY2lyY3VtdmVudCBpdCBzb21laG93PyAgUGVyaGFwcw0K Ynkgb21pdHRpbmcgdGhlIHNwYWNlPw0KDQo+PiArKHJlcXVpcmUgJ2NsLWxpYikNCj4NCj4gSW4g dGhlb3J5IHRoaXMgc2hvdWxkIGJlIHdyYXBwZWQgaW4gZXZhbC13aGVuLWNvbXBpbGUsIGJ1dCBp dCBkb2Vzbid0DQo+IG1ha2UgYSBkaWZmZXJlbmNlIGZvciBub3cgc2luY2UgYnVpbHQtaW4gdGhl bWVzIGFyZSBub3QgYnl0ZS1jb21waWxlZC4NCg0KV3JhcHBlZCBpdCBpbiBldmFsLXdoZW4tY29t cGlsZS4NCg0KPj4gKyhkZWZ0aGVtZSBtb2R1cy12aXZlbmRpDQo+PiArICAiQWNjZXNzaWJsZSBh bmQgY3VzdG9taXphYmxlIGxpZ2h0IHRoZW1lIChXQ0FHIEFBQSBzdGFuZGFyZCkuDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5eXg0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGFyaw0KDQpGaXhlZCENCg0KWyBBbnN3ZXIgb25seSBpZiBpdCBpcyBl YXN5OiBob3cgZG8geW91IGRyYXcgdGhvc2UgXl5eIGJlbG93IHRoZSB0ZXh0PyBdDQoNCg0KT24g MjAyMS0wMy0wNCwgMTM6NTMgLTAzMDAsIE1hdXJvIEFyYW5kYSA8bWF1cm9vYXJhbmRhQGdtYWls LmNvbT4gd3JvdGU6DQoNCj4+IDs7OyMjI2F1dG9sb2FkDQo+PiAod2hlbiAoYW5kIChib3VuZHAg J2N1c3RvbS10aGVtZS1sb2FkLXBhdGgpIGxvYWQtZmlsZS1uYW1lKQ0KPj4gICAoYWRkLXRvLWxp c3QgJ2N1c3RvbS10aGVtZS1sb2FkLXBhdGgNCj4+ICAgICAgICAgICAgICAgIChmaWxlLW5hbWUt YXMtZGlyZWN0b3J5IChmaWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1uYW1lKSkpKQ0KPg0K PiBBIG5pdDogSSB0aGluayB0aGlzIGNvZGUgc2hvdWxkIGF2b2lkIGFkZGluZyB0aGUgdmFsdWUg b2YNCj4gY3VzdG9tLXRoZW1lLWRpcmVjdG9yeSBvciB0aGUgYnVpbHQtaW4gdGhlbWUgZGlyZWN0 b3J5IG5hbWUgdG8NCj4gY3VzdG9tLXRoZW1lLWxvYWQtcGF0aCAsIGlmIGBjdXN0b20tdGhlbWUt ZGlyZWN0b3J5JyAoZm9yIHRoZSBmb3JtZXIpIG9yDQo+IHQgKGZvciB0aGUgbGF0dGVyKSBhcmUg YWxyZWFkeSBwcmVzZW50IGluIGN1c3RvbS10aGVtZS1sb2FkLXBhdGguICBJbg0KPiBwYXJ0aWN1 bGFyLCBhIHRoZW1lIGRpc3RyaWJ1dGVkIHdpdGggRW1hY3Mgc2hvdWxkIGF0IGxlYXN0IGNoZWNr IGZvciB0LA0KPiB0byBhdm9pZCBhIHJlcGVhdGVkIGVudHJ5Lg0KPg0KPiBJJ3ZlIG5vdGljZWQg dGhhdCB0aGUgbGV1dmVuIHRoZW1lIGhhcyBhIHNpbWlsYXIgY29kZSBhcyB3ZWxsOiBJIHRoaW5r DQo+IHRoYXQgaXMgYSAocmVhbGx5IG1pbm9yKSBidWcuDQoNCkkgaGF2ZSByZW1vdmVkIHRoYXQg Zm9ybSBhbHRvZ2V0aGVyLiAgSXQgbWFrZXMgc2Vuc2UgZm9yIHBhY2thZ2VzIGJ1dA0KaGVyZSB0 aGV5IGFyZSBzYWZlIHRoZW1lcy4gIElzIHRoYXQgb2theSwgb3IgaGF2ZSBJIG1pc3VuZGVyc3Rv b2QNCnNvbWV0aGluZz8NCg0KVGhhbmtzIGFnYWluIQ0KDQotLSANClByb3Rlc2lsYW9zIFN0YXZy b3UNCnByb3Rlc2lsYW9zLmNvbQ0K --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-Update-Modus-themes-to-their-version-1.2.0.patch Content-Transfer-Encoding: base64 RnJvbSA2ZGRmZTg4ZGM5ZGFhNTcxN2YyYTkzNDU3OGEyMDk1M2U5YzQ2ZTMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KTWVzc2FnZS1JZDogPDZkZGZlODhkYzlkYWE1NzE3ZjJhOTM0NTc4YTIw OTUzZTljNDZlMzAuMTYxNDg5MDE1My5naXQuaW5mb0Bwcm90ZXNpbGFvcy5jb20+DQpGcm9tOiBQ cm90ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCkRhdGU6IFRodSwgNCBN YXIgMjAyMSAxNjoyMDoxNSArMDIwMA0KU3ViamVjdDogW1BBVENIXSBVcGRhdGUgTW9kdXMgdGhl bWVzIHRvIHRoZWlyIHZlcnNpb24gMS4yLjANCg0KKiBkb2MvbWlzYy9tb2R1cy10aGVtZXMub3Jn OiBBZGQgbmV3IHZlcnNpb24gb2YgdGhlIG1hbnVhbCwgd2l0aA0KICBjaGFuZ2VzIHRvIG1hcmt1 cCBhbmQgcmVmZXJlbmNlcyB0byB0aGUgbGF0ZXN0IHN0YXRlIG9mIHRoZSBwcm9qZWN0Lg0KDQoq IGV0Yy90aGVtZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbDoNCiogZXRjL3RoZW1lcy9tb2R1cy1v cGVyYW5kaS10aGVtZS5lbDogUHJvdmlkZSB1cGRhdGVkIHZlcnNpb24gb2YgZWFjaA0KICB0aGVt ZSwgd2hpY2ggZXhwYW5kcyB0aGUgY29udGVudHMgb2YgJ21vZHVzLXRoZW1lcy5lbCcuDQoNCiog ZXRjL3RoZW1lcy9tb2R1cy10aGVtZXMuZWw6IEFkZCBuZXcgc3VwcG9ydGl2ZSBmaWxlLiAgVGhp cyBpcyB3aGVyZQ0KICB0aGVtZSBkYXRhLCBmdW5jdGlvbnMsIGFuZCBmYWNlIGRlZmluaXRpb25z IGFyZSBkZWZpbmVkLg0KLS0tDQogZG9jL21pc2MvbW9kdXMtdGhlbWVzLm9yZyAgICAgICAgICB8 IDMyNjUgKysrKysrKysrLS0tLS0NCiBldGMvdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVs IHwgNDY3MiArLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIGV0Yy90aGVtZXMvbW9kdXMtdGhlbWVzLmVs ICAgICAgICAgfCA2NDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBldGMvdGhlbWVz L21vZHVzLXZpdmVuZGktdGhlbWUuZWwgIHwgNDY3MiArLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIDQg ZmlsZXMgY2hhbmdlZCwgODgxMCBpbnNlcnRpb25zKCspLCAxMDIzNSBkZWxldGlvbnMoLSkNCiBj cmVhdGUgbW9kZSAxMDA2NDQgZXRjL3RoZW1lcy9tb2R1cy10aGVtZXMuZWwNCg0KZGlmZiAtLWdp dCBhL2RvYy9taXNjL21vZHVzLXRoZW1lcy5vcmcgYi9kb2MvbWlzYy9tb2R1cy10aGVtZXMub3Jn DQppbmRleCA0YTYxNTBjZjlkLi45ZTNjMDZjYjEzIDEwMDY0NA0KLS0tIGEvZG9jL21pc2MvbW9k dXMtdGhlbWVzLm9yZw0KKysrIGIvZG9jL21pc2MvbW9kdXMtdGhlbWVzLm9yZw0KQEAgLTEsMzAg KzEsNTEgQEANCi0jK1RJVExFOiBNb2R1cyB0aGVtZXMgZm9yIEdOVSBFbWFjcw0KLSMrQVVUSE9S OiBQcm90ZXNpbGFvcyBTdGF2cm91DQotIytFTUFJTDogaW5mb0Bwcm90ZXNpbGFvcy5jb20NCi0j K1RFWElORk9fRElSX0NBVEVHT1JZOiBFbWFjcyBtaXNjIGZlYXR1cmVzDQotIytURVhJTkZPX0RJ Ul9USVRMRTogTW9kdXMgVGhlbWVzOiAobW9kdXMtdGhlbWVzKQ0KLSMrVEVYSU5GT19ESVJfREVT QzogSGlnaGx5IGFjY2Vzc2libGUgdGhlbWVzIChXQ0FHIEFBQSkNCi0jK09QVElPTlM6ICc6dCB0 b2M6bmlsIGF1dGhvcjp0IGVtYWlsOnQNCi0jK01BQ1JPOiB2ZXJzaW9uLXRhZyAwLjEzLjANCi0j K01BQ1JPOiByZWxlYXNlLWRhdGUgMjAyMC0xMC0wOA0KKyMrdGl0bGU6IE1vZHVzIHRoZW1lcyBm b3IgR05VIEVtYWNzDQorIythdXRob3I6IFByb3Rlc2lsYW9zIFN0YXZyb3UNCisjK2VtYWlsOiBp bmZvQHByb3Rlc2lsYW9zLmNvbQ0KKyMrbGFuZ3VhZ2U6IGVuDQorIytvcHRpb25zOiAnOnQgdG9j Om5pbCBhdXRob3I6dCBlbWFpbDp0DQorDQorIyttYWNybzogc3RhYmxlLXZlcnNpb24gMS4yLjAN CisjK21hY3JvOiByZWxlYXNlLWRhdGUgMjAyMS0wMy0wNA0KKyMrbWFjcm86IGRldmVsb3BtZW50 LXZlcnNpb24gMS4zLjAtZGV2DQorIyttYWNybzogZXhwb3J0LWRhdGUgKGV2YWwgKGZvcm1hdC10 aW1lLXN0cmluZyAiJUYgJVIgJXoiIChjdXJyZW50LXRpbWUpKSkNCisjK21hY3JvOiBmaWxlIEBA dGV4aW5mbzpAZmlsZXtAQCQxQEB0ZXhpbmZvOn1AQA0KKyMgVGhlICJrYmQiIG1hY3JvIHR1cm5z IEtCRCBpbnRvIEBrYmR7S0JEfS4gIEFkZGl0aW9uYWxseSwgaXQNCisjIGVuY2xvc2VzIGNhc2Ut c2Vuc2l0aXZlIHNwZWNpYWwga2V5cyAoU1BDLCBSRVQuLi4pIHdpdGhpbiBAa2V5ey4uLn0uDQor IyBJIGdvdCB0aGlzIGZyb20gdGhlIE9yZyBzb3VyY2UgY29kZS4NCisjK21hY3JvOiBrYmQgKGV2 YWwgKGxldCAoKGNhc2UtZm9sZC1zZWFyY2ggbmlsKSAocmVnZXhwIChyZWdleHAtb3B0ICcoIlNQ QyIgIlJFVCIgIkxGRCIgIlRBQiIgIkJTIiAiRVNDIiAiREVMRVRFIiAiU0hJRlQiICJDdHJsIiAi TWV0YSIgIkFsdCIgIkNtZCIgIlN1cGVyIiAiVVAiICJMRUZUIiAiUklHSFQiICJET1dOIikgJ3dv cmRzKSkpIChmb3JtYXQgIkBAdGV4aW5mbzpAa2Jke0BAJXNAQHRleGluZm86fUBAIiAocmVwbGFj ZS1yZWdleHAtaW4tc3RyaW5nIHJlZ2V4cCAiQEB0ZXhpbmZvOkBrZXl7QEBcXCZAQHRleGluZm86 fUBAIiAkMSB0KSkpKQ0KKw0KKyMrdGV4aW5mb19maWxlbmFtZTogbW9kdXMtdGhlbWVzLmluZm8N CisjK3RleGluZm9fZGlyX2NhdGVnb3J5OiBFbWFjcyBtaXNjIGZlYXR1cmVzDQorIyt0ZXhpbmZv X2Rpcl90aXRsZTogTW9kdXMgVGhlbWVzOiAobW9kdXMtdGhlbWVzKQ0KKyMrdGV4aW5mb19kaXJf ZGVzYzogSGlnaGx5IGFjY2Vzc2libGUgdGhlbWVzIChXQ0FHIEFBQSkNCisjK3RleGluZm9faGVh ZGVyOiBAc2V0IE1BSU5UQUlORVJTSVRFIEB1cmVme2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tLG1h aW50YWluZXIgd2VicGFnZX0NCisjK3RleGluZm9faGVhZGVyOiBAc2V0IE1BSU5UQUlORVIgUHJv dGVzaWxhb3MgU3RhdnJvdQ0KKyMrdGV4aW5mb19oZWFkZXI6IEBzZXQgTUFJTlRBSU5FUkVNQUlM IEBlbWFpbHtpbmZvQHByb3Rlc2lsYW9zLmNvbX0NCisjK3RleGluZm9faGVhZGVyOiBAc2V0IE1B SU5UQUlORVJDT05UQUNUIEB1cmVme21haWx0bzppbmZvQHByb3Rlc2lsYW9zLmNvbSxjb250YWN0 IHRoZSBtYWludGFpbmVyfQ0KIA0KICMrdGV4aW5mbzogQGluc2VydGNvcHlpbmcNCiANCiBUaGlz IG1hbnVhbCwgd3JpdHRlbiBieSBQcm90ZXNpbGFvcyBTdGF2cm91LCBkZXNjcmliZXMgdGhlIGN1 c3RvbWl6YXRpb24NCi1vcHRpb25zIGZvciB0aGUgPW1vZHVzLW9wZXJhbmRpPSBhbmQgPW1vZHVz LXZpdmVuZGk9IHRoZW1lcywgYW5kIHByb3ZpZGVzDQorb3B0aW9ucyBmb3IgdGhlIH5tb2R1cy1v cGVyYW5kaX4gYW5kIH5tb2R1cy12aXZlbmRpfiB0aGVtZXMsIGFuZCBwcm92aWRlcw0KIGV2ZXJ5 IG90aGVyIHBpZWNlIG9mIGluZm9ybWF0aW9uIHBlcnRpbmVudCB0byB0aGVtLg0KIA0KLVRoZSBk b2N1bWVudGF0aW9uIGZ1cm5pc2hlZCBoZXJlaW4gY29ycmVzcG9uZHMgdG8gdmVyc2lvbiB7e3t2 ZXJzaW9uLXRhZ319fSwNCi1yZWxlYXNlZCBvbiB7e3tyZWxlYXNlLWRhdGV9fX0uICBBbnkgcmVm ZXJlbmNlIHRvIGEgbmV3ZXIgZmVhdHVyZSB3aGljaCBkb2VzDQotbm90IHlldCBmb3JtIHBhcnQg b2YgdGhlIGxhdGVzdCB0YWdnZWQgY29tbWl0LCBpcyBleHBsaWNpdGx5IG1hcmtlZCBhcw0KLXN1 Y2guDQorVGhlIGRvY3VtZW50YXRpb24gZnVybmlzaGVkIGhlcmVpbiBjb3JyZXNwb25kcyB0byBz dGFibGUgdmVyc2lvbg0KK3t7e3N0YWJsZS12ZXJzaW9ufX19LCByZWxlYXNlZCBvbiB7e3tyZWxl YXNlLWRhdGV9fX0uICBBbnkgcmVmZXJlbmNlIHRvIGEgbmV3ZXINCitmZWF0dXJlIHdoaWNoIGRv ZXMgbm90IHlldCBmb3JtIHBhcnQgb2YgdGhlIGxhdGVzdCB0YWdnZWQgY29tbWl0LCBpcw0KK2V4 cGxpY2l0bHkgbWFya2VkIGFzIHN1Y2guDQogDQotKiBDb3B5aW5nDQotOlBST1BFUlRJRVM6DQot OmNvcHlpbmc6ICB0DQotOkVORDoNCisjIEN1cnJlbnQgZGV2ZWxvcG1lbnQgdGFyZ2V0IGlzIHt7 e2RldmVsb3BtZW50LXZlcnNpb259fX0uICBUaGlzIG1hbnVhbCB3YXMNCisjIGJ1aWx0IG9uIHt7 e2V4cG9ydC1kYXRlfX19Lg0KIA0KLUNvcHlyaWdodCAoQykgMjAyMC0tMjAyMSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4NCisjK3RvYzogaGVhZGxpbmVzIDggaW5zZXJ0IFRPQyBoZXJl LCB3aXRoIGVpZ2h0IGhlYWRsaW5lIGxldmVscw0KKw0KKyogQ09QWUlORw0KKzpwcm9wZXJ0aWVz Og0KKzpjb3B5aW5nOiB0DQorOmN1c3RvbV9pZDogaDpiMTRjM2ZjYi0xM2RkLTQxNDQtOWQ5Mi0y YzU4YjNlZDE2ZDMNCis6ZW5kOg0KKw0KK0NvcHlyaWdodCAoQykgMjAyMC0yMDIxICBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCiANCiAjK2JlZ2luX3F1b3RlDQogUGVybWlzc2lvbiBp cyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzDQpAQCAtMzQs MTIgKzU1LDEwIEBAICogQ29weWluZw0KIGFuZCB3aXRoIG5vIEJhY2stQ292ZXIgVGV4dHMuDQog IytlbmRfcXVvdGUNCiANCi0jK1RPQzogaGVhZGxpbmVzIDggaW5zZXJ0IFRPQyBoZXJlLCB3aXRo IGVpZ2h0IGhlYWRsaW5lIGxldmVscw0KLQ0KICogT3ZlcnZpZXcNCi06UFJPUEVSVElFUzoNCi06 Q1VTVE9NX0lEOiBoOmYwZjNkYmNiLTYwMmQtNDBjZi1iOTE4LThmOTI5YzQ0MWJhZg0KLTpFTkQ6 DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDpmMGYzZGJjYi02MDJkLTQwY2YtYjkxOC04 ZjkyOWM0NDFiYWYNCis6ZW5kOg0KIA0KIFRoZSBNb2R1cyB0aGVtZXMgYXJlIGRlc2lnbmVkIGZv ciBhY2Nlc3NpYmxlIHJlYWRhYmlsaXR5LiAgVGhleSBjb25mb3JtDQogd2l0aCB0aGUgaGlnaGVz dCBzdGFuZGFyZCBmb3IgY29sb3IgY29udHJhc3QgYmV0d2VlbiBhbnkgZ2l2ZW4NCkBAIC00Nyw5 ICs2Niw5IEBAICogT3ZlcnZpZXcNCiB0aGUgV0NBRyBBQUEgc3RhbmRhcmQsIHdoaWNoIHNwZWNp ZmllcyBhIG1pbmltdW0gcmF0ZSBvZiBkaXN0YW5jZSBpbg0KIHJlbGF0aXZlIGx1bWluYW5jZSBv ZiA3OjEuDQogDQotTW9kdXMgT3BlcmFuZGkgKD1tb2R1cy1vcGVyYW5kaT0pIGlzIGEgbGlnaHQg dGhlbWUsIHdoaWxlIE1vZHVzIFZpdmVuZGkNCi0oPW1vZHVzLXZpdmVuZGk9KSBpcyBkYXJrLiAg RWFjaCB0aGVtZSdzIGNvbG9yIHBhbGV0dGUgaXMgZGVzaWduZWQgdG8NCi1tZWV0IHRoZSBuZWVk cyBvZiB0aGUgbnVtZXJvdXMgaW50ZXJmYWNlcyB0aGF0IGFyZSBwb3NzaWJsZSBpbiB0aGUgRW1h Y3MNCitNb2R1cyBPcGVyYW5kaSAofm1vZHVzLW9wZXJhbmRpfikgaXMgYSBsaWdodCB0aGVtZSwg d2hpbGUgTW9kdXMgVml2ZW5kaQ0KKyh+bW9kdXMtdml2ZW5kaX4pIGlzIGRhcmsuICBFYWNoIHRo ZW1lJ3MgY29sb3IgcGFsZXR0ZSBpcyBkZXNpZ25lZCB0byBtZWV0DQordGhlIG5lZWRzIG9mIHRo ZSBudW1lcm91cyBpbnRlcmZhY2VzIHRoYXQgYXJlIHBvc3NpYmxlIGluIHRoZSBFbWFjcw0KIGNv bXB1dGluZyBlbnZpcm9ubWVudC4NCiANCiBUaGUgb3ZlcmFyY2hpbmcgb2JqZWN0aXZlIG9mIHRo aXMgcHJvamVjdCBpcyB0byBhbHdheXMgb2ZmZXIgYWNjZXNzaWJsZQ0KQEAgLTU5LDE1ICs3OCwx NiBAQCAqIE92ZXJ2aWV3DQogDQogVG8gZW5zdXJlIHRoYXQgdXNlcnMgaGF2ZSBhIGNvbnNpc3Rl bnRseSBhY2Nlc3NpYmxlIGV4cGVyaWVuY2UsIHRoZQ0KIHRoZW1lcyBzdHJpdmUgdG8gYWNoaWV2 ZSBhcyBjbG9zZSB0byBmdWxsIGZhY2UgY292ZXJhZ2UgYXMgcG9zc2libGUNCi0oc2VlIFtbI2g6 YTljOGYyOWQtN2Y3Mi00YjU0LWI3NGItZGRlZmUxNWQ2YTE5XVtGYWNlIGNvdmVyYWdlXV0pLg0K KyhbWyNoOmE5YzhmMjlkLTdmNzItNGI1NC1iNzRiLWRkZWZlMTVkNmExOV1bRmFjZSBjb3ZlcmFn ZV1dKS4NCiANCiBTdGFydGluZyB3aXRoIHZlcnNpb24gMC4xMi4wIGFuZCBvbndhcmRzLCB0aGUg dGhlbWVzIGFyZSBidWlsdCBpbnRvIEdOVQ0KLUVtYWNzIChjdXJyZW50IHZlcnNpb24gaXMge3t7 dmVyc2lvbi10YWd9fX0pLg0KK0VtYWNzLg0KIA0KICoqIEhvdyBkbyB0aGUgdGhlbWVzIGxvb2sg bGlrZQ0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6NjliOTIwODktMDY5Yy00YmExLTlk OTQtY2MzNDE1ZmM0Zjg3DQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjY5 YjkyMDg5LTA2OWMtNGJhMS05ZDk0LWNjMzQxNWZjNGY4Nw0KKzplbmQ6DQorIytjaW5kZXg6IFNj cmVlbnNob3RzDQogDQogQ2hlY2sgdGhlIHdlYiBwYWdlIHdpdGggW1todHRwczovL3Byb3Rlc2ls YW9zLmNvbS9tb2R1cy10aGVtZXMtcGljdHVyZXMvXVt0aGUgc2NyZWVuIHNob3RzXV0uICBUaGVy ZSBhcmUgbG90cyBvZiBzY2VuYXJpb3MNCiBvbiBkaXNwbGF5IHRoYXQgZHJhdyBhdHRlbnRpb24g dG8gZGV0YWlscyBhbmQgaW1wb3J0YW50IGFzcGVjdHMgaW4gdGhlDQpAQCAtNzcsNTk2ICs5Nyw1 NjIgQEAgKiogSG93IGRvIHRoZSB0aGVtZXMgbG9vayBsaWtlDQogW1sjaDpiZjFjODJmMi00NmM3 LTRlYjItYWQwMC1kZDExZmRkOGI1M2ZdW0N1c3RvbWl6YXRpb24gb3B0aW9uc11dLg0KIA0KICoq IExlYXJuIGFib3V0IHRoZSBsYXRlc3QgY2hhbmdlcw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01f SUQ6IGg6MmNjMzdjMzYtNmMxYS00OGIyLWEwMTAtMTA1MGIyNzBlZTE4DQotOkVORDoNCis6cHJv cGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjJjYzM3YzM2LTZjMWEtNDhiMi1hMDEwLTEwNTBiMjcw ZWUxOA0KKzplbmQ6DQorIytjaW5kZXg6IENoYW5nZWxvZw0KIA0KIFBsZWFzZSByZWZlciB0byB0 aGUgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9tb2R1cy10aGVtZXMtY2hhbmdlbG9nXVt3ZWIg cGFnZSB3aXRoIHRoZSBjaGFuZ2UgbG9nXV0uICBJdCBpcyBjb21wcmVoZW5zaXZlDQogYW5kIGNv dmVycyBldmVyeXRoaW5nIHRoYXQgZ29lcyBpbnRvIGV2ZXJ5IHRhZ2dlZCByZWxlYXNlIG9mIHRo ZSB0aGVtZXMuDQogDQogKiBJbnN0YWxsYXRpb24NCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lE OiBoOjFhZjg1MzczLTdmODEtNGMzNS1hZjI1LWFmY2VmNDkwYzExMQ0KLTpFTkQ6DQorOnByb3Bl cnRpZXM6DQorOmN1c3RvbV9pZDogaDoxYWY4NTM3My03ZjgxLTRjMzUtYWYyNS1hZmNlZjQ5MGMx MTENCis6ZW5kOg0KIA0KIFRoZSBNb2R1cyB0aGVtZXMgYXJlIGRpc3RyaWJ1dGVkIHdpdGggRW1h Y3Mgc3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDI4LjEuDQogT24gb2xkZXIgdmVyc2lvbnMgb2YgRW1h Y3MsIHRoZXkgY2FuIGJlIGluc3RhbGxlZCB1c2luZyBFbWFjcycgcGFja2FnZQ0KLW1hbmFnZXIg b3IgbWFudWFsbHkgZnJvbSB0aGVpciBjb2RlIHJlcG9zaXRvcnkuDQorbWFuYWdlciBvciBtYW51 YWxseSBmcm9tIHRoZWlyIGNvZGUgcmVwb3NpdG9yeS4gIFRoZXJlIGFsc28gZXhpc3QNCitwYWNr YWdlcyBmb3IgZGlzdHJpYnV0aW9ucyBvZiBHTlUvTGludXguDQorDQorKiogSW5zdGFsbCBtYW51 YWxseSBmcm9tIHNvdXJjZQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6ZGEzNDE0Yjct MTQyNi00NmI4LThlNzYtNDdiODQ1Yjc2ZmQwDQorOmVuZDoNCisNCitJbiB0aGUgZm9sbG93aW5n IGV4YW1wbGUsIHdlIGFyZSBhc3N1bWluZyB0aGF0IHlvdXIgRW1hY3MgZmlsZXMgYXJlDQorc3Rv cmVkIGluID1+Ly5lbWFjcy5kPSBhbmQgdGhhdCB5b3Ugd2FudCB0byBwbGFjZSB0aGUgTW9kdXMg dGhlbWVzIGluDQorPX4vLmVtYWNzLmQvbW9kdXMtdGhlbWVzPS4NCisNCisxLiBHZXQgdGhlIHNv dXJjZSBhbmQgc3RvcmUgaXQgaW4gdGhlIGRlc2lyZWQgcGF0aCBieSBydW5uaW5nIHRoZQ0KKyAg IGZvbGxvd2luZyBpbiB0aGUgY29tbWFuZCBsaW5lIHNoZWxsOg0KKw0KKzogJCBnaXQgY2xvbmUg aHR0cHM6Ly9naXRsYWIuY29tL3Byb3Rlc2lsYW9zL21vZHVzLXRoZW1lcy5naXQgfi8uZW1hY3Mu ZC9tb2R1cy10aGVtZXMNCisNCisyLiBBZGQgdGhhdCBwYXRoIHRvIHlvdXIga25vd24gRWxpc3Ag bGlicmFyaWVzJyBsaXN0LCBieSBwbGFjaW5nIHRoaXMNCisgICBzbmlwcGV0IG9mIEVtYWNzIExp c3AgaW4geW91ciBpbml0IGZpbGUgKGUuZy4ge3t7ZmlsZShpbml0LmVsKX19fSk6DQorDQorIyti ZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhhZGQtdG8tbGlzdCAnbG9hZC1wYXRoICJ+Ly5lbWFjcy5k L21vZHVzLXRoZW1lcyIpDQorIytlbmRfc3JjDQogDQotTW9kdXMgT3BlcmFuZGkgKGxpZ2h0IHRo ZW1lKSBhbmQgTW9kdXMgVml2ZW5kaSAoZGFyaykgYXJlIG5vcm1hbGx5DQotZGlzdHJpYnV0ZWQg YXMgc3RhbmRhbG9uZSBwYWNrYWdlcyBpbiBFbWFjcy1zcGVjaWZpYyBhcmNoaXZlcy4gIFRoZXJl DQotYWxzbyBleGlzdCBwYWNrYWdlcyBmb3IgR05VL0xpbnV4IGRpc3RyaWJ1dGlvbnMuDQorVGhl IHRoZW1lcyBhcmUgbm93IHJlYWR5IHRvIGJlIHVzZWQ6IFtbI2g6M2YzYzM3MjgtMWIzNC00Mzdk LTlkMGMtYjExMGY1YjE2MWE5XVtFbmFibGUgYW5kIGxvYWRdXS4NCiANCiAqKiBJbnN0YWxsIGZy b20gdGhlIGFyY2hpdmVzDQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDpjNGIxMDA4NS0x NDlmLTQzZTItYmQ0ZC0zNDdmMzNhZWUwNTQNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0 b21faWQ6IGg6YzRiMTAwODUtMTQ5Zi00M2UyLWJkNGQtMzQ3ZjMzYWVlMDU0DQorOmVuZDoNCiAN Ci09bW9kdXMtb3BlcmFuZGktdGhlbWU9IGFuZCA9bW9kdXMtdml2ZW5kaS10aGVtZT0gYXJlIGF2 YWlsYWJsZSBmcm9tIEdOVSB0aGUNCi1FTFBBIGFyY2hpdmUsIHdoaWNoIGlzIGNvbmZpZ3VyZWQg YnkgZGVmYXVsdC4NCitUaGUgPW1vZHVzLXRoZW1lcz0gcGFja2FnZSBpcyBhdmFpbGFibGUgZnJv bSB0aGUgR05VIEVMUEEgYXJjaGl2ZSwgd2hpY2gNCitpcyBjb25maWd1cmVkIGJ5IGRlZmF1bHQu DQogDQogUHJpb3IgdG8gcXVlcnlpbmcgYW55IHBhY2thZ2UgYXJjaGl2ZSwgbWFrZSBzdXJlIHRv IGhhdmUgdXBkYXRlZCB0aGUNCi1pbmRleCwgd2l0aCA9TS14IHBhY2thZ2UtcmVmcmVzaC1jb250 ZW50cz0uICBUaGVuIGFsbCB5b3UgbmVlZCB0byBkbyBpcw0KLXR5cGUgPU0teCBwYWNrYWdlLWlu c3RhbGw9IGFuZCBzcGVjaWZ5IHRoZSB0aGVtZSBvZiB5b3VyIGNob2ljZS4NCitpbmRleCwgd2l0 aCB7e3trYmQoTS14IHBhY2thZ2UtcmVmcmVzaC1jb250ZW50cyl9fX0uICBUaGVuIGFsbCB5b3Ug bmVlZCB0byBkbw0KK2lzIHR5cGUge3t7a2JkKE0teCBwYWNrYWdlLWluc3RhbGwpfX19IGFuZCBz cGVjaWZ5IHRoZSB+bW9kdXMtdGhlbWVzfi4NCisNCitOb3RlIHRoYXQgb2xkZXIgdmVyc2lvbnMg b2YgdGhlIHRoZW1lcyB1c2VkIHRvIGJlIGRpc3RyaWJ1dGVkIGFzDQorc3RhbmRhbG9uZSBwYWNr YWdlcy4gIFRoaXMgcHJhY3RpY2UgaGFzIGJlZW4gZGlzY29udGludWVkIHN0YXJ0aW5nIHdpdGgN Cit2ZXJzaW9uIDEuMC4wIG9mIHRoaXMgcHJvamVjdC4NCisNCitPbmNlIGluc3RhbGxlZCwgdGhl IHRoZW1lcyBhcmUgcmVhZHkgdG8gYmUgdXNlZDogW1sjaDozZjNjMzcyOC0xYjM0LTQzN2QtOWQw Yy1iMTEwZjViMTYxYTldW0VuYWJsZSBhbmQgbG9hZF1dLg0KIA0KICoqIEluc3RhbGwgb24gR05V L0xpbnV4DQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDpkYTY0MGViMS05NWRkLTRlODYt YmI0ZS0xMDI3YjI3ODg1ZjANCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6 ZGE2NDBlYjEtOTVkZC00ZTg2LWJiNGUtMTAyN2IyNzg4NWYwDQorOmVuZDoNCiANCi1UaGUgdGhl bWVzIGFyZSBhbHNvIGF2YWlsYWJsZSBmcm9tIHRoZSBhcmNoaXZlcyBvZiBzb21lIEdOVS9MaW51 eA0KLWRpc3RyaWJ1dGlvbnMuICBUaGVzZSBzaG91bGQgY29ycmVzcG9uZCB0byBhIHRhZ2dlZCBy ZWxlYXNlIHJhdGhlciB0aGFuDQorVGhlIHRoZW1lcyBhcmUgYWxzbyBhdmFpbGFibGUgZnJvbSB0 aGUgYXJjaGl2ZXMgb2Ygc29tZSBkaXN0cmlidXRpb25zIG9mDQorR05VL0xpbnV4LiAgVGhlc2Ug c2hvdWxkIGNvcnJlc3BvbmQgdG8gYSB0YWdnZWQgcmVsZWFzZSByYXRoZXIgdGhhbg0KIGJ1aWxk aW5nIGRpcmVjdGx5IGZyb20gdGhlIGxhdGVzdCBHaXQgY29tbWl0LiAgSXQgYWxsIGRlcGVuZHMg b24gdGhlDQogZGlzdHJvJ3MgcGFja2FnaW5nIHBvbGljaWVzLg0KIA0KICoqKiBEZWJpYW4gMTEg QnVsbHNleWUNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjdlNTcwMzYwLTllZTYtNGJj NS04YzA0LTlkYzExNDE4YTNlNA0KLTpFTkQ6DQotDQotVGhlIHR3byB0aGVtZXMgYXJlIGRpc3Ry aWJ1dGVkIGFzIGEgc2luZ2xlIHBhY2thZ2UgZm9yIERlYmlhbiBhbmQgaXRzDQotZGVyaXZhdGl2 ZXMuICBDdXJyZW50bHkgaW4gdGhlIHVuc3RhYmxlIGFuZCB0ZXN0aW5nIHN1aXRlcyBhbmQgc2hv dWxkIGJlDQotYXZhaWxhYmxlIGluIHRpbWUgZm9yIERlYmlhbiAxMSBCdWxsc2V5ZSAobmV4dCBz dGFibGUpLg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6N2U1NzAzNjAtOWVlNi00YmM1 LThjMDQtOWRjMTE0MThhM2U0DQorOmVuZDoNCiANCi1HZXQgdGhlbSB3aXRoOg0KK1RoZSB0aGVt ZXMgYXJlIHBhcnQgb2YgRGViaWFuIDExIEJ1bGxzZXllLiAgR2V0IHRoZW0gd2l0aDoNCiANCiAj K2JlZ2luX3NyYyBzaA0KIHN1ZG8gYXB0IGluc3RhbGwgZWxwYS1tb2R1cy10aGVtZXMNCiAjK2Vu ZF9zcmMNCiANCitUaGV5IGFyZSBub3cgcmVhZHkgdG8gYmUgdXNlZDogW1sjaDozZjNjMzcyOC0x YjM0LTQzN2QtOWQwYy1iMTEwZjViMTYxYTldW0VuYWJsZSBhbmQgbG9hZF1dLg0KKw0KICoqKiBH TlUgR3VpeA0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6YTRjYTUyY2QtODY5Zi00NmE1 LTllMTYtNGQ5NjY1ZjViODhlDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBo OmE0Y2E1MmNkLTg2OWYtNDZhNS05ZTE2LTRkOTY2NWY1Yjg4ZQ0KKzplbmQ6DQogDQotVXNlcnMg b2YgZWl0aGVyIHRoZSBHdWl4IFN5c3RlbSAodGhlIGRpc3Rybykgb3IganVzdCBHdWl4ICh0aGUg cGFja2FnZQ0KLW1hbmFnZXIpIGNhbiBnZXQgZWFjaCB0aGVtZSBhcyBhIHN0YW5kYWxvbmUgcGFj a2FnZS4NCitVc2VycyBvZiBHdWl4IGNhbiBnZXQgdGhlIHRoZW1lcyB3aXRoIHRoaXMgY29tbWFu ZDoNCiANCiAjK2JlZ2luX3NyYyBzaA0KLWd1aXggcGFja2FnZSAtaSBlbWFjcy1tb2R1cy1vcGVy YW5kaS10aGVtZQ0KK2d1aXggcGFja2FnZSAtaSBlbWFjcy1tb2R1cy10aGVtZXMNCiAjK2VuZF9z cmMNCiANCi1BbmQvb3I6DQotDQotIytiZWdpbl9zcmMgc2gNCi1ndWl4IHBhY2thZ2UgLWkgZW1h Y3MtbW9kdXMtdml2ZW5kaS10aGVtZQ0KLSMrZW5kX3NyYw0KK1RoZXkgYXJlIG5vdyByZWFkeSB0 byBiZSB1c2VkOiBbWyNoOjNmM2MzNzI4LTFiMzQtNDM3ZC05ZDBjLWIxMTBmNWIxNjFhOV1bRW5h YmxlIGFuZCBsb2FkXV0uDQogDQogKiBFbmFibGUgYW5kIGxvYWQNCi06UFJPUEVSVElFUzoNCi06 Q1VTVE9NX0lEOiBoOjNmM2MzNzI4LTFiMzQtNDM3ZC05ZDBjLWIxMTBmNWIxNjFhOQ0KLTpFTkQ6 DQotDQotVGhpcyBzZWN0aW9uIGRvY3VtZW50cyBob3cgdG8gbG9hZCB0aGUgdGhlbWUgb2YgeW91 ciBjaG9pY2UgYW5kIGhvdyB0bw0KLWZ1cnRoZXIgY29udHJvbCBpdHMgaW5pdGlhbGl6YXRpb24u ICBJdCBhbHNvIGluY2x1ZGVzIHNvbWUgc2FtcGxlIGNvZGUNCi1zbmlwcGV0cyB0aGF0IGNvdWxk IGhlbHAgeW91IGluIHRoZSB0YXNrLCBlc3BlY2lhbGx5IGlmIHlvdSBpbnRlbmQgdG8NCi11c2Ug Ym90aCBNb2R1cyBPcGVyYW5kaSBhbmQgTW9kdXMgVml2ZW5kaS4NCis6cHJvcGVydGllczoNCis6 Y3VzdG9tX2lkOiBoOjNmM2MzNzI4LTFiMzQtNDM3ZC05ZDBjLWIxMTBmNWIxNjFhOQ0KKzplbmQ6 DQorIytmaW5kZXg6IG1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lcw0KKyMrZmluZGV4OiBtb2R1cy10 aGVtZXMtdG9nZ2xlDQorIytmaW5kZXg6IG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpDQorIytm aW5kZXg6IG1vZHVzLXRoZW1lcy1sb2FkLXZpdmVuZGkNCisjK2NpbmRleDogRXNzZW50aWFsIGNv bmZpZ3VyYXRpb24NCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9v aw0KKw0KK1VzZXJzIG9mIHRoZSBidWlsdC1pbiB0aGVtZXMgY2FuIGxvYWQgYW5kIGF1dG9tYXRp Y2FsbHkgZW5hYmxlIHRoZSB0aGVtZQ0KK29mIHRoZWlyIHByZWZlcmVuY2UgYnkgYWRkaW5nIGVp dGhlciBmb3JtIHRvIHRoZWlyIGluaXQgZmlsZToNCiANCi0qKiBMb2FkIGF1dG9tYXRpY2FsbHkN Ci06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjE3NzdjMjQ3LTFiNTYtNDZiNy1hNGNlLTU0 ZTcyMGIzM2QwNg0KLTpFTkQ6DQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhsb2FkLXRoZW1l ICdtb2R1cy1vcGVyYW5kaSkgICAgICAgICAgICA7IExpZ2h0IHRoZW1lDQorKGxvYWQtdGhlbWUg J21vZHVzLXZpdmVuZGkpICAgICAgICAgICAgIDsgRGFyayB0aGVtZQ0KKyMrZW5kX3NyYw0KIA0K LUEgc2ltcGxlIHdheSB0byBsb2FkIHRoZSB0aGVtZSBmcm9tIHlvdXIgRW1hY3MgaW5pdGlhbGl6 YXRpb24gZmlsZSBpcyB0bw0KLWluY2x1ZGUgZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgZXhwcmVz c2lvbnM6DQorVGhpcyBpcyBhbGwgb25lIG5lZWRzLg0KIA0KLSMrQkVHSU5fU1JDIGVtYWNzLWxp c3ANCi0obG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCkgICAgICAgICAgOyBMaWdodCB0aGVt ZQ0KLShsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRpIHQpICAgICAgICAgICA7IERhcmsgdGhlbWUN Ci0jK0VORF9TUkMNCitVc2VycyBvZiBwYWNrYWdlZCB2YXJpYW50cyBvZiB0aGUgdGhlbWVzIG11 c3QgYWRkIGEgZmV3IG1vcmUgbGluZXMgdG8NCitlbnN1cmUgdGhhdCBldmVyeXRoaW5nIHdvcmtz IGFzIGludGVuZGVkLiAgRmlyc3QsIG9uZSBoYXMgdG8gcmVxdWlyZSB0aGUNCittYWluIGxpYnJh cnkgYmVmb3JlIGxvYWRpbmcgZWl0aGVyIHRoZW1lOg0KIA0KLU1ha2Ugc3VyZSB0byByZW1vdmUg YW55IG90aGVyIHRoZW1lIHRoYXQgaXMgYmVpbmcgbG9hZGVkLCBvdGhlcndpc2UgeW91DQotbWln aHQgcnVuIGludG8gdW5leHBlY3RlZCBpc3N1ZXMuDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0K KyhyZXF1aXJlICdtb2R1cy10aGVtZXMpDQorIytlbmRfc3JjDQogDQotTm90ZSB0aGF0IHlvdSBj YW4gYWx3YXlzID1NLXggZGlzYWJsZS10aGVtZT0gYW5kIHNwZWNpZnkgYW4gaXRlbS4gIFRoZQ0K LWNvbW1hbmQgZG9lcyBleGFjdGx5IHdoYXQgaXRzIG5hbWUgc3VnZ2VzdHMuICBUbyBkZWFjdGl2 YXRlIGFsbCBlbmFibGVkDQotdGhlbWVzIGF0IG9uY2UsIGluIGNhc2UgeW91IGhhdmUgbXVsdGlw bGUgb2YgdGhlbSBlbmFibGVkLCB5b3UgbWF5DQotZXZhbHVhdGUgdGhlIGV4cHJlc3Npb246DQor VGhlbiBpdCBpcyByZWNvbW1lbmRlZCB0byBsb2FkIHRoZSBpbmRpdmlkdWFsIHRoZW1lIGZpbGVz IHdpdGggdGhlDQoraGVscGVyIGZ1bmN0aW9uIH5tb2R1cy10aGVtZXMtbG9hZC10aGVtZXN+Og0K IA0KICMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCi0obWFwYyAjJ2Rpc2FibGUtdGhlbWUgY3VzdG9t LWVuYWJsZWQtdGhlbWVzKQ0KKzs7IExvYWQgdGhlIHRoZW1lIGZpbGVzIGJlZm9yZSBlbmFibGlu ZyBhIHRoZW1lIChlbHNlIHlvdSBnZXQgYW4gZXJyb3IpLg0KKyhtb2R1cy10aGVtZXMtbG9hZC10 aGVtZXMpDQogIytlbmRfc3JjDQogDQotKiogTG9hZCBhdCBhIGdpdmVuIHRpbWUgb3IgYXQgc3Vu c2V0L3N1bnJpc2UNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjRlOTM2ZTMxLWU5ZWIt NGI1MC04ZmRkLTQ1ZDgyN2EwM2NjYQ0KLTpFTkQ6DQotDQotSXQgaXMgcG9zc2libGUgdG8gc2No ZWR1bGUgYSB0aW1lIGR1cmluZyB0aGUgZGF5IGF0IG9yIGFmdGVyIHdoaWNoIGENCi1naXZlbiB0 aGVtZSB3aWxsIGJlIGxvYWRlZC5bZm46OiBDb250cmlidXRlZCBvbiBSZWRkaXQgYnkgdXNlciA9 YjNuPSwNCi1odHRwczovL3d3dy5yZWRkaXQuY29tL3IvZW1hY3MvY29tbWVudHMvZ2R0cW92L3dl ZWtseV90aXBzdHJpY2tldGNfdGhyZWFkL2ZxOTE4NmgvLl0NCitPbmNlIHRoZSBsaWJyYXJpZXMg dGhhdCBkZWZpbmUgdGhlIHRoZW1lcyBhcmUgZW5hYmxlZCwgb25lIGNhbiBhY3RpdmF0ZQ0KK2Eg dGhlbWUgd2l0aCBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZyBleHByZXNzaW9uczoNCiANCiAjK2Jl Z2luX3NyYyBlbWFjcy1saXNwDQotOzsgTGlnaHQgZm9yIHRoZSBkYXkNCi0obG9hZC10aGVtZSAn bW9kdXMtb3BlcmFuZGkgdCB0KQ0KLShydW4tYXQtdGltZSAiMDU6MDAiICgqIDYwIDYwIDI0KQ0K LSAgICAgICAgICAgICAobGFtYmRhICgpDQotICAgICAgICAgICAgICAgKGVuYWJsZS10aGVtZSAn bW9kdXMtb3BlcmFuZGkpKSkNCi0NCi07OyBEYXJrIGZvciB0aGUgbmlnaHQNCi0obG9hZC10aGVt ZSAnbW9kdXMtdml2ZW5kaSB0IHQpDQotKHJ1bi1hdC10aW1lICIyMTowMCIgKCogNjAgNjAgMjQp DQotICAgICAgICAgICAgIChsYW1iZGEgKCkNCi0gICAgICAgICAgICAgICAoZW5hYmxlLXRoZW1l ICdtb2R1cy12aXZlbmRpKSkpDQorKG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpKSAgICAgICAg ICAgIDsgTGlnaHQgdGhlbWUNCis7OyBPUg0KKyhtb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpKSAg ICAgICAgICAgICA7IERhcmsgdGhlbWUNCiAjK2VuZF9zcmMNCiANCi1BIG1vZGlmaWVkIHZlcnNp b24gb2YgdGhlIGFib3ZlIHRlY2huaXF1ZSBpcyB0byB1c2UgdGhlIHN1bnJpc2UgYW5kDQotc3Vu c2V0IGFzIHJlZmVyZW5jZXMsIGluc3RlYWQgb2Ygc3BlY2lmeWluZyBhIGZpeGVkIGhvdXIgdmFs dWUuW2ZuOjoNCi1Db250cmlidXRlZCBkaXJlY3RseSBieSBBbmRyw6kgQWxleGFuZHJlIEdvbWVz IGh0dHBzOi8vZ2l0bGFiLmNvbS9hYWRjZy5dDQotSWYgeW91IHNldCA9Y2FsZW5kYXItbGF0aXR1 ZGU9IGFuZCA9Y2FsZW5kYXItbG9uZ2l0dWRlPSAoZGVmaW5lZCBpbiB0aGUNCi1idWlsdC1pbiA9 c29sYXIuZWw9IGxpYnJhcnktLS1yZWFkIGl0IHdpdGggPU0teCBmaW5kLWxpYnJhcnk9KSwgeW91 IGNhbg0KLWF1dG9tYXRpY2FsbHkgc3dpdGNoIGJldHdlZW4gYm90aCB0aGVtZXMgYXQgdGhlIGFw cHJvcHJpYXRlIHRpbWUtb2YtZGF5Lg0KLU5vdGUgdGhhdCAvdGhvc2UgY2FsZW5kYXIgdmFyaWFi bGVzIG5lZWQgdG8gYmUgc2V0IGJlZm9yZSBsb2FkaW5nIHRoZQ0KLXRoZW1lcy8uDQorQ2hhbmdl cyB0byB0aGUgYXZhaWxhYmxlIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBtdXN0IGFsd2F5cyBiZSBl dmFsdWF0ZWQNCitiZWZvcmUgbG9hZGluZyBhIHRoZW1lIChbWyNoOmJmMWM4MmYyLTQ2YzctNGVi Mi1hZDAwLWRkMTFmZGQ4YjUzZl1bQ3VzdG9taXphdGlvbiBPcHRpb25zXV0pLiAgVGhpcyBpcyBo b3cgYSBiYXNpYw0KK3NldHVwIGNvdWxkIGxvb2sgbGlrZToNCiANCiAjK2JlZ2luX3NyYyBlbWFj cy1saXNwDQotOzsgRGVmaW5lIGNvb3JkaW5hdGVzDQotKHNldHEgY2FsZW5kYXItbGF0aXR1ZGUg MzUuMTcNCi0gICAgICBjYWxlbmRhci1sb25naXR1ZGUgMzMuMzYpDQorKHJlcXVpcmUgJ21vZHVz LXRoZW1lcykNCiANCi07OyBMaWdodCBhdCBzdW5yaXNlDQotKGxvYWQtdGhlbWUgJ21vZHVzLW9w ZXJhbmRpIHQgdCkNCi0ocnVuLWF0LXRpbWUgKG50aCAxIChzcGxpdC1zdHJpbmcgKHN1bnJpc2Ut c3Vuc2V0KSkpDQotICAgICAgICAgICAgICgqIDYwIDYwIDI0KQ0KLSAgICAgICAgICAgICAobGFt YmRhICgpDQotICAgICAgICAgICAgICAgKGVuYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpKSkN Cis7OyBZb3VyIGN1c3RvbWlzYXRpb25zIGhlcmUuICBGb3IgZXhhbXBsZToNCisoc2V0cSBtb2R1 cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIHQNCisgICAgICBtb2R1cy10aGVtZXMtbW9kZS1saW5l ICczZCkNCiANCi07OyBEYXJrIGF0IHN1bnNldA0KLShsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRp IHQgdCkNCi0ocnVuLWF0LXRpbWUgKG50aCA0IChzcGxpdC1zdHJpbmcgKHN1bnJpc2Utc3Vuc2V0 KSkpDQotICAgICAgICAgICAgICgqIDYwIDYwIDI0KQ0KLSAgICAgICAgICAgICAobGFtYmRhICgp DQotICAgICAgICAgICAgICAgKGVuYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkpKQ0KLSMrZW5k X3NyYw0KKzs7IExvYWQgdGhlIHRoZW1lIGZpbGVzIGJlZm9yZSBlbmFibGluZyBhIHRoZW1lIChl bHNlIHlvdSBnZXQgYW4gZXJyb3IpLg0KKyhtb2R1cy10aGVtZXMtbG9hZC10aGVtZXMpDQogDQot Rm9yIHRoZSBzYWtlIG9mIGNvbXBsZXRlbmVzcywgdGhlID1sb2FkLXRoZW1lPSBjYWxsIGluIHRo ZXNlIHNuaXBwZXRzIGlzDQotc2xpZ2h0bHkgZGlmZmVyZW50IHRoYW4gdGhlIG9uZSBzaG93biBp biBbWyNoOjE3NzdjMjQ3LTFiNTYtNDZiNy1hNGNlLTU0ZTcyMGIzM2QwNl1bTG9hZCBhdXRvbWF0 aWNhbGx5XV0sIGJlY2F1c2UgaXQNCi1kb2VzIG5vdCBlbmFibGUgdGhlIHRoZW1lIGRpcmVjdGx5 OiB0aGUgc3Vic2VxdWVudCA9ZW5hYmxlLXRoZW1lPSBkb2VzDQotdGhhdCB3aGVuIG5lZWRlZC4N Cis7OyBFbmFibGUgdGhlIHRoZW1lIG9mIHlvdXIgcHJlZmVyZW5jZToNCisobW9kdXMtdGhlbWVz LWxvYWQtb3BlcmFuZGkpDQogDQotKiogVG9nZ2xlIGJldHdlZW4gdGhlIHRoZW1lcyBvbiBkZW1h bmQNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjJhMDg5NWE2LTMyODEtNGU1NS04YWEx LThhNzM3NTU1ODIxZQ0KLTpFTkQ6DQorOzsgT3B0aW9uYWxseSBhZGQgYSBrZXkgYmluZGluZyBm b3IgdGhlIHRvZ2dsZSBiZXR3ZWVuIHRoZSB0aGVtZXM6DQorKGRlZmluZS1rZXkgZ2xvYmFsLW1h cCAoa2JkICI8ZjU+IikgIydtb2R1cy10aGVtZXMtdG9nZ2xlKQ0KKyMrZW5kX3NyYw0KIA0KLVdp dGggYm90aCB0aGVtZXMgYXZhaWxhYmxlLCBpdCBpcyBwb3NzaWJsZSB0byBkZXNpZ24gYSBzaW1w bGUgY29tbWFuZCB0bw0KLXN3aXRjaCBiZXR3ZWVuIHRoZW0gb24gZGVtYW5kLg0KK1tbI2g6ZTk3 OTczNGMtYTllMS00MzczLTkzNjUtMGYyY2QzNjEwN2I4XVtTYW1wbGUgY29uZmlndXJhdGlvbiBm b3IgdXNlLXBhY2thZ2VdXS4NCiANCi0jK2JlZ2luX3NyYyBlbWFjcy1saXNwDQotKGRlZnVuIG1v ZHVzLXRoZW1lcy10b2dnbGUgKCkNCi0gICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGkn IGFuZCBgbW9kdXMtdml2ZW5kaScgdGhlbWVzLiINCi0gIChpbnRlcmFjdGl2ZSkNCi0gIChpZiAo ZXEgKGNhciBjdXN0b20tZW5hYmxlZC10aGVtZXMpICdtb2R1cy1vcGVyYW5kaSkNCi0gICAgICAo cHJvZ24NCi0gICAgICAgIChkaXNhYmxlLXRoZW1lICdtb2R1cy1vcGVyYW5kaSkNCi0gICAgICAg IChsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRpIHQpKQ0KLSAgICAoZGlzYWJsZS10aGVtZSAnbW9k dXMtdml2ZW5kaSkNCi0gICAgKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQpKSkNCi0jK2Vu ZF9zcmMNCitXaXRoIHRob3NlIGdyYW50ZWQsIGJlYXIgaW4gbWluZCBhIGNvdXBsZSBvZiB0ZWNo bmljYWwgcG9pbnRzIG9uDQorfm1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpfiBhbmQgfm1vZHVz LXRoZW1lcy1sb2FkLXZpdmVuZGl+LCBhcyB3ZWxsIGFzDQorfm1vZHVzLXRoZW1lcy10b2dnbGV+ IHdoaWNoIHJlbGllcyBvbiB0aGVtOg0KIA0KLVlvdSBjb3VsZCB1c2UgPShtYXBjICMnZGlzYWJs ZS10aGVtZSBjdXN0b20tZW5hYmxlZC10aGVtZXMpPSBpbnN0ZWFkIG9mDQotZGlzYWJsaW5nIGEg c2luZ2xlIHRhcmdldCwgYnV0IHlvdSBnZXQgdGhlIGlkZWEuDQorMS4gVGhvc2UgZnVuY3Rpb25z IGNhbGwgfmxvYWQtdGhlbWV+LiAgU29tZSB1c2VycyBwcmVmZXIgdG8gb3B0IGZvcg0KKyAgIH5l bmFibGUtdGhlbWV+IGluc3RlYWQgKFtbI2g6ZTY4NTYwYjMtN2ZiMC00MmJjLWExNTEtZTAxNTk0 OGY4YTM1XVtEaWZmZXJlbmNlcyBiZXR3ZWVuIGxvYWRpbmcgYW5kIGVuYWJsaW5nXV0pLg0KIA0K LSoqIENvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRpbmcNCi06UFJPUEVSVElFUzoNCi06 Q1VTVE9NX0lEOiBoOmE4OTdiMzAyLThlMTAtNGEyNi1iZWFiLTNjYWFlZTFlMTE5Mw0KLTpFTkQ6 DQorMi4gVGhlIGZ1bmN0aW9ucyB3aWxsIHJ1biB0aGUgfm1vZHVzLXRoZW1lcy1hZnRlci1sb2Fk LXRoZW1lLWhvb2t+IGFzDQorICAgdGhlaXIgZmluYWwgc3RlcC4gIFRoaXMgY2FuIGJlIGVtcGxv eWVkIGZvciBiZXNwb2tlIGNvbmZpZ3VyYXRpb25zDQorICAgKFtbI2g6ZjQ2NTFkNTUtOGMwNy00 NmFhLWI1MmItYmVkMWU1MzQ2M2JiXVtBZHZhbmNlZCBjdXN0b21pemF0aW9uIChkby1pdC15b3Vy c2VsZildXSkuICBFeHBlcmllbmNlZCB1c2VycyBtYXkgbm90DQorICAgd2lzaCB0byByZWx5IG9u IHN1Y2ggYSBob29rIGFuZCB0aGUgZnVuY3Rpb25zIHRoYXQgcnVuIGl0OiB0aGV5IG1heQ0KKyAg IHByZWZlciBhIGN1c3RvbSBzb2x1dGlvbiAoW1sjaDo4NmY2OTA2Yi1mMDkwLTQ2Y2MtOTgxNi0x ZmU4YWViMzg3NzZdW0EgdGhlbWUtYWdub3N0aWMgaG9vayBmb3IgdGhlbWUgbG9hZGluZ11dKS4N CiANCi1JZiB5b3UgcGxhbiB0byB1c2UgYm90aCB0aGVtZXMgYW5kIHdpc2ggdG8gYXBwbHkgc3R5 bGVzIGNvbnNpc3RlbnRseQ0KLShzZWUgW1sjaDpiZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDEx ZmRkOGI1M2ZdW0N1c3RvbWl6YXRpb24gT3B0aW9uc11dKSwgeW91IGNvdWxkIGRlZmluZSB3cmFw cGVyIGZ1bmN0aW9ucyBhcm91bmQNCi10aGUgc3RhbmRhcmQgPWxvYWQtdGhlbWU9IGNvbW1hbmQu ICBUaGVzZSBleHRlbmQgdGhlIHNpbXBsZSBmdW5jdGlvbiB3ZQ0KLXByZXNlbnRlZCBpbiBbWyNo OjJhMDg5NWE2LTMyODEtNGU1NS04YWExLThhNzM3NTU1ODIxZV1bVG9nZ2xlIGJldHdlZW4gdGhl IHRoZW1lcyBvbiBkZW1hbmRdXS4NCisqKiBTYW1wbGUgY29uZmlndXJhdGlvbiBmb3IgdXNlLXBh Y2thZ2UNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOmU5Nzk3MzRjLWE5ZTEtNDM3My05 MzY1LTBmMmNkMzYxMDdiOA0KKzplbmQ6DQorIytjaW5kZXg6IHVzZS1wYWNrYWdlIGNvbmZpZ3Vy YXRpb24NCiANCi1IZXJlIGlzIGEgY29tcHJlaGVuc2l2ZSBzZXR1cCAodGhlIHZhbHVlcyBhc3Np Z25lZCB0byB0aGUgdmFyaWFibGVzIGFyZQ0KLWp1c3QgZm9yIHRoZSBzYWtlIG9mIHRoaXMgZGVt b25zdHJhdGlvbik6W2ZuOjogVGhlID1kZWZtYWNybz0gYW5kID1kb2xpc3Q9DQotbWV0aG9kIHdl cmUgY29udHJpYnV0ZWQgb24gUmVkZGl0IGJ5IHVzZXIgPWIzbj0NCi1odHRwczovL3d3dy5yZWRk aXQuY29tL3IvZW1hY3MvY29tbWVudHMvZ3Fzejh1L3dlZWtseV90aXBzdHJpY2tldGNfdGhyZWFk L2ZzZmFraGcvLl0NCitJdCBpcyBjb21tb24gZm9yIEVtYWNzIHVzZXJzIHRvIHJlbHkgb24gfnVz ZS1wYWNrYWdlfiBmb3IgZGVjbGFyaW5nDQorcGFja2FnZSBjb25maWd1cmF0aW9ucyBpbiB0aGVp ciBzZXR1cC4gIFdlIHVzZSB0aGlzIGFzIGFuIGV4YW1wbGU6DQogDQogIytiZWdpbl9zcmMgZW1h Y3MtbGlzcA0KLShkZWZtYWNybyBtb2R1cy10aGVtZXMtZm9ybWF0LXNleHAgKHNleHAgJnJlc3Qg b2JqZWN0cykNCi0gIGAoZXZhbCAocmVhZCAoZm9ybWF0ICwoZm9ybWF0ICIlUyIgc2V4cCkgLEBv YmplY3RzKSkpKQ0KLQ0KLShkb2xpc3QgKHRoZW1lICcoIm9wZXJhbmRpIiAidml2ZW5kaSIpKQ0K LSAgKG1vZHVzLXRoZW1lcy1mb3JtYXQtc2V4cA0KLSAgIChkZWZ1biBtb2R1cy0lMSRzLXRoZW1l LWxvYWQgKCkNCi0gICAgIChzZXRxIG1vZHVzLSUxJHMtdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3Rz IHQNCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtYm9sZC1jb25zdHJ1Y3RzIHQNCi0gICAg ICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtZnJpbmdlcyAnc3VidGxlIDsge25pbCwnc3VidGxlLCdp bnRlbnNlfQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1tb2RlLWxpbmUgJzNkIDsge25p bCwnM2QsJ21vb2R5fQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1zeW50YXggJ2FsdC1z eW50YXggOyB7bmlsLGZhaW50LCd5ZWxsb3ctY29tbWVudHMsJ2dyZWVuLXN0cmluZ3MsJ3llbGxv dy1jb21tZW50cy1ncmVlbi1zdHJpbmdzLCdhbHQtc3ludGF4LCdhbHQtc3ludGF4LXllbGxvdy1j b21tZW50c30NCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtaW50ZW5zZS1obC1saW5lIG5p bA0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoIG5pbA0K LSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1saW5rcyAnZmFpbnQgOyB7bmlsLCdmYWludCwn bmV1dHJhbC11bmRlcmxpbmUsJ2ZhaW50LW5ldXRyYWwtdW5kZXJsaW5lLCduby11bmRlcmxpbmV9 DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLW5vLW1peGVkLWZvbnRzIG5pbA0KLSAgICAg ICAgICAgbW9kdXMtJTEkcy10aGVtZS1wcm9tcHRzIG5pbCA7IHtuaWwsJ3N1YnRsZSwnaW50ZW5z ZX0NCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtY29tcGxldGlvbnMgJ21vZGVyYXRlIDsg e25pbCwnbW9kZXJhdGUsJ29waW5pb25hdGVkfQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVt ZS1kaWZmcyBuaWwgOyB7bmlsLCdkZXNhdHVyYXRlZCwnZmctb25seX0NCi0gICAgICAgICAgIG1v ZHVzLSUxJHMtdGhlbWUtb3JnLWJsb2NrcyAnZ3JheXNjYWxlIDsge25pbCwnZ3JheXNjYWxlLCdy YWluYm93fQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1oZWFkaW5ncyAgOyBSZWFkIGZ1 cnRoZXIgYmVsb3cgaW4gdGhlIG1hbnVhbCBmb3IgdGhpcyBvbmUNCi0gICAgICAgICAgICcoKDEg LiBzZWN0aW9uKQ0KLSAgICAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAgICAgICAgICh0IC4g cmFpbmJvdy1saW5lLW5vLWJvbGQpKQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS12YXJp YWJsZS1waXRjaC1oZWFkaW5ncyBuaWwNCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtc2Nh bGUtaGVhZGluZ3MgdA0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1zY2FsZS0xIDEuMQ0K LSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1zY2FsZS0yIDEuMTUNCi0gICAgICAgICAgIG1v ZHVzLSUxJHMtdGhlbWUtc2NhbGUtMyAxLjIxDQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1l LXNjYWxlLTQgMS4yNw0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1zY2FsZS01IDEuMzMp DQotICAgICAobG9hZC10aGVtZSAnbW9kdXMtJTEkcyB0KSkNCi0gICB0aGVtZSkpDQotDQotKGRl ZnVuIG1vZHVzLXRoZW1lcy10b2dnbGUgKCkNCi0gICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3Bl cmFuZGknIGFuZCBgbW9kdXMtdml2ZW5kaScgdGhlbWVzLiINCi0gIChpbnRlcmFjdGl2ZSkNCi0g IChpZiAoZXEgKGNhciBjdXN0b20tZW5hYmxlZC10aGVtZXMpICdtb2R1cy1vcGVyYW5kaSkNCi0g ICAgICAocHJvZ24NCi0gICAgICAgIChkaXNhYmxlLXRoZW1lICdtb2R1cy1vcGVyYW5kaSkNCi0g ICAgICAgIChtb2R1cy12aXZlbmRpLXRoZW1lLWxvYWQpKQ0KLSAgICAoZGlzYWJsZS10aGVtZSAn bW9kdXMtdml2ZW5kaSkNCi0gICAgKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWxvYWQpKSkNCisodXNl LXBhY2thZ2UgbW9kdXMtdGhlbWVzDQorICA6ZW5zdXJlICAgICAgICAgICAgICAgICAgICAgICAg IDsgb21pdCB0aGlzIHRvIHVzZSB0aGUgYnVpbHQtaW4gdGhlbWVzDQorICA6aW5pdA0KKyAgOzsg QWRkIGFsbCB5b3VyIGN1c3RvbWl6YXRpb25zIHByaW9yIHRvIGxvYWRpbmcgdGhlIHRoZW1lcw0K KyAgKHNldHEgbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cyB0DQorICAgICAgICBtb2R1 cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIG5pbCkNCisNCisgIDs7IExvYWQgdGhlIHRoZW1lIGZp bGVzIGJlZm9yZSBlbmFibGluZyBhIHRoZW1lIChlbHNlIHlvdSBnZXQgYW4gZXJyb3IpLg0KKyAg KG1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lcykNCisgIDpjb25maWcNCisgIDs7IExvYWQgdGhlIHRo ZW1lIG9mIHlvdXIgY2hvaWNlOg0KKyAgKG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpKSA7OyBP UiAobW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaSkNCisgIDpiaW5kICgiPGY1PiIgLiBtb2R1cy10 aGVtZXMtdG9nZ2xlKSkNCiAjK2VuZF9zcmMNCiANCi0qIEN1c3RvbWl6YXRpb24gT3B0aW9ucw0K LTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAtZGQx MWZkZDhiNTNmDQotOkVORDoNCi0NCi1UaGUgTW9kdXMgdGhlbWVzIGFyZSBoaWdobHkgY29uZmln dXJhYmxlLCB0aG91Z2ggdGhleSBzaG91bGQgd29yayB3ZWxsDQotd2l0aG91dCBhbnkgZnVydGhl ciB0d2Vha3MuDQotDQotQnkgZGVmYXVsdCwgYWxsIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBhcmUg c2V0IHRvID1uaWw9Lg0KLQ0KLUFsbCBjdXN0b21pemF0aW9uIG9wdGlvbnMgbmVlZCB0byBiZSBl dmFsdWF0ZWQgYmVmb3JlIGxvYWRpbmcgdGhlaXINCi10aGVtZSAoc2VlIFtbI2g6M2YzYzM3Mjgt MWIzNC00MzdkLTlkMGMtYjExMGY1YjE2MWE5XVtFbmFibGUgYW5kIGxvYWRdXSkuDQorW1sjaDpl Njg1NjBiMy03ZmIwLTQyYmMtYTE1MS1lMDE1OTQ4ZjhhMzVdW0RpZmZlcmVuY2VzIGJldHdlZW4g bG9hZGluZyBhbmQgZW5hYmxpbmddXS4NCisNCitOb3RlOiBtYWtlIHN1cmUgbm90IHRvIGN1c3Rv bWl6ZSB0aGUgdmFyaWFibGUgfmN1c3RvbS10aGVtZS1sb2FkLXBhdGh+DQorb3IgfmN1c3RvbS10 aGVtZS1kaXJlY3Rvcnl+IGFmdGVyIHRoZSB0aGVtZXMnIHBhY2thZ2UgZGVjbGFyYXRpb24uICBU aGF0DQord2lsbCBsZWFkIHRvIGZhaWx1cmVzIGluIGxvYWRpbmcgdGhlIGZpbGVzLiAgSWYgZWl0 aGVyIG9yIGJvdGggb2YgdGhvc2UNCit2YXJpYWJsZXMgbmVlZCB0byBiZSBjaGFuZ2VkLCB0aGVp ciB2YWx1ZXMgc2hvdWxkIGJlIGRlZmluZWQgYmVmb3JlIHRoZQ0KK3BhY2thZ2UgZGVjbGFyYXRp b24gb2YgdGhlIHRoZW1lcy4NCisNCisqKiBEaWZmZXJlbmNlcyBiZXR3ZWVuIGxvYWRpbmcgYW5k IGVuYWJsaW5nDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDplNjg1NjBiMy03ZmIwLTQy YmMtYTE1MS1lMDE1OTQ4ZjhhMzUNCis6ZW5kOg0KKyMrY2luZGV4OiBsb2FkLXRoZW1lIFZTIGVu YWJsZS10aGVtZQ0KKw0KK1RoZSByZWFzb24gd2UgcmVjb21tZW5kIH5sb2FkLXRoZW1lfiBpbnN0 ZWFkIG9mIHRoZSBvdGhlciBvcHRpb24gb2YNCit+ZW5hYmxlLXRoZW1lfiBpcyB0aGF0IHRoZSBm b3JtZXIgZG9lcyBhIGtpbmQgb2YgInJlc2V0IiBvbiB0aGUgZmFjZQ0KK3NwZWNzLiAgSXQgcXVp dGUgbGl0ZXJhbGx5IGxvYWRzIChvciByZS1sb2FkcykgdGhlIHRoZW1lLiAgV2hlcmVhcyB0aGUN CitsYXR0ZXIgc2ltcGx5IHB1dHMgYW4gYWxyZWFkeSBsb2FkZWQgdGhlbWUgYXQgdGhlIHRvcCBv ZiB0aGUgbGlzdCBvZg0KK2VuYWJsZWQgaXRlbXMsIHJlLXVzaW5nIHdoYXRldmVyIHN0YXRlIHdh cyBsYXN0IGxvYWRlZC4NCisNCitBcyBzdWNoLCB+bG9hZC10aGVtZX4gcmVhZHMgYWxsIGN1c3Rv bWl6YXRpb25zIHRoYXQgbWF5IGhhcHBlbiBkdXJpbmcNCithbnkgZ2l2ZW4gRW1hY3Mgc2Vzc2lv bjogZXZlbiBhZnRlciB0aGUgaW5pdGlhbCBzZXR1cCBvZiBhIHRoZW1lLg0KK0V4YW1wbGVzIGFy ZSBjYWxscyB0byB+Y3VzdG9tLXNldC1mYWNlc34sIGFzIHdlbGwgYXMgbmV3IHZhbHVlcyBhc3Np Z25lZA0KK3RvIHRoZSBvcHRpb25zIHRoZSBNb2R1cyB0aGVtZXMgcHJvdmlkZSAoW1sjaDpiZjFj ODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1M2ZdW0N1c3RvbWl6YXRpb24gT3B0aW9uc11d KS4NCisNCitPdXIgdGVzdHMgc2hvdyB0aGF0IH5lbmFibGUtdGhlbWV+IGRvZXMgbm90IHJlYWQg c3VjaCB2YXJpYWJsZXMgYW5ldywgc28NCitpdCBtaWdodCBhcHBlYXIgdG8gdGhlIHVuc3VzcGVj dGluZyB1c2VyIHRoYXQgdGhlIHRoZW1lcyBhcmUgc29tZWhvdw0KK2Jyb2tlbiB3aGVuZXZlciB0 aGV5IHRyeSB0byBhc3NpZ24gYSBuZXcgdmFsdWUgdG8gYSBjdXN0b21pemF0aW9uIG9wdGlvbg0K K29yIHNvbWUgZmFjZS4NCisNCitUaGlzICJyZXNldCIgdGhhdCB+bG9hZC10aGVtZX4gY29uZHVj dHMgZG9lcywgaG93ZXZlciwgY29tZSBhdCB0aGUgY29zdA0KK29mIGJlaW5nIHNvbWV3aGF0IHNs b3dlciB0aGFuIH5lbmFibGUtdGhlbWV+LiAgVXNlcnMgd2hvIGhhdmUgYSBzdGFibGUNCitzZXR1 cCBhbmQgd2hvIHNlbGRvbSB1cGRhdGUgdGhlaXIgdmFyaWFibGVzIGR1cmluZyBhIGdpdmVuIEVt YWNzDQorc2Vzc2lvbiwgYXJlIGJldHRlciBvZmYgdXNpbmcgc29tZXRoaW5nIGxpa2UgdGhpczoN CiANCi0qKiBPcHRpb24gZm9yIG1vcmUgYm9sZCBjb25zdHJ1Y3RzDQotOlBST1BFUlRJRVM6DQot OkFMVF9USVRMRTogQm9sZCBjb25zdHJ1Y3RzDQotOkRFU0NSSVBUSU9OOiBUb2dnbGUgYm9sZCBj b25zdHJ1Y3RzIGluIGNvZGUNCi06Q1VTVE9NX0lEOiBoOmIyNTcxNGY2LTBmYmUtNDFmNi04OWI1 LTY5MTJkMzA0MDkxZQ0KLTpFTkQ6DQotDQotU3ltYm9sIG5hbWVzOg0KLQ0KLSsgPW1vZHVzLW9w ZXJhbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cz0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1lLWJv bGQtY29uc3RydWN0cz0NCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKHJlcXVpcmUgJ21vZHVz LXRoZW1lcykNCisobG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCB0KQ0KKyhsb2FkLXRoZW1l ICdtb2R1cy12aXZlbmRpIHQgdCkNCiANCi1Qb3NzaWJsZSB2YWx1ZXM6DQorKGVuYWJsZS10aGVt ZSAnbW9kdXMtb3BlcmFuZGkpIDs7IE9SIChlbmFibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpDQor IytlbmRfc3JjDQogDQotMS4gPW5pbD0gKGRlZmF1bHQpDQotMi4gPXQ9DQorW1sjaDplOTc5NzM0 Yy1hOWUxLTQzNzMtOTM2NS0wZjJjZDM2MTA3YjhdW1NhbXBsZSBjb25maWd1cmF0aW9uIGZvciB1 c2UtcGFja2FnZV1dLg0KIA0KLURpc3BsYXkgc2V2ZXJhbCBjb25zdHJ1Y3RzIGluIGJvbGQgd2Vp Z2h0LiAgVGhpcyBjb25jZXJucyBrZXl3b3JkcyBhbmQNCi1vdGhlciBpbXBvcnRhbnQgYXNwZWN0 cyBvZiBjb2RlIHN5bnRheC4gIEl0IGFsc28gYWZmZWN0cyBjZXJ0YWluIG1vZGUNCi1saW5lIGlu ZGljYXRvcnMgYW5kIGNvbW1hbmQtbGluZSBwcm9tcHRzLg0KK1dpdGggdGhlIGFib3ZlIGdyYW50 ZWQsIG90aGVyIHNlY3Rpb25zIG9mIHRoZSBtYW51YWwgZGlzY3VzcyBob3cgdG8NCitjb25maWd1 cmUgY3VzdG9tIGZhY2VzLCB3aGVyZSB+bG9hZC10aGVtZX4gaXMgZXhwZWN0ZWQsIHRob3VnaA0K K35lbmFibGUtdGhlbWV+IGNvdWxkIHN0aWxsIGFwcGx5IGluIHN0YWJsZSBzZXR1cHM6DQogDQot VGhlIGRlZmF1bHQgaXMgdG8gb25seSB1c2UgYSBib2xkIHdlaWdodCB3aGVuIGl0IGlzIHJlcXVp cmVkLg0KK1tbI2g6MTQ4N2M2MzEtZjRmZS00OTBkLThkNTgtZDcyZmZhM2JkNDc0XVtDYXNlLWJ5 LWNhc2UgZmFjZSBzcGVjcyB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uDQogDQotQWRkaXRp b25hbGx5LCBhbmQgd2hpbGUgbm90IG5lY2Vzc2FyeSwgdG8gZGVmaW5lIHRoZSBwcmVjaXNlIHdl aWdodCBmb3INCi1ib2xkIGNvbnN0cnVjdHMsIHlvdSBjYW4gY2hhbmdlIHRoZSB0eXBvZ3JhcGhp YyBpbnRlbnNpdHkgb2YgdGhlID1ib2xkPQ0KLWZhY2UuICBUaGUgc3RhbmRhcmQgaXMgYSBib2xk IHdlaWdodC4gIEl0IHJlcXVpcmVzIG5vIGZ1cnRoZXINCi1pbnRlcnZlbnRpb24uICBBc3N1bWlu ZyB0aG91Z2ggdGhhdCB5b3VyIHR5cGVmYWNlIG9mIGNob2ljZSBzdXBwb3J0cyBhDQotInNlbWli b2xkIiB3ZWlnaHQsIGFkZGluZyB0aGUgZm9sbG93aW5nIHNuaXBwZXQgdG8geW91ciBpbml0IGZp bGUgc2hvdWxkDQotc3VmZmljZS4NCitbWyNoOjUxYmEzNTQ3LWI4YzgtNDBkNi1iYTVhLTQ1ODY0 NzdmZDRhZV1bRmFjZSBzcGVjcyBhdCBzY2FsZSB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0u DQogDQotIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KLShzZXQtZmFjZS1hdHRyaWJ1dGUgJ2JvbGQg bmlsIDp3ZWlnaHQgJ3NlbWlib2xkKQ0KLSMrZW5kX3NyYw0KKyogQ3VzdG9taXphdGlvbiBPcHRp b25zDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDpiZjFjODJmMi00NmM3LTRlYjItYWQw MC1kZDExZmRkOGI1M2YNCis6ZW5kOg0KIA0KLU5vdGUgdGhhdCBpZiB5b3UgYXJlIHN3aXRjaGlu ZyB0aGVtZXMsIHlvdSBuZWVkIHRvIHJlLWV2YWx1YXRlIHRoaXMNCi1leHByZXNzaW9uIGFmdGVy IHRoZSBuZXcgdGhlbWUgaXMgbG9hZGVkLg0KK1RoZSBNb2R1cyB0aGVtZXMgYXJlIGhpZ2hseSBj b25maWd1cmFibGUsIHRob3VnaCB0aGV5IHNob3VsZCB3b3JrIHdlbGwNCit3aXRob3V0IGFueSBm dXJ0aGVyIHR3ZWFrcy4gIEJ5IGRlZmF1bHQsIGFsbCBjdXN0b21pemF0aW9uIG9wdGlvbnMgYXJl DQorc2V0IHRvIG5pbC4NCiANCi0qKiBPcHRpb24gZm9yIG1vcmUgc2xhbnRlZCBjb25zdHJ1Y3Rz DQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogU2xhbnRlZCBjb25zdHJ1Y3RzDQotOkRFU0NS SVBUSU9OOiBUb2dnbGUgc2xhbnRlZCBjb25zdHJ1Y3RzIChpdGFsaWNzKSBpbiBjb2RlDQotOkNV U1RPTV9JRDogaDo5NzdjOTAwZC0wZDZkLTRkYmItODJkOS1jMmFhZTY5NTQzZDYNCi06RU5EOg0K K1JlbWVtYmVyIHRoYXQgYWxsIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBtdXN0IGJlIGV2YWx1YXRl ZCBiZWZvcmUgbG9hZGluZw0KK2EgdGhlbWUgKFtbI2g6M2YzYzM3MjgtMWIzNC00MzdkLTlkMGMt YjExMGY1YjE2MWE5XVtFbmFibGUgYW5kIGxvYWRdXSkuDQogDQotU3ltYm9sIG5hbWVzOg0KKyoq IE9wdGlvbiBmb3IgbW9yZSBib2xkIGNvbnN0cnVjdHMNCis6cHJvcGVydGllczoNCis6YWx0X3Rp dGxlOiBCb2xkIGNvbnN0cnVjdHMNCis6ZGVzY3JpcHRpb246IFRvZ2dsZSBib2xkIGNvbnN0cnVj dHMgaW4gY29kZQ0KKzpjdXN0b21faWQ6IGg6YjI1NzE0ZjYtMGZiZS00MWY2LTg5YjUtNjkxMmQz MDQwOTFlDQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cw0K IA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cz0NCi0rID1tb2R1 cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cz0NCitTeW1ib2w6IH5tb2R1cy10aGVt ZXMtYm9sZC1jb25zdHJ1Y3Rzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAo ZGVmYXVsdCkNCiAyLiA9dD0NCiANCi1DaG9vc2UgdG8gcmVuZGVyIG1vcmUgZmFjZXMgaW4gc2xh bnRlZCB0ZXh0IChpdGFsaWNzKS4gIFRoaXMgdHlwaWNhbGx5DQotYWZmZWN0cyBkb2N1bWVudGF0 aW9uIHN0cmluZ3MgYW5kIGNvZGUgY29tbWVudHMuDQotDQotVGhlIGRlZmF1bHQgaXMgdG8gbm90 IHVzZSBpdGFsaWNzIHVubGVzcyBpdCBpcyBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS4NCitUaGUgZGVm YXVsdCBpcyB0byB1c2UgYSBib2xkIHR5cG9ncmFwaGljIHdlaWdodCBvbmx5IHdoZW4gaXQgaXMN CityZXF1aXJlZC4NCiANCi0qKiBPcHRpb24gZm9yIGZhaW50IGNvZGUgc3ludGF4IGhpZ2hsaWdo dGluZyAoZGVwcmVjYXRlZCBmb3IgfjAuMTQuMH4pDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRM RTogRmFpbnQgc3ludGF4DQotOkRFU0NSSVBUSU9OOiBUb2dnbGUgc3VidGxlIGNvbG9yYXRpb24g aW4gY29kZSAoZGVwcmVjYXRlZCBmb3IgMC4xNC4wKQ0KLTpDVVNUT01fSUQ6IGg6NzQxMzc5ZmUt NzIwMy00ZGFkLWE3ZjgtYWI3MWY2MWI0M2U2DQotOkVORDoNCitXaXRoIGEgbm9uLW5pbCB2YWx1 ZSAoPXQ9KSBkaXNwbGF5IHNldmVyYWwgc3ludGFjdGljIGNvbnN0cnVjdHMgaW4gYm9sZA0KK3dl aWdodC4gIFRoaXMgY29uY2VybnMga2V5d29yZHMgYW5kIG90aGVyIGltcG9ydGFudCBhc3BlY3Rz IG9mIGNvZGUNCitzeW50YXguICBJdCBhbHNvIGFmZmVjdHMgY2VydGFpbiBtb2RlIGxpbmUgaW5k aWNhdG9ycyBhbmQgY29tbWFuZC1saW5lDQorcHJvbXB0cy4NCiANCi1TeW1ib2wgbmFtZXM6DQor KiogT3B0aW9uIGZvciBtb3JlIHNsYW50ZWQgY29uc3RydWN0cw0KKzpwcm9wZXJ0aWVzOg0KKzph bHRfdGl0bGU6IFNsYW50ZWQgY29uc3RydWN0cw0KKzpkZXNjcmlwdGlvbjogVG9nZ2xlIHNsYW50 ZWQgY29uc3RydWN0cyAoaXRhbGljcykgaW4gY29kZQ0KKzpjdXN0b21faWQ6IGg6OTc3YzkwMGQt MGQ2ZC00ZGJiLTgyZDktYzJhYWU2OTU0M2Q2DQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhl bWVzLXNsYW50ZWQtY29uc3RydWN0cw0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLWZhaW50 LXN5bnRheD0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1lLWZhaW50LXN5bnRheD0NCitTeW1ib2w6 IH5tb2R1cy10aGVtZXMtc2xhbnRlZC1jb25zdHJ1Y3Rzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoN CiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCiAyLiA9dD0NCiANCi1Vc2UgbGVzcyBzYXR1cmF0ZWQg Y29sb3JzIGluIHByb2dyYW1taW5nIG1vZGVzIGZvciBoaWdobGlnaHRpbmcgY29kZQ0KLXN5bnRh eC4gIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSBzYXR1cmF0ZWQgY29sb3JzLg0KK1RoZSBkZWZhdWx0 IGlzIHRvIG5vdCB1c2Ugc2xhbnRlZCB0ZXh0IChpdGFsaWNzKSB1bmxlc3MgaXQgaXMgYWJzb2x1 dGVseQ0KK25lY2Vzc2FyeS4NCiANCi1UaGlzIG9wdGlvbiBlc3NlbnRpYWxseSBhZmZlY3RzIHRo ZSBmb250LWxvY2sgZmFjZXMsIHNvIGl0IG1heSBhbHNvIGhhdmUNCi1pbXBsaWNhdGlvbnMgaW4g b3RoZXIgcGxhY2VzIHRoYXQgYXJlIGhhcmQtd2lyZWQgdG8gcmVseSBkaXJlY3RseSBvbg0KLXRo ZW0gaW5zdGVhZCBvZiBzcGVjaWZ5aW5nIHRoZWlyIG93biBmYWNlcyAod2hpY2ggY291bGQgaW5o ZXJpdCBmcm9tDQotZm9udC1sb2NrIGlmIHRoYXQgaXMgdGhlIGludGVudCkuICBUaGUgYXV0aG9y IGlzIGF3YXJlIG9mID12Yy1kaXI9IGFzIGENCi1jYXNlIGluIHBvaW50Lg0KK1dpdGggYSBub24t bmlsIHZhbHVlICg9dD0pIGNob29zZSB0byByZW5kZXIgbW9yZSBmYWNlcyBpbiBzbGFudGVkIHRl eHQuDQorVGhpcyB0eXBpY2FsbHkgYWZmZWN0cyBkb2N1bWVudGF0aW9uIHN0cmluZ3MgYW5kIGNv ZGUgY29tbWVudHMuDQogDQogKiogT3B0aW9uIGZvciBzeW50YXggaGlnaGxpZ2h0aW5nDQotOlBS T1BFUlRJRVM6DQotOkFMVF9USVRMRTogU3ludGF4IHN0eWxlcw0KLTpERVNDUklQVElPTjogQ2hv b3NlIHRoZSBvdmVyYWxsIGFlc3RoZXRpYyBvZiBjb2RlIHN5bnRheA0KLTpDVVNUT01fSUQ6IGg6 YzExOWQ3YjItZmNkNC00ZTQ0LTg5MGUtNWUyNTczM2Q1ZTUyDQotOkVORDoNCi0NCi1UaGlzIG9w dGlvbiBzdXBlcnNlZGVzIHRoZSAiZmFpbnQgc3ludGF4IiBvbmUgYWhlYWQgb2YgdmVyc2lvbiA9 MC4xNC4wPQ0KLShbWyNoOjc0MTM3OWZlLTcyMDMtNGRhZC1hN2Y4LWFiNzFmNjFiNDNlNl1bT3B0 aW9uIGZvciBmYWludCBjb2RlIHN5bnRheCBoaWdobGlnaHRpbmddXSkuDQorOnByb3BlcnRpZXM6 DQorOmFsdF90aXRsZTogU3ludGF4IHN0eWxlcw0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIHRoZSBv dmVyYWxsIGFlc3RoZXRpYyBvZiBjb2RlIHN5bnRheA0KKzpjdXN0b21faWQ6IGg6YzExOWQ3YjIt ZmNkNC00ZTQ0LTg5MGUtNWUyNTczM2Q1ZTUyDQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhl bWVzLXN5bnRheA0KIA0KLVN5bWJvbCBuYW1lczoNCi0NCi0rID1tb2R1cy1vcGVyYW5kaS10aGVt ZS1zeW50YXg9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXg9DQorU3ltYm9sOiB+bW9k dXMtdGhlbWVzLXN5bnRheH4NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRl ZmF1bHQpDQotMi4gPWZhaW50PQ0KLTMuID15ZWxsb3ctY29tbWVudHM9DQotNC4gPWdyZWVuLXN0 cmluZ3M9DQotNS4gPXllbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdzPQ0KLTYuID1hbHQtc3lu dGF4PQ0KLTcuID1hbHQtc3ludGF4LXllbGxvdy1jb21tZW50cz0NCisyLiB+ZmFpbnR+DQorMy4g fnllbGxvdy1jb21tZW50c34NCis0LiB+Z3JlZW4tc3RyaW5nc34NCis1LiB+eWVsbG93LWNvbW1l bnRzLWdyZWVuLXN0cmluZ3N+DQorNi4gfmFsdC1zeW50YXh+DQorNy4gfmFsdC1zeW50YXgteWVs bG93LWNvbW1lbnRzfg0KKzguIH5mYWludC15ZWxsb3ctY29tbWVudHN+DQogDQogVGhlIGRlZmF1 bHQgc3R5bGUgKG5pbCkgZm9yIGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZyBpcyBhIGJhbGFuY2Vk DQogY29tYmluYXRpb24gb2YgY29sb3JzIG9uIHRoZSBjeWFuLWJsdWUtbWFnZW50YSBzaWRlIG9m IHRoZSBzcGVjdHJ1bS4NCiBUaGVyZSBpcyBsaXR0bGUgdG8gbm8gdXNlIG9mIGdyZWVucywgeWVs bG93cywgb3IgcmVkcywgZXhjZXB0IHdoZW4gaXQgaXMNCiBuZWNlc3NhcnkuDQogDQotT3B0aW9u ID1mYWludD0gaXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUgY2hvaWNlIG9mIHBh bGV0dGUgYnV0DQorT3B0aW9uIH5mYWludH4gaXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBv ZiB0aGUgY2hvaWNlIG9mIHBhbGV0dGUgYnV0DQogYXBwbGllcyBkZXNhdHVyYXRlZCBjb2xvciB2 YWx1ZXMuDQogDQotT3B0aW9uID15ZWxsb3ctY29tbWVudHM9IGFwcGxpZXMgYSB5ZWxsb3cgdGlu dCB0byBjb21tZW50cy4gIFRoZSByZXN0IG9mDQotdGhlIHN5bnRheCBpcyB0aGUgc2FtZSBhcyB0 aGUgZGVmYXVsdC4NCitPcHRpb24gfnllbGxvdy1jb21tZW50c34gYWRkcyBhIHllbGxvdyB0aW50 IHRvIGNvbW1lbnRzLiAgVGhlIHJlc3Qgb2YgdGhlDQorc3ludGF4IGlzIHRoZSBzYW1lIGFzIHRo ZSBkZWZhdWx0Lg0KIA0KLU9wdGlvbiA9Z3JlZW4tc3RyaW5ncz0gcmVwbGFjZXMgdGhlIGJsdWUv Y3lhbi9jb2xkIGNvbG9yIHZhcmlhbnRzIGluDQorT3B0aW9uIH5ncmVlbi1zdHJpbmdzfiByZXBs YWNlcyB0aGUgYmx1ZS9jeWFuL2NvbGQgY29sb3IgdmFyaWFudHMgaW4NCiBzdHJpbmdzIHdpdGgg Z3JlZW5lciBhbHRlcm5hdGl2ZXMuICBUaGUgcmVzdCBvZiB0aGUgc3ludGF4IHJlbWFpbnMgdGhl DQogc2FtZS4NCiANCi1PcHRpb24gPXllbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdzPSBjb21i aW5lcyB5ZWxsb3cgY29tbWVudHMgd2l0aCBncmVlbg0KK09wdGlvbiB+eWVsbG93LWNvbW1lbnRz LWdyZWVuLXN0cmluZ3N+IGNvbWJpbmVzIHllbGxvdyBjb21tZW50cyB3aXRoIGdyZWVuDQogc3Ry aW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRlZmF1bHQgc3ludGF4IGhpZ2hsaWdodGluZyBzdHls ZS4NCiANCi1PcHRpb24gPWFsdC1zeW50YXg9IGV4cGFuZHMgdGhlIGNvbG9yIHBhbGV0dGUgYW5k IGFwcGxpZXMgbmV3IGNvbG9yDQotY29tYmluYXRpb25zLiAgU3RyaW5ncyBhcmUgZ3JlZW4uICBE b2Mgc3RyaW5ncyBhcmUgbWFnZW50YSB0aW50ZWQuDQotQ29tbWVudHMgYXJlIGdyYXkuDQorT3B0 aW9uIH5hbHQtc3ludGF4fiBleHBhbmRzIHRoZSBhY3RpdmUgc3BlY3RydW0gYnkgYXBwbHlpbmcg Y29sb3INCitjb21iaW5hdGlvbnMgd2l0aCBtb3JlIGNvbnRyYXN0aW5nIGh1ZXMgYmV0d2VlbiB0 aGVtLiAgRXhwZWN0IHRvIGZpbmQNCityZWQgYW5kIGdyZWVuIHZhcmlhbnRzIGluIGFkZGl0aW9u IHRvIGN5YW4sIGJsdWUsIG1hZ2VudGEuDQogDQotT3B0aW9uID1hbHQtc3ludGF4LXllbGxvdy1j b21tZW50cz0gY29tYmluZXMgPWFsdC1zeW50YXg9IHdpdGgNCi09eWVsbG93LWNvbW1lbnRzPS4N CitPcHRpb24gfmFsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzfiBjb21iaW5lcyB+YWx0LXN5bnRh eH4gd2l0aA0KK355ZWxsb3ctY29tbWVudHN+Lg0KIA0KLSoqIE9wdGlvbiBmb3Igbm8gZm9udCBt aXhpbmcNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBObyBtaXhlZCBmb250cw0KLTpERVND UklQVElPTjogVG9nZ2xlIG1peGluZyBvZiBmb250IGZhbWlsaWVzDQotOkNVU1RPTV9JRDogaDox MTVlNmMyMy1lZTM1LTRhMTYtOGNlZi1lMmZjYmIwOGUyOGINCi06RU5EOg0KK09wdGlvbiB+ZmFp bnQteWVsbG93LWNvbW1lbnRzfiBjb21iaW5lcyB0aGUgfmZhaW50fiBzdHlsZSB3aXRoDQorfnll bGxvdy1jb21tZW50c34uDQogDQotU3ltYm9sIG5hbWVzOg0KKyoqIE9wdGlvbiBmb3Igbm8gZm9u dCBtaXhpbmcNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBObyBtaXhlZCBmb250cw0KKzpk ZXNjcmlwdGlvbjogVG9nZ2xlIG1peGluZyBvZiBmb250IGZhbWlsaWVzDQorOmN1c3RvbV9pZDog aDoxMTVlNmMyMy1lZTM1LTRhMTYtOGNlZi1lMmZjYmIwOGUyOGINCis6ZW5kOg0KKyMrdmluZGV4 OiBtb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMNCiANCi0rID1tb2R1cy1vcGVyYW5kaS10aGVt ZS1uby1taXhlZC1mb250cz0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRz PQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1uby1taXhlZC1mb250c34NCiANCiBQb3NzaWJsZSB2 YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRlZmF1bHQpDQogMi4gPXQ9DQogDQotQnkgZGVmYXVsdCwg dGhlIHRoZW1lcyBjb25maWd1cmUgc29tZSBzcGFjaW5nLXNlbnNpdGl2ZSBmYWNlcywgc3VjaCBh cw0KLU9yZyB0YWJsZXMgYW5kIGNvZGUgYmxvY2tzLCB0byBhbHdheXMgaW5oZXJpdCBmcm9tIHRo ZSA9Zml4ZWQtcGl0Y2g9IGZhY2UuDQotVGhpcyBpcyB0byBlbnN1cmUgdGhhdCB0aG9zZSBjb25z dHJ1Y3RzIHJlbWFpbiBtb25vc3BhY2VkIHdoZW4gdXNlcnMgb3B0DQotZm9yIHNvbWV0aGluZyBs aWtlIHRoZSBidWlsdC1pbiA9TS14IHZhcmlhYmxlLXBpdGNoLW1vZGU9LiAgT3RoZXJ3aXNlIHRo ZQ0KLWxheW91dCB3b3VsZCBhcHBlYXIgYnJva2VuLiAgVG8gZGlzYWJsZSB0aGlzIGJlaGF2aW91 ciwgc2V0IHRoZSBvcHRpb24NCi10byA9dD0uDQorQnkgZGVmYXVsdCwgdGhlIHRoZW1lcyBjb25m aWd1cmUgc29tZSBzcGFjaW5nLXNlbnNpdGl2ZSBmYWNlcyBsaWtlIE9yZw0KK3RhYmxlcyBhbmQg Y29kZSBibG9ja3MgdG8gYWx3YXlzIGluaGVyaXQgZnJvbSB0aGUgfmZpeGVkLXBpdGNofiBmYWNl Lg0KK1RoaXMgaXMgdG8gZW5zdXJlIHRoYXQgdGhvc2UgY29uc3RydWN0cyByZW1haW4gbW9ub3Nw YWNlZCBldmVuIHdoZW4NCit1c2VycyBvcHQgZm9yIGEgbW9kZSB0aGF0IHJlbWFwcyB0eXBlZmFj ZSBmYW1pbGllcywgc3VjaCBhcyB0aGUgYnVpbHQtaW4NCit7e3trYmQoTS14IHZhcmlhYmxlLXBp dGNoLW1vZGUpfX19LiAgT3RoZXJ3aXNlIHRoZSBsYXlvdXQgd291bGQgYXBwZWFyDQorYnJva2Vu LCBkdWUgdG8gaG93IHNwYWNpbmcgaXMgZG9uZS4gIFRvIGRpc2FibGUgdGhpcyBiZWhhdmlvdXIs IHNldCB0aGUNCitvcHRpb24gdG8gPXQ9Lg0KIA0KIFVzZXJzIG1heSBwcmVmZXIgdG8gdXNlIGFu b3RoZXIgcGFja2FnZSBmb3IgaGFuZGxpbmcgbWl4ZWQgdHlwZWZhY2UNCiBjb25maWd1cmF0aW9u cywgcmF0aGVyIHRoYW4gbGV0dGluZyB0aGUgdGhlbWUgZG8gaXQsIHBlcmhhcHMgYmVjYXVzZSBh DQogcHVycG9zZS1zcGVjaWZpYyBwYWNrYWdlIGhhcyBleHRyYSBmdW5jdGlvbmFsaXR5LiAgVHdv IHBvc3NpYmxlIG9wdGlvbnMNCi1hcmUgPW9yZy12YXJpYWJsZS1waXRjaD0gYW5kID1taXhlZC1w aXRjaD0uDQotDQotKiogT3B0aW9uIGZvciBubyBsaW5rIHVuZGVybGluZSAoZGVwcmVjYXRlZCBm b3IgfjAuMTQuMH4pDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogTGluayB1bmRlcmxpbmUN Ci06REVTQ1JJUFRJT046IFRvZ2dsZSB1bmRlcmxpbmVkIHRleHQgaW4gbGlua3MgKGRlcHJlY2F0 ZWQgZm9yIDAuMTQuMCkNCi06Q1VTVE9NX0lEOiBoOmExYTYzOWU5LWQyNDctNDE0Yy1hMGFkLTA4 YWRhZGNiYzZjMQ0KLTpFTkQ6DQotDQotTm90ZTogZGVwcmVjYXRlZCBhaGVhZCBvZiB2ZXJzaW9u ID0wLjE0LjA9IChbWyNoOmMxMTlkN2IyLWZjZDQtNGU0NC04OTBlLTVlMjU3MzNkNWU1Ml1bT3B0 aW9uIGZvciBsaW5rc11dKS4NCi0NCi1TeW1ib2wgbmFtZXM6DQotDQotKyA9bW9kdXMtb3BlcmFu ZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmU9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1uby1s aW5rLXVuZGVybGluZT0NCi0NCi1Qb3NzaWJsZSB2YWx1ZXM6DQotDQotMS4gPW5pbD0gKGRlZmF1 bHQpDQotMi4gPXQ9DQorYXJlIH5vcmctdmFyaWFibGUtcGl0Y2h+IGFuZCB+bWl4ZWQtcGl0Y2h+ Lg0KIA0KLVJlbW92ZSB0aGUgdW5kZXJsaW5lIGVmZmVjdCBmcm9tIGxpbmtzLCBzeW1ib2xpYyBs aW5rcywgYW5kIGJ1dHRvbnMuDQotVGhlIGRlZmF1bHQgaXMgdG8gYXBwbHkgYW4gdW5kZXJsaW5l Lg0KK1tbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZp Z3VyYXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMpXV0uDQogDQogKiogT3B0aW9uIGZvciBsaW5r cw0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IExpbmsgc3R5bGVzDQotOkRFU0NSSVBUSU9O OiBDaG9vc2UgY29sb3IgaW50ZW5zaXR5IG9yIG5vIHVuZGVybGluZSBmb3IgbGlua3MNCi06Q1VT VE9NX0lEOiBoOmMxMTlkN2IyLWZjZDQtNGU0NC04OTBlLTVlMjU3MzNkNWU1Mg0KLTpFTkQ6DQot DQotVGhpcyBvcHRpb24gc3VwZXJzZWRlcyB0aGUgIm5vIGxpbmsgdW5kZXJsaW5lIiBvbmUgYWhl YWQgb2YgdmVyc2lvbg0KLT0wLjE0LjA9IChbWyNoOmExYTYzOWU5LWQyNDctNDE0Yy1hMGFkLTA4 YWRhZGNiYzZjMV1bT3B0aW9uIGZvciBubyBsaW5rIHVuZGVybGluZV1dKS4NCi0NCi1TeW1ib2wg bmFtZXM6DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogTGluayBzdHlsZXMNCis6ZGVzY3Jp cHRpb246IENob29zZSBhbW9uZyBzZXZlcmFsIHN0eWxlcywgd2l0aCBvciB3aXRob3V0IHVuZGVy bGluZQ0KKzpjdXN0b21faWQ6IGg6YzExOWQ3YjItZmNkNC00ZTQ0LTg5MGUtNWUyNTczM2Q1ZTUy DQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLWxpbmtzDQogDQotKyA9bW9kdXMtb3Bl cmFuZGktdGhlbWUtbGlua3M9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1saW5rcz0NCitTeW1i b2w6IH5tb2R1cy10aGVtZXMtbGlua3N+DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KIDEuID1u aWw9IChkZWZhdWx0KQ0KLTIuID1mYWludD0NCi0zLiA9bmV1dHJhbC11bmRlcmxpbmU9DQotNC4g PWZhaW50LW5ldXRyYWwtdW5kZXJsaW5lPQ0KLTUuID1uby11bmRlcmxpbmU9DQorMi4gfmZhaW50 fg0KKzMuIH5uZXV0cmFsLXVuZGVybGluZX4NCis0LiB+ZmFpbnQtbmV1dHJhbC11bmRlcmxpbmV+ DQorNS4gfm5vLXVuZGVybGluZX4NCis2LiB+dW5kZXJsaW5lLW9ubHl+DQorNy4gfm5ldXRyYWwt dW5kZXJsaW5lLW9ubHl+DQogDQogVGhlIGRlZmF1bHQgc3R5bGUgKG5pbCkgZm9yIGxpbmtzIGlz IHRvIGFwcGx5IGFuIHVuZGVybGluZSBhbmQgYQ0KLXNhdHVyYXRlZCBjb2xvciB0byB0aGUgYWZm ZWN0ZWQgdGV4dC4gIFRoZSBjb2xvciBvZiB0aGUgdHdvIGlzIHRoZQ0KLXNhbWUsIHdoaWNoIG1h a2VzIHRoZSBsaW5rIGZhaXJseSBwcm9taW5lbnQuDQorc2F0dXJhdGVkIGNvbG9yIHRvIHRoZSBh ZmZlY3RlZCB0ZXh0LiAgVGhlIGNvbG9yIG9mIHRoZSB0d28gaXMgdGhlIHNhbWUsDQord2hpY2gg bWFrZXMgdGhlIGxpbmsgZmFpcmx5IHByb21pbmVudC4NCiANCi1PcHRpb24gPWZhaW50PSBmb2xs b3dzIHRoZSBzYW1lIGFwcHJvYWNoIGFzIHRoZSBkZWZhdWx0LCBidXQgdXNlcyBsZXNzDQorT3B0 aW9uIH5mYWludH4gZm9sbG93cyB0aGUgc2FtZSBhcHByb2FjaCBhcyB0aGUgZGVmYXVsdCwgYnV0 IHVzZXMgbGVzcw0KIGludGVuc2UgY29sb3JzLg0KIA0KLU9wdGlvbiA9bmV1dHJhbC11bmRlcmxp bmU9IGNoYW5nZXMgdGhlIHVuZGVybGluZSdzIGNvbG9yIHRvIGEgc3VidGxlDQotZ3JheSwgd2hp bGUgcmV0YWluaW5nIHRoZSBkZWZhdWx0IHRleHQgY29sb3IuDQorT3B0aW9uIH5uZXV0cmFsLXVu ZGVybGluZX4gY2hhbmdlcyB0aGUgdW5kZXJsaW5lJ3MgY29sb3IgdG8gYSBzdWJ0bGUgZ3JheSwN Cit3aGlsZSByZXRhaW5pbmcgdGhlIGRlZmF1bHQgdGV4dCBjb2xvci4NCiANCi1PcHRpb24gPWZh aW50LW5ldXRyYWwtdW5kZXJsaW5lPSBjb21iaW5lcyBhIGRlc2F0dXJhdGVkIHRleHQgY29sb3Ig d2l0aCBhDQorT3B0aW9uIH5mYWludC1uZXV0cmFsLXVuZGVybGluZX4gY29tYmluZXMgYSBkZXNh dHVyYXRlZCB0ZXh0IGNvbG9yIHdpdGggYQ0KIHN1YnRsZSBncmF5IHVuZGVybGluZS4NCiANCi1P cHRpb24gPW5vLXVuZGVybGluZT0gcmVtb3ZlcyBsaW5rIHVuZGVybGluZXMgYWx0b2dldGhlciwg d2hpbGUga2VlcGluZw0KLXRoZWlyIHRleHQgY29sb3IgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQu DQorT3B0aW9uIH5uby11bmRlcmxpbmV+IHJlbW92ZXMgbGluayB1bmRlcmxpbmVzIGFsdG9nZXRo ZXIsIHdoaWxlIHJldGFpbmluZw0KK3RoZWlyIG9yaWdpbmFsIGZhaXJseSB2aXZpZCBjb2xvci4N CiANCi0qKiBPcHRpb24gZm9yIGNvbW1hbmQgcHJvbXB0IHN0eWxlcw0KLTpQUk9QRVJUSUVTOg0K LTpBTFRfVElUTEU6IENvbW1hbmQgcHJvbXB0cw0KLTpERVNDUklQVElPTjogQ2hvb3NlIGFtb25n IHBsYWluLCBzdWJ0bGUsIG9yIGludGVuc2UgcHJvbXB0cw0KLTpDVVNUT01fSUQ6IGg6ZGI1YTlh N2MtMjkyOC00YTI4LWIwZjAtNmYyYjliZDUyYmExDQotOkVORDoNCitPcHRpb24gfnVuZGVybGlu ZS1vbmx5fiBhcHBsaWVzIGEgcHJvbWluZW50IHVuZGVybGluZSB3aGlsZSBtYWtpbmcgdGhlDQor YWZmZWN0ZWQgdGV4dCBjb2xvcmxlc3MgKGl0IHVzZXMgdGhlIHNhbWUgZm9yZWdyb3VuZCBhcyB0 aGUgdGhlbWUncw0KK2RlZmF1bHQpLg0KKw0KK09wdGlvbiB+bmV1dHJhbC11bmRlcmxpbmUtb25s eX4gbWFrZXMgdGhlIHRleHQgY29sb3JsZXNzIHdoaWxlIHVzaW5nIGENCitzdWJ0bGUgZ3JheSB1 bmRlcmxpbmUgYmVsb3cgaXQuDQogDQotU3ltYm9sIG5hbWVzOg0KK05PVEU6IFRoZSBwbGFjZW1l bnQgb2YgdGhlIHVuZGVybGluZSwgaS5lLiBpdHMgcHJveGltaXR5IHRvIHRoZSBhZmZlY3RlZA0K K3RleHQsIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGJ1aWx0LWluIH54LXVuZGVybGluZS1hdC1kZXNj ZW50LWxpbmV+LA0KK354LXVzZS11bmRlcmxpbmUtcG9zaXRpb24tcHJvcGVydGllc34sIH51bmRl cmxpbmUtbWluaW11bS1vZmZzZXR+LiAgUGxlYXNlDQorcmVmZXIgdG8gdGhlaXIgZG9jdW1lbnRh dGlvbiBzdHJpbmdzLg0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdHM9DQotKyA9 bW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHRzPQ0KKyoqIE9wdGlvbiBmb3IgY29tbWFuZCBwcm9t cHQgc3R5bGVzDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogQ29tbWFuZCBwcm9tcHRzDQor OmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgcGxhaW4sIHN1YnRsZSwgb3IgaW50ZW5zZSBwcm9t cHRzDQorOmN1c3RvbV9pZDogaDpkYjVhOWE3Yy0yOTI4LTRhMjgtYjBmMC02ZjJiOWJkNTJiYTEN Cis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtcHJvbXB0cw0KKw0KK1N5bWJvbDogfm1v ZHVzLXRoZW1lcy1wcm9tcHRzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAo ZGVmYXVsdCkNCi0yLiA9c3VidGxlPQ0KLTMuID1pbnRlbnNlPQ0KKzIuIH5zdWJ0bGUtYWNjZW50 ZWR+ICh+c3VidGxlfiBleGlzdHMgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpDQorMy4gfmlu dGVuc2UtYWNjZW50ZWR+ICh+aW50ZW5zZX4gZXhpc3RzIGZvciBiYWNrd2FyZCBjb21wYXRpYmls aXR5KQ0KKzQuIH5zdWJ0bGUtZ3JheX4NCis1LiB+aW50ZW5zZS1ncmF5fg0KIA0KLVRoZSBzeW1i b2xzICJzdWJ0bGUiIGFuZCAiaW50ZW5zZSIgd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGFj Y2VudGVkDQotYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB0byB0aGUgbWluaWJ1ZmZlciBhbmQg b3RoZXIgUkVQTCBwcm9tcHRzIChsaWtlDQotPU0teCBzaGVsbD0gYW5kID1NLXggZXNoZWxsPSku ICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gaXMgdGhhdCB0aGUNCi1sYXR0ZXIgaGFz IGEgbW9yZSBwcm9ub3VuY2VkL25vdGljZWFibGUgZWZmZWN0IHRoYW4gdGhlIGZvcm1lci4NCitU aGUgZGVmYXVsdCBkb2VzIG5vdCB1c2UgYW55IGJhY2tncm91bmQgZm9yIG1pbmlidWZmZXIgYW5k IGNvbW1hbmQgbGluZQ0KK3Byb21wdHMuICBJdCByZWxpZXMgZXhjbHVzaXZlbHkgb24gYW4gYWNj ZW50ZWQgZm9yZWdyb3VuZCBjb2xvci4NCiANCi1UaGUgZGVmYXVsdCBkb2VzIG5vdCB1c2UgYW55 IGJhY2tncm91bmQgZm9yIHN1Y2ggcHJvbXB0cywgd2hpbGUgcmVseWluZw0KLWV4Y2x1c2l2ZWx5 IG9uIGFuIGFjY2VudGVkIGZvcmVncm91bmQgY29sb3IuDQorT3B0aW9ucyB+c3VidGxlLWFjY2Vu dGVkfiBhbmQgfmludGVuc2UtYWNjZW50ZWR+IHdpbGwgY2hhbmdlIGJvdGggdGhlDQorYmFja2dy b3VuZCBhbmQgdGhlIGZvcmVncm91bmQgdmFsdWVzIHRvIHVzZSBhY2NlbnRlZCBjb2xvciBjb21i aW5hdGlvbnMNCit0aGF0IGZvbGxvdyB0aGUgaHVlIG9mIHRoZSBkZWZhdWx0IHN0eWxlcycgZm9y ZWdyb3VuZCAoZS5nLiB0aGUgZGVmYXVsdA0KK21pbmlidWZmZXIgcHJvbXB0IGlzIGN5YW4gdGV4 dCwgc28gdGhlc2UgY29tYmluYXRpb25zIHdpbGwgaW52b2x2ZWQgYQ0KK2N5YW4gYmFja2dyb3Vu ZCBhbmQgYW4gYXBwcm9wcmlhdGUgY3lhbiBmb3JlZ3JvdW5kKS4gIFRoZSBkaWZmZXJlbmNlDQor YmV0d2VlbiB0aGUgdHdvIGlzIHRoYXQgdGhlIGxhdHRlciBoYXMgYSBtb3JlIHByb25vdW5jZWQv bm90aWNlYWJsZQ0KK2VmZmVjdCB0aGFuIHRoZSBmb3JtZXIuDQogDQotKiogT3B0aW9uIGZvciBt b2RlIGxpbmUgcHJlc2VudGF0aW9uDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogTW9kZSBs aW5lDQotOkRFU0NSSVBUSU9OOiBDaG9vc2UgYW1vbmcgcGxhaW4sIHRocmVlLWRpbWVuc2lvbiwg b3IgbW9vZHktY29tcGxpYW50IHN0eWxlcw0KLTpDVVNUT01fSUQ6IGg6Mjc5NDNhZjYtZDk1MC00 MmQwLWJjMjMtMTA2ZTQzZjUwYTI0DQotOkVORDoNCitPcHRpb25zIH5zdWJ0bGUtZ3JheX4sIH5p bnRlbnNlLWdyYXl+IGFyZSBsaWtlIHRoZWlyIGFjY2VudGVkIGNvdW50ZXJwYXJ0cywNCitleGNl cHQgdGhleSB1c2UgZ3JheXNjYWxlIHZhbHVlcy4NCiANCi1TeW1ib2wgbmFtZXM6DQorKiogT3B0 aW9uIGZvciBtb2RlIGxpbmUgcHJlc2VudGF0aW9uDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRs ZTogTW9kZSBsaW5lDQorOmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgc2V2ZXJhbCBzdHlsZXMs IHdpdGggb3Igd2l0aG91dCBib3JkZXJzDQorOmN1c3RvbV9pZDogaDoyNzk0M2FmNi1kOTUwLTQy ZDAtYmMyMy0xMDZlNDNmNTBhMjQNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtbW9k ZS1saW5lDQogDQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5lPQ0KLSsgPW1vZHVz LXZpdmVuZGktdGhlbWUtbW9kZS1saW5lPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1tb2RlLWxp bmV+DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KIDEuID1uaWw9IChkZWZhdWx0KQ0KLTIuID0z ZD0NCi0zLiA9bW9vZHk9DQotDQotVGhlIGRlZmF1bHQgdmFsdWUgKD1uaWw9KSBwcm9kdWNlcyBh IHR3by1kaW1lbnNpb25hbCBlZmZlY3QgYm90aCBmb3IgdGhlDQotYWN0aXZlIGFuZCBpbmFjdGl2 ZSBtb2RlbGluZXMuICBUaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgdHdvIGFyZQ0KLWxpbWl0 ZWQgdG8gZGlzdGluY3Qgc2hhZGVzIG9mIGdyYXlzY2FsZSB2YWx1ZXMsIHdpdGggdGhlIGFjdGl2 ZSBiZWluZw0KLW1vcmUgaW50ZW5zZSB0aGFuIHRoZSBpbmFjdGl2ZS4NCi0NCi1BID0zZD0gc3lt Ym9sIHdpbGwgbWFrZSB0aGUgYWN0aXZlIG1vZGVsaW5lIGxvb2sgbGlrZSBhIHRocmVlLWRpbWVu c2lvbmFsDQorMi4gfjNkfg0KKzMuIH5tb29keX4NCis0LiB+Ym9yZGVybGVzc34NCis1LiB+Ym9y ZGVybGVzcy0zZH4NCis2LiB+Ym9yZGVybGVzcy1tb29keX4NCisNCitUaGUgZGVmYXVsdCBwcm9k dWNlcyBhIHR3by1kaW1lbnNpb25hbCBlZmZlY3QgYm90aCBmb3IgdGhlIGFjdGl2ZSBhbmQNCitp bmFjdGl2ZSBtb2RlbGluZXMuICBUaGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgdHdvIGFyZSBs aW1pdGVkIHRvDQorZGlzdGluY3Qgc2hhZGVzIG9mIGdyYXlzY2FsZSB2YWx1ZXMsIHdpdGggdGhl IGFjdGl2ZSBiZWluZyBtb3JlIGludGVuc2UNCit0aGFuIHRoZSBpbmFjdGl2ZS4NCisNCitPcHRp b24gfjNkfiB3aWxsIG1ha2UgdGhlIGFjdGl2ZSBtb2RlbGluZSBsb29rIGxpa2UgYSB0aHJlZS1k aW1lbnNpb25hbA0KIHJlY3RhbmdsZS4gIEluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gMkQsIHRo b3VnaCB0aGV5IGFyZSBzbGlnaHRseSB0b25lZA0KLWRvd24gcmVsYXRpdmUgdG8gdGhlIGRlZmF1 bHQuICBUaGlzIGFlc3RoZXRpYyBpcyB0aGUgc2FtZSBhcyB3aGF0IHlvdQ0KLWdldCB3aGVuIHlv dSBydW4gRW1hY3Mgd2l0aG91dCBhbnkgY3VzdG9taXphdGlvbnMgKD1lbWFjcyAtUT0gb24gdGhl DQotY29tbWFuZCBsaW5lKS4NCitkb3duIHJlbGF0aXZlIHRvIHRoZSBkZWZhdWx0LiAgVGhpcyBh ZXN0aGV0aWMgaXMgdmlydHVhbGx5IHRoZSBzYW1lIGFzDQord2hhdCB5b3UgZ2V0IHdoZW4geW91 IHJ1biBFbWFjcyB3aXRob3V0IGFueSBjdXN0b21pemF0aW9ucyAoPWVtYWNzIC1RPSBvbg0KK3Ro ZSBjb21tYW5kIGxpbmUpLg0KIA0KLVdoaWxlID1tb29keT0gcmVtb3ZlcyBhbGwgYm94IGVmZmVj dHMgZnJvbSB0aGUgbW9kZWxpbmVzIGFuZCBhcHBsaWVzDQorV2hpbGUgfm1vb2R5fiByZW1vdmVz IGFsbCBib3ggZWZmZWN0cyBmcm9tIHRoZSBtb2RlbGluZXMgYW5kIGFwcGxpZXMNCiB1bmRlcmxp bmUgYW5kIG92ZXJsaW5lIHByb3BlcnRpZXMgaW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biBh IGJpdCB0aGUNCiBpbmFjdGl2ZSBtb2RlbGluZXMuICBUaGlzIGlzIG1lYW50IHRvIG9wdGltaXpl IHRoaW5ncyBmb3IgdXNlIHdpdGggdGhlDQogW1todHRwczovL2dpdGh1Yi5jb20vdGFyc2l1cy9t b29keV1bbW9vZHkgcGFja2FnZV1dIChoZXJlaW5hZnRlciByZWZlcnJlZCB0byBhcyAiTW9vZHki KSwgdGhvdWdoIGl0IGNhbiB3b3JrDQogZmluZSBldmVuIHdpdGhvdXQgaXQuDQogDQorVGhlIH5i b3JkZXJsZXNzfiBvcHRpb24gdXNlcyB0aGUgc2FtZSBjb2xvcnMgYXMgdGhlIGRlZmF1bHQgKG5p bCB2YWx1ZSksDQorYnV0IHJlbW92ZXMgdGhlIGJvcmRlciBlZmZlY3QuICBUaGlzIGlzIGRvbmUg YnkgbWFraW5nIHRoZSBib3ggcHJvcGVydHkNCit1c2UgdGhlIHNhbWUgY29sb3IgYXMgdGhlIGJh Y2tncm91bmQsIGVmZmVjdGl2ZWx5IGJsZW5kaW5nIHRoZSB0d28gYW5kDQorY3JlYXRpbmcgc29t ZSBwYWRkaW5nLg0KKw0KK1RoZSB+Ym9yZGVybGVzcy0zZH4gYW5kIH5ib3JkZXJsZXNzLW1vb2R5 fiBhcHByb3hpbWF0ZSB0aGUgfjNkfiBhbmQgfm1vb2R5fg0KK29wdGlvbnMgcmVzcGVjdGl2ZWx5 LCB3aGlsZSByZW1vdmluZyB0aGUgYm9yZGVycy4gIEhvd2V2ZXIsIHRvIGVuc3VyZQ0KK3RoYXQg dGhlIGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gdmlzaWJsZSwgdGhleSBhcHBseSBhIHNsaWdo dGx5IG1vcmUNCitwcm9taW5lbnQgYmFja2dyb3VuZCB0byB0aGVtIHRoYW4gd2hhdCB0aGVpciBj b3VudGVycGFydHMgZG8gKHNhbWUNCitpbmFjdGl2ZSBiYWNrZ3JvdW5kIGFzIHdpdGggdGhlIGRl ZmF1bHQpLg0KKw0KIE5vdGUgdGhhdCBNb29keSBkb2VzIG5vdCBleHBvc2UgYW55IGZhY2VzIHRo YXQgdGhlIHRoZW1lcyBjb3VsZCBzdHlsZQ0KIGRpcmVjdGx5LiAgSW5zdGVhZCBpdCByZS1wdXJw b3NlcyBleGlzdGluZyBvbmVzIHRvIHJlbmRlciBpdHMgdGFicyBhbmQNCiByaWJib25zLiAgQXMg c3VjaCwgdGhlcmUgbWF5IGJlIGNhc2VzIHdoZXJlIHRoZSBjb250cmFzdCByYXRpbyBmYWxscw0K IGJlbG93IHRoZSA3OjEgdGFyZ2V0IHRoYXQgdGhlIHRoZW1lcyBjb25mb3JtIHdpdGggKFdDQUcg QUFBKS4gIFRvIGhlZGdlDQotYWdhaW5zdCB0aGlzLCB3ZSBjb25maWd1cmUgYSBmYWxsYmFjayBm b3JlZ3JvdW5kIGZvciB0aGUgPW1vb2R5PSBvcHRpb24sDQorYWdhaW5zdCB0aGlzLCB3ZSBjb25m aWd1cmUgYSBmYWxsYmFjayBmb3JlZ3JvdW5kIGZvciB0aGUgfm1vb2R5fiBvcHRpb24sDQogd2hp Y2ggd2lsbCBjb21lIGludG8gZWZmZWN0IHdoZW4gdGhlIGJhY2tncm91bmQgb2YgdGhlIG1vZGVs aW5lIGNoYW5nZXMNCiB0byBzb21ldGhpbmcgbGVzcyBhY2Nlc3NpYmxlLCBzdWNoIGFzIE1vb2R5 IHJpYmJvbnMgKHJlYWQgdGhlIGRvYyBzdHJpbmcNCi1vZiA9c2V0LWZhY2UtYXR0cmlidXRlPSwg c3BlY2lmaWNhbGx5ID06ZGlzdGFudC1mb3JlZ3JvdW5kPSkuICBUaGlzIGZhbGxiYWNrDQotY29t ZXMgaW50byBlZmZlY3Qgd2hlbiBFbWFjcyBkZXRlcm1pbmVzIHRoYXQgdGhlIGJhY2tncm91bmQg YW5kDQotZm9yZWdyb3VuZCBvZiB0aGUgZ2l2ZW4gY29uc3RydWN0IGFyZSB0b28gY2xvc2UgdG8g ZWFjaCBvdGhlciBpbiB0ZXJtcw0KLW9mIGNvbG9yIGRpc3RhbmNlLiAgSW4gZWZmZWN0LCB1c2Vy cyB3b3VsZCBuZWVkIHRvIGV4cGVyaW1lbnQgd2l0aCB0aGUNCi12YXJpYWJsZSA9ZmFjZS1uZWFy LXNhbWUtY29sb3ItdGhyZXNob2xkPSB0byB0cmlnZ2VyIHRoZSBmYWxsYmFjayBjb2xvci4NCi1X ZSBmaW5kIHRoYXQgYSB2YWx1ZSBvZiA9NDUwMDA9IHdvdWxkIHN1ZmZpY2UsIGNvbnRyYXJ5IHRv IHRoZSBkZWZhdWx0DQotPTMwMDAwPS4gIERvIG5vdCBzZXQgdGhlIHZhbHVlIHRvbyBoaWdoLCBi ZWNhdXNlIHRoYXQgd291bGQgaGF2ZSB0aGUNCi1hZHZlcnNlIGVmZmVjdCBvZiBhbHdheXMgb3Zl cnJpZGluZyB0aGUgZGVmYXVsdCBjb2xvciAod2hpY2ggaGFzIGJlZW4NCi1jYXJlZnVsbHkgZGVz aWduZWQgdG8gYmUgaGlnaGx5IGFjY2Vzc2libGUpLg0KK29mIH5zZXQtZmFjZS1hdHRyaWJ1dGV+ LCBzcGVjaWZpY2FsbHkgfjpkaXN0YW50LWZvcmVncm91bmR+KS4gIFRoaXMgZmFsbGJhY2sNCitp cyBhY3RpdmF0ZWQgd2hlbiBFbWFjcyBkZXRlcm1pbmVzIHRoYXQgdGhlIGJhY2tncm91bmQgYW5k IGZvcmVncm91bmQgb2YNCit0aGUgZ2l2ZW4gY29uc3RydWN0IGFyZSB0b28gY2xvc2UgdG8gZWFj aCBvdGhlciBpbiB0ZXJtcyBvZiBjb2xvcg0KK2Rpc3RhbmNlLiAgSW4gZWZmZWN0LCB1c2VycyB3 b3VsZCBuZWVkIHRvIGV4cGVyaW1lbnQgd2l0aCB0aGUgdmFyaWFibGUNCit+ZmFjZS1uZWFyLXNh bWUtY29sb3ItdGhyZXNob2xkfiB0byB0cmlnZ2VyIHRoZSBlZmZlY3QuICBXZSBmaW5kIHRoYXQg YQ0KK3ZhbHVlIG9mID00NTAwMD0gd2lsbCBzdWZmaWNlLCBjb250cmFyeSB0byB0aGUgZGVmYXVs dCA9MzAwMDA9LiAgRG8gbm90IHNldA0KK3RoZSB2YWx1ZSB0b28gaGlnaCwgYmVjYXVzZSB0aGF0 IHdvdWxkIGhhdmUgdGhlIGFkdmVyc2UgZWZmZWN0IG9mIGFsd2F5cw0KK292ZXJyaWRpbmcgdGhl IGRlZmF1bHQgY29sb3IgKHdoaWNoIGhhcyBiZWVuIGNhcmVmdWxseSBkZXNpZ25lZCB0byBiZQ0K K2hpZ2hseSBhY2Nlc3NpYmxlKS4NCiANCiBGdXJ0aGVybW9yZSwgYmVjYXVzZSBNb29keSBleHBl Y3RzIGFuIHVuZGVybGluZSBhbmQgb3ZlcmxpbmUgaW5zdGVhZCBvZg0KLWEgYm94IHN0eWxlLCBp dCBpcyByZWNvbW1lbmRlZCB5b3UgYWxzbyBpbmNsdWRlIHRoaXMgaW4geW91ciBzZXR1cDoNCith IGJveCBzdHlsZSwgaXQgaXMgYWR2aXNlZCB5b3UgaW5jbHVkZSB0aGlzIGluIHlvdXIgc2V0dXA6 DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KIChzZXRxIHgtdW5kZXJsaW5lLWF0LWRlc2Nl bnQtbGluZSB0KQ0KICMrZW5kX3NyYw0KIA0KICoqIE9wdGlvbiBmb3IgY29tcGxldGlvbiBmcmFt ZXdvcmsgYWVzdGhldGljcw0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IENvbXBsZXRpb24g VUlzDQotOkRFU0NSSVBUSU9OOiBDaG9vc2UgYW1vbmcgc3RhbmRhcmQsIG1vZGVyYXRlLCBvciBv cGluaW9uYXRlZCBsb29rcw0KLTpDVVNUT01fSUQ6IGg6ZjFjMjBjMDItN2IzNC00YzM1LTljNjUt OTkxNzBlZmIyODgyDQotOkVORDoNCi0NCi1TeW1ib2wgbmFtZXM6DQorOnByb3BlcnRpZXM6DQor OmFsdF90aXRsZTogQ29tcGxldGlvbiBVSXMNCis6ZGVzY3JpcHRpb246IENob29zZSBhbW9uZyBz dGFuZGFyZCwgbW9kZXJhdGUsIG9yIG9waW5pb25hdGVkIGxvb2tzDQorOmN1c3RvbV9pZDogaDpm MWMyMGMwMi03YjM0LTRjMzUtOWM2NS05OTE3MGVmYjI4ODINCis6ZW5kOg0KKyMrdmluZGV4OiBt b2R1cy10aGVtZXMtY29tcGxldGlvbnMNCiANCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1jb21w bGV0aW9ucz0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zPQ0KK1N5bWJvbDog fm1vZHVzLXRoZW1lcy1jb21wbGV0aW9uc34NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4g PW5pbD0gKGRlZmF1bHQpDQotMi4gPW1vZGVyYXRlPQ0KLTMuID1vcGluaW9uYXRlZD0NCisyLiB+ bW9kZXJhdGV+DQorMy4gfm9waW5pb25hdGVkfg0KIA0KIFRoaXMgaXMgYSBzcGVjaWFsIG9wdGlv biB0aGF0IGhhcyBkaWZmZXJlbnQgZWZmZWN0cyBkZXBlbmRpbmcgb24gdGhlDQogY29tcGxldGlv biBVSS4gIFRoZSBpbnRlcmZhY2VzIGNhbiBiZSBncm91cGVkIGluIHR3byBjYXRlZ29yaWVzLCBi YXNlZA0KQEAgLTY3OSw1MTIgKzY2NSwxMDA4IEBAICoqIE9wdGlvbiBmb3IgY29tcGxldGlvbiBm cmFtZXdvcmsgYWVzdGhldGljcw0KIA0KIEEgdmFsdWUgb2YgPW5pbD0gd2lsbCByZXNwZWN0IHRo ZSBtZXRhcGhvcnMgb2YgZWFjaCBjb21wbGV0aW9uIGZyYW1ld29yay4NCiANCi1UaGUgc3ltYm9s ID1tb2RlcmF0ZT0gd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQgYW5kDQot Zm9yZWdyb3VuZCB0aGF0IGlzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNvbXBsZXRlIGFuZCBmcmll bmRzIHRoaXMNCi1jb25zdGl0dXRlcyBhIGRlcGFydHVyZSBmcm9tIHRoZWlyIGRlZmF1bHQgYWVz dGhldGljcywgaG93ZXZlciB0aGUNCi1kaWZmZXJlbmNlIGlzIHNtYWxsLiAgV2hpbGUgSGVsbSBl dCBhbCB3aWxsIGFwcGVhciBzbGlnaHRseSBkaWZmZXJlbnQNCi10aGFuIHRoZWlyIG9yaWdpbmFs IGxvb2tzLCBhcyB0aGV5IGFyZSB0b25lZCBkb3duIGEgYml0Lg0KK09wdGlvbiB+bW9kZXJhdGV+ IGFwcGxpZXMgYSBjb21iaW5hdGlvbiBvZiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHRoYXQN CitpcyBmYWlybHkgc3VidGxlLiAgRm9yIEljb21wbGV0ZSBhbmQgZnJpZW5kcyB0aGlzIGNvbnN0 aXR1dGVzIGENCitkZXBhcnR1cmUgZnJvbSB0aGVpciBkZWZhdWx0IGFlc3RoZXRpY3MsIGhvd2V2 ZXIgdGhlIGRpZmZlcmVuY2UgaXMNCitzbWFsbC4gIFdoaWxlIEhlbG0sIEl2eSBldCBhbCBhcHBl YXIgc2xpZ2h0bHkgZGlmZmVyZW50IHRoYW4gdGhlaXINCitvcmlnaW5hbCBsb29rcywgYXMgdGhl eSBhcmUgdG9uZWQgZG93biBhIGJpdC4NCiANCi1UaGUgc3ltYm9sID1vcGluaW9uYXRlZD0gd2ls bCBhcHBseSBjb2xvciBjb21iaW5hdGlvbnMgdGhhdCByZWZhc2hpb24gdGhlDQotY29tcGxldGlv biBVSS4gIEZvciB0aGUgSWNvbXBsZXRlIGNhbXAgdGhpcyBtZWFucyB0aGF0IGludGVuc2UNCi1i YWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbWJpbmF0aW9ucyBhcmUgdXNlZDogaW4gZWZmZWN0 IHRoZWlyIGxvb2tzDQotZW11bGF0ZSB0aG9zZSBvZiBJdnkgYW5kIGNvLiBpbiB0aGVpciBvcmln aW5hbCBzdHlsZS4gIFdoZXJlYXMgdGhlIG90aGVyDQotZ3JvdXAgb2YgcGFja2FnZXMgd2lsbCBy ZXZlcnQgdG8gYW4gZXZlbiBtb3JlIG51YW5jZWQgYWVzdGhldGljIHdpdGgNCi1zb21lIGFkZGl0 aW9uYWwgY2hhbmdlcyB0byB0aGUgY2hvaWNlIG9mIGh1ZXMuDQorT3B0aW9uIH5vcGluaW9uYXRl ZH4gdXNlcyBjb2xvciBjb21iaW5hdGlvbnMgdGhhdCByZWZhc2hpb24gdGhlIGNvbXBsZXRpb24N CitVSS4gIEZvciB0aGUgSWNvbXBsZXRlIGNhbXAgdGhpcyBtZWFucyB0aGF0IGludGVuc2UgYmFj a2dyb3VuZCBhbmQNCitmb3JlZ3JvdW5kIGNvbWJpbmF0aW9ucyBhcmUgdXNlZDogaW4gZWZmZWN0 IHRoZWlyIGxvb2tzIGVtdWxhdGUgdGhvc2Ugb2YNCitIZWxtLCBJdnkgYW5kIGNvLiBpbiB0aGVp ciBvcmlnaW5hbCBzdHlsZS4gIFdoZXJlYXMgdGhlIG90aGVyIGdyb3VwIG9mDQorcGFja2FnZXMg d2lsbCByZXZlcnQgdG8gYW4gZXZlbiBtb3JlIG51YW5jZWQgYWVzdGhldGljIHdpdGggc29tZQ0K K2FkZGl0aW9uYWwgY2hhbmdlcyB0byB0aGUgY2hvaWNlIG9mIGh1ZXMuDQogDQogVG8gYXBwcmVj aWF0ZSB0aGUgc2NvcGUgb2YgdGhpcyBjdXN0b21pemF0aW9uIG9wdGlvbiwgeW91IHNob3VsZCBz cGVuZA0KLXNvbWUgdGltZSB3aXRoIGV2ZXJ5IG9uZSBvZiB0aGUgPW5pbD0gKGRlZmF1bHQpLCA9 bW9kZXJhdGU9LCBhbmQgPW9waW5pb25hdGVkPQ0KK3NvbWUgdGltZSB3aXRoIGV2ZXJ5IG9uZSBv ZiB0aGUgPW5pbD0gKGRlZmF1bHQpLCB+bW9kZXJhdGV+LCBhbmQgfm9waW5pb25hdGVkfg0KIHBv c3NpYmlsaXRpZXMuDQogDQogKiogT3B0aW9uIGZvciBmcmluZ2UgdmlzaWJpbGl0eQ0KLTpQUk9Q RVJUSUVTOg0KLTpBTFRfVElUTEU6IEZyaW5nZXMNCi06REVTQ1JJUFRJT046IENob29zZSBhbW9u ZyBwbGFpbiwgc3VidGxlLCBvciBpbnRlbnNlIGZyaW5nZSB2aXNpYmlsaXR5DQotOkNVU1RPTV9J RDogaDoxOTgzYzNmYy03NGY2LTQ0ZjMtYjkxNy05NjdjNDAzYmViYWUNCi06RU5EOg0KKzpwcm9w ZXJ0aWVzOg0KKzphbHRfdGl0bGU6IEZyaW5nZXMNCis6ZGVzY3JpcHRpb246IENob29zZSBhbW9u ZyBpbnZpc2libGUsIHN1YnRsZSwgb3IgaW50ZW5zZSBmcmluZ2Ugc3R5bGVzDQorOmN1c3RvbV9p ZDogaDoxOTgzYzNmYy03NGY2LTQ0ZjMtYjkxNy05NjdjNDAzYmViYWUNCis6ZW5kOg0KKyMrdmlu ZGV4OiBtb2R1cy10aGVtZXMtZnJpbmdlcw0KIA0KLVN5bWJvbCBuYW1lczoNCi0NCi0rID1tb2R1 cy1vcGVyYW5kaS10aGVtZS1mcmluZ2VzPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdl cz0NCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtZnJpbmdlc34NCiANCiBQb3NzaWJsZSB2YWx1ZXM6 DQogDQogMS4gPW5pbD0gKGRlZmF1bHQpDQotMi4gPXN1YnRsZT0NCi0zLiA9aW50ZW5zZT0NCi0N Ci1UaGUgInN1YnRsZSIgc3ltYm9sIHdpbGwgYXBwbHkgYSBncmF5c2NhbGUgYmFja2dyb3VuZCB0 aGF0IGlzIHZpc2libGUsDQoteWV0IGNsb3NlIGVub3VnaCB0byB0aGUgbWFpbiBiYWNrZ3JvdW5k IGNvbG9yLiAgV2hpbGUgdGhlICJpbnRlbnNlIg0KLXN5bWJvbCB3aWxsIHVzZSBhIG1vcmUgbm90 aWNlYWJsZSBncmF5c2NhbGUgYmFja2dyb3VuZC4NCisyLiB+c3VidGxlfg0KKzMuIH5pbnRlbnNl fg0KIA0KIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUgc2FtZSBjb2xvciBhcyB0aGF0IG9mIHRo ZSBtYWluIGJhY2tncm91bmQsDQogbWVhbmluZyB0aGF0IHRoZSBmcmluZ2VzIGFyZSBub3Qgb2J2 aW91cyB0aG91Z2ggdGhleSBzdGlsbCBvY2N1cHkgdGhlDQotc3BhY2UgZ2l2ZW4gdG8gdGhlbSBi eSA9ZnJpbmdlLW1vZGU9Lg0KK3NwYWNlIGdpdmVuIHRvIHRoZW0gYnkgfmZyaW5nZS1tb2Rlfi4N CiANCi0qKiBPcHRpb24gZm9yIGxpbmUgaGlnaGxpZ2h0aW5nIChobC1saW5lLW1vZGUpDQotOlBS T1BFUlRJRVM6DQotOkFMVF9USVRMRTogTGluZSBoaWdobGlnaHRpbmcNCi06REVTQ1JJUFRJT046 IFRvZ2dsZSBpbnRlbnNlIHN0eWxlIGZvciBjdXJyZW50IGxpbmUgaGlnaGxpZ2h0aW5nDQotOkNV U1RPTV9JRDogaDoxZGJhMWNmZS1kMDc5LTRjMTMtYTgxMC1mNzY4ZTg3ODkxNzcNCi06RU5EOg0K K09wdGlvbnMgfnN1YnRsZX4gYW5kIH5pbnRlbnNlfiBhcHBseSBhIGdyYXkgYmFja2dyb3VuZCwg bWFraW5nIHRoZSBmcmluZ2VzDQordmlzaWJsZS4gIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhl IHR3byBpcyBvbmUgb2YgZGVncmVlLCBhcyB0aGVpcg0KK25hbWVzIGltcGx5Lg0KIA0KLVN5bWJv bCBuYW1lczoNCisqKiBPcHRpb24gZm9yIGxhbmd1YWdlIGNoZWNrZXJzDQorOnByb3BlcnRpZXM6 DQorOmFsdF90aXRsZTogTGFuZ3VhZ2UgY2hlY2tlcnMNCis6ZGVzY3JpcHRpb246IENvbnRyb2wg dGhlIHN0eWxlIG9mIGxhbmd1YWdlIGNoZWNrZXJzL2xpbnRlcnMNCis6Y3VzdG9tX2lkOiBoOjRi MTM3NDNhLThlYmYtNGQyYy1hMDQzLWNjZWJhMTBiMWViNA0KKzplbmQ6DQorIyt2aW5kZXg6IG1v ZHVzLXRoZW1lcy1sYW5nLWNoZWNrZXJzDQogDQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtaW50 ZW5zZS1obC1saW5lPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lPQ0K K1N5bWJvbDogfm1vZHVzLXRoZW1lcy1sYW5nLWNoZWNrZXJzfg0KKw0KK1Bvc3NpYmxlIHZhbHVl czoNCisNCisxLiA9bmlsPSAoZGVmYXVsdCkNCisyLiB+c3VidGxlLWZvcmVncm91bmR+DQorMy4g fmludGVuc2UtZm9yZWdyb3VuZH4NCis0LiB+c3RyYWlnaHQtdW5kZXJsaW5lfg0KKzUuIH5zdWJ0 bGUtZm9yZWdyb3VuZC1zdHJhaWdodC11bmRlcmxpbmV+DQorNi4gfmludGVuc2UtZm9yZWdyb3Vu ZC1zdHJhaWdodC11bmRlcmxpbmV+DQorNy4gfmNvbG9yZWQtYmFja2dyb3VuZH4NCisNCitOaWwg KHRoZSBkZWZhdWx0KSBhcHBsaWVzIGEgY29sb3ItY29kZWQgdW5kZXJsaW5lIHRvIHRoZSBhZmZl Y3RlZCB0ZXh0LA0KK3doaWxlIGl0IGxlYXZlcyB0aGUgb3JpZ2luYWwgZm9yZWdyb3VuZCBpbiB0 YWN0LiAgSWYgdGhlIGRpc3BsYXkgc3BlYw0KK3doZXJlIEVtYWNzIHJ1bnMgaW4gaGFzIHN1cHBv cnQgZm9yIGl0IChlLmcuIEVtYWNzIEdVSSksIHRoZSB1bmRlcmxpbmUncw0KK3N0eWxlIGlzIHRo YXQgb2YgYSB3YXZlLCBvdGhlcndpc2UgaXQgaXMgYSBzdHJhaWdodCBsaW5lLg0KKw0KK09wdGlv bnMgfnN1YnRsZS1mb3JlZ3JvdW5kfiBhbmQgfmludGVuc2UtZm9yZWdyb3VuZH4gZm9sbG93IHRo ZSBzYW1lDQorY29sb3ItY29kaW5nIHBhdHRlcm4gYW5kIHdhdnkgdW5kZXJsaW5lIG9mIHRoZSBk ZWZhdWx0LCB3aGlsZSBleHRlbmRpbmcNCitpdCB3aXRoIGEgY29ycmVzcG9uZGluZyBmb3JlZ3Jv dW5kIHZhbHVlIGZvciB0aGUgYWZmZWN0ZWQgdGV4dC4gIFRoZQ0KK2RpZmZlcmVuY2UgYmV0d2Vl biB0aGUgdHdvIG9wdGlvbnMgaXMgb25lIG9mIGRlZ3JlZSwgYXMgdGhlaXIgbmFtZXMNCitzdWdn ZXN0Lg0KKw0KK09wdGlvbiB+c3RyYWlnaHQtdW5kZXJsaW5lfiBpcyBsaWtlIHRoZSBkZWZhdWx0 IGJ1dCBhbHdheXMgYXBwbGllcyBhDQorc3RyYWlnaHQgbGluZSB1bmRlciB0aGUgYWZmZWN0ZWQg dGV4dC4gIFNhbWUgcHJpbmNpcGxlIGZvcg0KK35zdWJ0bGUtZm9yZWdyb3VuZC1zdHJhaWdodC11 bmRlcmxpbmV+IGFuZCBpdHMgY291bnRlcnBhcnQNCit+aW50ZW5zZS1mb3JlZ3JvdW5kLXN0cmFp Z2h0LXVuZGVybGluZX4uDQorDQorT3B0aW9uIH5jb2xvcmVkLWJhY2tncm91bmR+IHVzZXMgYSBz dHJhaWdodCB1bmRlcmxpbmUsIGEgdGludGVkDQorYmFja2dyb3VuZCwgYW5kIGEgc3VpdGFibGUg Zm9yZWdyb3VuZC4gIEFsbCBhcmUgY29sb3ItY29kZWQuICBUaGlzIGlzDQordGhlIG1vc3QgaW50 ZW5zZSBjb21iaW5hdGlvbiBvZiBmYWNlIHByb3BlcnRpZXMuDQorDQorVGhlIHByZXNlbnQgdmFy aWFibGUgYWZmZWN0cyBwYWNrYWdlcyBhbmQvb3IgZmFjZSBncm91cHMgc3VjaCBhcyB0aG9zZQ0K K29mID1mbHlzcGVsbD0sID1mbHltYWtlPSwgPWZseWNoZWNrPSwgfmFydGJvbGxvY2tzLW1vZGV+ LCBhbmQgfndyaXRlZ29vZC1tb2Rlfi4NCisNCitOT1RFOiBUaGUgcGxhY2VtZW50IG9mIHRoZSBz dHJhaWdodCB1bmRlcmxpbmUsIHRob3VnaCBub3QgdGhlIHdhdmUNCitzdHlsZSwgaXMgY29udHJv bGxlZCBieSB0aGUgYnVpbHQtaW4gfngtdW5kZXJsaW5lLWF0LWRlc2NlbnQtbGluZX4sDQorfngt dXNlLXVuZGVybGluZS1wb3NpdGlvbi1wcm9wZXJ0aWVzfiwgfnVuZGVybGluZS1taW5pbXVtLW9m ZnNldH4uICBQbGVhc2UNCityZWZlciB0byB0aGVpciBkb2N1bWVudGF0aW9uIHN0cmluZ3MuDQor DQorKiogT3B0aW9uIGZvciBsaW5lIGhpZ2hsaWdodGluZyAoaGwtbGluZS1tb2RlKQ0KKzpwcm9w ZXJ0aWVzOg0KKzphbHRfdGl0bGU6IExpbmUgaGlnaGxpZ2h0aW5nDQorOmRlc2NyaXB0aW9uOiBU b2dnbGUgaW50ZW5zZSBzdHlsZSBmb3IgY3VycmVudCBsaW5lIGhpZ2hsaWdodGluZw0KKzpjdXN0 b21faWQ6IGg6MWRiYTFjZmUtZDA3OS00YzEzLWE4MTAtZjc2OGU4Nzg5MTc3DQorOmVuZDoNCisj K3ZpbmRleDogbW9kdXMtdGhlbWVzLWludGVuc2UtaGwtbGluZQ0KKw0KK1N5bWJvbDogfm1vZHVz LXRoZW1lcy1pbnRlbnNlLWhsLWxpbmV+DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KIDEuID1u aWw9IChkZWZhdWx0KQ0KIDIuID10PQ0KIA0KLURyYXcgdGhlIGN1cnJlbnQgbGluZSBvZiA9aGwt bGluZS1tb2RlPSBvciBpdHMgZ2xvYmFsIGVxdWl2YWxlbnQgaW4gYSBtb3JlDQotcHJvbWluZW50 IGJhY2tncm91bmQgY29sb3IuICBUaGlzIHdvdWxkIGFsc28gYWZmZWN0IHNldmVyYWwgcGFja2Fn ZXMNCi10aGF0IGVuYWJsZSA9aGwtbGluZS1tb2RlPSwgc3VjaCBhcyA9ZWxmZWVkPSBhbmQgPW11 NGU9Lg0KK1RoZSBkZWZhdWx0IGlzIHRvIHVzZSBhIHN1YnRsZSBncmF5IGJhY2tncm91bmQgZm9y IH5obC1saW5lLW1vZGV+IGFuZCBpdHMNCitnbG9iYWwgZXF1aXZhbGVudC4NCiANCi1UaGUgZGVm YXVsdCBpcyB0byB1c2UgYSBtb3JlIHN1YnRsZSBncmF5Lg0KK1dpdGggYSBub24tbmlsIHZhbHVl ICg9dD0pIHVzZSBhIG1vcmUgcHJvbWluZW50IGJhY2tncm91bmQgY29sb3IgaW5zdGVhZC4NCisN CitUaGlzIGFmZmVjdHMgc2V2ZXJhbCBwYWNrYWdlcyB0aGF0IGVuYWJsZSB+aGwtbGluZS1tb2Rl fiwgc3VjaCBhcyA9ZWxmZWVkPQ0KK2FuZCA9bXU0ZT0uDQorDQorKiogT3B0aW9uIGZvciBsaW5l IG51bWJlcnMgKGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUpDQorOnByb3BlcnRpZXM6DQorOmFs dF90aXRsZTogTGluZSBudW1iZXJzDQorOmRlc2NyaXB0aW9uOiBUb2dnbGUgc3VidGxlIHN0eWxl IGZvciBsaW5lIG51bWJlcnMNCis6Y3VzdG9tX2lkOiBoOjhjNGE2MjMwLTJlNDMtNGFhMi1hNjMx LTNiNzE3OTM5MmUwOQ0KKzplbmQ6DQorIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1zdWJ0bGUtbGlu ZS1udW1iZXJzDQorDQorU3ltYm9sOiB+bW9kdXMtdGhlbWVzLXN1YnRsZS1saW5lLW51bWJlcnN+ DQorDQorUG9zc2libGUgdmFsdWU6DQorDQorMS4gPW5pbD0gKGRlZmF1bHQpDQorMi4gPXQ9DQor DQorVGhlIGRlZmF1bHQgc3R5bGUgZm9yIH5kaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlfiBhbmQg aXRzIGdsb2JhbCB2YXJpYW50DQoraXMgdG8gYXBwbHkgYSBzdWJ0bGUgZ3JheSBiYWNrZ3JvdW5k IHRvIHRoZSBsaW5lIG51bWJlcnMuICBUaGUgY3VycmVudA0KK2xpbmUgaGFzIGEgbW9yZSBwcm9u b3VuY2VkIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRpb24gdG8NCiticmluZyBt b3JlIGF0dGVudGlvbiB0byBpdHNlbGYuDQorDQorU2ltaWxhcmx5LCB0aGUgZmFjZXMgZm9yIH5k aXNwbGF5LWxpbmUtbnVtYmVycy1tYWpvci10aWNrfiBhbmQgaXRzDQorY291bnRlcnBhcnQgfmRp c3BsYXktbGluZS1udW1iZXJzLW1pbm9yLXRpY2t+IHVzZSBhcHByb3ByaWF0ZSBzdHlsZXMgdGhh dA0KK2ludm9sdmUgYSBiZXNwb2tlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRp b24uDQorDQorV2l0aCBhIG5vbi1uaWwgdmFsdWUgKD10PSksIGxpbmUgbnVtYmVycyBoYXZlIG5v IGJhY2tncm91bmQgb2YgdGhlaXIgb3duLg0KK0luc3RlYWQgdGhleSByZXRhaW4gdGhlIHByaW1h cnkgYmFja2dyb3VuZCBvZiB0aGUgdGhlbWUsIGJsZW5kaW5nIHdpdGgNCit0aGUgcmVzdCBvZiB0 aGUgYnVmZmVyLiAgRm9yZWdyb3VuZCB2YWx1ZXMgZm9yIGFsbCByZWxldmFudCBmYWNlcyBhcmUN Cit1cGRhdGVkIHRvIGFjY29tbW9kYXRlIHRoaXMgYWVzdGhldGljLg0KIA0KICoqIE9wdGlvbiBm b3IgcGFyZW50aGVzaXMgbWF0Y2hpbmcgKHNob3ctcGFyZW4tbW9kZSkNCi06UFJPUEVSVElFUzoN Ci06QUxUX1RJVExFOiBNYXRjaGluZyBwYXJlbnRoZXNlcw0KLTpERVNDUklQVElPTjogVG9nZ2xl IGludGVuc2Ugc3R5bGUgZm9yIG1hdGNoaW5nIGRlbGltaXRlcnMvcGFyZW50aGVzZXMNCi06Q1VT VE9NX0lEOiBoOmU2NmE3ZTRkLWE1MTItNGJjNy05Zjg2LWZiYmI1OTIzYmYzNw0KLTpFTkQ6DQor OnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogTWF0Y2hpbmcgcGFyZW50aGVzZXMNCis6ZGVzY3Jp cHRpb246IENob29zZSBiZXR3ZWVuIHZhcmlvdXMgc3R5bGVzIGZvciBtYXRjaGluZyBkZWxpbWl0 ZXJzL3BhcmVudGhlc2VzDQorOmN1c3RvbV9pZDogaDplNjZhN2U0ZC1hNTEyLTRiYzctOWY4Ni1m YmJiNTkyM2JmMzcNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2gN CisNCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2h+DQorDQorUG9zc2libGUgdmFs dWVzOg0KKw0KKzEuID1uaWw9IChkZWZhdWx0KQ0KKzIuIH5zdWJ0bGUtYm9sZH4NCiszLiB+aW50 ZW5zZX4NCis0LiB+aW50ZW5zZS1ib2xkfg0KIA0KLVN5bWJvbCBuYW1lczoNCitOaWwgbWVhbnMg dG8gdXNlIGEgc3VidGxlIHRpbnRlZCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgbWF0Y2hpbmcN CitkZWxpbWl0ZXJzLg0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2UtcGFyZW4t bWF0Y2g9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoPQ0KK09w dGlvbiB+aW50ZW5zZX4gYXBwbGllcyBhIHNhdHVyYXRlZCBiYWNrZ3JvdW5kIGNvbG9yLg0KKw0K K09wdGlvbiB+c3VidGxlLWJvbGR+IGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0LCBidXQgYWxz byBtYWtlcyB1c2Ugb2YNCitib2xkIHR5cG9ncmFwaGljIHdlaWdodCAoaW5oZXJpdHMgdGhlIH5i b2xkfiBmYWNlKS4NCisNCitPcHRpb24gfmludGVuc2UtYm9sZH4gaXMgdGhlIHNhbWUgYXMgfmlu dGVuc2V+LCB3aGlsZSBpdCBhbHNvIHVzZXMgYSBib2xkDQord2VpZ2h0Lg0KKw0KK1RoaXMgY3Vz dG9taXphdGlvbiB2YXJpYWJsZSBhZmZlY3RzIHRvb2xzIHN1Y2ggYXMgdGhlIGJ1aWx0LWluDQor fnNob3ctcGFyZW4tbW9kZX4gYW5kIHRoZSA9c21hcnRwYXJlbnM9IHBhY2thZ2UuDQorDQorKiog T3B0aW9uIGZvciBhY3RpdmUgcmVnaW9uDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogQWN0 aXZlIHJlZ2lvbg0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIGJldHdlZW4gdmFyaW91cyBzdHlsZXMg Zm9yIHRoZSBhY3RpdmUgcmVnaW9uDQorOmN1c3RvbV9pZDogaDo2MDc5ODA2My1iNGFkLTQ1ZWEt YjlhNy1mZjdiNWMwYWI3NGMNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtcmVnaW9u DQorDQorU3ltYm9sOiB+bW9kdXMtdGhlbWVzLXJlZ2lvbn4NCiANCiBQb3NzaWJsZSB2YWx1ZXM6 DQogDQogMS4gPW5pbD0gKGRlZmF1bHQpDQotMi4gPXQ9DQorMi4gfm5vLWV4dGVuZH4NCiszLiB+ Ymctb25seX4NCis0LiB+Ymctb25seS1uby1leHRlbmR+DQogDQotQXBwbHkgYSBtb3JlIGludGVu c2UgYmFja2dyb3VuZCB0byB0aGUgbWF0Y2hpbmcgcGFyZW50aGVzZXMgKG9yDQotZGVsaW1pdGVy cykuICBUaGlzIGFmZmVjdHMgdG9vbHMgc3VjaCBhcyB0aGUgYnVpbHQtaW4gPXNob3ctcGFyZW4t bW9kZT0uDQotVGhlIGRlZmF1bHQgaXMgdG8gdXNlIGEgc3VidGxlIHdhcm0gY29sb3IgZm9yIHRo ZSBiYWNrZ3JvdW5kIG9mIHRob3NlDQotb3ZlcmxheXMuDQorTmlsIG1lYW5zIHRvIG9ubHkgdXNl IGEgcHJvbWluZW50IGdyYXkgYmFja2dyb3VuZCB3aXRoIGEgbmV1dHJhbA0KK2ZvcmVncm91bmQu ICBUaGUgZm9yZWdyb3VuZCBvdmVycmlkZXMgYWxsIHN5bnRheCBoaWdobGlnaHRpbmcuICBUaGUN CityZWdpb24gZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KIA0KLSoqIE9wdGlv biBmb3IgZGlmZiBidWZmZXIgbG9va3MNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBEaWZm cw0KLTpERVNDUklQVElPTjogQ2hvb3NlIGFtb25nIGludGVuc2UsIGRlc2F0dXJhdGVkLCBvciB0 ZXh0LW9ubHkgZGlmZnMNCi06Q1VTVE9NX0lEOiBoOmVhN2FjNTRmLTU4MjctNDliZC1iMDlmLTYy NDI0YjNiNjQyNw0KLTpFTkQ6DQorT3B0aW9uIH5uby1leHRlbmR+IHByZXNlcnZlcyB0aGUgZGVm YXVsdCBhZXN0aGV0aWMgYnV0IHByZXZlbnRzIHRoZSByZWdpb24NCitmcm9tIGV4dGVuZGluZyB0 byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KKw0KK09wdGlvbiB+Ymctb25seX4gYXBwbGllcyBh IGZhaW50IHRpbnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMgZGlzdGluY3QgZnJvbQ0KK2FsbCBvdGhl cnMgdXNlZCBpbiB0aGUgdGhlbWUsIHdoaWxlIGl0IGRvZXMgbm90IG92ZXJyaWRlIGFueSBleGlz dGluZw0KK2NvbG9ycy4gIEl0IGV4dGVuZHMgdG8gdGhlIGVkZ2Ugb2YgdGhlIHdpbmRvdy4NCisN CitPcHRpb24gfmJnLW9ubHktbm8tZXh0ZW5kfiBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSB+Ymct b25seX4gYW5kIH5uby1leHRlbmR+DQorb3B0aW9ucy4NCiANCi1TeW1ib2wgbmFtZXM6DQorKiog T3B0aW9uIGZvciBkaWZmIGJ1ZmZlciBsb29rcw0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6 IERpZmZzDQorOmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgaW50ZW5zZSwgZGVzYXR1cmF0ZWQs IG9yIHRleHQtb25seSBkaWZmcw0KKzpjdXN0b21faWQ6IGg6ZWE3YWM1NGYtNTgyNy00OWJkLWIw OWYtNjI0MjRiM2I2NDI3DQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLWRpZmZzDQog DQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZnM9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVt ZS1kaWZmcz0NCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtZGlmZnN+DQogDQogUG9zc2libGUgdmFs dWVzOg0KIA0KIDEuID1uaWw9IChkZWZhdWx0KQ0KLTIuID1kZXNhdHVyYXRlZD0NCi0yLiA9Zmct b25seT0NCi0NCi1CeSBkZWZhdWx0IHRoZSB0aGVtZXMgd2lsbCBhcHBseSByaWNobHkgY29sb3Jl ZCBiYWNrZ3JvdW5kcyB0byB0aGUNCi1vdXRwdXQgb2YgZGlmZnMsIHN1Y2ggYXMgdGhvc2Ugb2Yg PWRpZmYtbW9kZT0sID1lZGlmZj0sID1zbWVyZ2UtbW9kZT0sIGFuZA0KLT1tYWdpdD0uICBUaGVz ZSBhcmUgY29sb3IgY29tYmluYXRpb25zIG9mIGFuIGFjY2VudGVkIGJhY2tncm91bmQgYW5kDQot Zm9yZWdyb3VuZCBzbyB0aGF0LCBmb3IgZXhhbXBsZSwgYWRkZWQgbGluZXMgaGF2ZSBhIHByb25v dW5jZWQgZ3JlZW4NCi1iYWNrZ3JvdW5kIHdpdGggYW4gYXBwcm9wcmlhdGUgc2hhZGUgb2YgZ3Jl ZW4gZm9yIHRoZSBhZmZlY3RlZCB0ZXh0Lg0KLVdvcmQtd2lzZSBvciAicmVmaW5lZCIgY2hhbmdl cyBmb2xsb3cgdGhpcyBwYXR0ZXJuIGJ1dCB1c2UgZGlmZmVyZW50DQotc2hhZGVzIG9mIHRob3Nl IGNvbG9ycyB0byByZW1haW4gZGlzdGluY3QuDQotDQotQSA9ZGVzYXR1cmF0ZWQ9IHZhbHVlIHRv bmVzIGRvd24gYWxsIHJlbGV2YW50IGNvbG9yIHZhbHVlcy4gIEl0IHN0aWxsDQorMi4gfmRlc2F0 dXJhdGVkfg0KKzMuIH5mZy1vbmx5fg0KKzQuIH5iZy1vbmx5fg0KKzUuIH5kZXV0ZXJhbm9waWF+ DQorDQorQnkgZGVmYXVsdCB0aGUgdGhlbWVzIGFwcGx5IHJpY2ggY29sb3JhdGlvbiB0byB0aGUg b3V0cHV0IG9mIGRpZmZzLCBzdWNoDQorYXMgdGhvc2Ugb2YgfmRpZmYtbW9kZX4sIH5lZGlmZn4s IH5zbWVyZ2UtbW9kZX4sIGFuZCBNYWdpdC4gIFRoZXNlIGFyZQ0KK2NvbG9yIGNvbWJpbmF0aW9u cyBvZiBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHNvIHRoYXQsIGZvcg0K K2V4YW1wbGUsIGFkZGVkIGxpbmVzIGhhdmUgYSBwcm9ub3VuY2VkIGdyZWVuIGJhY2tncm91bmQg d2l0aCBhbg0KK2FwcHJvcHJpYXRlIHNoYWRlIG9mIGdyZWVuIGZvciB0aGUgYWZmZWN0ZWQgdGV4 dC4gIFdvcmQtd2lzZSBvcg0KKyJyZWZpbmVkIiBjaGFuZ2VzIGZvbGxvdyB0aGlzIHBhdHRlcm4g YnV0IHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mIHRob3NlDQorY29sb3JzIHRvIHJlbWFpbiBkaXN0 aW5jdC4NCisNCitPcHRpb24gfmRlc2F0dXJhdGVkfiB0b25lcyBkb3duIGFsbCByZWxldmFudCBj b2xvciB2YWx1ZXMuICBJdCBzdGlsbA0KIGNvbWJpbmVzIGFuIGFjY2VudGVkIGJhY2tncm91bmQg d2l0aCBhbiBhcHByb3ByaWF0ZSBmb3JlZ3JvdW5kLCB5ZXQgaXRzDQotb3ZlcmFsbCBpbXByZXNz aW9uIGlzIHZlcnkgc3VidGxlLiAgUmVmaW5lZCBjaGFuZ2VzIGFyZSBhIGJpdCBtb3JlDQorb3Zl cmFsbCBpbXByZXNzaW9uIGlzIGZhaXJseSBzdWJ0bGUuICBSZWZpbmVkIGNoYW5nZXMgYXJlIGEg Yml0IG1vcmUNCiBpbnRlbnNlIHRvIGZ1bGZpbCB0aGVpciBpbnRlbmRlZCBmdW5jdGlvbiwgdGhv dWdoIHN0aWxsIGxlc3Mgc2F0dXJhdGVkDQogdGhhbiBkZWZhdWx0Lg0KIA0KLVdoaWxlID1mZy1v bmx5PSB3aWxsIHJlbW92ZSBhbGwgYWNjZW50ZWQgYmFja2dyb3VuZHMgYW5kIGluc3RlYWQgcmVs eSBvbg0KLWNvbG9yLWNvZGVkIHRleHQgdG8gZGVub3RlIGNoYW5nZXMuICBGb3IgaW5zdGFuY2Us IGFkZGVkIGxpbmVzIHVzZSBhbg0KLWludGVuc2UgZ3JlZW4gZm9yZWdyb3VuZCwgd2hpbGUgdGhl aXIgYmFja2dyb3VuZCBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdA0KLW9mIHRoZSBidWZmZXIuICBX b3JkLXdpc2UgaGlnaGxpZ2h0cyBzdGlsbCB1c2UgYSBiYWNrZ3JvdW5kIHZhbHVlIHdoaWNoDQot aXMsIG5vbmV0aGVsZXNzLCBtb3JlIHN1YnRsZSB0aGFuIGl0cyBkZWZhdWx0IGVxdWl2YWxlbnQu DQotDQotQ29uY2VybmluZyA9bWFnaXQ9LCBhbiBleHRyYSBzZXQgb2YgdHdlYWtzIGFyZSBpbnRy b2R1Y2VkIGZvciB0aGUgZWZmZWN0DQotb2YgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IGRpZmYg aHVuaywgc28gYXMgdG8gcmVtYWluIGNvbnNpc3RlbnQgd2l0aA0KLXRoZSBvdmVyYWxsIGV4cGVy aWVuY2Ugb2YgdGhhdCBtb2RlLiAgRXhwZWN0IGNoYW5nZXMgdGhhdCBhcmUgY29uc2lzdGVudA0K LXdpdGggdGhlIG92ZXJhbGwgaW50ZW50IG9mIHRoZSBhZm9yZW1lbnRpb25lZC4NCitPcHRpb24g fmZnLW9ubHl+IHdpbGwgcmVtb3ZlIG1vc3QgYWNjZW50ZWQgYmFja2dyb3VuZHMgYW5kIGluc3Rl YWQgcmVseQ0KK29uIGNvbG9yLWNvZGVkIHRleHQgdG8gZGVub3RlIGNoYW5nZXMuICBGb3IgaW5z dGFuY2UsIGFkZGVkIGxpbmVzIHVzZSBhDQorZ3JlZW4gZm9yZWdyb3VuZCwgd2hpbGUgdGhlaXIg YmFja2dyb3VuZCBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdCBvZiB0aGUNCitidWZmZXIuICBXb3Jk LXdpc2UgaGlnaGxpZ2h0cyBzdGlsbCB1c2UgYSBiYWNrZ3JvdW5kIHZhbHVlIHdoaWNoIGlzLA0K K25vbmV0aGVsZXNzLCBtb3JlIHN1YnRsZSB0aGFuIGl0cyBkZWZhdWx0IGVxdWl2YWxlbnQuDQor DQorT3B0aW9uIH5iZy1vbmx5fiBhcHBsaWVzIGNvbG9yLWNvZGVkIGJhY2tncm91bmRzIGJ1dCBk b2VzIG5vdCBvdmVycmlkZQ0KK2FueSBzeW50YXggaGlnaGxpZ2h0aW5nIHRoYXQgbWF5IGJlIHBy ZXNlbnQuICBUaGlzIG1ha2VzIGl0IHN1aXRhYmxlIGZvcg0KK3VzZSB3aXRoIGEgbm9uLW5pbCB2 YWx1ZSBmb3IgfmRpZmYtZm9udC1sb2NrLXN5bnRheH4gKHdoaWNoIGlzIHRoZQ0KK2RlZmF1bHQg Zm9yIH5kaWZmLW1vZGV+IGJ1ZmZlcnMgaW4gRW1hY3MgMjcgb3IgaGlnaGVyKS4NCisNCitPcHRp b24gfmRldXRlcmFub3BpYX4gb3B0aW1pemVzIGZvciByZWQtZ3JlZW4gY29sb3IgZGVmaWNpZW5j eS4gIEl0DQorcmVwbGFjZXMgYWxsIGluc3RhbmNlcyBvZiBncmVlbiB3aXRoIGJsdWUgdmFyaWFu dHMuICBUaGlzIGlzIHRvIGVuc3VyZQ0KK3RoYXQgaW5kaWNhdG9ycyBmb3IgInJlbW92ZWQiIGFu ZCAiYWRkZWQiIHN0YXRlcyBhcmUgbm90IG1pc3Rha2VuIGZvcg0KK2VhY2ggb3RoZXIuDQorDQor Q29uY2VybmluZyBNYWdpdCwgYW4gZXh0cmEgc2V0IG9mIHR3ZWFrcyBhcmUgaW50cm9kdWNlZCBm b3IgdGhlIGVmZmVjdA0KK29mIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBkaWZmIGh1bmssIHNv IGFzIHRvIHJlbWFpbiBhbGlnbmVkIHdpdGggdGhlDQorb3ZlcmFsbCBleHBlcmllbmNlIG9mIHRo YXQgbW9kZS4gIEV4cGVjdCBjaGFuZ2VzIHRoYXQgYXJlIGNvbnNpc3RlbnQNCit3aXRoIHRoZSBv dmVyYWxsIGludGVudCBvZiB0aGUgYWZvcmVtZW50aW9uZWQuICBOb3RlLCBob3dldmVyLCB0aGF0 IHRoZQ0KK35iZy1vbmx5fiBvcHRpb24gd2lsbCBub3QgZGVsaXZlciB0aGUgaW50ZW5kZWQgcmVz dWx0cyBpbiBNYWdpdCBkaWZmcw0KK2JlY2F1c2Ugbm8gc3ludGF4IGhpZ2hsaWdodGluZyBpcyB1 c2VkIHRoZXJlIChsYXN0IGNoZWNrZWQgd2l0aCBNYWdpdA0KK3ZlcnNpb24gMjAyMDExMTYuMTA1 NywgdGhvdWdoIHVwc3RyZWFtIGhhcyBhIHBsYW4gdG8gZXZlbnR1YWxseSBzdXBwb3J0DQorc3Vj aCBhIGZlYXR1cmUtLS10aGlzIGVudHJ5IHNoYWxsIGJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkpLg0K IA0KICoqIE9wdGlvbiBmb3Igb3JnLW1vZGUgYmxvY2sgc3R5bGVzDQotOlBST1BFUlRJRVM6DQot OkFMVF9USVRMRTogT3JnIG1vZGUgYmxvY2tzDQotOkRFU0NSSVBUSU9OOiBDaG9vc2UgYW1vbmcg cGxhaW4sIGdyYXlzY2FsZSwgb3IgcmFpbmJvdyBzdHlsZXMNCi06Q1VTVE9NX0lEOiBoOmI3ZTMy OGMwLTMwMzQtNGRiNy05Y2RmLWQ1YmExMjA4MWNhMg0KLTpFTkQ6DQotDQotU3ltYm9sIG5hbWVz Og0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IE9yZyBtb2RlIGJsb2Nrcw0KKzpkZXNjcmlw dGlvbjogQ2hvb3NlIGFtb25nIHBsYWluLCBncmF5c2NhbGUsIG9yIHJhaW5ib3cgc3R5bGVzDQor OmN1c3RvbV9pZDogaDpiN2UzMjhjMC0zMDM0LTRkYjctOWNkZi1kNWJhMTIwODFjYTINCis6ZW5k Og0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtb3JnLWJsb2Nrcw0KIA0KLSsgPW1vZHVzLW9wZXJh bmRpLXRoZW1lLW9yZy1ibG9ja3M9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tz PQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1vcmctYmxvY2tzfg0KIA0KIFBvc3NpYmxlIHZhbHVl czoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCi0yLiA9Z3JheXNjYWxlPQ0KLTMuID1yYWluYm93 PQ0KKzIuIH5ncmF5c2NhbGV+DQorMy4gfnJhaW5ib3d+DQogDQogVGhlIGRlZmF1bHQgaXMgdG8g dXNlIHRoZSBzYW1lIGJhY2tncm91bmQgYXMgdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlciBmb3INCiB0 aGUgY29udGVudHMgb2YgdGhlIGJsb2NrLg0KIA0KLUEgdmFsdWUgb2YgPWdyYXlzY2FsZT0gd2ls bCBhcHBseSBhIHN1YnRsZSBuZXV0cmFsIGdyYXkgYmFja2dyb3VuZCB0byB0aGUNCi1ibG9jaydz IGNvbnRlbnRzLiAgSXQgd2lsbCBhbHNvIGV4dGVuZCB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93 IHRoZQ0KLWJhY2tncm91bmQgb2YgdGhlICJiZWdpbiIgYW5kICJlbmQiIGJsb2NrIGRlbGltaXRl ciBsaW5lcyAob25seSByZWxldmFudA0KLWZvciBFbWFjcyB2ZXJzaW9ucyA+PSAyNyB3aGVyZSB0 aGUgJ2V4dGVuZCcga2V5d29yZCBpcyByZWNvZ25pc2VkIGJ5DQotPXNldC1mYWNlLWF0dHJpYnV0 ZT0pLg0KK09wdGlvbiB+Z3JheXNjYWxlfiBhcHBsaWVzIGEgc3VidGxlIG5ldXRyYWwgZ3JheSBi YWNrZ3JvdW5kIHRvIHRoZSBibG9jaydzDQorY29udGVudHMuICBJdCB3aWxsIGFsc28gZXh0ZW5k IHRvIHRoZSBlZGdlIG9mIHRoZSB3aW5kb3cgdGhlIGJhY2tncm91bmQNCitvZiB0aGUgImJlZ2lu IiBhbmQgImVuZCIgYmxvY2sgZGVsaW1pdGVyIGxpbmVzIChvbmx5IHJlbGV2YW50IGZvciBFbWFj cw0KK3ZlcnNpb25zID49IDI3IHdoZXJlIHRoZSAnZXh0ZW5kJyBrZXl3b3JkIGlzIHBhcnQgb2Yg dGhlIGZhY2UNCitzcGVjaWZpY2F0aW9ucykuDQogDQotV2hpbGUgPXJhaW5ib3c9IHdpbGwgaW5z dGVhZCB1c2UgYW4gYWNjZW50ZWQgYmFja2dyb3VuZCBmb3IgdGhlIGNvbnRlbnRzDQotb2YgdGhl IGJsb2NrLiAgVGhlIGV4YWN0IGNvbG9yIHdpbGwgZGVwZW5kIG9uIHRoZSBwcm9ncmFtbWluZyBs YW5ndWFnZQ0KLWFuZCBpcyBjb250cm9sbGVkIGJ5IHRoZSA9b3JnLXNyYy1ibG9jay1mYWNlcz0g dmFyaWFibGUgKHJlZmVyIHRvIHRoZQ0KLXRoZW1lJ3Mgc291cmNlIGNvZGUgZm9yIHRoZSBjdXJy ZW50IGFzc29jaWF0aW9uIGxpc3QpLiAgVGhpcyBpcyBtb3N0DQotc3VpdGFibGUgZm9yIHVzZXJz IHdobyB3b3JrIG9uIGxpdGVyYXRlIHByb2dyYW1taW5nIGRvY3VtZW50cyB0aGF0IG1peA0KLWFu ZCBtYXRjaCBzZXZlcmFsIGxhbmd1YWdlcy4NCitPcHRpb24gfnJhaW5ib3d+IHVzZXMgYW4gYWNj ZW50ZWQgYmFja2dyb3VuZCBmb3IgdGhlIGNvbnRlbnRzIG9mIHRoZQ0KK2Jsb2NrLiAgVGhlIGV4 YWN0IGNvbG9yIHdpbGwgZGVwZW5kIG9uIHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZSBhbmQgaXMN Citjb250cm9sbGVkIGJ5IHRoZSB+b3JnLXNyYy1ibG9jay1mYWNlc34gdmFyaWFibGUuICBUaGlz IGlzIG1vc3Qgc3VpdGFibGUNCitmb3IgdXNlcnMgd2hvIHdvcmsgb24gbGl0ZXJhdGUgcHJvZ3Jh bW1pbmcgZG9jdW1lbnRzIHRoYXQgbWl4IGFuZCBtYXRjaA0KK3NldmVyYWwgbGFuZ3VhZ2VzLg0K IA0KIE5vdGUgdGhhdCB0aGUgInJhaW5ib3ciIGJsb2NrcyBtYXkgcmVxdWlyZSB5b3UgdG8gYWxz byByZWxvYWQgdGhlDQotbWFqb3ItbW9kZSBzbyB0aGF0IHRoZSBjb2xvcnMgYXJlIGFwcGxpZWQg cHJvcGVybHk6IHVzZSA9TS14IG9yZy1tb2RlPSBvcg0KLT1NLXggb3JnLW1vZGUtcmVzdGFydD0g dG8gcmVmcmVzaCB0aGUgYnVmZmVyLiAgT3Igc3RhcnQgdHlwaW5nIGluIGVhY2gNCi1jb2RlIGJs b2NrIChpbmVmZmljaWVudCBhdCBzY2FsZSwgYnV0IGl0IHN0aWxsIHdvcmtzKS4NCittYWpvci1t b2RlIHNvIHRoYXQgdGhlIGNvbG9ycyBhcmUgYXBwbGllZCBjb25zaXN0ZW50bHkgdGhyb3VnaG91 dDogdXNlDQore3t7a2JkKE0teCBvcmctbW9kZSl9fX0gb3Ige3t7a2JkKE0teCBvcmctbW9kZS1y ZXN0YXJ0KX19fSB0byByZWZyZXNoIHRoZSBidWZmZXIuDQorT3Igc3RhcnQgdHlwaW5nIGluIGVh Y2ggY29kZSBibG9jayAoaW5lZmZpY2llbnQgYXQgc2NhbGUsIGJ1dCBpdCBzdGlsbA0KK3dvcmtz KS4NCiANCi0qKiBPcHRpb24gZm9yIGhlYWRpbmdzJyBvdmVyYWxsIHN0eWxlDQotOlBST1BFUlRJ RVM6DQotOkFMVF9USVRMRTogSGVhZGluZyBzdHlsZXMNCi06REVTQ1JJUFRJT046IENob29zZSBh bW9uZyBzZXZlcmFsIHN0eWxlcywgYWxzbyBwZXIgaGVhZGluZyBsZXZlbA0KLTpDVVNUT01fSUQ6 IGg6MjcxZWZmMTktOTdhYS00MDkwLTk0MTUtYTY0NjNjMmY5YWUxDQotOkVORDoNCisqKiBPcHRp b24gZm9yIG9yZy1oYWJpdCBncmFwaCBzdHlsZXMNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxl OiBPcmcgYWdlbmRhIGhhYml0cw0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIGFtb25nIHN0YW5kYXJk LCBzaW1wbGlmaWVkLCBvciB0cmFmZmljIGxpZ2h0IHN0eWxlcw0KKzpjdXN0b21faWQ6IGg6Yjdl MzI4YzAtMzAzNC00ZGI3LTljZGYtZDViYTEyMDgxY2EyDQorOmVuZDoNCisjK3ZpbmRleDogbW9k dXMtdGhlbWVzLW9yZy1oYWJpdA0KKw0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1vcmctaGFiaXR+ DQorDQorUG9zc2libGUgdmFsdWVzOg0KKw0KKzEuID1uaWw9IChkZWZhdWx0KQ0KKzIuIH5zaW1w bGlmaWVkfg0KKzMuIH50cmFmZmljLWxpZ2h0fg0KKw0KK1RoZSBkZWZhdWx0IGlzIG1lYW50IHRv IGNvbmZvcm0gd2l0aCB0aGUgb3JpZ2luYWwgYWVzdGhldGljIG9mDQorPW9yZy1oYWJpdD0uICBJ dCBlbXBsb3lzIGFsbCBmb3VyIGNvbG9yIGNvZGVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUNCitv cmctaGFiaXQgc3RhdGVzLS0tY2xlYXIsIHJlYWR5LCBhbGVydCwgYW5kIG92ZXJkdWUtLS13aGls ZQ0KK2Rpc3Rpbmd1aXNoaW5nIGJldHdlZW4gdGhlaXIgcHJlc2VudCBhbmQgZnV0dXJlIHZhcmlh bnRzLiAgVGhpcyByZXN1bHRzDQoraW4gYSB0b3RhbCBvZiBlaWdodCBjb2xvcnMgaW4gdXNlOiBy ZWQsIHllbGxvdywgZ3JlZW4sIGJsdWUsIGluIHRpbnRlZA0KK2FuZCBzaGFkZWQgdmVyc2lvbnMu ICBUaGV5IGNvdmVyIHRoZSBmdWxsIHNldCBvZiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieQ0KK3Ro ZSA9b3JnLWhhYml0PSBjb25zaXN0ZW5jeSBncmFwaC4NCisNCitPcHRpb24gfnNpbXBsaWZpZWR+ IGlzIGxpa2UgdGhlIGRlZmF1bHQgZXhjZXB0IHRoYXQgaXQgcmVtb3ZlcyB0aGUNCitkaWNob3Rv bXkgYmV0d2VlbiBjdXJyZW50IGFuZCBmdXR1cmUgdmFyaWFudHMgYnkgYXBwbHlpbmcgdW5pZm9y bQ0KK2NvbG9yLWNvZGVkIHZhbHVlcy4gIEl0IGFwcGxpZXMgYSB0b3RhbCBvZiBmb3VyIGNvbG9y czogcmVkLCB5ZWxsb3csDQorZ3JlZW4sIGJsdWUuICBUaGV5IHByb2R1Y2UgYSBzaW1wbGlmaWVk IGNvbnNpc3RlbmN5IGdyYXBoIHRoYXQgaXMgbW9yZQ0KK2xlZ2libGUgKG9yIGxlc3MgImJ1c3ki KSB0aGFuIHRoZSBkZWZhdWx0LiAgVGhlIGludGVudCBpcyB0byBzaGlmdCBmb2N1cw0KK3Rvd2Fy ZHMgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhlIGZvdXIgc3RhdGVzIG9mIGEgaGFiaXQgdGFz aywgcmF0aGVyDQordGhhbiBlYWNoIHN0YXRlJ3MgcHJlc2VudC9mdXR1cmUgb3V0bG9vay4NCisN CitPcHRpb24gfnRyYWZmaWMtbGlnaHR+IGZ1cnRoZXIgcmVkdWNlcyB0aGUgYXZhaWxhYmxlIGNv bG9ycyB0byByZWQsDQoreWVsbG93LCBhbmQgZ3JlZW4uICBBcyBpbiB+c2ltcGxpZmllZH4sIHBy ZXNlbnQgYW5kIGZ1dHVyZSB2YXJpYW50cyBhcHBlYXINCit1bmlmb3JtbHksIGJ1dCBkaWZmZXJl bnRseSBmcm9tIGl0LCB0aGUgJ2NsZWFyJyBzdGF0ZSBpcyByZW5kZXJlZCBpbiBhDQorZ3JlZW4g aHVlLCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBibHVlLiAgVGhpcyBpcyBtZWFudCB0byBjYXB0 dXJlIHRoZQ0KK3VzZS1jYXNlIHdoZXJlIGEgaGFiaXQgdGFzayBiZWluZyAidG9vIGVhcmx5IiBp cyBsZXNzIGltcG9ydGFudCB0aGFuIGl0DQorYmVpbmcgInRvbyBsYXRlIi4gIFRoZSBkaWZmZXJl bmNlIGJldHdlZW4gcmVhZHkgYW5kIGNsZWFyIHN0YXRlcyBpcw0KK2F0dGVudWF0ZWQgYnkgcGFp bnRpbmcgYm90aCBvZiB0aGVtIHVzaW5nIHNoYWRlcyBvZiBncmVlbi4gIFRoaXMgb3B0aW9uDQor dGh1cyBoaWdobGlnaHRzIHRoZSBhbGVydCBhbmQgb3ZlcmR1ZSBzdGF0ZXMuDQorDQorKiogT3B0 aW9uIGZvciB0aGUgaGVhZGluZ3MnIG92ZXJhbGwgc3R5bGUNCis6cHJvcGVydGllczoNCis6YWx0 X3RpdGxlOiBIZWFkaW5nIHN0eWxlcw0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIGFtb25nIHNldmVy YWwgc3R5bGVzLCBhbHNvIHBlciBoZWFkaW5nIGxldmVsDQorOmN1c3RvbV9pZDogaDoyNzFlZmYx OS05N2FhLTQwOTAtOTQxNS1hNjQ2M2MyZjlhZTENCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10 aGVtZXMtaGVhZGluZ3MNCiANCiBUaGlzIGlzIGRlZmluZWQgYXMgYW4gYWxpc3QgYW5kLCB0aGVy ZWZvcmUsIHVzZXMgYSBkaWZmZXJlbnQgYXBwcm9hY2gNCiB0aGFuIG90aGVyIGN1c3RvbWl6YXRp b24gb3B0aW9ucyBkb2N1bWVudGVkIGluIHRoaXMgbWFudWFsLg0KIA0KLVN5bWJvbCBuYW1lczoN Ci0NCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncz0NCi0rID1tb2R1cy12aXZlbmRp LXRoZW1lLWhlYWRpbmdzPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1oZWFkaW5nc34NCiANCiBQ b3NzaWJsZSB2YWx1ZXMsIHdoaWNoIGNhbiBiZSBzcGVjaWZpZWQgZm9yIGVhY2ggaGVhZGluZyBs ZXZlbCAoZXhhbXBsZXMNCiBmdXJ0aGVyIGJlbG93KToNCiANCiArIG5pbCAoZGVmYXVsdCBmYWxs YmFjayBvcHRpb24tLS1jb3ZlcnMgYWxsIGhlYWRpbmcgbGV2ZWxzKQ0KICsgPXQ9IChkZWZhdWx0 IHN0eWxlIGZvciBhIHNpbmdsZSBoZWFkaW5nLCB3aGVuIHRoZSBmYWxsYmFjayBkaWZmZXJzKQ0K LSsgPW5vLWJvbGQ9DQotKyA9bGluZT0NCi0rID1saW5lLW5vLWJvbGQ9DQotKyA9cmFpbmJvdz0N Ci0rID1yYWluYm93LWxpbmU9DQotKyA9cmFpbmJvdy1saW5lLW5vLWJvbGQ9DQotKyA9aGlnaGxp Z2h0PQ0KLSsgPWhpZ2hsaWdodC1uby1ib2xkPQ0KLSsgPXJhaW5ib3ctaGlnaGxpZ2h0PQ0KLSsg PXJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQ9DQotKyA9c2VjdGlvbj0NCi0rID1zZWN0aW9uLW5v LWJvbGQ9DQotKyA9cmFpbmJvdy1zZWN0aW9uPQ0KLSsgPXJhaW5ib3ctc2VjdGlvbi1uby1ib2xk PQ0KLQ0KLVRvIGNvbnRyb2wgZmFjZXMgcGVyIGxldmVsIGZyb20gMS04LCB1c2Ugc29tZXRoaW5n IGxpa2UgdGhpcyAoc2FtZSBmb3INCi09bW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncz0pOg0K Kysgfm5vLWJvbGR+DQorKyB+bGluZX4NCisrIH5saW5lLW5vLWJvbGR+DQorKyB+cmFpbmJvd34N CisrIH5yYWluYm93LWxpbmV+DQorKyB+cmFpbmJvdy1saW5lLW5vLWJvbGR+DQorKyB+aGlnaGxp Z2h0fg0KKysgfmhpZ2hsaWdodC1uby1ib2xkfg0KKysgfnJhaW5ib3ctaGlnaGxpZ2h0fg0KKysg fnJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGR+DQorKyB+c2VjdGlvbn4NCisrIH5zZWN0aW9uLW5v LWJvbGR+DQorKyB+cmFpbmJvdy1zZWN0aW9ufg0KKysgfnJhaW5ib3ctc2VjdGlvbi1uby1ib2xk fg0KKysgfm5vLWNvbG9yfg0KKysgfm5vLWNvbG9yLW5vLWJvbGR+DQorDQorVG8gY29udHJvbCBm YWNlcyBwZXIgbGV2ZWwgZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KIA0KICMr YmVnaW5fc3JjIGVtYWNzLWxpc3ANCi0oc2V0cSBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5n cw0KKyhzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KICAgICAgICcoKDEgLiBzZWN0aW9uKQ0K LSAgICAgICAgKDIgLiBsaW5lKQ0KLSAgICAgICAgKDMgLiBoaWdobGlnaHQpDQotICAgICAgICAo dCAuIHJhaW5ib3ctbm8tYm9sZCkpKQ0KKyAgICAgICAgKDIgLiBzZWN0aW9uLW5vLWJvbGQpDQor ICAgICAgICAoMyAuIHJhaW5ib3ctbGluZSkNCisgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5v LWJvbGQpKSkNCiAjK2VuZF9zcmMNCiANCi1UaGUgYWJvdmUgdXNlcyB0aGUgPXNlY3Rpb249IHZh bHVlIGZvciBoZWFkaW5nIGxldmVscyAxLCB0aGUgPWxpbmU9IGZvcg0KLWhlYWRpbmdzIDIsID1o aWdobGlnaHQ9IGZvciAzLiAgQWxsIG90aGVyIGxldmVscyBmYWxsIGJhY2sgdG8NCi09cmFpbmJv dy1saW5lLW5vLWJvbGQ9Lg0KK1RoZSBhYm92ZSB1c2VzIHRoZSB+c2VjdGlvbn4gdmFsdWUgZm9y IGhlYWRpbmcgbGV2ZWxzIDEsIH5zZWN0aW9uLW5vLWJvbGR+DQorZm9yIGhlYWRpbmdzIDIsIH5y YWluYm93LWxpbmV+IGZvciAzLiAgQWxsIG90aGVyIGxldmVscyBmYWxsIGJhY2sgdG8NCit+cmFp bmJvdy1saW5lLW5vLWJvbGR+Lg0KIA0KIFRvIHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBo ZWFkaW5nIGxldmVscywgdXNlIHRoaXMgcGF0dGVybjoNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1s aXNwDQogOzsgQSBnaXZlbiBzdHlsZSBmb3IgZXZlcnkgaGVhZGluZw0KLShzZXRxIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xk KSkpDQorKHNldHEgbW9kdXMtdGhlbWVzLWhlYWRpbmdzDQorICAgICAgJygodCAuIHNlY3Rpb24p KSkNCiANCiA7OyBEZWZhdWx0IGFlc3RoZXRpYyBmb3IgZXZlcnkgaGVhZGluZw0KLShzZXRxIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgJygodCAuIG5pbCkpKQ0KKyhzZXRx IG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAgICAgICcoKSkNCiAjK2VuZF9zcmMNCiANCiBUaGUg ZGVmYXVsdCBzdHlsZSBmb3IgaGVhZGluZ3MgdXNlcyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3Jl Z3JvdW5kDQotdmFsdWUgaW4gY29tYmluYXRpb24gd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2Vp Z2h0LiAgVG8gc3BlY2lmeSB0aGlzDQotc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1p bmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyIGZhbGxiYWNrDQotb3B0aW9uKSwganVzdCBzcGVj aWZ5IHRoZSB2YWx1ZSA9dD0gbGlrZSB0aGlzOg0KK3ZhbHVlIGluIGNvbWJpbmF0aW9uIHdpdGgg Ym9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBUbyBzcGVjaWZ5IHRoaXMNCitzdHlsZSBmb3IgYSBn aXZlbiBsZXZlbCBOLCBhc3N1bWluZyB5b3Ugd2lzaCB0byBoYXZlIGFub3RoZXIgZmFsbGJhY2sN CitvcHRpb24sIGp1c3Qgc3BlY2lmeSB0aGUgdmFsdWUgPXQ9IGxpa2UgdGhpczoNCiANCiAjK2Jl Z2luX3NyYyBlbWFjcy1saXNwDQotKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MN Cisoc2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCiAgICAgICAnKCgxIC4gdCkNCiAgICAgICAg ICgyIC4gbGluZSkNCiAgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCiAjK2Vu ZF9zcmMNCiANCi1BIGRlc2NyaXB0aW9uIG9mIGFsbCBvdGhlciBwb3NzaWJsZSBzdHlsZXM6DQor QSBkZXNjcmlwdGlvbiBvZiBhbGwgb3RoZXIgcG9zc2libGUgc3R5bGVzIGJleW9uZCB0aGUgZGVm YXVsdDoNCiANCi0rID1uby1ib2xkPSByZXRhaW5zIHRoZSBkZWZhdWx0IHRleHQgY29sb3Igd2hp bGUgcmVtb3ZpbmcgdGhlIHR5cG9ncmFwaGljDQotICB3ZWlnaHQuDQorKyB+bm8tYm9sZH4gcmV0 YWlucyB0aGUgZGVmYXVsdCB0ZXh0IGNvbG9yIHdoaWxlIHJlbW92aW5nIHRoZSBib2xkDQorICB0 eXBvZ3JhcGhpYyB3ZWlnaHQuDQogDQotKyA9bGluZT0gaXMgdGhlIHNhbWUgYXMgdGhlIGRlZmF1 bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZSBoZWFkaW5nLg0KKysgfmxpbmV+IGlzIHRoZSBz YW1lIGFzIHRoZSBkZWZhdWx0IHBsdXMgYW4gb3ZlcmxpbmUgYWNyb3NzIHRoZQ0KKyAgaGVhZGlu ZydzIGxlbmd0aC4NCiANCi0rID1saW5lLW5vLWJvbGQ9IGlzIHRoZSBzYW1lIGFzID1saW5lPSB3 aXRob3V0IGJvbGQgd2VpZ2h0Lg0KKysgfmxpbmUtbm8tYm9sZH4gaXMgdGhlIHNhbWUgYXMgfmxp bmV+IHdpdGhvdXQgYm9sZCB3ZWlnaHQuDQogDQotKyA9cmFpbmJvdz0gdXNlcyBhIG1vcmUgY29s b3JmdWwgZm9yZWdyb3VuZCBpbiBjb21iaW5hdGlvbiB3aXRoIGJvbGQNCi0gIHdlaWdodC4NCisr IH5yYWluYm93fiB1c2VzIGEgbW9yZSBjb2xvcmZ1bCBmb3JlZ3JvdW5kIGluIGNvbWJpbmF0aW9u IHdpdGggYm9sZA0KKyAgdHlwb2dyYXBoaWMgd2VpZ2h0Lg0KIA0KLSsgPXJhaW5ib3ctbGluZT0g aXMgdGhlIHNhbWUgYXMgPXJhaW5ib3c9IHBsdXMgYW4gb3ZlcmxpbmUuDQorKyB+cmFpbmJvdy1s aW5lfiBpcyB0aGUgc2FtZSBhcyB+cmFpbmJvd34gcGx1cyBhbiBvdmVybGluZS4NCiANCi0rID1y YWluYm93LWxpbmUtbm8tYm9sZD0gaXMgdGhlIHNhbWUgYXMgPXJhaW5ib3ctbGluZT0gd2l0aG91 dCB0aGUgYm9sZA0KKysgfnJhaW5ib3ctbGluZS1uby1ib2xkfiBpcyB0aGUgc2FtZSBhcyB+cmFp bmJvdy1saW5lfiB3aXRob3V0IHRoZSBib2xkDQogICB3ZWlnaHQuDQogDQotKyA9aGlnaGxpZ2h0 PSByZXRhaW5zIHRoZSBkZWZhdWx0IHN0eWxlIG9mIGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVn cm91bmQNCi0gIGNvbWJpbmVkIHdpdGggYSBib2xkIHdlaWdodCBhbmQgYWRkcyB0byBpdCBhIHN1 YnRsZSBhY2NlbnRlZA0KLSAgYmFja2dyb3VuZC4NCisrIH5oaWdobGlnaHR+IHJldGFpbnMgdGhl IGRlZmF1bHQgc3R5bGUgb2YgYSBmYWlybHkgZGVzYXR1cmF0ZWQNCisgIGZvcmVncm91bmQgY29t YmluZWQgd2l0aCBhIGJvbGQgd2VpZ2h0IGFuZCBhZGRzIHRvIGl0IGEgc3VidGxlDQorICBhY2Nl bnRlZCBiYWNrZ3JvdW5kLg0KIA0KLSsgPWhpZ2hsaWdodC1uby1ib2xkPSBpcyB0aGUgc2FtZSBh cyA9aGlnaGxpZ2h0PSB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuDQorKyB+aGlnaGxpZ2h0LW5vLWJv bGR+IGlzIHRoZSBzYW1lIGFzIH5oaWdobGlnaHR+IHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCiAN Ci0rID1yYWluYm93LWhpZ2hsaWdodD0gaXMgdGhlIHNhbWUgYXMgPWhpZ2hsaWdodD0gYnV0IHdp dGggYSBtb3JlIGNvbG9yZnVsDQotICBmb3JlZ3JvdW5kLg0KKysgfnJhaW5ib3ctaGlnaGxpZ2h0 fiBpcyB0aGUgc2FtZSBhcyB+aGlnaGxpZ2h0fiBidXQgd2l0aCBhIG1vcmUNCisgIGNvbG9yZnVs IGZvcmVncm91bmQuDQogDQotKyA9cmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZD0gaXMgdGhlIHNh bWUgYXMgPXJhaW5ib3ctaGlnaGxpZ2h0PSB3aXRob3V0IGENCi0gIGJvbGQgd2VpZ2h0Lg0KKysg fnJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGR+IGlzIHRoZSBzYW1lIGFzIH5yYWluYm93LWhpZ2hs aWdodH4gd2l0aG91dA0KKyAgYSBib2xkIHdlaWdodC4NCiANCi0rID1zZWN0aW9uPSByZXRhaW5z IHRoZSBkZWZhdWx0IGxvb2tzIGFuZCBhZGRzIHRvIHRoZW0gYm90aCBhbiBvdmVybGluZQ0KKysg fnNlY3Rpb25+IHJldGFpbnMgdGhlIGRlZmF1bHQgbG9va3MgYW5kIGFkZHMgdG8gdGhlbSBib3Ro IGFuIG92ZXJsaW5lDQogICBhbmQgYSBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kLiAgSXQg aXMsIGluIGVmZmVjdCwgYSBjb21iaW5hdGlvbg0KLSAgb2YgdGhlID1saW5lPSBhbmQgPWhpZ2hs aWdodD0gdmFsdWVzLg0KKyAgb2YgdGhlIH5saW5lfiBhbmQgfmhpZ2hsaWdodH4gdmFsdWVzLg0K IA0KLSsgPXNlY3Rpb24tbm8tYm9sZD0gaXMgdGhlIHNhbWUgYXMgPXNlY3Rpb249IHdpdGhvdXQg YSBib2xkIHdlaWdodC4NCisrIH5zZWN0aW9uLW5vLWJvbGR+IGlzIHRoZSBzYW1lIGFzIH5zZWN0 aW9ufiB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuDQogDQotKyA9cmFpbmJvdy1zZWN0aW9uPSBpcyB0 aGUgc2FtZSBhcyA9c2VjdGlvbj0gYnV0IHdpdGggYSBtb3JlIGNvbG9yZnVsDQorKyB+cmFpbmJv dy1zZWN0aW9ufiBpcyB0aGUgc2FtZSBhcyB+c2VjdGlvbn4gYnV0IHdpdGggYSBtb3JlIGNvbG9y ZnVsDQogICBmb3JlZ3JvdW5kLg0KIA0KLSsgPXJhaW5ib3ctc2VjdGlvbi1uby1ib2xkPSBpcyB0 aGUgc2FtZSBhcyA9cmFpbmJvdy1zZWN0aW9uPSB3aXRob3V0IGEgYm9sZA0KLSAgd2VpZ2h0LiIN CisrIH5yYWluYm93LXNlY3Rpb24tbm8tYm9sZH4gaXMgdGhlIHNhbWUgYXMgfnJhaW5ib3ctc2Vj dGlvbn4gd2l0aG91dCBhDQorICBib2xkIHdlaWdodC4NCisNCisrIH5uby1jb2xvcn4gZG9lcyBu b3QgYXBwbHkgYW55IGNvbG9yIHRvIHRoZSBoZWFkaW5nLCBtZWFuaW5nIHRoYXQgaXQNCisgIHVz ZXMgdGhlIGZvcmVncm91bmQgb2YgdGhlIH5kZWZhdWx0fiBmYWNlLiAgSXQgc3RpbGwgcmVuZGVy cyB0aGUgdGV4dA0KKyAgd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0Lg0KIA0KLSoqIE9w dGlvbiBmb3Igc2NhbGVkIGhlYWRpbmdzDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogU2Nh bGVkIGhlYWRpbmdzDQotOkRFU0NSSVBUSU9OOiBUb2dnbGUgc2NhbGluZyBvZiBoZWFkaW5ncw0K LTpDVVNUT01fSUQ6IGg6MDc1ZWIwMjItMzdhNi00MWE0LWEwNDAtY2MxODlmNmJmYTFmDQotOkVO RDoNCisrIH5uby1jb2xvci1uby1ib2xkfiBpcyBsaWtlIH5uby1jb2xvcn4gYnV0IHdpdGhvdXQg dGhlIGJvbGQgd2VpZ2h0Lg0KIA0KLVN5bWJvbCBuYW1lczoNCisqKiBPcHRpb24gZm9yIHNjYWxl ZCBoZWFkaW5ncw0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IFNjYWxlZCBoZWFkaW5ncw0K KzpkZXNjcmlwdGlvbjogVG9nZ2xlIHNjYWxpbmcgb2YgaGVhZGluZ3MNCis6Y3VzdG9tX2lkOiBo OjA3NWViMDIyLTM3YTYtNDFhNC1hMDQwLWNjMTg5ZjZiZmExZg0KKzplbmQ6DQorIyt2aW5kZXg6 IG1vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5ncw0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1l LXNjYWxlLWhlYWRpbmdzPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3M9 DQorU3ltYm9sOiB+bW9kdXMtdGhlbWVzLXNjYWxlLWhlYWRpbmdzfg0KIA0KIFBvc3NpYmxlIHZh bHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCiAyLiA9dD0NCiANCi1NYWtlIGhlYWRpbmdz IGxhcmdlciBpbiBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIG1haW4gdGV4dC4gIFRoaXMgaXMNCi1u b3RpY2VhYmxlIGluIG1vZGVzIGxpa2UgT3JnLiAgVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBz YW1lIHNpemUgZm9yDQotaGVhZGluZ3MgYW5kIGJvZHkgY29weS4NCitUaGUgZGVmYXVsdCBpcyB0 byB1c2UgdGhlIHNhbWUgc2l6ZSBmb3IgaGVhZGluZ3MgYW5kIHBhcmFncmFwaCB0ZXh0Lg0KKw0K K1dpdGggYSBub24tbmlsIHZhbHVlICg9dD0pIG1ha2UgaGVhZGluZ3MgbGFyZ2VyIGluIGhlaWdo dCByZWxhdGl2ZSB0byB0aGUNCittYWluIHRleHQuICBUaGlzIGlzIG5vdGljZWFibGUgaW4gbW9k ZXMgbGlrZSBPcmcsIE1hcmtkb3duLCBhbmQgSW5mby4NCiANCiAqKiogQ29udHJvbCB0aGUgc2Nh bGUgb2YgaGVhZGluZ3MNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBTY2FsZWQgaGVhZGlu ZyBzaXplcw0KLTpERVNDUklQVElPTjogU3BlY2lmeSByYXRlIG9mIGluY3JlYXNlIGZvciBzY2Fs ZWQgaGVhZGluZ3MNCi06Q1VTVE9NX0lEOiBoOjY4NjhiYWExLWJlYmEtNDVlZC1iYWE1LTVmZDY4 MzIyY2NiMw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogU2NhbGVkIGhlYWRp bmcgc2l6ZXMNCis6ZGVzY3JpcHRpb246IFNwZWNpZnkgcmF0ZSBvZiBpbmNyZWFzZSBmb3Igc2Nh bGVkIGhlYWRpbmdzDQorOmN1c3RvbV9pZDogaDo2ODY4YmFhMS1iZWJhLTQ1ZWQtYmFhNS01ZmQ2 ODMyMmNjYjMNCis6ZW5kOg0KIA0KLUluIGFkZGl0aW9uIHRvIHRvZ2dsZXMgZm9yIGVuYWJsaW5n IHNjYWxlZCBoZWFkaW5ncywgdXNlcnMgY2FuIGFsc28NCitJbiBhZGRpdGlvbiB0byB0aGUgdG9n Z2xlIGZvciBlbmFibGluZyBzY2FsZWQgaGVhZGluZ3MsIHVzZXJzIGNhbiBhbHNvDQogc3BlY2lm eSBhIG51bWJlciBvZiB0aGVpciBvd24uDQogDQogKyBJZiBpdCBpcyBhIGZsb2F0aW5nIHBvaW50 LCBzYXksID0xLjU9LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotICBvZiB0aGUg YmFzZSBmb250IHNpemUuICBUaGlzIGlzIHRoZSByZWNvbW1lbmRlZCBtZXRob2QuDQotDQotKyBJ ZiBpdCBpcyBhbiBpbnRlZ2VyLCBpdCBpcyByZWFkIGFzIGFuIGFic29sdXRlIGZvbnQgaGVpZ2h0 LiAgVGhlDQotICBudW1iZXIgaXMgYmFzaWNhbGx5IHRoZSBwb2ludCBzaXplIG11bHRpcGxpZWQg YnkgdGVuLiAgU28gaWYgeW91IHdhbnQNCi0gIGl0IHRvIGJlID0xOHB0PSB5b3UgbXVzdCBwYXNz ID0xODA9LiAgUGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBzZXR0aW5nIGFuDQotICBhYnNvbHV0ZSB2 YWx1ZSBpcyBkaXNjb3VyYWdlZCwgYXMgaXQgd2lsbCBicmVhayB0aGUgbGF5b3V0IHdoZW4geW91 DQotICB0cnkgdG8gY2hhbmdlIGZvbnQgc2l6ZXMgd2l0aCB0aGUgYnVpbHQtaW4gPXRleHQtc2Nh bGUtYWRqdXN0PSBjb21tYW5kDQotICAoc2VlIFtbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUt NzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRpb25zXV0pLg0KKyAgb2YgdGhlIGJhc2UgZm9u dCBzaXplLiAgVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgbWV0aG9kLCBiZWNhdXNlIGl0DQorICB3 aWxsIGFsd2F5cyBhZGFwdCB0byBjaGFuZ2VzIGluIHRoZSBiYXNlIGZvbnQgc2l6ZSwgc3VjaCBh cyB3aGlsZQ0KKyAgdXNpbmcgdGhlIH50ZXh0LXNjYWxlLWFkanVzdH4gY29tbWFuZC4NCisNCisr IElmIGl0IGlzIGFuIGludGVnZXIsIGl0IGlzIHJlYWQgYXMgYW4gYWJzb2x1dGUgZm9udCBoZWln aHQgdGhhdCBpcw0KKyAgMS8xMCBvZiB0aGUgdHlwb2dyYXBoaWMgcG9pbnQgc2l6ZS4gIFRodXMg YSB2YWx1ZSBvZiA9MThwdD0gbXVzdCBiZQ0KKyAgZXhwcmVzc2VkIGFzID0xODA9LiAgU2V0dGlu ZyBhbiBhYnNvbHV0ZSB2YWx1ZSBpcyBkaXNjb3VyYWdlZCwgYXMgaXQNCisgIHdpbGwgYnJlYWsg dGhlIGxheW91dCBpbiBjYXNlcyB3aGVyZSB0aGUgYmFzZSBmb250IHNpemUgbXVzdCBjaGFuZ2Us DQorICBzdWNoIGFzIHdpdGggdGhlIH50ZXh0LXNjYWxlLWFkanVzdH4gY29tbWFuZCAoW1sjaDpk ZWZjZjRmYy04ZmE4LTRjMjktYjEyZS03MTE5NTgyY2M5MjldW0ZvbnQgY29uZmlndXJhdGlvbnNd XSkuDQorICBXaGlsZSB3ZSBkaXNjb3VyYWdlIHVzaW5nIGFic29sdXRlIHZhbHVlcywgd2Ugc3Rp bGwgcHJvdmlkZSBmb3IgdGhpcw0KKyAgb3B0aW9uIGZvciB1c2VycyB3aG8gZG8gbm90IG5lZWQg dG8gcGVyZm9ybSB0ZXh0LXNjYWxpbmcgb3BlcmF0aW9ucyBvcg0KKyAgd2hvIGFyZSBjb250ZW50 IHdpdGggd2hhdGV2ZXIgZGlzY3JlcGFuY2llcyBpbiBoZWlnaHQuDQogDQogQmVsb3cgYXJlIHRo ZSB2YXJpYWJsZXMgaW4gdGhlaXIgZGVmYXVsdCB2YWx1ZXMsIHVzaW5nIHRoZSBmbG9hdGluZw0K LXBvaW50IHBhcmFkaWdtLiAgVGhlIG51bWJlcnMgYXJlIHZlcnkgY29uc2VydmF0aXZlLCBidXQg eW91IGFyZSBmcmVlIHRvDQotY2hhbmdlIHRoZW0gdG8geW91ciBsaWtpbmcsIHN1Y2ggYXMgPTEu Mj0sID0xLjQ9LCA9MS42PSwgPTEuOD0sID0yLjA9LS0tb3IgdXNlIGENCitwb2ludCBwYXJhZGln bS4gIFRoZSBudW1iZXJzIGFyZSB2ZXJ5IGNvbnNlcnZhdGl2ZSwgYnV0IG9uZSBpcyBmcmVlIHRv DQorY2hhbmdlIHRoZW0gdG8gdGhlaXIgbGlraW5nLCBzdWNoIGFzID0xLjI9LCA9MS40PSwgPTEu Nj0sID0xLjg9LCA9Mi4wPS0tLW9yIHVzZSBhDQogcmVzb3VyY2UgZm9yIGZpbmRpbmcgYSBjb25z aXN0ZW50IHNjYWxlOg0KIA0KICMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCi0oc2V0cSBtb2R1cy1v cGVyYW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi0gICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1z Y2FsZS0yIDEuMQ0KLSAgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTMgMS4xNQ0KLSAg ICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQgMS4yDQotICAgICAgbW9kdXMtb3BlcmFu ZGktdGhlbWUtc2NhbGUtNSAxLjMpDQotDQotKHNldHEgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2Fs ZS0xIDEuMDUNCi0gICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTIgMS4xDQotICAgICAg bW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zIDEuMTUNCi0gICAgICBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTQgMS4yDQotICAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS01IDEuMykN Cisoc2V0cSBtb2R1cy10aGVtZXMtc2NhbGUtMSAxLjA1DQorICAgICAgbW9kdXMtdGhlbWVzLXNj YWxlLTIgMS4xDQorICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTMgMS4xNQ0KKyAgICAgIG1vZHVz LXRoZW1lcy1zY2FsZS00IDEuMg0KKyAgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS01IDEuMykNCiAj K2VuZF9zcmMNCiANCitBcyBmb3IgdGhlIGFwcGxpY2F0aW9uIG9mIHRoYXQgc2NhbGUsIHRoZSB2 YXJpYWJsZXMgdGhhdCByYW5nZSBmcm9tDQorfm1vZHVzLXRoZW1lcy1zY2FsZS0xfiB1cCB0byB+ bW9kdXMtdGhlbWVzLXNjYWxlLTR+IGFwcGx5IHRvIHJlZ3VsYXINCitoZWFkaW5ncyB3aXRoaW4g dGhlIGNvbnRleHQgb2YgdGhlIGdpdmVuIG1ham9yIG1vZGUuICBUaGUgZm9ybWVyIGlzIHRoZQ0K K3NtYWxsZXN0LCB3aGlsZSB0aGUgbGF0dGVyIGlzIHRoZSBsYXJnZXN0LiAgIlJlZ3VsYXIgaGVh ZGluZ3MiIGFyZSB0aG9zZQ0KK3RoYXQgaGF2ZSBhIHN0YW5kYXJkIHN5bnRheCBmb3IgdGhlaXIg c2NhbGUsIHN1Y2ggYXMgT3JnIG1vZGUncyBlaWdodA0KK2xldmVscyBvZiBhc3Rlcmlza3Mgb3Ig TWFya2Rvd24ncyBzaXggY29sdW1ucy4NCisNCitXaGVyZWFzIH5tb2R1cy10aGVtZXMtc2NhbGUt NX4gaXMgYXBwbGllZCB0byBzcGVjaWFsIGhlYWRpbmdzIHRoYXQgZG8gbm90DQorY29uZm9ybSB3 aXRoIHRoZSBhZm9yZW1lbnRpb25lZCBzeW50YXgsIHlldCB3aGljaCBhcmUgZXhwZWN0ZWQgdG8g YmUNCitsYXJnZXIgdGhhbiB0aGUgbGFyZ2VzdCB2YWx1ZSBvbiB0aGF0IGltcGxpZWQgc2NhbGUu ICBQdXQgY29uY3JldGVseSwNCitPcmcncyA9Iyt0aXRsZT0gbWV0YSBkYXR1bSBpcyBub3QgcGFy dCBvZiB0aGUgZWlnaHQgbGV2ZWxzIG9mIGhlYWRpbmdzIGluDQorYW4gT3JnIGZpbGUsIHlldCBp cyBzdXBwb3NlZCB0byBzaWduaWZ5IHRoZSBwcmltYXJ5IGhlYWRlci4gIFNpbWlsYXJseSwNCit0 aGUgT3JnIEFnZW5kYSdzIHN0cnVjdHVyZSBoZWFkaW5ncyBhcmUgbm90IHBhcnQgb2YgYSByZWNv Z25pc2FibGUgc2NhbGUNCithbmQgc28gdGhleSBhbHNvIGdldCB+bW9kdXMtdGhlbWVzLXNjYWxl LTV+Lg0KKw0KK1VzZXJzIHdobyB3aXNoIHRvIG1haW50YWluIHNjYWxlZCBoZWFkaW5ncyBmb3Ig dGhlIG5vcm1hbCBzeW50YXggd2hpbGUNCitwcmV2ZW50aW5nIHNwZWNpYWwgaGVhZGluZ3MgZnJv bSBzdGFuZGluZyBvdXQsIGNhbiBhc3NpZ24gYSB2YWx1ZSBvZiA9MS4wPQ0KK3RvIH5tb2R1cy10 aGVtZXMtc2NhbGUtNX4gdG8gbWFrZSBpdCB0aGUgc2FtZSBhcyBib2R5IHRleHQgKG9yIHdoYXRl dmVyDQordmFsdWUgd291bGQgcmVuZGVyIGl0IGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gdGhlIGRl c2lyZWQgcG9pbnQgb2YNCityZWZlcmVuY2UpLg0KKw0KIE5vdGUgdGhhdCBpbiBlYXJsaWVyIHZl cnNpb25zIG9mIE9yZywgc2NhbGluZyB3b3VsZCBvbmx5IGluY3JlYXNlIHRoZQ0KIHNpemUgb2Yg dGhlIGhlYWRpbmcsIGJ1dCBub3Qgb2Yga2V5d29yZHMgdGhhdCB3ZXJlIGFkZGVkIHRvIGl0LCBs aWtlDQogIlRPRE8iLiAgVGhlIGlzc3VlIGhhcyBiZWVuIGZpeGVkIHVwc3RyZWFtOg0KIDxodHRw czovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAtMDktMjQtb3JnLWhlYWRpbmdzLWFkYXB0 Lz4uDQogDQotKiogT3B0aW9uIGZvciB2YXJpYWJsZS1waXRjaCBmb250IGluIGhlYWRpbmdzDQot OlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogSGVhZGluZ3MnIGZvbnQNCi06REVTQ1JJUFRJT046 IFRvZ2dsZSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIGZvbnRzIGluIGhlYWRpbmdzDQotOkNVU1RP TV9JRDogaDo5N2NhY2E3Ni1mYTEzLTQ1NmMtYWVmMS1hMmFhMTY1ZWEyNzQNCi06RU5EOg0KKyoq IE9wdGlvbiBmb3IgdmFyaWFibGUtcGl0Y2ggZm9udCBpbiBVSSBlbGVtZW50cw0KKzpwcm9wZXJ0 aWVzOg0KKzphbHRfdGl0bGU6IFVJIHR5cGVmYWNlDQorOmRlc2NyaXB0aW9uOiBUb2dnbGUgdGhl IHVzZSBvZiB2YXJpYWJsZS1waXRjaCBhY3Jvc3MgdGhlIFVzZXIgSW50ZXJmYWNlDQorOmN1c3Rv bV9pZDogaDoxNmNmNjY2Yy01ZTY1LTQyNGMtYTg1NS03ZWE4YTRhMWZjYWMNCis6ZW5kOg0KKyMr dmluZGV4OiBtb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtdWkNCisNCitTeW1ib2w6IH5tb2R1 cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtdWl+DQorDQorUG9zc2libGUgdmFsdWVzOg0KKw0KKzEu ID1uaWw9IChkZWZhdWx0KQ0KKzIuID10PQ0KKw0KK1RoaXMgb3B0aW9uIGNvbmNlcm5zIFVzZXIg SW50ZXJmYWNlIGVsZW1lbnRzIHRoYXQgYXJlIHVuZGVyIHRoZSBkaXJlY3QNCitjb250cm9sIG9m IEVtYWNzLiAgSW4gcGFydGljdWxhcjogdGhlIG1vZGUgbGluZSwgaGVhZGVyIGxpbmUsIHRhYiBi YXIsDQorYW5kIHRhYiBsaW5lLg0KKw0KK1RoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUgc2FtZSBm b250IGFzIHRoZSByZXN0IG9mIEVtYWNzLCB3aGljaCB1c3VhbGx5DQoraXMgYSBtb25vc3BhY2Vk IGZhbWlseS4NCiANCi1TeW1ib2wgbmFtZXM6DQorV2l0aCBhIG5vbi1uaWwgdmFsdWUgKD10PSkg YXBwbHkgYSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlLiAgVGhpcw0KK2lzIGRvbmUg YnkgYXNzaWduaW5nIHRoZSB+dmFyaWFibGUtcGl0Y2h+IGZhY2UgdG8gdGhlIHJlbGV2YW50IGl0 ZW1zLg0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdz PQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3M9DQorW1sj aDpkZWZjZjRmYy04ZmE4LTRjMjktYjEyZS03MTE5NTgyY2M5MjldW0ZvbnQgY29uZmlndXJhdGlv bnMgZm9yIE9yZyBhbmQgb3RoZXJzXV0uDQorDQorKiogT3B0aW9uIGZvciB2YXJpYWJsZS1waXRj aCBmb250IGluIGhlYWRpbmdzDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogSGVhZGluZ3Mn IHR5cGVmYWNlDQorOmRlc2NyaXB0aW9uOiBUb2dnbGUgdGhlIHVzZSBvZiB2YXJpYWJsZS1waXRj aCBpbiBoZWFkaW5ncw0KKzpjdXN0b21faWQ6IGg6OTdjYWNhNzYtZmExMy00NTZjLWFlZjEtYTJh YTE2NWVhMjc0DQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNo LWhlYWRpbmdzDQorDQorU3ltYm9sOiB+bW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRp bmdzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCiAyLiA9 dD0NCiANCi1DaG9vc2UgdG8gYXBwbHkgYSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkLCBlbHNlICJ2 YXJpYWJsZS1waXRjaCIsDQotdHlwZWZhY2UgdG8gaGVhZGluZ3MgKHN1Y2ggYXMgaW4gT3JnIG1v ZGUpLiAgVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZQ0KLW1haW4gZm9udCBmYW1pbHkuDQorVGhl IGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBtYWluIGZvbnQgZmFtaWx5LCB3aGljaCB0eXBpY2FsbHkg aXMNCittb25vc3BhY2VkLg0KIA0KLVtbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4 MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMpXV0uDQorV2l0 aCBhIG5vbi1uaWwgdmFsdWUgKD10PSkgYXBwbHkgYSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5 cGVmYWNlLCBlbHNlDQorInZhcmlhYmxlLXBpdGNoIiwgdG8gaGVhZGluZ3MgKHN1Y2ggYXMgaW4g T3JnIG1vZGUpLg0KKw0KK1tbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5 XVtGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgYW5kIG90aGVyc11dLg0KIA0KICogQWR2YW5j ZWQgY3VzdG9taXphdGlvbiAoZG8taXQteW91cnNlbGYpDQotOlBST1BFUlRJRVM6DQotOklOREVY OiBjcA0KLTpDVVNUT01fSUQ6IGg6ZjQ2NTFkNTUtOGMwNy00NmFhLWI1MmItYmVkMWU1MzQ2M2Ji DQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOmY0NjUxZDU1LThjMDctNDZh YS1iNTJiLWJlZDFlNTM0NjNiYg0KKzplbmQ6DQogDQotVW5saWtlIHRoZSBwcmVkZWZpbmVkIGN1 c3RvbWl6YXRpb24gb3B0aW9ucyB3aGljaCBmb2xsb3cgYQ0KLXN0cmFpZ2h0Zm9yd2FyZCBwYXR0 ZXJuIG9mIGFsbG93aW5nIHRoZSB1c2VyIHRvIHF1aWNrbHkgc3BlY2lmeSB0aGVpcg0KLXByZWZl cmVuY2UsIHRoZSB0aGVtZXMgYWxzbyBwcm92aWRlIGEgbW9yZSBmbGV4aWJsZSwgYWxiZWl0IGRp ZmZpY3VsdCwNCi1tZWNoYW5pc20gdG8gY29udHJvbCB0aGluZ3Mgd2l0aCBwcmVjaXNpb24gKHNl ZSBbWyNoOmJmMWM4MmYyLTQ2YzctNGViMi1hZDAwLWRkMTFmZGQ4YjUzZl1bQ3VzdG9taXphdGlv biBPcHRpb25zXV0pLg0KK1VubGlrZSB0aGUgcHJlZGVmaW5lZCBjdXN0b21pemF0aW9uIG9wdGlv bnMgd2hpY2ggZm9sbG93IGEgY2xlYXIgcGF0dGVybg0KK29mIGFsbG93aW5nIHRoZSB1c2VyIHRv IHF1aWNrbHkgc3BlY2lmeSB0aGVpciBwcmVmZXJlbmNlLCB0aGUgdGhlbWVzDQorYWxzbyBwcm92 aWRlIGEgbW9yZSBmbGV4aWJsZSwgYWxiZWl0IGRpZmZpY3VsdCwgbWVjaGFuaXNtIHRvIGNvbnRy b2wNCit0aGluZ3Mgd2l0aCBwcmVjaXNpb24gKFtbI2g6YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAt ZGQxMWZkZDhiNTNmXVtDdXN0b21pemF0aW9uIE9wdGlvbnNdXSkuDQogDQogVGhpcyBzZWN0aW9u IGlzIG9mIGludGVyZXN0IG9ubHkgdG8gdXNlcnMgd2hvIGFyZSBwcmVwYXJlZCB0byBtYWludGFp bg0KIHRoZWlyIG93biBsb2NhbCB0d2Vha3MgYW5kIHdobyBhcmUgd2lsbGluZyB0byBkZWFsIHdp dGggYW55IHBvc3NpYmxlDQogaW5jb21wYXRpYmlsaXRpZXMgYmV0d2VlbiB2ZXJzaW9uZWQgcmVs ZWFzZXMgb2YgdGhlIHRoZW1lcy4gIEFzIHN1Y2gsDQogdGhleSBhcmUgbGFiZWxsZWQgYXMgImRv LWl0LXlvdXJzZWxmIiBvciAiRElZIi4NCiANCi0qKiBGdWxsIGFjY2VzcyB0byB0aGUgdGhlbWVz JyBwYWxldHRlDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogVHdlYWsgY29sb3JzIChESVkp DQotOkRFU0NSSVBUSU9OOiBEZWNsYXJlIHlvdXIgb3duIHBhbGV0dGUgb3ZlcnJpZGVzDQotOkNV U1RPTV9JRDogaDoxNDg3YzYzMS1mNGZlLTQ5MGQtOGQ1OC1kNzJmZmEzYmQ0NzQNCi06RU5EOg0K KyoqIFBlci10aGVtZSBjdXN0b21pemF0aW9uIHNldHRpbmdzIChESVkpDQorOnByb3BlcnRpZXM6 DQorOmN1c3RvbV9pZDogaDphODk3YjMwMi04ZTEwLTRhMjYtYmVhYi0zY2FhZWUxZTExOTMNCis6 ZW5kOg0KKw0KK0lmIHlvdSBwcmVmZXIgdG8gbWFpbnRhaW4gZGlmZmVyZW50IGN1c3RvbWl6YXRp b24gb3B0aW9ucyBiZXR3ZWVuIHRoZQ0KK3R3byB0aGVtZXMsIGl0IGlzIGJlc3QgeW91IHdyaXRl IHlvdXIgb3duIGZ1bmN0aW9ucyB0aGF0IGZpcnN0IHNldCB0aG9zZQ0KK29wdGlvbnMgYW5kIHRo ZW4gbG9hZCB0aGUgcmVsZXZhbnQgdGhlbWUuICBUaGUgZm9sbG93aW5nIGNvZGUgZG9lcw0KK2V4 YWN0bHkgdGhhdCBieSBzaW1wbHkgZGlmZmVyZW50aWF0aW5nIHRoZSB0d28gdGhlbWVzIG9uIHRo ZSBjaG9pY2Ugb2YNCitib2xkIGNvbnN0cnVjdHMgaW4gY29kZSBzeW50YXggKGVuYWJsZWQgZm9y IG9uZSwgZGlzYWJsZWQgZm9yIHRoZQ0KK290aGVyKS4NCisNCisjK2JlZ2luX3NyYyBlbWFjcy1s aXNwDQorKGRlZnVuIG15LWRlbW8tbW9kdXMtb3BlcmFuZGkgKCkNCisgIChpbnRlcmFjdGl2ZSkN CisgIChzZXRxIG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMgdCkgOyBFTkFCTEUgYm9sZA0K KyAgKG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpKSkNCisNCisoZGVmdW4gbXktZGVtby1tb2R1 cy12aXZlbmRpICgpDQorICAoaW50ZXJhY3RpdmUpDQorICAoc2V0cSBtb2R1cy10aGVtZXMtYm9s ZC1jb25zdHJ1Y3RzIG5pbCkgOyBESVNBQkxFIGJvbGQNCisgIChtb2R1cy10aGVtZXMtbG9hZC12 aXZlbmRpKSkNCisNCisoZGVmdW4gbXktZGVtby1tb2R1cy10aGVtZXMtdG9nZ2xlICgpDQorICAo aWYgKGVxIChjYXIgY3VzdG9tLWVuYWJsZWQtdGhlbWVzKSAnbW9kdXMtb3BlcmFuZGkpDQorICAg ICAgKG15LWRlbW8tbW9kdXMtdml2ZW5kaSkNCisgICAgKG15LWRlbW8tbW9kdXMtb3BlcmFuZGkp KSkNCisjK2VuZF9zcmMNCisNCitUaGVuIGFzc2lnbiB+bXktZGVtby1tb2R1cy10aGVtZXMtdG9n Z2xlfiB0byBhIGtleSBpbnN0ZWFkIG9mIHRoZQ0KK2VxdWl2YWxlbnQgdGhlIHRoZW1lcyBwcm92 aWRlLg0KKw0KK0ZvciBhIG1vcmUgZWxhYm9yYXRlIGRlc2lnbiwgaXQgaXMgYmV0dGVyIHRvIGlu c3BlY3QgdGhlIHNvdXJjZSBjb2RlIG9mDQorfm1vZHVzLXRoZW1lcy10b2dnbGV+IGFuZCByZWxl dmFudCBmdW5jdGlvbnMuDQorDQorKiogQ2FzZS1ieS1jYXNlIGZhY2Ugc3BlY3MgdXNpbmcgdGhl IHRoZW1lcycgcGFsZXR0ZSAoRElZKQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MTQ4 N2M2MzEtZjRmZS00OTBkLThkNTgtZDcyZmZhM2JkNDc0DQorOmVuZDoNCisjK2ZpbmRleDogbW9k dXMtdGhlbWVzLWNvbG9yDQorIytmaW5kZXg6IG1vZHVzLXRoZW1lcy1jb2xvci1hbHRzDQorIytj aW5kZXg6IEV4dHJhY3RpbmcgaW5kaXZpZHVhbCBjb2xvcnMNCisNCitUaGlzIHNlY3Rpb24gaXMg YWJvdXQgdHdlYWtpbmcgaW5kaXZpZHVhbCBmYWNlcy4gIElmIHlvdSBwbGFuIHRvIGRvDQordGhp bmdzIGF0IHNjYWxlLCBjb25zdWx0IHRoZSBuZXh0IHNlY3Rpb246IFtbI2g6NTFiYTM1NDctYjhj OC00MGQ2LWJhNWEtNDU4NjQ3N2ZkNGFlXVtTZXQgbXVsdGlwbGUgZmFjZXNdXS4NCisNCitXZSBh bHJlYWR5IGNvdmVyZWQgaW4gcHJldmlvdXMgc2VjdGlvbnMgaG93IHRvIHRvZ2dsZSBiZXR3ZWVu IHRoZSB0aGVtZXMNCithbmQgaG93IHRvIGNvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRp bmcuICBXZSBhbHNvIGV4cGxhaW5lZCB0aGF0DQorc29tZSBvZiB0aGUgZnVuY3Rpb25zIG1hZGUg YXZhaWxhYmxlIHRvIHVzZXJzIHdpbGwgZmlyZSB1cCBhIGhvb2sgdGhhdA0KK2NhbiBiZSB1c2Vk IHRvIHBhc3MgdHdlYWtzIGluIHRoZSBwb3N0LXRoZW1lLWxvYWQgcGhhc2UuDQorDQorTm93IGFz c3VtZSB5b3Ugd2lzaCB0byBjaGFuZ2UgYSBzaW5nbGUgZmFjZSwgc2F5LCB0aGUgfmN1cnNvcn4u ICBBbmQgeW91DQord291bGQgbGlrZSB0byBnZXQgdGhlIHN0YW5kYXJkICJibHVlIiBjb2xvciB2 YWx1ZSBvZiB0aGUgYWN0aXZlIE1vZHVzDQordGhlbWUsIHdoZXRoZXIgaXQgaXMgTW9kdXMgT3Bl cmFuZGkgb3IgTW9kdXMgVml2ZW5kaS4gIFRvIGRvIHRoYXQsIHlvdQ0KK2NhbiB1c2UgdGhlIH5t b2R1cy10aGVtZXMtY29sb3J+IGZ1bmN0aW9uLiAgSXQgYWNjZXB0cyBhIHN5bWJvbCB0aGF0IGlz DQorYXNzb2NpYXRlZCB3aXRoIGEgY29sb3IgaW4gfm1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xv cnN+IGFuZA0KK35tb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnN+LiAgTGlrZSB0aGlzOg0KKw0K KyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisobW9kdXMtdGhlbWVzLWNvbG9yICdibHVlKQ0KKyMr ZW5kX3NyYw0KKw0KK1RoZSBmdW5jdGlvbiBhbHdheXMgZXh0cmFjdHMgdGhlIGNvbG9yIHZhbHVl IG9mIHRoZSBhY3RpdmUgTW9kdXMgdGhlbWUuDQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0K Kyhwcm9nbg0KKyAgKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQpDQorICAobW9kdXMtdGhl bWVzLWNvbG9yICdibHVlKSkgICAgICAgICAgIDsgIiMwMDMxYTkiIGZvciBgbW9kdXMtb3BlcmFu ZGknDQorDQorKHByb2duDQorICAobG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0KQ0KKyAgKG1v ZHVzLXRoZW1lcy1jb2xvciAnYmx1ZSkpICAgICAgICAgICA7ICIjMmZhZmZmIiBmb3IgYG1vZHVz LXZpdmVuZGknDQorIytlbmRfc3JjDQorDQorRG8ge3t7a2JkKEMtaCB2KX19fSBvbiB0aGUgYWZv cmVtZW50aW9uZWQgdmFyaWFibGVzIHRvIGNoZWNrIGFsbCB0aGUgYXZhaWxhYmxlDQorc3ltYm9s cyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhpcyBmdW5jdGlvbi4NCisNCitXaXRoIHRoYXQgZ3Jh bnRlZCwgbGV0IHVzIGV4cGFuZCB0aGUgZXhhbXBsZSB0byBhY3R1YWxseSBjaGFuZ2UgdGhlDQor fmN1cnNvcn4gZmFjZSdzIGJhY2tncm91bmQgcHJvcGVydHkuICBXZSBlbXBsb3kgdGhlIGJ1aWx0 LWluIGZ1bmN0aW9uIG9mDQorfnNldC1mYWNlLWF0dHJpYnV0ZX46DQorDQorIytiZWdpbl9zcmMg ZW1hY3MtbGlzcA0KKyhzZXQtZmFjZS1hdHRyaWJ1dGUgJ2N1cnNvciBuaWwgOmJhY2tncm91bmQg KG1vZHVzLXRoZW1lcy1jb2xvciAnYmx1ZSkpDQorIytlbmRfc3JjDQorDQorSWYgeW91IGV2YWx1 YXRlIHRoaXMgZm9ybSwgeW91ciBjdXJzb3Igd2lsbCBiZWNvbWUgYmx1ZS4gIEJ1dCBpZiB5b3UN CitjaGFuZ2UgdGhlbWVzLCBzdWNoIGFzIHdpdGggfm1vZHVzLXRoZW1lcy10b2dnbGV+LCB5b3Vy IGVkaXRzIHdpbGwgYmUNCitsb3N0LCBiZWNhdXNlIHRoZSBuZXdseSBsb2FkZWQgdGhlbWUgd2ls bCBvdmVycmlkZSB0aGUgPTpiYWNrZ3JvdW5kPQ0KK2F0dHJpYnV0ZSB5b3UgaGFkIGFzc2lnbmVk IHRvIHRoYXQgZmFjZS4NCiANCi1UaGUgdmFyaWFibGVzIGFyZToNCitGb3Igc3VjaCBjaGFuZ2Vz IHRvIHBlcnNpc3QsIHdlIG5lZWQgdG8gbWFrZSB0aGVtIGFmdGVyIGxvYWRpbmcgdGhlDQordGhl bWUuICBTbyB3ZSByZWx5IG9uIH5tb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rfiwg d2hpY2ggZ2V0cw0KK2NhbGxlZCBmcm9tIH5tb2R1cy10aGVtZXMtbG9hZC1vcGVyYW5kaX4sIH5t b2R1cy10aGVtZXMtbG9hZC12aXZlbmRpfiwgYXMNCit3ZWxsIGFzIHRoZSBjb21tYW5kIH5tb2R1 cy10aGVtZXMtdG9nZ2xlfi4gIEhlcmUgaXMgYSBzYW1wbGUgZnVuY3Rpb24gdGhhdA0KK3R3ZWFr cyB0d28gZmFjZXMgYW5kIHRoZW4gZ2V0cyBhZGRlZCB0byB0aGUgaG9vazoNCiANCi0rID1tb2R1 cy1vcGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3Q9DQotKyA9bW9kdXMtdml2ZW5k aS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3Q9DQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0K KyhkZWZ1biBteS1tb2R1cy10aGVtZXMtY3VzdG9tLWZhY2VzICgpDQorICAoc2V0LWZhY2UtYXR0 cmlidXRlICdjdXJzb3IgbmlsIDpiYWNrZ3JvdW5kIChtb2R1cy10aGVtZXMtY29sb3IgJ2JsdWUp KQ0KKyAgKHNldC1mYWNlLWF0dHJpYnV0ZSAnZm9udC1sb2NrLXR5cGUtZmFjZSBuaWwgOmZvcmVn cm91bmQgKG1vZHVzLXRoZW1lcy1jb2xvciAnbWFnZW50YS1hbHQpKSkNCisNCisoYWRkLWhvb2sg J21vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2sgIydteS1tb2R1cy10aGVtZXMtY3Vz dG9tLWZhY2VzKQ0KKyMrZW5kX3NyYw0KIA0KLVVzZXJzIGNhbiBzcGVjaWZ5IGFuIGFzc29jaWF0 aW9uIGxpc3QgdGhhdCBtYXBzIHRoZSBuYW1lcyBvZiBjb2xvcg0KLXZhcmlhYmxlcyB0byBoZXhh ZGVjaW1hbCBSR0IgdmFsdWVzIChpbiB0aGUgZm9ybSBvZiA9I1JSR0dCQj0pLiAgVGhpcw0KLW1l YW5zIHRoYXQgaXQgaXMgcG9zc2libGUgdG8gb3ZlcnJpZGUgdGhlIGVudGlyZSBwYWxldHRlIG9y IHN1YnNldHMNCi10aGVyZW9mIChzZWUgdGhlIHNvdXJjZSBjb2RlIGZvciB0aGUgYWN0dWFsIG5h bWVzIGFuZCB2YWx1ZXMpLg0KK1tbI2g6ODZmNjkwNmItZjA5MC00NmNjLTk4MTYtMWZlOGFlYjM4 Nzc2XVtBIHRoZW1lLWFnbm9zdGljIGhvb2sgZm9yIHRoZW1lIGxvYWRpbmddXS4NCiANCi1FeGFt cGxlOg0KK1VzaW5nIHRoaXMgcHJpbmNpcGxlLCBpdCBpcyBwb3NzaWJsZSB0byBvdmVycmlkZSB0 aGUgc3R5bGVzIG9mIGZhY2VzDQord2l0aG91dCBoYXZpbmcgdG8gZmluZCBjb2xvciB2YWx1ZXMg Zm9yIGVhY2ggY2FzZS4NCisNCitBbm90aGVyIGFwcGxpY2F0aW9uIGlzIHRvIGNvbnRyb2wgdGhl IHByZWNpc2Ugd2VpZ2h0IGZvciBib2xkDQorY29uc3RydWN0cy4gIFRoaXMgaXMgcGFydGljdWxh cmx5IHVzZWZ1bCBpZiB5b3VyIHR5cGVmYWNlIGhhcyBzZXZlcmFsDQordmFyaWFudHMgc3VjaCBh cyAiaGVhdnkiLCAiZXh0cmFib2xkIiwgInNlbWlib2xkIi4gIEFsbCB5b3UgaGF2ZSB0byBkbw0K K2lzIGVkaXQgdGhlIH5ib2xkfiBmYWNlLiAgRm9yIGV4YW1wbGU6DQogDQogIytiZWdpbl9zcmMg ZW1hY3MtbGlzcA0KLTs7IFJlZGVmaW5lIHRoZSB2YWx1ZXMgb2YgdGhvc2UgdGhyZWUgdmFyaWFi bGVzIGZvciB0aGUgZ2l2ZW4gdGhlbWUNCi0oc2V0cSBtb2R1cy12aXZlbmRpLXRoZW1lLW92ZXJy aWRlLWNvbG9ycy1hbGlzdA0KLSAgICAgICcoKCJtYWdlbnRhIiAuICIjZmZhYWJiIikNCi0gICAg ICAgICgibWFnZW50YS1hbHQiIC4gIiNlZTg4ZmYiKQ0KLSAgICAgICAgKCJtYWdlbnRhLWFsdC1v dGhlciIgLiAiI2JiYWFmZiIpKSkNCisoc2V0LWZhY2UtYXR0cmlidXRlICdib2xkIG5pbCA6d2Vp Z2h0ICdzZW1pYm9sZCkNCiAjK2VuZF9zcmMNCiANCi1JZiB5b3Ugd2FudCB0byBiZSBjcmVhdGl2 ZSwgeW91IGNhbiBkZWZpbmUgYSBtaW5vciBtb2RlIHRoYXQgcmVmYXNoaW9ucw0KLXRoZSB0aGVt ZXMgb24gZGVtYW5kLiAgVGhlIGZvbGxvd2luZyBpcyBhIG1pbm9yIG1vZGUgdGhhdCBnZXRzIGFj dGl2YXRlZA0KLW9uIGRlbWFuZC4gIFdlIGNvbWJpbmUgaXQgd2l0aCB0aGUgZnVuY3Rpb24gdG8g c3dpdGNoIGJldHdlZW4gTW9kdXMNCi1PcGVyYW5kaSBhbmQgTW9kdXMgVml2ZW5kaSAoc2VlIFtb I2g6MmEwODk1YTYtMzI4MS00ZTU1LThhYTEtOGE3Mzc1NTU4MjFlXVtUb2dnbGUgYmV0d2VlbiB0 aGUgdGhlbWVzIG9uIGRlbWFuZF1dIGZvcg0KLWEgYmFzaWMgY29tbWFuZCwgYW5kL29yIFtbKkNv bmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRpbmddW0NvbmZpZ3VyZSBvcHRpb25zIHByaW9y IHRvIGxvYWRpbmddXSBmb3IgYSBtb3JlDQotY29tcHJlaGVuc2l2ZSBzZXR1cCkuDQorUmVtZW1i ZXIgdG8gdXNlIHRoZSBjdXN0b20gZnVuY3Rpb24gYW5kIGhvb2sgY29tYm8gd2UgZGVtb25zdHJh dGVkDQorYWJvdmUuICBCZWNhdXNlIHRoZSB0aGVtZXMgZG8gbm90IGhhcmQtd2lyZSBhIHNwZWNp ZmljIHdlaWdodCwgdGhpcw0KK3NpbXBsZSBmb3JtIGlzIGVub3VnaCB0byBjaGFuZ2UgdGhlIHdl aWdodCBvZiBhbGwgYm9sZCBjb25zdHJ1Y3RzDQordGhyb3VnaG91dCB0aGUgaW50ZXJmYWNlLg0K Kw0KK0ZpbmFsbHksIHRoZXJlIGFyZSBjYXNlcyB3aGVyZSB5b3Ugd2FudCB0byB0d2VhayBjb2xv cnMgdGhvdWdoIHdpc2ggdG8NCithcHBseSBkaWZmZXJlbnQgb25lcyB0byBlYWNoIHRoZW1lLCBz YXksIGEgYmx1ZSBodWUgZm9yIE1vZHVzIE9wZXJhbmRpDQorYW5kIGEgc2hhZGUgb2YgcmVkIGZv ciBNb2R1cyBWaXZlbmRpLiAgVG8gdGhpcyBlbmQsIHdlIHByb3ZpZGUNCit+bW9kdXMtdGhlbWVz LWNvbG9yLWFsdHN+IGFzIGEgY29udmVuaWVuY2UgZnVuY3Rpb24gdG8gc2F2ZSB5b3UgZnJvbSB0 aGUNCit0cm91YmxlIG9mIHdyaXRpbmcgc2VwYXJhdGUgd3JhcHBlcnMgZm9yIGVhY2ggdGhlbWUu ICBJdCBzdGlsbCByZXR1cm5zIGENCitzaW5nbGUgdmFsdWUgYnkgcXVlcnlpbmcgZWl0aGVyIG9m IH5tb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3JzfiBhbmQNCit+bW9kdXMtdGhlbWVzLXZpdmVu ZGktY29sb3Jzfiwgb25seSBoZXJlIHlvdSBwYXNzIHRoZSB0d28ga2V5cyB5b3Ugd2FudCwNCitm aXJzdCBmb3Igfm1vZHVzLW9wZXJhbmRpfiB0aGVuIH5tb2R1cy12aXZlbmRpfi4NCisNCitUYWtl IHRoZSBwcmV2aW91cyBleGFtcGxlIHdpdGggdGhlIH5jdXJzb3J+IGZhY2U6DQogDQogIytiZWdp bl9zcmMgZW1hY3MtbGlzcA0KLShkZWZpbmUtbWlub3ItbW9kZSBtb2R1cy10aGVtZXMtYWx0LW1v ZGUNCi0gICJPdmVycmlkZSBNb2R1cyB0aGVtZXMnIHBhbGV0dGUgdmFyaWFibGVzIHdpdGggY3Vz dG9tIHZhbHVlcy4NCis7OyBCbHVlIGZvciBgbW9kdXMtb3BlcmFuZGknIGFuZCByZWQgZm9yIGBt b2R1cy12aXZlbmRpJw0KKyhzZXQtZmFjZS1hdHRyaWJ1dGUgJ2N1cnNvciBuaWwgOmJhY2tncm91 bmQgKG1vZHVzLXRoZW1lcy1jb2xvci1hbHRzICdibHVlICdyZWQpKQ0KKyMrZW5kX3NyYw0KIA0K LVRoaXMgaXMgaW50ZW5kZWQgYXMgYSBwcm9vZi1vZi1jb25jZXB0LiAgSXQgaXMsIG5vbmV0aGVs ZXNzLCBhDQotcGVyZmVjdGx5IGFjY2Vzc2libGUgYWx0ZXJuYXRpdmUsIGNvbmZvcm1pbmcgd2l0 aCB0aGUgZGVzaWduDQotcHJpbmNpcGxlcyBvZiB0aGUgTW9kdXMgdGhlbWVzLiAgSXQgc3RpbGwg aXMgbm90IGFzIGdvb2QgYXMgdGhlDQotZGVmYXVsdCBjb2xvcnMuIg0KKyoqIEZhY2Ugc3BlY3Mg YXQgc2NhbGUgdXNpbmcgdGhlIHRoZW1lcycgcGFsZXR0ZSAoRElZKQ0KKzpwcm9wZXJ0aWVzOg0K KzpjdXN0b21faWQ6IGg6NTFiYTM1NDctYjhjOC00MGQ2LWJhNWEtNDU4NjQ3N2ZkNGFlDQorOmVu ZDoNCisjK2ZpbmRleDogbW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzDQorIytjaW5kZXg6IEV4dHJh Y3RpbmcgY29sb3JzIGVuIG1hc3NlDQorDQorVGhlIGV4YW1wbGVzIGhlcmUgYXJlIGZvciBsYXJn ZSBzY2FsZSBvcGVyYXRpb25zLiAgRm9yIHNpbXBsZSwgb25lLW9mZg0KK3R3ZWFrcywgeW91IG1h eSBwcmVmZXIgdGhlIGFwcHJvYWNoIGRvY3VtZW50ZWQgaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24N CisoW1sjaDoxNDg3YzYzMS1mNGZlLTQ5MGQtOGQ1OC1kNzJmZmEzYmQ0NzRdW0Nhc2UtYnktY2Fz ZSBmYWNlIHNwZWNzIHVzaW5nIHRoZSB0aGVtZXMnIHBhbGV0dGVdXSkuDQorDQorVGhlIH5tb2R1 cy10aGVtZXMtd2l0aC1jb2xvcnN+IG1hY3JvIGxldHMgeW91IHJldHJpZXZlIG11bHRpcGxlIGNv bG9yDQordmFsdWVzIGJ5IGVtcGxveWluZyB0aGUgYmFja3F1b3RlL2JhY2t0aWNrIGFuZCBjb21t YSBub3RhdGlvbi4gIFRoZQ0KK3ZhbHVlcyBhcmUgc3RvcmVkIGluIHRoZSBhbGlzdHMgfm1vZHVz LXRoZW1lcy1vcGVyYW5kaS1jb2xvcnN+IGFuZA0KK35tb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xv cnN+LCB3aGlsZSB0aGUgbWFjcm8gYWx3YXlzIHF1ZXJpZXMgdGhhdCBvZiB0aGUNCithY3RpdmUg TW9kdXMgdGhlbWUuDQorDQorSGVyZSBpcyBhbiBhYnN0cmFjdCBleGFtcGxlIHRoYXQganVzdCBy ZXR1cm5zIGEgbGlzdCBvZiBjb2xvciB2YWx1ZXMNCit3aGlsZSB+bW9kdXMtb3BlcmFuZGl+IGlz IGVuYWJsZWQ6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10aGVtZXMtd2l0 aC1jb2xvcnMNCisgIChsaXN0IGZnLW1haW4NCisgICAgICAgIGJsdWUtZmFpbnQNCisgICAgICAg IG1hZ2VudGENCisgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyDQorICAgICAgICBjeWFuLWFsdC1v dGhlcg0KKyAgICAgICAgZmctc3BlY2lhbC1jb2xkDQorICAgICAgICBibHVlLWFsdA0KKyAgICAg ICAgbWFnZW50YS1mYWludA0KKyAgICAgICAgY3lhbg0KKyAgICAgICAgZmctbWFpbg0KKyAgICAg ICAgZ3JlZW4tZmFpbnQNCisgICAgICAgIHJlZC1hbHQtZmFpbnQNCisgICAgICAgIGJsdWUtYWx0 LWZhaW50DQorICAgICAgICBmZy1zcGVjaWFsLXdhcm0NCisgICAgICAgIGN5YW4tYWx0DQorICAg ICAgICBibHVlKSkNCis7OyA9Pg0KKzs7ICgiIzAwMDAwMCIgIiMwMDJmODgiICIjNzIxMDQ1IiAi IzUzMTdhYyINCis7OyAgIiMwMDVhNWYiICIjMDkzMDYwIiAiIzI1NDRiYiIgIiM3NTJmNTAiDQor OzsgICIjMDA1MzhiIiAiIzAwMDAwMCIgIiMxMDQ0MTAiICIjNzAyZjAwIg0KKzs7ICAiIzAwM2Y3 OCIgIiM1ZDMwMjYiICIjMzA1MTdmIiAiIzAwMzFhOSIpDQorIytlbmRfc3JjDQorDQorR2V0dGlu ZyBhIGxpc3Qgb2YgY29sb3JzIG1heSBoYXZlIGl0cyBhcHBsaWNhdGlvbnMsIHRob3VnaCB3aGF0 IHlvdSBhcmUNCittb3N0IGxpa2VseSBpbnRlcmVzdGVkIGluIGlzIGhvdyB0byB1c2UgdGhvc2Ug dmFyaWFibGVzIHRvIGNvbmZpZ3VyZQ0KK3NldmVyYWwgZmFjZXMgYXQgb25jZS4gIFRvIGRvIHNv IHdlIGNhbiByZWx5IG9uIHRoZSBidWlsdC1pbg0KK35jdXN0b20tc2V0LWZhY2VzfiBmdW5jdGlv biwgd2hpY2ggc2V0cyBmYWNlIHNwZWNpZmljYXRpb25zIGZvciB0aGUNCitzcGVjaWFsID11c2Vy PSB0aGVtZS4gIFRoYXQgInRoZW1lIiBnZXRzIGFwcGxpZWQgb24gdG9wIG9mIHJlZ3VsYXIgdGhl bWVzDQorbGlrZSB+bW9kdXMtb3BlcmFuZGl+IGFuZCB+bW9kdXMtdml2ZW5kaX4uDQorDQorVGhp cyBpcyBob3cgaXQgd29ya3M6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10 aGVtZXMtd2l0aC1jb2xvcnMNCisgIChjdXN0b20tc2V0LWZhY2VzDQorICAgYChjdXJzb3IgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJsdWUpKSkNCisgICBgKG1vZGUtbGluZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisgICBgKG1vZGUtbGluZS1pbmFjdGl2ZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKSkpDQorIytlbmRf c3JjDQorDQorVGhlIGFib3ZlIHNuaXBwZXQgd2lsbCBpbW1lZGlhdGVseSByZWZhc2hpb24gdGhl IGZhY2VzIGl0IG5hbWVzIG9uY2UgaXQNCitpcyBldmFsdWF0ZWQuICBIb3dldmVyLCBpZiB5b3Ug c3dpdGNoIGJldHdlZW4gdGhlIE1vZHVzIHRoZW1lcywgc2F5LA0KK2Zyb20gfm1vZHVzLW9wZXJh bmRpfiB0byB+bW9kdXMtdml2ZW5kaX4sIHRoZSBjb2xvcnMgd2lsbCBub3QgZ2V0IHVwZGF0ZWQg dG8NCittYXRjaCB0aG9zZSBvZiB0aGUgbmV3IHRoZW1lLiAgVG8gbWFrZSB0aGluZ3Mgd29yayBh Y3Jvc3MgdGhlIHRoZW1lcywgd2UNCituZWVkIHRvIGVtcGxveSB0aGUgc2FtZSB0ZWNobmlxdWUg d2UgZGlzY3Vzc2VkIGluIHRoZSBwcmV2aW91cyBzZWN0aW9uLA0KK25hbWVseSwgdG8gcGFzcyBv dXIgY2hhbmdlcyBhdCB0aGUgcG9zdC10aGVtZS1sb2FkIHBoYXNlIHZpYSBhIGhvb2suDQorDQor VGhlIHRoZW1lcyBwcm92aWRlIHRoZSB+bW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9v a34sIHdoaWNoIGdldHMNCitjYWxsZWQgZnJvbSB+bW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGl+ LCB+bW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaX4sIGFzDQord2VsbCBhcyB0aGUgY29tbWFuZCB+ bW9kdXMtdGhlbWVzLXRvZ2dsZX4uICBXaXRoIHRoaXMga25vd2xlZGdlLCB5b3UgY2FuDQord3Jh cCB0aGUgbWFjcm8gaW4gYSBmdW5jdGlvbiBhbmQgdGhlbiBhc3NpZ24gdGhhdCBmdW5jdGlvbiB0 byB0aGUgaG9vay4NCitUaHVzOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisoZGVmdW4g bXktbW9kdXMtdGhlbWVzLWN1c3RvbS1mYWNlcyAoKQ0KKyAgKG1vZHVzLXRoZW1lcy13aXRoLWNv bG9ycw0KKyAgICAoY3VzdG9tLXNldC1mYWNlcw0KKyAgICAgYChjdXJzb3IgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJsdWUpKSkNCisgICAgIGAobW9kZS1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICx5ZWxsb3ctbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgICBgKG1vZGUtbGluZS1pbmFjdGl2ZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpKSkpDQorDQorKGFk ZC1ob29rICdtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rICMnbXktbW9kdXMtdGhl bWVzLWN1c3RvbS1mYWNlcykNCisjK2VuZF9zcmMNCisNCitbWyNoOjg2ZjY5MDZiLWYwOTAtNDZj Yy05ODE2LTFmZThhZWIzODc3Nl1bQSB0aGVtZS1hZ25vc3RpYyBob29rIGZvciB0aGVtZSBsb2Fk aW5nXV0uDQorDQorVG8gZGlzY292ZXIgdGhlIGZhY2VzIGRlZmluZWQgYnkgYWxsIGxvYWRlZCBs aWJyYXJpZXMsIHlvdSBtYXkgZG8NCit7e3trYmQoTS14IGxpc3QtZmFjZXMtZGlzcGxheSl9fX0u ICBCZSB3YXJuZWQgdGhhdCB3aGVuIHlvdSA9OmluaGVyaXQ9IGEgZmFjZQ0KK3lvdSBhcmUgaW50 cm9kdWNpbmcgYW4gaW1wbGljaXQgZGVwZW5kZW5jeSwgc28gdHJ5IHRvIGF2b2lkIGRvaW5nIHNv IGZvcg0KK2xpYnJhcmllcyBvdGhlciB0aGFuIHRoZSBidWlsdC1pbiB7e3tmaWxlKGZhY2VzLmVs KX19fSAob3IgYXQgbGVhc3QgdW5kZXJzdGFuZA0KK3RoYXQgdGhpbmdzIG1heSBicmVhayBpZiB5 b3UgaW5oZXJpdCBmcm9tIGEgeWV0LXRvLWJlLWxvYWRlZCBmYWNlKS4NCisNCitBbHNvIGJlYXIg aW4gbWluZCB0aGF0IHRoZXNlIGV4YW1wbGVzIGFyZSBtZWFudCB0byB3b3JrIHdpdGggdGhlIE1v ZHVzDQordGhlbWVzLiAgSWYgeW91IGFyZSBjeWNsaW5nIGJldHdlZW4gbXVsdGlwbGUgdGhlbWVz IHlvdSBtYXkgZW5jb3VudGVyDQordW5mb3Jlc2VlbiBpc3N1ZXMsIHN1Y2ggYXMgdGhlIGNvbG9y cyBvZiB0aGUgTW9kdXMgdGhlbWVzIGJlaW5nIGFwcGxpZWQNCit0byBhIG5vbi1Nb2R1cyBpdGVt Lg0KKw0KK0ZpbmFsbHksIG5vdGUgdGhhdCB5b3UgY2FuIHN0aWxsIHVzZSBvdGhlciBmdW5jdGlv bnMgd2hlcmUgdGhvc2UgbWFrZQ0KK3NlbnNlLiAgRm9yIGV4YW1wbGUsIHRoZSB+bW9kdXMtdGhl bWVzLWNvbG9yLWFsdHN+IHRoYXQgd2FzIGRpc2N1c3NlZCBpbg0KK3RoZSBwcmV2aW91cyBzZWN0 aW9uLiAgQWRhcHQgdGhlIGFib3ZlIGV4YW1wbGUgbGlrZSB0aGlzOg0KKw0KKyMrYmVnaW5fc3Jj IGVtYWNzLWxpc3ANCisuLi4NCisobW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzDQorICAoY3VzdG9t LXNldC1mYWNlcw0KKyAgIGAoY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICwobW9kdXMtdGhl bWVzLWNvbG9yLWFsdHMgJ2JsdWUgJ2dyZWVuKSkpKQ0KKyAgIC4uLikpDQorIytlbmRfc3JjDQor DQorKiogT3ZlcnJpZGUgY29sb3JzIChESVkpDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDog aDozMDdkOTVkZC04ZGJkLTRlY2UtYTU0My0xMGFlODZmMTU1YTYNCis6ZW5kOg0KKyMrdmluZGV4 OiBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzDQorIyt2aW5kZXg6IG1vZHVz LXRoZW1lcy12aXZlbmRpLWNvbG9yLW92ZXJyaWRlcw0KKyMrY2luZGV4OiBDaGFuZ2UgYSB0aGVt ZSdzIGNvbG9ycw0KKw0KK1RoZSB0aGVtZXMgcHJvdmlkZSBhIG1lY2hhbmlzbSBmb3Igb3ZlcnJp ZGluZyB0aGVpciBjb2xvciB2YWx1ZXMuICBUaGlzDQoraXMgY29udHJvbGxlZCBieSB0aGUgdmFy aWFibGVzIH5tb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzfiBhbmQNCit+bW9k dXMtdGhlbWVzLXZpdmVuZGktY29sb3Itb3ZlcnJpZGVzfiwgd2hpY2ggYXJlIGFsaXN0cyB0aGF0 IHNob3VsZA0KK21pcnJvciBhIHN1YnNldCBvZiB0aGUgYXNzb2NpYXRpb25zIGluIH5tb2R1cy10 aGVtZXMtb3BlcmFuZGktY29sb3JzfiBhbmQNCit+bW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3Jz fiByZXNwZWN0aXZlbHkuICBBcyB3aXRoIGFsbCBjdXN0b21pc2F0aW9ucywNCitvdmVycmlkaW5n IG11c3QgYmUgZG9uZSBiZWZvcmUgbG9hZGluZyB0aGUgYWZmZWN0ZWQgdGhlbWUuDQorDQorTGV0 IHVzIGFwcHJvYWNoIHRoZSBwcmVzZW50IHRvcGljIG9uZSBzdGVwIGF0IGEgdGltZS4gIEhlcmUg aXMgYQ0KK3NpbXBsaWZpZWQgZXhjZXJwdCBvZiB0aGUgZGVmYXVsdCBwYWxldHRlIGZvciBNb2R1 cyBPcGVyYW5kaSB3aXRoIHNvbWUNCitiYXNpYyBiYWNrZ3JvdW5kIHZhbHVlcyB0aGF0IGFwcGx5 IHRvIGJ1ZmZlcnMgYW5kIHRoZSBtb2RlIGxpbmUNCisocmVtZW1iZXIgdG8gaW5zcGVjdCB0aGUg YWN0dWFsIHZhbHVlIHRvIGZpbmQgb3V0IGFsbCB0aGUgYXNzb2NpYXRpb25zDQordGhhdCBjYW4g YmUgb3ZlcnJpZGRlbik6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhkZWZjb25zdCBt b2R1cy10aGVtZXMtY29sb3JzLW9wZXJhbmRpDQorICAnKChiZy1tYWluIC4gIiNmZmZmZmYiKQ0K KyAgICAoYmctZGltIC4gIiNmOGY4ZjgiKQ0KKyAgICAoYmctYWx0IC4gIiNmMGYwZjAiKQ0KKyAg ICAoYmctYWN0aXZlIC4gIiNkN2Q3ZDciKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiI2VmZWZlZiIp KSkNCisjK2VuZF9zcmMNCisNCitBcyBvbmUgY2FuIHRlbGwsIHdlIGJpbmQgYSBrZXkgdG8gYSBo ZXhhZGVjaW1hbCBSR0IgY29sb3IgdmFsdWUuICBOb3cNCitzYXkgd2Ugd2lzaCB0byBvdmVycmlk ZSB0aG9zZSBzcGVjaWZpYyB2YWx1ZXMgYW5kIGhhdmUgb3VyIGNoYW5nZXMNCitwcm9wYWdhdGUg dG8gYWxsIGZhY2VzIHRoYXQgdXNlIHRob3NlIGtleXMuICBXZSBjb3VsZCB3cml0ZSBzb21ldGhp bmcNCitsaWtlIHRoaXMsIHdoaWNoIGFkZHMgYSBzdWJ0bGUgb2NocmUgdGludDoNCisNCisjK2Jl Z2luX3NyYyBlbWFjcy1saXNwDQorKHNldHEgbW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9yLW92 ZXJyaWRlcw0KKyAgICAgICcoKGJnLW1haW4gLiAiI2ZlZmNmNCIpDQorICAgICAgICAoYmctZGlt IC4gIiNmYWY2ZWYiKQ0KKyAgICAgICAgKGJnLWFsdCAuICIjZjdlZmU1IikNCisgICAgICAgIChi Zy1hY3RpdmUgLiAiI2U4ZGZkMSIpDQorICAgICAgICAoYmctaW5hY3RpdmUgLiAiI2Y2ZWNlNSIp KSkNCisjK2VuZF9zcmMNCisNCitPbmNlIHRoaXMgaXMgZXZhbHVhdGVkLCBhbnkgc3Vic2VxdWVu dCBsb2FkaW5nIG9mIH5tb2R1cy1vcGVyYW5kaX4gd2lsbA0KK3VzZSB0aG9zZSB2YWx1ZXMgaW5z dGVhZCBvZiB0aGUgZGVmYXVsdHMuICBObyBmdXJ0aGVyIGludGVydmVudGlvbiBpcw0KK3JlcXVp cmVkLg0KKw0KK1RvIHJlc2V0IHRoZSBjaGFuZ2VzLCB3ZSBhcHBseSB0aGlzIGFuZCByZWxvYWQg dGhlIHRoZW1lOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisoc2V0cSBtb2R1cy10aGVt ZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzIG5pbCkNCisjK2VuZF9zcmMNCisNCitVc2VycyB3 aG8gd2lzaCB0byBsZXZlcmFnZSBzdWNoIGEgbWVjaGFuaXNtIGNhbiBvcHQgdG8gaW1wbGVtZW50 IGl0DQorb24tZGVtYW5kIGJ5IG1lYW5zIG9mIGEgZ2xvYmFsIG1pbm9yIG1vZGUuICBUaGUgZm9s bG93aW5nIHNuaXBwZXQgY292ZXJzDQorYm90aCB0aGVtZXMgYW5kIGV4cGFuZHMgdG8gc29tZSBt b3JlIGFzc29zaWF0aW9ucyBpbiB0aGUgcGFsZXR0ZToNCisNCisjK2JlZ2luX3NyYyBlbWFjcy1s aXNwDQorKGRlZmluZS1taW5vci1tb2RlIG15LW1vZHVzLXRoZW1lcy10aW50ZWQNCisgICJUd2Vh ayBzb21lIE1vZHVzIHRoZW1lcyBjb2xvcnMuIg0KICAgOmluaXQtdmFsdWUgbmlsDQogICA6Z2xv YmFsIHQNCi0gIChpZiBtb2R1cy10aGVtZXMtYWx0LW1vZGUNCi0gICAgICAoc2V0cSBtb2R1cy1v cGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QNCi0gICAgICAgICAgICAnKCgiYmct bWFpbiIgLiAiI2ZlZmNmNCIpDQotICAgICAgICAgICAgICAoImJnLWRpbSIgLiAiI2ZhZjZlZiIp DQotICAgICAgICAgICAgICAoImJnLWFsdCIgLiAiI2Y3ZWZlNSIpDQotICAgICAgICAgICAgICAo ImJnLWhsLWxpbmUiIC4gIiNmNGYwZTMiKQ0KLSAgICAgICAgICAgICAgKCJiZy1hY3RpdmUiIC4g IiNlOGRmZDEiKQ0KLSAgICAgICAgICAgICAgKCJiZy1pbmFjdGl2ZSIgLiAiI2Y2ZWNlNSIpDQot ICAgICAgICAgICAgICAoImJnLXJlZ2lvbiIgLiAiI2M2YmFiMSIpDQotICAgICAgICAgICAgICAo ImJnLWhlYWRlciIgLiAiI2VkZTNlMCIpDQotICAgICAgICAgICAgICAoImJnLXRhYi1iYXIiIC4g IiNkY2QzZDMiKQ0KLSAgICAgICAgICAgICAgKCJiZy10YWItYWN0aXZlIiAuICIjZmRmNmViIikN Ci0gICAgICAgICAgICAgICgiYmctdGFiLWluYWN0aXZlIiAuICIjYzhiYWI4IikNCi0gICAgICAg ICAgICAgICgiZmctdW5mb2N1c2VkIiAuICIjNTU1NTZmIikpDQotICAgICAgICAgICAgbW9kdXMt dml2ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QNCi0gICAgICAgICAgICAnKCgiYmct bWFpbiIgLiAiIzEwMGIxNyIpDQotICAgICAgICAgICAgICAoImJnLWRpbSIgLiAiIzE2MTEyOSIp DQotICAgICAgICAgICAgICAoImJnLWFsdCIgLiAiIzE4MTczMiIpDQotICAgICAgICAgICAgICAo ImJnLWhsLWxpbmUiIC4gIiMxOTE2MjgiKQ0KLSAgICAgICAgICAgICAgKCJiZy1hY3RpdmUiIC4g IiMyODJlNDYiKQ0KLSAgICAgICAgICAgICAgKCJiZy1pbmFjdGl2ZSIgLiAiIzFhMWUzOSIpDQot ICAgICAgICAgICAgICAoImJnLXJlZ2lvbiIgLiAiIzM5M2E1MyIpDQotICAgICAgICAgICAgICAo ImJnLWhlYWRlciIgLiAiIzIwMjAzNyIpDQotICAgICAgICAgICAgICAoImJnLXRhYi1iYXIiIC4g IiMyNjJiNDEiKQ0KLSAgICAgICAgICAgICAgKCJiZy10YWItYWN0aXZlIiAuICIjMTIwZjE4IikN Ci0gICAgICAgICAgICAgICgiYmctdGFiLWluYWN0aXZlIiAuICIjM2EzYTVhIikNCi0gICAgICAg ICAgICAgICgiZmctdW5mb2N1c2VkIiAuICIjOWE5YWFiIikpKQ0KLSAgICAoc2V0cSBtb2R1cy1v cGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QgbmlsDQotICAgICAgICAgIG1vZHVz LXZpdmVuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0IG5pbCkpKQ0KLQ0KLShkZWZ1biBt b2R1cy10aGVtZXMtdG9nZ2xlICgmb3B0aW9uYWwgYXJnKQ0KLSAgIlRvZ2dsZSBiZXR3ZWVuIGBt b2R1cy1vcGVyYW5kaScgYW5kIGBtb2R1cy12aXZlbmRpJyB0aGVtZXMuDQotDQotV2l0aCBvcHRp b25hbCBcXFt1bml2ZXJzYWwtYXJndW1lbnRdIHByZWZpeCwgZW5hYmxlDQotYG1vZHVzLXRoZW1l cy1hbHQtbW9kZScgZm9yIHRoZSBsb2FkZWQgdGhlbWUuIg0KLSAgKGludGVyYWN0aXZlICJQIikN Ci0gIChpZiBhcmcNCi0gICAgICAobW9kdXMtdGhlbWVzLWFsdC1tb2RlIDEpDQotICAgIChtb2R1 cy10aGVtZXMtYWx0LW1vZGUgLTEpKQ0KLSAgKGlmIChlcSAoY2FyIGN1c3RvbS1lbmFibGVkLXRo ZW1lcykgJ21vZHVzLW9wZXJhbmRpKQ0KLSAgICAgIChwcm9nbg0KLSAgICAgICAgKGRpc2FibGUt dGhlbWUgJ21vZHVzLW9wZXJhbmRpKQ0KLSAgICAgICAgKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVu ZGkgdCkpDQotICAgIChkaXNhYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKQ0KLSAgICAobG9hZC10 aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCkpKQ0KKyAgKGlmIG15LW1vZHVzLXRoZW1lcy10aW50ZWQN CisgICAgICAoc2V0cSBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzDQorICAg ICAgICAgICAgJygoYmctbWFpbiAuICIjZmVmY2Y0IikNCisgICAgICAgICAgICAgIChiZy1kaW0g LiAiI2ZhZjZlZiIpDQorICAgICAgICAgICAgICAoYmctYWx0IC4gIiNmN2VmZTUiKQ0KKyAgICAg ICAgICAgICAgKGJnLWhsLWxpbmUgLiAiI2Y0ZjBlMyIpDQorICAgICAgICAgICAgICAoYmctYWN0 aXZlIC4gIiNlOGRmZDEiKQ0KKyAgICAgICAgICAgICAgKGJnLWluYWN0aXZlIC4gIiNmNmVjZTUi KQ0KKyAgICAgICAgICAgICAgKGJnLXJlZ2lvbiAuICIjYzZiYWIxIikNCisgICAgICAgICAgICAg IChiZy1oZWFkZXIgLiAiI2VkZTNlMCIpDQorICAgICAgICAgICAgICAoYmctdGFiLWJhciAuICIj ZGNkM2QzIikNCisgICAgICAgICAgICAgIChiZy10YWItYWN0aXZlIC4gIiNmZGY2ZWIiKQ0KKyAg ICAgICAgICAgICAgKGJnLXRhYi1pbmFjdGl2ZSAuICIjYzhiYWI4IikNCisgICAgICAgICAgICAg IChmZy11bmZvY3VzZWQgLiAiIzU1NTU2ZiIpKQ0KKyAgICAgICAgICAgIG1vZHVzLXRoZW1lcy12 aXZlbmRpLWNvbG9yLW92ZXJyaWRlcw0KKyAgICAgICAgICAgICcoKGJnLW1haW4gLiAiIzEwMGIx NyIpDQorICAgICAgICAgICAgICAoYmctZGltIC4gIiMxNjExMjkiKQ0KKyAgICAgICAgICAgICAg KGJnLWFsdCAuICIjMTgxNzMyIikNCisgICAgICAgICAgICAgIChiZy1obC1saW5lIC4gIiMxOTE2 MjgiKQ0KKyAgICAgICAgICAgICAgKGJnLWFjdGl2ZSAuICIjMjgyZTQ2IikNCisgICAgICAgICAg ICAgIChiZy1pbmFjdGl2ZSAuICIjMWExZTM5IikNCisgICAgICAgICAgICAgIChiZy1yZWdpb24g LiAiIzM5M2E1MyIpDQorICAgICAgICAgICAgICAoYmctaGVhZGVyIC4gIiMyMDIwMzciKQ0KKyAg ICAgICAgICAgICAgKGJnLXRhYi1iYXIgLiAiIzI2MmI0MSIpDQorICAgICAgICAgICAgICAoYmct dGFiLWFjdGl2ZSAuICIjMTIwZjE4IikNCisgICAgICAgICAgICAgIChiZy10YWItaW5hY3RpdmUg LiAiIzNhM2E1YSIpDQorICAgICAgICAgICAgICAoZmctdW5mb2N1c2VkIC4gIiM5YTlhYWIiKSkp DQorICAgIChzZXRxIG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVycmlkZXMgbmlsDQor ICAgICAgICAgIG1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yLW92ZXJyaWRlcyBuaWwpKSkNCiAj K2VuZF9zcmMNCiANCi0qKiBGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMp DQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogRm9udCBjb25maWdzIChESVkpDQotOkRFU0NS SVBUSU9OOiBPcHRpbWlzZSBmb3IgbWl4ZWQgdHlwZWZhY2UgYnVmZmVycw0KLTpDVVNUT01fSUQ6 IGg6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5DQotOkVORDoNCitXaXRoIHRo aXMgaW4gcGxhY2UsIG9uZSBjYW4gaW52b2tlIHt7e2tiZChNLXggbXktbW9kdXMtdGhlbWVzLXRp bnRlZCl9fX0gYW5kDQordGhlbiBsb2FkIHRoZSBNb2R1cyB0aGVtZSBvZiB0aGVpciBjaG9pY2Uu ICBUaGUgbmV3IHBhbGV0dGUgc3Vic2V0IHdpbGwNCitjb21lIGludG8gZWZmZWN0OiBzdWJ0bGUg b2NocmUgdGludHMgZm9yIE1vZHVzIE9wZXJhbmRpIGFuZCBuaWdodCBza3kNCitzaGFkZXMgZm9y IE1vZHVzIFZpdmVuZGkuICBTd2l0Y2hpbmcgYmV0d2VlbiB0aGUgdHdvIHRoZW1lcywgc3VjaCBh cw0KK3dpdGgge3t7a2JkKE0teCBtb2R1cy10aGVtZXMtdG9nZ2xlKX19fSB3aWxsIGFsc28gdXNl IHRoZSBvdmVycmlkZXMuDQorDQorR2l2ZW4gdGhhdCB0aGlzIGlzIGEgdXNlci1sZXZlbCBjdXN0 b21pc2F0aW9uLCBvbmUgaXMgZnJlZSB0byBpbXBsZW1lbnQNCit3aGF0ZXZlciBjb2xvciB2YWx1 ZXMgdGhleSBkZXNpcmUsIGV2ZW4gaWYgdGhlIHBvc3NpYmxlIGNvbWJpbmF0aW9ucw0KK2ZhbGwg YmVsb3cgdGhlIG1pbmltdW0gNzoxIGNvbnRyYXN0IHJhdGlvIHRoYXQgZ292ZXJucyB0aGUgZGVz aWduIG9mIHRoZQ0KK3RoZW1lcyAodGhlIFdDQUcgQUFBIGxlZ2liaWxpdHkgc3RhbmRhcmQpLiAg UHJlZmVyZW5jZXMgYXNpZGUsIGl0IGlzDQorYWR2aXNlZCB0byBpbnNwZWN0IHRoZSBzb3VyY2Ug Y29kZSBvZiB+bW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9yc34gYW5kDQorfm1vZHVzLXRoZW1l cy12aXZlbmRpLWNvbG9yc34gdG8gcmVhZCB0aGUgaW5saW5lIGNvbW1lbnRhcnk6IGl0IGV4cGxh aW5zDQord2hhdCB0aGUgaW50ZW5kZWQgdXNlIG9mIGVhY2ggcGFsZXR0ZSBzdWJzZXQgaXMuDQog DQotVGhlIHRoZW1lcyBhcmUgZGVzaWduZWQgdG8gY29wZSB3ZWxsIHdpdGggbWl4ZWQgZm9udCBz ZXR0aW5ncyAoW1sjaDoxMTVlNmMyMy1lZTM1LTRhMTYtOGNlZi1lMmZjYmIwOGUyOGJdW09wdGlv bg0KLWZvciBubyBmb250IG1peGluZ11dKS4gIEN1cnJlbnRseSB0aGlzIGFwcGxpZXMgdG8gPW9y Zy1tb2RlPSBhbmQNCi09bWFya2Rvd24tbW9kZT0uDQorRnVydGhlcm1vcmUsIHVzZXJzIG1heSBi ZW5lZml0IGZyb20gdGhlIH5tb2R1cy10aGVtZXMtY29udHJhc3R+IGZ1bmN0aW9uDQordGhhdCB3 ZSBwcm92aWRlOiBbWyNoOjAyZTI1OTMwLWU3MWEtNDkzZC04MjhhLTg5MDdmYzgwZjg3NF1bdGVz dCBjb2xvciBjb21iaW5hdGlvbnNdXS4gIEl0IG1lYXN1cmVzIHRoZSBjb250cmFzdA0KK3JhdGlv IGJldHdlZW4gdHdvIGNvbG9yIHZhbHVlcywgc28gaXQgY2FuIGhlbHAgaW4gb3ZlcnJpZGluZyB0 aGUgcGFsZXR0ZQ0KKyhvciBhIHN1YnNldCB0aGVyZW9mKSB3aXRob3V0IG1ha2luZyB0aGUgZW5k IHJlc3VsdCBpbmFjY2Vzc2libGUuDQorDQorKiogRm9udCBjb25maWd1cmF0aW9ucyBmb3IgT3Jn IGFuZCBvdGhlcnMgKERJWSkNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOmRlZmNmNGZj LThmYTgtNGMyOS1iMTJlLTcxMTk1ODJjYzkyOQ0KKzplbmQ6DQorIytjaW5kZXg6IEZvbnQgY29u ZmlndXJhdGlvbnMNCisNCitUaGUgdGhlbWVzIGFyZSBkZXNpZ25lZCB0byBjb3BlIHdlbGwgd2l0 aCBtaXhlZCBmb250IGNvbmZpZ3VyYXRpb25zLg0KKw0KK1tbI2g6MTE1ZTZjMjMtZWUzNS00YTE2 LThjZWYtZTJmY2JiMDhlMjhiXVtPcHRpb24gZm9yIG5vIGZvbnQgbWl4aW5nXV0uDQorDQorVGhp cyBtb3N0bHkgY29uY2VybnMgfm9yZy1tb2RlfiBhbmQgfm1hcmtkb3duLW1vZGV+LCB0aG91Z2gg ZXhwZWN0IHRvIGZpbmQNCitpdCBlbHNld2hlcmUgbGlrZSBpbiB+SW5mby1tb2Rlfi4NCiANCiBJ biBwcmFjdGljZSBpdCBtZWFucyB0aGF0IHRoZSB1c2VyIGNhbiBzYWZlbHkgb3B0IGZvciBhIG1v cmUNCiBwcm9zZS1mcmllbmRseSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlIGFzIHRo ZWlyIGRlZmF1bHQsIHdoaWxlDQogbGV0dGluZyBzcGFjaW5nLXNlbnNpdGl2ZSBlbGVtZW50cyBs aWtlIHRhYmxlcyBhbmQgaW5saW5lIGNvZGUgYWx3YXlzDQotdXNlIGEgbW9ub3NwYWNlZCBmb250 LCBieSBpbmhlcml0aW5nIGZyb20gdGhlID1maXhlZC1waXRjaD0gZmFjZS4NCit1c2UgYSBtb25v c3BhY2VkIGZvbnQsIGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgfmZpeGVkLXBpdGNofiBmYWNlLg0K IA0KLVVzZXJzIGNhbiB0cnkgdGhlIGJ1aWx0LWluID1NLXggdmFyaWFibGUtcGl0Y2gtbW9kZT0g dG8gc2VlIHRoZSBlZmZlY3QgaW4NCi1hY3Rpb24uDQorVXNlcnMgY2FuIHRyeSB0aGUgYnVpbHQt aW4ge3t7a2JkKE0teCB2YXJpYWJsZS1waXRjaC1tb2RlKX19fSB0byBzZWUgdGhlDQorZWZmZWN0 IGluIGFjdGlvbi4NCiANCiBUbyBtYWtlIGV2ZXJ5dGhpbmcgdXNlIHlvdXIgZGVzaXJlZCBmb250 IGZhbWlsaWVzLCB5b3UgbmVlZCB0byBjb25maWd1cmUNCi10aGUgPXZhcmlhYmxlLXBpdGNoPSAo cHJvcG9ydGlvbmFsIHNwYWNpbmcpIGFuZCA9Zml4ZWQtcGl0Y2g9IChtb25vc3BhY2VkKQ0KK3Ro ZSB+dmFyaWFibGUtcGl0Y2h+IChwcm9wb3J0aW9uYWwgc3BhY2luZykgYW5kIH5maXhlZC1waXRj aH4gKG1vbm9zcGFjZWQpDQogZmFjZXMgcmVzcGVjdGl2ZWx5LiAgSXQgbWF5IGFsc28gYmUgY29u dmVuaWVudCB0byBzZXQgeW91ciBtYWluIHR5cGVmYWNlDQotYnkgY29uZmlndXJpbmcgdGhlID1k ZWZhdWx0PSBmYWNlIHRoZSBzYW1lIHdheS4NCitieSBjb25maWd1cmluZyB0aGUgfmRlZmF1bHR+ IGZhY2UgdGhlIHNhbWUgd2F5Lg0KIA0KLVB1dCBzb21ldGhpbmcgbGlrZSB0aGlzIGluIHlvdXIg aW5pdGlhbGl6YXRpb24gZmlsZSAobWFrZSBzdXJlIHRvIHJlYWQNCi10aGUgZG9jdW1lbnRhdGlv biBvZiA9c2V0LWZhY2UtYXR0cmlidXRlPSwgd2l0aCA9TS14IGRlc2NyaWJlLWZ1bmN0aW9uPSk6 DQorUHV0IHNvbWV0aGluZyBsaWtlIHRoaXMgaW4geW91ciBpbml0aWFsaXphdGlvbiBmaWxlIChh bHNvIGNvbnNpZGVyDQorcmVhZGluZyB0aGUgZG9jIHN0cmluZyBvZiB+c2V0LWZhY2UtYXR0cmli dXRlfik6DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KIDs7IE1haW4gdHlwZWZhY2UNCkBA IC0xMTk5LDUwICsxNjgxLDM1IEBAICoqIEZvbnQgY29uZmlndXJhdGlvbnMgZm9yIE9yZyAoYW5k IG90aGVycykNCiANCiBOb3RlIHRoZSBkaWZmZXJlbmNlcyBpbiB0aGUgPTpoZWlnaHQ9IHByb3Bl cnR5LiAgVGhlID1kZWZhdWx0PSBmYWNlIG11c3QNCiBzcGVjaWZ5IGFuIGFic29sdXRlIHZhbHVl LCB3aGljaCBpcyB0aGUgcG9pbnQgc2l6ZSDDlyAxMC4gIFNvIGlmIHlvdSB3YW50DQotdG8gdXNl IGEgZm9udCBhdCBwb2ludCBzaXplID0xMT0sIHlvdSBzZXQgdGhlIGhlaWdodCBhdCA9MTEwPS5b Zm46OiA9OmhlaWdodD0NCit0byB1c2UgYSBmb250IGF0IHBvaW50IHNpemUgPTExPSwgeW91IHNl dCB0aGUgaGVpZ2h0IHRvID0xMTA9Lltmbjo6ID06aGVpZ2h0PQ0KIHZhbHVlcyBkbyBub3QgbmVl ZCB0byBiZSByb3VuZGVkIHRvIG11bHRpcGxlcyBvZiB0ZW46IHRoZSBsaWtlcyBvZiA9MTE1PQ0K IGFyZSBwZXJmZWN0bHkgdmFsaWTigJRzb21lIHR5cGVmYWNlcyB3aWxsIGNoYW5nZSB0byBhY2Nv dW50IGZvciB0aG9zZQ0KIGZpbmVyIGluY3JlbWVudHMuXSAgV2hlcmVhcyBldmVyeSBvdGhlciBm YWNlIG11c3QgaGF2ZSBhIHZhbHVlIHRoYXQgaXMNCiByZWxhdGl2ZSB0byB0aGUgZGVmYXVsdCwg cmVwcmVzZW50ZWQgYXMgYSBmbG9hdGluZyBwb2ludCAoaWYgeW91IHVzZSBhbg0KLWludGVnZXIs IHNheSwgPTE1PSB0aGVuIHRoYXQgbWVhbnMgYW4gYWJzb2x1dGUgaGVpZ2h0KS4gIFRoaXMgaXMg b2YNCi1wYXJhbW91bnQgaW1wb3J0YW5jZTogaXQgZW5zdXJlcyB0aGF0IGFsbCBmb250cyBjYW4g c2NhbGUgZ3JhY2VmdWxseQ0KLXdoZW4gdXNpbmcgc29tZXRoaW5nIGxpa2UgdGhlID10ZXh0LXNj YWxlLWFkanVzdD0gY29tbWFuZCB3aGljaCBvbmx5DQotb3BlcmF0ZXMgb24gdGhlIGJhc2UgZm9u dCBzaXplIChpLmUuIHRoZSA9ZGVmYXVsdD0gZmFjZSdzIGFic29sdXRlDQotaGVpZ2h0KS4NCi0N Ci1BbiBhbHRlcm5hdGl2ZSBzeW50YXggZm9yIHRoZSA9ZGVmYXVsdD0gZmFjZSwgaXMgdG8gcGFz cyBhbGwgdHlwZWZhY2UNCi1wYXJhbWV0ZXJzIGRpcmVjdGx5IHRvIGEgPWZvbnQ9IHByb3BlcnR5 Lltmbjo6IEhhcyB0aGUgYmVuZWZpdCBvZg0KLWFjY2VwdGluZyA9Zm9udGNvbmZpZz0gcGFyYW1l dGVycyAoR05VL0xpbnV4KSwgc3VjaCBhcyA9IkRlamFWdSBTYW5zDQotTW9uby0xMTpoaW50c3R5 bGU9aGludHNsaWdodDphdXRvaGludD1mYWxzZSI9Lg0KLWh0dHBzOi8vd3d3LmZyZWVkZXNrdG9w Lm9yZy9zb2Z0d2FyZS9mb250Y29uZmlnL2ZvbnRjb25maWctdXNlci5odG1sXQ0KLU5vdGUgdGhh dCBoZXJlIHdlIHVzZSBhIHN0YW5kYXJkIHBvaW50IHNpemU6DQotDQotIytiZWdpbl9zcmMgZW1h Y3MtbGlzcA0KLShzZXQtZmFjZS1hdHRyaWJ1dGUgJ2RlZmF1bHQgbmlsIDpmb250ICJEZWphVnUg U2FucyBNb25vLTExIikNCi0jK2VuZF9zcmMNCi0NCi1BZ2FpbiwgcmVtZW1iZXIgdG8gb25seSBl dmVyIHNwZWNpZnkgYW4gYWJzb2x1dGUgaGVpZ2h0IGZvciB0aGUgPWRlZmF1bHQ9Lg0KLQ0KLSoq IE9yZyB1c2VyIGZhY2VzIChESVkpDQotOlBST1BFUlRJRVM6DQotOkRFU0NSSVBUSU9OOiBFeHRl bmQgc3R5bGVzIGZvciBvcmctbW9kZSBrZXl3b3JkcyBhbmQgcHJpb3JpdGllcw0KLTpDVVNUT01f SUQ6IGg6ODlmMDY3OGQtYzVjMy00YTU3LWE1MjYtNjY4YjJiYjJkN2FkDQotOkVORDoNCi0NCi1V c2VycyBvZiA9b3JnLW1vZGU9IGhhdmUgdGhlIG9wdGlvbiB0byBjb25maWd1cmUgdmFyaW91cyBr ZXl3b3JkcyBhbmQNCitpbnRlZ2VyLCB0aGVuIHRoYXQgbWVhbnMgYW4gYWJzb2x1dGUgaGVpZ2h0 KS4gIFRoaXMgaXMgb2YgcGFyYW1vdW50DQoraW1wb3J0YW5jZTogaXQgZW5zdXJlcyB0aGF0IGFs bCBmb250cyBjYW4gc2NhbGUgZ3JhY2VmdWxseSB3aGVuIHVzaW5nDQorc29tZXRoaW5nIGxpa2Ug dGhlIH50ZXh0LXNjYWxlLWFkanVzdH4gY29tbWFuZCB3aGljaCBvbmx5IG9wZXJhdGVzIG9uIHRo ZQ0KK2Jhc2UgZm9udCBzaXplIChpLmUuIHRoZSB+ZGVmYXVsdH4gZmFjZSdzIGFic29sdXRlIGhl aWdodCkuDQorDQorKiogQ3VzdG9tIE9yZyB1c2VyIGZhY2VzIChESVkpDQorOnByb3BlcnRpZXM6 DQorOmN1c3RvbV9pZDogaDo4OWYwNjc4ZC1jNWMzLTRhNTctYTUyNi02NjhiMmJiMmQ3YWQNCis6 ZW5kOg0KKyMrY2luZGV4OiBPcmcgZXh0cmEgZmFjZXMNCisNCitVc2VycyBvZiB+b3JnLW1vZGV+ IGhhdmUgdGhlIG9wdGlvbiB0byBjb25maWd1cmUgdmFyaW91cyBrZXl3b3JkcyBhbmQNCiBwcmlv cml0eSBjb29raWVzIHRvIGJldHRlciBtYXRjaCB0aGVpciB3b3JrZmxvdy4gIFVzZXIgb3B0aW9u cyBhcmUNCi09b3JnLXRvZG8ta2V5d29yZC1mYWNlcz0gYW5kID1vcmctcHJpb3JpdHktZmFjZXM9 Lg0KK35vcmctdG9kby1rZXl3b3JkLWZhY2VzfiBhbmQgfm9yZy1wcmlvcml0eS1mYWNlc34uDQog DQotQXMgdGhvc2UgYXJlIG1lYW50IHRvIGJlIGN1c3RvbSBmYWNlcywgaXQgd291bGQgYmUgZnV0 aWxlIHRvIGhhdmUgdGhlDQotdGhlbWVzIHRyeSB0byBndWVzcyB3aGF0IGVhY2ggdXNlciB3b3Vs ZCB3YW50IHRvIHVzZSwgd2hpY2gga2V5d29yZHMgdG8NCi10YXJnZXQsIGFuZCBzbyBvbi4gIElu c3RlYWQsIHdlIGNhbiBwcm92aWRlIGd1aWRlbGluZXMgb24gaG93IHRvDQotY3VzdG9taXplIHRo aW5ncyB0byBvbmUncyBsaWtpbmcgd2l0aCB0aGUgaW50ZW50IG9mIHJldGFpbmluZyB0aGUNCi1v dmVyYWxsIGFlc3RoZXRpY3Mgb2YgdGhlIHRoZW1lLg0KK0FzIHRob3NlIGFyZSBtZWFudCB0byBi ZSBjdXN0b20gZmFjZXMsIGl0IGlzIGZ1dGlsZSB0byBoYXZlIHRoZSB0aGVtZXMNCitndWVzcyB3 aGF0IGVhY2ggdXNlciB3YW50cyB0byB1c2UsIHdoaWNoIGtleXdvcmRzIHRvIHRhcmdldCwgYW5k IHNvIG9uLg0KK0luc3RlYWQsIHdlIGNhbiBwcm92aWRlIGd1aWRlbGluZXMgb24gaG93IHRvIGN1 c3RvbWl6ZSB0aGluZ3MgdG8gb25lJ3MNCitsaWtpbmcgd2l0aCB0aGUgaW50ZW50IG9mIHJldGFp bmluZyB0aGUgb3ZlcmFsbCBhZXN0aGV0aWMgb2YgdGhlIHRoZW1lcy4NCiANCiBQbGVhc2UgYmVh ciBpbiBtaW5kIHRoYXQgdGhlIGVuZCByZXN1bHQgb2YgdGhvc2UgaXMgbm90IGNvbnRyb2xsZWQg YnkNCi10aGUgYWN0aXZlIHRoZW1lIGJ1dCBieSBob3cgT3JnIG1hcHMgZmFjZXMgdG8gaXRzIGNv bnN0cnVjdHMuICBFZGl0aW5nDQotdGhvc2Ugd2hpbGUgPW9yZy1tb2RlPSBpcyBhY3RpdmUgcmVx dWlyZXMgPU0teCBvcmctbW9kZS1yZXN0YXJ0PSBmb3IgY2hhbmdlcw0KLXRvIHRha2UgZWZmZWN0 Lg0KK3RoZSBhY3RpdmUgTW9kdXMgdGhlbWUgYnV0IGJ5IGhvdyBPcmcgbWFwcyBmYWNlcyB0byBp dHMgY29uc3RydWN0cy4NCitFZGl0aW5nIHRob3NlIHdoaWxlIH5vcmctbW9kZX4gaXMgYWN0aXZl IHJlcXVpcmVzIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZQ0KK21vZGUgd2l0aCB7e3trYmQoTS14 IG9yZy1tb2RlLXJlc3RhcnQpfX19IGZvciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0Lg0KIA0KIExl dCB1cyBhc3N1bWUgeW91IHdpc2ggdG8gdmlzdWFsbHkgZGlmZmVyZW50aWF0ZSB5b3VyIGtleXdv cmRzLiAgWW91DQogaGF2ZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0KQEAgLTEyNTcsNyArMTcyNCw3 IEBAICoqIE9yZyB1c2VyIGZhY2VzIChESVkpDQogDQogWW91IGNvdWxkIHRoZW4gdXNlIGEgdmFy aWFudCBvZiB0aGUgZm9sbG93aW5nIHRvIGluaGVyaXQgZnJvbSBhIGZhY2UNCiB0aGF0IHVzZXMg dGhlIHN0eWxlcyB5b3Ugd2FudCBhbmQgYWxzbyB0byBwcmVzZXJ2ZSB0aGUgcHJvcGVydGllcw0K LWFwcGxpZWQgYnkgdGhlID1vcmctdG9kbz0gZmFjZToNCithcHBsaWVkIGJ5IHRoZSB+b3JnLXRv ZG9+IGZhY2U6DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KIChzZXRxIG9yZy10b2RvLWtl eXdvcmQtZmFjZXMNCkBAIC0xMjY3LDEwICsxNzM0LDEwIEBAICoqIE9yZyB1c2VyIGZhY2VzIChE SVkpDQogIytlbmRfc3JjDQogDQogVGhpcyB3aWxsIHJlZmFzaGlvbiB0aGUga2V5d29yZHMgeW91 IHNwZWNpZnksIHdoaWxlIGxldHRpbmcgdGhlIG90aGVyDQotaXRlbXMgaW4gPW9yZy10b2RvLWtl eXdvcmRzPSB1c2UgdGhlaXIgb3JpZ2luYWwgc3R5bGVzICh3aGljaCBhcmUgZGVmaW5lZA0KLWlu IHRoZSA9b3JnLXRvZG89IGFuZCA9b3JnLWRvbmU9IGZhY2VzKS4NCitpdGVtcyBpbiB+b3JnLXRv ZG8ta2V5d29yZHN+IHVzZSB0aGVpciBvcmlnaW5hbCBzdHlsZXMgKHdoaWNoIGFyZSBkZWZpbmVk DQoraW4gdGhlIH5vcmctdG9kb34gYW5kIH5vcmctZG9uZX4gZmFjZXMpLg0KIA0KLUlmIHlvdSB3 YW50IGJhY2sgdGhlIGRlZmF1bHRzLCB0cnkgc3BlY2lmeWluZyBqdXN0IHRoZSA9b3JnLXRvZG89 IGZhY2U6DQorSWYgeW91IHdhbnQgYmFjayB0aGUgZGVmYXVsdHMsIHRyeSBzcGVjaWZ5aW5nIGp1 c3QgdGhlIH5vcmctdG9kb34gZmFjZToNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQogKHNl dHEgb3JnLXRvZG8ta2V5d29yZC1mYWNlcw0KQEAgLTEyODIsNyArMTc0OSw3IEBAICoqIE9yZyB1 c2VyIGZhY2VzIChESVkpDQogV2hlbiB5b3UgaW5oZXJpdCBmcm9tIG11bHRpcGxlIGZhY2VzLCB5 b3UgbmVlZCB0byBxdW90ZSB0aGUgbGlzdCBhcw0KIHNob3duIGZ1cnRoZXIgYWJvdmUuICBUaGUg b3JkZXIgaXMgaW1wb3J0YW50OiB0aGUgbGFzdCBpdGVtIGlzIGFwcGxpZWQNCiBvdmVyIHRoZSBw cmV2aW91cyBvbmVzLiAgSWYgeW91IGRvIG5vdCB3YW50IHRvIGJsZW5kIG11bHRpcGxlIGZhY2Vz LCB5b3UNCi1kbyBub3QgbmVlZCBhIHF1b3RlZCBsaXN0LiAgQSBwYXR0ZXJuIG9mID1rZXl3b3Jk IC4gZmFjZT0gd291bGQgc3VmZmljZS4NCitkbyBub3QgbmVlZCBhIHF1b3RlZCBsaXN0LiAgQSBw YXR0ZXJuIG9mID1rZXl3b3JkIC4gZmFjZT0gd2lsbCBzdWZmaWNlLg0KIA0KIEJvdGggYXBwcm9h Y2hlcyBjYW4gYmUgdXNlZCBzaW11bHRhbmVvdXNseSwgYXMgaWxsdXN0cmF0ZWQgaW4gdGhpcw0K IGNvbmZpZ3VyYXRpb24gb2YgdGhlIHByaW9yaXR5IGNvb2tpZXM6DQpAQCAtMTI5NSwyOSArMTc2 MiwxODIgQEAgKiogT3JnIHVzZXIgZmFjZXMgKERJWSkNCiAjK2VuZF9zcmMNCiANCiBUbyBmaW5k IGFsbCB0aGUgZmFjZXMgdGhhdCBhcmUgbG9hZGVkIGluIHlvdXIgY3VycmVudCBFbWFjcyBzZXNz aW9uLCB1c2UNCi09TS14IGxpc3QtZmFjZXMtZGlzcGxheT0uICBBbHNvIHRyeSA9TS14IGRlc2Ny aWJlLXZhcmlhYmxlPSBhbmQgdGhlbiBzcGVjaWZ5DQotdGhlIG5hbWUgb2YgZWFjaCBvZiB0aG9z ZSBPcmcgdmFyaWFibGVzIGRlbW9uc3RyYXRlZCBhYm92ZS4gIFRoZWlyDQotZG9jdW1lbnRhdGlv biBzdHJpbmdzIHdpbGwgb2ZmZXIgeW91IGZ1cnRoZXIgZ3VpZGFuY2UuDQore3t7a2JkKE0teCBs aXN0LWZhY2VzLWRpc3BsYXkpfX19LiAgVHJ5IHt7e2tiZChNLXggZGVzY3JpYmUtdmFyaWFibGUp fX19IGFzIHdlbGwgYW5kDQordGhlbiBzcGVjaWZ5IHRoZSBuYW1lIG9mIGVhY2ggb2YgdGhvc2Ug T3JnIHZhcmlhYmxlcyBkZW1vbnN0cmF0ZWQgYWJvdmUuDQorVGhlaXIgZG9jdW1lbnRhdGlvbiBz dHJpbmdzIHdpbGwgb2ZmZXIgeW91IGZ1cnRoZXIgZ3VpZGFuY2UuDQorDQorUmVjYWxsIHRoYXQg dGhlIHRoZW1lcyBsZXQgeW91IHJldHJpZXZlIGEgY29sb3IgZnJvbSB0aGVpciBwYWxldHRlLiAg RG8NCitpdCBpZiB5b3UgcGxhbiB0byBjb250cm9sIGZhY2UgYXR0cmlidXRlcy4NCisNCitbWyNo OjE0ODdjNjMxLWY0ZmUtNDkwZC04ZDU4LWQ3MmZmYTNiZDQ3NF1bQ3VzdG9tIGZhY2Ugc3BlY3Mg dXNpbmcgdGhlIHRoZW1lcycgcGFsZXR0ZV1dLg0KKw0KK1tbI2g6MDJlMjU5MzAtZTcxYS00OTNk LTgyOGEtODkwN2ZjODBmODc0XVtDaGVjayBjb2xvciBjb21iaW5hdGlvbnNdXS4NCisNCisqKiBN ZWFzdXJlIGNvbG9yIGNvbnRyYXN0IChESVkpDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDog aDowMmUyNTkzMC1lNzFhLTQ5M2QtODI4YS04OTA3ZmM4MGY4NzQNCis6ZW5kOg0KKyMrZmluZGV4 OiBtb2R1cy10aGVtZXMtY29udHJhc3QNCisjK2ZpbmRleDogbW9kdXMtdGhlbWVzLXdjYWctZm9y bXVsYQ0KKyMrY2luZGV4OiBDb2xvciBjb250cmFzdA0KKw0KK1RoZSB0aGVtZXMgcHJvdmlkZSB0 aGUgZnVuY3Rpb25zIH5tb2R1cy10aGVtZXMtd2NhZy1mb3JtdWxhfiBhbmQNCit+bW9kdXMtdGhl bWVzLWNvbnRyYXN0fi4gIFRoZSBmb3JtZXIgaXMgYSBkaXJlY3QgaW1wbGVtZW50YXRpb24gb2Yg dGhlDQorV0NBRyBmb3JtdWxhOiA8aHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9H MTguaHRtbD4uICBJdA0KK2NhbGN1bGF0ZXMgdGhlIHJlbGF0aXZlIGx1bWluYW5jZSBvZiBhIGNv bG9yIHZhbHVlIHRoYXQgaXMgZXhwcmVzc2VkIGluDQoraGV4YWRlY2ltYWwgUkdCIG5vdGF0aW9u LiAgV2hpbGUgdGhlIGxhdHRlciBmdW5jdGlvbiBpcyBqdXN0IGENCitjb252ZW5pZW50IHdyYXBw ZXIgZm9yIGNvbXBhcmluZyB0aGUgcmVsYXRpdmUgbHVtaW5hbmNlIGJldHdlZW4gdHdvDQorY29s b3JzLg0KKw0KK0luIHByYWN0aWNlLCBvbmUgbmVlZHMgdG8gd29yayBvbmx5IHdpdGggfm1vZHVz LXRoZW1lcy1jb250cmFzdH4uICBJdA0KK2FjY2VwdHMgdHdvIGNvbG9yIHZhbHVlcyBhbmQgcmV0 dXJucyB0aGVpciBjb250cmFzdCByYXRpby4gIFZhbHVlcyByYW5nZQ0KK2Zyb20gMSB0byAyMSAo bG93ZXN0IHRvIGhpZ2hlc3QpLiAgVGhlIHRoZW1lcyBhcmUgZGVzaWduZWQgdG8gYWx3YXlzIGJl DQorZXF1YWwgb3IgaGlnaGVyIHRoYW4gNyBmb3IgZWFjaCBjb21iaW5hdGlvbiBvZiBiYWNrZ3Jv dW5kIGFuZCBmb3JlZ3JvdW5kDQordGhhdCB0aGV5IHVzZSAodGhpcyBpcyB0aGUgV0NBRyBBQUEg c3RhbmRhcmQtLS10aGUgbW9zdCBkZW1hbmRpbmcgb2YgaXRzDQora2luZCkuDQorDQorQSBjb3Vw bGUgb2YgZXhhbXBsZXMgKHJvdW5kZWQgbnVtYmVycyk6DQogDQotRnVydGhlcm1vcmUsIGNvbnNp ZGVyIHJlYWRpbmcgdGhlICJOb3RlcyBmb3IgYXNwaXJpbmcgRW1hY3MgdGhlbWUNCi1kZXZlbG9w ZXJzIiwgcHVibGlzaGVkIG9uIDIwMjAtMDgtMjggYnkgbWUgKFByb3Rlc2lsYW9zIFN0YXZyb3Up Og0KLWh0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2NvZGVsb2cvMjAyMC0wOC0yOC1ub3Rlcy1lbWFj cy10aGVtZS1kZXZzLy4NCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorOzsgUHVyZSB3aGl0ZSB3 aXRoIHB1cmUgZ3JlZW4NCisobW9kdXMtdGhlbWVzLWNvbnRyYXN0ICIjZmZmZmZmIiAiIzAwZmYw MCIpDQorOzsgPT4gMS4zNw0KKzs7IFRoYXQgaXMgYW4gb3V0cmlnaHQgaW5hY2Nlc3NpYmxlIGNv bWJvDQorDQorOzsgUHVyZSBibGFjayB3aXRoIHB1cmUgZ3JlZW4NCisobW9kdXMtdGhlbWVzLWNv bnRyYXN0ICIjMDAwMDAwIiAiIzAwZmYwMCIpDQorOzsgPT4gMTUuMw0KKzs7IFRoYXQgaXMgaXMg YSBoaWdobHkgYWNjZXNzaWJsZSBjb21ibw0KKyMrZW5kX3NyYw0KKw0KK0l0IGRvZXMgbm90IG1h dHRlciB3aGljaCBjb2xvciB2YWx1ZSBjb21lcyBmaXJzdC4gIFRoZSByYXRpbyBpcyBhbHdheXMN Cit0aGUgc2FtZS4NCisNCitJZiBvbmUgZG9lcyBub3Qgd2lzaCB0byByZWFkIGFsbCB0aGUgZGVj aW1hbCBwb2ludHMsIGl0IGlzIHBvc3NpYmxlIHRvDQordHJ5IHNvbWV0aGluZyBsaWtlIHRoaXM6 DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhmb3JtYXQgIiUwLjJmIiAobW9kdXMtdGhl bWVzLWNvbnRyYXN0ICIjMDAwMDAwIiAiIzAwZmYwMCIpKQ0KKyMrZW5kX3NyYw0KKw0KK1doaWxl IGl0IGlzIGZpbmUgdG8gcGVyZm9ybSBzdWNoIGNhbGN1bGF0aW9ucyBvbiBhIGNhc2UtYnktY2Fz ZSBiYXNpcywNCitpdCBpcyBwcmVmZXJhYmxlIHRvIGltcGxlbWVudCBmb3JtdWxhcyBhbmQgdGFi bGVzIGZvciBtb3JlIGRlbWFuZGluZw0KK3Rhc2tzLiAgU3VjaCBpbnN0cnVtZW50cyBhcmUgcHJv dmlkZWQgYnkgfm9yZy1tb2RlfiBvciB+b3JndGJsLW1vZGV+LCBib3RoDQorb2Ygd2hpY2ggYXJl IGJ1aWx0IGludG8gRW1hY3MuICBCZWxvdyBpcyBzdWNoIGEgdGFibGUgdGhhdCBkZXJpdmVzIHRo ZQ0KK2NvbnRyYXN0IHJhdGlvIG9mIGFsbCBjb2xvcnMgaW4gdGhlIGZpcnN0IGNvbHVtbiAocHVy ZSByZWQsIGdyZWVuLCBibHVlKQ0KK3JlbGF0aXZlIHRvIHRoZSBjb2xvciBzcGVjaWZpZWQgaW4g dGhlIGZpcnN0IHJvdyBvZiB0aGUgc2Vjb25kIGNvbHVtbg0KKyhwdXJlIHdoaXRlKSBhbmQgcm91 bmRzIHRoZSByZXN1bHRzOg0KKw0KKyMrYmVnaW5fZXhhbXBsZQ0KK3wgICAgICAgICB8ICNmZmZm ZmYgfA0KK3wtLS0tLS0tLS0rLS0tLS0tLS0tfA0KK3wgI2ZmMDAwMCB8ICAgIDQuMDAgfA0KK3wg IzAwZmYwMCB8ICAgIDEuMzcgfA0KK3wgIzAwMDBmZiB8ICAgIDguNTkgfA0KKyMrdGJsZm06ICQy PScobW9kdXMtdGhlbWVzLWNvbnRyYXN0ICQxIEAxJDIpOyUwLjJmDQorIytlbmRfZXhhbXBsZQ0K Kw0KK1RvIG1lYXN1cmUgY29sb3IgY29udHJhc3Qgb25lIG5lZWRzIHRvIHN0YXJ0IGZyb20gYSBr bm93biB2YWx1ZS4gIFRoaXMNCit0eXBpY2FsbHkgaXMgdGhlIGJhY2tncm91bmQuICBUaGUgTW9k dXMgdGhlbWVzIGRlZmluZSBhbiBleHBhbmRlZA0KK3BhbGV0dGUgaW4gbGFyZ2UgcGFydCBiZWNh dXNlIGNlcnRhaW4gY29sb3JzIGFyZSBvbmx5IG1lYW50IHRvIGJlIHVzZWQNCitpbiBjb21iaW5h dGlvbiB3aXRoIHNvbWUgb3RoZXJzLiAgQ29uc3VsdCB0aGUgc291cmNlIGNvZGUgZm9yIHRoZQ0K K21pbnV0aWEgYW5kIHJlbGV2YW50IGNvbW1lbnRhcnkuDQorDQorU3VjaCBrbm93bGVkZ2UgbWF5 IHByb3ZlIHZhbHVhYmxlIHdoaWxlIGF0dGVtcHRpbmcgdG8gb3ZlcnJpZGUgc29tZSBvZg0KK3Ro ZSB0aGVtZXMnIGNvbG9yczogW1sjaDozMDdkOTVkZC04ZGJkLTRlY2UtYTU0My0xMGFlODZmMTU1 YTZdW092ZXJyaWRlIGNvbG9yc11dLg0KKw0KKyoqIExvYWQgdGhlbWUgZGVwZW5kaW5nIG9uIHRp bWUgb2YgZGF5DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDoxZDFlZjRiNC04NjAwLTRh MDktOTkzYy02ZGUzYWYwZGRkMjYNCis6ZW5kOg0KKw0KK1doaWxlIHdlIGRvIHByb3ZpZGUgfm1v ZHVzLXRoZW1lcy10b2dnbGV+IHRvIG1hbnVhbGx5IHN3aXRjaCBiZXR3ZWVuIHRoZQ0KK3RoZW1l cywgdXNlcnMgbWF5IGFsc28gc2V0IHVwIHRoZWlyIHN5c3RlbSB0byBwZXJmb3JtIHN1Y2ggYSB0 YXNrDQorYXV0b21hdGljYWxseSBhdCBzdW5yaXNlIGFuZCBzdW5zZXQuDQorDQorVGhpcyBjYW4g YmUgYWNjb21wbGlzaGVkIGJ5IHNwZWNpZnlpbmcgdGhlIGNvb3JkaW5hdGVzIG9mIG9uZSdzIGxv Y2F0aW9uDQordXNpbmcgdGhlIGJ1aWx0LWluIHt7e2ZpbGUoc29sYXIuZWwpfX19IGFuZCB0aGVu IGNvbmZpZ3VyaW5nIHRoZSA9Y2lyY2FkaWFuPQ0KK3BhY2thZ2U6DQorDQorIytiZWdpbl9zcmMg ZW1hY3MtbGlzcA0KKyh1c2UtcGFja2FnZSBzb2xhciAgICAgICAgICAgICAgICAgICAgICA7IGJ1 aWx0LWluDQorICA6Y29uZmlnDQorICAoc2V0cSBjYWxlbmRhci1sYXRpdHVkZSAzNS4xNw0KKyAg ICAgICAgY2FsZW5kYXItbG9uZ2l0dWRlIDMzLjM2KSkNCisNCisodXNlLXBhY2thZ2UgY2lyY2Fk aWFuICAgICAgICAgICAgICAgICAgOyB5b3UgbmVlZCB0byBpbnN0YWxsIHRoaXMNCisgIDplbnN1 cmUNCisgIDphZnRlciBzb2xhcg0KKyAgKHNldHEgY2lyY2FkaWFuLXRoZW1lcyAnKCg6c3Vucmlz ZSAuIG1vZHVzLW9wZXJhbmRpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICg6c3Vuc2V0 ICAuIG1vZHVzLXZpdmVuZGkpKSkNCisgIChjaXJjYWRpYW4tc2V0dXApKQ0KKyMrZW5kX3NyYw0K Kw0KKyoqIEEgdGhlbWUtYWdub3N0aWMgaG9vayBmb3IgdGhlbWUgbG9hZGluZyAoRElZKQ0KKzpw cm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6ODZmNjkwNmItZjA5MC00NmNjLTk4MTYtMWZlOGFl YjM4Nzc2DQorOmVuZDoNCisNCitUaGUgdGhlbWVzIGFyZSBkZXNpZ25lZCB3aXRoIHRoZSBpbnRl bnQgdG8gYmUgdXNlZnVsIHRvIEVtYWNzIHVzZXJzIG9mDQordmFyeWluZyBza2lsbCBsZXZlbHMs IGZyb20gYmVnaW5uZXJzIHRvIGV4cGVydHMuICBUaGlzIG1lYW5zIHRoYXQgd2UgdHJ5DQordG8g bWFrZSB0aGluZ3MgZWFzaWVyIGJ5IG5vdCBleHBlY3RpbmcgYW55b25lIHJlYWRpbmcgdGhpcyBk b2N1bWVudCB0bw0KK2JlIHByb2ZpY2llbnQgaW4gRW1hY3MgTGlzcCBvciBwcm9ncmFtbWluZyBp biBnZW5lcmFsLg0KKw0KK1N1Y2ggYSBjYXNlIGlzIHdpdGggdGhlIHVzZSBvZiB0aGUgfm1vZHVz LXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2t+LA0KK3doaWNoIHJ1bnMgYWZ0ZXIgfm1vZHVz LXRoZW1lcy10b2dnbGV+LCB+bW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGl+LCBvcg0KK35tb2R1 cy10aGVtZXMtbG9hZC12aXZlbmRpfiBpcyBldmFsdWF0ZWQuICBXZSByZWNvbW1lbmQgdXNpbmcg dGhhdCBob29rDQorZm9yIGFkdmFuY2VkIGN1c3RvbWl6YXRpb25zLCBiZWNhdXNlICgxKSB3ZSBr bm93IGZvciBzdXJlIHRoYXQgaXQgaXMNCithdmFpbGFibGUgb25jZSB0aGUgdGhlbWVzIGFyZSBs b2FkZWQsIGFuZCAoMikgYW55b25lIGNvbnN1bHRpbmcgdGhpcw0KK21hbnVhbCwgZXNwZWNpYWxs eSB0aGUgc2VjdGlvbnMgb24gZW5hYmxpbmcgYW5kIGxvYWRpbmcgdGhlIHRoZW1lcywgd2lsbA0K K2JlIGluIGEgZ29vZCBwb3NpdGlvbiB0byBiZW5lZml0IGZyb20gdGhhdCBob29rLg0KKw0KK0Fk dmFuY2VkIHVzZXJzIHdobyBoYXZlIGEgbmVlZCB0byBzd2l0Y2ggYmV0d2VlbiB0aGUgTW9kdXMg dGhlbWVzIGFuZA0KK290aGVyIGl0ZW1zIHdpbGwgZmluZCB0aGF0IHN1Y2ggYSBob29rIGRvZXMg bm90IG1lZXQgdGhlaXIgcmVxdWlyZW1lbnRzOg0KK2l0IG9ubHkgd29ya3Mgd2l0aCB0aGUgTW9k dXMgdGhlbWVzIGFuZCBvbmx5IHdpdGggdGhlIGFmb3JlbWVudGlvbmVkDQorZnVuY3Rpb25zLg0K Kw0KK0EgdGhlbWUtYWdub3N0aWMgc2V0dXAgY2FuIGJlIGNvbmZpZ3VyZWQgdGh1czoNCisNCisj K2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKGRlZnZhciBhZnRlci1lbmFibGUtdGhlbWUtaG9vayBu aWwNCisgICAiTm9ybWFsIGhvb2sgcnVuIGFmdGVyIGVuYWJsaW5nIGEgdGhlbWUuIikNCisNCiso ZGVmdW4gcnVuLWFmdGVyLWVuYWJsZS10aGVtZS1ob29rICgmcmVzdCBfYXJncykNCisgICAiUnVu IGBhZnRlci1lbmFibGUtdGhlbWUtaG9vaycuIg0KKyAgIChydW4taG9va3MgJ2FmdGVyLWVuYWJs ZS10aGVtZS1ob29rKSkNCisNCisoYWR2aWNlLWFkZCAnZW5hYmxlLXRoZW1lIDphZnRlciAjJ3J1 bi1hZnRlci1lbmFibGUtdGhlbWUtaG9vaykNCisjK2VuZF9zcmMNCisNCitUaGlzIGNyZWF0ZXMg dGhlIH5hZnRlci1lbmFibGUtdGhlbWUtaG9va34gYW5kIG1ha2VzIGl0IHJ1biBhZnRlciBlYWNo DQorY2FsbCB0byB+ZW5hYmxlLXRoZW1lfiwgd2hpY2ggbWVhbnMgdGhhdCBpdCB3aWxsIHdvcmsg Zm9yIGFsbCB0aGVtZXMgYW5kDQorYWxzbyBoYXMgdGhlIGJlbmVmaXQgdGhhdCBpdCBkb2VzIG5v dCBkZXBlbmQgb24gZnVuY3Rpb25zIHN1Y2ggYXMNCit+bW9kdXMtdGhlbWVzLXRvZ2dsZX4gYW5k IHRoZSBvdGhlcnMgbWVudGlvbmVkIGFib3ZlLiAgfmVuYWJsZS10aGVtZX4gaXMNCitjYWxsZWQg aW50ZXJuYWxseSBieSB+bG9hZC10aGVtZX4sIHNvIHRoZSBob29rIHdvcmtzIGV2ZXJ5d2hlcmUu DQorDQorTm93IHRoaXMgc3BlY2lmaWMgcGllY2Ugb2YgRWxpc3AgbWF5IGJlIHNpbXBsZSBmb3Ig ZXhwZXJpZW5jZWQgdXNlcnMsDQorYnV0IGl0IGlzIG5vdCBlYXN5IHRvIHJlYWQgZm9yIG5ld2Nv bWVycywgaW5jbHVkaW5nIHRoZSBhdXRob3Igb2YgdGhlDQorTW9kdXMgdGhlbWVzIGZvciB0aGUg Zmlyc3Qgc2V2ZXJhbCBtb250aHMgb2YgdGhlaXIgdGltZSBhcyBhbiBFbWFjcw0KK3VzZXIuICBI ZW5jZSBvdXIgaGVzaXRhdGlvbiB0byByZWNvbW1lbmQgaXQgYXMgcGFydCBvZiB0aGUgc3RhbmRh cmQNCitzZXR1cCBvZiB0aGUgTW9kdXMgdGhlbWVzIChpdCBpcyBnZW5lcmFsbHkgYSBnb29kIGlk ZWEgdG8gdW5kZXJzdGFuZA0KK3doYXQgdGhlIGltcGxpY2F0aW9ucyBhcmUgb2YgYWR2aXNpbmcg YSBmdW5jdGlvbikuDQogDQogKiBGYWNlIGNvdmVyYWdlDQotOlBST1BFUlRJRVM6DQotOkNVU1RP TV9JRDogaDphOWM4ZjI5ZC03ZjcyLTRiNTQtYjc0Yi1kZGVmZTE1ZDZhMTkNCi06RU5EOg0KKzpw cm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6YTljOGYyOWQtN2Y3Mi00YjU0LWI3NGItZGRlZmUx NWQ2YTE5DQorOmVuZDoNCiANCi1Nb2R1cyBPcGVyYW5kaSBhbmQgTW9kdXMgVml2ZW5kaSB0cnkg dG8gcHJvdmlkZSBhcyBjbG9zZSB0byBmdWxsIGZhY2UNCi1jb3ZlcmFnZSBhcyBwb3NzaWJsZS4g IFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBhIGNvbnNpc3RlbnRseQ0KLWFjY2Vzc2libGUg cmVhZGluZyBleHBlcmllbmNlIGFjcm9zcyBhbGwgcG9zc2libGUgaW50ZXJmYWNlcy4NCitUaGUg TW9kdXMgdGhlbWVzIHRyeSB0byBwcm92aWRlIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFn ZSBhcw0KK3Bvc3NpYmxlLiAgVGhpcyBpcyBuZWNlc3NhcnkgdG8gZW5zdXJlIGEgY29uc2lzdGVu dGx5IGFjY2Vzc2libGUgcmVhZGluZw0KK2V4cGVyaWVuY2UgYWNyb3NzIGFsbCBhdmFpbGFibGUg aW50ZXJmYWNlcy4NCiANCiAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3Jv dXBzDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogU3VwcG9ydGVkIHBhY2thZ2VzDQotOkRF U0NSSVBUSU9OOiBGdWxsIGxpc3Qgb2YgY292ZXJlZCBmYWNlIGdyb3Vwcw0KLTpDVVNUT01fSUQ6 IGg6NjBlZDQyNzUtNjBkNi00OWY4LTkyODctOWE2NGU1NGJlYTBlDQotOkVORDoNCis6cHJvcGVy dGllczoNCis6YWx0X3RpdGxlOiBTdXBwb3J0ZWQgcGFja2FnZXMNCis6ZGVzY3JpcHRpb246IEZ1 bGwgbGlzdCBvZiBjb3ZlcmVkIGZhY2UgZ3JvdXBzDQorOmN1c3RvbV9pZDogaDo2MGVkNDI3NS02 MGQ2LTQ5ZjgtOTI4Ny05YTY0ZTU0YmVhMGUNCis6ZW5kOg0KKyMrY2luZGV4OiBFeHBsaWNpdGx5 IHN1cHBvcnRlZCBwYWNrYWdlcw0KIA0KIFRoaXMgbGlzdCB3aWxsIGFsd2F5cyBiZSB1cGRhdGVk IHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlDQogcHJvamVjdC4gIFRoZSBpZGVh IGlzIHRvIG9mZmVyIGFuIG92ZXJ2aWV3IG9mIHRoZSBrbm93biBzdGF0dXMgb2YgYWxsDQpAQCAt MTMzNywxNiArMTk1NywxOCBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2Ug Z3JvdXBzDQogKyBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQogKyBhdnkNCiArIGF3ZXNvbWUtdHJh eQ0KKysgYmJkYg0KICsgYmluZGVyDQogKyBibQ0KICsgYm9uZ28NCiArIGJvb24NCi0rIGJyZWFr cG9pbnQgKHByb3ZpZGVkIGJ5IHRoZSBidWlsdC1pbiA9Z2RiLW1pLmVsPSBsaWJyYXJ5KQ0KKysg YnJlYWtwb2ludCAocHJvdmlkZWQgYnkgdGhlIGJ1aWx0LWluIHt7e2ZpbGUoZ2RiLW1pLmVsKX19 fSBsaWJyYXJ5KQ0KICsgYnVmZmVyLWV4cG9zZQ0KICsgY2FsZW5kYXIgYW5kIGRpYXJ5DQogKyBj YWxmdw0KICsgY2VudGF1ci10YWJzDQotKyBjaGFuZ2UtbG9nIGFuZCBsb2ctdmlldyAoc3VjaCBh cyA9dmMtcHJpbnQtbG9nPSBhbmQgPXZjLXByaW50LXJvb3QtbG9nPSkNCisrIGNmcnMNCisrIGNo YW5nZS1sb2cgYW5kIGxvZy12aWV3IChzdWNoIGFzIH52Yy1wcmludC1sb2d+LCB+dmMtcHJpbnQt cm9vdC1sb2d+KQ0KICsgY2lkZXINCiArIGNpcmNlDQogKyBjb2xvci1yZw0KQEAgLTEzNTUsNiAr MTk3Nyw3IEBAICoqIEZ1bGwgc3VwcG9ydCBmb3IgcGFja2FnZXMgb3IgZmFjZSBncm91cHMNCiAr IGNvbXBhbnktcG9zZnJhbWUNCiArIGNvbXBpbGF0aW9uLW1vZGUNCiArIGNvbXBsZXRpb25zDQor KyBjb25zdWx0DQogKyBjb3Vuc2VsKg0KICsgY291bnNlbC1jc3MNCiArIGNvdW5zZWwtbm90bXVj aA0KQEAgLTEzNjMsNyArMTk4Niw3IEBAICoqIEZ1bGwgc3VwcG9ydCBmb3IgcGFja2FnZXMgb3Ig ZmFjZSBncm91cHMNCiArIGNwZXJsLW1vZGUNCiArIGNzdi1tb2RlDQogKyBjdHJsZg0KLSsgY3Vz dG9tICg9TS14IGN1c3RvbWl6ZT0pDQorKyBjdXN0b20gKHdoYXQgeW91IGdldCB3aXRoIHt7e2ti ZChNLXggY3VzdG9taXplKX19fSkNCiArIGRhcC1tb2RlDQogKyBkYXNoYm9hcmQgKGVtYWNzLWRh c2hib2FyZCkNCiArIGRlYWRncmVwDQpAQCAtMTM4MSw4ICsyMDA0LDExIEBAICoqIEZ1bGwgc3Vw cG9ydCBmb3IgcGFja2FnZXMgb3IgZmFjZSBncm91cHMNCiArIGRpcmVkLWdpdC1pbmZvDQogKyBk aXJlZC1uYXJyb3cNCiArIGRpcmVkLXN1YnRyZWUNCisrIGRpcmVkYw0KICsgZGlyZWRmbA0KKysg ZGlyZWRwIChkaXJlZCspDQogKyBkaXNrLXVzYWdlDQorKyBkaXNwbGF5LWZpbGwtY29sdW1uLWlu ZGljYXRvci1tb2RlDQogKyBkb29tLW1vZGVsaW5lDQogKyBkeW5hbWljLXJ1bGVyDQogKyBlYXN5 LWpla3lsbA0KQEAgLTE0MDgsOCArMjAzNCwxMCBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2th Z2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0KICsgZXZp bCogKGV2aWwtbW9kZSkNCiArIGV2aWwtZ29nZ2xlcw0KKysgZXZpbC1zbmlwZQ0KICsgZXZpbC12 aXN1YWwtbWFyay1tb2RlDQogKyBld3cNCisrIGV4d20NCiArIGV5ZWJyb3dzZQ0KICsgZmFuY3kt ZGFiYnJldg0KICsgZmx5Y2hlY2sNCkBAIC0xNDQzLDcgKzIwNzEsNyBAQCAqKiBGdWxsIHN1cHBv cnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBoZWxwZnVsDQogKyBoaWdobGlnaHQt YmxvY2tzDQogKyBoaWdobGlnaHQtZGVmaW5lZA0KLSsgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5j ZXMgKD1oZXMtbW9kZT0pDQorKyBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAofmhlcy1tb2Rl fikNCiArIGhpZ2hsaWdodC1pbmRlbnRhdGlvbg0KICsgaGlnaGxpZ2h0LW51bWJlcnMNCiArIGhp Z2hsaWdodC1zeW1ib2wNCkBAIC0xNDY4LDYgKzIwOTYsNyBAQCAqKiBGdWxsIHN1cHBvcnQgZm9y IHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBpbnRlcmFjdGlvbi1sb2cNCiArIGlvY2N1cg0K ICsgaXNlYXJjaCwgb2NjdXIsIGV0Yy4NCisrIGlzbCAoaXNlYXJjaC1saWdodCkNCiArIGl2eSoN CiArIGl2eS1wb3NmcmFtZQ0KICsgamlyYSAob3JnLWppcmEpDQpAQCAtMTQ3NywxOSArMjEwNiwy MiBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBqdXB5 dGVyDQogKyBrYW9jaGEtcnVubmVyDQogKyBrZXljYXN0DQotKyBsaW5lIG51bWJlcnMgKD1kaXNw bGF5LWxpbmUtbnVtYmVycy1tb2RlPSBhbmQgZ2xvYmFsIHZhcmlhbnQpDQorKyBsaW5lIG51bWJl cnMgKH5kaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlfiBhbmQgZ2xvYmFsIHZhcmlhbnQpDQogKyBs c3AtbW9kZQ0KICsgbHNwLXVpDQorKyBtYWNyb3N0ZXANCiArIG1hZ2l0DQogKyBtYWdpdC1pbWVy Z2UNCiArIG1ha2UtbW9kZQ0KICsgbWFuDQorKyBtYXJnaW5hbGlhDQogKyBtYXJrZG93bi1tb2Rl DQotKyBtYXJrdXAtZmFjZXMgKD1hZG9jLW1vZGU9KQ0KKysgbWFya3VwLWZhY2VzICh+YWRvYy1t b2RlfikNCiArIG1lbnRvcg0KICsgbWVzc2FnZXMNCiArIG1pbmlidWZmZXItbGluZQ0KICsgbWlu aW1hcA0KKysgbW1tLW1vZGUNCiArIG1vZGVsaW5lDQogKyBtb29kLWxpbmUNCiArIG1vb2R5DQpA QCAtMTUxMiwxMSArMjE0NCwxMiBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZh Y2UgZ3JvdXBzDQogKyBvcmctcm9hbQ0KICsgb3JnLXN1cGVyc3Rhcg0KICsgb3JnLXRhYmxlLXN0 aWNreS1oZWFkZXINCisrIG9yZy10cmVlLXNsaWRlDQogKyBvcmctdHJlZXNjb3BlDQogKyBvcmln YW1pDQogKyBvdXRsaW5lLW1vZGUNCiArIG91dGxpbmUtbWlub3ItZmFjZXMNCi0rIHBhY2thZ2Ug KD1NLXggbGlzdC1wYWNrYWdlcz0pDQorKyBwYWNrYWdlICh3aGF0IHlvdSBnZXQgd2l0aCB7e3tr YmQoTS14IGxpc3QtcGFja2FnZXMpfX19KQ0KICsgcGFnZS1icmVhay1saW5lcw0KICsgcGFyYWRv eA0KICsgcGFyZW4tZmFjZQ0KQEAgLTE1MzIsMjMgKzIxNjUsMjggQEAgKiogRnVsbCBzdXBwb3J0 IGZvciBwYWNrYWdlcyBvciBmYWNlIGdyb3Vwcw0KICsgcG9wdXANCiArIHBvd2VybGluZQ0KICsg cG93ZXJsaW5lLWV2aWwNCisrIHByaXNtIChbWyNoOmE5NDI3MmUwLTk5ZGEtNDE0OS05ZTgwLTEx YTdlNjdhMmNmMl1bTm90ZSBmb3IgcHJpc20uZWxdXSkNCiArIHByb2NlZA0KICsgcHJvZGlneQ0K KysgcXVpY2stcGVlaw0KICsgcmFja2V0LW1vZGUNCiArIHJhaW5ib3ctYmxvY2tzDQogKyByYWlu Ym93LWlkZW50aWZpZXJzDQogKyByYWluYm93LWRlbGltaXRlcnMNCiArIHJjaXJjDQotKyByZWdl eHAtYnVpbGRlciAoYWxzbyBrbm93biBhcyA9cmUtYnVpbGRlcj0pDQorKyByZWN1cnNpb24taW5k aWNhdG9yDQorKyByZWdleHAtYnVpbGRlciAoYWxzbyBrbm93biBhcyB+cmUtYnVpbGRlcn4pDQog KyByZyAocmcuZWwpDQogKyByaXBncmVwDQogKyBybWFpbA0KICsgcnVsZXItbW9kZQ0KICsgc2Fs bGV0DQogKyBzZWxlY3RydW0NCisrIHNlbGVjdHJ1bS1wcmVzY2llbnQNCiArIHNlbWFudGljDQog KyBzZXNtYW4NCiArIHNoZWxsLXNjcmlwdC1tb2RlDQorKyBzaG9ydGRvYw0KICsgc2hvdy1wYXJl bi1tb2RlDQogKyBzaHINCiArIHNpZGUtbm90ZXMNCkBAIC0xNTU3LDkgKzIxOTUsMTEgQEAgKiog RnVsbCBzdXBwb3J0IGZvciBwYWNrYWdlcyBvciBmYWNlIGdyb3Vwcw0KICsgc21hcnQtbW9kZS1s aW5lDQogKyBzbWFydHBhcmVucw0KICsgc21lcmdlDQorKyBzb2xhaXJlDQogKyBzcGFjZWxpbmUN CiArIHNwZWVkYmFyDQogKyBzcGVsbC1mdQ0KKysgc3ByYXkNCiArIHN0cmlwZXMNCiArIHN1Z2dl c3QNCiArIHN3aXRjaC13aW5kb3cNCkBAIC0xNTcwLDYgKzIyMTAsNyBAQCAqKiBGdWxsIHN1cHBv cnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBzeXNsb2ctbW9kZQ0KICsgdGFibGUg KGJ1aWx0LWluIHRhYmxlLmVsKQ0KICsgdGVsZXBob25lLWxpbmUNCisrIHRlcnJhZm9ybS1tb2Rl DQogKyB0ZXJtDQogKyB0b21hdGluaG8NCiArIHRyYW5zaWVudCAocG9wLXVwIHdpbmRvd3Mgc3Vj aCBhcyBNYWdpdCdzKQ0KQEAgLTE1ODAsNyArMjIyMSw3IEBAICoqIEZ1bGwgc3VwcG9ydCBmb3Ig cGFja2FnZXMgb3IgZmFjZSBncm91cHMNCiArIHR5cGVzY3JpcHQNCiArIHVuZG8tdHJlZQ0KICsg dmMgKGJ1aWx0LWluIG1vZGUgbGluZSBzdGF0dXMgZm9yIHZlcnNpb24gY29udHJvbCkNCi0rIHZj LWFubm90YXRlICg9Qy14IHYgZz0pDQorKyB2Yy1hbm5vdGF0ZSAodGhlIG91dCBwdXQgb2Yge3t7 a2JkKEMteCB2IGcpfX19KQ0KICsgdmRpZmYNCiArIHZpbWlzaC1mb2xkDQogKyB2aXNpYmxlLW1h cmsNCkBAIC0xNjA4LDY3ICsyMjQ5LDIzNCBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2Vz IG9yIGZhY2UgZ3JvdXBzDQogR05VIEVtYWNzIGRpc3RyaWJ1dGlvbi4NCiANCiAqKiBJbmRpcmVj dGx5IGNvdmVyZWQgcGFja2FnZXMNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjJjYjM1 OWM3LTNhODQtNDI2Mi1iYWIzLWRjZGMxZDAwMzRkNw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQor OmN1c3RvbV9pZDogaDoyY2IzNTljNy0zYTg0LTQyNjItYmFiMy1kY2RjMWQwMDM0ZDcNCis6ZW5k Og0KKyMrY2luZGV4OiBJbXBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcw0KIA0KIFRoZXNlIGRv IG5vdCByZXF1aXJlIGFueSBleHRyYSBzdHlsZXMgYmVjYXVzZSB0aGV5IGFyZSBjb25maWd1cmVk IHRvDQogaW5oZXJpdCBmcm9tIHNvbWUgYmFzaWMgZmFjZXMuICBQbGVhc2UgY29uZmlybS4NCiAN CiArIGVkaXQtaW5kaXJlY3QNCiArIGV2aWwtb3dsDQorKyBmb3J0cmFuLW1vZGUNCisrIGdvZ2ds ZXMNCiArIGkzd20tY29uZmlnLW1vZGUNCiArIHBlcmwtbW9kZQ0KICsgcGhwLW1vZGUNCiArIHJq c3gtbW9kZQ0KICsgc3dpZnQtbW9kZQ0KLQ0KLSoqIFdpbGwgTk9UIGJlIHN1cHBvcnRlZA0KLTpQ Uk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6NmM2ZThkOTQtNjc4Mi00N2ZjLTllZWYtYWQ3ODY3 MWU5ZWVhDQotOkVORDoNCi0NCi1JIGhhdmUgdGh1cyBmYXIgaWRlbnRpZmllZCBhIHNpbmdsZSBw YWNrYWdlIHRoYXQgZG9lcyBmaXQgaW50byB0aGUNCi1vdmVyYXJjaGluZyBvYmplY3RpdmUgb2Yg dGhpcyBwcm9qZWN0OiBbW2h0dHBzOi8vZ2l0aHViLmNvbS9obGlzc25lci9lbWFjcy1zb2xhaXJl LW1vZGVdW3NvbGFpcmVdXS4gIEl0IGJhc2ljYWxseSB0cmllcyB0bw0KLWNhc3QgYSBsZXNzIGlu dGVuc2UgYmFja2dyb3VuZCBvbiB0aGUgbWFpbiBmaWxlLXZpc2l0aW5nIGJ1ZmZlcnMsIHNvDQot dGhhdCBzZWNvbmRhcnkgZWxlbWVudHMgbGlrZSBzaWRlYmFycyBjYW4gaGF2ZSB0aGUgZGVmYXVs dCAocHVyZQ0KLXdoaXRlL2JsYWNrKSBiYWNrZ3JvdW5kLg0KLQ0KLUkgd2lsbCBvbmx5IGNvdmVy IHRoaXMgcGFja2FnZSBpZiBpdCBldmVyIHN1cHBvcnRzIHRoZSBpbnZlcnNlIGVmZmVjdDoNCi1s ZXNzIGludGVuc2UgY29sb3JzIChidXQgc3RpbGwgYWNjZXNzaWJsZSkgZm9yIGFuY2lsbGFyeSBp bnRlcmZhY2VzDQotYW5kIHRoZSBpbnRlbmRlZCBzdHlsZXMgZm9yIHRoZSBjb250ZW50IHlvdSBh cmUgYWN0dWFsbHkgd29ya2luZyBvbi4NCisrIHRhYi1iYXItZWNoby1hcmVhDQogDQogKiBOb3Rl cyBmb3IgaW5kaXZpZHVhbCBwYWNrYWdlcw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6 NGM0ZDkwMWEtODRkNy00ZjIwLWJkOTktMDgwOGMyYjA2ZWJhDQotOkVORDoNCis6cHJvcGVydGll czoNCis6Y3VzdG9tX2lkOiBoOjRjNGQ5MDFhLTg0ZDctNGYyMC1iZDk5LTA4MDhjMmIwNmViYQ0K KzplbmQ6DQogDQogVGhpcyBzZWN0aW9uIGNvdmVycyBpbmZvcm1hdGlvbiB0aGF0IG1heSBiZSBv ZiBpbnRlcmVzdCB0byB1c2VycyBvZg0KIGluZGl2aWR1YWwgcGFja2FnZXMuDQogDQorKiogTm90 ZSBmb3IgZGlzcGxheS1maWxsLWNvbHVtbi1pbmRpY2F0b3ItbW9kZQ0KKzpwcm9wZXJ0aWVzOg0K KzpjdXN0b21faWQ6IGg6MmE2MDI4MTYtYmMxYi00NWJmLTk2NzUtNGNiYmQ3YmY2Y2FiDQorOmVu ZDoNCisNCitXaGlsZSBkZXNpZ25pbmcgdGhlIHN0eWxlIGZvciB+ZGlzcGxheS1maWxsLWNvbHVt bi1pbmRpY2F0b3ItbW9kZX4sIHdlDQorc3RheWVkIGNsb3NlIHRvIHRoZSBtb2RlJ3MgZGVmYXVs dHM6IHRvIGFwcGx5IGEgc3VidGxlIGZvcmVncm91bmQgY29sb3INCit0byB0aGUgfmZpbGwtY29s dW1uLWluZGljYXRvcn4gZmFjZSwgd2hpY2ggYmxlbmRzIHdlbGwgd2l0aCB0aGUgcmVzdCBvZg0K K3RoZW1lIGFuZCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHJvbGUgb2YgdGhhdCBtb2RlLiAgVGhp cyBpcyB0byBub3QNCit1cHNldCB0aGUgZXhwZWN0YXRpb25zIG9mIHVzZXJzLg0KKw0KK05ldmVy dGhlbGVzcywgfmRpc3BsYXktZmlsbC1jb2x1bW4taW5kaWNhdG9yLW1vZGV+IGhhcyBzb21lIGtu b3duDQorbGltaXRhdGlvbnMgcGVydGFpbmluZyB0byBpdHMgY2hvaWNlIG9mIHVzaW5nIHR5cG9n cmFwaGljIGNoYXJhY3RlcnMgdG8NCitkcmF3IGl0cyBpbmRpY2F0b3IuICBXaGF0IHNob3VsZCBi ZSBhIGNvbnRpbnVvdXMgdmVydGljYWwgbGluZSBtaWdodA0KK2FwcGVhciBhcyBhIHNlcmllcyBv ZiBkYXNoZXMgaW4gY2VydGFpbiBjb250ZXh0cyBvciB1bmRlciBzcGVjaWZpYw0KK2NvbmRpdGlv bnM6IGEgbm9uLWRlZmF1bHQgdmFsdWUgZm9yIH5saW5lLXNwYWNpbmd+LCBzY2FsZWQgYW5kL29y DQordmFyaWFibGUtcGl0Y2ggaGVhZGluZ3MgaGF2ZSBiZWVuIG9ic2VydmVkIHRvIGNhdXNlIHRo aXMgZWZmZWN0Lg0KKw0KK0dpdmVuIHRoYXQgd2UgY2Fubm90IGNvbnRyb2wgc3VjaCBmYWN0b3Jz LCBpdCBtYXkgYmUgYmV0dGVyIGZvciBhZmZlY3RlZA0KK3VzZXJzIHRvIGRldmlhdGUgZnJvbSB0 aGUgZGVmYXVsdCBzdHlsZSBvZiB0aGUgfmZpbGwtY29sdW1uLWluZGljYXRvcn4NCitmYWNlLiAg SW5zdGVhZCBvZiBzZXR0aW5nIGEgZm9yZWdyb3VuZCBjb2xvciwgb25lIGNvdWxkIHVzZSBhIGJh Y2tncm91bmQNCithbmQgaGF2ZSB0aGUgZm9yZWdyb3VuZCBiZSBpbmRpc3Rpbmd1aXNoYWJsZSBm cm9tIGl0LiAgRm9yIGV4YW1wbGU6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1 cy10aGVtZXMtd2l0aC1jb2xvcnMNCisgIChjdXN0b20tc2V0LWZhY2VzDQorICAgYChmaWxsLWNv bHVtbi1pbmRpY2F0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGJnLWluYWN0aXZlKSkp KSkNCisjK2VuZF9zcmMNCisNCitbWyNoOjUxYmEzNTQ3LWI4YzgtNDBkNi1iYTVhLTQ1ODY0Nzdm ZDRhZV1bRmFjZSBzcGVjcyBhdCBzY2FsZSB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uDQor DQorKiogTm90ZSBmb3IgbW1tLW1vZGUuZWwgYmFja2dyb3VuZCBjb2xvcnMNCis6cHJvcGVydGll czoNCis6Y3VzdG9tX2lkOiBoOjk5Y2YwZDZjLWU0NzgtNGUyNi05OTMyLTNiZjM0MjdkMTNmNg0K KzplbmQ6DQorDQorVGhlIGZhY2VzIHVzZWQgYnkge3t7ZmlsZShtbW0tbW9kZS5lbCl9fX0gYXJl IGV4cGVjdGVkIHRvIGhhdmUgYSBjb2xvcmZ1bA0KK2JhY2tncm91bmQsIHdoaWxlIHRoZXkgc2hv dWxkIG5vdCB0b3VjaCBhbnkgZm9yZWdyb3VuZCB2YWx1ZS4gIFRoZSBpZGVhDQoraXMgdGhhdCB0 aGV5IG11c3Qgbm90IGludGVyZmVyZSB3aXRoIGV4aXN0aW5nIGZvbnRpZmljYXRpb24uICBUaG9z ZQ0KK2JhY2tncm91bmQgY29sb3JzIG5lZWQgdG8gYmUgZGlzdGluY3QgZnJvbSBlYWNoIG90aGVy LCBzdWNoIGFzIGFuDQordW5hbWJpZ3VvdXMgcmVkIGp1eHRhcG9zZWQgd2l0aCBhIGNsZWFyIGJs dWUuDQorDQorV2hpbGUgdGhpcyBkZXNpZ24gbWF5IGJlIGludGVybmFsbHkgY29uc2lzdGVudCB3 aXRoIHRoZSByYWlzb24gZCfDqnRyZSBvZg0KK3RoYXQgbGlicmFyeSwgaXQgaW5ldml0YWJseSBw cm9kdWNlcyBpbmFjY2Vzc2libGUgY29sb3IgY29tYmluYXRpb25zLg0KKw0KK1RoZXJlIGFyZSB0 d28gY29tcGV0aW5nIGdvYWxzIGF0IHBsYXk6DQorDQorMS4gTGVnaWJpbGl0eSBvZiB0aGUgdGV4 dCwgdW5kZXJzdG9vZCBhcyB0aGUgY29udHJhc3QgcmF0aW8gYmV0d2VlbiB0aGUNCisgICBiYWNr Z3JvdW5kIGFuZCB0aGUgZm9yZWdyb3VuZC4NCisNCisyLiBTZW1hbnRpYyBwcmVjaXNpb24gb2Yg ZWFjaCBmYWNlIHdoaWNoIGVudGFpbHMgZmFpdGhmdWxuZXNzIHRvDQorICAgY29sb3ItY29kaW5n IG9mIHRoZSB1bmRlcmx5aW5nIGJhY2tncm91bmQuDQorDQorQXMgdGhlIE1vZHVzIHRoZW1lcyBh cmUgZGVzaWduZWQgd2l0aCB0aGUgZXhwcmVzcyBwdXJwb3NlIG9mIGNvbmZvcm1pbmcNCit3aXRo IHRoZSBmaXJzdCBwb2ludCwgd2UgaGF2ZSB0byBmb3JnbyB0aGUgYXBwYXJlbnQgY29sb3ItY29k aW5nIG9mIHRoZQ0KK2JhY2tncm91bmQgZWxlbWVudHMuICBJbnN0ZWFkIHdlIHVzZSBzdWJ0bGUg Y29sb3JzIHRoYXQgZG8gbm90IHVuZGVybWluZQ0KK3RoZSBsZWdpYmlsaXR5IG9mIHRoZSBhZmZl Y3RlZCB0ZXh0IHdoaWxlIHRoZXkgc3RpbGwgb2ZmZXIgYSBzZW5zZSBvZg0KK2FkZGVkIGNvbnRl eHQuDQorDQorVXNlcnMgd2hvIG1pZ2h0IHByZWZlciB0byBmYWxsIGJlbG93IHRoZSBtaW5pbXVt IDc6MSBjb250cmFzdCByYXRpbyBpbg0KK3JlbGF0aXZlIGx1bWluYW5jZSAodGhlIGFjY2Vzc2li aWxpdHkgdGFyZ2V0IHdlIGNvbmZvcm0gd2l0aCksIGNhbiBvcHQNCit0byBjb25maWd1cmUgdGhl IHJlbGV2YW50IGZhY2VzIG9uIHRoZWlyIG93bi4NCisNCitbWyNoOjUxYmEzNTQ3LWI4YzgtNDBk Ni1iYTVhLTQ1ODY0NzdmZDRhZV1bRmFjZSBzcGVjcyBhdCBzY2FsZSB1c2luZyB0aGUgdGhlbWVz JyBwYWxldHRlXV0uDQorDQorVGhpcyBleGFtcGxlIHVzZXMgbW9yZSB2aXZpZCBiYWNrZ3JvdW5k IGNvbG9ycywgdGhvdWdoIGl0IGNvbWVzIGF0IHRoZQ0KK3ZlcnkgaGlnaCBjb3N0IG9mIGRlZ3Jh ZGVkIGxlZ2liaWxpdHkuDQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10aGVt ZXMtd2l0aC1jb2xvcnMNCisgIChjdXN0b20tc2V0LWZhY2VzDQorICAgYChtbW0tY2xlYW51cC1z dWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcpKSkNCisg ICBgKG1tbS1jb2RlLXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZl KSkpDQorICAgYChtbW0tY29tbWVudC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUtcmVmaW5lLWJnKSkpDQorICAgYChtbW0tZGVjbGFyYXRpb24tc3VibW9kZS1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXJlZmluZS1iZykpKQ0KKyAgIGAobW1tLWRlZmF1bHQt c3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICBgKG1tbS1p bml0LXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcp KSkNCisgICBgKG1tbS1vdXRwdXQtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxy ZWQtcmVmaW5lLWJnKSkpDQorICAgYChtbW0tc3BlY2lhbC1zdWJtb2RlLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGdyZWVuLXJlZmluZS1iZykpKSkpDQorIytlbmRfc3JjDQorDQorKiogTm90 ZSBmb3IgcHJpc20uZWwNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBOb3RlIGZvciBwcmlz bQ0KKzpjdXN0b21faWQ6IGg6YTk0MjcyZTAtOTlkYS00MTQ5LTllODAtMTFhN2U2N2EyY2YyDQor OmVuZDoNCisNCitUaGlzIHBhY2thZ2UgYnkgQWRhbSBQb3J0ZXIsIGFrYSAiYWxwaGFwYXBhIiBv ciAiZ2l0aHViLWFscGhhcGFwYSIsDQoraW1wbGVtZW50cyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUg dHlwaWNhbCBjb2xvcmF0aW9uIG9mIGNvZGUuICBJbnN0ZWFkIG9mDQoraGlnaGxpZ2h0aW5nIHRo ZSBzeW50YWN0aWMgY29uc3RydWN0cywgaXQgYXBwbGllcyBjb2xvciB0byBkaWZmZXJlbnQNCits ZXZlbHMgb2YgZGVwdGggaW4gdGhlIGNvZGUgc3RydWN0dXJlLg0KKw0KK0FzIHt7e2ZpbGUocHJp c20uZWwpfX19IG9mZmVycyBhIGJyb2FkIHJhbmdlIG9mIGN1c3RvbWlzYXRpb25zLCB3ZSBjYW5u b3QNCitzdHlsZSBpdCBkaXJlY3RseSBhdCB0aGUgdGhlbWUgbGV2ZWw6IHRoYXQgd291bGQgcnVu IGNvbnRyYXJ5IHRvIHRoZQ0KK3NwaXJpdCBvZiB0aGUgcGFja2FnZS4gIEluc3RlYWQsIHdlIG1h eSBvZmZlciBwcmVzZXQgY29sb3Igc2NoZW1lcy4NCitUaG9zZSBzaG91bGQgb2ZmZXIgYSBzdGFy dGluZyBwb2ludCBmb3IgdXNlcnMgdG8gYWRhcHQgdG8gdGhlaXIgbmVlZHMuDQorDQorSW4gdGhl IGZvbGxvd2luZyBjb2RlIHNuaXBwZXRzLCB3ZSBlbXBsb3kgdGhlIH5tb2R1cy10aGVtZXMtd2l0 aC1jb2xvcnN+DQorbWFjcm86IFtbI2g6NTFiYTM1NDctYjhjOC00MGQ2LWJhNWEtNDU4NjQ3N2Zk NGFlXVtGYWNlIHNwZWNzIGF0IHNjYWxlIHVzaW5nIHRoZSB0aGVtZXMnIHBhbGV0dGVdXS4NCisN CitUaGVzZSBhcmUgdGhlIG1pbmltdW0gcmVjb21tZW5kZWQgc2V0dGluZ3Mgd2l0aCAxNiBjb2xv cnM6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhzZXRxIHByaXNtLW51bS1mYWNlcyAx NikNCisNCisocHJpc20tc2V0LWNvbG9ycw0KKyAgOmRlc2F0dXJhdGlvbnMgJygwKSA7IGRvIG5v dCBjaGFuZ2UtLS1tYXkgbG93ZXIgdGhlIGNvbnRyYXN0IHJhdGlvDQorICA6bGlnaHRlbnMgJygw KSAgICAgIDsgc2FtZQ0KKyAgOmNvbG9ycyAobW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzDQorICAg ICAgICAgICAgKGxpc3QgZmctbWFpbg0KKyAgICAgICAgICAgICAgICAgIG1hZ2VudGENCisgICAg ICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgIG1hZ2VudGEt YWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgYmx1ZQ0KKyAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0DQorICAgICAgICAgICAgICAgICAgY3lhbi1hbHQNCisgICAgICAgICAgICAgICAg ICByZWQtYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgZ3JlZW4NCisgICAgICAgICAgICAg ICAgICBmZy1tYWluDQorICAgICAgICAgICAgICAgICAgY3lhbg0KKyAgICAgICAgICAgICAgICAg IHllbGxvdw0KKyAgICAgICAgICAgICAgICAgIGJsdWUtYWx0DQorICAgICAgICAgICAgICAgICAg cmVkLWFsdA0KKyAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlcg0KKyAgICAgICAgICAg ICAgICAgIGZnLXNwZWNpYWwtd2FybSkpKQ0KKyMrZW5kX3NyYw0KKw0KK1dpdGggOCBjb2xvcnM6 DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhzZXRxIHByaXNtLW51bS1mYWNlcyA4KQ0K Kw0KKyhwcmlzbS1zZXQtY29sb3JzDQorICA6ZGVzYXR1cmF0aW9ucyAnKDApIDsgZG8gbm90IGNo YW5nZS0tLW1heSBsb3dlciB0aGUgY29udHJhc3QgcmF0aW8NCisgIDpsaWdodGVucyAnKDApICAg ICAgOyBzYW1lDQorICA6Y29sb3JzIChtb2R1cy10aGVtZXMtd2l0aC1jb2xvcnMNCisgICAgICAg ICAgICAobGlzdCBmZy1zcGVjaWFsLWNvbGQNCisgICAgICAgICAgICAgICAgICBtYWdlbnRhDQor ICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICBj eWFuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgIGZnLW1haW4NCisgICAgICAgICAgICAg ICAgICBibHVlLWFsdA0KKyAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXINCisgICAgICAg ICAgICAgICAgICBjeWFuKSkpDQorIytlbmRfc3JjDQorDQorQW5kIHRoaXMgaXMgd2l0aCA0IGNv bG9ycywgd2hpY2ggcHJvZHVjZXMgcmVzdWx0cyB0aGF0IGFyZSB0aGUgY2xvc2VzdA0KK3RvIHRo ZSB0aGVtZXMnIGRlZmF1bHQgYWVzdGhldGljOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3AN Cisoc2V0cSBwcmlzbS1udW0tZmFjZXMgNCkNCisNCisocHJpc20tc2V0LWNvbG9ycw0KKyAgOmRl c2F0dXJhdGlvbnMgJygwKSA7IGRvIG5vdCBjaGFuZ2UtLS1tYXkgbG93ZXIgdGhlIGNvbnRyYXN0 IHJhdGlvDQorICA6bGlnaHRlbnMgJygwKSAgICAgIDsgc2FtZQ0KKyAgOmNvbG9ycyAobW9kdXMt dGhlbWVzLXdpdGgtY29sb3JzDQorICAgICAgICAgICAgKGxpc3QgZmctbWFpbg0KKyAgICAgICAg ICAgICAgICAgIGN5YW4tYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQt b3RoZXINCisgICAgICAgICAgICAgICAgICBtYWdlbnRhKSkpDQorIytlbmRfc3JjDQorDQorSWYg eW91IG5lZWQgdG8gYXBwbHkgZGVzYXR1cmF0aW9uIGFuZCBsaWdodGVuaW5nLCB5b3UgY2FuIHVz ZSB3aGF0IHRoZQ0KK3t7e2ZpbGUocHJpc20uZWwpfX19IGRvY3VtZW50YXRpb24gcmVjb21tZW5k cywgbGlrZSB0aGlzIChhZGFwdGluZyB0byB0aGUNCitleGFtcGxlcyB3aXRoIHRoZSA0LCA4LCAx NiBjb2xvcnMpOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisocHJpc20tc2V0LWNvbG9y cw0KKyAgOmRlc2F0dXJhdGlvbnMgKGNsLWxvb3AgZm9yIGkgZnJvbSAwIGJlbG93IDE2IGNvbGxl Y3QgKCogaSAyLjUpKQ0KKyAgOmxpZ2h0ZW5zIChjbC1sb29wIGZvciBpIGZyb20gMCBiZWxvdyAx NiBjb2xsZWN0ICgqIGkgMi41KSkNCisgIDpjb2xvcnMgKG1vZHVzLXRoZW1lcy13aXRoLWNvbG9y cw0KKyAgICAgICAgICAgIChsaXN0IGZnLW1haW4NCisgICAgICAgICAgICAgICAgICBjeWFuLWFs dC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyDQorICAgICAgICAg ICAgICAgICAgbWFnZW50YSkpKQ0KKyMrZW5kX3NyYw0KKw0KICoqIE5vdGUgb24gY29tcGFueS1t b2RlIG92ZXJsYXkgcG9wLXVwDQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDoyMGNlZjhj NC1kMTFmLTQwNTMtOGIyYy0yODcyOTI1NzgwYjENCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpj dXN0b21faWQ6IGg6MjBjZWY4YzQtZDExZi00MDUzLThiMmMtMjg3MjkyNTc4MGIxDQorOmVuZDoN CiANCi1CeSBkZWZhdWx0LCB0aGUgPWNvbXBhbnktbW9kZT0gcG9wLXVwIHRoYXQgbGlzdHMgY29t cGxldGlvbiBjYW5kaWRhdGVzIGlzDQorQnkgZGVmYXVsdCwgdGhlIH5jb21wYW55LW1vZGV+IHBv cC11cCB0aGF0IGxpc3RzIGNvbXBsZXRpb24gY2FuZGlkYXRlcyBpcw0KIGRyYXduIHVzaW5nIGFu IG92ZXJsYXkuICBUaGlzIGNyZWF0ZXMgYWxpZ25tZW50IGlzc3VlcyBldmVyeSB0aW1lIGl0IGlz DQogcGxhY2VkIGFib3ZlIGEgcGllY2Ugb2YgdGV4dCB0aGF0IGhhcyBhIGRpZmZlcmVudCBoZWln aHQgdGhhbiB0aGUNCiBkZWZhdWx0Lg0KIA0KIFRoZSBzb2x1dGlvbiByZWNvbW1lbmRlZCBieSB0 aGUgcHJvamVjdCdzIG1haW50YWluZXIgaXMgdG8gdXNlIGFuDQotYWx0ZXJuYXRpdmUgZnJvbnQt ZW5kIGZvciBkcmF3aW5nIHRoZSBwb3AtdXAgd2hpY2ggdXNlcyBjaGlsZCBmcmFtZXMNCithbHRl cm5hdGl2ZSBmcm9udC1lbmQgZm9yIGRyYXdpbmcgdGhlIHBvcC11cCB3aGljaCBkcmF3cyBjaGls ZCBmcmFtZXMNCiBpbnN0ZWFkIG9mIG92ZXJsYXlzLltmbjo6DQogaHR0cHM6Ly9naXRodWIuY29t L2NvbXBhbnktbW9kZS9jb21wYW55LW1vZGUvaXNzdWVzLzEwMTBdW2ZuOjoNCiBodHRwczovL2dp dGh1Yi5jb20vdHVtYXNodS9jb21wYW55LXBvc2ZyYW1lL10NCiANCiAqKiBOb3RlIGZvciBFUkMg ZXNjYXBlZCBjb2xvciBzZXF1ZW5jZXMNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjk4 YmRmMzE5LTFlMzItNDQ2OS04YTAxLTc3MTIwMGZiYTY1Yw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6 DQorOmN1c3RvbV9pZDogaDo5OGJkZjMxOS0xZTMyLTQ0NjktOGEwMS03NzEyMDBmYmE2NWMNCis6 ZW5kOg0KIA0KLVRoZSBidWlsdC1pbiBJUkMgY2xpZW50ID1lcmM9IGhhcyB0aGUgYWJpbGl0eSB0 byBjb2xvcmlzZSBhbnkgdGV4dCB1c2luZw0KLWVzY2FwZSBzZXF1ZW5jZXMgdGhhdCBzdGFydCB3 aXRoID1eQz0gKGluc2VydGVkIHdpdGggPUMtcSBDLWM9KSBhbmQgYXJlDQorVGhlIGJ1aWx0LWlu IElSQyBjbGllbnQgfmVyY34gaGFzIHRoZSBhYmlsaXR5IHRvIGNvbG9yaXNlIGFueSB0ZXh0IHVz aW5nDQorZXNjYXBlIHNlcXVlbmNlcyB0aGF0IHN0YXJ0IHdpdGggPV5DPSAoaW5zZXJ0ZWQgd2l0 aCB7e3trYmQoQy1xIEMtYyl9fX0pIGFuZCBhcmUNCiBmb2xsb3dlZCBieSBhIG51bWJlciBmb3Ig dGhlIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQuW2ZuOjogVGhpcyBwYWdlDQogZXhwbGFpbnMg dGhlIGJhc2ljcywgdGhvdWdoIGl0IGlzIG5vdCBzcGVjaWZpYyB0byBFbWFjczoNCiBodHRwczov L3d3dy5taXJjLmNvbS9jb2xvcnMuaHRtbF0gUG9zc2libGUgbnVtYmVycyBhcmUgMC0xNSwgd2l0 aCB0aGUNCkBAIC0xNjgxLDEzICsyNDg5LDEzIEBAICoqIE5vdGUgZm9yIEVSQyBlc2NhcGVkIGNv bG9yIHNlcXVlbmNlcw0KICAgICAgIGVyYy1pbnRlcnByZXQtbWlyYy1jb2xvciB0KQ0KICMrZW5k X3NyYw0KIA0KLUFzIHRoaXMgYWxsb3dzIHVzZXJzIHRvIG1ha2UgYXJiaXRyYXJ5IGNvbWJpbmF0 aW9ucywgaXQgaXMgaW1wb3NzaWJsZSB0bw0KLWd1YXJhbnRlZSBhIGNvbnNpc3RlbnRseSBoaWdo IGNvbnRyYXN0IHJhdGlvLiAgQWxsIHdlIGNhbiB3ZSBkbyBpcw0KLXByb3ZpZGUgZ3VpZGFuY2Ug b24gdGhlIGNvbWJpbmF0aW9ucyB0aGF0IHNhdGlzZnkgdGhlIGFjY2Vzc2liaWxpdHkNCi1zdGFu ZGFyZCBvZiB0aGUgdGhlbWVzOg0KK0FzIHRoaXMgYWxsb3dzIHVzZXJzIHRoZSBjaGFuY2UgdG8g bWFrZSBhcmJpdHJhcnkgY29tYmluYXRpb25zLCBpdCBpcw0KK2ltcG9zc2libGUgdG8gZ3VhcmFu dGVlIGEgY29uc2lzdGVudGx5IGhpZ2ggY29udHJhc3QgcmF0aW8uICBBbGwgd2UgY2FuDQord2Ug ZG8gaXMgcHJvdmlkZSBndWlkYW5jZSBvbiB0aGUgY29tYmluYXRpb25zIHRoYXQgc2F0aXNmeSB0 aGUNCithY2Nlc3NpYmlsaXR5IHN0YW5kYXJkIG9mIHRoZSB0aGVtZXM6DQogDQogKyBNb2R1cyBP cGVyYW5kaSA6OiBVc2UgZm9yZWdyb3VuZCBjb2xvciAxIGZvciBhbGwgYmFja2dyb3VuZHMgZnJv bQ0KLSAgMi0xNS4gIExpa2Ugc286ID1DLXEgQy1jMSxOPSB3aGVyZSA9Tj0gaXMgdGhlIGJhY2tn cm91bmQuDQorICAyLTE1LiAgTGlrZSBzbzoge3t7a2JkKEMtcSBDLWMxLE4pfX19IHdoZXJlID1O PSBpcyB0aGUgYmFja2dyb3VuZC4NCiANCiArIE1vZHVzIFZpdmVuZGkgOjogVXNlIGZvcmVncm91 bmQgY29sb3IgMCBmb3IgYWxsIGJhY2tncm91bmRzIGZyb20NCiAgIDItMTMuICBVc2UgZm9yZWdy b3VuZCA9MT0gZm9yIGJhY2tncm91bmRzIDE0LCAxNS4NCkBAIC0xNjk2LDM1ICsyNTA0LDM4IEBA ICoqIE5vdGUgZm9yIEVSQyBlc2NhcGVkIGNvbG9yIHNlcXVlbmNlcw0KIHRvZ2V0aGVyLCBpZiB5 b3UgbXVzdC4NCiANCiAqKiBOb3RlIGZvciBwb3dlcmxpbmUgb3Igc3BhY2VsaW5lDQotOlBST1BF UlRJRVM6DQotOkNVU1RPTV9JRDogaDo5MTMwYThiYS1kOGUzLTQxYmUtYTU4Yi0zY2IxZWI3YjZk MTcNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6OTEzMGE4YmEtZDhlMy00 MWJlLWE1OGItM2NiMWViN2I2ZDE3DQorOmVuZDoNCiANCiBCb3RoIFBvd2VybGluZSBhbmQgU3Bh Y2VsaW5lIHBhY2thZ2UgdXNlcnMgd2lsbCBsaWtlbHkgbmVlZCB0byB1c2UgdGhlDQotY29tbWFu ZCA9cG93ZXJsaW5lLXJlc2V0PSB3aGVuZXZlciB0aGV5IG1ha2UgY2hhbmdlcyB0byB0aGVpciB0 aGVtZXMNCitjb21tYW5kIH5wb3dlcmxpbmUtcmVzZXR+IHdoZW5ldmVyIHRoZXkgbWFrZSBjaGFu Z2VzIHRvIHRoZWlyIHRoZW1lcw0KIGFuZC9vciBtb2RlbGluZSBzZXR1cC4NCiANCi0qKiBOb3Rl IG9uIHNociBjb2xvcnMNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjRjYzc2N2RjLWZm ZWYtNGM1Yy05ZjEwLTgyZWI3Yjg5MjFiZg0KLTpFTkQ6DQorKiogTm90ZSBvbiBTSFIgY29sb3Jz DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDo0Y2M3NjdkYy1mZmVmLTRjNWMtOWYxMC04 MmViN2I4OTIxYmYNCis6ZW5kOg0KIA0KLUVtYWNzJyBIVE1MIHJlbmRlcmluZyBtZWNoYW5pc20g KD1zaHI9KSBtYXkgbmVlZCBleHBsaWNpdCBjb25maWd1cmF0aW9uIHRvDQotcmVzcGVjdCB0aGUg dGhlbWUncyBjb2xvcnMgaW5zdGVhZCBvZiB3aGF0ZXZlciBzcGVjaWZpY2F0aW9ucyB0aGUNCi13 ZWJwYWdlIHByb3ZpZGVzLiAgQ29uc3VsdCA9Qy1oIHYgc2hyLXVzZS1jb2xvcnM9Lg0KK0VtYWNz JyBIVE1MIHJlbmRlcmluZyBsaWJyYXJ5ICh7e3tmaWxlKHNoci5lbCl9fX0pIG1heSBuZWVkIGV4 cGxpY2l0DQorY29uZmlndXJhdGlvbiB0byByZXNwZWN0IHRoZSB0aGVtZSdzIGNvbG9ycyBpbnN0 ZWFkIG9mIHdoYXRldmVyDQorc3BlY2lmaWNhdGlvbnMgdGhlIHdlYnBhZ2UgcHJvdmlkZXMuDQor DQorQ29uc3VsdCB7e3trYmQoQy1oIHYgc2hyLXVzZS1jb2xvcnMpfX19Lg0KIA0KICoqIE5vdGUg Zm9yIEhlbG0gZ3JlcA0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6ZDI4ODc5YTItOGU0 Yi00NTI1LTk4NmUtMTRjMGY4NzNkMjI5DQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9t X2lkOiBoOmQyODg3OWEyLThlNGItNDUyNS05ODZlLTE0YzBmODczZDIyOQ0KKzplbmQ6DQogDQog VGhlcmUgaXMgb25lIGZhY2UgZnJvbSB0aGUgSGVsbSBwYWNrYWdlIHRoYXQgaXMgbWVhbnQgdG8g aGlnaGxpZ2h0IHRoZQ0KIG1hdGNoZXMgb2YgYSBncmVwIG9yIGdyZXAtbGlrZSBjb21tYW5kICg9 YWc9IG9yID1yaXBncmVwPSkuICBJdCBpcw0KLT1oZWxtLWdyZXAtbWF0Y2g9LiAgSG93ZXZlciwg dGhpcyBmYWNlIGNhbiBvbmx5IGFwcGx5IHdoZW4gdGhlIHVzZXIgZG9lcw0KK35oZWxtLWdyZXAt bWF0Y2h+LiAgSG93ZXZlciwgdGhpcyBmYWNlIGNhbiBvbmx5IGFwcGx5IHdoZW4gdGhlIHVzZXIg ZG9lcw0KIG5vdCBwYXNzID0tLWNvbG9yPWFsd2F5cz0gYXMgYSBjb21tYW5kLWxpbmUgb3B0aW9u IGZvciB0aGVpciBjb21tYW5kLg0KIA0KIEhlcmUgaXMgdGhlIGRvY3N0cmluZyBmb3IgdGhhdCBm YWNlLCB3aGljaCBpcyBkZWZpbmVkIGluIHRoZQ0KLT1oZWxtLWdyZXAuZWw9IGxpYnJhcnkgKHZp ZXcgYSBsaWJyYXJ5IHdpdGggPU0teCBmaW5kLWxpYnJhcnk9KS4NCit7e3tmaWxlKGhlbG0tZ3Jl cC5lbCl9fX0gbGlicmFyeSAoeW91IGNhbiBhbHdheXMgdmlzaXQgdGhlIHNvdXJjZSBjb2RlIHdp dGgNCit7e3trYmQoTS14IGZpbmQtbGlicmFyeSl9fX0pLg0KIA0KICMrYmVnaW5fcXVvdGUNCiBG YWNlIHVzZWQgdG8gaGlnaGxpZ2h0IGdyZXAgbWF0Y2hlcy4gIEhhdmUgbm8gZWZmZWN0IHdoZW4g Z3JlcCBiYWNrZW5kDQpAQCAtMTczNCwyMyArMjU0NSwyMyBAQCAqKiBOb3RlIGZvciBIZWxtIGdy ZXANCiBUaGUgdXNlciBtdXN0IGVpdGhlciByZW1vdmUgPS0tY29sb3I9IGZyb20gdGhlIGZsYWdz IHBhc3NlZCB0byB0aGUgZ3JlcA0KIGZ1bmN0aW9uLCBvciBleHBsaWNpdGx5IHVzZSA9LS1jb2xv cj1uZXZlcj0gKG9yIGVxdWl2YWxlbnQpLiAgSGVsbQ0KIHByb3ZpZGVzIHVzZXItZmFjaW5nIGN1 c3RvbWl6YXRpb24gb3B0aW9ucyBmb3IgY29udHJvbGxpbmcgdGhlIGdyZXANCi1mdW5jdGlvbidz IHBhcmFtZXRlcnMsIHN1Y2ggYXMgPWhlbG0tZ3JlcC1kZWZhdWx0LWNvbW1hbmQ9IGFuZA0KLT1o ZWxtLWdyZXAtZ2l0LWdyZXAtY29tbWFuZD0uDQorZnVuY3Rpb24ncyBwYXJhbWV0ZXJzLCBzdWNo IGFzIH5oZWxtLWdyZXAtZGVmYXVsdC1jb21tYW5kfiBhbmQNCit+aGVsbS1ncmVwLWdpdC1ncmVw LWNvbW1hbmR+Lg0KIA0KIFdoZW4gPS0tY29sb3I9YWx3YXlzPSBpcyBpbiBlZmZlY3QsIHRoZSBn cmVwIG91dHB1dCB3aWxsIHVzZSByZWQgdGV4dCBpbg0KIGJvbGQgbGV0dGVyIGZvcm1zIHRvIHBy ZXNlbnQgdGhlIG1hdGNoaW5nIHBhcnQgaW4gdGhlIGxpc3Qgb2YNCiBjYW5kaWRhdGVzLiAgVGhh dCBzdHlsZSBzdGlsbCBtZWV0cyB0aGUgY29udHJhc3QgcmF0aW8gdGFyZ2V0IG9mID49IDc6MQ0K IChhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkIFdDQUcgQUFBKSwgYmVjYXVzZSBpdCBkcmF3cyB0aGUg cmVmZXJlbmNlIHRvDQogQU5TSSBjb2xvciBudW1iZXIgMSAocmVkKSBmcm9tIHRoZSBhbHJlYWR5 LXN1cHBvcnRlZCBhcnJheSBvZg0KLT1hbnNpLWNvbG9yLW5hbWVzLXZlY3Rvcj0uDQorfmFuc2kt Y29sb3ItbmFtZXMtdmVjdG9yfi4NCiANCiAqKiBOb3RlIG9uIHZjLWFubm90YXRlLWJhY2tncm91 bmQtbW9kZQ0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6NTA5NWNiZDEtZTE3YS00MTlj LTkzZTgtOTUxYzE4NjM2MmEzDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBo OjUwOTVjYmQxLWUxN2EtNDE5Yy05M2U4LTk1MWMxODYzNjJhMw0KKzplbmQ6DQogDQotRHVlIHRv IHRoZSB1bmlxdWUgd2F5ID12Yy1hbm5vdGF0ZT0gKD1DLXggdiBnPSkgYXBwbGllcyBjb2xvcnMs IHN1cHBvcnQgZm9yDQotaXRzIGJhY2tncm91bmQgbW9kZSAoPXZjLWFubm90YXRlLWJhY2tncm91 bmQtbW9kZT0pIGlzIGRpc2FibGVkIGF0IHRoZQ0KK0R1ZSB0byB0aGUgdW5pcXVlIHdheSB+dmMt YW5ub3RhdGV+ICh7e3trYmQoQy14IHYgZyl9fX0pIGFwcGxpZXMgY29sb3JzLCBzdXBwb3J0DQor Zm9yIGl0cyBiYWNrZ3JvdW5kIG1vZGUgKH52Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGV+KSBp cyBkaXNhYmxlZCBhdCB0aGUNCiB0aGVtZSBsZXZlbC4NCiANCiBOb3JtYWxseSwgc3VjaCBhIGRy YXN0aWMgbWVhc3VyZSBzaG91bGQgbm90IGJlbG9uZyBpbiBhIHRoZW1lOiBhc3N1bWluZw0KQEAg LTE3NjAsMzUgKzI1NzEsODcgQEAgKiogTm90ZSBvbiB2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1v ZGUNCiANCiBJZiB0aGVyZSBhY3R1YWxseSBpcyBhIHdheSB0byBhdm9pZCBzdWNoIGEgY291cnNl IG9mIGFjdGlvbiwgd2l0aG91dA0KIHByZWp1ZGljZSB0byB0aGUgYWNjZXNzaWJpbGl0eSBzdGFu ZGFyZCBvZiB0aGlzIHByb2plY3QsIHRoZW4gcGxlYXNlDQotcmVwb3J0IGFzIG11Y2ggb3Igc2Vu ZCBwYXRjaGVzIChzZWUgW1sjaDo5YzNjZDg0Mi0xNGI3LTQ0ZDctODRiMi1hNWM4YmMzZmMzYjFd W0NvbnRyaWJ1dGluZ11dKS4NCityZXBvcnQgYXMgbXVjaCBvciBzZW5kIHBhdGNoZXMgKFtbI2g6 OWMzY2Q4NDItMTRiNy00NGQ3LTg0YjItYTVjOGJjM2ZjM2IxXVtDb250cmlidXRpbmddXSkuDQor DQorKiogTm90ZSBvbiBwZGYtdG9vbHMgbGluayBoaW50cw0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0 b21faWQ6IGg6MjY1OWQxM2UtYjFhNS00MTZjLTlhODktN2MzY2UzYTc2NTc0DQorOmVuZDoNCisN CitIaW50cyBhcmUgZHJhd24gYnkgW1todHRwczovL2ltYWdlbWFnaWNrLm9yZy9dW0ltYWdlTWFn aWNrXV0sIG5vdCBFbWFjcywgaS5lLiwgSW1hZ2VNYWdpY2sgZG9lc24ndA0KK2tub3cgYWJvdXQg dGhlIGhpbnQgZmFjZSB1bmxlc3MgeW91IHRlbGwgSW1hZ2VNYWdpY2sgYWJvdXQgaXQuIEJ5DQor ZGVmYXVsdCwgb25seSB0aGUgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvciBhdHRyaWJ1 dGVzIGFyZQ0KK3Bhc3NlZC4gVGhlIGJlbG93IHNuaXBwZXQgYWRkcyB0byB0aG9zZSB0aGUgdmFy aW91cyBmb250IGF0dHJpYnV0ZXMuICBBcw0KK2l0IHF1ZXJpZXMgdmFyaW91cyBmYWNlcywgc3Bl Y2lmaWNhbGx5IH5wZGYtbGlua3MtcmVhZC1saW5rfiBhbmQgdGhlIGZhY2VzDQoraXQgaW5oZXJp dHMsIGl0IG5lZWRzIHRvIGJlIGFkZGVkIHRvIHlvdXIgaW5pdGlhbGl6YXRpb24gZmlsZSBhZnRl cg0KK3lvdSd2ZSBjdXN0b21pemVkIGFueSBmYWNlcy4NCisNCisjK2JlZ2luX3NyYyBlbWFjcy1s aXNwDQorKHVzZS1wYWNrYWdlIHBkZi1saW5rcw0KKyAgOmNvbmZpZw0KKyAgKGxldCAoKHNwZWMN CisgICAgICAgICAoYXBwbHkgIydhcHBlbmQNCisgICAgICAgICAgICAgICAgKG1hcGNhcg0KKyAg ICAgICAgICAgICAgICAgKGxhbWJkYSAobmFtZSkNCisgICAgICAgICAgICAgICAgICAgKGxpc3Qg bmFtZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAoZmFjZS1hdHRyaWJ1dGUgJ3BkZi1saW5r cy1yZWFkLWxpbmsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5h bWUgbmlsICdkZWZhdWx0KSkpDQorICAgICAgICAgICAgICAgICAnKDpmYW1pbHkgOndpZHRoIDp3 ZWlnaHQgOnNsYW50KSkpKSkNCisgICAgKHNldHEgcGRmLWxpbmtzLXJlYWQtbGluay1jb252ZXJ0 LWNvbW1hbmRzDQorICAgICAgICAgIGAoIi1kZW5zaXR5IiAgICAiOTYiDQorICAgICAgICAgICAg Ii1mYW1pbHkiICAgICAsKHBsaXN0LWdldCBzcGVjIDpmYW1pbHkpDQorICAgICAgICAgICAgIi1z dHJldGNoIiAgICAsKGxldCogKCh3aWR0aCAocGxpc3QtZ2V0IHNwZWMgOndpZHRoKSkNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUgKHN5bWJvbC1uYW1lIHdpZHRoKSkp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5n ICItIiAiIg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoY2FwaXRhbGl6ZSBuYW1lKSkpDQorICAgICAgICAgICAgIi13ZWlnaHQiICAgICAs KHBjYXNlIChwbGlzdC1nZXQgc3BlYyA6d2VpZ2h0KQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKCd1bHRyYS1saWdodCAiVGhpbiIpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoJ2V4dHJhLWxpZ2h0ICJFeHRyYUxpZ2h0IikNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgnbGlnaHQgICAgICAgIkxpZ2h0IikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgnc2VtaS1ib2xkICAgIlNlbWlCb2xkIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgnYm9sZCAgICAgICAgIkJvbGQiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdl eHRyYS1ib2xkICAiRXh0cmFCb2xkIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgn dWx0cmEtYm9sZCAgIkJsYWNrIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfd2Vp Z2h0ICAgICAgIk5vcm1hbCIpKQ0KKyAgICAgICAgICAgICItc3R5bGUiICAgICAgLChwY2FzZSAo cGxpc3QtZ2V0IHNwZWMgOnNsYW50KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdp dGFsaWMgICJJdGFsaWMiKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdvYmxpcXVl ICJPYmxpcXVlIikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfc2xhbnQgICAiTm9y bWFsIikpDQorICAgICAgICAgICAgIi1wb2ludHNpemUiICAiJVAiDQorICAgICAgICAgICAgIi11 bmRlcmNvbG9yIiAiJWYiDQorICAgICAgICAgICAgIi1maWxsIiAgICAgICAiJWIiDQorICAgICAg ICAgICAgIi1kcmF3IiAgICAgICAidGV4dCAlWCwlWSAnJWMnIikpKSkNCisjK2VuZF9zcmMNCiAN CiAqIENvbnRyaWJ1dGluZw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6OWMzY2Q4NDIt MTRiNy00NGQ3LTg0YjItYTVjOGJjM2ZjM2IxDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3Vz dG9tX2lkOiBoOjljM2NkODQyLTE0YjctNDRkNy04NGIyLWE1YzhiYzNmYzNiMQ0KKzplbmQ6DQog DQogVGhpcyBzZWN0aW9uIGRvY3VtZW50cyB0aGUgY2Fub25pY2FsIHNvdXJjZXMgb2YgdGhlIHRo ZW1lcyBhbmQgdGhlIHdheXMNCiBpbiB3aGljaCB5b3UgY2FuIGNvbnRyaWJ1dGUgdG8gdGhlaXIg b25nb2luZyBkZXZlbG9wbWVudC4NCiANCiAqKiBTb3VyY2VzIG9mIHRoZSB0aGVtZXMNCi06UFJP UEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjg5NTA0ZjFjLWM5YTEtNGJkOS1hYjM5LTc4ZmQwZWRk YjQ3Yw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDo4OTUwNGYxYy1jOWEx LTRiZDktYWIzOS03OGZkMGVkZGI0N2MNCis6ZW5kOg0KKyMrY2luZGV4OiBTb3VyY2VzIG9mIHRo ZSB0aGVtZXMNCiANCi1UaGUgPW1vZHVzLW9wZXJhbmRpPSBhbmQgPW1vZHVzLXZpdmVuZGk9IHRo ZW1lcyBhcmUgYnVpbHQgaW50byBFbWFjcy4NCi1DdXJyZW50bHkgdGhleSBhcmUgaW4gdGhlIHBy b2plY3QncyA9bWFzdGVyPSBicmFuY2gsIHdoaWNoIGlzIHRyYWNraW5nIHRoZQ0KLW5leHQgZGV2 ZWxvcG1lbnQgcmVsZWFzZSB0YXJnZXQuDQorVGhlIH5tb2R1cy1vcGVyYW5kaX4gYW5kIH5tb2R1 cy12aXZlbmRpfiB0aGVtZXMgYXJlIGJ1aWx0IGludG8gRW1hY3MuDQorQ3VycmVudGx5IHRoZXkg YXJlIGluIEVtYWNzJyBnaXQgbWFpbiBicmFuY2ggKHRydW5rKSwgd2hpY2ggaXMgdHJhY2tpbmcN Cit0aGUgbmV4dCBkZXZlbG9wbWVudCByZWxlYXNlIHRhcmdldC4NCiANCiBUaGUgc291cmNlIGNv ZGUgb2YgdGhlIHRoZW1lcyBpcyBbW2h0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1 cy10aGVtZXMvXVthdmFpbGFibGUgb24gR2l0bGFiXV0sIGZvciB0aGUgdGltZQ0KIGJlaW5nLiAg QSBbW2h0dHBzOi8vZ2l0aHViLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMvXVttaXJyb3Ig b24gR2l0aHViXV0gaXMgYWxzbyBvbiBvZmZlci4NCiANCi1BbiBIVE1MIHZlcnNpb24gb2YgdGhp cyBtYW51YWwgaXMgYXZhaWxhYmxlIGFzIGFuIGV4dGVuc2lvbiB0byB0aGUNCitBbiBIVE1MIHZl cnNpb24gb2YgdGhpcyBtYW51YWwgaXMgcHJvdmlkZWQgYXMgYW4gZXh0ZW5zaW9uIG9mIHRoZQ0K IFtbaHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVzL11bYXV0aG9yJ3MgcGVyc29u YWwgd2Vic2l0ZV1dIChkb2VzIG5vdCByZWx5IG9uIGFueSBub24tZnJlZSBjb2RlKS4NCiANCiAq KiBJc3N1ZXMgeW91IGNhbiBoZWxwIHdpdGgNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBo OjY1MzZjOGQ1LTNmOTgtNDNhYi1hNzg3LWI5NDEyMGU3MzVlOA0KLTpFTkQ6DQorOnByb3BlcnRp ZXM6DQorOmN1c3RvbV9pZDogaDo2NTM2YzhkNS0zZjk4LTQzYWItYTc4Ny1iOTQxMjBlNzM1ZTgN Cis6ZW5kOg0KKyMrY2luZGV4OiBDb250cmlidXRpbmcNCiANCiBBIGZldyB0YXNrcyB5b3UgY2Fu IGhlbHAgd2l0aDoNCiANCkBAIC0xODAyLDggKzI2NjUsOCBAQCAqKiBJc3N1ZXMgeW91IGNhbiBo ZWxwIHdpdGgNCiANCiBbWyNoOjExMTc3M2UyLWYyNmYtNGI2OC04YzRmLTk3OTRjYTZiOTYzM11b UGF0Y2hlcyByZXF1aXJlIGNvcHlyaWdodCBhc3NpZ25tZW50IHRvIHRoZSBGU0ZdXS4NCiANCi1J dCB3b3VsZCBiZSBncmVhdCBpZiB5b3VyIGZlZWRiYWNrIGFsc28gaW5jbHVkZXMgc29tZSBzY3Jl ZW5zaG90cywgR0lGcywNCi1vciBzaG9ydCB2aWRlb3MsIGFzIHdlbGwgYXMgZnVydGhlciBpbnN0 cnVjdGlvbnMgdG8gcmVwcm9kdWNlIGEgZ2l2ZW4NCitJdCBpcyBwcmVmZXJhYmxlIHRoYXQgeW91 ciBmZWVkYmFjayBpbmNsdWRlcyBzb21lIHNjcmVlbnNob3RzLCBHSUZzLCBvcg0KK3Nob3J0IHZp ZGVvcywgYXMgd2VsbCBhcyBmdXJ0aGVyIGluc3RydWN0aW9ucyB0byByZXByb2R1Y2UgYSBnaXZl bg0KIHNldHVwLiAgVGhvdWdoIHRoaXMgaXMgbm90IGEgcmVxdWlyZW1lbnQuDQogDQogV2hhdGV2 ZXIgeW91IGRvLCBiZWFyIGluIG1pbmQgdGhlIG92ZXJhcmNoaW5nIG9iamVjdGl2ZSBvZiB0aGUg TW9kdXMNCkBAIC0xODEzLDExICsyNjc2LDkgQEAgKiogSXNzdWVzIHlvdSBjYW4gaGVscCB3aXRo DQogaW50ZXJlc3Qgb2YgdGhlIGxhdHRlci4NCiANCiAqKiBQYXRjaGVzIHJlcXVpcmUgY29weXJp Z2h0IGFzc2lnbm1lbnQgdG8gdGhlIEZTRg0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IE1l cmdlIHJlcXVlc3RzDQotOkRFU0NSSVBUSU9OOiBMZWdhbCBjb25zaWRlcmF0aW9ucyBmb3IgY29k ZSBwYXRjaGVzDQotOkNVU1RPTV9JRDogaDoxMTE3NzNlMi1mMjZmLTRiNjgtOGM0Zi05Nzk0Y2E2 Yjk2MzMNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MTExNzczZTItZjI2 Zi00YjY4LThjNGYtOTc5NGNhNmI5NjMzDQorOmVuZDoNCiANCiBDb2RlIGNvbnRyaWJ1dGlvbnMg YXJlIG1vc3Qgd2VsY29tZS4gIEZvciBhbnkgbWFqb3IgZWRpdCAobW9yZSB0aGFuIDE1DQogbGlu ZXMsIG9yIHNvLCBpbiBhZ2dyZWdhdGUgcGVyIHBlcnNvbiksIHlvdSBuZWVkIHRvIG1ha2UgYSBj b3B5cmlnaHQNCkBAIC0xODc1LDQ4ICsyNzM2LDU3IEBAICoqIFBhdGNoZXMgcmVxdWlyZSBjb3B5 cmlnaHQgYXNzaWdubWVudCB0byB0aGUgRlNGDQogW1doaWNoIGZpbGVzIGhhdmUgeW91IGNoYW5n ZWQgc28gZmFyLCBhbmQgd2hpY2ggbmV3IGZpbGVzIGhhdmUgeW91IHdyaXR0ZW4NCiBzbyBmYXI/ XQ0KIA0KLUNoYW5nZWQgYSBjb3VwbGUgb2YgdGhlbWVzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIEVt YWNzIHNvdXJjZSBjb2RlOg0KLQ0KLS4vZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5kaS10aGVtZS5l bA0KLS4vZXRjL3RoZW1lcy9tb2R1cy12aXZlbmRpLXRoZW1lLmVsDQogIytlbmRfZXhhbXBsZQ0K IA0KICogQWNrbm93bGVkZ2VtZW50cw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6OTVj M2RhMjMtMjE3Zi00MDRlLWI1ZjMtNTZjNzU3NjBlYmNmDQotOkVORDoNCis6cHJvcGVydGllczoN Cis6Y3VzdG9tX2lkOiBoOjk1YzNkYTIzLTIxN2YtNDA0ZS1iNWYzLTU2Yzc1NzYwZWJjZg0KKzpl bmQ6DQorIytjaW5kZXg6IENvbnRyaWJ1dG9ycw0KIA0KLVRoZSBNb2R1cyB0aGVtZXMgYXJlIGEg Y29sbGVjdGl2ZSBlZmZvcnQuICBFdmVyeSBjb250cmlidXRpb24gY291bnRzLg0KK1RoZSBNb2R1 cyB0aGVtZXMgYXJlIGEgY29sbGVjdGl2ZSBlZmZvcnQuICBFdmVyeSBiaXQgb2Ygd29yayBtYXR0 ZXJzLg0KIA0KICsgQXV0aG9yL21haW50YWluZXIgOjogUHJvdGVzaWxhb3MgU3RhdnJvdS4NCiAN CiArIENvbnRyaWJ1dGlvbnMgdG8gY29kZSBvciBkb2N1bWVudGF0aW9uIDo6IEFuZGVycyBKb2hh bnNzb24sIEJhc2lsDQotICBMLiBDb250b3ZvdW5lc2lvcywgRWxpIFphcmV0c2tpaSwgTWFkaGF2 YW4gS3Jpc2huYW4sIE1hcmt1cyBCZXBwbGVyLA0KLSAgTWF0dGhldyBTdGV2ZW5zb24sIFNocmV5 YXMgUmFnYXZhbiwgU3RlZmFuIEthbmdhcywgVmluY2VudCBNdXJwaHkuDQotDQotKyBJZGVhcyBh bmQgdXNlciBmZWVkYmFjayA6OiBBYXJvbiBKZW5zZW4sIEFkYW0gU3BpZXJzLCBBbGV4IEdyaWZm aW4sDQotICBBbGV4IFBlaXRzaW5pcywgQWxleGV5IFNobWFsa28sIEFuZGVycyBKb2hhbnNzb24s IEFuZHLDqSBBbGV4YW5kcmUNCi0gIEdvbWVzLCBBcmlmIFJlemFpLCBCYXNpbCBMLiBDb250b3Zv dW5lc2lvcywgRGFtaWVuIENhc3NvdSwgRGFyaW8NCi0gIEdqb3JnamV2c2tpLCBEYXZpZCBFZG1v bmRzb24sIERhdm9yIFJvdGltLCBEaXZhbiBTYW50YW5hLCBHZXJyeQ0KLSAgQWdib2JhZGEsIEdp YW5sdWNhIFJlY2NoaWEsIElsamEgS29ja2VuLCBJcmlzIEdhcmNpYSwgTGVuIFRyaWdnLA0KLSAg TWFudWVsIFViZXJ0aSwgTWFyayBCdXJ0b24sIE1hcmt1cyBCZXBwbGVyLCBNaWNoYWVsIEdvbGRl bmJlcmcsIE11cmlsbw0KLSAgUGVyZWlyYSwgTmljb2xhcyBEZSBKYWVnaGVyZSwgUGF1bCBQb2xv c2tvdiwgUGllcnJlIFTDqWNob3VleXJlcywgUm9tYW4NCi0gIFJ1ZGFrb3YsIFJ5YW4gUGhpbGxp cHMsIFNocmV5YXMgUmFnYXZhbiwgU2ltb24gUHVnbmV0LCBUYXNzaWxvIEhvcm4sDQotICBUaGli YXV0IFZlcnJvbiwgVHJleSBNZXJrbGV5LCBUb2dhbiBNdWZ0dW9nbHUsIFVyaSBTaGFyZiwgVXRr YXJzaA0KLSAgU2luZ2gsIFZpbmNlbnQgRm9sZXkuICBBcyB3ZWxsIGFzIHVzZXJzOiBCZW4sIEV1 Z2VuZSwgRm91cmNoYXV4LA0KLSAgRnJlZHJpaywgTW9lc2FzamksIE5pY2ssIFRoZUJsb2I0Miwg YmVwb2x5bWF0aGUsIGRpbmtvLCBkb29saW8sDQotICBqaXhpdWYsIG9rYW1zbiwgdHljaG8gZ2Fy ZW4uDQotDQotKyBQYWNrYWdpbmcgOjogRGhhdmFuIFZhaWR5YSAoRGViaWFuKSwgU3RlZmFuIEth bmdhcyAoY29yZSBFbWFjcyksDQotICBTdGVmYW4gTW9ubmllciAoR05VIEVscGEpLg0KKyAgTC4g Q29udG92b3VuZXNpb3MsIENhcmxvIFphbmNhbmFybywgRWxpIFphcmV0c2tpaSwgS29zdGFkaW4g TmluZXYsDQorICBNYWRoYXZhbiBLcmlzaG5hbiwgTWFya3VzIEJlcHBsZXIsIE1hdHRoZXcgU3Rl dmVuc29uLCBOaWNvbGFzIERlDQorICBKYWVnaGVyZSwgU2hyZXlhcyBSYWdhdmFuLCBTdGVmYW4g S2FuZ2FzLCBWaW5jZW50IE11cnBoeSwgWGluZ2x1IENoZW4uDQorDQorKyBJZGVhcyBhbmQgdXNl ciBmZWVkYmFjayA6OiBBYXJvbiBKZW5zZW4sIEFkYW0gU3BpZXJzLCBBZHJpYW4gTWFuZWEsDQor ICBBbGV4IEdyaWZmaW4sIEFsZXggUGVpdHNpbmlzLCBBbGV4ZXkgU2htYWxrbywgQWxvayBTaW5n aCwgQW5kZXJzDQorICBKb2hhbnNzb24sIEFuZHLDqSBBbGV4YW5kcmUgR29tZXMsIEFyaWYgUmV6 YWksIEJhc2lsIEwuIENvbnRvdm91bmVzaW9zLA0KKyAgQnVyZ2VzcyBDaGFuZywgQ2hyaXN0aWFu IFRpZXR6ZSwgQ2hyaXN0b3BoZXIgRGltZWNoLCBEYW1pZW4gQ2Fzc291LA0KKyAgRGFuaWVsIE1l bmRsZXIsIERhcmlvIEdqb3JnamV2c2tpLCBEYXZpZCBFZG1vbmRzb24sIERhdm9yIFJvdGltLCBE aXZhbg0KKyAgU2FudGFuYSwgR2VycnkgQWdib2JhZGEsIEdpYW5sdWNhIFJlY2NoaWEsIEd1c3Rh dm8gQmFycm9zLCBIw7ZybWV0amFuDQorICBZaWx0aXosIElsamEgS29ja2VuLCBJcmlzIEdhcmNp YSwgSmVyZW15IEZyaWVzZW4sIEpvaG4gSGFtYW4sIEpvc2h1YQ0KKyAgTydDb25ub3IsIEtldmlu IEZsZW1pbmcsIEtvc3RhZGluIE5pbmV2LCBMZW4gVHJpZ2csIE1hbnVlbCBVYmVydGksDQorICBN YXJrIEJ1cnRvbiwgTWFya3VzIEJlcHBsZXIsIE1pY2hhZWwgR29sZGVuYmVyZywgTW9yZ2FuIFNt aXRoLCBNdXJpbG8NCisgIFBlcmVpcmEsIE5pY29sYXMgRGUgSmFlZ2hlcmUsIFBhdWwgUG9sb3Nr b3YsIFBldGUgS2F6bWllciwgUGV0ZXIgV3UsDQorICBQaGlsaXAgSy4sIFBpZXJyZSBUw6ljaG91 ZXlyZXMsIFJvbWFuIFJ1ZGFrb3YsIFJ5YW4gUGhpbGxpcHMsIFNhbQ0KKyAgS2xlaW5tYW4sIFNo cmV5YXMgUmFnYXZhbiwgU2ltb24gUHVnbmV0LCBUYXNzaWxvIEhvcm4sIFRoaWJhdXQgVmVycm9u LA0KKyAgVHJleSBNZXJrbGV5LCBUb2dhbiBNdWZ0dW9nbHUsIFRvb24gQ2xhZXMsIFVyaSBTaGFy ZiwgVXRrYXJzaCBTaW5naCwNCisgIFZpbmNlbnQgRm9sZXkuICBBcyB3ZWxsIGFzIHVzZXJzOiBC ZW4sIENzQmlnRGF0YUh1YjEsIEVtYWNzIENvbnRyaWIsDQorICBFdWdlbmUsIEZvdXJjaGF1eCwg RnJlZHJpaywgTW9lc2FzamksIE5pY2ssIFRoZUJsb2I0MiwgYmVwb2x5bWF0aGUsDQorICBkb29s aW8sIGZsZWltZ3J1YmVyLCBpU2VlVSwgaml4aXVmLCBva2Ftc24uDQorDQorKyBQYWNrYWdpbmcg OjogQmFzaWwgTC4gQ29udG92b3VuZXNpb3MsIEVsaSBaYXJldHNraWksIEdsZW5uIE1vcnJpcywN CisgIE1hdXJvIEFyYW5kYSwgUmljaGFyZCBTdGFsbG1hbiwgU3RlZmFuIEthbmdhcyAoY29yZSBF bWFjcyksIFN0ZWZhbg0KKyAgTW9ubmllciAoR05VIEVscGEpLCBBbmRyw6kgQWxleGFuZHJlIEdv bWVzLCBEaW1ha2Frb3MgRGltb3MsIE1vcmdhbg0KKyAgU21pdGgsIE5pY29sYXMgR29hemlvdSAo R3VpeCksIERoYXZhbiBWYWlkeWEgKERlYmlhbikuDQogDQogKyBJbnNwaXJhdGlvbiBmb3IgY2Vy dGFpbiBmZWF0dXJlcyA6OiBCb3poaWRhciBCYXRzb3YgKHplbmJ1cm4tdGhlbWUpLA0KICAgRmFi cmljZSBOaWVzc2VuIChsZXV2ZW4tdGhlbWUpLg0KIA0KK1NwZWNpYWwgdGhhbmtzLCBpbiBubyBw YXJ0aWN1bGFyIG9yZGVyLCB0byBNYW51ZWwgVWJlcnRpIGFuZCBPbWFyDQorQW50b2zDrW4gQ2Ft YXJlbmEgZm9yIHRoZWlyIGxvbmcgdGltZSBjb250cmlidXRpb25zIGFuZCBpbnNpZ2h0ZnVsDQor Y29tbWVudGFyeS4NCisNCiAqIE1ldGENCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjEz NzUyNTgxLTQzNzgtNDc4Yy1hZjE3LTE2NWI2ZTc2YmMxYg0KLTpFTkQ6DQorOnByb3BlcnRpZXM6 DQorOmN1c3RvbV9pZDogaDoxMzc1MjU4MS00Mzc4LTQ3OGMtYWYxNy0xNjViNmU3NmJjMWINCis6 ZW5kOg0KKyMrY2luZGV4OiBEZXZlbG9wbWVudCBub3Rlcw0KIA0KIElmIHlvdSBhcmUgY3VyaW91 cyBhYm91dCB0aGUgcHJpbmNpcGxlcyB0aGF0IGdvdmVybiB0aGUgZGV2ZWxvcG1lbnQgb2YNCiB0 aGlzIHByb2plY3QgcmVhZCB0aGUgZXNzYXkgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2Rl bG9nLzIwMjAtMDMtMTctZGVzaWduLW1vZHVzLXRoZW1lcy1lbWFjcy9dW09uIHRoZSBkZXNpZ24g b2YgdGhlIE1vZHVzIHRoZW1lc11dDQpAQCAtMTkzMSwzMiArMjgwMSw1MDEgQEAgKiBNZXRhDQog KyBbW2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2NvZGVsb2cvMjAyMC0wNy0wNC1tb2R1cy10aGVt ZXMtZmFpbnQtY29sb3Vycy9dW01vZHVzIHRoZW1lczogbmV3ICJmYWludCBzeW50YXgiIG9wdGlv bl1dICgyMDIwLTA3LTA0KQ0KICsgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIw MjAtMDctMDgtbW9kdXMtdGhlbWVzLW51YW5jZWQtY29sb3Vycy9dW01vZHVzIHRoZW1lczogbWFq b3IgcmV2aWV3IG9mICJudWFuY2VkIiBjb2xvdXJzXV0gKDIwMjAtMDctMDgpDQogKyBbW2h0dHBz Oi8vcHJvdGVzaWxhb3MuY29tL2NvZGVsb2cvMjAyMC0wOS0xNC1tb2R1cy10aGVtZXMtcmV2aWV3 LWJsdWVzL11bTW9kdXMgdGhlbWVzOiByZXZpZXcgb2YgYmx1ZSBjb2xvdXJzXV0gKDIwMjAtMDkt MTQpDQorKyBbW2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2NvZGVsb2cvMjAyMC0xMi0yNy1tb2R1 cy10aGVtZXMtcmV2aWV3LXJhaW5ib3ctZGVsaW1pdGVycy9dW01vZHVzIHRoZW1lczogcmV2aWV3 IHJhaW5ib3ctZGVsaW1pdGVycyBmYWNlc11dICgyMDIwLTEyLTI3KQ0KKysgW1todHRwczovL3By b3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjEtMDEtMTEtbW9kdXMtdGhlbWVzLXJldmlldy1zZWxl Y3QtZmFpbnQtY29sb3Vycy9dW01vZHVzIHRoZW1lczogcmV2aWV3IG9mIHNlbGVjdCAiZmFpbnQi IGNvbG91cnNdXSAoMjAyMS0wMS0xMSkNCisrIFtbaHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vY29k ZWxvZy8yMDIxLTAyLTI1LW1vZHVzLXRoZW1lcy1kaWZmcy1kZXV0ZXJhbm9waWEvXVtUaGUgTW9k dXMgdGhlbWVzIG5vdyBjb3ZlciBkZXV0ZXJhbm9waWEgaW4gZGlmZnNdXSAoMjAyMS0wMi0yNSkN CiANCi1BbmQgaGVyZSBhcmUgdGhlIGNhbm9uaWNhbCBzb3VyY2VzIGZvciB0aGlzIHByb2plY3Qn cyBkb2N1bWVudGF0aW9uOg0KK0FuZCBoZXJlIGFyZSB0aGUgY2Fub25pY2FsIHNvdXJjZXMgb2Yg dGhpcyBwcm9qZWN0J3MgZG9jdW1lbnRhdGlvbjoNCiANCiArIE1hbnVhbCA6OiA8aHR0cHM6Ly9w cm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVzPg0KICsgQ2hhbmdlIExvZyA6OiA8aHR0cHM6Ly9w cm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVzLWNoYW5nZWxvZz4NCiArIFNjcmVlbnNob3RzIDo6 IDxodHRwczovL3Byb3Rlc2lsYW9zLmNvbS9tb2R1cy10aGVtZXMtcGljdHVyZXM+DQogDQotKiBF eHRlcm5hbCBwcm9qZWN0cyAocG9ydHMpDQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDoy MWFkYjdjOC0yMjA4LTQxZTgtODAzYy0wNTJlNDJlMmMwNWQNCi06RU5EOg0KLQ0KLVRoZSBwcmVz ZW50IHNlY3Rpb24gZG9jdW1lbnRzIHByb2plY3RzIHRoYXQgZXh0ZW5kIHRoZSBzY29wZSBvZiB0 aGUNCi1Nb2R1cyB0aGVtZXMuICBUaGUgZm9sbG93aW5nIGxpc3Qgd2lsbCBiZSB1cGRhdGVkIHdo ZW5ldmVyIHJlbGV2YW50DQotaW5mb3JtYXRpb24gaXMgYnJvdWdodCB0byBteSBhdHRlbnRpb24u ICBJZiB5b3UgYWxyZWFkeSBoYXZlIG9yIGludGVuZA0KLXRvIHByb2R1Y2Ugc3VjaCBhIHBvcnQs IGZlZWwgd2VsY29tZSBbW2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2NvbnRhY3RdW3RvIGNvbnRh Y3QgbWVdXS4NCi0NCi0rIE1vZHVzIGV4cG9ydGVyIDo6IFRoaXMgaXMgW1todHRwczovL2dpdGh1 Yi5jb20vcG9sYXJpczY0L21vZHVzLWV4cG9ydGVyXVthbiBFbGlzcCBsaWJyYXJ5IHdyaXR0ZW4g YnkgU2ltb24gUHVnbmV0XV0uDQotICBMaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgSXQgaXMNCi0gIG1lYW50IHRvIGNhcHR1cmUgdGhl IGNvbG9yIHZhbHVlcyBvZiB0aGUgYWN0aXZlIE1vZHVzIHRoZW1lIChPcGVyYW5kaQ0KLSAgb3Ig Vml2ZW5kaSkgYW5kIG91dHB1dCBpdCBhcyBhIHZhbGlkIHRoZW1lIGZvciBzb21lIG90aGVyIGFw cGxpY2F0aW9uLg0KLQ0KICogR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlDQotOlBST1BF UlRJRVM6DQotOkFQUEVORElYOiB0DQotOkNVU1RPTV9JRDogaDozMDc3YzNkMi03ZjkwLTQyMjgt OGYwYS03MzEyNGY0MDI2ZjYNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzphcHBlbmRpeDogdA0K KzpjdXN0b21faWQ6IGg6MzA3N2MzZDItN2Y5MC00MjI4LThmMGEtNzMxMjRmNDAyNmY2DQorOmVu ZDoNCiANCiAjK3RleGluZm86IEBpbmNsdWRlIGRvY2xpY2Vuc2UudGV4aQ0KKw0KKyMrYmVnaW5f ZXhwb3J0IGh0bWwNCisNCisgICAgICAgICAgICAgICAgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBM aWNlbnNlDQorICAgICAgICAgICAgICAgICBWZXJzaW9uIDEuMywgMyBOb3ZlbWJlciAyMDA4DQor DQorDQorIENvcHlyaWdodCAoQykgMjAwMCwgMjAwMSwgMjAwMiwgMjAwNywgMjAwOCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCisgICAgIDxodHRwczovL2ZzZi5vcmcvPg0KKyBFdmVy eW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMN Cisgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93 ZWQuDQorDQorMC4gUFJFQU1CTEUNCisNCitUaGUgcHVycG9zZSBvZiB0aGlzIExpY2Vuc2UgaXMg dG8gbWFrZSBhIG1hbnVhbCwgdGV4dGJvb2ssIG9yIG90aGVyDQorZnVuY3Rpb25hbCBhbmQgdXNl ZnVsIGRvY3VtZW50ICJmcmVlIiBpbiB0aGUgc2Vuc2Ugb2YgZnJlZWRvbTogdG8NCithc3N1cmUg ZXZlcnlvbmUgdGhlIGVmZmVjdGl2ZSBmcmVlZG9tIHRvIGNvcHkgYW5kIHJlZGlzdHJpYnV0ZSBp dCwNCit3aXRoIG9yIHdpdGhvdXQgbW9kaWZ5aW5nIGl0LCBlaXRoZXIgY29tbWVyY2lhbGx5IG9y IG5vbmNvbW1lcmNpYWxseS4NCitTZWNvbmRhcmlseSwgdGhpcyBMaWNlbnNlIHByZXNlcnZlcyBm b3IgdGhlIGF1dGhvciBhbmQgcHVibGlzaGVyIGEgd2F5DQordG8gZ2V0IGNyZWRpdCBmb3IgdGhl aXIgd29yaywgd2hpbGUgbm90IGJlaW5nIGNvbnNpZGVyZWQgcmVzcG9uc2libGUNCitmb3IgbW9k aWZpY2F0aW9ucyBtYWRlIGJ5IG90aGVycy4NCisNCitUaGlzIExpY2Vuc2UgaXMgYSBraW5kIG9m ICJjb3B5bGVmdCIsIHdoaWNoIG1lYW5zIHRoYXQgZGVyaXZhdGl2ZQ0KK3dvcmtzIG9mIHRoZSBk b2N1bWVudCBtdXN0IHRoZW1zZWx2ZXMgYmUgZnJlZSBpbiB0aGUgc2FtZSBzZW5zZS4gIEl0DQor Y29tcGxlbWVudHMgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB3aGljaCBpcyBhIGNv cHlsZWZ0DQorbGljZW5zZSBkZXNpZ25lZCBmb3IgZnJlZSBzb2Z0d2FyZS4NCisNCitXZSBoYXZl IGRlc2lnbmVkIHRoaXMgTGljZW5zZSBpbiBvcmRlciB0byB1c2UgaXQgZm9yIG1hbnVhbHMgZm9y IGZyZWUNCitzb2Z0d2FyZSwgYmVjYXVzZSBmcmVlIHNvZnR3YXJlIG5lZWRzIGZyZWUgZG9jdW1l bnRhdGlvbjogYSBmcmVlDQorcHJvZ3JhbSBzaG91bGQgY29tZSB3aXRoIG1hbnVhbHMgcHJvdmlk aW5nIHRoZSBzYW1lIGZyZWVkb21zIHRoYXQgdGhlDQorc29mdHdhcmUgZG9lcy4gIEJ1dCB0aGlz IExpY2Vuc2UgaXMgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgbWFudWFsczsNCitpdCBjYW4gYmUg dXNlZCBmb3IgYW55IHRleHR1YWwgd29yaywgcmVnYXJkbGVzcyBvZiBzdWJqZWN0IG1hdHRlciBv cg0KK3doZXRoZXIgaXQgaXMgcHVibGlzaGVkIGFzIGEgcHJpbnRlZCBib29rLiAgV2UgcmVjb21t ZW5kIHRoaXMgTGljZW5zZQ0KK3ByaW5jaXBhbGx5IGZvciB3b3JrcyB3aG9zZSBwdXJwb3NlIGlz IGluc3RydWN0aW9uIG9yIHJlZmVyZW5jZS4NCisNCisNCisxLiBBUFBMSUNBQklMSVRZIEFORCBE RUZJTklUSU9OUw0KKw0KK1RoaXMgTGljZW5zZSBhcHBsaWVzIHRvIGFueSBtYW51YWwgb3Igb3Ro ZXIgd29yaywgaW4gYW55IG1lZGl1bSwgdGhhdA0KK2NvbnRhaW5zIGEgbm90aWNlIHBsYWNlZCBi eSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgY2FuIGJlDQorZGlzdHJpYnV0ZWQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4gIFN1Y2ggYSBub3RpY2UgZ3JhbnRzIGENCit3 b3JsZC13aWRlLCByb3lhbHR5LWZyZWUgbGljZW5zZSwgdW5saW1pdGVkIGluIGR1cmF0aW9uLCB0 byB1c2UgdGhhdA0KK3dvcmsgdW5kZXIgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGhlcmVpbi4gIFRo ZSAiRG9jdW1lbnQiLCBiZWxvdywNCityZWZlcnMgdG8gYW55IHN1Y2ggbWFudWFsIG9yIHdvcmsu ICBBbnkgbWVtYmVyIG9mIHRoZSBwdWJsaWMgaXMgYQ0KK2xpY2Vuc2VlLCBhbmQgaXMgYWRkcmVz c2VkIGFzICJ5b3UiLiAgWW91IGFjY2VwdCB0aGUgbGljZW5zZSBpZiB5b3UNCitjb3B5LCBtb2Rp Znkgb3IgZGlzdHJpYnV0ZSB0aGUgd29yayBpbiBhIHdheSByZXF1aXJpbmcgcGVybWlzc2lvbg0K K3VuZGVyIGNvcHlyaWdodCBsYXcuDQorDQorQSAiTW9kaWZpZWQgVmVyc2lvbiIgb2YgdGhlIERv Y3VtZW50IG1lYW5zIGFueSB3b3JrIGNvbnRhaW5pbmcgdGhlDQorRG9jdW1lbnQgb3IgYSBwb3J0 aW9uIG9mIGl0LCBlaXRoZXIgY29waWVkIHZlcmJhdGltLCBvciB3aXRoDQorbW9kaWZpY2F0aW9u cyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIgbGFuZ3VhZ2UuDQorDQorQSAiU2Vjb25k YXJ5IFNlY3Rpb24iIGlzIGEgbmFtZWQgYXBwZW5kaXggb3IgYSBmcm9udC1tYXR0ZXIgc2VjdGlv biBvZg0KK3RoZSBEb2N1bWVudCB0aGF0IGRlYWxzIGV4Y2x1c2l2ZWx5IHdpdGggdGhlIHJlbGF0 aW9uc2hpcCBvZiB0aGUNCitwdWJsaXNoZXJzIG9yIGF1dGhvcnMgb2YgdGhlIERvY3VtZW50IHRv IHRoZSBEb2N1bWVudCdzIG92ZXJhbGwNCitzdWJqZWN0IChvciB0byByZWxhdGVkIG1hdHRlcnMp IGFuZCBjb250YWlucyBub3RoaW5nIHRoYXQgY291bGQgZmFsbA0KK2RpcmVjdGx5IHdpdGhpbiB0 aGF0IG92ZXJhbGwgc3ViamVjdC4gIChUaHVzLCBpZiB0aGUgRG9jdW1lbnQgaXMgaW4NCitwYXJ0 IGEgdGV4dGJvb2sgb2YgbWF0aGVtYXRpY3MsIGEgU2Vjb25kYXJ5IFNlY3Rpb24gbWF5IG5vdCBl eHBsYWluDQorYW55IG1hdGhlbWF0aWNzLikgIFRoZSByZWxhdGlvbnNoaXAgY291bGQgYmUgYSBt YXR0ZXIgb2YgaGlzdG9yaWNhbA0KK2Nvbm5lY3Rpb24gd2l0aCB0aGUgc3ViamVjdCBvciB3aXRo IHJlbGF0ZWQgbWF0dGVycywgb3Igb2YgbGVnYWwsDQorY29tbWVyY2lhbCwgcGhpbG9zb3BoaWNh bCwgZXRoaWNhbCBvciBwb2xpdGljYWwgcG9zaXRpb24gcmVnYXJkaW5nDQordGhlbS4NCisNCitU aGUgIkludmFyaWFudCBTZWN0aW9ucyIgYXJlIGNlcnRhaW4gU2Vjb25kYXJ5IFNlY3Rpb25zIHdo b3NlIHRpdGxlcw0KK2FyZSBkZXNpZ25hdGVkLCBhcyBiZWluZyB0aG9zZSBvZiBJbnZhcmlhbnQg U2VjdGlvbnMsIGluIHRoZSBub3RpY2UNCit0aGF0IHNheXMgdGhhdCB0aGUgRG9jdW1lbnQgaXMg cmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgSWYgYQ0KK3NlY3Rpb24gZG9lcyBub3QgZml0 IHRoZSBhYm92ZSBkZWZpbml0aW9uIG9mIFNlY29uZGFyeSB0aGVuIGl0IGlzIG5vdA0KK2FsbG93 ZWQgdG8gYmUgZGVzaWduYXRlZCBhcyBJbnZhcmlhbnQuICBUaGUgRG9jdW1lbnQgbWF5IGNvbnRh aW4gemVybw0KK0ludmFyaWFudCBTZWN0aW9ucy4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5vdCBp ZGVudGlmeSBhbnkgSW52YXJpYW50DQorU2VjdGlvbnMgdGhlbiB0aGVyZSBhcmUgbm9uZS4NCisN CitUaGUgIkNvdmVyIFRleHRzIiBhcmUgY2VydGFpbiBzaG9ydCBwYXNzYWdlcyBvZiB0ZXh0IHRo YXQgYXJlIGxpc3RlZCwNCithcyBGcm9udC1Db3ZlciBUZXh0cyBvciBCYWNrLUNvdmVyIFRleHRz LCBpbiB0aGUgbm90aWNlIHRoYXQgc2F5cyB0aGF0DQordGhlIERvY3VtZW50IGlzIHJlbGVhc2Vk IHVuZGVyIHRoaXMgTGljZW5zZS4gIEEgRnJvbnQtQ292ZXIgVGV4dCBtYXkNCitiZSBhdCBtb3N0 IDUgd29yZHMsIGFuZCBhIEJhY2stQ292ZXIgVGV4dCBtYXkgYmUgYXQgbW9zdCAyNSB3b3Jkcy4N CisNCitBICJUcmFuc3BhcmVudCIgY29weSBvZiB0aGUgRG9jdW1lbnQgbWVhbnMgYSBtYWNoaW5l LXJlYWRhYmxlIGNvcHksDQorcmVwcmVzZW50ZWQgaW4gYSBmb3JtYXQgd2hvc2Ugc3BlY2lmaWNh dGlvbiBpcyBhdmFpbGFibGUgdG8gdGhlDQorZ2VuZXJhbCBwdWJsaWMsIHRoYXQgaXMgc3VpdGFi bGUgZm9yIHJldmlzaW5nIHRoZSBkb2N1bWVudA0KK3N0cmFpZ2h0Zm9yd2FyZGx5IHdpdGggZ2Vu ZXJpYyB0ZXh0IGVkaXRvcnMgb3IgKGZvciBpbWFnZXMgY29tcG9zZWQgb2YNCitwaXhlbHMpIGdl bmVyaWMgcGFpbnQgcHJvZ3JhbXMgb3IgKGZvciBkcmF3aW5ncykgc29tZSB3aWRlbHkgYXZhaWxh YmxlDQorZHJhd2luZyBlZGl0b3IsIGFuZCB0aGF0IGlzIHN1aXRhYmxlIGZvciBpbnB1dCB0byB0 ZXh0IGZvcm1hdHRlcnMgb3INCitmb3IgYXV0b21hdGljIHRyYW5zbGF0aW9uIHRvIGEgdmFyaWV0 eSBvZiBmb3JtYXRzIHN1aXRhYmxlIGZvciBpbnB1dA0KK3RvIHRleHQgZm9ybWF0dGVycy4gIEEg Y29weSBtYWRlIGluIGFuIG90aGVyd2lzZSBUcmFuc3BhcmVudCBmaWxlDQorZm9ybWF0IHdob3Nl IG1hcmt1cCwgb3IgYWJzZW5jZSBvZiBtYXJrdXAsIGhhcyBiZWVuIGFycmFuZ2VkIHRvIHRod2Fy dA0KK29yIGRpc2NvdXJhZ2Ugc3Vic2VxdWVudCBtb2RpZmljYXRpb24gYnkgcmVhZGVycyBpcyBu b3QgVHJhbnNwYXJlbnQuDQorQW4gaW1hZ2UgZm9ybWF0IGlzIG5vdCBUcmFuc3BhcmVudCBpZiB1 c2VkIGZvciBhbnkgc3Vic3RhbnRpYWwgYW1vdW50DQorb2YgdGV4dC4gIEEgY29weSB0aGF0IGlz IG5vdCAiVHJhbnNwYXJlbnQiIGlzIGNhbGxlZCAiT3BhcXVlIi4NCisNCitFeGFtcGxlcyBvZiBz dWl0YWJsZSBmb3JtYXRzIGZvciBUcmFuc3BhcmVudCBjb3BpZXMgaW5jbHVkZSBwbGFpbg0KK0FT Q0lJIHdpdGhvdXQgbWFya3VwLCBUZXhpbmZvIGlucHV0IGZvcm1hdCwgTGFUZVggaW5wdXQgZm9y bWF0LCBTR01MDQorb3IgWE1MIHVzaW5nIGEgcHVibGljbHkgYXZhaWxhYmxlIERURCwgYW5kIHN0 YW5kYXJkLWNvbmZvcm1pbmcgc2ltcGxlDQorSFRNTCwgUG9zdFNjcmlwdCBvciBQREYgZGVzaWdu ZWQgZm9yIGh1bWFuIG1vZGlmaWNhdGlvbi4gIEV4YW1wbGVzIG9mDQordHJhbnNwYXJlbnQgaW1h Z2UgZm9ybWF0cyBpbmNsdWRlIFBORywgWENGIGFuZCBKUEcuICBPcGFxdWUgZm9ybWF0cw0KK2lu Y2x1ZGUgcHJvcHJpZXRhcnkgZm9ybWF0cyB0aGF0IGNhbiBiZSByZWFkIGFuZCBlZGl0ZWQgb25s eSBieQ0KK3Byb3ByaWV0YXJ5IHdvcmQgcHJvY2Vzc29ycywgU0dNTCBvciBYTUwgZm9yIHdoaWNo IHRoZSBEVEQgYW5kL29yDQorcHJvY2Vzc2luZyB0b29scyBhcmUgbm90IGdlbmVyYWxseSBhdmFp bGFibGUsIGFuZCB0aGUNCittYWNoaW5lLWdlbmVyYXRlZCBIVE1MLCBQb3N0U2NyaXB0IG9yIFBE RiBwcm9kdWNlZCBieSBzb21lIHdvcmQNCitwcm9jZXNzb3JzIGZvciBvdXRwdXQgcHVycG9zZXMg b25seS4NCisNCitUaGUgIlRpdGxlIFBhZ2UiIG1lYW5zLCBmb3IgYSBwcmludGVkIGJvb2ssIHRo ZSB0aXRsZSBwYWdlIGl0c2VsZiwNCitwbHVzIHN1Y2ggZm9sbG93aW5nIHBhZ2VzIGFzIGFyZSBu ZWVkZWQgdG8gaG9sZCwgbGVnaWJseSwgdGhlIG1hdGVyaWFsDQordGhpcyBMaWNlbnNlIHJlcXVp cmVzIHRvIGFwcGVhciBpbiB0aGUgdGl0bGUgcGFnZS4gIEZvciB3b3JrcyBpbg0KK2Zvcm1hdHMg d2hpY2ggZG8gbm90IGhhdmUgYW55IHRpdGxlIHBhZ2UgYXMgc3VjaCwgIlRpdGxlIFBhZ2UiIG1l YW5zDQordGhlIHRleHQgbmVhciB0aGUgbW9zdCBwcm9taW5lbnQgYXBwZWFyYW5jZSBvZiB0aGUg d29yaydzIHRpdGxlLA0KK3ByZWNlZGluZyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBib2R5IG9mIHRo ZSB0ZXh0Lg0KKw0KK1RoZSAicHVibGlzaGVyIiBtZWFucyBhbnkgcGVyc29uIG9yIGVudGl0eSB0 aGF0IGRpc3RyaWJ1dGVzIGNvcGllcyBvZg0KK3RoZSBEb2N1bWVudCB0byB0aGUgcHVibGljLg0K Kw0KK0Egc2VjdGlvbiAiRW50aXRsZWQgWFlaIiBtZWFucyBhIG5hbWVkIHN1YnVuaXQgb2YgdGhl IERvY3VtZW50IHdob3NlDQordGl0bGUgZWl0aGVyIGlzIHByZWNpc2VseSBYWVogb3IgY29udGFp bnMgWFlaIGluIHBhcmVudGhlc2VzIGZvbGxvd2luZw0KK3RleHQgdGhhdCB0cmFuc2xhdGVzIFhZ WiBpbiBhbm90aGVyIGxhbmd1YWdlLiAgKEhlcmUgWFlaIHN0YW5kcyBmb3IgYQ0KK3NwZWNpZmlj IHNlY3Rpb24gbmFtZSBtZW50aW9uZWQgYmVsb3csIHN1Y2ggYXMgIkFja25vd2xlZGdlbWVudHMi LA0KKyJEZWRpY2F0aW9ucyIsICJFbmRvcnNlbWVudHMiLCBvciAiSGlzdG9yeSIuKSAgVG8gIlBy ZXNlcnZlIHRoZSBUaXRsZSINCitvZiBzdWNoIGEgc2VjdGlvbiB3aGVuIHlvdSBtb2RpZnkgdGhl IERvY3VtZW50IG1lYW5zIHRoYXQgaXQgcmVtYWlucyBhDQorc2VjdGlvbiAiRW50aXRsZWQgWFla IiBhY2NvcmRpbmcgdG8gdGhpcyBkZWZpbml0aW9uLg0KKw0KK1RoZSBEb2N1bWVudCBtYXkgaW5j bHVkZSBXYXJyYW50eSBEaXNjbGFpbWVycyBuZXh0IHRvIHRoZSBub3RpY2Ugd2hpY2gNCitzdGF0 ZXMgdGhhdCB0aGlzIExpY2Vuc2UgYXBwbGllcyB0byB0aGUgRG9jdW1lbnQuICBUaGVzZSBXYXJy YW50eQ0KK0Rpc2NsYWltZXJzIGFyZSBjb25zaWRlcmVkIHRvIGJlIGluY2x1ZGVkIGJ5IHJlZmVy ZW5jZSBpbiB0aGlzDQorTGljZW5zZSwgYnV0IG9ubHkgYXMgcmVnYXJkcyBkaXNjbGFpbWluZyB3 YXJyYW50aWVzOiBhbnkgb3RoZXINCitpbXBsaWNhdGlvbiB0aGF0IHRoZXNlIFdhcnJhbnR5IERp c2NsYWltZXJzIG1heSBoYXZlIGlzIHZvaWQgYW5kIGhhcw0KK25vIGVmZmVjdCBvbiB0aGUgbWVh bmluZyBvZiB0aGlzIExpY2Vuc2UuDQorDQorMi4gVkVSQkFUSU0gQ09QWUlORw0KKw0KK1lvdSBt YXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgRG9jdW1lbnQgaW4gYW55IG1lZGl1bSwgZWl0aGVy DQorY29tbWVyY2lhbGx5IG9yIG5vbmNvbW1lcmNpYWxseSwgcHJvdmlkZWQgdGhhdCB0aGlzIExp Y2Vuc2UsIHRoZQ0KK2NvcHlyaWdodCBub3RpY2VzLCBhbmQgdGhlIGxpY2Vuc2Ugbm90aWNlIHNh eWluZyB0aGlzIExpY2Vuc2UgYXBwbGllcw0KK3RvIHRoZSBEb2N1bWVudCBhcmUgcmVwcm9kdWNl ZCBpbiBhbGwgY29waWVzLCBhbmQgdGhhdCB5b3UgYWRkIG5vDQorb3RoZXIgY29uZGl0aW9ucyB3 aGF0c29ldmVyIHRvIHRob3NlIG9mIHRoaXMgTGljZW5zZS4gIFlvdSBtYXkgbm90IHVzZQ0KK3Rl Y2huaWNhbCBtZWFzdXJlcyB0byBvYnN0cnVjdCBvciBjb250cm9sIHRoZSByZWFkaW5nIG9yIGZ1 cnRoZXINCitjb3B5aW5nIG9mIHRoZSBjb3BpZXMgeW91IG1ha2Ugb3IgZGlzdHJpYnV0ZS4gIEhv d2V2ZXIsIHlvdSBtYXkgYWNjZXB0DQorY29tcGVuc2F0aW9uIGluIGV4Y2hhbmdlIGZvciBjb3Bp ZXMuICBJZiB5b3UgZGlzdHJpYnV0ZSBhIGxhcmdlIGVub3VnaA0KK251bWJlciBvZiBjb3BpZXMg eW91IG11c3QgYWxzbyBmb2xsb3cgdGhlIGNvbmRpdGlvbnMgaW4gc2VjdGlvbiAzLg0KKw0KK1lv dSBtYXkgYWxzbyBsZW5kIGNvcGllcywgdW5kZXIgdGhlIHNhbWUgY29uZGl0aW9ucyBzdGF0ZWQg YWJvdmUsIGFuZA0KK3lvdSBtYXkgcHVibGljbHkgZGlzcGxheSBjb3BpZXMuDQorDQorDQorMy4g Q09QWUlORyBJTiBRVUFOVElUWQ0KKw0KK0lmIHlvdSBwdWJsaXNoIHByaW50ZWQgY29waWVzIChv ciBjb3BpZXMgaW4gbWVkaWEgdGhhdCBjb21tb25seSBoYXZlDQorcHJpbnRlZCBjb3ZlcnMpIG9m IHRoZSBEb2N1bWVudCwgbnVtYmVyaW5nIG1vcmUgdGhhbiAxMDAsIGFuZCB0aGUNCitEb2N1bWVu dCdzIGxpY2Vuc2Ugbm90aWNlIHJlcXVpcmVzIENvdmVyIFRleHRzLCB5b3UgbXVzdCBlbmNsb3Nl IHRoZQ0KK2NvcGllcyBpbiBjb3ZlcnMgdGhhdCBjYXJyeSwgY2xlYXJseSBhbmQgbGVnaWJseSwg YWxsIHRoZXNlIENvdmVyDQorVGV4dHM6IEZyb250LUNvdmVyIFRleHRzIG9uIHRoZSBmcm9udCBj b3ZlciwgYW5kIEJhY2stQ292ZXIgVGV4dHMgb24NCit0aGUgYmFjayBjb3Zlci4gIEJvdGggY292 ZXJzIG11c3QgYWxzbyBjbGVhcmx5IGFuZCBsZWdpYmx5IGlkZW50aWZ5DQoreW91IGFzIHRoZSBw dWJsaXNoZXIgb2YgdGhlc2UgY29waWVzLiAgVGhlIGZyb250IGNvdmVyIG11c3QgcHJlc2VudA0K K3RoZSBmdWxsIHRpdGxlIHdpdGggYWxsIHdvcmRzIG9mIHRoZSB0aXRsZSBlcXVhbGx5IHByb21p bmVudCBhbmQNCit2aXNpYmxlLiAgWW91IG1heSBhZGQgb3RoZXIgbWF0ZXJpYWwgb24gdGhlIGNv dmVycyBpbiBhZGRpdGlvbi4NCitDb3B5aW5nIHdpdGggY2hhbmdlcyBsaW1pdGVkIHRvIHRoZSBj b3ZlcnMsIGFzIGxvbmcgYXMgdGhleSBwcmVzZXJ2ZQ0KK3RoZSB0aXRsZSBvZiB0aGUgRG9jdW1l bnQgYW5kIHNhdGlzZnkgdGhlc2UgY29uZGl0aW9ucywgY2FuIGJlIHRyZWF0ZWQNCithcyB2ZXJi YXRpbSBjb3B5aW5nIGluIG90aGVyIHJlc3BlY3RzLg0KKw0KK0lmIHRoZSByZXF1aXJlZCB0ZXh0 cyBmb3IgZWl0aGVyIGNvdmVyIGFyZSB0b28gdm9sdW1pbm91cyB0byBmaXQNCitsZWdpYmx5LCB5 b3Ugc2hvdWxkIHB1dCB0aGUgZmlyc3Qgb25lcyBsaXN0ZWQgKGFzIG1hbnkgYXMgZml0DQorcmVh c29uYWJseSkgb24gdGhlIGFjdHVhbCBjb3ZlciwgYW5kIGNvbnRpbnVlIHRoZSByZXN0IG9udG8g YWRqYWNlbnQNCitwYWdlcy4NCisNCitJZiB5b3UgcHVibGlzaCBvciBkaXN0cmlidXRlIE9wYXF1 ZSBjb3BpZXMgb2YgdGhlIERvY3VtZW50IG51bWJlcmluZw0KK21vcmUgdGhhbiAxMDAsIHlvdSBt dXN0IGVpdGhlciBpbmNsdWRlIGEgbWFjaGluZS1yZWFkYWJsZSBUcmFuc3BhcmVudA0KK2NvcHkg YWxvbmcgd2l0aCBlYWNoIE9wYXF1ZSBjb3B5LCBvciBzdGF0ZSBpbiBvciB3aXRoIGVhY2ggT3Bh cXVlIGNvcHkNCithIGNvbXB1dGVyLW5ldHdvcmsgbG9jYXRpb24gZnJvbSB3aGljaCB0aGUgZ2Vu ZXJhbCBuZXR3b3JrLXVzaW5nDQorcHVibGljIGhhcyBhY2Nlc3MgdG8gZG93bmxvYWQgdXNpbmcg cHVibGljLXN0YW5kYXJkIG5ldHdvcmsgcHJvdG9jb2xzDQorYSBjb21wbGV0ZSBUcmFuc3BhcmVu dCBjb3B5IG9mIHRoZSBEb2N1bWVudCwgZnJlZSBvZiBhZGRlZCBtYXRlcmlhbC4NCitJZiB5b3Ug dXNlIHRoZSBsYXR0ZXIgb3B0aW9uLCB5b3UgbXVzdCB0YWtlIHJlYXNvbmFibHkgcHJ1ZGVudCBz dGVwcywNCit3aGVuIHlvdSBiZWdpbiBkaXN0cmlidXRpb24gb2YgT3BhcXVlIGNvcGllcyBpbiBx dWFudGl0eSwgdG8gZW5zdXJlDQordGhhdCB0aGlzIFRyYW5zcGFyZW50IGNvcHkgd2lsbCByZW1h aW4gdGh1cyBhY2Nlc3NpYmxlIGF0IHRoZSBzdGF0ZWQNCitsb2NhdGlvbiB1bnRpbCBhdCBsZWFz dCBvbmUgeWVhciBhZnRlciB0aGUgbGFzdCB0aW1lIHlvdSBkaXN0cmlidXRlIGFuDQorT3BhcXVl IGNvcHkgKGRpcmVjdGx5IG9yIHRocm91Z2ggeW91ciBhZ2VudHMgb3IgcmV0YWlsZXJzKSBvZiB0 aGF0DQorZWRpdGlvbiB0byB0aGUgcHVibGljLg0KKw0KK0l0IGlzIHJlcXVlc3RlZCwgYnV0IG5v dCByZXF1aXJlZCwgdGhhdCB5b3UgY29udGFjdCB0aGUgYXV0aG9ycyBvZiB0aGUNCitEb2N1bWVu dCB3ZWxsIGJlZm9yZSByZWRpc3RyaWJ1dGluZyBhbnkgbGFyZ2UgbnVtYmVyIG9mIGNvcGllcywg dG8NCitnaXZlIHRoZW0gYSBjaGFuY2UgdG8gcHJvdmlkZSB5b3Ugd2l0aCBhbiB1cGRhdGVkIHZl cnNpb24gb2YgdGhlDQorRG9jdW1lbnQuDQorDQorDQorNC4gTU9ESUZJQ0FUSU9OUw0KKw0KK1lv dSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSBhIE1vZGlmaWVkIFZlcnNpb24gb2YgdGhlIERvY3Vt ZW50IHVuZGVyDQordGhlIGNvbmRpdGlvbnMgb2Ygc2VjdGlvbnMgMiBhbmQgMyBhYm92ZSwgcHJv dmlkZWQgdGhhdCB5b3UgcmVsZWFzZQ0KK3RoZSBNb2RpZmllZCBWZXJzaW9uIHVuZGVyIHByZWNp c2VseSB0aGlzIExpY2Vuc2UsIHdpdGggdGhlIE1vZGlmaWVkDQorVmVyc2lvbiBmaWxsaW5nIHRo ZSByb2xlIG9mIHRoZSBEb2N1bWVudCwgdGh1cyBsaWNlbnNpbmcgZGlzdHJpYnV0aW9uDQorYW5k IG1vZGlmaWNhdGlvbiBvZiB0aGUgTW9kaWZpZWQgVmVyc2lvbiB0byB3aG9ldmVyIHBvc3Nlc3Nl cyBhIGNvcHkNCitvZiBpdC4gIEluIGFkZGl0aW9uLCB5b3UgbXVzdCBkbyB0aGVzZSB0aGluZ3Mg aW4gdGhlIE1vZGlmaWVkIFZlcnNpb246DQorDQorQS4gVXNlIGluIHRoZSBUaXRsZSBQYWdlIChh bmQgb24gdGhlIGNvdmVycywgaWYgYW55KSBhIHRpdGxlIGRpc3RpbmN0DQorICAgZnJvbSB0aGF0 IG9mIHRoZSBEb2N1bWVudCwgYW5kIGZyb20gdGhvc2Ugb2YgcHJldmlvdXMgdmVyc2lvbnMNCisg ICAod2hpY2ggc2hvdWxkLCBpZiB0aGVyZSB3ZXJlIGFueSwgYmUgbGlzdGVkIGluIHRoZSBIaXN0 b3J5IHNlY3Rpb24NCisgICBvZiB0aGUgRG9jdW1lbnQpLiAgWW91IG1heSB1c2UgdGhlIHNhbWUg dGl0bGUgYXMgYSBwcmV2aW91cyB2ZXJzaW9uDQorICAgaWYgdGhlIG9yaWdpbmFsIHB1Ymxpc2hl ciBvZiB0aGF0IHZlcnNpb24gZ2l2ZXMgcGVybWlzc2lvbi4NCitCLiBMaXN0IG9uIHRoZSBUaXRs ZSBQYWdlLCBhcyBhdXRob3JzLCBvbmUgb3IgbW9yZSBwZXJzb25zIG9yIGVudGl0aWVzDQorICAg cmVzcG9uc2libGUgZm9yIGF1dGhvcnNoaXAgb2YgdGhlIG1vZGlmaWNhdGlvbnMgaW4gdGhlIE1v ZGlmaWVkDQorICAgVmVyc2lvbiwgdG9nZXRoZXIgd2l0aCBhdCBsZWFzdCBmaXZlIG9mIHRoZSBw cmluY2lwYWwgYXV0aG9ycyBvZiB0aGUNCisgICBEb2N1bWVudCAoYWxsIG9mIGl0cyBwcmluY2lw YWwgYXV0aG9ycywgaWYgaXQgaGFzIGZld2VyIHRoYW4gZml2ZSksDQorICAgdW5sZXNzIHRoZXkg cmVsZWFzZSB5b3UgZnJvbSB0aGlzIHJlcXVpcmVtZW50Lg0KK0MuIFN0YXRlIG9uIHRoZSBUaXRs ZSBwYWdlIHRoZSBuYW1lIG9mIHRoZSBwdWJsaXNoZXIgb2YgdGhlDQorICAgTW9kaWZpZWQgVmVy c2lvbiwgYXMgdGhlIHB1Ymxpc2hlci4NCitELiBQcmVzZXJ2ZSBhbGwgdGhlIGNvcHlyaWdodCBu b3RpY2VzIG9mIHRoZSBEb2N1bWVudC4NCitFLiBBZGQgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0 IG5vdGljZSBmb3IgeW91ciBtb2RpZmljYXRpb25zDQorICAgYWRqYWNlbnQgdG8gdGhlIG90aGVy IGNvcHlyaWdodCBub3RpY2VzLg0KK0YuIEluY2x1ZGUsIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBj b3B5cmlnaHQgbm90aWNlcywgYSBsaWNlbnNlIG5vdGljZQ0KKyAgIGdpdmluZyB0aGUgcHVibGlj IHBlcm1pc3Npb24gdG8gdXNlIHRoZSBNb2RpZmllZCBWZXJzaW9uIHVuZGVyIHRoZQ0KKyAgIHRl cm1zIG9mIHRoaXMgTGljZW5zZSwgaW4gdGhlIGZvcm0gc2hvd24gaW4gdGhlIEFkZGVuZHVtIGJl bG93Lg0KK0cuIFByZXNlcnZlIGluIHRoYXQgbGljZW5zZSBub3RpY2UgdGhlIGZ1bGwgbGlzdHMg b2YgSW52YXJpYW50IFNlY3Rpb25zDQorICAgYW5kIHJlcXVpcmVkIENvdmVyIFRleHRzIGdpdmVu IGluIHRoZSBEb2N1bWVudCdzIGxpY2Vuc2Ugbm90aWNlLg0KK0guIEluY2x1ZGUgYW4gdW5hbHRl cmVkIGNvcHkgb2YgdGhpcyBMaWNlbnNlLg0KK0kuIFByZXNlcnZlIHRoZSBzZWN0aW9uIEVudGl0 bGVkICJIaXN0b3J5IiwgUHJlc2VydmUgaXRzIFRpdGxlLCBhbmQgYWRkDQorICAgdG8gaXQgYW4g aXRlbSBzdGF0aW5nIGF0IGxlYXN0IHRoZSB0aXRsZSwgeWVhciwgbmV3IGF1dGhvcnMsIGFuZA0K KyAgIHB1Ymxpc2hlciBvZiB0aGUgTW9kaWZpZWQgVmVyc2lvbiBhcyBnaXZlbiBvbiB0aGUgVGl0 bGUgUGFnZS4gIElmDQorICAgdGhlcmUgaXMgbm8gc2VjdGlvbiBFbnRpdGxlZCAiSGlzdG9yeSIg aW4gdGhlIERvY3VtZW50LCBjcmVhdGUgb25lDQorICAgc3RhdGluZyB0aGUgdGl0bGUsIHllYXIs IGF1dGhvcnMsIGFuZCBwdWJsaXNoZXIgb2YgdGhlIERvY3VtZW50IGFzDQorICAgZ2l2ZW4gb24g aXRzIFRpdGxlIFBhZ2UsIHRoZW4gYWRkIGFuIGl0ZW0gZGVzY3JpYmluZyB0aGUgTW9kaWZpZWQN CisgICBWZXJzaW9uIGFzIHN0YXRlZCBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UuDQorSi4gUHJl c2VydmUgdGhlIG5ldHdvcmsgbG9jYXRpb24sIGlmIGFueSwgZ2l2ZW4gaW4gdGhlIERvY3VtZW50 IGZvcg0KKyAgIHB1YmxpYyBhY2Nlc3MgdG8gYSBUcmFuc3BhcmVudCBjb3B5IG9mIHRoZSBEb2N1 bWVudCwgYW5kIGxpa2V3aXNlDQorICAgdGhlIG5ldHdvcmsgbG9jYXRpb25zIGdpdmVuIGluIHRo ZSBEb2N1bWVudCBmb3IgcHJldmlvdXMgdmVyc2lvbnMNCisgICBpdCB3YXMgYmFzZWQgb24uICBU aGVzZSBtYXkgYmUgcGxhY2VkIGluIHRoZSAiSGlzdG9yeSIgc2VjdGlvbi4NCisgICBZb3UgbWF5 IG9taXQgYSBuZXR3b3JrIGxvY2F0aW9uIGZvciBhIHdvcmsgdGhhdCB3YXMgcHVibGlzaGVkIGF0 DQorICAgbGVhc3QgZm91ciB5ZWFycyBiZWZvcmUgdGhlIERvY3VtZW50IGl0c2VsZiwgb3IgaWYg dGhlIG9yaWdpbmFsDQorICAgcHVibGlzaGVyIG9mIHRoZSB2ZXJzaW9uIGl0IHJlZmVycyB0byBn aXZlcyBwZXJtaXNzaW9uLg0KK0suIEZvciBhbnkgc2VjdGlvbiBFbnRpdGxlZCAiQWNrbm93bGVk Z2VtZW50cyIgb3IgIkRlZGljYXRpb25zIiwNCisgICBQcmVzZXJ2ZSB0aGUgVGl0bGUgb2YgdGhl IHNlY3Rpb24sIGFuZCBwcmVzZXJ2ZSBpbiB0aGUgc2VjdGlvbiBhbGwNCisgICB0aGUgc3Vic3Rh bmNlIGFuZCB0b25lIG9mIGVhY2ggb2YgdGhlIGNvbnRyaWJ1dG9yIGFja25vd2xlZGdlbWVudHMN CisgICBhbmQvb3IgZGVkaWNhdGlvbnMgZ2l2ZW4gdGhlcmVpbi4NCitMLiBQcmVzZXJ2ZSBhbGwg dGhlIEludmFyaWFudCBTZWN0aW9ucyBvZiB0aGUgRG9jdW1lbnQsDQorICAgdW5hbHRlcmVkIGlu IHRoZWlyIHRleHQgYW5kIGluIHRoZWlyIHRpdGxlcy4gIFNlY3Rpb24gbnVtYmVycw0KKyAgIG9y IHRoZSBlcXVpdmFsZW50IGFyZSBub3QgY29uc2lkZXJlZCBwYXJ0IG9mIHRoZSBzZWN0aW9uIHRp dGxlcy4NCitNLiBEZWxldGUgYW55IHNlY3Rpb24gRW50aXRsZWQgIkVuZG9yc2VtZW50cyIuICBT dWNoIGEgc2VjdGlvbg0KKyAgIG1heSBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIE1vZGlmaWVkIFZl cnNpb24uDQorTi4gRG8gbm90IHJldGl0bGUgYW55IGV4aXN0aW5nIHNlY3Rpb24gdG8gYmUgRW50 aXRsZWQgIkVuZG9yc2VtZW50cyINCisgICBvciB0byBjb25mbGljdCBpbiB0aXRsZSB3aXRoIGFu eSBJbnZhcmlhbnQgU2VjdGlvbi4NCitPLiBQcmVzZXJ2ZSBhbnkgV2FycmFudHkgRGlzY2xhaW1l cnMuDQorDQorSWYgdGhlIE1vZGlmaWVkIFZlcnNpb24gaW5jbHVkZXMgbmV3IGZyb250LW1hdHRl ciBzZWN0aW9ucyBvcg0KK2FwcGVuZGljZXMgdGhhdCBxdWFsaWZ5IGFzIFNlY29uZGFyeSBTZWN0 aW9ucyBhbmQgY29udGFpbiBubyBtYXRlcmlhbA0KK2NvcGllZCBmcm9tIHRoZSBEb2N1bWVudCwg eW91IG1heSBhdCB5b3VyIG9wdGlvbiBkZXNpZ25hdGUgc29tZSBvciBhbGwNCitvZiB0aGVzZSBz ZWN0aW9ucyBhcyBpbnZhcmlhbnQuICBUbyBkbyB0aGlzLCBhZGQgdGhlaXIgdGl0bGVzIHRvIHRo ZQ0KK2xpc3Qgb2YgSW52YXJpYW50IFNlY3Rpb25zIGluIHRoZSBNb2RpZmllZCBWZXJzaW9uJ3Mg bGljZW5zZSBub3RpY2UuDQorVGhlc2UgdGl0bGVzIG11c3QgYmUgZGlzdGluY3QgZnJvbSBhbnkg b3RoZXIgc2VjdGlvbiB0aXRsZXMuDQorDQorWW91IG1heSBhZGQgYSBzZWN0aW9uIEVudGl0bGVk ICJFbmRvcnNlbWVudHMiLCBwcm92aWRlZCBpdCBjb250YWlucw0KK25vdGhpbmcgYnV0IGVuZG9y c2VtZW50cyBvZiB5b3VyIE1vZGlmaWVkIFZlcnNpb24gYnkgdmFyaW91cw0KK3BhcnRpZXMtLWZv ciBleGFtcGxlLCBzdGF0ZW1lbnRzIG9mIHBlZXIgcmV2aWV3IG9yIHRoYXQgdGhlIHRleHQgaGFz DQorYmVlbiBhcHByb3ZlZCBieSBhbiBvcmdhbml6YXRpb24gYXMgdGhlIGF1dGhvcml0YXRpdmUg ZGVmaW5pdGlvbiBvZiBhDQorc3RhbmRhcmQuDQorDQorWW91IG1heSBhZGQgYSBwYXNzYWdlIG9m IHVwIHRvIGZpdmUgd29yZHMgYXMgYSBGcm9udC1Db3ZlciBUZXh0LCBhbmQgYQ0KK3Bhc3NhZ2Ug b2YgdXAgdG8gMjUgd29yZHMgYXMgYSBCYWNrLUNvdmVyIFRleHQsIHRvIHRoZSBlbmQgb2YgdGhl IGxpc3QNCitvZiBDb3ZlciBUZXh0cyBpbiB0aGUgTW9kaWZpZWQgVmVyc2lvbi4gIE9ubHkgb25l IHBhc3NhZ2Ugb2YNCitGcm9udC1Db3ZlciBUZXh0IGFuZCBvbmUgb2YgQmFjay1Db3ZlciBUZXh0 IG1heSBiZSBhZGRlZCBieSAob3INCit0aHJvdWdoIGFycmFuZ2VtZW50cyBtYWRlIGJ5KSBhbnkg b25lIGVudGl0eS4gIElmIHRoZSBEb2N1bWVudCBhbHJlYWR5DQoraW5jbHVkZXMgYSBjb3ZlciB0 ZXh0IGZvciB0aGUgc2FtZSBjb3ZlciwgcHJldmlvdXNseSBhZGRlZCBieSB5b3Ugb3INCitieSBh cnJhbmdlbWVudCBtYWRlIGJ5IHRoZSBzYW1lIGVudGl0eSB5b3UgYXJlIGFjdGluZyBvbiBiZWhh bGYgb2YsDQoreW91IG1heSBub3QgYWRkIGFub3RoZXI7IGJ1dCB5b3UgbWF5IHJlcGxhY2UgdGhl IG9sZCBvbmUsIG9uIGV4cGxpY2l0DQorcGVybWlzc2lvbiBmcm9tIHRoZSBwcmV2aW91cyBwdWJs aXNoZXIgdGhhdCBhZGRlZCB0aGUgb2xkIG9uZS4NCisNCitUaGUgYXV0aG9yKHMpIGFuZCBwdWJs aXNoZXIocykgb2YgdGhlIERvY3VtZW50IGRvIG5vdCBieSB0aGlzIExpY2Vuc2UNCitnaXZlIHBl cm1pc3Npb24gdG8gdXNlIHRoZWlyIG5hbWVzIGZvciBwdWJsaWNpdHkgZm9yIG9yIHRvIGFzc2Vy dCBvcg0KK2ltcGx5IGVuZG9yc2VtZW50IG9mIGFueSBNb2RpZmllZCBWZXJzaW9uLg0KKw0KKw0K KzUuIENPTUJJTklORyBET0NVTUVOVFMNCisNCitZb3UgbWF5IGNvbWJpbmUgdGhlIERvY3VtZW50 IHdpdGggb3RoZXIgZG9jdW1lbnRzIHJlbGVhc2VkIHVuZGVyIHRoaXMNCitMaWNlbnNlLCB1bmRl ciB0aGUgdGVybXMgZGVmaW5lZCBpbiBzZWN0aW9uIDQgYWJvdmUgZm9yIG1vZGlmaWVkDQordmVy c2lvbnMsIHByb3ZpZGVkIHRoYXQgeW91IGluY2x1ZGUgaW4gdGhlIGNvbWJpbmF0aW9uIGFsbCBv ZiB0aGUNCitJbnZhcmlhbnQgU2VjdGlvbnMgb2YgYWxsIG9mIHRoZSBvcmlnaW5hbCBkb2N1bWVu dHMsIHVubW9kaWZpZWQsIGFuZA0KK2xpc3QgdGhlbSBhbGwgYXMgSW52YXJpYW50IFNlY3Rpb25z IG9mIHlvdXIgY29tYmluZWQgd29yayBpbiBpdHMNCitsaWNlbnNlIG5vdGljZSwgYW5kIHRoYXQg eW91IHByZXNlcnZlIGFsbCB0aGVpciBXYXJyYW50eSBEaXNjbGFpbWVycy4NCisNCitUaGUgY29t YmluZWQgd29yayBuZWVkIG9ubHkgY29udGFpbiBvbmUgY29weSBvZiB0aGlzIExpY2Vuc2UsIGFu ZA0KK211bHRpcGxlIGlkZW50aWNhbCBJbnZhcmlhbnQgU2VjdGlvbnMgbWF5IGJlIHJlcGxhY2Vk IHdpdGggYSBzaW5nbGUNCitjb3B5LiAgSWYgdGhlcmUgYXJlIG11bHRpcGxlIEludmFyaWFudCBT ZWN0aW9ucyB3aXRoIHRoZSBzYW1lIG5hbWUgYnV0DQorZGlmZmVyZW50IGNvbnRlbnRzLCBtYWtl IHRoZSB0aXRsZSBvZiBlYWNoIHN1Y2ggc2VjdGlvbiB1bmlxdWUgYnkNCithZGRpbmcgYXQgdGhl IGVuZCBvZiBpdCwgaW4gcGFyZW50aGVzZXMsIHRoZSBuYW1lIG9mIHRoZSBvcmlnaW5hbA0KK2F1 dGhvciBvciBwdWJsaXNoZXIgb2YgdGhhdCBzZWN0aW9uIGlmIGtub3duLCBvciBlbHNlIGEgdW5p cXVlIG51bWJlci4NCitNYWtlIHRoZSBzYW1lIGFkanVzdG1lbnQgdG8gdGhlIHNlY3Rpb24gdGl0 bGVzIGluIHRoZSBsaXN0IG9mDQorSW52YXJpYW50IFNlY3Rpb25zIGluIHRoZSBsaWNlbnNlIG5v dGljZSBvZiB0aGUgY29tYmluZWQgd29yay4NCisNCitJbiB0aGUgY29tYmluYXRpb24sIHlvdSBt dXN0IGNvbWJpbmUgYW55IHNlY3Rpb25zIEVudGl0bGVkICJIaXN0b3J5Ig0KK2luIHRoZSB2YXJp b3VzIG9yaWdpbmFsIGRvY3VtZW50cywgZm9ybWluZyBvbmUgc2VjdGlvbiBFbnRpdGxlZA0KKyJI aXN0b3J5IjsgbGlrZXdpc2UgY29tYmluZSBhbnkgc2VjdGlvbnMgRW50aXRsZWQgIkFja25vd2xl ZGdlbWVudHMiLA0KK2FuZCBhbnkgc2VjdGlvbnMgRW50aXRsZWQgIkRlZGljYXRpb25zIi4gIFlv dSBtdXN0IGRlbGV0ZSBhbGwgc2VjdGlvbnMNCitFbnRpdGxlZCAiRW5kb3JzZW1lbnRzIi4NCisN CisNCis2LiBDT0xMRUNUSU9OUyBPRiBET0NVTUVOVFMNCisNCitZb3UgbWF5IG1ha2UgYSBjb2xs ZWN0aW9uIGNvbnNpc3Rpbmcgb2YgdGhlIERvY3VtZW50IGFuZCBvdGhlcg0KK2RvY3VtZW50cyBy ZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2UsIGFuZCByZXBsYWNlIHRoZSBpbmRpdmlkdWFsDQor Y29waWVzIG9mIHRoaXMgTGljZW5zZSBpbiB0aGUgdmFyaW91cyBkb2N1bWVudHMgd2l0aCBhIHNp bmdsZSBjb3B5DQordGhhdCBpcyBpbmNsdWRlZCBpbiB0aGUgY29sbGVjdGlvbiwgcHJvdmlkZWQg dGhhdCB5b3UgZm9sbG93IHRoZSBydWxlcw0KK29mIHRoaXMgTGljZW5zZSBmb3IgdmVyYmF0aW0g Y29weWluZyBvZiBlYWNoIG9mIHRoZSBkb2N1bWVudHMgaW4gYWxsDQorb3RoZXIgcmVzcGVjdHMu DQorDQorWW91IG1heSBleHRyYWN0IGEgc2luZ2xlIGRvY3VtZW50IGZyb20gc3VjaCBhIGNvbGxl Y3Rpb24sIGFuZA0KK2Rpc3RyaWJ1dGUgaXQgaW5kaXZpZHVhbGx5IHVuZGVyIHRoaXMgTGljZW5z ZSwgcHJvdmlkZWQgeW91IGluc2VydCBhDQorY29weSBvZiB0aGlzIExpY2Vuc2UgaW50byB0aGUg ZXh0cmFjdGVkIGRvY3VtZW50LCBhbmQgZm9sbG93IHRoaXMNCitMaWNlbnNlIGluIGFsbCBvdGhl ciByZXNwZWN0cyByZWdhcmRpbmcgdmVyYmF0aW0gY29weWluZyBvZiB0aGF0DQorZG9jdW1lbnQu DQorDQorDQorNy4gQUdHUkVHQVRJT04gV0lUSCBJTkRFUEVOREVOVCBXT1JLUw0KKw0KK0EgY29t cGlsYXRpb24gb2YgdGhlIERvY3VtZW50IG9yIGl0cyBkZXJpdmF0aXZlcyB3aXRoIG90aGVyIHNl cGFyYXRlDQorYW5kIGluZGVwZW5kZW50IGRvY3VtZW50cyBvciB3b3JrcywgaW4gb3Igb24gYSB2 b2x1bWUgb2YgYSBzdG9yYWdlIG9yDQorZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFu ICJhZ2dyZWdhdGUiIGlmIHRoZSBjb3B5cmlnaHQNCityZXN1bHRpbmcgZnJvbSB0aGUgY29tcGls YXRpb24gaXMgbm90IHVzZWQgdG8gbGltaXQgdGhlIGxlZ2FsIHJpZ2h0cw0KK29mIHRoZSBjb21w aWxhdGlvbidzIHVzZXJzIGJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4N CitXaGVuIHRoZSBEb2N1bWVudCBpcyBpbmNsdWRlZCBpbiBhbiBhZ2dyZWdhdGUsIHRoaXMgTGlj ZW5zZSBkb2VzIG5vdA0KK2FwcGx5IHRvIHRoZSBvdGhlciB3b3JrcyBpbiB0aGUgYWdncmVnYXRl IHdoaWNoIGFyZSBub3QgdGhlbXNlbHZlcw0KK2Rlcml2YXRpdmUgd29ya3Mgb2YgdGhlIERvY3Vt ZW50Lg0KKw0KK0lmIHRoZSBDb3ZlciBUZXh0IHJlcXVpcmVtZW50IG9mIHNlY3Rpb24gMyBpcyBh cHBsaWNhYmxlIHRvIHRoZXNlDQorY29waWVzIG9mIHRoZSBEb2N1bWVudCwgdGhlbiBpZiB0aGUg RG9jdW1lbnQgaXMgbGVzcyB0aGFuIG9uZSBoYWxmIG9mDQordGhlIGVudGlyZSBhZ2dyZWdhdGUs IHRoZSBEb2N1bWVudCdzIENvdmVyIFRleHRzIG1heSBiZSBwbGFjZWQgb24NCitjb3ZlcnMgdGhh dCBicmFja2V0IHRoZSBEb2N1bWVudCB3aXRoaW4gdGhlIGFnZ3JlZ2F0ZSwgb3IgdGhlDQorZWxl Y3Ryb25pYyBlcXVpdmFsZW50IG9mIGNvdmVycyBpZiB0aGUgRG9jdW1lbnQgaXMgaW4gZWxlY3Ry b25pYyBmb3JtLg0KK090aGVyd2lzZSB0aGV5IG11c3QgYXBwZWFyIG9uIHByaW50ZWQgY292ZXJz IHRoYXQgYnJhY2tldCB0aGUgd2hvbGUNCithZ2dyZWdhdGUuDQorDQorDQorOC4gVFJBTlNMQVRJ T04NCisNCitUcmFuc2xhdGlvbiBpcyBjb25zaWRlcmVkIGEga2luZCBvZiBtb2RpZmljYXRpb24s IHNvIHlvdSBtYXkNCitkaXN0cmlidXRlIHRyYW5zbGF0aW9ucyBvZiB0aGUgRG9jdW1lbnQgdW5k ZXIgdGhlIHRlcm1zIG9mIHNlY3Rpb24gNC4NCitSZXBsYWNpbmcgSW52YXJpYW50IFNlY3Rpb25z IHdpdGggdHJhbnNsYXRpb25zIHJlcXVpcmVzIHNwZWNpYWwNCitwZXJtaXNzaW9uIGZyb20gdGhl aXIgY29weXJpZ2h0IGhvbGRlcnMsIGJ1dCB5b3UgbWF5IGluY2x1ZGUNCit0cmFuc2xhdGlvbnMg b2Ygc29tZSBvciBhbGwgSW52YXJpYW50IFNlY3Rpb25zIGluIGFkZGl0aW9uIHRvIHRoZQ0KK29y aWdpbmFsIHZlcnNpb25zIG9mIHRoZXNlIEludmFyaWFudCBTZWN0aW9ucy4gIFlvdSBtYXkgaW5j bHVkZSBhDQordHJhbnNsYXRpb24gb2YgdGhpcyBMaWNlbnNlLCBhbmQgYWxsIHRoZSBsaWNlbnNl IG5vdGljZXMgaW4gdGhlDQorRG9jdW1lbnQsIGFuZCBhbnkgV2FycmFudHkgRGlzY2xhaW1lcnMs IHByb3ZpZGVkIHRoYXQgeW91IGFsc28gaW5jbHVkZQ0KK3RoZSBvcmlnaW5hbCBFbmdsaXNoIHZl cnNpb24gb2YgdGhpcyBMaWNlbnNlIGFuZCB0aGUgb3JpZ2luYWwgdmVyc2lvbnMNCitvZiB0aG9z ZSBub3RpY2VzIGFuZCBkaXNjbGFpbWVycy4gIEluIGNhc2Ugb2YgYSBkaXNhZ3JlZW1lbnQgYmV0 d2Vlbg0KK3RoZSB0cmFuc2xhdGlvbiBhbmQgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhpcyBM aWNlbnNlIG9yIGEgbm90aWNlDQorb3IgZGlzY2xhaW1lciwgdGhlIG9yaWdpbmFsIHZlcnNpb24g d2lsbCBwcmV2YWlsLg0KKw0KK0lmIGEgc2VjdGlvbiBpbiB0aGUgRG9jdW1lbnQgaXMgRW50aXRs ZWQgIkFja25vd2xlZGdlbWVudHMiLA0KKyJEZWRpY2F0aW9ucyIsIG9yICJIaXN0b3J5IiwgdGhl IHJlcXVpcmVtZW50IChzZWN0aW9uIDQpIHRvIFByZXNlcnZlDQoraXRzIFRpdGxlIChzZWN0aW9u IDEpIHdpbGwgdHlwaWNhbGx5IHJlcXVpcmUgY2hhbmdpbmcgdGhlIGFjdHVhbA0KK3RpdGxlLg0K Kw0KKw0KKzkuIFRFUk1JTkFUSU9ODQorDQorWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJs aWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBEb2N1bWVudA0KK2V4Y2VwdCBhcyBleHByZXNzbHkg cHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQNCitvdGhlcndpc2UgdG8g Y29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIGl0IGlzIHZvaWQsIGFuZA0K K3dpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNl bnNlLg0KKw0KK0hvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGlj ZW5zZSwgdGhlbiB5b3VyIGxpY2Vuc2UNCitmcm9tIGEgcGFydGljdWxhciBjb3B5cmlnaHQgaG9s ZGVyIGlzIHJlaW5zdGF0ZWQgKGEpIHByb3Zpc2lvbmFsbHksDQordW5sZXNzIGFuZCB1bnRpbCB0 aGUgY29weXJpZ2h0IGhvbGRlciBleHBsaWNpdGx5IGFuZCBmaW5hbGx5DQordGVybWluYXRlcyB5 b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVy DQorZmFpbHMgdG8gbm90aWZ5IHlvdSBvZiB0aGUgdmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJs ZSBtZWFucyBwcmlvciB0bw0KKzYwIGRheXMgYWZ0ZXIgdGhlIGNlc3NhdGlvbi4NCisNCitNb3Jl b3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMN CityZWluc3RhdGVkIHBlcm1hbmVudGx5IGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vdGlmaWVz IHlvdSBvZiB0aGUNCit2aW9sYXRpb24gYnkgc29tZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlz IHRoZSBmaXJzdCB0aW1lIHlvdSBoYXZlDQorcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBv ZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0DQorY29weXJpZ2h0IGhvbGRl ciwgYW5kIHlvdSBjdXJlIHRoZSB2aW9sYXRpb24gcHJpb3IgdG8gMzAgZGF5cyBhZnRlcg0KK3lv dXIgcmVjZWlwdCBvZiB0aGUgbm90aWNlLg0KKw0KK1Rlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRz IHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlDQorbGljZW5zZXMgb2Yg cGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMgb3IgcmlnaHRzIGZyb20geW91IHVuZGVy DQordGhpcyBMaWNlbnNlLiAgSWYgeW91ciByaWdodHMgaGF2ZSBiZWVuIHRlcm1pbmF0ZWQgYW5k IG5vdCBwZXJtYW5lbnRseQ0KK3JlaW5zdGF0ZWQsIHJlY2VpcHQgb2YgYSBjb3B5IG9mIHNvbWUg b3IgYWxsIG9mIHRoZSBzYW1lIG1hdGVyaWFsIGRvZXMNCitub3QgZ2l2ZSB5b3UgYW55IHJpZ2h0 cyB0byB1c2UgaXQuDQorDQorDQorMTAuIEZVVFVSRSBSRVZJU0lPTlMgT0YgVEhJUyBMSUNFTlNF DQorDQorVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCBuZXcsIHJldmlz ZWQgdmVyc2lvbnMgb2YgdGhlDQorR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlIGZyb20g dGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMNCit3aWxsIGJlIHNpbWlsYXIgaW4gc3Bp cml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluDQorZGV0YWlsIHRv IGFkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLiAgU2VlDQoraHR0cHM6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8uDQorDQorRWFjaCB2ZXJzaW9uIG9mIHRoZSBMaWNlbnNlIGlzIGdpdmVu IGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuDQorSWYgdGhlIERvY3VtZW50IHNwZWNp ZmllcyB0aGF0IGEgcGFydGljdWxhciBudW1iZXJlZCB2ZXJzaW9uIG9mIHRoaXMNCitMaWNlbnNl ICJvciBhbnkgbGF0ZXIgdmVyc2lvbiIgYXBwbGllcyB0byBpdCwgeW91IGhhdmUgdGhlIG9wdGlv biBvZg0KK2ZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQg c3BlY2lmaWVkIHZlcnNpb24gb3INCitvZiBhbnkgbGF0ZXIgdmVyc2lvbiB0aGF0IGhhcyBiZWVu IHB1Ymxpc2hlZCAobm90IGFzIGEgZHJhZnQpIGJ5IHRoZQ0KK0ZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4gIElmIHRoZSBEb2N1bWVudCBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbg0KK251bWJl ciBvZiB0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlz aGVkIChub3QNCithcyBhIGRyYWZ0KSBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAg SWYgdGhlIERvY3VtZW50DQorc3BlY2lmaWVzIHRoYXQgYSBwcm94eSBjYW4gZGVjaWRlIHdoaWNo IGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGlzDQorTGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94 eSdzIHB1YmxpYyBzdGF0ZW1lbnQgb2YgYWNjZXB0YW5jZSBvZiBhDQordmVyc2lvbiBwZXJtYW5l bnRseSBhdXRob3JpemVzIHlvdSB0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUNCitEb2N1 bWVudC4NCisNCisxMS4gUkVMSUNFTlNJTkcNCisNCisiTWFzc2l2ZSBNdWx0aWF1dGhvciBDb2xs YWJvcmF0aW9uIFNpdGUiIChvciAiTU1DIFNpdGUiKSBtZWFucyBhbnkNCitXb3JsZCBXaWRlIFdl YiBzZXJ2ZXIgdGhhdCBwdWJsaXNoZXMgY29weXJpZ2h0YWJsZSB3b3JrcyBhbmQgYWxzbw0KK3By b3ZpZGVzIHByb21pbmVudCBmYWNpbGl0aWVzIGZvciBhbnlib2R5IHRvIGVkaXQgdGhvc2Ugd29y a3MuICBBDQorcHVibGljIHdpa2kgdGhhdCBhbnlib2R5IGNhbiBlZGl0IGlzIGFuIGV4YW1wbGUg b2Ygc3VjaCBhIHNlcnZlci4gIEENCisiTWFzc2l2ZSBNdWx0aWF1dGhvciBDb2xsYWJvcmF0aW9u IiAob3IgIk1NQyIpIGNvbnRhaW5lZCBpbiB0aGUgc2l0ZQ0KK21lYW5zIGFueSBzZXQgb2YgY29w eXJpZ2h0YWJsZSB3b3JrcyB0aHVzIHB1Ymxpc2hlZCBvbiB0aGUgTU1DIHNpdGUuDQorDQorIkND LUJZLVNBIiBtZWFucyB0aGUgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZSBBbGlr ZSAzLjANCitsaWNlbnNlIHB1Ymxpc2hlZCBieSBDcmVhdGl2ZSBDb21tb25zIENvcnBvcmF0aW9u LCBhIG5vdC1mb3ItcHJvZml0DQorY29ycG9yYXRpb24gd2l0aCBhIHByaW5jaXBhbCBwbGFjZSBv ZiBidXNpbmVzcyBpbiBTYW4gRnJhbmNpc2NvLA0KK0NhbGlmb3JuaWEsIGFzIHdlbGwgYXMgZnV0 dXJlIGNvcHlsZWZ0IHZlcnNpb25zIG9mIHRoYXQgbGljZW5zZQ0KK3B1Ymxpc2hlZCBieSB0aGF0 IHNhbWUgb3JnYW5pemF0aW9uLg0KKw0KKyJJbmNvcnBvcmF0ZSIgbWVhbnMgdG8gcHVibGlzaCBv ciByZXB1Ymxpc2ggYSBEb2N1bWVudCwgaW4gd2hvbGUgb3IgaW4NCitwYXJ0LCBhcyBwYXJ0IG9m IGFub3RoZXIgRG9jdW1lbnQuDQorDQorQW4gTU1DIGlzICJlbGlnaWJsZSBmb3IgcmVsaWNlbnNp bmciIGlmIGl0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoaXMNCitMaWNlbnNlLCBhbmQgaWYgYWxsIHdv cmtzIHRoYXQgd2VyZSBmaXJzdCBwdWJsaXNoZWQgdW5kZXIgdGhpcyBMaWNlbnNlDQorc29tZXdo ZXJlIG90aGVyIHRoYW4gdGhpcyBNTUMsIGFuZCBzdWJzZXF1ZW50bHkgaW5jb3Jwb3JhdGVkIGlu IHdob2xlIG9yDQoraW4gcGFydCBpbnRvIHRoZSBNTUMsICgxKSBoYWQgbm8gY292ZXIgdGV4dHMg b3IgaW52YXJpYW50IHNlY3Rpb25zLCBhbmQNCisoMikgd2VyZSB0aHVzIGluY29ycG9yYXRlZCBw cmlvciB0byBOb3ZlbWJlciAxLCAyMDA4Lg0KKw0KK1RoZSBvcGVyYXRvciBvZiBhbiBNTUMgU2l0 ZSBtYXkgcmVwdWJsaXNoIGFuIE1NQyBjb250YWluZWQgaW4gdGhlIHNpdGUNCit1bmRlciBDQy1C WS1TQSBvbiB0aGUgc2FtZSBzaXRlIGF0IGFueSB0aW1lIGJlZm9yZSBBdWd1c3QgMSwgMjAwOSwN Citwcm92aWRlZCB0aGUgTU1DIGlzIGVsaWdpYmxlIGZvciByZWxpY2Vuc2luZy4NCisNCisNCitB RERFTkRVTTogSG93IHRvIHVzZSB0aGlzIExpY2Vuc2UgZm9yIHlvdXIgZG9jdW1lbnRzDQorDQor VG8gdXNlIHRoaXMgTGljZW5zZSBpbiBhIGRvY3VtZW50IHlvdSBoYXZlIHdyaXR0ZW4sIGluY2x1 ZGUgYSBjb3B5IG9mDQordGhlIExpY2Vuc2UgaW4gdGhlIGRvY3VtZW50IGFuZCBwdXQgdGhlIGZv bGxvd2luZyBjb3B5cmlnaHQgYW5kDQorbGljZW5zZSBub3RpY2VzIGp1c3QgYWZ0ZXIgdGhlIHRp dGxlIHBhZ2U6DQorDQorICAgIENvcHlyaWdodCAoYykgIFlFQVIgIFlPVVIgTkFNRS4NCisgICAg UGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0 aGlzIGRvY3VtZW50DQorICAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1l bnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMw0KKyAgICBvciBhbnkgbGF0ZXIgdmVyc2lvbiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsNCisgICAgd2l0aCBubyBJ bnZhcmlhbnQgU2VjdGlvbnMsIG5vIEZyb250LUNvdmVyIFRleHRzLCBhbmQgbm8gQmFjay1Db3Zl ciBUZXh0cy4NCisgICAgQSBjb3B5IG9mIHRoZSBsaWNlbnNlIGlzIGluY2x1ZGVkIGluIHRoZSBz ZWN0aW9uIGVudGl0bGVkICJHTlUNCisgICAgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2UiLg0K Kw0KK0lmIHlvdSBoYXZlIEludmFyaWFudCBTZWN0aW9ucywgRnJvbnQtQ292ZXIgVGV4dHMgYW5k IEJhY2stQ292ZXIgVGV4dHMsDQorcmVwbGFjZSB0aGUgIndpdGguLi5UZXh0cy4iIGxpbmUgd2l0 aCB0aGlzOg0KKw0KKyAgICB3aXRoIHRoZSBJbnZhcmlhbnQgU2VjdGlvbnMgYmVpbmcgTElTVCBU SEVJUiBUSVRMRVMsIHdpdGggdGhlDQorICAgIEZyb250LUNvdmVyIFRleHRzIGJlaW5nIExJU1Qs IGFuZCB3aXRoIHRoZSBCYWNrLUNvdmVyIFRleHRzIGJlaW5nIExJU1QuDQorDQorSWYgeW91IGhh dmUgSW52YXJpYW50IFNlY3Rpb25zIHdpdGhvdXQgQ292ZXIgVGV4dHMsIG9yIHNvbWUgb3RoZXIN Citjb21iaW5hdGlvbiBvZiB0aGUgdGhyZWUsIG1lcmdlIHRob3NlIHR3byBhbHRlcm5hdGl2ZXMg dG8gc3VpdCB0aGUNCitzaXR1YXRpb24uDQorDQorSWYgeW91ciBkb2N1bWVudCBjb250YWlucyBu b250cml2aWFsIGV4YW1wbGVzIG9mIHByb2dyYW0gY29kZSwgd2UNCityZWNvbW1lbmQgcmVsZWFz aW5nIHRoZXNlIGV4YW1wbGVzIGluIHBhcmFsbGVsIHVuZGVyIHlvdXIgY2hvaWNlIG9mDQorZnJl ZSBzb2Z0d2FyZSBsaWNlbnNlLCBzdWNoIGFzIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSwNCit0byBwZXJtaXQgdGhlaXIgdXNlIGluIGZyZWUgc29mdHdhcmUuDQorIytlbmRfZXhwb3J0 DQorDQorIytodG1sOiA8IS0tDQorDQorKiBJbmRpY2VzDQorOnByb3BlcnRpZXM6DQorOmN1c3Rv bV9pZDogaDo1NTEwNGIyNi04ZTk0LTQ2Y2YtOTk3NS00M2VhMDAzMTY0ODkNCis6ZW5kOg0KKw0K KyoqIEZ1bmN0aW9uIGluZGV4DQorOnByb3BlcnRpZXM6DQorOmluZGV4OiBmbg0KKzpjdXN0b21f aWQ6IGg6NmJlYzUwMDUtNTI5Yy00NTIxLWFlMDUtM2Q5OTBiYWZmYjViDQorOmVuZDoNCisNCisq KiBWYXJpYWJsZSBpbmRleA0KKzpwcm9wZXJ0aWVzOg0KKzppbmRleDogdnINCis6Y3VzdG9tX2lk OiBoOjE2YWQ4ZGY2LWIwMTUtNDBhOS05MjU5LTAzZDRmN2EyM2VlNA0KKzplbmQ6DQorDQorKiog Q29uY2VwdCBpbmRleA0KKzpwcm9wZXJ0aWVzOg0KKzppbmRleDogY3ANCis6Y3VzdG9tX2lkOiBo OjZhYTdhNjU2LTg4NGItNGMzOS1iNzU5LTA4N2U0MTJlZWMxMw0KKzplbmQ6DQorDQorIytodG1s OiAtLT4NCmRpZmYgLS1naXQgYS9ldGMvdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsIGIv ZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5kaS10aGVtZS5lbA0KaW5kZXggMzQ2MDAwYTA5My4uY2Uy Yzc1ZTlhOCAxMDA2NDQNCi0tLSBhL2V0Yy90aGVtZXMvbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwN CisrKyBiL2V0Yy90aGVtZXMvbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwNCkBAIC0xLDQ2NjYgKzEs NjYgQEANCiA7OzsgbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwgLS0tIEFjY2Vzc2libGUgbGlnaHQg dGhlbWUgKFdDQUcgQUFBKSAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSotDQogDQotOzsgQ29weXJp Z2h0IChDKSAyMDE5LTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorOzsgQ29w eXJpZ2h0IChDKSAyMDE5LTIwMjEgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KIA0K IDs7IEF1dGhvcjogUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5mb0Bwcm90ZXNpbGFvcy5jb20+DQog OzsgVVJMOiBodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzDQotOzsg VmVyc2lvbjogMC4xMy4wDQorOzsgVmVyc2lvbjogMS4yLjANCiA7OyBQYWNrYWdlLVJlcXVpcmVz OiAoKGVtYWNzICIyNi4xIikpDQogOzsgS2V5d29yZHM6IGZhY2VzLCB0aGVtZSwgYWNjZXNzaWJp bGl0eQ0KIA0KIDs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4NCiANCi07OyBHTlUg RW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQ0KKzs7IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQogOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCi07OyB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcg0KLTs7 IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQotDQotOzsgR05VIEVtYWNzIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQotOzsgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YNCi07OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlDQotOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4NCi0NCis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lv biAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQNCis7OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uDQorOzsNCis7OyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0DQorOzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KKzs7IE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VDQorOzsgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KKzs7DQogOzsgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UN Ci07OyBhbG9uZyB3aXRoIEdOVSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uDQorOzsgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KIA0KIDs7OyBDb21tZW50YXJ5Og0K IDs7DQotOzsgVGhpcyB0aGVtZSBpcyBkZXNpZ25lZCBmb3IgY29sb3VyLWNvbnRyYXN0IGFjY2Vz c2liaWxpdHkuDQotOzsNCi07OyAxLiBQcm92aWRlIGEgY29uc2lzdGVudCBtaW5pbXVtIGNvbnRy YXN0IHJhdGlvIGJldHdlZW4gYmFja2dyb3VuZCBhbmQNCi07OyBmb3JlZ3JvdW5kIHZhbHVlcyBv ZiA3OjEgb3IgaGlnaGVyLiAgVGhpcyBtZWV0cyB0aGUgaGlnaGVzdCBzdWNoDQotOzsgYWNjZXNz aWJpbGl0eSBjcml0ZXJpb24gcGVyIHRoZSBndWlkZWxpbmVzIG9mIHRoZSBXb3JsZHdpZGUgV2Vi DQotOzsgQ29uc29ydGl1bSdzIFdvcmtpbmcgR3JvdXAgb24gQWNjZXNzaWJpbGl0eSAoV0NBRyBB QUEgc3RhbmRhcmQpLg0KKzs7IE1vZHVzIE9wZXJhbmRpIGlzIHRoZSBsaWdodCB2YXJpYW50IG9m IHRoZSBNb2R1cyB0aGVtZXMgKE1vZHVzDQorOzsgVml2ZW5kaSBpcyB0aGUgZGFyayBvbmUpLiAg VGhlIHRoZW1lcyBhcmUgZGVzaWduZWQgZm9yIGNvbG9yLWNvbnRyYXN0DQorOzsgYWNjZXNzaWJp bGl0eS4gIE1vcmUgc3BlY2lmaWNhbGx5Og0KIDs7DQotOzsgMi4gT2ZmZXIgYXMgY2xvc2UgdG8g ZnVsbCBmYWNlIGNvdmVyYWdlIGFzIHBvc3NpYmxlLiAgVGhlIGxpc3QgaXMNCi07OyBhbHJlYWR5 IHF1aXRlIGxvbmcgKHNlZSBmdXJ0aGVyIGJlbG93KSwgd2l0aCBtb3JlIGFkZGl0aW9ucyB0byBm b2xsb3cNCi07OyBhcyBwYXJ0IG9mIHRoZSBvbmdvaW5nIGRldmVsb3BtZW50IHByb2Nlc3MuDQor OzsgICAgIDEuIFByb3ZpZGUgYSBjb25zaXN0ZW50IG1pbmltdW0gY29udHJhc3QgcmF0aW8gYmV0 d2VlbiBiYWNrZ3JvdW5kDQorOzsgICAgIGFuZCBmb3JlZ3JvdW5kIHZhbHVlcyBvZiA3OjEgb3Ig aGlnaGVyLiAgVGhpcyBtZWV0cyB0aGUgaGlnaGVzdA0KKzs7ICAgICBzdWNoIGFjY2Vzc2liaWxp dHkgY3JpdGVyaW9uIHBlciB0aGUgZ3VpZGVsaW5lcyBvZiB0aGUgV29ybGR3aWRlDQorOzsgICAg IFdlYiBDb25zb3J0aXVtJ3MgV29ya2luZyBHcm91cCBvbiBBY2Nlc3NpYmlsaXR5IChXQ0FHIEFB QQ0KKzs7ICAgICBzdGFuZGFyZCkuDQogOzsNCi07OyBUaGUgdGhlbWUgcHJvdmlkZXMgdGhlIGZv bGxvd2luZyBjdXN0b21pc2F0aW9uIG9wdGlvbnMsIGFsbCBvZiB3aGljaA0KLTs7IGFyZSBkaXNh YmxlZCBieSBkZWZhdWx0Og0KKzs7ICAgICAyLiBPZmZlciBhcyBjbG9zZSB0byBmdWxsIGZhY2Ug Y292ZXJhZ2UgYXMgcG9zc2libGUuICBUaGUgbGlzdCBpcw0KKzs7ICAgICBhbHJlYWR5IHF1aXRl IGxvbmcsIHdpdGggbW9yZSBhZGRpdGlvbnMgdG8gZm9sbG93IGFzIHBhcnQgb2YgdGhlDQorOzsg ICAgIG9uZ29pbmcgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4NCiA7Ow0KLTs7ICAgICBtb2R1cy1vcGVy YW5kaS10aGVtZS1zbGFudGVkLWNvbnN0cnVjdHMgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsg ICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cyAgICAgICAgICAgICAgICAo Ym9vbGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVh ZGluZ3MgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1uby1t aXhlZC1mb250cyAgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJh bmRpLXRoZW1lLWhlYWRpbmdzICAgICAgICAgICAgICAgICAgICAgICAoYWxpc3QpDQotOzsgICAg IG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzICAgICAgICAgICAgICAgICAoYm9v bGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtZnJpbmdlcyAgICAgICAgICAgICAg ICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9j a3MgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10 aGVtZS1wcm9tcHRzICAgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCi07OyAgICAgbW9k dXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5lICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2Up DQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmZzICAgICAgICAgICAgICAgICAgICAg ICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50YXgg ICAgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1l LWludGVuc2UtaGwtbGluZSAgICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMt b3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRjaCAgICAgICAgICAgIChib29sZWFuKQ0K LTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1uby1saW5rLXVuZGVybGluZSAgICAgICAgICAg ICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zICAg ICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1v dmVycmlkZS1jb2xvcnMtYWxpc3QgICAgICAgICAgKGFsaXN0KQ0KKzs7IEZvciBhIGNvbXBsZXRl IHZpZXcgb2YgdGhlIHByb2plY3QsIGFsc28gcmVmZXIgdG8gdGhlIGZvbGxvd2luZyBmaWxlcw0K Kzs7IChzaG91bGQgYmUgZGlzdHJpYnV0ZWQgaW4gdGhlIHNhbWUgcmVwb3NpdG9yeS9kaXJlY3Rv cnkgYXMgdGhlDQorOzsgY3VycmVudCBpdGVtKToNCiA7Ow0KLTs7IFRoZSBkZWZhdWx0IHNjYWxl IGlzIGFzIGZvbGxvd3MgKGl0IGNhbiBiZSBjdXN0b21pc2VkIGFzIHdlbGwpOg0KLTs7DQotOzsg ICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEgMS4wNQ0KLTs7ICAgICBtb2R1cy1vcGVy YW5kaS10aGVtZS1zY2FsZS0yIDEuMQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2Fs ZS0zIDEuMTUNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCAxLjINCi07OyAg ICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNSAxLjMNCi07Ow0KLTs7IFdoYXQgZm9sbG93 cyBpcyB0aGUgbGlzdCBvZiBleHBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcyBvciBmYWNlDQot OzsgZ3JvdXBzICh0aGVyZSBhcmUgaW1wbGljaXRseSBzdXBwb3J0ZWQgcGFja2FnZXMgYXMgd2Vs bCwgd2hpY2gNCi07OyBpbmhlcml0IGZyb20gZm9udC1sb2NrIG9yIHNvbWUgYmFzaWMgZ3JvdXAp LiAgWW91IGFyZSBlbmNvdXJhZ2VkIHRvDQotOzsgbm90aWZ5IG1lIG9mIGFueSBtaXNzaW5nIHBh Y2thZ2Ugb3IgY2hhbmdlIHlvdSB3b3VsZCBsaWtlIHRvIHNlZS4NCi07Ow0KLTs7ICAgICBhY2Ut d2luZG93DQotOzsgICAgIGFnDQotOzsgICAgIGFsZXJ0DQotOzsgICAgIGFsbC10aGUtaWNvbnMN Ci07OyAgICAgYW5ub3RhdGUNCi07OyAgICAgYW56dQ0KLTs7ICAgICBhcHJvcG9zDQotOzsgICAg IGFwdC1zb3VyY2VzLWxpc3QNCi07OyAgICAgYXJ0Ym9sbG9ja3MtbW9kZQ0KLTs7ICAgICBhdWN0 ZXggYW5kIFRlWA0KLTs7ICAgICBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQotOzsgICAgIGF2eQ0K LTs7ICAgICBhd2Vzb21lLXRyYXkNCi07OyAgICAgYmluZGVyDQotOzsgICAgIGJtDQotOzsgICAg IGJvbmdvDQotOzsgICAgIGJvb24NCi07OyAgICAgYnJlYWtwb2ludCAocHJvdmlkZWQgYnkgYnVp bHQtaW4gZ2RiLW1pLmVsKQ0KLTs7ICAgICBidWZmZXItZXhwb3NlDQotOzsgICAgIGNhbGVuZGFy IGFuZCBkaWFyeQ0KLTs7ICAgICBjYWxmdw0KLTs7ICAgICBjZW50YXVyLXRhYnMNCi07OyAgICAg Y2hhbmdlLWxvZyBhbmQgbG9nLXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9v dC1sb2cnKQ0KLTs7ICAgICBjaWRlcg0KLTs7ICAgICBjaXJjZQ0KLTs7ICAgICBjb2xvci1yZw0K LTs7ICAgICBjb2x1bW4tZW5mb3JjZS1tb2RlDQotOzsgICAgIGNvbXBhbnktbW9kZQ0KLTs7ICAg ICBjb21wYW55LXBvc2ZyYW1lDQotOzsgICAgIGNvbXBpbGF0aW9uLW1vZGUNCi07OyAgICAgY29t cGxldGlvbnMNCi07OyAgICAgY291bnNlbA0KLTs7ICAgICBjb3Vuc2VsLWNzcw0KLTs7ICAgICBj b3Vuc2VsLW5vdG11Y2gNCi07OyAgICAgY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCi07OyAg ICAgY292DQotOzsgICAgIGNwZXJsLW1vZGUNCi07OyAgICAgY3N2LW1vZGUNCi07OyAgICAgY3Ry bGYNCi07OyAgICAgY3VzdG9tIChNLXggY3VzdG9taXplKQ0KLTs7ICAgICBkYXAtbW9kZQ0KLTs7 ICAgICBkYXNoYm9hcmQgKGVtYWNzLWRhc2hib2FyZCkNCi07OyAgICAgZGVhZGdyZXANCi07OyAg ICAgZGViYnVncw0KLTs7ICAgICBkZWZpbmUtd29yZA0KLTs7ICAgICBkZWZ0DQotOzsgICAgIGRp Y3Rpb25hcnkNCi07OyAgICAgZGlmZi1obA0KLTs7ICAgICBkaWZmLW1vZGUNCi07OyAgICAgZGlt LWF1dG9sb2FkDQotOzsgICAgIGRpci10cmVldmlldw0KLTs7ICAgICBkaXJlZA0KLTs7ICAgICBk aXJlZC1hc3luYw0KLTs7ICAgICBkaXJlZC1naXQNCi07OyAgICAgZGlyZWQtZ2l0LWluZm8NCi07 OyAgICAgZGlyZWQtbmFycm93DQotOzsgICAgIGRpcmVkLXN1YnRyZWUNCi07OyAgICAgZGlyZWRm bA0KLTs7ICAgICBkaXNrLXVzYWdlDQotOzsgICAgIGRvb20tbW9kZWxpbmUNCi07OyAgICAgZHlu YW1pYy1ydWxlcg0KLTs7ICAgICBlYXN5LWpla3lsbA0KLTs7ICAgICBlYXN5LWtpbGwNCi07OyAg ICAgZWJkYg0KLTs7ICAgICBlZGlmZg0KLTs7ICAgICBlZ2xvdA0KLTs7ICAgICBlbC1zZWFyY2gN Ci07OyAgICAgZWxkb2MNCi07OyAgICAgZWxkb2MtYm94DQotOzsgICAgIGVsZmVlZA0KLTs7ICAg ICBlbGZlZWQtc2NvcmUNCi07OyAgICAgZW1tcw0KLTs7ICAgICBlbmhhbmNlZC1ydWJ5LW1vZGUN Ci07OyAgICAgZXBhDQotOzsgICAgIGVxdWFrZQ0KLTs7ICAgICBlcmMNCi07OyAgICAgZXJvcw0K LTs7ICAgICBlcnQNCi07OyAgICAgZXNoZWxsDQotOzsgICAgIGVzaGVsbC1mcmluZ2Utc3RhdHVz DQotOzsgICAgIGVzaGVsbC1naXQtcHJvbXB0DQotOzsgICAgIGVzaGVsbC1wcm9tcHQtZXh0cmFz IChlcGUpDQotOzsgICAgIGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQotOzsgICAgIGV2aWwg KGV2aWwtbW9kZSkNCi07OyAgICAgZXZpbC1nb2dnbGVzDQotOzsgICAgIGV2aWwtdmlzdWFsLW1h cmstbW9kZQ0KLTs7ICAgICBld3cNCi07OyAgICAgZXllYnJvd3NlDQotOzsgICAgIGZhbmN5LWRh YmJyZXYNCi07OyAgICAgZmx5Y2hlY2sNCi07OyAgICAgZmx5Y2hlY2stY29sb3ItbW9kZS1saW5l DQotOzsgICAgIGZseWNoZWNrLWluZGljYXRvcg0KLTs7ICAgICBmbHljaGVjay1wb3NmcmFtZQ0K LTs7ICAgICBmbHltYWtlDQotOzsgICAgIGZseXNwZWxsDQotOzsgICAgIGZseXNwZWxsLWNvcnJl Y3QNCi07OyAgICAgZmx4DQotOzsgICAgIGZyZWV6ZS1pdA0KLTs7ICAgICBmcm9nLW1lbnUNCi07 OyAgICAgZm9jdXMNCi07OyAgICAgZm9sZC10aGlzDQotOzsgICAgIGZvbnQtbG9jayAoZ2VuZXJp YyBzeW50YXggaGlnaGxpZ2h0aW5nKQ0KLTs7ICAgICBmb3JnZQ0KLTs7ICAgICBmb3VudGFpbiAo Zm91bnRhaW4tbW9kZSkNCi07OyAgICAgZ2Vpc2VyDQotOzsgICAgIGdpdC1jb21taXQNCi07OyAg ICAgZ2l0LWd1dHRlciAoYW5kIHZhcmlhbnRzKQ0KLTs7ICAgICBnaXQtbGVucw0KLTs7ICAgICBn aXQtcmViYXNlDQotOzsgICAgIGdpdC10aW1lbWFjaGluZQ0KLTs7ICAgICBnaXQtd2Fsa3RyZWUN Ci07OyAgICAgZ251cw0KLTs7ICAgICBnb2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KLTs7ICAg ICBoZWxtDQotOzsgICAgIGhlbG0tbHMtZ2l0DQotOzsgICAgIGhlbG0tc3dpdGNoLXNoZWxsDQot OzsgICAgIGhlbG0teHJlZg0KLTs7ICAgICBoZWxwZnVsDQotOzsgICAgIGhpZ2hsaWdodC1ibG9j a3MNCi07OyAgICAgaGlnaGxpZ2h0LWRlZmluZWQNCi07OyAgICAgaGlnaGxpZ2h0LWVzY2FwZS1z ZXF1ZW5jZXMgKGBoZXMtbW9kZScpDQotOzsgICAgIGhpZ2hsaWdodC1pbmRlbnRhdGlvbg0KLTs7 ICAgICBoaWdobGlnaHQtbnVtYmVycw0KLTs7ICAgICBoaWdobGlnaHQtc3ltYm9sDQotOzsgICAg IGhpZ2hsaWdodC10YWlsDQotOzsgICAgIGhpZ2hsaWdodC10aGluZw0KLTs7ICAgICBobC1kZWZp bmVkDQotOzsgICAgIGhsLWZpbGwtY29sdW1uDQotOzsgICAgIGhsLWxpbmUtbW9kZQ0KLTs7ICAg ICBobC10b2RvDQotOzsgICAgIGh5ZHJhDQotOzsgICAgIGh5cGVybGlzdA0KLTs7ICAgICBpYnVm ZmVyDQotOzsgICAgIGljb21wbGV0ZQ0KLTs7ICAgICBpZG8tbW9kZQ0KLTs7ICAgICBpZWRpdA0K LTs7ICAgICBpZmxpcGINCi07OyAgICAgaW1lbnUtbGlzdA0KLTs7ICAgICBpbmRpdW0NCi07OyAg ICAgaW5mbw0KLTs7ICAgICBpbmZvLWNvbG9ycw0KLTs7ICAgICBpbnRlcmFjdGlvbi1sb2cNCi07 OyAgICAgaW9jY3VyDQotOzsgICAgIGlzZWFyY2gsIG9jY3VyLCBldGMuDQotOzsgICAgIGl2eQ0K LTs7ICAgICBpdnktcG9zZnJhbWUNCi07OyAgICAgamlyYSAob3JnLWppcmEpDQotOzsgICAgIGpv dXJuYWxjdGwtbW9kZQ0KLTs7ICAgICBqczItbW9kZQ0KLTs7ICAgICBqdWxpYQ0KLTs7ICAgICBq dXB5dGVyDQotOzsgICAgIGthb2NoYS1ydW5uZXINCi07OyAgICAga2V5Y2FzdA0KLTs7ICAgICBs aW5lIG51bWJlcnMgKGBkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZhcmlh bnQpDQotOzsgICAgIGxzcC1tb2RlDQotOzsgICAgIGxzcC11aQ0KLTs7ICAgICBtYWdpdA0KLTs7 ICAgICBtYWdpdC1pbWVyZ2UNCi07OyAgICAgbWFuDQotOzsgICAgIG1hcmtkb3duLW1vZGUNCi07 OyAgICAgbWFya3VwLWZhY2VzIChgYWRvYy1tb2RlJykNCi07OyAgICAgbWVudG9yDQotOzsgICAg IG1lc3NhZ2VzDQotOzsgICAgIG1pbmlidWZmZXItbGluZQ0KLTs7ICAgICBtaW5pbWFwDQotOzsg ICAgIG1vZGVsaW5lDQotOzsgICAgIG1vb2QtbGluZQ0KLTs7ICAgICBtcGRlbA0KLTs7ICAgICBt dTRlDQotOzsgICAgIG11NGUtY29udmVyc2F0aW9uDQotOzsgICAgIG11bHRpcGxlLWN1cnNvcnMN Ci07OyAgICAgbmVvdHJlZQ0KLTs7ICAgICBuby1lbW9qaQ0KLTs7ICAgICBub3RtdWNoDQotOzsg ICAgIG51bTMtbW9kZQ0KLTs7ICAgICBueG1sLW1vZGUNCi07OyAgICAgb2JqZWQNCi07OyAgICAg b3JkZXJsZXNzDQotOzsgICAgIG9yZw0KLTs7ICAgICBvcmctam91cm5hbA0KLTs7ICAgICBvcmct bm90ZXINCi07OyAgICAgb3JnLXBvbW9kb3JvDQotOzsgICAgIG9yZy1yZWN1cg0KLTs7ICAgICBv cmctcm9hbQ0KLTs7ICAgICBvcmctc3VwZXJzdGFyDQotOzsgICAgIG9yZy10YWJsZS1zdGlja3kt aGVhZGVyDQotOzsgICAgIG9yZy10cmVlc2NvcGUNCi07OyAgICAgb3JpZ2FtaQ0KLTs7ICAgICBv dXRsaW5lLW1vZGUNCi07OyAgICAgb3V0bGluZS1taW5vci1mYWNlcw0KLTs7ICAgICBwYWNrYWdl IChNLXggbGlzdC1wYWNrYWdlcykNCi07OyAgICAgcGFnZS1icmVhay1saW5lcw0KLTs7ICAgICBw YXJhZG94DQotOzsgICAgIHBhcmVuLWZhY2UNCi07OyAgICAgcGFycm90DQotOzsgICAgIHBhc3MN Ci07OyAgICAgcGVyc3AtbW9kZQ0KLTs7ICAgICBwZXJzcGVjdGl2ZQ0KLTs7ICAgICBwaGktZ3Jl cA0KLTs7ICAgICBwaGktc2VhcmNoDQotOzsgICAgIHBrZ2J1aWxkLW1vZGUNCi07OyAgICAgcG9t aWRvcg0KLTs7ICAgICBwb3dlcmxpbmUNCi07OyAgICAgcG93ZXJsaW5lLWV2aWwNCi07OyAgICAg cHJvY2VkDQotOzsgICAgIHByb2RpZ3kNCi07OyAgICAgcmFja2V0LW1vZGUNCi07OyAgICAgcmFp bmJvdy1ibG9ja3MNCi07OyAgICAgcmFpbmJvdy1pZGVudGlmaWVycw0KLTs7ICAgICByYWluYm93 LWRlbGltaXRlcnMNCi07OyAgICAgcmNpcmMNCi07OyAgICAgcmVnZXhwLWJ1aWxkZXIgKGFsc28g a25vd24gYXMgYHJlLWJ1aWxkZXInKQ0KLTs7ICAgICByZw0KLTs7ICAgICByaXBncmVwDQotOzsg ICAgIHJtYWlsDQotOzsgICAgIHJ1bGVyLW1vZGUNCi07OyAgICAgc2FsbGV0DQotOzsgICAgIHNl bGVjdHJ1bQ0KLTs7ICAgICBzZW1hbnRpYw0KLTs7ICAgICBzZXNtYW4NCi07OyAgICAgc2hlbGwt c2NyaXB0LW1vZGUNCi07OyAgICAgc2hvdy1wYXJlbi1tb2RlDQotOzsgICAgIHNpZGUtbm90ZXMN Ci07OyAgICAgc2tld2VyLW1vZGUNCi07OyAgICAgc21hcnQtbW9kZS1saW5lDQotOzsgICAgIHNt YXJ0cGFyZW5zDQotOzsgICAgIHNtZXJnZQ0KLTs7ICAgICBzcGFjZWxpbmUNCi07OyAgICAgc3Bl ZWRiYXINCi07OyAgICAgc3BlbGwtZnUNCi07OyAgICAgc3RyaXBlcw0KLTs7ICAgICBzdWdnZXN0 DQotOzsgICAgIHN3aXRjaC13aW5kb3cNCi07OyAgICAgc3dpcGVyDQotOzsgICAgIHN3b29wDQot OzsgICAgIHN4DQotOzsgICAgIHN5bWJvbC1vdmVybGF5DQotOzsgICAgIHRhYi1iYXItbW9kZQ0K LTs7ICAgICB0YWItbGluZS1tb2RlDQotOzsgICAgIHN5c2xvZy1tb2RlDQotOzsgICAgIHRhYmxl IChidWlsdC1pbiB0YWJsZS5lbCkNCi07OyAgICAgdGVsZXBob25lLWxpbmUNCi07OyAgICAgdGVy bQ0KLTs7ICAgICB0b21hdGluaG8NCi07OyAgICAgdHJhbnNpZW50IChwb3AtdXAgd2luZG93cyBs aWtlIE1hZ2l0J3MpDQotOzsgICAgIHRyYXNoZWQNCi07OyAgICAgdHJlZW1hY3MNCi07OyAgICAg dHR5LW1lbnUNCi07OyAgICAgdHVhcmVnDQotOzsgICAgIHR5cGVzY3JpcHQNCi07OyAgICAgdW5k by10cmVlDQotOzsgICAgIHZjIChidWlsdC1pbiBtb2RlIGxpbmUgc3RhdHVzIGZvciB2ZXJzaW9u IGNvbnRyb2wpDQotOzsgICAgIHZjLWFubm90YXRlIChDLXggdiBnKQ0KLTs7ICAgICB2ZGlmZg0K LTs7ICAgICB2aW1pc2gtZm9sZA0KLTs7ICAgICB2aXNpYmxlLW1hcmsNCi07OyAgICAgdmlzdWFs LXJlZ2V4cA0KLTs7ICAgICB2b2xhdGlsZS1oaWdobGlnaHRzDQotOzsgICAgIHZ0ZXJtDQotOzsg ICAgIHdjaGVjay1tb2RlDQotOzsgICAgIHdlYi1tb2RlDQotOzsgICAgIHdncmVwDQotOzsgICAg IHdoaWNoLWZ1bmN0aW9uLW1vZGUNCi07OyAgICAgd2hpY2gta2V5DQotOzsgICAgIHdoaXRlc3Bh Y2UtbW9kZQ0KLTs7ICAgICB3aW5kb3ctZGl2aWRlci1tb2RlDQotOzsgICAgIHdpbnVtDQotOzsg ICAgIHdyaXRlZ29vZC1tb2RlDQotOzsgICAgIHdvbWFuDQotOzsgICAgIHhhaC1lbGlzcC1tb2Rl DQotOzsgICAgIHhyZWYNCi07OyAgICAgeHRlcm0tY29sb3IgKGFuZCBhbnNpLWNvbG9ycykNCi07 OyAgICAgeWFtbC1tb2RlDQotOzsgICAgIHlhc25pcHBldA0KLTs7ICAgICB6dHJlZQ0KKzs7IC0g bW9kdXMtdGhlbWVzLmVsICAgICAgICAgICAgKE1haW4gY29kZSBzaGFyZWQgYmV0d2VlbiB0aGUg dGhlbWVzKQ0KKzs7IC0gbW9kdXMtdml2ZW5kaS10aGVtZS5lbCAgICAgKERhcmsgdGhlbWUpDQog DQogOzs7IENvZGU6DQogDQogDA0KIA0KLShkZWZ0aGVtZSBtb2R1cy1vcGVyYW5kaQ0KLSAgIkxp Z2h0IHRoZW1lIHRoYXQgY29uZm9ybXMgd2l0aCB0aGUgaGlnaGVzdCBhY2Nlc3NpYmlsaXR5DQot ICBzdGFuZGFyZCBmb3IgY29sb3VyIGNvbnRyYXN0IGJldHdlZW4gYmFja2dyb3VuZCBhbmQNCi0g IGZvcmVncm91bmQgZWxlbWVudHMgKFdDQUcgQUFBKS4iKQ0KLQ0KLTs7OyBDdXN0b20gZmFjZXMN Ci0NCi07OyBUaGVzZSBmYWNlcyB3aWxsIGJlIGluaGVyaXRlZCBieSBhY3R1YWwgY29uc3RydWN0 cy4gIFRoZXkgYXJlIG1lYW50DQotOzsgZm9yIHRob3NlIGNhc2VzIHdoZXJlIGEgZmFjZSBuZWVk cyB0byBkaXN0aW5ndWlzaCBpdHMgb3V0cHV0IGZyb20NCi07OyB0aGUgcmVzdCBvZiB0aGUgdGV4 dCwgc3VjaCBhcyBgaXNlYXJjaCcgYW5kIGBvY2N1cifigKYgIFdlIGRlZmluZQ0KLTs7IHRoZXNl IHNlcGFyYXRlbHkgaW4gb3JkZXIgdG8gY29tYmluZSBlYWNoIGNvbG91ciB3aXRoIGl0cw0KLTs7 IGFwcHJvcHJpYXRlIGZvcmVncm91bmQgdmFsdWUuICBUaGlzIGlzIHRvIGVuc3VyZSBhIGNvbnNp c3RlbnQNCi07OyBjb250cmFzdCByYXRpbyBvZiA+PSA3OjEuDQotKGRlZmdyb3VwIG1vZHVzLXRo ZW1lICgpDQotICAiVGhlbWUgdGhhdCBlbnN1cmVzIFdDQUcgQUFBIGFjY2Vzc2liaWxpdHkgKGNv bnRyYXN0IHJhdGlvDQotYmV0d2VlbiBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGlzID49IDc6 MSkuIg0KLSAgOmdyb3VwICdmYWNlcw0KLSAgOnByZWZpeCAibW9kdXMtdGhlbWUtIg0KLSAgOmxp bmsgJyh1cmwtbGluayA6dGFnICJHaXRMYWIiICJodHRwczovL2dpdGxhYi5jb20vcHJvdGVzaWxh b3MvbW9kdXMtdGhlbWVzIikNCi0gIDp0YWcgIk1vZHVzIE9wZXJhbmRpIikNCi0NCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt c3VidGxlLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxv dyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1 YnRsZS1uZXV0cmFsIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1p bnRlbnNlLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLWN5 YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2Ug bW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt cmVmaW5lLXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1ibHVl IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgbmlsIG5pbCkN Ci0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLWFjdGl2ZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3Rp dmUtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93IG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUgbmlsIG5pbCkNCi0oZGVm ZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLWFjdGl2ZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdl LXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1mcmluZ2UtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWZyaW5nZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWN5 YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCBuaWwgbmlsKQ0K LShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1udWFuY2VkLXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LW51YW5jZWQtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbiBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LXNwZWNpYWwtd2FybSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtY2Fs bSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1kaWZmLXJlbW92ZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZm LXJlZmluZS1hZGRlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5l LWNoYW5nZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1v dmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtY2hhbmdlZCBuaWwgbmlsKQ0K LShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3ZlZCBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLXBzZXVkby1oZWFkZXIgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLWFs dCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstZGVsIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1zZWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1tYXJrLXN5bWJvbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctMSBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctMiBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctMyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWhlYWRpbmctNCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctNSBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctNiBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLWhlYWRpbmctNyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhl YWRpbmctOCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWhsLWxpbmUgbmlsIG5pbCkN Ci0NCi07OzsgQ3VzdG9taXNhdGlvbiBvcHRpb25zDQotDQotOzsgVXNlci1mYWNpbmcgY3VzdG9t aXNhdGlvbiBvcHRpb25zLiAgVGhleSBhcmUgYWxsIGRlYWN0aXZhdGVkIGJ5DQotOzsgZGVmYXVs dCAodXNlcnMgbXVzdCBvcHQgaW4pLg0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUt c2xhbnRlZC1jb25zdHJ1Y3RzIG5pbA0KLSAgIlVzZSBzbGFudGVkIHRleHQgaW4gbW9yZSBjb2Rl IGNvbnN0cnVjdHMgKGl0YWxpY3Mgb3Igb2JsaXF1ZSkuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQot DQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgbmlsDQot ICAiVXNlIGJvbGQgdGV4dCBpbiBtb3JlIGNvZGUgY29uc3RydWN0cy4iDQotICA6dHlwZSAnYm9v bGVhbikNCi0NCi0oZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzICdtb2R1cy1vcGVyYW5k aS10aGVtZS1wcm9wb3J0aW9uYWwtZm9udHMNCi0gICdtb2R1cy1vcGVyYW5kaS10aGVtZS12YXJp YWJsZS1waXRjaC1oZWFkaW5ncyAiYG1vZHVzLW9wZXJhbmRpLXRoZW1lJyAwLjExLjAiKQ0KLQ0K LShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvcG9ydGlvbmFsLWZvbnRzIG5pbA0K LSAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMgKHZhcmlhYmxlLXBpdGNoKSBpbiBoZWFkaW5ncy4i DQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMg KHZhcmlhYmxlLXBpdGNoKSBpbiBoZWFkaW5ncy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzIG5pbA0KLSAgIkRp c2FibGUgaW5oZXJpdGFuY2UgZnJvbSBgZml4ZWQtcGl0Y2gnIGluIHNvbWUgZmFjZXMuDQotDQot VGhpcyBpcyBkb25lIGJ5IGRlZmF1bHQgdG8gYWxsb3cgc3BhY2luZy1zZW5zaXRpdmUgY29uc3Ry dWN0cywNCi1zdWNoIGFzIE9yZyB0YWJsZXMgYW5kIGNvZGUgYmxvY2tzLCB0byByZW1haW4gbW9u b3NwYWNlZCB3aGVuDQotdXNlcnMgb3B0IGZvciBzb21ldGhpbmcgbGlrZSB0aGUgY29tbWFuZCBg dmFyaWFibGUtcGl0Y2gtbW9kZScuDQotVGhlIGRvd25zaWRlIHdpdGggdGhlIGRlZmF1bHQgaXMg dGhhdCB1c2VycyBuZWVkIHRvIGV4cGxpY2l0bHkNCi1jb25maWd1cmUgdGhlIGZvbnQgZmFtaWx5 IG9mIGBmaXhlZC1waXRjaCcgaW4gb3JkZXIgdG8gZ2V0IGENCi1jb25zaXN0ZW50IGV4cGVyaWVu Y2UuICBUaGF0IG1heSBiZSBzb21ldGhpbmcgdGhleSBkbyBub3Qgd2FudCB0bw0KLWRvLiAgSGVu Y2UgdGhpcyBvcHRpb24gdG8gZGlzYWJsZSBhbnkga2luZCBvZiB0ZWNobmlxdWUgZm9yDQotbWl4 aW5nIGZvbnRzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1 cy1vcGVyYW5kaS10aGVtZS1yYWluYm93LWhlYWRpbmdzDQotICAgICAgICAgICAgICAgJ21vZHVz LW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5k aS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXJh aW5ib3ctaGVhZGluZ3MgbmlsDQotICAiVXNlIG1vcmUgc2F0dXJhdGVkIGNvbG91cnMgZm9yIGhl YWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy1v cGVyYW5kaS10aGVtZS1zZWN0aW9uLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgJ21vZHVzLW9w ZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10 aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNlY3Rp b24taGVhZGluZ3MgbmlsDQotICAiVXNlIGEgYmFja2dyb3VuZCBhbmQgYW4gb3ZlcmxpbmUgaW4g aGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVy YW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgJygodCAuIG5pbCkpDQotICAiQWxpc3Qgb2Ygc3R5bGVz IGZvciBoZWFkaW5ncywgd2l0aCBvcHRpb25hbCB2YWx1ZSBwZXIgbGV2ZWwuDQotDQotVG8gY29u dHJvbCBmYWNlcyBwZXIgbGV2ZWwgZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOg0K LQ0KLSAgKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MNCi0gICAgICAgICcoKDEg LiBoaWdobGlnaHQpDQotICAgICAgICAgICgyIC4gbGluZSkNCi0gICAgICAgICAgKHQgLiByYWlu Ym93LWxpbmUtbm8tYm9sZCkpKQ0KLQ0KLVRvIHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBo ZWFkaW5nIGxldmVscywgdXNlIHRoaXMgcGF0dGVybjoNCi0NCi0gIChzZXRxIG1vZHVzLW9wZXJh bmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAnKCh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQp KSkNCi0NCi1UaGUgZGVmYXVsdCB1c2VzIGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQg dmFsdWUgaW4NCi1jb21iaW5hdGlvbiB3aXRoIGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBU byBzcGVjaWZ5IHRoaXMNCi1zdHlsZSBmb3IgYSBnaXZlbiBsZXZlbCBOIChhc3N1bWluZyB5b3Ug d2lzaCB0byBoYXZlIGFub3RoZXINCi1mYWxsYmFjayBvcHRpb24pLCBqdXN0IHNwZWNpZnkgdGhl IHZhbHVlIHQgbGlrZSB0aGlzOg0KLQ0KLSAgKHNldHEgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVh ZGluZ3MNCi0gICAgICAgICcoKDEgLiB0KQ0KLSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAg ICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCi0NCi1BIGRlc2NyaXB0aW9uIG9mIGFs bCBwb3NzaWJsZSB2YWx1ZXM6DQotDQotKyBgbm8tYm9sZCcgcmV0YWlucyB0aGUgZGVmYXVsdCB0 ZXh0IGNvbG91ciB3aGlsZSByZW1vdmluZw0KLSAgdGhlIHR5cG9ncmFwaGljIHdlaWdodC4NCi0N Ci0rIGBsaW5lJyBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdCBwbHVzIGFuIG92ZXJsaW5lIG92 ZXIgdGhlDQotICBoZWFkaW5nLg0KLQ0KLSsgYGxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMg YGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQuDQotDQotKyBgcmFpbmJvdycgdXNlcyBhIG1vcmUg Y29sb3VyZnVsIGZvcmVncm91bmQgaW4gY29tYmluYXRpb24NCi0gIHdpdGggYm9sZCB3ZWlnaHQu DQotDQotKyBgcmFpbmJvdy1saW5lJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBv dmVybGluZS4NCi0NCi0rIGByYWluYm93LWxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJh aW5ib3ctbGluZScgd2l0aG91dA0KLSAgdGhlIGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYGhpZ2hsaWdo dCcgcmV0YWlucyB0aGUgZGVmYXVsdCBzdHlsZSBvZiBhIGZhaXJseSBkZXNhdHVyYXRlZA0KLSAg Zm9yZWdyb3VuZCBjb21iaW5lZCB3aXRoIGEgYm9sZCB3ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1 YnRsZQ0KLSAgYWNjZW50ZWQgYmFja2dyb3VuZC4NCi0NCi0rIGBoaWdobGlnaHQtbm8tYm9sZCcg aXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdodC4NCi0N Ci0rIGByYWluYm93LWhpZ2hsaWdodCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdp dGggYSBtb3JlDQotICBjb2xvdXJmdWwgZm9yZWdyb3VuZC4NCi0NCi0rIGByYWluYm93LWhpZ2hs aWdodC1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdy1oaWdobGlnaHQnDQotICB3aXRo b3V0IGEgYm9sZCB3ZWlnaHQuDQotDQotKyBgc2VjdGlvbicgcmV0YWlucyB0aGUgZGVmYXVsdCBs b29rcyBhbmQgYWRkcyB0byB0aGVtIGJvdGggYW4NCi0gIG92ZXJsaW5lIGFuZCBhIHNsaWdodGx5 IGFjY2VudGVkIGJhY2tncm91bmQuICBJdCBpcywgaW4gZWZmZWN0LA0KLSAgYSBjb21iaW5hdGlv biBvZiB0aGUgYGxpbmUnIGFuZCBgaGlnaGxpZ2h0JyB2YWx1ZXMuDQotDQotKyBgc2VjdGlvbi1u by1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgc2VjdGlvbicgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdo dC4NCi0NCi0rIGByYWluYm93LXNlY3Rpb24nIGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9uJyBidXQg d2l0aCBhIG1vcmUNCi0gIGNvbG91cmZ1bCBmb3JlZ3JvdW5kLg0KLQ0KLSsgYHJhaW5ib3ctc2Vj dGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdy1zZWN0aW9uJw0KLSAgd2l0aG91 dCBhIGJvbGQgd2VpZ2h0LiINCi0gIDp0eXBlDQotICAnKGFsaXN0DQotICAgIDprZXktdHlwZSBz eW1ib2wNCi0gICAgOnZhbHVlLXR5cGUNCi0gICAgKGNob2ljZSAoY29uc3QgOnRhZyAiRmFpcmx5 IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgd2l0aCBib2xkIHdlaWdodCAoZGVmYXVsdCkiIHQpDQot ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgd2l0aG91dCBib2xkIHdl aWdodCIgbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVs dCBwbHVzIG92ZXJsaW5lIiBsaW5lKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBs aW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBsaW5lLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNv bnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgYnV0IHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdy b3VuZCIgcmFpbmJvdykNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycg cGx1cyBvdmVybGluZSIgcmFpbmJvdy1saW5lKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJM aWtlIGByYWluYm93JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LW5vLWJvbGQpDQotICAg ICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctbGluZScgd2l0aG91dCBib2xkIHdl aWdodCIgcmFpbmJvdy1saW5lLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgdGhlIGRlZmF1bHQgcGx1cyBzdWJ0bGUgYmFja2dyb3VuZCIgaGlnaGxpZ2h0KQ0KLSAgICAg ICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWlnaHQi IGhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdo bGlnaHQnIHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQp DQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRo b3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LWhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAgICAgICAg IChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQot ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWln aHQiIHNlY3Rpb24tbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2Vj dGlvbicgd2l0aCBtb3JlIGNvbG91cmZ1bCBmb3JlZ3JvdW5kIiByYWluYm93LXNlY3Rpb24pDQot ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctc2VjdGlvbicgd2l0aG91dCBi b2xkIHdlaWdodCIgcmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQpKSkpDQotDQotKGRlZmN1c3RvbSBt b2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS1oZWFkaW5ncyBuaWwNCi0gICJVc2UgZm9udCBzY2Fs aW5nIGZvciBoZWFkaW5ncy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEgMS4wNQ0KLSAgIkZvbnQgc2l6ZSB0aGF0IGlzIHNs aWdodGx5IGxhcmdlciB0aGFuIHRoZSBiYXNlIHZhbHVlLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxv YXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJh c2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWlu dGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2Yg MTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4N Ci0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQot YHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24u Ig0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXNjYWxlLTIgMS4xDQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy1v cGVyYW5kaS10aGVtZS1zY2FsZS0xJy4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50 IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6 ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRl cnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRo ZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9yIG1v cmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1h dHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0eXBl ICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zIDEu MTUNCi0gICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXNjYWxlLTInLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBp bnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZl ciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMg YW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMg c2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUg bWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScs IHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikN Ci0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQgMS4yDQotICAiRm9u dCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0z Jy4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQg YXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJp YWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRl IGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhl IGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVh ZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2Fs bHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1 c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS01IDEuMw0KLSAgIkZvbnQgc2l6ZSBzbGln aHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCcuDQotVGhlIGRl ZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlw bGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBh Y2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUu Zy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0 IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3Vt ZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhl aWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVtYmVyKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdt b2R1cy1vcGVyYW5kaS10aGVtZS12aXNpYmxlLWZyaW5nZXMNCi0gICAgICAgICAgICAgICAnbW9k dXMtb3BlcmFuZGktdGhlbWUtZnJpbmdlcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtb3BlcmFu ZGktdGhlbWUnIDAuMTIuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS12 aXNpYmxlLWZyaW5nZXMgbmlsDQotICAiVXNlIGEgdmlzaWJsZSBzdHlsZSBmb3IgZnJpbmdlcy4i DQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1l LWZyaW5nZXMgbmlsDQotICAiRGVmaW5lIHRoZSB2aXNpYmlsaXR5IG9mIGZyaW5nZXMuDQotDQot TmlsIG1lYW5zIHRoZSBmcmluZ2VzIGhhdmUgbm8gYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24g YHN1YnRsZScNCi13aWxsIGFwcGx5IGEgZ3JleXNjYWxlIHZhbHVlIHRoYXQgaXMgdmlzaWJsZSB5 ZXQgY2xvc2UgdG8gdGhlDQotbWFpbiBidWZmZXIgYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24g YGludGVuc2UnIHdpbGwgdXNlIGEgbW9yZQ0KLXByb25vdW5jZWQgZ3JleXNjYWxlIHZhbHVlLiIN Ci0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyB2aXNpYmxlIGZy aW5nZXMgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3Jl eXNjYWxlIGJhY2tncm91bmQiIHN1YnRsZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVu c2UgZ3JleXNjYWxlIGJhY2tncm91bmQiIGludGVuc2UpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAn bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlzdGluY3Qtb3JnLWJsb2Nrcw0KLSAgICAgICAgICAgICAg ICdtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICAgICAgICAgICAgImBtb2R1 cy1vcGVyYW5kaS10aGVtZScgMC4xMS4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRp LXRoZW1lLWRpc3RpbmN0LW9yZy1ibG9ja3MgbmlsDQotICAiVXNlIGEgZGlzdGluY3QgbmV1dHJh bCBiYWNrZ3JvdW5kIGZvciBgb3JnLW1vZGUnIGJsb2Nrcy4iDQotICA6dHlwZSAnYm9vbGVhbikN Ci0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtcmFpbmJvdy1vcmctc3Jj LWJsb2Nrcw0KLSAgICAgICAgICAgICAgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tz DQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMS4wIikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3Mgbmls DQotICAiVXNlIGNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kcyBmb3IgYG9yZy1tb2RlJyBzb3VyY2Ug YmxvY2tzLg0KLVRoZSBjb2xvdXIgaW4gdXNlIGRlcGVuZHMgb24gdGhlIGxhbmd1YWdlIChzZW5k IGZlZWRiYWNrIHRvDQotaW5jbHVkZSBtb3JlIGxhbmd1YWdlcykuIg0KLSAgOnR5cGUgJ2Jvb2xl YW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzIG5pbA0K LSAgIlVzZSBhIHN1YnRsZSBncmV5IG9yIGNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kIGZvciBPcmcg YmxvY2tzLg0KLQ0KLU5pbCBtZWFucyB0aGF0IHRoZSBibG9jayB3aWxsIGhhdmUgbm8gYmFja2dy b3VuZCBvZiBpdHMgb3duIGFuZA0KLXdpbGwgdXNlIHRoZSBkZWZhdWx0IHRoYXQgYXBwbGllcyB0 byB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLg0KLQ0KLU9wdGlvbiBgZ3JleXNjYWxlJyB3aWxsIGFw cGx5IGEgc3VidGxlIG5ldXRyYWwgZ3JleSBiYWNrZ3JvdW5kIHRvDQotdGhlIGJsb2NrJ3MgY29u dGVudHMuICBJdCBhbHNvIGFmZmVjdHMgdGhlIGJlZ2luIGFuZCBlbmQgbGluZXMgb2YNCi10aGUg YmxvY2s6IHRoZWlyIGJhY2tncm91bmQgd2lsbCBiZSBleHRlbmRlZCB0byB0aGUgZWRnZSBvZiB0 aGUNCi13aW5kb3cgZm9yIEVtYWNzIHZlcnNpb24gPj0gMjcgd2hlcmUgdGhlICc6ZXh0ZW5kJyBr ZXl3b3JkIGlzDQotcmVjb2duaXNlZCBieSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCi0NCi1PcHRp b24gYHJhaW5ib3cnIHdpbGwgdXNlIGFuIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBjb250 ZW50cw0KLW9mIHRoZSBibG9jay4gIFRoZSBleGFjdCBjb2xvdXIgd2lsbCBkZXBlbmQgb24gdGhl IHByb2dyYW1taW5nDQotbGFuZ3VhZ2UgYW5kIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGBvcmctc3Jj LWJsb2NrLWZhY2VzJw0KLXZhcmlhYmxlIChyZWZlciB0byB0aGUgdGhlbWUncyBzb3VyY2UgY29k ZSBmb3IgdGhlIGN1cnJlbnQNCi1hc3NvY2lhdGlvbiBsaXN0KS4iDQotICA6dHlwZSAnKGNob2lj ZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gT3JnIGJsb2NrIGJhY2tncm91bmQgKGRlZmF1 bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JleSBibG9jayBiYWNr Z3JvdW5kIiBncmV5c2NhbGUpDQotICAgICAgICAgIChjb25zdCA6dGFnICJDb2xvdXItY29kZWQg YmFja2dyb3VuZCBwZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UiIHJhaW5ib3cpKSkNCi0NCi0obWFr ZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtM2QtbW9kZWxpbmUNCi0gICAgICAgICAg ICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5lDQotICAgICAgICAgICAgICAgImBt b2R1cy1vcGVyYW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJh bmRpLXRoZW1lLTNkLW1vZGVsaW5lIG5pbA0KLSAgIlVzZSBhIHRocmVlLWRpbWVuc2lvbmFsIHN0 eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGluZS4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZSBuaWwNCi0gICJBZGp1c3Qg dGhlIG92ZXJhbGwgc3R5bGUgb2YgdGhlIG1vZGUgbGluZS4NCi0NCi1OaWwgaXMgYSB0d28tZGlt ZW5zaW9uYWwgcmVjdGFuZ2xlIHdpdGggYSBib3JkZXIgYXJvdW5kIGl0LiAgVGhlDQotYWN0aXZl IGFuZCB0aGUgaW5hY3RpdmUgbW9kZWxpbmVzIHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mDQotZ3Jl eXNjYWxlIHZhbHVlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQuDQotDQotQSBg M2QnIHZhbHVlIHdpbGwgYXBwbHkgYSB0aHJlZS1kaW1lbnNpb25hbCBlZmZlY3QgdG8gdGhlIGFj dGl2ZQ0KLW1vZGVsaW5lLiAgVGhlIGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gdHdvLWRpbWVu c2lvbmFsIGFuZCBhcmUNCi10b25lZCBkb3duIGEgYml0LCByZWxhdGl2ZSB0byB0aGUgbmlsIHZh bHVlLg0KLQ0KLVRoZSBgbW9vZHknIG9wdGlvbiBpcyBtZWFudCB0byBvcHRpbWlzZSB0aGUgbW9k ZWxpbmUgZm9yIHVzZSB3aXRoDQotdGhlIGxpYnJhcnkgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMg cHJhY3RpY2FsbHkgbWVhbnMgdG8gcmVtb3ZlDQotdGhlIGJveCBlZmZlY3QgYW5kIHJlbHkgb24g dW5kZXJsaW5lIGFuZCBvdmVybGluZSBwcm9wZXJ0aWVzDQotaW5zdGVhZC4gIEl0IGFsc28gdG9u ZXMgZG93biB0aGUgaW5hY3RpdmUgbW9kZWxpbmVzLiAgRGVzcGl0ZSBpdHMNCi1pbnRlbmRlZCBw dXJwb3NlLCB0aGlzIG9wdGlvbiBjYW4gYWxzbyBiZSB1c2VkIHdpdGhvdXQgdGhlDQotYG1vb2R5 JyBsaWJyYXJ5LiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJU d28tZGltZW5zaW9uYWwgYm94IChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRh ZyAiVGhyZWUtZGltZW5zaW9uYWwgc3R5bGUgZm9yIHRoZSBhY3RpdmUgbW9kZSBsaW5lIiAzZCkN Ci0gICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIGJveCBlZmZlY3RzLCB3aGljaCBhcmUgb3B0aW1h bCBmb3IgdXNlIHdpdGggdGhlIGBtb29keScgbGlicmFyeSIgbW9vZHkpKSkNCi0NCi0obWFrZS1v YnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc3VidGxlLWRpZmZzDQotICAgICAgICAgICAg ICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmZzDQotICAgICAgICAgICAgICAgImBtb2R1cy1v cGVyYW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXN1YnRsZS1kaWZmcyBuaWwNCi0gICJVc2UgZmV3ZXIvZGltIGJhY2tncm91bmRzIGluIGBk aWZmLW1vZGUnLCBgZWRpZmYnLGBtYWdpdCcuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRl ZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcyBuaWwNCi0gICJBZGp1c3QgdGhlIG92 ZXJhbGwgc3R5bGVzIG9mIGRpZmZzLg0KLQ0KLU5pbCBtZWFucyB0byB1c2UgZmFpcmx5IGludGVu c2UgY29sb3VyIGNvbWJpbmF0aW9ucyBmb3IgZGlmZnMuDQotRm9yIGV4YW1wbGUsIHlvdSBnZXQg YSByaWNoIGdyZWVuIGJhY2tncm91bmQgd2l0aCBhIGdyZWVuDQotZm9yZWdyb3VuZCBmb3IgYWRk ZWQgbGluZXMuICBXb3JkLXdpc2Ugb3IgJ3JlZmluZWQnIGRpZmZzIGZvbGxvdw0KLXRoZSBzYW1l IHBhdHRlcm4gYnV0IHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mIHRob3NlIGNvbG91cnMgdG8NCi1y ZW1haW4gZGlzdGluY3QuDQotDQotQSBgZGVzYXR1cmF0ZWQnIHZhbHVlIGZvbGxvd3MgdGhlIHNh bWUgcHJpbmNpcGxlcyBhcyB3aXRoIHRoZSBuaWwNCi1vcHRpb24sIHdoaWxlIGl0IHRvbmVzIGRv d24gYWxsIHJlbGV2YW50IGNvbG91cnMuDQotDQotT3B0aW9uIGBmZy1vbmx5JyB3aWxsIHJlbW92 ZSBhbGwgYWNjZW50ZWQgYmFja2dyb3VuZHMsIGV4Y2VwdA0KLWZyb20gd29yZC13aXNlIGNoYW5n ZXMuICBJdCBpbnN0ZWFkIHVzZXMgY29sb3VyLWNvZGVkIGZvcmVncm91bmQNCi12YWx1ZXMgdG8g ZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGFkZGVkL3JlbW92ZWQvY2hhbmdlZCBsaW5lcy4gIElmDQot YSBiYWNrZ3JvdW5kIGlzIG5lY2Vzc2FyeSwgc3VjaCBhcyB3aXRoIGBlZGlmZicsIHRoZW4gYSBz dWJ0bGUNCi1ncmV5c2NhbGUgdmFsdWUgaXMgdXNlZC4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAg ICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZWx5IGNvbG91cmVkIGJhY2tncm91bmRzIChkZWZh dWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiU2xpZ2h0bHkgYWNjZW50ZWQgYmFj a2dyb3VuZHMgd2l0aCB0aW50ZWQgdGV4dCIgZGVzYXR1cmF0ZWQpDQotICAgICAgICAgIChjb25z dCA6dGFnICJObyBiYWNrZ3JvdW5kcywgZXhjZXB0IGZvciByZWZpbmVkIGRpZmZzIiBmZy1vbmx5 KSkpDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2Utc3Rh bmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUt Y29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAiYG1vZHVzLW9wZXJhbmRpLXRoZW1lJyAwLjEy LjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1zdGFuZGFy ZC1jb21wbGV0aW9ucyBuaWwNCi0gICJVc2UgcHJvbWluZW50IGJhY2tncm91bmRzIGZvciBJY29t cGxldGUsIElkbywgb3Igc2ltaWxhci4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3Vz dG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zIG5pbA0KLSAgIkFwcGx5IHNwZWNp YWwgc3R5bGVzIHRvIHRoZSBVSSBvZiBjb21wbGV0aW9uIGZyYW1ld29ya3MuDQotDQotVGhpcyBj b25jZXJucyBJY29tcGxldGUsIEl2eSwgSGVsbSwgU2VsZWN0cnVtLCBJZG8sIGFzIHdlbGwgYXMN Ci1hbnkgb3RoZXIgdG9vbCBtZWFudCB0byBlbmhhbmNlIHRoZWlyIGV4cGVyaWVuY2UuICBUaGUg ZWZmZWN0DQotd2lsbCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgY29tcGxldGlvbiBmcmFtZXdvcmsu DQotDQotTmlsIG1lYW5zIHRvIHJlbWFpbiBmYWl0aGZ1bCB0byB0aGUgbWV0YXBob3JzIHRoYXQg ZWFjaCBVSQ0KLWVzdGFibGlzaGVzLiAgRm9yIGV4YW1wbGUsIEljb21wbGV0ZSBhbmQgSWRvIG9u bHkgdXNlIGZvcmVncm91bmQNCi1jb2xvdXJzIHRvIHN0eWxlIHRoZWlyIG1hdGNoZXMsIHdoZXJl YXMgSXZ5IG9yIEhlbG0gcmVseSBvbiBhbg0KLWFlc3RoZXRpYyB0aGF0IGNvbWJpbmVzIGNvbG91 cmVkIGJhY2tncm91bmRzIHdpdGggYXBwcm9wcmlhdGUNCi10ZXh0IGNvbG91ci4NCi0NCi1PcHRp b24gYG1vZGVyYXRlJyB3aWxsIGFwcGx5IGEgY29tYmluYXRpb24gb2YgYmFja2dyb3VuZCBhbmQN Ci1mb3JlZ3JvdW5kIHRoYXQgaXMgZmFpcmx5IHN1YnRsZS4gIEZvciBJY29tcGxldGUgYW5kIHRo ZSBsaWtlLA0KLXRoaXMgY29uc3RpdHV0ZXMgYSBkZXBhcnR1cmUgZnJvbSB0aGVpciBzdGFuZGFy ZCBzdHlsZS4gIFdoaWxlDQotSXZ5LCBIZWxtLCBhbmQgdGhlIG90aGVycywgd2lsbCB1c2UgbGVz cyBwcm9ub3VuY2VkIGNvbG91cnMgZm9yDQotYXBwbGljYWJsZSBjb250ZXh0cy4NCi0NCi1PcHRp b24gYG9waW5pb25hdGVkJyB3aWxsIGFwcGx5IGNvbG91ciBjb21iaW5hdGlvbnMgdGhhdA0KLXJl ZmFzaGlvbiB0aGUgY29tcGxldGlvbiBVSS4gIFNvIEljb21wbGV0ZSBldCBhbCB3aWxsIG5vdyB1 c2UNCi1zdHlsZXMgdGhhdCByZXNlbWJsZSB0aGUgZGVmYXVsdHMgb2YgSXZ5IGFuZCBjby4sIHdo aWxlIHRoZQ0KLWxhdHRlciBncm91cCB3aWxsIHJldmVydCB0byBhbiBldmVuIG1vcmUgbnVhbmNl ZCBhZXN0aGV0aWMuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcg IlJlc3BlY3QgdGhlIGZyYW1ld29yaydzIGVzdGFibGlzaGVkIGFlc3RoZXRpYyAoZGVmYXVsdCki IG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBiYWNrZ3JvdW5kcyBmb3IgdmFy aW91cyBlbGVtZW50cyIgbW9kZXJhdGUpDQotICAgICAgICAgIChjb25zdCA6dGFnICJSYWRpY2Fs IGFsdGVybmF0aXZlIHRvIHRoZSBmcmFtZXdvcmsncyBsb29rcyIgb3BpbmlvbmF0ZWQpKSkNCi0N Ci0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdHMgbmlsDQotICAiVXNlIHN1 YnRsZSBvciBpbnRlbnNlIHN0eWxlcyBmb3IgbWluaWJ1ZmZlciBhbmQgUkVQTCBwcm9tcHRzLg0K LQ0KLU5pbCBtZWFucyB0byBvbmx5IHVzZSBhbiBhY2NlbnRlZCBmb3JlZ3JvdW5kIGNvbG91ci4N Ci0NCi1PcHRpb25zIGBzdWJ0bGUnIGFuZCBgaW50ZW5zZScgd2lsbCBjaGFuZ2UgYm90aCB0aGUg YmFja2dyb3VuZA0KLWFuZCB0aGUgZm9yZWdyb3VuZCB2YWx1ZXMuICBUaGUgbGF0dGVyIGhhcyBh IG1vcmUgcHJvbm91bmNlZA0KLWVmZmVjdCB0aGFuIHRoZSBmb3JtZXIuIg0KLSAgOnR5cGUgJyhj aG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIHByb21wdCBiYWNrZ3JvdW5kIChkZWZh dWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGFjY2VudGVkIGJhY2tn cm91bmQgZm9yIHRoZSBwcm9tcHQiIHN1YnRsZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIklu dGVuc2UgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBmb3IgdGhlIHByb21wdCIgaW50ZW5zZSkp KQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lIG5p bA0KLSAgIlVzZSBtb3JlIHByb21pbmVudCBiYWNrZ3JvdW5kIGZvciBjb21tYW5kIGBobC1saW5l LW1vZGUnLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFu ZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRjaCBuaWwNCi0gICJVc2UgbW9yZSBwcm9taW5lbnQg Y29sb3VyIGZvciBwYXJlbnRoZXNpcyBtYXRjaGluZy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0N Ci0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZhaW50LXN5bnRheCBuaWwNCi0gICJV c2UgbGVzcyBzYXR1cmF0ZWQgY29sb3VycyBmb3IgY29kZSBzeW50YXggaGlnaGxpZ2h0aW5nLiIN Ci0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUt bm8tbGluay11bmRlcmxpbmUgbmlsDQotICAiRG8gbm90IHVuZGVybGluZSBsaW5rcy4iDQotICA6 dHlwZSAnYm9vbGVhbikNCi0NCi07OzsgSW50ZXJuYWwgZnVuY3Rpb25zDQotDQotOzsgSGVscGVy IGZ1bmN0aW9ucyB0aGF0IGFyZSBtZWFudCB0byBlYXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0 aGUNCi07OyBhYm92ZSBjdXN0b21pc2F0aW9uIG9wdGlvbnMuDQotKGRlZnVuIG1vZHVzLW9wZXJh bmRpLXRoZW1lLWJvbGQtd2VpZ2h0ICgpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGEgaGVhdmll ciB0ZXh0IHdlaWdodC4iDQotICAod2hlbiBtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0 cnVjdHMNCi0gICAgKGxpc3QgOmluaGVyaXQgJ2JvbGQpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3Bl cmFuZGktdGhlbWUtbWl4ZWQtZm9udHMgKCkNCi0gICJDb25kaXRpb25hbCBhcHBsaWNhdGlvbiBv ZiBgZml4ZWQtcGl0Y2gnIGluaGVyaXRhbmNlLiINCi0gICh1bmxlc3MgbW9kdXMtb3BlcmFuZGkt dGhlbWUtbm8tbWl4ZWQtZm9udHMNCi0gICAgKGxpc3QgOmluaGVyaXQgJ2ZpeGVkLXBpdGNoKSkp DQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZSAoc3VidGxlYmcgaW50ZW5z ZWJnKQ0KLSAgIkNvbmRpdGlvbmFsIHVzZSBvZiBiYWNrZ3JvdW5kIGNvbG91cnMgZm9yIGZyaW5n ZXMuDQotU1VCVExFQkcgc2hvdWxkIGJlIGEgc3VidGxlIGdyZXlzY2FsZSB2YWx1ZS4gIElOVEVO U0VCRyBtdXN0IGJlIGENCi1tb3JlIHByb25vdW5jZWQgZ3JleXNjYWxlIGNvbG91ci4iDQotICAo cGNhc2UgbW9kdXMtb3BlcmFuZGktdGhlbWUtZnJpbmdlcw0KLSAgICAoJ2ludGVuc2UgKGxpc3Qg OmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCi0gICAgKCdzdWJ0bGUgKGxpc3QgOmJhY2tncm91bmQg c3VidGxlYmcpKQ0KLSAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBuaWwpKSkpDQotDQotKGRlZnVu IG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdCAobWFpbmZnIHN1YnRsZWJnIHN1YnRsZWZnIGlu dGVuc2ViZyBpbnRlbnNlZmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQgY29s b3VycyBmb3IgcHJvbXB0cy4NCi1NQUlORkcgaXMgdGhlIHByb21wdCdzIHN0YW5kYXJkIGZvcmVn cm91bmQuICBTVUJUTEVCRyBzaG91bGQgYmUgYQ0KLXN1YnRsZSBhY2NlbnRlZCBiYWNrZ3JvdW5k IHRoYXQgd29ya3Mgd2l0aCBTVUJUTEVGRy4gIElOVEVOU0VCRw0KLW11c3QgYmUgYSBtb3JlIHBy b25vdW5jZWQgYWNjZW50ZWQgY29sb3VyIHRoYXQgc2hvdWxkIGJlDQotY29tYmluYWJsZSB3aXRo IElOVEVOU0VGRy4iDQotICAocGNhc2UgbW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0cw0KLSAg ICAoJ2ludGVuc2UgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVu c2VmZykpDQotICAgICgnc3VidGxlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3Jv dW5kIHN1YnRsZWZnKSkNCi0gICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsIDpmb3JlZ3JvdW5k IG1haW5mZykpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtcGFyZW4gKG5vcm1h bGJnIGludGVuc2ViZykNCi0gICJDb25kaXRpb25hbCB1c2Ugb2YgaW50ZW5zZSBjb2xvdXJzIGZv ciBtYXRjaGluZyBwYXJlbnRoZXNlcy4NCi1OT1JNQUxCRyBzaG91bGQgdGhlIHNwZWNpYWwgcGFs ZXR0ZSBjb2xvdXIgJ2JnLXBhcmVuLW1hdGNoJyBvcg0KLXNvbWV0aGluZyBzaW1pbGFyLiAgSU5U RU5TRUJHIG11c3QgYmUgZWFzaWVyIHRvIGRpc2Nlcm4gbmV4dCB0bw0KLW90aGVyIGJhY2tncm91 bmRzLCBzdWNoIGFzIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3VyDQotJ2JnLXBhcmVuLW1hdGNo LWludGVuc2UnLiINCi0gIChpZiBtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1h dGNoDQotICAgICAgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnKQ0KLSAgICAobGlzdCA6YmFj a2dyb3VuZCBub3JtYWxiZykpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZCAobm9ybWFsIGZhaW50KQ0KLSAgIkFwcGx5IGZvcmVncm91bmQgdmFsdWUg dG8gY29kZSBzeW50YXguDQotTk9STUFMIGlzIHRoZSBtb3JlIHNhdHVyYXRlZCBjb2xvdXIsIHdo aWNoIHNob3VsZCBiZSB0aGUgZGVmYXVsdC4NCi1GQUlOVCBpcyB0aGUgbGVzcyBzYXR1cmF0ZWQg Y29sb3VyLiINCi0gIChpZiBtb2R1cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50YXgNCi0gICAg ICAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkNCi0gICAgKGxpc3QgOmZvcmVncm91bmQgbm9ybWFs KSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmctcCAoa2V5KQ0KLSAg IlF1ZXJ5IHN0eWxlIG9mIEtFWSBpbiBgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MnLiIN Ci0gIChjZHIgKGFzc29jIGtleSBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncykpKQ0KLQ0K LShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nIChsZXZlbCBmZyBmZy1hbHQgYmcg Ym9yZGVyKQ0KLSAgIkNvbmRpdGlvbmFsIHN0eWxlcyBmb3IgYG1vZHVzLW9wZXJhbmRpLXRoZW1l LWhlYWRpbmdzJy4NCi0NCi1MRVZFTCBpcyB0aGUgaGVhZGluZydzIHBvc2l0aW9uIGluIHRoZWly IG9yZGVyLiAgRkcgaXMgdGhlDQotZGVmYXVsdCB0ZXh0IGNvbG91ci4gIEZHLUFMVCBpcyBhbiBh Y2NlbnRlZCwgbW9yZSBzYXR1cmF0ZWQgdmFsdWUNCi10aGFuIHRoZSBkZWZhdWx0LiAgQkcgaXMg YSBudWFuY2VkLCB0eXBpY2FsbHkgYWNjZW50ZWQsDQotYmFja2dyb3VuZCB0aGF0IGNhbiB3b3Jr IHdlbGwgd2l0aCBlaXRoZXIgb2YgdGhlIGZvcmVncm91bmQNCi12YWx1ZXMuICBCT1JERVIgaXMg YSBjb2xvdXIgdmFsdWUgdGhhdCBjb21iaW5lcyB3ZWxsIHdpdGggdGhlDQotYmFja2dyb3VuZCBh bmQgYWx0ZXJuYXRpdmUgZm9yZWdyb3VuZC4iDQotICAobGV0KiAoKGtleSAobW9kdXMtb3BlcmFu ZGktdGhlbWUtaGVhZGluZy1wIGAsbGV2ZWwpKQ0KLSAgICAgICAgIChzdHlsZSAob3Iga2V5ICht b2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nLXAgdCkpKQ0KLSAgICAgICAgICh2YXIgKGlmIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzDQotICAgICAgICAgICAg ICAgICAgJ3ZhcmlhYmxlLXBpdGNoDQotICAgICAgICAgICAgICAgICdkZWZhdWx0KSkpDQotICAg IChwY2FzZSBzdHlsZQ0KLSAgICAgICgnbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBg LHZhciA6Zm9yZWdyb3VuZCBmZykpDQotICAgICAgKCdsaW5lDQotICAgICAgIChsaXN0IDppbmhl cml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAg ICAoJ2xpbmUtbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3Vu ZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAgICAoJ3JhaW5ib3cNCi0gICAgICAgKGxpc3Qg OmluaGVyaXQgYChib2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdyYWlu Ym93LW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmct YWx0KSkNCi0gICAgICAoJ3JhaW5ib3ctbGluZQ0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJv bGQgLHZhcikgOmZvcmVncm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgn cmFpbmJvdy1saW5lLW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVn cm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgnaGlnaGxpZ2h0DQotICAg ICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3Vu ZCBmZykpDQotICAgICAgKCdoaWdobGlnaHQtbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJp dCBgLHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZykpDQotICAgICAgKCdyYWluYm93 LWhpZ2hsaWdodA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91 bmQgYmcgOmZvcmVncm91bmQgZmctYWx0KSkNCi0gICAgICAoJ3JhaW5ib3ctaGlnaGxpZ2h0LW5v LWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVn cm91bmQgZmctYWx0KSkNCi0gICAgICAoJ3NlY3Rpb24NCi0gICAgICAgKGFwcGVuZA0KLSAgICAg ICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAg ICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5k IGZnIDpvdmVybGluZSBib3JkZXIpKSkNCi0gICAgICAoJ3NlY3Rpb24tbm8tYm9sZA0KLSAgICAg ICAoYXBwZW5kDQotICAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpl eHRlbmQgdCkpDQotICAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBiZyA6 Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkpDQotICAgICAgKCdyYWluYm93LXNlY3Rp b24NCi0gICAgICAgKGFwcGVuZA0KLSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lv biAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIp IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkpDQot ICAgICAgKCdyYWluYm93LXNlY3Rpb24tbm8tYm9sZA0KLSAgICAgICAoYXBwZW5kDQotICAgICAg ICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAg ICAobGlzdCA6aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQg Om92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgIChfDQotICAgICAgIChsaXN0IDppbmhlcml0IGAo Ym9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZykpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRp LXRoZW1lLW9yZy1ibG9jayAoYmdibGspDQotICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIGJhY2tn cm91bmQgb2YgT3JnIGJsb2Nrcy4NCi1CR0JMSyBhcHBsaWVzIHRvIGEgZGlzdGluY3QgbmV1dHJh bCBiYWNrZ3JvdW5kLiAgRWxzZSBibG9ja3MgaGF2ZQ0KLW5vIGJhY2tncm91bmQgb2YgdGhlaXIg b3duICh0aGUgZGVmYXVsdCksIHNvIHRoZXkgbG9vayB0aGUgc2FtZQ0KLWFzIHRoZSByZXN0IG9m IHRoZSBidWZmZXIuDQotDQotYG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGFsc28g YWNjZXB0cyBhIGByYWluYm93JyBvcHRpb24NCi13aGljaCBpcyBhcHBsaWVkIGNvbmRpdGlvbmFs bHkgdG8gYG9yZy1zcmMtYmxvY2stZmFjZXMnIChzZWUgdGhlDQotdGhlbWUncyBzb3VyY2UgY29k ZSkuIg0KLSAgKGlmIChlcSBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzICdncmV5c2Nh bGUpDQotICAgICAgKGFwcGVuZA0KLSAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9u IDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgIChsaXN0IDpiYWNrZ3JvdW5kIGJnYmxrKSkNCi0g ICAgKGxpc3QgOmJhY2tncm91bmQgbmlsKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW9yZy1ibG9jay1kZWxpbSAoYmdhY2NlbnQgZmdhY2NlbnQgYmcgZmcpDQotICAiQ29uZGl0 aW9uYWxseSBzZXQgdGhlIHN0eWxlcyBvZiBPcmcgYmxvY2sgZGVsaW1pdGVycy4NCi1CRywgRkcs IEJHQUNDRU5ULCBGR0FDQ0VOVCBhcHBseSBhIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQNCi1j b2xvdXIgcmVzcGVjdGl2ZWx5Lg0KLQ0KLVRoZSBmb3JtZXIgcGFpciBpcyBhIGdyZXlzY2FsZSBj b21iaW5hdGlvbiB0aGF0IHNob3VsZCBiZSBtb3JlDQotZGlzdGluY3QgdGhhbiB0aGUgYmFja2dy b3VuZCBvZiB0aGUgYmxvY2suICBJdCBpcyBhcHBsaWVkIHRvIHRoZQ0KLWRlZmF1bHQgc3R5bGVz IG9yIHdoZW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGlzIHNldA0KLXRvIGBn cmV5c2NhbGUnLg0KLQ0KLVRoZSBsYXR0ZXIgcGFpciBzaG91bGQgYmUgbW9yZSBzdWJ0bGUgdGhh biB0aGUgYmFja2dyb3VuZCBvZiB0aGUNCi1ibG9jaywgYXMgaXQgaXMgdXNlZCB3aGVuIGBtb2R1 cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzJyBpcw0KLXNldCB0byBgcmFpbmJvdycuIg0KLSAg KHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9ja3MNCi0gICAgKCdncmV5c2NhbGUg KGFwcGVuZCAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQot ICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQg ZmcpKSkNCi0gICAgKCdyYWluYm93IChsaXN0IDpiYWNrZ3JvdW5kIGJnYWNjZW50IDpmb3JlZ3Jv dW5kIGZnYWNjZW50KSkNCi0gICAgKF8gKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQg ZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0K LSAgICAoZmcgYmcgZmctYWx0IGJnLWFsdCBib3JkZXIgYm9yZGVyLTNkICZvcHRpb25hbCBhbHQt c3R5bGUgYm9yZGVyLXdpZHRoIGZnLWRpc3RhbnQpDQotICAiQ29sb3VyIGNvbWJpbmF0aW9ucyBm b3IgYG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZScuDQotDQotRkcgYW5kIEJHIGFyZSB0 aGUgZGVmYXVsdCBjb2xvdXJzLiAgRkctQUxUIGFuZCBCRy1BTFQgYXJlIG1lYW50DQotdG8gYWNj b21tb2RhdGUgdGhlIG9wdGlvbnMgZm9yIGEgM0QgbW9kZWxpbmUgb3IgYSBgbW9vZHknDQotY29t cGxpYW50IG9uZS4gIEJPUkRFUiBhcHBsaWVzIHRvIGFsbCBwZXJtdXRhdGlvbnMgb2YgdGhlDQot bW9kZWxpbmUsIGV4Y2VwdCB0aGUgdGhyZWUtZGltZW5zaW9uYWwgZWZmZWN0LCB3aGVyZSBCT1JE RVItM0QgaXMNCi11c2VkIGluc3RlYWQuDQotDQotT3B0aW9uYWwgQUxULVNUWUxFIGFwcGxpZXMg YW4gYXBwcm9wcmlhdGUgc3R5bGUgdG8gdGhlIG1vZGUNCi1saW5lJ3MgYm94IHByb3BlcnR5Lg0K LQ0KLU9wdGlvbmFsIEJPUkRFUi1XSURUSCBzcGVjaWZpZXMgYW4gaW50ZWdlciBmb3IgdGhlIHdp ZHRoIG9mIHRoZQ0KLXJlY3RhbmdsZSB0aGF0IHByb2R1Y2VzIHRoZSBib3ggZWZmZWN0Lg0KLQ0K LU9wdGlvbmFsIEZHLURJU1RBTlQgc2hvdWxkIGJlIGNsb3NlIHRvIHRoZSBtYWluIGJhY2tncm91 bmQNCi12YWx1ZXMuICBJdCBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGEgZGlzdGFudC1mb3Jl Z3JvdW5kDQotcHJvcGVydHkuIg0KLSAgKHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUt bGluZQ0KLSAgICAoJzNkDQotICAgICBgKDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LGZnLWFsdA0KLSAgICAgICAgICAgICAgICAgICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRl ci13aWR0aCAxKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y29sb3Ig LGJvcmRlci0zZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGUg LChhbmQgYWx0LXN0eWxlICdyZWxlYXNlZC1idXR0b24pKSkpDQotICAgICgnbW9vZHkNCi0gICAg IGAoOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgLGJv cmRlciA6b3ZlcmxpbmUgLGJvcmRlcg0KLSAgICAgICAgICAgICAgICAgICA6ZGlzdGFudC1mb3Jl Z3JvdW5kICxmZy1kaXN0YW50KSkNCi0gICAgKF8NCi0gICAgIGAoOmZvcmVncm91bmQgLGZnIDpi YWNrZ3JvdW5kICxiZyA6Ym94ICxib3JkZXIpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRp LXRoZW1lLWRpZmYgKGZnLW9ubHktYmcgZmctb25seS1mZyBtYWluYmcgbWFpbmZnIGFsdGJnIGFs dGZnKQ0KLSAgIkNvbG91ciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1k aWZmcycuDQotDQotRkctT05MWS1CRyBzaG91bGQgYmUgc2ltaWxhciBvciB0aGUgc2FtZSBhcyB0 aGUgbWFpbiBiYWNrZ3JvdW5kLg0KLUZHLU9OTFktRkcgc2hvdWxkIGJlIGEgc2F0dXJhdGVkIGFj Y2VudCB2YWx1ZSB0aGF0IGNhbiBiZQ0KLWNvbWJpbmVkIHdpdGggdGhlIGZvcm1lci4NCi0NCi1N QUlOQkcgbXVzdCBiZSBvbmUgb2YgdGhlIGRlZGljYXRlZCBiYWNrZ3JvdW5kcyBmb3IgZGlmZnMg d2hpbGUNCi1NQUlORkcgbXVzdCBiZSB0aGUgc2FtZSBmb3IgdGhlIGZvcmVncm91bmQuDQotDQot QUxUQkcgbmVlZHMgdG8gYmUgYSBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMg bWVhbnQgdG8NCi1iZSBjb21iaW5lZCB3aXRoIEFMVEZHLiAgQm90aCBtdXN0IGJlIGxlc3MgaW50 ZW5zZSB0aGFuIE1BSU5CRw0KLWFuZCBNQUlORkcgcmVzcGVjdGl2ZWx5LiINCi0gIChwY2FzZSBt b2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcw0KLSAgICAoJ2ZnLW9ubHkgKGxpc3QgOmJhY2tncm91 bmQgZmctb25seS1iZyA6Zm9yZWdyb3VuZCBmZy1vbmx5LWZnKSkNCi0gICAgKCdkZXNhdHVyYXRl ZCAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6Zm9yZWdyb3VuZCBhbHRmZykpDQotICAgIChfIChs aXN0IDpiYWNrZ3JvdW5kIG1haW5iZyA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQotDQotKGRlZnVu IG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zIChtYWluZmcgc3VidGxl YmcgaW50ZW5zZWJnIGludGVuc2VmZykNCi0gICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy1vcGVy YW5kaS10aGVtZS1jb21wbGV0aW9ucycuDQotDQotTUFJTkZHIGlzIGFuIGFjY2VudGVkIGZvcmVn cm91bmQgdmFsdWUuICBTVUJUTEVCRyBpcyBhbiBhY2NlbnRlZA0KLWJhY2tncm91bmQgdmFsdWUg dGhhdCBjYW4gYmUgY29tYmluZWQgd2l0aCBNQUlORkcuICBJTlRFTlNFQkcgYW5kDQotSU5URU5T RUZHIGFyZSBhY2NlbnRlZCBjb2xvdXJzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW4N Ci10YW5kZW0uDQotDQotVGhlc2UgYXJlIGludGVuZGVkIGZvciBJY29tcGxldGUsIElkbywgYW5k IHJlbGF0ZWQuIg0KLSAgKHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zDQot ICAgICgnb3BpbmlvbmF0ZWQgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5k IGludGVuc2VmZykpDQotICAgICgnbW9kZXJhdGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcg OmZvcmVncm91bmQgbWFpbmZnKSkNCi0gICAgKF8gKGxpc3QgOmZvcmVncm91bmQgbWFpbmZnKSkp KQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucyAoc3Vi dGxlZmFjZSBpbnRlbnNlZmFjZSBhbHRmYWNlICZvcHRpb25hbCBhbHRmZyBib2xkKQ0KLSAgIkNv bWJpbmF0aW9ucyBmb3IgYG1vZHVzLW9wZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zJy4NCi0NCi1T VUJUTEVGQUNFIGFuZCBJTlRFTlNFRkFDRSBhcmUgY3VzdG9tIHRoZW1lIGZhY2VzIHRoYXQgY29t YmluZSBhDQotYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2YWx1ZS4gIFRoZSBkaWZmZXJlbmNl IGJldHdlZW4gdGhlIHR3bw0KLWlzIGEgbWF0dGVyIG9mIGRlZ3JlZS4NCi0NCi1BTFRGQUNFIGlz IGEgY29tYmluYXRpb24gb2YgY29sb3VycyB0aGF0IHJlcHJlc2VudHMgYSBkZXBhcnR1cmUNCi1m cm9tIHRoZSBVSSdzIGRlZmF1bHQgYWVzdGhldGljcy4gIE9wdGlvbmFsIEFMVEZHIGlzIG1lYW50 IHRvIGJlDQotdXNlZCBpbiB0YW5kZW0gd2l0aCBpdC4NCi0NCi1PcHRpb25hbCBCT0xEIHdpbGwg YXBwbHkgYSBoZWF2aWVyIHdlaWdodCB0byB0aGUgdGV4dC4NCi0NCi1UaGVzZSBhcmUgaW50ZW5k ZWQgZm9yIEhlbG0sIEl2eSwgZXRjLiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1j b21wbGV0aW9ucw0KLSAgICAoJ29waW5pb25hdGVkIChsaXN0IDppbmhlcml0IChsaXN0IGFsdGZh Y2UgYm9sZCkNCi0gICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAob3IgYWx0Zmcg J3Vuc3BlY2lmaWVkKSkpDQotICAgICgnbW9kZXJhdGUgKGxpc3QgOmluaGVyaXQgKGxpc3Qgc3Vi dGxlZmFjZSBib2xkKSkpDQotICAgIChfIChsaXN0IDppbmhlcml0IChsaXN0IGludGVuc2VmYWNl IGJvbGQpKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSAoYW1vdW50 KQ0KLSAgIlNjYWxlIGhlYWRpbmcgYnkgQU1PVU5ULg0KLQ0KLUFNT1VOVCBpcyBhIGN1c3RvbWlz YXRpb24gb3B0aW9uLiINCi0gICh3aGVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRp bmdzDQotICAgIChsaXN0IDpoZWlnaHQgYW1vdW50KSkpDQotDQotOzs7IENvbG91ciBwYWxldHRl DQotDQotOzsgRGVmaW5lIGNvbG91ciBwYWxldHRlLiAgRWFjaCBjb2xvdXIgbXVzdCBoYXZlIGEg Pj0gNzoxIGNvbnRyYXN0DQotOzsgcmF0aW8gcmVsYXRpdmUgdG8gdGhlIGZvcmVncm91bmQvYmFj a2dyb3VuZCBjb2xvdXIgaXQgaXMgcmVuZGVyZWQNCi07OyBhZ2FpbnN0Lg0KLTs7DQotOzsgVGhl IGRlc2lnbiBvZiB0aGUgY29sb3VyIHBhbGV0dGUgYXMgYSBtYWNybyB0aGF0IG1hcHMgaXQgdG8g ZmFjZXMgaXMNCi07OyBhZGFwdGVkIGZyb20gemVuYmVybi10aGVtZS5lbCwgbGFzdCBzZWVuIGF0 IGNvbW1pdCA3ZGQ3OTY4Og0KLTs7IGh0dHBzOi8vZ2l0aHViLmNvbS9iYmF0c292L3plbmJ1cm4t ZW1hY3MNCi0oZXZhbC1hbmQtY29tcGlsZQ0KLSAgKGRlZmNvbnN0IG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWRlZmF1bHQtY29sb3JzLWFsaXN0DQotICAgICcoOzsgYmFzZSB2YWx1ZXMNCi0gICAgICAo ImJnLW1haW4iIC4gIiNmZmZmZmYiKSAoImZnLW1haW4iIC4gIiMwMDAwMDAiKQ0KLSAgICAgICgi YmctYWx0IiAuICIjZjBmMGYwIikgKCJmZy1hbHQiIC4gIiM1MDUwNTAiKQ0KLSAgICAgICgiYmct ZGltIiAuICIjZjhmOGY4IikgKCJmZy1kaW0iIC4gIiMyODI4MjgiKQ0KLSAgICAgIDs7IHNwZWNp ZmljYWxseSBmb3Igb24vb2ZmIHN0YXRlcyAoZS5nLiBgbW9kZS1saW5lJykNCi0gICAgICA7Ow0K LSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCB0aGVtc2VsdmVzDQotICAgICAgKCJiZy1h Y3RpdmUiIC4gIiNkN2Q3ZDciKSAoImZnLWFjdGl2ZSIgLiAiIzBhMGEwYSIpDQotICAgICAgKCJi Zy1pbmFjdGl2ZSIgLiAiI2VmZWZlZiIpICgiZmctaW5hY3RpdmUiIC4gIiM0MDQxNDgiKQ0KLSAg ICAgIDs7IHNwZWNpYWwgYmFzZSB2YWx1ZXMsIHVzZWQgb25seSBmb3IgY2FzZXMgd2hlcmUgdGhl IGFib3ZlDQotICAgICAgOzsgZmctKiBvciBiZy0qIGNhbm5vdCBvciBzaG91bGQgbm90IGJlIHVz ZWQgKHRvIGF2b2lkIGNvbmZ1c2lvbikNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6 IHtmZyxiZ30te21haW4sYWx0LGRpbX0NCi0gICAgICAoImJnLXNwZWNpYWwtY29sZCIgLiAiI2Rk ZTNmNCIpICgiZmctc3BlY2lhbC1jb2xkIiAuICIjMDkzMDYwIikNCi0gICAgICAoImJnLXNwZWNp YWwtbWlsZCIgLiAiI2M0ZWRlMCIpICgiZmctc3BlY2lhbC1taWxkIiAuICIjMTg0MDM0IikNCi0g ICAgICAoImJnLXNwZWNpYWwtd2FybSIgLiAiI2YwZTBkNCIpICgiZmctc3BlY2lhbC13YXJtIiAu ICIjNWQzMDI2IikNCi0gICAgICAoImJnLXNwZWNpYWwtY2FsbSIgLiAiI2Y4ZGRlYSIpICgiZmct c3BlY2lhbC1jYWxtIiAuICIjNjEyODRmIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIHRoZSBtYWlu IGNvbnN0cnVjdHMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDog YGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZCIgLiAiI2E2MDAwMCIp ICgiZ3JlZW4iIC4gIiMwMDVlMDAiKQ0KLSAgICAgICgieWVsbG93IiAuICIjODEzZTAwIikgKCJi bHVlIiAuICIjMDAzMWE5IikNCi0gICAgICAoIm1hZ2VudGEiIC4gIiM3MjEwNDUiKSAoImN5YW4i IC4gIiMwMDUzOGIiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgY29tbW9uLCBidXQgc3RpbGwgc3Bl Y2lhbGlzZWQgY29uc3RydWN0cw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5l ZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQnLCBgYmctZGltJw0KLSAgICAgICgicmVkLWFsdCIg LiAiIzk3MjUwMCIpICgiZ3JlZW4tYWx0IiAuICIjMzE1YjAwIikNCi0gICAgICAoInllbGxvdy1h bHQiIC4gIiM3MDQ4MGYiKSAoImJsdWUtYWx0IiAuICIjMjU0NGJiIikNCi0gICAgICAoIm1hZ2Vu dGEtYWx0IiAuICIjOGYwMDc1IikgKCJjeWFuLWFsdCIgLiAiIzMwNTE3ZiIpDQotICAgICAgOzsg c2FtZSBwdXJwb3NlIGFzIGFib3ZlLCBqdXN0IHNsaWdodCBkaWZmZXJlbmNlcw0KLSAgICAgIDs7 DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQnLCBg YmctZGltJw0KLSAgICAgICgicmVkLWFsdC1vdGhlciIgLiAiI2EwMTMyZiIpICgiZ3JlZW4tYWx0 LW90aGVyIiAuICIjMTQ1YzMzIikNCi0gICAgICAoInllbGxvdy1hbHQtb3RoZXIiIC4gIiM4NjM5 MjciKSAoImJsdWUtYWx0LW90aGVyIiAuICIjMDAwMGMwIikNCi0gICAgICAoIm1hZ2VudGEtYWx0 LW90aGVyIiAuICIjNTMxN2FjIikgKCJjeWFuLWFsdC1vdGhlciIgLiAiIzAwNWE1ZiIpDQotICAg ICAgOzsgc3R5bGVzIGZvciBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHRleHQsIGludGVuZGVkIGZv ciB1c2Ugd2l0aA0KLSAgICAgIDs7IHRoZSBgbW9kdXMtb3BlcmFuZGktdGhlbWUtZmFpbnQtc3lu dGF4JyBvcHRpb24NCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDog YGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZC1mYWludCIgLiAiIzdm MTAxMCIpICgiZ3JlZW4tZmFpbnQiIC4gIiMxMDQ0MTAiKQ0KLSAgICAgICgieWVsbG93LWZhaW50 IiAuICIjNWY0NDAwIikgKCJibHVlLWZhaW50IiAuICIjMDAyZjg4IikNCi0gICAgICAoIm1hZ2Vu dGEtZmFpbnQiIC4gIiM3NTJmNTAiKSAoImN5YW4tZmFpbnQiIC4gIiMxMjUwNmYiKQ0KLQ0KLSAg ICAgICgicmVkLWFsdC1mYWludCIgLiAiIzcwMmYwMCIpICgiZ3JlZW4tYWx0LWZhaW50IiAuICIj MzA0NDBmIikNCi0gICAgICAoInllbGxvdy1hbHQtZmFpbnQiIC4gIiM1ZDUwMDAiKSAoImJsdWUt YWx0LWZhaW50IiAuICIjMDAzZjc4IikNCi0gICAgICAoIm1hZ2VudGEtYWx0LWZhaW50IiAuICIj NzAyNTY1IikgKCJjeWFuLWFsdC1mYWludCIgLiAiIzM1NGY2ZiIpDQotDQotICAgICAgKCJyZWQt YWx0LW90aGVyLWZhaW50IiAuICIjN2YwMDJmIikgKCJncmVlbi1hbHQtb3RoZXItZmFpbnQiIC4g IiMwZjQ0M2YiKQ0KLSAgICAgICgieWVsbG93LWFsdC1vdGhlci1mYWludCIgLiAiIzVlM2EyMCIp ICgiYmx1ZS1hbHQtb3RoZXItZmFpbnQiIC4gIiMxZjJmNmYiKQ0KLSAgICAgICgibWFnZW50YS1h bHQtb3RoZXItZmFpbnQiIC4gIiM1ZjNmN2YiKSAoImN5YW4tYWx0LW90aGVyLWZhaW50IiAuICIj MmU1ODRmIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZl cnkgc3VidGxlLCB5ZXQgYWNjZW50ZWQNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29t YmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScgb3IgYW55IG9mDQotICAg ICAgOzsgdGhlICJudWFuY2VkIiBiYWNrZ3JvdW5kcw0KLSAgICAgICgicmVkLW51YW5jZWQiIC4g IiM1ZjAwMDAiKSAoImdyZWVuLW51YW5jZWQiIC4gIiMwMDQwMDAiKQ0KLSAgICAgICgieWVsbG93 LW51YW5jZWQiIC4gIiMzZjMwMDAiKSAoImJsdWUtbnVhbmNlZCIgLiAiIzIwMWY1NSIpDQotICAg ICAgKCJtYWdlbnRhLW51YW5jZWQiIC4gIiM1NDFmNGYiKSAoImN5YW4tbnVhbmNlZCIgLiAiIzBm MzM2MCIpDQotICAgICAgOzsgc3R5bGVzIGZvciBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5k DQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBh Ym92ZSBmb3JlZ3JvdW5kIHZhbHVlcw0KLSAgICAgICgicmVkLW51YW5jZWQtYmciIC4gIiNmZmYx ZjAiKSAoImdyZWVuLW51YW5jZWQtYmciIC4gIiNlY2Y3ZWQiKQ0KLSAgICAgICgieWVsbG93LW51 YW5jZWQtYmciIC4gIiNmZmYzZGEiKSAoImJsdWUtbnVhbmNlZC1iZyIgLiAiI2YzZjNmZiIpDQot ICAgICAgKCJtYWdlbnRhLW51YW5jZWQtYmciIC4gIiNmZGYwZmYiKSAoImN5YW4tbnVhbmNlZC1i ZyIgLiAiI2ViZjZmYSIpDQotICAgICAgOzsgc3R5bGVzIGZvciBlbGVtZW50cyB0aGF0IHNob3Vs ZCBkcmF3IGF0dGVudGlvbiB0byB0aGVtc2VsdmVzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0 IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWluJw0KLSAgICAgICgicmVkLWludGVuc2UiIC4gIiNi NjAwMDAiKSAoImdyZWVuLWludGVuc2UiIC4gIiMwMDY4MDAiKQ0KLSAgICAgICgieWVsbG93LWlu dGVuc2UiIC4gIiM5MDQyMDAiKSAoImJsdWUtaW50ZW5zZSIgLiAiIzExMTFlZSIpDQotICAgICAg KCJtYWdlbnRhLWludGVuc2UiIC4gIiM3MDAwZTAiKSAoImN5YW4taW50ZW5zZSIgLiAiIzIwNWI5 MyIpDQotICAgICAgOzsgc3R5bGVzIGZvciBiYWNrZ3JvdW5kIGVsZW1lbnRzIHRoYXQgc2hvdWxk IGJlIHZpc2libGUgeWV0DQotICAgICAgOzsgc3VidGxlDQotICAgICAgOzsNCi0gICAgICA7OyBt dXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBmZy1kaW0nDQotICAgICAgKCJyZWQtc3VidGxlLWJnIiAu ICIjZjJiMGEyIikgKCJncmVlbi1zdWJ0bGUtYmciIC4gIiNhZWNmOTAiKQ0KLSAgICAgICgieWVs bG93LXN1YnRsZS1iZyIgLiAiI2U0YzM0MCIpICgiYmx1ZS1zdWJ0bGUtYmciIC4gIiNiNWQwZmYi KQ0KLSAgICAgICgibWFnZW50YS1zdWJ0bGUtYmciIC4gIiNmMGQzZmYiKSAoImN5YW4tc3VidGxl LWJnIiAuICIjYzBlZmZmIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGJhY2tncm91bmQgZWxlbWVu dHMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZSBhbmQNCi0gICAgICA7OyBkaXN0aW5ndWlzaGFibGUN Ci0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGZnLW1haW4nDQot ICAgICAgKCJyZWQtaW50ZW5zZS1iZyIgLiAiI2ZmODg5MiIpICgiZ3JlZW4taW50ZW5zZS1iZyIg LiAiIzVhZGE4OCIpDQotICAgICAgKCJ5ZWxsb3ctaW50ZW5zZS1iZyIgLiAiI2Y1ZGYyMyIpICgi Ymx1ZS1pbnRlbnNlLWJnIiAuICIjNmFhZWZmIikNCi0gICAgICAoIm1hZ2VudGEtaW50ZW5zZS1i ZyIgLiAiI2Q1YmFmZiIpICgiY3lhbi1pbnRlbnNlLWJnIiAuICIjNDJjYmQ0IikNCi0gICAgICA7 OyBzdHlsZXMgZm9yIHJlZmluZWQgY29udGV4dHMgd2hlcmUgYm90aCB0aGUgZm9yZWdyb3VuZCBh bmQgdGhlDQotICAgICAgOzsgYmFja2dyb3VuZCBuZWVkIHRvIGhhdmUgdGhlIHNhbWUvc2ltaWxh ciBodWUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCB0aGVtc2Vs dmVzIE9SIHRoZSBmb3JlZ3JvdW5kcyBjYW4gYmUNCi0gICAgICA7OyBjb21iaW5lZCB3aXRoIGFu eSBvZiB0aGUgYmFzZSBiYWNrZ3JvdW5kcw0KLSAgICAgICgicmVkLXJlZmluZS1iZyIgLiAiI2Zm Y2NjYyIpICgicmVkLXJlZmluZS1mZyIgLiAiIzc4MDAwMCIpDQotICAgICAgKCJncmVlbi1yZWZp bmUtYmciIC4gIiNhY2VhYWMiKSAoImdyZWVuLXJlZmluZS1mZyIgLiAiIzAwNGMwMCIpDQotICAg ICAgKCJ5ZWxsb3ctcmVmaW5lLWJnIiAuICIjZmZmMjlhIikgKCJ5ZWxsb3ctcmVmaW5lLWZnIiAu ICIjNjA0MDAwIikNCi0gICAgICAoImJsdWUtcmVmaW5lLWJnIiAuICIjOGFjN2ZmIikgKCJibHVl LXJlZmluZS1mZyIgLiAiIzAwMjI4OCIpDQotICAgICAgKCJtYWdlbnRhLXJlZmluZS1iZyIgLiAi I2ZmY2NmZiIpICgibWFnZW50YS1yZWZpbmUtZmciIC4gIiM3NzAwNzciKQ0KLSAgICAgICgiY3lh bi1yZWZpbmUtYmciIC4gIiM4ZWVjZjQiKSAoImN5YW4tcmVmaW5lLWZnIiAuICIjMDA0ODUwIikN Ci0gICAgICA7OyBzdHlsZXMgdGhhdCBhcmUgbWVhbnQgZXhjbHVzaXZlbHkgZm9yIHRoZSBtb2Rl IGxpbmUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLWFj dGl2ZScsIGBiZy1pbmFjdGl2ZScNCi0gICAgICAoInJlZC1hY3RpdmUiIC4gIiM4YTAwMDAiKSAo ImdyZWVuLWFjdGl2ZSIgLiAiIzAwNGMyZSIpDQotICAgICAgKCJ5ZWxsb3ctYWN0aXZlIiAuICIj NzAyZDFmIikgKCJibHVlLWFjdGl2ZSIgLiAiIzAwMzBiNCIpDQotICAgICAgKCJtYWdlbnRhLWFj dGl2ZSIgLiAiIzVjMjA5MiIpICgiY3lhbi1hY3RpdmUiIC4gIiMwMDNmOGEiKQ0KLSAgICAgIDs7 IHN0eWxlcyB0aGF0IGFyZSBtZWFudCBleGNsdXNpdmVseSBmb3IgdGhlIGZyaW5nZXMNCi0gICAg ICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICAo InJlZC1mcmluZ2UtYmciIC4gIiNmMDgyOTAiKSAoImdyZWVuLWZyaW5nZS1iZyIgLiAiIzYyYzg2 YSIpDQotICAgICAgKCJ5ZWxsb3ctZnJpbmdlLWJnIiAuICIjZGJiYTNmIikgKCJibHVlLWZyaW5n ZS1iZyIgLiAiIzgyYWZmZiIpDQotICAgICAgKCJtYWdlbnRhLWZyaW5nZS1iZyIgLiAiI2UwYTNm ZiIpICgiY3lhbi1mcmluZ2UtYmciIC4gIiMyZmNkZGYiKQ0KLSAgICAgIDs7IHN0eWxlcyByZXNl cnZlZCBmb3Igc3BlY2lmaWMgZmFjZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1obC1saW5l JyBpcyBiZXR3ZWVuIGBiZy1kaW0nIGFuZCBgYmctYWx0Jywgc28gaXQgc2hvdWxkDQotICAgICAg Ozsgd29yayB3aXRoIGFsbCBhY2NlbnRzIHRoYXQgY292ZXIgdGhvc2UgdHdvLCBwbHVzIGBiZy1t YWluJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLWhsLWFsdCcgYW5kIGBiZy1obC1hbHQtaW50 ZW5zZScgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIG5vDQotICAgICAgOzsgb3RoZXIgZ3JleXNj YWxlIG9yIGZhaXJseSBuZXV0cmFsIGJhY2tncm91bmQgaXMgYXZhaWxhYmxlIHRvDQotICAgICAg OzsgcHJvcGVybHkgZHJhdyBhdHRlbnRpb24gdG8gYSBnaXZlbiBjb25zdHJ1Y3QNCi0gICAgICA7 Ow0KLSAgICAgIDs7IGBiZy1oZWFkZXInIGlzIGJldHdlZW4gYGJnLWFjdGl2ZScgYW5kIGBiZy1p bmFjdGl2ZScsIHNvIGl0DQotICAgICAgOzsgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRo ZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMgdGhlDQotICAgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNl IGZvcmVncm91bmQgY29sb3Vycw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLXBhcmVuLW1hdGNo JywgYGJnLXBhcmVuLW1hdGNoLWludGVuc2UnLCBgYmctcmVnaW9uJyBhbmQNCi0gICAgICA7OyBg YmctdGFiLWFjdGl2ZScgbXVzdCBiZSBjb21iaW5lZCB3aXRoIGBmZy1tYWluJywgd2hpbGUNCi0g ICAgICA7OyBgYmctdGFiLWluYWN0aXZlJyBzaG91bGQgYmUgY29tYmluZWQgd2l0aCBgZmctZGlt Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLXRhYi1iYXInIGlzIG9ubHkgaW50ZW5kZWQgZm9y IHRoZSBiYXIgdGhhdCBob2xkcyB0aGUgdGFicyBhbmQNCi0gICAgICA7OyBjYW4gb25seSBiZSBj b21iaW5lZCB3aXRoIGBmZy1tYWluJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLXRhYi1hY3Rp dmUnIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVkIHdpdGggYGJnLXRhYi1hY3RpdmUnLA0KLSAgICAg IDs7IHRob3VnaCBvbmx5IGZvciBzdHlsaW5nIHNwZWNpYWwgZWxlbWVudHMsIHN1Y2ggYXMgdW5k ZXJsaW5pbmcNCi0gICAgICA7OyB0aGUgY3VycmVudCB0YWINCi0gICAgICA7Ow0KLSAgICAgIDs7 IGBmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QnIGFuZCBgZmctZXNjYXBlLWNoYXItYmFja3NsYXNo JyBjYW4NCi0gICAgICA7OyBiZSBjb21iaW5lZCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0 Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLWxhbmctZXJyb3InLCBgZmctbGFuZy13YXJuaW5n JywgYGZnLWxhbmctbm90ZScgY2FuIGJlDQotICAgICAgOzsgY29tYmluZWQgd2l0aCBgYmctbWFp bicsIGBiZy1kaW0nLCBgYmctYWx0Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLW1hcmstc2Vs JywgYGZnLW1hcmstZGVsJywgYGZnLW1hcmstYWx0JyBjYW4gYmUgY29tYmluZWQNCi0gICAgICA7 OyB3aXRoIGBiZy1tYWluJywgYGJnLWRpbScsIGBiZy1hbHQnLCBgYmctaGwtbGluZScNCi0gICAg ICA7Ow0KLSAgICAgIDs7IGBmZy11bmZvY3VzZWQnIG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmct bWFpbicNCi0gICAgICA7Ow0KLSAgICAgIDs7IHRoZSB3aW5kb3cgZGl2aWRlciBjb2xvdXJzIGFw cGx5IHRvIGZhY2VzIHdpdGgganVzdCBhbiBmZyB2YWx1ZQ0KLSAgICAgIDs7DQotICAgICAgOzsg YWxsIHBhaXJzIGFyZSBjb21iaW5hYmxlIHdpdGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmctaGwt bGluZSIgLiAiI2YyZWZmMyIpDQotICAgICAgKCJiZy1obC1saW5lLWludGVuc2UiIC4gIiNlMGUw ZTAiKQ0KLSAgICAgICgiYmctaGwtYWx0IiAuICIjZmJlZWUwIikNCi0gICAgICAoImJnLWhsLWFs dC1pbnRlbnNlIiAuICIjZThkZmQxIikNCi0gICAgICAoImJnLXBhcmVuLW1hdGNoIiAuICIjZTBh ZjgyIikNCi0gICAgICAoImJnLXBhcmVuLW1hdGNoLWludGVuc2UiIC4gIiNjNDg4ZmYiKQ0KLSAg ICAgICgiYmctcmVnaW9uIiAuICIjYmNiY2JjIikNCi0NCi0gICAgICAoImJnLXRhYi1iYXIiIC4g IiNkNWQ1ZDUiKQ0KLSAgICAgICgiYmctdGFiLWFjdGl2ZSIgLiAiI2Y2ZjZmNiIpDQotICAgICAg KCJiZy10YWItaW5hY3RpdmUiIC4gIiNiZGJkYmQiKQ0KLSAgICAgICgiZmctdGFiLWFjdGl2ZSIg LiAiIzMwMTY5ZSIpDQotDQotICAgICAgKCJmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QiIC4gIiM4 YjEwMzAiKQ0KLSAgICAgICgiZmctZXNjYXBlLWNoYXItYmFja3NsYXNoIiAuICIjNjU0ZDBmIikN Ci0NCi0gICAgICAoImZnLWxhbmctZXJyb3IiIC4gIiM5ZjAwNGYiKQ0KLSAgICAgICgiZmctbGFu Zy13YXJuaW5nIiAuICIjNjA0ZjBmIikNCi0gICAgICAoImZnLWxhbmctbm90ZSIgLiAiIzQwNDBh ZSIpDQotDQotICAgICAgKCJmZy13aW5kb3ctZGl2aWRlci1pbm5lciIgLiAiIzg4ODg4OCIpDQot ICAgICAgKCJmZy13aW5kb3ctZGl2aWRlci1vdXRlciIgLiAiIzU4NTg1OCIpDQotDQotICAgICAg KCJmZy11bmZvY3VzZWQiIC4gIiM1NjU3NmQiKQ0KLQ0KLSAgICAgICgiYmctaGVhZGVyIiAuICIj ZTVlNWU1IikgKCJmZy1oZWFkZXIiIC4gIiMyYTJhMmEiKQ0KLQ0KLSAgICAgICgiYmctd2hpdGVz cGFjZSIgLiAiI2ZmZjhmYyIpICgiZmctd2hpdGVzcGFjZSIgLiAiIzY0NTA2MCIpDQotDQotICAg ICAgKCJiZy1kaWZmLWhlYWRpbmciIC4gIiNiN2MyZGQiKSAoImZnLWRpZmYtaGVhZGluZyIgLiAi IzA0MzM1NSIpDQotICAgICAgKCJiZy1kaWZmLWFkZGVkIiAuICIjZDRmYWQ0IikgKCJmZy1kaWZm LWFkZGVkIiAuICIjMDA0NTAwIikNCi0gICAgICAoImJnLWRpZmYtY2hhbmdlZCIgLiAiI2ZjZWZj ZiIpICgiZmctZGlmZi1jaGFuZ2VkIiAuICIjNTI0MjAwIikNCi0gICAgICAoImJnLWRpZmYtcmVt b3ZlZCIgLiAiI2ZmZThlZiIpICgiZmctZGlmZi1yZW1vdmVkIiAuICIjNjkxNjE2IikNCi0NCi0g ICAgICAoImJnLWRpZmYtcmVmaW5lLWFkZGVkIiAuICIjOTRjZjk0IikgKCJmZy1kaWZmLXJlZmlu ZS1hZGRlZCIgLiAiIzAwMmEwMCIpDQotICAgICAgKCJiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIiAu ICIjY2NjZjhmIikgKCJmZy1kaWZmLXJlZmluZS1jaGFuZ2VkIiAuICIjMzAyMDEwIikNCi0gICAg ICAoImJnLWRpZmYtcmVmaW5lLXJlbW92ZWQiIC4gIiNkYWEyYjAiKSAoImZnLWRpZmYtcmVmaW5l LXJlbW92ZWQiIC4gIiM0MDAwMDAiKQ0KLQ0KLSAgICAgICgiYmctZGlmZi1mb2N1cy1hZGRlZCIg LiAiI2JiZWFiYiIpICgiZmctZGlmZi1mb2N1cy1hZGRlZCIgLiAiIzAwMmMwMCIpDQotICAgICAg KCJiZy1kaWZmLWZvY3VzLWNoYW5nZWQiIC4gIiNlY2RmYmYiKSAoImZnLWRpZmYtZm9jdXMtY2hh bmdlZCIgLiAiIzM5MjkwMCIpDQotICAgICAgKCJiZy1kaWZmLWZvY3VzLXJlbW92ZWQiIC4gIiNl ZmNiY2YiKSAoImZnLWRpZmYtZm9jdXMtcmVtb3ZlZCIgLiAiIzRhMDAwMCIpDQotDQotICAgICAg KCJiZy1kaWZmLW5ldXRyYWwtMCIgLiAiIzk3OTc5NyIpICgiZmctZGlmZi1uZXV0cmFsLTAiIC4g IiMwNDA0MDQiKQ0KLSAgICAgICgiYmctZGlmZi1uZXV0cmFsLTEiIC4gIiNiMGIwYjAiKSAoImZn LWRpZmYtbmV1dHJhbC0xIiAuICIjMjUyNTI1IikNCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0y IiAuICIjY2NjY2NjIikgKCJmZy1kaWZmLW5ldXRyYWwtMiIgLiAiIzNhM2EzYSIpDQotDQotICAg ICAgKCJiZy1tYXJrLXNlbCIgLiAiI2EwZjBjZiIpICgiZmctbWFyay1zZWwiIC4gIiMwMDUwNDAi KQ0KLSAgICAgICgiYmctbWFyay1kZWwiIC4gIiNmZmNjYmIiKSAoImZnLW1hcmstZGVsIiAuICIj ODQwMDQwIikNCi0gICAgICAoImJnLW1hcmstYWx0IiAuICIjZjVkODhmIikgKCJmZy1tYXJrLWFs dCIgLiAiIzc4MjkwMCIpKQ0KLSAgICAiVGhlIGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy1vcGVy YW5kaS10aGVtZScuDQotRWFjaCBlbGVtZW50IGhhcyB0aGUgZm9ybSAoTkFNRSAuIEhFWCkuIikN Ci0NCi0gIChkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFs aXN0ICcoKQ0KLSAgICAiQXNzb2NpYXRpb24gbGlzdCBvZiBwYWxldHRlIGNvbG91ciBvdmVycmlk ZXMuDQotVmFsdWVzIGNhbiBiZSBtYXBwZWQgdG8gdmFyaWFibGVzLCB1c2luZyB0aGUgc2FtZSBz eW50YXggYXMgdGhlDQotb25lIHByZXNlbnQgaW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRlZmF1 bHQtY29sb3JzLWFsaXN0Jy4NCi0NCi1UaGlzIGlzIG9ubHkgbWVhbnQgZm9yIGRvLWl0LXlvdXJz ZWxmIHVzYWdlLCB3aXRoIHRoZQ0KLXVuZGVyc3RhbmRpbmcgdGhhdCB0aGUgdXNlciBpcyByZXNw b25zaWJsZSBmb3IgdGhlIHJlc3VsdGluZw0KLWNvbnRyYXN0IHJhdGlvIGJldHdlZW4gbmV3IGFu ZCBleGlzdGluZyBjb2xvdXJzLiINCi0gICAgOnR5cGUgJyhhbGlzdA0KLSAgICAgICAgICAgIDpr ZXktdHlwZSAoc3RyaW5nIDp0YWcgIk5hbWUiKQ0KLSAgICAgICAgICAgIDp2YWx1ZS10eXBlIChz dHJpbmcgOnRhZyAiIEhleCIpKSkNCi0NCi0gIChkZWZtYWNybyBtb2R1cy1vcGVyYW5kaS10aGVt ZS13aXRoLWNvbG9yLXZhcmlhYmxlcyAoJnJlc3QgYm9keSkNCi0gICAgImBsZXQnIGJpbmQgYWxs IGNvbG91cnMgYXJvdW5kIEJPRFkuDQotQWxzbyBiaW5kIGBjbGFzcycgdG8gKChjbGFzcyBjb2xv cikgKG1pbi1jb2xvcnMgODkpKS4iDQotICAgIChkZWNsYXJlIChpbmRlbnQgMCkpDQotICAgIGAo bGV0ICgoY2xhc3MgJygoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg5KSkpDQotICAgICAgICAg ICAsQChtYXBjYXIgKGxhbWJkYSAoY29ucykNCi0gICAgICAgICAgICAgICAgICAgICAgIChsaXN0 IChpbnRlcm4gKGNhciBjb25zKSkgKGNkciBjb25zKSkpDQotICAgICAgICAgICAgICAgICAgICAg KGFwcGVuZCBtb2R1cy1vcGVyYW5kaS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUtY29s b3JzLWFsaXN0KSkNCi0gICAgICAgICAgIDs7IHNpbXBsZSBjb25kaXRpb25hbCBzdHlsZXMgdGhh dCBldmFsdWF0ZSB1c2VyLWZhY2luZw0KLSAgICAgICAgICAgOzsgY3VzdG9taXNhdGlvbiBvcHRp b25zDQotICAgICAgICAgICAobW9kdXMtdGhlbWUtc2xhbnQNCi0gICAgICAgICAgICAoaWYgbW9k dXMtb3BlcmFuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzICdpdGFsaWMgJ25vcm1hbCkpDQot ICAgICAgICAgICAobW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gNCi0gICAgICAgICAgICAoaWYg bW9kdXMtb3BlcmFuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgJ3ZhcmlhYmxlLXBp dGNoICdkZWZhdWx0KSkpDQotICAgICAgICxAYm9keSkpKQ0KLQ0KLQwNCi0NCi07OzsgRmFjZXMN CisocmVxdWlyZS10aGVtZSAnbW9kdXMtdGhlbWVzKQ0KIA0KLShtb2R1cy1vcGVyYW5kaS10aGVt ZS13aXRoLWNvbG9yLXZhcmlhYmxlcw0KLSAgKGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0gICAn bW9kdXMtb3BlcmFuZGkNCi07Ozs7IGN1c3RvbSBmYWNlcw0KLSAgIDs7IHRoZXNlIGJlc3Bva2Ug ZmFjZXMgYXJlIGluaGVyaXRlZCBieSBvdGhlciBjb25zdHJ1Y3RzIGJlbG93DQotOzs7Ozsgc3Vi dGxlIGNvbG91cmVkIGJhY2tncm91bmRzDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtcmVkICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkN Ci0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3Jl ZW4tc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1 YnRsZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcgOmZvcmVn cm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLWJsdWUgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBg KG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRh LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0 bGUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7 IGludGVuc2UgY29sb3VyZWQgYmFja2dyb3VuZHMNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dy b3VuZCAsZ3JlZW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9k dXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1pbnRl bnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxtYWdlbnRhLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1p bnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRl bnNlLW5ldXRyYWwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLTs7Ozs7IHJlZmluZWQgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb21i aW5hdGlvbnMNCi0gICA7OyBnZW5lcmFsIHB1cnBvc2Ugc3R5bGVzIHRoYXQgdXNlIGFuIGFjY2Vu dGVkIGZvcmVncm91bmQgYWdhaW5zdCBhbg0KLSAgIDs7IGFjY2VudGVkIGJhY2tncm91bmQNCi0g ICBgKG1vZHVzLXRoZW1lLXJlZmluZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1yZWZp bmUtYmcgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJl ZmluZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tcmVmaW5lLWJnIDpmb3JlZ3Jv dW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cg KCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcgOmZvcmVncm91bmQgLHllbGxv dy1yZWZpbmUtZmcpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxibHVlLXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkN Ci0gICBgKG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxt YWdlbnRhLXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBg KG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXJlZmlu ZS1iZyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCi07Ozs7OyAiYWN0aXZlIiBjb21i aW5hdGlvbnMsIG1vc3RseSBmb3IgdXNlIG9uIHRoZSBtb2RlIGxpbmUNCi0gICBgKG1vZHVzLXRo ZW1lLWFjdGl2ZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1hY3RpdmUgOmZvcmVncm91 bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxncmVlbi1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93 LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3Rp dmUtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1hY3RpdmUgOmZvcmVncm91bmQgLGJn LWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEgKCgsY2xhc3MgOmJh Y2tncm91bmQgLG1hZ2VudGEtYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBg KG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotOzs7OzsgbnVhbmNlZCBiYWNrZ3JvdW5kcw0K LSAgIDs7IHVzZWZ1bCBmb3IgYWRkaW5nIGFuIGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCBpcyBz dWl0YWJsZSBmb3IgYWxsDQotICAgOzsgbWFpbiBmb3JlZ3JvdW5kIGNvbG91cnMgKGludGVuZGVk IGZvciB1c2UgaW4gT3JnIHNvdXJjZSBibG9ja3MpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2Vk LXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAy NykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbiAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICco OmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpl eHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQp KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxtYWdlbnRhLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0 KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsY3lhbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQot Ozs7OzsgZnJpbmdlLXNwZWNpZmljIGNvbWJpbmF0aW9ucw0KLSAgIGAobW9kdXMtdGhlbWUtZnJp bmdlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxncmVlbi1mcmluZ2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1v ZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1mcmlu Z2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1i bHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tn cm91bmQgLG1hZ2VudGEtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCht b2R1cy10aGVtZS1mcmluZ2UtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1mcmluZ2Ut YmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBzcGVjaWFsIGJhc2UgdmFsdWVzDQot ICAgOzsgdGhlc2UgYXJlIGNsb3NlciB0byB0aGUgZ3JheXNjYWxlIHRoYW4gdGhlIGFjY2VudHMg ZGVmaW5lZCBhYm92ZQ0KLSAgIDs7IGFuZCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIG5l eHQgY2xvc2VzdCBhbHRlcm5hdGl2ZSB3b3VsZCBiZQ0KLSAgIDs7IGEgZ3JleXNjYWxlIHZhbHVl IHRoYW4gYW4gYWNjZW50ZWQgb25lDQotICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLXNwZWNpYWwtbWlsZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQot ICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNw ZWNpYWwtd2FybSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtb2R1cy10 aGVtZS1zcGVjaWFsLWNhbG0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotOzs7OzsgZGlmZi1zcGVjaWZpYyBjb21i aW5hdGlvbnMNCi0gICA7OyBpbnRlbmRlZCBmb3IgYGRpZmYtbW9kZScgb3IgZXF1aXZhbGVudA0K LSAgIGAobW9kdXMtdGhlbWUtZGlmZi1hZGRlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctbWFpbiBncmVlbg0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQotICAg ICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGZnLWRpZmYtYWRkZWQpKSkpDQotICAgYCht b2R1cy10aGVtZS1kaWZmLWNoYW5nZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4geWVsbG93DQotICAgICAgICAg ICAgICAgICBiZy1kaWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkDQotICAg ICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAg YChtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4gcmVkDQotICAgICAgICAg ICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQotICAg ICAgICAgICAgICAgICByZWQtbnVhbmNlZC1iZyBmZy1kaWZmLXJlbW92ZWQpKSkpDQotICAgYCht b2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZm LWFkZGVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1hZGRlZCBmZy1kaWZmLXJl ZmluZS1hZGRlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZm LWZvY3VzLWFkZGVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZA0K LSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAg ICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAg YmctZGlmZi1yZWZpbmUtY2hhbmdlZCBmZy1kaWZmLXJlZmluZS1jaGFuZ2VkDQotICAgICAgICAg ICAgICAgICBiZy1kaWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpKQ0K LSAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZA0KLSAgICAgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1v dmVkIGZnLWRpZmYtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtcmVt b3ZlZCBmZy1kaWZmLXJlZmluZS1yZW1vdmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZv Y3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUt ZGlmZi1mb2N1cy1hZGRlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt ZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGltIGdyZWVuDQotICAgICAgICAgICAgICAgICBi Zy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYtZm9jdXMtYWRkZWQNCi0gICAgICAgICAgICAgICAg IGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYt Zm9jdXMtY2hhbmdlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlm Zg0KLSAgICAgICAgICAgICAgICAgYmctZGltIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgYmct ZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZA0KLSAgICAgICAgICAgICAg ICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1l LWRpZmYtZm9jdXMtcmVtb3ZlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGltIHJlZA0KLSAgICAgICAgICAgICAgICAg YmctZGlmZi1mb2N1cy1yZW1vdmVkIGZnLWRpZmYtZm9jdXMtcmVtb3ZlZA0KLSAgICAgICAgICAg ICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCi0gICBgKG1vZHVzLXRo ZW1lLWRpZmYtaGVhZGluZw0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt ZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctYWx0IGJsdWUtYWx0DQotICAgICAgICAgICAgICAg ICBiZy1kaWZmLWhlYWRpbmcgZmctZGlmZi1oZWFkaW5nDQotICAgICAgICAgICAgICAgICBibHVl LW51YW5jZWQtYmcgYmx1ZSkpKSkNCi07Ozs7OyBtYXJrIGluZGljYXRvcnMNCi0gICA7OyBjb2xv dXIgY29tYmluYXRpb25zIGludGVuZGVkIGZvciBEaXJlZCwgSWJ1ZmZlciwgb3IgZXF1aXZhbGVu dA0KLSAgIGAobW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1tYXJrLWFsdCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1tYXJrLWFsdCA6Zm9yZWdyb3VuZCAs ZmctbWFyay1hbHQpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW1hcmstZGVsICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmstZGVsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWRl bCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1zZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctbWFyay1zZWwgOmZvcmVncm91bmQgLGZnLW1hcmstc2VsKSkpDQotICAg YChtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGhlYWRpbmcgbGV2ZWxzDQotICAgOzsgc3R5bGVzIGZv ciByZWd1bGFyIGhlYWRpbmdzIHVzZWQgaW4gT3JnLCBNYXJrZG93biwgSW5mbywgZXRjLg0KLSAg IGAobW9kdXMtdGhlbWUtaGVhZGluZy0xDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAxIGZnLW1haW4gbWFnZW50YS1hbHQt b3RoZXIgbWFnZW50YS1udWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkp DQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTINCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDIgZmctc3BlY2lhbC13YXJt IG1hZ2VudGEtYWx0IHJlZC1udWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTMp KSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTMNCi0gICAgICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDMgZmctc3BlY2lhbC1j b2xkIGJsdWUgYmx1ZS1udWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTIpKSkp DQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDQgZmctc3BlY2lhbC1taWxk IGN5YW4gY3lhbi1udWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTEpKSkpDQot ICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTUNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDUgZmctc3BlY2lhbC1jYWxtIGdy ZWVuLWFsdC1vdGhlciBncmVlbi1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCi0gICBgKG1vZHVz LXRoZW1lLWhlYWRpbmctNg0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt aGVhZGluZw0KLSAgICAgICAgICAgICAgICAgNiB5ZWxsb3ctbnVhbmNlZCB5ZWxsb3ctYWx0LW90 aGVyIHllbGxvdy1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhl YWRpbmctNw0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0K LSAgICAgICAgICAgICAgICAgNyByZWQtbnVhbmNlZCByZWQtYWx0IHJlZC1udWFuY2VkLWJnIGJn LXJlZ2lvbikpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctOA0KLSAgICAgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgOCBmZy1k aW0gbWFnZW50YSBiZy1hbHQgYmctcmVnaW9uKSkpKQ0KLTs7Ozs7IG90aGVyIGN1c3RvbSBmYWNl cw0KLSAgIGAobW9kdXMtdGhlbWUtaGwtbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWhsLWxpbmUtaW50ZW5zZSBiZy1obC1s aW5lKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kICg+PSBlbWFjcy1t YWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotOzs7OyBzdGFuZGFyZCBmYWNlcw0K LTs7Ozs7IGFic29sdXRlIGVzc2VudGlhbHMNCi0gICBgKGRlZmF1bHQgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGN1cnNvciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZnJpbmdlICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZSBiZy1pbmFjdGl2ZSBiZy1hY3RpdmUpDQotICAgICAg ICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHZlcnRpY2FsLWJv cmRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCi07 Ozs7OyBiYXNpYyBhbmQvb3IgdW5ncm91cGVkIHN0eWxlcw0KLSAgIDs7IE1vZGlmeSB0aGUgYGJv bGQnIGZhY2UgdG8gY2hhbmdlIHRoZSB3ZWlnaHQgb2YgYWxsICJib2xkIiBlbGVtZW50cw0KLSAg IDs7IGRlZmluZWQgYnkgdGhlIHRoZW1lLiAgWW91IG5lZWQgYSB0eXBlZmFjZSB0aGF0IHN1cHBv cnRzIGENCi0gICA7OyBtdWx0aXR1ZGUgb2YgaGVhdmllciB3ZWlnaHRzIHRoYW4gdGhlIHJlZ3Vs YXIgb25lIGFuZCB0aGVuIHlvdQ0KLSAgIDs7IG11c3Qgc3BlY2lmeSB0aGUgZXhhY3QgbmFtZSBv ZiB0aGUgb25lIHlvdSB3aXNoIHRvIGFwcGx5LiAgRXhhbXBsZQ0KLSAgIDs7IGZvciB5b3VyIGlu aXQuZWw6DQotICAgOzsNCi0gICA7OyAoc2V0LWZhY2UtYXR0cmlidXRlICdib2xkIG5pbCA6d2Vp Z2h0ICdzZW1pYm9sZCkNCi0gICBgKGJvbGQgKCgsY2xhc3MgOndlaWdodCBib2xkKSkpDQotICAg YChjb21pbnQtaGlnaGxpZ2h0LWlucHV0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBg KGNvbWludC1oaWdobGlnaHQtcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LWJvbGQtd2VpZ2h0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBibHVlLW51YW5jZWQtYmcgYmx1ZS1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGZnLW1haW4pKSkpDQotICAgYChlcnJvciAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVzY2FwZS1n bHlwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQot ICAgYChmaWxlLW5hbWUtc2hhZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQp KSkNCi0gICBgKGhlYWRlci1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZv cmVncm91bmQgLGZnLWhlYWRlcikpKQ0KLSAgIGAoaGVhZGVyLWxpbmUtaGlnaGxpZ2h0ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChoZWxwLWFyZ3Vt ZW50LW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4gOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAoaG9tb2dseXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUt Y2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKGlidWZmZXItbG9ja2VkLWJ1ZmZlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaXRhbGljICgoLGNsYXNzIDpz bGFudCBpdGFsaWMpKSkNCi0gICBgKG5vYnJlYWstaHlwaGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKG5vYnJlYWstc3BhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKG1pbmlidWZmZXItcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXByb21wdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3Ro ZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tbnVhbmNlZC1iZyBj eWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBm Zy1tYWluKSkpKQ0KLSAgIGAobW0tY29tbWFuZC1vdXRwdXQgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG1tLXV1LWV4dHJhY3QgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChuZXh0LWVy cm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKHJl Y3RhbmdsZS1wcmV2aWV3ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWls ZCkpKQ0KLSAgIGAocmVnaW9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1yZWdpb24gOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNlY29uZGFyeS1zZWxlY3Rpb24gKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChzaGFkb3cgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoc3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAodHJhaWxpbmctd2hpdGVzcGFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcpKSkNCi0gICBgKHdhcm5pbmcgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgYnV0dG9ucywg bGlua3MsIHdpZGdldHMNCi0gICBgKGJ1dHRvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAsQCh1bmxlc3MgbW9kdXMtb3BlcmFuZGkt dGhlbWUtbm8tbGluay11bmRlcmxpbmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qg OnVuZGVybGluZSB0KSkpKSkNCi0gICBgKGxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkp DQotICAgYChsaW5rLXZpc2l0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbGluayA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHRvb2x0aXAgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2lkZ2V0LWJ1 dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKHdpZGdldC1idXR0b24tcHJl c3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0g ICBgKHdpZGdldC1kb2N1bWVudGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAod2lkZ2V0LWZpZWxkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KLSAgIGAod2lkZ2V0LWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHdpZGdldC1z aW5nbGUtbGluZS1maWVsZCAoKCxjbGFzcyA6aW5oZXJpdCB3aWRnZXQtZmllbGQpKSkNCi07Ozs7 OyBhZw0KLSAgIGAoYWctaGl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAoYWctbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBhbGVydA0KLSAgIGAoYWxlcnQtaGlnaC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsZXJ0 LWxvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBg KGFsZXJ0LW1vZGVyYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotICAgYChhbGVydC10cml2aWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoYWxlcnQtdXJnZW50LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi07Ozs7OyBhbGwtdGhlLWlj b25zDQotICAgYChhbGwtdGhlLWljb25zLWJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKGFsbC10aGUtaWNvbnMtYmx1ZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLWN5YW4gKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtY3lhbi1hbHQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLWRibHVlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kY3lhbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMt ZGdyZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFs bC10aGUtaWNvbnMtZGlyZWQtZGlyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKGFsbC10aGUtaWNvbnMtZG1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZG9yYW5nZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kcGluayAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kcHVycGxl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29u cy1kcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMt ZHNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChh bGwtdGhlLWljb25zLWR5ZWxsb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAoYWxsLXRoZS1pY29ucy1ncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKGFsbC10aGUtaWNvbnMtbGJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5l LWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxjeWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sZ3JlZW4gKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sbWFyb29u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRo ZS1pY29ucy1sb3JhbmdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQot ICAgYChhbGwtdGhlLWljb25zLWxwaW5rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJl ZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1scHVycGxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1scmVkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxz aWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoYWxs LXRoZS1pY29ucy1seWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZn KSkpDQotICAgYChhbGwtdGhlLWljb25zLW1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1vcmFuZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtcGluayAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1wdXJwbGUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLXB1cnBsZS1hbHQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhlLWlj b25zLXJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChhbGwtdGhlLWljb25z LXJlZC1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0g ICBgKGFsbC10aGUtaWNvbnMteWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci07Ozs7OyBhbm5vdGF0ZQ0KLSAgIGAoYW5ub3RhdGUtYW5ub3RhdGlvbiAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoYW5ub3RhdGUtYW5ub3RhdGlv bi1zZWNvbmRhcnkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkp DQotICAgYChhbm5vdGF0ZS1oaWdobGlnaHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVh bmNlZC1iZyA6dW5kZXJsaW5lICxibHVlLWludGVuc2UpKSkNCi0gICBgKGFubm90YXRlLWhpZ2hs aWdodC1zZWNvbmRhcnkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLW51YW5jZWQtYmcgOnVu ZGVybGluZSAsZ3JlZW4taW50ZW5zZSkpKQ0KLTs7Ozs7IGFuenUNCi0gICBgKGFuenUtbWF0Y2gt MSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoYW56 dS1tYXRjaC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0K LSAgIGAoYW56dS1tYXRjaC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15 ZWxsb3cpKSkNCi0gICBgKGFuenUtbW9kZS1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoYW56dS1tb2RlLWxpbmUtbm8tbWF0Y2gg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAo YW56dS1yZXBsYWNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUteWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYW56dS1yZXBsYWNlLXRvICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotOzs7OzsgYXBy b3Bvcw0KLSAgIGAoYXByb3Bvcy1mdW5jdGlvbi1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXByb3Bvcy1rZXli aW5kaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGFwcm9wb3MtbWlzYy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXByb3Bvcy1wcm9wZXJ0eSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotICAgYChhcHJvcG9zLXN5bWJvbCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChhcHJv cG9zLXVzZXItb3B0aW9uLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91 bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXByb3Bvcy12YXJpYWJsZS1idXR0b24gKCgs Y2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotOzs7OzsgYXB0LXNv dXJjZXMtbGlzdA0KLSAgIGAoYXB0LXNvdXJjZXMtbGlzdC1jb21wb25lbnRzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChhcHQtc291cmNlcy1saXN0LW9wdGlvbnMgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYXB0LXNvdXJjZXMtbGlzdC1zdWl0ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3QtdHlw ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYXB0LXNvdXJjZXMtbGlz dC11cmkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi07Ozs7OyBhcnRib2xsb2Nrcy1t b2RlDQotICAgYChhcnRib2xsb2Nrcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51 YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy1ub3RlKSkpDQotICAgYChhcnRib2xsb2Nrcy1sZXhp Y2FsLWlsbHVzaW9ucy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLHJlZC1hbHQgOnVuZGVybGluZSB0KSkpDQotICAgYChhcnRib2xsb2Nrcy1wYXNzaXZlLXZv aWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkIDp1bmRlcmxpbmUg LGZnLWxhbmctd2FybmluZykpKQ0KLSAgIGAoYXJ0Ym9sbG9ja3Mtd2Vhc2VsLXdvcmRzLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJy b3IpKSkNCi07Ozs7OyBhdWN0ZXggYW5kIFRleA0KLSAgIGAoZm9udC1sYXRleC1ib2xkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQot ICAgYChmb250LWxhdGV4LWRvY3RleC1kb2N1bWVudGF0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChmb250LWxhdGV4LWRvY3RleC1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkN Ci0gICBgKGZvbnQtbGF0ZXgtaXRhbGljLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY2FsbSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChmb250LWxhdGV4LW1hdGgtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgt c2NyaXB0LWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0wLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgLG1v ZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0g ICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0xLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQg LG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkp DQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChi b2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNl ZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTMtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVlLW51 YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy00LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctNS1mYWNlICgoLGNsYXNz IDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlZGF0ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2xpZGUtdGl0bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxjeWFuLW51 YW5jZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00KSkpKQ0K LSAgIGAoZm9udC1sYXRleC1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc3Vic2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAw Ljk1KSkpDQotICAgYChmb250LWxhdGV4LXN1cGVyc2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdo dCAwLjk1KSkpDQotICAgYChmb250LWxhdGV4LXZlcmJhdGltLWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChmb250 LWxhdGV4LXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KLSAgIGAodGV4LW1hdGNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KLSAgIGAodGV4LXZlcmJhdGltICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAodGV4aW5mby1oZWFkaW5nICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24t ZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChU ZVgtZXJyb3ItZGVzY3JpcHRpb24taGVscCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXRleC1zYWlkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24td2FybmluZyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBhdXRvLWRpbS1vdGhl ci1idWZmZXJzDQotICAgYChhdXRvLWRpbS1vdGhlci1idWZmZXJzLWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCkpKQ0KLTs7Ozs7IGF2eQ0KLSAgIGAoYXZ5LWJhY2tncm91bmQtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0g ICBgKGF2eS1nb3RvLWNoYXItdGltZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhl bWUtaW50ZW5zZS15ZWxsb3cgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0KLSAgIGAoYXZ5 LWxlYWQtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUg Ym9sZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMt dGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2UtMiAoKCxjbGFz cyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLTs7Ozs7IGF3 IChhY2Utd2luZG93KQ0KLSAgIGAoYXctYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoYXcta2V5LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChh dy1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS41IDpi YWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoYXct bWluaWJ1ZmZlci1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCi0gICBgKGF3LW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQpKSkNCi07Ozs7OyBhd2Vzb21lLXRyYXkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYXdl c29tZS10YWItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0 LW90aGVyKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWJhdHRlcnktZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdl c29tZS10cmF5LW1vZHVsZS1idWZmZXItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1 bGUtY2lyY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1kYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxl LWV2aWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQp KSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtZ2l0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1s YXN0LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1sb2NhdGlvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYXdlc29t ZS10cmF5LW1vZHVsZS1tb2RlLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1wYXJlbnQtZGlyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYXdl c29tZS10cmF5LW1vZHVsZS1ydm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGJpbmRlcg0KLSAgIGAoYmluZGVyLXNp ZGViYXItaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFu KSkpDQotICAgYChiaW5kZXItc2lkZWJhci1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtbWFyay1zZWwpKSkNCi0gICBgKGJpbmRlci1zaWRlYmFyLW1pc3NpbmcgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAoYmluZGVyLXNpZGViYXIt dGFncyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGJtDQotICAgYChibS1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAgICAg ICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRl bmQgdCkpKSkpDQotICAgYChibS1mcmluZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChibS1mcmluZ2UtcGVyc2lzdGVudC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlKSkpDQotICAgYChibS1wZXJz aXN0ZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12 ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotOzs7OzsgYm9uZ28NCi0gICBgKGJvbmdvLWFs YnVtLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoYm9u Z28tYXJ0aXN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAo Ym9uZ28tY3VycmVudGx5LXBsYXlpbmctdHJhY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0K LSAgIGAoYm9uZ28tZWxhcHNlZC10cmFjay1wYXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1tYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYm9uZ28tZmlsbGVkLXNl ZWstYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAoYm9uZ28tbWFya2VkLXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYXJrLWFsdCkpKQ0KLSAgIGAoYm9uZ28tbWFya2VkLXRyYWNrLWxpbmUgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLW1hcmstYWx0KSkpDQotICAgYChib25nby1wbGF5ZWQtdHJhY2sgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAg IGAoYm9uZ28tdHJhY2stbGVuZ3RoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KLSAgIGAoYm9uZ28tdHJhY2stdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWN0aXZlKSkpDQotICAgYChib25nby11bmZpbGxlZC1zZWVrLWJhciAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgYm9v bg0KLSAgIGAoYm9vbi1tb2RlbGluZS1jbWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt YWN0aXZlLWJsdWUpKSkNCi0gICBgKGJvb24tbW9kZWxpbmUtaW5zICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCi0gICBgKGJvb24tbW9kZWxpbmUtb2ZmICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCi0gICBgKGJvb24tbW9k ZWxpbmUtc3BjICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0K LTs7Ozs7IGJyZWFrcG9pbnQgKGJ1aWx0LWluIGdkYi1taS5lbCkNCi0gICBgKGJyZWFrcG9pbnQt ZGlzYWJsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoYnJlYWtwb2lu dC1lbmFibGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLTs7 Ozs7IGJ1ZmZlci1leHBvc2UNCi0gICBgKGJ1ZmZlci1leHBvc2UtYWNlLWNoYXItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChidWZm ZXItZXhwb3NlLW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KLSAgIGAoYnVmZmVyLWV4cG9zZS1zZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IGNhbGVuZGFyIGFuZCBkaWFyeQ0K LSAgIGAoY2FsZW5kYXItbW9udGgtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNhbGVuZGFyLXRvZGF5ICgoLGNsYXNzIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAoY2FsZW5kYXItd2Vla2RheS1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KLSAgIGAoY2FsZW5kYXItd2Vla2VuZC1oZWFkZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlhcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChkaWFyeS1hbm5pdmVyc2FyeSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlhcnktdGltZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotOzs7OzsgY2FsZncNCi0gICBgKGNmdzpmYWNlLWFubm90YXRpb24gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGF5 LXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjZnc6ZmFjZS1k ZWZhdWx0LWNvbnRlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAo Y2Z3OmZhY2UtZGVmYXVsdC1kYXkgKCgsY2xhc3MgOmluaGVyaXQgKGNmdzpmYWNlLWRheS10aXRs ZSBib2xkKSkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGlzYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctdW5mb2N1c2VkKSkpDQotICAgYChjZnc6ZmFjZS1ncmlkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KLSAgIGAoY2Z3OmZhY2UtaGVhZGVyICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNmdzpmYWNl LWhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChjZnc6ZmFjZS1wZXJpb2RzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KLSAgIGAoY2Z3OmZhY2Utc2F0dXJkYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXNlbGVjdCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKGNmdzpmYWNlLXN1bmRh eSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K LSAgIGAoY2Z3OmZhY2UtdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlh YmxlLXBpdGNoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS01KSkpKQ0KLSAgIGAo Y2Z3OmZhY2UtdG9kYXkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlKSkpDQotICAg YChjZnc6ZmFjZS10b2RheS10aXRsZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkp DQotICAgYChjZnc6ZmFjZS10b29sYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZv cmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9vbGJhci1idXR0b24tb2ZmICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGNmdzpmYWNlLXRvb2xiYXItYnV0 dG9uLW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1i Zw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotOzs7OzsgY2VudGF1ci10YWJzDQotICAgYChjZW50YXVyLXRhYnMtYWN0 aXZlLWJhci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy10YWItYWN0aXZlKSkpDQotICAg YChjZW50YXVyLXRhYnMtY2xvc2UtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2VudGF1ci10YWJz LWNsb3NlLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy1zZWxlY3RlZCkp KQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLXVuc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQg Y2VudGF1ci10YWJzLXVuc2VsZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1tb2RpZmllZC1t YXJrZXItc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXNlbGVjdGVkKSkp DQotICAgYChjZW50YXVyLXRhYnMtbW9kaWZpZWQtbWFya2VyLXVuc2VsZWN0ZWQgKCgsY2xhc3Mg OmluaGVyaXQgY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1k ZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWlu KSkpDQotICAgYChjZW50YXVyLXRhYnMtc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo Y2VudGF1ci10YWJzLXNlbGVjdGVkLW1vZGlmaWVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10 YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGNl bnRhdXItdGFicy11bnNlbGVjdGVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3Rp dmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQt bW9kaWZpZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3Vu ZCAsZmctZGltIDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyBjaGFuZ2UtbG9nIGFuZCBsb2ctdmll dyAoYHZjLXByaW50LWxvZycgYW5kIGB2Yy1wcmludC1yb290LWxvZycpDQotICAgYChjaGFuZ2Ut bG9nLWFja25vd2xlZGdtZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KGNoYW5nZS1sb2ctY29uZGl0aW9uYWxzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAoY2hhbmdlLWxvZy1lbWFpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLSAgIGAoY2hhbmdlLWxvZy1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChjaGFuZ2UtbG9nLWZ1bmN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5nZS1sb2ctbGlzdCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5nZS1sb2ctbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobG9nLWVkaXQtaGVhZGVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGxvZy1lZGl0LXN1bW1hcnkgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobG9nLWVkaXQtdW5r bm93bi1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobG9nLXZp ZXctZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKGxvZy12aWV3LW1lc3NhZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLTs7Ozs7IGNpZGVyDQotICAgYChjaWRlci1kZWJ1Zy1jb2RlLW92ZXJsYXktZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChjaWRlci1kZWJ1Zy1wcm9tcHQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnVuZGVybGluZSB0KSkpDQot ICAgYChjaWRlci1kZXByZWNhdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy1lbXBoYXNpcy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAo Y2lkZXItZG9jdmlldy1saXRlcmFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 KSkpDQotICAgYChjaWRlci1kb2N2aWV3LXN0cm9uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy10 YWJsZS1ib3JkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChj aWRlci1lbmxpZ2h0ZW5lZC1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xv ciAseWVsbG93LWFsdCA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChj aWRlci1lbmxpZ2h0ZW5lZC1sb2NhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGNpZGVyLWVycm9yLWhpZ2hsaWdodC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChjaWRl ci1mcmFnaWxlLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9y ICxmZy1hbHQgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAoY2lkZXItZnJpbmdlLWdvb2QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWN0aXZlKSkpDQotICAgYChjaWRlci1pbnN0cnVtZW50ZWQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6 bGluZS13aWR0aCAtMSA6Y29sb3IgLHJlZCA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGlt KSkpDQotICAgYChjaWRlci1yZWFkZXItY29uZGl0aW9uYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGNpZGVyLXJlcGwt aW5wdXQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChjaWRlci1yZXBsLXBy b21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAo Y2lkZXItcmVwbC1zdGRlcnItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKGNpZGVyLXJlcGwtc3Rkb3V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKGNpZGVyLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJv eCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlIDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxi Zy1kaW0pKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZXJyb3ItY2xhc3MtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJh Y2UtZXJyb3ItbWVzc2FnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVy IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1maWx0ZXItYWN0 aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0IDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoY2lkZXItc3RhY2t0cmFjZS1maWx0ZXItaW5hY3RpdmUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZm4tZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjaWRlci1z dGFja3RyYWNlLW5zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgaXRh bGljKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLXByb21vdGVkLWJ1dHRvbi1mYWNlICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1hbHQgOnN0eWxlIHJlbGVhc2VkLWJ1 dHRvbikgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1zdXBwcmVz c2VkLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1h bHQgOnN0eWxlIHByZXNzZWQtYnV0dG9uKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAoY2lkZXItdGVzdC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGNpZGVyLXRlc3QtZmFpbHVyZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAg IGAoY2lkZXItdGVzdC1zdWNjZXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoY2lkZXItdHJhY2VkLWZhY2UgKCgsY2xhc3MgOmJveCAo OmxpbmUtd2lkdGggLTEgOmNvbG9yICxjeWFuIDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1k aW0pKSkNCi0gICBgKGNpZGVyLXdhcm5pbmctaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBjaXJjZSAoYW5kIGx1aSkNCi0g ICBgKGNpcmNlLWZvb2wtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChjaXJjZS1oaWdobGlnaHQtbmljay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGNpcmNlLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjaXJjZS1zZXJ2ZXIt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChsdWktYnV0 dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlKSkpDQot ICAgYChsdWktaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotICAgYChsdWktdGltZS1zdGFtcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LW51YW5jZWQpKSkNCi07Ozs7OyBjb2xvci1yZw0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNv bHVtbi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChjb2xvci1yZy1mb250LWxvY2stY29tbWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stZmlsZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KGNvbG9yLXJnLWZvbnQtbG9jay1mbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLWJsdWUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1mdW5jdGlvbi1sb2NhdGlv biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGNv bG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUt ZWRpdC1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAo Y29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5lLWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5l LXRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3Itcmct Zm9udC1sb2NrLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXJrLWNoYW5nZWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2Nr LW1hcmstZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1wb3NpdGlvbi1z cGxpdHRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgY29sdW1uLWVu Zm9yY2UtbW9kZQ0KLSAgIGAoY29sdW1uLWVuZm9yY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotOzs7OzsgY29tcGFueS1tb2RlDQotICAgYChj b21wYW55LWVjaG8tY29tbW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoY29tcGFueS1wcmV2aWV3ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0g OmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoY29tcGFueS1wcmV2aWV3LWNvbW1vbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGNvbXBhbnktcHJldmlldy1zZWFy Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChj b21wYW55LXNjcm9sbGJhci1iZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQot ICAgYChjb21wYW55LXNjcm9sbGJhci1mZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWN0aXZl KSkpDQotICAgYChjb21wYW55LXRlbXBsYXRlLWZpZWxkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY29tcGFu eS10b29sdGlwLWFubm90YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtYW5u b3RhdGlvbi1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLWNvbW1vbiAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLWNvbW1v bi1zZWxlY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNvbXBh bnktdG9vbHRpcC1tb3VzZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJs dWUpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLXJlZmluZS1jeWFuIGJvbGQpKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtc2Vh cmNoLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl biBib2xkKSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1zZWxlY3Rpb24g KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQpKSkpDQotOzs7 OzsgY29tcGFueS1wb3NmcmFtZQ0KLSAgIGAoY29tcGFueS1wb3NmcmFtZS1hY3RpdmUtYmFja2Vu ZC1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9y ZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUtaW5hY3RpdmUt YmFja2VuZC1uYW1lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQg LGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS1wb3NmcmFtZS1tZXRhZGF0YSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7 OzsgY29tcGlsYXRpb24gZmVlZGJhY2sNCi0gICBgKGNvbXBpbGF0aW9uLWNvbHVtbi1udW1iZXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjb21waWxh dGlvbi1lcnJvciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkg OmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY29tcGlsYXRpb24taW5mbyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChjb21waWxhdGlvbi1saW5lLW51bWJl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChjb21waWxh dGlvbi1tb2RlLWxpbmUtZXhpdCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xk LXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChjb21waWxhdGlvbi1t b2RlLWxpbmUtZmFpbCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdo dCkgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGNvbXBpbGF0aW9uLW1vZGUtbGlu ZS1ydW4gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGlsYXRpb24td2FybmluZyAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLTs7Ozs7IGNvbXBsZXRpb25zDQotICAgYChjb21wbGV0aW9ucy1hbm5vdGF0aW9u cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGNvbXBsZXRpb25zLWNvbW1vbi1wYXJ0ICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLW51YW5jZWQtYmcNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tcmVmaW5lLWJnIGN5YW4t cmVmaW5lLWZnKSkpKQ0KLSAgIGAoY29tcGxldGlvbnMtZmlyc3QtZGlmZmVyZW5jZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IGJsdWUt bnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWludGVuc2UtYmcgZmctbWFpbikpKSkNCi07Ozs7OyBjb3Vuc2VsDQotICAgYChj b3Vuc2VsLWFjdGl2ZS1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoY291bnNlbC1hcHBsaWNhdGlvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLWtleS1iaW5kaW5nICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2Vs LW91dGxpbmUtMSAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTEpKSkNCi0gICBgKGNvdW5zZWwt b3V0bGluZS0yICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtMikpKQ0KLSAgIGAoY291bnNlbC1v dXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS0zKSkpDQotICAgYChjb3Vuc2VsLW91 dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTQpKSkNCi0gICBgKGNvdW5zZWwtb3V0 bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNSkpKQ0KLSAgIGAoY291bnNlbC1vdXRs aW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS02KSkpDQotICAgYChjb3Vuc2VsLW91dGxp bmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTcpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGlu ZS04ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtOCkpKQ0KLSAgIGAoY291bnNlbC1vdXRsaW5l LWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90 aGVyKSkpDQotICAgYChjb3Vuc2VsLXZhcmlhYmxlLWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LTs7Ozs7IGNvdW5zZWwtY3NzDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNl LTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVj dG9yLWRlcHRoLWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY291 bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS00ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZh Y2UtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoY291bnNlbC1jc3Mt c2VsZWN0b3ItZGVwdGgtZmFjZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7 OyBjb3Vuc2VsLW5vdG11Y2gNCi0gICBgKGNvdW5zZWwtbm90bXVjaC1jb3VudC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtZGF0ZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtcGVv cGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGNvdW5zZWwt bm90bXVjaC1zdWJqZWN0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotOzs7OzsgY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCi0gICBgKGNvdW5zZWwt b3JnLWNhcHR1cmUtc3RyaW5nLXRlbXBsYXRlLWJvZHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgY292DQotICAgYChjb3YtY292ZXJhZ2Utbm90 LXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoY292 LWNvdmVyYWdlLXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkp DQotICAgYChjb3YtaGVhdnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRl bnNlKSkpDQotICAgYChjb3YtbGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1p bnRlbnNlKSkpDQotICAgYChjb3YtbWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1pbnRlbnNlKSkpDQotICAgYChjb3Ytbm9uZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWludGVuc2UpKSkNCi07Ozs7OyBjcGVybC1tb2RlDQotICAgYChjcGVybC1ub25vdmVycmlk YWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAg YChjcGVybC1hcnJheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGNwZXJsLWhhc2gtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJl ZC1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGNzdi1tb2RlDQotICAg YChjc3Ytc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29s ZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGN0cmxmDQotICAgYChjdHJsZi1oaWdo bGlnaHQtYWN0aXZlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu IGJvbGQpKSkpDQotICAgYChjdHJsZi1oaWdobGlnaHQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChjdHJsZi1oaWdobGlnaHQtcGFzc2l2ZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7Ozs7IGN1c3RvbSAo TS14IGN1c3RvbWl6ZSkNCi0gICBgKGN1c3RvbS1idXR0b24gKCgsY2xhc3MgOmJveCAoOmxpbmUt d2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGN1c3RvbS1idXR0b24tbW91c2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lk dGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZn LWFjdGl2ZSkpKQ0KLSAgIGAoY3VzdG9tLWJ1dHRvbi1wcmVzc2VkICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcHJlc3NlZC1idXR0b24pDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY3VzdG9tLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGN1c3RvbS1jb21tZW50ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGN1c3RvbS1jb21tZW50LXRhZyAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQot ICAgYChjdXN0b20tZmFjZS10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1pbnRlbnNlKSkpDQotICAgYChjdXN0b20tZ3JvdXAtdGFnICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKGN1c3RvbS1ncm91cC10 YWctMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KGN1c3RvbS1pbnZhbGlkICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCBib2xkKSkpKQ0KLSAgIGAoY3VzdG9tLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChjdXN0b20tcm9ndWUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGN1c3RvbS1zZXQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjdXN0b20tc3RhdGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjdXN0b20tdGhlbWVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChjdXN0b20tdmFy aWFibGUtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07 Ozs7OyBkYXAtbW9kZQ0KLSAgIGAoZGFwLW1vdXNlLWV2YWwtdGhpbmctZmFjZSAoKCxjbGFzcyA6 Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUtYWN0aXZlIDpzdHlsZSBuaWwpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3Rp dmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRhcC1yZXN1bHQtb3ZlcmxheS1mYWNl ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmctYWN0aXZlIDpzdHlsZSBu aWwpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAs YmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkYXAtdWktYnJlYWtwb2lu dC12ZXJpZmllZC1mcmluZ2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWN0aXZlKSkpDQotICAgYChkYXAtdWktY29tcGlsZS1lcnJsaW5lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYChkYXAtdWktbG9jYWxz LXNjb3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGRhcC11aS1sb2NhbHMtdmFyaWFibGUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkYXAtdWktbG9jYWxz LXZhcmlhYmxlLWxlYWYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIg OnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZGFwLXVpLW1hcmtlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChkYXAtdWktc2Vzc2lvbnMtc3Rh Y2stZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAoZGFwLXVpLXNlc3Npb25zLXRlcm1pbmF0ZWQtYWN0aXZlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkYXAtdWkt c2Vzc2lvbnMtdGVybWluYXRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci07Ozs7OyBkYXNoYm9hcmQgKGVtYWNzLWRhc2hib2FyZCkNCi0gICBgKGRhc2hib2FyZC1iYW5u ZXItbG9nby10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGRhc2hib2FyZC1mb290ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChkYXNoYm9hcmQtaGVhZGlu ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKGRhc2hib2FyZC1uYXZpZ2F0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQotICAgYChkYXNoYm9hcmQtdGV4dC1iYW5uZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IGRlYWRncmVwDQotICAgYChkZWFkZ3JlcC1maWxlbmFtZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAoZGVhZGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGRlYWRncmVwLW1ldGEtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWFkZ3JlcC1yZWdleHAtbWV0YWNoYXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAg IGAoZGVhZGdyZXAtc2VhcmNoLXRlcm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotOzs7OzsgZGViYnVncw0KLSAgIGAoZGViYnVncy1n bnUtYXJjaGl2ZWQgKCgsY2xhc3MgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAoZGViYnVncy1n bnUtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWJidWdzLWdu dS1mb3J3YXJkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAg IGAoZGViYnVncy1nbnUtaGFuZGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKGRlYmJ1Z3MtZ251LW5ldyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChk ZWJidWdzLWdudS1wZW5kaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChk ZWJidWdzLWdudS1zdGFsZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkp KQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0KSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS01ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkZWJidWdzLWdudS10YWdnZWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgZGVmaW5lLXdvcmQNCi0gICBg KGRlZmluZS13b3JkLWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAg YChkZWZpbmUtd29yZC1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07 Ozs7OyBkZWZ0DQotICAgYChkZWZ0LWZpbHRlci1zdHJpbmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChkZWZ0LWZpbHRlci1zdHJp bmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAoZGVm dC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCi0gICBgKGRlZnQtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGVmdC1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChkZWZ0LXRpbWUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkZWZ0 LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLTs7Ozs7IGRpY3Rpb25hcnkNCi0gICBgKGRpY3Rpb25hcnktYnV0dG9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChk aWN0aW9uYXJ5LXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGljdGlvbmFyeS13b3JkLWRlZmluaXRpb24tZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGljdGlvbmFyeS13b3JkLWVu dHJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgZGlmZi1obA0KLSAgIGAoZGlmZi1obC1jaGFuZ2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZGlm Zi1obC1kZWxldGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0K LSAgIGAoZGlmZi1obC1kaXJlZC1jaGFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1obC1jaGFu Z2UpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtZGVsZXRlICgoLGNsYXNzIDppbmhlcml0IGRpZmYt aGwtZGVsZXRlKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWlnbm9yZWQgKCgsY2xhc3MgOmluaGVy aXQgZGlyZWQtaWdub3JlZCkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1pbnNlcnQgKCgsY2xhc3Mg OmluaGVyaXQgZGlmZi1obC1pbnNlcnQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtdW5rbm93biAo KCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1pZ25vcmVkKSkpDQotICAgYChkaWZmLWhsLWluc2VydCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGRpZmYt aGwtcmV2ZXJ0ZWQtaHVuay1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWFjdGl2ZS1tYWdlbnRhIGJvbGQpKSkpDQotOzs7OzsgZGlmZi1tb2RlDQotICAgYChkaWZmLWFk ZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQpKSkNCi0gICBgKGRp ZmYtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQpKSkN Ci0gICBgKGRpZmYtY29udGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkp DQotICAgYChkaWZmLWZpbGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKGRpZmYtZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGlmZi1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZGlmZi1odW5rLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcpKSkNCi0gICBgKGRpZmYtaW5kZXggKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGRpZmYtaW5kaWNh dG9yLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IGRpZmYtYWRkZWQpKSkNCi0gICBgKGRpZmYtaW5k aWNhdG9yLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1jaGFuZ2VkKSkpDQotICAgYChk aWZmLWluZGljYXRvci1yZW1vdmVkICgoLGNsYXNzIDppbmhlcml0IGRpZmYtcmVtb3ZlZCkpKQ0K LSAgIGAoZGlmZi1ub25leGlzdGVudCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtbmV1 dHJhbCBib2xkKSkpKQ0KLSAgIGAoZGlmZi1yZWZpbmUtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkNCi0gICBgKGRpZmYtcmVmaW5lLWNoYW5n ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCkpKQ0K LSAgIGAoZGlmZi1yZWZpbmUtcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1k aWZmLXJlZmluZS1yZW1vdmVkKSkpDQotICAgYChkaWZmLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkKSkpDQotOzs7OzsgZGltLWF1dG9sb2FkDQotICAg YChkaW0tYXV0b2xvYWQtY29va2llLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgZGlyLXRyZWV2aWV3DQotICAgYChk aXItdHJlZXZpZXctYXJjaGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi0gICBgKGRpci10cmVldmlldy1hcmNoaXZlLWljb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWF1ZGlvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKGRpci10cmVldmlldy1hdWRpby1pY29uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWNvbnRyb2wtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctY29udHJvbC1tb3VzZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGhpZ2hsaWdodCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWRlZmF1 bHQtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZhbWlseSAiRm9udCBBd2Vzb21l IiA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctZGVmYXVsdC1maWxl bmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkaXItdHJl ZXZpZXctZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBg KGRpci10cmVldmlldy1kaXJlY3RvcnktaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10 cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBg KGRpci10cmVldmlldy1leGVjdXRhYmxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCi0gICBgKGRpci10cmVldmlldy1leGVjdXRhYmxlLWljb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIpKSkNCi0gICBgKGRpci10cmVldmlldy1pbWFnZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGRpci10cmVldmlldy1pbWFnZS1pY29u LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpm b3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1pbmRlbnQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctbGFiZWwt bW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGlnaHQpKSkNCi0gICBgKGRpci10cmVl dmlldy1zdGFydC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8t aGVhZGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctc3ltbGluay1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXZpZGVv LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChk aXItdHJlZXZpZXctdmlkZW8taWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmll dy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07 Ozs7OyBkaXJlZA0KLSAgIGAoZGlyZWQtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotICAgYChkaXJlZC1mbGFnZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LW1hcmstZGVsKSkpDQotICAgYChkaXJlZC1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyZWQtaWdub3JlZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQotICAgYChkaXJlZC1tYXJrZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCi0gICBgKGRpcmVkLXBlcm0td3JpdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGlyZWQtc3ltbGlu ayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAg YChkaXJlZC13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLTs7Ozs7IGRpcmVkLWFzeW5jDQotICAgYChkaXJlZC1hc3luYy1mYWlsdXJlcyAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKGRpcmVkLWFzeW5jLW1lc3NhZ2UgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkN Ci0gICBgKGRpcmVkLWFzeW5jLW1vZGUtbWVzc2FnZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotOzs7Ozsg ZGlyZWQtZ2l0DQotICAgYChkaXJlZC1naXQtYnJhbmNoLWVsc2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRpcmVkLWdpdC1icmFuY2gt bWFzdGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotOzs7OzsgZGlyZWQtZ2l0LWluZm8NCi0gICBgKGRnaS1jb21taXQtbWVzc2FnZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBkaXJl ZC1uYXJyb3cNCi0gICBgKGRpcmVkLW5hcnJvdy1ibGluayAoKCxjbGFzcyA6aW5oZXJpdCAobW9k dXMtdGhlbWUtc3VidGxlLWN5YW4gYm9sZCkpKSkNCi07Ozs7OyBkaXJlZC1zdWJ0cmVlDQotICAg OzsgcmVtb3ZlIGJhY2tncm91bmQgZnJvbSBkaXJlZC1zdWJ0cmVlLCBlbHNlIGl0IGJyZWFrcw0K LSAgIDs7IGRpcmVkLXtmbGFnZ2VkLG1hcmtlZH0gYW5kIGFueSBvdGhlciBmYWNlIHRoYXQgc2V0 cyBhIGJhY2tncm91bmQNCi0gICA7OyBzdWNoIGFzIGhsLWxpbmUNCi0gICBgKGRpcmVkLXN1YnRy ZWUtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQt c3VidHJlZS1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgbmlsKSkpDQotICAgYChk aXJlZC1zdWJ0cmVlLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi0g ICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkp KQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg bmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCBuaWwpKSkNCi07Ozs7OyBkaXJlZGZsDQotICAgYChkaXJlZGZsLWF1dG9maWxlLW5hbWUg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChkaXJl ZGZsLWNvbXByZXNzZWQtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi0gICBgKGRpcmVkZmwtY29tcHJlc3NlZC1maWxlLXN1ZmZpeCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1kYXRlLXRpbWUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChkaXJlZGZsLWRlbGV0aW9uICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQotICAgYChkaXJlZGZsLWRl bGV0aW9uLWZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkp KQ0KLSAgIGAoZGlyZWRmbC1kaXItaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1wc2V1ZG8taGVhZGVyKSkpDQotICAgYChkaXJlZGZsLWRpci1uYW1lICgoLGNsYXNzIDppbmhl cml0IGRpcmVkLWRpcmVjdG9yeSkpKQ0KLSAgIGAoZGlyZWRmbC1kaXItcHJpdiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGRpcmVkZmwtZXhlYy1wcml2ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChkaXJlZGZsLWV4ZWN1dGFibGUtdGFnICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1maWxlLW5h bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpcmVkZmwtZmlsZS1z dWZmaXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGRpcmVkZmwtZmxhZy1t YXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChkaXJl ZGZsLWZsYWctbWFyay1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2Vs KSkpDQotICAgYChkaXJlZGZsLWlnbm9yZWQtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKGRpcmVkZmwtbGluay1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyZWRmbC1uby1wcml2ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpcmVkZmwtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1vdGhlci1wcml2ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpcmVkZmwtcmFyZS1wcml2ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkaXJlZGZsLXJlYWQtcHJpdiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGlyZWRmbC1zeW1saW5rICgoLGNsYXNzIDppbmhl cml0IGRpcmVkLXN5bWxpbmspKSkNCi0gICBgKGRpcmVkZmwtdGFnZ2VkLWF1dG9maWxlLW5hbWUg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGRp cmVkZmwtd3JpdGUtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGRp c2stdXNhZ2UNCi0gICBgKGRpc2stdXNhZ2UtY2hpbGRyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KLSAgIGAoZGlzay11c2FnZS1pbmFjY2Vzc2libGUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChkaXNrLXVzYWdlLXBlcmNlbnQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChkaXNrLXVzYWdlLXNpemUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGRpc2stdXNhZ2Utc3ltbGluayAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGRpc2stdXNhZ2Ut c3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCi07Ozs7OyBkb29tLW1vZGVsaW5lDQotICAgYChkb29tLW1vZGVsaW5lLWJhciAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1iYXItaW5hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWluYWN0aXZlIDpm b3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktY2hhcmdp bmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2Rl bGluZS1iYXR0ZXJ5LWNyaXRpY2FsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1lcnJvciAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIC0yKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAg YChkb29tLW1vZGVsaW5lLWJhdHRlcnktZnVsbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h Y3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1ub3JtYWwgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LXdhcm5p bmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0K LSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLW1ham9y LW1vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLW1pbm9yLW1vZGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1tb2RpZmllZCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAoZG9vbS1tb2RlbGluZS1idWZmZXItcGF0aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZGVidWcgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1kZWJ1Zy12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLWVtYWNzLXN0YXRlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChk b29tLW1vZGVsaW5lLWV2aWwtaW5zZXJ0LXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLW1vdGlv bi1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkp KQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLW5vcm1hbC1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZp bC1vcGVyYXRvci1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLXJlcGxhY2Utc3RhdGUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1ldmlsLXZpc3VhbC1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1oaWdobGlnaHQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtaG9zdCAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkb29tLW1vZGVs aW5lLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9v bS1tb2RlbGluZS1sc3AtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1sc3Atc3VjY2VzcyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9k ZWxpbmUtbHNwLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVs bG93LWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wYW5lbCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wZXJzcC1i dWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlIDpz bGFudCBpdGFsaWMpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGVyc3AtbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXByb2plY3QtZGly ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAg YChkb29tLW1vZGVsaW5lLXByb2plY3QtcGFyZW50LWRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcHJvamVjdC1yb290LWRpciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXVucmVh ZC1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSA6c2xhbnQgaXRhbGljKSkp DQotICAgYChkb29tLW1vZGVsaW5lLXVyZ2VudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXdhcm5pbmcgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7IGR5 bmFtaWMtcnVsZXINCi0gICBgKGR5bmFtaWMtcnVsZXItbmVnYXRpdmUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBgKGR5bmFtaWMtcnVs ZXItcG9zaXRpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXll bGxvdykpKQ0KLTs7Ozs7IGVhc3ktamVreWxsDQotICAgYChlYXN5LWpla3lsbC1oZWxwLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi07Ozs7OyBlYXN5LWtpbGwNCi0gICBgKGVhc3kta2lsbC1vcmlnaW4gKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAoZWFzeS1raWxsLXNlbGVjdGlv biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93KSkpDQotOzs7Ozsg ZWJkYg0KLSAgIGAoZWJkYi1hZGRyZXNzLWRlZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKGViZGItZGItY2hhciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChlYmRiLWRlZnVuY3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoZWJkYi1maWVsZC1oaWRkZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCi0gICBgKGViZGItZmllbGQtdXJsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChlYmRiLWxhYmVsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KLSAgIGAoZWJkYi1tYWlsLWRlZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGViZGItbWFpbC1wcmltYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAoZWJkYi1tYXJrZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50 ZW5zZS1iZykpKQ0KLSAgIGAoZWJkYi1vcmdhbml6YXRpb24tbmFtZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChlYmRiLXBlcnNvbi1uYW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZWJkYi1waG9uZS1kZWZh dWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGViZGIt cm9sZS1kZWZ1bmN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVpZWlv LWN1c3RvbS1zbG90LXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot Ozs7OzsgZWRpZmYNCi0gICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4g b2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcy4N Ci0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1BICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBy ZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3Zl ZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlZC1udWFuY2VkLWJnIHJlZC1mYWludCkpKSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1B bmNlc3RvciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29s ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXNwZWNp YWwtY29sZCBmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBibHVlLW51YW5jZWQtYmcgYmx1ZSkpKSkNCi0gICBgKGVkaWZmLWN1cnJl bnQtZGlmZi1CICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBncmVlbg0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVkDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGdy ZWVuLWZhaW50KSkpKQ0KLSAgIGAoZWRpZmYtY3VycmVudC1kaWZmLUMgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctZGltIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgeWVsbG93LWZhaW50KSkpKQ0KLSAg IGAoZWRpZmYtZXZlbi1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJh bC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAoZWRpZmYtZXZlbi1k aWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9y ZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2ZW4tZGlmZi1CICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlm Zi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2ZW4tZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkN Ci0gICBgKGVkaWZmLWZpbmUtZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWZv Y3VzLXJlbW92ZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKQ0KLSAgIGAo ZWRpZmYtZmluZS1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuKSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGlmZi1mb2N1cy1hZGRlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1hZGRlZCkp KQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYt Zm9jdXMtY2hhbmdlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpDQotICAg YChlZGlmZi1vZGQtZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwt MiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZm LUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMCA6Zm9yZWdy b3VuZCAsZmctZGlmZi1uZXV0cmFsLTApKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMikpKQ0KLSAgIGAoZWRpZmYtb2RkLWRpZmYtQyAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotOzs7 OzsgZWdsb3QNCi0gICBgKGVnbG90LW1vZGUtbGluZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7 OzsgZWwtc2VhcmNoDQotICAgYChlbC1zZWFyY2gtaGlnaGxpZ2h0LWluLXByb21wdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChl bC1zZWFyY2gtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl bikpKQ0KLSAgIGAoZWwtc2VhcmNoLW90aGVyLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoZWwtc2VhcmNoLW9jY3VyLW1hdGNoICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IGVsZG9jDQot ICAgOzsgTk9URTogc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wdXJjZWxsL3BhY2thZ2UtbGludC9p c3N1ZXMvMTg3DQotICAgKGxpc3QgJ2VsZG9jLWhpZ2hsaWdodC1mdW5jdGlvbi1hcmd1bWVudCBg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07 Ozs7OyBlbGRvYy1ib3gNCi0gICBgKGVsZG9jLWJveC1ib2R5ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGVsZG9jLWJveC1ib3JkZXIg KCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGVsZmVlZA0KLSAgIGAoZWxm ZWVkLWxvZy1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAg YChlbGZlZWQtbG9nLWRlYnVnLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGVsZmVlZC1sb2ctZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChlbGZlZWQtbG9nLWluZm8tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGVsZmVlZC1sb2ctd2Fybi1sZXZlbC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtZGF0ZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGVsZmVlZC1z ZWFyY2gtZmVlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlbGZl ZWQtc2VhcmNoLWZpbHRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChlbGZlZWQtc2VhcmNoLWxhc3QtdXBkYXRlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChlbGZlZWQtc2VhcmNo LXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGVs ZmVlZC1zZWFyY2gtdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQot ICAgYChlbGZlZWQtc2VhcmNoLXVucmVhZC1jb3VudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtdW5yZWFkLXRpdGxlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGVs ZmVlZC1zY29yZQ0KLSAgIGAoZWxmZWVkLXNjb3JlLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZWxmZWVkLXNjb3JlLWRlYnVnLWxldmVsLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChlbGZlZWQtc2NvcmUt ZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlbGZl ZWQtc2NvcmUtaW5mby1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChlbGZlZWQtc2NvcmUtd2Fybi1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi07Ozs7OyBlbW1zDQotICAgYChlbW1zLXBsYXlsaXN0LXRyYWNrLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVtbXMtcGxheWxpc3Qtc2VsZWN0ZWQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7 OzsgZW5oYW5jZWQtcnVieS1tb2RlDQotICAgYChlbmgtcnVieS1oZXJlZG9jLWRlbGltaXRlci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZW5oLXJ1 Ynktb3AtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZW5oLXJ1 YnktcmVnZXhwLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAoZW5oLXJ1YnktcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCi0gICBgKGVuaC1ydWJ5LXN0cmluZy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGVybS1zeW4tZXJybGluZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZXJtLXN5bi13YXJubGluZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGVwYQ0KLSAgIGAo ZXBhLWZpZWxkLWJvZHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGVw YS1maWVsZC1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkp KQ0KLSAgIGAoZXBhLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoZXBhLXN0cmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKGVwYS12YWxpZGl0eS1kaXNhYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChlcGEtdmFsaWRpdHktaGlnaCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGVwYS12YWxp ZGl0eS1sb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXBhLXZhbGlk aXR5LW1lZGl1bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotOzs7OzsgZXF1 YWtlDQotICAgYChlcXVha2UtYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h aW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLWVzaGVs bCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGdyZWVuLWFj dGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtcmFzaCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1z aGVsbC10eXBlLXNoZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdy b3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXRlcm0gKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkp DQotICAgYChlcXVha2Utc2hlbGwtdHlwZS12dGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChlcXVha2UtdGFi LWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQp KSkNCi0gICBgKGVxdWFrZS10YWItaW5hY3RpdmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlKSkpDQotOzs7OzsgZXJjDQotICAgYChlcmMtYWN0aW9uLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZXJjLWJvbGQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChlcmMtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbikpKQ0KLSAgIGAoZXJjLWNvbW1hbmQtaW5kaWNhdG9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGVyYy1jdXJyZW50LW5p Y2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KGVyYy1kYW5nZXJvdXMtaG9zdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtcmVkKSkpDQotICAgYChlcmMtZGlyZWN0LW1zZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChlcmMtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVyYy1mb29sLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChlcmMtaGVhZGVyLWxpbmUgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChl cmMtaW5wdXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQot ICAgYChlcmMtaW52ZXJzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVyYy1kZWZhdWx0LWZhY2Ug OmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAoZXJjLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZXJjLW15LW5pY2st ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChlcmMtbXktbmljay1wcmVmaXgtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtbXktbmljay1m YWNlKSkpDQotICAgYChlcmMtbmljay1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZXJjLW5pY2stbXNnLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGVyYy1uaWNrLXByZWZp eC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVyYy1uaWNrLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAo ZXJjLW5vdGljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0g ICBgKGVyYy1wYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0KSkpDQotICAgYChlcmMtcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGVyYy10aW1lc3RhbXAtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChlcmMtdW5kZXJsaW5lLWZh Y2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTAgKCgs Y2xhc3MgOmJhY2tncm91bmQgIndoaXRlIikpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxICgo LGNsYXNzIDpiYWNrZ3JvdW5kICJibGFjayIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTAg KCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29s b3ItZmFjZTExICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBg KGJnOmVyYy1jb2xvci1mYWNlMTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJn KSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTEzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdl bnRhLXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxNCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAiZ3JheTYwIikpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAiZ3JheTgwIikpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UyICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNl MyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJj LWNvbG9yLWZhY2U0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtc3VidGxlLWJnKSkpDQotICAg YChiZzplcmMtY29sb3ItZmFjZTUgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJn KSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTYgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2Vu dGEtcmVmaW5lLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTcgKCgsY2xhc3MgOmJhY2tn cm91bmQgLHllbGxvdy1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlOCAoKCxj bGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXJlZmluZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9y LWZhY2U5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1zdWJ0bGUtYmcpKSkNCi0gICBgKGZn OmVyYy1jb2xvci1mYWNlMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAid2hpdGUiKSkpDQotICAgYChm ZzplcmMtY29sb3ItZmFjZTEgKCgsY2xhc3MgOmZvcmVncm91bmQgImJsYWNrIikpKQ0KLSAgIGAo Zmc6ZXJjLWNvbG9yLWZhY2UxMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo Zmc6ZXJjLWNvbG9yLWZhY2UxMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTE0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICJncmF5NjAiKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTE1ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICJncmF5ODAiKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTMgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U1ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTYgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChmZzplcmMtY29sb3It ZmFjZTcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGZn OmVyYy1jb2xvci1mYWNlOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAg IGAoZmc6ZXJjLWNvbG9yLWZhY2U5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3Ro ZXIpKSkNCi07Ozs7OyBlcm9zDQotICAgYChlcm9zLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KLTs7Ozs7IGVydA0KLSAgIGAoZXJ0LXRlc3QtcmVzdWx0LWV4cGVjdGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGVydC10ZXN0 LXJlc3VsdC11bmV4cGVjdGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkKSkpDQotOzs7OzsgZXNoZWxsDQotICAgYChlc2hlbGwtbHMtYXJjaGl2ZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLWJh Y2t1cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxz LWNsdXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGVzaGVsbC1s cy1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKGVzaGVsbC1scy1leGVjdXRhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLW1pc3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKGVzaGVsbC1scy1wcm9kdWN0ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGVzaGVsbC1scy1yZWFkb25s eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChlc2hlbGwt bHMtc3BlY2lhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChlc2hlbGwtbHMtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGVzaGVsbC1scy11bnJlYWRhYmxlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGVz aGVsbC1wcm9tcHQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXBy b21wdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBncmVlbi1hbHQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVmaW5lLWJnIGZnLW1haW4p KSkpDQotOzs7OzsgZXNoZWxsLWZyaW5nZS1zdGF0dXMNCi0gICBgKGVzaGVsbC1mcmluZ2Utc3Rh dHVzLWZhaWx1cmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxsLWZy aW5nZS1zdGF0dXMtc3VjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi07Ozs7 OyBlc2hlbGwtZ2l0LXByb21wdA0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYWRkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYnJh bmNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWdp dC1wcm9tcHQtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQtZmFpbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQtc3VjY2Vzcy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtbW9kaWZp ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChlc2hlbGwtZ2l0 LXByb21wdC1wb3dlcmxpbmUtY2xlYW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4t cmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtZGlyLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0 LXByb21wdC1wb3dlcmxpbmUtbm90LWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1h Z2VudGEtcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1i cmFuY2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlc2hlbGwtZ2l0 LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZGlydHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7Ozs7IGVzaGVsbC1wcm9tcHQtZXh0cmFz IChlcGUpDQotICAgYChlcGUtZGlyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlcGUtZ2l0LWRpci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChlcGUtZ2l0 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChlcGUtcGlwZWxp bmUtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAg IGAoZXBlLXBpcGVsaW5lLWhvc3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LSAgIGAoZXBlLXBpcGVsaW5lLXRpbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChlcGUtcGlwZWxpbmUtdXNlci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlcGUtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChlcGUtc3Rh dHVzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChlcGUtdmVudi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQotICAg YChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1hbGlhcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1jb21tZW50LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1o aWdobGlnaHRpbmctZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWVudnZhci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRp bmctaW52YWxpZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVzaGVs bC1zeW50YXgtaGlnaGxpZ2h0aW5nLWxpc3AtZnVuY3Rpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctc2hlbGwt Y29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAg IGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgZXZpbC1tb2RlDQotICAgYChldmlsLWV4LWNvbW1h bmRzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXZp bC1leC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAo ZXZpbC1leC1sYXp5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtY3lhbikpKQ0KLSAgIGAoZXZpbC1leC1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLW1hdGNoZXMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKGV2aWwtZXgtc3Vic3RpdHV0ZS1yZXBsYWNlbWVudCAoKCxjbGFzcyA6aW5oZXJp dCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLTs7Ozs7IGV2aWwtZ29nZ2xl cw0KLSAgIGAoZXZpbC1nb2dnbGVzLWNoYW5nZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1jb21tZW50YXJ5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwgOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCkpKQ0KLSAgIGAoZXZpbC1n b2dnbGVzLWRlbGV0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1y ZWQpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1maWxsLWFuZC1tb3ZlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWlu ZGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkN Ci0gICBgKGV2aWwtZ29nZ2xlcy1qb2luLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChldmlsLWdvZ2dsZXMtbmVyZC1jb21tZW50ZXItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtY29tbWVudGFyeS1mYWNlKSkpDQotICAg YChldmlsLWdvZ2dsZXMtcGFzdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtY3lhbikpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXJlY29yZC1tYWNyby1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZXZpbC1nb2dn bGVzLXJlcGxhY2Utd2l0aC1yZWdpc3Rlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChldmlsLWdvZ2dsZXMtc2V0LW1hcmtlci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAo ZXZpbC1nb2dnbGVzLXNoaWZ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRl ZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXN1cnJvdW5kLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVz LXlhbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0K LTs7Ozs7IGV2aWwtdmlzdWFsLW1hcmstbW9kZQ0KLSAgIGAoZXZpbC12aXN1YWwtbWFyay1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLTs7Ozs7 IGV3dw0KLSAgIGAoZXd3LWludmFsaWQtY2VydGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hY3RpdmUpKSkNCi0gICBgKGV3dy12YWxpZC1jZXJ0aWZpY2F0ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChld3ctZm9ybS1jaGVja2JveCAoKCxjbGFz cyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAsZmctaW5hY3RpdmUgOnN0eWxlIHJlbGVhc2Vk LWJ1dHRvbikgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChld3ctZm9ybS1maWxlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9y ICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChld3ctZm9ybS1zZWxlY3QgKCgsY2xh c3MgOmluaGVyaXQgZXd3LWZvcm0tY2hlY2tib3gpKSkNCi0gICBgKGV3dy1mb3JtLXN1Ym1pdCAo KCxjbGFzcyA6aW5oZXJpdCBld3ctZm9ybS1maWxlKSkpDQotICAgYChld3ctZm9ybS10ZXh0ICgo LGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgbm9u ZSkgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAg YChld3ctZm9ybS10ZXh0YXJlYSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotOzs7OzsgZXllYnJvd3NlDQotICAgYChleWVicm93c2UtbW9kZS1s aW5lLWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KLTs7Ozs7IGZhbmN5LWRhYmJyZXYNCi0gICBgKGZhbmN5LWRhYmJyZXYtbWVudS1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoZmFuY3ktZGFiYnJldi1wcmV2aWV3LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZhbmN5LWRhYmJyZXYtc2VsZWN0aW9uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbiBib2xkKSkpKQ0KLTs7Ozs7 IGZseWNoZWNrDQotICAgYChmbHljaGVjay1lcnJvcg0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBw b3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGlu ZSAoOmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5Y2hlY2st ZXJyb3ItbGlzdC1jaGVja2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0 aXZlKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWNvbHVtbi1udW1iZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlz dC1lcnJvciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZv cmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1maWxlbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1oaWdo bGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAoZmx5 Y2hlY2stZXJyb3ItbGlzdC1pZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaWQtd2l0aC1leHBsYWluZXIgKCgsY2xh c3MgOmluaGVyaXQgZmx5Y2hlY2stZXJyb3ItbGlzdC1pZCA6Ym94IHQpKSkNCi0gICBgKGZseWNo ZWNrLWVycm9yLWxpc3QtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo Zmx5Y2hlY2stZXJyb3ItbGlzdC1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LXdhcm5pbmcgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZmx5Y2hlY2stZnJpbmdlLWVycm9yICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGZseWNoZWNr LWZyaW5nZS1pbmZvICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkp DQotICAgYChmbHljaGVjay1mcmluZ2Utd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChmbHljaGVjay1pbmZvDQotICAgICAoKCwoYXBw ZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAg ICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctbm90ZSA6c3R5bGUgd2F2ZSkpDQotICAgICAg KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAo Zmx5Y2hlY2stdmVyaWZ5LXNlbGVjdC1jaGVja2VyICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRo IDEgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSkpKQ0KLSAgIGAoZmx5Y2hlY2st d2FybmluZw0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLXdhcm5p bmcgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctd2Fy bmluZyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBmbHljaGVjay1jb2xvci1tb2RlLWxpbmUNCi0g ICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGZseWNoZWNrLWZyaW5nZS1lcnJvcikpKQ0KLSAgIGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5l LWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2UtaW5mbykpKQ0KLSAg IGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lLXJ1bm5pbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctaW5hY3RpdmUgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZmx5Y2hlY2stY29sb3It bW9kZS1saW5lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2Utd2Fy bmluZykpKQ0KLTs7Ozs7IGZseWNoZWNrLWluZGljYXRvcg0KLSAgIGAoZmx5Y2hlY2staW5kaWNh dG9yLWRpc2FibGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3ItZXJyb3IgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3ItaW5mbyAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQotICAgYChmbHljaGVjay1pbmRpY2F0b3ItcnVubmluZyAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQot ICAgYChmbHljaGVjay1pbmRpY2F0b3Itc3VjY2VzcyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAo Zmx5Y2hlY2staW5kaWNhdG9yLXdhcm5pbmcgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7OzsgZmx5 Y2hlY2stcG9zZnJhbWUNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJhY2tncm91bmQtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1i b3JkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmbHljaGVj ay1wb3NmcmFtZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbiA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmbHljaGVjay1w b3NmcmFtZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGZseW1ha2UNCi0gICBgKGZs eW1ha2UtZXJyb3INCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1l cnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1l cnJvciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseW1ha2Utbm90ZQ0KLSAgICAgKCgsKGFwcGVu ZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAg OnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLW5vdGUgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZs eW1ha2Utd2FybmluZw0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6 c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5n LXdhcm5pbmcgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxh bmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBmbHlzcGVsbA0KLSAgIGAoZmx5c3Bl bGwtZHVwbGljYXRlDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpz dHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmct d2FybmluZyA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFu Zy13YXJuaW5nIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5c3BlbGwtaW5jb3JyZWN0DQotICAg ICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNz KQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUp KQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0 KSkpDQotOzs7OzsgZmx5c3BlbGwtY29ycmVjdA0KLSAgIGAoZmx5c3BlbGwtY29ycmVjdC1oaWdo bGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkN Ci07Ozs7OyBmbHgNCi0gICBgKGZseC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGENCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdl bnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi07Ozs7OyBmcmVl emUtaXQNCi0gICBgKGZyZWV6ZS1pdC1zaG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0g OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7IGZyb2ctbWVudQ0KLSAgIGAo ZnJvZy1tZW51LWFjdGlvbi1rZXliaW5kaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyKSkpDQotICAgYChmcm9nLW1lbnUtYWN0aW9ucy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChmcm9nLW1lbnUtYm9yZGVyICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKGZyb2ctbWVudS1jYW5kaWRhdGVzLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGZyb2ctbWVudS1wb3NmcmFt ZS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAo ZnJvZy1tZW51LXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7 OzsgZm9jdXMNCi0gICBgKGZvY3VzLXVuZm9jdXNlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct dW5mb2N1c2VkKSkpDQotOzs7OzsgZm9sZC10aGlzDQotICAgYChmb2xkLXRoaXMtb3ZlcmxheSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBmb250 LWxvY2sNCi0gICBgKGZvbnQtbG9jay1idWlsdGluLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQt d2VpZ2h0KSkpKQ0KLSAgIGAoZm9udC1sb2NrLWNvbW1lbnQtZGVsaW1pdGVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChmb250LWxvY2stY29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm9udC1sb2NrLWNvbnN0YW50LWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUt YWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLWRvYy1mYWNlICgoLGNsYXNzICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZmctc3BlY2lhbC1jb2xkIGN5YW4tYWx0LW90aGVyLWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0K LSAgIGAoZm9udC1sb2NrLWtleXdvcmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt Ym9sZC13ZWlnaHQpKSkpDQotICAgYChmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXByZXByb2Nlc3Nv ci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdC1v dGhlciByZWQtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91 cGluZy1iYWNrc2xhc2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNj YXBlLWNoYXItYmFja3NsYXNoKSkpDQotICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWNv bnN0cnVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hh ci1jb25zdHJ1Y3QpKSkNCi0gICBgKGZvbnQtbG9jay1zdHJpbmctZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUtYWx0LWZhaW50KSkpKQ0KLSAgIGAo Zm9udC1sb2NrLXR5cGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdl bnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay12YXJpYWJsZS1u YW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBj eWFuLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXdhcm5pbmctZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWN0aXZlIHllbGxvdy1hbHQtZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLTs7Ozs7IGZvcmdlDQotICAgYChmb3JnZS1wb3N0LWF1dGhv ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChm b3JnZS1wb3N0LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoZm9yZ2UtdG9waWMtY2xvc2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGZvcmdlLXRvcGljLW1lcmdlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChmb3JnZS10b3BpYy1vcGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCi0gICBgKGZvcmdlLXRvcGljLXVubWVyZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvcmdlLXRvcGlj LXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot Ozs7OzsgZm91bnRhaW4tbW9kZQ0KLSAgIGAoZm91bnRhaW4tY2hhcmFjdGVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm91bnRhaW4tY29tbWVudCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0g ICBgKGZvdW50YWluLWRpYWxvZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0g ICBgKGZvdW50YWluLW1ldGFkYXRhLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 LW90aGVyKSkpDQotICAgYChmb3VudGFpbi1tZXRhZGF0YS12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZm91bnRhaW4tbm9uLXByaW50aW5nICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGZvdW50YWluLW5vdGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdyA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb3VudGFpbi1w YWdlLWJyZWFrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN Ci0gICBgKGZvdW50YWluLXBhZ2UtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGZvdW50YWluLXBhcmVuICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChmb3VudGFpbi1zY2VuZS1oZWFkaW5nICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm91bnRh aW4tc2VjdGlvbi1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12 YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLW1haW4NCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1v cGVyYW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5n LTEgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6 Zm9yZWdyb3VuZCAsZmctbWFpbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUt c2NhbGUtNCkpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy0yICgoLGNsYXNzIDpp bmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUt MykpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy0zICgoLGNsYXNzIDppbmhlcml0 IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtbWlsZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMikpKSkN Ci0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy00ICgoLGNsYXNzIDppbmhlcml0IChib2xk ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2Fs bQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMSkpKSkNCi0gICBg KGZvdW50YWluLXNlY3Rpb24taGVhZGluZy01ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1 cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0K LSAgIGAoZm91bnRhaW4tc3lub3BzaXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChmb3VudGFpbi10cmFucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1v dGhlcikpKQ0KLTs7Ozs7IGdlaXNlcg0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWN1 cnJlbnQtYXJnICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1hdXRv ZG9jLWlkZW50aWZpZXIgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stZG9jLWJ1 dHRvbiAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0IGN5 YW4tYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1kb2MtbGluayAoKCxjbGFz cyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLWVycm9yLWxpbmsgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnVuZGVybGlu ZSB0KSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLWltYWdlLWJ1dHRvbiAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0IGdyZWVuLWFsdC1mYWludCkN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBsLWlucHV0ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stcmVwbC1vdXRwdXQgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1h bHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtcHJvbXB0ICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5 YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWhlYWRl ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXhyZWYt bGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotOzs7OzsgZ2l0LWNvbW1pdA0KLSAgIGAo Z2l0LWNvbW1pdC1jb21tZW50LWFjdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1icmFu Y2gtbG9jYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0IDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1icmFuY2gtcmVtb3RlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtZGV0YWNoZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQt Y29tbWVudC1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWhlYWRpbmcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltIDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQta2V5d29yZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1rbm93bi1wc2V1ZG8taGVhZGVyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1u b25lbXB0eS1zZWNvbmQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt eWVsbG93KSkpDQotICAgYChnaXQtY29tbWl0LW92ZXJsb25nLXN1bW1hcnkgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1wc2V1 ZG8taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChnaXQtY29tbWl0 LXN1bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7 Ozs7IGdpdC1ndXR0ZXINCi0gICBgKGdpdC1ndXR0ZXI6YWRkZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChnaXQtZ3V0dGVyOmRlbGV0ZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZ2l0LWd1dHRl cjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkp DQotICAgYChnaXQtZ3V0dGVyOnNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtY3lhbikpKQ0KLSAgIGAoZ2l0LWd1dHRlcjp1bmNoYW5nZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCi07Ozs7OyBnaXQtZ3V0dGVyLWZy DQotICAgYChnaXQtZ3V0dGVyLWZyOmFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS1ncmVlbikpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcjpkZWxldGVkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGdpdC1ndXR0ZXItZnI6bW9k aWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLTs7 Ozs7IGdpdC17Z3V0dGVyLGZyaW5nZX0rDQotICAgYChnaXQtZ3V0dGVyKy1hZGRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0ZXIr LWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAg IGAoZ2l0LWd1dHRlcistbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJp bmdlLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWd1dHRlcistc2VwYXJhdG9yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQotICAgYChnaXQtZ3V0dGVyKy11bmNoYW5n ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCi0gICBg KGdpdC1ndXR0ZXItZnIrLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5n ZS1ncmVlbikpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcistZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChnaXQtZ3V0dGVyLWZyKy1tb2RpZmll ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotOzs7Ozsg Z2l0LWxlbnMNCi0gICBgKGdpdC1sZW5zLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnaXQtbGVucy1kZWxldGVkICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZ2l0LWxlbnMtaGVhZGVyICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjEgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGdpdC1sZW5zLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLSAgIGAoZ2l0LWxlbnMtcmVuYW1lZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotOzs7OzsgZ2l0LXJlYmFzZQ0KLSAgIGAoZ2l0LXJlYmFz ZS1jb21tZW50LWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGVhZGlu ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0gOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LXJlYmFzZS1kZXNjcmlwdGlvbiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZ2l0LXJlYmFzZS1oYXNoICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGdpdC10aW1lbWFjaGluZQ0KLSAg IGAoZ2l0LXRpbWVtYWNoaW5lLWNvbW1pdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChnaXQtdGltZW1hY2hpbmUtbWluaWJ1ZmZlci1h dXRob3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAg YChnaXQtdGltZW1hY2hpbmUtbWluaWJ1ZmZlci1kZXRhaWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IGdpdC13YWxrdHJlZQ0KLSAgIGAoZ2l0LXdhbGt0cmVl LWNvbW1pdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdpdC13 YWxrdHJlZS1zeW1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChnaXQtd2Fsa3RyZWUtdHJlZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotOzs7OzsgZ251cw0KLSAgIGAoZ251cy1idXR0b24gKCgsY2xhc3Mg OmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChnbnVzLWNpdGUtMSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS0xMSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLTIgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS0zICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdCkpKQ0KLSAgIGAoZ251cy1jaXRlLTcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLWF0dHJpYnV0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtZW1waGFzaXMt aGlnaGxpZ2h0LXdvcmRzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxs b3cpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMS1lbXB0eSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFp bC0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KGdudXMtZ3JvdXAtbWFpbC0yLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChnbnVzLWdyb3VwLW1haWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTMtZW1wdHkg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWdy b3VwLW1haWwtbG93ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEt bnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLWxvdy1lbXB0eSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ251cy1ncm91 cC1uZXdzLTEtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVz LWdyb3VwLW5ld3MtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChnbnVzLWdyb3VwLW5ld3MtMi1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0zLWVtcHR5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91 cC1uZXdzLTQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2Vk KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNC1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdz LTUtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChnbnVz LWdyb3VwLW5ld3MtNiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy02LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy1sb3cgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLWxv dy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251 cy1oZWFkZXItY29udGVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251 cy1oZWFkZXItZnJvbSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlciA6dW5kZXJsaW5lIG5pbCkpKQ0KLSAgIGAoZ251cy1oZWFkZXItbmFtZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdudXMtaGVhZGVyLW5ld3Nncm91cHMgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGdudXMt aGVhZGVyLXN1YmplY3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtc2VydmVyLWFnZW50ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtc2VydmVyLWNsb3NlZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChnbnVzLXNl cnZlci1jbG91ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkp KQ0KLSAgIGAoZ251cy1zZXJ2ZXItY2xvdWQtaG9zdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItZGVuaWVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItb2ZmbGlu ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdu dXMtc2VydmVyLW9wZW5lZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KLSAgIGAoZ251cy1zaWduYXR1cmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXNwbGFzaCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLXN1bW1hcnktY2FuY2VsbGVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQotICAgYChnbnVzLXN1bW1hcnktaGln aC1hbmNpZW50ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtcmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXRpY2tl ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQot ICAgYChnbnVzLXN1bW1hcnktaGlnaC11bmRvd25sb2FkZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChnbnVzLXN1bW1hcnktaGlnaC11bnJlYWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZ251 cy1zdW1tYXJ5LWxvdy1hbmNpZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50 IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy1yZWFkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxvdy10aWNr ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcgOnNsYW50IGl0YWxpYykpKQ0K LSAgIGAoZ251cy1zdW1tYXJ5LWxvdy11bmRvd25sb2FkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1yZWZpbmUtZmcgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWxv dy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLWFuY2llbnQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC1yZWFk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3Jt YWwtdGlja2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChn bnVzLXN1bW1hcnktbm9ybWFsLXVuZG93bmxvYWRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQotICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXVucmVhZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LXNlbGVjdGVkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotOzs7OzsgZ29sZGVuLXJhdGlvLXNj cm9sbC1zY3JlZW4NCi0gICBgKGdvbGRlbi1yYXRpby1zY3JvbGwtaGlnaGxpZ2h0LWxpbmUtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi07Ozs7OyBoZWxtDQotICAgYChoZWxtLU0teC1rZXkgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tYWN0aW9u ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1hZGRyZXNzYm9v ayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChoZWxtLWJvb2ttYXJr LWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQot ICAgYChoZWxtLWJvb2ttYXJrLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGhlbG0tYm9va21hcmstZmlsZS1ub3QtZm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWdudXMg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhlbG0tYm9va21hcmstaW5m byAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGhlbG0tYm9va21hcmst bWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChoZWxtLWJvb2tt YXJrLXczbSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGhlbG0tYnVm ZmVyLWFyY2hpdmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K LSAgIGAoaGVsbS1idWZmZXItZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGhlbG0tYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tYnVmZmVyLW1vZGlmaWVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChoZWxtLWJ1ZmZlci1ub3Qtc2F2ZWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGhlbG0tYnVmZmVyLXByb2Nlc3MgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhlbG0tYnVmZmVyLXNhdmVkLW91 dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAoaGVsbS1idWZmZXItc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChoZWxtLWNhbmRpZGF0ZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWNhbmRpZGF0ZS1udW1iZXItc3VzcGVuZGVkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChoZWxtLWNvbWludC1w cm9tcHRzLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkN Ci0gICBgKGhlbG0tY29taW50LXByb21wdHMtcHJvbXB0aWR4ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1kZWxldGUtYXN5bmMtbWVzc2FnZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoaGVs bS1lb2ItbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWVzaGVsbC1wcm9tcHRzLXBy b21wdGlkeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0t ZXRhZ3MtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoaGVsbS1mZi1iYWNrdXAtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChoZWxtLWZmLWRlbmllZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1l eHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXN1YnRsZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1pbnRlbnNlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLW51YW5jZWQtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZWQpKSkpDQotICAgYChoZWxtLWZmLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBoZWxtLWJ1 ZmZlci1kaXJlY3RvcnkpKSkNCi0gICBgKGhlbG0tZmYtZGlycyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1mZi1kb3R0ZWQt ZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxtLWZmLWRvdHRlZC1zeW1saW5rLWRpcmVjdG9y eSAoKCxjbGFzcyA6aW5oZXJpdCAoYnV0dG9uIGhlbG0tZmYtZG90dGVkLWRpcmVjdG9yeSkpKSkN Ci0gICBgKGhlbG0tZmYtZXhlY3V0YWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCi0gICBgKGhlbG0tZmYtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoaGVsbS1mZi1maWxlLWV4dGVuc2lvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChoZWxtLWZmLWludmFsaWQtc3ltbGluayAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaGVsbS1mZi1waXBlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50 YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEpKSkpDQotICAgYChoZWxt LWZmLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1z dWJ0bGUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtbnVhbmNlZC15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxv dy1hbHQtb3RoZXIpKSkpDQotICAgYChoZWxtLWZmLXNvY2tldCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1mZi1zdWlkICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZC1hbHQpKSkpDQotICAgYChoZWxtLWZmLXN5bWxpbmsgKCgsY2xhc3MgOmlu aGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChoZWxtLWZmLXRydWVuYW1l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1ncmVw LWNtZC1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAg YChoZWxtLWdyZXAtZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0tZ3JlcC1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1ncmVwLWxpbmVubyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChoZWxtLWdyZXAtbWF0Y2ggKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChoZWxtLWhlYWRl ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKGhlbG0taGVhZGVyLWxpbmUtbGVmdC1tYXJnaW4gKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCi0gICBgKGhlbG0taGlzdG9yeS1kZWxl dGVkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxl LXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LWludGVuc2UtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtbnVhbmNlZC1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkp DQotICAgYChoZWxtLWhpc3RvcnktcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0 LW90aGVyKSkpDQotICAgYChoZWxtLWxpc3AtY29tcGxldGlvbi1pbmZvICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGhlbG0tbGlzcC1zaG93LWNvbXBsZXRp b24gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1 YnRsZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93DQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tbG9jYXRlLWZp bmlzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChoZWxtLW1h dGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1tYXRjaC1pdGVtICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyKSkpKQ0KLSAgIGAoaGVsbS1taW5pYnVm ZmVyLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtaW5pYnVmZmVyLXByb21wdCkpKQ0KLSAgIGAo aGVsbS1tb2NjdXItYnVmZmVyICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tbW9kZS1wcmVmaXggKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGENCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50 YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tbm9uLWZp bGUtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tcHJl ZmFyZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1yZXN1 bWUtbmVlZC11cGRhdGUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcikp KSkNCi0gICBgKGhlbG0tc2VsZWN0aW9uICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbmlsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBg KGhlbG0tc2VsZWN0aW9uLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1jb2xkKSkpDQotICAgYChoZWxtLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1taWxkKSkpDQotICAgYChoZWxtLXRpbWUtem9uZS1jdXJyZW50ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoaGVsbS10aW1lLXpvbmUtaG9tZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVsbS1zb3VyY2UtaGVhZGVyICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5k aS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAoaGVsbS10b3AtY29sdW1ucyAoKCxjbGFzcyA6aW5o ZXJpdCBoZWxtLWhlYWRlcikpKQ0KLSAgIGAoaGVsbS11Y3MtY2hhciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS12aXNpYmxlLW1hcmsgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi07Ozs7OyBoZWxtLWxzLWdp dA0KLSAgIGAoaGVsbS1scy1naXQtYWRkZWQtY29waWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LWFkZGVkLW1vZGlmaWVkLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxz LWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxzLWdpdC1kZWxldGVkLWFuZC1zdGFnZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LWRl bGV0ZWQtbm90LXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KGhlbG0tbHMtZ2l0LW1vZGlmaWVkLWFuZC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LW1vZGlmaWVkLW5vdC1zdGFn ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChoZWxtLWxzLWdp dC1yZW5hbWVkLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKGhlbG0tbHMtZ2l0LXVudHJhY2tlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyBoZWxtLXN3aXRjaC1zaGVsbA0KLSAgIGAoaGVsbS1z d2l0Y2gtc2hlbGwtbmV3LXNoZWxsLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcg0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotOzs7 OzsgaGVsbS14cmVmDQotICAgYChoZWxtLXhyZWYtZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS14cmVmLWZp bGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotOzs7Ozsg aGVscGZ1bA0KLSAgIGAoaGVscGZ1bC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctMSkpKQ0KLTs7Ozs7IGhpZ2hsaWdodCByZWdpb24gb3IgYWQtaG9jIHJlZ2V4 cA0KLSAgIGAoaGktYmxhY2stYiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdy b3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoaGktYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGktYmx1ZS1iICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoaGktZ3Jl ZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZ3JlZW4gOnVuZGVy bGluZSB0KSkpDQotICAgYChoaS1ncmVlbi1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGhpLXBpbmsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpLXJlZC1i ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChoaS15 ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93IDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChoaWdobGlnaHQtY2hhbmdlcyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMtZGVs ZXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoaGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQot Ozs7OzsgaGlnaGxpZ2h0LWJsb2Nrcw0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0xLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1k ZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXNwZWNpYWwtd2FybSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxp Z2h0LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwt bWlsZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0 aC03LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdo bGlnaHQtYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0 bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBoaWdobGlnaHQtZGVmaW5lZA0K LSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtYnVpbHRpbi1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZhY2Ut bmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGln aHQtZGVmaW5lZC1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLW1hY3JvLW5hbWUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLXNwZWNp YWwtZm9ybS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAo YGhlcy1tb2RlJykNCi0gICBgKGhlcy1lc2NhcGUtYmFja3NsYXNoLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAg YChoZXMtZXNjYXBlLXNlcXVlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3NsYXNoKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWluZGVu dGF0aW9uDQotICAgYChoaWdobGlnaHQtaW5kZW50YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChoaWdobGlnaHQtaW5kZW50YXRpb24tY3Vy cmVudC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotOzs7 OzsgaGlnaGxpZ2h0LW51bWJlcnMNCi0gICBgKGhpZ2hsaWdodC1udW1iZXJzLW51bWJlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBoaWdobGlnaHQtc3lt Ym9sDQotICAgYChoaWdobGlnaHQtc3ltYm9sLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgaGlnaGxpZ2h0LXRoaW5nDQotICAgYChoaWdo bGlnaHQtdGhpbmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLTs7Ozs7IGhsLWRlZmluZWQNCi0gICBgKGhkZWZkLWZ1bmN0aW9ucyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaGRlZmQtdW5kZWZpbmVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChoZGVmZC12YXJpYWJsZXMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQotOzs7OzsgaGwtZmlsbC1jb2x1bW4NCi0gICBgKGhsLWZpbGwt Y29sdW1uLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctYWN0aXZlKSkpDQotOzs7OzsgaGwtdG9kbw0KLSAgIGAoaGwtdG9kbyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi07Ozs7OyBoeWRyYQ0KLSAgIGAoaHlkcmEtZmFjZS1hbWFyYW50aCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGh5ZHJhLWZhY2Ut Ymx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAg IGAoaHlkcmEtZmFjZS1waW5rICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChoeWRyYS1mYWNlLXJlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGh5ZHJhLWZhY2UtdGVhbCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaHlwZXJsaXN0DQotICAgYCho eXBlcmxpc3QtY29uZGl0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAo aHlwZXJsaXN0LWhhc2h0YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAo aHlwZXJsaXN0LW9wZXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAg IGAoaHlwZXJsaXN0LXBhcmVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikp KQ0KLSAgIGAoaHlwZXJsaXN0LXF1b3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkp KQ0KLSAgIGAoaHlwZXJsaXN0LXJlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKGh5cGVybGlzdC1zdGFycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChoeXBlcmxpc3QtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKGh5cGVybGlzdC10b3BsZXZlbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotOzs7OzsgaWNvbXBsZXRlDQotICAgYChpY29tcGxldGUtZmlyc3Qt bWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBiZy1hbHQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1hY3RpdmUgZmctbWFpbikp KSkNCi07Ozs7OyBpY29tcGxldGUtdmVydGljYWwNCi0gICBgKGljb21wbGV0ZS12ZXJ0aWNhbC1z ZXBhcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGlkby1tb2Rl DQotICAgYChpZG8tZmlyc3QtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNv bXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBiZy1h bHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1hY3RpdmUgZmctbWFpbikp KSkNCi0gICBgKGlkby1pbmNvbXBsZXRlLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikp KQ0KLSAgIGAoaWRvLWluZGljYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUteWVsbG93KSkpDQotICAgYChpZG8tb25seS1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z dGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl ZW4gZ3JlZW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl ZW4taW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0KLSAgIGAoaWRvLXN1YmRpciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaWRvLXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7IGllZGl0DQotICAgYChpZWRpdC1vY2N1cnJlbmNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChpZWRp dC1yZWFkLW9ubHktb2NjdXJyZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLXllbGxvdykpKQ0KLTs7Ozs7IGlmbGlwYg0KLSAgIGAoaWZsaXBiLWN1cnJlbnQtYnVmZmVy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0g ICBgKGlmbGlwYi1vdGhlci1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotOzs7OzsgaW1lbnUtbGlzdA0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTAgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0x ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LWZh Y2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGltZW51 LWxpc3QtZW50cnktZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAg IGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTAgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChp bWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRy eS1zdWJhbGlzdC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJh bGlzdC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBpbmRpdW0NCi0gICBgKGluZGl1bS1icmVha3Bv aW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGluZGl1 bS1mcmFtZS11cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoaW5kaXVtLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZGl1bS1saXRhYmxlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChpbmRpdW0tcmVwbC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaW5kaXVtLXJlcGwtcHJvbXB0LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChpbmRpdW0tcmVwbC1zdGRvdXQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGluZm8NCi0gICBg KEluZm8tcXVvdGVkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRz KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkgOyB0 aGUgY2FwaXRhbGlzYXRpb24gaXMgY2Fub25pY2FsDQotICAgYChpbmZvLWhlYWRlci1ub2RlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaW5mby1o ZWFkZXIteHJlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGlu Zm8taW5kZXgtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbWF0Y2gpKSkNCi0gICBgKGluZm8tbWVu dS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAg YChpbmZvLW1lbnUtc3RhciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChpbmZv LW5vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoaW5mby10aXRsZS0xICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLSAgIGAoaW5mby10aXRsZS0y ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAoaW5mby10 aXRsZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KLSAgIGAo aW5mby10aXRsZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0K LTs7Ozs7IGluZm8tY29sb3JzDQotICAgYChpbmZvLWNvbG9ycy1saXNwLWNvZGUtYmxvY2sgKCgs Y2xhc3MgOmluaGVyaXQgZml4ZWQtcGl0Y2gpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVt LWNvbW1hbmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGluZm8tY29s b3JzLXJlZi1pdGVtLWNvbnN0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLW1hY3JvICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLW90aGVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1zcGVj aWFsLWZvcm0gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0 ZW0tc3ludGF4LWNsYXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChp bmZvLWNvbG9ycy1yZWYtaXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdXNlci1vcHRpb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXZhcmlhYmxlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaW50ZXJhY3Rpb24tbG9nDQotICAg YChpbG9nLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoaWxvZy1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGlsb2ctZWNoby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0LW90aGVyKSkpDQotICAgYChpbG9nLWxvYWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKGlsb2ctbWVzc2FnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKGlsb2ctbm9uLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotOzs7OzsgaW9jY3VyDQotICAgYChpb2NjdXItY3Vyc29yICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChpb2NjdXItaW52YWxpZC1yZWdleHAgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaW9jY3VyLW1hdGNoLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChpb2NjdXItbWF0 Y2gtb3ZlcmxheS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAy NykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGlvY2N1ci1udW0t bGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KGlvY2N1ci1vdmVybGF5LWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJz aW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChpb2NjdXItcmVnZXhw LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xk KSkpKQ0KLSAgIGAoaW9jY3VyLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkN Ci07Ozs7OyBpc2VhcmNoLCBvY2N1ciwgYW5kIHRoZSBsaWtlDQotICAgYChpc2VhcmNoICgoLGNs YXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotICAgYChp c2VhcmNoLWZhaWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0K LSAgIGAobGF6eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5l LWN5YW4pKSkNCi0gICBgKG1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtY2FsbSkpKQ0KLSAgIGAocXVlcnktcmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMt dGhlbWUtaW50ZW5zZS15ZWxsb3cgYm9sZCkpKSkNCi07Ozs7OyBpdnkNCi0gICBgKGl2eS1hY3Rp b24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAo aXZ5LWNvbXBsZXRpb25zLWFubm90YXRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LWNvbmZpcm0t ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaXZ5LWN1cnJlbnQtbWF0 Y2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lh bg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVu c2UtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXNwZWNpYWwtd2FybQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1j dXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4p KSkNCi0gICBgKGl2eS1ncmVwLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChpdnktZ3JlcC1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChpdnktaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGl2eS1tYXRjaC1yZXF1aXJlZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGVycm9yKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTEgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5l dXRyYWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWx0KSkpKQ0KLSAgIGAoaXZ5LW1p bmlidWZmZXItbWF0Y2gtZmFjZS0yICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4 dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbg0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4NCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNl ZC1ncmVlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdy ZWVuLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtZmFjZS0zICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFu DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXJlZmluZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZl ci1tYXRjaC1mYWNlLTQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWhpZ2hsaWdodCAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0 bGUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXINCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkN Ci0gICBgKGl2eS1tb2RpZmllZC1idWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChpdnktbW9kaWZpZWQtb3V0c2lkZS1i dWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LW9yZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKGl2eS1wcm9tcHQtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgaXZ5LWN1 cnJlbnQtbWF0Y2gpKSkNCi0gICBgKGl2eS1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCi0gICBgKGl2eS1zZXBhcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoaXZ5LXN1YmRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGl2eS12aXJ0dWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAoaXZ5LXlhbmtlZC13b3JkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtYWx0KSkpKQ0KLTs7Ozs7IGl2eS1wb3NmcmFtZQ0KLSAgIGAo aXZ5LXBvc2ZyYW1lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKGl2eS1wb3NmcmFtZS1ib3JkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFjdGl2ZSkpKQ0KLSAgIGAoaXZ5LXBvc2ZyYW1lLWN1cnNvciAoKCxjbGFzcyA6YmFja2dy b3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLTs7Ozs7IGppcmEgKG9yZy1q aXJhKQ0KLSAgIGAoamlyYWxpYi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KLSAgIGAoamlyYWxpYi1jb21tZW50LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCi0gICBgKGppcmFsaWItaXNzdWUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoamlyYWxpYi1pc3N1ZS1pbmZv LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0g Ym9sZCkpKSkNCi0gICBgKGppcmFsaWItaXNzdWUtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCi0gICBgKGppcmFsaWItbGluay1maWx0ZXItZmFjZSAoKCxjbGFzcyA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKGppcmFsaWItbGluay1pc3N1ZS1mYWNlICgoLGNsYXNzIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoamlyYWxpYi1saW5rLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6dW5k ZXJsaW5lIHQpKSkNCi07Ozs7OyBqb3VybmFsY3RsLW1vZGUNCi0gICBgKGpvdXJuYWxjdGwtZXJy b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KGpvdXJuYWxjdGwtZmluaXNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAoam91cm5hbGN0bC1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGpvdXJuYWxjdGwtcHJvY2Vzcy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoam91cm5hbGN0bC1zdGFydGluZy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoam91cm5hbGN0bC10aW1l c3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChqb3VybmFsY3RsLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBqczItbW9kZQ0KLSAgIGAoanMyLWVycm9yICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGpzMi1leHRlcm5hbC12YXJpYWJsZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGpzMi1mdW5jdGlvbi1jYWxs ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChqczItZnVuY3Rpb24tcGFy YW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGpzMi1pbnN0YW5jZS1tZW1i ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChqczIt anNkb2MtaHRtbC10YWctZGVsaW1pdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChqczItanNkb2MtaHRtbC10YWctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoanMyLWpzZG9jLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jYWxtKSkpDQotICAgYChqczItanNkb2MtdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQotICAgYChqczItanNkb2MtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoanMyLW9iamVjdC1wcm9wZXJ0eSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoanMyLW9iamVjdC1wcm9wZXJ0eS1hY2Nl c3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGpzMi1wcml2YXRlLWZ1 bmN0aW9uLWNhbGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAg IGAoanMyLXByaXZhdGUtbWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1p bGQpKSkNCi0gICBgKGpzMi13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGp1bGlhDQotICAgYChqdWxpYS1tYWNyby1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAoanVsaWEtcXVvdGVkLXN5bWJvbC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGp1cHl0ZXINCi0gICBgKGp1cHl0ZXIt ZXZhbC1vdmVybGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKGp1cHl0ZXItcmVwbC1pbnB1dC1wcm9tcHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChqdXB5dGVyLXJlcGwtb3V0cHV0LXByb21wdCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGp1cHl0ZXItcmVwbC10 cmFjZWJhY2sgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07 Ozs7OyBrYW9jaGEtcnVubmVyDQotICAgYChrYW9jaGEtcnVubmVyLWVycm9yLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoa2FvY2hhLXJ1bm5lci1zdWNjZXNzLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChrYW9jaGEtcnVubmVyLXdhcm5p bmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7Ozsga2V5Y2FzdA0K LSAgIGAoa2V5Y2FzdC1jb21tYW5kICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWN0aXZlKSkpDQotICAgYChrZXljYXN0LWtleSAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJnLW1haW4gYmx1ZS1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1h aW4gYmx1ZS1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWN0aXZl IGJsdWUtaW50ZW5zZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FsdC1zdHlsZSAt MykpKSkNCi07Ozs7OyBsaW5lIG51bWJlcnMgKGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUgYW5k IGdsb2JhbCB2YXJpYW50KQ0KLSAgIGAobGluZS1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgZGVm YXVsdCA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGxp bmUtbnVtYmVyLWN1cnJlbnQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBsc3AtbW9kZQ0K LSAgIGAobHNwLWZhY2UtaGlnaGxpZ2h0LXJlYWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLWJsdWUgOnVuZGVybGluZSB0KSkpDQotICAgYChsc3AtZmFjZS1oaWdobGlnaHQt dGV4dHVhbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAg IGAobHNwLWZhY2UtaGlnaGxpZ2h0LXdyaXRlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVt ZS1yZWZpbmUtYmx1ZSBib2xkKSkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtY29uc3RhbnQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChsc3AtZmFjZS1zZW1o bC1kZXByZWNhdGVkDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpz dHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxp bmUgKDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVu ZGVybGluZSB0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1lbnVtbWVtYmVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZmllbGQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1m aWVsZC1zdGF0aWMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0IDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWZ1bmN0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1tZXRob2QgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLW5hbWVzcGFj ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1wcmVwcm9jZXNzb3IgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhs LXN0YXRpYy1tZXRob2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1jbGFzcyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUt ZW51bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNl LXNlbWhsLXR5cGUtcHJpbWl0aXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXRl bXBsYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXR5cGVkZWYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0g ICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChsc3AtZmFjZS1zZW1obC12YXJpYWJsZS1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFibGUtcGFyYW1ldGVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWxlbnMtZmFjZSAo KCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsc3AtbGVu cy1tb3VzZS1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGxzcC11aS1kb2MtYmFja2dyb3VuZCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChsc3AtdWktZG9jLWhlYWRlciAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBg KGxzcC11aS1kb2MtdXJsICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWZpbGVuYW1lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGxzcC11aS1wZWVrLWZvb3RlciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0g ICBgKGxzcC11aS1wZWVrLWhlYWRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpm b3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWhpZ2hsaWdodCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAobHNwLXVpLXBl ZWstbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobHNw LXVpLXBlZWstbGlzdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChsc3At dWktcGVlay1wZWVrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGxzcC11 aS1wZWVrLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lh bikpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLWNvZGUtYWN0aW9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi0gICBgKGxzcC11aS1zaWRlbGluZS1jdXJyZW50LXN5bWJvbCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5 bGUgbmlsKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLXN5 bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0 aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsc3AtdWktc2lk ZWxpbmUtc3ltYm9sLWluZm8gKCgsY2xhc3MgOmhlaWdodCAwLjk5IDpzbGFudCBpdGFsaWMpKSkN Ci07Ozs7OyBtYWdpdA0KLSAgIGAobWFnaXQtYmlzZWN0LWJhZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYmlzZWN0LWdvb2QgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYmlzZWN0LXNraXAgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJsYW1l LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWRp bW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1ibGFtZS1o YXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1hZ2l0 LWJsYW1lLWhlYWRpbmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobWFn aXQtYmxhbWUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW51YW5jZWQt Y3lhbikpKQ0KLSAgIGAobWFnaXQtYmxhbWUtbWFyZ2luICgoLGNsYXNzIDppbmhlcml0IG1hZ2l0 LWJsYW1lLWhpZ2hsaWdodCkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtbmFtZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLXN1bW1hcnkg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1icmFu Y2gtY3VycmVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmJveCB0KSkp DQotICAgYChtYWdpdC1icmFuY2gtbG9jYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 KSkpDQotICAgYChtYWdpdC1icmFuY2gtcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAobWFnaXQtYnJhbmNoLXJlbW90ZS1oZWFkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6Ym94IHQpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC11 cHN0cmVhbSAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYWdpdC1jaGVycnktZXF1 aXZhbGVudCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1jaGVycnktdW5tYXRjaGVkICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi0gICA7OyBOT1RF OiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0K LSAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcywgdGhvdWdoIG9ubHkgZm9yIHRoZSBzdGFu ZGFyZCBhY3Rpb25zLA0KLSAgIDs7IG5vdCB0aGUgaGlnaGxpZ2h0ZWQgb25lcy4gIFRoaXMgaXMg YmVjYXVzZSBNYWdpdCdzIGludGVyYWN0aW9uDQotICAgOzsgbW9kZWwgcmVsaWVzIG9uIGhpZ2hs aWdodGluZyB0aGUgY3VycmVudCBkaWZmIGh1bmsuDQotICAgYChtYWdpdC1kaWZmLWFkZGVkICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmctbWFpbiBncmVlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkKSkpKQ0KLSAgIGAo bWFnaXQtZGlmZi1hZGRlZC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt ZGlmZi1mb2N1cy1hZGRlZCkpKQ0KLSAgIGAobWFnaXQtZGlmZi1iYXNlICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZy1tYWluIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRp ZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAgYChtYWdpdC1k aWZmLWJhc2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtZm9j dXMtY2hhbmdlZCkpKQ0KLSAgIGAobWFnaXQtZGlmZi1jb250ZXh0ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtY29udGV4dC1oaWdobGlnaHQg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmctZGltDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWluYWN0aXZlIGZnLWluYWN0aXZl DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBm Zy1hbHQpKSkpDQotICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hZ2l0LWRpZmYt ZmlsZS1oZWFkaW5nLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3Bl Y2lhbC1jb2xkIGJvbGQpKSkpDQotICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1zZWxlY3Rp b24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICA7OyBO T1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRo ZQ0KLSAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcy4NCi0gICBgKG1hZ2l0LWRpZmYtaHVu ay1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFjdGl2ZQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlKSkpDQotICAgYChtYWdpdC1kaWZmLWh1bmstaGVhZGluZy1oaWdobGlnaHQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctZGlmZi1oZWFkaW5nDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWRp ZmYtaGVhZGluZykpKQ0KLSAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmctc2VsZWN0aW9uICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChtYWdpdC1k aWZmLWh1bmstcmVnaW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1hZ2l0LWRp ZmYtbGluZXMtYm91bmRhcnkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG1hZ2l0LWRpZmYtbGluZXMtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1yZW1vdmVkICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1tYWluIHJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZWQtbnVhbmNlZC1iZyBmZy1kaWZmLXJlbW92ZWQpKSkpDQotICAgYChtYWdp dC1kaWZmLXJlbW92ZWQtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRp ZmYtZm9jdXMtcmVtb3ZlZCkpKQ0KLSAgIGAobWFnaXQtZGlmZnN0YXQtYWRkZWQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChtYWdpdC1kaWZmc3RhdC1yZW1vdmVkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG1hZ2l0LWRpbW1lZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChtYWdpdC1maWxlbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYWdpdC1oYXNoICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LWhlYWQgKCgsY2xhc3MgOmluaGVy aXQgbWFnaXQtYnJhbmNoLWxvY2FsKSkpDQotICAgYChtYWdpdC1oZWFkZXItbGluZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAobWFn aXQtaGVhZGVyLWxpbmUta2V5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LWhlYWRlci1saW5lLWxvZy1zZWxlY3QgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobWFnaXQta2V5d29y ZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFnaXQta2V5d29yZC1z cXVhc2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KLSAgIGAobWFnaXQtbG9nLWF1dGhvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAobWFnaXQtbG9nLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAobWFnaXQtbG9nLWdyYXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0g ICBgKG1hZ2l0LW1vZGUtbGluZS1wcm9jZXNzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChtYWdpdC1tb2RlLWxpbmUtcHJvY2Vzcy1lcnJv ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAg YChtYWdpdC1wcm9jZXNzLW5nICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQotICAgYChtYWdp dC1wcm9jZXNzLW9rICgoLGNsYXNzIDppbmhlcml0IHN1Y2Nlc3MpKSkNCi0gICBgKG1hZ2l0LXJl ZmxvZy1hbWVuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctY2hlY2tvdXQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAobWFn aXQtcmVmbG9nLWNoZXJyeS1waWNrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3Jl Z3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctY29tbWl0ICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQot ICAgYChtYWdpdC1yZWZsb2ctbWVyZ2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZv cmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1vdGhlciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQot ICAgYChtYWdpdC1yZWZsb2ctcmViYXNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1yZW1vdGUg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkp KQ0KLSAgIGAobWFnaXQtcmVmbG9nLXJlc2V0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbmFtZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1yZWZuYW1lLXB1bGxyZXEgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtcmVmbmFtZS1zdGFzaCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1yZWZuYW1lLXdpcCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1zZWN0aW9uICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1h Z2l0LXNlY3Rpb24taGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChtYWdpdC1zZWN0aW9uLWhlYWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDpp bmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xkKSkpKQ0KLSAgIGAobWFnaXQtc2Vj dGlvbi1oaWdobGlnaHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobWFn aXQtc2VxdWVuY2UtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAg YChtYWdpdC1zZXF1ZW5jZS1kcm9wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChtYWdpdC1zZXF1ZW5jZS1leGVjICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2UtaGVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLW9udG8gKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2UtcGFydCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2UtcGljayAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLXN0b3AgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWJhZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1l cnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0 dXJlLWV4cGlyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAobWFnaXQt c2lnbmF0dXJlLWV4cGlyZWQta2V5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0g ICBgKG1hZ2l0LXNpZ25hdHVyZS1nb29kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAobWFnaXQtc2lnbmF0dXJlLXJldm9rZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS11bnRydXN0ZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCi0gICBgKG1hZ2l0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IG1hZ2l0LWltZXJnZQ0KLSAgIGAobWFnaXQtaW1lcmdlLW92 ZXJyaWRpbmctdmFsdWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFs dCkpKQ0KLTs7Ozs7IG1hbg0KLSAgIGAoTWFuLW92ZXJzdHJpa2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoTWFuLXJldmVyc2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKE1hbi11bmRlcmxp bmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4gOnVuZGVybGluZSB0KSkpDQotOzs7OzsgbWFy a2Rvd24tbW9kZQ0KLSAgIGAobWFya2Rvd24tYmxvY2txdW90ZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAobWFya2Rvd24tYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1h cmtkb3duLWNvZGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1m b250cykpKSkNCi0gICBgKG1hcmtkb3duLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmtkb3duLWZv b3Rub3RlLW1hcmtlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQotICAgYChtYXJrZG93bi1mb290bm90ZS10ZXh0LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFy a2Rvd24tZ2ZtLWNoZWNrYm94LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkN Ci0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlICgodCBuaWwpKSkNCi0gICBgKG1hcmtkb3duLWhl YWRlci1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQot ICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhlYWRpbmctMikpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtMyAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNl LTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQotICAgYChtYXJr ZG93bi1oZWFkZXItZmFjZS01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmct NSkpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1ydWxlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAg YChtYXJrZG93bi1oci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWFya2Rvd24taHRtbC1hdHRyLW5hbWUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KG1hcmtkb3duLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtZW50aXR5 LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChtYXJrZG93bi1odG1sLXRhZy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0g ICBgKG1hcmtkb3duLWh0bWwtdGFnLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG1hcmtkb3duLWlubGlu ZS1jb2RlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYChtYXJrZG93bi1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmtkb3duLWxhbmd1 YWdlLWluZm8tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250 cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYXJrZG93bi1sYW5ndWFnZS1rZXl3b3JkLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVu LWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24tbGluZS1icmVhay1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWFy a2Rvd24tbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKG1hcmtkb3du LWxpbmstdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmtkb3duLWxpc3QtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtYXJrZG93bi1tYXJrdXAtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYXJrZG93bi1tYXRoLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93 bi1tZXRhZGF0YS1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKG1hcmtkb3duLW1ldGFkYXRhLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChtYXJrZG93bi1taXNzaW5nLWxpbmstZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG1hcmtkb3duLXBs YWluLXVybC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1hcmtkb3duLWxpbmstZmFjZSkpKQ0KLSAg IGAobWFya2Rvd24tcHJlLWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJz aW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG1hcmtkb3du LXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1hcmtkb3duLW1hcmt1cC1mYWNlKSkp DQotICAgYChtYXJrZG93bi1zdHJpa2UtdGhyb3VnaC1mYWNlICgoLGNsYXNzIDpzdHJpa2UtdGhy b3VnaCB0KSkpDQotICAgYChtYXJrZG93bi10YWJsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYXJrZG93bi11cmwt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBtYXJrdXAtZmFj ZXMgKGBhZG9jLW1vZGUnKQ0KLSAgIGAobWFya3VwLWFuY2hvci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLWF0dHJpYnV0ZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYXJr dXAtYmlnLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjMgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNl ZCkpKQ0KLSAgIGAobWFya3VwLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLWNvZGUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFya3Vw LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBg KG1hcmt1cC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrdXAtY29tcGxleC1yZXBsYWNlbWVudC1m YWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFz ZWQtYnV0dG9uKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAobWFya3VwLWVt cGhhc2lzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQg aXRhbGljKSkpDQotICAgYChtYXJrdXAtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG1hcmt1cC1nZW4tZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG1hcmt1cC1pbnRlcm5hbC1yZWZlcmVuY2Ut ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkp DQotICAgYChtYXJrdXAtaXRhbGljLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYXJrdXAtbGlzdC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAobWFya3VwLW1ldGEt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1t ZXRhLWhpZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYXJr dXAtcGFzc3Rocm91Z2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAobWFya3VwLXByZXByb2Nlc3Nvci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChtYXJrdXAtcmVwbGFjZW1lbnQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya3Vw LXNlY29uZGFyeS10ZXh0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLG1h Z2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXNtYWxsLWZhY2UgKCgsY2xhc3MgOmhlaWdo dCAwLjggOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1hcmt1cC1zdHJvbmctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAo bWFya3VwLXN1YnNjcmlwdC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmt1cC1zdXBlcnNjcmlwdC1mYWNlICgoLGNsYXNz IDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmt1 cC10YWJsZS1jZWxsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1j b2xkKSkpDQotICAgYChtYXJrdXAtdGFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAobWFya3VwLXRhYmxlLXJvdy1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChtYXJrdXAtdGl0bGUt MC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMy4wIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkN Ci0gICBgKG1hcmt1cC10aXRsZS0xLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAyLjQgOmZvcmVncm91 bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTItZmFjZSAoKCxjbGFzcyA6 aGVpZ2h0IDEuOCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0 bGUtMy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS40IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQp KSkNCi0gICBgKG1hcmt1cC10aXRsZS00LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjIgOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTUtZmFjZSAoKCxjbGFz cyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAobWFya3VwLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQotICAgYChtYXJrdXAtdmVyYmF0aW0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBtZW50b3INCi0gICBgKG1lbnRvci1kb3dubG9h ZC1tZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KG1lbnRvci1kb3dubG9hZC1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1wcm9ncmVzcyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1zaXplICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobWVudG9yLWRvd25sb2Fk LXNwZWVkLWRvd24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChtZW50 b3ItZG93bmxvYWQtc3BlZWQtdXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0g ICBgKG1lbnRvci1kb3dubG9hZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dCkpKQ0KLSAgIGAobWVudG9yLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChtZW50b3ItdHJhY2tlci1uYW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IG1lc3NhZ2VzDQotICAgYChtZXNz YWdlLWNpdGVkLXRleHQtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBg KG1lc3NhZ2UtY2l0ZWQtdGV4dC0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 KSkpDQotICAgYChtZXNzYWdlLWNpdGVkLXRleHQtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLWNjICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChtZXNzYWdlLWhlYWRlci1uYW1lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1lc3NhZ2UtaGVh ZGVyLW5ld3Nncm91cHMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0KSkpDQotICAgYChtZXNzYWdlLWhlYWRlci1vdGhlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItc3Vi amVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItdG8gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXIteGhlYWRlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWVzc2FnZS1tbWwgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWVzc2FnZS1zZXBhcmF0b3IgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotOzs7OzsgbWluaWJ1ZmZl ci1saW5lDQotICAgYChtaW5pYnVmZmVyLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi07Ozs7OyBtaW5pbWFwDQotICAgYChtaW5pbWFwLWFjdGl2ZS1yZWdpb24tYmFja2dy b3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChtaW5pbWFwLWN1 cnJlbnQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBtb2RlbGluZQ0KLSAgIGAobW9kZS1saW5lICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZnLWFjdGl2ZSBiZy1hY3RpdmUgZmctZGltIGJnLWFjdGl2ZQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWFsdCBiZy1hY3RpdmUgJ2FsdC1zdHlsZSBu aWwgYmctbWFpbikpKSkNCi0gICBgKG1vZGUtbGluZS1idWZmZXItaWQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KLSAgIGAobW9kZS1saW5lLWVtcGhhc2lzICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChtb2RlLWxpbmUtaGlnaGxpZ2h0 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlIDpib3ggKDpsaW5lLXdp ZHRoIC0xIDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikpKSkNCi0gICBgKG1vZGUtbGluZS1pbmFjdGl2 ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1pbmFjdGl2ZSBiZy1pbmFjdGl2ZSBm Zy1hbHQgYmctZGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcmVn aW9uIGJnLWFjdGl2ZSkpKSkNCi07Ozs7OyBtb29kLWxpbmUNCi0gICBgKG1vb2QtbGluZS1tb2Rp ZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG1vb2Qt bGluZS1zdGF0dXMtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk LWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1pbmZvICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1uZXV0cmFsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1z dWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKG1vb2Qt bGluZS1zdGF0dXMtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWN0aXZlKSkpDQotICAgYChtb29kLWxpbmUtdW5pbXBvcnRhbnQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7OzsgbXBkZWwNCi0gICBgKG1wZGVsLWJyb3dz ZXItZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1w ZGVsLXBsYXlsaXN0LWN1cnJlbnQtc29uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotOzs7OzsgbXU0ZQ0KLSAgIGAobXU0ZS1hdHRh Y2gtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtNC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC01LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtNi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC03LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG11NGUtY29tcG9zZS1oZWFkZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UpKSkNCi0gICBgKG11 NGUtY29tcG9zZS1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLW5ldXRyYWwpKSkNCi0gICBgKG11NGUtY29udGFjdC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtdTRlLWNvbnRl eHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKG11NGUt ZHJhZnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11 NGUtZmxhZ2dlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYCht dTRlLWZvb3Rlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobXU0ZS1mb3J3YXJkZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtaGVhZGVy LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobXU0ZS1oZWFkZXIt aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0K LSAgIGAobXU0ZS1oZWFkZXIta2V5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkN Ci0gICBgKG11NGUtaGVhZGVyLW1hcmtzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUtaGVhZGVyLXRpdGxlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobXU0ZS1oZWFkZXIt dmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1saW5rLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAobXU0ZS1tb2RlbGluZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAobXU0ZS1tb3ZlZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkp KQ0KLSAgIGAobXU0ZS1vay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGdyZWVuKSkpDQotICAgYChtdTRlLXJlZ2lvbi1jb2RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAobXU0ZS1yZXBsaWVkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtZmFpbnQpKSkNCi0gICBgKG11NGUtc3BlY2lhbC1oZWFkZXItdmFs dWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KLSAgIGAobXU0ZS1zeXN0ZW0tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFy ay1kZWwgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobXU0ZS10aXRsZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtdTRlLXRyYXNoZWQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtdTRlLXVucmVhZC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG11NGUt dXJsLW51bWJlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChtdTRlLXZpZXctYm9keS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChtdTRlLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB3YXJuaW5nKSkpDQotOzs7OzsgbXU0ZS1jb252ZXJzYXRpb24NCi0gICBgKG11NGUtY29udmVy c2F0aW9uLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0xICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0yICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG11NGUtY29udmVy c2F0aW9uLXNlbmRlci0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkN Ci0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci01ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5k ZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUt Y29udmVyc2F0aW9uLXNlbmRlci03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUt ZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci04ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLXJlZmluZS1mZykpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLW1l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlv bi11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLTs7Ozs7IG11bHRpcGxlLWN1cnNv cnMNCi0gICBgKG1jL2N1cnNvci1iYXItZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEgOmJhY2tncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKG1jL2N1cnNvci1mYWNlICgoLGNsYXNzIDppbnZlcnNlLXZp ZGVvIHQpKSkNCi0gICBgKG1jL3JlZ2lvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IHJlZ2lvbikp KQ0KLTs7Ozs7IG5lb3RyZWUNCi0gICBgKG5lby1iYW5uZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobmVvLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbikpKQ0KLSAgIGAobmVvLWRpci1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobmVvLWV4cGFuZC1idG4tZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobmVvLWZpbGUtbGluay1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChuZW8taGVhZGVyLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobmVvLXJvb3QtZGly LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0g ICBgKG5lby12Yy1hZGRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAg IGAobmVvLXZjLWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQotICAgYChuZW8tdmMtZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChuZW8tdmMtZWRpdGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KLSAgIGAobmVvLXZjLWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG5lby12Yy1taXNzaW5nLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG5lby12Yy1uZWVkcy1tZXJnZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobmVvLXZjLW5lZWRzLXVw ZGF0ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobmVvLXZjLXJlbW92ZWQt ZmFjZSAoKCxjbGFzcyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAobmVvLXZjLXVubG9ja2Vk LWNoYW5nZXMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkp KQ0KLSAgIGAobmVvLXZjLXVwLXRvLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChuZW8tdmMtdXNlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotOzs7Ozsgbm8tZW1vamkNCi0gICBgKG5vLWVtb2ppICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotOzs7Ozsgbm90bXVjaA0KLSAgIGAobm90bXVjaC1jcnlwdG8tZGVjcnlw dGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAg IGAobm90bXVjaC1jcnlwdG8tcGFydC1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtYmFkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChub3RtdWNoLWNy eXB0by1zaWduYXR1cmUtZ29vZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt Z3JlZW4pKSkNCi0gICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS1nb29kLWtleSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChub3RtdWNoLWNy eXB0by1zaWduYXR1cmUtdW5rbm93biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtcmVkKSkpDQotICAgYChub3RtdWNoLWhlbGxvLWxvZ28tYmFja2dyb3VuZCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAobm90bXVjaC1tZXNzYWdlLXN1bW1hcnktZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pKSkNCi0gICBgKG5v dG11Y2gtc2VhcmNoLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtbWF0Y2hpbmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtbm9uLW1hdGNoaW5nLWF1dGhv cnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gt dW5yZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobm90bXVjaC10YWct YWRkZWQNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdh dmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZ3JlZW4gOnN0eWxlIHdh dmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAobm90bXVjaC10YWctZGVsZXRlZA0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6 dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNv bG9yICxyZWQgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLWZsYWdnZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLXVucmVh ZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdHJl ZS1tYXRjaC1hdXRob3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQotICAgYChub3RtdWNoLXRyZWUtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAobm90bXVjaC10cmVlLW1hdGNoLXRhZy1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChub3RtdWNoLXRyZWUt bm8tbWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChub3Rt dWNoLXdhc2gtY2l0ZWQtdGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo bm90bXVjaC13YXNoLXRvZ2dsZS1idXR0b24gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgbnVtMy1tb2RlDQotICAgYChudW0zLWZhY2Ut ZXZlbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi07Ozs7 OyBueG1sLW1vZGUNCi0gICBgKG54bWwtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChueG1sLWF0dHJpYnV0ZS1sb2NhbC1uYW1lICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0IGN5YW4tYWx0LWZhaW50KSkp KQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13 ZWlnaHQpKSkpDQotICAgYChueG1sLWF0dHJpYnV0ZS12YWx1ZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAgIGAobnhtbC1jZGF0YS1zZWN0 aW9uLUNEQVRBICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCBy ZWQtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1jZGF0YS1z ZWN0aW9uLWRlbGltaXRlciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkpDQotICAgYChueG1sLWNoYXItcmVmLWRlbGltaXRl ciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdy ZWVuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKG54bWwtY2hhci1yZWYtbnVtYmVyICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90 aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWRlbGltaXRlZC1kYXRh ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAobnhtbC1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KLSAgIGAobnhtbC1lbGVtZW50LWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChueG1sLWVsZW1lbnQtbG9jYWwtbmFtZSAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAobnht bC1lbGVtZW50LXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRh LWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWVu dGl0eS1yZWYtZGVsaW1pdGVyICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChueG1sLWVu dGl0eS1yZWYtbmFtZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0 LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAo bnhtbC1nbHlwaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwp KSkNCi0gICBgKG54bWwtaGFzaCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUt YWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0 IGJvbGQpKSkNCi0gICBgKG54bWwtbmFtZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt YWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1uYW1lc3BhY2UtYXR0 cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChueG1s LW5hbWVzcGFjZS1hdHRyaWJ1dGUtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKG54bWwtcHJvY2Vzc2lu Zy1pbnN0cnVjdGlvbi10YXJnZXQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1wcm9sb2cta2V5d29y ZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdl bnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLXJlZiAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWlu dCkNCi0gICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQt d2VpZ2h0KSkpKQ0KLTs7Ozs7IG9iamVkDQotICAgYChvYmplZC1obCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsKGlmIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1obC1hbHQtaW50ZW5zZSBiZy1obC1h bHQpKSkpDQotICAgYChvYmplZC1tYXJrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUp KSkNCi0gICBgKG9iamVkLW1vZGUtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3Rp dmUpKSkNCi07Ozs7OyBvcmRlcmxlc3MNCi0gICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTAgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLW51YW5j ZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1yZWZp bmUtYmcgYmx1ZS1yZWZpbmUtZmcpKSkpDQotICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFjZS0xICgo LGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFu Y2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt cmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1hdGNoLWZh Y2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuIGdyZWVuLW51YW5j ZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVm aW5lLWJnIGdyZWVuLXJlZmluZS1mZykpKSkNCi0gICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTMg KCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LW51YW5jZWQt YmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LXJlZmlu ZS1iZyB5ZWxsb3ctcmVmaW5lLWZnKSkpKQ0KLTs7Ozs7IG9yZw0KLSAgIGAob3JnLWFnZW5kYS1j YWxlbmRhci1ldmVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAob3Jn LWFnZW5kYS1jYWxlbmRhci1zZXhwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0K LSAgIGAob3JnLWFnZW5kYS1jbG9ja2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+ PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChvcmctYWdl bmRhLWNvbHVtbi1kYXRlbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAg YChvcmctYWdlbmRhLWN1cnJlbnQtdGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kYXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChvcmctYWdlbmRhLWRhdGUtdG9kYXkgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KG9yZy1hZ2VuZGEtZGF0ZS13ZWVrZW5kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kaWFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kaW1tZWQtdG9kby1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWFnZW5kYS1kb25lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmlsdGVy LWNhdGVnb3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0 aXZlKSkpDQotICAgYChvcmctYWdlbmRhLWZpbHRlci1lZmZvcnQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmls dGVyLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFj dGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1maWx0ZXItdGFncyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1yZXN0 cmljdGlvbi1sb2NrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1zdHJ1Y3R1cmUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChvcmctYXJjaGl2ZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChvcmctYmxvY2sgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrIGJnLWRpbSkNCi0gICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAob3JnLWJsb2NrLWJl Z2luLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1vcmctYmxvY2stZGVsaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJnLWRpbSBmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLWFsdCBmZy1zcGVjaWFsLW1pbGQpKSkpDQotICAgYChvcmctYmxvY2stZW5kLWxp bmUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWJsb2NrLWJlZ2luLWxpbmUpKSkNCi0gICBgKG9yZy1j aGVja2JveCAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAsYmctYWN0aXZlKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9y ZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChvcmctY2hlY2tib3gtc3RhdGlzdGljcy1kb25l ICgoLGNsYXNzIDppbmhlcml0IG9yZy1kb25lKSkpDQotICAgYChvcmctY2hlY2tib3gtc3RhdGlz dGljcy10b2RvICgoLGNsYXNzIDppbmhlcml0IG9yZy10b2RvKSkpDQotICAgYChvcmctY2xvY2st b3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0g ICBgKG9yZy1jb2RlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRz KSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAob3JnLWNvbHVtbiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChvcmctY29sdW1uLXRpdGxlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOnVuZGVybGluZSB0IDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKG9yZy1k YXRlICgoLGNsYXNzIDppbmhlcml0IChidXR0b24gZml4ZWQtcGl0Y2gpIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLWRhdGUtc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAo b3JnLWRvY3VtZW50LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAob3JnLWRvY3VtZW50LWluZm8ta2V5d29yZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWRvY3VtZW50LXRpdGxl ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNj YWxlLTUpKSkpDQotICAgYChvcmctZG9uZSAoKCxjbGFzcyA6Ym94ICxiZy1yZWdpb24gOmJhY2tn cm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG9yZy1kcmF3ZXIgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChvcmctZWxsaXBzaXMgKCgs Y2xhc3MgOmZvcmVncm91bmQgbmlsKSkpIDsgaW5oZXJpdHMgZnJvbSB0aGUgaGVhZGluZydzIGNv bG91cg0KLSAgIGAob3JnLWZvb3Rub3RlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG9yZy1mb3JtdWxhICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG9yZy1oYWJpdC1hbGVydC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93KSkpDQotICAgYChvcmctaGFiaXQt YWxlcnQtZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXll bGxvdykpKQ0KLSAgIGAob3JnLWhhYml0LWNsZWFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChvcmctaGFiaXQtY2xlYXItZnV0dXJl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0g ICBgKG9yZy1oYWJpdC1vdmVyZHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1yZWQpKSkNCi0gICBgKG9yZy1oYWJpdC1vdmVyZHVlLWZ1dHVyZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKG9yZy1oYWJpdC1y ZWFkeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0K LSAgIGAob3JnLWhhYml0LXJlYWR5LWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChvcmctaGVhZGxpbmUtZG9uZSAoKCxjbGFzcyA6 aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGdyZWVuLW51 YW5jZWQpKSkNCi0gICBgKG9yZy1oZWFkbGluZS10b2RvICgoLGNsYXNzIDppbmhlcml0ICxtb2R1 cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBg KG9yZy1oaWRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChvcmctaW5k ZW50ICgoLGNsYXNzIDppbmhlcml0IChmaXhlZC1waXRjaCBvcmctaGlkZSkpKSkNCi0gICBgKG9y Zy1sYXRleC1hbmQtcmVsYXRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUt ZmcpKSkNCi0gICBgKG9yZy1sZXZlbC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctMSkpKQ0KLSAgIGAob3JnLWxldmVsLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy0yKSkpDQotICAgYChvcmctbGV2ZWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBgKG9yZy1sZXZlbC00ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KLSAgIGAob3JnLWxldmVsLTUgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01KSkpDQotICAgYChvcmctbGV2ZWwtNiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0gICBgKG9yZy1sZXZlbC03ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNykpKQ0KLSAgIGAob3JnLWxldmVs LTggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy04KSkpDQotICAgYChvcmct bGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChvcmctbGlzdC1kdCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChvcmctbWFjcm8gKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KG9yZy1tZXRhLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9u dHMpIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1tb2RlLWxpbmUtY2xvY2sgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1tb2RlLWxpbmUtY2xvY2st b3ZlcnJ1biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAg YChvcmctcHJpb3JpdHkgKCgsY2xhc3MgOmJveCAsYmctcmVnaW9uIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG9yZy1wcm9wZXJ0eS12YWx1ZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBg KG9yZy1xdW90ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2sgYmct ZGltKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLXNjaGVkdWxlZCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChvcmctc2NoZWR1bGVk LXByZXZpb3VzbHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0g ICBgKG9yZy1zY2hlZHVsZWQtdG9kYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChvcmctc2V4cC1kYXRlICgoLGNsYXNzIDppbmhlcml0IG9yZy1kYXRl KSkpDQotICAgYChvcmctc3BlY2lhbC1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChvcmctdGFibGUgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAob3JnLXRhYmxlLWhlYWRl ciAoKCxjbGFzcyA6aW5oZXJpdCAoZml4ZWQtcGl0Y2ggbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0 cmFsKSkpKQ0KLSAgIGAob3JnLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFu Y2VkKSkpDQotICAgYChvcmctdGFnLWdyb3VwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRhcmdldCAoKCxjbGFzcyA6dW5kZXJs aW5lIHQpKSkNCi0gICBgKG9yZy10aW1lLWdyaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVu Zm9jdXNlZCkpKQ0KLSAgIGAob3JnLXRvZG8gKCgsY2xhc3MgOmJveCAsYmctcmVnaW9uIDpiYWNr Z3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG9yZy11cGNvbWlu Zy1kZWFkbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAo b3JnLXVwY29taW5nLWRpc3RhbnQtZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1u dWFuY2VkKSkpDQotICAgYChvcmctdmVyYmF0aW0gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChvcmctdmVy c2UgKCgsY2xhc3MgOmluaGVyaXQgb3JnLXF1b3RlKSkpDQotICAgYChvcmctd2FybmluZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotOzs7Ozsg b3JnLWpvdXJuYWwNCi0gICBgKG9yZy1qb3VybmFsLWNhbGVuZGFyLWVudHJ5LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAob3JnLWpvdXJuYWwtY2FsZW5kYXItc2NoZWR1bGVkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAob3JnLWpvdXJuYWwtaGlnaGxpZ2h0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLTs7Ozs7IG9yZy1ub3Rlcg0KLSAgIGAob3JnLW5vdGVyLW5vLW5vdGVzLWV4aXN0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0K LSAgIGAob3JnLW5vdGVyLW5vdGVzLWV4aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotOzs7Ozsgb3JnLXBvbW9kb3JvDQotICAgYChv cmctcG9tb2Rvcm8tbW9kZS1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkp DQotICAgYChvcmctcG9tb2Rvcm8tbW9kZS1saW5lLWJyZWFrICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZS1vdmVydGltZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotOzs7Ozsg b3JnLXJlY3VyDQotICAgYChvcmctcmVjdXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotOzs7Ozsgb3JnLXJvYW0NCi0gICBgKG9yZy1yb2FtLWxpbmsgKCgsY2xhc3Mg OmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAob3JnLXJvYW0tbGlu ay1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 KSkpDQotICAgYChvcmctcm9hbS1saW5rLWludmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9u IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG9yZy1yb2FtLWxpbmstc2hpZWxkZWQgKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG9yZy1yb2Ft LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7 OyBvcmctc3VwZXJzdGFyDQotICAgYChvcmctc3VwZXJzdGFyLWl0ZW0gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1zdXBlcnN0YXItbGVhZGluZyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLTs7Ozs7IG9yZy10YWJsZS1zdGlja3ktaGVh ZGVyDQotICAgYChvcmctdGFibGUtc3RpY2t5LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLTs7Ozs7IG9yZy10cmVlc2NvcGUNCi0g ICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1hcmtlcmludGVybmFsLW1pZGRheSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKG9yZy10cmVlc2NvcGUt ZmFjZXMtLW1hcmtlcmludGVybmFsLXJhbmdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IG9yaWdhbWkNCi0gICBgKG9yaWdhbWktZm9sZC1oZWFk ZXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0g OmJveCB0KSkpDQotICAgYChvcmlnYW1pLWZvbGQtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBvdXRsaW5l LW1vZGUNCi0gICBgKG91dGxpbmUtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTEpKSkNCi0gICBgKG91dGxpbmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTIpKSkNCi0gICBgKG91dGxpbmUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTMpKSkNCi0gICBgKG91dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTQpKSkNCi0gICBgKG91dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTUpKSkNCi0gICBgKG91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0gICBgKG91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkNCi0gICBgKG91dGxpbmUtOCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTgpKSkNCi07Ozs7OyBvdXRsaW5lLW1pbm9yLWZhY2Vz DQotICAgYChvdXRsaW5lLW1pbm9yLTAgKCgsY2xhc3MgbmlsKSkpDQotOzs7OzsgcGFja2FnZSAo TS14IGxpc3QtcGFja2FnZXMpDQotICAgYChwYWNrYWdlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHBhY2thZ2UtaGVscC1zZWN0aW9u LW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKHBhY2thZ2UtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAg YChwYWNrYWdlLXN0YXR1cy1hdmFpbC1vYnNvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtYXZhaWxhYmxlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWJ1aWx0 LWluICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChwYWNrYWdlLXN0YXR1 cy1kZXBlbmRlbmN5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAocGFja2FnZS1zdGF0dXMtZGlzYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtZXh0ZXJuYWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1oZWxk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChwYWNrYWdlLXN0YXR1 cy1pbmNvbXBhdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKHBhY2thZ2Utc3RhdHVzLWluc3RhbGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1uZXcgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLXVuc2ln bmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7 OyBwYWdlLWJyZWFrLWxpbmVzDQotICAgYChwYWdlLWJyZWFrLWxpbmVzICgoLGNsYXNzIDppbmhl cml0IGRlZmF1bHQgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotOzs7 OzsgcGFyYWRveA0KLSAgIGAocGFyYWRveC1hcmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAocGFyYWRveC1jb21tZW50LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChwYXJhZG94LWNvbW1pdC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtbWFnZW50YSA6Ym94IHQpKSkNCi0gICBgKHBhcmFkb3gtZGVzY3JpcHRpb24tZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYXJhZG94LWRl c2NyaXB0aW9uLWZhY2UtbXVsdGlsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKHBhcmFkb3gtZG93bmxvYWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkp DQotICAgYChwYXJhZG94LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBg KHBhcmFkb3gtaG9tZXBhZ2UtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAocGFyYWRveC1tb2RlLWxpbmUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAg IGAocGFyYWRveC1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGlu ZSB0KSkpDQotICAgYChwYXJhZG94LXN0YXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAocGFyYWRveC1zdGFycmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgcGFyZW4tZmFjZQ0KLSAgIGAocGFyZW50aGVzaXMgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLTs7Ozs7IHBhcnJvdA0KLSAgIGAo cGFycm90LXJvdGF0ZS1yb3RhdGlvbi1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLTs7Ozs7IHBhc3MNCi0gICBgKHBhc3MtbW9k ZS1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKHBhc3MtbW9kZS1lbnRyeS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChwYXNzLW1vZGUt aGVhZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7 Ozs7IHBlcnNwLW1vZGUNCi0gICBgKHBlcnNwLWZhY2UtbGlnaHRlci1idWZmZXItbm90LWluLXBl cnNwICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChw ZXJzcC1mYWNlLWxpZ2h0ZXItZGVmYXVsdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAocGVyc3AtZmFjZS1saWdodGVyLW5pbC1wZXJzcCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi07Ozs7OyBw ZXJzcGVjdGl2ZQ0KLSAgIGAocGVyc3Atc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLTs7Ozs7IHBoaS1ncmVwDQotICAgYChw aGktZ3JlcC1oZWFkaW5nLWZhY2UgICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0g ICBgKHBoaS1ncmVwLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAocGhpLWdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKHBoaS1ncmVwLW1vZGlmaWVkLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAo cGhpLWdyZXAtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1ibHVlKSkpDQotOzs7OzsgcGhpLXNlYXJjaA0KLSAgIGAocGhpLXJlcGxhY2UtcHJldmlldy1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAg IGAocGhpLXNlYXJjaC1mYWlscGFydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1yZWQpKSkNCi0gICBgKHBoaS1zZWFyY2gtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAocGhpLXNlYXJjaC1zZWxlY3Rp b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xk KSkpKQ0KLTs7Ozs7IHBrZ2J1aWxkLW1vZGUNCi0gICBgKHBrZ2J1aWxkLWVycm9yLWZhY2UgKCgs Y2xhc3MgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KLTs7Ozs7IHBvbWlkb3INCi0gICBg KHBvbWlkb3ItYnJlYWstZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIp KSkNCi0gICBgKHBvbWlkb3Itb3ZlcndvcmstZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdC1vdGhlcikpKQ0KLSAgIGAocG9taWRvci1za2lwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChwb21pZG9yLXdv cmstZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotOzs7Ozsg cG93ZXJsaW5lDQotICAgYChwb3dlcmxpbmUtYWN0aXZlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctbWFpbiA6Zm9yZWdyb3VuZCAsYmx1ZS1mYWludCA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAg YChwb3dlcmxpbmUtYWN0aXZlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJn IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHBvd2VybGluZS1hY3RpdmUyICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0K LSAgIGAocG93ZXJsaW5lLWluYWN0aXZlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lh bC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHBvd2VybGluZS1p bmFjdGl2ZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctaW5h Y3RpdmUpKSkNCi0gICBgKHBvd2VybGluZS1pbmFjdGl2ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IHBvd2VybGlu ZS1ldmlsDQotICAgYChwb3dlcmxpbmUtZXZpbC1iYXNlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKHBvd2VybGluZS1ldmls LWVtYWNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEp KSkNCi0gICBgKHBvd2VybGluZS1ldmlsLWluc2VydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtbW90aW9uLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKHBv d2VybGluZS1ldmlsLW5vcm1hbC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZv cmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLW9wZXJhdG9yLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdykpKQ0KLSAgIGAocG93 ZXJsaW5lLWV2aWwtcmVwbGFjZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFj dGl2ZS1yZWQpKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLXZpc3VhbC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuKSkpDQotOzs7OzsgcHJvY2VkDQotICAgYChw cm9jZWQtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0K LSAgIGAocHJvY2VkLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFs dCkpKQ0KLSAgIGAocHJvY2VkLXNvcnQtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBwcm9kaWd5 DQotICAgYChwcm9kaWd5LWdyZWVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkp DQotICAgYChwcm9kaWd5LXJlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKHByb2RpZ3kteWVsbG93LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LTs7Ozs7IHJhY2tldC1tb2RlDQotICAgYChyYWNrZXQtZGVidWctYnJlYWstZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAocmFja2V0LWRlYnVn LWxvY2Fscy1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciBuaWwpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVu LWFsdC1vdGhlcikpKQ0KLSAgIGAocmFja2V0LWRlYnVnLXJlc3VsdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yIG5pbCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBg KHJhY2tldC1oZXJlLXN0cmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KLSAgIGAocmFja2V0LWtleXdvcmQtYXJndW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KLSAgIGAocmFja2V0LWxvZ2dlci1jb25maWctZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHJh Y2tldC1sb2dnZXItZGVidWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCi0gICBgKHJhY2tldC1sb2dnZXItaW5mby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1sYW5nLW5vdGUpKSkNCi0gICBgKHJhY2tldC1sb2dnZXItdG9waWMtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChyYWNrZXQtc2VsZmV2YWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkp DQotICAgYChyYWNrZXQteHAtZXJyb3ItZmFjZQ0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0 cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAo OmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHJhaW5ib3ctYmxv Y2tzDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC0yLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRl cHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJh aW5ib3ctYmxvY2tzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkN Ci0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC03LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgt OC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1i bG9ja3MtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAg YChyYWluYm93LWJsb2Nrcy11bm1hdGNoZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk KSkpDQotOzs7OzsgcmFpbmJvdy1pZGVudGlmaWVycw0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVy cy1pZGVudGlmaWVyLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0K LSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50 aWZpZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJh aW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRl bnRpZmllcnMtaWRlbnRpZmllci02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkN Ci0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci03ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVy LTggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50 aWZpZXJzLWlkZW50aWZpZXItOSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0K LSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEwICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTExICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJz LWlkZW50aWZpZXItMTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHJhaW5i b3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZp ZXItMTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyByYWluYm93LWRl bGltaXRlcnMNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1iYXNlLWZhY2UtZXJyb3IgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWJhc2UtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0 ZXJzLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkp DQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRo LTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJh aW5ib3ctZGVsaW1pdGVycy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC01LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWRlbGlt aXRlcnMtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0g ICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtOC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJz LWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAo cmFpbmJvdy1kZWxpbWl0ZXJzLW1pc21hdGNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtdW5tYXRj aGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotOzs7 OzsgcmNpcmMNCi0gICBgKHJjaXJjLWJyaWdodC1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChyY2lyYy1kaW0tbmljayAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChyY2lyYy1teS1uaWNrICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHJjaXJjLW5pY2staW4t bWVzc2FnZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KHJjaXJjLW5pY2staW4tbWVzc2FnZS1mdWxsLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChyY2lyYy1vdGhlci1uaWNrICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAocmNpcmMtcHJvbXB0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChyY2lyYy1zZXJ2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCkpKQ0KLSAgIGAocmNpcmMtdGltZXN0YW1wICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHJjaXJjLXVybCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyByZWdleHAtYnVpbGRlciAocmUtYnVpbGRlcikN Ci0gICBgKHJlYi1tYXRjaC0wICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut Ymx1ZSkpKQ0KLSAgIGAocmViLW1hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChyZWItbWF0Y2gtMiAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChyZWItbWF0Y2gtMyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAocmViLXJlZ2V4cC1ncm91 cGluZy1iYWNrc2xhc2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNj YXBlLWNoYXItYmFja3NsYXNoKSkpDQotICAgYChyZWItcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVj dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25z dHJ1Y3QpKSkNCi07Ozs7OyByZyAocmcuZWwpDQotICAgYChyZy1jb2x1bW4tbnVtYmVyLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChyZy1jb250 ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAocmct ZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKHJnLWZpbGUtdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAocmctZmlsZW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHJnLWxpbmUtbnVtYmVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAocmctbGl0ZXJhbC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAocmctbWF0Y2gtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKHJn LXJlZ2V4cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAocmctdG9nZ2xlLW9mZi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQotICAgYChyZy10b2dnbGUtb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAocmctd2FybmluZy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHJp cGdyZXANCi0gICBgKHJpcGdyZXAtY29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy11bmZvY3VzZWQpKSkNCi0gICBgKHJpcGdyZXAtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHJpcGdyZXAtaGl0LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHJpcGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBybWFpbA0KLSAg IGAocm1haWwtaGVhZGVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChybWFpbC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBydWxlci1tb2RlDQotICAgYChydWxlci1tb2Rl LWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgKHJ1bGVyLW1vZGUtZGVmYXVsdCBib2xk KSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAocnVsZXItbW9kZS1jb21tZW50LWNvbHVt biAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLHJlZC1h Y3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtY3VycmVudC1jb2x1bW4gKCgsY2xhc3MgOmluaGVy aXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSA6Ym94IHQpKSkN Ci0gICBgKHJ1bGVyLW1vZGUtZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3Rp dmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChydWxlci1tb2RlLWZpbGwtY29s dW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWN0aXZlKSkpDQotICAgYChydWxlci1tb2RlLWZyaW5nZXMgKCgsY2xhc3MgOmluaGVyaXQg cnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAocnVs ZXItbW9kZS1nb2FsLWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChydWxlci1tb2RlLW1hcmdpbnMg KCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxiZy1tYWlu KSkpDQotICAgYChydWxlci1tb2RlLXBhZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS10YWItc3RvcCAo KCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLHllbGxvdy1h Y3RpdmUpKSkNCi07Ozs7OyBzYWxsZXQNCi0gICBgKHNhbGxldC1idWZmZXItY29tcHJlc3NlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQgOnNsYW50IGl0YWxpYykpKQ0KLSAg IGAoc2FsbGV0LWJ1ZmZlci1kZWZhdWx0LWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1udWFuY2VkKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLWRpcmVjdG9yeSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLWhlbHAgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZl ci1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlciA6c2xhbnQg aXRhbGljKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLW9yZGluYXJ5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLXJlYWQtb25seSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1zaXplICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKHNhbGxldC1idWZmZXIt c3BlY2lhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KHNhbGxldC1mbHgtbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEt Y29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXN1YnRsZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1yZWZpbmUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGN5YW4tYWx0LW90aGVyKSkpKQ0KLSAgIGAoc2FsbGV0LXJlY2VudGYtYnVmZmVyLW5hbWUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoc2FsbGV0LXJlY2Vu dGYtZmlsZS1wYXRoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0g ICBgKHNhbGxldC1yZWdleHAtbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt ZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyKSkpKQ0KLSAg IGAoc2FsbGV0LXNvdXJjZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0g ICBgKHNhbGxldC1zdWJzdHJpbmctbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyKSkpKQ0K LTs7Ozs7IHNlbGVjdHJ1bQ0KLSAgIGAoc2VsZWN0cnVtLWN1cnJlbnQtY2FuZGlkYXRlDQotICAg ICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluIDp1bmRlcmxpbmUg LGZnLW1haW4NCi0gICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxAKHBjYXNlIG1vZHVzLW9wZXJh bmRpLXRoZW1lLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdv cGluaW9uYXRlZCAobGlzdCBiZy1hY3RpdmUpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChfIChsaXN0IGJnLWluYWN0aXZlKSkpKSkpDQotICAgYChzZWxlY3RydW0tcHJpbWFyeS1o aWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBs ZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQgbWFnZW50YS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YS1yZWZpbmUtYmcgbWFnZW50YS1yZWZpbmUtZmcpKSkp DQotICAgYChzZWxlY3RydW0tc2Vjb25kYXJ5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1udWFuY2Vk LWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFu LXJlZmluZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCi07Ozs7OyBzZW1hbnRpYw0KLSAgIGAoc2Vt YW50aWMtY29tcGxldGUtaW5saW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tcHJp dmF0ZS1tZW1iZXJzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5 YW4pKSkNCi0gICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tcHJvdGVjdGVkLW1lbWJlcnMtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChzZW1hbnRpYy1oaWdobGln aHQtZWRpdHMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChzZW1h bnRpYy1oaWdobGlnaHQtZnVuYy1jdXJyZW50LXRhZy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQpKSkNCi0gICBgKHNlbWFudGljLWlkbGUtc3ltYm9sLWhpZ2hsaWdodCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHNlbWFudGljLXRh Zy1ib3VuZGFyeS1mYWNlICgoLGNsYXNzIDpvdmVybGluZSAsYmx1ZS1pbnRlbnNlKSkpDQotICAg YChzZW1hbnRpYy11bm1hdGNoZWQtc3ludGF4LWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSAsZmct bGFuZy1lcnJvcikpKQ0KLTs7Ozs7IHNlc21hbg0KLSAgIGAoc2VzbWFuLWJyb3dzZXItYnV0dG9u LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoc2VzbWFuLWJyb3dzZXItaGlnaGxpZ2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoc2VzbWFuLWJ1ZmZlci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChzZXNtYW4tZGlyZWN0b3J5LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc2VzbWFu LXByb2plY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IHNoZWxsLXNjcmlwdC1tb2RlDQotICAgYChzaC1oZXJlZG9j ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoc2gtcXVvdGVkLWV4ZWMg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHNob3ctcGFyZW4tbW9kZQ0KLSAgIGAoc2hvdy1wYXJl bi1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1wYXJlbiBiZy1wYXJlbi1t YXRjaA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1wYXJlbi1tYXRjaC1pbnRlbnNlKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc2hvdy1wYXJlbi1tYXRj aC1leHByZXNzaW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkp KQ0KLSAgIGAoc2hvdy1wYXJlbi1taXNtYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHNpZGUtbm90ZXMNCi0gICBgKHNpZGUtbm90ZXMgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7Ozsg c2tld2VyLW1vZGUNCi0gICBgKHNrZXdlci1lcnJvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQgOnVuZGVybGluZSB0KSkpDQotOzs7Ozsgc21hcnQtbW9kZS1saW5lDQotICAgYChzbWwv Y2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21s L2Rpc2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChz bWwvZmlsZW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3Rp dmUpKSkNCi0gICBgKHNtbC9mb2xkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkp KQ0KLSAgIGAoc21sL2dpdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bi1hY3RpdmUpKSkNCi0gICBgKHNtbC9nbG9iYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFj dGl2ZSkpKQ0KLSAgIGAoc21sL2xpbmUtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9i YWwpKSkNCi0gICBgKHNtbC9taW5vci1tb2RlcyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFs KSkpDQotICAgYChzbWwvbW9kZXMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctYWN0aXZlKSkpDQotICAgYChzbWwvbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHNtbC9tdWxlLWluZm8gKCgsY2xh c3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL25hbWUtZmlsbGluZyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoc21sL25vdC1tb2RpZmllZCAo KCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvbnVtYmVycy1zZXBhcmF0 b3IgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL291dHNpZGUtbW9k aWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBg KHNtbC9wb3NpdGlvbi1wZXJjZW50YWdlICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkN Ci0gICBgKHNtbC9wcmVmaXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0K LSAgIGAoc21sL3Byb2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgc21sL3ByZWZpeCkpKQ0KLSAgIGAo c21sL3Byb2plY3RpbGUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dpdCkpKQ0KLSAgIGAoc21sL3Jl YWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkp KQ0KLSAgIGAoc21sL3JlbW90ZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAg YChzbWwvc3VkbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQot ICAgYChzbWwvdGltZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwv dmMgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dpdCkpKQ0KLSAgIGAoc21sL3ZjLWVkaXRlZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7Ozsg c21hcnRwYXJlbnMNCi0gICBgKHNwLXBhaXItb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3Atc2hvdy1wYWlyLWVuY2xvc2lu ZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHNw LXNob3ctcGFpci1tYXRjaC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXBh cmVuIGJnLXBhcmVuLW1hdGNoDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1wYXJlbi1tYXRjaC1pbnRlbnNlKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKHNwLXNob3ctcGFpci1taXNtYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChzcC13cmFwLW92ZXJsYXktY2xvc2lu Zy1wYWlyICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQotICAgYChz cC13cmFwLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFj ZSkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5LW9wZW5pbmctcGFpciAoKCxjbGFzcyA6aW5oZXJp dCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KLSAgIGAoc3Atd3JhcC10YWctb3ZlcmxheS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQotOzs7Ozsgc21lcmdl DQotICAgYChzbWVyZ2UtYmFzZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNo YW5nZWQpKSkNCi0gICBgKHNtZXJnZS1sb3dlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1kaWZmLWFkZGVkKSkpDQotICAgYChzbWVyZ2UtbWFya2VycyAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQot ICAgYChzbWVyZ2UtcmVmaW5lZC1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1k aWZmLXJlZmluZS1hZGRlZCkpKQ0KLSAgIGAoc21lcmdlLXJlZmluZWQtY2hhbmdlZCAoKCxjbGFz cykpKQ0KLSAgIGAoc21lcmdlLXJlZmluZWQtcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkKSkpDQotICAgYChzbWVyZ2UtdXBwZXIgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkKSkpDQotOzs7Ozsgc3BhY2VsaW5l DQotICAgYChzcGFjZWxpbmUtZXZpbC1lbWFjcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtbWFnZW50YSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtaW5zZXJ0ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2 aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQot ICAgYChzcGFjZWxpbmUtZXZpbC1ub3JtYWwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6 Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQotICAgYChzcGFjZWxpbmUtZXZpbC1yZXBsYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCi0gICBgKHNwYWNlbGluZS1l dmlsLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtY3lhbikpKQ0K LSAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUtZmx5Y2hlY2staW5mbyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHNwYWNlbGluZS1mbHljaGVjay13YXJuaW5nICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUtaGln aGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUpKSkN Ci0gICBgKHNwYWNlbGluZS1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UtbWFnZW50YSkpKQ0KLSAgIGAoc3BhY2VsaW5lLXB5dGhvbi12ZW52ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLXJlYWQtb25seSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChzcGFjZWxp bmUtdW5tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikp KQ0KLTs7Ozs7IHNwZWVkYmFyDQotICAgYChzcGVlZGJhci1idXR0b24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBsaW5rKSkpDQotICAgYChzcGVlZGJhci1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChzcGVlZGJhci1maWxlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNwZWVkYmFyLWhpZ2hs aWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQot ICAgYChzcGVlZGJhci1zZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKHNwZWVkYmFyLXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLSAgIGAoc3BlZWRiYXItdGFn LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi07Ozs7OyBz cGVsbC1mdQ0KLSAgIGAoc3BlbGwtZnUtaW5jb3JyZWN0LWZhY2UNCi0gICAgICgoLChhcHBlbmQg Jygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDpm b3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkNCi0gICAg ICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KLTs7 Ozs7IHN0cmlwZXMNCi0gICBgKHN0cmlwZXMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aGwtbGluZSkpKQ0KLTs7Ozs7IHN1Y2Nlc3MNCi0gICBgKHN1Z2dlc3QtaGVhZGluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7Ozsg c3dpdGNoLXdpbmRvdw0KLSAgIGAoc3dpdGNoLXdpbmRvdy1iYWNrZ3JvdW5kICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKHN3aXRjaC13aW5kb3ctbGFiZWwgKCgsY2xhc3Mg OmhlaWdodCAzLjAgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLTs7Ozs7IHN3aXBlcg0K LSAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsKSkpDQotICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRj aC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0g ICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gt ZmFjZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAg IGAoc3dpcGVyLWxpbmUtZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNp b24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFj ZS0xICgoLGNsYXNzIDppbmhlcml0IHN3aXBlci1saW5lLWZhY2UpKSkNCi0gICBgKHN3aXBlci1t YXRjaC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgc3dpcGVyLWxpbmUtZmFjZSkpKQ0KLSAgIGAo c3dpcGVyLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXItbGluZS1mYWNlKSkp DQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS00ICgoLGNsYXNzIDppbmhlcml0IHN3aXBlci1saW5l LWZhY2UpKSkNCi07Ozs7OyBzd29vcA0KLSAgIGAoc3dvb3AtZmFjZS1oZWFkZXItZm9ybWF0LWxp bmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMykpKSkNCi0gICBgKHN3b29wLWZh Y2UtbGluZS1idWZmZXItbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkp DQotICAgYChzd29vcC1mYWNlLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCi0gICBgKHN3b29wLWZhY2UtdGFyZ2V0LWxpbmUgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5k IHQpKSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS10YXJnZXQtd29yZHMgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07Ozs7OyBzeA0KLSAgIGAoc3gtaW5ib3gtaXRl bS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo c3gtaW5ib3gtaXRlbS10eXBlLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCAoc3gtaW5ib3gtaXRl bS10eXBlIGJvbGQpKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWFuc3dlcnMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWFuc3dlcnMtYWNj ZXB0ZWQgKCgsY2xhc3MgOmJveCB0IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbGlzdC1ib3VudHkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtZGF0ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChzeC1xdWVzdGlv bi1saXN0LWZhdm9yaXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1wYXJlbnQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtcmVhZC1xdWVzdGlv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0 LXNjb3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHN4 LXF1ZXN0aW9uLWxpc3Qtc2NvcmUtdXB2b3RlZCAoKCxjbGFzcyA6aW5oZXJpdCAoc3gtcXVlc3Rp b24tbGlzdC1zY29yZSBib2xkKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC11bnJlYWQtcXVl c3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoc3gtcXVlc3Rpb24tbW9kZS1hY2NlcHRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWln aHQgMS4zIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1jbG9z ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyA6Ym94ICg6bGlu ZS13aWR0aCAyIDpjb2xvciBuaWwpKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWNsb3NlZC1y ZWFzb24gKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1jb250ZW50LWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1kYXRlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWhlYWRl ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChzeC1x dWVzdGlvbi1tb2RlLWtiZC10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOSA6 Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctbWFpbiA6c3R5bGUgcmVsZWFzZWQtYnV0dG9u KSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1zY29yZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLXNj b3JlLWRvd252b3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChzeC1x dWVzdGlvbi1tb2RlLXNjb3JlLXVwdm90ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS10aXRsZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1t b2RlLXRpdGxlLWNvbW1lbnRzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoc3gtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLSAgIGAoc3gtdXNlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LSAgIGAoc3gtdXNlci1yZXB1dGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci07Ozs7OyBzeW1ib2wtb3ZlcmxheQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZGVmYXVsdC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3lt Ym9sLW92ZXJsYXktZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut Ymx1ZSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCi0gICBgKHN5 bWJvbC1vdmVybGF5LWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LW1hZ2VudGEpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS02 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKHN5bWJv bC1vdmVybGF5LWZhY2UtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWN5 YW4pKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7Ozs7IHN5c2xvZy1tb2RlDQotICAgYChzeXNsb2ct ZGVidWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKHN5c2xvZy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKHN5c2xvZy1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc3lzbG9nLWhpZGUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN5c2xvZy1o b3VyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVy KSkpDQotICAgYChzeXNsb2ctaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoc3lzbG9nLWlwICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHN5 c2xvZy1zdSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChzeXNsb2ctd2FybiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCi07Ozs7OyB0YWJsZSAoYnVpbHQtaW4gdGFibGUuZWwpDQotICAgYCh0YWJsZS1jZWxs ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcpKSkNCi07Ozs7OyB0ZWxlcGhv bmUtbGluZQ0KLSAgIGAodGVsZXBob25lLWxpbmUtYWNjZW50LWFjdGl2ZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGJnLWluYWN0aXZlKSkpDQotICAgYCh0 ZWxlcGhvbmUtbGluZS1hY2NlbnQtaW5hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1lcnJv ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAg YCh0ZWxlcGhvbmUtbGluZS1ldmlsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLWVtYWNzICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9u ZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZykpKQ0KLSAgIGAodGVs ZXBob25lLWxpbmUtZXZpbC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUt ZXZpbCA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxp bmUtZXZpbC1tb3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFj a2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwt bm9ybWFsICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQg LGJnLWFsdCkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1vcGVyYXRvciAoKCxjbGFzcyA6 aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJn KSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQg dGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcpKSkNCi0gICBg KHRlbGVwaG9uZS1saW5lLWV2aWwtdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1s aW5lLWV2aWwgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25l LWxpbmUtcHJvamVjdGlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0g ICBgKHRlbGVwaG9uZS1saW5lLXVuaW1wb3J0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1p bmFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7OzsgdGVybQ0KLSAgIGAo dGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAodGVybS1ib2xkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKHRlcm0t Y29sb3ItYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZSA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAodGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQotICAgYCh0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHRlcm0tY29sb3ItbWFnZW50 YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAodGVybS1jb2xvci1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZCA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQotICAgYCh0ZXJtLWNvbG9yLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAs eWVsbG93IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHRlcm0tdW5kZXJsaW5lICgoLGNs YXNzIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHRvbWF0aW5obw0KLSAgIGAodG9tYXRpbmhvLW9r LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAodG9tYXRp bmhvLXBhdXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQot ICAgYCh0b21hdGluaG8tcmVzZXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotOzs7OzsgdHJhbnNpZW50DQotICAgYCh0cmFuc2llbnQtYWN0aXZlLWluZml4ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAodHJhbnNpZW50LWFt YXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAodHJhbnNpZW50LWFyZ3VtZW50ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQpKSkNCi0gICBgKHRyYW5zaWVudC1ibHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHRyYW5zaWVudC1kaXNhYmxlZC1zdWZmaXggKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHRyYW5zaWVu dC1lbmFibGVkLXN1ZmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdy ZWVuKSkpDQotICAgYCh0cmFuc2llbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0cmFuc2llbnQtaW5hY3RpdmUtYXJndW1lbnQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHJhbnNpZW50LWluYWN0aXZl LXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHRyYW5zaWVudC1r ZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodHJh bnNpZW50LW1pc21hdGNoZWQta2V5ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodHJh bnNpZW50LW5vbnN0YW5kYXJkLWtleSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHRy YW5zaWVudC1waW5rICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCi0gICBgKHRyYW5zaWVudC1yZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkLWludGVuc2UpKSkNCi0gICBgKHRyYW5zaWVudC10ZWFsICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYCh0cmFuc2llbnQtdW5y ZWFjaGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAodHJh bnNpZW50LXVucmVhY2hhYmxlLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2Vk KSkpDQotICAgYCh0cmFuc2llbnQtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotOzs7OzsgdHJhc2hlZA0KLSAgIGAodHJhc2hlZC1kZWxldGVkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQotICAgYCh0cmFzaGVkLWRpcmVjdG9yeSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodHJhc2hlZC1tYXJrICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQotICAgYCh0cmFzaGVkLW1hcmtl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkpKQ0KLSAgIGAodHJhc2hl ZC1yZXN0b3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAg IGAodHJhc2hlZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQpKSkNCi07Ozs7OyB0cmVlbWFjcw0KLSAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWNv bGxhcHNlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAo dHJlZW1hY3MtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtZGlyZWN0b3J5 KSkpDQotICAgYCh0cmVlbWFjcy1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKHRyZWVtYWNzLWZyaW5nZS1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LWFkZGVkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1jb25m bGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xk KSkpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYCh0cmVlbWFjcy1naXQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LXJlbmFt ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHRy ZWVtYWNzLWdpdC11bm1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKHRyZWVtYWNzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAodHJlZW1hY3MtaGVscC1jb2x1bW4tZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodHJlZW1hY3MtaGVscC10aXRs ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAodHJl ZW1hY3Mtb24tZmFpbHVyZS1wdWxzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtcmVkKSkpDQotICAgYCh0cmVlbWFjcy1vbi1zdWNjZXNzLXB1bHNlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAodHJlZW1h Y3Mtcm9vdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyIDpoZWlnaHQgMS4yIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodHJlZW1hY3Mtcm9vdC1y ZW1vdGUtZGlzY29ubmVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1y ZW1vdGUtZmFjZSA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYCh0cmVlbWFjcy1yb290LXJl bW90ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJvb3QtZmFjZSA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtdW5yZWFkYWJsZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJvb3QtdW5yZWFkYWJsZS1mYWNlKSkpDQotICAg YCh0cmVlbWFjcy1yb290LXVucmVhZGFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFj cy1yb290LWZhY2UgOnN0cmlrZS10aHJvdWdoIHQpKSkNCi0gICBgKHRyZWVtYWNzLXRhZ3MtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHRyZWVtYWNzLXRhZ3Mt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyB0dHktbWVu dQ0KLSAgIGAodHR5LW1lbnUtZGlzYWJsZWQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHR0eS1tZW51LWVuYWJsZWQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKHR0eS1tZW51LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotOzs7OzsgdHVhcmVnDQotICAgYChjYW1sLXR5 cGVzLWRlZi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkN Ci0gICBgKGNhbWwtdHlwZXMtZXhwci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoY2FtbC10eXBlcy1vY2MtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGNhbWwtdHlwZXMtc2NvcGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAo Y2FtbC10eXBlcy10eXBlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1tYWdlbnRhKSkpDQotICAgYCh0dWFyZWctZm9udC1kb3VibGUtc2VtaWNvbG9uLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0IHJlZC1h bHQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWF0dHJpYnV0ZS1mYWNlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1m YWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stY29uc3RydWN0b3ItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1lcnJvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0K LSAgIGAodHVhcmVnLWZvbnQtbG9jay1leHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHR1YXJlZy1mb250 LWxvY2stZ292ZXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbmZpeC1leHRlbnNpb24tbm9kZS1m YWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbnRl cmFjdGl2ZS1kaXJlY3RpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWVycm9yLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmVkIHJlZC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2staW50ZXJhY3Rp dmUtb3V0cHV0LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAg YCh0dWFyZWctZm9udC1sb2NrLWxhYmVsLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkNCi0g ICBgKHR1YXJlZy1mb250LWxvY2stbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLW1vZHVsZS1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1h Z2VudGEtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1tdWx0aXN0YWdlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0DQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQt bG9jay1vcGVyYXRvci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLW9wYW0tZXJyb3It ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZCByZWQtZmFpbnQpKSkpDQot ICAgYCh0dWFyZWctb3BhbS1wa2ctdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IHR5cGVzY3JpcHQNCi0gICBgKHR5cGVzY3JpcHQtanNkb2Mt dGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAodHlwZXNjcmlwdC1qc2RvYy10eXBlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAodHlwZXNjcmlwdC1qc2RvYy12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyB1bmRvLXRyZWUNCi0g ICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWFjdGl2ZS1icmFuY2gtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh1bmRvLXRyZWUtdmlzdWFs aXplci1jdXJyZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0K LSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLXJlZ2lzdGVyLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAodW5kby10cmVl LXZpc3VhbGl6ZXItdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1p bnRlbnNlKSkpDQotOzs7OzsgdmMgKHZjLWhvb2tzLmVsKQ0KLSAgIGAodmMtY29uZmxpY3Qtc3Rh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAodmMtZWRpdGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWN0aXZlKSkpDQotICAgYCh2Yy1sb2NhbGx5LWFkZGVkLXN0YXRlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAodmMtbG9ja2VkLXN0YXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAodmMtbWlzc2luZy1zdGF0ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkp KQ0KLSAgIGAodmMtbmVlZHMtdXBkYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodmMtcmVtb3ZlZC1z dGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAodmMtc3RhdGUt YmFzZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYCh2Yy11cC10by1k YXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7 OyB2ZGlmZg0KLSAgIGAodmRpZmYtYWRkaXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1kaWZmLWFkZGVkKSkpDQotICAgYCh2ZGlmZi1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQpKSkNCi0gICBgKHZkaWZmLWNsb3NlZC1m b2xkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3Jv dW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAodmRpZmYtcmVmaW5lLWFkZGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYCh2ZGlm Zi1yZWZpbmUtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmlu ZS1jaGFuZ2VkKSkpDQotICAgYCh2ZGlmZi1zdWJ0cmFjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLSAgIGAodmRpZmYtdGFyZ2V0LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotOzs7Ozsgdmlt aXNoLWZvbGQNCi0gICBgKHZpbWlzaC1mb2xkLWZyaW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hY3RpdmUpKSkNCi0gICBgKHZpbWlzaC1mb2xkLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYCh2aW1pc2gtZm9sZC1vdmVy bGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLTs7Ozs7IHZpc2libGUtbWFyaw0KLSAgIGAodmlzaWJsZS1tYXJrLWFjdGl2ZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnKSkpDQotICAgYCh2aXNpYmxlLW1h cmstZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAo dmlzaWJsZS1tYXJrLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZS1i ZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91 bmQgLG1hZ2VudGEtaW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFj ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkNCi07Ozs7OyB2aXN1 YWwtcmVnZXhwDQotICAgYCh2ci9ncm91cC0wICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAodnIvZ3JvdXAtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHZyL2dyb3VwLTIgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAodnIvbWF0Y2gtMCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYCh2ci9tYXRj aC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBg KHZyL21hdGNoLXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1p bnRlbnNlLW5ldXRyYWwgYm9sZCkpKSkNCi07Ozs7OyB2b2xhdGlsZS1oaWdobGlnaHRzDQotICAg YCh2aGwvZGVmYXVsdC1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lv biAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFj a2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi07Ozs7OyB2dGVy bQ0KLSAgIGAodnRlcm0tY29sb3ItYmxhY2sgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXkzNSIg OmZvcmVncm91bmQgImdyYXkzNSIpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHZ0ZXJtLWNvbG9y LWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKHZ0ZXJtLWNvbG9yLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9y LWludmVyc2UtdmlkZW8gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmludmVyc2Utdmlk ZW8gdCkpKQ0KLSAgIGAodnRlcm0tY29sb3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs bWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodnRlcm0tY29sb3ItcmVkICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAodnRlcm0t Y29sb3ItdW5kZXJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnVu ZGVybGluZSB0KSkpDQotICAgYCh2dGVybS1jb2xvci13aGl0ZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAiZ3JheTY1IiA6Zm9yZWdyb3VuZCAiZ3JheTY1IikpKQ0KLSAgIGAodnRlcm0tY29sb3IteWVs bG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LTs7Ozs7IHdjaGVjay1tb2RlDQotICAgYCh3Y2hlY2stZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotOzs7Ozsgd2ViLW1vZGUNCi0gICBgKHdl Yi1tb2RlLWFubm90YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50 LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWFubm90YXRpb24taHRtbC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYW5ub3RhdGlv bi10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UgOnVuZGVy bGluZSB0KSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1hdHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZhaW50KSkpKQ0KLSAg IGAod2ViLW1vZGUtYmxvY2stYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQp KSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg d2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1jb250cm9sLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBt YWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1t b2RlLWJsb2NrLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYCh3ZWItbW9kZS1ibG9jay1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0p KSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdl Yi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1ib2xkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAod2ViLW1vZGUtYnVpbHRpbi1mYWNlICgoLGNsYXNzICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jb21tZW50LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3 ZWItbW9kZS1jb21tZW50LWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNr Z3JvdW5kICxiZy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LWZhaW50 KSkpKQ0KLSAgIGAod2ViLW1vZGUtY29uc3RhbnQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0g ICBgKHdlYi1tb2RlLWNzcy1hdC1ydWxlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS1jc3MtY29sb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkp KSkNCi0gICBgKHdlYi1tb2RlLWNzcy1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2Vi LW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtZnVuY3Rpb24tZmFjZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50 YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNz cy1wcmlvcml0eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5 ZWxsb3ctYWx0IHllbGxvdy1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0g ICBgKHdlYi1tb2RlLWNzcy1wcm9wZXJ0eS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1v ZGUtY3NzLXBzZXVkby1jbGFzcy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS1jc3Mtc2VsZWN0b3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1zdHJpbmctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUt Y3NzLXZhcmlhYmxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KLSAgIGAod2ViLW1vZGUtY3VycmVudC1jb2x1bW4taGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAod2ViLW1vZGUtY3VycmVudC1lbGVtZW50LWhp Z2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAod2ViLW1vZGUtZG9jdHlwZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAod2ViLW1vZGUt ZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0K LSAgIGAod2ViLW1vZGUtZmlsdGVyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWZvbGRlZC1mYWNl ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2ViLW1vZGUtZnVuY3Rpb24tY2FsbC1m YWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdl bnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkp KQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLWN1c3RvbS1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2Vi LW1vZGUtaHRtbC1hdHRyLWVuZ2luZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZXF1YWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLW5hbWUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkp DQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFp bnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWVudGl0eS1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hbHQtb3RoZXIgeWVsbG93LWFsdC1vdGhlci1m YWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctYnJhY2tldC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFn LWN1c3RvbS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy1mYWNlICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkp KSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFnLW5hbWVzcGFjZWQtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0 LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUt aHRtbC10YWctdW5jbG9zZWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZWQgcmVkLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLWlubGF5LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAod2ViLW1vZGUtaXRhbGlj LWZhY2UgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAod2ViLW1vZGUtamF2YXNjcmlw dC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkp DQotICAgYCh3ZWItbW9kZS1qYXZhc2NyaXB0LXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0 IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1qc29uLWNvbW1lbnQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1t b2RlLWpzb24tY29udGV4dC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWpz b24ta2V5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAo d2ViLW1vZGUtanNvbi1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJp bmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3 ZWItbW9kZS1qc3gtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRs ZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTMt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC00LWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0g ICBgKHdlYi1tb2RlLWpzeC1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYCh3ZWItbW9kZS1rZXl3b3JkLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBt YWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1t b2RlLXBhcmFtLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXBhcnQtY29tbWVudC1m YWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2Vi LW1vZGUtcGFydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWJsb2NrLWZhY2UpKSkN Ci0gICBgKHdlYi1tb2RlLXBhcnQtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1v ZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXByZXByb2Nlc3Nvci1mYWNlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0LW90aGVyIHJlZC1hbHQt b3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1zY3JpcHQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXNxbC1rZXl3b3JkLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LWZh aW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtc3RyaW5nLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUtYWx0LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUt c3R5bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCi0gICBg KHdlYi1tb2RlLXN5bWJvbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXR5 cGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2Vu dGEtYWx0LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtdW5kZXJsaW5lLWZhY2UgKCgsY2xhc3Mg OnVuZGVybGluZSB0KSkpDQotICAgYCh3ZWItbW9kZS12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQot ICAgYCh3ZWItbW9kZS13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dy b3VuZCAsYmctYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1hbHQtb3RoZXItZmFp bnQpKSkpDQotICAgYCh3ZWItbW9kZS13aGl0ZXNwYWNlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi07Ozs7OyB3 Z3JlcA0KLSAgIGAod2dyZXAtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAod2dyZXAtZG9uZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYCh3Z3JlcC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KLSAgIGAod2dyZXAtZmlsZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHdncmVw LXJlamVjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBi b2xkKSkpKQ0KLTs7Ozs7IHdoaWNoLWZ1bmN0aW9uLW1vZGUNCi0gICBgKHdoaWNoLWZ1bmMgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7Ozsgd2hpY2gta2V5DQot ICAgYCh3aGljaC1rZXktY29tbWFuZC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotICAgYCh3aGljaC1rZXktZ3JvdXAtZGVzY3JpcHRpb24tZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHdoaWNoLWtleS1oaWdobGln aHRlZC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0IDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAod2hpY2gta2V5LWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAod2hpY2gta2V5LWxvY2FsLW1hcC1k ZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3 aGljaC1rZXktbm90ZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAod2hpY2gta2V5LXNlcGFyYXRvci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHdoaWNoLWtleS1zcGVjaWFsLWtl eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNl KSkpDQotOzs7Ozsgd2hpdGVzcGFjZS1tb2RlDQotICAgYCh3aGl0ZXNwYWNlLWJpZy1pbmRlbnQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAod2hpdGVz cGFjZS1lbXB0eSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEp KSkNCi0gICBgKHdoaXRlc3BhY2UtaHNwYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0 ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLWlu ZGVudGF0aW9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5k ICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLWxpbmUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQotICAgYCh3aGl0ZXNwYWNlLW5ld2xpbmUg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRl c3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2Utc3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3Bh Y2Utc3BhY2UtYWZ0ZXItdGFiICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1t YWdlbnRhKSkpDQotICAgYCh3aGl0ZXNwYWNlLXNwYWNlLWJlZm9yZS10YWIgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKHdoaXRlc3BhY2UtdGFiICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNw YWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLXRyYWlsaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7Ozsgd2luZG93LWRpdmlkZXItbW9kZQ0KLSAgIGAo d2luZG93LWRpdmlkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLWlu bmVyKSkpDQotICAgYCh3aW5kb3ctZGl2aWRlci1maXJzdC1waXhlbCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCi0gICBgKHdpbmRvdy1kaXZpZGVyLWxh c3QtcGl4ZWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkp DQotOzs7Ozsgd2ludW0NCi0gICBgKHdpbnVtLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLTs7Ozs7 IHdyaXRlZ29vZC1tb2RlDQotICAgYCh3cml0ZWdvb2QtZHVwbGljYXRlcy1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZC1hbHQgOnVuZGVybGluZSB0KSkp DQotICAgYCh3cml0ZWdvb2QtcGFzc2l2ZS12b2ljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLXdhcm5pbmcpKSkNCi0gICBgKHdy aXRlZ29vZC13ZWFzZWxzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkIDp1 bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyB3b21hbg0KLSAgIGAod29tYW4tYWRk aXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYCh3 b21hbi1ib2xkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKHdvbWFuLWl0YWxpYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbiA6c2xhbnQgaXRh bGljKSkpDQotICAgYCh3b21hbi11bmtub3duICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cg OnNsYW50IGl0YWxpYykpKQ0KLTs7Ozs7IHhhaC1lbGlzcC1tb2RlDQotICAgYCh4YWgtZWxpc3At YXQtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50 KSkpKQ0KLSAgIGAoeGFoLWVsaXNwLWNhcC12YXJpYWJsZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZWQtYWx0LW90aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAg YCh4YWgtZWxpc3AtY29tbWFuZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoeGFoLWVs aXNwLWRvbGxhci1zeW1ib2wgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdy ZWVuIGdyZWVuLWZhaW50KSkpKQ0KLTs7Ozs7IHhyZWYNCi0gICBgKHhyZWYtZmlsZS1oZWFkZXIg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYCh4cmVmLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKHhyZWYtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbWF0Y2gpKSkNCi07Ozs7OyB5YW1sLW1v ZGUNCi0gICBgKHlhbWwtdGFiLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1yZWQpKSkNCi07Ozs7OyB5YXNuaXBwZXQNCi0gICBgKHlhcy1maWVsZC1oaWdobGlnaHQt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotOzs7OzsgenRyZWUNCi0gICBgKHp0cmVlcC1hcnJvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtaGVhZGVyLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQotICAgYCh6dHJlZXAtZGlmZi1oZWFkZXItc21hbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHp0cmVlcC1kaWZm LW1vZGVsLWFkZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoenRy ZWVwLWRpZmYtbW9kZWwtZGlmZi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKHp0cmVlcC1kaWZmLW1vZGVsLWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0IDpzdHJpa2UtdGhyb3VnaCB0KSkpDQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1ub3Jt YWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh6dHJlZXAtZXhw YW5kLXNpZ24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoenRyZWVw LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjIgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoenRyZWVwLWxlYWYtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoenRyZWVwLW5vZGUtY291bnQtY2hpbGRyZW4tZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYCh6dHJlZXAt bm9kZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpKQ0KLTs7OzsgRW1hY3Mg MjcrDQotICAod2hlbiAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykNCi0gICAgKGN1c3RvbS10 aGVtZS1zZXQtZmFjZXMNCi0gICAgICdtb2R1cy1vcGVyYW5kaQ0KLTs7Ozs7IGxpbmUgbnVtYmVy cyAoYGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUnIGFuZCBnbG9iYWwgdmFyaWFudCkNCi0gICAg IDs7IE5PVEUgdGhhdCB0aGlzIGlzIHNwZWNpZmljYWxseSBmb3IgdGhlIGZhY2VzIHRoYXQgd2Vy ZQ0KLSAgICAgOzsgaW50cm9kdWNlZCBpbiBFbWFjcyAyNywgYXMgdGhlIG90aGVyIGZhY2VzIGFy ZSBhbHJlYWR5DQotICAgICA7OyBzdXBwb3J0ZWQuDQotICAgICBgKGxpbmUtbnVtYmVyLW1ham9y LXRpY2sgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZGVmYXVsdCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAseWVsbG93 LW51YW5jZWQpKSkNCi0gICAgIGAobGluZS1udW1iZXItbWlub3ItdGljayAoKCxjbGFzcyA6aW5o ZXJpdCAoYm9sZCBkZWZhdWx0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IHRhYi1iYXIt bW9kZQ0KLSAgICAgYCh0YWItYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1iYXItdGFiICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1iYXItdGFiLWluYWN0aXZlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUg OmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IHRhYi1saW5lLW1vZGUNCi0gICAgIGAodGFi LWxpbmUgKCgsY2xhc3MgOmhlaWdodCAwLjk1IDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1saW5lLWNsb3NlLWhpZ2hsaWdodCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgICBgKHRhYi1saW5lLWhpZ2hsaWdodCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0K LSAgICAgYCh0YWItbGluZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13 aWR0aCAyIDpjb2xvciAsYmctdGFiLWFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgICBgKHRhYi1saW5lLXRhYi1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0IHRhYi1saW5lLXRh YikpKQ0KLSAgICAgYCh0YWItbGluZS10YWItaW5hY3RpdmUgKCgsY2xhc3MgOmJveCAoOmxpbmUt d2lkdGggMiA6Y29sb3IgLGJnLXRhYi1pbmFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQg LGZnLWRpbSkpKSkpDQotOzs7OyBFbWFjcyAyOCsNCi0gICh3aGVuICg+PSBlbWFjcy1tYWpvci12 ZXJzaW9uIDI4KQ0KLSAgICAoY3VzdG9tLXRoZW1lLXNldC1mYWNlcw0KLSAgICAgJ21vZHVzLW9w ZXJhbmRpDQotOzs7OzsgaXNlYXJjaCByZWdleHAgZ3JvdXBzDQotICAgICBgKGlzZWFyY2gtZ3Jv dXAtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICAg IGAoaXNlYXJjaC1ncm91cC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut bWFnZW50YSkpKSkpDQotOzs7IHZhcmlhYmxlcw0KLSAgKGN1c3RvbS10aGVtZS1zZXQtdmFyaWFi bGVzDQotICAgJ21vZHVzLW9wZXJhbmRpDQotOzs7OyBhbnNpLWNvbG9ycw0KLSAgIGAoYW5zaS1j b2xvci1mYWNlcy12ZWN0b3IgW2RlZmF1bHQgYm9sZCBzaGFkb3cgaXRhbGljIHVuZGVybGluZSBz dWNjZXNzIHdhcm5pbmcgZXJyb3JdKQ0KLSAgIGAoYW5zaS1jb2xvci1uYW1lcy12ZWN0b3IgWyxm Zy1tYWluICxyZWQgLGdyZWVuICx5ZWxsb3cgLGJsdWUgLG1hZ2VudGEgLGN5YW4gLGJnLW1haW5d KQ0KLTs7OzsgYXdlc29tZS10cmF5DQotICAgYChhd2Vzb21lLXRyYXktbW9kZS1saW5lLWFjdGl2 ZS1jb2xvciAsYmx1ZSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2RlLWxpbmUtaW5hY3RpdmUtY29s b3IgLGJnLWFjdGl2ZSkNCi07Ozs7IGZseW1ha2UgZnJpbmdlIGluZGljYXRvcnMNCi0gICBgKGZs eW1ha2UtZXJyb3ItYml0bWFwICcoZmx5bWFrZS1kb3VibGUtZXhjbGFtYXRpb24tbWFyayBtb2R1 cy10aGVtZS1mcmluZ2UtcmVkKSkNCi0gICBgKGZseW1ha2Utd2FybmluZy1iaXRtYXAgJyhleGNs YW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKQ0KLSAgIGAoZmx5bWFrZS1u b3RlLWJpdG1hcCAnKGV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKQ0K LTs7OzsgaWJ1ZmZlcg0KLSAgIGAoaWJ1ZmZlci1kZWxldGlvbi1mYWNlICdtb2R1cy10aGVtZS1t YXJrLWRlbCkNCi0gICBgKGlidWZmZXItZmlsdGVyLWdyb3VwLW5hbWUtZmFjZSAnbW9kdXMtdGhl bWUtbWFyay1zeW1ib2wpDQotICAgYChpYnVmZmVyLW1hcmtlZC1mYWNlICdtb2R1cy10aGVtZS1t YXJrLXNlbCkNCi0gICBgKGlidWZmZXItdGl0bGUtZmFjZSAnbW9kdXMtdGhlbWUtcHNldWRvLWhl YWRlcikNCi07Ozs7IGhpZ2hsaWdodC10YWlsDQotICAgYChoaWdobGlnaHQtdGFpbC1jb2xvcnMN Ci0gICAgICcoKCxncmVlbi1zdWJ0bGUtYmcgLiAwKQ0KLSAgICAgICAoLGN5YW4tc3VidGxlLWJn IC4gMjApKSkNCi07Ozs7IGhsLXRvZG8NCi0gICBgKGhsLXRvZG8ta2V5d29yZC1mYWNlcw0KLSAg ICAgJygoIkhPTEQiIC4gLHllbGxvdy1hbHQpDQotICAgICAgICgiVE9ETyIgLiAsbWFnZW50YSkN Ci0gICAgICAgKCJORVhUIiAuICxtYWdlbnRhLWFsdC1vdGhlcikNCi0gICAgICAgKCJUSEVNIiAu ICxtYWdlbnRhLWFsdCkNCi0gICAgICAgKCJQUk9HIiAuICxjeWFuKQ0KLSAgICAgICAoIk9LQVki IC4gLGN5YW4tYWx0KQ0KLSAgICAgICAoIkRPTlQiIC4gLGdyZWVuLWFsdCkNCi0gICAgICAgKCJG QUlMIiAuICxyZWQpDQotICAgICAgICgiQlVHIiAuICxyZWQpDQotICAgICAgICgiRE9ORSIgLiAs Z3JlZW4pDQotICAgICAgICgiTk9URSIgLiAseWVsbG93LWFsdC1vdGhlcikNCi0gICAgICAgKCJL TFVER0UiIC4gLHllbGxvdykNCi0gICAgICAgKCJIQUNLIiAuICx5ZWxsb3cpDQotICAgICAgICgi VEVNUCIgLiAscmVkLW51YW5jZWQpDQotICAgICAgICgiRklYTUUiIC4gLHJlZC1hbHQtb3RoZXIp DQotICAgICAgICgiWFhYKyIgLiAscmVkLWFsdCkNCi0gICAgICAgKCJSRVZJRVciIC4gLGN5YW4t YWx0LW90aGVyKQ0KLSAgICAgICAoIkRFUFJFQ0FURUQiIC4gLGJsdWUtbnVhbmNlZCkpKQ0KLTs7 OzsgdmMtYW5ub3RhdGUgKEMteCB2IGcpDQotICAgYCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kIG5p bCkNCi0gICBgKHZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZSBuaWwpDQotICAgYCh2Yy1hbm5v dGF0ZS1jb2xvci1tYXANCi0gICAgICcoKDIwIC4gLHJlZCkNCi0gICAgICAgKDQwIC4gLG1hZ2Vu dGEpDQotICAgICAgICg2MCAuICxtYWdlbnRhLWFsdCkNCi0gICAgICAgKDgwIC4gLHJlZC1hbHQp DQotICAgICAgICgxMDAgLiAseWVsbG93KQ0KLSAgICAgICAoMTIwIC4gLHllbGxvdy1hbHQpDQot ICAgICAgICgxNDAgLiAsZmctc3BlY2lhbC13YXJtKQ0KLSAgICAgICAoMTYwIC4gLGZnLXNwZWNp YWwtbWlsZCkNCi0gICAgICAgKDE4MCAuICxncmVlbikNCi0gICAgICAgKDIwMCAuICxncmVlbi1h bHQpDQotICAgICAgICgyMjAgLiAsY3lhbi1hbHQtb3RoZXIpDQotICAgICAgICgyNDAgLiAsY3lh bi1hbHQpDQotICAgICAgICgyNjAgLiAsY3lhbikNCi0gICAgICAgKDI4MCAuICxmZy1zcGVjaWFs LWNvbGQpDQotICAgICAgICgzMDAgLiAsYmx1ZSkNCi0gICAgICAgKDMyMCAuICxibHVlLWFsdCkN Ci0gICAgICAgKDM0MCAuICxibHVlLWFsdC1vdGhlcikNCi0gICAgICAgKDM2MCAuICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KLSAgIGAodmMtYW5ub3RhdGUtdmVyeS1vbGQtY29sb3IgbmlsKQ0KLTs7 OzsgeHRlcm0tY29sb3INCi0gICBgKHh0ZXJtLWNvbG9yLW5hbWVzIFssZmctbWFpbiAscmVkICxn cmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFuICxiZy1hbHRdKQ0KLSAgIGAoeHRlcm0t Y29sb3ItbmFtZXMtYnJpZ2h0IFssZmctYWx0ICxyZWQtYWx0ICxncmVlbi1hbHQgLHllbGxvdy1h bHQgLGJsdWUtYWx0ICxtYWdlbnRhLWFsdCAsY3lhbi1hbHQgLGJnLW1haW5dKSkNCi07OzsgQ29u ZGl0aW9uYWwgdGhlbWUgdmFyaWFibGVzDQotOzs7OyBvcmctc3JjLWJsb2NrLWZhY2VzDQotICA7 OyB0aGlzIGlzIGEgdXNlciBvcHRpb24gdG8gYWRkIGEgY29sb3VyLWNvZGVkIGJhY2tncm91bmQg dG8gc291cmNlDQotICA7OyBibG9ja3MgZm9yIHZhcmlvdXMgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Vz DQotICAod2hlbiAoZXEgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrcyAncmFpbmJvdykN Ci0gICAgKGN1c3RvbS10aGVtZS1zZXQtdmFyaWFibGVzDQotICAgICAnbW9kdXMtb3BlcmFuZGkN Ci0gICAgIGAob3JnLXNyYy1ibG9jay1mYWNlcyAgICAgICAgICAgICAgOyBUT0RPIHRoaXMgbGlz dCBzaG91bGQgYmUgZXhwYW5kZWQNCi0gICAgICAgYCgoImVtYWNzLWxpc3AiIG1vZHVzLXRoZW1l LW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImVsaXNwIiBtb2R1cy10aGVtZS1udWFuY2Vk LW1hZ2VudGEpDQotICAgICAgICAgKCJjbG9qdXJlIiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2Vu dGEpDQotICAgICAgICAgKCJjbG9qdXJlc2NyaXB0IiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2Vu dGEpDQotICAgICAgICAgKCJjIiBtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUpDQotICAgICAgICAg KCJjKysiIG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSkNCi0gICAgICAgICAoInNoIiBtb2R1cy10 aGVtZS1udWFuY2VkLWdyZWVuKQ0KLSAgICAgICAgICgic2hlbGwiIG1vZHVzLXRoZW1lLW51YW5j ZWQtZ3JlZW4pDQotICAgICAgICAgKCJodG1sIiBtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdykN Ci0gICAgICAgICAoInhtbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cpDQotICAgICAgICAg KCJjc3MiIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkKQ0KLSAgICAgICAgICgic2NzcyIgbW9kdXMt dGhlbWUtbnVhbmNlZC1yZWQpDQotICAgICAgICAgKCJweXRob24iIG1vZHVzLXRoZW1lLW51YW5j ZWQtZ3JlZW4pDQotICAgICAgICAgKCJpcHl0aG9uIiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2Vu dGEpDQotICAgICAgICAgKCJyIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAg KCJ5YW1sIiBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAgKCJjb25mIiBtb2R1 cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAgKCJkb2NrZXIiIG1vZHVzLXRoZW1lLW51 YW5jZWQtY3lhbikNCi0gICAgICAgICAoImpzb24iIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikp KSkpKQ0KKyhkZWZ0aGVtZSBtb2R1cy1vcGVyYW5kaQ0KKyAgIkFjY2Vzc2libGUgYW5kIGN1c3Rv bWl6YWJsZSBsaWdodCB0aGVtZSAoV0NBRyBBQUEgc3RhbmRhcmQpLg0KK0NvbmZvcm1zIHdpdGgg dGhlIGhpZ2hlc3QgbGVnaWJpbGl0eSBzdGFuZGFyZCBmb3IgY29sb3IgY29udHJhc3QNCitiZXR3 ZWVuIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgaW4gYW55IGdpdmVuIHBpZWNlIG9mIHRleHQs DQord2hpY2ggY29ycmVzcG9uZHMgdG8gYSBtaW5pbXVtIGNvbnRyYXN0IGluIHJlbGF0aXZlIGx1 bWluYW5jZSBvZg0KKzc6MS4iKQ0KIA0KLTs7OyBsaWJyYXJ5IHByb3ZpZGVzDQotOzs7IyMjYXV0 b2xvYWQNCi0od2hlbiBsb2FkLWZpbGUtbmFtZQ0KLSAgKGFkZC10by1saXN0ICdjdXN0b20tdGhl bWUtbG9hZC1wYXRoDQotICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKGZp bGUtbmFtZS1kaXJlY3RvcnkgbG9hZC1maWxlLW5hbWUpKSkpDQorKG1vZHVzLXRoZW1lcy10aGVt ZSBtb2R1cy1vcGVyYW5kaSkNCiANCiAocHJvdmlkZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpDQog DQotKHByb3ZpZGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lKQ0KLQ0KIDs7OyBtb2R1cy1vcGVyYW5k aS10aGVtZS5lbCBlbmRzIGhlcmUNCmRpZmYgLS1naXQgYS9ldGMvdGhlbWVzL21vZHVzLXRoZW1l cy5lbCBiL2V0Yy90aGVtZXMvbW9kdXMtdGhlbWVzLmVsDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMDAwMC4uNzk4NDZkYmYzYQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZXRjL3Ro ZW1lcy9tb2R1cy10aGVtZXMuZWwNCkBAIC0wLDAgKzEsNjQzNiBAQA0KKzs7OyBtb2R1cy10aGVt ZXMuZWwgLS0tIEhpZ2hseSBhY2Nlc3NpYmxlIHRoZW1lcyAoV0NBRyBBQUEpIC0qLSBsZXhpY2Fs LWJpbmRpbmc6dCAtKi0NCisNCis7OyBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorDQorOzsgQXV0aG9yOiBQcm90ZXNpbGFvcyBTdGF2cm91 IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCis7OyBVUkw6IGh0dHBzOi8vZ2l0bGFiLmNvbS9wcm90 ZXNpbGFvcy9tb2R1cy10aGVtZXMNCis7OyBWZXJzaW9uOiAxLjIuMA0KKzs7IFBhY2thZ2UtUmVx dWlyZXM6ICgoZW1hY3MgIjI2LjEiKSkNCis7OyBLZXl3b3JkczogZmFjZXMsIHRoZW1lLCBhY2Nl c3NpYmlsaXR5DQorDQorOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLg0KKw0KKzs7 IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5DQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQNCis7OyB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQorOzsNCis7OyBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0DQorOzsgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0K Kzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUgR05VDQorOzsgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lg0KKzs7DQorOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UNCis7OyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5v dCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQorDQorOzs7IENvbW1lbnRh cnk6DQorOzsNCis7OyBUaGUgTW9kdXMgdGhlbWVzIGNvbmZvcm0gd2l0aCB0aGUgaGlnaGVzdCBz dGFuZGFyZCBmb3IgY29sb3ItY29udHJhc3QNCis7OyBhY2Nlc3NpYmlsaXR5IGJldHdlZW4gYmFj a2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2YWx1ZXMgKFdDQUcgQUFBKS4NCis7OyBUaGlzIGZpbGUg Y29udGFpbnMgYWxsIGN1c3RvbWl6YXRpb24gb3B0aW9ucywgaGVscGVyIGZ1bmN0aW9ucywNCis7 OyBpbnRlcmFjdGl2ZSBjb21tYW5kcywgYW5kIGZhY2Ugc3BlY2lmaWNhdGlvbnMuICBQbGVhc2Ug cmVmZXIgdG8gdGhlDQorOzsgb2ZmaWNpYWwgSW5mbyBtYW51YWwgZm9yIGZ1cnRoZXIgZG9jdW1l bnRhdGlvbiAoZGlzdHJpYnV0ZWQgd2l0aCB0aGUNCis7OyB0aGVtZXMsIG9yIGF2YWlsYWJsZSBh dDogPGh0dHBzOi8vcHJvdGVzaWxhb3MuY29tL21vZHVzLXRoZW1lcz4pLg0KKzs7DQorOzsgVGhl IHRoZW1lcyBzaGFyZSB0aGUgZm9sbG93aW5nIGN1c3RvbWl6YXRpb24gb3B0aW9ucywgYWxsIG9m IHdoaWNoDQorOzsgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQgKG5pbCk6DQorOzsNCis7OyAgICAg bW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cyAgICAgICAgICAgICAoYm9vbGVhbikNCis7 OyAgICAgbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyAgICAgICAgICAgICAgICAoYm9vbGVh bikNCis7OyAgICAgbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICAgICAgICAo Ym9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLXVpICAgICAgICAg ICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzICAgICAg ICAgICAgICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhlbWVzLWhlYWRpbmdzICAgICAg ICAgICAgICAgICAgICAgICAoYWxpc3QpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS1oZWFk aW5ncyAgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy1mcmlu Z2VzICAgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVz LWxhbmctY2hlY2tlcnMgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10 aGVtZXMtb3JnLWJsb2NrcyAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAgIG1v ZHVzLXRoZW1lcy1vcmctaGFiaXQgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAg ICAgbW9kdXMtdGhlbWVzLXByb21wdHMgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0K Kzs7ICAgICBtb2R1cy10aGVtZXMtbW9kZS1saW5lICAgICAgICAgICAgICAgICAgICAgIChjaG9p Y2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1kaWZmcyAgICAgICAgICAgICAgICAgICAgICAgICAg KGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLXN5bnRheCAgICAgICAgICAgICAgICAgICAg ICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtaW50ZW5zZS1obC1saW5lICAgICAg ICAgICAgICAgIChib29sZWFuKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtc3VidGxlLWxpbmUtbnVt YmVycyAgICAgICAgICAgIChib29sZWFuKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtcGFyZW4tbWF0 Y2ggICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1yZWdp b24gICAgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVz LWxpbmtzICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10 aGVtZXMtY29tcGxldGlvbnMgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsNCis7OyBU aGUgZGVmYXVsdCBzY2FsZSBmb3IgaGVhZGluZ3MgaXMgYXMgZm9sbG93cyAoaXQgY2FuIGJlIGN1 c3RvbWl6ZWQgYXMNCis7OyB3ZWxsLS0tcmVtZW1iZXIsIG5vIHNjYWxpbmcgdGFrZXMgcGxhY2Ug YnkgZGVmYXVsdCk6DQorOzsNCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTEgMS4wNQ0KKzs7 ICAgICBtb2R1cy10aGVtZXMtc2NhbGUtMiAxLjENCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxl LTMgMS4xNQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtc2NhbGUtNCAxLjINCis7OyAgICAgbW9kdXMt dGhlbWVzLXNjYWxlLTUgMS4zDQorOzsNCis7OyBUaGVyZSBhbHNvIGV4aXN0IHR3byB1bmlxdWUg Y3VzdG9taXphdGlvbiBvcHRpb25zIGZvciBvdmVycmlkaW5nDQorOzsgY29sb3IgcGFsZXR0ZSB2 YWx1ZXMuICBUaGUgc3BlY2lmaWNzIGFyZSBkb2N1bWVudGVkIGluIHRoZSBtYW51YWwuDQorOzsg VGhlIHN5bWJvbHMgYXJlOg0KKzs7DQorOzsgICAgIG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xv ci1vdmVycmlkZXMgICAgICAgKGFsaXN0KQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtdml2ZW5kaS1j b2xvci1vdmVycmlkZXMgICAgICAgIChhbGlzdCkNCis7Ow0KKzs7IEJlbG93IGlzIHRoZSBsaXN0 IG9mIGV4cGxpY2l0bHkgc3VwcG9ydGVkIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQorOzsgKHRo ZXJlIGFyZSBpbXBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcyBhcyB3ZWxsLCB3aGljaCBpbmhl cml0IGZyb20NCis7OyBmb250LWxvY2sgb3Igc29tZSBiYXNpYyBncm91cCkuICBZb3UgYXJlIGVu Y291cmFnZWQgdG8gcmVwb3J0IGFueQ0KKzs7IG1pc3NpbmcgcGFja2FnZSBvciBjaGFuZ2UgeW91 IHdvdWxkIGxpa2UgdG8gc2VlLg0KKzs7DQorOzsgICAgIGFjZS13aW5kb3cNCis7OyAgICAgYWcN Cis7OyAgICAgYWxlcnQNCis7OyAgICAgYWxsLXRoZS1pY29ucw0KKzs7ICAgICBhbm5vdGF0ZQ0K Kzs7ICAgICBhbnp1DQorOzsgICAgIGFwcm9wb3MNCis7OyAgICAgYXB0LXNvdXJjZXMtbGlzdA0K Kzs7ICAgICBhcnRib2xsb2Nrcy1tb2RlDQorOzsgICAgIGF1Y3RleCBhbmQgVGVYDQorOzsgICAg IGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMNCis7OyAgICAgYXZ5DQorOzsgICAgIGF3ZXNvbWUtdHJh eQ0KKzs7ICAgICBiYmRiDQorOzsgICAgIGJpbmRlcg0KKzs7ICAgICBibQ0KKzs7ICAgICBib25n bw0KKzs7ICAgICBib29uDQorOzsgICAgIGJyZWFrcG9pbnQgKHByb3ZpZGVkIGJ5IGJ1aWx0LWlu IGdkYi1taS5lbCkNCis7OyAgICAgYnVmZmVyLWV4cG9zZQ0KKzs7ICAgICBjYWxlbmRhciBhbmQg ZGlhcnkNCis7OyAgICAgY2FsZncNCis7OyAgICAgY2VudGF1ci10YWJzDQorOzsgICAgIGNmcnMN Cis7OyAgICAgY2hhbmdlLWxvZyBhbmQgbG9nLXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMt cHJpbnQtcm9vdC1sb2cnKQ0KKzs7ICAgICBjaWRlcg0KKzs7ICAgICBjaXJjZQ0KKzs7ICAgICBj b2xvci1yZw0KKzs7ICAgICBjb2x1bW4tZW5mb3JjZS1tb2RlDQorOzsgICAgIGNvbXBhbnktbW9k ZQ0KKzs7ICAgICBjb21wYW55LXBvc2ZyYW1lDQorOzsgICAgIGNvbXBpbGF0aW9uLW1vZGUNCis7 OyAgICAgY29tcGxldGlvbnMNCis7OyAgICAgY29uc3VsdA0KKzs7ICAgICBjb3Vuc2VsDQorOzsg ICAgIGNvdW5zZWwtY3NzDQorOzsgICAgIGNvdW5zZWwtbm90bXVjaA0KKzs7ICAgICBjb3Vuc2Vs LW9yZy1jYXB0dXJlLXN0cmluZw0KKzs7ICAgICBjb3YNCis7OyAgICAgY3BlcmwtbW9kZQ0KKzs7 ICAgICBjc3YtbW9kZQ0KKzs7ICAgICBjdHJsZg0KKzs7ICAgICBjdXN0b20gKE0teCBjdXN0b21p emUpDQorOzsgICAgIGRhcC1tb2RlDQorOzsgICAgIGRhc2hib2FyZCAoZW1hY3MtZGFzaGJvYXJk KQ0KKzs7ICAgICBkZWFkZ3JlcA0KKzs7ICAgICBkZWJidWdzDQorOzsgICAgIGRlZmluZS13b3Jk DQorOzsgICAgIGRlZnQNCis7OyAgICAgZGljdGlvbmFyeQ0KKzs7ICAgICBkaWZmLWhsDQorOzsg ICAgIGRpZmYtbW9kZQ0KKzs7ICAgICBkaW0tYXV0b2xvYWQNCis7OyAgICAgZGlyLXRyZWV2aWV3 DQorOzsgICAgIGRpcmVkDQorOzsgICAgIGRpcmVkLWFzeW5jDQorOzsgICAgIGRpcmVkLWdpdA0K Kzs7ICAgICBkaXJlZC1naXQtaW5mbw0KKzs7ICAgICBkaXJlZC1uYXJyb3cNCis7OyAgICAgZGly ZWQtc3VidHJlZQ0KKzs7ICAgICBkaXJlZGMNCis7OyAgICAgZGlyZWRmbA0KKzs7ICAgICBkaXJl ZHAgKGRpcmVkKykNCis7OyAgICAgZGlzay11c2FnZQ0KKzs7ICAgICBkaXNwbGF5LWZpbGwtY29s dW1uLWluZGljYXRvci1tb2RlDQorOzsgICAgIGRvb20tbW9kZWxpbmUNCis7OyAgICAgZHluYW1p Yy1ydWxlcg0KKzs7ICAgICBlYXN5LWpla3lsbA0KKzs7ICAgICBlYXN5LWtpbGwNCis7OyAgICAg ZWJkYg0KKzs7ICAgICBlZGlmZg0KKzs7ICAgICBlZ2xvdA0KKzs7ICAgICBlbC1zZWFyY2gNCis7 OyAgICAgZWxkb2MNCis7OyAgICAgZWxkb2MtYm94DQorOzsgICAgIGVsZmVlZA0KKzs7ICAgICBl bGZlZWQtc2NvcmUNCis7OyAgICAgZW1tcw0KKzs7ICAgICBlbmhhbmNlZC1ydWJ5LW1vZGUNCis7 OyAgICAgZXBhDQorOzsgICAgIGVxdWFrZQ0KKzs7ICAgICBlcmMNCis7OyAgICAgZXJvcw0KKzs7 ICAgICBlcnQNCis7OyAgICAgZXNoZWxsDQorOzsgICAgIGVzaGVsbC1mcmluZ2Utc3RhdHVzDQor OzsgICAgIGVzaGVsbC1naXQtcHJvbXB0DQorOzsgICAgIGVzaGVsbC1wcm9tcHQtZXh0cmFzIChl cGUpDQorOzsgICAgIGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQorOzsgICAgIGV2aWwgKGV2 aWwtbW9kZSkNCis7OyAgICAgZXZpbC1nb2dnbGVzDQorOzsgICAgIGV2aWwtc25pcGUNCis7OyAg ICAgZXZpbC12aXN1YWwtbWFyay1tb2RlDQorOzsgICAgIGV3dw0KKzs7ICAgICBleHdtDQorOzsg ICAgIGV5ZWJyb3dzZQ0KKzs7ICAgICBmYW5jeS1kYWJicmV2DQorOzsgICAgIGZseWNoZWNrDQor OzsgICAgIGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZQ0KKzs7ICAgICBmbHljaGVjay1pbmRpY2F0 b3INCis7OyAgICAgZmx5Y2hlY2stcG9zZnJhbWUNCis7OyAgICAgZmx5bWFrZQ0KKzs7ICAgICBm bHlzcGVsbA0KKzs7ICAgICBmbHlzcGVsbC1jb3JyZWN0DQorOzsgICAgIGZseA0KKzs7ICAgICBm cmVlemUtaXQNCis7OyAgICAgZnJvZy1tZW51DQorOzsgICAgIGZvY3VzDQorOzsgICAgIGZvbGQt dGhpcw0KKzs7ICAgICBmb250LWxvY2sgKGdlbmVyaWMgc3ludGF4IGhpZ2hsaWdodGluZykNCis7 OyAgICAgZm9yZ2UNCis7OyAgICAgZm91bnRhaW4gKGZvdW50YWluLW1vZGUpDQorOzsgICAgIGdl aXNlcg0KKzs7ICAgICBnaXQtY29tbWl0DQorOzsgICAgIGdpdC1ndXR0ZXIgKGFuZCB2YXJpYW50 cykNCis7OyAgICAgZ2l0LWxlbnMNCis7OyAgICAgZ2l0LXJlYmFzZQ0KKzs7ICAgICBnaXQtdGlt ZW1hY2hpbmUNCis7OyAgICAgZ2l0LXdhbGt0cmVlDQorOzsgICAgIGdudXMNCis7OyAgICAgZ29s ZGVuLXJhdGlvLXNjcm9sbC1zY3JlZW4NCis7OyAgICAgaGVsbQ0KKzs7ICAgICBoZWxtLWxzLWdp dA0KKzs7ICAgICBoZWxtLXN3aXRjaC1zaGVsbA0KKzs7ICAgICBoZWxtLXhyZWYNCis7OyAgICAg aGVscGZ1bA0KKzs7ICAgICBoaWdobGlnaHQtYmxvY2tzDQorOzsgICAgIGhpZ2hsaWdodC1kZWZp bmVkDQorOzsgICAgIGhpZ2hsaWdodC1lc2NhcGUtc2VxdWVuY2VzIChgaGVzLW1vZGUnKQ0KKzs7 ICAgICBoaWdobGlnaHQtaW5kZW50YXRpb24NCis7OyAgICAgaGlnaGxpZ2h0LW51bWJlcnMNCis7 OyAgICAgaGlnaGxpZ2h0LXN5bWJvbA0KKzs7ICAgICBoaWdobGlnaHQtdGFpbA0KKzs7ICAgICBo aWdobGlnaHQtdGhpbmcNCis7OyAgICAgaGwtZGVmaW5lZA0KKzs7ICAgICBobC1maWxsLWNvbHVt bg0KKzs7ICAgICBobC1saW5lLW1vZGUNCis7OyAgICAgaGwtdG9kbw0KKzs7ICAgICBoeWRyYQ0K Kzs7ICAgICBoeXBlcmxpc3QNCis7OyAgICAgaWJ1ZmZlcg0KKzs7ICAgICBpY29tcGxldGUNCis7 OyAgICAgaWRvLW1vZGUNCis7OyAgICAgaWVkaXQNCis7OyAgICAgaWZsaXBiDQorOzsgICAgIGlt ZW51LWxpc3QNCis7OyAgICAgaW5kaXVtDQorOzsgICAgIGluZm8NCis7OyAgICAgaW5mby1jb2xv cnMNCis7OyAgICAgaW50ZXJhY3Rpb24tbG9nDQorOzsgICAgIGlvY2N1cg0KKzs7ICAgICBpc2Vh cmNoLCBvY2N1ciwgZXRjLg0KKzs7ICAgICBpc2wgKGlzZWFyY2gtbGlnaHQpDQorOzsgICAgIGl2 eQ0KKzs7ICAgICBpdnktcG9zZnJhbWUNCis7OyAgICAgamlyYSAob3JnLWppcmEpDQorOzsgICAg IGpvdXJuYWxjdGwtbW9kZQ0KKzs7ICAgICBqczItbW9kZQ0KKzs7ICAgICBqdWxpYQ0KKzs7ICAg ICBqdXB5dGVyDQorOzsgICAgIGthb2NoYS1ydW5uZXINCis7OyAgICAga2V5Y2FzdA0KKzs7ICAg ICBsaW5lIG51bWJlcnMgKGBkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZh cmlhbnQpDQorOzsgICAgIGxzcC1tb2RlDQorOzsgICAgIGxzcC11aQ0KKzs7ICAgICBtYWNyb3N0 ZXANCis7OyAgICAgbWFnaXQNCis7OyAgICAgbWFnaXQtaW1lcmdlDQorOzsgICAgIG1ha2UtbW9k ZQ0KKzs7ICAgICBtYW4NCis7OyAgICAgbWFyZ2luYWxpYQ0KKzs7ICAgICBtYXJrZG93bi1tb2Rl DQorOzsgICAgIG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9kZScpDQorOzsgICAgIG1lbnRvcg0KKzs7 ICAgICBtZXNzYWdlcw0KKzs7ICAgICBtaW5pYnVmZmVyLWxpbmUNCis7OyAgICAgbWluaW1hcA0K Kzs7ICAgICBtbW0tbW9kZQ0KKzs7ICAgICBtb2RlbGluZQ0KKzs7ICAgICBtb29kLWxpbmUNCis7 OyAgICAgbXBkZWwNCis7OyAgICAgbXU0ZQ0KKzs7ICAgICBtdTRlLWNvbnZlcnNhdGlvbg0KKzs7 ICAgICBtdWx0aXBsZS1jdXJzb3JzDQorOzsgICAgIG5lb3RyZWUNCis7OyAgICAgbm8tZW1vamkN Cis7OyAgICAgbm90bXVjaA0KKzs7ICAgICBudW0zLW1vZGUNCis7OyAgICAgbnhtbC1tb2RlDQor OzsgICAgIG9iamVkDQorOzsgICAgIG9yZGVybGVzcw0KKzs7ICAgICBvcmcNCis7OyAgICAgb3Jn LWpvdXJuYWwNCis7OyAgICAgb3JnLW5vdGVyDQorOzsgICAgIG9yZy1wb21vZG9ybw0KKzs7ICAg ICBvcmctcmVjdXINCis7OyAgICAgb3JnLXJvYW0NCis7OyAgICAgb3JnLXN1cGVyc3Rhcg0KKzs7 ICAgICBvcmctdGFibGUtc3RpY2t5LWhlYWRlcg0KKzs7ICAgICBvcmctdHJlZS1zbGlkZQ0KKzs7 ICAgICBvcmctdHJlZXNjb3BlDQorOzsgICAgIG9yaWdhbWkNCis7OyAgICAgb3V0bGluZS1tb2Rl DQorOzsgICAgIG91dGxpbmUtbWlub3ItZmFjZXMNCis7OyAgICAgcGFja2FnZSAoTS14IGxpc3Qt cGFja2FnZXMpDQorOzsgICAgIHBhZ2UtYnJlYWstbGluZXMNCis7OyAgICAgcGFyYWRveA0KKzs7 ICAgICBwYXJlbi1mYWNlDQorOzsgICAgIHBhcnJvdA0KKzs7ICAgICBwYXNzDQorOzsgICAgIHBk Zi10b29scw0KKzs7ICAgICBwZXJzcC1tb2RlDQorOzsgICAgIHBlcnNwZWN0aXZlDQorOzsgICAg IHBoaS1ncmVwDQorOzsgICAgIHBoaS1zZWFyY2gNCis7OyAgICAgcGtnYnVpbGQtbW9kZQ0KKzs7 ICAgICBwb21pZG9yDQorOzsgICAgIHBvcHVwDQorOzsgICAgIHBvd2VybGluZQ0KKzs7ICAgICBw b3dlcmxpbmUtZXZpbA0KKzs7ICAgICBwcmlzbSAoc2VlICJOb3RlIGZvciBwcmlzbS5lbCIgaW4g dGhlIG1hbnVhbCkNCis7OyAgICAgcHJvY2VkDQorOzsgICAgIHByb2RpZ3kNCis7OyAgICAgcXVp Y2stcGVlaw0KKzs7ICAgICByYWNrZXQtbW9kZQ0KKzs7ICAgICByYWluYm93LWJsb2Nrcw0KKzs7 ICAgICByYWluYm93LWlkZW50aWZpZXJzDQorOzsgICAgIHJhaW5ib3ctZGVsaW1pdGVycw0KKzs7 ICAgICByY2lyYw0KKzs7ICAgICByZWN1cnNpb24taW5kaWNhdG9yDQorOzsgICAgIHJlZ2V4cC1i dWlsZGVyIChhbHNvIGtub3duIGFzIGByZS1idWlsZGVyJykNCis7OyAgICAgcmcNCis7OyAgICAg cmlwZ3JlcA0KKzs7ICAgICBybWFpbA0KKzs7ICAgICBydWxlci1tb2RlDQorOzsgICAgIHNhbGxl dA0KKzs7ICAgICBzZWxlY3RydW0NCis7OyAgICAgc2VsZWN0cnVtLXByZXNjaWVudA0KKzs7ICAg ICBzZW1hbnRpYw0KKzs7ICAgICBzZXNtYW4NCis7OyAgICAgc2hlbGwtc2NyaXB0LW1vZGUNCis7 OyAgICAgc2hvcnRkb2MNCis7OyAgICAgc2hvdy1wYXJlbi1tb2RlDQorOzsgICAgIHNocg0KKzs7 ICAgICBzaWRlLW5vdGVzDQorOzsgICAgIHNpZXZlLW1vZGUNCis7OyAgICAgc2tld2VyLW1vZGUN Cis7OyAgICAgc21hcnQtbW9kZS1saW5lDQorOzsgICAgIHNtYXJ0cGFyZW5zDQorOzsgICAgIHNt ZXJnZQ0KKzs7ICAgICBzcGFjZWxpbmUNCis7OyAgICAgc3BlZWRiYXINCis7OyAgICAgc3BlbGwt ZnUNCis7OyAgICAgc3ByYXkNCis7OyAgICAgc3RyaXBlcw0KKzs7ICAgICBzdWdnZXN0DQorOzsg ICAgIHN3aXRjaC13aW5kb3cNCis7OyAgICAgc3dpcGVyDQorOzsgICAgIHN3b29wDQorOzsgICAg IHN4DQorOzsgICAgIHN5bWJvbC1vdmVybGF5DQorOzsgICAgIHRhYi1iYXItbW9kZQ0KKzs7ICAg ICB0YWItbGluZS1tb2RlDQorOzsgICAgIHN5c2xvZy1tb2RlDQorOzsgICAgIHRhYmxlIChidWls dC1pbiB0YWJsZS5lbCkNCis7OyAgICAgdGVsZXBob25lLWxpbmUNCis7OyAgICAgdGVycmFmb3Jt LW1vZGUNCis7OyAgICAgdGVybQ0KKzs7ICAgICB0b21hdGluaG8NCis7OyAgICAgdHJhbnNpZW50 IChwb3AtdXAgd2luZG93cyBsaWtlIE1hZ2l0J3MpDQorOzsgICAgIHRyYXNoZWQNCis7OyAgICAg dHJlZW1hY3MNCis7OyAgICAgdHR5LW1lbnUNCis7OyAgICAgdHVhcmVnDQorOzsgICAgIHR5cGVz Y3JpcHQNCis7OyAgICAgdW5kby10cmVlDQorOzsgICAgIHZjIChidWlsdC1pbiBtb2RlIGxpbmUg c3RhdHVzIGZvciB2ZXJzaW9uIGNvbnRyb2wpDQorOzsgICAgIHZjLWFubm90YXRlIChDLXggdiBn KQ0KKzs7ICAgICB2ZGlmZg0KKzs7ICAgICB2aW1pc2gtZm9sZA0KKzs7ICAgICB2aXNpYmxlLW1h cmsNCis7OyAgICAgdmlzdWFsLXJlZ2V4cA0KKzs7ICAgICB2b2xhdGlsZS1oaWdobGlnaHRzDQor OzsgICAgIHZ0ZXJtDQorOzsgICAgIHdjaGVjay1tb2RlDQorOzsgICAgIHdlYi1tb2RlDQorOzsg ICAgIHdncmVwDQorOzsgICAgIHdoaWNoLWZ1bmN0aW9uLW1vZGUNCis7OyAgICAgd2hpY2gta2V5 DQorOzsgICAgIHdoaXRlc3BhY2UtbW9kZQ0KKzs7ICAgICB3aW5kb3ctZGl2aWRlci1tb2RlDQor OzsgICAgIHdpbnVtDQorOzsgICAgIHdyaXRlZ29vZC1tb2RlDQorOzsgICAgIHdvbWFuDQorOzsg ICAgIHhhaC1lbGlzcC1tb2RlDQorOzsgICAgIHhyZWYNCis7OyAgICAgeHRlcm0tY29sb3IgKGFu ZCBhbnNpLWNvbG9ycykNCis7OyAgICAgeWFtbC1tb2RlDQorOzsgICAgIHlhc25pcHBldA0KKzs7 ICAgICB6dHJlZQ0KKzs7DQorOzsgRm9yIGEgY29tcGxldGUgdmlldyBvZiB0aGUgcHJvamVjdCwg YWxzbyByZWZlciB0byB0aGUgZm9sbG93aW5nIGZpbGVzDQorOzsgKHNob3VsZCBiZSBkaXN0cmli dXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5L2RpcmVjdG9yeSBhcyB0aGUNCis7OyBjdXJyZW50 IGl0ZW0pOg0KKzs7DQorOzsgLSBtb2R1cy1vcGVyYW5kaS10aGVtZS5lbCAgICAoTGlnaHQgdGhl bWUpDQorOzsgLSBtb2R1cy12aXZlbmRpLXRoZW1lLmVsICAgICAoRGFyayB0aGVtZSkNCisNCis7 OzsgQ29kZToNCisNCisMDQorDQorKGV2YWwtd2hlbi1jb21waWxlIChyZXF1aXJlICdjbC1saWIp KQ0KKw0KKyhkZWZncm91cCBtb2R1cy10aGVtZXMgKCkNCisgICJPcHRpb25zIGZvciBgbW9kdXMt b3BlcmFuZGknLCBgbW9kdXMtdml2ZW5kaScuIg0KKyAgOmdyb3VwICdmYWNlcw0KKyAgOmxpbmsg JyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIFRvcCIpDQorICA6cHJlZml4ICJtb2R1cy10aGVt ZXMtIg0KKyAgOnRhZyAiTW9kdXMgVGhlbWVzIikNCisNCis7OzsgVmFyaWFibGVzIGZvciBlYWNo IHRoZW1lIHZhcmlhbnQNCisNCis7Ozs7IE1vZHVzIE9wZXJhbmRpDQorDQorKGRlZmluZS1vYnNv bGV0ZS12YXJpYWJsZS1hbGlhcw0KKyAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWRlZmF1bHQtY29s b3JzLWFsaXN0DQorICAnbW9kdXMtdGhlbWVzLWNvbG9ycy1vcGVyYW5kaQ0KKyAgIjEuMC4wIikN CisNCisoZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzDQorICAnbW9kdXMtdGhlbWVzLWNv bG9ycy1vcGVyYW5kaQ0KKyAgJ21vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnMNCisgICIxLjEu MCIpDQorDQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnMNCisgICcoOzsg YmFzZSB2YWx1ZXMNCisgICAgKGJnLW1haW4gLiAiI2ZmZmZmZiIpIChmZy1tYWluIC4gIiMwMDAw MDAiKQ0KKyAgICAoYmctZGltIC4gIiNmOGY4ZjgiKSAoZmctZGltIC4gIiMyODI4MjgiKQ0KKyAg ICAoYmctYWx0IC4gIiNmMGYwZjAiKSAoZmctYWx0IC4gIiM1MDUwNTAiKQ0KKyAgICA7OyBzcGVj aWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgYW5kIG11c3QgYmUgY29tYmluZWQgd2l0aA0KKyAg ICA7OyB0aGVtc2VsdmVzLCB0aG91Z2ggdGhlIGJhY2tncm91bmRzIGFyZSBhbHNvIG1lYW50IHRv IGJlIHVzZWQgd2l0aA0KKyAgICA7OyBvdGhlciAiYWN0aXZlIiB2YWx1ZXMsIGRlZmluZWQgZnVy dGhlciBiZWxvdw0KKyAgICAoYmctYWN0aXZlIC4gIiNkN2Q3ZDciKSAoZmctYWN0aXZlIC4gIiMw YTBhMGEiKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiI2VmZWZlZiIpIChmZy1pbmFjdGl2ZSAuICIj NDA0MTQ4IikNCisgICAgOzsgdGhlc2Ugc3BlY2lhbCB2YWx1ZXMgYXJlIGludGVuZGVkIGFzIGFs dGVybmF0aXZlcyB0byB0aGUgYmFzZQ0KKyAgICA7OyB2YWx1ZXMgZm9yIGNhc2VzIHdoZXJlIHdl IG5lZWQgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gdGhlDQorICAgIDs7IGhpZ2hsaWdodGVk IGNvbnN0cnVjdHM7IHRoZXkgbXVzdCBlaXRoZXIgYmUgdXNlZCBhcyBwYWlycyBiYXNlZA0KKyAg ICA7OyBvbiB0aGVpciBuYW1lIG9yIGVhY2ggY2FuIGJlIGNvbWJpbmVkIHdpdGgge2ZnLGJnfS17 bWFpbixhbHQsZGltfQ0KKyAgICA7OyBhbHdheXMgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZWlyIHJv bGUgYXMgYmFja2dyb3VuZCBvciBmb3JlZ3JvdW5kDQorICAgIChiZy1zcGVjaWFsLWNvbGQgLiAi I2RkZTNmNCIpIChmZy1zcGVjaWFsLWNvbGQgLiAiIzA5MzA2MCIpDQorICAgIChiZy1zcGVjaWFs LW1pbGQgLiAiI2M0ZWRlMCIpIChmZy1zcGVjaWFsLW1pbGQgLiAiIzE4NDAzNCIpDQorICAgIChi Zy1zcGVjaWFsLXdhcm0gLiAiI2YwZTBkNCIpIChmZy1zcGVjaWFsLXdhcm0gLiAiIzVkMzAyNiIp DQorICAgIChiZy1zcGVjaWFsLWNhbG0gLiAiI2Y4ZGRlYSIpIChmZy1zcGVjaWFsLWNhbG0gLiAi IzYxMjg0ZiIpDQorICAgIDs7IGZvcmVncm91bmRzIHRoYXQgY2FuIGJlIGNvbWJpbmVkIHdpdGgg YmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgKHJlZCAuICIjYTYwMDAwIikNCisgICAgKHJl ZC1hbHQgLiAiIzk3MjUwMCIpDQorICAgIChyZWQtYWx0LW90aGVyIC4gIiNhMDEzMmYiKQ0KKyAg ICAocmVkLWZhaW50IC4gIiM3ZjEwMTAiKQ0KKyAgICAocmVkLWFsdC1mYWludCAuICIjNzAyZjAw IikNCisgICAgKHJlZC1hbHQtb3RoZXItZmFpbnQgLiAiIzdmMDAyZiIpDQorICAgIChncmVlbiAu ICIjMDA1ZTAwIikNCisgICAgKGdyZWVuLWFsdCAuICIjMzE1YjAwIikNCisgICAgKGdyZWVuLWFs dC1vdGhlciAuICIjMTQ1YzMzIikNCisgICAgKGdyZWVuLWZhaW50IC4gIiMxMDQ0MTAiKQ0KKyAg ICAoZ3JlZW4tYWx0LWZhaW50IC4gIiMzMDQ0MGYiKQ0KKyAgICAoZ3JlZW4tYWx0LW90aGVyLWZh aW50IC4gIiMwZjQ0M2YiKQ0KKyAgICAoeWVsbG93IC4gIiM4MTNlMDAiKQ0KKyAgICAoeWVsbG93 LWFsdCAuICIjNzA0ODBmIikNCisgICAgKHllbGxvdy1hbHQtb3RoZXIgLiAiIzg2MzkyNyIpDQor ICAgICh5ZWxsb3ctZmFpbnQgLiAiIzVmNDQwMCIpDQorICAgICh5ZWxsb3ctYWx0LWZhaW50IC4g IiM1ZDUwMDAiKQ0KKyAgICAoeWVsbG93LWFsdC1vdGhlci1mYWludCAuICIjNWUzYTIwIikNCisg ICAgKGJsdWUgLiAiIzAwMzFhOSIpDQorICAgIChibHVlLWFsdCAuICIjMjU0NGJiIikNCisgICAg KGJsdWUtYWx0LW90aGVyIC4gIiMwMDAwYzAiKQ0KKyAgICAoYmx1ZS1mYWludCAuICIjMDAzNDk3 IikNCisgICAgKGJsdWUtYWx0LWZhaW50IC4gIiMwZjNkOGMiKQ0KKyAgICAoYmx1ZS1hbHQtb3Ro ZXItZmFpbnQgLiAiIzAwMTA4NyIpDQorICAgIChtYWdlbnRhIC4gIiM3MjEwNDUiKQ0KKyAgICAo bWFnZW50YS1hbHQgLiAiIzhmMDA3NSIpDQorICAgIChtYWdlbnRhLWFsdC1vdGhlciAuICIjNTMx N2FjIikNCisgICAgKG1hZ2VudGEtZmFpbnQgLiAiIzc1MmY1MCIpDQorICAgIChtYWdlbnRhLWFs dC1mYWludCAuICIjN2IyMDZmIikNCisgICAgKG1hZ2VudGEtYWx0LW90aGVyLWZhaW50IC4gIiM1 NTM0OGUiKQ0KKyAgICAoY3lhbiAuICIjMDA1MzhiIikNCisgICAgKGN5YW4tYWx0IC4gIiMzMDUx N2YiKQ0KKyAgICAoY3lhbi1hbHQtb3RoZXIgLiAiIzAwNWE1ZiIpDQorICAgIChjeWFuLWZhaW50 IC4gIiMwMDUwNzciKQ0KKyAgICAoY3lhbi1hbHQtZmFpbnQgLiAiIzM1NGY2ZiIpDQorICAgIChj eWFuLWFsdC1vdGhlci1mYWludCAuICIjMTI1NDU4IikNCisgICAgOzsgdGhlc2UgZm9yZWdyb3Vu ZCB2YWx1ZXMgY2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBiZy1tYWluIGFuZCBhcmUNCisgICAg OzsgdGh1cyBub3Qgc3VpdGFibGUgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcNCisg ICAgKHJlZC1pbnRlbnNlIC4gIiNiNjAwMDAiKQ0KKyAgICAob3JhbmdlLWludGVuc2UgLiAiIzkw NDIwMCIpDQorICAgIChncmVlbi1pbnRlbnNlIC4gIiMwMDY4MDAiKQ0KKyAgICAoeWVsbG93LWlu dGVuc2UgLiAiIzYwNWIwMCIpDQorICAgIChibHVlLWludGVuc2UgLiAiIzFmMWZjZSIpDQorICAg IChtYWdlbnRhLWludGVuc2UgLiAiI2E4MDA3ZiIpDQorICAgIChwdXJwbGUtaW50ZW5zZSAuICIj N2YxMGQwIikNCisgICAgKGN5YW4taW50ZW5zZSAuICIjMDA1Zjg4IikNCisgICAgOzsgdGhvc2Ug Zm9yZWdyb3VuZHMgYXJlIG1lYW50IGV4Y2x1c2l2ZWx5IGZvciBiZy1hY3RpdmUsIGJnLWluYWN0 aXZlDQorICAgIChyZWQtYWN0aXZlIC4gIiM4YTAwMDAiKQ0KKyAgICAoZ3JlZW4tYWN0aXZlIC4g IiMwMDRjMmUiKQ0KKyAgICAoeWVsbG93LWFjdGl2ZSAuICIjNzAyZDFmIikNCisgICAgKGJsdWUt YWN0aXZlIC4gIiMwMDMwYjQiKQ0KKyAgICAobWFnZW50YS1hY3RpdmUgLiAiIzVjMjA5MiIpDQor ICAgIChjeWFuLWFjdGl2ZSAuICIjMDAzZjhhIikNCisgICAgOzsgdGhlICJzdWJ0bGUiIHZhbHVl cyBiZWxvdyBiZSBjb21iaW5lZCB3aXRoIGZnLWRpbSwgd2hpbGUgdGhlDQorICAgIDs7ICJpbnRl bnNlIiBzaG91bGQgYmUgcGFpcmVkIHdpdGggZmctbWFpbg0KKyAgICAocmVkLXN1YnRsZS1iZyAu ICIjZjJiMGEyIikNCisgICAgKHJlZC1pbnRlbnNlLWJnIC4gIiNmZjg4OTIiKQ0KKyAgICAoZ3Jl ZW4tc3VidGxlLWJnIC4gIiNhZWNmOTAiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZS1iZyAuICIjNWFk YTg4IikNCisgICAgKHllbGxvdy1zdWJ0bGUtYmcgLiAiI2U0YzM0MCIpDQorICAgICh5ZWxsb3ct aW50ZW5zZS1iZyAuICIjZjVkZjIzIikNCisgICAgKGJsdWUtc3VidGxlLWJnIC4gIiNiNWQwZmYi KQ0KKyAgICAoYmx1ZS1pbnRlbnNlLWJnIC4gIiM2YWFlZmYiKQ0KKyAgICAobWFnZW50YS1zdWJ0 bGUtYmcgLiAiI2YwZDNmZiIpDQorICAgIChtYWdlbnRhLWludGVuc2UtYmcgLiAiI2Q1YmFmZiIp DQorICAgIChjeWFuLXN1YnRsZS1iZyAuICIjYzBlZmZmIikNCisgICAgKGN5YW4taW50ZW5zZS1i ZyAuICIjNDJjYmQ0IikNCisgICAgOzsgdGhvc2UgYmFja2dyb3VuZCB2YWx1ZXMgbXVzdCBiZSBj b21iaW5lZCB3aXRoIGZnLW1haW4gYW5kIHNob3VsZA0KKyAgICA7OyBvbmx5IGJlIHVzZWQgZm9y IGluZGljYXRvcnMgdGhhdCBhcmUgcGxhY2VkIG9uIHRoZSBmcmluZ2VzDQorICAgIChyZWQtZnJp bmdlLWJnIC4gIiNmMDgyOTAiKQ0KKyAgICAoZ3JlZW4tZnJpbmdlLWJnIC4gIiM2MmM4NmEiKQ0K KyAgICAoeWVsbG93LWZyaW5nZS1iZyAuICIjZGJiYTNmIikNCisgICAgKGJsdWUtZnJpbmdlLWJn IC4gIiM4MmFmZmYiKQ0KKyAgICAobWFnZW50YS1mcmluZ2UtYmcgLiAiI2UwYTNmZiIpDQorICAg IChjeWFuLWZyaW5nZS1iZyAuICIjMmZjZGRmIikNCisgICAgOzsgdGhvc2UgYmFja2dyb3VuZCB2 YWx1ZXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgZ3JhcGhzIG9yIHNpbWlsYXINCisgICAgOzsg YXBwbGljYXRpb25zIHdoZXJlIGNvbG9yZWQgYmxvY2tzIGFyZSBleHBlY3RlZCB0byBiZSBwb3Np dGlvbmVkDQorICAgIDs7IG5leHQgdG8gZWFjaCBvdGhlcg0KKyAgICAocmVkLWdyYXBoLTAtYmcg LiAiI2VmNmY3OSIpDQorICAgIChyZWQtZ3JhcGgtMS1iZyAuICIjZmY5ZjlmIikNCisgICAgKGdy ZWVuLWdyYXBoLTAtYmcgLiAiIzQ5ZDIzOSIpDQorICAgIChncmVlbi1ncmFwaC0xLWJnIC4gIiM2 ZGVjNmQiKQ0KKyAgICAoeWVsbG93LWdyYXBoLTAtYmcgLiAiI2VmZWMwOCIpDQorICAgICh5ZWxs b3ctZ3JhcGgtMS1iZyAuICIjZGJmZjRlIikNCisgICAgKGJsdWUtZ3JhcGgtMC1iZyAuICIjNTVh MmYwIikNCisgICAgKGJsdWUtZ3JhcGgtMS1iZyAuICIjN2ZjZmZmIikNCisgICAgKG1hZ2VudGEt Z3JhcGgtMC1iZyAuICIjYmE4NmVmIikNCisgICAgKG1hZ2VudGEtZ3JhcGgtMS1iZyAuICIjZTdh ZmZmIikNCisgICAgKGN5YW4tZ3JhcGgtMC1iZyAuICIjMzBkM2YwIikNCisgICAgKGN5YW4tZ3Jh cGgtMS1iZyAuICIjNmZlZmZmIikNCisgICAgOzsgdGhlIGZvbGxvd2luZyBhcmUgZm9yIGNhc2Vz IHdoZXJlIGJvdGggdGhlIGZvcmVncm91bmQgYW5kIHRoZQ0KKyAgICA7OyBiYWNrZ3JvdW5kIG5l ZWQgdG8gaGF2ZSBhIHNpbWlsYXIgaHVlIGFuZCBzbyBtdXN0IGJlIGNvbWJpbmVkDQorICAgIDs7 IHdpdGggdGhlbXNlbHZlcywgZXZlbiB0aG91Z2ggdGhlIGZvcmVncm91bmRzIGNhbiBiZSBwYWly ZWQgd2l0aA0KKyAgICA7OyBhbnkgb2YgdGhlIGJhc2UgYmFja2dyb3VuZHMNCisgICAgKHJlZC1y ZWZpbmUtYmcgLiAiI2ZmY2NjYyIpIChyZWQtcmVmaW5lLWZnIC4gIiM3ODAwMDAiKQ0KKyAgICAo Z3JlZW4tcmVmaW5lLWJnIC4gIiNhY2VhYWMiKSAoZ3JlZW4tcmVmaW5lLWZnIC4gIiMwMDRjMDAi KQ0KKyAgICAoeWVsbG93LXJlZmluZS1iZyAuICIjZmZmMjlhIikgKHllbGxvdy1yZWZpbmUtZmcg LiAiIzYwNDAwMCIpDQorICAgIChibHVlLXJlZmluZS1iZyAuICIjOGFjN2ZmIikgKGJsdWUtcmVm aW5lLWZnIC4gIiMwMDIyODgiKQ0KKyAgICAobWFnZW50YS1yZWZpbmUtYmcgLiAiI2ZmY2NmZiIp IChtYWdlbnRhLXJlZmluZS1mZyAuICIjNzcwMDc3IikNCisgICAgKGN5YW4tcmVmaW5lLWJnIC4g IiM4ZWVjZjQiKSAoY3lhbi1yZWZpbmUtZmcgLiAiIzAwNDg1MCIpDQorICAgIDs7IHRoZSAibnVh bmNlZCIgYmFja2dyb3VuZHMgY2FuIGJlIGNvbWJpbmVkIHdpdGggYWxsIG9mIHRoZSBhYm92ZQ0K KyAgICA7OyBmb3JlZ3JvdW5kcywgYXMgd2VsbCBhcyB0aG9zZSBpbmNsdWRlZCBoZXJlLCB3aGls ZSB0aGUgIm51YW5jZWQiDQorICAgIDs7IGZvcmVncm91bmRzIGNhbiBpbiB0dXJuIGFsc28gYmUg Y29tYmluZWQgd2l0aCBiZy1tYWluLCBiZy1kaW0sDQorICAgIDs7IGJnLWFsdA0KKyAgICAocmVk LW51YW5jZWQtYmcgLiAiI2ZmZjFmMCIpIChyZWQtbnVhbmNlZC1mZyAuICIjNWYwMDAwIikNCisg ICAgKGdyZWVuLW51YW5jZWQtYmcgLiAiI2VjZjdlZCIpIChncmVlbi1udWFuY2VkLWZnIC4gIiMw MDQwMDAiKQ0KKyAgICAoeWVsbG93LW51YW5jZWQtYmcgLiAiI2ZmZjNkYSIpICh5ZWxsb3ctbnVh bmNlZC1mZyAuICIjM2YzMDAwIikNCisgICAgKGJsdWUtbnVhbmNlZC1iZyAuICIjZjNmM2ZmIikg KGJsdWUtbnVhbmNlZC1mZyAuICIjMjAxZjU1IikNCisgICAgKG1hZ2VudGEtbnVhbmNlZC1iZyAu ICIjZmRmMGZmIikgKG1hZ2VudGEtbnVhbmNlZC1mZyAuICIjNTQxZjRmIikNCisgICAgKGN5YW4t bnVhbmNlZC1iZyAuICIjZWJmNmZhIikgKGN5YW4tbnVhbmNlZC1mZyAuICIjMGYzMzYwIikNCisg ICAgOzsgdGhlIGZvbGxvd2luZyBhcmUgcmVzZXJ2ZWQgZm9yIHNwZWNpZmljIGNhc2VzDQorICAg IDs7DQorICAgIDs7IGJnLWhsLWxpbmUgaXMgYmV0d2VlbiBiZy1kaW0gYW5kIGJnLWFsdCwgc28g aXQgc2hvdWxkDQorICAgIDs7IHdvcmsgd2l0aCBhbGwgYWNjZW50cyB0aGF0IGNvdmVyIHRob3Nl IHR3bywgcGx1cyBiZy1tYWluDQorICAgIDs7DQorICAgIDs7IGJnLWhsLWFsdCBhbmQgYmctaGwt YWx0LWludGVuc2Ugc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIG5vDQorICAgIDs7IG90aGVyIGdy ZXlzY2FsZSBvciBmYWlybHkgbmV1dHJhbCBiYWNrZ3JvdW5kIGlzIGF2YWlsYWJsZSB0bw0KKyAg ICA7OyBwcm9wZXJseSBkcmF3IGF0dGVudGlvbiB0byBhIGdpdmVuIGNvbnN0cnVjdA0KKyAgICA7 Ow0KKyAgICA7OyBiZy1oZWFkZXIgaXMgYmV0d2VlbiBiZy1hY3RpdmUgYW5kIGJnLWluYWN0aXZl LCBzbyBpdA0KKyAgICA7OyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlICJhY3RpdmUi IHZhbHVlcywgcGx1cyB0aGUNCisgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNlIGZvcmVncm91bmQg Y29sb3JzDQorICAgIDs7DQorICAgIDs7IGJnLXBhcmVuLW1hdGNoLCBiZy1wYXJlbi1tYXRjaC1p bnRlbnNlLCBiZy1yZWdpb24gYW5kDQorICAgIDs7IGJnLXRhYi1hY3RpdmUgbXVzdCBiZSBjb21i aW5lZCB3aXRoIGZnLW1haW4sIHdoaWxlDQorICAgIDs7IGJnLXRhYi1pbmFjdGl2ZSBzaG91bGQg YmUgY29tYmluZWQgd2l0aCBmZy1kaW0sIHdoZXJlYXMNCisgICAgOzsgYmctdGFiLWluYWN0aXZl LWFsdCBnb2VzIHRvZ2V0aGVyIHdpdGggZmctbWFpbg0KKyAgICA7Ow0KKyAgICA7OyBiZy10YWIt YmFyIGlzIG9ubHkgaW50ZW5kZWQgZm9yIHRoZSBiYXIgdGhhdCBob2xkcyB0aGUgdGFicyBhbmQN CisgICAgOzsgY2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluDQorICAgIDs7DQorICAg IDs7IGZnLXRhYi1hY3RpdmUgaXMgbWVhbnQgdG8gYmUgY29tYmluZWQgd2l0aCBiZy10YWItYWN0 aXZlLA0KKyAgICA7OyB0aG91Z2ggb25seSBmb3Igc3R5bGluZyBzcGVjaWFsIGVsZW1lbnRzLCBz dWNoIGFzIHVuZGVybGluaW5nDQorICAgIDs7IHRoZSBjdXJyZW50IHRhYg0KKyAgICA7Ow0KKyAg ICA7OyBmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgYW5kIGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFz aCBjYW4NCisgICAgOzsgYmUgY29tYmluZWQgYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAg OzsNCisgICAgOzsgZmctbGFuZy1lcnJvciwgZmctbGFuZy13YXJuaW5nLCBmZy1sYW5nLW5vdGUg Y2FuIGJlDQorICAgIDs7IGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisg ICAgOzsNCisgICAgOzsgZmctbWFyay1zZWwsIGZnLW1hcmstZGVsLCBmZy1tYXJrLWFsdCBjYW4g YmUgY29tYmluZWQNCisgICAgOzsgd2l0aCBiZy1tYWluLCBiZy1kaW0sIGJnLWFsdCwgYmctaGwt bGluZQ0KKyAgICA7Ow0KKyAgICA7OyBmZy11bmZvY3VzZWQgbXVzdCBiZSBjb21iaW5lZCB3aXRo IGJnLW1haW4NCisgICAgOzsNCisgICAgOzsgZmctZG9jc3RyaW5nLCBmZy1jb21tZW50LXllbGxv dyBjYW4gYmUgY29tYmluZWQgd2l0aA0KKyAgICA7OyBiZy1tYWluLCBiZy1kaW0sIGJnLWFsdA0K KyAgICA7Ow0KKyAgICA7OyB0aGUgd2luZG93IGRpdmlkZXIgY29sb3JzIGFwcGx5IHRvIGZhY2Vz IHdpdGgganVzdCBhbiBmZyB2YWx1ZQ0KKyAgICA7Ow0KKyAgICA7OyBhbGwgcGFpcnMgYXJlIGNv bWJpbmFibGUgd2l0aCB0aGVtc2VsdmVzDQorICAgIChiZy1obC1saW5lIC4gIiNmMmVmZjMiKQ0K KyAgICAoYmctaGwtbGluZS1pbnRlbnNlIC4gIiNlMGUwZTAiKQ0KKyAgICAoYmctaGwtYWx0IC4g IiNmYmVlZTAiKQ0KKyAgICAoYmctaGwtYWx0LWludGVuc2UgLiAiI2U4ZGZkMSIpDQorICAgIChi Zy1wYXJlbi1tYXRjaCAuICIjZTBhZjgyIikNCisgICAgKGJnLXBhcmVuLW1hdGNoLWludGVuc2Ug LiAiI2M0ODhmZiIpDQorICAgIChiZy1yZWdpb24gLiAiI2JjYmNiYyIpDQorDQorICAgIChiZy10 YWItYmFyIC4gIiNkNWQ1ZDUiKQ0KKyAgICAoYmctdGFiLWFjdGl2ZSAuICIjZjZmNmY2IikNCisg ICAgKGJnLXRhYi1pbmFjdGl2ZSAuICIjYmRiZGJkIikNCisgICAgKGJnLXRhYi1pbmFjdGl2ZS1h bHQgLiAiIzk5OTk5OSIpDQorICAgIChmZy10YWItYWN0aXZlIC4gIiMzMDE2OWUiKQ0KKw0KKyAg ICAoZmctZXNjYXBlLWNoYXItY29uc3RydWN0IC4gIiM4YjEwMzAiKQ0KKyAgICAoZmctZXNjYXBl LWNoYXItYmFja3NsYXNoIC4gIiM2NTRkMGYiKQ0KKw0KKyAgICAoZmctbGFuZy1lcnJvciAuICIj OWYwMDRmIikNCisgICAgKGZnLWxhbmctd2FybmluZyAuICIjNjA0ZjBmIikNCisgICAgKGZnLWxh bmctbm90ZSAuICIjNDA0MGFlIikNCisgICAgKGZnLWxhbmctdW5kZXJsaW5lLWVycm9yIC4gIiNl ZjRmNTQiKQ0KKyAgICAoZmctbGFuZy11bmRlcmxpbmUtd2FybmluZyAuICIjY2Y5ZjAwIikNCisg ICAgKGZnLWxhbmctdW5kZXJsaW5lLW5vdGUgLiAiIzNmNmZlZiIpDQorDQorICAgIChmZy13aW5k b3ctZGl2aWRlci1pbm5lciAuICIjODg4ODg4IikNCisgICAgKGZnLXdpbmRvdy1kaXZpZGVyLW91 dGVyIC4gIiM1ODU4NTgiKQ0KKw0KKyAgICAoZmctdW5mb2N1c2VkIC4gIiM1NjU3NmQiKQ0KKw0K KyAgICAoZmctZG9jc3RyaW5nIC4gIiMyYTQ4NmEiKQ0KKyAgICAoZmctY29tbWVudC15ZWxsb3cg LiAiIzVmNDQwMCIpDQorDQorICAgIChiZy1oZWFkZXIgLiAiI2U1ZTVlNSIpIChmZy1oZWFkZXIg LiAiIzJhMmEyYSIpDQorDQorICAgIChiZy13aGl0ZXNwYWNlIC4gIiNmNWVmZWYiKSAoZmctd2hp dGVzcGFjZSAuICIjNjI0OTU2IikNCisNCisgICAgKGJnLWRpZmYtaGVhZGluZyAuICIjYjdjZmUw IikgKGZnLWRpZmYtaGVhZGluZyAuICIjMDQxNjQ1IikNCisgICAgKGJnLWRpZmYtYWRkZWQgLiAi I2Q0ZmFkNCIpIChmZy1kaWZmLWFkZGVkIC4gIiMwMDQ1MDAiKQ0KKyAgICAoYmctZGlmZi1hZGRl ZC1kZXV0ZXJhbiAuICIjZGFlZmZmIikgKGZnLWRpZmYtYWRkZWQtZGV1dGVyYW4gLiAiIzAwMjA0 NCIpDQorICAgIChiZy1kaWZmLWNoYW5nZWQgLiAiI2ZjZWZjZiIpIChmZy1kaWZmLWNoYW5nZWQg LiAiIzUyNDIwMCIpDQorICAgIChiZy1kaWZmLXJlbW92ZWQgLiAiI2ZmZThlZiIpIChmZy1kaWZm LXJlbW92ZWQgLiAiIzY5MTYxNiIpDQorDQorICAgIChiZy1kaWZmLXJlZmluZS1hZGRlZCAuICIj OTRjZjk0IikgKGZnLWRpZmYtcmVmaW5lLWFkZGVkIC4gIiMwMDJhMDAiKQ0KKyAgICAoYmctZGlm Zi1yZWZpbmUtYWRkZWQtZGV1dGVyYW4gLiAiIzc3YzBlZiIpIChmZy1kaWZmLXJlZmluZS1hZGRl ZC1kZXV0ZXJhbiAuICIjMDAwMDM1IikNCisgICAgKGJnLWRpZmYtcmVmaW5lLWNoYW5nZWQgLiAi I2NjY2Y4ZiIpIChmZy1kaWZmLXJlZmluZS1jaGFuZ2VkIC4gIiMzMDIwMTAiKQ0KKyAgICAoYmct ZGlmZi1yZWZpbmUtcmVtb3ZlZCAuICIjZGFhMmIwIikgKGZnLWRpZmYtcmVmaW5lLXJlbW92ZWQg LiAiIzQwMDAwMCIpDQorDQorICAgIChiZy1kaWZmLWZvY3VzLWFkZGVkIC4gIiNiYmVhYmIiKSAo ZmctZGlmZi1mb2N1cy1hZGRlZCAuICIjMDAyYzAwIikNCisgICAgKGJnLWRpZmYtZm9jdXMtYWRk ZWQtZGV1dGVyYW4gLiAiI2JhY2ZmZiIpIChmZy1kaWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuIC4g IiMwMDE3NTUiKQ0KKyAgICAoYmctZGlmZi1mb2N1cy1jaGFuZ2VkIC4gIiNlY2RmYmYiKSAoZmct ZGlmZi1mb2N1cy1jaGFuZ2VkIC4gIiMzOTI5MDAiKQ0KKyAgICAoYmctZGlmZi1mb2N1cy1yZW1v dmVkIC4gIiNlZmNiY2YiKSAoZmctZGlmZi1mb2N1cy1yZW1vdmVkIC4gIiM0YTAwMDAiKQ0KKw0K KyAgICAoYmctZGlmZi1uZXV0cmFsLTAgLiAiIzk3OTc5NyIpIChmZy1kaWZmLW5ldXRyYWwtMCAu ICIjMDQwNDA0IikNCisgICAgKGJnLWRpZmYtbmV1dHJhbC0xIC4gIiNiMGIwYjAiKSAoZmctZGlm Zi1uZXV0cmFsLTEgLiAiIzI1MjUyNSIpDQorICAgIChiZy1kaWZmLW5ldXRyYWwtMiAuICIjY2Nj Y2NjIikgKGZnLWRpZmYtbmV1dHJhbC0yIC4gIiMzYTNhM2EiKQ0KKw0KKyAgICAoYmctbWFyay1z ZWwgLiAiI2EwZjBjZiIpIChmZy1tYXJrLXNlbCAuICIjMDA1MDQwIikNCisgICAgKGJnLW1hcmst ZGVsIC4gIiNmZmNjYmIiKSAoZmctbWFyay1kZWwgLiAiIzg0MDA0MCIpDQorICAgIChiZy1tYXJr LWFsdCAuICIjZjVkODhmIikgKGZnLW1hcmstYWx0IC4gIiM3ODI5MDAiKSkNCisgICJUaGUgZW50 aXJlIHBhbGV0dGUgb2YgYG1vZHVzLW9wZXJhbmRpJyB0aGVtZS4NCitFYWNoIGVsZW1lbnQgaGFz IHRoZSBmb3JtIChOQU1FIC4gSEVYKSB3aXRoIHRoZSBmb3JtZXIgYXMgYQ0KK3N5bWJvbCBhbmQg dGhlIGxhdHRlciBhcyBhIHN0cmluZy4iKQ0KKw0KKzs7OzsgTW9kdXMgVml2ZW5kaQ0KKw0KKyhk ZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMNCisgICdtb2R1cy12aXZlbmRpLXRoZW1lLWRl ZmF1bHQtY29sb3JzLWFsaXN0DQorICAnbW9kdXMtdGhlbWVzLWNvbG9ycy12aXZlbmRpDQorICAi MS4wLjAiKQ0KKw0KKyhkZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMNCisgICdtb2R1cy10 aGVtZXMtY29sb3JzLXZpdmVuZGkNCisgICdtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnMNCisg ICIxLjEuMCIpDQorDQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9ycw0KKyAg Jyg7OyBiYXNlIHZhbHVlcw0KKyAgICAoYmctbWFpbiAuICIjMDAwMDAwIikgKGZnLW1haW4gLiAi I2ZmZmZmZiIpDQorICAgIChiZy1kaW0gLiAiIzExMGIxMSIpIChmZy1kaW0gLiAiI2UwZTZmMCIp DQorICAgIChiZy1hbHQgLiAiIzE4MWEyMCIpIChmZy1hbHQgLiAiI2E4YThhOCIpDQorICAgIDs7 IHNwZWNpZmljYWxseSBmb3Igb24vb2ZmIHN0YXRlcyBhbmQgbXVzdCBiZSBjb21iaW5lZCB3aXRo DQorICAgIDs7IHRoZW1zZWx2ZXMsIHRob3VnaCB0aGUgYmFja2dyb3VuZHMgYXJlIGFsc28gbWVh bnQgdG8gYmUgdXNlZCB3aXRoDQorICAgIDs7IG90aGVyICJhY3RpdmUiIHZhbHVlcywgZGVmaW5l ZCBmdXJ0aGVyIGJlbG93DQorICAgIChiZy1hY3RpdmUgLiAiIzMyMzIzMiIpIChmZy1hY3RpdmUg LiAiI2Y0ZjRmNCIpDQorICAgIChiZy1pbmFjdGl2ZSAuICIjMWUxZTFlIikgKGZnLWluYWN0aXZl IC4gIiNiZmMwYzQiKQ0KKyAgICA7OyB0aGVzZSBzcGVjaWFsIHZhbHVlcyBhcmUgaW50ZW5kZWQg YXMgYWx0ZXJuYXRpdmVzIHRvIHRoZSBiYXNlDQorICAgIDs7IHZhbHVlcyBmb3IgY2FzZXMgd2hl cmUgd2UgbmVlZCB0byBhdm9pZCBjb25mdXNpb24gYmV0d2VlbiB0aGUNCisgICAgOzsgaGlnaGxp Z2h0ZWQgY29uc3RydWN0czsgdGhleSBtdXN0IGVpdGhlciBiZSB1c2VkIGFzIHBhaXJzIGJhc2Vk DQorICAgIDs7IG9uIHRoZWlyIG5hbWUgb3IgZWFjaCBjYW4gYmUgY29tYmluZWQgd2l0aCB7Zmcs Ymd9LXttYWluLGFsdCxkaW19DQorICAgIDs7IGFsd2F5cyBpbiBhY2NvcmRhbmNlIHdpdGggdGhl aXIgcm9sZSBhcyBiYWNrZ3JvdW5kIG9yIGZvcmVncm91bmQNCisgICAgKGJnLXNwZWNpYWwtY29s ZCAuICIjMjAzNDQ4IikgKGZnLXNwZWNpYWwtY29sZCAuICIjYzZlYWZmIikNCisgICAgKGJnLXNw ZWNpYWwtbWlsZCAuICIjMDAzMjJlIikgKGZnLXNwZWNpYWwtbWlsZCAuICIjYmZlYmUwIikNCisg ICAgKGJnLXNwZWNpYWwtd2FybSAuICIjMzgyZjI3IikgKGZnLXNwZWNpYWwtd2FybSAuICIjZjhk ZWMwIikNCisgICAgKGJnLXNwZWNpYWwtY2FsbSAuICIjMzkyYTQ4IikgKGZnLXNwZWNpYWwtY2Fs bSAuICIjZmJkNmY0IikNCisgICAgOzsgZm9yZWdyb3VuZHMgdGhhdCBjYW4gYmUgY29tYmluZWQg d2l0aCBiZy1tYWluLCBiZy1kaW0sIGJnLWFsdA0KKyAgICAocmVkIC4gIiNmZjgwNTkiKQ0KKyAg ICAocmVkLWFsdCAuICIjZjQ5MjNiIikNCisgICAgKHJlZC1hbHQtb3RoZXIgLiAiI2ZmOTk3NyIp DQorICAgIChyZWQtZmFpbnQgLiAiI2ZmYTBhMCIpDQorICAgIChyZWQtYWx0LWZhaW50IC4gIiNm NWFhODAiKQ0KKyAgICAocmVkLWFsdC1vdGhlci1mYWludCAuICIjZmY5ZmJmIikNCisgICAgKGdy ZWVuIC4gIiM0NGJjNDQiKQ0KKyAgICAoZ3JlZW4tYWx0IC4gIiM3MGM5MDAiKQ0KKyAgICAoZ3Jl ZW4tYWx0LW90aGVyIC4gIiMwMGNkNjgiKQ0KKyAgICAoZ3JlZW4tZmFpbnQgLiAiIzg4Y2Y4OCIp DQorICAgIChncmVlbi1hbHQtZmFpbnQgLiAiI2E4Y2Y4OCIpDQorICAgIChncmVlbi1hbHQtb3Ro ZXItZmFpbnQgLiAiIzg4Y2ZhZiIpDQorICAgICh5ZWxsb3cgLiAiI2VlY2MwMCIpDQorICAgICh5 ZWxsb3ctYWx0IC4gIiNjZmRmMzAiKQ0KKyAgICAoeWVsbG93LWFsdC1vdGhlciAuICIjZjBjZTQz IikNCisgICAgKHllbGxvdy1mYWludCAuICIjZDJiNTgwIikNCisgICAgKHllbGxvdy1hbHQtZmFp bnQgLiAiI2NhYmY3NyIpDQorICAgICh5ZWxsb3ctYWx0LW90aGVyLWZhaW50IC4gIiNkMGJhOTUi KQ0KKyAgICAoYmx1ZSAuICIjMmZhZmZmIikNCisgICAgKGJsdWUtYWx0IC4gIiM3OWE4ZmYiICkN CisgICAgKGJsdWUtYWx0LW90aGVyIC4gIiMwMGJjZmYiKQ0KKyAgICAoYmx1ZS1mYWludCAuICIj OTJiYWZmIikNCisgICAgKGJsdWUtYWx0LWZhaW50IC4gIiNhMGFjZjUiKQ0KKyAgICAoYmx1ZS1h bHQtb3RoZXItZmFpbnQgLiAiIzg3YzhmZiIpDQorICAgIChtYWdlbnRhIC4gIiNmZWFjZDAiKQ0K KyAgICAobWFnZW50YS1hbHQgLiAiI2Y3OGZlNyIpDQorICAgIChtYWdlbnRhLWFsdC1vdGhlciAu ICIjYjZhMGZmIikNCisgICAgKG1hZ2VudGEtZmFpbnQgLiAiI2UwYjJkNiIpDQorICAgIChtYWdl bnRhLWFsdC1mYWludCAuICIjZWY5ZmU0IikNCisgICAgKG1hZ2VudGEtYWx0LW90aGVyLWZhaW50 IC4gIiNjZmE2ZmYiKQ0KKyAgICAoY3lhbiAuICIjMDBkM2QwIikNCisgICAgKGN5YW4tYWx0IC4g IiM0YWU4ZmMiKQ0KKyAgICAoY3lhbi1hbHQtb3RoZXIgLiAiIzZhZTRiOSIpDQorICAgIChjeWFu LWZhaW50IC4gIiM5MGM0ZWQiKQ0KKyAgICAoY3lhbi1hbHQtZmFpbnQgLiAiI2EwYmZkZiIpDQor ICAgIChjeWFuLWFsdC1vdGhlci1mYWludCAuICIjYTRkMGJiIikNCisgICAgOzsgdGhlc2UgZm9y ZWdyb3VuZCB2YWx1ZXMgY2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBiZy1tYWluIGFuZCBhcmUN CisgICAgOzsgdGh1cyBub3Qgc3VpdGFibGUgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRp bmcNCisgICAgKHJlZC1pbnRlbnNlIC4gIiNmZTYwNjAiKQ0KKyAgICAob3JhbmdlLWludGVuc2Ug LiAiI2ZiYTg0OSIpDQorICAgIChncmVlbi1pbnRlbnNlIC4gIiM0ZmU0MmYiKQ0KKyAgICAoeWVs bG93LWludGVuc2UgLiAiI2YwZGQ2MCIpDQorICAgIChibHVlLWludGVuc2UgLiAiIzRmYWZmZiIp DQorICAgIChtYWdlbnRhLWludGVuc2UgLiAiI2ZmNjJkNCIpDQorICAgIChwdXJwbGUtaW50ZW5z ZSAuICIjOWY4MGZmIikNCisgICAgKGN5YW4taW50ZW5zZSAuICIjM2ZkZmQwIikNCisgICAgOzsg dGhvc2UgZm9yZWdyb3VuZHMgYXJlIG1lYW50IGV4Y2x1c2l2ZWx5IGZvciBiZy1hY3RpdmUsIGJn LWluYWN0aXZlDQorICAgIChyZWQtYWN0aXZlIC4gIiNmZmE3YmEiKQ0KKyAgICAoZ3JlZW4tYWN0 aXZlIC4gIiM3MGQ3M2YiKQ0KKyAgICAoeWVsbG93LWFjdGl2ZSAuICIjZGJiZTVmIikNCisgICAg KGJsdWUtYWN0aXZlIC4gIiMzNGNmZmYiKQ0KKyAgICAobWFnZW50YS1hY3RpdmUgLiAiI2Q1YjFm ZiIpDQorICAgIChjeWFuLWFjdGl2ZSAuICIjMDBkOGI0IikNCisgICAgOzsgdGhlICJzdWJ0bGUi IHZhbHVlcyBiZWxvdyBiZSBjb21iaW5lZCB3aXRoIGZnLWRpbSwgd2hpbGUgdGhlDQorICAgIDs7 ICJpbnRlbnNlIiBzaG91bGQgYmUgcGFpcmVkIHdpdGggZmctbWFpbg0KKyAgICAocmVkLXN1YnRs ZS1iZyAuICIjNzYyNDIyIikNCisgICAgKHJlZC1pbnRlbnNlLWJnIC4gIiNhNDIwMmEiKQ0KKyAg ICAoZ3JlZW4tc3VidGxlLWJnIC4gIiMyZjRhMDAiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZS1iZyAu ICIjMDA2ODAwIikNCisgICAgKHllbGxvdy1zdWJ0bGUtYmcgLiAiIzYwNDIwMCIpDQorICAgICh5 ZWxsb3ctaW50ZW5zZS1iZyAuICIjODc0OTAwIikNCisgICAgKGJsdWUtc3VidGxlLWJnIC4gIiMx MDM4N2MiKQ0KKyAgICAoYmx1ZS1pbnRlbnNlLWJnIC4gIiMyYTQwYjgiKQ0KKyAgICAobWFnZW50 YS1zdWJ0bGUtYmcgLiAiIzQ5MzY2ZSIpDQorICAgIChtYWdlbnRhLWludGVuc2UtYmcgLiAiIzcw NDJhMiIpDQorICAgIChjeWFuLXN1YnRsZS1iZyAuICIjMDA0MTVlIikNCisgICAgKGN5YW4taW50 ZW5zZS1iZyAuICIjMDA1Zjg4IikNCisgICAgOzsgdGhvc2UgYmFja2dyb3VuZCB2YWx1ZXMgbXVz dCBiZSBjb21iaW5lZCB3aXRoIGZnLW1haW4gYW5kIHNob3VsZA0KKyAgICA7OyBvbmx5IGJlIHVz ZWQgZm9yIGluZGljYXRvcnMgdGhhdCBhcmUgcGxhY2VkIG9uIHRoZSBmcmluZ2VzDQorICAgIChy ZWQtZnJpbmdlLWJnIC4gIiM4ZjFmNGIiKQ0KKyAgICAoZ3JlZW4tZnJpbmdlLWJnIC4gIiMwMDY3 MDAiKQ0KKyAgICAoeWVsbG93LWZyaW5nZS1iZyAuICIjNmY0ZjAwIikNCisgICAgKGJsdWUtZnJp bmdlLWJnIC4gIiMzZjMzYWYiKQ0KKyAgICAobWFnZW50YS1mcmluZ2UtYmcgLiAiIzZmMmY4OSIp DQorICAgIChjeWFuLWZyaW5nZS1iZyAuICIjMDA0ZjhmIikNCisgICAgOzsgdGhvc2UgYmFja2dy b3VuZCB2YWx1ZXMgc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgZ3JhcGhzIG9yIHNpbWlsYXINCisg ICAgOzsgYXBwbGljYXRpb25zIHdoZXJlIGNvbG9yZWQgYmxvY2tzIGFyZSBleHBlY3RlZCB0byBi ZSBwb3NpdGlvbmVkDQorICAgIDs7IG5leHQgdG8gZWFjaCBvdGhlcg0KKyAgICAocmVkLWdyYXBo LTAtYmcgLiAiI2FmMDQwNCIpDQorICAgIChyZWQtZ3JhcGgtMS1iZyAuICIjODAxZjJmIikNCisg ICAgKGdyZWVuLWdyYXBoLTAtYmcgLiAiIzI0YmEyZiIpDQorICAgIChncmVlbi1ncmFwaC0xLWJn IC4gIiMwZjhmMDciKQ0KKyAgICAoeWVsbG93LWdyYXBoLTAtYmcgLiAiI2ZmZDAzZSIpDQorICAg ICh5ZWxsb3ctZ3JhcGgtMS1iZyAuICIjZDdkODAwIikNCisgICAgKGJsdWUtZ3JhcGgtMC1iZyAu ICIjNDA2ZmZmIikNCisgICAgKGJsdWUtZ3JhcGgtMS1iZyAuICIjMmY1MGM4IikNCisgICAgKG1h Z2VudGEtZ3JhcGgtMC1iZyAuICIjYWY3YmVlIikNCisgICAgKG1hZ2VudGEtZ3JhcGgtMS1iZyAu ICIjN2Y1OWNmIikNCisgICAgKGN5YW4tZ3JhcGgtMC1iZyAuICIjNDdkY2ZhIikNCisgICAgKGN5 YW4tZ3JhcGgtMS1iZyAuICIjMGJjMGRmIikNCisgICAgOzsgdGhlIGZvbGxvd2luZyBhcmUgZm9y IGNhc2VzIHdoZXJlIGJvdGggdGhlIGZvcmVncm91bmQgYW5kIHRoZQ0KKyAgICA7OyBiYWNrZ3Jv dW5kIG5lZWQgdG8gaGF2ZSBhIHNpbWlsYXIgaHVlIGFuZCBzbyBtdXN0IGJlIGNvbWJpbmVkDQor ICAgIDs7IHdpdGggdGhlbXNlbHZlcywgZXZlbiB0aG91Z2ggdGhlIGZvcmVncm91bmRzIGNhbiBi ZSBwYWlyZWQgd2l0aA0KKyAgICA7OyBhbnkgb2YgdGhlIGJhc2UgYmFja2dyb3VuZHMNCisgICAg KHJlZC1yZWZpbmUtYmcgLiAiIzc3MDAyYSIpIChyZWQtcmVmaW5lLWZnIC4gIiNmZmI5YWIiKQ0K KyAgICAoZ3JlZW4tcmVmaW5lLWJnIC4gIiMwMDQyMmEiKSAoZ3JlZW4tcmVmaW5lLWZnIC4gIiM5 ZmYwY2YiKQ0KKyAgICAoeWVsbG93LXJlZmluZS1iZyAuICIjNjkzMjAwIikgKHllbGxvdy1yZWZp bmUtZmcgLiAiI2UyZDk4MCIpDQorICAgIChibHVlLXJlZmluZS1iZyAuICIjMjQyNjc5IikgKGJs dWUtcmVmaW5lLWZnIC4gIiM4ZWM2ZmYiKQ0KKyAgICAobWFnZW50YS1yZWZpbmUtYmcgLiAiIzcx MjA2YSIpIChtYWdlbnRhLXJlZmluZS1mZyAuICIjZmZjYWYwIikNCisgICAgKGN5YW4tcmVmaW5l LWJnIC4gIiMwMDQwNjUiKSAoY3lhbi1yZWZpbmUtZmcgLiAiIzhhZTRmMiIpDQorICAgIDs7IHRo ZSAibnVhbmNlZCIgYmFja2dyb3VuZHMgY2FuIGJlIGNvbWJpbmVkIHdpdGggYWxsIG9mIHRoZSBh Ym92ZQ0KKyAgICA7OyBmb3JlZ3JvdW5kcywgYXMgd2VsbCBhcyB0aG9zZSBpbmNsdWRlZCBoZXJl LCB3aGlsZSB0aGUgIm51YW5jZWQiDQorICAgIDs7IGZvcmVncm91bmRzIGNhbiBpbiB0dXJuIGFs c28gYmUgY29tYmluZWQgd2l0aCBiZy1tYWluLCBiZy1kaW0sDQorICAgIDs7IGJnLWFsdA0KKyAg ICAocmVkLW51YW5jZWQtYmcgLiAiIzJjMDYxNCIpIChyZWQtbnVhbmNlZC1mZyAuICIjZmZjY2Nj IikNCisgICAgKGdyZWVuLW51YW5jZWQtYmcgLiAiIzAwMTkwNCIpIChncmVlbi1udWFuY2VkLWZn IC4gIiNiOGUyYjgiKQ0KKyAgICAoeWVsbG93LW51YW5jZWQtYmcgLiAiIzIyMTAwMCIpICh5ZWxs b3ctbnVhbmNlZC1mZyAuICIjZGZkZmIwIikNCisgICAgKGJsdWUtbnVhbmNlZC1iZyAuICIjMGYw ZTM5IikgKGJsdWUtbnVhbmNlZC1mZyAuICIjYmZkOWZmIikNCisgICAgKG1hZ2VudGEtbnVhbmNl ZC1iZyAuICIjMjMwNjMxIikgKG1hZ2VudGEtbnVhbmNlZC1mZyAuICIjZTVjZmVmIikNCisgICAg KGN5YW4tbnVhbmNlZC1iZyAuICIjMDQxNTI5IikgKGN5YW4tbnVhbmNlZC1mZyAuICIjYThlNWU1 IikNCisgICAgOzsgdGhlIGZvbGxvd2luZyBhcmUgcmVzZXJ2ZWQgZm9yIHNwZWNpZmljIGNhc2Vz DQorICAgIDs7DQorICAgIDs7IGJnLWhsLWxpbmUgaXMgYmV0d2VlbiBiZy1kaW0gYW5kIGJnLWFs dCwgc28gaXQgc2hvdWxkDQorICAgIDs7IHdvcmsgd2l0aCBhbGwgYWNjZW50cyB0aGF0IGNvdmVy IHRob3NlIHR3bywgcGx1cyBiZy1tYWluDQorICAgIDs7DQorICAgIDs7IGJnLWhsLWFsdCBhbmQg YmctaGwtYWx0LWludGVuc2Ugc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIG5vDQorICAgIDs7IG90 aGVyIGdyZXlzY2FsZSBvciBmYWlybHkgbmV1dHJhbCBiYWNrZ3JvdW5kIGlzIGF2YWlsYWJsZSB0 bw0KKyAgICA7OyBwcm9wZXJseSBkcmF3IGF0dGVudGlvbiB0byBhIGdpdmVuIGNvbnN0cnVjdA0K KyAgICA7Ow0KKyAgICA7OyBiZy1oZWFkZXIgaXMgYmV0d2VlbiBiZy1hY3RpdmUgYW5kIGJnLWlu YWN0aXZlLCBzbyBpdA0KKyAgICA7OyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbnkgb2YgdGhlICJh Y3RpdmUiIHZhbHVlcywgcGx1cyB0aGUNCisgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNlIGZvcmVn cm91bmQgY29sb3JzDQorICAgIDs7DQorICAgIDs7IGJnLXBhcmVuLW1hdGNoLCBiZy1wYXJlbi1t YXRjaC1pbnRlbnNlLCBiZy1yZWdpb24gYW5kDQorICAgIDs7IGJnLXRhYi1hY3RpdmUgbXVzdCBi ZSBjb21iaW5lZCB3aXRoIGZnLW1haW4sIHdoaWxlDQorICAgIDs7IGJnLXRhYi1pbmFjdGl2ZSBz aG91bGQgYmUgY29tYmluZWQgd2l0aCBmZy1kaW0sIHdoZXJlYXMNCisgICAgOzsgYmctdGFiLWlu YWN0aXZlLWFsdCBnb2VzIHRvZ2V0aGVyIHdpdGggZmctbWFpbg0KKyAgICA7Ow0KKyAgICA7OyBi Zy10YWItYmFyIGlzIG9ubHkgaW50ZW5kZWQgZm9yIHRoZSBiYXIgdGhhdCBob2xkcyB0aGUgdGFi cyBhbmQNCisgICAgOzsgY2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluDQorICAgIDs7 DQorICAgIDs7IGZnLXRhYi1hY3RpdmUgaXMgbWVhbnQgdG8gYmUgY29tYmluZWQgd2l0aCBiZy10 YWItYWN0aXZlLA0KKyAgICA7OyB0aG91Z2ggb25seSBmb3Igc3R5bGluZyBzcGVjaWFsIGVsZW1l bnRzLCBzdWNoIGFzIHVuZGVybGluaW5nDQorICAgIDs7IHRoZSBjdXJyZW50IHRhYg0KKyAgICA7 Ow0KKyAgICA7OyBmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgYW5kIGZnLWVzY2FwZS1jaGFyLWJh Y2tzbGFzaCBjYW4NCisgICAgOzsgYmUgY29tYmluZWQgYmctbWFpbiwgYmctZGltLCBiZy1hbHQN CisgICAgOzsNCisgICAgOzsgZmctbGFuZy1lcnJvciwgZmctbGFuZy13YXJuaW5nLCBmZy1sYW5n LW5vdGUgY2FuIGJlDQorICAgIDs7IGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1h bHQNCisgICAgOzsNCisgICAgOzsgZmctbWFyay1zZWwsIGZnLW1hcmstZGVsLCBmZy1tYXJrLWFs dCBjYW4gYmUgY29tYmluZWQNCisgICAgOzsgd2l0aCBiZy1tYWluLCBiZy1kaW0sIGJnLWFsdCwg YmctaGwtbGluZQ0KKyAgICA7Ow0KKyAgICA7OyBmZy11bmZvY3VzZWQgbXVzdCBiZSBjb21iaW5l ZCB3aXRoIGJnLW1haW4NCisgICAgOzsNCisgICAgOzsgZmctZG9jc3RyaW5nLCBmZy1jb21tZW50 LXllbGxvdyBjYW4gYmUgY29tYmluZWQgd2l0aA0KKyAgICA7OyBiZy1tYWluLCBiZy1kaW0sIGJn LWFsdA0KKyAgICA7Ow0KKyAgICA7OyB0aGUgd2luZG93IGRpdmlkZXIgY29sb3JzIGFwcGx5IHRv IGZhY2VzIHdpdGgganVzdCBhbiBmZyB2YWx1ZQ0KKyAgICA7Ow0KKyAgICA7OyBhbGwgcGFpcnMg YXJlIGNvbWJpbmFibGUgd2l0aCB0aGVtc2VsdmVzDQorICAgIChiZy1obC1saW5lIC4gIiMxNTE4 MjMiKQ0KKyAgICAoYmctaGwtbGluZS1pbnRlbnNlIC4gIiMyZjJmMmYiKQ0KKyAgICAoYmctaGwt YWx0IC4gIiMxODE3MzIiKQ0KKyAgICAoYmctaGwtYWx0LWludGVuc2UgLiAiIzI4MmU0NiIpDQor ICAgIChiZy1wYXJlbi1tYXRjaCAuICIjNWYzNjJmIikNCisgICAgKGJnLXBhcmVuLW1hdGNoLWlu dGVuc2UgLiAiIzc0MTZiNSIpDQorICAgIChiZy1yZWdpb24gLiAiIzNjM2MzYyIpDQorDQorICAg IChiZy10YWItYmFyIC4gIiMyYzJjMmMiKQ0KKyAgICAoYmctdGFiLWFjdGl2ZSAuICIjMGUwZTBl IikNCisgICAgKGJnLXRhYi1pbmFjdGl2ZSAuICIjM2QzZDNkIikNCisgICAgKGJnLXRhYi1pbmFj dGl2ZS1hbHQgLiAiIzU5NTk1OSIpDQorICAgIChmZy10YWItYWN0aXZlIC4gIiM1YWMzY2YiKQ0K Kw0KKyAgICAoZmctZXNjYXBlLWNoYXItY29uc3RydWN0IC4gIiNlN2E1OWEiKQ0KKyAgICAoZmct ZXNjYXBlLWNoYXItYmFja3NsYXNoIC4gIiNhYmFiMDAiKQ0KKw0KKyAgICAoZmctbGFuZy1lcnJv ciAuICIjZWY4NjkwIikNCisgICAgKGZnLWxhbmctd2FybmluZyAuICIjYjBhYTAwIikNCisgICAg KGZnLWxhbmctbm90ZSAuICIjOWQ5ZGVmIikNCisgICAgKGZnLWxhbmctdW5kZXJsaW5lLWVycm9y IC4gIiNmZjRhNmYiKQ0KKyAgICAoZmctbGFuZy11bmRlcmxpbmUtd2FybmluZyAuICIjZDBkZTAw IikNCisgICAgKGZnLWxhbmctdW5kZXJsaW5lLW5vdGUgLiAiIzVmNmZmZiIpDQorDQorICAgIChm Zy13aW5kb3ctZGl2aWRlci1pbm5lciAuICIjNjQ2NDY0IikNCisgICAgKGZnLXdpbmRvdy1kaXZp ZGVyLW91dGVyIC4gIiM5Njk2OTYiKQ0KKw0KKyAgICAoZmctdW5mb2N1c2VkIC4gIiM5Mzk1OWIi KQ0KKw0KKyAgICAoZmctZG9jc3RyaW5nIC4gIiNiMGQ2ZjUiKQ0KKyAgICAoZmctY29tbWVudC15 ZWxsb3cgLiAiI2NhYjk4ZiIpDQorDQorICAgIChiZy1oZWFkZXIgLiAiIzIxMjEyMSIpIChmZy1o ZWFkZXIgLiAiI2RkZGRkZCIpDQorDQorICAgIChiZy13aGl0ZXNwYWNlIC4gIiMxMDE0MjQiKSAo Zmctd2hpdGVzcGFjZSAuICIjYWE5ZTlmIikNCisNCisgICAgKGJnLWRpZmYtaGVhZGluZyAuICIj MzA0NDY2IikgKGZnLWRpZmYtaGVhZGluZyAuICIjZGFlN2ZmIikNCisgICAgKGJnLWRpZmYtYWRk ZWQgLiAiIzBhMjgwYSIpIChmZy1kaWZmLWFkZGVkIC4gIiM5NGJhOTQiKQ0KKyAgICAoYmctZGlm Zi1hZGRlZC1kZXV0ZXJhbiAuICIjMDAxYTNmIikgKGZnLWRpZmYtYWRkZWQtZGV1dGVyYW4gLiAi I2M0Y2RmMiIpDQorICAgIChiZy1kaWZmLWNoYW5nZWQgLiAiIzJhMjAwMCIpIChmZy1kaWZmLWNo YW5nZWQgLiAiI2IwYmE5ZiIpDQorICAgIChiZy1kaWZmLXJlbW92ZWQgLiAiIzQwMTYwZiIpIChm Zy1kaWZmLXJlbW92ZWQgLiAiI2M2YWRhYSIpDQorDQorICAgIChiZy1kaWZmLXJlZmluZS1hZGRl ZCAuICIjMDA1YTM2IikgKGZnLWRpZmYtcmVmaW5lLWFkZGVkIC4gIiNlMGY2ZTAiKQ0KKyAgICAo YmctZGlmZi1yZWZpbmUtYWRkZWQtZGV1dGVyYW4gLiAiIzIzNGY4ZiIpIChmZy1kaWZmLXJlZmlu ZS1hZGRlZC1kZXV0ZXJhbiAuICIjZGRlNGZmIikNCisgICAgKGJnLWRpZmYtcmVmaW5lLWNoYW5n ZWQgLiAiIzU4NTgwMCIpIChmZy1kaWZmLXJlZmluZS1jaGFuZ2VkIC4gIiNmZmZmY2MiKQ0KKyAg ICAoYmctZGlmZi1yZWZpbmUtcmVtb3ZlZCAuICIjODUyODI4IikgKGZnLWRpZmYtcmVmaW5lLXJl bW92ZWQgLiAiI2ZmZDllYiIpDQorDQorICAgIChiZy1kaWZmLWZvY3VzLWFkZGVkIC4gIiMyMDNk MjAiKSAoZmctZGlmZi1mb2N1cy1hZGRlZCAuICIjYjRkZGI0IikNCisgICAgKGJnLWRpZmYtZm9j dXMtYWRkZWQtZGV1dGVyYW4gLiAiIzAwNDA1ZiIpIChmZy1kaWZmLWZvY3VzLWFkZGVkLWRldXRl cmFuIC4gIiNiZmU0ZmYiKQ0KKyAgICAoYmctZGlmZi1mb2N1cy1jaGFuZ2VkIC4gIiM0YTNhMTAi KSAoZmctZGlmZi1mb2N1cy1jaGFuZ2VkIC4gIiNkMGRhYWYiKQ0KKyAgICAoYmctZGlmZi1mb2N1 cy1yZW1vdmVkIC4gIiM1ZTI1MjYiKSAoZmctZGlmZi1mb2N1cy1yZW1vdmVkIC4gIiNlZWJkYmEi KQ0KKw0KKyAgICAoYmctZGlmZi1uZXV0cmFsLTAgLiAiIzU3NTc1NyIpIChmZy1kaWZmLW5ldXRy YWwtMCAuICIjZmNmY2ZjIikNCisgICAgKGJnLWRpZmYtbmV1dHJhbC0xIC4gIiM0NTQ1NDUiKSAo ZmctZGlmZi1uZXV0cmFsLTEgLiAiI2RkZGRkZCIpDQorICAgIChiZy1kaWZmLW5ldXRyYWwtMiAu ICIjMzEzMTMxIikgKGZnLWRpZmYtbmV1dHJhbC0yIC4gIiNiZmJmYmYiKQ0KKw0KKyAgICAoYmct bWFyay1zZWwgLiAiIzAwMmYyZiIpIChmZy1tYXJrLXNlbCAuICIjNjBjZmEyIikNCisgICAgKGJn LW1hcmstZGVsIC4gIiM1YTAwMDAiKSAoZmctbWFyay1kZWwgLiAiI2ZmOTlhYSIpDQorICAgIChi Zy1tYXJrLWFsdCAuICIjM2YyMjEwIikgKGZnLW1hcmstYWx0IC4gIiNmMGFhMjAiKSkNCisgICJU aGUgZW50aXJlIHBhbGV0dGUgb2YgYG1vZHVzLXZpdmVuZGknIHRoZW1lLg0KK0VhY2ggZWxlbWVu dCBoYXMgdGhlIGZvcm0gKE5BTUUgLiBIRVgpIHdpdGggdGhlIGZvcm1lciBhcyBhDQorc3ltYm9s IGFuZCB0aGUgbGF0dGVyIGFzIGEgc3RyaW5nLiIpDQorDQorDA0KKw0KKzs7OyBDdXN0b20gZmFj ZXMNCisNCis7OyBUaGVzZSBmYWNlcyBhcmUgdXNlZCBpbnRlcm5hbGx5IHRvIGVuc3VyZSBjb25z aXN0ZW5jeSBiZXR3ZWVuIHZhcmlvdXMNCis7OyBncm91cHMgYW5kIHRvIHN0cmVhbWxpbmUgdGhl IGV2YWx1YXRpb24gb2YgcmVsZXZhbnQgY3VzdG9taXphdGlvbg0KKzs7IG9wdGlvbnMuDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCBuaWwNCisgICJTdWJ0bGUgcmVkIGJhY2tncm91 bmQgY29tYmluZWQgd2l0aCBhIGRpbW1lZCBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3Ig Z2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3Ig Y29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFj ZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMt dGhlbWUtc3VidGxlLWdyZWVuIG5pbA0KKyAgIlN1YnRsZSBncmVlbiBiYWNrZ3JvdW5kIGNvbWJp bmVkIHdpdGggYSBkaW1tZWQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwg cHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRp b24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1 YnRsZS15ZWxsb3cgbmlsDQorICAiU3VidGxlIHllbGxvdyBiYWNrZ3JvdW5kIGNvbWJpbmVkIHdp dGggYSBkaW1tZWQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9z ZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50 ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBg bW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1i bHVlIG5pbA0KKyAgIlN1YnRsZSBibHVlIGJhY2tncm91bmQgY29tYmluZWQgd2l0aCBhIGRpbW1l ZCBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdo dGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0K Kw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVt ZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgbmls DQorICAiU3VidGxlIG1hZ2VudGEgYmFja2dyb3VuZCBjb21iaW5lZCB3aXRoIGEgZGltbWVkIGZv cmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5n LCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQor VGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1m YWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBuaWwNCisgICJT dWJ0bGUgY3lhbiBiYWNrZ3JvdW5kIGNvbWJpbmVkIHdpdGggYSBkaW1tZWQgZm9yZWdyb3VuZC4N CitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBp biBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFs IHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0K Kw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsIG5pbA0KKyAgIlN1YnRsZSBn cmF5IGJhY2tncm91bmQgY29tYmluZWQgd2l0aCBhIGRpbW1lZCBmb3JlZ3JvdW5kLg0KK1RoaXMg aXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZl cnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgbmlsDQorICAiSW50ZW5zZSByZWQgYmFja2dy b3VuZCBjb21iaW5lZCB3aXRoIHRoZSBtYWluIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZv ciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZv ciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuIG5pbA0KKyAgIkludGVuc2UgZ3JlZW4gYmFja2dyb3VuZCBj b21iaW5lZCB3aXRoIHRoZSBtYWluIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5l cmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21w bGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlz IGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVt ZS1pbnRlbnNlLXllbGxvdyBuaWwNCisgICJJbnRlbnNlIHllbGxvdyBiYWNrZ3JvdW5kIGNvbWJp bmVkIHdpdGggdGhlIG1haW4gZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwg cHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRp b24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWlu dGVuc2UtYmx1ZSBuaWwNCisgICJJbnRlbnNlIGJsdWUgYmFja2dyb3VuZCBjb21iaW5lZCB3aXRo IHRoZSBtYWluIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5lcmFsIHB1cnBvc2Ug aGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21wbGV0aW9uIGludGVy ZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1v ZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLW1h Z2VudGEgbmlsDQorICAiSW50ZW5zZSBtYWdlbnRhIGJhY2tncm91bmQgY29tYmluZWQgd2l0aCB0 aGUgbWFpbiBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhp Z2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZh Y2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1 cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFu IG5pbA0KKyAgIkludGVuc2UgY3lhbiBiYWNrZ3JvdW5kIGNvbWJpbmVkIHdpdGggdGhlIG1haW4g Zm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRp bmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisN CitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVz LWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCBuaWwN CisgICJJbnRlbnNlIGdyYXkgYmFja2dyb3VuZCBjb21iaW5lZCB3aXRoIHRoZSBtYWluIGZvcmVn cm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBt b3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhl IGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNl cycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtcmVkIG5pbA0KKyAgIkNvbWJp bmF0aW9uIG9mIGFjY2VudGVkIHJlZCBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kLg0KK1RoaXMg aXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZl cnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuIG5pbA0KKyAgIkNvbWJpbmF0aW9uIG9mIGFj Y2VudGVkIGdyZWVuIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZv ciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZv ciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1yZWZpbmUteWVsbG93IG5pbA0KKyAgIkNvbWJpbmF0aW9uIG9mIGFjY2VudGVkIHll bGxvdyBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJh bCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxl dGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBk b25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUt cmVmaW5lLWJsdWUgbmlsDQorICAiQ29tYmluYXRpb24gb2YgYWNjZW50ZWQgYmx1ZSBiYWNrZ3Jv dW5kIGFuZCBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhp Z2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZh Y2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1 cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2Vu dGEgbmlsDQorICAiQ29tYmluYXRpb24gb2YgYWNjZW50ZWQgbWFnZW50YSBiYWNrZ3JvdW5kIGFu ZCBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdo dGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0K Kw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVt ZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gbmlsDQor ICAiQ29tYmluYXRpb24gb2YgYWNjZW50ZWQgY3lhbiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5k Lg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5 IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1 YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIp DQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCBuaWwNCisgICJBIHJlZCBiYWNr Z3JvdW5kIG1lYW50IGZvciB1c2Ugb24gdGhlIG1vZGVsaW5lIG9yIHNpbWlsYXIuDQorVGhpcyBp cyBjb21iaW5lZCB3aXRoIHRoZSBtb2RlbGluZXMgcHJpbWFyeSBmb3JlZ3JvdW5kIHZhbHVlLg0K Kw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVt ZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuIG5pbA0K KyAgIkEgZ3JlZW4gYmFja2dyb3VuZCBtZWFudCBmb3IgdXNlIG9uIHRoZSBtb2RlbGluZSBvciBz aW1pbGFyLg0KK1RoaXMgaXMgY29tYmluZWQgd2l0aCB0aGUgbW9kZWxpbmVzIHByaW1hcnkgZm9y ZWdyb3VuZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFj dGl2ZS15ZWxsb3cgbmlsDQorICAiQSB5ZWxsb3cgYmFja2dyb3VuZCBtZWFudCBmb3IgdXNlIG9u IHRoZSBtb2RlbGluZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMgY29tYmluZWQgd2l0aCB0aGUgbW9k ZWxpbmVzIHByaW1hcnkgZm9yZWdyb3VuZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcg b2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZm YWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlIG5pbA0KKyAgIkEgYmx1ZSBiYWNrZ3JvdW5kIG1l YW50IGZvciB1c2Ugb24gdGhlIG1vZGVsaW5lIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5l ZCB3aXRoIHRoZSBtb2RlbGluZXMgcHJpbWFyeSBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBh Y3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMn LiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEgbmlsDQorICAiQSBt YWdlbnRhIGJhY2tncm91bmQgbWVhbnQgZm9yIHVzZSBvbiB0aGUgbW9kZWxpbmUgb3Igc2ltaWxh ci4NCitUaGlzIGlzIGNvbWJpbmVkIHdpdGggdGhlIG1vZGVsaW5lcyBwcmltYXJ5IGZvcmVncm91 bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkg YG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUt Y3lhbiBuaWwNCisgICJBIGN5YW4gYmFja2dyb3VuZCBtZWFudCBmb3IgdXNlIG9uIHRoZSBtb2Rl bGluZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMgY29tYmluZWQgd2l0aCB0aGUgbW9kZWxpbmVzIHBy aW1hcnkgZm9yZWdyb3VuZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZh Y2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVz LXRoZW1lLWZyaW5nZS1yZWQgbmlsDQorICAiQSByZWQgYmFja2dyb3VuZCBtZWFudCBmb3IgdXNl IG9uIHRoZSBmcmluZ2Ugb3Igc2ltaWxhci4NCitUaGlzIGlzIGNvbWJpbmVkIHdpdGggdGhlIG1h aW4gZm9yZWdyb3VuZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2Ug aXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRo ZW1lLWZyaW5nZS1ncmVlbiBuaWwNCisgICJBIGdyZWVuIGJhY2tncm91bmQgbWVhbnQgZm9yIHVz ZSBvbiB0aGUgZnJpbmdlIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5lZCB3aXRoIHRoZSBt YWluIGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNl IGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1mcmluZ2UteWVsbG93IG5pbA0KKyAgIkEgeWVsbG93IGJhY2tncm91bmQgbWVhbnQgZm9y IHVzZSBvbiB0aGUgZnJpbmdlIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5lZCB3aXRoIHRo ZSBtYWluIGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1mcmluZ2UtYmx1ZSBuaWwNCisgICJBIGJsdWUgYmFja2dyb3VuZCBtZWFudCBmb3Ig dXNlIG9uIHRoZSBmcmluZ2Ugb3Igc2ltaWxhci4NCitUaGlzIGlzIGNvbWJpbmVkIHdpdGggdGhl IG1haW4gZm9yZWdyb3VuZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZh Y2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVz LXRoZW1lLWZyaW5nZS1tYWdlbnRhIG5pbA0KKyAgIkEgbWFnZW50YSBiYWNrZ3JvdW5kIG1lYW50 IGZvciB1c2Ugb24gdGhlIGZyaW5nZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMgY29tYmluZWQgd2l0 aCB0aGUgbWFpbiBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0 aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4gbmlsDQorICAiQSBjeWFuIGJhY2tncm91bmQgbWVhbnQg Zm9yIHVzZSBvbiB0aGUgZnJpbmdlIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5lZCB3aXRo IHRoZSBtYWluIGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRo ZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBt b2R1cy10aGVtZS1udWFuY2VkLXJlZCBuaWwNCisgICJBIG51YW5jZWQgcmVkIGJhY2tncm91bmQu DQorVGhpcyBkb2VzIG5vdCBzcGVjaWZ5IGEgZm9yZWdyb3VuZCBvZiBpdHMgb3duLiAgSW5zdGVh ZCBpdCBpcyBtZWFudCB0bw0KK3NlcnZlIGFzIHRoZSBiYWNrZHJvcCBmb3IgZWxlbWVudHMgc3Vj aCBhcyBPcmcgYmxvY2tzLCBoZWFkaW5ncywgYW5kIGFueQ0KK290aGVyIHN1cmZhY2UgdGhhdCBu ZWVkcyB0byByZXRhaW4gdGhlIGNvbG9ycyBvbiBkaXNwbGF5Lg0KKw0KK1RoZSBhY3R1YWwgc3R5 bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbiBuaWwNCisgICJBIG51YW5jZWQgZ3Jl ZW4gYmFja2dyb3VuZC4NCitUaGlzIGRvZXMgbm90IHNwZWNpZnkgYSBmb3JlZ3JvdW5kIG9mIGl0 cyBvd24uICBJbnN0ZWFkIGl0IGlzIG1lYW50IHRvDQorc2VydmUgYXMgdGhlIGJhY2tkcm9wIGZv ciBlbGVtZW50cyBzdWNoIGFzIE9yZyBibG9ja3MsIGhlYWRpbmdzLCBhbmQgYW55DQorb3RoZXIg c3VyZmFjZSB0aGF0IG5lZWRzIHRvIHJldGFpbiB0aGUgY29sb3JzIG9uIGRpc3BsYXkuDQorDQor VGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1m YWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdyBuaWwNCisg ICJBIG51YW5jZWQgeWVsbG93IGJhY2tncm91bmQuDQorVGhpcyBkb2VzIG5vdCBzcGVjaWZ5IGEg Zm9yZWdyb3VuZCBvZiBpdHMgb3duLiAgSW5zdGVhZCBpdCBpcyBtZWFudCB0bw0KK3NlcnZlIGFz IHRoZSBiYWNrZHJvcCBmb3IgZWxlbWVudHMgc3VjaCBhcyBPcmcgYmxvY2tzLCBoZWFkaW5ncywg YW5kIGFueQ0KK290aGVyIHN1cmZhY2UgdGhhdCBuZWVkcyB0byByZXRhaW4gdGhlIGNvbG9ycyBv biBkaXNwbGF5Lg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5 IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNl ZC1ibHVlIG5pbA0KKyAgIkEgbnVhbmNlZCBibHVlIGJhY2tncm91bmQuDQorVGhpcyBkb2VzIG5v dCBzcGVjaWZ5IGEgZm9yZWdyb3VuZCBvZiBpdHMgb3duLiAgSW5zdGVhZCBpdCBpcyBtZWFudCB0 bw0KK3NlcnZlIGFzIHRoZSBiYWNrZHJvcCBmb3IgZWxlbWVudHMgc3VjaCBhcyBPcmcgYmxvY2tz LCBoZWFkaW5ncywgYW5kIGFueQ0KK290aGVyIHN1cmZhY2UgdGhhdCBuZWVkcyB0byByZXRhaW4g dGhlIGNvbG9ycyBvbiBkaXNwbGF5Lg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFj ZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMt dGhlbWUtbnVhbmNlZC1tYWdlbnRhIG5pbA0KKyAgIkEgbnVhbmNlZCBtYWdlbnRhIGJhY2tncm91 bmQuDQorVGhpcyBkb2VzIG5vdCBzcGVjaWZ5IGEgZm9yZWdyb3VuZCBvZiBpdHMgb3duLiAgSW5z dGVhZCBpdCBpcyBtZWFudCB0bw0KK3NlcnZlIGFzIHRoZSBiYWNrZHJvcCBmb3IgZWxlbWVudHMg c3VjaCBhcyBPcmcgYmxvY2tzLCBoZWFkaW5ncywgYW5kIGFueQ0KK290aGVyIHN1cmZhY2UgdGhh dCBuZWVkcyB0byByZXRhaW4gdGhlIGNvbG9ycyBvbiBkaXNwbGF5Lg0KKw0KK1RoZSBhY3R1YWwg c3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQor DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuIG5pbA0KKyAgIkEgbnVhbmNlZCBj eWFuIGJhY2tncm91bmQuDQorVGhpcyBkb2VzIG5vdCBzcGVjaWZ5IGEgZm9yZWdyb3VuZCBvZiBp dHMgb3duLiAgSW5zdGVhZCBpdCBpcyBtZWFudCB0bw0KK3NlcnZlIGFzIHRoZSBiYWNrZHJvcCBm b3IgZWxlbWVudHMgc3VjaCBhcyBPcmcgYmxvY2tzLCBoZWFkaW5ncywgYW5kIGFueQ0KK290aGVy IHN1cmZhY2UgdGhhdCBuZWVkcyB0byByZXRhaW4gdGhlIGNvbG9ycyBvbiBkaXNwbGF5Lg0KKw0K K1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMt ZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIG5pbA0KKyAg IkNvbWJpbmVzIHRoZSAnc3BlY2lhbCBjb2xkJyBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHZh bHVlcy4NCitUaGlzIGlzIGludGVuZGVkIGZvciBjYXNlcyB3aGVuIGEgbmV1dHJhbCBncmF5IGJh Y2tncm91bmQgaXMgbm90DQorc3VpdGFibGUgYW5kIHdoZXJlIGEgY29tYmluYXRpb24gb2YgbW9y ZSBzYXR1cmF0ZWQgY29sb3JzIHdvdWxkIG5vdCBiZQ0KK2FwcHJvcHJpYXRlLg0KKw0KK1RoZSBh Y3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMn LiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkIG5pbA0KKyAgIkNvbWJp bmVzIHRoZSAnc3BlY2lhbCBtaWxkJyBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHZhbHVlcy4N CitUaGlzIGlzIGludGVuZGVkIGZvciBjYXNlcyB3aGVuIGEgbmV1dHJhbCBncmF5IGJhY2tncm91 bmQgaXMgbm90DQorc3VpdGFibGUgYW5kIHdoZXJlIGEgY29tYmluYXRpb24gb2YgbW9yZSBzYXR1 cmF0ZWQgY29sb3JzIHdvdWxkIG5vdCBiZQ0KK2FwcHJvcHJpYXRlLg0KKw0KK1RoZSBhY3R1YWwg c3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQor DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtIG5pbA0KKyAgIkNvbWJpbmVzIHRo ZSAnc3BlY2lhbCB3YXJtJyBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHZhbHVlcy4NCitUaGlz IGlzIGludGVuZGVkIGZvciBjYXNlcyB3aGVuIGEgbmV1dHJhbCBncmF5IGJhY2tncm91bmQgaXMg bm90DQorc3VpdGFibGUgYW5kIHdoZXJlIGEgY29tYmluYXRpb24gb2YgbW9yZSBzYXR1cmF0ZWQg Y29sb3JzIHdvdWxkIG5vdCBiZQ0KK2FwcHJvcHJpYXRlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtIG5pbA0KKyAgIkNvbWJpbmVzIHRoZSAnc3Bl Y2lhbCBjYWxtJyBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHZhbHVlcy4NCitUaGlzIGlzIGlu dGVuZGVkIGZvciBjYXNlcyB3aGVuIGEgbmV1dHJhbCBncmF5IGJhY2tncm91bmQgaXMgbm90DQor c3VpdGFibGUgYW5kIHdoZXJlIGEgY29tYmluYXRpb24gb2YgbW9yZSBzYXR1cmF0ZWQgY29sb3Jz IHdvdWxkIG5vdCBiZQ0KK2FwcHJvcHJpYXRlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0 aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtZGlmZi1hZGRlZCBuaWwNCisgICJDb21iaW5lcyBncmVlbiBjb2xvcnMgZm9y IHRoZSAnYWRkZWQnIHN0YXRlIGluIGRpZmZzLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBhcmUgY29u dGluZ2VudCBvbiB0aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRpZmZzJy4N CisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhl bWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCBuaWwN CisgICJDb21iaW5lcyB5ZWxsb3cgY29sb3JzIGZvciB0aGUgJ2NoYW5nZWQnIHN0YXRlIGluIGRp ZmZzLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWUgYXNz aWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRpZmZzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcg b2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZm YWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCBuaWwNCisgICJDb21iaW5lcyByZWQgY29sb3Jz IGZvciB0aGUgJ3JlbW92ZWQnIHN0YXRlIGluIGRpZmZzLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBh cmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRp ZmZzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9k dXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5l LWFkZGVkIG5pbA0KKyAgIkNvbWJpbmVzIGdyZWVuIGNvbG9ycyBmb3Igd29yZC13aXNlICdhZGRl ZCcgc3RhdGUgaW4gZGlmZnMuDQorVGhlIGFwcGxpZWQgY29sb3JzIGFyZSBjb250aW5nZW50IG9u IHRoZSB2YWx1ZSBhc3NpZ25lZCB0bw0KK2Btb2R1cy10aGVtZXMtZGlmZnMnLg0KKw0KK1RoZSBh Y3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMn LiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCBuaWwNCisg ICJDb21iaW5lcyB5ZWxsb3cgY29sb3JzIGZvciB3b3JkLXdpc2UgJ2NoYW5nZWQnIHN0YXRlIGlu IGRpZmZzLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWUg YXNzaWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRpZmZzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxp bmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhk ZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQgbmlsDQorICAiQ29tYmluZXMg cmVkIGNvbG9ycyBmb3Igd29yZC13aXNlICdyZW1vdmVkJyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUg YXBwbGllZCBjb2xvcnMgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQor YG1vZHVzLXRoZW1lcy1kaWZmcycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNl IGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1kaWZmLWZvY3VzLWFkZGVkIG5pbA0KKyAgIkNvbWJpbmVzIGdyZWVuIGNvbG9ycyBmb3Ig dGhlIGZvY3VzZWQgJ2FkZGVkJyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBwbGllZCBjb2xvcnMg YXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRoZW1lcy1k aWZmcycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1v ZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3Vz LWNoYW5nZWQgbmlsDQorICAiQ29tYmluZXMgeWVsbG93IGNvbG9ycyBmb3IgdGhlIGZvY3VzZWQg J2NoYW5nZWQnIHN0YXRlIGluLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBhcmUgY29udGluZ2VudCBv biB0aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRpZmZzJy4NCisNCitUaGUg YWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2Vz Jy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3ZlZCBuaWwNCisg ICJDb21iaW5lcyByZWQgY29sb3JzIGZvciB0aGUgZm9jdXNlZCAncmVtb3ZlZCcgc3RhdGUgaW4g ZGlmZnMuDQorVGhlIGFwcGxpZWQgY29sb3JzIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZSBh c3NpZ25lZCB0bw0KK2Btb2R1cy10aGVtZXMtZGlmZnMnLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nIG5pbA0KKyAgIkNvbWJpbmVzIGJsdWUgY29s b3JzIGZvciB0aGUgZGlmZiBodW5rIGhlYWRpbmcuDQorVGhlIGFwcGxpZWQgY29sb3JzIGFyZSBj b250aW5nZW50IG9uIHRoZSB2YWx1ZSBhc3NpZ25lZCB0bw0KK2Btb2R1cy10aGVtZXMtZGlmZnMn Lg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10 aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlciBu aWwNCisgICJHZW5lcmljIHN0eWxlIGZvciBzb21lIGVsZW1lbnRzIHRoYXQgZnVuY3Rpb24gbGlr ZSBoZWFkaW5ncy4NCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBg bW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstYWx0 IG5pbA0KKyAgIkNvbWJpbmVzIHllbGxvdyBjb2xvcnMgZm9yIG1hcmtpbmcgc3BlY2lhbCBsaW5l cw0KK1RoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBpbiBtb2RlcyBzdWNoIGFzIERpcmVkLCBJYnVm ZmVyLCBQcm9jZWQuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUg YnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJr LWRlbCBuaWwNCisgICJDb21iaW5lcyByZWQgY29sb3JzIGZvciBtYXJraW5nIGRlbGV0YWJsZSBs aW5lcw0KK1RoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBpbiBtb2RlcyBzdWNoIGFzIERpcmVkLCBJ YnVmZmVyLCBQcm9jZWQuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRv bmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1t YXJrLXNlbCBuaWwNCisgICJDb21iaW5lcyBncmVlbiBjb2xvcnMgZm9yIG1hcmtpbmcgbGluZXMN CitUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgaW4gbW9kZXMgc3VjaCBhcyBEaXJlZCwgSWJ1ZmZl ciwgUHJvY2VkLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5 IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFyay1z eW1ib2wgbmlsDQorICAiQXBwbGllcyBhIGJsdWUgY29sb3IgYW5kIG90aGVyIHN0eWxlcyBmb3Ig bWFyayBpbmRpY2F0b3JzLg0KK1RoaXMgaXMgaW50ZW5kZWQgZm9yIHVzZSBpbiBtb2RlcyBzdWNo IGFzIERpcmVkLCBJYnVmZmVyLCBQcm9jZWQuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRo ZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBt b2R1cy10aGVtZS1oZWFkaW5nLTEgbmlsDQorICAiR2VuZXJhbCBwdXJwb3NlIGZhY2UgZm9yIHVz ZSBpbiBoZWFkaW5ncyBsZXZlbCAxDQorVGhlIGV4YWN0IGF0dHJpYnV0ZXMgYXNzaWduZWQgdG8g dGhpcyBmYWNlIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZXMNCithc3NpZ25lZCB0byB0aGUg YG1vZHVzLXRoZW1lcy1oZWFkaW5ncycgdmFyaWFibGUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5n IG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVm ZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTIgbmlsDQorICAiR2VuZXJhbCBwdXJwb3NlIGZhY2Ug Zm9yIHVzZSBpbiBoZWFkaW5ncyBsZXZlbCAyLg0KK1RoZSBleGFjdCBhdHRyaWJ1dGVzIGFzc2ln bmVkIHRvIHRoaXMgZmFjZSBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWVzDQorYXNzaWduZWQg dG8gdGhlIGBtb2R1cy10aGVtZXMtaGVhZGluZ3MnIHZhcmlhYmxlLg0KKw0KK1RoZSBhY3R1YWwg c3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQor DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0zIG5pbA0KKyAgIkdlbmVyYWwgcHVycG9z ZSBmYWNlIGZvciB1c2UgaW4gaGVhZGluZ3MgbGV2ZWwgMy4NCitUaGUgZXhhY3QgYXR0cmlidXRl cyBhc3NpZ25lZCB0byB0aGlzIGZhY2UgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlcw0KK2Fz c2lnbmVkIHRvIHRoZSBgbW9kdXMtdGhlbWVzLWhlYWRpbmdzJyB2YXJpYWJsZS4NCisNCitUaGUg YWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2Vz Jy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctNCBuaWwNCisgICJHZW5lcmFs IHB1cnBvc2UgZmFjZSBmb3IgdXNlIGluIGhlYWRpbmdzIGxldmVsIDQuDQorVGhlIGV4YWN0IGF0 dHJpYnV0ZXMgYXNzaWduZWQgdG8gdGhpcyBmYWNlIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1 ZXMNCithc3NpZ25lZCB0byB0aGUgYG1vZHVzLXRoZW1lcy1oZWFkaW5ncycgdmFyaWFibGUuDQor DQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1l cy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTUgbmlsDQorICAi R2VuZXJhbCBwdXJwb3NlIGZhY2UgZm9yIHVzZSBpbiBoZWFkaW5ncyBsZXZlbCA1Lg0KK1RoZSBl eGFjdCBhdHRyaWJ1dGVzIGFzc2lnbmVkIHRvIHRoaXMgZmFjZSBhcmUgY29udGluZ2VudCBvbiB0 aGUgdmFsdWVzDQorYXNzaWduZWQgdG8gdGhlIGBtb2R1cy10aGVtZXMtaGVhZGluZ3MnIHZhcmlh YmxlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1 cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy02IG5p bA0KKyAgIkdlbmVyYWwgcHVycG9zZSBmYWNlIGZvciB1c2UgaW4gaGVhZGluZ3MgbGV2ZWwgNi4N CitUaGUgZXhhY3QgYXR0cmlidXRlcyBhc3NpZ25lZCB0byB0aGlzIGZhY2UgYXJlIGNvbnRpbmdl bnQgb24gdGhlIHZhbHVlcw0KK2Fzc2lnbmVkIHRvIHRoZSBgbW9kdXMtdGhlbWVzLWhlYWRpbmdz JyB2YXJpYWJsZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBi eSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRp bmctNyBuaWwNCisgICJHZW5lcmFsIHB1cnBvc2UgZmFjZSBmb3IgdXNlIGluIGhlYWRpbmdzIGxl dmVsIDcuDQorVGhlIGV4YWN0IGF0dHJpYnV0ZXMgYXNzaWduZWQgdG8gdGhpcyBmYWNlIGFyZSBj b250aW5nZW50IG9uIHRoZSB2YWx1ZXMNCithc3NpZ25lZCB0byB0aGUgYG1vZHVzLXRoZW1lcy1o ZWFkaW5ncycgdmFyaWFibGUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlz IGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVt ZS1oZWFkaW5nLTggbmlsDQorICAiR2VuZXJhbCBwdXJwb3NlIGZhY2UgZm9yIHVzZSBpbiBoZWFk aW5ncyBsZXZlbCA4Lg0KK1RoZSBleGFjdCBhdHRyaWJ1dGVzIGFzc2lnbmVkIHRvIHRoaXMgZmFj ZSBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWVzDQorYXNzaWduZWQgdG8gdGhlIGBtb2R1cy10 aGVtZXMtaGVhZGluZ3MnIHZhcmlhYmxlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUg ZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9k dXMtdGhlbWUtaGwtbGluZSBuaWwNCisgICJHZW5lcmFsIHB1cnBvc2UgZmFjZSBmb3IgdGhlIGN1 cnJlbnQgbGluZS4NCitUaGUgZXhhY3QgYXR0cmlidXRlcyBhc3NpZ25lZCB0byB0aGlzIGZhY2Ug YXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlcw0KK2Fzc2lnbmVkIHRvIHRoZSBgbW9kdXMtdGhl bWVzLWludGVuc2UtaGwtbGluZScgdmFyaWFibGUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9m IHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFj ZSBtb2R1cy10aGVtZS1ib2xkIG5pbA0KKyAgIkdlbmVyaWMgZmFjZSBmb3IgYXBwbHlpbmcgYSBj b25kaXRpb25hbCBib2xkIHdlaWdodC4NCitUaGlzIGJlaGF2ZXMgaW4gYWNjb3JkYW5jZSB3aXRo IGBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcg b2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZm YWNlIG1vZHVzLXRoZW1lLXNsYW50IG5pbA0KKyAgIkdlbmVyaWMgZmFjZSBmb3IgYXBwbHlpbmcg YSBjb25kaXRpb25hbCBzbGFudCAoaXRhbGljcykuDQorVGhpcyBiZWhhdmVzIGluIGFjY29yZGFu Y2Ugd2l0aCBgbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cycuDQorDQorVGhlIGFjdHVh bCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikN CisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCBuaWwNCisgICJHZW5lcmlj IGZhY2UgZm9yIGFwcGx5aW5nIGEgY29uZGl0aW9uYWwgYHZhcmlhYmxlLXBpdGNoJy4NCitUaGlz IGJlaGF2ZXMgaW4gYWNjb3JkYW5jZSB3aXRoIGBtb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMn LA0KK2Btb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MnIGZvciBhbGwgaGVhZGlu ZyBsZXZlbHMsIGFuZA0KK2Btb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtdWknLg0KKw0KK1Ro ZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFj ZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZ3JhcGgtcmVkLTAgbmlsDQorICAiU3Bl Y2lhbCBzdWJkdWVkIHJlZCBmYWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5k ZWQgdG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0 DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2 YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtZ3JhcGgtcmVkLTEgbmlsDQorICAiU3BlY2lhbCBwcm9taW5lbnQg cmVkIGZhY2UgZm9yIHVzZSBpbiBncmFwaHMuDQorVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBhcHBs aWVkIGluIGNvbnRleHRzIHN1Y2ggYXMgdGhlIE9yZyBhZ2VuZGEgaGFiaXQNCitncmFwaCB3aGVy ZSBmYWl0aGZ1bG5lc3MgdG8gdGhlIHNlbWFudGljcyBvZiBhIGNvbG9yIHZhbHVlIGlzIG9mDQor cGFyYW1vdW50IGltcG9ydGFuY2UuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNl IGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1ncmFwaC1ncmVlbi0wIG5pbA0KKyAgIlNwZWNpYWwgc3ViZHVlZCBncmVlbiBmYWNlIGZv ciB1c2UgaW4gZ3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCBpbiBjb250 ZXh0cyBzdWNoIGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxu ZXNzIHRvIHRoZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBp bXBvcnRhbmNlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5 IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZ3JhcGgt Z3JlZW4tMSBuaWwNCisgICJTcGVjaWFsIHByb21pbmVudCBncmVlbiBmYWNlIGZvciB1c2UgaW4g Z3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNo IGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRo ZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNl Lg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10 aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZ3JhcGgteWVsbG93LTAg bmlsDQorICAiU3BlY2lhbCBzdWJkdWVkIHllbGxvdyBmYWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0K K1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRoZSBP cmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRp Y3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0KK1Ro ZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFj ZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZ3JhcGgteWVsbG93LTEgbmlsDQorICAi U3BlY2lhbCBwcm9taW5lbnQgeWVsbG93IGZhY2UgZm9yIHVzZSBpbiBncmFwaHMuDQorVGhpcyBp cyBpbnRlbmRlZCB0byBiZSBhcHBsaWVkIGluIGNvbnRleHRzIHN1Y2ggYXMgdGhlIE9yZyBhZ2Vu ZGEgaGFiaXQNCitncmFwaCB3aGVyZSBmYWl0aGZ1bG5lc3MgdG8gdGhlIHNlbWFudGljcyBvZiBh IGNvbG9yIHZhbHVlIGlzIG9mDQorcGFyYW1vdW50IGltcG9ydGFuY2UuDQorDQorVGhlIGFjdHVh bCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikN CisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1ncmFwaC1ibHVlLTAgbmlsDQorICAiU3BlY2lhbCBz dWJkdWVkIGJsdWUgZmFjZSBmb3IgdXNlIGluIGdyYXBocy4NCitUaGlzIGlzIGludGVuZGVkIHRv IGJlIGFwcGxpZWQgaW4gY29udGV4dHMgc3VjaCBhcyB0aGUgT3JnIGFnZW5kYSBoYWJpdA0KK2dy YXBoIHdoZXJlIGZhaXRoZnVsbmVzcyB0byB0aGUgc2VtYW50aWNzIG9mIGEgY29sb3IgdmFsdWUg aXMgb2YNCitwYXJhbW91bnQgaW1wb3J0YW5jZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2Yg dGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNl IG1vZHVzLXRoZW1lLWdyYXBoLWJsdWUtMSBuaWwNCisgICJTcGVjaWFsIHByb21pbmVudCBibHVl IGZhY2UgZm9yIHVzZSBpbiBncmFwaHMuDQorVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBhcHBsaWVk IGluIGNvbnRleHRzIHN1Y2ggYXMgdGhlIE9yZyBhZ2VuZGEgaGFiaXQNCitncmFwaCB3aGVyZSBm YWl0aGZ1bG5lc3MgdG8gdGhlIHNlbWFudGljcyBvZiBhIGNvbG9yIHZhbHVlIGlzIG9mDQorcGFy YW1vdW50IGltcG9ydGFuY2UuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlz IGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVt ZS1ncmFwaC1tYWdlbnRhLTAgbmlsDQorICAiU3BlY2lhbCBzdWJkdWVkIG1hZ2VudGEgZmFjZSBm b3IgdXNlIGluIGdyYXBocy4NCitUaGlzIGlzIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgaW4gY29u dGV4dHMgc3VjaCBhcyB0aGUgT3JnIGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJlIGZhaXRoZnVs bmVzcyB0byB0aGUgc2VtYW50aWNzIG9mIGEgY29sb3IgdmFsdWUgaXMgb2YNCitwYXJhbW91bnQg aW1wb3J0YW5jZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBi eSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBo LW1hZ2VudGEtMSBuaWwNCisgICJTcGVjaWFsIHByb21pbmVudCBtYWdlbnRhIGZhY2UgZm9yIHVz ZSBpbiBncmFwaHMuDQorVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBhcHBsaWVkIGluIGNvbnRleHRz IHN1Y2ggYXMgdGhlIE9yZyBhZ2VuZGEgaGFiaXQNCitncmFwaCB3aGVyZSBmYWl0aGZ1bG5lc3Mg dG8gdGhlIHNlbWFudGljcyBvZiBhIGNvbG9yIHZhbHVlIGlzIG9mDQorcGFyYW1vdW50IGltcG9y dGFuY2UuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1v ZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1ncmFwaC1jeWFu LTAgbmlsDQorICAiU3BlY2lhbCBzdWJkdWVkIGN5YW4gZmFjZSBmb3IgdXNlIGluIGdyYXBocy4N CitUaGlzIGlzIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgaW4gY29udGV4dHMgc3VjaCBhcyB0aGUg T3JnIGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJlIGZhaXRoZnVsbmVzcyB0byB0aGUgc2VtYW50 aWNzIG9mIGEgY29sb3IgdmFsdWUgaXMgb2YNCitwYXJhbW91bnQgaW1wb3J0YW5jZS4NCisNCitU aGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZh Y2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBoLWN5YW4tMSBuaWwNCisgICJT cGVjaWFsIHByb21pbmVudCBjeWFuIGZhY2UgZm9yIHVzZSBpbiBncmFwaHMuDQorVGhpcyBpcyBp bnRlbmRlZCB0byBiZSBhcHBsaWVkIGluIGNvbnRleHRzIHN1Y2ggYXMgdGhlIE9yZyBhZ2VuZGEg aGFiaXQNCitncmFwaCB3aGVyZSBmYWl0aGZ1bG5lc3MgdG8gdGhlIHNlbWFudGljcyBvZiBhIGNv bG9yIHZhbHVlIGlzIG9mDQorcGFyYW1vdW50IGltcG9ydGFuY2UuDQorDQorVGhlIGFjdHVhbCBz dHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisN CisoZGVmZmFjZSBtb2R1cy10aGVtZS1sYW5nLW5vdGUgbmlsDQorICAiR2VuZXJpYyBmYWNlIGZv ciBsaW50ZXIgb3Igc3BlbGwgY2hlY2tlciBub3Rlcy4NCitUaGUgZXhhY3QgYXR0cmlidXRlcyBh bmQgY29sb3IgY29tYmluYXRpb25zIGFyZSBjb250cm9sbGVkIGJ5DQorYG1vZHVzLXRoZW1lcy1s YW5nLWNoZWNrZXJzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWxh bmctd2FybmluZyBuaWwNCisgICJHZW5lcmljIGZhY2UgZm9yIGxpbnRlciBvciBzcGVsbCBjaGVj a2VyIHdhcm5pbmdzLg0KK1RoZSBleGFjdCBhdHRyaWJ1dGVzIGFuZCBjb2xvciBjb21iaW5hdGlv bnMgYXJlIGNvbnRyb2xsZWQgYnkNCitgbW9kdXMtdGhlbWVzLWxhbmctY2hlY2tlcnMnLg0KKw0K K1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMt ZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbGFuZy1lcnJvciBuaWwNCisgICJH ZW5lcmljIGZhY2UgZm9yIGxpbnRlciBvciBzcGVsbCBjaGVja2VyIGVycm9ycy4NCitUaGUgZXhh Y3QgYXR0cmlidXRlcyBhbmQgY29sb3IgY29tYmluYXRpb25zIGFyZSBjb250cm9sbGVkIGJ5DQor YG1vZHVzLXRoZW1lcy1sYW5nLWNoZWNrZXJzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2Yg dGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKwwNCisNCis7 OzsgQ3VzdG9taXphdGlvbiBvcHRpb25zDQorDQorOzs7OyBDdXJyZW50IGN1c3RvbWl6YXRpb24g b3B0aW9ucyAoPj0gMS4wLjApDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtb3BlcmFuZGkt Y29sb3Itb3ZlcnJpZGVzIG5pbA0KKyAgIk92ZXJyaWRlIGNvbG9ycyBpbiB0aGUgTW9kdXMgT3Bl cmFuZGkgcGFsZXR0ZS4NCisNCitGb3IgZm9ybSwgc2VlIGBtb2R1cy10aGVtZXMtb3BlcmFuZGkt Y29sb3JzJy4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAn KG1vZHVzLXRoZW1lcyAuICIxLjEuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICco YWxpc3QgOmtleS10eXBlIHN5bWJvbCA6dmFsdWUtdHlwZSBjb2xvcikNCisgIDpsaW5rICcoaW5m by1saW5rICIobW9kdXMtdGhlbWVzKSBPdmVycmlkZSBjb2xvcnMgKERJWSkiKSkNCisNCisoZGVm Y3VzdG9tIG1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yLW92ZXJyaWRlcyBuaWwNCisgICJPdmVy cmlkZSBjb2xvcnMgaW4gdGhlIE1vZHVzIFZpdmVuZGkgcGFsZXR0ZS4NCisNCitGb3IgZm9ybSwg c2VlIGBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnMnLiINCisgIDpncm91cCAnbW9kdXMtdGhl bWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMS4wIikNCisgIDp2 ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhhbGlzdCA6a2V5LXR5cGUgc3ltYm9sIDp2YWx1ZS10 eXBlIGNvbG9yKQ0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIE92ZXJyaWRl IGNvbG9ycyAoRElZKSIpKQ0KKw0KKzs7IFRoZSBieXRlIGNvbXBpbGVyIGNvbXBsYWlucyB3aGVu IGEgZGVmY3VzdG9tIGlzbid0IGEgdG9wIGxldmVsIGZvcm0NCisobGV0KiAoKG5hbWVzIChtYXBj YXIgKGxhbWJkYSAocGFpcikNCisgICAgICAgICAgICAgICAgICAgICAgICAoc3ltYm9sLW5hbWUg KGNhciBwYWlyKSkpDQorICAgICAgICAgICAgICAgICAgICAgIG1vZHVzLXRoZW1lcy1vcGVyYW5k aS1jb2xvcnMpKQ0KKyAgICAgICAoY29sb3JzIChtYXBjYXIgIydpbnRlcm4gKHNvcnQgbmFtZXMg IydzdHJpbmc8KSkpKQ0KKyAgKHB1dCAnbW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9yLW92ZXJy aWRlcw0KKyAgICAgICAnY3VzdG9tLW9wdGlvbnMgKGNvcHktc2VxdWVuY2UgY29sb3JzKSkNCisg IChwdXQgJ21vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yLW92ZXJyaWRlcw0KKyAgICAgICAnY3Vz dG9tLW9wdGlvbnMgKGNvcHktc2VxdWVuY2UgY29sb3JzKSkpDQorDQorKGRlZmN1c3RvbSBtb2R1 cy10aGVtZXMtc2xhbnRlZC1jb25zdHJ1Y3RzIG5pbA0KKyAgIlVzZSBzbGFudGVkIHRleHQgaW4g bW9yZSBjb2RlIGNvbnN0cnVjdHMgKGl0YWxpY3Mgb3Igb2JsaXF1ZSkuIg0KKyAgOmdyb3VwICdt b2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAi KQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnYm9vbGVhbg0KKyAgOmxpbmsgJyhpbmZv LWxpbmsgIihtb2R1cy10aGVtZXMpIFNsYW50ZWQgY29uc3RydWN0cyIpKQ0KKw0KKyhkZWZjdXN0 b20gbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyBuaWwNCisgICJVc2UgYm9sZCB0ZXh0IGlu IG1vcmUgY29kZSBjb25zdHJ1Y3RzLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVz KSBCb2xkIGNvbnN0cnVjdHMiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy12YXJpYWJs ZS1waXRjaC1oZWFkaW5ncyBuaWwNCisgICJVc2UgcHJvcG9ydGlvbmFsIGZvbnRzICh2YXJpYWJs ZS1waXRjaCkgaW4gaGVhZGluZ3MuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNr YWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEi DQorICA6dHlwZSAnYm9vbGVhbg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMp IEhlYWRpbmdzJyB0eXBlZmFjZSIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXZhcmlh YmxlLXBpdGNoLXVpIG5pbA0KKyAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMgKHZhcmlhYmxlLXBp dGNoKSBpbiBVSSBlbGVtZW50cy4NCitUaGlzIGluY2x1ZGVzIHRoZSBtb2RlIGxpbmUsIGhlYWRl ciBsaW5lLCB0YWIgYmFyLCBhbmQgdGFiIGxpbmUuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMN CisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4xLjAiKQ0KKyAgOnZlcnNp b24gIjI4LjEiDQorICA6dHlwZSAnYm9vbGVhbg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1 cy10aGVtZXMpIFVJIHR5cGVmYWNlIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtbm8t bWl4ZWQtZm9udHMgbmlsDQorICAiRGlzYWJsZSBpbmhlcml0YW5jZSBmcm9tIGBmaXhlZC1waXRj aCcgaW4gc29tZSBmYWNlcy4NCisNCitUaGlzIGlzIGRvbmUgYnkgZGVmYXVsdCB0byBhbGxvdyBz cGFjaW5nLXNlbnNpdGl2ZSBjb25zdHJ1Y3RzLA0KK3N1Y2ggYXMgT3JnIHRhYmxlcyBhbmQgY29k ZSBibG9ja3MsIHRvIHJlbWFpbiBtb25vc3BhY2VkIHdoZW4NCit1c2VycyBvcHQgZm9yIHNvbWV0 aGluZyBsaWtlIHRoZSBjb21tYW5kIGB2YXJpYWJsZS1waXRjaC1tb2RlJy4NCitUaGUgZG93bnNp ZGUgd2l0aCB0aGUgZGVmYXVsdCBpcyB0aGF0IHVzZXJzIG5lZWQgdG8gZXhwbGljaXRseQ0KK2Nv bmZpZ3VyZSB0aGUgZm9udCBmYW1pbHkgb2YgYGZpeGVkLXBpdGNoJyBpbiBvcmRlciB0byBnZXQg YQ0KK2NvbnNpc3RlbnQgZXhwZXJpZW5jZS4gIFRoYXQgbWF5IGJlIHNvbWV0aGluZyB0aGV5IGRv IG5vdCB3YW50IHRvDQorZG8uICBIZW5jZSB0aGlzIG9wdGlvbiB0byBkaXNhYmxlIGFueSBraW5k IG9mIHRlY2huaXF1ZSBmb3INCittaXhpbmcgZm9udHMuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVt ZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZl cnNpb24gIjI4LjEiDQorICA6dHlwZSAnYm9vbGVhbg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIiht b2R1cy10aGVtZXMpIE5vIG1peGVkIGZvbnRzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVt ZXMtaGVhZGluZ3MNCisgICcoKHQgLiBuaWwpKQ0KKyAgIkFsaXN0IG9mIHN0eWxlcyBmb3IgaGVh ZGluZ3MsIHdpdGggb3B0aW9uYWwgdmFsdWUgcGVyIGxldmVsLg0KKw0KK1RvIGNvbnRyb2wgZmFj ZXMgcGVyIGxldmVsIGZyb20gMS04LCB1c2Ugc29tZXRoaW5nIGxpa2UgdGhpczoNCisNCisgIChz ZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAgICAgICAgJygoMSAuIGhpZ2hsaWdodCkNCisg ICAgICAgICAgKDIgLiBsaW5lKQ0KKyAgICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1uby1ib2xk KSkpDQorDQorVG8gc2V0IGEgdW5pZm9ybSB2YWx1ZSBmb3IgYWxsIGhlYWRpbmcgbGV2ZWxzLCB1 c2UgdGhpcyBwYXR0ZXJuOg0KKw0KKyAgKHNldHEgbW9kdXMtdGhlbWVzLWhlYWRpbmdzDQorICAg ICAgICAnKCh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCisNCitUaGUgZGVmYXVsdCB1c2Vz IGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgdmFsdWUgaW4NCitjb21iaW5hdGlvbiB3 aXRoIGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBUbyBzcGVjaWZ5IHRoaXMNCitzdHlsZSBm b3IgYSBnaXZlbiBsZXZlbCBOIChhc3N1bWluZyB5b3Ugd2lzaCB0byBoYXZlIGFub3RoZXINCitm YWxsYmFjayBvcHRpb24pLCBqdXN0IHNwZWNpZnkgdGhlIHZhbHVlIHQgbGlrZSB0aGlzOg0KKw0K KyAgKHNldHEgbW9kdXMtdGhlbWVzLWhlYWRpbmdzDQorICAgICAgICAnKCgxIC4gdCkNCisgICAg ICAgICAgKDIgLiBsaW5lKQ0KKyAgICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkp DQorDQorQSBkZXNjcmlwdGlvbiBvZiBhbGwgcG9zc2libGUgdmFsdWVzOg0KKw0KKysgYG5vLWJv bGQnIHJldGFpbnMgdGhlIGRlZmF1bHQgdGV4dCBjb2xvciB3aGlsZSByZW1vdmluZyB0aGUNCisg IHR5cG9ncmFwaGljIHdlaWdodC4NCisNCisrIGBsaW5lJyBpcyB0aGUgc2FtZSBhcyB0aGUgZGVm YXVsdCBwbHVzIGFuIG92ZXJsaW5lIG92ZXIgdGhlDQorICBoZWFkaW5nLg0KKw0KKysgYGxpbmUt bm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQuDQorDQor KyBgcmFpbmJvdycgdXNlcyBhIG1vcmUgY29sb3JmdWwgZm9yZWdyb3VuZCBpbiBjb21iaW5hdGlv biB3aXRoDQorICBib2xkIHdlaWdodC4NCisNCisrIGByYWluYm93LWxpbmUnIGlzIHRoZSBzYW1l IGFzIGByYWluYm93JyBwbHVzIGFuIG92ZXJsaW5lLg0KKw0KKysgYHJhaW5ib3ctbGluZS1uby1i b2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdy1saW5lJyB3aXRob3V0DQorICB0aGUgYm9sZCB3 ZWlnaHQuDQorDQorKyBgaGlnaGxpZ2h0JyByZXRhaW5zIHRoZSBkZWZhdWx0IHN0eWxlIG9mIGEg ZmFpcmx5IGRlc2F0dXJhdGVkDQorICBmb3JlZ3JvdW5kIGNvbWJpbmVkIHdpdGggYSBib2xkIHdl aWdodCBhbmQgYWRkIHRvIGl0IGEgc3VidGxlDQorICBhY2NlbnRlZCBiYWNrZ3JvdW5kLg0KKw0K KysgYGhpZ2hsaWdodC1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgaGlnaGxpZ2h0JyB3aXRob3V0 IGEgYm9sZA0KKyAgd2VpZ2h0Lg0KKw0KKysgYHJhaW5ib3ctaGlnaGxpZ2h0JyBpcyB0aGUgc2Ft ZSBhcyBgaGlnaGxpZ2h0JyBidXQgd2l0aCBhIG1vcmUNCisgIGNvbG9yZnVsIGZvcmVncm91bmQu DQorDQorKyBgcmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5i b3ctaGlnaGxpZ2h0Jw0KKyAgd2l0aG91dCBhIGJvbGQgd2VpZ2h0Lg0KKw0KKysgYHNlY3Rpb24n IHJldGFpbnMgdGhlIGRlZmF1bHQgbG9va3MgYW5kIGFkZHMgdG8gdGhlbSBib3RoIGFuDQorICBv dmVybGluZSBhbmQgYSBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kLiAgSXQgaXMsIGluIGVm ZmVjdCwNCisgIGEgY29tYmluYXRpb24gb2YgdGhlIGBsaW5lJyBhbmQgYGhpZ2hsaWdodCcgdmFs dWVzLg0KKw0KKysgYHNlY3Rpb24tbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHNlY3Rpb24nIHdp dGhvdXQgYSBib2xkDQorICB3ZWlnaHQuDQorDQorKyBgcmFpbmJvdy1zZWN0aW9uJyBpcyB0aGUg c2FtZSBhcyBgc2VjdGlvbicgYnV0IHdpdGggYSBtb3JlDQorICBjb2xvcmZ1bCBmb3JlZ3JvdW5k Lg0KKw0KKysgYHJhaW5ib3ctc2VjdGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJv dy1zZWN0aW9uJw0KKyAgd2l0aG91dCBhIGJvbGQgd2VpZ2h0Lg0KKw0KKysgYG5vLWNvbG9yJyBk b2VzIG5vdCBhcHBseSBhbnkgY29sb3IgdG8gdGhlIGhlYWRpbmcsIG1lYW5pbmcNCisgIHRoYXQg aXQgdXNlcyB0aGUgZm9yZWdyb3VuZCBvZiB0aGUgYGRlZmF1bHQnIGZhY2UuICBJdCBzdGlsbA0K KyAgcmVuZGVycyB0aGUgdGV4dCB3aXRoIGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuDQorDQor KyBgbm8tY29sb3Itbm8tYm9sZCcgaXMgbGlrZSBgbm8tY29sb3InIGJ1dCB3aXRob3V0IHRoZSBi b2xkDQorICB3ZWlnaHQuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZl cnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6 dHlwZQ0KKyAgJyhhbGlzdA0KKyAgICA6a2V5LXR5cGUgc3ltYm9sDQorICAgIDp2YWx1ZS10eXBl DQorICAgIChjaG9pY2UgKGNvbnN0IDp0YWcgIkZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5k IHdpdGggYm9sZCB3ZWlnaHQgKGRlZmF1bHQpIiB0KQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFn ICJMaWtlIHRoZSBkZWZhdWx0IHdpdGhvdXQgYm9sZCB3ZWlnaHQiIG5vLWJvbGQpDQorICAgICAg ICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgcGx1cyBvdmVybGluZSIgbGluZSkN CisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgbGluZScgd2l0aG91dCBib2xkIHdlaWdo dCIgbGluZS1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZh dWx0IGJ1dCB3aXRoIG1vcmUgY29sb3JmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdykNCisgICAgICAg ICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycgcGx1cyBvdmVybGluZSIgcmFpbmJvdy1s aW5lKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93JyB3aXRob3V0IGJv bGQgd2VpZ2h0IiByYWluYm93LW5vLWJvbGQpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgYHJhaW5ib3ctbGluZScgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1saW5lLW5vLWJv bGQpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgcGx1cyBzdWJ0 bGUgYmFja2dyb3VuZCIgaGlnaGxpZ2h0KQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtl IGBoaWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIGhpZ2hsaWdodC1uby1ib2xkKQ0KKyAg ICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHdpdGggbW9yZSBjb2xvcmZ1 bCBmb3JlZ3JvdW5kIiByYWluYm93LWhpZ2hsaWdodCkNCisgICAgICAgICAgICAoY29uc3QgOnRh ZyAiTGlrZSBgcmFpbmJvdy1oaWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ct aGlnaGxpZ2h0LW5vLWJvbGQpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGhpZ2hs aWdodCcgcGx1cyBvdmVybGluZSIgc2VjdGlvbikNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAi TGlrZSBgc2VjdGlvbicgd2l0aG91dCBib2xkIHdlaWdodCIgc2VjdGlvbi1uby1ib2xkKQ0KKyAg ICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBzZWN0aW9uJyB3aXRoIG1vcmUgY29sb3JmdWwg Zm9yZWdyb3VuZCIgcmFpbmJvdy1zZWN0aW9uKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJM aWtlIGByYWluYm93LXNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ctc2VjdGlv bi1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJEbyBub3QgdXNlIGFueSBkaXN0 aW5jdCBmb3JlZ3JvdW5kIGNvbG9yOyBqdXN0IGJvbGQgd2VpZ2h0IiBuby1jb2xvcikNCisgICAg ICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgbm8tYm9sZCcgYnV0IHdpdGhvdXQgdGhlIGRpc3Rp bmN0IGZvcmVncm91bmQgY29sb3IiIG5vLWNvbG9yLW5vLWJvbGQpKSkNCisgIDpsaW5rICcoaW5m by1saW5rICIobW9kdXMtdGhlbWVzKSBIZWFkaW5nIHN0eWxlcyIpKQ0KKw0KKyhkZWZjdXN0b20g bW9kdXMtdGhlbWVzLXNjYWxlLWhlYWRpbmdzIG5pbA0KKyAgIlVzZSBmb250IHNjYWxpbmcgZm9y IGhlYWRpbmdzLg0KKw0KK0ZvciByZWd1bGFyIGhlYWRpbmdzIHRoZSBzY2FsZSBpcyBjb250cm9s bGVkIGJ5IHRoZSB2YXJpYWJsZXMNCitgbW9kdXMtdGhlbWVzLXNjYWxlLTEnIChzbWFsbGVzdCkg YW5kIGl0cyB2YXJpYW50cyBhbGwgdGhlIHdheSB1cA0KK3RvIGBtb2R1cy10aGVtZXMtc2NhbGUt NCcgKGxhcmdlcikuICBXaGlsZSBgbW9kdXMtdGhlbWVzLXNjYWxlLTUnDQoraXMgcmVzZXJ2ZWQg Zm9yIHNwZWNpYWwgaGVhZGluZ3MgdGhhdCBtdXN0IGJlIHRoZSBsYXJnZXN0IG9uIHRoZQ0KK3Nj YWxlLg0KKw0KK0Egc3BlY2lhbCBoZWFkaW5nIGlzLCBpbiB0aGlzIGNvbnRleHQsIG9uZSB0aGF0 IGRvZXMgbm90IGZpdCBpbnRvDQordGhlIHN5bnRheCBmb3IgaGVhZGluZyBsZXZlbHMgdGhhdCBh cHBseSB0byB0aGUgZ2l2ZW4gbW9kZS4gIEZvcg0KK2V4YW1wbGUsIE9yZydzICMrdGl0bGUga2V5 d29yZCBsaWVzIG91dHNpZGUgdGhlIG5vcm1hbCBlaWdodA0KK2xldmVscyBvZiBoZWFkaW5ncy4g IFdoZXJlYXMsIHNheSwgTWFya2Rvd24gZG9lcyBub3QgaGF2ZSBzdWNoIGENCitzcGVjaWFsIGhl YWRpbmcuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyht b2R1cy10aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnYm9v bGVhbg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIFNjYWxlZCBoZWFkaW5n cyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXNjYWxlLTEgMS4wNQ0KKyAgIkZvbnQg c2l6ZSB0aGF0IGlzIHNsaWdodGx5IGxhcmdlciB0aGFuIHRoZSBiYXNlIHZhbHVlLg0KKw0KK1Ro aXMgc2l6ZSBpcyB1c2VkIGZvciBsZXZlbCA0IGhlYWRpbmdzLCBzdWNoIGFzIGluIE9yZyBhbmQN CitNYXJrZG93biBmaWxlcy4NCisNCitUaGUgZGVmYXVsdCB2YWx1ZSBpcyBhIGZsb2F0aW5nIHBv aW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYQ0KK211bHRpcGxlIG9mIHRoZSBiYXNlIGZvbnQg c2l6ZS4gIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBzdWNoIGENCit2YWx1ZS4NCisNCitIb3dl dmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuIGludGVnZXIsIHVuZGVyc3Rvb2QgYXMg YW4NCithYnNvbHV0ZSBoZWlnaHQgdGhhdCBpcyAxLzEwIG9mIHRoZSB0eXBlZmFjZSdzIHBvaW50 IHNpemUgKGUuZy4gYQ0KK3ZhbHVlIG9mIDE0MCBpcyB0aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBm b250IGF0IDE0IHBvaW50IHNpemUpLg0KK1RoaXMgd2lsbCBpZ25vcmUgdGhlIGJhc2UgZm9udCBz aXplIGFuZCwgdGh1cywgd2lsbCBub3Qgc2NhbGUgaW4NCithY2NvcmRhbmNlIHdpdGggaXQgaW4g Y2FzZXMgd2hlcmUgaXQgY2hhbmdlcywgc3VjaCBhcyB3aGlsZSB1c2luZw0KK2B0ZXh0LXNjYWxl LWFkanVzdCcuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24g Jyhtb2R1cy10aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAn bnVtYmVyDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgU2NhbGVkIGhlYWRp bmcgc2l6ZXMiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS0yIDEuMQ0KKyAg IkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtdGhlbWVzLXNjYWxlLTEnLg0K Kw0KK1RoaXMgc2l6ZSBpcyB1c2VkIGZvciBsZXZlbCAzIGhlYWRpbmdzLCBzdWNoIGFzIGluIE9y ZyBhbmQNCitNYXJrZG93biBmaWxlcy4NCisNCitUaGUgZGVmYXVsdCB2YWx1ZSBpcyBhIGZsb2F0 aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYQ0KK211bHRpcGxlIG9mIHRoZSBiYXNl IGZvbnQgc2l6ZS4gIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBzdWNoIGENCit2YWx1ZS4NCisN CitIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuIGludGVnZXIsIHVuZGVyc3Rv b2QgYXMgYW4NCithYnNvbHV0ZSBoZWlnaHQgdGhhdCBpcyAxLzEwIG9mIHRoZSB0eXBlZmFjZSdz IHBvaW50IHNpemUgKGUuZy4gYQ0KK3ZhbHVlIG9mIDE0MCBpcyB0aGUgc2FtZSBhcyBzZXR0aW5n IHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KK1RoaXMgd2lsbCBpZ25vcmUgdGhlIGJhc2Ug Zm9udCBzaXplIGFuZCwgdGh1cywgd2lsbCBub3Qgc2NhbGUgaW4NCithY2NvcmRhbmNlIHdpdGgg aXQgaW4gY2FzZXMgd2hlcmUgaXQgY2hhbmdlcywgc3VjaCBhcyB3aGlsZSB1c2luZw0KK2B0ZXh0 LXNjYWxlLWFkanVzdCcuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZl cnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6 dHlwZSAnbnVtYmVyDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgU2NhbGVk IGhlYWRpbmcgc2l6ZXMiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS0zIDEu MTUNCisgICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXRoZW1lcy1zY2Fs ZS0yJy4NCisNCitUaGlzIHNpemUgaXMgdXNlZCBmb3IgbGV2ZWwgMiBoZWFkaW5ncywgc3VjaCBh cyBpbiBPcmcgYW5kDQorTWFya2Rvd24gZmlsZXMuDQorDQorVGhlIGRlZmF1bHQgdmFsdWUgaXMg YSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGENCittdWx0aXBsZSBvZiB0 aGUgYmFzZSBmb250IHNpemUuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3VjaCBhDQordmFs dWUuDQorDQorSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbiBpbnRlZ2VyLCB1 bmRlcnN0b29kIGFzIGFuDQorYWJzb2x1dGUgaGVpZ2h0IHRoYXQgaXMgMS8xMCBvZiB0aGUgdHlw ZWZhY2UncyBwb2ludCBzaXplIChlLmcuIGENCit2YWx1ZSBvZiAxNDAgaXMgdGhlIHNhbWUgYXMg c2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCitUaGlzIHdpbGwgaWdub3JlIHRo ZSBiYXNlIGZvbnQgc2l6ZSBhbmQsIHRodXMsIHdpbGwgbm90IHNjYWxlIGluDQorYWNjb3JkYW5j ZSB3aXRoIGl0IGluIGNhc2VzIHdoZXJlIGl0IGNoYW5nZXMsIHN1Y2ggYXMgd2hpbGUgdXNpbmcN CitgdGV4dC1zY2FsZS1hZGp1c3QnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJ251bWJlcg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMp IFNjYWxlZCBoZWFkaW5nIHNpemVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtc2Nh bGUtNCAxLjINCisgICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXRoZW1l cy1zY2FsZS0zJy4NCisNCitUaGlzIHNpemUgaXMgdXNlZCBmb3IgbGV2ZWwgMSBoZWFkaW5ncywg c3VjaCBhcyBpbiBPcmcgYW5kDQorTWFya2Rvd24gZmlsZXMuDQorDQorVGhlIGRlZmF1bHQgdmFs dWUgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGENCittdWx0aXBs ZSBvZiB0aGUgYmFzZSBmb250IHNpemUuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3VjaCBh DQordmFsdWUuDQorDQorSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbiBpbnRl Z2VyLCB1bmRlcnN0b29kIGFzIGFuDQorYWJzb2x1dGUgaGVpZ2h0IHRoYXQgaXMgMS8xMCBvZiB0 aGUgdHlwZWZhY2UncyBwb2ludCBzaXplIChlLmcuIGENCit2YWx1ZSBvZiAxNDAgaXMgdGhlIHNh bWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCitUaGlzIHdpbGwgaWdu b3JlIHRoZSBiYXNlIGZvbnQgc2l6ZSBhbmQsIHRodXMsIHdpbGwgbm90IHNjYWxlIGluDQorYWNj b3JkYW5jZSB3aXRoIGl0IGluIGNhc2VzIHdoZXJlIGl0IGNoYW5nZXMsIHN1Y2ggYXMgd2hpbGUg dXNpbmcNCitgdGV4dC1zY2FsZS1hZGp1c3QnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQor ICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9u ICIyOC4xIg0KKyAgOnR5cGUgJ251bWJlcg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10 aGVtZXMpIFNjYWxlZCBoZWFkaW5nIHNpemVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVt ZXMtc2NhbGUtNSAxLjMNCisgICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVz LXRoZW1lcy1zY2FsZS00Jy4NCisNCitUaGlzIHNpemUgaXMgb25seSB1c2VkIGZvciAnc3BlY2lh bCcgdG9wIGxldmVsIGhlYWRpbmdzLCBzdWNoIGFzDQorT3JnJ3MgZmlsZSB0aXRsZSBoZWFkaW5n LCBkZW5vdGVkIGJ5IHRoZSAjK3RpdGxlIGtleSB3b3JkLCBhbmQNCit0aGUgT3JnIGFnZW5kYSBz dHJ1Y3R1cmUgaGVhZGVycy4NCisNCitUaGUgZGVmYXVsdCB2YWx1ZSBpcyBhIGZsb2F0aW5nIHBv aW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYQ0KK211bHRpcGxlIG9mIHRoZSBiYXNlIGZvbnQg c2l6ZS4gIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSBzdWNoIGENCit2YWx1ZS4NCisNCitIb3dl dmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuIGludGVnZXIsIHVuZGVyc3Rvb2QgYXMg YW4NCithYnNvbHV0ZSBoZWlnaHQgdGhhdCBpcyAxLzEwIG9mIHRoZSB0eXBlZmFjZSdzIHBvaW50 IHNpemUgKGUuZy4gYQ0KK3ZhbHVlIG9mIDE0MCBpcyB0aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBm b250IGF0IDE0IHBvaW50IHNpemUpLg0KK1RoaXMgd2lsbCBpZ25vcmUgdGhlIGJhc2UgZm9udCBz aXplIGFuZCwgdGh1cywgd2lsbCBub3Qgc2NhbGUgaW4NCithY2NvcmRhbmNlIHdpdGggaXQgaW4g Y2FzZXMgd2hlcmUgaXQgY2hhbmdlcywgc3VjaCBhcyB3aGlsZSB1c2luZw0KK2B0ZXh0LXNjYWxl LWFkanVzdCcuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24g Jyhtb2R1cy10aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAn bnVtYmVyDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgU2NhbGVkIGhlYWRp bmcgc2l6ZXMiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1mcmluZ2VzIG5pbA0KKyAg IkRlZmluZSB0aGUgdmlzaWJpbGl0eSBvZiBmcmluZ2VzLg0KKw0KK05pbCBtZWFucyB0aGUgZnJp bmdlcyBoYXZlIG5vIGJhY2tncm91bmQgY29sb3IuICBPcHRpb24gYHN1YnRsZScNCit3aWxsIGFw cGx5IGEgZ3JleXNjYWxlIHZhbHVlIHRoYXQgaXMgdmlzaWJsZSB5ZXQgY2xvc2UgdG8gdGhlDQor bWFpbiBidWZmZXIgYmFja2dyb3VuZCBjb2xvci4gIE9wdGlvbiBgaW50ZW5zZScgd2lsbCB1c2Ug YSBtb3JlDQorcHJvbm91bmNlZCBncmV5c2NhbGUgdmFsdWUuIg0KKyAgOmdyb3VwICdtb2R1cy10 aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAg OnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRh ZyAiTm8gdmlzaWJsZSBmcmluZ2VzIChkZWZhdWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3Qg OnRhZyAiU3VidGxlIGdyZXlzY2FsZSBiYWNrZ3JvdW5kIiBzdWJ0bGUpDQorICAgICAgICAgIChj b25zdCA6dGFnICJJbnRlbnNlIGdyZXlzY2FsZSBiYWNrZ3JvdW5kIiBpbnRlbnNlKSkNCisgIDps aW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBGcmluZ2VzIikpDQorDQorKGRlZmN1c3Rv bSBtb2R1cy10aGVtZXMtbGFuZy1jaGVja2VycyBuaWwNCisgICJDb250cm9sIHRoZSBzdHlsZSBv ZiBzcGVsbGluZyBhbmQgY29kZSBjaGVja2Vycy9saW50ZXJzLg0KKw0KK05pbCAodGhlIGRlZmF1 bHQpIGFwcGxpZXMgYSBjb2xvci1jb2RlZCB1bmRlcmxpbmUgdG8gdGhlIGFmZmVjdGVkDQordGV4 dCwgd2hpbGUgaXQgbGVhdmVzIHRoZSBvcmlnaW5hbCBmb3JlZ3JvdW5kIGluIHRhY3QuICBJZiB0 aGUNCitkaXNwbGF5IHNwZWMgb2YgRW1hY3MgaGFzIHN1cHBvcnQgZm9yIGl0LCB0aGUgdW5kZXJs aW5lJ3Mgc3R5bGUNCitpcyB0aGF0IG9mIGEgd2F2ZSwgb3RoZXJ3aXNlIGl0IGlzIGEgc3RyYWln aHQgbGluZS4NCisNCitPcHRpb25zIGBzdWJ0bGUtZm9yZWdyb3VuZCcgYW5kIGBpbnRlbnNlLWZv cmVncm91bmQnIGFkZCBhDQorY29sb3ItY29kZWQgdW5kZXJsaW5lIHdoaWxlIGFsc28gY2hhbmdp bmcgdGhlIHRleHQncyBmb3JlZ3JvdW5kDQorYWNjb3JkaW5nbHkuICBUaGUgc3R5bGUgb2YgdGhl IHVuZGVybGluZSBpcyB0aGUgc2FtZSBhcyB3aXRoIHRoZQ0KK2RlZmF1bHQgb3B0aW9uLg0KKw0K K09wdGlvbiBgc3RyYWlnaHQtdW5kZXJsaW5lJyBpcyBsaWtlIHRoZSBkZWZhdWx0IGJ1dCBhbHdh eXMNCithcHBsaWVzIGEgc3RyYWlnaHQgbGluZSB1bmRlciB0aGUgYWZmZWN0ZWQgdGV4dC4gIFNh bWUgcHJpbmNpcGxlDQorZm9yIGBzdWJ0bGUtZm9yZWdyb3VuZC1zdHJhaWdodC11bmRlcmxpbmUn IGFuZCBpdHMgY291bnRlcnBhcnQNCitgaW50ZW5zZS1mb3JlZ3JvdW5kLXN0cmFpZ2h0LXVuZGVy bGluZScuDQorDQorT3B0aW9uIGBjb2xvcmVkLWJhY2tncm91bmQnIHVzZXMgYSBzdHJhaWdodCB1 bmRlcmxpbmUsIGENCitiYWNrZ3JvdW5kLCBhbmQgYSBmb3JlZ3JvdW5kLiAgQWxsIGFyZSBjb2xv ci1jb2RlZC4gIFRoaXMgaXMgdGhlDQorbW9zdCBpbnRlbnNlIGNvbWJpbmF0aW9uIG9mIGZhY2Ug cHJvcGVydGllcy4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lv biAnKG1vZHVzLXRoZW1lcyAuICIxLjEuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBl ICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJPbmx5IGNvbG9yLWNvZGVkIHdhdnkg dW5kZXJsaW5lIChkZWZhdWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0 aGUgZGVmYXVsdCwgYnV0IHdpdGggYSBzdHJhaWdodCB1bmRlcmxpbmUiIHN0cmFpZ2h0LXVuZGVy bGluZSkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkNvbG9yLWNvZGVkIHdhdnkgdW5kZXJsaW5l OyBzdWJ0bGUgZm9yZWdyb3VuZCIgc3VidGxlLWZvcmVncm91bmQpDQorICAgICAgICAgIChjb25z dCA6dGFnICJDb21iaW5lcyBgc3RyYWlnaHQtdW5kZXJsaW5lJyBhbmQgYHN1YnRsZS1mb3JlZ3Jv dW5kJyIgc3VidGxlLWZvcmVncm91bmQtc3RyYWlnaHQtdW5kZXJsaW5lKQ0KKyAgICAgICAgICAo Y29uc3QgOnRhZyAiQ29sb3ItY29kZWQgd2F2eSB1bmRlcmxpbmU7IGludGVuc2UgZm9yZWdyb3Vu ZCIgaW50ZW5zZS1mb3JlZ3JvdW5kKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQ29tYmluZXMg YHN0cmFpZ2h0LXVuZGVybGluZScgYW5kIGBpbnRlbnNlLWZvcmVncm91bmQnIiBpbnRlbnNlLWZv cmVncm91bmQtc3RyYWlnaHQtdW5kZXJsaW5lKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQ29s b3ItY29kZWQgYmFja2dyb3VuZCwgZm9yZWdyb3VuZCwgc3RyYWlnaHQgdW5kZXJsaW5lIiBjb2xv cmVkLWJhY2tncm91bmQpKQ0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIExh bmd1YWdlIGNoZWNrZXJzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtb3JnLWJsb2Nr cyBuaWwNCisgICJVc2UgYSBzdWJ0bGUgZ3JheSBvciBjb2xvci1jb2RlZCBiYWNrZ3JvdW5kIGZv ciBPcmcgYmxvY2tzLg0KKw0KK05pbCBtZWFucyB0aGF0IHRoZSBibG9jayB3aWxsIGhhdmUgbm8g YmFja2dyb3VuZCBvZiBpdHMgb3duIGFuZA0KK3dpbGwgdXNlIHRoZSBkZWZhdWx0IHRoYXQgYXBw bGllcyB0byB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLg0KKw0KK09wdGlvbiBgZ3JheXNjYWxlJyAo b3IgYGdyZXlzY2FsZScpIHdpbGwgYXBwbHkgYSBzdWJ0bGUgbmV1dHJhbA0KK2dyYXkgYmFja2dy b3VuZCB0byB0aGUgYmxvY2sncyBjb250ZW50cy4gIEl0IGFsc28gYWZmZWN0cyB0aGUNCitiZWdp biBhbmQgZW5kIGxpbmVzIG9mIHRoZSBibG9jazogdGhlaXIgYmFja2dyb3VuZCB3aWxsIGJlDQor ZXh0ZW5kZWQgdG8gdGhlIGVkZ2Ugb2YgdGhlIHdpbmRvdyBmb3IgRW1hY3MgdmVyc2lvbiA+PSAy NyB3aGVyZQ0KK3RoZSAnOmV4dGVuZCcga2V5d29yZCBpcyByZWNvZ25pemVkIGJ5IGBzZXQtZmFj ZS1hdHRyaWJ1dGUnLg0KKw0KK09wdGlvbiBgcmFpbmJvdycgd2lsbCB1c2UgYW4gYWNjZW50ZWQg YmFja2dyb3VuZCBmb3IgdGhlIGNvbnRlbnRzDQorb2YgdGhlIGJsb2NrLiAgVGhlIGV4YWN0IGNv bG9yIHdpbGwgZGVwZW5kIG9uIHRoZSBwcm9ncmFtbWluZw0KK2xhbmd1YWdlIGFuZCBpcyBjb250 cm9sbGVkIGJ5IHRoZSBgb3JnLXNyYy1ibG9jay1mYWNlcycNCit2YXJpYWJsZSAocmVmZXIgdG8g dGhlIHRoZW1lJ3Mgc291cmNlIGNvZGUgZm9yIHRoZSBjdXJyZW50DQorYXNzb2NpYXRpb24gbGlz dCkuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1 cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnKGNob2lj ZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gT3JnIGJsb2NrIGJhY2tncm91bmQgKGRlZmF1 bHQpIiBuaWwpDQorICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JheSBibG9jayBiYWNr Z3JvdW5kIiBncmF5c2NhbGUpDQorICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JheSBi bG9jayBiYWNrZ3JvdW5kIChhbHQgc3BlbGxpbmcpIiBncmV5c2NhbGUpDQorICAgICAgICAgIChj b25zdCA6dGFnICJDb2xvci1jb2RlZCBiYWNrZ3JvdW5kIHBlciBwcm9ncmFtbWluZyBsYW5ndWFn ZSIgcmFpbmJvdykpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgT3JnIG1v ZGUgYmxvY2tzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtb3JnLWhhYml0IG5pbA0K KyAgIkNvbnRyb2wgdGhlIHByZXNlbnRhdGlvbiBvZiB0aGUgYG9yZy1oYWJpdCcgZ3JhcGguDQor DQorVGhlIGRlZmF1bHQgaXMgbWVhbnQgdG8gY29uZm9ybSB3aXRoIHRoZSBvcmlnaW5hbCBhZXN0 aGV0aWMgb2YNCitgb3JnLWhhYml0Jy4gIEl0IGVtcGxveXMgYWxsIGZvdXIgY29sb3IgY29kZXMg dGhhdCBjb3JyZXNwb25kIHRvDQordGhlIG9yZy1oYWJpdCBzdGF0ZXMtLS1jbGVhciwgcmVhZHks IGFsZXJ0LCBhbmQgb3ZlcmR1ZS0tLXdoaWxlDQorZGlzdGluZ3Vpc2hpbmcgYmV0d2VlbiB0aGVp ciBwcmVzZW50IGFuZCBmdXR1cmUgdmFyaWFudHMuICBUaGlzDQorcmVzdWx0cyBpbiBhIHRvdGFs IG9mIGVpZ2h0IGNvbG9ycyBpbiB1c2U6IHJlZCwgeWVsbG93LCBncmVlbiwNCitibHVlLCBpbiB0 aW50ZWQgYW5kIHNoYWRlZCB2ZXJzaW9ucy4gIFRoZXkgY292ZXIgdGhlIGZ1bGwgc2V0IG9mDQor aW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgdGhlIGBvcmctaGFiaXQnIGNvbnNpc3RlbmN5IGdyYXBo Lg0KKw0KK09wdGlvbiBgc2ltcGxpZmllZCcgaXMgbGlrZSB0aGUgZGVmYXVsdCBleGNlcHQgdGhh dCBpdCByZW1vdmVzDQordGhlIGRpY2hvdG9teSBiZXR3ZWVuIGN1cnJlbnQgYW5kIGZ1dHVyZSB2 YXJpYW50cyBieSBhcHBseWluZw0KK3VuaWZvcm0gY29sb3ItY29kZWQgdmFsdWVzLiAgSXQgYXBw bGllcyBhIHRvdGFsIG9mIGZvdXIgY29sb3JzOg0KK3JlZCwgeWVsbG93LCBncmVlbiwgYmx1ZS4g IFRoZXkgcHJvZHVjZSBhIHNpbXBsaWZpZWQgY29uc2lzdGVuY3kNCitncmFwaCB0aGF0IGlzIG1v cmUgbGVnaWJsZSAob3IgbGVzcyBcImJ1c3lcIikgdGhhbiB0aGUgZGVmYXVsdC4NCitUaGUgaW50 ZW50IGlzIHRvIHNoaWZ0IGZvY3VzIHRvd2FyZHMgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhl DQorZm91ciBzdGF0ZXMgb2YgYSBoYWJpdCB0YXNrLCByYXRoZXIgdGhhbiBlYWNoIHN0YXRlJ3MN CitwcmVzZW50L2Z1dHVyZSBvdXRsb29rLg0KKw0KK09wdGlvbiBgdHJhZmZpYy1saWdodCcgZnVy dGhlciByZWR1Y2VzIHRoZSBhdmFpbGFibGUgY29sb3JzIHRvDQorcmVkLCB5ZWxsb3csIGFuZCBn cmVlbi4gIEFzIGluIGBzaW1wbGlmaWVkJywgcHJlc2VudCBhbmQgZnV0dXJlDQordmFyaWFudHMg YXBwZWFyIHVuaWZvcm1seSwgYnV0IGRpZmZlcmVudGx5IGZyb20gaXQsIHRoZSAnY2xlYXInDQor c3RhdGUgaXMgcmVuZGVyZWQgaW4gYSBncmVlbiBodWUsIGluc3RlYWQgb2YgdGhlIG9yaWdpbmFs IGJsdWUuDQorVGhpcyBpcyBtZWFudCB0byBjYXB0dXJlIHRoZSB1c2UtY2FzZSB3aGVyZSBhIGhh Yml0IHRhc2sgYmVpbmcNCitcInRvbyBlYXJseVwiIGlzIGxlc3MgaW1wb3J0YW50IHRoYW4gaXQg YmVpbmcgXCJ0b28gbGF0ZVwiLiAgVGhlDQorZGlmZmVyZW5jZSBiZXR3ZWVuIHJlYWR5IGFuZCBj bGVhciBzdGF0ZXMgaXMgYXR0ZW51YXRlZCBieQ0KK3BhaW50aW5nIGJvdGggb2YgdGhlbSB1c2lu ZyBzaGFkZXMgb2YgZ3JlZW4uICBUaGlzIG9wdGlvbiB0aHVzDQoraGlnaGxpZ2h0cyB0aGUgYWxl cnQgYW5kIG92ZXJkdWUgc3RhdGVzLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMS4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlJlc3BlY3QgdGhl IG9yaWdpbmFsIGRlc2lnbiBvZiBvcmctaGFiaXQgKGRlZmF1bHQpIiBuaWwpDQorICAgICAgICAg IChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQgZG8gbm90IGRpc3Rpbmd1aXNoIGJl dHdlZW4gcHJlc2VudCBhbmQgZnV0dXJlIHZhcmlhbnRzIiBzaW1wbGlmaWVkKQ0KKyAgICAgICAg ICAoY29uc3QgOnRhZyAiTGlrZSBgc2ltcGxpZmllZCcsIGJ1dCBvbmx5IHVzZSByZWQsIHllbGxv dywgZ3JlZW4iIHRyYWZmaWMtbGlnaHQpKQ0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10 aGVtZXMpIE9yZyBhZ2VuZGEgaGFiaXRzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMt bW9kZS1saW5lIG5pbA0KKyAgIkFkanVzdCB0aGUgb3ZlcmFsbCBzdHlsZSBvZiB0aGUgbW9kZSBs aW5lLg0KKw0KK05pbCBpcyBhIHR3by1kaW1lbnNpb25hbCByZWN0YW5nbGUgd2l0aCBhIGJvcmRl ciBhcm91bmQgaXQuICBUaGUNCithY3RpdmUgYW5kIHRoZSBpbmFjdGl2ZSBtb2RlbGluZXMgdXNl IGRpZmZlcmVudCBzaGFkZXMgb2YNCitncmV5c2NhbGUgdmFsdWVzIGZvciB0aGUgYmFja2dyb3Vu ZCBhbmQgZm9yZWdyb3VuZC4NCisNCitBIGAzZCcgdmFsdWUgd2lsbCBhcHBseSBhIHRocmVlLWRp bWVuc2lvbmFsIGVmZmVjdCB0byB0aGUgYWN0aXZlDQorbW9kZWxpbmUuICBUaGUgaW5hY3RpdmUg bW9kZWxpbmVzIHJlbWFpbiB0d28tZGltZW5zaW9uYWwgYW5kIGFyZQ0KK3RvbmVkIGRvd24gYSBi aXQsIHJlbGF0aXZlIHRvIHRoZSBuaWwgdmFsdWUuDQorDQorVGhlIGBtb29keScgb3B0aW9uIGlz IG1lYW50IHRvIG9wdGltaXplIHRoZSBtb2RlbGluZSBmb3IgdXNlIHdpdGgNCit0aGUgbGlicmFy eSBvZiB0aGUgc2FtZSBuYW1lLiAgVGhpcyBwcmFjdGljYWxseSBtZWFucyB0byByZW1vdmUNCit0 aGUgYm94IGVmZmVjdCBhbmQgcmVseSBvbiB1bmRlcmxpbmUgYW5kIG92ZXJsaW5lIHByb3BlcnRp ZXMNCitpbnN0ZWFkLiAgSXQgYWxzbyB0b25lcyBkb3duIHRoZSBpbmFjdGl2ZSBtb2RlbGluZXMu ICBEZXNwaXRlIGl0cw0KK2ludGVuZGVkIHB1cnBvc2UsIHRoaXMgb3B0aW9uIGNhbiBhbHNvIGJl IHVzZWQgd2l0aG91dCB0aGUNCitgbW9vZHknIGxpYnJhcnkuDQorDQorVGhlIGBib3JkZXJsZXNz JyBvcHRpb24gdXNlcyB0aGUgc2FtZSBjb2xvcnMgYXMgdGhlIGRlZmF1bHQgKG5pbA0KK3ZhbHVl KSwgYnV0IHJlbW92ZXMgdGhlIGJvcmRlciBlZmZlY3QuICBUaGlzIGlzIGRvbmUgYnkgbWFraW5n DQordGhlIGJveCBwcm9wZXJ0eSB1c2UgdGhlIHNhbWUgY29sb3IgYXMgdGhlIGJhY2tncm91bmQs DQorZWZmZWN0aXZlbHkgYmxlbmRpbmcgdGhlIHR3byBhbmQgY3JlYXRpbmcgc29tZSBwYWRkaW5n Lg0KKw0KK1RoZSBgYm9yZGVybGVzcy0zZCcgYW5kIGBib3JkZXJsZXNzLW1vb2R5JyBhcHByb3hp bWF0ZSB0aGUgYDNkJw0KK2FuZCBgbW9vZHknIG9wdGlvbnMgcmVzcGVjdGl2ZWx5LCB3aGlsZSBy ZW1vdmluZyB0aGUgYm9yZGVycy4NCitIb3dldmVyLCB0byBlbnN1cmUgdGhhdCB0aGUgaW5hY3Rp dmUgbW9kZWxpbmVzIHJlbWFpbiB2aXNpYmxlLA0KK3RoZXkgYXBwbHkgYSBzbGlnaHRseSBtb3Jl IHByb21pbmVudCBiYWNrZ3JvdW5kIHRvIHRoZW0gdGhhbiB3aGF0DQordGhlaXIgY291bnRlcnBh cnRzIGRvIChzYW1lIGluYWN0aXZlIGJhY2tncm91bmQgYXMgd2l0aCB0aGUNCitkZWZhdWx0KS4i DQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRo ZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoY2hvaWNlDQor ICAgICAgICAgIChjb25zdCA6dGFnICJUd28tZGltZW5zaW9uYWwgYm94IChkZWZhdWx0KSIgbmls KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVGhyZWUtZGltZW5zaW9uYWwgc3R5bGUgZm9yIHRo ZSBhY3RpdmUgbW9kZSBsaW5lIiAzZCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIGJveCBl ZmZlY3RzLCB3aGljaCBhcmUgb3B0aW1hbCBmb3IgdXNlIHdpdGggdGhlIGBtb29keScgbGlicmFy eSIgbW9vZHkpDQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQg d2l0aG91dCBib3JkZXIgZWZmZWN0cyIgYm9yZGVybGVzcykNCisgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgYDNkJywgYnV0IHdpdGhvdXQgbm90aWNlYWJsZSBib3JkZXIiIGJvcmRlcmxlc3Mt M2QpDQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBtb29keScsIGJ1dCB3aXRob3V0IG5v dGljZWFibGUgYm9yZGVyIiBib3JkZXJsZXNzLW1vb2R5KSkNCisgIDpsaW5rICcoaW5mby1saW5r ICIobW9kdXMtdGhlbWVzKSBNb2RlIGxpbmUiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1l cy1kaWZmcyBuaWwNCisgICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGVzIG9mIGRpZmZzLg0KKw0K K05pbCBtZWFucyB0byB1c2UgZmFpcmx5IGludGVuc2UgY29sb3IgY29tYmluYXRpb25zIGZvciBk aWZmcy4NCitGb3IgZXhhbXBsZSwgeW91IGdldCBhIHJpY2ggZ3JlZW4gYmFja2dyb3VuZCB3aXRo IGEgZ3JlZW4NCitmb3JlZ3JvdW5kIGZvciBhZGRlZCBsaW5lcy4gIFdvcmQtd2lzZSBvciAncmVm aW5lZCcgZGlmZnMgZm9sbG93DQordGhlIHNhbWUgcGF0dGVybiBidXQgdXNlIGRpZmZlcmVudCBz aGFkZXMgb2YgdGhvc2UgY29sb3JzIHRvDQorcmVtYWluIGRpc3RpbmN0Lg0KKw0KK0EgYGRlc2F0 dXJhdGVkJyB2YWx1ZSBmb2xsb3dzIHRoZSBzYW1lIHByaW5jaXBsZXMgYXMgd2l0aCB0aGUgbmls DQorb3B0aW9uLCB3aGlsZSBpdCB0b25lcyBkb3duIGFsbCByZWxldmFudCBjb2xvcnMuDQorDQor T3B0aW9uIGBmZy1vbmx5JyB3aWxsIHJlbW92ZSBhbGwgYWNjZW50ZWQgYmFja2dyb3VuZHMsIGV4 Y2VwdA0KK2Zyb20gd29yZC13aXNlIGNoYW5nZXMuICBJdCBpbnN0ZWFkIHVzZXMgY29sb3ItY29k ZWQgZm9yZWdyb3VuZA0KK3ZhbHVlcyB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYWRkZWQvcmVt b3ZlZC9jaGFuZ2VkIGxpbmVzLiAgSWYNCithIGJhY2tncm91bmQgaXMgbmVjZXNzYXJ5LCBzdWNo IGFzIHdpdGggYGVkaWZmJywgdGhlbiBhIHN1YnRsZQ0KK2dyZXlzY2FsZSB2YWx1ZSBpcyB1c2Vk Lg0KKw0KK09wdGlvbiBgYmctb25seScgYXBwbGllcyBhIGJhY2tncm91bmQgYnV0IGRvZXMgbm90 IG92ZXJyaWRlIHRoZQ0KK3RleHQncyBmb3JlZ3JvdW5kLiAgVGhpcyBtYWtlcyBpdCBzdWl0YWJs ZSBmb3IgYSBub24tbmlsIHZhbHVlDQorcGFzc2VkIHRvIGBkaWZmLWZvbnQtbG9jay1zeW50YXgn IChub3RlOiBNYWdpdCBkb2VzIG5vdCBzdXBwb3J0DQorc3ludGF4IGhpZ2hsaWdodGluZyBpbiBk aWZmcyBhcyBvZiAyMDIwLTExLTI1LCB2ZXJzaW9uDQorMjAyMDExMTYuMTA1NykuDQorDQorT3B0 aW9uIGBkZXV0ZXJhbm9waWEnIGFjY291bnRzIGZvciByZWQtZ3JlZW4gY29sb3IgZGVmZmljaWVu Y3kgYnkNCityZXBsYWNpbmcgYWxsIGluc3RhbmNlcyBvZiBncmVlbiB3aXRoIGNvbG9ycyBvbiB0 aGUgYmx1ZSBzaWRlIG9mDQordGhlIHNwZWN0cnVtLiAgT3RoZXIgc3R5bGlzdGljIGNoYW5nZXMg YXJlIG1hZGUgaW4gdGhlIGludGVyZXN0DQorb2Ygb3B0aW1pemluZyBmb3Igc3VjaCBhIHVzZS1j YXNlLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9k dXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9p Y2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2VseSBjb2xvcmVkIGJhY2tncm91bmRz IChkZWZhdWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiU2xpZ2h0bHkgYWNjZW50 ZWQgYmFja2dyb3VuZHMgd2l0aCB0aW50ZWQgdGV4dCIgZGVzYXR1cmF0ZWQpDQorICAgICAgICAg IChjb25zdCA6dGFnICJObyBiYWNrZ3JvdW5kcywgZXhjZXB0IGZvciByZWZpbmVkIGRpZmZzIiBm Zy1vbmx5KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQXBwbHkgY29sb3ItY29kZWQgYmFja2dy b3VuZHM7IGtlZXAgc3ludGF4IGNvbG9ycyBpbiB0YWN0IiBiZy1vbmx5KQ0KKyAgICAgICAgICAo Y29uc3QgOnRhZyAiT3B0aW1pemVkIGZvciByZWQtZ3JlZW4gY29sb3IgZGVmZmljaWVuY3kiIGRl dXRlcmFub3BpYSkpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgRGlmZnMi KSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1jb21wbGV0aW9ucyBuaWwNCisgICJBcHBs eSBzcGVjaWFsIHN0eWxlcyB0byB0aGUgVUkgb2YgY29tcGxldGlvbiBmcmFtZXdvcmtzLg0KKw0K K1RoaXMgY29uY2VybnMgSWNvbXBsZXRlLCBJdnksIEhlbG0sIFNlbGVjdHJ1bSwgSWRvLCBhcyB3 ZWxsIGFzDQorYW55IG90aGVyIHRvb2wgbWVhbnQgdG8gZW5oYW5jZSB0aGVpciBleHBlcmllbmNl LiAgVGhlIGVmZmVjdA0KK3dpbGwgdmFyeSBkZXBlbmRpbmcgb24gdGhlIGNvbXBsZXRpb24gZnJh bWV3b3JrLg0KKw0KK05pbCBtZWFucyB0byByZW1haW4gZmFpdGhmdWwgdG8gdGhlIG1ldGFwaG9y cyB0aGF0IGVhY2ggVUkNCitlc3RhYmxpc2hlcy4gIEZvciBleGFtcGxlLCBJY29tcGxldGUgYW5k IElkbyBvbmx5IHVzZSBmb3JlZ3JvdW5kDQorY29sb3JzIHRvIHN0eWxlIHRoZWlyIG1hdGNoZXMs IHdoZXJlYXMgSXZ5IG9yIEhlbG0gcmVseSBvbiBhbg0KK2Flc3RoZXRpYyB0aGF0IGNvbWJpbmVz IGNvbG9yZWQgYmFja2dyb3VuZHMgd2l0aCBhcHByb3ByaWF0ZSB0ZXh0DQorY29sb3IuDQorDQor T3B0aW9uIGBtb2RlcmF0ZScgd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQg YW5kDQorZm9yZWdyb3VuZCB0aGF0IGlzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNvbXBsZXRlIGFu ZCB0aGUgbGlrZSwNCit0aGlzIGNvbnN0aXR1dGVzIGEgZGVwYXJ0dXJlIGZyb20gdGhlaXIgc3Rh bmRhcmQgc3R5bGUuICBXaGlsZQ0KK0l2eSwgSGVsbSwgYW5kIHRoZSBvdGhlcnMsIHdpbGwgdXNl IGxlc3MgcHJvbm91bmNlZCBjb2xvcnMgZm9yDQorYXBwbGljYWJsZSBjb250ZXh0cy4NCisNCitP cHRpb24gYG9waW5pb25hdGVkJyB3aWxsIGFwcGx5IGNvbG9yIGNvbWJpbmF0aW9ucyB0aGF0IHJl ZmFzaGlvbg0KK3RoZSBjb21wbGV0aW9uIFVJLiAgU28gSWNvbXBsZXRlIGV0IGFsIHdpbGwgbm93 IHVzZSBzdHlsZXMgdGhhdA0KK3Jlc2VtYmxlIHRoZSBkZWZhdWx0cyBvZiBJdnkgYW5kIGNvLiwg d2hpbGUgdGhlIGxhdHRlciBncm91cCB3aWxsDQorcmV2ZXJ0IHRvIGFuIGV2ZW4gbW9yZSBudWFu Y2VkIGFlc3RoZXRpYy4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVy c2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0 eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJSZXNwZWN0IHRoZSBmcmFtZXdv cmsncyBlc3RhYmxpc2hlZCBhZXN0aGV0aWMgKGRlZmF1bHQpIiBuaWwpDQorICAgICAgICAgIChj b25zdCA6dGFnICJTdWJ0bGUgYmFja2dyb3VuZHMgZm9yIHZhcmlvdXMgZWxlbWVudHMiIG1vZGVy YXRlKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiUmFkaWNhbCBhbHRlcm5hdGl2ZSB0byB0aGUg ZnJhbWV3b3JrJ3MgbG9va3MiIG9waW5pb25hdGVkKSkNCisgIDpsaW5rICcoaW5mby1saW5rICIo bW9kdXMtdGhlbWVzKSBDb21wbGV0aW9uIFVJcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhl bWVzLXByb21wdHMgbmlsDQorICAiVXNlIHN1YnRsZSBvciBpbnRlbnNlIHN0eWxlcyBmb3IgbWlu aWJ1ZmZlciBhbmQgUkVQTCBwcm9tcHRzLg0KKw0KK05pbCBtZWFucyB0byBvbmx5IHVzZSBhbiBh Y2NlbnRlZCBmb3JlZ3JvdW5kIGNvbG9yLg0KKw0KK09wdGlvbnMgYHN1YnRsZS1hY2NlbnRlZCcg YW5kIGBpbnRlbnNlLWFjY2VudGVkJyB3aWxsIGNoYW5nZSBib3RoDQordGhlIGJhY2tncm91bmQg YW5kIHRoZSBmb3JlZ3JvdW5kIHZhbHVlcyB0byB1c2UgYWNjZW50ZWQgY29sb3INCitjb21iaW5h dGlvbnMgdGhhdCBmb2xsb3cgdGhlIGh1ZSBvZiB0aGUgZGVmYXVsdCBzdHlsZXMnDQorZm9yZWdy b3VuZCAoZS5nLiB0aGUgZGVmYXVsdCBtaW5pYnVmZmVyIHByb21wdCBpcyBjeWFuIHRleHQsIHNv DQordGhlc2UgY29tYmluYXRpb25zIHdpbGwgaW52b2x2ZWQgYSBjeWFuIGJhY2tncm91bmQgYW5k IGFuDQorYXBwcm9wcmlhdGUgY3lhbiBmb3JlZ3JvdW5kKS4NCisNCitPcHRpb25zIGBzdWJ0bGUt Z3JheScgYW5kIGBpbnRlbnNlLWdyYXknIGFyZSBsaWtlIHRoZWlyDQorYHN1YnRsZS1hY2NlbnRl ZCcgYW5kIGBpbnRlbnNlLWFjY2VudGVkJyBjb3VudGVycGFydHMsIGV4Y2VwdA0KK3RoZXkgdXNl IGdyYXlzY2FsZSB2YWx1ZXMgaW5zdGVhZCBvZiBhY2NlbnRlZCBvbmVzLiINCisgIDpncm91cCAn bW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4w IikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgOzsg YHN1YnRsZScgaXMgdGhlIHNhbWUgYXMgYHN1YnRsZS1hY2NlbnRlZCcsIHdoaWxlIGBpbnRlbnNl JyBpcw0KKyAgICAgICAgICA7OyBlcXVhbCB0byBgaW50ZW5zZS1hY2NlbnRlZCcgZm9yIGJhY2t3 YXJkIGNvbXBhdGliaWxpdHkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIHByb21wdCBiYWNr Z3JvdW5kIChkZWZhdWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGFj Y2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBwcm9tcHQiIHN1YnRsZS1hY2NlbnRlZCkNCisgICAg ICAgICAgKGNvbnN0IDp0YWcgIlNhbWUgYXMgYHN1YnRsZS1hY2NlbnRlZCcgZm9yIGNvbXBhdGli aWxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucyIgc3VidGxlKQ0KKyAgICAgICAgICAoY29uc3QgOnRh ZyAiSW50ZW5zZSBhY2NlbnRlZCBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGZvciB0aGUgcHJv bXB0IiBpbnRlbnNlLWFjY2VudGVkKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiU2FtZSBhcyBg aW50ZW5zZS1hY2NlbnRlZCcgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucyIg aW50ZW5zZSkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHN1YnRsZS1hY2NlbnRlZCcg YnV0IGdyYXlzY2FsZSIgc3VidGxlLWdyYXkpDQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtl IGBpbnRlbnNlLWFjY2VudGVkJyBidXQgZ3JheXNjYWxlIiBpbnRlbnNlLWdyYXkpKQ0KKyAgOmxp bmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIENvbW1hbmQgcHJvbXB0cyIpKQ0KKw0KKyhk ZWZjdXN0b20gbW9kdXMtdGhlbWVzLWludGVuc2UtaGwtbGluZSBuaWwNCisgICJVc2UgYSBtb3Jl IHByb21pbmVudCBiYWNrZ3JvdW5kIGZvciBjb21tYW5kIGBobC1saW5lLW1vZGUnLiINCisgIDpn cm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4g IjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5r ICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBMaW5lIGhpZ2hsaWdodGluZyIpKQ0KKw0KKyhk ZWZjdXN0b20gbW9kdXMtdGhlbWVzLXN1YnRsZS1saW5lLW51bWJlcnMgbmlsDQorICAiVXNlIG1v cmUgc3VidGxlIHN0eWxlIGZvciBjb21tYW5kIGBkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlJy4i DQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRo ZW1lcyAuICIxLjIuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdib29sZWFuDQor ICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgTGluZSBudW1iZXJzIikpDQorDQor KGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2ggbmlsDQorICAiQ2hvb3NlIHRoZSBz dHlsZSBvZiBtYXRjaGluZyBwYXJlbnRoZXNlcyBvciBkZWxpbWl0ZXJzLg0KKw0KK05pbCBtZWFu cyB0byB1c2UgYSBzdWJ0bGUgdGludGVkIGJhY2tncm91bmQgY29sb3IgKHRoZSBkZWZhdWx0KS4N CisNCitPcHRpb24gYGludGVuc2UnIGFwcGxpZXMgYSBzYXR1cmF0ZWQgYmFja2dyb3VuZCBjb2xv ci4NCisNCitPcHRpb24gYHN1YnRsZS1ib2xkJyBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdCwg YnV0IGFsc28gbWFrZXMNCit1c2Ugb2YgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQgKGluaGVyaXRz IHRoZSBgYm9sZCcgZmFjZSkuDQorDQorT3B0aW9uIGBpbnRlbnNlLWJvbGQnIGlzIHRoZSBzYW1l IGFzIGBpbnRlbnNlJywgd2hpbGUgaXQgYWxzbw0KK3VzZXMgYSBib2xkIHdlaWdodC4iDQorICA6 Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAu ICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoY2hvaWNlDQorICAgICAg ICAgIChjb25zdCA6dGFnICJTdWJsdGUgdGludGVkIGJhY2tncm91bmQgKGRlZmF1bHQpIiBuaWwp DQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQgYWxzbyB1c2Ug Ym9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQiIHN1YnRsZS1ib2xkKQ0KKyAgICAgICAgICAoY29uc3Qg OnRhZyAiSW50ZW5zZSBzYXR1cmF0ZWQgYmFja2dyb3VuZCIgaW50ZW5zZSkNCisgICAgICAgICAg KGNvbnN0IDp0YWcgIkxpa2UgYGludGVuc2UnIGJ1dCB3aXRoIGJvbGQgd2VpZ2h0IiBpbnRlbnNl LWJvbGQpKQ0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIE1hdGNoaW5nIHBh cmVudGhlc2VzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtc3ludGF4IG5pbA0KKyAg IkNvbnRyb2wgdGhlIG92ZXJhbGwgc3R5bGUgb2YgY29kZSBzeW50YXggaGlnaGxpZ2h0aW5nLg0K Kw0KK05pbCAodGhlIGRlZmF1bHQpIG1lYW5zIHRvIHVzZSBjb2xvcnMgb24gdGhlIGN5YW4tYmx1 ZS1tYWdlbnRhDQorc2lkZSBvZiB0aGUgc3BlY3RydW0uICBUaGVyZSBpcyBsaXR0bGUgdG8gbm8g dXNlIG9mIGdyZWVucywNCit5ZWxsb3dzLCBhbmQgcmVkcy4NCisNCitPcHRpb24gYGZhaW50JyBp cyBsaWtlIHRoZSBkZWZhdWx0IGluIHRlcm1zIG9mIHRoZSBjaG9pY2Ugb2YNCitwYWxldHRlIGJ1 dCBhcHBsaWVzIGRlc2F0dXJhdGVkIGNvbG9yIHZhbHVlcy4NCisNCitPcHRpb24gYHllbGxvdy1j b21tZW50cycgYXBwbGllcyBhIHllbGxvdyB0aW50IHRvIGNvbW1lbnRzLiAgVGhlDQorcmVzdCBv ZiB0aGUgc3ludGF4IGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0Lg0KKw0KK09wdGlvbiBgZ3Jl ZW4tc3RyaW5ncycgcmVwbGFjZXMgdGhlIGJsdWUvY3lhbi9jb2xkIGNvbG9yIHZhcmlhbnRzDQor aW4gc3RyaW5ncyB3aXRoIGdyZWVuZXIgYWx0ZXJuYXRpdmVzLiAgVGhlIHJlc3Qgb2YgdGhlIHN5 bnRheA0KK3JlbWFpbnMgdGhlIHNhbWUuDQorDQorT3B0aW9uIGB5ZWxsb3ctY29tbWVudHMtZ3Jl ZW4tc3RyaW5ncycgY29tYmluZXMgeWVsbG93IGNvbW1lbnRzDQord2l0aCBncmVlbiBzdHJpbmdz IGFuZCB0aGUgcmVzdCBvZiB0aGUgZGVmYXVsdCBzeW50YXgNCitoaWdobGlnaHRpbmcgc3R5bGUu DQorDQorT3B0aW9uIGBhbHQtc3ludGF4JyBleHBhbmRzIHRoZSBjb2xvciBwYWxldHRlIGFuZCBh cHBsaWVzIG5ldw0KK2NvbG9yIGNvbWJpbmF0aW9ucy4gIFN0cmluZ3MgYXJlIGdyZWVuLiAgRG9j IHN0cmluZ3MgYXJlIG1hZ2VudGENCit0aW50ZWQuICBDb21tZW50cyBhcmUgZ3JheS4NCisNCitP cHRpb24gYGFsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzJyBjb21iaW5lcyBgYWx0LXN5bnRheCcg d2l0aA0KK2B5ZWxsb3ctY29tbWVudHMnLg0KKw0KK09wdGlvbiBgZmFpbnQteWVsbG93LWNvbW1l bnRzJyBjb21iaW5lcyB0aGUgYGZhaW50JyBzdHlsZSB3aXRoDQorYHllbGxvdy1jb21tZW50cycu Ig0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10 aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnKGNob2ljZQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiQmFsYW5jZWQgdXNlIG9mIGJsdWUsIGN5YW4sIG1hZ2Vu dGEsIHB1cnBsZSB2YXJpYW50cyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgdGhlIGRlZmF1bHQsIGJ1dCB3aXRoIGRlc2F0dXJhdGVkIGNvbG9yIHZhbHVlcyIg ZmFpbnQpDQorICAgICAgICAgIChjb25zdCA6dGFnICJBcHBseSB5ZWxsb3cgdGludCB0byBjb21t ZW50cywga2VlcCB0aGUgZGVmYXVsdCBzdHlsZSBmb3IgdGhlIHJlc3QiIHllbGxvdy1jb21tZW50 cykNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlVzZSBncmVlbiBmb3Igc3RyaW5ncywga2VlcCB0 aGUgZGVmYXVsdCBzdHlsZSBmb3IgdGhlIHJlc3QiIGdyZWVuLXN0cmluZ3MpDQorICAgICAgICAg IChjb25zdCA6dGFnICJVc2UgZ3JlZW4gZm9yIHN0cmluZ3MsIHllbGxvdyBmb3IgY29tbWVudHMs IGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRoZSByZXN0IiB5ZWxsb3ctY29tbWVudHMtZ3Jl ZW4tc3RyaW5ncykNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlJlZmFzaGlvbiBzeW50YXggaGln aGxpZ2h0aW5nIHdpdGggbW9yZSBjb2xvcnMsIGdyYXkgY29tbWVudHMiIGFsdC1zeW50YXgpDQor ICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBhbHQtc3ludGF4JyBidXQgd2l0aCB5ZWxsb3cg Y29tbWVudHMiIGFsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzKQ0KKyAgICAgICAgICAoY29uc3Qg OnRhZyAiTGlrZSBgZmFpbnQnIGJ1dCB3aXRoIHllbGxvdyBjb21tZW50cyIgZmFpbnQteWVsbG93 LWNvbW1lbnRzKSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBTeW50YXgg c3R5bGVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtbGlua3MgbmlsDQorICAiU2V0 IHRoZSBzdHlsZSBvZiBsaW5rcy4NCisNCitOaWwgbWVhbnMgdG8gdXNlIGFuIHVuZGVybGluZSB0 aGF0IGlzIHRoZSBzYW1lIGNvbG9yIGFzIHRoZQ0KK2ZvcmVncm91bmQuDQorDQorT3B0aW9uIGBm YWludCcgYXBwbGllcyBkZXNhdHVyYXRlZCBjb2xvcnMgdG8gdGhlIGxpbmsncyB0ZXh0IGFuZA0K K3VuZGVybGluZS4NCisNCitPcHRpb24gYG5ldXRyYWwtdW5kZXJsaW5lJyBhcHBsaWVzIGEgc3Vi dGxlIGdyZXkgdW5kZXJsaW5lLCB3aGlsZQ0KK3JldGFpbmluZyB0aGUgbGluaydzIGZvcmVncm91 bmQuDQorDQorT3B0aW9uIGBmYWludC1uZXV0cmFsLXVuZGVybGluZScgY29tYmluZXMgYSBkZXNh dHVyYXRlZCB0ZXh0DQorY29sb3Igd2l0aCBhIHN1YnRsZSBncmV5IHVuZGVybGluZS4NCisNCitP cHRpb24gYG5vLXVuZGVybGluZScgcmVtb3ZlcyBsaW5rIHVuZGVybGluZXMgYWx0b2dldGhlciwg d2hpbGUNCityZXRhaW5pbmcgdGhlaXIgb3JpZ2luYWwgZmFpcmx5IHZpdmlkIGNvbG9yLg0KKw0K K09wdGlvbiBgdW5kZXJsaW5lLW9ubHknIGFwcGxpZXMgYW4gdW5kZXJsaW5lIHdoaWxlIG1ha2lu ZyB0aGUNCithZmZlY3RlZCB0ZXh0IGNvbG9ybGVzcyAoaXQgdXNlcyB0aGUgc2FtZSBmb3JlZ3Jv dW5kIGFzIHRoZQ0KK3RoZW1lJ3MgZGVmYXVsdCkuDQorDQorT3B0aW9uIGBuZXV0cmFsLXVuZGVy bGluZS1vbmx5JyBtYWtlcyB0aGUgdGV4dCBjb2xvcmxlc3Mgd2hpbGUNCit1c2luZyBhIHN1YnRs ZSB1bmRlcmxpbmUgYmVsb3cgaXQuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNr YWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEi DQorICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVW5kZWxpbmUgbGlu ayB1c2luZyB0aGUgc2FtZSBjb2xvciBhcyB0aGUgdGV4dCAoZGVmYXVsdCkiIG5pbCkNCisgICAg ICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQsIGJ1dCBhcHBseSBsZXNzIGludGVu c2UgY29sb3JzIHRvIGxpbmtzIiBmYWludCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkNoYW5n ZSB0aGUgY29sb3Igb2YgbGluayB1bmRlcmxpbmVzIHRvIGEgbmV1dHJhbCBncmV5IiBuZXV0cmFs LXVuZGVybGluZSkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkRlc2F0dXJhdGVkIGZvcmVncm91 bmQgd2l0aCBuZXV0cmFsIGdyZXkgdW5kZXJsaW5lIiBmYWludC1uZXV0cmFsLXVuZGVybGluZSkN CisgICAgICAgICAgKGNvbnN0IDp0YWcgIlJlbW92ZSB1bmRlcmxpbmUgcHJvcGVydHkgZnJvbSBs aW5rcywga2VlcGluZyB0aGVpciBmb3JlZ3JvdW5kIGFzLWlzIiBuby11bmRlcmxpbmUpDQorICAg ICAgICAgIChjb25zdCA6dGFnICJBcHBseSB1bmRlcmxpbmUgb25seTsgdXNlIGRlZmF1bHQgZm9y ZWdyb3VuZCIgdW5kZXJsaW5lLW9ubHkpDQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGB1 bmRlcmxpbmUtb25seScgYnV0IHdpdGggYSBzdWJ0bGUgdW5kZXJsaW5lIiBuZXV0cmFsLXVuZGVy bGluZS1vbmx5KSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBMaW5rIHN0 eWxlcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXJlZ2lvbiBuaWwNCisgICJDaGFu Z2UgdGhlIG92ZXJhbGwgYXBwZWFyYW5jZSBvZiB0aGUgYWN0aXZlIHJlZ2lvbi4NCisNCitOaWwg KHRoZSBkZWZhdWx0KSBtZWFucyB0byBvbmx5IHVzZSBhIHByb21pbmVudCBncmF5IGJhY2tncm91 bmQNCit3aXRoIGEgbmV1dHJhbCBmb3JlZ3JvdW5kLiAgVGhlIGZvcmVncm91bmQgb3ZlcnJpZGVz IGFsbCBzeW50YXgNCitoaWdobGlnaHRpbmcuICBUaGUgcmVnaW9uIGV4dGVuZHMgdG8gdGhlIGVk Z2Ugb2YgdGhlIHdpbmRvdy4NCisNCitPcHRpb24gYG5vLWV4dGVuZCcgcHJlc2VydmVzIHRoZSBk ZWZhdWx0IGFlc3RoZXRpYyBidXQgcHJldmVudHMNCit0aGUgcmVnaW9uIGZyb20gZXh0ZW5kaW5n IHRvIHRoZSBlZGdlIG9mIHRoZSB3aW5kb3cuDQorDQorT3B0aW9uIGBiZy1vbmx5JyBhcHBsaWVz IGEgZmFpbnQgdGludGVkIGJhY2tncm91bmQgdGhhdCBpcw0KK2Rpc3RpbmN0IGZyb20gYWxsIG90 aGVycyB1c2VkIGluIHRoZSB0aGVtZSwgd2hpbGUgaXQgZG9lcyBub3QNCitvdmVycmlkZSBhbnkg ZXhpc3RpbmcgY29sb3JzLiAgSXQgZXh0ZW5kcyB0byB0aGUgZWRnZSBvZiB0aGUNCit3aW5kb3cu DQorDQorT3B0aW9uIGBiZy1vbmx5LW5vLWV4dGVuZCcgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUg YGJnLW9ubHknIGFuZA0KK2Buby1leHRlbmQnIG9wdGlvbnMuIg0KKyAgOmdyb3VwICdtb2R1cy10 aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAg OnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRh ZyAiSW50ZW5zZSBiYWNrZ3JvdW5kOyBvdmVycmlkZXMgY29sb3JzOyBleHRlbmRzIHRvIGVkZ2Ug b2Ygd2luZG93IChkZWZhdWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQXMgd2l0 aCB0aGUgZGVmYXVsdCwgYnV0IGRvZXMgbm90IGV4dGVuZCIgbm8tZXh0ZW5kKQ0KKyAgICAgICAg ICAoY29uc3QgOnRhZyAiU3VidGxlIGJhY2tncm91bmQ7IHByZXNlcnZlcyBjb2xvcnM7IGV4dGVu ZHMgdG8gZWRnZSBvZiB3aW5kb3ciIGJnLW9ubHkpDQorICAgICAgICAgIChjb25zdCA6dGFnICJB cyB3aXRoIHRoZSBgc3VidGxlJyBvcHRpb24sIGJ1dCBkb2VzIG5vdCBleHRlbmQiIGJnLW9ubHkt bm8tZXh0ZW5kKSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBBY3RpdmUg cmVnaW9uIikpDQorDQorDA0KKw0KKzs7OzsgRGVwcmVjYXRlZCBjdXN0b21pemF0aW9uIG9wdGlv bnMgKHByaW9yIHRvIDEuMC4wKQ0KKw0KKzs7Ozs7IE1vZHVzIE9wZXJhbmRpIG9ic29sZXRlIG9w dGlvbnMNCisNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtb3ZlcnJpZGUt Y29sb3JzLWFsaXN0IG5pbCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5k aS10aGVtZS1zbGFudGVkLWNvbnN0cnVjdHMgJ21vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVj dHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC1j b25zdHJ1Y3RzICdtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzICIxLjAuMCIpDQorKG1ha2Ut b2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXByb3BvcnRpb25hbC1mb250cyAnbW9kdXMt dGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUg J21vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICdtb2R1cy10aGVt ZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtb3BlcmFuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMgJ21vZHVzLXRoZW1lcy1uby1taXhlZC1m b250cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1yYWlu Ym93LWhlYWRpbmdzICdtb2R1cy10aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc2VjdGlvbi1oZWFkaW5ncyAnbW9kdXMtdGhlbWVz LWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1l LWhlYWRpbmdzICdtb2R1cy10aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0 ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1zY2Fs ZS1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVt ZS1zY2FsZS0xICdtb2R1cy10aGVtZXMtc2NhbGUtMSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRl ICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0yICdtb2R1cy10aGVtZXMtc2NhbGUtMiAiMS4w LjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0zICdtb2R1 cy10aGVtZXMtc2NhbGUtMyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5k aS10aGVtZS1zY2FsZS00ICdtb2R1cy10aGVtZXMtc2NhbGUtNCAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS01ICdtb2R1cy10aGVtZXMtc2NhbGUt NSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS12aXNpYmxl LWZyaW5nZXMgJ21vZHVzLXRoZW1lcy1mcmluZ2VzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUg J21vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZXMgJ21vZHVzLXRoZW1lcy1mcmluZ2VzICIxLjAu MCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWRpc3RpbmN0LW9yZy1i bG9ja3MgJ21vZHVzLXRoZW1lcy1vcmctYmxvY2tzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUg J21vZHVzLW9wZXJhbmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MgJ21vZHVzLXRoZW1l cy1vcmctYmxvY2tzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRo ZW1lLW9yZy1ibG9ja3MgJ21vZHVzLXRoZW1lcy1vcmctYmxvY2tzICIxLjAuMCIpDQorKG1ha2Ut b2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLTNkLW1vZGVsaW5lICdtb2R1cy10aGVtZXMt bW9kZS1saW5lICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1l LW1vZGUtbGluZSAnbW9kdXMtdGhlbWVzLW1vZGUtbGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29s ZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1zdWJ0bGUtZGlmZnMgJ21vZHVzLXRoZW1lcy1kaWZm cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcyAn bW9kdXMtdGhlbWVzLWRpZmZzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJh bmRpLXRoZW1lLWludGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMgJ21vZHVzLXRoZW1lcy1jb21w bGV0aW9ucyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1j b21wbGV0aW9ucyAnbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdHMgJ21vZHVzLXRoZW1lcy1wcm9tcHRz ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2Ut aGwtbGluZSAnbW9kdXMtdGhlbWVzLWludGVuc2UtaGwtbGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoICdtb2R1cy10 aGVtZXMtcGFyZW4tbWF0Y2ggIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFu ZGktdGhlbWUtZmFpbnQtc3ludGF4ICdtb2R1cy10aGVtZXMtc3ludGF4ICIxLjAuMCIpDQorKG1h a2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWNvbW1lbnRzICdtb2R1cy10aGVtZXMt c3ludGF4ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXN5 bnRheCAnbW9kdXMtdGhlbWVzLXN5bnRheCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1 cy1vcGVyYW5kaS10aGVtZS1uby1saW5rLXVuZGVybGluZSAnbW9kdXMtdGhlbWVzLWxpbmtzICIx LjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWxpbmtzICdtb2R1 cy10aGVtZXMtbGlua3MgIjEuMC4wIikNCisNCis7Ozs7OyBNb2R1cyBWaXZlbmRpIG9ic29sZXRl IG9wdGlvbnMNCisNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1vdmVycmlk ZS1jb2xvcnMtYWxpc3QgbmlsICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVu ZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzICdtb2R1cy10aGVtZXMtc2xhbnRlZC1jb25zdHJ1 Y3RzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC1j b25zdHJ1Y3RzICdtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzICIxLjAuMCIpDQorKG1ha2Ut b2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtcHJvcG9ydGlvbmFsLWZvbnRzICdtb2R1cy10 aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAn bW9kdXMtdml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAnbW9kdXMtdGhlbWVz LXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVz LXZpdmVuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMgJ21vZHVzLXRoZW1lcy1uby1taXhlZC1mb250 cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXJhaW5ib3ct aGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRl ICdtb2R1cy12aXZlbmRpLXRoZW1lLXNlY3Rpb24taGVhZGluZ3MgJ21vZHVzLXRoZW1lcy1oZWFk aW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRp bmdzICdtb2R1cy10aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLXNjYWxlLWhlYWRp bmdzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUt MSAnbW9kdXMtdGhlbWVzLXNjYWxlLTEgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMt dml2ZW5kaS10aGVtZS1zY2FsZS0yICdtb2R1cy10aGVtZXMtc2NhbGUtMiAiMS4wLjAiKQ0KKyht YWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTMgJ21vZHVzLXRoZW1lcy1z Y2FsZS0zICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUtNCAnbW9kdXMtdGhlbWVzLXNjYWxlLTQgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS01ICdtb2R1cy10aGVtZXMtc2NhbGUtNSAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXZpc2libGUtZnJpbmdlcyAnbW9k dXMtdGhlbWVzLWZyaW5nZXMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5k aS10aGVtZS1mcmluZ2VzICdtb2R1cy10aGVtZXMtZnJpbmdlcyAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWRpc3RpbmN0LW9yZy1ibG9ja3MgJ21vZHVzLXRo ZW1lcy1vcmctYmxvY2tzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGkt dGhlbWUtcmFpbmJvdy1vcmctc3JjLWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEu MC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzICdt b2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12 aXZlbmRpLXRoZW1lLTNkLW1vZGVsaW5lICdtb2R1cy10aGVtZXMtbW9kZS1saW5lICIxLjAuMCIp DQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1saW5lICdtb2R1cy10 aGVtZXMtbW9kZS1saW5lICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGkt dGhlbWUtc3VidGxlLWRpZmZzICdtb2R1cy10aGVtZXMtZGlmZnMgIjEuMC4wIikNCisobWFrZS1v YnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmcyAnbW9kdXMtdGhlbWVzLWRpZmZzICIx LjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1zdGFu ZGFyZC1jb21wbGV0aW9ucyAnbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zICIxLjAuMCIpDQorKG1h a2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMgJ21vZHVzLXRoZW1l cy1jb21wbGV0aW9ucyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRo ZW1lLXByb21wdHMgJ21vZHVzLXRoZW1lcy1wcm9tcHRzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xl dGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lICdtb2R1cy10aGVtZXMtaW50 ZW5zZS1obC1saW5lICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhl bWUtaW50ZW5zZS1wYXJlbi1tYXRjaCAnbW9kdXMtdGhlbWVzLXBhcmVuLW1hdGNoICIxLjAuMCIp DQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3ludGF4ICdtb2R1 cy10aGVtZXMtc3ludGF4ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGkt dGhlbWUtY29tbWVudHMgJ21vZHVzLXRoZW1lcy1zeW50YXggIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXggJ21vZHVzLXRoZW1lcy1zeW50YXggIjEu MC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1uby1saW5rLXVuZGVy bGluZSAnbW9kdXMtdGhlbWVzLWxpbmtzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVz LXZpdmVuZGktdGhlbWUtbGlua3MgJ21vZHVzLXRoZW1lcy1saW5rcyAiMS4wLjAiKQ0KKw0KKwwN CisNCis7OzsgSW50ZXJuYWwgZnVuY3Rpb25zDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tcGFs ZXR0ZSAodGhlbWUpDQorICAiUmV0dXJuIGNvbG9yIHBhbGV0dGUgZm9yIE1vZHVzIHRoZW1lIFRI RU1FLg0KK1RIRU1FIGlzIGEgc3ltYm9sLCBlaXRoZXIgYG1vZHVzLW9wZXJhbmRpJyBvciBgbW9k dXMtdml2ZW5kaScuIg0KKyAgKHBjYXNlIHRoZW1lDQorICAgICgnbW9kdXMtb3BlcmFuZGkNCisg ICAgIChhcHBlbmQgbW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9yLW92ZXJyaWRlcw0KKyAgICAg ICAgICAgICBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3JzKSkNCisgICAgKCdtb2R1cy12aXZl bmRpDQorICAgICAoYXBwZW5kIG1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yLW92ZXJyaWRlcw0K KyAgICAgICAgICAgICBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnMpKQ0KKyAgICAoX3RoZW1l DQorICAgICAoZXJyb3IgIiclcycgaXMgbm90IGEgTW9kdXMgdGhlbWUiIHRoZW1lKSkpKQ0KKw0K KyhkZWZ2YXIgbW9kdXMtdGhlbWVzLWZhY2VzKQ0KKyhkZWZ2YXIgbW9kdXMtdGhlbWVzLWN1c3Rv bS12YXJpYWJsZXMpDQorDQorKGRlZm1hY3JvIG1vZHVzLXRoZW1lcy10aGVtZSAobmFtZSkNCisg ICJCaW5kIE5BTUUncyBjb2xvciBwYWxldHRlIGFyb3VuZCBmYWNlIHNwZWNzIGFuZCB2YXJpYWJs ZXMuDQorDQorTkFNRSBzaG91bGQgYmUgdGhlIHByb3BlciBuYW1lIG9mIGEgTW9kdXMgdGhlbWUs IGVpdGhlcg0KK2Btb2R1cy1vcGVyYW5kaScgb3IgYG1vZHVzLXZpdmVuZGknLg0KKw0KK0ZhY2Ug c3BlY2lmaWNhdGlvbnMgYXJlIHBhc3NlZCB0byBgY3VzdG9tLXRoZW1lLXNldC1mYWNlcycuDQor V2hpbGUgdmFyaWFibGVzIGFyZSBoYW5kbGVkIGJ5IGBjdXN0b20tdGhlbWUtc2V0LXZhcmlhYmxl cycuDQorVGhvc2UgYXJlIHN0b3JlZCBpbiBgbW9kdXMtdGhlbWVzLWZhY2VzJyBhbmQNCitgbW9k dXMtdGhlbWVzLWN1c3RvbS12YXJpYWJsZXMnIHJlc3BlY3RpdmVseS4iDQorICAoZGVjbGFyZSAo aW5kZW50IDApKQ0KKyAgKGxldCAoKHBhbGV0dGUtc3ltIChnZW5zeW0pKQ0KKyAgICAgICAgKGNv bG9ycyAobWFwY2FyICMnY2FyIG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnMpKSkNCisgICAg YChsZXQqICgoY2xhc3MgJygoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg5KSkpDQorICAgICAg ICAgICAgKCxwYWxldHRlLXN5bSAobW9kdXMtdGhlbWVzLS1wYWxldHRlICcsbmFtZSkpDQorICAg ICAgICAgICAgLEAobWFwY2FyIChsYW1iZGEgKGNvbG9yKQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgIChsaXN0IGNvbG9yIGAoYWxpc3QtZ2V0ICcsY29sb3IgLHBhbGV0dGUtc3ltKSkpDQorICAg ICAgICAgICAgICAgICAgICAgIGNvbG9ycykpDQorICAgICAgIChjdXN0b20tdGhlbWUtc2V0LWZh Y2VzICcsbmFtZSAsQG1vZHVzLXRoZW1lcy1mYWNlcykNCisgICAgICAgKGN1c3RvbS10aGVtZS1z ZXQtdmFyaWFibGVzICcsbmFtZSAsQG1vZHVzLXRoZW1lcy1jdXN0b20tdmFyaWFibGVzKSkpKQ0K Kw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWN1cnJlbnQtdGhlbWUgKCkNCisgICJSZXR1cm4gY3Vy cmVudCB0aGVtZS4iDQorICAoY2FyIGN1c3RvbS1lbmFibGVkLXRoZW1lcykpDQorDQorOzsgSGVs cGVyIGZ1bmN0aW9ucyB0aGF0IGFyZSBtZWFudCB0byBlYXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBv ZiB0aGUNCis7OyBhYm92ZSBjdXN0b21pemF0aW9uIG9wdGlvbnMuDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy0tYm9sZC13ZWlnaHQgKCkNCisgICJDb25kaXRpb25hbCB1c2Ugb2YgYSBoZWF2aWVyIHRl eHQgd2VpZ2h0LiINCisgICh3aGVuIG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMNCisgICAg KGxpc3QgOmluaGVyaXQgJ2JvbGQpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1taXhlZC1m b250cyAoKQ0KKyAgIkNvbmRpdGlvbmFsIGFwcGxpY2F0aW9uIG9mIGBmaXhlZC1waXRjaCcgaW5o ZXJpdGFuY2UuIg0KKyAgKHVubGVzcyBtb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMNCisgICAg KGxpc3QgOmluaGVyaXQgJ2ZpeGVkLXBpdGNoKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0t c2xhbnQgKCkNCisgICJDb25kaXRpb25hbCB1c2Ugb2YgaXRhbGljcyBmb3Igc2xhbnQgYXR0cmli dXRlLiINCisgIChpZiBtb2R1cy10aGVtZXMtc2xhbnRlZC1jb25zdHJ1Y3RzDQorICAgICAgKGxp c3QgJ2l0YWxpYykNCisgICAgKGxpc3QgJ25vcm1hbCkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVt ZXMtLXZhcmlhYmxlLXBpdGNoICgpDQorICAiQ29uZGl0aW9uYWwgdXNlIG9mIGB2YXJpYWJsZS1w aXRjaCcgaW4gaGVhZGluZ3MuIg0KKyAgKHdoZW4gbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNo LWhlYWRpbmdzDQorICAgIChsaXN0IDppbmhlcml0ICd2YXJpYWJsZS1waXRjaCkpKQ0KKw0KKyhk ZWZ1biBtb2R1cy10aGVtZXMtLXZhcmlhYmxlLXBpdGNoLXVpICgpDQorICAiQ29uZGl0aW9uYWwg dXNlIG9mIGB2YXJpYWJsZS1waXRjaCcgaW4gVUkgZWxlbWVudHMuIg0KKyAgKHdoZW4gbW9kdXMt dGhlbWVzLXZhcmlhYmxlLXBpdGNoLXVpDQorICAgIChsaXN0IDppbmhlcml0ICd2YXJpYWJsZS1w aXRjaCkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWZyaW5nZSAobWFpbmJnIHN1YnRsZWJn IGludGVuc2ViZykNCisgICJDb25kaXRpb25hbCB1c2Ugb2YgYmFja2dyb3VuZCBjb2xvcnMgZm9y IGZyaW5nZXMuDQorTUFJTkJHIGlzIHRoZSBkZWZhdWx0LiAgU1VCVExFQkcgc2hvdWxkIGJlIGEg c3VidGxlIGdyZXlzY2FsZQ0KK3ZhbHVlLiAgSU5URU5TRUJHIG11c3QgYmUgYSBtb3JlIHByb25v dW5jZWQgZ3JleXNjYWxlIGNvbG9yLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtZnJpbmdlcw0K KyAgICAoJ2ludGVuc2UgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCisgICAgKCdzdWJ0 bGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcpKQ0KKyAgICAoXyAobGlzdCA6YmFja2dyb3Vu ZCBtYWluYmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tbGluZS1udW1iZXJzIChtYWlu ZmcgbWFpbmJnIGFsdGZnICZvcHRpb25hbCBhbHRiZykNCisgICJDb25kaXRpb25hbCB1c2Ugb2Yg Y29sb3JzIGZvciBsaW5lIG51bWJlcnMuDQorTUFJTkJHIGFuZCBNQUlORkcgYXJlIHRoZSBkZWZh dWx0IGNvbG9ycy4gIEFMVEZHIGlzIGEgY29sb3IgdGhhdA0KK2NvbWJpbmVzIHdpdGggdGhlIHRo ZW1lJ3MgcHJpbWFyeSBiYWNrZ3JvdW5kICh3aGl0ZS9ibGFjaykuIg0KKyAgKGlmIG1vZHVzLXRo ZW1lcy1zdWJ0bGUtbGluZS1udW1iZXJzDQorICAgICAgKGxpc3QgOmJhY2tncm91bmQgKG9yIGFs dGJnICd1bnNwZWNpZmllZCkgOmZvcmVncm91bmQgYWx0ZmcpDQorICAgIChsaXN0IDpiYWNrZ3Jv dW5kIG1haW5iZyA6Zm9yZWdyb3VuZCBtYWluZmcpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVz LS1sYW5nLWNoZWNrICh1bmRlcmxpbmUgc3VidGxlZmcgaW50ZW5zZWZnIGJnKQ0KKyAgIkNvbmRp dGlvbmFsIHVzZSBvZiBmb3JlZ3JvdW5kIGNvbG9ycyBmb3IgbGFuZ3VhZ2UgY2hlY2tlcnMuDQor VU5ERVJMSU5FIGlzIGEgY29sb3ItY29kZSB2YWx1ZSBmb3IgdGhlIGFmZmVjdGVkIHRleHQncyB1 bmRlcmxpbmUNCitwcm9wZXJ0eS4gIFNVQlRMRUZHIGFuZCBJTlRFTlNFRkcgZm9sbG93IHRoZSBz YW1lIGNvbG9yLWNvZGluZw0KK3BhdHRlcm4gYW5kIHJlcHJlc2VudCBhIHZhbHVlIHRoYXQgaXMg ZmFpbnQgb3IgdmlicmFudA0KK3Jlc3BlY3RpdmVseS4gIEJHIGlzIGEgY29sb3ItY29kZWQgYmFj a2dyb3VuZC4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLWxhbmctY2hlY2tlcnMNCisgICAgKCdj b2xvcmVkLWJhY2tncm91bmQNCisgICAgIChsaXN0IDp1bmRlcmxpbmUgdW5kZXJsaW5lIDpiYWNr Z3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykpDQorICAgICgnaW50ZW5zZS1mb3JlZ3Jv dW5kDQorICAgICAobGlzdCA6dW5kZXJsaW5lIChsaXN0IDpjb2xvciB1bmRlcmxpbmUgOnN0eWxl ICd3YXZlKSA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KKyAgICAoJ2ludGVuc2UtZm9yZWdyb3Vu ZC1zdHJhaWdodC11bmRlcmxpbmUNCisgICAgIChsaXN0IDp1bmRlcmxpbmUgdW5kZXJsaW5lIDpm b3JlZ3JvdW5kIGludGVuc2VmZykpDQorICAgICgnc3VidGxlLWZvcmVncm91bmQNCisgICAgIChs aXN0IDp1bmRlcmxpbmUgKGxpc3QgOmNvbG9yIHVuZGVybGluZSA6c3R5bGUgJ3dhdmUpIDpmb3Jl Z3JvdW5kIHN1YnRsZWZnKSkNCisgICAgKCdzdWJ0bGUtZm9yZWdyb3VuZC1zdHJhaWdodC11bmRl cmxpbmUNCisgICAgIChsaXN0IDp1bmRlcmxpbmUgdW5kZXJsaW5lIDpmb3JlZ3JvdW5kIHN1YnRs ZWZnKSkNCisgICAgKCdzdHJhaWdodC11bmRlcmxpbmUNCisgICAgIChsaXN0IDp1bmRlcmxpbmUg dW5kZXJsaW5lKSkNCisgICAgKF8gKGxpc3QgOnVuZGVybGluZSAobGlzdCA6Y29sb3IgdW5kZXJs aW5lIDpzdHlsZSAnd2F2ZSkpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tcHJvbXB0ICht YWluZmcgc3VidGxlYmcgc3VidGxlZmcgaW50ZW5zZWJnIGludGVuc2VmZykNCisgICJDb25kaXRp b25hbCB1c2Ugb2YgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHByb21wdHMuDQorTUFJTkZHIGlzIHRo ZSBwcm9tcHQncyBzdGFuZGFyZCBmb3JlZ3JvdW5kLiAgU1VCVExFQkcgc2hvdWxkIGJlIGENCitz dWJ0bGUgYWNjZW50ZWQgYmFja2dyb3VuZCB0aGF0IHdvcmtzIHdpdGggU1VCVExFRkcuICBJTlRF TlNFQkcNCittdXN0IGJlIGEgbW9yZSBwcm9ub3VuY2VkIGFjY2VudGVkIGNvbG9yIHRoYXQgc2hv dWxkIGJlDQorY29tYmluYWJsZSB3aXRoIElOVEVOU0VGRy4iDQorICAocGNhc2UgbW9kdXMtdGhl bWVzLXByb21wdHMNCisgICAgOzsgYHN1YnRsZScgaXMgdGhlIHNhbWUgYXMgYHN1YnRsZS1hY2Nl bnRlZCcsIHdoaWxlIGBpbnRlbnNlJyBpcw0KKyAgICA7OyBlcXVhbCB0byBgaW50ZW5zZS1hY2Nl bnRlZCcgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkNCisgICAgKCdpbnRlbnNlLWFjY2VudGVk IChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KKyAg ICAoJ2ludGVuc2UgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVu c2VmZykpDQorICAgICgnc3VidGxlLWFjY2VudGVkIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJn IDpmb3JlZ3JvdW5kIHN1YnRsZWZnKSkNCisgICAgKCdzdWJ0bGUgKGxpc3QgOmJhY2tncm91bmQg c3VidGxlYmcgOmZvcmVncm91bmQgc3VidGxlZmcpKQ0KKyAgICAoJ3N1YnRsZS1ncmF5IChsaXN0 IDppbmhlcml0ICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCkpDQorICAgICgnaW50ZW5zZS1n cmF5IChsaXN0IDppbmhlcml0ICdtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKQ0KKyAgICAo XyAobGlzdCA6YmFja2dyb3VuZCBuaWwgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KKw0KKyhkZWZ1 biBtb2R1cy10aGVtZXMtLXBhcmVuIChub3JtYWxiZyBpbnRlbnNlYmcpDQorICAiQ29uZGl0aW9u YWwgdXNlIG9mIGludGVuc2UgY29sb3JzIGZvciBtYXRjaGluZyBwYXJlbnRoZXNlcy4NCitOT1JN QUxCRyBzaG91bGQgYmUgdGhlIHNwZWNpYWwgcGFsZXR0ZSBjb2xvciAnYmctcGFyZW4tbWF0Y2gn IG9yDQorc29tZXRoaW5nIHNpbWlsYXIuICBJTlRFTlNFQkcgbXVzdCBiZSBlYXNpZXIgdG8gZGlz Y2VybiBuZXh0IHRvDQorb3RoZXIgYmFja2dyb3VuZHMsIHN1Y2ggYXMgdGhlIHNwZWNpYWwgcGFs ZXR0ZSBjb2xvcg0KKydiZy1wYXJlbi1tYXRjaC1pbnRlbnNlJy4iDQorICAocGNhc2UgbW9kdXMt dGhlbWVzLXBhcmVuLW1hdGNoDQorICAgICgnc3VidGxlLWJvbGQgKGxpc3QgOmluaGVyaXQgJ2Jv bGQgOmJhY2tncm91bmQgbm9ybWFsYmcpKQ0KKyAgICAoJ2ludGVuc2UtYm9sZCAobGlzdCA6aW5o ZXJpdCAnYm9sZCA6YmFja2dyb3VuZCBpbnRlbnNlYmcpKQ0KKyAgICAoJ2ludGVuc2UgKGxpc3Qg OmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbm9ybWFs YmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tc3ludGF4LWZvcmVncm91bmQgKGZnIGZh aW50KQ0KKyAgIkFwcGx5IGZvcmVncm91bmQgdmFsdWUgdG8gY29kZSBzeW50YXguDQorRkcgaXMg dGhlIGRlZmF1bHQuICBGQUlOVCBpcyB0eXBpY2FsbHkgdGhlIHNhbWUgY29sb3IgaW4gaXRzDQor ZGVzYXR1cmF0ZWQgdmVyc2lvbi4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLXN5bnRheA0KKyAg ICAoJ2ZhaW50IChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisgICAgKCdmYWludC15ZWxsb3ct Y29tbWVudHMgKGxpc3QgOmZvcmVncm91bmQgZmFpbnQpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdy b3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmEgKGZnIGZh aW50IGFsdCkNCisgICJBcHBseSBmb3JlZ3JvdW5kIHZhbHVlIHRvIGNvZGUgc3ludGF4Lg0KK0ZH IGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNhbGx5IHRoZSBzYW1lIGNvbG9yIGluIGl0 cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uICBBTFQgaXMgYW5vdGhlciBodWUuIg0KKyAgKHBjYXNl IG1vZHVzLXRoZW1lcy1zeW50YXgNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmYWlu dCkpDQorICAgICgnZmFpbnQteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50 KSkNCisgICAgKCdhbHQtc3ludGF4IChsaXN0IDpmb3JlZ3JvdW5kIGFsdCkpDQorICAgICgnYWx0 LXN5bnRheC15ZWxsb3ctY29tbWVudHMgKGxpc3QgOmZvcmVncm91bmQgYWx0KSkNCisgICAgKF8g KGxpc3QgOmZvcmVncm91bmQgZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tc3ludGF4 LXN0cmluZyAoZmcgZmFpbnQgZ3JlZW4gYWx0KQ0KKyAgIkFwcGx5IGZvcmVncm91bmQgdmFsdWUg dG8gc3RyaW5ncyBpbiBjb2RlIHN5bnRheC4NCitGRyBpcyB0aGUgZGVmYXVsdC4gIEZBSU5UIGlz IHR5cGljYWxseSB0aGUgc2FtZSBjb2xvciBpbiBpdHMNCitkZXNhdHVyYXRlZCB2ZXJzaW9uLiAg R1JFRU4gaXMgYSBjb2xvciB2YXJpYW50IGluIHRoYXQgc2lkZSBvZg0KK3RoZSBzcGVjdHJ1bS4g IEFMVCBpcyBhbm90aGVyIGh1ZS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLXN5bnRheA0KKyAg ICAoJ2ZhaW50IChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisgICAgKCdmYWludC15ZWxsb3ct Y29tbWVudHMgKGxpc3QgOmZvcmVncm91bmQgZmFpbnQpKQ0KKyAgICAoJ2dyZWVuLXN0cmluZ3Mg KGxpc3QgOmZvcmVncm91bmQgZ3JlZW4pKQ0KKyAgICAoJ3llbGxvdy1jb21tZW50cy1ncmVlbi1z dHJpbmdzIChsaXN0IDpmb3JlZ3JvdW5kIGFsdCkpDQorICAgICgnYWx0LXN5bnRheCAobGlzdCA6 Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAoJ2FsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzIChsaXN0 IDpmb3JlZ3JvdW5kIGFsdCkpDQorICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0K KyhkZWZ1biBtb2R1cy10aGVtZXMtLXN5bnRheC1kb2NzdHJpbmcgKGZnIGZhaW50IGdyZWVuIGFs dCkNCisgICJBcHBseSBmb3JlZ3JvdW5kIHZhbHVlIHRvIHN0cmluZ3MgaW4gY29kZSBzeW50YXgu DQorRkcgaXMgdGhlIGRlZmF1bHQuICBGQUlOVCBpcyB0eXBpY2FsbHkgdGhlIHNhbWUgY29sb3Ig aW4gaXRzDQorZGVzYXR1cmF0ZWQgdmVyc2lvbi4gIEdSRUVOIGlzIGEgY29sb3IgdmFyaWFudCBp biB0aGF0IHNpZGUgb2YNCit0aGUgc3BlY3RydW0uICBBTFQgaXMgYW5vdGhlciBodWUuIg0KKyAg KHBjYXNlIG1vZHVzLXRoZW1lcy1zeW50YXgNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3Vu ZCBmYWludCkpDQorICAgICgnZmFpbnQteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5k IGZhaW50KSkNCisgICAgKCdncmVlbi1zdHJpbmdzIChsaXN0IDpmb3JlZ3JvdW5kIGdyZWVuKSkN CisgICAgKCd5ZWxsb3ctY29tbWVudHMtZ3JlZW4tc3RyaW5ncyAobGlzdCA6Zm9yZWdyb3VuZCBn cmVlbikpDQorICAgICgnYWx0LXN5bnRheCAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAo J2FsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIGFsdCkpDQorICAg IChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLXN5 bnRheC1jb21tZW50IChmZyB5ZWxsb3cpDQorICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1ZSB0byBz dHJpbmdzIGluIGNvZGUgc3ludGF4Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgWUVMTE9XIGlzIGEg Y29sb3IgdmFyaWFudCBvZiB0aGF0IG5hbWUuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1zeW50 YXgNCisgICAgKCd5ZWxsb3ctY29tbWVudHMgKGxpc3QgOmZvcmVncm91bmQgeWVsbG93KSkNCisg ICAgKCd5ZWxsb3ctY29tbWVudHMtZ3JlZW4tc3RyaW5ncyAobGlzdCA6Zm9yZWdyb3VuZCB5ZWxs b3cpKQ0KKyAgICAoJ2FsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5k IHllbGxvdykpDQorICAgICgnZmFpbnQteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5k IHllbGxvdykpDQorICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBt b2R1cy10aGVtZXMtLWhlYWRpbmctcCAoa2V5KQ0KKyAgIlF1ZXJ5IHN0eWxlIG9mIEtFWSBpbiBg bW9kdXMtdGhlbWVzLWhlYWRpbmdzJy4iDQorICAoY2RyIChhc3NvYyBrZXkgbW9kdXMtdGhlbWVz LWhlYWRpbmdzKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0taGVhZGluZyAobGV2ZWwgZmcg ZmctYWx0IGJnIGJvcmRlcikNCisgICJDb25kaXRpb25hbCBzdHlsZXMgZm9yIGBtb2R1cy10aGVt ZXMtaGVhZGluZ3MnLg0KKw0KK0xFVkVMIGlzIHRoZSBoZWFkaW5nJ3MgcG9zaXRpb24gaW4gdGhl aXIgb3JkZXIuICBGRyBpcyB0aGUNCitkZWZhdWx0IHRleHQgY29sb3IuICBGRy1BTFQgaXMgYW4g YWNjZW50ZWQsIG1vcmUgc2F0dXJhdGVkIHZhbHVlDQordGhhbiB0aGUgZGVmYXVsdC4gIEJHIGlz IGEgbnVhbmNlZCwgdHlwaWNhbGx5IGFjY2VudGVkLA0KK2JhY2tncm91bmQgdGhhdCBjYW4gd29y ayB3ZWxsIHdpdGggZWl0aGVyIG9mIHRoZSBmb3JlZ3JvdW5kDQordmFsdWVzLiAgQk9SREVSIGlz IGEgY29sb3IgdmFsdWUgdGhhdCBjb21iaW5lcyB3ZWxsIHdpdGggdGhlDQorYmFja2dyb3VuZCBh bmQgYWx0ZXJuYXRpdmUgZm9yZWdyb3VuZC4iDQorICAobGV0KiAoKGtleSAobW9kdXMtdGhlbWVz LS1oZWFkaW5nLXAgYCxsZXZlbCkpDQorICAgICAgICAgKHN0eWxlIChvciBrZXkgKG1vZHVzLXRo ZW1lcy0taGVhZGluZy1wIHQpKSkNCisgICAgICAgICAodmFyICh3aGVuIG1vZHVzLXRoZW1lcy12 YXJpYWJsZS1waXRjaC1oZWFkaW5ncw0KKyAgICAgICAgICAgICAgICAndmFyaWFibGUtcGl0Y2gp KQ0KKyAgICAgICAgICh2YXJib2xkIChpZiB2YXINCisgICAgICAgICAgICAgICAgICAgICAgKGFw cGVuZCAobGlzdCAnYm9sZCkgKGxpc3QgdmFyKSkNCisgICAgICAgICAgICAgICAgICAgICdib2xk KSkpDQorICAgIChwY2FzZSBzdHlsZQ0KKyAgICAgICgnbm8tYm9sZA0KKyAgICAgICAobGlzdCA6 aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBmZykpDQorICAgICAgKCduby1jb2xvcg0KKyAgICAg ICAobGlzdCA6aW5oZXJpdCBgLHZhcmJvbGQpKQ0KKyAgICAgICgnbm8tY29sb3Itbm8tYm9sZA0K KyAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhcikpDQorICAgICAgKCdsaW5lDQorICAgICAgIChs aXN0IDppbmhlcml0IGAsdmFyYm9sZCA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkN CisgICAgICAoJ2xpbmUtbm8tYm9sZA0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9y ZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkNCisgICAgICAoJ3JhaW5ib3cNCisgICAgICAg KGxpc3QgOmluaGVyaXQgYCx2YXJib2xkIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdy YWluYm93LW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQg ZmctYWx0KSkNCisgICAgICAoJ3JhaW5ib3ctbGluZQ0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBg LHZhcmJvbGQgOmZvcmVncm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIpKQ0KKyAgICAgICgn cmFpbmJvdy1saW5lLW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVn cm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIpKQ0KKyAgICAgICgnaGlnaGxpZ2h0DQorICAg ICAgIChsaXN0IDppbmhlcml0IGAsdmFyYm9sZCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBm ZykpDQorICAgICAgKCdoaWdobGlnaHQtbm8tYm9sZA0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBg LHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZykpDQorICAgICAgKCdyYWluYm93LWhp Z2hsaWdodA0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhcmJvbGQgOmJhY2tncm91bmQgYmcg OmZvcmVncm91bmQgZmctYWx0KSkNCisgICAgICAoJ3JhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQN CisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQg ZmctYWx0KSkNCisgICAgICAoJ3NlY3Rpb24NCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXJi b2xkIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnIDpvdmVybGluZSBib3JkZXIgOmV4dGVu ZCB0KSkNCisgICAgICAoJ3NlY3Rpb24tbm8tYm9sZA0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBg LHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyIDpleHRl bmQgdCkpDQorICAgICAgKCdyYWluYm93LXNlY3Rpb24NCisgICAgICAgKGxpc3QgOmluaGVyaXQg YCx2YXJib2xkIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9y ZGVyIDpleHRlbmQgdCkpDQorICAgICAgKCdyYWluYm93LXNlY3Rpb24tbm8tYm9sZA0KKyAgICAg ICAobGlzdCA6aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQg Om92ZXJsaW5lIGJvcmRlciA6ZXh0ZW5kIHQpKQ0KKyAgICAgIChfDQorICAgICAgIChsaXN0IDpp bmhlcml0IGAsdmFyYm9sZCA6Zm9yZWdyb3VuZCBmZykpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy0tb3JnLWJsb2NrIChiZ2JsaykNCisgICJDb25kaXRpb25hbGx5IHNldCB0aGUgYmFja2dy b3VuZCBvZiBPcmcgYmxvY2tzLg0KK0JHQkxLIGFwcGxpZXMgdG8gYSBkaXN0aW5jdCBuZXV0cmFs IGJhY2tncm91bmQuICBFbHNlIGJsb2NrcyBoYXZlDQorbm8gYmFja2dyb3VuZCBvZiB0aGVpciBv d24gKHRoZSBkZWZhdWx0KSwgc28gdGhleSBsb29rIHRoZSBzYW1lDQorYXMgdGhlIHJlc3Qgb2Yg dGhlIGJ1ZmZlci4NCisNCitgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MnIGFsc28gYWNjZXB0cyBh IGByYWluYm93JyBvcHRpb24NCit3aGljaCBpcyBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgdG8gYG9y Zy1zcmMtYmxvY2stZmFjZXMnIChzZWUgdGhlDQordGhlbWUncyBzb3VyY2UgY29kZSkuIg0KKyAg KGlmIChvciAoZXEgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgJ2dyYXlzY2FsZSkNCisgICAgICAg ICAgKGVxIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzICdncmV5c2NhbGUpKQ0KKyAgICAgIChsaXN0 IDpiYWNrZ3JvdW5kIGJnYmxrIDpleHRlbmQgdCkNCisgICAgKGxpc3QgOmJhY2tncm91bmQgJ3Vu c3BlY2lmaWVkKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tb3JnLWJsb2NrLWRlbGltIChi Z2FjY2VudCBmZ2FjY2VudCBiZyBmZykNCisgICJDb25kaXRpb25hbGx5IHNldCB0aGUgc3R5bGVz IG9mIE9yZyBibG9jayBkZWxpbWl0ZXJzLg0KK0JHLCBGRywgQkdBQ0NFTlQsIEZHQUNDRU5UIGFw cGx5IGEgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZA0KK2NvbG9yIHJlc3BlY3RpdmVseS4NCisN CitUaGUgZm9ybWVyIHBhaXIgaXMgYSBncmV5c2NhbGUgY29tYmluYXRpb24gdGhhdCBzaG91bGQg YmUgbW9yZQ0KK2Rpc3RpbmN0IHRoYW4gdGhlIGJhY2tncm91bmQgb2YgdGhlIGJsb2NrLiAgSXQg aXMgYXBwbGllZCB0byB0aGUNCitkZWZhdWx0IHN0eWxlcyBvciB3aGVuIGBtb2R1cy10aGVtZXMt b3JnLWJsb2NrcycgaXMgc2V0DQordG8gYGdyZXlzY2FsZScuDQorDQorVGhlIGxhdHRlciBwYWly IHNob3VsZCBiZSBtb3JlIHN1YnRsZSB0aGFuIHRoZSBiYWNrZ3JvdW5kIG9mIHRoZQ0KK2Jsb2Nr LCBhcyBpdCBpcyB1c2VkIHdoZW4gYG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzJyBpcw0KK3NldCB0 byBgcmFpbmJvdycuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzDQorICAgICgn Z3JheXNjYWxlIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnIDpleHRlbmQgdCkp DQorICAgICgnZ3JleXNjYWxlIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnIDpl eHRlbmQgdCkpDQorICAgICgncmFpbmJvdyAobGlzdCA6YmFja2dyb3VuZCBiZ2FjY2VudCA6Zm9y ZWdyb3VuZCBmZ2FjY2VudCkpDQorICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3Jv dW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLW9yZy1oYWJpdCAoZGVmYXVsdCAm b3B0aW9uYWwgdHJhZmZpYyBzaW1wbGUpDQorICAiU3BlY2lmeSBiYWNrZ3JvdW5kIHZhbHVlcyBm b3IgYG1vZHVzLXRoZW1lcy1vcmctaGFiaXQnLg0KK0lmIG5vIG9wdGlvbmFsIFRSQUZGSUMgYXJn dW1lbnQgaXMgc3VwcGxpZWQsIHRoZSBERUZBVUxUIGlzIHVzZWQNCitpbnN0ZWFkLiAgU2FtZSBm b3IgU0lNUExFLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtb3JnLWhhYml0DQorICAgICgndHJh ZmZpYy1saWdodCAobGlzdCA6YmFja2dyb3VuZCAob3IgdHJhZmZpYyBkZWZhdWx0KSkpDQorICAg ICgnc2ltcGxpZmllZCAobGlzdCA6YmFja2dyb3VuZCAob3Igc2ltcGxlIGRlZmF1bHQpKSkNCisg ICAgKF8gKGxpc3QgOmJhY2tncm91bmQgZGVmYXVsdCkpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhl bWVzLS1tb2RlLWxpbmUtYXR0cnMNCisgICAgKGZnIGJnIGZnLWFsdCBiZy1hbHQgYm9yZGVyIGJv cmRlci0zZCAmb3B0aW9uYWwgYWx0LXN0eWxlIGJvcmRlci13aWR0aCBmZy1kaXN0YW50KQ0KKyAg IkNvbG9yIGNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXRoZW1lcy1tb2RlLWxpbmUnLg0KKw0KK0ZH IGFuZCBCRyBhcmUgdGhlIGRlZmF1bHQgY29sb3JzLiAgRkctQUxUIGFuZCBCRy1BTFQgYXJlIG1l YW50IHRvDQorYWNjb21tb2RhdGUgdGhlIG9wdGlvbnMgZm9yIGEgM0QgbW9kZWxpbmUgb3IgYSBg bW9vZHknIGNvbXBsaWFudA0KK29uZS4gIEJPUkRFUiBhcHBsaWVzIHRvIGFsbCBwZXJtdXRhdGlv bnMgb2YgdGhlIG1vZGVsaW5lLCBleGNlcHQNCit0aGUgdGhyZWUtZGltZW5zaW9uYWwgZWZmZWN0 LCB3aGVyZSBCT1JERVItM0QgaXMgdXNlZCBpbnN0ZWFkLg0KKw0KK09wdGlvbmFsIEFMVC1TVFlM RSBhcHBsaWVzIGFuIGFwcHJvcHJpYXRlIHN0eWxlIHRvIHRoZSBtb2RlDQorbGluZSdzIGJveCBw cm9wZXJ0eS4NCisNCitPcHRpb25hbCBCT1JERVItV0lEVEggc3BlY2lmaWVzIGFuIGludGVnZXIg Zm9yIHRoZSB3aWR0aCBvZiB0aGUNCityZWN0YW5nbGUgdGhhdCBwcm9kdWNlcyB0aGUgYm94IGVm ZmVjdC4NCisNCitPcHRpb25hbCBGRy1ESVNUQU5UIHNob3VsZCBiZSBjbG9zZSB0byB0aGUgbWFp biBiYWNrZ3JvdW5kDQordmFsdWVzLiAgSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBhIGRp c3RhbnQtZm9yZWdyb3VuZA0KK3Byb3BlcnR5LiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtbW9k ZS1saW5lDQorICAgICgnM2QNCisgICAgIGAoOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsZmctYWx0DQorICAgICAgIDpib3ggKDpsaW5lLXdpZHRoICwob3IgYm9yZGVyLXdpZHRoIDEp DQorICAgICAgICAgICAgIDpjb2xvciAsYm9yZGVyLTNkDQorICAgICAgICAgICAgIDpzdHlsZSAs KGFuZCBhbHQtc3R5bGUgJ3JlbGVhc2VkLWJ1dHRvbikpKSkNCisgICAgKCdtb29keQ0KKyAgICAg YCg6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQNCisgICAgICAgOnVuZGVy bGluZSAsYm9yZGVyIDpvdmVybGluZSAsYm9yZGVyDQorICAgICAgIDpkaXN0YW50LWZvcmVncm91 bmQgLGZnLWRpc3RhbnQpKQ0KKyAgICAoJ2JvcmRlcmxlc3MNCisgICAgIGAoOmZvcmVncm91bmQg LGZnIDpiYWNrZ3JvdW5kICxiZyA6Ym94ICxiZykpDQorICAgICgnYm9yZGVybGVzcy0zZA0KKyAg ICAgYCg6Zm9yZWdyb3VuZCAsZmcgOmJhY2tncm91bmQgLGJnDQorICAgICAgIDpib3ggKDpsaW5l LXdpZHRoICwob3IgYm9yZGVyLXdpZHRoIDEpDQorICAgICAgICAgICAgIDpjb2xvciAsYmcNCisg ICAgICAgICAgICAgOnN0eWxlICwoYW5kIGFsdC1zdHlsZSAncmVsZWFzZWQtYnV0dG9uKSkpKQ0K KyAgICAoJ2JvcmRlcmxlc3MtbW9vZHkNCisgICAgIGAoOmJhY2tncm91bmQgLGJnIDpmb3JlZ3Jv dW5kICxmZw0KKyAgICAgICA6dW5kZXJsaW5lICxiZyA6b3ZlcmxpbmUgLGJnDQorICAgICAgIDpk aXN0YW50LWZvcmVncm91bmQgLGZnLWRpc3RhbnQpKQ0KKyAgICAoXw0KKyAgICAgYCg6Zm9yZWdy b3VuZCAsZmcgOmJhY2tncm91bmQgLGJnIDpib3ggLGJvcmRlcikpKSkNCisNCisoZGVmdW4gbW9k dXMtdGhlbWVzLS1kaWZmDQorICAgIChmZy1vbmx5LWJnIGZnLW9ubHktZmcgbWFpbmJnIG1haW5m ZyBhbHRiZyBhbHRmZyAmb3B0aW9uYWwgZGV1dGVyYW5iZyBkZXV0ZXJhbmZnICBiZy1vbmx5LWZn KQ0KKyAgIkNvbG9yIGNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXRoZW1lcy1kaWZmcycuDQorDQor RkctT05MWS1CRyBzaG91bGQgYmUgc2ltaWxhciBvciB0aGUgc2FtZSBhcyB0aGUgbWFpbiBiYWNr Z3JvdW5kLg0KK0ZHLU9OTFktRkcgc2hvdWxkIGJlIGEgc2F0dXJhdGVkIGFjY2VudCB2YWx1ZSB0 aGF0IGNhbiBiZQ0KK2NvbWJpbmVkIHdpdGggdGhlIGZvcm1lci4NCisNCitNQUlOQkcgbXVzdCBi ZSBvbmUgb2YgdGhlIGRlZGljYXRlZCBiYWNrZ3JvdW5kcyBmb3IgZGlmZnMgd2hpbGUNCitNQUlO RkcgbXVzdCBiZSB0aGUgc2FtZSBmb3IgdGhlIGZvcmVncm91bmQuDQorDQorQUxUQkcgbmVlZHMg dG8gYmUgYSBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMgbWVhbnQgdG8NCiti ZSBjb21iaW5lZCB3aXRoIEFMVEZHLiAgQm90aCBtdXN0IGJlIGxlc3MgaW50ZW5zZSB0aGFuIE1B SU5CRw0KK2FuZCBNQUlORkcgcmVzcGVjdGl2ZWx5Lg0KKw0KK0RFVVRFUkFOQkcgYW5kIERFVVRF UkFORkcgbXVzdCBiZSBjb21iaW5hdGlvbnMgb2YgY29sb3JzIHRoYXQgYWNjb3VudA0KK2ZvciBy ZWQtZ3JlZW4gY29sb3IgZGVmZmljaWVuY3kgKGRldXRlcmFub3BpYSkuDQorDQorT3B0aW9uYWwg QkctT05MWS1GRyBhcHBsaWVzIEFMVEZHIGVsc2UgbGVhdmVzIHRoZSBmb3JlZ3JvdW5kDQordW5z cGVjaWZpZWQuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1kaWZmcw0KKyAgICAoJ2ZnLW9ubHkg KGxpc3QgOmJhY2tncm91bmQgZmctb25seS1iZyA6Zm9yZWdyb3VuZCBmZy1vbmx5LWZnKSkNCisg ICAgKCdkZXNhdHVyYXRlZCAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6Zm9yZWdyb3VuZCBhbHRm ZykpDQorICAgICgnZGV1dGVyYW5vcGlhIChsaXN0IDpiYWNrZ3JvdW5kIChvciBkZXV0ZXJhbmJn IG1haW5iZykgOmZvcmVncm91bmQgKG9yIGRldXRlcmFuZmcgbWFpbmZnKSkpDQorICAgICgnYmct b25seSAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6Zm9yZWdyb3VuZCAoaWYgYmctb25seS1mZyBh bHRmZyAndW5zcGVjaWZpZWQpKSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbWFpbmJnIDpm b3JlZ3JvdW5kIG1haW5mZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1kaWZmLWRldXRl cmFuIChkZXV0ZXJhbiBtYWluKQ0KKyAgIkRldGVybWluZSB3aGV0aGVyIHRoZSBERVVURVJBTiBv ciBNQUlOIGNvbG9yIHNob3VsZCBiZSB1c2VkLg0KK1RoaXMgaXMgYmFzZWQgb24gd2hldGhlciBg bW9kdXMtdGhlbWVzLWRpZmZzJyBoYXMgdGhlIHZhbHVlDQorYGRldXRlcmFub3BpYScuIg0KKyAg KGlmIChlcSBtb2R1cy10aGVtZXMtZGlmZnMgJ2RldXRlcmFub3BpYSkNCisgICAgICAobGlzdCBk ZXV0ZXJhbikNCisgICAgKGxpc3QgbWFpbikpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWRp ZmYtdGV4dCAoZmctb25seS1mZyBkZWZhdWx0LWZnKQ0KKyAgIkxpa2UgYG1vZHVzLXRoZW1lcy0t ZGlmZicsIGJ1dCBvbmx5IGZvciBmb3JlZ3JvdW5kcy4NCitGRy1PTkxZLUZHIGlzIHRoZSBmb3Jl Z3JvdW5kIHRoYXQgaXMgdXNlZCB3aGVuIGRpZmZzIGFyZSBzdHlsZWQNCit1c2luZyBvbmx5IGZv cmVncm91bmQgY29sb3JzLiAgREVGQVVMVC1GRyBjb3ZlcnMgYWxsIG90aGVyDQorY2FzZXMuIg0K KyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1kaWZmcw0KKyAgICAoJ2ZnLW9ubHkgKGxpc3QgOmZvcmVn cm91bmQgZmctb25seS1mZykpDQorICAgICgnYmctb25seSAobGlzdCA6Zm9yZWdyb3VuZCAndW5z cGVjaWZpZWQpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBkZWZhdWx0LWZnKSkpKQ0KKw0K KyhkZWZ1biBtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zIChtYWluZmcgc3VidGxl YmcgaW50ZW5zZWJnIGludGVuc2VmZykNCisgICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy10aGVt ZXMtY29tcGxldGlvbnMnLg0KKw0KK01BSU5GRyBpcyBhbiBhY2NlbnRlZCBmb3JlZ3JvdW5kIHZh bHVlLiAgU1VCVExFQkcgaXMgYW4gYWNjZW50ZWQNCitiYWNrZ3JvdW5kIHZhbHVlIHRoYXQgY2Fu IGJlIGNvbWJpbmVkIHdpdGggTUFJTkZHLiAgSU5URU5TRUJHIGFuZA0KK0lOVEVOU0VGRyBhcmUg YWNjZW50ZWQgY29sb3JzIHRoYXQgYXJlIGRlc2lnbmVkIHRvIGJlIHVzZWQgaW4NCit0YW5kZW0u DQorDQorVGhlc2UgYXJlIGludGVuZGVkIGZvciBJY29tcGxldGUsIElkbywgYW5kIHJlbGF0ZWQu Ig0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1jb21wbGV0aW9ucw0KKyAgICAoJ29waW5pb25hdGVk IChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KKyAg ICAoJ21vZGVyYXRlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIG1haW5m ZykpDQorICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIG1haW5mZykpKSkNCisNCisoZGVmdW4gbW9k dXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucyAoc3VidGxlZmFjZSBpbnRlbnNlZmFjZSBhbHRm YWNlICZvcHRpb25hbCBhbHRmZyBib2xkKQ0KKyAgIkNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXRo ZW1lcy1jb21wbGV0aW9ucycuDQorDQorU1VCVExFRkFDRSBhbmQgSU5URU5TRUZBQ0UgYXJlIGN1 c3RvbSB0aGVtZSBmYWNlcyB0aGF0IGNvbWJpbmUgYQ0KK2JhY2tncm91bmQgYW5kIGZvcmVncm91 bmQgdmFsdWUuICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28NCitpcyBhIG1hdHRlciBv ZiBkZWdyZWUuDQorDQorQUxURkFDRSBpcyBhIGNvbWJpbmF0aW9uIG9mIGNvbG9ycyB0aGF0IHJl cHJlc2VudHMgYSBkZXBhcnR1cmUNCitmcm9tIHRoZSBVSSdzIGRlZmF1bHQgYWVzdGhldGljcy4g IE9wdGlvbmFsIEFMVEZHIGlzIG1lYW50IHRvIGJlDQordXNlZCBpbiB0YW5kZW0gd2l0aCBpdC4N CisNCitPcHRpb25hbCBCT0xEIHdpbGwgYXBwbHkgYSBoZWF2aWVyIHdlaWdodCB0byB0aGUgdGV4 dC4NCisNCitUaGVzZSBhcmUgaW50ZW5kZWQgZm9yIEhlbG0sIEl2eSwgZXRjLiINCisgIChwY2Fz ZSBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMNCisgICAgKCdvcGluaW9uYXRlZCAobGlzdCA6aW5o ZXJpdCAobGlzdCBhbHRmYWNlIGJvbGQpDQorICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgKG9yIGFsdGZnICd1bnNwZWNpZmllZCkpKQ0KKyAgICAoJ21vZGVyYXRlIChsaXN0IDpp bmhlcml0IChsaXN0IHN1YnRsZWZhY2UgYm9sZCkpKQ0KKyAgICAoXyAobGlzdCA6aW5oZXJpdCAo bGlzdCBpbnRlbnNlZmFjZSBib2xkKSkpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1saW5r IChmZyBmZ2ZhaW50IHVuZGVybGluZSkNCisgICJDb25kaXRpb25hbCBhcHBsaWNhdGlvbiBvZiBs aW5rIHN0eWxlcy4NCitGRyBpcyB0aGUgbGluaydzIGRlZmF1bHQgY29sb3IgZm9yIGl0cyB0ZXh0 IGFuZCB1bmRlcmxpbmUNCitwcm9wZXJ0eS4gIEZHRkFJTlQgaXMgYSBkZXNhdHVyYXRlZCBjb2xv ciBmb3IgdGhlIHRleHQgYW5kDQordW5kZXJsaW5lLiAgVU5ERVJMSU5FIGlzIGEgZ3JleSBjb2xv ciBvbmx5IGZvciB0aGUgdW5kZWxpbmUuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1saW5rcw0K KyAgICAoJ2ZhaW50IChsaXN0IDpmb3JlZ3JvdW5kIGZnZmFpbnQgOnVuZGVybGluZSB0KSkNCisg ICAgKCduZXV0cmFsLXVuZGVybGluZSAobGlzdCA6Zm9yZWdyb3VuZCBmZyA6dW5kZXJsaW5lIHVu ZGVybGluZSkpDQorICAgICgnZmFpbnQtbmV1dHJhbC11bmRlcmxpbmUgKGxpc3QgOmZvcmVncm91 bmQgZmdmYWludCA6dW5kZXJsaW5lIHVuZGVybGluZSkpDQorICAgICgnbm8tdW5kZXJsaW5lIChs aXN0IDpmb3JlZ3JvdW5kIGZnIDp1bmRlcmxpbmUgbmlsKSkNCisgICAgKCd1bmRlcmxpbmUtb25s eSAobGlzdCA6dW5kZXJsaW5lIHQpKQ0KKyAgICAoJ25ldXRyYWwtdW5kZXJsaW5lLW9ubHkgKGxp c3QgOnVuZGVybGluZSB1bmRlcmxpbmUpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBmZyA6 dW5kZXJsaW5lIHQpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tbGluay1jb2xvciAoZmcg ZmdmYWludCAmb3B0aW9uYWwgbmV1dHJhbGZnKQ0KKyAgIkV4dGVuZHMgYG1vZHVzLXRoZW1lcy0t bGluaycuDQorRkcgaXMgdGhlIG1haW4gYWNjZW50ZWQgZm9yZWdyb3VuZC4gIEZHRkFJTlQgaXMg YWxzbyBhY2NlbnRlZCwNCit5ZXQgZGVzYXR1cmF0ZWQuICBPcHRpb25hbCBORVVUUkFMRkcgaXMg YSBncmF5IHZhbHVlLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtbGlua3MNCisgICAgKCdmYWlu dCAobGlzdCA6Zm9yZWdyb3VuZCBmZ2ZhaW50KSkNCisgICAgKCdmYWludC1uZXV0cmFsLXVuZGVy bGluZSAobGlzdCA6Zm9yZWdyb3VuZCBmZ2ZhaW50KSkNCisgICAgKCd1bmRlcmxpbmUtb25seSAo bGlzdCA6dW5kZXJsaW5lIHQgOmZvcmVncm91bmQgKG9yIG5ldXRyYWxmZyAndW5zcGVjaWZpZWQp KSkNCisgICAgKCduZXV0cmFsLXVuZGVybGluZS1vbmx5IChsaXN0IDp1bmRlcmxpbmUgJ3Vuc3Bl Y2lmaWVkIDpmb3JlZ3JvdW5kIChvciBuZXV0cmFsZmcgJ3Vuc3BlY2lmaWVkKSkpDQorICAgIChf IChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLXNjYWxl IChhbW91bnQpDQorICAiU2NhbGUgaGVhZGluZyBieSBBTU9VTlQuDQorQU1PVU5UIGlzIGEgY3Vz dG9taXphdGlvbiBvcHRpb24uIg0KKyAgKHdoZW4gbW9kdXMtdGhlbWVzLXNjYWxlLWhlYWRpbmdz DQorICAgIChsaXN0IDpoZWlnaHQgYW1vdW50KSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0t cmVnaW9uIChiZyBmZyBiZ3N1YnRsZSkNCisgICJBcHBseSBgbW9kdXMtdGhlbWVzLXJlZ2lvbicg c3R5bGVzLg0KKw0KK0JHIGFuZCBGRyBhcmUgdGhlIG1haW4gdmFsdWVzIHRoYXQgYXJlIHVzZWQg YnkgZGVmYXVsdC4gIEJHU1VCVExFDQoraXMgYSBzdWJ0bGUgYmFja2dyb3VuZCB2YWx1ZSB0aGF0 IGNhbiBiZSBjb21iaW5lZCB3aXRoIGFsbCBjb2xvcnMNCit1c2VkIHRvIGZvbnRpZnkgdGV4dCBh bmQgY29kZSBzeW50YXguIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1yZWdpb24NCisgICAgKCdi Zy1vbmx5IChsaXN0IDpiYWNrZ3JvdW5kIGJnc3VidGxlKSkNCisgICAgKCdiZy1vbmx5LW5vLWV4 dGVuZCAobGlzdCA6YmFja2dyb3VuZCBiZ3N1YnRsZSA6ZXh0ZW5kIG5pbCkpDQorICAgICgnbm8t ZXh0ZW5kIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnIDpleHRlbmQgbmlsKSkN CisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkpDQorDQorDA0K Kw0KKzs7OzsgVXRpbGl0aWVzIGZvciBESVkgdXNlcnMNCisNCis7OyBUaGlzIGlzIHRoZSBXQ0FH IGZvcm11bGE6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE4Lmh0bWwNCiso ZGVmdW4gbW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYSAoaGV4KQ0KKyAgIkdldCBXQ0FHIHZhbHVl IG9mIGNvbG9yIHZhbHVlIEhFWC4NCitUaGUgdmFsdWUgaXMgZGVmaW5lZCBpbiBoZXhhZGVjaW1h bCBSR0Igbm90YXRpb24sIHN1Y2ggYXMgdGhvc2UgaW4NCitgbW9kdXMtdGhlbWVzLW9wZXJhbmRp LWNvbG9ycycgYW5kIGBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnMnLiINCisgIChjbC1sb29w IGZvciBrIGluICcoMC4yMTI2IDAuNzE1MiAwLjA3MjIpDQorICAgICAgICAgICBmb3IgeCBpbiAo Y29sb3ItbmFtZS10by1yZ2IgaGV4KQ0KKyAgICAgICAgICAgc3VtICgqIGsgKGlmICg8PSB4IDAu MDM5MjgpDQorICAgICAgICAgICAgICAgICAgICAgICAgKC8geCAxMi45MikNCisgICAgICAgICAg ICAgICAgICAgICAgKGV4cHQgKC8gKCsgeCAwLjA1NSkgMS4wNTUpIDIuNCkpKSkpDQorDQorOzs7 IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNvbnRyYXN0IChjMSBjMikNCisgICJN ZWFzdXJlIFdDQUcgY29udHJhc3QgcmF0aW8gYmV0d2VlbiBDMSBhbmQgQzIuDQorQzEgYW5kIEMy IGFyZSBjb2xvciB2YWx1ZXMgd3JpdHRlbiBpbiBoZXhhZGVjaW1hbCBSR0IuIg0KKyAgKGxldCAo KGN0ICgvICgrIChtb2R1cy10aGVtZXMtd2NhZy1mb3JtdWxhIGMxKSAwLjA1KQ0KKyAgICAgICAg ICAgICAgICgrIChtb2R1cy10aGVtZXMtd2NhZy1mb3JtdWxhIGMyKSAwLjA1KSkpKQ0KKyAgICAo bWF4IGN0ICgvIGN0KSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtY3VycmVudC1wYWxldHRl ICgpDQorICAiUmV0dXJuIGN1cnJlbnQgY29sb3IgcGFsZXR0ZS4iDQorICAobW9kdXMtdGhlbWVz LS1wYWxldHRlIChtb2R1cy10aGVtZXMtLWN1cnJlbnQtdGhlbWUpKSkNCisNCis7OzsjIyNhdXRv bG9hZA0KKyhkZWZ1biBtb2R1cy10aGVtZXMtY29sb3IgKGNvbG9yKQ0KKyAgIlJldHVybiBjb2xv ciB2YWx1ZSBmb3IgQ09MT1IgZnJvbSBjdXJyZW50IHBhbGV0dGUuDQorQ09MT1IgaXMgYSBrZXkg aW4gYG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnMnIG9yDQorYG1vZHVzLXRoZW1lcy12aXZl bmRpLWNvbG9ycycuIg0KKyAgKGFsaXN0LWdldCBjb2xvciAobW9kdXMtdGhlbWVzLWN1cnJlbnQt cGFsZXR0ZSkpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1lcy1jb2xv ci1hbHRzIChsaWdodC1jb2xvciBkYXJrLWNvbG9yKQ0KKyAgIlJldHVybiBjb2xvciB2YWx1ZSBm cm9tIGN1cnJlbnQgcGFsZXR0ZS4NCitXaGVuIE1vZHVzIE9wZXJhbmRpIGlzIGVuYWJsZWQsIHJl dHVybiBjb2xvciB2YWx1ZSBmb3IgY29sb3INCitMSUdIVC1DT0xPUi4gIFdoZW4gTW9kdXMgVml2 ZW5kaSBpcyBlbmFibGVkLCByZXR1cm4gY29sb3IgdmFsdWUNCitmb3IgREFSSy1DT0xPUi4gIExJ R0hULUNPTE9SIGFuZCBEQVJLLUNPTE9SIGFyZSBrZXlzIGluDQorYG1vZHVzLXRoZW1lcy1vcGVy YW5kaS1jb2xvcnMnIG9yIGBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnMnLiINCisgIChsZXQq ICgodGhlbWUgKG1vZHVzLXRoZW1lcy0tY3VycmVudC10aGVtZSkpDQorICAgICAgICAgKGNvbG9y IChwY2FzZSB0aGVtZQ0KKyAgICAgICAgICAgICAgICAgICgnbW9kdXMtb3BlcmFuZGkgbGlnaHQt Y29sb3IpDQorICAgICAgICAgICAgICAgICAgKCdtb2R1cy12aXZlbmRpIGRhcmstY29sb3IpDQor ICAgICAgICAgICAgICAgICAgKF90aGVtZQ0KKyAgICAgICAgICAgICAgICAgICAoZXJyb3IgIicl cycgaXMgbm90IGEgTW9kdXMgdGhlbWUiIHRoZW1lKSkpKSkNCisgICAgKGFsaXN0LWdldCBjb2xv ciAobW9kdXMtdGhlbWVzLS1wYWxldHRlIHRoZW1lKSkpKQ0KKw0KKyhkZWZtYWNybyBtb2R1cy10 aGVtZXMtd2l0aC1jb2xvcnMgKCZyZXN0IGJvZHkpDQorICAiRXZhbHVhdGUgQk9EWSB3aXRoIGNv bG9ycyBmcm9tIGN1cnJlbnQgcGFsZXR0ZSBib3VuZC4NCitGb3IgY29sb3JzIGJvdW5kLCBzZWUg YG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnMnIG9yDQorYG1vZHVzLXRoZW1lcy12aXZlbmRp LWNvbG9ycycuIg0KKyAgKGRlY2xhcmUgKGluZGVudCAwKSkNCisgIChsZXQgKChwYWxldHRlLXN5 bSAoZ2Vuc3ltKSkNCisgICAgICAgIChjb2xvcnMgKG1hcGNhciAjJ2NhciBtb2R1cy10aGVtZXMt b3BlcmFuZGktY29sb3JzKSkpDQorICAgIGAobGV0KiAoKGNsYXNzICcoKGNsYXNzIGNvbG9yKSAo bWluLWNvbG9ycyA4OSkpKQ0KKyAgICAgICAgICAgICgscGFsZXR0ZS1zeW0gKG1vZHVzLXRoZW1l cy1jdXJyZW50LXBhbGV0dGUpKQ0KKyAgICAgICAgICAgICxAKG1hcGNhciAobGFtYmRhIChjb2xv cikNCisgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBjb2xvciBgKGFsaXN0LWdldCAnLGNv bG9yICxwYWxldHRlLXN5bSkpKQ0KKyAgICAgICAgICAgICAgICAgICAgICBjb2xvcnMpKQ0KKyAg ICAgICAoaWdub3JlIGNsYXNzICxAY29sb3JzKSAgICAgICAgICA7IFNpbGVuY2UgdW51c2VkIHZh cmlhYmxlIHdhcm5pbmdzDQorICAgICAgICxAYm9keSkpKQ0KKw0KKwwNCisNCis7Ozs7IENvbW1h bmRzDQorDQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWxvYWQtdGhlbWVz ICgpDQorICAiRW5zdXJlIHRoYXQgdGhlIE1vZHVzIHRoZW1lcyBhcmUgaW4gYGN1c3RvbS1lbmFi bGVkLXRoZW1lcycuDQorDQorVGhpcyBmdW5jdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIHBh Y2thZ2UgZGVjbGFyYXRpb25zIHN1Y2ggYXMNCit0aG9zZSBkZWZpbmVkIHdpdGggdGhlIGhlbHAg b2YgYHVzZS1wYWNrYWdlJy4gIFRoZSBpZGVhIGlzIHRvIGFkZA0KK3RoaXMgZnVuY3Rpb24gdG8g dGhlIGA6aW5pdCcgc3RhZ2Ugb2YgdGhlIHBhY2thZ2UncyBsb2FkaW5nLCBzbw0KK3RoYXQgc3Vi c2VxdWVudCBjYWxscyB0aGF0IGFzc3VtZSB0aGUgcHJlc2VuY2Ugb2YgYSBsb2FkZWQgdGhlbWUs DQorbGlrZSBgbW9kdXMtdGhlbWVzLXRvZ2dsZScgb3IgYG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJh bmRpJywgd2lsbA0KK2NvbnRpbnVlIHRvIHdvcmsgYXMgaW50ZW5kZWQgZXZlbiBpZiB0aGV5IGFy ZSBsYXp5LWxvYWRlZCAoc3VjaA0KK2FzIHdoZW4gdGhleSBhcmUgZGVjbGFyZWQgaW4gdGhlIGA6 Y29uZmlnJyBwaGFzZSkuIg0KKyAgKHVubGVzcyAob3IgKGN1c3RvbS10aGVtZS1wICdtb2R1cy1v cGVyYW5kaSkNCisgICAgICAgICAgICAgIChjdXN0b20tdGhlbWUtcCAnbW9kdXMtdml2ZW5kaSkp DQorICAgIChsb2FkLXRoZW1lICdtb2R1cy1vcGVyYW5kaSB0IHQpDQorICAgIChsb2FkLXRoZW1l ICdtb2R1cy12aXZlbmRpIHQgdCkpKQ0KKw0KKyhkZWZ2YXIgbW9kdXMtdGhlbWVzLWFmdGVyLWxv YWQtdGhlbWUtaG9vayBuaWwNCisgICJIb29rIHRoYXQgcnVucyBhZnRlciB0aGUgYG1vZHVzLXRo ZW1lcy10b2dnbGUnIHJvdXRpbmVzLiIpDQorDQorOzsgVGhlIHJlYXNvbiB3ZSB1c2UgYGxvYWQt dGhlbWUnIGluc3RlYWQgb2YgYGVuYWJsZS10aGVtZScgaXMgdGhhdCB0aGUNCis7OyBmb3JtZXIg ZG9lcyBhIGtpbmQgb2YgInJlc2V0IiBvbiB0aGUgZmFjZSBzcGVjcy4gIFNvIGl0IHBsYXlzIG5p Y2VseQ0KKzs7IHdpdGggYGN1c3RvbS1zZXQtZmFjZXMnLCBhcyB3ZWxsIGFzIGRlZmN1c3RvbSB1 c2VyIGN1c3RvbWl6YXRpb25zLA0KKzs7IGluY2x1ZGluZyB0aGUgbGlrZXMgb2YgYG1vZHVzLXRo ZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVycmlkZXMnLg0KKzs7DQorOzsgVGVzdHMgc2hvdyB0aGF0 IGBlbmFibGUtdGhlbWUnIGRvZXMgbm90IHJlLXJlYWQgdGhvc2UgdmFyaWFibGVzLCBzbw0KKzs7 IGl0IG1pZ2h0IGFwcGVhciB0byB0aGUgdW5zdXNwZWN0aW5nIHVzZXIgdGhhdCB0aGUgdGhlbWVz IGFyZSBzb21laG93DQorOzsgYnJva2VuLg0KKzs7DQorOzsgVGhpcyAicmVzZXQiLCBob3dldmVy LCBjb21lcyBhdCB0aGUgY29zdCBvZiBiZWluZyBhIGJpdCBzbG93ZXIgdGhhbg0KKzs7IGBlbmFi bGUtdGhlbWUnLiAgVXNlciB3aG8gaGF2ZSBhIHN0YWJsZSBzZXR1cCBhbmQgc2VsZG9tIHVwZGF0 ZSB0aGVpcg0KKzs7IHZhcmlhYmxlcyBkdXJpbmcgYSBnaXZlbiBFbWFjcyBzZXNzaW9uLCBhcmUg YmV0dGVyIG9mZiB1c2luZw0KKzs7IHNvbWV0aGluZyBsaWtlIHRoaXM6DQorOzsNCis7OyAoZGVm dW4gbW9kdXMtdGhlbWVzLXRvZ2dsZS1lbmFibGVkICgpDQorOzsgICAiVG9nZ2xlIGJldHdlZW4g YG1vZHVzLW9wZXJhbmRpJyBhbmQgYG1vZHVzLXZpdmVuZGknIHRoZW1lcy4iDQorOzsgICAoaW50 ZXJhY3RpdmUpDQorOzsgICAocGNhc2UgKG1vZHVzLXRoZW1lcy0tY3VycmVudC10aGVtZSkNCis7 OyAgICAgKCdtb2R1cy1vcGVyYW5kaSAocHJvZ24gKGVuYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5k aSkNCis7OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRpc2FibGUtdGhlbWUgJ21vZHVz LW9wZXJhbmRpKSkpDQorOzsgICAgICgnbW9kdXMtdml2ZW5kaSAocHJvZ24gKGVuYWJsZS10aGVt ZSAnbW9kdXMtb3BlcmFuZGkpDQorOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXNh YmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKSkpDQorOzsgICAgIChfIChlcnJvciAiTm8gTW9kdXMg dGhlbWUgaXMgbG9hZGVkOyBldmFsdWF0ZSBgbW9kdXMtdGhlbWVzLWxvYWQtdGhlbWVzJyBmaXJz dCIpKSkpDQorDQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWxvYWQtb3Bl cmFuZGkgKCkNCisgICJMb2FkIGBtb2R1cy1vcGVyYW5kaScgYW5kIGRpc2FibGUgYG1vZHVzLXZp dmVuZGknLg0KK0Fsc28gcnVuIGBtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rJy4i DQorICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkNCisgIChsb2FkLXRoZW1lICdtb2R1 cy1vcGVyYW5kaSB0KQ0KKyAgKHJ1bi1ob29rcyAnbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhl bWUtaG9vaykpDQorDQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWxvYWQt dml2ZW5kaSAoKQ0KKyAgIkxvYWQgYG1vZHVzLXZpdmVuZGknIGFuZCBkaXNhYmxlIGBtb2R1cy1v cGVyYW5kaScuDQorQWxzbyBydW4gYG1vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2sn LiINCisgIChkaXNhYmxlLXRoZW1lICdtb2R1cy1vcGVyYW5kaSkNCisgIChsb2FkLXRoZW1lICdt b2R1cy12aXZlbmRpIHQpDQorICAocnVuLWhvb2tzICdtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10 aGVtZS1ob29rKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1sb2FkLXByb21wdCAoKQ0KKyAg IkhlbHBlciBmb3IgYG1vZHVzLXRoZW1lcy10b2dnbGUnLiINCisgIChsZXQgKCh0aGVtZQ0KKyAg ICAgICAgIChpbnRlcm4NCisgICAgICAgICAgKGNvbXBsZXRpbmctcmVhZCAiTG9hZCBNb2R1cyB0 aGVtZSAod2lsbCBkaXNhYmxlIGFsbCBvdGhlcnMpOiAiDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgJyhtb2R1cy1vcGVyYW5kaSBtb2R1cy12aXZlbmRpKSBuaWwgdCkpKSkNCisgICAgKG1h cGMgIydkaXNhYmxlLXRoZW1lIGN1c3RvbS1lbmFibGVkLXRoZW1lcykNCisgICAgKHBjYXNlIHRo ZW1lDQorICAgICAgKCdtb2R1cy1vcGVyYW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkp KQ0KKyAgICAgICgnbW9kdXMtdml2ZW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaSkpKSkp DQorDQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLXRvZ2dsZSAoKQ0KKyAg IlRvZ2dsZSBiZXR3ZWVuIGBtb2R1cy1vcGVyYW5kaScgYW5kIGBtb2R1cy12aXZlbmRpJyB0aGVt ZXMuDQorQWxzbyBydW5zIGBtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rJyBhdCBp dHMgbGFzdCBzdGFnZQ0KK2J5IHZpcnR1ZSBvZiBjYWxsaW5nIGVpdGhlciBvZiBgbW9kdXMtdGhl bWVzLWxvYWQtb3BlcmFuZGknIGFuZA0KK2Btb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpJyBmdW5j dGlvbnMuIg0KKyAgKGludGVyYWN0aXZlKQ0KKyAgKG1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lcykN CisgIChwY2FzZSAobW9kdXMtdGhlbWVzLS1jdXJyZW50LXRoZW1lKQ0KKyAgICAoJ21vZHVzLW9w ZXJhbmRpIChtb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpKSkNCisgICAgKCdtb2R1cy12aXZlbmRp IChtb2R1cy10aGVtZXMtbG9hZC1vcGVyYW5kaSkpDQorICAgIChfIChtb2R1cy10aGVtZXMtLWxv YWQtcHJvbXB0KSkpKQ0KKw0KKwwNCisNCis7Ozs7IEZhY2Ugc3BlY2lmaWNhdGlvbnMNCisNCiso ZGVmY29uc3QgbW9kdXMtdGhlbWVzLWZhY2VzDQorICAnKA0KKzs7OzsgY3VzdG9tIGZhY2VzDQor ICAgIDs7IHRoZXNlIGJlc3Bva2UgZmFjZXMgYXJlIGluaGVyaXRlZCBieSBvdGhlciBjb25zdHJ1 Y3RzIGJlbG93DQorOzs7Ozsgc3VidGxlIGNvbG9yZWQgYmFja2dyb3VuZHMNCisgICAgYChtb2R1 cy10aGVtZS1zdWJ0bGUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtc3VidGxlLWJnIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4gKCgs Y2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQorICAgIGAobW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAs eWVsbG93LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobW9kdXMtdGhl bWUtc3VidGxlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkp KQ0KKyAgICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxj eWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobW9kdXMtdGhlbWUt c3VidGxlLW5ldXRyYWwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KKzs7Ozs7IGludGVuc2UgY29sb3JlZCBiYWNrZ3JvdW5kcw0K KyAgICBgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQt aW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWlu dGVuc2UtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdyAoKCxj bGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRo ZW1lLWludGVuc2UtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1j eWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IHJlZmlu ZWQgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBjb21iaW5hdGlvbnMNCisgICAgOzsgZ2VuZXJh bCBwdXJwb3NlIHN0eWxlcyB0aGF0IHVzZSBhbiBhY2NlbnRlZCBmb3JlZ3JvdW5kIGFnYWluc3Qg YW4NCisgICAgOzsgYWNjZW50ZWQgYmFja2dyb3VuZA0KKyAgICBgKG1vZHVzLXRoZW1lLXJlZmlu ZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1yZWZpbmUtYmcgOmZvcmVncm91bmQgLHJl ZC1yZWZpbmUtZmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4gKCgsY2xhc3Mg OmJhY2tncm91bmQgLGdyZWVuLXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZn KSkpDQorICAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAseWVsbG93LXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXJl ZmluZS1iZyA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCisgICAgYChtb2R1cy10aGVt ZS1yZWZpbmUtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcg OmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtcmVm aW5lLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tcmVmaW5lLWJnIDpmb3JlZ3JvdW5k ICxjeWFuLXJlZmluZS1mZykpKQ0KKzs7Ozs7ICJhY3RpdmUiIGNvbWJpbmF0aW9ucywgbW9zdGx5 IGZvciB1c2Ugb24gdGhlIG1vZGUgbGluZQ0KKyAgICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQg KCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkp KQ0KKyAgICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Z3JlZW4tYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVt ZS1hY3RpdmUteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctYWN0aXZlIDpmb3Jl Z3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0K KyAgICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxt YWdlbnRhLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAobW9kdXMtdGhl bWUtYWN0aXZlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tYWN0aXZlIDpmb3JlZ3Jv dW5kICxiZy1hY3RpdmUpKSkNCis7Ozs7OyBudWFuY2VkIGJhY2tncm91bmRzDQorICAgIDs7IHVz ZWZ1bCBmb3IgYWRkaW5nIGFuIGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCBpcyBzdWl0YWJsZSBm b3IgYWxsDQorICAgIDs7IG1haW4gZm9yZWdyb3VuZCBjb2xvcnMgKGludGVuZGVkIGZvciB1c2Ug aW4gT3JnIHNvdXJjZSBibG9ja3MpDQorICAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQgKCgs Y2xhc3MgOmJhY2tncm91bmQgLHJlZC1udWFuY2VkLWJnIDpleHRlbmQgdCkpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLW51YW5j ZWQtYmcgOmV4dGVuZCB0KSkpDQorICAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cgKCgs Y2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1udWFuY2VkLWJnIDpleHRlbmQgdCkpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFu Y2VkLWJnIDpleHRlbmQgdCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1udWFuY2VkLWJnIDpleHRlbmQgdCkpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1u dWFuY2VkLWJnIDpleHRlbmQgdCkpKQ0KKzs7Ozs7IGZyaW5nZS1zcGVjaWZpYyBjb21iaW5hdGlv bnMNCisgICAgYChtb2R1cy10aGVtZS1mcmluZ2UtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxy ZWQtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUt ZnJpbmdlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1mcmluZ2UtYmcgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93ICgoLGNs YXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJs dWUtZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUt ZnJpbmdlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtZnJpbmdlLWJnIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4gKCgs Y2xhc3MgOmJhY2tncm91bmQgLGN5YW4tZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorOzs7Ozsgc3BlY2lhbCBiYXNlIHZhbHVlcw0KKyAgICA7OyB0aGVzZSBhcmUgY2xvc2VyIHRv IHRoZSBncmF5c2NhbGUgdGhhbiB0aGUgYWNjZW50cyBkZWZpbmVkIGFib3ZlDQorICAgIDs7IGFu ZCBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gdGhlIG5leHQgY2xvc2VzdCBhbHRlcm5hdGl2ZSB3 b3VsZCBiZQ0KKyAgICA7OyBhIGdyZXlzY2FsZSB2YWx1ZSB0aGFuIGFuIGFjY2VudGVkIG9uZQ0K KyAgICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct c3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtb2R1 cy10aGVtZS1zcGVjaWFsLW1pbGQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtbWls ZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobW9kdXMtdGhlbWUtc3Bl Y2lhbC13YXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLXdhcm0gOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jYWxtIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNhbG0pKSkNCis7Ozs7OyBkaWZmLXNwZWNpZmljIGNvbWJpbmF0aW9ucw0KKyAgICA7OyBp bnRlbmRlZCBmb3IgYGRpZmYtbW9kZScgb3IgZXF1aXZhbGVudA0KKyAgICBgKG1vZHVzLXRoZW1l LWRpZmYtYWRkZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAg ICAgICAgICAgICAgICBiZy1tYWluIGdyZWVuDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1m b2N1cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQorICAgICAgICAgICAgICAgICAgZ3JlZW4t bnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1 cy1hZGRlZC1kZXV0ZXJhbiBmZy1kaWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuKSkpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgIGJnLW1haW4geWVsbG93DQorICAgICAgICAgICAg ICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZA0KKyAgICAg ICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIGZnLWRpZmYtY2hhbmdlZCkpKSkNCisgICAg YChtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVt ZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1tYWluIHJlZA0KKyAgICAgICAgICAgICAg ICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQNCisgICAgICAg ICAgICAgICAgICByZWQtbnVhbmNlZC1iZyBmZy1kaWZmLXJlbW92ZWQpKSkpDQorICAgIGAobW9k dXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVt ZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQN CisgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1hZGRlZCBmZy1kaWZmLXJlZmluZS1h ZGRlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1 cy1hZGRlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5lLWFkZGVkLWRldXRlcmFu IGZnLWRpZmYtcmVmaW5lLWFkZGVkLWRldXRlcmFuKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRp ZmYtcmVmaW5lLWNoYW5nZWQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYN CisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQorICAg ICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtY2hhbmdlZCBmZy1kaWZmLXJlZmluZS1jaGFu Z2VkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9j dXMtY2hhbmdlZCkpKSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkDQor ICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAg YmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVtb3ZlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRp ZmYtcmVmaW5lLXJlbW92ZWQgZmctZGlmZi1yZWZpbmUtcmVtb3ZlZA0KKyAgICAgICAgICAgICAg ICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkpDQorICAg IGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVz LXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgIGJnLWRpbSBncmVlbg0KKyAgICAgICAg ICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0KKyAgICAg ICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KKyAgICAgICAgICAgICAg ICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQtZGV1dGVyYW4gZmctZGlmZi1mb2N1cy1hZGRlZC1kZXV0 ZXJhbikpKSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQNCisgICAgICAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1kaW0g eWVsbG93DQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYt Zm9jdXMtY2hhbmdlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZm LWNoYW5nZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVkDQorICAg ICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmct ZGltIHJlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZm LWZvY3VzLXJlbW92ZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlm Zi1yZW1vdmVkKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZw0KKyAgICAgICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgIGJnLW1haW4g Ymx1ZQ0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtaGVhZGluZyBmZy1kaWZmLWhlYWRpbmcN CisgICAgICAgICAgICAgICAgICBjeWFuLW51YW5jZWQtYmcgY3lhbi1udWFuY2VkLWZnDQorICAg ICAgICAgICAgICAgICAgYmctaGVhZGVyIGZnLW1haW4NCisgICAgICAgICAgICAgICAgICB0KSkp KQ0KKzs7Ozs7IG1hcmsgaW5kaWNhdG9ycw0KKyAgICA7OyBjb2xvciBjb21iaW5hdGlvbnMgaW50 ZW5kZWQgZm9yIERpcmVkLCBJYnVmZmVyLCBvciBlcXVpdmFsZW50DQorICAgIGAobW9kdXMtdGhl bWUtcHNldWRvLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtbWFyay1hbHQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6YmFja2dyb3VuZCAsYmctbWFyay1hbHQgOmZvcmVncm91bmQgLGZnLW1hcmstYWx0KSkpDQor ICAgIGAobW9kdXMtdGhlbWUtbWFyay1kZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dy b3VuZCAsYmctbWFyay1kZWwgOmZvcmVncm91bmQgLGZnLW1hcmstZGVsKSkpDQorICAgIGAobW9k dXMtdGhlbWUtbWFyay1zZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmct bWFyay1zZWwgOmZvcmVncm91bmQgLGZnLW1hcmstc2VsKSkpDQorICAgIGAobW9kdXMtdGhlbWUt bWFyay1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCis7Ozs7OyBoZWFkaW5nIGxldmVscw0KKyAgICA7OyBzdHlsZXMgZm9yIHJlZ3VsYXIgaGVh ZGluZ3MgdXNlZCBpbiBPcmcsIE1hcmtkb3duLCBJbmZvLCBldGMuDQorICAgIGAobW9kdXMtdGhl bWUtaGVhZGluZy0xDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQor ICAgICAgICAgICAgICAgICAgMSBmZy1tYWluIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtbnVh bmNlZC1iZyBiZy1yZWdpb24pDQorICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2Fs ZSBtb2R1cy10aGVtZXMtc2NhbGUtNCkpKSkNCisgICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTIN CisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWhlYWRpbmcNCisgICAgICAgICAgICAg ICAgICAyIGZnLXNwZWNpYWwtd2FybSBtYWdlbnRhLWFsdCByZWQtbnVhbmNlZC1iZyBiZy1yZWdp b24pDQorICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMt c2NhbGUtMykpKSkNCisgICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTMNCisgICAgICAoKCxjbGFz cyAsQChtb2R1cy10aGVtZXMtLWhlYWRpbmcNCisgICAgICAgICAgICAgICAgICAzIGZnLXNwZWNp YWwtY29sZCBibHVlIGJsdWUtbnVhbmNlZC1iZyBiZy1yZWdpb24pDQorICAgICAgICAgICAgICAg LEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtMikpKSkNCisgICAgYCht b2R1cy10aGVtZS1oZWFkaW5nLTQNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWhl YWRpbmcNCisgICAgICAgICAgICAgICAgICA0IGZnLXNwZWNpYWwtbWlsZCBjeWFuIGN5YW4tbnVh bmNlZC1iZyBiZy1yZWdpb24pDQorICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2Fs ZSBtb2R1cy10aGVtZXMtc2NhbGUtMSkpKSkNCisgICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTUN CisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWhlYWRpbmcNCisgICAgICAgICAgICAg ICAgICA1IGZnLXNwZWNpYWwtY2FsbSBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tbnVhbmNlZC1iZyBi Zy1yZWdpb24pKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy02DQorICAgICAgKCgsY2xh c3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNiB5ZWxsb3ct bnVhbmNlZC1mZyB5ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1udWFuY2VkLWJnIGJnLXJlZ2lvbikp KSkNCisgICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTcNCisgICAgICAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLWhlYWRpbmcNCisgICAgICAgICAgICAgICAgICA3IHJlZC1udWFuY2VkLWZnIHJl ZC1hbHQgcmVkLW51YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWhl YWRpbmctOA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0taGVhZGluZw0KKyAgICAg ICAgICAgICAgICAgIDggZmctZGltIG1hZ2VudGEgYmctYWx0IGJnLXJlZ2lvbikpKSkNCis7Ozs7 OyBncmFwaC1zcGVjaWZpYyBmYWNlcw0KKyAgICBgKG1vZHVzLXRoZW1lLWdyYXBoLXJlZC0wICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtZ3JhcGgtMC1iZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1l LWdyYXBoLXJlZC0xICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtZ3JhcGgtMS1iZykpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLWdyYXBoLWdyZWVuLTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVu LWdyYXBoLTAtYmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1ncmFwaC1ncmVlbi0xICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxncmVlbi1ncmFwaC0xLWJnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZ3Jh cGgteWVsbG93LTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1ncmFwaC0wLWJnKSkpDQor ICAgIGAobW9kdXMtdGhlbWUtZ3JhcGgteWVsbG93LTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLHll bGxvdy1ncmFwaC0xLWJnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZ3JhcGgtYmx1ZS0wICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlLWdyYXBoLTAtYmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1n cmFwaC1ibHVlLTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtZ3JhcGgtMS1iZykpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLWdyYXBoLW1hZ2VudGEtMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFn ZW50YS1ncmFwaC0wLWJnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZ3JhcGgtbWFnZW50YS0xICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWdyYXBoLTEtYmcpKSkNCisgICAgYChtb2R1cy10 aGVtZS1ncmFwaC1jeWFuLTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tZ3JhcGgtMC1iZykp KQ0KKyAgICBgKG1vZHVzLXRoZW1lLWdyYXBoLWN5YW4tMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Y3lhbi1ncmFwaC0xLWJnKSkpDQorOzs7OzsgbGFuZ3VhZ2UgY2hlY2tlcnMNCisgICAgYChtb2R1 cy10aGVtZS1sYW5nLWVycm9yICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbGFuZy1jaGVjayBm Zy1sYW5nLXVuZGVybGluZS1lcnJvciBmZy1sYW5nLWVycm9yIHJlZCByZWQtbnVhbmNlZC1iZykp KSkNCisgICAgYChtb2R1cy10aGVtZS1sYW5nLW5vdGUgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1sYW5nLWNoZWNrIGZnLWxhbmctdW5kZXJsaW5lLW5vdGUgZmctbGFuZy1ub3RlIGJsdWUtYWx0 IGJsdWUtbnVhbmNlZC1iZykpKSkNCisgICAgYChtb2R1cy10aGVtZS1sYW5nLXdhcm5pbmcgKCgs Y2xhc3MgLEAobW9kdXMtdGhlbWVzLS1sYW5nLWNoZWNrIGZnLWxhbmctdW5kZXJsaW5lLXdhcm5p bmcgZmctbGFuZy13YXJuaW5nIHllbGxvdyB5ZWxsb3ctbnVhbmNlZC1iZykpKSkNCis7Ozs7OyBv dGhlciBjdXN0b20gZmFjZXMNCisgICAgYChtb2R1cy10aGVtZS1ib2xkICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tYm9sZC13ZWlnaHQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGwtbGluZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctaGwt bGluZS1pbnRlbnNlIGJnLWhsLWxpbmUpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6ZXh0ZW5kIHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1zbGFudCAoKCxjbGFzcyA6aW5o ZXJpdCBpdGFsaWMgOnNsYW50ICxAKG1vZHVzLXRoZW1lcy0tc2xhbnQpKSkpDQorICAgIGAobW9k dXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS12YXJpYWJs ZS1waXRjaCkpKSkNCis7Ozs7IHN0YW5kYXJkIGZhY2VzDQorOzs7OzsgYWJzb2x1dGUgZXNzZW50 aWFscw0KKyAgICBgKGRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChmcmluZ2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1mcmluZ2Ug YmctbWFpbiBiZy1pbmFjdGl2ZSBiZy1hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAgIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodmVydGljYWwtYm9yZGVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1pbm5lcikpKQ0KKzs7Ozs7IGJhc2ljIGFuZC9v ciB1bmdyb3VwZWQgc3R5bGVzDQorICAgIGAoYm9sZCAoKCxjbGFzcyA6d2VpZ2h0IGJvbGQpKSkN CisgICAgYChib2xkLWl0YWxpYyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBpdGFsaWMpKSkpDQor ICAgIGAoYnVmZmVyLW1lbnUtYnVmZmVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAg YChjb21pbnQtaGlnaGxpZ2h0LWlucHV0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAg YChjb21pbnQtaGlnaGxpZ2h0LXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1i b2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1wcm9tcHQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj eWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1udWFu Y2VkLWJnIGJsdWUtYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmx1ZS1yZWZpbmUtYmcgZmctbWFpbikpKSkNCisgICAgYChlcnJvciAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChlc2NhcGUtZ2x5cGggKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KKyAgICBgKGZpbGUt bmFtZS1zaGFkb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBg KGhlYWRlci1saW5lICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tdmFyaWFibGUtcGl0Y2gtdWkp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9y ZWdyb3VuZCAsZmctaGVhZGVyKSkpDQorICAgIGAoaGVhZGVyLWxpbmUtaGlnaGxpZ2h0ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQorICAgIGAoaGVscC1hcmd1 bWVudC1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQorICAgIGAoaG9tb2dseXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0 LWZhaW50KSkpDQorICAgIGAoaWJ1ZmZlci1sb2NrZWQtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0LW90aGVyLWZhaW50KSkpDQorICAgIGAoaXRhbGljICgoLGNsYXNzIDpz bGFudCBpdGFsaWMpKSkNCisgICAgYChub2JyZWFrLWh5cGhlbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQorICAgIGAobm9icmVhay1zcGFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0IDp1bmRlcmxpbmUgdCkp KQ0KKyAgICBgKG1pbmlidWZmZXItcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tcHJv bXB0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLW51YW5jZWQtYmcgY3lh bg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tcmVmaW5lLWJnIGZn LW1haW4pKSkpDQorICAgIGAobW0tY29tbWFuZC1vdXRwdXQgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChtbS11dS1leHRyYWN0ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG5leHQt ZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBg KHJlY3RhbmdsZS1wcmV2aWV3ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt bWlsZCkpKQ0KKyAgICBgKHJlZ2lvbiAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXJlZ2lvbiBi Zy1yZWdpb24gZmctbWFpbiBiZy1obC1hbHQtaW50ZW5zZSkpKSkNCisgICAgYChzZWNvbmRhcnkt c2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKHNoYWRvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoc3Vj Y2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBg KHRyYWlsaW5nLXdoaXRlc3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJn KSkpDQorICAgIGAod2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCis7Ozs7OyBidXR0b25zLCBsaW5rcywgd2lkZ2V0cw0KKyAgICBgKGJ1dHRvbiAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWxpbmsNCisgICAgICAgICAgICAgICAgICAgICAgICAg Ymx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQgYmctcmVnaW9uKSkpKQ0KKyAgICBg KGxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobGluay12aXNpdGVkICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQgZmctYWx0KSkpKQ0KKyAg ICBgKHRvb2x0aXAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdpZGdldC1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uKSkpDQorICAgIGAod2lkZ2V0LWJ1dHRvbi1wcmVzc2VkICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10 aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KKyAgICBgKHdpZGdldC1kb2N1bWVudGF0aW9u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKHdpZGdldC1maWVsZCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYCh3 aWRnZXQtaW5hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHdpZGdldC1zaW5nbGUtbGluZS1maWVsZCAoKCxj bGFzcyA6aW5oZXJpdCB3aWRnZXQtZmllbGQpKSkNCis7Ozs7OyBhZw0KKyAgICBgKGFnLWhpdC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChhZy1t YXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0K Kzs7Ozs7IGFsZXJ0DQorICAgIGAoYWxlcnQtaGlnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChhbGVydC1sb3ctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAoYWxlcnQtbW9kZXJhdGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAg YChhbGVydC10cml2aWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2Fs bSkpKQ0KKyAgICBgKGFsZXJ0LXVyZ2VudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQorOzs7OzsgYWxsLXRoZS1pY29ucw0KKyAgICBgKGFs bC10aGUtaWNvbnMtYmx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGFs bC10aGUtaWNvbnMtYmx1ZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQor ICAgIGAoYWxsLXRoZS1pY29ucy1jeWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQor ICAgIGAoYWxsLXRoZS1pY29ucy1jeWFuLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWRibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZGN5YW4gKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1kZ3JlZW4g KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUt aWNvbnMtZGlyZWQtZGlyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAg YChhbGwtdGhlLWljb25zLWRtYXJvb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1kb3JhbmdlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1kcGluayAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZHB1cnBsZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChhbGwtdGhlLWljb25z LWRyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMt ZHNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAo YWxsLXRoZS1pY29ucy1keWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisg ICAgYChhbGwtdGhlLWljb25zLWdyZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K KyAgICBgKGFsbC10aGUtaWNvbnMtbGJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtcmVm aW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1sY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWxncmVlbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1s bWFyb29uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBg KGFsbC10aGUtaWNvbnMtbG9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1m ZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbHBpbmsgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtcmVmaW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1scHVycGxlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMt bHJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10 aGUtaWNvbnMtbHNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQorICAgIGAoYWxsLXRoZS1pY29ucy1seWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctcmVmaW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1tYXJvb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhbGwtdGhlLWljb25zLW9yYW5nZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtcGluayAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtcHVycGxl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGFsbC10aGUtaWNv bnMtcHVycGxlLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN CisgICAgYChhbGwtdGhlLWljb25zLXJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQor ICAgIGAoYWxsLXRoZS1pY29ucy1yZWQtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0 KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1zaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMteWVsbG93ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBhbm5vdGF0ZQ0KKyAgICBgKGFubm90YXRlLWFu bm90YXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisg ICAgYChhbm5vdGF0ZS1hbm5vdGF0aW9uLXNlY29uZGFyeSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChhbm5vdGF0ZS1oaWdobGlnaHQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxibHVlLWludGVuc2Up KSkNCisgICAgYChhbm5vdGF0ZS1oaWdobGlnaHQtc2Vjb25kYXJ5ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxncmVlbi1udWFuY2VkLWJnIDp1bmRlcmxpbmUgLGdyZWVuLWludGVuc2UpKSkNCis7Ozs7 OyBhbnp1DQorICAgIGAoYW56dS1tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1jeWFuKSkpDQorICAgIGAoYW56dS1tYXRjaC0yICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KKyAgICBgKGFuenUtbWF0Y2gtMyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93KSkpDQorICAgIGAoYW56dS1tb2RlLWxp bmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQor ICAgIGAoYW56dS1tb2RlLWxpbmUtbm8tbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGFuenUtcmVwbGFjZS1oaWdobGlnaHQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQpKSkN CisgICAgYChhbnp1LXJlcGxhY2UtdG8gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWlu dGVuc2UtZ3JlZW4gYm9sZCkpKSkNCis7Ozs7OyBhcHJvcG9zDQorICAgIGAoYXByb3Bvcy1mdW5j dGlvbi1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFn ZW50YS1hbHQtb3RoZXItZmFpbnQpKSkpDQorICAgIGAoYXByb3Bvcy1rZXliaW5kaW5nICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChhcHJvcG9zLW1p c2MtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1m YWludCkpKSkNCisgICAgYChhcHJvcG9zLXByb3BlcnR5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoYXByb3Bvcy1z eW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCisgICAgYChhcHJvcG9zLXVzZXItb3B0aW9uLWJ1dHRvbiAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZh aW50KSkpKQ0KKyAgICBgKGFwcm9wb3MtdmFyaWFibGUtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkNCis7Ozs7OyBhcHQtc291cmNlcy1saXN0DQorICAg IGAoYXB0LXNvdXJjZXMtbGlzdC1jb21wb25lbnRzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQorICAgIGAoYXB0LXNvdXJjZXMtbGlzdC1vcHRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCisgICAgYChhcHQtc291cmNlcy1saXN0LXN1aXRlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGFwdC1zb3VyY2VzLWxpc3QtdHlwZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGFwdC1zb3VyY2VzLWxpc3QtdXJpICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorOzs7OzsgYXJ0Ym9sbG9ja3MtbW9kZQ0KKyAgICBg KGFydGJvbGxvY2tzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1ub3Rl KSkpDQorICAgIGAoYXJ0Ym9sbG9ja3MtbGV4aWNhbC1pbGx1c2lvbnMtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0IDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKGFydGJvbGxvY2tzLXBhc3NpdmUtdm9pY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1sYW5nLXdhcm5pbmcpKSkNCisgICAgYChhcnRib2xsb2Nrcy13ZWFzZWwtd29y ZHMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLWVycm9yKSkpDQorOzs7 OzsgYXVjdGV4IGFuZCBUZXgNCisgICAgYChmb250LWxhdGV4LWJvbGQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChmb250 LWxhdGV4LWRvY3RleC1kb2N1bWVudGF0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGZvbnQt bGF0ZXgtZG9jdGV4LXByZXByb2Nlc3Nvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChmb250LWxhdGV4 LWl0YWxpYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jYWxtKSkpDQorICAgIGAoZm9udC1sYXRleC1tYXRoLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZm9udC1sYXRleC1zY3JpcHQtY2hhci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZvbnQt bGF0ZXgtc2VjdGlvbmluZy0wLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtdmFy aWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGZvbnQt bGF0ZXgtc2VjdGlvbmluZy0xLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhl bWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAg YChmb250LWxhdGV4LXNlY3Rpb25pbmctMi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1v ZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkp DQorICAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAo Ym9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNl ZC1mZykpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy00LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVl LW51YW5jZWQtZmcpKSkNCisgICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctNS1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxibHVl LW51YW5jZWQtZmcpKSkNCisgICAgYChmb250LWxhdGV4LXNlZGF0ZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQorICAgIGAoZm9udC1sYXRleC1zbGlkZS10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChi b2xkIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2Vk LWZnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQorICAgIGAoZm9udC1sYXRl eC1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stc3RyaW5nLWZhY2UpKSkN CisgICAgYChmb250LWxhdGV4LXN1YnNjcmlwdC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC45NSkp KQ0KKyAgICBgKGZvbnQtbGF0ZXgtc3VwZXJzY3JpcHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAu OTUpKSkNCisgICAgYChmb250LWxhdGV4LXZlcmJhdGltLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAoZm9udC1s YXRleC13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFj ZSkpKQ0KKyAgICBgKHRleC1tYXRjaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCisgICAgYCh0ZXgtdmVyYmF0aW0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAodGV4aW5mby1oZWFkaW5nICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoVGVYLWVycm9yLWRlc2NyaXB0 aW9uLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAoVGVYLWVycm9yLWRl c2NyaXB0aW9uLWhlbHAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChUZVgt ZXJyb3ItZGVzY3JpcHRpb24tdGV4LXNhaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN CisgICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24td2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCB3 YXJuaW5nKSkpDQorOzs7OzsgYXV0by1kaW0tb3RoZXItYnVmZmVycw0KKyAgICBgKGF1dG8tZGlt LW90aGVyLWJ1ZmZlcnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorOzs7 OzsgYXZ5DQorICAgIGAoYXZ5LWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChhdnktZ290by1jaGFyLXRpbWVy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93IGJvbGQp KSkpDQorICAgIGAoYXZ5LWxlYWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt aW50ZW5zZS1tYWdlbnRhIGJvbGQpKSkpDQorICAgIGAoYXZ5LWxlYWQtZmFjZS0wICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgYm9sZCkpKSkNCisgICAgYChhdnkt bGVhZC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJv bGQpKSkpDQorICAgIGAoYXZ5LWxlYWQtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10 aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQorOzs7OzsgYXcgKGFjZS13aW5kb3cpDQorICAg IGAoYXctYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVn cm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGF3LWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKGF3LWxlYWRpbmctY2hhci1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjUgOnNsYW50IG5vcm1hbCA6YmFj a2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYChhdy1t aW5pYnVmZmVyLWxlYWRpbmctY2hhci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFjdGl2ZSkpKQ0KKyAgICBgKGF3LW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQpKSkNCis7Ozs7OyBhd2Vzb21lLXRyYXkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWF3 ZXNvbWUtdGFiLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYmF0dGVyeS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAo YXdlc29tZS10cmF5LW1vZHVsZS1idWZmZXItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChhd2Vzb21lLXRyYXkt bW9kdWxlLWNpcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWRhdGUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChhd2Vzb21lLXRyYXkt bW9kdWxlLWV2aWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bi1hbHQpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWdpdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhd2Vzb21lLXRyYXkt bW9kdWxlLWxhc3QtY29tbWFuZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1sb2NhdGlv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAg ICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtbW9kZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLXBh cmVudC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1ydm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGJiZGINCisgICAg YChiYmRiLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQor ICAgIGAoYmJkYi1vcmdhbml6YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3Ro ZXIpKSkNCisgICAgYChiYmRiLWZpZWxkLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQorOzs7OzsgYmluZGVyDQorICAgIGAoYmluZGVyLXNpZGViYXItaGlnaGxp Z2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAo YmluZGVyLXNpZGViYXItbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmst c2VsKSkpDQorICAgIGAoYmluZGVyLXNpZGViYXItbWlzc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAgIGAoYmluZGVyLXNpZGViYXItdGFncyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKzs7Ozs7IGJtDQorICAgIGAoYm0tZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93IDpleHRlbmQgdCkpKQ0KKyAg ICBgKGJtLWZyaW5nZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15 ZWxsb3cpKSkNCisgICAgYChibS1mcmluZ2UtcGVyc2lzdGVudC1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlKSkpDQorICAgIGAoYm0tcGVyc2lzdGVudC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSA6ZXh0ZW5kIHQpKSkN Cis7Ozs7OyBib25nbw0KKyAgICBgKGJvbmdvLWFsYnVtLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorICAgIGAoYm9uZ28tYXJ0aXN0ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGJvbmdvLWN1cnJlbnRseS1wbGF5aW5n LXRyYWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChib25nby1lbGFwc2VkLXRy YWNrLXBhcnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgOnVu ZGVybGluZSB0KSkpDQorICAgIGAoYm9uZ28tZmlsbGVkLXNlZWstYmFyICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChi b25nby1tYXJrZWQtdHJhY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1hcmstYWx0KSkpDQor ICAgIGAoYm9uZ28tbWFya2VkLXRyYWNrLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h cmstYWx0KSkpDQorICAgIGAoYm9uZ28tcGxheWVkLXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy11bmZvY3VzZWQgOnN0cmlrZS10aHJvdWdoIHQpKSkNCisgICAgYChib25nby10cmFjay1s ZW5ndGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKGJvbmdvLXRy YWNrLXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKGJv bmdvLXVuZmlsbGVkLXNlZWstYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNv bGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBib29uDQorICAgIGAoYm9vbi1tb2Rl bGluZS1jbWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCisg ICAgYChib29uLW1vZGVsaW5lLWlucyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3Rp dmUtcmVkKSkpDQorICAgIGAoYm9vbi1tb2RlbGluZS1vZmYgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtYWN0aXZlLXllbGxvdykpKQ0KKyAgICBgKGJvb24tbW9kZWxpbmUtc3BjICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0KKzs7Ozs7IGJyZWFrcG9p bnQgKGJ1aWx0LWluIGdkYi1taS5lbCkNCisgICAgYChicmVha3BvaW50LWRpc2FibGVkICgoLGNs YXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGJyZWFrcG9pbnQtZW5hYmxlZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCis7Ozs7OyBidWZmZXItZXhwb3Nl DQorICAgIGAoYnVmZmVyLWV4cG9zZS1hY2UtY2hhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChidWZmZXItZXhwb3NlLW1vZGUt bGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKGJ1 ZmZlci1leHBvc2Utc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLW1pbGQpKSkNCis7Ozs7OyBjYWxlbmRhciBhbmQgZGlhcnkNCisgICAgYChjYWxlbmRh ci1tb250aC1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRl cikpKQ0KKyAgICBgKGNhbGVuZGFyLXRvZGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOnVuZGVy bGluZSB0KSkpDQorICAgIGAoY2FsZW5kYXItd2Vla2RheS1oZWFkZXIgKCgsY2xhc3MgOmluaGVy aXQgc2hhZG93KSkpDQorICAgIGAoY2FsZW5kYXItd2Vla2VuZC1oZWFkZXIgKCgsY2xhc3MgOmlu aGVyaXQgc2hhZG93KSkpDQorICAgIGAoZGlhcnkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVu LW51YW5jZWQtYmcgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGRpYXJ5 LWFubml2ZXJzYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAg IGAoZGlhcnktdGltZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYCho b2xpZGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQtYmcgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQorOzs7OzsgY2FsZncNCisgICAgYChjZnc6ZmFjZS1hbm5vdGF0 aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChjZnc6 ZmFjZS1kYXktdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChj Znc6ZmFjZS1kZWZhdWx0LWNvbnRlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkp KQ0KKyAgICBgKGNmdzpmYWNlLWRlZmF1bHQtZGF5ICgoLGNsYXNzIDppbmhlcml0IChjZnc6ZmFj ZS1kYXktdGl0bGUgYm9sZCkpKSkNCisgICAgYChjZnc6ZmFjZS1kaXNhYmxlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYChjZnc6ZmFjZS1ncmlkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KKyAgICBgKGNmdzpmYWNl LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAoY2Z3OmZhY2UtaG9saWRheSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCisgICAgYChjZnc6ZmFjZS1wZXJpb2RzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNmdzpmYWNlLXNhdHVyZGF5ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoY2Z3OmZhY2Ut c2VsZWN0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAg ICBgKGNmdzpmYWNlLXN1bmRheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNmdzpmYWNlLXRpdGxlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTUpKSkpDQor ICAgIGAoY2Z3OmZhY2UtdG9kYXkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlKSkp DQorICAgIGAoY2Z3OmZhY2UtdG9kYXktdGl0bGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSkpKQ0KKyAgICBgKGNmdzpmYWNlLXRvb2xiYXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoY2Z3OmZhY2UtdG9vbGJhci1idXR0 b24tb2ZmICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGNmdzpmYWNlLXRvb2xi YXItYnV0dG9uLW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJsdWUtbnVh bmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KKzs7Ozs7IGNlbnRhdXItdGFicw0KKyAgICBgKGNlbnRhdXIt dGFicy1hY3RpdmUtYmFyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLXRhYi1hY3RpdmUp KSkNCisgICAgYChjZW50YXVyLXRhYnMtY2xvc2UtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGNl bnRhdXItdGFicy1jbG9zZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMt c2VsZWN0ZWQpKSkNCisgICAgYChjZW50YXVyLXRhYnMtY2xvc2UtdW5zZWxlY3RlZCAoKCxjbGFz cyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCkpKQ0KKyAgICBgKGNlbnRhdXItdGFi cy1tb2RpZmllZC1tYXJrZXItc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJz LXNlbGVjdGVkKSkpDQorICAgIGAoY2VudGF1ci10YWJzLW1vZGlmaWVkLW1hcmtlci11bnNlbGVj dGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQorICAgIGAo Y2VudGF1ci10YWJzLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVn cm91bmQgLGJnLW1haW4pKSkNCisgICAgYChjZW50YXVyLXRhYnMtc2VsZWN0ZWQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1zZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6 aW5oZXJpdCBpdGFsaWMgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctdGFiLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChjZW50 YXVyLXRhYnMtdW5zZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmJh Y2tncm91bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorOzs7Ozsg Y2Zycw0KKyAgICBgKGNmcnMtYm9yZGVyLWNvbG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy13 aW5kb3ctZGl2aWRlci1pbm5lcikpKQ0KKzs7Ozs7IGNoYW5nZS1sb2cgYW5kIGxvZy12aWV3IChg dmMtcHJpbnQtbG9nJyBhbmQgYHZjLXByaW50LXJvb3QtbG9nJykNCisgICAgYChjaGFuZ2UtbG9n LWFja25vd2xlZGdtZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChj aGFuZ2UtbG9nLWNvbmRpdGlvbmFscyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQor ICAgIGAoY2hhbmdlLWxvZy1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAg IGAoY2hhbmdlLWxvZy1lbWFpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCisgICAgYChjaGFuZ2UtbG9nLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoY2hhbmdlLWxvZy1mdW5jdGlvbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAoY2hhbmdlLWxvZy1s aXN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGNoYW5nZS1s b2ctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YChsb2ctZWRpdC1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KKyAgICBgKGxvZy1lZGl0LXN1bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGxvZy1lZGl0LXVua25vd24taGVhZGVyICgoLGNsYXNzIDpp bmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGxvZy12aWV3LWNvbW1pdC1ib2R5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChsb2ctdmlldy1maWxlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBg KGxvZy12aWV3LW1lc3NhZ2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQorOzs7OzsgY2lkZXINCisgICAgYChjaWRlci1kZWJ1Zy1jb2RlLW92ZXJs YXktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoY2lkZXItZGVi dWctcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDp1bmRlcmxp bmUgdCkpKQ0KKyAgICBgKGNpZGVyLWRlcHJlY2F0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAoY2lkZXItZG9jdmlldy1lbXBoYXNp cy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAoY2lkZXItZG9jdmlldy1saXRlcmFsLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoY2lkZXItZG9jdmlldy1zdHJvbmctZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAg YChjaWRlci1kb2N2aWV3LXRhYmxlLWJvcmRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRv dykpKQ0KKyAgICBgKGNpZGVyLWVubGlnaHRlbmVkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUt d2lkdGggLTEgOmNvbG9yICx5ZWxsb3ctYWx0IDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1k aW0pKSkNCisgICAgYChjaWRlci1lbmxpZ2h0ZW5lZC1sb2NhbC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChjaWRlci1l cnJvci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUg dCkpKQ0KKyAgICBgKGNpZGVyLWZyYWdpbGUtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggMyA6Y29sb3IgLGZnLWFsdCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQorICAgIGAoY2lkZXItZnJpbmdlLWdvb2QtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoY2lkZXItaW5zdHJ1bWVudGVkLWZh Y2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxyZWQgOnN0eWxlIG5pbCkg OmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKGNpZGVyLXJlYWRlci1jb25kaXRpb25hbC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJt KSkpDQorICAgIGAoY2lkZXItcmVwbC1pbnB1dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCisgICAgYChjaWRlci1yZXBsLXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNpZGVyLXJlcGwtc3RkZXJyLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoY2lkZXItcmVwbC1zdGRv dXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNpZGVyLXJlc3Vs dC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVl IDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChjaWRlci1zdGFja3Ry YWNlLWVycm9yLWNsYXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkKSkpDQorICAgIGAoY2lkZXItc3RhY2t0cmFjZS1lcnJvci1tZXNzYWdlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAo Y2lkZXItc3RhY2t0cmFjZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAoY2lkZXItc3RhY2t0cmFjZS1maWx0ZXItYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0IDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2Ut ZmlsdGVyLWluYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQor ICAgIGAoY2lkZXItc3RhY2t0cmFjZS1mbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLW5zLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChjaWRl ci1zdGFja3RyYWNlLXByb21vdGVkLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdp ZHRoIDMgOmNvbG9yICxmZy1hbHQgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmZvcmVncm91bmQg LHJlZCkpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2Utc3VwcHJlc3NlZC1idXR0b24tZmFjZSAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSBwcmVzc2Vk LWJ1dHRvbikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAg IGAoY2lkZXItdGVzdC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1yZWQpKSkNCisgICAgYChjaWRlci10ZXN0LWZhaWx1cmUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCisgICAgYChjaWRlci10ZXN0 LXN1Y2Nlc3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu KSkpDQorICAgIGAoY2lkZXItdHJhY2VkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGgg LTEgOmNvbG9yICxjeWFuIDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAg YChjaWRlci13YXJuaW5nLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3cgOnVuZGVybGluZSB0KSkpDQorOzs7OzsgY2lyY2UgKGFuZCBsdWkpDQorICAgIGAoY2lyY2Ut Zm9vbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGNpcmNlLWhpZ2hs aWdodC1uaWNrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KKyAgICBgKGNpcmNlLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoY2lyY2Utc2VydmVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKGx1aS1idXR0b24tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChsdWktaGlnaGxpZ2h0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobHVpLXRpbWUtc3RhbXAt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorOzs7OzsgY29s b3ItcmcNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stY29sdW1uLW51bWJlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxv Y2stY29tbWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoY29sb3ItcmctZm9udC1sb2Nr LWZsYXNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAg ICBgKGNvbG9yLXJnLWZvbnQtbG9jay1mdW5jdGlvbi1sb2NhdGlvbiAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2st aGVhZGVyLWxpbmUtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkp KQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1lZGl0LW1vZGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAoY29sb3ItcmctZm9udC1s b2NrLWhlYWRlci1saW5lLWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2 ZSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS10ZXh0ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stbGlu ZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBg KGNvbG9yLXJnLWZvbnQtbG9jay1tYXJrLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXJrLWRlbGV0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoY29s b3ItcmctZm9udC1sb2NrLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtY2FsbSkpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1wb3NpdGlvbi1zcGxpdHRlciAo KCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCis7Ozs7OyBjb2x1bW4tZW5mb3JjZS1tb2RlDQor ICAgIGAoY29sdW1uLWVuZm9yY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUteWVsbG93KSkpDQorOzs7OzsgY29tcGFueS1tb2RlDQorICAgIGAoY29tcGFueS1lY2hv LWNvbW1vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YChjb21wYW55LXByZXZpZXcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3Vu ZCAsZmctZGltKSkpDQorICAgIGAoY29tcGFueS1wcmV2aWV3LWNvbW1vbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChjb21wYW55LXByZXZpZXctc2VhcmNoICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGNvbXBhbnkt c2Nyb2xsYmFyLWJnICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChj b21wYW55LXNjcm9sbGJhci1mZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWN0aXZlKSkpDQor ICAgIGAoY29tcGFueS10ZW1wbGF0ZS1maWVsZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLW1hZ2VudGEpKSkNCisgICAgYChjb21wYW55LXRvb2x0aXAgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoY29tcGFueS10 b29sdGlwLWFubm90YXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1hbm5v dGF0aW9uLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAoY29tcGFueS10b29sdGlwLWNvbW1vbiAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1jb21t b24tc2VsZWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY29t cGFueS10b29sdGlwLW1vdXNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut Ymx1ZSkpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQg KG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIGJvbGQpKSkpDQorICAgIGAoY29tcGFueS10b29sdGlw LXNlYXJjaC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2Ut Z3JlZW4gYm9sZCkgOnVuZGVybGluZSB0KSkpDQorICAgIGAoY29tcGFueS10b29sdGlwLXNlbGVj dGlvbiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3VidGxlLWN5YW4gYm9sZCkpKSkN Cis7Ozs7OyBjb21wYW55LXBvc2ZyYW1lDQorICAgIGAoY29tcGFueS1wb3NmcmFtZS1hY3RpdmUt YmFja2VuZC1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChjb21wYW55LXBvc2ZyYW1lLWlu YWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChjb21wYW55LXBvc2ZyYW1lLW1ldGFkYXRhICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUp KSkNCis7Ozs7OyBjb21waWxhdGlvbiBmZWVkYmFjaw0KKyAgICBgKGNvbXBpbGF0aW9uLWNvbHVt bi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAg IGAoY29tcGlsYXRpb24tZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoY29tcGlsYXRpb24taW5mbyAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisg ICAgYChjb21waWxhdGlvbi1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQorICAgIGAoY29tcGlsYXRpb24tbW9kZS1saW5lLWV4aXQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisg ICAgYChjb21waWxhdGlvbi1tb2RlLWxpbmUtZmFpbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoY29tcGlsYXRpb24t bW9kZS1saW5lLXJ1biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGNvbXBpbGF0aW9uLXdhcm5pbmcgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7 OzsgY29tcGxldGlvbnMNCisgICAgYChjb21wbGV0aW9ucy1hbm5vdGF0aW9ucyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsY3lhbi1mYWludCkpKQ0KKyAg ICBgKGNvbXBsZXRpb25zLWNvbW1vbi1wYXJ0ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tc3Rh bmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBibHVlLWFsdCBibHVlLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCisgICAg YChjb21wbGV0aW9ucy1maXJzdC1kaWZmZXJlbmNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1l cy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IGJsdWUtbnVhbmNlZC1iZw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1pbnRlbnNlLWJnIGZn LW1haW4pKSkpDQorOzs7OzsgY29uc3VsdA0KKyAgICBgKGNvbnN1bHQtYXN5bmMtcnVubmluZyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoY29uc3Vs dC1hc3luYy1zcGxpdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAg YChjb25zdWx0LWJvb2ttYXJrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAo Y29uc3VsdC1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisg ICAgYChjb25zdWx0LWltZW51LXByZWZpeCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisg ICAgYChjb25zdWx0LWtleSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZXMtYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChjb25zdWx0LWxpbmUtbnVtYmVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChjb25zdWx0 LWxpbmUtbnVtYmVyLXByZWZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkp DQorICAgIGAoY29uc3VsdC1uYXJyb3ctaW5kaWNhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KKyAgICBgKGNvbnN1bHQtcHJldmlldy1jdXJzb3IgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAoY29uc3VsdC1wcmV2aWV3 LWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAg IGAoY29uc3VsdC1wcmV2aWV3LWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhsLWFsdC1p bnRlbnNlKSkpDQorOzs7OzsgY291bnNlbA0KKyAgICBgKGNvdW5zZWwtYWN0aXZlLW1vZGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY291bnNlbC1h cHBsaWNhdGlvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQor ICAgIGAoY291bnNlbC1rZXktYmluZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS0xICgoLGNsYXNz IDppbmhlcml0IG9yZy1sZXZlbC0xKSkpDQorICAgIGAoY291bnNlbC1vdXRsaW5lLTIgKCgsY2xh c3MgOmluaGVyaXQgb3JnLWxldmVsLTIpKSkNCisgICAgYChjb3Vuc2VsLW91dGxpbmUtMyAoKCxj bGFzcyA6aW5oZXJpdCBvcmctbGV2ZWwtMykpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGluZS00ICgo LGNsYXNzIDppbmhlcml0IG9yZy1sZXZlbC00KSkpDQorICAgIGAoY291bnNlbC1vdXRsaW5lLTUg KCgsY2xhc3MgOmluaGVyaXQgb3JnLWxldmVsLTUpKSkNCisgICAgYChjb3Vuc2VsLW91dGxpbmUt NiAoKCxjbGFzcyA6aW5oZXJpdCBvcmctbGV2ZWwtNikpKQ0KKyAgICBgKGNvdW5zZWwtb3V0bGlu ZS03ICgoLGNsYXNzIDppbmhlcml0IG9yZy1sZXZlbC03KSkpDQorICAgIGAoY291bnNlbC1vdXRs aW5lLTggKCgsY2xhc3MgOmluaGVyaXQgb3JnLWxldmVsLTgpKSkNCisgICAgYChjb3Vuc2VsLW91 dGxpbmUtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNv dW5zZWwtdmFyaWFibGUtZG9jdW1lbnRhdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGNvdW5zZWwt Y3NzDQorICAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0xICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFj ZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoY291bnNlbC1jc3Mtc2Vs ZWN0b3ItZGVwdGgtZmFjZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBg KGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQorICAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS01ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3It ZGVwdGgtZmFjZS02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCis7Ozs7OyBjb3Vuc2Vs LW5vdG11Y2gNCisgICAgYChjb3Vuc2VsLW5vdG11Y2gtY291bnQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGNvdW5zZWwtbm90bXVjaC1kYXRlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChjb3Vuc2VsLW5vdG11Y2gtcGVvcGxlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChjb3Vuc2VsLW5vdG11 Y2gtc3ViamVjdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KKzs7Ozs7IGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nDQorICAgIGAoY291bnNlbC1vcmct Y2FwdHVyZS1zdHJpbmctdGVtcGxhdGUtYm9keS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCis7Ozs7OyBjb3YNCisgICAgYChjb3YtY292ZXJhZ2Utbm90LXJ1 bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KKyAgICBgKGNvdi1j b3ZlcmFnZS1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0K KyAgICBgKGNvdi1oZWF2eS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVu c2UpKSkNCisgICAgYChjb3YtbGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1p bnRlbnNlKSkpDQorICAgIGAoY292LW1lZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctaW50ZW5zZSkpKQ0KKyAgICBgKGNvdi1ub25lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4taW50ZW5zZSkpKQ0KKzs7Ozs7IGNwZXJsLW1vZGUNCisgICAgYChjcGVybC1ub25vdmVy cmlkYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kIHVuc3BlY2lmaWVkKSkpDQorICAgIGAo Y3BlcmwtYXJyYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNl KSkpDQorICAgIGAoY3BlcmwtaGFzaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12 YXJpYWJsZS1uYW1lLWZhY2UpKSkNCis7Ozs7OyBjc3YtbW9kZQ0KKyAgICBgKGNzdi1zZXBhcmF0 b3ItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorOzs7OzsgY3RybGYNCisgICAgYChjdHJsZi1oaWdobGlnaHQtYWN0aXZl ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQor ICAgIGAoY3RybGYtaGlnaGxpZ2h0LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aGwtbGluZSkpKQ0KKyAgICBgKGN0cmxmLWhpZ2hsaWdodC1wYXNzaXZlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorOzs7OzsgY3VzdG9tIChNLXggY3VzdG9t aXplKQ0KKyAgICBgKGN1c3RvbS1idXR0b24gKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6 Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAoY3VzdG9tLWJ1dHRvbi1tb3VzZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpj b2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2 ZSkpKQ0KKyAgICBgKGN1c3RvbS1idXR0b24tcHJlc3NlZCAoKCxjbGFzcyA6Ym94ICg6bGluZS13 aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHByZXNzZWQtYnV0dG9uKQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAoY3VzdG9tLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCisgICAgYChjdXN0b20tY29tbWVudCAoKCxjbGFzcyA6 aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChjdXN0b20tY29tbWVudC10YWcgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBg KGN1c3RvbS1mYWNlLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWludGVuc2UpKSkNCisgICAgYChjdXN0b20tZ3JvdXAtdGFnICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChjdXN0b20tZ3JvdXAtdGFn LTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQorICAgIGAo Y3VzdG9tLWludmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVk IGJvbGQpKSkpDQorICAgIGAoY3VzdG9tLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAoY3VzdG9tLXJvZ3VlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAoY3VzdG9tLXNldCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChjdXN0b20tc3RhdGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoY3VzdG9tLXRoZW1lZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGN1c3Rv bS12YXJpYWJsZS10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKzs7Ozs7IGRhcC1tb2RlDQorICAgIGAoZGFwLW1vdXNlLWV2YWwtdGhpbmctZmFjZSAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJsdWUtYWN0aXZlIDpzdHlsZSBuaWwp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAs YmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGFwLXJlc3VsdC1vdmVy bGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxiZy1hY3RpdmUg OnN0eWxlIG5pbCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFj a2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGFwLXVp LWJyZWFrcG9pbnQtdmVyaWZpZWQtZnJpbmdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRhcC11aS1jb21waWxlLWVycmxpbmUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYChk YXAtdWktbG9jYWxzLXNjb3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBg KGRhcC11aS1sb2NhbHMtdmFyaWFibGUtbGVhZi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxp YyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChkYXAtdWktbWFya2VyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChk YXAtdWktc2Vzc2lvbnMtc3RhY2stZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGRhcC11aS1zZXNzaW9ucy10ZXJtaW5h dGVkLWFjdGl2ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KKyAgICBgKGRhcC11aS1zZXNzaW9ucy10ZXJtaW5hdGVkLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgc2hhZG93KSkpDQorOzs7OzsgZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQorICAg IGAoZGFzaGJvYXJkLWJhbm5lci1sb2dvLXRpdGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGRhc2hib2FyZC1mb290ZXIgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAg IGAoZGFzaGJvYXJkLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZGFzaGJvYXJkLW5hdmlnYXRvciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChkYXNoYm9hcmQtdGV4dC1iYW5u ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKzs7Ozs7IGRlYWRncmVwDQorICAg IGAoZGVhZGdyZXAtZmlsZW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChkZWFkZ3JlcC1tYXRjaC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGRlYWRncmVw LW1ldGEtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChkZWFkZ3JlcC1y ZWdleHAtbWV0YWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctaW50ZW5zZSkpKQ0KKyAgICBgKGRlYWRncmVwLXNlYXJjaC10ZXJtLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KKzs7Ozs7IGRl YmJ1Z3MNCisgICAgYChkZWJidWdzLWdudS1hcmNoaXZlZCAoKCxjbGFzcyA6aW52ZXJzZS12aWRl byB0KSkpDQorICAgIGAoZGViYnVncy1nbnUtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cp KSkNCisgICAgYChkZWJidWdzLWdudS1mb3J3YXJkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LWhhbmRsZWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZGViYnVncy1nbnUtbmV3ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCisgICAgYChkZWJidWdzLWdudS1wZW5kaW5nICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQorICAgIGAoZGViYnVncy1nbnUtc3RhbGUtMSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisgICAgYChkZWJidWdzLWdudS1zdGFsZS0y ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkZWJidWdzLWdudS1zdGFs ZS0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAoZGViYnVncy1n bnUtc3RhbGUtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAg ICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN CisgICAgYChkZWJidWdzLWdudS10YWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQorOzs7OzsgZGVmaW5lLXdvcmQNCisgICAgYChkZWZpbmUtd29yZC1mYWNlLTEgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGRlZmluZS13b3JkLWZhY2UtMiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGRlZnQNCisgICAgYChkZWZ0 LWZpbHRlci1zdHJpbmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtcmVkKSkpDQorICAgIGAoZGVmdC1maWx0ZXItc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChkZWZ0LWhlYWRlci1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBg KGRlZnQtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAo ZGVmdC1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRlZnQtdGltZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChkZWZ0LXRpdGxlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGRpY3Rpb25h cnkNCisgICAgYChkaWN0aW9uYXJ5LWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGRpY3Rpb25hcnktcmVmZXJl bmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAoZGljdGlvbmFyeS13 b3JkLWRlZmluaXRpb24tZmFjZSAoKCxjbGFzcykpKQ0KKyAgICBgKGRpY3Rpb25hcnktd29yZC1l bnRyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb21tZW50LWZhY2UpKSkNCis7 Ozs7OyBkaWZmLWhsDQorICAgIGAoZGlmZi1obC1jaGFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KKyAgICBgKGRpZmYtaGwtZGVsZXRlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCisgICAgYChkaWZmLWhsLWRpcmVk LWNoYW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWhsLWNoYW5nZSkpKQ0KKyAgICBgKGRpZmYt aGwtZGlyZWQtZGVsZXRlICgoLGNsYXNzIDppbmhlcml0IGRpZmYtaGwtZGVsZXRlKSkpDQorICAg IGAoZGlmZi1obC1kaXJlZC1pZ25vcmVkICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWlnbm9yZWQp KSkNCisgICAgYChkaWZmLWhsLWRpcmVkLWluc2VydCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWhs LWluc2VydCkpKQ0KKyAgICBgKGRpZmYtaGwtZGlyZWQtdW5rbm93biAoKCxjbGFzcyA6aW5oZXJp dCBkaXJlZC1pZ25vcmVkKSkpDQorICAgIGAoZGlmZi1obC1pbnNlcnQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQorICAgIGAoZGlmZi1obC1yZXZlcnRlZC1o dW5rLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2Vu dGEgYm9sZCkpKSkNCis7Ozs7OyBkaWZmLW1vZGUNCisgICAgYChkaWZmLWFkZGVkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQpKSkNCisgICAgYChkaWZmLWNoYW5nZWQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkIDpleHRlbmQgdCkpKQ0K KyAgICBgKGRpZmYtY29udGV4dCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYtdGV4dCBm Zy1tYWluIGZnLXVuZm9jdXNlZCkpKSkNCisgICAgYChkaWZmLWVycm9yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAoZGlmZi1maWxlLWhlYWRlciAo KCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkaWZmLWhlYWRlcikpKSkNCisgICAgYChkaWZmLWZ1bmN0 aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZykpKQ0KKyAgICBg KGRpZmYtaGVhZGVyICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZi10ZXh0IGN5YW4tZmFp bnQgZmctbWFpbikpKSkNCisgICAgYChkaWZmLWh1bmstaGVhZGVyICgoLGNsYXNzIDppbmhlcml0 IChib2xkIG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZykpKSkNCisgICAgYChkaWZmLWluZGV4ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZGlm Zi1pbmRpY2F0b3ItYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgKGRpZmYtYWRkZWQgYm9sZCkNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsQChtb2R1cy10 aGVtZXMtLWRpZmYtZGV1dGVyYW4gYmx1ZSBncmVlbikpKSkNCisgICAgYChkaWZmLWluZGljYXRv ci1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IChkaWZmLWNoYW5nZWQgYm9sZCkgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KKyAgICBgKGRpZmYtaW5kaWNhdG9yLXJlbW92ZWQgKCgsY2xhc3MgOmlu aGVyaXQgKGRpZmYtcmVtb3ZlZCBib2xkKSA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZGlm Zi1ub25leGlzdGVudCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtbmV1dHJhbCBib2xk KSkpKQ0KKyAgICBgKGRpZmYtcmVmaW5lLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQorICAgIGAoZGlmZi1yZWZpbmUtY2hhbmdlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2VkKSkpDQorICAgIGAo ZGlmZi1yZWZpbmUtcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJl ZmluZS1yZW1vdmVkKSkpDQorICAgIGAoZGlmZi1yZW1vdmVkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KKzs7Ozs7IGRpbS1hdXRvbG9hZA0KKyAgICBgKGRp bS1hdXRvbG9hZC1jb29raWUtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVu dC1mYWNlKSkpDQorOzs7OzsgZGlyLXRyZWV2aWV3DQorICAgIGAoZGlyLXRyZWV2aWV3LWFyY2hp dmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAo ZGlyLXRyZWV2aWV3LWFyY2hpdmUtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVl dmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZGly LXRyZWV2aWV3LWF1ZGlvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisg ICAgYChkaXItdHJlZXZpZXctYXVkaW8taWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10 cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisg ICAgYChkaXItdHJlZXZpZXctY29udHJvbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykp KQ0KKyAgICBgKGRpci10cmVldmlldy1jb250cm9sLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgaGlnaGxpZ2h0KSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZhbWlseSAiRm9udCBBd2Vzb21lIiA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWRlZmF1bHQtZmlsZW5hbWUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRpci10cmVldmlldy1kaXJlY3Rv cnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGRpci10cmVldmll dy1kaXJlY3RvcnktaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZh dWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChkaXItdHJlZXZp ZXctZXhlY3V0YWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAg IGAoZGlyLXRyZWV2aWV3LWV4ZWN1dGFibGUtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRp ci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikp KQ0KKyAgICBgKGRpci10cmVldmlldy1pbWFnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChkaXItdHJlZXZpZXctaW1hZ2UtaWNvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWluZGVudC1mYWNlICgoLGNsYXNz IDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGRpci10cmVldmlldy1sYWJlbC1tb3VzZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGhpZ2hsaWdodCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1zdGFy dC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkp DQorICAgIGAoZGlyLXRyZWV2aWV3LXN5bWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0 b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRo ZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KKyAgICBgKGRpci10cmVldmlldy12aWRlby1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGRpci10 cmVldmlldy12aWRlby1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRl ZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKzs7Ozs7 IGRpcmVkDQorICAgIGAoZGlyZWQtYnJva2VuLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChkaXJlZC1kaXJlY3RvcnkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChkaXJlZC1mbGFnZ2VkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQorICAgIGAoZGlyZWQtaGVhZGVyICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCisgICAgYChkaXJlZC1pZ25v cmVkICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGRpcmVkLW1hcmsgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpKSkNCisgICAgYChkaXJlZC1tYXJr ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCisgICAgYChkaXJl ZC1wZXJtLXdyaXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisg ICAgYChkaXJlZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdCBjeWFuLWFsdC1mYWludCkpKSkNCisgICAg YChkaXJlZC13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KKzs7Ozs7IGRpcmVkLWFzeW5jDQorICAgIGAoZGlyZWQtYXN5bmMtZmFpbHVyZXMgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkp KQ0KKyAgICBgKGRpcmVkLWFzeW5jLW1lc3NhZ2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoZGlyZWQtYXN5bmMt bW9kZS1tZXNzYWdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91 bmQgLGN5YW4tYWN0aXZlKSkpDQorOzs7OzsgZGlyZWQtZ2l0DQorICAgIGAoZGlyZWQtZ2l0LWJy YW5jaC1lbHNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQorICAgIGAoZGlyZWQtZ2l0LWJyYW5jaC1tYXN0ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBkaXJlZC1naXQtaW5m bw0KKyAgICBgKGRnaS1jb21taXQtbWVzc2FnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLW1pbGQpKSkNCis7Ozs7OyBkaXJlZC1uYXJyb3cNCisgICAgYChkaXJlZC1uYXJy b3ctYmxpbmsgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQp KSkpDQorOzs7OzsgZGlyZWQtc3VidHJlZQ0KKyAgICA7OyByZW1vdmUgYmFja2dyb3VuZHMgZnJv bSBkaXJlZC1zdWJ0cmVlIGZhY2VzLCBlbHNlIHRoZXkgYnJlYWsNCisgICAgOzsgZGlyZWQte2Zs YWdnZWQsbWFya2VkfSBhbmQgYW55IG90aGVyIGZhY2UgdGhhdCBzZXRzIGEgYmFja2dyb3VuZA0K KyAgICA7OyBzdWNoIGFzIGhsLWxpbmUuICBBbHNvLCBkZW5vdGluZyBkZXB0aCBieSB2YXJ5aW5n IHNoYWRlcyBvZiBncmF5DQorICAgIDs7IGlzIG5vdCBnb29kIGZvciBhY2Nlc3NpYmlsaXR5Lg0K KyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMS1mYWNlICgoKSkpDQorICAgIGAoZGlyZWQtc3Vi dHJlZS1kZXB0aC0yLWZhY2UgKCgpKSkNCisgICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTMtZmFj ZSAoKCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNC1mYWNlICgoKSkpDQorICAgIGAo ZGlyZWQtc3VidHJlZS1kZXB0aC01LWZhY2UgKCgpKSkNCisgICAgYChkaXJlZC1zdWJ0cmVlLWRl cHRoLTYtZmFjZSAoKCkpKQ0KKzs7Ozs7IGRpcmVkYw0KKyAgICBgKGRpcmVkYy1mYWNlLWNobW9k LWZvbnQtbG9jay1kaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAo ZGlyZWRjLWZhY2UtY2htb2QtZm9udC1sb2NrLWV4ZWMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCisgICAgYChkaXJlZGMtZmFjZS1jaG1vZC1mb250LWxvY2stcmVhZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRpcmVkYy1mYWNlLWNobW9kLWZvbnQt bG9jay13cml0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKzs7Ozs7IGRpcmVkZmwN CisgICAgYChkaXJlZGZsLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtbmFtZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZGlyZWRmbC1j b21wcmVzc2VkLWZpbGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQor ICAgIGAoZGlyZWRmbC1kYXRlLXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQorICAgIGAoZGlyZWRmbC1kZWxldGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBgKGRpcmVkZmwtZGVsZXRpb24tZmlsZS1uYW1lICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQorICAgIGAoZGlyZWRmbC1kaXIt aGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQor ICAgIGAoZGlyZWRmbC1kaXItbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1kaXJlY3Rvcnkp KSkNCisgICAgYChkaXJlZGZsLWRpci1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KKyAgICBgKGRpcmVkZmwtZXhlYy1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQorICAgIGAoZGlyZWRmbC1leGVjdXRhYmxlLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChkaXJlZGZsLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRpcmVkZmwtZmlsZS1zdWZmaXggKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChkaXJlZGZsLWZsYWctbWFyayAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KKyAgICBgKGRpcmVkZmwtZmxhZy1tYXJr LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCisgICAgYChk aXJlZGZsLWlnbm9yZWQtZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAg ICBgKGRpcmVkZmwtbGluay1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KKyAgICBgKGRpcmVkZmwtbm8tcHJpdiAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkN CisgICAgYChkaXJlZGZsLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN CisgICAgYChkaXJlZGZsLW90aGVyLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KKyAgICBgKGRpcmVkZmwtcmFyZS1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0 KSkpDQorICAgIGAoZGlyZWRmbC1yZWFkLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChkaXJlZGZsLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtc3lt bGluaykpKQ0KKyAgICBgKGRpcmVkZmwtdGFnZ2VkLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChkaXJlZGZsLXdyaXRl LXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBkaXJlZCsNCisgICAg YChkaXJlZHAtYXV0b2ZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLWNvbGQpKSkNCisgICAgYChkaXJlZHAtY29tcHJlc3NlZC1maWxlLW5hbWUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGRpcmVkcC1jb21wcmVzc2Vk LWZpbGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoZGly ZWRwLWRhdGUtdGltZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisg ICAgYChkaXJlZHAtZGVsZXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1k ZWwpKSkNCisgICAgYChkaXJlZHAtZGVsZXRpb24tZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQorICAgIGAoZGlyZWRwLWRpci1oZWFkaW5nICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCisgICAgYChkaXJlZHAt ZGlyLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtZGlyZWN0b3J5KSkpDQorICAgIGAoZGly ZWRwLWRpci1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGRp cmVkcC1leGVjLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChk aXJlZHAtZXhlY3V0YWJsZS10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkp DQorICAgIGAoZGlyZWRwLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKGRpcmVkcC1maWxlLXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKyAgICBgKGRpcmVkcC1mbGFnLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt bWFyay1zZWwpKSkNCisgICAgYChkaXJlZHAtZmxhZy1tYXJrLWxpbmUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCisgICAgYChkaXJlZHAtaWdub3JlZC1maWxlLW5h bWUgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZGlyZWRwLWxpbmstcHJpdiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChkaXJlZHAtbW9k ZS1saW5lLWZsYWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAg YChkaXJlZHAtbW9kZS1saW5lLW1hcmtlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0 aXZlKSkpDQorICAgIGAoZGlyZWRwLW5vLXByaXYgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkp DQorICAgIGAoZGlyZWRwLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN CisgICAgYChkaXJlZHAtb21pdC1maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93IDpz dHJpa2UtdGhyb3VnaCB0KSkpDQorICAgIGAoZGlyZWRwLW90aGVyLXByaXYgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGRpcmVkcC1yYXJlLXByaXYgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChkaXJlZHAtcmVhZC1wcml2ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGlyZWRwLXN5bWxpbmsgKCgsY2xhc3MgOmlu aGVyaXQgZGlyZWQtc3ltbGluaykpKQ0KKyAgICBgKGRpcmVkcC10YWdnZWQtYXV0b2ZpbGUtbmFt ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBg KGRpcmVkcC13cml0ZS1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7Ozsg ZGlzay11c2FnZQ0KKyAgICBgKGRpc2stdXNhZ2UtY2hpbGRyZW4gKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KKyAgICBgKGRpc2stdXNhZ2UtaW5hY2Nlc3NpYmxlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGRpc2stdXNhZ2UtcGVyY2Vu dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChkaXNrLXVzYWdlLXNpemUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChkaXNrLXVzYWdlLXN5bWxpbmsg KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAoZGlzay11c2FnZS1zeW1saW5rLWRp cmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K Kzs7Ozs7IGRpc3BsYXktZmlsbC1jb2x1bW4taW5kaWNhdG9yLW1vZGUNCisgICAgYChmaWxsLWNv bHVtbi1pbmRpY2F0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKzs7Ozs7 IGRvb20tbW9kZWxpbmUNCisgICAgYChkb29tLW1vZGVsaW5lLWJhciAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYmFyLWlu YWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmct bWFpbikpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1jaGFyZ2luZyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5 LWNyaXRpY2FsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUp KSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Ym94ICg6bGluZS13aWR0aCAtMikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChkb29tLW1v ZGVsaW5lLWJhdHRlcnktZnVsbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkN CisgICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktbm9ybWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktd2FybmluZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorICAgIGAo ZG9vbS1tb2RlbGluZS1idWZmZXItZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1tYWpvci1tb2Rl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAg IGAoZG9vbS1tb2RlbGluZS1idWZmZXItbWlub3ItbW9kZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctaW5hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1tb2RpZmllZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBg KGRvb20tbW9kZWxpbmUtYnVmZmVyLXBhdGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1kZWJ1ZyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1t b2RlbGluZS1kZWJ1Zy12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZXZpbC1lbWFjcy1zdGF0ZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBg KGRvb20tbW9kZWxpbmUtZXZpbC1pbnNlcnQtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLW1v dGlvbi1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2 ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZXZpbC1ub3JtYWwtc3RhdGUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGlu ZS1ldmlsLW9wZXJhdG9yLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLXJlcGxhY2Utc3RhdGUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBg KGRvb20tbW9kZWxpbmUtZXZpbC12aXN1YWwtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWhpZ2hsaWdo dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAg ICBgKGRvb20tbW9kZWxpbmUtaG9zdCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMpKSkNCisgICAg YChkb29tLW1vZGVsaW5lLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkp KQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtbHNwLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWxzcC1zdWNj ZXNzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0K KyAgICBgKGRvb20tbW9kZWxpbmUtbHNwLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtcGFuZWwg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChkb29t LW1vZGVsaW5lLXBlcnNwLWJ1ZmZlci1ub3QtaW4tcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgaXRh bGljIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1w ZXJzcC1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChkb29t LW1vZGVsaW5lLXByb2plY3QtZGlyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LXBhcmVudC1kaXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGlu ZS1wcm9qZWN0LXJvb3QtZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisg ICAgYChkb29tLW1vZGVsaW5lLXVucmVhZC1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGlj IDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLXVyZ2VudCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAo ZG9vbS1tb2RlbGluZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdy1hY3RpdmUpKSkNCis7Ozs7OyBkeW5hbWljLXJ1bGVyDQorICAgIGAoZHluYW1pYy1y dWxlci1uZWdhdGl2ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut bmV1dHJhbCkpKQ0KKyAgICBgKGR5bmFtaWMtcnVsZXItcG9zaXRpdmUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdykpKQ0KKzs7Ozs7IGVhc3ktamVreWxs DQorICAgIGAoZWFzeS1qZWt5bGwtaGVscC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorOzs7OzsgZWFzeS1raWxsDQorICAg IGAoZWFzeS1raWxsLW9yaWdpbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt cmVkKSkpDQorICAgIGAoZWFzeS1raWxsLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUteWVsbG93KSkpDQorOzs7OzsgZWJkYg0KKyAgICBgKGViZGItYWRkcmVz cy1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAg YChlYmRiLWRlZnVuY3QgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZWJkYi1m aWVsZC1oaWRkZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChlYmRi LWxhYmVsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVi ZGItbWFpbC1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo ZWJkYi1tYWlsLXByaW1hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQor ICAgIGAoZWJkYi1tYXJrZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykp KQ0KKyAgICBgKGViZGItb3JnYW5pemF0aW9uLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hbHQtb3RoZXIpKSkNCisgICAgYChlYmRiLXBlcnNvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGViZGItcGhvbmUtZGVmYXVsdCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGVpZWlvLWN1c3RvbS1zbG90LXRhZy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorOzs7OzsgZWRpZmYNCisgICAg OzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJv bSB0aGUNCisgICAgOzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZhY2VzLg0KKyAgICBgKGVkaWZmLWN1 cnJlbnQtZGlmZi1BICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSByZWQNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgcmVk LWZhaW50KSkpKQ0KKyAgICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1zcGVjaWFsLWNvbGQgZmctc3BlY2lhbC1jb2xk DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVh bmNlZC1iZyBibHVlKSkpKQ0KKyAgICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1CICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnLWRpbSBncmVlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZ3JlZW4tZmFpbnQNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkLWRldXRlcmFuIGZnLWRpZmYt YWRkZWQtZGV1dGVyYW4pKSkpDQorICAgIGAoZWRpZmYtY3VycmVudC1kaWZmLUMgKCgsY2xhc3Mg LEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctZGltIHllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyB5ZWxsb3ctZmFpbnQpKSkpDQor ICAgIGAoZWRpZmYtZXZlbi1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1 dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKGVkaWZmLWV2 ZW4tZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIg OmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQorICAgIGAoZWRpZmYtZXZlbi1kaWZm LUIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxm Zy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKGVkaWZmLWV2ZW4tZGlmZi1DICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFs LTIpKSkNCisgICAgYChlZGlmZi1maW5lLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGlmZi1mb2N1cy1yZW1vdmVkIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkN CisgICAgYChlZGlmZi1maW5lLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLWN5YW4pKSkNCisgICAgYChlZGlmZi1maW5lLWRpZmYtQg0KKyAgICAgICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxAKG1vZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJhbiBiZy1kaWZm LWZvY3VzLWFkZGVkLWRldXRlcmFuIGJnLWRpZmYtZm9jdXMtYWRkZWQpDQorICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLEAobW9kdXMtdGhlbWVzLS1kaWZmLWRldXRlcmFuIGZnLWRpZmYtZm9j dXMtYWRkZWQtZGV1dGVyYW4gZmctZGlmZi1mb2N1cy1hZGRlZCkpKSkNCisgICAgYChlZGlmZi1m aW5lLWRpZmYtQyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1mb2N1cy1jaGFuZ2VkIDpm b3JlZ3JvdW5kICxmZy1kaWZmLWZvY3VzLWNoYW5nZWQpKSkNCisgICAgYChlZGlmZi1vZGQtZGlm Zi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAs ZmctZGlmZi1uZXV0cmFsLTIpKSkNCisgICAgYChlZGlmZi1vZGQtZGlmZi1BbmNlc3RvciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTAgOmZvcmVncm91bmQgLGZnLWRpZmYt bmV1dHJhbC0wKSkpDQorICAgIGAoZWRpZmYtb2RkLWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQor ICAgIGAoZWRpZmYtb2RkLWRpZmYtQyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0 cmFsLTEgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQorOzs7OzsgZWdsb3QNCisg ICAgYChlZ2xvdC1tb2RlLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCis7Ozs7OyBlbC1zZWFyY2gNCisgICAgYChl bC1zZWFyY2gtaGlnaGxpZ2h0LWluLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZWwtc2VhcmNoLW1hdGNoICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCisgICAgYChlbC1zZWFy Y2gtb3RoZXItbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxk KSkpDQorICAgIGAoZWwtc2VhcmNoLW9jY3VyLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKzs7Ozs7IGVsZG9jDQorICAgIDs7IE5PVEU6IHNlZSBo dHRwczovL2dpdGh1Yi5jb20vcHVyY2VsbC9wYWNrYWdlLWxpbnQvaXNzdWVzLzE4Nw0KKyAgICAo bGlzdCAnZWxkb2MtaGlnaGxpZ2h0LWZ1bmN0aW9uLWFyZ3VtZW50IGAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGVsZG9jLWJveA0K KyAgICBgKGVsZG9jLWJveC1ib2R5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChlbGRvYy1ib3gtYm9yZGVyICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxmZy1hbHQpKSkNCis7Ozs7OyBlbGZlZWQNCisgICAgYChlbGZlZWQtbG9nLWRhdGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlbGZlZWQtc2VhcmNoLWRhdGUtZmFjZSkpKQ0KKyAgICBg KGVsZmVlZC1sb2ctZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlbGZlZWQtc2Vh cmNoLWZpbHRlci1mYWNlKSkpDQorICAgIGAoZWxmZWVkLWxvZy1lcnJvci1sZXZlbC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAoZWxmZWVkLWxvZy1pbmZvLWxldmVsLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgc3VjY2VzcykpKQ0KKyAgICBgKGVsZmVlZC1sb2ctd2Fybi1s ZXZlbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdhcm5pbmcpKSkNCisgICAgYChlbGZlZWQtc2Vh cmNoLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGVsZmVl ZC1zZWFyY2gtZmVlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50KSkpDQor ICAgIGAoZWxmZWVkLXNlYXJjaC1maWx0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGVsZmVlZC1zZWFyY2gtbGFzdC11 cGRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChl bGZlZWQtc2VhcmNoLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KKyAgICBgKGVsZmVlZC1zZWFyY2gtdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctZGltKSkpDQorICAgIGAoZWxmZWVkLXNlYXJjaC11bnJlYWQtY291bnQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoZWxmZWVkLXNlYXJjaC11 bnJlYWQtdGl0bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorOzs7OzsgZWxmZWVkLXNjb3JlDQorICAgIGAoZWxmZWVkLXNjb3JlLWRhdGUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGVsZmVlZC1zY29yZS1kZWJ1 Zy1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K KyAgICBgKGVsZmVlZC1zY29yZS1lcnJvci1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCisgICAgYChlbGZlZWQtc2NvcmUtaW5mby1sZXZlbC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZWxmZWVkLXNjb3JlLXdhcm4tbGV2ZWwtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgZW1tcw0KKyAgICBgKGVtbXMt cGxheWxpc3QtdHJhY2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBg KGVtbXMtcGxheWxpc3Qtc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQorOzs7OzsgZW5oYW5jZWQtcnVieS1tb2RlDQorICAgIGAoZW5o LXJ1YnktaGVyZWRvYy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCisgICAgYChlbmgtcnVieS1vcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAoZW5oLXJ1YnktcmVnZXhwLWRlbGltaXRlci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGVuaC1ydWJ5LXJlZ2V4cC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZW5oLXJ1Ynktc3RyaW5nLWRl bGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGVy bS1zeW4tZXJybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKGVybS1zeW4td2FybmxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5k ZXJsaW5lIHQpKSkNCis7Ozs7OyBlcGENCisgICAgYChlcGEtZmllbGQtYm9keSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGVwYS1maWVsZC1uYW1lICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGVwYS1tYXJrICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChlcGEtc3Ry aW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGVwYS12YWxpZGl0 eS1kaXNhYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQor ICAgIGAoZXBhLXZhbGlkaXR5LWhpZ2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAoZXBhLXZhbGlkaXR5LWxvdyAoKCxjbGFzcyA6 aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChlcGEtdmFsaWRpdHktbWVkaXVtICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCis7Ozs7OyBlcXVha2UNCisgICAgYChlcXVha2UtYnVm ZmVyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChlcXVha2Utc2hlbGwtdHlwZS1lc2hlbGwgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChlcXVh a2Utc2hlbGwtdHlwZS1yYXNoICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGVxdWFrZS1zaGVsbC10eXBlLXNoZWxsICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUp KSkNCisgICAgYChlcXVha2Utc2hlbGwtdHlwZS10ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGVxdWFrZS1z aGVsbC10eXBlLXZ0ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChlcXVha2UtdGFiLWFjdGl2ZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYChlcXVh a2UtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKzs7 Ozs7IGVyYw0KKyAgICBgKGVyYy1hY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZXJjLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkKSkpDQorICAgIGAoZXJjLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkN CisgICAgYChlcmMtY29tbWFuZC1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGVyYy1jdXJyZW50LW5pY2stZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChlcmMtZGFu Z2Vyb3VzLWhvc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCkpKQ0KKyAgICBgKGVyYy1kaXJlY3QtbXNnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCisgICAgYChlcmMtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChlcmMtZm9vbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKGVyYy1oZWFkZXItbGluZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCisgICAgYChlcmMt aW5wdXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAg IGAoZXJjLWludmVyc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtZGVmYXVsdC1mYWNlIDpp bnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYChlcmMta2V5d29yZC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZXJjLW15LW5pY2st ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAg IGAoZXJjLW15LW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW15LW5pY2st ZmFjZSkpKQ0KKyAgICBgKGVyYy1uaWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZXJjLW5pY2stbXNnLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChlcmMtbmljay1w cmVmaXgtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtbmljay1kZWZhdWx0LWZhY2UpKSkNCisg ICAgYChlcmMtbm90aWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkp KQ0KKyAgICBgKGVyYy1wYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQorICAgIGAoZXJjLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZXJjLXRpbWVzdGFtcC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChlcmMt dW5kZXJsaW5lLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAoYmc6ZXJjLWNv bG9yLWZhY2UwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJ3aGl0ZSIpKSkNCisgICAgYChiZzplcmMt Y29sb3ItZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgImJsYWNrIikpKQ0KKyAgICBgKGJnOmVy Yy1jb2xvci1mYWNlMTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnKSkpDQor ICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRl bnNlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmx1ZS1zdWJ0bGUtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTEzICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxtYWdlbnRhLXN1YnRsZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1m YWNlMTQgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk2MCIpKSkNCisgICAgYChiZzplcmMtY29s b3ItZmFjZTE1ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5ODAiKSkpDQorICAgIGAoYmc6ZXJj LWNvbG9yLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcpKSkNCisg ICAgYChiZzplcmMtY29sb3ItZmFjZTMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVu c2UtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmJhY2tncm91bmQg LHJlZC1zdWJ0bGUtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U2ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1j b2xvci1mYWNlNyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRsZS1iZykpKQ0KKyAg ICBgKGJnOmVyYy1jb2xvci1mYWNlOCAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXJlZmlu ZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlOSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Z3JlZW4tc3VidGxlLWJnKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UwICgoLGNsYXNzIDpm b3JlZ3JvdW5kICJ3aGl0ZSIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTEgKCgsY2xhc3Mg OmZvcmVncm91bmQgImJsYWNrIikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlMTAgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTExICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1m YWNlMTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChmZzplcmMtY29sb3It ZmFjZTEzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGZnOmVy Yy1jb2xvci1mYWNlMTQgKCgsY2xhc3MgOmZvcmVncm91bmQgImdyYXk2MCIpKSkNCisgICAgYChm ZzplcmMtY29sb3ItZmFjZTE1ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJncmF5ODAiKSkpDQorICAg IGAoZmc6ZXJjLWNvbG9yLWZhY2UyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZCkpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTcgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFj ZTggKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChmZzplcmMtY29s b3ItZmFjZTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7 IGVyb3MNCisgICAgYChlcm9zLXJlc3VsdC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggLTEgOmNvbG9yICxibHVlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCis7 Ozs7OyBlcnQNCisgICAgYChlcnQtdGVzdC1yZXN1bHQtZXhwZWN0ZWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGVydC10ZXN0LXJlc3VsdC11 bmV4cGVjdGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQor Ozs7OzsgZXNoZWxsDQorICAgIGAoZXNoZWxsLWxzLWFyY2hpdmUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChlc2hlbGwtbHMtYmFja3VwICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAoZXNoZWxsLWxzLWNsdXR0 ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChlc2hlbGwtbHMtZGly ZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQor ICAgIGAoZXNoZWxsLWxzLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQorICAgIGAoZXNoZWxsLWxzLW1pc3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1yZWQpKSkNCisgICAgYChlc2hlbGwtbHMtcHJvZHVjdCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZXNoZWxsLWxzLXJlYWRvbmx5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChlc2hlbGwt bHMtc3BlY2lhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAoZXNoZWxsLWxzLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9y DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkp KQ0KKyAgICBgKGVzaGVsbC1scy11bnJlYWRhYmxlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1p bmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChlc2hlbGwtcHJvbXB0 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tcHJvbXB0DQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdyZWVuLW51YW5jZWQtYmcgZ3JlZW4tYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncmVlbi1yZWZpbmUtYmcgZmctbWFpbikpKSkNCis7Ozs7OyBlc2hlbGwtZnJpbmdl LXN0YXR1cw0KKyAgICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLWZhaWx1cmUgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLXN1Y2Nlc3MgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorOzs7OzsgZXNoZWxsLWdpdC1wcm9tcHQNCisg ICAgYChlc2hlbGwtZ2l0LXByb21wdC1hZGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cp KSkNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1icmFuY2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBzaGFkb3cpKSkNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1kaXJlY3RvcnktZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQt ZmFpbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChlc2hlbGwtZ2l0 LXByb21wdC1leGl0LXN1Y2Nlc3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkN CisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtY2xlYW4t ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tcmVmaW5lLWJnKSkpDQorICAgIGAoZXNo ZWxsLWdpdC1wcm9tcHQtcG93ZXJsaW5lLWRpci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi bHVlLXJlZmluZS1iZykpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGluZS1ub3Qt Y2xlYW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCisg ICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1icmFuY2gtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwt Z2l0LWRpcnR5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGVz aGVsbC1naXQtcHJvbXB0LXJvYnlydXNzZWxsLWdpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQorOzs7OzsgZXNoZWxsLXByb21wdC1leHRyYXMgKGVwZSkNCisgICAgYChlcGUt ZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKyAgICBgKGVwZS1naXQtZGlyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hbHQtb3RoZXIpKSkNCisgICAgYChlcGUtZ2l0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0KSkpDQorICAgIGAoZXBlLXBpcGVsaW5lLWRlbGltaXRlci1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChlcGUtcGlwZWxpbmUtaG9zdC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZXBlLXBpcGVsaW5lLXRpbWUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoZXBl LXBpcGVsaW5lLXVzZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAg ICBgKGVwZS1yZW1vdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZXBlLXN0YXR1cy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVwZS12ZW52LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K Kzs7Ozs7IGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQorICAgIGAoZXNoZWxsLXN5bnRheC1o aWdobGlnaHRpbmctYWxpYXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBzaGFkb3cpKSkNCisgICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1kaXJlY3Rv cnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGVzaGVsbC1zeW50 YXgtaGlnaGxpZ2h0aW5nLWVudnZhci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWludmFsaWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGln aHRpbmctbGlzcC1mdW5jdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctc2hlbGwtY29tbWFuZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVzaGVsbC1zeW50 YXgtaGlnaGxpZ2h0aW5nLXN0cmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KKzs7Ozs7IGV2aWwtbW9kZQ0KKyAgICBgKGV2aWwtZXgtY29tbWFuZHMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZXZpbC1leC1pbmZvICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGV2aWwtZXgtbGF6 eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkN CisgICAgYChldmlsLWV4LXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLWdyZWVuKSkpDQorICAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLW1hdGNoZXMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCisgICAg YChldmlsLWV4LXN1YnN0aXR1dGUtcmVwbGFjZW1lbnQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVz LXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCis7Ozs7OyBldmlsLWdvZ2dsZXMNCisgICAg YChldmlsLWdvZ2dsZXMtY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1jb21tZW50YXJ5LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsIG1vZHVzLXRoZW1lLXNs YW50KSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtZGVs ZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KKyAg ICBgKGV2aWwtZ29nZ2xlcy1maWxsLWFuZC1tb3ZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZp bC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1pbmRlbnQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQorICAgIGAo ZXZpbC1nb2dnbGVzLWpvaW4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtZ3JlZW4pKSkNCisgICAgYChldmlsLWdvZ2dsZXMtbmVyZC1jb21tZW50ZXItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtY29tbWVudGFyeS1mYWNlKSkpDQorICAgIGAoZXZp bC1nb2dnbGVzLXBhc3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LWN5YW4pKSkNCisgICAgYChldmlsLWdvZ2dsZXMtcmVjb3JkLW1hY3JvLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZXZpbC1nb2dnbGVz LXJlcGxhY2Utd2l0aC1yZWdpc3Rlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXNldC1tYXJrZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCisgICAgYChl dmlsLWdvZ2dsZXMtc2hpZnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVm YXVsdC1mYWNlKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXN1cnJvdW5kLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xl cy15YW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkN Cis7Ozs7OyBldmlsLXNuaXBlDQorICAgIGAoZXZpbC1zbmlwZS1maXJzdC1tYXRjaC1mYWNlICgo LGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKSkNCisgICAg YChldmlsLXNuaXBlLW1hdGNoZXMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtbWFnZW50YSkpKQ0KKzs7Ozs7IGV2aWwtdmlzdWFsLW1hcmstbW9kZQ0KKyAgICBgKGV2 aWwtdmlzdWFsLW1hcmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LW1hZ2VudGEpKSkNCis7Ozs7OyBld3cNCisgICAgYChld3ctaW52YWxpZC1jZXJ0aWZpY2F0ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGV3dy12YWxpZC1jZXJ0 aWZpY2F0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoZXd3 LWZvcm0tY2hlY2tib3ggKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWlu YWN0aXZlIDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGV3dy1mb3JtLWZpbGUgKCgsY2xhc3MgOmJv eCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWluYWN0aXZlIDpzdHlsZSByZWxlYXNlZC1idXR0 b24pIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChld3ctZm9ybS1zZWxlY3QgKCgsY2xhc3MgOmluaGVyaXQgZXd3LWZvcm0tY2hlY2tib3gpKSkN CisgICAgYChld3ctZm9ybS1zdWJtaXQgKCgsY2xhc3MgOmluaGVyaXQgZXd3LWZvcm0tZmlsZSkp KQ0KKyAgICBgKGV3dy1mb3JtLXRleHQgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29s b3IgLGZnLWluYWN0aXZlIDpzdHlsZSBub25lKSA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChld3ctZm9ybS10ZXh0YXJlYSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorOzs7OzsgZXllYnJv d3NlDQorICAgIGAoZXllYnJvd3NlLW1vZGUtbGluZS1hY3RpdmUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCis7Ozs7OyBmYW5jeS1kYWJicmV2DQor ICAgIGAoZmFuY3ktZGFiYnJldi1tZW51LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZmFuY3ktZGFiYnJldi1wcmV2aWV3LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93IDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGZhbmN5 LWRhYmJyZXYtc2VsZWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWlu dGVuc2UtY3lhbiBib2xkKSkpKQ0KKzs7Ozs7IGZseWNoZWNrDQorICAgIGAoZmx5Y2hlY2stZXJy b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1lcnJvcikpKQ0KKyAgICBgKGZs eWNoZWNrLWVycm9yLWxpc3QtY2hlY2tlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtY29sdW1uLW51bWJlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZmx5Y2hlY2st ZXJyb3ItbGlzdC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWZpbGVuYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1oaWdo bGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KKyAgICBgKGZs eWNoZWNrLWVycm9yLWxpc3QtaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1pZC13aXRoLWV4cGxhaW5lciAoKCxj bGFzcyA6aW5oZXJpdCBmbHljaGVjay1lcnJvci1saXN0LWlkIDpib3ggdCkpKQ0KKyAgICBgKGZs eWNoZWNrLWVycm9yLWxpc3QtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKGZseWNoZWNrLWVycm9yLWxpc3QtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3Qtd2FybmluZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZmx5Y2hlY2stZnJpbmdlLWVy cm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCisgICAgYChm bHljaGVjay1mcmluZ2UtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2Ut Y3lhbikpKQ0KKyAgICBgKGZseWNoZWNrLWZyaW5nZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCisgICAgYChmbHljaGVjay1pbmZvICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctbm90ZSkpKQ0KKyAgICBgKGZseWNoZWNrLXZl cmlmeS1zZWxlY3QtY2hlY2tlciAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciBu aWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikpKSkNCisgICAgYChmbHljaGVjay13YXJuaW5nICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctd2FybmluZykpKQ0KKzs7Ozs7IGZseWNo ZWNrLWNvbG9yLW1vZGUtbGluZQ0KKyAgICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1lcnJv ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS1lcnJvcikpKQ0KKyAgICBg KGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5 Y2hlY2stZnJpbmdlLWluZm8pKSkNCisgICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtcnVu bmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCisgICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtaW5mby1mYWNlICgoLGNsYXNz IDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS13YXJuaW5nKSkpDQorOzs7OzsgZmx5Y2hlY2staW5k aWNhdG9yDQorICAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWRpc2FibGVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBg KGZseWNoZWNrLWluZGljYXRvci1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1i b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZmx5Y2hlY2staW5kaWNhdG9y LWluZm8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hY3RpdmUpKSkNCisgICAgYChmbHljaGVjay1pbmRpY2F0b3ItcnVubmluZyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K KyAgICBgKGZseWNoZWNrLWluZGljYXRvci1zdWNjZXNzICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGZseWNoZWNr LWluZGljYXRvci13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZv cmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCis7Ozs7OyBmbHljaGVjay1wb3NmcmFtZQ0KKyAg ICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0KSkpDQorICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtYm9yZGVyLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtZXJyb3ItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChmbHlj aGVjay1wb3NmcmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtaW5mby1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChmbHlj aGVjay1wb3NmcmFtZS13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQorOzs7OzsgZmx5bWFrZQ0KKyAgICBgKGZseW1ha2UtZXJyb3IgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1lcnJvcikpKQ0KKyAgICBgKGZseW1ha2Ut bm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLW5vdGUpKSkNCisgICAgYChm bHltYWtlLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy13YXJuaW5n KSkpDQorOzs7OzsgZmx5c3BlbGwNCisgICAgYChmbHlzcGVsbC1kdXBsaWNhdGUgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy13YXJuaW5nKSkpDQorICAgIGAoZmx5c3BlbGwtaW5j b3JyZWN0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctZXJyb3IpKSkNCis7Ozs7 OyBmbHlzcGVsbC1jb3JyZWN0DQorICAgIGAoZmx5c3BlbGwtY29ycmVjdC1oaWdobGlnaHQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCis7Ozs7OyBm bHgNCisgICAgYChmbHgtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1l eHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKzs7Ozs7IGZyZWV6ZS1pdA0KKyAg ICBgKGZyZWV6ZS1pdC1zaG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKzs7Ozs7IGZyb2ctbWVudQ0KKyAgICBgKGZyb2ctbWVu dS1hY3Rpb24ta2V5YmluZGluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlcikpKQ0KKyAgICBgKGZyb2ctbWVudS1hY3Rpb25zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCisgICAgYChmcm9nLW1lbnUtYm9yZGVyICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChmcm9nLW1lbnUtY2FuZGlkYXRlcy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZnJvZy1tZW51LXBvc2ZyYW1lLWJh Y2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoZnJv Zy1tZW51LXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7Ozsg Zm9jdXMNCisgICAgYChmb2N1cy11bmZvY3VzZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVu Zm9jdXNlZCkpKQ0KKzs7Ozs7IGZvbGQtdGhpcw0KKyAgICBgKGZvbGQtdGhpcy1vdmVybGF5ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KKzs7Ozs7IGZvbnQt bG9jaw0KKyAgICBgKGZvbnQtbG9jay1idWlsdGluLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50IGJsdWUtYWx0KSkpKQ0K KyAgICBgKGZvbnQtbG9jay1jb21tZW50LWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGZvbnQtbG9jay1jb21tZW50LWZhY2UpKSkNCisgICAgYChmb250LWxvY2stY29tbWVudC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1jb21tZW50DQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQgZmctY29tbWVudC15 ZWxsb3cpKSkpDQorICAgIGAoZm9udC1sb2NrLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCBtYWdlbnRhLWFs dC1vdGhlcikpKSkNCisgICAgYChmb250LWxvY2stZG9jLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc2xhbnQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdGhlbWVzLS1zeW50YXgtZG9jc3RyaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZnLWRvY3N0cmluZyBncmVlbi1hbHQtb3RoZXItZmFpbnQNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyLWZhaW50IG1hZ2Vu dGEtbnVhbmNlZC1mZykpKSkNCisgICAgYChmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWV4dHJhDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQgbWFnZW50 YS1hbHQpKSkpDQorICAgIGAoZm9udC1sb2NrLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1ib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1leHRyYQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFp bnQgY3lhbi1hbHQtb3RoZXIpKSkpDQorICAgIGAoZm9udC1sb2NrLW5lZ2F0aW9uLWNoYXItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1mb3JlZ3Jv dW5kDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxs b3cgeWVsbG93LWZhaW50KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1wcmVwcm9jZXNzb3ItZmFjZSAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1mb3JlZ3JvdW5kDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXIgcmVkLWFsdC1v dGhlci1mYWludCkpKSkNCisgICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWJhY2tzbGFz aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtc3RyaW5nDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctZXNj YXBlLWNoYXItYmFja3NsYXNoIHllbGxvdy1hbHQtZmFpbnQNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBibHVl LWFsdCkpKSkNCisgICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtc3RyaW5nDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctZXNjYXBlLWNo YXItY29uc3RydWN0IHJlZC1hbHQtb3RoZXItZmFpbnQNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgbWFnZW50YS1hbHQpKSkpDQorICAg IGAoZm9udC1sb2NrLXN0cmluZy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4 LXN0cmluZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFs dCBibHVlLWFsdC1mYWludCBncmVlbiBncmVlbi1hbHQpKSkpDQorICAgIGAoZm9udC1sb2NrLXR5 cGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1leHRyYQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1h bHQtZmFpbnQgY3lhbi1hbHQpKSkpDQorICAgIGAoZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1leHRyYQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50IGJsdWUtYWx0 LWZhaW50KSkpKQ0KKyAgICBgKGZvbnQtbG9jay13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZm9yZWdyb3VuZA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFjdGl2ZSB5ZWxsb3ctYWx0LWZhaW50KSkp KQ0KKzs7Ozs7IGZvcmdlDQorICAgIGAoZm9yZ2UtcG9zdC1hdXRob3IgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZvcmdlLXBvc3QtZGF0ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZm9yZ2UtdG9w aWMtY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGZvcmdlLXRvcGlj LW1lcmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChmb3JnZS10b3BpYy1v cGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChmb3Jn ZS10b3BpYy11bm1lcmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGZvcmdlLXRvcGljLXVucmVhZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorOzs7OzsgZm91bnRhaW4tbW9k ZQ0KKyAgICBgKGZvdW50YWluLWNoYXJhY3RlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCisgICAgYChmb3VudGFpbi1jb21tZW50ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChmb3VudGFpbi1k aWFsb2cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZm91bnRhaW4t bWV0YWRhdGEta2V5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisg ICAgYChmb3VudGFpbi1tZXRhZGF0YS12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KKyAgICBgKGZvdW50YWluLW5vbi1wcmludGluZyAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cp KSkNCisgICAgYChmb3VudGFpbi1ub3RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNs YW50IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChmb3VudGFpbi1wYWdlLWJyZWFrICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChmb3Vu dGFpbi1wYWdlLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0LW90aGVyKSkpDQorICAgIGAoZm91bnRhaW4tcGFyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCisgICAgYChmb3VudGFpbi1zY2VuZS1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGZvdW50YWluLXNl Y3Rpb24taGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkN CisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTEpKSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCisgICAgYChmb3VudGFp bi1zZWN0aW9uLWhlYWRpbmctMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTMpKSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctNCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRp bmctNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCisgICAgYChm b3VudGFpbi1zeW5vcHNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAg YChmb3VudGFpbi10cmFucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikp KQ0KKzs7Ozs7IGdlaXNlcg0KKyAgICBgKGdlaXNlci1mb250LWxvY2stYXV0b2RvYy1jdXJyZW50 LWFyZyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQor ICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWlkZW50aWZpZXIgKCgsY2xhc3MgOmluaGVy aXQgZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLWRv Yy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1kb2NzdHJp bmcpKSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLWRvYy1saW5rICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbikpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2stZXJyb3ItbGluayAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxv Y2staW1hZ2UtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWx0KSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBsLWlucHV0ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQpKSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtb3V0cHV0ICgoLGNs YXNzIDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChnZWlzZXItZm9u dC1sb2NrLXJlcGwtcHJvbXB0ICgoLGNsYXNzIDppbmhlcml0IG1pbmlidWZmZXItcHJvbXB0KSkp DQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkKSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWxpbmsgKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uKSkpDQorOzs7OzsgZ2l0LWNvbW1pdA0KKyAgICBgKGdpdC1jb21taXQtY29tbWVu dC1hY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbW1lbnQtZmFjZSkpKQ0KKyAg ICBgKGdpdC1jb21taXQtY29tbWVudC1icmFuY2gtbG9jYWwgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoZ2l0LWNvbW1p dC1jb21tZW50LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xh bnQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZ2l0LWNvbW1pdC1jb21tZW50 LWRldGFjaGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KKyAgICBgKGdpdC1jb21taXQtY29tbWVudC1maWxlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtY29tbWVudA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLXNwZWNpYWwtY29sZCByZWQtbnVhbmNlZC1m ZykpKSkNCisgICAgYChnaXQtY29tbWl0LWNvbW1lbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCBtb2R1cy10aGVtZS1zbGFudCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1jb21tZW50DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctZGltIGZnLXNwZWNpYWwtd2Fy bSkpKSkNCisgICAgYChnaXQtY29tbWl0LWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCisgICAgYChnaXQtY29tbWl0LWtub3duLXBzZXVkby1oZWFkZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZ2l0LWNvbW1pdC1ub25lbXB0 eS1zZWNvbmQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93 KSkpDQorICAgIGAoZ2l0LWNvbW1pdC1vdmVybG9uZy1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCisgICAgYChnaXQtY29tbWl0LXBzZXVkby1o ZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChnaXQtY29tbWl0LXN1 bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKzs7Ozs7 IGdpdC1ndXR0ZXINCisgICAgYChnaXQtZ3V0dGVyOmFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGdpdC1ndXR0ZXI6ZGVsZXRlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZ2l0LWd1dHRl cjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkp DQorICAgIGAoZ2l0LWd1dHRlcjpzZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZnJpbmdlLWN5YW4pKSkNCisgICAgYChnaXQtZ3V0dGVyOnVuY2hhbmdlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0KKzs7Ozs7IGdpdC1ndXR0ZXIt ZnINCisgICAgYChnaXQtZ3V0dGVyLWZyOmFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGdpdC1ndXR0ZXItZnI6ZGVsZXRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZ2l0LWd1dHRlci1m cjptb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkp DQorOzs7OzsgZ2l0LXtndXR0ZXIsZnJpbmdlfSsNCisgICAgYChnaXQtZ3V0dGVyKy1hZGRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCisgICAgYChnaXQt Z3V0dGVyKy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQp KSkNCisgICAgYChnaXQtZ3V0dGVyKy1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoZ2l0LWd1dHRlcistc2VwYXJhdG9yICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQorICAgIGAoZ2l0LWd1dHRl cistdW5jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRh KSkpDQorICAgIGAoZ2l0LWd1dHRlci1mcistYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLWdyZWVuKSkpDQorICAgIGAoZ2l0LWd1dHRlci1mcistZGVsZXRlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZ2l0LWd1dHRl ci1mcistbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxv dykpKQ0KKzs7Ozs7IGdpdC1sZW5zDQorICAgIGAoZ2l0LWxlbnMtYWRkZWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChnaXQtbGVucy1kZWxldGVk ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGdpdC1s ZW5zLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4xIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQorICAgIGAoZ2l0LWxlbnMtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ2l0LWxlbnMtcmVuYW1lZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorOzs7OzsgZ2l0LXJlYmFz ZQ0KKyAgICBgKGdpdC1yZWJhc2UtY29tbWVudC1oYXNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdGhlbWVzLS1zeW50YXgtY29tbWVudA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZnLXNwZWNpYWwtY29sZCByZWQtbnVhbmNlZC1mZykpKSkNCisgICAg YChnaXQtcmViYXNlLWNvbW1lbnQtaGVhZGluZyAgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9k dXMtdGhlbWUtc2xhbnQpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctZGltIGZnLXNwZWNpYWwtd2FybSkpKSkNCisg ICAgYChnaXQtcmViYXNlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoZ2l0LXJlYmFzZS1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KKzs7Ozs7IGdpdC10aW1lbWFjaGluZQ0KKyAgICBgKGdpdC10aW1lbWFjaGlu ZS1jb21taXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSkpKQ0KKyAgICBgKGdpdC10aW1lbWFjaGluZS1taW5pYnVmZmVyLWF1dGhvci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChnaXQtdGltZW1hY2hp bmUtbWluaWJ1ZmZlci1kZXRhaWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KKzs7Ozs7IGdpdC13YWxrdHJlZQ0KKyAgICBgKGdpdC13YWxrdHJlZS1jb21taXQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ2l0LXdhbGt0cmVlLXN5bWxp bmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChnaXQtd2Fsa3RyZWUt dHJlZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorOzs7OzsgZ251cw0K KyAgICBgKGdudXMtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGdu dXMtY2l0ZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50KSkpDQorICAgIGAoZ251 cy1jaXRlLTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAg IGAoZ251cy1jaXRlLTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAg ICBgKGdudXMtY2l0ZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkN CisgICAgYChnbnVzLWNpdGUtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikp KQ0KKyAgICBgKGdudXMtY2l0ZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAg IGAoZ251cy1jaXRlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAg YChnbnVzLWNpdGUtNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGdu dXMtY2l0ZS03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChnbnVz LWNpdGUtOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YChnbnVzLWNpdGUtOSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChn bnVzLWNpdGUtYXR0cmlidXRpb24gKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAoZ251cy1lbXBoYXNpcy1ib2xkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQpKSkNCisgICAgYChnbnVzLWVtcGhhc2lzLWJvbGQtaXRhbGljICgoLGNsYXNzIDppbmhl cml0IGJvbGQtaXRhbGljKSkpDQorICAgIGAoZ251cy1lbXBoYXNpcy1oaWdobGlnaHQtd29yZHMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKGdu dXMtZW1waGFzaXMtaXRhbGljICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYykpKQ0KKyAgICBgKGdu dXMtZW1waGFzaXMtdW5kZXJsaW5lLWJvbGQgKCgsY2xhc3MgOmluaGVyaXQgZ251cy1lbXBoYXNp cy1ib2xkIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMtdW5kZXJsaW5lLWJv bGQtaXRhbGljICgoLGNsYXNzIDppbmhlcml0IGdudXMtZW1waGFzaXMtYm9sZC1pdGFsaWMgOnVu ZGVybGluZSB0KSkpDQorICAgIGAoZ251cy1lbXBoYXNpcy11bmRlcmxpbmUtaXRhbGljICgoLGNs YXNzIDppbmhlcml0IGdudXMtZW1waGFzaXMtaXRhbGljIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBg KGdudXMtZ3JvdXAtbWFpbC0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQorICAgIGAoZ251cy1ncm91cC1tYWlsLTEtZW1wdHkgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZ251cy1ncm91cC1tYWlsLTIgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGdudXMtZ3Jv dXAtbWFpbC0yLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo Z251cy1ncm91cC1tYWlsLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChnbnVzLWdyb3VwLW1haWwtMy1lbXB0eSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChnbnVzLWdyb3VwLW1h aWwtbG93ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNl ZC1mZykpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbWFpbC1sb3ctZW1wdHkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy0xICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZ251cy1n cm91cC1uZXdzLTEtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAo Z251cy1ncm91cC1uZXdzLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy0yLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW5l d3MtMy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisg ICAgYChnbnVzLWdyb3VwLW5ld3MtNCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtNC1lbXB0eSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1u ZXdzLTUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcp KSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtNS1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtNiAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3Mt Ni1lbXB0eSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChnbnVzLWdyb3VwLW5l d3MtbG93ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQt ZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtbG93LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1oZWFkZXItY29udGVudCAoKCxj bGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1vdGhlcikpKQ0KKyAgICBgKGdudXMtaGVhZGVy LWZyb20gKCgsY2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFkZXItdG8gOnVuZGVybGluZSBuaWwp KSkNCisgICAgYChnbnVzLWhlYWRlci1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1lc3NhZ2UtaGVh ZGVyLW5hbWUpKSkNCisgICAgYChnbnVzLWhlYWRlci1uZXdzZ3JvdXBzICgoLGNsYXNzIDppbmhl cml0IG1lc3NhZ2UtaGVhZGVyLW5ld3Nncm91cHMpKSkNCisgICAgYChnbnVzLWhlYWRlci1zdWJq ZWN0ICgoLGNsYXNzIDppbmhlcml0IG1lc3NhZ2UtaGVhZGVyLXN1YmplY3QpKSkNCisgICAgYChn bnVzLXNlcnZlci1hZ2VudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQorICAgIGAoZ251cy1zZXJ2ZXItY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChnbnVzLXNlcnZlci1jbG91ZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGdudXMtc2VydmVy LWNsb3VkLWhvc3QgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkN CisgICAgYChnbnVzLXNlcnZlci1kZW5pZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQorICAgIGAoZ251cy1zZXJ2ZXItb2ZmbGluZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChnbnVzLXNlcnZlci1vcGVuZWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChnbnVz LXNpZ25hdHVyZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KKyAgICBgKGdudXMtc3BsYXNoICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykp KQ0KKyAgICBgKGdudXMtc3VtbWFyeS1jYW5jZWxsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtbWFyay1hbHQpKSkNCisgICAgYChnbnVzLXN1bW1hcnktaGlnaC1hbmNpZW50ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGdudXMtc3Vt bWFyeS1oaWdoLXJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtdGlja2VkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChnbnVzLXN1 bW1hcnktaGlnaC11bmRvd25sb2FkZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtdW5yZWFkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChnbnVzLXN1bW1hcnkt bG93LWFuY2llbnQgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCisgICAgYChnbnVzLXN1bW1hcnktbG93LXJlYWQgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGlj IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChnbnVzLXN1bW1hcnktbG93LXRpY2tlZCAo KCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcpKSkNCisg ICAgYChnbnVzLXN1bW1hcnktbG93LXVuZG93bmxvYWRlZCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFs aWMgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcpKSkNCisgICAgYChnbnVzLXN1bW1hcnkt bG93LXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLWFuY2llbnQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1ub3JtYWwt cmVhZCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChnbnVzLXN1bW1hcnktbm9y bWFsLXRpY2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBg KGdudXMtc3VtbWFyeS1ub3JtYWwtdW5kb3dubG9hZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCisgICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXVucmVhZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1zZWxlY3RlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKzs7Ozs7IGdvbGRlbi1yYXRp by1zY3JvbGwtc2NyZWVuDQorICAgIGAoZ29sZGVuLXJhdGlvLXNjcm9sbC1oaWdobGlnaHQtbGlu ZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKzs7Ozs7IGhlbG0NCisgICAgYChoZWxtLU0teC1rZXkgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChoZWxt LWFjdGlvbiAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChoZWxtLWJvb2ttYXJrLWFk ZHJlc3Nib29rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChoZWxt LWJvb2ttYXJrLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQorICAgIGAoaGVsbS1ib29rbWFyay1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQorICAgIGAoaGVsbS1ib29rbWFyay1maWxlLW5vdC1mb3VuZCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChoZWxtLWJv b2ttYXJrLWdudXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChoZWxt LWJvb2ttYXJrLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAo aGVsbS1ib29rbWFyay1tYW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisg ICAgYChoZWxtLWJvb2ttYXJrLXczbSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN CisgICAgYChoZWxtLWJ1ZmZlci1hcmNoaXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCisgICAgYChoZWxtLWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGhlbG0tYnVmZmVyLWZpbGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoZWxtLWJ1ZmZlci1tb2Rp ZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKGhlbG0tYnVm ZmVyLW5vdC1zYXZlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGhl bG0tYnVmZmVyLXByb2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAg YChoZWxtLWJ1ZmZlci1zYXZlZC1vdXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3Vu ZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChoZWxtLWJ1ZmZlci1zaXplICgo LGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGhlbG0tY2FuZGlkYXRlLW51bWJlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChoZWxtLWNhbmRpZGF0 ZS1udW1iZXItc3VzcGVuZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkp DQorICAgIGAoaGVsbS1jb21pbnQtcHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1jb21pbnQtcHJvbXB0cy1wcm9tcHRp ZHggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1kZWxl dGUtYXN5bmMtbWVzc2FnZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tZW9iLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoZWxtLWVzaGVsbC1wcm9t cHRzLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisg ICAgYChoZWxtLWVzaGVsbC1wcm9tcHRzLXByb21wdGlkeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hY3RpdmUpKSkNCisgICAgYChoZWxtLWV0YWdzLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWRpbSA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChoZWxtLWZmLWJhY2t1cC1maWxlICgo LGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGhlbG0tZmYtZGVuaWVkICgoLGNsYXNz ICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLXJlZA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXJlZA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlZCkpKSkNCisgICAgYChoZWxtLWZmLWRpcmVjdG9yeSAo KCxjbGFzcyA6aW5oZXJpdCBoZWxtLWJ1ZmZlci1kaXJlY3RvcnkpKSkNCisgICAgYChoZWxtLWZm LWRpcnMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIp KSkNCisgICAgYChoZWxtLWZmLWRvdHRlZC1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChoZWxt LWZmLWRvdHRlZC1zeW1saW5rLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCAoYnV0dG9uIGhl bG0tZmYtZG90dGVkLWRpcmVjdG9yeSkpKSkNCisgICAgYChoZWxtLWZmLWV4ZWN1dGFibGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoaGVsbS1mZi1maWxlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGVsbS1mZi1maWxlLWV4dGVu c2lvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoaGVs bS1mZi1pbnZhbGlkLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9y DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkIHJlZC1mYWlu dCkpKSkNCisgICAgYChoZWxtLWZmLXBpcGUgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRy YS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtcmVmaW5lLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSkpKSkNCisgICAgYChoZWxtLWZmLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHllbGxvdy1hbHQtb3RoZXIpKSkpDQorICAgIGAoaGVsbS1mZi1z b2NrZXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChoZWxt LWZmLXN1aWQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXJlZA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCkpKSkNCisgICAgYChoZWxt LWZmLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQorICAgIGAoaGVsbS1mZi10 cnVlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYCho ZWxtLWZkLWZpbmlzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAg IGAoaGVsbS1ncmVwLWNtZC1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90 aGVyKSkpDQorICAgIGAoaGVsbS1ncmVwLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoaGVsbS1ncmVwLWZpbmlzaCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1ncmVwLWxpbmVu byAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoaGVsbS1n cmVwLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0K KyAgICBgKGhlbG0taGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGhlbG0taGVhZGVyLWxpbmUtbGVmdC1tYXJnaW4gKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCisgICAg YChoZWxtLWhpc3RvcnktZGVsZXRlZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNv bXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXN1YnRsZS1yZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnYm9sZCkpKSkNCisgICAgYChoZWxtLWhpc3RvcnktcmVtb3RlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoaGVsbS1saXNwLWNvbXBsZXRpb24t aW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoaGVs bS1saXNwLXNob3ctY29tcGxldGlvbiAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNv bXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxv dw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCisg ICAgYChoZWxtLWxvY2F0ZS1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2 ZSkpKQ0KKyAgICBgKGhlbG0tbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1j b21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1 YnRsZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVm aW5lLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFu Y2VkLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4NCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGhlbG0tbWF0Y2gtaXRlbSAoKCxj bGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4NCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCisg ICAgYChoZWxtLW1pbmlidWZmZXItcHJvbXB0ICgoLGNsYXNzIDppbmhlcml0IG1pbmlidWZmZXIt cHJvbXB0KSkpDQorICAgIGAoaGVsbS1tb2NjdXItYnVmZmVyICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMt LWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1h bHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQorICAgIGAoaGVsbS1tb2RlLXByZWZp eCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW1h Z2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEtYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCisg ICAgYChoZWxtLW5vbi1maWxlLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisg ICAgYChoZWxtLXByZWZhcmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisg ICAgYChoZWxtLXJlc3VtZS1uZWVkLXVwZGF0ZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4 dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt YWx0LW90aGVyKSkpKQ0KKyAgICBgKGhlbG0tc2VsZWN0aW9uICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbmlsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQp KSkpDQorICAgIGAoaGVsbS1zZWxlY3Rpb24tbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChoZWxtLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAoaGVsbS10aW1lLXpvbmUtY3VycmVu dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChoZWxtLXRpbWUtem9uZS1o b21lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoaGVsbS1zb3VyY2Ut aGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1 cy10aGVtZXMtc2NhbGUtNCkpKSkNCisgICAgYChoZWxtLXRvcC1jb2x1bW5zICgoLGNsYXNzIDpp bmhlcml0IGhlbG0taGVhZGVyKSkpDQorICAgIGAoaGVsbS11Y3MtY2hhciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tdmlzaWJsZS1tYXJrICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorOzs7OzsgaGVsbS1s cy1naXQNCisgICAgYChoZWxtLWxzLWdpdC1hZGRlZC1jb3BpZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KKyAgICBgKGhlbG0tbHMtZ2l0LWFkZGVkLW1vZGlm aWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQorICAgIGAo aGVsbS1scy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQtaW50ZW5zZSkpKQ0KKyAgICBgKGhlbG0tbHMtZ2l0LWRlbGV0ZWQtYW5kLXN0YWdl ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZC1mZykpKQ0KKyAgICBgKGhl bG0tbHMtZ2l0LWRlbGV0ZWQtbm90LXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCisgICAgYChoZWxtLWxzLWdpdC1tb2RpZmllZC1hbmQtc3RhZ2VkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAoaGVsbS1scy1naXQt bW9kaWZpZWQtbm90LXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN CisgICAgYChoZWxtLWxzLWdpdC1yZW5hbWVkLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChoZWxtLWxzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorOzs7OzsgaGVsbS1zd2l0Y2gt c2hlbGwNCisgICAgYChoZWxtLXN3aXRjaC1zaGVsbC1uZXctc2hlbGwtZmFjZSAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRh DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 LW90aGVyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ2JvbGQpKSkpDQorOzs7OzsgaGVsbS14cmVmDQorICAgIGAoaGVsbS14cmVmLWZpbGUtbmFt ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChoZWxtLXhyZWYtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCis7Ozs7OyBoZWxwZnVsDQorICAgIGAoaGVscGZ1bC1oZWFkaW5nICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KKzs7Ozs7IGhpZ2hsaWdodCBy ZWdpb24gb3IgYWQtaG9jIHJlZ2V4cA0KKyAgICBgKGhpLWFxdWFtYXJpbmUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGN5YW4tc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo aGktYmxhY2stYiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpm b3JlZ3JvdW5kICxiZy1tYWluKSkpDQorICAgIGAoaGktYmxhY2staGIgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6YmFja2dyb3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQorICAg IGAoaGktYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChoaS1ibHVlLWIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQg aGktYmx1ZSkpKSkNCisgICAgYChoaS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4t c3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGktZ3JlZW4tYiAoKCxj bGFzcyA6aW5oZXJpdCAoYm9sZCBoaS1ncmVlbikpKSkNCisgICAgYChoaS1waW5rICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxtYWdlbnRhLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKGhpLXBpbmstYiAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBoaS1waW5rKSkpKQ0KKyAg ICBgKGhpLXJlZC1iICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLHJlZC1pbnRl bnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGktc2FsbW9uICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxyZWQtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAg IGAoaGkteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQorICAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChoaWdobGlnaHQtY2hh bmdlcy1kZWxldGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIgOnVuZGVybGlu ZSB0KSkpDQorICAgIGAoaGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1s aW5lKSkpDQorOzs7OzsgaGlnaGxpZ2h0LWJsb2Nrcw0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3Mt ZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxp Z2h0LWJsb2Nrcy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwt Y29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVw dGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNhbG0gOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTUtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC13YXJtIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXNwZWNpYWwtbWlsZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hs aWdodC1ibG9ja3MtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgt OC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBo aWdobGlnaHQtZGVmaW5lZA0KKyAgICBgKGhpZ2hsaWdodC1kZWZpbmVkLWJ1aWx0aW4tZnVuY3Rp b24tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoaGln aGxpZ2h0LWRlZmluZWQtZmFjZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC1tYWNy by1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAo aGlnaGxpZ2h0LWRlZmluZWQtc3BlY2lhbC1mb3JtLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC12YXJp YWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBoaWdo bGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAoYGhlcy1tb2RlJykNCisgICAgYChoZXMtZXNjYXBlLWJh Y2tzbGFzaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2Fw ZS1jaGFyLWNvbnN0cnVjdCkpKQ0KKyAgICBgKGhlcy1lc2NhcGUtc2VxdWVuY2UtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gp KSkNCis7Ozs7OyBoaWdobGlnaHQtaW5kZW50YXRpb24NCisgICAgYChoaWdobGlnaHQtaW5kZW50 YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQorICAg IGAoaGlnaGxpZ2h0LWluZGVudGF0aW9uLWN1cnJlbnQtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1udW1iZXJzDQorICAgIGAo aGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlcikpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1zeW1ib2wNCisgICAgYChoaWdobGlnaHQtc3ltYm9s LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQorOzs7 OzsgaGlnaGxpZ2h0LXRoaW5nDQorICAgIGAoaGlnaGxpZ2h0LXRoaW5nICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBobC1kZWZpbmVkDQor ICAgIGAoaGRlZmQtZnVuY3Rpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAg IGAoaGRlZmQtdW5kZWZpbmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAg IGAoaGRlZmQtdmFyaWFibGVzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKzs7 Ozs7IGhsLWZpbGwtY29sdW1uDQorICAgIGAoaGwtZmlsbC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCis7Ozs7OyBo bC10b2RvDQorICAgIGAoaGwtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVt ZS1zbGFudCkgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCis7Ozs7OyBoeWRyYQ0KKyAg ICBgKGh5ZHJhLWZhY2UtYW1hcmFudGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQorICAgIGAoaHlkcmEtZmFjZS1ibHVlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoaHlkcmEtZmFjZS1waW5rICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoaHlk cmEtZmFjZS1yZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQor ICAgIGAoaHlkcmEtZmFjZS10ZWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGN5YW4pKSkNCis7Ozs7OyBoeXBlcmxpc3QNCisgICAgYChoeXBlcmxpc3QtY29uZGl0aW9uICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGh5cGVybGlzdC1oYXNodGFnICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChoeXBlcmxpc3Qtb3BlcmF0b3Ig KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoaHlwZXJsaXN0LXBhcmVu ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGh5cGVybGlz dC1xdW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChoeXBlcmxp c3QtcmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBg KGh5cGVybGlzdC1zdGFycyAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChoeXBl cmxpc3QtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChoeXBlcmxpc3Qt dG9wbGV2ZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K Kzs7Ozs7IGljb21wbGV0ZQ0KKyAgICBgKGljb21wbGV0ZS1maXJzdC1tYXRjaCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1v ZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YSBiZy1hbHQNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmctYWN0aXZlIGZnLW1haW4pKSkpDQorOzs7OzsgaWNvbXBsZXRl LXZlcnRpY2FsDQorICAgIGAoaWNvbXBsZXRlLXZlcnRpY2FsLXNlcGFyYXRvciAoKCxjbGFzcyA6 aW5oZXJpdCBzaGFkb3cpKSkNCis7Ozs7OyBpZG8tbW9kZQ0KKyAgICBgKGlkby1maXJzdC1tYXRj aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YSBiZy1hbHQNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctYWN0aXZlIGZnLW1haW4pKSkpDQorICAgIGAoaWRvLWluY29tcGxldGUt cmVnZXhwICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAoaWRvLWluZGljYXRvciAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93KSkpDQorICAgIGAoaWRv LW9ubHktbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbiBncmVlbi1udWFuY2VkLWJnDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4taW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0K KyAgICBgKGlkby1zdWJkaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChp ZG8tdmlydHVhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorOzs7 OzsgaWVkaXQNCisgICAgYChpZWRpdC1vY2N1cnJlbmNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS1ibHVlKSkpDQorICAgIGAoaWVkaXQtcmVhZC1vbmx5LW9jY3VycmVuY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCis7Ozs7OyBp ZmxpcGINCisgICAgYChpZmxpcGItY3VycmVudC1idWZmZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGlmbGlwYi1vdGhlci1idWZm ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCis7Ozs7OyBpbWVudS1saXN0DQor ICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4p KSkNCisgICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0zICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnkt c3ViYWxpc3QtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnktc3Vi YWxpc3QtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEg OnVuZGVybGluZSB0KSkpDQorICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTIg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyIDp1bmRl cmxpbmUgdCkpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0zICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIgOnVuZGVybGluZSB0 KSkpDQorOzs7OzsgaW5kaXVtDQorICAgIGAoaW5kaXVtLWJyZWFrcG9pbnQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGluZGl1bS1mcmFtZS11cmwtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBg KGluZGl1bS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAoaW5kaXVtLWxpdGFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoaW5k aXVtLXJlcGwtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCisgICAgYChpbmRpdW0tcmVwbC1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChpbmRpdW0tcmVwbC1zdGRvdXQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGluZm8NCisgICAgYChJbmZvLXF1 b3RlZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKSA7IHRoZSBjYXBpdGFs aXphdGlvbiBpcyBjYW5vbmljYWwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dy b3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChpbmZv LWhlYWRlci1ub2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KKyAgICBgKGluZm8taGVhZGVyLXhyZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0 aXZlKSkpDQorICAgIGAoaW5mby1pbmRleC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtYXRjaCkp KQ0KKyAgICBgKGluZm8tbWVudS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aGVhZGluZy0zKSkpDQorICAgIGAoaW5mby1tZW51LXN0YXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZCkpKQ0KKyAgICBgKGluZm8tbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAg IGAoaW5mby10aXRsZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkp KQ0KKyAgICBgKGluZm8tdGl0bGUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTIpKSkNCisgICAgYChpbmZvLXRpdGxlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy0zKSkpDQorICAgIGAoaW5mby10aXRsZS00ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KKzs7Ozs7IGluZm8tY29sb3JzDQorICAgIGAoaW5mby1j b2xvcnMtbGlzcC1jb2RlLWJsb2NrICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoKSkpDQor ICAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tY29tbWFuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWNvbnN0YW50ICgoLGNsYXNz IDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAoaW5mby1jb2xvcnMt cmVmLWl0ZW0tZnVuY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5h bWUtZmFjZSkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLW1hY3JvICgoLGNsYXNzIDpp bmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYt aXRlbS1vdGhlciAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZG9jLWZhY2UpKSkNCisgICAg YChpbmZvLWNvbG9ycy1yZWYtaXRlbS1zcGVjaWFsLWZvcm0gKCgsY2xhc3MgOmluaGVyaXQgZm9u dC1sb2NrLWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXN5bnRh eC1jbGFzcyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAg IGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdHlwZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2st dHlwZS1mYWNlKSkpDQorICAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdXNlci1vcHRpb24gKCgs Y2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKyAgICBgKGlu Zm8tY29sb3JzLXJlZi1pdGVtLXZhcmlhYmxlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12 YXJpYWJsZS1uYW1lLWZhY2UpKSkNCis7Ozs7OyBpbnRlcmFjdGlvbi1sb2cNCisgICAgYChpbG9n LWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K KyAgICBgKGlsb2ctY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQorICAgIGAoaWxvZy1lY2hvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCisgICAgYChpbG9nLWxvYWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCisgICAgYChpbG9nLW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFk b3cpKSkNCisgICAgYChpbG9nLW5vbi1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKzs7Ozs7IGlvY2N1cg0KKyAgICBgKGlvY2N1ci1jdXJzb3IgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChpb2NjdXItaW52YWxpZC1yZWdleHAgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGlvY2N1ci1tYXRjaC1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGlvY2N1ci1tYXRj aC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xk IDpleHRlbmQgdCkpKQ0KKyAgICBgKGlvY2N1ci1udW0tbGluZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChpb2NjdXItb3ZlcmxheS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlIDpleHRlbmQgdCkpKQ0KKyAg ICBgKGlvY2N1ci1yZWdleHAtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhIGJvbGQpKSkpDQorICAgIGAoaW9jY3VyLXRpdGxlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQp KSkpDQorOzs7OzsgaXNlYXJjaCwgb2NjdXIsIGFuZCB0aGUgbGlrZQ0KKyAgICBgKGlzZWFyY2gg KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCisg ICAgYChpc2VhcmNoLWZhaWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJl ZCkpKQ0KKyAgICBgKGlzZWFyY2gtZ3JvdXAtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChpc2VhcmNoLWdyb3VwLTIgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAobGF6eS1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCisgICAgYChtYXRj aCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChx dWVyeS1yZXBsYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxv dyBib2xkKSkpKQ0KKzs7Ozs7IGlzbCAoaXNlYXJjaC1saWdodCkNCisgICAgYChpc2wtbGluZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChpc2wt bWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCisgICAg YChpc2wtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGlzbC1vbiAoKCxjbGFzcyA6aW5oZXJpdCAoYm9s ZCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpKQ0KKyAgICBgKGlzbC1zdHJpbmcgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN Cis7Ozs7OyBpdnkNCisgICAgYChpdnktYWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChpdnktY29tcGxldGlvbnMtYW5ub3RhdGlvbnMg KCgsY2xhc3MgOmluaGVyaXQgY29tcGxldGlvbnMtYW5ub3RhdGlvbnMpKSkNCisgICAgYChpdnkt Y29uZmlybS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoaXZ5LWN1 cnJlbnQtbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUt Y3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1p bnRlbnNlLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtc3BlY2lhbC1jb2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bmlsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAg IGAoaXZ5LWN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAs YmctbWFpbikpKQ0KKyAgICBgKGl2eS1ncmVwLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQorICAgIGAoaXZ5LWdyZXAtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGl2eS1oaWdobGlnaHQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGl2eS1tYXRjaC1yZXF1aXJlZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gt ZmFjZS0xICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1 YnRsZS1uZXV0cmFsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQpKSkpDQorICAg IGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtZmFjZS0yICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0t ZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLWdyZWVuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdyZWVuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTMg KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJs dWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXJlZmluZS1ibHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXINCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaXZ5LW1p bmlidWZmZXItbWF0Y2gtZmFjZS00ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29t cGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNl ZC1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEtYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWhpZ2hsaWdo dCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0 bGUtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQp KSkpDQorICAgIGAoaXZ5LW1vZGlmaWVkLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoaXZ5LW1vZGlmaWVkLW91 dHNpZGUtYnVmZmVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0KSkpDQorICAgIGAoaXZ5LW9yZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChpdnktcHJvbXB0LW1hdGNoICgoLGNsYXNzIDppbmhl cml0IGl2eS1jdXJyZW50LW1hdGNoKSkpDQorICAgIGAoaXZ5LXJlbW90ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGl2eS1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVy aXQgc2hhZG93KSkpDQorICAgIGAoaXZ5LXN1YmRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCisgICAgYChpdnktdmlydHVhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChpdnkteWFua2VkLXdvcmQgKCgsY2xhc3MgLEAo bW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQpKSkpDQorOzs7OzsgaXZ5LXBvc2ZyYW1l DQorICAgIGAoaXZ5LXBvc2ZyYW1lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChpdnktcG9zZnJhbWUtYm9yZGVyICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1pbm5lcikpKQ0KKyAgICBgKGl2eS1wb3NmcmFt ZS1jdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1h aW4pKSkNCis7Ozs7OyBqaXJhIChvcmctamlyYSkNCisgICAgYChqaXJhbGliLWNvbW1lbnQtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoamlyYWxpYi1jb21tZW50 LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChqaXJhbGliLWlz c3VlLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0p KSkNCisgICAgYChqaXJhbGliLWlzc3VlLWluZm8taGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgKG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSBib2xkKSkpKQ0KKyAgICBgKGppcmFsaWItaXNz dWUtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChqaXJhbGli LWxpbmstZmlsdGVyLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAoamlyYWxp Yi1saW5rLWlzc3VlLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAoamlyYWxp Yi1saW5rLXByb2plY3QtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBqb3Vy bmFsY3RsLW1vZGUNCisgICAgYChqb3VybmFsY3RsLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoam91cm5hbGN0bC1maW5pc2hlZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAo am91cm5hbGN0bC1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAg YChqb3VybmFsY3RsLXByb2Nlc3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCisgICAgYChqb3VybmFsY3RsLXN0YXJ0aW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuKSkpDQorICAgIGAoam91cm5hbGN0bC10aW1lc3RhbXAtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoam91cm5hbGN0bC13YXJu aW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQor Ozs7OzsganMyLW1vZGUNCisgICAgYChqczItZXJyb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZCkpKQ0KKyAgICBgKGpzMi1leHRlcm5hbC12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChqczItZnVuY3Rpb24tY2FsbCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGpzMi1mdW5jdGlvbi1wYXJhbSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGpzMi1pbnN0YW5jZS1tZW1iZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoanMyLWpzZG9jLWh0bWwt dGFnLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGpz Mi1qc2RvYy1odG1sLXRhZy1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAg IGAoanMyLWpzZG9jLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkp DQorICAgIGAoanMyLWpzZG9jLXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KKyAgICBgKGpzMi1qc2RvYy12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQorICAgIGAoanMyLW9iamVjdC1wcm9wZXJ0eSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGpzMi1vYmplY3QtcHJvcGVydHktYWNjZXNzICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoanMyLXByaXZhdGUtZnVuY3Rp b24tY2FsbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAo anMyLXByaXZhdGUtbWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQp KSkNCisgICAgYChqczItd2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCA6 dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBqdWxpYQ0KKyAgICBgKGp1bGlhLW1hY3JvLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K KyAgICBgKGp1bGlhLXF1b3RlZC1zeW1ib2wtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBqdXB5dGVyDQorICAgIGAoanVweXRlci1ldmFsLW92ZXJs YXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGp1 cHl0ZXItcmVwbC1pbnB1dC1wcm9tcHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQorICAgIGAoanVweXRlci1yZXBsLW91dHB1dC1wcm9tcHQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoanVweXRlci1yZXBsLXRyYWNlYmFj ayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKzs7Ozs7IGth b2NoYS1ydW5uZXINCisgICAgYChrYW9jaGEtcnVubmVyLWVycm9yLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGthb2NoYS1ydW5uZXItc3VjY2Vzcy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGthb2NoYS1ydW5uZXItd2FybmluZy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBrZXljYXN0DQorICAg IGAoa2V5Y2FzdC1jb21tYW5kICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJs dWUtYWN0aXZlKSkpDQorICAgIGAoa2V5Y2FzdC1rZXkgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1tb2RlLWxpbmUtYXR0cnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWlu IGJsdWUtYWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiBibHVl LWFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWN0aXZlIGJsdWUt aW50ZW5zZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhbHQtc3R5bGUgLTMpKSkp DQorOzs7OzsgbGluZSBudW1iZXJzIChkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlIGFuZCBnbG9i YWwgdmFyaWFudCkNCisgICAgYChsaW5lLW51bWJlcg0KKyAgICAgICgoLGNsYXNzIDppbmhlcml0 IGRlZmF1bHQNCisgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmUtbnVtYmVycw0K KyAgICAgICAgICAgICAgICAgIGZnLWFsdCBiZy1kaW0NCisgICAgICAgICAgICAgICAgICBmZy11 bmZvY3VzZWQpKSkpDQorICAgIGAobGluZS1udW1iZXItY3VycmVudC1saW5lDQorICAgICAgKCgs Y2xhc3MgOmluaGVyaXQgKGJvbGQgZGVmYXVsdCkNCisgICAgICAgICAgICAgICAsQChtb2R1cy10 aGVtZXMtLWxpbmUtbnVtYmVycw0KKyAgICAgICAgICAgICAgICAgIGZnLW1haW4gYmctYWN0aXZl DQorICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIpKSkpDQorICAgIGAobGluZS1udW1i ZXItbWFqb3ItdGljaw0KKyAgICAgICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQor ICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5lLW51bWJlcnMNCisgICAgICAgICAg ICAgICAgICB5ZWxsb3ctbnVhbmNlZC1mZyB5ZWxsb3ctbnVhbmNlZC1iZw0KKyAgICAgICAgICAg ICAgICAgIHJlZC1hbHQpKSkpDQorICAgIGAobGluZS1udW1iZXItbWlub3ItdGljaw0KKyAgICAg ICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQorICAgICAgICAgICAgICAgLEAobW9k dXMtdGhlbWVzLS1saW5lLW51bWJlcnMNCisgICAgICAgICAgICAgICAgICBmZy1hbHQgYmctaW5h Y3RpdmUNCisgICAgICAgICAgICAgICAgICBmZy1pbmFjdGl2ZSkpKSkNCis7Ozs7OyBsc3AtbW9k ZQ0KKyAgICBgKGxzcC1mYWNlLWhpZ2hsaWdodC1yZWFkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1ibHVlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGxzcC1mYWNlLWhpZ2hs aWdodC10ZXh0dWFsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkp DQorICAgIGAobHNwLWZhY2UtaGlnaGxpZ2h0LXdyaXRlICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1yZWZpbmUtYmx1ZSBib2xkKSkpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLWNvbnN0 YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGxzcC1m YWNlLXNlbWhsLWRlcHJlY2F0ZWQNCisgICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRl cmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAgOmZvcmVncm91bmQgLHllbGxv dyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1lbnVtbWVtYmVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGxzcC1mYWNl LXNlbWhsLWZpZWxkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGxz cC1mYWNlLXNlbWhsLWZpZWxkLXN0YXRpYyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z bGFudCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1mdW5j dGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGxzcC1mYWNlLXNl bWhsLW1ldGhvZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGxzcC1m YWNlLXNlbWhsLW5hbWVzcGFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLXByZXByb2Nl c3NvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGxzcC1m YWNlLXNlbWhsLXN0YXRpYy1tZXRob2QgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xh bnQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC10eXBlLWNs YXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGxzcC1mYWNl LXNlbWhsLXR5cGUtZW51bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisg ICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXByaW1pdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFj ZS1zZW1obC10eXBlLXRlbXBsYXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50 IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUt dHlwZWRlZiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC12YXJpYWJsZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlLWxvY2Fs ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwtdmFy aWFibGUtcGFyYW1ldGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K KyAgICBgKGxzcC1sZW5zLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGxzcC1sZW5zLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjgg OmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGxzcC11 aS1kb2MtYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAo bHNwLXVpLWRvYy1oZWFkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdy b3VuZCAsZmctaGVhZGVyKSkpDQorICAgIGAobHNwLXVpLWRvYy11cmwgKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uKSkpDQorICAgIGAobHNwLXVpLXBlZWstZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGxzcC11aS1wZWVrLWZvb3RlciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCisg ICAgYChsc3AtdWktcGVlay1oZWFkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6 Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQorICAgIGAobHNwLXVpLXBlZWstaGlnaGxpZ2h0ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQorICAgIGAobHNwLXVp LXBlZWstbGluZS1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobHNw LXVpLXBlZWstbGlzdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAobHNw LXVpLXBlZWstcGVlayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAobHNw LXVpLXBlZWstc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1j eWFuKSkpDQorICAgIGAobHNwLXVpLXNpZGVsaW5lLWNvZGUtYWN0aW9uICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChsc3AtdWktc2lkZWxpbmUtY3VycmVudC1zeW1ib2wg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOTkgOmJveCAoOmxpbmUtd2lkdGggLTEg OnN0eWxlIG5pbCkgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChsc3AtdWktc2lkZWxp bmUtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAwLjk5IDpib3ggKDpsaW5l LXdpZHRoIC0xIDpzdHlsZSBuaWwpIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChsc3At dWktc2lkZWxpbmUtc3ltYm9sLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpoZWlnaHQg MC45OSkpKQ0KKzs7Ozs7IG1hY3Jvc3RlcA0KKyAgICBgKG1hY3Jvc3RlcC1jb21waWxlci1tYWNy by1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYykpKQ0KKyAgICBgKG1hY3Jvc3RlcC1leHBh bnNpb24taGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1i ZykpKQ0KKyAgICBgKG1hY3Jvc3RlcC1nZW5zeW0tMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlIDpib3ggdCkpKQ0KKyAgICBgKG1hY3Jvc3RlcC1nZW5zeW0tMiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbiA6Ym94IHQpKSkNCisgICAgYCht YWNyb3N0ZXAtZ2Vuc3ltLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVs bG93IDpib3ggdCkpKQ0KKyAgICBgKG1hY3Jvc3RlcC1nZW5zeW0tNCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQgOmJveCB0KSkpDQorICAgIGAobWFjcm9zdGVwLWdlbnN5 bS01ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEgOmJveCB0KSkp DQorICAgIGAobWFjcm9zdGVwLW1hY3JvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpm b3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCis7Ozs7OyBtYWdpdA0KKyAgICBgKG1hZ2l0LWJpc2Vj dC1iYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChtYWdp dC1iaXNlY3QtZ29vZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQor ICAgIGAobWFnaXQtYmlzZWN0LXNraXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIpKSkNCisgICAgYChtYWdpdC1ibGFtZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQorICAgIGAobWFnaXQtYmxhbWUtZGltbWVkICgoLGNsYXNzIDppbmhlcml0IHNoYWRv dykpKQ0KKyAgICBgKG1hZ2l0LWJsYW1lLWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KKyAgICBgKG1hZ2l0LWJsYW1lLWhlYWRpbmcgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LWJsYW1lLWhpZ2hsaWdodCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pKSkNCisgICAgYChtYWdpdC1ibGFtZS1t YXJnaW4gKCgsY2xhc3MgOmluaGVyaXQgbWFnaXQtYmxhbWUtaGlnaGxpZ2h0KSkpDQorICAgIGAo bWFnaXQtYmxhbWUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCisgICAgYChtYWdpdC1ibGFtZS1zdW1tYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hZ2l0LWJyYW5jaC1jdXJyZW50ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlciA6Ym94IHQpKSkNCisgICAgYChtYWdpdC1icmFuY2gtbG9j YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAobWFnaXQtYnJhbmNo LXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChtYWdp dC1icmFuY2gtcmVtb3RlLWhlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyIDpib3ggdCkpKQ0KKyAgICBgKG1hZ2l0LWJyYW5jaC11cHN0cmVhbSAoKCxjbGFzcyA6aW5o ZXJpdCBpdGFsaWMpKSkNCisgICAgYChtYWdpdC1jaGVycnktZXF1aXZhbGVudCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAg IGAobWFnaXQtY2hlcnJ5LXVubWF0Y2hlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6 Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQorICAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsg ZnJvbSB0aGUgcGF0dGVybiBvZiBpbmhlcml0aW5nIGZyb20gdGhlDQorICAgIDs7IG1vZHVzLXRo ZW1lLWRpZmYtKiBmYWNlcywgdGhvdWdoIG9ubHkgZm9yIHRoZSBzdGFuZGFyZCBhY3Rpb25zLA0K KyAgICA7OyBub3QgdGhlIGhpZ2hsaWdodGVkIG9uZXMuICBUaGlzIGlzIGJlY2F1c2UgTWFnaXQn cyBpbnRlcmFjdGlvbg0KKyAgICA7OyBtb2RlbCByZWxpZXMgb24gaGlnaGxpZ2h0aW5nIHRoZSBj dXJyZW50IGRpZmYgaHVuay4NCisgICAgYChtYWdpdC1kaWZmLWFkZGVkICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmct bWFpbiBncmVlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1h ZGRlZCBmZy1kaWZmLWFkZGVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn cmVlbi1udWFuY2VkLWJnIGZnLWRpZmYtYWRkZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJnLWRpZmYtYWRkZWQtZGV1dGVyYW4gZmctZGlmZi1hZGRlZC1kZXV0ZXJhbikp KSkNCisgICAgYChtYWdpdC1kaWZmLWFkZGVkLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkKSkpDQorICAgIGAobWFnaXQtZGlmZi1iYXNlICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1tYWluIHllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIGZnLWRpZmYtY2hhbmdlZCkpKSkNCisgICAg YChtYWdpdC1kaWZmLWJhc2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWRpZmYtZm9jdXMtY2hhbmdlZCkpKQ0KKyAgICBgKG1hZ2l0LWRpZmYtY29udGV4dCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAobWFnaXQtZGlmZi1jb250ZXh0 LWhpZ2hsaWdodCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1kaW0NCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWluYWN0aXZlIGZnLWlu YWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi Zy1kaW0gZmctYWx0KSkpKQ0KKyAgICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5nICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1h Z2l0LWRpZmYtZmlsZS1oZWFkaW5nLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMt dGhlbWUtc3BlY2lhbC1jb2xkIGJvbGQpKSkpDQorICAgIGAobWFnaXQtZGlmZi1maWxlLWhlYWRp bmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkp DQorICAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBvZiBpbmhlcml0 aW5nIGZyb20gdGhlDQorICAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcy4NCisgICAgYCht YWdpdC1kaWZmLWh1bmstaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChtYWdpdC1kaWZmLWh1bmstaGVhZGluZy1o aWdobGlnaHQNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAgICAgICAgICAg OmJhY2tncm91bmQgLEAobW9kdXMtdGhlbWVzLS1kaWZmLWRldXRlcmFuIGJnLXJlZ2lvbiBiZy1k aWZmLWhlYWRpbmcpDQorICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLEAobW9kdXMtdGhlbWVz LS1kaWZmLWRldXRlcmFuIGZnLW1haW4gZmctZGlmZi1oZWFkaW5nKSkpKQ0KKyAgICBgKG1hZ2l0 LWRpZmYtaHVuay1oZWFkaW5nLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKG1hZ2l0LWRpZmYtaHVuay1yZWdpb24gKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKG1hZ2l0LWRpZmYtbGluZXMtYm91bmRhcnkgKCgsY2xh c3MgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtYWdpdC1kaWZmLWxpbmVzLWhlYWRp bmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCisgICAg YChtYWdpdC1kaWZmLXJlbW92ZWQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4gcmVkDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92 ZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcg ZmctZGlmZi1yZW1vdmVkKSkpKQ0KKyAgICBgKG1hZ2l0LWRpZmYtcmVtb3ZlZC1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1vdmVkKSkpDQorICAg IGAobWFnaXQtZGlmZnN0YXQtYWRkZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLEAobW9kdXMtdGhl bWVzLS1kaWZmLWRldXRlcmFuIGJsdWUgZ3JlZW4pKSkpDQorICAgIGAobWFnaXQtZGlmZnN0YXQt cmVtb3ZlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAobWFnaXQtZGltbWVk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYChtYWdpdC1maWxl bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFn aXQtaGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChtYWdpdC1oZWFkICgo LGNsYXNzIDppbmhlcml0IG1hZ2l0LWJyYW5jaC1sb2NhbCkpKQ0KKyAgICBgKG1hZ2l0LWhlYWRl ci1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZl KSkpDQorICAgIGAobWFnaXQtaGVhZGVyLWxpbmUta2V5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAobWFnaXQtaGVhZGVyLWxpbmUtbG9n LXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQor ICAgIGAobWFnaXQta2V5d29yZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAg ICBgKG1hZ2l0LWtleXdvcmQtc3F1YXNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChtYWdpdC1sb2ctYXV0aG9yICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFnaXQtbG9nLWRhdGUgKCgsY2xhc3MgOmlu aGVyaXQgc2hhZG93KSkpDQorICAgIGAobWFnaXQtbG9nLWdyYXBoICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkNCisgICAgYChtYWdpdC1tb2RlLWxpbmUtcHJvY2VzcyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKG1hZ2l0LW1v ZGUtbGluZS1wcm9jZXNzLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hY3RpdmUpKSkNCisgICAgYChtYWdpdC1wcm9jZXNzLW5nICgoLGNsYXNzIDppbmhlcml0 IGVycm9yKSkpDQorICAgIGAobWFnaXQtcHJvY2Vzcy1vayAoKCxjbGFzcyA6aW5oZXJpdCBzdWNj ZXNzKSkpDQorICAgIGAobWFnaXQtcmVmbG9nLWFtZW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1tYWluIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZs b2ctY2hlY2tvdXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGJs dWUtaW50ZW5zZSkpKQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1jaGVycnktcGljayAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KKyAgICBg KG1hZ2l0LXJlZmxvZy1jb21taXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVn cm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctbWVyZ2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisg ICAgYChtYWdpdC1yZWZsb2ctb3RoZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZv cmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1yZWJhc2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZSkp KQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1yZW1vdGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h aW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1yZXNl dCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2Up KSkNCisgICAgYChtYWdpdC1yZWZuYW1lICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAg ICBgKG1hZ2l0LXJlZm5hbWUtcHVsbHJlcSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisg ICAgYChtYWdpdC1yZWZuYW1lLXN0YXNoICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAg ICBgKG1hZ2l0LXJlZm5hbWUtd2lwICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBg KG1hZ2l0LXNlY3Rpb24gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKG1hZ2l0LXNlY3Rpb24taGVhZGluZyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFnaXQtc2VjdGlvbi1oZWFkaW5n LXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gYm9s ZCkpKSkNCisgICAgYChtYWdpdC1zZWN0aW9uLWhpZ2hsaWdodCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0KSkpDQorICAgIGAobWFnaXQtc2VxdWVuY2UtZG9uZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAobWFnaXQtc2VxdWVuY2UtZHJvcCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLWV4ZWMgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobWFnaXQtc2VxdWVuY2UtaGVh ZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChtYWdpdC1zZXF1ZW5j ZS1vbnRvICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNl LXBhcnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChtYWdpdC1z ZXF1ZW5jZS1waWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG1h Z2l0LXNlcXVlbmNlLXN0b3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG1h Z2l0LXNpZ25hdHVyZS1iYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk KSkpDQorICAgIGAobWFnaXQtc2lnbmF0dXJlLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQorICAgIGAobWFnaXQtc2lnbmF0dXJlLWV4cGlyZWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KKyAgICBgKG1hZ2l0LXNpZ25hdHVyZS1leHBpcmVkLWtleSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobWFnaXQtc2lnbmF0dXJlLWdvb2Qg KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAobWFnaXQtc2lnbmF0dXJlLXJl dm9rZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChtYWdpdC1zaWdu YXR1cmUtdW50cnVzdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFn aXQtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorOzs7Ozsg bWFnaXQtaW1lcmdlDQorICAgIGAobWFnaXQtaW1lcmdlLW92ZXJyaWRpbmctdmFsdWUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKzs7Ozs7IG1ha2UtbW9k ZSAobWFrZWZpbGVzKQ0KKyAgICBgKG1ha2VmaWxlLW1ha2VwcC1wZXJsICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxjeWFuLW51YW5jZWQtYmcpKSkNCisgICAgYChtYWtlZmlsZS1zcGFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsbWFnZW50YS1udWFuY2VkLWJnKSkpDQorOzs7OzsgbWFuDQorICAgIGAo TWFuLW92ZXJzdHJpa2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KKyAgICBgKE1hbi1yZXZlcnNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1tYWdlbnRhKSkpDQorICAgIGAoTWFuLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbiA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBtYXJnaW5hbGlhDQorICAgIGAobWFyZ2lu YWxpYS1hcmNoaXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2VkLWZnKSkpDQor ICAgIGAobWFyZ2luYWxpYS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQt ZmcpKSkNCisgICAgYChtYXJnaW5hbGlhLWNoYXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h Y3RpdmUpKSkNCisgICAgYChtYXJnaW5hbGlhLWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCkpKQ0KKyAg ICBgKG1hcmdpbmFsaWEtZmlsZS1tb2RlcyAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisg ICAgYChtYXJnaW5hbGlhLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQorICAgIGAobWFyZ2luYWxpYS1maWxlLW93bmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmdpbmFsaWEta2V5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG1hcmdpbmFsaWEtbW9kZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChtYXJnaW5hbGlhLW1vZGlm aWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorICAgIGAobWFyZ2lu YWxpYS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAo bWFyZ2luYWxpYS1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisg ICAgYChtYXJnaW5hbGlhLXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KKyAgICBgKG1hcmdpbmFsaWEtdmFyaWFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAobWFyZ2luYWxpYS12ZXJzaW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKzs7Ozs7IG1hcmtkb3duLW1vZGUNCisgICAgYCht YXJrZG93bi1ibG9ja3F1b3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xh bnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmtkb3duLWJvbGQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAobWFya2Rvd24tY29kZS1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmV4dGVuZCB0KSkpDQorICAgIGAobWFya2Rvd24tY29tbWVudC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGZvbnQtbG9jay1jb21tZW50LWZhY2UpKSkNCisgICAgYChtYXJrZG93bi1mb290bm90 ZS1tYXJrZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFs dCkpKQ0KKyAgICBgKG1hcmtkb3duLWZvb3Rub3RlLXRleHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1hcmtk b3duLWdmbS1jaGVja2JveC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KKyAgICBgKG1hcmtkb3duLWhlYWRlci1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChtYXJr ZG93bi1oZWFkZXItZmFjZSAoKHQgbmlsKSkpDQorICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2Ut MSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCisgICAgYChtYXJr ZG93bi1oZWFkZXItZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmct MikpKQ0KKyAgICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy0zKSkpDQorICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtNCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChtYXJrZG93bi1o ZWFkZXItZmFjZS01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0K KyAgICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy02KSkpDQorICAgIGAobWFya2Rvd24taGVhZGVyLXJ1bGUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYCht YXJrZG93bi1oci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KKyAgICBgKG1hcmtkb3duLWh0bWwtYXR0ci1uYW1lLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFya2Rv d24taHRtbC1hdHRyLXZhbHVlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1m b250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG1hcmtkb3duLWh0bWwtZW50aXR5LWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWFya2Rvd24t aHRtbC10YWctZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1m b250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobWFya2Rvd24taHRtbC10YWct bmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KKyAgICBgKG1hcmtkb3duLWlubGluZS1jb2RlLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2Fs bSkpKQ0KKyAgICBgKG1hcmtkb3duLWl0YWxpYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxp YyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFya2Rvd24tbGFuZ3Vh Z2UtaW5mby1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrZG93bi1sYW5ndWFnZS1rZXl3b3JkLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFsdA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQorICAgIGAobWFya2Rvd24tbGluZS1icmVhay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS1jeWFuIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKG1hcmtkb3duLWxp bmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChtYXJrZG93bi1saW5r LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmtkb3duLWxpc3QtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobWFya2Rvd24tbWFya3VwLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobWFya2Rvd24tbWF0aC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hcmtkb3duLW1l dGFkYXRhLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K KyAgICBgKG1hcmtkb3duLW1ldGFkYXRhLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQorICAgIGAobWFya2Rvd24tbWlzc2luZy1saW5rLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobWFya2Rvd24tcGxh aW4tdXJsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWFya2Rvd24tbGluay1mYWNlKSkpDQorICAg IGAobWFya2Rvd24tcHJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWFya2Rvd24tY29kZS1mYWNl IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChtYXJrZG93bi1yZWZlcmVu Y2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtYXJrZG93bi1tYXJrdXAtZmFjZSkpKQ0KKyAgICBg KG1hcmtkb3duLXN0cmlrZS10aHJvdWdoLWZhY2UgKCgsY2xhc3MgOnN0cmlrZS10aHJvdWdoIHQp KSkNCisgICAgYChtYXJrZG93bi10YWJsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0t bWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFya2Rvd24tdXJsLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorOzs7OzsgbWFya3VwLWZhY2VzIChgYWRvYy1t b2RlJykNCisgICAgYChtYXJrdXAtYW5jaG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWluYWN0aXZlKSkpDQorICAgIGAobWFya3VwLWF0dHJpYnV0ZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChtYXJrdXAtYmln LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjMgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykp KQ0KKyAgICBgKG1hcmt1cC1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChtYXJrdXAtY29kZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobWFy a3VwLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisg ICAgYChtYXJrdXAtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb21t ZW50LWZhY2UpKSkNCisgICAgYChtYXJrdXAtY29tcGxleC1yZXBsYWNlbWVudC1mYWNlICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9u KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChtYXJrdXAtZW1waGFzaXMt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KKyAgICBgKG1hcmt1cC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG1hcmt1cC1nZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChtYXJrdXAtaW50ZXJuYWwtcmVmZXJlbmNlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAg YChtYXJrdXAtaXRhbGljLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrdXAtbGlzdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKG1hcmt1cC1tZXRhLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAobWFya3VwLW1l dGEtaGlkZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG1hcmt1cC1w YXNzdGhyb3VnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQorICAgIGAobWFya3VwLXByZXByb2Nlc3Nvci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAobWFya3VwLXJlcGxhY2VtZW50LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChtYXJrdXAt c2Vjb25kYXJ5LXRleHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLXNtYWxsLWZhY2UgKCgsY2xhc3MgOmhl aWdodCAwLjggOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtYXJrdXAtc3Ryb25nLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkN CisgICAgYChtYXJrdXAtc3Vic2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmt1cC1zdXBlcnNjcmlwdC1mYWNl ICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisg ICAgYChtYXJrdXAtdGFibGUtY2VsbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmt1cC10YWJsZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAobWFya3VwLXRhYmxlLXJvdy1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAo bWFya3VwLXRpdGxlLTAtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDMuMCA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLXRpdGxlLTEtZmFjZSAoKCxjbGFzcyA6aGVp Z2h0IDIuNCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLXRp dGxlLTItZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuOCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk LWZnKSkpDQorICAgIGAobWFya3VwLXRpdGxlLTMtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuNCA6 Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLXRpdGxlLTQtZmFj ZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQor ICAgIGAobWFya3VwLXRpdGxlLTUtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3Vu ZCAsYmx1ZS1udWFuY2VkLWZnIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKG1hcmt1cC12YWx1ZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKG1hcmt1cC12 ZXJiYXRpbS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkp KQ0KKzs7Ozs7IG1lbnRvcg0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1tZXNzYWdlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQt bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWVu dG9yLWRvd25sb2FkLXByb2dyZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1zcGVlZC1kb3duICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1z cGVlZC11cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG1lbnRvci1k b3dubG9hZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBg KG1lbnRvci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtYmx1ZSkpKQ0KKyAgICBgKG1lbnRvci10cmFja2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQorOzs7OzsgbWVzc2FnZXMNCisgICAgYChtZXNzYWdlLWNpdGVk LXRleHQtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1mYWludCkpKQ0KKyAgICBgKG1lc3Nh Z2UtY2l0ZWQtdGV4dC0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkN CisgICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KKyAgICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC00ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQorICAgIGAobWVzc2FnZS1oZWFkZXItY2MgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAobWVzc2FnZS1oZWFkZXItbmFtZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobWVzc2FnZS1oZWFk ZXItbmV3c2dyb3VwcyAoKCxjbGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1vdGhlcikpKQ0K KyAgICBgKG1lc3NhZ2UtaGVhZGVyLW90aGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNhbG0pKSkNCisgICAgYChtZXNzYWdlLWhlYWRlci1zdWJqZWN0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobWVzc2FnZS1oZWFk ZXItdG8gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCisgICAgYChtZXNzYWdlLWhlYWRlci14aGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KKyAgICBgKG1lc3NhZ2UtbW1sICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCisgICAgYChtZXNzYWdlLXNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCis7Ozs7OyBtaW5pYnVmZmVyLWxpbmUNCisgICAg YChtaW5pYnVmZmVyLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7 OyBtaW5pbWFwDQorICAgIGAobWluaW1hcC1hY3RpdmUtcmVnaW9uLWJhY2tncm91bmQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKyAgICBgKG1pbmltYXAtY3VycmVudC1saW5l LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKzs7Ozs7IG1tbS1tb2RlDQorICAgIGAobW1tLWNsZWFudXAtc3VibW9kZS1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1iZykpKQ0KKyAgICBgKG1t bS1jb2RlLXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAg IGAobW1tLWNvbW1lbnQtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51 YW5jZWQtYmcpKSkNCisgICAgYChtbW0tZGVjbGFyYXRpb24tc3VibW9kZS1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxjeWFuLW51YW5jZWQtYmcpKSkNCisgICAgYChtbW0tZGVmYXVsdC1zdWJt b2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKG1tbS1pbml0 LXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1udWFuY2VkLWJnKSkp DQorICAgIGAobW1tLW91dHB1dC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJl ZC1udWFuY2VkLWJnKSkpDQorICAgIGAobW1tLXNwZWNpYWwtc3VibW9kZS1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxncmVlbi1udWFuY2VkLWJnKSkpDQorOzs7OzsgbW9kZWxpbmUNCisgICAg YChtb2RlLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS12YXJpYWJsZS1waXRjaC11aSkN CisgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1tb2RlLWxpbmUtYXR0 cnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWN0aXZlIGJnLWFjdGl2ZSBmZy1k aW0gYmctYWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWFsdCBiZy1hY3Rp dmUgJ2FsdC1zdHlsZSBuaWwgYmctbWFpbikpKSkNCisgICAgYChtb2RlLWxpbmUtYnVmZmVyLWlk ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChtb2RlLWxpbmUtZW1waGFzaXMgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYCht b2RlLWxpbmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1i bHVlIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikpKSkNCisgICAg YChtb2RlLWxpbmUtaW5hY3RpdmUgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS12YXJpYWJsZS1w aXRjaC11aSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1tb2RlLWxpbmUtYXR0cnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZmctaW5hY3RpdmUgYmctaW5hY3RpdmUgZmctYWx0IGJnLWRpbQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1yZWdpb24gYmctYWN0aXZlKSkpKQ0KKzs7Ozs7IG1v b2QtbGluZQ0KKyAgICBgKG1vb2QtbGluZS1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChtb29kLWxpbmUtc3RhdHVzLWVycm9yICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChtb29kLWxp bmUtc3RhdHVzLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAg IGAobW9vZC1saW5lLXN0YXR1cy1uZXV0cmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFj dGl2ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS1zdGF0dXMtc3VjY2VzcyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAobW9vZC1saW5lLXN0YXR1cy13YXJuaW5nICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAg YChtb29kLWxpbmUtdW5pbXBvcnRhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQorOzs7OzsgbXBkZWwNCisgICAgYChtcGRlbC1icm93c2VyLWRpcmVjdG9yeS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAobXBkZWwtcGxheWxpc3QtY3VycmVu dC1zb25nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQt b3RoZXIpKSkNCis7Ozs7OyBtdTRlDQorICAgIGAobXU0ZS1hdHRhY2gtbnVtYmVyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobXU0ZS1j aXRlZC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtZmFpbnQpKSkNCisgICAgYCht dTRlLWNpdGVkLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkp DQorICAgIGAobXU0ZS1jaXRlZC0zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQt b3RoZXIpKSkNCisgICAgYChtdTRlLWNpdGVkLTQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKyAgICBgKG11NGUtY2l0ZWQtNS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0KSkpDQorICAgIGAobXU0ZS1jaXRlZC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCisgICAgYChtdTRlLWNpdGVkLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAobXU0ZS1jb21wb3NlLWhlYWRlci1mYWNlICgoLGNs YXNzIDppbmhlcml0IG11NGUtY29tcG9zZS1zZXBhcmF0b3ItZmFjZSkpKQ0KKyAgICBgKG11NGUt Y29tcG9zZS1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLW5ldXRyYWwpKSkNCisgICAgYChtdTRlLWNvbnRhY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtZXNzYWdlLWhlYWRlci10bykpKQ0KKyAgICBgKG11NGUtY29udGV4dC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKG11NGUtZHJhZnQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChtdTRlLWZsYWdnZWQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG11NGUtZm9vdGVyLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KKyAgICBgKG11NGUtZm9yd2FyZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAobXU0ZS1oZWFkZXItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChtdTRlLWhlYWRlci1oaWdobGlnaHQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQorICAgIGAobXU0ZS1o ZWFkZXIta2V5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFkZXItbmFtZSkpKQ0K KyAgICBgKG11NGUtaGVhZGVyLW1hcmtzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbXU0ZS1zcGVj aWFsLWhlYWRlci12YWx1ZS1mYWNlKSkpDQorICAgIGAobXU0ZS1oZWFkZXItdGl0bGUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobXU0ZS1oZWFk ZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1vdGhlcikpKQ0K KyAgICBgKG11NGUtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChtdTRlLWxpbmstZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChtdTRlLW1vZGVsaW5lLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAobXU0ZS1tb3ZlZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisg ICAgYChtdTRlLW9rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCisgICAgYChtdTRlLXJlZ2lvbi1jb2RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKG11NGUtcmVwbGllZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAobXU0ZS1zcGVjaWFsLWhlYWRlci12YWx1ZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1lc3NhZ2UtaGVhZGVyLXN1YmplY3QpKSkNCisgICAgYChtdTRl LXN5c3RlbS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3Jv dW5kICxmZy1tYXJrLWRlbCkpKQ0KKyAgICBgKG11NGUtdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG11NGUtdHJhc2hlZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChtdTRlLXVucmVhZC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCisgICAgYChtdTRlLXVybC1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQorICAgIGAobXU0ZS12aWV3LWJvZHktZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG11NGUtd2FybmluZy1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHdhcm5pbmcpKSkNCis7Ozs7OyBtdTRlLWNvbnZlcnNhdGlvbg0KKyAgICBgKG11NGUt Y29udmVyc2F0aW9uLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNvbGQpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2Vu ZGVyLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG11 NGUtY29udmVyc2F0aW9uLXNlbmRlci0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNCAoKCxjbGFzcyA6aW5o ZXJpdCBzaGFkb3cpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KKyAgICBgKG11NGUtY29udmVyc2F0 aW9uLXNlbmRlci02ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KKyAg ICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1yZWZpbmUtZmcpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItOCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlv bi1zZW5kZXItbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtdTRl LWNvbnZlcnNhdGlvbi11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKzs7Ozs7IG11 bHRpcGxlLWN1cnNvcnMNCisgICAgYChtYy9jdXJzb3ItYmFyLWZhY2UgKCgsY2xhc3MgOmhlaWdo dCAxIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobWMvY3Vyc29yLWZhY2UgKCgsY2xh c3MgOmludmVyc2UtdmlkZW8gdCkpKQ0KKyAgICBgKG1jL3JlZ2lvbi1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHJlZ2lvbikpKQ0KKzs7Ozs7IG5lb3RyZWUNCisgICAgYChuZW8tYmFubmVyLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChuZW8tYnV0dG9uLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobmVvLWRpci1saW5rLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG5lby1leHBh bmQtYnRuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChuZW8tZmls ZS1saW5rLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChuZW8t aGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKG5lby1yb290LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAobmVvLXZjLWFkZGVkLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAobmVvLXZjLWNvbmZsaWN0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAobmVvLXZjLWRlZmF1bHQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG5lby12Yy1lZGl0 ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobmVvLXZjLWln bm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChu ZW8tdmMtbWlzc2luZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAg IGAobmVvLXZjLW5lZWRzLW1lcmdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQorICAgIGAobmVvLXZjLW5lZWRzLXVwZGF0ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxp bmUgdCkpKQ0KKyAgICBgKG5lby12Yy1yZW1vdmVkLWZhY2UgKCgsY2xhc3MgOnN0cmlrZS10aHJv dWdoIHQpKSkNCisgICAgYChuZW8tdmMtdW5sb2NrZWQtY2hhbmdlcy1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQorICAgIGAobmVvLXZjLXVwLXRvLWRh dGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChuZW8tdmMtdXNlci1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorOzs7Ozsgbm8tZW1vamkNCisg ICAgYChuby1lbW9qaSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKzs7Ozs7IG5vdG11 Y2gNCisgICAgYChub3RtdWNoLWNyeXB0by1kZWNyeXB0aW9uICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAobm90bXVjaC1jcnlwdG8tcGFydC1o ZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAo bm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLWJhZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS1nb29kICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KKyAgICBgKG5vdG11 Y2gtY3J5cHRvLXNpZ25hdHVyZS1nb29kLWtleSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAobm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLXVua25v d24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KKyAgICBgKG5v dG11Y2gtaGVsbG8tbG9nby1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NTAi KSkpDQorICAgIGAobm90bXVjaC1tZXNzYWdlLXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pKSkNCisgICAgYChub3RtdWNoLXNlYXJjaC1jb3Vu dCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChub3RtdWNoLXNlYXJjaC1kYXRl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAobm90bXVjaC1zZWFyY2gtZmxh Z2dlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAobm90bXVj aC1zZWFyY2gtbWF0Y2hpbmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKG5vdG11Y2gtc2VhcmNoLW5vbi1tYXRjaGluZy1hdXRob3JzICgoLGNsYXNzIDpp bmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG5vdG11Y2gtc2VhcmNoLXN1YmplY3QgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKG5vdG11Y2gtc2VhcmNoLXVucmVhZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChub3RtdWNoLXRhZy1hZGRlZA0KKyAg ICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xh c3MpDQorICAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGdyZWVuIDpzdHlsZSB3YXZlKSkNCisg ICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4gOnVuZGVybGluZSB0KSkpDQorICAgIGAo bm90bXVjaC10YWctZGVsZXRlZA0KKyAgICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVy bGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAgICA6dW5kZXJsaW5lICg6Y29sb3Ig LHJlZCA6c3R5bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYChub3RtdWNoLXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAobm90bXVjaC10YWctZmxhZ2dlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gtdGFnLXVucmVh ZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChub3RtdWNoLXRy ZWUtbWF0Y2gtYXV0aG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KKyAgICBgKG5vdG11Y2gtdHJlZS1tYXRjaC1kYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbm90bXVjaC1zZWFyY2gtZGF0ZSkpKQ0KKyAgICBgKG5vdG11Y2gtdHJlZS1tYXRjaC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobm90bXVjaC10cmVlLW1h dGNoLXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0 KSkpDQorICAgIGAobm90bXVjaC10cmVlLW5vLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg c2hhZG93KSkpDQorICAgIGAobm90bXVjaC10cmVlLW5vLW1hdGNoLWRhdGUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChub3RtdWNoLXdhc2gtY2l0ZWQtdGV4dCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG5vdG11Y2gtd2FzaC10b2dnbGUtYnV0 dG9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K Kzs7Ozs7IG51bTMtbW9kZQ0KKyAgICBgKG51bTMtZmFjZS1ldmVuICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKzs7Ozs7IG54bWwtbW9kZQ0KKyAgICBgKG54 bWwtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAg IGAobnhtbC1hdHRyaWJ1dGUtbG9jYWwtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2st dmFyaWFibGUtbmFtZS1mYWNlKSkpDQorICAgIGAobnhtbC1hdHRyaWJ1dGUtcHJlZml4ICgoLGNs YXNzICA6aW5oZXJpdCBmb250LWxvY2stdHlwZS1mYWNlKSkpDQorICAgIGAobnhtbC1hdHRyaWJ1 dGUtdmFsdWUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisg ICAgYChueG1sLWNkYXRhLXNlY3Rpb24tQ0RBVEEgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkN CisgICAgYChueG1sLWNkYXRhLXNlY3Rpb24tZGVsaW1pdGVyICgoLGNsYXNzIDppbmhlcml0IGVy cm9yKSkpDQorICAgIGAobnhtbC1jaGFyLXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG54bWwtY2hhci1yZWYtbnVtYmVyICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCkpKQ0KKyAgICBgKG54bWwtZGVsaW1pdGVkLWRhdGEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG54bWwt ZGVsaW1pdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChueG1sLWVs ZW1lbnQtY29sb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChueG1s LWVsZW1lbnQtbG9jYWwtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24t bmFtZS1mYWNlKSkpDQorICAgIGAobnhtbC1lbGVtZW50LXByZWZpeCAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAgIGAobnhtbC1lbnRpdHktcmVmLWRlbGlt aXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobnht bC1lbnRpdHktcmVmLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobnhtbC1nbHlwaCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCisgICAgYChueG1sLWhhc2gg KCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkpKQ0KKyAgICBg KG54bWwtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAobnhtbC1uYW1l ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYChueG1s LW5hbWVzcGFjZS1hdHRyaWJ1dGUtY29sb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCisgICAgYChueG1sLW5hbWVzcGFjZS1hdHRyaWJ1dGUtcHJlZml4ICgoLGNsYXNzIDppbmhl cml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkNCisgICAgYChueG1sLXByb2Nlc3Np bmctaW5zdHJ1Y3Rpb24tdGFyZ2V0ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3Jk LWZhY2UpKSkNCisgICAgYChueG1sLXByb2xvZy1rZXl3b3JkICgoLGNsYXNzIDppbmhlcml0IGZv bnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChueG1sLXJlZiAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAg YChybmctZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCis7Ozs7OyBvYmplZA0KKyAg ICBgKG9iamVkLWhsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICwoaWYgbW9kdXMtdGhlbWVzLWludGVu c2UtaGwtbGluZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmct aGwtYWx0LWludGVuc2UgYmctaGwtYWx0KSkpKQ0KKyAgICBgKG9iamVkLW1hcmsgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKyAgICBgKG9iamVkLW1vZGUtbGluZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCis7Ozs7OyBvcmRlcmxlc3MNCisgICAgYChv cmRlcmxlc3MtbWF0Y2gtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29t cGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUt YWx0LW90aGVyIGJsdWUtbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmx1ZS1yZWZpbmUtYmcgYmx1ZS1yZWZpbmUtZmcpKSkpDQorICAgIGAob3Jk ZXJsZXNzLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBs ZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRh LWFsdCBtYWdlbnRhLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KKyAgICBg KG9yZGVybGVzcy1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1j b21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl ZW4gZ3JlZW4tbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ3JlZW4tcmVmaW5lLWJnIGdyZWVuLXJlZmluZS1mZykpKSkNCisgICAgYChvcmRlcmxl c3MtbWF0Y2gtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlv bnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdyB5ZWxs b3ctbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg eWVsbG93LXJlZmluZS1iZyB5ZWxsb3ctcmVmaW5lLWZnKSkpKQ0KKzs7Ozs7IG9yZw0KKyAgICBg KG9yZy1hZ2VuZGEtY2FsZW5kYXItZXZlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCisgICAgYChvcmctYWdlbmRhLWNhbGVuZGFyLXNleHAgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0KSkpDQorICAgIGAob3JnLWFnZW5kYS1jbG9ja2luZyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgOmV4dGVuZCB0KSkpDQorICAgIGAob3JnLWFnZW5k YS1jb2x1bW4tZGF0ZWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBg KG9yZy1hZ2VuZGEtY3VycmVudC10aW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAob3JnLWFnZW5kYS1kYXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAob3JnLWFnZW5kYS1kYXRlLXRvZGF5ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVybGluZSB0KSkpDQorICAg IGAob3JnLWFnZW5kYS1kYXRlLXdlZWtlbmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQorICAgIGAob3JnLWFnZW5kYS1kaWFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGltbWVkLXRvZG8tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChvcmctYWdlbmRhLWRv bmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEt ZmlsdGVyLWNhdGVnb3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWN0aXZlKSkpDQorICAgIGAob3JnLWFnZW5kYS1maWx0ZXItZWZmb3J0ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAob3JnLWFn ZW5kYS1maWx0ZXItcmVnZXhwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWN0aXZlKSkpDQorICAgIGAob3JnLWFnZW5kYS1maWx0ZXItdGFncyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1h Z2VuZGEtcmVzdHJpY3Rpb24tbG9jayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChvcmctYWdlbmRhLXN0cnVjdHVyZSAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1zY2FsZS01KQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBg KG9yZy1hcmNoaXZlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCisgICAgYChvcmctYmxvY2sgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhl ZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1vcmct YmxvY2sgYmctZGltKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKG9yZy1ibG9jay1iZWdpbi1saW5lICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtdGhlbWVzLS1vcmctYmxvY2stZGVsaW0NCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiZy1kaW0gZmctc3BlY2lhbC1jb2xkDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmctYWx0IGZnLXNwZWNpYWwtbWlsZCkpKSkNCisgICAg YChvcmctYmxvY2stZW5kLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWJsb2NrLWJlZ2luLWxp bmUpKSkNCisgICAgYChvcmctY2hlY2tib3ggKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6 Y29sb3IgLGJnLWFjdGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91 bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChvcmctY2hl Y2tib3gtc3RhdGlzdGljcy1kb25lICgoLGNsYXNzIDppbmhlcml0IG9yZy1kb25lKSkpDQorICAg IGAob3JnLWNoZWNrYm94LXN0YXRpc3RpY3MtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCBvcmctdG9k bykpKQ0KKyAgICBgKG9yZy1jbG9jay1vdmVybGF5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG9yZy1jb2RlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQg LHJlZC1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAob3JnLWNvbHVt biAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAob3JnLWNvbHVtbi10aXRs ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDp1bmRlcmxpbmUgdCA6YmFja2dyb3VuZCAsYmctYWx0 KSkpDQorICAgIGAob3JnLWRhdGUgKCgsY2xhc3MgOmluaGVyaXQgLChpZiBtb2R1cy10aGVtZXMt bm8tbWl4ZWQtZm9udHMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdi dXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGJ1dHRvbiBmaXhl ZC1waXRjaCkpDQorICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5r LWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0K KyAgICBgKG9yZy1kYXRlLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0IDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYChvcmctZGlzcGF0Y2hlci1o aWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkp DQorICAgIGAob3JnLWRvY3VtZW50LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KKyAgICBgKG9yZy1kb2N1bWVudC1pbmZvLWtleXdvcmQgKCgsY2xhc3MgLEAo bW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChvcmctZG9jdW1lbnQt dGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gp IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtNSkpKSkN CisgICAgYChvcmctZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChv cmctZHJhd2VyICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3JnLWVs bGlwc2lzICgoLGNsYXNzKSkpIDsgaW5oZXJpdHMgZnJvbSB0aGUgaGVhZGluZydzIGNvbG9yDQor ICAgIGAob3JnLWZvb3Rub3RlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQpKSkpDQorICAgIGAo b3JnLWZvcm11bGEgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG9y Zy1oYWJpdC1hbGVydC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tb3JnLWhhYml0DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWdyYXBoLTAtYmcN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctZ3JhcGgtMC1i Zw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1ncmFwaC0x LWJnKSkpKQ0KKyAgICBgKG9yZy1oYWJpdC1hbGVydC1mdXR1cmUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy10aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB5ZWxsb3ctZ3JhcGgtMS1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctZ3JhcGgtMC1iZw0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctZ3JhcGgtMS1iZykpKSkNCisg ICAgYChvcmctaGFiaXQtY2xlYXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW9yZy1o YWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtZ3JhcGgt MC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWdyYXBo LTEtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWdyYXBo LTEtYmcpKSkpDQorICAgIGAob3JnLWhhYml0LWNsZWFyLWZ1dHVyZS1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tb3JnLWhhYml0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtZ3JhcGgtMS1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1ncmFwaC0xLWJnDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtZ3JhcGgtMS1iZykpKSkNCisgICAg YChvcmctaGFiaXQtb3ZlcmR1ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tb3JnLWhh Yml0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtZ3JhcGgt MC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWdyYXBo LTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1ncmFw aC0xLWJnKSkpKQ0KKyAgICBgKG9yZy1oYWJpdC1vdmVyZHVlLWZ1dHVyZS1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLXRoZW1lcy0tb3JnLWhhYml0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVkLWdyYXBoLTEtYmcNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtZ3JhcGgtMC1iZw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1ncmFwaC0xLWJnKSkpKQ0K KyAgICBgKG9yZy1oYWJpdC1yZWFkeS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tb3Jn LWhhYml0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tZ3Jh cGgtMC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWdy YXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1n cmFwaC0xLWJnKSkpKQ0KKyAgICBgKG9yZy1oYWJpdC1yZWFkeS1mdXR1cmUtZmFjZSAoKCxjbGFz cyAsQChtb2R1cy10aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBncmVlbi1ncmFwaC0xLWJnDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWdyYXBoLTAtYmcNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tZ3JhcGgtMS1iZykpKSkN CisgICAgYChvcmctaGVhZGxpbmUtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS12 YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNlZC1mZykpKQ0KKyAgICBgKG9y Zy1oZWFkbGluZS10b2RvICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBp dGNoIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG9yZy1oaWRlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQorICAgIGAob3JnLWluZGVudCAoKCxjbGFzcyA6 aW5oZXJpdCAoZml4ZWQtcGl0Y2ggb3JnLWhpZGUpKSkpDQorICAgIGAob3JnLWxhdGV4LWFuZC1y ZWxhdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBg KG9yZy1sZXZlbC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0K KyAgICBgKG9yZy1sZXZlbC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmct MikpKQ0KKyAgICBgKG9yZy1sZXZlbC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctMykpKQ0KKyAgICBgKG9yZy1sZXZlbC00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctNCkpKQ0KKyAgICBgKG9yZy1sZXZlbC01ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KKyAgICBgKG9yZy1sZXZlbC02ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0KKyAgICBgKG9yZy1sZXZlbC03ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNykpKQ0KKyAgICBgKG9yZy1sZXZlbC04ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctOCkpKQ0KKyAgICBgKG9yZy1saW5r ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKG9yZy1saXN0LWR0ICgoLGNsYXNz IDppbmhlcml0IGJvbGQpKSkNCisgICAgYChvcmctbWFjcm8gKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQg LGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YChvcmctbWV0YS1saW5lICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChvcmctbW9kZS1saW5lLWNsb2NrICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAob3JnLW1vZGUtbGluZS1jbG9jay1vdmVy cnVuICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkNCisgICAgYChv cmctcHJpb3JpdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChvcmct cHJvcGVydHktdmFsdWUgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KKyAgICBgKG9yZy1xdW90ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z bGFudA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLW9yZy1ibG9j ayBiZy1kaW0pDQorICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCisgICAgYChvcmctc2NoZWR1bGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KKyAgICBgKG9yZy1zY2hlZHVsZWQtcHJldmlvdXNseSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKG9yZy1zY2hlZHVsZWQtdG9k YXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAob3Jn LXNleHAtZGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctZGF0ZSkpKQ0KKyAgICBgKG9yZy1zcGVj aWFsLWtleXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisg ICAgYChvcmctdGFibGUgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykNCisg ICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K KyAgICBgKG9yZy10YWJsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG1v ZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKSkNCisgICAgYChvcmctdGFnICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQtZmcpKSkNCisgICAgYChvcmctdGFnLWdyb3VwICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZC1mZykpKQ0KKyAg ICBgKG9yZy10YXJnZXQgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAob3JnLXRpbWUt Z3JpZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAob3JnLXRv ZG8gKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG9yZy11cGNvbWluZy1kZWFk bGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKG9yZy11 cGNvbWluZy1kaXN0YW50LWRlYWRsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNl ZC1mZykpKQ0KKyAgICBgKG9yZy12ZXJiYXRpbSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1p eGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChvcmctdmVyc2UgKCgs Y2xhc3MgOmluaGVyaXQgb3JnLXF1b3RlKSkpDQorICAgIGAob3JnLXdhcm5pbmcgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IG9yZy1q b3VybmFsDQorICAgIGAob3JnLWpvdXJuYWwtY2FsZW5kYXItZW50cnktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikp KQ0KKyAgICBgKG9yZy1qb3VybmFsLWNhbGVuZGFyLXNjaGVkdWxlZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQor ICAgIGAob3JnLWpvdXJuYWwtaGlnaGxpZ2h0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KKzs7Ozs7IG9yZy1ub3Rlcg0KKyAgICBgKG9yZy1ub3Rlci1uby1ub3Rlcy1leGlz dC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkN CisgICAgYChvcmctbm90ZXItbm90ZXMtZXhpc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCis7Ozs7OyBvcmctcG9tb2Rvcm8NCisgICAg YChvcmctcG9tb2Rvcm8tbW9kZS1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQorICAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZS1icmVhayAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChvcmctcG9tb2Rvcm8tbW9kZS1saW5lLW92ZXJ0 aW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCis7 Ozs7OyBvcmctcmVjdXINCisgICAgYChvcmctcmVjdXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWN0aXZlKSkpDQorOzs7Ozsgb3JnLXJvYW0NCisgICAgYChvcmctcm9hbS1saW5rICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBncmVlbiBncmVlbi1mYWludCkpKSkNCisgICAgYChvcmctcm9hbS1saW5rLWN1cnJlbnQgKCgs Y2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBncmVlbi1hbHQgZ3JlZW4tYWx0LWZhaW50KSkpKQ0KKyAgICBgKG9y Zy1yb2FtLWxpbmstaW52YWxpZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZCByZWQtZmFpbnQpKSkp DQorICAgIGAob3JnLXJvYW0tbGluay1zaGllbGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24N CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0t bGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVs bG93IHllbGxvdy1mYWludCkpKSkNCisgICAgYChvcmctcm9hbS10YWcgKCgsY2xhc3MgOmluaGVy aXQgaXRhbGljIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCis7Ozs7OyBvcmctc3VwZXJzdGFyDQor ICAgIGAob3JnLXN1cGVyc3Rhci1pdGVtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAob3JnLXN1cGVyc3Rhci1sZWFkaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13 aGl0ZXNwYWNlKSkpDQorOzs7Ozsgb3JnLXRhYmxlLXN0aWNreS1oZWFkZXINCisgICAgYChvcmct dGFibGUtc3RpY2t5LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtbmV1dHJhbCkpKQ0KKzs7Ozs7IG9yZy10cmVlLXNsaWRlDQorICAgIGAob3JnLXRyZWUt c2xpZGUtaGVhZGVyLW92ZXJsYXktZmFjZQ0KKyAgICAgICgoLGNsYXNzIDppbmhlcml0IChib2xk IG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6YmFja2dyb3VuZCAsYmctbWFpbg0KKyAgICAg ICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOm92ZXJsaW5lIG5pbA0KKyAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTUp KSkpDQorOzs7Ozsgb3JnLXRyZWVzY29wZQ0KKyAgICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1h cmtlcmludGVybmFsLW1pZGRheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUpKSkNCisgICAgYChvcmctdHJlZXNjb3BlLWZhY2VzLS1tYXJrZXJpbnRlcm5hbC1yYW5n ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCis7Ozs7OyBv cmlnYW1pDQorICAgIGAob3JpZ2FtaS1mb2xkLWhlYWRlci1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSA6Ym94IHQpKSkNCisgICAgYChvcmlnYW1p LWZvbGQtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCis7Ozs7OyBvdXRsaW5lLW1vZGUNCisgICAgYChvdXRsaW5lLTEg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQorICAgIGAob3V0bGlu ZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KKyAgICBgKG91 dGxpbmUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCisgICAg YChvdXRsaW5lLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQor ICAgIGAob3V0bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkp KQ0KKyAgICBgKG91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTYpKSkNCisgICAgYChvdXRsaW5lLTcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVh ZGluZy03KSkpDQorICAgIGAob3V0bGluZS04ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhlYWRpbmctOCkpKQ0KKzs7Ozs7IG91dGxpbmUtbWlub3ItZmFjZXMNCisgICAgYChvdXRsaW5l LW1pbm9yLTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKzs7Ozs7IHBhY2thZ2Ug KE0teCBsaXN0LXBhY2thZ2VzKQ0KKyAgICBgKHBhY2thZ2UtZGVzY3JpcHRpb24gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHBhY2thZ2UtaGVscC1zZWN0 aW9uLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCisgICAgYChwYWNrYWdlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkp DQorICAgIGAocGFja2FnZS1zdGF0dXMtYXZhaWwtb2JzbyAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1hdmFpbGFibGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKHBhY2thZ2Utc3Rh dHVzLWJ1aWx0LWluICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAocGFj a2FnZS1zdGF0dXMtZGVwZW5kZW5jeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1kaXNhYmxlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtZXh0ZXJu YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAocGFja2Fn ZS1zdGF0dXMtaGVsZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBg KHBhY2thZ2Utc3RhdHVzLWluY29tcGF0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWluc3RhbGxlZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtbmV3 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAocGFj a2FnZS1zdGF0dXMtdW5zaWduZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KKzs7Ozs7IHBhZ2UtYnJlYWstbGluZXMNCisgICAgYChwYWdlLWJyZWFrLWxp bmVzICgoLGNsYXNzIDppbmhlcml0IGRlZmF1bHQgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZp ZGVyLW91dGVyKSkpDQorOzs7OzsgcGFyYWRveA0KKyAgICBgKHBhcmFkb3gtYXJjaGl2ZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChwYXJhZG94 LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1mYWNlKSkp DQorICAgIGAocGFyYWRveC1jb21taXQtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLW1hZ2VudGEgOmJveCB0KSkpDQorICAgIGAocGFyYWRveC1kZXNjcmlwdGlv bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChw YXJhZG94LWRlc2NyaXB0aW9uLWZhY2UtbXVsdGlsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChwYXJhZG94LWRvd25sb2FkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN CisgICAgYChwYXJhZG94LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAocGFyYWRveC1o b21lcGFnZS1idXR0b24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIgOnVuZGVybGluZSB0KSkpDQorICAgIGAocGFyYWRveC1tb2RlLWxpbmUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHBhcmFk b3gtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKHBhcmFkb3gtc3Rhci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAocGFyYWRveC1zdGFycmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQorOzs7OzsgcGFyZW4tZmFjZQ0KKyAgICBgKHBhcmVudGhlc2lzICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCis7Ozs7OyBwYXJyb3QNCisgICAgYChwYXJy b3Qtcm90YXRlLXJvdGF0aW9uLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorOzs7OzsgcGFzcw0KKyAgICBgKHBhc3MtbW9kZS1k aXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCisgICAgYChwYXNzLW1vZGUtZW50cnktZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHBhc3MtbW9kZS1o ZWFkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorOzs7 OzsgcGRmLXRvb2xzDQorICAgIGAocGRmLWxpbmtzLXJlYWQtbGluayAoKCxjbGFzcyA6YmFja2dy b3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnIDppbmhlcml0IGJv bGQpKSkgOyBGb3JlZ3JvdW5kIGlzIGJhY2tncm91bmQgYW5kIHZpY2UgdmVyc2ENCisgICAgYChw ZGYtb2NjdXItZG9jdW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAg YChwZGYtb2NjdXItcGFnZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKzs7Ozs7 IHBlcnNwLW1vZGUNCisgICAgYChwZXJzcC1mYWNlLWxpZ2h0ZXItYnVmZmVyLW5vdC1pbi1wZXJz cCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBgKHBl cnNwLWZhY2UtbGlnaHRlci1kZWZhdWx0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAocGVyc3AtZmFjZS1saWdodGVyLW5pbC1wZXJzcCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCis7Ozs7OyBw ZXJzcGVjdGl2ZQ0KKyAgICBgKHBlcnNwLXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCis7Ozs7OyBwaGktZ3JlcA0KKyAgICBg KHBoaS1ncmVwLWhlYWRpbmctZmFjZSAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtNCkpKSkNCisgICAgYChwaGktZ3Jl cC1saW5lLW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCisgICAgYChwaGktZ3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKHBoaS1ncmVwLW1vZGlmaWVkLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHBoaS1ncmVw LW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkp KQ0KKzs7Ozs7IHBoaS1zZWFyY2gNCisgICAgYChwaGktcmVwbGFjZS1wcmV2aWV3LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAocGhp LXNlYXJjaC1mYWlscGFydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1yZWQpKSkNCisgICAgYChwaGktc2VhcmNoLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCisgICAgYChwaGktc2VhcmNoLXNlbGVjdGlvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkp DQorOzs7OzsgcGtnYnVpbGQtbW9kZQ0KKyAgICBgKHBrZ2J1aWxkLWVycm9yLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1lcnJvcikpKQ0KKzs7Ozs7IHBvbWlkb3INCisg ICAgYChwb21pZG9yLWJyZWFrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90 aGVyKSkpDQorICAgIGAocG9taWRvci1vdmVyd29yay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAocG9taWRvci1za2lwLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKHBv bWlkb3Itd29yay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkN Cis7Ozs7OyBwb3B1cA0KKyAgICBgKHBvcHVwLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHBvcHVwLWlzZWFyY2gtbWF0Y2gg KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIGJvbGQpKSkpDQorICAg IGAocG9wdXAtbWVudS1tb3VzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtYmx1ZSkpKQ0KKyAgICBgKHBvcHVwLW1lbnUtc2VsZWN0aW9uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQpKSkpDQorICAgIGAocG9wdXAt c2Nyb2xsLWJhci1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2 ZSkpKQ0KKyAgICBgKHBvcHVwLXNjcm9sbC1iYXItZm9yZWdyb3VuZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChwb3B1cC1zdW1tYXJ5LWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisg ICAgYChwb3B1cC10aXAtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt eWVsbG93KSkpDQorOzs7OzsgcG93ZXJsaW5lDQorICAgIGAocG93ZXJsaW5lLWFjdGl2ZTAgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGJsdWUtZmFpbnQgOmludmVy c2UtdmlkZW8gdCkpKQ0KKyAgICBgKHBvd2VybGluZS1hY3RpdmUxICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAg ICBgKHBvd2VybGluZS1hY3RpdmUyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZv cmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKHBvd2VybGluZS1pbmFjdGl2ZTAgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAocG93ZXJsaW5lLWluYWN0aXZlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHBvd2VybGluZS1pbmFj dGl2ZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1p bmFjdGl2ZSkpKQ0KKzs7Ozs7IHBvd2VybGluZS1ldmlsDQorICAgIGAocG93ZXJsaW5lLWV2aWwt YmFzZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1t YWluKSkpDQorICAgIGAocG93ZXJsaW5lLWV2aWwtZW1hY3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSkpKQ0KKyAgICBgKHBvd2VybGluZS1ldmlsLWlu c2VydC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0K KyAgICBgKHBvd2VybGluZS1ldmlsLW1vdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQorICAgIGAocG93ZXJsaW5lLWV2aWwtbm9ybWFsLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAg ICBgKHBvd2VybGluZS1ldmlsLW9wZXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLXllbGxvdykpKQ0KKyAgICBgKHBvd2VybGluZS1ldmlsLXJlcGxhY2UtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQorICAgIGAocG93 ZXJsaW5lLWV2aWwtdmlzdWFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0 aXZlLWN5YW4pKSkNCis7Ozs7OyBwcm9jZWQNCisgICAgYChwcm9jZWQtbWFyayAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KKyAgICBgKHByb2NlZC1tYXJrZWQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCisgICAgYChwcm9jZWQt c29ydC1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jYWxtIDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IHByb2RpZ3kNCisgICAgYChwcm9kaWd5LWdy ZWVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAocHJvZGlneS1y ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAocHJvZGlneS15ZWxs b3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgcXVpY2stcGVl aw0KKyAgICBgKHF1aWNrLXBlZWstYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1hbHQpKSkNCisgICAgYChxdWljay1wZWVrLWJvcmRlci1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1pbm5lciA6aGVpZ2h0IDEpKSkNCisgICAgYChxdWlj ay1wZWVrLXBhZGRpbmctZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpoZWlnaHQg MC4xNSkpKQ0KKzs7Ozs7IHJhY2tldC1tb2RlDQorICAgIGAocmFja2V0LWRlYnVnLWJyZWFrLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisgICAgYChy YWNrZXQtZGVidWctbG9jYWxzLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNv bG9yIG5pbCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhY2tldC1kZWJ1Zy1yZXN1bHQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciBuaWwp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxn cmVlbikpKQ0KKyAgICBgKHJhY2tldC1oZXJlLXN0cmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKHJhY2tldC1rZXl3b3JkLWFyZ3VtZW50LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChyYWNrZXQtbG9nZ2VyLWNvbmZp Zy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCisgICAgYChyYWNrZXQtbG9nZ2VyLWRlYnVnLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAocmFja2V0LWxvZ2dlci1pbmZvLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSkpKQ0KKyAgICBgKHJhY2tldC1sb2dn ZXItdG9waWMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKHJhY2tldC1zZWxmZXZhbC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAgYChyYWNrZXQteHAtZXJyb3ItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLWVycm9yKSkpDQorOzs7OzsgcmFpbmJvdy1i bG9ja3MNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgt Mi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAocmFpbmJvdy1ibG9j a3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAg ICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC03 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKHJhaW5ib3ctYmxv Y2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAg YChyYWluYm93LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy11bm1hdGNoZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkKSkpDQorOzs7OzsgcmFpbmJvdy1pZGVudGlmaWVycw0KKyAgICBgKHJhaW5i b3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQtb3RoZXIpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChyYWluYm93LWlk ZW50aWZpZXJzLWlkZW50aWZpZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmll cnMtaWRlbnRpZmllci01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K KyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci02ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hbHQpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXIt NyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChyYWluYm93LWlk ZW50aWZpZXJzLWlkZW50aWZpZXItOCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkN CisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItOSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmll ci0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChyYWluYm93LWlkZW50 aWZpZXJzLWlkZW50aWZpZXItMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisg ICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4pKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTMgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKHJhaW5ib3ctaWRlbnRpZmllcnMt aWRlbnRpZmllci0xNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChy YWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hbHQpKSkNCis7Ozs7OyByYWluYm93LWRlbGltaXRlcnMNCisgICAgYChyYWluYm93LWRlbGlt aXRlcnMtYmFzZS1lcnJvci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtc3VidGxlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWJhc2Ut ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHJhaW5ib3ctZGVs aW1pdGVycy1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWludGVuc2UpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCisgICAgYChyYWluYm93 LWRlbGltaXRlcnMtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxvcmFuZ2UtaW50 ZW5zZSkpKQ0KKyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC01LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHB1cnBsZS1pbnRlbnNlKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJz LWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KKyAg ICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1pbnRlbnNlKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTgtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAocmFpbmJvdy1kZWxp bWl0ZXJzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2Up KSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtbWlzbWF0Y2hlZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkpDQorICAgIGAocmFpbmJv dy1kZWxpbWl0ZXJzLXVubWF0Y2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVz LXRoZW1lLXJlZmluZS1yZWQpKSkpDQorOzs7OzsgcmNpcmMNCisgICAgYChyY2lyYy1icmlnaHQt bmljayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K KyAgICBgKHJjaXJjLWRpbS1uaWNrICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBg KHJjaXJjLW15LW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KKyAgICBgKHJjaXJjLW5pY2staW4tbWVzc2FnZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChyY2lyYy1uaWNrLWluLW1lc3NhZ2UtZnVsbC1s aW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KKyAgICBgKHJjaXJjLW90aGVyLW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocmNpcmMtcHJvbXB0ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAocmNpcmMt c2VydmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYChyY2ly Yy10aW1lc3RhbXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAg ICBgKHJjaXJjLXVybCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkN Cis7Ozs7OyByZWN1cnNpb24taW5kaWNhdG9yDQorICAgIGAocmVjdXJzaW9uLWluZGljYXRvci1n ZW5lcmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKHJlY3Vy c2lvbi1pbmRpY2F0b3ItbWluaWJ1ZmZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KKzs7Ozs7IHJlZ2V4cC1idWlsZGVyIChyZS1idWlsZGVyKQ0KKyAgICBgKHJlYi1tYXRj aC0wICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorICAgIGAo cmViLW1hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEp KSkNCisgICAgYChyZWItbWF0Y2gtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtZ3JlZW4pKSkNCisgICAgYChyZWItbWF0Y2gtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAocmViLXJlZ2V4cC1ncm91cGluZy1iYWNrc2xh c2ggKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1iYWNrc2xhc2gp KSkNCisgICAgYChyZWItcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWNvbnN0cnVjdCkpKQ0KKzs7Ozs7IHJnIChyZy5l bCkNCisgICAgYChyZy1jb2x1bW4tbnVtYmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocmctY29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYChyZy1lcnJvci1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHJnLWZpbGUtdGFnLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHJnLWZpbGVu YW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAocmctbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAocmctbGl0ZXJhbC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKHJnLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAocmctcmVnZXhwLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAocmctdG9nZ2xlLW9m Zi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkp DQorICAgIGAocmctdG9nZ2xlLW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYChyZy13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgcmlwZ3JlcA0KKyAgICBg KHJpcGdyZXAtY29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQp KSkNCisgICAgYChyaXBncmVwLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkKSkpDQorICAgIGAocmlwZ3JlcC1oaXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KKyAgICBgKHJpcGdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCis7Ozs7OyBybWFpbA0KKyAgICBgKHJtYWls LWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKHJtYWlsLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IHJ1bGVyLW1vZGUNCisgICAgYChydWxlci1tb2RlLWNvbHVt bi1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAocnVsZXItbW9kZS1jb21tZW50LWNvbHVtbiAoKCxjbGFzcyA6 aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHJ1 bGVyLW1vZGUtY3VycmVudC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZh dWx0IDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKHJ1bGVyLW1vZGUtZGVmYXVsdCAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKHJ1bGVy LW1vZGUtZmlsbC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKHJ1bGVyLW1vZGUtZnJpbmdlcyAoKCxjbGFzcyA6 aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChy dWxlci1tb2RlLWdvYWwtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVs dCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHJ1bGVyLW1vZGUtbWFyZ2lucyAoKCxjbGFz cyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCisg ICAgYChydWxlci1tb2RlLXBhZCAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAg YChydWxlci1tb2RlLXRhYi1zdG9wICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVs dCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorOzs7Ozsgc2FsbGV0DQorICAgIGAo c2FsbGV0LWJ1ZmZlci1jb21wcmVzc2VkICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdy b3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLWRlZmF1bHQt ZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQtZmcpKSkNCisgICAg YChzYWxsZXQtYnVmZmVyLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFu Y2VkLWZnKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1oZWxwICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLW1vZGlmaWVkICgoLGNs YXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKyAg ICBgKHNhbGxldC1idWZmZXItb3JkaW5hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCisgICAgYChzYWxsZXQtYnVmZmVyLXJlYWQtb25seSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdCkpKQ0KKyAgICBgKHNhbGxldC1idWZmZXItc2l6ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1zcGVjaWFsICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHNhbGxldC1m bHgtbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFu DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5l LWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0 LW90aGVyKSkpKQ0KKyAgICBgKHNhbGxldC1yZWNlbnRmLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChzYWxsZXQtcmVjZW50Zi1maWxl LXBhdGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKHNh bGxldC1yZWdleHAtbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0 aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyKSkpKQ0KKyAgICBgKHNhbGxl dC1zb3VyY2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMt LXNjYWxlIG1vZHVzLXRoZW1lcy1zY2FsZS00KSkpKQ0KKyAgICBgKHNhbGxldC1zdWJzdHJpbmct bWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1i bHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtcmVmaW5lLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyKSkpKQ0KKzs7Ozs7IHNlbGVjdHJ1bQ0KKzs7IE5P VEUgMjAyMS0wMi0yMjogVGhlIGBzZWxlY3RydW0tcHJpbWFyeS1oaWdobGlnaHQnIGFuZA0KKzs7 IGBzZWxlY3RydW0tc2Vjb25kYXJ5LWhpZ2hsaWdodCcgYXJlIGRlcHJlY2F0ZWQgdXBzdHJlYW0g aW4gZmF2b3VyIG9mDQorOzsgdGhlaXIgc2VsZWN0cnVtLXByZXNjaWVudCBjb3VudGVycGFydHMu ICBXZSBzaGFsbCByZW1vdmUgdGhvc2UgZmFjZXMNCis7OyBmcm9tIHRoZSB0aGVtZXMgb25jZSB3 ZSBhcmUgY2VydGFpbiB0aGF0IHRoZXkgYXJlIG5vIGxvbmdlciByZWxldmFudC4NCisgICAgYChz ZWxlY3RydW0tY3VycmVudC1jYW5kaWRhdGUNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1tYWluDQorICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLEAocGNh c2UgbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICgnb3BpbmlvbmF0ZWQgKGxpc3QgYmctYWN0aXZlKSkNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKF8gKGxpc3QgYmctaW5hY3RpdmUpKSkpKSkNCisgICAgYChzZWxlY3RydW0t cHJpbWFyeS1oaWdobGlnaHQNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAg ICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KKyAgICBgKHNlbGVj dHJ1bS1zZWNvbmRhcnktaGlnaGxpZ2h0DQorICAgICAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0K KyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisg ICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLW51YW5jZWQtYmcNCisgICAgICAg ICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCis7Ozs7OyBzZWxl Y3RydW0tcHJlc2NpZW50DQorICAgIGAoc2VsZWN0cnVtLXByZXNjaWVudC1wcmltYXJ5LWhpZ2hs aWdodA0KKyAgICAgICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisgICAgICAgICAgICAgICAsQCht b2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQgbWFnZW50YS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAgICAgbWFnZW50YS1y ZWZpbmUtYmcgbWFnZW50YS1yZWZpbmUtZmcpKSkpDQorICAgIGAoc2VsZWN0cnVtLXByZXNjaWVu dC1zZWNvbmRhcnktaGlnaGxpZ2h0DQorICAgICAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAg ICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLW51YW5jZWQtYmcNCisgICAgICAgICAg ICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCis7Ozs7OyBzZW1hbnRp Yw0KKyAgICBgKHNlbWFudGljLWNvbXBsZXRlLWlubGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0gOnVuZGVybGluZSB0KSkpDQorICAgIGAoc2VtYW50aWMtZGVj b3JhdGlvbi1vbi1maWxlbGVzcy1pbmNsdWRlcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtZ3JlZW4pKSkNCisgICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLXByaXZhdGUt bWVtYmVycy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkp DQorICAgIGAoc2VtYW50aWMtZGVjb3JhdGlvbi1vbi1wcm90ZWN0ZWQtbWVtYmVycy1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChzZW1hbnRpYy1kZWNvcmF0aW9u LW9uLXVua25vd24taW5jbHVkZXMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5l LXJlZCkpKQ0KKyAgICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tdW5wYXJzZWQtaW5jbHVkZXMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHNl bWFudGljLWhpZ2hsaWdodC1lZGl0cy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQp KSkNCisgICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZnVuYy1jdXJyZW50LXRhZy1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYChzZW1hbnRpYy1pZGxlLXN5bWJvbC1o aWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQor ICAgIGAoc2VtYW50aWMtdGFnLWJvdW5kYXJ5LWZhY2UgKCgsY2xhc3MgOm92ZXJsaW5lICxibHVl LWludGVuc2UpKSkNCisgICAgYChzZW1hbnRpYy11bm1hdGNoZWQtc3ludGF4LWZhY2UgKCgsY2xh c3MgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikpKQ0KKzs7Ozs7IHNlc21hbg0KKyAgICBgKHNl c21hbi1icm93c2VyLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlciA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChzZXNtYW4tYnJvd3Nlci1oaWdobGlnaC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQorICAgIGAoc2Vz bWFuLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo c2VzbWFuLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUpKSkNCisgICAgYChzZXNtYW4tcHJvamVjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorOzs7Ozsgc2hlbGwtc2NyaXB0 LW1vZGUNCisgICAgYChzaC1oZXJlZG9jICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KKyAgICBgKHNoLXF1b3RlZC1leGVjICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorOzs7Ozsgc2hvcnRkb2MNCisgICAgYChz aG9ydGRvYy1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFk ZXIpKSkNCisgICAgYChzaG9ydGRvYy1zZWN0aW9uICgoLGNsYXNzKSkpIDsgcmVtb3ZlIHRoZSBk ZWZhdWx0J3MgdmFyaWFibGUtcGl0Y2ggc3R5bGUNCis7Ozs7OyBzaG93LXBhcmVuLW1vZGUNCisg ICAgYChzaG93LXBhcmVuLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tcGFyZW4gYmct cGFyZW4tbWF0Y2gNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSkNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc2hvdy1wYXJlbi1t YXRjaC1leHByZXNzaW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2Fs bSkpKQ0KKyAgICBgKHNob3ctcGFyZW4tbWlzbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1yZWQpKSkNCis7Ozs7OyBzaHINCisgICAgYChzaHItYWJicmV2aWF0aW9u DQorICAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkp KSBjbGFzcykNCisgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1kb2NzdHJpbmcgOnVuZGVybGluZSAo OmNvbG9yICxmZy1hbHQgOnN0eWxlIHdhdmUpKQ0KKyAgICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1kb2NzdHJpbmcgOnVuZGVybGluZSB0KSkpDQorICAgIGAoc2hyLXNlbGVjdGVkLWxpbmsg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCis7Ozs7OyBzaWRl LW5vdGVzDQorICAgIGAoc2lkZS1ub3RlcyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCis7Ozs7OyBzaWV2ZS1tb2RlDQorICAgIGAoc2lldmUtYWN0 aW9uLWNvbW1hbmRzICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkN CisgICAgYChzaWV2ZS1jb250cm9sLWNvbW1hbmRzICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChzaWV2ZS10YWdnZWQtYXJndW1lbnRzICgoLGNsYXNz IDppbmhlcml0IGZvbnQtbG9jay10eXBlLWZhY2UpKSkNCisgICAgYChzaWV2ZS10ZXN0LWNvbW1h bmRzICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCis7 Ozs7OyBza2V3ZXItbW9kZQ0KKyAgICBgKHNrZXdlci1lcnJvci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQorOzs7Ozsgc21hcnQtbW9kZS1saW5lDQorICAg IGAoc21sL2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisg ICAgYChzbWwvZGlzY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkN CisgICAgYChzbWwvZmlsZW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hY3RpdmUpKSkNCisgICAgYChzbWwvZm9sZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hY3RpdmUpKSkNCisgICAgYChzbWwvZ2l0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9nbG9iYWwgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9saW5lLW51bWJlciAoKCxjbGFzcyA6aW5o ZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL21pbm9yLW1vZGVzICgoLGNsYXNzIDppbmhl cml0IHNtbC9nbG9iYWwpKSkNCisgICAgYChzbWwvbW9kZXMgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoc21sL21vZGlmaWVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAoc21s L211bGUtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL25h bWUtZmlsbGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBg KHNtbC9ub3QtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBg KHNtbC9udW1iZXJzLXNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQor ICAgIGAoc21sL291dHNpZGUtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1yZWQpKSkNCisgICAgYChzbWwvcG9zaXRpb24tcGVyY2VudGFnZSAoKCxjbGFzcyA6 aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL3ByZWZpeCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAoc21sL3Byb2Nlc3MgKCgsY2xhc3MgOmluaGVy aXQgc21sL3ByZWZpeCkpKQ0KKyAgICBgKHNtbC9wcm9qZWN0aWxlICgoLGNsYXNzIDppbmhlcml0 IHNtbC9naXQpKSkNCisgICAgYChzbWwvcmVhZC1vbmx5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoc21sL3JlbW90ZSAoKCxjbGFzcyA6 aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL3N1ZG8gKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKHNtbC90aW1lICgoLGNsYXNzIDppbmhl cml0IHNtbC9nbG9iYWwpKSkNCisgICAgYChzbWwvdmMgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dp dCkpKQ0KKyAgICBgKHNtbC92Yy1lZGl0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKzs7Ozs7IHNtYXJ0cGFyZW5zDQorICAgIGAoc3AtcGFp ci1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJt KSkpDQorICAgIGAoc3Atc2hvdy1wYWlyLWVuY2xvc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChzcC1zaG93LXBhaXItbWF0Y2gtZmFjZSAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXBhcmVuIGJnLXBhcmVuLW1hdGNoDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1w YXJlbi1tYXRjaC1pbnRlbnNlKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3Atc2hvdy1wYWlyLW1pc21hdGNo LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisgICAg YChzcC13cmFwLW92ZXJsYXktY2xvc2luZy1wYWlyICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXIt b3ZlcmxheS1mYWNlKSkpDQorICAgIGAoc3Atd3JhcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgc3AtcGFpci1vdmVybGF5LWZhY2UpKSkNCisgICAgYChzcC13cmFwLW92ZXJsYXktb3Bl bmluZy1wYWlyICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQorICAg IGAoc3Atd3JhcC10YWctb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3Zl cmxheS1mYWNlKSkpDQorOzs7Ozsgc21lcmdlDQorICAgIGAoc21lcmdlLWJhc2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQorICAgIGAoc21lcmdlLWxvd2Vy ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQpKSkNCisgICAgYChzbWVy Z2UtbWFya2VycyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVn cm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQorICAgIGAoc21lcmdlLXJlZmluZWQtYWRkZWQg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkNCisgICAg YChzbWVyZ2UtcmVmaW5lZC1jaGFuZ2VkICgoLGNsYXNzKSkpDQorICAgIGAoc21lcmdlLXJlZmlu ZWQtcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1v dmVkKSkpDQorICAgIGAoc21lcmdlLXVwcGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWRpZmYtcmVtb3ZlZCkpKQ0KKzs7Ozs7IHNvbGFpcmUNCisgICAgYChzb2xhaXJlLWRlZmF1bHQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKHNvbGFpcmUtbGluZS1udW1iZXItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBzb2xhaXJlLWRlZmF1bHQtZmFjZSA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2Vk KSkpDQorICAgIGAoc29sYWlyZS1obC1saW5lLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFjdGl2ZSkpKQ0KKyAgICBgKHNvbGFpcmUtb3JnLWhpZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCis7Ozs7OyBzcGFjZWxpbmUNCisg ICAgYChzcGFjZWxpbmUtZXZpbC1lbWFjcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1h Y3RpdmUtbWFnZW50YSkpKQ0KKyAgICBgKHNwYWNlbGluZS1ldmlsLWluc2VydCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCisgICAgYChzcGFjZWxpbmUtZXZp bC1tb3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCisg ICAgYChzcGFjZWxpbmUtZXZpbC1ub3JtYWwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6 Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoc3BhY2VsaW5lLWV2aWwtcmVwbGFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQorICAgIGAoc3BhY2VsaW5l LWV2aWwtdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuKSkp DQorICAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQorICAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWluZm8gKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLXdhcm5p bmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAgYChzcGFjZWxp bmUtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWJs dWUpKSkNCisgICAgYChzcGFjZWxpbmUtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCisgICAgYChzcGFjZWxpbmUtcHl0aG9uLXZlbnYgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAoc3BhY2VsaW5lLXJl YWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAg IGAoc3BhY2VsaW5lLXVubW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJp bmdlLWN5YW4pKSkNCis7Ozs7OyBzcGVlZGJhcg0KKyAgICBgKHNwZWVkYmFyLWJ1dHRvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKHNwZWVkYmFyLWRpcmVjdG9yeS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChz cGVlZGJhci1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChzcGVlZGJhci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKHNwZWVkYmFyLXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKHNwZWVkYmFyLXNlcGFyYXRv ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0K KyAgICBgKHNwZWVkYmFyLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyKSkpDQorOzs7Ozsgc3BlbGwtZnUNCisgICAgYChzcGVsbC1mdS1pbmNvcnJlY3QtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLWVycm9yKSkpDQorOzs7Ozsgc3By YXkNCisgICAgYChzcHJheS1hY2NlbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWlu dGVuc2UpKSkNCisgICAgYChzcHJheS1iYXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVs dCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorOzs7Ozsgc3RyaXBlcw0KKyAgICBg KHN0cmlwZXMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KKzs7Ozs7 IHN1Y2Nlc3MNCisgICAgYChzdWdnZXN0LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKzs7Ozs7IHN3aXRjaC13aW5kb3cNCisg ICAgYChzd2l0Y2gtd2luZG93LWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp bSkpKQ0KKyAgICBgKHN3aXRjaC13aW5kb3ctbGFiZWwgKCgsY2xhc3MgOmhlaWdodCAzLjAgOmZv cmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKzs7Ozs7IHN3aXBlcg0KKyAgICBgKHN3aXBlci1i YWNrZ3JvdW5kLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtbmV1dHJhbCkpKQ0KKyAgICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMiAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKyAgICBgKHN3aXBlci1i YWNrZ3JvdW5kLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YSkpKQ0KKyAgICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtNCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAoc3dpcGVy LWxpbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChzd2lwZXItbWF0Y2gtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVz LXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKSkNCisgICAgYChzd2lwZXItbWF0Y2gtZmFjZS0yICgo LGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkpDQorICAg IGAoc3dpcGVyLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVt ZS1pbnRlbnNlLWJsdWUpKSkpDQorICAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6 aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKSkNCis7Ozs7OyBzd29vcA0K KyAgICBgKHN3b29wLWZhY2UtaGVhZGVyLWZvcm1hdC1saW5lICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1zY2FsZS0z KSkpKQ0KKyAgICBgKHN3b29wLWZhY2UtbGluZS1idWZmZXItbmFtZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1zY2Fs ZS00KSkpKQ0KKyAgICBgKHN3b29wLWZhY2UtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHN3b29wLWZhY2UtdGFyZ2V0LWxpbmUgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlIDpleHRlbmQgdCkpKQ0KKyAg ICBgKHN3b29wLWZhY2UtdGFyZ2V0LXdvcmRzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1jeWFuKSkpDQorOzs7Ozsgc3gNCisgICAgYChzeC1pbmJveC1pdGVtLXR5cGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoc3gtaW5ib3gt aXRlbS10eXBlLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJpdCAoc3gtaW5ib3gtaXRlbS10eXBlIGJv bGQpKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC1hbnN3ZXJzICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtYW5zd2Vycy1hY2NlcHRlZCAo KCxjbGFzcyA6Ym94IHQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoc3gtcXVlc3Rpb24t bGlzdC1ib3VudHkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LWRhdGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxp c3QtZmF2b3JpdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC1wYXJlbnQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LXJlYWQtcXVlc3Rpb24g KCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC1zY29y ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAoc3gtcXVl c3Rpb24tbGlzdC1zY29yZS11cHZvdGVkICgoLGNsYXNzIDppbmhlcml0IChzeC1xdWVzdGlvbi1s aXN0LXNjb3JlIGJvbGQpKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC11bnJlYWQtcXVlc3Rp b24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KHN4LXF1ZXN0aW9uLW1vZGUtYWNjZXB0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0 IDEuMyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWNsb3Nl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93IDpib3ggKDpsaW5l LXdpZHRoIDIgOmNvbG9yIG5pbCkpKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWNsb3NlZC1y ZWFzb24gKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtY29udGVudC1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWRhdGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWhl YWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAo c3gtcXVlc3Rpb24tbW9kZS1rYmQtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAw LjkgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLW1haW4gOnN0eWxlIHJlbGVhc2VkLWJ1 dHRvbikgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLXNj b3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChzeC1xdWVzdGlvbi1t b2RlLXNjb3JlLWRvd252b3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAg IGAoc3gtcXVlc3Rpb24tbW9kZS1zY29yZS11cHZvdGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLXRpdGxlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChzeC1x dWVzdGlvbi1tb2RlLXRpdGxlLWNvbW1lbnRzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKHN4LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCisgICAgYChzeC11c2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQorICAgIGAoc3gtdXNlci1yZXB1dGF0aW9uICgoLGNsYXNzIDppbmhlcml0IHNo YWRvdykpKQ0KKzs7Ozs7IHN5bWJvbC1vdmVybGF5DQorICAgIGAoc3ltYm9sLW92ZXJsYXktZGVm YXVsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0K KyAgICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTIgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChzeW1ib2wtb3Zl cmxheS1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cp KSkNCisgICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS01ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAoc3ltYm9s LW92ZXJsYXktZmFjZS02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQp KSkNCisgICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1jeWFuKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS04ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorOzs7Ozsgc3lzbG9nLW1v ZGUNCisgICAgYChzeXNsb2ctZGVidWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChzeXNsb2ctZXJyb3IgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoc3lzbG9nLWZpbGUgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoc3lz bG9nLWhpZGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChzeXNsb2ctaG91ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHN5c2xvZy1pbmZvICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoc3lzbG9n LWlwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCA6 dW5kZXJsaW5lIHQpKSkNCisgICAgYChzeXNsb2ctc3UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKHN5c2xvZy13YXJuICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IHRhYi1iYXItbW9kZQ0KKyAg ICBgKHRhYi1iYXIgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS12YXJpYWJsZS1waXRjaC11aSkN CisgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAodGFiLWJhci10YWIgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWFjdGl2ZSkNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKHRhYi1iYXItdGFiLWluYWN0aXZlICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3Vu ZCAsZmctZGltKSkpDQorOzs7OzsgdGFiLWxpbmUtbW9kZQ0KKyAgICBgKHRhYi1saW5lICgoLGNs YXNzICxAKG1vZHVzLXRoZW1lcy0tdmFyaWFibGUtcGl0Y2gtdWkpDQorICAgICAgICAgICAgICAg ICAgICAgICAgOmhlaWdodCAwLjk1IDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQorICAgIGAodGFiLWxpbmUtY2xvc2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYCh0YWItbGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYCh0 YWItbGluZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAyIDpj b2xvciAsYmctdGFiLWFjdGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tn cm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0YWIt bGluZS10YWItY3VycmVudCAoKCxjbGFzcyA6aW5oZXJpdCB0YWItbGluZS10YWIpKSkNCisgICAg YCh0YWItbGluZS10YWItaW5hY3RpdmUgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29s b3IgLGJnLXRhYi1pbmFjdGl2ZSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQor ICAgIGAodGFiLWxpbmUtdGFiLWluYWN0aXZlLWFsdGVybmF0ZSAoKCxjbGFzcyA6Ym94ICg6bGlu ZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWluYWN0aXZlLWFsdCkNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3Rp dmUtYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorOzs7OzsgdGFibGUgKGJ1aWx0LWluIHRh YmxlLmVsKQ0KKyAgICBgKHRhYmxlLWNlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVh bmNlZC1iZykpKQ0KKzs7Ozs7IHRlbGVwaG9uZS1saW5lDQorICAgIGAodGVsZXBob25lLWxpbmUt YWNjZW50LWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZvcmVncm91 bmQgLGJnLWluYWN0aXZlKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtYWNjZW50LWluYWN0aXZl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkp KQ0KKyAgICBgKHRlbGVwaG9uZS1saW5lLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1l bWFjcyAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxt YWdlbnRhLWludGVuc2UtYmcpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLWluc2VydCAo KCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxncmVlbi1p bnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xhc3Mg OmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAseWVsbG93LWludGVuc2Ut YmcpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLW5vcm1hbCAoKCxjbGFzcyA6aW5oZXJp dCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYCh0ZWxl cGhvbmUtbGluZS1ldmlsLW9wZXJhdG9yICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5l LWV2aWwgOmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcpKSkNCisgICAgYCh0ZWxlcGhvbmUt bGluZS1ldmlsLXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6 YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1ldmls LXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5k ICxjeWFuLWludGVuc2UtYmcpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1wcm9qZWN0aWxlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHRlbGVwaG9uZS1saW5l LXVuaW1wb3J0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBg KHRlbGVwaG9uZS1saW5lLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFjdGl2ZSkpKQ0KKzs7Ozs7IHRlcnJhZm9ybS1tb2RlDQorICAgIGAodGVycmFm b3JtLS1yZXNvdXJjZS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgt c3RyaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQpKSkpDQor ICAgIGAodGVycmFmb3JtLS1yZXNvdXJjZS10eXBlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1zeW50YXgtc3RyaW5nDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tZmFpbnQNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBtYWdlbnRhLWFsdCkpKSkNCis7Ozs7OyB0 ZXJtDQorICAgIGAodGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKHRlcm0tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkp DQorICAgIGAodGVybS1jb2xvci1ibGFjayAoKCxjbGFzcyA6YmFja2dyb3VuZCAiZ3JheTM1IiA6 Zm9yZWdyb3VuZCAiZ3JheTM1IikpKQ0KKyAgICBgKHRlcm0tY29sb3ItYmx1ZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmx1ZSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHRlcm0tY29sb3It Y3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKHRlcm0tY29sb3ItZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KKyAgICBgKHRlcm0tY29sb3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsbWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKHRlcm0tY29sb3It cmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBg KHRlcm0tY29sb3Itd2hpdGUgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk2NSIgOmZvcmVncm91 bmQgImdyYXk2NSIpKSkNCisgICAgYCh0ZXJtLWNvbG9yLXllbGxvdyAoKCxjbGFzcyA6YmFja2dy b3VuZCAseWVsbG93IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYCh0ZXJtLXVuZGVybGlu ZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyB0b21hdGluaG8NCisgICAgYCh0b21h dGluaG8tb2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorICAg IGAodG9tYXRpbmhvLXBhdXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRl bnNlKSkpDQorICAgIGAodG9tYXRpbmhvLXJlc2V0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hh ZG93KSkpDQorOzs7OzsgdHJhbnNpZW50DQorICAgIGAodHJhbnNpZW50LWFjdGl2ZS1pbmZpeCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCisgICAgYCh0cmFu c2llbnQtYW1hcmFudGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQorICAgIGAodHJhbnNpZW50LWFyZ3VtZW50ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYCh0cmFuc2llbnQtYmx1ZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAodHJhbnNpZW50LWRpc2FibGVk LXN1ZmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAg ICBgKHRyYW5zaWVudC1lbmFibGVkLXN1ZmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAodHJhbnNpZW50LWhlYWRpbmcgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRyYW5zaWVudC1pbmFj dGl2ZS1hcmd1bWVudCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYCh0cmFuc2ll bnQtaW5hY3RpdmUtdmFsdWUgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAodHJh bnNpZW50LWtleSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQor ICAgIGAodHJhbnNpZW50LW1pc21hdGNoZWQta2V5ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKHRyYW5zaWVudC1ub25zdGFuZGFyZC1rZXkgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkp DQorICAgIGAodHJhbnNpZW50LXBpbmsgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KKyAgICBgKHRyYW5zaWVudC1yZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYCh0cmFuc2llbnQtdGVhbCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBg KHRyYW5zaWVudC11bnJlYWNoYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2Vk KSkpDQorICAgIGAodHJhbnNpZW50LXVucmVhY2hhYmxlLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAodHJhbnNpZW50LXZhbHVlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorOzs7OzsgdHJhc2hl ZA0KKyAgICBgKHRyYXNoZWQtZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1t YXJrLWRlbCkpKQ0KKyAgICBgKHRyYXNoZWQtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQorICAgIGAodHJhc2hlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLW1hcmstc3ltYm9sKSkpDQorICAgIGAodHJhc2hlZC1tYXJrZWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCisgICAgYCh0cmFzaGVkLXJlc3RvcmVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQorICAgIGAodHJhc2hlZC1zeW1s aW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQpKSkpDQorOzs7OzsgdHJlZW1hY3MN CisgICAgYCh0cmVlbWFjcy1kaXJlY3RvcnktY29sbGFwc2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZGlyZWQtZGlyZWN0b3J5KSkpDQorICAgIGAodHJlZW1hY3MtZmlsZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHJlZW1hY3MtZnJp bmdlLWluZGljYXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAg IGAodHJlZW1hY3MtZ2l0LWFkZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWlu dGVuc2UpKSkNCisgICAgYCh0cmVlbWFjcy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCisgICAgYCh0cmVlbWFjcy1n aXQtaWdub3JlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKHRyZWVt YWNzLWdpdC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90 aGVyKSkpDQorICAgIGAodHJlZW1hY3MtZ2l0LXJlbmFtZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYCh0cmVlbWFjcy1naXQtdW5tb2RpZmllZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHJlZW1hY3MtZ2l0 LXVudHJhY2tlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQor ICAgIGAodHJlZW1hY3MtaGVscC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkN CisgICAgYCh0cmVlbWFjcy1oZWxwLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyKSkpDQorICAgIGAodHJlZW1hY3Mtb24tZmFpbHVyZS1wdWxzZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAodHJlZW1h Y3Mtb24tc3VjY2Vzcy1wdWxzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtZ3JlZW4pKSkNCisgICAgYCh0cmVlbWFjcy1yb290LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmhlaWdodCAxLjIgOnVuZGVybGlu ZSB0KSkpDQorICAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtZGlzY29ubmVjdGVkLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1yZW1vdGUtZmFjZSA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQorICAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB0cmVlbWFjcy1yb290LWZhY2UgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYCh0cmVl bWFjcy1yb290LXJlbW90ZS11bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1h Y3Mtcm9vdC11bnJlYWRhYmxlLWZhY2UpKSkNCisgICAgYCh0cmVlbWFjcy1yb290LXVucmVhZGFi bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LWZhY2UgOnN0cmlrZS10aHJv dWdoIHQpKSkNCisgICAgYCh0cmVlbWFjcy10YWdzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQorICAgIGAodHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IHR0eS1tZW51DQorICAgIGAodHR5LW1lbnUtZGlz YWJsZWQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCisgICAgYCh0dHktbWVudS1lbmFibGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHR5 LW1lbnUtc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUpKSkNCis7Ozs7OyB0dWFyZWcNCisgICAgYChjYW1sLXR5cGVzLWRlZi1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCisgICAgYChjYW1sLXR5cGVz LWV4cHItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkN CisgICAgYChjYW1sLXR5cGVzLW9jYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXN1YnRsZS1ncmVlbikpKQ0KKyAgICBgKGNhbWwtdHlwZXMtc2NvcGUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGNhbWwtdHlwZXMtdHlw ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0K KyAgICBgKHR1YXJlZy1mb250LWRvdWJsZS1zZW1pY29sb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stcHJlcHJvY2Vzc29yLWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2Nr LWF0dHJpYnV0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1l LWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWNvbnN0cnVjdG9yLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWVycm9y LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkp DQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1leHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYCh0dWFyZWct Zm9udC1sb2NrLWdvdmVybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWluZml4LWV4dGVuc2lvbi1u b2RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkp KQ0KKyAgICBgKHR1YXJlZy1mb250LWxvY2staW50ZXJhY3RpdmUtZGlyZWN0aXZlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHR1YXJlZy1mb250 LWxvY2staW50ZXJhY3RpdmUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0K KyAgICBgKHR1YXJlZy1mb250LWxvY2staW50ZXJhY3RpdmUtb3V0cHV0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1s b2NrLWxhYmVsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQ0K KyAgICBgKHR1YXJlZy1mb250LWxvY2stbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1tb2R1bGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAgIGAo dHVhcmVnLWZvbnQtbG9jay1tdWx0aXN0YWdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAodHVhcmVnLWZv bnQtbG9jay1vcGVyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1wcmVwcm9j ZXNzb3ItZmFjZSkpKQ0KKyAgICBgKHR1YXJlZy1vcGFtLWVycm9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZXJyb3IpKSkNCisgICAgYCh0dWFyZWctb3BhbS1wa2ctdmFyaWFibGUtbmFtZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkNCis7Ozs7 OyB0eXBlc2NyaXB0DQorICAgIGAodHlwZXNjcmlwdC1qc2RvYy10YWcgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAg ICBgKHR5cGVzY3JpcHQtanNkb2MtdHlwZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z bGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAodHlwZXNjcmlwdC1q c2RvYy12YWx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorOzs7OzsgdW5kby10cmVlDQorICAgIGAodW5kby10cmVl LXZpc3VhbGl6ZXItYWN0aXZlLWJyYW5jaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1jdXJyZW50 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKHVuZG8t dHJlZS12aXN1YWxpemVyLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkN CisgICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1yZWdpc3Rlci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCisgICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci11 bm1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCis7 Ozs7OyB2YyAodmMtZGlyLmVsLCB2Yy1ob29rcy5lbCkNCisgICAgYCh2Yy1kaXItZGlyZWN0b3J5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAodmMtZGlyLWZpbGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh2Yy1kaXItaGVhZGVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKHZjLWRpci1oZWFkZXItdmFs dWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAodmMt ZGlyLW1hcmstaW5kaWNhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikp KQ0KKyAgICBgKHZjLWRpci1zdGF0dXMtZWRpdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCisgICAgYCh2Yy1kaXItc3RhdHVzLWlnbm9yZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKHZjLWRpci1zdGF0dXMtdXAtdG8tZGF0ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKHZjLWRpci1zdGF0dXMtd2FybmluZyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAodmMtY29uZmxpY3Qtc3RhdGUgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkN CisgICAgYCh2Yy1lZGl0ZWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUpKSkNCisgICAgYCh2Yy1sb2NhbGx5LWFkZGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHZjLWxvY2tlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYCh2Yy1taXNzaW5nLXN0YXRlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K KyAgICBgKHZjLW5lZWRzLXVwZGF0ZS1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zbGFudCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorICAgIGAodmMtcmVtb3ZlZC1z dGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKHZjLXN0YXRl LWJhc2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKHZjLXVwLXRv LWRhdGUtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7 Ozs7IHZkaWZmDQorICAgIGAodmRpZmYtYWRkaXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQorICAgIGAodmRpZmYtY2hhbmdlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQorICAgIGAodmRpZmYtY2xv c2VkLWZvbGQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZv cmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQorICAgIGAodmRpZmYtcmVmaW5lLWFkZGVk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQorICAg IGAodmRpZmYtcmVmaW5lLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlm Zi1yZWZpbmUtY2hhbmdlZCkpKQ0KKyAgICBgKHZkaWZmLXN1YnRyYWN0aW9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkKSkpDQorICAgIGAodmRpZmYtdGFy Z2V0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQor Ozs7OzsgdmltaXNoLWZvbGQNCisgICAgYCh2aW1pc2gtZm9sZC1mcmluZ2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAodmltaXNoLWZvbGQtbW91c2UtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYCh2aW1p c2gtZm9sZC1vdmVybGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7Ozs7IHZpc2libGUtbWFyaw0KKyAgICBgKHZpc2libGUt bWFyay1hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykpKQ0KKyAg ICBgKHZpc2libGUtbWFyay1mYWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNl LWJnKSkpDQorICAgIGAodmlzaWJsZS1tYXJrLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5 ZWxsb3ctaW50ZW5zZS1iZykpKQ0KKyAgICBgKHZpc2libGUtbWFyay1mb3J3YXJkLWZhY2UxICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWludGVuc2UtYmcpKSkNCisgICAgYCh2aXNpYmxl LW1hcmstZm9yd2FyZC1mYWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1i ZykpKQ0KKzs7Ozs7IHZpc3VhbC1yZWdleHANCisgICAgYCh2ci9ncm91cC0wICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAgICBgKHZyL2dyb3VwLTEgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAodnIv Z3JvdXAtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQor ICAgIGAodnIvbWF0Y2gtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVs bG93KSkpDQorICAgIGAodnIvbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUteWVsbG93KSkpDQorICAgIGAodnIvbWF0Y2gtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCBib2xkKSkpKQ0KKzs7Ozs7IHZv bGF0aWxlLWhpZ2hsaWdodHMNCisgICAgYCh2aGwvZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZyA6ZXh0ZW5kIHQpKSkN Cis7Ozs7OyB2dGVybQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLWJsYWNrICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICJncmF5MzUiIDpmb3JlZ3JvdW5kICJncmF5MzUiKSkpDQorICAgIGAodnRlcm0tY29sb3It Ymx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAg ICBgKHZ0ZXJtLWNvbG9yLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4gOmZvcmVncm91 bmQgLGN5YW4pKSkNCisgICAgYCh2dGVybS1jb2xvci1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodnRlcm0tY29sb3It Z3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K KyAgICBgKHZ0ZXJtLWNvbG9yLWludmVyc2UtdmlkZW8gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LW1haW4gOmludmVyc2UtdmlkZW8gdCkpKQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLW1hZ2VudGEgKCgs Y2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAg YCh2dGVybS1jb2xvci1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZCA6Zm9yZWdyb3VuZCAs cmVkKSkpDQorICAgIGAodnRlcm0tY29sb3ItdW5kZXJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0gOnVuZGVybGluZSB0KSkpDQorICAgIGAodnRlcm0tY29sb3Itd2hp dGUgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk2NSIgOmZvcmVncm91bmQgImdyYXk2NSIpKSkN CisgICAgYCh2dGVybS1jb2xvci15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7Ozsgd2NoZWNrLW1vZGUNCisgICAgYCh3Y2hlY2st ZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQor Ozs7Ozsgd2ViLW1vZGUNCisgICAgYCh3ZWItbW9kZS1hbm5vdGF0aW9uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtYW5ub3Rh dGlvbi1odG1sLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkp DQorICAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3 ZWItbW9kZS1jb21tZW50LWZhY2UgOnVuZGVybGluZSB0KSkpDQorICAgIGAod2ViLW1vZGUtYmxv Y2stYXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNvbnN0YW50LWZh Y2UpKSkNCisgICAgYCh3ZWItbW9kZS1ibG9jay1hdHRyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWJsb2NrLWNvbW1l bnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCisgICAg YCh3ZWItbW9kZS1ibG9jay1jb250cm9sLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWJsb2NrLWRlbGltaXRlci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2stZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2st c3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCisg ICAgYCh3ZWItbW9kZS1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBg KHdlYi1tb2RlLWJ1aWx0aW4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRp bi1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGZvbnQtbG9jay1jb21tZW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jb21tZW50LWtleXdv cmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2std2FybmluZy1mYWNlKSkpDQorICAg IGAod2ViLW1vZGUtY29uc3RhbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29u c3RhbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1hdC1ydWxlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3Mt Y29sb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQor ICAgIGAod2ViLW1vZGUtY3NzLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9k ZS1jb21tZW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtZnVuY3Rpb24tZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUt Y3NzLXByaW9yaXR5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFj ZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1wcm9wZXJ0eS1uYW1lLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1wc2V1 ZG8tY2xhc3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZG9jLWZhY2UpKSkNCisg ICAgYCh3ZWItbW9kZS1jc3Mtc2VsZWN0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxv Y2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLXN0cmluZy1mYWNlICgoLGNs YXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3Nz LXZhcmlhYmxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K KyAgICBgKHdlYi1tb2RlLWN1cnJlbnQtY29sdW1uLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYCh3ZWItbW9kZS1jdXJyZW50LWVsZW1lbnQtaGln aGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkp DQorICAgIGAod2ViLW1vZGUtZG9jdHlwZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh3ZWItbW9k ZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkp DQorICAgIGAod2ViLW1vZGUtZmlsdGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LWZ1bmN0aW9uLW5hbWUtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWZvbGRlZC1mYWNlICgoLGNs YXNzIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHdlYi1tb2RlLWZ1bmN0aW9uLWNhbGwtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAo d2ViLW1vZGUtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1m dW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWF0dHItY3VzdG9tLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKyAg ICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1lbmdpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1lcXVhbC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLW5hbWUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQor ICAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9u dC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWVudGl0eS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1uZWdhdGlvbi1jaGFyLWZhY2UpKSkNCisgICAg YCh3ZWItbW9kZS1odG1sLXRhZy1icmFja2V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWRpbSkpKQ0KKyAgICBgKHdlYi1tb2RlLWh0bWwtdGFnLWN1c3RvbS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1o dG1sLXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZh Y2UpKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLXRhZy1uYW1lc3BhY2VkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWh0bWwt dGFnLXVuY2xvc2VkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IgOnVuZGVybGluZSB0KSkp DQorICAgIGAod2ViLW1vZGUtaW5sYXktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0 KSkpDQorICAgIGAod2ViLW1vZGUtaXRhbGljLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGlj KSkpDQorICAgIGAod2ViLW1vZGUtamF2YXNjcmlwdC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtamF2YXNjcmlw dC1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0K KyAgICBgKHdlYi1tb2RlLWpzb24tY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1t b2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWpzb24tY29udGV4dC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3ZWItbW9k ZS1qc29uLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkN CisgICAgYCh3ZWItbW9kZS1qc29uLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1t b2RlLXN0cmluZy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTEtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Ymx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh3ZWItbW9kZS1q c3gtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0aC00 LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZp bmUtZmcpKSkNCisgICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKHdl Yi1tb2RlLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCA6aW5oZXJpdCBmb250LWxvY2st a2V5d29yZC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtcGFyYW0tbmFtZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9k ZS1wYXJ0LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZh Y2UpKSkNCisgICAgYCh3ZWItbW9kZS1wYXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1v ZGUtYmxvY2stZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXBhcnQtc3RyaW5nLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1wcmVw cm9jZXNzb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stcHJlcHJvY2Vzc29yLWZh Y2UpKSkNCisgICAgYCh3ZWItbW9kZS1zY3JpcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWIt bW9kZS1wYXJ0LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1zcWwta2V5d29yZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGZvbnQtbG9jay1uZWdhdGlvbi1jaGFyLWZhY2UpKSkNCisgICAgYCh3ZWIt bW9kZS1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stc3RyaW5nLWZhY2Up KSkNCisgICAgYCh3ZWItbW9kZS1zdHlsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2Rl LXBhcnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXN5bWJvbC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtdHlwZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3ZWIt bW9kZS11bmRlcmxpbmUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh3ZWIt bW9kZS12YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlh YmxlLW5hbWUtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBmb250LWxvY2std2FybmluZy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtd2hpdGVz cGFjZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5k ICxmZy13aGl0ZXNwYWNlKSkpDQorOzs7Ozsgd2dyZXANCisgICAgYCh3Z3JlcC1kZWxldGUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAo d2dyZXAtZG9uZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVl KSkpDQorICAgIGAod2dyZXAtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtZ3JlZW4pKSkNCisgICAgYCh3Z3JlcC1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHdncmVwLXJlamVjdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KKzs7Ozs7IHdoaWNoLWZ1 bmN0aW9uLW1vZGUNCisgICAgYCh3aGljaC1mdW5jICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFjdGl2ZSkpKQ0KKzs7Ozs7IHdoaWNoLWtleQ0KKyAgICBgKHdoaWNoLWtleS1jb21tYW5k LWRlc2NyaXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YCh3aGljaC1rZXktZ3JvdXAtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCisgICAgYCh3aGljaC1rZXktaGlnaGxpZ2h0ZWQtY29tbWFuZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQorICAgIGAod2hp Y2gta2V5LWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt aW50ZW5zZSkpKQ0KKyAgICBgKHdoaWNoLWtleS1sb2NhbC1tYXAtZGVzY3JpcHRpb24tZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdoaWNoLWtleS1ub3RlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHdoaWNo LWtleS1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYCh3 aGljaC1rZXktc3BlY2lhbC1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxvcmFuZ2UtaW50ZW5zZSkpKQ0KKzs7Ozs7IHdoaXRlc3BhY2UtbW9kZQ0KKyAgICBgKHdo aXRlc3BhY2UtYmlnLWluZGVudCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt cmVkKSkpDQorICAgIGAod2hpdGVzcGFjZS1lbXB0eSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCisgICAgYCh3aGl0ZXNwYWNlLWhzcGFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkp KQ0KKyAgICBgKHdoaXRlc3BhY2UtaW5kZW50YXRpb24gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCisgICAgYCh3aGl0ZXNw YWNlLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKHdoaXRlc3Bh Y2UtbmV3bGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3Vu ZCAsZmctd2hpdGVzcGFjZSkpKQ0KKyAgICBgKHdoaXRlc3BhY2Utc3BhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCisg ICAgYCh3aGl0ZXNwYWNlLXNwYWNlLWFmdGVyLXRhYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KKyAgICBgKHdoaXRlc3BhY2Utc3BhY2UtYmVmb3JlLXRh YiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKHdo aXRlc3BhY2UtdGFiICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3Jv dW5kICxmZy13aGl0ZXNwYWNlKSkpDQorICAgIGAod2hpdGVzcGFjZS10cmFpbGluZyAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKzs7Ozs7IHdpbmRvdy1kaXZp ZGVyLW1vZGUNCisgICAgYCh3aW5kb3ctZGl2aWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct d2luZG93LWRpdmlkZXItaW5uZXIpKSkNCisgICAgYCh3aW5kb3ctZGl2aWRlci1maXJzdC1waXhl bCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCisgICAg YCh3aW5kb3ctZGl2aWRlci1sYXN0LXBpeGVsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5k b3ctZGl2aWRlci1vdXRlcikpKQ0KKzs7Ozs7IHdpbnVtDQorICAgIGAod2ludW0tZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkp KQ0KKzs7Ozs7IHdyaXRlZ29vZC1tb2RlDQorICAgIGAod3JpdGVnb29kLWR1cGxpY2F0ZXMtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0IDp1bmRl cmxpbmUgdCkpKQ0KKyAgICBgKHdyaXRlZ29vZC1wYXNzaXZlLXZvaWNlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy13YXJuaW5nKSkpDQorICAgIGAod3JpdGVnb29kLXdl YXNlbHMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLWVycm9yKSkpDQor Ozs7Ozsgd29tYW4NCisgICAgYCh3b21hbi1hZGRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYCh3b21hbi1ib2xkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYCh3b21hbi1pdGFsaWMgKCgsY2xh c3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAod29tYW4tdW5r bm93biAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7 Ozs7IHhhaC1lbGlzcC1tb2RlDQorICAgIGAoeGFoLWVsaXNwLWF0LXN5bWJvbCAoKCxjbGFzcyA6 aW5oZXJpdCBmb250LWxvY2std2FybmluZy1mYWNlKSkpDQorICAgIGAoeGFoLWVsaXNwLWNhcC12 YXJpYWJsZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stcHJlcHJvY2Vzc29yLWZhY2UpKSkN CisgICAgYCh4YWgtZWxpc3AtY29tbWFuZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay10eXBlLWZhY2UpKSkNCisgICAgYCh4YWgtZWxpc3AtZG9sbGFyLXN5bWJvbCAoKCxjbGFzcyA6 aW5oZXJpdCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorOzs7OzsgeHJlZg0KKyAg ICBgKHhyZWYtZmlsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoeHJlZi1saW5lLW51bWJlciAoKCxjbGFzcyA6aW5o ZXJpdCBzaGFkb3cpKSkNCisgICAgYCh4cmVmLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNo KSkpDQorOzs7OzsgeWFtbC1tb2RlDQorICAgIGAoeWFtbC10YWItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKzs7Ozs7IHlhc25pcHBldA0KKyAgICBg KHlhcy1maWVsZC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGwtYWx0 LWludGVuc2UpKSkNCis7Ozs7OyB6dHJlZQ0KKyAgICBgKHp0cmVlcC1hcnJvdy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHp0cmVlcC1kaWZmLWhlYWRl ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHp0cmVlcC1kaWZmLWhlYWRlci1zbWFsbC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAg ICBgKHp0cmVlcC1kaWZmLW1vZGVsLWFkZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KKyAgICBgKHp0cmVlcC1kaWZmLW1vZGVsLWRpZmYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkKSkpDQorICAgIGAoenRyZWVwLWRpZmYtbW9kZWwtaWdub3JlZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IHNoYWRvdyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KKyAgICBgKHp0cmVlcC1k aWZmLW1vZGVsLW5vcm1hbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBg KHp0cmVlcC1leHBhbmQtc2lnbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQor ICAgIGAoenRyZWVwLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAx LjIgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHp0cmVlcC1sZWFmLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYCh6dHJlZXAtbm9kZS1jb3Vu dC1jaGlsZHJlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN CisgICAgYCh6dHJlZXAtbm9kZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp KQ0KKyAgIkZhY2Ugc3BlY3MgZm9yIHVzZSB3aXRoIGBtb2R1cy10aGVtZXMtdGhlbWUnLiIpDQor DQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1jdXN0b20tdmFyaWFibGVzDQorICAnKA0KKzs7Ozsg YW5zaS1jb2xvcnMNCisgICAgYChhbnNpLWNvbG9yLWZhY2VzLXZlY3RvciBbZGVmYXVsdCBib2xk IHNoYWRvdyBpdGFsaWMgdW5kZXJsaW5lIHN1Y2Nlc3Mgd2FybmluZyBlcnJvcl0pDQorICAgIGAo YW5zaS1jb2xvci1uYW1lcy12ZWN0b3IgWyJncmF5MzUiICxyZWQgLGdyZWVuICx5ZWxsb3cgLGJs dWUgLG1hZ2VudGEgLGN5YW4gImdyYXk2NSJdKQ0KKzs7OzsgYXdlc29tZS10cmF5DQorICAgIGAo YXdlc29tZS10cmF5LW1vZGUtbGluZS1hY3RpdmUtY29sb3IgLGJsdWUpDQorICAgIGAoYXdlc29t ZS10cmF5LW1vZGUtbGluZS1pbmFjdGl2ZS1jb2xvciAsYmctYWN0aXZlKQ0KKzs7OzsgZXh3bQ0K KyAgICBgKGV4d20tZmxvYXRpbmctYm9yZGVyLWNvbG9yICxmZy13aW5kb3ctZGl2aWRlci1pbm5l cikNCis7Ozs7IGZseW1ha2UgZnJpbmdlIGluZGljYXRvcnMNCisgICAgYChmbHltYWtlLWVycm9y LWJpdG1hcCAnKGZseW1ha2UtZG91YmxlLWV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJp bmdlLXJlZCkpDQorICAgIGAoZmx5bWFrZS13YXJuaW5nLWJpdG1hcCAnKGV4Y2xhbWF0aW9uLW1h cmsgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpDQorICAgIGAoZmx5bWFrZS1ub3RlLWJpdG1h cCAnKGV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKQ0KKzs7OzsgaWJ1 ZmZlcg0KKyAgICBgKGlidWZmZXItZGVsZXRpb24tZmFjZSAnbW9kdXMtdGhlbWUtbWFyay1kZWwp DQorICAgIGAoaWJ1ZmZlci1maWx0ZXItZ3JvdXAtbmFtZS1mYWNlICdtb2R1cy10aGVtZS1tYXJr LXN5bWJvbCkNCisgICAgYChpYnVmZmVyLW1hcmtlZC1mYWNlICdtb2R1cy10aGVtZS1tYXJrLXNl bCkNCisgICAgYChpYnVmZmVyLXRpdGxlLWZhY2UgJ21vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIp DQorOzs7OyBoaWdobGlnaHQtdGFpbA0KKyAgICBgKGhpZ2hsaWdodC10YWlsLWNvbG9ycw0KKyAg ICAgICcoKCxncmVlbi1zdWJ0bGUtYmcgLiAwKQ0KKyAgICAgICAgKCxjeWFuLXN1YnRsZS1iZyAu IDIwKSkpDQorOzs7OyBobC10b2RvDQorICAgIGAoaGwtdG9kby1rZXl3b3JkLWZhY2VzDQorICAg ICAgJygoIkhPTEQiIC4gLHllbGxvdy1hbHQpDQorICAgICAgICAoIlRPRE8iIC4gLG1hZ2VudGEp DQorICAgICAgICAoIk5FWFQiIC4gLG1hZ2VudGEtYWx0LW90aGVyKQ0KKyAgICAgICAgKCJUSEVN IiAuICxtYWdlbnRhLWFsdCkNCisgICAgICAgICgiUFJPRyIgLiAsY3lhbikNCisgICAgICAgICgi T0tBWSIgLiAsY3lhbi1hbHQpDQorICAgICAgICAoIkRPTlQiIC4gLGdyZWVuLWFsdCkNCisgICAg ICAgICgiRkFJTCIgLiAscmVkKQ0KKyAgICAgICAgKCJCVUciIC4gLHJlZCkNCisgICAgICAgICgi RE9ORSIgLiAsZ3JlZW4pDQorICAgICAgICAoIk5PVEUiIC4gLHllbGxvdy1hbHQtb3RoZXIpDQor ICAgICAgICAoIktMVURHRSIgLiAseWVsbG93KQ0KKyAgICAgICAgKCJIQUNLIiAuICx5ZWxsb3cp DQorICAgICAgICAoIlRFTVAiIC4gLHJlZC1udWFuY2VkLWZnKQ0KKyAgICAgICAgKCJGSVhNRSIg LiAscmVkLWFsdC1vdGhlcikNCisgICAgICAgICgiWFhYKyIgLiAscmVkLWFsdCkNCisgICAgICAg ICgiUkVWSUVXIiAuICxjeWFuLWFsdC1vdGhlcikNCisgICAgICAgICgiREVQUkVDQVRFRCIgLiAs Ymx1ZS1udWFuY2VkLWZnKSkpDQorOzs7OyBwZGYtdG9vbHMNCisgICAgYChwZGYtdmlldy1taWRu aWdodC1jb2xvcnMNCisgICAgICAnKCxmZy1tYWluIC4gLGJnLWRpbSkpDQorOzs7OyB2Yy1hbm5v dGF0ZSAoQy14IHYgZykNCisgICAgYCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kIG5pbCkNCisgICAg YCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUgbmlsKQ0KKyAgICBgKHZjLWFubm90YXRlLWNv bG9yLW1hcA0KKyAgICAgICcoKDIwIC4gLHJlZCkNCisgICAgICAgICg0MCAuICxtYWdlbnRhKQ0K KyAgICAgICAgKDYwIC4gLG1hZ2VudGEtYWx0KQ0KKyAgICAgICAgKDgwIC4gLHJlZC1hbHQpDQor ICAgICAgICAoMTAwIC4gLHllbGxvdykNCisgICAgICAgICgxMjAgLiAseWVsbG93LWFsdCkNCisg ICAgICAgICgxNDAgLiAsZmctc3BlY2lhbC13YXJtKQ0KKyAgICAgICAgKDE2MCAuICxmZy1zcGVj aWFsLW1pbGQpDQorICAgICAgICAoMTgwIC4gLGdyZWVuKQ0KKyAgICAgICAgKDIwMCAuICxncmVl bi1hbHQpDQorICAgICAgICAoMjIwIC4gLGN5YW4tYWx0LW90aGVyKQ0KKyAgICAgICAgKDI0MCAu ICxjeWFuLWFsdCkNCisgICAgICAgICgyNjAgLiAsY3lhbikNCisgICAgICAgICgyODAgLiAsZmct c3BlY2lhbC1jb2xkKQ0KKyAgICAgICAgKDMwMCAuICxibHVlKQ0KKyAgICAgICAgKDMyMCAuICxi bHVlLWFsdCkNCisgICAgICAgICgzNDAgLiAsYmx1ZS1hbHQtb3RoZXIpDQorICAgICAgICAoMzYw IC4gLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAodmMtYW5ub3RhdGUtdmVyeS1vbGQtY29s b3IgbmlsKQ0KKzs7OzsgeHRlcm0tY29sb3INCisgICAgYCh4dGVybS1jb2xvci1uYW1lcyBbImJs YWNrIiAscmVkICxncmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFuICJncmF5NjUiXSkN CisgICAgYCh4dGVybS1jb2xvci1uYW1lcy1icmlnaHQgWyJncmF5MzUiICxyZWQtYWx0ICxncmVl bi1hbHQgLHllbGxvdy1hbHQgLGJsdWUtYWx0ICxtYWdlbnRhLWFsdCAsY3lhbi1hbHQgIndoaXRl Il0pDQorICAgIChpZiAoZXEgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgJ3JhaW5ib3cpDQorICAg ICAgICBgKG9yZy1zcmMtYmxvY2stZmFjZXMgICAgICAgICAgICAgIDsgVE9ETyB0aGlzIGxpc3Qg c2hvdWxkIGJlIGV4cGFuZGVkDQorICAgICAgICAgIGAoKCJlbWFjcy1saXNwIiBtb2R1cy10aGVt ZS1udWFuY2VkLW1hZ2VudGEpDQorICAgICAgICAgICAgKCJlbGlzcCIgbW9kdXMtdGhlbWUtbnVh bmNlZC1tYWdlbnRhKQ0KKyAgICAgICAgICAgICgiY2xvanVyZSIgbW9kdXMtdGhlbWUtbnVhbmNl ZC1tYWdlbnRhKQ0KKyAgICAgICAgICAgICgiY2xvanVyZXNjcmlwdCIgbW9kdXMtdGhlbWUtbnVh bmNlZC1tYWdlbnRhKQ0KKyAgICAgICAgICAgICgiYyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVl KQ0KKyAgICAgICAgICAgICgiYysrIiBtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUpDQorICAgICAg ICAgICAgKCJzaCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCisgICAgICAgICAgICAoInNo ZWxsIiBtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KKyAgICAgICAgICAgICgiaHRtbCIgbW9k dXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cpDQorICAgICAgICAgICAgKCJ4bWwiIG1vZHVzLXRoZW1l LW51YW5jZWQteWVsbG93KQ0KKyAgICAgICAgICAgICgiY3NzIiBtb2R1cy10aGVtZS1udWFuY2Vk LXJlZCkNCisgICAgICAgICAgICAoInNjc3MiIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkKQ0KKyAg ICAgICAgICAgICgicHl0aG9uIiBtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KKyAgICAgICAg ICAgICgiaXB5dGhvbiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KKyAgICAgICAgICAg ICgiciIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KKyAgICAgICAgICAgICgieWFtbCIgbW9k dXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KKyAgICAgICAgICAgICgiY29uZiIgbW9kdXMtdGhlbWUt bnVhbmNlZC1jeWFuKQ0KKyAgICAgICAgICAgICgiZG9ja2VyIiBtb2R1cy10aGVtZS1udWFuY2Vk LWN5YW4pKSkNCisgICAgICBgKG9yZy1zcmMtYmxvY2stZmFjZXMgJygpKSkpDQorICAiQ3VzdG9t IHZhcmlhYmxlcyBmb3IgYG1vZHVzLXRoZW1lcy10aGVtZScuIikNCisNCisocHJvdmlkZSAnbW9k dXMtdGhlbWVzKQ0KKzs7OyBtb2R1cy10aGVtZXMuZWwgZW5kcyBoZXJlDQpkaWZmIC0tZ2l0IGEv ZXRjL3RoZW1lcy9tb2R1cy12aXZlbmRpLXRoZW1lLmVsIGIvZXRjL3RoZW1lcy9tb2R1cy12aXZl bmRpLXRoZW1lLmVsDQppbmRleCA3M2YwN2Q2NDRiLi5mZDdmNWRmMjRkIDEwMDY0NA0KLS0tIGEv ZXRjL3RoZW1lcy9tb2R1cy12aXZlbmRpLXRoZW1lLmVsDQorKysgYi9ldGMvdGhlbWVzL21vZHVz LXZpdmVuZGktdGhlbWUuZWwNCkBAIC0xLDQ2NjYgKzEsNjYgQEANCiA7OzsgbW9kdXMtdml2ZW5k aS10aGVtZS5lbCAtLS0gQWNjZXNzaWJsZSBkYXJrIHRoZW1lIChXQ0FHIEFBQSkgLSotIGxleGlj YWwtYmluZGluZzp0IC0qLQ0KIA0KLTs7IENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KKzs7IENvcHlyaWdodCAoQykgMjAxOS0yMDIxICBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCiANCiA7OyBBdXRob3I6IFByb3Rlc2lsYW9zIFN0 YXZyb3UgPGluZm9AcHJvdGVzaWxhb3MuY29tPg0KIDs7IFVSTDogaHR0cHM6Ly9naXRsYWIuY29t L3Byb3Rlc2lsYW9zL21vZHVzLXRoZW1lcw0KLTs7IFZlcnNpb246IDAuMTMuMA0KKzs7IFZlcnNp b246IDEuMi4wDQogOzsgUGFja2FnZS1SZXF1aXJlczogKChlbWFjcyAiMjYuMSIpKQ0KIDs7IEtl eXdvcmRzOiBmYWNlcywgdGhlbWUsIGFjY2Vzc2liaWxpdHkNCiANCiA7OyBUaGlzIGZpbGUgaXMg cGFydCBvZiBHTlUgRW1hY3MuDQogDQotOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCis7OyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIDs7 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5DQotOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3INCi07OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLg0KLQ0KLTs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KLTs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQotOzsgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KLTs7IEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQotDQorOzsgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0 DQorOzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KKzs7DQorOzsgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1 dA0KKzs7IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YNCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlIEdOVQ0KKzs7IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4NCis7Ow0KIDs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQotOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3Mu ICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KKzs7IGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4NCiANCiA7OzsgQ29tbWVudGFyeToNCiA7Ow0KLTs7IFRoaXMgdGhlbWUgaXMgZGVz aWduZWQgZm9yIGNvbG91ci1jb250cmFzdCBhY2Nlc3NpYmlsaXR5Lg0KLTs7DQotOzsgMS4gUHJv dmlkZSBhIGNvbnNpc3RlbnQgbWluaW11bSBjb250cmFzdCByYXRpbyBiZXR3ZWVuIGJhY2tncm91 bmQgYW5kDQotOzsgZm9yZWdyb3VuZCB2YWx1ZXMgb2YgNzoxIG9yIGhpZ2hlci4gIFRoaXMgbWVl dHMgdGhlIGhpZ2hlc3Qgc3VjaA0KLTs7IGFjY2Vzc2liaWxpdHkgY3JpdGVyaW9uIHBlciB0aGUg Z3VpZGVsaW5lcyBvZiB0aGUgV29ybGR3aWRlIFdlYg0KLTs7IENvbnNvcnRpdW0ncyBXb3JraW5n IEdyb3VwIG9uIEFjY2Vzc2liaWxpdHkgKFdDQUcgQUFBIHN0YW5kYXJkKS4NCis7OyBNb2R1cyBW aXZlbmRpIGlzIHRoZSBkYXJrIHZhcmlhbnQgb2YgdGhlIE1vZHVzIHRoZW1lcyAoTW9kdXMgT3Bl cmFuZGkNCis7OyBpcyB0aGUgbGlnaHQgb25lKS4gIFRoZSB0aGVtZXMgYXJlIGRlc2lnbmVkIGZv ciBjb2xvci1jb250cmFzdA0KKzs7IGFjY2Vzc2liaWxpdHkuICBNb3JlIHNwZWNpZmljYWxseToN CiA7Ow0KLTs7IDIuIE9mZmVyIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcyBwb3Nz aWJsZS4gIFRoZSBsaXN0IGlzDQotOzsgYWxyZWFkeSBxdWl0ZSBsb25nIChzZWUgZnVydGhlciBi ZWxvdyksIHdpdGggbW9yZSBhZGRpdGlvbnMgdG8gZm9sbG93DQotOzsgYXMgcGFydCBvZiB0aGUg b25nb2luZyBkZXZlbG9wbWVudCBwcm9jZXNzLg0KKzs7ICAgICAxLiBQcm92aWRlIGEgY29uc2lz dGVudCBtaW5pbXVtIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gYmFja2dyb3VuZA0KKzs7ICAgICBh bmQgZm9yZWdyb3VuZCB2YWx1ZXMgb2YgNzoxIG9yIGhpZ2hlci4gIFRoaXMgbWVldHMgdGhlIGhp Z2hlc3QNCis7OyAgICAgc3VjaCBhY2Nlc3NpYmlsaXR5IGNyaXRlcmlvbiBwZXIgdGhlIGd1aWRl bGluZXMgb2YgdGhlIFdvcmxkd2lkZQ0KKzs7ICAgICBXZWIgQ29uc29ydGl1bSdzIFdvcmtpbmcg R3JvdXAgb24gQWNjZXNzaWJpbGl0eSAoV0NBRyBBQUENCis7OyAgICAgc3RhbmRhcmQpLg0KIDs7 DQotOzsgVGhlIHRoZW1lIHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgY3VzdG9taXNhdGlvbiBvcHRp b25zLCBhbGwgb2Ygd2hpY2gNCi07OyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdDoNCis7OyAgICAg Mi4gT2ZmZXIgYXMgY2xvc2UgdG8gZnVsbCBmYWNlIGNvdmVyYWdlIGFzIHBvc3NpYmxlLiAgVGhl IGxpc3QgaXMNCis7OyAgICAgYWxyZWFkeSBxdWl0ZSBsb25nLCB3aXRoIG1vcmUgYWRkaXRpb25z IHRvIGZvbGxvdyBhcyBwYXJ0IG9mIHRoZQ0KKzs7ICAgICBvbmdvaW5nIGRldmVsb3BtZW50IHBy b2Nlc3MuDQogOzsNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zbGFudGVkLWNvbnN0cnVj dHMgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtYm9s ZC1jb25zdHJ1Y3RzICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZl bmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICAgICAgICAoYm9vbGVhbikNCi07OyAg ICAgbW9kdXMtdml2ZW5kaS10aGVtZS1uby1taXhlZC1mb250cyAgICAgICAgICAgICAgICAgKGJv b2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZ3MgICAgICAgICAgICAg ICAgICAgICAgIChhbGlzdCkNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS1oZWFk aW5ncyAgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhl bWUtZnJpbmdlcyAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVz LXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcyAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQot OzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtcHJvbXB0cyAgICAgICAgICAgICAgICAgICAgICAg IChjaG9pY2UpDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1saW5lICAgICAgICAg ICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMg ICAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQotOzsgICAgIG1vZHVzLXZpdmVuZGkt dGhlbWUtZmFpbnQtc3ludGF4ICAgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBt b2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZSAgICAgICAgICAgICAgICAoYm9vbGVh bikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoICAgICAg ICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbGluay11bmRl cmxpbmUgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1l LWNvbXBsZXRpb25zICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12 aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdCAgICAgICAgICAoYWxpc3QpDQorOzsg Rm9yIGEgY29tcGxldGUgdmlldyBvZiB0aGUgcHJvamVjdCwgYWxzbyByZWZlciB0byB0aGUgZm9s bG93aW5nIGZpbGVzDQorOzsgKHNob3VsZCBiZSBkaXN0cmlidXRlZCBpbiB0aGUgc2FtZSByZXBv c2l0b3J5L2RpcmVjdG9yeSBhcyB0aGUNCis7OyBjdXJyZW50IGl0ZW0pOg0KIDs7DQotOzsgVGhl IGRlZmF1bHQgc2NhbGUgaXMgYXMgZm9sbG93cyAoaXQgY2FuIGJlIGN1c3RvbWlzZWQgYXMgd2Vs bCk6DQotOzsNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi07OyAg ICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0yIDEuMQ0KLTs7ICAgICBtb2R1cy12aXZlbmRp LXRoZW1lLXNjYWxlLTMgMS4xNQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQg MS4yDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNSAxLjMNCi07Ow0KLTs7IFdo YXQgZm9sbG93cyBpcyB0aGUgbGlzdCBvZiBleHBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcyBv ciBmYWNlDQotOzsgZ3JvdXBzICh0aGVyZSBhcmUgaW1wbGljaXRseSBzdXBwb3J0ZWQgcGFja2Fn ZXMgYXMgd2VsbCwgd2hpY2gNCi07OyBpbmhlcml0IGZyb20gZm9udC1sb2NrIG9yIHNvbWUgYmFz aWMgZ3JvdXApLiAgWW91IGFyZSBlbmNvdXJhZ2VkIHRvDQotOzsgbm90aWZ5IG1lIG9mIGFueSBt aXNzaW5nIHBhY2thZ2Ugb3IgY2hhbmdlIHlvdSB3b3VsZCBsaWtlIHRvIHNlZS4NCi07Ow0KLTs7 ICAgICBhY2Utd2luZG93DQotOzsgICAgIGFnDQotOzsgICAgIGFsZXJ0DQotOzsgICAgIGFsbC10 aGUtaWNvbnMNCi07OyAgICAgYW5ub3RhdGUNCi07OyAgICAgYW56dQ0KLTs7ICAgICBhcHJvcG9z DQotOzsgICAgIGFwdC1zb3VyY2VzLWxpc3QNCi07OyAgICAgYXJ0Ym9sbG9ja3MtbW9kZQ0KLTs7 ICAgICBhdWN0ZXggYW5kIFRlWA0KLTs7ICAgICBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQotOzsg ICAgIGF2eQ0KLTs7ICAgICBhd2Vzb21lLXRyYXkNCi07OyAgICAgYmluZGVyDQotOzsgICAgIGJt DQotOzsgICAgIGJvbmdvDQotOzsgICAgIGJvb24NCi07OyAgICAgYnJlYWtwb2ludCAocHJvdmlk ZWQgYnkgYnVpbHQtaW4gZ2RiLW1pLmVsKQ0KLTs7ICAgICBidWZmZXItZXhwb3NlDQotOzsgICAg IGNhbGVuZGFyIGFuZCBkaWFyeQ0KLTs7ICAgICBjYWxmdw0KLTs7ICAgICBjZW50YXVyLXRhYnMN Ci07OyAgICAgY2hhbmdlLWxvZyBhbmQgbG9nLXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMt cHJpbnQtcm9vdC1sb2cnKQ0KLTs7ICAgICBjaWRlcg0KLTs7ICAgICBjaXJjZQ0KLTs7ICAgICBj b2xvci1yZw0KLTs7ICAgICBjb2x1bW4tZW5mb3JjZS1tb2RlDQotOzsgICAgIGNvbXBhbnktbW9k ZQ0KLTs7ICAgICBjb21wYW55LXBvc2ZyYW1lDQotOzsgICAgIGNvbXBpbGF0aW9uLW1vZGUNCi07 OyAgICAgY29tcGxldGlvbnMNCi07OyAgICAgY291bnNlbA0KLTs7ICAgICBjb3Vuc2VsLWNzcw0K LTs7ICAgICBjb3Vuc2VsLW5vdG11Y2gNCi07OyAgICAgY291bnNlbC1vcmctY2FwdHVyZS1zdHJp bmcNCi07OyAgICAgY292DQotOzsgICAgIGNwZXJsLW1vZGUNCi07OyAgICAgY3N2LW1vZGUNCi07 OyAgICAgY3RybGYNCi07OyAgICAgY3VzdG9tIChNLXggY3VzdG9taXplKQ0KLTs7ICAgICBkYXAt bW9kZQ0KLTs7ICAgICBkYXNoYm9hcmQgKGVtYWNzLWRhc2hib2FyZCkNCi07OyAgICAgZGVhZGdy ZXANCi07OyAgICAgZGViYnVncw0KLTs7ICAgICBkZWZpbmUtd29yZA0KLTs7ICAgICBkZWZ0DQot OzsgICAgIGRpY3Rpb25hcnkNCi07OyAgICAgZGlmZi1obA0KLTs7ICAgICBkaWZmLW1vZGUNCi07 OyAgICAgZGltLWF1dG9sb2FkDQotOzsgICAgIGRpci10cmVldmlldw0KLTs7ICAgICBkaXJlZA0K LTs7ICAgICBkaXJlZC1hc3luYw0KLTs7ICAgICBkaXJlZC1naXQNCi07OyAgICAgZGlyZWQtZ2l0 LWluZm8NCi07OyAgICAgZGlyZWQtbmFycm93DQotOzsgICAgIGRpcmVkLXN1YnRyZWUNCi07OyAg ICAgZGlyZWRmbA0KLTs7ICAgICBkaXNrLXVzYWdlDQotOzsgICAgIGRvb20tbW9kZWxpbmUNCi07 OyAgICAgZHluYW1pYy1ydWxlcg0KLTs7ICAgICBlYXN5LWpla3lsbA0KLTs7ICAgICBlYXN5LWtp bGwNCi07OyAgICAgZWJkYg0KLTs7ICAgICBlZGlmZg0KLTs7ICAgICBlZ2xvdA0KLTs7ICAgICBl bC1zZWFyY2gNCi07OyAgICAgZWxkb2MNCi07OyAgICAgZWxkb2MtYm94DQotOzsgICAgIGVsZmVl ZA0KLTs7ICAgICBlbGZlZWQtc2NvcmUNCi07OyAgICAgZW1tcw0KLTs7ICAgICBlbmhhbmNlZC1y dWJ5LW1vZGUNCi07OyAgICAgZXBhDQotOzsgICAgIGVxdWFrZQ0KLTs7ICAgICBlcmMNCi07OyAg ICAgZXJvcw0KLTs7ICAgICBlcnQNCi07OyAgICAgZXNoZWxsDQotOzsgICAgIGVzaGVsbC1mcmlu Z2Utc3RhdHVzDQotOzsgICAgIGVzaGVsbC1naXQtcHJvbXB0DQotOzsgICAgIGVzaGVsbC1wcm9t cHQtZXh0cmFzIChlcGUpDQotOzsgICAgIGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nDQotOzsg ICAgIGV2aWwgKGV2aWwtbW9kZSkNCi07OyAgICAgZXZpbC1nb2dnbGVzDQotOzsgICAgIGV2aWwt dmlzdWFsLW1hcmstbW9kZQ0KLTs7ICAgICBld3cNCi07OyAgICAgZXllYnJvd3NlDQotOzsgICAg IGZhbmN5LWRhYmJyZXYNCi07OyAgICAgZmx5Y2hlY2sNCi07OyAgICAgZmx5Y2hlY2stY29sb3It bW9kZS1saW5lDQotOzsgICAgIGZseWNoZWNrLWluZGljYXRvcg0KLTs7ICAgICBmbHljaGVjay1w b3NmcmFtZQ0KLTs7ICAgICBmbHltYWtlDQotOzsgICAgIGZseXNwZWxsDQotOzsgICAgIGZseXNw ZWxsLWNvcnJlY3QNCi07OyAgICAgZmx4DQotOzsgICAgIGZyZWV6ZS1pdA0KLTs7ICAgICBmcm9n LW1lbnUNCi07OyAgICAgZm9jdXMNCi07OyAgICAgZm9sZC10aGlzDQotOzsgICAgIGZvbnQtbG9j ayAoZ2VuZXJpYyBzeW50YXggaGlnaGxpZ2h0aW5nKQ0KLTs7ICAgICBmb3JnZQ0KLTs7ICAgICBm b3VudGFpbiAoZm91bnRhaW4tbW9kZSkNCi07OyAgICAgZ2Vpc2VyDQotOzsgICAgIGdpdC1jb21t aXQNCi07OyAgICAgZ2l0LWd1dHRlciAoYW5kIHZhcmlhbnRzKQ0KLTs7ICAgICBnaXQtbGVucw0K LTs7ICAgICBnaXQtcmViYXNlDQotOzsgICAgIGdpdC10aW1lbWFjaGluZQ0KLTs7ICAgICBnaXQt d2Fsa3RyZWUNCi07OyAgICAgZ251cw0KLTs7ICAgICBnb2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVl bg0KLTs7ICAgICBoZWxtDQotOzsgICAgIGhlbG0tbHMtZ2l0DQotOzsgICAgIGhlbG0tc3dpdGNo LXNoZWxsDQotOzsgICAgIGhlbG0teHJlZg0KLTs7ICAgICBoZWxwZnVsDQotOzsgICAgIGhpZ2hs aWdodC1ibG9ja3MNCi07OyAgICAgaGlnaGxpZ2h0LWRlZmluZWQNCi07OyAgICAgaGlnaGxpZ2h0 LWVzY2FwZS1zZXF1ZW5jZXMgKGBoZXMtbW9kZScpDQotOzsgICAgIGhpZ2hsaWdodC1pbmRlbnRh dGlvbg0KLTs7ICAgICBoaWdobGlnaHQtbnVtYmVycw0KLTs7ICAgICBoaWdobGlnaHQtc3ltYm9s DQotOzsgICAgIGhpZ2hsaWdodC10YWlsDQotOzsgICAgIGhpZ2hsaWdodC10aGluZw0KLTs7ICAg ICBobC1kZWZpbmVkDQotOzsgICAgIGhsLWZpbGwtY29sdW1uDQotOzsgICAgIGhsLWxpbmUtbW9k ZQ0KLTs7ICAgICBobC10b2RvDQotOzsgICAgIGh5ZHJhDQotOzsgICAgIGh5cGVybGlzdA0KLTs7 ICAgICBpYnVmZmVyDQotOzsgICAgIGljb21wbGV0ZQ0KLTs7ICAgICBpZG8tbW9kZQ0KLTs7ICAg ICBpZWRpdA0KLTs7ICAgICBpZmxpcGINCi07OyAgICAgaW1lbnUtbGlzdA0KLTs7ICAgICBpbmRp dW0NCi07OyAgICAgaW5mbw0KLTs7ICAgICBpbmZvLWNvbG9ycw0KLTs7ICAgICBpbnRlcmFjdGlv bi1sb2cNCi07OyAgICAgaW9jY3VyDQotOzsgICAgIGlzZWFyY2gsIG9jY3VyLCBldGMuDQotOzsg ICAgIGl2eQ0KLTs7ICAgICBpdnktcG9zZnJhbWUNCi07OyAgICAgamlyYSAob3JnLWppcmEpDQot OzsgICAgIGpvdXJuYWxjdGwtbW9kZQ0KLTs7ICAgICBqczItbW9kZQ0KLTs7ICAgICBqdWxpYQ0K LTs7ICAgICBqdXB5dGVyDQotOzsgICAgIGthb2NoYS1ydW5uZXINCi07OyAgICAga2V5Y2FzdA0K LTs7ICAgICBsaW5lIG51bWJlcnMgKGBkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xv YmFsIHZhcmlhbnQpDQotOzsgICAgIGxzcC1tb2RlDQotOzsgICAgIGxzcC11aQ0KLTs7ICAgICBt YWdpdA0KLTs7ICAgICBtYWdpdC1pbWVyZ2UNCi07OyAgICAgbWFuDQotOzsgICAgIG1hcmtkb3du LW1vZGUNCi07OyAgICAgbWFya3VwLWZhY2VzIChgYWRvYy1tb2RlJykNCi07OyAgICAgbWVudG9y DQotOzsgICAgIG1lc3NhZ2VzDQotOzsgICAgIG1pbmlidWZmZXItbGluZQ0KLTs7ICAgICBtaW5p bWFwDQotOzsgICAgIG1vZGVsaW5lDQotOzsgICAgIG1vb2QtbGluZQ0KLTs7ICAgICBtcGRlbA0K LTs7ICAgICBtdTRlDQotOzsgICAgIG11NGUtY29udmVyc2F0aW9uDQotOzsgICAgIG11bHRpcGxl LWN1cnNvcnMNCi07OyAgICAgbmVvdHJlZQ0KLTs7ICAgICBuby1lbW9qaQ0KLTs7ICAgICBub3Rt dWNoDQotOzsgICAgIG51bTMtbW9kZQ0KLTs7ICAgICBueG1sLW1vZGUNCi07OyAgICAgb2JqZWQN Ci07OyAgICAgb3JkZXJsZXNzDQotOzsgICAgIG9yZw0KLTs7ICAgICBvcmctam91cm5hbA0KLTs7 ICAgICBvcmctbm90ZXINCi07OyAgICAgb3JnLXBvbW9kb3JvDQotOzsgICAgIG9yZy1yZWN1cg0K LTs7ICAgICBvcmctcm9hbQ0KLTs7ICAgICBvcmctc3VwZXJzdGFyDQotOzsgICAgIG9yZy10YWJs ZS1zdGlja3ktaGVhZGVyDQotOzsgICAgIG9yZy10cmVlc2NvcGUNCi07OyAgICAgb3JpZ2FtaQ0K LTs7ICAgICBvdXRsaW5lLW1vZGUNCi07OyAgICAgb3V0bGluZS1taW5vci1mYWNlcw0KLTs7ICAg ICBwYWNrYWdlIChNLXggbGlzdC1wYWNrYWdlcykNCi07OyAgICAgcGFnZS1icmVhay1saW5lcw0K LTs7ICAgICBwYXJhZG94DQotOzsgICAgIHBhcmVuLWZhY2UNCi07OyAgICAgcGFycm90DQotOzsg ICAgIHBhc3MNCi07OyAgICAgcGVyc3AtbW9kZQ0KLTs7ICAgICBwZXJzcGVjdGl2ZQ0KLTs7ICAg ICBwaGktZ3JlcA0KLTs7ICAgICBwaGktc2VhcmNoDQotOzsgICAgIHBrZ2J1aWxkLW1vZGUNCi07 OyAgICAgcG9taWRvcg0KLTs7ICAgICBwb3dlcmxpbmUNCi07OyAgICAgcG93ZXJsaW5lLWV2aWwN Ci07OyAgICAgcHJvY2VkDQotOzsgICAgIHByb2RpZ3kNCi07OyAgICAgcmFja2V0LW1vZGUNCi07 OyAgICAgcmFpbmJvdy1ibG9ja3MNCi07OyAgICAgcmFpbmJvdy1pZGVudGlmaWVycw0KLTs7ICAg ICByYWluYm93LWRlbGltaXRlcnMNCi07OyAgICAgcmNpcmMNCi07OyAgICAgcmVnZXhwLWJ1aWxk ZXIgKGFsc28ga25vd24gYXMgYHJlLWJ1aWxkZXInKQ0KLTs7ICAgICByZw0KLTs7ICAgICByaXBn cmVwDQotOzsgICAgIHJtYWlsDQotOzsgICAgIHJ1bGVyLW1vZGUNCi07OyAgICAgc2FsbGV0DQot OzsgICAgIHNlbGVjdHJ1bQ0KLTs7ICAgICBzZW1hbnRpYw0KLTs7ICAgICBzZXNtYW4NCi07OyAg ICAgc2hlbGwtc2NyaXB0LW1vZGUNCi07OyAgICAgc2hvdy1wYXJlbi1tb2RlDQotOzsgICAgIHNp ZGUtbm90ZXMNCi07OyAgICAgc2tld2VyLW1vZGUNCi07OyAgICAgc21hcnQtbW9kZS1saW5lDQot OzsgICAgIHNtYXJ0cGFyZW5zDQotOzsgICAgIHNtZXJnZQ0KLTs7ICAgICBzcGFjZWxpbmUNCi07 OyAgICAgc3BlZWRiYXINCi07OyAgICAgc3BlbGwtZnUNCi07OyAgICAgc3RyaXBlcw0KLTs7ICAg ICBzdWdnZXN0DQotOzsgICAgIHN3aXRjaC13aW5kb3cNCi07OyAgICAgc3dpcGVyDQotOzsgICAg IHN3b29wDQotOzsgICAgIHN4DQotOzsgICAgIHN5bWJvbC1vdmVybGF5DQotOzsgICAgIHRhYi1i YXItbW9kZQ0KLTs7ICAgICB0YWItbGluZS1tb2RlDQotOzsgICAgIHN5c2xvZy1tb2RlDQotOzsg ICAgIHRhYmxlIChidWlsdC1pbiB0YWJsZS5lbCkNCi07OyAgICAgdGVsZXBob25lLWxpbmUNCi07 OyAgICAgdGVybQ0KLTs7ICAgICB0b21hdGluaG8NCi07OyAgICAgdHJhbnNpZW50IChwb3AtdXAg d2luZG93cyBsaWtlIE1hZ2l0J3MpDQotOzsgICAgIHRyYXNoZWQNCi07OyAgICAgdHJlZW1hY3MN Ci07OyAgICAgdHR5LW1lbnUNCi07OyAgICAgdHVhcmVnDQotOzsgICAgIHR5cGVzY3JpcHQNCi07 OyAgICAgdW5kby10cmVlDQotOzsgICAgIHZjIChidWlsdC1pbiBtb2RlIGxpbmUgc3RhdHVzIGZv ciB2ZXJzaW9uIGNvbnRyb2wpDQotOzsgICAgIHZjLWFubm90YXRlIChDLXggdiBnKQ0KLTs7ICAg ICB2ZGlmZg0KLTs7ICAgICB2aW1pc2gtZm9sZA0KLTs7ICAgICB2aXNpYmxlLW1hcmsNCi07OyAg ICAgdmlzdWFsLXJlZ2V4cA0KLTs7ICAgICB2b2xhdGlsZS1oaWdobGlnaHRzDQotOzsgICAgIHZ0 ZXJtDQotOzsgICAgIHdjaGVjay1tb2RlDQotOzsgICAgIHdlYi1tb2RlDQotOzsgICAgIHdncmVw DQotOzsgICAgIHdoaWNoLWZ1bmN0aW9uLW1vZGUNCi07OyAgICAgd2hpY2gta2V5DQotOzsgICAg IHdoaXRlc3BhY2UtbW9kZQ0KLTs7ICAgICB3aW5kb3ctZGl2aWRlci1tb2RlDQotOzsgICAgIHdp bnVtDQotOzsgICAgIHdyaXRlZ29vZC1tb2RlDQotOzsgICAgIHdvbWFuDQotOzsgICAgIHhhaC1l bGlzcC1tb2RlDQotOzsgICAgIHhyZWYNCi07OyAgICAgeHRlcm0tY29sb3IgKGFuZCBhbnNpLWNv bG9ycykNCi07OyAgICAgeWFtbC1tb2RlDQotOzsgICAgIHlhc25pcHBldA0KLTs7ICAgICB6dHJl ZQ0KKzs7IC0gbW9kdXMtdGhlbWVzLmVsICAgICAgICAgICAgKE1haW4gY29kZSBzaGFyZWQgYmV0 d2VlbiB0aGUgdGhlbWVzKQ0KKzs7IC0gbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwgICAgKExpZ2h0 IHRoZW1lKQ0KIA0KIDs7OyBDb2RlOg0KIA0KIAwNCiANCi0oZGVmdGhlbWUgbW9kdXMtdml2ZW5k aQ0KLSAgIkRhcmsgdGhlbWUgdGhhdCBjb25mb3JtcyB3aXRoIHRoZSBoaWdoZXN0IGFjY2Vzc2li aWxpdHkNCi0gIHN0YW5kYXJkIGZvciBjb2xvdXIgY29udHJhc3QgYmV0d2VlbiBiYWNrZ3JvdW5k IGFuZA0KLSAgZm9yZWdyb3VuZCBlbGVtZW50cyAoV0NBRyBBQUEpLiIpDQotDQotOzs7IEN1c3Rv bSBmYWNlcw0KLQ0KLTs7IFRoZXNlIGZhY2VzIHdpbGwgYmUgaW5oZXJpdGVkIGJ5IGFjdHVhbCBj b25zdHJ1Y3RzLiAgVGhleSBhcmUgbWVhbnQNCi07OyBmb3IgdGhvc2UgY2FzZXMgd2hlcmUgYSBm YWNlIG5lZWRzIHRvIGRpc3Rpbmd1aXNoIGl0cyBvdXRwdXQgZnJvbQ0KLTs7IHRoZSByZXN0IG9m IHRoZSB0ZXh0LCBzdWNoIGFzIGBpc2VhcmNoJyBhbmQgYG9jY3VyJ+KApiAgV2UgZGVmaW5lDQot OzsgdGhlc2Ugc2VwYXJhdGVseSBpbiBvcmRlciB0byBjb21iaW5lIGVhY2ggY29sb3VyIHdpdGgg aXRzDQotOzsgYXBwcm9wcmlhdGUgZm9yZWdyb3VuZCB2YWx1ZS4gIFRoaXMgaXMgdG8gZW5zdXJl IGEgY29uc2lzdGVudA0KLTs7IGNvbnRyYXN0IHJhdGlvIG9mID49IDc6MS4NCi0oZGVmZ3JvdXAg bW9kdXMtdGhlbWUgKCkNCi0gICJUaGVtZSB0aGF0IGVuc3VyZXMgV0NBRyBBQUEgYWNjZXNzaWJp bGl0eSAoY29udHJhc3QgcmF0aW8NCi1iZXR3ZWVuIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQg aXMgPj0gNzoxKS4iDQotICA6Z3JvdXAgJ2ZhY2VzDQotICA6cHJlZml4ICJtb2R1cy10aGVtZS0i DQotICA6bGluayAnKHVybC1saW5rIDp0YWcgIkdpdExhYiIgImh0dHBzOi8vZ2l0bGFiLmNvbS9w cm90ZXNpbGFvcy9tb2R1cy10aGVtZXMiKQ0KLSAgOnRhZyAiTW9kdXMgVml2ZW5kaSIpDQotDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLXN1YnRsZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRs ZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1zdWJ0bGUtbmV1dHJhbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVu c2UtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93IG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtaW50ZW5zZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50 ZW5zZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFs IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLXJlZmluZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZp bmUtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gbmlsIG5pbCkNCi0oZGVm ZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtYWN0aXZlLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLXll bGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1hY3RpdmUtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWZyaW5nZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4g bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93IG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1mcmluZ2UtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZy aW5nZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1udWFuY2VkLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFu Y2VkLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4g bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1zcGVjaWFsLXdhcm0gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVj aWFsLWNhbG0gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWFkZGVkIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtZGlmZi1yZWZpbmUtYWRkZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZm LXJlZmluZS1jaGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZWZp bmUtcmVtb3ZlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtYWRk ZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92ZWQgbmlsIG5pbCkN Ci0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt bWFyay1hbHQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLWRlbCBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstc2VsIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtbWFyay1zeW1ib2wgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFk aW5nLTEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTIgbmlsIG5pbCkN Ci0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTMgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1oZWFkaW5nLTQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5n LTUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTYgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTcgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10 aGVtZS1oZWFkaW5nLTggbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1obC1saW5lIG5p bCBuaWwpDQotDQotOzs7IEN1c3RvbWlzYXRpb24gb3B0aW9ucw0KLQ0KLTs7IFVzZXItZmFjaW5n IGN1c3RvbWlzYXRpb24gb3B0aW9ucy4gIFRoZXkgYXJlIGFsbCBkZWFjdGl2YXRlZCBieQ0KLTs7 IGRlZmF1bHQgKHVzZXJzIG11c3Qgb3B0IGluKS4NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGkt dGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzIG5pbA0KLSAgIlVzZSBzbGFudGVkIHRleHQgaW4gbW9y ZSBjb2RlIGNvbnN0cnVjdHMgKGl0YWxpY3Mgb3Igb2JsaXF1ZSkuIg0KLSAgOnR5cGUgJ2Jvb2xl YW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cyBu aWwNCi0gICJVc2UgYm9sZCB0ZXh0IGluIG1vcmUgY29kZSBjb25zdHJ1Y3RzLiINCi0gIDp0eXBl ICdib29sZWFuKQ0KLQ0KLShkZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMgJ21vZHVzLXZp dmVuZGktdGhlbWUtcHJvcG9ydGlvbmFsLWZvbnRzDQotICAnbW9kdXMtdml2ZW5kaS10aGVtZS12 YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiYG1vZHVzLXZpdmVuZGktdGhlbWUnIDAuMTEuMCIpDQot DQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXByb3BvcnRpb25hbC1mb250cyBuaWwN Ci0gICJVc2UgcHJvcG9ydGlvbmFsIGZvbnRzICh2YXJpYWJsZS1waXRjaCkgaW4gaGVhZGluZ3Mu Ig0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1l LXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBwcm9wb3J0aW9uYWwgZm9udHMg KHZhcmlhYmxlLXBpdGNoKSBpbiBoZWFkaW5ncy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMgbmlsDQotICAiRGlz YWJsZSBpbmhlcml0YW5jZSBmcm9tIGBmaXhlZC1waXRjaCcgaW4gc29tZSBmYWNlcy4NCi0NCi1U aGlzIGlzIGRvbmUgYnkgZGVmYXVsdCB0byBhbGxvdyBzcGFjaW5nLXNlbnNpdGl2ZSBjb25zdHJ1 Y3RzLA0KLXN1Y2ggYXMgT3JnIHRhYmxlcyBhbmQgY29kZSBibG9ja3MsIHRvIHJlbWFpbiBtb25v c3BhY2VkIHdoZW4NCi11c2VycyBvcHQgZm9yIHNvbWV0aGluZyBsaWtlIHRoZSBjb21tYW5kIGB2 YXJpYWJsZS1waXRjaC1tb2RlJy4NCi1UaGUgZG93bnNpZGUgd2l0aCB0aGUgZGVmYXVsdCBpcyB0 aGF0IHVzZXJzIG5lZWQgdG8gZXhwbGljaXRseQ0KLWNvbmZpZ3VyZSB0aGUgZm9udCBmYW1pbHkg b2YgYGZpeGVkLXBpdGNoJyBpbiBvcmRlciB0byBnZXQgYQ0KLWNvbnNpc3RlbnQgZXhwZXJpZW5j ZS4gIFRoYXQgbWF5IGJlIHNvbWV0aGluZyB0aGV5IGRvIG5vdCB3YW50IHRvDQotZG8uICBIZW5j ZSB0aGlzIG9wdGlvbiB0byBkaXNhYmxlIGFueSBraW5kIG9mIHRlY2huaXF1ZSBmb3INCi1taXhp bmcgZm9udHMuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVz LXZpdmVuZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICdtb2R1cy12 aXZlbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZlbmRpLXRo ZW1lJyAwLjEzLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1yYWluYm93 LWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBtb3JlIHNhdHVyYXRlZCBjb2xvdXJzIGZvciBoZWFkaW5n cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5k aS10aGVtZS1zZWN0aW9uLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGkt dGhlbWUtaGVhZGluZ3MNCi0gICAgICAgICAgICAgICAiYG1vZHVzLXZpdmVuZGktdGhlbWUnIDAu MTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNlY3Rpb24taGVhZGlu Z3MgbmlsDQotICAiVXNlIGEgYmFja2dyb3VuZCBhbmQgYW4gb3ZlcmxpbmUgaW4gaGVhZGluZ3Mu Ig0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1l LWhlYWRpbmdzDQotICAnKCh0IC4gbmlsKSkNCi0gICJBbGlzdCBvZiBzdHlsZXMgZm9yIGhlYWRp bmdzLCB3aXRoIG9wdGlvbmFsIHZhbHVlIHBlciBsZXZlbC4NCi0NCi1UbyBjb250cm9sIGZhY2Vz IHBlciBsZXZlbCBmcm9tIDEtOCwgdXNlIHNvbWV0aGluZyBsaWtlIHRoaXM6DQotDQotICAoc2V0 cSBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAnKCgxIC4gaGlnaGxpZ2h0 KQ0KLSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5v LWJvbGQpKSkNCi0NCi1UbyBzZXQgYSB1bmlmb3JtIHZhbHVlIGZvciBhbGwgaGVhZGluZyBsZXZl bHMsIHVzZSB0aGlzIHBhdHRlcm46DQotDQotICAoc2V0cSBtb2R1cy12aXZlbmRpLXRoZW1lLWhl YWRpbmdzDQotICAgICAgICAnKCh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCi0NCi1UaGUg ZGVmYXVsdCB1c2VzIGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgdmFsdWUgaW4NCi1j b21iaW5hdGlvbiB3aXRoIGEgYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBUbyBzcGVjaWZ5IHRo aXMNCi1zdHlsZSBmb3IgYSBnaXZlbiBsZXZlbCBOIChhc3N1bWluZyB5b3Ugd2lzaCB0byBoYXZl IGFub3RoZXINCi1mYWxsYmFjayBvcHRpb24pLCBqdXN0IHNwZWNpZnkgdGhlIHZhbHVlIHQgbGlr ZSB0aGlzOg0KLQ0KLSAgKHNldHEgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAg ICAgJygoMSAuIHQpDQotICAgICAgICAgICgyIC4gbGluZSkNCi0gICAgICAgICAgKHQgLiByYWlu Ym93LWxpbmUtbm8tYm9sZCkpKQ0KLQ0KLUEgZGVzY3JpcHRpb24gb2YgYWxsIHBvc3NpYmxlIHZh bHVlczoNCi0NCi0rIGBuby1ib2xkJyByZXRhaW5zIHRoZSBkZWZhdWx0IHRleHQgY29sb3VyIHdo aWxlIHJlbW92aW5nDQotICB0aGUgdHlwb2dyYXBoaWMgd2VpZ2h0Lg0KLQ0KLSsgYGxpbmUnIGlz IHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0IHBsdXMgYW4gb3ZlcmxpbmUgb3ZlciB0aGUNCi0gIGhl YWRpbmcuDQotDQotKyBgbGluZS1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgbGluZScgd2l0aG91 dCBib2xkIHdlaWdodC4NCi0NCi0rIGByYWluYm93JyB1c2VzIGEgbW9yZSBjb2xvdXJmdWwgZm9y ZWdyb3VuZCBpbiBjb21iaW5hdGlvbg0KLSAgd2l0aCBib2xkIHdlaWdodC4NCi0NCi0rIGByYWlu Ym93LWxpbmUnIGlzIHRoZSBzYW1lIGFzIGByYWluYm93JyBwbHVzIGFuIG92ZXJsaW5lLg0KLQ0K LSsgYHJhaW5ib3ctbGluZS1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdy1saW5lJyB3 aXRob3V0DQotICB0aGUgYm9sZCB3ZWlnaHQuDQotDQotKyBgaGlnaGxpZ2h0JyByZXRhaW5zIHRo ZSBkZWZhdWx0IHN0eWxlIG9mIGEgZmFpcmx5IGRlc2F0dXJhdGVkDQotICBmb3JlZ3JvdW5kIGNv bWJpbmVkIHdpdGggYSBib2xkIHdlaWdodCBhbmQgYWRkIHRvIGl0IGEgc3VidGxlDQotICBhY2Nl bnRlZCBiYWNrZ3JvdW5kLg0KLQ0KLSsgYGhpZ2hsaWdodC1uby1ib2xkJyBpcyB0aGUgc2FtZSBh cyBgaGlnaGxpZ2h0JyB3aXRob3V0IGEgYm9sZA0KLSAgd2VpZ2h0Lg0KLQ0KLSsgYHJhaW5ib3ct aGlnaGxpZ2h0JyBpcyB0aGUgc2FtZSBhcyBgaGlnaGxpZ2h0JyBidXQgd2l0aCBhIG1vcmUNCi0g IGNvbG91cmZ1bCBmb3JlZ3JvdW5kLg0KLQ0KLSsgYHJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQn IGlzIHRoZSBzYW1lIGFzIGByYWluYm93LWhpZ2hsaWdodCcNCi0gIHdpdGhvdXQgYSBib2xkIHdl aWdodC4NCi0NCi0rIGBzZWN0aW9uJyByZXRhaW5zIHRoZSBkZWZhdWx0IGxvb2tzIGFuZCBhZGRz IHRvIHRoZW0gYm90aCBhbg0KLSAgb3ZlcmxpbmUgYW5kIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFj a2dyb3VuZC4gIEl0IGlzLCBpbiBlZmZlY3QsDQotICBhIGNvbWJpbmF0aW9uIG9mIHRoZSBgbGlu ZScgYW5kIGBoaWdobGlnaHQnIHZhbHVlcy4NCi0NCi0rIGBzZWN0aW9uLW5vLWJvbGQnIGlzIHRo ZSBzYW1lIGFzIGBzZWN0aW9uJyB3aXRob3V0IGEgYm9sZA0KLSAgd2VpZ2h0Lg0KLQ0KLSsgYHJh aW5ib3ctc2VjdGlvbicgaXMgdGhlIHNhbWUgYXMgYHNlY3Rpb24nIGJ1dCB3aXRoIGEgbW9yZQ0K LSAgY29sb3VyZnVsIGZvcmVncm91bmQuDQotDQotKyBgcmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQn IGlzIHRoZSBzYW1lIGFzIGByYWluYm93LXNlY3Rpb24nDQotICB3aXRob3V0IGEgYm9sZCB3ZWln aHQuIg0KLSAgOnR5cGUNCi0gICcoYWxpc3QNCi0gICAgOmtleS10eXBlIHN5bWJvbA0KLSAgICA6 dmFsdWUtdHlwZQ0KLSAgICAoY2hvaWNlIChjb25zdCA6dGFnICJGYWlybHkgZGVzYXR1cmF0ZWQg Zm9yZWdyb3VuZCB3aXRoIGJvbGQgd2VpZ2h0IChkZWZhdWx0KSIgdCkNCi0gICAgICAgICAgICAo Y29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCB3aXRob3V0IGJvbGQgd2VpZ2h0IiBuby1ib2xk KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHBsdXMgb3Zlcmxp bmUiIGxpbmUpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGxpbmUnIHdpdGhvdXQg Ym9sZCB3ZWlnaHQiIGxpbmUtbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlr ZSB0aGUgZGVmYXVsdCBidXQgd2l0aCBtb3JlIGNvbG91cmZ1bCBmb3JlZ3JvdW5kIiByYWluYm93 KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93JyBwbHVzIG92ZXJsaW5l IiByYWluYm93LWxpbmUpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3cn IHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ctbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29u c3QgOnRhZyAiTGlrZSBgcmFpbmJvdy1saW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93 LWxpbmUtbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVs dCBwbHVzIHN1YnRsZSBiYWNrZ3JvdW5kIiBoaWdobGlnaHQpDQotICAgICAgICAgICAgKGNvbnN0 IDp0YWcgIkxpa2UgYGhpZ2hsaWdodCcgd2l0aG91dCBib2xkIHdlaWdodCIgaGlnaGxpZ2h0LW5v LWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGhpZ2hsaWdodCcgd2l0aCBt b3JlIGNvbG91cmZ1bCBmb3JlZ3JvdW5kIiByYWluYm93LWhpZ2hsaWdodCkNCi0gICAgICAgICAg ICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdy1oaWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWln aHQiIHJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcg Ikxpa2UgYGhpZ2hsaWdodCcgcGx1cyBvdmVybGluZSIgc2VjdGlvbikNCi0gICAgICAgICAgICAo Y29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aG91dCBib2xkIHdlaWdodCIgc2VjdGlvbi1u by1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBzZWN0aW9uJyB3aXRoIG1v cmUgY29sb3VyZnVsIGZvcmVncm91bmQiIHJhaW5ib3ctc2VjdGlvbikNCi0gICAgICAgICAgICAo Y29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdy1zZWN0aW9uJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBy YWluYm93LXNlY3Rpb24tbm8tYm9sZCkpKSkNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGkt dGhlbWUtc2NhbGUtaGVhZGluZ3MgbmlsDQotICAiVXNlIGZvbnQgc2NhbGluZyBmb3IgaGVhZGlu Z3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTEgMS4wNQ0KLSAgIkZvbnQgc2l6ZSB0aGF0IGlzIHNsaWdodGx5IGxhcmdlciB0 aGFuIHRoZSBiYXNlIHZhbHVlLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhh dCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAg SG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rv b2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNh bWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBv biB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJp YnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251 bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMiAxLjENCi0g ICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUtMScuDQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJl dGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUg dmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNv bHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2FtZSBhcyBzZXR0aW5n IHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9uIHRoZSBtYXR0ZXIs IHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lm aWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVtYmVyKQ0KLQ0KLShk ZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zIDEuMTUNCi0gICJGb250IHNpemUg c2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMicuDQotVGhl IGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVs dGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxz byBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQg KGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0 IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRv Y3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAn OmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVtYmVyKQ0KLQ0KLShkZWZjdXN0b20gbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS00IDEuMg0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJn ZXIgdGhhbiBgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zJy4NCi1UaGUgZGVmYXVsdCBpcyBh IGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRo ZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4N Ci1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVl IG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6 ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBv Zg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0 aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlLTUgMS4zDQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1 cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQnLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9p bnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBz aXplLiAgSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVu ZGVyc3Rvb2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQot dGhlIHNhbWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3Ig bW9yZSBvbiB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNl LWF0dHJpYnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5 cGUgJ251bWJlcikNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS12aXNp YmxlLWZyaW5nZXMNCi0gICAgICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1mcmluZ2Vz DQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZlbmRpLXRoZW1lJyAwLjEyLjAiKQ0KLQ0KLShk ZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS12aXNpYmxlLWZyaW5nZXMgbmlsDQotICAiVXNl IGEgdmlzaWJsZSBzdHlsZSBmb3IgZnJpbmdlcy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcyBuaWwNCi0gICJEZWZpbmUgdGhl IHZpc2liaWxpdHkgb2YgZnJpbmdlcy4NCi0NCi1OaWwgbWVhbnMgdGhlIGZyaW5nZXMgaGF2ZSBu byBiYWNrZ3JvdW5kIGNvbG91ci4gIE9wdGlvbiBgc3VidGxlJw0KLXdpbGwgYXBwbHkgYSBncmV5 c2NhbGUgdmFsdWUgdGhhdCBpcyB2aXNpYmxlIHlldCBjbG9zZSB0byB0aGUNCi1tYWluIGJ1ZmZl ciBiYWNrZ3JvdW5kIGNvbG91ci4gIE9wdGlvbiBgaW50ZW5zZScgd2lsbCB1c2UgYSBtb3JlDQot cHJvbm91bmNlZCBncmV5c2NhbGUgdmFsdWUuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAgICAg ICAgKGNvbnN0IDp0YWcgIk5vIHZpc2libGUgZnJpbmdlcyAoZGVmYXVsdCkiIG5pbCkNCi0gICAg ICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgc3VidGxlKQ0K LSAgICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgaW50 ZW5zZSkpKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWRpc3RpbmN0 LW9yZy1ibG9ja3MNCi0gICAgICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxv Y2tzDQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZlbmRpLXRoZW1lJyAwLjExLjAiKQ0KLQ0K LShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1kaXN0aW5jdC1vcmctYmxvY2tzIG5pbA0K LSAgIlVzZSBhIGRpc3RpbmN0IG5ldXRyYWwgYmFja2dyb3VuZCBmb3IgYG9yZy1tb2RlJyBibG9j a3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVu ZGktdGhlbWUtcmFpbmJvdy1vcmctc3JjLWJsb2Nrcw0KLSAgICAgICAgICAgICAgICdtb2R1cy12 aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MNCi0gICAgICAgICAgICAgICAiYG1vZHVzLXZpdmVuZGkt dGhlbWUnIDAuMTEuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXJhaW5i b3ctb3JnLXNyYy1ibG9ja3MgbmlsDQotICAiVXNlIGNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kcyBm b3IgYG9yZy1tb2RlJyBzb3VyY2UgYmxvY2tzLg0KLVRoZSBjb2xvdXIgaW4gdXNlIGRlcGVuZHMg b24gdGhlIGxhbmd1YWdlIChzZW5kIGZlZWRiYWNrIHRvDQotaW5jbHVkZSBtb3JlIGxhbmd1YWdl cykuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRo ZW1lLW9yZy1ibG9ja3MgbmlsDQotICAiVXNlIGEgc3VidGxlIGdyZXkgb3IgY29sb3VyLWNvZGVk IGJhY2tncm91bmQgZm9yIE9yZyBibG9ja3MuDQotDQotTmlsIG1lYW5zIHRoYXQgdGhlIGJsb2Nr IHdpbGwgaGF2ZSBubyBiYWNrZ3JvdW5kIG9mIGl0cyBvd24gYW5kDQotd2lsbCB1c2UgdGhlIGRl ZmF1bHQgdGhhdCBhcHBsaWVzIHRvIHRoZSByZXN0IG9mIHRoZSBidWZmZXIuDQotDQotT3B0aW9u IGBncmV5c2NhbGUnIHdpbGwgYXBwbHkgYSBzdWJ0bGUgbmV1dHJhbCBncmV5IGJhY2tncm91bmQg dG8NCi10aGUgYmxvY2sncyBjb250ZW50cy4gIEl0IGFsc28gYWZmZWN0cyB0aGUgYmVnaW4gYW5k IGVuZCBsaW5lcyBvZg0KLXRoZSBibG9jazogdGhlaXIgYmFja2dyb3VuZCB3aWxsIGJlIGV4dGVu ZGVkIHRvIHRoZSBlZGdlIG9mIHRoZQ0KLXdpbmRvdyBmb3IgRW1hY3MgdmVyc2lvbiA+PSAyNyB3 aGVyZSB0aGUgJzpleHRlbmQnIGtleXdvcmQgaXMNCi1yZWNvZ25pc2VkIGJ5IGBzZXQtZmFjZS1h dHRyaWJ1dGUnLg0KLQ0KLU9wdGlvbiBgcmFpbmJvdycgd2lsbCB1c2UgYW4gYWNjZW50ZWQgYmFj a2dyb3VuZCBmb3IgdGhlIGNvbnRlbnRzDQotb2YgdGhlIGJsb2NrLiAgVGhlIGV4YWN0IGNvbG91 ciB3aWxsIGRlcGVuZCBvbiB0aGUgcHJvZ3JhbW1pbmcNCi1sYW5ndWFnZSBhbmQgaXMgY29udHJv bGxlZCBieSB0aGUgYG9yZy1zcmMtYmxvY2stZmFjZXMnDQotdmFyaWFibGUgKHJlZmVyIHRvIHRo ZSB0aGVtZSdzIHNvdXJjZSBjb2RlIGZvciB0aGUgY3VycmVudA0KLWFzc29jaWF0aW9uIGxpc3Qp LiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyBPcmcgYmxv Y2sgYmFja2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlN1 YnRsZSBncmV5IGJsb2NrIGJhY2tncm91bmQiIGdyZXlzY2FsZSkNCi0gICAgICAgICAgKGNvbnN0 IDp0YWcgIkNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kIHBlciBwcm9ncmFtbWluZyBsYW5ndWFnZSIg cmFpbmJvdykpKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLTNkLW1v ZGVsaW5lDQotICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1saW5lDQot ICAgICAgICAgICAgICAgImBtb2R1cy12aXZlbmRpLXRoZW1lJyAwLjEzLjAiKQ0KLQ0KLShkZWZj dXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS0zZC1tb2RlbGluZSBuaWwNCi0gICJVc2UgYSB0aHJl ZS1kaW1lbnNpb25hbCBzdHlsZSBmb3IgdGhlIGFjdGl2ZSBtb2RlIGxpbmUuIg0KLSAgOnR5cGUg J2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUtbGluZSBu aWwNCi0gICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGUgb2YgdGhlIG1vZGUgbGluZS4NCi0NCi1O aWwgaXMgYSB0d28tZGltZW5zaW9uYWwgcmVjdGFuZ2xlIHdpdGggYSBib3JkZXIgYXJvdW5kIGl0 LiAgVGhlDQotYWN0aXZlIGFuZCB0aGUgaW5hY3RpdmUgbW9kZWxpbmVzIHVzZSBkaWZmZXJlbnQg c2hhZGVzIG9mDQotZ3JleXNjYWxlIHZhbHVlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGZvcmVn cm91bmQuDQotDQotQSBgM2QnIHZhbHVlIHdpbGwgYXBwbHkgYSB0aHJlZS1kaW1lbnNpb25hbCBl ZmZlY3QgdG8gdGhlIGFjdGl2ZQ0KLW1vZGVsaW5lLiAgVGhlIGluYWN0aXZlIG1vZGVsaW5lcyBy ZW1haW4gdHdvLWRpbWVuc2lvbmFsIGFuZCBhcmUNCi10b25lZCBkb3duIGEgYml0LCByZWxhdGl2 ZSB0byB0aGUgbmlsIHZhbHVlLg0KLQ0KLVRoZSBgbW9vZHknIG9wdGlvbiBpcyBtZWFudCB0byBv cHRpbWlzZSB0aGUgbW9kZWxpbmUgZm9yIHVzZSB3aXRoDQotdGhlIGxpYnJhcnkgb2YgdGhlIHNh bWUgbmFtZS4gIFRoaXMgcHJhY3RpY2FsbHkgbWVhbnMgdG8gcmVtb3ZlDQotdGhlIGJveCBlZmZl Y3QgYW5kIHJlbHkgb24gdW5kZXJsaW5lIGFuZCBvdmVybGluZSBwcm9wZXJ0aWVzDQotaW5zdGVh ZC4gIEl0IGFsc28gdG9uZXMgZG93biB0aGUgaW5hY3RpdmUgbW9kZWxpbmVzLiAgRGVzcGl0ZSBp dHMNCi1pbnRlbmRlZCBwdXJwb3NlLCB0aGlzIG9wdGlvbiBjYW4gYWxzbyBiZSB1c2VkIHdpdGhv dXQgdGhlDQotYG1vb2R5JyBsaWJyYXJ5LiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAg IChjb25zdCA6dGFnICJUd28tZGltZW5zaW9uYWwgYm94IChkZWZhdWx0KSIgbmlsKQ0KLSAgICAg ICAgICAoY29uc3QgOnRhZyAiVGhyZWUtZGltZW5zaW9uYWwgc3R5bGUgZm9yIHRoZSBhY3RpdmUg bW9kZSBsaW5lIiAzZCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIGJveCBlZmZlY3RzLCB3 aGljaCBhcmUgb3B0aW1hbCBmb3IgdXNlIHdpdGggdGhlIGBtb29keScgbGlicmFyeSIgbW9vZHkp KSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zdWJ0bGUtZGlmZnMN Ci0gICAgICAgICAgICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmcw0KLSAgICAgICAgICAg ICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVz LXZpdmVuZGktdGhlbWUtc3VidGxlLWRpZmZzIG5pbA0KLSAgIlVzZSBmZXdlci9kaW0gYmFja2dy b3VuZHMgaW4gYGRpZmYtbW9kZScsIGBlZGlmZicsYG1hZ2l0Jy4iDQotICA6dHlwZSAnYm9vbGVh bikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMgbmlsDQotICAiQWRq dXN0IHRoZSBvdmVyYWxsIHN0eWxlcyBvZiBkaWZmcy4NCi0NCi1OaWwgbWVhbnMgdG8gdXNlIGZh aXJseSBpbnRlbnNlIGNvbG91ciBjb21iaW5hdGlvbnMgZm9yIGRpZmZzLg0KLUZvciBleGFtcGxl LCB5b3UgZ2V0IGEgcmljaCBncmVlbiBiYWNrZ3JvdW5kIHdpdGggYSBncmVlbg0KLWZvcmVncm91 bmQgZm9yIGFkZGVkIGxpbmVzLiAgV29yZC13aXNlIG9yICdyZWZpbmVkJyBkaWZmcyBmb2xsb3cN Ci10aGUgc2FtZSBwYXR0ZXJuIGJ1dCB1c2UgZGlmZmVyZW50IHNoYWRlcyBvZiB0aG9zZSBjb2xv dXJzIHRvDQotcmVtYWluIGRpc3RpbmN0Lg0KLQ0KLUEgYGRlc2F0dXJhdGVkJyB2YWx1ZSBmb2xs b3dzIHRoZSBzYW1lIHByaW5jaXBsZXMgYXMgd2l0aCB0aGUgbmlsDQotb3B0aW9uLCB3aGlsZSBp dCB0b25lcyBkb3duIGFsbCByZWxldmFudCBjb2xvdXJzLg0KLQ0KLU9wdGlvbiBgZmctb25seScg d2lsbCByZW1vdmUgYWxsIGFjY2VudGVkIGJhY2tncm91bmRzLCBleGNlcHQNCi1mcm9tIHdvcmQt d2lzZSBjaGFuZ2VzLiAgSXQgaW5zdGVhZCB1c2VzIGNvbG91ci1jb2RlZCBmb3JlZ3JvdW5kDQot dmFsdWVzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBhZGRlZC9yZW1vdmVkL2NoYW5nZWQgbGlu ZXMuICBJZg0KLWEgYmFja2dyb3VuZCBpcyBuZWNlc3NhcnksIHN1Y2ggYXMgd2l0aCBgZWRpZmYn LCB0aGVuIGEgc3VidGxlDQotZ3JleXNjYWxlIHZhbHVlIGlzIHVzZWQuIg0KLSAgOnR5cGUgJyhj aG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2VseSBjb2xvdXJlZCBiYWNrZ3Jv dW5kcyAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlNsaWdodGx5IGFj Y2VudGVkIGJhY2tncm91bmRzIHdpdGggdGludGVkIHRleHQiIGRlc2F0dXJhdGVkKQ0KLSAgICAg ICAgICAoY29uc3QgOnRhZyAiTm8gYmFja2dyb3VuZHMsIGV4Y2VwdCBmb3IgcmVmaW5lZCBkaWZm cyIgZmctb25seSkpKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWlu dGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAnbW9kdXMtdml2ZW5k aS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVt ZScgMC4xMi4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1z dGFuZGFyZC1jb21wbGV0aW9ucyBuaWwNCi0gICJVc2UgcHJvbWluZW50IGJhY2tncm91bmRzIGZv ciBJY29tcGxldGUsIElkbywgb3Igc2ltaWxhci4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMgbmlsDQotICAiQXBwbHkg c3BlY2lhbCBzdHlsZXMgdG8gdGhlIFVJIG9mIGNvbXBsZXRpb24gZnJhbWV3b3Jrcy4NCi0NCi1U aGlzIGNvbmNlcm5zIEljb21wbGV0ZSwgSXZ5LCBIZWxtLCBTZWxlY3RydW0sIElkbywgYXMgd2Vs bCBhcw0KLWFueSBvdGhlciB0b29sIG1lYW50IHRvIGVuaGFuY2UgdGhlaXIgZXhwZXJpZW5jZS4g IFRoZSBlZmZlY3QNCi13aWxsIHZhcnkgZGVwZW5kaW5nIG9uIHRoZSBjb21wbGV0aW9uIGZyYW1l d29yay4NCi0NCi1OaWwgbWVhbnMgdG8gcmVtYWluIGZhaXRoZnVsIHRvIHRoZSBtZXRhcGhvcnMg dGhhdCBlYWNoIFVJDQotZXN0YWJsaXNoZXMuICBGb3IgZXhhbXBsZSwgSWNvbXBsZXRlIGFuZCBJ ZG8gb25seSB1c2UgZm9yZWdyb3VuZA0KLWNvbG91cnMgdG8gc3R5bGUgdGhlaXIgbWF0Y2hlcywg d2hlcmVhcyBJdnkgb3IgSGVsbSByZWx5IG9uIGFuDQotYWVzdGhldGljIHRoYXQgY29tYmluZXMg Y29sb3VyZWQgYmFja2dyb3VuZHMgd2l0aCBhcHByb3ByaWF0ZQ0KLXRleHQgY29sb3VyLg0KLQ0K LU9wdGlvbiBgbW9kZXJhdGUnIHdpbGwgYXBwbHkgYSBjb21iaW5hdGlvbiBvZiBiYWNrZ3JvdW5k IGFuZA0KLWZvcmVncm91bmQgdGhhdCBpcyBmYWlybHkgc3VidGxlLiAgRm9yIEljb21wbGV0ZSBh bmQgdGhlIGxpa2UsDQotdGhpcyBjb25zdGl0dXRlcyBhIGRlcGFydHVyZSBmcm9tIHRoZWlyIHN0 YW5kYXJkIHN0eWxlLiAgV2hpbGUNCi1JdnksIEhlbG0sIGFuZCB0aGUgb3RoZXJzLCB3aWxsIHVz ZSBsZXNzIHByb25vdW5jZWQgY29sb3VycyBmb3INCi1hcHBsaWNhYmxlIGNvbnRleHRzLg0KLQ0K LU9wdGlvbiBgb3BpbmlvbmF0ZWQnIHdpbGwgYXBwbHkgY29sb3VyIGNvbWJpbmF0aW9ucyB0aGF0 DQotcmVmYXNoaW9uIHRoZSBjb21wbGV0aW9uIFVJLiAgU28gSWNvbXBsZXRlIGV0IGFsIHdpbGwg bm93IHVzZQ0KLXN0eWxlcyB0aGF0IHJlc2VtYmxlIHRoZSBkZWZhdWx0cyBvZiBJdnkgYW5kIGNv Liwgd2hpbGUgdGhlDQotbGF0dGVyIGdyb3VwIHdpbGwgcmV2ZXJ0IHRvIGFuIGV2ZW4gbW9yZSBu dWFuY2VkIGFlc3RoZXRpYy4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3Qg OnRhZyAiUmVzcGVjdCB0aGUgZnJhbWV3b3JrJ3MgZXN0YWJsaXNoZWQgYWVzdGhldGljIChkZWZh dWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGJhY2tncm91bmRzIGZv ciB2YXJpb3VzIGVsZW1lbnRzIiBtb2RlcmF0ZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlJh ZGljYWwgYWx0ZXJuYXRpdmUgdG8gdGhlIGZyYW1ld29yaydzIGxvb2tzIiBvcGluaW9uYXRlZCkp KQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHRzIG5pbA0KLSAgIlVz ZSBzdWJ0bGUgb3IgaW50ZW5zZSBzdHlsZXMgZm9yIG1pbmlidWZmZXIgYW5kIFJFUEwgcHJvbXB0 cy4NCi0NCi1OaWwgbWVhbnMgdG8gb25seSB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xv dXIuDQotDQotT3B0aW9ucyBgc3VidGxlJyBhbmQgYGludGVuc2UnIHdpbGwgY2hhbmdlIGJvdGgg dGhlIGJhY2tncm91bmQNCi1hbmQgdGhlIGZvcmVncm91bmQgdmFsdWVzLiAgVGhlIGxhdHRlciBo YXMgYSBtb3JlIHByb25vdW5jZWQNCi1lZmZlY3QgdGhhbiB0aGUgZm9ybWVyLiINCi0gIDp0eXBl ICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyBwcm9tcHQgYmFja2dyb3VuZCAo ZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBhY2NlbnRlZCBi YWNrZ3JvdW5kIGZvciB0aGUgcHJvbXB0IiBzdWJ0bGUpDQotICAgICAgICAgIChjb25zdCA6dGFn ICJJbnRlbnNlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgZm9yIHRoZSBwcm9tcHQiIGludGVu c2UpKSkNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1obC1saW5l IG5pbA0KLSAgIlVzZSBtb3JlIHByb21pbmVudCBiYWNrZ3JvdW5kIGZvciBjb21tYW5kIGBobC1s aW5lLW1vZGUnLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2 ZW5kaS10aGVtZS1pbnRlbnNlLXBhcmVuLW1hdGNoIG5pbA0KLSAgIlVzZSBtb3JlIHByb21pbmVu dCBjb2xvdXIgZm9yIHBhcmVudGhlc2lzIG1hdGNoaW5nLiINCi0gIDp0eXBlICdib29sZWFuKQ0K LQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1mYWludC1zeW50YXggbmlsDQotICAi VXNlIGxlc3Mgc2F0dXJhdGVkIGNvbG91cnMgZm9yIGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZy4i DQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUt bm8tbGluay11bmRlcmxpbmUgbmlsDQotICAiRG8gbm90IHVuZGVybGluZSBsaW5rcy4iDQotICA6 dHlwZSAnYm9vbGVhbikNCi0NCi07OzsgSW50ZXJuYWwgZnVuY3Rpb25zDQotDQotOzsgSGVscGVy IGZ1bmN0aW9ucyB0aGF0IGFyZSBtZWFudCB0byBlYXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0 aGUNCi07OyBhYm92ZSBjdXN0b21pc2F0aW9uIG9wdGlvbnMuDQotKGRlZnVuIG1vZHVzLXZpdmVu ZGktdGhlbWUtYm9sZC13ZWlnaHQgKCkNCi0gICJDb25kaXRpb25hbCB1c2Ugb2YgYSBoZWF2aWVy IHRleHQgd2VpZ2h0LiINCi0gICh3aGVuIG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC1jb25zdHJ1 Y3RzDQotICAgIChsaXN0IDppbmhlcml0ICdib2xkKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVu ZGktdGhlbWUtbWl4ZWQtZm9udHMgKCkNCi0gICJDb25kaXRpb25hbCBhcHBsaWNhdGlvbiBvZiBg Zml4ZWQtcGl0Y2gnIGluaGVyaXRhbmNlLiINCi0gICh1bmxlc3MgbW9kdXMtdml2ZW5kaS10aGVt ZS1uby1taXhlZC1mb250cw0KLSAgICAobGlzdCA6aW5oZXJpdCAnZml4ZWQtcGl0Y2gpKSkNCi0N Ci0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1mcmluZ2UgKHN1YnRsZWJnIGludGVuc2ViZykN Ci0gICJDb25kaXRpb25hbCB1c2Ugb2YgYmFja2dyb3VuZCBjb2xvdXJzIGZvciBmcmluZ2VzLg0K LVNVQlRMRUJHIHNob3VsZCBiZSBhIHN1YnRsZSBncmV5c2NhbGUgdmFsdWUuICBJTlRFTlNFQkcg bXVzdCBiZSBhDQotbW9yZSBwcm9ub3VuY2VkIGdyZXlzY2FsZSBjb2xvdXIuIg0KLSAgKHBjYXNl IG1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcw0KLSAgICAoJ2ludGVuc2UgKGxpc3QgOmJhY2tn cm91bmQgaW50ZW5zZWJnKSkNCi0gICAgKCdzdWJ0bGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxl YmcpKQ0KLSAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBuaWwpKSkpDQotDQotKGRlZnVuIG1vZHVz LXZpdmVuZGktdGhlbWUtcHJvbXB0IChtYWluZmcgc3VidGxlYmcgc3VidGxlZmcgaW50ZW5zZWJn IGludGVuc2VmZykNCi0gICJDb25kaXRpb25hbCB1c2Ugb2YgYmFja2dyb3VuZCBjb2xvdXJzIGZv ciBwcm9tcHRzLg0KLU1BSU5GRyBpcyB0aGUgcHJvbXB0J3Mgc3RhbmRhcmQgZm9yZWdyb3VuZC4g IFNVQlRMRUJHIHNob3VsZCBiZSBhDQotc3VidGxlIGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCB3 b3JrcyB3aXRoIFNVQlRMRUZHLiAgSU5URU5TRUJHDQotbXVzdCBiZSBhIG1vcmUgcHJvbm91bmNl ZCBhY2NlbnRlZCBjb2xvdXIgdGhhdCBzaG91bGQgYmUNCi1jb21iaW5hYmxlIHdpdGggSU5URU5T RUZHLiINCi0gIChwY2FzZSBtb2R1cy12aXZlbmRpLXRoZW1lLXByb21wdHMNCi0gICAgKCdpbnRl bnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0K LSAgICAoJ3N1YnRsZSAobGlzdCA6YmFja2dyb3VuZCBzdWJ0bGViZyA6Zm9yZWdyb3VuZCBzdWJ0 bGVmZykpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIG5pbCA6Zm9yZWdyb3VuZCBtYWluZmcp KSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtcGFyZW4gKG5vcm1hbGJnIGludGVu c2ViZykNCi0gICJDb25kaXRpb25hbCB1c2Ugb2YgaW50ZW5zZSBjb2xvdXJzIGZvciBtYXRjaGlu ZyBwYXJlbnRoZXNlcy4NCi1OT1JNQUxCRyBzaG91bGQgdGhlIHNwZWNpYWwgcGFsZXR0ZSBjb2xv dXIgJ2JnLXBhcmVuLW1hdGNoJyBvcg0KLXNvbWV0aGluZyBzaW1pbGFyLiAgSU5URU5TRUJHIG11 c3QgYmUgZWFzaWVyIHRvIGRpc2Nlcm4gbmV4dCB0bw0KLW90aGVyIGJhY2tncm91bmRzLCBzdWNo IGFzIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3VyDQotJ2JnLXBhcmVuLW1hdGNoLWludGVuc2Un LiINCi0gIChpZiBtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtcGFyZW4tbWF0Y2gNCi0gICAg ICAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcpDQotICAgIChsaXN0IDpiYWNrZ3JvdW5kIG5v cm1hbGJnKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQgKG5vcm1hbCBmYWludCkNCi0gICJBcHBseSBmb3JlZ3JvdW5kIHZhbHVlIHRvIGNvZGUgc3lu dGF4Lg0KLU5PUk1BTCBpcyB0aGUgbW9yZSBzYXR1cmF0ZWQgY29sb3VyLCB3aGljaCBzaG91bGQg YmUgdGhlIGRlZmF1bHQuDQotRkFJTlQgaXMgdGhlIGxlc3Mgc2F0dXJhdGVkIGNvbG91ci4iDQot ICAoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS1mYWludC1zeW50YXgNCi0gICAgICAobGlzdCA6Zm9y ZWdyb3VuZCBmYWludCkNCi0gICAgKGxpc3QgOmZvcmVncm91bmQgbm9ybWFsKSkpDQotDQotKGRl ZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZy1wIChrZXkpDQotICAiUXVlcnkgc3R5bGUg b2YgS0VZIGluIGBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzJy4iDQotICAoY2RyIChhc3Nv YyBrZXkgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncykpKQ0KLQ0KLShkZWZ1biBtb2R1cy12 aXZlbmRpLXRoZW1lLWhlYWRpbmcgKGxldmVsIGZnIGZnLWFsdCBiZyBib3JkZXIpDQotICAiQ29u ZGl0aW9uYWwgc3R5bGVzIGZvciBgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncycuDQotDQot TEVWRUwgaXMgdGhlIGhlYWRpbmcncyBwb3NpdGlvbiBpbiB0aGVpciBvcmRlci4gIEZHIGlzIHRo ZQ0KLWRlZmF1bHQgdGV4dCBjb2xvdXIuICBGRy1BTFQgaXMgYW4gYWNjZW50ZWQsIG1vcmUgc2F0 dXJhdGVkIHZhbHVlDQotdGhhbiB0aGUgZGVmYXVsdC4gIEJHIGlzIGEgbnVhbmNlZCwgdHlwaWNh bGx5IGFjY2VudGVkLA0KLWJhY2tncm91bmQgdGhhdCBjYW4gd29yayB3ZWxsIHdpdGggZWl0aGVy IG9mIHRoZSBmb3JlZ3JvdW5kDQotdmFsdWVzLiAgQk9SREVSIGlzIGEgY29sb3VyIHZhbHVlIHRo YXQgY29tYmluZXMgd2VsbCB3aXRoIHRoZQ0KLWJhY2tncm91bmQgYW5kIGFsdGVybmF0aXZlIGZv cmVncm91bmQuIg0KLSAgKGxldCogKChrZXkgKG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZy1w IGAsbGV2ZWwpKQ0KLSAgICAgICAgIChzdHlsZSAob3Iga2V5IChtb2R1cy12aXZlbmRpLXRoZW1l LWhlYWRpbmctcCB0KSkpDQotICAgICAgICAgKHZhciAoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS12 YXJpYWJsZS1waXRjaC1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICAgICd2YXJpYWJsZS1waXRj aA0KLSAgICAgICAgICAgICAgICAnZGVmYXVsdCkpKQ0KLSAgICAocGNhc2Ugc3R5bGUNCi0gICAg ICAoJ25vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmcp KQ0KLSAgICAgICgnbGluZQ0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZv cmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdsaW5lLW5vLWJvbGQNCi0g ICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRl cikpDQotICAgICAgKCdyYWluYm93DQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFy KSA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KLSAgICAgICgncmFpbmJvdy1uby1ib2xkDQotICAgICAg IChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdyYWlu Ym93LWxpbmUNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpmb3JlZ3JvdW5k IGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAgICAoJ3JhaW5ib3ctbGluZS1uby1ib2xk DQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3Zlcmxp bmUgYm9yZGVyKSkNCi0gICAgICAoJ2hpZ2hsaWdodA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBg KGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0KLSAgICAgICgnaGln aGxpZ2h0LW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQg YmcgOmZvcmVncm91bmQgZmcpKQ0KLSAgICAgICgncmFpbmJvdy1oaWdobGlnaHQNCi0gICAgICAg KGxpc3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZn LWFsdCkpDQotICAgICAgKCdyYWluYm93LWhpZ2hsaWdodC1uby1ib2xkDQotICAgICAgIChsaXN0 IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQotICAg ICAgKCdzZWN0aW9uDQotICAgICAgIChhcHBlbmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNzLW1h am9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0IGAo Ym9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVy KSkpDQotICAgICAgKCdzZWN0aW9uLW5vLWJvbGQNCi0gICAgICAgKGFwcGVuZA0KLSAgICAgICAg KGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAg KGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcgOm92ZXJs aW5lIGJvcmRlcikpKQ0KLSAgICAgICgncmFpbmJvdy1zZWN0aW9uDQotICAgICAgIChhcHBlbmQN Ci0gICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkN Ci0gICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9y ZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgICgncmFpbmJvdy1zZWN0 aW9uLW5vLWJvbGQNCi0gICAgICAgKGFwcGVuZA0KLSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2 YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIpKSkN Ci0gICAgICAoXw0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZvcmVncm91 bmQgZmcpKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9jayAoYmdi bGspDQotICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIGJhY2tncm91bmQgb2YgT3JnIGJsb2Nrcy4N Ci1CR0JMSyBhcHBsaWVzIHRvIGEgZGlzdGluY3QgbmV1dHJhbCBiYWNrZ3JvdW5kLiAgRWxzZSBi bG9ja3MgaGF2ZQ0KLW5vIGJhY2tncm91bmQgb2YgdGhlaXIgb3duICh0aGUgZGVmYXVsdCksIHNv IHRoZXkgbG9vayB0aGUgc2FtZQ0KLWFzIHRoZSByZXN0IG9mIHRoZSBidWZmZXIuDQotDQotYG1v ZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcycgYWxzbyBhY2NlcHRzIGEgYHJhaW5ib3cnIG9w dGlvbg0KLXdoaWNoIGlzIGFwcGxpZWQgY29uZGl0aW9uYWxseSB0byBgb3JnLXNyYy1ibG9jay1m YWNlcycgKHNlZSB0aGUNCi10aGVtZSdzIHNvdXJjZSBjb2RlKS4iDQotICAoaWYgKGVxIG1vZHVz LXZpdmVuZGktdGhlbWUtb3JnLWJsb2NrcyAnZ3JleXNjYWxlKQ0KLSAgICAgIChhcHBlbmQNCi0g ICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAg ICAgICAobGlzdCA6YmFja2dyb3VuZCBiZ2JsaykpDQotICAgIChsaXN0IDpiYWNrZ3JvdW5kIG5p bCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9jay1kZWxpbSAoYmdh Y2NlbnQgZmdhY2NlbnQgYmcgZmcpDQotICAiQ29uZGl0aW9uYWxseSBzZXQgdGhlIHN0eWxlcyBv ZiBPcmcgYmxvY2sgZGVsaW1pdGVycy4NCi1CRywgRkcsIEJHQUNDRU5ULCBGR0FDQ0VOVCBhcHBs eSBhIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQNCi1jb2xvdXIgcmVzcGVjdGl2ZWx5Lg0KLQ0K LVRoZSBmb3JtZXIgcGFpciBpcyBhIGdyZXlzY2FsZSBjb21iaW5hdGlvbiB0aGF0IHNob3VsZCBi ZSBtb3JlDQotZGlzdGluY3QgdGhhbiB0aGUgYmFja2dyb3VuZCBvZiB0aGUgYmxvY2suICBJdCBp cyBhcHBsaWVkIHRvIHRoZQ0KLWRlZmF1bHQgc3R5bGVzIG9yIHdoZW4gYG1vZHVzLXZpdmVuZGkt dGhlbWUtb3JnLWJsb2NrcycgaXMgc2V0DQotdG8gYGdyZXlzY2FsZScuDQotDQotVGhlIGxhdHRl ciBwYWlyIHNob3VsZCBiZSBtb3JlIHN1YnRsZSB0aGFuIHRoZSBiYWNrZ3JvdW5kIG9mIHRoZQ0K LWJsb2NrLCBhcyBpdCBpcyB1c2VkIHdoZW4gYG1vZHVzLXZpdmVuZGktdGhlbWUtb3JnLWJsb2Nr cycgaXMNCi1zZXQgdG8gYHJhaW5ib3cnLiINCi0gIChwY2FzZSBtb2R1cy12aXZlbmRpLXRoZW1l LW9yZy1ibG9ja3MNCi0gICAgKCdncmV5c2NhbGUgKGFwcGVuZCAoYW5kICg+PSBlbWFjcy1tYWpv ci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgKGxp c3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkNCi0gICAgKCdyYWluYm93IChsaXN0 IDpiYWNrZ3JvdW5kIGJnYWNjZW50IDpmb3JlZ3JvdW5kIGZnYWNjZW50KSkNCi0gICAgKF8gKGxp c3QgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLXZp dmVuZGktdGhlbWUtbW9kZS1saW5lLWF0dHJzDQotICAgIChmZyBiZyBmZy1hbHQgYmctYWx0IGJv cmRlciBib3JkZXItM2QgJm9wdGlvbmFsIGFsdC1zdHlsZSBib3JkZXItd2lkdGggZmctZGlzdGFu dCkNCi0gICJDb2xvdXIgY29tYmluYXRpb25zIGZvciBgbW9kdXMtdml2ZW5kaS10aGVtZS1tb2Rl LWxpbmUnLg0KLQ0KLUZHIGFuZCBCRyBhcmUgdGhlIGRlZmF1bHQgY29sb3Vycy4gIEZHLUFMVCBh bmQgQkctQUxUIGFyZSBtZWFudA0KLXRvIGFjY29tbW9kYXRlIHRoZSBvcHRpb25zIGZvciBhIDNE IG1vZGVsaW5lIG9yIGEgYG1vb2R5Jw0KLWNvbXBsaWFudCBvbmUuICBCT1JERVIgYXBwbGllcyB0 byBhbGwgcGVybXV0YXRpb25zIG9mIHRoZQ0KLW1vZGVsaW5lLCBleGNlcHQgdGhlIHRocmVlLWRp bWVuc2lvbmFsIGVmZmVjdCwgd2hlcmUgQk9SREVSLTNEIGlzDQotdXNlZCBpbnN0ZWFkLg0KLQ0K LU9wdGlvbmFsIEFMVC1TVFlMRSBhcHBsaWVzIGFuIGFwcHJvcHJpYXRlIHN0eWxlIHRvIHRoZSBt b2RlDQotbGluZSdzIGJveCBwcm9wZXJ0eS4NCi0NCi1PcHRpb25hbCBCT1JERVItV0lEVEggc3Bl Y2lmaWVzIGFuIGludGVnZXIgZm9yIHRoZSB3aWR0aCBvZiB0aGUNCi1yZWN0YW5nbGUgdGhhdCBw cm9kdWNlcyB0aGUgYm94IGVmZmVjdC4NCi0NCi1PcHRpb25hbCBGRy1ESVNUQU5UIHNob3VsZCBi ZSBjbG9zZSB0byB0aGUgbWFpbiBiYWNrZ3JvdW5kDQotdmFsdWVzLiAgSXQgaXMgaW50ZW5kZWQg dG8gYmUgdXNlZCBhcyBhIGRpc3RhbnQtZm9yZWdyb3VuZA0KLXByb3BlcnR5LiINCi0gIChwY2Fz ZSBtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUtbGluZQ0KLSAgICAoJzNkDQotICAgICBgKDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdA0KLSAgICAgICAgICAgICAgICAgICA6 Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRlci13aWR0aCAxKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6Y29sb3IgLGJvcmRlci0zZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6c3R5bGUgLChhbmQgYWx0LXN0eWxlICdyZWxlYXNlZC1idXR0 b24pKSkpDQotICAgICgnbW9vZHkNCi0gICAgIGAoOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdy b3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgLGJvcmRlciA6b3ZlcmxpbmUgLGJvcmRlcg0KLSAgICAg ICAgICAgICAgICAgICA6ZGlzdGFudC1mb3JlZ3JvdW5kICxmZy1kaXN0YW50KSkNCi0gICAgKF8N Ci0gICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3JvdW5kICxiZyA6Ym94ICxib3JkZXIpKSkp DQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZiAoZmctb25seS1iZyBmZy1vbmx5 LWZnIG1haW5iZyBtYWluZmcgYWx0YmcgYWx0ZmcpDQotICAiQ29sb3VyIGNvbWJpbmF0aW9ucyBm b3IgYG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMnLg0KLQ0KLUZHLU9OTFktQkcgc2hvdWxkIGJl IHNpbWlsYXIgb3IgdGhlIHNhbWUgYXMgdGhlIG1haW4gYmFja2dyb3VuZC4NCi1GRy1PTkxZLUZH IHNob3VsZCBiZSBhIHNhdHVyYXRlZCBhY2NlbnQgdmFsdWUgdGhhdCBjYW4gYmUNCi1jb21iaW5l ZCB3aXRoIHRoZSBmb3JtZXIuDQotDQotTUFJTkJHIG11c3QgYmUgb25lIG9mIHRoZSBkZWRpY2F0 ZWQgYmFja2dyb3VuZHMgZm9yIGRpZmZzIHdoaWxlDQotTUFJTkZHIG11c3QgYmUgdGhlIHNhbWUg Zm9yIHRoZSBmb3JlZ3JvdW5kLg0KLQ0KLUFMVEJHIG5lZWRzIHRvIGJlIGEgc2xpZ2h0bHkgYWNj ZW50ZWQgYmFja2dyb3VuZCB0aGF0IGlzIG1lYW50IHRvDQotYmUgY29tYmluZWQgd2l0aCBBTFRG Ry4gIEJvdGggbXVzdCBiZSBsZXNzIGludGVuc2UgdGhhbiBNQUlOQkcNCi1hbmQgTUFJTkZHIHJl c3BlY3RpdmVseS4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmcw0KLSAgICAo J2ZnLW9ubHkgKGxpc3QgOmJhY2tncm91bmQgZmctb25seS1iZyA6Zm9yZWdyb3VuZCBmZy1vbmx5 LWZnKSkNCi0gICAgKCdkZXNhdHVyYXRlZCAobGlzdCA6YmFja2dyb3VuZCBhbHRiZyA6Zm9yZWdy b3VuZCBhbHRmZykpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIG1haW5iZyA6Zm9yZWdyb3Vu ZCBtYWluZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29t cGxldGlvbnMgKG1haW5mZyBzdWJ0bGViZyBpbnRlbnNlYmcgaW50ZW5zZWZnKQ0KLSAgIkNvbWJp bmF0aW9ucyBmb3IgYG1vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMnLg0KLQ0KLU1BSU5G RyBpcyBhbiBhY2NlbnRlZCBmb3JlZ3JvdW5kIHZhbHVlLiAgU1VCVExFQkcgaXMgYW4gYWNjZW50 ZWQNCi1iYWNrZ3JvdW5kIHZhbHVlIHRoYXQgY2FuIGJlIGNvbWJpbmVkIHdpdGggTUFJTkZHLiAg SU5URU5TRUJHIGFuZA0KLUlOVEVOU0VGRyBhcmUgYWNjZW50ZWQgY29sb3VycyB0aGF0IGFyZSBk ZXNpZ25lZCB0byBiZSB1c2VkIGluDQotdGFuZGVtLg0KLQ0KLVRoZXNlIGFyZSBpbnRlbmRlZCBm b3IgSWNvbXBsZXRlLCBJZG8sIGFuZCByZWxhdGVkLiINCi0gIChwY2FzZSBtb2R1cy12aXZlbmRp LXRoZW1lLWNvbXBsZXRpb25zDQotICAgICgnb3BpbmlvbmF0ZWQgKGxpc3QgOmJhY2tncm91bmQg aW50ZW5zZWJnIDpmb3JlZ3JvdW5kIGludGVuc2VmZykpDQotICAgICgnbW9kZXJhdGUgKGxpc3Qg OmJhY2tncm91bmQgc3VidGxlYmcgOmZvcmVncm91bmQgbWFpbmZnKSkNCi0gICAgKF8gKGxpc3Qg OmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLWV4 dHJhLWNvbXBsZXRpb25zIChzdWJ0bGVmYWNlIGludGVuc2VmYWNlIGFsdGZhY2UgJm9wdGlvbmFs IGFsdGZnIGJvbGQpDQotICAiQ29tYmluYXRpb25zIGZvciBgbW9kdXMtdml2ZW5kaS10aGVtZS1j b21wbGV0aW9ucycuDQotDQotU1VCVExFRkFDRSBhbmQgSU5URU5TRUZBQ0UgYXJlIGN1c3RvbSB0 aGVtZSBmYWNlcyB0aGF0IGNvbWJpbmUgYQ0KLWJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgdmFs dWUuICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28NCi1pcyBhIG1hdHRlciBvZiBkZWdy ZWUuDQotDQotQUxURkFDRSBpcyBhIGNvbWJpbmF0aW9uIG9mIGNvbG91cnMgdGhhdCByZXByZXNl bnRzIGEgZGVwYXJ0dXJlDQotZnJvbSB0aGUgVUkncyBkZWZhdWx0IGFlc3RoZXRpY3MuICBPcHRp b25hbCBBTFRGRyBpcyBtZWFudCB0byBiZQ0KLXVzZWQgaW4gdGFuZGVtIHdpdGggaXQuDQotDQot T3B0aW9uYWwgQk9MRCB3aWxsIGFwcGx5IGEgaGVhdmllciB3ZWlnaHQgdG8gdGhlIHRleHQuDQot DQotVGhlc2UgYXJlIGludGVuZGVkIGZvciBIZWxtLCBJdnksIGV0Yy4iDQotICAocGNhc2UgbW9k dXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAoJ29waW5pb25hdGVkIChsaXN0IDpp bmhlcml0IChsaXN0IGFsdGZhY2UgYm9sZCkNCi0gICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAob3IgYWx0ZmcgJ3Vuc3BlY2lmaWVkKSkpDQotICAgICgnbW9kZXJhdGUgKGxpc3Qg OmluaGVyaXQgKGxpc3Qgc3VidGxlZmFjZSBib2xkKSkpDQotICAgIChfIChsaXN0IDppbmhlcml0 IChsaXN0IGludGVuc2VmYWNlIGJvbGQpKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlIChhbW91bnQpDQotICAiU2NhbGUgaGVhZGluZyBieSBBTU9VTlQuDQotDQotQU1P VU5UIGlzIGEgY3VzdG9taXNhdGlvbiBvcHRpb24uIg0KLSAgKHdoZW4gbW9kdXMtdml2ZW5kaS10 aGVtZS1zY2FsZS1oZWFkaW5ncw0KLSAgICAobGlzdCA6aGVpZ2h0IGFtb3VudCkpKQ0KLQ0KLTs7 OyBDb2xvdXIgcGFsZXR0ZQ0KLQ0KLTs7IERlZmluZSBjb2xvdXIgcGFsZXR0ZS4gIEVhY2ggY29s b3VyIG11c3QgaGF2ZSBhID49IDc6MSBjb250cmFzdA0KLTs7IHJhdGlvIHJlbGF0aXZlIHRvIHRo ZSBmb3JlZ3JvdW5kL2JhY2tncm91bmQgY29sb3VyIGl0IGlzIHJlbmRlcmVkDQotOzsgYWdhaW5z dC4NCi07Ow0KLTs7IFRoZSBkZXNpZ24gb2YgdGhlIGNvbG91ciBwYWxldHRlIGFzIGEgbWFjcm8g dGhhdCBtYXBzIGl0IHRvIGZhY2VzIGlzDQotOzsgYWRhcHRlZCBmcm9tIHplbmJlcm4tdGhlbWUu ZWwsIGxhc3Qgc2VlbiBhdCBjb21taXQgN2RkNzk2ODoNCi07OyBodHRwczovL2dpdGh1Yi5jb20v YmJhdHNvdi96ZW5idXJuLWVtYWNzDQotKGV2YWwtYW5kLWNvbXBpbGUNCi0gIChkZWZjb25zdCBt b2R1cy12aXZlbmRpLXRoZW1lLWRlZmF1bHQtY29sb3JzLWFsaXN0DQotICAgICcoOzsgYmFzZSB2 YWx1ZXMNCi0gICAgICAoImJnLW1haW4iIC4gIiMwMDAwMDAiKSAoImZnLW1haW4iIC4gIiNmZmZm ZmYiKQ0KLSAgICAgICgiYmctYWx0IiAuICIjMTgxYTIwIikgKCJmZy1hbHQiIC4gIiNhOGE4YTgi KQ0KLSAgICAgICgiYmctZGltIiAuICIjMTEwYjExIikgKCJmZy1kaW0iIC4gIiNlMGU2ZjAiKQ0K LSAgICAgIDs7IHNwZWNpZmljYWxseSBmb3Igb24vb2ZmIHN0YXRlcyAoZS5nLiBgbW9kZS1saW5l JykNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aCB0aGVtc2VsdmVz DQotICAgICAgKCJiZy1hY3RpdmUiIC4gIiMzMjMyMzIiKSAoImZnLWFjdGl2ZSIgLiAiI2Y0ZjRm NCIpDQotICAgICAgKCJiZy1pbmFjdGl2ZSIgLiAiIzFlMWUxZSIpICgiZmctaW5hY3RpdmUiIC4g IiNiZmMwYzQiKQ0KLSAgICAgIDs7IHNwZWNpYWwgYmFzZSB2YWx1ZXMsIHVzZWQgb25seSBmb3Ig Y2FzZXMgd2hlcmUgdGhlIGFib3ZlDQotICAgICAgOzsgZmctKiBvciBiZy0qIGNhbm5vdCBvciBz aG91bGQgbm90IGJlIHVzZWQgKHRvIGF2b2lkIGNvbmZ1c2lvbikNCi0gICAgICA7OyBtdXN0IGJl IGNvbWJpbmVkIHdpdGg6IHtmZyxiZ30te21haW4sYWx0LGRpbX0NCi0gICAgICAoImJnLXNwZWNp YWwtY29sZCIgLiAiIzIwMzQ0OCIpICgiZmctc3BlY2lhbC1jb2xkIiAuICIjYzZlYWZmIikNCi0g ICAgICAoImJnLXNwZWNpYWwtbWlsZCIgLiAiIzAwMzIyZSIpICgiZmctc3BlY2lhbC1taWxkIiAu ICIjYmZlYmUwIikNCi0gICAgICAoImJnLXNwZWNpYWwtd2FybSIgLiAiIzM4MmYyNyIpICgiZmct c3BlY2lhbC13YXJtIiAuICIjZjhkZWMwIikNCi0gICAgICAoImJnLXNwZWNpYWwtY2FsbSIgLiAi IzM5MmE0OCIpICgiZmctc3BlY2lhbC1jYWxtIiAuICIjZmJkNmY0IikNCi0gICAgICA7OyBzdHls ZXMgZm9yIHRoZSBtYWluIGNvbnN0cnVjdHMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUg Y29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJl ZCIgLiAiI2ZmODA1OSIpICgiZ3JlZW4iIC4gIiM0NGJjNDQiKQ0KLSAgICAgICgieWVsbG93IiAu ICIjZWVjYzAwIikgKCJibHVlIiAuICIjMmZhZmZmIikNCi0gICAgICAoIm1hZ2VudGEiIC4gIiNm ZWFjZDAiKSAoImN5YW4iIC4gIiMwMGQzZDAiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgY29tbW9u LCBidXQgc3RpbGwgc3BlY2lhbGlzZWQgY29uc3RydWN0cw0KLSAgICAgIDs7DQotICAgICAgOzsg bXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQnLCBgYmctZGltJw0KLSAg ICAgICgicmVkLWFsdCIgLiAiI2Y0OTIzYiIpICgiZ3JlZW4tYWx0IiAuICIjODBkMjAwIikNCi0g ICAgICAoInllbGxvdy1hbHQiIC4gIiNjZmRmMzAiKSAoImJsdWUtYWx0IiAuICIjNzlhOGZmIikN Ci0gICAgICAoIm1hZ2VudGEtYWx0IiAuICIjZjc4ZmU3IikgKCJjeWFuLWFsdCIgLiAiIzRhZThm YyIpDQotICAgICAgOzsgc2FtZSBwdXJwb3NlIGFzIGFib3ZlLCBqdXN0IHNsaWdodCBkaWZmZXJl bmNlcw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFp bicsIGBiZy1hbHQnLCBgYmctZGltJw0KLSAgICAgICgicmVkLWFsdC1vdGhlciIgLiAiI2ZmOTk3 NyIpICgiZ3JlZW4tYWx0LW90aGVyIiAuICIjMDBjZDY4IikNCi0gICAgICAoInllbGxvdy1hbHQt b3RoZXIiIC4gIiNmMGNlNDMiKSAoImJsdWUtYWx0LW90aGVyIiAuICIjMDBiY2ZmIikNCi0gICAg ICAoIm1hZ2VudGEtYWx0LW90aGVyIiAuICIjYjZhMGZmIikgKCJjeWFuLWFsdC1vdGhlciIgLiAi IzZhZTRiOSIpDQotICAgICAgOzsgc3R5bGVzIGZvciBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHRl eHQsIGludGVuZGVkIGZvciB1c2Ugd2l0aA0KLSAgICAgIDs7IHRoZSBgbW9kdXMtdml2ZW5kaS10 aGVtZS1mYWludC1zeW50YXgnIG9wdGlvbg0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBj b21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQnLCBgYmctZGltJw0KLSAgICAgICgicmVk LWZhaW50IiAuICIjZmZhMGEwIikgKCJncmVlbi1mYWludCIgLiAiIzg4Y2Y4OCIpDQotICAgICAg KCJ5ZWxsb3ctZmFpbnQiIC4gIiNkMmI1ODAiKSAoImJsdWUtZmFpbnQiIC4gIiM5MmJhZmYiKQ0K LSAgICAgICgibWFnZW50YS1mYWludCIgLiAiI2UwYjJkNiIpICgiY3lhbi1mYWludCIgLiAiI2Ew YmZkZiIpDQotDQotICAgICAgKCJyZWQtYWx0LWZhaW50IiAuICIjZjVhYTgwIikgKCJncmVlbi1h bHQtZmFpbnQiIC4gIiNhOGNmODgiKQ0KLSAgICAgICgieWVsbG93LWFsdC1mYWludCIgLiAiI2Nh YmY3NyIpICgiYmx1ZS1hbHQtZmFpbnQiIC4gIiNhNGIwZmYiKQ0KLSAgICAgICgibWFnZW50YS1h bHQtZmFpbnQiIC4gIiNlZjlmZTQiKSAoImN5YW4tYWx0LWZhaW50IiAuICIjOTBjNGVkIikNCi0N Ci0gICAgICAoInJlZC1hbHQtb3RoZXItZmFpbnQiIC4gIiNmZjlmYmYiKSAoImdyZWVuLWFsdC1v dGhlci1mYWludCIgLiAiIzg4Y2ZhZiIpDQotICAgICAgKCJ5ZWxsb3ctYWx0LW90aGVyLWZhaW50 IiAuICIjZDBiYTk1IikgKCJibHVlLWFsdC1vdGhlci1mYWludCIgLiAiIzhmYzVmZiIpDQotICAg ICAgKCJtYWdlbnRhLWFsdC1vdGhlci1mYWludCIgLiAiI2QwYjRmZiIpICgiY3lhbi1hbHQtb3Ro ZXItZmFpbnQiIC4gIiNhNGQwYmIiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgZWxlbWVudHMgdGhh dCBzaG91bGQgYmUgdmVyeSBzdWJ0bGUsIHlldCBhY2NlbnRlZA0KLSAgICAgIDs7DQotICAgICAg OzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbicsIGBiZy1hbHQnLCBgYmctZGltJyBv ciBhbnkgb2YNCi0gICAgICA7OyB0aGUgIm51YW5jZWQiIGJhY2tncm91bmRzDQotICAgICAgKCJy ZWQtbnVhbmNlZCIgLiAiI2ZmY2NjYyIpICgiZ3JlZW4tbnVhbmNlZCIgLiAiI2I4ZTJiOCIpDQot ICAgICAgKCJ5ZWxsb3ctbnVhbmNlZCIgLiAiI2RmZGZiMCIpICgiYmx1ZS1udWFuY2VkIiAuICIj YmZkOWZmIikNCi0gICAgICAoIm1hZ2VudGEtbnVhbmNlZCIgLiAiI2U1Y2ZlZiIpICgiY3lhbi1u dWFuY2VkIiAuICIjYThlNWU1IikNCi0gICAgICA7OyBzdHlsZXMgZm9yIHNsaWdodGx5IGFjY2Vu dGVkIGJhY2tncm91bmQNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0 aCBhbnkgb2YgdGhlIGFib3ZlIGZvcmVncm91bmQgdmFsdWVzDQotICAgICAgKCJyZWQtbnVhbmNl ZC1iZyIgLiAiIzJjMDYxNCIpICgiZ3JlZW4tbnVhbmNlZC1iZyIgLiAiIzAwMTkwNCIpDQotICAg ICAgKCJ5ZWxsb3ctbnVhbmNlZC1iZyIgLiAiIzIyMTAwMCIpICgiYmx1ZS1udWFuY2VkLWJnIiAu ICIjMGYwZTM5IikNCi0gICAgICAoIm1hZ2VudGEtbnVhbmNlZC1iZyIgLiAiIzIzMDYzMSIpICgi Y3lhbi1udWFuY2VkLWJnIiAuICIjMDQxNTI5IikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGVsZW1l bnRzIHRoYXQgc2hvdWxkIGRyYXcgYXR0ZW50aW9uIHRvIHRoZW1zZWx2ZXMNCi0gICAgICA7Ow0K LSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nDQotICAgICAgKCJyZWQt aW50ZW5zZSIgLiAiI2ZiNjg1OSIpICgiZ3JlZW4taW50ZW5zZSIgLiAiIzAwZmM1MCIpDQotICAg ICAgKCJ5ZWxsb3ctaW50ZW5zZSIgLiAiI2ZmZGQwMCIpICgiYmx1ZS1pbnRlbnNlIiAuICIjMDBh MmZmIikNCi0gICAgICAoIm1hZ2VudGEtaW50ZW5zZSIgLiAiI2ZmOGJkNCIpICgiY3lhbi1pbnRl bnNlIiAuICIjMzBmZmMwIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGJhY2tncm91bmQgZWxlbWVu dHMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZSB5ZXQNCi0gICAgICA7OyBzdWJ0bGUNCi0gICAgICA7 Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGZnLWRpbScNCi0gICAgICAoInJl ZC1zdWJ0bGUtYmciIC4gIiM3NjI0MjIiKSAoImdyZWVuLXN1YnRsZS1iZyIgLiAiIzJmNGEwMCIp DQotICAgICAgKCJ5ZWxsb3ctc3VidGxlLWJnIiAuICIjNjA0MjAwIikgKCJibHVlLXN1YnRsZS1i ZyIgLiAiIzEwMzg3YyIpDQotICAgICAgKCJtYWdlbnRhLXN1YnRsZS1iZyIgLiAiIzQ5MzY2ZSIp ICgiY3lhbi1zdWJ0bGUtYmciIC4gIiMwMDQxNWUiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgYmFj a2dyb3VuZCBlbGVtZW50cyB0aGF0IHNob3VsZCBiZSB2aXNpYmxlIGFuZA0KLSAgICAgIDs7IGRp c3Rpbmd1aXNoYWJsZQ0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRo OiBgZmctbWFpbicNCi0gICAgICAoInJlZC1pbnRlbnNlLWJnIiAuICIjYTQyMDJhIikgKCJncmVl bi1pbnRlbnNlLWJnIiAuICIjMDA2ODAwIikNCi0gICAgICAoInllbGxvdy1pbnRlbnNlLWJnIiAu ICIjODc0OTAwIikgKCJibHVlLWludGVuc2UtYmciIC4gIiMyYTQwYjgiKQ0KLSAgICAgICgibWFn ZW50YS1pbnRlbnNlLWJnIiAuICIjNzA0MmEyIikgKCJjeWFuLWludGVuc2UtYmciIC4gIiMwMDVm ODgiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgcmVmaW5lZCBjb250ZXh0cyB3aGVyZSBib3RoIHRo ZSBmb3JlZ3JvdW5kIGFuZCB0aGUNCi0gICAgICA7OyBiYWNrZ3JvdW5kIG5lZWQgdG8gaGF2ZSB0 aGUgc2FtZS9zaW1pbGFyIGh1ZQ0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5l ZCB3aXRoIHRoZW1zZWx2ZXMgT1IgdGhlIGZvcmVncm91bmRzIGNhbiBiZQ0KLSAgICAgIDs7IGNv bWJpbmVkIHdpdGggYW55IG9mIHRoZSBiYXNlIGJhY2tncm91bmRzDQotICAgICAgKCJyZWQtcmVm aW5lLWJnIiAuICIjNzcwMDJhIikgKCJyZWQtcmVmaW5lLWZnIiAuICIjZmZiOWFiIikNCi0gICAg ICAoImdyZWVuLXJlZmluZS1iZyIgLiAiIzAwNDIyYSIpICgiZ3JlZW4tcmVmaW5lLWZnIiAuICIj OWZmMGNmIikNCi0gICAgICAoInllbGxvdy1yZWZpbmUtYmciIC4gIiM2OTMyMDAiKSAoInllbGxv dy1yZWZpbmUtZmciIC4gIiNlMmQ5ODAiKQ0KLSAgICAgICgiYmx1ZS1yZWZpbmUtYmciIC4gIiMy NDI2NzkiKSAoImJsdWUtcmVmaW5lLWZnIiAuICIjOGVjNmZmIikNCi0gICAgICAoIm1hZ2VudGEt cmVmaW5lLWJnIiAuICIjNzEyMDZhIikgKCJtYWdlbnRhLXJlZmluZS1mZyIgLiAiI2ZmY2FmMCIp DQotICAgICAgKCJjeWFuLXJlZmluZS1iZyIgLiAiIzAwNDA2NSIpICgiY3lhbi1yZWZpbmUtZmci IC4gIiM4YWU0ZjIiKQ0KLSAgICAgIDs7IHN0eWxlcyB0aGF0IGFyZSBtZWFudCBleGNsdXNpdmVs eSBmb3IgdGhlIG1vZGUgbGluZQ0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5l ZCB3aXRoOiBgYmctYWN0aXZlJywgYGJnLWluYWN0aXZlJw0KLSAgICAgICgicmVkLWFjdGl2ZSIg LiAiI2ZmYTdiYSIpICgiZ3JlZW4tYWN0aXZlIiAuICIjNzBkNzNmIikNCi0gICAgICAoInllbGxv dy1hY3RpdmUiIC4gIiNkYmJlNWYiKSAoImJsdWUtYWN0aXZlIiAuICIjMzRjZmZmIikNCi0gICAg ICAoIm1hZ2VudGEtYWN0aXZlIiAuICIjZDViMWZmIikgKCJjeWFuLWFjdGl2ZSIgLiAiIzAwZDhi NCIpDQotICAgICAgOzsgc3R5bGVzIHRoYXQgYXJlIG1lYW50IGV4Y2x1c2l2ZWx5IGZvciB0aGUg ZnJpbmdlcw0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoIGBmZy1t YWluJw0KLSAgICAgICgicmVkLWZyaW5nZS1iZyIgLiAiIzhmMWY0YiIpICgiZ3JlZW4tZnJpbmdl LWJnIiAuICIjMDA2NzAwIikNCi0gICAgICAoInllbGxvdy1mcmluZ2UtYmciIC4gIiM2ZjRmMDAi KSAoImJsdWUtZnJpbmdlLWJnIiAuICIjM2YzM2FmIikNCi0gICAgICAoIm1hZ2VudGEtZnJpbmdl LWJnIiAuICIjNmYyZjg5IikgKCJjeWFuLWZyaW5nZS1iZyIgLiAiIzAwNGY4ZiIpDQotICAgICAg Ozsgc3R5bGVzIHJlc2VydmVkIGZvciBzcGVjaWZpYyBmYWNlcw0KLSAgICAgIDs7DQotICAgICAg OzsgYGJnLWhsLWxpbmUnIGlzIGJldHdlZW4gYGJnLWRpbScgYW5kIGBiZy1hbHQnLCBzbyBpdCBz aG91bGQNCi0gICAgICA7OyB3b3JrIHdpdGggYWxsIGFjY2VudHMgdGhhdCBjb3ZlciB0aG9zZSB0 d28sIHBsdXMgYGJnLW1haW4nDQotICAgICAgOzsNCi0gICAgICA7OyBgYmctaGwtYWx0JyBhbmQg YGJnLWhsLWFsdC1pbnRlbnNlJyBzaG91bGQgb25seSBiZSB1c2VkIHdoZW4gbm8NCi0gICAgICA7 OyBvdGhlciBncmV5c2NhbGUgb3IgZmFpcmx5IG5ldXRyYWwgYmFja2dyb3VuZCBpcyBhdmFpbGFi bGUgdG8NCi0gICAgICA7OyBwcm9wZXJseSBkcmF3IGF0dGVudGlvbiB0byBhIGdpdmVuIGNvbnN0 cnVjdA0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLWhlYWRlcicgaXMgYmV0d2VlbiBgYmctYWN0 aXZlJyBhbmQgYGJnLWluYWN0aXZlJywgc28gaXQNCi0gICAgICA7OyBjYW4gYmUgY29tYmluZWQg d2l0aCBhbnkgb2YgdGhlICJhY3RpdmUiIHZhbHVlcywgcGx1cyB0aGUNCi0gICAgICA7OyAic3Bl Y2lhbCIgYW5kIGJhc2UgZm9yZWdyb3VuZCBjb2xvdXJzDQotICAgICAgOzsNCi0gICAgICA7OyBg YmctcGFyZW4tbWF0Y2gnLCBgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZScsIGBiZy1yZWdpb24nIGFu ZA0KLSAgICAgIDs7IGBiZy10YWItYWN0aXZlJyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggYGZnLW1h aW4nLCB3aGlsZQ0KLSAgICAgIDs7IGBiZy10YWItaW5hY3RpdmUnIHNob3VsZCBiZSBjb21iaW5l ZCB3aXRoIGBmZy1kaW0nDQotICAgICAgOzsNCi0gICAgICA7OyBgYmctdGFiLWJhcicgaXMgb25s eSBpbnRlbmRlZCBmb3IgdGhlIGJhciB0aGF0IGhvbGRzIHRoZSB0YWJzIGFuZA0KLSAgICAgIDs7 IGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggYGZnLW1haW4nDQotICAgICAgOzsNCi0gICAgICA7 OyBgZmctdGFiLWFjdGl2ZScgaXMgbWVhbnQgdG8gYmUgY29tYmluZWQgd2l0aCBgYmctdGFiLWFj dGl2ZScsDQotICAgICAgOzsgdGhvdWdoIG9ubHkgZm9yIHN0eWxpbmcgc3BlY2lhbCBlbGVtZW50 cywgc3VjaCBhcyB1bmRlcmxpbmluZw0KLSAgICAgIDs7IHRoZSBjdXJyZW50IHRhYg0KLSAgICAg IDs7DQotICAgICAgOzsgYGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCcgYW5kIGBmZy1lc2NhcGUt Y2hhci1iYWNrc2xhc2gnIGNhbg0KLSAgICAgIDs7IGJlIGNvbWJpbmVkIGBiZy1tYWluJywgYGJn LWRpbScsIGBiZy1hbHQnDQotICAgICAgOzsNCi0gICAgICA7OyBgZmctbGFuZy1lcnJvcicsIGBm Zy1sYW5nLXdhcm5pbmcnLCBgZmctbGFuZy1ub3RlJyBjYW4gYmUNCi0gICAgICA7OyBjb21iaW5l ZCB3aXRoIGBiZy1tYWluJywgYGJnLWRpbScsIGBiZy1hbHQnDQotICAgICAgOzsNCi0gICAgICA7 OyBgZmctbWFyay1zZWwnLCBgZmctbWFyay1kZWwnLCBgZmctbWFyay1hbHQnIGNhbiBiZSBjb21i aW5lZA0KLSAgICAgIDs7IHdpdGggYGJnLW1haW4nLCBgYmctZGltJywgYGJnLWFsdCcsIGBiZy1o bC1saW5lJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLXVuZm9jdXNlZCcgbXVzdCBiZSBjb21i aW5lZCB3aXRoIGBmZy1tYWluJw0KLSAgICAgIDs7DQotICAgICAgOzsgdGhlIHdpbmRvdyBkaXZp ZGVyIGNvbG91cnMgYXBwbHkgdG8gZmFjZXMgd2l0aCBqdXN0IGFuIGZnIHZhbHVlDQotICAgICAg OzsNCi0gICAgICA7OyBhbGwgcGFpcnMgYXJlIGNvbWJpbmFibGUgd2l0aCB0aGVtc2VsdmVzDQot ICAgICAgKCJiZy1obC1saW5lIiAuICIjMTUxODIzIikNCi0gICAgICAoImJnLWhsLWxpbmUtaW50 ZW5zZSIgLiAiIzJmMmYyZiIpDQotICAgICAgKCJiZy1obC1hbHQiIC4gIiMxODE3MzIiKQ0KLSAg ICAgICgiYmctaGwtYWx0LWludGVuc2UiIC4gIiMyODJlNDYiKQ0KLSAgICAgICgiYmctcGFyZW4t bWF0Y2giIC4gIiM1ZjM2MmYiKQ0KLSAgICAgICgiYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSIgLiAi Izc0MTZiNSIpDQotICAgICAgKCJiZy1yZWdpb24iIC4gIiMzYzNjM2MiKQ0KLQ0KLSAgICAgICgi YmctdGFiLWJhciIgLiAiIzJjMmMyYyIpDQotICAgICAgKCJiZy10YWItYWN0aXZlIiAuICIjMGUw ZTBlIikNCi0gICAgICAoImJnLXRhYi1pbmFjdGl2ZSIgLiAiIzNkM2QzZCIpDQotICAgICAgKCJm Zy10YWItYWN0aXZlIiAuICIjNWFjM2NmIikNCi0NCi0gICAgICAoImZnLWVzY2FwZS1jaGFyLWNv bnN0cnVjdCIgLiAiI2U3YTU5YSIpDQotICAgICAgKCJmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gi IC4gIiNhYmFiMDAiKQ0KLQ0KLSAgICAgICgiZmctbGFuZy1lcnJvciIgLiAiI2VmODY5MCIpDQot ICAgICAgKCJmZy1sYW5nLXdhcm5pbmciIC4gIiNiMGFhMDAiKQ0KLSAgICAgICgiZmctbGFuZy1u b3RlIiAuICIjOWQ5ZGVmIikNCi0NCi0gICAgICAoImZnLXdpbmRvdy1kaXZpZGVyLWlubmVyIiAu ICIjNjQ2NDY0IikNCi0gICAgICAoImZnLXdpbmRvdy1kaXZpZGVyLW91dGVyIiAuICIjOTY5Njk2 IikNCi0NCi0gICAgICAoImZnLXVuZm9jdXNlZCIgLiAiIzkzOTU5YiIpDQotDQotICAgICAgKCJi Zy1oZWFkZXIiIC4gIiMyMTIxMjEiKSAoImZnLWhlYWRlciIgLiAiI2RkZGRkZCIpDQotDQotICAg ICAgKCJiZy13aGl0ZXNwYWNlIiAuICIjMTcwMDE2IikgKCJmZy13aGl0ZXNwYWNlIiAuICIjYTQ5 NTlmIikNCi0NCi0gICAgICAoImJnLWRpZmYtaGVhZGluZyIgLiAiIzMwNDQ2NiIpICgiZmctZGlm Zi1oZWFkaW5nIiAuICIjZGFkZmZlIikNCi0gICAgICAoImJnLWRpZmYtYWRkZWQiIC4gIiMwYTI4 MGEiKSAoImZnLWRpZmYtYWRkZWQiIC4gIiM5NGJhOTQiKQ0KLSAgICAgICgiYmctZGlmZi1jaGFu Z2VkIiAuICIjMmEyMDAwIikgKCJmZy1kaWZmLWNoYW5nZWQiIC4gIiNiMGJhOWYiKQ0KLSAgICAg ICgiYmctZGlmZi1yZW1vdmVkIiAuICIjNDAxNjBmIikgKCJmZy1kaWZmLXJlbW92ZWQiIC4gIiNj NmFkYWEiKQ0KLQ0KLSAgICAgICgiYmctZGlmZi1yZWZpbmUtYWRkZWQiIC4gIiMwMDVhMzYiKSAo ImZnLWRpZmYtcmVmaW5lLWFkZGVkIiAuICIjZTBmNmUwIikNCi0gICAgICAoImJnLWRpZmYtcmVm aW5lLWNoYW5nZWQiIC4gIiM1ODU4MDAiKSAoImZnLWRpZmYtcmVmaW5lLWNoYW5nZWQiIC4gIiNm ZmZmY2MiKQ0KLSAgICAgICgiYmctZGlmZi1yZWZpbmUtcmVtb3ZlZCIgLiAiIzg1MjgyOCIpICgi ZmctZGlmZi1yZWZpbmUtcmVtb3ZlZCIgLiAiI2ZmZDllYiIpDQotDQotICAgICAgKCJiZy1kaWZm LWZvY3VzLWFkZGVkIiAuICIjMjAzZDIwIikgKCJmZy1kaWZmLWZvY3VzLWFkZGVkIiAuICIjYjRk ZGI0IikNCi0gICAgICAoImJnLWRpZmYtZm9jdXMtY2hhbmdlZCIgLiAiIzRhM2ExMCIpICgiZmct ZGlmZi1mb2N1cy1jaGFuZ2VkIiAuICIjZDBkYWFmIikNCi0gICAgICAoImJnLWRpZmYtZm9jdXMt cmVtb3ZlZCIgLiAiIzVlMjUyNiIpICgiZmctZGlmZi1mb2N1cy1yZW1vdmVkIiAuICIjZWViZGJh IikNCi0NCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0wIiAuICIjNTc1NzU3IikgKCJmZy1kaWZm LW5ldXRyYWwtMCIgLiAiI2ZjZmNmYyIpDQotICAgICAgKCJiZy1kaWZmLW5ldXRyYWwtMSIgLiAi IzQ1NDU0NSIpICgiZmctZGlmZi1uZXV0cmFsLTEiIC4gIiNkZGRkZGQiKQ0KLSAgICAgICgiYmct ZGlmZi1uZXV0cmFsLTIiIC4gIiMzMTMxMzEiKSAoImZnLWRpZmYtbmV1dHJhbC0yIiAuICIjYmZi ZmJmIikNCi0NCi0gICAgICAoImJnLW1hcmstc2VsIiAuICIjMDAyZjJmIikgKCJmZy1tYXJrLXNl bCIgLiAiIzYwY2ZhMiIpDQotICAgICAgKCJiZy1tYXJrLWRlbCIgLiAiIzVhMDAwMCIpICgiZmct bWFyay1kZWwiIC4gIiNmZjk5YWEiKQ0KLSAgICAgICgiYmctbWFyay1hbHQiIC4gIiMzZjIyMTAi KSAoImZnLW1hcmstYWx0IiAuICIjZjBhYTIwIikpDQotICAgICJUaGUgZW50aXJlIHBhbGV0dGUg b2YgYG1vZHVzLXZpdmVuZGktdGhlbWUnLg0KLUVhY2ggZWxlbWVudCBoYXMgdGhlIGZvcm0gKE5B TUUgLiBIRVgpLiIpDQotDQotICAoZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtb3ZlcnJp ZGUtY29sb3JzLWFsaXN0ICcoKQ0KLSAgICAiQXNzb2NpYXRpb24gbGlzdCBvZiBwYWxldHRlIGNv bG91ciBvdmVycmlkZXMuDQotVmFsdWVzIGNhbiBiZSBtYXBwZWQgdG8gdmFyaWFibGVzLCB1c2lu ZyB0aGUgc2FtZSBzeW50YXggYXMgdGhlDQotb25lIHByZXNlbnQgaW4gYG1vZHVzLXZpdmVuZGkt dGhlbWUtZGVmYXVsdC1jb2xvcnMtYWxpc3QnLg0KLQ0KLVRoaXMgaXMgb25seSBtZWFudCBmb3Ig ZG8taXQteW91cnNlbGYgdXNhZ2UsIHdpdGggdGhlDQotdW5kZXJzdGFuZGluZyB0aGF0IHRoZSB1 c2VyIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgcmVzdWx0aW5nDQotY29udHJhc3QgcmF0aW8gYmV0 d2VlbiBuZXcgYW5kIGV4aXN0aW5nIGNvbG91cnMuIg0KLSAgICA6dHlwZSAnKGFsaXN0DQotICAg ICAgICAgICAgOmtleS10eXBlIChzdHJpbmcgOnRhZyAiTmFtZSIpDQotICAgICAgICAgICAgOnZh bHVlLXR5cGUgKHN0cmluZyA6dGFnICIgSGV4IikpKQ0KLQ0KLSAgKGRlZm1hY3JvIG1vZHVzLXZp dmVuZGktdGhlbWUtd2l0aC1jb2xvci12YXJpYWJsZXMgKCZyZXN0IGJvZHkpDQotICAgICJgbGV0 JyBiaW5kIGFsbCBjb2xvdXJzIGFyb3VuZCBCT0RZLg0KLUFsc28gYmluZCBgY2xhc3MnIHRvICgo Y2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg5KSkuIg0KLSAgICAoZGVjbGFyZSAoaW5kZW50IDAp KQ0KLSAgICBgKGxldCAoKGNsYXNzICcoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OSkpKQ0K LSAgICAgICAgICAgLEAobWFwY2FyIChsYW1iZGEgKGNvbnMpDQotICAgICAgICAgICAgICAgICAg ICAgICAobGlzdCAoaW50ZXJuIChjYXIgY29ucykpIChjZHIgY29ucykpKQ0KLSAgICAgICAgICAg ICAgICAgICAgIChhcHBlbmQgbW9kdXMtdml2ZW5kaS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlz dA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1vdmVy cmlkZS1jb2xvcnMtYWxpc3QpKQ0KLSAgICAgICAgICAgOzsgc2ltcGxlIGNvbmRpdGlvbmFsIHN0 eWxlcyB0aGF0IGV2YWx1YXRlIHVzZXItZmFjaW5nDQotICAgICAgICAgICA7OyBjdXN0b21pc2F0 aW9uIG9wdGlvbnMNCi0gICAgICAgICAgIChtb2R1cy10aGVtZS1zbGFudA0KLSAgICAgICAgICAg IChpZiBtb2R1cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyAnaXRhbGljICdub3Jt YWwpKQ0KLSAgICAgICAgICAgKG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoDQotICAgICAgICAg ICAgKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgJ3Zhcmlh YmxlLXBpdGNoICdkZWZhdWx0KSkpDQotICAgICAgICxAYm9keSkpKQ0KLQ0KLQwNCi0NCi07Ozsg RmFjZXMNCisocmVxdWlyZS10aGVtZSAnbW9kdXMtdGhlbWVzKQ0KIA0KLShtb2R1cy12aXZlbmRp LXRoZW1lLXdpdGgtY29sb3ItdmFyaWFibGVzDQotICAoY3VzdG9tLXRoZW1lLXNldC1mYWNlcw0K LSAgICdtb2R1cy12aXZlbmRpDQotOzs7OyBjdXN0b20gZmFjZXMNCi0gICA7OyB0aGVzZSBiZXNw b2tlIGZhY2VzIGFyZSBpbmhlcml0ZWQgYnkgb3RoZXIgY29uc3RydWN0cyBiZWxvdw0KLTs7Ozs7 IHN1YnRsZSBjb2xvdXJlZCBiYWNrZ3JvdW5kcw0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLXJl ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQg LGdyZWVuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVt ZS1zdWJ0bGUteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQot ICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFn ZW50YS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUt c3VidGxlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07 Ozs7OyBpbnRlbnNlIGNvbG91cmVkIGJhY2tncm91bmRzDQotICAgYChtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ct aW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaW50 ZW5zZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5 YW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUt aW50ZW5zZS1uZXV0cmFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi07Ozs7OyByZWZpbmVkIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQg Y29tYmluYXRpb25zDQotICAgOzsgZ2VuZXJhbCBwdXJwb3NlIHN0eWxlcyB0aGF0IHVzZSBhbiBh Y2NlbnRlZCBmb3JlZ3JvdW5kIGFnYWluc3QgYW4NCi0gICA7OyBhY2NlbnRlZCBiYWNrZ3JvdW5k DQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQt cmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVt ZS1yZWZpbmUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXJlZmluZS1iZyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUteWVs bG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZn KSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsbWFnZW50YS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQot ICAgYChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1y ZWZpbmUtYmcgOmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkpDQotOzs7OzsgImFjdGl2ZSIg Y29tYmluYXRpb25zLCBtb3N0bHkgZm9yIHVzZSBvbiB0aGUgbW9kZSBsaW5lDQotICAgYChtb2R1 cy10aGVtZS1hY3RpdmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtYWN0aXZlIDpmb3Jl Z3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbiAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkN Ci0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHll bGxvdy1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUt YWN0aXZlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtYWN0aXZlIDpmb3JlZ3JvdW5k ICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQot ICAgYChtb2R1cy10aGVtZS1hY3RpdmUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1h Y3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLTs7Ozs7IG51YW5jZWQgYmFja2dyb3Vu ZHMNCi0gICA7OyB1c2VmdWwgZm9yIGFkZGluZyBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQg aXMgc3VpdGFibGUgZm9yIGFsbA0KLSAgIDs7IG1haW4gZm9yZWdyb3VuZCBjb2xvdXJzIChpbnRl bmRlZCBmb3IgdXNlIGluIE9yZyBzb3VyY2UgYmxvY2tzKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVh bmNlZC1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1udWFuY2VkLWJnDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNp b24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4g KCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3 KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdyAoKCxj bGFzcyA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykg Jyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVu ZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsbWFnZW50YS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRl bmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkp KQ0KLTs7Ozs7IGZyaW5nZS1zcGVjaWZpYyBjb21iaW5hdGlvbnMNCi0gICBgKG1vZHVzLXRoZW1l LWZyaW5nZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1mcmluZ2UtYmcgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsZ3JlZW4tZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ct ZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1mcmlu Z2UtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1mcmluZ2UtYmcgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxtYWdlbnRhLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAobW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tZnJp bmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7Ozsgc3BlY2lhbCBiYXNlIHZhbHVl cw0KLSAgIDs7IHRoZXNlIGFyZSBjbG9zZXIgdG8gdGhlIGdyYXlzY2FsZSB0aGFuIHRoZSBhY2Nl bnRzIGRlZmluZWQgYWJvdmUNCi0gICA7OyBhbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRo ZSBuZXh0IGNsb3Nlc3QgYWx0ZXJuYXRpdmUgd291bGQgYmUNCi0gICA7OyBhIGdyZXlzY2FsZSB2 YWx1ZSB0aGFuIGFuIGFjY2VudGVkIG9uZQ0KLSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xk ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1zcGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1zcGVjaWFsLXdhcm0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtc3BlY2lhbC1jYWxtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNh bG0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IGRpZmYtc3BlY2lmaWMg Y29tYmluYXRpb25zDQotICAgOzsgaW50ZW5kZWQgZm9yIGBkaWZmLW1vZGUnIG9yIGVxdWl2YWxl bnQNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctbWFpbiBncmVlbg0KLSAg ICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQot ICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGZnLWRpZmYtYWRkZWQpKSkpDQotICAg YChtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctbWFpbiB5ZWxsb3cNCi0gICAgICAg ICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQNCi0g ICAgICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIGZnLWRpZmYtY2hhbmdlZCkpKSkNCi0g ICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1tYWluIHJlZA0KLSAgICAgICAg ICAgICAgICAgYmctZGlmZi1mb2N1cy1yZW1vdmVkIGZnLWRpZmYtZm9jdXMtcmVtb3ZlZA0KLSAg ICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVkKSkpKQ0KLSAgIGAo bW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZm LWFkZGVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1hZGRlZCBmZy1kaWZmLXJl ZmluZS1hZGRlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZm LWZvY3VzLWFkZGVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZA0K LSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAg ICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICBi Zy1kaWZmLXJlZmluZS1jaGFuZ2VkIGZnLWRpZmYtcmVmaW5lLWNoYW5nZWQNCi0gICAgICAgICAg ICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQpKSkpDQot ICAgYChtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkDQotICAgICAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3Zl ZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5lLXJlbW92 ZWQgZmctZGlmZi1yZWZpbmUtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1 cy1yZW1vdmVkIGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRp ZmYtZm9jdXMtYWRkZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlm Zg0KLSAgICAgICAgICAgICAgICAgYmctZGltIGdyZWVuDQotICAgICAgICAgICAgICAgICBiZy1k aWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYtZm9jdXMtYWRkZWQNCi0gICAgICAgICAgICAgICAgIGJn LWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9j dXMtY2hhbmdlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQot ICAgICAgICAgICAgICAgICBiZy1kaW0geWVsbG93DQotICAgICAgICAgICAgICAgICBiZy1kaWZm LWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICBi Zy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlm Zi1mb2N1cy1yZW1vdmVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRp ZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpbSByZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRp ZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAg IGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1k aWZmLWhlYWRpbmcNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0K LSAgICAgICAgICAgICAgICAgYmctYWx0IGJsdWUtYWx0DQotICAgICAgICAgICAgICAgICBiZy1k aWZmLWhlYWRpbmcgZmctZGlmZi1oZWFkaW5nDQotICAgICAgICAgICAgICAgICBibHVlLW51YW5j ZWQtYmcgYmx1ZSkpKSkNCi07Ozs7OyBtYXJrIGluZGljYXRvcnMNCi0gICA7OyBjb2xvdXIgY29t YmluYXRpb25zIGludGVuZGVkIGZvciBEaXJlZCwgSWJ1ZmZlciwgb3IgZXF1aXZhbGVudA0KLSAg IGAobW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1tYXJrLWFsdCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1tYXJrLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFy ay1hbHQpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW1hcmstZGVsICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJnLW1hcmstZGVsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWRlbCkpKQ0K LSAgIGAobW9kdXMtdGhlbWUtbWFyay1zZWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dy b3VuZCAsYmctbWFyay1zZWwgOmZvcmVncm91bmQgLGZnLW1hcmstc2VsKSkpDQotICAgYChtb2R1 cy10aGVtZS1tYXJrLXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KLTs7Ozs7IGhlYWRpbmcgbGV2ZWxzDQotICAgOzsgc3R5bGVzIGZvciByZWd1 bGFyIGhlYWRpbmdzIHVzZWQgaW4gT3JnLCBNYXJrZG93biwgSW5mbywgZXRjLg0KLSAgIGAobW9k dXMtdGhlbWUtaGVhZGluZy0xDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDEgZmctbWFpbiBtYWdlbnRhLWFsdC1vdGhlciBt YWdlbnRhLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KLSAgICAgICAgICAgICAgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYCht b2R1cy10aGVtZS1oZWFkaW5nLTINCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgMiBmZy1zcGVjaWFsLXdhcm0gbWFnZW50YS1h bHQgcmVkLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KLSAgICAgICAgICAgICAgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTMpKSkpDQotICAgYCht b2R1cy10aGVtZS1oZWFkaW5nLTMNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgMyBmZy1zcGVjaWFsLWNvbGQgYmx1ZSBibHVl LW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KLSAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTIpKSkpDQotICAgYChtb2R1cy10 aGVtZS1oZWFkaW5nLTQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtaGVh ZGluZw0KLSAgICAgICAgICAgICAgICAgNCBmZy1zcGVjaWFsLW1pbGQgY3lhbiBjeWFuLW51YW5j ZWQtYmcgYmctcmVnaW9uKQ0KLSAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z Y2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTEpKSkpDQotICAgYChtb2R1cy10aGVtZS1o ZWFkaW5nLTUNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZw0K LSAgICAgICAgICAgICAgICAgNSBmZy1zcGVjaWFsLWNhbG0gZ3JlZW4tYWx0LW90aGVyIGdyZWVu LW51YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy02DQot ICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAg ICAgICAgIDYgeWVsbG93LW51YW5jZWQgeWVsbG93LWFsdC1vdGhlciB5ZWxsb3ctbnVhbmNlZC1i ZyBiZy1yZWdpb24pKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTcNCi0gICAgICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgNyBy ZWQtbnVhbmNlZCByZWQtYWx0IHJlZC1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCi0gICBgKG1v ZHVzLXRoZW1lLWhlYWRpbmctOA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA4IGZnLWRpbSBtYWdlbnRhIGJnLWFsdCBiZy1y ZWdpb24pKSkpDQotOzs7Ozsgb3RoZXIgY3VzdG9tIGZhY2VzDQotICAgYChtb2R1cy10aGVtZS1o bC1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICwoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRl bnNlLWhsLWxpbmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1obC1saW5lLWludGVuc2UgYmctaGwtbGluZSkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0 ZW5kIHQpKSkpKQ0KLTs7Ozsgc3RhbmRhcmQgZmFjZXMNCi07Ozs7OyBhYnNvbHV0ZSBlc3NlbnRp YWxzDQotICAgYChkZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChjdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGZyaW5nZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5n ZSBiZy1pbmFjdGl2ZSBiZy1hY3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKHZlcnRpY2FsLWJvcmRlciAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCi07Ozs7OyBiYXNpYyBhbmQvb3IgdW5ncm91 cGVkIHN0eWxlcw0KLSAgIDs7IE1vZGlmeSB0aGUgYGJvbGQnIGZhY2UgdG8gY2hhbmdlIHRoZSB3 ZWlnaHQgb2YgYWxsICJib2xkIiBlbGVtZW50cw0KLSAgIDs7IGRlZmluZWQgYnkgdGhlIHRoZW1l LiAgWW91IG5lZWQgYSB0eXBlZmFjZSB0aGF0IHN1cHBvcnRzIGENCi0gICA7OyBtdWx0aXR1ZGUg b2YgaGVhdmllciB3ZWlnaHRzIHRoYW4gdGhlIHJlZ3VsYXIgb25lIGFuZCB0aGVuIHlvdQ0KLSAg IDs7IG11c3Qgc3BlY2lmeSB0aGUgZXhhY3QgbmFtZSBvZiB0aGUgb25lIHlvdSB3aXNoIHRvIGFw cGx5LiAgRXhhbXBsZQ0KLSAgIDs7IGZvciB5b3VyIGluaXQuZWw6DQotICAgOzsNCi0gICA7OyAo c2V0LWZhY2UtYXR0cmlidXRlICdib2xkIG5pbCA6d2VpZ2h0ICdzZW1pYm9sZCkNCi0gICBgKGJv bGQgKCgsY2xhc3MgOndlaWdodCBib2xkKSkpDQotICAgYChjb21pbnQtaGlnaGxpZ2h0LWlucHV0 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGNvbWludC1oaWdobGlnaHQtcHJvbXB0 ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXByb21w dA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUt YWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLXJlZmlu ZS1iZyBmZy1tYWluKSkpKQ0KLSAgIGAoZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkKSkpDQotICAgYChlc2NhcGUtZ2x5cGggKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KLSAgIGAoZmlsZS1uYW1lLXNoYWRvdyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChoZWFkZXItbGluZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0g ICBgKGhlYWRlci1saW5lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1h Y3RpdmUtYmx1ZSkpKQ0KLSAgIGAoaGVscC1hcmd1bWVudC1uYW1lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGhvbW9nbHlwaCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChp YnVmZmVyLWxvY2tlZC1idWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCi0gICBgKGl0YWxpYyAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChub2Jy ZWFrLWh5cGhlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0 KSkpDQotICAgYChub2JyZWFrLXNwYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUt Y2hhci1jb25zdHJ1Y3QgOnVuZGVybGluZSB0KSkpDQotICAgYChtaW5pYnVmZmVyLXByb21wdCAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXByb21wdA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN5YW4tbnVhbmNlZC1iZyBjeWFuDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBmZy1tYWluKSkpKQ0KLSAgIGAobW0tY29tbWFu ZC1vdXRwdXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG1t LXV1LWV4dHJhY3QgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1taWxkKSkpDQotICAgYChuZXh0LWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKHJlY3RhbmdsZS1wcmV2aWV3ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAocmVnaW9uICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1yZWdpb24gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNl Y29uZGFyeS1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1j b2xkKSkpDQotICAgYChzaGFkb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoc3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAodHJhaWxpbmctd2hpdGVzcGFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVu c2UtYmcpKSkNCi0gICBgKHdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotOzs7OzsgYnV0dG9ucywgbGlua3MsIHdpZGdldHMNCi0gICBgKGJ1dHRv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAg ICAgICAsQCh1bmxlc3MgbW9kdXMtdml2ZW5kaS10aGVtZS1uby1saW5rLXVuZGVybGluZQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAobGlzdCA6dW5kZXJsaW5lIHQpKSkpKQ0KLSAgIGAobGlu ayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKGxpbmstdmlzaXRlZCAoKCxjbGFz cyA6aW5oZXJpdCBsaW5rIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo dG9vbHRpcCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYCh3aWRnZXQtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv bikpKQ0KLSAgIGAod2lkZ2V0LWJ1dHRvbi1wcmVzc2VkICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv biA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAod2lkZ2V0LWRvY3VtZW50YXRpb24gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYCh3aWRnZXQtZmllbGQgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYCh3aWRnZXQt aW5hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KLSAgIGAod2lkZ2V0LXNpbmdsZS1saW5lLWZpZWxkICgoLGNsYXNzIDpp bmhlcml0IHdpZGdldC1maWVsZCkpKQ0KLTs7Ozs7IGFnDQotICAgYChhZy1oaXQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChhZy1tYXRjaC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IGFs ZXJ0DQotICAgYChhbGVydC1oaWdoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoYWxlcnQtbG93LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoYWxlcnQtbW9kZXJhdGUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGFsZXJ0LXRyaXZp YWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChh bGVydC11cmdlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt aW50ZW5zZSkpKQ0KLTs7Ozs7IGFsbC10aGUtaWNvbnMNCi0gICBgKGFsbC10aGUtaWNvbnMtYmx1 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1ibHVl LWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNv bnMtY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYWxsLXRoZS1pY29u cy1jeWFuLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGFsbC10 aGUtaWNvbnMtZGJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQot ICAgYChhbGwtdGhlLWljb25zLWRjeWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kZ3JlZW4gKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kaXJlZC1kaXItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kbWFyb29u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRo ZS1pY29ucy1kb3JhbmdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQot ICAgYChhbGwtdGhlLWljb25zLWRwaW5rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChhbGwtdGhlLWljb25zLWRwdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLWRyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZHllbGxvdyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChhbGwtdGhlLWljb25zLWdyZWVuICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sYmx1ZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMt bGN5YW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkpDQotICAgYChhbGwt dGhlLWljb25zLWxncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkp DQotICAgYChhbGwtdGhlLWljb25zLWxtYXJvb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxvcmFuZ2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHBpbmsgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWlj b25zLWxwdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5lLWZnKSkpDQot ICAgYChhbGwtdGhlLWljb25zLWxyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUt ZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChhbGwtdGhlLWljb25zLWx5ZWxsb3cgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbWFy b29uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChhbGwtdGhlLWljb25z LW9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1p Y29ucy1waW5rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChhbGwtdGhl LWljb25zLXB1cnBsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KGFsbC10aGUtaWNvbnMtcHVycGxlLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtcmVkLWFsdCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1zaWx2ZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy15ZWxsb3cgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGFubm90YXRlDQotICAgYChhbm5v dGF0ZS1hbm5vdGF0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVl KSkpDQotICAgYChhbm5vdGF0ZS1hbm5vdGF0aW9uLXNlY29uZGFyeSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGFubm90YXRlLWhpZ2hsaWdodCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDp1bmRlcmxpbmUgLGJsdWUtaW50 ZW5zZSkpKQ0KLSAgIGAoYW5ub3RhdGUtaGlnaGxpZ2h0LXNlY29uZGFyeSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZ3JlZW4tbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxncmVlbi1pbnRlbnNlKSkpDQot Ozs7OzsgYW56dQ0KLSAgIGAoYW56dS1tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChhbnp1LW1hdGNoLTIgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChhbnp1LW1hdGNoLTMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KLSAgIGAoYW56dS1tb2RlLWxp bmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQot ICAgYChhbnp1LW1vZGUtbGluZS1uby1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChhbnp1LXJlcGxhY2UtaGlnaGxpZ2h0ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVuZGVybGluZSB0KSkpDQot ICAgYChhbnp1LXJlcGxhY2UtdG8gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVu c2UtZ3JlZW4gYm9sZCkpKSkNCi07Ozs7OyBhcHJvcG9zDQotICAgYChhcHJvcG9zLWZ1bmN0aW9u LWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChhcHJvcG9zLWtleWJpbmRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYXByb3Bvcy1taXNjLWJ1dHRvbiAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChh cHJvcG9zLXByb3BlcnR5ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWln aHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoYXByb3Bvcy1zeW1ib2wgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyKSkpDQotICAgYChhcHJvcG9zLXVzZXItb3B0aW9uLWJ1dHRvbiAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAo YXByb3Bvcy12YXJpYWJsZS1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotOzs7OzsgYXB0LXNvdXJjZXMtbGlzdA0KLSAgIGAoYXB0LXNvdXJjZXMt bGlzdC1jb21wb25lbnRzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChhcHQt c291cmNlcy1saXN0LW9wdGlvbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAoYXB0LXNvdXJjZXMtbGlzdC1zdWl0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkN Ci0gICBgKGFwdC1zb3VyY2VzLWxpc3QtdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAoYXB0LXNvdXJjZXMtbGlzdC11cmkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUpKSkNCi07Ozs7OyBhcnRib2xsb2Nrcy1tb2RlDQotICAgYChhcnRib2xsb2Nrcy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy1ub3Rl KSkpDQotICAgYChhcnRib2xsb2Nrcy1sZXhpY2FsLWlsbHVzaW9ucy1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZC1hbHQgOnVuZGVybGluZSB0KSkpDQot ICAgYChhcnRib2xsb2Nrcy1wYXNzaXZlLXZvaWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctd2FybmluZykpKQ0KLSAgIGAoYXJ0 Ym9sbG9ja3Mtd2Vhc2VsLXdvcmRzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFu Y2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyBhdWN0ZXggYW5kIFRleA0K LSAgIGAoZm9udC1sYXRleC1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChmb250LWxhdGV4LWRvY3RleC1kb2N1bWVu dGF0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb250LWxhdGV4LWRvY3RleC1wcmVwcm9jZXNz b3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9y ZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm9udC1sYXRleC1pdGFsaWMtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtIDpzbGFudCBpdGFsaWMpKSkNCi0g ICBgKGZvbnQtbGF0ZXgtbWF0aC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1v dGhlcikpKQ0KLSAgIGAoZm9udC1sYXRleC1zY3JpcHQtY2hhci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTAt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTEtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpm b3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0y LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNo KSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25p bmctMy1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1w aXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0 aW9uaW5nLTQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFi bGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgt c2VjdGlvbmluZy01LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxl LXBpdGNoIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2Vk YXRlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChmb250LWxhdGV4LXNsaWRlLXRp dGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBp dGNoKSA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZl bmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChmb250LWxhdGV4LXN0cmluZy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdWJzY3JpcHQt ZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOTUpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc3VwZXJzY3Jp cHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOTUpKSkNCi0gICBgKGZvbnQtbGF0ZXgtdmVyYmF0 aW0tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLW1pbGQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtd2FybmluZy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYCh0ZXgtbWF0Y2ggKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYCh0ZXgtdmVyYmF0aW0gKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAg YCh0ZXhpbmZvLWhlYWRpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KFRlWC1lcnJvci1kZXNjcmlwdGlvbi1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCi0gICBgKFRlWC1lcnJvci1kZXNjcmlwdGlvbi1oZWxwICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24tdGV4LXNh aWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKFRlWC1lcnJvci1kZXNjcmlw dGlvbi13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KLTs7Ozs7IGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMNCi0gICBgKGF1dG8tZGltLW90aGVyLWJ1 ZmZlcnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotOzs7OzsgYXZ5DQot ICAgYChhdnktYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZv cmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoYXZ5LWdvdG8tY2hhci10aW1lci1mYWNlICgoLGNs YXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdyBib2xkKSkpKQ0KLSAgIGAo YXZ5LWxlYWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdl bnRhIGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNlLTAgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLWludGVuc2UtYmx1ZSBib2xkKSkpKQ0KLSAgIGAoYXZ5LWxlYWQtZmFjZS0xICgo LGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAo YXZ5LWxlYWQtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdy ZWVuIGJvbGQpKSkpDQotOzs7OzsgYXcgKGFjZS13aW5kb3cpDQotICAgYChhdy1iYWNrZ3JvdW5k LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQotICAgYChhdy1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlLWludGVuc2UpKSkNCi0gICBgKGF3LWxlYWRpbmctY2hhci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmhlaWdodCAxLjUgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJl ZC1pbnRlbnNlKSkpDQotICAgYChhdy1taW5pYnVmZmVyLWxlYWRpbmctY2hhci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoYXctbW9kZS1saW5lLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLTs7Ozs7IGF3ZXNvbWUtdHJheQ0KLSAgIGAo YXdlc29tZS10cmF5LW1vZHVsZS1hd2Vzb21lLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1 bGUtYmF0dGVyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWJ1ZmZlci1uYW1lLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1jaXJjZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWRh dGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0g ICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtZXZpbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1naXQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChhd2Vzb21lLXRyYXktbW9kdWxlLWxhc3QtY29tbWFuZC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChhd2Vzb21lLXRyYXkt bW9kdWxlLWxvY2F0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLW1vZGUtbmFtZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChhd2Vzb21lLXRy YXktbW9kdWxlLXBhcmVudC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLXJ2bS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7Ozsg YmluZGVyDQotICAgYChiaW5kZXItc2lkZWJhci1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGJpbmRlci1zaWRlYmFyLW1hcmtlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAoYmluZGVyLXNp ZGViYXItbWlzc2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkp DQotICAgYChiaW5kZXItc2lkZWJhci10YWdzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotOzs7OzsgYm0NCi0gICBgKGJtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1h am9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKGJtLWZyaW5nZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGJtLWZy aW5nZS1wZXJzaXN0ZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdl LWJsdWUpKSkNCi0gICBgKGJtLXBlcnNpc3RlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi07Ozs7 OyBib25nbw0KLSAgIGAoYm9uZ28tYWxidW0tdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWN0aXZlKSkpDQotICAgYChib25nby1hcnRpc3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWN0aXZlKSkpDQotICAgYChib25nby1jdXJyZW50bHktcGxheWluZy10cmFjayAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChib25nby1lbGFwc2VkLXRyYWNrLXBhcnQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgOnVuZGVybGluZSB0KSkp DQotICAgYChib25nby1maWxsZWQtc2Vlay1iYXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUt c3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChib25nby1tYXJrZWQtdHJh Y2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1hcmstYWx0KSkpDQotICAgYChib25nby1tYXJr ZWQtdHJhY2stbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFyay1hbHQpKSkNCi0gICBg KGJvbmdvLXBsYXllZC10cmFjayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkIDpz dHJpa2UtdGhyb3VnaCB0KSkpDQotICAgYChib25nby10cmFjay1sZW5ndGggKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChib25nby10cmFjay10aXRsZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGJvbmdvLXVuZmlsbGVkLXNl ZWstYmFyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi07Ozs7OyBib29uDQotICAgYChib29uLW1vZGVsaW5lLWNtZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoYm9vbi1tb2RlbGlu ZS1pbnMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KLSAgIGAo Ym9vbi1tb2RlbGluZS1vZmYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXll bGxvdykpKQ0KLSAgIGAoYm9vbi1tb2RlbGluZS1zcGMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLWdyZWVuKSkpDQotOzs7OzsgYnJlYWtwb2ludCAoYnVpbHQtaW4gZ2RiLW1p LmVsKQ0KLSAgIGAoYnJlYWtwb2ludC1kaXNhYmxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChicmVha3BvaW50LWVuYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkKSkpDQotOzs7OzsgYnVmZmVyLWV4cG9zZQ0KLSAgIGAoYnVmZmVyLWV4 cG9zZS1hY2UtY2hhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKGJ1ZmZlci1leHBvc2UtbW9kZS1saW5lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChidWZmZXItZXhwb3NlLXNlbGVjdGVk LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7 OzsgY2FsZW5kYXIgYW5kIGRpYXJ5DQotICAgYChjYWxlbmRhci1tb250aC1oZWFkZXIgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY2FsZW5kYXIt dG9kYXkgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChjYWxlbmRhci13ZWVrZGF5LWhl YWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChjYWxlbmRhci13ZWVr ZW5kLWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaWFyeSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGRpYXJ5LWFubml2 ZXJzYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChkaWFy eS10aW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaG9saWRheSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBjYWxmdw0KLSAgIGAo Y2Z3OmZhY2UtYW5ub3RhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJt KSkpDQotICAgYChjZnc6ZmFjZS1kYXktdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGNmdzpmYWNlLWRlZmF1bHQtY29udGVudCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0KSkpDQotICAgYChjZnc6ZmFjZS1kZWZhdWx0LWRheSAoKCxjbGFzcyA6aW5o ZXJpdCAoY2Z3OmZhY2UtZGF5LXRpdGxlIGJvbGQpKSkpDQotICAgYChjZnc6ZmFjZS1kaXNhYmxl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKGNmdzpmYWNlLWdy aWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotICAg YChjZnc6ZmFjZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoY2Z3OmZhY2UtaG9saWRheSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXBlcmlvZHMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS1zYXR1cmRheSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2Z3 OmZhY2Utc2VsZWN0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkp KQ0KLSAgIGAoY2Z3OmZhY2Utc3VuZGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS10aXRsZSAoKCxjbGFzcyA6aW5o ZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVt ZS1zY2FsZS01KSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9kYXkgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWluYWN0aXZlKSkpDQotICAgYChjZnc6ZmFjZS10b2RheS10aXRsZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChjZnc6ZmFjZS10b29sYmFyICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoY2Z3OmZhY2Ut dG9vbGJhci1idXR0b24tb2ZmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KGNmdzpmYWNlLXRvb2xiYXItYnV0dG9uLW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tn cm91bmQgLGJsdWUtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgY2VudGF1ci10YWJzDQot ICAgYChjZW50YXVyLXRhYnMtYWN0aXZlLWJhci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxm Zy10YWItYWN0aXZlKSkpDQotICAgYChjZW50YXVyLXRhYnMtY2xvc2UtbW91c2UtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNl bnRhdXItdGFicy1zZWxlY3RlZCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLXVuc2VsZWN0 ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQpKSkNCi0gICBgKGNl bnRhdXItdGFicy1tb2RpZmllZC1tYXJrZXItc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2Vu dGF1ci10YWJzLXNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRhYnMtbW9kaWZpZWQtbWFya2Vy LXVuc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQpKSkN Ci0gICBgKGNlbnRhdXItdGFicy1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChjZW50YXVyLXRhYnMtc2VsZWN0ZWQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAoY2VudGF1ci10YWJzLXNlbGVjdGVkLW1vZGlmaWVkICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFu dCBpdGFsaWMpKSkNCi0gICBgKGNlbnRhdXItdGFicy11bnNlbGVjdGVkICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoY2Vu dGF1ci10YWJzLXVuc2VsZWN0ZWQtbW9kaWZpZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXRh Yi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltIDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyBj aGFuZ2UtbG9nIGFuZCBsb2ctdmlldyAoYHZjLXByaW50LWxvZycgYW5kIGB2Yy1wcmludC1yb290 LWxvZycpDQotICAgYChjaGFuZ2UtbG9nLWFja25vd2xlZGdtZW50ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKGNoYW5nZS1sb2ctY29uZGl0aW9uYWxzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1kYXRlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2hhbmdlLWxvZy1lbWFpbCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY2hhbmdlLWxvZy1maWxlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaGFuZ2UtbG9nLWZ1bmN0aW9uICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5nZS1sb2ctbGlz dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5n ZS1sb2ctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobG9nLWVkaXQt aGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGxv Zy1lZGl0LXN1bW1hcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAobG9nLWVkaXQtdW5rbm93bi1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAobG9nLXZpZXctZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGxvZy12aWV3LW1lc3NhZ2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGNpZGVyDQotICAgYChjaWRlci1kZWJ1 Zy1jb2RlLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAg YChjaWRlci1kZWJ1Zy1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQgOnVuZGVybGluZSB0KSkpDQotICAgYChjaWRlci1kZXByZWNhdGVkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoY2lkZXItZG9jdmll dy1lbXBoYXNpcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNs YW50IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy1saXRlcmFsLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjaWRlci1kb2N2aWV3LXN0cm9uZy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoY2lkZXItZG9jdmlldy10YWJsZS1ib3JkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChjaWRlci1lbmxpZ2h0ZW5lZC1mYWNlICgoLGNsYXNzIDpib3gg KDpsaW5lLXdpZHRoIC0xIDpjb2xvciAseWVsbG93LWFsdCA6c3R5bGUgbmlsKSA6YmFja2dyb3Vu ZCAsYmctZGltKSkpDQotICAgYChjaWRlci1lbmxpZ2h0ZW5lZC1sb2NhbC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGNp ZGVyLWVycm9yLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVy bGluZSB0KSkpDQotICAgYChjaWRlci1mcmFnaWxlLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3gg KDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1hbHQgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoY2lkZXItZnJpbmdlLWdvb2QtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChjaWRlci1pbnN0cnVtZW50ZWQt ZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLHJlZCA6c3R5bGUgbmls KSA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci1yZWFkZXItY29uZGl0aW9uYWwt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDpzbGFudCBpdGFsaWMp KSkNCi0gICBgKGNpZGVyLXJlcGwtaW5wdXQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkp DQotICAgYChjaWRlci1yZXBsLXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KLSAgIGAoY2lkZXItcmVwbC1zdGRlcnItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNpZGVyLXJlcGwtc3Rkb3V0LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNpZGVyLXJlc3VsdC1vdmVy bGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlIDpzdHls ZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZXJy b3ItY2xhc3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZXJyb3ItbWVzc2FnZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGNpZGVyLXN0YWNr dHJhY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY2lkZXIt c3RhY2t0cmFjZS1maWx0ZXItYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1maWx0ZXItaW5hY3Rp dmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGNpZGVyLXN0 YWNrdHJhY2UtZm4tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLW5zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLXByb21v dGVkLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1h bHQgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoY2lk ZXItc3RhY2t0cmFjZS1zdXBwcmVzc2VkLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5l LXdpZHRoIDMgOmNvbG9yICxmZy1hbHQgOnN0eWxlIHByZXNzZWQtYnV0dG9uKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY2lkZXItdGVzdC1lcnJvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGNp ZGVyLXRlc3QtZmFpbHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAoY2lkZXItdGVzdC1zdWNjZXNzLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoY2lkZXItdHJhY2Vk LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxjeWFuIDpzdHlsZSBu aWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKGNpZGVyLXdhcm5pbmctaGlnaGxpZ2h0 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyBjaXJjZSAoYW5kIGx1aSkNCi0gICBgKGNpcmNlLWZvb2wtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChjaXJjZS1oaWdobGlnaHQtbmljay1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNpcmNlLXByb21wdC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYChjaXJjZS1zZXJ2ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1 c2VkKSkpDQotICAgYChsdWktYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChsdWktaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChsdWktdGltZS1zdGFtcC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi07Ozs7OyBjb2xvci1yZw0KLSAgIGAo Y29sb3ItcmctZm9udC1sb2NrLWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stY29tbWFuZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjb2xvci1y Zy1mb250LWxvY2stZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1mbGFzaCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQt bG9jay1mdW5jdGlvbi1sb2NhdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLWNhbG0pKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1kaXJlY3Rv cnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChjb2xvci1yZy1m b250LWxvY2staGVhZGVyLWxpbmUtZWRpdC1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5lLWtleXdv cmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3Itcmct Zm9udC1sb2NrLWhlYWRlci1saW5lLXRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2 ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXJr LWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAoY29sb3ItcmctZm9udC1sb2NrLW1hcmstZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXRjaCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGNvbG9yLXJn LWZvbnQtbG9jay1wb3NpdGlvbi1zcGxpdHRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotOzs7OzsgY29sdW1uLWVuZm9yY2UtbW9kZQ0KLSAgIGAoY29sdW1uLWVuZm9yY2UtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotOzs7Ozsg Y29tcGFueS1tb2RlDQotICAgYChjb21wYW55LWVjaG8tY29tbW9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY29tcGFueS1wcmV2aWV3ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoY29tcGFu eS1wcmV2aWV3LWNvbW1vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBg KGNvbXBhbnktcHJldmlldy1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC1jYWxtKSkpDQotICAgYChjb21wYW55LXNjcm9sbGJhci1iZyAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChjb21wYW55LXNjcm9sbGJhci1mZyAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChjb21wYW55LXRlbXBsYXRlLWZpZWxkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAoY29t cGFueS10b29sdGlwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLWFubm90YXRpb24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChjb21wYW55LXRvb2x0aXAtYW5ub3RhdGlvbi1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLWNvbW1v biAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAo Y29tcGFueS10b29sdGlwLWNvbW1vbi1zZWxlY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1tb3VzZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1zZWFyY2gg KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIGJvbGQpKSkpDQotICAg YChjb21wYW55LXRvb2x0aXAtc2VhcmNoLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCAobW9k dXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNvbXBh bnktdG9vbHRpcC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRs ZS1jeWFuIGJvbGQpKSkpDQotOzs7OzsgY29tcGFueS1wb3NmcmFtZQ0KLSAgIGAoY29tcGFueS1w b3NmcmFtZS1hY3RpdmUtYmFja2VuZC1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGNvbXBh bnktcG9zZnJhbWUtaW5hY3RpdmUtYmFja2VuZC1uYW1lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS1wb3NmcmFt ZS1tZXRhZGF0YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQotOzs7OzsgY29tcGlsYXRpb24gZmVlZGJhY2sNCi0gICBgKGNvbXBp bGF0aW9uLWNvbHVtbi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChjb21waWxhdGlvbi1lcnJvciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjb21waWxhdGlv bi1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGNv bXBpbGF0aW9uLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi0gICBgKGNvbXBpbGF0aW9uLW1vZGUtbGluZS1leGl0ICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0K LSAgIGAoY29tcGlsYXRpb24tbW9kZS1saW5lLWZhaWwgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGNv bXBpbGF0aW9uLW1vZGUtbGluZS1ydW4gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1i b2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChjb21waWxh dGlvbi13YXJuaW5nICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQp IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBjb21wbGV0aW9ucw0KLSAgIGAoY29tcGxl dGlvbnMtYW5ub3RhdGlvbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChjb21wbGV0aW9ucy1jb21tb24tcGFy dCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLW51 YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4t cmVmaW5lLWJnIGN5YW4tcmVmaW5lLWZnKSkpKQ0KLSAgIGAoY29tcGxldGlvbnMtZmlyc3QtZGlm ZmVyZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxl dGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQgYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtaW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0KLTs7Ozs7IGNv dW5zZWwNCi0gICBgKGNvdW5zZWwtYWN0aXZlLW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLWFwcGxpY2F0aW9uLW5hbWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGNvdW5zZWwta2V5LWJpbmRp bmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN Ci0gICBgKGNvdW5zZWwtb3V0bGluZS0xICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtMSkpKQ0K LSAgIGAoY291bnNlbC1vdXRsaW5lLTIgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS0yKSkpDQot ICAgYChjb3Vuc2VsLW91dGxpbmUtMyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTMpKSkNCi0g ICBgKGNvdW5zZWwtb3V0bGluZS00ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNCkpKQ0KLSAg IGAoY291bnNlbC1vdXRsaW5lLTUgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS01KSkpDQotICAg YChjb3Vuc2VsLW91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTYpKSkNCi0gICBg KGNvdW5zZWwtb3V0bGluZS03ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNykpKQ0KLSAgIGAo Y291bnNlbC1vdXRsaW5lLTggKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS04KSkpDQotICAgYChj b3Vuc2VsLW91dGxpbmUtZGVmYXVsdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNvdW5zZWwtdmFyaWFibGUtZG9jdW1lbnRhdGlv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlciA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotOzs7OzsgY291bnNlbC1jc3MNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVj dG9yLWRlcHRoLWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY291 bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTMgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuKSkpDQotICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNl LTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2Vs ZWN0b3ItZGVwdGgtZmFjZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTYgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZCkpKQ0KLTs7Ozs7IGNvdW5zZWwtbm90bXVjaA0KLSAgIGAoY291bnNlbC1ub3RtdWNoLWNv dW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGNvdW5zZWwtbm90 bXVjaC1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNvdW5z ZWwtbm90bXVjaC1wZW9wbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAoY291bnNlbC1ub3RtdWNoLXN1YmplY3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0cmluZw0K LSAgIGAoY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmctdGVtcGxhdGUtYm9keS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyBjb3YNCi0gICBgKGNv di1jb3ZlcmFnZS1ub3QtcnVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNl KSkpDQotICAgYChjb3YtY292ZXJhZ2UtcnVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuLWludGVuc2UpKSkNCi0gICBgKGNvdi1oZWF2eS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBgKGNvdi1saWdodC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKGNvdi1tZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCi0gICBgKGNvdi1ub25lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KLTs7Ozs7IGNwZXJsLW1vZGUNCi0gICBgKGNw ZXJsLW5vbm92ZXJyaWRhYmxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIpKSkNCi0gICBgKGNwZXJsLWFycmF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoY3Bl cmwtaGFzaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6 Zm9yZWdyb3VuZCAscmVkLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7Ozsg Y3N2LW1vZGUNCi0gICBgKGNzdi1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Ymctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgY3RybGYNCi0g ICBgKGN0cmxmLWhpZ2hsaWdodC1hY3RpdmUgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCi0gICBgKGN0cmxmLWhpZ2hsaWdodC1saW5lICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi0gICBgKGN0cmxmLWhpZ2hsaWdo dC1wYXNzaXZlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQot Ozs7OzsgY3VzdG9tIChNLXggY3VzdG9taXplKQ0KLSAgIGAoY3VzdG9tLWJ1dHRvbiAoKCxjbGFz cyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY3VzdG9tLWJ1dHRvbi1tb3VzZSAoKCxjbGFzcyA6 Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChjdXN0b20tYnV0dG9uLXByZXNzZWQgKCgs Y2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSBwcmVzc2VkLWJ1dHRv bikNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmct YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjdXN0b20tY2hhbmdlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoY3VzdG9tLWNv bW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY3VzdG9tLWNvbW1l bnQtdGFnICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCi0gICBgKGN1c3RvbS1mYWNlLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKGN1c3RvbS1ncm91cC10YWcgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAo Y3VzdG9tLWdyb3VwLXRhZy0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt d2FybSkpKQ0KLSAgIGAoY3VzdG9tLWludmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRo ZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQotICAgYChjdXN0b20tbW9kaWZpZWQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGN1c3RvbS1yb2d1ZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAoY3Vz dG9tLXNldCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGN1c3RvbS1z dGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGN1c3Rv bS10aGVtZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0g ICBgKGN1c3RvbS12YXJpYWJsZS10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLTs7Ozs7IGRhcC1tb2RlDQotICAgYChkYXAtbW91c2UtZXZhbC10aGluZy1m YWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZS1hY3RpdmUgOnN0 eWxlIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGFwLXJlc3Vs dC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxiZy1h Y3RpdmUgOnN0eWxlIG5pbCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRh cC11aS1icmVha3BvaW50LXZlcmlmaWVkLWZyaW5nZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRhcC11aS1jb21waWxlLWVycmxpbmUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBg KGRhcC11aS1sb2NhbHMtc2NvcGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZGFwLXVpLWxvY2Fscy12YXJpYWJs ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGRhcC11aS1sb2NhbHMtdmFyaWFibGUtbGVhZi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkYXAtdWktbWFya2VyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGRhcC11 aS1zZXNzaW9ucy1zdGFjay1mcmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkYXAtdWktc2Vzc2lvbnMtdGVybWluYXRlZC1h Y3RpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGRhcC11aS1zZXNzaW9ucy10ZXJtaW5hdGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGRhc2hib2FyZCAoZW1hY3MtZGFzaGJvYXJkKQ0KLSAgIGAo ZGFzaGJvYXJkLWJhbm5lci1sb2dvLXRpdGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGFzaGJvYXJkLWZvb3RlciAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGRh c2hib2FyZC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGFzaGJvYXJkLW5hdmlnYXRvciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGRhc2hib2FyZC10ZXh0LWJhbm5lciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7OzsgZGVhZGdyZXANCi0gICBgKGRlYWRn cmVwLWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQotICAgYChkZWFkZ3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZGVhZGdyZXAtbWV0YS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRlYWRncmVwLXJlZ2V4cC1t ZXRhY2hhci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1p bnRlbnNlKSkpDQotICAgYChkZWFkZ3JlcC1zZWFyY2gtdGVybS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi07Ozs7OyBkZWJidWdzDQot ICAgYChkZWJidWdzLWdudS1hcmNoaXZlZCAoKCxjbGFzcyA6aW52ZXJzZS12aWRlbyB0KSkpDQot ICAgYChkZWJidWdzLWdudS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKGRlYmJ1Z3MtZ251LWZvcndhcmRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQotICAgYChkZWJidWdzLWdudS1oYW5kbGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbikpKQ0KLSAgIGAoZGViYnVncy1nbnUtbmV3ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXBlbmRpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1udWFuY2VkKSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS0yICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTMgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0 YWxlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRlYmJ1Z3MtZ251 LXRhZ2dlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBkZWZp bmUtd29yZA0KLSAgIGAoZGVmaW5lLXdvcmQtZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi0gICBgKGRlZmluZS13b3JkLWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLTs7Ozs7IGRlZnQNCi0gICBgKGRlZnQtZmlsdGVyLXN0cmluZy1lcnJvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKGRl ZnQtZmlsdGVyLXN0cmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNl KSkpDQotICAgYChkZWZ0LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGVmdC1zZXBhcmF0b3ItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWZ0LXN1bW1hcnktZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0g ICBgKGRlZnQtdGltZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKGRlZnQtdGl0bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotOzs7OzsgZGljdGlvbmFyeQ0KLSAgIGAoZGljdGlvbmFyeS1idXR0 b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKGRpY3Rpb25hcnktcmVmZXJlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGljdGlvbmFyeS13 b3JkLWRlZmluaXRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoZGljdGlvbmFyeS13b3JkLWVudHJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgZGlmZi1obA0K LSAgIGAoZGlmZi1obC1jaGFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdl LXllbGxvdykpKQ0KLSAgIGAoZGlmZi1obC1kZWxldGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1jaGFuZ2UgKCgsY2xhc3Mg OmluaGVyaXQgZGlmZi1obC1jaGFuZ2UpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtZGVsZXRlICgo LGNsYXNzIDppbmhlcml0IGRpZmYtaGwtZGVsZXRlKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWln bm9yZWQgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KLSAgIGAoZGlmZi1obC1k aXJlZC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1obC1pbnNlcnQpKSkNCi0gICBgKGRp ZmYtaGwtZGlyZWQtdW5rbm93biAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1pZ25vcmVkKSkpDQot ICAgYChkaWZmLWhsLWluc2VydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2Ut Z3JlZW4pKSkNCi0gICBgKGRpZmYtaGwtcmV2ZXJ0ZWQtaHVuay1oaWdobGlnaHQgKCgsY2xhc3Mg OmluaGVyaXQgKG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhIGJvbGQpKSkpDQotOzs7OzsgZGlm Zi1tb2RlDQotICAgYChkaWZmLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRp ZmYtYWRkZWQpKSkNCi0gICBgKGRpZmYtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1kaWZmLWNoYW5nZWQpKSkNCi0gICBgKGRpZmYtY29udGV4dCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChkaWZmLWZpbGUtaGVhZGVyICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGRpZmYtZnVuY3Rpb24gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGlmZi1oZWFkZXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZGlmZi1odW5rLWhl YWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcpKSkNCi0gICBg KGRpZmYtaW5kZXggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCi0gICBgKGRpZmYtaW5kaWNhdG9yLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IGRpZmYtYWRk ZWQpKSkNCi0gICBgKGRpZmYtaW5kaWNhdG9yLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgZGlm Zi1jaGFuZ2VkKSkpDQotICAgYChkaWZmLWluZGljYXRvci1yZW1vdmVkICgoLGNsYXNzIDppbmhl cml0IGRpZmYtcmVtb3ZlZCkpKQ0KLSAgIGAoZGlmZi1ub25leGlzdGVudCAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtbmV1dHJhbCBib2xkKSkpKQ0KLSAgIGAoZGlmZi1yZWZpbmUtYWRk ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkNCi0g ICBgKGRpZmYtcmVmaW5lLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlm Zi1yZWZpbmUtY2hhbmdlZCkpKQ0KLSAgIGAoZGlmZi1yZWZpbmUtcmVtb3ZlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkKSkpDQotICAgYChkaWZmLXJl bW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkKSkpDQotOzs7 OzsgZGltLWF1dG9sb2FkDQotICAgYChkaW0tYXV0b2xvYWQtY29va2llLWxpbmUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7Ozsg ZGlyLXRyZWV2aWV3DQotICAgYChkaXItdHJlZXZpZXctYXJjaGl2ZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRpci10cmVldmlldy1hcmNoaXZl LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZh Y2UgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWF1ZGlvLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGRpci10cmVldmlldy1hdWRp by1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1m YWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWNvbnRy b2wtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXItdHJlZXZp ZXctY29udHJvbC1tb3VzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGhpZ2hsaWdodCkpKQ0KLSAg IGAoZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZhbWlseSAiRm9udCBBd2Vzb21lIiA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXIt dHJlZXZpZXctZGVmYXVsdC1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChkaXItdHJlZXZpZXctZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGRpci10cmVldmlldy1kaXJlY3RvcnktaWNvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1leGVjdXRhYmxlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1leGVjdXRhYmxl LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZh Y2UgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGRpci10cmVldmlldy1pbWFn ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGRp ci10cmVldmlldy1pbWFnZS1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3 LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGRpci10 cmVldmlldy1pbmRlbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChkaXItdHJlZXZpZXctbGFiZWwtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGln aHQpKSkNCi0gICBgKGRpci10cmVldmlldy1zdGFydC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctc3ltbGlu ay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAoZGlyLXRyZWV2aWV3LXZpZGVvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctdmlkZW8taWNvbi1mYWNlICgoLGNsYXNz IDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBkaXJlZA0KLSAgIGAoZGlyZWQtZGlyZWN0b3J5ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaXJlZC1mbGFnZ2VkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkpDQotICAgYChkaXJlZC1oZWFkZXIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyZWQt aWdub3JlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZC1tYXJr ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQotICAgYChkaXJl ZC1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCi0gICBg KGRpcmVkLXBlcm0td3JpdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KLSAgIGAoZGlyZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQotICAgYChkaXJlZC13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGRpcmVkLWFzeW5jDQotICAgYChkaXJl ZC1hc3luYy1mYWlsdXJlcyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZGlyZWQtYXN5bmMtbWVzc2Fn ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkaXJlZC1hc3luYy1tb2RlLW1lc3NhZ2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQotOzs7OzsgZGlyZWQtZ2l0DQotICAgYChkaXJlZC1naXQtYnJhbmNoLWVsc2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KGRpcmVkLWdpdC1icmFuY2gtbWFzdGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7OzsgZGlyZWQtZ2l0LWluZm8NCi0gICBgKGRn aS1jb21taXQtbWVzc2FnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1p bGQpKSkNCi07Ozs7OyBkaXJlZC1uYXJyb3cNCi0gICBgKGRpcmVkLW5hcnJvdy1ibGluayAoKCxj bGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtc3VidGxlLWN5YW4gYm9sZCkpKSkNCi07Ozs7OyBk aXJlZC1zdWJ0cmVlDQotICAgOzsgcmVtb3ZlIGJhY2tncm91bmQgZnJvbSBkaXJlZC1zdWJ0cmVl LCBlbHNlIGl0IGJyZWFrcw0KLSAgIDs7IGRpcmVkLXtmbGFnZ2VkLG1hcmtlZH0gYW5kIGFueSBv dGhlciBmYWNlIHRoYXQgc2V0cyBhIGJhY2tncm91bmQNCi0gICA7OyBzdWNoIGFzIGhsLWxpbmUN Ci0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5p bCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgbmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNC1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC01LWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgbmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTYtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi07Ozs7OyBkaXJlZGZsDQotICAgYChkaXJl ZGZsLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1j b2xkKSkpDQotICAgYChkaXJlZGZsLWNvbXByZXNzZWQtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRpcmVkZmwtY29tcHJlc3NlZC1maWxl LXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1k YXRlLXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChk aXJlZGZsLWRlbGV0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstZGVsKSkp DQotICAgYChkaXJlZGZsLWRlbGV0aW9uLWZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWRmbC1kaXItaGVhZGluZyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQotICAgYChkaXJlZGZsLWRpci1u YW1lICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWRpcmVjdG9yeSkpKQ0KLSAgIGAoZGlyZWRmbC1k aXItcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGRpcmVkZmwt ZXhlYy1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChkaXJlZGZs LWV4ZWN1dGFibGUtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAg IGAoZGlyZWRmbC1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKGRpcmVkZmwtZmlsZS1zdWZmaXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGRpcmVkZmwtZmxhZy1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmst c2VsKSkpDQotICAgYChkaXJlZGZsLWZsYWctbWFyay1saW5lICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChkaXJlZGZsLWlnbm9yZWQtZmlsZS1uYW1lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpcmVkZmwtbGluay1wcml2ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyZWRmbC1uby1w cml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpcmVkZmwtbnVtYmVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1vdGhlci1w cml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpcmVkZmwtcmFyZS1w cml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkaXJlZGZsLXJlYWQt cHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGlyZWRmbC1zeW1s aW5rICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLXN5bWxpbmspKSkNCi0gICBgKGRpcmVkZmwtdGFn Z2VkLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1h Z2VudGEpKSkNCi0gICBgKGRpcmVkZmwtd3JpdGUtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLTs7Ozs7IGRpc2stdXNhZ2UNCi0gICBgKGRpc2stdXNhZ2UtY2hpbGRyZW4gKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZGlzay11c2FnZS1pbmFjY2Vzc2li bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChkaXNr LXVzYWdlLXBlcmNlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChkaXNr LXVzYWdlLXNpemUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGRpc2stdXNh Z2Utc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKGRpc2stdXNhZ2Utc3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBkb29tLW1vZGVsaW5lDQotICAgYChk b29tLW1vZGVsaW5lLWJhciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXItaW5hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGZnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChkb29tLW1vZGVs aW5lLWJhdHRlcnktY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkp KQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWNyaXRpY2FsICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0 dGVyeS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIC0yKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktZnVsbCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1u b3JtYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2Rl bGluZS1iYXR0ZXJ5LXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs eWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItZmlsZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9k ZWxpbmUtYnVmZmVyLW1ham9yLW1vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLW1pbm9yLW1vZGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5l LWJ1ZmZlci1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXItcGF0aCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxp bmUtZGVidWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1kZWJ1Zy12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmls LWVtYWNzLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtaW5zZXJ0LXN0YXRlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1ldmlsLW1vdGlvbi1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLW5vcm1hbC1zdGF0 ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBg KGRvb20tbW9kZWxpbmUtZXZpbC1vcGVyYXRvci1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLXJl cGxhY2Utc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLXZpc3VhbC1zdGF0ZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGlu ZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3Rp dmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtaG9zdCAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkp DQotICAgYChkb29tLW1vZGVsaW5lLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFj dGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1sc3AtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1sc3At c3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUp KSkNCi0gICBgKGRvb20tbW9kZWxpbmUtbHNwLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wYW5l bCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoZG9v bS1tb2RlbGluZS1wZXJzcC1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWN0aXZlIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGVy c3AtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1v ZGVsaW5lLXByb2plY3QtZGlyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJs dWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXByb2plY3QtcGFyZW50LWRpciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcHJv amVjdC1yb290LWRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChk b29tLW1vZGVsaW5lLXVucmVhZC1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2 ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXVyZ2VudCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVs aW5lLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFj dGl2ZSkpKQ0KLTs7Ozs7IGR5bmFtaWMtcnVsZXINCi0gICBgKGR5bmFtaWMtcnVsZXItbmVnYXRp dmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkN Ci0gICBgKGR5bmFtaWMtcnVsZXItcG9zaXRpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLXllbGxvdykpKQ0KLTs7Ozs7IGVhc3ktamVreWxsDQotICAgYChlYXN5 LWpla3lsbC1oZWxwLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi07Ozs7OyBlYXN5LWtpbGwNCi0gICBgKGVhc3kta2lsbC1v cmlnaW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAo ZWFzeS1raWxsLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt eWVsbG93KSkpDQotOzs7OzsgZWJkYg0KLSAgIGAoZWJkYi1hZGRyZXNzLWRlZmF1bHQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGViZGItZGItY2hhciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChlYmRiLWRlZnVuY3QgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZWJkYi1maWVsZC1oaWRkZW4gKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGViZGItZmllbGQtdXJsICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlYmRiLWxhYmVsICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZWJkYi1tYWlsLWRlZmF1bHQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGViZGItbWFpbC1wcmltYXJ5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZWJkYi1tYXJrZWQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAoZWJkYi1vcmdhbml6YXRpb24tbmFt ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChlYmRiLXBl cnNvbi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAoZWJkYi1waG9uZS1kZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi0gICBgKGViZGItcm9sZS1kZWZ1bmN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKGVpZWlvLWN1c3RvbS1zbG90LXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWx0KSkpDQotOzs7OzsgZWRpZmYNCi0gICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFr IGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KLSAgIDs7IG1vZHVzLXRo ZW1lLWRpZmYtKiBmYWNlcy4NCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1BICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctZGltIHJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgcmVkLWZhaW50KSkpKQ0KLSAgIGAoZWRp ZmYtY3VycmVudC1kaWZmLUFuY2VzdG9yICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt ZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRp bSBmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1zcGVjaWFsLWNvbGQgZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUpKSkpDQot ICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQiAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBncmVl bg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBm Zy1kaWZmLWFkZGVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVl bi1udWFuY2VkLWJnIGdyZWVuLWZhaW50KSkpKQ0KLSAgIGAoZWRpZmYtY3VycmVudC1kaWZmLUMg KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiZy1kaW0geWVsbG93DQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyB5ZWxsb3ct ZmFpbnQpKSkpDQotICAgYChlZGlmZi1ldmVuLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotICAg YChlZGlmZi1ldmVuLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYt bmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAoZWRpZmYt ZXZlbi1kaWZmLUIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3Jl Z3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAoZWRpZmYtZXZlbi1kaWZmLUMgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZm LW5ldXRyYWwtMikpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1yZW1v dmVkKSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1CICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWZvY3VzLWFkZGVkIDpmb3JlZ3JvdW5kICxmZy1kaWZm LWZvY3VzLWFkZGVkKSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQyAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGlmZi1mb2N1cy1jaGFuZ2VkIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWZvY3VzLWNo YW5nZWQpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikpKQ0KLSAgIGAo ZWRpZmYtb2RkLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1 dHJhbC0wIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMCkpKQ0KLSAgIGAoZWRpZmYtb2Rk LWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91 bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQotICAgYChlZGlmZi1vZGQtZGlmZi1DICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0 cmFsLTEpKSkNCi07Ozs7OyBlZ2xvdA0KLSAgIGAoZWdsb3QtbW9kZS1saW5lICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFj dGl2ZSkpKQ0KLTs7Ozs7IGVsLXNlYXJjaA0KLSAgIGAoZWwtc2VhcmNoLWhpZ2hsaWdodC1pbi1w cm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KLSAgIGAoZWwtc2VhcmNoLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGVsLXNlYXJjaC1vdGhlci1tYXRjaCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGVsLXNlYXJjaC1vY2N1 ci1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi07 Ozs7OyBlbGRvYw0KLSAgIDs7IE5PVEU6IHNlZSBodHRwczovL2dpdGh1Yi5jb20vcHVyY2VsbC9w YWNrYWdlLWxpbnQvaXNzdWVzLzE4Nw0KLSAgIChsaXN0ICdlbGRvYy1oaWdobGlnaHQtZnVuY3Rp b24tYXJndW1lbnQgYCgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyKSkpDQotOzs7OzsgZWxkb2MtYm94DQotICAgYChlbGRvYy1ib3gtYm9keSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlbGRv Yy1ib3gtYm9yZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBlbGZl ZWQNCi0gICBgKGVsZmVlZC1sb2ctZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1kZWJ1Zy1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlbGZlZWQtbG9nLWVycm9yLWxldmVsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1pbmZvLWxldmVsLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChlbGZlZWQtbG9nLXdhcm4t bGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChlbGZlZWQt c2VhcmNoLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQot ICAgYChlbGZlZWQtc2VhcmNoLWZlZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1maWx0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1sYXN0 LXVwZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAo ZWxmZWVkLXNlYXJjaC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk KSkpDQotICAgYChlbGZlZWQtc2VhcmNoLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC11bnJlYWQtY291bnQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChlbGZlZWQtc2VhcmNoLXVucmVh ZC10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi07Ozs7OyBlbGZlZWQtc2NvcmUNCi0gICBgKGVsZmVlZC1zY29yZS1kYXRlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVsZmVlZC1zY29yZS1kZWJ1Zy1sZXZl bC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo ZWxmZWVkLXNjb3JlLWVycm9yLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAoZWxmZWVkLXNjb3JlLWluZm8tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAoZWxmZWVkLXNjb3JlLXdhcm4tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgZW1tcw0KLSAgIGAoZW1tcy1wbGF5bGlzdC10 cmFjay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlbW1zLXBsYXls aXN0LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLTs7Ozs7IGVuaGFuY2VkLXJ1YnktbW9kZQ0KLSAgIGAoZW5oLXJ1YnktaGVyZWRv Yy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN Ci0gICBgKGVuaC1ydWJ5LW9wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGVuaC1ydWJ5LXJlZ2V4cC1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKGVuaC1ydWJ5LXJlZ2V4cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChlbmgtcnVieS1zdHJpbmctZGVsaW1pdGVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChlcm0tc3luLWVycmxpbmUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGVybS1zeW4td2Fy bmxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyBlcGENCi0gICBgKGVwYS1maWVsZC1ib2R5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChlcGEtZmllbGQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkNCi0gICBgKGVwYS1tYXJrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVwYS1zdHJpbmcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChlcGEtdmFsaWRpdHktZGlzYWJsZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWhpZ2gg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQot ICAgYChlcGEtdmFsaWRpdHktbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKGVwYS12YWxpZGl0eS1tZWRpdW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkp KQ0KLTs7Ozs7IGVxdWFrZQ0KLSAgIGAoZXF1YWtlLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlcXVha2Utc2hl bGwtdHlwZS1lc2hlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3Jv dW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXJhc2ggKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQot ICAgYChlcXVha2Utc2hlbGwtdHlwZS1zaGVsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5h Y3RpdmUgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlw ZS10ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAseWVs bG93LWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtdnRlcm0gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAoZXF1YWtlLXRhYi1hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdy b3VuZCAsYmctYWx0KSkpDQotICAgYChlcXVha2UtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IGVyYw0KLSAgIGAoZXJjLWFjdGlvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVyYy1i b2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoZXJjLWJ1dHRvbiAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKGVyYy1jb21tYW5kLWluZGljYXRvci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChl cmMtY3VycmVudC1uaWNrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChlcmMtZGFuZ2Vyb3VzLWhvc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoZXJjLWRpcmVjdC1tc2ctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXJjLWVycm9yLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlcmMtZm9vbC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZXJjLWhlYWRlci1s aW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRl cikpKQ0KLSAgIGAoZXJjLWlucHV0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY2FsbSkpKQ0KLSAgIGAoZXJjLWludmVyc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMt ZGVmYXVsdC1mYWNlIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKGVyYy1rZXl3b3JkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KGVyYy1teS1uaWNrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoZXJjLW15LW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg ZXJjLW15LW5pY2stZmFjZSkpKQ0KLSAgIGAoZXJjLW5pY2stZGVmYXVsdC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVyYy1uaWNrLW1zZy1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChl cmMtbmljay1wcmVmaXgtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtbmljay1kZWZhdWx0LWZh Y2UpKSkNCi0gICBgKGVyYy1ub3RpY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5m b2N1c2VkKSkpDQotICAgYChlcmMtcGFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZXJjLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChlcmMtdGltZXN0 YW1wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZXJj LXVuZGVybGluZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYmc6ZXJjLWNv bG9yLWZhY2UwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJ3aGl0ZSIpKSkNCi0gICBgKGJnOmVyYy1j b2xvci1mYWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAiYmxhY2siKSkpDQotICAgYChiZzplcmMt Y29sb3ItZmFjZTEwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZykpKQ0KLSAg IGAoYmc6ZXJjLWNvbG9yLWZhY2UxMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNl LWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTEyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi bHVlLXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMyAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsbWFnZW50YS1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTQg KCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk2MCIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNl MTUgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk4MCIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1m YWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnKSkpDQotICAgYChiZzpl cmMtY29sb3ItZmFjZTMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkN Ci0gICBgKGJnOmVyYy1jb2xvci1mYWNlNCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1YnRs ZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U1ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxy ZWQtaW50ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U2ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxtYWdlbnRhLXJlZmluZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U3ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29s b3ItZmFjZTggKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcpKSkNCi0gICBg KGJnOmVyYy1jb2xvci1mYWNlOSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tc3VidGxlLWJn KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTAgKCgsY2xhc3MgOmZvcmVncm91bmQgIndoaXRl IikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJibGFj ayIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEzICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxNCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAiZ3JheTYwIikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAiZ3JheTgwIikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9y LWZhY2UzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9y LWZhY2U0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1m YWNlNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9y LWZhY2U2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo Zmc6ZXJjLWNvbG9yLWZhY2U3ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVy KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTggKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlOSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0LW90aGVyKSkpDQotOzs7OzsgZXJvcw0KLSAgIGAoZXJvcy1yZXN1bHQtb3Zlcmxh eS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCi07Ozs7OyBlcnQNCi0gICBgKGVydC10ZXN0LXJlc3VsdC1l eHBlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQot ICAgYChlcnQtdGVzdC1yZXN1bHQtdW5leHBlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IGVzaGVsbA0KLSAgIGAoZXNoZWxsLWxzLWFyY2hp dmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KGVzaGVsbC1scy1iYWNrdXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0g ICBgKGVzaGVsbC1scy1jbHV0dGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChlc2hlbGwtbHMtZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChlc2hlbGwtbHMtZXhlY3V0YWJsZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGVzaGVsbC1scy1taXNzaW5nICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChlc2hlbGwtbHMtcHJv ZHVjdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChlc2hl bGwtbHMtcmVhZG9ubHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoZXNoZWxsLWxzLXNwZWNpYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXNoZWxsLWxzLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlc2hlbGwtbHMtdW5yZWFkYWJsZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQotICAgYChlc2hlbGwtcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt Ym9sZC13ZWlnaHQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtcHJvbXB0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFs dC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJn IGdyZWVuLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1yZWZpbmUt YmcgZmctbWFpbikpKSkNCi07Ozs7OyBlc2hlbGwtZnJpbmdlLXN0YXR1cw0KLSAgIGAoZXNoZWxs LWZyaW5nZS1zdGF0dXMtZmFpbHVyZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAg YChlc2hlbGwtZnJpbmdlLXN0YXR1cy1zdWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KLTs7Ozs7IGVzaGVsbC1naXQtcHJvbXB0DQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1h ZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChlc2hlbGwtZ2l0 LXByb21wdC1icmFuY2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChlc2hlbGwtZ2l0LXByb21wdC1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZXhpdC1mYWlsLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZXhpdC1zdWNjZXNz LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChlc2hlbGwtZ2l0LXBy b21wdC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBg KGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGluZS1jbGVhbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxncmVlbi1yZWZpbmUtYmcpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGlu ZS1kaXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcpKSkNCi0gICBg KGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGluZS1ub3QtY2xlYW4tZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LXJv YnlydXNzZWxsLWJyYW5jaC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBg KGVzaGVsbC1naXQtcHJvbXB0LXJvYnlydXNzZWxsLWdpdC1kaXJ0eS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LXJvYnlydXNzZWxs LWdpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotOzs7OzsgZXNoZWxsLXBy b21wdC1leHRyYXMgKGVwZSkNCi0gICBgKGVwZS1kaXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZXBl LWdpdC1kaXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAg IGAoZXBlLWdpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAo ZXBlLXBpcGVsaW5lLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQpKSkNCi0gICBgKGVwZS1waXBlbGluZS1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUpKSkNCi0gICBgKGVwZS1waXBlbGluZS10aW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZXBlLXBpcGVsaW5lLXVzZXItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXBlLXJlbW90ZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZXBlLXN0YXR1cy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoZXBlLXZlbnYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBlc2hlbGwtc3ludGF4LWhpZ2hsaWdo dGluZw0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctYWxpYXMtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmct Y29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVzaGVs bC1zeW50YXgtaGlnaGxpZ2h0aW5nLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1lbnZ2YXItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgt aGlnaGxpZ2h0aW5nLWludmFsaWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1saXNwLWZ1bmN0aW9uLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0 aW5nLXNoZWxsLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLXN0cmluZy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGV2aWwtbW9kZQ0KLSAgIGAoZXZp bC1leC1jb21tYW5kcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKGV2aWwtZXgtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKGV2aWwtZXgtbGF6eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKGV2aWwtZXgtc2VhcmNoICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGV2aWwtZXgtc3Vic3RpdHV0 ZS1tYXRjaGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVu ZGVybGluZSB0KSkpDQotICAgYChldmlsLWV4LXN1YnN0aXR1dGUtcmVwbGFjZW1lbnQgKCgsY2xh c3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCi07Ozs7OyBl dmlsLWdvZ2dsZXMNCi0gICBgKGV2aWwtZ29nZ2xlcy1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChldmlsLWdvZ2dsZXMtY29t bWVudGFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFs IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1kZWZhdWx0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCi0g ICBgKGV2aWwtZ29nZ2xlcy1kZWxldGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtcmVkKSkpDQotICAgYChldmlsLWdvZ2dsZXMtZmlsbC1hbmQtbW92ZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2aWwt Z29nZ2xlcy1pbmRlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVs dC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMtam9pbi1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLW5lcmQtY29t bWVudGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWNvbW1lbnRhcnktZmFj ZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXBhc3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1yZWNvcmQtbWFjcm8t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KGV2aWwtZ29nZ2xlcy1yZXBsYWNlLXdpdGgtcmVnaXN0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXNldC1t YXJrZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEp KSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1zaGlmdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwt Z29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1zdXJyb3VuZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2 aWwtZ29nZ2xlcy15YW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LWJsdWUpKSkNCi07Ozs7OyBldmlsLXZpc3VhbC1tYXJrLW1vZGUNCi0gICBgKGV2aWwtdmlzdWFs LW1hcmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEp KSkNCi07Ozs7OyBld3cNCi0gICBgKGV3dy1pbnZhbGlkLWNlcnRpZmljYXRlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChld3ctdmFsaWQtY2VydGlmaWNhdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZXd3LWZvcm0tY2hlY2ti b3ggKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWluYWN0aXZlIDpzdHls ZSByZWxlYXNlZC1idXR0b24pIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAoZXd3LWZvcm0tZmlsZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0 aCAxIDpjb2xvciAsZmctaW5hY3RpdmUgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmJhY2tncm91 bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZXd3LWZvcm0tc2Vs ZWN0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWNoZWNrYm94KSkpDQotICAgYChld3ctZm9y bS1zdWJtaXQgKCgsY2xhc3MgOmluaGVyaXQgZXd3LWZvcm0tZmlsZSkpKQ0KLSAgIGAoZXd3LWZv cm0tdGV4dCAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAsZmctaW5hY3RpdmUg OnN0eWxlIG5vbmUpIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2 ZSkpKQ0KLSAgIGAoZXd3LWZvcm0tdGV4dGFyZWEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGV5ZWJyb3dzZQ0KLSAgIGAoZXllYnJv d3NlLW1vZGUtbGluZS1hY3RpdmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hY3RpdmUpKSkNCi07Ozs7OyBmYW5jeS1kYWJicmV2DQotICAgYChmYW5jeS1kYWJicmV2 LW1lbnUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKGZhbmN5LWRhYmJyZXYtcHJldmlldy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQgOnVuZGVybGluZSB0KSkpDQotICAgYChmYW5jeS1kYWJicmV2LXNlbGVjdGlv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gYm9sZCkp KSkNCi07Ozs7OyBmbHljaGVjaw0KLSAgIGAoZmx5Y2hlY2stZXJyb3INCi0gICAgICgoLChhcHBl bmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAg IDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAg KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KGZseWNoZWNrLWVycm9yLWxpc3QtY2hlY2tlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1jb2x1bW4tbnVtYmVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGZseWNoZWNr LWVycm9yLWxpc3QtZXJyb3IgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1maWxl bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3It bGlzdC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0K LSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1pZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaWQtd2l0aC1leHBsYWlu ZXIgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZXJyb3ItbGlzdC1pZCA6Ym94IHQpKSkNCi0g ICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LXdhcm5p bmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZmx5Y2hlY2stZnJpbmdl LWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBg KGZseWNoZWNrLWZyaW5nZS1pbmZvICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5n ZS1jeWFuKSkpDQotICAgYChmbHljaGVjay1mcmluZ2Utd2FybmluZyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotICAgYChmbHljaGVjay1pbmZvDQotICAg ICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNz KQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctbm90ZSA6c3R5bGUgd2F2ZSkp DQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoZmx5Y2hlY2stdmVyaWZ5LXNlbGVjdC1jaGVja2VyICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDEgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSkpKQ0KLSAgIGAo Zmx5Y2hlY2std2FybmluZw0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5l ICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1s YW5nLXdhcm5pbmcgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBmbHljaGVjay1jb2xvci1tb2Rl LWxpbmUNCi0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1lcnJvci1mYWNlICgoLGNsYXNz IDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS1lcnJvcikpKQ0KLSAgIGAoZmx5Y2hlY2stY29sb3It bW9kZS1saW5lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2UtaW5m bykpKQ0KLSAgIGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lLXJ1bm5pbmctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZmx5Y2hl Y2stY29sb3ItbW9kZS1saW5lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1m cmluZ2Utd2FybmluZykpKQ0KLTs7Ozs7IGZseWNoZWNrLWluZGljYXRvcg0KLSAgIGAoZmx5Y2hl Y2staW5kaWNhdG9yLWRpc2FibGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3ItZXJy b3IgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGZseWNoZWNrLWluZGljYXRvci1pbmZvICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFj dGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXJ1bm5pbmcgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZl KSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3Itc3VjY2VzcyAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQot ICAgYChmbHljaGVjay1pbmRpY2F0b3Itd2FybmluZyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7 IGZseWNoZWNrLXBvc2ZyYW1lDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1iYWNrZ3JvdW5kLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJh bWUtYm9yZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZmx5 Y2hlY2stcG9zZnJhbWUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZmx5Y2hl Y2stcG9zZnJhbWUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBmbHltYWtlDQotICAg YChmbHltYWtlLWVycm9yDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUg KDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxh bmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxh bmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHltYWtlLW5vdGUNCi0gICAgICgoLChh cHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAg ICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1ub3RlIDpzdHlsZSB3YXZlKSkNCi0gICAg ICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUgOnVuZGVybGluZSB0KSkpDQotICAg YChmbHltYWtlLXdhcm5pbmcNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGlu ZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmct bGFuZy13YXJuaW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1sYW5nLXdhcm5pbmcgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5c3BlbGwNCi0gICBgKGZs eXNwZWxsLWR1cGxpY2F0ZQ0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5l ICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1s YW5nLXdhcm5pbmcgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseXNwZWxsLWluY29ycmVjdA0K LSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBj bGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3 YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxp bmUgdCkpKQ0KLTs7Ozs7IGZseXNwZWxsLWNvcnJlY3QNCi0gICBgKGZseXNwZWxsLWNvcnJlY3Qt aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVu KSkpDQotOzs7OzsgZmx4DQotICAgYChmbHgtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGENCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1t YWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi07Ozs7OyBm cmVlemUtaXQNCi0gICBgKGZyZWV6ZS1pdC1zaG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7IGZyb2ctbWVudQ0KLSAg IGAoZnJvZy1tZW51LWFjdGlvbi1rZXliaW5kaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChmcm9nLW1lbnUtYWN0aW9ucy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChmcm9nLW1lbnUtYm9yZGVyICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKGZyb2ctbWVudS1jYW5kaWRhdGVzLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGZyb2ctbWVudS1wb3Nm cmFtZS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAg IGAoZnJvZy1tZW51LXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot Ozs7OzsgZm9jdXMNCi0gICBgKGZvY3VzLXVuZm9jdXNlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctdW5mb2N1c2VkKSkpDQotOzs7OzsgZm9sZC10aGlzDQotICAgYChmb2xkLXRoaXMtb3Zlcmxh eSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBm b250LWxvY2sNCi0gICBgKGZvbnQtbG9jay1idWlsdGluLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xk LXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1jb21tZW50LWRlbGltaXRlci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZm9udC1sb2NrLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1jb25zdGFudC1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUt YWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLWRvYy1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmZy1zcGVjaWFsLWNvbGQgY3lhbi1hbHQtb3RoZXItZmFpbnQp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAoZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0g ICBgKGZvbnQtbG9jay1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xk LXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1uZWdhdGlvbi1jaGFyLWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LWZhaW50KQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXByZXByb2Nlc3Nvci1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0LW90aGVyIHJl ZC1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChmb250LWxvY2stcmVnZXhwLWdyb3VwaW5nLWJh Y2tzbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hh ci1iYWNrc2xhc2gpKSkNCi0gICBgKGZvbnQtbG9jay1yZWdleHAtZ3JvdXBpbmctY29uc3RydWN0 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0 cnVjdCkpKQ0KLSAgIGAoZm9udC1sb2NrLXN0cmluZy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9j ay10eXBlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBt YWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQp KSkpDQotICAgYChmb250LWxvY2std2FybmluZy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeWVsbG93LWFjdGl2ZSB5ZWxsb3ctYWx0LWZhaW50KQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSkpKQ0KLTs7Ozs7IGZvcmdlDQotICAgYChmb3JnZS1wb3N0LWF1dGhvciAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChmb3JnZS1wb3N0LWRh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZm9yZ2Ut dG9waWMtY2xvc2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGZvcmdl LXRvcGljLW1lcmdlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmb3Jn ZS10b3BpYy1vcGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0g ICBgKGZvcmdlLXRvcGljLXVubWVyZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvcmdlLXRvcGljLXVucmVhZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgZm91bnRh aW4tbW9kZQ0KLSAgIGAoZm91bnRhaW4tY2hhcmFjdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm91bnRhaW4tY29tbWVudCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvdW50YWlu LWRpYWxvZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGZvdW50YWlu LW1ldGFkYXRhLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQot ICAgYChmb3VudGFpbi1tZXRhZGF0YS12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkp KQ0KLSAgIGAoZm91bnRhaW4tbm9uLXByaW50aW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCi0gICBgKGZvdW50YWluLW5vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb3VudGFpbi1wYWdlLWJyZWFrICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGZvdW50 YWluLXBhZ2UtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQtb3RoZXIpKSkNCi0gICBgKGZvdW50YWluLXBhcmVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChmb3VudGFpbi1zY2VuZS1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1o ZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRj aCkgOmZvcmVncm91bmQgLGZnLW1haW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUt c2NhbGUtNCkpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy0xICgoLGNsYXNzIDpp bmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZn LW1haW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAg IGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1v ZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMykpKSkNCi0gICBgKGZvdW50 YWluLXNlY3Rpb24taGVhZGluZy0zICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVt ZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z Y2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTIpKSkpDQotICAgYChmb3VudGFpbi1zZWN0 aW9uLWhlYWRpbmctNCAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFi bGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0NCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xKSkpKQ0KLSAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFk aW5nLTUgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNo KSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChmb3VudGFpbi1zeW5vcHNp cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGZvdW50YWluLXRyYW5z ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7OzsgZ2Vpc2Vy DQotICAgYChnZWlzZXItZm9udC1sb2NrLWF1dG9kb2MtY3VycmVudC1hcmcgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWlu dCkpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stYXV0b2RvYy1pZGVudGlmaWVyICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWludCkp KSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stZG9jLWJ1dHRvbiAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnVuZGVybGluZSB0KSkpDQotICAgYChn ZWlzZXItZm9udC1sb2NrLWRvYy1saW5rICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBg KGdlaXNlci1mb250LWxvY2stZXJyb3ItbGluayAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQt bG9jay1pbWFnZS1idXR0b24gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ3JlZW4tYWx0IGdyZWVuLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9j ay1yZXBsLWlucHV0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGdlaXNlci1mb250 LWxvY2stcmVwbC1vdXRwdXQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGdl aXNlci1mb250LWxvY2stcmVwbC1wcm9tcHQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBg KGdlaXNlci1mb250LWxvY2steHJlZi1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0K LSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay14cmVmLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgbGluaykp KQ0KLTs7Ozs7IGdpdC1jb21taXQNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1hY3Rpb24gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQot ICAgYChnaXQtY29tbWl0LWNvbW1lbnQtYnJhbmNoLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0 LWNvbW1lbnQtYnJhbmNoLXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQg OnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWRl dGFjaGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1l LXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtZmlsZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBg KGdpdC1jb21taXQtY29tbWVudC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWRpbSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29t bWl0LWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdpdC1j b21taXQta25vd24tcHNldWRvLWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKGdpdC1jb21taXQtbm9uZW1wdHktc2Vjb25kLWxpbmUgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1v dmVybG9uZy1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxs b3cpKSkNCi0gICBgKGdpdC1jb21taXQtcHNldWRvLWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBnaXQtZ3V0dGVyDQotICAgYChnaXQtZ3V0 dGVyOmFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0K LSAgIGAoZ2l0LWd1dHRlcjpkZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS1yZWQpKSkNCi0gICBgKGdpdC1ndXR0ZXI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWd1dHRlcjpzZXBhcmF0b3Ig KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCi0gICBgKGdpdC1n dXR0ZXI6dW5jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdl bnRhKSkpDQotOzs7OzsgZ2l0LWd1dHRlci1mcg0KLSAgIGAoZ2l0LWd1dHRlci1mcjphZGRlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1n dXR0ZXItZnI6ZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVk KSkpDQotICAgYChnaXQtZ3V0dGVyLWZyOm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi07Ozs7OyBnaXQte2d1dHRlcixmcmluZ2V9Kw0KLSAg IGAoZ2l0LWd1dHRlcistYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdl LWdyZWVuKSkpDQotICAgYChnaXQtZ3V0dGVyKy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGdpdC1ndXR0ZXIrLW1vZGlmaWVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1ndXR0 ZXIrLXNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikp KQ0KLSAgIGAoZ2l0LWd1dHRlcistdW5jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQotICAgYChnaXQtZ3V0dGVyLWZyKy1hZGRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0ZXIt ZnIrLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0K LSAgIGAoZ2l0LWd1dHRlci1mcistbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZnJpbmdlLXllbGxvdykpKQ0KLTs7Ozs7IGdpdC1sZW5zDQotICAgYChnaXQtbGVucy1hZGRl ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ2l0 LWxlbnMtZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKGdpdC1sZW5zLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4x IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnaXQtbGVucy1tb2RpZmllZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdpdC1sZW5zLXJlbmFt ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLTs7Ozs7 IGdpdC1yZWJhc2UNCi0gICBgKGdpdC1yZWJhc2UtY29tbWVudC1oYXNoICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZ2l0LXJlYmFzZS1jb21tZW50LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctZGltIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1y ZWJhc2UtZGVzY3JpcHRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGdpdC1yZWJhc2UtaGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci07Ozs7OyBnaXQtdGltZW1hY2hpbmUNCi0gICBgKGdpdC10aW1lbWFjaGluZS1jb21taXQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAo Z2l0LXRpbWVtYWNoaW5lLW1pbmlidWZmZXItYXV0aG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZ2l0LXRpbWVtYWNoaW5lLW1pbmlidWZmZXIt ZGV0YWlsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyBnaXQt d2Fsa3RyZWUNCi0gICBgKGdpdC13YWxrdHJlZS1jb21taXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93KSkpDQotICAgYChnaXQtd2Fsa3RyZWUtc3ltbGluay1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ2l0LXdhbGt0cmVl LXRyZWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLTs7Ozs7IGdudXMN Ci0gICBgKGdudXMtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAoZ251 cy1jaXRlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChnbnVzLWNp dGUtMTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChn bnVzLWNpdGUtMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0g ICBgKGdudXMtY2l0ZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChn bnVzLWNpdGUtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChnbnVz LWNpdGUtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGdudXMt Y2l0ZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChnbnVzLWNp dGUtNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS03 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRl LTggKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0 ZS05ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMt Y2l0ZS1hdHRyaWJ1dGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgaXRh bGljKSkpDQotICAgYChnbnVzLWVtcGhhc2lzLWhpZ2hsaWdodC13b3JkcyAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwt MSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAg IGAoZ251cy1ncm91cC1tYWlsLTEtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMi1lbXB0eSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTMgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0g ICBgKGdudXMtZ3JvdXAtbWFpbC0zLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLWxvdyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAt bWFpbC1sb3ctZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0K LSAgIGAoZ251cy1ncm91cC1uZXdzLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0xLWVtcHR5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTIgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTItZW1w dHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0z ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQot ICAgYChnbnVzLWdyb3VwLW5ld3MtMy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93 LW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy00ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTQt ZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1n cm91cC1uZXdzLTUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5j ZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy01LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTYgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNi1l bXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLWdyb3VwLW5l d3MtbG93ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQp KSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy1sb3ctZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLW51YW5jZWQpKSkNCi0gICBgKGdudXMtaGVhZGVyLWNvbnRlbnQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtaGVhZGVyLWZyb20gKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIgOnVuZGVybGluZSBuaWwpKSkNCi0g ICBgKGdudXMtaGVhZGVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAg YChnbnVzLWhlYWRlci1uZXdzZ3JvdXBzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChnbnVzLWhlYWRlci1zdWJqZWN0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLXNl cnZlci1hZ2VudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChnbnVzLXNlcnZlci1jbG9zZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItY2xvdWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGdudXMtc2VydmVyLWNsb3VkLWhv c3QgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKGdu dXMtc2VydmVyLWRlbmllZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQp KSkNCi0gICBgKGdudXMtc2VydmVyLW9mZmxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChnbnVzLXNlcnZlci1vcGVuZWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdudXMtc2lnbmF0dXJlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAg IGAoZ251cy1zcGxhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251 cy1zdW1tYXJ5LWNhbmNlbGxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFs dCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtYW5jaWVudCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXJlYWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYChnbnVzLXN1bW1hcnktaGlnaC10aWNrZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtdW5kb3du bG9hZGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAoZ251cy1zdW1tYXJ5LWhpZ2gtdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ctYW5jaWVudCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3VtbWFy eS1sb3ctcmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCBpdGFsaWMpKSkN Ci0gICBgKGdudXMtc3VtbWFyeS1sb3ctdGlja2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt cmVmaW5lLWZnIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ctdW5kb3du bG9hZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnIDpzbGFudCBpdGFs aWMpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ctdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5v cm1hbC1hbmNpZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0g ICBgKGdudXMtc3VtbWFyeS1ub3JtYWwtcmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXRpY2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC11bmRvd25sb2Fk ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5v cm1hbC11bnJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGdudXMt c3VtbWFyeS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1 ZSkpKQ0KLTs7Ozs7IGdvbGRlbi1yYXRpby1zY3JvbGwtc2NyZWVuDQotICAgYChnb2xkZW4tcmF0 aW8tc2Nyb2xsLWhpZ2hsaWdodC1saW5lLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4t c3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgaGVsbQ0KLSAgIGAoaGVs bS1NLXgta2V5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChoZWxtLWFjdGlvbiAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGhlbG0tYm9va21hcmstYWRkcmVzc2Jvb2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWFsdCkpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1maWxlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWZpbGUtbm90 LWZvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAoaGVsbS1ib29rbWFyay1nbnVzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0KSkpDQotICAgYChoZWxtLWJvb2ttYXJrLW1hbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFsdCkpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay13M20gKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChoZWxtLWJ1ZmZlci1hcmNoaXZlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGhlbG0tYnVmZmVyLWRpcmVjdG9yeSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChoZWxtLWJ1 ZmZlci1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWJ1 ZmZlci1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAo aGVsbS1idWZmZXItbm90LXNhdmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChoZWxtLWJ1ZmZlci1wcm9jZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChoZWxtLWJ1ZmZlci1zYXZlZC1vdXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFj a2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGhlbG0tYnVmZmVyLXNp emUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1jYW5kaWRhdGUt bnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1j YW5kaWRhdGUtbnVtYmVyLXN1c3BlbmRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFj dGl2ZSkpKQ0KLSAgIGAoaGVsbS1jb21pbnQtcHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWNvbWludC1wcm9tcHRzLXBy b21wdGlkeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0t ZGVsZXRlLWFzeW5jLW1lc3NhZ2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZW9iLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tZXNoZWxsLXBy b21wdHMtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0K LSAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0cy1wcm9tcHRpZHggKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWV0YWdzLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWRpbSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhlbG0tZmYtYmFja3VwLWZpbGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1mZi1kZW5pZWQgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1yZWQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLXJlZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZWQpKSkpDQotICAgYChoZWxtLWZmLWRpcmVjdG9y eSAoKCxjbGFzcyA6aW5oZXJpdCBoZWxtLWJ1ZmZlci1kaXJlY3RvcnkpKSkNCi0gICBgKGhlbG0t ZmYtZGlycyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhl cikpKQ0KLSAgIGAoaGVsbS1mZi1kb3R0ZWQtZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoZWxt LWZmLWRvdHRlZC1zeW1saW5rLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCAoYnV0dG9uIGhl bG0tZmYtZG90dGVkLWRpcmVjdG9yeSkpKSkNCi0gICBgKGhlbG0tZmYtZXhlY3V0YWJsZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGhlbG0tZmYtZmlsZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1mZi1maWxlLWV4dGVuc2lv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChoZWxtLWZm LWludmFsaWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLHJl ZCkpKQ0KLSAgIGAoaGVsbS1mZi1waXBlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt ZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtcmVmaW5lLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSkpKSkNCi0gICBgKGhlbG0tZmYtcHJlZml4ICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93DQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyKSkpKQ0KLSAgIGAoaGVsbS1mZi1z b2NrZXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0t ZmYtc3VpZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25z DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1yZWQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXJlZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxv dw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQpKSkpDQotICAgYChoZWxt LWZmLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChoZWxtLWZmLXRydWVuYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1v dGhlcikpKQ0KLSAgIGAoaGVsbS1ncmVwLWNtZC1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChoZWxtLWdyZXAtZmlsZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0tZ3JlcC1m aW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1n cmVwLWxpbmVubyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAg YChoZWxtLWdyZXAtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1j YWxtKSkpDQotICAgYChoZWxtLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0taGVhZGVyLWxpbmUtbGVmdC1tYXJn aW4gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkN Ci0gICBgKGhlbG0taGlzdG9yeS1kZWxldGVkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXJlZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0taGlzdG9yeS1yZW1vdGUgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tbGlzcC1jb21wbGV0 aW9uLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo aGVsbS1saXNwLXNob3ctY29tcGxldGlvbiAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxs b3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkp DQotICAgYChoZWxtLWxvY2F0ZS1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFj dGl2ZSkpKQ0KLSAgIGAoaGVsbS1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1tYXRjaC1pdGVtICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4N Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1j eWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIpKSkp DQotICAgYChoZWxtLW1pbmlidWZmZXItcHJvbXB0ICgoLGNsYXNzIDppbmhlcml0IG1pbmlidWZm ZXItcHJvbXB0KSkpDQotICAgYChoZWxtLW1vY2N1ci1idWZmZXIgKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1tb2RlLXBy ZWZpeCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFn ZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkp DQotICAgYChoZWxtLW5vbi1maWxlLWJ1ZmZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChoZWxtLXByZWZhcmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUp KSkNCi0gICBgKGhlbG0tcmVzdW1lLW5lZWQtdXBkYXRlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVh bmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhLWFsdC1vdGhlcikpKSkNCi0gICBgKGhlbG0tc2VsZWN0aW9uICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuaWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1zZWxlY3Rpb24tbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGhlbG0tc2VwYXJhdG9yICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGhlbG0tdGltZS16b25lLWN1 cnJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChoZWxtLXRpbWUtem9u ZS1ob21lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoZWxtLXNvdXJj ZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAoaGVsbS10b3AtY29sdW1u cyAoKCxjbGFzcyA6aW5oZXJpdCBoZWxtLWhlYWRlcikpKQ0KLSAgIGAoaGVsbS11Y3MtY2hhciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS12aXNp YmxlLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi07 Ozs7OyBoZWxtLWxzLWdpdA0KLSAgIGAoaGVsbS1scy1naXQtYWRkZWQtY29waWVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LWFk ZGVkLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkp DQotICAgYChoZWxtLWxzLWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxzLWdpdC1kZWxldGVkLWFu ZC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBg KGhlbG0tbHMtZ2l0LWRlbGV0ZWQtbm90LXN0YWdlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LW1vZGlmaWVkLWFuZC1zdGFnZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LW1v ZGlmaWVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQot ICAgYChoZWxtLWxzLWdpdC1yZW5hbWVkLW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhlbG0tbHMtZ2l0LXVudHJhY2tlZC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyBoZWxtLXN3aXRjaC1zaGVs bA0KLSAgIGAoaGVsbS1zd2l0Y2gtc2hlbGwtbmV3LXNoZWxsLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRh DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90 aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Ym9sZCkpKSkNCi07Ozs7OyBoZWxtLXhyZWYNCi0gICBgKGhlbG0teHJlZi1maWxlLW5hbWUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChoZWxtLXhyZWYtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi07Ozs7OyBoZWxwZnVsDQotICAgYChoZWxwZnVsLWhlYWRpbmcgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQotOzs7OzsgaGlnaGxpZ2h0IHJlZ2lvbiBv ciBhZC1ob2MgcmVnZXhwDQotICAgYChoaS1ibGFjay1iICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxm Zy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChoaS1ibHVlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGluZSB0KSkpDQotICAg YChoaS1ibHVlLWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkp DQotICAgYChoaS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxncmVlbiA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpLWdyZWVuLWIgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAoaGktcGluayAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoaGktcmVkLWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQp KSkNCi0gICBgKGhpLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotICAgYChoaWdobGlnaHQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGhpZ2hsaWdodC1jaGFuZ2Vz ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChoaWdobGln aHQtY2hhbmdlcy1kZWxldGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIgOnVu ZGVybGluZSB0KSkpDQotICAgYChobC1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhsLWxpbmUpKSkNCi07Ozs7OyBoaWdobGlnaHQtYmxvY2tzDQotICAgYChoaWdobGlnaHQtYmxv Y2tzLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTItZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdo bGlnaHQtYmxvY2tzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lh bC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRl cHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jYWxtIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTUtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC13YXJtIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctc3BlY2lhbC1taWxkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGln aHQtYmxvY2tzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtOC1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGhpZ2hs aWdodC1kZWZpbmVkDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1idWlsdGluLWZ1bmN0aW9uLW5h bWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGlnaGxpZ2h0 LWRlZmluZWQtZmFjZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtbWFjcm8tbmFtZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaGlnaGxpZ2h0 LWRlZmluZWQtc3BlY2lhbC1mb3JtLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLXZhcmlhYmxlLW5hbWUt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGhpZ2hsaWdodC1lc2Nh cGUtc2VxdWVuY2VzIChgaGVzLW1vZGUnKQ0KLSAgIGAoaGVzLWVzY2FwZS1iYWNrc2xhc2gtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25z dHJ1Y3QpKSkNCi0gICBgKGhlcy1lc2NhcGUtc2VxdWVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1iYWNrc2xhc2gpKSkNCi07Ozs7OyBo aWdobGlnaHQtaW5kZW50YXRpb24NCi0gICBgKGhpZ2hsaWdodC1pbmRlbnRhdGlvbi1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi0gICBgKGhpZ2hsaWdodC1p bmRlbnRhdGlvbi1jdXJyZW50LWNvbHVtbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h Y3RpdmUpKSkNCi07Ozs7OyBoaWdobGlnaHQtbnVtYmVycw0KLSAgIGAoaGlnaGxpZ2h0LW51bWJl cnMtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLTs7Ozs7 IGhpZ2hsaWdodC1zeW1ib2wNCi0gICBgKGhpZ2hsaWdodC1zeW1ib2wtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBoaWdobGlnaHQtdGhp bmcNCi0gICBgKGhpZ2hsaWdodC10aGluZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaGwtZGVmaW5lZA0KLSAgIGAoaGRlZmQtZnVuY3Rp b25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChoZGVmZC11bmRlZmluZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGhkZWZkLXZhcmlhYmxlcyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi07Ozs7OyBobC1maWxsLWNvbHVtbg0K LSAgIGAoaGwtZmlsbC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi07Ozs7OyBobC10b2RvDQotICAgYChobC10b2Rv ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGh5ZHJhDQotICAgYChoeWRyYS1mYWNlLWFt YXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAoaHlkcmEtZmFjZS1ibHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQotICAgYChoeWRyYS1mYWNlLXBpbmsgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGh5ZHJhLWZhY2UtcmVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaHlkcmEtZmFjZS10ZWFs ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBoeXBl cmxpc3QNCi0gICBgKGh5cGVybGlzdC1jb25kaXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuKSkpDQotICAgYChoeXBlcmxpc3QtaGFzaHRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQotICAgYChoeXBlcmxpc3Qtb3BlcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQotICAgYChoeXBlcmxpc3QtcGFyZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChoeXBlcmxpc3QtcXVvdGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0KSkpDQotICAgYChoeXBlcmxpc3QtcmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaHlwZXJsaXN0LXN0YXJzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGh5cGVybGlzdC10YWcgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXRvcGxldmVsICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBpY29tcGxldGUNCi0gICBgKGlj b21wbGV0ZS1maXJzdC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEgYmctYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWN0 aXZlIGZnLW1haW4pKSkpDQotOzs7OzsgaWNvbXBsZXRlLXZlcnRpY2FsDQotICAgYChpY29tcGxl dGUtdmVydGljYWwtc2VwYXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07 Ozs7OyBpZG8tbW9kZQ0KLSAgIGAoaWRvLWZpcnN0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJv bGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YSBiZy1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1hY3Rp dmUgZmctbWFpbikpKSkNCi0gICBgKGlkby1pbmNvbXBsZXRlLXJlZ2V4cCAoKCxjbGFzcyA6aW5o ZXJpdCBlcnJvcikpKQ0KLSAgIGAoaWRvLWluZGljYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUteWVsbG93KSkpDQotICAgYChpZG8tb25seS1tYXRjaCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncmVlbiBncmVlbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncmVlbi1pbnRlbnNlLWJnIGZnLW1haW4pKSkpDQotICAgYChpZG8tc3ViZGlyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChpZG8tdmlydHVhbCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotOzs7OzsgaWVkaXQNCi0gICBgKGllZGl0 LW9jY3VycmVuY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkN Ci0gICBgKGllZGl0LXJlYWQtb25seS1vY2N1cnJlbmNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UteWVsbG93KSkpDQotOzs7OzsgaWZsaXBiDQotICAgYChpZmxpcGItY3Vy cmVudC1idWZmZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KLSAgIGAoaWZsaXBiLW90aGVyLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi07Ozs7OyBpbWVudS1saXN0DQotICAgYChpbWVudS1saXN0LWVudHJ5 LWZhY2UtMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW1lbnUtbGlzdC1l bnRyeS1mYWNlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGltZW51LWxp c3QtZW50cnktZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K LSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0xICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQotICAgYChpbWVu dS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChpbWVudS1saXN0 LWVudHJ5LXN1YmFsaXN0LWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGluZGl1bQ0KLSAgIGAoaW5k aXVtLWJyZWFrcG9pbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0K LSAgIGAoaW5kaXVtLWZyYW1lLXVybC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChpbmRpdW0ta2V5d29yZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5kaXVtLWxpdGFibGUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGluZGl1bS1yZXBsLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChpbmRpdW0tcmVwbC1wcm9tcHQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGluZGl1bS1y ZXBsLXN0ZG91dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7Ozsg aW5mbw0KLSAgIGAoSW5mby1xdW90ZWQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1t aXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpIDsgdGhlIGNhcGl0YWxpc2F0aW9uIGlzIGNhbm9uaWNhbA0KLSAgIGAoaW5mby1oZWFk ZXItbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKGluZm8taGVhZGVyLXhyZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQotICAgYChpbmZvLWluZGV4LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNoKSkpDQotICAg YChpbmZvLW1lbnUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmct MykpKQ0KLSAgIGAoaW5mby1tZW51LXN0YXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0K LSAgIGAoaW5mby1ub2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGluZm8tdGl0 bGUtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBgKGlu Zm8tdGl0bGUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCi0g ICBgKGluZm8tdGl0bGUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMp KSkNCi0gICBgKGluZm8tdGl0bGUtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTQpKSkNCi07Ozs7OyBpbmZvLWNvbG9ycw0KLSAgIGAoaW5mby1jb2xvcnMtbGlzcC1jb2Rl LWJsb2NrICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoKSkpDQotICAgYChpbmZvLWNvbG9y cy1yZWYtaXRlbS1jb21tYW5kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChpbmZvLWNvbG9ycy1yZWYtaXRlbS1jb25zdGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWZ1bmN0aW9uICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1t YWNybyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLW90 aGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYt aXRlbS1zcGVjaWFsLWZvcm0gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbmZvLWNvbG9y cy1yZWYtaXRlbS1zeW50YXgtY2xhc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS11c2VyLW9wdGlvbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdmFy aWFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBpbnRlcmFjdGlvbi1s b2cNCi0gICBgKGlsb2ctYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChpbG9nLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaWxvZy1lY2hvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGlsb2ctbG9hZC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoaWxvZy1tZXNzYWdlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaWxvZy1ub24tY2hhbmdlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi07Ozs7OyBpb2NjdXINCi0gICBgKGlvY2N1ci1jdXJzb3Ig KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGlvY2N1ci1pbnZhbGlkLXJl Z2V4cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChpb2NjdXItbWF0Y2gtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGlv Y2N1ci1tYXRjaC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12 ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoaW9j Y3VyLW51bS1saW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KLSAgIGAoaW9jY3VyLW92ZXJsYXktZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49IGVtYWNzLW1h am9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi0gICBgKGlvY2N1 ci1yZWdleHAtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdl bnRhIGJvbGQpKSkpDQotICAgYChpb2NjdXItdGl0bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUt NCkpKSkNCi07Ozs7OyBpc2VhcmNoLCBvY2N1ciwgYW5kIHRoZSBsaWtlDQotICAgYChpc2VhcmNo ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQot ICAgYChpc2VhcmNoLWZhaWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJl ZCkpKQ0KLSAgIGAobGF6eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLWN5YW4pKSkNCi0gICBgKG1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAocXVlcnktcmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCAo bW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgYm9sZCkpKSkNCi07Ozs7OyBpdnkNCi0gICBgKGl2 eS1hY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0K LSAgIGAoaXZ5LWNvbXBsZXRpb25zLWFubm90YXRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LWNv bmZpcm0tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaXZ5LWN1cnJl bnQtbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9u cw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt aW50ZW5zZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtc3BlY2lhbC13YXJtDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBu aWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAo aXZ5LWN1cnNvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmct bWFpbikpKQ0KLSAgIGAoaXZ5LWdyZXAtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCi0gICBgKGl2eS1ncmVwLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGl2eS1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaXZ5LW1hdGNoLXJlcXVpcmVkLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgZXJyb3IpKSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWFsdCkpKSkNCi0gICBgKGl2 eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbg0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4NCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVh bmNlZC1ncmVlbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdyZWVuLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gtZmFjZS0zICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5 YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1taW5pYnVm ZmVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNv bXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQt bWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1oaWdobGlnaHQgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0 bGUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXINCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkN Ci0gICBgKGl2eS1tb2RpZmllZC1idWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChpdnktbW9kaWZpZWQtb3V0c2lkZS1i dWZmZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LW9yZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKGl2eS1wcm9tcHQtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgaXZ5LWN1 cnJlbnQtbWF0Y2gpKSkNCi0gICBgKGl2eS1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCi0gICBgKGl2eS1zZXBhcmF0b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoaXZ5LXN1YmRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGl2eS12aXJ0dWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAoaXZ5LXlhbmtlZC13b3JkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmx1ZS1hbHQpKSkpDQotOzs7OzsgaXZ5LXBvc2ZyYW1lDQotICAgYChp dnktcG9zZnJhbWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoaXZ5LXBvc2ZyYW1lLWJvcmRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctYWN0aXZlKSkpDQotICAgYChpdnktcG9zZnJhbWUtY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotOzs7OzsgamlyYSAob3JnLWpp cmEpDQotICAgYChqaXJhbGliLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQotICAgYChqaXJhbGliLWNvbW1lbnQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KLSAgIGAoamlyYWxpYi1pc3N1ZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkpDQotICAgYChqaXJhbGliLWlzc3VlLWluZm8t aGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSBi b2xkKSkpKQ0KLSAgIGAoamlyYWxpYi1pc3N1ZS1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KLSAgIGAoamlyYWxpYi1saW5rLWZpbHRlci1mYWNlICgoLGNsYXNzIDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoamlyYWxpYi1saW5rLWlzc3VlLWZhY2UgKCgsY2xhc3MgOnVuZGVy bGluZSB0KSkpDQotICAgYChqaXJhbGliLWxpbmstcHJvamVjdC1mYWNlICgoLGNsYXNzIDp1bmRl cmxpbmUgdCkpKQ0KLTs7Ozs7IGpvdXJuYWxjdGwtbW9kZQ0KLSAgIGAoam91cm5hbGN0bC1lcnJv ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo am91cm5hbGN0bC1maW5pc2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGdyZWVuKSkpDQotICAgYChqb3VybmFsY3RsLWhvc3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAoam91cm5hbGN0bC1wcm9jZXNzLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChqb3VybmFsY3RsLXN0YXJ0aW5nLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChqb3VybmFsY3RsLXRpbWVz dGFtcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KGpvdXJuYWxjdGwtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGpzMi1tb2RlDQotICAgYChqczItZXJyb3IgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoanMyLWV4dGVybmFsLXZhcmlhYmxlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoanMyLWZ1bmN0aW9uLWNhbGwg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGpzMi1mdW5jdGlvbi1wYXJh bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoanMyLWluc3RhbmNlLW1lbWJl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGpzMi1q c2RvYy1odG1sLXRhZy1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGpzMi1qc2RvYy1odG1sLXRhZy1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQotICAgYChqczItanNkb2MtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNhbG0pKSkNCi0gICBgKGpzMi1qc2RvYy10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKGpzMi1qc2RvYy12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChqczItb2JqZWN0LXByb3BlcnR5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChqczItb2JqZWN0LXByb3BlcnR5LWFjY2Vz cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoanMyLXByaXZhdGUtZnVu Y3Rpb24tY2FsbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAg YChqczItcHJpdmF0ZS1tZW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCkpKQ0KLSAgIGAoanMyLXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQg OnVuZGVybGluZSB0KSkpDQotOzs7OzsganVsaWENCi0gICBgKGp1bGlhLW1hY3JvLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCi0gICBgKGp1bGlhLXF1b3RlZC1zeW1ib2wtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBqdXB5dGVyDQotICAgYChqdXB5dGVyLWV2 YWwtb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQot ICAgYChqdXB5dGVyLXJlcGwtaW5wdXQtcHJvbXB0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KLSAgIGAoanVweXRlci1yZXBsLW91dHB1dC1wcm9tcHQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChqdXB5dGVyLXJlcGwtdHJh Y2ViYWNrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7 Ozsga2FvY2hhLXJ1bm5lcg0KLSAgIGAoa2FvY2hhLXJ1bm5lci1lcnJvci1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGthb2NoYS1ydW5uZXItc3VjY2Vzcy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoa2FvY2hhLXJ1bm5lci13YXJuaW5n LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGtleWNhc3QNCi0g ICBgKGtleWNhc3QtY29tbWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlLWFjdGl2ZSkpKQ0KLSAgIGAoa2V5Y2FzdC1rZXkgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LW1haW4gYmx1ZS1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4g Ymx1ZS1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWN0aXZlIGJs dWUtaW50ZW5zZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FsdC1zdHlsZSAtMykp KSkNCi07Ozs7OyBsaW5lIG51bWJlcnMgKGRpc3BsYXktbGluZS1udW1iZXJzLW1vZGUgYW5kIGds b2JhbCB2YXJpYW50KQ0KLSAgIGAobGluZS1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVs dCA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGxpbmUt bnVtYmVyLWN1cnJlbnQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBsc3AtbW9kZQ0KLSAg IGAobHNwLWZhY2UtaGlnaGxpZ2h0LXJlYWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLWJsdWUgOnVuZGVybGluZSB0KSkpDQotICAgYChsc3AtZmFjZS1oaWdobGlnaHQtdGV4 dHVhbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAo bHNwLWZhY2UtaGlnaGxpZ2h0LXdyaXRlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1y ZWZpbmUtYmx1ZSBib2xkKSkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtY29uc3RhbnQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1k ZXByZWNhdGVkDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHls ZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUg KDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVy bGluZSB0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1lbnVtbWVtYmVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZmllbGQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1maWVs ZC1zdGF0aWMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0IDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWZ1bmN0aW9uICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1tZXRob2QgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLW5hbWVzcGFjZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXByZXByb2Nlc3NvciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtc3Rh dGljLW1ldGhvZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLWNsYXNzICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1lbnVt ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2Vt aGwtdHlwZS1wcmltaXRpdmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDpzbGFu dCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtdGVtcGxh dGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUtdHlwZWRlZiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAo bHNwLWZhY2Utc2VtaGwtdmFyaWFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC12YXJpYWJsZS1wYXJhbWV0ZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChsc3AtbGVucy1mYWNlICgoLGNs YXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGxzcC1sZW5zLW1v dXNlLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVy IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLXVpLWRvYy1iYWNrZ3JvdW5kICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGxzcC11aS1kb2MtaGVhZGVyICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KLSAgIGAobHNw LXVpLWRvYy11cmwgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlLWFs dC1vdGhlcikpKQ0KLSAgIGAobHNwLXVpLXBlZWstZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobHNwLXVpLXBlZWstZm9vdGVyICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KLSAgIGAo bHNwLXVpLXBlZWstaGVhZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVn cm91bmQgLGZnLWhlYWRlcikpKQ0KLSAgIGAobHNwLXVpLXBlZWstaGlnaGxpZ2h0ICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChsc3AtdWktcGVlay1s aW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChsc3AtdWkt cGVlay1saXN0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKGxzcC11aS1w ZWVrLXBlZWsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobHNwLXVpLXBl ZWstc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkp DQotICAgYChsc3AtdWktc2lkZWxpbmUtY29kZS1hY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLWN1cnJlbnQtc3ltYm9sICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmhlaWdodCAwLjk5IDpib3ggKDpsaW5lLXdpZHRoIC0xIDpzdHlsZSBu aWwpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChsc3AtdWktc2lkZWxpbmUtc3ltYm9s ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAwLjk5IDpib3ggKDpsaW5lLXdpZHRoIC0x IDpzdHlsZSBuaWwpIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGxzcC11aS1zaWRlbGlu ZS1zeW1ib2wtaW5mbyAoKCxjbGFzcyA6aGVpZ2h0IDAuOTkgOnNsYW50IGl0YWxpYykpKQ0KLTs7 Ozs7IG1hZ2l0DQotICAgYChtYWdpdC1iaXNlY3QtYmFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1iaXNlY3QtZ29vZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1iaXNlY3Qtc2tpcCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYmxhbWUtZGF0 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtZGltbWVk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLWhhc2gg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWFnaXQtYmxh bWUtaGVhZGluZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChtYWdpdC1i bGFtZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFu KSkpDQotICAgYChtYWdpdC1ibGFtZS1tYXJnaW4gKCgsY2xhc3MgOmluaGVyaXQgbWFnaXQtYmxh bWUtaGlnaGxpZ2h0KSkpDQotICAgYChtYWdpdC1ibGFtZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYmxhbWUtc3VtbWFyeSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC1j dXJyZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6Ym94IHQpKSkNCi0g ICBgKG1hZ2l0LWJyYW5jaC1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkN Ci0gICBgKG1hZ2l0LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotICAgYChtYWdpdC1icmFuY2gtcmVtb3RlLWhlYWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyIDpib3ggdCkpKQ0KLSAgIGAobWFnaXQtYnJhbmNoLXVwc3Ry ZWFtICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hZ2l0LWNoZXJyeS1lcXVpdmFs ZW50ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWlu dGVuc2UpKSkNCi0gICBgKG1hZ2l0LWNoZXJyeS11bm1hdGNoZWQgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KLSAgIDs7IE5PVEU6IGhl cmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBvZiBpbmhlcml0aW5nIGZyb20gdGhlDQotICAg OzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZhY2VzLCB0aG91Z2ggb25seSBmb3IgdGhlIHN0YW5kYXJk IGFjdGlvbnMsDQotICAgOzsgbm90IHRoZSBoaWdobGlnaHRlZCBvbmVzLiAgVGhpcyBpcyBiZWNh dXNlIE1hZ2l0J3MgaW50ZXJhY3Rpb24NCi0gICA7OyBtb2RlbCByZWxpZXMgb24gaGlnaGxpZ2h0 aW5nIHRoZSBjdXJyZW50IGRpZmYgaHVuay4NCi0gICBgKG1hZ2l0LWRpZmYtYWRkZWQgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJnLW1haW4gZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlmZi1hZGRlZCkpKSkNCi0gICBgKG1hZ2l0 LWRpZmYtYWRkZWQtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYt Zm9jdXMtYWRkZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtYmFzZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1t YWluIHllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtY2hh bmdlZCBmZy1kaWZmLWNoYW5nZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5 ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAgYChtYWdpdC1kaWZmLWJh c2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtY2hh bmdlZCkpKQ0KLSAgIGAobWFnaXQtZGlmZi1jb250ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy11bmZvY3VzZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtY29udGV4dC1oaWdobGlnaHQgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1kaW0NCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctaW5hY3RpdmUgZmctaW5hY3RpdmUNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGZnLWFsdCkp KSkNCi0gICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFnaXQtZGlmZi1maWxlLWhl YWRpbmctaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zcGVjaWFsLWNv bGQgYm9sZCkpKSkNCi0gICBgKG1hZ2l0LWRpZmYtZmlsZS1oZWFkaW5nLXNlbGVjdGlvbiAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIDs7IE5PVEU6IGhl cmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBvZiBpbmhlcml0aW5nIGZyb20gdGhlDQotICAg OzsgbW9kdXMtdGhlbWUtZGlmZi0qIGZhY2VzLg0KLSAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRp bmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWN0aXZlDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUp KSkNCi0gICBgKG1hZ2l0LWRpZmYtaHVuay1oZWFkaW5nLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctZGlmZi1oZWFk aW5nKSkpDQotICAgYChtYWdpdC1kaWZmLWh1bmstaGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCi0gICBgKG1hZ2l0LWRpZmYtaHVu ay1yZWdpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobWFnaXQtZGlmZi1saW5l cy1ib3VuZGFyeSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobWFnaXQt ZGlmZi1saW5lcy1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1t YWdlbnRhKSkpDQotICAgYChtYWdpdC1kaWZmLXJlbW92ZWQgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmct bWFpbiByZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJl bW92ZWQgZmctZGlmZi1yZW1vdmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVkKSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1y ZW1vdmVkLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWZvY3Vz LXJlbW92ZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmZzdGF0LWFkZGVkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAobWFnaXQtZGlmZnN0YXQtcmVtb3ZlZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkKSkpDQotICAgYChtYWdpdC1kaW1tZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAobWFnaXQtZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFnaXQtaGFzaCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1oZWFkICgoLGNsYXNzIDppbmhlcml0IG1hZ2l0 LWJyYW5jaC1sb2NhbCkpKQ0KLSAgIGAobWFnaXQtaGVhZGVyLWxpbmUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LWhlYWRl ci1saW5lLWtleSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQotICAgYChtYWdpdC1oZWFkZXItbGluZS1sb2ctc2VsZWN0ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1hZ2l0LWtleXdvcmQgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG1hZ2l0LWtleXdvcmQtc3F1YXNoICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0g ICBgKG1hZ2l0LWxvZy1hdXRob3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KG1hZ2l0LWxvZy1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1h Z2l0LWxvZy1ncmFwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtYWdp dC1tb2RlLWxpbmUtcHJvY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlLWFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtbW9kZS1saW5lLXByb2Nlc3MtZXJyb3IgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQt cHJvY2Vzcy1uZyAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KLSAgIGAobWFnaXQtcHJvY2Vz cy1vayAoKCxjbGFzcyA6aW5oZXJpdCBzdWNjZXNzKSkpDQotICAgYChtYWdpdC1yZWZsb2ctYW1l bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50 ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWNoZWNrb3V0ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxv Zy1jaGVycnktcGljayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAs Z3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWNvbW1pdCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAobWFn aXQtcmVmbG9nLW1lcmdlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5k ICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctb3RoZXIgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KLSAgIGAobWFn aXQtcmVmbG9nLXJlYmFzZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctcmVtb3RlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi0gICBg KG1hZ2l0LXJlZmxvZy1yZXNldCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdy b3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtcmVmbmFtZS1wdWxscmVxICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUtc3Rhc2ggKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtcmVmbmFtZS13aXAgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbiAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYWdpdC1zZWN0 aW9uLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K LSAgIGAobWFnaXQtc2VjdGlvbi1oZWFkaW5nLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCAo bW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gYm9sZCkpKSkNCi0gICBgKG1hZ2l0LXNlY3Rpb24taGln aGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVl bmNlLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAobWFnaXQt c2VxdWVuY2UtZHJvcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobWFn aXQtc2VxdWVuY2UtZXhlYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0g ICBgKG1hZ2l0LXNlcXVlbmNlLWhlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChtYWdpdC1zZXF1ZW5jZS1vbnRvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLXBhcnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLXBpY2sgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1zdG9wICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1iYWQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtZXJyb3IgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1leHBp cmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVy ZS1leHBpcmVkLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChtYWdp dC1zaWduYXR1cmUtZ29vZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG1h Z2l0LXNpZ25hdHVyZS1yZXZva2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQot ICAgYChtYWdpdC1zaWduYXR1cmUtdW50cnVzdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQotICAgYChtYWdpdC10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCi07Ozs7OyBtYWdpdC1pbWVyZ2UNCi0gICBgKG1hZ2l0LWltZXJnZS1vdmVycmlkaW5n LXZhbHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07 Ozs7OyBtYW4NCi0gICBgKE1hbi1vdmVyc3RyaWtlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKE1hbi1yZXZlcnNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYChNYW4tdW5kZXJsaW5lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IG1hcmtkb3duLW1v ZGUNCi0gICBgKG1hcmtkb3duLWJsb2NrcXVvdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmtk b3duLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChtYXJrZG93bi1j b2RlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykpKSkN Ci0gICBgKG1hcmtkb3duLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmtkb3duLWZvb3Rub3RlLW1h cmtlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChtYXJrZG93bi1mb290bm90ZS10ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFya2Rvd24tZ2Zt LWNoZWNrYm94LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChtYXJrZG93bi1oZWFkZXItZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobWFy a2Rvd24taGVhZGVyLWZhY2UgKCh0IG5pbCkpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2Ut MSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBgKG1hcmtk b3duLWhlYWRlci1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0y KSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWhlYWRpbmctMykpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtNCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRl ci1mYWNlLTUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01KSkpDQotICAg YChtYXJrZG93bi1oZWFkZXItZmFjZS02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctNikpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLXJ1bGUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1hcmtkb3du LWhyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQotICAgYChtYXJrZG93bi1odG1sLWF0dHItbmFtZS1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYXJrZG93bi1o dG1sLWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVk LWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZv cmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtZW50aXR5LWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hcmtk b3duLWh0bWwtdGFnLWRlbGltaXRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChtYXJrZG93bi1o dG1sLXRhZy1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1m b250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG1hcmtkb3duLWlubGluZS1jb2RlLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KG1hcmtkb3duLWl0YWxpYy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFya2Rvd24tbGFuZ3VhZ2UtaW5mby1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAobWFya2Rvd24tbGFuZ3VhZ2Uta2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAg IGAobWFya2Rvd24tbGluZS1icmVhay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1jeWFuIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWFya2Rvd24tbGluay1mYWNlICgo LGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKG1hcmtkb3duLWxpbmstdGl0bGUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKG1hcmtkb3duLWxpc3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctZGltKSkpDQotICAgYChtYXJrZG93bi1tYXJrdXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChtYXJrZG93bi1tYXRoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93bi1tZXRhZGF0YS1rZXktZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmtkb3du LW1ldGFkYXRhLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChtYXJrZG93bi1taXNzaW5nLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG1hcmtkb3duLXBsYWluLXVybC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1hcmtkb3duLWxpbmstZmFjZSkpKQ0KLSAgIGAobWFya2Rvd24tcHJlLWZh Y2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQg dCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tn cm91bmQgLGJnLWRpbQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobWFya2Rvd24tcmVmZXJlbmNlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbWFya2Rvd24tbWFya3VwLWZhY2UpKSkNCi0gICBgKG1hcmtkb3duLXN0 cmlrZS10aHJvdWdoLWZhY2UgKCgsY2xhc3MgOnN0cmlrZS10aHJvdWdoIHQpKSkNCi0gICBgKG1h cmtkb3duLXRhYmxlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1m b250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya2Rvd24tdXJsLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgbWFya3VwLWZhY2VzIChgYWRvYy1tb2RlJykNCi0g ICBgKG1hcmt1cC1hbmNob3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUp KSkNCi0gICBgKG1hcmt1cC1hdHRyaWJ1dGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct aW5hY3RpdmUgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFya3VwLWJpZy1mYWNlICgoLGNsYXNz IDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC1i b2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQp KSkNCi0gICBgKG1hcmt1cC1jb2RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZml4ZWQtcGl0Y2gg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG1hcmt1cC1jb21tYW5kLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJrdXAtY29tbWVudC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkp KQ0KLSAgIGAobWFya3VwLWNvbXBsZXgtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6 bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKG1hcmt1cC1lbXBoYXNpcy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFy a3VwLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChtYXJrdXAtZ2VuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotICAgYChtYXJrdXAtaW50ZXJuYWwtcmVmZXJlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLWl0YWxp Yy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50IGl0YWxp YykpKQ0KLSAgIGAobWFya3VwLWxpc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKG1hcmt1cC1tZXRhLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJrdXAtbWV0YS1oaWRlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFya3VwLXBhc3N0aHJvdWdoLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgZml4ZWQtcGl0Y2ggOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KG1hcmt1cC1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlcikpKQ0KLSAgIGAobWFya3VwLXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmt1cC1zZWNvbmRhcnktdGV4dC1mYWNl ICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0g ICBgKG1hcmt1cC1zbWFsbC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChtYXJrdXAtc3Ryb25nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC1zdWJzY3JpcHQtZmFj ZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYChtYXJrdXAtc3VwZXJzY3JpcHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYXJrdXAtdGFibGUtY2VsbC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya3Vw LXRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkN Ci0gICBgKG1hcmt1cC10YWJsZS1yb3ctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTAtZmFjZSAoKCxjbGFzcyA6aGVp Z2h0IDMuMCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUt MS1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMi40IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkN Ci0gICBgKG1hcmt1cC10aXRsZS0yLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjggOmZvcmVncm91 bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAobWFya3VwLXRpdGxlLTMtZmFjZSAoKCxjbGFzcyA6 aGVpZ2h0IDEuNCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0 bGUtNC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQp KSkNCi0gICBgKG1hcmt1cC10aXRsZS01LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjIgOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG1hcmt1cC12YWx1ZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLXZl cmJhdGltLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkp DQotOzs7OzsgbWVudG9yDQotICAgYChtZW50b3ItZG93bmxvYWQtbWVzc2FnZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtbmFt ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtZW50b3It ZG93bmxvYWQtcHJvZ3Jlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkp DQotICAgYChtZW50b3ItZG93bmxvYWQtc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCi0gICBgKG1lbnRvci1kb3dubG9hZC1zcGVlZC1kb3duICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXNwZWVkLXVw ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtZW50b3ItZG93bmxvYWQt c3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKG1lbnRvci1o aWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkp KQ0KLSAgIGAobWVudG9yLXRyYWNrZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi07Ozs7OyBtZXNzYWdlcw0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTEgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChtZXNzYWdlLWNpdGVkLXRleHQt MiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1jaXRlZC10 ZXh0LTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1j aXRlZC10ZXh0LTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYCht ZXNzYWdlLWhlYWRlci1jYyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChtZXNzYWdlLWhlYWRlci1uZXdzZ3JvdXBzICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAobWVzc2Fn ZS1oZWFkZXItb3RoZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLXN1YmplY3QgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG1lc3NhZ2Ut aGVhZGVyLXRvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0g ICBgKG1lc3NhZ2UtaGVhZGVyLXhoZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkN Ci0gICBgKG1lc3NhZ2UtbW1sICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCi0gICBgKG1lc3NhZ2Utc2VwYXJhdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtbmV1dHJhbCkpKQ0KLTs7Ozs7IG1pbmlidWZmZXItbGluZQ0KLSAgIGAobWluaWJ1 ZmZlci1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgbWluaW1h cA0KLSAgIGAobWluaW1hcC1hY3RpdmUtcmVnaW9uLWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobWluaW1hcC1jdXJyZW50LWxpbmUtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotOzs7OzsgbW9kZWxpbmUNCi0gICBgKG1vZGUtbGluZSAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZn LWFjdGl2ZSBiZy1hY3RpdmUgZmctZGltIGJnLWFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZnLWFsdCBiZy1hY3RpdmUgJ2FsdC1zdHlsZSBuaWwgYmctbWFpbikpKSkNCi0gICBg KG1vZGUtbGluZS1idWZmZXItaWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobW9k ZS1saW5lLWVtcGhhc2lzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWN0aXZlKSkpDQotICAgYChtb2RlLWxpbmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWFjdGl2ZS1ibHVlIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpzdHlsZSBwcmVzc2Vk LWJ1dHRvbikpKSkNCi0gICBgKG1vZGUtbGluZS1pbmFjdGl2ZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZnLWluYWN0aXZlIGJnLWluYWN0aXZlIGZnLWFsdCBiZy1kaW0NCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1yZWdpb24gYmctYWN0aXZlKSkpKQ0KLTs7 Ozs7IG1vb2QtbGluZQ0KLSAgIGAobW9vZC1saW5lLW1vZGlmaWVkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1lcnJvciAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChtb29k LWxpbmUtc3RhdHVzLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQot ICAgYChtb29kLWxpbmUtc3RhdHVzLW5ldXRyYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWN0aXZlKSkpDQotICAgYChtb29kLWxpbmUtc3RhdHVzLXN1Y2Nlc3MgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy13YXJuaW5nICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBg KG1vb2QtbGluZS11bmltcG9ydGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUp KSkNCi07Ozs7OyBtcGRlbA0KLSAgIGAobXBkZWwtYnJvd3Nlci1kaXJlY3RvcnktZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobXBkZWwtcGxheWxpc3QtY3VycmVudC1z b25nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCi07Ozs7OyBtdTRlDQotICAgYChtdTRlLWF0dGFjaC1udW1iZXItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRl ZC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChtdTRlLWNp dGVkLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobXU0ZS1j aXRlZC0zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAobXU0 ZS1jaXRlZC00LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAg YChtdTRlLWNpdGVkLTUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0K LSAgIGAobXU0ZS1jaXRlZC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChtdTRlLWNpdGVkLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAobXU0ZS1jb21wb3NlLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG11NGUt Y29tcG9zZS1zZXBhcmF0b3ItZmFjZSkpKQ0KLSAgIGAobXU0ZS1jb21wb3NlLXNlcGFyYXRvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLSAg IGAobXU0ZS1jb250YWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtY29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAobXU0ZS1kcmFmdC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobXU0ZS1mbGFnZ2VkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG11NGUtZm9vdGVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50 KSkpDQotICAgYChtdTRlLWZvcndhcmRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChtdTRlLWhlYWRlci1oaWdobGlnaHQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChtdTRlLWhlYWRlci1rZXkt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobXU0ZS1oZWFkZXItbWFy a3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLSAgIGAobXU0ZS1oZWFkZXItdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1taWxkKSkpDQotICAgYChtdTRlLWhlYWRlci12YWx1ZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtdTRl LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQotICAgYChtdTRlLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5r KSkpDQotICAgYChtdTRlLW1vZGVsaW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWN0aXZlKSkpDQotICAgYChtdTRlLW1vdmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdyA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtdTRlLW9rLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG11NGUt cmVnaW9uLWNvZGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkp DQotICAgYChtdTRlLXJlcGxpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1mYWlu dCkpKQ0KLSAgIGAobXU0ZS1zcGVjaWFsLWhlYWRlci12YWx1ZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChtdTRlLXN5c3Rl bS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWRlbCA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYChtdTRlLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKG11NGUtdHJhc2hlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi0gICBgKG11NGUtdW5yZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobXU0ZS11cmwtbnVtYmVyLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG11 NGUtdmlldy1ib2R5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG11NGUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdhcm5pbmcpKSkNCi07Ozs7OyBt dTRlLWNvbnZlcnNhdGlvbg0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24taGVhZGVyICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobXU0ZS1jb252ZXJz YXRpb24tc2VuZGVyLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTMgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRp b24tc2VuZGVyLTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobXU0ZS1j b252ZXJzYXRpb24tc2VuZGVyLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUt ZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci02ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLXJlZmluZS1mZykpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTcg KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KLSAgIGAobXU0ZS1jb252 ZXJzYXRpb24tc2VuZGVyLTggKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkp DQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItbWUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXVucmVhZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkKSkpDQotOzs7OzsgbXVsdGlwbGUtY3Vyc29ycw0KLSAgIGAobWMvY3Vyc29yLWJh ci1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMSA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo bWMvY3Vyc29yLWZhY2UgKCgsY2xhc3MgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAobWMvcmVn aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgcmVnaW9uKSkpDQotOzs7OzsgbmVvdHJlZQ0KLSAg IGAobmVvLWJhbm5lci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YChuZW8tYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChuZW8t ZGlyLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkp DQotICAgYChuZW8tZXhwYW5kLWJ0bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChuZW8tZmlsZS1saW5rLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKG5lby1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChuZW8tcm9vdC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobmVvLXZjLWFkZGVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChuZW8tdmMtY29uZmxpY3QtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG5lby12 Yy1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5l by12Yy1lZGl0ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChu ZW8tdmMtaWdub3JlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0K LSAgIGAobmVvLXZjLW1pc3NpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KLSAgIGAobmVvLXZjLW5lZWRzLW1lcmdlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0KSkpDQotICAgYChuZW8tdmMtbmVlZHMtdXBkYXRlLWZhY2UgKCgsY2xhc3MgOnVu ZGVybGluZSB0KSkpDQotICAgYChuZW8tdmMtcmVtb3ZlZC1mYWNlICgoLGNsYXNzIDpzdHJpa2Ut dGhyb3VnaCB0KSkpDQotICAgYChuZW8tdmMtdW5sb2NrZWQtY2hhbmdlcy1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChuZW8tdmMtdXAtdG8t ZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG5lby12Yy11 c2VyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBuby1lbW9q aQ0KLSAgIGAobm8tZW1vamkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBu b3RtdWNoDQotICAgYChub3RtdWNoLWNyeXB0by1kZWNyeXB0aW9uICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1wYXJ0 LWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS1iYWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS1nb29kICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbikpKQ0KLSAgIGAobm90bXVj aC1jcnlwdG8tc2lnbmF0dXJlLWdvb2Qta2V5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS11bmtub3du ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKG5vdG11 Y2gtaGVsbG8tbG9nby1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluKSkp DQotICAgYChub3RtdWNoLW1lc3NhZ2Utc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLW51YW5jZWQtY3lhbikpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtZmxhZ2dlZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChub3RtdWNoLXNlYXJj aC1tYXRjaGluZy1hdXRob3JzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChub3RtdWNoLXNlYXJjaC1ub24tbWF0Y2hpbmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChub3RtdWNoLXNlYXJjaC11bnJlYWQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQotICAgYChub3RtdWNoLXRhZy1hZGRlZA0KLSAgICAgKCgsKGFwcGVu ZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAg OnVuZGVybGluZSAoOmNvbG9yICxncmVlbiA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4gOnVuZGVybGluZSB0KSkpDQotICAgYChub3RtdWNoLXRhZy1kZWxl dGVkDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZl KSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLHJlZCA6c3R5bGUgd2F2ZSkp DQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAo bm90bXVjaC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl LWFsdCkpKQ0KLSAgIGAobm90bXVjaC10YWctZmxhZ2dlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLSAgIGAobm90bXVjaC10YWctdW5yZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobm90bXVjaC10cmVlLW1hdGNoLWF1dGhvci1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG5vdG11Y2gtdHJl ZS1tYXRjaC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChub3Rt dWNoLXRyZWUtbWF0Y2gtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdHJlZS1uby1tYXRjaC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG5vdG11Y2gtd2FzaC1jaXRlZC10ZXh0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChub3RtdWNoLXdhc2gtdG9nZ2xlLWJ1 dHRvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci07Ozs7OyBudW0zLW1vZGUNCi0gICBgKG51bTMtZmFjZS1ldmVuICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLTs7Ozs7IG54bWwtbW9kZQ0KLSAgIGAobnht bC1hdHRyaWJ1dGUtY29sb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG54bWwtYXR0cmlidXRlLWxvY2FsLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjeWFuLWFsdCBjeWFuLWFsdC1mYWludCkpKSkNCi0gICBgKG54bWwtYXR0cmlidXRl LXByZWZpeCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIg Y3lhbi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtYXR0 cmlidXRlLXZhbHVlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1m YWludCkpKSkNCi0gICBgKG54bWwtY2RhdGEtc2VjdGlvbi1DREFUQSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13 ZWlnaHQpKSkpDQotICAgYChueG1sLWNkYXRhLXNlY3Rpb24tZGVsaW1pdGVyICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0K LSAgIGAobnhtbC1jaGFyLXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBg KG54bWwtY2hhci1yZWYtbnVtYmVyICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdy ZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0K LSAgIGAobnhtbC1kZWxpbWl0ZWQtZGF0YSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG54bWwtZGVsaW1pdGVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG54bWwtZWxlbWVudC1jb2xv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobnhtbC1lbGVtZW50LWxv Y2FsLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdl bnRhLWZhaW50KSkpKQ0KLSAgIGAobnhtbC1lbGVtZW50LXByZWZpeCAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSkpKQ0KLSAgIGAobnhtbC1lbnRpdHktcmVmLWRlbGltaXRlciAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFp bnQpKSkpDQotICAgYChueG1sLWVudGl0eS1yZWYtbmFtZSAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xk LXdlaWdodCkpKSkNCi0gICBgKG54bWwtZ2x5cGggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAgYChueG1sLWhhc2ggKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJsdWUtYWx0IGJsdWUtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWhlYWRpbmcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobnhtbC1uYW1lICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnht bC1uYW1lc3BhY2UtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChueG1sLW5hbWVzcGFjZS1hdHRyaWJ1dGUtcHJlZml4ICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAo bnhtbC1wcm9jZXNzaW5nLWluc3RydWN0aW9uLXRhcmdldCAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90 aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1w cm9sb2cta2V5d29yZCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAo bnhtbC1yZWYgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1v dGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtYm9sZC13ZWlnaHQpKSkpDQotOzs7Ozsgb2JqZWQNCi0gICBgKG9iamVkLWhsICgoLGNsYXNz IDpiYWNrZ3JvdW5kICwoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmUNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctaGwtYWx0LWludGVuc2Ug YmctaGwtYWx0KSkpKQ0KLSAgIGAob2JqZWQtbWFyayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWN0aXZlKSkpDQotICAgYChvYmplZC1tb2RlLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWN0aXZlKSkpDQotOzs7Ozsgb3JkZXJsZXNzDQotICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFj ZS0wICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVl LW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1 ZS1yZWZpbmUtYmcgYmx1ZS1yZWZpbmUtZmcpKSkpDQotICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFj ZS0xICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRh LW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1yZWZpbmUtYmcgbWFnZW50YS1yZWZpbmUtZmcpKSkpDQotICAgYChvcmRlcmxlc3MtbWF0 Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9u cw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbiBncmVlbi1u dWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVu LXJlZmluZS1iZyBncmVlbi1yZWZpbmUtZmcpKSkpDQotICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFj ZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cgeWVsbG93LW51YW5j ZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LXJl ZmluZS1iZyB5ZWxsb3ctcmVmaW5lLWZnKSkpKQ0KLTs7Ozs7IG9yZw0KLSAgIGAob3JnLWFnZW5k YS1jYWxlbmRhci1ldmVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo b3JnLWFnZW5kYS1jYWxlbmRhci1zZXhwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkp KQ0KLSAgIGAob3JnLWFnZW5kYS1jbG9ja2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5k ICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChvcmct YWdlbmRhLWNvbHVtbi1kYXRlbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQot ICAgYChvcmctYWdlbmRhLWN1cnJlbnQtdGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kYXRlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChvcmctYWdlbmRhLWRhdGUtdG9kYXkgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKG9yZy1hZ2VuZGEtZGF0ZS13ZWVrZW5kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kaWFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kaW1tZWQtdG9kby1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWFnZW5kYS1kb25l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmls dGVyLWNhdGVnb3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotICAgYChvcmctYWdlbmRhLWZpbHRlci1lZmZvcnQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEt ZmlsdGVyLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1maWx0ZXItdGFncyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1y ZXN0cmljdGlvbi1sb2NrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1zdHJ1Y3R1cmUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChvcmctYXJjaGl2ZWQgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChvcmctYmxvY2sgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9jayBiZy1kaW0pDQotICAgICAgICAg ICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1ibG9jay1i ZWdpbi1saW5lICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1l LW9yZy1ibG9jay1kZWxpbQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YmctZGltIGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctYWx0IGZnLXNwZWNpYWwtbWlsZCkpKSkNCi0gICBgKG9yZy1ibG9jay1lbmQtbGlu ZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctYmxvY2stYmVnaW4tbGluZSkpKQ0KLSAgIGAob3JnLWNo ZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxiZy1hY3RpdmUpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKG9yZy1jaGVja2JveC1zdGF0aXN0aWNzLWRvbmUg KCgsY2xhc3MgOmluaGVyaXQgb3JnLWRvbmUpKSkNCi0gICBgKG9yZy1jaGVja2JveC1zdGF0aXN0 aWNzLXRvZG8gKCgsY2xhc3MgOmluaGVyaXQgb3JnLXRvZG8pKSkNCi0gICBgKG9yZy1jbG9jay1v dmVybGF5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAob3JnLWNvZGUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG9yZy1jb2x1bW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAob3JnLWNvbHVtbi10aXRsZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDp1bmRlcmxpbmUgdCA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChvcmctZGF0 ZSAoKCxjbGFzcyA6aW5oZXJpdCAoYnV0dG9uIGZpeGVkLXBpdGNoKSA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1kYXRlLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0IDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKG9y Zy1kb2N1bWVudC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKG9yZy1kb2N1bWVudC1pbmZvLWtleXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWRvY3VtZW50LXRpdGxlICgo LGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS01 KSkpKQ0KLSAgIGAob3JnLWRvbmUgKCgsY2xhc3MgOmJveCAsYmctcmVnaW9uIDpiYWNrZ3JvdW5k ICxiZy1kaW0gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChvcmctZHJhd2VyICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChvcmctZWxsaXBzaXMgKCgsY2xhc3Mg OmZvcmVncm91bmQgbmlsKSkpIDsgaW5oZXJpdHMgZnJvbSB0aGUgaGVhZGluZydzIGNvbG91cg0K LSAgIGAob3JnLWZvb3Rub3RlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCi0gICBgKG9yZy1mb3JtdWxhICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3Vu ZCAscmVkLWFsdCkpKQ0KLSAgIGAob3JnLWhhYml0LWFsZXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCi0gICBgKG9yZy1oYWJpdC1hbGVydC1m dXR1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkp DQotICAgYChvcmctaGFiaXQtY2xlYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKG9yZy1oYWJpdC1jbGVhci1mdXR1cmUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAob3Jn LWhhYml0LW92ZXJkdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCkpKQ0KLSAgIGAob3JnLWhhYml0LW92ZXJkdWUtZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAob3JnLWhhYml0LXJlYWR5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChv cmctaGFiaXQtcmVhZHktZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLWJsdWUpKSkNCi0gICBgKG9yZy1oZWFkbGluZS1kb25lICgoLGNsYXNzIDppbmhlcml0 ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNlZCkp KQ0KLSAgIGAob3JnLWhlYWRsaW5lLXRvZG8gKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1l LXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLWhp ZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKG9yZy1pbmRlbnQgKCgs Y2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG9yZy1oaWRlKSkpKQ0KLSAgIGAob3JnLWxhdGV4 LWFuZC1yZWxhdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0K LSAgIGAob3JnLWxldmVsLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0x KSkpDQotICAgYChvcmctbGV2ZWwtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTIpKSkNCi0gICBgKG9yZy1sZXZlbC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhlYWRpbmctMykpKQ0KLSAgIGAob3JnLWxldmVsLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaGVhZGluZy00KSkpDQotICAgYChvcmctbGV2ZWwtNSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCi0gICBgKG9yZy1sZXZlbC02ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0KLSAgIGAob3JnLWxldmVsLTcgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy03KSkpDQotICAgYChvcmctbGV2ZWwtOCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTgpKSkNCi0gICBgKG9yZy1saW5rICgo LGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKG9yZy1saXN0LWR0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCi0gICBgKG9yZy1tYWNybyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1u dWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLW1l dGEtbGluZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKSA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChvcmctbW9kZS1saW5lLWNsb2NrICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctbW9kZS1saW5lLWNsb2NrLW92ZXJydW4g KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KLSAgIGAob3JnLXBy aW9yaXR5ICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6YmFja2dyb3VuZCAsYmctZGltIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChvcmctcHJvcGVydHktdmFsdWUgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1xdW90 ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9jayBiZy1kaW0pDQotICAg ICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChvcmctc2NoZWR1bGVkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG9yZy1zY2hlZHVsZWQtcHJldmlvdXNs eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLXNj aGVkdWxlZC10b2RheSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKG9yZy1zZXhwLWRhdGUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWRhdGUpKSkNCi0gICBg KG9yZy1zcGVjaWFsLWtleXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhl ZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRhYmxlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAob3JnLXRhYmxlLWhlYWRlciAoKCxjbGFzcyA6 aW5oZXJpdCAoZml4ZWQtcGl0Y2ggbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpKQ0KLSAg IGAob3JnLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAg YChvcmctdGFnLWdyb3VwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t bnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRhcmdldCAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKG9yZy10aW1lLWdyaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0K LSAgIGAob3JnLXRvZG8gKCgsY2xhc3MgOmJveCAsYmctcmVnaW9uIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG9yZy11cGNvbWluZy1kZWFkbGluZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLXVwY29taW5n LWRpc3RhbnQtZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQot ICAgYChvcmctdmVyYmF0aW0gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhlZC1m b250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKG9yZy12ZXJzZSAoKCxjbGFzcyA6 aW5oZXJpdCBvcmctcXVvdGUpKSkNCi0gICBgKG9yZy13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi07Ozs7OyBvcmctam91cm5hbA0K LSAgIGAob3JnLWpvdXJuYWwtY2FsZW5kYXItZW50cnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdC1vdGhlciA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChv cmctam91cm5hbC1jYWxlbmRhci1zY2hlZHVsZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdC1vdGhlciA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChvcmctam91 cm5hbC1oaWdobGlnaHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7 Ozsgb3JnLW5vdGVyDQotICAgYChvcmctbm90ZXItbm8tbm90ZXMtZXhpc3QtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChvcmctbm90 ZXItbm90ZXMtZXhpc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCi07Ozs7OyBvcmctcG9tb2Rvcm8NCi0gICBgKG9yZy1wb21vZG9yby1t b2RlLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG9yZy1w b21vZG9yby1tb2RlLWxpbmUtYnJlYWsgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZl KSkpDQotICAgYChvcmctcG9tb2Rvcm8tbW9kZS1saW5lLW92ZXJ0aW1lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi07Ozs7OyBvcmctcmVjdXINCi0g ICBgKG9yZy1yZWN1ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi07 Ozs7OyBvcmctcm9hbQ0KLSAgIGAob3JnLXJvYW0tbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0 b24gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChvcmctcm9hbS1saW5rLWN1cnJlbnQgKCgs Y2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKG9y Zy1yb2FtLWxpbmstaW52YWxpZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAob3JnLXJvYW0tbGluay1zaGllbGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBi dXR0b24gOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAob3JnLXJvYW0tdGFnICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50IGl0YWxpYykpKQ0KLTs7Ozs7IG9yZy1zdXBlcnN0 YXINCi0gICBgKG9yZy1zdXBlcnN0YXItaXRlbSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAob3JnLXN1cGVyc3Rhci1sZWFkaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy13aGl0ZXNwYWNlKSkpDQotOzs7Ozsgb3JnLXRhYmxlLXN0aWNreS1oZWFkZXINCi0gICBgKG9y Zy10YWJsZS1zdGlja3ktaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1uZXV0cmFsKSkpDQotOzs7Ozsgb3JnLXRyZWVzY29wZQ0KLSAgIGAob3JnLXRyZWVz Y29wZS1mYWNlcy0tbWFya2VyaW50ZXJuYWwtbWlkZGF5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAob3JnLXRyZWVzY29wZS1mYWNlcy0tbWFya2Vy aW50ZXJuYWwtcmFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxk KSkpDQotOzs7Ozsgb3JpZ2FtaQ0KLSAgIGAob3JpZ2FtaS1mb2xkLWhlYWRlci1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRpbSA6Ym94IHQpKSkNCi0g ICBgKG9yaWdhbWktZm9sZC1yZXBsYWNlbWVudC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IG91dGxpbmUtbW9kZQ0KLSAgIGAo b3V0bGluZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLSAg IGAob3V0bGluZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0K LSAgIGAob3V0bGluZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykp KQ0KLSAgIGAob3V0bGluZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmct NCkpKQ0KLSAgIGAob3V0bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRp bmctNSkpKQ0KLSAgIGAob3V0bGluZS02ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctNikpKQ0KLSAgIGAob3V0bGluZS03ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhlYWRpbmctNykpKQ0KLSAgIGAob3V0bGluZS04ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctOCkpKQ0KLTs7Ozs7IG91dGxpbmUtbWlub3ItZmFjZXMNCi0gICBgKG91dGxp bmUtbWlub3ItMCAoKCxjbGFzcyBuaWwpKSkNCi07Ozs7OyBwYWNrYWdlIChNLXggbGlzdC1wYWNr YWdlcykNCi0gICBgKHBhY2thZ2UtZGVzY3JpcHRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocGFja2FnZS1oZWxwLXNlY3Rpb24tbmFtZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo cGFja2FnZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKHBhY2thZ2Utc3Rh dHVzLWF2YWlsLW9ic28gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChwYWNrYWdlLXN0YXR1cy1hdmFpbGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtYnVpbHQtaW4gKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWRlcGVuZGVuY3kg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChwYWNrYWdl LXN0YXR1cy1kaXNhYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVk KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1leHRlcm5hbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWhlbGQgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWluY29tcGF0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAocGFja2Fn ZS1zdGF0dXMtaW5zdGFsbGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLW5ldyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxncmVlbikpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtdW5zaWduZWQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IHBhZ2UtYnJlYWst bGluZXMNCi0gICBgKHBhZ2UtYnJlYWstbGluZXMgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVsdCA6 Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCi07Ozs7OyBwYXJhZG94DQot ICAgYChwYXJhZG94LWFyY2hpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQotICAgYChwYXJhZG94LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHBhcmFkb3gtY29t bWl0LXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRh IDpib3ggdCkpKQ0KLSAgIGAocGFyYWRveC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHBhcmFkb3gtZGVzY3JpcHRpb24tZmFj ZS1tdWx0aWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAocGFyYWRveC1kb3dubG9hZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt Ym9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocGFyYWRv eC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHBhcmFkb3gtaG9tZXBh Z2UtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAocGFyYWRveC1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAocGFyYWRveC1uYW1l LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGluZSB0KSkpDQotICAgYChw YXJhZG94LXN0YXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAo cGFyYWRveC1zdGFycmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkp DQotOzs7OzsgcGFyZW4tZmFjZQ0KLSAgIGAocGFyZW50aGVzaXMgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLTs7Ozs7IHBhcnJvdA0KLSAgIGAocGFycm90LXJvdGF0ZS1y b3RhdGlvbi1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YSkpKQ0KLTs7Ozs7IHBhc3MNCi0gICBgKHBhc3MtbW9kZS1kaXJlY3RvcnktZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKHBhc3MtbW9kZS1lbnRyeS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChwYXNzLW1vZGUtaGVhZGVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7IHBlcnNwLW1vZGUN Ci0gICBgKHBlcnNwLWZhY2UtbGlnaHRlci1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChwZXJzcC1mYWNlLWxpZ2h0 ZXItZGVmYXVsdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KLSAgIGAocGVyc3AtZmFjZS1saWdodGVyLW5pbC1wZXJzcCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi07Ozs7OyBwZXJzcGVjdGl2ZQ0KLSAg IGAocGVyc3Atc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxibHVlLWFjdGl2ZSkpKQ0KLTs7Ozs7IHBoaS1ncmVwDQotICAgYChwaGktZ3JlcC1oZWFkaW5n LWZhY2UgICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z Y2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChwaGktZ3JlcC1saW5l LW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0g ICBgKHBoaS1ncmVwLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC1jYWxtKSkpDQotICAgYChwaGktZ3JlcC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKHBoaS1ncmVwLW92ZXJsYXkt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLTs7Ozs7 IHBoaS1zZWFyY2gNCi0gICBgKHBoaS1yZXBsYWNlLXByZXZpZXctZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHBoaS1zZWFyY2gtZmFp bHBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQot ICAgYChwaGktc2VhcmNoLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLWN5YW4pKSkNCi0gICBgKHBoaS1zZWFyY2gtc2VsZWN0aW9uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCi07Ozs7OyBwa2di dWlsZC1tb2RlDQotICAgYChwa2didWlsZC1lcnJvci1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUg LGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyBwb21pZG9yDQotICAgYChwb21pZG9yLWJyZWFrLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChwb21pZG9y LW92ZXJ3b3JrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0g ICBgKHBvbWlkb3Itc2tpcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAocG9taWRvci13b3JrLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IHBvd2VybGluZQ0KLSAgIGAo cG93ZXJsaW5lLWFjdGl2ZTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91 bmQgLGJsdWUtZmFpbnQgOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAocG93ZXJsaW5lLWFjdGl2 ZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkKSkpDQotICAgYChwb3dlcmxpbmUtYWN0aXZlMiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKHBvd2VybGluZS1p bmFjdGl2ZTAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwb3dlcmxpbmUtaW5hY3RpdmUxICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChw b3dlcmxpbmUtaW5hY3RpdmUyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07Ozs7OyBwb3dlcmxpbmUtZXZpbA0KLSAgIGAocG93 ZXJsaW5lLWV2aWwtYmFzZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3Jl Z3JvdW5kICxiZy1tYWluKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1lbWFjcy1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhKSkpDQotICAgYChwb3dlcmxp bmUtZXZpbC1pbnNlcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUt Z3JlZW4pKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLW1vdGlvbi1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1ub3Jt YWwtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1tYWlu KSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1vcGVyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCi0gICBgKHBvd2VybGluZS1ldmlsLXJlcGxh Y2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAg YChwb3dlcmxpbmUtZXZpbC12aXN1YWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1hY3RpdmUtY3lhbikpKQ0KLTs7Ozs7IHByb2NlZA0KLSAgIGAocHJvY2VkLW1hcmsgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpKSkNCi0gICBgKHByb2NlZC1tYXJr ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkNCi0gICBgKHByb2Nl ZC1zb3J0LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNhbG0gOnVuZGVybGluZSB0KSkpDQotOzs7OzsgcHJvZGlneQ0KLSAgIGAocHJvZGlneS1n cmVlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocHJvZGlneS1y ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChwcm9kaWd5LXllbGxv dy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyByYWNrZXQtbW9k ZQ0KLSAgIGAocmFja2V0LWRlYnVnLWJyZWFrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHJhY2tldC1kZWJ1Zy1sb2NhbHMtZmFjZSAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgbmlsKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0g ICBgKHJhY2tldC1kZWJ1Zy1yZXN1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpib3gg KDpsaW5lLXdpZHRoIC0xIDpjb2xvciBuaWwpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChyYWNrZXQtaGVyZS1zdHJp bmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHJhY2tldC1r ZXl3b3JkLWFyZ3VtZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0g ICBgKHJhY2tldC1sb2dnZXItY29uZmlnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChyYWNrZXQtbG9nZ2VyLWRlYnVn LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChyYWNr ZXQtbG9nZ2VyLWluZm8tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlKSkp DQotICAgYChyYWNrZXQtbG9nZ2VyLXRvcGljLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAocmFja2V0LXNlbGZldmFs LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAocmFja2V0LXhw LWVycm9yLWZhY2UNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1l cnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1l cnJvciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyByYWluYm93LWJsb2Nrcw0KLSAgIGAocmFpbmJv dy1ibG9ja3MtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC0zLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0 aC00LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChyYWluYm93LWJs b2Nrcy1kZXB0aC01LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KHJhaW5ib3ctYmxvY2tzLWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTktZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3Mt dW5tYXRjaGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLTs7Ozs7IHJhaW5i b3ctaWRlbnRpZmllcnMNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRl bnRpZmllcnMtaWRlbnRpZmllci0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTMgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJz LWlkZW50aWZpZXItNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZp ZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChyYWluYm93LWlk ZW50aWZpZXJzLWlkZW50aWZpZXItNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci04ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVy LTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRl bnRpZmllcnMtaWRlbnRpZmllci0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlk ZW50aWZpZXItMTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAocmFpbmJv dy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTE0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTE1ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7OzsgcmFpbmJvdy1kZWxpbWl0ZXJzDQotICAgYChy YWluYm93LWRlbGltaXRlcnMtYmFzZS1mYWNlLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1iYXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0xLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1k ZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0zLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMt ZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQot ICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTYtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChyYWluYm93LWRlbGlt aXRlcnMtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0K LSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC05LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVy cy1taXNtYXRjaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLXVubWF0Y2hlZC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLTs7Ozs7IHJjaXJjDQotICAgYChy Y2lyYy1icmlnaHQtbmljayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KLSAgIGAocmNpcmMtZGltLW5pY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAocmNpcmMtbXktbmljayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChyY2lyYy1uaWNrLWluLW1lc3NhZ2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChyY2lyYy1uaWNrLWluLW1l c3NhZ2UtZnVsbC1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtbWlsZCkpKQ0KLSAgIGAocmNpcmMtb3RoZXItbmljayAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHJjaXJjLXByb21wdCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAg IGAocmNpcmMtc2VydmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0g ICBgKHJjaXJjLXRpbWVzdGFtcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkp DQotICAgYChyY2lyYy11cmwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGluZSB0 KSkpDQotOzs7OzsgcmVnZXhwLWJ1aWxkZXIgKHJlLWJ1aWxkZXIpDQotICAgYChyZWItbWF0Y2gt MCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKHJl Yi1tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkp KQ0KLSAgIGAocmViLW1hdGNoLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1ncmVlbikpKQ0KLSAgIGAocmViLW1hdGNoLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHJlYi1yZWdleHAtZ3JvdXBpbmctYmFja3NsYXNoICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFz aCkpKQ0KLSAgIGAocmViLXJlZ2V4cC1ncm91cGluZy1jb25zdHJ1Y3QgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotOzs7Ozsg cmcgKHJnLmVsKQ0KLSAgIGAocmctY29sdW1uLW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmctY29udGV4dC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKHJnLWVycm9yLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChyZy1maWxlLXRhZy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHJnLWZp bGVuYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChyZy1saW5lLW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHJnLWxpdGVyYWwtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHJnLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChyZy1yZWdleHAtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHJnLXRvZ2dsZS1vZmYt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0K LSAgIGAocmctdG9nZ2xlLW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHJnLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyByaXBncmVwDQotICAgYChyaXBn cmVwLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQot ICAgYChyaXBncmVwLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQotICAgYChyaXBncmVwLWhpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChyaXBncmVwLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotOzs7Ozsgcm1haWwNCi0gICBgKHJtYWlsLWhlYWRlci1u YW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocm1haWwt aGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotOzs7OzsgcnVsZXItbW9kZQ0KLSAgIGAocnVsZXItbW9kZS1jb2x1bW4tbnVtYmVyICgo LGNsYXNzIDppbmhlcml0IChydWxlci1tb2RlLWRlZmF1bHQgYm9sZCkgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKHJ1bGVyLW1vZGUtY29tbWVudC1jb2x1bW4gKCgsY2xhc3MgOmluaGVy aXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChy dWxlci1tb2RlLWN1cnJlbnQtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVm YXVsdCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUgOmJveCB0KSkpDQotICAgYChydWxlci1tb2Rl LWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1maWxsLWNvbHVtbiAoKCxjbGFzcyA6aW5o ZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAg IGAocnVsZXItbW9kZS1mcmluZ2VzICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVs dCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtZ29hbC1jb2x1 bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1tYXJnaW5zICgoLGNsYXNzIDppbmhlcml0 IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAocnVsZXIt bW9kZS1wYWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmct aW5hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtdGFiLXN0b3AgKCgsY2xhc3MgOmluaGVyaXQg cnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7Ozsg c2FsbGV0DQotICAgYChzYWxsZXQtYnVmZmVyLWNvbXByZXNzZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdy1udWFuY2VkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHNhbGxldC1idWZmZXIt ZGVmYXVsdC1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZCkpKQ0K LSAgIGAoc2FsbGV0LWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt bnVhbmNlZCkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1oZWxwICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHNhbGxldC1idWZmZXItbW9kaWZpZWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAo c2FsbGV0LWJ1ZmZlci1vcmRpbmFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoc2FsbGV0LWJ1ZmZlci1yZWFkLW9ubHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQpKSkNCi0gICBgKHNhbGxldC1idWZmZXItc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLXNwZWNpYWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChzYWxsZXQtZmx4LW1hdGNo ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1jeWFuDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lh bg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNl ZC1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVy KSkpKQ0KLSAgIGAoc2FsbGV0LXJlY2VudGYtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoc2FsbGV0LXJlY2VudGYtZmlsZS1wYXRoICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHNhbGxldC1yZWdleHAt bWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxl LW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXJlZmluZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIpKSkpDQotICAgYChzYWxsZXQtc291cmNlLWhl YWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxl IG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKHNhbGxldC1zdWJzdHJpbmct bWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3Vi dGxlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXJlZmluZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIpKSkpDQotOzs7Ozsgc2VsZWN0cnVtDQotICAg YChzZWxlY3RydW0tY3VycmVudC1jYW5kaWRhdGUNCi0gICAgICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVybGluZSAsZmctbWFpbg0KLSAgICAgICAgICAg ICAgOmJhY2tncm91bmQgLEAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnb3BpbmlvbmF0ZWQgKGxpc3QgYmctYWN0 aXZlKSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXyAobGlzdCBiZy1pbmFjdGl2 ZSkpKSkpKQ0KLSAgIGAoc2VsZWN0cnVtLXByaW1hcnktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFuY2Vk LWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1yZWZpbmUtYmcgbWFnZW50YS1yZWZpbmUtZmcpKSkpDQotICAgYChzZWxlY3RydW0tc2Vjb25k YXJ5LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN0YW5kYXJk LWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tcmVmaW5lLWJnIGN5YW4tcmVmaW5lLWZn KSkpKQ0KLTs7Ozs7IHNlbWFudGljDQotICAgYChzZW1hbnRpYy1jb21wbGV0ZS1pbmxpbmUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0K LSAgIGAoc2VtYW50aWMtZGVjb3JhdGlvbi1vbi1wcml2YXRlLW1lbWJlcnMtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAoc2VtYW50aWMtZGVj b3JhdGlvbi1vbi1wcm90ZWN0ZWQtbWVtYmVycy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1kaW0pKSkNCi0gICBgKHNlbWFudGljLWhpZ2hsaWdodC1lZGl0cy1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHNlbWFudGljLWhpZ2hsaWdodC1mdW5jLWN1cnJl bnQtdGFnLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoc2VtYW50 aWMtaWRsZS1zeW1ib2wtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtbWlsZCkpKQ0KLSAgIGAoc2VtYW50aWMtdGFnLWJvdW5kYXJ5LWZhY2UgKCgsY2xhc3Mg Om92ZXJsaW5lICxibHVlLWludGVuc2UpKSkNCi0gICBgKHNlbWFudGljLXVubWF0Y2hlZC1zeW50 YXgtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7Ozsgc2Vz bWFuDQotICAgYChzZXNtYW4tYnJvd3Nlci1idXR0b24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChzZXNtYW4tYnJvd3Nlci1o aWdobGlnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkp DQotICAgYChzZXNtYW4tYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCi0gICBgKHNlc21hbi1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChzZXNtYW4tcHJvamVjdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7Ozsgc2hl bGwtc2NyaXB0LW1vZGUNCi0gICBgKHNoLWhlcmVkb2MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQotICAgYChzaC1xdW90ZWQtZXhlYyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBz aG93LXBhcmVuLW1vZGUNCi0gICBgKHNob3ctcGFyZW4tbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1wYXJlbiBiZy1wYXJlbi1tYXRjaA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXBhcmVuLW1hdGNoLWlu dGVuc2UpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChzaG93LXBhcmVuLW1hdGNoLWV4cHJlc3Npb24gKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChzaG93LXBhcmVuLW1pc21hdGNo ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7Ozsgc2lk ZS1ub3Rlcw0KLSAgIGAoc2lkZS1ub3RlcyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCi07Ozs7OyBza2V3ZXItbW9kZQ0KLSAgIGAoc2tld2VyLWVy cm9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyBzbWFydC1tb2RlLWxpbmUNCi0gICBgKHNtbC9jaGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChzbWwvZGlzY2hhcmdpbmcgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKHNtbC9maWxlbmFtZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2ZvbGRlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChzbWwvZ2l0ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2dsb2Jh bCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChzbWwvbGluZS1udW1i ZXIgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL21pbm9yLW1vZGVz ICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9tb2RlcyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKHNtbC9tb2Rp ZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkp KQ0KLSAgIGAoc21sL211bGUtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQot ICAgYChzbWwvbmFtZS1maWxsaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZl KSkpDQotICAgYChzbWwvbm90LW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwp KSkNCi0gICBgKHNtbC9udW1iZXJzLXNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xv YmFsKSkpDQotICAgYChzbWwvb3V0c2lkZS1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoc21sL3Bvc2l0aW9uLXBlcmNlbnRhZ2UgKCgs Y2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL3ByZWZpeCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChzbWwvcHJvY2VzcyAoKCxjbGFzcyA6 aW5oZXJpdCBzbWwvcHJlZml4KSkpDQotICAgYChzbWwvcHJvamVjdGlsZSAoKCxjbGFzcyA6aW5o ZXJpdCBzbWwvZ2l0KSkpDQotICAgYChzbWwvcmVhZC1vbmx5ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChzbWwvcmVtb3RlICgoLGNsYXNz IDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9zdWRvICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKHNtbC90aW1lICgoLGNsYXNzIDppbmhl cml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC92YyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2l0 KSkpDQotICAgYChzbWwvdmMtZWRpdGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07Ozs7OyBzbWFydHBhcmVucw0KLSAgIGAoc3AtcGFpci1v dmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtKSkp DQotICAgYChzcC1zaG93LXBhaXItZW5jbG9zaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoc3Atc2hvdy1wYWlyLW1hdGNoLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1wYXJlbiBiZy1wYXJlbi1tYXRjaA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZy1wYXJlbi1tYXRjaC1pbnRlbnNlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNwLXNob3ctcGFpci1taXNt YXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQot ICAgYChzcC13cmFwLW92ZXJsYXktY2xvc2luZy1wYWlyICgoLGNsYXNzIDppbmhlcml0IHNwLXBh aXItb3ZlcmxheS1mYWNlKSkpDQotICAgYChzcC13cmFwLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5LW9w ZW5pbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KLSAg IGAoc3Atd3JhcC10YWctb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3Zl cmxheS1mYWNlKSkpDQotOzs7Ozsgc21lcmdlDQotICAgYChzbWVyZ2UtYmFzZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQpKSkNCi0gICBgKHNtZXJnZS1sb3dlciAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQotICAgYChzbWVyZ2Ut bWFya2VycyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91 bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQotICAgYChzbWVyZ2UtcmVmaW5lZC1hZGRlZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KLSAgIGAoc21l cmdlLXJlZmluZWQtY2hhbmdlZCAoKCxjbGFzcykpKQ0KLSAgIGAoc21lcmdlLXJlZmluZWQtcmVt b3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkKSkp DQotICAgYChzbWVyZ2UtdXBwZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1y ZW1vdmVkKSkpDQotOzs7Ozsgc3BhY2VsaW5lDQotICAgYChzcGFjZWxpbmUtZXZpbC1lbWFjcyAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSkpKQ0KLSAgIGAoc3Bh Y2VsaW5lLWV2aWwtaW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1n cmVlbikpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChzcGFjZWxpbmUtZXZpbC1ub3JtYWwgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQotICAgYChz cGFjZWxpbmUtZXZpbC1yZXBsYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2 ZS1yZWQpKSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1hY3RpdmUtY3lhbikpKQ0KLSAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWVycm9y ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUtZmx5 Y2hlY2staW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHNw YWNlbGluZS1mbHljaGVjay13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0 aXZlKSkpDQotICAgYChzcGFjZWxpbmUtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUpKSkNCi0gICBgKHNwYWNlbGluZS1tb2RpZmllZCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0KLSAgIGAoc3BhY2Vs aW5lLXB5dGhvbi12ZW52ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K LSAgIGAoc3BhY2VsaW5lLXJlYWQtb25seSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UtcmVkKSkpDQotICAgYChzcGFjZWxpbmUtdW5tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KLTs7Ozs7IHNwZWVkYmFyDQotICAgYChzcGVl ZGJhci1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChzcGVlZGJh ci1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChzcGVlZGJhci1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKHNwZWVkYmFyLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChzcGVlZGJhci1zZWxlY3RlZC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHNwZWVkYmFy LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1 dHJhbCkpKQ0KLSAgIGAoc3BlZWRiYXItdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1hbHQtb3RoZXIpKSkNCi07Ozs7OyBzcGVsbC1mdQ0KLSAgIGAoc3BlbGwtZnUtaW5jb3Jy ZWN0LWZhY2UNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxl IHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRl cmxpbmUgKDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5n LWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHN0cmlwZXMNCi0gICBgKHN0cmlwZXMgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLTs7Ozs7IHN1Y2Nlc3MNCi0g ICBgKHN1Z2dlc3QtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7Ozsgc3dpdGNoLXdpbmRvdw0KLSAgIGAoc3dpdGNoLXdp bmRvdy1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKHN3 aXRjaC13aW5kb3ctbGFiZWwgKCgsY2xhc3MgOmhlaWdodCAzLjAgOmZvcmVncm91bmQgLGJsdWUt aW50ZW5zZSkpKQ0KLTs7Ozs7IHN3aXBlcg0KLSAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gt ZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsKSkpDQot ICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZh Y2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KLSAg IGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoc3dpcGVyLWxpbmUtZmFjZSAoKCxjbGFzcyAs QChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xk KSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IHN3aXBlci1s aW5lLWZhY2UpKSkNCi0gICBgKHN3aXBlci1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQg c3dpcGVyLWxpbmUtZmFjZSkpKQ0KLSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6 aW5oZXJpdCBzd2lwZXItbGluZS1mYWNlKSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS00ICgo LGNsYXNzIDppbmhlcml0IHN3aXBlci1saW5lLWZhY2UpKSkNCi07Ozs7OyBzd29vcA0KLSAgIGAo c3dvb3AtZmFjZS1oZWFkZXItZm9ybWF0LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNj YWxlLTMpKSkpDQotICAgYChzd29vcC1mYWNlLWxpbmUtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKHN3b29wLWZhY2UtbGluZS1udW1iZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS10 YXJnZXQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpv ci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChzd29vcC1mYWNlLXRhcmdldC13 b3JkcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLTs7Ozs7 IHN4DQotICAgYChzeC1pbmJveC1pdGVtLXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQotICAgYChzeC1pbmJveC1pdGVtLXR5cGUtdW5yZWFkICgoLGNsYXNz IDppbmhlcml0IChzeC1pbmJveC1pdGVtLXR5cGUgYm9sZCkpKSkNCi0gICBgKHN4LXF1ZXN0aW9u LWxpc3QtYW5zd2VycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHN4LXF1 ZXN0aW9uLWxpc3QtYW5zd2Vycy1hY2NlcHRlZCAoKCxjbGFzcyA6Ym94IHQgOmZvcmVncm91bmQg LGdyZWVuKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWJvdW50eSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAo c3gtcXVlc3Rpb24tbGlzdC1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtZmF2b3JpdGUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChzeC1xdWVzdGlvbi1s aXN0LXBhcmVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbGlzdC1yZWFkLXF1ZXN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtbWlsZCkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1zY29yZS11cHZvdGVkICgoLGNs YXNzIDppbmhlcml0IChzeC1xdWVzdGlvbi1saXN0LXNjb3JlIGJvbGQpKSkpDQotICAgYChzeC1x dWVzdGlvbi1saXN0LXVucmVhZC1xdWVzdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWFjY2VwdGVkICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjMgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAg YChzeC1xdWVzdGlvbi1tb2RlLWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1h Y3RpdmUteWVsbG93IDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCkpKSkNCi0gICBgKHN4 LXF1ZXN0aW9uLW1vZGUtY2xvc2VkLXJlYXNvbiAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAy IDpjb2xvciBuaWwpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1t b2RlLWNvbnRlbnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChz eC1xdWVzdGlvbi1tb2RlLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBg KHN4LXF1ZXN0aW9uLW1vZGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUta2JkLXRhZyAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpoZWlnaHQgMC45IDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1tYWlu IDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChz eC1xdWVzdGlvbi1tb2RlLXNjb3JlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0g ICBgKHN4LXF1ZXN0aW9uLW1vZGUtc2NvcmUtZG93bnZvdGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtc2NvcmUtdXB2b3RlZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChzeC1xdWVzdGlv bi1tb2RlLXRpdGxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtdGl0bGUtY29tbWVudHMgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChzeC10YWcgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChzeC11c2VyLW5hbWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChzeC11c2VyLXJlcHV0YXRpb24gKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IHN5bWJvbC1vdmVybGF5DQotICAgYChzeW1i b2wtb3ZlcmxheS1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC13YXJtKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTEgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNl LTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBg KHN5bWJvbC1vdmVybGF5LWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLXllbGxvdykpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS00ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXkt ZmFjZS01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAg YChzeW1ib2wtb3ZlcmxheS1mYWNlLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLXJlZCkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS03ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbikpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS04 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotOzs7Ozsgc3lz bG9nLW1vZGUNCi0gICBgKHN5c2xvZy1kZWJ1ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoc3lzbG9nLWVycm9yICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoc3lzbG9nLWZpbGUgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChz eXNsb2ctaGlkZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAoc3lzbG9nLWhvdXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1pbmZvICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChzeXNsb2ct aXAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAoc3lzbG9nLXN1ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHN5c2xvZy13YXJuICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHRhYmxlIChidWlsdC1pbiB0YWJs ZS5lbCkNCi0gICBgKHRhYmxlLWNlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNl ZC1iZykpKQ0KLTs7Ozs7IHRlbGVwaG9uZS1saW5lDQotICAgYCh0ZWxlcGhvbmUtbGluZS1hY2Nl bnQtYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAs YmctaW5hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWFjY2VudC1pbmFjdGl2ZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0g ICBgKHRlbGVwaG9uZS1saW5lLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtZW1hY3MgKCgs Y2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsbWFnZW50YS1p bnRlbnNlLWJnKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLWluc2VydCAoKCxjbGFzcyA6 aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJn KSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLW1vdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCB0 ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZS1iZykpKQ0KLSAg IGAodGVsZXBob25lLWxpbmUtZXZpbC1ub3JtYWwgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25l LWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1l dmlsLW9wZXJhdG9yICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tn cm91bmQgLHllbGxvdy1zdWJ0bGUtYmcpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtcmVw bGFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxy ZWQtaW50ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC12aXN1YWwgKCgsY2xh c3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNl LWJnKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1wcm9qZWN0aWxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtdW5pbXBvcnRhbnQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS13 YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUp KSkNCi07Ozs7OyB0ZXJtDQotICAgYCh0ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0ZXJtLWJvbGQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCkpKQ0KLSAgIGAodGVybS1jb2xvci1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi bHVlIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCh0ZXJtLWNvbG9yLWN5YW4gKCgsY2xhc3Mg OmJhY2tncm91bmQgLGN5YW4gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHRlcm0tY29sb3It Z3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K LSAgIGAodGVybS1jb2xvci1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh0ZXJtLWNvbG9yLXJlZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAscmVkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHRlcm0tY29sb3IteWVsbG93 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAodGVybS11bmRlcmxpbmUgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgdG9tYXRp bmhvDQotICAgYCh0b21hdGluaG8tb2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1p bnRlbnNlKSkpDQotICAgYCh0b21hdGluaG8tcGF1c2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWludGVuc2UpKSkNCi0gICBgKHRvbWF0aW5oby1yZXNldC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyB0cmFuc2llbnQNCi0gICBgKHRyYW5zaWVu dC1hY3RpdmUtaW5maXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxk KSkpDQotICAgYCh0cmFuc2llbnQtYW1hcmFudGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQotICAgYCh0cmFuc2llbnQtYXJndW1lbnQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAodHJhbnNpZW50LWJsdWUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodHJhbnNp ZW50LWRpc2FibGVkLXN1ZmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCkpKQ0KLSAgIGAodHJhbnNpZW50LWVuYWJsZWQtc3VmZml4ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKHRyYW5zaWVudC1oZWFkaW5nICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyYW5z aWVudC1pbmFjdGl2ZS1hcmd1bWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYCh0cmFuc2llbnQtaW5hY3RpdmUtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAodHJhbnNpZW50LWtleSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYCh0cmFuc2llbnQtbWlzbWF0Y2hlZC1rZXkgKCgsY2xhc3MgOnVu ZGVybGluZSB0KSkpDQotICAgYCh0cmFuc2llbnQtbm9uc3RhbmRhcmQta2V5ICgoLGNsYXNzIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAodHJhbnNpZW50LXBpbmsgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodHJhbnNpZW50LXJlZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAodHJhbnNpZW50 LXRlYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKHRyYW5zaWVudC11bnJlYWNoYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct dW5mb2N1c2VkKSkpDQotICAgYCh0cmFuc2llbnQtdW5yZWFjaGFibGUta2V5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKHRyYW5zaWVudC12YWx1ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyB0cmFzaGVkDQotICAgYCh0cmFz aGVkLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1kZWwpKSkNCi0g ICBgKHRyYXNoZWQtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAg YCh0cmFzaGVkLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wp KSkNCi0gICBgKHRyYXNoZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1h cmstYWx0KSkpDQotICAgYCh0cmFzaGVkLXJlc3RvcmVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLW1hcmstc2VsKSkpDQotICAgYCh0cmFzaGVkLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLTs7Ozs7IHRyZWVtYWNzDQotICAg YCh0cmVlbWFjcy1kaXJlY3RvcnktY29sbGFwc2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQotICAgYCh0cmVlbWFjcy1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXJlZC1kaXJlY3RvcnkpKSkNCi0gICBgKHRyZWVtYWNzLWZpbGUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJlZW1hY3MtZnJpbmdlLWluZGlj YXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0cmVlbWFj cy1naXQtYWRkZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0K LSAgIGAodHJlZW1hY3MtZ2l0LWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVz LXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQotICAgYCh0cmVlbWFjcy1naXQtaWdub3JlZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1t b2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQot ICAgYCh0cmVlbWFjcy1naXQtcmVuYW1lZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LXVubW9kaWZpZWQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LXVudHJhY2tlZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYCh0cmVlbWFj cy1oZWxwLWNvbHVtbi1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13 ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKHRyZWVtYWNzLWhlbHAtdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCi0gICBgKHRyZWVtYWNzLW9uLWZhaWx1cmUtcHVsc2UtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAodHJlZW1hY3Mtb24t c3VjY2Vzcy1wdWxzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut Z3JlZW4pKSkNCi0gICBgKHRyZWVtYWNzLXJvb3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6aGVpZ2h0IDEuMiA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLWRpc2Nvbm5lY3RlZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFj cy1yb290LWZhY2UgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHRyZWVtYWNzLXJvb3Qt cmVtb3RlLXVucmVhZGFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LXVu cmVhZGFibGUtZmFjZSkpKQ0KLSAgIGAodHJlZW1hY3Mtcm9vdC11bnJlYWRhYmxlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNlIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQot ICAgYCh0cmVlbWFjcy10YWdzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQotICAgYCh0cmVlbWFjcy10YWdzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotOzs7OzsgdHR5LW1lbnUNCi0gICBgKHR0eS1tZW51LWRpc2FibGVkLWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0 dHktbWVudS1lbmFibGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAs YmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0dHktbWVudS1zZWxlY3RlZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLTs7Ozs7 IHR1YXJlZw0KLSAgIGAoY2FtbC10eXBlcy1kZWYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChjYW1sLXR5cGVzLWV4cHItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGNhbWwtdHlwZXMt b2NjLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQot ICAgYChjYW1sLXR5cGVzLXNjb3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLWJsdWUpKSkNCi0gICBgKGNhbWwtdHlwZXMtdHlwZWQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtZG91 YmxlLXNlbWljb2xvbi1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2Nr LWF0dHJpYnV0ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1jb25z dHJ1Y3Rvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0dWFy ZWctZm9udC1sb2NrLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWlu dGVuc2UtcmVkIGJvbGQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWV4dGVuc2lvbi1ub2Rl LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1nb3Zlcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWlu Zml4LWV4dGVuc2lvbi1ub2RlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHR1 YXJlZy1mb250LWxvY2staW50ZXJhY3RpdmUtZGlyZWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbnRlcmFj dGl2ZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVkIHJlZC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1m b250LWxvY2staW50ZXJhY3RpdmUtb3V0cHV0LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhl ci1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stbGFiZWwtZmFjZSAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3Ro ZXItZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWxpbmUtbnVtYmVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQt bG9jay1tb2R1bGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9j ay1tdWx0aXN0YWdlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmct YWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAg YCh0dWFyZWctZm9udC1sb2NrLW9wZXJhdG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJl Zy1vcGFtLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZCByZWQt ZmFpbnQpKSkpDQotICAgYCh0dWFyZWctb3BhbS1wa2ctdmFyaWFibGUtbmFtZS1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgdHlwZXNjcmlwdA0KLSAgIGAodHlwZXNj cmlwdC1qc2RvYy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh0eXBlc2NyaXB0LWpzZG9jLXR5cGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNs YW50KSkpDQotICAgYCh0eXBlc2NyaXB0LWpzZG9jLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IHVu ZG8tdHJlZQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItYWN0aXZlLWJyYW5jaC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHVuZG8t dHJlZS12aXN1YWxpemVyLWN1cnJlbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1p bnRlbnNlKSkpDQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1kZWZhdWx0LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItcmVn aXN0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAg YCh1bmRvLXRyZWUtdmlzdWFsaXplci11bm1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWludGVuc2UpKSkNCi07Ozs7OyB2YyAodmMtaG9va3MuZWwpDQotICAgYCh2Yy1j b25mbGljdC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6c2xhbnQgLG1v ZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh2Yy1lZGl0ZWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKHZjLWxvY2FsbHktYWRkZWQtc3RhdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYCh2Yy1sb2NrZWQtc3RhdGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYCh2Yy1taXNzaW5nLXN0 YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSA6c2xhbnQgLG1vZHVzLXRo ZW1lLXNsYW50KSkpDQotICAgYCh2Yy1uZWVkcy11cGRhdGUtc3RhdGUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFjdGl2ZSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh2 Yy1yZW1vdmVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAg YCh2Yy1zdGF0ZS1iYXNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBg KHZjLXVwLXRvLWRhdGUtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLTs7Ozs7IHZkaWZmDQotICAgYCh2ZGlmZi1hZGRpdGlvbi1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQpKSkNCi0gICBgKHZkaWZmLWNoYW5nZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KLSAgIGAodmRp ZmYtY2xvc2VkLWZvbGQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFs LTEgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotICAgYCh2ZGlmZi1yZWZpbmUt YWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkN Ci0gICBgKHZkaWZmLXJlZmluZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWRpZmYtcmVmaW5lLWNoYW5nZWQpKSkNCi0gICBgKHZkaWZmLXN1YnRyYWN0aW9uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkKSkpDQotICAgYCh2ZGlmZi10 YXJnZXQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkN Ci07Ozs7OyB2aW1pc2gtZm9sZA0KLSAgIGAodmltaXNoLWZvbGQtZnJpbmdlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAodmltaXNoLWZvbGQtbW91c2UtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKHZpbWlz aC1mb2xkLW92ZXJsYXkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgdmlzaWJsZS1tYXJrDQotICAgYCh2aXNpYmxlLW1h cmstYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcpKSkNCi0gICBg KHZpc2libGUtbWFyay1mYWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJn KSkpDQotICAgYCh2aXNpYmxlLW1hcmstZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxv dy1pbnRlbnNlLWJnKSkpDQotICAgYCh2aXNpYmxlLW1hcmstZm9yd2FyZC1mYWNlMSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnKSkpDQotICAgYCh2aXNpYmxlLW1hcmst Zm9yd2FyZC1mYWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0K LTs7Ozs7IHZpc3VhbC1yZWdleHANCi0gICBgKHZyL2dyb3VwLTAgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYCh2ci9ncm91cC0xICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAodnIvZ3JvdXAtMiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYCh2ci9t YXRjaC0wICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0g ICBgKHZyL21hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxv dykpKQ0KLSAgIGAodnIvbWF0Y2gtc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCBib2xkKSkpKQ0KLTs7Ozs7IHZvbGF0aWxlLWhpZ2hs aWdodHMNCi0gICBgKHZobC9kZWZhdWx0LWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1t YWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0K LTs7Ozs7IHZ0ZXJtDQotICAgYCh2dGVybS1jb2xvci1ibGFjayAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAiZ3JheTM1IiA6Zm9yZWdyb3VuZCAiZ3JheTM1IikpKQ0KLSAgIGAodnRlcm0tY29sb3ItYmx1 ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAo dnRlcm0tY29sb3ItY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbiA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLSAgIGAodnRlcm0tY29sb3ItZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodnRlcm0tY29sb3ItZ3JlZW4g KCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAo dnRlcm0tY29sb3ItaW52ZXJzZS12aWRlbyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6 aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYCh2dGVybS1jb2xvci1tYWdlbnRhICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxtYWdlbnRhIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh2dGVybS1j b2xvci1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYCh2dGVybS1jb2xvci11bmRlcmxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtd2FybSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLXdoaXRlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICJncmF5NjUiIDpmb3JlZ3JvdW5kICJncmF5NjUiKSkpDQotICAgYCh2dGVy bS1jb2xvci15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotOzs7Ozsgd2NoZWNrLW1vZGUNCi0gICBgKHdjaGVjay1kZWZhdWx0LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyB3ZWItbW9k ZQ0KLSAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1t b2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi1odG1sLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9k ZS1hbm5vdGF0aW9uLXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQt ZmFjZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWF0dHItbmFtZS1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWlu dCkpKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3Ro ZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1jb21tZW50LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1j b250cm9sLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAg YCh3ZWItbW9kZS1ibG9jay1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYm9sZC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKHdlYi1tb2RlLWJ1aWx0aW4tZmFjZSAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKHdlYi1tb2RlLWNvbW1lbnQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0g ICBgKHdlYi1tb2RlLWNvbW1lbnQta2V5d29yZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmJhY2tncm91bmQgLGJnLWRpbQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxvdy1m YWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkN Ci0gICBgKHdlYi1tb2RlLWNzcy1hdC1ydWxlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0g ICBgKHdlYi1tb2RlLWNzcy1jb2xvci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkp KSkNCi0gICBgKHdlYi1tb2RlLWNzcy1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2Vi LW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtZnVuY3Rpb24tZmFjZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRh LWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3Mt cHJpb3JpdHktZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxs b3ctYWx0IHllbGxvdy1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAo d2ViLW1vZGUtY3NzLXByb3BlcnR5LW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWNz cy1wc2V1ZG8tY2xhc3MtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRh eC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWIt bW9kZS1jc3Mtc2VsZWN0b3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt Ym9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3Mtc3RyaW5nLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy12YXJp YWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KHdlYi1tb2RlLWN1cnJlbnQtY29sdW1uLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQpKSkNCi0gICBgKHdlYi1tb2RlLWN1cnJlbnQtZWxlbWVudC1oaWdobGlnaHQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBg KHdlYi1tb2RlLWRvY3R5cGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHdlYi1tb2RlLWVycm9yLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHdl Yi1tb2RlLWZpbHRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWZvbGRlZC1mYWNlICgoLGNsYXNz IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2ViLW1vZGUtZnVuY3Rpb24tY2FsbC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQp KSkpDQotICAgYCh3ZWItbW9kZS1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdl Yi1tb2RlLWh0bWwtYXR0ci1jdXN0b20tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1h dHRyLWVuZ2luZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3 ZWItbW9kZS1odG1sLWF0dHItZXF1YWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKHdlYi1t b2RlLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAo d2ViLW1vZGUtaHRtbC1lbnRpdHktZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHllbGxvdy1hbHQtb3RoZXIgeWVsbG93LWFsdC1vdGhlci1mYWludCkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10YWctYnJhY2tldC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFnLWN1c3RvbS1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1m YWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFnLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9k ZS1odG1sLXRhZy1uYW1lc3BhY2VkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy11bmNsb3NlZC1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkIHJlZC1m YWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnVu ZGVybGluZSB0KSkpDQotICAgYCh3ZWItbW9kZS1pbmxheS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQpKSkNCi0gICBgKHdlYi1tb2RlLWl0YWxpYy1mYWNlICgoLGNsYXNzIDpzbGFu dCBpdGFsaWMpKSkNCi0gICBgKHdlYi1tb2RlLWphdmFzY3JpcHQtY29tbWVudC1mYWNlICgoLGNs YXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtamF2 YXNjcmlwdC1zdHJpbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFj ZSkpKQ0KLSAgIGAod2ViLW1vZGUtanNvbi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg d2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1qc29uLWNvbnRleHQtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdl bnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWpzb24ta2V5LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAod2ViLW1vZGUtanNvbi1zdHJpbmct ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2Vi LW1vZGUtanN4LWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtMi1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0g ICBgKHdlYi1tb2RlLWpzeC1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0 aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkKSkpDQotICAgYCh3ZWItbW9kZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1wYXJhbS1uYW1lLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkp KSkNCi0gICBgKHdlYi1tb2RlLXBhcnQtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdl Yi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtcGFydC1mYWNlICgoLGNsYXNz IDppbmhlcml0IHdlYi1tb2RlLWJsb2NrLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXBhcnQtc3Ry aW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBg KHdlYi1tb2RlLXByZXByb2Nlc3Nvci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZC1hbHQtb3RoZXIgcmVkLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdl Yi1tb2RlLXNjcmlwdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXBhcnQtZmFjZSkp KQ0KLSAgIGAod2ViLW1vZGUtc3FsLWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgeWVsbG93IHllbGxvdy1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXN0 cmluZy1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUt YWx0LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtc3R5bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXN5bWJvbC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVy LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtdHlwZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHdlYi1t b2RlLXVuZGVybGluZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2ViLW1v ZGUtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS13YXJuaW5nLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0DQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hbHQt b3RoZXIgeWVsbG93LWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXdoaXRlc3Bh Y2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAs Zmctd2hpdGVzcGFjZSkpKQ0KLTs7Ozs7IHdncmVwDQotICAgYCh3Z3JlcC1kZWxldGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYCh3Z3Jl cC1kb25lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkN Ci0gICBgKHdncmVwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdy ZWVuKSkpDQotICAgYCh3Z3JlcC1maWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAod2dyZXAtcmVqZWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg KG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQotOzs7Ozsgd2hpY2gtZnVuY3Rpb24t bW9kZQ0KLSAgIGAod2hpY2gtZnVuYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCi07Ozs7OyB3aGljaC1rZXkNCi0gICBgKHdoaWNoLWtleS1jb21tYW5kLWRlc2NyaXB0 aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHdoaWNoLWtleS1n cm91cC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KLSAgIGAod2hpY2gta2V5LWhpZ2hsaWdodGVkLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQgOnVuZGVybGluZSB0KSkpDQotICAgYCh3aGljaC1rZXkta2V5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQot ICAgYCh3aGljaC1rZXktbG9jYWwtbWFwLWRlc2NyaXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdoaWNoLWtleS1ub3RlLWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYCh3 aGljaC1rZXktc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAod2hpY2gta2V5LXNwZWNpYWwta2V5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCi07Ozs7OyB3aGl0ZXNwYWNlLW1vZGUNCi0g ICBgKHdoaXRlc3BhY2UtYmlnLWluZGVudCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtcmVkKSkpDQotICAgYCh3aGl0ZXNwYWNlLWVtcHR5ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1oc3BhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3Bh Y2UpKSkNCi0gICBgKHdoaXRlc3BhY2UtaW5kZW50YXRpb24gKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRl c3BhY2UtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkN Ci0gICBgKHdoaXRlc3BhY2UtbmV3bGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVz cGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1zcGFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hp dGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1zcGFjZS1hZnRlci10YWIgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHdoaXRlc3BhY2Utc3Bh Y2UtYmVmb3JlLXRhYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikp KQ0KLSAgIGAod2hpdGVzcGFjZS10YWIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3Bh Y2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2UtdHJhaWxp bmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyB3 aW5kb3ctZGl2aWRlci1tb2RlDQotICAgYCh3aW5kb3ctZGl2aWRlciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCi0gICBgKHdpbmRvdy1kaXZpZGVyLWZp cnN0LXBpeGVsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1vdXRlcikp KQ0KLSAgIGAod2luZG93LWRpdmlkZXItbGFzdC1waXhlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCi07Ozs7OyB3aW51bQ0KLSAgIGAod2ludW0tZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3Vu ZCAsY3lhbi1hY3RpdmUpKSkNCi07Ozs7OyB3cml0ZWdvb2QtbW9kZQ0KLSAgIGAod3JpdGVnb29k LWR1cGxpY2F0ZXMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxyZWQtYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod3JpdGVnb29kLXBhc3NpdmUtdm9pY2Ut ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQgOnVuZGVybGluZSAsZmct bGFuZy13YXJuaW5nKSkpDQotICAgYCh3cml0ZWdvb2Qtd2Vhc2Vscy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7 Ozsgd29tYW4NCi0gICBgKHdvbWFuLWFkZGl0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAod29tYW4tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh3b21hbi1pdGFsaWMgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4gOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAod29tYW4tdW5rbm93biAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyB4YWgtZWxp c3AtbW9kZQ0KLSAgIGAoeGFoLWVsaXNwLWF0LXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAoeGFoLWVsaXNwLWNhcC12YXJpYWJs ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXIgcmVkLWFs dC1vdGhlci1mYWludCkpKSkNCi0gICBgKHhhaC1lbGlzcC1jb21tYW5kLWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1m YWludCkpKSkNCi0gICBgKHhhaC1lbGlzcC1kb2xsYXItc3ltYm9sICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdyZWVuIGdyZWVuLWZhaW50KSkpKQ0KLTs7Ozs7IHhyZWYNCi0g ICBgKHhyZWYtZmlsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh4cmVmLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHhyZWYtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbWF0 Y2gpKSkNCi07Ozs7OyB5YW1sLW1vZGUNCi0gICBgKHlhbWwtdGFiLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyB5YXNuaXBwZXQNCi0gICBg KHlhcy1maWVsZC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgenRyZWUNCi0gICBgKHp0cmVlcC1hcnJvdy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoenRyZWVwLWRp ZmYtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEuMiA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh6dHJlZXAtZGlmZi1oZWFkZXItc21hbGwt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQp KSkNCi0gICBgKHp0cmVlcC1kaWZmLW1vZGVsLWFkZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbikpKQ0KLSAgIGAoenRyZWVwLWRpZmYtbW9kZWwtZGlmZi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHp0cmVlcC1kaWZmLW1vZGVsLWlnbm9yZWQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzdHJpa2UtdGhyb3VnaCB0KSkpDQotICAgYCh6 dHJlZXAtZGlmZi1tb2RlbC1ub3JtYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYCh6dHJlZXAtZXhwYW5kLXNpZ24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAoenRyZWVwLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoenRyZWVw LWxlYWYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoenRyZWVwLW5v ZGUtY291bnQtY2hpbGRyZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQotICAgYCh6dHJlZXAtbm9kZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpKQ0KLTs7OzsgRW1hY3MgMjcrDQotICAod2hlbiAoPj0gZW1hY3MtbWFqb3ItdmVyc2lv biAyNykNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0gICAgICdtb2R1cy12aXZlbmRp DQotOzs7OzsgbGluZSBudW1iZXJzIChgZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZScgYW5kIGds b2JhbCB2YXJpYW50KQ0KLSAgICAgOzsgTk9URSB0aGF0IHRoaXMgaXMgc3BlY2lmaWNhbGx5IGZv ciB0aGUgZmFjZXMgdGhhdCB3ZXJlDQotICAgICA7OyBpbnRyb2R1Y2VkIGluIEVtYWNzIDI3LCBh cyB0aGUgb3RoZXIgZmFjZXMgYXJlIGFscmVhZHkNCi0gICAgIDs7IHN1cHBvcnRlZC4NCi0gICAg IGAobGluZS1udW1iZXItbWFqb3ItdGljayAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICx5 ZWxsb3ctbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgICAgYChsaW5lLW51bWJlci1taW5v ci10aWNrICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQotOzs7OzsgdGFiLWJhci1tb2RlDQotICAgICBgKHRhYi1iYXIgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLXRhYi1iYXIgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICAgIGAodGFiLWJh ci10YWIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAs YmctdGFiLWFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQg LGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICAgIGAodGFiLWJhci10 YWItaW5hY3RpdmUgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1p bmFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91 bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7OzsgdGFiLWxp bmUtbW9kZQ0KLSAgICAgYCh0YWItbGluZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOTUgOmJhY2tncm91 bmQgLGJnLXRhYi1iYXIgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICAgIGAodGFiLWxpbmUt Y2xvc2UtaGlnaGxpZ2h0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICAgIGAodGFi LWxpbmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9y ZWdyb3VuZCAsZmctZGltKSkpDQotICAgICBgKHRhYi1saW5lLXRhYiAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItYWN0aXZlKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICAgIGAodGFiLWxpbmUtdGFiLWN1cnJlbnQgKCgsY2xhc3Mg OmluaGVyaXQgdGFiLWxpbmUtdGFiKSkpDQotICAgICBgKHRhYi1saW5lLXRhYi1pbmFjdGl2ZSAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWluYWN0aXZlKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1p bmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpKSkNCi07Ozs7IEVtYWNzIDI4Kw0KLSAgKHdo ZW4gKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjgpDQotICAgIChjdXN0b20tdGhlbWUtc2V0LWZh Y2VzDQotICAgICAnbW9kdXMtdml2ZW5kaQ0KLTs7Ozs7IGlzZWFyY2ggcmVnZXhwIGdyb3Vwcw0K LSAgICAgYChpc2VhcmNoLWdyb3VwLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1ibHVlKSkpDQotICAgICBgKGlzZWFyY2gtZ3JvdXAtMiAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkpKQ0KLTs7OyB2YXJpYWJsZXMNCi0gIChjdXN0 b20tdGhlbWUtc2V0LXZhcmlhYmxlcw0KLSAgICdtb2R1cy12aXZlbmRpDQotOzs7OyBhbnNpLWNv bG9ycw0KLSAgIGAoYW5zaS1jb2xvci1mYWNlcy12ZWN0b3IgW2RlZmF1bHQgYm9sZCBzaGFkb3cg aXRhbGljIHVuZGVybGluZSBzdWNjZXNzIHdhcm5pbmcgZXJyb3JdKQ0KLSAgIGAoYW5zaS1jb2xv ci1uYW1lcy12ZWN0b3IgWyxiZy1tYWluICxyZWQgLGdyZWVuICx5ZWxsb3cgLGJsdWUgLG1hZ2Vu dGEgLGN5YW4gLGZnLW1haW5dKQ0KLTs7OzsgYXdlc29tZS10cmF5DQotICAgYChhd2Vzb21lLXRy YXktbW9kZS1saW5lLWFjdGl2ZS1jb2xvciAsYmx1ZSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2Rl LWxpbmUtaW5hY3RpdmUtY29sb3IgLGJnLWFjdGl2ZSkNCi07Ozs7IGZseW1ha2UgZnJpbmdlIGlu ZGljYXRvcnMNCi0gICBgKGZseW1ha2UtZXJyb3ItYml0bWFwICcoZmx5bWFrZS1kb3VibGUtZXhj bGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkNCi0gICBgKGZseW1ha2Utd2Fy bmluZy1iaXRtYXAgJyhleGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cp KQ0KLSAgIGAoZmx5bWFrZS1ub3RlLWJpdG1hcCAnKGV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhl bWUtZnJpbmdlLWN5YW4pKQ0KLTs7OzsgaWJ1ZmZlcg0KLSAgIGAoaWJ1ZmZlci1kZWxldGlvbi1m YWNlICdtb2R1cy10aGVtZS1tYXJrLWRlbCkNCi0gICBgKGlidWZmZXItZmlsdGVyLWdyb3VwLW5h bWUtZmFjZSAnbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpDQotICAgYChpYnVmZmVyLW1hcmtlZC1m YWNlICdtb2R1cy10aGVtZS1tYXJrLXNlbCkNCi0gICBgKGlidWZmZXItdGl0bGUtZmFjZSAnbW9k dXMtdGhlbWUtcHNldWRvLWhlYWRlcikNCi07Ozs7IGhpZ2hsaWdodC10YWlsDQotICAgYChoaWdo bGlnaHQtdGFpbC1jb2xvcnMNCi0gICAgICcoKCxncmVlbi1zdWJ0bGUtYmcgLiAwKQ0KLSAgICAg ICAoLGN5YW4tc3VidGxlLWJnIC4gMjApKSkNCi07Ozs7IGhsLXRvZG8NCi0gICBgKGhsLXRvZG8t a2V5d29yZC1mYWNlcw0KLSAgICAgJygoIkhPTEQiIC4gLHllbGxvdy1hbHQpDQotICAgICAgICgi VE9ETyIgLiAsbWFnZW50YSkNCi0gICAgICAgKCJORVhUIiAuICxtYWdlbnRhLWFsdC1vdGhlcikN Ci0gICAgICAgKCJUSEVNIiAuICxtYWdlbnRhLWFsdCkNCi0gICAgICAgKCJQUk9HIiAuICxjeWFu KQ0KLSAgICAgICAoIk9LQVkiIC4gLGN5YW4tYWx0KQ0KLSAgICAgICAoIkRPTlQiIC4gLGdyZWVu LWFsdCkNCi0gICAgICAgKCJGQUlMIiAuICxyZWQpDQotICAgICAgICgiQlVHIiAuICxyZWQpDQot ICAgICAgICgiRE9ORSIgLiAsZ3JlZW4pDQotICAgICAgICgiTk9URSIgLiAseWVsbG93LWFsdC1v dGhlcikNCi0gICAgICAgKCJLTFVER0UiIC4gLHllbGxvdykNCi0gICAgICAgKCJIQUNLIiAuICx5 ZWxsb3cpDQotICAgICAgICgiVEVNUCIgLiAscmVkLW51YW5jZWQpDQotICAgICAgICgiRklYTUUi IC4gLHJlZC1hbHQtb3RoZXIpDQotICAgICAgICgiWFhYKyIgLiAscmVkLWFsdCkNCi0gICAgICAg KCJSRVZJRVciIC4gLGN5YW4tYWx0LW90aGVyKQ0KLSAgICAgICAoIkRFUFJFQ0FURUQiIC4gLGJs dWUtbnVhbmNlZCkpKQ0KLTs7OzsgdmMtYW5ub3RhdGUgKEMteCB2IGcpDQotICAgYCh2Yy1hbm5v dGF0ZS1iYWNrZ3JvdW5kIG5pbCkNCi0gICBgKHZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZSBu aWwpDQotICAgYCh2Yy1hbm5vdGF0ZS1jb2xvci1tYXANCi0gICAgICcoKDIwIC4gLHJlZCkNCi0g ICAgICAgKDQwIC4gLG1hZ2VudGEpDQotICAgICAgICg2MCAuICxtYWdlbnRhLWFsdCkNCi0gICAg ICAgKDgwIC4gLHJlZC1hbHQpDQotICAgICAgICgxMDAgLiAseWVsbG93KQ0KLSAgICAgICAoMTIw IC4gLHllbGxvdy1hbHQpDQotICAgICAgICgxNDAgLiAsZmctc3BlY2lhbC13YXJtKQ0KLSAgICAg ICAoMTYwIC4gLGZnLXNwZWNpYWwtbWlsZCkNCi0gICAgICAgKDE4MCAuICxncmVlbikNCi0gICAg ICAgKDIwMCAuICxncmVlbi1hbHQpDQotICAgICAgICgyMjAgLiAsY3lhbi1hbHQtb3RoZXIpDQot ICAgICAgICgyNDAgLiAsY3lhbi1hbHQpDQotICAgICAgICgyNjAgLiAsY3lhbikNCi0gICAgICAg KDI4MCAuICxmZy1zcGVjaWFsLWNvbGQpDQotICAgICAgICgzMDAgLiAsYmx1ZSkNCi0gICAgICAg KDMyMCAuICxibHVlLWFsdCkNCi0gICAgICAgKDM0MCAuICxibHVlLWFsdC1vdGhlcikNCi0gICAg ICAgKDM2MCAuICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAodmMtYW5ub3RhdGUtdmVyeS1v bGQtY29sb3IgbmlsKQ0KLTs7OzsgeHRlcm0tY29sb3INCi0gICBgKHh0ZXJtLWNvbG9yLW5hbWVz IFssYmctbWFpbiAscmVkICxncmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFuICxmZy1h bHRdKQ0KLSAgIGAoeHRlcm0tY29sb3ItbmFtZXMtYnJpZ2h0IFssYmctYWx0ICxyZWQtYWx0ICxn cmVlbi1hbHQgLHllbGxvdy1hbHQgLGJsdWUtYWx0ICxtYWdlbnRhLWFsdCAsY3lhbi1hbHQgLGZn LW1haW5dKSkNCi07OzsgQ29uZGl0aW9uYWwgdGhlbWUgdmFyaWFibGVzDQotOzs7OyBvcmctc3Jj LWJsb2NrLWZhY2VzDQotICA7OyB0aGlzIGlzIGEgdXNlciBvcHRpb24gdG8gYWRkIGEgY29sb3Vy LWNvZGVkIGJhY2tncm91bmQgdG8gc291cmNlDQotICA7OyBibG9ja3MgZm9yIHZhcmlvdXMgcHJv Z3JhbW1pbmcgbGFuZ3VhZ2VzDQotICAod2hlbiAoZXEgbW9kdXMtdml2ZW5kaS10aGVtZS1vcmct YmxvY2tzICdyYWluYm93KQ0KLSAgICAoY3VzdG9tLXRoZW1lLXNldC12YXJpYWJsZXMNCi0gICAg ICdtb2R1cy12aXZlbmRpDQotICAgICBgKG9yZy1zcmMtYmxvY2stZmFjZXMgICAgICAgICAgICAg IDsgVE9ETyB0aGlzIGxpc3Qgc2hvdWxkIGJlIGV4cGFuZGVkDQotICAgICAgIGAoKCJlbWFjcy1s aXNwIiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEpDQotICAgICAgICAgKCJlbGlzcCIgbW9k dXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiY2xvanVyZSIgbW9kdXMtdGhl bWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiY2xvanVyZXNjcmlwdCIgbW9kdXMtdGhl bWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiYyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1i bHVlKQ0KLSAgICAgICAgICgiYysrIiBtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUpDQotICAgICAg ICAgKCJzaCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoInNoZWxsIiBt b2R1cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KLSAgICAgICAgICgiaHRtbCIgbW9kdXMtdGhlbWUt bnVhbmNlZC15ZWxsb3cpDQotICAgICAgICAgKCJ4bWwiIG1vZHVzLXRoZW1lLW51YW5jZWQteWVs bG93KQ0KLSAgICAgICAgICgiY3NzIiBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCkNCi0gICAgICAg ICAoInNjc3MiIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkKQ0KLSAgICAgICAgICgicHl0aG9uIiBt b2R1cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KLSAgICAgICAgICgiaXB5dGhvbiIgbW9kdXMtdGhl bWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiciIgbW9kdXMtdGhlbWUtbnVhbmNlZC1j eWFuKQ0KLSAgICAgICAgICgieWFtbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAg ICAgICgiY29uZiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAgICAgICgiZG9ja2Vy IiBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAgKCJqc29uIiBtb2R1cy10aGVt ZS1udWFuY2VkLWN5YW4pKSkpKSkNCisoZGVmdGhlbWUgbW9kdXMtdml2ZW5kaQ0KKyAgIkFjY2Vz c2libGUgYW5kIGN1c3RvbWl6YWJsZSBkYXJrIHRoZW1lIChXQ0FHIEFBQSBzdGFuZGFyZCkuDQor Q29uZm9ybXMgd2l0aCB0aGUgaGlnaGVzdCBsZWdpYmlsaXR5IHN0YW5kYXJkIGZvciBjb2xvciBj b250cmFzdA0KK2JldHdlZW4gYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBpbiBhbnkgZ2l2ZW4g cGllY2Ugb2YgdGV4dCwNCit3aGljaCBjb3JyZXNwb25kcyB0byBhIG1pbmltdW0gY29udHJhc3Qg aW4gcmVsYXRpdmUgbHVtaW5hbmNlIG9mDQorNzoxLiIpDQogDQotOzs7IGxpYnJhcnkgcHJvdmlk ZXMNCi07OzsjIyNhdXRvbG9hZA0KLSh3aGVuIGxvYWQtZmlsZS1uYW1lDQotICAoYWRkLXRvLWxp c3QgJ2N1c3RvbS10aGVtZS1sb2FkLXBhdGgNCi0gICAgICAgICAgICAgICAoZmlsZS1uYW1lLWFz LWRpcmVjdG9yeSAoZmlsZS1uYW1lLWRpcmVjdG9yeSBsb2FkLWZpbGUtbmFtZSkpKSkNCisobW9k dXMtdGhlbWVzLXRoZW1lIG1vZHVzLXZpdmVuZGkpDQogDQogKHByb3ZpZGUtdGhlbWUgJ21vZHVz LXZpdmVuZGkpDQogDQotKHByb3ZpZGUgJ21vZHVzLXZpdmVuZGktdGhlbWUpDQotDQogOzs7IG1v ZHVzLXZpdmVuZGktdGhlbWUuZWwgZW5kcyBoZXJlDQotLSANCjIuMzAuMQ0KDQo= --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 04 17:07:09 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 22:07:09 +0000 Received: from localhost ([127.0.0.1]:60545 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHw7h-00013f-1g for submit@debbugs.gnu.org; Thu, 04 Mar 2021 17:07:09 -0500 Received: from mail-qk1-f171.google.com ([209.85.222.171]:33575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHw7f-00013F-6Q for 45068@debbugs.gnu.org; Thu, 04 Mar 2021 17:07:08 -0500 Received: by mail-qk1-f171.google.com with SMTP id l4so50244qkl.0 for <45068@debbugs.gnu.org>; Thu, 04 Mar 2021 14:07:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version; bh=rdBeZZdpn8M6/xmlB5rp+r9n2Y0MEwX0nLMAbnKja/A=; b=nd/W60mWl/GCwXS0iTjDGr1gav6gs8TjwutvIUVcP4U++prjW6bZZT+L7KjyXUXqnu 5EllkC+Ta7ausfwskq3S9OApZ3G0yQDv1YMsOfqEbHIObyjFiXpdAqbDq0dMYiMYFKkF 8yKB1+6iJtWdLxCkrAMsovzeYh2yRrDRksxBrBy47/zOcNPfSj97yG0jHUUqAo8KvJpy baz1GW6MlfTZmEoVpRKH2GibJnfXksoh3Ob5M3SGtTqnNFKcwSfq9jBMv8QkNrwmFjRz u9LCi/kqEK2E2YWZp9R5xVnrwgP7uDcqyeMO3kEOX5+nl8lQb6/MQjmthQ+O+hX1mYNO u+zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version; bh=rdBeZZdpn8M6/xmlB5rp+r9n2Y0MEwX0nLMAbnKja/A=; b=UkM8Re9HgN6HQx4aGWOb5JVp5Qpxe1DzylbJJYcOu1y133Us1smKGugnAEn0U0qbov dmyDFXuVbTpXmsEqlYYwXGA6YknroSjql85L2mAi4XMDccKKwsM27xEF3dJCbcYkfiwL N3KK9Gz2FtMhS1vSHljautBUmuf7qOrmK2G8FtyqbBc8w6jRhqCHToZ1QUCqiZuf1nEo 2tUW1QKkGttgUPeFG19MP0d95Y0mf/Z7fLIgisa+mv/PPXcLmmzzmRZ4pct4wB9qx5B4 t6TB7XLfkmasVEMiIzUpEI1v0fyBgNw3nGhCR9LMkMNzgfv6tHaqZUfHG1AXAKvQSexx Jtmw== X-Gm-Message-State: AOAM530GVrb2YulIsUhsY38R4Pd6F7qaGA0RbFb2jN1QMo1p9wVjmi9s swtxkUvBVy1qz4vxjeiVOZvGc5XkQNCDfZ8K X-Google-Smtp-Source: ABdhPJwcAiru55VYJGj/Gz04H6SpZLhlvtZfTQycIc4VCoTPw8y47M2WqX9JEhzo7xs8YHlF0qV3uA== X-Received: by 2002:a37:6197:: with SMTP id v145mr6383457qkb.227.1614895621466; Thu, 04 Mar 2021 14:07:01 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id o7sm481698qkb.104.2021.03.04.14.06.59 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 04 Mar 2021 14:07:00 -0800 (PST) Message-ID: <60415a04.1c69fb81.63f7a.3bc2@mx.google.com> X-Google-Original-Message-ID: <87a6rir2ta.fsf_-_@maurooaranda@gmail.com> From: Mauro Aranda To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> Date: Thu, 04 Mar 2021 19:06:57 -0300 In-Reply-To: <87eeguab7o.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Thu, 04 Mar 2021 22:57:31 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-04, 13:53 -0300, Mauro Aranda wrote: > >>> ;;;###autoload >>> (when (and (boundp 'custom-theme-load-path) load-file-name) >>> (add-to-list 'custom-theme-load-path >>> (file-name-as-directory (file-name-directory load-file-name)))) >> >> A nit: I think this code should avoid adding the value of >> custom-theme-directory or the built-in theme directory name to >> custom-theme-load-path , if `custom-theme-directory' (for the former) or >> t (for the latter) are already present in custom-theme-load-path. In >> particular, a theme distributed with Emacs should at least check for t, >> to avoid a repeated entry. >> >> I've noticed that the leuven theme has a similar code as well: I think >> that is a (really minor) bug. > > I have removed that form altogether. It makes sense for packages but > here they are safe themes. Is that okay, or have I misunderstood > something? Sounds OK to me; for themes that are only distributed with Emacs, it doesn't seem to be needed. But if you plan to keep distributing them as packages via ELPA, then it might make sense to keep it. I don't know what's the plan, so I can't say for sure if the form should stay or not. > Thanks again! Thanks to you! From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 04 17:40:36 2021 Received: (at 45068) by debbugs.gnu.org; 4 Mar 2021 22:40:36 +0000 Received: from localhost ([127.0.0.1]:60574 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHwe3-0001rL-QZ for submit@debbugs.gnu.org; Thu, 04 Mar 2021 17:40:36 -0500 Received: from mail-qv1-f52.google.com ([209.85.219.52]:43461) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHwe1-0001r9-R4 for 45068@debbugs.gnu.org; Thu, 04 Mar 2021 17:40:34 -0500 Received: by mail-qv1-f52.google.com with SMTP id gi9so55297qvb.10 for <45068@debbugs.gnu.org>; Thu, 04 Mar 2021 14:40:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:from:to:cc:subject:references:date:in-reply-to :user-agent:mime-version:content-transfer-encoding; bh=VL5GKB7wXrJYxtoOn00Al788qc2dZvPqa6qII00ypog=; b=GzD19efRDaqKmb2o/BHyo8Ickr8289feMN5ZSsRDKks9oTCPQHDPw5yth0ectvFnIz 9l2kdMre/JZ0OnIiTFPD/6sKnrupCTdCeoYPdzOhRINfhjxwORFdT8Q1aJgUylQ9ebz5 f4sEwIgQtQO2bpeHz5veu0GWjNOkjzGHJtw58DBvcvdSaCOFxZwP2dKxlk1JJOiLFBmp jPNBEz69YRVoB9PGnBEvKrkLs/JqMe3kMiMMj+GQVFzSpyR44WPd2NTm8BnKHeKqqe7e qXA9Qh11ioBhqI/CGfrpKrElnLswr/ZzwZ/rUQjo9a/nZ/jfdlsF5x8DSALzXl2KdmEi UFIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:from:to:cc:subject:references:date :in-reply-to:user-agent:mime-version:content-transfer-encoding; bh=VL5GKB7wXrJYxtoOn00Al788qc2dZvPqa6qII00ypog=; b=KilTlpnQrFq+lfglRCukcm3Hw6B+wzBaMb/GMWufTjToZnA83XnYRrva2+ptXtU2NX pq8sqI8TgwtPtKWqLRy43T4xci0wyaCJaMT1ZW0lJeEEolinSX0LC9UlrgVZzZIxlKdK q5Xh7OkoT0FzlY2FodINZD58lbyI8pjdxzGSOZ0t2MdiUu7QIZx9fhmiZioJC9iMPNqC A3b1Ws6zPPx240c8QYNcNdFhkknuj7UtKA7S/UkvqKPJxRCLs3Ly2ttEz5PnmuLnCYx+ lQYY+l/jqgPIkMXuqyI54fEDSNfauodIbvcMTJEkTlbuhzRotqEAbM1dLa1R4Mjvd7HL V0zg== X-Gm-Message-State: AOAM532HsMYK6RiVlaAUzt0GWjzHby/kyZ4L0krvJNSgCjCg8SwoxyLT xe8tAnkVRcsksh00vDg9xxVw+wdNP8FTnPqt X-Google-Smtp-Source: ABdhPJx7cSyW94tlEJSu/K/paAmfLLPR6qnFiatwddh825UupocLDCTHOgMI/3vYxt+mXzfDLlBr0A== X-Received: by 2002:ad4:44a9:: with SMTP id n9mr6443180qvt.60.1614897627879; Thu, 04 Mar 2021 14:40:27 -0800 (PST) Received: from tbb-desktop ([201.213.132.172]) by smtp.gmail.com with ESMTPSA id s126sm518667qkf.62.2021.03.04.14.40.26 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 04 Mar 2021 14:40:27 -0800 (PST) Message-ID: <604161db.1c69fb81.b17cc.4006@mx.google.com> X-Google-Original-Message-ID: <877dmmr19j.fsf_-_@maurooaranda@gmail.com> From: Mauro Aranda To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> Date: Thu, 04 Mar 2021 19:40:24 -0300 In-Reply-To: <87eeguab7o.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Thu, 04 Mar 2021 22:57:31 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-04, 18:41 +0000, "Basil L. Contovounesios" w= rote: > >> Protesilaos Stavrou writes: >>> ++ Ideas and user feedback :: Aaron Jensen, Adam Spiers, Adrian Manea, >>> + Alex Griffin, Alex Peitsinis, Alexey Shmalko, Alok Singh, Anders >>> + Johansson, Andr=C3=A9 Alexandre Gomes, Arif Rezai, Basil L. Contovou= nesios, >> ^^ >> Hopefully Org's Texinfo export can one day be taught that this is not >> the end of a sentence ;). > > Ah yes, I recall noticing that! Can we circumvent it somehow? Perhaps > by omitting the space? Perhaps hide it from ox-texinfo like this: @@texinfo:Basil L.@tie{}Contovounesios@@ From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 05 01:07:33 2021 Received: (at 45068) by debbugs.gnu.org; 5 Mar 2021 06:07:33 +0000 Received: from localhost ([127.0.0.1]:60819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lI3cb-0004HH-Hs for submit@debbugs.gnu.org; Fri, 05 Mar 2021 01:07:33 -0500 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:61535) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lI3cZ-0004Gz-Sh for 45068@debbugs.gnu.org; Fri, 05 Mar 2021 01:07:32 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id F0E4F40003; Fri, 5 Mar 2021 06:07:18 +0000 (UTC) From: Protesilaos Stavrou To: Mauro Aranda Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <604161db.1c69fb81.b17cc.4006@mx.google.com> Date: Fri, 05 Mar 2021 08:07:15 +0200 In-Reply-To: <604161db.1c69fb81.b17cc.4006@mx.google.com> (Mauro Aranda's message of "Thu, 04 Mar 2021 19:40:24 -0300") Message-ID: <87blbycewc.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 T24gMjAyMS0wMy0wNCwgMTk6NDAgLTAzMDAsIE1hdXJvIEFyYW5kYSA8bWF1cm9vYXJhbmRhQGdt YWlsLmNvbT4gd3JvdGU6DQoNCj4gUHJvdGVzaWxhb3MgU3RhdnJvdSA8aW5mb0Bwcm90ZXNpbGFv cy5jb20+IHdyaXRlczoNCj4NCj4+IE9uIDIwMjEtMDMtMDQsIDE4OjQxICswMDAwLCAiQmFzaWwg TC4gQ29udG92b3VuZXNpb3MiIDxjb250b3ZvYkB0Y2QuaWU+IHdyb3RlOg0KPj4NCj4+PiBQcm90 ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4gd3JpdGVzOg0KPg0KPj4+PiAr KyBJZGVhcyBhbmQgdXNlciBmZWVkYmFjayA6OiBBYXJvbiBKZW5zZW4sIEFkYW0gU3BpZXJzLCBB ZHJpYW4gTWFuZWEsDQo+Pj4+ICsgIEFsZXggR3JpZmZpbiwgQWxleCBQZWl0c2luaXMsIEFsZXhl eSBTaG1hbGtvLCBBbG9rIFNpbmdoLCBBbmRlcnMNCj4+Pj4gKyAgSm9oYW5zc29uLCBBbmRyw6kg QWxleGFuZHJlIEdvbWVzLCBBcmlmIFJlemFpLCBCYXNpbCBMLiBDb250b3ZvdW5lc2lvcywNCj4+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXl4NCj4+PiBIb3BlZnVsbHkgT3JnJ3MgVGV4aW5mbyBleHBvcnQgY2FuIG9uZSBkYXkgYmUg dGF1Z2h0IHRoYXQgdGhpcyBpcyBub3QNCj4+PiB0aGUgZW5kIG9mIGEgc2VudGVuY2UgOykuDQo+ Pg0KPj4gQWggeWVzLCBJIHJlY2FsbCBub3RpY2luZyB0aGF0ISAgQ2FuIHdlIGNpcmN1bXZlbnQg aXQgc29tZWhvdz8gIFBlcmhhcHMNCj4+IGJ5IG9taXR0aW5nIHRoZSBzcGFjZT8NCj4NCj4gUGVy aGFwcyBoaWRlIGl0IGZyb20gb3gtdGV4aW5mbyBsaWtlIHRoaXM6DQo+IEBAdGV4aW5mbzpCYXNp bCBMLkB0aWV7fUNvbnRvdm91bmVzaW9zQEANCg0KVGhhbmsgeW91IE1hdXJvISAgSSBmaXJzdCBk aWQgd2hhdCB5b3Ugc3VnZ2VzdGVkLCBidXQgZmVsdCB0aGF0IGl0IG1hZGUNCnRoZSBPcmcgdmVy c2lvbiBtb3JlIGRpZmZpY3VsdCB0byByZWFkLiAgU28gSSB1c2VkICJAOiIgaW5zdGVhZC4NCkRl c2NyaWJlZCBoZXJlOg0KDQogICAgIChpbmZvICIodGV4aW5mbykgTm90IEVuZGluZyBhIFNlbnRl bmNlIikNCg0KUGxlYXNlIGZpbmQgYXR0YWNoZWQgdGhlIHJldmlzZWQgcGF0Y2guDQoNCi0tIA0K UHJvdGVzaWxhb3MgU3RhdnJvdQ0KcHJvdGVzaWxhb3MuY29tDQo= --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: attachment; filename=0001-Update-Modus-themes-to-their-version-1.2.0.patch Content-Transfer-Encoding: base64 RnJvbSAzYTFlODM5ZGE1OTI4YzQzMGFjNWEzOGIyMmU2NzFmY2QzNTAzNWE5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KTWVzc2FnZS1JZDogPDNhMWU4MzlkYTU5MjhjNDMwYWM1YTM4YjIyZTY3 MWZjZDM1MDM1YTkuMTYxNDkyNDEyNC5naXQuaW5mb0Bwcm90ZXNpbGFvcy5jb20+DQpGcm9tOiBQ cm90ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCkRhdGU6IFRodSwgNCBN YXIgMjAyMSAxNjoyMDoxNSArMDIwMA0KU3ViamVjdDogW1BBVENIXSBVcGRhdGUgTW9kdXMgdGhl bWVzIHRvIHRoZWlyIHZlcnNpb24gMS4yLjANCg0KKiBkb2MvbWlzYy9tb2R1cy10aGVtZXMub3Jn OiBBZGQgbmV3IHZlcnNpb24gb2YgdGhlIG1hbnVhbCwgd2l0aA0KY2hhbmdlcyB0byBtYXJrdXAg YW5kIHJlZmVyZW5jZXMgdG8gdGhlIGxhdGVzdCBzdGF0ZSBvZiB0aGUgcHJvamVjdC4NCg0KKiBl dGMvdGhlbWVzL21vZHVzLXZpdmVuZGktdGhlbWUuZWw6DQoqIGV0Yy90aGVtZXMvbW9kdXMtb3Bl cmFuZGktdGhlbWUuZWw6IFByb3ZpZGUgdXBkYXRlZCB2ZXJzaW9uIG9mIGVhY2gNCnRoZW1lLCB3 aGljaCBleHBhbmRzIHRoZSBjb250ZW50cyBvZiAnbW9kdXMtdGhlbWVzLmVsJy4NCg0KKiBldGMv dGhlbWVzL21vZHVzLXRoZW1lcy5lbDogQWRkIG5ldyBzdXBwb3J0aXZlIGZpbGUuICBUaGlzIGlz IHdoZXJlDQp0aGVtZSBkYXRhLCBmdW5jdGlvbnMsIGFuZCBmYWNlIGRlZmluaXRpb25zIGFyZSBk ZWZpbmVkLg0KLS0tDQogZG9jL21pc2MvbW9kdXMtdGhlbWVzLm9yZyAgICAgICAgICB8IDMyNjcg KysrKysrKysrLS0tLS0NCiBldGMvdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsIHwgNDY3 MiArLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIGV0Yy90aGVtZXMvbW9kdXMtdGhlbWVzLmVsICAgICAg ICAgfCA2NDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiBldGMvdGhlbWVzL21vZHVz LXZpdmVuZGktdGhlbWUuZWwgIHwgNDY3MiArLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIDQgZmlsZXMg Y2hhbmdlZCwgODgxMiBpbnNlcnRpb25zKCspLCAxMDIzNSBkZWxldGlvbnMoLSkNCiBjcmVhdGUg bW9kZSAxMDA2NDQgZXRjL3RoZW1lcy9tb2R1cy10aGVtZXMuZWwNCg0KZGlmZiAtLWdpdCBhL2Rv Yy9taXNjL21vZHVzLXRoZW1lcy5vcmcgYi9kb2MvbWlzYy9tb2R1cy10aGVtZXMub3JnDQppbmRl eCA0YTYxNTBjZjlkLi4yMGQ3NzY3MDUzIDEwMDY0NA0KLS0tIGEvZG9jL21pc2MvbW9kdXMtdGhl bWVzLm9yZw0KKysrIGIvZG9jL21pc2MvbW9kdXMtdGhlbWVzLm9yZw0KQEAgLTEsMzAgKzEsNTIg QEANCi0jK1RJVExFOiBNb2R1cyB0aGVtZXMgZm9yIEdOVSBFbWFjcw0KLSMrQVVUSE9SOiBQcm90 ZXNpbGFvcyBTdGF2cm91DQotIytFTUFJTDogaW5mb0Bwcm90ZXNpbGFvcy5jb20NCi0jK1RFWElO Rk9fRElSX0NBVEVHT1JZOiBFbWFjcyBtaXNjIGZlYXR1cmVzDQotIytURVhJTkZPX0RJUl9USVRM RTogTW9kdXMgVGhlbWVzOiAobW9kdXMtdGhlbWVzKQ0KLSMrVEVYSU5GT19ESVJfREVTQzogSGln aGx5IGFjY2Vzc2libGUgdGhlbWVzIChXQ0FHIEFBQSkNCi0jK09QVElPTlM6ICc6dCB0b2M6bmls IGF1dGhvcjp0IGVtYWlsOnQNCi0jK01BQ1JPOiB2ZXJzaW9uLXRhZyAwLjEzLjANCi0jK01BQ1JP OiByZWxlYXNlLWRhdGUgMjAyMC0xMC0wOA0KKyMrdGl0bGU6IE1vZHVzIHRoZW1lcyBmb3IgR05V IEVtYWNzDQorIythdXRob3I6IFByb3Rlc2lsYW9zIFN0YXZyb3UNCisjK2VtYWlsOiBpbmZvQHBy b3Rlc2lsYW9zLmNvbQ0KKyMrbGFuZ3VhZ2U6IGVuDQorIytvcHRpb25zOiAnOnQgdG9jOm5pbCBh dXRob3I6dCBlbWFpbDp0DQorDQorIyttYWNybzogc3RhYmxlLXZlcnNpb24gMS4yLjANCisjK21h Y3JvOiByZWxlYXNlLWRhdGUgMjAyMS0wMy0wNA0KKyMrbWFjcm86IGRldmVsb3BtZW50LXZlcnNp b24gMS4zLjAtZGV2DQorIyttYWNybzogZXhwb3J0LWRhdGUgKGV2YWwgKGZvcm1hdC10aW1lLXN0 cmluZyAiJUYgJVIgJXoiIChjdXJyZW50LXRpbWUpKSkNCisjK21hY3JvOiBmaWxlIEBAdGV4aW5m bzpAZmlsZXtAQCQxQEB0ZXhpbmZvOn1AQA0KKyMrbWFjcm86IHNwYWNlIEBAdGV4aW5mbzpAOiBA QA0KKyMgVGhlICJrYmQiIG1hY3JvIHR1cm5zIEtCRCBpbnRvIEBrYmR7S0JEfS4gIEFkZGl0aW9u YWxseSwgaXQNCisjIGVuY2xvc2VzIGNhc2Utc2Vuc2l0aXZlIHNwZWNpYWwga2V5cyAoU1BDLCBS RVQuLi4pIHdpdGhpbiBAa2V5ey4uLn0uDQorIyBJIGdvdCB0aGlzIGZyb20gdGhlIE9yZyBzb3Vy Y2UgY29kZS4NCisjK21hY3JvOiBrYmQgKGV2YWwgKGxldCAoKGNhc2UtZm9sZC1zZWFyY2ggbmls KSAocmVnZXhwIChyZWdleHAtb3B0ICcoIlNQQyIgIlJFVCIgIkxGRCIgIlRBQiIgIkJTIiAiRVND IiAiREVMRVRFIiAiU0hJRlQiICJDdHJsIiAiTWV0YSIgIkFsdCIgIkNtZCIgIlN1cGVyIiAiVVAi ICJMRUZUIiAiUklHSFQiICJET1dOIikgJ3dvcmRzKSkpIChmb3JtYXQgIkBAdGV4aW5mbzpAa2Jk e0BAJXNAQHRleGluZm86fUBAIiAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5nIHJlZ2V4cCAiQEB0 ZXhpbmZvOkBrZXl7QEBcXCZAQHRleGluZm86fUBAIiAkMSB0KSkpKQ0KKw0KKyMrdGV4aW5mb19m aWxlbmFtZTogbW9kdXMtdGhlbWVzLmluZm8NCisjK3RleGluZm9fZGlyX2NhdGVnb3J5OiBFbWFj cyBtaXNjIGZlYXR1cmVzDQorIyt0ZXhpbmZvX2Rpcl90aXRsZTogTW9kdXMgVGhlbWVzOiAobW9k dXMtdGhlbWVzKQ0KKyMrdGV4aW5mb19kaXJfZGVzYzogSGlnaGx5IGFjY2Vzc2libGUgdGhlbWVz IChXQ0FHIEFBQSkNCisjK3RleGluZm9faGVhZGVyOiBAc2V0IE1BSU5UQUlORVJTSVRFIEB1cmVm e2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tLG1haW50YWluZXIgd2VicGFnZX0NCisjK3RleGluZm9f aGVhZGVyOiBAc2V0IE1BSU5UQUlORVIgUHJvdGVzaWxhb3MgU3RhdnJvdQ0KKyMrdGV4aW5mb19o ZWFkZXI6IEBzZXQgTUFJTlRBSU5FUkVNQUlMIEBlbWFpbHtpbmZvQHByb3Rlc2lsYW9zLmNvbX0N CisjK3RleGluZm9faGVhZGVyOiBAc2V0IE1BSU5UQUlORVJDT05UQUNUIEB1cmVme21haWx0bzpp bmZvQHByb3Rlc2lsYW9zLmNvbSxjb250YWN0IHRoZSBtYWludGFpbmVyfQ0KIA0KICMrdGV4aW5m bzogQGluc2VydGNvcHlpbmcNCiANCiBUaGlzIG1hbnVhbCwgd3JpdHRlbiBieSBQcm90ZXNpbGFv cyBTdGF2cm91LCBkZXNjcmliZXMgdGhlIGN1c3RvbWl6YXRpb24NCi1vcHRpb25zIGZvciB0aGUg PW1vZHVzLW9wZXJhbmRpPSBhbmQgPW1vZHVzLXZpdmVuZGk9IHRoZW1lcywgYW5kIHByb3ZpZGVz DQorb3B0aW9ucyBmb3IgdGhlIH5tb2R1cy1vcGVyYW5kaX4gYW5kIH5tb2R1cy12aXZlbmRpfiB0 aGVtZXMsIGFuZCBwcm92aWRlcw0KIGV2ZXJ5IG90aGVyIHBpZWNlIG9mIGluZm9ybWF0aW9uIHBl cnRpbmVudCB0byB0aGVtLg0KIA0KLVRoZSBkb2N1bWVudGF0aW9uIGZ1cm5pc2hlZCBoZXJlaW4g Y29ycmVzcG9uZHMgdG8gdmVyc2lvbiB7e3t2ZXJzaW9uLXRhZ319fSwNCi1yZWxlYXNlZCBvbiB7 e3tyZWxlYXNlLWRhdGV9fX0uICBBbnkgcmVmZXJlbmNlIHRvIGEgbmV3ZXIgZmVhdHVyZSB3aGlj aCBkb2VzDQotbm90IHlldCBmb3JtIHBhcnQgb2YgdGhlIGxhdGVzdCB0YWdnZWQgY29tbWl0LCBp cyBleHBsaWNpdGx5IG1hcmtlZCBhcw0KLXN1Y2guDQorVGhlIGRvY3VtZW50YXRpb24gZnVybmlz aGVkIGhlcmVpbiBjb3JyZXNwb25kcyB0byBzdGFibGUgdmVyc2lvbg0KK3t7e3N0YWJsZS12ZXJz aW9ufX19LCByZWxlYXNlZCBvbiB7e3tyZWxlYXNlLWRhdGV9fX0uICBBbnkgcmVmZXJlbmNlIHRv IGEgbmV3ZXINCitmZWF0dXJlIHdoaWNoIGRvZXMgbm90IHlldCBmb3JtIHBhcnQgb2YgdGhlIGxh dGVzdCB0YWdnZWQgY29tbWl0LCBpcw0KK2V4cGxpY2l0bHkgbWFya2VkIGFzIHN1Y2guDQogDQot KiBDb3B5aW5nDQotOlBST1BFUlRJRVM6DQotOmNvcHlpbmc6ICB0DQotOkVORDoNCisjIEN1cnJl bnQgZGV2ZWxvcG1lbnQgdGFyZ2V0IGlzIHt7e2RldmVsb3BtZW50LXZlcnNpb259fX0uICBUaGlz IG1hbnVhbCB3YXMNCisjIGJ1aWx0IG9uIHt7e2V4cG9ydC1kYXRlfX19Lg0KIA0KLUNvcHlyaWdo dCAoQykgMjAyMC0tMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCisjK3RvYzog aGVhZGxpbmVzIDggaW5zZXJ0IFRPQyBoZXJlLCB3aXRoIGVpZ2h0IGhlYWRsaW5lIGxldmVscw0K Kw0KKyogQ09QWUlORw0KKzpwcm9wZXJ0aWVzOg0KKzpjb3B5aW5nOiB0DQorOmN1c3RvbV9pZDog aDpiMTRjM2ZjYi0xM2RkLTQxNDQtOWQ5Mi0yYzU4YjNlZDE2ZDMNCis6ZW5kOg0KKw0KK0NvcHly aWdodCAoQykgMjAyMC0yMDIxICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCiANCiAj K2JlZ2luX3F1b3RlDQogUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUg YW5kL29yIG1vZGlmeSB0aGlzDQpAQCAtMzQsMTIgKzU2LDEwIEBAICogQ29weWluZw0KIGFuZCB3 aXRoIG5vIEJhY2stQ292ZXIgVGV4dHMuDQogIytlbmRfcXVvdGUNCiANCi0jK1RPQzogaGVhZGxp bmVzIDggaW5zZXJ0IFRPQyBoZXJlLCB3aXRoIGVpZ2h0IGhlYWRsaW5lIGxldmVscw0KLQ0KICog T3ZlcnZpZXcNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOmYwZjNkYmNiLTYwMmQtNDBj Zi1iOTE4LThmOTI5YzQ0MWJhZg0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDog aDpmMGYzZGJjYi02MDJkLTQwY2YtYjkxOC04ZjkyOWM0NDFiYWYNCis6ZW5kOg0KIA0KIFRoZSBN b2R1cyB0aGVtZXMgYXJlIGRlc2lnbmVkIGZvciBhY2Nlc3NpYmxlIHJlYWRhYmlsaXR5LiAgVGhl eSBjb25mb3JtDQogd2l0aCB0aGUgaGlnaGVzdCBzdGFuZGFyZCBmb3IgY29sb3IgY29udHJhc3Qg YmV0d2VlbiBhbnkgZ2l2ZW4NCkBAIC00Nyw5ICs2Nyw5IEBAICogT3ZlcnZpZXcNCiB0aGUgV0NB RyBBQUEgc3RhbmRhcmQsIHdoaWNoIHNwZWNpZmllcyBhIG1pbmltdW0gcmF0ZSBvZiBkaXN0YW5j ZSBpbg0KIHJlbGF0aXZlIGx1bWluYW5jZSBvZiA3OjEuDQogDQotTW9kdXMgT3BlcmFuZGkgKD1t b2R1cy1vcGVyYW5kaT0pIGlzIGEgbGlnaHQgdGhlbWUsIHdoaWxlIE1vZHVzIFZpdmVuZGkNCi0o PW1vZHVzLXZpdmVuZGk9KSBpcyBkYXJrLiAgRWFjaCB0aGVtZSdzIGNvbG9yIHBhbGV0dGUgaXMg ZGVzaWduZWQgdG8NCi1tZWV0IHRoZSBuZWVkcyBvZiB0aGUgbnVtZXJvdXMgaW50ZXJmYWNlcyB0 aGF0IGFyZSBwb3NzaWJsZSBpbiB0aGUgRW1hY3MNCitNb2R1cyBPcGVyYW5kaSAofm1vZHVzLW9w ZXJhbmRpfikgaXMgYSBsaWdodCB0aGVtZSwgd2hpbGUgTW9kdXMgVml2ZW5kaQ0KKyh+bW9kdXMt dml2ZW5kaX4pIGlzIGRhcmsuICBFYWNoIHRoZW1lJ3MgY29sb3IgcGFsZXR0ZSBpcyBkZXNpZ25l ZCB0byBtZWV0DQordGhlIG5lZWRzIG9mIHRoZSBudW1lcm91cyBpbnRlcmZhY2VzIHRoYXQgYXJl IHBvc3NpYmxlIGluIHRoZSBFbWFjcw0KIGNvbXB1dGluZyBlbnZpcm9ubWVudC4NCiANCiBUaGUg b3ZlcmFyY2hpbmcgb2JqZWN0aXZlIG9mIHRoaXMgcHJvamVjdCBpcyB0byBhbHdheXMgb2ZmZXIg YWNjZXNzaWJsZQ0KQEAgLTU5LDE1ICs3OSwxNiBAQCAqIE92ZXJ2aWV3DQogDQogVG8gZW5zdXJl IHRoYXQgdXNlcnMgaGF2ZSBhIGNvbnNpc3RlbnRseSBhY2Nlc3NpYmxlIGV4cGVyaWVuY2UsIHRo ZQ0KIHRoZW1lcyBzdHJpdmUgdG8gYWNoaWV2ZSBhcyBjbG9zZSB0byBmdWxsIGZhY2UgY292ZXJh Z2UgYXMgcG9zc2libGUNCi0oc2VlIFtbI2g6YTljOGYyOWQtN2Y3Mi00YjU0LWI3NGItZGRlZmUx NWQ2YTE5XVtGYWNlIGNvdmVyYWdlXV0pLg0KKyhbWyNoOmE5YzhmMjlkLTdmNzItNGI1NC1iNzRi LWRkZWZlMTVkNmExOV1bRmFjZSBjb3ZlcmFnZV1dKS4NCiANCiBTdGFydGluZyB3aXRoIHZlcnNp b24gMC4xMi4wIGFuZCBvbndhcmRzLCB0aGUgdGhlbWVzIGFyZSBidWlsdCBpbnRvIEdOVQ0KLUVt YWNzIChjdXJyZW50IHZlcnNpb24gaXMge3t7dmVyc2lvbi10YWd9fX0pLg0KK0VtYWNzLg0KIA0K ICoqIEhvdyBkbyB0aGUgdGhlbWVzIGxvb2sgbGlrZQ0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01f SUQ6IGg6NjliOTIwODktMDY5Yy00YmExLTlkOTQtY2MzNDE1ZmM0Zjg3DQotOkVORDoNCis6cHJv cGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjY5YjkyMDg5LTA2OWMtNGJhMS05ZDk0LWNjMzQxNWZj NGY4Nw0KKzplbmQ6DQorIytjaW5kZXg6IFNjcmVlbnNob3RzDQogDQogQ2hlY2sgdGhlIHdlYiBw YWdlIHdpdGggW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9tb2R1cy10aGVtZXMtcGljdHVyZXMv XVt0aGUgc2NyZWVuIHNob3RzXV0uICBUaGVyZSBhcmUgbG90cyBvZiBzY2VuYXJpb3MNCiBvbiBk aXNwbGF5IHRoYXQgZHJhdyBhdHRlbnRpb24gdG8gZGV0YWlscyBhbmQgaW1wb3J0YW50IGFzcGVj dHMgaW4gdGhlDQpAQCAtNzcsNTk2ICs5OCw1NjIgQEAgKiogSG93IGRvIHRoZSB0aGVtZXMgbG9v ayBsaWtlDQogW1sjaDpiZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1M2ZdW0N1c3Rv bWl6YXRpb24gb3B0aW9uc11dLg0KIA0KICoqIExlYXJuIGFib3V0IHRoZSBsYXRlc3QgY2hhbmdl cw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6MmNjMzdjMzYtNmMxYS00OGIyLWEwMTAt MTA1MGIyNzBlZTE4DQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjJjYzM3 YzM2LTZjMWEtNDhiMi1hMDEwLTEwNTBiMjcwZWUxOA0KKzplbmQ6DQorIytjaW5kZXg6IENoYW5n ZWxvZw0KIA0KIFBsZWFzZSByZWZlciB0byB0aGUgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9t b2R1cy10aGVtZXMtY2hhbmdlbG9nXVt3ZWIgcGFnZSB3aXRoIHRoZSBjaGFuZ2UgbG9nXV0uICBJ dCBpcyBjb21wcmVoZW5zaXZlDQogYW5kIGNvdmVycyBldmVyeXRoaW5nIHRoYXQgZ29lcyBpbnRv IGV2ZXJ5IHRhZ2dlZCByZWxlYXNlIG9mIHRoZSB0aGVtZXMuDQogDQogKiBJbnN0YWxsYXRpb24N Ci06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjFhZjg1MzczLTdmODEtNGMzNS1hZjI1LWFm Y2VmNDkwYzExMQ0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDoxYWY4NTM3 My03ZjgxLTRjMzUtYWYyNS1hZmNlZjQ5MGMxMTENCis6ZW5kOg0KIA0KIFRoZSBNb2R1cyB0aGVt ZXMgYXJlIGRpc3RyaWJ1dGVkIHdpdGggRW1hY3Mgc3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDI4LjEu DQogT24gb2xkZXIgdmVyc2lvbnMgb2YgRW1hY3MsIHRoZXkgY2FuIGJlIGluc3RhbGxlZCB1c2lu ZyBFbWFjcycgcGFja2FnZQ0KLW1hbmFnZXIgb3IgbWFudWFsbHkgZnJvbSB0aGVpciBjb2RlIHJl cG9zaXRvcnkuDQorbWFuYWdlciBvciBtYW51YWxseSBmcm9tIHRoZWlyIGNvZGUgcmVwb3NpdG9y eS4gIFRoZXJlIGFsc28gZXhpc3QNCitwYWNrYWdlcyBmb3IgZGlzdHJpYnV0aW9ucyBvZiBHTlUv TGludXguDQorDQorKiogSW5zdGFsbCBtYW51YWxseSBmcm9tIHNvdXJjZQ0KKzpwcm9wZXJ0aWVz Og0KKzpjdXN0b21faWQ6IGg6ZGEzNDE0YjctMTQyNi00NmI4LThlNzYtNDdiODQ1Yjc2ZmQwDQor OmVuZDoNCisNCitJbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUsIHdlIGFyZSBhc3N1bWluZyB0aGF0 IHlvdXIgRW1hY3MgZmlsZXMgYXJlDQorc3RvcmVkIGluID1+Ly5lbWFjcy5kPSBhbmQgdGhhdCB5 b3Ugd2FudCB0byBwbGFjZSB0aGUgTW9kdXMgdGhlbWVzIGluDQorPX4vLmVtYWNzLmQvbW9kdXMt dGhlbWVzPS4NCisNCisxLiBHZXQgdGhlIHNvdXJjZSBhbmQgc3RvcmUgaXQgaW4gdGhlIGRlc2ly ZWQgcGF0aCBieSBydW5uaW5nIHRoZQ0KKyAgIGZvbGxvd2luZyBpbiB0aGUgY29tbWFuZCBsaW5l IHNoZWxsOg0KKw0KKzogJCBnaXQgY2xvbmUgaHR0cHM6Ly9naXRsYWIuY29tL3Byb3Rlc2lsYW9z L21vZHVzLXRoZW1lcy5naXQgfi8uZW1hY3MuZC9tb2R1cy10aGVtZXMNCisNCisyLiBBZGQgdGhh dCBwYXRoIHRvIHlvdXIga25vd24gRWxpc3AgbGlicmFyaWVzJyBsaXN0LCBieSBwbGFjaW5nIHRo aXMNCisgICBzbmlwcGV0IG9mIEVtYWNzIExpc3AgaW4geW91ciBpbml0IGZpbGUgKGUuZy4ge3t7 ZmlsZShpbml0LmVsKX19fSk6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhhZGQtdG8t bGlzdCAnbG9hZC1wYXRoICJ+Ly5lbWFjcy5kL21vZHVzLXRoZW1lcyIpDQorIytlbmRfc3JjDQog DQotTW9kdXMgT3BlcmFuZGkgKGxpZ2h0IHRoZW1lKSBhbmQgTW9kdXMgVml2ZW5kaSAoZGFyaykg YXJlIG5vcm1hbGx5DQotZGlzdHJpYnV0ZWQgYXMgc3RhbmRhbG9uZSBwYWNrYWdlcyBpbiBFbWFj cy1zcGVjaWZpYyBhcmNoaXZlcy4gIFRoZXJlDQotYWxzbyBleGlzdCBwYWNrYWdlcyBmb3IgR05V L0xpbnV4IGRpc3RyaWJ1dGlvbnMuDQorVGhlIHRoZW1lcyBhcmUgbm93IHJlYWR5IHRvIGJlIHVz ZWQ6IFtbI2g6M2YzYzM3MjgtMWIzNC00MzdkLTlkMGMtYjExMGY1YjE2MWE5XVtFbmFibGUgYW5k IGxvYWRdXS4NCiANCiAqKiBJbnN0YWxsIGZyb20gdGhlIGFyY2hpdmVzDQotOlBST1BFUlRJRVM6 DQotOkNVU1RPTV9JRDogaDpjNGIxMDA4NS0xNDlmLTQzZTItYmQ0ZC0zNDdmMzNhZWUwNTQNCi06 RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6YzRiMTAwODUtMTQ5Zi00M2UyLWJk NGQtMzQ3ZjMzYWVlMDU0DQorOmVuZDoNCiANCi09bW9kdXMtb3BlcmFuZGktdGhlbWU9IGFuZCA9 bW9kdXMtdml2ZW5kaS10aGVtZT0gYXJlIGF2YWlsYWJsZSBmcm9tIEdOVSB0aGUNCi1FTFBBIGFy Y2hpdmUsIHdoaWNoIGlzIGNvbmZpZ3VyZWQgYnkgZGVmYXVsdC4NCitUaGUgPW1vZHVzLXRoZW1l cz0gcGFja2FnZSBpcyBhdmFpbGFibGUgZnJvbSB0aGUgR05VIEVMUEEgYXJjaGl2ZSwgd2hpY2gN CitpcyBjb25maWd1cmVkIGJ5IGRlZmF1bHQuDQogDQogUHJpb3IgdG8gcXVlcnlpbmcgYW55IHBh Y2thZ2UgYXJjaGl2ZSwgbWFrZSBzdXJlIHRvIGhhdmUgdXBkYXRlZCB0aGUNCi1pbmRleCwgd2l0 aCA9TS14IHBhY2thZ2UtcmVmcmVzaC1jb250ZW50cz0uICBUaGVuIGFsbCB5b3UgbmVlZCB0byBk byBpcw0KLXR5cGUgPU0teCBwYWNrYWdlLWluc3RhbGw9IGFuZCBzcGVjaWZ5IHRoZSB0aGVtZSBv ZiB5b3VyIGNob2ljZS4NCitpbmRleCwgd2l0aCB7e3trYmQoTS14IHBhY2thZ2UtcmVmcmVzaC1j b250ZW50cyl9fX0uICBUaGVuIGFsbCB5b3UgbmVlZCB0byBkbw0KK2lzIHR5cGUge3t7a2JkKE0t eCBwYWNrYWdlLWluc3RhbGwpfX19IGFuZCBzcGVjaWZ5IHRoZSB+bW9kdXMtdGhlbWVzfi4NCisN CitOb3RlIHRoYXQgb2xkZXIgdmVyc2lvbnMgb2YgdGhlIHRoZW1lcyB1c2VkIHRvIGJlIGRpc3Ry aWJ1dGVkIGFzDQorc3RhbmRhbG9uZSBwYWNrYWdlcy4gIFRoaXMgcHJhY3RpY2UgaGFzIGJlZW4g ZGlzY29udGludWVkIHN0YXJ0aW5nIHdpdGgNCit2ZXJzaW9uIDEuMC4wIG9mIHRoaXMgcHJvamVj dC4NCisNCitPbmNlIGluc3RhbGxlZCwgdGhlIHRoZW1lcyBhcmUgcmVhZHkgdG8gYmUgdXNlZDog W1sjaDozZjNjMzcyOC0xYjM0LTQzN2QtOWQwYy1iMTEwZjViMTYxYTldW0VuYWJsZSBhbmQgbG9h ZF1dLg0KIA0KICoqIEluc3RhbGwgb24gR05VL0xpbnV4DQotOlBST1BFUlRJRVM6DQotOkNVU1RP TV9JRDogaDpkYTY0MGViMS05NWRkLTRlODYtYmI0ZS0xMDI3YjI3ODg1ZjANCi06RU5EOg0KKzpw cm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6ZGE2NDBlYjEtOTVkZC00ZTg2LWJiNGUtMTAyN2Iy Nzg4NWYwDQorOmVuZDoNCiANCi1UaGUgdGhlbWVzIGFyZSBhbHNvIGF2YWlsYWJsZSBmcm9tIHRo ZSBhcmNoaXZlcyBvZiBzb21lIEdOVS9MaW51eA0KLWRpc3RyaWJ1dGlvbnMuICBUaGVzZSBzaG91 bGQgY29ycmVzcG9uZCB0byBhIHRhZ2dlZCByZWxlYXNlIHJhdGhlciB0aGFuDQorVGhlIHRoZW1l cyBhcmUgYWxzbyBhdmFpbGFibGUgZnJvbSB0aGUgYXJjaGl2ZXMgb2Ygc29tZSBkaXN0cmlidXRp b25zIG9mDQorR05VL0xpbnV4LiAgVGhlc2Ugc2hvdWxkIGNvcnJlc3BvbmQgdG8gYSB0YWdnZWQg cmVsZWFzZSByYXRoZXIgdGhhbg0KIGJ1aWxkaW5nIGRpcmVjdGx5IGZyb20gdGhlIGxhdGVzdCBH aXQgY29tbWl0LiAgSXQgYWxsIGRlcGVuZHMgb24gdGhlDQogZGlzdHJvJ3MgcGFja2FnaW5nIHBv bGljaWVzLg0KIA0KICoqKiBEZWJpYW4gMTEgQnVsbHNleWUNCi06UFJPUEVSVElFUzoNCi06Q1VT VE9NX0lEOiBoOjdlNTcwMzYwLTllZTYtNGJjNS04YzA0LTlkYzExNDE4YTNlNA0KLTpFTkQ6DQot DQotVGhlIHR3byB0aGVtZXMgYXJlIGRpc3RyaWJ1dGVkIGFzIGEgc2luZ2xlIHBhY2thZ2UgZm9y IERlYmlhbiBhbmQgaXRzDQotZGVyaXZhdGl2ZXMuICBDdXJyZW50bHkgaW4gdGhlIHVuc3RhYmxl IGFuZCB0ZXN0aW5nIHN1aXRlcyBhbmQgc2hvdWxkIGJlDQotYXZhaWxhYmxlIGluIHRpbWUgZm9y IERlYmlhbiAxMSBCdWxsc2V5ZSAobmV4dCBzdGFibGUpLg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0 b21faWQ6IGg6N2U1NzAzNjAtOWVlNi00YmM1LThjMDQtOWRjMTE0MThhM2U0DQorOmVuZDoNCiAN Ci1HZXQgdGhlbSB3aXRoOg0KK1RoZSB0aGVtZXMgYXJlIHBhcnQgb2YgRGViaWFuIDExIEJ1bGxz ZXllLiAgR2V0IHRoZW0gd2l0aDoNCiANCiAjK2JlZ2luX3NyYyBzaA0KIHN1ZG8gYXB0IGluc3Rh bGwgZWxwYS1tb2R1cy10aGVtZXMNCiAjK2VuZF9zcmMNCiANCitUaGV5IGFyZSBub3cgcmVhZHkg dG8gYmUgdXNlZDogW1sjaDozZjNjMzcyOC0xYjM0LTQzN2QtOWQwYy1iMTEwZjViMTYxYTldW0Vu YWJsZSBhbmQgbG9hZF1dLg0KKw0KICoqKiBHTlUgR3VpeA0KLTpQUk9QRVJUSUVTOg0KLTpDVVNU T01fSUQ6IGg6YTRjYTUyY2QtODY5Zi00NmE1LTllMTYtNGQ5NjY1ZjViODhlDQotOkVORDoNCis6 cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOmE0Y2E1MmNkLTg2OWYtNDZhNS05ZTE2LTRkOTY2 NWY1Yjg4ZQ0KKzplbmQ6DQogDQotVXNlcnMgb2YgZWl0aGVyIHRoZSBHdWl4IFN5c3RlbSAodGhl IGRpc3Rybykgb3IganVzdCBHdWl4ICh0aGUgcGFja2FnZQ0KLW1hbmFnZXIpIGNhbiBnZXQgZWFj aCB0aGVtZSBhcyBhIHN0YW5kYWxvbmUgcGFja2FnZS4NCitVc2VycyBvZiBHdWl4IGNhbiBnZXQg dGhlIHRoZW1lcyB3aXRoIHRoaXMgY29tbWFuZDoNCiANCiAjK2JlZ2luX3NyYyBzaA0KLWd1aXgg cGFja2FnZSAtaSBlbWFjcy1tb2R1cy1vcGVyYW5kaS10aGVtZQ0KK2d1aXggcGFja2FnZSAtaSBl bWFjcy1tb2R1cy10aGVtZXMNCiAjK2VuZF9zcmMNCiANCi1BbmQvb3I6DQotDQotIytiZWdpbl9z cmMgc2gNCi1ndWl4IHBhY2thZ2UgLWkgZW1hY3MtbW9kdXMtdml2ZW5kaS10aGVtZQ0KLSMrZW5k X3NyYw0KK1RoZXkgYXJlIG5vdyByZWFkeSB0byBiZSB1c2VkOiBbWyNoOjNmM2MzNzI4LTFiMzQt NDM3ZC05ZDBjLWIxMTBmNWIxNjFhOV1bRW5hYmxlIGFuZCBsb2FkXV0uDQogDQogKiBFbmFibGUg YW5kIGxvYWQNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjNmM2MzNzI4LTFiMzQtNDM3 ZC05ZDBjLWIxMTBmNWIxNjFhOQ0KLTpFTkQ6DQotDQotVGhpcyBzZWN0aW9uIGRvY3VtZW50cyBo b3cgdG8gbG9hZCB0aGUgdGhlbWUgb2YgeW91ciBjaG9pY2UgYW5kIGhvdyB0bw0KLWZ1cnRoZXIg Y29udHJvbCBpdHMgaW5pdGlhbGl6YXRpb24uICBJdCBhbHNvIGluY2x1ZGVzIHNvbWUgc2FtcGxl IGNvZGUNCi1zbmlwcGV0cyB0aGF0IGNvdWxkIGhlbHAgeW91IGluIHRoZSB0YXNrLCBlc3BlY2lh bGx5IGlmIHlvdSBpbnRlbmQgdG8NCi11c2UgYm90aCBNb2R1cyBPcGVyYW5kaSBhbmQgTW9kdXMg Vml2ZW5kaS4NCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjNmM2MzNzI4LTFiMzQtNDM3 ZC05ZDBjLWIxMTBmNWIxNjFhOQ0KKzplbmQ6DQorIytmaW5kZXg6IG1vZHVzLXRoZW1lcy1sb2Fk LXRoZW1lcw0KKyMrZmluZGV4OiBtb2R1cy10aGVtZXMtdG9nZ2xlDQorIytmaW5kZXg6IG1vZHVz LXRoZW1lcy1sb2FkLW9wZXJhbmRpDQorIytmaW5kZXg6IG1vZHVzLXRoZW1lcy1sb2FkLXZpdmVu ZGkNCisjK2NpbmRleDogRXNzZW50aWFsIGNvbmZpZ3VyYXRpb24NCisjK3ZpbmRleDogbW9kdXMt dGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9vaw0KKw0KK1VzZXJzIG9mIHRoZSBidWlsdC1pbiB0 aGVtZXMgY2FuIGxvYWQgYW5kIGF1dG9tYXRpY2FsbHkgZW5hYmxlIHRoZSB0aGVtZQ0KK29mIHRo ZWlyIHByZWZlcmVuY2UgYnkgYWRkaW5nIGVpdGhlciBmb3JtIHRvIHRoZWlyIGluaXQgZmlsZToN CiANCi0qKiBMb2FkIGF1dG9tYXRpY2FsbHkNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBo OjE3NzdjMjQ3LTFiNTYtNDZiNy1hNGNlLTU0ZTcyMGIzM2QwNg0KLTpFTkQ6DQorIytiZWdpbl9z cmMgZW1hY3MtbGlzcA0KKyhsb2FkLXRoZW1lICdtb2R1cy1vcGVyYW5kaSkgICAgICAgICAgICA7 IExpZ2h0IHRoZW1lDQorKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVuZGkpICAgICAgICAgICAgIDsg RGFyayB0aGVtZQ0KKyMrZW5kX3NyYw0KIA0KLUEgc2ltcGxlIHdheSB0byBsb2FkIHRoZSB0aGVt ZSBmcm9tIHlvdXIgRW1hY3MgaW5pdGlhbGl6YXRpb24gZmlsZSBpcyB0bw0KLWluY2x1ZGUgZWl0 aGVyIG9mIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbnM6DQorVGhpcyBpcyBhbGwgb25lIG5lZWRz Lg0KIA0KLSMrQkVHSU5fU1JDIGVtYWNzLWxpc3ANCi0obG9hZC10aGVtZSAnbW9kdXMtb3BlcmFu ZGkgdCkgICAgICAgICAgOyBMaWdodCB0aGVtZQ0KLShsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRp IHQpICAgICAgICAgICA7IERhcmsgdGhlbWUNCi0jK0VORF9TUkMNCitVc2VycyBvZiBwYWNrYWdl ZCB2YXJpYW50cyBvZiB0aGUgdGhlbWVzIG11c3QgYWRkIGEgZmV3IG1vcmUgbGluZXMgdG8NCitl bnN1cmUgdGhhdCBldmVyeXRoaW5nIHdvcmtzIGFzIGludGVuZGVkLiAgRmlyc3QsIG9uZSBoYXMg dG8gcmVxdWlyZSB0aGUNCittYWluIGxpYnJhcnkgYmVmb3JlIGxvYWRpbmcgZWl0aGVyIHRoZW1l Og0KIA0KLU1ha2Ugc3VyZSB0byByZW1vdmUgYW55IG90aGVyIHRoZW1lIHRoYXQgaXMgYmVpbmcg bG9hZGVkLCBvdGhlcndpc2UgeW91DQotbWlnaHQgcnVuIGludG8gdW5leHBlY3RlZCBpc3N1ZXMu DQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhyZXF1aXJlICdtb2R1cy10aGVtZXMpDQorIytl bmRfc3JjDQogDQotTm90ZSB0aGF0IHlvdSBjYW4gYWx3YXlzID1NLXggZGlzYWJsZS10aGVtZT0g YW5kIHNwZWNpZnkgYW4gaXRlbS4gIFRoZQ0KLWNvbW1hbmQgZG9lcyBleGFjdGx5IHdoYXQgaXRz IG5hbWUgc3VnZ2VzdHMuICBUbyBkZWFjdGl2YXRlIGFsbCBlbmFibGVkDQotdGhlbWVzIGF0IG9u Y2UsIGluIGNhc2UgeW91IGhhdmUgbXVsdGlwbGUgb2YgdGhlbSBlbmFibGVkLCB5b3UgbWF5DQot ZXZhbHVhdGUgdGhlIGV4cHJlc3Npb246DQorVGhlbiBpdCBpcyByZWNvbW1lbmRlZCB0byBsb2Fk IHRoZSBpbmRpdmlkdWFsIHRoZW1lIGZpbGVzIHdpdGggdGhlDQoraGVscGVyIGZ1bmN0aW9uIH5t b2R1cy10aGVtZXMtbG9hZC10aGVtZXN+Og0KIA0KICMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCi0o bWFwYyAjJ2Rpc2FibGUtdGhlbWUgY3VzdG9tLWVuYWJsZWQtdGhlbWVzKQ0KKzs7IExvYWQgdGhl IHRoZW1lIGZpbGVzIGJlZm9yZSBlbmFibGluZyBhIHRoZW1lIChlbHNlIHlvdSBnZXQgYW4gZXJy b3IpLg0KKyhtb2R1cy10aGVtZXMtbG9hZC10aGVtZXMpDQogIytlbmRfc3JjDQogDQotKiogTG9h ZCBhdCBhIGdpdmVuIHRpbWUgb3IgYXQgc3Vuc2V0L3N1bnJpc2UNCi06UFJPUEVSVElFUzoNCi06 Q1VTVE9NX0lEOiBoOjRlOTM2ZTMxLWU5ZWItNGI1MC04ZmRkLTQ1ZDgyN2EwM2NjYQ0KLTpFTkQ6 DQotDQotSXQgaXMgcG9zc2libGUgdG8gc2NoZWR1bGUgYSB0aW1lIGR1cmluZyB0aGUgZGF5IGF0 IG9yIGFmdGVyIHdoaWNoIGENCi1naXZlbiB0aGVtZSB3aWxsIGJlIGxvYWRlZC5bZm46OiBDb250 cmlidXRlZCBvbiBSZWRkaXQgYnkgdXNlciA9YjNuPSwNCi1odHRwczovL3d3dy5yZWRkaXQuY29t L3IvZW1hY3MvY29tbWVudHMvZ2R0cW92L3dlZWtseV90aXBzdHJpY2tldGNfdGhyZWFkL2ZxOTE4 NmgvLl0NCitPbmNlIHRoZSBsaWJyYXJpZXMgdGhhdCBkZWZpbmUgdGhlIHRoZW1lcyBhcmUgZW5h YmxlZCwgb25lIGNhbiBhY3RpdmF0ZQ0KK2EgdGhlbWUgd2l0aCBlaXRoZXIgb2YgdGhlIGZvbGxv d2luZyBleHByZXNzaW9uczoNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQotOzsgTGlnaHQg Zm9yIHRoZSBkYXkNCi0obG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCB0KQ0KLShydW4tYXQt dGltZSAiMDU6MDAiICgqIDYwIDYwIDI0KQ0KLSAgICAgICAgICAgICAobGFtYmRhICgpDQotICAg ICAgICAgICAgICAgKGVuYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpKSkNCi0NCi07OyBEYXJr IGZvciB0aGUgbmlnaHQNCi0obG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0IHQpDQotKHJ1bi1h dC10aW1lICIyMTowMCIgKCogNjAgNjAgMjQpDQotICAgICAgICAgICAgIChsYW1iZGEgKCkNCi0g ICAgICAgICAgICAgICAoZW5hYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKSkpDQorKG1vZHVzLXRo ZW1lcy1sb2FkLW9wZXJhbmRpKSAgICAgICAgICAgIDsgTGlnaHQgdGhlbWUNCis7OyBPUg0KKyht b2R1cy10aGVtZXMtbG9hZC12aXZlbmRpKSAgICAgICAgICAgICA7IERhcmsgdGhlbWUNCiAjK2Vu ZF9zcmMNCiANCi1BIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlIGFib3ZlIHRlY2huaXF1ZSBpcyB0 byB1c2UgdGhlIHN1bnJpc2UgYW5kDQotc3Vuc2V0IGFzIHJlZmVyZW5jZXMsIGluc3RlYWQgb2Yg c3BlY2lmeWluZyBhIGZpeGVkIGhvdXIgdmFsdWUuW2ZuOjoNCi1Db250cmlidXRlZCBkaXJlY3Rs eSBieSBBbmRyw6kgQWxleGFuZHJlIEdvbWVzIGh0dHBzOi8vZ2l0bGFiLmNvbS9hYWRjZy5dDQot SWYgeW91IHNldCA9Y2FsZW5kYXItbGF0aXR1ZGU9IGFuZCA9Y2FsZW5kYXItbG9uZ2l0dWRlPSAo ZGVmaW5lZCBpbiB0aGUNCi1idWlsdC1pbiA9c29sYXIuZWw9IGxpYnJhcnktLS1yZWFkIGl0IHdp dGggPU0teCBmaW5kLWxpYnJhcnk9KSwgeW91IGNhbg0KLWF1dG9tYXRpY2FsbHkgc3dpdGNoIGJl dHdlZW4gYm90aCB0aGVtZXMgYXQgdGhlIGFwcHJvcHJpYXRlIHRpbWUtb2YtZGF5Lg0KLU5vdGUg dGhhdCAvdGhvc2UgY2FsZW5kYXIgdmFyaWFibGVzIG5lZWQgdG8gYmUgc2V0IGJlZm9yZSBsb2Fk aW5nIHRoZQ0KLXRoZW1lcy8uDQorQ2hhbmdlcyB0byB0aGUgYXZhaWxhYmxlIGN1c3RvbWl6YXRp b24gb3B0aW9ucyBtdXN0IGFsd2F5cyBiZSBldmFsdWF0ZWQNCitiZWZvcmUgbG9hZGluZyBhIHRo ZW1lIChbWyNoOmJmMWM4MmYyLTQ2YzctNGViMi1hZDAwLWRkMTFmZGQ4YjUzZl1bQ3VzdG9taXph dGlvbiBPcHRpb25zXV0pLiAgVGhpcyBpcyBob3cgYSBiYXNpYw0KK3NldHVwIGNvdWxkIGxvb2sg bGlrZToNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQotOzsgRGVmaW5lIGNvb3JkaW5hdGVz DQotKHNldHEgY2FsZW5kYXItbGF0aXR1ZGUgMzUuMTcNCi0gICAgICBjYWxlbmRhci1sb25naXR1 ZGUgMzMuMzYpDQorKHJlcXVpcmUgJ21vZHVzLXRoZW1lcykNCiANCi07OyBMaWdodCBhdCBzdW5y aXNlDQotKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQgdCkNCi0ocnVuLWF0LXRpbWUgKG50 aCAxIChzcGxpdC1zdHJpbmcgKHN1bnJpc2Utc3Vuc2V0KSkpDQotICAgICAgICAgICAgICgqIDYw IDYwIDI0KQ0KLSAgICAgICAgICAgICAobGFtYmRhICgpDQotICAgICAgICAgICAgICAgKGVuYWJs ZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpKSkNCis7OyBZb3VyIGN1c3RvbWlzYXRpb25zIGhlcmUu ICBGb3IgZXhhbXBsZToNCisoc2V0cSBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIHQNCisg ICAgICBtb2R1cy10aGVtZXMtbW9kZS1saW5lICczZCkNCiANCi07OyBEYXJrIGF0IHN1bnNldA0K LShsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRpIHQgdCkNCi0ocnVuLWF0LXRpbWUgKG50aCA0IChz cGxpdC1zdHJpbmcgKHN1bnJpc2Utc3Vuc2V0KSkpDQotICAgICAgICAgICAgICgqIDYwIDYwIDI0 KQ0KLSAgICAgICAgICAgICAobGFtYmRhICgpDQotICAgICAgICAgICAgICAgKGVuYWJsZS10aGVt ZSAnbW9kdXMtdml2ZW5kaSkpKQ0KLSMrZW5kX3NyYw0KKzs7IExvYWQgdGhlIHRoZW1lIGZpbGVz IGJlZm9yZSBlbmFibGluZyBhIHRoZW1lIChlbHNlIHlvdSBnZXQgYW4gZXJyb3IpLg0KKyhtb2R1 cy10aGVtZXMtbG9hZC10aGVtZXMpDQogDQotRm9yIHRoZSBzYWtlIG9mIGNvbXBsZXRlbmVzcywg dGhlID1sb2FkLXRoZW1lPSBjYWxsIGluIHRoZXNlIHNuaXBwZXRzIGlzDQotc2xpZ2h0bHkgZGlm ZmVyZW50IHRoYW4gdGhlIG9uZSBzaG93biBpbiBbWyNoOjE3NzdjMjQ3LTFiNTYtNDZiNy1hNGNl LTU0ZTcyMGIzM2QwNl1bTG9hZCBhdXRvbWF0aWNhbGx5XV0sIGJlY2F1c2UgaXQNCi1kb2VzIG5v dCBlbmFibGUgdGhlIHRoZW1lIGRpcmVjdGx5OiB0aGUgc3Vic2VxdWVudCA9ZW5hYmxlLXRoZW1l PSBkb2VzDQotdGhhdCB3aGVuIG5lZWRlZC4NCis7OyBFbmFibGUgdGhlIHRoZW1lIG9mIHlvdXIg cHJlZmVyZW5jZToNCisobW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkpDQogDQotKiogVG9nZ2xl IGJldHdlZW4gdGhlIHRoZW1lcyBvbiBkZW1hbmQNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lE OiBoOjJhMDg5NWE2LTMyODEtNGU1NS04YWExLThhNzM3NTU1ODIxZQ0KLTpFTkQ6DQorOzsgT3B0 aW9uYWxseSBhZGQgYSBrZXkgYmluZGluZyBmb3IgdGhlIHRvZ2dsZSBiZXR3ZWVuIHRoZSB0aGVt ZXM6DQorKGRlZmluZS1rZXkgZ2xvYmFsLW1hcCAoa2JkICI8ZjU+IikgIydtb2R1cy10aGVtZXMt dG9nZ2xlKQ0KKyMrZW5kX3NyYw0KIA0KLVdpdGggYm90aCB0aGVtZXMgYXZhaWxhYmxlLCBpdCBp cyBwb3NzaWJsZSB0byBkZXNpZ24gYSBzaW1wbGUgY29tbWFuZCB0bw0KLXN3aXRjaCBiZXR3ZWVu IHRoZW0gb24gZGVtYW5kLg0KK1tbI2g6ZTk3OTczNGMtYTllMS00MzczLTkzNjUtMGYyY2QzNjEw N2I4XVtTYW1wbGUgY29uZmlndXJhdGlvbiBmb3IgdXNlLXBhY2thZ2VdXS4NCiANCi0jK2JlZ2lu X3NyYyBlbWFjcy1saXNwDQotKGRlZnVuIG1vZHVzLXRoZW1lcy10b2dnbGUgKCkNCi0gICJUb2dn bGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGknIGFuZCBgbW9kdXMtdml2ZW5kaScgdGhlbWVzLiIN Ci0gIChpbnRlcmFjdGl2ZSkNCi0gIChpZiAoZXEgKGNhciBjdXN0b20tZW5hYmxlZC10aGVtZXMp ICdtb2R1cy1vcGVyYW5kaSkNCi0gICAgICAocHJvZ24NCi0gICAgICAgIChkaXNhYmxlLXRoZW1l ICdtb2R1cy1vcGVyYW5kaSkNCi0gICAgICAgIChsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRpIHQp KQ0KLSAgICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkNCi0gICAgKGxvYWQtdGhlbWUg J21vZHVzLW9wZXJhbmRpIHQpKSkNCi0jK2VuZF9zcmMNCitXaXRoIHRob3NlIGdyYW50ZWQsIGJl YXIgaW4gbWluZCBhIGNvdXBsZSBvZiB0ZWNobmljYWwgcG9pbnRzIG9uDQorfm1vZHVzLXRoZW1l cy1sb2FkLW9wZXJhbmRpfiBhbmQgfm1vZHVzLXRoZW1lcy1sb2FkLXZpdmVuZGl+LCBhcyB3ZWxs IGFzDQorfm1vZHVzLXRoZW1lcy10b2dnbGV+IHdoaWNoIHJlbGllcyBvbiB0aGVtOg0KIA0KLVlv dSBjb3VsZCB1c2UgPShtYXBjICMnZGlzYWJsZS10aGVtZSBjdXN0b20tZW5hYmxlZC10aGVtZXMp PSBpbnN0ZWFkIG9mDQotZGlzYWJsaW5nIGEgc2luZ2xlIHRhcmdldCwgYnV0IHlvdSBnZXQgdGhl IGlkZWEuDQorMS4gVGhvc2UgZnVuY3Rpb25zIGNhbGwgfmxvYWQtdGhlbWV+LiAgU29tZSB1c2Vy cyBwcmVmZXIgdG8gb3B0IGZvcg0KKyAgIH5lbmFibGUtdGhlbWV+IGluc3RlYWQgKFtbI2g6ZTY4 NTYwYjMtN2ZiMC00MmJjLWExNTEtZTAxNTk0OGY4YTM1XVtEaWZmZXJlbmNlcyBiZXR3ZWVuIGxv YWRpbmcgYW5kIGVuYWJsaW5nXV0pLg0KIA0KLSoqIENvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRv IGxvYWRpbmcNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOmE4OTdiMzAyLThlMTAtNGEy Ni1iZWFiLTNjYWFlZTFlMTE5Mw0KLTpFTkQ6DQorMi4gVGhlIGZ1bmN0aW9ucyB3aWxsIHJ1biB0 aGUgfm1vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2t+IGFzDQorICAgdGhlaXIgZmlu YWwgc3RlcC4gIFRoaXMgY2FuIGJlIGVtcGxveWVkIGZvciBiZXNwb2tlIGNvbmZpZ3VyYXRpb25z DQorICAgKFtbI2g6ZjQ2NTFkNTUtOGMwNy00NmFhLWI1MmItYmVkMWU1MzQ2M2JiXVtBZHZhbmNl ZCBjdXN0b21pemF0aW9uIChkby1pdC15b3Vyc2VsZildXSkuICBFeHBlcmllbmNlZCB1c2VycyBt YXkgbm90DQorICAgd2lzaCB0byByZWx5IG9uIHN1Y2ggYSBob29rIGFuZCB0aGUgZnVuY3Rpb25z IHRoYXQgcnVuIGl0OiB0aGV5IG1heQ0KKyAgIHByZWZlciBhIGN1c3RvbSBzb2x1dGlvbiAoW1sj aDo4NmY2OTA2Yi1mMDkwLTQ2Y2MtOTgxNi0xZmU4YWViMzg3NzZdW0EgdGhlbWUtYWdub3N0aWMg aG9vayBmb3IgdGhlbWUgbG9hZGluZ11dKS4NCiANCi1JZiB5b3UgcGxhbiB0byB1c2UgYm90aCB0 aGVtZXMgYW5kIHdpc2ggdG8gYXBwbHkgc3R5bGVzIGNvbnNpc3RlbnRseQ0KLShzZWUgW1sjaDpi ZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1M2ZdW0N1c3RvbWl6YXRpb24gT3B0aW9u c11dKSwgeW91IGNvdWxkIGRlZmluZSB3cmFwcGVyIGZ1bmN0aW9ucyBhcm91bmQNCi10aGUgc3Rh bmRhcmQgPWxvYWQtdGhlbWU9IGNvbW1hbmQuICBUaGVzZSBleHRlbmQgdGhlIHNpbXBsZSBmdW5j dGlvbiB3ZQ0KLXByZXNlbnRlZCBpbiBbWyNoOjJhMDg5NWE2LTMyODEtNGU1NS04YWExLThhNzM3 NTU1ODIxZV1bVG9nZ2xlIGJldHdlZW4gdGhlIHRoZW1lcyBvbiBkZW1hbmRdXS4NCisqKiBTYW1w bGUgY29uZmlndXJhdGlvbiBmb3IgdXNlLXBhY2thZ2UNCis6cHJvcGVydGllczoNCis6Y3VzdG9t X2lkOiBoOmU5Nzk3MzRjLWE5ZTEtNDM3My05MzY1LTBmMmNkMzYxMDdiOA0KKzplbmQ6DQorIytj aW5kZXg6IHVzZS1wYWNrYWdlIGNvbmZpZ3VyYXRpb24NCiANCi1IZXJlIGlzIGEgY29tcHJlaGVu c2l2ZSBzZXR1cCAodGhlIHZhbHVlcyBhc3NpZ25lZCB0byB0aGUgdmFyaWFibGVzIGFyZQ0KLWp1 c3QgZm9yIHRoZSBzYWtlIG9mIHRoaXMgZGVtb25zdHJhdGlvbik6W2ZuOjogVGhlID1kZWZtYWNy bz0gYW5kID1kb2xpc3Q9DQotbWV0aG9kIHdlcmUgY29udHJpYnV0ZWQgb24gUmVkZGl0IGJ5IHVz ZXIgPWIzbj0NCi1odHRwczovL3d3dy5yZWRkaXQuY29tL3IvZW1hY3MvY29tbWVudHMvZ3Fzejh1 L3dlZWtseV90aXBzdHJpY2tldGNfdGhyZWFkL2ZzZmFraGcvLl0NCitJdCBpcyBjb21tb24gZm9y IEVtYWNzIHVzZXJzIHRvIHJlbHkgb24gfnVzZS1wYWNrYWdlfiBmb3IgZGVjbGFyaW5nDQorcGFj a2FnZSBjb25maWd1cmF0aW9ucyBpbiB0aGVpciBzZXR1cC4gIFdlIHVzZSB0aGlzIGFzIGFuIGV4 YW1wbGU6DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KLShkZWZtYWNybyBtb2R1cy10aGVt ZXMtZm9ybWF0LXNleHAgKHNleHAgJnJlc3Qgb2JqZWN0cykNCi0gIGAoZXZhbCAocmVhZCAoZm9y bWF0ICwoZm9ybWF0ICIlUyIgc2V4cCkgLEBvYmplY3RzKSkpKQ0KLQ0KLShkb2xpc3QgKHRoZW1l ICcoIm9wZXJhbmRpIiAidml2ZW5kaSIpKQ0KLSAgKG1vZHVzLXRoZW1lcy1mb3JtYXQtc2V4cA0K LSAgIChkZWZ1biBtb2R1cy0lMSRzLXRoZW1lLWxvYWQgKCkNCi0gICAgIChzZXRxIG1vZHVzLSUx JHMtdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzIHQNCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhl bWUtYm9sZC1jb25zdHJ1Y3RzIHQNCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtZnJpbmdl cyAnc3VidGxlIDsge25pbCwnc3VidGxlLCdpbnRlbnNlfQ0KLSAgICAgICAgICAgbW9kdXMtJTEk cy10aGVtZS1tb2RlLWxpbmUgJzNkIDsge25pbCwnM2QsJ21vb2R5fQ0KLSAgICAgICAgICAgbW9k dXMtJTEkcy10aGVtZS1zeW50YXggJ2FsdC1zeW50YXggOyB7bmlsLGZhaW50LCd5ZWxsb3ctY29t bWVudHMsJ2dyZWVuLXN0cmluZ3MsJ3llbGxvdy1jb21tZW50cy1ncmVlbi1zdHJpbmdzLCdhbHQt c3ludGF4LCdhbHQtc3ludGF4LXllbGxvdy1jb21tZW50c30NCi0gICAgICAgICAgIG1vZHVzLSUx JHMtdGhlbWUtaW50ZW5zZS1obC1saW5lIG5pbA0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVt ZS1pbnRlbnNlLXBhcmVuLW1hdGNoIG5pbA0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1s aW5rcyAnZmFpbnQgOyB7bmlsLCdmYWludCwnbmV1dHJhbC11bmRlcmxpbmUsJ2ZhaW50LW5ldXRy YWwtdW5kZXJsaW5lLCduby11bmRlcmxpbmV9DQotICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1l LW5vLW1peGVkLWZvbnRzIG5pbA0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1wcm9tcHRz IG5pbCA7IHtuaWwsJ3N1YnRsZSwnaW50ZW5zZX0NCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhl bWUtY29tcGxldGlvbnMgJ21vZGVyYXRlIDsge25pbCwnbW9kZXJhdGUsJ29waW5pb25hdGVkfQ0K LSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1kaWZmcyBuaWwgOyB7bmlsLCdkZXNhdHVyYXRl ZCwnZmctb25seX0NCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtb3JnLWJsb2NrcyAnZ3Jh eXNjYWxlIDsge25pbCwnZ3JheXNjYWxlLCdyYWluYm93fQ0KLSAgICAgICAgICAgbW9kdXMtJTEk cy10aGVtZS1oZWFkaW5ncyAgOyBSZWFkIGZ1cnRoZXIgYmVsb3cgaW4gdGhlIG1hbnVhbCBmb3Ig dGhpcyBvbmUNCi0gICAgICAgICAgICcoKDEgLiBzZWN0aW9uKQ0KLSAgICAgICAgICAgICAoMiAu IGxpbmUpDQotICAgICAgICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKQ0KLSAgICAg ICAgICAgbW9kdXMtJTEkcy10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyBuaWwNCi0gICAg ICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtc2NhbGUtaGVhZGluZ3MgdA0KLSAgICAgICAgICAgbW9k dXMtJTEkcy10aGVtZS1zY2FsZS0xIDEuMQ0KLSAgICAgICAgICAgbW9kdXMtJTEkcy10aGVtZS1z Y2FsZS0yIDEuMTUNCi0gICAgICAgICAgIG1vZHVzLSUxJHMtdGhlbWUtc2NhbGUtMyAxLjIxDQot ICAgICAgICAgICBtb2R1cy0lMSRzLXRoZW1lLXNjYWxlLTQgMS4yNw0KLSAgICAgICAgICAgbW9k dXMtJTEkcy10aGVtZS1zY2FsZS01IDEuMzMpDQotICAgICAobG9hZC10aGVtZSAnbW9kdXMtJTEk cyB0KSkNCi0gICB0aGVtZSkpDQotDQotKGRlZnVuIG1vZHVzLXRoZW1lcy10b2dnbGUgKCkNCi0g ICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGknIGFuZCBgbW9kdXMtdml2ZW5kaScgdGhl bWVzLiINCi0gIChpbnRlcmFjdGl2ZSkNCi0gIChpZiAoZXEgKGNhciBjdXN0b20tZW5hYmxlZC10 aGVtZXMpICdtb2R1cy1vcGVyYW5kaSkNCi0gICAgICAocHJvZ24NCi0gICAgICAgIChkaXNhYmxl LXRoZW1lICdtb2R1cy1vcGVyYW5kaSkNCi0gICAgICAgIChtb2R1cy12aXZlbmRpLXRoZW1lLWxv YWQpKQ0KLSAgICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkNCi0gICAgKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWxvYWQpKSkNCisodXNlLXBhY2thZ2UgbW9kdXMtdGhlbWVzDQorICA6ZW5z dXJlICAgICAgICAgICAgICAgICAgICAgICAgIDsgb21pdCB0aGlzIHRvIHVzZSB0aGUgYnVpbHQt aW4gdGhlbWVzDQorICA6aW5pdA0KKyAgOzsgQWRkIGFsbCB5b3VyIGN1c3RvbWl6YXRpb25zIHBy aW9yIHRvIGxvYWRpbmcgdGhlIHRoZW1lcw0KKyAgKHNldHEgbW9kdXMtdGhlbWVzLXNsYW50ZWQt Y29uc3RydWN0cyB0DQorICAgICAgICBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIG5pbCkN CisNCisgIDs7IExvYWQgdGhlIHRoZW1lIGZpbGVzIGJlZm9yZSBlbmFibGluZyBhIHRoZW1lIChl bHNlIHlvdSBnZXQgYW4gZXJyb3IpLg0KKyAgKG1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lcykNCisg IDpjb25maWcNCisgIDs7IExvYWQgdGhlIHRoZW1lIG9mIHlvdXIgY2hvaWNlOg0KKyAgKG1vZHVz LXRoZW1lcy1sb2FkLW9wZXJhbmRpKSA7OyBPUiAobW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaSkN CisgIDpiaW5kICgiPGY1PiIgLiBtb2R1cy10aGVtZXMtdG9nZ2xlKSkNCiAjK2VuZF9zcmMNCiAN Ci0qIEN1c3RvbWl6YXRpb24gT3B0aW9ucw0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6 YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAtZGQxMWZkZDhiNTNmDQotOkVORDoNCi0NCi1UaGUgTW9k dXMgdGhlbWVzIGFyZSBoaWdobHkgY29uZmlndXJhYmxlLCB0aG91Z2ggdGhleSBzaG91bGQgd29y ayB3ZWxsDQotd2l0aG91dCBhbnkgZnVydGhlciB0d2Vha3MuDQotDQotQnkgZGVmYXVsdCwgYWxs IGN1c3RvbWl6YXRpb24gb3B0aW9ucyBhcmUgc2V0IHRvID1uaWw9Lg0KLQ0KLUFsbCBjdXN0b21p emF0aW9uIG9wdGlvbnMgbmVlZCB0byBiZSBldmFsdWF0ZWQgYmVmb3JlIGxvYWRpbmcgdGhlaXIN Ci10aGVtZSAoc2VlIFtbI2g6M2YzYzM3MjgtMWIzNC00MzdkLTlkMGMtYjExMGY1YjE2MWE5XVtF bmFibGUgYW5kIGxvYWRdXSkuDQorW1sjaDplNjg1NjBiMy03ZmIwLTQyYmMtYTE1MS1lMDE1OTQ4 ZjhhMzVdW0RpZmZlcmVuY2VzIGJldHdlZW4gbG9hZGluZyBhbmQgZW5hYmxpbmddXS4NCisNCitO b3RlOiBtYWtlIHN1cmUgbm90IHRvIGN1c3RvbWl6ZSB0aGUgdmFyaWFibGUgfmN1c3RvbS10aGVt ZS1sb2FkLXBhdGh+DQorb3IgfmN1c3RvbS10aGVtZS1kaXJlY3Rvcnl+IGFmdGVyIHRoZSB0aGVt ZXMnIHBhY2thZ2UgZGVjbGFyYXRpb24uICBUaGF0DQord2lsbCBsZWFkIHRvIGZhaWx1cmVzIGlu IGxvYWRpbmcgdGhlIGZpbGVzLiAgSWYgZWl0aGVyIG9yIGJvdGggb2YgdGhvc2UNCit2YXJpYWJs ZXMgbmVlZCB0byBiZSBjaGFuZ2VkLCB0aGVpciB2YWx1ZXMgc2hvdWxkIGJlIGRlZmluZWQgYmVm b3JlIHRoZQ0KK3BhY2thZ2UgZGVjbGFyYXRpb24gb2YgdGhlIHRoZW1lcy4NCisNCisqKiBEaWZm ZXJlbmNlcyBiZXR3ZWVuIGxvYWRpbmcgYW5kIGVuYWJsaW5nDQorOnByb3BlcnRpZXM6DQorOmN1 c3RvbV9pZDogaDplNjg1NjBiMy03ZmIwLTQyYmMtYTE1MS1lMDE1OTQ4ZjhhMzUNCis6ZW5kOg0K KyMrY2luZGV4OiBsb2FkLXRoZW1lIFZTIGVuYWJsZS10aGVtZQ0KKw0KK1RoZSByZWFzb24gd2Ug cmVjb21tZW5kIH5sb2FkLXRoZW1lfiBpbnN0ZWFkIG9mIHRoZSBvdGhlciBvcHRpb24gb2YNCit+ ZW5hYmxlLXRoZW1lfiBpcyB0aGF0IHRoZSBmb3JtZXIgZG9lcyBhIGtpbmQgb2YgInJlc2V0IiBv biB0aGUgZmFjZQ0KK3NwZWNzLiAgSXQgcXVpdGUgbGl0ZXJhbGx5IGxvYWRzIChvciByZS1sb2Fk cykgdGhlIHRoZW1lLiAgV2hlcmVhcyB0aGUNCitsYXR0ZXIgc2ltcGx5IHB1dHMgYW4gYWxyZWFk eSBsb2FkZWQgdGhlbWUgYXQgdGhlIHRvcCBvZiB0aGUgbGlzdCBvZg0KK2VuYWJsZWQgaXRlbXMs IHJlLXVzaW5nIHdoYXRldmVyIHN0YXRlIHdhcyBsYXN0IGxvYWRlZC4NCisNCitBcyBzdWNoLCB+ bG9hZC10aGVtZX4gcmVhZHMgYWxsIGN1c3RvbWl6YXRpb25zIHRoYXQgbWF5IGhhcHBlbiBkdXJp bmcNCithbnkgZ2l2ZW4gRW1hY3Mgc2Vzc2lvbjogZXZlbiBhZnRlciB0aGUgaW5pdGlhbCBzZXR1 cCBvZiBhIHRoZW1lLg0KK0V4YW1wbGVzIGFyZSBjYWxscyB0byB+Y3VzdG9tLXNldC1mYWNlc34s IGFzIHdlbGwgYXMgbmV3IHZhbHVlcyBhc3NpZ25lZA0KK3RvIHRoZSBvcHRpb25zIHRoZSBNb2R1 cyB0aGVtZXMgcHJvdmlkZSAoW1sjaDpiZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1 M2ZdW0N1c3RvbWl6YXRpb24gT3B0aW9uc11dKS4NCisNCitPdXIgdGVzdHMgc2hvdyB0aGF0IH5l bmFibGUtdGhlbWV+IGRvZXMgbm90IHJlYWQgc3VjaCB2YXJpYWJsZXMgYW5ldywgc28NCitpdCBt aWdodCBhcHBlYXIgdG8gdGhlIHVuc3VzcGVjdGluZyB1c2VyIHRoYXQgdGhlIHRoZW1lcyBhcmUg c29tZWhvdw0KK2Jyb2tlbiB3aGVuZXZlciB0aGV5IHRyeSB0byBhc3NpZ24gYSBuZXcgdmFsdWUg dG8gYSBjdXN0b21pemF0aW9uIG9wdGlvbg0KK29yIHNvbWUgZmFjZS4NCisNCitUaGlzICJyZXNl dCIgdGhhdCB+bG9hZC10aGVtZX4gY29uZHVjdHMgZG9lcywgaG93ZXZlciwgY29tZSBhdCB0aGUg Y29zdA0KK29mIGJlaW5nIHNvbWV3aGF0IHNsb3dlciB0aGFuIH5lbmFibGUtdGhlbWV+LiAgVXNl cnMgd2hvIGhhdmUgYSBzdGFibGUNCitzZXR1cCBhbmQgd2hvIHNlbGRvbSB1cGRhdGUgdGhlaXIg dmFyaWFibGVzIGR1cmluZyBhIGdpdmVuIEVtYWNzDQorc2Vzc2lvbiwgYXJlIGJldHRlciBvZmYg dXNpbmcgc29tZXRoaW5nIGxpa2UgdGhpczoNCiANCi0qKiBPcHRpb24gZm9yIG1vcmUgYm9sZCBj b25zdHJ1Y3RzDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogQm9sZCBjb25zdHJ1Y3RzDQot OkRFU0NSSVBUSU9OOiBUb2dnbGUgYm9sZCBjb25zdHJ1Y3RzIGluIGNvZGUNCi06Q1VTVE9NX0lE OiBoOmIyNTcxNGY2LTBmYmUtNDFmNi04OWI1LTY5MTJkMzA0MDkxZQ0KLTpFTkQ6DQotDQotU3lt Ym9sIG5hbWVzOg0KLQ0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cz0N Ci0rID1tb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cz0NCisjK2JlZ2luX3NyYyBl bWFjcy1saXNwDQorKHJlcXVpcmUgJ21vZHVzLXRoZW1lcykNCisobG9hZC10aGVtZSAnbW9kdXMt b3BlcmFuZGkgdCB0KQ0KKyhsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRpIHQgdCkNCiANCi1Qb3Nz aWJsZSB2YWx1ZXM6DQorKGVuYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpIDs7IE9SIChlbmFi bGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpDQorIytlbmRfc3JjDQogDQotMS4gPW5pbD0gKGRlZmF1 bHQpDQotMi4gPXQ9DQorW1sjaDplOTc5NzM0Yy1hOWUxLTQzNzMtOTM2NS0wZjJjZDM2MTA3Yjhd W1NhbXBsZSBjb25maWd1cmF0aW9uIGZvciB1c2UtcGFja2FnZV1dLg0KIA0KLURpc3BsYXkgc2V2 ZXJhbCBjb25zdHJ1Y3RzIGluIGJvbGQgd2VpZ2h0LiAgVGhpcyBjb25jZXJucyBrZXl3b3JkcyBh bmQNCi1vdGhlciBpbXBvcnRhbnQgYXNwZWN0cyBvZiBjb2RlIHN5bnRheC4gIEl0IGFsc28gYWZm ZWN0cyBjZXJ0YWluIG1vZGUNCi1saW5lIGluZGljYXRvcnMgYW5kIGNvbW1hbmQtbGluZSBwcm9t cHRzLg0KK1dpdGggdGhlIGFib3ZlIGdyYW50ZWQsIG90aGVyIHNlY3Rpb25zIG9mIHRoZSBtYW51 YWwgZGlzY3VzcyBob3cgdG8NCitjb25maWd1cmUgY3VzdG9tIGZhY2VzLCB3aGVyZSB+bG9hZC10 aGVtZX4gaXMgZXhwZWN0ZWQsIHRob3VnaA0KK35lbmFibGUtdGhlbWV+IGNvdWxkIHN0aWxsIGFw cGx5IGluIHN0YWJsZSBzZXR1cHM6DQogDQotVGhlIGRlZmF1bHQgaXMgdG8gb25seSB1c2UgYSBi b2xkIHdlaWdodCB3aGVuIGl0IGlzIHJlcXVpcmVkLg0KK1tbI2g6MTQ4N2M2MzEtZjRmZS00OTBk LThkNTgtZDcyZmZhM2JkNDc0XVtDYXNlLWJ5LWNhc2UgZmFjZSBzcGVjcyB1c2luZyB0aGUgdGhl bWVzJyBwYWxldHRlXV0uDQogDQotQWRkaXRpb25hbGx5LCBhbmQgd2hpbGUgbm90IG5lY2Vzc2Fy eSwgdG8gZGVmaW5lIHRoZSBwcmVjaXNlIHdlaWdodCBmb3INCi1ib2xkIGNvbnN0cnVjdHMsIHlv dSBjYW4gY2hhbmdlIHRoZSB0eXBvZ3JhcGhpYyBpbnRlbnNpdHkgb2YgdGhlID1ib2xkPQ0KLWZh Y2UuICBUaGUgc3RhbmRhcmQgaXMgYSBib2xkIHdlaWdodC4gIEl0IHJlcXVpcmVzIG5vIGZ1cnRo ZXINCi1pbnRlcnZlbnRpb24uICBBc3N1bWluZyB0aG91Z2ggdGhhdCB5b3VyIHR5cGVmYWNlIG9m IGNob2ljZSBzdXBwb3J0cyBhDQotInNlbWlib2xkIiB3ZWlnaHQsIGFkZGluZyB0aGUgZm9sbG93 aW5nIHNuaXBwZXQgdG8geW91ciBpbml0IGZpbGUgc2hvdWxkDQotc3VmZmljZS4NCitbWyNoOjUx YmEzNTQ3LWI4YzgtNDBkNi1iYTVhLTQ1ODY0NzdmZDRhZV1bRmFjZSBzcGVjcyBhdCBzY2FsZSB1 c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uDQogDQotIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0K LShzZXQtZmFjZS1hdHRyaWJ1dGUgJ2JvbGQgbmlsIDp3ZWlnaHQgJ3NlbWlib2xkKQ0KLSMrZW5k X3NyYw0KKyogQ3VzdG9taXphdGlvbiBPcHRpb25zDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9p ZDogaDpiZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1M2YNCis6ZW5kOg0KIA0KLU5v dGUgdGhhdCBpZiB5b3UgYXJlIHN3aXRjaGluZyB0aGVtZXMsIHlvdSBuZWVkIHRvIHJlLWV2YWx1 YXRlIHRoaXMNCi1leHByZXNzaW9uIGFmdGVyIHRoZSBuZXcgdGhlbWUgaXMgbG9hZGVkLg0KK1Ro ZSBNb2R1cyB0aGVtZXMgYXJlIGhpZ2hseSBjb25maWd1cmFibGUsIHRob3VnaCB0aGV5IHNob3Vs ZCB3b3JrIHdlbGwNCit3aXRob3V0IGFueSBmdXJ0aGVyIHR3ZWFrcy4gIEJ5IGRlZmF1bHQsIGFs bCBjdXN0b21pemF0aW9uIG9wdGlvbnMgYXJlDQorc2V0IHRvIG5pbC4NCiANCi0qKiBPcHRpb24g Zm9yIG1vcmUgc2xhbnRlZCBjb25zdHJ1Y3RzDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTog U2xhbnRlZCBjb25zdHJ1Y3RzDQotOkRFU0NSSVBUSU9OOiBUb2dnbGUgc2xhbnRlZCBjb25zdHJ1 Y3RzIChpdGFsaWNzKSBpbiBjb2RlDQotOkNVU1RPTV9JRDogaDo5NzdjOTAwZC0wZDZkLTRkYmIt ODJkOS1jMmFhZTY5NTQzZDYNCi06RU5EOg0KK1JlbWVtYmVyIHRoYXQgYWxsIGN1c3RvbWl6YXRp b24gb3B0aW9ucyBtdXN0IGJlIGV2YWx1YXRlZCBiZWZvcmUgbG9hZGluZw0KK2EgdGhlbWUgKFtb I2g6M2YzYzM3MjgtMWIzNC00MzdkLTlkMGMtYjExMGY1YjE2MWE5XVtFbmFibGUgYW5kIGxvYWRd XSkuDQogDQotU3ltYm9sIG5hbWVzOg0KKyoqIE9wdGlvbiBmb3IgbW9yZSBib2xkIGNvbnN0cnVj dHMNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBCb2xkIGNvbnN0cnVjdHMNCis6ZGVzY3Jp cHRpb246IFRvZ2dsZSBib2xkIGNvbnN0cnVjdHMgaW4gY29kZQ0KKzpjdXN0b21faWQ6IGg6YjI1 NzE0ZjYtMGZiZS00MWY2LTg5YjUtNjkxMmQzMDQwOTFlDQorOmVuZDoNCisjK3ZpbmRleDogbW9k dXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cw0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLXNs YW50ZWQtY29uc3RydWN0cz0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQtY29uc3Ry dWN0cz0NCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3Rzfg0KIA0KIFBvc3Np YmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCiAyLiA9dD0NCiANCi1DaG9vc2Ug dG8gcmVuZGVyIG1vcmUgZmFjZXMgaW4gc2xhbnRlZCB0ZXh0IChpdGFsaWNzKS4gIFRoaXMgdHlw aWNhbGx5DQotYWZmZWN0cyBkb2N1bWVudGF0aW9uIHN0cmluZ3MgYW5kIGNvZGUgY29tbWVudHMu DQotDQotVGhlIGRlZmF1bHQgaXMgdG8gbm90IHVzZSBpdGFsaWNzIHVubGVzcyBpdCBpcyBhYnNv bHV0ZWx5IG5lY2Vzc2FyeS4NCitUaGUgZGVmYXVsdCBpcyB0byB1c2UgYSBib2xkIHR5cG9ncmFw aGljIHdlaWdodCBvbmx5IHdoZW4gaXQgaXMNCityZXF1aXJlZC4NCiANCi0qKiBPcHRpb24gZm9y IGZhaW50IGNvZGUgc3ludGF4IGhpZ2hsaWdodGluZyAoZGVwcmVjYXRlZCBmb3IgfjAuMTQuMH4p DQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogRmFpbnQgc3ludGF4DQotOkRFU0NSSVBUSU9O OiBUb2dnbGUgc3VidGxlIGNvbG9yYXRpb24gaW4gY29kZSAoZGVwcmVjYXRlZCBmb3IgMC4xNC4w KQ0KLTpDVVNUT01fSUQ6IGg6NzQxMzc5ZmUtNzIwMy00ZGFkLWE3ZjgtYWI3MWY2MWI0M2U2DQot OkVORDoNCitXaXRoIGEgbm9uLW5pbCB2YWx1ZSAoPXQ9KSBkaXNwbGF5IHNldmVyYWwgc3ludGFj dGljIGNvbnN0cnVjdHMgaW4gYm9sZA0KK3dlaWdodC4gIFRoaXMgY29uY2VybnMga2V5d29yZHMg YW5kIG90aGVyIGltcG9ydGFudCBhc3BlY3RzIG9mIGNvZGUNCitzeW50YXguICBJdCBhbHNvIGFm ZmVjdHMgY2VydGFpbiBtb2RlIGxpbmUgaW5kaWNhdG9ycyBhbmQgY29tbWFuZC1saW5lDQorcHJv bXB0cy4NCiANCi1TeW1ib2wgbmFtZXM6DQorKiogT3B0aW9uIGZvciBtb3JlIHNsYW50ZWQgY29u c3RydWN0cw0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IFNsYW50ZWQgY29uc3RydWN0cw0K KzpkZXNjcmlwdGlvbjogVG9nZ2xlIHNsYW50ZWQgY29uc3RydWN0cyAoaXRhbGljcykgaW4gY29k ZQ0KKzpjdXN0b21faWQ6IGg6OTc3YzkwMGQtMGQ2ZC00ZGJiLTgyZDktYzJhYWU2OTU0M2Q2DQor OmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cw0KIA0KLSsg PW1vZHVzLW9wZXJhbmRpLXRoZW1lLWZhaW50LXN5bnRheD0NCi0rID1tb2R1cy12aXZlbmRpLXRo ZW1lLWZhaW50LXN5bnRheD0NCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtc2xhbnRlZC1jb25zdHJ1 Y3Rzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCiAyLiA9 dD0NCiANCi1Vc2UgbGVzcyBzYXR1cmF0ZWQgY29sb3JzIGluIHByb2dyYW1taW5nIG1vZGVzIGZv ciBoaWdobGlnaHRpbmcgY29kZQ0KLXN5bnRheC4gIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSBzYXR1 cmF0ZWQgY29sb3JzLg0KK1RoZSBkZWZhdWx0IGlzIHRvIG5vdCB1c2Ugc2xhbnRlZCB0ZXh0IChp dGFsaWNzKSB1bmxlc3MgaXQgaXMgYWJzb2x1dGVseQ0KK25lY2Vzc2FyeS4NCiANCi1UaGlzIG9w dGlvbiBlc3NlbnRpYWxseSBhZmZlY3RzIHRoZSBmb250LWxvY2sgZmFjZXMsIHNvIGl0IG1heSBh bHNvIGhhdmUNCi1pbXBsaWNhdGlvbnMgaW4gb3RoZXIgcGxhY2VzIHRoYXQgYXJlIGhhcmQtd2ly ZWQgdG8gcmVseSBkaXJlY3RseSBvbg0KLXRoZW0gaW5zdGVhZCBvZiBzcGVjaWZ5aW5nIHRoZWly IG93biBmYWNlcyAod2hpY2ggY291bGQgaW5oZXJpdCBmcm9tDQotZm9udC1sb2NrIGlmIHRoYXQg aXMgdGhlIGludGVudCkuICBUaGUgYXV0aG9yIGlzIGF3YXJlIG9mID12Yy1kaXI9IGFzIGENCi1j YXNlIGluIHBvaW50Lg0KK1dpdGggYSBub24tbmlsIHZhbHVlICg9dD0pIGNob29zZSB0byByZW5k ZXIgbW9yZSBmYWNlcyBpbiBzbGFudGVkIHRleHQuDQorVGhpcyB0eXBpY2FsbHkgYWZmZWN0cyBk b2N1bWVudGF0aW9uIHN0cmluZ3MgYW5kIGNvZGUgY29tbWVudHMuDQogDQogKiogT3B0aW9uIGZv ciBzeW50YXggaGlnaGxpZ2h0aW5nDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogU3ludGF4 IHN0eWxlcw0KLTpERVNDUklQVElPTjogQ2hvb3NlIHRoZSBvdmVyYWxsIGFlc3RoZXRpYyBvZiBj b2RlIHN5bnRheA0KLTpDVVNUT01fSUQ6IGg6YzExOWQ3YjItZmNkNC00ZTQ0LTg5MGUtNWUyNTcz M2Q1ZTUyDQotOkVORDoNCi0NCi1UaGlzIG9wdGlvbiBzdXBlcnNlZGVzIHRoZSAiZmFpbnQgc3lu dGF4IiBvbmUgYWhlYWQgb2YgdmVyc2lvbiA9MC4xNC4wPQ0KLShbWyNoOjc0MTM3OWZlLTcyMDMt NGRhZC1hN2Y4LWFiNzFmNjFiNDNlNl1bT3B0aW9uIGZvciBmYWludCBjb2RlIHN5bnRheCBoaWdo bGlnaHRpbmddXSkuDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogU3ludGF4IHN0eWxlcw0K KzpkZXNjcmlwdGlvbjogQ2hvb3NlIHRoZSBvdmVyYWxsIGFlc3RoZXRpYyBvZiBjb2RlIHN5bnRh eA0KKzpjdXN0b21faWQ6IGg6YzExOWQ3YjItZmNkNC00ZTQ0LTg5MGUtNWUyNTczM2Q1ZTUyDQor OmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLXN5bnRheA0KIA0KLVN5bWJvbCBuYW1lczoN Ci0NCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXg9DQotKyA9bW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXg9DQorU3ltYm9sOiB+bW9kdXMtdGhlbWVzLXN5bnRheH4NCiANCiBQb3NzaWJs ZSB2YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRlZmF1bHQpDQotMi4gPWZhaW50PQ0KLTMuID15ZWxs b3ctY29tbWVudHM9DQotNC4gPWdyZWVuLXN0cmluZ3M9DQotNS4gPXllbGxvdy1jb21tZW50cy1n cmVlbi1zdHJpbmdzPQ0KLTYuID1hbHQtc3ludGF4PQ0KLTcuID1hbHQtc3ludGF4LXllbGxvdy1j b21tZW50cz0NCisyLiB+ZmFpbnR+DQorMy4gfnllbGxvdy1jb21tZW50c34NCis0LiB+Z3JlZW4t c3RyaW5nc34NCis1LiB+eWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3N+DQorNi4gfmFsdC1z eW50YXh+DQorNy4gfmFsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzfg0KKzguIH5mYWludC15ZWxs b3ctY29tbWVudHN+DQogDQogVGhlIGRlZmF1bHQgc3R5bGUgKG5pbCkgZm9yIGNvZGUgc3ludGF4 IGhpZ2hsaWdodGluZyBpcyBhIGJhbGFuY2VkDQogY29tYmluYXRpb24gb2YgY29sb3JzIG9uIHRo ZSBjeWFuLWJsdWUtbWFnZW50YSBzaWRlIG9mIHRoZSBzcGVjdHJ1bS4NCiBUaGVyZSBpcyBsaXR0 bGUgdG8gbm8gdXNlIG9mIGdyZWVucywgeWVsbG93cywgb3IgcmVkcywgZXhjZXB0IHdoZW4gaXQg aXMNCiBuZWNlc3NhcnkuDQogDQotT3B0aW9uID1mYWludD0gaXMgbGlrZSB0aGUgZGVmYXVsdCBp biB0ZXJtcyBvZiB0aGUgY2hvaWNlIG9mIHBhbGV0dGUgYnV0DQorT3B0aW9uIH5mYWludH4gaXMg bGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUgY2hvaWNlIG9mIHBhbGV0dGUgYnV0DQog YXBwbGllcyBkZXNhdHVyYXRlZCBjb2xvciB2YWx1ZXMuDQogDQotT3B0aW9uID15ZWxsb3ctY29t bWVudHM9IGFwcGxpZXMgYSB5ZWxsb3cgdGludCB0byBjb21tZW50cy4gIFRoZSByZXN0IG9mDQot dGhlIHN5bnRheCBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdC4NCitPcHRpb24gfnllbGxvdy1j b21tZW50c34gYWRkcyBhIHllbGxvdyB0aW50IHRvIGNvbW1lbnRzLiAgVGhlIHJlc3Qgb2YgdGhl DQorc3ludGF4IGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0Lg0KIA0KLU9wdGlvbiA9Z3JlZW4t c3RyaW5ncz0gcmVwbGFjZXMgdGhlIGJsdWUvY3lhbi9jb2xkIGNvbG9yIHZhcmlhbnRzIGluDQor T3B0aW9uIH5ncmVlbi1zdHJpbmdzfiByZXBsYWNlcyB0aGUgYmx1ZS9jeWFuL2NvbGQgY29sb3Ig dmFyaWFudHMgaW4NCiBzdHJpbmdzIHdpdGggZ3JlZW5lciBhbHRlcm5hdGl2ZXMuICBUaGUgcmVz dCBvZiB0aGUgc3ludGF4IHJlbWFpbnMgdGhlDQogc2FtZS4NCiANCi1PcHRpb24gPXllbGxvdy1j b21tZW50cy1ncmVlbi1zdHJpbmdzPSBjb21iaW5lcyB5ZWxsb3cgY29tbWVudHMgd2l0aCBncmVl bg0KK09wdGlvbiB+eWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3N+IGNvbWJpbmVzIHllbGxv dyBjb21tZW50cyB3aXRoIGdyZWVuDQogc3RyaW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRlZmF1 bHQgc3ludGF4IGhpZ2hsaWdodGluZyBzdHlsZS4NCiANCi1PcHRpb24gPWFsdC1zeW50YXg9IGV4 cGFuZHMgdGhlIGNvbG9yIHBhbGV0dGUgYW5kIGFwcGxpZXMgbmV3IGNvbG9yDQotY29tYmluYXRp b25zLiAgU3RyaW5ncyBhcmUgZ3JlZW4uICBEb2Mgc3RyaW5ncyBhcmUgbWFnZW50YSB0aW50ZWQu DQotQ29tbWVudHMgYXJlIGdyYXkuDQorT3B0aW9uIH5hbHQtc3ludGF4fiBleHBhbmRzIHRoZSBh Y3RpdmUgc3BlY3RydW0gYnkgYXBwbHlpbmcgY29sb3INCitjb21iaW5hdGlvbnMgd2l0aCBtb3Jl IGNvbnRyYXN0aW5nIGh1ZXMgYmV0d2VlbiB0aGVtLiAgRXhwZWN0IHRvIGZpbmQNCityZWQgYW5k IGdyZWVuIHZhcmlhbnRzIGluIGFkZGl0aW9uIHRvIGN5YW4sIGJsdWUsIG1hZ2VudGEuDQogDQot T3B0aW9uID1hbHQtc3ludGF4LXllbGxvdy1jb21tZW50cz0gY29tYmluZXMgPWFsdC1zeW50YXg9 IHdpdGgNCi09eWVsbG93LWNvbW1lbnRzPS4NCitPcHRpb24gfmFsdC1zeW50YXgteWVsbG93LWNv bW1lbnRzfiBjb21iaW5lcyB+YWx0LXN5bnRheH4gd2l0aA0KK355ZWxsb3ctY29tbWVudHN+Lg0K IA0KLSoqIE9wdGlvbiBmb3Igbm8gZm9udCBtaXhpbmcNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJ VExFOiBObyBtaXhlZCBmb250cw0KLTpERVNDUklQVElPTjogVG9nZ2xlIG1peGluZyBvZiBmb250 IGZhbWlsaWVzDQotOkNVU1RPTV9JRDogaDoxMTVlNmMyMy1lZTM1LTRhMTYtOGNlZi1lMmZjYmIw OGUyOGINCi06RU5EOg0KK09wdGlvbiB+ZmFpbnQteWVsbG93LWNvbW1lbnRzfiBjb21iaW5lcyB0 aGUgfmZhaW50fiBzdHlsZSB3aXRoDQorfnllbGxvdy1jb21tZW50c34uDQogDQotU3ltYm9sIG5h bWVzOg0KKyoqIE9wdGlvbiBmb3Igbm8gZm9udCBtaXhpbmcNCis6cHJvcGVydGllczoNCis6YWx0 X3RpdGxlOiBObyBtaXhlZCBmb250cw0KKzpkZXNjcmlwdGlvbjogVG9nZ2xlIG1peGluZyBvZiBm b250IGZhbWlsaWVzDQorOmN1c3RvbV9pZDogaDoxMTVlNmMyMy1lZTM1LTRhMTYtOGNlZi1lMmZj YmIwOGUyOGINCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHMN CiANCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1uby1taXhlZC1mb250cz0NCi0rID1tb2R1cy12 aXZlbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1uby1t aXhlZC1mb250c34NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRlZmF1bHQp DQogMi4gPXQ9DQogDQotQnkgZGVmYXVsdCwgdGhlIHRoZW1lcyBjb25maWd1cmUgc29tZSBzcGFj aW5nLXNlbnNpdGl2ZSBmYWNlcywgc3VjaCBhcw0KLU9yZyB0YWJsZXMgYW5kIGNvZGUgYmxvY2tz LCB0byBhbHdheXMgaW5oZXJpdCBmcm9tIHRoZSA9Zml4ZWQtcGl0Y2g9IGZhY2UuDQotVGhpcyBp cyB0byBlbnN1cmUgdGhhdCB0aG9zZSBjb25zdHJ1Y3RzIHJlbWFpbiBtb25vc3BhY2VkIHdoZW4g dXNlcnMgb3B0DQotZm9yIHNvbWV0aGluZyBsaWtlIHRoZSBidWlsdC1pbiA9TS14IHZhcmlhYmxl LXBpdGNoLW1vZGU9LiAgT3RoZXJ3aXNlIHRoZQ0KLWxheW91dCB3b3VsZCBhcHBlYXIgYnJva2Vu LiAgVG8gZGlzYWJsZSB0aGlzIGJlaGF2aW91ciwgc2V0IHRoZSBvcHRpb24NCi10byA9dD0uDQor QnkgZGVmYXVsdCwgdGhlIHRoZW1lcyBjb25maWd1cmUgc29tZSBzcGFjaW5nLXNlbnNpdGl2ZSBm YWNlcyBsaWtlIE9yZw0KK3RhYmxlcyBhbmQgY29kZSBibG9ja3MgdG8gYWx3YXlzIGluaGVyaXQg ZnJvbSB0aGUgfmZpeGVkLXBpdGNofiBmYWNlLg0KK1RoaXMgaXMgdG8gZW5zdXJlIHRoYXQgdGhv c2UgY29uc3RydWN0cyByZW1haW4gbW9ub3NwYWNlZCBldmVuIHdoZW4NCit1c2VycyBvcHQgZm9y IGEgbW9kZSB0aGF0IHJlbWFwcyB0eXBlZmFjZSBmYW1pbGllcywgc3VjaCBhcyB0aGUgYnVpbHQt aW4NCit7e3trYmQoTS14IHZhcmlhYmxlLXBpdGNoLW1vZGUpfX19LiAgT3RoZXJ3aXNlIHRoZSBs YXlvdXQgd291bGQgYXBwZWFyDQorYnJva2VuLCBkdWUgdG8gaG93IHNwYWNpbmcgaXMgZG9uZS4g IFRvIGRpc2FibGUgdGhpcyBiZWhhdmlvdXIsIHNldCB0aGUNCitvcHRpb24gdG8gPXQ9Lg0KIA0K IFVzZXJzIG1heSBwcmVmZXIgdG8gdXNlIGFub3RoZXIgcGFja2FnZSBmb3IgaGFuZGxpbmcgbWl4 ZWQgdHlwZWZhY2UNCiBjb25maWd1cmF0aW9ucywgcmF0aGVyIHRoYW4gbGV0dGluZyB0aGUgdGhl bWUgZG8gaXQsIHBlcmhhcHMgYmVjYXVzZSBhDQogcHVycG9zZS1zcGVjaWZpYyBwYWNrYWdlIGhh cyBleHRyYSBmdW5jdGlvbmFsaXR5LiAgVHdvIHBvc3NpYmxlIG9wdGlvbnMNCi1hcmUgPW9yZy12 YXJpYWJsZS1waXRjaD0gYW5kID1taXhlZC1waXRjaD0uDQotDQotKiogT3B0aW9uIGZvciBubyBs aW5rIHVuZGVybGluZSAoZGVwcmVjYXRlZCBmb3IgfjAuMTQuMH4pDQotOlBST1BFUlRJRVM6DQot OkFMVF9USVRMRTogTGluayB1bmRlcmxpbmUNCi06REVTQ1JJUFRJT046IFRvZ2dsZSB1bmRlcmxp bmVkIHRleHQgaW4gbGlua3MgKGRlcHJlY2F0ZWQgZm9yIDAuMTQuMCkNCi06Q1VTVE9NX0lEOiBo OmExYTYzOWU5LWQyNDctNDE0Yy1hMGFkLTA4YWRhZGNiYzZjMQ0KLTpFTkQ6DQotDQotTm90ZTog ZGVwcmVjYXRlZCBhaGVhZCBvZiB2ZXJzaW9uID0wLjE0LjA9IChbWyNoOmMxMTlkN2IyLWZjZDQt NGU0NC04OTBlLTVlMjU3MzNkNWU1Ml1bT3B0aW9uIGZvciBsaW5rc11dKS4NCi0NCi1TeW1ib2wg bmFtZXM6DQotDQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmU9DQot KyA9bW9kdXMtdml2ZW5kaS10aGVtZS1uby1saW5rLXVuZGVybGluZT0NCi0NCi1Qb3NzaWJsZSB2 YWx1ZXM6DQotDQotMS4gPW5pbD0gKGRlZmF1bHQpDQotMi4gPXQ9DQorYXJlIH5vcmctdmFyaWFi bGUtcGl0Y2h+IGFuZCB+bWl4ZWQtcGl0Y2h+Lg0KIA0KLVJlbW92ZSB0aGUgdW5kZXJsaW5lIGVm ZmVjdCBmcm9tIGxpbmtzLCBzeW1ib2xpYyBsaW5rcywgYW5kIGJ1dHRvbnMuDQotVGhlIGRlZmF1 bHQgaXMgdG8gYXBwbHkgYW4gdW5kZXJsaW5lLg0KK1tbI2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIx MmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMp XV0uDQogDQogKiogT3B0aW9uIGZvciBsaW5rcw0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6 IExpbmsgc3R5bGVzDQotOkRFU0NSSVBUSU9OOiBDaG9vc2UgY29sb3IgaW50ZW5zaXR5IG9yIG5v IHVuZGVybGluZSBmb3IgbGlua3MNCi06Q1VTVE9NX0lEOiBoOmMxMTlkN2IyLWZjZDQtNGU0NC04 OTBlLTVlMjU3MzNkNWU1Mg0KLTpFTkQ6DQotDQotVGhpcyBvcHRpb24gc3VwZXJzZWRlcyB0aGUg Im5vIGxpbmsgdW5kZXJsaW5lIiBvbmUgYWhlYWQgb2YgdmVyc2lvbg0KLT0wLjE0LjA9IChbWyNo OmExYTYzOWU5LWQyNDctNDE0Yy1hMGFkLTA4YWRhZGNiYzZjMV1bT3B0aW9uIGZvciBubyBsaW5r IHVuZGVybGluZV1dKS4NCi0NCi1TeW1ib2wgbmFtZXM6DQorOnByb3BlcnRpZXM6DQorOmFsdF90 aXRsZTogTGluayBzdHlsZXMNCis6ZGVzY3JpcHRpb246IENob29zZSBhbW9uZyBzZXZlcmFsIHN0 eWxlcywgd2l0aCBvciB3aXRob3V0IHVuZGVybGluZQ0KKzpjdXN0b21faWQ6IGg6YzExOWQ3YjIt ZmNkNC00ZTQ0LTg5MGUtNWUyNTczM2Q1ZTUyDQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhl bWVzLWxpbmtzDQogDQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtbGlua3M9DQotKyA9bW9kdXMt dml2ZW5kaS10aGVtZS1saW5rcz0NCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtbGlua3N+DQogDQog UG9zc2libGUgdmFsdWVzOg0KIA0KIDEuID1uaWw9IChkZWZhdWx0KQ0KLTIuID1mYWludD0NCi0z LiA9bmV1dHJhbC11bmRlcmxpbmU9DQotNC4gPWZhaW50LW5ldXRyYWwtdW5kZXJsaW5lPQ0KLTUu ID1uby11bmRlcmxpbmU9DQorMi4gfmZhaW50fg0KKzMuIH5uZXV0cmFsLXVuZGVybGluZX4NCis0 LiB+ZmFpbnQtbmV1dHJhbC11bmRlcmxpbmV+DQorNS4gfm5vLXVuZGVybGluZX4NCis2LiB+dW5k ZXJsaW5lLW9ubHl+DQorNy4gfm5ldXRyYWwtdW5kZXJsaW5lLW9ubHl+DQogDQogVGhlIGRlZmF1 bHQgc3R5bGUgKG5pbCkgZm9yIGxpbmtzIGlzIHRvIGFwcGx5IGFuIHVuZGVybGluZSBhbmQgYQ0K LXNhdHVyYXRlZCBjb2xvciB0byB0aGUgYWZmZWN0ZWQgdGV4dC4gIFRoZSBjb2xvciBvZiB0aGUg dHdvIGlzIHRoZQ0KLXNhbWUsIHdoaWNoIG1ha2VzIHRoZSBsaW5rIGZhaXJseSBwcm9taW5lbnQu DQorc2F0dXJhdGVkIGNvbG9yIHRvIHRoZSBhZmZlY3RlZCB0ZXh0LiAgVGhlIGNvbG9yIG9mIHRo ZSB0d28gaXMgdGhlIHNhbWUsDQord2hpY2ggbWFrZXMgdGhlIGxpbmsgZmFpcmx5IHByb21pbmVu dC4NCiANCi1PcHRpb24gPWZhaW50PSBmb2xsb3dzIHRoZSBzYW1lIGFwcHJvYWNoIGFzIHRoZSBk ZWZhdWx0LCBidXQgdXNlcyBsZXNzDQorT3B0aW9uIH5mYWludH4gZm9sbG93cyB0aGUgc2FtZSBh cHByb2FjaCBhcyB0aGUgZGVmYXVsdCwgYnV0IHVzZXMgbGVzcw0KIGludGVuc2UgY29sb3JzLg0K IA0KLU9wdGlvbiA9bmV1dHJhbC11bmRlcmxpbmU9IGNoYW5nZXMgdGhlIHVuZGVybGluZSdzIGNv bG9yIHRvIGEgc3VidGxlDQotZ3JheSwgd2hpbGUgcmV0YWluaW5nIHRoZSBkZWZhdWx0IHRleHQg Y29sb3IuDQorT3B0aW9uIH5uZXV0cmFsLXVuZGVybGluZX4gY2hhbmdlcyB0aGUgdW5kZXJsaW5l J3MgY29sb3IgdG8gYSBzdWJ0bGUgZ3JheSwNCit3aGlsZSByZXRhaW5pbmcgdGhlIGRlZmF1bHQg dGV4dCBjb2xvci4NCiANCi1PcHRpb24gPWZhaW50LW5ldXRyYWwtdW5kZXJsaW5lPSBjb21iaW5l cyBhIGRlc2F0dXJhdGVkIHRleHQgY29sb3Igd2l0aCBhDQorT3B0aW9uIH5mYWludC1uZXV0cmFs LXVuZGVybGluZX4gY29tYmluZXMgYSBkZXNhdHVyYXRlZCB0ZXh0IGNvbG9yIHdpdGggYQ0KIHN1 YnRsZSBncmF5IHVuZGVybGluZS4NCiANCi1PcHRpb24gPW5vLXVuZGVybGluZT0gcmVtb3ZlcyBs aW5rIHVuZGVybGluZXMgYWx0b2dldGhlciwgd2hpbGUga2VlcGluZw0KLXRoZWlyIHRleHQgY29s b3IgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQuDQorT3B0aW9uIH5uby11bmRlcmxpbmV+IHJlbW92 ZXMgbGluayB1bmRlcmxpbmVzIGFsdG9nZXRoZXIsIHdoaWxlIHJldGFpbmluZw0KK3RoZWlyIG9y aWdpbmFsIGZhaXJseSB2aXZpZCBjb2xvci4NCiANCi0qKiBPcHRpb24gZm9yIGNvbW1hbmQgcHJv bXB0IHN0eWxlcw0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IENvbW1hbmQgcHJvbXB0cw0K LTpERVNDUklQVElPTjogQ2hvb3NlIGFtb25nIHBsYWluLCBzdWJ0bGUsIG9yIGludGVuc2UgcHJv bXB0cw0KLTpDVVNUT01fSUQ6IGg6ZGI1YTlhN2MtMjkyOC00YTI4LWIwZjAtNmYyYjliZDUyYmEx DQotOkVORDoNCitPcHRpb24gfnVuZGVybGluZS1vbmx5fiBhcHBsaWVzIGEgcHJvbWluZW50IHVu ZGVybGluZSB3aGlsZSBtYWtpbmcgdGhlDQorYWZmZWN0ZWQgdGV4dCBjb2xvcmxlc3MgKGl0IHVz ZXMgdGhlIHNhbWUgZm9yZWdyb3VuZCBhcyB0aGUgdGhlbWUncw0KK2RlZmF1bHQpLg0KKw0KK09w dGlvbiB+bmV1dHJhbC11bmRlcmxpbmUtb25seX4gbWFrZXMgdGhlIHRleHQgY29sb3JsZXNzIHdo aWxlIHVzaW5nIGENCitzdWJ0bGUgZ3JheSB1bmRlcmxpbmUgYmVsb3cgaXQuDQogDQotU3ltYm9s IG5hbWVzOg0KK05PVEU6IFRoZSBwbGFjZW1lbnQgb2YgdGhlIHVuZGVybGluZSwgaS5lLiBpdHMg cHJveGltaXR5IHRvIHRoZSBhZmZlY3RlZA0KK3RleHQsIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGJ1 aWx0LWluIH54LXVuZGVybGluZS1hdC1kZXNjZW50LWxpbmV+LA0KK354LXVzZS11bmRlcmxpbmUt cG9zaXRpb24tcHJvcGVydGllc34sIH51bmRlcmxpbmUtbWluaW11bS1vZmZzZXR+LiAgUGxlYXNl DQorcmVmZXIgdG8gdGhlaXIgZG9jdW1lbnRhdGlvbiBzdHJpbmdzLg0KIA0KLSsgPW1vZHVzLW9w ZXJhbmRpLXRoZW1lLXByb21wdHM9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHRzPQ0K KyoqIE9wdGlvbiBmb3IgY29tbWFuZCBwcm9tcHQgc3R5bGVzDQorOnByb3BlcnRpZXM6DQorOmFs dF90aXRsZTogQ29tbWFuZCBwcm9tcHRzDQorOmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgcGxh aW4sIHN1YnRsZSwgb3IgaW50ZW5zZSBwcm9tcHRzDQorOmN1c3RvbV9pZDogaDpkYjVhOWE3Yy0y OTI4LTRhMjgtYjBmMC02ZjJiOWJkNTJiYTENCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVt ZXMtcHJvbXB0cw0KKw0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1wcm9tcHRzfg0KIA0KIFBvc3Np YmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCi0yLiA9c3VidGxlPQ0KLTMuID1p bnRlbnNlPQ0KKzIuIH5zdWJ0bGUtYWNjZW50ZWR+ICh+c3VidGxlfiBleGlzdHMgZm9yIGJhY2t3 YXJkIGNvbXBhdGliaWxpdHkpDQorMy4gfmludGVuc2UtYWNjZW50ZWR+ICh+aW50ZW5zZX4gZXhp c3RzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KQ0KKzQuIH5zdWJ0bGUtZ3JheX4NCis1LiB+ aW50ZW5zZS1ncmF5fg0KIA0KLVRoZSBzeW1ib2xzICJzdWJ0bGUiIGFuZCAiaW50ZW5zZSIgd2ls bCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGFjY2VudGVkDQotYmFja2dyb3VuZCBhbmQgZm9yZWdy b3VuZCB0byB0aGUgbWluaWJ1ZmZlciBhbmQgb3RoZXIgUkVQTCBwcm9tcHRzIChsaWtlDQotPU0t eCBzaGVsbD0gYW5kID1NLXggZXNoZWxsPSkuICBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0 d28gaXMgdGhhdCB0aGUNCi1sYXR0ZXIgaGFzIGEgbW9yZSBwcm9ub3VuY2VkL25vdGljZWFibGUg ZWZmZWN0IHRoYW4gdGhlIGZvcm1lci4NCitUaGUgZGVmYXVsdCBkb2VzIG5vdCB1c2UgYW55IGJh Y2tncm91bmQgZm9yIG1pbmlidWZmZXIgYW5kIGNvbW1hbmQgbGluZQ0KK3Byb21wdHMuICBJdCBy ZWxpZXMgZXhjbHVzaXZlbHkgb24gYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xvci4NCiANCi1U aGUgZGVmYXVsdCBkb2VzIG5vdCB1c2UgYW55IGJhY2tncm91bmQgZm9yIHN1Y2ggcHJvbXB0cywg d2hpbGUgcmVseWluZw0KLWV4Y2x1c2l2ZWx5IG9uIGFuIGFjY2VudGVkIGZvcmVncm91bmQgY29s b3IuDQorT3B0aW9ucyB+c3VidGxlLWFjY2VudGVkfiBhbmQgfmludGVuc2UtYWNjZW50ZWR+IHdp bGwgY2hhbmdlIGJvdGggdGhlDQorYmFja2dyb3VuZCBhbmQgdGhlIGZvcmVncm91bmQgdmFsdWVz IHRvIHVzZSBhY2NlbnRlZCBjb2xvciBjb21iaW5hdGlvbnMNCit0aGF0IGZvbGxvdyB0aGUgaHVl IG9mIHRoZSBkZWZhdWx0IHN0eWxlcycgZm9yZWdyb3VuZCAoZS5nLiB0aGUgZGVmYXVsdA0KK21p bmlidWZmZXIgcHJvbXB0IGlzIGN5YW4gdGV4dCwgc28gdGhlc2UgY29tYmluYXRpb25zIHdpbGwg aW52b2x2ZWQgYQ0KK2N5YW4gYmFja2dyb3VuZCBhbmQgYW4gYXBwcm9wcmlhdGUgY3lhbiBmb3Jl Z3JvdW5kKS4gIFRoZSBkaWZmZXJlbmNlDQorYmV0d2VlbiB0aGUgdHdvIGlzIHRoYXQgdGhlIGxh dHRlciBoYXMgYSBtb3JlIHByb25vdW5jZWQvbm90aWNlYWJsZQ0KK2VmZmVjdCB0aGFuIHRoZSBm b3JtZXIuDQogDQotKiogT3B0aW9uIGZvciBtb2RlIGxpbmUgcHJlc2VudGF0aW9uDQotOlBST1BF UlRJRVM6DQotOkFMVF9USVRMRTogTW9kZSBsaW5lDQotOkRFU0NSSVBUSU9OOiBDaG9vc2UgYW1v bmcgcGxhaW4sIHRocmVlLWRpbWVuc2lvbiwgb3IgbW9vZHktY29tcGxpYW50IHN0eWxlcw0KLTpD VVNUT01fSUQ6IGg6Mjc5NDNhZjYtZDk1MC00MmQwLWJjMjMtMTA2ZTQzZjUwYTI0DQotOkVORDoN CitPcHRpb25zIH5zdWJ0bGUtZ3JheX4sIH5pbnRlbnNlLWdyYXl+IGFyZSBsaWtlIHRoZWlyIGFj Y2VudGVkIGNvdW50ZXJwYXJ0cywNCitleGNlcHQgdGhleSB1c2UgZ3JheXNjYWxlIHZhbHVlcy4N CiANCi1TeW1ib2wgbmFtZXM6DQorKiogT3B0aW9uIGZvciBtb2RlIGxpbmUgcHJlc2VudGF0aW9u DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogTW9kZSBsaW5lDQorOmRlc2NyaXB0aW9uOiBD aG9vc2UgYW1vbmcgc2V2ZXJhbCBzdHlsZXMsIHdpdGggb3Igd2l0aG91dCBib3JkZXJzDQorOmN1 c3RvbV9pZDogaDoyNzk0M2FmNi1kOTUwLTQyZDAtYmMyMy0xMDZlNDNmNTBhMjQNCis6ZW5kOg0K KyMrdmluZGV4OiBtb2R1cy10aGVtZXMtbW9kZS1saW5lDQogDQotKyA9bW9kdXMtb3BlcmFuZGkt dGhlbWUtbW9kZS1saW5lPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1saW5lPQ0KK1N5 bWJvbDogfm1vZHVzLXRoZW1lcy1tb2RlLWxpbmV+DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0K IDEuID1uaWw9IChkZWZhdWx0KQ0KLTIuID0zZD0NCi0zLiA9bW9vZHk9DQotDQotVGhlIGRlZmF1 bHQgdmFsdWUgKD1uaWw9KSBwcm9kdWNlcyBhIHR3by1kaW1lbnNpb25hbCBlZmZlY3QgYm90aCBm b3IgdGhlDQotYWN0aXZlIGFuZCBpbmFjdGl2ZSBtb2RlbGluZXMuICBUaGUgZGlmZmVyZW5jZXMg YmV0d2VlbiB0aGUgdHdvIGFyZQ0KLWxpbWl0ZWQgdG8gZGlzdGluY3Qgc2hhZGVzIG9mIGdyYXlz Y2FsZSB2YWx1ZXMsIHdpdGggdGhlIGFjdGl2ZSBiZWluZw0KLW1vcmUgaW50ZW5zZSB0aGFuIHRo ZSBpbmFjdGl2ZS4NCi0NCi1BID0zZD0gc3ltYm9sIHdpbGwgbWFrZSB0aGUgYWN0aXZlIG1vZGVs aW5lIGxvb2sgbGlrZSBhIHRocmVlLWRpbWVuc2lvbmFsDQorMi4gfjNkfg0KKzMuIH5tb29keX4N Cis0LiB+Ym9yZGVybGVzc34NCis1LiB+Ym9yZGVybGVzcy0zZH4NCis2LiB+Ym9yZGVybGVzcy1t b29keX4NCisNCitUaGUgZGVmYXVsdCBwcm9kdWNlcyBhIHR3by1kaW1lbnNpb25hbCBlZmZlY3Qg Ym90aCBmb3IgdGhlIGFjdGl2ZSBhbmQNCitpbmFjdGl2ZSBtb2RlbGluZXMuICBUaGUgZGlmZmVy ZW5jZXMgYmV0d2VlbiB0aGUgdHdvIGFyZSBsaW1pdGVkIHRvDQorZGlzdGluY3Qgc2hhZGVzIG9m IGdyYXlzY2FsZSB2YWx1ZXMsIHdpdGggdGhlIGFjdGl2ZSBiZWluZyBtb3JlIGludGVuc2UNCit0 aGFuIHRoZSBpbmFjdGl2ZS4NCisNCitPcHRpb24gfjNkfiB3aWxsIG1ha2UgdGhlIGFjdGl2ZSBt b2RlbGluZSBsb29rIGxpa2UgYSB0aHJlZS1kaW1lbnNpb25hbA0KIHJlY3RhbmdsZS4gIEluYWN0 aXZlIG1vZGVsaW5lcyByZW1haW4gMkQsIHRob3VnaCB0aGV5IGFyZSBzbGlnaHRseSB0b25lZA0K LWRvd24gcmVsYXRpdmUgdG8gdGhlIGRlZmF1bHQuICBUaGlzIGFlc3RoZXRpYyBpcyB0aGUgc2Ft ZSBhcyB3aGF0IHlvdQ0KLWdldCB3aGVuIHlvdSBydW4gRW1hY3Mgd2l0aG91dCBhbnkgY3VzdG9t aXphdGlvbnMgKD1lbWFjcyAtUT0gb24gdGhlDQotY29tbWFuZCBsaW5lKS4NCitkb3duIHJlbGF0 aXZlIHRvIHRoZSBkZWZhdWx0LiAgVGhpcyBhZXN0aGV0aWMgaXMgdmlydHVhbGx5IHRoZSBzYW1l IGFzDQord2hhdCB5b3UgZ2V0IHdoZW4geW91IHJ1biBFbWFjcyB3aXRob3V0IGFueSBjdXN0b21p emF0aW9ucyAoPWVtYWNzIC1RPSBvbg0KK3RoZSBjb21tYW5kIGxpbmUpLg0KIA0KLVdoaWxlID1t b29keT0gcmVtb3ZlcyBhbGwgYm94IGVmZmVjdHMgZnJvbSB0aGUgbW9kZWxpbmVzIGFuZCBhcHBs aWVzDQorV2hpbGUgfm1vb2R5fiByZW1vdmVzIGFsbCBib3ggZWZmZWN0cyBmcm9tIHRoZSBtb2Rl bGluZXMgYW5kIGFwcGxpZXMNCiB1bmRlcmxpbmUgYW5kIG92ZXJsaW5lIHByb3BlcnRpZXMgaW5z dGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biBhIGJpdCB0aGUNCiBpbmFjdGl2ZSBtb2RlbGluZXMu ICBUaGlzIGlzIG1lYW50IHRvIG9wdGltaXplIHRoaW5ncyBmb3IgdXNlIHdpdGggdGhlDQogW1to dHRwczovL2dpdGh1Yi5jb20vdGFyc2l1cy9tb29keV1bbW9vZHkgcGFja2FnZV1dIChoZXJlaW5h ZnRlciByZWZlcnJlZCB0byBhcyAiTW9vZHkiKSwgdGhvdWdoIGl0IGNhbiB3b3JrDQogZmluZSBl dmVuIHdpdGhvdXQgaXQuDQogDQorVGhlIH5ib3JkZXJsZXNzfiBvcHRpb24gdXNlcyB0aGUgc2Ft ZSBjb2xvcnMgYXMgdGhlIGRlZmF1bHQgKG5pbCB2YWx1ZSksDQorYnV0IHJlbW92ZXMgdGhlIGJv cmRlciBlZmZlY3QuICBUaGlzIGlzIGRvbmUgYnkgbWFraW5nIHRoZSBib3ggcHJvcGVydHkNCit1 c2UgdGhlIHNhbWUgY29sb3IgYXMgdGhlIGJhY2tncm91bmQsIGVmZmVjdGl2ZWx5IGJsZW5kaW5n IHRoZSB0d28gYW5kDQorY3JlYXRpbmcgc29tZSBwYWRkaW5nLg0KKw0KK1RoZSB+Ym9yZGVybGVz cy0zZH4gYW5kIH5ib3JkZXJsZXNzLW1vb2R5fiBhcHByb3hpbWF0ZSB0aGUgfjNkfiBhbmQgfm1v b2R5fg0KK29wdGlvbnMgcmVzcGVjdGl2ZWx5LCB3aGlsZSByZW1vdmluZyB0aGUgYm9yZGVycy4g IEhvd2V2ZXIsIHRvIGVuc3VyZQ0KK3RoYXQgdGhlIGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4g dmlzaWJsZSwgdGhleSBhcHBseSBhIHNsaWdodGx5IG1vcmUNCitwcm9taW5lbnQgYmFja2dyb3Vu ZCB0byB0aGVtIHRoYW4gd2hhdCB0aGVpciBjb3VudGVycGFydHMgZG8gKHNhbWUNCitpbmFjdGl2 ZSBiYWNrZ3JvdW5kIGFzIHdpdGggdGhlIGRlZmF1bHQpLg0KKw0KIE5vdGUgdGhhdCBNb29keSBk b2VzIG5vdCBleHBvc2UgYW55IGZhY2VzIHRoYXQgdGhlIHRoZW1lcyBjb3VsZCBzdHlsZQ0KIGRp cmVjdGx5LiAgSW5zdGVhZCBpdCByZS1wdXJwb3NlcyBleGlzdGluZyBvbmVzIHRvIHJlbmRlciBp dHMgdGFicyBhbmQNCiByaWJib25zLiAgQXMgc3VjaCwgdGhlcmUgbWF5IGJlIGNhc2VzIHdoZXJl IHRoZSBjb250cmFzdCByYXRpbyBmYWxscw0KIGJlbG93IHRoZSA3OjEgdGFyZ2V0IHRoYXQgdGhl IHRoZW1lcyBjb25mb3JtIHdpdGggKFdDQUcgQUFBKS4gIFRvIGhlZGdlDQotYWdhaW5zdCB0aGlz LCB3ZSBjb25maWd1cmUgYSBmYWxsYmFjayBmb3JlZ3JvdW5kIGZvciB0aGUgPW1vb2R5PSBvcHRp b24sDQorYWdhaW5zdCB0aGlzLCB3ZSBjb25maWd1cmUgYSBmYWxsYmFjayBmb3JlZ3JvdW5kIGZv ciB0aGUgfm1vb2R5fiBvcHRpb24sDQogd2hpY2ggd2lsbCBjb21lIGludG8gZWZmZWN0IHdoZW4g dGhlIGJhY2tncm91bmQgb2YgdGhlIG1vZGVsaW5lIGNoYW5nZXMNCiB0byBzb21ldGhpbmcgbGVz cyBhY2Nlc3NpYmxlLCBzdWNoIGFzIE1vb2R5IHJpYmJvbnMgKHJlYWQgdGhlIGRvYyBzdHJpbmcN Ci1vZiA9c2V0LWZhY2UtYXR0cmlidXRlPSwgc3BlY2lmaWNhbGx5ID06ZGlzdGFudC1mb3JlZ3Jv dW5kPSkuICBUaGlzIGZhbGxiYWNrDQotY29tZXMgaW50byBlZmZlY3Qgd2hlbiBFbWFjcyBkZXRl cm1pbmVzIHRoYXQgdGhlIGJhY2tncm91bmQgYW5kDQotZm9yZWdyb3VuZCBvZiB0aGUgZ2l2ZW4g Y29uc3RydWN0IGFyZSB0b28gY2xvc2UgdG8gZWFjaCBvdGhlciBpbiB0ZXJtcw0KLW9mIGNvbG9y IGRpc3RhbmNlLiAgSW4gZWZmZWN0LCB1c2VycyB3b3VsZCBuZWVkIHRvIGV4cGVyaW1lbnQgd2l0 aCB0aGUNCi12YXJpYWJsZSA9ZmFjZS1uZWFyLXNhbWUtY29sb3ItdGhyZXNob2xkPSB0byB0cmln Z2VyIHRoZSBmYWxsYmFjayBjb2xvci4NCi1XZSBmaW5kIHRoYXQgYSB2YWx1ZSBvZiA9NDUwMDA9 IHdvdWxkIHN1ZmZpY2UsIGNvbnRyYXJ5IHRvIHRoZSBkZWZhdWx0DQotPTMwMDAwPS4gIERvIG5v dCBzZXQgdGhlIHZhbHVlIHRvbyBoaWdoLCBiZWNhdXNlIHRoYXQgd291bGQgaGF2ZSB0aGUNCi1h ZHZlcnNlIGVmZmVjdCBvZiBhbHdheXMgb3ZlcnJpZGluZyB0aGUgZGVmYXVsdCBjb2xvciAod2hp Y2ggaGFzIGJlZW4NCi1jYXJlZnVsbHkgZGVzaWduZWQgdG8gYmUgaGlnaGx5IGFjY2Vzc2libGUp Lg0KK29mIH5zZXQtZmFjZS1hdHRyaWJ1dGV+LCBzcGVjaWZpY2FsbHkgfjpkaXN0YW50LWZvcmVn cm91bmR+KS4gIFRoaXMgZmFsbGJhY2sNCitpcyBhY3RpdmF0ZWQgd2hlbiBFbWFjcyBkZXRlcm1p bmVzIHRoYXQgdGhlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgb2YNCit0aGUgZ2l2ZW4gY29u c3RydWN0IGFyZSB0b28gY2xvc2UgdG8gZWFjaCBvdGhlciBpbiB0ZXJtcyBvZiBjb2xvcg0KK2Rp c3RhbmNlLiAgSW4gZWZmZWN0LCB1c2VycyB3b3VsZCBuZWVkIHRvIGV4cGVyaW1lbnQgd2l0aCB0 aGUgdmFyaWFibGUNCit+ZmFjZS1uZWFyLXNhbWUtY29sb3ItdGhyZXNob2xkfiB0byB0cmlnZ2Vy IHRoZSBlZmZlY3QuICBXZSBmaW5kIHRoYXQgYQ0KK3ZhbHVlIG9mID00NTAwMD0gd2lsbCBzdWZm aWNlLCBjb250cmFyeSB0byB0aGUgZGVmYXVsdCA9MzAwMDA9LiAgRG8gbm90IHNldA0KK3RoZSB2 YWx1ZSB0b28gaGlnaCwgYmVjYXVzZSB0aGF0IHdvdWxkIGhhdmUgdGhlIGFkdmVyc2UgZWZmZWN0 IG9mIGFsd2F5cw0KK292ZXJyaWRpbmcgdGhlIGRlZmF1bHQgY29sb3IgKHdoaWNoIGhhcyBiZWVu IGNhcmVmdWxseSBkZXNpZ25lZCB0byBiZQ0KK2hpZ2hseSBhY2Nlc3NpYmxlKS4NCiANCiBGdXJ0 aGVybW9yZSwgYmVjYXVzZSBNb29keSBleHBlY3RzIGFuIHVuZGVybGluZSBhbmQgb3ZlcmxpbmUg aW5zdGVhZCBvZg0KLWEgYm94IHN0eWxlLCBpdCBpcyByZWNvbW1lbmRlZCB5b3UgYWxzbyBpbmNs dWRlIHRoaXMgaW4geW91ciBzZXR1cDoNCithIGJveCBzdHlsZSwgaXQgaXMgYWR2aXNlZCB5b3Ug aW5jbHVkZSB0aGlzIGluIHlvdXIgc2V0dXA6DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0K IChzZXRxIHgtdW5kZXJsaW5lLWF0LWRlc2NlbnQtbGluZSB0KQ0KICMrZW5kX3NyYw0KIA0KICoq IE9wdGlvbiBmb3IgY29tcGxldGlvbiBmcmFtZXdvcmsgYWVzdGhldGljcw0KLTpQUk9QRVJUSUVT Og0KLTpBTFRfVElUTEU6IENvbXBsZXRpb24gVUlzDQotOkRFU0NSSVBUSU9OOiBDaG9vc2UgYW1v bmcgc3RhbmRhcmQsIG1vZGVyYXRlLCBvciBvcGluaW9uYXRlZCBsb29rcw0KLTpDVVNUT01fSUQ6 IGg6ZjFjMjBjMDItN2IzNC00YzM1LTljNjUtOTkxNzBlZmIyODgyDQotOkVORDoNCi0NCi1TeW1i b2wgbmFtZXM6DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogQ29tcGxldGlvbiBVSXMNCis6 ZGVzY3JpcHRpb246IENob29zZSBhbW9uZyBzdGFuZGFyZCwgbW9kZXJhdGUsIG9yIG9waW5pb25h dGVkIGxvb2tzDQorOmN1c3RvbV9pZDogaDpmMWMyMGMwMi03YjM0LTRjMzUtOWM2NS05OTE3MGVm YjI4ODINCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMNCiANCi0r ID1tb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucz0NCi0rID1tb2R1cy12aXZlbmRpLXRo ZW1lLWNvbXBsZXRpb25zPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1jb21wbGV0aW9uc34NCiAN CiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRlZmF1bHQpDQotMi4gPW1vZGVyYXRl PQ0KLTMuID1vcGluaW9uYXRlZD0NCisyLiB+bW9kZXJhdGV+DQorMy4gfm9waW5pb25hdGVkfg0K IA0KIFRoaXMgaXMgYSBzcGVjaWFsIG9wdGlvbiB0aGF0IGhhcyBkaWZmZXJlbnQgZWZmZWN0cyBk ZXBlbmRpbmcgb24gdGhlDQogY29tcGxldGlvbiBVSS4gIFRoZSBpbnRlcmZhY2VzIGNhbiBiZSBn cm91cGVkIGluIHR3byBjYXRlZ29yaWVzLCBiYXNlZA0KQEAgLTY3OSw1MTIgKzY2NiwxMDA4IEBA ICoqIE9wdGlvbiBmb3IgY29tcGxldGlvbiBmcmFtZXdvcmsgYWVzdGhldGljcw0KIA0KIEEgdmFs dWUgb2YgPW5pbD0gd2lsbCByZXNwZWN0IHRoZSBtZXRhcGhvcnMgb2YgZWFjaCBjb21wbGV0aW9u IGZyYW1ld29yay4NCiANCi1UaGUgc3ltYm9sID1tb2RlcmF0ZT0gd2lsbCBhcHBseSBhIGNvbWJp bmF0aW9uIG9mIGJhY2tncm91bmQgYW5kDQotZm9yZWdyb3VuZCB0aGF0IGlzIGZhaXJseSBzdWJ0 bGUuICBGb3IgSWNvbXBsZXRlIGFuZCBmcmllbmRzIHRoaXMNCi1jb25zdGl0dXRlcyBhIGRlcGFy dHVyZSBmcm9tIHRoZWlyIGRlZmF1bHQgYWVzdGhldGljcywgaG93ZXZlciB0aGUNCi1kaWZmZXJl bmNlIGlzIHNtYWxsLiAgV2hpbGUgSGVsbSBldCBhbCB3aWxsIGFwcGVhciBzbGlnaHRseSBkaWZm ZXJlbnQNCi10aGFuIHRoZWlyIG9yaWdpbmFsIGxvb2tzLCBhcyB0aGV5IGFyZSB0b25lZCBkb3du IGEgYml0Lg0KK09wdGlvbiB+bW9kZXJhdGV+IGFwcGxpZXMgYSBjb21iaW5hdGlvbiBvZiBiYWNr Z3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHRoYXQNCitpcyBmYWlybHkgc3VidGxlLiAgRm9yIEljb21w bGV0ZSBhbmQgZnJpZW5kcyB0aGlzIGNvbnN0aXR1dGVzIGENCitkZXBhcnR1cmUgZnJvbSB0aGVp ciBkZWZhdWx0IGFlc3RoZXRpY3MsIGhvd2V2ZXIgdGhlIGRpZmZlcmVuY2UgaXMNCitzbWFsbC4g IFdoaWxlIEhlbG0sIEl2eSBldCBhbCBhcHBlYXIgc2xpZ2h0bHkgZGlmZmVyZW50IHRoYW4gdGhl aXINCitvcmlnaW5hbCBsb29rcywgYXMgdGhleSBhcmUgdG9uZWQgZG93biBhIGJpdC4NCiANCi1U aGUgc3ltYm9sID1vcGluaW9uYXRlZD0gd2lsbCBhcHBseSBjb2xvciBjb21iaW5hdGlvbnMgdGhh dCByZWZhc2hpb24gdGhlDQotY29tcGxldGlvbiBVSS4gIEZvciB0aGUgSWNvbXBsZXRlIGNhbXAg dGhpcyBtZWFucyB0aGF0IGludGVuc2UNCi1iYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbWJp bmF0aW9ucyBhcmUgdXNlZDogaW4gZWZmZWN0IHRoZWlyIGxvb2tzDQotZW11bGF0ZSB0aG9zZSBv ZiBJdnkgYW5kIGNvLiBpbiB0aGVpciBvcmlnaW5hbCBzdHlsZS4gIFdoZXJlYXMgdGhlIG90aGVy DQotZ3JvdXAgb2YgcGFja2FnZXMgd2lsbCByZXZlcnQgdG8gYW4gZXZlbiBtb3JlIG51YW5jZWQg YWVzdGhldGljIHdpdGgNCi1zb21lIGFkZGl0aW9uYWwgY2hhbmdlcyB0byB0aGUgY2hvaWNlIG9m IGh1ZXMuDQorT3B0aW9uIH5vcGluaW9uYXRlZH4gdXNlcyBjb2xvciBjb21iaW5hdGlvbnMgdGhh dCByZWZhc2hpb24gdGhlIGNvbXBsZXRpb24NCitVSS4gIEZvciB0aGUgSWNvbXBsZXRlIGNhbXAg dGhpcyBtZWFucyB0aGF0IGludGVuc2UgYmFja2dyb3VuZCBhbmQNCitmb3JlZ3JvdW5kIGNvbWJp bmF0aW9ucyBhcmUgdXNlZDogaW4gZWZmZWN0IHRoZWlyIGxvb2tzIGVtdWxhdGUgdGhvc2Ugb2YN CitIZWxtLCBJdnkgYW5kIGNvLiBpbiB0aGVpciBvcmlnaW5hbCBzdHlsZS4gIFdoZXJlYXMgdGhl IG90aGVyIGdyb3VwIG9mDQorcGFja2FnZXMgd2lsbCByZXZlcnQgdG8gYW4gZXZlbiBtb3JlIG51 YW5jZWQgYWVzdGhldGljIHdpdGggc29tZQ0KK2FkZGl0aW9uYWwgY2hhbmdlcyB0byB0aGUgY2hv aWNlIG9mIGh1ZXMuDQogDQogVG8gYXBwcmVjaWF0ZSB0aGUgc2NvcGUgb2YgdGhpcyBjdXN0b21p emF0aW9uIG9wdGlvbiwgeW91IHNob3VsZCBzcGVuZA0KLXNvbWUgdGltZSB3aXRoIGV2ZXJ5IG9u ZSBvZiB0aGUgPW5pbD0gKGRlZmF1bHQpLCA9bW9kZXJhdGU9LCBhbmQgPW9waW5pb25hdGVkPQ0K K3NvbWUgdGltZSB3aXRoIGV2ZXJ5IG9uZSBvZiB0aGUgPW5pbD0gKGRlZmF1bHQpLCB+bW9kZXJh dGV+LCBhbmQgfm9waW5pb25hdGVkfg0KIHBvc3NpYmlsaXRpZXMuDQogDQogKiogT3B0aW9uIGZv ciBmcmluZ2UgdmlzaWJpbGl0eQ0KLTpQUk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IEZyaW5nZXMN Ci06REVTQ1JJUFRJT046IENob29zZSBhbW9uZyBwbGFpbiwgc3VidGxlLCBvciBpbnRlbnNlIGZy aW5nZSB2aXNpYmlsaXR5DQotOkNVU1RPTV9JRDogaDoxOTgzYzNmYy03NGY2LTQ0ZjMtYjkxNy05 NjdjNDAzYmViYWUNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IEZyaW5nZXMN Cis6ZGVzY3JpcHRpb246IENob29zZSBhbW9uZyBpbnZpc2libGUsIHN1YnRsZSwgb3IgaW50ZW5z ZSBmcmluZ2Ugc3R5bGVzDQorOmN1c3RvbV9pZDogaDoxOTgzYzNmYy03NGY2LTQ0ZjMtYjkxNy05 NjdjNDAzYmViYWUNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtZnJpbmdlcw0KIA0K LVN5bWJvbCBuYW1lczoNCi0NCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2VzPQ0KLSsg PW1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcz0NCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtZnJp bmdlc34NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRlZmF1bHQpDQotMi4g PXN1YnRsZT0NCi0zLiA9aW50ZW5zZT0NCi0NCi1UaGUgInN1YnRsZSIgc3ltYm9sIHdpbGwgYXBw bHkgYSBncmF5c2NhbGUgYmFja2dyb3VuZCB0aGF0IGlzIHZpc2libGUsDQoteWV0IGNsb3NlIGVu b3VnaCB0byB0aGUgbWFpbiBiYWNrZ3JvdW5kIGNvbG9yLiAgV2hpbGUgdGhlICJpbnRlbnNlIg0K LXN5bWJvbCB3aWxsIHVzZSBhIG1vcmUgbm90aWNlYWJsZSBncmF5c2NhbGUgYmFja2dyb3VuZC4N CisyLiB+c3VidGxlfg0KKzMuIH5pbnRlbnNlfg0KIA0KIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0 aGUgc2FtZSBjb2xvciBhcyB0aGF0IG9mIHRoZSBtYWluIGJhY2tncm91bmQsDQogbWVhbmluZyB0 aGF0IHRoZSBmcmluZ2VzIGFyZSBub3Qgb2J2aW91cyB0aG91Z2ggdGhleSBzdGlsbCBvY2N1cHkg dGhlDQotc3BhY2UgZ2l2ZW4gdG8gdGhlbSBieSA9ZnJpbmdlLW1vZGU9Lg0KK3NwYWNlIGdpdmVu IHRvIHRoZW0gYnkgfmZyaW5nZS1tb2Rlfi4NCiANCi0qKiBPcHRpb24gZm9yIGxpbmUgaGlnaGxp Z2h0aW5nIChobC1saW5lLW1vZGUpDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogTGluZSBo aWdobGlnaHRpbmcNCi06REVTQ1JJUFRJT046IFRvZ2dsZSBpbnRlbnNlIHN0eWxlIGZvciBjdXJy ZW50IGxpbmUgaGlnaGxpZ2h0aW5nDQotOkNVU1RPTV9JRDogaDoxZGJhMWNmZS1kMDc5LTRjMTMt YTgxMC1mNzY4ZTg3ODkxNzcNCi06RU5EOg0KK09wdGlvbnMgfnN1YnRsZX4gYW5kIH5pbnRlbnNl fiBhcHBseSBhIGdyYXkgYmFja2dyb3VuZCwgbWFraW5nIHRoZSBmcmluZ2VzDQordmlzaWJsZS4g IFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBpcyBvbmUgb2YgZGVncmVlLCBhcyB0aGVp cg0KK25hbWVzIGltcGx5Lg0KIA0KLVN5bWJvbCBuYW1lczoNCisqKiBPcHRpb24gZm9yIGxhbmd1 YWdlIGNoZWNrZXJzDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogTGFuZ3VhZ2UgY2hlY2tl cnMNCis6ZGVzY3JpcHRpb246IENvbnRyb2wgdGhlIHN0eWxlIG9mIGxhbmd1YWdlIGNoZWNrZXJz L2xpbnRlcnMNCis6Y3VzdG9tX2lkOiBoOjRiMTM3NDNhLThlYmYtNGQyYy1hMDQzLWNjZWJhMTBi MWViNA0KKzplbmQ6DQorIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1sYW5nLWNoZWNrZXJzDQogDQot KyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1obC1saW5lPQ0KLSsgPW1vZHVzLXZpdmVu ZGktdGhlbWUtaW50ZW5zZS1obC1saW5lPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1sYW5nLWNo ZWNrZXJzfg0KKw0KK1Bvc3NpYmxlIHZhbHVlczoNCisNCisxLiA9bmlsPSAoZGVmYXVsdCkNCisy LiB+c3VidGxlLWZvcmVncm91bmR+DQorMy4gfmludGVuc2UtZm9yZWdyb3VuZH4NCis0LiB+c3Ry YWlnaHQtdW5kZXJsaW5lfg0KKzUuIH5zdWJ0bGUtZm9yZWdyb3VuZC1zdHJhaWdodC11bmRlcmxp bmV+DQorNi4gfmludGVuc2UtZm9yZWdyb3VuZC1zdHJhaWdodC11bmRlcmxpbmV+DQorNy4gfmNv bG9yZWQtYmFja2dyb3VuZH4NCisNCitOaWwgKHRoZSBkZWZhdWx0KSBhcHBsaWVzIGEgY29sb3It Y29kZWQgdW5kZXJsaW5lIHRvIHRoZSBhZmZlY3RlZCB0ZXh0LA0KK3doaWxlIGl0IGxlYXZlcyB0 aGUgb3JpZ2luYWwgZm9yZWdyb3VuZCBpbiB0YWN0LiAgSWYgdGhlIGRpc3BsYXkgc3BlYw0KK3do ZXJlIEVtYWNzIHJ1bnMgaW4gaGFzIHN1cHBvcnQgZm9yIGl0IChlLmcuIEVtYWNzIEdVSSksIHRo ZSB1bmRlcmxpbmUncw0KK3N0eWxlIGlzIHRoYXQgb2YgYSB3YXZlLCBvdGhlcndpc2UgaXQgaXMg YSBzdHJhaWdodCBsaW5lLg0KKw0KK09wdGlvbnMgfnN1YnRsZS1mb3JlZ3JvdW5kfiBhbmQgfmlu dGVuc2UtZm9yZWdyb3VuZH4gZm9sbG93IHRoZSBzYW1lDQorY29sb3ItY29kaW5nIHBhdHRlcm4g YW5kIHdhdnkgdW5kZXJsaW5lIG9mIHRoZSBkZWZhdWx0LCB3aGlsZSBleHRlbmRpbmcNCitpdCB3 aXRoIGEgY29ycmVzcG9uZGluZyBmb3JlZ3JvdW5kIHZhbHVlIGZvciB0aGUgYWZmZWN0ZWQgdGV4 dC4gIFRoZQ0KK2RpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIG9wdGlvbnMgaXMgb25lIG9mIGRl Z3JlZSwgYXMgdGhlaXIgbmFtZXMNCitzdWdnZXN0Lg0KKw0KK09wdGlvbiB+c3RyYWlnaHQtdW5k ZXJsaW5lfiBpcyBsaWtlIHRoZSBkZWZhdWx0IGJ1dCBhbHdheXMgYXBwbGllcyBhDQorc3RyYWln aHQgbGluZSB1bmRlciB0aGUgYWZmZWN0ZWQgdGV4dC4gIFNhbWUgcHJpbmNpcGxlIGZvcg0KK35z dWJ0bGUtZm9yZWdyb3VuZC1zdHJhaWdodC11bmRlcmxpbmV+IGFuZCBpdHMgY291bnRlcnBhcnQN Cit+aW50ZW5zZS1mb3JlZ3JvdW5kLXN0cmFpZ2h0LXVuZGVybGluZX4uDQorDQorT3B0aW9uIH5j b2xvcmVkLWJhY2tncm91bmR+IHVzZXMgYSBzdHJhaWdodCB1bmRlcmxpbmUsIGEgdGludGVkDQor YmFja2dyb3VuZCwgYW5kIGEgc3VpdGFibGUgZm9yZWdyb3VuZC4gIEFsbCBhcmUgY29sb3ItY29k ZWQuICBUaGlzIGlzDQordGhlIG1vc3QgaW50ZW5zZSBjb21iaW5hdGlvbiBvZiBmYWNlIHByb3Bl cnRpZXMuDQorDQorVGhlIHByZXNlbnQgdmFyaWFibGUgYWZmZWN0cyBwYWNrYWdlcyBhbmQvb3Ig ZmFjZSBncm91cHMgc3VjaCBhcyB0aG9zZQ0KK29mID1mbHlzcGVsbD0sID1mbHltYWtlPSwgPWZs eWNoZWNrPSwgfmFydGJvbGxvY2tzLW1vZGV+LCBhbmQgfndyaXRlZ29vZC1tb2Rlfi4NCisNCitO T1RFOiBUaGUgcGxhY2VtZW50IG9mIHRoZSBzdHJhaWdodCB1bmRlcmxpbmUsIHRob3VnaCBub3Qg dGhlIHdhdmUNCitzdHlsZSwgaXMgY29udHJvbGxlZCBieSB0aGUgYnVpbHQtaW4gfngtdW5kZXJs aW5lLWF0LWRlc2NlbnQtbGluZX4sDQorfngtdXNlLXVuZGVybGluZS1wb3NpdGlvbi1wcm9wZXJ0 aWVzfiwgfnVuZGVybGluZS1taW5pbXVtLW9mZnNldH4uICBQbGVhc2UNCityZWZlciB0byB0aGVp ciBkb2N1bWVudGF0aW9uIHN0cmluZ3MuDQorDQorKiogT3B0aW9uIGZvciBsaW5lIGhpZ2hsaWdo dGluZyAoaGwtbGluZS1tb2RlKQ0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IExpbmUgaGln aGxpZ2h0aW5nDQorOmRlc2NyaXB0aW9uOiBUb2dnbGUgaW50ZW5zZSBzdHlsZSBmb3IgY3VycmVu dCBsaW5lIGhpZ2hsaWdodGluZw0KKzpjdXN0b21faWQ6IGg6MWRiYTFjZmUtZDA3OS00YzEzLWE4 MTAtZjc2OGU4Nzg5MTc3DQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLWludGVuc2Ut aGwtbGluZQ0KKw0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmV+DQogDQog UG9zc2libGUgdmFsdWVzOg0KIA0KIDEuID1uaWw9IChkZWZhdWx0KQ0KIDIuID10PQ0KIA0KLURy YXcgdGhlIGN1cnJlbnQgbGluZSBvZiA9aGwtbGluZS1tb2RlPSBvciBpdHMgZ2xvYmFsIGVxdWl2 YWxlbnQgaW4gYSBtb3JlDQotcHJvbWluZW50IGJhY2tncm91bmQgY29sb3IuICBUaGlzIHdvdWxk IGFsc28gYWZmZWN0IHNldmVyYWwgcGFja2FnZXMNCi10aGF0IGVuYWJsZSA9aGwtbGluZS1tb2Rl PSwgc3VjaCBhcyA9ZWxmZWVkPSBhbmQgPW11NGU9Lg0KK1RoZSBkZWZhdWx0IGlzIHRvIHVzZSBh IHN1YnRsZSBncmF5IGJhY2tncm91bmQgZm9yIH5obC1saW5lLW1vZGV+IGFuZCBpdHMNCitnbG9i YWwgZXF1aXZhbGVudC4NCiANCi1UaGUgZGVmYXVsdCBpcyB0byB1c2UgYSBtb3JlIHN1YnRsZSBn cmF5Lg0KK1dpdGggYSBub24tbmlsIHZhbHVlICg9dD0pIHVzZSBhIG1vcmUgcHJvbWluZW50IGJh Y2tncm91bmQgY29sb3IgaW5zdGVhZC4NCisNCitUaGlzIGFmZmVjdHMgc2V2ZXJhbCBwYWNrYWdl cyB0aGF0IGVuYWJsZSB+aGwtbGluZS1tb2Rlfiwgc3VjaCBhcyA9ZWxmZWVkPQ0KK2FuZCA9bXU0 ZT0uDQorDQorKiogT3B0aW9uIGZvciBsaW5lIG51bWJlcnMgKGRpc3BsYXktbGluZS1udW1iZXJz LW1vZGUpDQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogTGluZSBudW1iZXJzDQorOmRlc2Ny aXB0aW9uOiBUb2dnbGUgc3VidGxlIHN0eWxlIGZvciBsaW5lIG51bWJlcnMNCis6Y3VzdG9tX2lk OiBoOjhjNGE2MjMwLTJlNDMtNGFhMi1hNjMxLTNiNzE3OTM5MmUwOQ0KKzplbmQ6DQorIyt2aW5k ZXg6IG1vZHVzLXRoZW1lcy1zdWJ0bGUtbGluZS1udW1iZXJzDQorDQorU3ltYm9sOiB+bW9kdXMt dGhlbWVzLXN1YnRsZS1saW5lLW51bWJlcnN+DQorDQorUG9zc2libGUgdmFsdWU6DQorDQorMS4g PW5pbD0gKGRlZmF1bHQpDQorMi4gPXQ9DQorDQorVGhlIGRlZmF1bHQgc3R5bGUgZm9yIH5kaXNw bGF5LWxpbmUtbnVtYmVycy1tb2RlfiBhbmQgaXRzIGdsb2JhbCB2YXJpYW50DQoraXMgdG8gYXBw bHkgYSBzdWJ0bGUgZ3JheSBiYWNrZ3JvdW5kIHRvIHRoZSBsaW5lIG51bWJlcnMuICBUaGUgY3Vy cmVudA0KK2xpbmUgaGFzIGEgbW9yZSBwcm9ub3VuY2VkIGJhY2tncm91bmQgYW5kIGZvcmVncm91 bmQgY29tYmluYXRpb24gdG8NCiticmluZyBtb3JlIGF0dGVudGlvbiB0byBpdHNlbGYuDQorDQor U2ltaWxhcmx5LCB0aGUgZmFjZXMgZm9yIH5kaXNwbGF5LWxpbmUtbnVtYmVycy1tYWpvci10aWNr fiBhbmQgaXRzDQorY291bnRlcnBhcnQgfmRpc3BsYXktbGluZS1udW1iZXJzLW1pbm9yLXRpY2t+ IHVzZSBhcHByb3ByaWF0ZSBzdHlsZXMgdGhhdA0KK2ludm9sdmUgYSBiZXNwb2tlIGJhY2tncm91 bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRpb24uDQorDQorV2l0aCBhIG5vbi1uaWwgdmFsdWUg KD10PSksIGxpbmUgbnVtYmVycyBoYXZlIG5vIGJhY2tncm91bmQgb2YgdGhlaXIgb3duLg0KK0lu c3RlYWQgdGhleSByZXRhaW4gdGhlIHByaW1hcnkgYmFja2dyb3VuZCBvZiB0aGUgdGhlbWUsIGJs ZW5kaW5nIHdpdGgNCit0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLiAgRm9yZWdyb3VuZCB2YWx1ZXMg Zm9yIGFsbCByZWxldmFudCBmYWNlcyBhcmUNCit1cGRhdGVkIHRvIGFjY29tbW9kYXRlIHRoaXMg YWVzdGhldGljLg0KIA0KICoqIE9wdGlvbiBmb3IgcGFyZW50aGVzaXMgbWF0Y2hpbmcgKHNob3ct cGFyZW4tbW9kZSkNCi06UFJPUEVSVElFUzoNCi06QUxUX1RJVExFOiBNYXRjaGluZyBwYXJlbnRo ZXNlcw0KLTpERVNDUklQVElPTjogVG9nZ2xlIGludGVuc2Ugc3R5bGUgZm9yIG1hdGNoaW5nIGRl bGltaXRlcnMvcGFyZW50aGVzZXMNCi06Q1VTVE9NX0lEOiBoOmU2NmE3ZTRkLWE1MTItNGJjNy05 Zjg2LWZiYmI1OTIzYmYzNw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmFsdF90aXRsZTogTWF0 Y2hpbmcgcGFyZW50aGVzZXMNCis6ZGVzY3JpcHRpb246IENob29zZSBiZXR3ZWVuIHZhcmlvdXMg c3R5bGVzIGZvciBtYXRjaGluZyBkZWxpbWl0ZXJzL3BhcmVudGhlc2VzDQorOmN1c3RvbV9pZDog aDplNjZhN2U0ZC1hNTEyLTRiYzctOWY4Ni1mYmJiNTkyM2JmMzcNCis6ZW5kOg0KKyMrdmluZGV4 OiBtb2R1cy10aGVtZXMtcGFyZW4tbWF0Y2gNCisNCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtcGFy ZW4tbWF0Y2h+DQorDQorUG9zc2libGUgdmFsdWVzOg0KKw0KKzEuID1uaWw9IChkZWZhdWx0KQ0K KzIuIH5zdWJ0bGUtYm9sZH4NCiszLiB+aW50ZW5zZX4NCis0LiB+aW50ZW5zZS1ib2xkfg0KIA0K LVN5bWJvbCBuYW1lczoNCitOaWwgbWVhbnMgdG8gdXNlIGEgc3VidGxlIHRpbnRlZCBiYWNrZ3Jv dW5kIGNvbG9yIGZvciB0aGUgbWF0Y2hpbmcNCitkZWxpbWl0ZXJzLg0KIA0KLSsgPW1vZHVzLW9w ZXJhbmRpLXRoZW1lLWludGVuc2UtcGFyZW4tbWF0Y2g9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVt ZS1pbnRlbnNlLXBhcmVuLW1hdGNoPQ0KK09wdGlvbiB+aW50ZW5zZX4gYXBwbGllcyBhIHNhdHVy YXRlZCBiYWNrZ3JvdW5kIGNvbG9yLg0KKw0KK09wdGlvbiB+c3VidGxlLWJvbGR+IGlzIHRoZSBz YW1lIGFzIHRoZSBkZWZhdWx0LCBidXQgYWxzbyBtYWtlcyB1c2Ugb2YNCitib2xkIHR5cG9ncmFw aGljIHdlaWdodCAoaW5oZXJpdHMgdGhlIH5ib2xkfiBmYWNlKS4NCisNCitPcHRpb24gfmludGVu c2UtYm9sZH4gaXMgdGhlIHNhbWUgYXMgfmludGVuc2V+LCB3aGlsZSBpdCBhbHNvIHVzZXMgYSBi b2xkDQord2VpZ2h0Lg0KKw0KK1RoaXMgY3VzdG9taXphdGlvbiB2YXJpYWJsZSBhZmZlY3RzIHRv b2xzIHN1Y2ggYXMgdGhlIGJ1aWx0LWluDQorfnNob3ctcGFyZW4tbW9kZX4gYW5kIHRoZSA9c21h cnRwYXJlbnM9IHBhY2thZ2UuDQorDQorKiogT3B0aW9uIGZvciBhY3RpdmUgcmVnaW9uDQorOnBy b3BlcnRpZXM6DQorOmFsdF90aXRsZTogQWN0aXZlIHJlZ2lvbg0KKzpkZXNjcmlwdGlvbjogQ2hv b3NlIGJldHdlZW4gdmFyaW91cyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgcmVnaW9uDQorOmN1c3Rv bV9pZDogaDo2MDc5ODA2My1iNGFkLTQ1ZWEtYjlhNy1mZjdiNWMwYWI3NGMNCis6ZW5kOg0KKyMr dmluZGV4OiBtb2R1cy10aGVtZXMtcmVnaW9uDQorDQorU3ltYm9sOiB+bW9kdXMtdGhlbWVzLXJl Z2lvbn4NCiANCiBQb3NzaWJsZSB2YWx1ZXM6DQogDQogMS4gPW5pbD0gKGRlZmF1bHQpDQotMi4g PXQ9DQorMi4gfm5vLWV4dGVuZH4NCiszLiB+Ymctb25seX4NCis0LiB+Ymctb25seS1uby1leHRl bmR+DQogDQotQXBwbHkgYSBtb3JlIGludGVuc2UgYmFja2dyb3VuZCB0byB0aGUgbWF0Y2hpbmcg cGFyZW50aGVzZXMgKG9yDQotZGVsaW1pdGVycykuICBUaGlzIGFmZmVjdHMgdG9vbHMgc3VjaCBh cyB0aGUgYnVpbHQtaW4gPXNob3ctcGFyZW4tbW9kZT0uDQotVGhlIGRlZmF1bHQgaXMgdG8gdXNl IGEgc3VidGxlIHdhcm0gY29sb3IgZm9yIHRoZSBiYWNrZ3JvdW5kIG9mIHRob3NlDQotb3Zlcmxh eXMuDQorTmlsIG1lYW5zIHRvIG9ubHkgdXNlIGEgcHJvbWluZW50IGdyYXkgYmFja2dyb3VuZCB3 aXRoIGEgbmV1dHJhbA0KK2ZvcmVncm91bmQuICBUaGUgZm9yZWdyb3VuZCBvdmVycmlkZXMgYWxs IHN5bnRheCBoaWdobGlnaHRpbmcuICBUaGUNCityZWdpb24gZXh0ZW5kcyB0byB0aGUgZWRnZSBv ZiB0aGUgd2luZG93Lg0KIA0KLSoqIE9wdGlvbiBmb3IgZGlmZiBidWZmZXIgbG9va3MNCi06UFJP UEVSVElFUzoNCi06QUxUX1RJVExFOiBEaWZmcw0KLTpERVNDUklQVElPTjogQ2hvb3NlIGFtb25n IGludGVuc2UsIGRlc2F0dXJhdGVkLCBvciB0ZXh0LW9ubHkgZGlmZnMNCi06Q1VTVE9NX0lEOiBo OmVhN2FjNTRmLTU4MjctNDliZC1iMDlmLTYyNDI0YjNiNjQyNw0KLTpFTkQ6DQorT3B0aW9uIH5u by1leHRlbmR+IHByZXNlcnZlcyB0aGUgZGVmYXVsdCBhZXN0aGV0aWMgYnV0IHByZXZlbnRzIHRo ZSByZWdpb24NCitmcm9tIGV4dGVuZGluZyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KKw0K K09wdGlvbiB+Ymctb25seX4gYXBwbGllcyBhIGZhaW50IHRpbnRlZCBiYWNrZ3JvdW5kIHRoYXQg aXMgZGlzdGluY3QgZnJvbQ0KK2FsbCBvdGhlcnMgdXNlZCBpbiB0aGUgdGhlbWUsIHdoaWxlIGl0 IGRvZXMgbm90IG92ZXJyaWRlIGFueSBleGlzdGluZw0KK2NvbG9ycy4gIEl0IGV4dGVuZHMgdG8g dGhlIGVkZ2Ugb2YgdGhlIHdpbmRvdy4NCisNCitPcHRpb24gfmJnLW9ubHktbm8tZXh0ZW5kfiBp cyBhIGNvbWJpbmF0aW9uIG9mIHRoZSB+Ymctb25seX4gYW5kIH5uby1leHRlbmR+DQorb3B0aW9u cy4NCiANCi1TeW1ib2wgbmFtZXM6DQorKiogT3B0aW9uIGZvciBkaWZmIGJ1ZmZlciBsb29rcw0K Kzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IERpZmZzDQorOmRlc2NyaXB0aW9uOiBDaG9vc2Ug YW1vbmcgaW50ZW5zZSwgZGVzYXR1cmF0ZWQsIG9yIHRleHQtb25seSBkaWZmcw0KKzpjdXN0b21f aWQ6IGg6ZWE3YWM1NGYtNTgyNy00OWJkLWIwOWYtNjI0MjRiM2I2NDI3DQorOmVuZDoNCisjK3Zp bmRleDogbW9kdXMtdGhlbWVzLWRpZmZzDQogDQotKyA9bW9kdXMtb3BlcmFuZGktdGhlbWUtZGlm ZnM9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmcz0NCitTeW1ib2w6IH5tb2R1cy10aGVt ZXMtZGlmZnN+DQogDQogUG9zc2libGUgdmFsdWVzOg0KIA0KIDEuID1uaWw9IChkZWZhdWx0KQ0K LTIuID1kZXNhdHVyYXRlZD0NCi0yLiA9Zmctb25seT0NCi0NCi1CeSBkZWZhdWx0IHRoZSB0aGVt ZXMgd2lsbCBhcHBseSByaWNobHkgY29sb3JlZCBiYWNrZ3JvdW5kcyB0byB0aGUNCi1vdXRwdXQg b2YgZGlmZnMsIHN1Y2ggYXMgdGhvc2Ugb2YgPWRpZmYtbW9kZT0sID1lZGlmZj0sID1zbWVyZ2Ut bW9kZT0sIGFuZA0KLT1tYWdpdD0uICBUaGVzZSBhcmUgY29sb3IgY29tYmluYXRpb25zIG9mIGFu IGFjY2VudGVkIGJhY2tncm91bmQgYW5kDQotZm9yZWdyb3VuZCBzbyB0aGF0LCBmb3IgZXhhbXBs ZSwgYWRkZWQgbGluZXMgaGF2ZSBhIHByb25vdW5jZWQgZ3JlZW4NCi1iYWNrZ3JvdW5kIHdpdGgg YW4gYXBwcm9wcmlhdGUgc2hhZGUgb2YgZ3JlZW4gZm9yIHRoZSBhZmZlY3RlZCB0ZXh0Lg0KLVdv cmQtd2lzZSBvciAicmVmaW5lZCIgY2hhbmdlcyBmb2xsb3cgdGhpcyBwYXR0ZXJuIGJ1dCB1c2Ug ZGlmZmVyZW50DQotc2hhZGVzIG9mIHRob3NlIGNvbG9ycyB0byByZW1haW4gZGlzdGluY3QuDQot DQotQSA9ZGVzYXR1cmF0ZWQ9IHZhbHVlIHRvbmVzIGRvd24gYWxsIHJlbGV2YW50IGNvbG9yIHZh bHVlcy4gIEl0IHN0aWxsDQorMi4gfmRlc2F0dXJhdGVkfg0KKzMuIH5mZy1vbmx5fg0KKzQuIH5i Zy1vbmx5fg0KKzUuIH5kZXV0ZXJhbm9waWF+DQorDQorQnkgZGVmYXVsdCB0aGUgdGhlbWVzIGFw cGx5IHJpY2ggY29sb3JhdGlvbiB0byB0aGUgb3V0cHV0IG9mIGRpZmZzLCBzdWNoDQorYXMgdGhv c2Ugb2YgfmRpZmYtbW9kZX4sIH5lZGlmZn4sIH5zbWVyZ2UtbW9kZX4sIGFuZCBNYWdpdC4gIFRo ZXNlIGFyZQ0KK2NvbG9yIGNvbWJpbmF0aW9ucyBvZiBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIGFu ZCBmb3JlZ3JvdW5kIHNvIHRoYXQsIGZvcg0KK2V4YW1wbGUsIGFkZGVkIGxpbmVzIGhhdmUgYSBw cm9ub3VuY2VkIGdyZWVuIGJhY2tncm91bmQgd2l0aCBhbg0KK2FwcHJvcHJpYXRlIHNoYWRlIG9m IGdyZWVuIGZvciB0aGUgYWZmZWN0ZWQgdGV4dC4gIFdvcmQtd2lzZSBvcg0KKyJyZWZpbmVkIiBj aGFuZ2VzIGZvbGxvdyB0aGlzIHBhdHRlcm4gYnV0IHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mIHRo b3NlDQorY29sb3JzIHRvIHJlbWFpbiBkaXN0aW5jdC4NCisNCitPcHRpb24gfmRlc2F0dXJhdGVk fiB0b25lcyBkb3duIGFsbCByZWxldmFudCBjb2xvciB2YWx1ZXMuICBJdCBzdGlsbA0KIGNvbWJp bmVzIGFuIGFjY2VudGVkIGJhY2tncm91bmQgd2l0aCBhbiBhcHByb3ByaWF0ZSBmb3JlZ3JvdW5k LCB5ZXQgaXRzDQotb3ZlcmFsbCBpbXByZXNzaW9uIGlzIHZlcnkgc3VidGxlLiAgUmVmaW5lZCBj aGFuZ2VzIGFyZSBhIGJpdCBtb3JlDQorb3ZlcmFsbCBpbXByZXNzaW9uIGlzIGZhaXJseSBzdWJ0 bGUuICBSZWZpbmVkIGNoYW5nZXMgYXJlIGEgYml0IG1vcmUNCiBpbnRlbnNlIHRvIGZ1bGZpbCB0 aGVpciBpbnRlbmRlZCBmdW5jdGlvbiwgdGhvdWdoIHN0aWxsIGxlc3Mgc2F0dXJhdGVkDQogdGhh biBkZWZhdWx0Lg0KIA0KLVdoaWxlID1mZy1vbmx5PSB3aWxsIHJlbW92ZSBhbGwgYWNjZW50ZWQg YmFja2dyb3VuZHMgYW5kIGluc3RlYWQgcmVseSBvbg0KLWNvbG9yLWNvZGVkIHRleHQgdG8gZGVu b3RlIGNoYW5nZXMuICBGb3IgaW5zdGFuY2UsIGFkZGVkIGxpbmVzIHVzZSBhbg0KLWludGVuc2Ug Z3JlZW4gZm9yZWdyb3VuZCwgd2hpbGUgdGhlaXIgYmFja2dyb3VuZCBpcyB0aGUgc2FtZSBhcyB0 aGUgcmVzdA0KLW9mIHRoZSBidWZmZXIuICBXb3JkLXdpc2UgaGlnaGxpZ2h0cyBzdGlsbCB1c2Ug YSBiYWNrZ3JvdW5kIHZhbHVlIHdoaWNoDQotaXMsIG5vbmV0aGVsZXNzLCBtb3JlIHN1YnRsZSB0 aGFuIGl0cyBkZWZhdWx0IGVxdWl2YWxlbnQuDQotDQotQ29uY2VybmluZyA9bWFnaXQ9LCBhbiBl eHRyYSBzZXQgb2YgdHdlYWtzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUgZWZmZWN0DQotb2YgaGln aGxpZ2h0aW5nIHRoZSBjdXJyZW50IGRpZmYgaHVuaywgc28gYXMgdG8gcmVtYWluIGNvbnNpc3Rl bnQgd2l0aA0KLXRoZSBvdmVyYWxsIGV4cGVyaWVuY2Ugb2YgdGhhdCBtb2RlLiAgRXhwZWN0IGNo YW5nZXMgdGhhdCBhcmUgY29uc2lzdGVudA0KLXdpdGggdGhlIG92ZXJhbGwgaW50ZW50IG9mIHRo ZSBhZm9yZW1lbnRpb25lZC4NCitPcHRpb24gfmZnLW9ubHl+IHdpbGwgcmVtb3ZlIG1vc3QgYWNj ZW50ZWQgYmFja2dyb3VuZHMgYW5kIGluc3RlYWQgcmVseQ0KK29uIGNvbG9yLWNvZGVkIHRleHQg dG8gZGVub3RlIGNoYW5nZXMuICBGb3IgaW5zdGFuY2UsIGFkZGVkIGxpbmVzIHVzZSBhDQorZ3Jl ZW4gZm9yZWdyb3VuZCwgd2hpbGUgdGhlaXIgYmFja2dyb3VuZCBpcyB0aGUgc2FtZSBhcyB0aGUg cmVzdCBvZiB0aGUNCitidWZmZXIuICBXb3JkLXdpc2UgaGlnaGxpZ2h0cyBzdGlsbCB1c2UgYSBi YWNrZ3JvdW5kIHZhbHVlIHdoaWNoIGlzLA0KK25vbmV0aGVsZXNzLCBtb3JlIHN1YnRsZSB0aGFu IGl0cyBkZWZhdWx0IGVxdWl2YWxlbnQuDQorDQorT3B0aW9uIH5iZy1vbmx5fiBhcHBsaWVzIGNv bG9yLWNvZGVkIGJhY2tncm91bmRzIGJ1dCBkb2VzIG5vdCBvdmVycmlkZQ0KK2FueSBzeW50YXgg aGlnaGxpZ2h0aW5nIHRoYXQgbWF5IGJlIHByZXNlbnQuICBUaGlzIG1ha2VzIGl0IHN1aXRhYmxl IGZvcg0KK3VzZSB3aXRoIGEgbm9uLW5pbCB2YWx1ZSBmb3IgfmRpZmYtZm9udC1sb2NrLXN5bnRh eH4gKHdoaWNoIGlzIHRoZQ0KK2RlZmF1bHQgZm9yIH5kaWZmLW1vZGV+IGJ1ZmZlcnMgaW4gRW1h Y3MgMjcgb3IgaGlnaGVyKS4NCisNCitPcHRpb24gfmRldXRlcmFub3BpYX4gb3B0aW1pemVzIGZv ciByZWQtZ3JlZW4gY29sb3IgZGVmaWNpZW5jeS4gIEl0DQorcmVwbGFjZXMgYWxsIGluc3RhbmNl cyBvZiBncmVlbiB3aXRoIGJsdWUgdmFyaWFudHMuICBUaGlzIGlzIHRvIGVuc3VyZQ0KK3RoYXQg aW5kaWNhdG9ycyBmb3IgInJlbW92ZWQiIGFuZCAiYWRkZWQiIHN0YXRlcyBhcmUgbm90IG1pc3Rh a2VuIGZvcg0KK2VhY2ggb3RoZXIuDQorDQorQ29uY2VybmluZyBNYWdpdCwgYW4gZXh0cmEgc2V0 IG9mIHR3ZWFrcyBhcmUgaW50cm9kdWNlZCBmb3IgdGhlIGVmZmVjdA0KK29mIGhpZ2hsaWdodGlu ZyB0aGUgY3VycmVudCBkaWZmIGh1bmssIHNvIGFzIHRvIHJlbWFpbiBhbGlnbmVkIHdpdGggdGhl DQorb3ZlcmFsbCBleHBlcmllbmNlIG9mIHRoYXQgbW9kZS4gIEV4cGVjdCBjaGFuZ2VzIHRoYXQg YXJlIGNvbnNpc3RlbnQNCit3aXRoIHRoZSBvdmVyYWxsIGludGVudCBvZiB0aGUgYWZvcmVtZW50 aW9uZWQuICBOb3RlLCBob3dldmVyLCB0aGF0IHRoZQ0KK35iZy1vbmx5fiBvcHRpb24gd2lsbCBu b3QgZGVsaXZlciB0aGUgaW50ZW5kZWQgcmVzdWx0cyBpbiBNYWdpdCBkaWZmcw0KK2JlY2F1c2Ug bm8gc3ludGF4IGhpZ2hsaWdodGluZyBpcyB1c2VkIHRoZXJlIChsYXN0IGNoZWNrZWQgd2l0aCBN YWdpdA0KK3ZlcnNpb24gMjAyMDExMTYuMTA1NywgdGhvdWdoIHVwc3RyZWFtIGhhcyBhIHBsYW4g dG8gZXZlbnR1YWxseSBzdXBwb3J0DQorc3VjaCBhIGZlYXR1cmUtLS10aGlzIGVudHJ5IHNoYWxs IGJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkpLg0KIA0KICoqIE9wdGlvbiBmb3Igb3JnLW1vZGUgYmxv Y2sgc3R5bGVzDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogT3JnIG1vZGUgYmxvY2tzDQot OkRFU0NSSVBUSU9OOiBDaG9vc2UgYW1vbmcgcGxhaW4sIGdyYXlzY2FsZSwgb3IgcmFpbmJvdyBz dHlsZXMNCi06Q1VTVE9NX0lEOiBoOmI3ZTMyOGMwLTMwMzQtNGRiNy05Y2RmLWQ1YmExMjA4MWNh Mg0KLTpFTkQ6DQotDQotU3ltYm9sIG5hbWVzOg0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6 IE9yZyBtb2RlIGJsb2Nrcw0KKzpkZXNjcmlwdGlvbjogQ2hvb3NlIGFtb25nIHBsYWluLCBncmF5 c2NhbGUsIG9yIHJhaW5ib3cgc3R5bGVzDQorOmN1c3RvbV9pZDogaDpiN2UzMjhjMC0zMDM0LTRk YjctOWNkZi1kNWJhMTIwODFjYTINCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtb3Jn LWJsb2Nrcw0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9ja3M9DQotKyA9bW9k dXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzPQ0KK1N5bWJvbDogfm1vZHVzLXRoZW1lcy1vcmct YmxvY2tzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkNCi0y LiA9Z3JheXNjYWxlPQ0KLTMuID1yYWluYm93PQ0KKzIuIH5ncmF5c2NhbGV+DQorMy4gfnJhaW5i b3d+DQogDQogVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBzYW1lIGJhY2tncm91bmQgYXMgdGhl IHJlc3Qgb2YgdGhlIGJ1ZmZlciBmb3INCiB0aGUgY29udGVudHMgb2YgdGhlIGJsb2NrLg0KIA0K LUEgdmFsdWUgb2YgPWdyYXlzY2FsZT0gd2lsbCBhcHBseSBhIHN1YnRsZSBuZXV0cmFsIGdyYXkg YmFja2dyb3VuZCB0byB0aGUNCi1ibG9jaydzIGNvbnRlbnRzLiAgSXQgd2lsbCBhbHNvIGV4dGVu ZCB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93IHRoZQ0KLWJhY2tncm91bmQgb2YgdGhlICJiZWdp biIgYW5kICJlbmQiIGJsb2NrIGRlbGltaXRlciBsaW5lcyAob25seSByZWxldmFudA0KLWZvciBF bWFjcyB2ZXJzaW9ucyA+PSAyNyB3aGVyZSB0aGUgJ2V4dGVuZCcga2V5d29yZCBpcyByZWNvZ25p c2VkIGJ5DQotPXNldC1mYWNlLWF0dHJpYnV0ZT0pLg0KK09wdGlvbiB+Z3JheXNjYWxlfiBhcHBs aWVzIGEgc3VidGxlIG5ldXRyYWwgZ3JheSBiYWNrZ3JvdW5kIHRvIHRoZSBibG9jaydzDQorY29u dGVudHMuICBJdCB3aWxsIGFsc28gZXh0ZW5kIHRvIHRoZSBlZGdlIG9mIHRoZSB3aW5kb3cgdGhl IGJhY2tncm91bmQNCitvZiB0aGUgImJlZ2luIiBhbmQgImVuZCIgYmxvY2sgZGVsaW1pdGVyIGxp bmVzIChvbmx5IHJlbGV2YW50IGZvciBFbWFjcw0KK3ZlcnNpb25zID49IDI3IHdoZXJlIHRoZSAn ZXh0ZW5kJyBrZXl3b3JkIGlzIHBhcnQgb2YgdGhlIGZhY2UNCitzcGVjaWZpY2F0aW9ucykuDQog DQotV2hpbGUgPXJhaW5ib3c9IHdpbGwgaW5zdGVhZCB1c2UgYW4gYWNjZW50ZWQgYmFja2dyb3Vu ZCBmb3IgdGhlIGNvbnRlbnRzDQotb2YgdGhlIGJsb2NrLiAgVGhlIGV4YWN0IGNvbG9yIHdpbGwg ZGVwZW5kIG9uIHRoZSBwcm9ncmFtbWluZyBsYW5ndWFnZQ0KLWFuZCBpcyBjb250cm9sbGVkIGJ5 IHRoZSA9b3JnLXNyYy1ibG9jay1mYWNlcz0gdmFyaWFibGUgKHJlZmVyIHRvIHRoZQ0KLXRoZW1l J3Mgc291cmNlIGNvZGUgZm9yIHRoZSBjdXJyZW50IGFzc29jaWF0aW9uIGxpc3QpLiAgVGhpcyBp cyBtb3N0DQotc3VpdGFibGUgZm9yIHVzZXJzIHdobyB3b3JrIG9uIGxpdGVyYXRlIHByb2dyYW1t aW5nIGRvY3VtZW50cyB0aGF0IG1peA0KLWFuZCBtYXRjaCBzZXZlcmFsIGxhbmd1YWdlcy4NCitP cHRpb24gfnJhaW5ib3d+IHVzZXMgYW4gYWNjZW50ZWQgYmFja2dyb3VuZCBmb3IgdGhlIGNvbnRl bnRzIG9mIHRoZQ0KK2Jsb2NrLiAgVGhlIGV4YWN0IGNvbG9yIHdpbGwgZGVwZW5kIG9uIHRoZSBw cm9ncmFtbWluZyBsYW5ndWFnZSBhbmQgaXMNCitjb250cm9sbGVkIGJ5IHRoZSB+b3JnLXNyYy1i bG9jay1mYWNlc34gdmFyaWFibGUuICBUaGlzIGlzIG1vc3Qgc3VpdGFibGUNCitmb3IgdXNlcnMg d2hvIHdvcmsgb24gbGl0ZXJhdGUgcHJvZ3JhbW1pbmcgZG9jdW1lbnRzIHRoYXQgbWl4IGFuZCBt YXRjaA0KK3NldmVyYWwgbGFuZ3VhZ2VzLg0KIA0KIE5vdGUgdGhhdCB0aGUgInJhaW5ib3ciIGJs b2NrcyBtYXkgcmVxdWlyZSB5b3UgdG8gYWxzbyByZWxvYWQgdGhlDQotbWFqb3ItbW9kZSBzbyB0 aGF0IHRoZSBjb2xvcnMgYXJlIGFwcGxpZWQgcHJvcGVybHk6IHVzZSA9TS14IG9yZy1tb2RlPSBv cg0KLT1NLXggb3JnLW1vZGUtcmVzdGFydD0gdG8gcmVmcmVzaCB0aGUgYnVmZmVyLiAgT3Igc3Rh cnQgdHlwaW5nIGluIGVhY2gNCi1jb2RlIGJsb2NrIChpbmVmZmljaWVudCBhdCBzY2FsZSwgYnV0 IGl0IHN0aWxsIHdvcmtzKS4NCittYWpvci1tb2RlIHNvIHRoYXQgdGhlIGNvbG9ycyBhcmUgYXBw bGllZCBjb25zaXN0ZW50bHkgdGhyb3VnaG91dDogdXNlDQore3t7a2JkKE0teCBvcmctbW9kZSl9 fX0gb3Ige3t7a2JkKE0teCBvcmctbW9kZS1yZXN0YXJ0KX19fSB0byByZWZyZXNoIHRoZSBidWZm ZXIuDQorT3Igc3RhcnQgdHlwaW5nIGluIGVhY2ggY29kZSBibG9jayAoaW5lZmZpY2llbnQgYXQg c2NhbGUsIGJ1dCBpdCBzdGlsbA0KK3dvcmtzKS4NCiANCi0qKiBPcHRpb24gZm9yIGhlYWRpbmdz JyBvdmVyYWxsIHN0eWxlDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogSGVhZGluZyBzdHls ZXMNCi06REVTQ1JJUFRJT046IENob29zZSBhbW9uZyBzZXZlcmFsIHN0eWxlcywgYWxzbyBwZXIg aGVhZGluZyBsZXZlbA0KLTpDVVNUT01fSUQ6IGg6MjcxZWZmMTktOTdhYS00MDkwLTk0MTUtYTY0 NjNjMmY5YWUxDQotOkVORDoNCisqKiBPcHRpb24gZm9yIG9yZy1oYWJpdCBncmFwaCBzdHlsZXMN Cis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBPcmcgYWdlbmRhIGhhYml0cw0KKzpkZXNjcmlw dGlvbjogQ2hvb3NlIGFtb25nIHN0YW5kYXJkLCBzaW1wbGlmaWVkLCBvciB0cmFmZmljIGxpZ2h0 IHN0eWxlcw0KKzpjdXN0b21faWQ6IGg6YjdlMzI4YzAtMzAzNC00ZGI3LTljZGYtZDViYTEyMDgx Y2EyDQorOmVuZDoNCisjK3ZpbmRleDogbW9kdXMtdGhlbWVzLW9yZy1oYWJpdA0KKw0KK1N5bWJv bDogfm1vZHVzLXRoZW1lcy1vcmctaGFiaXR+DQorDQorUG9zc2libGUgdmFsdWVzOg0KKw0KKzEu ID1uaWw9IChkZWZhdWx0KQ0KKzIuIH5zaW1wbGlmaWVkfg0KKzMuIH50cmFmZmljLWxpZ2h0fg0K Kw0KK1RoZSBkZWZhdWx0IGlzIG1lYW50IHRvIGNvbmZvcm0gd2l0aCB0aGUgb3JpZ2luYWwgYWVz dGhldGljIG9mDQorPW9yZy1oYWJpdD0uICBJdCBlbXBsb3lzIGFsbCBmb3VyIGNvbG9yIGNvZGVz IHRoYXQgY29ycmVzcG9uZCB0byB0aGUNCitvcmctaGFiaXQgc3RhdGVzLS0tY2xlYXIsIHJlYWR5 LCBhbGVydCwgYW5kIG92ZXJkdWUtLS13aGlsZQ0KK2Rpc3Rpbmd1aXNoaW5nIGJldHdlZW4gdGhl aXIgcHJlc2VudCBhbmQgZnV0dXJlIHZhcmlhbnRzLiAgVGhpcyByZXN1bHRzDQoraW4gYSB0b3Rh bCBvZiBlaWdodCBjb2xvcnMgaW4gdXNlOiByZWQsIHllbGxvdywgZ3JlZW4sIGJsdWUsIGluIHRp bnRlZA0KK2FuZCBzaGFkZWQgdmVyc2lvbnMuICBUaGV5IGNvdmVyIHRoZSBmdWxsIHNldCBvZiBp bmZvcm1hdGlvbiBwcm92aWRlZCBieQ0KK3RoZSA9b3JnLWhhYml0PSBjb25zaXN0ZW5jeSBncmFw aC4NCisNCitPcHRpb24gfnNpbXBsaWZpZWR+IGlzIGxpa2UgdGhlIGRlZmF1bHQgZXhjZXB0IHRo YXQgaXQgcmVtb3ZlcyB0aGUNCitkaWNob3RvbXkgYmV0d2VlbiBjdXJyZW50IGFuZCBmdXR1cmUg dmFyaWFudHMgYnkgYXBwbHlpbmcgdW5pZm9ybQ0KK2NvbG9yLWNvZGVkIHZhbHVlcy4gIEl0IGFw cGxpZXMgYSB0b3RhbCBvZiBmb3VyIGNvbG9yczogcmVkLCB5ZWxsb3csDQorZ3JlZW4sIGJsdWUu ICBUaGV5IHByb2R1Y2UgYSBzaW1wbGlmaWVkIGNvbnNpc3RlbmN5IGdyYXBoIHRoYXQgaXMgbW9y ZQ0KK2xlZ2libGUgKG9yIGxlc3MgImJ1c3kiKSB0aGFuIHRoZSBkZWZhdWx0LiAgVGhlIGludGVu dCBpcyB0byBzaGlmdCBmb2N1cw0KK3Rvd2FyZHMgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhl IGZvdXIgc3RhdGVzIG9mIGEgaGFiaXQgdGFzaywgcmF0aGVyDQordGhhbiBlYWNoIHN0YXRlJ3Mg cHJlc2VudC9mdXR1cmUgb3V0bG9vay4NCisNCitPcHRpb24gfnRyYWZmaWMtbGlnaHR+IGZ1cnRo ZXIgcmVkdWNlcyB0aGUgYXZhaWxhYmxlIGNvbG9ycyB0byByZWQsDQoreWVsbG93LCBhbmQgZ3Jl ZW4uICBBcyBpbiB+c2ltcGxpZmllZH4sIHByZXNlbnQgYW5kIGZ1dHVyZSB2YXJpYW50cyBhcHBl YXINCit1bmlmb3JtbHksIGJ1dCBkaWZmZXJlbnRseSBmcm9tIGl0LCB0aGUgJ2NsZWFyJyBzdGF0 ZSBpcyByZW5kZXJlZCBpbiBhDQorZ3JlZW4gaHVlLCBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBi bHVlLiAgVGhpcyBpcyBtZWFudCB0byBjYXB0dXJlIHRoZQ0KK3VzZS1jYXNlIHdoZXJlIGEgaGFi aXQgdGFzayBiZWluZyAidG9vIGVhcmx5IiBpcyBsZXNzIGltcG9ydGFudCB0aGFuIGl0DQorYmVp bmcgInRvbyBsYXRlIi4gIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gcmVhZHkgYW5kIGNsZWFyIHN0 YXRlcyBpcw0KK2F0dGVudWF0ZWQgYnkgcGFpbnRpbmcgYm90aCBvZiB0aGVtIHVzaW5nIHNoYWRl cyBvZiBncmVlbi4gIFRoaXMgb3B0aW9uDQordGh1cyBoaWdobGlnaHRzIHRoZSBhbGVydCBhbmQg b3ZlcmR1ZSBzdGF0ZXMuDQorDQorKiogT3B0aW9uIGZvciB0aGUgaGVhZGluZ3MnIG92ZXJhbGwg c3R5bGUNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBIZWFkaW5nIHN0eWxlcw0KKzpkZXNj cmlwdGlvbjogQ2hvb3NlIGFtb25nIHNldmVyYWwgc3R5bGVzLCBhbHNvIHBlciBoZWFkaW5nIGxl dmVsDQorOmN1c3RvbV9pZDogaDoyNzFlZmYxOS05N2FhLTQwOTAtOTQxNS1hNjQ2M2MyZjlhZTEN Cis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCiANCiBUaGlzIGlzIGRl ZmluZWQgYXMgYW4gYWxpc3QgYW5kLCB0aGVyZWZvcmUsIHVzZXMgYSBkaWZmZXJlbnQgYXBwcm9h Y2gNCiB0aGFuIG90aGVyIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBkb2N1bWVudGVkIGluIHRoaXMg bWFudWFsLg0KIA0KLVN5bWJvbCBuYW1lczoNCi0NCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1o ZWFkaW5ncz0NCi0rID1tb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzPQ0KK1N5bWJvbDogfm1v ZHVzLXRoZW1lcy1oZWFkaW5nc34NCiANCiBQb3NzaWJsZSB2YWx1ZXMsIHdoaWNoIGNhbiBiZSBz cGVjaWZpZWQgZm9yIGVhY2ggaGVhZGluZyBsZXZlbCAoZXhhbXBsZXMNCiBmdXJ0aGVyIGJlbG93 KToNCiANCiArIG5pbCAoZGVmYXVsdCBmYWxsYmFjayBvcHRpb24tLS1jb3ZlcnMgYWxsIGhlYWRp bmcgbGV2ZWxzKQ0KICsgPXQ9IChkZWZhdWx0IHN0eWxlIGZvciBhIHNpbmdsZSBoZWFkaW5nLCB3 aGVuIHRoZSBmYWxsYmFjayBkaWZmZXJzKQ0KLSsgPW5vLWJvbGQ9DQotKyA9bGluZT0NCi0rID1s aW5lLW5vLWJvbGQ9DQotKyA9cmFpbmJvdz0NCi0rID1yYWluYm93LWxpbmU9DQotKyA9cmFpbmJv dy1saW5lLW5vLWJvbGQ9DQotKyA9aGlnaGxpZ2h0PQ0KLSsgPWhpZ2hsaWdodC1uby1ib2xkPQ0K LSsgPXJhaW5ib3ctaGlnaGxpZ2h0PQ0KLSsgPXJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQ9DQot KyA9c2VjdGlvbj0NCi0rID1zZWN0aW9uLW5vLWJvbGQ9DQotKyA9cmFpbmJvdy1zZWN0aW9uPQ0K LSsgPXJhaW5ib3ctc2VjdGlvbi1uby1ib2xkPQ0KLQ0KLVRvIGNvbnRyb2wgZmFjZXMgcGVyIGxl dmVsIGZyb20gMS04LCB1c2Ugc29tZXRoaW5nIGxpa2UgdGhpcyAoc2FtZSBmb3INCi09bW9kdXMt dml2ZW5kaS10aGVtZS1oZWFkaW5ncz0pOg0KKysgfm5vLWJvbGR+DQorKyB+bGluZX4NCisrIH5s aW5lLW5vLWJvbGR+DQorKyB+cmFpbmJvd34NCisrIH5yYWluYm93LWxpbmV+DQorKyB+cmFpbmJv dy1saW5lLW5vLWJvbGR+DQorKyB+aGlnaGxpZ2h0fg0KKysgfmhpZ2hsaWdodC1uby1ib2xkfg0K KysgfnJhaW5ib3ctaGlnaGxpZ2h0fg0KKysgfnJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGR+DQor KyB+c2VjdGlvbn4NCisrIH5zZWN0aW9uLW5vLWJvbGR+DQorKyB+cmFpbmJvdy1zZWN0aW9ufg0K KysgfnJhaW5ib3ctc2VjdGlvbi1uby1ib2xkfg0KKysgfm5vLWNvbG9yfg0KKysgfm5vLWNvbG9y LW5vLWJvbGR+DQorDQorVG8gY29udHJvbCBmYWNlcyBwZXIgbGV2ZWwgZnJvbSAxLTgsIHVzZSBz b21ldGhpbmcgbGlrZSB0aGlzOg0KIA0KICMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCi0oc2V0cSBt b2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncw0KKyhzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5n cw0KICAgICAgICcoKDEgLiBzZWN0aW9uKQ0KLSAgICAgICAgKDIgLiBsaW5lKQ0KLSAgICAgICAg KDMgLiBoaWdobGlnaHQpDQotICAgICAgICAodCAuIHJhaW5ib3ctbm8tYm9sZCkpKQ0KKyAgICAg ICAgKDIgLiBzZWN0aW9uLW5vLWJvbGQpDQorICAgICAgICAoMyAuIHJhaW5ib3ctbGluZSkNCisg ICAgICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCiAjK2VuZF9zcmMNCiANCi1UaGUg YWJvdmUgdXNlcyB0aGUgPXNlY3Rpb249IHZhbHVlIGZvciBoZWFkaW5nIGxldmVscyAxLCB0aGUg PWxpbmU9IGZvcg0KLWhlYWRpbmdzIDIsID1oaWdobGlnaHQ9IGZvciAzLiAgQWxsIG90aGVyIGxl dmVscyBmYWxsIGJhY2sgdG8NCi09cmFpbmJvdy1saW5lLW5vLWJvbGQ9Lg0KK1RoZSBhYm92ZSB1 c2VzIHRoZSB+c2VjdGlvbn4gdmFsdWUgZm9yIGhlYWRpbmcgbGV2ZWxzIDEsIH5zZWN0aW9uLW5v LWJvbGR+DQorZm9yIGhlYWRpbmdzIDIsIH5yYWluYm93LWxpbmV+IGZvciAzLiAgQWxsIG90aGVy IGxldmVscyBmYWxsIGJhY2sgdG8NCit+cmFpbmJvdy1saW5lLW5vLWJvbGR+Lg0KIA0KIFRvIHNl dCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBoZWFkaW5nIGxldmVscywgdXNlIHRoaXMgcGF0dGVy bjoNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQogOzsgQSBnaXZlbiBzdHlsZSBmb3IgZXZl cnkgaGVhZGluZw0KLShzZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAg JygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQorKHNldHEgbW9kdXMtdGhlbWVzLWhlYWRp bmdzDQorICAgICAgJygodCAuIHNlY3Rpb24pKSkNCiANCiA7OyBEZWZhdWx0IGFlc3RoZXRpYyBm b3IgZXZlcnkgaGVhZGluZw0KLShzZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQot ICAgICAgJygodCAuIG5pbCkpKQ0KKyhzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAgICAg ICcoKSkNCiAjK2VuZF9zcmMNCiANCiBUaGUgZGVmYXVsdCBzdHlsZSBmb3IgaGVhZGluZ3MgdXNl cyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kDQotdmFsdWUgaW4gY29tYmluYXRpb24g d2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0aGlzDQotc3R5bGUg Zm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyIGZh bGxiYWNrDQotb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRoZSB2YWx1ZSA9dD0gbGlrZSB0aGlzOg0K K3ZhbHVlIGluIGNvbWJpbmF0aW9uIHdpdGggYm9sZCB0eXBvZ3JhcGhpYyB3ZWlnaHQuICBUbyBz cGVjaWZ5IHRoaXMNCitzdHlsZSBmb3IgYSBnaXZlbiBsZXZlbCBOLCBhc3N1bWluZyB5b3Ugd2lz aCB0byBoYXZlIGFub3RoZXIgZmFsbGJhY2sNCitvcHRpb24sIGp1c3Qgc3BlY2lmeSB0aGUgdmFs dWUgPXQ9IGxpa2UgdGhpczoNCiANCiAjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQotKHNldHEgbW9k dXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MNCisoc2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MN CiAgICAgICAnKCgxIC4gdCkNCiAgICAgICAgICgyIC4gbGluZSkNCiAgICAgICAgICh0IC4gcmFp bmJvdy1saW5lLW5vLWJvbGQpKSkNCiAjK2VuZF9zcmMNCiANCi1BIGRlc2NyaXB0aW9uIG9mIGFs bCBvdGhlciBwb3NzaWJsZSBzdHlsZXM6DQorQSBkZXNjcmlwdGlvbiBvZiBhbGwgb3RoZXIgcG9z c2libGUgc3R5bGVzIGJleW9uZCB0aGUgZGVmYXVsdDoNCiANCi0rID1uby1ib2xkPSByZXRhaW5z IHRoZSBkZWZhdWx0IHRleHQgY29sb3Igd2hpbGUgcmVtb3ZpbmcgdGhlIHR5cG9ncmFwaGljDQot ICB3ZWlnaHQuDQorKyB+bm8tYm9sZH4gcmV0YWlucyB0aGUgZGVmYXVsdCB0ZXh0IGNvbG9yIHdo aWxlIHJlbW92aW5nIHRoZSBib2xkDQorICB0eXBvZ3JhcGhpYyB3ZWlnaHQuDQogDQotKyA9bGlu ZT0gaXMgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZSBo ZWFkaW5nLg0KKysgfmxpbmV+IGlzIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0IHBsdXMgYW4gb3Zl cmxpbmUgYWNyb3NzIHRoZQ0KKyAgaGVhZGluZydzIGxlbmd0aC4NCiANCi0rID1saW5lLW5vLWJv bGQ9IGlzIHRoZSBzYW1lIGFzID1saW5lPSB3aXRob3V0IGJvbGQgd2VpZ2h0Lg0KKysgfmxpbmUt bm8tYm9sZH4gaXMgdGhlIHNhbWUgYXMgfmxpbmV+IHdpdGhvdXQgYm9sZCB3ZWlnaHQuDQogDQot KyA9cmFpbmJvdz0gdXNlcyBhIG1vcmUgY29sb3JmdWwgZm9yZWdyb3VuZCBpbiBjb21iaW5hdGlv biB3aXRoIGJvbGQNCi0gIHdlaWdodC4NCisrIH5yYWluYm93fiB1c2VzIGEgbW9yZSBjb2xvcmZ1 bCBmb3JlZ3JvdW5kIGluIGNvbWJpbmF0aW9uIHdpdGggYm9sZA0KKyAgdHlwb2dyYXBoaWMgd2Vp Z2h0Lg0KIA0KLSsgPXJhaW5ib3ctbGluZT0gaXMgdGhlIHNhbWUgYXMgPXJhaW5ib3c9IHBsdXMg YW4gb3ZlcmxpbmUuDQorKyB+cmFpbmJvdy1saW5lfiBpcyB0aGUgc2FtZSBhcyB+cmFpbmJvd34g cGx1cyBhbiBvdmVybGluZS4NCiANCi0rID1yYWluYm93LWxpbmUtbm8tYm9sZD0gaXMgdGhlIHNh bWUgYXMgPXJhaW5ib3ctbGluZT0gd2l0aG91dCB0aGUgYm9sZA0KKysgfnJhaW5ib3ctbGluZS1u by1ib2xkfiBpcyB0aGUgc2FtZSBhcyB+cmFpbmJvdy1saW5lfiB3aXRob3V0IHRoZSBib2xkDQog ICB3ZWlnaHQuDQogDQotKyA9aGlnaGxpZ2h0PSByZXRhaW5zIHRoZSBkZWZhdWx0IHN0eWxlIG9m IGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQNCi0gIGNvbWJpbmVkIHdpdGggYSBib2xk IHdlaWdodCBhbmQgYWRkcyB0byBpdCBhIHN1YnRsZSBhY2NlbnRlZA0KLSAgYmFja2dyb3VuZC4N CisrIH5oaWdobGlnaHR+IHJldGFpbnMgdGhlIGRlZmF1bHQgc3R5bGUgb2YgYSBmYWlybHkgZGVz YXR1cmF0ZWQNCisgIGZvcmVncm91bmQgY29tYmluZWQgd2l0aCBhIGJvbGQgd2VpZ2h0IGFuZCBh ZGRzIHRvIGl0IGEgc3VidGxlDQorICBhY2NlbnRlZCBiYWNrZ3JvdW5kLg0KIA0KLSsgPWhpZ2hs aWdodC1uby1ib2xkPSBpcyB0aGUgc2FtZSBhcyA9aGlnaGxpZ2h0PSB3aXRob3V0IGEgYm9sZCB3 ZWlnaHQuDQorKyB+aGlnaGxpZ2h0LW5vLWJvbGR+IGlzIHRoZSBzYW1lIGFzIH5oaWdobGlnaHR+ IHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCiANCi0rID1yYWluYm93LWhpZ2hsaWdodD0gaXMgdGhl IHNhbWUgYXMgPWhpZ2hsaWdodD0gYnV0IHdpdGggYSBtb3JlIGNvbG9yZnVsDQotICBmb3JlZ3Jv dW5kLg0KKysgfnJhaW5ib3ctaGlnaGxpZ2h0fiBpcyB0aGUgc2FtZSBhcyB+aGlnaGxpZ2h0fiBi dXQgd2l0aCBhIG1vcmUNCisgIGNvbG9yZnVsIGZvcmVncm91bmQuDQogDQotKyA9cmFpbmJvdy1o aWdobGlnaHQtbm8tYm9sZD0gaXMgdGhlIHNhbWUgYXMgPXJhaW5ib3ctaGlnaGxpZ2h0PSB3aXRo b3V0IGENCi0gIGJvbGQgd2VpZ2h0Lg0KKysgfnJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGR+IGlz IHRoZSBzYW1lIGFzIH5yYWluYm93LWhpZ2hsaWdodH4gd2l0aG91dA0KKyAgYSBib2xkIHdlaWdo dC4NCiANCi0rID1zZWN0aW9uPSByZXRhaW5zIHRoZSBkZWZhdWx0IGxvb2tzIGFuZCBhZGRzIHRv IHRoZW0gYm90aCBhbiBvdmVybGluZQ0KKysgfnNlY3Rpb25+IHJldGFpbnMgdGhlIGRlZmF1bHQg bG9va3MgYW5kIGFkZHMgdG8gdGhlbSBib3RoIGFuIG92ZXJsaW5lDQogICBhbmQgYSBzbGlnaHRs eSBhY2NlbnRlZCBiYWNrZ3JvdW5kLiAgSXQgaXMsIGluIGVmZmVjdCwgYSBjb21iaW5hdGlvbg0K LSAgb2YgdGhlID1saW5lPSBhbmQgPWhpZ2hsaWdodD0gdmFsdWVzLg0KKyAgb2YgdGhlIH5saW5l fiBhbmQgfmhpZ2hsaWdodH4gdmFsdWVzLg0KIA0KLSsgPXNlY3Rpb24tbm8tYm9sZD0gaXMgdGhl IHNhbWUgYXMgPXNlY3Rpb249IHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCisrIH5zZWN0aW9uLW5v LWJvbGR+IGlzIHRoZSBzYW1lIGFzIH5zZWN0aW9ufiB3aXRob3V0IGEgYm9sZCB3ZWlnaHQuDQog DQotKyA9cmFpbmJvdy1zZWN0aW9uPSBpcyB0aGUgc2FtZSBhcyA9c2VjdGlvbj0gYnV0IHdpdGgg YSBtb3JlIGNvbG9yZnVsDQorKyB+cmFpbmJvdy1zZWN0aW9ufiBpcyB0aGUgc2FtZSBhcyB+c2Vj dGlvbn4gYnV0IHdpdGggYSBtb3JlIGNvbG9yZnVsDQogICBmb3JlZ3JvdW5kLg0KIA0KLSsgPXJh aW5ib3ctc2VjdGlvbi1uby1ib2xkPSBpcyB0aGUgc2FtZSBhcyA9cmFpbmJvdy1zZWN0aW9uPSB3 aXRob3V0IGEgYm9sZA0KLSAgd2VpZ2h0LiINCisrIH5yYWluYm93LXNlY3Rpb24tbm8tYm9sZH4g aXMgdGhlIHNhbWUgYXMgfnJhaW5ib3ctc2VjdGlvbn4gd2l0aG91dCBhDQorICBib2xkIHdlaWdo dC4NCisNCisrIH5uby1jb2xvcn4gZG9lcyBub3QgYXBwbHkgYW55IGNvbG9yIHRvIHRoZSBoZWFk aW5nLCBtZWFuaW5nIHRoYXQgaXQNCisgIHVzZXMgdGhlIGZvcmVncm91bmQgb2YgdGhlIH5kZWZh dWx0fiBmYWNlLiAgSXQgc3RpbGwgcmVuZGVycyB0aGUgdGV4dA0KKyAgd2l0aCBhIGJvbGQgdHlw b2dyYXBoaWMgd2VpZ2h0Lg0KIA0KLSoqIE9wdGlvbiBmb3Igc2NhbGVkIGhlYWRpbmdzDQotOlBS T1BFUlRJRVM6DQotOkFMVF9USVRMRTogU2NhbGVkIGhlYWRpbmdzDQotOkRFU0NSSVBUSU9OOiBU b2dnbGUgc2NhbGluZyBvZiBoZWFkaW5ncw0KLTpDVVNUT01fSUQ6IGg6MDc1ZWIwMjItMzdhNi00 MWE0LWEwNDAtY2MxODlmNmJmYTFmDQotOkVORDoNCisrIH5uby1jb2xvci1uby1ib2xkfiBpcyBs aWtlIH5uby1jb2xvcn4gYnV0IHdpdGhvdXQgdGhlIGJvbGQgd2VpZ2h0Lg0KIA0KLVN5bWJvbCBu YW1lczoNCisqKiBPcHRpb24gZm9yIHNjYWxlZCBoZWFkaW5ncw0KKzpwcm9wZXJ0aWVzOg0KKzph bHRfdGl0bGU6IFNjYWxlZCBoZWFkaW5ncw0KKzpkZXNjcmlwdGlvbjogVG9nZ2xlIHNjYWxpbmcg b2YgaGVhZGluZ3MNCis6Y3VzdG9tX2lkOiBoOjA3NWViMDIyLTM3YTYtNDFhNC1hMDQwLWNjMTg5 ZjZiZmExZg0KKzplbmQ6DQorIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5ncw0K IA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzPQ0KLSsgPW1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3M9DQorU3ltYm9sOiB+bW9kdXMtdGhlbWVzLXNjYWxl LWhlYWRpbmdzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiANCiAxLiA9bmlsPSAoZGVmYXVsdCkN CiAyLiA9dD0NCiANCi1NYWtlIGhlYWRpbmdzIGxhcmdlciBpbiBoZWlnaHQgcmVsYXRpdmUgdG8g dGhlIG1haW4gdGV4dC4gIFRoaXMgaXMNCi1ub3RpY2VhYmxlIGluIG1vZGVzIGxpa2UgT3JnLiAg VGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBzYW1lIHNpemUgZm9yDQotaGVhZGluZ3MgYW5kIGJv ZHkgY29weS4NCitUaGUgZGVmYXVsdCBpcyB0byB1c2UgdGhlIHNhbWUgc2l6ZSBmb3IgaGVhZGlu Z3MgYW5kIHBhcmFncmFwaCB0ZXh0Lg0KKw0KK1dpdGggYSBub24tbmlsIHZhbHVlICg9dD0pIG1h a2UgaGVhZGluZ3MgbGFyZ2VyIGluIGhlaWdodCByZWxhdGl2ZSB0byB0aGUNCittYWluIHRleHQu ICBUaGlzIGlzIG5vdGljZWFibGUgaW4gbW9kZXMgbGlrZSBPcmcsIE1hcmtkb3duLCBhbmQgSW5m by4NCiANCiAqKiogQ29udHJvbCB0aGUgc2NhbGUgb2YgaGVhZGluZ3MNCi06UFJPUEVSVElFUzoN Ci06QUxUX1RJVExFOiBTY2FsZWQgaGVhZGluZyBzaXplcw0KLTpERVNDUklQVElPTjogU3BlY2lm eSByYXRlIG9mIGluY3JlYXNlIGZvciBzY2FsZWQgaGVhZGluZ3MNCi06Q1VTVE9NX0lEOiBoOjY4 NjhiYWExLWJlYmEtNDVlZC1iYWE1LTVmZDY4MzIyY2NiMw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6 DQorOmFsdF90aXRsZTogU2NhbGVkIGhlYWRpbmcgc2l6ZXMNCis6ZGVzY3JpcHRpb246IFNwZWNp ZnkgcmF0ZSBvZiBpbmNyZWFzZSBmb3Igc2NhbGVkIGhlYWRpbmdzDQorOmN1c3RvbV9pZDogaDo2 ODY4YmFhMS1iZWJhLTQ1ZWQtYmFhNS01ZmQ2ODMyMmNjYjMNCis6ZW5kOg0KIA0KLUluIGFkZGl0 aW9uIHRvIHRvZ2dsZXMgZm9yIGVuYWJsaW5nIHNjYWxlZCBoZWFkaW5ncywgdXNlcnMgY2FuIGFs c28NCitJbiBhZGRpdGlvbiB0byB0aGUgdG9nZ2xlIGZvciBlbmFibGluZyBzY2FsZWQgaGVhZGlu Z3MsIHVzZXJzIGNhbiBhbHNvDQogc3BlY2lmeSBhIG51bWJlciBvZiB0aGVpciBvd24uDQogDQog KyBJZiBpdCBpcyBhIGZsb2F0aW5nIHBvaW50LCBzYXksID0xLjU9LCBpdCBpcyBpbnRlcnByZXRl ZCBhcyBhIG11bHRpcGxlDQotICBvZiB0aGUgYmFzZSBmb250IHNpemUuICBUaGlzIGlzIHRoZSBy ZWNvbW1lbmRlZCBtZXRob2QuDQotDQotKyBJZiBpdCBpcyBhbiBpbnRlZ2VyLCBpdCBpcyByZWFk IGFzIGFuIGFic29sdXRlIGZvbnQgaGVpZ2h0LiAgVGhlDQotICBudW1iZXIgaXMgYmFzaWNhbGx5 IHRoZSBwb2ludCBzaXplIG11bHRpcGxpZWQgYnkgdGVuLiAgU28gaWYgeW91IHdhbnQNCi0gIGl0 IHRvIGJlID0xOHB0PSB5b3UgbXVzdCBwYXNzID0xODA9LiAgUGxlYXNlIHVuZGVyc3RhbmQgdGhh dCBzZXR0aW5nIGFuDQotICBhYnNvbHV0ZSB2YWx1ZSBpcyBkaXNjb3VyYWdlZCwgYXMgaXQgd2ls bCBicmVhayB0aGUgbGF5b3V0IHdoZW4geW91DQotICB0cnkgdG8gY2hhbmdlIGZvbnQgc2l6ZXMg d2l0aCB0aGUgYnVpbHQtaW4gPXRleHQtc2NhbGUtYWRqdXN0PSBjb21tYW5kDQotICAoc2VlIFtb I2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRp b25zXV0pLg0KKyAgb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgVGhpcyBpcyB0aGUgcmVjb21tZW5k ZWQgbWV0aG9kLCBiZWNhdXNlIGl0DQorICB3aWxsIGFsd2F5cyBhZGFwdCB0byBjaGFuZ2VzIGlu IHRoZSBiYXNlIGZvbnQgc2l6ZSwgc3VjaCBhcyB3aGlsZQ0KKyAgdXNpbmcgdGhlIH50ZXh0LXNj YWxlLWFkanVzdH4gY29tbWFuZC4NCisNCisrIElmIGl0IGlzIGFuIGludGVnZXIsIGl0IGlzIHJl YWQgYXMgYW4gYWJzb2x1dGUgZm9udCBoZWlnaHQgdGhhdCBpcw0KKyAgMS8xMCBvZiB0aGUgdHlw b2dyYXBoaWMgcG9pbnQgc2l6ZS4gIFRodXMgYSB2YWx1ZSBvZiA9MThwdD0gbXVzdCBiZQ0KKyAg ZXhwcmVzc2VkIGFzID0xODA9LiAgU2V0dGluZyBhbiBhYnNvbHV0ZSB2YWx1ZSBpcyBkaXNjb3Vy YWdlZCwgYXMgaXQNCisgIHdpbGwgYnJlYWsgdGhlIGxheW91dCBpbiBjYXNlcyB3aGVyZSB0aGUg YmFzZSBmb250IHNpemUgbXVzdCBjaGFuZ2UsDQorICBzdWNoIGFzIHdpdGggdGhlIH50ZXh0LXNj YWxlLWFkanVzdH4gY29tbWFuZCAoW1sjaDpkZWZjZjRmYy04ZmE4LTRjMjktYjEyZS03MTE5NTgy Y2M5MjldW0ZvbnQgY29uZmlndXJhdGlvbnNdXSkuDQorICBXaGlsZSB3ZSBkaXNjb3VyYWdlIHVz aW5nIGFic29sdXRlIHZhbHVlcywgd2Ugc3RpbGwgcHJvdmlkZSBmb3IgdGhpcw0KKyAgb3B0aW9u IGZvciB1c2VycyB3aG8gZG8gbm90IG5lZWQgdG8gcGVyZm9ybSB0ZXh0LXNjYWxpbmcgb3BlcmF0 aW9ucyBvcg0KKyAgd2hvIGFyZSBjb250ZW50IHdpdGggd2hhdGV2ZXIgZGlzY3JlcGFuY2llcyBp biBoZWlnaHQuDQogDQogQmVsb3cgYXJlIHRoZSB2YXJpYWJsZXMgaW4gdGhlaXIgZGVmYXVsdCB2 YWx1ZXMsIHVzaW5nIHRoZSBmbG9hdGluZw0KLXBvaW50IHBhcmFkaWdtLiAgVGhlIG51bWJlcnMg YXJlIHZlcnkgY29uc2VydmF0aXZlLCBidXQgeW91IGFyZSBmcmVlIHRvDQotY2hhbmdlIHRoZW0g dG8geW91ciBsaWtpbmcsIHN1Y2ggYXMgPTEuMj0sID0xLjQ9LCA9MS42PSwgPTEuOD0sID0yLjA9 LS0tb3IgdXNlIGENCitwb2ludCBwYXJhZGlnbS4gIFRoZSBudW1iZXJzIGFyZSB2ZXJ5IGNvbnNl cnZhdGl2ZSwgYnV0IG9uZSBpcyBmcmVlIHRvDQorY2hhbmdlIHRoZW0gdG8gdGhlaXIgbGlraW5n LCBzdWNoIGFzID0xLjI9LCA9MS40PSwgPTEuNj0sID0xLjg9LCA9Mi4wPS0tLW9yIHVzZSBhDQog cmVzb3VyY2UgZm9yIGZpbmRpbmcgYSBjb25zaXN0ZW50IHNjYWxlOg0KIA0KICMrYmVnaW5fc3Jj IGVtYWNzLWxpc3ANCi0oc2V0cSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi0g ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0yIDEuMQ0KLSAgICAgIG1vZHVzLW9wZXJh bmRpLXRoZW1lLXNjYWxlLTMgMS4xNQ0KLSAgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxl LTQgMS4yDQotICAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNSAxLjMpDQotDQotKHNl dHEgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi0gICAgICBtb2R1cy12aXZlbmRp LXRoZW1lLXNjYWxlLTIgMS4xDQotICAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zIDEu MTUNCi0gICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQgMS4yDQotICAgICAgbW9kdXMt dml2ZW5kaS10aGVtZS1zY2FsZS01IDEuMykNCisoc2V0cSBtb2R1cy10aGVtZXMtc2NhbGUtMSAx LjA1DQorICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTIgMS4xDQorICAgICAgbW9kdXMtdGhlbWVz LXNjYWxlLTMgMS4xNQ0KKyAgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS00IDEuMg0KKyAgICAgIG1v ZHVzLXRoZW1lcy1zY2FsZS01IDEuMykNCiAjK2VuZF9zcmMNCiANCitBcyBmb3IgdGhlIGFwcGxp Y2F0aW9uIG9mIHRoYXQgc2NhbGUsIHRoZSB2YXJpYWJsZXMgdGhhdCByYW5nZSBmcm9tDQorfm1v ZHVzLXRoZW1lcy1zY2FsZS0xfiB1cCB0byB+bW9kdXMtdGhlbWVzLXNjYWxlLTR+IGFwcGx5IHRv IHJlZ3VsYXINCitoZWFkaW5ncyB3aXRoaW4gdGhlIGNvbnRleHQgb2YgdGhlIGdpdmVuIG1ham9y IG1vZGUuICBUaGUgZm9ybWVyIGlzIHRoZQ0KK3NtYWxsZXN0LCB3aGlsZSB0aGUgbGF0dGVyIGlz IHRoZSBsYXJnZXN0LiAgIlJlZ3VsYXIgaGVhZGluZ3MiIGFyZSB0aG9zZQ0KK3RoYXQgaGF2ZSBh IHN0YW5kYXJkIHN5bnRheCBmb3IgdGhlaXIgc2NhbGUsIHN1Y2ggYXMgT3JnIG1vZGUncyBlaWdo dA0KK2xldmVscyBvZiBhc3Rlcmlza3Mgb3IgTWFya2Rvd24ncyBzaXggY29sdW1ucy4NCisNCitX aGVyZWFzIH5tb2R1cy10aGVtZXMtc2NhbGUtNX4gaXMgYXBwbGllZCB0byBzcGVjaWFsIGhlYWRp bmdzIHRoYXQgZG8gbm90DQorY29uZm9ybSB3aXRoIHRoZSBhZm9yZW1lbnRpb25lZCBzeW50YXgs IHlldCB3aGljaCBhcmUgZXhwZWN0ZWQgdG8gYmUNCitsYXJnZXIgdGhhbiB0aGUgbGFyZ2VzdCB2 YWx1ZSBvbiB0aGF0IGltcGxpZWQgc2NhbGUuICBQdXQgY29uY3JldGVseSwNCitPcmcncyA9Iyt0 aXRsZT0gbWV0YSBkYXR1bSBpcyBub3QgcGFydCBvZiB0aGUgZWlnaHQgbGV2ZWxzIG9mIGhlYWRp bmdzIGluDQorYW4gT3JnIGZpbGUsIHlldCBpcyBzdXBwb3NlZCB0byBzaWduaWZ5IHRoZSBwcmlt YXJ5IGhlYWRlci4gIFNpbWlsYXJseSwNCit0aGUgT3JnIEFnZW5kYSdzIHN0cnVjdHVyZSBoZWFk aW5ncyBhcmUgbm90IHBhcnQgb2YgYSByZWNvZ25pc2FibGUgc2NhbGUNCithbmQgc28gdGhleSBh bHNvIGdldCB+bW9kdXMtdGhlbWVzLXNjYWxlLTV+Lg0KKw0KK1VzZXJzIHdobyB3aXNoIHRvIG1h aW50YWluIHNjYWxlZCBoZWFkaW5ncyBmb3IgdGhlIG5vcm1hbCBzeW50YXggd2hpbGUNCitwcmV2 ZW50aW5nIHNwZWNpYWwgaGVhZGluZ3MgZnJvbSBzdGFuZGluZyBvdXQsIGNhbiBhc3NpZ24gYSB2 YWx1ZSBvZiA9MS4wPQ0KK3RvIH5tb2R1cy10aGVtZXMtc2NhbGUtNX4gdG8gbWFrZSBpdCB0aGUg c2FtZSBhcyBib2R5IHRleHQgKG9yIHdoYXRldmVyDQordmFsdWUgd291bGQgcmVuZGVyIGl0IGlu ZGlzdGluZ3Vpc2hhYmxlIGZyb20gdGhlIGRlc2lyZWQgcG9pbnQgb2YNCityZWZlcmVuY2UpLg0K Kw0KIE5vdGUgdGhhdCBpbiBlYXJsaWVyIHZlcnNpb25zIG9mIE9yZywgc2NhbGluZyB3b3VsZCBv bmx5IGluY3JlYXNlIHRoZQ0KIHNpemUgb2YgdGhlIGhlYWRpbmcsIGJ1dCBub3Qgb2Yga2V5d29y ZHMgdGhhdCB3ZXJlIGFkZGVkIHRvIGl0LCBsaWtlDQogIlRPRE8iLiAgVGhlIGlzc3VlIGhhcyBi ZWVuIGZpeGVkIHVwc3RyZWFtOg0KIDxodHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIw MjAtMDktMjQtb3JnLWhlYWRpbmdzLWFkYXB0Lz4uDQogDQotKiogT3B0aW9uIGZvciB2YXJpYWJs ZS1waXRjaCBmb250IGluIGhlYWRpbmdzDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTogSGVh ZGluZ3MnIGZvbnQNCi06REVTQ1JJUFRJT046IFRvZ2dsZSBwcm9wb3J0aW9uYXRlbHkgc3BhY2Vk IGZvbnRzIGluIGhlYWRpbmdzDQotOkNVU1RPTV9JRDogaDo5N2NhY2E3Ni1mYTEzLTQ1NmMtYWVm MS1hMmFhMTY1ZWEyNzQNCi06RU5EOg0KKyoqIE9wdGlvbiBmb3IgdmFyaWFibGUtcGl0Y2ggZm9u dCBpbiBVSSBlbGVtZW50cw0KKzpwcm9wZXJ0aWVzOg0KKzphbHRfdGl0bGU6IFVJIHR5cGVmYWNl DQorOmRlc2NyaXB0aW9uOiBUb2dnbGUgdGhlIHVzZSBvZiB2YXJpYWJsZS1waXRjaCBhY3Jvc3Mg dGhlIFVzZXIgSW50ZXJmYWNlDQorOmN1c3RvbV9pZDogaDoxNmNmNjY2Yy01ZTY1LTQyNGMtYTg1 NS03ZWE4YTRhMWZjYWMNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtdmFyaWFibGUt cGl0Y2gtdWkNCisNCitTeW1ib2w6IH5tb2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtdWl+DQor DQorUG9zc2libGUgdmFsdWVzOg0KKw0KKzEuID1uaWw9IChkZWZhdWx0KQ0KKzIuID10PQ0KKw0K K1RoaXMgb3B0aW9uIGNvbmNlcm5zIFVzZXIgSW50ZXJmYWNlIGVsZW1lbnRzIHRoYXQgYXJlIHVu ZGVyIHRoZSBkaXJlY3QNCitjb250cm9sIG9mIEVtYWNzLiAgSW4gcGFydGljdWxhcjogdGhlIG1v ZGUgbGluZSwgaGVhZGVyIGxpbmUsIHRhYiBiYXIsDQorYW5kIHRhYiBsaW5lLg0KKw0KK1RoZSBk ZWZhdWx0IGlzIHRvIHVzZSB0aGUgc2FtZSBmb250IGFzIHRoZSByZXN0IG9mIEVtYWNzLCB3aGlj aCB1c3VhbGx5DQoraXMgYSBtb25vc3BhY2VkIGZhbWlseS4NCiANCi1TeW1ib2wgbmFtZXM6DQor V2l0aCBhIG5vbi1uaWwgdmFsdWUgKD10PSkgYXBwbHkgYSBwcm9wb3J0aW9uYXRlbHkgc3BhY2Vk IHR5cGVmYWNlLiAgVGhpcw0KK2lzIGRvbmUgYnkgYXNzaWduaW5nIHRoZSB+dmFyaWFibGUtcGl0 Y2h+IGZhY2UgdG8gdGhlIHJlbGV2YW50IGl0ZW1zLg0KIA0KLSsgPW1vZHVzLW9wZXJhbmRpLXRo ZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzPQ0KLSsgPW1vZHVzLXZpdmVuZGktdGhlbWUtdmFy aWFibGUtcGl0Y2gtaGVhZGluZ3M9DQorW1sjaDpkZWZjZjRmYy04ZmE4LTRjMjktYjEyZS03MTE5 NTgyY2M5MjldW0ZvbnQgY29uZmlndXJhdGlvbnMgZm9yIE9yZyBhbmQgb3RoZXJzXV0uDQorDQor KiogT3B0aW9uIGZvciB2YXJpYWJsZS1waXRjaCBmb250IGluIGhlYWRpbmdzDQorOnByb3BlcnRp ZXM6DQorOmFsdF90aXRsZTogSGVhZGluZ3MnIHR5cGVmYWNlDQorOmRlc2NyaXB0aW9uOiBUb2dn bGUgdGhlIHVzZSBvZiB2YXJpYWJsZS1waXRjaCBpbiBoZWFkaW5ncw0KKzpjdXN0b21faWQ6IGg6 OTdjYWNhNzYtZmExMy00NTZjLWFlZjEtYTJhYTE2NWVhMjc0DQorOmVuZDoNCisjK3ZpbmRleDog bW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzDQorDQorU3ltYm9sOiB+bW9kdXMt dGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzfg0KIA0KIFBvc3NpYmxlIHZhbHVlczoNCiAN CiAxLiA9bmlsPSAoZGVmYXVsdCkNCiAyLiA9dD0NCiANCi1DaG9vc2UgdG8gYXBwbHkgYSBwcm9w b3J0aW9uYXRlbHkgc3BhY2VkLCBlbHNlICJ2YXJpYWJsZS1waXRjaCIsDQotdHlwZWZhY2UgdG8g aGVhZGluZ3MgKHN1Y2ggYXMgaW4gT3JnIG1vZGUpLiAgVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRo ZQ0KLW1haW4gZm9udCBmYW1pbHkuDQorVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBtYWluIGZv bnQgZmFtaWx5LCB3aGljaCB0eXBpY2FsbHkgaXMNCittb25vc3BhY2VkLg0KIA0KLVtbI2g6ZGVm Y2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRpb25zIGZv ciBPcmcgKGFuZCBvdGhlcnMpXV0uDQorV2l0aCBhIG5vbi1uaWwgdmFsdWUgKD10PSkgYXBwbHkg YSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlLCBlbHNlDQorInZhcmlhYmxlLXBpdGNo IiwgdG8gaGVhZGluZ3MgKHN1Y2ggYXMgaW4gT3JnIG1vZGUpLg0KKw0KK1tbI2g6ZGVmY2Y0ZmMt OGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcg YW5kIG90aGVyc11dLg0KIA0KICogQWR2YW5jZWQgY3VzdG9taXphdGlvbiAoZG8taXQteW91cnNl bGYpDQotOlBST1BFUlRJRVM6DQotOklOREVYOiBjcA0KLTpDVVNUT01fSUQ6IGg6ZjQ2NTFkNTUt OGMwNy00NmFhLWI1MmItYmVkMWU1MzQ2M2JiDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3Vz dG9tX2lkOiBoOmY0NjUxZDU1LThjMDctNDZhYS1iNTJiLWJlZDFlNTM0NjNiYg0KKzplbmQ6DQog DQotVW5saWtlIHRoZSBwcmVkZWZpbmVkIGN1c3RvbWl6YXRpb24gb3B0aW9ucyB3aGljaCBmb2xs b3cgYQ0KLXN0cmFpZ2h0Zm9yd2FyZCBwYXR0ZXJuIG9mIGFsbG93aW5nIHRoZSB1c2VyIHRvIHF1 aWNrbHkgc3BlY2lmeSB0aGVpcg0KLXByZWZlcmVuY2UsIHRoZSB0aGVtZXMgYWxzbyBwcm92aWRl IGEgbW9yZSBmbGV4aWJsZSwgYWxiZWl0IGRpZmZpY3VsdCwNCi1tZWNoYW5pc20gdG8gY29udHJv bCB0aGluZ3Mgd2l0aCBwcmVjaXNpb24gKHNlZSBbWyNoOmJmMWM4MmYyLTQ2YzctNGViMi1hZDAw LWRkMTFmZGQ4YjUzZl1bQ3VzdG9taXphdGlvbiBPcHRpb25zXV0pLg0KK1VubGlrZSB0aGUgcHJl ZGVmaW5lZCBjdXN0b21pemF0aW9uIG9wdGlvbnMgd2hpY2ggZm9sbG93IGEgY2xlYXIgcGF0dGVy bg0KK29mIGFsbG93aW5nIHRoZSB1c2VyIHRvIHF1aWNrbHkgc3BlY2lmeSB0aGVpciBwcmVmZXJl bmNlLCB0aGUgdGhlbWVzDQorYWxzbyBwcm92aWRlIGEgbW9yZSBmbGV4aWJsZSwgYWxiZWl0IGRp ZmZpY3VsdCwgbWVjaGFuaXNtIHRvIGNvbnRyb2wNCit0aGluZ3Mgd2l0aCBwcmVjaXNpb24gKFtb I2g6YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAtZGQxMWZkZDhiNTNmXVtDdXN0b21pemF0aW9uIE9w dGlvbnNdXSkuDQogDQogVGhpcyBzZWN0aW9uIGlzIG9mIGludGVyZXN0IG9ubHkgdG8gdXNlcnMg d2hvIGFyZSBwcmVwYXJlZCB0byBtYWludGFpbg0KIHRoZWlyIG93biBsb2NhbCB0d2Vha3MgYW5k IHdobyBhcmUgd2lsbGluZyB0byBkZWFsIHdpdGggYW55IHBvc3NpYmxlDQogaW5jb21wYXRpYmls aXRpZXMgYmV0d2VlbiB2ZXJzaW9uZWQgcmVsZWFzZXMgb2YgdGhlIHRoZW1lcy4gIEFzIHN1Y2gs DQogdGhleSBhcmUgbGFiZWxsZWQgYXMgImRvLWl0LXlvdXJzZWxmIiBvciAiRElZIi4NCiANCi0q KiBGdWxsIGFjY2VzcyB0byB0aGUgdGhlbWVzJyBwYWxldHRlDQotOlBST1BFUlRJRVM6DQotOkFM VF9USVRMRTogVHdlYWsgY29sb3JzIChESVkpDQotOkRFU0NSSVBUSU9OOiBEZWNsYXJlIHlvdXIg b3duIHBhbGV0dGUgb3ZlcnJpZGVzDQotOkNVU1RPTV9JRDogaDoxNDg3YzYzMS1mNGZlLTQ5MGQt OGQ1OC1kNzJmZmEzYmQ0NzQNCi06RU5EOg0KKyoqIFBlci10aGVtZSBjdXN0b21pemF0aW9uIHNl dHRpbmdzIChESVkpDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDphODk3YjMwMi04ZTEw LTRhMjYtYmVhYi0zY2FhZWUxZTExOTMNCis6ZW5kOg0KKw0KK0lmIHlvdSBwcmVmZXIgdG8gbWFp bnRhaW4gZGlmZmVyZW50IGN1c3RvbWl6YXRpb24gb3B0aW9ucyBiZXR3ZWVuIHRoZQ0KK3R3byB0 aGVtZXMsIGl0IGlzIGJlc3QgeW91IHdyaXRlIHlvdXIgb3duIGZ1bmN0aW9ucyB0aGF0IGZpcnN0 IHNldCB0aG9zZQ0KK29wdGlvbnMgYW5kIHRoZW4gbG9hZCB0aGUgcmVsZXZhbnQgdGhlbWUuICBU aGUgZm9sbG93aW5nIGNvZGUgZG9lcw0KK2V4YWN0bHkgdGhhdCBieSBzaW1wbHkgZGlmZmVyZW50 aWF0aW5nIHRoZSB0d28gdGhlbWVzIG9uIHRoZSBjaG9pY2Ugb2YNCitib2xkIGNvbnN0cnVjdHMg aW4gY29kZSBzeW50YXggKGVuYWJsZWQgZm9yIG9uZSwgZGlzYWJsZWQgZm9yIHRoZQ0KK290aGVy KS4NCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKGRlZnVuIG15LWRlbW8tbW9kdXMtb3Bl cmFuZGkgKCkNCisgIChpbnRlcmFjdGl2ZSkNCisgIChzZXRxIG1vZHVzLXRoZW1lcy1ib2xkLWNv bnN0cnVjdHMgdCkgOyBFTkFCTEUgYm9sZA0KKyAgKG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRp KSkNCisNCisoZGVmdW4gbXktZGVtby1tb2R1cy12aXZlbmRpICgpDQorICAoaW50ZXJhY3RpdmUp DQorICAoc2V0cSBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIG5pbCkgOyBESVNBQkxFIGJv bGQNCisgIChtb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpKSkNCisNCisoZGVmdW4gbXktZGVtby1t b2R1cy10aGVtZXMtdG9nZ2xlICgpDQorICAoaWYgKGVxIChjYXIgY3VzdG9tLWVuYWJsZWQtdGhl bWVzKSAnbW9kdXMtb3BlcmFuZGkpDQorICAgICAgKG15LWRlbW8tbW9kdXMtdml2ZW5kaSkNCisg ICAgKG15LWRlbW8tbW9kdXMtb3BlcmFuZGkpKSkNCisjK2VuZF9zcmMNCisNCitUaGVuIGFzc2ln biB+bXktZGVtby1tb2R1cy10aGVtZXMtdG9nZ2xlfiB0byBhIGtleSBpbnN0ZWFkIG9mIHRoZQ0K K2VxdWl2YWxlbnQgdGhlIHRoZW1lcyBwcm92aWRlLg0KKw0KK0ZvciBhIG1vcmUgZWxhYm9yYXRl IGRlc2lnbiwgaXQgaXMgYmV0dGVyIHRvIGluc3BlY3QgdGhlIHNvdXJjZSBjb2RlIG9mDQorfm1v ZHVzLXRoZW1lcy10b2dnbGV+IGFuZCByZWxldmFudCBmdW5jdGlvbnMuDQorDQorKiogQ2FzZS1i eS1jYXNlIGZhY2Ugc3BlY3MgdXNpbmcgdGhlIHRoZW1lcycgcGFsZXR0ZSAoRElZKQ0KKzpwcm9w ZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MTQ4N2M2MzEtZjRmZS00OTBkLThkNTgtZDcyZmZhM2Jk NDc0DQorOmVuZDoNCisjK2ZpbmRleDogbW9kdXMtdGhlbWVzLWNvbG9yDQorIytmaW5kZXg6IG1v ZHVzLXRoZW1lcy1jb2xvci1hbHRzDQorIytjaW5kZXg6IEV4dHJhY3RpbmcgaW5kaXZpZHVhbCBj b2xvcnMNCisNCitUaGlzIHNlY3Rpb24gaXMgYWJvdXQgdHdlYWtpbmcgaW5kaXZpZHVhbCBmYWNl cy4gIElmIHlvdSBwbGFuIHRvIGRvDQordGhpbmdzIGF0IHNjYWxlLCBjb25zdWx0IHRoZSBuZXh0 IHNlY3Rpb246IFtbI2g6NTFiYTM1NDctYjhjOC00MGQ2LWJhNWEtNDU4NjQ3N2ZkNGFlXVtTZXQg bXVsdGlwbGUgZmFjZXNdXS4NCisNCitXZSBhbHJlYWR5IGNvdmVyZWQgaW4gcHJldmlvdXMgc2Vj dGlvbnMgaG93IHRvIHRvZ2dsZSBiZXR3ZWVuIHRoZSB0aGVtZXMNCithbmQgaG93IHRvIGNvbmZp Z3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRpbmcuICBXZSBhbHNvIGV4cGxhaW5lZCB0aGF0DQor c29tZSBvZiB0aGUgZnVuY3Rpb25zIG1hZGUgYXZhaWxhYmxlIHRvIHVzZXJzIHdpbGwgZmlyZSB1 cCBhIGhvb2sgdGhhdA0KK2NhbiBiZSB1c2VkIHRvIHBhc3MgdHdlYWtzIGluIHRoZSBwb3N0LXRo ZW1lLWxvYWQgcGhhc2UuDQorDQorTm93IGFzc3VtZSB5b3Ugd2lzaCB0byBjaGFuZ2UgYSBzaW5n bGUgZmFjZSwgc2F5LCB0aGUgfmN1cnNvcn4uICBBbmQgeW91DQord291bGQgbGlrZSB0byBnZXQg dGhlIHN0YW5kYXJkICJibHVlIiBjb2xvciB2YWx1ZSBvZiB0aGUgYWN0aXZlIE1vZHVzDQordGhl bWUsIHdoZXRoZXIgaXQgaXMgTW9kdXMgT3BlcmFuZGkgb3IgTW9kdXMgVml2ZW5kaS4gIFRvIGRv IHRoYXQsIHlvdQ0KK2NhbiB1c2UgdGhlIH5tb2R1cy10aGVtZXMtY29sb3J+IGZ1bmN0aW9uLiAg SXQgYWNjZXB0cyBhIHN5bWJvbCB0aGF0IGlzDQorYXNzb2NpYXRlZCB3aXRoIGEgY29sb3IgaW4g fm1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnN+IGFuZA0KK35tb2R1cy10aGVtZXMtdml2ZW5k aS1jb2xvcnN+LiAgTGlrZSB0aGlzOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisobW9k dXMtdGhlbWVzLWNvbG9yICdibHVlKQ0KKyMrZW5kX3NyYw0KKw0KK1RoZSBmdW5jdGlvbiBhbHdh eXMgZXh0cmFjdHMgdGhlIGNvbG9yIHZhbHVlIG9mIHRoZSBhY3RpdmUgTW9kdXMgdGhlbWUuDQor DQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhwcm9nbg0KKyAgKGxvYWQtdGhlbWUgJ21vZHVz LW9wZXJhbmRpIHQpDQorICAobW9kdXMtdGhlbWVzLWNvbG9yICdibHVlKSkgICAgICAgICAgIDsg IiMwMDMxYTkiIGZvciBgbW9kdXMtb3BlcmFuZGknDQorDQorKHByb2duDQorICAobG9hZC10aGVt ZSAnbW9kdXMtdml2ZW5kaSB0KQ0KKyAgKG1vZHVzLXRoZW1lcy1jb2xvciAnYmx1ZSkpICAgICAg ICAgICA7ICIjMmZhZmZmIiBmb3IgYG1vZHVzLXZpdmVuZGknDQorIytlbmRfc3JjDQorDQorRG8g e3t7a2JkKEMtaCB2KX19fSBvbiB0aGUgYWZvcmVtZW50aW9uZWQgdmFyaWFibGVzIHRvIGNoZWNr IGFsbCB0aGUgYXZhaWxhYmxlDQorc3ltYm9scyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdGhpcyBm dW5jdGlvbi4NCisNCitXaXRoIHRoYXQgZ3JhbnRlZCwgbGV0IHVzIGV4cGFuZCB0aGUgZXhhbXBs ZSB0byBhY3R1YWxseSBjaGFuZ2UgdGhlDQorfmN1cnNvcn4gZmFjZSdzIGJhY2tncm91bmQgcHJv cGVydHkuICBXZSBlbXBsb3kgdGhlIGJ1aWx0LWluIGZ1bmN0aW9uIG9mDQorfnNldC1mYWNlLWF0 dHJpYnV0ZX46DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhzZXQtZmFjZS1hdHRyaWJ1 dGUgJ2N1cnNvciBuaWwgOmJhY2tncm91bmQgKG1vZHVzLXRoZW1lcy1jb2xvciAnYmx1ZSkpDQor IytlbmRfc3JjDQorDQorSWYgeW91IGV2YWx1YXRlIHRoaXMgZm9ybSwgeW91ciBjdXJzb3Igd2ls bCBiZWNvbWUgYmx1ZS4gIEJ1dCBpZiB5b3UNCitjaGFuZ2UgdGhlbWVzLCBzdWNoIGFzIHdpdGgg fm1vZHVzLXRoZW1lcy10b2dnbGV+LCB5b3VyIGVkaXRzIHdpbGwgYmUNCitsb3N0LCBiZWNhdXNl IHRoZSBuZXdseSBsb2FkZWQgdGhlbWUgd2lsbCBvdmVycmlkZSB0aGUgPTpiYWNrZ3JvdW5kPQ0K K2F0dHJpYnV0ZSB5b3UgaGFkIGFzc2lnbmVkIHRvIHRoYXQgZmFjZS4NCiANCi1UaGUgdmFyaWFi bGVzIGFyZToNCitGb3Igc3VjaCBjaGFuZ2VzIHRvIHBlcnNpc3QsIHdlIG5lZWQgdG8gbWFrZSB0 aGVtIGFmdGVyIGxvYWRpbmcgdGhlDQordGhlbWUuICBTbyB3ZSByZWx5IG9uIH5tb2R1cy10aGVt ZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29rfiwgd2hpY2ggZ2V0cw0KK2NhbGxlZCBmcm9tIH5tb2R1 cy10aGVtZXMtbG9hZC1vcGVyYW5kaX4sIH5tb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpfiwgYXMN Cit3ZWxsIGFzIHRoZSBjb21tYW5kIH5tb2R1cy10aGVtZXMtdG9nZ2xlfi4gIEhlcmUgaXMgYSBz YW1wbGUgZnVuY3Rpb24gdGhhdA0KK3R3ZWFrcyB0d28gZmFjZXMgYW5kIHRoZW4gZ2V0cyBhZGRl ZCB0byB0aGUgaG9vazoNCiANCi0rID1tb2R1cy1vcGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xv cnMtYWxpc3Q9DQotKyA9bW9kdXMtdml2ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3Q9 DQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhkZWZ1biBteS1tb2R1cy10aGVtZXMtY3VzdG9t LWZhY2VzICgpDQorICAoc2V0LWZhY2UtYXR0cmlidXRlICdjdXJzb3IgbmlsIDpiYWNrZ3JvdW5k IChtb2R1cy10aGVtZXMtY29sb3IgJ2JsdWUpKQ0KKyAgKHNldC1mYWNlLWF0dHJpYnV0ZSAnZm9u dC1sb2NrLXR5cGUtZmFjZSBuaWwgOmZvcmVncm91bmQgKG1vZHVzLXRoZW1lcy1jb2xvciAnbWFn ZW50YS1hbHQpKSkNCisNCisoYWRkLWhvb2sgJ21vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1l LWhvb2sgIydteS1tb2R1cy10aGVtZXMtY3VzdG9tLWZhY2VzKQ0KKyMrZW5kX3NyYw0KIA0KLVVz ZXJzIGNhbiBzcGVjaWZ5IGFuIGFzc29jaWF0aW9uIGxpc3QgdGhhdCBtYXBzIHRoZSBuYW1lcyBv ZiBjb2xvcg0KLXZhcmlhYmxlcyB0byBoZXhhZGVjaW1hbCBSR0IgdmFsdWVzIChpbiB0aGUgZm9y bSBvZiA9I1JSR0dCQj0pLiAgVGhpcw0KLW1lYW5zIHRoYXQgaXQgaXMgcG9zc2libGUgdG8gb3Zl cnJpZGUgdGhlIGVudGlyZSBwYWxldHRlIG9yIHN1YnNldHMNCi10aGVyZW9mIChzZWUgdGhlIHNv dXJjZSBjb2RlIGZvciB0aGUgYWN0dWFsIG5hbWVzIGFuZCB2YWx1ZXMpLg0KK1tbI2g6ODZmNjkw NmItZjA5MC00NmNjLTk4MTYtMWZlOGFlYjM4Nzc2XVtBIHRoZW1lLWFnbm9zdGljIGhvb2sgZm9y IHRoZW1lIGxvYWRpbmddXS4NCiANCi1FeGFtcGxlOg0KK1VzaW5nIHRoaXMgcHJpbmNpcGxlLCBp dCBpcyBwb3NzaWJsZSB0byBvdmVycmlkZSB0aGUgc3R5bGVzIG9mIGZhY2VzDQord2l0aG91dCBo YXZpbmcgdG8gZmluZCBjb2xvciB2YWx1ZXMgZm9yIGVhY2ggY2FzZS4NCisNCitBbm90aGVyIGFw cGxpY2F0aW9uIGlzIHRvIGNvbnRyb2wgdGhlIHByZWNpc2Ugd2VpZ2h0IGZvciBib2xkDQorY29u c3RydWN0cy4gIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBpZiB5b3VyIHR5cGVmYWNlIGhh cyBzZXZlcmFsDQordmFyaWFudHMgc3VjaCBhcyAiaGVhdnkiLCAiZXh0cmFib2xkIiwgInNlbWli b2xkIi4gIEFsbCB5b3UgaGF2ZSB0byBkbw0KK2lzIGVkaXQgdGhlIH5ib2xkfiBmYWNlLiAgRm9y IGV4YW1wbGU6DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KLTs7IFJlZGVmaW5lIHRoZSB2 YWx1ZXMgb2YgdGhvc2UgdGhyZWUgdmFyaWFibGVzIGZvciB0aGUgZ2l2ZW4gdGhlbWUNCi0oc2V0 cSBtb2R1cy12aXZlbmRpLXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdA0KLSAgICAgICcoKCJt YWdlbnRhIiAuICIjZmZhYWJiIikNCi0gICAgICAgICgibWFnZW50YS1hbHQiIC4gIiNlZTg4ZmYi KQ0KLSAgICAgICAgKCJtYWdlbnRhLWFsdC1vdGhlciIgLiAiI2JiYWFmZiIpKSkNCisoc2V0LWZh Y2UtYXR0cmlidXRlICdib2xkIG5pbCA6d2VpZ2h0ICdzZW1pYm9sZCkNCiAjK2VuZF9zcmMNCiAN Ci1JZiB5b3Ugd2FudCB0byBiZSBjcmVhdGl2ZSwgeW91IGNhbiBkZWZpbmUgYSBtaW5vciBtb2Rl IHRoYXQgcmVmYXNoaW9ucw0KLXRoZSB0aGVtZXMgb24gZGVtYW5kLiAgVGhlIGZvbGxvd2luZyBp cyBhIG1pbm9yIG1vZGUgdGhhdCBnZXRzIGFjdGl2YXRlZA0KLW9uIGRlbWFuZC4gIFdlIGNvbWJp bmUgaXQgd2l0aCB0aGUgZnVuY3Rpb24gdG8gc3dpdGNoIGJldHdlZW4gTW9kdXMNCi1PcGVyYW5k aSBhbmQgTW9kdXMgVml2ZW5kaSAoc2VlIFtbI2g6MmEwODk1YTYtMzI4MS00ZTU1LThhYTEtOGE3 Mzc1NTU4MjFlXVtUb2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzIG9uIGRlbWFuZF1dIGZvcg0KLWEg YmFzaWMgY29tbWFuZCwgYW5kL29yIFtbKkNvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRp bmddW0NvbmZpZ3VyZSBvcHRpb25zIHByaW9yIHRvIGxvYWRpbmddXSBmb3IgYSBtb3JlDQotY29t cHJlaGVuc2l2ZSBzZXR1cCkuDQorUmVtZW1iZXIgdG8gdXNlIHRoZSBjdXN0b20gZnVuY3Rpb24g YW5kIGhvb2sgY29tYm8gd2UgZGVtb25zdHJhdGVkDQorYWJvdmUuICBCZWNhdXNlIHRoZSB0aGVt ZXMgZG8gbm90IGhhcmQtd2lyZSBhIHNwZWNpZmljIHdlaWdodCwgdGhpcw0KK3NpbXBsZSBmb3Jt IGlzIGVub3VnaCB0byBjaGFuZ2UgdGhlIHdlaWdodCBvZiBhbGwgYm9sZCBjb25zdHJ1Y3RzDQor dGhyb3VnaG91dCB0aGUgaW50ZXJmYWNlLg0KKw0KK0ZpbmFsbHksIHRoZXJlIGFyZSBjYXNlcyB3 aGVyZSB5b3Ugd2FudCB0byB0d2VhayBjb2xvcnMgdGhvdWdoIHdpc2ggdG8NCithcHBseSBkaWZm ZXJlbnQgb25lcyB0byBlYWNoIHRoZW1lLCBzYXksIGEgYmx1ZSBodWUgZm9yIE1vZHVzIE9wZXJh bmRpDQorYW5kIGEgc2hhZGUgb2YgcmVkIGZvciBNb2R1cyBWaXZlbmRpLiAgVG8gdGhpcyBlbmQs IHdlIHByb3ZpZGUNCit+bW9kdXMtdGhlbWVzLWNvbG9yLWFsdHN+IGFzIGEgY29udmVuaWVuY2Ug ZnVuY3Rpb24gdG8gc2F2ZSB5b3UgZnJvbSB0aGUNCit0cm91YmxlIG9mIHdyaXRpbmcgc2VwYXJh dGUgd3JhcHBlcnMgZm9yIGVhY2ggdGhlbWUuICBJdCBzdGlsbCByZXR1cm5zIGENCitzaW5nbGUg dmFsdWUgYnkgcXVlcnlpbmcgZWl0aGVyIG9mIH5tb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Jz fiBhbmQNCit+bW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3Jzfiwgb25seSBoZXJlIHlvdSBwYXNz IHRoZSB0d28ga2V5cyB5b3Ugd2FudCwNCitmaXJzdCBmb3Igfm1vZHVzLW9wZXJhbmRpfiB0aGVu IH5tb2R1cy12aXZlbmRpfi4NCisNCitUYWtlIHRoZSBwcmV2aW91cyBleGFtcGxlIHdpdGggdGhl IH5jdXJzb3J+IGZhY2U6DQogDQogIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KLShkZWZpbmUtbWlu b3ItbW9kZSBtb2R1cy10aGVtZXMtYWx0LW1vZGUNCi0gICJPdmVycmlkZSBNb2R1cyB0aGVtZXMn IHBhbGV0dGUgdmFyaWFibGVzIHdpdGggY3VzdG9tIHZhbHVlcy4NCis7OyBCbHVlIGZvciBgbW9k dXMtb3BlcmFuZGknIGFuZCByZWQgZm9yIGBtb2R1cy12aXZlbmRpJw0KKyhzZXQtZmFjZS1hdHRy aWJ1dGUgJ2N1cnNvciBuaWwgOmJhY2tncm91bmQgKG1vZHVzLXRoZW1lcy1jb2xvci1hbHRzICdi bHVlICdyZWQpKQ0KKyMrZW5kX3NyYw0KIA0KLVRoaXMgaXMgaW50ZW5kZWQgYXMgYSBwcm9vZi1v Zi1jb25jZXB0LiAgSXQgaXMsIG5vbmV0aGVsZXNzLCBhDQotcGVyZmVjdGx5IGFjY2Vzc2libGUg YWx0ZXJuYXRpdmUsIGNvbmZvcm1pbmcgd2l0aCB0aGUgZGVzaWduDQotcHJpbmNpcGxlcyBvZiB0 aGUgTW9kdXMgdGhlbWVzLiAgSXQgc3RpbGwgaXMgbm90IGFzIGdvb2QgYXMgdGhlDQotZGVmYXVs dCBjb2xvcnMuIg0KKyoqIEZhY2Ugc3BlY3MgYXQgc2NhbGUgdXNpbmcgdGhlIHRoZW1lcycgcGFs ZXR0ZSAoRElZKQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6NTFiYTM1NDctYjhjOC00 MGQ2LWJhNWEtNDU4NjQ3N2ZkNGFlDQorOmVuZDoNCisjK2ZpbmRleDogbW9kdXMtdGhlbWVzLXdp dGgtY29sb3JzDQorIytjaW5kZXg6IEV4dHJhY3RpbmcgY29sb3JzIGVuIG1hc3NlDQorDQorVGhl IGV4YW1wbGVzIGhlcmUgYXJlIGZvciBsYXJnZSBzY2FsZSBvcGVyYXRpb25zLiAgRm9yIHNpbXBs ZSwgb25lLW9mZg0KK3R3ZWFrcywgeW91IG1heSBwcmVmZXIgdGhlIGFwcHJvYWNoIGRvY3VtZW50 ZWQgaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24NCisoW1sjaDoxNDg3YzYzMS1mNGZlLTQ5MGQtOGQ1 OC1kNzJmZmEzYmQ0NzRdW0Nhc2UtYnktY2FzZSBmYWNlIHNwZWNzIHVzaW5nIHRoZSB0aGVtZXMn IHBhbGV0dGVdXSkuDQorDQorVGhlIH5tb2R1cy10aGVtZXMtd2l0aC1jb2xvcnN+IG1hY3JvIGxl dHMgeW91IHJldHJpZXZlIG11bHRpcGxlIGNvbG9yDQordmFsdWVzIGJ5IGVtcGxveWluZyB0aGUg YmFja3F1b3RlL2JhY2t0aWNrIGFuZCBjb21tYSBub3RhdGlvbi4gIFRoZQ0KK3ZhbHVlcyBhcmUg c3RvcmVkIGluIHRoZSBhbGlzdHMgfm1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvcnN+IGFuZA0K K35tb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnN+LCB3aGlsZSB0aGUgbWFjcm8gYWx3YXlzIHF1 ZXJpZXMgdGhhdCBvZiB0aGUNCithY3RpdmUgTW9kdXMgdGhlbWUuDQorDQorSGVyZSBpcyBhbiBh YnN0cmFjdCBleGFtcGxlIHRoYXQganVzdCByZXR1cm5zIGEgbGlzdCBvZiBjb2xvciB2YWx1ZXMN Cit3aGlsZSB+bW9kdXMtb3BlcmFuZGl+IGlzIGVuYWJsZWQ6DQorDQorIytiZWdpbl9zcmMgZW1h Y3MtbGlzcA0KKyhtb2R1cy10aGVtZXMtd2l0aC1jb2xvcnMNCisgIChsaXN0IGZnLW1haW4NCisg ICAgICAgIGJsdWUtZmFpbnQNCisgICAgICAgIG1hZ2VudGENCisgICAgICAgIG1hZ2VudGEtYWx0 LW90aGVyDQorICAgICAgICBjeWFuLWFsdC1vdGhlcg0KKyAgICAgICAgZmctc3BlY2lhbC1jb2xk DQorICAgICAgICBibHVlLWFsdA0KKyAgICAgICAgbWFnZW50YS1mYWludA0KKyAgICAgICAgY3lh bg0KKyAgICAgICAgZmctbWFpbg0KKyAgICAgICAgZ3JlZW4tZmFpbnQNCisgICAgICAgIHJlZC1h bHQtZmFpbnQNCisgICAgICAgIGJsdWUtYWx0LWZhaW50DQorICAgICAgICBmZy1zcGVjaWFsLXdh cm0NCisgICAgICAgIGN5YW4tYWx0DQorICAgICAgICBibHVlKSkNCis7OyA9Pg0KKzs7ICgiIzAw MDAwMCIgIiMwMDJmODgiICIjNzIxMDQ1IiAiIzUzMTdhYyINCis7OyAgIiMwMDVhNWYiICIjMDkz MDYwIiAiIzI1NDRiYiIgIiM3NTJmNTAiDQorOzsgICIjMDA1MzhiIiAiIzAwMDAwMCIgIiMxMDQ0 MTAiICIjNzAyZjAwIg0KKzs7ICAiIzAwM2Y3OCIgIiM1ZDMwMjYiICIjMzA1MTdmIiAiIzAwMzFh OSIpDQorIytlbmRfc3JjDQorDQorR2V0dGluZyBhIGxpc3Qgb2YgY29sb3JzIG1heSBoYXZlIGl0 cyBhcHBsaWNhdGlvbnMsIHRob3VnaCB3aGF0IHlvdSBhcmUNCittb3N0IGxpa2VseSBpbnRlcmVz dGVkIGluIGlzIGhvdyB0byB1c2UgdGhvc2UgdmFyaWFibGVzIHRvIGNvbmZpZ3VyZQ0KK3NldmVy YWwgZmFjZXMgYXQgb25jZS4gIFRvIGRvIHNvIHdlIGNhbiByZWx5IG9uIHRoZSBidWlsdC1pbg0K K35jdXN0b20tc2V0LWZhY2VzfiBmdW5jdGlvbiwgd2hpY2ggc2V0cyBmYWNlIHNwZWNpZmljYXRp b25zIGZvciB0aGUNCitzcGVjaWFsID11c2VyPSB0aGVtZS4gIFRoYXQgInRoZW1lIiBnZXRzIGFw cGxpZWQgb24gdG9wIG9mIHJlZ3VsYXIgdGhlbWVzDQorbGlrZSB+bW9kdXMtb3BlcmFuZGl+IGFu ZCB+bW9kdXMtdml2ZW5kaX4uDQorDQorVGhpcyBpcyBob3cgaXQgd29ya3M6DQorDQorIytiZWdp bl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10aGVtZXMtd2l0aC1jb2xvcnMNCisgIChjdXN0b20t c2V0LWZhY2VzDQorICAgYChjdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUpKSkNCisg ICBgKG1vZGUtbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCisg ICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkN CisgICBgKG1vZGUtbGluZS1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFu Y2VkLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGJs dWUtbnVhbmNlZC1mZykpKSkpDQorIytlbmRfc3JjDQorDQorVGhlIGFib3ZlIHNuaXBwZXQgd2ls bCBpbW1lZGlhdGVseSByZWZhc2hpb24gdGhlIGZhY2VzIGl0IG5hbWVzIG9uY2UgaXQNCitpcyBl dmFsdWF0ZWQuICBIb3dldmVyLCBpZiB5b3Ugc3dpdGNoIGJldHdlZW4gdGhlIE1vZHVzIHRoZW1l cywgc2F5LA0KK2Zyb20gfm1vZHVzLW9wZXJhbmRpfiB0byB+bW9kdXMtdml2ZW5kaX4sIHRoZSBj b2xvcnMgd2lsbCBub3QgZ2V0IHVwZGF0ZWQgdG8NCittYXRjaCB0aG9zZSBvZiB0aGUgbmV3IHRo ZW1lLiAgVG8gbWFrZSB0aGluZ3Mgd29yayBhY3Jvc3MgdGhlIHRoZW1lcywgd2UNCituZWVkIHRv IGVtcGxveSB0aGUgc2FtZSB0ZWNobmlxdWUgd2UgZGlzY3Vzc2VkIGluIHRoZSBwcmV2aW91cyBz ZWN0aW9uLA0KK25hbWVseSwgdG8gcGFzcyBvdXIgY2hhbmdlcyBhdCB0aGUgcG9zdC10aGVtZS1s b2FkIHBoYXNlIHZpYSBhIGhvb2suDQorDQorVGhlIHRoZW1lcyBwcm92aWRlIHRoZSB+bW9kdXMt dGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9va34sIHdoaWNoIGdldHMNCitjYWxsZWQgZnJvbSB+ bW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGl+LCB+bW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaX4s IGFzDQord2VsbCBhcyB0aGUgY29tbWFuZCB+bW9kdXMtdGhlbWVzLXRvZ2dsZX4uICBXaXRoIHRo aXMga25vd2xlZGdlLCB5b3UgY2FuDQord3JhcCB0aGUgbWFjcm8gaW4gYSBmdW5jdGlvbiBhbmQg dGhlbiBhc3NpZ24gdGhhdCBmdW5jdGlvbiB0byB0aGUgaG9vay4NCitUaHVzOg0KKw0KKyMrYmVn aW5fc3JjIGVtYWNzLWxpc3ANCisoZGVmdW4gbXktbW9kdXMtdGhlbWVzLWN1c3RvbS1mYWNlcyAo KQ0KKyAgKG1vZHVzLXRoZW1lcy13aXRoLWNvbG9ycw0KKyAgICAoY3VzdG9tLXNldC1mYWNlcw0K KyAgICAgYChjdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUpKSkNCisgICAgIGAobW9k ZS1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1iZw0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAg ICBgKG1vZGUtbGluZS1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2Vk LWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkLWZnKSkpKSkpDQorDQorKGFkZC1ob29rICdtb2R1cy10aGVtZXMtYWZ0ZXItbG9h ZC10aGVtZS1ob29rICMnbXktbW9kdXMtdGhlbWVzLWN1c3RvbS1mYWNlcykNCisjK2VuZF9zcmMN CisNCitbWyNoOjg2ZjY5MDZiLWYwOTAtNDZjYy05ODE2LTFmZThhZWIzODc3Nl1bQSB0aGVtZS1h Z25vc3RpYyBob29rIGZvciB0aGVtZSBsb2FkaW5nXV0uDQorDQorVG8gZGlzY292ZXIgdGhlIGZh Y2VzIGRlZmluZWQgYnkgYWxsIGxvYWRlZCBsaWJyYXJpZXMsIHlvdSBtYXkgZG8NCit7e3trYmQo TS14IGxpc3QtZmFjZXMtZGlzcGxheSl9fX0uICBCZSB3YXJuZWQgdGhhdCB3aGVuIHlvdSA9Omlu aGVyaXQ9IGEgZmFjZQ0KK3lvdSBhcmUgaW50cm9kdWNpbmcgYW4gaW1wbGljaXQgZGVwZW5kZW5j eSwgc28gdHJ5IHRvIGF2b2lkIGRvaW5nIHNvIGZvcg0KK2xpYnJhcmllcyBvdGhlciB0aGFuIHRo ZSBidWlsdC1pbiB7e3tmaWxlKGZhY2VzLmVsKX19fSAob3IgYXQgbGVhc3QgdW5kZXJzdGFuZA0K K3RoYXQgdGhpbmdzIG1heSBicmVhayBpZiB5b3UgaW5oZXJpdCBmcm9tIGEgeWV0LXRvLWJlLWxv YWRlZCBmYWNlKS4NCisNCitBbHNvIGJlYXIgaW4gbWluZCB0aGF0IHRoZXNlIGV4YW1wbGVzIGFy ZSBtZWFudCB0byB3b3JrIHdpdGggdGhlIE1vZHVzDQordGhlbWVzLiAgSWYgeW91IGFyZSBjeWNs aW5nIGJldHdlZW4gbXVsdGlwbGUgdGhlbWVzIHlvdSBtYXkgZW5jb3VudGVyDQordW5mb3Jlc2Vl biBpc3N1ZXMsIHN1Y2ggYXMgdGhlIGNvbG9ycyBvZiB0aGUgTW9kdXMgdGhlbWVzIGJlaW5nIGFw cGxpZWQNCit0byBhIG5vbi1Nb2R1cyBpdGVtLg0KKw0KK0ZpbmFsbHksIG5vdGUgdGhhdCB5b3Ug Y2FuIHN0aWxsIHVzZSBvdGhlciBmdW5jdGlvbnMgd2hlcmUgdGhvc2UgbWFrZQ0KK3NlbnNlLiAg Rm9yIGV4YW1wbGUsIHRoZSB+bW9kdXMtdGhlbWVzLWNvbG9yLWFsdHN+IHRoYXQgd2FzIGRpc2N1 c3NlZCBpbg0KK3RoZSBwcmV2aW91cyBzZWN0aW9uLiAgQWRhcHQgdGhlIGFib3ZlIGV4YW1wbGUg bGlrZSB0aGlzOg0KKw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisuLi4NCisobW9kdXMtdGhl bWVzLXdpdGgtY29sb3JzDQorICAoY3VzdG9tLXNldC1mYWNlcw0KKyAgIGAoY3Vyc29yICgoLGNs YXNzIDpiYWNrZ3JvdW5kICwobW9kdXMtdGhlbWVzLWNvbG9yLWFsdHMgJ2JsdWUgJ2dyZWVuKSkp KQ0KKyAgIC4uLikpDQorIytlbmRfc3JjDQorDQorKiogT3ZlcnJpZGUgY29sb3JzIChESVkpDQor OnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDozMDdkOTVkZC04ZGJkLTRlY2UtYTU0My0xMGFl ODZmMTU1YTYNCis6ZW5kOg0KKyMrdmluZGV4OiBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3It b3ZlcnJpZGVzDQorIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yLW92ZXJyaWRl cw0KKyMrY2luZGV4OiBDaGFuZ2UgYSB0aGVtZSdzIGNvbG9ycw0KKw0KK1RoZSB0aGVtZXMgcHJv dmlkZSBhIG1lY2hhbmlzbSBmb3Igb3ZlcnJpZGluZyB0aGVpciBjb2xvciB2YWx1ZXMuICBUaGlz DQoraXMgY29udHJvbGxlZCBieSB0aGUgdmFyaWFibGVzIH5tb2R1cy10aGVtZXMtb3BlcmFuZGkt Y29sb3Itb3ZlcnJpZGVzfiBhbmQNCit+bW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3Itb3ZlcnJp ZGVzfiwgd2hpY2ggYXJlIGFsaXN0cyB0aGF0IHNob3VsZA0KK21pcnJvciBhIHN1YnNldCBvZiB0 aGUgYXNzb2NpYXRpb25zIGluIH5tb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3JzfiBhbmQNCit+ bW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzfiByZXNwZWN0aXZlbHkuICBBcyB3aXRoIGFsbCBj dXN0b21pc2F0aW9ucywNCitvdmVycmlkaW5nIG11c3QgYmUgZG9uZSBiZWZvcmUgbG9hZGluZyB0 aGUgYWZmZWN0ZWQgdGhlbWUuDQorDQorTGV0IHVzIGFwcHJvYWNoIHRoZSBwcmVzZW50IHRvcGlj IG9uZSBzdGVwIGF0IGEgdGltZS4gIEhlcmUgaXMgYQ0KK3NpbXBsaWZpZWQgZXhjZXJwdCBvZiB0 aGUgZGVmYXVsdCBwYWxldHRlIGZvciBNb2R1cyBPcGVyYW5kaSB3aXRoIHNvbWUNCitiYXNpYyBi YWNrZ3JvdW5kIHZhbHVlcyB0aGF0IGFwcGx5IHRvIGJ1ZmZlcnMgYW5kIHRoZSBtb2RlIGxpbmUN CisocmVtZW1iZXIgdG8gaW5zcGVjdCB0aGUgYWN0dWFsIHZhbHVlIHRvIGZpbmQgb3V0IGFsbCB0 aGUgYXNzb2NpYXRpb25zDQordGhhdCBjYW4gYmUgb3ZlcnJpZGRlbik6DQorDQorIytiZWdpbl9z cmMgZW1hY3MtbGlzcA0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtY29sb3JzLW9wZXJhbmRpDQor ICAnKChiZy1tYWluIC4gIiNmZmZmZmYiKQ0KKyAgICAoYmctZGltIC4gIiNmOGY4ZjgiKQ0KKyAg ICAoYmctYWx0IC4gIiNmMGYwZjAiKQ0KKyAgICAoYmctYWN0aXZlIC4gIiNkN2Q3ZDciKQ0KKyAg ICAoYmctaW5hY3RpdmUgLiAiI2VmZWZlZiIpKSkNCisjK2VuZF9zcmMNCisNCitBcyBvbmUgY2Fu IHRlbGwsIHdlIGJpbmQgYSBrZXkgdG8gYSBoZXhhZGVjaW1hbCBSR0IgY29sb3IgdmFsdWUuICBO b3cNCitzYXkgd2Ugd2lzaCB0byBvdmVycmlkZSB0aG9zZSBzcGVjaWZpYyB2YWx1ZXMgYW5kIGhh dmUgb3VyIGNoYW5nZXMNCitwcm9wYWdhdGUgdG8gYWxsIGZhY2VzIHRoYXQgdXNlIHRob3NlIGtl eXMuICBXZSBjb3VsZCB3cml0ZSBzb21ldGhpbmcNCitsaWtlIHRoaXMsIHdoaWNoIGFkZHMgYSBz dWJ0bGUgb2NocmUgdGludDoNCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKHNldHEgbW9k dXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9yLW92ZXJyaWRlcw0KKyAgICAgICcoKGJnLW1haW4gLiAi I2ZlZmNmNCIpDQorICAgICAgICAoYmctZGltIC4gIiNmYWY2ZWYiKQ0KKyAgICAgICAgKGJnLWFs dCAuICIjZjdlZmU1IikNCisgICAgICAgIChiZy1hY3RpdmUgLiAiI2U4ZGZkMSIpDQorICAgICAg ICAoYmctaW5hY3RpdmUgLiAiI2Y2ZWNlNSIpKSkNCisjK2VuZF9zcmMNCisNCitPbmNlIHRoaXMg aXMgZXZhbHVhdGVkLCBhbnkgc3Vic2VxdWVudCBsb2FkaW5nIG9mIH5tb2R1cy1vcGVyYW5kaX4g d2lsbA0KK3VzZSB0aG9zZSB2YWx1ZXMgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdHMuICBObyBmdXJ0 aGVyIGludGVydmVudGlvbiBpcw0KK3JlcXVpcmVkLg0KKw0KK1RvIHJlc2V0IHRoZSBjaGFuZ2Vz LCB3ZSBhcHBseSB0aGlzIGFuZCByZWxvYWQgdGhlIHRoZW1lOg0KKw0KKyMrYmVnaW5fc3JjIGVt YWNzLWxpc3ANCisoc2V0cSBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzIG5p bCkNCisjK2VuZF9zcmMNCisNCitVc2VycyB3aG8gd2lzaCB0byBsZXZlcmFnZSBzdWNoIGEgbWVj aGFuaXNtIGNhbiBvcHQgdG8gaW1wbGVtZW50IGl0DQorb24tZGVtYW5kIGJ5IG1lYW5zIG9mIGEg Z2xvYmFsIG1pbm9yIG1vZGUuICBUaGUgZm9sbG93aW5nIHNuaXBwZXQgY292ZXJzDQorYm90aCB0 aGVtZXMgYW5kIGV4cGFuZHMgdG8gc29tZSBtb3JlIGFzc29zaWF0aW9ucyBpbiB0aGUgcGFsZXR0 ZToNCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKGRlZmluZS1taW5vci1tb2RlIG15LW1v ZHVzLXRoZW1lcy10aW50ZWQNCisgICJUd2VhayBzb21lIE1vZHVzIHRoZW1lcyBjb2xvcnMuIg0K ICAgOmluaXQtdmFsdWUgbmlsDQogICA6Z2xvYmFsIHQNCi0gIChpZiBtb2R1cy10aGVtZXMtYWx0 LW1vZGUNCi0gICAgICAoc2V0cSBtb2R1cy1vcGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMt YWxpc3QNCi0gICAgICAgICAgICAnKCgiYmctbWFpbiIgLiAiI2ZlZmNmNCIpDQotICAgICAgICAg ICAgICAoImJnLWRpbSIgLiAiI2ZhZjZlZiIpDQotICAgICAgICAgICAgICAoImJnLWFsdCIgLiAi I2Y3ZWZlNSIpDQotICAgICAgICAgICAgICAoImJnLWhsLWxpbmUiIC4gIiNmNGYwZTMiKQ0KLSAg ICAgICAgICAgICAgKCJiZy1hY3RpdmUiIC4gIiNlOGRmZDEiKQ0KLSAgICAgICAgICAgICAgKCJi Zy1pbmFjdGl2ZSIgLiAiI2Y2ZWNlNSIpDQotICAgICAgICAgICAgICAoImJnLXJlZ2lvbiIgLiAi I2M2YmFiMSIpDQotICAgICAgICAgICAgICAoImJnLWhlYWRlciIgLiAiI2VkZTNlMCIpDQotICAg ICAgICAgICAgICAoImJnLXRhYi1iYXIiIC4gIiNkY2QzZDMiKQ0KLSAgICAgICAgICAgICAgKCJi Zy10YWItYWN0aXZlIiAuICIjZmRmNmViIikNCi0gICAgICAgICAgICAgICgiYmctdGFiLWluYWN0 aXZlIiAuICIjYzhiYWI4IikNCi0gICAgICAgICAgICAgICgiZmctdW5mb2N1c2VkIiAuICIjNTU1 NTZmIikpDQotICAgICAgICAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMt YWxpc3QNCi0gICAgICAgICAgICAnKCgiYmctbWFpbiIgLiAiIzEwMGIxNyIpDQotICAgICAgICAg ICAgICAoImJnLWRpbSIgLiAiIzE2MTEyOSIpDQotICAgICAgICAgICAgICAoImJnLWFsdCIgLiAi IzE4MTczMiIpDQotICAgICAgICAgICAgICAoImJnLWhsLWxpbmUiIC4gIiMxOTE2MjgiKQ0KLSAg ICAgICAgICAgICAgKCJiZy1hY3RpdmUiIC4gIiMyODJlNDYiKQ0KLSAgICAgICAgICAgICAgKCJi Zy1pbmFjdGl2ZSIgLiAiIzFhMWUzOSIpDQotICAgICAgICAgICAgICAoImJnLXJlZ2lvbiIgLiAi IzM5M2E1MyIpDQotICAgICAgICAgICAgICAoImJnLWhlYWRlciIgLiAiIzIwMjAzNyIpDQotICAg ICAgICAgICAgICAoImJnLXRhYi1iYXIiIC4gIiMyNjJiNDEiKQ0KLSAgICAgICAgICAgICAgKCJi Zy10YWItYWN0aXZlIiAuICIjMTIwZjE4IikNCi0gICAgICAgICAgICAgICgiYmctdGFiLWluYWN0 aXZlIiAuICIjM2EzYTVhIikNCi0gICAgICAgICAgICAgICgiZmctdW5mb2N1c2VkIiAuICIjOWE5 YWFiIikpKQ0KLSAgICAoc2V0cSBtb2R1cy1vcGVyYW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMt YWxpc3QgbmlsDQotICAgICAgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3Jz LWFsaXN0IG5pbCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy10aGVtZXMtdG9nZ2xlICgmb3B0aW9uYWwg YXJnKQ0KLSAgIlRvZ2dsZSBiZXR3ZWVuIGBtb2R1cy1vcGVyYW5kaScgYW5kIGBtb2R1cy12aXZl bmRpJyB0aGVtZXMuDQotDQotV2l0aCBvcHRpb25hbCBcXFt1bml2ZXJzYWwtYXJndW1lbnRdIHBy ZWZpeCwgZW5hYmxlDQotYG1vZHVzLXRoZW1lcy1hbHQtbW9kZScgZm9yIHRoZSBsb2FkZWQgdGhl bWUuIg0KLSAgKGludGVyYWN0aXZlICJQIikNCi0gIChpZiBhcmcNCi0gICAgICAobW9kdXMtdGhl bWVzLWFsdC1tb2RlIDEpDQotICAgIChtb2R1cy10aGVtZXMtYWx0LW1vZGUgLTEpKQ0KLSAgKGlm IChlcSAoY2FyIGN1c3RvbS1lbmFibGVkLXRoZW1lcykgJ21vZHVzLW9wZXJhbmRpKQ0KLSAgICAg IChwcm9nbg0KLSAgICAgICAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKQ0KLSAgICAg ICAgKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVuZGkgdCkpDQotICAgIChkaXNhYmxlLXRoZW1lICdt b2R1cy12aXZlbmRpKQ0KLSAgICAobG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCkpKQ0KKyAg KGlmIG15LW1vZHVzLXRoZW1lcy10aW50ZWQNCisgICAgICAoc2V0cSBtb2R1cy10aGVtZXMtb3Bl cmFuZGktY29sb3Itb3ZlcnJpZGVzDQorICAgICAgICAgICAgJygoYmctbWFpbiAuICIjZmVmY2Y0 IikNCisgICAgICAgICAgICAgIChiZy1kaW0gLiAiI2ZhZjZlZiIpDQorICAgICAgICAgICAgICAo YmctYWx0IC4gIiNmN2VmZTUiKQ0KKyAgICAgICAgICAgICAgKGJnLWhsLWxpbmUgLiAiI2Y0ZjBl MyIpDQorICAgICAgICAgICAgICAoYmctYWN0aXZlIC4gIiNlOGRmZDEiKQ0KKyAgICAgICAgICAg ICAgKGJnLWluYWN0aXZlIC4gIiNmNmVjZTUiKQ0KKyAgICAgICAgICAgICAgKGJnLXJlZ2lvbiAu ICIjYzZiYWIxIikNCisgICAgICAgICAgICAgIChiZy1oZWFkZXIgLiAiI2VkZTNlMCIpDQorICAg ICAgICAgICAgICAoYmctdGFiLWJhciAuICIjZGNkM2QzIikNCisgICAgICAgICAgICAgIChiZy10 YWItYWN0aXZlIC4gIiNmZGY2ZWIiKQ0KKyAgICAgICAgICAgICAgKGJnLXRhYi1pbmFjdGl2ZSAu ICIjYzhiYWI4IikNCisgICAgICAgICAgICAgIChmZy11bmZvY3VzZWQgLiAiIzU1NTU2ZiIpKQ0K KyAgICAgICAgICAgIG1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yLW92ZXJyaWRlcw0KKyAgICAg ICAgICAgICcoKGJnLW1haW4gLiAiIzEwMGIxNyIpDQorICAgICAgICAgICAgICAoYmctZGltIC4g IiMxNjExMjkiKQ0KKyAgICAgICAgICAgICAgKGJnLWFsdCAuICIjMTgxNzMyIikNCisgICAgICAg ICAgICAgIChiZy1obC1saW5lIC4gIiMxOTE2MjgiKQ0KKyAgICAgICAgICAgICAgKGJnLWFjdGl2 ZSAuICIjMjgyZTQ2IikNCisgICAgICAgICAgICAgIChiZy1pbmFjdGl2ZSAuICIjMWExZTM5IikN CisgICAgICAgICAgICAgIChiZy1yZWdpb24gLiAiIzM5M2E1MyIpDQorICAgICAgICAgICAgICAo YmctaGVhZGVyIC4gIiMyMDIwMzciKQ0KKyAgICAgICAgICAgICAgKGJnLXRhYi1iYXIgLiAiIzI2 MmI0MSIpDQorICAgICAgICAgICAgICAoYmctdGFiLWFjdGl2ZSAuICIjMTIwZjE4IikNCisgICAg ICAgICAgICAgIChiZy10YWItaW5hY3RpdmUgLiAiIzNhM2E1YSIpDQorICAgICAgICAgICAgICAo ZmctdW5mb2N1c2VkIC4gIiM5YTlhYWIiKSkpDQorICAgIChzZXRxIG1vZHVzLXRoZW1lcy1vcGVy YW5kaS1jb2xvci1vdmVycmlkZXMgbmlsDQorICAgICAgICAgIG1vZHVzLXRoZW1lcy12aXZlbmRp LWNvbG9yLW92ZXJyaWRlcyBuaWwpKSkNCiAjK2VuZF9zcmMNCiANCi0qKiBGb250IGNvbmZpZ3Vy YXRpb25zIGZvciBPcmcgKGFuZCBvdGhlcnMpDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRMRTog Rm9udCBjb25maWdzIChESVkpDQotOkRFU0NSSVBUSU9OOiBPcHRpbWlzZSBmb3IgbWl4ZWQgdHlw ZWZhY2UgYnVmZmVycw0KLTpDVVNUT01fSUQ6IGg6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzEx OTU4MmNjOTI5DQotOkVORDoNCitXaXRoIHRoaXMgaW4gcGxhY2UsIG9uZSBjYW4gaW52b2tlIHt7 e2tiZChNLXggbXktbW9kdXMtdGhlbWVzLXRpbnRlZCl9fX0gYW5kDQordGhlbiBsb2FkIHRoZSBN b2R1cyB0aGVtZSBvZiB0aGVpciBjaG9pY2UuICBUaGUgbmV3IHBhbGV0dGUgc3Vic2V0IHdpbGwN Citjb21lIGludG8gZWZmZWN0OiBzdWJ0bGUgb2NocmUgdGludHMgZm9yIE1vZHVzIE9wZXJhbmRp IGFuZCBuaWdodCBza3kNCitzaGFkZXMgZm9yIE1vZHVzIFZpdmVuZGkuICBTd2l0Y2hpbmcgYmV0 d2VlbiB0aGUgdHdvIHRoZW1lcywgc3VjaCBhcw0KK3dpdGgge3t7a2JkKE0teCBtb2R1cy10aGVt ZXMtdG9nZ2xlKX19fSB3aWxsIGFsc28gdXNlIHRoZSBvdmVycmlkZXMuDQorDQorR2l2ZW4gdGhh dCB0aGlzIGlzIGEgdXNlci1sZXZlbCBjdXN0b21pc2F0aW9uLCBvbmUgaXMgZnJlZSB0byBpbXBs ZW1lbnQNCit3aGF0ZXZlciBjb2xvciB2YWx1ZXMgdGhleSBkZXNpcmUsIGV2ZW4gaWYgdGhlIHBv c3NpYmxlIGNvbWJpbmF0aW9ucw0KK2ZhbGwgYmVsb3cgdGhlIG1pbmltdW0gNzoxIGNvbnRyYXN0 IHJhdGlvIHRoYXQgZ292ZXJucyB0aGUgZGVzaWduIG9mIHRoZQ0KK3RoZW1lcyAodGhlIFdDQUcg QUFBIGxlZ2liaWxpdHkgc3RhbmRhcmQpLiAgUHJlZmVyZW5jZXMgYXNpZGUsIGl0IGlzDQorYWR2 aXNlZCB0byBpbnNwZWN0IHRoZSBzb3VyY2UgY29kZSBvZiB+bW9kdXMtdGhlbWVzLW9wZXJhbmRp LWNvbG9yc34gYW5kDQorfm1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yc34gdG8gcmVhZCB0aGUg aW5saW5lIGNvbW1lbnRhcnk6IGl0IGV4cGxhaW5zDQord2hhdCB0aGUgaW50ZW5kZWQgdXNlIG9m IGVhY2ggcGFsZXR0ZSBzdWJzZXQgaXMuDQogDQotVGhlIHRoZW1lcyBhcmUgZGVzaWduZWQgdG8g Y29wZSB3ZWxsIHdpdGggbWl4ZWQgZm9udCBzZXR0aW5ncyAoW1sjaDoxMTVlNmMyMy1lZTM1LTRh MTYtOGNlZi1lMmZjYmIwOGUyOGJdW09wdGlvbg0KLWZvciBubyBmb250IG1peGluZ11dKS4gIEN1 cnJlbnRseSB0aGlzIGFwcGxpZXMgdG8gPW9yZy1tb2RlPSBhbmQNCi09bWFya2Rvd24tbW9kZT0u DQorRnVydGhlcm1vcmUsIHVzZXJzIG1heSBiZW5lZml0IGZyb20gdGhlIH5tb2R1cy10aGVtZXMt Y29udHJhc3R+IGZ1bmN0aW9uDQordGhhdCB3ZSBwcm92aWRlOiBbWyNoOjAyZTI1OTMwLWU3MWEt NDkzZC04MjhhLTg5MDdmYzgwZjg3NF1bdGVzdCBjb2xvciBjb21iaW5hdGlvbnNdXS4gIEl0IG1l YXN1cmVzIHRoZSBjb250cmFzdA0KK3JhdGlvIGJldHdlZW4gdHdvIGNvbG9yIHZhbHVlcywgc28g aXQgY2FuIGhlbHAgaW4gb3ZlcnJpZGluZyB0aGUgcGFsZXR0ZQ0KKyhvciBhIHN1YnNldCB0aGVy ZW9mKSB3aXRob3V0IG1ha2luZyB0aGUgZW5kIHJlc3VsdCBpbmFjY2Vzc2libGUuDQorDQorKiog Rm9udCBjb25maWd1cmF0aW9ucyBmb3IgT3JnIGFuZCBvdGhlcnMgKERJWSkNCis6cHJvcGVydGll czoNCis6Y3VzdG9tX2lkOiBoOmRlZmNmNGZjLThmYTgtNGMyOS1iMTJlLTcxMTk1ODJjYzkyOQ0K KzplbmQ6DQorIytjaW5kZXg6IEZvbnQgY29uZmlndXJhdGlvbnMNCisNCitUaGUgdGhlbWVzIGFy ZSBkZXNpZ25lZCB0byBjb3BlIHdlbGwgd2l0aCBtaXhlZCBmb250IGNvbmZpZ3VyYXRpb25zLg0K Kw0KK1tbI2g6MTE1ZTZjMjMtZWUzNS00YTE2LThjZWYtZTJmY2JiMDhlMjhiXVtPcHRpb24gZm9y IG5vIGZvbnQgbWl4aW5nXV0uDQorDQorVGhpcyBtb3N0bHkgY29uY2VybnMgfm9yZy1tb2RlfiBh bmQgfm1hcmtkb3duLW1vZGV+LCB0aG91Z2ggZXhwZWN0IHRvIGZpbmQNCitpdCBlbHNld2hlcmUg bGlrZSBpbiB+SW5mby1tb2Rlfi4NCiANCiBJbiBwcmFjdGljZSBpdCBtZWFucyB0aGF0IHRoZSB1 c2VyIGNhbiBzYWZlbHkgb3B0IGZvciBhIG1vcmUNCiBwcm9zZS1mcmllbmRseSBwcm9wb3J0aW9u YXRlbHkgc3BhY2VkIHR5cGVmYWNlIGFzIHRoZWlyIGRlZmF1bHQsIHdoaWxlDQogbGV0dGluZyBz cGFjaW5nLXNlbnNpdGl2ZSBlbGVtZW50cyBsaWtlIHRhYmxlcyBhbmQgaW5saW5lIGNvZGUgYWx3 YXlzDQotdXNlIGEgbW9ub3NwYWNlZCBmb250LCBieSBpbmhlcml0aW5nIGZyb20gdGhlID1maXhl ZC1waXRjaD0gZmFjZS4NCit1c2UgYSBtb25vc3BhY2VkIGZvbnQsIGJ5IGluaGVyaXRpbmcgZnJv bSB0aGUgfmZpeGVkLXBpdGNofiBmYWNlLg0KIA0KLVVzZXJzIGNhbiB0cnkgdGhlIGJ1aWx0LWlu ID1NLXggdmFyaWFibGUtcGl0Y2gtbW9kZT0gdG8gc2VlIHRoZSBlZmZlY3QgaW4NCi1hY3Rpb24u DQorVXNlcnMgY2FuIHRyeSB0aGUgYnVpbHQtaW4ge3t7a2JkKE0teCB2YXJpYWJsZS1waXRjaC1t b2RlKX19fSB0byBzZWUgdGhlDQorZWZmZWN0IGluIGFjdGlvbi4NCiANCiBUbyBtYWtlIGV2ZXJ5 dGhpbmcgdXNlIHlvdXIgZGVzaXJlZCBmb250IGZhbWlsaWVzLCB5b3UgbmVlZCB0byBjb25maWd1 cmUNCi10aGUgPXZhcmlhYmxlLXBpdGNoPSAocHJvcG9ydGlvbmFsIHNwYWNpbmcpIGFuZCA9Zml4 ZWQtcGl0Y2g9IChtb25vc3BhY2VkKQ0KK3RoZSB+dmFyaWFibGUtcGl0Y2h+IChwcm9wb3J0aW9u YWwgc3BhY2luZykgYW5kIH5maXhlZC1waXRjaH4gKG1vbm9zcGFjZWQpDQogZmFjZXMgcmVzcGVj dGl2ZWx5LiAgSXQgbWF5IGFsc28gYmUgY29udmVuaWVudCB0byBzZXQgeW91ciBtYWluIHR5cGVm YWNlDQotYnkgY29uZmlndXJpbmcgdGhlID1kZWZhdWx0PSBmYWNlIHRoZSBzYW1lIHdheS4NCiti eSBjb25maWd1cmluZyB0aGUgfmRlZmF1bHR+IGZhY2UgdGhlIHNhbWUgd2F5Lg0KIA0KLVB1dCBz b21ldGhpbmcgbGlrZSB0aGlzIGluIHlvdXIgaW5pdGlhbGl6YXRpb24gZmlsZSAobWFrZSBzdXJl IHRvIHJlYWQNCi10aGUgZG9jdW1lbnRhdGlvbiBvZiA9c2V0LWZhY2UtYXR0cmlidXRlPSwgd2l0 aCA9TS14IGRlc2NyaWJlLWZ1bmN0aW9uPSk6DQorUHV0IHNvbWV0aGluZyBsaWtlIHRoaXMgaW4g eW91ciBpbml0aWFsaXphdGlvbiBmaWxlIChhbHNvIGNvbnNpZGVyDQorcmVhZGluZyB0aGUgZG9j IHN0cmluZyBvZiB+c2V0LWZhY2UtYXR0cmlidXRlfik6DQogDQogIytiZWdpbl9zcmMgZW1hY3Mt bGlzcA0KIDs7IE1haW4gdHlwZWZhY2UNCkBAIC0xMTk5LDUwICsxNjgyLDM1IEBAICoqIEZvbnQg Y29uZmlndXJhdGlvbnMgZm9yIE9yZyAoYW5kIG90aGVycykNCiANCiBOb3RlIHRoZSBkaWZmZXJl bmNlcyBpbiB0aGUgPTpoZWlnaHQ9IHByb3BlcnR5LiAgVGhlID1kZWZhdWx0PSBmYWNlIG11c3QN CiBzcGVjaWZ5IGFuIGFic29sdXRlIHZhbHVlLCB3aGljaCBpcyB0aGUgcG9pbnQgc2l6ZSDDlyAx MC4gIFNvIGlmIHlvdSB3YW50DQotdG8gdXNlIGEgZm9udCBhdCBwb2ludCBzaXplID0xMT0sIHlv dSBzZXQgdGhlIGhlaWdodCBhdCA9MTEwPS5bZm46OiA9OmhlaWdodD0NCit0byB1c2UgYSBmb250 IGF0IHBvaW50IHNpemUgPTExPSwgeW91IHNldCB0aGUgaGVpZ2h0IHRvID0xMTA9Lltmbjo6ID06 aGVpZ2h0PQ0KIHZhbHVlcyBkbyBub3QgbmVlZCB0byBiZSByb3VuZGVkIHRvIG11bHRpcGxlcyBv ZiB0ZW46IHRoZSBsaWtlcyBvZiA9MTE1PQ0KIGFyZSBwZXJmZWN0bHkgdmFsaWTigJRzb21lIHR5 cGVmYWNlcyB3aWxsIGNoYW5nZSB0byBhY2NvdW50IGZvciB0aG9zZQ0KIGZpbmVyIGluY3JlbWVu dHMuXSAgV2hlcmVhcyBldmVyeSBvdGhlciBmYWNlIG11c3QgaGF2ZSBhIHZhbHVlIHRoYXQgaXMN CiByZWxhdGl2ZSB0byB0aGUgZGVmYXVsdCwgcmVwcmVzZW50ZWQgYXMgYSBmbG9hdGluZyBwb2lu dCAoaWYgeW91IHVzZSBhbg0KLWludGVnZXIsIHNheSwgPTE1PSB0aGVuIHRoYXQgbWVhbnMgYW4g YWJzb2x1dGUgaGVpZ2h0KS4gIFRoaXMgaXMgb2YNCi1wYXJhbW91bnQgaW1wb3J0YW5jZTogaXQg ZW5zdXJlcyB0aGF0IGFsbCBmb250cyBjYW4gc2NhbGUgZ3JhY2VmdWxseQ0KLXdoZW4gdXNpbmcg c29tZXRoaW5nIGxpa2UgdGhlID10ZXh0LXNjYWxlLWFkanVzdD0gY29tbWFuZCB3aGljaCBvbmx5 DQotb3BlcmF0ZXMgb24gdGhlIGJhc2UgZm9udCBzaXplIChpLmUuIHRoZSA9ZGVmYXVsdD0gZmFj ZSdzIGFic29sdXRlDQotaGVpZ2h0KS4NCi0NCi1BbiBhbHRlcm5hdGl2ZSBzeW50YXggZm9yIHRo ZSA9ZGVmYXVsdD0gZmFjZSwgaXMgdG8gcGFzcyBhbGwgdHlwZWZhY2UNCi1wYXJhbWV0ZXJzIGRp cmVjdGx5IHRvIGEgPWZvbnQ9IHByb3BlcnR5Lltmbjo6IEhhcyB0aGUgYmVuZWZpdCBvZg0KLWFj Y2VwdGluZyA9Zm9udGNvbmZpZz0gcGFyYW1ldGVycyAoR05VL0xpbnV4KSwgc3VjaCBhcyA9IkRl amFWdSBTYW5zDQotTW9uby0xMTpoaW50c3R5bGU9aGludHNsaWdodDphdXRvaGludD1mYWxzZSI9 Lg0KLWh0dHBzOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9mb250Y29uZmlnL2ZvbnRj b25maWctdXNlci5odG1sXQ0KLU5vdGUgdGhhdCBoZXJlIHdlIHVzZSBhIHN0YW5kYXJkIHBvaW50 IHNpemU6DQotDQotIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KLShzZXQtZmFjZS1hdHRyaWJ1dGUg J2RlZmF1bHQgbmlsIDpmb250ICJEZWphVnUgU2FucyBNb25vLTExIikNCi0jK2VuZF9zcmMNCi0N Ci1BZ2FpbiwgcmVtZW1iZXIgdG8gb25seSBldmVyIHNwZWNpZnkgYW4gYWJzb2x1dGUgaGVpZ2h0 IGZvciB0aGUgPWRlZmF1bHQ9Lg0KLQ0KLSoqIE9yZyB1c2VyIGZhY2VzIChESVkpDQotOlBST1BF UlRJRVM6DQotOkRFU0NSSVBUSU9OOiBFeHRlbmQgc3R5bGVzIGZvciBvcmctbW9kZSBrZXl3b3Jk cyBhbmQgcHJpb3JpdGllcw0KLTpDVVNUT01fSUQ6IGg6ODlmMDY3OGQtYzVjMy00YTU3LWE1MjYt NjY4YjJiYjJkN2FkDQotOkVORDoNCi0NCi1Vc2VycyBvZiA9b3JnLW1vZGU9IGhhdmUgdGhlIG9w dGlvbiB0byBjb25maWd1cmUgdmFyaW91cyBrZXl3b3JkcyBhbmQNCitpbnRlZ2VyLCB0aGVuIHRo YXQgbWVhbnMgYW4gYWJzb2x1dGUgaGVpZ2h0KS4gIFRoaXMgaXMgb2YgcGFyYW1vdW50DQoraW1w b3J0YW5jZTogaXQgZW5zdXJlcyB0aGF0IGFsbCBmb250cyBjYW4gc2NhbGUgZ3JhY2VmdWxseSB3 aGVuIHVzaW5nDQorc29tZXRoaW5nIGxpa2UgdGhlIH50ZXh0LXNjYWxlLWFkanVzdH4gY29tbWFu ZCB3aGljaCBvbmx5IG9wZXJhdGVzIG9uIHRoZQ0KK2Jhc2UgZm9udCBzaXplIChpLmUuIHRoZSB+ ZGVmYXVsdH4gZmFjZSdzIGFic29sdXRlIGhlaWdodCkuDQorDQorKiogQ3VzdG9tIE9yZyB1c2Vy IGZhY2VzIChESVkpDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDo4OWYwNjc4ZC1jNWMz LTRhNTctYTUyNi02NjhiMmJiMmQ3YWQNCis6ZW5kOg0KKyMrY2luZGV4OiBPcmcgZXh0cmEgZmFj ZXMNCisNCitVc2VycyBvZiB+b3JnLW1vZGV+IGhhdmUgdGhlIG9wdGlvbiB0byBjb25maWd1cmUg dmFyaW91cyBrZXl3b3JkcyBhbmQNCiBwcmlvcml0eSBjb29raWVzIHRvIGJldHRlciBtYXRjaCB0 aGVpciB3b3JrZmxvdy4gIFVzZXIgb3B0aW9ucyBhcmUNCi09b3JnLXRvZG8ta2V5d29yZC1mYWNl cz0gYW5kID1vcmctcHJpb3JpdHktZmFjZXM9Lg0KK35vcmctdG9kby1rZXl3b3JkLWZhY2VzfiBh bmQgfm9yZy1wcmlvcml0eS1mYWNlc34uDQogDQotQXMgdGhvc2UgYXJlIG1lYW50IHRvIGJlIGN1 c3RvbSBmYWNlcywgaXQgd291bGQgYmUgZnV0aWxlIHRvIGhhdmUgdGhlDQotdGhlbWVzIHRyeSB0 byBndWVzcyB3aGF0IGVhY2ggdXNlciB3b3VsZCB3YW50IHRvIHVzZSwgd2hpY2gga2V5d29yZHMg dG8NCi10YXJnZXQsIGFuZCBzbyBvbi4gIEluc3RlYWQsIHdlIGNhbiBwcm92aWRlIGd1aWRlbGlu ZXMgb24gaG93IHRvDQotY3VzdG9taXplIHRoaW5ncyB0byBvbmUncyBsaWtpbmcgd2l0aCB0aGUg aW50ZW50IG9mIHJldGFpbmluZyB0aGUNCi1vdmVyYWxsIGFlc3RoZXRpY3Mgb2YgdGhlIHRoZW1l Lg0KK0FzIHRob3NlIGFyZSBtZWFudCB0byBiZSBjdXN0b20gZmFjZXMsIGl0IGlzIGZ1dGlsZSB0 byBoYXZlIHRoZSB0aGVtZXMNCitndWVzcyB3aGF0IGVhY2ggdXNlciB3YW50cyB0byB1c2UsIHdo aWNoIGtleXdvcmRzIHRvIHRhcmdldCwgYW5kIHNvIG9uLg0KK0luc3RlYWQsIHdlIGNhbiBwcm92 aWRlIGd1aWRlbGluZXMgb24gaG93IHRvIGN1c3RvbWl6ZSB0aGluZ3MgdG8gb25lJ3MNCitsaWtp bmcgd2l0aCB0aGUgaW50ZW50IG9mIHJldGFpbmluZyB0aGUgb3ZlcmFsbCBhZXN0aGV0aWMgb2Yg dGhlIHRoZW1lcy4NCiANCiBQbGVhc2UgYmVhciBpbiBtaW5kIHRoYXQgdGhlIGVuZCByZXN1bHQg b2YgdGhvc2UgaXMgbm90IGNvbnRyb2xsZWQgYnkNCi10aGUgYWN0aXZlIHRoZW1lIGJ1dCBieSBo b3cgT3JnIG1hcHMgZmFjZXMgdG8gaXRzIGNvbnN0cnVjdHMuICBFZGl0aW5nDQotdGhvc2Ugd2hp bGUgPW9yZy1tb2RlPSBpcyBhY3RpdmUgcmVxdWlyZXMgPU0teCBvcmctbW9kZS1yZXN0YXJ0PSBm b3IgY2hhbmdlcw0KLXRvIHRha2UgZWZmZWN0Lg0KK3RoZSBhY3RpdmUgTW9kdXMgdGhlbWUgYnV0 IGJ5IGhvdyBPcmcgbWFwcyBmYWNlcyB0byBpdHMgY29uc3RydWN0cy4NCitFZGl0aW5nIHRob3Nl IHdoaWxlIH5vcmctbW9kZX4gaXMgYWN0aXZlIHJlcXVpcmVzIHJlLWluaXRpYWxpemF0aW9uIG9m IHRoZQ0KK21vZGUgd2l0aCB7e3trYmQoTS14IG9yZy1tb2RlLXJlc3RhcnQpfX19IGZvciBjaGFu Z2VzIHRvIHRha2UgZWZmZWN0Lg0KIA0KIExldCB1cyBhc3N1bWUgeW91IHdpc2ggdG8gdmlzdWFs bHkgZGlmZmVyZW50aWF0ZSB5b3VyIGtleXdvcmRzLiAgWW91DQogaGF2ZSBzb21ldGhpbmcgbGlr ZSB0aGlzOg0KQEAgLTEyNTcsNyArMTcyNSw3IEBAICoqIE9yZyB1c2VyIGZhY2VzIChESVkpDQog DQogWW91IGNvdWxkIHRoZW4gdXNlIGEgdmFyaWFudCBvZiB0aGUgZm9sbG93aW5nIHRvIGluaGVy aXQgZnJvbSBhIGZhY2UNCiB0aGF0IHVzZXMgdGhlIHN0eWxlcyB5b3Ugd2FudCBhbmQgYWxzbyB0 byBwcmVzZXJ2ZSB0aGUgcHJvcGVydGllcw0KLWFwcGxpZWQgYnkgdGhlID1vcmctdG9kbz0gZmFj ZToNCithcHBsaWVkIGJ5IHRoZSB+b3JnLXRvZG9+IGZhY2U6DQogDQogIytiZWdpbl9zcmMgZW1h Y3MtbGlzcA0KIChzZXRxIG9yZy10b2RvLWtleXdvcmQtZmFjZXMNCkBAIC0xMjY3LDEwICsxNzM1 LDEwIEBAICoqIE9yZyB1c2VyIGZhY2VzIChESVkpDQogIytlbmRfc3JjDQogDQogVGhpcyB3aWxs IHJlZmFzaGlvbiB0aGUga2V5d29yZHMgeW91IHNwZWNpZnksIHdoaWxlIGxldHRpbmcgdGhlIG90 aGVyDQotaXRlbXMgaW4gPW9yZy10b2RvLWtleXdvcmRzPSB1c2UgdGhlaXIgb3JpZ2luYWwgc3R5 bGVzICh3aGljaCBhcmUgZGVmaW5lZA0KLWluIHRoZSA9b3JnLXRvZG89IGFuZCA9b3JnLWRvbmU9 IGZhY2VzKS4NCitpdGVtcyBpbiB+b3JnLXRvZG8ta2V5d29yZHN+IHVzZSB0aGVpciBvcmlnaW5h bCBzdHlsZXMgKHdoaWNoIGFyZSBkZWZpbmVkDQoraW4gdGhlIH5vcmctdG9kb34gYW5kIH5vcmct ZG9uZX4gZmFjZXMpLg0KIA0KLUlmIHlvdSB3YW50IGJhY2sgdGhlIGRlZmF1bHRzLCB0cnkgc3Bl Y2lmeWluZyBqdXN0IHRoZSA9b3JnLXRvZG89IGZhY2U6DQorSWYgeW91IHdhbnQgYmFjayB0aGUg ZGVmYXVsdHMsIHRyeSBzcGVjaWZ5aW5nIGp1c3QgdGhlIH5vcmctdG9kb34gZmFjZToNCiANCiAj K2JlZ2luX3NyYyBlbWFjcy1saXNwDQogKHNldHEgb3JnLXRvZG8ta2V5d29yZC1mYWNlcw0KQEAg LTEyODIsNyArMTc1MCw3IEBAICoqIE9yZyB1c2VyIGZhY2VzIChESVkpDQogV2hlbiB5b3UgaW5o ZXJpdCBmcm9tIG11bHRpcGxlIGZhY2VzLCB5b3UgbmVlZCB0byBxdW90ZSB0aGUgbGlzdCBhcw0K IHNob3duIGZ1cnRoZXIgYWJvdmUuICBUaGUgb3JkZXIgaXMgaW1wb3J0YW50OiB0aGUgbGFzdCBp dGVtIGlzIGFwcGxpZWQNCiBvdmVyIHRoZSBwcmV2aW91cyBvbmVzLiAgSWYgeW91IGRvIG5vdCB3 YW50IHRvIGJsZW5kIG11bHRpcGxlIGZhY2VzLCB5b3UNCi1kbyBub3QgbmVlZCBhIHF1b3RlZCBs aXN0LiAgQSBwYXR0ZXJuIG9mID1rZXl3b3JkIC4gZmFjZT0gd291bGQgc3VmZmljZS4NCitkbyBu b3QgbmVlZCBhIHF1b3RlZCBsaXN0LiAgQSBwYXR0ZXJuIG9mID1rZXl3b3JkIC4gZmFjZT0gd2ls bCBzdWZmaWNlLg0KIA0KIEJvdGggYXBwcm9hY2hlcyBjYW4gYmUgdXNlZCBzaW11bHRhbmVvdXNs eSwgYXMgaWxsdXN0cmF0ZWQgaW4gdGhpcw0KIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHByaW9yaXR5 IGNvb2tpZXM6DQpAQCAtMTI5NSwyOSArMTc2MywxODIgQEAgKiogT3JnIHVzZXIgZmFjZXMgKERJ WSkNCiAjK2VuZF9zcmMNCiANCiBUbyBmaW5kIGFsbCB0aGUgZmFjZXMgdGhhdCBhcmUgbG9hZGVk IGluIHlvdXIgY3VycmVudCBFbWFjcyBzZXNzaW9uLCB1c2UNCi09TS14IGxpc3QtZmFjZXMtZGlz cGxheT0uICBBbHNvIHRyeSA9TS14IGRlc2NyaWJlLXZhcmlhYmxlPSBhbmQgdGhlbiBzcGVjaWZ5 DQotdGhlIG5hbWUgb2YgZWFjaCBvZiB0aG9zZSBPcmcgdmFyaWFibGVzIGRlbW9uc3RyYXRlZCBh Ym92ZS4gIFRoZWlyDQotZG9jdW1lbnRhdGlvbiBzdHJpbmdzIHdpbGwgb2ZmZXIgeW91IGZ1cnRo ZXIgZ3VpZGFuY2UuDQore3t7a2JkKE0teCBsaXN0LWZhY2VzLWRpc3BsYXkpfX19LiAgVHJ5IHt7 e2tiZChNLXggZGVzY3JpYmUtdmFyaWFibGUpfX19IGFzIHdlbGwgYW5kDQordGhlbiBzcGVjaWZ5 IHRoZSBuYW1lIG9mIGVhY2ggb2YgdGhvc2UgT3JnIHZhcmlhYmxlcyBkZW1vbnN0cmF0ZWQgYWJv dmUuDQorVGhlaXIgZG9jdW1lbnRhdGlvbiBzdHJpbmdzIHdpbGwgb2ZmZXIgeW91IGZ1cnRoZXIg Z3VpZGFuY2UuDQorDQorUmVjYWxsIHRoYXQgdGhlIHRoZW1lcyBsZXQgeW91IHJldHJpZXZlIGEg Y29sb3IgZnJvbSB0aGVpciBwYWxldHRlLiAgRG8NCitpdCBpZiB5b3UgcGxhbiB0byBjb250cm9s IGZhY2UgYXR0cmlidXRlcy4NCisNCitbWyNoOjE0ODdjNjMxLWY0ZmUtNDkwZC04ZDU4LWQ3MmZm YTNiZDQ3NF1bQ3VzdG9tIGZhY2Ugc3BlY3MgdXNpbmcgdGhlIHRoZW1lcycgcGFsZXR0ZV1dLg0K Kw0KK1tbI2g6MDJlMjU5MzAtZTcxYS00OTNkLTgyOGEtODkwN2ZjODBmODc0XVtDaGVjayBjb2xv ciBjb21iaW5hdGlvbnNdXS4NCisNCisqKiBNZWFzdXJlIGNvbG9yIGNvbnRyYXN0IChESVkpDQor OnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDowMmUyNTkzMC1lNzFhLTQ5M2QtODI4YS04OTA3 ZmM4MGY4NzQNCis6ZW5kOg0KKyMrZmluZGV4OiBtb2R1cy10aGVtZXMtY29udHJhc3QNCisjK2Zp bmRleDogbW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYQ0KKyMrY2luZGV4OiBDb2xvciBjb250cmFz dA0KKw0KK1RoZSB0aGVtZXMgcHJvdmlkZSB0aGUgZnVuY3Rpb25zIH5tb2R1cy10aGVtZXMtd2Nh Zy1mb3JtdWxhfiBhbmQNCit+bW9kdXMtdGhlbWVzLWNvbnRyYXN0fi4gIFRoZSBmb3JtZXIgaXMg YSBkaXJlY3QgaW1wbGVtZW50YXRpb24gb2YgdGhlDQorV0NBRyBmb3JtdWxhOiA8aHR0cHM6Ly93 d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTguaHRtbD4uICBJdA0KK2NhbGN1bGF0ZXMgdGhl IHJlbGF0aXZlIGx1bWluYW5jZSBvZiBhIGNvbG9yIHZhbHVlIHRoYXQgaXMgZXhwcmVzc2VkIGlu DQoraGV4YWRlY2ltYWwgUkdCIG5vdGF0aW9uLiAgV2hpbGUgdGhlIGxhdHRlciBmdW5jdGlvbiBp cyBqdXN0IGENCitjb252ZW5pZW50IHdyYXBwZXIgZm9yIGNvbXBhcmluZyB0aGUgcmVsYXRpdmUg bHVtaW5hbmNlIGJldHdlZW4gdHdvDQorY29sb3JzLg0KKw0KK0luIHByYWN0aWNlLCBvbmUgbmVl ZHMgdG8gd29yayBvbmx5IHdpdGggfm1vZHVzLXRoZW1lcy1jb250cmFzdH4uICBJdA0KK2FjY2Vw dHMgdHdvIGNvbG9yIHZhbHVlcyBhbmQgcmV0dXJucyB0aGVpciBjb250cmFzdCByYXRpby4gIFZh bHVlcyByYW5nZQ0KK2Zyb20gMSB0byAyMSAobG93ZXN0IHRvIGhpZ2hlc3QpLiAgVGhlIHRoZW1l cyBhcmUgZGVzaWduZWQgdG8gYWx3YXlzIGJlDQorZXF1YWwgb3IgaGlnaGVyIHRoYW4gNyBmb3Ig ZWFjaCBjb21iaW5hdGlvbiBvZiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kDQordGhhdCB0aGV5 IHVzZSAodGhpcyBpcyB0aGUgV0NBRyBBQUEgc3RhbmRhcmQtLS10aGUgbW9zdCBkZW1hbmRpbmcg b2YgaXRzDQora2luZCkuDQorDQorQSBjb3VwbGUgb2YgZXhhbXBsZXMgKHJvdW5kZWQgbnVtYmVy cyk6DQogDQotRnVydGhlcm1vcmUsIGNvbnNpZGVyIHJlYWRpbmcgdGhlICJOb3RlcyBmb3IgYXNw aXJpbmcgRW1hY3MgdGhlbWUNCi1kZXZlbG9wZXJzIiwgcHVibGlzaGVkIG9uIDIwMjAtMDgtMjgg YnkgbWUgKFByb3Rlc2lsYW9zIFN0YXZyb3UpOg0KLWh0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2Nv ZGVsb2cvMjAyMC0wOC0yOC1ub3Rlcy1lbWFjcy10aGVtZS1kZXZzLy4NCisjK2JlZ2luX3NyYyBl bWFjcy1saXNwDQorOzsgUHVyZSB3aGl0ZSB3aXRoIHB1cmUgZ3JlZW4NCisobW9kdXMtdGhlbWVz LWNvbnRyYXN0ICIjZmZmZmZmIiAiIzAwZmYwMCIpDQorOzsgPT4gMS4zNw0KKzs7IFRoYXQgaXMg YW4gb3V0cmlnaHQgaW5hY2Nlc3NpYmxlIGNvbWJvDQorDQorOzsgUHVyZSBibGFjayB3aXRoIHB1 cmUgZ3JlZW4NCisobW9kdXMtdGhlbWVzLWNvbnRyYXN0ICIjMDAwMDAwIiAiIzAwZmYwMCIpDQor OzsgPT4gMTUuMw0KKzs7IFRoYXQgaXMgaXMgYSBoaWdobHkgYWNjZXNzaWJsZSBjb21ibw0KKyMr ZW5kX3NyYw0KKw0KK0l0IGRvZXMgbm90IG1hdHRlciB3aGljaCBjb2xvciB2YWx1ZSBjb21lcyBm aXJzdC4gIFRoZSByYXRpbyBpcyBhbHdheXMNCit0aGUgc2FtZS4NCisNCitJZiBvbmUgZG9lcyBu b3Qgd2lzaCB0byByZWFkIGFsbCB0aGUgZGVjaW1hbCBwb2ludHMsIGl0IGlzIHBvc3NpYmxlIHRv DQordHJ5IHNvbWV0aGluZyBsaWtlIHRoaXM6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0K Kyhmb3JtYXQgIiUwLjJmIiAobW9kdXMtdGhlbWVzLWNvbnRyYXN0ICIjMDAwMDAwIiAiIzAwZmYw MCIpKQ0KKyMrZW5kX3NyYw0KKw0KK1doaWxlIGl0IGlzIGZpbmUgdG8gcGVyZm9ybSBzdWNoIGNh bGN1bGF0aW9ucyBvbiBhIGNhc2UtYnktY2FzZSBiYXNpcywNCitpdCBpcyBwcmVmZXJhYmxlIHRv IGltcGxlbWVudCBmb3JtdWxhcyBhbmQgdGFibGVzIGZvciBtb3JlIGRlbWFuZGluZw0KK3Rhc2tz LiAgU3VjaCBpbnN0cnVtZW50cyBhcmUgcHJvdmlkZWQgYnkgfm9yZy1tb2RlfiBvciB+b3JndGJs LW1vZGV+LCBib3RoDQorb2Ygd2hpY2ggYXJlIGJ1aWx0IGludG8gRW1hY3MuICBCZWxvdyBpcyBz dWNoIGEgdGFibGUgdGhhdCBkZXJpdmVzIHRoZQ0KK2NvbnRyYXN0IHJhdGlvIG9mIGFsbCBjb2xv cnMgaW4gdGhlIGZpcnN0IGNvbHVtbiAocHVyZSByZWQsIGdyZWVuLCBibHVlKQ0KK3JlbGF0aXZl IHRvIHRoZSBjb2xvciBzcGVjaWZpZWQgaW4gdGhlIGZpcnN0IHJvdyBvZiB0aGUgc2Vjb25kIGNv bHVtbg0KKyhwdXJlIHdoaXRlKSBhbmQgcm91bmRzIHRoZSByZXN1bHRzOg0KKw0KKyMrYmVnaW5f ZXhhbXBsZQ0KK3wgICAgICAgICB8ICNmZmZmZmYgfA0KK3wtLS0tLS0tLS0rLS0tLS0tLS0tfA0K K3wgI2ZmMDAwMCB8ICAgIDQuMDAgfA0KK3wgIzAwZmYwMCB8ICAgIDEuMzcgfA0KK3wgIzAwMDBm ZiB8ICAgIDguNTkgfA0KKyMrdGJsZm06ICQyPScobW9kdXMtdGhlbWVzLWNvbnRyYXN0ICQxIEAx JDIpOyUwLjJmDQorIytlbmRfZXhhbXBsZQ0KKw0KK1RvIG1lYXN1cmUgY29sb3IgY29udHJhc3Qg b25lIG5lZWRzIHRvIHN0YXJ0IGZyb20gYSBrbm93biB2YWx1ZS4gIFRoaXMNCit0eXBpY2FsbHkg aXMgdGhlIGJhY2tncm91bmQuICBUaGUgTW9kdXMgdGhlbWVzIGRlZmluZSBhbiBleHBhbmRlZA0K K3BhbGV0dGUgaW4gbGFyZ2UgcGFydCBiZWNhdXNlIGNlcnRhaW4gY29sb3JzIGFyZSBvbmx5IG1l YW50IHRvIGJlIHVzZWQNCitpbiBjb21iaW5hdGlvbiB3aXRoIHNvbWUgb3RoZXJzLiAgQ29uc3Vs dCB0aGUgc291cmNlIGNvZGUgZm9yIHRoZQ0KK21pbnV0aWEgYW5kIHJlbGV2YW50IGNvbW1lbnRh cnkuDQorDQorU3VjaCBrbm93bGVkZ2UgbWF5IHByb3ZlIHZhbHVhYmxlIHdoaWxlIGF0dGVtcHRp bmcgdG8gb3ZlcnJpZGUgc29tZSBvZg0KK3RoZSB0aGVtZXMnIGNvbG9yczogW1sjaDozMDdkOTVk ZC04ZGJkLTRlY2UtYTU0My0xMGFlODZmMTU1YTZdW092ZXJyaWRlIGNvbG9yc11dLg0KKw0KKyoq IExvYWQgdGhlbWUgZGVwZW5kaW5nIG9uIHRpbWUgb2YgZGF5DQorOnByb3BlcnRpZXM6DQorOmN1 c3RvbV9pZDogaDoxZDFlZjRiNC04NjAwLTRhMDktOTkzYy02ZGUzYWYwZGRkMjYNCis6ZW5kOg0K Kw0KK1doaWxlIHdlIGRvIHByb3ZpZGUgfm1vZHVzLXRoZW1lcy10b2dnbGV+IHRvIG1hbnVhbGx5 IHN3aXRjaCBiZXR3ZWVuIHRoZQ0KK3RoZW1lcywgdXNlcnMgbWF5IGFsc28gc2V0IHVwIHRoZWly IHN5c3RlbSB0byBwZXJmb3JtIHN1Y2ggYSB0YXNrDQorYXV0b21hdGljYWxseSBhdCBzdW5yaXNl IGFuZCBzdW5zZXQuDQorDQorVGhpcyBjYW4gYmUgYWNjb21wbGlzaGVkIGJ5IHNwZWNpZnlpbmcg dGhlIGNvb3JkaW5hdGVzIG9mIG9uZSdzIGxvY2F0aW9uDQordXNpbmcgdGhlIGJ1aWx0LWluIHt7 e2ZpbGUoc29sYXIuZWwpfX19IGFuZCB0aGVuIGNvbmZpZ3VyaW5nIHRoZSA9Y2lyY2FkaWFuPQ0K K3BhY2thZ2U6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyh1c2UtcGFja2FnZSBzb2xh ciAgICAgICAgICAgICAgICAgICAgICA7IGJ1aWx0LWluDQorICA6Y29uZmlnDQorICAoc2V0cSBj YWxlbmRhci1sYXRpdHVkZSAzNS4xNw0KKyAgICAgICAgY2FsZW5kYXItbG9uZ2l0dWRlIDMzLjM2 KSkNCisNCisodXNlLXBhY2thZ2UgY2lyY2FkaWFuICAgICAgICAgICAgICAgICAgOyB5b3UgbmVl ZCB0byBpbnN0YWxsIHRoaXMNCisgIDplbnN1cmUNCisgIDphZnRlciBzb2xhcg0KKyAgKHNldHEg Y2lyY2FkaWFuLXRoZW1lcyAnKCg6c3VucmlzZSAuIG1vZHVzLW9wZXJhbmRpKQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICg6c3Vuc2V0ICAuIG1vZHVzLXZpdmVuZGkpKSkNCisgIChjaXJj YWRpYW4tc2V0dXApKQ0KKyMrZW5kX3NyYw0KKw0KKyoqIEEgdGhlbWUtYWdub3N0aWMgaG9vayBm b3IgdGhlbWUgbG9hZGluZyAoRElZKQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6ODZm NjkwNmItZjA5MC00NmNjLTk4MTYtMWZlOGFlYjM4Nzc2DQorOmVuZDoNCisNCitUaGUgdGhlbWVz IGFyZSBkZXNpZ25lZCB3aXRoIHRoZSBpbnRlbnQgdG8gYmUgdXNlZnVsIHRvIEVtYWNzIHVzZXJz IG9mDQordmFyeWluZyBza2lsbCBsZXZlbHMsIGZyb20gYmVnaW5uZXJzIHRvIGV4cGVydHMuICBU aGlzIG1lYW5zIHRoYXQgd2UgdHJ5DQordG8gbWFrZSB0aGluZ3MgZWFzaWVyIGJ5IG5vdCBleHBl Y3RpbmcgYW55b25lIHJlYWRpbmcgdGhpcyBkb2N1bWVudCB0bw0KK2JlIHByb2ZpY2llbnQgaW4g RW1hY3MgTGlzcCBvciBwcm9ncmFtbWluZyBpbiBnZW5lcmFsLg0KKw0KK1N1Y2ggYSBjYXNlIGlz IHdpdGggdGhlIHVzZSBvZiB0aGUgfm1vZHVzLXRoZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2t+ LA0KK3doaWNoIHJ1bnMgYWZ0ZXIgfm1vZHVzLXRoZW1lcy10b2dnbGV+LCB+bW9kdXMtdGhlbWVz LWxvYWQtb3BlcmFuZGl+LCBvcg0KK35tb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpfiBpcyBldmFs dWF0ZWQuICBXZSByZWNvbW1lbmQgdXNpbmcgdGhhdCBob29rDQorZm9yIGFkdmFuY2VkIGN1c3Rv bWl6YXRpb25zLCBiZWNhdXNlICgxKSB3ZSBrbm93IGZvciBzdXJlIHRoYXQgaXQgaXMNCithdmFp bGFibGUgb25jZSB0aGUgdGhlbWVzIGFyZSBsb2FkZWQsIGFuZCAoMikgYW55b25lIGNvbnN1bHRp bmcgdGhpcw0KK21hbnVhbCwgZXNwZWNpYWxseSB0aGUgc2VjdGlvbnMgb24gZW5hYmxpbmcgYW5k IGxvYWRpbmcgdGhlIHRoZW1lcywgd2lsbA0KK2JlIGluIGEgZ29vZCBwb3NpdGlvbiB0byBiZW5l Zml0IGZyb20gdGhhdCBob29rLg0KKw0KK0FkdmFuY2VkIHVzZXJzIHdobyBoYXZlIGEgbmVlZCB0 byBzd2l0Y2ggYmV0d2VlbiB0aGUgTW9kdXMgdGhlbWVzIGFuZA0KK290aGVyIGl0ZW1zIHdpbGwg ZmluZCB0aGF0IHN1Y2ggYSBob29rIGRvZXMgbm90IG1lZXQgdGhlaXIgcmVxdWlyZW1lbnRzOg0K K2l0IG9ubHkgd29ya3Mgd2l0aCB0aGUgTW9kdXMgdGhlbWVzIGFuZCBvbmx5IHdpdGggdGhlIGFm b3JlbWVudGlvbmVkDQorZnVuY3Rpb25zLg0KKw0KK0EgdGhlbWUtYWdub3N0aWMgc2V0dXAgY2Fu IGJlIGNvbmZpZ3VyZWQgdGh1czoNCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKGRlZnZh ciBhZnRlci1lbmFibGUtdGhlbWUtaG9vayBuaWwNCisgICAiTm9ybWFsIGhvb2sgcnVuIGFmdGVy IGVuYWJsaW5nIGEgdGhlbWUuIikNCisNCisoZGVmdW4gcnVuLWFmdGVyLWVuYWJsZS10aGVtZS1o b29rICgmcmVzdCBfYXJncykNCisgICAiUnVuIGBhZnRlci1lbmFibGUtdGhlbWUtaG9vaycuIg0K KyAgIChydW4taG9va3MgJ2FmdGVyLWVuYWJsZS10aGVtZS1ob29rKSkNCisNCisoYWR2aWNlLWFk ZCAnZW5hYmxlLXRoZW1lIDphZnRlciAjJ3J1bi1hZnRlci1lbmFibGUtdGhlbWUtaG9vaykNCisj K2VuZF9zcmMNCisNCitUaGlzIGNyZWF0ZXMgdGhlIH5hZnRlci1lbmFibGUtdGhlbWUtaG9va34g YW5kIG1ha2VzIGl0IHJ1biBhZnRlciBlYWNoDQorY2FsbCB0byB+ZW5hYmxlLXRoZW1lfiwgd2hp Y2ggbWVhbnMgdGhhdCBpdCB3aWxsIHdvcmsgZm9yIGFsbCB0aGVtZXMgYW5kDQorYWxzbyBoYXMg dGhlIGJlbmVmaXQgdGhhdCBpdCBkb2VzIG5vdCBkZXBlbmQgb24gZnVuY3Rpb25zIHN1Y2ggYXMN Cit+bW9kdXMtdGhlbWVzLXRvZ2dsZX4gYW5kIHRoZSBvdGhlcnMgbWVudGlvbmVkIGFib3ZlLiAg fmVuYWJsZS10aGVtZX4gaXMNCitjYWxsZWQgaW50ZXJuYWxseSBieSB+bG9hZC10aGVtZX4sIHNv IHRoZSBob29rIHdvcmtzIGV2ZXJ5d2hlcmUuDQorDQorTm93IHRoaXMgc3BlY2lmaWMgcGllY2Ug b2YgRWxpc3AgbWF5IGJlIHNpbXBsZSBmb3IgZXhwZXJpZW5jZWQgdXNlcnMsDQorYnV0IGl0IGlz IG5vdCBlYXN5IHRvIHJlYWQgZm9yIG5ld2NvbWVycywgaW5jbHVkaW5nIHRoZSBhdXRob3Igb2Yg dGhlDQorTW9kdXMgdGhlbWVzIGZvciB0aGUgZmlyc3Qgc2V2ZXJhbCBtb250aHMgb2YgdGhlaXIg dGltZSBhcyBhbiBFbWFjcw0KK3VzZXIuICBIZW5jZSBvdXIgaGVzaXRhdGlvbiB0byByZWNvbW1l bmQgaXQgYXMgcGFydCBvZiB0aGUgc3RhbmRhcmQNCitzZXR1cCBvZiB0aGUgTW9kdXMgdGhlbWVz IChpdCBpcyBnZW5lcmFsbHkgYSBnb29kIGlkZWEgdG8gdW5kZXJzdGFuZA0KK3doYXQgdGhlIGlt cGxpY2F0aW9ucyBhcmUgb2YgYWR2aXNpbmcgYSBmdW5jdGlvbikuDQogDQogKiBGYWNlIGNvdmVy YWdlDQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDphOWM4ZjI5ZC03ZjcyLTRiNTQtYjc0 Yi1kZGVmZTE1ZDZhMTkNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6YTlj OGYyOWQtN2Y3Mi00YjU0LWI3NGItZGRlZmUxNWQ2YTE5DQorOmVuZDoNCiANCi1Nb2R1cyBPcGVy YW5kaSBhbmQgTW9kdXMgVml2ZW5kaSB0cnkgdG8gcHJvdmlkZSBhcyBjbG9zZSB0byBmdWxsIGZh Y2UNCi1jb3ZlcmFnZSBhcyBwb3NzaWJsZS4gIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBh IGNvbnNpc3RlbnRseQ0KLWFjY2Vzc2libGUgcmVhZGluZyBleHBlcmllbmNlIGFjcm9zcyBhbGwg cG9zc2libGUgaW50ZXJmYWNlcy4NCitUaGUgTW9kdXMgdGhlbWVzIHRyeSB0byBwcm92aWRlIGFz IGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcw0KK3Bvc3NpYmxlLiAgVGhpcyBpcyBuZWNl c3NhcnkgdG8gZW5zdXJlIGEgY29uc2lzdGVudGx5IGFjY2Vzc2libGUgcmVhZGluZw0KK2V4cGVy aWVuY2UgYWNyb3NzIGFsbCBhdmFpbGFibGUgaW50ZXJmYWNlcy4NCiANCiAqKiBGdWxsIHN1cHBv cnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQotOlBST1BFUlRJRVM6DQotOkFMVF9USVRM RTogU3VwcG9ydGVkIHBhY2thZ2VzDQotOkRFU0NSSVBUSU9OOiBGdWxsIGxpc3Qgb2YgY292ZXJl ZCBmYWNlIGdyb3Vwcw0KLTpDVVNUT01fSUQ6IGg6NjBlZDQyNzUtNjBkNi00OWY4LTkyODctOWE2 NGU1NGJlYTBlDQotOkVORDoNCis6cHJvcGVydGllczoNCis6YWx0X3RpdGxlOiBTdXBwb3J0ZWQg cGFja2FnZXMNCis6ZGVzY3JpcHRpb246IEZ1bGwgbGlzdCBvZiBjb3ZlcmVkIGZhY2UgZ3JvdXBz DQorOmN1c3RvbV9pZDogaDo2MGVkNDI3NS02MGQ2LTQ5ZjgtOTI4Ny05YTY0ZTU0YmVhMGUNCis6 ZW5kOg0KKyMrY2luZGV4OiBFeHBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcw0KIA0KIFRoaXMg bGlzdCB3aWxsIGFsd2F5cyBiZSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgc3RhdGUg b2YgdGhlDQogcHJvamVjdC4gIFRoZSBpZGVhIGlzIHRvIG9mZmVyIGFuIG92ZXJ2aWV3IG9mIHRo ZSBrbm93biBzdGF0dXMgb2YgYWxsDQpAQCAtMTMzNywxNiArMTk1OCwxOCBAQCAqKiBGdWxsIHN1 cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBhdXRvLWRpbS1vdGhlci1idWZm ZXJzDQogKyBhdnkNCiArIGF3ZXNvbWUtdHJheQ0KKysgYmJkYg0KICsgYmluZGVyDQogKyBibQ0K ICsgYm9uZ28NCiArIGJvb24NCi0rIGJyZWFrcG9pbnQgKHByb3ZpZGVkIGJ5IHRoZSBidWlsdC1p biA9Z2RiLW1pLmVsPSBsaWJyYXJ5KQ0KKysgYnJlYWtwb2ludCAocHJvdmlkZWQgYnkgdGhlIGJ1 aWx0LWluIHt7e2ZpbGUoZ2RiLW1pLmVsKX19fSBsaWJyYXJ5KQ0KICsgYnVmZmVyLWV4cG9zZQ0K ICsgY2FsZW5kYXIgYW5kIGRpYXJ5DQogKyBjYWxmdw0KICsgY2VudGF1ci10YWJzDQotKyBjaGFu Z2UtbG9nIGFuZCBsb2ctdmlldyAoc3VjaCBhcyA9dmMtcHJpbnQtbG9nPSBhbmQgPXZjLXByaW50 LXJvb3QtbG9nPSkNCisrIGNmcnMNCisrIGNoYW5nZS1sb2cgYW5kIGxvZy12aWV3IChzdWNoIGFz IH52Yy1wcmludC1sb2d+LCB+dmMtcHJpbnQtcm9vdC1sb2d+KQ0KICsgY2lkZXINCiArIGNpcmNl DQogKyBjb2xvci1yZw0KQEAgLTEzNTUsNiArMTk3OCw3IEBAICoqIEZ1bGwgc3VwcG9ydCBmb3Ig cGFja2FnZXMgb3IgZmFjZSBncm91cHMNCiArIGNvbXBhbnktcG9zZnJhbWUNCiArIGNvbXBpbGF0 aW9uLW1vZGUNCiArIGNvbXBsZXRpb25zDQorKyBjb25zdWx0DQogKyBjb3Vuc2VsKg0KICsgY291 bnNlbC1jc3MNCiArIGNvdW5zZWwtbm90bXVjaA0KQEAgLTEzNjMsNyArMTk4Nyw3IEBAICoqIEZ1 bGwgc3VwcG9ydCBmb3IgcGFja2FnZXMgb3IgZmFjZSBncm91cHMNCiArIGNwZXJsLW1vZGUNCiAr IGNzdi1tb2RlDQogKyBjdHJsZg0KLSsgY3VzdG9tICg9TS14IGN1c3RvbWl6ZT0pDQorKyBjdXN0 b20gKHdoYXQgeW91IGdldCB3aXRoIHt7e2tiZChNLXggY3VzdG9taXplKX19fSkNCiArIGRhcC1t b2RlDQogKyBkYXNoYm9hcmQgKGVtYWNzLWRhc2hib2FyZCkNCiArIGRlYWRncmVwDQpAQCAtMTM4 MSw4ICsyMDA1LDExIEBAICoqIEZ1bGwgc3VwcG9ydCBmb3IgcGFja2FnZXMgb3IgZmFjZSBncm91 cHMNCiArIGRpcmVkLWdpdC1pbmZvDQogKyBkaXJlZC1uYXJyb3cNCiArIGRpcmVkLXN1YnRyZWUN CisrIGRpcmVkYw0KICsgZGlyZWRmbA0KKysgZGlyZWRwIChkaXJlZCspDQogKyBkaXNrLXVzYWdl DQorKyBkaXNwbGF5LWZpbGwtY29sdW1uLWluZGljYXRvci1tb2RlDQogKyBkb29tLW1vZGVsaW5l DQogKyBkeW5hbWljLXJ1bGVyDQogKyBlYXN5LWpla3lsbA0KQEAgLTE0MDgsOCArMjAzNSwxMCBA QCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBlc2hlbGwt c3ludGF4LWhpZ2hsaWdodGluZw0KICsgZXZpbCogKGV2aWwtbW9kZSkNCiArIGV2aWwtZ29nZ2xl cw0KKysgZXZpbC1zbmlwZQ0KICsgZXZpbC12aXN1YWwtbWFyay1tb2RlDQogKyBld3cNCisrIGV4 d20NCiArIGV5ZWJyb3dzZQ0KICsgZmFuY3ktZGFiYnJldg0KICsgZmx5Y2hlY2sNCkBAIC0xNDQz LDcgKzIwNzIsNyBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBz DQogKyBoZWxwZnVsDQogKyBoaWdobGlnaHQtYmxvY2tzDQogKyBoaWdobGlnaHQtZGVmaW5lZA0K LSsgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5jZXMgKD1oZXMtbW9kZT0pDQorKyBoaWdobGlnaHQt ZXNjYXBlLXNlcXVlbmNlcyAofmhlcy1tb2RlfikNCiArIGhpZ2hsaWdodC1pbmRlbnRhdGlvbg0K ICsgaGlnaGxpZ2h0LW51bWJlcnMNCiArIGhpZ2hsaWdodC1zeW1ib2wNCkBAIC0xNDY4LDYgKzIw OTcsNyBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBp bnRlcmFjdGlvbi1sb2cNCiArIGlvY2N1cg0KICsgaXNlYXJjaCwgb2NjdXIsIGV0Yy4NCisrIGlz bCAoaXNlYXJjaC1saWdodCkNCiArIGl2eSoNCiArIGl2eS1wb3NmcmFtZQ0KICsgamlyYSAob3Jn LWppcmEpDQpAQCAtMTQ3NywxOSArMjEwNywyMiBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2th Z2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBqdXB5dGVyDQogKyBrYW9jaGEtcnVubmVyDQogKyBrZXlj YXN0DQotKyBsaW5lIG51bWJlcnMgKD1kaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlPSBhbmQgZ2xv YmFsIHZhcmlhbnQpDQorKyBsaW5lIG51bWJlcnMgKH5kaXNwbGF5LWxpbmUtbnVtYmVycy1tb2Rl fiBhbmQgZ2xvYmFsIHZhcmlhbnQpDQogKyBsc3AtbW9kZQ0KICsgbHNwLXVpDQorKyBtYWNyb3N0 ZXANCiArIG1hZ2l0DQogKyBtYWdpdC1pbWVyZ2UNCiArIG1ha2UtbW9kZQ0KICsgbWFuDQorKyBt YXJnaW5hbGlhDQogKyBtYXJrZG93bi1tb2RlDQotKyBtYXJrdXAtZmFjZXMgKD1hZG9jLW1vZGU9 KQ0KKysgbWFya3VwLWZhY2VzICh+YWRvYy1tb2RlfikNCiArIG1lbnRvcg0KICsgbWVzc2FnZXMN CiArIG1pbmlidWZmZXItbGluZQ0KICsgbWluaW1hcA0KKysgbW1tLW1vZGUNCiArIG1vZGVsaW5l DQogKyBtb29kLWxpbmUNCiArIG1vb2R5DQpAQCAtMTUxMiwxMSArMjE0NSwxMiBAQCAqKiBGdWxs IHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogKyBvcmctcm9hbQ0KICsgb3Jn LXN1cGVyc3Rhcg0KICsgb3JnLXRhYmxlLXN0aWNreS1oZWFkZXINCisrIG9yZy10cmVlLXNsaWRl DQogKyBvcmctdHJlZXNjb3BlDQogKyBvcmlnYW1pDQogKyBvdXRsaW5lLW1vZGUNCiArIG91dGxp bmUtbWlub3ItZmFjZXMNCi0rIHBhY2thZ2UgKD1NLXggbGlzdC1wYWNrYWdlcz0pDQorKyBwYWNr YWdlICh3aGF0IHlvdSBnZXQgd2l0aCB7e3trYmQoTS14IGxpc3QtcGFja2FnZXMpfX19KQ0KICsg cGFnZS1icmVhay1saW5lcw0KICsgcGFyYWRveA0KICsgcGFyZW4tZmFjZQ0KQEAgLTE1MzIsMjMg KzIxNjYsMjggQEAgKiogRnVsbCBzdXBwb3J0IGZvciBwYWNrYWdlcyBvciBmYWNlIGdyb3Vwcw0K ICsgcG9wdXANCiArIHBvd2VybGluZQ0KICsgcG93ZXJsaW5lLWV2aWwNCisrIHByaXNtIChbWyNo OmE5NDI3MmUwLTk5ZGEtNDE0OS05ZTgwLTExYTdlNjdhMmNmMl1bTm90ZSBmb3IgcHJpc20uZWxd XSkNCiArIHByb2NlZA0KICsgcHJvZGlneQ0KKysgcXVpY2stcGVlaw0KICsgcmFja2V0LW1vZGUN CiArIHJhaW5ib3ctYmxvY2tzDQogKyByYWluYm93LWlkZW50aWZpZXJzDQogKyByYWluYm93LWRl bGltaXRlcnMNCiArIHJjaXJjDQotKyByZWdleHAtYnVpbGRlciAoYWxzbyBrbm93biBhcyA9cmUt YnVpbGRlcj0pDQorKyByZWN1cnNpb24taW5kaWNhdG9yDQorKyByZWdleHAtYnVpbGRlciAoYWxz byBrbm93biBhcyB+cmUtYnVpbGRlcn4pDQogKyByZyAocmcuZWwpDQogKyByaXBncmVwDQogKyBy bWFpbA0KICsgcnVsZXItbW9kZQ0KICsgc2FsbGV0DQogKyBzZWxlY3RydW0NCisrIHNlbGVjdHJ1 bS1wcmVzY2llbnQNCiArIHNlbWFudGljDQogKyBzZXNtYW4NCiArIHNoZWxsLXNjcmlwdC1tb2Rl DQorKyBzaG9ydGRvYw0KICsgc2hvdy1wYXJlbi1tb2RlDQogKyBzaHINCiArIHNpZGUtbm90ZXMN CkBAIC0xNTU3LDkgKzIxOTYsMTEgQEAgKiogRnVsbCBzdXBwb3J0IGZvciBwYWNrYWdlcyBvciBm YWNlIGdyb3Vwcw0KICsgc21hcnQtbW9kZS1saW5lDQogKyBzbWFydHBhcmVucw0KICsgc21lcmdl DQorKyBzb2xhaXJlDQogKyBzcGFjZWxpbmUNCiArIHNwZWVkYmFyDQogKyBzcGVsbC1mdQ0KKysg c3ByYXkNCiArIHN0cmlwZXMNCiArIHN1Z2dlc3QNCiArIHN3aXRjaC13aW5kb3cNCkBAIC0xNTcw LDYgKzIyMTEsNyBAQCAqKiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBz DQogKyBzeXNsb2ctbW9kZQ0KICsgdGFibGUgKGJ1aWx0LWluIHRhYmxlLmVsKQ0KICsgdGVsZXBo b25lLWxpbmUNCisrIHRlcnJhZm9ybS1tb2RlDQogKyB0ZXJtDQogKyB0b21hdGluaG8NCiArIHRy YW5zaWVudCAocG9wLXVwIHdpbmRvd3Mgc3VjaCBhcyBNYWdpdCdzKQ0KQEAgLTE1ODAsNyArMjIy Miw3IEBAICoqIEZ1bGwgc3VwcG9ydCBmb3IgcGFja2FnZXMgb3IgZmFjZSBncm91cHMNCiArIHR5 cGVzY3JpcHQNCiArIHVuZG8tdHJlZQ0KICsgdmMgKGJ1aWx0LWluIG1vZGUgbGluZSBzdGF0dXMg Zm9yIHZlcnNpb24gY29udHJvbCkNCi0rIHZjLWFubm90YXRlICg9Qy14IHYgZz0pDQorKyB2Yy1h bm5vdGF0ZSAodGhlIG91dCBwdXQgb2Yge3t7a2JkKEMteCB2IGcpfX19KQ0KICsgdmRpZmYNCiAr IHZpbWlzaC1mb2xkDQogKyB2aXNpYmxlLW1hcmsNCkBAIC0xNjA4LDY3ICsyMjUwLDIzNCBAQCAq KiBGdWxsIHN1cHBvcnQgZm9yIHBhY2thZ2VzIG9yIGZhY2UgZ3JvdXBzDQogR05VIEVtYWNzIGRp c3RyaWJ1dGlvbi4NCiANCiAqKiBJbmRpcmVjdGx5IGNvdmVyZWQgcGFja2FnZXMNCi06UFJPUEVS VElFUzoNCi06Q1VTVE9NX0lEOiBoOjJjYjM1OWM3LTNhODQtNDI2Mi1iYWIzLWRjZGMxZDAwMzRk Nw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDoyY2IzNTljNy0zYTg0LTQy NjItYmFiMy1kY2RjMWQwMDM0ZDcNCis6ZW5kOg0KKyMrY2luZGV4OiBJbXBsaWNpdGx5IHN1cHBv cnRlZCBwYWNrYWdlcw0KIA0KIFRoZXNlIGRvIG5vdCByZXF1aXJlIGFueSBleHRyYSBzdHlsZXMg YmVjYXVzZSB0aGV5IGFyZSBjb25maWd1cmVkIHRvDQogaW5oZXJpdCBmcm9tIHNvbWUgYmFzaWMg ZmFjZXMuICBQbGVhc2UgY29uZmlybS4NCiANCiArIGVkaXQtaW5kaXJlY3QNCiArIGV2aWwtb3ds DQorKyBmb3J0cmFuLW1vZGUNCisrIGdvZ2dsZXMNCiArIGkzd20tY29uZmlnLW1vZGUNCiArIHBl cmwtbW9kZQ0KICsgcGhwLW1vZGUNCiArIHJqc3gtbW9kZQ0KICsgc3dpZnQtbW9kZQ0KLQ0KLSoq IFdpbGwgTk9UIGJlIHN1cHBvcnRlZA0KLTpQUk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6NmM2 ZThkOTQtNjc4Mi00N2ZjLTllZWYtYWQ3ODY3MWU5ZWVhDQotOkVORDoNCi0NCi1JIGhhdmUgdGh1 cyBmYXIgaWRlbnRpZmllZCBhIHNpbmdsZSBwYWNrYWdlIHRoYXQgZG9lcyBmaXQgaW50byB0aGUN Ci1vdmVyYXJjaGluZyBvYmplY3RpdmUgb2YgdGhpcyBwcm9qZWN0OiBbW2h0dHBzOi8vZ2l0aHVi LmNvbS9obGlzc25lci9lbWFjcy1zb2xhaXJlLW1vZGVdW3NvbGFpcmVdXS4gIEl0IGJhc2ljYWxs eSB0cmllcyB0bw0KLWNhc3QgYSBsZXNzIGludGVuc2UgYmFja2dyb3VuZCBvbiB0aGUgbWFpbiBm aWxlLXZpc2l0aW5nIGJ1ZmZlcnMsIHNvDQotdGhhdCBzZWNvbmRhcnkgZWxlbWVudHMgbGlrZSBz aWRlYmFycyBjYW4gaGF2ZSB0aGUgZGVmYXVsdCAocHVyZQ0KLXdoaXRlL2JsYWNrKSBiYWNrZ3Jv dW5kLg0KLQ0KLUkgd2lsbCBvbmx5IGNvdmVyIHRoaXMgcGFja2FnZSBpZiBpdCBldmVyIHN1cHBv cnRzIHRoZSBpbnZlcnNlIGVmZmVjdDoNCi1sZXNzIGludGVuc2UgY29sb3JzIChidXQgc3RpbGwg YWNjZXNzaWJsZSkgZm9yIGFuY2lsbGFyeSBpbnRlcmZhY2VzDQotYW5kIHRoZSBpbnRlbmRlZCBz dHlsZXMgZm9yIHRoZSBjb250ZW50IHlvdSBhcmUgYWN0dWFsbHkgd29ya2luZyBvbi4NCisrIHRh Yi1iYXItZWNoby1hcmVhDQogDQogKiBOb3RlcyBmb3IgaW5kaXZpZHVhbCBwYWNrYWdlcw0KLTpQ Uk9QRVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6NGM0ZDkwMWEtODRkNy00ZjIwLWJkOTktMDgwOGMy YjA2ZWJhDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjRjNGQ5MDFhLTg0 ZDctNGYyMC1iZDk5LTA4MDhjMmIwNmViYQ0KKzplbmQ6DQogDQogVGhpcyBzZWN0aW9uIGNvdmVy cyBpbmZvcm1hdGlvbiB0aGF0IG1heSBiZSBvZiBpbnRlcmVzdCB0byB1c2VycyBvZg0KIGluZGl2 aWR1YWwgcGFja2FnZXMuDQogDQorKiogTm90ZSBmb3IgZGlzcGxheS1maWxsLWNvbHVtbi1pbmRp Y2F0b3ItbW9kZQ0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MmE2MDI4MTYtYmMxYi00 NWJmLTk2NzUtNGNiYmQ3YmY2Y2FiDQorOmVuZDoNCisNCitXaGlsZSBkZXNpZ25pbmcgdGhlIHN0 eWxlIGZvciB+ZGlzcGxheS1maWxsLWNvbHVtbi1pbmRpY2F0b3ItbW9kZX4sIHdlDQorc3RheWVk IGNsb3NlIHRvIHRoZSBtb2RlJ3MgZGVmYXVsdHM6IHRvIGFwcGx5IGEgc3VidGxlIGZvcmVncm91 bmQgY29sb3INCit0byB0aGUgfmZpbGwtY29sdW1uLWluZGljYXRvcn4gZmFjZSwgd2hpY2ggYmxl bmRzIHdlbGwgd2l0aCB0aGUgcmVzdCBvZg0KK3RoZW1lIGFuZCBpcyBjb25zaXN0ZW50IHdpdGgg dGhlIHJvbGUgb2YgdGhhdCBtb2RlLiAgVGhpcyBpcyB0byBub3QNCit1cHNldCB0aGUgZXhwZWN0 YXRpb25zIG9mIHVzZXJzLg0KKw0KK05ldmVydGhlbGVzcywgfmRpc3BsYXktZmlsbC1jb2x1bW4t aW5kaWNhdG9yLW1vZGV+IGhhcyBzb21lIGtub3duDQorbGltaXRhdGlvbnMgcGVydGFpbmluZyB0 byBpdHMgY2hvaWNlIG9mIHVzaW5nIHR5cG9ncmFwaGljIGNoYXJhY3RlcnMgdG8NCitkcmF3IGl0 cyBpbmRpY2F0b3IuICBXaGF0IHNob3VsZCBiZSBhIGNvbnRpbnVvdXMgdmVydGljYWwgbGluZSBt aWdodA0KK2FwcGVhciBhcyBhIHNlcmllcyBvZiBkYXNoZXMgaW4gY2VydGFpbiBjb250ZXh0cyBv ciB1bmRlciBzcGVjaWZpYw0KK2NvbmRpdGlvbnM6IGEgbm9uLWRlZmF1bHQgdmFsdWUgZm9yIH5s aW5lLXNwYWNpbmd+LCBzY2FsZWQgYW5kL29yDQordmFyaWFibGUtcGl0Y2ggaGVhZGluZ3MgaGF2 ZSBiZWVuIG9ic2VydmVkIHRvIGNhdXNlIHRoaXMgZWZmZWN0Lg0KKw0KK0dpdmVuIHRoYXQgd2Ug Y2Fubm90IGNvbnRyb2wgc3VjaCBmYWN0b3JzLCBpdCBtYXkgYmUgYmV0dGVyIGZvciBhZmZlY3Rl ZA0KK3VzZXJzIHRvIGRldmlhdGUgZnJvbSB0aGUgZGVmYXVsdCBzdHlsZSBvZiB0aGUgfmZpbGwt Y29sdW1uLWluZGljYXRvcn4NCitmYWNlLiAgSW5zdGVhZCBvZiBzZXR0aW5nIGEgZm9yZWdyb3Vu ZCBjb2xvciwgb25lIGNvdWxkIHVzZSBhIGJhY2tncm91bmQNCithbmQgaGF2ZSB0aGUgZm9yZWdy b3VuZCBiZSBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGl0LiAgRm9yIGV4YW1wbGU6DQorDQorIyti ZWdpbl9zcmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10aGVtZXMtd2l0aC1jb2xvcnMNCisgIChjdXN0 b20tc2V0LWZhY2VzDQorICAgYChmaWxsLWNvbHVtbi1pbmRpY2F0b3IgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWluYWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OmZvcmVncm91bmQgLGJnLWluYWN0aXZlKSkpKSkNCisjK2VuZF9zcmMNCisNCitbWyNoOjUxYmEz NTQ3LWI4YzgtNDBkNi1iYTVhLTQ1ODY0NzdmZDRhZV1bRmFjZSBzcGVjcyBhdCBzY2FsZSB1c2lu ZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uDQorDQorKiogTm90ZSBmb3IgbW1tLW1vZGUuZWwgYmFj a2dyb3VuZCBjb2xvcnMNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjk5Y2YwZDZjLWU0 NzgtNGUyNi05OTMyLTNiZjM0MjdkMTNmNg0KKzplbmQ6DQorDQorVGhlIGZhY2VzIHVzZWQgYnkg e3t7ZmlsZShtbW0tbW9kZS5lbCl9fX0gYXJlIGV4cGVjdGVkIHRvIGhhdmUgYSBjb2xvcmZ1bA0K K2JhY2tncm91bmQsIHdoaWxlIHRoZXkgc2hvdWxkIG5vdCB0b3VjaCBhbnkgZm9yZWdyb3VuZCB2 YWx1ZS4gIFRoZSBpZGVhDQoraXMgdGhhdCB0aGV5IG11c3Qgbm90IGludGVyZmVyZSB3aXRoIGV4 aXN0aW5nIGZvbnRpZmljYXRpb24uICBUaG9zZQ0KK2JhY2tncm91bmQgY29sb3JzIG5lZWQgdG8g YmUgZGlzdGluY3QgZnJvbSBlYWNoIG90aGVyLCBzdWNoIGFzIGFuDQordW5hbWJpZ3VvdXMgcmVk IGp1eHRhcG9zZWQgd2l0aCBhIGNsZWFyIGJsdWUuDQorDQorV2hpbGUgdGhpcyBkZXNpZ24gbWF5 IGJlIGludGVybmFsbHkgY29uc2lzdGVudCB3aXRoIHRoZSByYWlzb24gZCfDqnRyZSBvZg0KK3Ro YXQgbGlicmFyeSwgaXQgaW5ldml0YWJseSBwcm9kdWNlcyBpbmFjY2Vzc2libGUgY29sb3IgY29t YmluYXRpb25zLg0KKw0KK1RoZXJlIGFyZSB0d28gY29tcGV0aW5nIGdvYWxzIGF0IHBsYXk6DQor DQorMS4gTGVnaWJpbGl0eSBvZiB0aGUgdGV4dCwgdW5kZXJzdG9vZCBhcyB0aGUgY29udHJhc3Qg cmF0aW8gYmV0d2VlbiB0aGUNCisgICBiYWNrZ3JvdW5kIGFuZCB0aGUgZm9yZWdyb3VuZC4NCisN CisyLiBTZW1hbnRpYyBwcmVjaXNpb24gb2YgZWFjaCBmYWNlIHdoaWNoIGVudGFpbHMgZmFpdGhm dWxuZXNzIHRvDQorICAgY29sb3ItY29kaW5nIG9mIHRoZSB1bmRlcmx5aW5nIGJhY2tncm91bmQu DQorDQorQXMgdGhlIE1vZHVzIHRoZW1lcyBhcmUgZGVzaWduZWQgd2l0aCB0aGUgZXhwcmVzcyBw dXJwb3NlIG9mIGNvbmZvcm1pbmcNCit3aXRoIHRoZSBmaXJzdCBwb2ludCwgd2UgaGF2ZSB0byBm b3JnbyB0aGUgYXBwYXJlbnQgY29sb3ItY29kaW5nIG9mIHRoZQ0KK2JhY2tncm91bmQgZWxlbWVu dHMuICBJbnN0ZWFkIHdlIHVzZSBzdWJ0bGUgY29sb3JzIHRoYXQgZG8gbm90IHVuZGVybWluZQ0K K3RoZSBsZWdpYmlsaXR5IG9mIHRoZSBhZmZlY3RlZCB0ZXh0IHdoaWxlIHRoZXkgc3RpbGwgb2Zm ZXIgYSBzZW5zZSBvZg0KK2FkZGVkIGNvbnRleHQuDQorDQorVXNlcnMgd2hvIG1pZ2h0IHByZWZl ciB0byBmYWxsIGJlbG93IHRoZSBtaW5pbXVtIDc6MSBjb250cmFzdCByYXRpbyBpbg0KK3JlbGF0 aXZlIGx1bWluYW5jZSAodGhlIGFjY2Vzc2liaWxpdHkgdGFyZ2V0IHdlIGNvbmZvcm0gd2l0aCks IGNhbiBvcHQNCit0byBjb25maWd1cmUgdGhlIHJlbGV2YW50IGZhY2VzIG9uIHRoZWlyIG93bi4N CisNCitbWyNoOjUxYmEzNTQ3LWI4YzgtNDBkNi1iYTVhLTQ1ODY0NzdmZDRhZV1bRmFjZSBzcGVj cyBhdCBzY2FsZSB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uDQorDQorVGhpcyBleGFtcGxl IHVzZXMgbW9yZSB2aXZpZCBiYWNrZ3JvdW5kIGNvbG9ycywgdGhvdWdoIGl0IGNvbWVzIGF0IHRo ZQ0KK3ZlcnkgaGlnaCBjb3N0IG9mIGRlZ3JhZGVkIGxlZ2liaWxpdHkuDQorDQorIytiZWdpbl9z cmMgZW1hY3MtbGlzcA0KKyhtb2R1cy10aGVtZXMtd2l0aC1jb2xvcnMNCisgIChjdXN0b20tc2V0 LWZhY2VzDQorICAgYChtbW0tY2xlYW51cC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLHllbGxvdy1yZWZpbmUtYmcpKSkNCisgICBgKG1tbS1jb2RlLXN1Ym1vZGUtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgYChtbW0tY29tbWVudC1zdWJtb2Rl LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5lLWJnKSkpDQorICAgYChtbW0t ZGVjbGFyYXRpb24tc3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXJlZmlu ZS1iZykpKQ0KKyAgIGAobW1tLWRlZmF1bHQtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQpKSkNCisgICBgKG1tbS1pbml0LXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCisgICBgKG1tbS1vdXRwdXQtc3VibW9kZS1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtcmVmaW5lLWJnKSkpDQorICAgYChtbW0tc3Bl Y2lhbC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXJlZmluZS1iZykp KSkpDQorIytlbmRfc3JjDQorDQorKiogTm90ZSBmb3IgcHJpc20uZWwNCis6cHJvcGVydGllczoN Cis6YWx0X3RpdGxlOiBOb3RlIGZvciBwcmlzbQ0KKzpjdXN0b21faWQ6IGg6YTk0MjcyZTAtOTlk YS00MTQ5LTllODAtMTFhN2U2N2EyY2YyDQorOmVuZDoNCisNCitUaGlzIHBhY2thZ2UgYnkgQWRh bSBQb3J0ZXIsIGFrYSAiYWxwaGFwYXBhIiBvciAiZ2l0aHViLWFscGhhcGFwYSIsDQoraW1wbGVt ZW50cyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgdHlwaWNhbCBjb2xvcmF0aW9uIG9mIGNvZGUuICBJ bnN0ZWFkIG9mDQoraGlnaGxpZ2h0aW5nIHRoZSBzeW50YWN0aWMgY29uc3RydWN0cywgaXQgYXBw bGllcyBjb2xvciB0byBkaWZmZXJlbnQNCitsZXZlbHMgb2YgZGVwdGggaW4gdGhlIGNvZGUgc3Ry dWN0dXJlLg0KKw0KK0FzIHt7e2ZpbGUocHJpc20uZWwpfX19IG9mZmVycyBhIGJyb2FkIHJhbmdl IG9mIGN1c3RvbWlzYXRpb25zLCB3ZSBjYW5ub3QNCitzdHlsZSBpdCBkaXJlY3RseSBhdCB0aGUg dGhlbWUgbGV2ZWw6IHRoYXQgd291bGQgcnVuIGNvbnRyYXJ5IHRvIHRoZQ0KK3NwaXJpdCBvZiB0 aGUgcGFja2FnZS4gIEluc3RlYWQsIHdlIG1heSBvZmZlciBwcmVzZXQgY29sb3Igc2NoZW1lcy4N CitUaG9zZSBzaG91bGQgb2ZmZXIgYSBzdGFydGluZyBwb2ludCBmb3IgdXNlcnMgdG8gYWRhcHQg dG8gdGhlaXIgbmVlZHMuDQorDQorSW4gdGhlIGZvbGxvd2luZyBjb2RlIHNuaXBwZXRzLCB3ZSBl bXBsb3kgdGhlIH5tb2R1cy10aGVtZXMtd2l0aC1jb2xvcnN+DQorbWFjcm86IFtbI2g6NTFiYTM1 NDctYjhjOC00MGQ2LWJhNWEtNDU4NjQ3N2ZkNGFlXVtGYWNlIHNwZWNzIGF0IHNjYWxlIHVzaW5n IHRoZSB0aGVtZXMnIHBhbGV0dGVdXS4NCisNCitUaGVzZSBhcmUgdGhlIG1pbmltdW0gcmVjb21t ZW5kZWQgc2V0dGluZ3Mgd2l0aCAxNiBjb2xvcnM6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlz cA0KKyhzZXRxIHByaXNtLW51bS1mYWNlcyAxNikNCisNCisocHJpc20tc2V0LWNvbG9ycw0KKyAg OmRlc2F0dXJhdGlvbnMgJygwKSA7IGRvIG5vdCBjaGFuZ2UtLS1tYXkgbG93ZXIgdGhlIGNvbnRy YXN0IHJhdGlvDQorICA6bGlnaHRlbnMgJygwKSAgICAgIDsgc2FtZQ0KKyAgOmNvbG9ycyAobW9k dXMtdGhlbWVzLXdpdGgtY29sb3JzDQorICAgICAgICAgICAgKGxpc3QgZmctbWFpbg0KKyAgICAg ICAgICAgICAgICAgIG1hZ2VudGENCisgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0K KyAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAg Ymx1ZQ0KKyAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0DQorICAgICAgICAgICAgICAgICAg Y3lhbi1hbHQNCisgICAgICAgICAgICAgICAgICByZWQtYWx0LW90aGVyDQorICAgICAgICAgICAg ICAgICAgZ3JlZW4NCisgICAgICAgICAgICAgICAgICBmZy1tYWluDQorICAgICAgICAgICAgICAg ICAgY3lhbg0KKyAgICAgICAgICAgICAgICAgIHllbGxvdw0KKyAgICAgICAgICAgICAgICAgIGJs dWUtYWx0DQorICAgICAgICAgICAgICAgICAgcmVkLWFsdA0KKyAgICAgICAgICAgICAgICAgIGdy ZWVuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgIGZnLXNwZWNpYWwtd2FybSkpKQ0KKyMr ZW5kX3NyYw0KKw0KK1dpdGggOCBjb2xvcnM6DQorDQorIytiZWdpbl9zcmMgZW1hY3MtbGlzcA0K KyhzZXRxIHByaXNtLW51bS1mYWNlcyA4KQ0KKw0KKyhwcmlzbS1zZXQtY29sb3JzDQorICA6ZGVz YXR1cmF0aW9ucyAnKDApIDsgZG8gbm90IGNoYW5nZS0tLW1heSBsb3dlciB0aGUgY29udHJhc3Qg cmF0aW8NCisgIDpsaWdodGVucyAnKDApICAgICAgOyBzYW1lDQorICA6Y29sb3JzIChtb2R1cy10 aGVtZXMtd2l0aC1jb2xvcnMNCisgICAgICAgICAgICAobGlzdCBmZy1zcGVjaWFsLWNvbGQNCisg ICAgICAgICAgICAgICAgICBtYWdlbnRhDQorICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQt b3RoZXINCisgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAg ICAgIGZnLW1haW4NCisgICAgICAgICAgICAgICAgICBibHVlLWFsdA0KKyAgICAgICAgICAgICAg ICAgIHJlZC1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICBjeWFuKSkpDQorIytlbmRfc3Jj DQorDQorQW5kIHRoaXMgaXMgd2l0aCA0IGNvbG9ycywgd2hpY2ggcHJvZHVjZXMgcmVzdWx0cyB0 aGF0IGFyZSB0aGUgY2xvc2VzdA0KK3RvIHRoZSB0aGVtZXMnIGRlZmF1bHQgYWVzdGhldGljOg0K Kw0KKyMrYmVnaW5fc3JjIGVtYWNzLWxpc3ANCisoc2V0cSBwcmlzbS1udW0tZmFjZXMgNCkNCisN CisocHJpc20tc2V0LWNvbG9ycw0KKyAgOmRlc2F0dXJhdGlvbnMgJygwKSA7IGRvIG5vdCBjaGFu Z2UtLS1tYXkgbG93ZXIgdGhlIGNvbnRyYXN0IHJhdGlvDQorICA6bGlnaHRlbnMgJygwKSAgICAg IDsgc2FtZQ0KKyAgOmNvbG9ycyAobW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzDQorICAgICAgICAg ICAgKGxpc3QgZmctbWFpbg0KKyAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyDQorICAg ICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICBtYWdl bnRhKSkpDQorIytlbmRfc3JjDQorDQorSWYgeW91IG5lZWQgdG8gYXBwbHkgZGVzYXR1cmF0aW9u IGFuZCBsaWdodGVuaW5nLCB5b3UgY2FuIHVzZSB3aGF0IHRoZQ0KK3t7e2ZpbGUocHJpc20uZWwp fX19IGRvY3VtZW50YXRpb24gcmVjb21tZW5kcywgbGlrZSB0aGlzIChhZGFwdGluZyB0byB0aGUN CitleGFtcGxlcyB3aXRoIHRoZSA0LCA4LCAxNiBjb2xvcnMpOg0KKw0KKyMrYmVnaW5fc3JjIGVt YWNzLWxpc3ANCisocHJpc20tc2V0LWNvbG9ycw0KKyAgOmRlc2F0dXJhdGlvbnMgKGNsLWxvb3Ag Zm9yIGkgZnJvbSAwIGJlbG93IDE2IGNvbGxlY3QgKCogaSAyLjUpKQ0KKyAgOmxpZ2h0ZW5zIChj bC1sb29wIGZvciBpIGZyb20gMCBiZWxvdyAxNiBjb2xsZWN0ICgqIGkgMi41KSkNCisgIDpjb2xv cnMgKG1vZHVzLXRoZW1lcy13aXRoLWNvbG9ycw0KKyAgICAgICAgICAgIChsaXN0IGZnLW1haW4N CisgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgbWFnZW50YSkpKQ0KKyMrZW5kX3Ny Yw0KKw0KICoqIE5vdGUgb24gY29tcGFueS1tb2RlIG92ZXJsYXkgcG9wLXVwDQotOlBST1BFUlRJ RVM6DQotOkNVU1RPTV9JRDogaDoyMGNlZjhjNC1kMTFmLTQwNTMtOGIyYy0yODcyOTI1NzgwYjEN Ci06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MjBjZWY4YzQtZDExZi00MDUz LThiMmMtMjg3MjkyNTc4MGIxDQorOmVuZDoNCiANCi1CeSBkZWZhdWx0LCB0aGUgPWNvbXBhbnkt bW9kZT0gcG9wLXVwIHRoYXQgbGlzdHMgY29tcGxldGlvbiBjYW5kaWRhdGVzIGlzDQorQnkgZGVm YXVsdCwgdGhlIH5jb21wYW55LW1vZGV+IHBvcC11cCB0aGF0IGxpc3RzIGNvbXBsZXRpb24gY2Fu ZGlkYXRlcyBpcw0KIGRyYXduIHVzaW5nIGFuIG92ZXJsYXkuICBUaGlzIGNyZWF0ZXMgYWxpZ25t ZW50IGlzc3VlcyBldmVyeSB0aW1lIGl0IGlzDQogcGxhY2VkIGFib3ZlIGEgcGllY2Ugb2YgdGV4 dCB0aGF0IGhhcyBhIGRpZmZlcmVudCBoZWlnaHQgdGhhbiB0aGUNCiBkZWZhdWx0Lg0KIA0KIFRo ZSBzb2x1dGlvbiByZWNvbW1lbmRlZCBieSB0aGUgcHJvamVjdCdzIG1haW50YWluZXIgaXMgdG8g dXNlIGFuDQotYWx0ZXJuYXRpdmUgZnJvbnQtZW5kIGZvciBkcmF3aW5nIHRoZSBwb3AtdXAgd2hp Y2ggdXNlcyBjaGlsZCBmcmFtZXMNCithbHRlcm5hdGl2ZSBmcm9udC1lbmQgZm9yIGRyYXdpbmcg dGhlIHBvcC11cCB3aGljaCBkcmF3cyBjaGlsZCBmcmFtZXMNCiBpbnN0ZWFkIG9mIG92ZXJsYXlz Lltmbjo6DQogaHR0cHM6Ly9naXRodWIuY29tL2NvbXBhbnktbW9kZS9jb21wYW55LW1vZGUvaXNz dWVzLzEwMTBdW2ZuOjoNCiBodHRwczovL2dpdGh1Yi5jb20vdHVtYXNodS9jb21wYW55LXBvc2Zy YW1lL10NCiANCiAqKiBOb3RlIGZvciBFUkMgZXNjYXBlZCBjb2xvciBzZXF1ZW5jZXMNCi06UFJP UEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjk4YmRmMzE5LTFlMzItNDQ2OS04YTAxLTc3MTIwMGZi YTY1Yw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDo5OGJkZjMxOS0xZTMy LTQ0NjktOGEwMS03NzEyMDBmYmE2NWMNCis6ZW5kOg0KIA0KLVRoZSBidWlsdC1pbiBJUkMgY2xp ZW50ID1lcmM9IGhhcyB0aGUgYWJpbGl0eSB0byBjb2xvcmlzZSBhbnkgdGV4dCB1c2luZw0KLWVz Y2FwZSBzZXF1ZW5jZXMgdGhhdCBzdGFydCB3aXRoID1eQz0gKGluc2VydGVkIHdpdGggPUMtcSBD LWM9KSBhbmQgYXJlDQorVGhlIGJ1aWx0LWluIElSQyBjbGllbnQgfmVyY34gaGFzIHRoZSBhYmls aXR5IHRvIGNvbG9yaXNlIGFueSB0ZXh0IHVzaW5nDQorZXNjYXBlIHNlcXVlbmNlcyB0aGF0IHN0 YXJ0IHdpdGggPV5DPSAoaW5zZXJ0ZWQgd2l0aCB7e3trYmQoQy1xIEMtYyl9fX0pIGFuZCBhcmUN CiBmb2xsb3dlZCBieSBhIG51bWJlciBmb3IgdGhlIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQu W2ZuOjogVGhpcyBwYWdlDQogZXhwbGFpbnMgdGhlIGJhc2ljcywgdGhvdWdoIGl0IGlzIG5vdCBz cGVjaWZpYyB0byBFbWFjczoNCiBodHRwczovL3d3dy5taXJjLmNvbS9jb2xvcnMuaHRtbF0gUG9z c2libGUgbnVtYmVycyBhcmUgMC0xNSwgd2l0aCB0aGUNCkBAIC0xNjgxLDEzICsyNDkwLDEzIEBA ICoqIE5vdGUgZm9yIEVSQyBlc2NhcGVkIGNvbG9yIHNlcXVlbmNlcw0KICAgICAgIGVyYy1pbnRl cnByZXQtbWlyYy1jb2xvciB0KQ0KICMrZW5kX3NyYw0KIA0KLUFzIHRoaXMgYWxsb3dzIHVzZXJz IHRvIG1ha2UgYXJiaXRyYXJ5IGNvbWJpbmF0aW9ucywgaXQgaXMgaW1wb3NzaWJsZSB0bw0KLWd1 YXJhbnRlZSBhIGNvbnNpc3RlbnRseSBoaWdoIGNvbnRyYXN0IHJhdGlvLiAgQWxsIHdlIGNhbiB3 ZSBkbyBpcw0KLXByb3ZpZGUgZ3VpZGFuY2Ugb24gdGhlIGNvbWJpbmF0aW9ucyB0aGF0IHNhdGlz ZnkgdGhlIGFjY2Vzc2liaWxpdHkNCi1zdGFuZGFyZCBvZiB0aGUgdGhlbWVzOg0KK0FzIHRoaXMg YWxsb3dzIHVzZXJzIHRoZSBjaGFuY2UgdG8gbWFrZSBhcmJpdHJhcnkgY29tYmluYXRpb25zLCBp dCBpcw0KK2ltcG9zc2libGUgdG8gZ3VhcmFudGVlIGEgY29uc2lzdGVudGx5IGhpZ2ggY29udHJh c3QgcmF0aW8uICBBbGwgd2UgY2FuDQord2UgZG8gaXMgcHJvdmlkZSBndWlkYW5jZSBvbiB0aGUg Y29tYmluYXRpb25zIHRoYXQgc2F0aXNmeSB0aGUNCithY2Nlc3NpYmlsaXR5IHN0YW5kYXJkIG9m IHRoZSB0aGVtZXM6DQogDQogKyBNb2R1cyBPcGVyYW5kaSA6OiBVc2UgZm9yZWdyb3VuZCBjb2xv ciAxIGZvciBhbGwgYmFja2dyb3VuZHMgZnJvbQ0KLSAgMi0xNS4gIExpa2Ugc286ID1DLXEgQy1j MSxOPSB3aGVyZSA9Tj0gaXMgdGhlIGJhY2tncm91bmQuDQorICAyLTE1LiAgTGlrZSBzbzoge3t7 a2JkKEMtcSBDLWMxLE4pfX19IHdoZXJlID1OPSBpcyB0aGUgYmFja2dyb3VuZC4NCiANCiArIE1v ZHVzIFZpdmVuZGkgOjogVXNlIGZvcmVncm91bmQgY29sb3IgMCBmb3IgYWxsIGJhY2tncm91bmRz IGZyb20NCiAgIDItMTMuICBVc2UgZm9yZWdyb3VuZCA9MT0gZm9yIGJhY2tncm91bmRzIDE0LCAx NS4NCkBAIC0xNjk2LDM1ICsyNTA1LDM4IEBAICoqIE5vdGUgZm9yIEVSQyBlc2NhcGVkIGNvbG9y IHNlcXVlbmNlcw0KIHRvZ2V0aGVyLCBpZiB5b3UgbXVzdC4NCiANCiAqKiBOb3RlIGZvciBwb3dl cmxpbmUgb3Igc3BhY2VsaW5lDQotOlBST1BFUlRJRVM6DQotOkNVU1RPTV9JRDogaDo5MTMwYThi YS1kOGUzLTQxYmUtYTU4Yi0zY2IxZWI3YjZkMTcNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0KKzpj dXN0b21faWQ6IGg6OTEzMGE4YmEtZDhlMy00MWJlLWE1OGItM2NiMWViN2I2ZDE3DQorOmVuZDoN CiANCiBCb3RoIFBvd2VybGluZSBhbmQgU3BhY2VsaW5lIHBhY2thZ2UgdXNlcnMgd2lsbCBsaWtl bHkgbmVlZCB0byB1c2UgdGhlDQotY29tbWFuZCA9cG93ZXJsaW5lLXJlc2V0PSB3aGVuZXZlciB0 aGV5IG1ha2UgY2hhbmdlcyB0byB0aGVpciB0aGVtZXMNCitjb21tYW5kIH5wb3dlcmxpbmUtcmVz ZXR+IHdoZW5ldmVyIHRoZXkgbWFrZSBjaGFuZ2VzIHRvIHRoZWlyIHRoZW1lcw0KIGFuZC9vciBt b2RlbGluZSBzZXR1cC4NCiANCi0qKiBOb3RlIG9uIHNociBjb2xvcnMNCi06UFJPUEVSVElFUzoN Ci06Q1VTVE9NX0lEOiBoOjRjYzc2N2RjLWZmZWYtNGM1Yy05ZjEwLTgyZWI3Yjg5MjFiZg0KLTpF TkQ6DQorKiogTm90ZSBvbiBTSFIgY29sb3JzDQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDog aDo0Y2M3NjdkYy1mZmVmLTRjNWMtOWYxMC04MmViN2I4OTIxYmYNCis6ZW5kOg0KIA0KLUVtYWNz JyBIVE1MIHJlbmRlcmluZyBtZWNoYW5pc20gKD1zaHI9KSBtYXkgbmVlZCBleHBsaWNpdCBjb25m aWd1cmF0aW9uIHRvDQotcmVzcGVjdCB0aGUgdGhlbWUncyBjb2xvcnMgaW5zdGVhZCBvZiB3aGF0 ZXZlciBzcGVjaWZpY2F0aW9ucyB0aGUNCi13ZWJwYWdlIHByb3ZpZGVzLiAgQ29uc3VsdCA9Qy1o IHYgc2hyLXVzZS1jb2xvcnM9Lg0KK0VtYWNzJyBIVE1MIHJlbmRlcmluZyBsaWJyYXJ5ICh7e3tm aWxlKHNoci5lbCl9fX0pIG1heSBuZWVkIGV4cGxpY2l0DQorY29uZmlndXJhdGlvbiB0byByZXNw ZWN0IHRoZSB0aGVtZSdzIGNvbG9ycyBpbnN0ZWFkIG9mIHdoYXRldmVyDQorc3BlY2lmaWNhdGlv bnMgdGhlIHdlYnBhZ2UgcHJvdmlkZXMuDQorDQorQ29uc3VsdCB7e3trYmQoQy1oIHYgc2hyLXVz ZS1jb2xvcnMpfX19Lg0KIA0KICoqIE5vdGUgZm9yIEhlbG0gZ3JlcA0KLTpQUk9QRVJUSUVTOg0K LTpDVVNUT01fSUQ6IGg6ZDI4ODc5YTItOGU0Yi00NTI1LTk4NmUtMTRjMGY4NzNkMjI5DQotOkVO RDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOmQyODg3OWEyLThlNGItNDUyNS05ODZl LTE0YzBmODczZDIyOQ0KKzplbmQ6DQogDQogVGhlcmUgaXMgb25lIGZhY2UgZnJvbSB0aGUgSGVs bSBwYWNrYWdlIHRoYXQgaXMgbWVhbnQgdG8gaGlnaGxpZ2h0IHRoZQ0KIG1hdGNoZXMgb2YgYSBn cmVwIG9yIGdyZXAtbGlrZSBjb21tYW5kICg9YWc9IG9yID1yaXBncmVwPSkuICBJdCBpcw0KLT1o ZWxtLWdyZXAtbWF0Y2g9LiAgSG93ZXZlciwgdGhpcyBmYWNlIGNhbiBvbmx5IGFwcGx5IHdoZW4g dGhlIHVzZXIgZG9lcw0KK35oZWxtLWdyZXAtbWF0Y2h+LiAgSG93ZXZlciwgdGhpcyBmYWNlIGNh biBvbmx5IGFwcGx5IHdoZW4gdGhlIHVzZXIgZG9lcw0KIG5vdCBwYXNzID0tLWNvbG9yPWFsd2F5 cz0gYXMgYSBjb21tYW5kLWxpbmUgb3B0aW9uIGZvciB0aGVpciBjb21tYW5kLg0KIA0KIEhlcmUg aXMgdGhlIGRvY3N0cmluZyBmb3IgdGhhdCBmYWNlLCB3aGljaCBpcyBkZWZpbmVkIGluIHRoZQ0K LT1oZWxtLWdyZXAuZWw9IGxpYnJhcnkgKHZpZXcgYSBsaWJyYXJ5IHdpdGggPU0teCBmaW5kLWxp YnJhcnk9KS4NCit7e3tmaWxlKGhlbG0tZ3JlcC5lbCl9fX0gbGlicmFyeSAoeW91IGNhbiBhbHdh eXMgdmlzaXQgdGhlIHNvdXJjZSBjb2RlIHdpdGgNCit7e3trYmQoTS14IGZpbmQtbGlicmFyeSl9 fX0pLg0KIA0KICMrYmVnaW5fcXVvdGUNCiBGYWNlIHVzZWQgdG8gaGlnaGxpZ2h0IGdyZXAgbWF0 Y2hlcy4gIEhhdmUgbm8gZWZmZWN0IHdoZW4gZ3JlcCBiYWNrZW5kDQpAQCAtMTczNCwyMyArMjU0 NiwyMyBAQCAqKiBOb3RlIGZvciBIZWxtIGdyZXANCiBUaGUgdXNlciBtdXN0IGVpdGhlciByZW1v dmUgPS0tY29sb3I9IGZyb20gdGhlIGZsYWdzIHBhc3NlZCB0byB0aGUgZ3JlcA0KIGZ1bmN0aW9u LCBvciBleHBsaWNpdGx5IHVzZSA9LS1jb2xvcj1uZXZlcj0gKG9yIGVxdWl2YWxlbnQpLiAgSGVs bQ0KIHByb3ZpZGVzIHVzZXItZmFjaW5nIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBmb3IgY29udHJv bGxpbmcgdGhlIGdyZXANCi1mdW5jdGlvbidzIHBhcmFtZXRlcnMsIHN1Y2ggYXMgPWhlbG0tZ3Jl cC1kZWZhdWx0LWNvbW1hbmQ9IGFuZA0KLT1oZWxtLWdyZXAtZ2l0LWdyZXAtY29tbWFuZD0uDQor ZnVuY3Rpb24ncyBwYXJhbWV0ZXJzLCBzdWNoIGFzIH5oZWxtLWdyZXAtZGVmYXVsdC1jb21tYW5k fiBhbmQNCit+aGVsbS1ncmVwLWdpdC1ncmVwLWNvbW1hbmR+Lg0KIA0KIFdoZW4gPS0tY29sb3I9 YWx3YXlzPSBpcyBpbiBlZmZlY3QsIHRoZSBncmVwIG91dHB1dCB3aWxsIHVzZSByZWQgdGV4dCBp bg0KIGJvbGQgbGV0dGVyIGZvcm1zIHRvIHByZXNlbnQgdGhlIG1hdGNoaW5nIHBhcnQgaW4gdGhl IGxpc3Qgb2YNCiBjYW5kaWRhdGVzLiAgVGhhdCBzdHlsZSBzdGlsbCBtZWV0cyB0aGUgY29udHJh c3QgcmF0aW8gdGFyZ2V0IG9mID49IDc6MQ0KIChhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkIFdDQUcg QUFBKSwgYmVjYXVzZSBpdCBkcmF3cyB0aGUgcmVmZXJlbmNlIHRvDQogQU5TSSBjb2xvciBudW1i ZXIgMSAocmVkKSBmcm9tIHRoZSBhbHJlYWR5LXN1cHBvcnRlZCBhcnJheSBvZg0KLT1hbnNpLWNv bG9yLW5hbWVzLXZlY3Rvcj0uDQorfmFuc2ktY29sb3ItbmFtZXMtdmVjdG9yfi4NCiANCiAqKiBO b3RlIG9uIHZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZQ0KLTpQUk9QRVJUSUVTOg0KLTpDVVNU T01fSUQ6IGg6NTA5NWNiZDEtZTE3YS00MTljLTkzZTgtOTUxYzE4NjM2MmEzDQotOkVORDoNCis6 cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjUwOTVjYmQxLWUxN2EtNDE5Yy05M2U4LTk1MWMx ODYzNjJhMw0KKzplbmQ6DQogDQotRHVlIHRvIHRoZSB1bmlxdWUgd2F5ID12Yy1hbm5vdGF0ZT0g KD1DLXggdiBnPSkgYXBwbGllcyBjb2xvcnMsIHN1cHBvcnQgZm9yDQotaXRzIGJhY2tncm91bmQg bW9kZSAoPXZjLWFubm90YXRlLWJhY2tncm91bmQtbW9kZT0pIGlzIGRpc2FibGVkIGF0IHRoZQ0K K0R1ZSB0byB0aGUgdW5pcXVlIHdheSB+dmMtYW5ub3RhdGV+ICh7e3trYmQoQy14IHYgZyl9fX0p IGFwcGxpZXMgY29sb3JzLCBzdXBwb3J0DQorZm9yIGl0cyBiYWNrZ3JvdW5kIG1vZGUgKH52Yy1h bm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGV+KSBpcyBkaXNhYmxlZCBhdCB0aGUNCiB0aGVtZSBsZXZl bC4NCiANCiBOb3JtYWxseSwgc3VjaCBhIGRyYXN0aWMgbWVhc3VyZSBzaG91bGQgbm90IGJlbG9u ZyBpbiBhIHRoZW1lOiBhc3N1bWluZw0KQEAgLTE3NjAsMzUgKzI1NzIsODcgQEAgKiogTm90ZSBv biB2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUNCiANCiBJZiB0aGVyZSBhY3R1YWxseSBpcyBh IHdheSB0byBhdm9pZCBzdWNoIGEgY291cnNlIG9mIGFjdGlvbiwgd2l0aG91dA0KIHByZWp1ZGlj ZSB0byB0aGUgYWNjZXNzaWJpbGl0eSBzdGFuZGFyZCBvZiB0aGlzIHByb2plY3QsIHRoZW4gcGxl YXNlDQotcmVwb3J0IGFzIG11Y2ggb3Igc2VuZCBwYXRjaGVzIChzZWUgW1sjaDo5YzNjZDg0Mi0x NGI3LTQ0ZDctODRiMi1hNWM4YmMzZmMzYjFdW0NvbnRyaWJ1dGluZ11dKS4NCityZXBvcnQgYXMg bXVjaCBvciBzZW5kIHBhdGNoZXMgKFtbI2g6OWMzY2Q4NDItMTRiNy00NGQ3LTg0YjItYTVjOGJj M2ZjM2IxXVtDb250cmlidXRpbmddXSkuDQorDQorKiogTm90ZSBvbiBwZGYtdG9vbHMgbGluayBo aW50cw0KKzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MjY1OWQxM2UtYjFhNS00MTZjLTlh ODktN2MzY2UzYTc2NTc0DQorOmVuZDoNCisNCitIaW50cyBhcmUgZHJhd24gYnkgW1todHRwczov L2ltYWdlbWFnaWNrLm9yZy9dW0ltYWdlTWFnaWNrXV0sIG5vdCBFbWFjcywgaS5lLiwgSW1hZ2VN YWdpY2sgZG9lc24ndA0KK2tub3cgYWJvdXQgdGhlIGhpbnQgZmFjZSB1bmxlc3MgeW91IHRlbGwg SW1hZ2VNYWdpY2sgYWJvdXQgaXQuIEJ5DQorZGVmYXVsdCwgb25seSB0aGUgZm9yZWdyb3VuZCBh bmQgYmFja2dyb3VuZCBjb2xvciBhdHRyaWJ1dGVzIGFyZQ0KK3Bhc3NlZC4gVGhlIGJlbG93IHNu aXBwZXQgYWRkcyB0byB0aG9zZSB0aGUgdmFyaW91cyBmb250IGF0dHJpYnV0ZXMuICBBcw0KK2l0 IHF1ZXJpZXMgdmFyaW91cyBmYWNlcywgc3BlY2lmaWNhbGx5IH5wZGYtbGlua3MtcmVhZC1saW5r fiBhbmQgdGhlIGZhY2VzDQoraXQgaW5oZXJpdHMsIGl0IG5lZWRzIHRvIGJlIGFkZGVkIHRvIHlv dXIgaW5pdGlhbGl6YXRpb24gZmlsZSBhZnRlcg0KK3lvdSd2ZSBjdXN0b21pemVkIGFueSBmYWNl cy4NCisNCisjK2JlZ2luX3NyYyBlbWFjcy1saXNwDQorKHVzZS1wYWNrYWdlIHBkZi1saW5rcw0K KyAgOmNvbmZpZw0KKyAgKGxldCAoKHNwZWMNCisgICAgICAgICAoYXBwbHkgIydhcHBlbmQNCisg ICAgICAgICAgICAgICAgKG1hcGNhcg0KKyAgICAgICAgICAgICAgICAgKGxhbWJkYSAobmFtZSkN CisgICAgICAgICAgICAgICAgICAgKGxpc3QgbmFtZQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAoZmFjZS1hdHRyaWJ1dGUgJ3BkZi1saW5rcy1yZWFkLWxpbmsNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgbmlsICdkZWZhdWx0KSkpDQorICAgICAgICAg ICAgICAgICAnKDpmYW1pbHkgOndpZHRoIDp3ZWlnaHQgOnNsYW50KSkpKSkNCisgICAgKHNldHEg cGRmLWxpbmtzLXJlYWQtbGluay1jb252ZXJ0LWNvbW1hbmRzDQorICAgICAgICAgIGAoIi1kZW5z aXR5IiAgICAiOTYiDQorICAgICAgICAgICAgIi1mYW1pbHkiICAgICAsKHBsaXN0LWdldCBzcGVj IDpmYW1pbHkpDQorICAgICAgICAgICAgIi1zdHJldGNoIiAgICAsKGxldCogKCh3aWR0aCAocGxp c3QtZ2V0IHNwZWMgOndpZHRoKSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG5hbWUgKHN5bWJvbC1uYW1lIHdpZHRoKSkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAocmVwbGFjZS1yZWdleHAtaW4tc3RyaW5nICItIiAiIg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FwaXRhbGl6ZSBuYW1lKSkpDQor ICAgICAgICAgICAgIi13ZWlnaHQiICAgICAsKHBjYXNlIChwbGlzdC1nZXQgc3BlYyA6d2VpZ2h0 KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCd1bHRyYS1saWdodCAiVGhpbiIpDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2V4dHJhLWxpZ2h0ICJFeHRyYUxpZ2h0IikN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnbGlnaHQgICAgICAgIkxpZ2h0IikNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnc2VtaS1ib2xkICAgIlNlbWlCb2xkIikNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnYm9sZCAgICAgICAgIkJvbGQiKQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCdleHRyYS1ib2xkICAiRXh0cmFCb2xkIikNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgndWx0cmEtYm9sZCAgIkJsYWNrIikNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChfd2VpZ2h0ICAgICAgIk5vcm1hbCIpKQ0KKyAgICAgICAg ICAgICItc3R5bGUiICAgICAgLChwY2FzZSAocGxpc3QtZ2V0IHNwZWMgOnNsYW50KQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCdpdGFsaWMgICJJdGFsaWMiKQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCdvYmxpcXVlICJPYmxpcXVlIikNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChfc2xhbnQgICAiTm9ybWFsIikpDQorICAgICAgICAgICAgIi1wb2ludHNp emUiICAiJVAiDQorICAgICAgICAgICAgIi11bmRlcmNvbG9yIiAiJWYiDQorICAgICAgICAgICAg Ii1maWxsIiAgICAgICAiJWIiDQorICAgICAgICAgICAgIi1kcmF3IiAgICAgICAidGV4dCAlWCwl WSAnJWMnIikpKSkNCisjK2VuZF9zcmMNCiANCiAqIENvbnRyaWJ1dGluZw0KLTpQUk9QRVJUSUVT Og0KLTpDVVNUT01fSUQ6IGg6OWMzY2Q4NDItMTRiNy00NGQ3LTg0YjItYTVjOGJjM2ZjM2IxDQot OkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjljM2NkODQyLTE0YjctNDRkNy04 NGIyLWE1YzhiYzNmYzNiMQ0KKzplbmQ6DQogDQogVGhpcyBzZWN0aW9uIGRvY3VtZW50cyB0aGUg Y2Fub25pY2FsIHNvdXJjZXMgb2YgdGhlIHRoZW1lcyBhbmQgdGhlIHdheXMNCiBpbiB3aGljaCB5 b3UgY2FuIGNvbnRyaWJ1dGUgdG8gdGhlaXIgb25nb2luZyBkZXZlbG9wbWVudC4NCiANCiAqKiBT b3VyY2VzIG9mIHRoZSB0aGVtZXMNCi06UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjg5NTA0 ZjFjLWM5YTEtNGJkOS1hYjM5LTc4ZmQwZWRkYjQ3Yw0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQor OmN1c3RvbV9pZDogaDo4OTUwNGYxYy1jOWExLTRiZDktYWIzOS03OGZkMGVkZGI0N2MNCis6ZW5k Og0KKyMrY2luZGV4OiBTb3VyY2VzIG9mIHRoZSB0aGVtZXMNCiANCi1UaGUgPW1vZHVzLW9wZXJh bmRpPSBhbmQgPW1vZHVzLXZpdmVuZGk9IHRoZW1lcyBhcmUgYnVpbHQgaW50byBFbWFjcy4NCi1D dXJyZW50bHkgdGhleSBhcmUgaW4gdGhlIHByb2plY3QncyA9bWFzdGVyPSBicmFuY2gsIHdoaWNo IGlzIHRyYWNraW5nIHRoZQ0KLW5leHQgZGV2ZWxvcG1lbnQgcmVsZWFzZSB0YXJnZXQuDQorVGhl IH5tb2R1cy1vcGVyYW5kaX4gYW5kIH5tb2R1cy12aXZlbmRpfiB0aGVtZXMgYXJlIGJ1aWx0IGlu dG8gRW1hY3MuDQorQ3VycmVudGx5IHRoZXkgYXJlIGluIEVtYWNzJyBnaXQgbWFpbiBicmFuY2gg KHRydW5rKSwgd2hpY2ggaXMgdHJhY2tpbmcNCit0aGUgbmV4dCBkZXZlbG9wbWVudCByZWxlYXNl IHRhcmdldC4NCiANCiBUaGUgc291cmNlIGNvZGUgb2YgdGhlIHRoZW1lcyBpcyBbW2h0dHBzOi8v Z2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMvXVthdmFpbGFibGUgb24gR2l0bGFi XV0sIGZvciB0aGUgdGltZQ0KIGJlaW5nLiAgQSBbW2h0dHBzOi8vZ2l0aHViLmNvbS9wcm90ZXNp bGFvcy9tb2R1cy10aGVtZXMvXVttaXJyb3Igb24gR2l0aHViXV0gaXMgYWxzbyBvbiBvZmZlci4N CiANCi1BbiBIVE1MIHZlcnNpb24gb2YgdGhpcyBtYW51YWwgaXMgYXZhaWxhYmxlIGFzIGFuIGV4 dGVuc2lvbiB0byB0aGUNCitBbiBIVE1MIHZlcnNpb24gb2YgdGhpcyBtYW51YWwgaXMgcHJvdmlk ZWQgYXMgYW4gZXh0ZW5zaW9uIG9mIHRoZQ0KIFtbaHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vbW9k dXMtdGhlbWVzL11bYXV0aG9yJ3MgcGVyc29uYWwgd2Vic2l0ZV1dIChkb2VzIG5vdCByZWx5IG9u IGFueSBub24tZnJlZSBjb2RlKS4NCiANCiAqKiBJc3N1ZXMgeW91IGNhbiBoZWxwIHdpdGgNCi06 UFJPUEVSVElFUzoNCi06Q1VTVE9NX0lEOiBoOjY1MzZjOGQ1LTNmOTgtNDNhYi1hNzg3LWI5NDEy MGU3MzVlOA0KLTpFTkQ6DQorOnByb3BlcnRpZXM6DQorOmN1c3RvbV9pZDogaDo2NTM2YzhkNS0z Zjk4LTQzYWItYTc4Ny1iOTQxMjBlNzM1ZTgNCis6ZW5kOg0KKyMrY2luZGV4OiBDb250cmlidXRp bmcNCiANCiBBIGZldyB0YXNrcyB5b3UgY2FuIGhlbHAgd2l0aDoNCiANCkBAIC0xODAyLDggKzI2 NjYsOCBAQCAqKiBJc3N1ZXMgeW91IGNhbiBoZWxwIHdpdGgNCiANCiBbWyNoOjExMTc3M2UyLWYy NmYtNGI2OC04YzRmLTk3OTRjYTZiOTYzM11bUGF0Y2hlcyByZXF1aXJlIGNvcHlyaWdodCBhc3Np Z25tZW50IHRvIHRoZSBGU0ZdXS4NCiANCi1JdCB3b3VsZCBiZSBncmVhdCBpZiB5b3VyIGZlZWRi YWNrIGFsc28gaW5jbHVkZXMgc29tZSBzY3JlZW5zaG90cywgR0lGcywNCi1vciBzaG9ydCB2aWRl b3MsIGFzIHdlbGwgYXMgZnVydGhlciBpbnN0cnVjdGlvbnMgdG8gcmVwcm9kdWNlIGEgZ2l2ZW4N CitJdCBpcyBwcmVmZXJhYmxlIHRoYXQgeW91ciBmZWVkYmFjayBpbmNsdWRlcyBzb21lIHNjcmVl bnNob3RzLCBHSUZzLCBvcg0KK3Nob3J0IHZpZGVvcywgYXMgd2VsbCBhcyBmdXJ0aGVyIGluc3Ry dWN0aW9ucyB0byByZXByb2R1Y2UgYSBnaXZlbg0KIHNldHVwLiAgVGhvdWdoIHRoaXMgaXMgbm90 IGEgcmVxdWlyZW1lbnQuDQogDQogV2hhdGV2ZXIgeW91IGRvLCBiZWFyIGluIG1pbmQgdGhlIG92 ZXJhcmNoaW5nIG9iamVjdGl2ZSBvZiB0aGUgTW9kdXMNCkBAIC0xODEzLDExICsyNjc3LDkgQEAg KiogSXNzdWVzIHlvdSBjYW4gaGVscCB3aXRoDQogaW50ZXJlc3Qgb2YgdGhlIGxhdHRlci4NCiAN CiAqKiBQYXRjaGVzIHJlcXVpcmUgY29weXJpZ2h0IGFzc2lnbm1lbnQgdG8gdGhlIEZTRg0KLTpQ Uk9QRVJUSUVTOg0KLTpBTFRfVElUTEU6IE1lcmdlIHJlcXVlc3RzDQotOkRFU0NSSVBUSU9OOiBM ZWdhbCBjb25zaWRlcmF0aW9ucyBmb3IgY29kZSBwYXRjaGVzDQotOkNVU1RPTV9JRDogaDoxMTE3 NzNlMi1mMjZmLTRiNjgtOGM0Zi05Nzk0Y2E2Yjk2MzMNCi06RU5EOg0KKzpwcm9wZXJ0aWVzOg0K KzpjdXN0b21faWQ6IGg6MTExNzczZTItZjI2Zi00YjY4LThjNGYtOTc5NGNhNmI5NjMzDQorOmVu ZDoNCiANCiBDb2RlIGNvbnRyaWJ1dGlvbnMgYXJlIG1vc3Qgd2VsY29tZS4gIEZvciBhbnkgbWFq b3IgZWRpdCAobW9yZSB0aGFuIDE1DQogbGluZXMsIG9yIHNvLCBpbiBhZ2dyZWdhdGUgcGVyIHBl cnNvbiksIHlvdSBuZWVkIHRvIG1ha2UgYSBjb3B5cmlnaHQNCkBAIC0xODc1LDQ4ICsyNzM3LDU4 IEBAICoqIFBhdGNoZXMgcmVxdWlyZSBjb3B5cmlnaHQgYXNzaWdubWVudCB0byB0aGUgRlNGDQog W1doaWNoIGZpbGVzIGhhdmUgeW91IGNoYW5nZWQgc28gZmFyLCBhbmQgd2hpY2ggbmV3IGZpbGVz IGhhdmUgeW91IHdyaXR0ZW4NCiBzbyBmYXI/XQ0KIA0KLUNoYW5nZWQgYSBjb3VwbGUgb2YgdGhl bWVzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIEVtYWNzIHNvdXJjZSBjb2RlOg0KLQ0KLS4vZXRjL3Ro ZW1lcy9tb2R1cy1vcGVyYW5kaS10aGVtZS5lbA0KLS4vZXRjL3RoZW1lcy9tb2R1cy12aXZlbmRp LXRoZW1lLmVsDQogIytlbmRfZXhhbXBsZQ0KIA0KICogQWNrbm93bGVkZ2VtZW50cw0KLTpQUk9Q RVJUSUVTOg0KLTpDVVNUT01fSUQ6IGg6OTVjM2RhMjMtMjE3Zi00MDRlLWI1ZjMtNTZjNzU3NjBl YmNmDQotOkVORDoNCis6cHJvcGVydGllczoNCis6Y3VzdG9tX2lkOiBoOjk1YzNkYTIzLTIxN2Yt NDA0ZS1iNWYzLTU2Yzc1NzYwZWJjZg0KKzplbmQ6DQorIytjaW5kZXg6IENvbnRyaWJ1dG9ycw0K IA0KLVRoZSBNb2R1cyB0aGVtZXMgYXJlIGEgY29sbGVjdGl2ZSBlZmZvcnQuICBFdmVyeSBjb250 cmlidXRpb24gY291bnRzLg0KK1RoZSBNb2R1cyB0aGVtZXMgYXJlIGEgY29sbGVjdGl2ZSBlZmZv cnQuICBFdmVyeSBiaXQgb2Ygd29yayBtYXR0ZXJzLg0KIA0KICsgQXV0aG9yL21haW50YWluZXIg OjogUHJvdGVzaWxhb3MgU3RhdnJvdS4NCiANCiArIENvbnRyaWJ1dGlvbnMgdG8gY29kZSBvciBk b2N1bWVudGF0aW9uIDo6IEFuZGVycyBKb2hhbnNzb24sIEJhc2lsDQotICBMLiBDb250b3ZvdW5l c2lvcywgRWxpIFphcmV0c2tpaSwgTWFkaGF2YW4gS3Jpc2huYW4sIE1hcmt1cyBCZXBwbGVyLA0K LSAgTWF0dGhldyBTdGV2ZW5zb24sIFNocmV5YXMgUmFnYXZhbiwgU3RlZmFuIEthbmdhcywgVmlu Y2VudCBNdXJwaHkuDQotDQotKyBJZGVhcyBhbmQgdXNlciBmZWVkYmFjayA6OiBBYXJvbiBKZW5z ZW4sIEFkYW0gU3BpZXJzLCBBbGV4IEdyaWZmaW4sDQotICBBbGV4IFBlaXRzaW5pcywgQWxleGV5 IFNobWFsa28sIEFuZGVycyBKb2hhbnNzb24sIEFuZHLDqSBBbGV4YW5kcmUNCi0gIEdvbWVzLCBB cmlmIFJlemFpLCBCYXNpbCBMLiBDb250b3ZvdW5lc2lvcywgRGFtaWVuIENhc3NvdSwgRGFyaW8N Ci0gIEdqb3JnamV2c2tpLCBEYXZpZCBFZG1vbmRzb24sIERhdm9yIFJvdGltLCBEaXZhbiBTYW50 YW5hLCBHZXJyeQ0KLSAgQWdib2JhZGEsIEdpYW5sdWNhIFJlY2NoaWEsIElsamEgS29ja2VuLCBJ cmlzIEdhcmNpYSwgTGVuIFRyaWdnLA0KLSAgTWFudWVsIFViZXJ0aSwgTWFyayBCdXJ0b24sIE1h cmt1cyBCZXBwbGVyLCBNaWNoYWVsIEdvbGRlbmJlcmcsIE11cmlsbw0KLSAgUGVyZWlyYSwgTmlj b2xhcyBEZSBKYWVnaGVyZSwgUGF1bCBQb2xvc2tvdiwgUGllcnJlIFTDqWNob3VleXJlcywgUm9t YW4NCi0gIFJ1ZGFrb3YsIFJ5YW4gUGhpbGxpcHMsIFNocmV5YXMgUmFnYXZhbiwgU2ltb24gUHVn bmV0LCBUYXNzaWxvIEhvcm4sDQotICBUaGliYXV0IFZlcnJvbiwgVHJleSBNZXJrbGV5LCBUb2dh biBNdWZ0dW9nbHUsIFVyaSBTaGFyZiwgVXRrYXJzaA0KLSAgU2luZ2gsIFZpbmNlbnQgRm9sZXku ICBBcyB3ZWxsIGFzIHVzZXJzOiBCZW4sIEV1Z2VuZSwgRm91cmNoYXV4LA0KLSAgRnJlZHJpaywg TW9lc2FzamksIE5pY2ssIFRoZUJsb2I0MiwgYmVwb2x5bWF0aGUsIGRpbmtvLCBkb29saW8sDQot ICBqaXhpdWYsIG9rYW1zbiwgdHljaG8gZ2FyZW4uDQotDQotKyBQYWNrYWdpbmcgOjogRGhhdmFu IFZhaWR5YSAoRGViaWFuKSwgU3RlZmFuIEthbmdhcyAoY29yZSBFbWFjcyksDQotICBTdGVmYW4g TW9ubmllciAoR05VIEVscGEpLg0KKyAgTC57e3tzcGFjZSgpfX19IENvbnRvdm91bmVzaW9zLCBD YXJsbyBaYW5jYW5hcm8sIEVsaSBaYXJldHNraWksIEtvc3RhZGluDQorICBOaW5ldiwgTWFkaGF2 YW4gS3Jpc2huYW4sIE1hcmt1cyBCZXBwbGVyLCBNYXR0aGV3IFN0ZXZlbnNvbiwgTmljb2xhcw0K KyAgRGUgSmFlZ2hlcmUsIFNocmV5YXMgUmFnYXZhbiwgU3RlZmFuIEthbmdhcywgVmluY2VudCBN dXJwaHksIFhpbmdsdQ0KKyAgQ2hlbi4NCisNCisrIElkZWFzIGFuZCB1c2VyIGZlZWRiYWNrIDo6 IEFhcm9uIEplbnNlbiwgQWRhbSBTcGllcnMsIEFkcmlhbiBNYW5lYSwNCisgIEFsZXggR3JpZmZp biwgQWxleCBQZWl0c2luaXMsIEFsZXhleSBTaG1hbGtvLCBBbG9rIFNpbmdoLCBBbmRlcnMNCisg IEpvaGFuc3NvbiwgQW5kcsOpIEFsZXhhbmRyZSBHb21lcywgQXJpZiBSZXphaSwgQmFzaWwgTC57 e3tzcGFjZSgpfX19DQorICBDb250b3ZvdW5lc2lvcywgQnVyZ2VzcyBDaGFuZywgQ2hyaXN0aWFu IFRpZXR6ZSwgQ2hyaXN0b3BoZXIgRGltZWNoLA0KKyAgRGFtaWVuIENhc3NvdSwgRGFuaWVsIE1l bmRsZXIsIERhcmlvIEdqb3JnamV2c2tpLCBEYXZpZCBFZG1vbmRzb24sDQorICBEYXZvciBSb3Rp bSwgRGl2YW4gU2FudGFuYSwgR2VycnkgQWdib2JhZGEsIEdpYW5sdWNhIFJlY2NoaWEsIEd1c3Rh dm8NCisgIEJhcnJvcywgSMO2cm1ldGphbiBZaWx0aXosIElsamEgS29ja2VuLCBJcmlzIEdhcmNp YSwgSmVyZW15IEZyaWVzZW4sDQorICBKb2huIEhhbWFuLCBKb3NodWEgTydDb25ub3IsIEtldmlu IEZsZW1pbmcsIEtvc3RhZGluIE5pbmV2LCBMZW4gVHJpZ2csDQorICBNYW51ZWwgVWJlcnRpLCBN YXJrIEJ1cnRvbiwgTWFya3VzIEJlcHBsZXIsIE1pY2hhZWwgR29sZGVuYmVyZywgTW9yZ2FuDQor ICBTbWl0aCwgTXVyaWxvIFBlcmVpcmEsIE5pY29sYXMgRGUgSmFlZ2hlcmUsIFBhdWwgUG9sb3Nr b3YsIFBldGUNCisgIEthem1pZXIsIFBldGVyIFd1LCBQaGlsaXAgSy4sIFBpZXJyZSBUw6ljaG91 ZXlyZXMsIFJvbWFuIFJ1ZGFrb3YsIFJ5YW4NCisgIFBoaWxsaXBzLCBTYW0gS2xlaW5tYW4sIFNo cmV5YXMgUmFnYXZhbiwgU2ltb24gUHVnbmV0LCBUYXNzaWxvIEhvcm4sDQorICBUaGliYXV0IFZl cnJvbiwgVHJleSBNZXJrbGV5LCBUb2dhbiBNdWZ0dW9nbHUsIFRvb24gQ2xhZXMsIFVyaSBTaGFy ZiwNCisgIFV0a2Fyc2ggU2luZ2gsIFZpbmNlbnQgRm9sZXkuICBBcyB3ZWxsIGFzIHVzZXJzOiBC ZW4sIENzQmlnRGF0YUh1YjEsDQorICBFbWFjcyBDb250cmliLCBFdWdlbmUsIEZvdXJjaGF1eCwg RnJlZHJpaywgTW9lc2FzamksIE5pY2ssIFRoZUJsb2I0MiwNCisgIGJlcG9seW1hdGhlLCBkb29s aW8sIGZsZWltZ3J1YmVyLCBpU2VlVSwgaml4aXVmLCBva2Ftc24uDQorDQorKyBQYWNrYWdpbmcg OjogQmFzaWwgTC57e3tzcGFjZSgpfX19IENvbnRvdm91bmVzaW9zLCBFbGkgWmFyZXRza2lpLCBH bGVubg0KKyAgTW9ycmlzLCBNYXVybyBBcmFuZGEsIFJpY2hhcmQgU3RhbGxtYW4sIFN0ZWZhbiBL YW5nYXMgKGNvcmUgRW1hY3MpLA0KKyAgU3RlZmFuIE1vbm5pZXIgKEdOVSBFbHBhKSwgQW5kcsOp IEFsZXhhbmRyZSBHb21lcywgRGltYWtha29zIERpbW9zLA0KKyAgTW9yZ2FuIFNtaXRoLCBOaWNv bGFzIEdvYXppb3UgKEd1aXgpLCBEaGF2YW4gVmFpZHlhIChEZWJpYW4pLg0KIA0KICsgSW5zcGly YXRpb24gZm9yIGNlcnRhaW4gZmVhdHVyZXMgOjogQm96aGlkYXIgQmF0c292ICh6ZW5idXJuLXRo ZW1lKSwNCiAgIEZhYnJpY2UgTmllc3NlbiAobGV1dmVuLXRoZW1lKS4NCiANCitTcGVjaWFsIHRo YW5rcywgaW4gbm8gcGFydGljdWxhciBvcmRlciwgdG8gTWFudWVsIFViZXJ0aSBhbmQgT21hcg0K K0FudG9sw61uIENhbWFyZW5hIGZvciB0aGVpciBsb25nIHRpbWUgY29udHJpYnV0aW9ucyBhbmQg aW5zaWdodGZ1bA0KK2NvbW1lbnRhcnkuDQorDQogKiBNZXRhDQotOlBST1BFUlRJRVM6DQotOkNV U1RPTV9JRDogaDoxMzc1MjU4MS00Mzc4LTQ3OGMtYWYxNy0xNjViNmU3NmJjMWINCi06RU5EOg0K Kzpwcm9wZXJ0aWVzOg0KKzpjdXN0b21faWQ6IGg6MTM3NTI1ODEtNDM3OC00NzhjLWFmMTctMTY1 YjZlNzZiYzFiDQorOmVuZDoNCisjK2NpbmRleDogRGV2ZWxvcG1lbnQgbm90ZXMNCiANCiBJZiB5 b3UgYXJlIGN1cmlvdXMgYWJvdXQgdGhlIHByaW5jaXBsZXMgdGhhdCBnb3Zlcm4gdGhlIGRldmVs b3BtZW50IG9mDQogdGhpcyBwcm9qZWN0IHJlYWQgdGhlIGVzc2F5IFtbaHR0cHM6Ly9wcm90ZXNp bGFvcy5jb20vY29kZWxvZy8yMDIwLTAzLTE3LWRlc2lnbi1tb2R1cy10aGVtZXMtZW1hY3MvXVtP biB0aGUgZGVzaWduIG9mIHRoZSBNb2R1cyB0aGVtZXNdXQ0KQEAgLTE5MzEsMzIgKzI4MDMsNTAx IEBAICogTWV0YQ0KICsgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAtMDct MDQtbW9kdXMtdGhlbWVzLWZhaW50LWNvbG91cnMvXVtNb2R1cyB0aGVtZXM6IG5ldyAiZmFpbnQg c3ludGF4IiBvcHRpb25dXSAoMjAyMC0wNy0wNCkNCiArIFtbaHR0cHM6Ly9wcm90ZXNpbGFvcy5j b20vY29kZWxvZy8yMDIwLTA3LTA4LW1vZHVzLXRoZW1lcy1udWFuY2VkLWNvbG91cnMvXVtNb2R1 cyB0aGVtZXM6IG1ham9yIHJldmlldyBvZiAibnVhbmNlZCIgY29sb3Vyc11dICgyMDIwLTA3LTA4 KQ0KICsgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAtMDktMTQtbW9kdXMt dGhlbWVzLXJldmlldy1ibHVlcy9dW01vZHVzIHRoZW1lczogcmV2aWV3IG9mIGJsdWUgY29sb3Vy c11dICgyMDIwLTA5LTE0KQ0KKysgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIw MjAtMTItMjctbW9kdXMtdGhlbWVzLXJldmlldy1yYWluYm93LWRlbGltaXRlcnMvXVtNb2R1cyB0 aGVtZXM6IHJldmlldyByYWluYm93LWRlbGltaXRlcnMgZmFjZXNdXSAoMjAyMC0xMi0yNykNCisr IFtbaHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vY29kZWxvZy8yMDIxLTAxLTExLW1vZHVzLXRoZW1l cy1yZXZpZXctc2VsZWN0LWZhaW50LWNvbG91cnMvXVtNb2R1cyB0aGVtZXM6IHJldmlldyBvZiBz ZWxlY3QgImZhaW50IiBjb2xvdXJzXV0gKDIwMjEtMDEtMTEpDQorKyBbW2h0dHBzOi8vcHJvdGVz aWxhb3MuY29tL2NvZGVsb2cvMjAyMS0wMi0yNS1tb2R1cy10aGVtZXMtZGlmZnMtZGV1dGVyYW5v cGlhL11bVGhlIE1vZHVzIHRoZW1lcyBub3cgY292ZXIgZGV1dGVyYW5vcGlhIGluIGRpZmZzXV0g KDIwMjEtMDItMjUpDQogDQotQW5kIGhlcmUgYXJlIHRoZSBjYW5vbmljYWwgc291cmNlcyBmb3Ig dGhpcyBwcm9qZWN0J3MgZG9jdW1lbnRhdGlvbjoNCitBbmQgaGVyZSBhcmUgdGhlIGNhbm9uaWNh bCBzb3VyY2VzIG9mIHRoaXMgcHJvamVjdCdzIGRvY3VtZW50YXRpb246DQogDQogKyBNYW51YWwg OjogPGh0dHBzOi8vcHJvdGVzaWxhb3MuY29tL21vZHVzLXRoZW1lcz4NCiArIENoYW5nZSBMb2cg OjogPGh0dHBzOi8vcHJvdGVzaWxhb3MuY29tL21vZHVzLXRoZW1lcy1jaGFuZ2Vsb2c+DQogKyBT Y3JlZW5zaG90cyA6OiA8aHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVzLXBpY3R1 cmVzPg0KIA0KLSogRXh0ZXJuYWwgcHJvamVjdHMgKHBvcnRzKQ0KLTpQUk9QRVJUSUVTOg0KLTpD VVNUT01fSUQ6IGg6MjFhZGI3YzgtMjIwOC00MWU4LTgwM2MtMDUyZTQyZTJjMDVkDQotOkVORDoN Ci0NCi1UaGUgcHJlc2VudCBzZWN0aW9uIGRvY3VtZW50cyBwcm9qZWN0cyB0aGF0IGV4dGVuZCB0 aGUgc2NvcGUgb2YgdGhlDQotTW9kdXMgdGhlbWVzLiAgVGhlIGZvbGxvd2luZyBsaXN0IHdpbGwg YmUgdXBkYXRlZCB3aGVuZXZlciByZWxldmFudA0KLWluZm9ybWF0aW9uIGlzIGJyb3VnaHQgdG8g bXkgYXR0ZW50aW9uLiAgSWYgeW91IGFscmVhZHkgaGF2ZSBvciBpbnRlbmQNCi10byBwcm9kdWNl IHN1Y2ggYSBwb3J0LCBmZWVsIHdlbGNvbWUgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb250 YWN0XVt0byBjb250YWN0IG1lXV0uDQotDQotKyBNb2R1cyBleHBvcnRlciA6OiBUaGlzIGlzIFtb aHR0cHM6Ly9naXRodWIuY29tL3BvbGFyaXM2NC9tb2R1cy1leHBvcnRlcl1bYW4gRWxpc3AgbGli cmFyeSB3cml0dGVuIGJ5IFNpbW9uIFB1Z25ldF1dLg0KLSAgTGljZW5zZWQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIEl0IGlzDQotICBtZWFudCB0 byBjYXB0dXJlIHRoZSBjb2xvciB2YWx1ZXMgb2YgdGhlIGFjdGl2ZSBNb2R1cyB0aGVtZSAoT3Bl cmFuZGkNCi0gIG9yIFZpdmVuZGkpIGFuZCBvdXRwdXQgaXQgYXMgYSB2YWxpZCB0aGVtZSBmb3Ig c29tZSBvdGhlciBhcHBsaWNhdGlvbi4NCi0NCiAqIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGlj ZW5zZQ0KLTpQUk9QRVJUSUVTOg0KLTpBUFBFTkRJWDogdA0KLTpDVVNUT01fSUQ6IGg6MzA3N2Mz ZDItN2Y5MC00MjI4LThmMGEtNzMxMjRmNDAyNmY2DQotOkVORDoNCis6cHJvcGVydGllczoNCis6 YXBwZW5kaXg6IHQNCis6Y3VzdG9tX2lkOiBoOjMwNzdjM2QyLTdmOTAtNDIyOC04ZjBhLTczMTI0 ZjQwMjZmNg0KKzplbmQ6DQogDQogIyt0ZXhpbmZvOiBAaW5jbHVkZSBkb2NsaWNlbnNlLnRleGkN CisNCisjK2JlZ2luX2V4cG9ydCBodG1sDQorDQorICAgICAgICAgICAgICAgIEdOVSBGcmVlIERv Y3VtZW50YXRpb24gTGljZW5zZQ0KKyAgICAgICAgICAgICAgICAgVmVyc2lvbiAxLjMsIDMgTm92 ZW1iZXIgMjAwOA0KKw0KKw0KKyBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDcs IDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorICAgICA8aHR0cHM6Ly9mc2Yu b3JnLz4NCisgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVy YmF0aW0gY29waWVzDQorIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0 IGlzIG5vdCBhbGxvd2VkLg0KKw0KKzAuIFBSRUFNQkxFDQorDQorVGhlIHB1cnBvc2Ugb2YgdGhp cyBMaWNlbnNlIGlzIHRvIG1ha2UgYSBtYW51YWwsIHRleHRib29rLCBvciBvdGhlcg0KK2Z1bmN0 aW9uYWwgYW5kIHVzZWZ1bCBkb2N1bWVudCAiZnJlZSIgaW4gdGhlIHNlbnNlIG9mIGZyZWVkb206 IHRvDQorYXNzdXJlIGV2ZXJ5b25lIHRoZSBlZmZlY3RpdmUgZnJlZWRvbSB0byBjb3B5IGFuZCBy ZWRpc3RyaWJ1dGUgaXQsDQord2l0aCBvciB3aXRob3V0IG1vZGlmeWluZyBpdCwgZWl0aGVyIGNv bW1lcmNpYWxseSBvciBub25jb21tZXJjaWFsbHkuDQorU2Vjb25kYXJpbHksIHRoaXMgTGljZW5z ZSBwcmVzZXJ2ZXMgZm9yIHRoZSBhdXRob3IgYW5kIHB1Ymxpc2hlciBhIHdheQ0KK3RvIGdldCBj cmVkaXQgZm9yIHRoZWlyIHdvcmssIHdoaWxlIG5vdCBiZWluZyBjb25zaWRlcmVkIHJlc3BvbnNp YmxlDQorZm9yIG1vZGlmaWNhdGlvbnMgbWFkZSBieSBvdGhlcnMuDQorDQorVGhpcyBMaWNlbnNl IGlzIGEga2luZCBvZiAiY29weWxlZnQiLCB3aGljaCBtZWFucyB0aGF0IGRlcml2YXRpdmUNCit3 b3JrcyBvZiB0aGUgZG9jdW1lbnQgbXVzdCB0aGVtc2VsdmVzIGJlIGZyZWUgaW4gdGhlIHNhbWUg c2Vuc2UuICBJdA0KK2NvbXBsZW1lbnRzIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwg d2hpY2ggaXMgYSBjb3B5bGVmdA0KK2xpY2Vuc2UgZGVzaWduZWQgZm9yIGZyZWUgc29mdHdhcmUu DQorDQorV2UgaGF2ZSBkZXNpZ25lZCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gdXNlIGl0IGZv ciBtYW51YWxzIGZvciBmcmVlDQorc29mdHdhcmUsIGJlY2F1c2UgZnJlZSBzb2Z0d2FyZSBuZWVk cyBmcmVlIGRvY3VtZW50YXRpb246IGEgZnJlZQ0KK3Byb2dyYW0gc2hvdWxkIGNvbWUgd2l0aCBt YW51YWxzIHByb3ZpZGluZyB0aGUgc2FtZSBmcmVlZG9tcyB0aGF0IHRoZQ0KK3NvZnR3YXJlIGRv ZXMuICBCdXQgdGhpcyBMaWNlbnNlIGlzIG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIG1hbnVhbHM7 DQoraXQgY2FuIGJlIHVzZWQgZm9yIGFueSB0ZXh0dWFsIHdvcmssIHJlZ2FyZGxlc3Mgb2Ygc3Vi amVjdCBtYXR0ZXIgb3INCit3aGV0aGVyIGl0IGlzIHB1Ymxpc2hlZCBhcyBhIHByaW50ZWQgYm9v ay4gIFdlIHJlY29tbWVuZCB0aGlzIExpY2Vuc2UNCitwcmluY2lwYWxseSBmb3Igd29ya3Mgd2hv c2UgcHVycG9zZSBpcyBpbnN0cnVjdGlvbiBvciByZWZlcmVuY2UuDQorDQorDQorMS4gQVBQTElD QUJJTElUWSBBTkQgREVGSU5JVElPTlMNCisNCitUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkg bWFudWFsIG9yIG90aGVyIHdvcmssIGluIGFueSBtZWRpdW0sIHRoYXQNCitjb250YWlucyBhIG5v dGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgc2F5aW5nIGl0IGNhbiBiZQ0KK2Rp c3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuICBTdWNoIGEgbm90aWNl IGdyYW50cyBhDQord29ybGQtd2lkZSwgcm95YWx0eS1mcmVlIGxpY2Vuc2UsIHVubGltaXRlZCBp biBkdXJhdGlvbiwgdG8gdXNlIHRoYXQNCit3b3JrIHVuZGVyIHRoZSBjb25kaXRpb25zIHN0YXRl ZCBoZXJlaW4uICBUaGUgIkRvY3VtZW50IiwgYmVsb3csDQorcmVmZXJzIHRvIGFueSBzdWNoIG1h bnVhbCBvciB3b3JrLiAgQW55IG1lbWJlciBvZiB0aGUgcHVibGljIGlzIGENCitsaWNlbnNlZSwg YW5kIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gIFlvdSBhY2NlcHQgdGhlIGxpY2Vuc2UgaWYgeW91 DQorY29weSwgbW9kaWZ5IG9yIGRpc3RyaWJ1dGUgdGhlIHdvcmsgaW4gYSB3YXkgcmVxdWlyaW5n IHBlcm1pc3Npb24NCit1bmRlciBjb3B5cmlnaHQgbGF3Lg0KKw0KK0EgIk1vZGlmaWVkIFZlcnNp b24iIG9mIHRoZSBEb2N1bWVudCBtZWFucyBhbnkgd29yayBjb250YWluaW5nIHRoZQ0KK0RvY3Vt ZW50IG9yIGEgcG9ydGlvbiBvZiBpdCwgZWl0aGVyIGNvcGllZCB2ZXJiYXRpbSwgb3Igd2l0aA0K K21vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyIGxhbmd1YWdlLg0K Kw0KK0EgIlNlY29uZGFyeSBTZWN0aW9uIiBpcyBhIG5hbWVkIGFwcGVuZGl4IG9yIGEgZnJvbnQt bWF0dGVyIHNlY3Rpb24gb2YNCit0aGUgRG9jdW1lbnQgdGhhdCBkZWFscyBleGNsdXNpdmVseSB3 aXRoIHRoZSByZWxhdGlvbnNoaXAgb2YgdGhlDQorcHVibGlzaGVycyBvciBhdXRob3JzIG9mIHRo ZSBEb2N1bWVudCB0byB0aGUgRG9jdW1lbnQncyBvdmVyYWxsDQorc3ViamVjdCAob3IgdG8gcmVs YXRlZCBtYXR0ZXJzKSBhbmQgY29udGFpbnMgbm90aGluZyB0aGF0IGNvdWxkIGZhbGwNCitkaXJl Y3RseSB3aXRoaW4gdGhhdCBvdmVyYWxsIHN1YmplY3QuICAoVGh1cywgaWYgdGhlIERvY3VtZW50 IGlzIGluDQorcGFydCBhIHRleHRib29rIG9mIG1hdGhlbWF0aWNzLCBhIFNlY29uZGFyeSBTZWN0 aW9uIG1heSBub3QgZXhwbGFpbg0KK2FueSBtYXRoZW1hdGljcy4pICBUaGUgcmVsYXRpb25zaGlw IGNvdWxkIGJlIGEgbWF0dGVyIG9mIGhpc3RvcmljYWwNCitjb25uZWN0aW9uIHdpdGggdGhlIHN1 YmplY3Qgb3Igd2l0aCByZWxhdGVkIG1hdHRlcnMsIG9yIG9mIGxlZ2FsLA0KK2NvbW1lcmNpYWws IHBoaWxvc29waGljYWwsIGV0aGljYWwgb3IgcG9saXRpY2FsIHBvc2l0aW9uIHJlZ2FyZGluZw0K K3RoZW0uDQorDQorVGhlICJJbnZhcmlhbnQgU2VjdGlvbnMiIGFyZSBjZXJ0YWluIFNlY29uZGFy eSBTZWN0aW9ucyB3aG9zZSB0aXRsZXMNCithcmUgZGVzaWduYXRlZCwgYXMgYmVpbmcgdGhvc2Ug b2YgSW52YXJpYW50IFNlY3Rpb25zLCBpbiB0aGUgbm90aWNlDQordGhhdCBzYXlzIHRoYXQgdGhl IERvY3VtZW50IGlzIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZS4gIElmIGENCitzZWN0aW9u IGRvZXMgbm90IGZpdCB0aGUgYWJvdmUgZGVmaW5pdGlvbiBvZiBTZWNvbmRhcnkgdGhlbiBpdCBp cyBub3QNCithbGxvd2VkIHRvIGJlIGRlc2lnbmF0ZWQgYXMgSW52YXJpYW50LiAgVGhlIERvY3Vt ZW50IG1heSBjb250YWluIHplcm8NCitJbnZhcmlhbnQgU2VjdGlvbnMuICBJZiB0aGUgRG9jdW1l bnQgZG9lcyBub3QgaWRlbnRpZnkgYW55IEludmFyaWFudA0KK1NlY3Rpb25zIHRoZW4gdGhlcmUg YXJlIG5vbmUuDQorDQorVGhlICJDb3ZlciBUZXh0cyIgYXJlIGNlcnRhaW4gc2hvcnQgcGFzc2Fn ZXMgb2YgdGV4dCB0aGF0IGFyZSBsaXN0ZWQsDQorYXMgRnJvbnQtQ292ZXIgVGV4dHMgb3IgQmFj ay1Db3ZlciBUZXh0cywgaW4gdGhlIG5vdGljZSB0aGF0IHNheXMgdGhhdA0KK3RoZSBEb2N1bWVu dCBpcyByZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBIEZyb250LUNvdmVyIFRleHQgbWF5 DQorYmUgYXQgbW9zdCA1IHdvcmRzLCBhbmQgYSBCYWNrLUNvdmVyIFRleHQgbWF5IGJlIGF0IG1v c3QgMjUgd29yZHMuDQorDQorQSAiVHJhbnNwYXJlbnQiIGNvcHkgb2YgdGhlIERvY3VtZW50IG1l YW5zIGEgbWFjaGluZS1yZWFkYWJsZSBjb3B5LA0KK3JlcHJlc2VudGVkIGluIGEgZm9ybWF0IHdo b3NlIHNwZWNpZmljYXRpb24gaXMgYXZhaWxhYmxlIHRvIHRoZQ0KK2dlbmVyYWwgcHVibGljLCB0 aGF0IGlzIHN1aXRhYmxlIGZvciByZXZpc2luZyB0aGUgZG9jdW1lbnQNCitzdHJhaWdodGZvcndh cmRseSB3aXRoIGdlbmVyaWMgdGV4dCBlZGl0b3JzIG9yIChmb3IgaW1hZ2VzIGNvbXBvc2VkIG9m DQorcGl4ZWxzKSBnZW5lcmljIHBhaW50IHByb2dyYW1zIG9yIChmb3IgZHJhd2luZ3MpIHNvbWUg d2lkZWx5IGF2YWlsYWJsZQ0KK2RyYXdpbmcgZWRpdG9yLCBhbmQgdGhhdCBpcyBzdWl0YWJsZSBm b3IgaW5wdXQgdG8gdGV4dCBmb3JtYXR0ZXJzIG9yDQorZm9yIGF1dG9tYXRpYyB0cmFuc2xhdGlv biB0byBhIHZhcmlldHkgb2YgZm9ybWF0cyBzdWl0YWJsZSBmb3IgaW5wdXQNCit0byB0ZXh0IGZv cm1hdHRlcnMuICBBIGNvcHkgbWFkZSBpbiBhbiBvdGhlcndpc2UgVHJhbnNwYXJlbnQgZmlsZQ0K K2Zvcm1hdCB3aG9zZSBtYXJrdXAsIG9yIGFic2VuY2Ugb2YgbWFya3VwLCBoYXMgYmVlbiBhcnJh bmdlZCB0byB0aHdhcnQNCitvciBkaXNjb3VyYWdlIHN1YnNlcXVlbnQgbW9kaWZpY2F0aW9uIGJ5 IHJlYWRlcnMgaXMgbm90IFRyYW5zcGFyZW50Lg0KK0FuIGltYWdlIGZvcm1hdCBpcyBub3QgVHJh bnNwYXJlbnQgaWYgdXNlZCBmb3IgYW55IHN1YnN0YW50aWFsIGFtb3VudA0KK29mIHRleHQuICBB IGNvcHkgdGhhdCBpcyBub3QgIlRyYW5zcGFyZW50IiBpcyBjYWxsZWQgIk9wYXF1ZSIuDQorDQor RXhhbXBsZXMgb2Ygc3VpdGFibGUgZm9ybWF0cyBmb3IgVHJhbnNwYXJlbnQgY29waWVzIGluY2x1 ZGUgcGxhaW4NCitBU0NJSSB3aXRob3V0IG1hcmt1cCwgVGV4aW5mbyBpbnB1dCBmb3JtYXQsIExh VGVYIGlucHV0IGZvcm1hdCwgU0dNTA0KK29yIFhNTCB1c2luZyBhIHB1YmxpY2x5IGF2YWlsYWJs ZSBEVEQsIGFuZCBzdGFuZGFyZC1jb25mb3JtaW5nIHNpbXBsZQ0KK0hUTUwsIFBvc3RTY3JpcHQg b3IgUERGIGRlc2lnbmVkIGZvciBodW1hbiBtb2RpZmljYXRpb24uICBFeGFtcGxlcyBvZg0KK3Ry YW5zcGFyZW50IGltYWdlIGZvcm1hdHMgaW5jbHVkZSBQTkcsIFhDRiBhbmQgSlBHLiAgT3BhcXVl IGZvcm1hdHMNCitpbmNsdWRlIHByb3ByaWV0YXJ5IGZvcm1hdHMgdGhhdCBjYW4gYmUgcmVhZCBh bmQgZWRpdGVkIG9ubHkgYnkNCitwcm9wcmlldGFyeSB3b3JkIHByb2Nlc3NvcnMsIFNHTUwgb3Ig WE1MIGZvciB3aGljaCB0aGUgRFREIGFuZC9vcg0KK3Byb2Nlc3NpbmcgdG9vbHMgYXJlIG5vdCBn ZW5lcmFsbHkgYXZhaWxhYmxlLCBhbmQgdGhlDQorbWFjaGluZS1nZW5lcmF0ZWQgSFRNTCwgUG9z dFNjcmlwdCBvciBQREYgcHJvZHVjZWQgYnkgc29tZSB3b3JkDQorcHJvY2Vzc29ycyBmb3Igb3V0 cHV0IHB1cnBvc2VzIG9ubHkuDQorDQorVGhlICJUaXRsZSBQYWdlIiBtZWFucywgZm9yIGEgcHJp bnRlZCBib29rLCB0aGUgdGl0bGUgcGFnZSBpdHNlbGYsDQorcGx1cyBzdWNoIGZvbGxvd2luZyBw YWdlcyBhcyBhcmUgbmVlZGVkIHRvIGhvbGQsIGxlZ2libHksIHRoZSBtYXRlcmlhbA0KK3RoaXMg TGljZW5zZSByZXF1aXJlcyB0byBhcHBlYXIgaW4gdGhlIHRpdGxlIHBhZ2UuICBGb3Igd29ya3Mg aW4NCitmb3JtYXRzIHdoaWNoIGRvIG5vdCBoYXZlIGFueSB0aXRsZSBwYWdlIGFzIHN1Y2gsICJU aXRsZSBQYWdlIiBtZWFucw0KK3RoZSB0ZXh0IG5lYXIgdGhlIG1vc3QgcHJvbWluZW50IGFwcGVh cmFuY2Ugb2YgdGhlIHdvcmsncyB0aXRsZSwNCitwcmVjZWRpbmcgdGhlIGJlZ2lubmluZyBvZiB0 aGUgYm9keSBvZiB0aGUgdGV4dC4NCisNCitUaGUgInB1Ymxpc2hlciIgbWVhbnMgYW55IHBlcnNv biBvciBlbnRpdHkgdGhhdCBkaXN0cmlidXRlcyBjb3BpZXMgb2YNCit0aGUgRG9jdW1lbnQgdG8g dGhlIHB1YmxpYy4NCisNCitBIHNlY3Rpb24gIkVudGl0bGVkIFhZWiIgbWVhbnMgYSBuYW1lZCBz dWJ1bml0IG9mIHRoZSBEb2N1bWVudCB3aG9zZQ0KK3RpdGxlIGVpdGhlciBpcyBwcmVjaXNlbHkg WFlaIG9yIGNvbnRhaW5zIFhZWiBpbiBwYXJlbnRoZXNlcyBmb2xsb3dpbmcNCit0ZXh0IHRoYXQg dHJhbnNsYXRlcyBYWVogaW4gYW5vdGhlciBsYW5ndWFnZS4gIChIZXJlIFhZWiBzdGFuZHMgZm9y IGENCitzcGVjaWZpYyBzZWN0aW9uIG5hbWUgbWVudGlvbmVkIGJlbG93LCBzdWNoIGFzICJBY2tu b3dsZWRnZW1lbnRzIiwNCisiRGVkaWNhdGlvbnMiLCAiRW5kb3JzZW1lbnRzIiwgb3IgIkhpc3Rv cnkiLikgIFRvICJQcmVzZXJ2ZSB0aGUgVGl0bGUiDQorb2Ygc3VjaCBhIHNlY3Rpb24gd2hlbiB5 b3UgbW9kaWZ5IHRoZSBEb2N1bWVudCBtZWFucyB0aGF0IGl0IHJlbWFpbnMgYQ0KK3NlY3Rpb24g IkVudGl0bGVkIFhZWiIgYWNjb3JkaW5nIHRvIHRoaXMgZGVmaW5pdGlvbi4NCisNCitUaGUgRG9j dW1lbnQgbWF5IGluY2x1ZGUgV2FycmFudHkgRGlzY2xhaW1lcnMgbmV4dCB0byB0aGUgbm90aWNl IHdoaWNoDQorc3RhdGVzIHRoYXQgdGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gdGhlIERvY3VtZW50 LiAgVGhlc2UgV2FycmFudHkNCitEaXNjbGFpbWVycyBhcmUgY29uc2lkZXJlZCB0byBiZSBpbmNs dWRlZCBieSByZWZlcmVuY2UgaW4gdGhpcw0KK0xpY2Vuc2UsIGJ1dCBvbmx5IGFzIHJlZ2FyZHMg ZGlzY2xhaW1pbmcgd2FycmFudGllczogYW55IG90aGVyDQoraW1wbGljYXRpb24gdGhhdCB0aGVz ZSBXYXJyYW50eSBEaXNjbGFpbWVycyBtYXkgaGF2ZSBpcyB2b2lkIGFuZCBoYXMNCitubyBlZmZl Y3Qgb24gdGhlIG1lYW5pbmcgb2YgdGhpcyBMaWNlbnNlLg0KKw0KKzIuIFZFUkJBVElNIENPUFlJ TkcNCisNCitZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIERvY3VtZW50IGluIGFueSBt ZWRpdW0sIGVpdGhlcg0KK2NvbW1lcmNpYWxseSBvciBub25jb21tZXJjaWFsbHksIHByb3ZpZGVk IHRoYXQgdGhpcyBMaWNlbnNlLCB0aGUNCitjb3B5cmlnaHQgbm90aWNlcywgYW5kIHRoZSBsaWNl bnNlIG5vdGljZSBzYXlpbmcgdGhpcyBMaWNlbnNlIGFwcGxpZXMNCit0byB0aGUgRG9jdW1lbnQg YXJlIHJlcHJvZHVjZWQgaW4gYWxsIGNvcGllcywgYW5kIHRoYXQgeW91IGFkZCBubw0KK290aGVy IGNvbmRpdGlvbnMgd2hhdHNvZXZlciB0byB0aG9zZSBvZiB0aGlzIExpY2Vuc2UuICBZb3UgbWF5 IG5vdCB1c2UNCit0ZWNobmljYWwgbWVhc3VyZXMgdG8gb2JzdHJ1Y3Qgb3IgY29udHJvbCB0aGUg cmVhZGluZyBvciBmdXJ0aGVyDQorY29weWluZyBvZiB0aGUgY29waWVzIHlvdSBtYWtlIG9yIGRp c3RyaWJ1dGUuICBIb3dldmVyLCB5b3UgbWF5IGFjY2VwdA0KK2NvbXBlbnNhdGlvbiBpbiBleGNo YW5nZSBmb3IgY29waWVzLiAgSWYgeW91IGRpc3RyaWJ1dGUgYSBsYXJnZSBlbm91Z2gNCitudW1i ZXIgb2YgY29waWVzIHlvdSBtdXN0IGFsc28gZm9sbG93IHRoZSBjb25kaXRpb25zIGluIHNlY3Rp b24gMy4NCisNCitZb3UgbWF5IGFsc28gbGVuZCBjb3BpZXMsIHVuZGVyIHRoZSBzYW1lIGNvbmRp dGlvbnMgc3RhdGVkIGFib3ZlLCBhbmQNCit5b3UgbWF5IHB1YmxpY2x5IGRpc3BsYXkgY29waWVz Lg0KKw0KKw0KKzMuIENPUFlJTkcgSU4gUVVBTlRJVFkNCisNCitJZiB5b3UgcHVibGlzaCBwcmlu dGVkIGNvcGllcyAob3IgY29waWVzIGluIG1lZGlhIHRoYXQgY29tbW9ubHkgaGF2ZQ0KK3ByaW50 ZWQgY292ZXJzKSBvZiB0aGUgRG9jdW1lbnQsIG51bWJlcmluZyBtb3JlIHRoYW4gMTAwLCBhbmQg dGhlDQorRG9jdW1lbnQncyBsaWNlbnNlIG5vdGljZSByZXF1aXJlcyBDb3ZlciBUZXh0cywgeW91 IG11c3QgZW5jbG9zZSB0aGUNCitjb3BpZXMgaW4gY292ZXJzIHRoYXQgY2FycnksIGNsZWFybHkg YW5kIGxlZ2libHksIGFsbCB0aGVzZSBDb3Zlcg0KK1RleHRzOiBGcm9udC1Db3ZlciBUZXh0cyBv biB0aGUgZnJvbnQgY292ZXIsIGFuZCBCYWNrLUNvdmVyIFRleHRzIG9uDQordGhlIGJhY2sgY292 ZXIuICBCb3RoIGNvdmVycyBtdXN0IGFsc28gY2xlYXJseSBhbmQgbGVnaWJseSBpZGVudGlmeQ0K K3lvdSBhcyB0aGUgcHVibGlzaGVyIG9mIHRoZXNlIGNvcGllcy4gIFRoZSBmcm9udCBjb3ZlciBt dXN0IHByZXNlbnQNCit0aGUgZnVsbCB0aXRsZSB3aXRoIGFsbCB3b3JkcyBvZiB0aGUgdGl0bGUg ZXF1YWxseSBwcm9taW5lbnQgYW5kDQordmlzaWJsZS4gIFlvdSBtYXkgYWRkIG90aGVyIG1hdGVy aWFsIG9uIHRoZSBjb3ZlcnMgaW4gYWRkaXRpb24uDQorQ29weWluZyB3aXRoIGNoYW5nZXMgbGlt aXRlZCB0byB0aGUgY292ZXJzLCBhcyBsb25nIGFzIHRoZXkgcHJlc2VydmUNCit0aGUgdGl0bGUg b2YgdGhlIERvY3VtZW50IGFuZCBzYXRpc2Z5IHRoZXNlIGNvbmRpdGlvbnMsIGNhbiBiZSB0cmVh dGVkDQorYXMgdmVyYmF0aW0gY29weWluZyBpbiBvdGhlciByZXNwZWN0cy4NCisNCitJZiB0aGUg cmVxdWlyZWQgdGV4dHMgZm9yIGVpdGhlciBjb3ZlciBhcmUgdG9vIHZvbHVtaW5vdXMgdG8gZml0 DQorbGVnaWJseSwgeW91IHNob3VsZCBwdXQgdGhlIGZpcnN0IG9uZXMgbGlzdGVkIChhcyBtYW55 IGFzIGZpdA0KK3JlYXNvbmFibHkpIG9uIHRoZSBhY3R1YWwgY292ZXIsIGFuZCBjb250aW51ZSB0 aGUgcmVzdCBvbnRvIGFkamFjZW50DQorcGFnZXMuDQorDQorSWYgeW91IHB1Ymxpc2ggb3IgZGlz dHJpYnV0ZSBPcGFxdWUgY29waWVzIG9mIHRoZSBEb2N1bWVudCBudW1iZXJpbmcNCittb3JlIHRo YW4gMTAwLCB5b3UgbXVzdCBlaXRoZXIgaW5jbHVkZSBhIG1hY2hpbmUtcmVhZGFibGUgVHJhbnNw YXJlbnQNCitjb3B5IGFsb25nIHdpdGggZWFjaCBPcGFxdWUgY29weSwgb3Igc3RhdGUgaW4gb3Ig d2l0aCBlYWNoIE9wYXF1ZSBjb3B5DQorYSBjb21wdXRlci1uZXR3b3JrIGxvY2F0aW9uIGZyb20g d2hpY2ggdGhlIGdlbmVyYWwgbmV0d29yay11c2luZw0KK3B1YmxpYyBoYXMgYWNjZXNzIHRvIGRv d25sb2FkIHVzaW5nIHB1YmxpYy1zdGFuZGFyZCBuZXR3b3JrIHByb3RvY29scw0KK2EgY29tcGxl dGUgVHJhbnNwYXJlbnQgY29weSBvZiB0aGUgRG9jdW1lbnQsIGZyZWUgb2YgYWRkZWQgbWF0ZXJp YWwuDQorSWYgeW91IHVzZSB0aGUgbGF0dGVyIG9wdGlvbiwgeW91IG11c3QgdGFrZSByZWFzb25h Ymx5IHBydWRlbnQgc3RlcHMsDQord2hlbiB5b3UgYmVnaW4gZGlzdHJpYnV0aW9uIG9mIE9wYXF1 ZSBjb3BpZXMgaW4gcXVhbnRpdHksIHRvIGVuc3VyZQ0KK3RoYXQgdGhpcyBUcmFuc3BhcmVudCBj b3B5IHdpbGwgcmVtYWluIHRodXMgYWNjZXNzaWJsZSBhdCB0aGUgc3RhdGVkDQorbG9jYXRpb24g dW50aWwgYXQgbGVhc3Qgb25lIHllYXIgYWZ0ZXIgdGhlIGxhc3QgdGltZSB5b3UgZGlzdHJpYnV0 ZSBhbg0KK09wYXF1ZSBjb3B5IChkaXJlY3RseSBvciB0aHJvdWdoIHlvdXIgYWdlbnRzIG9yIHJl dGFpbGVycykgb2YgdGhhdA0KK2VkaXRpb24gdG8gdGhlIHB1YmxpYy4NCisNCitJdCBpcyByZXF1 ZXN0ZWQsIGJ1dCBub3QgcmVxdWlyZWQsIHRoYXQgeW91IGNvbnRhY3QgdGhlIGF1dGhvcnMgb2Yg dGhlDQorRG9jdW1lbnQgd2VsbCBiZWZvcmUgcmVkaXN0cmlidXRpbmcgYW55IGxhcmdlIG51bWJl ciBvZiBjb3BpZXMsIHRvDQorZ2l2ZSB0aGVtIGEgY2hhbmNlIHRvIHByb3ZpZGUgeW91IHdpdGgg YW4gdXBkYXRlZCB2ZXJzaW9uIG9mIHRoZQ0KK0RvY3VtZW50Lg0KKw0KKw0KKzQuIE1PRElGSUNB VElPTlMNCisNCitZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgYSBNb2RpZmllZCBWZXJzaW9u IG9mIHRoZSBEb2N1bWVudCB1bmRlcg0KK3RoZSBjb25kaXRpb25zIG9mIHNlY3Rpb25zIDIgYW5k IDMgYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IHJlbGVhc2UNCit0aGUgTW9kaWZpZWQgVmVyc2lv biB1bmRlciBwcmVjaXNlbHkgdGhpcyBMaWNlbnNlLCB3aXRoIHRoZSBNb2RpZmllZA0KK1ZlcnNp b24gZmlsbGluZyB0aGUgcm9sZSBvZiB0aGUgRG9jdW1lbnQsIHRodXMgbGljZW5zaW5nIGRpc3Ry aWJ1dGlvbg0KK2FuZCBtb2RpZmljYXRpb24gb2YgdGhlIE1vZGlmaWVkIFZlcnNpb24gdG8gd2hv ZXZlciBwb3NzZXNzZXMgYSBjb3B5DQorb2YgaXQuICBJbiBhZGRpdGlvbiwgeW91IG11c3QgZG8g dGhlc2UgdGhpbmdzIGluIHRoZSBNb2RpZmllZCBWZXJzaW9uOg0KKw0KK0EuIFVzZSBpbiB0aGUg VGl0bGUgUGFnZSAoYW5kIG9uIHRoZSBjb3ZlcnMsIGlmIGFueSkgYSB0aXRsZSBkaXN0aW5jdA0K KyAgIGZyb20gdGhhdCBvZiB0aGUgRG9jdW1lbnQsIGFuZCBmcm9tIHRob3NlIG9mIHByZXZpb3Vz IHZlcnNpb25zDQorICAgKHdoaWNoIHNob3VsZCwgaWYgdGhlcmUgd2VyZSBhbnksIGJlIGxpc3Rl ZCBpbiB0aGUgSGlzdG9yeSBzZWN0aW9uDQorICAgb2YgdGhlIERvY3VtZW50KS4gIFlvdSBtYXkg dXNlIHRoZSBzYW1lIHRpdGxlIGFzIGEgcHJldmlvdXMgdmVyc2lvbg0KKyAgIGlmIHRoZSBvcmln aW5hbCBwdWJsaXNoZXIgb2YgdGhhdCB2ZXJzaW9uIGdpdmVzIHBlcm1pc3Npb24uDQorQi4gTGlz dCBvbiB0aGUgVGl0bGUgUGFnZSwgYXMgYXV0aG9ycywgb25lIG9yIG1vcmUgcGVyc29ucyBvciBl bnRpdGllcw0KKyAgIHJlc3BvbnNpYmxlIGZvciBhdXRob3JzaGlwIG9mIHRoZSBtb2RpZmljYXRp b25zIGluIHRoZSBNb2RpZmllZA0KKyAgIFZlcnNpb24sIHRvZ2V0aGVyIHdpdGggYXQgbGVhc3Qg Zml2ZSBvZiB0aGUgcHJpbmNpcGFsIGF1dGhvcnMgb2YgdGhlDQorICAgRG9jdW1lbnQgKGFsbCBv ZiBpdHMgcHJpbmNpcGFsIGF1dGhvcnMsIGlmIGl0IGhhcyBmZXdlciB0aGFuIGZpdmUpLA0KKyAg IHVubGVzcyB0aGV5IHJlbGVhc2UgeW91IGZyb20gdGhpcyByZXF1aXJlbWVudC4NCitDLiBTdGF0 ZSBvbiB0aGUgVGl0bGUgcGFnZSB0aGUgbmFtZSBvZiB0aGUgcHVibGlzaGVyIG9mIHRoZQ0KKyAg IE1vZGlmaWVkIFZlcnNpb24sIGFzIHRoZSBwdWJsaXNoZXIuDQorRC4gUHJlc2VydmUgYWxsIHRo ZSBjb3B5cmlnaHQgbm90aWNlcyBvZiB0aGUgRG9jdW1lbnQuDQorRS4gQWRkIGFuIGFwcHJvcHJp YXRlIGNvcHlyaWdodCBub3RpY2UgZm9yIHlvdXIgbW9kaWZpY2F0aW9ucw0KKyAgIGFkamFjZW50 IHRvIHRoZSBvdGhlciBjb3B5cmlnaHQgbm90aWNlcy4NCitGLiBJbmNsdWRlLCBpbW1lZGlhdGVs eSBhZnRlciB0aGUgY29weXJpZ2h0IG5vdGljZXMsIGEgbGljZW5zZSBub3RpY2UNCisgICBnaXZp bmcgdGhlIHB1YmxpYyBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgTW9kaWZpZWQgVmVyc2lvbiB1bmRl ciB0aGUNCisgICB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIGluIHRoZSBmb3JtIHNob3duIGluIHRo ZSBBZGRlbmR1bSBiZWxvdy4NCitHLiBQcmVzZXJ2ZSBpbiB0aGF0IGxpY2Vuc2Ugbm90aWNlIHRo ZSBmdWxsIGxpc3RzIG9mIEludmFyaWFudCBTZWN0aW9ucw0KKyAgIGFuZCByZXF1aXJlZCBDb3Zl ciBUZXh0cyBnaXZlbiBpbiB0aGUgRG9jdW1lbnQncyBsaWNlbnNlIG5vdGljZS4NCitILiBJbmNs dWRlIGFuIHVuYWx0ZXJlZCBjb3B5IG9mIHRoaXMgTGljZW5zZS4NCitJLiBQcmVzZXJ2ZSB0aGUg c2VjdGlvbiBFbnRpdGxlZCAiSGlzdG9yeSIsIFByZXNlcnZlIGl0cyBUaXRsZSwgYW5kIGFkZA0K KyAgIHRvIGl0IGFuIGl0ZW0gc3RhdGluZyBhdCBsZWFzdCB0aGUgdGl0bGUsIHllYXIsIG5ldyBh dXRob3JzLCBhbmQNCisgICBwdWJsaXNoZXIgb2YgdGhlIE1vZGlmaWVkIFZlcnNpb24gYXMgZ2l2 ZW4gb24gdGhlIFRpdGxlIFBhZ2UuICBJZg0KKyAgIHRoZXJlIGlzIG5vIHNlY3Rpb24gRW50aXRs ZWQgIkhpc3RvcnkiIGluIHRoZSBEb2N1bWVudCwgY3JlYXRlIG9uZQ0KKyAgIHN0YXRpbmcgdGhl IHRpdGxlLCB5ZWFyLCBhdXRob3JzLCBhbmQgcHVibGlzaGVyIG9mIHRoZSBEb2N1bWVudCBhcw0K KyAgIGdpdmVuIG9uIGl0cyBUaXRsZSBQYWdlLCB0aGVuIGFkZCBhbiBpdGVtIGRlc2NyaWJpbmcg dGhlIE1vZGlmaWVkDQorICAgVmVyc2lvbiBhcyBzdGF0ZWQgaW4gdGhlIHByZXZpb3VzIHNlbnRl bmNlLg0KK0ouIFByZXNlcnZlIHRoZSBuZXR3b3JrIGxvY2F0aW9uLCBpZiBhbnksIGdpdmVuIGlu IHRoZSBEb2N1bWVudCBmb3INCisgICBwdWJsaWMgYWNjZXNzIHRvIGEgVHJhbnNwYXJlbnQgY29w eSBvZiB0aGUgRG9jdW1lbnQsIGFuZCBsaWtld2lzZQ0KKyAgIHRoZSBuZXR3b3JrIGxvY2F0aW9u cyBnaXZlbiBpbiB0aGUgRG9jdW1lbnQgZm9yIHByZXZpb3VzIHZlcnNpb25zDQorICAgaXQgd2Fz IGJhc2VkIG9uLiAgVGhlc2UgbWF5IGJlIHBsYWNlZCBpbiB0aGUgIkhpc3RvcnkiIHNlY3Rpb24u DQorICAgWW91IG1heSBvbWl0IGEgbmV0d29yayBsb2NhdGlvbiBmb3IgYSB3b3JrIHRoYXQgd2Fz IHB1Ymxpc2hlZCBhdA0KKyAgIGxlYXN0IGZvdXIgeWVhcnMgYmVmb3JlIHRoZSBEb2N1bWVudCBp dHNlbGYsIG9yIGlmIHRoZSBvcmlnaW5hbA0KKyAgIHB1Ymxpc2hlciBvZiB0aGUgdmVyc2lvbiBp dCByZWZlcnMgdG8gZ2l2ZXMgcGVybWlzc2lvbi4NCitLLiBGb3IgYW55IHNlY3Rpb24gRW50aXRs ZWQgIkFja25vd2xlZGdlbWVudHMiIG9yICJEZWRpY2F0aW9ucyIsDQorICAgUHJlc2VydmUgdGhl IFRpdGxlIG9mIHRoZSBzZWN0aW9uLCBhbmQgcHJlc2VydmUgaW4gdGhlIHNlY3Rpb24gYWxsDQor ICAgdGhlIHN1YnN0YW5jZSBhbmQgdG9uZSBvZiBlYWNoIG9mIHRoZSBjb250cmlidXRvciBhY2tu b3dsZWRnZW1lbnRzDQorICAgYW5kL29yIGRlZGljYXRpb25zIGdpdmVuIHRoZXJlaW4uDQorTC4g UHJlc2VydmUgYWxsIHRoZSBJbnZhcmlhbnQgU2VjdGlvbnMgb2YgdGhlIERvY3VtZW50LA0KKyAg IHVuYWx0ZXJlZCBpbiB0aGVpciB0ZXh0IGFuZCBpbiB0aGVpciB0aXRsZXMuICBTZWN0aW9uIG51 bWJlcnMNCisgICBvciB0aGUgZXF1aXZhbGVudCBhcmUgbm90IGNvbnNpZGVyZWQgcGFydCBvZiB0 aGUgc2VjdGlvbiB0aXRsZXMuDQorTS4gRGVsZXRlIGFueSBzZWN0aW9uIEVudGl0bGVkICJFbmRv cnNlbWVudHMiLiAgU3VjaCBhIHNlY3Rpb24NCisgICBtYXkgbm90IGJlIGluY2x1ZGVkIGluIHRo ZSBNb2RpZmllZCBWZXJzaW9uLg0KK04uIERvIG5vdCByZXRpdGxlIGFueSBleGlzdGluZyBzZWN0 aW9uIHRvIGJlIEVudGl0bGVkICJFbmRvcnNlbWVudHMiDQorICAgb3IgdG8gY29uZmxpY3QgaW4g dGl0bGUgd2l0aCBhbnkgSW52YXJpYW50IFNlY3Rpb24uDQorTy4gUHJlc2VydmUgYW55IFdhcnJh bnR5IERpc2NsYWltZXJzLg0KKw0KK0lmIHRoZSBNb2RpZmllZCBWZXJzaW9uIGluY2x1ZGVzIG5l dyBmcm9udC1tYXR0ZXIgc2VjdGlvbnMgb3INCithcHBlbmRpY2VzIHRoYXQgcXVhbGlmeSBhcyBT ZWNvbmRhcnkgU2VjdGlvbnMgYW5kIGNvbnRhaW4gbm8gbWF0ZXJpYWwNCitjb3BpZWQgZnJvbSB0 aGUgRG9jdW1lbnQsIHlvdSBtYXkgYXQgeW91ciBvcHRpb24gZGVzaWduYXRlIHNvbWUgb3IgYWxs DQorb2YgdGhlc2Ugc2VjdGlvbnMgYXMgaW52YXJpYW50LiAgVG8gZG8gdGhpcywgYWRkIHRoZWly IHRpdGxlcyB0byB0aGUNCitsaXN0IG9mIEludmFyaWFudCBTZWN0aW9ucyBpbiB0aGUgTW9kaWZp ZWQgVmVyc2lvbidzIGxpY2Vuc2Ugbm90aWNlLg0KK1RoZXNlIHRpdGxlcyBtdXN0IGJlIGRpc3Rp bmN0IGZyb20gYW55IG90aGVyIHNlY3Rpb24gdGl0bGVzLg0KKw0KK1lvdSBtYXkgYWRkIGEgc2Vj dGlvbiBFbnRpdGxlZCAiRW5kb3JzZW1lbnRzIiwgcHJvdmlkZWQgaXQgY29udGFpbnMNCitub3Ro aW5nIGJ1dCBlbmRvcnNlbWVudHMgb2YgeW91ciBNb2RpZmllZCBWZXJzaW9uIGJ5IHZhcmlvdXMN CitwYXJ0aWVzLS1mb3IgZXhhbXBsZSwgc3RhdGVtZW50cyBvZiBwZWVyIHJldmlldyBvciB0aGF0 IHRoZSB0ZXh0IGhhcw0KK2JlZW4gYXBwcm92ZWQgYnkgYW4gb3JnYW5pemF0aW9uIGFzIHRoZSBh dXRob3JpdGF0aXZlIGRlZmluaXRpb24gb2YgYQ0KK3N0YW5kYXJkLg0KKw0KK1lvdSBtYXkgYWRk IGEgcGFzc2FnZSBvZiB1cCB0byBmaXZlIHdvcmRzIGFzIGEgRnJvbnQtQ292ZXIgVGV4dCwgYW5k IGENCitwYXNzYWdlIG9mIHVwIHRvIDI1IHdvcmRzIGFzIGEgQmFjay1Db3ZlciBUZXh0LCB0byB0 aGUgZW5kIG9mIHRoZSBsaXN0DQorb2YgQ292ZXIgVGV4dHMgaW4gdGhlIE1vZGlmaWVkIFZlcnNp b24uICBPbmx5IG9uZSBwYXNzYWdlIG9mDQorRnJvbnQtQ292ZXIgVGV4dCBhbmQgb25lIG9mIEJh Y2stQ292ZXIgVGV4dCBtYXkgYmUgYWRkZWQgYnkgKG9yDQordGhyb3VnaCBhcnJhbmdlbWVudHMg bWFkZSBieSkgYW55IG9uZSBlbnRpdHkuICBJZiB0aGUgRG9jdW1lbnQgYWxyZWFkeQ0KK2luY2x1 ZGVzIGEgY292ZXIgdGV4dCBmb3IgdGhlIHNhbWUgY292ZXIsIHByZXZpb3VzbHkgYWRkZWQgYnkg eW91IG9yDQorYnkgYXJyYW5nZW1lbnQgbWFkZSBieSB0aGUgc2FtZSBlbnRpdHkgeW91IGFyZSBh Y3Rpbmcgb24gYmVoYWxmIG9mLA0KK3lvdSBtYXkgbm90IGFkZCBhbm90aGVyOyBidXQgeW91IG1h eSByZXBsYWNlIHRoZSBvbGQgb25lLCBvbiBleHBsaWNpdA0KK3Blcm1pc3Npb24gZnJvbSB0aGUg cHJldmlvdXMgcHVibGlzaGVyIHRoYXQgYWRkZWQgdGhlIG9sZCBvbmUuDQorDQorVGhlIGF1dGhv cihzKSBhbmQgcHVibGlzaGVyKHMpIG9mIHRoZSBEb2N1bWVudCBkbyBub3QgYnkgdGhpcyBMaWNl bnNlDQorZ2l2ZSBwZXJtaXNzaW9uIHRvIHVzZSB0aGVpciBuYW1lcyBmb3IgcHVibGljaXR5IGZv ciBvciB0byBhc3NlcnQgb3INCitpbXBseSBlbmRvcnNlbWVudCBvZiBhbnkgTW9kaWZpZWQgVmVy c2lvbi4NCisNCisNCis1LiBDT01CSU5JTkcgRE9DVU1FTlRTDQorDQorWW91IG1heSBjb21iaW5l IHRoZSBEb2N1bWVudCB3aXRoIG90aGVyIGRvY3VtZW50cyByZWxlYXNlZCB1bmRlciB0aGlzDQor TGljZW5zZSwgdW5kZXIgdGhlIHRlcm1zIGRlZmluZWQgaW4gc2VjdGlvbiA0IGFib3ZlIGZvciBt b2RpZmllZA0KK3ZlcnNpb25zLCBwcm92aWRlZCB0aGF0IHlvdSBpbmNsdWRlIGluIHRoZSBjb21i aW5hdGlvbiBhbGwgb2YgdGhlDQorSW52YXJpYW50IFNlY3Rpb25zIG9mIGFsbCBvZiB0aGUgb3Jp Z2luYWwgZG9jdW1lbnRzLCB1bm1vZGlmaWVkLCBhbmQNCitsaXN0IHRoZW0gYWxsIGFzIEludmFy aWFudCBTZWN0aW9ucyBvZiB5b3VyIGNvbWJpbmVkIHdvcmsgaW4gaXRzDQorbGljZW5zZSBub3Rp Y2UsIGFuZCB0aGF0IHlvdSBwcmVzZXJ2ZSBhbGwgdGhlaXIgV2FycmFudHkgRGlzY2xhaW1lcnMu DQorDQorVGhlIGNvbWJpbmVkIHdvcmsgbmVlZCBvbmx5IGNvbnRhaW4gb25lIGNvcHkgb2YgdGhp cyBMaWNlbnNlLCBhbmQNCittdWx0aXBsZSBpZGVudGljYWwgSW52YXJpYW50IFNlY3Rpb25zIG1h eSBiZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlDQorY29weS4gIElmIHRoZXJlIGFyZSBtdWx0aXBs ZSBJbnZhcmlhbnQgU2VjdGlvbnMgd2l0aCB0aGUgc2FtZSBuYW1lIGJ1dA0KK2RpZmZlcmVudCBj b250ZW50cywgbWFrZSB0aGUgdGl0bGUgb2YgZWFjaCBzdWNoIHNlY3Rpb24gdW5pcXVlIGJ5DQor YWRkaW5nIGF0IHRoZSBlbmQgb2YgaXQsIGluIHBhcmVudGhlc2VzLCB0aGUgbmFtZSBvZiB0aGUg b3JpZ2luYWwNCithdXRob3Igb3IgcHVibGlzaGVyIG9mIHRoYXQgc2VjdGlvbiBpZiBrbm93biwg b3IgZWxzZSBhIHVuaXF1ZSBudW1iZXIuDQorTWFrZSB0aGUgc2FtZSBhZGp1c3RtZW50IHRvIHRo ZSBzZWN0aW9uIHRpdGxlcyBpbiB0aGUgbGlzdCBvZg0KK0ludmFyaWFudCBTZWN0aW9ucyBpbiB0 aGUgbGljZW5zZSBub3RpY2Ugb2YgdGhlIGNvbWJpbmVkIHdvcmsuDQorDQorSW4gdGhlIGNvbWJp bmF0aW9uLCB5b3UgbXVzdCBjb21iaW5lIGFueSBzZWN0aW9ucyBFbnRpdGxlZCAiSGlzdG9yeSIN CitpbiB0aGUgdmFyaW91cyBvcmlnaW5hbCBkb2N1bWVudHMsIGZvcm1pbmcgb25lIHNlY3Rpb24g RW50aXRsZWQNCisiSGlzdG9yeSI7IGxpa2V3aXNlIGNvbWJpbmUgYW55IHNlY3Rpb25zIEVudGl0 bGVkICJBY2tub3dsZWRnZW1lbnRzIiwNCithbmQgYW55IHNlY3Rpb25zIEVudGl0bGVkICJEZWRp Y2F0aW9ucyIuICBZb3UgbXVzdCBkZWxldGUgYWxsIHNlY3Rpb25zDQorRW50aXRsZWQgIkVuZG9y c2VtZW50cyIuDQorDQorDQorNi4gQ09MTEVDVElPTlMgT0YgRE9DVU1FTlRTDQorDQorWW91IG1h eSBtYWtlIGEgY29sbGVjdGlvbiBjb25zaXN0aW5nIG9mIHRoZSBEb2N1bWVudCBhbmQgb3RoZXIN Citkb2N1bWVudHMgcmVsZWFzZWQgdW5kZXIgdGhpcyBMaWNlbnNlLCBhbmQgcmVwbGFjZSB0aGUg aW5kaXZpZHVhbA0KK2NvcGllcyBvZiB0aGlzIExpY2Vuc2UgaW4gdGhlIHZhcmlvdXMgZG9jdW1l bnRzIHdpdGggYSBzaW5nbGUgY29weQ0KK3RoYXQgaXMgaW5jbHVkZWQgaW4gdGhlIGNvbGxlY3Rp b24sIHByb3ZpZGVkIHRoYXQgeW91IGZvbGxvdyB0aGUgcnVsZXMNCitvZiB0aGlzIExpY2Vuc2Ug Zm9yIHZlcmJhdGltIGNvcHlpbmcgb2YgZWFjaCBvZiB0aGUgZG9jdW1lbnRzIGluIGFsbA0KK290 aGVyIHJlc3BlY3RzLg0KKw0KK1lvdSBtYXkgZXh0cmFjdCBhIHNpbmdsZSBkb2N1bWVudCBmcm9t IHN1Y2ggYSBjb2xsZWN0aW9uLCBhbmQNCitkaXN0cmlidXRlIGl0IGluZGl2aWR1YWxseSB1bmRl ciB0aGlzIExpY2Vuc2UsIHByb3ZpZGVkIHlvdSBpbnNlcnQgYQ0KK2NvcHkgb2YgdGhpcyBMaWNl bnNlIGludG8gdGhlIGV4dHJhY3RlZCBkb2N1bWVudCwgYW5kIGZvbGxvdyB0aGlzDQorTGljZW5z ZSBpbiBhbGwgb3RoZXIgcmVzcGVjdHMgcmVnYXJkaW5nIHZlcmJhdGltIGNvcHlpbmcgb2YgdGhh dA0KK2RvY3VtZW50Lg0KKw0KKw0KKzcuIEFHR1JFR0FUSU9OIFdJVEggSU5ERVBFTkRFTlQgV09S S1MNCisNCitBIGNvbXBpbGF0aW9uIG9mIHRoZSBEb2N1bWVudCBvciBpdHMgZGVyaXZhdGl2ZXMg d2l0aCBvdGhlciBzZXBhcmF0ZQ0KK2FuZCBpbmRlcGVuZGVudCBkb2N1bWVudHMgb3Igd29ya3Ms IGluIG9yIG9uIGEgdm9sdW1lIG9mIGEgc3RvcmFnZSBvcg0KK2Rpc3RyaWJ1dGlvbiBtZWRpdW0s IGlzIGNhbGxlZCBhbiAiYWdncmVnYXRlIiBpZiB0aGUgY29weXJpZ2h0DQorcmVzdWx0aW5nIGZy b20gdGhlIGNvbXBpbGF0aW9uIGlzIG5vdCB1c2VkIHRvIGxpbWl0IHRoZSBsZWdhbCByaWdodHMN CitvZiB0aGUgY29tcGlsYXRpb24ncyB1c2VycyBiZXlvbmQgd2hhdCB0aGUgaW5kaXZpZHVhbCB3 b3JrcyBwZXJtaXQuDQorV2hlbiB0aGUgRG9jdW1lbnQgaXMgaW5jbHVkZWQgaW4gYW4gYWdncmVn YXRlLCB0aGlzIExpY2Vuc2UgZG9lcyBub3QNCithcHBseSB0byB0aGUgb3RoZXIgd29ya3MgaW4g dGhlIGFnZ3JlZ2F0ZSB3aGljaCBhcmUgbm90IHRoZW1zZWx2ZXMNCitkZXJpdmF0aXZlIHdvcmtz IG9mIHRoZSBEb2N1bWVudC4NCisNCitJZiB0aGUgQ292ZXIgVGV4dCByZXF1aXJlbWVudCBvZiBz ZWN0aW9uIDMgaXMgYXBwbGljYWJsZSB0byB0aGVzZQ0KK2NvcGllcyBvZiB0aGUgRG9jdW1lbnQs IHRoZW4gaWYgdGhlIERvY3VtZW50IGlzIGxlc3MgdGhhbiBvbmUgaGFsZiBvZg0KK3RoZSBlbnRp cmUgYWdncmVnYXRlLCB0aGUgRG9jdW1lbnQncyBDb3ZlciBUZXh0cyBtYXkgYmUgcGxhY2VkIG9u DQorY292ZXJzIHRoYXQgYnJhY2tldCB0aGUgRG9jdW1lbnQgd2l0aGluIHRoZSBhZ2dyZWdhdGUs IG9yIHRoZQ0KK2VsZWN0cm9uaWMgZXF1aXZhbGVudCBvZiBjb3ZlcnMgaWYgdGhlIERvY3VtZW50 IGlzIGluIGVsZWN0cm9uaWMgZm9ybS4NCitPdGhlcndpc2UgdGhleSBtdXN0IGFwcGVhciBvbiBw cmludGVkIGNvdmVycyB0aGF0IGJyYWNrZXQgdGhlIHdob2xlDQorYWdncmVnYXRlLg0KKw0KKw0K KzguIFRSQU5TTEFUSU9ODQorDQorVHJhbnNsYXRpb24gaXMgY29uc2lkZXJlZCBhIGtpbmQgb2Yg bW9kaWZpY2F0aW9uLCBzbyB5b3UgbWF5DQorZGlzdHJpYnV0ZSB0cmFuc2xhdGlvbnMgb2YgdGhl IERvY3VtZW50IHVuZGVyIHRoZSB0ZXJtcyBvZiBzZWN0aW9uIDQuDQorUmVwbGFjaW5nIEludmFy aWFudCBTZWN0aW9ucyB3aXRoIHRyYW5zbGF0aW9ucyByZXF1aXJlcyBzcGVjaWFsDQorcGVybWlz c2lvbiBmcm9tIHRoZWlyIGNvcHlyaWdodCBob2xkZXJzLCBidXQgeW91IG1heSBpbmNsdWRlDQor dHJhbnNsYXRpb25zIG9mIHNvbWUgb3IgYWxsIEludmFyaWFudCBTZWN0aW9ucyBpbiBhZGRpdGlv biB0byB0aGUNCitvcmlnaW5hbCB2ZXJzaW9ucyBvZiB0aGVzZSBJbnZhcmlhbnQgU2VjdGlvbnMu ICBZb3UgbWF5IGluY2x1ZGUgYQ0KK3RyYW5zbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgYW5kIGFs bCB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZQ0KK0RvY3VtZW50LCBhbmQgYW55IFdhcnJhbnR5 IERpc2NsYWltZXJzLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGluY2x1ZGUNCit0aGUgb3JpZ2lu YWwgRW5nbGlzaCB2ZXJzaW9uIG9mIHRoaXMgTGljZW5zZSBhbmQgdGhlIG9yaWdpbmFsIHZlcnNp b25zDQorb2YgdGhvc2Ugbm90aWNlcyBhbmQgZGlzY2xhaW1lcnMuICBJbiBjYXNlIG9mIGEgZGlz YWdyZWVtZW50IGJldHdlZW4NCit0aGUgdHJhbnNsYXRpb24gYW5kIHRoZSBvcmlnaW5hbCB2ZXJz aW9uIG9mIHRoaXMgTGljZW5zZSBvciBhIG5vdGljZQ0KK29yIGRpc2NsYWltZXIsIHRoZSBvcmln aW5hbCB2ZXJzaW9uIHdpbGwgcHJldmFpbC4NCisNCitJZiBhIHNlY3Rpb24gaW4gdGhlIERvY3Vt ZW50IGlzIEVudGl0bGVkICJBY2tub3dsZWRnZW1lbnRzIiwNCisiRGVkaWNhdGlvbnMiLCBvciAi SGlzdG9yeSIsIHRoZSByZXF1aXJlbWVudCAoc2VjdGlvbiA0KSB0byBQcmVzZXJ2ZQ0KK2l0cyBU aXRsZSAoc2VjdGlvbiAxKSB3aWxsIHR5cGljYWxseSByZXF1aXJlIGNoYW5naW5nIHRoZSBhY3R1 YWwNCit0aXRsZS4NCisNCisNCis5LiBURVJNSU5BVElPTg0KKw0KK1lvdSBtYXkgbm90IGNvcHks IG1vZGlmeSwgc3VibGljZW5zZSwgb3IgZGlzdHJpYnV0ZSB0aGUgRG9jdW1lbnQNCitleGNlcHQg YXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0DQor b3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgb3IgZGlzdHJpYnV0ZSBpdCBp cyB2b2lkLCBhbmQNCit3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVu ZGVyIHRoaXMgTGljZW5zZS4NCisNCitIb3dldmVyLCBpZiB5b3UgY2Vhc2UgYWxsIHZpb2xhdGlv biBvZiB0aGlzIExpY2Vuc2UsIHRoZW4geW91ciBsaWNlbnNlDQorZnJvbSBhIHBhcnRpY3VsYXIg Y29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKSBwcm92aXNpb25hbGx5LA0KK3VubGVz cyBhbmQgdW50aWwgdGhlIGNvcHlyaWdodCBob2xkZXIgZXhwbGljaXRseSBhbmQgZmluYWxseQ0K K3Rlcm1pbmF0ZXMgeW91ciBsaWNlbnNlLCBhbmQgKGIpIHBlcm1hbmVudGx5LCBpZiB0aGUgY29w eXJpZ2h0IGhvbGRlcg0KK2ZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBz b21lIHJlYXNvbmFibGUgbWVhbnMgcHJpb3IgdG8NCis2MCBkYXlzIGFmdGVyIHRoZSBjZXNzYXRp b24uDQorDQorTW9yZW92ZXIsIHlvdXIgbGljZW5zZSBmcm9tIGEgcGFydGljdWxhciBjb3B5cmln aHQgaG9sZGVyIGlzDQorcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhv bGRlciBub3RpZmllcyB5b3Ugb2YgdGhlDQordmlvbGF0aW9uIGJ5IHNvbWUgcmVhc29uYWJsZSBt ZWFucywgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB5b3UgaGF2ZQ0KK3JlY2VpdmVkIG5vdGljZSBv ZiB2aW9sYXRpb24gb2YgdGhpcyBMaWNlbnNlIChmb3IgYW55IHdvcmspIGZyb20gdGhhdA0KK2Nv cHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRh eXMgYWZ0ZXINCit5b3VyIHJlY2VpcHQgb2YgdGhlIG5vdGljZS4NCisNCitUZXJtaW5hdGlvbiBv ZiB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIHNlY3Rpb24gZG9lcyBub3QgdGVybWluYXRlIHRoZQ0K K2xpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBm cm9tIHlvdSB1bmRlcg0KK3RoaXMgTGljZW5zZS4gIElmIHlvdXIgcmlnaHRzIGhhdmUgYmVlbiB0 ZXJtaW5hdGVkIGFuZCBub3QgcGVybWFuZW50bHkNCityZWluc3RhdGVkLCByZWNlaXB0IG9mIGEg Y29weSBvZiBzb21lIG9yIGFsbCBvZiB0aGUgc2FtZSBtYXRlcmlhbCBkb2VzDQorbm90IGdpdmUg eW91IGFueSByaWdodHMgdG8gdXNlIGl0Lg0KKw0KKw0KKzEwLiBGVVRVUkUgUkVWSVNJT05TIE9G IFRISVMgTElDRU5TRQ0KKw0KK1RoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxp c2ggbmV3LCByZXZpc2VkIHZlcnNpb25zIG9mIHRoZQ0KK0dOVSBGcmVlIERvY3VtZW50YXRpb24g TGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4gIFN1Y2ggbmV3IHZlcnNpb25zDQord2lsbCBiZSBz aW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBp bg0KK2RldGFpbCB0byBhZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4gIFNlZQ0KK2h0 dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLg0KKw0KK0VhY2ggdmVyc2lvbiBvZiB0aGUgTGlj ZW5zZSBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLg0KK0lmIHRoZSBE b2N1bWVudCBzcGVjaWZpZXMgdGhhdCBhIHBhcnRpY3VsYXIgbnVtYmVyZWQgdmVyc2lvbiBvZiB0 aGlzDQorTGljZW5zZSAib3IgYW55IGxhdGVyIHZlcnNpb24iIGFwcGxpZXMgdG8gaXQsIHlvdSBo YXZlIHRoZSBvcHRpb24gb2YNCitmb2xsb3dpbmcgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIGVp dGhlciBvZiB0aGF0IHNwZWNpZmllZCB2ZXJzaW9uIG9yDQorb2YgYW55IGxhdGVyIHZlcnNpb24g dGhhdCBoYXMgYmVlbiBwdWJsaXNoZWQgKG5vdCBhcyBhIGRyYWZ0KSBieSB0aGUNCitGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgRG9jdW1lbnQgZG9lcyBub3Qgc3BlY2lmeSBhIHZl cnNpb24NCitudW1iZXIgb2YgdGhpcyBMaWNlbnNlLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lv biBldmVyIHB1Ymxpc2hlZCAobm90DQorYXMgYSBkcmFmdCkgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbi4gIElmIHRoZSBEb2N1bWVudA0KK3NwZWNpZmllcyB0aGF0IGEgcHJveHkgY2Fu IGRlY2lkZSB3aGljaCBmdXR1cmUgdmVyc2lvbnMgb2YgdGhpcw0KK0xpY2Vuc2UgY2FuIGJlIHVz ZWQsIHRoYXQgcHJveHkncyBwdWJsaWMgc3RhdGVtZW50IG9mIGFjY2VwdGFuY2Ugb2YgYQ0KK3Zl cnNpb24gcGVybWFuZW50bHkgYXV0aG9yaXplcyB5b3UgdG8gY2hvb3NlIHRoYXQgdmVyc2lvbiBm b3IgdGhlDQorRG9jdW1lbnQuDQorDQorMTEuIFJFTElDRU5TSU5HDQorDQorIk1hc3NpdmUgTXVs dGlhdXRob3IgQ29sbGFib3JhdGlvbiBTaXRlIiAob3IgIk1NQyBTaXRlIikgbWVhbnMgYW55DQor V29ybGQgV2lkZSBXZWIgc2VydmVyIHRoYXQgcHVibGlzaGVzIGNvcHlyaWdodGFibGUgd29ya3Mg YW5kIGFsc28NCitwcm92aWRlcyBwcm9taW5lbnQgZmFjaWxpdGllcyBmb3IgYW55Ym9keSB0byBl ZGl0IHRob3NlIHdvcmtzLiAgQQ0KK3B1YmxpYyB3aWtpIHRoYXQgYW55Ym9keSBjYW4gZWRpdCBp cyBhbiBleGFtcGxlIG9mIHN1Y2ggYSBzZXJ2ZXIuICBBDQorIk1hc3NpdmUgTXVsdGlhdXRob3Ig Q29sbGFib3JhdGlvbiIgKG9yICJNTUMiKSBjb250YWluZWQgaW4gdGhlIHNpdGUNCittZWFucyBh bnkgc2V0IG9mIGNvcHlyaWdodGFibGUgd29ya3MgdGh1cyBwdWJsaXNoZWQgb24gdGhlIE1NQyBz aXRlLg0KKw0KKyJDQy1CWS1TQSIgbWVhbnMgdGhlIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRp b24tU2hhcmUgQWxpa2UgMy4wDQorbGljZW5zZSBwdWJsaXNoZWQgYnkgQ3JlYXRpdmUgQ29tbW9u cyBDb3Jwb3JhdGlvbiwgYSBub3QtZm9yLXByb2ZpdA0KK2NvcnBvcmF0aW9uIHdpdGggYSBwcmlu Y2lwYWwgcGxhY2Ugb2YgYnVzaW5lc3MgaW4gU2FuIEZyYW5jaXNjbywNCitDYWxpZm9ybmlhLCBh cyB3ZWxsIGFzIGZ1dHVyZSBjb3B5bGVmdCB2ZXJzaW9ucyBvZiB0aGF0IGxpY2Vuc2UNCitwdWJs aXNoZWQgYnkgdGhhdCBzYW1lIG9yZ2FuaXphdGlvbi4NCisNCisiSW5jb3Jwb3JhdGUiIG1lYW5z IHRvIHB1Ymxpc2ggb3IgcmVwdWJsaXNoIGEgRG9jdW1lbnQsIGluIHdob2xlIG9yIGluDQorcGFy dCwgYXMgcGFydCBvZiBhbm90aGVyIERvY3VtZW50Lg0KKw0KK0FuIE1NQyBpcyAiZWxpZ2libGUg Zm9yIHJlbGljZW5zaW5nIiBpZiBpdCBpcyBsaWNlbnNlZCB1bmRlciB0aGlzDQorTGljZW5zZSwg YW5kIGlmIGFsbCB3b3JrcyB0aGF0IHdlcmUgZmlyc3QgcHVibGlzaGVkIHVuZGVyIHRoaXMgTGlj ZW5zZQ0KK3NvbWV3aGVyZSBvdGhlciB0aGFuIHRoaXMgTU1DLCBhbmQgc3Vic2VxdWVudGx5IGlu Y29ycG9yYXRlZCBpbiB3aG9sZSBvcg0KK2luIHBhcnQgaW50byB0aGUgTU1DLCAoMSkgaGFkIG5v IGNvdmVyIHRleHRzIG9yIGludmFyaWFudCBzZWN0aW9ucywgYW5kDQorKDIpIHdlcmUgdGh1cyBp bmNvcnBvcmF0ZWQgcHJpb3IgdG8gTm92ZW1iZXIgMSwgMjAwOC4NCisNCitUaGUgb3BlcmF0b3Ig b2YgYW4gTU1DIFNpdGUgbWF5IHJlcHVibGlzaCBhbiBNTUMgY29udGFpbmVkIGluIHRoZSBzaXRl DQordW5kZXIgQ0MtQlktU0Egb24gdGhlIHNhbWUgc2l0ZSBhdCBhbnkgdGltZSBiZWZvcmUgQXVn dXN0IDEsIDIwMDksDQorcHJvdmlkZWQgdGhlIE1NQyBpcyBlbGlnaWJsZSBmb3IgcmVsaWNlbnNp bmcuDQorDQorDQorQURERU5EVU06IEhvdyB0byB1c2UgdGhpcyBMaWNlbnNlIGZvciB5b3VyIGRv Y3VtZW50cw0KKw0KK1RvIHVzZSB0aGlzIExpY2Vuc2UgaW4gYSBkb2N1bWVudCB5b3UgaGF2ZSB3 cml0dGVuLCBpbmNsdWRlIGEgY29weSBvZg0KK3RoZSBMaWNlbnNlIGluIHRoZSBkb2N1bWVudCBh bmQgcHV0IHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0IGFuZA0KK2xpY2Vuc2Ugbm90aWNlcyBqdXN0 IGFmdGVyIHRoZSB0aXRsZSBwYWdlOg0KKw0KKyAgICBDb3B5cmlnaHQgKGMpICBZRUFSICBZT1VS IE5BTUUuDQorICAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFu ZC9vciBtb2RpZnkgdGhpcyBkb2N1bWVudA0KKyAgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMNCisgICAgb3IgYW55IGxh dGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247DQor ICAgIHdpdGggbm8gSW52YXJpYW50IFNlY3Rpb25zLCBubyBGcm9udC1Db3ZlciBUZXh0cywgYW5k IG5vIEJhY2stQ292ZXIgVGV4dHMuDQorICAgIEEgY29weSBvZiB0aGUgbGljZW5zZSBpcyBpbmNs dWRlZCBpbiB0aGUgc2VjdGlvbiBlbnRpdGxlZCAiR05VDQorICAgIEZyZWUgRG9jdW1lbnRhdGlv biBMaWNlbnNlIi4NCisNCitJZiB5b3UgaGF2ZSBJbnZhcmlhbnQgU2VjdGlvbnMsIEZyb250LUNv dmVyIFRleHRzIGFuZCBCYWNrLUNvdmVyIFRleHRzLA0KK3JlcGxhY2UgdGhlICJ3aXRoLi4uVGV4 dHMuIiBsaW5lIHdpdGggdGhpczoNCisNCisgICAgd2l0aCB0aGUgSW52YXJpYW50IFNlY3Rpb25z IGJlaW5nIExJU1QgVEhFSVIgVElUTEVTLCB3aXRoIHRoZQ0KKyAgICBGcm9udC1Db3ZlciBUZXh0 cyBiZWluZyBMSVNULCBhbmQgd2l0aCB0aGUgQmFjay1Db3ZlciBUZXh0cyBiZWluZyBMSVNULg0K Kw0KK0lmIHlvdSBoYXZlIEludmFyaWFudCBTZWN0aW9ucyB3aXRob3V0IENvdmVyIFRleHRzLCBv ciBzb21lIG90aGVyDQorY29tYmluYXRpb24gb2YgdGhlIHRocmVlLCBtZXJnZSB0aG9zZSB0d28g YWx0ZXJuYXRpdmVzIHRvIHN1aXQgdGhlDQorc2l0dWF0aW9uLg0KKw0KK0lmIHlvdXIgZG9jdW1l bnQgY29udGFpbnMgbm9udHJpdmlhbCBleGFtcGxlcyBvZiBwcm9ncmFtIGNvZGUsIHdlDQorcmVj b21tZW5kIHJlbGVhc2luZyB0aGVzZSBleGFtcGxlcyBpbiBwYXJhbGxlbCB1bmRlciB5b3VyIGNo b2ljZSBvZg0KK2ZyZWUgc29mdHdhcmUgbGljZW5zZSwgc3VjaCBhcyB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UsDQordG8gcGVybWl0IHRoZWlyIHVzZSBpbiBmcmVlIHNvZnR3YXJlLg0K KyMrZW5kX2V4cG9ydA0KKw0KKyMraHRtbDogPCEtLQ0KKw0KKyogSW5kaWNlcw0KKzpwcm9wZXJ0 aWVzOg0KKzpjdXN0b21faWQ6IGg6NTUxMDRiMjYtOGU5NC00NmNmLTk5NzUtNDNlYTAwMzE2NDg5 DQorOmVuZDoNCisNCisqKiBGdW5jdGlvbiBpbmRleA0KKzpwcm9wZXJ0aWVzOg0KKzppbmRleDog Zm4NCis6Y3VzdG9tX2lkOiBoOjZiZWM1MDA1LTUyOWMtNDUyMS1hZTA1LTNkOTkwYmFmZmI1Yg0K KzplbmQ6DQorDQorKiogVmFyaWFibGUgaW5kZXgNCis6cHJvcGVydGllczoNCis6aW5kZXg6IHZy DQorOmN1c3RvbV9pZDogaDoxNmFkOGRmNi1iMDE1LTQwYTktOTI1OS0wM2Q0ZjdhMjNlZTQNCis6 ZW5kOg0KKw0KKyoqIENvbmNlcHQgaW5kZXgNCis6cHJvcGVydGllczoNCis6aW5kZXg6IGNwDQor OmN1c3RvbV9pZDogaDo2YWE3YTY1Ni04ODRiLTRjMzktYjc1OS0wODdlNDEyZWVjMTMNCis6ZW5k Og0KKw0KKyMraHRtbDogLS0+DQpkaWZmIC0tZ2l0IGEvZXRjL3RoZW1lcy9tb2R1cy1vcGVyYW5k aS10aGVtZS5lbCBiL2V0Yy90aGVtZXMvbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwNCmluZGV4IDM0 NjAwMGEwOTMuLmNlMmM3NWU5YTggMTAwNjQ0DQotLS0gYS9ldGMvdGhlbWVzL21vZHVzLW9wZXJh bmRpLXRoZW1lLmVsDQorKysgYi9ldGMvdGhlbWVzL21vZHVzLW9wZXJhbmRpLXRoZW1lLmVsDQpA QCAtMSw0NjY2ICsxLDY2IEBADQogOzs7IG1vZHVzLW9wZXJhbmRpLXRoZW1lLmVsIC0tLSBBY2Nl c3NpYmxlIGxpZ2h0IHRoZW1lIChXQ0FHIEFBQSkgLSotIGxleGljYWwtYmluZGluZzp0IC0qLQ0K IA0KLTs7IENvcHlyaWdodCAoQykgMjAxOS0yMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLg0KKzs7IENvcHlyaWdodCAoQykgMjAxOS0yMDIxICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4NCiANCiA7OyBBdXRob3I6IFByb3Rlc2lsYW9zIFN0YXZyb3UgPGluZm9AcHJvdGVz aWxhb3MuY29tPg0KIDs7IFVSTDogaHR0cHM6Ly9naXRsYWIuY29tL3Byb3Rlc2lsYW9zL21vZHVz LXRoZW1lcw0KLTs7IFZlcnNpb246IDAuMTMuMA0KKzs7IFZlcnNpb246IDEuMi4wDQogOzsgUGFj a2FnZS1SZXF1aXJlczogKChlbWFjcyAiMjYuMSIpKQ0KIDs7IEtleXdvcmRzOiBmYWNlcywgdGhl bWUsIGFjY2Vzc2liaWxpdHkNCiANCiA7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3Mu DQogDQotOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkNCis7OyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIDs7IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQotOzsg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3INCi07OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KLQ0KLTs7 IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLA0KLTs7IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mDQotOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KLTs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuDQotDQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0DQorOzsgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLg0KKzs7DQorOzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dA0KKzs7IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCis7OyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl IEdOVQ0KKzs7IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCis7Ow0K IDs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlDQotOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0 cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KKzs7IGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCiANCiA7Ozsg Q29tbWVudGFyeToNCiA7Ow0KLTs7IFRoaXMgdGhlbWUgaXMgZGVzaWduZWQgZm9yIGNvbG91ci1j b250cmFzdCBhY2Nlc3NpYmlsaXR5Lg0KLTs7DQotOzsgMS4gUHJvdmlkZSBhIGNvbnNpc3RlbnQg bWluaW11bSBjb250cmFzdCByYXRpbyBiZXR3ZWVuIGJhY2tncm91bmQgYW5kDQotOzsgZm9yZWdy b3VuZCB2YWx1ZXMgb2YgNzoxIG9yIGhpZ2hlci4gIFRoaXMgbWVldHMgdGhlIGhpZ2hlc3Qgc3Vj aA0KLTs7IGFjY2Vzc2liaWxpdHkgY3JpdGVyaW9uIHBlciB0aGUgZ3VpZGVsaW5lcyBvZiB0aGUg V29ybGR3aWRlIFdlYg0KLTs7IENvbnNvcnRpdW0ncyBXb3JraW5nIEdyb3VwIG9uIEFjY2Vzc2li aWxpdHkgKFdDQUcgQUFBIHN0YW5kYXJkKS4NCis7OyBNb2R1cyBPcGVyYW5kaSBpcyB0aGUgbGln aHQgdmFyaWFudCBvZiB0aGUgTW9kdXMgdGhlbWVzIChNb2R1cw0KKzs7IFZpdmVuZGkgaXMgdGhl IGRhcmsgb25lKS4gIFRoZSB0aGVtZXMgYXJlIGRlc2lnbmVkIGZvciBjb2xvci1jb250cmFzdA0K Kzs7IGFjY2Vzc2liaWxpdHkuICBNb3JlIHNwZWNpZmljYWxseToNCiA7Ow0KLTs7IDIuIE9mZmVy IGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcyBwb3NzaWJsZS4gIFRoZSBsaXN0IGlz DQotOzsgYWxyZWFkeSBxdWl0ZSBsb25nIChzZWUgZnVydGhlciBiZWxvdyksIHdpdGggbW9yZSBh ZGRpdGlvbnMgdG8gZm9sbG93DQotOzsgYXMgcGFydCBvZiB0aGUgb25nb2luZyBkZXZlbG9wbWVu dCBwcm9jZXNzLg0KKzs7ICAgICAxLiBQcm92aWRlIGEgY29uc2lzdGVudCBtaW5pbXVtIGNvbnRy YXN0IHJhdGlvIGJldHdlZW4gYmFja2dyb3VuZA0KKzs7ICAgICBhbmQgZm9yZWdyb3VuZCB2YWx1 ZXMgb2YgNzoxIG9yIGhpZ2hlci4gIFRoaXMgbWVldHMgdGhlIGhpZ2hlc3QNCis7OyAgICAgc3Vj aCBhY2Nlc3NpYmlsaXR5IGNyaXRlcmlvbiBwZXIgdGhlIGd1aWRlbGluZXMgb2YgdGhlIFdvcmxk d2lkZQ0KKzs7ICAgICBXZWIgQ29uc29ydGl1bSdzIFdvcmtpbmcgR3JvdXAgb24gQWNjZXNzaWJp bGl0eSAoV0NBRyBBQUENCis7OyAgICAgc3RhbmRhcmQpLg0KIDs7DQotOzsgVGhlIHRoZW1lIHBy b3ZpZGVzIHRoZSBmb2xsb3dpbmcgY3VzdG9taXNhdGlvbiBvcHRpb25zLCBhbGwgb2Ygd2hpY2gN Ci07OyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdDoNCis7OyAgICAgMi4gT2ZmZXIgYXMgY2xvc2Ug dG8gZnVsbCBmYWNlIGNvdmVyYWdlIGFzIHBvc3NpYmxlLiAgVGhlIGxpc3QgaXMNCis7OyAgICAg YWxyZWFkeSBxdWl0ZSBsb25nLCB3aXRoIG1vcmUgYWRkaXRpb25zIHRvIGZvbGxvdyBhcyBwYXJ0 IG9mIHRoZQ0KKzs7ICAgICBvbmdvaW5nIGRldmVsb3BtZW50IHByb2Nlc3MuDQogOzsNCi07OyAg ICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzICAgICAgICAgICAgIChi b29sZWFuKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLWNvbnN0cnVjdHMgICAg ICAgICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlh YmxlLXBpdGNoLWhlYWRpbmdzICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFu ZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAg ICBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncyAgICAgICAgICAgICAgICAgICAgICAgKGFs aXN0KQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS1oZWFkaW5ncyAgICAgICAg ICAgICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZXMg ICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10 aGVtZS1vcmctYmxvY2tzICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCi07OyAgICAgbW9k dXMtb3BlcmFuZGktdGhlbWUtcHJvbXB0cyAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2Up DQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZSAgICAgICAgICAgICAgICAg ICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcyAgICAgICAg ICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUt ZmFpbnQtc3ludGF4ICAgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy1v cGVyYW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmUgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQot OzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2UtcGFyZW4tbWF0Y2ggICAgICAgICAg ICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbGluay11bmRlcmxp bmUgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1j b21wbGV0aW9ucyAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCi07OyAgICAgbW9kdXMtb3Bl cmFuZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0ICAgICAgICAgIChhbGlzdCkNCis7OyBG b3IgYSBjb21wbGV0ZSB2aWV3IG9mIHRoZSBwcm9qZWN0LCBhbHNvIHJlZmVyIHRvIHRoZSBmb2xs b3dpbmcgZmlsZXMNCis7OyAoc2hvdWxkIGJlIGRpc3RyaWJ1dGVkIGluIHRoZSBzYW1lIHJlcG9z aXRvcnkvZGlyZWN0b3J5IGFzIHRoZQ0KKzs7IGN1cnJlbnQgaXRlbSk6DQogOzsNCi07OyBUaGUg ZGVmYXVsdCBzY2FsZSBpcyBhcyBmb2xsb3dzIChpdCBjYW4gYmUgY3VzdG9taXNlZCBhcyB3ZWxs KToNCi07Ow0KLTs7ICAgICBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi07OyAg ICAgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMiAxLjENCi07OyAgICAgbW9kdXMtb3BlcmFu ZGktdGhlbWUtc2NhbGUtMyAxLjE1DQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxl LTQgMS4yDQotOzsgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTUgMS4zDQotOzsNCi07 OyBXaGF0IGZvbGxvd3MgaXMgdGhlIGxpc3Qgb2YgZXhwbGljaXRseSBzdXBwb3J0ZWQgcGFja2Fn ZXMgb3IgZmFjZQ0KLTs7IGdyb3VwcyAodGhlcmUgYXJlIGltcGxpY2l0bHkgc3VwcG9ydGVkIHBh Y2thZ2VzIGFzIHdlbGwsIHdoaWNoDQotOzsgaW5oZXJpdCBmcm9tIGZvbnQtbG9jayBvciBzb21l IGJhc2ljIGdyb3VwKS4gIFlvdSBhcmUgZW5jb3VyYWdlZCB0bw0KLTs7IG5vdGlmeSBtZSBvZiBh bnkgbWlzc2luZyBwYWNrYWdlIG9yIGNoYW5nZSB5b3Ugd291bGQgbGlrZSB0byBzZWUuDQotOzsN Ci07OyAgICAgYWNlLXdpbmRvdw0KLTs7ICAgICBhZw0KLTs7ICAgICBhbGVydA0KLTs7ICAgICBh bGwtdGhlLWljb25zDQotOzsgICAgIGFubm90YXRlDQotOzsgICAgIGFuenUNCi07OyAgICAgYXBy b3Bvcw0KLTs7ICAgICBhcHQtc291cmNlcy1saXN0DQotOzsgICAgIGFydGJvbGxvY2tzLW1vZGUN Ci07OyAgICAgYXVjdGV4IGFuZCBUZVgNCi07OyAgICAgYXV0by1kaW0tb3RoZXItYnVmZmVycw0K LTs7ICAgICBhdnkNCi07OyAgICAgYXdlc29tZS10cmF5DQotOzsgICAgIGJpbmRlcg0KLTs7ICAg ICBibQ0KLTs7ICAgICBib25nbw0KLTs7ICAgICBib29uDQotOzsgICAgIGJyZWFrcG9pbnQgKHBy b3ZpZGVkIGJ5IGJ1aWx0LWluIGdkYi1taS5lbCkNCi07OyAgICAgYnVmZmVyLWV4cG9zZQ0KLTs7 ICAgICBjYWxlbmRhciBhbmQgZGlhcnkNCi07OyAgICAgY2FsZncNCi07OyAgICAgY2VudGF1ci10 YWJzDQotOzsgICAgIGNoYW5nZS1sb2cgYW5kIGxvZy12aWV3IChgdmMtcHJpbnQtbG9nJyBhbmQg YHZjLXByaW50LXJvb3QtbG9nJykNCi07OyAgICAgY2lkZXINCi07OyAgICAgY2lyY2UNCi07OyAg ICAgY29sb3ItcmcNCi07OyAgICAgY29sdW1uLWVuZm9yY2UtbW9kZQ0KLTs7ICAgICBjb21wYW55 LW1vZGUNCi07OyAgICAgY29tcGFueS1wb3NmcmFtZQ0KLTs7ICAgICBjb21waWxhdGlvbi1tb2Rl DQotOzsgICAgIGNvbXBsZXRpb25zDQotOzsgICAgIGNvdW5zZWwNCi07OyAgICAgY291bnNlbC1j c3MNCi07OyAgICAgY291bnNlbC1ub3RtdWNoDQotOzsgICAgIGNvdW5zZWwtb3JnLWNhcHR1cmUt c3RyaW5nDQotOzsgICAgIGNvdg0KLTs7ICAgICBjcGVybC1tb2RlDQotOzsgICAgIGNzdi1tb2Rl DQotOzsgICAgIGN0cmxmDQotOzsgICAgIGN1c3RvbSAoTS14IGN1c3RvbWl6ZSkNCi07OyAgICAg ZGFwLW1vZGUNCi07OyAgICAgZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQotOzsgICAgIGRl YWRncmVwDQotOzsgICAgIGRlYmJ1Z3MNCi07OyAgICAgZGVmaW5lLXdvcmQNCi07OyAgICAgZGVm dA0KLTs7ICAgICBkaWN0aW9uYXJ5DQotOzsgICAgIGRpZmYtaGwNCi07OyAgICAgZGlmZi1tb2Rl DQotOzsgICAgIGRpbS1hdXRvbG9hZA0KLTs7ICAgICBkaXItdHJlZXZpZXcNCi07OyAgICAgZGly ZWQNCi07OyAgICAgZGlyZWQtYXN5bmMNCi07OyAgICAgZGlyZWQtZ2l0DQotOzsgICAgIGRpcmVk LWdpdC1pbmZvDQotOzsgICAgIGRpcmVkLW5hcnJvdw0KLTs7ICAgICBkaXJlZC1zdWJ0cmVlDQot OzsgICAgIGRpcmVkZmwNCi07OyAgICAgZGlzay11c2FnZQ0KLTs7ICAgICBkb29tLW1vZGVsaW5l DQotOzsgICAgIGR5bmFtaWMtcnVsZXINCi07OyAgICAgZWFzeS1qZWt5bGwNCi07OyAgICAgZWFz eS1raWxsDQotOzsgICAgIGViZGINCi07OyAgICAgZWRpZmYNCi07OyAgICAgZWdsb3QNCi07OyAg ICAgZWwtc2VhcmNoDQotOzsgICAgIGVsZG9jDQotOzsgICAgIGVsZG9jLWJveA0KLTs7ICAgICBl bGZlZWQNCi07OyAgICAgZWxmZWVkLXNjb3JlDQotOzsgICAgIGVtbXMNCi07OyAgICAgZW5oYW5j ZWQtcnVieS1tb2RlDQotOzsgICAgIGVwYQ0KLTs7ICAgICBlcXVha2UNCi07OyAgICAgZXJjDQot OzsgICAgIGVyb3MNCi07OyAgICAgZXJ0DQotOzsgICAgIGVzaGVsbA0KLTs7ICAgICBlc2hlbGwt ZnJpbmdlLXN0YXR1cw0KLTs7ICAgICBlc2hlbGwtZ2l0LXByb21wdA0KLTs7ICAgICBlc2hlbGwt cHJvbXB0LWV4dHJhcyAoZXBlKQ0KLTs7ICAgICBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0K LTs7ICAgICBldmlsIChldmlsLW1vZGUpDQotOzsgICAgIGV2aWwtZ29nZ2xlcw0KLTs7ICAgICBl dmlsLXZpc3VhbC1tYXJrLW1vZGUNCi07OyAgICAgZXd3DQotOzsgICAgIGV5ZWJyb3dzZQ0KLTs7 ICAgICBmYW5jeS1kYWJicmV2DQotOzsgICAgIGZseWNoZWNrDQotOzsgICAgIGZseWNoZWNrLWNv bG9yLW1vZGUtbGluZQ0KLTs7ICAgICBmbHljaGVjay1pbmRpY2F0b3INCi07OyAgICAgZmx5Y2hl Y2stcG9zZnJhbWUNCi07OyAgICAgZmx5bWFrZQ0KLTs7ICAgICBmbHlzcGVsbA0KLTs7ICAgICBm bHlzcGVsbC1jb3JyZWN0DQotOzsgICAgIGZseA0KLTs7ICAgICBmcmVlemUtaXQNCi07OyAgICAg ZnJvZy1tZW51DQotOzsgICAgIGZvY3VzDQotOzsgICAgIGZvbGQtdGhpcw0KLTs7ICAgICBmb250 LWxvY2sgKGdlbmVyaWMgc3ludGF4IGhpZ2hsaWdodGluZykNCi07OyAgICAgZm9yZ2UNCi07OyAg ICAgZm91bnRhaW4gKGZvdW50YWluLW1vZGUpDQotOzsgICAgIGdlaXNlcg0KLTs7ICAgICBnaXQt Y29tbWl0DQotOzsgICAgIGdpdC1ndXR0ZXIgKGFuZCB2YXJpYW50cykNCi07OyAgICAgZ2l0LWxl bnMNCi07OyAgICAgZ2l0LXJlYmFzZQ0KLTs7ICAgICBnaXQtdGltZW1hY2hpbmUNCi07OyAgICAg Z2l0LXdhbGt0cmVlDQotOzsgICAgIGdudXMNCi07OyAgICAgZ29sZGVuLXJhdGlvLXNjcm9sbC1z Y3JlZW4NCi07OyAgICAgaGVsbQ0KLTs7ICAgICBoZWxtLWxzLWdpdA0KLTs7ICAgICBoZWxtLXN3 aXRjaC1zaGVsbA0KLTs7ICAgICBoZWxtLXhyZWYNCi07OyAgICAgaGVscGZ1bA0KLTs7ICAgICBo aWdobGlnaHQtYmxvY2tzDQotOzsgICAgIGhpZ2hsaWdodC1kZWZpbmVkDQotOzsgICAgIGhpZ2hs aWdodC1lc2NhcGUtc2VxdWVuY2VzIChgaGVzLW1vZGUnKQ0KLTs7ICAgICBoaWdobGlnaHQtaW5k ZW50YXRpb24NCi07OyAgICAgaGlnaGxpZ2h0LW51bWJlcnMNCi07OyAgICAgaGlnaGxpZ2h0LXN5 bWJvbA0KLTs7ICAgICBoaWdobGlnaHQtdGFpbA0KLTs7ICAgICBoaWdobGlnaHQtdGhpbmcNCi07 OyAgICAgaGwtZGVmaW5lZA0KLTs7ICAgICBobC1maWxsLWNvbHVtbg0KLTs7ICAgICBobC1saW5l LW1vZGUNCi07OyAgICAgaGwtdG9kbw0KLTs7ICAgICBoeWRyYQ0KLTs7ICAgICBoeXBlcmxpc3QN Ci07OyAgICAgaWJ1ZmZlcg0KLTs7ICAgICBpY29tcGxldGUNCi07OyAgICAgaWRvLW1vZGUNCi07 OyAgICAgaWVkaXQNCi07OyAgICAgaWZsaXBiDQotOzsgICAgIGltZW51LWxpc3QNCi07OyAgICAg aW5kaXVtDQotOzsgICAgIGluZm8NCi07OyAgICAgaW5mby1jb2xvcnMNCi07OyAgICAgaW50ZXJh Y3Rpb24tbG9nDQotOzsgICAgIGlvY2N1cg0KLTs7ICAgICBpc2VhcmNoLCBvY2N1ciwgZXRjLg0K LTs7ICAgICBpdnkNCi07OyAgICAgaXZ5LXBvc2ZyYW1lDQotOzsgICAgIGppcmEgKG9yZy1qaXJh KQ0KLTs7ICAgICBqb3VybmFsY3RsLW1vZGUNCi07OyAgICAganMyLW1vZGUNCi07OyAgICAganVs aWENCi07OyAgICAganVweXRlcg0KLTs7ICAgICBrYW9jaGEtcnVubmVyDQotOzsgICAgIGtleWNh c3QNCi07OyAgICAgbGluZSBudW1iZXJzIChgZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZScgYW5k IGdsb2JhbCB2YXJpYW50KQ0KLTs7ICAgICBsc3AtbW9kZQ0KLTs7ICAgICBsc3AtdWkNCi07OyAg ICAgbWFnaXQNCi07OyAgICAgbWFnaXQtaW1lcmdlDQotOzsgICAgIG1hbg0KLTs7ICAgICBtYXJr ZG93bi1tb2RlDQotOzsgICAgIG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9kZScpDQotOzsgICAgIG1l bnRvcg0KLTs7ICAgICBtZXNzYWdlcw0KLTs7ICAgICBtaW5pYnVmZmVyLWxpbmUNCi07OyAgICAg bWluaW1hcA0KLTs7ICAgICBtb2RlbGluZQ0KLTs7ICAgICBtb29kLWxpbmUNCi07OyAgICAgbXBk ZWwNCi07OyAgICAgbXU0ZQ0KLTs7ICAgICBtdTRlLWNvbnZlcnNhdGlvbg0KLTs7ICAgICBtdWx0 aXBsZS1jdXJzb3JzDQotOzsgICAgIG5lb3RyZWUNCi07OyAgICAgbm8tZW1vamkNCi07OyAgICAg bm90bXVjaA0KLTs7ICAgICBudW0zLW1vZGUNCi07OyAgICAgbnhtbC1tb2RlDQotOzsgICAgIG9i amVkDQotOzsgICAgIG9yZGVybGVzcw0KLTs7ICAgICBvcmcNCi07OyAgICAgb3JnLWpvdXJuYWwN Ci07OyAgICAgb3JnLW5vdGVyDQotOzsgICAgIG9yZy1wb21vZG9ybw0KLTs7ICAgICBvcmctcmVj dXINCi07OyAgICAgb3JnLXJvYW0NCi07OyAgICAgb3JnLXN1cGVyc3Rhcg0KLTs7ICAgICBvcmct dGFibGUtc3RpY2t5LWhlYWRlcg0KLTs7ICAgICBvcmctdHJlZXNjb3BlDQotOzsgICAgIG9yaWdh bWkNCi07OyAgICAgb3V0bGluZS1tb2RlDQotOzsgICAgIG91dGxpbmUtbWlub3ItZmFjZXMNCi07 OyAgICAgcGFja2FnZSAoTS14IGxpc3QtcGFja2FnZXMpDQotOzsgICAgIHBhZ2UtYnJlYWstbGlu ZXMNCi07OyAgICAgcGFyYWRveA0KLTs7ICAgICBwYXJlbi1mYWNlDQotOzsgICAgIHBhcnJvdA0K LTs7ICAgICBwYXNzDQotOzsgICAgIHBlcnNwLW1vZGUNCi07OyAgICAgcGVyc3BlY3RpdmUNCi07 OyAgICAgcGhpLWdyZXANCi07OyAgICAgcGhpLXNlYXJjaA0KLTs7ICAgICBwa2didWlsZC1tb2Rl DQotOzsgICAgIHBvbWlkb3INCi07OyAgICAgcG93ZXJsaW5lDQotOzsgICAgIHBvd2VybGluZS1l dmlsDQotOzsgICAgIHByb2NlZA0KLTs7ICAgICBwcm9kaWd5DQotOzsgICAgIHJhY2tldC1tb2Rl DQotOzsgICAgIHJhaW5ib3ctYmxvY2tzDQotOzsgICAgIHJhaW5ib3ctaWRlbnRpZmllcnMNCi07 OyAgICAgcmFpbmJvdy1kZWxpbWl0ZXJzDQotOzsgICAgIHJjaXJjDQotOzsgICAgIHJlZ2V4cC1i dWlsZGVyIChhbHNvIGtub3duIGFzIGByZS1idWlsZGVyJykNCi07OyAgICAgcmcNCi07OyAgICAg cmlwZ3JlcA0KLTs7ICAgICBybWFpbA0KLTs7ICAgICBydWxlci1tb2RlDQotOzsgICAgIHNhbGxl dA0KLTs7ICAgICBzZWxlY3RydW0NCi07OyAgICAgc2VtYW50aWMNCi07OyAgICAgc2VzbWFuDQot OzsgICAgIHNoZWxsLXNjcmlwdC1tb2RlDQotOzsgICAgIHNob3ctcGFyZW4tbW9kZQ0KLTs7ICAg ICBzaWRlLW5vdGVzDQotOzsgICAgIHNrZXdlci1tb2RlDQotOzsgICAgIHNtYXJ0LW1vZGUtbGlu ZQ0KLTs7ICAgICBzbWFydHBhcmVucw0KLTs7ICAgICBzbWVyZ2UNCi07OyAgICAgc3BhY2VsaW5l DQotOzsgICAgIHNwZWVkYmFyDQotOzsgICAgIHNwZWxsLWZ1DQotOzsgICAgIHN0cmlwZXMNCi07 OyAgICAgc3VnZ2VzdA0KLTs7ICAgICBzd2l0Y2gtd2luZG93DQotOzsgICAgIHN3aXBlcg0KLTs7 ICAgICBzd29vcA0KLTs7ICAgICBzeA0KLTs7ICAgICBzeW1ib2wtb3ZlcmxheQ0KLTs7ICAgICB0 YWItYmFyLW1vZGUNCi07OyAgICAgdGFiLWxpbmUtbW9kZQ0KLTs7ICAgICBzeXNsb2ctbW9kZQ0K LTs7ICAgICB0YWJsZSAoYnVpbHQtaW4gdGFibGUuZWwpDQotOzsgICAgIHRlbGVwaG9uZS1saW5l DQotOzsgICAgIHRlcm0NCi07OyAgICAgdG9tYXRpbmhvDQotOzsgICAgIHRyYW5zaWVudCAocG9w LXVwIHdpbmRvd3MgbGlrZSBNYWdpdCdzKQ0KLTs7ICAgICB0cmFzaGVkDQotOzsgICAgIHRyZWVt YWNzDQotOzsgICAgIHR0eS1tZW51DQotOzsgICAgIHR1YXJlZw0KLTs7ICAgICB0eXBlc2NyaXB0 DQotOzsgICAgIHVuZG8tdHJlZQ0KLTs7ICAgICB2YyAoYnVpbHQtaW4gbW9kZSBsaW5lIHN0YXR1 cyBmb3IgdmVyc2lvbiBjb250cm9sKQ0KLTs7ICAgICB2Yy1hbm5vdGF0ZSAoQy14IHYgZykNCi07 OyAgICAgdmRpZmYNCi07OyAgICAgdmltaXNoLWZvbGQNCi07OyAgICAgdmlzaWJsZS1tYXJrDQot OzsgICAgIHZpc3VhbC1yZWdleHANCi07OyAgICAgdm9sYXRpbGUtaGlnaGxpZ2h0cw0KLTs7ICAg ICB2dGVybQ0KLTs7ICAgICB3Y2hlY2stbW9kZQ0KLTs7ICAgICB3ZWItbW9kZQ0KLTs7ICAgICB3 Z3JlcA0KLTs7ICAgICB3aGljaC1mdW5jdGlvbi1tb2RlDQotOzsgICAgIHdoaWNoLWtleQ0KLTs7 ICAgICB3aGl0ZXNwYWNlLW1vZGUNCi07OyAgICAgd2luZG93LWRpdmlkZXItbW9kZQ0KLTs7ICAg ICB3aW51bQ0KLTs7ICAgICB3cml0ZWdvb2QtbW9kZQ0KLTs7ICAgICB3b21hbg0KLTs7ICAgICB4 YWgtZWxpc3AtbW9kZQ0KLTs7ICAgICB4cmVmDQotOzsgICAgIHh0ZXJtLWNvbG9yIChhbmQgYW5z aS1jb2xvcnMpDQotOzsgICAgIHlhbWwtbW9kZQ0KLTs7ICAgICB5YXNuaXBwZXQNCi07OyAgICAg enRyZWUNCis7OyAtIG1vZHVzLXRoZW1lcy5lbCAgICAgICAgICAgIChNYWluIGNvZGUgc2hhcmVk IGJldHdlZW4gdGhlIHRoZW1lcykNCis7OyAtIG1vZHVzLXZpdmVuZGktdGhlbWUuZWwgICAgIChE YXJrIHRoZW1lKQ0KIA0KIDs7OyBDb2RlOg0KIA0KIAwNCiANCi0oZGVmdGhlbWUgbW9kdXMtb3Bl cmFuZGkNCi0gICJMaWdodCB0aGVtZSB0aGF0IGNvbmZvcm1zIHdpdGggdGhlIGhpZ2hlc3QgYWNj ZXNzaWJpbGl0eQ0KLSAgc3RhbmRhcmQgZm9yIGNvbG91ciBjb250cmFzdCBiZXR3ZWVuIGJhY2tn cm91bmQgYW5kDQotICBmb3JlZ3JvdW5kIGVsZW1lbnRzIChXQ0FHIEFBQSkuIikNCi0NCi07Ozsg Q3VzdG9tIGZhY2VzDQotDQotOzsgVGhlc2UgZmFjZXMgd2lsbCBiZSBpbmhlcml0ZWQgYnkgYWN0 dWFsIGNvbnN0cnVjdHMuICBUaGV5IGFyZSBtZWFudA0KLTs7IGZvciB0aG9zZSBjYXNlcyB3aGVy ZSBhIGZhY2UgbmVlZHMgdG8gZGlzdGluZ3Vpc2ggaXRzIG91dHB1dCBmcm9tDQotOzsgdGhlIHJl c3Qgb2YgdGhlIHRleHQsIHN1Y2ggYXMgYGlzZWFyY2gnIGFuZCBgb2NjdXIn4oCmICBXZSBkZWZp bmUNCi07OyB0aGVzZSBzZXBhcmF0ZWx5IGluIG9yZGVyIHRvIGNvbWJpbmUgZWFjaCBjb2xvdXIg d2l0aCBpdHMNCi07OyBhcHByb3ByaWF0ZSBmb3JlZ3JvdW5kIHZhbHVlLiAgVGhpcyBpcyB0byBl bnN1cmUgYSBjb25zaXN0ZW50DQotOzsgY29udHJhc3QgcmF0aW8gb2YgPj0gNzoxLg0KLShkZWZn cm91cCBtb2R1cy10aGVtZSAoKQ0KLSAgIlRoZW1lIHRoYXQgZW5zdXJlcyBXQ0FHIEFBQSBhY2Nl c3NpYmlsaXR5IChjb250cmFzdCByYXRpbw0KLWJldHdlZW4gZm9yZWdyb3VuZCBhbmQgYmFja2dy b3VuZCBpcyA+PSA3OjEpLiINCi0gIDpncm91cCAnZmFjZXMNCi0gIDpwcmVmaXggIm1vZHVzLXRo ZW1lLSINCi0gIDpsaW5rICcodXJsLWxpbmsgOnRhZyAiR2l0TGFiIiAiaHR0cHM6Ly9naXRsYWIu Y29tL3Byb3Rlc2lsYW9zL21vZHVzLXRoZW1lcyIpDQotICA6dGFnICJNb2R1cyBPcGVyYW5kaSIp DQotDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LXN1YnRsZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1 ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1l LWludGVuc2UtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl biBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93IG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2Ug bW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtaW50ZW5zZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1u ZXV0cmFsIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCBuaWwgbmls KQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1yZWZpbmUtYmx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1tYWdl bnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gbmlsIG5pbCkN Ci0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtYWN0aXZlLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0 aXZlLXllbGxvdyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVz LXRoZW1lLWZyaW5nZS1yZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2Ut Z3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93IG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLWZyaW5nZS1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1y ZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1udWFuY2VkLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1udWFuY2Vk LWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWFkZGVk IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1kaWZmLXJlZmluZS1jaGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlm Zi1yZWZpbmUtcmVtb3ZlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtZm9j dXMtYWRkZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5n ZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92ZWQgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcgbmlsIG5pbCkNCi0oZGVm ZmFjZSBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtbWFyay1hbHQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLWRlbCBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstc2VsIG5pbCBuaWwpDQotKGRlZmZh Y2UgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVt ZS1oZWFkaW5nLTEgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTIgbmls IG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTMgbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1oZWFkaW5nLTQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1o ZWFkaW5nLTUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTYgbmlsIG5p bCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTcgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1oZWFkaW5nLTggbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1obC1s aW5lIG5pbCBuaWwpDQotDQotOzs7IEN1c3RvbWlzYXRpb24gb3B0aW9ucw0KLQ0KLTs7IFVzZXIt ZmFjaW5nIGN1c3RvbWlzYXRpb24gb3B0aW9ucy4gIFRoZXkgYXJlIGFsbCBkZWFjdGl2YXRlZCBi eQ0KLTs7IGRlZmF1bHQgKHVzZXJzIG11c3Qgb3B0IGluKS4NCi0oZGVmY3VzdG9tIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyBuaWwNCi0gICJVc2Ugc2xhbnRlZCB0ZXh0 IGluIG1vcmUgY29kZSBjb25zdHJ1Y3RzIChpdGFsaWNzIG9yIG9ibGlxdWUpLiINCi0gIDp0eXBl ICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC1jb25z dHJ1Y3RzIG5pbA0KLSAgIlVzZSBib2xkIHRleHQgaW4gbW9yZSBjb2RlIGNvbnN0cnVjdHMuIg0K LSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmluZS1vYnNvbGV0ZS12YXJpYWJsZS1hbGlhcyAn bW9kdXMtb3BlcmFuZGktdGhlbWUtcHJvcG9ydGlvbmFsLWZvbnRzDQotICAnbW9kdXMtb3BlcmFu ZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgImBtb2R1cy1vcGVyYW5kaS10aGVtZScg MC4xMS4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb3BvcnRpb25h bC1mb250cyBuaWwNCi0gICJVc2UgcHJvcG9ydGlvbmFsIGZvbnRzICh2YXJpYWJsZS1waXRjaCkg aW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1v cGVyYW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyBuaWwNCi0gICJVc2UgcHJvcG9y dGlvbmFsIGZvbnRzICh2YXJpYWJsZS1waXRjaCkgaW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jv b2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1uby1taXhlZC1mb250 cyBuaWwNCi0gICJEaXNhYmxlIGluaGVyaXRhbmNlIGZyb20gYGZpeGVkLXBpdGNoJyBpbiBzb21l IGZhY2VzLg0KLQ0KLVRoaXMgaXMgZG9uZSBieSBkZWZhdWx0IHRvIGFsbG93IHNwYWNpbmctc2Vu c2l0aXZlIGNvbnN0cnVjdHMsDQotc3VjaCBhcyBPcmcgdGFibGVzIGFuZCBjb2RlIGJsb2Nrcywg dG8gcmVtYWluIG1vbm9zcGFjZWQgd2hlbg0KLXVzZXJzIG9wdCBmb3Igc29tZXRoaW5nIGxpa2Ug dGhlIGNvbW1hbmQgYHZhcmlhYmxlLXBpdGNoLW1vZGUnLg0KLVRoZSBkb3duc2lkZSB3aXRoIHRo ZSBkZWZhdWx0IGlzIHRoYXQgdXNlcnMgbmVlZCB0byBleHBsaWNpdGx5DQotY29uZmlndXJlIHRo ZSBmb250IGZhbWlseSBvZiBgZml4ZWQtcGl0Y2gnIGluIG9yZGVyIHRvIGdldCBhDQotY29uc2lz dGVudCBleHBlcmllbmNlLiAgVGhhdCBtYXkgYmUgc29tZXRoaW5nIHRoZXkgZG8gbm90IHdhbnQg dG8NCi1kby4gIEhlbmNlIHRoaXMgb3B0aW9uIHRvIGRpc2FibGUgYW55IGtpbmQgb2YgdGVjaG5p cXVlIGZvcg0KLW1peGluZyBmb250cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0obWFrZS1v YnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncw0KLSAgICAgICAg ICAgICAgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICJg bW9kdXMtb3BlcmFuZGktdGhlbWUnIDAuMTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVy YW5kaS10aGVtZS1yYWluYm93LWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBtb3JlIHNhdHVyYXRlZCBj b2xvdXJzIGZvciBoZWFkaW5ncy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0obWFrZS1vYnNv bGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc2VjdGlvbi1oZWFkaW5ncw0KLSAgICAgICAgICAg ICAgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICJgbW9k dXMtb3BlcmFuZGktdGhlbWUnIDAuMTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5k aS10aGVtZS1zZWN0aW9uLWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBhIGJhY2tncm91bmQgYW5kIGFu IG92ZXJsaW5lIGluIGhlYWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0 b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZ3MNCi0gICcoKHQgLiBuaWwpKQ0KLSAgIkFs aXN0IG9mIHN0eWxlcyBmb3IgaGVhZGluZ3MsIHdpdGggb3B0aW9uYWwgdmFsdWUgcGVyIGxldmVs Lg0KLQ0KLVRvIGNvbnRyb2wgZmFjZXMgcGVyIGxldmVsIGZyb20gMS04LCB1c2Ugc29tZXRoaW5n IGxpa2UgdGhpczoNCi0NCi0gIChzZXRxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmdzDQot ICAgICAgICAnKCgxIC4gaGlnaGxpZ2h0KQ0KLSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAg ICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCi0NCi1UbyBzZXQgYSB1bmlmb3JtIHZh bHVlIGZvciBhbGwgaGVhZGluZyBsZXZlbHMsIHVzZSB0aGlzIHBhdHRlcm46DQotDQotICAoc2V0 cSBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgJygodCAuIHJhaW5ib3ct bGluZS1uby1ib2xkKSkpDQotDQotVGhlIGRlZmF1bHQgdXNlcyBhIGZhaXJseSBkZXNhdHVyYXRl ZCBmb3JlZ3JvdW5kIHZhbHVlIGluDQotY29tYmluYXRpb24gd2l0aCBhIGJvbGQgdHlwb2dyYXBo aWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0aGlzDQotc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwgTiAo YXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2ZSBhbm90aGVyDQotZmFsbGJhY2sgb3B0aW9uKSwganVz dCBzcGVjaWZ5IHRoZSB2YWx1ZSB0IGxpa2UgdGhpczoNCi0NCi0gIChzZXRxIG1vZHVzLW9wZXJh bmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAnKCgxIC4gdCkNCi0gICAgICAgICAgKDIgLiBs aW5lKQ0KLSAgICAgICAgICAodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQotDQotQSBkZXNj cmlwdGlvbiBvZiBhbGwgcG9zc2libGUgdmFsdWVzOg0KLQ0KLSsgYG5vLWJvbGQnIHJldGFpbnMg dGhlIGRlZmF1bHQgdGV4dCBjb2xvdXIgd2hpbGUgcmVtb3ZpbmcNCi0gIHRoZSB0eXBvZ3JhcGhp YyB3ZWlnaHQuDQotDQotKyBgbGluZScgaXMgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQgcGx1cyBh biBvdmVybGluZSBvdmVyIHRoZQ0KLSAgaGVhZGluZy4NCi0NCi0rIGBsaW5lLW5vLWJvbGQnIGlz IHRoZSBzYW1lIGFzIGBsaW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYHJhaW5ib3cn IHVzZXMgYSBtb3JlIGNvbG91cmZ1bCBmb3JlZ3JvdW5kIGluIGNvbWJpbmF0aW9uDQotICB3aXRo IGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYHJhaW5ib3ctbGluZScgaXMgdGhlIHNhbWUgYXMgYHJhaW5i b3cnIHBsdXMgYW4gb3ZlcmxpbmUuDQotDQotKyBgcmFpbmJvdy1saW5lLW5vLWJvbGQnIGlzIHRo ZSBzYW1lIGFzIGByYWluYm93LWxpbmUnIHdpdGhvdXQNCi0gIHRoZSBib2xkIHdlaWdodC4NCi0N Ci0rIGBoaWdobGlnaHQnIHJldGFpbnMgdGhlIGRlZmF1bHQgc3R5bGUgb2YgYSBmYWlybHkgZGVz YXR1cmF0ZWQNCi0gIGZvcmVncm91bmQgY29tYmluZWQgd2l0aCBhIGJvbGQgd2VpZ2h0IGFuZCBh ZGQgdG8gaXQgYSBzdWJ0bGUNCi0gIGFjY2VudGVkIGJhY2tncm91bmQuDQotDQotKyBgaGlnaGxp Z2h0LW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBoaWdobGlnaHQnIHdpdGhvdXQgYSBib2xkDQot ICB3ZWlnaHQuDQotDQotKyBgcmFpbmJvdy1oaWdobGlnaHQnIGlzIHRoZSBzYW1lIGFzIGBoaWdo bGlnaHQnIGJ1dCB3aXRoIGEgbW9yZQ0KLSAgY29sb3VyZnVsIGZvcmVncm91bmQuDQotDQotKyBg cmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctaGlnaGxp Z2h0Jw0KLSAgd2l0aG91dCBhIGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYHNlY3Rpb24nIHJldGFpbnMg dGhlIGRlZmF1bHQgbG9va3MgYW5kIGFkZHMgdG8gdGhlbSBib3RoIGFuDQotICBvdmVybGluZSBh bmQgYSBzbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kLiAgSXQgaXMsIGluIGVmZmVjdCwNCi0g IGEgY29tYmluYXRpb24gb2YgdGhlIGBsaW5lJyBhbmQgYGhpZ2hsaWdodCcgdmFsdWVzLg0KLQ0K LSsgYHNlY3Rpb24tbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHNlY3Rpb24nIHdpdGhvdXQgYSBi b2xkDQotICB3ZWlnaHQuDQotDQotKyBgcmFpbmJvdy1zZWN0aW9uJyBpcyB0aGUgc2FtZSBhcyBg c2VjdGlvbicgYnV0IHdpdGggYSBtb3JlDQotICBjb2xvdXJmdWwgZm9yZWdyb3VuZC4NCi0NCi0r IGByYWluYm93LXNlY3Rpb24tbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctc2VjdGlv bicNCi0gIHdpdGhvdXQgYSBib2xkIHdlaWdodC4iDQotICA6dHlwZQ0KLSAgJyhhbGlzdA0KLSAg ICA6a2V5LXR5cGUgc3ltYm9sDQotICAgIDp2YWx1ZS10eXBlDQotICAgIChjaG9pY2UgKGNvbnN0 IDp0YWcgIkZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHdpdGggYm9sZCB3ZWlnaHQgKGRl ZmF1bHQpIiB0KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHdp dGhvdXQgYm9sZCB3ZWlnaHQiIG5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgdGhlIGRlZmF1bHQgcGx1cyBvdmVybGluZSIgbGluZSkNCi0gICAgICAgICAgICAoY29uc3Qg OnRhZyAiTGlrZSBgbGluZScgd2l0aG91dCBib2xkIHdlaWdodCIgbGluZS1uby1ib2xkKQ0KLSAg ICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IGJ1dCB3aXRoIG1vcmUgY29s b3VyZnVsIGZvcmVncm91bmQiIHJhaW5ib3cpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgYHJhaW5ib3cnIHBsdXMgb3ZlcmxpbmUiIHJhaW5ib3ctbGluZSkNCi0gICAgICAgICAgICAo Y29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1u by1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93LWxpbmUnIHdp dGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ctbGluZS1uby1ib2xkKQ0KLSAgICAgICAgICAgIChj b25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHBsdXMgc3VidGxlIGJhY2tncm91bmQiIGhpZ2hs aWdodCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRob3V0 IGJvbGQgd2VpZ2h0IiBoaWdobGlnaHQtbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRh ZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRoIG1vcmUgY29sb3VyZnVsIGZvcmVncm91bmQiIHJhaW5i b3ctaGlnaGxpZ2h0KQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93LWhp Z2hsaWdodCcgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZCkN Ci0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyBwbHVzIG92ZXJsaW5l IiBzZWN0aW9uKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBzZWN0aW9uJyB3aXRo b3V0IGJvbGQgd2VpZ2h0IiBzZWN0aW9uLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0 YWcgIkxpa2UgYHNlY3Rpb24nIHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJv dy1zZWN0aW9uKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGByYWluYm93LXNlY3Rp b24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5ib3ctc2VjdGlvbi1uby1ib2xkKSkpKQ0KLQ0K LShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgbmlsDQotICAi VXNlIGZvbnQgc2NhbGluZyBmb3IgaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQot KGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi0gICJGb250IHNp emUgdGhhdCBpcyBzbGlnaHRseSBsYXJnZXIgdGhhbiB0aGUgYmFzZSB2YWx1ZS4NCi1UaGUgZGVm YXVsdCBpcyBhIGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBs ZQ0KLW9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFj Y2VwdHMgYW4NCi1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5n LiBhIHZhbHVlIG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQg cG9pbnQgc2l6ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1l bnRhdGlvbiBvZg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVp Z2h0JyBzZWN0aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1v cGVyYW5kaS10aGVtZS1zY2FsZS0yIDEuMQ0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIg dGhhbiBgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMScuDQotVGhlIGRlZmF1bHQgaXMgYSBm bG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUg YmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQot aW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBv ZiAxNDAgaXMNCi10aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUp Lg0KLQ0KLUZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YN Ci1gc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlv bi4iDQotICA6dHlwZSAnbnVtYmVyKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhl bWUtc2NhbGUtMyAxLjE1DQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1 cy1vcGVyYW5kaS10aGVtZS1zY2FsZS0yJy4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0aW5nIHBv aW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNlIGZvbnQg c2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRlZ2VyLCB1 bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0MCBpcw0K LXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQotDQotRm9y IG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBzZXQtZmFj ZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiINCi0gIDp0 eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZS00 IDEuMg0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJnZXIgdGhhbiBgbW9kdXMtb3BlcmFuZGkt dGhlbWUtc2NhbGUtMycuDQotVGhlIGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlz IGludGVycHJldGVkIGFzIGEgbXVsdGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dl dmVyLCB0aGUgdmFyaWFibGUgYWxzbyBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9vZCBh cyBhbiBhYnNvbHV0ZSBoZWlnaHQgKGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2FtZSBh cyBzZXR0aW5nIHRoZSBmb250IGF0IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9uIHRo ZSBtYXR0ZXIsIHJlYWQgdGhlIGRvY3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmlidXRl Jywgc3BlY2lmaWNhbGx5IHRoZSAnOmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVtYmVy KQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNSAxLjMNCi0gICJG b250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxl LTQnLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRl ZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhlIHZh cmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJzb2x1 dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGluZyB0 aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVyLCBy ZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNpZmlj YWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0obWFr ZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtdmlzaWJsZS1mcmluZ2VzDQotICAgICAg ICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZXMNCi0gICAgICAgICAgICAgICAi YG1vZHVzLW9wZXJhbmRpLXRoZW1lJyAwLjEyLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3Bl cmFuZGktdGhlbWUtdmlzaWJsZS1mcmluZ2VzIG5pbA0KLSAgIlVzZSBhIHZpc2libGUgc3R5bGUg Zm9yIGZyaW5nZXMuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1v cGVyYW5kaS10aGVtZS1mcmluZ2VzIG5pbA0KLSAgIkRlZmluZSB0aGUgdmlzaWJpbGl0eSBvZiBm cmluZ2VzLg0KLQ0KLU5pbCBtZWFucyB0aGUgZnJpbmdlcyBoYXZlIG5vIGJhY2tncm91bmQgY29s b3VyLiAgT3B0aW9uIGBzdWJ0bGUnDQotd2lsbCBhcHBseSBhIGdyZXlzY2FsZSB2YWx1ZSB0aGF0 IGlzIHZpc2libGUgeWV0IGNsb3NlIHRvIHRoZQ0KLW1haW4gYnVmZmVyIGJhY2tncm91bmQgY29s b3VyLiAgT3B0aW9uIGBpbnRlbnNlJyB3aWxsIHVzZSBhIG1vcmUNCi1wcm9ub3VuY2VkIGdyZXlz Y2FsZSB2YWx1ZS4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAi Tm8gdmlzaWJsZSBmcmluZ2VzIChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRh ZyAiU3VidGxlIGdyZXlzY2FsZSBiYWNrZ3JvdW5kIiBzdWJ0bGUpDQotICAgICAgICAgIChjb25z dCA6dGFnICJJbnRlbnNlIGdyZXlzY2FsZSBiYWNrZ3JvdW5kIiBpbnRlbnNlKSkpDQotDQotKG1h a2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLWRpc3RpbmN0LW9yZy1ibG9ja3MNCi0g ICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2Nrcw0KLSAgICAgICAg ICAgICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUnIDAuMTEuMCIpDQotDQotKGRlZmN1c3RvbSBt b2R1cy1vcGVyYW5kaS10aGVtZS1kaXN0aW5jdC1vcmctYmxvY2tzIG5pbA0KLSAgIlVzZSBhIGRp c3RpbmN0IG5ldXRyYWwgYmFja2dyb3VuZCBmb3IgYG9yZy1tb2RlJyBibG9ja3MuIg0KLSAgOnR5 cGUgJ2Jvb2xlYW4pDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXJh aW5ib3ctb3JnLXNyYy1ibG9ja3MNCi0gICAgICAgICAgICAgICAnbW9kdXMtb3BlcmFuZGktdGhl bWUtb3JnLWJsb2Nrcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUnIDAu MTEuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1yYWluYm93LW9yZy1z cmMtYmxvY2tzIG5pbA0KLSAgIlVzZSBjb2xvdXItY29kZWQgYmFja2dyb3VuZHMgZm9yIGBvcmct bW9kZScgc291cmNlIGJsb2Nrcy4NCi1UaGUgY29sb3VyIGluIHVzZSBkZXBlbmRzIG9uIHRoZSBs YW5ndWFnZSAoc2VuZCBmZWVkYmFjayB0bw0KLWluY2x1ZGUgbW9yZSBsYW5ndWFnZXMpLiINCi0g IDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtb3Jn LWJsb2NrcyBuaWwNCi0gICJVc2UgYSBzdWJ0bGUgZ3JleSBvciBjb2xvdXItY29kZWQgYmFja2dy b3VuZCBmb3IgT3JnIGJsb2Nrcy4NCi0NCi1OaWwgbWVhbnMgdGhhdCB0aGUgYmxvY2sgd2lsbCBo YXZlIG5vIGJhY2tncm91bmQgb2YgaXRzIG93biBhbmQNCi13aWxsIHVzZSB0aGUgZGVmYXVsdCB0 aGF0IGFwcGxpZXMgdG8gdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlci4NCi0NCi1PcHRpb24gYGdyZXlz Y2FsZScgd2lsbCBhcHBseSBhIHN1YnRsZSBuZXV0cmFsIGdyZXkgYmFja2dyb3VuZCB0bw0KLXRo ZSBibG9jaydzIGNvbnRlbnRzLiAgSXQgYWxzbyBhZmZlY3RzIHRoZSBiZWdpbiBhbmQgZW5kIGxp bmVzIG9mDQotdGhlIGJsb2NrOiB0aGVpciBiYWNrZ3JvdW5kIHdpbGwgYmUgZXh0ZW5kZWQgdG8g dGhlIGVkZ2Ugb2YgdGhlDQotd2luZG93IGZvciBFbWFjcyB2ZXJzaW9uID49IDI3IHdoZXJlIHRo ZSAnOmV4dGVuZCcga2V5d29yZCBpcw0KLXJlY29nbmlzZWQgYnkgYHNldC1mYWNlLWF0dHJpYnV0 ZScuDQotDQotT3B0aW9uIGByYWluYm93JyB3aWxsIHVzZSBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5k IGZvciB0aGUgY29udGVudHMNCi1vZiB0aGUgYmxvY2suICBUaGUgZXhhY3QgY29sb3VyIHdpbGwg ZGVwZW5kIG9uIHRoZSBwcm9ncmFtbWluZw0KLWxhbmd1YWdlIGFuZCBpcyBjb250cm9sbGVkIGJ5 IHRoZSBgb3JnLXNyYy1ibG9jay1mYWNlcycNCi12YXJpYWJsZSAocmVmZXIgdG8gdGhlIHRoZW1l J3Mgc291cmNlIGNvZGUgZm9yIHRoZSBjdXJyZW50DQotYXNzb2NpYXRpb24gbGlzdCkuIg0KLSAg OnR5cGUgJyhjaG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIE9yZyBibG9jayBiYWNr Z3JvdW5kIChkZWZhdWx0KSIgbmlsKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGdy ZXkgYmxvY2sgYmFja2dyb3VuZCIgZ3JleXNjYWxlKQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAi Q29sb3VyLWNvZGVkIGJhY2tncm91bmQgcGVyIHByb2dyYW1taW5nIGxhbmd1YWdlIiByYWluYm93 KSkpDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLTNkLW1vZGVsaW5l DQotICAgICAgICAgICAgICAgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLW1vZGUtbGluZQ0KLSAgICAg ICAgICAgICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUnIDAuMTMuMCIpDQotDQotKGRlZmN1c3Rv bSBtb2R1cy1vcGVyYW5kaS10aGVtZS0zZC1tb2RlbGluZSBuaWwNCi0gICJVc2UgYSB0aHJlZS1k aW1lbnNpb25hbCBzdHlsZSBmb3IgdGhlIGFjdGl2ZSBtb2RlIGxpbmUuIg0KLSAgOnR5cGUgJ2Jv b2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUgbmls DQotICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlIG9mIHRoZSBtb2RlIGxpbmUuDQotDQotTmls IGlzIGEgdHdvLWRpbWVuc2lvbmFsIHJlY3RhbmdsZSB3aXRoIGEgYm9yZGVyIGFyb3VuZCBpdC4g IFRoZQ0KLWFjdGl2ZSBhbmQgdGhlIGluYWN0aXZlIG1vZGVsaW5lcyB1c2UgZGlmZmVyZW50IHNo YWRlcyBvZg0KLWdyZXlzY2FsZSB2YWx1ZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3Jv dW5kLg0KLQ0KLUEgYDNkJyB2YWx1ZSB3aWxsIGFwcGx5IGEgdGhyZWUtZGltZW5zaW9uYWwgZWZm ZWN0IHRvIHRoZSBhY3RpdmUNCi1tb2RlbGluZS4gIFRoZSBpbmFjdGl2ZSBtb2RlbGluZXMgcmVt YWluIHR3by1kaW1lbnNpb25hbCBhbmQgYXJlDQotdG9uZWQgZG93biBhIGJpdCwgcmVsYXRpdmUg dG8gdGhlIG5pbCB2YWx1ZS4NCi0NCi1UaGUgYG1vb2R5JyBvcHRpb24gaXMgbWVhbnQgdG8gb3B0 aW1pc2UgdGhlIG1vZGVsaW5lIGZvciB1c2Ugd2l0aA0KLXRoZSBsaWJyYXJ5IG9mIHRoZSBzYW1l IG5hbWUuICBUaGlzIHByYWN0aWNhbGx5IG1lYW5zIHRvIHJlbW92ZQ0KLXRoZSBib3ggZWZmZWN0 IGFuZCByZWx5IG9uIHVuZGVybGluZSBhbmQgb3ZlcmxpbmUgcHJvcGVydGllcw0KLWluc3RlYWQu ICBJdCBhbHNvIHRvbmVzIGRvd24gdGhlIGluYWN0aXZlIG1vZGVsaW5lcy4gIERlc3BpdGUgaXRz DQotaW50ZW5kZWQgcHVycG9zZSwgdGhpcyBvcHRpb24gY2FuIGFsc28gYmUgdXNlZCB3aXRob3V0 IHRoZQ0KLWBtb29keScgbGlicmFyeS4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAo Y29uc3QgOnRhZyAiVHdvLWRpbWVuc2lvbmFsIGJveCAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAg ICAgKGNvbnN0IDp0YWcgIlRocmVlLWRpbWVuc2lvbmFsIHN0eWxlIGZvciB0aGUgYWN0aXZlIG1v ZGUgbGluZSIgM2QpDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyBib3ggZWZmZWN0cywgd2hp Y2ggYXJlIG9wdGltYWwgZm9yIHVzZSB3aXRoIHRoZSBgbW9vZHknIGxpYnJhcnkiIG1vb2R5KSkp DQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXN1YnRsZS1kaWZmcw0K LSAgICAgICAgICAgICAgICdtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmcw0KLSAgICAgICAgICAg ICAgICJgbW9kdXMtb3BlcmFuZGktdGhlbWUnIDAuMTMuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1 cy1vcGVyYW5kaS10aGVtZS1zdWJ0bGUtZGlmZnMgbmlsDQotICAiVXNlIGZld2VyL2RpbSBiYWNr Z3JvdW5kcyBpbiBgZGlmZi1tb2RlJywgYGVkaWZmJyxgbWFnaXQnLiINCi0gIDp0eXBlICdib29s ZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZnMgbmlsDQotICAi QWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlcyBvZiBkaWZmcy4NCi0NCi1OaWwgbWVhbnMgdG8gdXNl IGZhaXJseSBpbnRlbnNlIGNvbG91ciBjb21iaW5hdGlvbnMgZm9yIGRpZmZzLg0KLUZvciBleGFt cGxlLCB5b3UgZ2V0IGEgcmljaCBncmVlbiBiYWNrZ3JvdW5kIHdpdGggYSBncmVlbg0KLWZvcmVn cm91bmQgZm9yIGFkZGVkIGxpbmVzLiAgV29yZC13aXNlIG9yICdyZWZpbmVkJyBkaWZmcyBmb2xs b3cNCi10aGUgc2FtZSBwYXR0ZXJuIGJ1dCB1c2UgZGlmZmVyZW50IHNoYWRlcyBvZiB0aG9zZSBj b2xvdXJzIHRvDQotcmVtYWluIGRpc3RpbmN0Lg0KLQ0KLUEgYGRlc2F0dXJhdGVkJyB2YWx1ZSBm b2xsb3dzIHRoZSBzYW1lIHByaW5jaXBsZXMgYXMgd2l0aCB0aGUgbmlsDQotb3B0aW9uLCB3aGls ZSBpdCB0b25lcyBkb3duIGFsbCByZWxldmFudCBjb2xvdXJzLg0KLQ0KLU9wdGlvbiBgZmctb25s eScgd2lsbCByZW1vdmUgYWxsIGFjY2VudGVkIGJhY2tncm91bmRzLCBleGNlcHQNCi1mcm9tIHdv cmQtd2lzZSBjaGFuZ2VzLiAgSXQgaW5zdGVhZCB1c2VzIGNvbG91ci1jb2RlZCBmb3JlZ3JvdW5k DQotdmFsdWVzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBhZGRlZC9yZW1vdmVkL2NoYW5nZWQg bGluZXMuICBJZg0KLWEgYmFja2dyb3VuZCBpcyBuZWNlc3NhcnksIHN1Y2ggYXMgd2l0aCBgZWRp ZmYnLCB0aGVuIGEgc3VidGxlDQotZ3JleXNjYWxlIHZhbHVlIGlzIHVzZWQuIg0KLSAgOnR5cGUg JyhjaG9pY2UNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2VseSBjb2xvdXJlZCBiYWNr Z3JvdW5kcyAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlNsaWdodGx5 IGFjY2VudGVkIGJhY2tncm91bmRzIHdpdGggdGludGVkIHRleHQiIGRlc2F0dXJhdGVkKQ0KLSAg ICAgICAgICAoY29uc3QgOnRhZyAiTm8gYmFja2dyb3VuZHMsIGV4Y2VwdCBmb3IgcmVmaW5lZCBk aWZmcyIgZmctb25seSkpKQ0KLQ0KLShtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVt ZS1pbnRlbnNlLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgJ21vZHVzLW9w ZXJhbmRpLXRoZW1lLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgImBtb2R1cy1vcGVyYW5k aS10aGVtZScgMC4xMi4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWlu dGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMgbmlsDQotICAiVXNlIHByb21pbmVudCBiYWNrZ3Jv dW5kcyBmb3IgSWNvbXBsZXRlLCBJZG8sIG9yIHNpbWlsYXIuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4p DQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucyBuaWwNCi0g ICJBcHBseSBzcGVjaWFsIHN0eWxlcyB0byB0aGUgVUkgb2YgY29tcGxldGlvbiBmcmFtZXdvcmtz Lg0KLQ0KLVRoaXMgY29uY2VybnMgSWNvbXBsZXRlLCBJdnksIEhlbG0sIFNlbGVjdHJ1bSwgSWRv LCBhcyB3ZWxsIGFzDQotYW55IG90aGVyIHRvb2wgbWVhbnQgdG8gZW5oYW5jZSB0aGVpciBleHBl cmllbmNlLiAgVGhlIGVmZmVjdA0KLXdpbGwgdmFyeSBkZXBlbmRpbmcgb24gdGhlIGNvbXBsZXRp b24gZnJhbWV3b3JrLg0KLQ0KLU5pbCBtZWFucyB0byByZW1haW4gZmFpdGhmdWwgdG8gdGhlIG1l dGFwaG9ycyB0aGF0IGVhY2ggVUkNCi1lc3RhYmxpc2hlcy4gIEZvciBleGFtcGxlLCBJY29tcGxl dGUgYW5kIElkbyBvbmx5IHVzZSBmb3JlZ3JvdW5kDQotY29sb3VycyB0byBzdHlsZSB0aGVpciBt YXRjaGVzLCB3aGVyZWFzIEl2eSBvciBIZWxtIHJlbHkgb24gYW4NCi1hZXN0aGV0aWMgdGhhdCBj b21iaW5lcyBjb2xvdXJlZCBiYWNrZ3JvdW5kcyB3aXRoIGFwcHJvcHJpYXRlDQotdGV4dCBjb2xv dXIuDQotDQotT3B0aW9uIGBtb2RlcmF0ZScgd2lsbCBhcHBseSBhIGNvbWJpbmF0aW9uIG9mIGJh Y2tncm91bmQgYW5kDQotZm9yZWdyb3VuZCB0aGF0IGlzIGZhaXJseSBzdWJ0bGUuICBGb3IgSWNv bXBsZXRlIGFuZCB0aGUgbGlrZSwNCi10aGlzIGNvbnN0aXR1dGVzIGEgZGVwYXJ0dXJlIGZyb20g dGhlaXIgc3RhbmRhcmQgc3R5bGUuICBXaGlsZQ0KLUl2eSwgSGVsbSwgYW5kIHRoZSBvdGhlcnMs IHdpbGwgdXNlIGxlc3MgcHJvbm91bmNlZCBjb2xvdXJzIGZvcg0KLWFwcGxpY2FibGUgY29udGV4 dHMuDQotDQotT3B0aW9uIGBvcGluaW9uYXRlZCcgd2lsbCBhcHBseSBjb2xvdXIgY29tYmluYXRp b25zIHRoYXQNCi1yZWZhc2hpb24gdGhlIGNvbXBsZXRpb24gVUkuICBTbyBJY29tcGxldGUgZXQg YWwgd2lsbCBub3cgdXNlDQotc3R5bGVzIHRoYXQgcmVzZW1ibGUgdGhlIGRlZmF1bHRzIG9mIEl2 eSBhbmQgY28uLCB3aGlsZSB0aGUNCi1sYXR0ZXIgZ3JvdXAgd2lsbCByZXZlcnQgdG8gYW4gZXZl biBtb3JlIG51YW5jZWQgYWVzdGhldGljLiINCi0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAg IChjb25zdCA6dGFnICJSZXNwZWN0IHRoZSBmcmFtZXdvcmsncyBlc3RhYmxpc2hlZCBhZXN0aGV0 aWMgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgYmFja2dy b3VuZHMgZm9yIHZhcmlvdXMgZWxlbWVudHMiIG1vZGVyYXRlKQ0KLSAgICAgICAgICAoY29uc3Qg OnRhZyAiUmFkaWNhbCBhbHRlcm5hdGl2ZSB0byB0aGUgZnJhbWV3b3JrJ3MgbG9va3MiIG9waW5p b25hdGVkKSkpDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9tcHRzIG5p bA0KLSAgIlVzZSBzdWJ0bGUgb3IgaW50ZW5zZSBzdHlsZXMgZm9yIG1pbmlidWZmZXIgYW5kIFJF UEwgcHJvbXB0cy4NCi0NCi1OaWwgbWVhbnMgdG8gb25seSB1c2UgYW4gYWNjZW50ZWQgZm9yZWdy b3VuZCBjb2xvdXIuDQotDQotT3B0aW9ucyBgc3VidGxlJyBhbmQgYGludGVuc2UnIHdpbGwgY2hh bmdlIGJvdGggdGhlIGJhY2tncm91bmQNCi1hbmQgdGhlIGZvcmVncm91bmQgdmFsdWVzLiAgVGhl IGxhdHRlciBoYXMgYSBtb3JlIHByb25vdW5jZWQNCi1lZmZlY3QgdGhhbiB0aGUgZm9ybWVyLiIN Ci0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyBwcm9tcHQgYmFj a2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBh Y2NlbnRlZCBiYWNrZ3JvdW5kIGZvciB0aGUgcHJvbXB0IiBzdWJ0bGUpDQotICAgICAgICAgIChj b25zdCA6dGFnICJJbnRlbnNlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgZm9yIHRoZSBwcm9t cHQiIGludGVuc2UpKSkNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVu c2UtaGwtbGluZSBuaWwNCi0gICJVc2UgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCBmb3IgY29t bWFuZCBgaGwtbGluZS1tb2RlJy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9t IG1vZHVzLW9wZXJhbmRpLXRoZW1lLWludGVuc2UtcGFyZW4tbWF0Y2ggbmlsDQotICAiVXNlIG1v cmUgcHJvbWluZW50IGNvbG91ciBmb3IgcGFyZW50aGVzaXMgbWF0Y2hpbmcuIg0KLSAgOnR5cGUg J2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy1vcGVyYW5kaS10aGVtZS1mYWludC1zeW50 YXggbmlsDQotICAiVXNlIGxlc3Mgc2F0dXJhdGVkIGNvbG91cnMgZm9yIGNvZGUgc3ludGF4IGhp Z2hsaWdodGluZy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lIG5pbA0KLSAgIkRvIG5vdCB1bmRlcmxpbmUg bGlua3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotOzs7IEludGVybmFsIGZ1bmN0aW9ucw0K LQ0KLTs7IEhlbHBlciBmdW5jdGlvbnMgdGhhdCBhcmUgbWVhbnQgdG8gZWFzZSB0aGUgaW1wbGVt ZW50YXRpb24gb2YgdGhlDQotOzsgYWJvdmUgY3VzdG9taXNhdGlvbiBvcHRpb25zLg0KLShkZWZ1 biBtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCAoKQ0KLSAgIkNvbmRpdGlvbmFsIHVz ZSBvZiBhIGhlYXZpZXIgdGV4dCB3ZWlnaHQuIg0KLSAgKHdoZW4gbW9kdXMtb3BlcmFuZGktdGhl bWUtYm9sZC1jb25zdHJ1Y3RzDQotICAgIChsaXN0IDppbmhlcml0ICdib2xkKSkpDQotDQotKGRl ZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzICgpDQotICAiQ29uZGl0aW9uYWwg YXBwbGljYXRpb24gb2YgYGZpeGVkLXBpdGNoJyBpbmhlcml0YW5jZS4iDQotICAodW5sZXNzIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzDQotICAgIChsaXN0IDppbmhlcml0ICdm aXhlZC1waXRjaCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2UgKHN1 YnRsZWJnIGludGVuc2ViZykNCi0gICJDb25kaXRpb25hbCB1c2Ugb2YgYmFja2dyb3VuZCBjb2xv dXJzIGZvciBmcmluZ2VzLg0KLVNVQlRMRUJHIHNob3VsZCBiZSBhIHN1YnRsZSBncmV5c2NhbGUg dmFsdWUuICBJTlRFTlNFQkcgbXVzdCBiZSBhDQotbW9yZSBwcm9ub3VuY2VkIGdyZXlzY2FsZSBj b2xvdXIuIg0KLSAgKHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLWZyaW5nZXMNCi0gICAgKCdp bnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykpDQotICAgICgnc3VidGxlIChsaXN0 IDpiYWNrZ3JvdW5kIHN1YnRsZWJnKSkNCi0gICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsKSkp KQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9tcHQgKG1haW5mZyBzdWJ0bGVi ZyBzdWJ0bGVmZyBpbnRlbnNlYmcgaW50ZW5zZWZnKQ0KLSAgIkNvbmRpdGlvbmFsIHVzZSBvZiBi YWNrZ3JvdW5kIGNvbG91cnMgZm9yIHByb21wdHMuDQotTUFJTkZHIGlzIHRoZSBwcm9tcHQncyBz dGFuZGFyZCBmb3JlZ3JvdW5kLiAgU1VCVExFQkcgc2hvdWxkIGJlIGENCi1zdWJ0bGUgYWNjZW50 ZWQgYmFja2dyb3VuZCB0aGF0IHdvcmtzIHdpdGggU1VCVExFRkcuICBJTlRFTlNFQkcNCi1tdXN0 IGJlIGEgbW9yZSBwcm9ub3VuY2VkIGFjY2VudGVkIGNvbG91ciB0aGF0IHNob3VsZCBiZQ0KLWNv bWJpbmFibGUgd2l0aCBJTlRFTlNFRkcuIg0KLSAgKHBjYXNlIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXByb21wdHMNCi0gICAgKCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9y ZWdyb3VuZCBpbnRlbnNlZmcpKQ0KLSAgICAoJ3N1YnRsZSAobGlzdCA6YmFja2dyb3VuZCBzdWJ0 bGViZyA6Zm9yZWdyb3VuZCBzdWJ0bGVmZykpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIG5p bCA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQotDQotKGRlZnVuIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXBhcmVuIChub3JtYWxiZyBpbnRlbnNlYmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGludGVu c2UgY29sb3VycyBmb3IgbWF0Y2hpbmcgcGFyZW50aGVzZXMuDQotTk9STUFMQkcgc2hvdWxkIHRo ZSBzcGVjaWFsIHBhbGV0dGUgY29sb3VyICdiZy1wYXJlbi1tYXRjaCcgb3INCi1zb21ldGhpbmcg c2ltaWxhci4gIElOVEVOU0VCRyBtdXN0IGJlIGVhc2llciB0byBkaXNjZXJuIG5leHQgdG8NCi1v dGhlciBiYWNrZ3JvdW5kcywgc3VjaCBhcyB0aGUgc3BlY2lhbCBwYWxldHRlIGNvbG91cg0KLSdi Zy1wYXJlbi1tYXRjaC1pbnRlbnNlJy4iDQotICAoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50 ZW5zZS1wYXJlbi1tYXRjaA0KLSAgICAgIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykNCi0g ICAgKGxpc3QgOmJhY2tncm91bmQgbm9ybWFsYmcpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQgKG5vcm1hbCBmYWludCkNCi0gICJBcHBseSBmb3Jl Z3JvdW5kIHZhbHVlIHRvIGNvZGUgc3ludGF4Lg0KLU5PUk1BTCBpcyB0aGUgbW9yZSBzYXR1cmF0 ZWQgY29sb3VyLCB3aGljaCBzaG91bGQgYmUgdGhlIGRlZmF1bHQuDQotRkFJTlQgaXMgdGhlIGxl c3Mgc2F0dXJhdGVkIGNvbG91ci4iDQotICAoaWYgbW9kdXMtb3BlcmFuZGktdGhlbWUtZmFpbnQt c3ludGF4DQotICAgICAgKGxpc3QgOmZvcmVncm91bmQgZmFpbnQpDQotICAgIChsaXN0IDpmb3Jl Z3JvdW5kIG5vcm1hbCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5n LXAgKGtleSkNCi0gICJRdWVyeSBzdHlsZSBvZiBLRVkgaW4gYG1vZHVzLW9wZXJhbmRpLXRoZW1l LWhlYWRpbmdzJy4iDQotICAoY2RyIChhc3NvYyBrZXkgbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVh ZGluZ3MpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZyAobGV2ZWwg ZmcgZmctYWx0IGJnIGJvcmRlcikNCi0gICJDb25kaXRpb25hbCBzdHlsZXMgZm9yIGBtb2R1cy1v cGVyYW5kaS10aGVtZS1oZWFkaW5ncycuDQotDQotTEVWRUwgaXMgdGhlIGhlYWRpbmcncyBwb3Np dGlvbiBpbiB0aGVpciBvcmRlci4gIEZHIGlzIHRoZQ0KLWRlZmF1bHQgdGV4dCBjb2xvdXIuICBG Ry1BTFQgaXMgYW4gYWNjZW50ZWQsIG1vcmUgc2F0dXJhdGVkIHZhbHVlDQotdGhhbiB0aGUgZGVm YXVsdC4gIEJHIGlzIGEgbnVhbmNlZCwgdHlwaWNhbGx5IGFjY2VudGVkLA0KLWJhY2tncm91bmQg dGhhdCBjYW4gd29yayB3ZWxsIHdpdGggZWl0aGVyIG9mIHRoZSBmb3JlZ3JvdW5kDQotdmFsdWVz LiAgQk9SREVSIGlzIGEgY29sb3VyIHZhbHVlIHRoYXQgY29tYmluZXMgd2VsbCB3aXRoIHRoZQ0K LWJhY2tncm91bmQgYW5kIGFsdGVybmF0aXZlIGZvcmVncm91bmQuIg0KLSAgKGxldCogKChrZXkg KG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmctcCBgLGxldmVsKSkNCi0gICAgICAgICAoc3R5 bGUgKG9yIGtleSAobW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZy1wIHQpKSkNCi0gICAgICAg ICAodmFyIChpZiBtb2R1cy1vcGVyYW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncw0K LSAgICAgICAgICAgICAgICAgICd2YXJpYWJsZS1waXRjaA0KLSAgICAgICAgICAgICAgICAnZGVm YXVsdCkpKQ0KLSAgICAocGNhc2Ugc3R5bGUNCi0gICAgICAoJ25vLWJvbGQNCi0gICAgICAgKGxp c3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmcpKQ0KLSAgICAgICgnbGluZQ0KLSAgICAg ICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJv cmRlcikpDQotICAgICAgKCdsaW5lLW5vLWJvbGQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYCx2 YXIgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdyYWluYm93DQot ICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0K LSAgICAgICgncmFpbmJvdy1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpm b3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdyYWluYm93LWxpbmUNCi0gICAgICAgKGxpc3Qg OmluaGVyaXQgYChib2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVy KSkNCi0gICAgICAoJ3JhaW5ib3ctbGluZS1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0 IGAsdmFyIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCi0gICAgICAoJ2hp Z2hsaWdodA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQg YmcgOmZvcmVncm91bmQgZmcpKQ0KLSAgICAgICgnaGlnaGxpZ2h0LW5vLWJvbGQNCi0gICAgICAg KGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0KLSAg ICAgICgncmFpbmJvdy1oaWdobGlnaHQNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2 YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdyYWluYm93 LWhpZ2hsaWdodC1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3Jv dW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQotICAgICAgKCdzZWN0aW9uDQotICAgICAgIChh cHBlbmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVu ZCB0KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBi ZyA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUgYm9yZGVyKSkpDQotICAgICAgKCdzZWN0aW9uLW5v LWJvbGQNCi0gICAgICAgKGFwcGVuZA0KLSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVy c2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJh Y2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgICgn cmFpbmJvdy1zZWN0aW9uDQotICAgICAgIChhcHBlbmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNz LW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0 IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5l IGJvcmRlcikpKQ0KLSAgICAgICgncmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQNCi0gICAgICAgKGFw cGVuZA0KLSAgICAgICAgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5k IHQpKQ0KLSAgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVn cm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIpKSkNCi0gICAgICAoXw0KLSAgICAgICAobGlz dCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmcpKSkpKQ0KLQ0KLShkZWZ1biBt b2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2sgKGJnYmxrKQ0KLSAgIkNvbmRpdGlvbmFsbHkg c2V0IHRoZSBiYWNrZ3JvdW5kIG9mIE9yZyBibG9ja3MuDQotQkdCTEsgYXBwbGllcyB0byBhIGRp c3RpbmN0IG5ldXRyYWwgYmFja2dyb3VuZC4gIEVsc2UgYmxvY2tzIGhhdmUNCi1ubyBiYWNrZ3Jv dW5kIG9mIHRoZWlyIG93biAodGhlIGRlZmF1bHQpLCBzbyB0aGV5IGxvb2sgdGhlIHNhbWUNCi1h cyB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyLg0KLQ0KLWBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmct YmxvY2tzJyBhbHNvIGFjY2VwdHMgYSBgcmFpbmJvdycgb3B0aW9uDQotd2hpY2ggaXMgYXBwbGll ZCBjb25kaXRpb25hbGx5IHRvIGBvcmctc3JjLWJsb2NrLWZhY2VzJyAoc2VlIHRoZQ0KLXRoZW1l J3Mgc291cmNlIGNvZGUpLiINCi0gIChpZiAoZXEgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJs b2NrcyAnZ3JleXNjYWxlKQ0KLSAgICAgIChhcHBlbmQNCi0gICAgICAgKGFuZCAoPj0gZW1hY3Mt bWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAobGlzdCA6YmFja2dyb3Vu ZCBiZ2JsaykpDQotICAgIChsaXN0IDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLQ0KLShkZWZ1biBtb2R1 cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2stZGVsaW0gKGJnYWNjZW50IGZnYWNjZW50IGJnIGZn KQ0KLSAgIkNvbmRpdGlvbmFsbHkgc2V0IHRoZSBzdHlsZXMgb2YgT3JnIGJsb2NrIGRlbGltaXRl cnMuDQotQkcsIEZHLCBCR0FDQ0VOVCwgRkdBQ0NFTlQgYXBwbHkgYSBiYWNrZ3JvdW5kIGFuZCBm b3JlZ3JvdW5kDQotY29sb3VyIHJlc3BlY3RpdmVseS4NCi0NCi1UaGUgZm9ybWVyIHBhaXIgaXMg YSBncmV5c2NhbGUgY29tYmluYXRpb24gdGhhdCBzaG91bGQgYmUgbW9yZQ0KLWRpc3RpbmN0IHRo YW4gdGhlIGJhY2tncm91bmQgb2YgdGhlIGJsb2NrLiAgSXQgaXMgYXBwbGllZCB0byB0aGUNCi1k ZWZhdWx0IHN0eWxlcyBvciB3aGVuIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzJyBp cyBzZXQNCi10byBgZ3JleXNjYWxlJy4NCi0NCi1UaGUgbGF0dGVyIHBhaXIgc2hvdWxkIGJlIG1v cmUgc3VidGxlIHRoYW4gdGhlIGJhY2tncm91bmQgb2YgdGhlDQotYmxvY2ssIGFzIGl0IGlzIHVz ZWQgd2hlbiBgbW9kdXMtb3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrcycgaXMNCi1zZXQgdG8gYHJh aW5ib3cnLiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAg ICgnZ3JleXNjYWxlIChhcHBlbmQgKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6 ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IDpiYWNrZ3JvdW5kIGJn IDpmb3JlZ3JvdW5kIGZnKSkpDQotICAgICgncmFpbmJvdyAobGlzdCA6YmFja2dyb3VuZCBiZ2Fj Y2VudCA6Zm9yZWdyb3VuZCBmZ2FjY2VudCkpDQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGJn IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2Rl LWxpbmUtYXR0cnMNCi0gICAgKGZnIGJnIGZnLWFsdCBiZy1hbHQgYm9yZGVyIGJvcmRlci0zZCAm b3B0aW9uYWwgYWx0LXN0eWxlIGJvcmRlci13aWR0aCBmZy1kaXN0YW50KQ0KLSAgIkNvbG91ciBj b21iaW5hdGlvbnMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUnLg0KLQ0KLUZH IGFuZCBCRyBhcmUgdGhlIGRlZmF1bHQgY29sb3Vycy4gIEZHLUFMVCBhbmQgQkctQUxUIGFyZSBt ZWFudA0KLXRvIGFjY29tbW9kYXRlIHRoZSBvcHRpb25zIGZvciBhIDNEIG1vZGVsaW5lIG9yIGEg YG1vb2R5Jw0KLWNvbXBsaWFudCBvbmUuICBCT1JERVIgYXBwbGllcyB0byBhbGwgcGVybXV0YXRp b25zIG9mIHRoZQ0KLW1vZGVsaW5lLCBleGNlcHQgdGhlIHRocmVlLWRpbWVuc2lvbmFsIGVmZmVj dCwgd2hlcmUgQk9SREVSLTNEIGlzDQotdXNlZCBpbnN0ZWFkLg0KLQ0KLU9wdGlvbmFsIEFMVC1T VFlMRSBhcHBsaWVzIGFuIGFwcHJvcHJpYXRlIHN0eWxlIHRvIHRoZSBtb2RlDQotbGluZSdzIGJv eCBwcm9wZXJ0eS4NCi0NCi1PcHRpb25hbCBCT1JERVItV0lEVEggc3BlY2lmaWVzIGFuIGludGVn ZXIgZm9yIHRoZSB3aWR0aCBvZiB0aGUNCi1yZWN0YW5nbGUgdGhhdCBwcm9kdWNlcyB0aGUgYm94 IGVmZmVjdC4NCi0NCi1PcHRpb25hbCBGRy1ESVNUQU5UIHNob3VsZCBiZSBjbG9zZSB0byB0aGUg bWFpbiBiYWNrZ3JvdW5kDQotdmFsdWVzLiAgSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBhcyBh IGRpc3RhbnQtZm9yZWdyb3VuZA0KLXByb3BlcnR5LiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5k aS10aGVtZS1tb2RlLWxpbmUNCi0gICAgKCczZA0KLSAgICAgYCg6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxmZy1hbHQNCi0gICAgICAgICAgICAgICAgICAgOmJveCAoOmxpbmUtd2lk dGggLChvciBib3JkZXItd2lkdGggMSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmNvbG9yICxib3JkZXItM2QNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOnN0eWxlICwoYW5kIGFsdC1zdHlsZSAncmVsZWFzZWQtYnV0dG9uKSkpKQ0KLSAgICAo J21vb2R5DQotICAgICBgKDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCA6 dW5kZXJsaW5lICxib3JkZXIgOm92ZXJsaW5lICxib3JkZXINCi0gICAgICAgICAgICAgICAgICAg OmRpc3RhbnQtZm9yZWdyb3VuZCAsZmctZGlzdGFudCkpDQotICAgIChfDQotICAgICBgKDpmb3Jl Z3JvdW5kICxmZyA6YmFja2dyb3VuZCAsYmcgOmJveCAsYm9yZGVyKSkpKQ0KLQ0KLShkZWZ1biBt b2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmIChmZy1vbmx5LWJnIGZnLW9ubHktZmcgbWFpbmJnIG1h aW5mZyBhbHRiZyBhbHRmZykNCi0gICJDb2xvdXIgY29tYmluYXRpb25zIGZvciBgbW9kdXMtb3Bl cmFuZGktdGhlbWUtZGlmZnMnLg0KLQ0KLUZHLU9OTFktQkcgc2hvdWxkIGJlIHNpbWlsYXIgb3Ig dGhlIHNhbWUgYXMgdGhlIG1haW4gYmFja2dyb3VuZC4NCi1GRy1PTkxZLUZHIHNob3VsZCBiZSBh IHNhdHVyYXRlZCBhY2NlbnQgdmFsdWUgdGhhdCBjYW4gYmUNCi1jb21iaW5lZCB3aXRoIHRoZSBm b3JtZXIuDQotDQotTUFJTkJHIG11c3QgYmUgb25lIG9mIHRoZSBkZWRpY2F0ZWQgYmFja2dyb3Vu ZHMgZm9yIGRpZmZzIHdoaWxlDQotTUFJTkZHIG11c3QgYmUgdGhlIHNhbWUgZm9yIHRoZSBmb3Jl Z3JvdW5kLg0KLQ0KLUFMVEJHIG5lZWRzIHRvIGJlIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dy b3VuZCB0aGF0IGlzIG1lYW50IHRvDQotYmUgY29tYmluZWQgd2l0aCBBTFRGRy4gIEJvdGggbXVz dCBiZSBsZXNzIGludGVuc2UgdGhhbiBNQUlOQkcNCi1hbmQgTUFJTkZHIHJlc3BlY3RpdmVseS4i DQotICAocGNhc2UgbW9kdXMtb3BlcmFuZGktdGhlbWUtZGlmZnMNCi0gICAgKCdmZy1vbmx5IChs aXN0IDpiYWNrZ3JvdW5kIGZnLW9ubHktYmcgOmZvcmVncm91bmQgZmctb25seS1mZykpDQotICAg ICgnZGVzYXR1cmF0ZWQgKGxpc3QgOmJhY2tncm91bmQgYWx0YmcgOmZvcmVncm91bmQgYWx0Zmcp KQ0KLSAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBtYWluYmcgOmZvcmVncm91bmQgbWFpbmZnKSkp KQ0KLQ0KLShkZWZ1biBtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucyAo bWFpbmZnIHN1YnRsZWJnIGludGVuc2ViZyBpbnRlbnNlZmcpDQotICAiQ29tYmluYXRpb25zIGZv ciBgbW9kdXMtb3BlcmFuZGktdGhlbWUtY29tcGxldGlvbnMnLg0KLQ0KLU1BSU5GRyBpcyBhbiBh Y2NlbnRlZCBmb3JlZ3JvdW5kIHZhbHVlLiAgU1VCVExFQkcgaXMgYW4gYWNjZW50ZWQNCi1iYWNr Z3JvdW5kIHZhbHVlIHRoYXQgY2FuIGJlIGNvbWJpbmVkIHdpdGggTUFJTkZHLiAgSU5URU5TRUJH IGFuZA0KLUlOVEVOU0VGRyBhcmUgYWNjZW50ZWQgY29sb3VycyB0aGF0IGFyZSBkZXNpZ25lZCB0 byBiZSB1c2VkIGluDQotdGFuZGVtLg0KLQ0KLVRoZXNlIGFyZSBpbnRlbmRlZCBmb3IgSWNvbXBs ZXRlLCBJZG8sIGFuZCByZWxhdGVkLiINCi0gIChwY2FzZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1j b21wbGV0aW9ucw0KLSAgICAoJ29waW5pb25hdGVkIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2Vi ZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KLSAgICAoJ21vZGVyYXRlIChsaXN0IDpiYWNrZ3Jv dW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIG1haW5mZykpDQotICAgIChfIChsaXN0IDpmb3JlZ3Jv dW5kIG1haW5mZykpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29t cGxldGlvbnMgKHN1YnRsZWZhY2UgaW50ZW5zZWZhY2UgYWx0ZmFjZSAmb3B0aW9uYWwgYWx0Zmcg Ym9sZCkNCi0gICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0 aW9ucycuDQotDQotU1VCVExFRkFDRSBhbmQgSU5URU5TRUZBQ0UgYXJlIGN1c3RvbSB0aGVtZSBm YWNlcyB0aGF0IGNvbWJpbmUgYQ0KLWJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgdmFsdWUuICBU aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28NCi1pcyBhIG1hdHRlciBvZiBkZWdyZWUuDQot DQotQUxURkFDRSBpcyBhIGNvbWJpbmF0aW9uIG9mIGNvbG91cnMgdGhhdCByZXByZXNlbnRzIGEg ZGVwYXJ0dXJlDQotZnJvbSB0aGUgVUkncyBkZWZhdWx0IGFlc3RoZXRpY3MuICBPcHRpb25hbCBB TFRGRyBpcyBtZWFudCB0byBiZQ0KLXVzZWQgaW4gdGFuZGVtIHdpdGggaXQuDQotDQotT3B0aW9u YWwgQk9MRCB3aWxsIGFwcGx5IGEgaGVhdmllciB3ZWlnaHQgdG8gdGhlIHRleHQuDQotDQotVGhl c2UgYXJlIGludGVuZGVkIGZvciBIZWxtLCBJdnksIGV0Yy4iDQotICAocGNhc2UgbW9kdXMtb3Bl cmFuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgKCdvcGluaW9uYXRlZCAobGlzdCA6aW5oZXJp dCAobGlzdCBhbHRmYWNlIGJvbGQpDQotICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgKG9yIGFsdGZnICd1bnNwZWNpZmllZCkpKQ0KLSAgICAoJ21vZGVyYXRlIChsaXN0IDppbmhl cml0IChsaXN0IHN1YnRsZWZhY2UgYm9sZCkpKQ0KLSAgICAoXyAobGlzdCA6aW5oZXJpdCAobGlz dCBpbnRlbnNlZmFjZSBib2xkKSkpKSkNCi0NCi0oZGVmdW4gbW9kdXMtb3BlcmFuZGktdGhlbWUt c2NhbGUgKGFtb3VudCkNCi0gICJTY2FsZSBoZWFkaW5nIGJ5IEFNT1VOVC4NCi0NCi1BTU9VTlQg aXMgYSBjdXN0b21pc2F0aW9uIG9wdGlvbi4iDQotICAod2hlbiBtb2R1cy1vcGVyYW5kaS10aGVt ZS1zY2FsZS1oZWFkaW5ncw0KLSAgICAobGlzdCA6aGVpZ2h0IGFtb3VudCkpKQ0KLQ0KLTs7OyBD b2xvdXIgcGFsZXR0ZQ0KLQ0KLTs7IERlZmluZSBjb2xvdXIgcGFsZXR0ZS4gIEVhY2ggY29sb3Vy IG11c3QgaGF2ZSBhID49IDc6MSBjb250cmFzdA0KLTs7IHJhdGlvIHJlbGF0aXZlIHRvIHRoZSBm b3JlZ3JvdW5kL2JhY2tncm91bmQgY29sb3VyIGl0IGlzIHJlbmRlcmVkDQotOzsgYWdhaW5zdC4N Ci07Ow0KLTs7IFRoZSBkZXNpZ24gb2YgdGhlIGNvbG91ciBwYWxldHRlIGFzIGEgbWFjcm8gdGhh dCBtYXBzIGl0IHRvIGZhY2VzIGlzDQotOzsgYWRhcHRlZCBmcm9tIHplbmJlcm4tdGhlbWUuZWws IGxhc3Qgc2VlbiBhdCBjb21taXQgN2RkNzk2ODoNCi07OyBodHRwczovL2dpdGh1Yi5jb20vYmJh dHNvdi96ZW5idXJuLWVtYWNzDQotKGV2YWwtYW5kLWNvbXBpbGUNCi0gIChkZWZjb25zdCBtb2R1 cy1vcGVyYW5kaS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KLSAgICAnKDs7IGJhc2UgdmFs dWVzDQotICAgICAgKCJiZy1tYWluIiAuICIjZmZmZmZmIikgKCJmZy1tYWluIiAuICIjMDAwMDAw IikNCi0gICAgICAoImJnLWFsdCIgLiAiI2YwZjBmMCIpICgiZmctYWx0IiAuICIjNTA1MDUwIikN Ci0gICAgICAoImJnLWRpbSIgLiAiI2Y4ZjhmOCIpICgiZmctZGltIiAuICIjMjgyODI4IikNCi0g ICAgICA7OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgKGUuZy4gYG1vZGUtbGluZScp DQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggdGhlbXNlbHZlcw0K LSAgICAgICgiYmctYWN0aXZlIiAuICIjZDdkN2Q3IikgKCJmZy1hY3RpdmUiIC4gIiMwYTBhMGEi KQ0KLSAgICAgICgiYmctaW5hY3RpdmUiIC4gIiNlZmVmZWYiKSAoImZnLWluYWN0aXZlIiAuICIj NDA0MTQ4IikNCi0gICAgICA7OyBzcGVjaWFsIGJhc2UgdmFsdWVzLCB1c2VkIG9ubHkgZm9yIGNh c2VzIHdoZXJlIHRoZSBhYm92ZQ0KLSAgICAgIDs7IGZnLSogb3IgYmctKiBjYW5ub3Qgb3Igc2hv dWxkIG5vdCBiZSB1c2VkICh0byBhdm9pZCBjb25mdXNpb24pDQotICAgICAgOzsgbXVzdCBiZSBj b21iaW5lZCB3aXRoOiB7ZmcsYmd9LXttYWluLGFsdCxkaW19DQotICAgICAgKCJiZy1zcGVjaWFs LWNvbGQiIC4gIiNkZGUzZjQiKSAoImZnLXNwZWNpYWwtY29sZCIgLiAiIzA5MzA2MCIpDQotICAg ICAgKCJiZy1zcGVjaWFsLW1pbGQiIC4gIiNjNGVkZTAiKSAoImZnLXNwZWNpYWwtbWlsZCIgLiAi IzE4NDAzNCIpDQotICAgICAgKCJiZy1zcGVjaWFsLXdhcm0iIC4gIiNmMGUwZDQiKSAoImZnLXNw ZWNpYWwtd2FybSIgLiAiIzVkMzAyNiIpDQotICAgICAgKCJiZy1zcGVjaWFsLWNhbG0iIC4gIiNm OGRkZWEiKSAoImZnLXNwZWNpYWwtY2FsbSIgLiAiIzYxMjg0ZiIpDQotICAgICAgOzsgc3R5bGVz IGZvciB0aGUgbWFpbiBjb25zdHJ1Y3RzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNv bWJpbmVkIHdpdGg6IGBiZy1tYWluJywgYGJnLWFsdCcsIGBiZy1kaW0nDQotICAgICAgKCJyZWQi IC4gIiNhNjAwMDAiKSAoImdyZWVuIiAuICIjMDA1ZTAwIikNCi0gICAgICAoInllbGxvdyIgLiAi IzgxM2UwMCIpICgiYmx1ZSIgLiAiIzAwMzFhOSIpDQotICAgICAgKCJtYWdlbnRhIiAuICIjNzIx MDQ1IikgKCJjeWFuIiAuICIjMDA1MzhiIikNCi0gICAgICA7OyBzdHlsZXMgZm9yIGNvbW1vbiwg YnV0IHN0aWxsIHNwZWNpYWxpc2VkIGNvbnN0cnVjdHMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11 c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAg ICAoInJlZC1hbHQiIC4gIiM5NzI1MDAiKSAoImdyZWVuLWFsdCIgLiAiIzMxNWIwMCIpDQotICAg ICAgKCJ5ZWxsb3ctYWx0IiAuICIjNzA0ODBmIikgKCJibHVlLWFsdCIgLiAiIzI1NDRiYiIpDQot ICAgICAgKCJtYWdlbnRhLWFsdCIgLiAiIzhmMDA3NSIpICgiY3lhbi1hbHQiIC4gIiMzMDUxN2Yi KQ0KLSAgICAgIDs7IHNhbWUgcHVycG9zZSBhcyBhYm92ZSwganVzdCBzbGlnaHQgZGlmZmVyZW5j ZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4n LCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZC1hbHQtb3RoZXIiIC4gIiNhMDEzMmYi KSAoImdyZWVuLWFsdC1vdGhlciIgLiAiIzE0NWMzMyIpDQotICAgICAgKCJ5ZWxsb3ctYWx0LW90 aGVyIiAuICIjODYzOTI3IikgKCJibHVlLWFsdC1vdGhlciIgLiAiIzAwMDBjMCIpDQotICAgICAg KCJtYWdlbnRhLWFsdC1vdGhlciIgLiAiIzUzMTdhYyIpICgiY3lhbi1hbHQtb3RoZXIiIC4gIiMw MDVhNWYiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgZGVzYXR1cmF0ZWQgZm9yZWdyb3VuZCB0ZXh0 LCBpbnRlbmRlZCBmb3IgdXNlIHdpdGgNCi0gICAgICA7OyB0aGUgYG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWZhaW50LXN5bnRheCcgb3B0aW9uDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNv bWJpbmVkIHdpdGg6IGBiZy1tYWluJywgYGJnLWFsdCcsIGBiZy1kaW0nDQotICAgICAgKCJyZWQt ZmFpbnQiIC4gIiM3ZjEwMTAiKSAoImdyZWVuLWZhaW50IiAuICIjMTA0NDEwIikNCi0gICAgICAo InllbGxvdy1mYWludCIgLiAiIzVmNDQwMCIpICgiYmx1ZS1mYWludCIgLiAiIzAwMmY4OCIpDQot ICAgICAgKCJtYWdlbnRhLWZhaW50IiAuICIjNzUyZjUwIikgKCJjeWFuLWZhaW50IiAuICIjMTI1 MDZmIikNCi0NCi0gICAgICAoInJlZC1hbHQtZmFpbnQiIC4gIiM3MDJmMDAiKSAoImdyZWVuLWFs dC1mYWludCIgLiAiIzMwNDQwZiIpDQotICAgICAgKCJ5ZWxsb3ctYWx0LWZhaW50IiAuICIjNWQ1 MDAwIikgKCJibHVlLWFsdC1mYWludCIgLiAiIzAwM2Y3OCIpDQotICAgICAgKCJtYWdlbnRhLWFs dC1mYWludCIgLiAiIzcwMjU2NSIpICgiY3lhbi1hbHQtZmFpbnQiIC4gIiMzNTRmNmYiKQ0KLQ0K LSAgICAgICgicmVkLWFsdC1vdGhlci1mYWludCIgLiAiIzdmMDAyZiIpICgiZ3JlZW4tYWx0LW90 aGVyLWZhaW50IiAuICIjMGY0NDNmIikNCi0gICAgICAoInllbGxvdy1hbHQtb3RoZXItZmFpbnQi IC4gIiM1ZTNhMjAiKSAoImJsdWUtYWx0LW90aGVyLWZhaW50IiAuICIjMWYyZjZmIikNCi0gICAg ICAoIm1hZ2VudGEtYWx0LW90aGVyLWZhaW50IiAuICIjNWYzZjdmIikgKCJjeWFuLWFsdC1vdGhl ci1mYWludCIgLiAiIzJlNTg0ZiIpDQotICAgICAgOzsgc3R5bGVzIGZvciBlbGVtZW50cyB0aGF0 IHNob3VsZCBiZSB2ZXJ5IHN1YnRsZSwgeWV0IGFjY2VudGVkDQotICAgICAgOzsNCi0gICAgICA7 OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWluJywgYGJnLWFsdCcsIGBiZy1kaW0nIG9y IGFueSBvZg0KLSAgICAgIDs7IHRoZSAibnVhbmNlZCIgYmFja2dyb3VuZHMNCi0gICAgICAoInJl ZC1udWFuY2VkIiAuICIjNWYwMDAwIikgKCJncmVlbi1udWFuY2VkIiAuICIjMDA0MDAwIikNCi0g ICAgICAoInllbGxvdy1udWFuY2VkIiAuICIjM2YzMDAwIikgKCJibHVlLW51YW5jZWQiIC4gIiMy MDFmNTUiKQ0KLSAgICAgICgibWFnZW50YS1udWFuY2VkIiAuICIjNTQxZjRmIikgKCJjeWFuLW51 YW5jZWQiIC4gIiMwZjMzNjAiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3Igc2xpZ2h0bHkgYWNjZW50 ZWQgYmFja2dyb3VuZA0KLSAgICAgIDs7DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRo IGFueSBvZiB0aGUgYWJvdmUgZm9yZWdyb3VuZCB2YWx1ZXMNCi0gICAgICAoInJlZC1udWFuY2Vk LWJnIiAuICIjZmZmMWYwIikgKCJncmVlbi1udWFuY2VkLWJnIiAuICIjZWNmN2VkIikNCi0gICAg ICAoInllbGxvdy1udWFuY2VkLWJnIiAuICIjZmZmM2RhIikgKCJibHVlLW51YW5jZWQtYmciIC4g IiNmM2YzZmYiKQ0KLSAgICAgICgibWFnZW50YS1udWFuY2VkLWJnIiAuICIjZmRmMGZmIikgKCJj eWFuLW51YW5jZWQtYmciIC4gIiNlYmY2ZmEiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgZWxlbWVu dHMgdGhhdCBzaG91bGQgZHJhdyBhdHRlbnRpb24gdG8gdGhlbXNlbHZlcw0KLSAgICAgIDs7DQot ICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgYmctbWFpbicNCi0gICAgICAoInJlZC1p bnRlbnNlIiAuICIjYjYwMDAwIikgKCJncmVlbi1pbnRlbnNlIiAuICIjMDA2ODAwIikNCi0gICAg ICAoInllbGxvdy1pbnRlbnNlIiAuICIjOTA0MjAwIikgKCJibHVlLWludGVuc2UiIC4gIiMxMTEx ZWUiKQ0KLSAgICAgICgibWFnZW50YS1pbnRlbnNlIiAuICIjNzAwMGUwIikgKCJjeWFuLWludGVu c2UiIC4gIiMyMDViOTMiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgYmFja2dyb3VuZCBlbGVtZW50 cyB0aGF0IHNob3VsZCBiZSB2aXNpYmxlIHlldA0KLSAgICAgIDs7IHN1YnRsZQ0KLSAgICAgIDs7 DQotICAgICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiBgZmctZGltJw0KLSAgICAgICgicmVk LXN1YnRsZS1iZyIgLiAiI2YyYjBhMiIpICgiZ3JlZW4tc3VidGxlLWJnIiAuICIjYWVjZjkwIikN Ci0gICAgICAoInllbGxvdy1zdWJ0bGUtYmciIC4gIiNlNGMzNDAiKSAoImJsdWUtc3VidGxlLWJn IiAuICIjYjVkMGZmIikNCi0gICAgICAoIm1hZ2VudGEtc3VidGxlLWJnIiAuICIjZjBkM2ZmIikg KCJjeWFuLXN1YnRsZS1iZyIgLiAiI2MwZWZmZiIpDQotICAgICAgOzsgc3R5bGVzIGZvciBiYWNr Z3JvdW5kIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZpc2libGUgYW5kDQotICAgICAgOzsgZGlz dGluZ3Vpc2hhYmxlDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6 IGBmZy1tYWluJw0KLSAgICAgICgicmVkLWludGVuc2UtYmciIC4gIiNmZjg4OTIiKSAoImdyZWVu LWludGVuc2UtYmciIC4gIiM1YWRhODgiKQ0KLSAgICAgICgieWVsbG93LWludGVuc2UtYmciIC4g IiNmNWRmMjMiKSAoImJsdWUtaW50ZW5zZS1iZyIgLiAiIzZhYWVmZiIpDQotICAgICAgKCJtYWdl bnRhLWludGVuc2UtYmciIC4gIiNkNWJhZmYiKSAoImN5YW4taW50ZW5zZS1iZyIgLiAiIzQyY2Jk NCIpDQotICAgICAgOzsgc3R5bGVzIGZvciByZWZpbmVkIGNvbnRleHRzIHdoZXJlIGJvdGggdGhl IGZvcmVncm91bmQgYW5kIHRoZQ0KLSAgICAgIDs7IGJhY2tncm91bmQgbmVlZCB0byBoYXZlIHRo ZSBzYW1lL3NpbWlsYXIgaHVlDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVk IHdpdGggdGhlbXNlbHZlcyBPUiB0aGUgZm9yZWdyb3VuZHMgY2FuIGJlDQotICAgICAgOzsgY29t YmluZWQgd2l0aCBhbnkgb2YgdGhlIGJhc2UgYmFja2dyb3VuZHMNCi0gICAgICAoInJlZC1yZWZp bmUtYmciIC4gIiNmZmNjY2MiKSAoInJlZC1yZWZpbmUtZmciIC4gIiM3ODAwMDAiKQ0KLSAgICAg ICgiZ3JlZW4tcmVmaW5lLWJnIiAuICIjYWNlYWFjIikgKCJncmVlbi1yZWZpbmUtZmciIC4gIiMw MDRjMDAiKQ0KLSAgICAgICgieWVsbG93LXJlZmluZS1iZyIgLiAiI2ZmZjI5YSIpICgieWVsbG93 LXJlZmluZS1mZyIgLiAiIzYwNDAwMCIpDQotICAgICAgKCJibHVlLXJlZmluZS1iZyIgLiAiIzhh YzdmZiIpICgiYmx1ZS1yZWZpbmUtZmciIC4gIiMwMDIyODgiKQ0KLSAgICAgICgibWFnZW50YS1y ZWZpbmUtYmciIC4gIiNmZmNjZmYiKSAoIm1hZ2VudGEtcmVmaW5lLWZnIiAuICIjNzcwMDc3IikN Ci0gICAgICAoImN5YW4tcmVmaW5lLWJnIiAuICIjOGVlY2Y0IikgKCJjeWFuLXJlZmluZS1mZyIg LiAiIzAwNDg1MCIpDQotICAgICAgOzsgc3R5bGVzIHRoYXQgYXJlIG1lYW50IGV4Y2x1c2l2ZWx5 IGZvciB0aGUgbW9kZSBsaW5lDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVk IHdpdGg6IGBiZy1hY3RpdmUnLCBgYmctaW5hY3RpdmUnDQotICAgICAgKCJyZWQtYWN0aXZlIiAu ICIjOGEwMDAwIikgKCJncmVlbi1hY3RpdmUiIC4gIiMwMDRjMmUiKQ0KLSAgICAgICgieWVsbG93 LWFjdGl2ZSIgLiAiIzcwMmQxZiIpICgiYmx1ZS1hY3RpdmUiIC4gIiMwMDMwYjQiKQ0KLSAgICAg ICgibWFnZW50YS1hY3RpdmUiIC4gIiM1YzIwOTIiKSAoImN5YW4tYWN0aXZlIiAuICIjMDAzZjhh IikNCi0gICAgICA7OyBzdHlsZXMgdGhhdCBhcmUgbWVhbnQgZXhjbHVzaXZlbHkgZm9yIHRoZSBm cmluZ2VzDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggYGZnLW1h aW4nDQotICAgICAgKCJyZWQtZnJpbmdlLWJnIiAuICIjZjA4MjkwIikgKCJncmVlbi1mcmluZ2Ut YmciIC4gIiM2MmM4NmEiKQ0KLSAgICAgICgieWVsbG93LWZyaW5nZS1iZyIgLiAiI2RiYmEzZiIp ICgiYmx1ZS1mcmluZ2UtYmciIC4gIiM4MmFmZmYiKQ0KLSAgICAgICgibWFnZW50YS1mcmluZ2Ut YmciIC4gIiNlMGEzZmYiKSAoImN5YW4tZnJpbmdlLWJnIiAuICIjMmZjZGRmIikNCi0gICAgICA7 OyBzdHlsZXMgcmVzZXJ2ZWQgZm9yIHNwZWNpZmljIGZhY2VzDQotICAgICAgOzsNCi0gICAgICA7 OyBgYmctaGwtbGluZScgaXMgYmV0d2VlbiBgYmctZGltJyBhbmQgYGJnLWFsdCcsIHNvIGl0IHNo b3VsZA0KLSAgICAgIDs7IHdvcmsgd2l0aCBhbGwgYWNjZW50cyB0aGF0IGNvdmVyIHRob3NlIHR3 bywgcGx1cyBgYmctbWFpbicNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1obC1hbHQnIGFuZCBg YmctaGwtYWx0LWludGVuc2UnIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBubw0KLSAgICAgIDs7 IG90aGVyIGdyZXlzY2FsZSBvciBmYWlybHkgbmV1dHJhbCBiYWNrZ3JvdW5kIGlzIGF2YWlsYWJs ZSB0bw0KLSAgICAgIDs7IHByb3Blcmx5IGRyYXcgYXR0ZW50aW9uIHRvIGEgZ2l2ZW4gY29uc3Ry dWN0DQotICAgICAgOzsNCi0gICAgICA7OyBgYmctaGVhZGVyJyBpcyBiZXR3ZWVuIGBiZy1hY3Rp dmUnIGFuZCBgYmctaW5hY3RpdmUnLCBzbyBpdA0KLSAgICAgIDs7IGNhbiBiZSBjb21iaW5lZCB3 aXRoIGFueSBvZiB0aGUgImFjdGl2ZSIgdmFsdWVzLCBwbHVzIHRoZQ0KLSAgICAgIDs7ICJzcGVj aWFsIiBhbmQgYmFzZSBmb3JlZ3JvdW5kIGNvbG91cnMNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBi Zy1wYXJlbi1tYXRjaCcsIGBiZy1wYXJlbi1tYXRjaC1pbnRlbnNlJywgYGJnLXJlZ2lvbicgYW5k DQotICAgICAgOzsgYGJnLXRhYi1hY3RpdmUnIG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmctbWFp bicsIHdoaWxlDQotICAgICAgOzsgYGJnLXRhYi1pbmFjdGl2ZScgc2hvdWxkIGJlIGNvbWJpbmVk IHdpdGggYGZnLWRpbScNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy10YWItYmFyJyBpcyBvbmx5 IGludGVuZGVkIGZvciB0aGUgYmFyIHRoYXQgaG9sZHMgdGhlIHRhYnMgYW5kDQotICAgICAgOzsg Y2FuIG9ubHkgYmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICA7Ow0KLSAgICAgIDs7 IGBmZy10YWItYWN0aXZlJyBpcyBtZWFudCB0byBiZSBjb21iaW5lZCB3aXRoIGBiZy10YWItYWN0 aXZlJywNCi0gICAgICA7OyB0aG91Z2ggb25seSBmb3Igc3R5bGluZyBzcGVjaWFsIGVsZW1lbnRz LCBzdWNoIGFzIHVuZGVybGluaW5nDQotICAgICAgOzsgdGhlIGN1cnJlbnQgdGFiDQotICAgICAg OzsNCi0gICAgICA7OyBgZmctZXNjYXBlLWNoYXItY29uc3RydWN0JyBhbmQgYGZnLWVzY2FwZS1j aGFyLWJhY2tzbGFzaCcgY2FuDQotICAgICAgOzsgYmUgY29tYmluZWQgYGJnLW1haW4nLCBgYmct ZGltJywgYGJnLWFsdCcNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy1sYW5nLWVycm9yJywgYGZn LWxhbmctd2FybmluZycsIGBmZy1sYW5nLW5vdGUnIGNhbiBiZQ0KLSAgICAgIDs7IGNvbWJpbmVk IHdpdGggYGJnLW1haW4nLCBgYmctZGltJywgYGJnLWFsdCcNCi0gICAgICA7Ow0KLSAgICAgIDs7 IGBmZy1tYXJrLXNlbCcsIGBmZy1tYXJrLWRlbCcsIGBmZy1tYXJrLWFsdCcgY2FuIGJlIGNvbWJp bmVkDQotICAgICAgOzsgd2l0aCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0JywgYGJnLWhs LWxpbmUnDQotICAgICAgOzsNCi0gICAgICA7OyBgZmctdW5mb2N1c2VkJyBtdXN0IGJlIGNvbWJp bmVkIHdpdGggYGZnLW1haW4nDQotICAgICAgOzsNCi0gICAgICA7OyB0aGUgd2luZG93IGRpdmlk ZXIgY29sb3VycyBhcHBseSB0byBmYWNlcyB3aXRoIGp1c3QgYW4gZmcgdmFsdWUNCi0gICAgICA7 Ow0KLSAgICAgIDs7IGFsbCBwYWlycyBhcmUgY29tYmluYWJsZSB3aXRoIHRoZW1zZWx2ZXMNCi0g ICAgICAoImJnLWhsLWxpbmUiIC4gIiNmMmVmZjMiKQ0KLSAgICAgICgiYmctaGwtbGluZS1pbnRl bnNlIiAuICIjZTBlMGUwIikNCi0gICAgICAoImJnLWhsLWFsdCIgLiAiI2ZiZWVlMCIpDQotICAg ICAgKCJiZy1obC1hbHQtaW50ZW5zZSIgLiAiI2U4ZGZkMSIpDQotICAgICAgKCJiZy1wYXJlbi1t YXRjaCIgLiAiI2UwYWY4MiIpDQotICAgICAgKCJiZy1wYXJlbi1tYXRjaC1pbnRlbnNlIiAuICIj YzQ4OGZmIikNCi0gICAgICAoImJnLXJlZ2lvbiIgLiAiI2JjYmNiYyIpDQotDQotICAgICAgKCJi Zy10YWItYmFyIiAuICIjZDVkNWQ1IikNCi0gICAgICAoImJnLXRhYi1hY3RpdmUiIC4gIiNmNmY2 ZjYiKQ0KLSAgICAgICgiYmctdGFiLWluYWN0aXZlIiAuICIjYmRiZGJkIikNCi0gICAgICAoImZn LXRhYi1hY3RpdmUiIC4gIiMzMDE2OWUiKQ0KLQ0KLSAgICAgICgiZmctZXNjYXBlLWNoYXItY29u c3RydWN0IiAuICIjOGIxMDMwIikNCi0gICAgICAoImZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCIg LiAiIzY1NGQwZiIpDQotDQotICAgICAgKCJmZy1sYW5nLWVycm9yIiAuICIjOWYwMDRmIikNCi0g ICAgICAoImZnLWxhbmctd2FybmluZyIgLiAiIzYwNGYwZiIpDQotICAgICAgKCJmZy1sYW5nLW5v dGUiIC4gIiM0MDQwYWUiKQ0KLQ0KLSAgICAgICgiZmctd2luZG93LWRpdmlkZXItaW5uZXIiIC4g IiM4ODg4ODgiKQ0KLSAgICAgICgiZmctd2luZG93LWRpdmlkZXItb3V0ZXIiIC4gIiM1ODU4NTgi KQ0KLQ0KLSAgICAgICgiZmctdW5mb2N1c2VkIiAuICIjNTY1NzZkIikNCi0NCi0gICAgICAoImJn LWhlYWRlciIgLiAiI2U1ZTVlNSIpICgiZmctaGVhZGVyIiAuICIjMmEyYTJhIikNCi0NCi0gICAg ICAoImJnLXdoaXRlc3BhY2UiIC4gIiNmZmY4ZmMiKSAoImZnLXdoaXRlc3BhY2UiIC4gIiM2NDUw NjAiKQ0KLQ0KLSAgICAgICgiYmctZGlmZi1oZWFkaW5nIiAuICIjYjdjMmRkIikgKCJmZy1kaWZm LWhlYWRpbmciIC4gIiMwNDMzNTUiKQ0KLSAgICAgICgiYmctZGlmZi1hZGRlZCIgLiAiI2Q0ZmFk NCIpICgiZmctZGlmZi1hZGRlZCIgLiAiIzAwNDUwMCIpDQotICAgICAgKCJiZy1kaWZmLWNoYW5n ZWQiIC4gIiNmY2VmY2YiKSAoImZnLWRpZmYtY2hhbmdlZCIgLiAiIzUyNDIwMCIpDQotICAgICAg KCJiZy1kaWZmLXJlbW92ZWQiIC4gIiNmZmU4ZWYiKSAoImZnLWRpZmYtcmVtb3ZlZCIgLiAiIzY5 MTYxNiIpDQotDQotICAgICAgKCJiZy1kaWZmLXJlZmluZS1hZGRlZCIgLiAiIzk0Y2Y5NCIpICgi ZmctZGlmZi1yZWZpbmUtYWRkZWQiIC4gIiMwMDJhMDAiKQ0KLSAgICAgICgiYmctZGlmZi1yZWZp bmUtY2hhbmdlZCIgLiAiI2NjY2Y4ZiIpICgiZmctZGlmZi1yZWZpbmUtY2hhbmdlZCIgLiAiIzMw MjAxMCIpDQotICAgICAgKCJiZy1kaWZmLXJlZmluZS1yZW1vdmVkIiAuICIjZGFhMmIwIikgKCJm Zy1kaWZmLXJlZmluZS1yZW1vdmVkIiAuICIjNDAwMDAwIikNCi0NCi0gICAgICAoImJnLWRpZmYt Zm9jdXMtYWRkZWQiIC4gIiNiYmVhYmIiKSAoImZnLWRpZmYtZm9jdXMtYWRkZWQiIC4gIiMwMDJj MDAiKQ0KLSAgICAgICgiYmctZGlmZi1mb2N1cy1jaGFuZ2VkIiAuICIjZWNkZmJmIikgKCJmZy1k aWZmLWZvY3VzLWNoYW5nZWQiIC4gIiMzOTI5MDAiKQ0KLSAgICAgICgiYmctZGlmZi1mb2N1cy1y ZW1vdmVkIiAuICIjZWZjYmNmIikgKCJmZy1kaWZmLWZvY3VzLXJlbW92ZWQiIC4gIiM0YTAwMDAi KQ0KLQ0KLSAgICAgICgiYmctZGlmZi1uZXV0cmFsLTAiIC4gIiM5Nzk3OTciKSAoImZnLWRpZmYt bmV1dHJhbC0wIiAuICIjMDQwNDA0IikNCi0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0xIiAuICIj YjBiMGIwIikgKCJmZy1kaWZmLW5ldXRyYWwtMSIgLiAiIzI1MjUyNSIpDQotICAgICAgKCJiZy1k aWZmLW5ldXRyYWwtMiIgLiAiI2NjY2NjYyIpICgiZmctZGlmZi1uZXV0cmFsLTIiIC4gIiMzYTNh M2EiKQ0KLQ0KLSAgICAgICgiYmctbWFyay1zZWwiIC4gIiNhMGYwY2YiKSAoImZnLW1hcmstc2Vs IiAuICIjMDA1MDQwIikNCi0gICAgICAoImJnLW1hcmstZGVsIiAuICIjZmZjY2JiIikgKCJmZy1t YXJrLWRlbCIgLiAiIzg0MDA0MCIpDQotICAgICAgKCJiZy1tYXJrLWFsdCIgLiAiI2Y1ZDg4ZiIp ICgiZmctbWFyay1hbHQiIC4gIiM3ODI5MDAiKSkNCi0gICAgIlRoZSBlbnRpcmUgcGFsZXR0ZSBv ZiBgbW9kdXMtb3BlcmFuZGktdGhlbWUnLg0KLUVhY2ggZWxlbWVudCBoYXMgdGhlIGZvcm0gKE5B TUUgLiBIRVgpLiIpDQotDQotICAoZGVmY3VzdG9tIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW92ZXJy aWRlLWNvbG9ycy1hbGlzdCAnKCkNCi0gICAgIkFzc29jaWF0aW9uIGxpc3Qgb2YgcGFsZXR0ZSBj b2xvdXIgb3ZlcnJpZGVzLg0KLVZhbHVlcyBjYW4gYmUgbWFwcGVkIHRvIHZhcmlhYmxlcywgdXNp bmcgdGhlIHNhbWUgc3ludGF4IGFzIHRoZQ0KLW9uZSBwcmVzZW50IGluIGBtb2R1cy1vcGVyYW5k aS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdCcuDQotDQotVGhpcyBpcyBvbmx5IG1lYW50IGZv ciBkby1pdC15b3Vyc2VsZiB1c2FnZSwgd2l0aCB0aGUNCi11bmRlcnN0YW5kaW5nIHRoYXQgdGhl IHVzZXIgaXMgcmVzcG9uc2libGUgZm9yIHRoZSByZXN1bHRpbmcNCi1jb250cmFzdCByYXRpbyBi ZXR3ZWVuIG5ldyBhbmQgZXhpc3RpbmcgY29sb3Vycy4iDQotICAgIDp0eXBlICcoYWxpc3QNCi0g ICAgICAgICAgICA6a2V5LXR5cGUgKHN0cmluZyA6dGFnICJOYW1lIikNCi0gICAgICAgICAgICA6 dmFsdWUtdHlwZSAoc3RyaW5nIDp0YWcgIiBIZXgiKSkpDQotDQotICAoZGVmbWFjcm8gbW9kdXMt b3BlcmFuZGktdGhlbWUtd2l0aC1jb2xvci12YXJpYWJsZXMgKCZyZXN0IGJvZHkpDQotICAgICJg bGV0JyBiaW5kIGFsbCBjb2xvdXJzIGFyb3VuZCBCT0RZLg0KLUFsc28gYmluZCBgY2xhc3MnIHRv ICgoY2xhc3MgY29sb3IpIChtaW4tY29sb3JzIDg5KSkuIg0KLSAgICAoZGVjbGFyZSAoaW5kZW50 IDApKQ0KLSAgICBgKGxldCAoKGNsYXNzICcoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OSkp KQ0KLSAgICAgICAgICAgLEAobWFwY2FyIChsYW1iZGEgKGNvbnMpDQotICAgICAgICAgICAgICAg ICAgICAgICAobGlzdCAoaW50ZXJuIChjYXIgY29ucykpIChjZHIgY29ucykpKQ0KLSAgICAgICAg ICAgICAgICAgICAgIChhcHBlbmQgbW9kdXMtb3BlcmFuZGktdGhlbWUtZGVmYXVsdC1jb2xvcnMt YWxpc3QNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVzLW9wZXJhbmRpLXRoZW1l LW92ZXJyaWRlLWNvbG9ycy1hbGlzdCkpDQotICAgICAgICAgICA7OyBzaW1wbGUgY29uZGl0aW9u YWwgc3R5bGVzIHRoYXQgZXZhbHVhdGUgdXNlci1mYWNpbmcNCi0gICAgICAgICAgIDs7IGN1c3Rv bWlzYXRpb24gb3B0aW9ucw0KLSAgICAgICAgICAgKG1vZHVzLXRoZW1lLXNsYW50DQotICAgICAg ICAgICAgKGlmIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyAnaXRhbGlj ICdub3JtYWwpKQ0KLSAgICAgICAgICAgKG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoDQotICAg ICAgICAgICAgKGlmIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdz ICd2YXJpYWJsZS1waXRjaCAnZGVmYXVsdCkpKQ0KLSAgICAgICAsQGJvZHkpKSkNCi0NCi0MDQot DQotOzs7IEZhY2VzDQorKHJlcXVpcmUtdGhlbWUgJ21vZHVzLXRoZW1lcykNCiANCi0obW9kdXMt b3BlcmFuZGktdGhlbWUtd2l0aC1jb2xvci12YXJpYWJsZXMNCi0gIChjdXN0b20tdGhlbWUtc2V0 LWZhY2VzDQotICAgJ21vZHVzLW9wZXJhbmRpDQotOzs7OyBjdXN0b20gZmFjZXMNCi0gICA7OyB0 aGVzZSBiZXNwb2tlIGZhY2VzIGFyZSBpbmhlcml0ZWQgYnkgb3RoZXIgY29uc3RydWN0cyBiZWxv dw0KLTs7Ozs7IHN1YnRsZSBjb2xvdXJlZCBiYWNrZ3JvdW5kcw0KLSAgIGAobW9kdXMtdGhlbWUt c3VidGxlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1YnRsZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGdyZWVuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYCht b2R1cy10aGVtZS1zdWJ0bGUteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3Vi dGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1i bHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmct ZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsbWFnZW50YS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtc3VidGxlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJn IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFs ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCi07Ozs7OyBpbnRlbnNlIGNvbG91cmVkIGJhY2tncm91bmRzDQotICAgYChtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gKCgs Y2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICx5ZWxsb3ctaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMt dGhlbWUtaW50ZW5zZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50 YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4taW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9k dXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyByZWZpbmVkIGJhY2tncm91bmQgYW5kIGZv cmVncm91bmQgY29tYmluYXRpb25zDQotICAgOzsgZ2VuZXJhbCBwdXJwb3NlIHN0eWxlcyB0aGF0 IHVzZSBhbiBhY2NlbnRlZCBmb3JlZ3JvdW5kIGFnYWluc3QgYW4NCi0gICA7OyBhY2NlbnRlZCBi YWNrZ3JvdW5kDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtcmVkICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxyZWQtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYCht b2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXJlZmlu ZS1iZyA6Zm9yZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVtZS1y ZWZpbmUteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWJnIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtYmx1 ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGJsdWUt cmVmaW5lLWZnKSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLG1hZ2VudGEtcmVmaW5l LWZnKSkpDQotICAgYChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsY3lhbi1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkpDQotOzs7Ozsg ImFjdGl2ZSIgY29tYmluYXRpb25zLCBtb3N0bHkgZm9yIHVzZSBvbiB0aGUgbW9kZSBsaW5lDQot ICAgYChtb2R1cy10aGVtZS1hY3RpdmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtYWN0 aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1n cmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1h Y3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tn cm91bmQgLHllbGxvdy1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAobW9k dXMtdGhlbWUtYWN0aXZlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtYWN0aXZlIDpm b3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRh ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0 aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsY3lhbi1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLTs7Ozs7IG51YW5jZWQg YmFja2dyb3VuZHMNCi0gICA7OyB1c2VmdWwgZm9yIGFkZGluZyBhbiBhY2NlbnRlZCBiYWNrZ3Jv dW5kIHRoYXQgaXMgc3VpdGFibGUgZm9yIGFsbA0KLSAgIDs7IG1haW4gZm9yZWdyb3VuZCBjb2xv dXJzIChpbnRlbmRlZCBmb3IgdXNlIGluIE9yZyBzb3VyY2UgYmxvY2tzKQ0KLSAgIGAobW9kdXMt dGhlbWUtbnVhbmNlZC1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1udWFuY2VkLWJnDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1h am9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5j ZWQtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLW51YW5jZWQtYmcNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12 ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLXll bGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVy c2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcp ICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3 KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4gKCgsY2xh c3MgOmJhY2tncm91bmQgLGN5YW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0 ZW5kIHQpKSkpKQ0KLTs7Ozs7IGZyaW5nZS1zcGVjaWZpYyBjb21iaW5hdGlvbnMNCi0gICBgKG1v ZHVzLXRoZW1lLWZyaW5nZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1mcmluZ2UtYmcg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiAo KCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICx5ZWxsb3ctZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10 aGVtZS1mcmluZ2UtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1mcmluZ2UtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQg LGN5YW4tZnJpbmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7Ozsgc3BlY2lhbCBi YXNlIHZhbHVlcw0KLSAgIDs7IHRoZXNlIGFyZSBjbG9zZXIgdG8gdGhlIGdyYXlzY2FsZSB0aGFu IHRoZSBhY2NlbnRzIGRlZmluZWQgYWJvdmUNCi0gICA7OyBhbmQgc2hvdWxkIG9ubHkgYmUgdXNl ZCB3aGVuIHRoZSBuZXh0IGNsb3Nlc3QgYWx0ZXJuYXRpdmUgd291bGQgYmUNCi0gICA7OyBhIGdy ZXlzY2FsZSB2YWx1ZSB0aGFuIGFuIGFjY2VudGVkIG9uZQ0KLSAgIGAobW9kdXMtdGhlbWUtc3Bl Y2lhbC1jb2xkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtbWlsZCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1zcGVjaWFsLXdhcm0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1z cGVjaWFsLWNhbG0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IGRpZmYt c3BlY2lmaWMgY29tYmluYXRpb25zDQotICAgOzsgaW50ZW5kZWQgZm9yIGBkaWZmLW1vZGUnIG9y IGVxdWl2YWxlbnQNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQNCi0gICAgICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4g Z3JlZW4NCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1 cy1hZGRlZA0KLSAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVk KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkDQotICAgICAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1tYWluIHllbGxv dw0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMt Y2hhbmdlZA0KLSAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgZmctZGlmZi1jaGFu Z2VkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkDQotICAgICAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1tYWluIHJl ZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1yZW1vdmVkIGZnLWRpZmYtZm9jdXMt cmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVk KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQNCi0gICAgICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYt YWRkZWQgZmctZGlmZi1hZGRlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtYWRk ZWQgZmctZGlmZi1yZWZpbmUtYWRkZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMt YWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVm aW5lLWNoYW5nZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYN Ci0gICAgICAgICAgICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCi0gICAg ICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5lLWNoYW5nZWQgZmctZGlmZi1yZWZpbmUtY2hhbmdl ZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMt Y2hhbmdlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQNCi0gICAg ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAg IGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRp ZmYtcmVmaW5lLXJlbW92ZWQgZmctZGlmZi1yZWZpbmUtcmVtb3ZlZA0KLSAgICAgICAgICAgICAg ICAgYmctZGlmZi1mb2N1cy1yZW1vdmVkIGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCkpKSkNCi0gICBg KG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtYWRkZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpbSBncmVlbg0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQotICAg ICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQpKSkpDQotICAgYChtb2R1 cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpbSB5ZWxsb3cNCi0gICAgICAg ICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQNCi0g ICAgICAgICAgICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQpKSkpDQotICAg YChtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92ZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpbSByZWQNCi0gICAg ICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQN Ci0gICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQpKSkpDQot ICAgYChtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWFsdCBibHVlLWFsdA0KLSAg ICAgICAgICAgICAgICAgYmctZGlmZi1oZWFkaW5nIGZnLWRpZmYtaGVhZGluZw0KLSAgICAgICAg ICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUpKSkpDQotOzs7OzsgbWFyayBpbmRpY2F0b3Jz DQotICAgOzsgY29sb3VyIGNvbWJpbmF0aW9ucyBpbnRlbmRlZCBmb3IgRGlyZWQsIElidWZmZXIs IG9yIGVxdWl2YWxlbnQNCi0gICBgKG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUt bWFyay1hbHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctbWFyay1hbHQg OmZvcmVncm91bmQgLGZnLW1hcmstYWx0KSkpDQotICAgYChtb2R1cy10aGVtZS1tYXJrLWRlbCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1tYXJrLWRlbCA6Zm9yZWdyb3Vu ZCAsZmctbWFyay1kZWwpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW1hcmstc2VsICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmstc2VsIDpmb3JlZ3JvdW5kICxmZy1tYXJr LXNlbCkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBoZWFkaW5nIGxldmVscw0KLSAg IDs7IHN0eWxlcyBmb3IgcmVndWxhciBoZWFkaW5ncyB1c2VkIGluIE9yZywgTWFya2Rvd24sIElu Zm8sIGV0Yy4NCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctMQ0KLSAgICAgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgMSBmZy1tYWlu IG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtbnVhbmNlZC1iZyBiZy1yZWdpb24pDQotICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVt ZS1zY2FsZS00KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0yDQotICAgICAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAyIGZn LXNwZWNpYWwtd2FybSBtYWdlbnRhLWFsdCByZWQtbnVhbmNlZC1iZyBiZy1yZWdpb24pDQotICAg ICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10 aGVtZS1zY2FsZS0zKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0zDQotICAgICAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAz IGZnLXNwZWNpYWwtY29sZCBibHVlIGJsdWUtbnVhbmNlZC1iZyBiZy1yZWdpb24pDQotICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVt ZS1zY2FsZS0yKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy00DQotICAgICAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA0IGZn LXNwZWNpYWwtbWlsZCBjeWFuIGN5YW4tbnVhbmNlZC1iZyBiZy1yZWdpb24pDQotICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1z Y2FsZS0xKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy01DQotICAgICAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICA1IGZnLXNw ZWNpYWwtY2FsbSBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tbnVhbmNlZC1iZyBiZy1yZWdpb24pKSkp DQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTYNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDYgeWVsbG93LW51YW5jZWQg eWVsbG93LWFsdC1vdGhlciB5ZWxsb3ctbnVhbmNlZC1iZyBiZy1yZWdpb24pKSkpDQotICAgYCht b2R1cy10aGVtZS1oZWFkaW5nLTcNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDcgcmVkLW51YW5jZWQgcmVkLWFsdCByZWQt bnVhbmNlZC1iZyBiZy1yZWdpb24pKSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTgNCi0g ICAgICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAg ICAgICAgIDggZmctZGltIG1hZ2VudGEgYmctYWx0IGJnLXJlZ2lvbikpKSkNCi07Ozs7OyBvdGhl ciBjdXN0b20gZmFjZXMNCi0gICBgKG1vZHVzLXRoZW1lLWhsLWxpbmUgKCgsY2xhc3MgOmJhY2tn cm91bmQgLChpZiBtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmUNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1obC1saW5lLWlu dGVuc2UgYmctaGwtbGluZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFu ZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLTs7Ozsgc3Rh bmRhcmQgZmFjZXMNCi07Ozs7OyBhYnNvbHV0ZSBlc3NlbnRpYWxzDQotICAgYChkZWZhdWx0ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChjdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGZyaW5nZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2UgYmctaW5hY3RpdmUgYmctYWN0 aXZlKQ0KLSAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YCh2ZXJ0aWNhbC1ib3JkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVy LWlubmVyKSkpDQotOzs7OzsgYmFzaWMgYW5kL29yIHVuZ3JvdXBlZCBzdHlsZXMNCi0gICA7OyBN b2RpZnkgdGhlIGBib2xkJyBmYWNlIHRvIGNoYW5nZSB0aGUgd2VpZ2h0IG9mIGFsbCAiYm9sZCIg ZWxlbWVudHMNCi0gICA7OyBkZWZpbmVkIGJ5IHRoZSB0aGVtZS4gIFlvdSBuZWVkIGEgdHlwZWZh Y2UgdGhhdCBzdXBwb3J0cyBhDQotICAgOzsgbXVsdGl0dWRlIG9mIGhlYXZpZXIgd2VpZ2h0cyB0 aGFuIHRoZSByZWd1bGFyIG9uZSBhbmQgdGhlbiB5b3UNCi0gICA7OyBtdXN0IHNwZWNpZnkgdGhl IGV4YWN0IG5hbWUgb2YgdGhlIG9uZSB5b3Ugd2lzaCB0byBhcHBseS4gIEV4YW1wbGUNCi0gICA7 OyBmb3IgeW91ciBpbml0LmVsOg0KLSAgIDs7DQotICAgOzsgKHNldC1mYWNlLWF0dHJpYnV0ZSAn Ym9sZCBuaWwgOndlaWdodCAnc2VtaWJvbGQpDQotICAgYChib2xkICgoLGNsYXNzIDp3ZWlnaHQg Ym9sZCkpKQ0KLSAgIGAoY29taW50LWhpZ2hsaWdodC1pbnB1dCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkKSkpDQotICAgYChjb21pbnQtaGlnaGxpZ2h0LXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXByb21wdA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUtYWx0DQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLXJlZmluZS1iZyBmZy1tYWluKSkpKQ0K LSAgIGAoZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQot ICAgYChlc2NhcGUtZ2x5cGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNv bnN0cnVjdCkpKQ0KLSAgIGAoZmlsZS1uYW1lLXNoYWRvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctdW5mb2N1c2VkKSkpDQotICAgYChoZWFkZXItbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGhlYWRlci1saW5lLWhp Z2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAg IGAoaGVscC1hcmd1bWVudC1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuIDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGhvbW9nbHlwaCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChpYnVmZmVyLWxvY2tlZC1idWZm ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGl0YWxp YyAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChub2JyZWFrLWh5cGhlbiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChub2JyZWFr LXNwYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QgOnVu ZGVybGluZSB0KSkpDQotICAgYChtaW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1wcm9tcHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN5YW4tYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFu LW51YW5jZWQtYmcgY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lh bi1yZWZpbmUtYmcgZmctbWFpbikpKSkNCi0gICBgKG1tLWNvbW1hbmQtb3V0cHV0ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChtbS11dS1leHRyYWN0ICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0K LSAgIGAobmV4dC1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVk KSkpDQotICAgYChyZWN0YW5nbGUtcHJldmlldyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHJlZ2lvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct cmVnaW9uIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzZWNvbmRhcnktc2VsZWN0aW9u ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc2hh ZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHN1Y2Nlc3MgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHRyYWlsaW5nLXdo aXRlc3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQotICAgYCh3 YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7 Ozs7IGJ1dHRvbnMsIGxpbmtzLCB3aWRnZXRzDQotICAgYChidXR0b24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgLEAodW5sZXNzIG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lDQotICAgICAgICAgICAgICAgICAg ICAgICAgIChsaXN0IDp1bmRlcmxpbmUgdCkpKSkpDQotICAgYChsaW5rICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbikpKQ0KLSAgIGAobGluay12aXNpdGVkICgoLGNsYXNzIDppbmhlcml0IGxpbmsg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYCh0b29sdGlwICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKHdpZGdldC1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYCh3aWRn ZXQtYnV0dG9uLXByZXNzZWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQotICAgYCh3aWRnZXQtZG9jdW1lbnRhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKHdpZGdldC1maWVsZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKHdpZGdldC1pbmFjdGl2ZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQot ICAgYCh3aWRnZXQtc2luZ2xlLWxpbmUtZmllbGQgKCgsY2xhc3MgOmluaGVyaXQgd2lkZ2V0LWZp ZWxkKSkpDQotOzs7OzsgYWcNCi0gICBgKGFnLWhpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGFnLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotOzs7OzsgYWxlcnQNCi0gICBgKGFsZXJ0 LWhpZ2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQotICAgYChhbGVydC1sb3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1t aWxkKSkpDQotICAgYChhbGVydC1tb2RlcmF0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYWxlcnQtdHJpdmlhbC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGFsZXJ0LXVyZ2VudC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotOzs7 OzsgYWxsLXRoZS1pY29ucw0KLSAgIGAoYWxsLXRoZS1pY29ucy1ibHVlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChhbGwtdGhlLWljb25zLWJsdWUtYWx0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1jeWFuICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChhbGwtdGhlLWljb25zLWN5YW4tYWx0ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kYmx1ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNv bnMtZGN5YW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChh bGwtdGhlLWljb25zLWRncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVy KSkpDQotICAgYChhbGwtdGhlLWljb25zLWRpcmVkLWRpci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYChhbGwtdGhlLWljb25zLWRtYXJvb24gKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhlLWljb25zLWRvcmFuZ2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNv bnMtZHBpbmsgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtZHB1cnBsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KGFsbC10aGUtaWNvbnMtZHJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChh bGwtdGhlLWljb25zLWRzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1keWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZ3JlZW4gKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sY3lhbiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbGdyZWVu ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtbG1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkN Ci0gICBgKGFsbC10aGUtaWNvbnMtbG9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJl ZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1scGluayAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHB1cnBsZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCi0gICBgKGFsbC10aGUtaWNv bnMtbHJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxs LXRoZS1pY29ucy1sc2lsdmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKGFsbC10aGUtaWNvbnMtbHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1tYXJvb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtb3JhbmdlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLXBpbmsgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtcHVycGxlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1w dXJwbGUtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAoYWxsLXRoZS1pY29ucy1yZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo YWxsLXRoZS1pY29ucy1yZWQtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChhbGwtdGhlLWljb25zLXNpbHZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYChhbGwtdGhlLWljb25zLXllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotOzs7OzsgYW5ub3RhdGUNCi0gICBgKGFubm90YXRlLWFubm90YXRpb24g KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKGFubm90 YXRlLWFubm90YXRpb24tc2Vjb25kYXJ5ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1ncmVlbikpKQ0KLSAgIGAoYW5ub3RhdGUtaGlnaGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxibHVlLW51YW5jZWQtYmcgOnVuZGVybGluZSAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChh bm5vdGF0ZS1oaWdobGlnaHQtc2Vjb25kYXJ5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1u dWFuY2VkLWJnIDp1bmRlcmxpbmUgLGdyZWVuLWludGVuc2UpKSkNCi07Ozs7OyBhbnp1DQotICAg YChhbnp1LW1hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4p KSkNCi0gICBgKGFuenUtbWF0Y2gtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtZ3JlZW4pKSkNCi0gICBgKGFuenUtbWF0Y2gtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUteWVsbG93KSkpDQotICAgYChhbnp1LW1vZGUtbGluZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGFuenUtbW9kZS1s aW5lLW5vLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3Rp dmUpKSkNCi0gICBgKGFuenUtcmVwbGFjZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGFuenUtcmVwbGFj ZS10byAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkp KQ0KLTs7Ozs7IGFwcm9wb3MNCi0gICBgKGFwcm9wb3MtZnVuY3Rpb24tYnV0dG9uICgoLGNsYXNz IDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBg KGFwcm9wb3Mta2V5YmluZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChhcHJvcG9zLW1pc2MtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv biA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFwcm9wb3MtcHJvcGVydHkg KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoYXByb3Bvcy1zeW1ib2wgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikp KQ0KLSAgIGAoYXByb3Bvcy11c2VyLW9wdGlvbi1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFwcm9wb3MtdmFyaWFi bGUtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LTs7Ozs7IGFwdC1zb3VyY2VzLWxpc3QNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3QtY29tcG9uZW50 cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYXB0LXNvdXJjZXMtbGlzdC1v cHRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGFwdC1zb3VyY2Vz LWxpc3Qtc3VpdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChhcHQtc291 cmNlcy1saXN0LXR5cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFw dC1zb3VyY2VzLWxpc3QtdXJpICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotOzs7Ozsg YXJ0Ym9sbG9ja3MtbW9kZQ0KLSAgIGAoYXJ0Ym9sbG9ja3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1udWFuY2VkIDp1bmRlcmxpbmUgLGZnLWxhbmctbm90ZSkpKQ0KLSAgIGAoYXJ0 Ym9sbG9ja3MtbGV4aWNhbC1pbGx1c2lvbnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct YWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYXJ0Ym9sbG9j a3MtcGFzc2l2ZS12b2ljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNl ZCA6dW5kZXJsaW5lICxmZy1sYW5nLXdhcm5pbmcpKSkNCi0gICBgKGFydGJvbGxvY2tzLXdlYXNl bC13b3Jkcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCA6dW5kZXJsaW5l ICxmZy1sYW5nLWVycm9yKSkpDQotOzs7OzsgYXVjdGV4IGFuZCBUZXgNCi0gICBgKGZvbnQtbGF0 ZXgtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY2FsbSkpKQ0KLSAgIGAoZm9udC1sYXRleC1kb2N0ZXgtZG9jdW1lbnRhdGlvbi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAoZm9udC1sYXRleC1kb2N0ZXgtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQt YWx0LW90aGVyKSkpDQotICAgYChmb250LWxhdGV4LWl0YWxpYy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZm9udC1sYXRl eC1tYXRoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChmb250LWxhdGV4LXNjcmlwdC1jaGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMC1mYWNlICgoLGNsYXNz IDppbmhlcml0ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJs dWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5k ICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0zLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdy b3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctNC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZv cmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1sYXRleC1zZWRhdGUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChmb250LWxhdGV4LXNsaWRlLXRpdGxlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdy b3VuZCAsY3lhbi1udWFuY2VkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUt c2NhbGUtNCkpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChmb250LWxhdGV4LXN1YnNjcmlwdC1mYWNlICgoLGNs YXNzIDpoZWlnaHQgMC45NSkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdXBlcnNjcmlwdC1mYWNlICgo LGNsYXNzIDpoZWlnaHQgMC45NSkpKQ0KLSAgIGAoZm9udC1sYXRleC12ZXJiYXRpbS1mYWNlICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KLSAgIGAoZm9udC1sYXRleC13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHRleC1tYXRjaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHRleC12ZXJiYXRpbSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHRleGluZm8t aGVhZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoVGVYLWVycm9y LWRlc2NyaXB0aW9uLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZCkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLWhlbHAgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKFRlWC1lcnJvci1kZXNjcmlwdGlvbi10ZXgtc2FpZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXdhcm5p bmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7Ozsg YXV0by1kaW0tb3RoZXItYnVmZmVycw0KLSAgIGAoYXV0by1kaW0tb3RoZXItYnVmZmVycy1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi07Ozs7OyBhdnkNCi0gICBgKGF2eS1i YWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAs ZmctZGltKSkpDQotICAgYChhdnktZ290by1jaGFyLXRpbWVyLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgKG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93IGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgYm9sZCkp KSkNCi0gICBgKGF2eS1sZWFkLWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt aW50ZW5zZS1ibHVlIGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1mYWNlLTEgKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQotICAgYChhdnktbGVhZC1m YWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkp KSkNCi07Ozs7OyBhdyAoYWNlLXdpbmRvdykNCi0gICBgKGF3LWJhY2tncm91bmQtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGF3 LWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5z ZSkpKQ0KLSAgIGAoYXctbGVhZGluZy1jaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 aGVpZ2h0IDEuNSA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2Up KSkNCi0gICBgKGF3LW1pbmlidWZmZXItbGVhZGluZy1jaGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChhdy1tb2RlLWxpbmUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkKSkpDQotOzs7OzsgYXdlc29tZS10cmF5DQotICAgYChhd2Vzb21lLXRy YXktbW9kdWxlLWF3ZXNvbWUtdGFiLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1iYXR0ZXJ5 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYnVmZmVyLW5hbWUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChhd2Vz b21lLXRyYXktbW9kdWxlLWNpcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtZGF0ZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoYXdlc29t ZS10cmF5LW1vZHVsZS1ldmlsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZ3JlZW4tYWx0KSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWdpdC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGF3ZXNvbWUt dHJheS1tb2R1bGUtbGFzdC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtbG9j YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtbW9kZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUt cGFyZW50LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4p KSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtcnZtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBiaW5kZXINCi0g ICBgKGJpbmRlci1zaWRlYmFyLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoYmluZGVyLXNpZGViYXItbWFya2VkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChiaW5kZXItc2lkZWJhci1taXNz aW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGJp bmRlci1zaWRlYmFyLXRhZ3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBi bQ0KLSAgIGAoYm0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUteWVs bG93DQotICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lv biAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAoYm0tZnJpbmdlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoYm0tZnJpbmdlLXBlcnNp c3RlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtYmx1ZSkpKQ0K LSAgIGAoYm0tcGVyc2lzdGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0g ZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLTs7Ozs7IGJvbmdvDQot ICAgYChib25nby1hbGJ1bS10aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUp KSkNCi0gICBgKGJvbmdvLWFydGlzdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCi0gICBgKGJvbmdvLWN1cnJlbnRseS1wbGF5aW5nLXRyYWNrICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCi0gICBgKGJvbmdvLWVsYXBzZWQtdHJhY2stcGFydCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGJv bmdvLWZpbGxlZC1zZWVrLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGJvbmdvLW1hcmtlZC10cmFjayAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFyay1hbHQpKSkNCi0gICBgKGJvbmdvLW1hcmtlZC10cmFjay1s aW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYXJrLWFsdCkpKQ0KLSAgIGAoYm9uZ28tcGxh eWVkLXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQgOnN0cmlrZS10aHJv dWdoIHQpKSkNCi0gICBgKGJvbmdvLXRyYWNrLWxlbmd0aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGJvbmdvLXRyYWNrLXRpdGxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoYm9uZ28tdW5maWxsZWQtc2Vlay1iYXIgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLTs7Ozs7IGJvb24NCi0gICBgKGJvb24tbW9kZWxpbmUtY21kICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkpDQotICAgYChib29uLW1vZGVsaW5lLWlucyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAgYChib29uLW1vZGVs aW5lLW9mZiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93KSkpDQot ICAgYChib29uLW1vZGVsaW5lLXNwYyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3Rp dmUtZ3JlZW4pKSkNCi07Ozs7OyBicmVha3BvaW50IChidWlsdC1pbiBnZGItbWkuZWwpDQotICAg YChicmVha3BvaW50LWRpc2FibGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKGJyZWFrcG9pbnQtZW5hYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQpKSkNCi07Ozs7OyBidWZmZXItZXhwb3NlDQotICAgYChidWZmZXItZXhwb3NlLWFjZS1j aGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkp KQ0KLSAgIGAoYnVmZmVyLWV4cG9zZS1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGJ1ZmZlci1leHBvc2Utc2VsZWN0ZWQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBjYWxlbmRh ciBhbmQgZGlhcnkNCi0gICBgKGNhbGVuZGFyLW1vbnRoLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjYWxlbmRhci10b2RheSAoKCxj bGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNhbGVuZGFyLXdlZWtkYXktaGVhZGVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNhbGVuZGFyLXdlZWtlbmQtaGVhZGVy ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRpYXJ5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlhcnktYW5uaXZlcnNhcnkgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGRpYXJ5LXRpbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChob2xpZGF5ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IGNhbGZ3DQotICAgYChjZnc6ZmFjZS1h bm5vdGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KGNmdzpmYWNlLWRheS10aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoY2Z3OmZhY2UtZGVmYXVsdC1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQpKSkNCi0gICBgKGNmdzpmYWNlLWRlZmF1bHQtZGF5ICgoLGNsYXNzIDppbmhlcml0IChjZnc6 ZmFjZS1kYXktdGl0bGUgYm9sZCkpKSkNCi0gICBgKGNmdzpmYWNlLWRpc2FibGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoY2Z3OmZhY2UtZ3JpZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCi0gICBgKGNmdzpmYWNl LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChjZnc6ZmFjZS1ob2xpZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2UtcGVyaW9kcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXNhdHVyZGF5ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS1zZWxl Y3QgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChj Znc6ZmFjZS1zdW5kYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCi0gICBgKGNmdzpmYWNlLXRpdGxlICgoLGNsYXNzIDppbmhlcml0ICxtb2R1 cy10aGVtZS12YXJpYWJsZS1waXRjaA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUt NSkpKSkNCi0gICBgKGNmdzpmYWNlLXRvZGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9kYXktdGl0bGUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFjdGl2ZSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9vbGJhciAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGNmdzpmYWNlLXRvb2xiYXIt YnV0dG9uLW9mZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjZnc6ZmFj ZS10b29sYmFyLWJ1dHRvbi1vbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxi bHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGNlbnRhdXItdGFicw0KLSAgIGAoY2Vu dGF1ci10YWJzLWFjdGl2ZS1iYXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctdGFiLWFj dGl2ZSkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KGNlbnRhdXItdGFicy1jbG9zZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRh YnMtc2VsZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1jbG9zZS11bnNlbGVjdGVkICgoLGNs YXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRh YnMtbW9kaWZpZWQtbWFya2VyLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFi cy1zZWxlY3RlZCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLW1vZGlmaWVkLW1hcmtlci11bnNlbGVj dGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVkKSkpDQotICAgYChj ZW50YXVyLXRhYnMtZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdy b3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoY2VudGF1ci10YWJzLXNlbGVjdGVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKGNlbnRhdXItdGFicy1zZWxlY3RlZC1tb2RpZmllZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgaXRhbGlj KSkpDQotICAgYChjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctdGFiLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNlbnRhdXItdGFi cy11bnNlbGVjdGVkLW1vZGlmaWVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3Rp dmUgOmZvcmVncm91bmQgLGZnLWRpbSA6c2xhbnQgaXRhbGljKSkpDQotOzs7OzsgY2hhbmdlLWxv ZyBhbmQgbG9nLXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBgdmMtcHJpbnQtcm9vdC1sb2cnKQ0K LSAgIGAoY2hhbmdlLWxvZy1hY2tub3dsZWRnbWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChjaGFuZ2UtbG9nLWNvbmRpdGlvbmFscyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGNoYW5nZS1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5nZS1sb2ctZW1haWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGNoYW5nZS1sb2ctZmlsZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1mdW5jdGlvbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLWxpc3QgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjaGFuZ2UtbG9nLW5h bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGxvZy1lZGl0LWhlYWRlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChsb2ctZWRpdC1z dW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGxvZy1lZGl0LXVua25vd24taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGxvZy12aWV3LWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChsb2ctdmlldy1tZXNzYWdlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBjaWRlcg0KLSAgIGAoY2lkZXItZGVidWctY29kZS1v dmVybGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoY2lkZXIt ZGVidWctcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoY2lkZXItZGVwcmVjYXRlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctZW1waGFz aXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFs aWMpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctbGl0ZXJhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY2lkZXItZG9jdmlldy1zdHJvbmctZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGNp ZGVyLWRvY3ZpZXctdGFibGUtYm9yZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAoY2lkZXItZW5saWdodGVuZWQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13 aWR0aCAtMSA6Y29sb3IgLHllbGxvdy1hbHQgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQgLGJnLWRp bSkpKQ0KLSAgIGAoY2lkZXItZW5saWdodGVuZWQtbG9jYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChjaWRlci1lcnJv ci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoY2lkZXItZnJhZ2lsZS1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13 aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKGNpZGVyLWZyaW5nZS1nb29kLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoY2lkZXItaW5zdHJ1bWVudGVkLWZhY2UgKCgs Y2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxyZWQgOnN0eWxlIG5pbCkgOmJhY2tn cm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItcmVhZGVyLWNvbmRpdGlvbmFsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6c2xhbnQgaXRhbGljKSkpDQotICAg YChjaWRlci1yZXBsLWlucHV0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAo Y2lkZXItcmVwbC1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGNpZGVyLXJlcGwtc3RkZXJyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjaWRlci1yZXBsLXN0ZG91dC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaWRlci1yZXN1bHQtb3ZlcmxheS1mYWNl ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSA6c3R5bGUgbmlsKSA6 YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWVycm9yLWNsYXNz LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChj aWRlci1zdGFja3RyYWNlLWVycm9yLW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdC1vdGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJh Y2UtZmlsdGVyLWFjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVyLWluYWN0aXZlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChjaWRlci1zdGFja3RyYWNl LWZuLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoY2lkZXItc3RhY2t0cmFjZS1ucy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1h bHQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1wcm9tb3RlZC1idXR0 b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHls ZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNpZGVyLXN0YWNr dHJhY2Utc3VwcHJlc3NlZC1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAz IDpjb2xvciAsZmctYWx0IDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGNpZGVyLXRlc3QtZXJyb3ItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChjaWRlci10ZXN0 LWZhaWx1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQg Ym9sZCkpKSkNCi0gICBgKGNpZGVyLXRlc3Qtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGNpZGVyLXRyYWNlZC1mYWNlICgo LGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsY3lhbiA6c3R5bGUgbmlsKSA6YmFj a2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci13YXJuaW5nLWhpZ2hsaWdodC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgY2lyY2Ug KGFuZCBsdWkpDQotICAgYChjaXJjZS1mb29sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoY2lyY2UtaGlnaGxpZ2h0LW5pY2stZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaXJjZS1wcm9tcHQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAo Y2lyY2Utc2VydmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0K LSAgIGAobHVpLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAobHVpLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobHVpLXRpbWUtc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotOzs7OzsgY29sb3ItcmcNCi0gICBgKGNvbG9yLXJn LWZvbnQtbG9jay1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNvbW1hbmQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1s b2NrLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stZmxhc2ggKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stZnVu Y3Rpb24tbG9jYXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxt KSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtZGlyZWN0b3J5ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2Nr LWhlYWRlci1saW5lLWVkaXQtbW9kZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1rZXl3b3JkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9j ay1oZWFkZXItbGluZS10ZXh0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0g ICBgKGNvbG9yLXJnLWZvbnQtbG9jay1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stbWFyay1jaGFuZ2Vk ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGNvbG9y LXJnLWZvbnQtbG9jay1tYXJrLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stbWF0Y2ggKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxv Y2stcG9zaXRpb24tc3BsaXR0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7 Ozs7IGNvbHVtbi1lbmZvcmNlLW1vZGUNCi0gICBgKGNvbHVtbi1lbmZvcmNlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLTs7Ozs7IGNvbXBhbnkt bW9kZQ0KLSAgIGAoY29tcGFueS1lY2hvLWNvbW1vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGNvbXBhbnktcHJldmlldyAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGNvbXBhbnktcHJldmll dy1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChjb21wYW55 LXByZXZpZXctc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2Fs bSkpKQ0KLSAgIGAoY29tcGFueS1zY3JvbGxiYXItYmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS1zY3JvbGxiYXItZmcgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS10ZW1wbGF0ZS1maWVsZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKGNvbXBhbnktdG9v bHRpcCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGNvbXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoY29tcGFu eS10b29sdGlwLWFubm90YXRpb24tc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1jb21tb24gKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGNvbXBhbnkt dG9vbHRpcC1jb21tb24tc2VsZWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChjb21wYW55LXRvb2x0aXAtbW91c2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtc2VhcmNoICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xkKSkpKQ0KLSAgIGAoY29tcGFu eS10b29sdGlwLXNlYXJjaC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWludGVuc2UtZ3JlZW4gYm9sZCkgOnVuZGVybGluZSB0KSkpDQotICAgYChjb21wYW55LXRvb2x0 aXAtc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBi b2xkKSkpKQ0KLTs7Ozs7IGNvbXBhbnktcG9zZnJhbWUNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUt YWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxi Zy1hY3RpdmUgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChjb21wYW55LXBvc2Zy YW1lLWluYWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNvbXBhbnktcG9zZnJhbWUtbWV0YWRh dGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFj dGl2ZSkpKQ0KLTs7Ozs7IGNvbXBpbGF0aW9uIGZlZWRiYWNrDQotICAgYChjb21waWxhdGlvbi1j b2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoY29tcGlsYXRpb24tZXJyb3IgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt Ym9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGNvbXBpbGF0aW9uLWluZm8g KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoY29tcGlsYXRp b24tbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAoY29tcGlsYXRpb24tbW9kZS1saW5lLWV4aXQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAo Y29tcGlsYXRpb24tbW9kZS1saW5lLWZhaWwgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChjb21waWxh dGlvbi1tb2RlLWxpbmUtcnVuICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQt d2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGNvbXBpbGF0aW9u LXdhcm5pbmcgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBjb21wbGV0aW9ucw0KLSAgIGAoY29tcGxldGlv bnMtYW5ub3RhdGlvbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChjb21wbGV0aW9ucy1jb21tb24tcGFydCAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1udWFu Y2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJl ZmluZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCi0gICBgKGNvbXBsZXRpb25zLWZpcnN0LWRpZmZl cmVuY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdl bnRhLWFsdCBibHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFnZW50YS1pbnRlbnNlLWJnIGZnLW1haW4pKSkpDQotOzs7OzsgY291 bnNlbA0KLSAgIGAoY291bnNlbC1hY3RpdmUtbW9kZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGNvdW5zZWwtYXBwbGljYXRpb24tbmFtZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoY291bnNlbC1rZXktYmluZGlu ZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K LSAgIGAoY291bnNlbC1vdXRsaW5lLTEgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS0xKSkpDQot ICAgYChjb3Vuc2VsLW91dGxpbmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTIpKSkNCi0g ICBgKGNvdW5zZWwtb3V0bGluZS0zICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtMykpKQ0KLSAg IGAoY291bnNlbC1vdXRsaW5lLTQgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS00KSkpDQotICAg YChjb3Vuc2VsLW91dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTUpKSkNCi0gICBg KGNvdW5zZWwtb3V0bGluZS02ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUtNikpKQ0KLSAgIGAo Y291bnNlbC1vdXRsaW5lLTcgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGluZS03KSkpDQotICAgYChj b3Vuc2VsLW91dGxpbmUtOCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5lLTgpKSkNCi0gICBgKGNv dW5zZWwtb3V0bGluZS1kZWZhdWx0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY291bnNlbC12YXJpYWJsZS1kb2N1bWVudGF0aW9u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi07Ozs7OyBjb3Vuc2VsLWNzcw0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0 b3ItZGVwdGgtZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjb3Vu c2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4p KSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2Ut NCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChjb3Vuc2VsLWNzcy1zZWxl Y3Rvci1kZXB0aC1mYWNlLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBg KGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotOzs7OzsgY291bnNlbC1ub3RtdWNoDQotICAgYChjb3Vuc2VsLW5vdG11Y2gtY291 bnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY291bnNlbC1ub3Rt dWNoLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY291bnNl bC1ub3RtdWNoLXBlb3BsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQot ICAgYChjb3Vuc2VsLW5vdG11Y2gtc3ViamVjdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nDQot ICAgYChjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0cmluZy10ZW1wbGF0ZS1ib2R5LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLTs7Ozs7IGNvdg0KLSAgIGAoY292 LWNvdmVyYWdlLW5vdC1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2Up KSkNCi0gICBgKGNvdi1jb3ZlcmFnZS1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4taW50ZW5zZSkpKQ0KLSAgIGAoY292LWhlYXZ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAoY292LWxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAoY292LW1lZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAoY292LW5vbmUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQotOzs7OzsgY3BlcmwtbW9kZQ0KLSAgIGAoY3Bl cmwtbm9ub3ZlcnJpZGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1v dGhlcikpKQ0KLSAgIGAoY3BlcmwtYXJyYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChjcGVy bC1oYXNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxyZWQtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBj c3YtbW9kZQ0KLSAgIGAoY3N2LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBjdHJsZg0KLSAg IGAoY3RybGYtaGlnaGxpZ2h0LWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt aW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLSAgIGAoY3RybGYtaGlnaGxpZ2h0LWxpbmUgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAoY3RybGYtaGlnaGxpZ2h0 LXBhc3NpdmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07 Ozs7OyBjdXN0b20gKE0teCBjdXN0b21pemUpDQotICAgYChjdXN0b20tYnV0dG9uICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjdXN0b20tYnV0dG9uLW1vdXNlICgoLGNsYXNzIDpi b3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpm b3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGN1c3RvbS1idXR0b24tcHJlc3NlZCAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHByZXNzZWQtYnV0dG9u KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1h Y3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGN1c3RvbS1jaGFuZ2VkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChjdXN0b20tY29t bWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjdXN0b20tY29tbWVu dC10YWcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dC1vdGhlcikpKQ0KLSAgIGAoY3VzdG9tLWZhY2UtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAoY3VzdG9tLWdyb3VwLXRhZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChj dXN0b20tZ3JvdXAtdGFnLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC13 YXJtKSkpDQotICAgYChjdXN0b20taW52YWxpZCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhl bWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCi0gICBgKGN1c3RvbS1tb2RpZmllZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoY3VzdG9tLXJvZ3VlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChjdXN0 b20tc2V0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY3VzdG9tLXN0 YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY3VzdG9t LXRoZW1lZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAg IGAoY3VzdG9tLXZhcmlhYmxlLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotOzs7OzsgZGFwLW1vZGUNCi0gICBgKGRhcC1tb3VzZS1ldmFsLXRoaW5nLWZh Y2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlLWFjdGl2ZSA6c3R5 bGUgbmlsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dy b3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChkYXAtcmVzdWx0 LW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJnLWFj dGl2ZSA6c3R5bGUgbmlsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGFw LXVpLWJyZWFrcG9pbnQtdmVyaWZpZWQtZnJpbmdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZGFwLXVpLWNvbXBpbGUtZXJybGluZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAo ZGFwLXVpLWxvY2Fscy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQotICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAo ZGFwLXVpLWxvY2Fscy12YXJpYWJsZS1sZWFmLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGRhcC11aS1tYXJrZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoZGFwLXVp LXNlc3Npb25zLXN0YWNrLWZyYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRhcC11aS1zZXNzaW9ucy10ZXJtaW5hdGVkLWFj dGl2ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAoZGFwLXVpLXNlc3Npb25zLXRlcm1pbmF0ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotOzs7OzsgZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQotICAgYChk YXNoYm9hcmQtYmFubmVyLWxvZ28tdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkYXNoYm9hcmQtZm9vdGVyICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoZGFz aGJvYXJkLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQotICAgYChkYXNoYm9hcmQtbmF2aWdhdG9yICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGFzaGJvYXJkLXRleHQtYmFubmVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi07Ozs7OyBkZWFkZ3JlcA0KLSAgIGAoZGVhZGdy ZXAtZmlsZW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKGRlYWRncmVwLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChkZWFkZ3JlcC1tZXRhLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGVhZGdyZXAtcmVnZXhwLW1l dGFjaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWlu dGVuc2UpKSkNCi0gICBgKGRlYWRncmVwLXNlYXJjaC10ZXJtLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLTs7Ozs7IGRlYmJ1Z3MNCi0g ICBgKGRlYmJ1Z3MtZ251LWFyY2hpdmVkICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0g ICBgKGRlYmJ1Z3MtZ251LWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoZGViYnVncy1nbnUtZm9yd2FyZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi0gICBgKGRlYmJ1Z3MtZ251LWhhbmRsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuKSkpDQotICAgYChkZWJidWdzLWdudS1uZXcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtcGVuZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LW51YW5jZWQpKSkNCi0gICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtMyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtNCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3Rh bGUtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGViYnVncy1nbnUt dGFnZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IGRlZmlu ZS13b3JkDQotICAgYChkZWZpbmUtd29yZC1mYWNlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KLSAgIGAoZGVmaW5lLXdvcmQtZmFjZS0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotOzs7OzsgZGVmdA0KLSAgIGAoZGVmdC1maWx0ZXItc3RyaW5nLWVycm9yLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAoZGVm dC1maWx0ZXItc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2Up KSkNCi0gICBgKGRlZnQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChkZWZ0LXNlcGFyYXRvci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGRlZnQtc3VtbWFyeS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZGVmdC10aW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAoZGVmdC10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBkaWN0aW9uYXJ5DQotICAgYChkaWN0aW9uYXJ5LWJ1dHRv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAoZGljdGlvbmFyeS1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGRpY3Rpb25hcnktd29yZC1kZWZp bml0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpY3Rp b25hcnktd29yZC1lbnRyeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGRpZmYtaGwNCi0gICBgKGRp ZmYtaGwtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cp KSkNCi0gICBgKGRpZmYtaGwtZGVsZXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS1yZWQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0 IGRpZmYtaGwtY2hhbmdlKSkpDQotICAgYChkaWZmLWhsLWRpcmVkLWRlbGV0ZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaWZmLWhsLWRlbGV0ZSkpKQ0KLSAgIGAoZGlmZi1obC1kaXJlZC1pZ25vcmVkICgo LGNsYXNzIDppbmhlcml0IGRpcmVkLWlnbm9yZWQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtaW5z ZXJ0ICgoLGNsYXNzIDppbmhlcml0IGRpZmYtaGwtaW5zZXJ0KSkpDQotICAgYChkaWZmLWhsLWRp cmVkLXVua25vd24gKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KLSAgIGAoZGlm Zi1obC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkp DQotICAgYChkaWZmLWhsLXJldmVydGVkLWh1bmstaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSBib2xkKSkpKQ0KLTs7Ozs7IGRpZmYtbW9kZQ0K LSAgIGAoZGlmZi1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVk KSkpDQotICAgYChkaWZmLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlm Zi1jaGFuZ2VkKSkpDQotICAgYChkaWZmLWNvbnRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCkpKQ0KLSAgIGAoZGlmZi1maWxlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaWZmLWZ1bmN0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGRpZmYtaGVhZGVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGRpZmYtaHVuay1oZWFkZXIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nKSkpDQotICAgYChkaWZmLWlu ZGV4ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAg YChkaWZmLWluZGljYXRvci1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWFkZGVkKSkpDQot ICAgYChkaWZmLWluZGljYXRvci1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IGRpZmYtY2hhbmdl ZCkpKQ0KLSAgIGAoZGlmZi1pbmRpY2F0b3ItcmVtb3ZlZCAoKCxjbGFzcyA6aW5oZXJpdCBkaWZm LXJlbW92ZWQpKSkNCi0gICBgKGRpZmYtbm9uZXhpc3RlbnQgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLW5ldXRyYWwgYm9sZCkpKSkNCi0gICBgKGRpZmYtcmVmaW5lLWFkZGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkKSkpDQotICAgYChkaWZm LXJlZmluZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5l LWNoYW5nZWQpKSkNCi0gICBgKGRpZmYtcmVmaW5lLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KLSAgIGAoZGlmZi1yZW1vdmVkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLTs7Ozs7IGRpbS1h dXRvbG9hZA0KLSAgIGAoZGltLWF1dG9sb2FkLWNvb2tpZS1saW5lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGRpci10cmVl dmlldw0KLSAgIGAoZGlyLXRyZWV2aWV3LWFyY2hpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChkaXItdHJlZXZpZXctYXJjaGl2ZS1pY29uLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpci10cmVldmlldy1hdWRpby1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChkaXItdHJlZXZpZXctYXVkaW8taWNvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRpci10cmVldmlldy1jb250cm9sLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWNvbnRy b2wtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGlnaHQpKSkNCi0gICBgKGRpci10 cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmYW1pbHkg IkZvbnQgQXdlc29tZSIgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3 LWRlZmF1bHQtZmlsZW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotICAgYChkaXItdHJlZXZpZXctZGlyZWN0b3J5LWljb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJsZS1pY29uLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRlZmF1bHQtaWNvbi1mYWNlIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZpZXctaW1hZ2UtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChkaXItdHJlZXZp ZXctaW1hZ2UtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1kZWZhdWx0 LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXct aW5kZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyLXRy ZWV2aWV3LWxhYmVsLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaGlnaGxpZ2h0KSkpDQot ICAgYChkaXItdHJlZXZpZXctc3RhcnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXN5bWxpbmstZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGRpci10 cmVldmlldy12aWRlby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXZpZGVvLWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotOzs7OzsgZGlyZWQNCi0gICBgKGRpcmVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZGlyZWQtZmxhZ2dlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWQtaGVhZGVyICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkNCi0gICBgKGRpcmVkLWlnbm9yZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGlyZWQtbWFyayAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAoZGlyZWQtbWFya2Vk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQotICAgYChkaXJlZC1w ZXJtLXdyaXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KGRpcmVkLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KLSAgIGAoZGlyZWQtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBkaXJlZC1hc3luYw0KLSAgIGAoZGlyZWQtYXN5bmMt ZmFpbHVyZXMgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkaXJlZC1hc3luYy1tZXNzYWdlICgoLGNs YXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWN0aXZlKSkpDQotICAgYChkaXJlZC1hc3luYy1tb2RlLW1lc3NhZ2UgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2 ZSkpKQ0KLTs7Ozs7IGRpcmVkLWdpdA0KLSAgIGAoZGlyZWQtZ2l0LWJyYW5jaC1lbHNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChkaXJl ZC1naXQtYnJhbmNoLW1hc3RlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGRpcmVkLWdpdC1pbmZvDQotICAgYChkZ2ktY29t bWl0LW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkp DQotOzs7OzsgZGlyZWQtbmFycm93DQotICAgYChkaXJlZC1uYXJyb3ctYmxpbmsgKCgsY2xhc3Mg OmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQpKSkpDQotOzs7OzsgZGlyZWQt c3VidHJlZQ0KLSAgIDs7IHJlbW92ZSBiYWNrZ3JvdW5kIGZyb20gZGlyZWQtc3VidHJlZSwgZWxz ZSBpdCBicmVha3MNCi0gICA7OyBkaXJlZC17ZmxhZ2dlZCxtYXJrZWR9IGFuZCBhbnkgb3RoZXIg ZmFjZSB0aGF0IHNldHMgYSBiYWNrZ3JvdW5kDQotICAgOzsgc3VjaCBhcyBobC1saW5lDQotICAg YChkaXJlZC1zdWJ0cmVlLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkN Ci0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5p bCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgbmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNS1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC02LWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgbmlsKSkpDQotOzs7OzsgZGlyZWRmbA0KLSAgIGAoZGlyZWRmbC1h dXRvZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkp KQ0KLSAgIGAoZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChkaXJlZGZsLWNvbXByZXNzZWQtZmlsZS1zdWZm aXggKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGRpcmVkZmwtZGF0ZS10 aW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyZWRm bC1kZWxldGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAg IGAoZGlyZWRmbC1kZWxldGlvbi1maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtbWFyay1kZWwpKSkNCi0gICBgKGRpcmVkZmwtZGlyLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyZWRmbC1kaXItbmFtZSAo KCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1kaXJlY3RvcnkpKSkNCi0gICBgKGRpcmVkZmwtZGlyLXBy aXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChkaXJlZGZsLWV4ZWMt cHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZGlyZWRmbC1leGVj dXRhYmxlLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRp cmVkZmwtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChk aXJlZGZsLWZpbGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChk aXJlZGZsLWZsYWctbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkp KQ0KLSAgIGAoZGlyZWRmbC1mbGFnLW1hcmstbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAoZGlyZWRmbC1pZ25vcmVkLWZpbGUtbmFtZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZsLWxpbmstcHJpdiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGRpcmVkZmwtbm8tcHJpdiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZsLW51bWJlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGRpcmVkZmwtb3RoZXItcHJpdiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkaXJlZGZsLXJhcmUtcHJpdiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZGlyZWRmbC1yZWFkLXByaXYg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGRpcmVkZmwtc3ltbGluayAo KCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1zeW1saW5rKSkpDQotICAgYChkaXJlZGZsLXRhZ2dlZC1h dXRvZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRh KSkpDQotICAgYChkaXJlZGZsLXdyaXRlLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4p KSkNCi07Ozs7OyBkaXNrLXVzYWdlDQotICAgYChkaXNrLXVzYWdlLWNoaWxkcmVuICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpc2stdXNhZ2UtaW5hY2Nlc3NpYmxlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZGlzay11c2Fn ZS1wZXJjZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZGlzay11c2Fn ZS1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkaXNrLXVzYWdlLXN5 bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAg YChkaXNrLXVzYWdlLXN5bWxpbmstZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgZG9vbS1tb2RlbGluZQ0KLSAgIGAoZG9vbS1t b2RlbGluZS1iYXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtYmFyLWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxm Zy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1i YXR0ZXJ5LWNoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0g ICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1jcml0aWNhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnkt ZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAtMikNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAscmVkLWFj dGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWZ1bGwgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktbm9ybWFs ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUt YmF0dGVyeS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5l LWJ1ZmZlci1tYWpvci1tb2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1taW5vci1tb2RlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1idWZm ZXItbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLXBhdGggKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWRl YnVnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtZGVidWctdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1lbWFj cy1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLWluc2VydC1zdGF0ZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxp bmUtZXZpbC1tb3Rpb24tc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctaW5hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1ub3JtYWwtc3RhdGUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChkb29t LW1vZGVsaW5lLWV2aWwtb3BlcmF0b3Itc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1yZXBsYWNl LXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC12aXN1YWwtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtaGln aGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQotICAgYChkb29tLW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAg IGAoZG9vbS1tb2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUp KSkNCi0gICBgKGRvb20tbW9kZWxpbmUtbHNwLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtbHNwLXN1Y2Nl c3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQot ICAgYChkb29tLW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGFuZWwgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGRvb20tbW9k ZWxpbmUtcGVyc3AtYnVmZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFjdGl2ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXBlcnNwLW5h bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGlu ZS1wcm9qZWN0LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFj dGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LXBhcmVudC1kaXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLXByb2plY3Qt cm9vdC1kaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1t b2RlbGluZS11bnJlYWQtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUgOnNs YW50IGl0YWxpYykpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS11cmdlbnQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS13 YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUp KSkNCi07Ozs7OyBkeW5hbWljLXJ1bGVyDQotICAgYChkeW5hbWljLXJ1bGVyLW5lZ2F0aXZlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAg YChkeW5hbWljLXJ1bGVyLXBvc2l0aXZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS15ZWxsb3cpKSkNCi07Ozs7OyBlYXN5LWpla3lsbA0KLSAgIGAoZWFzeS1qZWt5 bGwtaGVscC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotOzs7OzsgZWFzeS1raWxsDQotICAgYChlYXN5LWtpbGwtb3JpZ2lu ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKGVhc3kt a2lsbC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxv dykpKQ0KLTs7Ozs7IGViZGINCi0gICBgKGViZGItYWRkcmVzcy1kZWZhdWx0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlYmRiLWRiLWNoYXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZWJkYi1kZWZ1bmN0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGViZGItZmllbGQtaGlkZGVuICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlYmRiLWZpZWxkLXVybCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZWJkYi1sYWJlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGViZGItbWFpbC1kZWZhdWx0ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlYmRiLW1haWwtcHJpbWFyeSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGViZGItbWFya2VkICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBgKGViZGItb3JnYW5pemF0aW9uLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZWJkYi1wZXJzb24t bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGVi ZGItcGhvbmUtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQotICAgYChlYmRiLXJvbGUtZGVmdW5jdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChlaWVpby1jdXN0b20tc2xvdC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLTs7Ozs7IGVkaWZmDQotICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9t IHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0aGUNCi0gICA7OyBtb2R1cy10aGVtZS1k aWZmLSogZmFjZXMuDQotICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQSAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1kaW0gcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi Zy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZWQtbnVhbmNlZC1iZyByZWQtZmFpbnQpKSkpDQotICAgYChlZGlmZi1j dXJyZW50LWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZGlm Zg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBm Zy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1zcGVjaWFsLWNvbGQgZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUpKSkpDQotICAg YChlZGlmZi1jdXJyZW50LWRpZmYtQiAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1k aWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZ3JlZW4N Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmct ZGlmZi1hZGRlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4t bnVhbmNlZC1iZyBncmVlbi1mYWludCkpKSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1DICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJnLWRpbSB5ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJnLWRpZmYtY2hhbmdlZCBmZy1kaWZmLWNoYW5nZWQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1udWFuY2VkLWJnIHllbGxvdy1m YWludCkpKSkNCi0gICBgKGVkaWZmLWV2ZW4tZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBg KGVkaWZmLWV2ZW4tZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1u ZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotICAgYChlZGlmZi1l dmVuLWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZvcmVn cm91bmQgLGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotICAgYChlZGlmZi1ldmVuLWRpZmYtQyAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYt bmV1dHJhbC0yKSkpDQotICAgYChlZGlmZi1maW5lLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGlmZi1mb2N1cy1yZW1vdmVkIDpmb3JlZ3JvdW5kICxmZy1kaWZmLWZvY3VzLXJlbW92 ZWQpKSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtZm9jdXMtYWRkZWQgOmZvcmVncm91bmQgLGZnLWRpZmYt Zm9jdXMtYWRkZWQpKSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaWZmLWZvY3VzLWNoYW5nZWQgOmZvcmVncm91bmQgLGZnLWRpZmYtZm9jdXMtY2hh bmdlZCkpKQ0KLSAgIGAoZWRpZmYtb2RkLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQotICAgYChl ZGlmZi1vZGQtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0 cmFsLTAgOmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0wKSkpDQotICAgYChlZGlmZi1vZGQt ZGlmZi1CICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3Vu ZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUMgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRy YWwtMSkpKQ0KLTs7Ozs7IGVnbG90DQotICAgYChlZ2xvdC1tb2RlLWxpbmUgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFj dGl2ZSkpKQ0KLTs7Ozs7IGVsLXNlYXJjaA0KLSAgIGAoZWwtc2VhcmNoLWhpZ2hsaWdodC1pbi1w cm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KLSAgIGAoZWwtc2VhcmNoLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGVsLXNlYXJjaC1vdGhlci1tYXRjaCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGVsLXNlYXJjaC1vY2N1 ci1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi07 Ozs7OyBlbGRvYw0KLSAgIDs7IE5PVEU6IHNlZSBodHRwczovL2dpdGh1Yi5jb20vcHVyY2VsbC9w YWNrYWdlLWxpbnQvaXNzdWVzLzE4Nw0KLSAgIChsaXN0ICdlbGRvYy1oaWdobGlnaHQtZnVuY3Rp b24tYXJndW1lbnQgYCgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0 LW90aGVyKSkpDQotOzs7OzsgZWxkb2MtYm94DQotICAgYChlbGRvYy1ib3gtYm9keSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlbGRv Yy1ib3gtYm9yZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBlbGZl ZWQNCi0gICBgKGVsZmVlZC1sb2ctZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1kZWJ1Zy1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlbGZlZWQtbG9nLWVycm9yLWxldmVsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1pbmZvLWxldmVsLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChlbGZlZWQtbG9nLXdhcm4t bGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChlbGZlZWQt c2VhcmNoLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQot ICAgYChlbGZlZWQtc2VhcmNoLWZlZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1maWx0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1sYXN0 LXVwZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAo ZWxmZWVkLXNlYXJjaC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk KSkpDQotICAgYChlbGZlZWQtc2VhcmNoLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC11bnJlYWQtY291bnQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChlbGZlZWQtc2VhcmNoLXVucmVh ZC10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi07Ozs7OyBlbGZlZWQtc2NvcmUNCi0gICBgKGVsZmVlZC1zY29yZS1kYXRlLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVsZmVlZC1zY29yZS1kZWJ1Zy1sZXZl bC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo ZWxmZWVkLXNjb3JlLWVycm9yLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAoZWxmZWVkLXNjb3JlLWluZm8tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAoZWxmZWVkLXNjb3JlLXdhcm4tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgZW1tcw0KLSAgIGAoZW1tcy1wbGF5bGlzdC10 cmFjay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlbW1zLXBsYXls aXN0LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLTs7Ozs7IGVuaGFuY2VkLXJ1YnktbW9kZQ0KLSAgIGAoZW5oLXJ1YnktaGVyZWRv Yy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN Ci0gICBgKGVuaC1ydWJ5LW9wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGVuaC1ydWJ5LXJlZ2V4cC1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKGVuaC1ydWJ5LXJlZ2V4cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChlbmgtcnVieS1zdHJpbmctZGVsaW1pdGVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChlcm0tc3luLWVycmxpbmUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGVybS1zeW4td2Fy bmxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyBlcGENCi0gICBgKGVwYS1maWVsZC1ib2R5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChlcGEtZmllbGQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkNCi0gICBgKGVwYS1tYXJrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVwYS1zdHJpbmcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChlcGEtdmFsaWRpdHktZGlzYWJsZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWhpZ2gg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQot ICAgYChlcGEtdmFsaWRpdHktbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKGVwYS12YWxpZGl0eS1tZWRpdW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkp KQ0KLTs7Ozs7IGVxdWFrZQ0KLSAgIGAoZXF1YWtlLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlcXVha2Utc2hl bGwtdHlwZS1lc2hlbGwgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3Jv dW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXJhc2ggKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQot ICAgYChlcXVha2Utc2hlbGwtdHlwZS1zaGVsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5h Y3RpdmUgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlw ZS10ZXJtICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAseWVs bG93LWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtdnRlcm0gKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAg IGAoZXF1YWtlLXRhYi1hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdy b3VuZCAsYmctYWx0KSkpDQotICAgYChlcXVha2UtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IGVyYw0KLSAgIGAoZXJjLWFjdGlvbi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVyYy1i b2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoZXJjLWJ1dHRvbiAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKGVyYy1jb21tYW5kLWluZGljYXRvci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChl cmMtY3VycmVudC1uaWNrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChlcmMtZGFuZ2Vyb3VzLWhvc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoZXJjLWRpcmVjdC1tc2ctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXJjLWVycm9yLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlcmMtZm9vbC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZXJjLWhlYWRlci1s aW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRl cikpKQ0KLSAgIGAoZXJjLWlucHV0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY2FsbSkpKQ0KLSAgIGAoZXJjLWludmVyc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMt ZGVmYXVsdC1mYWNlIDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKGVyYy1rZXl3b3JkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KGVyYy1teS1uaWNrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoZXJjLW15LW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg ZXJjLW15LW5pY2stZmFjZSkpKQ0KLSAgIGAoZXJjLW5pY2stZGVmYXVsdC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGVyYy1uaWNrLW1zZy1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChl cmMtbmljay1wcmVmaXgtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcmMtbmljay1kZWZhdWx0LWZh Y2UpKSkNCi0gICBgKGVyYy1ub3RpY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5m b2N1c2VkKSkpDQotICAgYChlcmMtcGFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZXJjLXByb21wdC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChlcmMtdGltZXN0 YW1wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZXJj LXVuZGVybGluZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYmc6ZXJjLWNv bG9yLWZhY2UwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJ3aGl0ZSIpKSkNCi0gICBgKGJnOmVyYy1j b2xvci1mYWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAiYmxhY2siKSkpDQotICAgYChiZzplcmMt Y29sb3ItZmFjZTEwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZykpKQ0KLSAg IGAoYmc6ZXJjLWNvbG9yLWZhY2UxMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNl LWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTEyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi bHVlLXN1YnRsZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMyAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsbWFnZW50YS1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTQg KCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk2MCIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNl MTUgKCgsY2xhc3MgOmJhY2tncm91bmQgImdyYXk4MCIpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1m YWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnKSkpDQotICAgYChiZzpl cmMtY29sb3ItZmFjZTMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkN Ci0gICBgKGJnOmVyYy1jb2xvci1mYWNlNCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1YnRs ZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U1ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxy ZWQtaW50ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U2ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxtYWdlbnRhLXJlZmluZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U3ICgo LGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMtY29s b3ItZmFjZTggKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcpKSkNCi0gICBg KGJnOmVyYy1jb2xvci1mYWNlOSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tc3VidGxlLWJn KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTAgKCgsY2xhc3MgOmZvcmVncm91bmQgIndoaXRl IikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJibGFj ayIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEzICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxNCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAiZ3JheTYwIikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAiZ3JheTgwIikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9y LWZhY2UzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9y LWZhY2U0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1m YWNlNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9y LWZhY2U2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAo Zmc6ZXJjLWNvbG9yLWZhY2U3ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVy KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTggKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlOSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0LW90aGVyKSkpDQotOzs7OzsgZXJvcw0KLSAgIGAoZXJvcy1yZXN1bHQtb3Zlcmxh eS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCi07Ozs7OyBlcnQNCi0gICBgKGVydC10ZXN0LXJlc3VsdC1l eHBlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQot ICAgYChlcnQtdGVzdC1yZXN1bHQtdW5leHBlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IGVzaGVsbA0KLSAgIGAoZXNoZWxsLWxzLWFyY2hp dmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBg KGVzaGVsbC1scy1iYWNrdXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0g ICBgKGVzaGVsbC1scy1jbHV0dGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQot ICAgYChlc2hlbGwtbHMtZGlyZWN0b3J5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChlc2hlbGwtbHMtZXhlY3V0YWJsZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGVzaGVsbC1scy1taXNzaW5nICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChlc2hlbGwtbHMtcHJv ZHVjdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChlc2hl bGwtbHMtcmVhZG9ubHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAoZXNoZWxsLWxzLXNwZWNpYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXNoZWxsLWxzLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQg YnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChlc2hlbGwtbHMtdW5yZWFkYWJsZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQotICAgYChlc2hlbGwtcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LWJvbGQtd2VpZ2h0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1wcm9tcHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4t YWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQt YmcgZ3JlZW4tYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLXJlZmlu ZS1iZyBmZy1tYWluKSkpKQ0KLTs7Ozs7IGVzaGVsbC1mcmluZ2Utc3RhdHVzDQotICAgYChlc2hl bGwtZnJpbmdlLXN0YXR1cy1mYWlsdXJlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0g ICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLXN1Y2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdy ZWVuKSkpDQotOzs7OzsgZXNoZWxsLWdpdC1wcm9tcHQNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0 LWFkZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVzaGVsbC1n aXQtcHJvbXB0LWJyYW5jaC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0g ICBgKGVzaGVsbC1naXQtcHJvbXB0LWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1leGl0LWZhaWwtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1leGl0LXN1Y2Nl c3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGVzaGVsbC1naXQt cHJvbXB0LW1vZGlmaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAoZXNoZWxsLWdpdC1wcm9tcHQtcG93ZXJsaW5lLWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGdyZWVuLXJlZmluZS1iZykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcG93ZXJs aW5lLWRpci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXJlZmluZS1iZykpKQ0KLSAg IGAoZXNoZWxsLWdpdC1wcm9tcHQtcG93ZXJsaW5lLW5vdC1jbGVhbi1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1iZykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQt cm9ieXJ1c3NlbGwtYnJhbmNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtZ2l0LWRpcnR5LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3Nl bGwtZ2l0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi07Ozs7OyBlc2hlbGwt cHJvbXB0LWV4dHJhcyAoZXBlKQ0KLSAgIGAoZXBlLWRpci1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAo ZXBlLWdpdC1kaXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0K LSAgIGAoZXBlLWdpdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAg IGAoZXBlLXBpcGVsaW5lLWRlbGltaXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1hbHQpKSkNCi0gICBgKGVwZS1waXBlbGluZS1ob3N0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUpKSkNCi0gICBgKGVwZS1waXBlbGluZS10aW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZXBlLXBpcGVsaW5lLXVzZXItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZXBlLXJlbW90ZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAoZXBlLXN0YXR1cy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KLSAgIGAoZXBlLXZlbnYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBlc2hlbGwtc3ludGF4LWhpZ2hs aWdodGluZw0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctYWxpYXMtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRp bmctY29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGVz aGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1lbnZ2YXItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGVzaGVsbC1zeW50 YXgtaGlnaGxpZ2h0aW5nLWludmFsaWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1saXNwLWZ1bmN0aW9uLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxp Z2h0aW5nLXNoZWxsLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLXN0cmluZy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGV2aWwtbW9kZQ0KLSAgIGAo ZXZpbC1leC1jb21tYW5kcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIp KSkNCi0gICBgKGV2aWwtZXgtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGV2aWwtZXgtbGF6eS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKGV2aWwtZXgtc2VhcmNoICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGV2aWwtZXgtc3Vic3Rp dHV0ZS1tYXRjaGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cg OnVuZGVybGluZSB0KSkpDQotICAgYChldmlsLWV4LXN1YnN0aXR1dGUtcmVwbGFjZW1lbnQgKCgs Y2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkpKSkNCi07Ozs7 OyBldmlsLWdvZ2dsZXMNCi0gICBgKGV2aWwtZ29nZ2xlcy1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChldmlsLWdvZ2dsZXMt Y29tbWVudGFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0 cmFsIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1kZWZh dWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkN Ci0gICBgKGV2aWwtZ29nZ2xlcy1kZWxldGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChldmlsLWdvZ2dsZXMtZmlsbC1hbmQtbW92ZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2 aWwtZ29nZ2xlcy1pbmRlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVm YXVsdC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMtam9pbi1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLW5lcmQt Y29tbWVudGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWNvbW1lbnRhcnkt ZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXBhc3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1yZWNvcmQtbWFj cm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0g ICBgKGV2aWwtZ29nZ2xlcy1yZXBsYWNlLXdpdGgtcmVnaXN0ZXItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLXNl dC1tYXJrZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2Vu dGEpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1zaGlmdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGV2 aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1zdXJyb3VuZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCi0gICBg KGV2aWwtZ29nZ2xlcy15YW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Vi dGxlLWJsdWUpKSkNCi07Ozs7OyBldmlsLXZpc3VhbC1tYXJrLW1vZGUNCi0gICBgKGV2aWwtdmlz dWFsLW1hcmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2Vu dGEpKSkNCi07Ozs7OyBld3cNCi0gICBgKGV3dy1pbnZhbGlkLWNlcnRpZmljYXRlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChld3ctdmFsaWQtY2VydGlmaWNhdGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZXd3LWZvcm0tY2hl Y2tib3ggKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWluYWN0aXZlIDpz dHlsZSByZWxlYXNlZC1idXR0b24pIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAoZXd3LWZvcm0tZmlsZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13 aWR0aCAxIDpjb2xvciAsZmctaW5hY3RpdmUgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikgOmJhY2tn cm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZXd3LWZvcm0t c2VsZWN0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWNoZWNrYm94KSkpDQotICAgYChld3ct Zm9ybS1zdWJtaXQgKCgsY2xhc3MgOmluaGVyaXQgZXd3LWZvcm0tZmlsZSkpKQ0KLSAgIGAoZXd3 LWZvcm0tdGV4dCAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAsZmctaW5hY3Rp dmUgOnN0eWxlIG5vbmUpIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFj dGl2ZSkpKQ0KLSAgIGAoZXd3LWZvcm0tdGV4dGFyZWEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGV5ZWJyb3dzZQ0KLSAgIGAoZXll YnJvd3NlLW1vZGUtbGluZS1hY3RpdmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hY3RpdmUpKSkNCi07Ozs7OyBmYW5jeS1kYWJicmV2DQotICAgYChmYW5jeS1kYWJi cmV2LW1lbnUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKGZhbmN5LWRhYmJyZXYtcHJldmlldy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQgOnVuZGVybGluZSB0KSkpDQotICAgYChmYW5jeS1kYWJicmV2LXNlbGVj dGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gYm9s ZCkpKSkNCi07Ozs7OyBmbHljaGVjaw0KLSAgIGAoZmx5Y2hlY2stZXJyb3INCi0gICAgICgoLChh cHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAg ICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQotICAg ICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGZseWNoZWNrLWVycm9yLWxpc3QtY2hlY2tlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1jb2x1bW4tbnVt YmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGZseWNo ZWNrLWVycm9yLWxpc3QtZXJyb3IgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9s ZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3Qt ZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZseWNoZWNrLWVy cm9yLWxpc3QtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUp KSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWlkLXdpdGgtZXhw bGFpbmVyICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWVycm9yLWxpc3QtaWQgOmJveCB0KSkp DQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC13 YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGZseWNoZWNrLWZy aW5nZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQot ICAgYChmbHljaGVjay1mcmluZ2UtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UtY3lhbikpKQ0KLSAgIGAoZmx5Y2hlY2stZnJpbmdlLXdhcm5pbmcgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZmx5Y2hlY2staW5mbw0K LSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBj bGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLW5vdGUgOnN0eWxlIHdh dmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKGZseWNoZWNrLXZlcmlmeS1zZWxlY3QtY2hlY2tlciAoKCxjbGFzcyA6Ym94 ICg6bGluZS13aWR0aCAxIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikpKSkNCi0g ICBgKGZseWNoZWNrLXdhcm5pbmcNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVy bGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAs ZmctbGFuZy13YXJuaW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1sYW5nLXdhcm5pbmcgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5Y2hlY2stY29sb3It bW9kZS1saW5lDQotICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtZXJyb3ItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2UtZXJyb3IpKSkNCi0gICBgKGZseWNoZWNrLWNv bG9yLW1vZGUtbGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZnJpbmdl LWluZm8pKSkNCi0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1ydW5uaW5nLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGZs eWNoZWNrLWNvbG9yLW1vZGUtbGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hl Y2stZnJpbmdlLXdhcm5pbmcpKSkNCi07Ozs7OyBmbHljaGVjay1pbmRpY2F0b3INCi0gICBgKGZs eWNoZWNrLWluZGljYXRvci1kaXNhYmxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9y LWVycm9yICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLWluZm8gKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxi bHVlLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXJ1bm5pbmcgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXN1Y2Nlc3MgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxncmVlbi1hY3Rp dmUpKSkNCi0gICBgKGZseWNoZWNrLWluZGljYXRvci13YXJuaW5nICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkp KQ0KLTs7Ozs7IGZseWNoZWNrLXBvc2ZyYW1lDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1iYWNr Z3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoZmx5Y2hl Y2stcG9zZnJhbWUtYm9yZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLW1haW4gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZmx5Y2hlY2stcG9zZnJhbWUtaW5mby1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLXdhcm5pbmctZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBmbHlt YWtlDQotICAgYChmbHltYWtlLWVycm9yDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1 bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29s b3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHltYWtlLW5vdGUNCi0g ICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xh c3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1ub3RlIDpzdHlsZSB3YXZl KSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUgOnVuZGVybGluZSB0 KSkpDQotICAgYChmbHltYWtlLXdhcm5pbmcNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMg OnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpj b2xvciAsZmctbGFuZy13YXJuaW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1sYW5nLXdhcm5pbmcgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5c3BlbGwN Ci0gICBgKGZseXNwZWxsLWR1cGxpY2F0ZQ0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6 dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNv bG9yICxmZy1sYW5nLXdhcm5pbmcgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWxhbmctd2FybmluZyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseXNwZWxsLWlu Y29ycmVjdA0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLWVycm9y IDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLWVycm9y IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGZseXNwZWxsLWNvcnJlY3QNCi0gICBgKGZseXNwZWxs LWNvcnJlY3QtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLWdyZWVuKSkpDQotOzs7OzsgZmx4DQotICAgYChmbHgtaGlnaGxpZ2h0LWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1t YWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1h Z2VudGEtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkp DQotOzs7OzsgZnJlZXplLWl0DQotICAgYChmcmVlemUtaXQtc2hvdyAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBmcm9n LW1lbnUNCi0gICBgKGZyb2ctbWVudS1hY3Rpb24ta2V5YmluZGluZy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZnJvZy1tZW51LWFjdGlvbnMtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZnJvZy1tZW51LWJvcmRl ciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChmcm9nLW1lbnUtY2Fu ZGlkYXRlcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChmcm9n LW1lbnUtcG9zZnJhbWUtYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aW0pKSkNCi0gICBgKGZyb2ctbWVudS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KLTs7Ozs7IGZvY3VzDQotICAgYChmb2N1cy11bmZvY3VzZWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLTs7Ozs7IGZvbGQtdGhpcw0KLSAgIGAoZm9sZC10 aGlzLW92ZXJsYXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkp DQotOzs7OzsgZm9udC1sb2NrDQotICAgYChmb250LWxvY2stYnVpbHRpbi1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1jb21tZW50LWRlbGltaXRl ci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAoZm9udC1sb2NrLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1j b25zdGFudC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFs dC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay1kb2MtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLXNwZWNpYWwtY29sZCBjeWFuLWFs dC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50 YS1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXIt ZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAoZm9udC1sb2NrLW5lZ2F0aW9uLWNo YXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cg eWVsbG93LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9j ay1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlZC1hbHQtb3RoZXIgcmVkLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9j ay1yZWdleHAtZ3JvdXBpbmctYmFja3NsYXNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KLSAgIGAoZm9udC1sb2NrLXJlZ2V4 cC1ncm91cGluZy1jb25zdHJ1Y3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctZXNjYXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChmb250LWxvY2stc3RyaW5nLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWlu dCkpKSkNCi0gICBgKGZvbnQtbG9jay10eXBlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYChmb250LWxv Y2stdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay13YXJuaW5nLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFjdGl2ZSB5ZWxsb3ct YWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi07Ozs7OyBmb3JnZQ0KLSAgIGAoZm9y Z2UtcG9zdC1hdXRob3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoZm9yZ2UtcG9zdC1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGZvcmdlLXRvcGljLWNsb3NlZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChmb3JnZS10b3BpYy1tZXJnZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZm9yZ2UtdG9waWMtb3BlbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChmb3JnZS10b3BpYy11bm1lcmdlZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChmb3JnZS10b3BpYy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLTs7Ozs7IGZvdW50YWluLW1vZGUNCi0gICBgKGZvdW50YWluLWNoYXJhY3Rl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGZvdW50YWlu LWNvbW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1l LXNsYW50KSkpDQotICAgYChmb3VudGFpbi1kaWFsb2cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0KSkpDQotICAgYChmb3VudGFpbi1tZXRhZGF0YS1rZXkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm91bnRhaW4tbWV0YWRhdGEtdmFsdWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZvdW50YWluLW5vbi1wcmludGluZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmb3VudGFpbi1ub3RlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZm91bnRhaW4tcGFnZS1icmVhayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQotICAgYChmb3VudGFpbi1wYWdlLW51bWJlciAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChmb3VudGFpbi1wYXJl biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZm91bnRhaW4tc2NlbmUtaGVh ZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkN Ci0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAs bW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1tYWluDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt c2NhbGUgbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGZvdW50YWluLXNl Y3Rpb24taGVhZGluZy0xICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12YXJp YWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLW1haW4NCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9w ZXJhbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmct MiAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRp LXRoZW1lLXNjYWxlLTMpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMyAoKCxj bGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLW1pbGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXNjYWxlLTIpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctNCAoKCxjbGFzcyA6 aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNhbG0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxl LTEpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctNSAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNhbG0pKSkNCi0gICBgKGZvdW50YWluLXN5bm9wc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAoZm91bnRhaW4tdHJhbnMgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hbHQtb3RoZXIpKSkNCi07Ozs7OyBnZWlzZXINCi0gICBgKGdlaXNlci1mb250LWxv Y2stYXV0b2RvYy1jdXJyZW50LWFyZyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKGdlaXNlci1m b250LWxvY2stYXV0b2RvYy1pZGVudGlmaWVyICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9u dC1sb2NrLWRvYy1idXR0b24gKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4 LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjeWFuLWFsdCBjeWFuLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stZG9j LWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1l cnJvci1saW5rICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFs dCByZWQtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1pbWFnZS1idXR0b24g KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdCBncmVl bi1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2stcmVwbC1pbnB1dCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtb3V0cHV0 ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90 aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1y ZXBsLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFu LWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGdlaXNlci1mb250LWxv Y2steHJlZi1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoZ2Vpc2VyLWZv bnQtbG9jay14cmVmLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLTs7Ozs7IGdpdC1j b21taXQNCi0gICBgKGdpdC1jb21taXQtY29tbWVudC1hY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0 LWNvbW1lbnQtYnJhbmNoLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtYnJhbmNo LXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWRldGFjaGVkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChnaXQtY29tbWl0LWNvbW1lbnQtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21taXQtY29t bWVudC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChnaXQtY29tbWl0LWtleXdvcmQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdpdC1jb21taXQta25vd24tcHNl dWRvLWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBg KGdpdC1jb21taXQtbm9uZW1wdHktc2Vjb25kLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1vdmVybG9uZy1zdW1tYXJ5 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKGdp dC1jb21taXQtcHNldWRvLWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAoZ2l0LWNvbW1pdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGN5YW4pKSkNCi07Ozs7OyBnaXQtZ3V0dGVyDQotICAgYChnaXQtZ3V0dGVyOmFkZGVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAgIGAoZ2l0LWd1dHRl cjpkZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0g ICBgKGdpdC1ndXR0ZXI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJp bmdlLXllbGxvdykpKQ0KLSAgIGAoZ2l0LWd1dHRlcjpzZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCi0gICBgKGdpdC1ndXR0ZXI6dW5jaGFuZ2Vk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQotOzs7Ozsg Z2l0LWd1dHRlci1mcg0KLSAgIGAoZ2l0LWd1dHRlci1mcjphZGRlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0ZXItZnI6ZGVsZXRl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChnaXQt Z3V0dGVyLWZyOm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15 ZWxsb3cpKSkNCi07Ozs7OyBnaXQte2d1dHRlcixmcmluZ2V9Kw0KLSAgIGAoZ2l0LWd1dHRlcist YWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAg YChnaXQtZ3V0dGVyKy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5n ZS1yZWQpKSkNCi0gICBgKGdpdC1ndXR0ZXIrLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1ndXR0ZXIrLXNlcGFyYXRvciAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KLSAgIGAoZ2l0LWd1 dHRlcistdW5jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdl bnRhKSkpDQotICAgYChnaXQtZ3V0dGVyLWZyKy1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0ZXItZnIrLWRlbGV0ZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZ2l0LWd1dHRl ci1mcistbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxv dykpKQ0KLTs7Ozs7IGdpdC1sZW5zDQotICAgYChnaXQtbGVucy1hZGRlZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZ2l0LWxlbnMtZGVsZXRlZCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGdpdC1sZW5z LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4xIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChnaXQtbGVucy1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdpdC1sZW5zLXJlbmFtZWQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLTs7Ozs7IGdpdC1yZWJhc2UNCi0g ICBgKGdpdC1yZWJhc2UtY29tbWVudC1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LXJlYmFzZS1j b21tZW50LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGlt IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1yZWJhc2UtZGVzY3JpcHRp b24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGdpdC1yZWJhc2UtaGFz aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi07Ozs7OyBnaXQtdGlt ZW1hY2hpbmUNCi0gICBgKGdpdC10aW1lbWFjaGluZS1jb21taXQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoZ2l0LXRpbWVtYWNoaW5l LW1pbmlidWZmZXItYXV0aG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KLSAgIGAoZ2l0LXRpbWVtYWNoaW5lLW1pbmlidWZmZXItZGV0YWlsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyBnaXQtd2Fsa3RyZWUNCi0gICBg KGdpdC13YWxrdHJlZS1jb21taXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkp DQotICAgYChnaXQtd2Fsa3RyZWUtc3ltbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv biA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ2l0LXdhbGt0cmVlLXRyZWUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLTs7Ozs7IGdudXMNCi0gICBgKGdudXMtYnV0 dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KLSAgIGAoZ251cy1jaXRlLTEgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChnbnVzLWNpdGUtMTAgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtMTEgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS0y ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChnbnVzLWNpdGUtMyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS01ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChnbnVzLWNpdGUtNiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGdudXMtY2l0ZS03ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZ251cy1jaXRlLTggKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS05ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtY2l0ZS1hdHRyaWJ1dGlv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbiA6c2xhbnQgaXRhbGljKSkpDQotICAgYChn bnVzLWVtcGhhc2lzLWhpZ2hsaWdodC13b3JkcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1t YWlsLTEtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChn bnVzLWdyb3VwLW1haWwtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMi1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTMgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtZ3JvdXAt bWFpbC0zLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoZ251cy1ncm91cC1tYWlsLWxvdyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC1sb3ctZW1wdHkg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91 cC1uZXdzLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKGdudXMtZ3JvdXAtbmV3cy0xLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikp KQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTItZW1wdHkgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0zICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3Vw LW5ld3MtMy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0g ICBgKGdudXMtZ3JvdXAtbmV3cy00ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGN5YW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTQtZW1wdHkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKGdu dXMtZ3JvdXAtbmV3cy01LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtbnVhbmNlZCkp KQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTYgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNi1lbXB0eSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtbG93ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQpKSkNCi0gICBgKGdudXMt Z3JvdXAtbmV3cy1sb3ctZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQp KSkNCi0gICBgKGdudXMtaGVhZGVyLWNvbnRlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4p KSkNCi0gICBgKGdudXMtaGVhZGVyLWZyb20gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIgOnVuZGVybGluZSBuaWwpKSkNCi0gICBgKGdudXMtaGVhZGVy LW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVzLWhlYWRlci1u ZXdzZ3JvdXBzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkp DQotICAgYChnbnVzLWhlYWRlci1zdWJqZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChnbnVzLXNlcnZlci1hZ2VudCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVzLXNlcnZl ci1jbG9zZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAoZ251cy1zZXJ2ZXItY2xvdWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQpKSkNCi0gICBgKGdudXMtc2VydmVyLWNsb3VkLWhvc3QgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKGdudXMtc2VydmVyLWRlbmll ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGdudXMt c2VydmVyLW9mZmxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93 KSkpDQotICAgYChnbnVzLXNlcnZlci1vcGVuZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdudXMtc2lnbmF0dXJlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1zcGxhc2gg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWNhbmNl bGxlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWFsdCkpKQ0KLSAgIGAoZ251 cy1zdW1tYXJ5LWhpZ2gtYW5jaWVudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXJlYWQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChnbnVzLXN1bW1h cnktaGlnaC10aWNrZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtdW5kb3dubG9hZGVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5 LWhpZ2gtdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ctYW5jaWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ctcmVhZCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3Vt bWFyeS1sb3ctdGlja2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnIDpzbGFu dCBpdGFsaWMpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1sb3ctdW5kb3dubG9hZGVkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGdu dXMtc3VtbWFyeS1sb3ctdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC1hbmNpZW50ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGdudXMtc3VtbWFy eS1ub3JtYWwtcmVhZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVz LXN1bW1hcnktbm9ybWFsLXRpY2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhl cikpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC11bmRvd25sb2FkZWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC11bnJlYWQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGdudXMtc3VtbWFyeS1zZWxlY3Rl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLTs7Ozs7IGdv bGRlbi1yYXRpby1zY3JvbGwtc2NyZWVuDQotICAgYChnb2xkZW4tcmF0aW8tc2Nyb2xsLWhpZ2hs aWdodC1saW5lLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgaGVsbQ0KLSAgIGAoaGVsbS1NLXgta2V5ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChoZWxtLWFjdGlvbiAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhlbG0tYm9va21h cmstYWRkcmVzc2Jvb2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAo aGVsbS1ib29rbWFyay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWZpbGUtbm90LWZvdW5kICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1i b29rbWFyay1nbnVzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoZWxt LWJvb2ttYXJrLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYCho ZWxtLWJvb2ttYXJrLW1hbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAg IGAoaGVsbS1ib29rbWFyay13M20gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChoZWxtLWJ1ZmZlci1hcmNoaXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4pKSkNCi0gICBgKGhlbG0tYnVmZmVyLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChoZWxtLWJ1ZmZlci1maWxlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoZWxtLWJ1ZmZlci1tb2RpZmllZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAoaGVsbS1idWZmZXItbm90 LXNhdmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChoZWxtLWJ1ZmZl ci1wcm9jZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoZWxtLWJ1 ZmZlci1zYXZlZC1vdXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGhlbG0tYnVmZmVyLXNpemUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1jYW5kaWRhdGUtbnVtYmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1jYW5kaWRhdGUtbnVtYmVy LXN1c3BlbmRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAo aGVsbS1jb21pbnQtcHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWN0aXZlKSkpDQotICAgYChoZWxtLWNvbWludC1wcm9tcHRzLXByb21wdGlkeCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZGVsZXRlLWFzeW5jLW1l c3NhZ2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUp KSkNCi0gICBgKGhlbG0tZW9iLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tZXNoZWxsLXByb21wdHMtYnVmZmVyLW5h bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1lc2hl bGwtcHJvbXB0cy1wcm9tcHRpZHggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkp DQotICAgYChoZWxtLWV0YWdzLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKGhlbG0tZmYtYmFja3VwLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1mZi1kZW5pZWQgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXJlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVkKSkpKQ0KLSAgIGAoaGVsbS1mZi1kaXJlY3RvcnkgKCgsY2xhc3MgOmlu aGVyaXQgaGVsbS1idWZmZXItZGlyZWN0b3J5KSkpDQotICAgYChoZWxtLWZmLWRpcnMgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGhl bG0tZmYtZG90dGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1mZi1kb3R0ZWQtc3lt bGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgKGJ1dHRvbiBoZWxtLWZmLWRvdHRlZC1k aXJlY3RvcnkpKSkpDQotICAgYChoZWxtLWZmLWV4ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoZWxtLWZmLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tZmYtZmlsZS1leHRlbnNpb24gKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1mZi1pbnZhbGlkLXN5bWxp bmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGhl bG0tZmYtcGlwZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUt bWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0 bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhKSkp KQ0KLSAgIGAoaGVsbS1mZi1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt ZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1yZWZpbmUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB5ZWxsb3ctYWx0LW90aGVyKSkpKQ0KLSAgIGAoaGVsbS1mZi1zb2NrZXQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tZmYtc3VpZCAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1yZWQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0KSkpKQ0KLSAgIGAoaGVsbS1mZi1zeW1saW5r ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaGVs bS1mZi10cnVlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0g ICBgKGhlbG0tZ3JlcC1jbWQtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1v dGhlcikpKQ0KLSAgIGAoaGVsbS1ncmVwLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLWdyZXAtZmluaXNoICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZ3JlcC1saW5lbm8g KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaGVsbS1ncmVw LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAg IGAoaGVsbS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChoZWxtLWhlYWRlci1saW5lLWxlZnQtbWFyZ2luICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYChoZWxt LWhpc3RvcnktZGVsZXRlZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXN1YnRsZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1pbnRlbnNlLXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1oaXN0b3J5LXJlbW90ZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1saXNwLWNvbXBsZXRpb24taW5mbyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChoZWxtLWxpc3At c2hvdy1jb21wbGV0aW9uICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNv bXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1zdWJ0bGUteWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3cNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYCho ZWxtLWxvY2F0ZS1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0K LSAgIGAoaGVsbS1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3Vi dGxlLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbg0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tbWF0Y2gtaXRlbSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCi0gICBg KGhlbG0tbWluaWJ1ZmZlci1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQgbWluaWJ1ZmZlci1wcm9t cHQpKSkNCi0gICBgKGhlbG0tbW9jY3VyLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24g OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChoZWxtLW1vZGUtcHJlZml4ICgo LGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1t YWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAg YChoZWxtLW5vbi1maWxlLWJ1ZmZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChoZWxtLXByZWZhcmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0g ICBgKGhlbG0tcmVzdW1lLW5lZWQtdXBkYXRlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQt bWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQtb3RoZXIpKSkpDQotICAgYChoZWxtLXNlbGVjdGlvbiAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5pbA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jv bGQpKSkpDQotICAgYChoZWxtLXNlbGVjdGlvbi1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoaGVsbS1zZXBhcmF0b3IgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAoaGVsbS10aW1lLXpvbmUtY3VycmVu dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGhlbG0tdGltZS16b25lLWhv bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhlbG0tc291cmNlLWhl YWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUg bW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGhlbG0tdG9wLWNvbHVtbnMg KCgsY2xhc3MgOmluaGVyaXQgaGVsbS1oZWFkZXIpKSkNCi0gICBgKGhlbG0tdWNzLWNoYXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tdmlzaWJs ZS1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotOzs7 OzsgaGVsbS1scy1naXQNCi0gICBgKGhlbG0tbHMtZ2l0LWFkZGVkLWNvcGllZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChoZWxtLWxzLWdpdC1hZGRl ZC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0K LSAgIGAoaGVsbS1scy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1scy1naXQtZGVsZXRlZC1hbmQt c3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYCho ZWxtLWxzLWdpdC1kZWxldGVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotICAgYChoZWxtLWxzLWdpdC1tb2RpZmllZC1hbmQtc3RhZ2VkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgYChoZWxtLWxzLWdpdC1tb2Rp ZmllZC1ub3Qtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAg IGAoaGVsbS1scy1naXQtcmVuYW1lZC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChoZWxtLWxzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgaGVsbS1zd2l0Y2gtc2hlbGwN Ci0gICBgKGhlbG0tc3dpdGNoLXNoZWxsLW5ldy1zaGVsbC1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3Ro ZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdi b2xkKSkpKQ0KLTs7Ozs7IGhlbG0teHJlZg0KLSAgIGAoaGVsbS14cmVmLWZpbGUtbmFtZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KGhlbG0teHJlZi1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KLTs7Ozs7IGhlbHBmdWwNCi0gICBgKGhlbHBmdWwtaGVhZGluZyAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi07Ozs7OyBoaWdobGlnaHQgcmVnaW9uIG9y IGFkLWhvYyByZWdleHANCi0gICBgKGhpLWJsYWNrLWIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZn LW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKGhpLWJsdWUgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KGhpLWJsdWUtYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkN Ci0gICBgKGhpLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQg LGdyZWVuIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGktZ3JlZW4tYiAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChoaS1waW5rICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQot ICAgYChoaS1yZWQtYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkp KQ0KLSAgIGAoaGkteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLHllbGxvdyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGhpZ2hsaWdodCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKGhpZ2hsaWdo dC1jaGFuZ2VzLWRlbGV0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKGhsLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aGwtbGluZSkpKQ0KLTs7Ozs7IGhpZ2hsaWdodC1ibG9ja3MNCi0gICBgKGhpZ2hsaWdodC1ibG9j a3MtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtMi1mYWNlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hs aWdodC1ibG9ja3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFs LWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVw dGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNhbG0gOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtNS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLXdhcm0gOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtNi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1zcGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhpZ2hsaWdo dC1ibG9ja3MtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC04LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGN5YW4tc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgaGlnaGxp Z2h0LWRlZmluZWQNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVkLWJ1aWx0aW4tZnVuY3Rpb24tbmFt ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoaWdobGlnaHQt ZGVmaW5lZC1mYWNlLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1tYWNyby1uYW1lLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoaWdobGlnaHQt ZGVmaW5lZC1zcGVjaWFsLWZvcm0tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtdmFyaWFibGUtbmFtZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWVzY2Fw ZS1zZXF1ZW5jZXMgKGBoZXMtbW9kZScpDQotICAgYChoZXMtZXNjYXBlLWJhY2tzbGFzaC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0 cnVjdCkpKQ0KLSAgIGAoaGVzLWVzY2FwZS1zZXF1ZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KLTs7Ozs7IGhp Z2hsaWdodC1pbmRlbnRhdGlvbg0KLSAgIGAoaGlnaGxpZ2h0LWluZGVudGF0aW9uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAoaGlnaGxpZ2h0LWlu ZGVudGF0aW9uLWN1cnJlbnQtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFj dGl2ZSkpKQ0KLTs7Ozs7IGhpZ2hsaWdodC1udW1iZXJzDQotICAgYChoaWdobGlnaHQtbnVtYmVy cy1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotOzs7Ozsg aGlnaGxpZ2h0LXN5bWJvbA0KLSAgIGAoaGlnaGxpZ2h0LXN5bWJvbC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IGhpZ2hsaWdodC10aGlu Zw0KLSAgIGAoaGlnaGxpZ2h0LXRoaW5nICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZv cmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBobC1kZWZpbmVkDQotICAgYChoZGVmZC1mdW5jdGlv bnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGhkZWZkLXVuZGVmaW5lZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAoaGRlZmQtdmFyaWFibGVzICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLTs7Ozs7IGhsLWZpbGwtY29sdW1uDQot ICAgYChobC1maWxsLWNvbHVtbi1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUg OmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLTs7Ozs7IGhsLXRvZG8NCi0gICBgKGhsLXRvZG8g KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgaHlkcmENCi0gICBgKGh5ZHJhLWZhY2UtYW1h cmFudGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAg YChoeWRyYS1mYWNlLWJsdWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCi0gICBgKGh5ZHJhLWZhY2UtcGluayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaHlkcmEtZmFjZS1yZWQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChoeWRyYS1mYWNlLXRlYWwg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGh5cGVy bGlzdA0KLSAgIGAoaHlwZXJsaXN0LWNvbmRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCi0gICBgKGh5cGVybGlzdC1oYXNodGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCi0gICBgKGh5cGVybGlzdC1vcGVyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCi0gICBgKGh5cGVybGlzdC1wYXJlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQtb3RoZXIpKSkNCi0gICBgKGh5cGVybGlzdC1xdW90ZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQpKSkNCi0gICBgKGh5cGVybGlzdC1yZWYgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChoeXBlcmxpc3Qtc3RhcnMgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXRhZyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChoeXBlcmxpc3QtdG9wbGV2ZWwgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGljb21wbGV0ZQ0KLSAgIGAoaWNv bXBsZXRlLWZpcnN0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEgYmctYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWN0 aXZlIGZnLW1haW4pKSkpDQotOzs7OzsgaWNvbXBsZXRlLXZlcnRpY2FsDQotICAgYChpY29tcGxl dGUtdmVydGljYWwtc2VwYXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07 Ozs7OyBpZG8tbW9kZQ0KLSAgIGAoaWRvLWZpcnN0LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJv bGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEgYmctYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctYWN0 aXZlIGZnLW1haW4pKSkpDQotICAgYChpZG8taW5jb21wbGV0ZS1yZWdleHAgKCgsY2xhc3MgOmlu aGVyaXQgZXJyb3IpKSkNCi0gICBgKGlkby1pbmRpY2F0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KLSAgIGAoaWRvLW9ubHktbWF0Y2ggKCgsY2xhc3Mg OmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdyZWVuIGdyZWVuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdyZWVuLWludGVuc2UtYmcgZmctbWFpbikpKSkNCi0gICBgKGlkby1zdWJkaXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGlkby12aXJ0dWFsICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBpZWRpdA0KLSAgIGAoaWVk aXQtb2NjdXJyZW5jZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkp KQ0KLSAgIGAoaWVkaXQtcmVhZC1vbmx5LW9jY3VycmVuY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCi07Ozs7OyBpZmxpcGINCi0gICBgKGlmbGlwYi1j dXJyZW50LWJ1ZmZlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQotICAgYChpZmxpcGItb3RoZXItYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGltZW51LWxpc3QNCi0gICBgKGltZW51LWxpc3QtZW50 cnktZmFjZS0wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChpbWVudS1saXN0 LWVudHJ5LWZhY2UtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaW1lbnUt bGlzdC1lbnRyeS1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQpKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0wICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTEgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGlt ZW51LWxpc3QtZW50cnktc3ViYWxpc3QtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGltZW51LWxp c3QtZW50cnktc3ViYWxpc3QtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgaW5kaXVtDQotICAgYChp bmRpdW0tYnJlYWtwb2ludC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkp DQotICAgYChpbmRpdW0tZnJhbWUtdXJsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGluZGl1bS1rZXl3b3JkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbmRpdW0tbGl0YWJsZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0gOnNsYW50ICxtb2R1cy10 aGVtZS1zbGFudCkpKQ0KLSAgIGAoaW5kaXVtLXJlcGwtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGluZGl1bS1yZXBsLXByb21wdC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoaW5kaXVt LXJlcGwtc3Rkb3V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7 OyBpbmZvDQotICAgYChJbmZvLXF1b3RlZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpIDsgdGhlIGNhcGl0YWxpc2F0aW9uIGlzIGNhbm9uaWNhbA0KLSAgIGAoaW5mby1o ZWFkZXItbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKGluZm8taGVhZGVyLXhyZWYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZl KSkpDQotICAgYChpbmZvLWluZGV4LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNoKSkpDQot ICAgYChpbmZvLW1lbnUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRp bmctMykpKQ0KLSAgIGAoaW5mby1tZW51LXN0YXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAoaW5mby1ub2RlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGluZm8t dGl0bGUtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBg KGluZm8tdGl0bGUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkN Ci0gICBgKGluZm8tdGl0bGUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5n LTMpKSkNCi0gICBgKGluZm8tdGl0bGUtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTQpKSkNCi07Ozs7OyBpbmZvLWNvbG9ycw0KLSAgIGAoaW5mby1jb2xvcnMtbGlzcC1j b2RlLWJsb2NrICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoKSkpDQotICAgYChpbmZvLWNv bG9ycy1yZWYtaXRlbS1jb21tYW5kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQot ICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1jb25zdGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWZ1bmN0aW9uICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRl bS1tYWNybyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRl bS1vdGhlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW5mby1jb2xvcnMt cmVmLWl0ZW0tc3BlY2lhbC1mb3JtICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJv bGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZm8t Y29sb3JzLXJlZi1pdGVtLXN5bnRheC1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXVzZXItb3B0aW9u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRl bS12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGludGVyYWN0 aW9uLWxvZw0KLSAgIGAoaWxvZy1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGlsb2ctY2hhbmdlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChpbG9nLWVjaG8tZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaWxvZy1sb2FkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChpbG9nLW1lc3NhZ2UtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChpbG9nLW5vbi1jaGFuZ2UtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7Ozs7IGlvY2N1cg0KLSAgIGAoaW9jY3VyLWN1 cnNvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaW9jY3VyLWludmFs aWQtcmVnZXhwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGlvY2N1ci1tYXRj aC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAg IGAoaW9jY3VyLW1hdGNoLW92ZXJsYXktZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49IGVtYWNzLW1h am9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAg YChpb2NjdXItbnVtLWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQotICAgYChpb2NjdXItb3ZlcmxheS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1h Y3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAo aW9jY3VyLXJlZ2V4cC1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNl LW1hZ2VudGEgYm9sZCkpKSkNCi0gICBgKGlvY2N1ci10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1l LXNjYWxlLTQpKSkpDQotOzs7OzsgaXNlYXJjaCwgb2NjdXIsIGFuZCB0aGUgbGlrZQ0KLSAgIGAo aXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xk KSkpKQ0KLSAgIGAoaXNlYXJjaC1mYWlsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1yZWQpKSkNCi0gICBgKGxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChtYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKHF1ZXJ5LXJlcGxhY2UgKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93IGJvbGQpKSkpDQotOzs7OzsgaXZ5DQot ICAgYChpdnktYWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQpKSkNCi0gICBgKGl2eS1jb21wbGV0aW9ucy1hbm5vdGF0aW9ucyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBg KGl2eS1jb25maXJtLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGl2 eS1jdXJyZW50LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNv bXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1pbnRlbnNlLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG5pbA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkp DQotICAgYChpdnktY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3JlZ3Jv dW5kICxiZy1tYWluKSkpDQotICAgYChpdnktZ3JlcC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAoaXZ5LWdyZXAtbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoaXZ5LWhpZ2hsaWdodC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpdnktbWF0Y2gtcmVxdWlyZWQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gt ZmFjZS0xICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25z DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXN1YnRsZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWFsdCkpKSkN Ci0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4NCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWdy ZWVuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLW51YW5jZWQtZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZh Y2UtMyAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1yZWZpbmUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAo aXZ5LW1pbmlidWZmZXItbWF0Y2gtZmFjZS00ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRh DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1o aWdobGlnaHQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtZXh0cmEtY29tcGxldGlv bnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1 ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUt YWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ2JvbGQpKSkpDQotICAgYChpdnktbW9kaWZpZWQtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LW1vZGlm aWVkLW91dHNpZGUtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDpzbGFu dCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGl2eS1vcmcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChpdnktcHJvbXB0LW1hdGNoICgoLGNsYXNzIDpp bmhlcml0IGl2eS1jdXJyZW50LW1hdGNoKSkpDQotICAgYChpdnktcmVtb3RlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpdnktc2VwYXJhdG9yICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGl2eS1zdWJkaXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChpdnktdmlydHVhbCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGl2eS15YW5rZWQtd29yZCAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCkpKSkNCi07Ozs7OyBpdnktcG9z ZnJhbWUNCi0gICBgKGl2eS1wb3NmcmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChpdnktcG9zZnJhbWUtYm9yZGVyICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKGl2eS1wb3NmcmFtZS1jdXJzb3IgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLGJnLW1haW4pKSkNCi07Ozs7 OyBqaXJhIChvcmctamlyYSkNCi0gICBgKGppcmFsaWItY29tbWVudC1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGppcmFsaWItY29tbWVudC1oZWFkZXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChqaXJhbGliLWlzc3VlLWluZm8tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGppcmFs aWItaXNzdWUtaW5mby1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt c3BlY2lhbC13YXJtIGJvbGQpKSkpDQotICAgYChqaXJhbGliLWlzc3VlLXN1bW1hcnktZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChqaXJhbGliLWxpbmstZmlsdGVyLWZhY2Ug KCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChqaXJhbGliLWxpbmstaXNzdWUtZmFjZSAo KCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGppcmFsaWItbGluay1wcm9qZWN0LWZhY2Ug KCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQotOzs7Ozsgam91cm5hbGN0bC1tb2RlDQotICAgYChq b3VybmFsY3RsLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotICAgYChqb3VybmFsY3RsLWZpbmlzaGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGpvdXJuYWxjdGwtaG9zdC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChqb3VybmFsY3RsLXByb2Nlc3MtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGpvdXJuYWxj dGwtc3RhcnRpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGpv dXJuYWxjdGwtdGltZXN0YW1wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAoam91cm5hbGN0bC13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsganMyLW1vZGUNCi0gICBgKGpzMi1l cnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChqczItZXh0ZXJuYWwtdmFy aWFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChqczIt ZnVuY3Rpb24tY2FsbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoanMy LWZ1bmN0aW9uLXBhcmFtICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChqczIt aW5zdGFuY2UtbWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLSAgIGAoanMyLWpzZG9jLWh0bWwtdGFnLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAoanMyLWpzZG9jLWh0bWwtdGFnLW5hbWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGpzMi1qc2RvYy10YWcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoanMyLWpzZG9jLXR5cGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoanMyLWpzZG9jLXZhbHVlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGpzMi1vYmplY3QtcHJv cGVydHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGpzMi1vYmplY3Qt cHJvcGVydHktYWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChq czItcHJpdmF0ZS1mdW5jdGlvbi1jYWxsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQt b3RoZXIpKSkNCi0gICBgKGpzMi1wcml2YXRlLW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1taWxkKSkpDQotICAgYChqczItd2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdCA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBqdWxpYQ0KLSAgIGAoanVsaWEt bWFjcm8tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGp1bGlhLXF1b3RlZC1zeW1ib2wtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBqdXB5dGVyDQot ICAgYChqdXB5dGVyLWV2YWwtb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYChqdXB5dGVyLXJlcGwtaW5wdXQtcHJvbXB0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoanVweXRlci1yZXBsLW91dHB1dC1w cm9tcHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChq dXB5dGVyLXJlcGwtdHJhY2ViYWNrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtcmVkKSkpDQotOzs7Ozsga2FvY2hhLXJ1bm5lcg0KLSAgIGAoa2FvY2hhLXJ1bm5lci1lcnJv ci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGthb2NoYS1ydW5uZXIt c3VjY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoa2FvY2hh LXJ1bm5lci13YXJuaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7 Ozs7IGtleWNhc3QNCi0gICBgKGtleWNhc3QtY29tbWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoa2V5Y2FzdC1rZXkgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5lLWF0dHJzDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZy1tYWluIGJsdWUtYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1tYWluIGJsdWUtYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBibHVlLWFjdGl2ZSBibHVlLWludGVuc2UNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdhbHQtc3R5bGUgLTMpKSkpDQotOzs7OzsgbGluZSBudW1iZXJzIChkaXNwbGF5LWxpbmUtbnVt YmVycy1tb2RlIGFuZCBnbG9iYWwgdmFyaWFudCkNCi0gICBgKGxpbmUtbnVtYmVyICgoLGNsYXNz IDppbmhlcml0IGRlZmF1bHQgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChsaW5lLW51bWJlci1jdXJyZW50LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgZGVm YXVsdCA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7 OzsgbHNwLW1vZGUNCi0gICBgKGxzcC1mYWNlLWhpZ2hsaWdodC1yZWFkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLWZh Y2UtaGlnaGxpZ2h0LXRleHR1YWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LWJsdWUpKSkNCi0gICBgKGxzcC1mYWNlLWhpZ2hsaWdodC13cml0ZSAoKCxjbGFzcyA6aW5oZXJp dCAobW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgYm9sZCkpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhs LWNvbnN0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAo bHNwLWZhY2Utc2VtaGwtZGVwcmVjYXRlZA0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6 dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOmZvcmVncm91bmQgLHll bGxvdyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZW51bW1lbWJl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNl LXNlbWhsLWZpZWxkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobHNw LWZhY2Utc2VtaGwtZmllbGQtc3RhdGljICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6 c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1mdW5jdGlv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwt bWV0aG9kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChsc3AtZmFjZS1z ZW1obC1uYW1lc3BhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWln aHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtcHJl cHJvY2Vzc29yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChs c3AtZmFjZS1zZW1obC1zdGF0aWMtbWV0aG9kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXR5cGUt Y2xhc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChsc3AtZmFj ZS1zZW1obC10eXBlLWVudW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQot ICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXByaW1pdGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Ut c2VtaGwtdHlwZS10ZW1wbGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS10eXBl ZGVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1l LXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC12YXJpYWJsZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFibGUtbG9jYWwgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlLXBh cmFtZXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGxz cC1sZW5zLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAobHNwLWxlbnMtbW91c2UtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQotICAgYChsc3AtdWktZG9jLWJhY2tn cm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAobHNwLXVpLWRvYy1o ZWFkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVh ZGVyKSkpDQotICAgYChsc3AtdWktZG9jLXVybCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChsc3AtdWktcGVlay1maWxlbmFtZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChsc3AtdWktcGVl ay1mb290ZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmct aGVhZGVyKSkpDQotICAgYChsc3AtdWktcGVlay1oZWFkZXIgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkpDQotICAgYChsc3AtdWktcGVlay1o aWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0g ICBgKGxzcC11aS1wZWVrLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGxzcC11aS1wZWVrLWxpc3QgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkp KQ0KLSAgIGAobHNwLXVpLXBlZWstcGVlayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkp DQotICAgYChsc3AtdWktcGVlay1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKGxzcC11aS1zaWRlbGluZS1jb2RlLWFjdGlvbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChsc3AtdWktc2lkZWxpbmUtY3VycmVu dC1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOTkgOmJveCAoOmxpbmUt d2lkdGggLTEgOnN0eWxlIG5pbCkgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGxzcC11 aS1zaWRlbGluZS1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOTkgOmJv eCAoOmxpbmUtd2lkdGggLTEgOnN0eWxlIG5pbCkgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbC1pbmZvICgoLGNsYXNzIDpoZWlnaHQgMC45OSA6c2xh bnQgaXRhbGljKSkpDQotOzs7OzsgbWFnaXQNCi0gICBgKG1hZ2l0LWJpc2VjdC1iYWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJpc2VjdC1nb29k ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJp c2VjdC1za2lwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAg YChtYWdpdC1ibGFtZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCht YWdpdC1ibGFtZS1kaW1tZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo bWFnaXQtYmxhbWUtaGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQotICAgYChtYWdpdC1ibGFtZS1oZWFkaW5nICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQp KSkNCi0gICBgKG1hZ2l0LWJsYW1lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1udWFuY2VkLWN5YW4pKSkNCi0gICBgKG1hZ2l0LWJsYW1lLW1hcmdpbiAoKCxjbGFzcyA6 aW5oZXJpdCBtYWdpdC1ibGFtZS1oaWdobGlnaHQpKSkNCi0gICBgKG1hZ2l0LWJsYW1lLW5hbWUg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtYWdpdC1i bGFtZS1zdW1tYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAg IGAobWFnaXQtYnJhbmNoLWN1cnJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90 aGVyIDpib3ggdCkpKQ0KLSAgIGAobWFnaXQtYnJhbmNoLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWFnaXQtYnJhbmNoLXJlbW90ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG1hZ2l0LWJyYW5jaC1yZW1vdGUtaGVhZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOmJveCB0KSkpDQotICAgYCht YWdpdC1icmFuY2gtdXBzdHJlYW0gKCgsY2xhc3MgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFn aXQtY2hlcnJ5LWVxdWl2YWxlbnQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVn cm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtY2hlcnJ5LXVubWF0Y2hlZCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkp DQotICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRp bmcgZnJvbSB0aGUNCi0gICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFjZXMsIHRob3VnaCBvbmx5 IGZvciB0aGUgc3RhbmRhcmQgYWN0aW9ucywNCi0gICA7OyBub3QgdGhlIGhpZ2hsaWdodGVkIG9u ZXMuICBUaGlzIGlzIGJlY2F1c2UgTWFnaXQncyBpbnRlcmFjdGlvbg0KLSAgIDs7IG1vZGVsIHJl bGllcyBvbiBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgZGlmZiBodW5rLg0KLSAgIGAobWFnaXQt ZGlmZi1hZGRlZCAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLW1haW4gZ3JlZW4NCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBmZy1kaWZmLWFkZGVkDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlmZi1hZGRl ZCkpKSkNCi0gICBgKG1hZ2l0LWRpZmYtYWRkZWQtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtYWRkZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtYmFzZSAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmctbWFpbiB5ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgZmctZGlmZi1jaGFuZ2VkKSkpKQ0K LSAgIGAobWFnaXQtZGlmZi1iYXNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtY29udGV4dCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChtYWdpdC1kaWZmLWNvbnRl eHQtaGlnaGxpZ2h0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWRpZmYNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGZnLWRpbQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1pbmFjdGl2 ZSBmZy1pbmFjdGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1kaW0gZmctYWx0KSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1maWxlLWhlYWRpbmcgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLXNwZWNpYWwtY29sZCBib2xkKSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1maWxlLWhl YWRpbmctc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFu KSkpDQotICAgOzsgTk9URTogaGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVy aXRpbmcgZnJvbSB0aGUNCi0gICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFjZXMuDQotICAgYCht YWdpdC1kaWZmLWh1bmstaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmctaGln aGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWRpZmYtaGVhZGlu Zw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxmZy1kaWZmLWhlYWRpbmcpKSkNCi0gICBgKG1hZ2l0LWRpZmYtaHVuay1oZWFkaW5n LXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0K LSAgIGAobWFnaXQtZGlmZi1odW5rLXJlZ2lvbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQot ICAgYChtYWdpdC1kaWZmLWxpbmVzLWJvdW5kYXJ5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtYWdpdC1kaWZmLWxpbmVzLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKG1hZ2l0LWRpZmYtcmVtb3ZlZCAo KCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmctbWFpbiByZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVkKSkp KQ0KLSAgIGAobWFnaXQtZGlmZi1yZW1vdmVkLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1kaWZmLWZvY3VzLXJlbW92ZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmZzdGF0LWFk ZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobWFnaXQtZGlmZnN0YXQt cmVtb3ZlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYWdpdC1kaW1tZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAobWFnaXQtZmlsZW5h bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFnaXQt aGFzaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1oZWFkICgo LGNsYXNzIDppbmhlcml0IG1hZ2l0LWJyYW5jaC1sb2NhbCkpKQ0KLSAgIGAobWFnaXQtaGVhZGVy LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUp KSkNCi0gICBgKG1hZ2l0LWhlYWRlci1saW5lLWtleSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChtYWdpdC1oZWFkZXItbGluZS1sb2ctc2Vs ZWN0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG1hZ2l0LWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG1h Z2l0LWtleXdvcmQtc3F1YXNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHll bGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWxvZy1hdXRob3IgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKG1hZ2l0LWxvZy1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LWxvZy1ncmFwaCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctZGltKSkpDQotICAgYChtYWdpdC1tb2RlLWxpbmUtcHJvY2VzcyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtbW9kZS1saW5l LXByb2Nlc3MtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFj dGl2ZSkpKQ0KLSAgIGAobWFnaXQtcHJvY2Vzcy1uZyAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikp KQ0KLSAgIGAobWFnaXQtcHJvY2Vzcy1vayAoKCxjbGFzcyA6aW5oZXJpdCBzdWNjZXNzKSkpDQot ICAgYChtYWdpdC1yZWZsb2ctYW1lbmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZv cmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLWNoZWNrb3V0 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2Up KSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1jaGVycnktcGljayAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctbWFpbiA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9n LWNvbW1pdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZ3JlZW4t aW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLW1lcmdlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1tYWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZs b2ctb3RoZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4t aW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLXJlYmFzZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1y ZWZsb2ctcmVtb3RlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxj eWFuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1yZXNldCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJl Zm5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtcmVmbmFt ZS1wdWxscmVxICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJl Zm5hbWUtc3Rhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQt cmVmbmFtZS13aXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQt c2VjdGlvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChtYWdpdC1zZWN0aW9uLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFnaXQtc2VjdGlvbi1oZWFkaW5nLXNlbGVjdGlv biAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gYm9sZCkpKSkNCi0g ICBgKG1hZ2l0LXNlY3Rpb24taGlnaGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQp KSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2UtZHJvcCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2UtZXhlYyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLWhlYWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1vbnRvICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLXBhcnQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLXBpY2sg KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1z dG9wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1i YWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYWdp dC1zaWduYXR1cmUtZXJyb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBg KG1hZ2l0LXNpZ25hdHVyZS1leHBpcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKG1hZ2l0LXNpZ25hdHVyZS1leHBpcmVkLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtZ29vZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKG1hZ2l0LXNpZ25hdHVyZS1yZXZva2VkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtdW50cnVzdGVkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChtYWdpdC10YWcgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi07Ozs7OyBtYWdpdC1pbWVyZ2UNCi0gICBgKG1h Z2l0LWltZXJnZS1vdmVycmlkaW5nLXZhbHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7OyBtYW4NCi0gICBgKE1hbi1vdmVyc3RyaWtlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKE1hbi1yZXZl cnNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAg YChNYW4tdW5kZXJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuIDp1bmRlcmxpbmUgdCkp KQ0KLTs7Ozs7IG1hcmtkb3duLW1vZGUNCi0gICBgKG1hcmtkb3duLWJsb2NrcXVvdGUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKG1hcmtkb3duLWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk KSkpDQotICAgYChtYXJrZG93bi1jb2RlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtbWl4ZWQtZm9udHMpKSkpDQotICAgYChtYXJrZG93bi1jb21tZW50LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChtYXJrZG93bi1mb290bm90ZS1tYXJrZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24tZm9vdG5vdGUtdGV4dC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQp KSkNCi0gICBgKG1hcmtkb3duLWdmbS1jaGVja2JveC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWRlbGltaXRlci1mYWNl ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3Vu ZCAsZmctZGltKSkpDQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZSAoKHQgbmlsKSkpDQotICAg YChtYXJrZG93bi1oZWFkZXItZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctMSkpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1oZWFkaW5nLTIpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChtYXJrZG93 bi1oZWFkZXItZmFjZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkp KQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTUpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlLTYgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy02KSkpDQotICAgYChtYXJrZG93bi1oZWFkZXIt cnVsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KLSAgIGAobWFya2Rvd24taHItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1hcmtkb3duLWh0bWwtYXR0ci1u YW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChtYXJrZG93bi1odG1sLWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChtYXJrZG93 bi1odG1sLWVudGl0eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVk LWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAobWFya2Rvd24taHRtbC10YWctZGVsaW1pdGVyLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQotICAgYChtYXJrZG93bi1odG1sLXRhZy1uYW1lLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYCht YXJrZG93bi1pbmxpbmUtY29kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1l LW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobWFya2Rvd24taXRhbGljLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYCht YXJrZG93bi1sYW5ndWFnZS1pbmZvLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya2Rvd24tbGFuZ3Vh Z2Uta2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZv bnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmtkb3duLWxpbmUtYnJlYWstZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKG1hcmtkb3duLWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQot ICAgYChtYXJrZG93bi1saW5rLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1s aXN0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobWFya2Rvd24t bWFya3VwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFya2Rv d24tbWF0aC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAobWFya2Rvd24tbWV0YWRhdGEta2V5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChtYXJrZG93bi1tZXRhZGF0YS12YWx1ZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24tbWlzc2luZy1saW5r LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAg YChtYXJrZG93bi1wbGFpbi11cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtYXJrZG93bi1saW5r LWZhY2UpKSkNCi0gICBgKG1hcmtkb3duLXByZS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1h Y3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctZGltDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQot ICAgYChtYXJrZG93bi1yZWZlcmVuY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtYXJrZG93bi1t YXJrdXAtZmFjZSkpKQ0KLSAgIGAobWFya2Rvd24tc3RyaWtlLXRocm91Z2gtZmFjZSAoKCxjbGFz cyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAobWFya2Rvd24tdGFibGUtZmFjZSAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAo bWFya2Rvd24tdXJsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotOzs7 OzsgbWFya3VwLWZhY2VzIChgYWRvYy1tb2RlJykNCi0gICBgKG1hcmt1cC1hbmNob3ItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKG1hcmt1cC1hdHRyaWJ1 dGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUgOnNsYW50IGl0YWxpYykp KQ0KLSAgIGAobWFya3VwLWJpZy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5k ICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC1jb2RlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZml4ZWQtcGl0Y2ggOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci0gICBgKG1hcmt1cC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0 aXZlKSkpDQotICAgYChtYXJrdXAtY29tbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobWFya3VwLWNvbXBsZXgt cmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwg OnN0eWxlIHJlbGVhc2VkLWJ1dHRvbikNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0g ICBgKG1hcmt1cC1lbXBoYXNpcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFya3VwLWVycm9yLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYXJrdXAtZ2VuLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtYXJrdXAtaW50ZXJu YWwtcmVmZXJlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLWl0YWxpYy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAobWFya3VwLWxpc3Qt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBg KG1hcmt1cC1tZXRhLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQot ICAgYChtYXJrdXAtbWV0YS1oaWRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAobWFya3VwLXBhc3N0aHJvdWdoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZml4ZWQt cGl0Y2ggOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1hcmt1cC1wcmVwcm9jZXNzb3ItZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya3VwLXJl cGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkN Ci0gICBgKG1hcmt1cC1zZWNvbmRhcnktdGV4dC1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpm b3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC1zbWFsbC1mYWNlICgo LGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYXJrdXAt c3Ryb25nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLW51YW5j ZWQpKSkNCi0gICBgKG1hcmt1cC1zdWJzY3JpcHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtYXJrdXAtc3VwZXJzY3JpcHQt ZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQotICAgYChtYXJrdXAtdGFibGUtY2VsbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya3VwLXRhYmxlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKG1hcmt1cC10YWJsZS1yb3ct ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAo bWFya3VwLXRpdGxlLTAtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDMuMCA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUtMS1mYWNlICgoLGNsYXNzIDpoZWlnaHQg Mi40IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS0yLWZh Y2UgKCgsY2xhc3MgOmhlaWdodCAxLjggOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAg IGAobWFya3VwLXRpdGxlLTMtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuNCA6Zm9yZWdyb3VuZCAs Ymx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUtNC1mYWNlICgoLGNsYXNzIDpoZWln aHQgMS4yIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS01 LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKG1hcmt1cC12YWx1ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLXZlcmJhdGltLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgbWVudG9yDQotICAgYCht ZW50b3ItZG93bmxvYWQtbWVzc2FnZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtcHJvZ3Jlc3MgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChtZW50b3ItZG93bmxvYWQt c2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG1l bnRvci1kb3dubG9hZC1zcGVlZC1kb3duICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkp KQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXNwZWVkLXVwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKG1lbnRvci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAobWVudG9yLXRyYWNrZXIt bmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBtZXNzYWdl cw0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTMgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTQgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtZXNzYWdlLWhlYWRlci1jYyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1o ZWFkZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAg YChtZXNzYWdlLWhlYWRlci1uZXdzZ3JvdXBzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItb3RoZXIgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG1lc3Nh Z2UtaGVhZGVyLXN1YmplY3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLXRvICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLXhoZWFk ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG1lc3NhZ2UtbW1sICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKG1lc3NhZ2Utc2VwYXJh dG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLTs7 Ozs7IG1pbmlidWZmZXItbGluZQ0KLSAgIGAobWluaWJ1ZmZlci1saW5lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgbWluaW1hcA0KLSAgIGAobWluaW1hcC1hY3RpdmUt cmVnaW9uLWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAg IGAobWluaW1hcC1jdXJyZW50LWxpbmUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1p bnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgbW9kZWxpbmUNCi0gICBg KG1vZGUtbGluZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1tb2RlLWxpbmUtYXR0 cnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hY3RpdmUgYmctYWN0aXZlIGZnLWRp bSBiZy1hY3RpdmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQgYmctYWN0aXZl ICdhbHQtc3R5bGUgbmlsIGJnLW1haW4pKSkpDQotICAgYChtb2RlLWxpbmUtYnVmZmVyLWlkICgo LGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1vZGUtbGluZS1lbXBoYXNpcyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAobW9kZS1s aW5lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSA6 Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgcHJlc3NlZC1idXR0b24pKSkpDQotICAgYChtb2Rl LWxpbmUtaW5hY3RpdmUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbW9kZS1saW5l LWF0dHJzDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctaW5hY3RpdmUg YmctaW5hY3RpdmUgZmctYWx0IGJnLWRpbQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLXJlZ2lvbiBiZy1hY3RpdmUpKSkpDQotOzs7OzsgbW9vZC1saW5lDQotICAgYCht b29kLWxpbmUtbW9kaWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkp DQotICAgYChtb29kLWxpbmUtc3RhdHVzLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMtaW5mbyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0dXMt bmV1dHJhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKG1vb2Qt bGluZS1zdGF0dXMtc3VjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkp DQotICAgYChtb29kLWxpbmUtc3RhdHVzLXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXVuaW1wb3J0YW50 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IG1wZGVsDQotICAg YChtcGRlbC1icm93c2VyLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQotICAgYChtcGRlbC1wbGF5bGlzdC1jdXJyZW50LXNvbmctZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IG11NGUNCi0g ICBgKG11NGUtYXR0YWNoLW51bWJlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTEtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtMi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTMtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtNS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChtdTRlLWNpdGVkLTYtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtNy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtdTRlLWNvbXBvc2Ut aGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbXU0ZS1jb21wb3NlLXNlcGFyYXRvci1mYWNl KSkpDQotICAgYChtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQotICAgYChtdTRlLWNvbnRhY3QtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAg IGAobXU0ZS1jb250ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQotICAgYChtdTRlLWRyYWZ0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotICAgYChtdTRlLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dCkpKQ0KLSAgIGAobXU0ZS1mb290ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG11NGUtZm9yd2Fy ZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAg YChtdTRlLWhlYWRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KG11NGUtaGVhZGVyLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhsLWxpbmUpKSkNCi0gICBgKG11NGUtaGVhZGVyLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotICAgYChtdTRlLWhlYWRlci1tYXJrcy1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtdTRlLWhlYWRlci10 aXRsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBg KG11NGUtaGVhZGVyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtaGlnaGxpZ2h0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG11 NGUtbGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGxpbmspKSkNCi0gICBgKG11NGUtbW9kZWxp bmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG11 NGUtbW92ZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKG11NGUtb2stZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobXU0ZS1yZWdpb24tY29kZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKG11NGUtcmVwbGllZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50KSkpDQotICAgYChtdTRlLXNwZWNp YWwtaGVhZGVyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtc3lzdGVtLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1hcmstZGVsIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG11 NGUtdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobXU0 ZS10cmFzaGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobXU0ZS11 bnJlYWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChtdTRlLXVybC1udW1iZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS12aWV3LWJvZHktZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobXU0ZS13YXJuaW5nLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgd2FybmluZykpKQ0KLTs7Ozs7IG11NGUtY29udmVyc2F0aW9uDQotICAg YChtdTRlLWNvbnZlcnNhdGlvbi1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3BlY2lhbC1jb2xkKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlv bi1zZW5kZXItMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1taWxkKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KLSAgIGAobXU0ZS1jb252 ZXJzYXRpb24tc2VuZGVyLTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkp DQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tcmVmaW5lLWZnKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItOCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0 aW9uLXNlbmRlci1tZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobXU0 ZS1jb252ZXJzYXRpb24tdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi07Ozs7OyBt dWx0aXBsZS1jdXJzb3JzDQotICAgYChtYy9jdXJzb3ItYmFyLWZhY2UgKCgsY2xhc3MgOmhlaWdo dCAxIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYy9jdXJzb3ItZmFjZSAoKCxjbGFz cyA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChtYy9yZWdpb24tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCByZWdpb24pKSkNCi07Ozs7OyBuZW90cmVlDQotICAgYChuZW8tYmFubmVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG5lby1idXR0b24tZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKG5lby1kaXItbGluay1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG5lby1leHBhbmQtYnRu LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG5lby1maWxlLWxpbmst ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobmVvLWhlYWRlci1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG5lby1yb290LWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWx0KSkpDQotICAgYChuZW8tdmMtYWRkZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4pKSkNCi0gICBgKG5lby12Yy1jb25mbGljdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobmVvLXZjLWRlZmF1bHQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobmVvLXZjLWVkaXRlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG5lby12Yy1pZ25vcmVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChuZW8tdmMtbWlzc2luZy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChuZW8tdmMtbmVlZHMt bWVyZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG5l by12Yy1uZWVkcy11cGRhdGUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG5l by12Yy1yZW1vdmVkLWZhY2UgKCgsY2xhc3MgOnN0cmlrZS10aHJvdWdoIHQpKSkNCi0gICBgKG5l by12Yy11bmxvY2tlZC1jaGFuZ2VzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLWJsdWUpKSkNCi0gICBgKG5lby12Yy11cC10by1kYXRlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobmVvLXZjLXVzZXItZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KLTs7Ozs7IG5vLWVtb2ppDQotICAgYChuby1lbW9qaSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IG5vdG11Y2gNCi0gICBgKG5vdG11Y2gt Y3J5cHRvLWRlY3J5cHRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1h Z2VudGEpKSkNCi0gICBgKG5vdG11Y2gtY3J5cHRvLXBhcnQtaGVhZGVyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobm90bXVjaC1jcnlwdG8tc2lnbmF0 dXJlLWJhZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAg IGAobm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLWdvb2QgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLWdyZWVuKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtZ29v ZC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAg IGAobm90bXVjaC1jcnlwdG8tc2lnbmF0dXJlLXVua25vd24gKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAobm90bXVjaC1oZWxsby1sb2dvLWJhY2tncm91 bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKG5vdG11Y2gtbWVzc2Fn ZS1zdW1tYXJ5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFu KSkpDQotICAgYChub3RtdWNoLXNlYXJjaC1mbGFnZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCi0gICBgKG5vdG11Y2gtc2VhcmNoLW1hdGNoaW5nLWF1dGhvcnMgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5vdG11Y2gtc2VhcmNoLW5vbi1t YXRjaGluZy1hdXRob3JzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG5v dG11Y2gtc2VhcmNoLXVucmVhZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBg KG5vdG11Y2gtdGFnLWFkZGVkDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxp bmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGdy ZWVuIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbiA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLWRlbGV0ZWQNCi0gICAgICgoLChhcHBlbmQg Jygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1 bmRlcmxpbmUgKDpjb2xvciAscmVkIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotICAgYChub3RtdWNoLXRhZy1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChub3RtdWNo LXRhZy1mbGFnZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChub3Rt dWNoLXRhZy11bnJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAg YChub3RtdWNoLXRyZWUtbWF0Y2gtYXV0aG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobm90bXVjaC10cmVlLW1hdGNoLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG5vdG11Y2gtdHJlZS1tYXRjaC10YWctZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAo bm90bXVjaC10cmVlLW5vLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAobm90bXVjaC13YXNoLWNpdGVkLXRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4pKSkNCi0gICBgKG5vdG11Y2gtd2FzaC10b2dnbGUtYnV0dG9uICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IG51bTMtbW9kZQ0KLSAg IGAobnVtMy1mYWNlLWV2ZW4gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmct YWx0KSkpDQotOzs7OzsgbnhtbC1tb2RlDQotICAgYChueG1sLWF0dHJpYnV0ZS1jb2xvbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtbG9jYWwt bmFtZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLWFsdCBjeWFu LWFsdC1mYWludCkpKSkNCi0gICBgKG54bWwtYXR0cmlidXRlLXByZWZpeCAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1hdHRyaWJ1dGUtdmFsdWUgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkNCi0gICBgKG54 bWwtY2RhdGEtc2VjdGlvbi1DREFUQSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBg KG54bWwtY2RhdGEtc2VjdGlvbi1kZWxpbWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAobnhtbC1jaGFy LXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVu LWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYChueG1sLWNoYXItcmVm LW51bWJlciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVy IGdyZWVuLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1k ZWxpbWl0ZWQtZGF0YSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFu dCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG54bWwtZGVsaW1pdGVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG54bWwtZWxlbWVudC1jb2xvbiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobnhtbC1lbGVtZW50LWxvY2FsLW5hbWUgKCgs Y2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkp KSkNCi0gICBgKG54bWwtZWxlbWVudC1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0K LSAgIGAobnhtbC1lbnRpdHktcmVmLWRlbGltaXRlciAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KSkpKQ0K LSAgIGAobnhtbC1lbnRpdHktcmVmLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhl bWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdo dCkpKSkNCi0gICBgKG54bWwtZ2x5cGggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1uZXV0cmFsKSkpDQotICAgYChueG1sLWhhc2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlLWFsdCBibHVlLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtaGVhZGluZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChueG1sLW5hbWUgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwt bmFtZXNwYWNlLWF0dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLXByZWZpeCAoKCxjbGFzcyAsQChtb2R1 cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAgYChu eG1sLXByb2Nlc3NpbmctaW5zdHJ1Y3Rpb24tdGFyZ2V0ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJh bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90 aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwt cHJvbG9nLWtleXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1h bHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAg IGAobnhtbC1yZWYgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlciBncmVlbi1h bHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi07Ozs7OyBvYmplZA0KLSAgIGAob2JqZWQtaGwgKCgs Y2xhc3MgOmJhY2tncm91bmQgLChpZiBtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLWhsLWxp bmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctaGwtYWx0LWlu dGVuc2UgYmctaGwtYWx0KSkpKQ0KLSAgIGAob2JqZWQtbWFyayAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctYWN0aXZlKSkpDQotICAgYChvYmplZC1tb2RlLWxpbmUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWN0aXZlKSkpDQotOzs7Ozsgb3JkZXJsZXNzDQotICAgYChvcmRlcmxlc3MtbWF0 Y2gtZmFjZS0wICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlv bnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3Ro ZXIgYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJsdWUtcmVmaW5lLWJnIGJsdWUtcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJsZXNzLW1h dGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN0YW5kYXJkLWNvbXBsZXRp b25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0 IG1hZ2VudGEtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhLXJlZmluZS1iZyBtYWdlbnRhLXJlZmluZS1mZykpKSkNCi0gICBgKG9yZGVy bGVzcy1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zdGFuZGFyZC1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVl biBncmVlbi1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdyZWVuLXJlZmluZS1iZyBncmVlbi1yZWZpbmUtZmcpKSkpDQotICAgYChvcmRlcmxlc3Mt bWF0Y2gtZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxl dGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHll bGxvdy1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHllbGxvdy1yZWZpbmUtYmcgeWVsbG93LXJlZmluZS1mZykpKSkNCi07Ozs7OyBvcmcNCi0gICBg KG9yZy1hZ2VuZGEtY2FsZW5kYXItZXZlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCi0gICBgKG9yZy1hZ2VuZGEtY2FsZW5kYXItc2V4cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtY2xvY2tpbmcgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0K LSAgIGAob3JnLWFnZW5kYS1jb2x1bW4tZGF0ZWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KLSAgIGAob3JnLWFnZW5kYS1jdXJyZW50LXRpbWUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGF0 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kYXRlLXRv ZGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVybGlu ZSB0KSkpDQotICAgYChvcmctYWdlbmRhLWRhdGUtd2Vla2VuZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGlhcnkgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGltbWVkLXRvZG8tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1h Z2VuZGEtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChvcmct YWdlbmRhLWZpbHRlci1jYXRlZ29yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1maWx0ZXItZWZmb3J0ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChv cmctYWdlbmRhLWZpbHRlci1yZWdleHAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXRhZ3MgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9y Zy1hZ2VuZGEtcmVzdHJpY3Rpb24tbG9jayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG9yZy1hZ2VuZGEtc3RydWN0dXJlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAob3JnLWFyY2hpdmVkICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWJsb2Nr ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9jayBiZy1kaW0p DQotICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG9yZy1ibG9jay1iZWdpbi1saW5lICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1p eGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtb3JnLWJsb2NrLWRlbGltDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZy1kaW0gZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiZy1hbHQgZmctc3BlY2lhbC1taWxkKSkpKQ0KLSAgIGAob3Jn LWJsb2NrLWVuZC1saW5lICgoLGNsYXNzIDppbmhlcml0IG9yZy1ibG9jay1iZWdpbi1saW5lKSkp DQotICAgYChvcmctY2hlY2tib3ggKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3Ig LGJnLWFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWNoZWNrYm94LXN0 YXRpc3RpY3MtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctZG9uZSkpKQ0KLSAgIGAob3JnLWNo ZWNrYm94LXN0YXRpc3RpY3MtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCBvcmctdG9kbykpKQ0KLSAg IGAob3JnLWNsb2NrLW92ZXJsYXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1jb2xkKSkpDQotICAgYChvcmctY29kZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1taXhlZC1mb250cykgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKG9yZy1jb2x1bW4g KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAob3JnLWNvbHVtbi10aXRsZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDp1bmRlcmxpbmUgdCA6YmFja2dyb3VuZCAsYmctYWx0KSkp DQotICAgYChvcmctZGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCAoYnV0dG9uIGZpeGVkLXBpdGNoKSA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1kYXRlLXNlbGVjdGVkICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0IDppbnZlcnNlLXZpZGVv IHQpKSkNCi0gICBgKG9yZy1kb2N1bWVudC1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQpKSkNCi0gICBgKG9yZy1kb2N1bWVudC1pbmZvLWtleXdvcmQgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1k b2N1bWVudC10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFi bGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVy YW5kaS10aGVtZS1zY2FsZS01KSkpKQ0KLSAgIGAob3JnLWRvbmUgKCgsY2xhc3MgOmJveCAsYmct cmVnaW9uIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChv cmctZHJhd2VyICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAob3Jn LWVsbGlwc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kIG5pbCkpKSA7IGluaGVyaXRzIGZyb20gdGhl IGhlYWRpbmcncyBjb2xvdXINCi0gICBgKG9yZy1mb290bm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBi dXR0b24gOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChvcmctZm9ybXVsYSAoKCxjbGFz cyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChvcmctaGFiaXQtYWxlcnQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdykpKQ0KLSAg IGAob3JnLWhhYml0LWFsZXJ0LWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKG9yZy1oYWJpdC1jbGVhci1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAob3JnLWhhYml0 LWNsZWFyLWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1t YWdlbnRhKSkpDQotICAgYChvcmctaGFiaXQtb3ZlcmR1ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChvcmctaGFiaXQtb3ZlcmR1ZS1mdXR1 cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAg YChvcmctaGFiaXQtcmVhZHktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLWJsdWUpKSkNCi0gICBgKG9yZy1oYWJpdC1yZWFkeS1mdXR1cmUtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAob3JnLWhlYWRsaW5lLWRv bmUgKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3Jv dW5kICxncmVlbi1udWFuY2VkKSkpDQotICAgYChvcmctaGVhZGxpbmUtdG9kbyAoKCxjbGFzcyA6 aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLHJlZC1udWFu Y2VkKSkpDQotICAgYChvcmctaGlkZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0K LSAgIGAob3JnLWluZGVudCAoKCxjbGFzcyA6aW5oZXJpdCAoZml4ZWQtcGl0Y2ggb3JnLWhpZGUp KSkpDQotICAgYChvcmctbGF0ZXgtYW5kLXJlbGF0ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtcmVmaW5lLWZnKSkpDQotICAgYChvcmctbGV2ZWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCi0gICBgKG9yZy1sZXZlbC0yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAob3JnLWxldmVsLTMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChvcmctbGV2ZWwtNCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCi0gICBgKG9yZy1sZXZlbC01 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNSkpKQ0KLSAgIGAob3JnLWxl dmVsLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy02KSkpDQotICAgYChv cmctbGV2ZWwtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkNCi0g ICBgKG9yZy1sZXZlbC04ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctOCkp KQ0KLSAgIGAob3JnLWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAob3JnLWxp c3QtZHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAob3JnLW1hY3JvICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChvcmctbWV0YS1saW5lICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLW1peGVkLWZvbnRzKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChvcmctbW9kZS1s aW5lLWNsb2NrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctbW9k ZS1saW5lLWNsb2NrLW92ZXJydW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZl LXJlZCkpKQ0KLSAgIGAob3JnLXByaW9yaXR5ICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6YmFj a2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChvcmctcHJvcGVy dHktdmFsdWUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotICAgYChvcmctcXVvdGUgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt b3JnLWJsb2NrIGJnLWRpbSkNCi0gICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG9yZy1z Y2hlZHVsZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo b3JnLXNjaGVkdWxlZC1wcmV2aW91c2x5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyKSkpDQotICAgYChvcmctc2NoZWR1bGVkLXRvZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAob3JnLXNleHAtZGF0ZSAoKCxjbGFzcyA6aW5o ZXJpdCBvcmctZGF0ZSkpKQ0KLSAgIGAob3JnLXNwZWNpYWwta2V5d29yZCAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRhYmxl ICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAg ICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG9y Zy10YWJsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG1vZHVzLXRoZW1l LWludGVuc2UtbmV1dHJhbCkpKSkNCi0gICBgKG9yZy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXRhZy1ncm91cCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKG9yZy10YXJnZXQgKCgs Y2xhc3MgOnVuZGVybGluZSB0KSkpDQotICAgYChvcmctdGltZS1ncmlkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKG9yZy10b2RvICgoLGNsYXNzIDpib3ggLGJn LXJlZ2lvbiA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAg YChvcmctdXBjb21pbmctZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3Ro ZXIpKSkNCi0gICBgKG9yZy11cGNvbWluZy1kaXN0YW50LWRlYWRsaW5lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtbnVhbmNlZCkpKQ0KLSAgIGAob3JnLXZlcmJhdGltICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0K LSAgIGAob3JnLXZlcnNlICgoLGNsYXNzIDppbmhlcml0IG9yZy1xdW90ZSkpKQ0KLSAgIGAob3Jn LXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhl cikpKQ0KLTs7Ozs7IG9yZy1qb3VybmFsDQotICAgYChvcmctam91cm5hbC1jYWxlbmRhci1lbnRy eS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyIDpzbGFudCAsbW9k dXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKG9yZy1qb3VybmFsLWNhbGVuZGFyLXNjaGVkdWxlZC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyIDpzbGFudCAsbW9kdXMtdGhl bWUtc2xhbnQpKSkNCi0gICBgKG9yZy1qb3VybmFsLWhpZ2hsaWdodCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBvcmctbm90ZXINCi0gICBgKG9yZy1ub3Rlci1u by1ub3Rlcy1leGlzdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKG9yZy1ub3Rlci1ub3Rlcy1leGlzdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLTs7Ozs7IG9yZy1wb21v ZG9ybw0KLSAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZS1icmVhayAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKG9yZy1wb21vZG9yby1tb2RlLWxp bmUtb3ZlcnRpbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLTs7Ozs7IG9yZy1yZWN1cg0KLSAgIGAob3JnLXJlY3VyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLTs7Ozs7IG9yZy1yb2FtDQotICAgYChvcmctcm9hbS1s aW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBg KG9yZy1yb2FtLWxpbmstY3VycmVudCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91 bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAob3JnLXJvYW0tbGluay1pbnZhbGlkICgoLGNsYXNzIDpp bmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChvcmctcm9hbS1saW5rLXNo aWVsZGVkICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQot ICAgYChvcmctcm9hbS10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgaXRh bGljKSkpDQotOzs7Ozsgb3JnLXN1cGVyc3Rhcg0KLSAgIGAob3JnLXN1cGVyc3Rhci1pdGVtICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChvcmctc3VwZXJzdGFyLWxlYWRp bmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi07Ozs7OyBvcmctdGFi bGUtc3RpY2t5LWhlYWRlcg0KLSAgIGAob3JnLXRhYmxlLXN0aWNreS1oZWFkZXItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi07Ozs7OyBvcmct dHJlZXNjb3BlDQotICAgYChvcmctdHJlZXNjb3BlLWZhY2VzLS1tYXJrZXJpbnRlcm5hbC1taWRk YXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChv cmctdHJlZXNjb3BlLWZhY2VzLS1tYXJrZXJpbnRlcm5hbC1yYW5nZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi07Ozs7OyBvcmlnYW1pDQotICAgYChvcmln YW1pLWZvbGQtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdy b3VuZCAsZmctZGltIDpib3ggdCkpKQ0KLSAgIGAob3JpZ2FtaS1mb2xkLXJlcGxhY2VtZW50LWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot Ozs7Ozsgb3V0bGluZS1tb2RlDQotICAgYChvdXRsaW5lLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy0xKSkpDQotICAgYChvdXRsaW5lLTIgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQotICAgYChvdXRsaW5lLTMgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaGVhZGluZy0zKSkpDQotICAgYChvdXRsaW5lLTQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQotICAgYChvdXRsaW5lLTUgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01KSkpDQotICAgYChvdXRsaW5lLTYgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy02KSkpDQotICAgYChvdXRsaW5lLTcgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy03KSkpDQotICAgYChvdXRsaW5lLTgg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy04KSkpDQotOzs7Ozsgb3V0bGlu ZS1taW5vci1mYWNlcw0KLSAgIGAob3V0bGluZS1taW5vci0wICgoLGNsYXNzIG5pbCkpKQ0KLTs7 Ozs7IHBhY2thZ2UgKE0teCBsaXN0LXBhY2thZ2VzKQ0KLSAgIGAocGFja2FnZS1kZXNjcmlwdGlv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYWNrYWdl LWhlbHAtc2VjdGlvbi1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQotICAgYChwYWNrYWdlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQg bGluaykpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtYXZhaWwtb2JzbyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWF2YWlsYWJs ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChwYWNrYWdl LXN0YXR1cy1idWlsdC1pbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAo cGFja2FnZS1zdGF0dXMtZGVwZW5kZW5jeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWRpc2FibGVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWV4dGVy bmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocGFja2Fn ZS1zdGF0dXMtaGVsZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KLSAgIGAo cGFja2FnZS1zdGF0dXMtaW5jb21wYXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1pbnN0YWxsZWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtbmV3ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChwYWNrYWdl LXN0YXR1cy11bnNpZ25lZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWx0KSkpDQotOzs7OzsgcGFnZS1icmVhay1saW5lcw0KLSAgIGAocGFnZS1icmVhay1saW5lcyAo KCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1v dXRlcikpKQ0KLTs7Ozs7IHBhcmFkb3gNCi0gICBgKHBhcmFkb3gtYXJjaGl2ZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHBhcmFkb3gtY29tbWVu dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAocGFyYWRveC1jb21taXQtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgOmJveCB0KSkpDQotICAgYChwYXJhZG94LWRlc2Ny aXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAocGFyYWRveC1kZXNjcmlwdGlvbi1mYWNlLW11bHRpbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYXJhZG94LWRvd25sb2FkLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KLSAgIGAocGFyYWRveC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90 aGVyKSkpDQotICAgYChwYXJhZG94LWhvbWVwYWdlLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHBhcmFkb3gt bW9kZS1saW5lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1h Y3RpdmUpKSkNCi0gICBgKHBhcmFkb3gtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAocGFyYWRveC1zdGFyLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHBhcmFkb3gtc3RhcnJlZC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHBhcmVuLWZhY2UNCi0gICBgKHBh cmVudGhlc2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi07Ozs7OyBw YXJyb3QNCi0gICBgKHBhcnJvdC1yb3RhdGUtcm90YXRpb24taGlnaGxpZ2h0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi07Ozs7OyBwYXNzDQot ICAgYChwYXNzLW1vZGUtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYXNzLW1vZGUtZW50cnktZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAocGFzcy1tb2RlLWhlYWRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LXdhcm0pKSkNCi07Ozs7OyBwZXJzcC1tb2RlDQotICAgYChwZXJzcC1mYWNlLWxpZ2h0ZXItYnVm ZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJl ZCkpKQ0KLSAgIGAocGVyc3AtZmFjZS1saWdodGVyLWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHBlcnNwLWZhY2UtbGlnaHRl ci1uaWwtcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZl KSkpDQotOzs7OzsgcGVyc3BlY3RpdmUNCi0gICBgKHBlcnNwLXNlbGVjdGVkLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi07Ozs7OyBwaGkt Z3JlcA0KLSAgIGAocGhpLWdyZXAtaGVhZGluZy1mYWNlICAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNj YWxlLTQpKSkpDQotICAgYChwaGktZ3JlcC1saW5lLW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHBoaS1ncmVwLW1hdGNoLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChwaGktZ3Jl cC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxs b3cpKSkNCi0gICBgKHBoaS1ncmVwLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLTs7Ozs7IHBoaS1zZWFyY2gNCi0gICBgKHBoaS1yZXBs YWNlLXByZXZpZXctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1h Z2VudGEpKSkNCi0gICBgKHBoaS1zZWFyY2gtZmFpbHBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpDQotICAgYChwaGktc2VhcmNoLW1hdGNoLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBgKHBoaS1z ZWFyY2gtc2VsZWN0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVu c2UtZ3JlZW4gYm9sZCkpKSkNCi07Ozs7OyBwa2didWlsZC1tb2RlDQotICAgYChwa2didWlsZC1l cnJvci1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyBw b21pZG9yDQotICAgYChwb21pZG9yLWJyZWFrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyKSkpDQotICAgYChwb21pZG9yLW92ZXJ3b3JrLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKHBvbWlkb3Itc2tpcC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAocG9taWRvci13b3JrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhl cikpKQ0KLTs7Ozs7IHBvd2VybGluZQ0KLSAgIGAocG93ZXJsaW5lLWFjdGl2ZTAgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGJsdWUtZmFpbnQgOmludmVyc2Utdmlk ZW8gdCkpKQ0KLSAgIGAocG93ZXJsaW5lLWFjdGl2ZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJs dWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChwb3dlcmxp bmUtYWN0aXZlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxm Zy1hY3RpdmUpKSkNCi0gICBgKHBvd2VybGluZS1pbmFjdGl2ZTAgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChwb3dlcmxpbmUtaW5hY3RpdmUxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVn cm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChwb3dlcmxpbmUtaW5hY3RpdmUyICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07 Ozs7OyBwb3dlcmxpbmUtZXZpbA0KLSAgIGAocG93ZXJsaW5lLWV2aWwtYmFzZS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChw b3dlcmxpbmUtZXZpbC1lbWFjcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFj dGl2ZS1tYWdlbnRhKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1pbnNlcnQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCi0gICBgKHBvd2VybGluZS1l dmlsLW1vdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVl KSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1ub3JtYWwtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsZmctYWx0IDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1v cGVyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cp KSkNCi0gICBgKHBvd2VybGluZS1ldmlsLXJlcGxhY2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC12aXN1YWwtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtY3lhbikpKQ0KLTs7Ozs7IHBy b2NlZA0KLSAgIGAocHJvY2VkLW1hcmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFy ay1zeW1ib2wpKSkNCi0gICBgKHByb2NlZC1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtbWFyay1hbHQpKSkNCi0gICBgKHByb2NlZC1zb3J0LWhlYWRlciAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnVuZGVybGluZSB0KSkpDQot Ozs7OzsgcHJvZGlneQ0KLSAgIGAocHJvZGlneS1ncmVlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbikpKQ0KLSAgIGAocHJvZGlneS1yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQotICAgYChwcm9kaWd5LXllbGxvdy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi07Ozs7OyByYWNrZXQtbW9kZQ0KLSAgIGAocmFja2V0LWRlYnVnLWJyZWFr LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBg KHJhY2tldC1kZWJ1Zy1sb2NhbHMtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6 Y29sb3IgbmlsKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKHJhY2tldC1kZWJ1Zy1yZXN1bHQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciBuaWwp DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGdy ZWVuKSkpDQotICAgYChyYWNrZXQtaGVyZS1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHJhY2tldC1rZXl3b3JkLWFyZ3VtZW50LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHJhY2tldC1sb2dnZXItY29uZmlnLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50 KSkpDQotICAgYChyYWNrZXQtbG9nZ2VyLWRlYnVnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChyYWNrZXQtbG9nZ2VyLWluZm8tZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlKSkpDQotICAgYChyYWNrZXQtbG9nZ2VyLXRvcGlj LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAocmFja2V0LXNlbGZldmFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuLWFsdCkpKQ0KLSAgIGAocmFja2V0LXhwLWVycm9yLWZhY2UNCi0gICAgICgoLChhcHBl bmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAg IDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1lcnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAg KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyByYWluYm93LWJsb2Nrcw0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1ibG9j a3MtZGVwdGgtMi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChyYWlu Ym93LWJsb2Nrcy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuKSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC01LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTYtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVw dGgtNy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKHJhaW5ib3ct YmxvY2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0g ICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtdW5tYXRjaGVkLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZCkpKQ0KLTs7Ozs7IHJhaW5ib3ctaWRlbnRpZmllcnMNCi0gICBgKHJhaW5i b3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1h bHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0yICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVu dGlmaWVycy1pZGVudGlmaWVyLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1p ZGVudGlmaWVyLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAg YChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmll cnMtaWRlbnRpZmllci04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAo cmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xMCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRl bnRpZmllci0xMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAocmFpbmJv dy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTE0 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlm aWVycy1pZGVudGlmaWVyLTE1ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotOzs7 OzsgcmFpbmJvdy1kZWxpbWl0ZXJzDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtYmFzZS1mYWNl LWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1p dGVycy1iYXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHJh aW5ib3ctZGVsaW1pdGVycy1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVs aW1pdGVycy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVw dGgtNS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAo cmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4tYWx0KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRl cHRoLTgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKHJhaW5i b3ctZGVsaW1pdGVycy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1taXNtYXRjaGVkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAocmFpbmJvdy1kZWxp bWl0ZXJzLXVubWF0Y2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZCkpKQ0KLTs7Ozs7IHJjaXJjDQotICAgYChyY2lyYy1icmlnaHQtbmljayAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmNpcmMtZGlt LW5pY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAocmNpcmMtbXktbmlj ayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChy Y2lyYy1uaWNrLWluLW1lc3NhZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChyY2lyYy1uaWNrLWluLW1lc3NhZ2UtZnVsbC1saW5lICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAocmNpcmMt b3RoZXItbmljayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKHJjaXJjLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmNpcmMtc2VydmVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKHJjaXJjLXRpbWVzdGFtcCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChyY2lyYy11cmwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgcmVnZXhwLWJ1aWxkZXIg KHJlLWJ1aWxkZXIpDQotICAgYChyZWItbWF0Y2gtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKHJlYi1tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KLSAgIGAocmViLW1hdGNoLTIgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAocmViLW1hdGNo LTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHJl Yi1yZWdleHAtZ3JvdXBpbmctYmFja3NsYXNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCkpKQ0KLSAgIGAocmViLXJlZ2V4cC1ncm91 cGluZy1jb25zdHJ1Y3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNj YXBlLWNoYXItY29uc3RydWN0KSkpDQotOzs7OzsgcmcgKHJnLmVsKQ0KLSAgIGAocmctY29sdW1u LW51bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAocmctY29udGV4dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQp KSkNCi0gICBgKHJnLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQotICAgYChyZy1maWxlLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHJnLWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChyZy1saW5lLW51 bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KHJnLWxpdGVyYWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBg KHJnLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxt KSkpDQotICAgYChyZy1yZWdleHAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCi0gICBgKHJnLXRvZ2dsZS1vZmYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAocmctdG9nZ2xlLW9uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHJn LXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCi07Ozs7OyByaXBncmVwDQotICAgYChyaXBncmVwLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChyaXBncmVwLWVycm9yLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChyaXBncmVwLWhp dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChyaXBncmVwLW1hdGNo LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotOzs7 Ozsgcm1haWwNCi0gICBgKHJtYWlsLWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocm1haWwtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgcnVsZXItbW9kZQ0KLSAg IGAocnVsZXItbW9kZS1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IChydWxlci1tb2Rl LWRlZmF1bHQgYm9sZCkgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHJ1bGVyLW1vZGUt Y29tbWVudC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3Jl Z3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChydWxlci1tb2RlLWN1cnJlbnQtY29sdW1uICgo LGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3Rp dmUgOmJveCB0KSkpDQotICAgYChydWxlci1tb2RlLWRlZmF1bHQgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAocnVsZXIt bW9kZS1maWxsLWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZv cmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1mcmluZ2VzICgoLGNs YXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUp KSkNCi0gICBgKHJ1bGVyLW1vZGUtZ29hbC1jb2x1bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXIt bW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAocnVsZXIt bW9kZS1tYXJnaW5zICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdy b3VuZCAsYmctbWFpbikpKQ0KLSAgIGAocnVsZXItbW9kZS1wYWQgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1v ZGUtdGFiLXN0b3AgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7Ozsgc2FsbGV0DQotICAgYChzYWxsZXQtYnVmZmVy LWNvbXByZXNzZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkIDpzbGFudCBp dGFsaWMpKSkNCi0gICBgKHNhbGxldC1idWZmZXItZGVmYXVsdC1kaXJlY3RvcnkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZCkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1kaXJlY3Rv cnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoc2FsbGV0LWJ1 ZmZlci1oZWxwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KHNhbGxldC1idWZmZXItbW9kaWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1vcmRpbmFyeSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1yZWFkLW9u bHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKHNhbGxldC1idWZm ZXItc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChz YWxsZXQtYnVmZmVyLXNwZWNpYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChzYWxsZXQtZmx4LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCi0gICBgKHNhbGxldC1yZWNlbnRm LWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBg KHNhbGxldC1yZWNlbnRmLWZpbGUtcGF0aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQotICAgYChzYWxsZXQtcmVnZXhwLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLW9w ZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGENCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1v dGhlcikpKSkNCi0gICBgKHNhbGxldC1zb3VyY2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNj YWxlLTQpKSkpDQotICAgYChzYWxsZXQtc3Vic3RyaW5nLW1hdGNoICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5j ZWQtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFs dC1vdGhlcikpKSkNCi07Ozs7OyBzZWxlY3RydW0NCi0gICBgKHNlbGVjdHJ1bS1jdXJyZW50LWNh bmRpZGF0ZQ0KLSAgICAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFp biA6dW5kZXJsaW5lICxmZy1tYWluDQotICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsQChwY2Fz ZSBtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgnb3BpbmlvbmF0ZWQgKGxpc3QgYmctYWN0aXZlKSkNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoXyAobGlzdCBiZy1pbmFjdGl2ZSkpKSkpKQ0KLSAgIGAoc2VsZWN0 cnVtLXByaW1hcnktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z dGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEt cmVmaW5lLWZnKSkpKQ0KLSAgIGAoc2VsZWN0cnVtLXNlY29uZGFyeS1oaWdobGlnaHQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVy IGN5YW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcpKSkpDQotOzs7Ozsgc2VtYW50 aWMNCi0gICBgKHNlbWFudGljLWNvbXBsZXRlLWlubGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0gOnVuZGVybGluZSB0KSkpDQotICAgYChzZW1hbnRpYy1kZWNv cmF0aW9uLW9uLXByaXZhdGUtbWVtYmVycy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLXByb3RlY3Rl ZC1tZW1iZXJzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoc2Vt YW50aWMtaGlnaGxpZ2h0LWVkaXRzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkp KQ0KLSAgIGAoc2VtYW50aWMtaGlnaGxpZ2h0LWZ1bmMtY3VycmVudC10YWctZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChzZW1hbnRpYy1pZGxlLXN5bWJvbC1oaWdo bGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAg YChzZW1hbnRpYy10YWctYm91bmRhcnktZmFjZSAoKCxjbGFzcyA6b3ZlcmxpbmUgLGJsdWUtaW50 ZW5zZSkpKQ0KLSAgIGAoc2VtYW50aWMtdW5tYXRjaGVkLXN5bnRheC1mYWNlICgoLGNsYXNzIDp1 bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCi07Ozs7OyBzZXNtYW4NCi0gICBgKHNlc21hbi1i cm93c2VyLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKHNlc21hbi1icm93c2VyLWhpZ2hsaWdoLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCi0gICBgKHNlc21hbi1idWZm ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoc2VzbWFuLWRp cmVjdG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKHNlc21hbi1wcm9qZWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi07Ozs7OyBzaGVsbC1zY3JpcHQtbW9kZQ0KLSAg IGAoc2gtaGVyZWRvYyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHNo LXF1b3RlZC1leGVjICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi07Ozs7OyBzaG93LXBhcmVuLW1vZGUNCi0g ICBgKHNob3ctcGFyZW4tbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtcGFy ZW4gYmctcGFyZW4tbWF0Y2gNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHNo b3ctcGFyZW4tbWF0Y2gtZXhwcmVzc2lvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLWNhbG0pKSkNCi0gICBgKHNob3ctcGFyZW4tbWlzbWF0Y2ggKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyBzaWRlLW5vdGVzDQotICAgYChz aWRlLW5vdGVzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLWRp bSkpKQ0KLTs7Ozs7IHNrZXdlci1tb2RlDQotICAgYChza2V3ZXItZXJyb3ItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHNtYXJ0LW1vZGUtbGlu ZQ0KLSAgIGAoc21sL2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUp KSkNCi0gICBgKHNtbC9kaXNjaGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLSAgIGAoc21sL2ZpbGVuYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChzbWwvZm9sZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hY3RpdmUpKSkNCi0gICBgKHNtbC9naXQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChzbWwvZ2xvYmFsICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKHNtbC9saW5lLW51bWJlciAoKCxjbGFzcyA6aW5o ZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvbWlub3ItbW9kZXMgKCgsY2xhc3MgOmluaGVy aXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL21vZGVzICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL21vZGlmaWVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChzbWwvbXVs ZS1pbmZvICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9uYW1lLWZp bGxpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKHNtbC9u b3QtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL251 bWJlcnMtc2VwYXJhdG9yICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNt bC9vdXRzaWRlLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkKSkpDQotICAgYChzbWwvcG9zaXRpb24tcGVyY2VudGFnZSAoKCxjbGFzcyA6aW5oZXJpdCBz bWwvZ2xvYmFsKSkpDQotICAgYChzbWwvcHJlZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1hY3RpdmUpKSkNCi0gICBgKHNtbC9wcm9jZXNzICgoLGNsYXNzIDppbmhlcml0IHNtbC9wcmVm aXgpKSkNCi0gICBgKHNtbC9wcm9qZWN0aWxlICgoLGNsYXNzIDppbmhlcml0IHNtbC9naXQpKSkN Ci0gICBgKHNtbC9yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Y3lhbi1hY3RpdmUpKSkNCi0gICBgKHNtbC9yZW1vdGUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2ds b2JhbCkpKQ0KLSAgIGAoc21sL3N1ZG8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Vi dGxlLXJlZCkpKQ0KLSAgIGAoc21sL3RpbWUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkp KQ0KLSAgIGAoc21sL3ZjICgoLGNsYXNzIDppbmhlcml0IHNtbC9naXQpKSkNCi0gICBgKHNtbC92 Yy1lZGl0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSkpKQ0KLTs7Ozs7IHNtYXJ0cGFyZW5zDQotICAgYChzcC1wYWlyLW92ZXJsYXktZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHNwLXNob3ct cGFpci1lbmNsb3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxk KSkpDQotICAgYChzcC1zaG93LXBhaXItbWF0Y2gtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1wYXJlbiBiZy1wYXJlbi1tYXRjaA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcGFyZW4tbWF0 Y2gtaW50ZW5zZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzcC1zaG93LXBhaXItbWlzbWF0Y2gtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAoc3Atd3JhcC1v dmVybGF5LWNsb3NpbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFj ZSkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFp ci1vdmVybGF5LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtb3ZlcmxheS1vcGVuaW5nLXBhaXIgKCgs Y2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtdGFn LW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0K LTs7Ozs7IHNtZXJnZQ0KLSAgIGAoc21lcmdlLWJhc2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQotICAgYChzbWVyZ2UtbG93ZXIgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KLSAgIGAoc21lcmdlLW1hcmtlcnMgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMikpKQ0KLSAgIGAoc21lcmdlLXJlZmluZWQtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLWNo YW5nZWQgKCgsY2xhc3MpKSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLXJlbW92ZWQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KLSAgIGAoc21lcmdl LXVwcGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLTs7 Ozs7IHNwYWNlbGluZQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLWlu c2VydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCi0gICBg KHNwYWNlbGluZS1ldmlsLW1vdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3Rp dmUtYmx1ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwt cmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAg YChzcGFjZWxpbmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0 aXZlLWN5YW4pKSkNCi0gICBgKHNwYWNlbGluZS1mbHljaGVjay1lcnJvciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWZseWNoZWNrLWluZm8gKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChzcGFjZWxpbmUtZmx5Y2hl Y2std2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAo c3BhY2VsaW5lLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS1ibHVlKSkpDQotICAgYChzcGFjZWxpbmUtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCi0gICBgKHNwYWNlbGluZS1weXRob24tdmVu diAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHNwYWNlbGlu ZS1yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0K LSAgIGAoc3BhY2VsaW5lLXVubW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt ZnJpbmdlLWN5YW4pKSkNCi07Ozs7OyBzcGVlZGJhcg0KLSAgIGAoc3BlZWRiYXItYnV0dG9uLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0KLSAgIGAoc3BlZWRiYXItZGlyZWN0b3J5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc3Bl ZWRiYXItZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChz cGVlZGJhci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0 bGUtYmx1ZSkpKQ0KLSAgIGAoc3BlZWRiYXItc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChzcGVlZGJhci1zZXBhcmF0b3ItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBg KHNwZWVkYmFyLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVy KSkpDQotOzs7Ozsgc3BlbGwtZnUNCi0gICBgKHNwZWxsLWZ1LWluY29ycmVjdC1mYWNlDQotICAg ICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNz KQ0KLSAgICAgICA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJs aW5lIHQpKSkNCi07Ozs7OyBzdHJpcGVzDQotICAgYChzdHJpcGVzICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi07Ozs7OyBzdWNjZXNzDQotICAgYChzdWdnZXN0LWhl YWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KLTs7Ozs7IHN3aXRjaC13aW5kb3cNCi0gICBgKHN3aXRjaC13aW5kb3ctYmFja2dyb3Vu ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChzd2l0Y2gtd2luZG93LWxh YmVsICgoLGNsYXNzIDpoZWlnaHQgMy4wIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi07 Ozs7OyBzd2lwZXINCi0gICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtMSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCkpKQ0KLSAgIGAoc3dpcGVyLWJh Y2tncm91bmQtbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1jeWFuKSkpDQotICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTMgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHN3aXBlci1iYWNr Z3JvdW5kLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt Z3JlZW4pKSkNCi0gICBgKHN3aXBlci1saW5lLWZhY2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFj cy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc3dp cGVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXItbGluZS1mYWNlKSkpDQot ICAgYChzd2lwZXItbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IHN3aXBlci1saW5lLWZh Y2UpKSkNCi0gICBgKHN3aXBlci1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgc3dpcGVy LWxpbmUtZmFjZSkpKQ0KLSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJp dCBzd2lwZXItbGluZS1mYWNlKSkpDQotOzs7Ozsgc3dvb3ANCi0gICBgKHN3b29wLWZhY2UtaGVh ZGVyLWZvcm1hdC1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1h bHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXNjYWxlIG1vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLTMpKSkpDQot ICAgYChzd29vcC1mYWNlLWxpbmUtYnVmZmVyLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zY2FsZSBtb2R1cy1vcGVyYW5kaS10aGVt ZS1zY2FsZS00KSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChzd29vcC1mYWNlLXRhcmdldC1saW5l ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24g MjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKHN3b29wLWZhY2UtdGFyZ2V0LXdvcmRzICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotOzs7Ozsgc3gNCi0gICBg KHN4LWluYm94LWl0ZW0tdHlwZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKHN4LWluYm94LWl0ZW0tdHlwZS11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQg KHN4LWluYm94LWl0ZW0tdHlwZSBib2xkKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1hbnN3 ZXJzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlz dC1hbnN3ZXJzLWFjY2VwdGVkICgoLGNsYXNzIDpib3ggdCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkN Ci0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtYm91bnR5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJh Y2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChzeC1xdWVzdGlv bi1saXN0LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAg IGAoc3gtcXVlc3Rpb24tbGlzdC1mYXZvcml0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtcGFyZW50 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0 LXJlYWQtcXVlc3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoc3gt cXVlc3Rpb24tbGlzdC1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LXNjb3JlLXVwdm90ZWQgKCgsY2xhc3MgOmluaGVy aXQgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUgYm9sZCkpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxp c3QtdW5yZWFkLXF1ZXN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtYWNjZXB0ZWQgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6aGVpZ2h0IDEuMyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHN4LXF1ZXN0 aW9uLW1vZGUtY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxs b3cgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24t bW9kZS1jbG9zZWQtcmVhc29uICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5p bCkgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtY29udGVu dC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCi0gICBgKHN4LXF1ZXN0aW9u LW1vZGUtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc3gtcXVlc3Rp b24tbW9kZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1rYmQtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmhlaWdodCAwLjkgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLW1haW4gOnN0eWxlIHJl bGVhc2VkLWJ1dHRvbikgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN4LXF1ZXN0aW9u LW1vZGUtc2NvcmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAoc3gtcXVl c3Rpb24tbW9kZS1zY29yZS1kb3dudm90ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1zY29yZS11cHZvdGVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLW1vZGUtdGl0 bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo c3gtcXVlc3Rpb24tbW9kZS10aXRsZS1jb21tZW50cyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHN4LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKHN4LXVzZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCi0gICBgKHN4LXVzZXItcmVwdXRhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotOzs7Ozsgc3ltYm9sLW92ZXJsYXkNCi0gICBgKHN5bWJvbC1vdmVybGF5 LWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0p KSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtMiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAoc3ltYm9sLW92 ZXJsYXktZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93 KSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTUgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHN5bWJvbC1v dmVybGF5LWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkp DQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1jeWFuKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTggKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi07Ozs7OyBzeXNsb2ctbW9kZQ0K LSAgIGAoc3lzbG9nLWRlYnVnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChzeXNsb2ctZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChzeXNsb2ctZmlsZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHN5c2xvZy1oaWRl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgYChzeXNsb2ctaG91ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoc3lzbG9nLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1pcCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQgOnVuZGVybGluZSB0 KSkpDQotICAgYChzeXNsb2ctc3UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLSAgIGAoc3lzbG9nLXdhcm4gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgdGFibGUgKGJ1aWx0LWluIHRhYmxlLmVsKQ0KLSAg IGAodGFibGUtY2VsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnKSkpDQot Ozs7OzsgdGVsZXBob25lLWxpbmUNCi0gICBgKHRlbGVwaG9uZS1saW5lLWFjY2VudC1hY3RpdmUg KCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1pbmFjdGl2 ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtYWNjZW50LWluYWN0aXZlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAodGVsZXBo b25lLWxpbmUtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFj dGl2ZSkpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1lbWFjcyAoKCxjbGFzcyA6aW5o ZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWludGVuc2UtYmcp KSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtaW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IHRl bGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLGdyZWVuLWludGVuc2UtYmcpKSkNCi0gICBg KHRlbGVwaG9uZS1saW5lLWV2aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1s aW5lLWV2aWwgOmJhY2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnKSkpDQotICAgYCh0ZWxlcGhv bmUtbGluZS1ldmlsLW5vcm1hbCAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGluZS1ldmls IDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtb3BlcmF0 b3IgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAseWVs bG93LXN1YnRsZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1yZXBsYWNlICgoLGNs YXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNl LWJnKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmlsLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJp dCB0ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0g ICBgKHRlbGVwaG9uZS1saW5lLXByb2plY3RpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS11bmltcG9ydGFudCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLXdhcm5pbmcgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLTs7Ozs7 IHRlcm0NCi0gICBgKHRlcm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCi0gICBgKHRlcm0tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkp DQotICAgYCh0ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKHRlcm0tY29sb3ItY3lhbiAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsY3lhbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAodGVybS1jb2xvci1ncmVlbiAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYCh0ZXJt LWNvbG9yLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKHRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxy ZWQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAodGVybS1jb2xvci15ZWxsb3cgKCgsY2xhc3Mg OmJhY2tncm91bmQgLHllbGxvdyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYCh0ZXJtLXVu ZGVybGluZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyB0b21hdGluaG8NCi0gICBg KHRvbWF0aW5oby1vay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkN Ci0gICBgKHRvbWF0aW5oby1wYXVzZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct aW50ZW5zZSkpKQ0KLSAgIGAodG9tYXRpbmhvLXJlc2V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IHRyYW5zaWVudA0KLSAgIGAodHJhbnNpZW50LWFjdGl2ZS1p bmZpeCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBg KHRyYW5zaWVudC1hbWFyYW50aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi0gICBgKHRyYW5zaWVudC1hcmd1bWVudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYCh0cmFuc2llbnQtYmx1ZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYCh0cmFuc2llbnQtZGlzYWJs ZWQtc3VmZml4ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQot ICAgYCh0cmFuc2llbnQtZW5hYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1ncmVlbikpKQ0KLSAgIGAodHJhbnNpZW50LWhlYWRpbmcgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHJhbnNpZW50LWluYWN0 aXZlLWFyZ3VtZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHRyYW5z aWVudC1pbmFjdGl2ZS12YWx1ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YCh0cmFuc2llbnQta2V5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKHRyYW5zaWVudC1taXNtYXRjaGVkLWtleSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQp KSkNCi0gICBgKHRyYW5zaWVudC1ub25zdGFuZGFyZC1rZXkgKCgsY2xhc3MgOnVuZGVybGluZSB0 KSkpDQotICAgYCh0cmFuc2llbnQtcGluayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYCh0cmFuc2llbnQtcmVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYCh0cmFuc2llbnQtdGVhbCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAo dHJhbnNpZW50LXVucmVhY2hhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQp KSkNCi0gICBgKHRyYW5zaWVudC11bnJlYWNoYWJsZS1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAodHJhbnNpZW50LXZhbHVlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHRyYXNoZWQNCi0gICBgKHRyYXNoZWQtZGVsZXRl ZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAodHJhc2hl ZC1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHRyYXNoZWQt bWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KLSAgIGAo dHJhc2hlZC1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1hbHQpKSkN Ci0gICBgKHRyYXNoZWQtcmVzdG9yZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFy ay1zZWwpKSkNCi0gICBgKHRyYXNoZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24g OmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotOzs7OzsgdHJlZW1hY3MNCi0gICBgKHRyZWVtYWNz LWRpcmVjdG9yeS1jb2xsYXBzZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQpKSkNCi0gICBgKHRyZWVtYWNzLWRpcmVjdG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRp cmVkLWRpcmVjdG9yeSkpKQ0KLSAgIGAodHJlZW1hY3MtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0cmVlbWFjcy1mcmluZ2UtaW5kaWNhdG9yLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1hZGRl ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYCh0cmVl bWFjcy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50 ZW5zZS1yZWQgYm9sZCkpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1pZ25vcmVkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LW1vZGlmaWVkLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKHRyZWVt YWNzLWdpdC1yZW5hbWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYCh0cmVlbWFjcy1naXQtdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYCh0cmVlbWFjcy1naXQtdW50cmFja2VkLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKHRyZWVtYWNzLWhlbHAtY29s dW1uLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHRyZWVt YWNzLWhlbHAtdGl0bGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIp KSkNCi0gICBgKHRyZWVtYWNzLW9uLWZhaWx1cmUtcHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAodHJlZW1hY3Mtb24tc3VjY2Vzcy1w dWxzZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkN Ci0gICBgKHRyZWVtYWNzLXJvb3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlciA6aGVpZ2h0IDEuMiA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHRy ZWVtYWNzLXJvb3QtcmVtb3RlLWRpc2Nvbm5lY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRy ZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAodHJl ZW1hY3Mtcm9vdC1yZW1vdGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LWZh Y2UgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLXVu cmVhZGFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LXVucmVhZGFibGUt ZmFjZSkpKQ0KLSAgIGAodHJlZW1hY3Mtcm9vdC11bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNlIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQotICAgYCh0cmVl bWFjcy10YWdzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYCh0 cmVlbWFjcy10YWdzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQot Ozs7OzsgdHR5LW1lbnUNCi0gICBgKHR0eS1tZW51LWRpc2FibGVkLWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0dHktbWVudS1l bmFibGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0dHktbWVudS1zZWxlY3RlZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLTs7Ozs7IHR1YXJlZw0K LSAgIGAoY2FtbC10eXBlcy1kZWYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtcmVkKSkpDQotICAgYChjYW1sLXR5cGVzLWV4cHItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGNhbWwtdHlwZXMtb2NjLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChjYW1s LXR5cGVzLXNjb3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJs dWUpKSkNCi0gICBgKGNhbWwtdHlwZXMtdHlwZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtZG91YmxlLXNlbWlj b2xvbi1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1hdHRyaWJ1 dGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdl bnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWNvbnN0cnVjdG9y LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHR1YXJlZy1mb250 LWxvY2stZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1y ZWQgYm9sZCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stZXh0ZW5zaW9uLW5vZGUtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAg YCh0dWFyZWctZm9udC1sb2NrLWdvdmVybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2staW5maXgtZXh0 ZW5zaW9uLW5vZGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1m b250LWxvY2staW50ZXJhY3RpdmUtZGlyZWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1pbnRlcmFjdGl2ZS1l cnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1z eW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZCByZWQtZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1s b2NrLWludGVyYWN0aXZlLW91dHB1dC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZh aW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1sYWJlbC1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXIt ZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9j ay1tb2R1bGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2st bXVsdGlzdGFnZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFs dA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1mYWludCkpKSkNCi0gICBg KHR1YXJlZy1mb250LWxvY2stb3BlcmF0b3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKHR1YXJl Zy1vcGFtLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgcmVk LWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLW9wYW0tcGtnLXZhcmlhYmxlLW5hbWUtZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyB0eXBlc2NyaXB0DQotICAgYCh0eXBl c2NyaXB0LWpzZG9jLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkIDpz bGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHR5cGVzY3JpcHQtanNkb2MtdHlwZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKHR5cGVzY3JpcHQtanNkb2MtdmFsdWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7Ozsg dW5kby10cmVlDQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1hY3RpdmUtYnJhbmNoLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodW5k by10cmVlLXZpc3VhbGl6ZXItY3VycmVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWludGVuc2UpKSkNCi0gICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWRlZmF1bHQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1y ZWdpc3Rlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWludGVuc2UpKSkNCi0g ICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLXVubW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLTs7Ozs7IHZjICh2Yy1ob29rcy5lbCkNCi0gICBgKHZj LWNvbmZsaWN0LXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlIDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHZjLWVkaXRlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAodmMtbG9jYWxseS1hZGRlZC1zdGF0ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHZjLWxvY2tlZC1zdGF0 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHZjLW1pc3Npbmct c3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlIDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKHZjLW5lZWRzLXVwZGF0ZS1zdGF0ZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWN0aXZlIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBg KHZjLXJlbW92ZWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0g ICBgKHZjLXN0YXRlLWJhc2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAg IGAodmMtdXAtdG8tZGF0ZS1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotOzs7OzsgdmRpZmYNCi0gICBgKHZkaWZmLWFkZGl0aW9uLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KLSAgIGAodmRpZmYtY2hhbmdlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQotICAgYCh2 ZGlmZi1jbG9zZWQtZm9sZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRy YWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKHZkaWZmLXJlZmlu ZS1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkp KQ0KLSAgIGAodmRpZmYtcmVmaW5lLWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZGlmZi1yZWZpbmUtY2hhbmdlZCkpKQ0KLSAgIGAodmRpZmYtc3VidHJhY3Rpb24tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCi0gICBgKHZkaWZm LXRhcmdldC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkp KQ0KLTs7Ozs7IHZpbWlzaC1mb2xkDQotICAgYCh2aW1pc2gtZm9sZC1mcmluZ2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYCh2aW1pc2gtZm9sZC1tb3VzZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAodmlt aXNoLWZvbGQtb3ZlcmxheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyB2aXNpYmxlLW1hcmsNCi0gICBgKHZpc2libGUt bWFyay1hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykpKQ0KLSAg IGAodmlzaWJsZS1tYXJrLWZhY2UxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2Ut YmcpKSkNCi0gICBgKHZpc2libGUtbWFyay1mYWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVs bG93LWludGVuc2UtYmcpKSkNCi0gICBgKHZpc2libGUtbWFyay1mb3J3YXJkLWZhY2UxICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhLWludGVuc2UtYmcpKSkNCi0gICBgKHZpc2libGUtbWFy ay1mb3J3YXJkLWZhY2UyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJnKSkp DQotOzs7OzsgdmlzdWFsLXJlZ2V4cA0KLSAgIGAodnIvZ3JvdXAtMCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKHZyL2dyb3VwLTEgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYCh2ci9ncm91cC0y ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKHZy L21hdGNoLTAgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0K LSAgIGAodnIvbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVs bG93KSkpDQotICAgYCh2ci9tYXRjaC1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAo bW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsIGJvbGQpKSkpDQotOzs7Ozsgdm9sYXRpbGUtaGln aGxpZ2h0cw0KLSAgIGAodmhsL2RlZmF1bHQtZmFjZSAoKCxjbGFzcyAsQChhbmQgKD49IGVtYWNz LW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkp DQotOzs7OzsgdnRlcm0NCi0gICBgKHZ0ZXJtLWNvbG9yLWJsYWNrICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICJncmF5MzUiIDpmb3JlZ3JvdW5kICJncmF5MzUiKSkpDQotICAgYCh2dGVybS1jb2xvci1i bHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAg YCh2dGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYCh2dGVybS1jb2xvci1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh2dGVybS1jb2xvci1ncmVl biAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4gOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAg YCh2dGVybS1jb2xvci1pbnZlcnNlLXZpZGVvICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWlu IDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLW1hZ2VudGEgKCgsY2xhc3Mg OmJhY2tncm91bmQgLG1hZ2VudGEgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHZ0ZXJt LWNvbG9yLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci0gICBgKHZ0ZXJtLWNvbG9yLXVuZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodnRlcm0tY29sb3Itd2hpdGUgKCgsY2xh c3MgOmJhY2tncm91bmQgImdyYXk2NSIgOmZvcmVncm91bmQgImdyYXk2NSIpKSkNCi0gICBgKHZ0 ZXJtLWNvbG9yLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93IDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi07Ozs7OyB3Y2hlY2stbW9kZQ0KLSAgIGAod2NoZWNrLWRlZmF1bHQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHdlYi1t b2RlDQotICAgYCh3ZWItbW9kZS1hbm5vdGF0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2Vi LW1vZGUtY29tbWVudC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1hbm5vdGF0aW9uLWh0bWwtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1t b2RlLWFubm90YXRpb24tdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVu dC1mYWNlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stYXR0ci1uYW1lLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUgYmx1ZS1m YWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAs QChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0 LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stY29tbWVudC1mYWNlICgoLGNs YXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxv Y2stY29udHJvbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkp DQotICAgYCh3ZWItbW9kZS1ibG9jay1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctZGltKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1zdHJpbmctZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtYm9sZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKHdlYi1tb2RlLWJ1aWx0aW4tZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEt YWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY29tbWVudC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAod2ViLW1vZGUtY29tbWVudC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6YmFja2dyb3VuZCAsYmctZGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93 IHllbGxvdy1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWNvbnN0YW50LWZhY2UgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXIt ZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtYXQtcnVsZS1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZh aW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLWNvbG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt b3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUt Ym9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtY29tbWVudC1mYWNlICgoLGNsYXNz IDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLWZ1 bmN0aW9uLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2Vu dGEtYWx0IG1hZ2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAg YCh3ZWItbW9kZS1jc3MtcHJpb3JpdHktZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeWVsbG93LWFsdCB5ZWxsb3ctYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13 ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtcHJvcGVydHktbmFtZS1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkN Ci0gICBgKHdlYi1tb2RlLWNzcy1wc2V1ZG8tY2xhc3MtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZh aW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXNlbGVjdG9yLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90 aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3Mt c3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0g ICBgKHdlYi1tb2RlLWNzcy12YXJpYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCi0gICBgKHdlYi1tb2RlLWN1cnJlbnQtY29sdW1uLWhpZ2hsaWdodC1m YWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHdlYi1tb2RlLWN1cnJl bnQtZWxlbWVudC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLW1pbGQpKSkNCi0gICBgKHdlYi1tb2RlLWRvY3R5cGUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0g ICBgKHdlYi1tb2RlLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1yZWQpKSkNCi0gICBgKHdlYi1tb2RlLWZpbHRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVz LW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9k ZS1mb2xkZWQtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLWZ1 bmN0aW9uLWNhbGwtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgt Zm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWZ1bmN0aW9uLW5hbWUt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFn ZW50YS1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1jdXN0b20tZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkp KSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1lbmdpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLWVxdWFsLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1u YW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBj eWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLXZhbHVlLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUt YWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1lbnRpdHktZmFjZSAoKCxj bGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyIHllbGxv dy1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFn LWJyYWNrZXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYCh3ZWIt bW9kZS1odG1sLXRhZy1jdXN0b20tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRt bC10YWctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1h Z2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy1uYW1lc3BhY2VkLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFs dCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0g ICBgKHdlYi1tb2RlLWh0bWwtdGFnLXVuY2xvc2VkLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3Bl cmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVkIHJlZC1mYWludCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnVuZGVybGluZSB0KSkpDQotICAgYCh3ZWIt bW9kZS1pbmxheS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKHdl Yi1tb2RlLWl0YWxpYy1mYWNlICgoLGNsYXNzIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHdlYi1t b2RlLWphdmFzY3JpcHQtY29tbWVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNv bW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtamF2YXNjcmlwdC1zdHJpbmctZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtanNv bi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkp DQotICAgYCh3ZWItbW9kZS1qc29uLWNvbnRleHQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS1qc29uLWtleS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5j ZWQpKSkNCi0gICBgKHdlYi1tb2RlLWpzb24tc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg d2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0xLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2Rl LWpzeC1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgt NC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtcmVm aW5lLWZnKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAod2ViLW1v ZGUta2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkp DQotICAgYCh3ZWItbW9kZS1wYXJhbS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFu ZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1w YXJ0LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2Up KSkNCi0gICBgKHdlYi1tb2RlLXBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1i bG9jay1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1wYXJ0LXN0cmluZy1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1wcmVwcm9jZXNz b3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdC1v dGhlciByZWQtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtc2NyaXB0LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtcGFydC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1z cWwta2V5d29yZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZv cmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVs bG93IHllbGxvdy1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXN0cmluZy1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWludCkpKSkNCi0g ICBgKHdlYi1tb2RlLXN0eWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtcGFydC1m YWNlKSkpDQotICAgYCh3ZWItbW9kZS1zeW1ib2wtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1vcGVy YW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS10eXBlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdl bnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXVuZGVybGluZS1m YWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2ViLW1vZGUtdmFyaWFibGUtbmFt ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFu LWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFsdC1vdGhlciB5ZWxsb3ct YWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtd2hpdGVzcGFjZS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNl KSkpDQotOzs7Ozsgd2dyZXANCi0gICBgKHdncmVwLWRlbGV0ZS1mYWNlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKHdncmVwLWRvbmUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAod2dyZXAt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkNCi0gICBg KHdncmVwLWZpbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQotICAgYCh3Z3JlcC1yZWplY3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt aW50ZW5zZS1yZWQgYm9sZCkpKSkNCi07Ozs7OyB3aGljaC1mdW5jdGlvbi1tb2RlDQotICAgYCh3 aGljaC1mdW5jICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLTs7Ozs7 IHdoaWNoLWtleQ0KLSAgIGAod2hpY2gta2V5LWNvbW1hbmQtZGVzY3JpcHRpb24tZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAod2hpY2gta2V5LWdyb3VwLWRlc2NyaXB0 aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYCh3aGlj aC1rZXktaGlnaGxpZ2h0ZWQtY29tbWFuZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFsdCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdoaWNoLWtleS1rZXktZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCi0gICBgKHdoaWNoLWtl eS1sb2NhbC1tYXAtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAod2hpY2gta2V5LW5vdGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHdoaWNoLWtleS1zZXBh cmF0b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh3aGljaC1r ZXktc3BlY2lhbC1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctaW50ZW5zZSkpKQ0KLTs7Ozs7IHdoaXRlc3BhY2UtbW9kZQ0KLSAgIGAod2hpdGVzcGFj ZS1iaWctaW5kZW50ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkN Ci0gICBgKHdoaXRlc3BhY2UtZW1wdHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhKSkpDQotICAgYCh3aGl0ZXNwYWNlLWhzcGFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAo d2hpdGVzcGFjZS1pbmRlbnRhdGlvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFj ZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1saW5lICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAod2hpdGVz cGFjZS1uZXdsaW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3Jv dW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLXNwYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQot ICAgYCh3aGl0ZXNwYWNlLXNwYWNlLWFmdGVyLXRhYiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAod2hpdGVzcGFjZS1zcGFjZS1iZWZvcmUtdGFi ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYCh3aGl0 ZXNwYWNlLXRhYiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFjZSA6Zm9yZWdyb3Vu ZCAsZmctd2hpdGVzcGFjZSkpKQ0KLSAgIGAod2hpdGVzcGFjZS10cmFpbGluZyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLTs7Ozs7IHdpbmRvdy1kaXZpZGVy LW1vZGUNCi0gICBgKHdpbmRvdy1kaXZpZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5k b3ctZGl2aWRlci1pbm5lcikpKQ0KLSAgIGAod2luZG93LWRpdmlkZXItZmlyc3QtcGl4ZWwgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotICAgYCh3aW5k b3ctZGl2aWRlci1sYXN0LXBpeGVsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2 aWRlci1vdXRlcikpKQ0KLTs7Ozs7IHdpbnVtDQotICAgYCh3aW51bS1mYWNlICgoLGNsYXNzICxA KG1vZHVzLW9wZXJhbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsY3lhbi1hY3Rp dmUpKSkNCi07Ozs7OyB3cml0ZWdvb2QtbW9kZQ0KLSAgIGAod3JpdGVnb29kLWR1cGxpY2F0ZXMt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0IDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAod3JpdGVnb29kLXBhc3NpdmUtdm9pY2UtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy13YXJuaW5n KSkpDQotICAgYCh3cml0ZWdvb2Qtd2Vhc2Vscy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7Ozsgd29tYW4NCi0g ICBgKHdvbWFuLWFkZGl0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAod29tYW4tYm9sZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYCh3b21hbi1pdGFsaWMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4gOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAod29tYW4tdW5rbm93biAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAseWVsbG93IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7OyB4YWgtZWxpc3AtbW9kZQ0KLSAg IGAoeGFoLWVsaXNwLWF0LXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLW9wZXJhbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQg cmVkLWFsdC1mYWludCkpKSkNCi0gICBgKHhhaC1lbGlzcC1jYXAtdmFyaWFibGUgKCgsY2xhc3Mg LEAobW9kdXMtb3BlcmFuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdC1vdGhlciByZWQtYWx0LW90aGVyLWZh aW50KSkpKQ0KLSAgIGAoeGFoLWVsaXNwLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy1v cGVyYW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjeWFuLWFsdC1vdGhlciBjeWFuLWFsdC1vdGhlci1mYWludCkpKSkN Ci0gICBgKHhhaC1lbGlzcC1kb2xsYXItc3ltYm9sICgoLGNsYXNzICxAKG1vZHVzLW9wZXJhbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncmVlbiBncmVlbi1mYWludCkpKSkNCi07Ozs7OyB4cmVmDQotICAgYCh4cmVm LWZpbGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoeHJlZi1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYCh4cmVmLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1hdGNoKSkpDQot Ozs7OzsgeWFtbC1tb2RlDQotICAgYCh5YW1sLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7OzsgeWFzbmlwcGV0DQotICAgYCh5YXMtZmll bGQtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLTs7Ozs7IHp0cmVlDQotICAgYCh6dHJlZXAtYXJyb3ctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHp0cmVlcC1kaWZmLWhlYWRl ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtaGVhZGVyLXNtYWxsLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAg YCh6dHJlZXAtZGlmZi1tb2RlbC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKHp0cmVlcC1kaWZmLW1vZGVsLWRpZmYtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkKSkpDQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1pZ25vcmVkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWFsdCA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAoenRyZWVwLWRp ZmYtbW9kZWwtbm9ybWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoenRyZWVwLWV4cGFuZC1zaWduLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKHp0cmVlcC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQg MS4yIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHp0cmVlcC1sZWFmLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHp0cmVlcC1ub2RlLWNvdW50 LWNoaWxkcmVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAoenRyZWVwLW5vZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKSkN Ci07Ozs7IEVtYWNzIDI3Kw0KLSAgKHdoZW4gKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpDQot ICAgIChjdXN0b20tdGhlbWUtc2V0LWZhY2VzDQotICAgICAnbW9kdXMtb3BlcmFuZGkNCi07Ozs7 OyBsaW5lIG51bWJlcnMgKGBkaXNwbGF5LWxpbmUtbnVtYmVycy1tb2RlJyBhbmQgZ2xvYmFsIHZh cmlhbnQpDQotICAgICA7OyBOT1RFIHRoYXQgdGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIHRoZSBm YWNlcyB0aGF0IHdlcmUNCi0gICAgIDs7IGludHJvZHVjZWQgaW4gRW1hY3MgMjcsIGFzIHRoZSBv dGhlciBmYWNlcyBhcmUgYWxyZWFkeQ0KLSAgICAgOzsgc3VwcG9ydGVkLg0KLSAgICAgYChsaW5l LW51bWJlci1tYWpvci10aWNrICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLHllbGxvdy1u dWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgICBgKGxpbmUtbnVtYmVyLW1pbm9yLXRpY2sg KCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZGVmYXVsdCkNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07 Ozs7OyB0YWItYmFyLW1vZGUNCi0gICAgIGAodGFiLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctdGFiLWJhciA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItYmFyLXRhYiAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWIt YWN0aXZlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFi LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItYmFyLXRhYi1pbmFj dGl2ZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWluYWN0aXZl KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmct dGFiLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi07Ozs7OyB0YWItbGluZS1tb2Rl DQotICAgICBgKHRhYi1saW5lICgoLGNsYXNzIDpoZWlnaHQgMC45NSA6YmFja2dyb3VuZCAsYmct dGFiLWJhciA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgICAgYCh0YWItbGluZS1jbG9zZS1o aWdobGlnaHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgICAgYCh0YWItbGluZS1o aWdobGlnaHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5k ICxmZy1kaW0pKSkNCi0gICAgIGAodGFiLWxpbmUtdGFiICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KLSAgICAgYCh0YWItbGluZS10YWItY3VycmVudCAoKCxjbGFzcyA6aW5oZXJp dCB0YWItbGluZS10YWIpKSkNCi0gICAgIGAodGFiLWxpbmUtdGFiLWluYWN0aXZlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFiLWluYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkpKQ0KLTs7OzsgRW1hY3MgMjgrDQotICAod2hlbiAoPj0g ZW1hY3MtbWFqb3ItdmVyc2lvbiAyOCkNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtZmFjZXMNCi0g ICAgICdtb2R1cy1vcGVyYW5kaQ0KLTs7Ozs7IGlzZWFyY2ggcmVnZXhwIGdyb3Vwcw0KLSAgICAg YChpc2VhcmNoLWdyb3VwLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1i bHVlKSkpDQotICAgICBgKGlzZWFyY2gtZ3JvdXAtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkpKQ0KLTs7OyB2YXJpYWJsZXMNCi0gIChjdXN0b20tdGhl bWUtc2V0LXZhcmlhYmxlcw0KLSAgICdtb2R1cy1vcGVyYW5kaQ0KLTs7OzsgYW5zaS1jb2xvcnMN Ci0gICBgKGFuc2ktY29sb3ItZmFjZXMtdmVjdG9yIFtkZWZhdWx0IGJvbGQgc2hhZG93IGl0YWxp YyB1bmRlcmxpbmUgc3VjY2VzcyB3YXJuaW5nIGVycm9yXSkNCi0gICBgKGFuc2ktY29sb3ItbmFt ZXMtdmVjdG9yIFssZmctbWFpbiAscmVkICxncmVlbiAseWVsbG93ICxibHVlICxtYWdlbnRhICxj eWFuICxiZy1tYWluXSkNCi07Ozs7IGF3ZXNvbWUtdHJheQ0KLSAgIGAoYXdlc29tZS10cmF5LW1v ZGUtbGluZS1hY3RpdmUtY29sb3IgLGJsdWUpDQotICAgYChhd2Vzb21lLXRyYXktbW9kZS1saW5l LWluYWN0aXZlLWNvbG9yICxiZy1hY3RpdmUpDQotOzs7OyBmbHltYWtlIGZyaW5nZSBpbmRpY2F0 b3JzDQotICAgYChmbHltYWtlLWVycm9yLWJpdG1hcCAnKGZseW1ha2UtZG91YmxlLWV4Y2xhbWF0 aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpDQotICAgYChmbHltYWtlLXdhcm5pbmct Yml0bWFwICcoZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkNCi0g ICBgKGZseW1ha2Utbm90ZS1iaXRtYXAgJyhleGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZy aW5nZS1jeWFuKSkNCi07Ozs7IGlidWZmZXINCi0gICBgKGlidWZmZXItZGVsZXRpb24tZmFjZSAn bW9kdXMtdGhlbWUtbWFyay1kZWwpDQotICAgYChpYnVmZmVyLWZpbHRlci1ncm91cC1uYW1lLWZh Y2UgJ21vZHVzLXRoZW1lLW1hcmstc3ltYm9sKQ0KLSAgIGAoaWJ1ZmZlci1tYXJrZWQtZmFjZSAn bW9kdXMtdGhlbWUtbWFyay1zZWwpDQotICAgYChpYnVmZmVyLXRpdGxlLWZhY2UgJ21vZHVzLXRo ZW1lLXBzZXVkby1oZWFkZXIpDQotOzs7OyBoaWdobGlnaHQtdGFpbA0KLSAgIGAoaGlnaGxpZ2h0 LXRhaWwtY29sb3JzDQotICAgICAnKCgsZ3JlZW4tc3VidGxlLWJnIC4gMCkNCi0gICAgICAgKCxj eWFuLXN1YnRsZS1iZyAuIDIwKSkpDQotOzs7OyBobC10b2RvDQotICAgYChobC10b2RvLWtleXdv cmQtZmFjZXMNCi0gICAgICcoKCJIT0xEIiAuICx5ZWxsb3ctYWx0KQ0KLSAgICAgICAoIlRPRE8i IC4gLG1hZ2VudGEpDQotICAgICAgICgiTkVYVCIgLiAsbWFnZW50YS1hbHQtb3RoZXIpDQotICAg ICAgICgiVEhFTSIgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICgiUFJPRyIgLiAsY3lhbikNCi0g ICAgICAgKCJPS0FZIiAuICxjeWFuLWFsdCkNCi0gICAgICAgKCJET05UIiAuICxncmVlbi1hbHQp DQotICAgICAgICgiRkFJTCIgLiAscmVkKQ0KLSAgICAgICAoIkJVRyIgLiAscmVkKQ0KLSAgICAg ICAoIkRPTkUiIC4gLGdyZWVuKQ0KLSAgICAgICAoIk5PVEUiIC4gLHllbGxvdy1hbHQtb3RoZXIp DQotICAgICAgICgiS0xVREdFIiAuICx5ZWxsb3cpDQotICAgICAgICgiSEFDSyIgLiAseWVsbG93 KQ0KLSAgICAgICAoIlRFTVAiIC4gLHJlZC1udWFuY2VkKQ0KLSAgICAgICAoIkZJWE1FIiAuICxy ZWQtYWx0LW90aGVyKQ0KLSAgICAgICAoIlhYWCsiIC4gLHJlZC1hbHQpDQotICAgICAgICgiUkVW SUVXIiAuICxjeWFuLWFsdC1vdGhlcikNCi0gICAgICAgKCJERVBSRUNBVEVEIiAuICxibHVlLW51 YW5jZWQpKSkNCi07Ozs7IHZjLWFubm90YXRlIChDLXggdiBnKQ0KLSAgIGAodmMtYW5ub3RhdGUt YmFja2dyb3VuZCBuaWwpDQotICAgYCh2Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUgbmlsKQ0K LSAgIGAodmMtYW5ub3RhdGUtY29sb3ItbWFwDQotICAgICAnKCgyMCAuICxyZWQpDQotICAgICAg ICg0MCAuICxtYWdlbnRhKQ0KLSAgICAgICAoNjAgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICg4 MCAuICxyZWQtYWx0KQ0KLSAgICAgICAoMTAwIC4gLHllbGxvdykNCi0gICAgICAgKDEyMCAuICx5 ZWxsb3ctYWx0KQ0KLSAgICAgICAoMTQwIC4gLGZnLXNwZWNpYWwtd2FybSkNCi0gICAgICAgKDE2 MCAuICxmZy1zcGVjaWFsLW1pbGQpDQotICAgICAgICgxODAgLiAsZ3JlZW4pDQotICAgICAgICgy MDAgLiAsZ3JlZW4tYWx0KQ0KLSAgICAgICAoMjIwIC4gLGN5YW4tYWx0LW90aGVyKQ0KLSAgICAg ICAoMjQwIC4gLGN5YW4tYWx0KQ0KLSAgICAgICAoMjYwIC4gLGN5YW4pDQotICAgICAgICgyODAg LiAsZmctc3BlY2lhbC1jb2xkKQ0KLSAgICAgICAoMzAwIC4gLGJsdWUpDQotICAgICAgICgzMjAg LiAsYmx1ZS1hbHQpDQotICAgICAgICgzNDAgLiAsYmx1ZS1hbHQtb3RoZXIpDQotICAgICAgICgz NjAgLiAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHZjLWFubm90YXRlLXZlcnktb2xkLWNv bG9yIG5pbCkNCi07Ozs7IHh0ZXJtLWNvbG9yDQotICAgYCh4dGVybS1jb2xvci1uYW1lcyBbLGZn LW1haW4gLHJlZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50YSAsY3lhbiAsYmctYWx0XSkN Ci0gICBgKHh0ZXJtLWNvbG9yLW5hbWVzLWJyaWdodCBbLGZnLWFsdCAscmVkLWFsdCAsZ3JlZW4t YWx0ICx5ZWxsb3ctYWx0ICxibHVlLWFsdCAsbWFnZW50YS1hbHQgLGN5YW4tYWx0ICxiZy1tYWlu XSkpDQotOzs7IENvbmRpdGlvbmFsIHRoZW1lIHZhcmlhYmxlcw0KLTs7Ozsgb3JnLXNyYy1ibG9j ay1mYWNlcw0KLSAgOzsgdGhpcyBpcyBhIHVzZXIgb3B0aW9uIHRvIGFkZCBhIGNvbG91ci1jb2Rl ZCBiYWNrZ3JvdW5kIHRvIHNvdXJjZQ0KLSAgOzsgYmxvY2tzIGZvciB2YXJpb3VzIHByb2dyYW1t aW5nIGxhbmd1YWdlcw0KLSAgKHdoZW4gKGVxIG1vZHVzLW9wZXJhbmRpLXRoZW1lLW9yZy1ibG9j a3MgJ3JhaW5ib3cpDQotICAgIChjdXN0b20tdGhlbWUtc2V0LXZhcmlhYmxlcw0KLSAgICAgJ21v ZHVzLW9wZXJhbmRpDQotICAgICBgKG9yZy1zcmMtYmxvY2stZmFjZXMgICAgICAgICAgICAgIDsg VE9ETyB0aGlzIGxpc3Qgc2hvdWxkIGJlIGV4cGFuZGVkDQotICAgICAgIGAoKCJlbWFjcy1saXNw IiBtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEpDQotICAgICAgICAgKCJlbGlzcCIgbW9kdXMt dGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiY2xvanVyZSIgbW9kdXMtdGhlbWUt bnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiY2xvanVyZXNjcmlwdCIgbW9kdXMtdGhlbWUt bnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiYyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVl KQ0KLSAgICAgICAgICgiYysrIiBtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUpDQotICAgICAgICAg KCJzaCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoInNoZWxsIiBtb2R1 cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KLSAgICAgICAgICgiaHRtbCIgbW9kdXMtdGhlbWUtbnVh bmNlZC15ZWxsb3cpDQotICAgICAgICAgKCJ4bWwiIG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93 KQ0KLSAgICAgICAgICgiY3NzIiBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCkNCi0gICAgICAgICAo InNjc3MiIG1vZHVzLXRoZW1lLW51YW5jZWQtcmVkKQ0KLSAgICAgICAgICgicHl0aG9uIiBtb2R1 cy10aGVtZS1udWFuY2VkLWdyZWVuKQ0KLSAgICAgICAgICgiaXB5dGhvbiIgbW9kdXMtdGhlbWUt bnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAgICgiciIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFu KQ0KLSAgICAgICAgICgieWFtbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAgICAg ICgiY29uZiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAgICAgICgiZG9ja2VyIiBt b2R1cy10aGVtZS1udWFuY2VkLWN5YW4pDQotICAgICAgICAgKCJqc29uIiBtb2R1cy10aGVtZS1u dWFuY2VkLWN5YW4pKSkpKSkNCisoZGVmdGhlbWUgbW9kdXMtb3BlcmFuZGkNCisgICJBY2Nlc3Np YmxlIGFuZCBjdXN0b21pemFibGUgbGlnaHQgdGhlbWUgKFdDQUcgQUFBIHN0YW5kYXJkKS4NCitD b25mb3JtcyB3aXRoIHRoZSBoaWdoZXN0IGxlZ2liaWxpdHkgc3RhbmRhcmQgZm9yIGNvbG9yIGNv bnRyYXN0DQorYmV0d2VlbiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGluIGFueSBnaXZlbiBw aWVjZSBvZiB0ZXh0LA0KK3doaWNoIGNvcnJlc3BvbmRzIHRvIGEgbWluaW11bSBjb250cmFzdCBp biByZWxhdGl2ZSBsdW1pbmFuY2Ugb2YNCis3OjEuIikNCiANCi07OzsgbGlicmFyeSBwcm92aWRl cw0KLTs7OyMjI2F1dG9sb2FkDQotKHdoZW4gbG9hZC1maWxlLW5hbWUNCi0gIChhZGQtdG8tbGlz dCAnY3VzdG9tLXRoZW1lLWxvYWQtcGF0aA0KLSAgICAgICAgICAgICAgIChmaWxlLW5hbWUtYXMt ZGlyZWN0b3J5IChmaWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1uYW1lKSkpKQ0KKyhtb2R1 cy10aGVtZXMtdGhlbWUgbW9kdXMtb3BlcmFuZGkpDQogDQogKHByb3ZpZGUtdGhlbWUgJ21vZHVz LW9wZXJhbmRpKQ0KIA0KLShwcm92aWRlICdtb2R1cy1vcGVyYW5kaS10aGVtZSkNCi0NCiA7Ozsg bW9kdXMtb3BlcmFuZGktdGhlbWUuZWwgZW5kcyBoZXJlDQpkaWZmIC0tZ2l0IGEvZXRjL3RoZW1l cy9tb2R1cy10aGVtZXMuZWwgYi9ldGMvdGhlbWVzL21vZHVzLXRoZW1lcy5lbA0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjc5ODQ2ZGJmM2ENCi0tLSAvZGV2L251bGwN CisrKyBiL2V0Yy90aGVtZXMvbW9kdXMtdGhlbWVzLmVsDQpAQCAtMCwwICsxLDY0MzYgQEANCis7 OzsgbW9kdXMtdGhlbWVzLmVsIC0tLSBIaWdobHkgYWNjZXNzaWJsZSB0aGVtZXMgKFdDQUcgQUFB KSAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSotDQorDQorOzsgQ29weXJpZ2h0IChDKSAyMDE5LTIw MjEgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KKw0KKzs7IEF1dGhvcjogUHJvdGVz aWxhb3MgU3RhdnJvdSA8aW5mb0Bwcm90ZXNpbGFvcy5jb20+DQorOzsgVVJMOiBodHRwczovL2dp dGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzDQorOzsgVmVyc2lvbjogMS4yLjANCis7 OyBQYWNrYWdlLVJlcXVpcmVzOiAoKGVtYWNzICIyNi4xIikpDQorOzsgS2V5d29yZHM6IGZhY2Vz LCB0aGVtZSwgYWNjZXNzaWJpbGl0eQ0KKw0KKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBF bWFjcy4NCisNCis7OyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQorOzsgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3Ig KGF0DQorOzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KKzs7DQorOzsgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws IGJ1dA0KKzs7IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YNCis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQ0KKzs7IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4NCis7Ow0KKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQorOzsgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lg0KKw0K Kzs7OyBDb21tZW50YXJ5Og0KKzs7DQorOzsgVGhlIE1vZHVzIHRoZW1lcyBjb25mb3JtIHdpdGgg dGhlIGhpZ2hlc3Qgc3RhbmRhcmQgZm9yIGNvbG9yLWNvbnRyYXN0DQorOzsgYWNjZXNzaWJpbGl0 eSBiZXR3ZWVuIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgdmFsdWVzIChXQ0FHIEFBQSkuDQor OzsgVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBjdXN0b21pemF0aW9uIG9wdGlvbnMsIGhlbHBlciBm dW5jdGlvbnMsDQorOzsgaW50ZXJhY3RpdmUgY29tbWFuZHMsIGFuZCBmYWNlIHNwZWNpZmljYXRp b25zLiAgUGxlYXNlIHJlZmVyIHRvIHRoZQ0KKzs7IG9mZmljaWFsIEluZm8gbWFudWFsIGZvciBm dXJ0aGVyIGRvY3VtZW50YXRpb24gKGRpc3RyaWJ1dGVkIHdpdGggdGhlDQorOzsgdGhlbWVzLCBv ciBhdmFpbGFibGUgYXQ6IDxodHRwczovL3Byb3Rlc2lsYW9zLmNvbS9tb2R1cy10aGVtZXM+KS4N Cis7Ow0KKzs7IFRoZSB0aGVtZXMgc2hhcmUgdGhlIGZvbGxvd2luZyBjdXN0b21pemF0aW9uIG9w dGlvbnMsIGFsbCBvZiB3aGljaA0KKzs7IGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IChuaWwpOg0K Kzs7DQorOzsgICAgIG1vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMgICAgICAgICAgICAg KGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMgICAgICAgICAg ICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFk aW5ncyAgICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRj aC11aSAgICAgICAgICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy1uby1taXhl ZC1mb250cyAgICAgICAgICAgICAgICAgKGJvb2xlYW4pDQorOzsgICAgIG1vZHVzLXRoZW1lcy1o ZWFkaW5ncyAgICAgICAgICAgICAgICAgICAgICAgKGFsaXN0KQ0KKzs7ICAgICBtb2R1cy10aGVt ZXMtc2NhbGUtaGVhZGluZ3MgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KKzs7ICAgICBtb2R1 cy10aGVtZXMtZnJpbmdlcyAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAg IG1vZHVzLXRoZW1lcy1sYW5nLWNoZWNrZXJzICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7 OyAgICAgbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgICAgICAgICAgICAgICAgICAgICAoY2hvaWNl KQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtb3JnLWhhYml0ICAgICAgICAgICAgICAgICAgICAgIChj aG9pY2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1wcm9tcHRzICAgICAgICAgICAgICAgICAgICAg ICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLW1vZGUtbGluZSAgICAgICAgICAgICAg ICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1cy10aGVtZXMtZGlmZnMgICAgICAgICAgICAg ICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAgIG1vZHVzLXRoZW1lcy1zeW50YXggICAgICAg ICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7OyAgICAgbW9kdXMtdGhlbWVzLWludGVuc2Ut aGwtbGluZSAgICAgICAgICAgICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhlbWVzLXN1 YnRsZS1saW5lLW51bWJlcnMgICAgICAgICAgICAoYm9vbGVhbikNCis7OyAgICAgbW9kdXMtdGhl bWVzLXBhcmVuLW1hdGNoICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KKzs7ICAgICBtb2R1 cy10aGVtZXMtcmVnaW9uICAgICAgICAgICAgICAgICAgICAgICAgIChjaG9pY2UpDQorOzsgICAg IG1vZHVzLXRoZW1lcy1saW5rcyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCis7 OyAgICAgbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zICAgICAgICAgICAgICAgICAgICAoY2hvaWNl KQ0KKzs7DQorOzsgVGhlIGRlZmF1bHQgc2NhbGUgZm9yIGhlYWRpbmdzIGlzIGFzIGZvbGxvd3Mg KGl0IGNhbiBiZSBjdXN0b21pemVkIGFzDQorOzsgd2VsbC0tLXJlbWVtYmVyLCBubyBzY2FsaW5n IHRha2VzIHBsYWNlIGJ5IGRlZmF1bHQpOg0KKzs7DQorOzsgICAgIG1vZHVzLXRoZW1lcy1zY2Fs ZS0xIDEuMDUNCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTIgMS4xDQorOzsgICAgIG1vZHVz LXRoZW1lcy1zY2FsZS0zIDEuMTUNCis7OyAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTQgMS4yDQor OzsgICAgIG1vZHVzLXRoZW1lcy1zY2FsZS01IDEuMw0KKzs7DQorOzsgVGhlcmUgYWxzbyBleGlz dCB0d28gdW5pcXVlIGN1c3RvbWl6YXRpb24gb3B0aW9ucyBmb3Igb3ZlcnJpZGluZw0KKzs7IGNv bG9yIHBhbGV0dGUgdmFsdWVzLiAgVGhlIHNwZWNpZmljcyBhcmUgZG9jdW1lbnRlZCBpbiB0aGUg bWFudWFsLg0KKzs7IFRoZSBzeW1ib2xzIGFyZToNCis7Ow0KKzs7ICAgICBtb2R1cy10aGVtZXMt b3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzICAgICAgIChhbGlzdCkNCis7OyAgICAgbW9kdXMtdGhl bWVzLXZpdmVuZGktY29sb3Itb3ZlcnJpZGVzICAgICAgICAoYWxpc3QpDQorOzsNCis7OyBCZWxv dyBpcyB0aGUgbGlzdCBvZiBleHBsaWNpdGx5IHN1cHBvcnRlZCBwYWNrYWdlcyBvciBmYWNlIGdy b3Vwcw0KKzs7ICh0aGVyZSBhcmUgaW1wbGljaXRseSBzdXBwb3J0ZWQgcGFja2FnZXMgYXMgd2Vs bCwgd2hpY2ggaW5oZXJpdCBmcm9tDQorOzsgZm9udC1sb2NrIG9yIHNvbWUgYmFzaWMgZ3JvdXAp LiAgWW91IGFyZSBlbmNvdXJhZ2VkIHRvIHJlcG9ydCBhbnkNCis7OyBtaXNzaW5nIHBhY2thZ2Ug b3IgY2hhbmdlIHlvdSB3b3VsZCBsaWtlIHRvIHNlZS4NCis7Ow0KKzs7ICAgICBhY2Utd2luZG93 DQorOzsgICAgIGFnDQorOzsgICAgIGFsZXJ0DQorOzsgICAgIGFsbC10aGUtaWNvbnMNCis7OyAg ICAgYW5ub3RhdGUNCis7OyAgICAgYW56dQ0KKzs7ICAgICBhcHJvcG9zDQorOzsgICAgIGFwdC1z b3VyY2VzLWxpc3QNCis7OyAgICAgYXJ0Ym9sbG9ja3MtbW9kZQ0KKzs7ICAgICBhdWN0ZXggYW5k IFRlWA0KKzs7ICAgICBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQorOzsgICAgIGF2eQ0KKzs7ICAg ICBhd2Vzb21lLXRyYXkNCis7OyAgICAgYmJkYg0KKzs7ICAgICBiaW5kZXINCis7OyAgICAgYm0N Cis7OyAgICAgYm9uZ28NCis7OyAgICAgYm9vbg0KKzs7ICAgICBicmVha3BvaW50IChwcm92aWRl ZCBieSBidWlsdC1pbiBnZGItbWkuZWwpDQorOzsgICAgIGJ1ZmZlci1leHBvc2UNCis7OyAgICAg Y2FsZW5kYXIgYW5kIGRpYXJ5DQorOzsgICAgIGNhbGZ3DQorOzsgICAgIGNlbnRhdXItdGFicw0K Kzs7ICAgICBjZnJzDQorOzsgICAgIGNoYW5nZS1sb2cgYW5kIGxvZy12aWV3IChgdmMtcHJpbnQt bG9nJyBhbmQgYHZjLXByaW50LXJvb3QtbG9nJykNCis7OyAgICAgY2lkZXINCis7OyAgICAgY2ly Y2UNCis7OyAgICAgY29sb3ItcmcNCis7OyAgICAgY29sdW1uLWVuZm9yY2UtbW9kZQ0KKzs7ICAg ICBjb21wYW55LW1vZGUNCis7OyAgICAgY29tcGFueS1wb3NmcmFtZQ0KKzs7ICAgICBjb21waWxh dGlvbi1tb2RlDQorOzsgICAgIGNvbXBsZXRpb25zDQorOzsgICAgIGNvbnN1bHQNCis7OyAgICAg Y291bnNlbA0KKzs7ICAgICBjb3Vuc2VsLWNzcw0KKzs7ICAgICBjb3Vuc2VsLW5vdG11Y2gNCis7 OyAgICAgY291bnNlbC1vcmctY2FwdHVyZS1zdHJpbmcNCis7OyAgICAgY292DQorOzsgICAgIGNw ZXJsLW1vZGUNCis7OyAgICAgY3N2LW1vZGUNCis7OyAgICAgY3RybGYNCis7OyAgICAgY3VzdG9t IChNLXggY3VzdG9taXplKQ0KKzs7ICAgICBkYXAtbW9kZQ0KKzs7ICAgICBkYXNoYm9hcmQgKGVt YWNzLWRhc2hib2FyZCkNCis7OyAgICAgZGVhZGdyZXANCis7OyAgICAgZGViYnVncw0KKzs7ICAg ICBkZWZpbmUtd29yZA0KKzs7ICAgICBkZWZ0DQorOzsgICAgIGRpY3Rpb25hcnkNCis7OyAgICAg ZGlmZi1obA0KKzs7ICAgICBkaWZmLW1vZGUNCis7OyAgICAgZGltLWF1dG9sb2FkDQorOzsgICAg IGRpci10cmVldmlldw0KKzs7ICAgICBkaXJlZA0KKzs7ICAgICBkaXJlZC1hc3luYw0KKzs7ICAg ICBkaXJlZC1naXQNCis7OyAgICAgZGlyZWQtZ2l0LWluZm8NCis7OyAgICAgZGlyZWQtbmFycm93 DQorOzsgICAgIGRpcmVkLXN1YnRyZWUNCis7OyAgICAgZGlyZWRjDQorOzsgICAgIGRpcmVkZmwN Cis7OyAgICAgZGlyZWRwIChkaXJlZCspDQorOzsgICAgIGRpc2stdXNhZ2UNCis7OyAgICAgZGlz cGxheS1maWxsLWNvbHVtbi1pbmRpY2F0b3ItbW9kZQ0KKzs7ICAgICBkb29tLW1vZGVsaW5lDQor OzsgICAgIGR5bmFtaWMtcnVsZXINCis7OyAgICAgZWFzeS1qZWt5bGwNCis7OyAgICAgZWFzeS1r aWxsDQorOzsgICAgIGViZGINCis7OyAgICAgZWRpZmYNCis7OyAgICAgZWdsb3QNCis7OyAgICAg ZWwtc2VhcmNoDQorOzsgICAgIGVsZG9jDQorOzsgICAgIGVsZG9jLWJveA0KKzs7ICAgICBlbGZl ZWQNCis7OyAgICAgZWxmZWVkLXNjb3JlDQorOzsgICAgIGVtbXMNCis7OyAgICAgZW5oYW5jZWQt cnVieS1tb2RlDQorOzsgICAgIGVwYQ0KKzs7ICAgICBlcXVha2UNCis7OyAgICAgZXJjDQorOzsg ICAgIGVyb3MNCis7OyAgICAgZXJ0DQorOzsgICAgIGVzaGVsbA0KKzs7ICAgICBlc2hlbGwtZnJp bmdlLXN0YXR1cw0KKzs7ICAgICBlc2hlbGwtZ2l0LXByb21wdA0KKzs7ICAgICBlc2hlbGwtcHJv bXB0LWV4dHJhcyAoZXBlKQ0KKzs7ICAgICBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0KKzs7 ICAgICBldmlsIChldmlsLW1vZGUpDQorOzsgICAgIGV2aWwtZ29nZ2xlcw0KKzs7ICAgICBldmls LXNuaXBlDQorOzsgICAgIGV2aWwtdmlzdWFsLW1hcmstbW9kZQ0KKzs7ICAgICBld3cNCis7OyAg ICAgZXh3bQ0KKzs7ICAgICBleWVicm93c2UNCis7OyAgICAgZmFuY3ktZGFiYnJldg0KKzs7ICAg ICBmbHljaGVjaw0KKzs7ICAgICBmbHljaGVjay1jb2xvci1tb2RlLWxpbmUNCis7OyAgICAgZmx5 Y2hlY2staW5kaWNhdG9yDQorOzsgICAgIGZseWNoZWNrLXBvc2ZyYW1lDQorOzsgICAgIGZseW1h a2UNCis7OyAgICAgZmx5c3BlbGwNCis7OyAgICAgZmx5c3BlbGwtY29ycmVjdA0KKzs7ICAgICBm bHgNCis7OyAgICAgZnJlZXplLWl0DQorOzsgICAgIGZyb2ctbWVudQ0KKzs7ICAgICBmb2N1cw0K Kzs7ICAgICBmb2xkLXRoaXMNCis7OyAgICAgZm9udC1sb2NrIChnZW5lcmljIHN5bnRheCBoaWdo bGlnaHRpbmcpDQorOzsgICAgIGZvcmdlDQorOzsgICAgIGZvdW50YWluIChmb3VudGFpbi1tb2Rl KQ0KKzs7ICAgICBnZWlzZXINCis7OyAgICAgZ2l0LWNvbW1pdA0KKzs7ICAgICBnaXQtZ3V0dGVy IChhbmQgdmFyaWFudHMpDQorOzsgICAgIGdpdC1sZW5zDQorOzsgICAgIGdpdC1yZWJhc2UNCis7 OyAgICAgZ2l0LXRpbWVtYWNoaW5lDQorOzsgICAgIGdpdC13YWxrdHJlZQ0KKzs7ICAgICBnbnVz DQorOzsgICAgIGdvbGRlbi1yYXRpby1zY3JvbGwtc2NyZWVuDQorOzsgICAgIGhlbG0NCis7OyAg ICAgaGVsbS1scy1naXQNCis7OyAgICAgaGVsbS1zd2l0Y2gtc2hlbGwNCis7OyAgICAgaGVsbS14 cmVmDQorOzsgICAgIGhlbHBmdWwNCis7OyAgICAgaGlnaGxpZ2h0LWJsb2Nrcw0KKzs7ICAgICBo aWdobGlnaHQtZGVmaW5lZA0KKzs7ICAgICBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAoYGhl cy1tb2RlJykNCis7OyAgICAgaGlnaGxpZ2h0LWluZGVudGF0aW9uDQorOzsgICAgIGhpZ2hsaWdo dC1udW1iZXJzDQorOzsgICAgIGhpZ2hsaWdodC1zeW1ib2wNCis7OyAgICAgaGlnaGxpZ2h0LXRh aWwNCis7OyAgICAgaGlnaGxpZ2h0LXRoaW5nDQorOzsgICAgIGhsLWRlZmluZWQNCis7OyAgICAg aGwtZmlsbC1jb2x1bW4NCis7OyAgICAgaGwtbGluZS1tb2RlDQorOzsgICAgIGhsLXRvZG8NCis7 OyAgICAgaHlkcmENCis7OyAgICAgaHlwZXJsaXN0DQorOzsgICAgIGlidWZmZXINCis7OyAgICAg aWNvbXBsZXRlDQorOzsgICAgIGlkby1tb2RlDQorOzsgICAgIGllZGl0DQorOzsgICAgIGlmbGlw Yg0KKzs7ICAgICBpbWVudS1saXN0DQorOzsgICAgIGluZGl1bQ0KKzs7ICAgICBpbmZvDQorOzsg ICAgIGluZm8tY29sb3JzDQorOzsgICAgIGludGVyYWN0aW9uLWxvZw0KKzs7ICAgICBpb2NjdXIN Cis7OyAgICAgaXNlYXJjaCwgb2NjdXIsIGV0Yy4NCis7OyAgICAgaXNsIChpc2VhcmNoLWxpZ2h0 KQ0KKzs7ICAgICBpdnkNCis7OyAgICAgaXZ5LXBvc2ZyYW1lDQorOzsgICAgIGppcmEgKG9yZy1q aXJhKQ0KKzs7ICAgICBqb3VybmFsY3RsLW1vZGUNCis7OyAgICAganMyLW1vZGUNCis7OyAgICAg anVsaWENCis7OyAgICAganVweXRlcg0KKzs7ICAgICBrYW9jaGEtcnVubmVyDQorOzsgICAgIGtl eWNhc3QNCis7OyAgICAgbGluZSBudW1iZXJzIChgZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZScg YW5kIGdsb2JhbCB2YXJpYW50KQ0KKzs7ICAgICBsc3AtbW9kZQ0KKzs7ICAgICBsc3AtdWkNCis7 OyAgICAgbWFjcm9zdGVwDQorOzsgICAgIG1hZ2l0DQorOzsgICAgIG1hZ2l0LWltZXJnZQ0KKzs7 ICAgICBtYWtlLW1vZGUNCis7OyAgICAgbWFuDQorOzsgICAgIG1hcmdpbmFsaWENCis7OyAgICAg bWFya2Rvd24tbW9kZQ0KKzs7ICAgICBtYXJrdXAtZmFjZXMgKGBhZG9jLW1vZGUnKQ0KKzs7ICAg ICBtZW50b3INCis7OyAgICAgbWVzc2FnZXMNCis7OyAgICAgbWluaWJ1ZmZlci1saW5lDQorOzsg ICAgIG1pbmltYXANCis7OyAgICAgbW1tLW1vZGUNCis7OyAgICAgbW9kZWxpbmUNCis7OyAgICAg bW9vZC1saW5lDQorOzsgICAgIG1wZGVsDQorOzsgICAgIG11NGUNCis7OyAgICAgbXU0ZS1jb252 ZXJzYXRpb24NCis7OyAgICAgbXVsdGlwbGUtY3Vyc29ycw0KKzs7ICAgICBuZW90cmVlDQorOzsg ICAgIG5vLWVtb2ppDQorOzsgICAgIG5vdG11Y2gNCis7OyAgICAgbnVtMy1tb2RlDQorOzsgICAg IG54bWwtbW9kZQ0KKzs7ICAgICBvYmplZA0KKzs7ICAgICBvcmRlcmxlc3MNCis7OyAgICAgb3Jn DQorOzsgICAgIG9yZy1qb3VybmFsDQorOzsgICAgIG9yZy1ub3Rlcg0KKzs7ICAgICBvcmctcG9t b2Rvcm8NCis7OyAgICAgb3JnLXJlY3VyDQorOzsgICAgIG9yZy1yb2FtDQorOzsgICAgIG9yZy1z dXBlcnN0YXINCis7OyAgICAgb3JnLXRhYmxlLXN0aWNreS1oZWFkZXINCis7OyAgICAgb3JnLXRy ZWUtc2xpZGUNCis7OyAgICAgb3JnLXRyZWVzY29wZQ0KKzs7ICAgICBvcmlnYW1pDQorOzsgICAg IG91dGxpbmUtbW9kZQ0KKzs7ICAgICBvdXRsaW5lLW1pbm9yLWZhY2VzDQorOzsgICAgIHBhY2th Z2UgKE0teCBsaXN0LXBhY2thZ2VzKQ0KKzs7ICAgICBwYWdlLWJyZWFrLWxpbmVzDQorOzsgICAg IHBhcmFkb3gNCis7OyAgICAgcGFyZW4tZmFjZQ0KKzs7ICAgICBwYXJyb3QNCis7OyAgICAgcGFz cw0KKzs7ICAgICBwZGYtdG9vbHMNCis7OyAgICAgcGVyc3AtbW9kZQ0KKzs7ICAgICBwZXJzcGVj dGl2ZQ0KKzs7ICAgICBwaGktZ3JlcA0KKzs7ICAgICBwaGktc2VhcmNoDQorOzsgICAgIHBrZ2J1 aWxkLW1vZGUNCis7OyAgICAgcG9taWRvcg0KKzs7ICAgICBwb3B1cA0KKzs7ICAgICBwb3dlcmxp bmUNCis7OyAgICAgcG93ZXJsaW5lLWV2aWwNCis7OyAgICAgcHJpc20gKHNlZSAiTm90ZSBmb3Ig cHJpc20uZWwiIGluIHRoZSBtYW51YWwpDQorOzsgICAgIHByb2NlZA0KKzs7ICAgICBwcm9kaWd5 DQorOzsgICAgIHF1aWNrLXBlZWsNCis7OyAgICAgcmFja2V0LW1vZGUNCis7OyAgICAgcmFpbmJv dy1ibG9ja3MNCis7OyAgICAgcmFpbmJvdy1pZGVudGlmaWVycw0KKzs7ICAgICByYWluYm93LWRl bGltaXRlcnMNCis7OyAgICAgcmNpcmMNCis7OyAgICAgcmVjdXJzaW9uLWluZGljYXRvcg0KKzs7 ICAgICByZWdleHAtYnVpbGRlciAoYWxzbyBrbm93biBhcyBgcmUtYnVpbGRlcicpDQorOzsgICAg IHJnDQorOzsgICAgIHJpcGdyZXANCis7OyAgICAgcm1haWwNCis7OyAgICAgcnVsZXItbW9kZQ0K Kzs7ICAgICBzYWxsZXQNCis7OyAgICAgc2VsZWN0cnVtDQorOzsgICAgIHNlbGVjdHJ1bS1wcmVz Y2llbnQNCis7OyAgICAgc2VtYW50aWMNCis7OyAgICAgc2VzbWFuDQorOzsgICAgIHNoZWxsLXNj cmlwdC1tb2RlDQorOzsgICAgIHNob3J0ZG9jDQorOzsgICAgIHNob3ctcGFyZW4tbW9kZQ0KKzs7 ICAgICBzaHINCis7OyAgICAgc2lkZS1ub3Rlcw0KKzs7ICAgICBzaWV2ZS1tb2RlDQorOzsgICAg IHNrZXdlci1tb2RlDQorOzsgICAgIHNtYXJ0LW1vZGUtbGluZQ0KKzs7ICAgICBzbWFydHBhcmVu cw0KKzs7ICAgICBzbWVyZ2UNCis7OyAgICAgc3BhY2VsaW5lDQorOzsgICAgIHNwZWVkYmFyDQor OzsgICAgIHNwZWxsLWZ1DQorOzsgICAgIHNwcmF5DQorOzsgICAgIHN0cmlwZXMNCis7OyAgICAg c3VnZ2VzdA0KKzs7ICAgICBzd2l0Y2gtd2luZG93DQorOzsgICAgIHN3aXBlcg0KKzs7ICAgICBz d29vcA0KKzs7ICAgICBzeA0KKzs7ICAgICBzeW1ib2wtb3ZlcmxheQ0KKzs7ICAgICB0YWItYmFy LW1vZGUNCis7OyAgICAgdGFiLWxpbmUtbW9kZQ0KKzs7ICAgICBzeXNsb2ctbW9kZQ0KKzs7ICAg ICB0YWJsZSAoYnVpbHQtaW4gdGFibGUuZWwpDQorOzsgICAgIHRlbGVwaG9uZS1saW5lDQorOzsg ICAgIHRlcnJhZm9ybS1tb2RlDQorOzsgICAgIHRlcm0NCis7OyAgICAgdG9tYXRpbmhvDQorOzsg ICAgIHRyYW5zaWVudCAocG9wLXVwIHdpbmRvd3MgbGlrZSBNYWdpdCdzKQ0KKzs7ICAgICB0cmFz aGVkDQorOzsgICAgIHRyZWVtYWNzDQorOzsgICAgIHR0eS1tZW51DQorOzsgICAgIHR1YXJlZw0K Kzs7ICAgICB0eXBlc2NyaXB0DQorOzsgICAgIHVuZG8tdHJlZQ0KKzs7ICAgICB2YyAoYnVpbHQt aW4gbW9kZSBsaW5lIHN0YXR1cyBmb3IgdmVyc2lvbiBjb250cm9sKQ0KKzs7ICAgICB2Yy1hbm5v dGF0ZSAoQy14IHYgZykNCis7OyAgICAgdmRpZmYNCis7OyAgICAgdmltaXNoLWZvbGQNCis7OyAg ICAgdmlzaWJsZS1tYXJrDQorOzsgICAgIHZpc3VhbC1yZWdleHANCis7OyAgICAgdm9sYXRpbGUt aGlnaGxpZ2h0cw0KKzs7ICAgICB2dGVybQ0KKzs7ICAgICB3Y2hlY2stbW9kZQ0KKzs7ICAgICB3 ZWItbW9kZQ0KKzs7ICAgICB3Z3JlcA0KKzs7ICAgICB3aGljaC1mdW5jdGlvbi1tb2RlDQorOzsg ICAgIHdoaWNoLWtleQ0KKzs7ICAgICB3aGl0ZXNwYWNlLW1vZGUNCis7OyAgICAgd2luZG93LWRp dmlkZXItbW9kZQ0KKzs7ICAgICB3aW51bQ0KKzs7ICAgICB3cml0ZWdvb2QtbW9kZQ0KKzs7ICAg ICB3b21hbg0KKzs7ICAgICB4YWgtZWxpc3AtbW9kZQ0KKzs7ICAgICB4cmVmDQorOzsgICAgIHh0 ZXJtLWNvbG9yIChhbmQgYW5zaS1jb2xvcnMpDQorOzsgICAgIHlhbWwtbW9kZQ0KKzs7ICAgICB5 YXNuaXBwZXQNCis7OyAgICAgenRyZWUNCis7Ow0KKzs7IEZvciBhIGNvbXBsZXRlIHZpZXcgb2Yg dGhlIHByb2plY3QsIGFsc28gcmVmZXIgdG8gdGhlIGZvbGxvd2luZyBmaWxlcw0KKzs7IChzaG91 bGQgYmUgZGlzdHJpYnV0ZWQgaW4gdGhlIHNhbWUgcmVwb3NpdG9yeS9kaXJlY3RvcnkgYXMgdGhl DQorOzsgY3VycmVudCBpdGVtKToNCis7Ow0KKzs7IC0gbW9kdXMtb3BlcmFuZGktdGhlbWUuZWwg ICAgKExpZ2h0IHRoZW1lKQ0KKzs7IC0gbW9kdXMtdml2ZW5kaS10aGVtZS5lbCAgICAgKERhcmsg dGhlbWUpDQorDQorOzs7IENvZGU6DQorDQorDA0KKw0KKyhldmFsLXdoZW4tY29tcGlsZSAocmVx dWlyZSAnY2wtbGliKSkNCisNCisoZGVmZ3JvdXAgbW9kdXMtdGhlbWVzICgpDQorICAiT3B0aW9u cyBmb3IgYG1vZHVzLW9wZXJhbmRpJywgYG1vZHVzLXZpdmVuZGknLiINCisgIDpncm91cCAnZmFj ZXMNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBUb3AiKQ0KKyAgOnByZWZp eCAibW9kdXMtdGhlbWVzLSINCisgIDp0YWcgIk1vZHVzIFRoZW1lcyIpDQorDQorOzs7IFZhcmlh YmxlcyBmb3IgZWFjaCB0aGVtZSB2YXJpYW50DQorDQorOzs7OyBNb2R1cyBPcGVyYW5kaQ0KKw0K KyhkZWZpbmUtb2Jzb2xldGUtdmFyaWFibGUtYWxpYXMNCisgICdtb2R1cy1vcGVyYW5kaS10aGVt ZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KKyAgJ21vZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkN CisgICIxLjAuMCIpDQorDQorKGRlZmluZS1vYnNvbGV0ZS12YXJpYWJsZS1hbGlhcw0KKyAgJ21v ZHVzLXRoZW1lcy1jb2xvcnMtb3BlcmFuZGkNCisgICdtb2R1cy10aGVtZXMtb3BlcmFuZGktY29s b3JzDQorICAiMS4xLjAiKQ0KKw0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29s b3JzDQorICAnKDs7IGJhc2UgdmFsdWVzDQorICAgIChiZy1tYWluIC4gIiNmZmZmZmYiKSAoZmct bWFpbiAuICIjMDAwMDAwIikNCisgICAgKGJnLWRpbSAuICIjZjhmOGY4IikgKGZnLWRpbSAuICIj MjgyODI4IikNCisgICAgKGJnLWFsdCAuICIjZjBmMGYwIikgKGZnLWFsdCAuICIjNTA1MDUwIikN CisgICAgOzsgc3BlY2lmaWNhbGx5IGZvciBvbi9vZmYgc3RhdGVzIGFuZCBtdXN0IGJlIGNvbWJp bmVkIHdpdGgNCisgICAgOzsgdGhlbXNlbHZlcywgdGhvdWdoIHRoZSBiYWNrZ3JvdW5kcyBhcmUg YWxzbyBtZWFudCB0byBiZSB1c2VkIHdpdGgNCisgICAgOzsgb3RoZXIgImFjdGl2ZSIgdmFsdWVz LCBkZWZpbmVkIGZ1cnRoZXIgYmVsb3cNCisgICAgKGJnLWFjdGl2ZSAuICIjZDdkN2Q3IikgKGZn LWFjdGl2ZSAuICIjMGEwYTBhIikNCisgICAgKGJnLWluYWN0aXZlIC4gIiNlZmVmZWYiKSAoZmct aW5hY3RpdmUgLiAiIzQwNDE0OCIpDQorICAgIDs7IHRoZXNlIHNwZWNpYWwgdmFsdWVzIGFyZSBp bnRlbmRlZCBhcyBhbHRlcm5hdGl2ZXMgdG8gdGhlIGJhc2UNCisgICAgOzsgdmFsdWVzIGZvciBj YXNlcyB3aGVyZSB3ZSBuZWVkIHRvIGF2b2lkIGNvbmZ1c2lvbiBiZXR3ZWVuIHRoZQ0KKyAgICA7 OyBoaWdobGlnaHRlZCBjb25zdHJ1Y3RzOyB0aGV5IG11c3QgZWl0aGVyIGJlIHVzZWQgYXMgcGFp cnMgYmFzZWQNCisgICAgOzsgb24gdGhlaXIgbmFtZSBvciBlYWNoIGNhbiBiZSBjb21iaW5lZCB3 aXRoIHtmZyxiZ30te21haW4sYWx0LGRpbX0NCisgICAgOzsgYWx3YXlzIGluIGFjY29yZGFuY2Ug d2l0aCB0aGVpciByb2xlIGFzIGJhY2tncm91bmQgb3IgZm9yZWdyb3VuZA0KKyAgICAoYmctc3Bl Y2lhbC1jb2xkIC4gIiNkZGUzZjQiKSAoZmctc3BlY2lhbC1jb2xkIC4gIiMwOTMwNjAiKQ0KKyAg ICAoYmctc3BlY2lhbC1taWxkIC4gIiNjNGVkZTAiKSAoZmctc3BlY2lhbC1taWxkIC4gIiMxODQw MzQiKQ0KKyAgICAoYmctc3BlY2lhbC13YXJtIC4gIiNmMGUwZDQiKSAoZmctc3BlY2lhbC13YXJt IC4gIiM1ZDMwMjYiKQ0KKyAgICAoYmctc3BlY2lhbC1jYWxtIC4gIiNmOGRkZWEiKSAoZmctc3Bl Y2lhbC1jYWxtIC4gIiM2MTI4NGYiKQ0KKyAgICA7OyBmb3JlZ3JvdW5kcyB0aGF0IGNhbiBiZSBj b21iaW5lZCB3aXRoIGJnLW1haW4sIGJnLWRpbSwgYmctYWx0DQorICAgIChyZWQgLiAiI2E2MDAw MCIpDQorICAgIChyZWQtYWx0IC4gIiM5NzI1MDAiKQ0KKyAgICAocmVkLWFsdC1vdGhlciAuICIj YTAxMzJmIikNCisgICAgKHJlZC1mYWludCAuICIjN2YxMDEwIikNCisgICAgKHJlZC1hbHQtZmFp bnQgLiAiIzcwMmYwMCIpDQorICAgIChyZWQtYWx0LW90aGVyLWZhaW50IC4gIiM3ZjAwMmYiKQ0K KyAgICAoZ3JlZW4gLiAiIzAwNWUwMCIpDQorICAgIChncmVlbi1hbHQgLiAiIzMxNWIwMCIpDQor ICAgIChncmVlbi1hbHQtb3RoZXIgLiAiIzE0NWMzMyIpDQorICAgIChncmVlbi1mYWludCAuICIj MTA0NDEwIikNCisgICAgKGdyZWVuLWFsdC1mYWludCAuICIjMzA0NDBmIikNCisgICAgKGdyZWVu LWFsdC1vdGhlci1mYWludCAuICIjMGY0NDNmIikNCisgICAgKHllbGxvdyAuICIjODEzZTAwIikN CisgICAgKHllbGxvdy1hbHQgLiAiIzcwNDgwZiIpDQorICAgICh5ZWxsb3ctYWx0LW90aGVyIC4g IiM4NjM5MjciKQ0KKyAgICAoeWVsbG93LWZhaW50IC4gIiM1ZjQ0MDAiKQ0KKyAgICAoeWVsbG93 LWFsdC1mYWludCAuICIjNWQ1MDAwIikNCisgICAgKHllbGxvdy1hbHQtb3RoZXItZmFpbnQgLiAi IzVlM2EyMCIpDQorICAgIChibHVlIC4gIiMwMDMxYTkiKQ0KKyAgICAoYmx1ZS1hbHQgLiAiIzI1 NDRiYiIpDQorICAgIChibHVlLWFsdC1vdGhlciAuICIjMDAwMGMwIikNCisgICAgKGJsdWUtZmFp bnQgLiAiIzAwMzQ5NyIpDQorICAgIChibHVlLWFsdC1mYWludCAuICIjMGYzZDhjIikNCisgICAg KGJsdWUtYWx0LW90aGVyLWZhaW50IC4gIiMwMDEwODciKQ0KKyAgICAobWFnZW50YSAuICIjNzIx MDQ1IikNCisgICAgKG1hZ2VudGEtYWx0IC4gIiM4ZjAwNzUiKQ0KKyAgICAobWFnZW50YS1hbHQt b3RoZXIgLiAiIzUzMTdhYyIpDQorICAgIChtYWdlbnRhLWZhaW50IC4gIiM3NTJmNTAiKQ0KKyAg ICAobWFnZW50YS1hbHQtZmFpbnQgLiAiIzdiMjA2ZiIpDQorICAgIChtYWdlbnRhLWFsdC1vdGhl ci1mYWludCAuICIjNTUzNDhlIikNCisgICAgKGN5YW4gLiAiIzAwNTM4YiIpDQorICAgIChjeWFu LWFsdCAuICIjMzA1MTdmIikNCisgICAgKGN5YW4tYWx0LW90aGVyIC4gIiMwMDVhNWYiKQ0KKyAg ICAoY3lhbi1mYWludCAuICIjMDA1MDc3IikNCisgICAgKGN5YW4tYWx0LWZhaW50IC4gIiMzNTRm NmYiKQ0KKyAgICAoY3lhbi1hbHQtb3RoZXItZmFpbnQgLiAiIzEyNTQ1OCIpDQorICAgIDs7IHRo ZXNlIGZvcmVncm91bmQgdmFsdWVzIGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiBh bmQgYXJlDQorICAgIDs7IHRodXMgbm90IHN1aXRhYmxlIGZvciBnZW5lcmFsIHB1cnBvc2UgaGln aGxpZ2h0aW5nDQorICAgIChyZWQtaW50ZW5zZSAuICIjYjYwMDAwIikNCisgICAgKG9yYW5nZS1p bnRlbnNlIC4gIiM5MDQyMDAiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZSAuICIjMDA2ODAwIikNCisg ICAgKHllbGxvdy1pbnRlbnNlIC4gIiM2MDViMDAiKQ0KKyAgICAoYmx1ZS1pbnRlbnNlIC4gIiMx ZjFmY2UiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNlIC4gIiNhODAwN2YiKQ0KKyAgICAocHVycGxl LWludGVuc2UgLiAiIzdmMTBkMCIpDQorICAgIChjeWFuLWludGVuc2UgLiAiIzAwNWY4OCIpDQor ICAgIDs7IHRob3NlIGZvcmVncm91bmRzIGFyZSBtZWFudCBleGNsdXNpdmVseSBmb3IgYmctYWN0 aXZlLCBiZy1pbmFjdGl2ZQ0KKyAgICAocmVkLWFjdGl2ZSAuICIjOGEwMDAwIikNCisgICAgKGdy ZWVuLWFjdGl2ZSAuICIjMDA0YzJlIikNCisgICAgKHllbGxvdy1hY3RpdmUgLiAiIzcwMmQxZiIp DQorICAgIChibHVlLWFjdGl2ZSAuICIjMDAzMGI0IikNCisgICAgKG1hZ2VudGEtYWN0aXZlIC4g IiM1YzIwOTIiKQ0KKyAgICAoY3lhbi1hY3RpdmUgLiAiIzAwM2Y4YSIpDQorICAgIDs7IHRoZSAi c3VidGxlIiB2YWx1ZXMgYmVsb3cgYmUgY29tYmluZWQgd2l0aCBmZy1kaW0sIHdoaWxlIHRoZQ0K KyAgICA7OyAiaW50ZW5zZSIgc2hvdWxkIGJlIHBhaXJlZCB3aXRoIGZnLW1haW4NCisgICAgKHJl ZC1zdWJ0bGUtYmcgLiAiI2YyYjBhMiIpDQorICAgIChyZWQtaW50ZW5zZS1iZyAuICIjZmY4ODky IikNCisgICAgKGdyZWVuLXN1YnRsZS1iZyAuICIjYWVjZjkwIikNCisgICAgKGdyZWVuLWludGVu c2UtYmcgLiAiIzVhZGE4OCIpDQorICAgICh5ZWxsb3ctc3VidGxlLWJnIC4gIiNlNGMzNDAiKQ0K KyAgICAoeWVsbG93LWludGVuc2UtYmcgLiAiI2Y1ZGYyMyIpDQorICAgIChibHVlLXN1YnRsZS1i ZyAuICIjYjVkMGZmIikNCisgICAgKGJsdWUtaW50ZW5zZS1iZyAuICIjNmFhZWZmIikNCisgICAg KG1hZ2VudGEtc3VidGxlLWJnIC4gIiNmMGQzZmYiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNlLWJn IC4gIiNkNWJhZmYiKQ0KKyAgICAoY3lhbi1zdWJ0bGUtYmcgLiAiI2MwZWZmZiIpDQorICAgIChj eWFuLWludGVuc2UtYmcgLiAiIzQyY2JkNCIpDQorICAgIDs7IHRob3NlIGJhY2tncm91bmQgdmFs dWVzIG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluIGFuZCBzaG91bGQNCisgICAgOzsgb25s eSBiZSB1c2VkIGZvciBpbmRpY2F0b3JzIHRoYXQgYXJlIHBsYWNlZCBvbiB0aGUgZnJpbmdlcw0K KyAgICAocmVkLWZyaW5nZS1iZyAuICIjZjA4MjkwIikNCisgICAgKGdyZWVuLWZyaW5nZS1iZyAu ICIjNjJjODZhIikNCisgICAgKHllbGxvdy1mcmluZ2UtYmcgLiAiI2RiYmEzZiIpDQorICAgIChi bHVlLWZyaW5nZS1iZyAuICIjODJhZmZmIikNCisgICAgKG1hZ2VudGEtZnJpbmdlLWJnIC4gIiNl MGEzZmYiKQ0KKyAgICAoY3lhbi1mcmluZ2UtYmcgLiAiIzJmY2RkZiIpDQorICAgIDs7IHRob3Nl IGJhY2tncm91bmQgdmFsdWVzIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGdyYXBocyBvciBzaW1p bGFyDQorICAgIDs7IGFwcGxpY2F0aW9ucyB3aGVyZSBjb2xvcmVkIGJsb2NrcyBhcmUgZXhwZWN0 ZWQgdG8gYmUgcG9zaXRpb25lZA0KKyAgICA7OyBuZXh0IHRvIGVhY2ggb3RoZXINCisgICAgKHJl ZC1ncmFwaC0wLWJnIC4gIiNlZjZmNzkiKQ0KKyAgICAocmVkLWdyYXBoLTEtYmcgLiAiI2ZmOWY5 ZiIpDQorICAgIChncmVlbi1ncmFwaC0wLWJnIC4gIiM0OWQyMzkiKQ0KKyAgICAoZ3JlZW4tZ3Jh cGgtMS1iZyAuICIjNmRlYzZkIikNCisgICAgKHllbGxvdy1ncmFwaC0wLWJnIC4gIiNlZmVjMDgi KQ0KKyAgICAoeWVsbG93LWdyYXBoLTEtYmcgLiAiI2RiZmY0ZSIpDQorICAgIChibHVlLWdyYXBo LTAtYmcgLiAiIzU1YTJmMCIpDQorICAgIChibHVlLWdyYXBoLTEtYmcgLiAiIzdmY2ZmZiIpDQor ICAgIChtYWdlbnRhLWdyYXBoLTAtYmcgLiAiI2JhODZlZiIpDQorICAgIChtYWdlbnRhLWdyYXBo LTEtYmcgLiAiI2U3YWZmZiIpDQorICAgIChjeWFuLWdyYXBoLTAtYmcgLiAiIzMwZDNmMCIpDQor ICAgIChjeWFuLWdyYXBoLTEtYmcgLiAiIzZmZWZmZiIpDQorICAgIDs7IHRoZSBmb2xsb3dpbmcg YXJlIGZvciBjYXNlcyB3aGVyZSBib3RoIHRoZSBmb3JlZ3JvdW5kIGFuZCB0aGUNCisgICAgOzsg YmFja2dyb3VuZCBuZWVkIHRvIGhhdmUgYSBzaW1pbGFyIGh1ZSBhbmQgc28gbXVzdCBiZSBjb21i aW5lZA0KKyAgICA7OyB3aXRoIHRoZW1zZWx2ZXMsIGV2ZW4gdGhvdWdoIHRoZSBmb3JlZ3JvdW5k cyBjYW4gYmUgcGFpcmVkIHdpdGgNCisgICAgOzsgYW55IG9mIHRoZSBiYXNlIGJhY2tncm91bmRz DQorICAgIChyZWQtcmVmaW5lLWJnIC4gIiNmZmNjY2MiKSAocmVkLXJlZmluZS1mZyAuICIjNzgw MDAwIikNCisgICAgKGdyZWVuLXJlZmluZS1iZyAuICIjYWNlYWFjIikgKGdyZWVuLXJlZmluZS1m ZyAuICIjMDA0YzAwIikNCisgICAgKHllbGxvdy1yZWZpbmUtYmcgLiAiI2ZmZjI5YSIpICh5ZWxs b3ctcmVmaW5lLWZnIC4gIiM2MDQwMDAiKQ0KKyAgICAoYmx1ZS1yZWZpbmUtYmcgLiAiIzhhYzdm ZiIpIChibHVlLXJlZmluZS1mZyAuICIjMDAyMjg4IikNCisgICAgKG1hZ2VudGEtcmVmaW5lLWJn IC4gIiNmZmNjZmYiKSAobWFnZW50YS1yZWZpbmUtZmcgLiAiIzc3MDA3NyIpDQorICAgIChjeWFu LXJlZmluZS1iZyAuICIjOGVlY2Y0IikgKGN5YW4tcmVmaW5lLWZnIC4gIiMwMDQ4NTAiKQ0KKyAg ICA7OyB0aGUgIm51YW5jZWQiIGJhY2tncm91bmRzIGNhbiBiZSBjb21iaW5lZCB3aXRoIGFsbCBv ZiB0aGUgYWJvdmUNCisgICAgOzsgZm9yZWdyb3VuZHMsIGFzIHdlbGwgYXMgdGhvc2UgaW5jbHVk ZWQgaGVyZSwgd2hpbGUgdGhlICJudWFuY2VkIg0KKyAgICA7OyBmb3JlZ3JvdW5kcyBjYW4gaW4g dHVybiBhbHNvIGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLA0KKyAgICA7OyBiZy1h bHQNCisgICAgKHJlZC1udWFuY2VkLWJnIC4gIiNmZmYxZjAiKSAocmVkLW51YW5jZWQtZmcgLiAi IzVmMDAwMCIpDQorICAgIChncmVlbi1udWFuY2VkLWJnIC4gIiNlY2Y3ZWQiKSAoZ3JlZW4tbnVh bmNlZC1mZyAuICIjMDA0MDAwIikNCisgICAgKHllbGxvdy1udWFuY2VkLWJnIC4gIiNmZmYzZGEi KSAoeWVsbG93LW51YW5jZWQtZmcgLiAiIzNmMzAwMCIpDQorICAgIChibHVlLW51YW5jZWQtYmcg LiAiI2YzZjNmZiIpIChibHVlLW51YW5jZWQtZmcgLiAiIzIwMWY1NSIpDQorICAgIChtYWdlbnRh LW51YW5jZWQtYmcgLiAiI2ZkZjBmZiIpIChtYWdlbnRhLW51YW5jZWQtZmcgLiAiIzU0MWY0ZiIp DQorICAgIChjeWFuLW51YW5jZWQtYmcgLiAiI2ViZjZmYSIpIChjeWFuLW51YW5jZWQtZmcgLiAi IzBmMzM2MCIpDQorICAgIDs7IHRoZSBmb2xsb3dpbmcgYXJlIHJlc2VydmVkIGZvciBzcGVjaWZp YyBjYXNlcw0KKyAgICA7Ow0KKyAgICA7OyBiZy1obC1saW5lIGlzIGJldHdlZW4gYmctZGltIGFu ZCBiZy1hbHQsIHNvIGl0IHNob3VsZA0KKyAgICA7OyB3b3JrIHdpdGggYWxsIGFjY2VudHMgdGhh dCBjb3ZlciB0aG9zZSB0d28sIHBsdXMgYmctbWFpbg0KKyAgICA7Ow0KKyAgICA7OyBiZy1obC1h bHQgYW5kIGJnLWhsLWFsdC1pbnRlbnNlIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBubw0KKyAg ICA7OyBvdGhlciBncmV5c2NhbGUgb3IgZmFpcmx5IG5ldXRyYWwgYmFja2dyb3VuZCBpcyBhdmFp bGFibGUgdG8NCisgICAgOzsgcHJvcGVybHkgZHJhdyBhdHRlbnRpb24gdG8gYSBnaXZlbiBjb25z dHJ1Y3QNCisgICAgOzsNCisgICAgOzsgYmctaGVhZGVyIGlzIGJldHdlZW4gYmctYWN0aXZlIGFu ZCBiZy1pbmFjdGl2ZSwgc28gaXQNCisgICAgOzsgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW55IG9m IHRoZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMgdGhlDQorICAgIDs7ICJzcGVjaWFsIiBhbmQgYmFz ZSBmb3JlZ3JvdW5kIGNvbG9ycw0KKyAgICA7Ow0KKyAgICA7OyBiZy1wYXJlbi1tYXRjaCwgYmct cGFyZW4tbWF0Y2gtaW50ZW5zZSwgYmctcmVnaW9uIGFuZA0KKyAgICA7OyBiZy10YWItYWN0aXZl IG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluLCB3aGlsZQ0KKyAgICA7OyBiZy10YWItaW5h Y3RpdmUgc2hvdWxkIGJlIGNvbWJpbmVkIHdpdGggZmctZGltLCB3aGVyZWFzDQorICAgIDs7IGJn LXRhYi1pbmFjdGl2ZS1hbHQgZ29lcyB0b2dldGhlciB3aXRoIGZnLW1haW4NCisgICAgOzsNCisg ICAgOzsgYmctdGFiLWJhciBpcyBvbmx5IGludGVuZGVkIGZvciB0aGUgYmFyIHRoYXQgaG9sZHMg dGhlIHRhYnMgYW5kDQorICAgIDs7IGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggZmctbWFpbg0K KyAgICA7Ow0KKyAgICA7OyBmZy10YWItYWN0aXZlIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVkIHdp dGggYmctdGFiLWFjdGl2ZSwNCisgICAgOzsgdGhvdWdoIG9ubHkgZm9yIHN0eWxpbmcgc3BlY2lh bCBlbGVtZW50cywgc3VjaCBhcyB1bmRlcmxpbmluZw0KKyAgICA7OyB0aGUgY3VycmVudCB0YWIN CisgICAgOzsNCisgICAgOzsgZmctZXNjYXBlLWNoYXItY29uc3RydWN0IGFuZCBmZy1lc2NhcGUt Y2hhci1iYWNrc2xhc2ggY2FuDQorICAgIDs7IGJlIGNvbWJpbmVkIGJnLW1haW4sIGJnLWRpbSwg YmctYWx0DQorICAgIDs7DQorICAgIDs7IGZnLWxhbmctZXJyb3IsIGZnLWxhbmctd2FybmluZywg ZmctbGFuZy1ub3RlIGNhbiBiZQ0KKyAgICA7OyBjb21iaW5lZCB3aXRoIGJnLW1haW4sIGJnLWRp bSwgYmctYWx0DQorICAgIDs7DQorICAgIDs7IGZnLW1hcmstc2VsLCBmZy1tYXJrLWRlbCwgZmct bWFyay1hbHQgY2FuIGJlIGNvbWJpbmVkDQorICAgIDs7IHdpdGggYmctbWFpbiwgYmctZGltLCBi Zy1hbHQsIGJnLWhsLWxpbmUNCisgICAgOzsNCisgICAgOzsgZmctdW5mb2N1c2VkIG11c3QgYmUg Y29tYmluZWQgd2l0aCBiZy1tYWluDQorICAgIDs7DQorICAgIDs7IGZnLWRvY3N0cmluZywgZmct Y29tbWVudC15ZWxsb3cgY2FuIGJlIGNvbWJpbmVkIHdpdGgNCisgICAgOzsgYmctbWFpbiwgYmct ZGltLCBiZy1hbHQNCisgICAgOzsNCisgICAgOzsgdGhlIHdpbmRvdyBkaXZpZGVyIGNvbG9ycyBh cHBseSB0byBmYWNlcyB3aXRoIGp1c3QgYW4gZmcgdmFsdWUNCisgICAgOzsNCisgICAgOzsgYWxs IHBhaXJzIGFyZSBjb21iaW5hYmxlIHdpdGggdGhlbXNlbHZlcw0KKyAgICAoYmctaGwtbGluZSAu ICIjZjJlZmYzIikNCisgICAgKGJnLWhsLWxpbmUtaW50ZW5zZSAuICIjZTBlMGUwIikNCisgICAg KGJnLWhsLWFsdCAuICIjZmJlZWUwIikNCisgICAgKGJnLWhsLWFsdC1pbnRlbnNlIC4gIiNlOGRm ZDEiKQ0KKyAgICAoYmctcGFyZW4tbWF0Y2ggLiAiI2UwYWY4MiIpDQorICAgIChiZy1wYXJlbi1t YXRjaC1pbnRlbnNlIC4gIiNjNDg4ZmYiKQ0KKyAgICAoYmctcmVnaW9uIC4gIiNiY2JjYmMiKQ0K Kw0KKyAgICAoYmctdGFiLWJhciAuICIjZDVkNWQ1IikNCisgICAgKGJnLXRhYi1hY3RpdmUgLiAi I2Y2ZjZmNiIpDQorICAgIChiZy10YWItaW5hY3RpdmUgLiAiI2JkYmRiZCIpDQorICAgIChiZy10 YWItaW5hY3RpdmUtYWx0IC4gIiM5OTk5OTkiKQ0KKyAgICAoZmctdGFiLWFjdGl2ZSAuICIjMzAx NjllIikNCisNCisgICAgKGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCAuICIjOGIxMDMwIikNCisg ICAgKGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCAuICIjNjU0ZDBmIikNCisNCisgICAgKGZnLWxh bmctZXJyb3IgLiAiIzlmMDA0ZiIpDQorICAgIChmZy1sYW5nLXdhcm5pbmcgLiAiIzYwNGYwZiIp DQorICAgIChmZy1sYW5nLW5vdGUgLiAiIzQwNDBhZSIpDQorICAgIChmZy1sYW5nLXVuZGVybGlu ZS1lcnJvciAuICIjZWY0ZjU0IikNCisgICAgKGZnLWxhbmctdW5kZXJsaW5lLXdhcm5pbmcgLiAi I2NmOWYwMCIpDQorICAgIChmZy1sYW5nLXVuZGVybGluZS1ub3RlIC4gIiMzZjZmZWYiKQ0KKw0K KyAgICAoZmctd2luZG93LWRpdmlkZXItaW5uZXIgLiAiIzg4ODg4OCIpDQorICAgIChmZy13aW5k b3ctZGl2aWRlci1vdXRlciAuICIjNTg1ODU4IikNCisNCisgICAgKGZnLXVuZm9jdXNlZCAuICIj NTY1NzZkIikNCisNCisgICAgKGZnLWRvY3N0cmluZyAuICIjMmE0ODZhIikNCisgICAgKGZnLWNv bW1lbnQteWVsbG93IC4gIiM1ZjQ0MDAiKQ0KKw0KKyAgICAoYmctaGVhZGVyIC4gIiNlNWU1ZTUi KSAoZmctaGVhZGVyIC4gIiMyYTJhMmEiKQ0KKw0KKyAgICAoYmctd2hpdGVzcGFjZSAuICIjZjVl ZmVmIikgKGZnLXdoaXRlc3BhY2UgLiAiIzYyNDk1NiIpDQorDQorICAgIChiZy1kaWZmLWhlYWRp bmcgLiAiI2I3Y2ZlMCIpIChmZy1kaWZmLWhlYWRpbmcgLiAiIzA0MTY0NSIpDQorICAgIChiZy1k aWZmLWFkZGVkIC4gIiNkNGZhZDQiKSAoZmctZGlmZi1hZGRlZCAuICIjMDA0NTAwIikNCisgICAg KGJnLWRpZmYtYWRkZWQtZGV1dGVyYW4gLiAiI2RhZWZmZiIpIChmZy1kaWZmLWFkZGVkLWRldXRl cmFuIC4gIiMwMDIwNDQiKQ0KKyAgICAoYmctZGlmZi1jaGFuZ2VkIC4gIiNmY2VmY2YiKSAoZmct ZGlmZi1jaGFuZ2VkIC4gIiM1MjQyMDAiKQ0KKyAgICAoYmctZGlmZi1yZW1vdmVkIC4gIiNmZmU4 ZWYiKSAoZmctZGlmZi1yZW1vdmVkIC4gIiM2OTE2MTYiKQ0KKw0KKyAgICAoYmctZGlmZi1yZWZp bmUtYWRkZWQgLiAiIzk0Y2Y5NCIpIChmZy1kaWZmLXJlZmluZS1hZGRlZCAuICIjMDAyYTAwIikN CisgICAgKGJnLWRpZmYtcmVmaW5lLWFkZGVkLWRldXRlcmFuIC4gIiM3N2MwZWYiKSAoZmctZGlm Zi1yZWZpbmUtYWRkZWQtZGV1dGVyYW4gLiAiIzAwMDAzNSIpDQorICAgIChiZy1kaWZmLXJlZmlu ZS1jaGFuZ2VkIC4gIiNjY2NmOGYiKSAoZmctZGlmZi1yZWZpbmUtY2hhbmdlZCAuICIjMzAyMDEw IikNCisgICAgKGJnLWRpZmYtcmVmaW5lLXJlbW92ZWQgLiAiI2RhYTJiMCIpIChmZy1kaWZmLXJl ZmluZS1yZW1vdmVkIC4gIiM0MDAwMDAiKQ0KKw0KKyAgICAoYmctZGlmZi1mb2N1cy1hZGRlZCAu ICIjYmJlYWJiIikgKGZnLWRpZmYtZm9jdXMtYWRkZWQgLiAiIzAwMmMwMCIpDQorICAgIChiZy1k aWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuIC4gIiNiYWNmZmYiKSAoZmctZGlmZi1mb2N1cy1hZGRl ZC1kZXV0ZXJhbiAuICIjMDAxNzU1IikNCisgICAgKGJnLWRpZmYtZm9jdXMtY2hhbmdlZCAuICIj ZWNkZmJmIikgKGZnLWRpZmYtZm9jdXMtY2hhbmdlZCAuICIjMzkyOTAwIikNCisgICAgKGJnLWRp ZmYtZm9jdXMtcmVtb3ZlZCAuICIjZWZjYmNmIikgKGZnLWRpZmYtZm9jdXMtcmVtb3ZlZCAuICIj NGEwMDAwIikNCisNCisgICAgKGJnLWRpZmYtbmV1dHJhbC0wIC4gIiM5Nzk3OTciKSAoZmctZGlm Zi1uZXV0cmFsLTAgLiAiIzA0MDQwNCIpDQorICAgIChiZy1kaWZmLW5ldXRyYWwtMSAuICIjYjBi MGIwIikgKGZnLWRpZmYtbmV1dHJhbC0xIC4gIiMyNTI1MjUiKQ0KKyAgICAoYmctZGlmZi1uZXV0 cmFsLTIgLiAiI2NjY2NjYyIpIChmZy1kaWZmLW5ldXRyYWwtMiAuICIjM2EzYTNhIikNCisNCisg ICAgKGJnLW1hcmstc2VsIC4gIiNhMGYwY2YiKSAoZmctbWFyay1zZWwgLiAiIzAwNTA0MCIpDQor ICAgIChiZy1tYXJrLWRlbCAuICIjZmZjY2JiIikgKGZnLW1hcmstZGVsIC4gIiM4NDAwNDAiKQ0K KyAgICAoYmctbWFyay1hbHQgLiAiI2Y1ZDg4ZiIpIChmZy1tYXJrLWFsdCAuICIjNzgyOTAwIikp DQorICAiVGhlIGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy1vcGVyYW5kaScgdGhlbWUuDQorRWFj aCBlbGVtZW50IGhhcyB0aGUgZm9ybSAoTkFNRSAuIEhFWCkgd2l0aCB0aGUgZm9ybWVyIGFzIGEN CitzeW1ib2wgYW5kIHRoZSBsYXR0ZXIgYXMgYSBzdHJpbmcuIikNCisNCis7Ozs7IE1vZHVzIFZp dmVuZGkNCisNCisoZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzDQorICAnbW9kdXMtdml2 ZW5kaS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KKyAgJ21vZHVzLXRoZW1lcy1jb2xvcnMt dml2ZW5kaQ0KKyAgIjEuMC4wIikNCisNCisoZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFz DQorICAnbW9kdXMtdGhlbWVzLWNvbG9ycy12aXZlbmRpDQorICAnbW9kdXMtdGhlbWVzLXZpdmVu ZGktY29sb3JzDQorICAiMS4xLjAiKQ0KKw0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtdml2ZW5k aS1jb2xvcnMNCisgICcoOzsgYmFzZSB2YWx1ZXMNCisgICAgKGJnLW1haW4gLiAiIzAwMDAwMCIp IChmZy1tYWluIC4gIiNmZmZmZmYiKQ0KKyAgICAoYmctZGltIC4gIiMxMTBiMTEiKSAoZmctZGlt IC4gIiNlMGU2ZjAiKQ0KKyAgICAoYmctYWx0IC4gIiMxODFhMjAiKSAoZmctYWx0IC4gIiNhOGE4 YTgiKQ0KKyAgICA7OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgYW5kIG11c3QgYmUg Y29tYmluZWQgd2l0aA0KKyAgICA7OyB0aGVtc2VsdmVzLCB0aG91Z2ggdGhlIGJhY2tncm91bmRz IGFyZSBhbHNvIG1lYW50IHRvIGJlIHVzZWQgd2l0aA0KKyAgICA7OyBvdGhlciAiYWN0aXZlIiB2 YWx1ZXMsIGRlZmluZWQgZnVydGhlciBiZWxvdw0KKyAgICAoYmctYWN0aXZlIC4gIiMzMjMyMzIi KSAoZmctYWN0aXZlIC4gIiNmNGY0ZjQiKQ0KKyAgICAoYmctaW5hY3RpdmUgLiAiIzFlMWUxZSIp IChmZy1pbmFjdGl2ZSAuICIjYmZjMGM0IikNCisgICAgOzsgdGhlc2Ugc3BlY2lhbCB2YWx1ZXMg YXJlIGludGVuZGVkIGFzIGFsdGVybmF0aXZlcyB0byB0aGUgYmFzZQ0KKyAgICA7OyB2YWx1ZXMg Zm9yIGNhc2VzIHdoZXJlIHdlIG5lZWQgdG8gYXZvaWQgY29uZnVzaW9uIGJldHdlZW4gdGhlDQor ICAgIDs7IGhpZ2hsaWdodGVkIGNvbnN0cnVjdHM7IHRoZXkgbXVzdCBlaXRoZXIgYmUgdXNlZCBh cyBwYWlycyBiYXNlZA0KKyAgICA7OyBvbiB0aGVpciBuYW1lIG9yIGVhY2ggY2FuIGJlIGNvbWJp bmVkIHdpdGgge2ZnLGJnfS17bWFpbixhbHQsZGltfQ0KKyAgICA7OyBhbHdheXMgaW4gYWNjb3Jk YW5jZSB3aXRoIHRoZWlyIHJvbGUgYXMgYmFja2dyb3VuZCBvciBmb3JlZ3JvdW5kDQorICAgIChi Zy1zcGVjaWFsLWNvbGQgLiAiIzIwMzQ0OCIpIChmZy1zcGVjaWFsLWNvbGQgLiAiI2M2ZWFmZiIp DQorICAgIChiZy1zcGVjaWFsLW1pbGQgLiAiIzAwMzIyZSIpIChmZy1zcGVjaWFsLW1pbGQgLiAi I2JmZWJlMCIpDQorICAgIChiZy1zcGVjaWFsLXdhcm0gLiAiIzM4MmYyNyIpIChmZy1zcGVjaWFs LXdhcm0gLiAiI2Y4ZGVjMCIpDQorICAgIChiZy1zcGVjaWFsLWNhbG0gLiAiIzM5MmE0OCIpIChm Zy1zcGVjaWFsLWNhbG0gLiAiI2ZiZDZmNCIpDQorICAgIDs7IGZvcmVncm91bmRzIHRoYXQgY2Fu IGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLCBiZy1hbHQNCisgICAgKHJlZCAuICIj ZmY4MDU5IikNCisgICAgKHJlZC1hbHQgLiAiI2Y0OTIzYiIpDQorICAgIChyZWQtYWx0LW90aGVy IC4gIiNmZjk5NzciKQ0KKyAgICAocmVkLWZhaW50IC4gIiNmZmEwYTAiKQ0KKyAgICAocmVkLWFs dC1mYWludCAuICIjZjVhYTgwIikNCisgICAgKHJlZC1hbHQtb3RoZXItZmFpbnQgLiAiI2ZmOWZi ZiIpDQorICAgIChncmVlbiAuICIjNDRiYzQ0IikNCisgICAgKGdyZWVuLWFsdCAuICIjNzBjOTAw IikNCisgICAgKGdyZWVuLWFsdC1vdGhlciAuICIjMDBjZDY4IikNCisgICAgKGdyZWVuLWZhaW50 IC4gIiM4OGNmODgiKQ0KKyAgICAoZ3JlZW4tYWx0LWZhaW50IC4gIiNhOGNmODgiKQ0KKyAgICAo Z3JlZW4tYWx0LW90aGVyLWZhaW50IC4gIiM4OGNmYWYiKQ0KKyAgICAoeWVsbG93IC4gIiNlZWNj MDAiKQ0KKyAgICAoeWVsbG93LWFsdCAuICIjY2ZkZjMwIikNCisgICAgKHllbGxvdy1hbHQtb3Ro ZXIgLiAiI2YwY2U0MyIpDQorICAgICh5ZWxsb3ctZmFpbnQgLiAiI2QyYjU4MCIpDQorICAgICh5 ZWxsb3ctYWx0LWZhaW50IC4gIiNjYWJmNzciKQ0KKyAgICAoeWVsbG93LWFsdC1vdGhlci1mYWlu dCAuICIjZDBiYTk1IikNCisgICAgKGJsdWUgLiAiIzJmYWZmZiIpDQorICAgIChibHVlLWFsdCAu ICIjNzlhOGZmIiApDQorICAgIChibHVlLWFsdC1vdGhlciAuICIjMDBiY2ZmIikNCisgICAgKGJs dWUtZmFpbnQgLiAiIzkyYmFmZiIpDQorICAgIChibHVlLWFsdC1mYWludCAuICIjYTBhY2Y1IikN CisgICAgKGJsdWUtYWx0LW90aGVyLWZhaW50IC4gIiM4N2M4ZmYiKQ0KKyAgICAobWFnZW50YSAu ICIjZmVhY2QwIikNCisgICAgKG1hZ2VudGEtYWx0IC4gIiNmNzhmZTciKQ0KKyAgICAobWFnZW50 YS1hbHQtb3RoZXIgLiAiI2I2YTBmZiIpDQorICAgIChtYWdlbnRhLWZhaW50IC4gIiNlMGIyZDYi KQ0KKyAgICAobWFnZW50YS1hbHQtZmFpbnQgLiAiI2VmOWZlNCIpDQorICAgIChtYWdlbnRhLWFs dC1vdGhlci1mYWludCAuICIjY2ZhNmZmIikNCisgICAgKGN5YW4gLiAiIzAwZDNkMCIpDQorICAg IChjeWFuLWFsdCAuICIjNGFlOGZjIikNCisgICAgKGN5YW4tYWx0LW90aGVyIC4gIiM2YWU0Yjki KQ0KKyAgICAoY3lhbi1mYWludCAuICIjOTBjNGVkIikNCisgICAgKGN5YW4tYWx0LWZhaW50IC4g IiNhMGJmZGYiKQ0KKyAgICAoY3lhbi1hbHQtb3RoZXItZmFpbnQgLiAiI2E0ZDBiYiIpDQorICAg IDs7IHRoZXNlIGZvcmVncm91bmQgdmFsdWVzIGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggYmct bWFpbiBhbmQgYXJlDQorICAgIDs7IHRodXMgbm90IHN1aXRhYmxlIGZvciBnZW5lcmFsIHB1cnBv c2UgaGlnaGxpZ2h0aW5nDQorICAgIChyZWQtaW50ZW5zZSAuICIjZmU2MDYwIikNCisgICAgKG9y YW5nZS1pbnRlbnNlIC4gIiNmYmE4NDkiKQ0KKyAgICAoZ3JlZW4taW50ZW5zZSAuICIjNGZlNDJm IikNCisgICAgKHllbGxvdy1pbnRlbnNlIC4gIiNmMGRkNjAiKQ0KKyAgICAoYmx1ZS1pbnRlbnNl IC4gIiM0ZmFmZmYiKQ0KKyAgICAobWFnZW50YS1pbnRlbnNlIC4gIiNmZjYyZDQiKQ0KKyAgICAo cHVycGxlLWludGVuc2UgLiAiIzlmODBmZiIpDQorICAgIChjeWFuLWludGVuc2UgLiAiIzNmZGZk MCIpDQorICAgIDs7IHRob3NlIGZvcmVncm91bmRzIGFyZSBtZWFudCBleGNsdXNpdmVseSBmb3Ig YmctYWN0aXZlLCBiZy1pbmFjdGl2ZQ0KKyAgICAocmVkLWFjdGl2ZSAuICIjZmZhN2JhIikNCisg ICAgKGdyZWVuLWFjdGl2ZSAuICIjNzBkNzNmIikNCisgICAgKHllbGxvdy1hY3RpdmUgLiAiI2Ri YmU1ZiIpDQorICAgIChibHVlLWFjdGl2ZSAuICIjMzRjZmZmIikNCisgICAgKG1hZ2VudGEtYWN0 aXZlIC4gIiNkNWIxZmYiKQ0KKyAgICAoY3lhbi1hY3RpdmUgLiAiIzAwZDhiNCIpDQorICAgIDs7 IHRoZSAic3VidGxlIiB2YWx1ZXMgYmVsb3cgYmUgY29tYmluZWQgd2l0aCBmZy1kaW0sIHdoaWxl IHRoZQ0KKyAgICA7OyAiaW50ZW5zZSIgc2hvdWxkIGJlIHBhaXJlZCB3aXRoIGZnLW1haW4NCisg ICAgKHJlZC1zdWJ0bGUtYmcgLiAiIzc2MjQyMiIpDQorICAgIChyZWQtaW50ZW5zZS1iZyAuICIj YTQyMDJhIikNCisgICAgKGdyZWVuLXN1YnRsZS1iZyAuICIjMmY0YTAwIikNCisgICAgKGdyZWVu LWludGVuc2UtYmcgLiAiIzAwNjgwMCIpDQorICAgICh5ZWxsb3ctc3VidGxlLWJnIC4gIiM2MDQy MDAiKQ0KKyAgICAoeWVsbG93LWludGVuc2UtYmcgLiAiIzg3NDkwMCIpDQorICAgIChibHVlLXN1 YnRsZS1iZyAuICIjMTAzODdjIikNCisgICAgKGJsdWUtaW50ZW5zZS1iZyAuICIjMmE0MGI4IikN CisgICAgKG1hZ2VudGEtc3VidGxlLWJnIC4gIiM0OTM2NmUiKQ0KKyAgICAobWFnZW50YS1pbnRl bnNlLWJnIC4gIiM3MDQyYTIiKQ0KKyAgICAoY3lhbi1zdWJ0bGUtYmcgLiAiIzAwNDE1ZSIpDQor ICAgIChjeWFuLWludGVuc2UtYmcgLiAiIzAwNWY4OCIpDQorICAgIDs7IHRob3NlIGJhY2tncm91 bmQgdmFsdWVzIG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluIGFuZCBzaG91bGQNCisgICAg Ozsgb25seSBiZSB1c2VkIGZvciBpbmRpY2F0b3JzIHRoYXQgYXJlIHBsYWNlZCBvbiB0aGUgZnJp bmdlcw0KKyAgICAocmVkLWZyaW5nZS1iZyAuICIjOGYxZjRiIikNCisgICAgKGdyZWVuLWZyaW5n ZS1iZyAuICIjMDA2NzAwIikNCisgICAgKHllbGxvdy1mcmluZ2UtYmcgLiAiIzZmNGYwMCIpDQor ICAgIChibHVlLWZyaW5nZS1iZyAuICIjM2YzM2FmIikNCisgICAgKG1hZ2VudGEtZnJpbmdlLWJn IC4gIiM2ZjJmODkiKQ0KKyAgICAoY3lhbi1mcmluZ2UtYmcgLiAiIzAwNGY4ZiIpDQorICAgIDs7 IHRob3NlIGJhY2tncm91bmQgdmFsdWVzIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGdyYXBocyBv ciBzaW1pbGFyDQorICAgIDs7IGFwcGxpY2F0aW9ucyB3aGVyZSBjb2xvcmVkIGJsb2NrcyBhcmUg ZXhwZWN0ZWQgdG8gYmUgcG9zaXRpb25lZA0KKyAgICA7OyBuZXh0IHRvIGVhY2ggb3RoZXINCisg ICAgKHJlZC1ncmFwaC0wLWJnIC4gIiNhZjA0MDQiKQ0KKyAgICAocmVkLWdyYXBoLTEtYmcgLiAi IzgwMWYyZiIpDQorICAgIChncmVlbi1ncmFwaC0wLWJnIC4gIiMyNGJhMmYiKQ0KKyAgICAoZ3Jl ZW4tZ3JhcGgtMS1iZyAuICIjMGY4ZjA3IikNCisgICAgKHllbGxvdy1ncmFwaC0wLWJnIC4gIiNm ZmQwM2UiKQ0KKyAgICAoeWVsbG93LWdyYXBoLTEtYmcgLiAiI2Q3ZDgwMCIpDQorICAgIChibHVl LWdyYXBoLTAtYmcgLiAiIzQwNmZmZiIpDQorICAgIChibHVlLWdyYXBoLTEtYmcgLiAiIzJmNTBj OCIpDQorICAgIChtYWdlbnRhLWdyYXBoLTAtYmcgLiAiI2FmN2JlZSIpDQorICAgIChtYWdlbnRh LWdyYXBoLTEtYmcgLiAiIzdmNTljZiIpDQorICAgIChjeWFuLWdyYXBoLTAtYmcgLiAiIzQ3ZGNm YSIpDQorICAgIChjeWFuLWdyYXBoLTEtYmcgLiAiIzBiYzBkZiIpDQorICAgIDs7IHRoZSBmb2xs b3dpbmcgYXJlIGZvciBjYXNlcyB3aGVyZSBib3RoIHRoZSBmb3JlZ3JvdW5kIGFuZCB0aGUNCisg ICAgOzsgYmFja2dyb3VuZCBuZWVkIHRvIGhhdmUgYSBzaW1pbGFyIGh1ZSBhbmQgc28gbXVzdCBi ZSBjb21iaW5lZA0KKyAgICA7OyB3aXRoIHRoZW1zZWx2ZXMsIGV2ZW4gdGhvdWdoIHRoZSBmb3Jl Z3JvdW5kcyBjYW4gYmUgcGFpcmVkIHdpdGgNCisgICAgOzsgYW55IG9mIHRoZSBiYXNlIGJhY2tn cm91bmRzDQorICAgIChyZWQtcmVmaW5lLWJnIC4gIiM3NzAwMmEiKSAocmVkLXJlZmluZS1mZyAu ICIjZmZiOWFiIikNCisgICAgKGdyZWVuLXJlZmluZS1iZyAuICIjMDA0MjJhIikgKGdyZWVuLXJl ZmluZS1mZyAuICIjOWZmMGNmIikNCisgICAgKHllbGxvdy1yZWZpbmUtYmcgLiAiIzY5MzIwMCIp ICh5ZWxsb3ctcmVmaW5lLWZnIC4gIiNlMmQ5ODAiKQ0KKyAgICAoYmx1ZS1yZWZpbmUtYmcgLiAi IzI0MjY3OSIpIChibHVlLXJlZmluZS1mZyAuICIjOGVjNmZmIikNCisgICAgKG1hZ2VudGEtcmVm aW5lLWJnIC4gIiM3MTIwNmEiKSAobWFnZW50YS1yZWZpbmUtZmcgLiAiI2ZmY2FmMCIpDQorICAg IChjeWFuLXJlZmluZS1iZyAuICIjMDA0MDY1IikgKGN5YW4tcmVmaW5lLWZnIC4gIiM4YWU0ZjIi KQ0KKyAgICA7OyB0aGUgIm51YW5jZWQiIGJhY2tncm91bmRzIGNhbiBiZSBjb21iaW5lZCB3aXRo IGFsbCBvZiB0aGUgYWJvdmUNCisgICAgOzsgZm9yZWdyb3VuZHMsIGFzIHdlbGwgYXMgdGhvc2Ug aW5jbHVkZWQgaGVyZSwgd2hpbGUgdGhlICJudWFuY2VkIg0KKyAgICA7OyBmb3JlZ3JvdW5kcyBj YW4gaW4gdHVybiBhbHNvIGJlIGNvbWJpbmVkIHdpdGggYmctbWFpbiwgYmctZGltLA0KKyAgICA7 OyBiZy1hbHQNCisgICAgKHJlZC1udWFuY2VkLWJnIC4gIiMyYzA2MTQiKSAocmVkLW51YW5jZWQt ZmcgLiAiI2ZmY2NjYyIpDQorICAgIChncmVlbi1udWFuY2VkLWJnIC4gIiMwMDE5MDQiKSAoZ3Jl ZW4tbnVhbmNlZC1mZyAuICIjYjhlMmI4IikNCisgICAgKHllbGxvdy1udWFuY2VkLWJnIC4gIiMy MjEwMDAiKSAoeWVsbG93LW51YW5jZWQtZmcgLiAiI2RmZGZiMCIpDQorICAgIChibHVlLW51YW5j ZWQtYmcgLiAiIzBmMGUzOSIpIChibHVlLW51YW5jZWQtZmcgLiAiI2JmZDlmZiIpDQorICAgICht YWdlbnRhLW51YW5jZWQtYmcgLiAiIzIzMDYzMSIpIChtYWdlbnRhLW51YW5jZWQtZmcgLiAiI2U1 Y2ZlZiIpDQorICAgIChjeWFuLW51YW5jZWQtYmcgLiAiIzA0MTUyOSIpIChjeWFuLW51YW5jZWQt ZmcgLiAiI2E4ZTVlNSIpDQorICAgIDs7IHRoZSBmb2xsb3dpbmcgYXJlIHJlc2VydmVkIGZvciBz cGVjaWZpYyBjYXNlcw0KKyAgICA7Ow0KKyAgICA7OyBiZy1obC1saW5lIGlzIGJldHdlZW4gYmct ZGltIGFuZCBiZy1hbHQsIHNvIGl0IHNob3VsZA0KKyAgICA7OyB3b3JrIHdpdGggYWxsIGFjY2Vu dHMgdGhhdCBjb3ZlciB0aG9zZSB0d28sIHBsdXMgYmctbWFpbg0KKyAgICA7Ow0KKyAgICA7OyBi Zy1obC1hbHQgYW5kIGJnLWhsLWFsdC1pbnRlbnNlIHNob3VsZCBvbmx5IGJlIHVzZWQgd2hlbiBu bw0KKyAgICA7OyBvdGhlciBncmV5c2NhbGUgb3IgZmFpcmx5IG5ldXRyYWwgYmFja2dyb3VuZCBp cyBhdmFpbGFibGUgdG8NCisgICAgOzsgcHJvcGVybHkgZHJhdyBhdHRlbnRpb24gdG8gYSBnaXZl biBjb25zdHJ1Y3QNCisgICAgOzsNCisgICAgOzsgYmctaGVhZGVyIGlzIGJldHdlZW4gYmctYWN0 aXZlIGFuZCBiZy1pbmFjdGl2ZSwgc28gaXQNCisgICAgOzsgY2FuIGJlIGNvbWJpbmVkIHdpdGgg YW55IG9mIHRoZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMgdGhlDQorICAgIDs7ICJzcGVjaWFsIiBh bmQgYmFzZSBmb3JlZ3JvdW5kIGNvbG9ycw0KKyAgICA7Ow0KKyAgICA7OyBiZy1wYXJlbi1tYXRj aCwgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSwgYmctcmVnaW9uIGFuZA0KKyAgICA7OyBiZy10YWIt YWN0aXZlIG11c3QgYmUgY29tYmluZWQgd2l0aCBmZy1tYWluLCB3aGlsZQ0KKyAgICA7OyBiZy10 YWItaW5hY3RpdmUgc2hvdWxkIGJlIGNvbWJpbmVkIHdpdGggZmctZGltLCB3aGVyZWFzDQorICAg IDs7IGJnLXRhYi1pbmFjdGl2ZS1hbHQgZ29lcyB0b2dldGhlciB3aXRoIGZnLW1haW4NCisgICAg OzsNCisgICAgOzsgYmctdGFiLWJhciBpcyBvbmx5IGludGVuZGVkIGZvciB0aGUgYmFyIHRoYXQg aG9sZHMgdGhlIHRhYnMgYW5kDQorICAgIDs7IGNhbiBvbmx5IGJlIGNvbWJpbmVkIHdpdGggZmct bWFpbg0KKyAgICA7Ow0KKyAgICA7OyBmZy10YWItYWN0aXZlIGlzIG1lYW50IHRvIGJlIGNvbWJp bmVkIHdpdGggYmctdGFiLWFjdGl2ZSwNCisgICAgOzsgdGhvdWdoIG9ubHkgZm9yIHN0eWxpbmcg c3BlY2lhbCBlbGVtZW50cywgc3VjaCBhcyB1bmRlcmxpbmluZw0KKyAgICA7OyB0aGUgY3VycmVu dCB0YWINCisgICAgOzsNCisgICAgOzsgZmctZXNjYXBlLWNoYXItY29uc3RydWN0IGFuZCBmZy1l c2NhcGUtY2hhci1iYWNrc2xhc2ggY2FuDQorICAgIDs7IGJlIGNvbWJpbmVkIGJnLW1haW4sIGJn LWRpbSwgYmctYWx0DQorICAgIDs7DQorICAgIDs7IGZnLWxhbmctZXJyb3IsIGZnLWxhbmctd2Fy bmluZywgZmctbGFuZy1ub3RlIGNhbiBiZQ0KKyAgICA7OyBjb21iaW5lZCB3aXRoIGJnLW1haW4s IGJnLWRpbSwgYmctYWx0DQorICAgIDs7DQorICAgIDs7IGZnLW1hcmstc2VsLCBmZy1tYXJrLWRl bCwgZmctbWFyay1hbHQgY2FuIGJlIGNvbWJpbmVkDQorICAgIDs7IHdpdGggYmctbWFpbiwgYmct ZGltLCBiZy1hbHQsIGJnLWhsLWxpbmUNCisgICAgOzsNCisgICAgOzsgZmctdW5mb2N1c2VkIG11 c3QgYmUgY29tYmluZWQgd2l0aCBiZy1tYWluDQorICAgIDs7DQorICAgIDs7IGZnLWRvY3N0cmlu ZywgZmctY29tbWVudC15ZWxsb3cgY2FuIGJlIGNvbWJpbmVkIHdpdGgNCisgICAgOzsgYmctbWFp biwgYmctZGltLCBiZy1hbHQNCisgICAgOzsNCisgICAgOzsgdGhlIHdpbmRvdyBkaXZpZGVyIGNv bG9ycyBhcHBseSB0byBmYWNlcyB3aXRoIGp1c3QgYW4gZmcgdmFsdWUNCisgICAgOzsNCisgICAg OzsgYWxsIHBhaXJzIGFyZSBjb21iaW5hYmxlIHdpdGggdGhlbXNlbHZlcw0KKyAgICAoYmctaGwt bGluZSAuICIjMTUxODIzIikNCisgICAgKGJnLWhsLWxpbmUtaW50ZW5zZSAuICIjMmYyZjJmIikN CisgICAgKGJnLWhsLWFsdCAuICIjMTgxNzMyIikNCisgICAgKGJnLWhsLWFsdC1pbnRlbnNlIC4g IiMyODJlNDYiKQ0KKyAgICAoYmctcGFyZW4tbWF0Y2ggLiAiIzVmMzYyZiIpDQorICAgIChiZy1w YXJlbi1tYXRjaC1pbnRlbnNlIC4gIiM3NDE2YjUiKQ0KKyAgICAoYmctcmVnaW9uIC4gIiMzYzNj M2MiKQ0KKw0KKyAgICAoYmctdGFiLWJhciAuICIjMmMyYzJjIikNCisgICAgKGJnLXRhYi1hY3Rp dmUgLiAiIzBlMGUwZSIpDQorICAgIChiZy10YWItaW5hY3RpdmUgLiAiIzNkM2QzZCIpDQorICAg IChiZy10YWItaW5hY3RpdmUtYWx0IC4gIiM1OTU5NTkiKQ0KKyAgICAoZmctdGFiLWFjdGl2ZSAu ICIjNWFjM2NmIikNCisNCisgICAgKGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCAuICIjZTdhNTlh IikNCisgICAgKGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCAuICIjYWJhYjAwIikNCisNCisgICAg KGZnLWxhbmctZXJyb3IgLiAiI2VmODY5MCIpDQorICAgIChmZy1sYW5nLXdhcm5pbmcgLiAiI2Iw YWEwMCIpDQorICAgIChmZy1sYW5nLW5vdGUgLiAiIzlkOWRlZiIpDQorICAgIChmZy1sYW5nLXVu ZGVybGluZS1lcnJvciAuICIjZmY0YTZmIikNCisgICAgKGZnLWxhbmctdW5kZXJsaW5lLXdhcm5p bmcgLiAiI2QwZGUwMCIpDQorICAgIChmZy1sYW5nLXVuZGVybGluZS1ub3RlIC4gIiM1ZjZmZmYi KQ0KKw0KKyAgICAoZmctd2luZG93LWRpdmlkZXItaW5uZXIgLiAiIzY0NjQ2NCIpDQorICAgIChm Zy13aW5kb3ctZGl2aWRlci1vdXRlciAuICIjOTY5Njk2IikNCisNCisgICAgKGZnLXVuZm9jdXNl ZCAuICIjOTM5NTliIikNCisNCisgICAgKGZnLWRvY3N0cmluZyAuICIjYjBkNmY1IikNCisgICAg KGZnLWNvbW1lbnQteWVsbG93IC4gIiNjYWI5OGYiKQ0KKw0KKyAgICAoYmctaGVhZGVyIC4gIiMy MTIxMjEiKSAoZmctaGVhZGVyIC4gIiNkZGRkZGQiKQ0KKw0KKyAgICAoYmctd2hpdGVzcGFjZSAu ICIjMTAxNDI0IikgKGZnLXdoaXRlc3BhY2UgLiAiI2FhOWU5ZiIpDQorDQorICAgIChiZy1kaWZm LWhlYWRpbmcgLiAiIzMwNDQ2NiIpIChmZy1kaWZmLWhlYWRpbmcgLiAiI2RhZTdmZiIpDQorICAg IChiZy1kaWZmLWFkZGVkIC4gIiMwYTI4MGEiKSAoZmctZGlmZi1hZGRlZCAuICIjOTRiYTk0IikN CisgICAgKGJnLWRpZmYtYWRkZWQtZGV1dGVyYW4gLiAiIzAwMWEzZiIpIChmZy1kaWZmLWFkZGVk LWRldXRlcmFuIC4gIiNjNGNkZjIiKQ0KKyAgICAoYmctZGlmZi1jaGFuZ2VkIC4gIiMyYTIwMDAi KSAoZmctZGlmZi1jaGFuZ2VkIC4gIiNiMGJhOWYiKQ0KKyAgICAoYmctZGlmZi1yZW1vdmVkIC4g IiM0MDE2MGYiKSAoZmctZGlmZi1yZW1vdmVkIC4gIiNjNmFkYWEiKQ0KKw0KKyAgICAoYmctZGlm Zi1yZWZpbmUtYWRkZWQgLiAiIzAwNWEzNiIpIChmZy1kaWZmLXJlZmluZS1hZGRlZCAuICIjZTBm NmUwIikNCisgICAgKGJnLWRpZmYtcmVmaW5lLWFkZGVkLWRldXRlcmFuIC4gIiMyMzRmOGYiKSAo ZmctZGlmZi1yZWZpbmUtYWRkZWQtZGV1dGVyYW4gLiAiI2RkZTRmZiIpDQorICAgIChiZy1kaWZm LXJlZmluZS1jaGFuZ2VkIC4gIiM1ODU4MDAiKSAoZmctZGlmZi1yZWZpbmUtY2hhbmdlZCAuICIj ZmZmZmNjIikNCisgICAgKGJnLWRpZmYtcmVmaW5lLXJlbW92ZWQgLiAiIzg1MjgyOCIpIChmZy1k aWZmLXJlZmluZS1yZW1vdmVkIC4gIiNmZmQ5ZWIiKQ0KKw0KKyAgICAoYmctZGlmZi1mb2N1cy1h ZGRlZCAuICIjMjAzZDIwIikgKGZnLWRpZmYtZm9jdXMtYWRkZWQgLiAiI2I0ZGRiNCIpDQorICAg IChiZy1kaWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuIC4gIiMwMDQwNWYiKSAoZmctZGlmZi1mb2N1 cy1hZGRlZC1kZXV0ZXJhbiAuICIjYmZlNGZmIikNCisgICAgKGJnLWRpZmYtZm9jdXMtY2hhbmdl ZCAuICIjNGEzYTEwIikgKGZnLWRpZmYtZm9jdXMtY2hhbmdlZCAuICIjZDBkYWFmIikNCisgICAg KGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCAuICIjNWUyNTI2IikgKGZnLWRpZmYtZm9jdXMtcmVtb3Zl ZCAuICIjZWViZGJhIikNCisNCisgICAgKGJnLWRpZmYtbmV1dHJhbC0wIC4gIiM1NzU3NTciKSAo ZmctZGlmZi1uZXV0cmFsLTAgLiAiI2ZjZmNmYyIpDQorICAgIChiZy1kaWZmLW5ldXRyYWwtMSAu ICIjNDU0NTQ1IikgKGZnLWRpZmYtbmV1dHJhbC0xIC4gIiNkZGRkZGQiKQ0KKyAgICAoYmctZGlm Zi1uZXV0cmFsLTIgLiAiIzMxMzEzMSIpIChmZy1kaWZmLW5ldXRyYWwtMiAuICIjYmZiZmJmIikN CisNCisgICAgKGJnLW1hcmstc2VsIC4gIiMwMDJmMmYiKSAoZmctbWFyay1zZWwgLiAiIzYwY2Zh MiIpDQorICAgIChiZy1tYXJrLWRlbCAuICIjNWEwMDAwIikgKGZnLW1hcmstZGVsIC4gIiNmZjk5 YWEiKQ0KKyAgICAoYmctbWFyay1hbHQgLiAiIzNmMjIxMCIpIChmZy1tYXJrLWFsdCAuICIjZjBh YTIwIikpDQorICAiVGhlIGVudGlyZSBwYWxldHRlIG9mIGBtb2R1cy12aXZlbmRpJyB0aGVtZS4N CitFYWNoIGVsZW1lbnQgaGFzIHRoZSBmb3JtIChOQU1FIC4gSEVYKSB3aXRoIHRoZSBmb3JtZXIg YXMgYQ0KK3N5bWJvbCBhbmQgdGhlIGxhdHRlciBhcyBhIHN0cmluZy4iKQ0KKw0KKwwNCisNCis7 OzsgQ3VzdG9tIGZhY2VzDQorDQorOzsgVGhlc2UgZmFjZXMgYXJlIHVzZWQgaW50ZXJuYWxseSB0 byBlbnN1cmUgY29uc2lzdGVuY3kgYmV0d2VlbiB2YXJpb3VzDQorOzsgZ3JvdXBzIGFuZCB0byBz dHJlYW1saW5lIHRoZSBldmFsdWF0aW9uIG9mIHJlbGV2YW50IGN1c3RvbWl6YXRpb24NCis7OyBv cHRpb25zLg0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQgbmlsDQorICAiU3VidGxl IHJlZCBiYWNrZ3JvdW5kIGNvbWJpbmVkIHdpdGggYSBkaW1tZWQgZm9yZWdyb3VuZC4NCitUaGlz IGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZm ZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxp bmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhk ZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbiBuaWwNCisgICJTdWJ0bGUgZ3JlZW4gYmFj a2dyb3VuZCBjb21iaW5lZCB3aXRoIGEgZGltbWVkIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2Vk IGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29y IGZvciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRo ZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBt b2R1cy10aGVtZS1zdWJ0bGUteWVsbG93IG5pbA0KKyAgIlN1YnRsZSB5ZWxsb3cgYmFja2dyb3Vu ZCBjb21iaW5lZCB3aXRoIGEgZGltbWVkIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBn ZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBj b21wbGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNl IGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1zdWJ0bGUtYmx1ZSBuaWwNCisgICJTdWJ0bGUgYmx1ZSBiYWNrZ3JvdW5kIGNvbWJpbmVk IHdpdGggYSBkaW1tZWQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVy cG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24g aW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBi eSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRs ZS1tYWdlbnRhIG5pbA0KKyAgIlN1YnRsZSBtYWdlbnRhIGJhY2tncm91bmQgY29tYmluZWQgd2l0 aCBhIGRpbW1lZCBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3Nl IGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRl cmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBt b2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLWN5 YW4gbmlsDQorICAiU3VidGxlIGN5YW4gYmFja2dyb3VuZCBjb21iaW5lZCB3aXRoIGEgZGltbWVk IGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0 aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQor DQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1l cy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCBuaWwN CisgICJTdWJ0bGUgZ3JheSBiYWNrZ3JvdW5kIGNvbWJpbmVkIHdpdGggYSBkaW1tZWQgZm9yZWdy b3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1v c3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUg YWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2Vz Jy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIG5pbA0KKyAgIkludGVu c2UgcmVkIGJhY2tncm91bmQgY29tYmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kLg0KK1Ro aXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1 ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5 bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBuaWwNCisgICJJbnRlbnNlIGdyZWVu IGJhY2tncm91bmQgY29tYmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMg dXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMN CitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBv ZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgbmlsDQorICAiSW50ZW5zZSB5ZWxsb3cgYmFj a2dyb3VuZCBjb21iaW5lZCB3aXRoIHRoZSBtYWluIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2Vk IGZvciBnZW5lcmFsIHB1cnBvc2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29y IGZvciBjb21wbGV0aW9uIGludGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRo ZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBt b2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgbmlsDQorICAiSW50ZW5zZSBibHVlIGJhY2tncm91bmQg Y29tYmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2Vu ZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29t cGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBp cyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhl bWUtaW50ZW5zZS1tYWdlbnRhIG5pbA0KKyAgIkludGVuc2UgbWFnZW50YSBiYWNrZ3JvdW5kIGNv bWJpbmVkIHdpdGggdGhlIG1haW4gZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVy YWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBs ZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMg ZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1l LWludGVuc2UtY3lhbiBuaWwNCisgICJJbnRlbnNlIGN5YW4gYmFja2dyb3VuZCBjb21iaW5lZCB3 aXRoIHRoZSBtYWluIGZvcmVncm91bmQuDQorVGhpcyBpcyB1c2VkIGZvciBnZW5lcmFsIHB1cnBv c2UgaGlnaGxpZ2h0aW5nLCBtb3N0bHkgaW4gYnVmZmVycw0KK29yIGZvciBjb21wbGV0aW9uIGlu dGVyZmFjZXMuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkg YG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNl LW5ldXRyYWwgbmlsDQorICAiSW50ZW5zZSBncmF5IGJhY2tncm91bmQgY29tYmluZWQgd2l0aCB0 aGUgbWFpbiBmb3JlZ3JvdW5kLg0KK1RoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhp Z2hsaWdodGluZywgbW9zdGx5IGluIGJ1ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZh Y2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1 cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCBu aWwNCisgICJDb21iaW5hdGlvbiBvZiBhY2NlbnRlZCByZWQgYmFja2dyb3VuZCBhbmQgZm9yZWdy b3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1v c3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUg YWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2Vz Jy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1ncmVlbiBuaWwNCisgICJDb21i aW5hdGlvbiBvZiBhY2NlbnRlZCBncmVlbiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kLg0KK1Ro aXMgaXMgdXNlZCBmb3IgZ2VuZXJhbCBwdXJwb3NlIGhpZ2hsaWdodGluZywgbW9zdGx5IGluIGJ1 ZmZlcnMNCitvciBmb3IgY29tcGxldGlvbiBpbnRlcmZhY2VzLg0KKw0KK1RoZSBhY3R1YWwgc3R5 bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdyBuaWwNCisgICJDb21iaW5hdGlvbiBv ZiBhY2NlbnRlZCB5ZWxsb3cgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVz ZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQor b3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2Yg dGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNl IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlIG5pbA0KKyAgIkNvbWJpbmF0aW9uIG9mIGFjY2VudGVk IGJsdWUgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVy YWwgcHVycG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBs ZXRpb24gaW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMg ZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1l LXJlZmluZS1tYWdlbnRhIG5pbA0KKyAgIkNvbWJpbmF0aW9uIG9mIGFjY2VudGVkIG1hZ2VudGEg YmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVy cG9zZSBoaWdobGlnaHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24g aW50ZXJmYWNlcy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBi eSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmlu ZS1jeWFuIG5pbA0KKyAgIkNvbWJpbmF0aW9uIG9mIGFjY2VudGVkIGN5YW4gYmFja2dyb3VuZCBh bmQgZm9yZWdyb3VuZC4NCitUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYWwgcHVycG9zZSBoaWdobGln aHRpbmcsIG1vc3RseSBpbiBidWZmZXJzDQorb3IgZm9yIGNvbXBsZXRpb24gaW50ZXJmYWNlcy4N CisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhl bWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQgbmlsDQor ICAiQSByZWQgYmFja2dyb3VuZCBtZWFudCBmb3IgdXNlIG9uIHRoZSBtb2RlbGluZSBvciBzaW1p bGFyLg0KK1RoaXMgaXMgY29tYmluZWQgd2l0aCB0aGUgbW9kZWxpbmVzIHByaW1hcnkgZm9yZWdy b3VuZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBi eSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2 ZS1ncmVlbiBuaWwNCisgICJBIGdyZWVuIGJhY2tncm91bmQgbWVhbnQgZm9yIHVzZSBvbiB0aGUg bW9kZWxpbmUgb3Igc2ltaWxhci4NCitUaGlzIGlzIGNvbWJpbmVkIHdpdGggdGhlIG1vZGVsaW5l cyBwcmltYXJ5IGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRo ZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBt b2R1cy10aGVtZS1hY3RpdmUteWVsbG93IG5pbA0KKyAgIkEgeWVsbG93IGJhY2tncm91bmQgbWVh bnQgZm9yIHVzZSBvbiB0aGUgbW9kZWxpbmUgb3Igc2ltaWxhci4NCitUaGlzIGlzIGNvbWJpbmVk IHdpdGggdGhlIG1vZGVsaW5lcyBwcmltYXJ5IGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFj dHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycu IikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSBuaWwNCisgICJBIGJsdWUg YmFja2dyb3VuZCBtZWFudCBmb3IgdXNlIG9uIHRoZSBtb2RlbGluZSBvciBzaW1pbGFyLg0KK1Ro aXMgaXMgY29tYmluZWQgd2l0aCB0aGUgbW9kZWxpbmVzIHByaW1hcnkgZm9yZWdyb3VuZCB2YWx1 ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMt dGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRh IG5pbA0KKyAgIkEgbWFnZW50YSBiYWNrZ3JvdW5kIG1lYW50IGZvciB1c2Ugb24gdGhlIG1vZGVs aW5lIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5lZCB3aXRoIHRoZSBtb2RlbGluZXMgcHJp bWFyeSBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFj ZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMt dGhlbWUtYWN0aXZlLWN5YW4gbmlsDQorICAiQSBjeWFuIGJhY2tncm91bmQgbWVhbnQgZm9yIHVz ZSBvbiB0aGUgbW9kZWxpbmUgb3Igc2ltaWxhci4NCitUaGlzIGlzIGNvbWJpbmVkIHdpdGggdGhl IG1vZGVsaW5lcyBwcmltYXJ5IGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHls aW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCiso ZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtcmVkIG5pbA0KKyAgIkEgcmVkIGJhY2tncm91bmQg bWVhbnQgZm9yIHVzZSBvbiB0aGUgZnJpbmdlIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21iaW5l ZCB3aXRoIHRoZSBtYWluIGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5n IG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVm ZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4gbmlsDQorICAiQSBncmVlbiBiYWNrZ3JvdW5k IG1lYW50IGZvciB1c2Ugb24gdGhlIGZyaW5nZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMgY29tYmlu ZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdyBuaWwNCisgICJBIHllbGxvdyBiYWNrZ3Jv dW5kIG1lYW50IGZvciB1c2Ugb24gdGhlIGZyaW5nZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMgY29t YmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwgc3R5 bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQor KGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLWJsdWUgbmlsDQorICAiQSBibHVlIGJhY2tncm91 bmQgbWVhbnQgZm9yIHVzZSBvbiB0aGUgZnJpbmdlIG9yIHNpbWlsYXIuDQorVGhpcyBpcyBjb21i aW5lZCB3aXRoIHRoZSBtYWluIGZvcmVncm91bmQgdmFsdWUuDQorDQorVGhlIGFjdHVhbCBzdHls aW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCiso ZGVmZmFjZSBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSBuaWwNCisgICJBIG1hZ2VudGEgYmFj a2dyb3VuZCBtZWFudCBmb3IgdXNlIG9uIHRoZSBmcmluZ2Ugb3Igc2ltaWxhci4NCitUaGlzIGlz IGNvbWJpbmVkIHdpdGggdGhlIG1haW4gZm9yZWdyb3VuZCB2YWx1ZS4NCisNCitUaGUgYWN0dWFs IHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0K Kw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuIG5pbA0KKyAgIkEgY3lhbiBiYWNr Z3JvdW5kIG1lYW50IGZvciB1c2Ugb24gdGhlIGZyaW5nZSBvciBzaW1pbGFyLg0KK1RoaXMgaXMg Y29tYmluZWQgd2l0aCB0aGUgbWFpbiBmb3JlZ3JvdW5kIHZhbHVlLg0KKw0KK1RoZSBhY3R1YWwg c3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQor DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQgbmlsDQorICAiQSBudWFuY2VkIHJl ZCBiYWNrZ3JvdW5kLg0KK1RoaXMgZG9lcyBub3Qgc3BlY2lmeSBhIGZvcmVncm91bmQgb2YgaXRz IG93bi4gIEluc3RlYWQgaXQgaXMgbWVhbnQgdG8NCitzZXJ2ZSBhcyB0aGUgYmFja2Ryb3AgZm9y IGVsZW1lbnRzIHN1Y2ggYXMgT3JnIGJsb2NrcywgaGVhZGluZ3MsIGFuZCBhbnkNCitvdGhlciBz dXJmYWNlIHRoYXQgbmVlZHMgdG8gcmV0YWluIHRoZSBjb2xvcnMgb24gZGlzcGxheS4NCisNCitU aGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZh Y2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4gbmlsDQorICAi QSBudWFuY2VkIGdyZWVuIGJhY2tncm91bmQuDQorVGhpcyBkb2VzIG5vdCBzcGVjaWZ5IGEgZm9y ZWdyb3VuZCBvZiBpdHMgb3duLiAgSW5zdGVhZCBpdCBpcyBtZWFudCB0bw0KK3NlcnZlIGFzIHRo ZSBiYWNrZHJvcCBmb3IgZWxlbWVudHMgc3VjaCBhcyBPcmcgYmxvY2tzLCBoZWFkaW5ncywgYW5k IGFueQ0KK290aGVyIHN1cmZhY2UgdGhhdCBuZWVkcyB0byByZXRhaW4gdGhlIGNvbG9ycyBvbiBk aXNwbGF5Lg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBt b2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC15 ZWxsb3cgbmlsDQorICAiQSBudWFuY2VkIHllbGxvdyBiYWNrZ3JvdW5kLg0KK1RoaXMgZG9lcyBu b3Qgc3BlY2lmeSBhIGZvcmVncm91bmQgb2YgaXRzIG93bi4gIEluc3RlYWQgaXQgaXMgbWVhbnQg dG8NCitzZXJ2ZSBhcyB0aGUgYmFja2Ryb3AgZm9yIGVsZW1lbnRzIHN1Y2ggYXMgT3JnIGJsb2Nr cywgaGVhZGluZ3MsIGFuZCBhbnkNCitvdGhlciBzdXJmYWNlIHRoYXQgbmVlZHMgdG8gcmV0YWlu IHRoZSBjb2xvcnMgb24gZGlzcGxheS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZh Y2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVz LXRoZW1lLW51YW5jZWQtYmx1ZSBuaWwNCisgICJBIG51YW5jZWQgYmx1ZSBiYWNrZ3JvdW5kLg0K K1RoaXMgZG9lcyBub3Qgc3BlY2lmeSBhIGZvcmVncm91bmQgb2YgaXRzIG93bi4gIEluc3RlYWQg aXQgaXMgbWVhbnQgdG8NCitzZXJ2ZSBhcyB0aGUgYmFja2Ryb3AgZm9yIGVsZW1lbnRzIHN1Y2gg YXMgT3JnIGJsb2NrcywgaGVhZGluZ3MsIGFuZCBhbnkNCitvdGhlciBzdXJmYWNlIHRoYXQgbmVl ZHMgdG8gcmV0YWluIHRoZSBjb2xvcnMgb24gZGlzcGxheS4NCisNCitUaGUgYWN0dWFsIHN0eWxp bmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhk ZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSBuaWwNCisgICJBIG51YW5jZWQgbWFn ZW50YSBiYWNrZ3JvdW5kLg0KK1RoaXMgZG9lcyBub3Qgc3BlY2lmeSBhIGZvcmVncm91bmQgb2Yg aXRzIG93bi4gIEluc3RlYWQgaXQgaXMgbWVhbnQgdG8NCitzZXJ2ZSBhcyB0aGUgYmFja2Ryb3Ag Zm9yIGVsZW1lbnRzIHN1Y2ggYXMgT3JnIGJsb2NrcywgaGVhZGluZ3MsIGFuZCBhbnkNCitvdGhl ciBzdXJmYWNlIHRoYXQgbmVlZHMgdG8gcmV0YWluIHRoZSBjb2xvcnMgb24gZGlzcGxheS4NCisN CitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVz LWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbiBuaWwNCisg ICJBIG51YW5jZWQgY3lhbiBiYWNrZ3JvdW5kLg0KK1RoaXMgZG9lcyBub3Qgc3BlY2lmeSBhIGZv cmVncm91bmQgb2YgaXRzIG93bi4gIEluc3RlYWQgaXQgaXMgbWVhbnQgdG8NCitzZXJ2ZSBhcyB0 aGUgYmFja2Ryb3AgZm9yIGVsZW1lbnRzIHN1Y2ggYXMgT3JnIGJsb2NrcywgaGVhZGluZ3MsIGFu ZCBhbnkNCitvdGhlciBzdXJmYWNlIHRoYXQgbmVlZHMgdG8gcmV0YWluIHRoZSBjb2xvcnMgb24g ZGlzcGxheS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBg bW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwt Y29sZCBuaWwNCisgICJDb21iaW5lcyB0aGUgJ3NwZWNpYWwgY29sZCcgYmFja2dyb3VuZCBhbmQg Zm9yZWdyb3VuZCB2YWx1ZXMuDQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgY2FzZXMgd2hlbiBhIG5l dXRyYWwgZ3JheSBiYWNrZ3JvdW5kIGlzIG5vdA0KK3N1aXRhYmxlIGFuZCB3aGVyZSBhIGNvbWJp bmF0aW9uIG9mIG1vcmUgc2F0dXJhdGVkIGNvbG9ycyB3b3VsZCBub3QgYmUNCithcHByb3ByaWF0 ZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMt dGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtbWlsZCBu aWwNCisgICJDb21iaW5lcyB0aGUgJ3NwZWNpYWwgbWlsZCcgYmFja2dyb3VuZCBhbmQgZm9yZWdy b3VuZCB2YWx1ZXMuDQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgY2FzZXMgd2hlbiBhIG5ldXRyYWwg Z3JheSBiYWNrZ3JvdW5kIGlzIG5vdA0KK3N1aXRhYmxlIGFuZCB3aGVyZSBhIGNvbWJpbmF0aW9u IG9mIG1vcmUgc2F0dXJhdGVkIGNvbG9ycyB3b3VsZCBub3QgYmUNCithcHByb3ByaWF0ZS4NCisN CitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVz LWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSBuaWwNCisg ICJDb21iaW5lcyB0aGUgJ3NwZWNpYWwgd2FybScgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2 YWx1ZXMuDQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgY2FzZXMgd2hlbiBhIG5ldXRyYWwgZ3JheSBi YWNrZ3JvdW5kIGlzIG5vdA0KK3N1aXRhYmxlIGFuZCB3aGVyZSBhIGNvbWJpbmF0aW9uIG9mIG1v cmUgc2F0dXJhdGVkIGNvbG9ycyB3b3VsZCBub3QgYmUNCithcHByb3ByaWF0ZS4NCisNCitUaGUg YWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2Vz Jy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSBuaWwNCisgICJDb21i aW5lcyB0aGUgJ3NwZWNpYWwgY2FsbScgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2YWx1ZXMu DQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgY2FzZXMgd2hlbiBhIG5ldXRyYWwgZ3JheSBiYWNrZ3Jv dW5kIGlzIG5vdA0KK3N1aXRhYmxlIGFuZCB3aGVyZSBhIGNvbWJpbmF0aW9uIG9mIG1vcmUgc2F0 dXJhdGVkIGNvbG9ycyB3b3VsZCBub3QgYmUNCithcHByb3ByaWF0ZS4NCisNCitUaGUgYWN0dWFs IHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0K Kw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtYWRkZWQgbmlsDQorICAiQ29tYmluZXMgZ3Jl ZW4gY29sb3JzIGZvciB0aGUgJ2FkZGVkJyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBwbGllZCBj b2xvcnMgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRo ZW1lcy1kaWZmcycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUg YnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZm LWNoYW5nZWQgbmlsDQorICAiQ29tYmluZXMgeWVsbG93IGNvbG9ycyBmb3IgdGhlICdjaGFuZ2Vk JyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBwbGllZCBjb2xvcnMgYXJlIGNvbnRpbmdlbnQgb24g dGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRoZW1lcy1kaWZmcycuDQorDQorVGhlIGFj dHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycu IikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQgbmlsDQorICAiQ29tYmlu ZXMgcmVkIGNvbG9ycyBmb3IgdGhlICdyZW1vdmVkJyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBw bGllZCBjb2xvcnMgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1v ZHVzLXRoZW1lcy1kaWZmcycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlz IGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVt ZS1kaWZmLXJlZmluZS1hZGRlZCBuaWwNCisgICJDb21iaW5lcyBncmVlbiBjb2xvcnMgZm9yIHdv cmQtd2lzZSAnYWRkZWQnIHN0YXRlIGluIGRpZmZzLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBhcmUg Y29udGluZ2VudCBvbiB0aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRpZmZz Jy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMt dGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNo YW5nZWQgbmlsDQorICAiQ29tYmluZXMgeWVsbG93IGNvbG9ycyBmb3Igd29yZC13aXNlICdjaGFu Z2VkJyBzdGF0ZSBpbiBkaWZmcy4NCitUaGUgYXBwbGllZCBjb2xvcnMgYXJlIGNvbnRpbmdlbnQg b24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRoZW1lcy1kaWZmcycuDQorDQorVGhl IGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNl cycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1yZW1vdmVkIG5pbA0K KyAgIkNvbWJpbmVzIHJlZCBjb2xvcnMgZm9yIHdvcmQtd2lzZSAncmVtb3ZlZCcgc3RhdGUgaW4g ZGlmZnMuDQorVGhlIGFwcGxpZWQgY29sb3JzIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZSBh c3NpZ25lZCB0bw0KK2Btb2R1cy10aGVtZXMtZGlmZnMnLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCBuaWwNCisgICJDb21iaW5lcyBncmVl biBjb2xvcnMgZm9yIHRoZSBmb2N1c2VkICdhZGRlZCcgc3RhdGUgaW4gZGlmZnMuDQorVGhlIGFw cGxpZWQgY29sb3JzIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZSBhc3NpZ25lZCB0bw0KK2Bt b2R1cy10aGVtZXMtZGlmZnMnLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBp cyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhl bWUtZGlmZi1mb2N1cy1jaGFuZ2VkIG5pbA0KKyAgIkNvbWJpbmVzIHllbGxvdyBjb2xvcnMgZm9y IHRoZSBmb2N1c2VkICdjaGFuZ2VkJyBzdGF0ZSBpbi4NCitUaGUgYXBwbGllZCBjb2xvcnMgYXJl IGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlIGFzc2lnbmVkIHRvDQorYG1vZHVzLXRoZW1lcy1kaWZm cycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVz LXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLXJl bW92ZWQgbmlsDQorICAiQ29tYmluZXMgcmVkIGNvbG9ycyBmb3IgdGhlIGZvY3VzZWQgJ3JlbW92 ZWQnIHN0YXRlIGluIGRpZmZzLg0KK1RoZSBhcHBsaWVkIGNvbG9ycyBhcmUgY29udGluZ2VudCBv biB0aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMtdGhlbWVzLWRpZmZzJy4NCisNCitUaGUg YWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2Vz Jy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtaGVhZGluZyBuaWwNCisgICJDb21i aW5lcyBibHVlIGNvbG9ycyBmb3IgdGhlIGRpZmYgaHVuayBoZWFkaW5nLg0KK1RoZSBhcHBsaWVk IGNvbG9ycyBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWUgYXNzaWduZWQgdG8NCitgbW9kdXMt dGhlbWVzLWRpZmZzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLXBz ZXVkby1oZWFkZXIgbmlsDQorICAiR2VuZXJpYyBzdHlsZSBmb3Igc29tZSBlbGVtZW50cyB0aGF0 IGZ1bmN0aW9uIGxpa2UgaGVhZGluZ3MuDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNl IGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10 aGVtZS1tYXJrLWFsdCBuaWwNCisgICJDb21iaW5lcyB5ZWxsb3cgY29sb3JzIGZvciBtYXJraW5n IHNwZWNpYWwgbGluZXMNCitUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgaW4gbW9kZXMgc3VjaCBh cyBEaXJlZCwgSWJ1ZmZlciwgUHJvY2VkLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUg ZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9k dXMtdGhlbWUtbWFyay1kZWwgbmlsDQorICAiQ29tYmluZXMgcmVkIGNvbG9ycyBmb3IgbWFya2lu ZyBkZWxldGFibGUgbGluZXMNCitUaGlzIGlzIGludGVuZGVkIGZvciB1c2UgaW4gbW9kZXMgc3Vj aCBhcyBEaXJlZCwgSWJ1ZmZlciwgUHJvY2VkLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0 aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2Ug bW9kdXMtdGhlbWUtbWFyay1zZWwgbmlsDQorICAiQ29tYmluZXMgZ3JlZW4gY29sb3JzIGZvciBt YXJraW5nIGxpbmVzDQorVGhpcyBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIG1vZGVzIHN1Y2ggYXMg RGlyZWQsIElidWZmZXIsIFByb2NlZC4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZh Y2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVz LXRoZW1lLW1hcmstc3ltYm9sIG5pbA0KKyAgIkFwcGxpZXMgYSBibHVlIGNvbG9yIGFuZCBvdGhl ciBzdHlsZXMgZm9yIG1hcmsgaW5kaWNhdG9ycy4NCitUaGlzIGlzIGludGVuZGVkIGZvciB1c2Ug aW4gbW9kZXMgc3VjaCBhcyBEaXJlZCwgSWJ1ZmZlciwgUHJvY2VkLg0KKw0KK1RoZSBhY3R1YWwg c3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQor DQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0xIG5pbA0KKyAgIkdlbmVyYWwgcHVycG9z ZSBmYWNlIGZvciB1c2UgaW4gaGVhZGluZ3MgbGV2ZWwgMQ0KK1RoZSBleGFjdCBhdHRyaWJ1dGVz IGFzc2lnbmVkIHRvIHRoaXMgZmFjZSBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWVzDQorYXNz aWduZWQgdG8gdGhlIGBtb2R1cy10aGVtZXMtaGVhZGluZ3MnIHZhcmlhYmxlLg0KKw0KK1RoZSBh Y3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMn LiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0yIG5pbA0KKyAgIkdlbmVyYWwg cHVycG9zZSBmYWNlIGZvciB1c2UgaW4gaGVhZGluZ3MgbGV2ZWwgMi4NCitUaGUgZXhhY3QgYXR0 cmlidXRlcyBhc3NpZ25lZCB0byB0aGlzIGZhY2UgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVl cw0KK2Fzc2lnbmVkIHRvIHRoZSBgbW9kdXMtdGhlbWVzLWhlYWRpbmdzJyB2YXJpYWJsZS4NCisN CitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVz LWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWhlYWRpbmctMyBuaWwNCisgICJH ZW5lcmFsIHB1cnBvc2UgZmFjZSBmb3IgdXNlIGluIGhlYWRpbmdzIGxldmVsIDMuDQorVGhlIGV4 YWN0IGF0dHJpYnV0ZXMgYXNzaWduZWQgdG8gdGhpcyBmYWNlIGFyZSBjb250aW5nZW50IG9uIHRo ZSB2YWx1ZXMNCithc3NpZ25lZCB0byB0aGUgYG1vZHVzLXRoZW1lcy1oZWFkaW5ncycgdmFyaWFi bGUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVz LXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1oZWFkaW5nLTQgbmls DQorICAiR2VuZXJhbCBwdXJwb3NlIGZhY2UgZm9yIHVzZSBpbiBoZWFkaW5ncyBsZXZlbCA0Lg0K K1RoZSBleGFjdCBhdHRyaWJ1dGVzIGFzc2lnbmVkIHRvIHRoaXMgZmFjZSBhcmUgY29udGluZ2Vu dCBvbiB0aGUgdmFsdWVzDQorYXNzaWduZWQgdG8gdGhlIGBtb2R1cy10aGVtZXMtaGVhZGluZ3Mn IHZhcmlhYmxlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5 IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGlu Zy01IG5pbA0KKyAgIkdlbmVyYWwgcHVycG9zZSBmYWNlIGZvciB1c2UgaW4gaGVhZGluZ3MgbGV2 ZWwgNS4NCitUaGUgZXhhY3QgYXR0cmlidXRlcyBhc3NpZ25lZCB0byB0aGlzIGZhY2UgYXJlIGNv bnRpbmdlbnQgb24gdGhlIHZhbHVlcw0KK2Fzc2lnbmVkIHRvIHRoZSBgbW9kdXMtdGhlbWVzLWhl YWRpbmdzJyB2YXJpYWJsZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMg ZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1l LWhlYWRpbmctNiBuaWwNCisgICJHZW5lcmFsIHB1cnBvc2UgZmFjZSBmb3IgdXNlIGluIGhlYWRp bmdzIGxldmVsIDYuDQorVGhlIGV4YWN0IGF0dHJpYnV0ZXMgYXNzaWduZWQgdG8gdGhpcyBmYWNl IGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZXMNCithc3NpZ25lZCB0byB0aGUgYG1vZHVzLXRo ZW1lcy1oZWFkaW5ncycgdmFyaWFibGUuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1oZWFkaW5nLTcgbmlsDQorICAiR2VuZXJhbCBwdXJwb3NlIGZhY2UgZm9yIHVzZSBp biBoZWFkaW5ncyBsZXZlbCA3Lg0KK1RoZSBleGFjdCBhdHRyaWJ1dGVzIGFzc2lnbmVkIHRvIHRo aXMgZmFjZSBhcmUgY29udGluZ2VudCBvbiB0aGUgdmFsdWVzDQorYXNzaWduZWQgdG8gdGhlIGBt b2R1cy10aGVtZXMtaGVhZGluZ3MnIHZhcmlhYmxlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBv ZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtaGVhZGluZy04IG5pbA0KKyAgIkdlbmVyYWwgcHVycG9zZSBmYWNlIGZv ciB1c2UgaW4gaGVhZGluZ3MgbGV2ZWwgOC4NCitUaGUgZXhhY3QgYXR0cmlidXRlcyBhc3NpZ25l ZCB0byB0aGlzIGZhY2UgYXJlIGNvbnRpbmdlbnQgb24gdGhlIHZhbHVlcw0KK2Fzc2lnbmVkIHRv IHRoZSBgbW9kdXMtdGhlbWVzLWhlYWRpbmdzJyB2YXJpYWJsZS4NCisNCitUaGUgYWN0dWFsIHN0 eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0K KyhkZWZmYWNlIG1vZHVzLXRoZW1lLWhsLWxpbmUgbmlsDQorICAiR2VuZXJhbCBwdXJwb3NlIGZh Y2UgZm9yIHRoZSBjdXJyZW50IGxpbmUuDQorVGhlIGV4YWN0IGF0dHJpYnV0ZXMgYXNzaWduZWQg dG8gdGhpcyBmYWNlIGFyZSBjb250aW5nZW50IG9uIHRoZSB2YWx1ZXMNCithc3NpZ25lZCB0byB0 aGUgYG1vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUnIHZhcmlhYmxlLg0KKw0KK1RoZSBhY3R1 YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIp DQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtYm9sZCBuaWwNCisgICJHZW5lcmljIGZhY2UgZm9y IGFwcGx5aW5nIGEgY29uZGl0aW9uYWwgYm9sZCB3ZWlnaHQuDQorVGhpcyBiZWhhdmVzIGluIGFj Y29yZGFuY2Ugd2l0aCBgbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cycuDQorDQorVGhlIGFj dHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycu IikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1zbGFudCBuaWwNCisgICJHZW5lcmljIGZhY2Ug Zm9yIGFwcGx5aW5nIGEgY29uZGl0aW9uYWwgc2xhbnQgKGl0YWxpY3MpLg0KK1RoaXMgYmVoYXZl cyBpbiBhY2NvcmRhbmNlIHdpdGggYG1vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMnLg0K Kw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVt ZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggbmls DQorICAiR2VuZXJpYyBmYWNlIGZvciBhcHBseWluZyBhIGNvbmRpdGlvbmFsIGB2YXJpYWJsZS1w aXRjaCcuDQorVGhpcyBiZWhhdmVzIGluIGFjY29yZGFuY2Ugd2l0aCBgbW9kdXMtdGhlbWVzLW5v LW1peGVkLWZvbnRzJywNCitgbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzJyBm b3IgYWxsIGhlYWRpbmcgbGV2ZWxzLCBhbmQNCitgbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNo LXVpJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9k dXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBoLXJlZC0w IG5pbA0KKyAgIlNwZWNpYWwgc3ViZHVlZCByZWQgZmFjZSBmb3IgdXNlIGluIGdyYXBocy4NCitU aGlzIGlzIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgaW4gY29udGV4dHMgc3VjaCBhcyB0aGUgT3Jn IGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJlIGZhaXRoZnVsbmVzcyB0byB0aGUgc2VtYW50aWNz IG9mIGEgY29sb3IgdmFsdWUgaXMgb2YNCitwYXJhbW91bnQgaW1wb3J0YW5jZS4NCisNCitUaGUg YWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2Vz Jy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBoLXJlZC0xIG5pbA0KKyAgIlNwZWNp YWwgcHJvbWluZW50IHJlZCBmYWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5k ZWQgdG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0 DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2 YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGlu ZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRl ZmZhY2UgbW9kdXMtdGhlbWUtZ3JhcGgtZ3JlZW4tMCBuaWwNCisgICJTcGVjaWFsIHN1YmR1ZWQg Z3JlZW4gZmFjZSBmb3IgdXNlIGluIGdyYXBocy4NCitUaGlzIGlzIGludGVuZGVkIHRvIGJlIGFw cGxpZWQgaW4gY29udGV4dHMgc3VjaCBhcyB0aGUgT3JnIGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdo ZXJlIGZhaXRoZnVsbmVzcyB0byB0aGUgc2VtYW50aWNzIG9mIGEgY29sb3IgdmFsdWUgaXMgb2YN CitwYXJhbW91bnQgaW1wb3J0YW5jZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZh Y2UgaXMgZG9uZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVz LXRoZW1lLWdyYXBoLWdyZWVuLTEgbmlsDQorICAiU3BlY2lhbCBwcm9taW5lbnQgZ3JlZW4gZmFj ZSBmb3IgdXNlIGluIGdyYXBocy4NCitUaGlzIGlzIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgaW4g Y29udGV4dHMgc3VjaCBhcyB0aGUgT3JnIGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJlIGZhaXRo ZnVsbmVzcyB0byB0aGUgc2VtYW50aWNzIG9mIGEgY29sb3IgdmFsdWUgaXMgb2YNCitwYXJhbW91 bnQgaW1wb3J0YW5jZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9u ZSBieSBgbW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdy YXBoLXllbGxvdy0wIG5pbA0KKyAgIlNwZWNpYWwgc3ViZHVlZCB5ZWxsb3cgZmFjZSBmb3IgdXNl IGluIGdyYXBocy4NCitUaGlzIGlzIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgaW4gY29udGV4dHMg c3VjaCBhcyB0aGUgT3JnIGFnZW5kYSBoYWJpdA0KK2dyYXBoIHdoZXJlIGZhaXRoZnVsbmVzcyB0 byB0aGUgc2VtYW50aWNzIG9mIGEgY29sb3IgdmFsdWUgaXMgb2YNCitwYXJhbW91bnQgaW1wb3J0 YW5jZS4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBgbW9k dXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWdyYXBoLXllbGxv dy0xIG5pbA0KKyAgIlNwZWNpYWwgcHJvbWluZW50IHllbGxvdyBmYWNlIGZvciB1c2UgaW4gZ3Jh cGhzLg0KK1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFz IHRoZSBPcmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBz ZW1hbnRpY3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0K Kw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVt ZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtZ3JhcGgtYmx1ZS0wIG5pbA0K KyAgIlNwZWNpYWwgc3ViZHVlZCBibHVlIGZhY2UgZm9yIHVzZSBpbiBncmFwaHMuDQorVGhpcyBp cyBpbnRlbmRlZCB0byBiZSBhcHBsaWVkIGluIGNvbnRleHRzIHN1Y2ggYXMgdGhlIE9yZyBhZ2Vu ZGEgaGFiaXQNCitncmFwaCB3aGVyZSBmYWl0aGZ1bG5lc3MgdG8gdGhlIHNlbWFudGljcyBvZiBh IGNvbG9yIHZhbHVlIGlzIG9mDQorcGFyYW1vdW50IGltcG9ydGFuY2UuDQorDQorVGhlIGFjdHVh bCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikN CisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1ncmFwaC1ibHVlLTEgbmlsDQorICAiU3BlY2lhbCBw cm9taW5lbnQgYmx1ZSBmYWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5kZWQg dG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0DQor Z3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2YWx1 ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBv ZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZh Y2UgbW9kdXMtdGhlbWUtZ3JhcGgtbWFnZW50YS0wIG5pbA0KKyAgIlNwZWNpYWwgc3ViZHVlZCBt YWdlbnRhIGZhY2UgZm9yIHVzZSBpbiBncmFwaHMuDQorVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBh cHBsaWVkIGluIGNvbnRleHRzIHN1Y2ggYXMgdGhlIE9yZyBhZ2VuZGEgaGFiaXQNCitncmFwaCB3 aGVyZSBmYWl0aGZ1bG5lc3MgdG8gdGhlIHNlbWFudGljcyBvZiBhIGNvbG9yIHZhbHVlIGlzIG9m DQorcGFyYW1vdW50IGltcG9ydGFuY2UuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBm YWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1 cy10aGVtZS1ncmFwaC1tYWdlbnRhLTEgbmlsDQorICAiU3BlY2lhbCBwcm9taW5lbnQgbWFnZW50 YSBmYWNlIGZvciB1c2UgaW4gZ3JhcGhzLg0KK1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGll ZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRoZSBPcmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUg ZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1hbnRpY3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3Bh cmFtb3VudCBpbXBvcnRhbmNlLg0KKw0KK1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBp cyBkb25lIGJ5IGBtb2R1cy10aGVtZXMtZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhl bWUtZ3JhcGgtY3lhbi0wIG5pbA0KKyAgIlNwZWNpYWwgc3ViZHVlZCBjeWFuIGZhY2UgZm9yIHVz ZSBpbiBncmFwaHMuDQorVGhpcyBpcyBpbnRlbmRlZCB0byBiZSBhcHBsaWVkIGluIGNvbnRleHRz IHN1Y2ggYXMgdGhlIE9yZyBhZ2VuZGEgaGFiaXQNCitncmFwaCB3aGVyZSBmYWl0aGZ1bG5lc3Mg dG8gdGhlIHNlbWFudGljcyBvZiBhIGNvbG9yIHZhbHVlIGlzIG9mDQorcGFyYW1vdW50IGltcG9y dGFuY2UuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1v ZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBtb2R1cy10aGVtZS1ncmFwaC1jeWFu LTEgbmlsDQorICAiU3BlY2lhbCBwcm9taW5lbnQgY3lhbiBmYWNlIGZvciB1c2UgaW4gZ3JhcGhz Lg0KK1RoaXMgaXMgaW50ZW5kZWQgdG8gYmUgYXBwbGllZCBpbiBjb250ZXh0cyBzdWNoIGFzIHRo ZSBPcmcgYWdlbmRhIGhhYml0DQorZ3JhcGggd2hlcmUgZmFpdGhmdWxuZXNzIHRvIHRoZSBzZW1h bnRpY3Mgb2YgYSBjb2xvciB2YWx1ZSBpcyBvZg0KK3BhcmFtb3VudCBpbXBvcnRhbmNlLg0KKw0K K1RoZSBhY3R1YWwgc3R5bGluZyBvZiB0aGUgZmFjZSBpcyBkb25lIGJ5IGBtb2R1cy10aGVtZXMt ZmFjZXMnLiIpDQorDQorKGRlZmZhY2UgbW9kdXMtdGhlbWUtbGFuZy1ub3RlIG5pbA0KKyAgIkdl bmVyaWMgZmFjZSBmb3IgbGludGVyIG9yIHNwZWxsIGNoZWNrZXIgbm90ZXMuDQorVGhlIGV4YWN0 IGF0dHJpYnV0ZXMgYW5kIGNvbG9yIGNvbWJpbmF0aW9ucyBhcmUgY29udHJvbGxlZCBieQ0KK2Bt b2R1cy10aGVtZXMtbGFuZy1jaGVja2VycycuDQorDQorVGhlIGFjdHVhbCBzdHlsaW5nIG9mIHRo ZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikNCisNCisoZGVmZmFjZSBt b2R1cy10aGVtZS1sYW5nLXdhcm5pbmcgbmlsDQorICAiR2VuZXJpYyBmYWNlIGZvciBsaW50ZXIg b3Igc3BlbGwgY2hlY2tlciB3YXJuaW5ncy4NCitUaGUgZXhhY3QgYXR0cmlidXRlcyBhbmQgY29s b3IgY29tYmluYXRpb25zIGFyZSBjb250cm9sbGVkIGJ5DQorYG1vZHVzLXRoZW1lcy1sYW5nLWNo ZWNrZXJzJy4NCisNCitUaGUgYWN0dWFsIHN0eWxpbmcgb2YgdGhlIGZhY2UgaXMgZG9uZSBieSBg bW9kdXMtdGhlbWVzLWZhY2VzJy4iKQ0KKw0KKyhkZWZmYWNlIG1vZHVzLXRoZW1lLWxhbmctZXJy b3IgbmlsDQorICAiR2VuZXJpYyBmYWNlIGZvciBsaW50ZXIgb3Igc3BlbGwgY2hlY2tlciBlcnJv cnMuDQorVGhlIGV4YWN0IGF0dHJpYnV0ZXMgYW5kIGNvbG9yIGNvbWJpbmF0aW9ucyBhcmUgY29u dHJvbGxlZCBieQ0KK2Btb2R1cy10aGVtZXMtbGFuZy1jaGVja2VycycuDQorDQorVGhlIGFjdHVh bCBzdHlsaW5nIG9mIHRoZSBmYWNlIGlzIGRvbmUgYnkgYG1vZHVzLXRoZW1lcy1mYWNlcycuIikN CisNCisMDQorDQorOzs7IEN1c3RvbWl6YXRpb24gb3B0aW9ucw0KKw0KKzs7OzsgQ3VycmVudCBj dXN0b21pemF0aW9uIG9wdGlvbnMgKD49IDEuMC4wKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhl bWVzLW9wZXJhbmRpLWNvbG9yLW92ZXJyaWRlcyBuaWwNCisgICJPdmVycmlkZSBjb2xvcnMgaW4g dGhlIE1vZHVzIE9wZXJhbmRpIHBhbGV0dGUuDQorDQorRm9yIGZvcm0sIHNlZSBgbW9kdXMtdGhl bWVzLW9wZXJhbmRpLWNvbG9ycycuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNr YWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4xLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEi DQorICA6dHlwZSAnKGFsaXN0IDprZXktdHlwZSBzeW1ib2wgOnZhbHVlLXR5cGUgY29sb3IpDQor ICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgT3ZlcnJpZGUgY29sb3JzIChESVkp IikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvci1vdmVycmlkZXMg bmlsDQorICAiT3ZlcnJpZGUgY29sb3JzIGluIHRoZSBNb2R1cyBWaXZlbmRpIHBhbGV0dGUuDQor DQorRm9yIGZvcm0sIHNlZSBgbW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzJy4iDQorICA6Z3Jv dXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIx LjEuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoYWxpc3QgOmtleS10eXBlIHN5 bWJvbCA6dmFsdWUtdHlwZSBjb2xvcikNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhl bWVzKSBPdmVycmlkZSBjb2xvcnMgKERJWSkiKSkNCisNCis7OyBUaGUgYnl0ZSBjb21waWxlciBj b21wbGFpbnMgd2hlbiBhIGRlZmN1c3RvbSBpc24ndCBhIHRvcCBsZXZlbCBmb3JtDQorKGxldCog KChuYW1lcyAobWFwY2FyIChsYW1iZGEgKHBhaXIpDQorICAgICAgICAgICAgICAgICAgICAgICAg KHN5bWJvbC1uYW1lIChjYXIgcGFpcikpKQ0KKyAgICAgICAgICAgICAgICAgICAgICBtb2R1cy10 aGVtZXMtb3BlcmFuZGktY29sb3JzKSkNCisgICAgICAgKGNvbG9ycyAobWFwY2FyICMnaW50ZXJu IChzb3J0IG5hbWVzICMnc3RyaW5nPCkpKSkNCisgIChwdXQgJ21vZHVzLXRoZW1lcy1vcGVyYW5k aS1jb2xvci1vdmVycmlkZXMNCisgICAgICAgJ2N1c3RvbS1vcHRpb25zIChjb3B5LXNlcXVlbmNl IGNvbG9ycykpDQorICAocHV0ICdtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvci1vdmVycmlkZXMN CisgICAgICAgJ2N1c3RvbS1vcHRpb25zIChjb3B5LXNlcXVlbmNlIGNvbG9ycykpKQ0KKw0KKyhk ZWZjdXN0b20gbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0cyBuaWwNCisgICJVc2Ugc2xh bnRlZCB0ZXh0IGluIG1vcmUgY29kZSBjb25zdHJ1Y3RzIChpdGFsaWNzIG9yIG9ibGlxdWUpLiIN CisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhl bWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisg IDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBTbGFudGVkIGNvbnN0cnVjdHMiKSkN CisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMgbmlsDQorICAiVXNl IGJvbGQgdGV4dCBpbiBtb3JlIGNvZGUgY29uc3RydWN0cy4iDQorICA6Z3JvdXAgJ21vZHVzLXRo ZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6 dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdib29sZWFuDQorICA6bGluayAnKGluZm8tbGluayAi KG1vZHVzLXRoZW1lcykgQm9sZCBjb25zdHJ1Y3RzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10 aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgbmlsDQorICAiVXNlIHByb3BvcnRpb25hbCBm b250cyAodmFyaWFibGUtcGl0Y2gpIGluIGhlYWRpbmdzLiINCisgIDpncm91cCAnbW9kdXMtdGhl bWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2 ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICcoaW5mby1saW5rICIo bW9kdXMtdGhlbWVzKSBIZWFkaW5ncycgdHlwZWZhY2UiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVz LXRoZW1lcy12YXJpYWJsZS1waXRjaC11aSBuaWwNCisgICJVc2UgcHJvcG9ydGlvbmFsIGZvbnRz ICh2YXJpYWJsZS1waXRjaCkgaW4gVUkgZWxlbWVudHMuDQorVGhpcyBpbmNsdWRlcyB0aGUgbW9k ZSBsaW5lLCBoZWFkZXIgbGluZSwgdGFiIGJhciwgYW5kIHRhYiBsaW5lLiINCisgIDpncm91cCAn bW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMS4w IikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICcoaW5m by1saW5rICIobW9kdXMtdGhlbWVzKSBVSSB0eXBlZmFjZSIpKQ0KKw0KKyhkZWZjdXN0b20gbW9k dXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzIG5pbA0KKyAgIkRpc2FibGUgaW5oZXJpdGFuY2UgZnJv bSBgZml4ZWQtcGl0Y2gnIGluIHNvbWUgZmFjZXMuDQorDQorVGhpcyBpcyBkb25lIGJ5IGRlZmF1 bHQgdG8gYWxsb3cgc3BhY2luZy1zZW5zaXRpdmUgY29uc3RydWN0cywNCitzdWNoIGFzIE9yZyB0 YWJsZXMgYW5kIGNvZGUgYmxvY2tzLCB0byByZW1haW4gbW9ub3NwYWNlZCB3aGVuDQordXNlcnMg b3B0IGZvciBzb21ldGhpbmcgbGlrZSB0aGUgY29tbWFuZCBgdmFyaWFibGUtcGl0Y2gtbW9kZScu DQorVGhlIGRvd25zaWRlIHdpdGggdGhlIGRlZmF1bHQgaXMgdGhhdCB1c2VycyBuZWVkIHRvIGV4 cGxpY2l0bHkNCitjb25maWd1cmUgdGhlIGZvbnQgZmFtaWx5IG9mIGBmaXhlZC1waXRjaCcgaW4g b3JkZXIgdG8gZ2V0IGENCitjb25zaXN0ZW50IGV4cGVyaWVuY2UuICBUaGF0IG1heSBiZSBzb21l dGhpbmcgdGhleSBkbyBub3Qgd2FudCB0bw0KK2RvLiAgSGVuY2UgdGhpcyBvcHRpb24gdG8gZGlz YWJsZSBhbnkga2luZCBvZiB0ZWNobmlxdWUgZm9yDQorbWl4aW5nIGZvbnRzLiINCisgIDpncm91 cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEu MC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICco aW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBObyBtaXhlZCBmb250cyIpKQ0KKw0KKyhkZWZjdXN0 b20gbW9kdXMtdGhlbWVzLWhlYWRpbmdzDQorICAnKCh0IC4gbmlsKSkNCisgICJBbGlzdCBvZiBz dHlsZXMgZm9yIGhlYWRpbmdzLCB3aXRoIG9wdGlvbmFsIHZhbHVlIHBlciBsZXZlbC4NCisNCitU byBjb250cm9sIGZhY2VzIHBlciBsZXZlbCBmcm9tIDEtOCwgdXNlIHNvbWV0aGluZyBsaWtlIHRo aXM6DQorDQorICAoc2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MNCisgICAgICAgICcoKDEgLiBo aWdobGlnaHQpDQorICAgICAgICAgICgyIC4gbGluZSkNCisgICAgICAgICAgKHQgLiByYWluYm93 LWxpbmUtbm8tYm9sZCkpKQ0KKw0KK1RvIHNldCBhIHVuaWZvcm0gdmFsdWUgZm9yIGFsbCBoZWFk aW5nIGxldmVscywgdXNlIHRoaXMgcGF0dGVybjoNCisNCisgIChzZXRxIG1vZHVzLXRoZW1lcy1o ZWFkaW5ncw0KKyAgICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xkKSkpDQorDQorVGhl IGRlZmF1bHQgdXNlcyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5kIHZhbHVlIGluDQor Y29tYmluYXRpb24gd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAgVG8gc3BlY2lmeSB0 aGlzDQorc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91IHdpc2ggdG8gaGF2 ZSBhbm90aGVyDQorZmFsbGJhY2sgb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRoZSB2YWx1ZSB0IGxp a2UgdGhpczoNCisNCisgIChzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncw0KKyAgICAgICAgJygo MSAuIHQpDQorICAgICAgICAgICgyIC4gbGluZSkNCisgICAgICAgICAgKHQgLiByYWluYm93LWxp bmUtbm8tYm9sZCkpKQ0KKw0KK0EgZGVzY3JpcHRpb24gb2YgYWxsIHBvc3NpYmxlIHZhbHVlczoN CisNCisrIGBuby1ib2xkJyByZXRhaW5zIHRoZSBkZWZhdWx0IHRleHQgY29sb3Igd2hpbGUgcmVt b3ZpbmcgdGhlDQorICB0eXBvZ3JhcGhpYyB3ZWlnaHQuDQorDQorKyBgbGluZScgaXMgdGhlIHNh bWUgYXMgdGhlIGRlZmF1bHQgcGx1cyBhbiBvdmVybGluZSBvdmVyIHRoZQ0KKyAgaGVhZGluZy4N CisNCisrIGBsaW5lLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFzIGBsaW5lJyB3aXRob3V0IGJvbGQg d2VpZ2h0Lg0KKw0KKysgYHJhaW5ib3cnIHVzZXMgYSBtb3JlIGNvbG9yZnVsIGZvcmVncm91bmQg aW4gY29tYmluYXRpb24gd2l0aA0KKyAgYm9sZCB3ZWlnaHQuDQorDQorKyBgcmFpbmJvdy1saW5l JyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBvdmVybGluZS4NCisNCisrIGByYWlu Ym93LWxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJhaW5ib3ctbGluZScgd2l0aG91dA0K KyAgdGhlIGJvbGQgd2VpZ2h0Lg0KKw0KKysgYGhpZ2hsaWdodCcgcmV0YWlucyB0aGUgZGVmYXVs dCBzdHlsZSBvZiBhIGZhaXJseSBkZXNhdHVyYXRlZA0KKyAgZm9yZWdyb3VuZCBjb21iaW5lZCB3 aXRoIGEgYm9sZCB3ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1YnRsZQ0KKyAgYWNjZW50ZWQgYmFj a2dyb3VuZC4NCisNCisrIGBoaWdobGlnaHQtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hs aWdodCcgd2l0aG91dCBhIGJvbGQNCisgIHdlaWdodC4NCisNCisrIGByYWluYm93LWhpZ2hsaWdo dCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdpdGggYSBtb3JlDQorICBjb2xvcmZ1 bCBmb3JlZ3JvdW5kLg0KKw0KKysgYHJhaW5ib3ctaGlnaGxpZ2h0LW5vLWJvbGQnIGlzIHRoZSBz YW1lIGFzIGByYWluYm93LWhpZ2hsaWdodCcNCisgIHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCisN CisrIGBzZWN0aW9uJyByZXRhaW5zIHRoZSBkZWZhdWx0IGxvb2tzIGFuZCBhZGRzIHRvIHRoZW0g Ym90aCBhbg0KKyAgb3ZlcmxpbmUgYW5kIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZC4g IEl0IGlzLCBpbiBlZmZlY3QsDQorICBhIGNvbWJpbmF0aW9uIG9mIHRoZSBgbGluZScgYW5kIGBo aWdobGlnaHQnIHZhbHVlcy4NCisNCisrIGBzZWN0aW9uLW5vLWJvbGQnIGlzIHRoZSBzYW1lIGFz IGBzZWN0aW9uJyB3aXRob3V0IGEgYm9sZA0KKyAgd2VpZ2h0Lg0KKw0KKysgYHJhaW5ib3ctc2Vj dGlvbicgaXMgdGhlIHNhbWUgYXMgYHNlY3Rpb24nIGJ1dCB3aXRoIGEgbW9yZQ0KKyAgY29sb3Jm dWwgZm9yZWdyb3VuZC4NCisNCisrIGByYWluYm93LXNlY3Rpb24tbm8tYm9sZCcgaXMgdGhlIHNh bWUgYXMgYHJhaW5ib3ctc2VjdGlvbicNCisgIHdpdGhvdXQgYSBib2xkIHdlaWdodC4NCisNCisr IGBuby1jb2xvcicgZG9lcyBub3QgYXBwbHkgYW55IGNvbG9yIHRvIHRoZSBoZWFkaW5nLCBtZWFu aW5nDQorICB0aGF0IGl0IHVzZXMgdGhlIGZvcmVncm91bmQgb2YgdGhlIGBkZWZhdWx0JyBmYWNl LiAgSXQgc3RpbGwNCisgIHJlbmRlcnMgdGhlIHRleHQgd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMg d2VpZ2h0Lg0KKw0KKysgYG5vLWNvbG9yLW5vLWJvbGQnIGlzIGxpa2UgYG5vLWNvbG9yJyBidXQg d2l0aG91dCB0aGUgYm9sZA0KKyAgd2VpZ2h0LiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQor ICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9u ICIyOC4xIg0KKyAgOnR5cGUNCisgICcoYWxpc3QNCisgICAgOmtleS10eXBlIHN5bWJvbA0KKyAg ICA6dmFsdWUtdHlwZQ0KKyAgICAoY2hvaWNlIChjb25zdCA6dGFnICJGYWlybHkgZGVzYXR1cmF0 ZWQgZm9yZWdyb3VuZCB3aXRoIGJvbGQgd2VpZ2h0IChkZWZhdWx0KSIgdCkNCisgICAgICAgICAg ICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCB3aXRob3V0IGJvbGQgd2VpZ2h0IiBuby1i b2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0IHBsdXMgb3Zl cmxpbmUiIGxpbmUpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGxpbmUnIHdpdGhv dXQgYm9sZCB3ZWlnaHQiIGxpbmUtbm8tYm9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAi TGlrZSB0aGUgZGVmYXVsdCBidXQgd2l0aCBtb3JlIGNvbG9yZnVsIGZvcmVncm91bmQiIHJhaW5i b3cpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3cnIHBsdXMgb3Zlcmxp bmUiIHJhaW5ib3ctbGluZSkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJv dycgd2l0aG91dCBib2xkIHdlaWdodCIgcmFpbmJvdy1uby1ib2xkKQ0KKyAgICAgICAgICAgIChj b25zdCA6dGFnICJMaWtlIGByYWluYm93LWxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHJhaW5i b3ctbGluZS1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZh dWx0IHBsdXMgc3VidGxlIGJhY2tncm91bmQiIGhpZ2hsaWdodCkNCisgICAgICAgICAgICAoY29u c3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBoaWdobGlnaHQt bm8tYm9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgaGlnaGxpZ2h0JyB3aXRo IG1vcmUgY29sb3JmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQpDQorICAgICAgICAg ICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRob3V0IGJvbGQgd2Vp Z2h0IiByYWluYm93LWhpZ2hsaWdodC1uby1ib2xkKQ0KKyAgICAgICAgICAgIChjb25zdCA6dGFn ICJMaWtlIGBoaWdobGlnaHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQorICAgICAgICAgICAg KGNvbnN0IDp0YWcgIkxpa2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWlnaHQiIHNlY3Rpb24t bm8tYm9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2VjdGlvbicgd2l0aCBt b3JlIGNvbG9yZnVsIGZvcmVncm91bmQiIHJhaW5ib3ctc2VjdGlvbikNCisgICAgICAgICAgICAo Y29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdy1zZWN0aW9uJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBy YWluYm93LXNlY3Rpb24tbm8tYm9sZCkNCisgICAgICAgICAgICAoY29uc3QgOnRhZyAiRG8gbm90 IHVzZSBhbnkgZGlzdGluY3QgZm9yZWdyb3VuZCBjb2xvcjsganVzdCBib2xkIHdlaWdodCIgbm8t Y29sb3IpDQorICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYG5vLWJvbGQnIGJ1dCB3aXRo b3V0IHRoZSBkaXN0aW5jdCBmb3JlZ3JvdW5kIGNvbG9yIiBuby1jb2xvci1uby1ib2xkKSkpDQor ICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgSGVhZGluZyBzdHlsZXMiKSkNCisN CisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS1oZWFkaW5ncyBuaWwNCisgICJVc2UgZm9u dCBzY2FsaW5nIGZvciBoZWFkaW5ncy4NCisNCitGb3IgcmVndWxhciBoZWFkaW5ncyB0aGUgc2Nh bGUgaXMgY29udHJvbGxlZCBieSB0aGUgdmFyaWFibGVzDQorYG1vZHVzLXRoZW1lcy1zY2FsZS0x JyAoc21hbGxlc3QpIGFuZCBpdHMgdmFyaWFudHMgYWxsIHRoZSB3YXkgdXANCit0byBgbW9kdXMt dGhlbWVzLXNjYWxlLTQnIChsYXJnZXIpLiAgV2hpbGUgYG1vZHVzLXRoZW1lcy1zY2FsZS01Jw0K K2lzIHJlc2VydmVkIGZvciBzcGVjaWFsIGhlYWRpbmdzIHRoYXQgbXVzdCBiZSB0aGUgbGFyZ2Vz dCBvbiB0aGUNCitzY2FsZS4NCisNCitBIHNwZWNpYWwgaGVhZGluZyBpcywgaW4gdGhpcyBjb250 ZXh0LCBvbmUgdGhhdCBkb2VzIG5vdCBmaXQgaW50bw0KK3RoZSBzeW50YXggZm9yIGhlYWRpbmcg bGV2ZWxzIHRoYXQgYXBwbHkgdG8gdGhlIGdpdmVuIG1vZGUuICBGb3INCitleGFtcGxlLCBPcmcn cyAjK3RpdGxlIGtleXdvcmQgbGllcyBvdXRzaWRlIHRoZSBub3JtYWwgZWlnaHQNCitsZXZlbHMg b2YgaGVhZGluZ3MuICBXaGVyZWFzLCBzYXksIE1hcmtkb3duIGRvZXMgbm90IGhhdmUgc3VjaCBh DQorc3BlY2lhbCBoZWFkaW5nLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2Fn ZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0K KyAgOnR5cGUgJ2Jvb2xlYW4NCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBT Y2FsZWQgaGVhZGluZ3MiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zY2FsZS0xIDEu MDUNCisgICJGb250IHNpemUgdGhhdCBpcyBzbGlnaHRseSBsYXJnZXIgdGhhbiB0aGUgYmFzZSB2 YWx1ZS4NCisNCitUaGlzIHNpemUgaXMgdXNlZCBmb3IgbGV2ZWwgNCBoZWFkaW5ncywgc3VjaCBh cyBpbiBPcmcgYW5kDQorTWFya2Rvd24gZmlsZXMuDQorDQorVGhlIGRlZmF1bHQgdmFsdWUgaXMg YSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGENCittdWx0aXBsZSBvZiB0 aGUgYmFzZSBmb250IHNpemUuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3VjaCBhDQordmFs dWUuDQorDQorSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbiBpbnRlZ2VyLCB1 bmRlcnN0b29kIGFzIGFuDQorYWJzb2x1dGUgaGVpZ2h0IHRoYXQgaXMgMS8xMCBvZiB0aGUgdHlw ZWZhY2UncyBwb2ludCBzaXplIChlLmcuIGENCit2YWx1ZSBvZiAxNDAgaXMgdGhlIHNhbWUgYXMg c2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCitUaGlzIHdpbGwgaWdub3JlIHRo ZSBiYXNlIGZvbnQgc2l6ZSBhbmQsIHRodXMsIHdpbGwgbm90IHNjYWxlIGluDQorYWNjb3JkYW5j ZSB3aXRoIGl0IGluIGNhc2VzIHdoZXJlIGl0IGNoYW5nZXMsIHN1Y2ggYXMgd2hpbGUgdXNpbmcN CitgdGV4dC1zY2FsZS1hZGp1c3QnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJ251bWJlcg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMp IFNjYWxlZCBoZWFkaW5nIHNpemVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtc2Nh bGUtMiAxLjENCisgICJGb250IHNpemUgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXRoZW1l cy1zY2FsZS0xJy4NCisNCitUaGlzIHNpemUgaXMgdXNlZCBmb3IgbGV2ZWwgMyBoZWFkaW5ncywg c3VjaCBhcyBpbiBPcmcgYW5kDQorTWFya2Rvd24gZmlsZXMuDQorDQorVGhlIGRlZmF1bHQgdmFs dWUgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGENCittdWx0aXBs ZSBvZiB0aGUgYmFzZSBmb250IHNpemUuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3VjaCBh DQordmFsdWUuDQorDQorSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbiBpbnRl Z2VyLCB1bmRlcnN0b29kIGFzIGFuDQorYWJzb2x1dGUgaGVpZ2h0IHRoYXQgaXMgMS8xMCBvZiB0 aGUgdHlwZWZhY2UncyBwb2ludCBzaXplIChlLmcuIGENCit2YWx1ZSBvZiAxNDAgaXMgdGhlIHNh bWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCitUaGlzIHdpbGwgaWdu b3JlIHRoZSBiYXNlIGZvbnQgc2l6ZSBhbmQsIHRodXMsIHdpbGwgbm90IHNjYWxlIGluDQorYWNj b3JkYW5jZSB3aXRoIGl0IGluIGNhc2VzIHdoZXJlIGl0IGNoYW5nZXMsIHN1Y2ggYXMgd2hpbGUg dXNpbmcNCitgdGV4dC1zY2FsZS1hZGp1c3QnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQor ICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9u ICIyOC4xIg0KKyAgOnR5cGUgJ251bWJlcg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10 aGVtZXMpIFNjYWxlZCBoZWFkaW5nIHNpemVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVt ZXMtc2NhbGUtMyAxLjE1DQorICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1 cy10aGVtZXMtc2NhbGUtMicuDQorDQorVGhpcyBzaXplIGlzIHVzZWQgZm9yIGxldmVsIDIgaGVh ZGluZ3MsIHN1Y2ggYXMgaW4gT3JnIGFuZA0KK01hcmtkb3duIGZpbGVzLg0KKw0KK1RoZSBkZWZh dWx0IHZhbHVlIGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBhcyBhDQor bXVsdGlwbGUgb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNl IHN1Y2ggYQ0KK3ZhbHVlLg0KKw0KK0hvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMg YW4gaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbg0KK2Fic29sdXRlIGhlaWdodCB0aGF0IGlzIDEv MTAgb2YgdGhlIHR5cGVmYWNlJ3MgcG9pbnQgc2l6ZSAoZS5nLiBhDQordmFsdWUgb2YgMTQwIGlz IHRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQorVGhpcyB3 aWxsIGlnbm9yZSB0aGUgYmFzZSBmb250IHNpemUgYW5kLCB0aHVzLCB3aWxsIG5vdCBzY2FsZSBp bg0KK2FjY29yZGFuY2Ugd2l0aCBpdCBpbiBjYXNlcyB3aGVyZSBpdCBjaGFuZ2VzLCBzdWNoIGFz IHdoaWxlIHVzaW5nDQorYHRleHQtc2NhbGUtYWRqdXN0Jy4iDQorICA6Z3JvdXAgJ21vZHVzLXRo ZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjIuMCIpDQorICA6 dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdudW1iZXINCisgIDpsaW5rICcoaW5mby1saW5rICIo bW9kdXMtdGhlbWVzKSBTY2FsZWQgaGVhZGluZyBzaXplcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9k dXMtdGhlbWVzLXNjYWxlLTQgMS4yDQorICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFu IGBtb2R1cy10aGVtZXMtc2NhbGUtMycuDQorDQorVGhpcyBzaXplIGlzIHVzZWQgZm9yIGxldmVs IDEgaGVhZGluZ3MsIHN1Y2ggYXMgaW4gT3JnIGFuZA0KK01hcmtkb3duIGZpbGVzLg0KKw0KK1Ro ZSBkZWZhdWx0IHZhbHVlIGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnByZXRlZCBh cyBhDQorbXVsdGlwbGUgb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSXQgaXMgcmVjb21tZW5kZWQg dG8gdXNlIHN1Y2ggYQ0KK3ZhbHVlLg0KKw0KK0hvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFj Y2VwdHMgYW4gaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbg0KK2Fic29sdXRlIGhlaWdodCB0aGF0 IGlzIDEvMTAgb2YgdGhlIHR5cGVmYWNlJ3MgcG9pbnQgc2l6ZSAoZS5nLiBhDQordmFsdWUgb2Yg MTQwIGlzIHRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQor VGhpcyB3aWxsIGlnbm9yZSB0aGUgYmFzZSBmb250IHNpemUgYW5kLCB0aHVzLCB3aWxsIG5vdCBz Y2FsZSBpbg0KK2FjY29yZGFuY2Ugd2l0aCBpdCBpbiBjYXNlcyB3aGVyZSBpdCBjaGFuZ2VzLCBz dWNoIGFzIHdoaWxlIHVzaW5nDQorYHRleHQtc2NhbGUtYWRqdXN0Jy4iDQorICA6Z3JvdXAgJ21v ZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjIuMCIp DQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdudW1iZXINCisgIDpsaW5rICcoaW5mby1s aW5rICIobW9kdXMtdGhlbWVzKSBTY2FsZWQgaGVhZGluZyBzaXplcyIpKQ0KKw0KKyhkZWZjdXN0 b20gbW9kdXMtdGhlbWVzLXNjYWxlLTUgMS4zDQorICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdl ciB0aGFuIGBtb2R1cy10aGVtZXMtc2NhbGUtNCcuDQorDQorVGhpcyBzaXplIGlzIG9ubHkgdXNl ZCBmb3IgJ3NwZWNpYWwnIHRvcCBsZXZlbCBoZWFkaW5ncywgc3VjaCBhcw0KK09yZydzIGZpbGUg dGl0bGUgaGVhZGluZywgZGVub3RlZCBieSB0aGUgIyt0aXRsZSBrZXkgd29yZCwgYW5kDQordGhl IE9yZyBhZ2VuZGEgc3RydWN0dXJlIGhlYWRlcnMuDQorDQorVGhlIGRlZmF1bHQgdmFsdWUgaXMg YSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGENCittdWx0aXBsZSBvZiB0 aGUgYmFzZSBmb250IHNpemUuICBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2Ugc3VjaCBhDQordmFs dWUuDQorDQorSG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbiBpbnRlZ2VyLCB1 bmRlcnN0b29kIGFzIGFuDQorYWJzb2x1dGUgaGVpZ2h0IHRoYXQgaXMgMS8xMCBvZiB0aGUgdHlw ZWZhY2UncyBwb2ludCBzaXplIChlLmcuIGENCit2YWx1ZSBvZiAxNDAgaXMgdGhlIHNhbWUgYXMg c2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCitUaGlzIHdpbGwgaWdub3JlIHRo ZSBiYXNlIGZvbnQgc2l6ZSBhbmQsIHRodXMsIHdpbGwgbm90IHNjYWxlIGluDQorYWNjb3JkYW5j ZSB3aXRoIGl0IGluIGNhc2VzIHdoZXJlIGl0IGNoYW5nZXMsIHN1Y2ggYXMgd2hpbGUgdXNpbmcN CitgdGV4dC1zY2FsZS1hZGp1c3QnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFj a2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4x Ig0KKyAgOnR5cGUgJ251bWJlcg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMp IFNjYWxlZCBoZWFkaW5nIHNpemVzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtZnJp bmdlcyBuaWwNCisgICJEZWZpbmUgdGhlIHZpc2liaWxpdHkgb2YgZnJpbmdlcy4NCisNCitOaWwg bWVhbnMgdGhlIGZyaW5nZXMgaGF2ZSBubyBiYWNrZ3JvdW5kIGNvbG9yLiAgT3B0aW9uIGBzdWJ0 bGUnDQord2lsbCBhcHBseSBhIGdyZXlzY2FsZSB2YWx1ZSB0aGF0IGlzIHZpc2libGUgeWV0IGNs b3NlIHRvIHRoZQ0KK21haW4gYnVmZmVyIGJhY2tncm91bmQgY29sb3IuICBPcHRpb24gYGludGVu c2UnIHdpbGwgdXNlIGEgbW9yZQ0KK3Byb25vdW5jZWQgZ3JleXNjYWxlIHZhbHVlLiINCisgIDpn cm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4g IjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAg ICAgKGNvbnN0IDp0YWcgIk5vIHZpc2libGUgZnJpbmdlcyAoZGVmYXVsdCkiIG5pbCkNCisgICAg ICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgc3VidGxlKQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiSW50ZW5zZSBncmV5c2NhbGUgYmFja2dyb3VuZCIgaW50 ZW5zZSkpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgRnJpbmdlcyIpKQ0K Kw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLWxhbmctY2hlY2tlcnMgbmlsDQorICAiQ29udHJv bCB0aGUgc3R5bGUgb2Ygc3BlbGxpbmcgYW5kIGNvZGUgY2hlY2tlcnMvbGludGVycy4NCisNCitO aWwgKHRoZSBkZWZhdWx0KSBhcHBsaWVzIGEgY29sb3ItY29kZWQgdW5kZXJsaW5lIHRvIHRoZSBh ZmZlY3RlZA0KK3RleHQsIHdoaWxlIGl0IGxlYXZlcyB0aGUgb3JpZ2luYWwgZm9yZWdyb3VuZCBp biB0YWN0LiAgSWYgdGhlDQorZGlzcGxheSBzcGVjIG9mIEVtYWNzIGhhcyBzdXBwb3J0IGZvciBp dCwgdGhlIHVuZGVybGluZSdzIHN0eWxlDQoraXMgdGhhdCBvZiBhIHdhdmUsIG90aGVyd2lzZSBp dCBpcyBhIHN0cmFpZ2h0IGxpbmUuDQorDQorT3B0aW9ucyBgc3VidGxlLWZvcmVncm91bmQnIGFu ZCBgaW50ZW5zZS1mb3JlZ3JvdW5kJyBhZGQgYQ0KK2NvbG9yLWNvZGVkIHVuZGVybGluZSB3aGls ZSBhbHNvIGNoYW5naW5nIHRoZSB0ZXh0J3MgZm9yZWdyb3VuZA0KK2FjY29yZGluZ2x5LiAgVGhl IHN0eWxlIG9mIHRoZSB1bmRlcmxpbmUgaXMgdGhlIHNhbWUgYXMgd2l0aCB0aGUNCitkZWZhdWx0 IG9wdGlvbi4NCisNCitPcHRpb24gYHN0cmFpZ2h0LXVuZGVybGluZScgaXMgbGlrZSB0aGUgZGVm YXVsdCBidXQgYWx3YXlzDQorYXBwbGllcyBhIHN0cmFpZ2h0IGxpbmUgdW5kZXIgdGhlIGFmZmVj dGVkIHRleHQuICBTYW1lIHByaW5jaXBsZQ0KK2ZvciBgc3VidGxlLWZvcmVncm91bmQtc3RyYWln aHQtdW5kZXJsaW5lJyBhbmQgaXRzIGNvdW50ZXJwYXJ0DQorYGludGVuc2UtZm9yZWdyb3VuZC1z dHJhaWdodC11bmRlcmxpbmUnLg0KKw0KK09wdGlvbiBgY29sb3JlZC1iYWNrZ3JvdW5kJyB1c2Vz IGEgc3RyYWlnaHQgdW5kZXJsaW5lLCBhDQorYmFja2dyb3VuZCwgYW5kIGEgZm9yZWdyb3VuZC4g IEFsbCBhcmUgY29sb3ItY29kZWQuICBUaGlzIGlzIHRoZQ0KK21vc3QgaW50ZW5zZSBjb21iaW5h dGlvbiBvZiBmYWNlIHByb3BlcnRpZXMuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpw YWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4xLjAiKQ0KKyAgOnZlcnNpb24gIjI4 LjEiDQorICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiT25seSBjb2xv ci1jb2RlZCB3YXZ5IHVuZGVybGluZSAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0 IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQsIGJ1dCB3aXRoIGEgc3RyYWlnaHQgdW5kZXJsaW5lIiBz dHJhaWdodC11bmRlcmxpbmUpDQorICAgICAgICAgIChjb25zdCA6dGFnICJDb2xvci1jb2RlZCB3 YXZ5IHVuZGVybGluZTsgc3VidGxlIGZvcmVncm91bmQiIHN1YnRsZS1mb3JlZ3JvdW5kKQ0KKyAg ICAgICAgICAoY29uc3QgOnRhZyAiQ29tYmluZXMgYHN0cmFpZ2h0LXVuZGVybGluZScgYW5kIGBz dWJ0bGUtZm9yZWdyb3VuZCciIHN1YnRsZS1mb3JlZ3JvdW5kLXN0cmFpZ2h0LXVuZGVybGluZSkN CisgICAgICAgICAgKGNvbnN0IDp0YWcgIkNvbG9yLWNvZGVkIHdhdnkgdW5kZXJsaW5lOyBpbnRl bnNlIGZvcmVncm91bmQiIGludGVuc2UtZm9yZWdyb3VuZCkNCisgICAgICAgICAgKGNvbnN0IDp0 YWcgIkNvbWJpbmVzIGBzdHJhaWdodC11bmRlcmxpbmUnIGFuZCBgaW50ZW5zZS1mb3JlZ3JvdW5k JyIgaW50ZW5zZS1mb3JlZ3JvdW5kLXN0cmFpZ2h0LXVuZGVybGluZSkNCisgICAgICAgICAgKGNv bnN0IDp0YWcgIkNvbG9yLWNvZGVkIGJhY2tncm91bmQsIGZvcmVncm91bmQsIHN0cmFpZ2h0IHVu ZGVybGluZSIgY29sb3JlZC1iYWNrZ3JvdW5kKSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9k dXMtdGhlbWVzKSBMYW5ndWFnZSBjaGVja2VycyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhl bWVzLW9yZy1ibG9ja3MgbmlsDQorICAiVXNlIGEgc3VidGxlIGdyYXkgb3IgY29sb3ItY29kZWQg YmFja2dyb3VuZCBmb3IgT3JnIGJsb2Nrcy4NCisNCitOaWwgbWVhbnMgdGhhdCB0aGUgYmxvY2sg d2lsbCBoYXZlIG5vIGJhY2tncm91bmQgb2YgaXRzIG93biBhbmQNCit3aWxsIHVzZSB0aGUgZGVm YXVsdCB0aGF0IGFwcGxpZXMgdG8gdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlci4NCisNCitPcHRpb24g YGdyYXlzY2FsZScgKG9yIGBncmV5c2NhbGUnKSB3aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRyYWwN CitncmF5IGJhY2tncm91bmQgdG8gdGhlIGJsb2NrJ3MgY29udGVudHMuICBJdCBhbHNvIGFmZmVj dHMgdGhlDQorYmVnaW4gYW5kIGVuZCBsaW5lcyBvZiB0aGUgYmxvY2s6IHRoZWlyIGJhY2tncm91 bmQgd2lsbCBiZQ0KK2V4dGVuZGVkIHRvIHRoZSBlZGdlIG9mIHRoZSB3aW5kb3cgZm9yIEVtYWNz IHZlcnNpb24gPj0gMjcgd2hlcmUNCit0aGUgJzpleHRlbmQnIGtleXdvcmQgaXMgcmVjb2duaXpl ZCBieSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCisNCitPcHRpb24gYHJhaW5ib3cnIHdpbGwgdXNl IGFuIGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBjb250ZW50cw0KK29mIHRoZSBibG9jay4g IFRoZSBleGFjdCBjb2xvciB3aWxsIGRlcGVuZCBvbiB0aGUgcHJvZ3JhbW1pbmcNCitsYW5ndWFn ZSBhbmQgaXMgY29udHJvbGxlZCBieSB0aGUgYG9yZy1zcmMtYmxvY2stZmFjZXMnDQordmFyaWFi bGUgKHJlZmVyIHRvIHRoZSB0aGVtZSdzIHNvdXJjZSBjb2RlIGZvciB0aGUgY3VycmVudA0KK2Fz c29jaWF0aW9uIGxpc3QpLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12 ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAg OnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIE9yZyBibG9jayBiYWNr Z3JvdW5kIChkZWZhdWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGdy YXkgYmxvY2sgYmFja2dyb3VuZCIgZ3JheXNjYWxlKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAi U3VidGxlIGdyYXkgYmxvY2sgYmFja2dyb3VuZCAoYWx0IHNwZWxsaW5nKSIgZ3JleXNjYWxlKQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiQ29sb3ItY29kZWQgYmFja2dyb3VuZCBwZXIgcHJvZ3Jh bW1pbmcgbGFuZ3VhZ2UiIHJhaW5ib3cpKQ0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10 aGVtZXMpIE9yZyBtb2RlIGJsb2NrcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLW9y Zy1oYWJpdCBuaWwNCisgICJDb250cm9sIHRoZSBwcmVzZW50YXRpb24gb2YgdGhlIGBvcmctaGFi aXQnIGdyYXBoLg0KKw0KK1RoZSBkZWZhdWx0IGlzIG1lYW50IHRvIGNvbmZvcm0gd2l0aCB0aGUg b3JpZ2luYWwgYWVzdGhldGljIG9mDQorYG9yZy1oYWJpdCcuICBJdCBlbXBsb3lzIGFsbCBmb3Vy IGNvbG9yIGNvZGVzIHRoYXQgY29ycmVzcG9uZCB0bw0KK3RoZSBvcmctaGFiaXQgc3RhdGVzLS0t Y2xlYXIsIHJlYWR5LCBhbGVydCwgYW5kIG92ZXJkdWUtLS13aGlsZQ0KK2Rpc3Rpbmd1aXNoaW5n IGJldHdlZW4gdGhlaXIgcHJlc2VudCBhbmQgZnV0dXJlIHZhcmlhbnRzLiAgVGhpcw0KK3Jlc3Vs dHMgaW4gYSB0b3RhbCBvZiBlaWdodCBjb2xvcnMgaW4gdXNlOiByZWQsIHllbGxvdywgZ3JlZW4s DQorYmx1ZSwgaW4gdGludGVkIGFuZCBzaGFkZWQgdmVyc2lvbnMuICBUaGV5IGNvdmVyIHRoZSBm dWxsIHNldCBvZg0KK2luZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IHRoZSBgb3JnLWhhYml0JyBjb25z aXN0ZW5jeSBncmFwaC4NCisNCitPcHRpb24gYHNpbXBsaWZpZWQnIGlzIGxpa2UgdGhlIGRlZmF1 bHQgZXhjZXB0IHRoYXQgaXQgcmVtb3Zlcw0KK3RoZSBkaWNob3RvbXkgYmV0d2VlbiBjdXJyZW50 IGFuZCBmdXR1cmUgdmFyaWFudHMgYnkgYXBwbHlpbmcNCit1bmlmb3JtIGNvbG9yLWNvZGVkIHZh bHVlcy4gIEl0IGFwcGxpZXMgYSB0b3RhbCBvZiBmb3VyIGNvbG9yczoNCityZWQsIHllbGxvdywg Z3JlZW4sIGJsdWUuICBUaGV5IHByb2R1Y2UgYSBzaW1wbGlmaWVkIGNvbnNpc3RlbmN5DQorZ3Jh cGggdGhhdCBpcyBtb3JlIGxlZ2libGUgKG9yIGxlc3MgXCJidXN5XCIpIHRoYW4gdGhlIGRlZmF1 bHQuDQorVGhlIGludGVudCBpcyB0byBzaGlmdCBmb2N1cyB0b3dhcmRzIHRoZSBkaXN0aW5jdGlv biBiZXR3ZWVuIHRoZQ0KK2ZvdXIgc3RhdGVzIG9mIGEgaGFiaXQgdGFzaywgcmF0aGVyIHRoYW4g ZWFjaCBzdGF0ZSdzDQorcHJlc2VudC9mdXR1cmUgb3V0bG9vay4NCisNCitPcHRpb24gYHRyYWZm aWMtbGlnaHQnIGZ1cnRoZXIgcmVkdWNlcyB0aGUgYXZhaWxhYmxlIGNvbG9ycyB0bw0KK3JlZCwg eWVsbG93LCBhbmQgZ3JlZW4uICBBcyBpbiBgc2ltcGxpZmllZCcsIHByZXNlbnQgYW5kIGZ1dHVy ZQ0KK3ZhcmlhbnRzIGFwcGVhciB1bmlmb3JtbHksIGJ1dCBkaWZmZXJlbnRseSBmcm9tIGl0LCB0 aGUgJ2NsZWFyJw0KK3N0YXRlIGlzIHJlbmRlcmVkIGluIGEgZ3JlZW4gaHVlLCBpbnN0ZWFkIG9m IHRoZSBvcmlnaW5hbCBibHVlLg0KK1RoaXMgaXMgbWVhbnQgdG8gY2FwdHVyZSB0aGUgdXNlLWNh c2Ugd2hlcmUgYSBoYWJpdCB0YXNrIGJlaW5nDQorXCJ0b28gZWFybHlcIiBpcyBsZXNzIGltcG9y dGFudCB0aGFuIGl0IGJlaW5nIFwidG9vIGxhdGVcIi4gIFRoZQ0KK2RpZmZlcmVuY2UgYmV0d2Vl biByZWFkeSBhbmQgY2xlYXIgc3RhdGVzIGlzIGF0dGVudWF0ZWQgYnkNCitwYWludGluZyBib3Ro IG9mIHRoZW0gdXNpbmcgc2hhZGVzIG9mIGdyZWVuLiAgVGhpcyBvcHRpb24gdGh1cw0KK2hpZ2hs aWdodHMgdGhlIGFsZXJ0IGFuZCBvdmVyZHVlIHN0YXRlcy4iDQorICA6Z3JvdXAgJ21vZHVzLXRo ZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjEuMCIpDQorICA6 dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFn ICJSZXNwZWN0IHRoZSBvcmlnaW5hbCBkZXNpZ24gb2Ygb3JnLWhhYml0IChkZWZhdWx0KSIgbmls KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCwgYnV0IGRvIG5vdCBk aXN0aW5ndWlzaCBiZXR3ZWVuIHByZXNlbnQgYW5kIGZ1dHVyZSB2YXJpYW50cyIgc2ltcGxpZmll ZCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHNpbXBsaWZpZWQnLCBidXQgb25seSB1 c2UgcmVkLCB5ZWxsb3csIGdyZWVuIiB0cmFmZmljLWxpZ2h0KSkNCisgIDpsaW5rICcoaW5mby1s aW5rICIobW9kdXMtdGhlbWVzKSBPcmcgYWdlbmRhIGhhYml0cyIpKQ0KKw0KKyhkZWZjdXN0b20g bW9kdXMtdGhlbWVzLW1vZGUtbGluZSBuaWwNCisgICJBZGp1c3QgdGhlIG92ZXJhbGwgc3R5bGUg b2YgdGhlIG1vZGUgbGluZS4NCisNCitOaWwgaXMgYSB0d28tZGltZW5zaW9uYWwgcmVjdGFuZ2xl IHdpdGggYSBib3JkZXIgYXJvdW5kIGl0LiAgVGhlDQorYWN0aXZlIGFuZCB0aGUgaW5hY3RpdmUg bW9kZWxpbmVzIHVzZSBkaWZmZXJlbnQgc2hhZGVzIG9mDQorZ3JleXNjYWxlIHZhbHVlcyBmb3Ig dGhlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQuDQorDQorQSBgM2QnIHZhbHVlIHdpbGwgYXBw bHkgYSB0aHJlZS1kaW1lbnNpb25hbCBlZmZlY3QgdG8gdGhlIGFjdGl2ZQ0KK21vZGVsaW5lLiAg VGhlIGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gdHdvLWRpbWVuc2lvbmFsIGFuZCBhcmUNCit0 b25lZCBkb3duIGEgYml0LCByZWxhdGl2ZSB0byB0aGUgbmlsIHZhbHVlLg0KKw0KK1RoZSBgbW9v ZHknIG9wdGlvbiBpcyBtZWFudCB0byBvcHRpbWl6ZSB0aGUgbW9kZWxpbmUgZm9yIHVzZSB3aXRo DQordGhlIGxpYnJhcnkgb2YgdGhlIHNhbWUgbmFtZS4gIFRoaXMgcHJhY3RpY2FsbHkgbWVhbnMg dG8gcmVtb3ZlDQordGhlIGJveCBlZmZlY3QgYW5kIHJlbHkgb24gdW5kZXJsaW5lIGFuZCBvdmVy bGluZSBwcm9wZXJ0aWVzDQoraW5zdGVhZC4gIEl0IGFsc28gdG9uZXMgZG93biB0aGUgaW5hY3Rp dmUgbW9kZWxpbmVzLiAgRGVzcGl0ZSBpdHMNCitpbnRlbmRlZCBwdXJwb3NlLCB0aGlzIG9wdGlv biBjYW4gYWxzbyBiZSB1c2VkIHdpdGhvdXQgdGhlDQorYG1vb2R5JyBsaWJyYXJ5Lg0KKw0KK1Ro ZSBgYm9yZGVybGVzcycgb3B0aW9uIHVzZXMgdGhlIHNhbWUgY29sb3JzIGFzIHRoZSBkZWZhdWx0 IChuaWwNCit2YWx1ZSksIGJ1dCByZW1vdmVzIHRoZSBib3JkZXIgZWZmZWN0LiAgVGhpcyBpcyBk b25lIGJ5IG1ha2luZw0KK3RoZSBib3ggcHJvcGVydHkgdXNlIHRoZSBzYW1lIGNvbG9yIGFzIHRo ZSBiYWNrZ3JvdW5kLA0KK2VmZmVjdGl2ZWx5IGJsZW5kaW5nIHRoZSB0d28gYW5kIGNyZWF0aW5n IHNvbWUgcGFkZGluZy4NCisNCitUaGUgYGJvcmRlcmxlc3MtM2QnIGFuZCBgYm9yZGVybGVzcy1t b29keScgYXBwcm94aW1hdGUgdGhlIGAzZCcNCithbmQgYG1vb2R5JyBvcHRpb25zIHJlc3BlY3Rp dmVseSwgd2hpbGUgcmVtb3ZpbmcgdGhlIGJvcmRlcnMuDQorSG93ZXZlciwgdG8gZW5zdXJlIHRo YXQgdGhlIGluYWN0aXZlIG1vZGVsaW5lcyByZW1haW4gdmlzaWJsZSwNCit0aGV5IGFwcGx5IGEg c2xpZ2h0bHkgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCB0byB0aGVtIHRoYW4gd2hhdA0KK3Ro ZWlyIGNvdW50ZXJwYXJ0cyBkbyAoc2FtZSBpbmFjdGl2ZSBiYWNrZ3JvdW5kIGFzIHdpdGggdGhl DQorZGVmYXVsdCkuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNp b24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlw ZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVHdvLWRpbWVuc2lvbmFsIGJveCAo ZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlRocmVlLWRpbWVuc2lvbmFs IHN0eWxlIGZvciB0aGUgYWN0aXZlIG1vZGUgbGluZSIgM2QpDQorICAgICAgICAgIChjb25zdCA6 dGFnICJObyBib3ggZWZmZWN0cywgd2hpY2ggYXJlIG9wdGltYWwgZm9yIHVzZSB3aXRoIHRoZSBg bW9vZHknIGxpYnJhcnkiIG1vb2R5KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUg ZGVmYXVsdCwgYnV0IHdpdGhvdXQgYm9yZGVyIGVmZmVjdHMiIGJvcmRlcmxlc3MpDQorICAgICAg ICAgIChjb25zdCA6dGFnICJMaWtlIGAzZCcsIGJ1dCB3aXRob3V0IG5vdGljZWFibGUgYm9yZGVy IiBib3JkZXJsZXNzLTNkKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgbW9vZHknLCBi dXQgd2l0aG91dCBub3RpY2VhYmxlIGJvcmRlciIgYm9yZGVybGVzcy1tb29keSkpDQorICA6bGlu ayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgTW9kZSBsaW5lIikpDQorDQorKGRlZmN1c3Rv bSBtb2R1cy10aGVtZXMtZGlmZnMgbmlsDQorICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlcyBv ZiBkaWZmcy4NCisNCitOaWwgbWVhbnMgdG8gdXNlIGZhaXJseSBpbnRlbnNlIGNvbG9yIGNvbWJp bmF0aW9ucyBmb3IgZGlmZnMuDQorRm9yIGV4YW1wbGUsIHlvdSBnZXQgYSByaWNoIGdyZWVuIGJh Y2tncm91bmQgd2l0aCBhIGdyZWVuDQorZm9yZWdyb3VuZCBmb3IgYWRkZWQgbGluZXMuICBXb3Jk LXdpc2Ugb3IgJ3JlZmluZWQnIGRpZmZzIGZvbGxvdw0KK3RoZSBzYW1lIHBhdHRlcm4gYnV0IHVz ZSBkaWZmZXJlbnQgc2hhZGVzIG9mIHRob3NlIGNvbG9ycyB0bw0KK3JlbWFpbiBkaXN0aW5jdC4N CisNCitBIGBkZXNhdHVyYXRlZCcgdmFsdWUgZm9sbG93cyB0aGUgc2FtZSBwcmluY2lwbGVzIGFz IHdpdGggdGhlIG5pbA0KK29wdGlvbiwgd2hpbGUgaXQgdG9uZXMgZG93biBhbGwgcmVsZXZhbnQg Y29sb3JzLg0KKw0KK09wdGlvbiBgZmctb25seScgd2lsbCByZW1vdmUgYWxsIGFjY2VudGVkIGJh Y2tncm91bmRzLCBleGNlcHQNCitmcm9tIHdvcmQtd2lzZSBjaGFuZ2VzLiAgSXQgaW5zdGVhZCB1 c2VzIGNvbG9yLWNvZGVkIGZvcmVncm91bmQNCit2YWx1ZXMgdG8gZGlmZmVyZW50aWF0ZSBiZXR3 ZWVuIGFkZGVkL3JlbW92ZWQvY2hhbmdlZCBsaW5lcy4gIElmDQorYSBiYWNrZ3JvdW5kIGlzIG5l Y2Vzc2FyeSwgc3VjaCBhcyB3aXRoIGBlZGlmZicsIHRoZW4gYSBzdWJ0bGUNCitncmV5c2NhbGUg dmFsdWUgaXMgdXNlZC4NCisNCitPcHRpb24gYGJnLW9ubHknIGFwcGxpZXMgYSBiYWNrZ3JvdW5k IGJ1dCBkb2VzIG5vdCBvdmVycmlkZSB0aGUNCit0ZXh0J3MgZm9yZWdyb3VuZC4gIFRoaXMgbWFr ZXMgaXQgc3VpdGFibGUgZm9yIGEgbm9uLW5pbCB2YWx1ZQ0KK3Bhc3NlZCB0byBgZGlmZi1mb250 LWxvY2stc3ludGF4JyAobm90ZTogTWFnaXQgZG9lcyBub3Qgc3VwcG9ydA0KK3N5bnRheCBoaWdo bGlnaHRpbmcgaW4gZGlmZnMgYXMgb2YgMjAyMC0xMS0yNSwgdmVyc2lvbg0KKzIwMjAxMTE2LjEw NTcpLg0KKw0KK09wdGlvbiBgZGV1dGVyYW5vcGlhJyBhY2NvdW50cyBmb3IgcmVkLWdyZWVuIGNv bG9yIGRlZmZpY2llbmN5IGJ5DQorcmVwbGFjaW5nIGFsbCBpbnN0YW5jZXMgb2YgZ3JlZW4gd2l0 aCBjb2xvcnMgb24gdGhlIGJsdWUgc2lkZSBvZg0KK3RoZSBzcGVjdHJ1bS4gIE90aGVyIHN0eWxp c3RpYyBjaGFuZ2VzIGFyZSBtYWRlIGluIHRoZSBpbnRlcmVzdA0KK29mIG9wdGltaXppbmcgZm9y IHN1Y2ggYSB1c2UtY2FzZS4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2Ut dmVyc2lvbiAnKG1vZHVzLXRoZW1lcyAuICIxLjIuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisg IDp0eXBlICcoY2hvaWNlDQorICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlbHkgY29sb3Jl ZCBiYWNrZ3JvdW5kcyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlNs aWdodGx5IGFjY2VudGVkIGJhY2tncm91bmRzIHdpdGggdGludGVkIHRleHQiIGRlc2F0dXJhdGVk KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gYmFja2dyb3VuZHMsIGV4Y2VwdCBmb3IgcmVm aW5lZCBkaWZmcyIgZmctb25seSkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkFwcGx5IGNvbG9y LWNvZGVkIGJhY2tncm91bmRzOyBrZWVwIHN5bnRheCBjb2xvcnMgaW4gdGFjdCIgYmctb25seSkN CisgICAgICAgICAgKGNvbnN0IDp0YWcgIk9wdGltaXplZCBmb3IgcmVkLWdyZWVuIGNvbG9yIGRl ZmZpY2llbmN5IiBkZXV0ZXJhbm9waWEpKQ0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10 aGVtZXMpIERpZmZzIikpDQorDQorKGRlZmN1c3RvbSBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMg bmlsDQorICAiQXBwbHkgc3BlY2lhbCBzdHlsZXMgdG8gdGhlIFVJIG9mIGNvbXBsZXRpb24gZnJh bWV3b3Jrcy4NCisNCitUaGlzIGNvbmNlcm5zIEljb21wbGV0ZSwgSXZ5LCBIZWxtLCBTZWxlY3Ry dW0sIElkbywgYXMgd2VsbCBhcw0KK2FueSBvdGhlciB0b29sIG1lYW50IHRvIGVuaGFuY2UgdGhl aXIgZXhwZXJpZW5jZS4gIFRoZSBlZmZlY3QNCit3aWxsIHZhcnkgZGVwZW5kaW5nIG9uIHRoZSBj b21wbGV0aW9uIGZyYW1ld29yay4NCisNCitOaWwgbWVhbnMgdG8gcmVtYWluIGZhaXRoZnVsIHRv IHRoZSBtZXRhcGhvcnMgdGhhdCBlYWNoIFVJDQorZXN0YWJsaXNoZXMuICBGb3IgZXhhbXBsZSwg SWNvbXBsZXRlIGFuZCBJZG8gb25seSB1c2UgZm9yZWdyb3VuZA0KK2NvbG9ycyB0byBzdHlsZSB0 aGVpciBtYXRjaGVzLCB3aGVyZWFzIEl2eSBvciBIZWxtIHJlbHkgb24gYW4NCithZXN0aGV0aWMg dGhhdCBjb21iaW5lcyBjb2xvcmVkIGJhY2tncm91bmRzIHdpdGggYXBwcm9wcmlhdGUgdGV4dA0K K2NvbG9yLg0KKw0KK09wdGlvbiBgbW9kZXJhdGUnIHdpbGwgYXBwbHkgYSBjb21iaW5hdGlvbiBv ZiBiYWNrZ3JvdW5kIGFuZA0KK2ZvcmVncm91bmQgdGhhdCBpcyBmYWlybHkgc3VidGxlLiAgRm9y IEljb21wbGV0ZSBhbmQgdGhlIGxpa2UsDQordGhpcyBjb25zdGl0dXRlcyBhIGRlcGFydHVyZSBm cm9tIHRoZWlyIHN0YW5kYXJkIHN0eWxlLiAgV2hpbGUNCitJdnksIEhlbG0sIGFuZCB0aGUgb3Ro ZXJzLCB3aWxsIHVzZSBsZXNzIHByb25vdW5jZWQgY29sb3JzIGZvcg0KK2FwcGxpY2FibGUgY29u dGV4dHMuDQorDQorT3B0aW9uIGBvcGluaW9uYXRlZCcgd2lsbCBhcHBseSBjb2xvciBjb21iaW5h dGlvbnMgdGhhdCByZWZhc2hpb24NCit0aGUgY29tcGxldGlvbiBVSS4gIFNvIEljb21wbGV0ZSBl dCBhbCB3aWxsIG5vdyB1c2Ugc3R5bGVzIHRoYXQNCityZXNlbWJsZSB0aGUgZGVmYXVsdHMgb2Yg SXZ5IGFuZCBjby4sIHdoaWxlIHRoZSBsYXR0ZXIgZ3JvdXAgd2lsbA0KK3JldmVydCB0byBhbiBl dmVuIG1vcmUgbnVhbmNlZCBhZXN0aGV0aWMuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisg IDpwYWNrYWdlLXZlcnNpb24gJyhtb2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24g IjI4LjEiDQorICA6dHlwZSAnKGNob2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiUmVzcGVj dCB0aGUgZnJhbWV3b3JrJ3MgZXN0YWJsaXNoZWQgYWVzdGhldGljIChkZWZhdWx0KSIgbmlsKQ0K KyAgICAgICAgICAoY29uc3QgOnRhZyAiU3VidGxlIGJhY2tncm91bmRzIGZvciB2YXJpb3VzIGVs ZW1lbnRzIiBtb2RlcmF0ZSkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlJhZGljYWwgYWx0ZXJu YXRpdmUgdG8gdGhlIGZyYW1ld29yaydzIGxvb2tzIiBvcGluaW9uYXRlZCkpDQorICA6bGluayAn KGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgQ29tcGxldGlvbiBVSXMiKSkNCisNCisoZGVmY3Vz dG9tIG1vZHVzLXRoZW1lcy1wcm9tcHRzIG5pbA0KKyAgIlVzZSBzdWJ0bGUgb3IgaW50ZW5zZSBz dHlsZXMgZm9yIG1pbmlidWZmZXIgYW5kIFJFUEwgcHJvbXB0cy4NCisNCitOaWwgbWVhbnMgdG8g b25seSB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBjb2xvci4NCisNCitPcHRpb25zIGBzdWJ0 bGUtYWNjZW50ZWQnIGFuZCBgaW50ZW5zZS1hY2NlbnRlZCcgd2lsbCBjaGFuZ2UgYm90aA0KK3Ro ZSBiYWNrZ3JvdW5kIGFuZCB0aGUgZm9yZWdyb3VuZCB2YWx1ZXMgdG8gdXNlIGFjY2VudGVkIGNv bG9yDQorY29tYmluYXRpb25zIHRoYXQgZm9sbG93IHRoZSBodWUgb2YgdGhlIGRlZmF1bHQgc3R5 bGVzJw0KK2ZvcmVncm91bmQgKGUuZy4gdGhlIGRlZmF1bHQgbWluaWJ1ZmZlciBwcm9tcHQgaXMg Y3lhbiB0ZXh0LCBzbw0KK3RoZXNlIGNvbWJpbmF0aW9ucyB3aWxsIGludm9sdmVkIGEgY3lhbiBi YWNrZ3JvdW5kIGFuZCBhbg0KK2FwcHJvcHJpYXRlIGN5YW4gZm9yZWdyb3VuZCkuDQorDQorT3B0 aW9ucyBgc3VidGxlLWdyYXknIGFuZCBgaW50ZW5zZS1ncmF5JyBhcmUgbGlrZSB0aGVpcg0KK2Bz dWJ0bGUtYWNjZW50ZWQnIGFuZCBgaW50ZW5zZS1hY2NlbnRlZCcgY291bnRlcnBhcnRzLCBleGNl cHQNCit0aGV5IHVzZSBncmF5c2NhbGUgdmFsdWVzIGluc3RlYWQgb2YgYWNjZW50ZWQgb25lcy4i DQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1vZHVzLXRo ZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICcoY2hvaWNlDQor ICAgICAgICAgIDs7IGBzdWJ0bGUnIGlzIHRoZSBzYW1lIGFzIGBzdWJ0bGUtYWNjZW50ZWQnLCB3 aGlsZSBgaW50ZW5zZScgaXMNCisgICAgICAgICAgOzsgZXF1YWwgdG8gYGludGVuc2UtYWNjZW50 ZWQnIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5DQorICAgICAgICAgIChjb25zdCA6dGFnICJO byBwcm9tcHQgYmFja2dyb3VuZCAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0IDp0 YWcgIlN1YnRsZSBhY2NlbnRlZCBiYWNrZ3JvdW5kIGZvciB0aGUgcHJvbXB0IiBzdWJ0bGUtYWNj ZW50ZWQpDQorICAgICAgICAgIChjb25zdCA6dGFnICJTYW1lIGFzIGBzdWJ0bGUtYWNjZW50ZWQn IGZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMiIHN1YnRsZSkNCisgICAgICAg ICAgKGNvbnN0IDp0YWcgIkludGVuc2UgYWNjZW50ZWQgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3Vu ZCBmb3IgdGhlIHByb21wdCIgaW50ZW5zZS1hY2NlbnRlZCkNCisgICAgICAgICAgKGNvbnN0IDp0 YWcgIlNhbWUgYXMgYGludGVuc2UtYWNjZW50ZWQnIGZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xk ZXIgdmVyc2lvbnMiIGludGVuc2UpDQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBzdWJ0 bGUtYWNjZW50ZWQnIGJ1dCBncmF5c2NhbGUiIHN1YnRsZS1ncmF5KQ0KKyAgICAgICAgICAoY29u c3QgOnRhZyAiTGlrZSBgaW50ZW5zZS1hY2NlbnRlZCcgYnV0IGdyYXlzY2FsZSIgaW50ZW5zZS1n cmF5KSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVzKSBDb21tYW5kIHByb21w dHMiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUgbmlsDQor ICAiVXNlIGEgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCBmb3IgY29tbWFuZCBgaGwtbGluZS1t b2RlJy4iDQorICA6Z3JvdXAgJ21vZHVzLXRoZW1lcw0KKyAgOnBhY2thZ2UtdmVyc2lvbiAnKG1v ZHVzLXRoZW1lcyAuICIxLjAuMCIpDQorICA6dmVyc2lvbiAiMjguMSINCisgIDp0eXBlICdib29s ZWFuDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRoZW1lcykgTGluZSBoaWdobGlnaHRp bmciKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1zdWJ0bGUtbGluZS1udW1iZXJzIG5p bA0KKyAgIlVzZSBtb3JlIHN1YnRsZSBzdHlsZSBmb3IgY29tbWFuZCBgZGlzcGxheS1saW5lLW51 bWJlcnMtbW9kZScuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNp b24gJyhtb2R1cy10aGVtZXMgLiAiMS4yLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlw ZSAnYm9vbGVhbg0KKyAgOmxpbmsgJyhpbmZvLWxpbmsgIihtb2R1cy10aGVtZXMpIExpbmUgbnVt YmVycyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXBhcmVuLW1hdGNoIG5pbA0KKyAg IkNob29zZSB0aGUgc3R5bGUgb2YgbWF0Y2hpbmcgcGFyZW50aGVzZXMgb3IgZGVsaW1pdGVycy4N CisNCitOaWwgbWVhbnMgdG8gdXNlIGEgc3VidGxlIHRpbnRlZCBiYWNrZ3JvdW5kIGNvbG9yICh0 aGUgZGVmYXVsdCkuDQorDQorT3B0aW9uIGBpbnRlbnNlJyBhcHBsaWVzIGEgc2F0dXJhdGVkIGJh Y2tncm91bmQgY29sb3IuDQorDQorT3B0aW9uIGBzdWJ0bGUtYm9sZCcgaXMgdGhlIHNhbWUgYXMg dGhlIGRlZmF1bHQsIGJ1dCBhbHNvIG1ha2VzDQordXNlIG9mIGJvbGQgdHlwb2dyYXBoaWMgd2Vp Z2h0IChpbmhlcml0cyB0aGUgYGJvbGQnIGZhY2UpLg0KKw0KK09wdGlvbiBgaW50ZW5zZS1ib2xk JyBpcyB0aGUgc2FtZSBhcyBgaW50ZW5zZScsIHdoaWxlIGl0IGFsc28NCit1c2VzIGEgYm9sZCB3 ZWlnaHQuIg0KKyAgOmdyb3VwICdtb2R1cy10aGVtZXMNCisgIDpwYWNrYWdlLXZlcnNpb24gJyht b2R1cy10aGVtZXMgLiAiMS4wLjAiKQ0KKyAgOnZlcnNpb24gIjI4LjEiDQorICA6dHlwZSAnKGNo b2ljZQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiU3VibHRlIHRpbnRlZCBiYWNrZ3JvdW5kIChk ZWZhdWx0KSIgbmlsKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVsdCwg YnV0IGFsc28gdXNlIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0IiBzdWJ0bGUtYm9sZCkNCisgICAg ICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2Ugc2F0dXJhdGVkIGJhY2tncm91bmQiIGludGVuc2Up DQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBpbnRlbnNlJyBidXQgd2l0aCBib2xkIHdl aWdodCIgaW50ZW5zZS1ib2xkKSkNCisgIDpsaW5rICcoaW5mby1saW5rICIobW9kdXMtdGhlbWVz KSBNYXRjaGluZyBwYXJlbnRoZXNlcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLXN5 bnRheCBuaWwNCisgICJDb250cm9sIHRoZSBvdmVyYWxsIHN0eWxlIG9mIGNvZGUgc3ludGF4IGhp Z2hsaWdodGluZy4NCisNCitOaWwgKHRoZSBkZWZhdWx0KSBtZWFucyB0byB1c2UgY29sb3JzIG9u IHRoZSBjeWFuLWJsdWUtbWFnZW50YQ0KK3NpZGUgb2YgdGhlIHNwZWN0cnVtLiAgVGhlcmUgaXMg bGl0dGxlIHRvIG5vIHVzZSBvZiBncmVlbnMsDQoreWVsbG93cywgYW5kIHJlZHMuDQorDQorT3B0 aW9uIGBmYWludCcgaXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUgY2hvaWNlIG9m DQorcGFsZXR0ZSBidXQgYXBwbGllcyBkZXNhdHVyYXRlZCBjb2xvciB2YWx1ZXMuDQorDQorT3B0 aW9uIGB5ZWxsb3ctY29tbWVudHMnIGFwcGxpZXMgYSB5ZWxsb3cgdGludCB0byBjb21tZW50cy4g IFRoZQ0KK3Jlc3Qgb2YgdGhlIHN5bnRheCBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdC4NCisN CitPcHRpb24gYGdyZWVuLXN0cmluZ3MnIHJlcGxhY2VzIHRoZSBibHVlL2N5YW4vY29sZCBjb2xv ciB2YXJpYW50cw0KK2luIHN0cmluZ3Mgd2l0aCBncmVlbmVyIGFsdGVybmF0aXZlcy4gIFRoZSBy ZXN0IG9mIHRoZSBzeW50YXgNCityZW1haW5zIHRoZSBzYW1lLg0KKw0KK09wdGlvbiBgeWVsbG93 LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MnIGNvbWJpbmVzIHllbGxvdyBjb21tZW50cw0KK3dpdGgg Z3JlZW4gc3RyaW5ncyBhbmQgdGhlIHJlc3Qgb2YgdGhlIGRlZmF1bHQgc3ludGF4DQoraGlnaGxp Z2h0aW5nIHN0eWxlLg0KKw0KK09wdGlvbiBgYWx0LXN5bnRheCcgZXhwYW5kcyB0aGUgY29sb3Ig cGFsZXR0ZSBhbmQgYXBwbGllcyBuZXcNCitjb2xvciBjb21iaW5hdGlvbnMuICBTdHJpbmdzIGFy ZSBncmVlbi4gIERvYyBzdHJpbmdzIGFyZSBtYWdlbnRhDQordGludGVkLiAgQ29tbWVudHMgYXJl IGdyYXkuDQorDQorT3B0aW9uIGBhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cycgY29tYmluZXMg YGFsdC1zeW50YXgnIHdpdGgNCitgeWVsbG93LWNvbW1lbnRzJy4NCisNCitPcHRpb24gYGZhaW50 LXllbGxvdy1jb21tZW50cycgY29tYmluZXMgdGhlIGBmYWludCcgc3R5bGUgd2l0aA0KK2B5ZWxs b3ctY29tbWVudHMnLiINCisgIDpncm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJz aW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5 cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIkJhbGFuY2VkIHVzZSBvZiBibHVl LCBjeWFuLCBtYWdlbnRhLCBwdXJwbGUgdmFyaWFudHMgKGRlZmF1bHQpIiBuaWwpDQorICAgICAg ICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQgd2l0aCBkZXNhdHVyYXRlZCBj b2xvciB2YWx1ZXMiIGZhaW50KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQXBwbHkgeWVsbG93 IHRpbnQgdG8gY29tbWVudHMsIGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRoZSByZXN0IiB5 ZWxsb3ctY29tbWVudHMpDQorICAgICAgICAgIChjb25zdCA6dGFnICJVc2UgZ3JlZW4gZm9yIHN0 cmluZ3MsIGtlZXAgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIHRoZSByZXN0IiBncmVlbi1zdHJpbmdz KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiVXNlIGdyZWVuIGZvciBzdHJpbmdzLCB5ZWxsb3cg Zm9yIGNvbW1lbnRzLCBrZWVwIHRoZSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcmVzdCIgeWVsbG93 LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MpDQorICAgICAgICAgIChjb25zdCA6dGFnICJSZWZhc2hp b24gc3ludGF4IGhpZ2hsaWdodGluZyB3aXRoIG1vcmUgY29sb3JzLCBncmF5IGNvbW1lbnRzIiBh bHQtc3ludGF4KQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgYWx0LXN5bnRheCcgYnV0 IHdpdGggeWVsbG93IGNvbW1lbnRzIiBhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cykNCisgICAg ICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYGZhaW50JyBidXQgd2l0aCB5ZWxsb3cgY29tbWVudHMi IGZhaW50LXllbGxvdy1jb21tZW50cykpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRo ZW1lcykgU3ludGF4IHN0eWxlcyIpKQ0KKw0KKyhkZWZjdXN0b20gbW9kdXMtdGhlbWVzLWxpbmtz IG5pbA0KKyAgIlNldCB0aGUgc3R5bGUgb2YgbGlua3MuDQorDQorTmlsIG1lYW5zIHRvIHVzZSBh biB1bmRlcmxpbmUgdGhhdCBpcyB0aGUgc2FtZSBjb2xvciBhcyB0aGUNCitmb3JlZ3JvdW5kLg0K Kw0KK09wdGlvbiBgZmFpbnQnIGFwcGxpZXMgZGVzYXR1cmF0ZWQgY29sb3JzIHRvIHRoZSBsaW5r J3MgdGV4dCBhbmQNCit1bmRlcmxpbmUuDQorDQorT3B0aW9uIGBuZXV0cmFsLXVuZGVybGluZScg YXBwbGllcyBhIHN1YnRsZSBncmV5IHVuZGVybGluZSwgd2hpbGUNCityZXRhaW5pbmcgdGhlIGxp bmsncyBmb3JlZ3JvdW5kLg0KKw0KK09wdGlvbiBgZmFpbnQtbmV1dHJhbC11bmRlcmxpbmUnIGNv bWJpbmVzIGEgZGVzYXR1cmF0ZWQgdGV4dA0KK2NvbG9yIHdpdGggYSBzdWJ0bGUgZ3JleSB1bmRl cmxpbmUuDQorDQorT3B0aW9uIGBuby11bmRlcmxpbmUnIHJlbW92ZXMgbGluayB1bmRlcmxpbmVz IGFsdG9nZXRoZXIsIHdoaWxlDQorcmV0YWluaW5nIHRoZWlyIG9yaWdpbmFsIGZhaXJseSB2aXZp ZCBjb2xvci4NCisNCitPcHRpb24gYHVuZGVybGluZS1vbmx5JyBhcHBsaWVzIGFuIHVuZGVybGlu ZSB3aGlsZSBtYWtpbmcgdGhlDQorYWZmZWN0ZWQgdGV4dCBjb2xvcmxlc3MgKGl0IHVzZXMgdGhl IHNhbWUgZm9yZWdyb3VuZCBhcyB0aGUNCit0aGVtZSdzIGRlZmF1bHQpLg0KKw0KK09wdGlvbiBg bmV1dHJhbC11bmRlcmxpbmUtb25seScgbWFrZXMgdGhlIHRleHQgY29sb3JsZXNzIHdoaWxlDQor dXNpbmcgYSBzdWJ0bGUgdW5kZXJsaW5lIGJlbG93IGl0LiINCisgIDpncm91cCAnbW9kdXMtdGhl bWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4gIjEuMi4wIikNCisgIDp2 ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAgICAgKGNvbnN0IDp0YWcg IlVuZGVsaW5lIGxpbmsgdXNpbmcgdGhlIHNhbWUgY29sb3IgYXMgdGhlIHRleHQgKGRlZmF1bHQp IiBuaWwpDQorICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIHRoZSBkZWZhdWx0LCBidXQgYXBw bHkgbGVzcyBpbnRlbnNlIGNvbG9ycyB0byBsaW5rcyIgZmFpbnQpDQorICAgICAgICAgIChjb25z dCA6dGFnICJDaGFuZ2UgdGhlIGNvbG9yIG9mIGxpbmsgdW5kZXJsaW5lcyB0byBhIG5ldXRyYWwg Z3JleSIgbmV1dHJhbC11bmRlcmxpbmUpDQorICAgICAgICAgIChjb25zdCA6dGFnICJEZXNhdHVy YXRlZCBmb3JlZ3JvdW5kIHdpdGggbmV1dHJhbCBncmV5IHVuZGVybGluZSIgZmFpbnQtbmV1dHJh bC11bmRlcmxpbmUpDQorICAgICAgICAgIChjb25zdCA6dGFnICJSZW1vdmUgdW5kZXJsaW5lIHBy b3BlcnR5IGZyb20gbGlua3MsIGtlZXBpbmcgdGhlaXIgZm9yZWdyb3VuZCBhcy1pcyIgbm8tdW5k ZXJsaW5lKQ0KKyAgICAgICAgICAoY29uc3QgOnRhZyAiQXBwbHkgdW5kZXJsaW5lIG9ubHk7IHVz ZSBkZWZhdWx0IGZvcmVncm91bmQiIHVuZGVybGluZS1vbmx5KQ0KKyAgICAgICAgICAoY29uc3Qg OnRhZyAiTGlrZSBgdW5kZXJsaW5lLW9ubHknIGJ1dCB3aXRoIGEgc3VidGxlIHVuZGVybGluZSIg bmV1dHJhbC11bmRlcmxpbmUtb25seSkpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRo ZW1lcykgTGluayBzdHlsZXMiKSkNCisNCisoZGVmY3VzdG9tIG1vZHVzLXRoZW1lcy1yZWdpb24g bmlsDQorICAiQ2hhbmdlIHRoZSBvdmVyYWxsIGFwcGVhcmFuY2Ugb2YgdGhlIGFjdGl2ZSByZWdp b24uDQorDQorTmlsICh0aGUgZGVmYXVsdCkgbWVhbnMgdG8gb25seSB1c2UgYSBwcm9taW5lbnQg Z3JheSBiYWNrZ3JvdW5kDQord2l0aCBhIG5ldXRyYWwgZm9yZWdyb3VuZC4gIFRoZSBmb3JlZ3Jv dW5kIG92ZXJyaWRlcyBhbGwgc3ludGF4DQoraGlnaGxpZ2h0aW5nLiAgVGhlIHJlZ2lvbiBleHRl bmRzIHRvIHRoZSBlZGdlIG9mIHRoZSB3aW5kb3cuDQorDQorT3B0aW9uIGBuby1leHRlbmQnIHBy ZXNlcnZlcyB0aGUgZGVmYXVsdCBhZXN0aGV0aWMgYnV0IHByZXZlbnRzDQordGhlIHJlZ2lvbiBm cm9tIGV4dGVuZGluZyB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93Lg0KKw0KK09wdGlvbiBgYmct b25seScgYXBwbGllcyBhIGZhaW50IHRpbnRlZCBiYWNrZ3JvdW5kIHRoYXQgaXMNCitkaXN0aW5j dCBmcm9tIGFsbCBvdGhlcnMgdXNlZCBpbiB0aGUgdGhlbWUsIHdoaWxlIGl0IGRvZXMgbm90DQor b3ZlcnJpZGUgYW55IGV4aXN0aW5nIGNvbG9ycy4gIEl0IGV4dGVuZHMgdG8gdGhlIGVkZ2Ugb2Yg dGhlDQord2luZG93Lg0KKw0KK09wdGlvbiBgYmctb25seS1uby1leHRlbmQnIGlzIGEgY29tYmlu YXRpb24gb2YgdGhlIGBiZy1vbmx5JyBhbmQNCitgbm8tZXh0ZW5kJyBvcHRpb25zLiINCisgIDpn cm91cCAnbW9kdXMtdGhlbWVzDQorICA6cGFja2FnZS12ZXJzaW9uICcobW9kdXMtdGhlbWVzIC4g IjEuMC4wIikNCisgIDp2ZXJzaW9uICIyOC4xIg0KKyAgOnR5cGUgJyhjaG9pY2UNCisgICAgICAg ICAgKGNvbnN0IDp0YWcgIkludGVuc2UgYmFja2dyb3VuZDsgb3ZlcnJpZGVzIGNvbG9yczsgZXh0 ZW5kcyB0byBlZGdlIG9mIHdpbmRvdyAoZGVmYXVsdCkiIG5pbCkNCisgICAgICAgICAgKGNvbnN0 IDp0YWcgIkFzIHdpdGggdGhlIGRlZmF1bHQsIGJ1dCBkb2VzIG5vdCBleHRlbmQiIG5vLWV4dGVu ZCkNCisgICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBiYWNrZ3JvdW5kOyBwcmVzZXJ2ZXMg Y29sb3JzOyBleHRlbmRzIHRvIGVkZ2Ugb2Ygd2luZG93IiBiZy1vbmx5KQ0KKyAgICAgICAgICAo Y29uc3QgOnRhZyAiQXMgd2l0aCB0aGUgYHN1YnRsZScgb3B0aW9uLCBidXQgZG9lcyBub3QgZXh0 ZW5kIiBiZy1vbmx5LW5vLWV4dGVuZCkpDQorICA6bGluayAnKGluZm8tbGluayAiKG1vZHVzLXRo ZW1lcykgQWN0aXZlIHJlZ2lvbiIpKQ0KKw0KKwwNCisNCis7Ozs7IERlcHJlY2F0ZWQgY3VzdG9t aXphdGlvbiBvcHRpb25zIChwcmlvciB0byAxLjAuMCkNCisNCis7Ozs7OyBNb2R1cyBPcGVyYW5k aSBvYnNvbGV0ZSBvcHRpb25zDQorDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRo ZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdCBuaWwgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAn bW9kdXMtb3BlcmFuZGktdGhlbWUtc2xhbnRlZC1jb25zdHJ1Y3RzICdtb2R1cy10aGVtZXMtc2xh bnRlZC1jb25zdHJ1Y3RzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRp LXRoZW1lLWJvbGQtY29uc3RydWN0cyAnbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyAiMS4w LjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9wb3J0aW9uYWwt Zm9udHMgJ21vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiMS4wLjAiKQ0KKyht YWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5n cyAnbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Ut b2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzICdtb2R1cy10aGVt ZXMtbm8tbWl4ZWQtZm9udHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFu ZGktdGhlbWUtcmFpbmJvdy1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAuMCIp DQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNlY3Rpb24taGVhZGluZ3Mg J21vZHVzLXRoZW1lcy1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1v cGVyYW5kaS10aGVtZS1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAuMCIpDQor KG1ha2Utb2Jzb2xldGUgJ21vZHVzLW9wZXJhbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzICdtb2R1 cy10aGVtZXMtc2NhbGUtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMt b3BlcmFuZGktdGhlbWUtc2NhbGUtMSAnbW9kdXMtdGhlbWVzLXNjYWxlLTEgIjEuMC4wIikNCiso bWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtMiAnbW9kdXMtdGhlbWVz LXNjYWxlLTIgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUt c2NhbGUtMyAnbW9kdXMtdGhlbWVzLXNjYWxlLTMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAn bW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNCAnbW9kdXMtdGhlbWVzLXNjYWxlLTQgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc2NhbGUtNSAnbW9kdXMt dGhlbWVzLXNjYWxlLTUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGkt dGhlbWUtdmlzaWJsZS1mcmluZ2VzICdtb2R1cy10aGVtZXMtZnJpbmdlcyAiMS4wLjAiKQ0KKyht YWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1mcmluZ2VzICdtb2R1cy10aGVtZXMt ZnJpbmdlcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1k aXN0aW5jdC1vcmctYmxvY2tzICdtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyht YWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1yYWluYm93LW9yZy1zcmMtYmxvY2tz ICdtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1 cy1vcGVyYW5kaS10aGVtZS1vcmctYmxvY2tzICdtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4w LjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS0zZC1tb2RlbGluZSAn bW9kdXMtdGhlbWVzLW1vZGUtbGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1v cGVyYW5kaS10aGVtZS1tb2RlLWxpbmUgJ21vZHVzLXRoZW1lcy1tb2RlLWxpbmUgIjEuMC4wIikN CisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtc3VidGxlLWRpZmZzICdtb2R1 cy10aGVtZXMtZGlmZnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGkt dGhlbWUtZGlmZnMgJ21vZHVzLXRoZW1lcy1kaWZmcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRl ICdtb2R1cy1vcGVyYW5kaS10aGVtZS1pbnRlbnNlLXN0YW5kYXJkLWNvbXBsZXRpb25zICdtb2R1 cy10aGVtZXMtY29tcGxldGlvbnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3Bl cmFuZGktdGhlbWUtY29tcGxldGlvbnMgJ21vZHVzLXRoZW1lcy1jb21wbGV0aW9ucyAiMS4wLjAi KQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1wcm9tcHRzICdtb2R1cy10 aGVtZXMtcHJvbXB0cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10 aGVtZS1pbnRlbnNlLWhsLWxpbmUgJ21vZHVzLXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1t YXRjaCAnbW9kdXMtdGhlbWVzLXBhcmVuLW1hdGNoICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUg J21vZHVzLW9wZXJhbmRpLXRoZW1lLWZhaW50LXN5bnRheCAnbW9kdXMtdGhlbWVzLXN5bnRheCAi MS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVtZS1jb21tZW50cyAn bW9kdXMtdGhlbWVzLXN5bnRheCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVy YW5kaS10aGVtZS1zeW50YXggJ21vZHVzLXRoZW1lcy1zeW50YXggIjEuMC4wIikNCisobWFrZS1v YnNvbGV0ZSAnbW9kdXMtb3BlcmFuZGktdGhlbWUtbm8tbGluay11bmRlcmxpbmUgJ21vZHVzLXRo ZW1lcy1saW5rcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy1vcGVyYW5kaS10aGVt ZS1saW5rcyAnbW9kdXMtdGhlbWVzLWxpbmtzICIxLjAuMCIpDQorDQorOzs7OzsgTW9kdXMgVml2 ZW5kaSBvYnNvbGV0ZSBvcHRpb25zDQorDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGkt dGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0IG5pbCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRl ICdtb2R1cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyAnbW9kdXMtdGhlbWVzLXNs YW50ZWQtY29uc3RydWN0cyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtY29uc3RydWN0cyAnbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0cyAiMS4w LjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXByb3BvcnRpb25hbC1m b250cyAnbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzICIxLjAuMCIpDQorKG1h a2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3Mg J21vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRzICdtb2R1cy10aGVtZXMt bm8tbWl4ZWQtZm9udHMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10 aGVtZS1yYWluYm93LWhlYWRpbmdzICdtb2R1cy10aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCiso bWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zZWN0aW9uLWhlYWRpbmdzICdtb2R1 cy10aGVtZXMtaGVhZGluZ3MgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5k aS10aGVtZS1oZWFkaW5ncyAnbW9kdXMtdGhlbWVzLWhlYWRpbmdzICIxLjAuMCIpDQorKG1ha2Ut b2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MgJ21vZHVzLXRoZW1l cy1zY2FsZS1oZWFkaW5ncyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRp LXRoZW1lLXNjYWxlLTEgJ21vZHVzLXRoZW1lcy1zY2FsZS0xICIxLjAuMCIpDQorKG1ha2Utb2Jz b2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMiAnbW9kdXMtdGhlbWVzLXNjYWxlLTIg IjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zICdt b2R1cy10aGVtZXMtc2NhbGUtMyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZl bmRpLXRoZW1lLXNjYWxlLTQgJ21vZHVzLXRoZW1lcy1zY2FsZS00ICIxLjAuMCIpDQorKG1ha2Ut b2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNSAnbW9kdXMtdGhlbWVzLXNjYWxl LTUgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS12aXNpYmxl LWZyaW5nZXMgJ21vZHVzLXRoZW1lcy1mcmluZ2VzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUg J21vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlcyAnbW9kdXMtdGhlbWVzLWZyaW5nZXMgIjEuMC4w IikNCisobWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS1kaXN0aW5jdC1vcmctYmxv Y2tzICdtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdt b2R1cy12aXZlbmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MgJ21vZHVzLXRoZW1lcy1v cmctYmxvY2tzICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUt b3JnLWJsb2NrcyAnbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MgIjEuMC4wIikNCisobWFrZS1vYnNv bGV0ZSAnbW9kdXMtdml2ZW5kaS10aGVtZS0zZC1tb2RlbGluZSAnbW9kdXMtdGhlbWVzLW1vZGUt bGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUt bGluZSAnbW9kdXMtdGhlbWVzLW1vZGUtbGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdt b2R1cy12aXZlbmRpLXRoZW1lLXN1YnRsZS1kaWZmcyAnbW9kdXMtdGhlbWVzLWRpZmZzICIxLjAu MCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMgJ21vZHVzLXRo ZW1lcy1kaWZmcyAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1l LWludGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMgJ21vZHVzLXRoZW1lcy1jb21wbGV0aW9ucyAi MS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25z ICdtb2R1cy10aGVtZXMtY29tcGxldGlvbnMgIjEuMC4wIikNCisobWFrZS1vYnNvbGV0ZSAnbW9k dXMtdml2ZW5kaS10aGVtZS1wcm9tcHRzICdtb2R1cy10aGVtZXMtcHJvbXB0cyAiMS4wLjAiKQ0K KyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWludGVuc2UtaGwtbGluZSAnbW9k dXMtdGhlbWVzLWludGVuc2UtaGwtbGluZSAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1 cy12aXZlbmRpLXRoZW1lLWludGVuc2UtcGFyZW4tbWF0Y2ggJ21vZHVzLXRoZW1lcy1wYXJlbi1t YXRjaCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWZhaW50 LXN5bnRheCAnbW9kdXMtdGhlbWVzLXN5bnRheCAiMS4wLjAiKQ0KKyhtYWtlLW9ic29sZXRlICdt b2R1cy12aXZlbmRpLXRoZW1lLWNvbW1lbnRzICdtb2R1cy10aGVtZXMtc3ludGF4ICIxLjAuMCIp DQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4ICdtb2R1cy10aGVt ZXMtc3ludGF4ICIxLjAuMCIpDQorKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUt bm8tbGluay11bmRlcmxpbmUgJ21vZHVzLXRoZW1lcy1saW5rcyAiMS4wLjAiKQ0KKyhtYWtlLW9i c29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLWxpbmtzICdtb2R1cy10aGVtZXMtbGlua3MgIjEu MC4wIikNCisNCisMDQorDQorOzs7IEludGVybmFsIGZ1bmN0aW9ucw0KKw0KKyhkZWZ1biBtb2R1 cy10aGVtZXMtLXBhbGV0dGUgKHRoZW1lKQ0KKyAgIlJldHVybiBjb2xvciBwYWxldHRlIGZvciBN b2R1cyB0aGVtZSBUSEVNRS4NCitUSEVNRSBpcyBhIHN5bWJvbCwgZWl0aGVyIGBtb2R1cy1vcGVy YW5kaScgb3IgYG1vZHVzLXZpdmVuZGknLiINCisgIChwY2FzZSB0aGVtZQ0KKyAgICAoJ21vZHVz LW9wZXJhbmRpDQorICAgICAoYXBwZW5kIG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVy cmlkZXMNCisgICAgICAgICAgICAgbW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9ycykpDQorICAg ICgnbW9kdXMtdml2ZW5kaQ0KKyAgICAgKGFwcGVuZCBtb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xv ci1vdmVycmlkZXMNCisgICAgICAgICAgICAgbW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzKSkN CisgICAgKF90aGVtZQ0KKyAgICAgKGVycm9yICInJXMnIGlzIG5vdCBhIE1vZHVzIHRoZW1lIiB0 aGVtZSkpKSkNCisNCisoZGVmdmFyIG1vZHVzLXRoZW1lcy1mYWNlcykNCisoZGVmdmFyIG1vZHVz LXRoZW1lcy1jdXN0b20tdmFyaWFibGVzKQ0KKw0KKyhkZWZtYWNybyBtb2R1cy10aGVtZXMtdGhl bWUgKG5hbWUpDQorICAiQmluZCBOQU1FJ3MgY29sb3IgcGFsZXR0ZSBhcm91bmQgZmFjZSBzcGVj cyBhbmQgdmFyaWFibGVzLg0KKw0KK05BTUUgc2hvdWxkIGJlIHRoZSBwcm9wZXIgbmFtZSBvZiBh IE1vZHVzIHRoZW1lLCBlaXRoZXINCitgbW9kdXMtb3BlcmFuZGknIG9yIGBtb2R1cy12aXZlbmRp Jy4NCisNCitGYWNlIHNwZWNpZmljYXRpb25zIGFyZSBwYXNzZWQgdG8gYGN1c3RvbS10aGVtZS1z ZXQtZmFjZXMnLg0KK1doaWxlIHZhcmlhYmxlcyBhcmUgaGFuZGxlZCBieSBgY3VzdG9tLXRoZW1l LXNldC12YXJpYWJsZXMnLg0KK1Rob3NlIGFyZSBzdG9yZWQgaW4gYG1vZHVzLXRoZW1lcy1mYWNl cycgYW5kDQorYG1vZHVzLXRoZW1lcy1jdXN0b20tdmFyaWFibGVzJyByZXNwZWN0aXZlbHkuIg0K KyAgKGRlY2xhcmUgKGluZGVudCAwKSkNCisgIChsZXQgKChwYWxldHRlLXN5bSAoZ2Vuc3ltKSkN CisgICAgICAgIChjb2xvcnMgKG1hcGNhciAjJ2NhciBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29s b3JzKSkpDQorICAgIGAobGV0KiAoKGNsYXNzICcoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4 OSkpKQ0KKyAgICAgICAgICAgICgscGFsZXR0ZS1zeW0gKG1vZHVzLXRoZW1lcy0tcGFsZXR0ZSAn LG5hbWUpKQ0KKyAgICAgICAgICAgICxAKG1hcGNhciAobGFtYmRhIChjb2xvcikNCisgICAgICAg ICAgICAgICAgICAgICAgICAobGlzdCBjb2xvciBgKGFsaXN0LWdldCAnLGNvbG9yICxwYWxldHRl LXN5bSkpKQ0KKyAgICAgICAgICAgICAgICAgICAgICBjb2xvcnMpKQ0KKyAgICAgICAoY3VzdG9t LXRoZW1lLXNldC1mYWNlcyAnLG5hbWUgLEBtb2R1cy10aGVtZXMtZmFjZXMpDQorICAgICAgIChj dXN0b20tdGhlbWUtc2V0LXZhcmlhYmxlcyAnLG5hbWUgLEBtb2R1cy10aGVtZXMtY3VzdG9tLXZh cmlhYmxlcykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1jdXJyZW50LXRoZW1lICgpDQor ICAiUmV0dXJuIGN1cnJlbnQgdGhlbWUuIg0KKyAgKGNhciBjdXN0b20tZW5hYmxlZC10aGVtZXMp KQ0KKw0KKzs7IEhlbHBlciBmdW5jdGlvbnMgdGhhdCBhcmUgbWVhbnQgdG8gZWFzZSB0aGUgaW1w bGVtZW50YXRpb24gb2YgdGhlDQorOzsgYWJvdmUgY3VzdG9taXphdGlvbiBvcHRpb25zLg0KKyhk ZWZ1biBtb2R1cy10aGVtZXMtLWJvbGQtd2VpZ2h0ICgpDQorICAiQ29uZGl0aW9uYWwgdXNlIG9m IGEgaGVhdmllciB0ZXh0IHdlaWdodC4iDQorICAod2hlbiBtb2R1cy10aGVtZXMtYm9sZC1jb25z dHJ1Y3RzDQorICAgIChsaXN0IDppbmhlcml0ICdib2xkKSkpDQorDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMgKCkNCisgICJDb25kaXRpb25hbCBhcHBsaWNhdGlvbiBvZiBgZml4 ZWQtcGl0Y2gnIGluaGVyaXRhbmNlLiINCisgICh1bmxlc3MgbW9kdXMtdGhlbWVzLW5vLW1peGVk LWZvbnRzDQorICAgIChsaXN0IDppbmhlcml0ICdmaXhlZC1waXRjaCkpKQ0KKw0KKyhkZWZ1biBt b2R1cy10aGVtZXMtLXNsYW50ICgpDQorICAiQ29uZGl0aW9uYWwgdXNlIG9mIGl0YWxpY3MgZm9y IHNsYW50IGF0dHJpYnV0ZS4iDQorICAoaWYgbW9kdXMtdGhlbWVzLXNsYW50ZWQtY29uc3RydWN0 cw0KKyAgICAgIChsaXN0ICdpdGFsaWMpDQorICAgIChsaXN0ICdub3JtYWwpKSkNCisNCisoZGVm dW4gbW9kdXMtdGhlbWVzLS12YXJpYWJsZS1waXRjaCAoKQ0KKyAgIkNvbmRpdGlvbmFsIHVzZSBv ZiBgdmFyaWFibGUtcGl0Y2gnIGluIGhlYWRpbmdzLiINCisgICh3aGVuIG1vZHVzLXRoZW1lcy12 YXJpYWJsZS1waXRjaC1oZWFkaW5ncw0KKyAgICAobGlzdCA6aW5oZXJpdCAndmFyaWFibGUtcGl0 Y2gpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS12YXJpYWJsZS1waXRjaC11aSAoKQ0KKyAg IkNvbmRpdGlvbmFsIHVzZSBvZiBgdmFyaWFibGUtcGl0Y2gnIGluIFVJIGVsZW1lbnRzLiINCisg ICh3aGVuIG1vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC11aQ0KKyAgICAobGlzdCA6aW5oZXJp dCAndmFyaWFibGUtcGl0Y2gpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1mcmluZ2UgKG1h aW5iZyBzdWJ0bGViZyBpbnRlbnNlYmcpDQorICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91 bmQgY29sb3JzIGZvciBmcmluZ2VzLg0KK01BSU5CRyBpcyB0aGUgZGVmYXVsdC4gIFNVQlRMRUJH IHNob3VsZCBiZSBhIHN1YnRsZSBncmV5c2NhbGUNCit2YWx1ZS4gIElOVEVOU0VCRyBtdXN0IGJl IGEgbW9yZSBwcm9ub3VuY2VkIGdyZXlzY2FsZSBjb2xvci4iDQorICAocGNhc2UgbW9kdXMtdGhl bWVzLWZyaW5nZXMNCisgICAgKCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykp DQorICAgICgnc3VidGxlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnKSkNCisgICAgKF8gKGxp c3QgOmJhY2tncm91bmQgbWFpbmJnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWxpbmUt bnVtYmVycyAobWFpbmZnIG1haW5iZyBhbHRmZyAmb3B0aW9uYWwgYWx0YmcpDQorICAiQ29uZGl0 aW9uYWwgdXNlIG9mIGNvbG9ycyBmb3IgbGluZSBudW1iZXJzLg0KK01BSU5CRyBhbmQgTUFJTkZH IGFyZSB0aGUgZGVmYXVsdCBjb2xvcnMuICBBTFRGRyBpcyBhIGNvbG9yIHRoYXQNCitjb21iaW5l cyB3aXRoIHRoZSB0aGVtZSdzIHByaW1hcnkgYmFja2dyb3VuZCAod2hpdGUvYmxhY2spLiINCisg IChpZiBtb2R1cy10aGVtZXMtc3VidGxlLWxpbmUtbnVtYmVycw0KKyAgICAgIChsaXN0IDpiYWNr Z3JvdW5kIChvciBhbHRiZyAndW5zcGVjaWZpZWQpIDpmb3JlZ3JvdW5kIGFsdGZnKQ0KKyAgICAo bGlzdCA6YmFja2dyb3VuZCBtYWluYmcgOmZvcmVncm91bmQgbWFpbmZnKSkpDQorDQorKGRlZnVu IG1vZHVzLXRoZW1lcy0tbGFuZy1jaGVjayAodW5kZXJsaW5lIHN1YnRsZWZnIGludGVuc2VmZyBi ZykNCisgICJDb25kaXRpb25hbCB1c2Ugb2YgZm9yZWdyb3VuZCBjb2xvcnMgZm9yIGxhbmd1YWdl IGNoZWNrZXJzLg0KK1VOREVSTElORSBpcyBhIGNvbG9yLWNvZGUgdmFsdWUgZm9yIHRoZSBhZmZl Y3RlZCB0ZXh0J3MgdW5kZXJsaW5lDQorcHJvcGVydHkuICBTVUJUTEVGRyBhbmQgSU5URU5TRUZH IGZvbGxvdyB0aGUgc2FtZSBjb2xvci1jb2RpbmcNCitwYXR0ZXJuIGFuZCByZXByZXNlbnQgYSB2 YWx1ZSB0aGF0IGlzIGZhaW50IG9yIHZpYnJhbnQNCityZXNwZWN0aXZlbHkuICBCRyBpcyBhIGNv bG9yLWNvZGVkIGJhY2tncm91bmQuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1lcy1sYW5nLWNoZWNr ZXJzDQorICAgICgnY29sb3JlZC1iYWNrZ3JvdW5kDQorICAgICAobGlzdCA6dW5kZXJsaW5lIHVu ZGVybGluZSA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KKyAgICAoJ2lu dGVuc2UtZm9yZWdyb3VuZA0KKyAgICAgKGxpc3QgOnVuZGVybGluZSAobGlzdCA6Y29sb3IgdW5k ZXJsaW5lIDpzdHlsZSAnd2F2ZSkgOmZvcmVncm91bmQgaW50ZW5zZWZnKSkNCisgICAgKCdpbnRl bnNlLWZvcmVncm91bmQtc3RyYWlnaHQtdW5kZXJsaW5lDQorICAgICAobGlzdCA6dW5kZXJsaW5l IHVuZGVybGluZSA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KKyAgICAoJ3N1YnRsZS1mb3JlZ3Jv dW5kDQorICAgICAobGlzdCA6dW5kZXJsaW5lIChsaXN0IDpjb2xvciB1bmRlcmxpbmUgOnN0eWxl ICd3YXZlKSA6Zm9yZWdyb3VuZCBzdWJ0bGVmZykpDQorICAgICgnc3VidGxlLWZvcmVncm91bmQt c3RyYWlnaHQtdW5kZXJsaW5lDQorICAgICAobGlzdCA6dW5kZXJsaW5lIHVuZGVybGluZSA6Zm9y ZWdyb3VuZCBzdWJ0bGVmZykpDQorICAgICgnc3RyYWlnaHQtdW5kZXJsaW5lDQorICAgICAobGlz dCA6dW5kZXJsaW5lIHVuZGVybGluZSkpDQorICAgIChfIChsaXN0IDp1bmRlcmxpbmUgKGxpc3Qg OmNvbG9yIHVuZGVybGluZSA6c3R5bGUgJ3dhdmUpKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVt ZXMtLXByb21wdCAobWFpbmZnIHN1YnRsZWJnIHN1YnRsZWZnIGludGVuc2ViZyBpbnRlbnNlZmcp DQorICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQgY29sb3JzIGZvciBwcm9tcHRzLg0K K01BSU5GRyBpcyB0aGUgcHJvbXB0J3Mgc3RhbmRhcmQgZm9yZWdyb3VuZC4gIFNVQlRMRUJHIHNo b3VsZCBiZSBhDQorc3VidGxlIGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCB3b3JrcyB3aXRoIFNV QlRMRUZHLiAgSU5URU5TRUJHDQorbXVzdCBiZSBhIG1vcmUgcHJvbm91bmNlZCBhY2NlbnRlZCBj b2xvciB0aGF0IHNob3VsZCBiZQ0KK2NvbWJpbmFibGUgd2l0aCBJTlRFTlNFRkcuIg0KKyAgKHBj YXNlIG1vZHVzLXRoZW1lcy1wcm9tcHRzDQorICAgIDs7IGBzdWJ0bGUnIGlzIHRoZSBzYW1lIGFz IGBzdWJ0bGUtYWNjZW50ZWQnLCB3aGlsZSBgaW50ZW5zZScgaXMNCisgICAgOzsgZXF1YWwgdG8g YGludGVuc2UtYWNjZW50ZWQnIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5DQorICAgICgnaW50 ZW5zZS1hY2NlbnRlZCAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcgOmZvcmVncm91bmQgaW50 ZW5zZWZnKSkNCisgICAgKCdpbnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9y ZWdyb3VuZCBpbnRlbnNlZmcpKQ0KKyAgICAoJ3N1YnRsZS1hY2NlbnRlZCAobGlzdCA6YmFja2dy b3VuZCBzdWJ0bGViZyA6Zm9yZWdyb3VuZCBzdWJ0bGVmZykpDQorICAgICgnc3VidGxlIChsaXN0 IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIHN1YnRsZWZnKSkNCisgICAgKCdzdWJ0 bGUtZ3JheSAobGlzdCA6aW5oZXJpdCAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKQ0KKyAg ICAoJ2ludGVuc2UtZ3JheSAobGlzdCA6aW5oZXJpdCAnbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0 cmFsKSkNCisgICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsIDpmb3JlZ3JvdW5kIG1haW5mZykp KSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1wYXJlbiAobm9ybWFsYmcgaW50ZW5zZWJnKQ0K KyAgIkNvbmRpdGlvbmFsIHVzZSBvZiBpbnRlbnNlIGNvbG9ycyBmb3IgbWF0Y2hpbmcgcGFyZW50 aGVzZXMuDQorTk9STUFMQkcgc2hvdWxkIGJlIHRoZSBzcGVjaWFsIHBhbGV0dGUgY29sb3IgJ2Jn LXBhcmVuLW1hdGNoJyBvcg0KK3NvbWV0aGluZyBzaW1pbGFyLiAgSU5URU5TRUJHIG11c3QgYmUg ZWFzaWVyIHRvIGRpc2Nlcm4gbmV4dCB0bw0KK290aGVyIGJhY2tncm91bmRzLCBzdWNoIGFzIHRo ZSBzcGVjaWFsIHBhbGV0dGUgY29sb3INCisnYmctcGFyZW4tbWF0Y2gtaW50ZW5zZScuIg0KKyAg KHBjYXNlIG1vZHVzLXRoZW1lcy1wYXJlbi1tYXRjaA0KKyAgICAoJ3N1YnRsZS1ib2xkIChsaXN0 IDppbmhlcml0ICdib2xkIDpiYWNrZ3JvdW5kIG5vcm1hbGJnKSkNCisgICAgKCdpbnRlbnNlLWJv bGQgKGxpc3QgOmluaGVyaXQgJ2JvbGQgOmJhY2tncm91bmQgaW50ZW5zZWJnKSkNCisgICAgKCdp bnRlbnNlIChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykpDQorICAgIChfIChsaXN0IDpiYWNr Z3JvdW5kIG5vcm1hbGJnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLXN5bnRheC1mb3Jl Z3JvdW5kIChmZyBmYWludCkNCisgICJBcHBseSBmb3JlZ3JvdW5kIHZhbHVlIHRvIGNvZGUgc3lu dGF4Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNhbGx5IHRoZSBzYW1lIGNv bG9yIGluIGl0cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1l cy1zeW50YXgNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkpDQorICAgICgn ZmFpbnQteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisgICAgKF8g KGxpc3QgOmZvcmVncm91bmQgZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tc3ludGF4 LWV4dHJhIChmZyBmYWludCBhbHQpDQorICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1ZSB0byBjb2Rl IHN5bnRheC4NCitGRyBpcyB0aGUgZGVmYXVsdC4gIEZBSU5UIGlzIHR5cGljYWxseSB0aGUgc2Ft ZSBjb2xvciBpbiBpdHMNCitkZXNhdHVyYXRlZCB2ZXJzaW9uLiAgQUxUIGlzIGFub3RoZXIgaHVl LiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtc3ludGF4DQorICAgICgnZmFpbnQgKGxpc3QgOmZv cmVncm91bmQgZmFpbnQpKQ0KKyAgICAoJ2ZhaW50LXllbGxvdy1jb21tZW50cyAobGlzdCA6Zm9y ZWdyb3VuZCBmYWludCkpDQorICAgICgnYWx0LXN5bnRheCAobGlzdCA6Zm9yZWdyb3VuZCBhbHQp KQ0KKyAgICAoJ2FsdC1zeW50YXgteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIGFs dCkpDQorICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIGZnKSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10 aGVtZXMtLXN5bnRheC1zdHJpbmcgKGZnIGZhaW50IGdyZWVuIGFsdCkNCisgICJBcHBseSBmb3Jl Z3JvdW5kIHZhbHVlIHRvIHN0cmluZ3MgaW4gY29kZSBzeW50YXguDQorRkcgaXMgdGhlIGRlZmF1 bHQuICBGQUlOVCBpcyB0eXBpY2FsbHkgdGhlIHNhbWUgY29sb3IgaW4gaXRzDQorZGVzYXR1cmF0 ZWQgdmVyc2lvbi4gIEdSRUVOIGlzIGEgY29sb3IgdmFyaWFudCBpbiB0aGF0IHNpZGUgb2YNCit0 aGUgc3BlY3RydW0uICBBTFQgaXMgYW5vdGhlciBodWUuIg0KKyAgKHBjYXNlIG1vZHVzLXRoZW1l cy1zeW50YXgNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmYWludCkpDQorICAgICgn ZmFpbnQteWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5kIGZhaW50KSkNCisgICAgKCdn cmVlbi1zdHJpbmdzIChsaXN0IDpmb3JlZ3JvdW5kIGdyZWVuKSkNCisgICAgKCd5ZWxsb3ctY29t bWVudHMtZ3JlZW4tc3RyaW5ncyAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAoJ2FsdC1z eW50YXggKGxpc3QgOmZvcmVncm91bmQgYWx0KSkNCisgICAgKCdhbHQtc3ludGF4LXllbGxvdy1j b21tZW50cyAobGlzdCA6Zm9yZWdyb3VuZCBhbHQpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3Vu ZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1zeW50YXgtZG9jc3RyaW5nIChmZyBm YWludCBncmVlbiBhbHQpDQorICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1ZSB0byBzdHJpbmdzIGlu IGNvZGUgc3ludGF4Lg0KK0ZHIGlzIHRoZSBkZWZhdWx0LiAgRkFJTlQgaXMgdHlwaWNhbGx5IHRo ZSBzYW1lIGNvbG9yIGluIGl0cw0KK2Rlc2F0dXJhdGVkIHZlcnNpb24uICBHUkVFTiBpcyBhIGNv bG9yIHZhcmlhbnQgaW4gdGhhdCBzaWRlIG9mDQordGhlIHNwZWN0cnVtLiAgQUxUIGlzIGFub3Ro ZXIgaHVlLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtc3ludGF4DQorICAgICgnZmFpbnQgKGxp c3QgOmZvcmVncm91bmQgZmFpbnQpKQ0KKyAgICAoJ2ZhaW50LXllbGxvdy1jb21tZW50cyAobGlz dCA6Zm9yZWdyb3VuZCBmYWludCkpDQorICAgICgnZ3JlZW4tc3RyaW5ncyAobGlzdCA6Zm9yZWdy b3VuZCBncmVlbikpDQorICAgICgneWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MgKGxpc3Qg OmZvcmVncm91bmQgZ3JlZW4pKQ0KKyAgICAoJ2FsdC1zeW50YXggKGxpc3QgOmZvcmVncm91bmQg YWx0KSkNCisgICAgKCdhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cyAobGlzdCA6Zm9yZWdyb3Vu ZCBhbHQpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9k dXMtdGhlbWVzLS1zeW50YXgtY29tbWVudCAoZmcgeWVsbG93KQ0KKyAgIkFwcGx5IGZvcmVncm91 bmQgdmFsdWUgdG8gc3RyaW5ncyBpbiBjb2RlIHN5bnRheC4NCitGRyBpcyB0aGUgZGVmYXVsdC4g IFlFTExPVyBpcyBhIGNvbG9yIHZhcmlhbnQgb2YgdGhhdCBuYW1lLiINCisgIChwY2FzZSBtb2R1 cy10aGVtZXMtc3ludGF4DQorICAgICgneWVsbG93LWNvbW1lbnRzIChsaXN0IDpmb3JlZ3JvdW5k IHllbGxvdykpDQorICAgICgneWVsbG93LWNvbW1lbnRzLWdyZWVuLXN0cmluZ3MgKGxpc3QgOmZv cmVncm91bmQgeWVsbG93KSkNCisgICAgKCdhbHQtc3ludGF4LXllbGxvdy1jb21tZW50cyAobGlz dCA6Zm9yZWdyb3VuZCB5ZWxsb3cpKQ0KKyAgICAoJ2ZhaW50LXllbGxvdy1jb21tZW50cyAobGlz dCA6Zm9yZWdyb3VuZCB5ZWxsb3cpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBmZykpKSkN CisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1oZWFkaW5nLXAgKGtleSkNCisgICJRdWVyeSBzdHls ZSBvZiBLRVkgaW4gYG1vZHVzLXRoZW1lcy1oZWFkaW5ncycuIg0KKyAgKGNkciAoYXNzb2Mga2V5 IG1vZHVzLXRoZW1lcy1oZWFkaW5ncykpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWhlYWRp bmcgKGxldmVsIGZnIGZnLWFsdCBiZyBib3JkZXIpDQorICAiQ29uZGl0aW9uYWwgc3R5bGVzIGZv ciBgbW9kdXMtdGhlbWVzLWhlYWRpbmdzJy4NCisNCitMRVZFTCBpcyB0aGUgaGVhZGluZydzIHBv c2l0aW9uIGluIHRoZWlyIG9yZGVyLiAgRkcgaXMgdGhlDQorZGVmYXVsdCB0ZXh0IGNvbG9yLiAg RkctQUxUIGlzIGFuIGFjY2VudGVkLCBtb3JlIHNhdHVyYXRlZCB2YWx1ZQ0KK3RoYW4gdGhlIGRl ZmF1bHQuICBCRyBpcyBhIG51YW5jZWQsIHR5cGljYWxseSBhY2NlbnRlZCwNCitiYWNrZ3JvdW5k IHRoYXQgY2FuIHdvcmsgd2VsbCB3aXRoIGVpdGhlciBvZiB0aGUgZm9yZWdyb3VuZA0KK3ZhbHVl cy4gIEJPUkRFUiBpcyBhIGNvbG9yIHZhbHVlIHRoYXQgY29tYmluZXMgd2VsbCB3aXRoIHRoZQ0K K2JhY2tncm91bmQgYW5kIGFsdGVybmF0aXZlIGZvcmVncm91bmQuIg0KKyAgKGxldCogKChrZXkg KG1vZHVzLXRoZW1lcy0taGVhZGluZy1wIGAsbGV2ZWwpKQ0KKyAgICAgICAgIChzdHlsZSAob3Ig a2V5IChtb2R1cy10aGVtZXMtLWhlYWRpbmctcCB0KSkpDQorICAgICAgICAgKHZhciAod2hlbiBt b2R1cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MNCisgICAgICAgICAgICAgICAgJ3Zh cmlhYmxlLXBpdGNoKSkNCisgICAgICAgICAodmFyYm9sZCAoaWYgdmFyDQorICAgICAgICAgICAg ICAgICAgICAgIChhcHBlbmQgKGxpc3QgJ2JvbGQpIChsaXN0IHZhcikpDQorICAgICAgICAgICAg ICAgICAgICAnYm9sZCkpKQ0KKyAgICAocGNhc2Ugc3R5bGUNCisgICAgICAoJ25vLWJvbGQNCisg ICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmZvcmVncm91bmQgZmcpKQ0KKyAgICAgICgnbm8t Y29sb3INCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXJib2xkKSkNCisgICAgICAoJ25vLWNv bG9yLW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIpKQ0KKyAgICAgICgnbGlu ZQ0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhcmJvbGQgOmZvcmVncm91bmQgZmcgOm92ZXJs aW5lIGJvcmRlcikpDQorICAgICAgKCdsaW5lLW5vLWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVy aXQgYCx2YXIgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5lIGJvcmRlcikpDQorICAgICAgKCdyYWlu Ym93DQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyYm9sZCA6Zm9yZWdyb3VuZCBmZy1hbHQp KQ0KKyAgICAgICgncmFpbmJvdy1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFy IDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdyYWluYm93LWxpbmUNCisgICAgICAgKGxp c3QgOmluaGVyaXQgYCx2YXJib2xkIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVy KSkNCisgICAgICAoJ3JhaW5ib3ctbGluZS1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0 IGAsdmFyIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3ZlcmxpbmUgYm9yZGVyKSkNCisgICAgICAoJ2hp Z2hsaWdodA0KKyAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhcmJvbGQgOmJhY2tncm91bmQgYmcg OmZvcmVncm91bmQgZmcpKQ0KKyAgICAgICgnaGlnaGxpZ2h0LW5vLWJvbGQNCisgICAgICAgKGxp c3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcpKQ0KKyAgICAg ICgncmFpbmJvdy1oaWdobGlnaHQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXJib2xkIDpi YWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdyYWluYm93LWhpZ2hs aWdodC1uby1ib2xkDQorICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJn IDpmb3JlZ3JvdW5kIGZnLWFsdCkpDQorICAgICAgKCdzZWN0aW9uDQorICAgICAgIChsaXN0IDpp bmhlcml0IGAsdmFyYm9sZCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6b3ZlcmxpbmUg Ym9yZGVyIDpleHRlbmQgdCkpDQorICAgICAgKCdzZWN0aW9uLW5vLWJvbGQNCisgICAgICAgKGxp c3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcgOm92ZXJsaW5l IGJvcmRlciA6ZXh0ZW5kIHQpKQ0KKyAgICAgICgncmFpbmJvdy1zZWN0aW9uDQorICAgICAgIChs aXN0IDppbmhlcml0IGAsdmFyYm9sZCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZy1hbHQg Om92ZXJsaW5lIGJvcmRlciA6ZXh0ZW5kIHQpKQ0KKyAgICAgICgncmFpbmJvdy1zZWN0aW9uLW5v LWJvbGQNCisgICAgICAgKGxpc3QgOmluaGVyaXQgYCx2YXIgOmJhY2tncm91bmQgYmcgOmZvcmVn cm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIgOmV4dGVuZCB0KSkNCisgICAgICAoXw0KKyAg ICAgICAobGlzdCA6aW5oZXJpdCBgLHZhcmJvbGQgOmZvcmVncm91bmQgZmcpKSkpKQ0KKw0KKyhk ZWZ1biBtb2R1cy10aGVtZXMtLW9yZy1ibG9jayAoYmdibGspDQorICAiQ29uZGl0aW9uYWxseSBz ZXQgdGhlIGJhY2tncm91bmQgb2YgT3JnIGJsb2Nrcy4NCitCR0JMSyBhcHBsaWVzIHRvIGEgZGlz dGluY3QgbmV1dHJhbCBiYWNrZ3JvdW5kLiAgRWxzZSBibG9ja3MgaGF2ZQ0KK25vIGJhY2tncm91 bmQgb2YgdGhlaXIgb3duICh0aGUgZGVmYXVsdCksIHNvIHRoZXkgbG9vayB0aGUgc2FtZQ0KK2Fz IHRoZSByZXN0IG9mIHRoZSBidWZmZXIuDQorDQorYG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzJyBh bHNvIGFjY2VwdHMgYSBgcmFpbmJvdycgb3B0aW9uDQord2hpY2ggaXMgYXBwbGllZCBjb25kaXRp b25hbGx5IHRvIGBvcmctc3JjLWJsb2NrLWZhY2VzJyAoc2VlIHRoZQ0KK3RoZW1lJ3Mgc291cmNl IGNvZGUpLiINCisgIChpZiAob3IgKGVxIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzICdncmF5c2Nh bGUpDQorICAgICAgICAgIChlcSBtb2R1cy10aGVtZXMtb3JnLWJsb2NrcyAnZ3JleXNjYWxlKSkN CisgICAgICAobGlzdCA6YmFja2dyb3VuZCBiZ2JsayA6ZXh0ZW5kIHQpDQorICAgIChsaXN0IDpi YWNrZ3JvdW5kICd1bnNwZWNpZmllZCkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLW9yZy1i bG9jay1kZWxpbSAoYmdhY2NlbnQgZmdhY2NlbnQgYmcgZmcpDQorICAiQ29uZGl0aW9uYWxseSBz ZXQgdGhlIHN0eWxlcyBvZiBPcmcgYmxvY2sgZGVsaW1pdGVycy4NCitCRywgRkcsIEJHQUNDRU5U LCBGR0FDQ0VOVCBhcHBseSBhIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQNCitjb2xvciByZXNw ZWN0aXZlbHkuDQorDQorVGhlIGZvcm1lciBwYWlyIGlzIGEgZ3JleXNjYWxlIGNvbWJpbmF0aW9u IHRoYXQgc2hvdWxkIGJlIG1vcmUNCitkaXN0aW5jdCB0aGFuIHRoZSBiYWNrZ3JvdW5kIG9mIHRo ZSBibG9jay4gIEl0IGlzIGFwcGxpZWQgdG8gdGhlDQorZGVmYXVsdCBzdHlsZXMgb3Igd2hlbiBg bW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MnIGlzIHNldA0KK3RvIGBncmV5c2NhbGUnLg0KKw0KK1Ro ZSBsYXR0ZXIgcGFpciBzaG91bGQgYmUgbW9yZSBzdWJ0bGUgdGhhbiB0aGUgYmFja2dyb3VuZCBv ZiB0aGUNCitibG9jaywgYXMgaXQgaXMgdXNlZCB3aGVuIGBtb2R1cy10aGVtZXMtb3JnLWJsb2Nr cycgaXMNCitzZXQgdG8gYHJhaW5ib3cnLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtb3JnLWJs b2Nrcw0KKyAgICAoJ2dyYXlzY2FsZSAobGlzdCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBm ZyA6ZXh0ZW5kIHQpKQ0KKyAgICAoJ2dyZXlzY2FsZSAobGlzdCA6YmFja2dyb3VuZCBiZyA6Zm9y ZWdyb3VuZCBmZyA6ZXh0ZW5kIHQpKQ0KKyAgICAoJ3JhaW5ib3cgKGxpc3QgOmJhY2tncm91bmQg YmdhY2NlbnQgOmZvcmVncm91bmQgZmdhY2NlbnQpKQ0KKyAgICAoXyAobGlzdCA6YmFja2dyb3Vu ZCBiZyA6Zm9yZWdyb3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1vcmctaGFi aXQgKGRlZmF1bHQgJm9wdGlvbmFsIHRyYWZmaWMgc2ltcGxlKQ0KKyAgIlNwZWNpZnkgYmFja2dy b3VuZCB2YWx1ZXMgZm9yIGBtb2R1cy10aGVtZXMtb3JnLWhhYml0Jy4NCitJZiBubyBvcHRpb25h bCBUUkFGRklDIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCB0aGUgREVGQVVMVCBpcyB1c2VkDQoraW5z dGVhZC4gIFNhbWUgZm9yIFNJTVBMRS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLW9yZy1oYWJp dA0KKyAgICAoJ3RyYWZmaWMtbGlnaHQgKGxpc3QgOmJhY2tncm91bmQgKG9yIHRyYWZmaWMgZGVm YXVsdCkpKQ0KKyAgICAoJ3NpbXBsaWZpZWQgKGxpc3QgOmJhY2tncm91bmQgKG9yIHNpbXBsZSBk ZWZhdWx0KSkpDQorICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGRlZmF1bHQpKSkpDQorDQorKGRl ZnVuIG1vZHVzLXRoZW1lcy0tbW9kZS1saW5lLWF0dHJzDQorICAgIChmZyBiZyBmZy1hbHQgYmct YWx0IGJvcmRlciBib3JkZXItM2QgJm9wdGlvbmFsIGFsdC1zdHlsZSBib3JkZXItd2lkdGggZmct ZGlzdGFudCkNCisgICJDb2xvciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1cy10aGVtZXMtbW9kZS1s aW5lJy4NCisNCitGRyBhbmQgQkcgYXJlIHRoZSBkZWZhdWx0IGNvbG9ycy4gIEZHLUFMVCBhbmQg QkctQUxUIGFyZSBtZWFudCB0bw0KK2FjY29tbW9kYXRlIHRoZSBvcHRpb25zIGZvciBhIDNEIG1v ZGVsaW5lIG9yIGEgYG1vb2R5JyBjb21wbGlhbnQNCitvbmUuICBCT1JERVIgYXBwbGllcyB0byBh bGwgcGVybXV0YXRpb25zIG9mIHRoZSBtb2RlbGluZSwgZXhjZXB0DQordGhlIHRocmVlLWRpbWVu c2lvbmFsIGVmZmVjdCwgd2hlcmUgQk9SREVSLTNEIGlzIHVzZWQgaW5zdGVhZC4NCisNCitPcHRp b25hbCBBTFQtU1RZTEUgYXBwbGllcyBhbiBhcHByb3ByaWF0ZSBzdHlsZSB0byB0aGUgbW9kZQ0K K2xpbmUncyBib3ggcHJvcGVydHkuDQorDQorT3B0aW9uYWwgQk9SREVSLVdJRFRIIHNwZWNpZmll cyBhbiBpbnRlZ2VyIGZvciB0aGUgd2lkdGggb2YgdGhlDQorcmVjdGFuZ2xlIHRoYXQgcHJvZHVj ZXMgdGhlIGJveCBlZmZlY3QuDQorDQorT3B0aW9uYWwgRkctRElTVEFOVCBzaG91bGQgYmUgY2xv c2UgdG8gdGhlIG1haW4gYmFja2dyb3VuZA0KK3ZhbHVlcy4gIEl0IGlzIGludGVuZGVkIHRvIGJl IHVzZWQgYXMgYSBkaXN0YW50LWZvcmVncm91bmQNCitwcm9wZXJ0eS4iDQorICAocGNhc2UgbW9k dXMtdGhlbWVzLW1vZGUtbGluZQ0KKyAgICAoJzNkDQorICAgICBgKDpiYWNrZ3JvdW5kICxiZy1h bHQgOmZvcmVncm91bmQgLGZnLWFsdA0KKyAgICAgICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJv cmRlci13aWR0aCAxKQ0KKyAgICAgICAgICAgICA6Y29sb3IgLGJvcmRlci0zZA0KKyAgICAgICAg ICAgICA6c3R5bGUgLChhbmQgYWx0LXN0eWxlICdyZWxlYXNlZC1idXR0b24pKSkpDQorICAgICgn bW9vZHkNCisgICAgIGAoOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0DQor ICAgICAgIDp1bmRlcmxpbmUgLGJvcmRlciA6b3ZlcmxpbmUgLGJvcmRlcg0KKyAgICAgICA6ZGlz dGFudC1mb3JlZ3JvdW5kICxmZy1kaXN0YW50KSkNCisgICAgKCdib3JkZXJsZXNzDQorICAgICBg KDpmb3JlZ3JvdW5kICxmZyA6YmFja2dyb3VuZCAsYmcgOmJveCAsYmcpKQ0KKyAgICAoJ2JvcmRl cmxlc3MtM2QNCisgICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3JvdW5kICxiZw0KKyAgICAg ICA6Ym94ICg6bGluZS13aWR0aCAsKG9yIGJvcmRlci13aWR0aCAxKQ0KKyAgICAgICAgICAgICA6 Y29sb3IgLGJnDQorICAgICAgICAgICAgIDpzdHlsZSAsKGFuZCBhbHQtc3R5bGUgJ3JlbGVhc2Vk LWJ1dHRvbikpKSkNCisgICAgKCdib3JkZXJsZXNzLW1vb2R5DQorICAgICBgKDpiYWNrZ3JvdW5k ICxiZyA6Zm9yZWdyb3VuZCAsZmcNCisgICAgICAgOnVuZGVybGluZSAsYmcgOm92ZXJsaW5lICxi Zw0KKyAgICAgICA6ZGlzdGFudC1mb3JlZ3JvdW5kICxmZy1kaXN0YW50KSkNCisgICAgKF8NCisg ICAgIGAoOmZvcmVncm91bmQgLGZnIDpiYWNrZ3JvdW5kICxiZyA6Ym94ICxib3JkZXIpKSkpDQor DQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAoZmctb25seS1iZyBmZy1vbmx5LWZn IG1haW5iZyBtYWluZmcgYWx0YmcgYWx0ZmcgJm9wdGlvbmFsIGRldXRlcmFuYmcgZGV1dGVyYW5m ZyAgYmctb25seS1mZykNCisgICJDb2xvciBjb21iaW5hdGlvbnMgZm9yIGBtb2R1cy10aGVtZXMt ZGlmZnMnLg0KKw0KK0ZHLU9OTFktQkcgc2hvdWxkIGJlIHNpbWlsYXIgb3IgdGhlIHNhbWUgYXMg dGhlIG1haW4gYmFja2dyb3VuZC4NCitGRy1PTkxZLUZHIHNob3VsZCBiZSBhIHNhdHVyYXRlZCBh Y2NlbnQgdmFsdWUgdGhhdCBjYW4gYmUNCitjb21iaW5lZCB3aXRoIHRoZSBmb3JtZXIuDQorDQor TUFJTkJHIG11c3QgYmUgb25lIG9mIHRoZSBkZWRpY2F0ZWQgYmFja2dyb3VuZHMgZm9yIGRpZmZz IHdoaWxlDQorTUFJTkZHIG11c3QgYmUgdGhlIHNhbWUgZm9yIHRoZSBmb3JlZ3JvdW5kLg0KKw0K K0FMVEJHIG5lZWRzIHRvIGJlIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZCB0aGF0IGlz IG1lYW50IHRvDQorYmUgY29tYmluZWQgd2l0aCBBTFRGRy4gIEJvdGggbXVzdCBiZSBsZXNzIGlu dGVuc2UgdGhhbiBNQUlOQkcNCithbmQgTUFJTkZHIHJlc3BlY3RpdmVseS4NCisNCitERVVURVJB TkJHIGFuZCBERVVURVJBTkZHIG11c3QgYmUgY29tYmluYXRpb25zIG9mIGNvbG9ycyB0aGF0IGFj Y291bnQNCitmb3IgcmVkLWdyZWVuIGNvbG9yIGRlZmZpY2llbmN5IChkZXV0ZXJhbm9waWEpLg0K Kw0KK09wdGlvbmFsIEJHLU9OTFktRkcgYXBwbGllcyBBTFRGRyBlbHNlIGxlYXZlcyB0aGUgZm9y ZWdyb3VuZA0KK3Vuc3BlY2lmaWVkLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtZGlmZnMNCisg ICAgKCdmZy1vbmx5IChsaXN0IDpiYWNrZ3JvdW5kIGZnLW9ubHktYmcgOmZvcmVncm91bmQgZmct b25seS1mZykpDQorICAgICgnZGVzYXR1cmF0ZWQgKGxpc3QgOmJhY2tncm91bmQgYWx0YmcgOmZv cmVncm91bmQgYWx0ZmcpKQ0KKyAgICAoJ2RldXRlcmFub3BpYSAobGlzdCA6YmFja2dyb3VuZCAo b3IgZGV1dGVyYW5iZyBtYWluYmcpIDpmb3JlZ3JvdW5kIChvciBkZXV0ZXJhbmZnIG1haW5mZykp KQ0KKyAgICAoJ2JnLW9ubHkgKGxpc3QgOmJhY2tncm91bmQgYWx0YmcgOmZvcmVncm91bmQgKGlm IGJnLW9ubHktZmcgYWx0ZmcgJ3Vuc3BlY2lmaWVkKSkpDQorICAgIChfIChsaXN0IDpiYWNrZ3Jv dW5kIG1haW5iZyA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1l cy0tZGlmZi1kZXV0ZXJhbiAoZGV1dGVyYW4gbWFpbikNCisgICJEZXRlcm1pbmUgd2hldGhlciB0 aGUgREVVVEVSQU4gb3IgTUFJTiBjb2xvciBzaG91bGQgYmUgdXNlZC4NCitUaGlzIGlzIGJhc2Vk IG9uIHdoZXRoZXIgYG1vZHVzLXRoZW1lcy1kaWZmcycgaGFzIHRoZSB2YWx1ZQ0KK2BkZXV0ZXJh bm9waWEnLiINCisgIChpZiAoZXEgbW9kdXMtdGhlbWVzLWRpZmZzICdkZXV0ZXJhbm9waWEpDQor ICAgICAgKGxpc3QgZGV1dGVyYW4pDQorICAgIChsaXN0IG1haW4pKSkNCisNCisoZGVmdW4gbW9k dXMtdGhlbWVzLS1kaWZmLXRleHQgKGZnLW9ubHktZmcgZGVmYXVsdC1mZykNCisgICJMaWtlIGBt b2R1cy10aGVtZXMtLWRpZmYnLCBidXQgb25seSBmb3IgZm9yZWdyb3VuZHMuDQorRkctT05MWS1G RyBpcyB0aGUgZm9yZWdyb3VuZCB0aGF0IGlzIHVzZWQgd2hlbiBkaWZmcyBhcmUgc3R5bGVkDQor dXNpbmcgb25seSBmb3JlZ3JvdW5kIGNvbG9ycy4gIERFRkFVTFQtRkcgY292ZXJzIGFsbCBvdGhl cg0KK2Nhc2VzLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtZGlmZnMNCisgICAgKCdmZy1vbmx5 IChsaXN0IDpmb3JlZ3JvdW5kIGZnLW9ubHktZmcpKQ0KKyAgICAoJ2JnLW9ubHkgKGxpc3QgOmZv cmVncm91bmQgJ3Vuc3BlY2lmaWVkKSkNCisgICAgKF8gKGxpc3QgOmZvcmVncm91bmQgZGVmYXVs dC1mZykpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucyAo bWFpbmZnIHN1YnRsZWJnIGludGVuc2ViZyBpbnRlbnNlZmcpDQorICAiQ29tYmluYXRpb25zIGZv ciBgbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zJy4NCisNCitNQUlORkcgaXMgYW4gYWNjZW50ZWQg Zm9yZWdyb3VuZCB2YWx1ZS4gIFNVQlRMRUJHIGlzIGFuIGFjY2VudGVkDQorYmFja2dyb3VuZCB2 YWx1ZSB0aGF0IGNhbiBiZSBjb21iaW5lZCB3aXRoIE1BSU5GRy4gIElOVEVOU0VCRyBhbmQNCitJ TlRFTlNFRkcgYXJlIGFjY2VudGVkIGNvbG9ycyB0aGF0IGFyZSBkZXNpZ25lZCB0byBiZSB1c2Vk IGluDQordGFuZGVtLg0KKw0KK1RoZXNlIGFyZSBpbnRlbmRlZCBmb3IgSWNvbXBsZXRlLCBJZG8s IGFuZCByZWxhdGVkLiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMNCisgICAg KCdvcGluaW9uYXRlZCAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcgOmZvcmVncm91bmQgaW50 ZW5zZWZnKSkNCisgICAgKCdtb2RlcmF0ZSAobGlzdCA6YmFja2dyb3VuZCBzdWJ0bGViZyA6Zm9y ZWdyb3VuZCBtYWluZmcpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBtYWluZmcpKSkpDQor DQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMgKHN1YnRsZWZhY2UgaW50 ZW5zZWZhY2UgYWx0ZmFjZSAmb3B0aW9uYWwgYWx0ZmcgYm9sZCkNCisgICJDb21iaW5hdGlvbnMg Zm9yIGBtb2R1cy10aGVtZXMtY29tcGxldGlvbnMnLg0KKw0KK1NVQlRMRUZBQ0UgYW5kIElOVEVO U0VGQUNFIGFyZSBjdXN0b20gdGhlbWUgZmFjZXMgdGhhdCBjb21iaW5lIGENCitiYWNrZ3JvdW5k IGFuZCBmb3JlZ3JvdW5kIHZhbHVlLiAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvDQor aXMgYSBtYXR0ZXIgb2YgZGVncmVlLg0KKw0KK0FMVEZBQ0UgaXMgYSBjb21iaW5hdGlvbiBvZiBj b2xvcnMgdGhhdCByZXByZXNlbnRzIGEgZGVwYXJ0dXJlDQorZnJvbSB0aGUgVUkncyBkZWZhdWx0 IGFlc3RoZXRpY3MuICBPcHRpb25hbCBBTFRGRyBpcyBtZWFudCB0byBiZQ0KK3VzZWQgaW4gdGFu ZGVtIHdpdGggaXQuDQorDQorT3B0aW9uYWwgQk9MRCB3aWxsIGFwcGx5IGEgaGVhdmllciB3ZWln aHQgdG8gdGhlIHRleHQuDQorDQorVGhlc2UgYXJlIGludGVuZGVkIGZvciBIZWxtLCBJdnksIGV0 Yy4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLWNvbXBsZXRpb25zDQorICAgICgnb3BpbmlvbmF0 ZWQgKGxpc3QgOmluaGVyaXQgKGxpc3QgYWx0ZmFjZSBib2xkKQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kIChvciBhbHRmZyAndW5zcGVjaWZpZWQpKSkNCisgICAgKCdtb2Rl cmF0ZSAobGlzdCA6aW5oZXJpdCAobGlzdCBzdWJ0bGVmYWNlIGJvbGQpKSkNCisgICAgKF8gKGxp c3QgOmluaGVyaXQgKGxpc3QgaW50ZW5zZWZhY2UgYm9sZCkpKSkpDQorDQorKGRlZnVuIG1vZHVz LXRoZW1lcy0tbGluayAoZmcgZmdmYWludCB1bmRlcmxpbmUpDQorICAiQ29uZGl0aW9uYWwgYXBw bGljYXRpb24gb2YgbGluayBzdHlsZXMuDQorRkcgaXMgdGhlIGxpbmsncyBkZWZhdWx0IGNvbG9y IGZvciBpdHMgdGV4dCBhbmQgdW5kZXJsaW5lDQorcHJvcGVydHkuICBGR0ZBSU5UIGlzIGEgZGVz YXR1cmF0ZWQgY29sb3IgZm9yIHRoZSB0ZXh0IGFuZA0KK3VuZGVybGluZS4gIFVOREVSTElORSBp cyBhIGdyZXkgY29sb3Igb25seSBmb3IgdGhlIHVuZGVsaW5lLiINCisgIChwY2FzZSBtb2R1cy10 aGVtZXMtbGlua3MNCisgICAgKCdmYWludCAobGlzdCA6Zm9yZWdyb3VuZCBmZ2ZhaW50IDp1bmRl cmxpbmUgdCkpDQorICAgICgnbmV1dHJhbC11bmRlcmxpbmUgKGxpc3QgOmZvcmVncm91bmQgZmcg OnVuZGVybGluZSB1bmRlcmxpbmUpKQ0KKyAgICAoJ2ZhaW50LW5ldXRyYWwtdW5kZXJsaW5lIChs aXN0IDpmb3JlZ3JvdW5kIGZnZmFpbnQgOnVuZGVybGluZSB1bmRlcmxpbmUpKQ0KKyAgICAoJ25v LXVuZGVybGluZSAobGlzdCA6Zm9yZWdyb3VuZCBmZyA6dW5kZXJsaW5lIG5pbCkpDQorICAgICgn dW5kZXJsaW5lLW9ubHkgKGxpc3QgOnVuZGVybGluZSB0KSkNCisgICAgKCduZXV0cmFsLXVuZGVy bGluZS1vbmx5IChsaXN0IDp1bmRlcmxpbmUgdW5kZXJsaW5lKSkNCisgICAgKF8gKGxpc3QgOmZv cmVncm91bmQgZmcgOnVuZGVybGluZSB0KSkpKQ0KKw0KKyhkZWZ1biBtb2R1cy10aGVtZXMtLWxp bmstY29sb3IgKGZnIGZnZmFpbnQgJm9wdGlvbmFsIG5ldXRyYWxmZykNCisgICJFeHRlbmRzIGBt b2R1cy10aGVtZXMtLWxpbmsnLg0KK0ZHIGlzIHRoZSBtYWluIGFjY2VudGVkIGZvcmVncm91bmQu ICBGR0ZBSU5UIGlzIGFsc28gYWNjZW50ZWQsDQoreWV0IGRlc2F0dXJhdGVkLiAgT3B0aW9uYWwg TkVVVFJBTEZHIGlzIGEgZ3JheSB2YWx1ZS4iDQorICAocGNhc2UgbW9kdXMtdGhlbWVzLWxpbmtz DQorICAgICgnZmFpbnQgKGxpc3QgOmZvcmVncm91bmQgZmdmYWludCkpDQorICAgICgnZmFpbnQt bmV1dHJhbC11bmRlcmxpbmUgKGxpc3QgOmZvcmVncm91bmQgZmdmYWludCkpDQorICAgICgndW5k ZXJsaW5lLW9ubHkgKGxpc3QgOnVuZGVybGluZSB0IDpmb3JlZ3JvdW5kIChvciBuZXV0cmFsZmcg J3Vuc3BlY2lmaWVkKSkpDQorICAgICgnbmV1dHJhbC11bmRlcmxpbmUtb25seSAobGlzdCA6dW5k ZXJsaW5lICd1bnNwZWNpZmllZCA6Zm9yZWdyb3VuZCAob3IgbmV1dHJhbGZnICd1bnNwZWNpZmll ZCkpKQ0KKyAgICAoXyAobGlzdCA6Zm9yZWdyb3VuZCBmZykpKSkNCisNCisoZGVmdW4gbW9kdXMt dGhlbWVzLS1zY2FsZSAoYW1vdW50KQ0KKyAgIlNjYWxlIGhlYWRpbmcgYnkgQU1PVU5ULg0KK0FN T1VOVCBpcyBhIGN1c3RvbWl6YXRpb24gb3B0aW9uLiINCisgICh3aGVuIG1vZHVzLXRoZW1lcy1z Y2FsZS1oZWFkaW5ncw0KKyAgICAobGlzdCA6aGVpZ2h0IGFtb3VudCkpKQ0KKw0KKyhkZWZ1biBt b2R1cy10aGVtZXMtLXJlZ2lvbiAoYmcgZmcgYmdzdWJ0bGUpDQorICAiQXBwbHkgYG1vZHVzLXRo ZW1lcy1yZWdpb24nIHN0eWxlcy4NCisNCitCRyBhbmQgRkcgYXJlIHRoZSBtYWluIHZhbHVlcyB0 aGF0IGFyZSB1c2VkIGJ5IGRlZmF1bHQuICBCR1NVQlRMRQ0KK2lzIGEgc3VidGxlIGJhY2tncm91 bmQgdmFsdWUgdGhhdCBjYW4gYmUgY29tYmluZWQgd2l0aCBhbGwgY29sb3JzDQordXNlZCB0byBm b250aWZ5IHRleHQgYW5kIGNvZGUgc3ludGF4LiINCisgIChwY2FzZSBtb2R1cy10aGVtZXMtcmVn aW9uDQorICAgICgnYmctb25seSAobGlzdCA6YmFja2dyb3VuZCBiZ3N1YnRsZSkpDQorICAgICgn Ymctb25seS1uby1leHRlbmQgKGxpc3QgOmJhY2tncm91bmQgYmdzdWJ0bGUgOmV4dGVuZCBuaWwp KQ0KKyAgICAoJ25vLWV4dGVuZCAobGlzdCA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBmZyA6 ZXh0ZW5kIG5pbCkpDQorICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZn KSkpKQ0KKw0KKwwNCisNCis7Ozs7IFV0aWxpdGllcyBmb3IgRElZIHVzZXJzDQorDQorOzsgVGhp cyBpcyB0aGUgV0NBRyBmb3JtdWxhOiBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLVRFQ0hT L0cxOC5odG1sDQorKGRlZnVuIG1vZHVzLXRoZW1lcy13Y2FnLWZvcm11bGEgKGhleCkNCisgICJH ZXQgV0NBRyB2YWx1ZSBvZiBjb2xvciB2YWx1ZSBIRVguDQorVGhlIHZhbHVlIGlzIGRlZmluZWQg aW4gaGV4YWRlY2ltYWwgUkdCIG5vdGF0aW9uLCBzdWNoIGFzIHRob3NlIGluDQorYG1vZHVzLXRo ZW1lcy1vcGVyYW5kaS1jb2xvcnMnIGFuZCBgbW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3JzJy4i DQorICAoY2wtbG9vcCBmb3IgayBpbiAnKDAuMjEyNiAwLjcxNTIgMC4wNzIyKQ0KKyAgICAgICAg ICAgZm9yIHggaW4gKGNvbG9yLW5hbWUtdG8tcmdiIGhleCkNCisgICAgICAgICAgIHN1bSAoKiBr IChpZiAoPD0geCAwLjAzOTI4KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICgvIHggMTIuOTIp DQorICAgICAgICAgICAgICAgICAgICAgIChleHB0ICgvICgrIHggMC4wNTUpIDEuMDU1KSAyLjQp KSkpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1lcy1jb250cmFzdCAo YzEgYzIpDQorICAiTWVhc3VyZSBXQ0FHIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gQzEgYW5kIEMy Lg0KK0MxIGFuZCBDMiBhcmUgY29sb3IgdmFsdWVzIHdyaXR0ZW4gaW4gaGV4YWRlY2ltYWwgUkdC LiINCisgIChsZXQgKChjdCAoLyAoKyAobW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYSBjMSkgMC4w NSkNCisgICAgICAgICAgICAgICAoKyAobW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYSBjMikgMC4w NSkpKSkNCisgICAgKG1heCBjdCAoLyBjdCkpKSkNCisNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWN1 cnJlbnQtcGFsZXR0ZSAoKQ0KKyAgIlJldHVybiBjdXJyZW50IGNvbG9yIHBhbGV0dGUuIg0KKyAg KG1vZHVzLXRoZW1lcy0tcGFsZXR0ZSAobW9kdXMtdGhlbWVzLS1jdXJyZW50LXRoZW1lKSkpDQor DQorOzs7IyMjYXV0b2xvYWQNCisoZGVmdW4gbW9kdXMtdGhlbWVzLWNvbG9yIChjb2xvcikNCisg ICJSZXR1cm4gY29sb3IgdmFsdWUgZm9yIENPTE9SIGZyb20gY3VycmVudCBwYWxldHRlLg0KK0NP TE9SIGlzIGEga2V5IGluIGBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3JzJyBvcg0KK2Btb2R1 cy10aGVtZXMtdml2ZW5kaS1jb2xvcnMnLiINCisgIChhbGlzdC1nZXQgY29sb3IgKG1vZHVzLXRo ZW1lcy1jdXJyZW50LXBhbGV0dGUpKSkNCisNCis7OzsjIyNhdXRvbG9hZA0KKyhkZWZ1biBtb2R1 cy10aGVtZXMtY29sb3ItYWx0cyAobGlnaHQtY29sb3IgZGFyay1jb2xvcikNCisgICJSZXR1cm4g Y29sb3IgdmFsdWUgZnJvbSBjdXJyZW50IHBhbGV0dGUuDQorV2hlbiBNb2R1cyBPcGVyYW5kaSBp cyBlbmFibGVkLCByZXR1cm4gY29sb3IgdmFsdWUgZm9yIGNvbG9yDQorTElHSFQtQ09MT1IuICBX aGVuIE1vZHVzIFZpdmVuZGkgaXMgZW5hYmxlZCwgcmV0dXJuIGNvbG9yIHZhbHVlDQorZm9yIERB UkstQ09MT1IuICBMSUdIVC1DT0xPUiBhbmQgREFSSy1DT0xPUiBhcmUga2V5cyBpbg0KK2Btb2R1 cy10aGVtZXMtb3BlcmFuZGktY29sb3JzJyBvciBgbW9kdXMtdGhlbWVzLXZpdmVuZGktY29sb3Jz Jy4iDQorICAobGV0KiAoKHRoZW1lIChtb2R1cy10aGVtZXMtLWN1cnJlbnQtdGhlbWUpKQ0KKyAg ICAgICAgIChjb2xvciAocGNhc2UgdGhlbWUNCisgICAgICAgICAgICAgICAgICAoJ21vZHVzLW9w ZXJhbmRpIGxpZ2h0LWNvbG9yKQ0KKyAgICAgICAgICAgICAgICAgICgnbW9kdXMtdml2ZW5kaSBk YXJrLWNvbG9yKQ0KKyAgICAgICAgICAgICAgICAgIChfdGhlbWUNCisgICAgICAgICAgICAgICAg ICAgKGVycm9yICInJXMnIGlzIG5vdCBhIE1vZHVzIHRoZW1lIiB0aGVtZSkpKSkpDQorICAgIChh bGlzdC1nZXQgY29sb3IgKG1vZHVzLXRoZW1lcy0tcGFsZXR0ZSB0aGVtZSkpKSkNCisNCisoZGVm bWFjcm8gbW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzICgmcmVzdCBib2R5KQ0KKyAgIkV2YWx1YXRl IEJPRFkgd2l0aCBjb2xvcnMgZnJvbSBjdXJyZW50IHBhbGV0dGUgYm91bmQuDQorRm9yIGNvbG9y cyBib3VuZCwgc2VlIGBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3JzJyBvcg0KK2Btb2R1cy10 aGVtZXMtdml2ZW5kaS1jb2xvcnMnLiINCisgIChkZWNsYXJlIChpbmRlbnQgMCkpDQorICAobGV0 ICgocGFsZXR0ZS1zeW0gKGdlbnN5bSkpDQorICAgICAgICAoY29sb3JzIChtYXBjYXIgIydjYXIg bW9kdXMtdGhlbWVzLW9wZXJhbmRpLWNvbG9ycykpKQ0KKyAgICBgKGxldCogKChjbGFzcyAnKChj bGFzcyBjb2xvcikgKG1pbi1jb2xvcnMgODkpKSkNCisgICAgICAgICAgICAoLHBhbGV0dGUtc3lt IChtb2R1cy10aGVtZXMtY3VycmVudC1wYWxldHRlKSkNCisgICAgICAgICAgICAsQChtYXBjYXIg KGxhbWJkYSAoY29sb3IpDQorICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgY29sb3IgYChh bGlzdC1nZXQgJyxjb2xvciAscGFsZXR0ZS1zeW0pKSkNCisgICAgICAgICAgICAgICAgICAgICAg Y29sb3JzKSkNCisgICAgICAgKGlnbm9yZSBjbGFzcyAsQGNvbG9ycykgICAgICAgICAgOyBTaWxl bmNlIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncw0KKyAgICAgICAsQGJvZHkpKSkNCisNCisMDQor DQorOzs7OyBDb21tYW5kcw0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1l cy1sb2FkLXRoZW1lcyAoKQ0KKyAgIkVuc3VyZSB0aGF0IHRoZSBNb2R1cyB0aGVtZXMgYXJlIGlu IGBjdXN0b20tZW5hYmxlZC10aGVtZXMnLg0KKw0KK1RoaXMgZnVuY3Rpb24gaXMgaW50ZW5kZWQg Zm9yIHVzZSBpbiBwYWNrYWdlIGRlY2xhcmF0aW9ucyBzdWNoIGFzDQordGhvc2UgZGVmaW5lZCB3 aXRoIHRoZSBoZWxwIG9mIGB1c2UtcGFja2FnZScuICBUaGUgaWRlYSBpcyB0byBhZGQNCit0aGlz IGZ1bmN0aW9uIHRvIHRoZSBgOmluaXQnIHN0YWdlIG9mIHRoZSBwYWNrYWdlJ3MgbG9hZGluZywg c28NCit0aGF0IHN1YnNlcXVlbnQgY2FsbHMgdGhhdCBhc3N1bWUgdGhlIHByZXNlbmNlIG9mIGEg bG9hZGVkIHRoZW1lLA0KK2xpa2UgYG1vZHVzLXRoZW1lcy10b2dnbGUnIG9yIGBtb2R1cy10aGVt ZXMtbG9hZC1vcGVyYW5kaScsIHdpbGwNCitjb250aW51ZSB0byB3b3JrIGFzIGludGVuZGVkIGV2 ZW4gaWYgdGhleSBhcmUgbGF6eS1sb2FkZWQgKHN1Y2gNCithcyB3aGVuIHRoZXkgYXJlIGRlY2xh cmVkIGluIHRoZSBgOmNvbmZpZycgcGhhc2UpLiINCisgICh1bmxlc3MgKG9yIChjdXN0b20tdGhl bWUtcCAnbW9kdXMtb3BlcmFuZGkpDQorICAgICAgICAgICAgICAoY3VzdG9tLXRoZW1lLXAgJ21v ZHVzLXZpdmVuZGkpKQ0KKyAgICAobG9hZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCB0KQ0KKyAg ICAobG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0IHQpKSkNCisNCisoZGVmdmFyIG1vZHVzLXRo ZW1lcy1hZnRlci1sb2FkLXRoZW1lLWhvb2sgbmlsDQorICAiSG9vayB0aGF0IHJ1bnMgYWZ0ZXIg dGhlIGBtb2R1cy10aGVtZXMtdG9nZ2xlJyByb3V0aW5lcy4iKQ0KKw0KKzs7IFRoZSByZWFzb24g d2UgdXNlIGBsb2FkLXRoZW1lJyBpbnN0ZWFkIG9mIGBlbmFibGUtdGhlbWUnIGlzIHRoYXQgdGhl DQorOzsgZm9ybWVyIGRvZXMgYSBraW5kIG9mICJyZXNldCIgb24gdGhlIGZhY2Ugc3BlY3MuICBT byBpdCBwbGF5cyBuaWNlbHkNCis7OyB3aXRoIGBjdXN0b20tc2V0LWZhY2VzJywgYXMgd2VsbCBh cyBkZWZjdXN0b20gdXNlciBjdXN0b21pemF0aW9ucywNCis7OyBpbmNsdWRpbmcgdGhlIGxpa2Vz IG9mIGBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzJy4NCis7Ow0KKzs7IFRl c3RzIHNob3cgdGhhdCBgZW5hYmxlLXRoZW1lJyBkb2VzIG5vdCByZS1yZWFkIHRob3NlIHZhcmlh Ymxlcywgc28NCis7OyBpdCBtaWdodCBhcHBlYXIgdG8gdGhlIHVuc3VzcGVjdGluZyB1c2VyIHRo YXQgdGhlIHRoZW1lcyBhcmUgc29tZWhvdw0KKzs7IGJyb2tlbi4NCis7Ow0KKzs7IFRoaXMgInJl c2V0IiwgaG93ZXZlciwgY29tZXMgYXQgdGhlIGNvc3Qgb2YgYmVpbmcgYSBiaXQgc2xvd2VyIHRo YW4NCis7OyBgZW5hYmxlLXRoZW1lJy4gIFVzZXIgd2hvIGhhdmUgYSBzdGFibGUgc2V0dXAgYW5k IHNlbGRvbSB1cGRhdGUgdGhlaXINCis7OyB2YXJpYWJsZXMgZHVyaW5nIGEgZ2l2ZW4gRW1hY3Mg c2Vzc2lvbiwgYXJlIGJldHRlciBvZmYgdXNpbmcNCis7OyBzb21ldGhpbmcgbGlrZSB0aGlzOg0K Kzs7DQorOzsgKGRlZnVuIG1vZHVzLXRoZW1lcy10b2dnbGUtZW5hYmxlZCAoKQ0KKzs7ICAgIlRv Z2dsZSBiZXR3ZWVuIGBtb2R1cy1vcGVyYW5kaScgYW5kIGBtb2R1cy12aXZlbmRpJyB0aGVtZXMu Ig0KKzs7ICAgKGludGVyYWN0aXZlKQ0KKzs7ICAgKHBjYXNlIChtb2R1cy10aGVtZXMtLWN1cnJl bnQtdGhlbWUpDQorOzsgICAgICgnbW9kdXMtb3BlcmFuZGkgKHByb2duIChlbmFibGUtdGhlbWUg J21vZHVzLXZpdmVuZGkpDQorOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXNhYmxl LXRoZW1lICdtb2R1cy1vcGVyYW5kaSkpKQ0KKzs7ICAgICAoJ21vZHVzLXZpdmVuZGkgKHByb2du IChlbmFibGUtdGhlbWUgJ21vZHVzLW9wZXJhbmRpKQ0KKzs7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtdml2ZW5kaSkpKQ0KKzs7ICAgICAoXyAoZXJy b3IgIk5vIE1vZHVzIHRoZW1lIGlzIGxvYWRlZDsgZXZhbHVhdGUgYG1vZHVzLXRoZW1lcy1sb2Fk LXRoZW1lcycgZmlyc3QiKSkpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRo ZW1lcy1sb2FkLW9wZXJhbmRpICgpDQorICAiTG9hZCBgbW9kdXMtb3BlcmFuZGknIGFuZCBkaXNh YmxlIGBtb2R1cy12aXZlbmRpJy4NCitBbHNvIHJ1biBgbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQt dGhlbWUtaG9vaycuIg0KKyAgKGRpc2FibGUtdGhlbWUgJ21vZHVzLXZpdmVuZGkpDQorICAobG9h ZC10aGVtZSAnbW9kdXMtb3BlcmFuZGkgdCkNCisgIChydW4taG9va3MgJ21vZHVzLXRoZW1lcy1h ZnRlci1sb2FkLXRoZW1lLWhvb2spKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVz LXRoZW1lcy1sb2FkLXZpdmVuZGkgKCkNCisgICJMb2FkIGBtb2R1cy12aXZlbmRpJyBhbmQgZGlz YWJsZSBgbW9kdXMtb3BlcmFuZGknLg0KK0Fsc28gcnVuIGBtb2R1cy10aGVtZXMtYWZ0ZXItbG9h ZC10aGVtZS1ob29rJy4iDQorICAoZGlzYWJsZS10aGVtZSAnbW9kdXMtb3BlcmFuZGkpDQorICAo bG9hZC10aGVtZSAnbW9kdXMtdml2ZW5kaSB0KQ0KKyAgKHJ1bi1ob29rcyAnbW9kdXMtdGhlbWVz LWFmdGVyLWxvYWQtdGhlbWUtaG9vaykpDQorDQorKGRlZnVuIG1vZHVzLXRoZW1lcy0tbG9hZC1w cm9tcHQgKCkNCisgICJIZWxwZXIgZm9yIGBtb2R1cy10aGVtZXMtdG9nZ2xlJy4iDQorICAobGV0 ICgodGhlbWUNCisgICAgICAgICAoaW50ZXJuDQorICAgICAgICAgIChjb21wbGV0aW5nLXJlYWQg IkxvYWQgTW9kdXMgdGhlbWUgKHdpbGwgZGlzYWJsZSBhbGwgb3RoZXJzKTogIg0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICcobW9kdXMtb3BlcmFuZGkgbW9kdXMtdml2ZW5kaSkgbmlsIHQp KSkpDQorICAgIChtYXBjICMnZGlzYWJsZS10aGVtZSBjdXN0b20tZW5hYmxlZC10aGVtZXMpDQor ICAgIChwY2FzZSB0aGVtZQ0KKyAgICAgICgnbW9kdXMtb3BlcmFuZGkgKG1vZHVzLXRoZW1lcy1s b2FkLW9wZXJhbmRpKSkNCisgICAgICAoJ21vZHVzLXZpdmVuZGkgKG1vZHVzLXRoZW1lcy1sb2Fk LXZpdmVuZGkpKSkpKQ0KKw0KKzs7OyMjI2F1dG9sb2FkDQorKGRlZnVuIG1vZHVzLXRoZW1lcy10 b2dnbGUgKCkNCisgICJUb2dnbGUgYmV0d2VlbiBgbW9kdXMtb3BlcmFuZGknIGFuZCBgbW9kdXMt dml2ZW5kaScgdGhlbWVzLg0KK0Fsc28gcnVucyBgbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhl bWUtaG9vaycgYXQgaXRzIGxhc3Qgc3RhZ2UNCitieSB2aXJ0dWUgb2YgY2FsbGluZyBlaXRoZXIg b2YgYG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpJyBhbmQNCitgbW9kdXMtdGhlbWVzLWxvYWQt dml2ZW5kaScgZnVuY3Rpb25zLiINCisgIChpbnRlcmFjdGl2ZSkNCisgIChtb2R1cy10aGVtZXMt bG9hZC10aGVtZXMpDQorICAocGNhc2UgKG1vZHVzLXRoZW1lcy0tY3VycmVudC10aGVtZSkNCisg ICAgKCdtb2R1cy1vcGVyYW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaSkpDQorICAgICgn bW9kdXMtdml2ZW5kaSAobW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkpKQ0KKyAgICAoXyAobW9k dXMtdGhlbWVzLS1sb2FkLXByb21wdCkpKSkNCisNCisMDQorDQorOzs7OyBGYWNlIHNwZWNpZmlj YXRpb25zDQorDQorKGRlZmNvbnN0IG1vZHVzLXRoZW1lcy1mYWNlcw0KKyAgJygNCis7Ozs7IGN1 c3RvbSBmYWNlcw0KKyAgICA7OyB0aGVzZSBiZXNwb2tlIGZhY2VzIGFyZSBpbmhlcml0ZWQgYnkg b3RoZXIgY29uc3RydWN0cyBiZWxvdw0KKzs7Ozs7IHN1YnRsZSBjb2xvcmVkIGJhY2tncm91bmRz DQorICAgIGAobW9kdXMtdGhlbWUtc3VidGxlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVk LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobW9kdXMtdGhlbWUtc3Vi dGxlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1zdWJ0bGUtYmcgOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cgKCgsY2xhc3Mg OmJhY2tncm91bmQgLHllbGxvdy1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1 YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobW9kdXMtdGhlbWUtc3VidGxl LW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtc3VidGxlLWJnIDpmb3JlZ3Jv dW5kICxmZy1kaW0pKSkNCisgICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCis7Ozs7OyBpbnRlbnNlIGNvbG9yZWQg YmFja2dyb3VuZHMNCisgICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAscmVkLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCht b2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRl bnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5z ZS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1pbnRlbnNlLWJnIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxibHVlLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisg ICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1h Z2VudGEtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRo ZW1lLWludGVuc2UtY3lhbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFs ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Cis7Ozs7OyByZWZpbmVkIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRpb25zDQor ICAgIDs7IGdlbmVyYWwgcHVycG9zZSBzdHlsZXMgdGhhdCB1c2UgYW4gYWNjZW50ZWQgZm9yZWdy b3VuZCBhZ2FpbnN0IGFuDQorICAgIDs7IGFjY2VudGVkIGJhY2tncm91bmQNCisgICAgYChtb2R1 cy10aGVtZS1yZWZpbmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtcmVmaW5lLWJnIDpm b3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLWdy ZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGdy ZWVuLXJlZmluZS1mZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgKCgsY2xh c3MgOmJhY2tncm91bmQgLHllbGxvdy1yZWZpbmUtYmcgOmZvcmVncm91bmQgLHllbGxvdy1yZWZp bmUtZmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmx1ZS1yZWZpbmUtYmcgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQorICAg IGAobW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2Vu dGEtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLXJlZmluZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXJlZmluZS1i ZyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCis7Ozs7OyAiYWN0aXZlIiBjb21iaW5h dGlvbnMsIG1vc3RseSBmb3IgdXNlIG9uIHRoZSBtb2RlIGxpbmUNCisgICAgYChtb2R1cy10aGVt ZS1hY3RpdmUtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtYWN0aXZlIDpmb3JlZ3JvdW5k ICxiZy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4gKCgsY2xhc3Mg OmJhY2tncm91bmQgLGdyZWVuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorICAg IGAobW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93 LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAobW9kdXMtdGhlbWUtYWN0 aXZlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtYWN0aXZlIDpmb3JlZ3JvdW5kICxi Zy1hY3RpdmUpKSkNCisgICAgYChtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsbWFnZW50YS1hY3RpdmUgOmZvcmVncm91bmQgLGJnLWFjdGl2ZSkpKQ0KKyAg ICBgKG1vZHVzLXRoZW1lLWFjdGl2ZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWFj dGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQorOzs7OzsgbnVhbmNlZCBiYWNrZ3JvdW5k cw0KKyAgICA7OyB1c2VmdWwgZm9yIGFkZGluZyBhbiBhY2NlbnRlZCBiYWNrZ3JvdW5kIHRoYXQg aXMgc3VpdGFibGUgZm9yIGFsbA0KKyAgICA7OyBtYWluIGZvcmVncm91bmQgY29sb3JzIChpbnRl bmRlZCBmb3IgdXNlIGluIE9yZyBzb3VyY2UgYmxvY2tzKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW51 YW5jZWQtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1iZyA6ZXh0ZW5kIHQp KSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxncmVlbi1udWFuY2VkLWJnIDpleHRlbmQgdCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW51YW5j ZWQteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1iZyA6ZXh0ZW5k IHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJsdWUtbnVhbmNlZC1iZyA6ZXh0ZW5kIHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1udWFu Y2VkLW1hZ2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1iZyA6ZXh0 ZW5kIHQpKSkNCisgICAgYChtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4tbnVhbmNlZC1iZyA6ZXh0ZW5kIHQpKSkNCis7Ozs7OyBmcmluZ2Utc3BlY2lm aWMgY29tYmluYXRpb25zDQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLXJlZCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAscmVkLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tZnJp bmdlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZnJpbmdl LXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LWZyaW5nZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxibHVlLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRh LWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWZy aW5nZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWZyaW5nZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKzs7Ozs7IHNwZWNpYWwgYmFzZSB2YWx1ZXMNCisgICAgOzsgdGhlc2Ug YXJlIGNsb3NlciB0byB0aGUgZ3JheXNjYWxlIHRoYW4gdGhlIGFjY2VudHMgZGVmaW5lZCBhYm92 ZQ0KKyAgICA7OyBhbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVuIHRoZSBuZXh0IGNsb3Nlc3Qg YWx0ZXJuYXRpdmUgd291bGQgYmUNCisgICAgOzsgYSBncmV5c2NhbGUgdmFsdWUgdGhhbiBhbiBh Y2NlbnRlZCBvbmUNCisgICAgYChtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQorICAgIGAobW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1zcGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLXNwZWNpYWwtd2FybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC13 YXJtIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtb2R1cy10aGVtZS1z cGVjaWFsLWNhbG0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY2FsbSA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorOzs7OzsgZGlmZi1zcGVjaWZpYyBjb21iaW5hdGlv bnMNCisgICAgOzsgaW50ZW5kZWQgZm9yIGBkaWZmLW1vZGUnIG9yIGVxdWl2YWxlbnQNCisgICAg YChtb2R1cy10aGVtZS1kaWZmLWFkZGVkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctbWFpbiBncmVlbg0KKyAgICAgICAgICAgICAg ICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZA0KKyAgICAgICAgICAg ICAgICAgIGdyZWVuLW51YW5jZWQtYmcgZmctZGlmZi1hZGRlZA0KKyAgICAgICAgICAgICAgICAg IGJnLWRpZmYtZm9jdXMtYWRkZWQtZGV1dGVyYW4gZmctZGlmZi1mb2N1cy1hZGRlZC1kZXV0ZXJh bikpKSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQNCisgICAgICAoKCxjbGFzcyAs QChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1tYWluIHllbGxvdw0K KyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdlZCBmZy1kaWZmLWZvY3VzLWNo YW5nZWQNCisgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5n ZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZW1vdmVkDQorICAgICAgKCgsY2xhc3Mg LEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctbWFpbiByZWQNCisg ICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1v dmVkDQorICAgICAgICAgICAgICAgICAgcmVkLW51YW5jZWQtYmcgZmctZGlmZi1yZW1vdmVkKSkp KQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkDQorICAgICAgKCgsY2xhc3Mg LEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZCBm Zy1kaWZmLWFkZGVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtYWRkZWQgZmct ZGlmZi1yZWZpbmUtYWRkZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVk IGZnLWRpZmYtZm9jdXMtYWRkZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlZmluZS1h ZGRlZC1kZXV0ZXJhbiBmZy1kaWZmLXJlZmluZS1hZGRlZC1kZXV0ZXJhbikpKSkNCisgICAgYCht b2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2VkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYt Y2hhbmdlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVmaW5lLWNoYW5nZWQgZmctZGlm Zi1yZWZpbmUtY2hhbmdlZA0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hhbmdl ZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZp bmUtcmVtb3ZlZA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAg ICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCisgICAgICAgICAg ICAgICAgICBiZy1kaWZmLXJlZmluZS1yZW1vdmVkIGZnLWRpZmYtcmVmaW5lLXJlbW92ZWQNCisg ICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1v dmVkKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtYWRkZWQNCisgICAgICAoKCxj bGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICBiZy1kaW0gZ3Jl ZW4NCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkIGZnLWRpZmYtZm9jdXMt YWRkZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCisg ICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuIGZnLWRpZmYtZm9j dXMtYWRkZWQtZGV1dGVyYW4pKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1jaGFu Z2VkDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAg ICAgICAgYmctZGltIHllbGxvdw0KKyAgICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtY2hh bmdlZCBmZy1kaWZmLWZvY3VzLWNoYW5nZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWNo YW5nZWQgZmctZGlmZi1jaGFuZ2VkKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMt cmVtb3ZlZA0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAg ICAgICAgICAgIGJnLWRpbSByZWQNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLXJl bW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQorICAgICAgICAgICAgICAgICAgYmctZGlmZi1y ZW1vdmVkIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCisgICAgYChtb2R1cy10aGVtZS1kaWZmLWhlYWRp bmcNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAg ICAgICBiZy1tYWluIGJsdWUNCisgICAgICAgICAgICAgICAgICBiZy1kaWZmLWhlYWRpbmcgZmct ZGlmZi1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgY3lhbi1udWFuY2VkLWJnIGN5YW4tbnVh bmNlZC1mZw0KKyAgICAgICAgICAgICAgICAgIGJnLWhlYWRlciBmZy1tYWluDQorICAgICAgICAg ICAgICAgICAgdCkpKSkNCis7Ozs7OyBtYXJrIGluZGljYXRvcnMNCisgICAgOzsgY29sb3IgY29t YmluYXRpb25zIGludGVuZGVkIGZvciBEaXJlZCwgSWJ1ZmZlciwgb3IgZXF1aXZhbGVudA0KKyAg ICBgKG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW1hcmstYWx0ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmstYWx0IDpmb3JlZ3JvdW5kICxmZy1t YXJrLWFsdCkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLW1hcmstZGVsICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmstZGVsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWRlbCkp KQ0KKyAgICBgKG1vZHVzLXRoZW1lLW1hcmstc2VsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJh Y2tncm91bmQgLGJnLW1hcmstc2VsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLXNlbCkpKQ0KKyAgICBg KG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQorOzs7OzsgaGVhZGluZyBsZXZlbHMNCisgICAgOzsgc3R5bGVzIGZv ciByZWd1bGFyIGhlYWRpbmdzIHVzZWQgaW4gT3JnLCBNYXJrZG93biwgSW5mbywgZXRjLg0KKyAg ICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctMQ0KKyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0taGVhZGluZw0KKyAgICAgICAgICAgICAgICAgIDEgZmctbWFpbiBtYWdlbnRhLWFsdC1vdGhl ciBtYWdlbnRhLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVz LXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQorICAgIGAobW9kdXMtdGhl bWUtaGVhZGluZy0yDQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQor ICAgICAgICAgICAgICAgICAgMiBmZy1zcGVjaWFsLXdhcm0gbWFnZW50YS1hbHQgcmVkLW51YW5j ZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUg bW9kdXMtdGhlbWVzLXNjYWxlLTMpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0zDQor ICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAg ICAgMyBmZy1zcGVjaWFsLWNvbGQgYmx1ZSBibHVlLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTIp KSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy00DQorICAgICAgKCgsY2xhc3MgLEAobW9k dXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNCBmZy1zcGVjaWFsLW1pbGQg Y3lhbiBjeWFuLW51YW5jZWQtYmcgYmctcmVnaW9uKQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVz LXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTEpKSkpDQorICAgIGAobW9kdXMtdGhl bWUtaGVhZGluZy01DQorICAgICAgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQor ICAgICAgICAgICAgICAgICAgNSBmZy1zcGVjaWFsLWNhbG0gZ3JlZW4tYWx0LW90aGVyIGdyZWVu LW51YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctNg0K KyAgICAgICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0taGVhZGluZw0KKyAgICAgICAgICAgICAg ICAgIDYgeWVsbG93LW51YW5jZWQtZmcgeWVsbG93LWFsdC1vdGhlciB5ZWxsb3ctbnVhbmNlZC1i ZyBiZy1yZWdpb24pKSkpDQorICAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy03DQorICAgICAgKCgs Y2xhc3MgLEAobW9kdXMtdGhlbWVzLS1oZWFkaW5nDQorICAgICAgICAgICAgICAgICAgNyByZWQt bnVhbmNlZC1mZyByZWQtYWx0IHJlZC1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCisgICAgYCht b2R1cy10aGVtZS1oZWFkaW5nLTgNCisgICAgICAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWhl YWRpbmcNCisgICAgICAgICAgICAgICAgICA4IGZnLWRpbSBtYWdlbnRhIGJnLWFsdCBiZy1yZWdp b24pKSkpDQorOzs7OzsgZ3JhcGgtc3BlY2lmaWMgZmFjZXMNCisgICAgYChtb2R1cy10aGVtZS1n cmFwaC1yZWQtMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWdyYXBoLTAtYmcpKSkNCisgICAg YChtb2R1cy10aGVtZS1ncmFwaC1yZWQtMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLWdyYXBo LTEtYmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1ncmFwaC1ncmVlbi0wICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxncmVlbi1ncmFwaC0wLWJnKSkpDQorICAgIGAobW9kdXMtdGhlbWUtZ3JhcGgtZ3Jl ZW4tMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tZ3JhcGgtMS1iZykpKQ0KKyAgICBgKG1v ZHVzLXRoZW1lLWdyYXBoLXllbGxvdy0wICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctZ3Jh cGgtMC1iZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWdyYXBoLXllbGxvdy0xICgoLGNsYXNzIDpi YWNrZ3JvdW5kICx5ZWxsb3ctZ3JhcGgtMS1iZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWdyYXBo LWJsdWUtMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1ncmFwaC0wLWJnKSkpDQorICAgIGAo bW9kdXMtdGhlbWUtZ3JhcGgtYmx1ZS0xICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWdyYXBo LTEtYmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1ncmFwaC1tYWdlbnRhLTAgKCgsY2xhc3MgOmJh Y2tncm91bmQgLG1hZ2VudGEtZ3JhcGgtMC1iZykpKQ0KKyAgICBgKG1vZHVzLXRoZW1lLWdyYXBo LW1hZ2VudGEtMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1ncmFwaC0xLWJnKSkpDQor ICAgIGAobW9kdXMtdGhlbWUtZ3JhcGgtY3lhbi0wICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFu LWdyYXBoLTAtYmcpKSkNCisgICAgYChtb2R1cy10aGVtZS1ncmFwaC1jeWFuLTEgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGN5YW4tZ3JhcGgtMS1iZykpKQ0KKzs7Ozs7IGxhbmd1YWdlIGNoZWNrZXJz DQorICAgIGAobW9kdXMtdGhlbWUtbGFuZy1lcnJvciAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMt LWxhbmctY2hlY2sgZmctbGFuZy11bmRlcmxpbmUtZXJyb3IgZmctbGFuZy1lcnJvciByZWQgcmVk LW51YW5jZWQtYmcpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtbGFuZy1ub3RlICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tbGFuZy1jaGVjayBmZy1sYW5nLXVuZGVybGluZS1ub3RlIGZnLWxhbmct bm90ZSBibHVlLWFsdCBibHVlLW51YW5jZWQtYmcpKSkpDQorICAgIGAobW9kdXMtdGhlbWUtbGFu Zy13YXJuaW5nICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbGFuZy1jaGVjayBmZy1sYW5nLXVu ZGVybGluZS13YXJuaW5nIGZnLWxhbmctd2FybmluZyB5ZWxsb3cgeWVsbG93LW51YW5jZWQtYmcp KSkpDQorOzs7Ozsgb3RoZXIgY3VzdG9tIGZhY2VzDQorICAgIGAobW9kdXMtdGhlbWUtYm9sZCAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWJvbGQtd2VpZ2h0KSkpKQ0KKyAgICBgKG1vZHVzLXRo ZW1lLWhsLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLChpZiBtb2R1cy10aGVtZXMtaW50ZW5z ZS1obC1saW5lDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLWhsLWxpbmUtaW50ZW5zZSBiZy1obC1saW5lKQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOmV4dGVuZCB0KSkpDQorICAgIGAobW9kdXMtdGhlbWUtc2xhbnQg KCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpzbGFudCAsQChtb2R1cy10aGVtZXMtLXNsYW50KSkp KQ0KKyAgICBgKG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tdmFyaWFibGUtcGl0Y2gpKSkpDQorOzs7OyBzdGFuZGFyZCBmYWNlcw0KKzs7Ozs7IGFi c29sdXRlIGVzc2VudGlhbHMNCisgICAgYChkZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY3Vyc29yICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZnJpbmdlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tZnJpbmdlIGJnLW1haW4gYmctaW5hY3RpdmUgYmctYWN0aXZlKQ0KKyAgICAgICAgICAg ICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHZlcnRpY2FsLWJvcmRl ciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCis7Ozs7 OyBiYXNpYyBhbmQvb3IgdW5ncm91cGVkIHN0eWxlcw0KKyAgICBgKGJvbGQgKCgsY2xhc3MgOndl aWdodCBib2xkKSkpDQorICAgIGAoYm9sZC1pdGFsaWMgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQg aXRhbGljKSkpKQ0KKyAgICBgKGJ1ZmZlci1tZW51LWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkKSkpDQorICAgIGAoY29taW50LWhpZ2hsaWdodC1pbnB1dCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkKSkpDQorICAgIGAoY29taW50LWhpZ2hsaWdodC1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXRoZW1lcy0tcHJvbXB0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJsdWUtbnVhbmNlZC1iZyBibHVlLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGZnLW1haW4pKSkpDQorICAgIGAoZXJyb3Ig KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZXNjYXBl LWdseXBoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkN CisgICAgYChmaWxlLW5hbWUtc2hhZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3Vz ZWQpKSkNCisgICAgYChoZWFkZXItbGluZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXZhcmlh YmxlLXBpdGNoLXVpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxi Zy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KKyAgICBgKGhlYWRlci1saW5lLWhp Z2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KKyAg ICBgKGhlbHAtYXJndW1lbnQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFu dCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGhvbW9nbHlwaCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdC1mYWludCkpKQ0KKyAgICBgKGlidWZmZXItbG9ja2VkLWJ1ZmZlciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlci1mYWludCkpKQ0KKyAgICBgKGl0YWxp YyAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQorICAgIGAobm9icmVhay1oeXBoZW4gKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCkpKQ0KKyAgICBgKG5vYnJl YWstc3BhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCA6 dW5kZXJsaW5lIHQpKSkNCisgICAgYChtaW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLXByb21wdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5 YW4tYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1u dWFuY2VkLWJnIGN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFu LXJlZmluZS1iZyBmZy1tYWluKSkpKQ0KKyAgICBgKG1tLWNvbW1hbmQtb3V0cHV0ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAobW0tdXUtZXh0cmFjdCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkN CisgICAgYChuZXh0LWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1y ZWQpKSkNCisgICAgYChyZWN0YW5nbGUtcHJldmlldyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChyZWdpb24gKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1yZWdpb24gYmctcmVnaW9uIGZnLW1haW4gYmctaGwtYWx0LWludGVuc2UpKSkpDQorICAg IGAoc2Vjb25kYXJ5LXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLWNvbGQpKSkNCisgICAgYChzaGFkb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KKyAgICBgKHN1Y2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCisgICAgYCh0cmFpbGluZy13aGl0ZXNwYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxy ZWQtaW50ZW5zZS1iZykpKQ0KKyAgICBgKHdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgYnV0dG9ucywgbGlua3MsIHdpZGdldHMNCisg ICAgYChidXR0b24gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1saW5rDQorICAgICAgICAgICAg ICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyIGJsdWUtYWx0LW90aGVyLWZhaW50IGJnLXJlZ2lv bikpKSkNCisgICAgYChsaW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGxp bmstdmlzaXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50IGZn LWFsdCkpKSkNCisgICAgYCh0b29sdGlwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFs LWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh3aWRnZXQtYnV0dG9uICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKHdpZGdldC1idXR0b24tcHJlc3NlZCAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCisgICAgYCh3aWRnZXQt ZG9jdW1lbnRhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYCh3aWRn ZXQtZmllbGQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQorICAgIGAod2lkZ2V0LWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYCh3aWRnZXQtc2luZ2xlLWxp bmUtZmllbGQgKCgsY2xhc3MgOmluaGVyaXQgd2lkZ2V0LWZpZWxkKSkpDQorOzs7OzsgYWcNCisg ICAgYChhZy1oaXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQorICAgIGAoYWctbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLWNhbG0pKSkNCis7Ozs7OyBhbGVydA0KKyAgICBgKGFsZXJ0LWhpZ2gtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoYWxlcnQtbG93 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGFs ZXJ0LW1vZGVyYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQorICAgIGAoYWxlcnQtdHJpdmlhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChhbGVydC11cmdlbnQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KKzs7Ozs7IGFsbC10aGUtaWNv bnMNCisgICAgYChhbGwtdGhlLWljb25zLWJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCisgICAgYChhbGwtdGhlLWljb25zLWJsdWUtYWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtY3lhbi1hbHQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1kYmx1ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWRjeWFu ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUt aWNvbnMtZGdyZWVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisg ICAgYChhbGwtdGhlLWljb25zLWRpcmVkLWRpci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1kbWFyb29uICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZG9yYW5nZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMt ZHBpbmsgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhbGwtdGhlLWlj b25zLWRwdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAo YWxsLXRoZS1pY29ucy1kcmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChh bGwtdGhlLWljb25zLWRzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtZHllbGxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1ncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCisgICAgYChhbGwtdGhlLWljb25zLWxibHVlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbGN5YW4gKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tcmVmaW5lLWZnKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1s Z3JlZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KKyAgICBgKGFs bC10aGUtaWNvbnMtbG1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUt ZmcpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWxvcmFuZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZC1yZWZpbmUtZmcpKSkNCisgICAgYChhbGwtdGhlLWljb25zLWxwaW5rICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbHB1 cnBsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUtZmcpKSkNCisgICAgYChh bGwtdGhlLWljb25zLWxyZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1yZWZpbmUtZmcpKSkN CisgICAgYChhbGwtdGhlLWljb25zLWxzaWx2ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY29sZCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbHllbGxvdyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtbWFyb29u ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1v cmFuZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChhbGwtdGhlLWlj b25zLXBpbmsgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhbGwtdGhl LWljb25zLXB1cnBsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAg YChhbGwtdGhlLWljb25zLXB1cnBsZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQorICAgIGAoYWxsLXRoZS1pY29ucy1yZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtcmVkLWFsdCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGFsbC10aGUtaWNvbnMtc2lsdmVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChhbGwtdGhlLWljb25zLXllbGxv dyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7OzsgYW5ub3RhdGUNCisgICAg YChhbm5vdGF0ZS1hbm5vdGF0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1ibHVlKSkpDQorICAgIGAoYW5ub3RhdGUtYW5ub3RhdGlvbi1zZWNvbmRhcnkgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQorICAgIGAoYW5ub3RhdGUtaGln aGxpZ2h0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOnVuZGVybGluZSAs Ymx1ZS1pbnRlbnNlKSkpDQorICAgIGAoYW5ub3RhdGUtaGlnaGxpZ2h0LXNlY29uZGFyeSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tbnVhbmNlZC1iZyA6dW5kZXJsaW5lICxncmVlbi1pbnRl bnNlKSkpDQorOzs7OzsgYW56dQ0KKyAgICBgKGFuenUtbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKGFuenUtbWF0Y2gtMiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChhbnp1LW1hdGNo LTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KKyAgICBg KGFuenUtbW9kZS1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVu LWFjdGl2ZSkpKQ0KKyAgICBgKGFuenUtbW9kZS1saW5lLW5vLW1hdGNoICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChhbnp1LXJlcGxhY2Ut aGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVu ZGVybGluZSB0KSkpDQorICAgIGAoYW56dS1yZXBsYWNlLXRvICgoLGNsYXNzIDppbmhlcml0ICht b2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQorOzs7OzsgYXByb3Bvcw0KKyAgICBg KGFwcm9wb3MtZnVuY3Rpb24tYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1j b2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt YWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50KSkpKQ0KKyAgICBgKGFwcm9wb3Mta2V5 YmluZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAg IGAoYXByb3Bvcy1taXNjLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lh bi1hbHQtb3RoZXItZmFpbnQpKSkpDQorICAgIGAoYXByb3Bvcy1wcm9wZXJ0eSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAg ICBgKGFwcm9wb3Mtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoYXByb3Bvcy11c2VyLW9wdGlvbi1i dXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVu LWFsdC1vdGhlci1mYWludCkpKSkNCisgICAgYChhcHJvcG9zLXZhcmlhYmxlLWJ1dHRvbiAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBibHVlIGJsdWUtZmFpbnQpKSkpDQorOzs7OzsgYXB0LXNvdXJj ZXMtbGlzdA0KKyAgICBgKGFwdC1zb3VyY2VzLWxpc3QtY29tcG9uZW50cyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGFwdC1zb3VyY2VzLWxpc3Qtb3B0aW9ucyAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoYXB0LXNvdXJjZXMtbGlzdC1zdWl0ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChhcHQtc291cmNlcy1saXN0LXR5 cGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChhcHQtc291cmNlcy1s aXN0LXVyaSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKzs7Ozs7IGFydGJvbGxvY2tz LW1vZGUNCisgICAgYChhcnRib2xsb2Nrcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWxhbmctbm90ZSkpKQ0KKyAgICBgKGFydGJvbGxvY2tzLWxleGljYWwtaWxsdXNpb25zLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkLWFsdCA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYChhcnRib2xsb2Nrcy1wYXNzaXZlLXZvaWNlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy13YXJuaW5nKSkpDQorICAgIGAoYXJ0Ym9sbG9j a3Mtd2Vhc2VsLXdvcmRzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1l cnJvcikpKQ0KKzs7Ozs7IGF1Y3RleCBhbmQgVGV4DQorICAgIGAoZm9udC1sYXRleC1ib2xkLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkp DQorICAgIGAoZm9udC1sYXRleC1kb2N0ZXgtZG9jdW1lbnRhdGlvbi1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChmb250LWxhdGV4LWRvY3RleC1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAg IGAoZm9udC1sYXRleC1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtbWF0aC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZvbnQtbGF0ZXgt c2NyaXB0LWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN CisgICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkN CisgICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctMS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChi b2xkIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2Vk LWZnKSkpDQorICAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5nLTItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCAoYm9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJsdWUt bnVhbmNlZC1mZykpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2VjdGlvbmluZy0zLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5k ICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAgYChmb250LWxhdGV4LXNlY3Rpb25pbmctNC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9y ZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoZm9udC1sYXRleC1zZWN0aW9uaW5n LTUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9y ZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoZm9udC1sYXRleC1zZWRhdGUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlcikpKQ0KKyAgICBgKGZvbnQtbGF0ZXgtc2xpZGUtdGl0bGUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQg LGN5YW4tbnVhbmNlZC1mZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1zY2FsZS00KSkpKQ0KKyAg ICBgKGZvbnQtbGF0ZXgtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXN0 cmluZy1mYWNlKSkpDQorICAgIGAoZm9udC1sYXRleC1zdWJzY3JpcHQtZmFjZSAoKCxjbGFzcyA6 aGVpZ2h0IDAuOTUpKSkNCisgICAgYChmb250LWxhdGV4LXN1cGVyc2NyaXB0LWZhY2UgKCgsY2xh c3MgOmhlaWdodCAwLjk1KSkpDQorICAgIGAoZm9udC1sYXRleC12ZXJiYXRpbS1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0K KyAgICBgKGZvbnQtbGF0ZXgtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay13YXJuaW5nLWZhY2UpKSkNCisgICAgYCh0ZXgtbWF0Y2ggKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAodGV4LXZlcmJhdGltICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKHRleGlu Zm8taGVhZGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKFRlWC1l cnJvci1kZXNjcmlwdGlvbi1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBg KFRlWC1lcnJvci1kZXNjcmlwdGlvbi1oZWxwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkp DQorICAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXRleC1zYWlkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQorICAgIGAoVGVYLWVycm9yLWRlc2NyaXB0aW9uLXdhcm5pbmcgKCgsY2xh c3MgOmluaGVyaXQgd2FybmluZykpKQ0KKzs7Ozs7IGF1dG8tZGltLW90aGVyLWJ1ZmZlcnMNCisg ICAgYChhdXRvLWRpbS1vdGhlci1idWZmZXJzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KKzs7Ozs7IGF2eQ0KKyAgICBgKGF2eS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAoYXZ5LWdv dG8tY2hhci10aW1lci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNl LXllbGxvdyBib2xkKSkpKQ0KKyAgICBgKGF2eS1sZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg KG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0KKyAgICBgKGF2eS1sZWFkLWZh Y2UtMCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlIGJvbGQpKSkp DQorICAgIGAoYXZ5LWxlYWQtZmFjZS0xICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1p bnRlbnNlLXJlZCBib2xkKSkpKQ0KKyAgICBgKGF2eS1sZWFkLWZhY2UtMiAoKCxjbGFzcyA6aW5o ZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KKzs7Ozs7IGF3IChhY2Ut d2luZG93KQ0KKyAgICBgKGF3LWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChhdy1rZXktZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCisgICAgYChhdy1s ZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS41IDpzbGFu dCBub3JtYWwgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkp DQorICAgIGAoYXctbWluaWJ1ZmZlci1sZWFkaW5nLWNoYXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChhdy1tb2RlLWxpbmUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkKSkpDQorOzs7OzsgYXdlc29tZS10cmF5DQorICAgIGAoYXdlc29tZS10 cmF5LW1vZHVsZS1hd2Vzb21lLXRhYi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWJhdHRl cnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYnVmZmVyLW5hbWUtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAo YXdlc29tZS10cmF5LW1vZHVsZS1jaXJjZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1kYXRlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAo YXdlc29tZS10cmF5LW1vZHVsZS1ldmlsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1naXQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo YXdlc29tZS10cmF5LW1vZHVsZS1sYXN0LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1t b2R1bGUtbG9jYXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCisgICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLW1vZGUtbmFtZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoYXdlc29tZS10 cmF5LW1vZHVsZS1wYXJlbnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtcnZtLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCis7Ozs7 OyBiYmRiDQorICAgIGAoYmJkYi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dC1vdGhlcikpKQ0KKyAgICBgKGJiZGItb3JnYW5pemF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoYmJkYi1maWVsZC1uYW1lICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGJpbmRlcg0KKyAgICBgKGJpbmRlci1z aWRlYmFyLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lh bikpKQ0KKyAgICBgKGJpbmRlci1zaWRlYmFyLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1tYXJrLXNlbCkpKQ0KKyAgICBgKGJpbmRlci1zaWRlYmFyLW1pc3NpbmcgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKGJpbmRlci1zaWRl YmFyLXRhZ3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7Ozs7OyBibQ0KKyAgICBg KGJtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdyA6ZXh0 ZW5kIHQpKSkNCisgICAgYChibS1mcmluZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoYm0tZnJpbmdlLXBlcnNpc3RlbnQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtYmx1ZSkpKQ0KKyAgICBgKGJtLXBl cnNpc3RlbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUg OmV4dGVuZCB0KSkpDQorOzs7OzsgYm9uZ28NCisgICAgYChib25nby1hbGJ1bS10aXRsZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGJvbmdvLWFydGlzdCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChib25nby1jdXJy ZW50bHktcGxheWluZy10cmFjayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoYm9u Z28tZWxhcHNlZC10cmFjay1wYXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1tYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGJvbmdvLWZpbGxlZC1zZWVrLWJhciAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoYm9uZ28tbWFya2VkLXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YXJrLWFsdCkpKQ0KKyAgICBgKGJvbmdvLW1hcmtlZC10cmFjay1saW5lICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1tYXJrLWFsdCkpKQ0KKyAgICBgKGJvbmdvLXBsYXllZC10cmFjayAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkIDpzdHJpa2UtdGhyb3VnaCB0KSkpDQorICAgIGAo Ym9uZ28tdHJhY2stbGVuZ3RoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisg ICAgYChib25nby10cmFjay10aXRsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUp KSkNCisgICAgYChib25nby11bmZpbGxlZC1zZWVrLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Ymctc3BlY2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorOzs7OzsgYm9vbg0KKyAg ICBgKGJvb24tbW9kZWxpbmUtY21kICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2 ZS1ibHVlKSkpDQorICAgIGAoYm9vbi1tb2RlbGluZS1pbnMgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KKyAgICBgKGJvb24tbW9kZWxpbmUtb2ZmICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCisgICAgYChib29uLW1vZGVs aW5lLXNwYyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCis7 Ozs7OyBicmVha3BvaW50IChidWlsdC1pbiBnZGItbWkuZWwpDQorICAgIGAoYnJlYWtwb2ludC1k aXNhYmxlZCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChicmVha3BvaW50LWVu YWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorOzs7Ozsg YnVmZmVyLWV4cG9zZQ0KKyAgICBgKGJ1ZmZlci1leHBvc2UtYWNlLWNoYXItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoYnVmZmVy LWV4cG9zZS1tb2RlLWxpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUp KSkNCisgICAgYChidWZmZXItZXhwb3NlLXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQorOzs7OzsgY2FsZW5kYXIgYW5kIGRpYXJ5DQor ICAgIGAoY2FsZW5kYXItbW9udGgtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXBzZXVkby1oZWFkZXIpKSkNCisgICAgYChjYWxlbmRhci10b2RheSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGNhbGVuZGFyLXdlZWtkYXktaGVhZGVyICgo LGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGNhbGVuZGFyLXdlZWtlbmQtaGVhZGVy ICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGRpYXJ5ICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxncmVlbi1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkN CisgICAgYChkaWFyeS1hbm5pdmVyc2FyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1v dGhlcikpKQ0KKyAgICBgKGRpYXJ5LXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 KSkpDQorICAgIGAoaG9saWRheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1udWFuY2Vk LWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IGNhbGZ3DQorICAgIGAoY2Z3 OmZhY2UtYW5ub3RhdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkp DQorICAgIGAoY2Z3OmZhY2UtZGF5LXRpdGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorICAgIGAoY2Z3OmZhY2UtZGVmYXVsdC1jb250ZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hbHQpKSkNCisgICAgYChjZnc6ZmFjZS1kZWZhdWx0LWRheSAoKCxjbGFzcyA6aW5o ZXJpdCAoY2Z3OmZhY2UtZGF5LXRpdGxlIGJvbGQpKSkpDQorICAgIGAoY2Z3OmZhY2UtZGlzYWJs ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAoY2Z3OmZhY2Ut Z3JpZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCisg ICAgYChjZnc6ZmFjZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKGNmdzpmYWNlLWhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY2Z3OmZhY2UtcGVyaW9kcyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChjZnc6ZmFjZS1zYXR1cmRheSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGNmdzpmYWNlLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUpKSkNCisgICAgYChjZnc6ZmFjZS1zdW5kYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChjZnc6ZmFjZS10aXRsZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRoZW1lcy1z Y2FsZS01KSkpKQ0KKyAgICBgKGNmdzpmYWNlLXRvZGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1pbmFjdGl2ZSkpKQ0KKyAgICBgKGNmdzpmYWNlLXRvZGF5LXRpdGxlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChjZnc6ZmFjZS10b29sYmFyICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGNmdzpmYWNl LXRvb2xiYXItYnV0dG9uLW9mZiAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChj Znc6ZmFjZS10b29sYmFyLWJ1dHRvbi1vbiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3Jv dW5kICxibHVlLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCis7Ozs7OyBjZW50YXVyLXRhYnMNCisg ICAgYChjZW50YXVyLXRhYnMtYWN0aXZlLWJhci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxm Zy10YWItYWN0aXZlKSkpDQorICAgIGAoY2VudGF1ci10YWJzLWNsb3NlLW1vdXNlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6dW5kZXJsaW5lIHQp KSkNCisgICAgYChjZW50YXVyLXRhYnMtY2xvc2Utc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQg Y2VudGF1ci10YWJzLXNlbGVjdGVkKSkpDQorICAgIGAoY2VudGF1ci10YWJzLWNsb3NlLXVuc2Vs ZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQpKSkNCisgICAg YChjZW50YXVyLXRhYnMtbW9kaWZpZWQtbWFya2VyLXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0 IGNlbnRhdXItdGFicy1zZWxlY3RlZCkpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1tb2RpZmllZC1t YXJrZXItdW5zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtdW5zZWxlY3Rl ZCkpKQ0KKyAgICBgKGNlbnRhdXItdGFicy1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1tYWluIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQorICAgIGAoY2VudGF1ci10YWJzLXNlbGVj dGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChjZW50YXVyLXRhYnMtc2VsZWN0ZWQtbW9kaWZp ZWQgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLXRhYi1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQorICAgIGAoY2VudGF1ci10YWJzLXVuc2VsZWN0ZWQtbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVy aXQgaXRhbGljIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRp bSkpKQ0KKzs7Ozs7IGNmcnMNCisgICAgYChjZnJzLWJvcmRlci1jb2xvciAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCis7Ozs7OyBjaGFuZ2UtbG9nIGFu ZCBsb2ctdmlldyAoYHZjLXByaW50LWxvZycgYW5kIGB2Yy1wcmludC1yb290LWxvZycpDQorICAg IGAoY2hhbmdlLWxvZy1hY2tub3dsZWRnbWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQorICAgIGAoY2hhbmdlLWxvZy1jb25kaXRpb25hbHMgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KKyAgICBgKGNoYW5nZS1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKyAgICBgKGNoYW5nZS1sb2ctZW1haWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQorICAgIGAoY2hhbmdlLWxvZy1maWxlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNoYW5nZS1sb2ct ZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBg KGNoYW5nZS1sb2ctbGlzdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisg ICAgYChjaGFuZ2UtbG9nLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAobG9nLWVkaXQtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCisgICAgYChsb2ctZWRpdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChsb2ctZWRpdC11bmtub3duLWhlYWRl ciAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChsb2ctdmlldy1jb21taXQtYm9k eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobG9nLXZp ZXctZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNv bGQpKSkNCisgICAgYChsb2ctdmlldy1tZXNzYWdlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h bHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKzs7Ozs7IGNpZGVyDQorICAgIGAoY2lkZXItZGVi dWctY29kZS1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAg ICBgKGNpZGVyLWRlYnVnLXByb21wdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChjaWRlci1kZXByZWNhdGVkLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKGNpZGVyLWRv Y3ZpZXctZW1waGFzaXMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNpZGVyLWRvY3ZpZXctbGl0ZXJhbC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGNpZGVyLWRvY3ZpZXctc3Ry b25nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQorICAgIGAoY2lkZXItZG9jdmlldy10YWJsZS1ib3JkZXItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChjaWRlci1lbmxpZ2h0ZW5lZC1mYWNlICgoLGNsYXNz IDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAseWVsbG93LWFsdCA6c3R5bGUgbmlsKSA6YmFj a2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoY2lkZXItZW5saWdodGVuZWQtbG9jYWwtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQor ICAgIGAoY2lkZXItZXJyb3ItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChjaWRlci1mcmFnaWxlLWJ1dHRvbi1mYWNlICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1hbHQgOnN0eWxlIHJlbGVhc2VkLWJ1 dHRvbikgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGNpZGVyLWZyaW5nZS1nb29kLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGNpZGVyLWlu c3RydW1lbnRlZC1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAscmVk IDpzdHlsZSBuaWwpIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChjaWRlci1yZWFkZXIt Y29uZGl0aW9uYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGNpZGVyLXJlcGwtaW5wdXQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkKSkpDQorICAgIGAoY2lkZXItcmVwbC1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChjaWRlci1yZXBsLXN0ZGVyci1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGNp ZGVyLXJlcGwtc3Rkb3V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAg YChjaWRlci1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0x IDpjb2xvciAsYmx1ZSA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAo Y2lkZXItc3RhY2t0cmFjZS1lcnJvci1jbGFzcy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZXJyb3ItbWVzc2Fn ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhl cikpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVyLWFjdGl2ZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChjaWRl ci1zdGFja3RyYWNlLWZpbHRlci1pbmFjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuLWFsdCkpKQ0KKyAgICBgKGNpZGVyLXN0YWNrdHJhY2UtZm4tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoY2lkZXItc3RhY2t0cmFj ZS1ucy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQorICAgIGAoY2lkZXItc3RhY2t0cmFjZS1wcm9tb3RlZC1idXR0b24tZmFjZSAoKCxjbGFzcyA6 Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNlZC1idXR0b24p IDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChjaWRlci1zdGFja3RyYWNlLXN1cHByZXNzZWQt YnV0dG9uLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMyA6Y29sb3IgLGZnLWFsdCA6 c3R5bGUgcHJlc3NlZC1idXR0b24pDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KKyAgICBgKGNpZGVyLXRlc3QtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAgIGAoY2lkZXItdGVzdC1mYWlsdXJlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQorICAg IGAoY2lkZXItdGVzdC1zdWNjZXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGNpZGVyLXRyYWNlZC1mYWNlICgoLGNsYXNzIDpib3gg KDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsY3lhbiA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmct ZGltKSkpDQorICAgIGAoY2lkZXItd2FybmluZy1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IGNpcmNlIChhbmQgbHVpKQ0K KyAgICBgKGNpcmNlLWZvb2wtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAg YChjaXJjZS1oaWdobGlnaHQtbmljay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGJsdWUpKSkNCisgICAgYChjaXJjZS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGNpcmNlLXNlcnZl ci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYChsdWkt YnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobHVpLWhpZ2hs aWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGx1 aS10aW1lLXN0YW1wLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykp KQ0KKzs7Ozs7IGNvbG9yLXJnDQorICAgIGAoY29sb3ItcmctZm9udC1sb2NrLWNvbHVtbi1udW1i ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY29s b3ItcmctZm9udC1sb2NrLWNvbW1hbmQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1maWxlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGNvbG9y LXJnLWZvbnQtbG9jay1mbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LWJsdWUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stZnVuY3Rpb24tbG9jYXRpb24gKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorICAgIGAoY29sb3It cmctZm9udC1sb2NrLWhlYWRlci1saW5lLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hY3RpdmUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUtZWRp dC1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKGNv bG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS1rZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVyLWxpbmUt dGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoY29sb3Itcmct Zm9udC1sb2NrLWxpbmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stbWFyay1jaGFuZ2VkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChjb2xvci1yZy1mb250LWxv Y2stbWFyay1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkp KQ0KKyAgICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChjb2xvci1yZy1mb250LWxvY2stcG9zaXRp b24tc3BsaXR0ZXIgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorOzs7OzsgY29sdW1uLWVu Zm9yY2UtbW9kZQ0KKyAgICBgKGNvbHVtbi1lbmZvcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKzs7Ozs7IGNvbXBhbnktbW9kZQ0KKyAgICBg KGNvbXBhbnktZWNoby1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAoY29tcGFueS1wcmV2aWV3ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGNvbXBhbnktcHJldmlldy1jb21tb24g KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoY29tcGFueS1wcmV2aWV3 LXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisg ICAgYChjb21wYW55LXNjcm9sbGJhci1iZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZl KSkpDQorICAgIGAoY29tcGFueS1zY3JvbGxiYXItZmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZn LWFjdGl2ZSkpKQ0KKyAgICBgKGNvbXBhbnktdGVtcGxhdGUtZmllbGQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAoY29tcGFueS10b29sdGlw ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAg ICBgKGNvbXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChjb21wYW55 LXRvb2x0aXAtYW5ub3RhdGlvbi1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1jb21tb24gKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChjb21wYW55 LXRvb2x0aXAtY29tbW9uLXNlbGVjdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKGNvbXBhbnktdG9vbHRpcC1tb3VzZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChjb21wYW55LXRvb2x0aXAtc2VhcmNoICgoLGNs YXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBib2xkKSkpKQ0KKyAgICBgKGNv bXBhbnktdG9vbHRpcC1zZWFyY2gtc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10 aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGNvbXBhbnkt dG9vbHRpcC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1j eWFuIGJvbGQpKSkpDQorOzs7OzsgY29tcGFueS1wb3NmcmFtZQ0KKyAgICBgKGNvbXBhbnktcG9z ZnJhbWUtYWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAoY29tcGFu eS1wb3NmcmFtZS1pbmFjdGl2ZS1iYWNrZW5kLW5hbWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoY29tcGFueS1wb3NmcmFt ZS1tZXRhZGF0YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQorOzs7OzsgY29tcGlsYXRpb24gZmVlZGJhY2sNCisgICAgYChjb21w aWxhdGlvbi1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1v dGhlcikpKQ0KKyAgICBgKGNvbXBpbGF0aW9uLWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGNvbXBpbGF0aW9uLWluZm8g KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQorICAgIGAoY29tcGlsYXRpb24tbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGNvbXBpbGF0aW9uLW1vZGUtbGluZS1l eGl0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWN0aXZlKSkpDQorICAgIGAoY29tcGlsYXRpb24tbW9kZS1saW5lLWZhaWwgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBg KGNvbXBpbGF0aW9uLW1vZGUtbGluZS1ydW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChjb21waWxhdGlvbi13 YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KKzs7Ozs7IGNvbXBsZXRpb25zDQorICAgIGAoY29tcGxldGlvbnMtYW5ub3RhdGlv bnMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGN5YW4t ZmFpbnQpKSkNCisgICAgYChjb21wbGV0aW9ucy1jb21tb24tcGFydCAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1udWFuY2VkLWJnDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUt ZmcpKSkpDQorICAgIGAoY29tcGxldGlvbnMtZmlyc3QtZGlmZmVyZW5jZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBibHVlLW51YW5jZWQtYmcN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEt aW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0KKzs7Ozs7IGNvbnN1bHQNCisgICAgYChjb25zdWx0LWFz eW5jLXJ1bm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K KyAgICBgKGNvbnN1bHQtYXN5bmMtc3BsaXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQorICAgIGAoY29uc3VsdC1ib29rbWFyayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZSkpKQ0KKyAgICBgKGNvbnN1bHQtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQorICAgIGAoY29uc3VsdC1pbWVudS1wcmVmaXggKCgsY2xhc3MgOmluaGVyaXQg c2hhZG93KSkpDQorICAgIGAoY29uc3VsdC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWVzLWJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoY29uc3Vs dC1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQor ICAgIGAoY29uc3VsdC1saW5lLW51bWJlci1wcmVmaXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCkpKQ0KKyAgICBgKGNvbnN1bHQtbmFycm93LWluZGljYXRvciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChjb25zdWx0LXByZXZpZXctY3Vyc29y ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KKyAgICBgKGNv bnN1bHQtcHJldmlldy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCkpKQ0KKyAgICBgKGNvbnN1bHQtcHJldmlldy1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1obC1hbHQtaW50ZW5zZSkpKQ0KKzs7Ozs7IGNvdW5zZWwNCisgICAgYChjb3Vuc2VsLWFj dGl2ZS1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAg ICBgKGNvdW5zZWwtYXBwbGljYXRpb24tbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KKyAgICBgKGNvdW5zZWwta2V5LWJpbmRpbmcgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChjb3Vuc2VsLW91dGxp bmUtMSAoKCxjbGFzcyA6aW5oZXJpdCBvcmctbGV2ZWwtMSkpKQ0KKyAgICBgKGNvdW5zZWwtb3V0 bGluZS0yICgoLGNsYXNzIDppbmhlcml0IG9yZy1sZXZlbC0yKSkpDQorICAgIGAoY291bnNlbC1v dXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWxldmVsLTMpKSkNCisgICAgYChjb3Vuc2Vs LW91dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBvcmctbGV2ZWwtNCkpKQ0KKyAgICBgKGNvdW5z ZWwtb3V0bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG9yZy1sZXZlbC01KSkpDQorICAgIGAoY291 bnNlbC1vdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWxldmVsLTYpKSkNCisgICAgYChj b3Vuc2VsLW91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBvcmctbGV2ZWwtNykpKQ0KKyAgICBg KGNvdW5zZWwtb3V0bGluZS04ICgoLGNsYXNzIDppbmhlcml0IG9yZy1sZXZlbC04KSkpDQorICAg IGAoY291bnNlbC1vdXRsaW5lLWRlZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCisgICAgYChjb3Vuc2VsLXZhcmlhYmxlLWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCis7 Ozs7OyBjb3Vuc2VsLWNzcw0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2Ut MSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVj dG9yLWRlcHRoLWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGNv dW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCisgICAgYChjb3Vuc2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRo LWZhY2UtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGNvdW5zZWwt Y3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQor Ozs7OzsgY291bnNlbC1ub3RtdWNoDQorICAgIGAoY291bnNlbC1ub3RtdWNoLWNvdW50LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChjb3Vuc2VsLW5vdG11Y2gtZGF0 ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoY291bnNlbC1ub3Rt dWNoLXBlb3BsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAo Y291bnNlbC1ub3RtdWNoLXN1YmplY3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0cmluZw0KKyAgICBg KGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nLXRlbXBsYXRlLWJvZHktZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorOzs7OzsgY292DQorICAgIGAoY292LWNv dmVyYWdlLW5vdC1ydW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkN CisgICAgYChjb3YtY292ZXJhZ2UtcnVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWludGVuc2UpKSkNCisgICAgYChjb3YtaGVhdnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAoY292LWxpZ2h0LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBgKGNvdi1tZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCisgICAgYChjb3Ytbm9uZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCis7Ozs7OyBjcGVybC1tb2RlDQorICAgIGAo Y3Blcmwtbm9ub3ZlcnJpZGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCB1bnNwZWNpZmll ZCkpKQ0KKyAgICBgKGNwZXJsLWFycmF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKGNwZXJsLWhhc2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorOzs7OzsgY3N2LW1vZGUNCisgICAg YChjc3Ytc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29s ZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGN0cmxmDQorICAgIGAoY3RybGYtaGln aGxpZ2h0LWFjdGl2ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl biBib2xkKSkpKQ0KKyAgICBgKGN0cmxmLWhpZ2hsaWdodC1saW5lICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCisgICAgYChjdHJsZi1oaWdobGlnaHQtcGFzc2l2ZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKzs7Ozs7IGN1c3Rv bSAoTS14IGN1c3RvbWl6ZSkNCisgICAgYChjdXN0b20tYnV0dG9uICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKGN1c3RvbS1idXR0b24tbW91c2UgKCgsY2xhc3MgOmJveCAoOmxp bmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChjdXN0b20tYnV0dG9uLXByZXNzZWQgKCgsY2xhc3Mg OmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSBwcmVzc2VkLWJ1dHRvbikNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGN1c3RvbS1jaGFuZ2VkICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAoY3VzdG9tLWNvbW1l bnQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoY3VzdG9tLWNvbW1lbnQtdGFn ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3Ro ZXIpKSkNCisgICAgYChjdXN0b20tZmFjZS10YWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAoY3VzdG9tLWdyb3VwLXRhZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAoY3Vz dG9tLWdyb3VwLXRhZy0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2Fy bSkpKQ0KKyAgICBgKGN1c3RvbS1pbnZhbGlkICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVt ZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KKyAgICBgKGN1c3RvbS1tb2RpZmllZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKGN1c3RvbS1yb2d1ZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKGN1 c3RvbS1zZXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAgIGAoY3VzdG9t LXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGN1 c3RvbS10aGVtZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkN CisgICAgYChjdXN0b20tdmFyaWFibGUtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCis7Ozs7OyBkYXAtbW9kZQ0KKyAgICBgKGRhcC1tb3VzZS1ldmFsLXRo aW5nLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxibHVlLWFjdGl2 ZSA6c3R5bGUgbmlsKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRh cC1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xv ciAsYmctYWN0aXZlIDpzdHlsZSBuaWwpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKGRhcC11aS1icmVha3BvaW50LXZlcmlmaWVkLWZyaW5nZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChkYXAtdWktY29tcGls ZS1lcnJsaW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNl KSkpDQorICAgIGAoZGFwLXVpLWxvY2Fscy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEgOnVuZGVybGluZSB0KSkpDQorICAgIGAoZGFwLXVpLWxv Y2Fscy12YXJpYWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4pKSkNCisgICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxlLWxlYWYtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZGFw LXVpLW1hcmtlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVl KSkpDQorICAgIGAoZGFwLXVpLXNlc3Npb25zLXN0YWNrLWZyYW1lLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChkYXAtdWktc2Vz c2lvbnMtdGVybWluYXRlZC1hY3RpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChkYXAtdWktc2Vzc2lvbnMtdGVybWluYXRlZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKzs7Ozs7IGRhc2hib2FyZCAoZW1hY3MtZGFz aGJvYXJkKQ0KKyAgICBgKGRhc2hib2FyZC1iYW5uZXItbG9nby10aXRsZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChkYXNoYm9h cmQtZm9vdGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt bWlsZCkpKQ0KKyAgICBgKGRhc2hib2FyZC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGRhc2hib2FyZC1uYXZpZ2F0 b3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoZGFzaGJv YXJkLXRleHQtYmFubmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCis7Ozs7OyBk ZWFkZ3JlcA0KKyAgICBgKGRlYWRncmVwLWZpbGVuYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGVhZGdyZXAtbWF0 Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisg ICAgYChkZWFkZ3JlcC1tZXRhLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAg IGAoZGVhZGdyZXAtcmVnZXhwLW1ldGFjaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93LWludGVuc2UpKSkNCisgICAgYChkZWFkZ3JlcC1zZWFyY2gtdGVy bS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2Up KSkNCis7Ozs7OyBkZWJidWdzDQorICAgIGAoZGViYnVncy1nbnUtYXJjaGl2ZWQgKCgsY2xhc3Mg OmludmVyc2UtdmlkZW8gdCkpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LWRvbmUgKCgsY2xhc3MgOmlu aGVyaXQgc2hhZG93KSkpDQorICAgIGAoZGViYnVncy1nbnUtZm9yd2FyZGVkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChkZWJidWdzLWdudS1oYW5kbGVk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LW5ldyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZGViYnVncy1nbnUtcGVuZGluZyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTEg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAoZGViYnVn cy1nbnUtc3RhbGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZGVi YnVncy1nbnUtc3RhbGUtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAg ICBgKGRlYmJ1Z3MtZ251LXN0YWxlLTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIpKSkNCisgICAgYChkZWJidWdzLWdudS1zdGFsZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWx0KSkpDQorICAgIGAoZGViYnVncy1nbnUtdGFnZ2VkICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IGRlZmluZS13b3JkDQorICAgIGAoZGVmaW5lLXdv cmQtZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkZWZpbmUt d29yZC1mYWNlLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBkZWZ0 DQorICAgIGAoZGVmdC1maWx0ZXItc3RyaW5nLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KKyAgICBgKGRlZnQtZmlsdGVyLXN0cmluZy1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAoZGVmdC1oZWFk ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCisgICAgYChkZWZ0LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRv dykpKQ0KKyAgICBgKGRlZnQtc3VtbWFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChkZWZ0LXRpbWUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGVmdC10aXRs ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7 Ozs7OyBkaWN0aW9uYXJ5DQorICAgIGAoZGljdGlvbmFyeS1idXR0b24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChkaWN0 aW9uYXJ5LXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBg KGRpY3Rpb25hcnktd29yZC1kZWZpbml0aW9uLWZhY2UgKCgsY2xhc3MpKSkNCisgICAgYChkaWN0 aW9uYXJ5LXdvcmQtZW50cnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVu dC1mYWNlKSkpDQorOzs7OzsgZGlmZi1obA0KKyAgICBgKGRpZmYtaGwtY2hhbmdlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCisgICAgYChkaWZmLWhsLWRl bGV0ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQorICAgIGAo ZGlmZi1obC1kaXJlZC1jaGFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgZGlmZi1obC1jaGFuZ2UpKSkN CisgICAgYChkaWZmLWhsLWRpcmVkLWRlbGV0ZSAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWhsLWRl bGV0ZSkpKQ0KKyAgICBgKGRpZmYtaGwtZGlyZWQtaWdub3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBk aXJlZC1pZ25vcmVkKSkpDQorICAgIGAoZGlmZi1obC1kaXJlZC1pbnNlcnQgKCgsY2xhc3MgOmlu aGVyaXQgZGlmZi1obC1pbnNlcnQpKSkNCisgICAgYChkaWZmLWhsLWRpcmVkLXVua25vd24gKCgs Y2xhc3MgOmluaGVyaXQgZGlyZWQtaWdub3JlZCkpKQ0KKyAgICBgKGRpZmYtaGwtaW5zZXJ0ICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGRpZmYt aGwtcmV2ZXJ0ZWQtaHVuay1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWFjdGl2ZS1tYWdlbnRhIGJvbGQpKSkpDQorOzs7OzsgZGlmZi1tb2RlDQorICAgIGAoZGlmZi1h ZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQorICAgIGAo ZGlmZi1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCA6 ZXh0ZW5kIHQpKSkNCisgICAgYChkaWZmLWNvbnRleHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVz LS1kaWZmLXRleHQgZmctbWFpbiBmZy11bmZvY3VzZWQpKSkpDQorICAgIGAoZGlmZi1lcnJvciAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KKyAgICBgKGRpZmYt ZmlsZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgZGlmZi1oZWFkZXIpKSkpDQorICAg IGAoZGlmZi1mdW5jdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWhlYWRp bmcpKSkNCisgICAgYChkaWZmLWhlYWRlciAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYt dGV4dCBjeWFuLWZhaW50IGZnLW1haW4pKSkpDQorICAgIGAoZGlmZi1odW5rLWhlYWRlciAoKCxj bGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1kaWZmLWhlYWRpbmcpKSkpDQorICAgIGAo ZGlmZi1pbmRleCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkp KQ0KKyAgICBgKGRpZmYtaW5kaWNhdG9yLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IChkaWZmLWFk ZGVkIGJvbGQpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91 bmQgLEAobW9kdXMtdGhlbWVzLS1kaWZmLWRldXRlcmFuIGJsdWUgZ3JlZW4pKSkpDQorICAgIGAo ZGlmZi1pbmRpY2F0b3ItY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCAoZGlmZi1jaGFuZ2VkIGJv bGQpIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkaWZmLWluZGljYXRvci1yZW1vdmVk ICgoLGNsYXNzIDppbmhlcml0IChkaWZmLXJlbW92ZWQgYm9sZCkgOmZvcmVncm91bmQgLHJlZCkp KQ0KKyAgICBgKGRpZmYtbm9uZXhpc3RlbnQgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LW5ldXRyYWwgYm9sZCkpKSkNCisgICAgYChkaWZmLXJlZmluZS1hZGRlZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1hZGRlZCkpKQ0KKyAgICBgKGRpZmYtcmVmaW5l LWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdl ZCkpKQ0KKyAgICBgKGRpZmYtcmVmaW5lLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0KKyAgICBgKGRpZmYtcmVtb3ZlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCis7Ozs7OyBkaW0tYXV0b2xv YWQNCisgICAgYChkaW0tYXV0b2xvYWQtY29va2llLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgZm9u dC1sb2NrLWNvbW1lbnQtZmFjZSkpKQ0KKzs7Ozs7IGRpci10cmVldmlldw0KKyAgICBgKGRpci10 cmVldmlldy1hcmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2Fy bSkpKQ0KKyAgICBgKGRpci10cmVldmlldy1hcmNoaXZlLWljb24tZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KKyAgICBgKGRpci10cmVldmlldy1hdWRpby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWF1ZGlvLWljb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWNvbnRyb2wtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBzaGFkb3cpKSkNCisgICAgYChkaXItdHJlZXZpZXctY29udHJvbC1tb3VzZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGhpZ2hsaWdodCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1kZWZhdWx0 LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmYW1pbHkgIkZvbnQgQXdlc29tZSIg OmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1kZWZhdWx0LWZpbGVu YW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChkaXItdHJl ZXZpZXctZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAg YChkaXItdHJlZXZpZXctZGlyZWN0b3J5LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXIt dHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQorICAg IGAoZGlyLXRyZWV2aWV3LWV4ZWN1dGFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1leGVjdXRhYmxlLWljb24tZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZvcmVncm91bmQgLHJl ZC1hbHQtb3RoZXIpKSkNCisgICAgYChkaXItdHJlZXZpZXctaW1hZ2UtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAoZGlyLXRyZWV2aWV3LWltYWdl LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZh Y2UgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKGRpci10cmVldmlldy1pbmRlbnQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChkaXItdHJlZXZpZXctbGFi ZWwtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdobGlnaHQpKSkNCisgICAgYChkaXIt dHJlZXZpZXctc3RhcnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNl dWRvLWhlYWRlcikpKQ0KKyAgICBgKGRpci10cmVldmlldy1zeW1saW5rLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCisgICAgYChkaXItdHJlZXZp ZXctdmlkZW8tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN CisgICAgYChkaXItdHJlZXZpZXctdmlkZW8taWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRp ci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCis7Ozs7OyBkaXJlZA0KKyAgICBgKGRpcmVkLWJyb2tlbi1zeW1saW5rICgoLGNsYXNz IDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZGlyZWQtZGlyZWN0 b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoZGlyZWQtZmxhZ2dlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBgKGRpcmVkLWhl YWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQorICAg IGAoZGlyZWQtaWdub3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChkaXJl ZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQorICAg IGAoZGlyZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkp DQorICAgIGAoZGlyZWQtcGVybS13cml0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQorICAgIGAoZGlyZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24N CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xv cg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFp bnQpKSkpDQorICAgIGAoZGlyZWQtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyBkaXJlZC1hc3luYw0KKyAgICBgKGRpcmVkLWFzeW5j LWZhaWx1cmVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQg LHJlZC1hY3RpdmUpKSkNCisgICAgYChkaXJlZC1hc3luYy1tZXNzYWdlICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBg KGRpcmVkLWFzeW5jLW1vZGUtbWVzc2FnZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1i b2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKzs7Ozs7IGRpcmVkLWdpdA0KKyAgICBg KGRpcmVkLWdpdC1icmFuY2gtZWxzZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGRpcmVkLWdpdC1icmFuY2gtbWFzdGVyICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorOzs7Ozsg ZGlyZWQtZ2l0LWluZm8NCisgICAgYChkZ2ktY29tbWl0LW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorOzs7OzsgZGlyZWQtbmFycm93DQorICAg IGAoZGlyZWQtbmFycm93LWJsaW5rICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0 bGUtY3lhbiBib2xkKSkpKQ0KKzs7Ozs7IGRpcmVkLXN1YnRyZWUNCisgICAgOzsgcmVtb3ZlIGJh Y2tncm91bmRzIGZyb20gZGlyZWQtc3VidHJlZSBmYWNlcywgZWxzZSB0aGV5IGJyZWFrDQorICAg IDs7IGRpcmVkLXtmbGFnZ2VkLG1hcmtlZH0gYW5kIGFueSBvdGhlciBmYWNlIHRoYXQgc2V0cyBh IGJhY2tncm91bmQNCisgICAgOzsgc3VjaCBhcyBobC1saW5lLiAgQWxzbywgZGVub3RpbmcgZGVw dGggYnkgdmFyeWluZyBzaGFkZXMgb2YgZ3JheQ0KKyAgICA7OyBpcyBub3QgZ29vZCBmb3IgYWNj ZXNzaWJpbGl0eS4NCisgICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTEtZmFjZSAoKCkpKQ0KKyAg ICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNlICgoKSkpDQorICAgIGAoZGlyZWQtc3VidHJl ZS1kZXB0aC0zLWZhY2UgKCgpKSkNCisgICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTQtZmFjZSAo KCkpKQ0KKyAgICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtNS1mYWNlICgoKSkpDQorICAgIGAoZGly ZWQtc3VidHJlZS1kZXB0aC02LWZhY2UgKCgpKSkNCis7Ozs7OyBkaXJlZGMNCisgICAgYChkaXJl ZGMtZmFjZS1jaG1vZC1mb250LWxvY2stZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dCkpKQ0KKyAgICBgKGRpcmVkYy1mYWNlLWNobW9kLWZvbnQtbG9jay1leGVjICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZGlyZWRjLWZhY2UtY2htb2QtZm9udC1sb2Nr LXJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChkaXJlZGMtZmFj ZS1jaG1vZC1mb250LWxvY2std3JpdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCis7 Ozs7OyBkaXJlZGZsDQorICAgIGAoZGlyZWRmbC1hdXRvZmlsZS1uYW1lICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGRpcmVkZmwtY29tcHJlc3Nl ZC1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAg ICBgKGRpcmVkZmwtY29tcHJlc3NlZC1maWxlLXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KKyAgICBgKGRpcmVkZmwtZGF0ZS10aW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGRpcmVkZmwtZGVsZXRpb24gKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtbWFyay1kZWwpKSkNCisgICAgYChkaXJlZGZsLWRlbGV0aW9uLWZp bGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBg KGRpcmVkZmwtZGlyLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNldWRv LWhlYWRlcikpKQ0KKyAgICBgKGRpcmVkZmwtZGlyLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgZGly ZWQtZGlyZWN0b3J5KSkpDQorICAgIGAoZGlyZWRmbC1kaXItcHJpdiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChkaXJlZGZsLWV4ZWMtcHJpdiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGRpcmVkZmwtZXhlY3V0YWJsZS10YWcgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoZGlyZWRmbC1maWxlLW5hbWUg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChkaXJlZGZsLWZpbGUtc3Vm Zml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZGlyZWRmbC1mbGFnLW1h cmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCisgICAgYChkaXJl ZGZsLWZsYWctbWFyay1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2Vs KSkpDQorICAgIGAoZGlyZWRmbC1pZ25vcmVkLWZpbGUtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBz aGFkb3cpKSkNCisgICAgYChkaXJlZGZsLWxpbmstcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChkaXJlZGZsLW5vLXByaXYgKCgsY2xhc3MgOmluaGVy aXQgc2hhZG93KSkpDQorICAgIGAoZGlyZWRmbC1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0KSkpDQorICAgIGAoZGlyZWRmbC1vdGhlci1wcml2ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCisgICAgYChkaXJlZGZsLXJhcmUtcHJpdiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGRpcmVkZmwtcmVhZC1wcml2ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZGlyZWRmbC1zeW1saW5rICgoLGNsYXNzIDppbmhl cml0IGRpcmVkLXN5bWxpbmspKSkNCisgICAgYChkaXJlZGZsLXRhZ2dlZC1hdXRvZmlsZS1uYW1l ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAo ZGlyZWRmbC13cml0ZS1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7Ozsg ZGlyZWQrDQorICAgIGAoZGlyZWRwLWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZGlyZWRwLWNvbXByZXNzZWQtZmlsZS1u YW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChkaXJl ZHAtY29tcHJlc3NlZC1maWxlLXN1ZmZpeCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkp KQ0KKyAgICBgKGRpcmVkcC1kYXRlLXRpbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 LW90aGVyKSkpDQorICAgIGAoZGlyZWRwLWRlbGV0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLW1hcmstZGVsKSkpDQorICAgIGAoZGlyZWRwLWRlbGV0aW9uLWZpbGUtbmFtZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KKyAgICBgKGRpcmVkcC1kaXIt aGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1wc2V1ZG8taGVhZGVyKSkpDQor ICAgIGAoZGlyZWRwLWRpci1uYW1lICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWRpcmVjdG9yeSkp KQ0KKyAgICBgKGRpcmVkcC1kaXItcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCisgICAgYChkaXJlZHAtZXhlYy1wcml2ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh KSkpDQorICAgIGAoZGlyZWRwLWV4ZWN1dGFibGUtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KKyAgICBgKGRpcmVkcC1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChkaXJlZHAtZmlsZS1zdWZmaXggKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCisgICAgYChkaXJlZHAtZmxhZy1tYXJrICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQorICAgIGAoZGlyZWRwLWZsYWctbWFyay1saW5lICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc2VsKSkpDQorICAgIGAoZGlyZWRwLWln bm9yZWQtZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGRpcmVk cC1saW5rLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAg IGAoZGlyZWRwLW1vZGUtbGluZS1mbGFnZ2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0 aXZlKSkpDQorICAgIGAoZGlyZWRwLW1vZGUtbGluZS1tYXJrZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRpcmVkcC1uby1wcml2ICgoLGNsYXNzIDppbmhl cml0IHNoYWRvdykpKQ0KKyAgICBgKGRpcmVkcC1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0KSkpDQorICAgIGAoZGlyZWRwLW9taXQtZmlsZS1uYW1lICgoLGNsYXNzIDppbmhl cml0IHNoYWRvdyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KKyAgICBgKGRpcmVkcC1vdGhlci1wcml2 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkaXJlZHAtcmFyZS1wcml2 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoZGlyZWRwLXJlYWQtcHJp diAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGRpcmVkcC1zeW1saW5r ICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLXN5bWxpbmspKSkNCisgICAgYChkaXJlZHAtdGFnZ2Vk LWF1dG9maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2Vu dGEpKSkNCisgICAgYChkaXJlZHAtd3JpdGUtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKzs7Ozs7IGRpc2stdXNhZ2UNCisgICAgYChkaXNrLXVzYWdlLWNoaWxkcmVuICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChkaXNrLXVzYWdlLWluYWNjZXNzaWJs ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChkaXNr LXVzYWdlLXBlcmNlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZGlz ay11c2FnZS1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZGlzay11 c2FnZS1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGRpc2stdXNh Z2Utc3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQpKSkNCis7Ozs7OyBkaXNwbGF5LWZpbGwtY29sdW1uLWluZGljYXRvci1tb2RlDQor ICAgIGAoZmlsbC1jb2x1bW4taW5kaWNhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxiZy1hY3Rp dmUpKSkNCis7Ozs7OyBkb29tLW1vZGVsaW5lDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXIgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCisgICAgYChkb29tLW1v ZGVsaW5lLWJhci1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUgOmZv cmVncm91bmQgLGJnLW1haW4pKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJhdHRlcnktY2hhcmdp bmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9k ZWxpbmUtYmF0dGVyeS1jcml0aWNhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWVycm9yICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggLTIpDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQor ICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWZ1bGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LW5vcm1hbCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5 LXdhcm5pbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1idWZm ZXItbWFqb3ItbW9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFj dGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLW1pbm9yLW1vZGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1idWZmZXIt bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1wYXRoICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZGVi dWcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0K KyAgICBgKGRvb20tbW9kZWxpbmUtZGVidWctdmlzdWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtZW1h Y3Mtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3Rp dmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtaW5zZXJ0LXN0YXRlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9k ZWxpbmUtZXZpbC1tb3Rpb24tc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtbm9ybWFsLXN0YXRl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBg KGRvb20tbW9kZWxpbmUtZXZpbC1vcGVyYXRvci1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtZXZpbC1y ZXBsYWNlLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3Rp dmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWV2aWwtdmlzdWFsLXN0YXRlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2Rl bGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h Y3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOmluaGVyaXQgaXRh bGljKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWxzcC1lcnJvciAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2Rl bGluZS1sc3Atc3VjY2VzcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bi1hY3RpdmUpKSkNCisgICAgYChkb29tLW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisgICAgYChkb29tLW1v ZGVsaW5lLXBhbmVsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlKSkp DQorICAgIGAoZG9vbS1tb2RlbGluZS1wZXJzcC1idWZmZXItbm90LWluLXBlcnNwICgoLGNsYXNz IDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0KKyAgICBgKGRv b20tbW9kZWxpbmUtcGVyc3AtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkp DQorICAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtcHJvamVj dC1wYXJlbnQtZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBg KGRvb20tbW9kZWxpbmUtcHJvamVjdC1yb290LWRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2RlbGluZS11bnJlYWQtbnVtYmVyICgoLGNsYXNzIDpp bmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZG9vbS1tb2Rl bGluZS11cmdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KKyAgICBgKGRvb20tbW9kZWxpbmUtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorOzs7OzsgZHluYW1pYy1ydWxlcg0KKyAg ICBgKGR5bmFtaWMtcnVsZXItbmVnYXRpdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCisgICAgYChkeW5hbWljLXJ1bGVyLXBvc2l0aXZlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCis7Ozs7 OyBlYXN5LWpla3lsbA0KKyAgICBgKGVhc3ktamVreWxsLWhlbHAtZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKzs7Ozs7IGVh c3kta2lsbA0KKyAgICBgKGVhc3kta2lsbC1vcmlnaW4gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKGVhc3kta2lsbC1zZWxlY3Rpb24gKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KKzs7Ozs7IGViZGINCisgICAg YChlYmRiLWFkZHJlc3MtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j YWxtKSkpDQorICAgIGAoZWJkYi1kZWZ1bmN0ICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0K KyAgICBgKGViZGItZmllbGQtaGlkZGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAoZWJkYi1sYWJlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCisgICAgYChlYmRiLW1haWwtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKGViZGItbWFpbC1wcmltYXJ5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCkpKQ0KKyAgICBgKGViZGItbWFya2VkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFu LWludGVuc2UtYmcpKSkNCisgICAgYChlYmRiLW9yZ2FuaXphdGlvbi1uYW1lICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoZWJkYi1wZXJzb24tbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChlYmRiLXBob25l LWRlZmF1bHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChlaWVpby1jdXN0 b20tc2xvdC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKzs7Ozs7 IGVkaWZmDQorICAgIDs7IE5PVEU6IGhlcmUgd2UgYnJlYWsgZnJvbSB0aGUgcGF0dGVybiBvZiBp bmhlcml0aW5nIGZyb20gdGhlDQorICAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcy4NCisg ICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gcmVkDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1yZW1vdmVkIGZnLWRp ZmYtcmVtb3ZlZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1u dWFuY2VkLWJnIHJlZC1mYWludCkpKSkNCisgICAgYChlZGlmZi1jdXJyZW50LWRpZmYtQW5jZXN0 b3IgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSBmZy1zcGVjaWFsLWNvbGQNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctc3BlY2lhbC1jb2xkIGZn LXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBibHVlLW51YW5jZWQtYmcgYmx1ZSkpKSkNCisgICAgYChlZGlmZi1jdXJyZW50LWRpZmYt QiAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiZy1kaW0gZ3JlZW4NCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGdyZWVuLWZhaW50DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1hZGRlZC1kZXV0 ZXJhbiBmZy1kaWZmLWFkZGVkLWRldXRlcmFuKSkpKQ0KKyAgICBgKGVkaWZmLWN1cnJlbnQtZGlm Zi1DICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJnLWRpbSB5ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgeWVsbG93 LWZhaW50KSkpKQ0KKyAgICBgKGVkaWZmLWV2ZW4tZGlmZi1BICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1kaWZmLW5ldXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCisg ICAgYChlZGlmZi1ldmVuLWRpZmYtQW5jZXN0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp ZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKGVk aWZmLWV2ZW4tZGlmZi1CICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMSA6 Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCisgICAgYChlZGlmZi1ldmVuLWRpZmYt QyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIgOmZvcmVncm91bmQgLGZn LWRpZmYtbmV1dHJhbC0yKSkpDQorICAgIGAoZWRpZmYtZmluZS1kaWZmLUEgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1 cy1yZW1vdmVkKSkpDQorICAgIGAoZWRpZmYtZmluZS1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorICAgIGAoZWRpZmYtZmluZS1kaWZm LUINCisgICAgICAoKCxjbGFzcyA6YmFja2dyb3VuZCAsQChtb2R1cy10aGVtZXMtLWRpZmYtZGV1 dGVyYW4gYmctZGlmZi1mb2N1cy1hZGRlZC1kZXV0ZXJhbiBiZy1kaWZmLWZvY3VzLWFkZGVkKQ0K KyAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxAKG1vZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJh biBmZy1kaWZmLWZvY3VzLWFkZGVkLWRldXRlcmFuIGZnLWRpZmYtZm9jdXMtYWRkZWQpKSkpDQor ICAgIGAoZWRpZmYtZmluZS1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtZm9j dXMtY2hhbmdlZCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1mb2N1cy1jaGFuZ2VkKSkpDQorICAgIGAo ZWRpZmYtb2RkLWRpZmYtQSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTIg OmZvcmVncm91bmQgLGZnLWRpZmYtbmV1dHJhbC0yKSkpDQorICAgIGAoZWRpZmYtb2RkLWRpZmYt QW5jZXN0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0wIDpmb3JlZ3Jv dW5kICxmZy1kaWZmLW5ldXRyYWwtMCkpKQ0KKyAgICBgKGVkaWZmLW9kZC1kaWZmLUIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5l dXRyYWwtMikpKQ0KKyAgICBgKGVkaWZmLW9kZC1kaWZmLUMgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKzs7 Ozs7IGVnbG90DQorICAgIGAoZWdsb3QtbW9kZS1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorOzs7OzsgZWwtc2Vh cmNoDQorICAgIGAoZWwtc2VhcmNoLWhpZ2hsaWdodC1pbi1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGVsLXNlYXJj aC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQor ICAgIGAoZWwtc2VhcmNoLW90aGVyLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGVsLXNlYXJjaC1vY2N1ci1tYXRjaCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCis7Ozs7OyBlbGRvYw0KKyAgICA7 OyBOT1RFOiBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3B1cmNlbGwvcGFja2FnZS1saW50L2lzc3Vl cy8xODcNCisgICAgKGxpc3QgJ2VsZG9jLWhpZ2hsaWdodC1mdW5jdGlvbi1hcmd1bWVudCBgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCis7Ozs7 OyBlbGRvYy1ib3gNCisgICAgYChlbGRvYy1ib3gtYm9keSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctYWx0IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZWxkb2MtYm94LWJvcmRlciAo KCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0KSkpDQorOzs7OzsgZWxmZWVkDQorICAgIGAoZWxm ZWVkLWxvZy1kYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZWxmZWVkLXNlYXJjaC1kYXRlLWZh Y2UpKSkNCisgICAgYChlbGZlZWQtbG9nLWRlYnVnLWxldmVsLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZWxmZWVkLXNlYXJjaC1maWx0ZXItZmFjZSkpKQ0KKyAgICBgKGVsZmVlZC1sb2ctZXJyb3It bGV2ZWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKGVsZmVlZC1sb2ct aW5mby1sZXZlbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHN1Y2Nlc3MpKSkNCisgICAgYChlbGZl ZWQtbG9nLXdhcm4tbGV2ZWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5nKSkpDQorICAg IGAoZWxmZWVkLXNlYXJjaC1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkN CisgICAgYChlbGZlZWQtc2VhcmNoLWZlZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1mYWludCkpKQ0KKyAgICBgKGVsZmVlZC1zZWFyY2gtZmlsdGVyLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChlbGZlZWQt c2VhcmNoLWxhc3QtdXBkYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZl KSkpDQorICAgIGAoZWxmZWVkLXNlYXJjaC10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChlbGZlZWQtc2VhcmNoLXRpdGxlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKGVsZmVlZC1zZWFyY2gtdW5yZWFkLWNv dW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGVs ZmVlZC1zZWFyY2gtdW5yZWFkLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IGVsZmVlZC1zY29yZQ0KKyAgICBgKGVsZmVlZC1z Y29yZS1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChlbGZl ZWQtc2NvcmUtZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCisgICAgYChlbGZlZWQtc2NvcmUtZXJyb3ItbGV2ZWwtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZWxmZWVkLXNjb3JlLWluZm8tbGV2ZWwtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGVsZmVlZC1zY29yZS13YXJu LWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGVtbXMN CisgICAgYChlbW1zLXBsYXlsaXN0LXRyYWNrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUpKSkNCisgICAgYChlbW1zLXBsYXlsaXN0LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKzs7Ozs7IGVuaGFuY2VkLXJ1YnktbW9k ZQ0KKyAgICBgKGVuaC1ydWJ5LWhlcmVkb2MtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoZW5oLXJ1Ynktb3AtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGVuaC1ydWJ5LXJlZ2V4cC1kZWxpbWl0 ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChlbmgtcnVieS1y ZWdleHAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBgKGVuaC1y dWJ5LXN0cmluZy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCisgICAgYChlcm0tc3luLWVycmxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYChlcm0tc3luLXdhcm5saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQorOzs7OzsgZXBhDQorICAgIGAoZXBhLWZpZWxkLWJv ZHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChlcGEtZmllbGQtbmFt ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChl cGEtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAoZXBhLXN0cmluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAg YChlcGEtdmFsaWRpdHktZGlzYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLXJlZCkpKQ0KKyAgICBgKGVwYS12YWxpZGl0eS1oaWdoICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVwYS12YWxpZGl0eS1s b3cgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZXBhLXZhbGlkaXR5LW1lZGl1 bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorOzs7OzsgZXF1YWtlDQorICAg IGAoZXF1YWtlLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtZXNoZWxsICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkp DQorICAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtcmFzaCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChlcXVha2Utc2hlbGwt dHlwZS1zaGVsbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQg LGN5YW4tYWN0aXZlKSkpDQorICAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtdGVybSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCisg ICAgYChlcXVha2Utc2hlbGwtdHlwZS12dGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5h Y3RpdmUgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAoZXF1YWtlLXRhYi1h Y3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkp DQorICAgIGAoZXF1YWtlLXRhYi1pbmFjdGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5h Y3RpdmUpKSkNCis7Ozs7OyBlcmMNCisgICAgYChlcmMtYWN0aW9uLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGVyYy1ib2xkLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKGVyYy1idXR0b24gKCgsY2xhc3MgOmluaGVy aXQgYnV0dG9uKSkpDQorICAgIGAoZXJjLWNvbW1hbmQtaW5kaWNhdG9yLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChlcmMtY3VycmVu dC1uaWNrLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQor ICAgIGAoZXJjLWRhbmdlcm91cy1ob3N0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaW50ZW5zZS1yZWQpKSkNCisgICAgYChlcmMtZGlyZWN0LW1zZy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZXJjLWVycm9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZXJjLWZvb2wtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChlcmMtaGVhZGVyLWxpbmUg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmctaGVhZGVyKSkp DQorICAgIGAoZXJjLWlucHV0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y2FsbSkpKQ0KKyAgICBgKGVyYy1pbnZlcnNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLWRl ZmF1bHQtZmFjZSA6aW52ZXJzZS12aWRlbyB0KSkpDQorICAgIGAoZXJjLWtleXdvcmQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBg KGVyYy1teS1uaWNrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KKyAgICBgKGVyYy1teS1uaWNrLXByZWZpeC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGVyYy1teS1uaWNrLWZhY2UpKSkNCisgICAgYChlcmMtbmljay1kZWZhdWx0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGVyYy1uaWNrLW1z Zy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAg IGAoZXJjLW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW5pY2stZGVmYXVs dC1mYWNlKSkpDQorICAgIGAoZXJjLW5vdGljZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy11bmZvY3VzZWQpKSkNCisgICAgYChlcmMtcGFsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKGVyYy1wcm9tcHQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGVy Yy10aW1lc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkp DQorICAgIGAoZXJjLXVuZGVybGluZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KKyAg ICBgKGJnOmVyYy1jb2xvci1mYWNlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAid2hpdGUiKSkpDQor ICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJibGFjayIpKSkN CisgICAgYChiZzplcmMtY29sb3ItZmFjZTEwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1 YnRsZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlMTEgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGN5YW4taW50ZW5zZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1jb2xvci1mYWNlMTIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZh Y2UxMyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1zdWJ0bGUtYmcpKSkNCisgICAgYChi ZzplcmMtY29sb3ItZmFjZTE0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjAiKSkpDQorICAg IGAoYmc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxjbGFzcyA6YmFja2dyb3VuZCAiZ3JheTgwIikpKQ0K KyAgICBgKGJnOmVyYy1jb2xvci1mYWNlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRl bnNlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UzICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxncmVlbi1pbnRlbnNlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U0ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxyZWQtc3VidGxlLWJnKSkpDQorICAgIGAoYmc6ZXJjLWNvbG9yLWZhY2U1 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtaW50ZW5zZS1iZykpKQ0KKyAgICBgKGJnOmVyYy1j b2xvci1mYWNlNiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCisg ICAgYChiZzplcmMtY29sb3ItZmFjZTcgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1zdWJ0 bGUtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTggKCgsY2xhc3MgOmJhY2tncm91bmQg LHllbGxvdy1yZWZpbmUtYmcpKSkNCisgICAgYChiZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGdyZWVuLXN1YnRsZS1iZykpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNl MCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAid2hpdGUiKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZh Y2UxICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJibGFjayIpKSkNCisgICAgYChmZzplcmMtY29sb3It ZmFjZTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9y LWZhY2UxMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChm ZzplcmMtY29sb3ItZmFjZTEyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAo Zmc6ZXJjLWNvbG9yLWZhY2UxMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkN CisgICAgYChmZzplcmMtY29sb3ItZmFjZTE0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICJncmF5NjAi KSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAiZ3Jh eTgwIikpKQ0KKyAgICBgKGZnOmVyYy1jb2xvci1mYWNlMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTMgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTUgKCgsY2xhc3MgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChmZzplcmMtY29sb3ItZmFjZTYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZmc6ZXJjLWNvbG9yLWZh Y2U3ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoZmc6 ZXJjLWNvbG9yLWZhY2U4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQorICAg IGAoZmc6ZXJjLWNvbG9yLWZhY2U5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3Ro ZXIpKSkNCis7Ozs7OyBlcm9zDQorICAgIGAoZXJvcy1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNs YXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAsYmx1ZSkNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAs ZmctZGltKSkpDQorOzs7OzsgZXJ0DQorICAgIGAoZXJ0LXRlc3QtcmVzdWx0LWV4cGVjdGVkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCisgICAgYChlcnQt dGVzdC1yZXN1bHQtdW5leHBlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCkpKQ0KKzs7Ozs7IGVzaGVsbA0KKyAgICBgKGVzaGVsbC1scy1hcmNoaXZlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAoZXNoZWxs LWxzLWJhY2t1cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKGVz aGVsbC1scy1jbHV0dGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAo ZXNoZWxsLWxzLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1scy1leGVjdXRhYmxlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGVzaGVsbC1scy1taXNzaW5nICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAoZXNoZWxsLWxzLXByb2R1 Y3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGVzaGVs bC1scy1yZWFkb25seSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQor ICAgIGAoZXNoZWxsLWxzLXNwZWNpYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KKyAgICBgKGVzaGVsbC1scy1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0 IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1l cy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4g Y3lhbi1mYWludCkpKSkNCisgICAgYChlc2hlbGwtbHMtdW5yZWFkYWJsZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAo ZXNoZWxsLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXByb21wdA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGdyZWVuLWFsdA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tcmVmaW5lLWJnIGZnLW1haW4pKSkpDQorOzs7Ozsg ZXNoZWxsLWZyaW5nZS1zdGF0dXMNCisgICAgYChlc2hlbGwtZnJpbmdlLXN0YXR1cy1mYWlsdXJl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChlc2hlbGwtZnJpbmdlLXN0YXR1 cy1zdWNjZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKzs7Ozs7IGVzaGVsbC1n aXQtcHJvbXB0DQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYWRkLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgc2hhZG93KSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtYnJhbmNoLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZGlyZWN0 b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChlc2hlbGwtZ2l0 LXByb21wdC1leGl0LWZhaWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAg IGAoZXNoZWxsLWdpdC1wcm9tcHQtZXhpdC1zdWNjZXNzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuKSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtbW9kaWZpZWQtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcG93 ZXJsaW5lLWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLXJlZmluZS1iZykp KQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0LXBvd2VybGluZS1kaXItZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmx1ZS1yZWZpbmUtYmcpKSkNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1w b3dlcmxpbmUtbm90LWNsZWFuLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtcmVm aW5lLWJnKSkpDQorICAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtcm9ieXJ1c3NlbGwtYnJhbmNoLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGVzaGVsbC1naXQtcHJvbXB0 LXJvYnlydXNzZWxsLWdpdC1kaXJ0eS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cp KSkNCisgICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKzs7Ozs7IGVzaGVsbC1wcm9tcHQtZXh0cmFzIChlcGUp DQorICAgIGAoZXBlLWRpci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQg OmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChlcGUtZ2l0LWRpci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAoZXBlLWdpdC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGVwZS1waXBlbGluZS1kZWxpbWl0ZXIt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAoZXBlLXBpcGVs aW5lLWhvc3QtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGVwZS1w aXBlbGluZS10aW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KKyAgICBgKGVwZS1waXBlbGluZS11c2VyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCisgICAgYChlcGUtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGVwZS1zdGF0dXMtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChlcGUt dmVudi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCis7Ozs7OyBlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZw0KKyAgICBgKGVz aGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWFsaWFzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCisgICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1jb21tZW50LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGln aHRpbmctZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAg YChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1lbnZ2YXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1p bnZhbGlkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGVzaGVsbC1z eW50YXgtaGlnaGxpZ2h0aW5nLWxpc3AtZnVuY3Rpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KKyAgICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLXNoZWxsLWNv bW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAg YChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCis7Ozs7OyBldmlsLW1vZGUNCisgICAgYChldmlsLWV4LWNvbW1h bmRzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGV2 aWwtZXgtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAg YChldmlsLWV4LWxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuKSkpDQorICAgIGAoZXZpbC1leC1zZWFyY2ggKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKGV2aWwtZXgtc3Vic3RpdHV0ZS1tYXRj aGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cgOnVuZGVybGlu ZSB0KSkpDQorICAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLXJlcGxhY2VtZW50ICgoLGNsYXNzIDpp bmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQorOzs7OzsgZXZpbC1n b2dnbGVzDQorICAgIGAoZXZpbC1nb2dnbGVzLWNoYW5nZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtY29tbWVu dGFyeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbCBt b2R1cy10aGVtZS1zbGFudCkpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1uZXV0cmFsKSkpDQorICAgIGAoZXZp bC1nb2dnbGVzLWRlbGV0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmlu ZS1yZWQpKSkNCisgICAgYChldmlsLWdvZ2dsZXMtZmlsbC1hbmQtbW92ZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCisgICAgYChldmlsLWdvZ2ds ZXMtaW5kZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWRlZmF1bHQtZmFj ZSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1qb2luLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLW5lcmQtY29tbWVu dGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1nb2dnbGVzLWNvbW1lbnRhcnktZmFjZSkp KQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1wYXN0ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1jeWFuKSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXJlY29yZC1tYWNyby1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBg KGV2aWwtZ29nZ2xlcy1yZXBsYWNlLXdpdGgtcmVnaXN0ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1zZXQt bWFya2VyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRh KSkpDQorICAgIGAoZXZpbC1nb2dnbGVzLXNoaWZ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZp bC1nb2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KKyAgICBgKGV2aWwtZ29nZ2xlcy1zdXJyb3VuZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1kZWZhdWx0LWZhY2UpKSkNCisgICAg YChldmlsLWdvZ2dsZXMteWFuay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1ibHVlKSkpDQorOzs7OzsgZXZpbC1zbmlwZQ0KKyAgICBgKGV2aWwtc25pcGUtZmlyc3Qt bWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1pbnRlbnNlLWJs dWUpKSkpDQorICAgIGAoZXZpbC1zbmlwZS1tYXRjaGVzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCis7Ozs7OyBldmlsLXZpc3VhbC1tYXJrLW1v ZGUNCisgICAgYChldmlsLXZpc3VhbC1tYXJrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorOzs7OzsgZXd3DQorICAgIGAoZXd3LWludmFsaWQt Y2VydGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChl d3ctdmFsaWQtY2VydGlmaWNhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkp KQ0KKyAgICBgKGV3dy1mb3JtLWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEg OmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAs YmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChld3ctZm9ybS1maWxl ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUg cmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAoZXd3LWZvcm0tc2VsZWN0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3Jt LWNoZWNrYm94KSkpDQorICAgIGAoZXd3LWZvcm0tc3VibWl0ICgoLGNsYXNzIDppbmhlcml0IGV3 dy1mb3JtLWZpbGUpKSkNCisgICAgYChld3ctZm9ybS10ZXh0ICgoLGNsYXNzIDpib3ggKDpsaW5l LXdpZHRoIDEgOmNvbG9yICxmZy1pbmFjdGl2ZSA6c3R5bGUgbm9uZSkgOmJhY2tncm91bmQgLGJn LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoZXd3LWZvcm0tdGV4dGFy ZWEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K Kzs7Ozs7IGV5ZWJyb3dzZQ0KKyAgICBgKGV5ZWJyb3dzZS1tb2RlLWxpbmUtYWN0aXZlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorOzs7OzsgZmFu Y3ktZGFiYnJldg0KKyAgICBgKGZhbmN5LWRhYmJyZXYtbWVudS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKGZhbmN5LWRhYmJy ZXYtcHJldmlldy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdyA6dW5kZXJsaW5lIHQpKSkN CisgICAgYChmYW5jeS1kYWJicmV2LXNlbGVjdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0ICht b2R1cy10aGVtZS1pbnRlbnNlLWN5YW4gYm9sZCkpKSkNCis7Ozs7OyBmbHljaGVjaw0KKyAgICBg KGZseWNoZWNrLWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctZXJyb3Ip KSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWNoZWNrZXItbmFtZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWNv bHVtbi1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAg ICBgKGZseWNoZWNrLWVycm9yLWxpc3QtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoZmx5Y2hlY2stZXJyb3ItbGlzdC1m aWxlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGZseWNoZWNrLWVy cm9yLWxpc3QtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUp KSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaWQtd2l0aC1l eHBsYWluZXIgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hlY2stZXJyb3ItbGlzdC1pZCA6Ym94IHQp KSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4pKSkNCisgICAgYChmbHljaGVjay1lcnJvci1saXN0LWxpbmUtbnVtYmVyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChmbHljaGVjay1lcnJvci1s aXN0LXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGZseWNo ZWNrLWZyaW5nZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVk KSkpDQorICAgIGAoZmx5Y2hlY2stZnJpbmdlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLWN5YW4pKSkNCisgICAgYChmbHljaGVjay1mcmluZ2Utd2FybmluZyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQorICAgIGAoZmx5Y2hl Y2staW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLW5vdGUpKSkNCisgICAg YChmbHljaGVjay12ZXJpZnktc2VsZWN0LWNoZWNrZXIgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lk dGggMSA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0b24pKSkpDQorICAgIGAoZmx5Y2hl Y2std2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLXdhcm5pbmcpKSkN Cis7Ozs7OyBmbHljaGVjay1jb2xvci1tb2RlLWxpbmUNCisgICAgYChmbHljaGVjay1jb2xvci1t b2RlLWxpbmUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2UtZXJy b3IpKSkNCisgICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtaW5mby1mYWNlICgoLGNsYXNz IDppbmhlcml0IGZseWNoZWNrLWZyaW5nZS1pbmZvKSkpDQorICAgIGAoZmx5Y2hlY2stY29sb3It bW9kZS1saW5lLXJ1bm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91 bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAoZmx5Y2hlY2stY29sb3ItbW9kZS1saW5lLWluZm8t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2Utd2FybmluZykpKQ0KKzs7Ozs7 IGZseWNoZWNrLWluZGljYXRvcg0KKyAgICBgKGZseWNoZWNrLWluZGljYXRvci1kaXNhYmxlZCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCisgICAgYChmbHljaGVjay1pbmRpY2F0b3ItZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKGZseWNo ZWNrLWluZGljYXRvci1pbmZvICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZv cmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXJ1bm5p bmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCisgICAgYChmbHljaGVjay1pbmRpY2F0b3Itc3VjY2VzcyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisg ICAgYChmbHljaGVjay1pbmRpY2F0b3Itd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQorOzs7OzsgZmx5Y2hlY2st cG9zZnJhbWUNCisgICAgYChmbHljaGVjay1wb3NmcmFtZS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGZseWNoZWNrLXBvc2ZyYW1lLWJvcmRl ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGZseWNoZWNrLXBvc2Zy YW1lLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQorICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZseWNoZWNrLXBvc2Zy YW1lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQorICAgIGAoZmx5Y2hlY2stcG9zZnJhbWUtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IGZseW1ha2UNCisgICAgYChmbHlt YWtlLWVycm9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctZXJyb3IpKSkNCisg ICAgYChmbHltYWtlLW5vdGUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1ub3Rl KSkpDQorICAgIGAoZmx5bWFrZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWxhbmctd2FybmluZykpKQ0KKzs7Ozs7IGZseXNwZWxsDQorICAgIGAoZmx5c3BlbGwtZHVwbGlj YXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctd2FybmluZykpKQ0KKyAgICBg KGZseXNwZWxsLWluY29ycmVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1sYW5nLWVy cm9yKSkpDQorOzs7OzsgZmx5c3BlbGwtY29ycmVjdA0KKyAgICBgKGZseXNwZWxsLWNvcnJlY3Qt aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVu KSkpDQorOzs7OzsgZmx4DQorICAgIGAoZmx4LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzICxAKG1v ZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGENCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFn ZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCis7Ozs7OyBm cmVlemUtaXQNCisgICAgYChmcmVlemUtaXQtc2hvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct ZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCis7Ozs7OyBmcm9nLW1lbnUNCisg ICAgYChmcm9nLW1lbnUtYWN0aW9uLWtleWJpbmRpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChmcm9nLW1lbnUtYWN0aW9ucy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZnJvZy1tZW51LWJvcmRlciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQorICAgIGAoZnJvZy1tZW51LWNhbmRpZGF0 ZXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGZyb2ctbWVu dS1wb3NmcmFtZS1iYWNrZ3JvdW5kLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkp KQ0KKyAgICBgKGZyb2ctbWVudS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKzs7Ozs7IGZvY3VzDQorICAgIGAoZm9jdXMtdW5mb2N1c2VkICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCis7Ozs7OyBmb2xkLXRoaXMNCisgICAgYChmb2xkLXRo aXMtb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkN Cis7Ozs7OyBmb250LWxvY2sNCisgICAgYChmb250LWxvY2stYnVpbHRpbi1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWV4dHJhDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCBi bHVlLWFsdCkpKSkNCisgICAgYChmb250LWxvY2stY29tbWVudC1kZWxpbWl0ZXItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAoZm9udC1sb2Nr LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgt Y29tbWVudA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctYWx0 IGZnLWNvbW1lbnQteWVsbG93KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1jb25zdGFudC1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWV4dHJhDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXItZmFp bnQgbWFnZW50YS1hbHQtb3RoZXIpKSkpDQorICAgIGAoZm9udC1sb2NrLWRvYy1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50DQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWRvY3N0cmluZw0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1kb2NzdHJpbmcgZ3JlZW4tYWx0LW90aGVyLWZh aW50DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhl ci1mYWludCBtYWdlbnRhLW51YW5jZWQtZmcpKSkpDQorICAgIGAoZm9udC1sb2NrLWZ1bmN0aW9u LW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1leHRyYQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRh LWZhaW50IG1hZ2VudGEtYWx0KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1rZXl3b3JkLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEt YWx0LW90aGVyLWZhaW50IGN5YW4tYWx0LW90aGVyKSkpKQ0KKyAgICBgKGZvbnQtbG9jay1uZWdh dGlvbi1jaGFyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1z eW50YXgtZm9yZWdyb3VuZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgeWVsbG93IHllbGxvdy1mYWludCkpKSkNCisgICAgYChmb250LWxvY2stcHJlcHJv Y2Vzc29yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZm9yZWdyb3VuZA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0LW90 aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQorICAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91 cGluZy1iYWNrc2xhc2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4 LXN0cmluZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZnLWVzY2FwZS1jaGFyLWJhY2tzbGFzaCB5ZWxsb3ctYWx0LWZhaW50DQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1h bHQtb3RoZXIgYmx1ZS1hbHQpKSkpDQorICAgIGAoZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1j b25zdHJ1Y3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LXN0cmlu Zw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVjdCByZWQtYWx0LW90aGVyLWZhaW50DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkIG1hZ2VudGEt YWx0KSkpKQ0KKyAgICBgKGZvbnQtbG9jay1zdHJpbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLXN5bnRheC1zdHJpbmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQgZ3JlZW4gZ3JlZW4tYWx0KSkpKQ0KKyAgICBg KGZvbnQtbG9jay10eXBlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50 YXgtZXh0cmENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0 LW90aGVyIGN5YW4tYWx0LWZhaW50IGN5YW4tYWx0KSkpKQ0KKyAgICBgKGZvbnQtbG9jay12YXJp YWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtZXh0cmENCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1m YWludCBibHVlLWFsdC1mYWludCkpKSkNCisgICAgYChmb250LWxvY2std2FybmluZy1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWZvcmVncm91bmQNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hY3RpdmUgeWVsbG93 LWFsdC1mYWludCkpKSkNCis7Ozs7OyBmb3JnZQ0KKyAgICBgKGZvcmdlLXBvc3QtYXV0aG9yICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChmb3Jn ZS1wb3N0LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAg ICBgKGZvcmdlLXRvcGljLWNsb3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAg YChmb3JnZS10b3BpYy1tZXJnZWQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAo Zm9yZ2UtdG9waWMtb3BlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkp DQorICAgIGAoZm9yZ2UtdG9waWMtdW5tZXJnZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc2xhbnQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChmb3JnZS10b3BpYy11bnJl YWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7 IGZvdW50YWluLW1vZGUNCisgICAgYChmb3VudGFpbi1jaGFyYWN0ZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoZm91bnRhaW4tY29tbWVudCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAg IGAoZm91bnRhaW4tZGlhbG9nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAg ICBgKGZvdW50YWluLW1ldGFkYXRhLWtleSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 LW90aGVyKSkpDQorICAgIGAoZm91bnRhaW4tbWV0YWRhdGEtdmFsdWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUpKSkNCisgICAgYChmb3VudGFpbi1ub24tcHJpbnRpbmcgKCgsY2xhc3MgOmlu aGVyaXQgc2hhZG93KSkpDQorICAgIGAoZm91bnRhaW4tbm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZm91bnRhaW4t cGFnZS1icmVhayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQorICAgIGAoZm91bnRhaW4tcGFnZS1udW1iZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGZvdW50YWluLXBhcmVuICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoZm91bnRhaW4tc2NlbmUtaGVhZGluZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkNCisgICAg YChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt aGVhZGluZy0xKSkpDQorICAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTEgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkpDQorICAgIGAoZm91bnRhaW4tc2VjdGlv bi1oZWFkaW5nLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0yKSkpDQor ICAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaGVhZGluZy0zKSkpDQorICAgIGAoZm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQorICAgIGAoZm91bnRhaW4t c2VjdGlvbi1oZWFkaW5nLTUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01 KSkpDQorICAgIGAoZm91bnRhaW4tc3lub3BzaXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0KSkpDQorICAgIGAoZm91bnRhaW4tdHJhbnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dy1hbHQtb3RoZXIpKSkNCis7Ozs7OyBnZWlzZXINCisgICAgYChnZWlzZXItZm9udC1sb2NrLWF1 dG9kb2MtY3VycmVudC1hcmcgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5h bWUtZmFjZSkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2stYXV0b2RvYy1pZGVudGlmaWVyICgo LGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAoZ2Vpc2Vy LWZvbnQtbG9jay1kb2MtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3Vu ZCAsZmctZG9jc3RyaW5nKSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1kb2MtbGluayAoKCxj bGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChnZWlzZXItZm9udC1sb2NrLWVycm9yLWxp bmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChn ZWlzZXItZm9udC1sb2NrLWltYWdlLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZv cmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2stcmVwbC1pbnB1 dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBs LW91dHB1dCAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAg IGAoZ2Vpc2VyLWZvbnQtbG9jay1yZXBsLXByb21wdCAoKCxjbGFzcyA6aW5oZXJpdCBtaW5pYnVm ZmVyLXByb21wdCkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2steHJlZi1oZWFkZXIgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKGdlaXNlci1mb250LWxvY2steHJlZi1saW5rICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKzs7Ozs7IGdpdC1jb21taXQNCisgICAgYChnaXQt Y29tbWl0LWNvbW1lbnQtYWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb21tZW50 LWZhY2UpKSkNCisgICAgYChnaXQtY29tbWl0LWNvbW1lbnQtYnJhbmNoLWxvY2FsICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAg ICBgKGdpdC1jb21taXQtY29tbWVudC1icmFuY2gtcmVtb3RlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGdpdC1j b21taXQtY29tbWVudC1kZXRhY2hlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFu dCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChnaXQtY29tbWl0LWNvbW1lbnQtZmls ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1zcGVjaWFsLWNvbGQg cmVkLW51YW5jZWQtZmcpKSkpDQorICAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWhlYWRpbmcgKCgs Y2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtc2xhbnQpDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zeW50YXgtY29tbWVu dA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWRpbSBm Zy1zcGVjaWFsLXdhcm0pKSkpDQorICAgIGAoZ2l0LWNvbW1pdC1rZXl3b3JkICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZ2l0LWNvbW1pdC1rbm93bi1wc2V1ZG8taGVh ZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGdpdC1j b21taXQtbm9uZW1wdHktc2Vjb25kLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKGdpdC1jb21taXQtb3Zlcmxvbmctc3VtbWFyeSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQorICAgIGAoZ2l0LWNv bW1pdC1wc2V1ZG8taGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAo Z2l0LWNvbW1pdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4pKSkNCis7Ozs7OyBnaXQtZ3V0dGVyDQorICAgIGAoZ2l0LWd1dHRlcjphZGRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCisgICAgYChnaXQtZ3V0dGVy OmRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KKyAg ICBgKGdpdC1ndXR0ZXI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJp bmdlLXllbGxvdykpKQ0KKyAgICBgKGdpdC1ndXR0ZXI6c2VwYXJhdG9yICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQorICAgIGAoZ2l0LWd1dHRlcjp1bmNoYW5n ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkNCis7Ozs7 OyBnaXQtZ3V0dGVyLWZyDQorICAgIGAoZ2l0LWd1dHRlci1mcjphZGRlZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtZ3JlZW4pKSkNCisgICAgYChnaXQtZ3V0dGVyLWZyOmRl bGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KKyAgICBg KGdpdC1ndXR0ZXItZnI6bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJp bmdlLXllbGxvdykpKQ0KKzs7Ozs7IGdpdC17Z3V0dGVyLGZyaW5nZX0rDQorICAgIGAoZ2l0LWd1 dHRlcistYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkp DQorICAgIGAoZ2l0LWd1dHRlcistZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtcmVkKSkpDQorICAgIGAoZ2l0LWd1dHRlcistbW9kaWZpZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KKyAgICBgKGdpdC1ndXR0ZXIrLXNl cGFyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KKyAg ICBgKGdpdC1ndXR0ZXIrLXVuY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1m cmluZ2UtbWFnZW50YSkpKQ0KKyAgICBgKGdpdC1ndXR0ZXItZnIrLWFkZGVkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KKyAgICBgKGdpdC1ndXR0ZXItZnIr LWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KKyAg ICBgKGdpdC1ndXR0ZXItZnIrLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWZyaW5nZS15ZWxsb3cpKSkNCis7Ozs7OyBnaXQtbGVucw0KKyAgICBgKGdpdC1sZW5zLWFkZGVk ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoZ2l0 LWxlbnMtZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkN CisgICAgYChnaXQtbGVucy1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDEu MSA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGdpdC1sZW5zLW1vZGlmaWVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGdpdC1sZW5zLXJl bmFtZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKzs7 Ozs7IGdpdC1yZWJhc2UNCisgICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGFzaCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LWNvbW1lbnQNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1zcGVjaWFsLWNvbGQgcmVkLW51YW5jZWQt ZmcpKSkpDQorICAgIGAoZ2l0LXJlYmFzZS1jb21tZW50LWhlYWRpbmcgICgoLGNsYXNzIDppbmhl cml0IChib2xkIG1vZHVzLXRoZW1lLXNsYW50KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN5bnRheC1jb21tZW50DQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWRpbSBmZy1zcGVjaWFs LXdhcm0pKSkpDQorICAgIGAoZ2l0LXJlYmFzZS1kZXNjcmlwdGlvbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGdpdC1yZWJhc2UtaGFzaCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCis7Ozs7OyBnaXQtdGltZW1hY2hpbmUNCisgICAgYChn aXQtdGltZW1hY2hpbmUtY29tbWl0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdy1hY3RpdmUpKSkNCisgICAgYChnaXQtdGltZW1hY2hpbmUtbWluaWJ1ZmZlci1hdXRo b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAo Z2l0LXRpbWVtYWNoaW5lLW1pbmlidWZmZXItZGV0YWlsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCis7Ozs7OyBnaXQtd2Fsa3RyZWUNCisgICAgYChnaXQtd2Fsa3RyZWUt Y29tbWl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGdpdC13 YWxrdHJlZS1zeW1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAo Z2l0LXdhbGt0cmVlLXRyZWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K Kzs7Ozs7IGdudXMNCisgICAgYChnbnVzLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24p KSkNCisgICAgYChnbnVzLWNpdGUtMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1mYWludCkp KQ0KKyAgICBgKGdudXMtY2l0ZS0xMCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1v dGhlcikpKQ0KKyAgICBgKGdudXMtY2l0ZS0xMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCisgICAgYChnbnVzLWNpdGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0LW90aGVyKSkpDQorICAgIGAoZ251cy1jaXRlLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hbHQtb3RoZXIpKSkNCisgICAgYChnbnVzLWNpdGUtNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKyAgICBgKGdudXMtY2l0ZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ct YWx0KSkpDQorICAgIGAoZ251cy1jaXRlLTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEp KSkNCisgICAgYChnbnVzLWNpdGUtNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkp DQorICAgIGAoZ251cy1jaXRlLTggKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAoZ251cy1jaXRlLTkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0 KSkpDQorICAgIGAoZ251cy1jaXRlLWF0dHJpYnV0aW9uICgoLGNsYXNzIDppbmhlcml0IGl0YWxp YyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMtYm9sZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAoZ251cy1lbXBoYXNpcy1ib2xkLWl0YWxpYyAo KCxjbGFzcyA6aW5oZXJpdCBib2xkLWl0YWxpYykpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMtaGln aGxpZ2h0LXdvcmRzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cp KSkNCisgICAgYChnbnVzLWVtcGhhc2lzLWl0YWxpYyAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMp KSkNCisgICAgYChnbnVzLWVtcGhhc2lzLXVuZGVybGluZS1ib2xkICgoLGNsYXNzIDppbmhlcml0 IGdudXMtZW1waGFzaXMtYm9sZCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChnbnVzLWVtcGhhc2lz LXVuZGVybGluZS1ib2xkLWl0YWxpYyAoKCxjbGFzcyA6aW5oZXJpdCBnbnVzLWVtcGhhc2lzLWJv bGQtaXRhbGljIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGdudXMtZW1waGFzaXMtdW5kZXJsaW5l LWl0YWxpYyAoKCxjbGFzcyA6aW5oZXJpdCBnbnVzLWVtcGhhc2lzLWl0YWxpYyA6dW5kZXJsaW5l IHQpKSkNCisgICAgYChnbnVzLWdyb3VwLW1haWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbWFpbC0xLWVtcHR5 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGdudXMtZ3JvdXAt bWFpbC0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisg ICAgYChnbnVzLWdyb3VwLW1haWwtMi1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbWFpbC0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoZ251cy1ncm91cC1tYWlsLTMt ZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAo Z251cy1ncm91cC1tYWlsLWxvdyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhLW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdyb3VwLW1haWwtbG93LWVtcHR5ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLW51YW5jZWQtZmcpKSkNCisgICAgYChnbnVzLWdy b3VwLW5ld3MtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0K KyAgICBgKGdudXMtZ3JvdXAtbmV3cy0xLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGN5YW4pKSkNCisgICAgYChnbnVzLWdyb3VwLW5ld3MtMi1lbXB0eSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGdudXMtZ3JvdXAtbmV3cy0zICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAo Z251cy1ncm91cC1uZXdzLTMtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFu Y2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdz LTQtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZC1mZykpKQ0KKyAgICBg KGdudXMtZ3JvdXAtbmV3cy01ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJl ZC1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTUtZW1wdHkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLTYg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZ251 cy1ncm91cC1uZXdzLTYtZW1wdHkgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAo Z251cy1ncm91cC1uZXdzLWxvdyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxn cmVlbi1udWFuY2VkLWZnKSkpDQorICAgIGAoZ251cy1ncm91cC1uZXdzLWxvdy1lbXB0eSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVhbmNlZC1mZykpKQ0KKyAgICBgKGdudXMtaGVhZGVy LWNvbnRlbnQgKCgsY2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFkZXItb3RoZXIpKSkNCisgICAg YChnbnVzLWhlYWRlci1mcm9tICgoLGNsYXNzIDppbmhlcml0IG1lc3NhZ2UtaGVhZGVyLXRvIDp1 bmRlcmxpbmUgbmlsKSkpDQorICAgIGAoZ251cy1oZWFkZXItbmFtZSAoKCxjbGFzcyA6aW5oZXJp dCBtZXNzYWdlLWhlYWRlci1uYW1lKSkpDQorICAgIGAoZ251cy1oZWFkZXItbmV3c2dyb3VwcyAo KCxjbGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1uZXdzZ3JvdXBzKSkpDQorICAgIGAoZ251 cy1oZWFkZXItc3ViamVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1zdWJqZWN0 KSkpDQorICAgIGAoZ251cy1zZXJ2ZXItYWdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGdudXMtc2VydmVyLWNsb3NlZCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoZ251cy1zZXJ2ZXItY2xv dWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAg YChnbnVzLXNlcnZlci1jbG91ZC1ob3N0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuKSkpDQorICAgIGAoZ251cy1zZXJ2ZXItZGVuaWVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGdudXMtc2VydmVyLW9mZmxpbmUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ251cy1z ZXJ2ZXItb3BlbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkp DQorICAgIGAoZ251cy1zaWduYXR1cmUgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChnbnVzLXNwbGFzaCAoKCxjbGFzcyA6aW5o ZXJpdCBzaGFkb3cpKSkNCisgICAgYChnbnVzLXN1bW1hcnktY2FuY2VsbGVkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gt YW5jaWVudCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisg ICAgYChnbnVzLXN1bW1hcnktaGlnaC1yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1oaWdoLXRpY2tl ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQor ICAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtdW5kb3dubG9hZGVkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGdudXMtc3VtbWFyeS1oaWdoLXVucmVh ZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo Z251cy1zdW1tYXJ5LWxvdy1hbmNpZW50ICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWxvdy1yZWFkICgoLGNsYXNzIDpp bmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5 LWxvdy10aWNrZWQgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxyZWQtcmVm aW5lLWZnKSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LWxvdy11bmRvd25sb2FkZWQgKCgsY2xhc3Mg OmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQorICAgIGAo Z251cy1zdW1tYXJ5LWxvdy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC1hbmNpZW50 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChnbnVzLXN1 bW1hcnktbm9ybWFsLXJlYWQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoZ251 cy1zdW1tYXJ5LW5vcm1hbC10aWNrZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3Ro ZXIpKSkNCisgICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXVuZG93bmxvYWRlZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC11bnJlYWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChnbnVzLXN1bW1hcnktc2Vs ZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCis7Ozs7 OyBnb2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KKyAgICBgKGdvbGRlbi1yYXRpby1zY3JvbGwt aGlnaGxpZ2h0LWxpbmUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBoZWxtDQorICAgIGAoaGVsbS1NLXgta2V5 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQorICAgIGAoaGVsbS1hY3Rpb24gKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorICAgIGAoaGVs bS1ib29rbWFyay1hZGRyZXNzYm9vayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkp DQorICAgIGAoaGVsbS1ib29rbWFyay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKGhlbG0tYm9va21hcmstZmlsZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhlbG0tYm9va21hcmstZmlsZS1ub3QtZm91 bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQor ICAgIGAoaGVsbS1ib29rbWFyay1nbnVzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAoaGVsbS1ib29rbWFyay1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dCkpKQ0KKyAgICBgKGhlbG0tYm9va21hcmstbWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0KSkpDQorICAgIGAoaGVsbS1ib29rbWFyay13M20gKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQorICAgIGAoaGVsbS1idWZmZXItYXJjaGl2ZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoaGVsbS1idWZmZXItZGlyZWN0b3J5 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChoZWxt LWJ1ZmZlci1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGVs bS1idWZmZXItbW9kaWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisg ICAgYChoZWxtLWJ1ZmZlci1ub3Qtc2F2ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQp KSkNCisgICAgYChoZWxtLWJ1ZmZlci1wcm9jZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQorICAgIGAoaGVsbS1idWZmZXItc2F2ZWQtb3V0ICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoaGVsbS1i dWZmZXItc2l6ZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChoZWxtLWNhbmRp ZGF0ZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAo aGVsbS1jYW5kaWRhdGUtbnVtYmVyLXN1c3BlbmRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tY29taW50LXByb21wdHMtYnVmZmVyLW5hbWUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGhlbG0tY29taW50LXBy b21wdHMtcHJvbXB0aWR4ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAg ICBgKGhlbG0tZGVsZXRlLWFzeW5jLW1lc3NhZ2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChoZWxtLWVvYi1saW5lICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGVs bS1lc2hlbGwtcHJvbXB0cy1idWZmZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWN0aXZlKSkpDQorICAgIGAoaGVsbS1lc2hlbGwtcHJvbXB0cy1wcm9tcHRpZHggKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAoaGVsbS1ldGFncy1maWxlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0gOnVuZGVybGluZSB0KSkpDQorICAgIGAoaGVsbS1mZi1i YWNrdXAtZmlsZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChoZWxtLWZmLWRl bmllZCAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1yZWQNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQpKSkpDQorICAgIGAoaGVsbS1m Zi1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgaGVsbS1idWZmZXItZGlyZWN0b3J5KSkpDQor ICAgIGAoaGVsbS1mZi1kaXJzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJs dWUtYWx0LW90aGVyKSkpDQorICAgIGAoaGVsbS1mZi1kb3R0ZWQtZGlyZWN0b3J5ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQorICAgIGAoaGVsbS1mZi1kb3R0ZWQtc3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVy aXQgKGJ1dHRvbiBoZWxtLWZmLWRvdHRlZC1kaXJlY3RvcnkpKSkpDQorICAgIGAoaGVsbS1mZi1l eGVjdXRhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGhl bG0tZmYtZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhlbG0t ZmYtZmlsZS1leHRlbnNpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KKyAgICBgKGhlbG0tZmYtaW52YWxpZC1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRv bg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1l cy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlZCByZWQtZmFpbnQpKSkpDQorICAgIGAoaGVsbS1mZi1waXBlICgoLGNsYXNzICxAKG1vZHVz LXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEpKSkpDQorICAgIGAoaGVsbS1mZi1wcmVmaXggKCgsY2xh c3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC15ZWxsb3cNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyKSkpKQ0KKyAg ICBgKGhlbG0tZmYtc29ja2V0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkp DQorICAgIGAoaGVsbS1mZi1zdWlkICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29t cGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1 YnRsZS1yZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJl ZmluZS1yZWQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51 YW5jZWQteWVsbG93DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQpKSkp DQorICAgIGAoaGVsbS1mZi1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KKyAg ICBgKGhlbG0tZmYtdHJ1ZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVy KSkpDQorICAgIGAoaGVsbS1mZC1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFj dGl2ZSkpKQ0KKyAgICBgKGhlbG0tZ3JlcC1jbWQtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tZ3JlcC1maWxlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGhlbG0tZ3Jl cC1maW5pc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKGhl bG0tZ3JlcC1saW5lbm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K KyAgICBgKGhlbG0tZ3JlcC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLWNhbG0pKSkNCisgICAgYChoZWxtLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChoZWxtLWhlYWRlci1saW5lLWxl ZnQtbWFyZ2luICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRl bnNlKSkpDQorICAgIGAoaGVsbS1oaXN0b3J5LWRlbGV0ZWQgKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVkDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtcmVkDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtcmVkDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaGVsbS1oaXN0b3J5LXJlbW90 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKGhlbG0tbGlz cC1jb21wbGV0aW9uLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KKyAgICBgKGhlbG0tbGlzcC1zaG93LWNvbXBsZXRpb24gKCgsY2xhc3MgLEAobW9kdXMtdGhl bWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt bnVhbmNlZC15ZWxsb3cNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHllbGxvdw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J2JvbGQpKSkpDQorICAgIGAoaGVsbS1sb2NhdGUtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChoZWxtLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1zdWJ0bGUtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLXJlZmluZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtbnVhbmNlZC1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFu DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChoZWxtLW1h dGNoLWl0ZW0gKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRy YWwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1u dWFuY2VkLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQt b3RoZXIpKSkpDQorICAgIGAoaGVsbS1taW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyA6aW5oZXJp dCBtaW5pYnVmZmVyLXByb21wdCkpKQ0KKyAgICBgKGhlbG0tbW9jY3VyLWJ1ZmZlciAoKCxjbGFz cyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KKyAgICBgKGhl bG0tbW9kZS1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9u cw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtaW50ZW5zZS1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J2JvbGQpKSkpDQorICAgIGAoaGVsbS1ub24tZmlsZS1idWZmZXIgKCgsY2xhc3MgOmluaGVyaXQg c2hhZG93KSkpDQorICAgIGAoaGVsbS1wcmVmYXJnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQorICAgIGAoaGVsbS1yZXN1bWUtbmVlZC11cGRhdGUgKCgsY2xhc3MgLEAobW9k dXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50 YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1udWFuY2VkLW1hZ2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtYWdlbnRhLWFsdC1vdGhlcikpKSkNCisgICAgYChoZWxtLXNlbGVjdGlvbiAoKCxjbGFz cyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5pbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGhlbG0tc2VsZWN0aW9uLWxpbmUgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoaGVsbS1zZXBhcmF0b3Ig KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKGhlbG0tdGlt ZS16b25lLWN1cnJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoaGVs bS10aW1lLXpvbmUtaG9tZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAgICBg KGhlbG0tc291cmNlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQtYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1l cy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQorICAgIGAoaGVsbS10b3AtY29sdW1u cyAoKCxjbGFzcyA6aW5oZXJpdCBoZWxtLWhlYWRlcikpKQ0KKyAgICBgKGhlbG0tdWNzLWNoYXIg KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChoZWxtLXZp c2libGUtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0K Kzs7Ozs7IGhlbG0tbHMtZ2l0DQorICAgIGAoaGVsbS1scy1naXQtYWRkZWQtY29waWVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCisgICAgYChoZWxtLWxzLWdp dC1hZGRlZC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctaW50ZW5z ZSkpKQ0KKyAgICBgKGhlbG0tbHMtZ2l0LWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCisgICAgYChoZWxtLWxzLWdpdC1kZWxl dGVkLWFuZC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcp KSkNCisgICAgYChoZWxtLWxzLWdpdC1kZWxldGVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoaGVsbS1scy1naXQtbW9kaWZpZWQtYW5kLXN0YWdl ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1mZykpKQ0KKyAgICBg KGhlbG0tbHMtZ2l0LW1vZGlmaWVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93KSkpDQorICAgIGAoaGVsbS1scy1naXQtcmVuYW1lZC1tb2RpZmllZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoaGVsbS1scy1naXQtdW50cmFj a2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7Ozs7 IGhlbG0tc3dpdGNoLXNoZWxsDQorICAgIGAoaGVsbS1zd2l0Y2gtc2hlbGwtbmV3LXNoZWxsLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9ucw0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1z dWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLW1h Z2VudGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KKzs7Ozs7IGhlbG0teHJlZg0KKyAgICBgKGhlbG0t eHJlZi1maWxlLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQorICAgIGAoaGVsbS14cmVmLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorOzs7OzsgaGVscGZ1bA0KKyAgICBgKGhlbHBmdWwt aGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTEpKSkNCis7Ozs7 OyBoaWdobGlnaHQgcmVnaW9uIG9yIGFkLWhvYyByZWdleHANCisgICAgYChoaS1hcXVhbWFyaW5l ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KKyAgICBgKGhpLWJsYWNrLWIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3Vu ZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKGhpLWJsYWNrLWhiICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdyb3VuZCAsYmct bWFpbikpKQ0KKyAgICBgKGhpLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtc3VidGxl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGktYmx1ZS1iICgoLGNsYXNzIDpp bmhlcml0IChib2xkIGhpLWJsdWUpKSkpDQorICAgIGAoaGktZ3JlZW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGdyZWVuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhp LWdyZWVuLWIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgaGktZ3JlZW4pKSkpDQorICAgIGAoaGkt cGluayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1zdWJ0bGUtYmcgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChoaS1waW5rLWIgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgaGkt cGluaykpKSkNCisgICAgYChoaS1yZWQtYiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3Jv dW5kICxyZWQtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpLXNh bG1vbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKGhpLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1 YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGhpZ2hsaWdodC1j aGFuZ2VzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAo aGlnaGxpZ2h0LWNoYW5nZXMtZGVsZXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90 aGVyIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGhsLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGwtbGluZSkpKQ0KKzs7Ozs7IGhpZ2hsaWdodC1ibG9ja3MNCisgICAgYChoaWdo bGlnaHQtYmxvY2tzLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0yLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K KyAgICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtMy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoaWdobGln aHQtYmxvY2tzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1j YWxtIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0 aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtd2FybSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKGhpZ2hsaWdodC1ibG9ja3MtZGVwdGgtNi1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLW1pbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChoaWdobGlnaHQt YmxvY2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC05LWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4tc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQorOzs7OzsgaGlnaGxpZ2h0LWRlZmluZWQNCisgICAgYChoaWdobGlnaHQtZGVmaW5lZC1i dWlsdGluLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KKyAgICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZhY2UtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtZnVuY3Rpb24tbmFt ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoaGlnaGxpZ2h0 LWRlZmluZWQtbWFjcm8tbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KKyAgICBgKGhpZ2hsaWdodC1kZWZpbmVkLXNwZWNpYWwtZm9ybS1uYW1lLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoaGlnaGxpZ2h0 LWRlZmluZWQtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQorOzs7OzsgaGlnaGxpZ2h0LWVzY2FwZS1zZXF1ZW5jZXMgKGBoZXMtbW9kZScpDQorICAgIGAo aGVzLWVzY2FwZS1iYWNrc2xhc2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCisgICAgYChoZXMtZXNjYXBlLXNlcXVl bmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNo YXItYmFja3NsYXNoKSkpDQorOzs7OzsgaGlnaGxpZ2h0LWluZGVudGF0aW9uDQorICAgIGAoaGln aGxpZ2h0LWluZGVudGF0aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwt bGluZSkpKQ0KKyAgICBgKGhpZ2hsaWdodC1pbmRlbnRhdGlvbi1jdXJyZW50LWNvbHVtbi1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCis7Ozs7OyBoaWdobGlnaHQtbnVt YmVycw0KKyAgICBgKGhpZ2hsaWdodC1udW1iZXJzLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCis7Ozs7OyBoaWdobGlnaHQtc3ltYm9sDQorICAgIGAoaGln aGxpZ2h0LXN5bWJvbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt bWlsZCkpKQ0KKzs7Ozs7IGhpZ2hsaWdodC10aGluZw0KKyAgICBgKGhpZ2hsaWdodC10aGluZyAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7Ozsg aGwtZGVmaW5lZA0KKyAgICBgKGhkZWZkLWZ1bmN0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KKyAgICBgKGhkZWZkLXVuZGVmaW5lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KKyAgICBgKGhkZWZkLXZhcmlhYmxlcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lh bi1hbHQpKSkNCis7Ozs7OyBobC1maWxsLWNvbHVtbg0KKyAgICBgKGhsLWZpbGwtY29sdW1uLWZh Y2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZl KSkpDQorOzs7OzsgaGwtdG9kbw0KKyAgICBgKGhsLXRvZG8gKCgsY2xhc3MgOmluaGVyaXQgKGJv bGQgbW9kdXMtdGhlbWUtc2xhbnQpIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQorOzs7 OzsgaHlkcmENCisgICAgYChoeWRyYS1mYWNlLWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGh5ZHJhLWZhY2UtYmx1ZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGh5ZHJhLWZh Y2UtcGluayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkp KQ0KKyAgICBgKGh5ZHJhLWZhY2UtcmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZCkpKQ0KKyAgICBgKGh5ZHJhLWZhY2UtdGVhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorOzs7OzsgaHlwZXJsaXN0DQorICAgIGAoaHlwZXJsaXN0 LWNvbmRpdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChoeXBlcmxp c3QtaGFzaHRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoaHlwZXJs aXN0LW9wZXJhdG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKGh5 cGVybGlzdC1wYXJlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisg ICAgYChoeXBlcmxpc3QtcXVvdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQor ICAgIGAoaHlwZXJsaXN0LXJlZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCisgICAgYChoeXBlcmxpc3Qtc3RhcnMgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkp DQorICAgIGAoaHlwZXJsaXN0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAg IGAoaHlwZXJsaXN0LXRvcGxldmVsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCis7Ozs7OyBpY29tcGxldGUNCisgICAgYChpY29tcGxldGUtZmlyc3QtbWF0 Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgYmctYWx0DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1tYWluKSkpKQ0KKzs7 Ozs7IGljb21wbGV0ZS12ZXJ0aWNhbA0KKyAgICBgKGljb21wbGV0ZS12ZXJ0aWNhbC1zZXBhcmF0 b3IgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorOzs7OzsgaWRvLW1vZGUNCisgICAgYChp ZG8tZmlyc3QtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEgYmctYWx0DQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFjdGl2ZSBmZy1tYWluKSkpKQ0KKyAgICBgKGlk by1pbmNvbXBsZXRlLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKGlk by1pbmRpY2F0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykp KQ0KKyAgICBgKGlkby1vbmx5LW1hdGNoICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBsZXRp b25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tbnVhbmNl ZC1iZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWludGVuc2UtYmcg ZmctbWFpbikpKSkNCisgICAgYChpZG8tc3ViZGlyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl KSkpDQorICAgIGAoaWRvLXZpcnR1YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KKzs7Ozs7IGllZGl0DQorICAgIGAoaWVkaXQtb2NjdXJyZW5jZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKGllZGl0LXJlYWQtb25s eS1vY2N1cnJlbmNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93 KSkpDQorOzs7OzsgaWZsaXBiDQorICAgIGAoaWZsaXBiLWN1cnJlbnQtYnVmZmVyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChpZmxp cGItb3RoZXItYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorOzs7Ozsg aW1lbnUtbGlzdA0KKyAgICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0wICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuKSkpDQorICAgIGAoaW1lbnUtbGlzdC1lbnRyeS1mYWNlLTEgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2UtMiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChpbWVudS1saXN0LWVu dHJ5LWZhY2UtMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChpbWVu dS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChpbWVudS1s aXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKGltZW51LWxpc3QtZW50cnktc3Vi YWxpc3QtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChpbWVudS1saXN0LWVudHJ5LXN1YmFsaXN0 LWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVy IDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IGluZGl1bQ0KKyAgICBgKGluZGl1bS1icmVha3BvaW50 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisgICAgYChpbmRpdW0t ZnJhbWUtdXJsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxmZy1h bHQpKSkNCisgICAgYChpbmRpdW0ta2V5d29yZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGluZGl1bS1saXRhYmxlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KKyAgICBgKGluZGl1bS1yZXBsLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAoaW5kaXVtLXJlcGwtcHJvbXB0LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoaW5kaXVtLXJlcGwtc3Rk b3V0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBpbmZvDQor ICAgIGAoSW5mby1xdW90ZWQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1taXhlZC1mb250cykg OyB0aGUgY2FwaXRhbGl6YXRpb24gaXMgY2Fub25pY2FsDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkp DQorICAgIGAoaW5mby1oZWFkZXItbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCisgICAgYChpbmZvLWhlYWRlci14cmVmICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGluZm8taW5kZXgtbWF0Y2ggKCgsY2xhc3MgOmlu aGVyaXQgbWF0Y2gpKSkNCisgICAgYChpbmZvLW1lbnUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKGluZm8tbWVudS1zdGFyICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChpbmZvLW5vZGUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCkpKQ0KKyAgICBgKGluZm8tdGl0bGUtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTEpKSkNCisgICAgYChpbmZvLXRpdGxlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy0yKSkpDQorICAgIGAoaW5mby10aXRsZS0zICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKGluZm8tdGl0bGUtNCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCis7Ozs7OyBpbmZvLWNvbG9ycw0K KyAgICBgKGluZm8tY29sb3JzLWxpc3AtY29kZS1ibG9jayAoKCxjbGFzcyA6aW5oZXJpdCBmaXhl ZC1waXRjaCkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLWNvbW1hbmQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1jb25z dGFudCAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQ0KKyAgICBg KGluZm8tY29sb3JzLXJlZi1pdGVtLWZ1bmN0aW9uICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1tYWNy byAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAoaW5m by1jb2xvcnMtcmVmLWl0ZW0tb3RoZXIgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWRvYy1m YWNlKSkpDQorICAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tc3BlY2lhbC1mb3JtICgoLGNsYXNz IDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYChpbmZvLWNvbG9ycy1y ZWYtaXRlbS1zeW50YXgtY2xhc3MgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4t ZmFjZSkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXR5cGUgKCgsY2xhc3MgOmluaGVy aXQgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQ0KKyAgICBgKGluZm8tY29sb3JzLXJlZi1pdGVtLXVz ZXItb3B0aW9uICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2Up KSkNCisgICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS12YXJpYWJsZSAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorOzs7OzsgaW50ZXJhY3Rpb24tbG9n DQorICAgIGAoaWxvZy1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h bHQtb3RoZXIpKSkNCisgICAgYChpbG9nLWNoYW5nZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKGlsb2ctZWNoby1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAoaWxvZy1sb2FkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoaWxvZy1tZXNzYWdlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoaWxvZy1ub24tY2hhbmdlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCis7Ozs7OyBpb2NjdXINCisgICAgYChpb2NjdXItY3Vyc29y ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaW9jY3VyLWludmFsaWQt cmVnZXhwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChpb2NjdXItbWF0Y2gt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAg YChpb2NjdXItbWF0Y2gtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtY29sZCA6ZXh0ZW5kIHQpKSkNCisgICAgYChpb2NjdXItbnVtLWxpbmUtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAoaW9jY3VyLW92 ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSA6ZXh0 ZW5kIHQpKSkNCisgICAgYChpb2NjdXItcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1v ZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0KKyAgICBgKGlvY2N1ci10aXRsZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRo ZW1lcy1zY2FsZS00KSkpKQ0KKzs7Ozs7IGlzZWFyY2gsIG9jY3VyLCBhbmQgdGhlIGxpa2UNCisg ICAgYChpc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu IGJvbGQpKSkpDQorICAgIGAoaXNlYXJjaC1mYWlsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1yZWQpKSkNCisgICAgYChpc2VhcmNoLWdyb3VwLTEgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAoaXNlYXJjaC1ncm91cC0yICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KKyAgICBgKGxh enktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkp DQorICAgIGAobWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxt KSkpDQorICAgIGAocXVlcnktcmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUt aW50ZW5zZS15ZWxsb3cgYm9sZCkpKSkNCis7Ozs7OyBpc2wgKGlzZWFyY2gtbGlnaHQpDQorICAg IGAoaXNsLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkp DQorICAgIGAoaXNsLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1j eWFuKSkpDQorICAgIGAoaXNsLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1i b2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChpc2wtb24gKCgsY2xhc3Mg OmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKSkNCisgICAgYChpc2wt c3RyaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWN0aXZlKSkpDQorOzs7OzsgaXZ5DQorICAgIGAoaXZ5LWFjdGlvbiAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAoaXZ5LWNvbXBsZXRpb25z LWFubm90YXRpb25zICgoLGNsYXNzIDppbmhlcml0IGNvbXBsZXRpb25zLWFubm90YXRpb25zKSkp DQorICAgIGAoaXZ5LWNvbmZpcm0tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K KyAgICBgKGl2eS1jdXJyZW50LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEt Y29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtcmVmaW5lLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG5pbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdi b2xkKSkpKQ0KKyAgICBgKGl2eS1jdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4g OmZvcmVncm91bmQgLGJnLW1haW4pKSkNCisgICAgYChpdnktZ3JlcC1pbmZvICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKGl2eS1ncmVwLWxpbmUtbnVtYmVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChpdnktaGlnaGxpZ2h0 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChpdnktbWF0Y2gt cmVxdWlyZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKGl2eS1taW5p YnVmZmVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWV4dHJhLWNvbXBs ZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdt b2R1cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmct YWx0KSkpKQ0KKyAgICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyAsQCht b2R1cy10aGVtZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4NCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmlu ZS1ncmVlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQorICAgIGAoaXZ5LW1pbmlidWZmZXIt bWF0Y2gtZmFjZS0zICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXN1YnRsZS1ibHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0K KyAgICBgKGl2eS1taW5pYnVmZmVyLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyAsQChtb2R1cy10aGVt ZXMtLWV4dHJhLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2Vu dGENCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcg0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCisgICAgYChpdnktbWluaWJ1ZmZlci1t YXRjaC1oaWdobGlnaHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1leHRyYS1jb21wbGV0aW9u cw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtc3VidGxlLWN5YW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtY3lhbg0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1j eWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5 YW4tYWx0LW90aGVyDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdib2xkKSkpKQ0KKyAgICBgKGl2eS1tb2RpZmllZC1idWZmZXIgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKGl2 eS1tb2RpZmllZC1vdXRzaWRlLWJ1ZmZlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z bGFudCA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKGl2eS1vcmcgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoaXZ5LXByb21wdC1tYXRjaCAo KCxjbGFzcyA6aW5oZXJpdCBpdnktY3VycmVudC1tYXRjaCkpKQ0KKyAgICBgKGl2eS1yZW1vdGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChpdnktc2VwYXJhdG9yICgo LGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKGl2eS1zdWJkaXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAoaXZ5LXZpcnR1YWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAoaXZ5LXlhbmtlZC13b3Jk ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVl DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0KSkpKQ0KKzs7Ozs7 IGl2eS1wb3NmcmFtZQ0KKyAgICBgKGl2eS1wb3NmcmFtZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctZGltIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoaXZ5LXBvc2ZyYW1lLWJvcmRl ciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIpKSkNCisgICAg YChpdnktcG9zZnJhbWUtY3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluIDpmb3Jl Z3JvdW5kICxiZy1tYWluKSkpDQorOzs7OzsgamlyYSAob3JnLWppcmEpDQorICAgIGAoamlyYWxp Yi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKGpp cmFsaWItY29tbWVudC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAg IGAoamlyYWxpYi1pc3N1ZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3BlY2lhbC13YXJtKSkpDQorICAgIGAoamlyYWxpYi1pc3N1ZS1pbmZvLWhlYWRlci1mYWNlICgo LGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zcGVjaWFsLXdhcm0gYm9sZCkpKSkNCisgICAg YChqaXJhbGliLWlzc3VlLXN1bW1hcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQor ICAgIGAoamlyYWxpYi1saW5rLWZpbHRlci1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKGppcmFsaWItbGluay1pc3N1ZS1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0K KyAgICBgKGppcmFsaWItbGluay1wcm9qZWN0LWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkp DQorOzs7Ozsgam91cm5hbGN0bC1tb2RlDQorICAgIGAoam91cm5hbGN0bC1lcnJvci1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKGpvdXJuYWxj dGwtZmluaXNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KKyAgICBgKGpvdXJuYWxjdGwtaG9zdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQorICAgIGAoam91cm5hbGN0bC1wcm9jZXNzLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoam91cm5hbGN0bC1zdGFydGluZy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKGpvdXJuYWxjdGwtdGltZXN0YW1w LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKGpv dXJuYWxjdGwtd2FybmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KKzs7Ozs7IGpzMi1tb2RlDQorICAgIGAoanMyLWVycm9yICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChqczItZXh0ZXJuYWwtdmFyaWFibGUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoanMyLWZ1bmN0aW9uLWNhbGwg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChqczItZnVuY3Rpb24tcGFy YW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChqczItaW5zdGFuY2UtbWVt YmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGpz Mi1qc2RvYy1odG1sLXRhZy1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4p KSkNCisgICAgYChqczItanNkb2MtaHRtbC10YWctbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbikpKQ0KKyAgICBgKGpzMi1qc2RvYy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtY2FsbSkpKQ0KKyAgICBgKGpzMi1qc2RvYy10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChqczItanNkb2MtdmFsdWUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKGpzMi1vYmplY3QtcHJvcGVydHkg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChqczItb2JqZWN0LXByb3Bl cnR5LWFjY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKGpzMi1w cml2YXRlLWZ1bmN0aW9uLWNhbGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhl cikpKQ0KKyAgICBgKGpzMi1wcml2YXRlLW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1taWxkKSkpDQorICAgIGAoanMyLXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdy1hbHQgOnVuZGVybGluZSB0KSkpDQorOzs7OzsganVsaWENCisgICAgYChqdWxpYS1t YWNyby1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCisgICAgYChqdWxpYS1xdW90ZWQtc3ltYm9sLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorOzs7OzsganVweXRlcg0KKyAgICBgKGp1cHl0 ZXItZXZhbC1vdmVybGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUp KSkNCisgICAgYChqdXB5dGVyLXJlcGwtaW5wdXQtcHJvbXB0ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKGp1cHl0ZXItcmVwbC1vdXRwdXQtcHJvbXB0ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKGp1cHl0ZXIt cmVwbC10cmFjZWJhY2sgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQp KSkNCis7Ozs7OyBrYW9jaGEtcnVubmVyDQorICAgIGAoa2FvY2hhLXJ1bm5lci1lcnJvci1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChrYW9jaGEtcnVubmVyLXN1Y2Nl c3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChrYW9jaGEtcnVu bmVyLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorOzs7Ozsg a2V5Y2FzdA0KKyAgICBgKGtleWNhc3QtY29tbWFuZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKGtleWNhc3Qta2V5ICgoLGNsYXNzICxA KG1vZHVzLXRoZW1lcy0tbW9kZS1saW5lLWF0dHJzDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctbWFpbiBibHVlLWFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJnLW1haW4gYmx1ZS1hY3RpdmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVl LWFjdGl2ZSBibHVlLWludGVuc2UNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWx0 LXN0eWxlIC0zKSkpKQ0KKzs7Ozs7IGxpbmUgbnVtYmVycyAoZGlzcGxheS1saW5lLW51bWJlcnMt bW9kZSBhbmQgZ2xvYmFsIHZhcmlhbnQpDQorICAgIGAobGluZS1udW1iZXINCisgICAgICAoKCxj bGFzcyA6aW5oZXJpdCBkZWZhdWx0DQorICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1s aW5lLW51bWJlcnMNCisgICAgICAgICAgICAgICAgICBmZy1hbHQgYmctZGltDQorICAgICAgICAg ICAgICAgICAgZmctdW5mb2N1c2VkKSkpKQ0KKyAgICBgKGxpbmUtbnVtYmVyLWN1cnJlbnQtbGlu ZQ0KKyAgICAgICgoLGNsYXNzIDppbmhlcml0IChib2xkIGRlZmF1bHQpDQorICAgICAgICAgICAg ICAgLEAobW9kdXMtdGhlbWVzLS1saW5lLW51bWJlcnMNCisgICAgICAgICAgICAgICAgICBmZy1t YWluIGJnLWFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyKSkpKQ0KKyAg ICBgKGxpbmUtbnVtYmVyLW1ham9yLXRpY2sNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCAoYm9s ZCBkZWZhdWx0KQ0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluZS1udW1iZXJz DQorICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtZmcgeWVsbG93LW51YW5jZWQtYmcN CisgICAgICAgICAgICAgICAgICByZWQtYWx0KSkpKQ0KKyAgICBgKGxpbmUtbnVtYmVyLW1pbm9y LXRpY2sNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0KQ0KKyAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluZS1udW1iZXJzDQorICAgICAgICAgICAgICAgICAg ZmctYWx0IGJnLWluYWN0aXZlDQorICAgICAgICAgICAgICAgICAgZmctaW5hY3RpdmUpKSkpDQor Ozs7OzsgbHNwLW1vZGUNCisgICAgYChsc3AtZmFjZS1oaWdobGlnaHQtcmVhZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChs c3AtZmFjZS1oaWdobGlnaHQtdGV4dHVhbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtYmx1ZSkpKQ0KKyAgICBgKGxzcC1mYWNlLWhpZ2hsaWdodC13cml0ZSAoKCxjbGFzcyA6 aW5oZXJpdCAobW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgYm9sZCkpKSkNCisgICAgYChsc3AtZmFj ZS1zZW1obC1jb25zdGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN CisgICAgYChsc3AtZmFjZS1zZW1obC1kZXByZWNhdGVkDQorICAgICAgKCgsKGFwcGVuZCAnKChz dXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCisgICAgICAgIDpmb3Jl Z3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKQ0KKyAgICAgICAoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGluZSB0KSkpDQorICAgIGAobHNwLWZhY2Utc2Vt aGwtZW51bW1lbWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCisg ICAgYChsc3AtZmFjZS1zZW1obC1maWVsZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQp KSkNCisgICAgYChsc3AtZmFjZS1zZW1obC1maWVsZC1zdGF0aWMgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAobHNwLWZh Y2Utc2VtaGwtZnVuY3Rpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAg YChsc3AtZmFjZS1zZW1obC1tZXRob2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN CisgICAgYChsc3AtZmFjZS1zZW1obC1uYW1lc3BhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFjZS1z ZW1obC1wcmVwcm9jZXNzb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkN CisgICAgYChsc3AtZmFjZS1zZW1obC1zdGF0aWMtbWV0aG9kICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobHNwLWZhY2Ut c2VtaGwtdHlwZS1jbGFzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisg ICAgYChsc3AtZmFjZS1zZW1obC10eXBlLWVudW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1wcmltaXRpdmUgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQor ICAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS10ZW1wbGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChsc3AtZmFj ZS1zZW1obC10eXBlLXR5cGVkZWYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFi bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChsc3AtZmFjZS1zZW1obC12 YXJpYWJsZS1sb2NhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKGxzcC1m YWNlLXNlbWhsLXZhcmlhYmxlLXBhcmFtZXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCisgICAgYChsc3AtbGVucy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChsc3AtbGVucy1tb3VzZS1mYWNlICgoLGNsYXNz IDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkN CisgICAgYChsc3AtdWktZG9jLWJhY2tncm91bmQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCkpKQ0KKyAgICBgKGxzcC11aS1kb2MtaGVhZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1o ZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KKyAgICBgKGxzcC11aS1kb2MtdXJsICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKGxzcC11aS1wZWVrLWZpbGVuYW1lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChsc3AtdWktcGVl ay1mb290ZXIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmct aGVhZGVyKSkpDQorICAgIGAobHNwLXVpLXBlZWstaGVhZGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1oZWFkZXIgOmZvcmVncm91bmQgLGZnLWhlYWRlcikpKQ0KKyAgICBgKGxzcC11aS1wZWVr LWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0K KyAgICBgKGxzcC11aS1wZWVrLWxpbmUtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykp KQ0KKyAgICBgKGxzcC11aS1wZWVrLWxpc3QgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkp KQ0KKyAgICBgKGxzcC11aS1wZWVrLXBlZWsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkp KQ0KKyAgICBgKGxzcC11aS1wZWVrLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKGxzcC11aS1zaWRlbGluZS1jb2RlLWFjdGlvbiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobHNwLXVpLXNpZGVsaW5lLWN1 cnJlbnQtc3ltYm9sICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdodCAwLjk5IDpib3ggKDps aW5lLXdpZHRoIC0xIDpzdHlsZSBuaWwpIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAo bHNwLXVpLXNpZGVsaW5lLXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMC45 OSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQorICAgIGAobHNwLXVpLXNpZGVsaW5lLXN5bWJvbC1pbmZvICgoLGNsYXNzIDppbmhlcml0IGl0 YWxpYyA6aGVpZ2h0IDAuOTkpKSkNCis7Ozs7OyBtYWNyb3N0ZXANCisgICAgYChtYWNyb3N0ZXAt Y29tcGlsZXItbWFjcm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMpKSkNCisgICAgYCht YWNyb3N0ZXAtZXhwYW5zaW9uLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi bHVlLW51YW5jZWQtYmcpKSkNCisgICAgYChtYWNyb3N0ZXAtZ2Vuc3ltLTEgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSA6Ym94IHQpKSkNCisgICAgYChtYWNyb3N0ZXAt Z2Vuc3ltLTIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4gOmJveCB0 KSkpDQorICAgIGAobWFjcm9zdGVwLWdlbnN5bS0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHllbGxvdyA6Ym94IHQpKSkNCisgICAgYChtYWNyb3N0ZXAtZ2Vuc3ltLTQgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkIDpib3ggdCkpKQ0KKyAgICBgKG1h Y3Jvc3RlcC1nZW5zeW0tNSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdl bnRhIDpib3ggdCkpKQ0KKyAgICBgKG1hY3Jvc3RlcC1tYWNyby1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorOzs7OzsgbWFnaXQNCisgICAg YChtYWdpdC1iaXNlY3QtYmFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkp DQorICAgIGAobWFnaXQtYmlzZWN0LWdvb2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KKyAgICBgKG1hZ2l0LWJpc2VjdC1za2lwICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAobWFnaXQtYmxhbWUtZGF0ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG1hZ2l0LWJsYW1lLWRpbW1lZCAoKCxjbGFzcyA6 aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChtYWdpdC1ibGFtZS1oYXNoICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtYWdpdC1ibGFtZS1oZWFkaW5nICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisgICAgYChtYWdpdC1ibGFtZS1oaWdobGln aHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKSkpDQorICAgIGAo bWFnaXQtYmxhbWUtbWFyZ2luICgoLGNsYXNzIDppbmhlcml0IG1hZ2l0LWJsYW1lLWhpZ2hsaWdo dCkpKQ0KKyAgICBgKG1hZ2l0LWJsYW1lLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0LW90aGVyKSkpDQorICAgIGAobWFnaXQtYmxhbWUtc3VtbWFyeSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChtYWdpdC1icmFuY2gtY3VycmVudCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmJveCB0KSkpDQorICAgIGAobWFn aXQtYnJhbmNoLWxvY2FsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBg KG1hZ2l0LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkp DQorICAgIGAobWFnaXQtYnJhbmNoLXJlbW90ZS1oZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlciA6Ym94IHQpKSkNCisgICAgYChtYWdpdC1icmFuY2gtdXBzdHJlYW0g KCgsY2xhc3MgOmluaGVyaXQgaXRhbGljKSkpDQorICAgIGAobWFnaXQtY2hlcnJ5LWVxdWl2YWxl bnQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50 ZW5zZSkpKQ0KKyAgICBgKG1hZ2l0LWNoZXJyeS11bm1hdGNoZWQgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGN5YW4taW50ZW5zZSkpKQ0KKyAgICA7OyBOT1RFOiBo ZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KKyAg ICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFjZXMsIHRob3VnaCBvbmx5IGZvciB0aGUgc3RhbmRh cmQgYWN0aW9ucywNCisgICAgOzsgbm90IHRoZSBoaWdobGlnaHRlZCBvbmVzLiAgVGhpcyBpcyBi ZWNhdXNlIE1hZ2l0J3MgaW50ZXJhY3Rpb24NCisgICAgOzsgbW9kZWwgcmVsaWVzIG9uIGhpZ2hs aWdodGluZyB0aGUgY3VycmVudCBkaWZmIGh1bmsuDQorICAgIGAobWFnaXQtZGlmZi1hZGRlZCAo KCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJnLW1haW4gZ3JlZW4NCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFkZGVkDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLWFkZGVkLWRldXRlcmFuIGZnLWRpZmYtYWRk ZWQtZGV1dGVyYW4pKSkpDQorICAgIGAobWFnaXQtZGlmZi1hZGRlZC1oaWdobGlnaHQgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1hZGRlZCkpKQ0KKyAgICBgKG1hZ2l0 LWRpZmYtYmFzZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLWRpZmYNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmctbWFpbiB5ZWxsb3cNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNoYW5n ZWQpKSkpDQorICAgIGAobWFnaXQtZGlmZi1iYXNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQpKSkNCisgICAgYChtYWdpdC1kaWZmLWNv bnRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKG1hZ2l0 LWRpZmYtY29udGV4dC1oaWdobGlnaHQgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1kaWZmDQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmct ZGltDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1p bmFjdGl2ZSBmZy1pbmFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmctZGltIGZnLWFsdCkpKSkNCisgICAgYChtYWdpdC1kaWZmLWZpbGUtaGVh ZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1oaWdobGlnaHQgKCgsY2xhc3MgOmlu aGVyaXQgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY29sZCBib2xkKSkpKQ0KKyAgICBgKG1hZ2l0LWRp ZmYtZmlsZS1oZWFkaW5nLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtY3lhbikpKQ0KKyAgICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRl cm4gb2YgaW5oZXJpdGluZyBmcm9tIHRoZQ0KKyAgICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFj ZXMuDQorICAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6YmFja2dyb3VuZCAsYmctYWN0aXZlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAgIGAobWFnaXQtZGlmZi1o dW5rLWhlYWRpbmctaGlnaGxpZ2h0DQorICAgICAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KKyAg ICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxAKG1vZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJhbiBi Zy1yZWdpb24gYmctZGlmZi1oZWFkaW5nKQ0KKyAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxA KG1vZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJhbiBmZy1tYWluIGZnLWRpZmYtaGVhZGluZykpKSkN CisgICAgYChtYWdpdC1kaWZmLWh1bmstaGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUpKSkNCisgICAgYChtYWdpdC1kaWZmLWh1bmstcmVn aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCisgICAgYChtYWdpdC1kaWZmLWxpbmVzLWJv dW5kYXJ5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobWFnaXQtZGlm Zi1saW5lcy1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdl bnRhKSkpDQorICAgIGAobWFnaXQtZGlmZi1yZW1vdmVkICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tZGlmZg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIHJl ZA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQg ZmctZGlmZi1yZW1vdmVkDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl ZC1udWFuY2VkLWJnIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCisgICAgYChtYWdpdC1kaWZmLXJlbW92 ZWQtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVt b3ZlZCkpKQ0KKyAgICBgKG1hZ2l0LWRpZmZzdGF0LWFkZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxAKG1vZHVzLXRoZW1lcy0tZGlmZi1kZXV0ZXJhbiBibHVlIGdyZWVuKSkpKQ0KKyAgICBgKG1h Z2l0LWRpZmZzdGF0LXJlbW92ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBg KG1hZ2l0LWRpbW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAg IGAobWFnaXQtZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KKyAgICBgKG1hZ2l0LWhhc2ggKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAo bWFnaXQtaGVhZCAoKCxjbGFzcyA6aW5oZXJpdCBtYWdpdC1icmFuY2gtbG9jYWwpKSkNCisgICAg YChtYWdpdC1oZWFkZXItbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG1hZ2l0LWhlYWRlci1saW5lLWtleSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKG1hZ2l0LWhl YWRlci1saW5lLWxvZy1zZWxlY3QgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctbWFpbikpKQ0KKyAgICBgKG1hZ2l0LWtleXdvcmQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEpKSkNCisgICAgYChtYWdpdC1rZXl3b3JkLXNxdWFzaCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQorICAgIGAobWFnaXQtbG9nLWF1 dGhvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1hZ2l0LWxvZy1kYXRl ICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG1hZ2l0LWxvZy1ncmFwaCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAobWFnaXQtbW9kZS1saW5lLXByb2Nl c3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisg ICAgYChtYWdpdC1tb2RlLWxpbmUtcHJvY2Vzcy1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAobWFnaXQtcHJvY2Vzcy1uZyAoKCxj bGFzcyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKG1hZ2l0LXByb2Nlc3Mtb2sgKCgsY2xhc3Mg OmluaGVyaXQgc3VjY2VzcykpKQ0KKyAgICBgKG1hZ2l0LXJlZmxvZy1hbWVuZCAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAg IGAobWFnaXQtcmVmbG9nLWNoZWNrb3V0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctY2hlcnJ5LXBp Y2sgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVu c2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctY29tbWl0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1tYWluIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAobWFnaXQtcmVmbG9n LW1lcmdlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxncmVlbi1p bnRlbnNlKSkpDQorICAgIGAobWFnaXQtcmVmbG9nLW90aGVyICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZs b2ctcmViYXNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWludGVuc2UpKSkNCisgICAgYChtYWdpdC1yZWZsb2ctcmVtb3RlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCisgICAgYChtYWdp dC1yZWZsb2ctcmVzZXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQg LHJlZC1pbnRlbnNlKSkpDQorICAgIGAobWFnaXQtcmVmbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBz aGFkb3cpKSkNCisgICAgYChtYWdpdC1yZWZuYW1lLXB1bGxyZXEgKCgsY2xhc3MgOmluaGVyaXQg c2hhZG93KSkpDQorICAgIGAobWFnaXQtcmVmbmFtZS1zdGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBz aGFkb3cpKSkNCisgICAgYChtYWdpdC1yZWZuYW1lLXdpcCAoKCxjbGFzcyA6aW5oZXJpdCBzaGFk b3cpKSkNCisgICAgYChtYWdpdC1zZWN0aW9uICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0g OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtYWdpdC1zZWN0aW9uLWhlYWRpbmcgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1hZ2l0LXNl Y3Rpb24taGVhZGluZy1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJl ZmluZS1jeWFuIGJvbGQpKSkpDQorICAgIGAobWFnaXQtc2VjdGlvbi1oaWdobGlnaHQgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLWRvbmUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNlcXVlbmNlLWRy b3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChtYWdpdC1zZXF1ZW5j ZS1leGVjICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG1hZ2l0 LXNlcXVlbmNlLWhlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQorICAgIGAo bWFnaXQtc2VxdWVuY2Utb250byAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYCht YWdpdC1zZXF1ZW5jZS1wYXJ0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQor ICAgIGAobWFnaXQtc2VxdWVuY2UtcGljayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQp KSkNCisgICAgYChtYWdpdC1zZXF1ZW5jZS1zdG9wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQp KSkNCisgICAgYChtYWdpdC1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG1hZ2l0LXNpZ25hdHVyZS1lcnJvciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KKyAgICBgKG1hZ2l0LXNpZ25hdHVyZS1leHBpcmVkICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChtYWdpdC1zaWduYXR1cmUtZXhw aXJlZC1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKG1hZ2l0LXNp Z25hdHVyZS1nb29kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKG1hZ2l0 LXNpZ25hdHVyZS1yZXZva2VkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAg IGAobWFnaXQtc2lnbmF0dXJlLXVudHJ1c3RlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KKyAgICBgKG1hZ2l0LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhl cikpKQ0KKzs7Ozs7IG1hZ2l0LWltZXJnZQ0KKyAgICBgKG1hZ2l0LWltZXJnZS1vdmVycmlkaW5n LXZhbHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCis7 Ozs7OyBtYWtlLW1vZGUgKG1ha2VmaWxlcykNCisgICAgYChtYWtlZmlsZS1tYWtlcHAtcGVybCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1udWFuY2VkLWJnKSkpDQorICAgIGAobWFrZWZpbGUt c3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1iZykpKQ0KKzs7Ozs7 IG1hbg0KKyAgICBgKE1hbi1vdmVyc3RyaWtlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChNYW4tcmV2ZXJzZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KKyAgICBgKE1hbi11bmRlcmxpbmUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4gOnVuZGVybGluZSB0KSkpDQorOzs7OzsgbWFyZ2luYWxpYQ0K KyAgICBgKG1hcmdpbmFsaWEtYXJjaGl2ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tbnVh bmNlZC1mZykpKQ0KKyAgICBgKG1hcmdpbmFsaWEtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAobWFyZ2luYWxpYS1jaGFyICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAobWFyZ2luYWxpYS1kb2N1bWVudGF0aW9uICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOmluaGVyaXQgbW9kdXMtdGhlbWUt c2xhbnQpKSkNCisgICAgYChtYXJnaW5hbGlhLWZpbGUtbW9kZXMgKCgsY2xhc3MgOmluaGVyaXQg c2hhZG93KSkpDQorICAgIGAobWFyZ2luYWxpYS1maWxlLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG1hcmdpbmFsaWEtZmlsZS1vd25lciAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChtYXJnaW5hbGlhLWtl eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCisgICAgYChtYXJnaW5h bGlhLW1vZGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAobWFy Z2luYWxpYS1tb2RpZmllZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSkpKQ0K KyAgICBgKG1hcmdpbmFsaWEtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2 ZSkpKQ0KKyAgICBgKG1hcmdpbmFsaWEtc2l6ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWN0aXZlKSkpDQorICAgIGAobWFyZ2luYWxpYS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtYXJnaW5hbGlhLXZhcmlhYmxlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmdpbmFsaWEtdmVyc2lv biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCis7Ozs7OyBtYXJrZG93bi1t b2RlDQorICAgIGAobWFya2Rvd24tYmxvY2txdW90ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCht YXJrZG93bi1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAgICBgKG1hcmtk b3duLWNvZGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKSA6YmFj a2dyb3VuZCAsYmctZGltIDpleHRlbmQgdCkpKQ0KKyAgICBgKG1hcmtkb3duLWNvbW1lbnQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAobWFy a2Rvd24tZm9vdG5vdGUtbWFya2VyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChtYXJrZG93bi1mb290bm90ZS10ZXh0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN CisgICAgYChtYXJrZG93bi1nZm0tY2hlY2tib3gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Y3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZGVsaW1pdGVyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkp DQorICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UgKCh0IG5pbCkpKQ0KKyAgICBgKG1hcmtkb3du LWhlYWRlci1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkp DQorICAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTIpKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS0zICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMykpKQ0KKyAgICBgKG1hcmtkb3duLWhlYWRl ci1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQorICAg IGAobWFya2Rvd24taGVhZGVyLWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTUpKSkNCisgICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS02ICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNikpKQ0KKyAgICBgKG1hcmtkb3duLWhlYWRlci1ydWxl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJt KSkpDQorICAgIGAobWFya2Rvd24taHItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChtYXJrZG93bi1odG1sLWF0dHItbmFt ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0K KyAgICBgKG1hcmtkb3duLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChtYXJrZG93bi1odG1sLWVudGl0 eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKG1hcmtkb3duLWh0bWwtdGFnLWRlbGltaXRlci1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG1hcmtk b3duLWh0bWwtdGFnLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZv bnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChtYXJrZG93bi1pbmxpbmUtY29kZS1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChtYXJrZG93bi1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1h cmtkb3duLWxhbmd1YWdlLWluZm8tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVk LWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFya2Rvd24tbGFuZ3VhZ2Uta2V5 d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1h bHQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG1hcmtkb3duLWxpbmUtYnJlYWstZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiA6dW5kZXJsaW5lIHQpKSkNCisgICAg YChtYXJrZG93bi1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAo bWFya2Rvd24tbGluay10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNs YW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrZG93bi1saXN0 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKyAgICBgKG1hcmtkb3duLW1h cmt1cC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG1hcmtkb3duLW1h dGgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAg YChtYXJrZG93bi1tZXRhZGF0YS1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCisgICAgYChtYXJrZG93bi1tZXRhZGF0YS12YWx1ZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG1hcmtkb3duLW1pc3NpbmctbGluay1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBg KG1hcmtkb3duLXBsYWluLXVybC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1hcmtkb3duLWxpbmst ZmFjZSkpKQ0KKyAgICBgKG1hcmtkb3duLXByZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1hcmtk b3duLWNvZGUtZmFjZSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobWFy a2Rvd24tcmVmZXJlbmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWFya2Rvd24tbWFya3VwLWZh Y2UpKSkNCisgICAgYChtYXJrZG93bi1zdHJpa2UtdGhyb3VnaC1mYWNlICgoLGNsYXNzIDpzdHJp a2UtdGhyb3VnaCB0KSkpDQorICAgIGAobWFya2Rvd24tdGFibGUtZmFjZSAoKCxjbGFzcyAsQCht b2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKG1hcmtkb3duLXVy bC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKzs7Ozs7IG1hcmt1cC1m YWNlcyAoYGFkb2MtbW9kZScpDQorICAgIGAobWFya3VwLWFuY2hvci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKG1hcmt1cC1hdHRyaWJ1dGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQorICAg IGAobWFya3VwLWJpZy1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxibHVl LW51YW5jZWQtZmcpKSkNCisgICAgYChtYXJrdXAtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLWNvZGUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KKyAgICBgKG1hcmt1cC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlKSkpDQorICAgIGAobWFya3VwLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBm b250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAobWFya3VwLWNvbXBsZXgtcmVwbGFjZW1l bnQtZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwgOnN0eWxlIHJl bGVhc2VkLWJ1dHRvbikNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAgIGAobWFy a3VwLWVtcGhhc2lzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrdXAtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChtYXJrdXAtZ2VuLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobWFya3VwLWludGVybmFs LXJlZmVyZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQorICAgIGAobWFya3VwLWl0YWxpYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGl0YWxp YyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobWFya3VwLWxpc3QtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYCht YXJrdXAtbWV0YS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KKyAg ICBgKG1hcmt1cC1tZXRhLWhpZGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisg ICAgYChtYXJrdXAtcGFzc3Rocm91Z2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRj aCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1hcmt1cC1wcmVwcm9jZXNzb3ItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1hcmt1cC1yZXBs YWNlbWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQor ICAgIGAobWFya3VwLXNlY29uZGFyeS10ZXh0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZv cmVncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC1zbWFsbC1mYWNl ICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAobWFy a3VwLXN0cm9uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1u dWFuY2VkLWZnKSkpDQorICAgIGAobWFya3VwLXN1YnNjcmlwdC1mYWNlICgoLGNsYXNzIDpoZWln aHQgMC44IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrdXAtc3Vw ZXJzY3JpcHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQorICAgIGAobWFya3VwLXRhYmxlLWNlbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtYXJrdXAtdGFibGUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KKyAgICBgKG1hcmt1 cC10YWJsZS1yb3ctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lh bikpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS0wLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAzLjAgOmZv cmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS0xLWZhY2Ug KCgsY2xhc3MgOmhlaWdodCAyLjQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAg ICBgKG1hcmt1cC10aXRsZS0yLWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjggOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS0zLWZhY2UgKCgsY2xhc3Mg OmhlaWdodCAxLjQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1 cC10aXRsZS00LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAxLjIgOmZvcmVncm91bmQgLGJsdWUtbnVh bmNlZC1mZykpKQ0KKyAgICBgKG1hcmt1cC10aXRsZS01LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAx LjIgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZC1mZyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCht YXJrdXAtdmFsdWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisg ICAgYChtYXJrdXAtdmVyYmF0aW0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z cGVjaWFsLW1pbGQpKSkNCis7Ozs7OyBtZW50b3INCisgICAgYChtZW50b3ItZG93bmxvYWQtbWVz c2FnZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQorICAgIGAobWVu dG9yLWRvd25sb2FkLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KKyAgICBgKG1lbnRvci1kb3dubG9hZC1wcm9ncmVzcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQtc2l6ZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChtZW50b3ItZG93bmxvYWQt c3BlZWQtZG93biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCisgICAgYChtZW50 b3ItZG93bmxvYWQtc3BlZWQtdXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisg ICAgYChtZW50b3ItZG93bmxvYWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQpKSkNCisgICAgYChtZW50b3ItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChtZW50b3ItdHJhY2tlci1uYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IG1lc3NhZ2VzDQorICAgIGAo bWVzc2FnZS1jaXRlZC10ZXh0LTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtZmFpbnQpKSkN CisgICAgYChtZXNzYWdlLWNpdGVkLXRleHQtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0LW90aGVyKSkpDQorICAgIGAobWVzc2FnZS1jaXRlZC10ZXh0LTMgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCisgICAgYChtZXNzYWdlLWNpdGVkLXRleHQtNCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG1lc3NhZ2UtaGVhZGVyLWNjICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKG1lc3NhZ2UtaGVhZGVy LW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBg KG1lc3NhZ2UtaGVhZGVyLW5ld3Nncm91cHMgKCgsY2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFk ZXItb3RoZXIpKSkNCisgICAgYChtZXNzYWdlLWhlYWRlci1vdGhlciAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAobWVzc2FnZS1oZWFkZXItc3ViamVjdCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBg KG1lc3NhZ2UtaGVhZGVyLXRvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAobWVzc2FnZS1oZWFkZXIteGhlYWRlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChtZXNzYWdlLW1tbCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAobWVzc2FnZS1zZXBhcmF0b3IgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQorOzs7OzsgbWluaWJ1ZmZl ci1saW5lDQorICAgIGAobWluaWJ1ZmZlci1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorOzs7OzsgbWluaW1hcA0KKyAgICBgKG1pbmltYXAtYWN0aXZlLXJlZ2lvbi1iYWNr Z3JvdW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChtaW5pbWFw LWN1cnJlbnQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCis7Ozs7OyBtbW0tbW9kZQ0KKyAgICBgKG1tbS1jbGVh bnVwLXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcp KSkNCisgICAgYChtbW0tY29kZS1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KKyAgICBgKG1tbS1jb21tZW50LXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmx1ZS1udWFuY2VkLWJnKSkpDQorICAgIGAobW1tLWRlY2xhcmF0aW9uLXN1Ym1vZGUt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1udWFuY2VkLWJnKSkpDQorICAgIGAobW1t LWRlZmF1bHQtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0pKSkNCisg ICAgYChtbW0taW5pdC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEt bnVhbmNlZC1iZykpKQ0KKyAgICBgKG1tbS1vdXRwdXQtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1iZykpKQ0KKyAgICBgKG1tbS1zcGVjaWFsLXN1Ym1vZGUt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tbnVhbmNlZC1iZykpKQ0KKzs7Ozs7IG1v ZGVsaW5lDQorICAgIGAobW9kZS1saW5lICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tdmFyaWFi bGUtcGl0Y2gtdWkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0t bW9kZS1saW5lLWF0dHJzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZnLWFjdGl2ZSBi Zy1hY3RpdmUgZmctZGltIGJnLWFjdGl2ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBm Zy1hbHQgYmctYWN0aXZlICdhbHQtc3R5bGUgbmlsIGJnLW1haW4pKSkpDQorICAgIGAobW9kZS1s aW5lLWJ1ZmZlci1pZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAobW9kZS1saW5l LWVtcGhhc2lzICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZl KSkpDQorICAgIGAobW9kZS1saW5lLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1hY3RpdmUtYmx1ZSA6Ym94ICg6bGluZS13aWR0aCAtMSA6c3R5bGUgcHJlc3NlZC1idXR0 b24pKSkpDQorICAgIGAobW9kZS1saW5lLWluYWN0aXZlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1l cy0tdmFyaWFibGUtcGl0Y2gtdWkpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICxAKG1vZHVzLXRoZW1lcy0tbW9kZS1saW5lLWF0dHJzDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZnLWluYWN0aXZlIGJnLWluYWN0aXZlIGZnLWFsdCBiZy1kaW0NCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcmVnaW9uIGJnLWFjdGl2ZSkp KSkNCis7Ozs7OyBtb29kLWxpbmUNCisgICAgYChtb29kLWxpbmUtbW9kaWZpZWQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQorICAgIGAobW9vZC1saW5lLXN0YXR1cy1l cnJvciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQor ICAgIGAobW9vZC1saW5lLXN0YXR1cy1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFj dGl2ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS1zdGF0dXMtbmV1dHJhbCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChtb29kLWxpbmUtc3RhdHVzLXN1Y2Nlc3MgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKG1vb2QtbGluZS1zdGF0 dXMtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0 aXZlKSkpDQorICAgIGAobW9vZC1saW5lLXVuaW1wb3J0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1pbmFjdGl2ZSkpKQ0KKzs7Ozs7IG1wZGVsDQorICAgIGAobXBkZWwtYnJvd3Nlci1kaXJl Y3RvcnktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG1wZGVsLXBs YXlsaXN0LWN1cnJlbnQtc29uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorOzs7OzsgbXU0ZQ0KKyAgICBgKG11NGUtYXR0YWNoLW51 bWJlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0K KyAgICBgKG11NGUtY2l0ZWQtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50 KSkpDQorICAgIGAobXU0ZS1jaXRlZC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWFsdC1vdGhlcikpKQ0KKyAgICBgKG11NGUtY2l0ZWQtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtYWx0LW90aGVyKSkpDQorICAgIGAobXU0ZS1jaXRlZC00LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChtdTRlLWNpdGVkLTUtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0KKyAgICBgKG11NGUtY2l0ZWQtNi1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobXU0ZS1jaXRlZC03LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KKyAgICBgKG11NGUtY29tcG9zZS1oZWFk ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UpKSkN CisgICAgYChtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQorICAgIGAobXU0ZS1jb250YWN0LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFkZXItdG8pKSkNCisgICAgYChtdTRlLWNvbnRleHQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCisgICAgYChtdTRlLWRy YWZ0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAobXU0 ZS1mbGFnZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYCht dTRlLWZvb3Rlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChtdTRlLWZvcndhcmRlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKG11NGUtaGVh ZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobXU0ZS1oZWFkZXIt aGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0K KyAgICBgKG11NGUtaGVhZGVyLWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1lc3NhZ2UtaGVh ZGVyLW5hbWUpKSkNCisgICAgYChtdTRlLWhlYWRlci1tYXJrcy1mYWNlICgoLGNsYXNzIDppbmhl cml0IG11NGUtc3BlY2lhbC1oZWFkZXItdmFsdWUtZmFjZSkpKQ0KKyAgICBgKG11NGUtaGVhZGVy LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAg ICBgKG11NGUtaGVhZGVyLXZhbHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbWVzc2FnZS1oZWFk ZXItb3RoZXIpKSkNCisgICAgYChtdTRlLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQorICAgIGAobXU0ZS1saW5rLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQorICAgIGAobXU0ZS1tb2RlbGluZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG11NGUtbW92 ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAs eWVsbG93KSkpDQorICAgIGAobXU0ZS1vay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAobXU0ZS1yZWdpb24tY29kZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChtdTRlLXJlcGxpZWQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKG11NGUtc3BlY2lhbC1oZWFk ZXItdmFsdWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtZXNzYWdlLWhlYWRlci1zdWJqZWN0KSkp DQorICAgIGAobXU0ZS1zeXN0ZW0tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z bGFudCA6Zm9yZWdyb3VuZCAsZmctbWFyay1kZWwpKSkNCisgICAgYChtdTRlLXRpdGxlLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtdTRlLXRyYXNoZWQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAobXU0ZS11bnJlYWQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAobXU0ZS11cmwtbnVtYmVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KKyAgICBgKG11NGUtdmlldy1ib2R5LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChtdTRlLXdhcm5pbmctZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5nKSkpDQorOzs7OzsgbXU0ZS1jb252ZXJzYXRpb24N CisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3BlY2lhbC1jb2xkKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTEg KCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKG11NGUtY29u dmVyc2F0aW9uLXNlbmRlci0yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQp KSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItMyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1taWxkKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLTQg KCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2Vu ZGVyLTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1yZWZpbmUtZmcpKSkNCisgICAgYCht dTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZp bmUtZmcpKSkNCisgICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4tcmVmaW5lLWZnKSkpDQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2Vu ZGVyLTggKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQorICAgIGAobXU0 ZS1jb252ZXJzYXRpb24tc2VuZGVyLW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAobXU0ZS1jb252ZXJzYXRpb24tdW5yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCis7Ozs7OyBtdWx0aXBsZS1jdXJzb3JzDQorICAgIGAobWMvY3Vyc29yLWJhci1mYWNlICgo LGNsYXNzIDpoZWlnaHQgMSA6YmFja2dyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG1jL2N1cnNv ci1mYWNlICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYChtYy9yZWdpb24tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCByZWdpb24pKSkNCis7Ozs7OyBuZW90cmVlDQorICAgIGAobmVv LWJhbm5lci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAobmVv LWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikpKQ0KKyAgICBgKG5lby1kaXIt bGluay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisg ICAgYChuZW8tZXhwYW5kLWJ0bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQor ICAgIGAobmVvLWZpbGUtbGluay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAobmVvLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChuZW8tcm9vdC1kaXItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG5lby12Yy1hZGRlZC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBgKG5lby12Yy1jb25mbGljdC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKG5l by12Yy1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChuZW8tdmMtZWRpdGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKyAg ICBgKG5lby12Yy1pZ25vcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZl KSkpDQorICAgIGAobmVvLXZjLW1pc3NpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVk LWFsdCkpKQ0KKyAgICBgKG5lby12Yy1uZWVkcy1tZXJnZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKG5lby12Yy1uZWVkcy11cGRhdGUtZmFjZSAoKCxj bGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYChuZW8tdmMtcmVtb3ZlZC1mYWNlICgoLGNsYXNz IDpzdHJpa2UtdGhyb3VnaCB0KSkpDQorICAgIGAobmVvLXZjLXVubG9ja2VkLWNoYW5nZXMtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKG5l by12Yy11cC10by1kYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAo bmVvLXZjLXVzZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKzs7Ozs7 IG5vLWVtb2ppDQorICAgIGAobm8tZW1vamkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkN Cis7Ozs7OyBub3RtdWNoDQorICAgIGAobm90bXVjaC1jcnlwdG8tZGVjcnlwdGlvbiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKyAgICBgKG5vdG11Y2gt Y3J5cHRvLXBhcnQtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KKyAgICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS1iYWQgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCisgICAgYChub3RtdWNoLWNyeXB0by1zaWdu YXR1cmUtZ29vZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkN CisgICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtZ29vZC1rZXkgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKG5vdG11Y2gtY3J5cHRvLXNp Z25hdHVyZS11bmtub3duICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQp KSkNCisgICAgYChub3RtdWNoLWhlbGxvLWxvZ28tYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dy b3VuZCAiZ3JheTUwIikpKQ0KKyAgICBgKG5vdG11Y2gtbWVzc2FnZS1zdW1tYXJ5LWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKSkpDQorICAgIGAobm90bXVj aC1zZWFyY2gtY291bnQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobm90bXVj aC1zZWFyY2gtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG5vdG11 Y2gtc2VhcmNoLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0K KyAgICBgKG5vdG11Y2gtc2VhcmNoLW1hdGNoaW5nLWF1dGhvcnMgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLW1haW4pKSkNCisgICAgYChub3RtdWNoLXNlYXJjaC1ub24tbWF0Y2hpbmctYXV0aG9y cyAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkNCisgICAgYChub3RtdWNoLXNlYXJjaC1zdWJq ZWN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChub3RtdWNoLXNlYXJj aC11bnJlYWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAobm90bXVjaC10 YWctYWRkZWQNCisgICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHls ZSB3YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxncmVlbiA6c3R5 bGUgd2F2ZSkpDQorICAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuIDp1bmRlcmxpbmUg dCkpKQ0KKyAgICBgKG5vdG11Y2gtdGFnLWRlbGV0ZWQNCisgICAgICAoKCwoYXBwZW5kICcoKHN1 cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KKyAgICAgICAgOnVuZGVy bGluZSAoOmNvbG9yICxyZWQgOnN0eWxlIHdhdmUpKQ0KKyAgICAgICAoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQorICAgIGAobm90bXVjaC10YWctZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gt dGFnLWZsYWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChub3Rt dWNoLXRhZy11bnJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAg IGAobm90bXVjaC10cmVlLW1hdGNoLWF1dGhvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChub3RtdWNoLXRyZWUtbWF0Y2gtZGF0ZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IG5vdG11Y2gtc2VhcmNoLWRhdGUpKSkNCisgICAgYChub3RtdWNoLXRy ZWUtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG5v dG11Y2gtdHJlZS1tYXRjaC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKG5vdG11Y2gtdHJlZS1uby1tYXRjaC1mYWNlICgoLGNs YXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKG5vdG11Y2gtdHJlZS1uby1tYXRjaC1kYXRl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAobm90bXVjaC13YXNoLWNp dGVkLXRleHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChub3RtdWNoLXdh c2gtdG9nZ2xlLWJ1dHRvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCis7Ozs7OyBudW0zLW1vZGUNCisgICAgYChudW0zLWZhY2UtZXZlbiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCis7Ozs7OyBueG1sLW1v ZGUNCisgICAgYChueG1sLWF0dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKG54bWwtYXR0cmlidXRlLWxvY2FsLW5hbWUgKCgsY2xhc3MgOmluaGVy aXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKyAgICBgKG54bWwtYXR0cmlidXRl LXByZWZpeCAoKCxjbGFzcyAgOmluaGVyaXQgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQ0KKyAgICBg KG54bWwtYXR0cmlidXRlLXZhbHVlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFu dC1mYWNlKSkpDQorICAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLUNEQVRBICgoLGNsYXNzIDppbmhl cml0IGVycm9yKSkpDQorICAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLWRlbGltaXRlciAoKCxjbGFz cyA6aW5oZXJpdCBlcnJvcikpKQ0KKyAgICBgKG54bWwtY2hhci1yZWYtZGVsaW1pdGVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChueG1sLWNoYXItcmVm LW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLW1pbGQpKSkNCisgICAgYChueG1sLWRlbGltaXRlZC1kYXRhICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN CisgICAgYChueG1sLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQor ICAgIGAobnhtbC1lbGVtZW50LWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAobnhtbC1lbGVtZW50LWxvY2FsLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1s b2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkpKQ0KKyAgICBgKG54bWwtZWxlbWVudC1wcmVmaXggKCgs Y2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKG54bWwtZW50 aXR5LXJlZi1kZWxpbWl0ZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkp KQ0KKyAgICBgKG54bWwtZW50aXR5LXJlZi1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KKyAgICBgKG54bWwtZ2x5 cGggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1uZXV0cmFsKSkpDQorICAg IGAobnhtbC1oYXNoICgoLGNsYXNzIDppbmhlcml0IChib2xkIGZvbnQtbG9jay1zdHJpbmctZmFj ZSkpKSkNCisgICAgYChueG1sLWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KKyAg ICBgKG54bWwtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkp DQorICAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLXByZWZpeCAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpDQorICAgIGAo bnhtbC1wcm9jZXNzaW5nLWluc3RydWN0aW9uLXRhcmdldCAoKCxjbGFzcyA6aW5oZXJpdCBmb250 LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAobnhtbC1wcm9sb2cta2V5d29yZCAoKCxjbGFz cyA6aW5oZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAobnhtbC1yZWYgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1t aWxkKSkpDQorICAgIGAocm5nLWVycm9yICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorOzs7 Ozsgb2JqZWQNCisgICAgYChvYmplZC1obCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1vZHVz LXRoZW1lcy1pbnRlbnNlLWhsLWxpbmUNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJnLWhsLWFsdC1pbnRlbnNlIGJnLWhsLWFsdCkpKSkNCisgICAgYChvYmplZC1t YXJrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChvYmplZC1tb2Rl LWxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorOzs7Ozsgb3JkZXJs ZXNzDQorICAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCBib2xk DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMt LXN0YW5kYXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGJsdWUtcmVmaW5lLWZnKSkp KQ0KKyAgICBgKG9yZGVybGVzcy1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1z dGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1udWFuY2VkLWJnDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1iZyBtYWdlbnRhLXJlZmluZS1m ZykpKSkNCisgICAgYChvcmRlcmxlc3MtbWF0Y2gtZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IGJv bGQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1l cy0tc3RhbmRhcmQtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdyZWVuIGdyZWVuLW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdyZWVuLXJlZmluZS1iZyBncmVlbi1yZWZpbmUtZmcpKSkpDQor ICAgIGAob3JkZXJsZXNzLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5k YXJkLWNvbXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB5ZWxsb3cgeWVsbG93LW51YW5jZWQtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHllbGxvdy1yZWZpbmUtYmcgeWVsbG93LXJlZmluZS1mZykpKSkNCis7Ozs7 OyBvcmcNCisgICAgYChvcmctYWdlbmRhLWNhbGVuZGFyLWV2ZW50ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAob3JnLWFnZW5kYS1jYWxlbmRhci1zZXhwICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtY2xvY2tpbmcgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkIDpleHRlbmQgdCkpKQ0KKyAg ICBgKG9yZy1hZ2VuZGEtY29sdW1uLWRhdGVsaW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1h bHQpKSkNCisgICAgYChvcmctYWdlbmRhLWN1cnJlbnQtdGltZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGF0 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGF0ZS10 b2RheSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluIDp1bmRlcmxp bmUgdCkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGF0ZS13ZWVrZW5kICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZGlhcnkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChvcmctYWdlbmRhLWRpbW1lZC10b2RvLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAo b3JnLWFnZW5kYS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCisgICAg YChvcmctYWdlbmRhLWZpbHRlci1jYXRlZ29yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZmlsdGVyLWVmZm9y dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K KyAgICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXJlZ2V4cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXRh Z3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkN CisgICAgYChvcmctYWdlbmRhLXJlc3RyaWN0aW9uLWxvY2sgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAob3JnLWFnZW5kYS1zdHJ1Y3R1 cmUgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtNSkN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQpKSkNCisgICAgYChvcmctYXJjaGl2ZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3JnLWJsb2NrICgoLGNsYXNzICxAKG1vZHVz LXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXRoZW1lcy0tb3JnLWJsb2NrIGJnLWRpbSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChvcmctYmxvY2stYmVnaW4tbGluZSAoKCxjbGFz cyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tb3JnLWJsb2NrLWRlbGltDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIGZnLXNwZWNpYWwtY29sZA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWFsdCBmZy1zcGVjaWFsLW1p bGQpKSkpDQorICAgIGAob3JnLWJsb2NrLWVuZC1saW5lICgoLGNsYXNzIDppbmhlcml0IG9yZy1i bG9jay1iZWdpbi1saW5lKSkpDQorICAgIGAob3JnLWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDps aW5lLXdpZHRoIDEgOmNvbG9yICxiZy1hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQor ICAgIGAob3JnLWNoZWNrYm94LXN0YXRpc3RpY3MtZG9uZSAoKCxjbGFzcyA6aW5oZXJpdCBvcmct ZG9uZSkpKQ0KKyAgICBgKG9yZy1jaGVja2JveC1zdGF0aXN0aWNzLXRvZG8gKCgsY2xhc3MgOmlu aGVyaXQgb3JnLXRvZG8pKSkNCisgICAgYChvcmctY2xvY2stb3ZlcmxheSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctY29kZSAoKCxjbGFz cyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZvbnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAg IDpiYWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KKyAg ICBgKG9yZy1jb2x1bW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKG9y Zy1jb2x1bW4tdGl0bGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6dW5kZXJsaW5lIHQgOmJhY2tn cm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKG9yZy1kYXRlICgoLGNsYXNzIDppbmhlcml0ICwoaWYg bW9kdXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JyhidXR0b24gZml4ZWQtcGl0Y2gpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVz LXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lh bi1mYWludCkpKSkNCisgICAgYChvcmctZGF0ZS1zZWxlY3RlZCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCA6aW52ZXJzZS12aWRlbyB0KSkpDQorICAgIGAob3Jn LWRpc3BhdGNoZXItaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1l LW1hcmstYWx0KSkpKQ0KKyAgICBgKG9yZy1kb2N1bWVudC1pbmZvICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctZG9jdW1lbnQtaW5mby1rZXl3b3Jk ICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAo b3JnLWRvY3VtZW50LXRpdGxlICgoLGNsYXNzIDppbmhlcml0IChib2xkIG1vZHVzLXRoZW1lLXZh cmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVz LXNjYWxlLTUpKSkpDQorICAgIGAob3JnLWRvbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu KSkpDQorICAgIGAob3JnLWRyYXdlciAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1peGVkLWZv bnRzKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K KyAgICBgKG9yZy1lbGxpcHNpcyAoKCxjbGFzcykpKSA7IGluaGVyaXRzIGZyb20gdGhlIGhlYWRp bmcncyBjb2xvcg0KKyAgICBgKG9yZy1mb290bm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24N CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9y DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0IGJsdWUtYWx0LWZhaW50 KSkpKQ0KKyAgICBgKG9yZy1mb3JtdWxhICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQt Zm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLHJlZC1hbHQp KSkNCisgICAgYChvcmctaGFiaXQtYWxlcnQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMt LW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxv dy1ncmFwaC0wLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVs bG93LWdyYXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5 ZWxsb3ctZ3JhcGgtMS1iZykpKSkNCisgICAgYChvcmctaGFiaXQtYWxlcnQtZnV0dXJlLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1vcmctaGFiaXQNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWdyYXBoLTEtYmcNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWdyYXBoLTAtYmcNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWdyYXBo LTEtYmcpKSkpDQorICAgIGAob3JnLWhhYml0LWNsZWFyLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dGhlbWVzLS1vcmctaGFiaXQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBibHVlLWdyYXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBncmVlbi1ncmFwaC0xLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmx1ZS1ncmFwaC0xLWJnKSkpKQ0KKyAgICBgKG9yZy1oYWJpdC1jbGVhci1mdXR1cmUtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWdyYXBoLTEtYmcNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tZ3JhcGgtMS1iZw0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWdyYXBoLTEt YmcpKSkpDQorICAgIGAob3JnLWhhYml0LW92ZXJkdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10 aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVkLWdyYXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlZC1ncmFwaC0wLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZWQtZ3JhcGgtMS1iZykpKSkNCisgICAgYChvcmctaGFiaXQtb3ZlcmR1ZS1mdXR1cmUt ZmFjZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1ncmFwaC0xLWJnDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWdyYXBoLTAtYmcN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtZ3Jh cGgtMS1iZykpKSkNCisgICAgYChvcmctaGFiaXQtcmVhZHktZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy10aGVtZXMtLW9yZy1oYWJpdA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdyZWVuLWdyYXBoLTAtYmcNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBncmVlbi1ncmFwaC0wLWJnDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZ3JlZW4tZ3JhcGgtMS1iZykpKSkNCisgICAgYChvcmctaGFiaXQtcmVhZHktZnV0dXJl LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1vcmctaGFiaXQNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tZ3JhcGgtMS1iZw0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1ncmFwaC0wLWJn DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWdy YXBoLTEtYmcpKSkpDQorICAgIGAob3JnLWhlYWRsaW5lLWRvbmUgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGdyZWVuLW51YW5jZWQtZmcp KSkNCisgICAgYChvcmctaGVhZGxpbmUtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChv cmctaGlkZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKG9yZy1pbmRl bnQgKCgsY2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG9yZy1oaWRlKSkpKQ0KKyAgICBgKG9y Zy1sYXRleC1hbmQtcmVsYXRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1yZWZpbmUt ZmcpKSkNCisgICAgYChvcmctbGV2ZWwtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTEpKSkNCisgICAgYChvcmctbGV2ZWwtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTIpKSkNCisgICAgYChvcmctbGV2ZWwtMyAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCisgICAgYChvcmctbGV2ZWwtNCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTQpKSkNCisgICAgYChvcmctbGV2ZWwtNSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTUpKSkNCisgICAgYChvcmctbGV2ZWwtNiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCisgICAgYChvcmctbGV2 ZWwtNyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkNCisgICAgYChv cmctbGV2ZWwtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTgpKSkNCisg ICAgYChvcmctbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChvcmctbGlz dC1kdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQorICAgIGAob3JnLW1hY3JvICgoLGNsYXNz ICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAg IDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQorICAgIGAob3JnLW1ldGEtbGluZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLW1p eGVkLWZvbnRzKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAob3JnLW1vZGUtbGluZS1j bG9jayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKG9yZy1tb2RlLWxp bmUtY2xvY2stb3ZlcnJ1biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtcmVk KSkpDQorICAgIGAob3JnLXByaW9yaXR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAob3JnLXByb3BlcnR5LXZhbHVlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4 ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5k ICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChvcmctcXVvdGUgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc2xhbnQNCisgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhl bWVzLS1vcmctYmxvY2sgYmctZGltKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAob3JnLXNjaGVkdWxlZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCisgICAgYChvcmctc2NoZWR1bGVkLXByZXZpb3Vz bHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChvcmct c2NoZWR1bGVkLXRvZGF5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KKyAgICBgKG9yZy1zZXhwLWRhdGUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWRhdGUpKSkNCisg ICAgYChvcmctc3BlY2lhbC1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4ZWQt Zm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQorICAgIGAob3JnLXRhYmxlICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tbWl4 ZWQtZm9udHMpDQorICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCisgICAgYChvcmctdGFibGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IChm aXhlZC1waXRjaCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkpDQorICAgIGAob3JnLXRh ZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkLWZnKSkpDQorICAgIGAob3Jn LXRhZy1ncm91cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5j ZWQtZmcpKSkNCisgICAgYChvcmctdGFyZ2V0ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KKyAg ICBgKG9yZy10aW1lLWdyaWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0K KyAgICBgKG9yZy10b2RvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChvcmct dXBjb21pbmctZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkN CisgICAgYChvcmctdXBjb21pbmctZGlzdGFudC1kZWFkbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLW51YW5jZWQtZmcpKSkNCisgICAgYChvcmctdmVyYmF0aW0gKCgsY2xhc3MgLEAobW9k dXMtdGhlbWVzLS1taXhlZC1mb250cykNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJh Y2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQorICAgIGAo b3JnLXZlcnNlICgoLGNsYXNzIDppbmhlcml0IG9yZy1xdW90ZSkpKQ0KKyAgICBgKG9yZy13YXJu aW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkN Cis7Ozs7OyBvcmctam91cm5hbA0KKyAgICBgKG9yZy1qb3VybmFsLWNhbGVuZGFyLWVudHJ5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLHllbGxv dy1hbHQtb3RoZXIpKSkNCisgICAgYChvcmctam91cm5hbC1jYWxlbmRhci1zY2hlZHVsZWQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KKyAgICBgKG9yZy1qb3VybmFsLWhpZ2hsaWdodCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyBvcmctbm90ZXINCisgICAgYChvcmctbm90ZXIt bm8tbm90ZXMtZXhpc3QtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQorICAgIGAob3JnLW5vdGVyLW5vdGVzLWV4aXN0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQorOzs7Ozsgb3JnLXBv bW9kb3JvDQorICAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKG9yZy1wb21vZG9yby1tb2RlLWxpbmUtYnJlYWsgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAob3JnLXBvbW9kb3JvLW1v ZGUtbGluZS1vdmVydGltZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQt YWN0aXZlKSkpDQorOzs7Ozsgb3JnLXJlY3VyDQorICAgIGAob3JnLXJlY3VyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKzs7Ozs7IG9yZy1yb2FtDQorICAgIGAob3Jn LXJvYW0tbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tbGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tZmFpbnQpKSkpDQorICAgIGAob3JnLXJvYW0tbGlu ay1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0IGdyZWVuLWFsdC1mYWludCkp KSkNCisgICAgYChvcmctcm9hbS1saW5rLWludmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9u DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0t bGluay1jb2xvcg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQg cmVkLWZhaW50KSkpKQ0KKyAgICBgKG9yZy1yb2FtLWxpbmstc2hpZWxkZWQgKCgsY2xhc3MgOmlu aGVyaXQgYnV0dG9uDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy10aGVtZXMtLWxpbmstY29sb3INCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQorICAgIGAob3JnLXJvYW0tdGFnICgo LGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorOzs7Ozsgb3Jn LXN1cGVyc3Rhcg0KKyAgICBgKG9yZy1zdXBlcnN0YXItaXRlbSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKG9yZy1zdXBlcnN0YXItbGVhZGluZyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKzs7Ozs7IG9yZy10YWJsZS1zdGlja3ktaGVhZGVy DQorICAgIGAob3JnLXRhYmxlLXN0aWNreS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCis7Ozs7OyBvcmctdHJlZS1zbGlkZQ0KKyAg ICBgKG9yZy10cmVlLXNsaWRlLWhlYWRlci1vdmVybGF5LWZhY2UNCisgICAgICAoKCxjbGFzcyA6 aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmJhY2tncm91bmQgLGJn LW1haW4NCisgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpvdmVy bGluZSBuaWwNCisgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXNjYWxlIG1vZHVzLXRo ZW1lcy1zY2FsZS01KSkpKQ0KKzs7Ozs7IG9yZy10cmVlc2NvcGUNCisgICAgYChvcmctdHJlZXNj b3BlLWZhY2VzLS1tYXJrZXJpbnRlcm5hbC1taWRkYXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAob3JnLXRyZWVzY29wZS1mYWNlcy0tbWFya2Vy aW50ZXJuYWwtcmFuZ2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxk KSkpDQorOzs7Ozsgb3JpZ2FtaQ0KKyAgICBgKG9yaWdhbWktZm9sZC1oZWFkZXItZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0gOmJveCB0KSkpDQor ICAgIGAob3JpZ2FtaS1mb2xkLXJlcGxhY2VtZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorOzs7Ozsgb3V0bGluZS1tb2RlDQorICAg IGAob3V0bGluZS0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0K KyAgICBgKG91dGxpbmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTIp KSkNCisgICAgYChvdXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGlu Zy0zKSkpDQorICAgIGAob3V0bGluZS00ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhl YWRpbmctNCkpKQ0KKyAgICBgKG91dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTUpKSkNCisgICAgYChvdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaGVhZGluZy02KSkpDQorICAgIGAob3V0bGluZS03ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWhlYWRpbmctNykpKQ0KKyAgICBgKG91dGxpbmUtOCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1oZWFkaW5nLTgpKSkNCis7Ozs7OyBvdXRsaW5lLW1pbm9yLWZhY2VzDQor ICAgIGAob3V0bGluZS1taW5vci0wICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCis7 Ozs7OyBwYWNrYWdlIChNLXggbGlzdC1wYWNrYWdlcykNCisgICAgYChwYWNrYWdlLWRlc2NyaXB0 aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChwYWNr YWdlLWhlbHAtc2VjdGlvbi1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocGFja2FnZS1uYW1lICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbikpKQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWF2YWlsLW9ic28gKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMt YXZhaWxhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCisgICAg YChwYWNrYWdlLXN0YXR1cy1idWlsdC1pbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkp KQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLWRlcGVuZGVuY3kgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocGFja2FnZS1zdGF0dXMtZGlzYWJsZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKHBhY2thZ2Ut c3RhdHVzLWV4dGVybmFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K KyAgICBgKHBhY2thZ2Utc3RhdHVzLWhlbGQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQpKSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1pbmNvbXBhdCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChwYWNrYWdlLXN0YXR1cy1pbnN0YWxs ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHBhY2th Z2Utc3RhdHVzLW5ldyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikp KQ0KKyAgICBgKHBhY2thZ2Utc3RhdHVzLXVuc2lnbmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCis7Ozs7OyBwYWdlLWJyZWFrLWxpbmVzDQorICAgIGAo cGFnZS1icmVhay1saW5lcyAoKCxjbGFzcyA6aW5oZXJpdCBkZWZhdWx0IDpmb3JlZ3JvdW5kICxm Zy13aW5kb3ctZGl2aWRlci1vdXRlcikpKQ0KKzs7Ozs7IHBhcmFkb3gNCisgICAgYChwYXJhZG94 LWFyY2hpdmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQor ICAgIGAocGFyYWRveC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWNv bW1lbnQtZmFjZSkpKQ0KKyAgICBgKHBhcmFkb3gtY29tbWl0LXRhZy1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhIDpib3ggdCkpKQ0KKyAgICBgKHBhcmFk b3gtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQorICAgIGAocGFyYWRveC1kZXNjcmlwdGlvbi1mYWNlLW11bHRpbGluZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocGFyYWRveC1kb3dubG9hZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQorICAgIGAocGFyYWRveC1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KKyAg ICBgKHBhcmFkb3gtaG9tZXBhZ2UtYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1h Z2VudGEtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHBhcmFkb3gtbW9kZS1saW5l LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN CisgICAgYChwYXJhZG94LW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYChwYXJhZG94LXN0YXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KKyAgICBgKHBhcmFkb3gtc3RhcnJlZC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IHBhcmVuLWZhY2UNCisgICAgYChwYXJlbnRo ZXNpcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorOzs7OzsgcGFycm90 DQorICAgIGAocGFycm90LXJvdGF0ZS1yb3RhdGlvbi1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KKzs7Ozs7IHBhc3MNCisgICAg YChwYXNzLW1vZGUtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAocGFzcy1tb2RlLWVudHJ5LWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChwYXNzLW1vZGUtaGVhZGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KKzs7Ozs7IHBkZi10b29scw0KKyAgICBgKHBkZi1saW5rcy1yZWFkLWxpbmsgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1i ZyA6aW5oZXJpdCBib2xkKSkpIDsgRm9yZWdyb3VuZCBpcyBiYWNrZ3JvdW5kIGFuZCB2aWNlIHZl cnNhDQorICAgIGAocGRmLW9jY3VyLWRvY3VtZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hh ZG93KSkpDQorICAgIGAocGRmLW9jY3VyLXBhZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFk b3cpKSkNCis7Ozs7OyBwZXJzcC1tb2RlDQorICAgIGAocGVyc3AtZmFjZS1saWdodGVyLWJ1ZmZl ci1ub3QtaW4tcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQp KSkNCisgICAgYChwZXJzcC1mYWNlLWxpZ2h0ZXItZGVmYXVsdCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KKyAgICBgKHBlcnNwLWZhY2UtbGlnaHRl ci1uaWwtcGVyc3AgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZl KSkpDQorOzs7OzsgcGVyc3BlY3RpdmUNCisgICAgYChwZXJzcC1zZWxlY3RlZC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorOzs7OzsgcGhp LWdyZXANCisgICAgYChwaGktZ3JlcC1oZWFkaW5nLWZhY2UgICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc2NhbGUgbW9kdXMtdGhlbWVzLXNjYWxlLTQpKSkpDQor ICAgIGAocGhpLWdyZXAtbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQorICAgIGAocGhpLWdyZXAtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChwaGktZ3JlcC1tb2RpZmll ZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCisg ICAgYChwaGktZ3JlcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt cmVmaW5lLWJsdWUpKSkNCis7Ozs7OyBwaGktc2VhcmNoDQorICAgIGAocGhpLXJlcGxhY2UtcHJl dmlldy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkp KQ0KKyAgICBgKHBoaS1zZWFyY2gtZmFpbHBhcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1yZWZpbmUtcmVkKSkpDQorICAgIGAocGhpLXNlYXJjaC1tYXRjaC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQorICAgIGAocGhpLXNlYXJj aC1zZWxlY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1n cmVlbiBib2xkKSkpKQ0KKzs7Ozs7IHBrZ2J1aWxkLW1vZGUNCisgICAgYChwa2didWlsZC1lcnJv ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctZXJyb3IpKSkNCis7Ozs7 OyBwb21pZG9yDQorICAgIGAocG9taWRvci1icmVhay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHBvbWlkb3Itb3ZlcndvcmstZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KKyAgICBgKHBvbWlkb3Itc2tpcC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCisgICAgYChwb21pZG9yLXdvcmstZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWx0LW90aGVyKSkpDQorOzs7OzsgcG9wdXANCisgICAgYChwb3B1cC1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChwb3B1cC1p c2VhcmNoLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBi b2xkKSkpKQ0KKyAgICBgKHBvcHVwLW1lbnUtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYChwb3B1cC1tZW51LXNlbGVjdGlvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkpKQ0K KyAgICBgKHBvcHVwLXNjcm9sbC1iYXItYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChwb3B1cC1zY3JvbGwtYmFyLWZvcmVncm91bmQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAocG9wdXAtc3VtbWFy eS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlKSkpDQorICAgIGAocG9wdXAtdGlwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKzs7Ozs7IHBvd2VybGluZQ0KKyAgICBgKHBvd2VybGlu ZS1hY3RpdmUwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxibHVl LWZhaW50IDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYChwb3dlcmxpbmUtYWN0aXZlMSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnIDpmb3JlZ3JvdW5kICxibHVlLW51YW5j ZWQtZmcpKSkNCisgICAgYChwb3dlcmxpbmUtYWN0aXZlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAs YmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChwb3dlcmxpbmUtaW5h Y3RpdmUwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHBvd2VybGluZS1pbmFjdGl2ZTEgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYChw b3dlcmxpbmUtaW5hY3RpdmUyICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9y ZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCis7Ozs7OyBwb3dlcmxpbmUtZXZpbA0KKyAgICBgKHBv d2VybGluZS1ldmlsLWJhc2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9y ZWdyb3VuZCAsYmctbWFpbikpKQ0KKyAgICBgKHBvd2VybGluZS1ldmlsLWVtYWNzLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCisgICAgYChwb3dl cmxpbmUtZXZpbC1pbnNlcnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3Rp dmUtZ3JlZW4pKSkNCisgICAgYChwb3dlcmxpbmUtZXZpbC1tb3Rpb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KKyAgICBgKHBvd2VybGluZS1ldmls LW5vcm1hbC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJn LW1haW4pKSkNCisgICAgYChwb3dlcmxpbmUtZXZpbC1vcGVyYXRvci1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCisgICAgYChwb3dlcmxpbmUtZXZp bC1yZXBsYWNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkp KQ0KKyAgICBgKHBvd2VybGluZS1ldmlsLXZpc3VhbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWFjdGl2ZS1jeWFuKSkpDQorOzs7OzsgcHJvY2VkDQorICAgIGAocHJvY2VkLW1h cmsgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zeW1ib2wpKSkNCisgICAgYChw cm9jZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQor ICAgIGAocHJvY2VkLXNvcnQtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY2FsbSA6dW5kZXJsaW5lIHQpKSkNCis7Ozs7OyBwcm9kaWd5DQorICAg IGAocHJvZGlneS1ncmVlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAg ICBgKHByb2RpZ3ktcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBg KHByb2RpZ3kteWVsbG93LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7 Ozs7IHF1aWNrLXBlZWsNCisgICAgYChxdWljay1wZWVrLWJhY2tncm91bmQtZmFjZSAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAocXVpY2stcGVlay1ib3JkZXItZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsZmctd2luZG93LWRpdmlkZXItaW5uZXIgOmhlaWdodCAxKSkp DQorICAgIGAocXVpY2stcGVlay1wYWRkaW5nLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6aGVpZ2h0IDAuMTUpKSkNCis7Ozs7OyByYWNrZXQtbW9kZQ0KKyAgICBgKHJhY2tldC1k ZWJ1Zy1icmVhay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVk KSkpDQorICAgIGAocmFja2V0LWRlYnVnLWxvY2Fscy1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5l LXdpZHRoIC0xIDpjb2xvciBuaWwpDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCisgICAgYChyYWNrZXQtZGVi dWctcmVzdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAt MSA6Y29sb3IgbmlsKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChyYWNrZXQtaGVyZS1zdHJpbmctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChyYWNrZXQta2V5d29yZC1hcmd1 bWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAocmFja2V0 LWxvZ2dlci1jb25maWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6 Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAocmFja2V0LWxvZ2dlci1kZWJ1Zy1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhY2tldC1sb2dn ZXItaW5mby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1sYW5nLW5vdGUpKSkNCisgICAg YChyYWNrZXQtbG9nZ2VyLXRvcGljLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c2xhbnQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChyYWNrZXQtc2VsZmV2YWwtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAocmFja2V0LXhwLWVy cm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1lcnJvcikpKQ0KKzs7 Ozs7IHJhaW5ib3ctYmxvY2tzDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtMS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJhaW5ib3ct YmxvY2tzLWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBg KHJhaW5ib3ctYmxvY2tzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCisgICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVw dGgtNi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAocmFpbmJvdy1i bG9ja3MtZGVwdGgtNy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAg YChyYWluYm93LWJsb2Nrcy1kZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0KSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtOS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAocmFpbmJvdy1ibG9ja3MtdW5tYXRjaGVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKzs7Ozs7IHJhaW5ib3ctaWRlbnRpZmllcnMN CisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVu dGlmaWVyLTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAg IGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTMgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVy LTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCisgICAgYChyYWlu Ym93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQtb3RoZXIpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItNiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVy cy1pZGVudGlmaWVyLTcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAg IGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTggKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0KSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTkgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChyYWluYm93LWlkZW50aWZp ZXJzLWlkZW50aWZpZXItMTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAo cmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTEyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVu dGlmaWVyLTEzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCisgICAgYChyYWluYm93 LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0 KSkpDQorICAgIGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTE1ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorOzs7OzsgcmFpbmJvdy1kZWxpbWl0ZXJzDQorICAgIGAo cmFpbmJvdy1kZWxpbWl0ZXJzLWJhc2UtZXJyb3ItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs cmVkLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHJhaW5ib3ctZGVs aW1pdGVycy1iYXNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAg YChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0 ZXJzLWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRlbnNlKSkpDQor ICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsb3JhbmdlLWludGVuc2UpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxwdXJwbGUtaW50ZW5zZSkpKQ0KKyAgICBgKHJhaW5i b3ctZGVsaW1pdGVycy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWlu dGVuc2UpKSkNCisgICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KKyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy1k ZXB0aC04LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KKyAgICBg KHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1pbnRlbnNlKSkpDQorICAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLW1pc21hdGNoZWQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpKQ0K KyAgICBgKHJhaW5ib3ctZGVsaW1pdGVycy11bm1hdGNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkpKQ0KKzs7Ozs7IHJjaXJjDQorICAgIGAo cmNpcmMtYnJpZ2h0LW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCisgICAgYChyY2lyYy1kaW0tbmljayAoKCxjbGFzcyA6aW5oZXJpdCBzaGFk b3cpKSkNCisgICAgYChyY2lyYy1teS1uaWNrICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCisgICAgYChyY2lyYy1uaWNrLWluLW1lc3NhZ2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAocmNpcmMtbmljay1pbi1t ZXNzYWdlLWZ1bGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQpKSkNCisgICAgYChyY2lyYy1vdGhlci1uaWNrICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHJjaXJjLXByb21w dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0K KyAgICBgKHJjaXJjLXNlcnZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkp DQorICAgIGAocmNpcmMtdGltZXN0YW1wICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5j ZWQtZmcpKSkNCisgICAgYChyY2lyYy11cmwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUgOnVu ZGVybGluZSB0KSkpDQorOzs7OzsgcmVjdXJzaW9uLWluZGljYXRvcg0KKyAgICBgKHJlY3Vyc2lv bi1pbmRpY2F0b3ItZ2VuZXJhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkN CisgICAgYChyZWN1cnNpb24taW5kaWNhdG9yLW1pbmlidWZmZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCis7Ozs7OyByZWdleHAtYnVpbGRlciAocmUtYnVpbGRlcikNCisg ICAgYChyZWItbWF0Y2gtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lh bikpKQ0KKyAgICBgKHJlYi1tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1tYWdlbnRhKSkpDQorICAgIGAocmViLW1hdGNoLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQorICAgIGAocmViLW1hdGNoLTMgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHJlYi1yZWdleHAtZ3Jv dXBpbmctYmFja3NsYXNoICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1yZWdleHAtZ3JvdXBp bmctYmFja3NsYXNoKSkpDQorICAgIGAocmViLXJlZ2V4cC1ncm91cGluZy1jb25zdHJ1Y3QgKCgs Y2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXJlZ2V4cC1ncm91cGluZy1jb25zdHJ1Y3QpKSkNCis7 Ozs7OyByZyAocmcuZWwpDQorICAgIGAocmctY29sdW1uLW51bWJlci1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHJnLWNvbnRleHQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQorICAgIGAocmctZXJyb3ItZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCisgICAgYChyZy1m aWxlLXRhZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisg ICAgYChyZy1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHJnLWxpbmUtbnVtYmVyLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHJnLWxpdGVyYWwtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCisgICAgYChyZy1tYXRjaC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKHJnLXJl Z2V4cC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBg KHJnLXRvZ2dsZS1vZmYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxm Zy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHJnLXRvZ2dsZS1vbi1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQorICAgIGAocmctd2FybmluZy1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IHJp cGdyZXANCisgICAgYChyaXBncmVwLWNvbnRleHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctdW5mb2N1c2VkKSkpDQorICAgIGAocmlwZ3JlcC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHJpcGdyZXAtaGl0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChyaXBncmVwLW1hdGNoLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQorOzs7Ozsgcm1haWwN CisgICAgYChybWFpbC1oZWFkZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCisgICAgYChybWFpbC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyBydWxlci1tb2RlDQorICAgIGAocnVs ZXItbW9kZS1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVs dCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHJ1bGVyLW1vZGUtY29tbWVudC1jb2x1 bW4gKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxyZWQp KSkNCisgICAgYChydWxlci1tb2RlLWN1cnJlbnQtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1 bGVyLW1vZGUtZGVmYXVsdCA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCisgICAgYChydWxlci1tb2RlLWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQg ZGVmYXVsdCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkN CisgICAgYChydWxlci1tb2RlLWZpbGwtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1v ZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChydWxlci1tb2RlLWZyaW5n ZXMgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxjeWFu KSkpDQorICAgIGAocnVsZXItbW9kZS1nb2FsLWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBydWxl ci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAgYChydWxlci1tb2RlLW1h cmdpbnMgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxi Zy1tYWluKSkpDQorICAgIGAocnVsZXItbW9kZS1wYWQgKCgsY2xhc3MgOmluaGVyaXQgcnVsZXIt bW9kZS1kZWZhdWx0IDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0 aXZlKSkpDQorICAgIGAocnVsZXItbW9kZS10YWItc3RvcCAoKCxjbGFzcyA6aW5oZXJpdCBydWxl ci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKzs7Ozs7IHNh bGxldA0KKyAgICBgKHNhbGxldC1idWZmZXItY29tcHJlc3NlZCAoKCxjbGFzcyA6aW5oZXJpdCBp dGFsaWMgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpDQorICAgIGAoc2FsbGV0LWJ1 ZmZlci1kZWZhdWx0LWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2Vk LWZnKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1kaXJlY3RvcnkgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtbnVhbmNlZC1mZykpKQ0KKyAgICBgKHNhbGxldC1idWZmZXItaGVscCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1t b2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBpdGFsaWMgOmZvcmVncm91bmQgLHllbGxvdy1hbHQt b3RoZXIpKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLW9yZGluYXJ5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQorICAgIGAoc2FsbGV0LWJ1ZmZlci1yZWFkLW9ubHkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHllbGxvdy1hbHQpKSkNCisgICAgYChzYWxsZXQtYnVmZmVyLXNpemUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBgKHNhbGxldC1idWZm ZXItc3BlY2lhbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisg ICAgYChzYWxsZXQtZmx4LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29t cGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1zdWJ0bGUtY3lhbg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXJlZmluZS1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn bW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjeWFuLWFsdC1vdGhlcikpKSkNCisgICAgYChzYWxsZXQtcmVjZW50Zi1idWZmZXItbmFt ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpDQorICAgIGAoc2FsbGV0 LXJlY2VudGYtZmlsZS1wYXRoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQp KSkNCisgICAgYChzYWxsZXQtcmVnZXhwLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0t ZXh0cmEtY29tcGxldGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcikpKSkN CisgICAgYChzYWxsZXQtc291cmNlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtYWx0DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10aGVtZXMtc2NhbGUtNCkpKSkNCisgICAgYChzYWxs ZXQtc3Vic3RyaW5nLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tZXh0cmEtY29tcGxl dGlvbnMNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1zdWJ0bGUtYmx1ZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlcikpKSkNCis7Ozs7OyBzZWxl Y3RydW0NCis7OyBOT1RFIDIwMjEtMDItMjI6IFRoZSBgc2VsZWN0cnVtLXByaW1hcnktaGlnaGxp Z2h0JyBhbmQNCis7OyBgc2VsZWN0cnVtLXNlY29uZGFyeS1oaWdobGlnaHQnIGFyZSBkZXByZWNh dGVkIHVwc3RyZWFtIGluIGZhdm91ciBvZg0KKzs7IHRoZWlyIHNlbGVjdHJ1bS1wcmVzY2llbnQg Y291bnRlcnBhcnRzLiAgV2Ugc2hhbGwgcmVtb3ZlIHRob3NlIGZhY2VzDQorOzsgZnJvbSB0aGUg dGhlbWVzIG9uY2Ugd2UgYXJlIGNlcnRhaW4gdGhhdCB0aGV5IGFyZSBubyBsb25nZXIgcmVsZXZh bnQuDQorICAgIGAoc2VsZWN0cnVtLWN1cnJlbnQtY2FuZGlkYXRlDQorICAgICAgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbg0KKyAgICAgICAgICAgICAgIDpiYWNr Z3JvdW5kICxAKHBjYXNlIG1vZHVzLXRoZW1lcy1jb21wbGV0aW9ucw0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoJ29waW5pb25hdGVkIChsaXN0IGJnLWFjdGl2ZSkpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChfIChsaXN0IGJnLWluYWN0aXZlKSkpKSkpDQorICAg IGAoc2VsZWN0cnVtLXByaW1hcnktaGlnaGxpZ2h0DQorICAgICAgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZA0KKyAgICAgICAgICAgICAgICxAKG1vZHVzLXRoZW1lcy0tc3RhbmRhcmQtY29tcGxldGlv bnMNCisgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLW51YW5jZWQtYmcNCisg ICAgICAgICAgICAgICAgICBtYWdlbnRhLXJlZmluZS1iZyBtYWdlbnRhLXJlZmluZS1mZykpKSkN CisgICAgYChzZWxlY3RydW0tc2Vjb25kYXJ5LWhpZ2hsaWdodA0KKyAgICAgICgoLGNsYXNzIDpp bmhlcml0IGJvbGQNCisgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNv bXBsZXRpb25zDQorICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1udWFuY2Vk LWJnDQorICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcpKSkp DQorOzs7Ozsgc2VsZWN0cnVtLXByZXNjaWVudA0KKyAgICBgKHNlbGVjdHJ1bS1wcmVzY2llbnQt cHJpbWFyeS1oaWdobGlnaHQNCisgICAgICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQorICAgICAg ICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KKyAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0IG1hZ2VudGEtbnVhbmNlZC1iZw0KKyAgICAgICAgICAgICAg ICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KKyAgICBgKHNlbGVj dHJ1bS1wcmVzY2llbnQtc2Vjb25kYXJ5LWhpZ2hsaWdodA0KKyAgICAgICgoLGNsYXNzIDppbmhl cml0IGJvbGQNCisgICAgICAgICAgICAgICAsQChtb2R1cy10aGVtZXMtLXN0YW5kYXJkLWNvbXBs ZXRpb25zDQorICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1udWFuY2VkLWJn DQorICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgY3lhbi1yZWZpbmUtZmcpKSkpDQor Ozs7Ozsgc2VtYW50aWMNCisgICAgYChzZW1hbnRpYy1jb21wbGV0ZS1pbmxpbmUtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBg KHNlbWFudGljLWRlY29yYXRpb24tb24tZmlsZWxlc3MtaW5jbHVkZXMgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuKSkpDQorICAgIGAoc2VtYW50aWMtZGVjb3JhdGlv bi1vbi1wcml2YXRlLW1lbWJlcnMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtY3lhbikpKQ0KKyAgICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tcHJvdGVjdGVkLW1l bWJlcnMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoc2VtYW50 aWMtZGVjb3JhdGlvbi1vbi11bmtub3duLWluY2x1ZGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXJlZmluZS1yZWQpKSkNCisgICAgYChzZW1hbnRpYy1kZWNvcmF0aW9uLW9uLXVucGFy c2VkLWluY2x1ZGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cp KSkNCisgICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZWRpdHMtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctYWx0KSkpDQorICAgIGAoc2VtYW50aWMtaGlnaGxpZ2h0LWZ1bmMtY3VycmVudC10 YWctZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAoc2VtYW50aWMt aWRsZS1zeW1ib2wtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNp YWwtbWlsZCkpKQ0KKyAgICBgKHNlbWFudGljLXRhZy1ib3VuZGFyeS1mYWNlICgoLGNsYXNzIDpv dmVybGluZSAsYmx1ZS1pbnRlbnNlKSkpDQorICAgIGAoc2VtYW50aWMtdW5tYXRjaGVkLXN5bnRh eC1mYWNlICgoLGNsYXNzIDp1bmRlcmxpbmUgLGZnLWxhbmctZXJyb3IpKSkNCis7Ozs7OyBzZXNt YW4NCisgICAgYChzZXNtYW4tYnJvd3Nlci1idXR0b24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIgOnVuZGVybGluZSB0KSkpDQorICAgIGAoc2VzbWFuLWJyb3dzZXIt aGlnaGxpZ2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkp KQ0KKyAgICBgKHNlc21hbi1idWZmZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YSkpKQ0KKyAgICBgKHNlc21hbi1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoc2VzbWFuLXByb2plY3QtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKzs7Ozs7 IHNoZWxsLXNjcmlwdC1tb2RlDQorICAgIGAoc2gtaGVyZWRvYyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQpKSkNCisgICAgYChzaC1xdW90ZWQtZXhlYyAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1ib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKzs7Ozs7IHNob3J0 ZG9jDQorICAgIGAoc2hvcnRkb2MtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1wc2V1ZG8taGVhZGVyKSkpDQorICAgIGAoc2hvcnRkb2Mtc2VjdGlvbiAoKCxjbGFzcykpKSA7 IHJlbW92ZSB0aGUgZGVmYXVsdCdzIHZhcmlhYmxlLXBpdGNoIHN0eWxlDQorOzs7Ozsgc2hvdy1w YXJlbi1tb2RlDQorICAgIGAoc2hvdy1wYXJlbi1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy10aGVt ZXMtLXBhcmVuIGJnLXBhcmVuLW1hdGNoDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJnLXBhcmVuLW1hdGNoLWludGVuc2UpDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KHNob3ctcGFyZW4tbWF0Y2gtZXhwcmVzc2lvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zcGVjaWFsLWNhbG0pKSkNCisgICAgYChzaG93LXBhcmVuLW1pc21hdGNoICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorOzs7Ozsgc2hyDQorICAgIGAoc2hy LWFiYnJldmlhdGlvbg0KKyAgICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAo OnN0eWxlIHdhdmUpKSkgY2xhc3MpDQorICAgICAgICA6Zm9yZWdyb3VuZCAsZmctZG9jc3RyaW5n IDp1bmRlcmxpbmUgKDpjb2xvciAsZmctYWx0IDpzdHlsZSB3YXZlKSkNCisgICAgICAgKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctZG9jc3RyaW5nIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHNoci1z ZWxlY3RlZC1saW5rICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkp DQorOzs7Ozsgc2lkZS1ub3Rlcw0KKyAgICBgKHNpZGUtbm90ZXMgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorOzs7Ozsgc2lldmUtbW9kZQ0KKyAg ICBgKHNpZXZlLWFjdGlvbi1jb21tYW5kcyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVp bHRpbi1mYWNlKSkpDQorICAgIGAoc2lldmUtY29udHJvbC1jb21tYW5kcyAoKCxjbGFzcyA6aW5o ZXJpdCBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpDQorICAgIGAoc2lldmUtdGFnZ2VkLWFyZ3Vt ZW50cyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdHlwZS1mYWNlKSkpDQorICAgIGAoc2ll dmUtdGVzdC1jb21tYW5kcyAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFt ZS1mYWNlKSkpDQorOzs7Ozsgc2tld2VyLW1vZGUNCisgICAgYChza2V3ZXItZXJyb3ItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KKzs7Ozs7IHNtYXJ0LW1v ZGUtbGluZQ0KKyAgICBgKHNtbC9jaGFyZ2luZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4t YWN0aXZlKSkpDQorICAgIGAoc21sL2Rpc2NoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQorICAgIGAoc21sL2ZpbGVuYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAoc21sL2ZvbGRlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQorICAgIGAoc21sL2dpdCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCisgICAgYChzbWwvZ2xvYmFsICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisgICAgYChzbWwvbGluZS1udW1iZXIg KCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9taW5vci1tb2RlcyAo KCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL21vZGVzICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9tb2Rp ZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkp KQ0KKyAgICBgKHNtbC9tdWxlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0K KyAgICBgKHNtbC9uYW1lLWZpbGxpbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUpKSkNCisgICAgYChzbWwvbm90LW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9i YWwpKSkNCisgICAgYChzbWwvbnVtYmVycy1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgc21s L2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9vdXRzaWRlLW1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQorICAgIGAoc21sL3Bvc2l0aW9uLXBlcmNlbnRh Z2UgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9wcmVmaXggKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9wcm9jZXNzICgo LGNsYXNzIDppbmhlcml0IHNtbC9wcmVmaXgpKSkNCisgICAgYChzbWwvcHJvamVjdGlsZSAoKCxj bGFzcyA6aW5oZXJpdCBzbWwvZ2l0KSkpDQorICAgIGAoc21sL3JlYWQtb25seSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHNtbC9yZW1v dGUgKCgsY2xhc3MgOmluaGVyaXQgc21sL2dsb2JhbCkpKQ0KKyAgICBgKHNtbC9zdWRvICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQpKSkNCisgICAgYChzbWwvdGltZSAo KCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQorICAgIGAoc21sL3ZjICgoLGNsYXNzIDpp bmhlcml0IHNtbC9naXQpKSkNCisgICAgYChzbWwvdmMtZWRpdGVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCis7Ozs7OyBzbWFydHBhcmVucw0K KyAgICBgKHNwLXBhaXItb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHNwLXNob3ctcGFpci1lbmNsb3NpbmcgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQorICAgIGAoc3Atc2hvdy1wYWly LW1hdGNoLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdGhlbWVzLS1wYXJlbiBiZy1wYXJlbi1tYXRj aA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSkNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHNwLXNob3ct cGFpci1taXNtYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2Ut cmVkKSkpDQorICAgIGAoc3Atd3JhcC1vdmVybGF5LWNsb3NpbmctcGFpciAoKCxjbGFzcyA6aW5o ZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KKyAgICBgKHNwLXdyYXAtb3ZlcmxheS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHNwLXBhaXItb3ZlcmxheS1mYWNlKSkpDQorICAgIGAoc3Atd3Jh cC1vdmVybGF5LW9wZW5pbmctcGFpciAoKCxjbGFzcyA6aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXkt ZmFjZSkpKQ0KKyAgICBgKHNwLXdyYXAtdGFnLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KKzs7Ozs7IHNtZXJnZQ0KKyAgICBgKHNtZXJnZS1i YXNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KKyAgICBg KHNtZXJnZS1sb3dlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkp DQorICAgIGAoc21lcmdlLW1hcmtlcnMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1 dHJhbC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikpKQ0KKyAgICBgKHNtZXJnZS1y ZWZpbmVkLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFk ZGVkKSkpDQorICAgIGAoc21lcmdlLXJlZmluZWQtY2hhbmdlZCAoKCxjbGFzcykpKQ0KKyAgICBg KHNtZXJnZS1yZWZpbmVkLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlm Zi1yZWZpbmUtcmVtb3ZlZCkpKQ0KKyAgICBgKHNtZXJnZS11cHBlciAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQpKSkNCis7Ozs7OyBzb2xhaXJlDQorICAgIGAoc29s YWlyZS1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVsdCA6YmFja2dyb3VuZCAs YmctYWx0IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYChzb2xhaXJlLWxpbmUtbnVtYmVy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc29sYWlyZS1kZWZhdWx0LWZhY2UgOmZvcmVncm91bmQg LGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKHNvbGFpcmUtaGwtbGluZS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCisgICAgYChzb2xhaXJlLW9yZy1oaWRlLWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmctYWx0KSkpDQorOzs7Ozsg c3BhY2VsaW5lDQorICAgIGAoc3BhY2VsaW5lLWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEpKSkNCisgICAgYChzcGFjZWxpbmUtZXZpbC1pbnNl cnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWdyZWVuKSkpDQorICAgIGAo c3BhY2VsaW5lLWV2aWwtbW90aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2 ZS1ibHVlKSkpDQorICAgIGAoc3BhY2VsaW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKHNwYWNlbGluZS1ldmls LXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCkpKQ0KKyAg ICBgKHNwYWNlbGluZS1ldmlsLXZpc3VhbCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1h Y3RpdmUtY3lhbikpKQ0KKyAgICBgKHNwYWNlbGluZS1mbHljaGVjay1lcnJvciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KKyAgICBgKHNwYWNlbGluZS1mbHljaGVjay1pbmZv ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHNwYWNlbGluZS1m bHljaGVjay13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQor ICAgIGAoc3BhY2VsaW5lLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWZyaW5nZS1ibHVlKSkpDQorICAgIGAoc3BhY2VsaW5lLW1vZGlmaWVkICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1tYWdlbnRhKSkpDQorICAgIGAoc3BhY2VsaW5lLXB5 dGhvbi12ZW52ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KKyAgICBg KHNwYWNlbGluZS1yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdl LXJlZCkpKQ0KKyAgICBgKHNwYWNlbGluZS11bm1vZGlmaWVkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkpDQorOzs7Ozsgc3BlZWRiYXINCisgICAgYChzcGVlZGJh ci1idXR0b24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24pKSkNCisgICAgYChzcGVlZGJh ci1kaXJlY3RvcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVl KSkpDQorICAgIGAoc3BlZWRiYXItZmlsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAoc3BlZWRiYXItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChzcGVlZGJhci1zZWxlY3RlZC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYChzcGVl ZGJhci1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LW5ldXRyYWwpKSkNCisgICAgYChzcGVlZGJhci10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KKzs7Ozs7IHNwZWxsLWZ1DQorICAgIGAoc3BlbGwtZnUt aW5jb3JyZWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFuZy1lcnJvcikp KQ0KKzs7Ozs7IHNwcmF5DQorICAgIGAoc3ByYXktYWNjZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHJlZC1pbnRlbnNlKSkpDQorICAgIGAoc3ByYXktYmFzZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGRlZmF1bHQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7Ozs7IHN0 cmlwZXMNCisgICAgYChzdHJpcGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxp bmUpKSkNCis7Ozs7OyBzdWNjZXNzDQorICAgIGAoc3VnZ2VzdC1oZWFkaW5nICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCis7Ozs7OyBzd2l0 Y2gtd2luZG93DQorICAgIGAoc3dpdGNoLXdpbmRvdy1iYWNrZ3JvdW5kICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1kaW0pKSkNCisgICAgYChzd2l0Y2gtd2luZG93LWxhYmVsICgoLGNsYXNzIDpo ZWlnaHQgMy4wIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkNCis7Ozs7OyBzd2lwZXINCisg ICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3VidGxlLW5ldXRyYWwpKSkNCisgICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRj aC1mYWNlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCisg ICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCisgICAgYChzd2lwZXItYmFja2dyb3VuZC1tYXRj aC1mYWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0K KyAgICBgKHN3aXBlci1saW5lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC1jb2xkKSkpDQorICAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJp dCAoYm9sZCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkpDQorICAgIGAoc3dpcGVyLW1h dGNoLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBtb2R1cy10aGVtZS1pbnRlbnNlLWdy ZWVuKSkpKQ0KKyAgICBgKHN3aXBlci1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgKGJv bGQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpKQ0KKyAgICBgKHN3aXBlci1tYXRjaC1mYWNl LTQgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkpDQor Ozs7Ozsgc3dvb3ANCisgICAgYChzd29vcC1mYWNlLWhlYWRlci1mb3JtYXQtbGluZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0DQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1cy10 aGVtZXMtc2NhbGUtMykpKSkNCisgICAgYChzd29vcC1mYWNlLWxpbmUtYnVmZmVyLW5hbWUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1zY2FsZSBtb2R1 cy10aGVtZXMtc2NhbGUtNCkpKSkNCisgICAgYChzd29vcC1mYWNlLWxpbmUtbnVtYmVyICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYChzd29vcC1mYWNlLXRh cmdldC1saW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSA6ZXh0 ZW5kIHQpKSkNCisgICAgYChzd29vcC1mYWNlLXRhcmdldC13b3JkcyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKzs7Ozs7IHN4DQorICAgIGAoc3gtaW5ib3gt aXRlbS10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAg ICBgKHN4LWluYm94LWl0ZW0tdHlwZS11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgKHN4LWluYm94 LWl0ZW0tdHlwZSBib2xkKSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtYW5zd2VycyAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1saXN0LWFuc3dl cnMtYWNjZXB0ZWQgKCgsY2xhc3MgOmJveCB0IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KKyAgICBg KHN4LXF1ZXN0aW9uLWxpc3QtYm91bnR5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlz dC1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYChz eC1xdWVzdGlvbi1saXN0LWZhdm9yaXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3QtcGFyZW50ICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3gtcXVlc3Rpb24tbGlzdC1y ZWFkLXF1ZXN0aW9uICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykpKQ0KKyAgICBgKHN4LXF1ZXN0 aW9uLWxpc3Qtc2NvcmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0K KyAgICBgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUtdXB2b3RlZCAoKCxjbGFzcyA6aW5oZXJpdCAo c3gtcXVlc3Rpb24tbGlzdC1zY29yZSBib2xkKSkpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLWxpc3Qt dW5yZWFkLXF1ZXN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWFjY2VwdGVkICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmhlaWdodCAxLjMgOmZvcmVncm91bmQgLGdyZWVuKSkpDQorICAgIGAoc3gtcXVlc3Rp b24tbW9kZS1jbG9zZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLXllbGxv dyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwpKSkpDQorICAgIGAoc3gtcXVlc3Rpb24t bW9kZS1jbG9zZWQtcmVhc29uICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5p bCkgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYChzeC1xdWVzdGlvbi1tb2RlLWNvbnRl bnQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQorICAgIGAoc3gtcXVlc3Rp b24tbW9kZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQorICAgIGAoc3gtcXVl c3Rpb24tbW9kZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lh bikpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUta2JkLXRhZyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpoZWlnaHQgMC45IDpib3ggKDpsaW5lLXdpZHRoIDMgOmNvbG9yICxmZy1tYWluIDpzdHls ZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3gtcXVl c3Rpb24tbW9kZS1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQorICAgIGAo c3gtcXVlc3Rpb24tbW9kZS1zY29yZS1kb3dudm90ZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdykpKQ0KKyAgICBgKHN4LXF1ZXN0aW9uLW1vZGUtc2NvcmUtdXB2b3RlZCAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAoc3gtcXVlc3Rpb24t bW9kZS10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAoc3gtcXVlc3Rpb24tbW9kZS10aXRsZS1jb21tZW50cyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCisgICAgYChzeC10YWcgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAoc3gtdXNlci1uYW1lICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKHN4LXVzZXItcmVwdXRhdGlvbiAoKCxjbGFz cyA6aW5oZXJpdCBzaGFkb3cpKSkNCis7Ozs7OyBzeW1ib2wtb3ZlcmxheQ0KKyAgICBgKHN5bWJv bC1vdmVybGF5LWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVj aWFsLXdhcm0pKSkNCisgICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTEgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFj ZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQorICAg IGAoc3ltYm9sLW92ZXJsYXktZmFjZS0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UteWVsbG93KSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS00ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkpKQ0KKyAgICBgKHN5bWJvbC1vdmVy bGF5LWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0K KyAgICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtcmVkKSkpDQorICAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS03ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtY3lhbikpKQ0KKyAgICBgKHN5bWJvbC1vdmVybGF5 LWZhY2UtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikpKQ0KKzs7 Ozs7IHN5c2xvZy1tb2RlDQorICAgIGAoc3lzbG9nLWRlYnVnICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAoc3lzbG9nLWVycm9yICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHN5c2xvZy1m aWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkp KQ0KKyAgICBgKHN5c2xvZy1oaWRlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAoc3lzbG9nLWhvdXIgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCisgICAgYChzeXNsb2ctaW5m byAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K KyAgICBgKHN5c2xvZy1pcCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQgOnVuZGVybGluZSB0KSkpDQorICAgIGAoc3lzbG9nLXN1ICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCisgICAgYChzeXNsb2ctd2FybiAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCis7Ozs7OyB0YWIt YmFyLW1vZGUNCisgICAgYCh0YWItYmFyICgoLGNsYXNzICxAKG1vZHVzLXRoZW1lcy0tdmFyaWFi bGUtcGl0Y2gtdWkpDQorICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctdGFi LWJhciA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRhYi1iYXItdGFiICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUp DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91bmQgLGJnLXRhYi1hY3RpdmUg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0YWItYmFyLXRhYi1pbmFjdGl2ZSAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWluYWN0aXZlKQ0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3Rp dmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KKzs7Ozs7IHRhYi1saW5lLW1vZGUNCisgICAgYCh0 YWItbGluZSAoKCxjbGFzcyAsQChtb2R1cy10aGVtZXMtLXZhcmlhYmxlLXBpdGNoLXVpKQ0KKyAg ICAgICAgICAgICAgICAgICAgICAgIDpoZWlnaHQgMC45NSA6YmFja2dyb3VuZCAsYmctdGFiLWJh ciA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRhYi1saW5lLWNsb3NlLWhpZ2hsaWdo dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQorICAgIGAodGFiLWxpbmUtaGlnaGxpZ2h0 ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGlt KSkpDQorICAgIGAodGFiLWxpbmUtdGFiICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxp bmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQorICAgIGAodGFiLWxpbmUtdGFiLWN1cnJlbnQgKCgsY2xhc3MgOmluaGVyaXQgdGFiLWxpbmUt dGFiKSkpDQorICAgIGAodGFiLWxpbmUtdGFiLWluYWN0aXZlICgoLGNsYXNzIDpib3ggKDpsaW5l LXdpZHRoIDIgOmNvbG9yICxiZy10YWItaW5hY3RpdmUpDQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KKyAgICBgKHRhYi1saW5lLXRhYi1pbmFjdGl2ZS1hbHRlcm5hdGUgKCgsY2xh c3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1pbmFjdGl2ZS1hbHQpDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAs YmctdGFiLWluYWN0aXZlLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKzs7Ozs7IHRhYmxl IChidWlsdC1pbiB0YWJsZS5lbCkNCisgICAgYCh0YWJsZS1jZWxsICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxibHVlLW51YW5jZWQtYmcpKSkNCis7Ozs7OyB0ZWxlcGhvbmUtbGluZQ0KKyAgICBgKHRl bGVwaG9uZS1saW5lLWFjY2VudC1hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWluYWN0 aXZlIDpmb3JlZ3JvdW5kICxiZy1pbmFjdGl2ZSkpKQ0KKyAgICBgKHRlbGVwaG9uZS1saW5lLWFj Y2VudC1pbmFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5k ICxmZy1hY3RpdmUpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS1lcnJvciAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQorICAgIGAodGVsZXBob25lLWxp bmUtZXZpbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHRlbGVwaG9u ZS1saW5lLWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6 YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUt ZXZpbC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dy b3VuZCAsZ3JlZW4taW50ZW5zZS1iZykpKQ0KKyAgICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtbW90 aW9uICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLHll bGxvdy1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1ub3JtYWwgKCgs Y2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsYmctYWx0KSkp DQorICAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1vcGVyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCB0 ZWxlcGhvbmUtbGluZS1ldmlsIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnKSkpDQorICAg IGAodGVsZXBob25lLWxpbmUtZXZpbC1yZXBsYWNlICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9u ZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBo b25lLWxpbmUtZXZpbC12aXN1YWwgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZp bCA6YmFja2dyb3VuZCAsY3lhbi1pbnRlbnNlLWJnKSkpDQorICAgIGAodGVsZXBob25lLWxpbmUt cHJvamVjdGlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYCh0 ZWxlcGhvbmUtbGluZS11bmltcG9ydGFudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3Rp dmUpKSkNCisgICAgYCh0ZWxlcGhvbmUtbGluZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCis7Ozs7OyB0ZXJyYWZvcm0tbW9kZQ0K KyAgICBgKHRlcnJhZm9ybS0tcmVzb3VyY2UtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXRo ZW1lcy0tc3ludGF4LXN0cmluZw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyIG1hZ2VudGEtYWx0LW90aGVyLWZhaW50DQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCBy ZWQtYWx0KSkpKQ0KKyAgICBgKHRlcnJhZm9ybS0tcmVzb3VyY2UtdHlwZS1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLXRoZW1lcy0tc3ludGF4LXN0cmluZw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuIGdyZWVuLWZhaW50DQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgbWFnZW50YS1hbHQp KSkpDQorOzs7OzsgdGVybQ0KKyAgICBgKHRlcm0gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h aW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0ZXJtLWJvbGQgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCkpKQ0KKyAgICBgKHRlcm0tY29sb3ItYmxhY2sgKCgsY2xhc3MgOmJhY2tncm91 bmQgImdyYXkzNSIgOmZvcmVncm91bmQgImdyYXkzNSIpKSkNCisgICAgYCh0ZXJtLWNvbG9yLWJs dWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJsdWUpKSkNCisgICAg YCh0ZXJtLWNvbG9yLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4gOmZvcmVncm91bmQg LGN5YW4pKSkNCisgICAgYCh0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxn cmVlbiA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYCh0ZXJtLWNvbG9yLW1hZ2VudGEgKCgs Y2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAg YCh0ZXJtLWNvbG9yLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVkIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCisgICAgYCh0ZXJtLWNvbG9yLXdoaXRlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5 NjUiIDpmb3JlZ3JvdW5kICJncmF5NjUiKSkpDQorICAgIGAodGVybS1jb2xvci15ZWxsb3cgKCgs Y2xhc3MgOmJhY2tncm91bmQgLHllbGxvdyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAo dGVybS11bmRlcmxpbmUgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkpDQorOzs7OzsgdG9tYXRpbmhv DQorICAgIGAodG9tYXRpbmhvLW9rLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtaW50 ZW5zZSkpKQ0KKyAgICBgKHRvbWF0aW5oby1wYXVzZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctaW50ZW5zZSkpKQ0KKyAgICBgKHRvbWF0aW5oby1yZXNldC1mYWNlICgoLGNsYXNz IDppbmhlcml0IHNoYWRvdykpKQ0KKzs7Ozs7IHRyYW5zaWVudA0KKyAgICBgKHRyYW5zaWVudC1h Y3RpdmUtaW5maXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkp DQorICAgIGAodHJhbnNpZW50LWFtYXJhbnRoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHllbGxvdykpKQ0KKyAgICBgKHRyYW5zaWVudC1hcmd1bWVudCAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQorICAgIGAodHJhbnNpZW50LWJsdWUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHRyYW5z aWVudC1kaXNhYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1yZWQpKSkNCisgICAgYCh0cmFuc2llbnQtZW5hYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikpKQ0KKyAgICBgKHRyYW5zaWVudC1oZWFkaW5n ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh0 cmFuc2llbnQtaW5hY3RpdmUtYXJndW1lbnQgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQor ICAgIGAodHJhbnNpZW50LWluYWN0aXZlLXZhbHVlICgoLGNsYXNzIDppbmhlcml0IHNoYWRvdykp KQ0KKyAgICBgKHRyYW5zaWVudC1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KKyAgICBgKHRyYW5zaWVudC1taXNtYXRjaGVkLWtleSAoKCxjbGFzcyA6dW5k ZXJsaW5lIHQpKSkNCisgICAgYCh0cmFuc2llbnQtbm9uc3RhbmRhcmQta2V5ICgoLGNsYXNzIDp1 bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHRyYW5zaWVudC1waW5rICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCisgICAgYCh0cmFuc2llbnQtcmVkICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQorICAgIGAodHJhbnNp ZW50LXRlYWwgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3Ro ZXIpKSkNCisgICAgYCh0cmFuc2llbnQtdW5yZWFjaGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKHRyYW5zaWVudC11bnJlYWNoYWJsZS1rZXkgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KKyAgICBgKHRyYW5zaWVudC12YWx1ZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K Kzs7Ozs7IHRyYXNoZWQNCisgICAgYCh0cmFzaGVkLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtbWFyay1kZWwpKSkNCisgICAgYCh0cmFzaGVkLWRpcmVjdG9yeSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHRyYXNoZWQtbWFyayAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkpKQ0KKyAgICBgKHRyYXNoZWQtbWFya2VkICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkpDQorICAgIGAodHJhc2hlZC1y ZXN0b3JlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KKyAgICBg KHRyYXNoZWQtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24NCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdGhlbWVzLS1saW5rLWNvbG9yDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0IGN5YW4tYWx0LWZhaW50KSkpKQ0KKzs7 Ozs7IHRyZWVtYWNzDQorICAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWNvbGxhcHNlZC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KKyAgICBgKHRyZWVtYWNzLWRpcmVj dG9yeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWRpcmVjdG9yeSkpKQ0KKyAgICBgKHRy ZWVtYWNzLWZpbGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KHRyZWVtYWNzLWZyaW5nZS1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KKyAgICBgKHRyZWVtYWNzLWdpdC1hZGRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1pbnRlbnNlKSkpDQorICAgIGAodHJlZW1hY3MtZ2l0LWNvbmZsaWN0LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtcmVkIGJvbGQpKSkpDQorICAg IGAodHJlZW1hY3MtZ2l0LWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cpKSkN CisgICAgYCh0cmVlbWFjcy1naXQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFsdC1vdGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLWdpdC1yZW5hbWVkLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQorICAgIGAodHJlZW1hY3MtZ2l0 LXVubW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KHRyZWVtYWNzLWdpdC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLWhlbHAtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVu ZGVybGluZSB0KSkpDQorICAgIGAodHJlZW1hY3MtaGVscC10aXRsZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KKyAgICBgKHRyZWVtYWNzLW9uLWZhaWx1cmUt cHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0K KyAgICBgKHRyZWVtYWNzLW9uLXN1Y2Nlc3MtcHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQorICAgIGAodHJlZW1hY3Mtcm9vdC1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDpoZWlnaHQg MS4yIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLWRpc2Nvbm5l Y3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KKyAgICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQorICAgIGAodHJlZW1hY3Mtcm9vdC1yZW1vdGUtdW5yZWFkYWJsZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHRyZWVtYWNzLXJvb3QtdW5yZWFkYWJsZS1mYWNlKSkpDQorICAgIGAodHJlZW1hY3Mt cm9vdC11bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNl IDpzdHJpa2UtdGhyb3VnaCB0KSkpDQorICAgIGAodHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KKyAgICBgKHRyZWVtYWNzLXRhZ3MtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCis7Ozs7OyB0dHktbWVudQ0KKyAgICBg KHR0eS1tZW51LWRpc2FibGVkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQorICAgIGAodHR5LW1lbnUtZW5hYmxlZC1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KKyAgICBgKHR0eS1tZW51LXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1ibHVlKSkpDQorOzs7OzsgdHVhcmVnDQorICAgIGAoY2FtbC10eXBlcy1k ZWYtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQorICAg IGAoY2FtbC10eXBlcy1leHByLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Vi dGxlLWdyZWVuKSkpDQorICAgIGAoY2FtbC10eXBlcy1vY2MtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCisgICAgYChjYW1sLXR5cGVzLXNjb3BlLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUpKSkNCisgICAgYChj YW1sLXR5cGVzLXR5cGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxl LW1hZ2VudGEpKSkNCisgICAgYCh0dWFyZWctZm9udC1kb3VibGUtc2VtaWNvbG9uLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXByZXByb2Nlc3Nvci1mYWNlKSkpDQorICAgIGAodHVh cmVnLWZvbnQtbG9jay1hdHRyaWJ1dGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2st ZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1jb25zdHJ1Y3Rv ci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHVhcmVnLWZv bnQtbG9jay1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCBib2xkKSkpKQ0KKyAgICBgKHR1YXJlZy1mb250LWxvY2stZXh0ZW5zaW9uLW5vZGUtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQor ICAgIGAodHVhcmVnLWZvbnQtbG9jay1nb3Zlcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodHVhcmVnLWZvbnQtbG9jay1pbmZp eC1leHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1mdW5jdGlv bi1uYW1lLWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWRpcmVj dGl2ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAg YCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZXJyb3IpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLW91dHB1dC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAo dHVhcmVnLWZvbnQtbG9jay1sYWJlbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay10 eXBlLWZhY2UpKSkNCisgICAgYCh0dWFyZWctZm9udC1sb2NrLWxpbmUtbnVtYmVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KKyAgICBgKHR1YXJlZy1mb250 LWxvY2stbW9kdWxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFj ZSkpKQ0KKyAgICBgKHR1YXJlZy1mb250LWxvY2stbXVsdGlzdGFnZS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAg ICBgKHR1YXJlZy1mb250LWxvY2stb3BlcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250 LWxvY2stcHJlcHJvY2Vzc29yLWZhY2UpKSkNCisgICAgYCh0dWFyZWctb3BhbS1lcnJvci1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQorICAgIGAodHVhcmVnLW9wYW0tcGtnLXZhcmlh YmxlLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stdmFyaWFibGUtbmFtZS1m YWNlKSkpDQorOzs7OzsgdHlwZXNjcmlwdA0KKyAgICBgKHR5cGVzY3JpcHQtanNkb2MtdGFnICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCisgICAgYCh0eXBlc2NyaXB0LWpzZG9jLXR5cGUgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KKyAgICBg KHR5cGVzY3JpcHQtanNkb2MtdmFsdWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc2xh bnQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKzs7Ozs7IHVuZG8tdHJlZQ0KKyAg ICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWFjdGl2ZS1icmFuY2gtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodW5kby10cmVlLXZpc3Vh bGl6ZXItY3VycmVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWludGVuc2UpKSkN CisgICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1kZWZhdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgc2hhZG93KSkpDQorICAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItcmVnaXN0ZXItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQorICAgIGAodW5kby10cmVl LXZpc3VhbGl6ZXItdW5tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1p bnRlbnNlKSkpDQorOzs7OzsgdmMgKHZjLWRpci5lbCwgdmMtaG9va3MuZWwpDQorICAgIGAodmMt ZGlyLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KKyAgICBgKHZjLWRp ci1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAgIGAodmMtZGlyLWhl YWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCisgICAgYCh2Yy1k aXItaGVhZGVyLXZhbHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KKyAgICBgKHZjLWRpci1tYXJrLWluZGljYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1 ZS1hbHQtb3RoZXIpKSkNCisgICAgYCh2Yy1kaXItc3RhdHVzLWVkaXRlZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAseWVsbG93KSkpDQorICAgIGAodmMtZGlyLXN0YXR1cy1pZ25vcmVkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCisgICAgYCh2Yy1kaXItc3RhdHVzLXVwLXRv LWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCisgICAgYCh2Yy1kaXItc3RhdHVz LXdhcm5pbmcgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHZjLWNvbmZsaWN0 LXN0YXRlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNsYW50IDpmb3JlZ3JvdW5kICxy ZWQtYWN0aXZlKSkpDQorICAgIGAodmMtZWRpdGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWN0aXZlKSkpDQorICAgIGAodmMtbG9jYWxseS1hZGRlZC1zdGF0ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCisgICAgYCh2Yy1sb2NrZWQtc3RhdGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQorICAgIGAodmMtbWlzc2luZy1zdGF0 ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCisgICAgYCh2Yy1uZWVkcy11cGRhdGUtc3RhdGUgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc2xhbnQgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KKyAgICBg KHZjLXJlbW92ZWQtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCisg ICAgYCh2Yy1zdGF0ZS1iYXNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCisg ICAgYCh2Yy11cC10by1kYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCis7Ozs7OyB2ZGlmZg0KKyAgICBgKHZkaWZmLWFkZGl0aW9uLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0KKyAgICBgKHZkaWZmLWNoYW5n ZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCkpKQ0KKyAg ICBgKHZkaWZmLWNsb3NlZC1mb2xkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYt bmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KKyAgICBgKHZkaWZm LXJlZmluZS1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1h ZGRlZCkpKQ0KKyAgICBgKHZkaWZmLXJlZmluZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQpKSkNCisgICAgYCh2ZGlmZi1zdWJ0cmFjdGlv bi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KKyAg ICBgKHZkaWZmLXRhcmdldC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVu c2UtYmx1ZSkpKQ0KKzs7Ozs7IHZpbWlzaC1mb2xkDQorICAgIGAodmltaXNoLWZvbGQtZnJpbmdl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KKyAgICBgKHZpbWlzaC1mb2xk LW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkp DQorICAgIGAodmltaXNoLWZvbGQtb3ZlcmxheSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0 IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCis7Ozs7OyB2aXNpYmxlLW1hcmsNCisg ICAgYCh2aXNpYmxlLW1hcmstYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWludGVu c2UtYmcpKSkNCisgICAgYCh2aXNpYmxlLW1hcmstZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQg LGN5YW4taW50ZW5zZS1iZykpKQ0KKyAgICBgKHZpc2libGUtbWFyay1mYWNlMiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAseWVsbG93LWludGVuc2UtYmcpKSkNCisgICAgYCh2aXNpYmxlLW1hcmstZm9y d2FyZC1mYWNlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1pbnRlbnNlLWJnKSkpDQor ICAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdy ZWVuLWludGVuc2UtYmcpKSkNCis7Ozs7OyB2aXN1YWwtcmVnZXhwDQorICAgIGAodnIvZ3JvdXAt MCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCisgICAgYCh2 ci9ncm91cC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSkp KQ0KKyAgICBgKHZyL2dyb3VwLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1ncmVlbikpKQ0KKyAgICBgKHZyL21hdGNoLTAgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHZyL21hdGNoLTEgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KKyAgICBgKHZyL21hdGNoLXNlcGFyYXRvci1m YWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgYm9sZCkp KSkNCis7Ozs7OyB2b2xhdGlsZS1oaWdobGlnaHRzDQorICAgIGAodmhsL2RlZmF1bHQtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcg OmV4dGVuZCB0KSkpDQorOzs7OzsgdnRlcm0NCisgICAgYCh2dGVybS1jb2xvci1ibGFjayAoKCxj bGFzcyA6YmFja2dyb3VuZCAiZ3JheTM1IiA6Zm9yZWdyb3VuZCAiZ3JheTM1IikpKQ0KKyAgICBg KHZ0ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQg LGJsdWUpKSkNCisgICAgYCh2dGVybS1jb2xvci1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxj eWFuIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAodnRlcm0tY29sb3ItZGVmYXVsdCAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBg KHZ0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCisgICAgYCh2dGVybS1jb2xvci1pbnZlcnNlLXZpZGVvICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1tYWluIDppbnZlcnNlLXZpZGVvIHQpKSkNCisgICAgYCh2dGVybS1jb2xv ci1tYWdlbnRhICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxtYWdlbnRhIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQorICAgIGAodnRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQg OmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHZ0ZXJtLWNvbG9yLXVuZGVybGluZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHZ0 ZXJtLWNvbG9yLXdoaXRlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjUiIDpmb3JlZ3JvdW5k ICJncmF5NjUiKSkpDQorICAgIGAodnRlcm0tY29sb3IteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICx5ZWxsb3cgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KKzs7Ozs7IHdjaGVjay1tb2RlDQor ICAgIGAod2NoZWNrLWRlZmF1bHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkIDp1bmRl cmxpbmUgdCkpKQ0KKzs7Ozs7IHdlYi1tb2RlDQorICAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdl Yi1tb2RlLWFubm90YXRpb24taHRtbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNv bW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWFubm90YXRpb24tdGFnLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlIDp1bmRlcmxpbmUgdCkpKQ0KKyAgICBg KHdlYi1tb2RlLWJsb2NrLWF0dHItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2stYXR0ci12YWx1ZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay10eXBlLWZhY2UpKSkNCisgICAgYCh3ZWItbW9k ZS1ibG9jay1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtY29tbWVudC1m YWNlKSkpDQorICAgIGAod2ViLW1vZGUtYmxvY2stY29udHJvbC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1ibG9jay1kZWxp bWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1t b2RlLWJsb2NrLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KKyAgICBgKHdl Yi1tb2RlLWJsb2NrLXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmlu Zy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQpKSkNCisgICAgYCh3ZWItbW9kZS1idWlsdGluLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9u dC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNvbW1lbnQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUt Y29tbWVudC1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmct ZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNvbnN0YW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Zm9udC1sb2NrLWNvbnN0YW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtYXQtcnVsZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAo d2ViLW1vZGUtY3NzLWNvbG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0 aW4tZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgd2ViLW1vZGUtY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLWZ1bmN0 aW9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQ0KKyAg ICBgKHdlYi1tb2RlLWNzcy1wcmlvcml0eS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9j ay13YXJuaW5nLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1jc3MtcHJvcGVydHktbmFtZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSkNCisgICAgYCh3ZWIt bW9kZS1jc3MtcHNldWRvLWNsYXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWRv Yy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtY3NzLXNlbGVjdG9yLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWNzcy1zdHJp bmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KKyAgICBg KHdlYi1tb2RlLWNzcy12YXJpYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCisgICAgYCh3ZWItbW9kZS1jdXJyZW50LWNvbHVtbi1oaWdobGlnaHQtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQorICAgIGAod2ViLW1vZGUtY3VycmVu dC1lbGVtZW50LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtbWlsZCkpKQ0KKyAgICBgKHdlYi1tb2RlLWRvY3R5cGUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zbGFudCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQor ICAgIGAod2ViLW1vZGUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLXJlZCkpKQ0KKyAgICBgKHdlYi1tb2RlLWZpbHRlci1mYWNlICgoLGNsYXNzIDppbmhl cml0IGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1mb2xk ZWQtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh3ZWItbW9kZS1mdW5jdGlv bi1jYWxsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFj ZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWZ1bmN0aW9uLW5hbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC1h dHRyLWN1c3RvbS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay12YXJpYWJsZS1uYW1l LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZW5naW5lLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLWF0dHItZXF1YWwt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWh0 bWwtYXR0ci1uYW1lLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5h bWUtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWh0bWwtYXR0ci12YWx1ZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRt bC1lbnRpdHktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stbmVnYXRpb24tY2hhci1m YWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC10YWctYnJhY2tldC1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1kaW0pKSkNCisgICAgYCh3ZWItbW9kZS1odG1sLXRhZy1jdXN0b20tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQorICAg IGAod2ViLW1vZGUtaHRtbC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVu Y3Rpb24tbmFtZS1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtaHRtbC10YWctbmFtZXNwYWNlZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkNCisgICAgYCh3 ZWItbW9kZS1odG1sLXRhZy11bmNsb3NlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVycm9yIDp1 bmRlcmxpbmUgdCkpKQ0KKyAgICBgKHdlYi1tb2RlLWlubGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWFsdCkpKQ0KKyAgICBgKHdlYi1tb2RlLWl0YWxpYy1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGl0YWxpYykpKQ0KKyAgICBgKHdlYi1tb2RlLWphdmFzY3JpcHQtY29tbWVudC1mYWNl ICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1t b2RlLWphdmFzY3JpcHQtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3Ry aW5nLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1qc29uLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1qc29uLWNv bnRleHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpDQor ICAgIGAod2ViLW1vZGUtanNvbi1rZXktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1u dWFuY2VkLWZnKSkpDQorICAgIGAod2ViLW1vZGUtanNvbi1zdHJpbmctZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCB3ZWItbW9kZS1zdHJpbmctZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0 aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KKyAgICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0yLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJsdWUtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQorICAg IGAod2ViLW1vZGUtanN4LWRlcHRoLTMtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3Bl Y2lhbC1jb2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh3ZWItbW9k ZS1qc3gtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQorICAgIGAod2ViLW1vZGUtanN4LWRlcHRoLTUtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcp KSkNCisgICAgYCh3ZWItbW9kZS1rZXl3b3JkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgOmluaGVy aXQgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkpKQ0KKyAgICBgKHdlYi1tb2RlLXBhcmFtLW5hbWUt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stZnVuY3Rpb24tbmFtZS1mYWNlKSkpDQor ICAgIGAod2ViLW1vZGUtcGFydC1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1v ZGUtY29tbWVudC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtcGFydC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IHdlYi1tb2RlLWJsb2NrLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1wYXJ0LXN0cmlu Zy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQorICAgIGAo d2ViLW1vZGUtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXBy ZXByb2Nlc3Nvci1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc2NyaXB0LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgd2ViLW1vZGUtcGFydC1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc3FsLWtleXdv cmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stbmVnYXRpb24tY2hhci1mYWNlKSkp DQorICAgIGAod2ViLW1vZGUtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2Nr LXN0cmluZy1mYWNlKSkpDQorICAgIGAod2ViLW1vZGUtc3R5bGUtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCB3ZWItbW9kZS1wYXJ0LWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS1zeW1ib2wtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpKQ0KKyAgICBgKHdlYi1t b2RlLXR5cGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkp DQorICAgIGAod2ViLW1vZGUtdW5kZXJsaW5lLWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSB0KSkp DQorICAgIGAod2ViLW1vZGUtdmFyaWFibGUtbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZv bnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkNCisgICAgYCh3ZWItbW9kZS13YXJuaW5nLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpKQ0KKyAgICBgKHdl Yi1tb2RlLXdoaXRlc3BhY2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVzcGFj ZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKzs7Ozs7IHdncmVwDQorICAgIGAod2dy ZXAtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxv dykpKQ0KKyAgICBgKHdncmVwLWRvbmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUtYmx1ZSkpKQ0KKyAgICBgKHdncmVwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLWdyZWVuKSkpDQorICAgIGAod2dyZXAtZmlsZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCisgICAgYCh3Z3JlcC1yZWplY3QtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCis7 Ozs7OyB3aGljaC1mdW5jdGlvbi1tb2RlDQorICAgIGAod2hpY2gtZnVuYyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCis7Ozs7OyB3aGljaC1rZXkNCisgICAgYCh3aGlj aC1rZXktY29tbWFuZC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQorICAgIGAod2hpY2gta2V5LWdyb3VwLWRlc2NyaXB0aW9uLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQorICAgIGAod2hpY2gta2V5LWhpZ2hsaWdodGVk LWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkp KQ0KKyAgICBgKHdoaWNoLWtleS1rZXktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWludGVuc2UpKSkNCisgICAgYCh3aGljaC1rZXktbG9jYWwtbWFwLWRlc2Ny aXB0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCisgICAgYCh3aGlj aC1rZXktbm90ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkN CisgICAgYCh3aGljaC1rZXktc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgc2hhZG93 KSkpDQorICAgIGAod2hpY2gta2V5LXNwZWNpYWwta2V5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsb3JhbmdlLWludGVuc2UpKSkNCis7Ozs7OyB3aGl0ZXNwYWNlLW1v ZGUNCisgICAgYCh3aGl0ZXNwYWNlLWJpZy1pbmRlbnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLXJlZCkpKQ0KKyAgICBgKHdoaXRlc3BhY2UtZW1wdHkgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQorICAgIGAod2hpdGVzcGFjZS1o c3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZn LXdoaXRlc3BhY2UpKSkNCisgICAgYCh3aGl0ZXNwYWNlLWluZGVudGF0aW9uICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQor ICAgIGAod2hpdGVzcGFjZS1saW5lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCisg ICAgYCh3aGl0ZXNwYWNlLW5ld2xpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3Bh Y2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCisgICAgYCh3aGl0ZXNwYWNlLXNwYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0 ZXNwYWNlKSkpDQorICAgIGAod2hpdGVzcGFjZS1zcGFjZS1hZnRlci10YWIgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCisgICAgYCh3aGl0ZXNwYWNlLXNw YWNlLWJlZm9yZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4p KSkNCisgICAgYCh3aGl0ZXNwYWNlLXRhYiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctd2hpdGVz cGFjZSA6Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KKyAgICBgKHdoaXRlc3BhY2UtdHJh aWxpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCis7Ozs7 OyB3aW5kb3ctZGl2aWRlci1tb2RlDQorICAgIGAod2luZG93LWRpdmlkZXIgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLWlubmVyKSkpDQorICAgIGAod2luZG93LWRpdmlk ZXItZmlyc3QtcGl4ZWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91 dGVyKSkpDQorICAgIGAod2luZG93LWRpdmlkZXItbGFzdC1waXhlbCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctd2luZG93LWRpdmlkZXItb3V0ZXIpKSkNCis7Ozs7OyB3aW51bQ0KKyAgICBgKHdp bnVtLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYm9sZCA6Zm9yZWdyb3VuZCAs Y3lhbi1hY3RpdmUpKSkNCis7Ozs7OyB3cml0ZWdvb2QtbW9kZQ0KKyAgICBgKHdyaXRlZ29vZC1k dXBsaWNhdGVzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAs cmVkLWFsdCA6dW5kZXJsaW5lIHQpKSkNCisgICAgYCh3cml0ZWdvb2QtcGFzc2l2ZS12b2ljZS1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWxhbmctd2FybmluZykpKQ0KKyAgICBg KHdyaXRlZ29vZC13ZWFzZWxzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbGFu Zy1lcnJvcikpKQ0KKzs7Ozs7IHdvbWFuDQorICAgIGAod29tYW4tYWRkaXRpb24gKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQorICAgIGAod29tYW4tYm9sZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQorICAgIGAod29tYW4t aXRhbGljICgoLGNsYXNzIDppbmhlcml0IGl0YWxpYyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KKyAg ICBgKHdvbWFuLXVua25vd24gKCgsY2xhc3MgOmluaGVyaXQgaXRhbGljIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCis7Ozs7OyB4YWgtZWxpc3AtbW9kZQ0KKyAgICBgKHhhaC1lbGlzcC1hdC1zeW1i b2wgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXdhcm5pbmctZmFjZSkpKQ0KKyAgICBgKHhh aC1lbGlzcC1jYXAtdmFyaWFibGUgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXByZXByb2Nl c3Nvci1mYWNlKSkpDQorICAgIGAoeGFoLWVsaXNwLWNvbW1hbmQtZmFjZSAoKCxjbGFzcyA6aW5o ZXJpdCBmb250LWxvY2stdHlwZS1mYWNlKSkpDQorICAgIGAoeGFoLWVsaXNwLWRvbGxhci1zeW1i b2wgKCgsY2xhc3MgOmluaGVyaXQgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKQ0KKzs7 Ozs7IHhyZWYNCisgICAgYCh4cmVmLWZpbGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KKyAgICBgKHhyZWYtbGluZS1udW1iZXIg KCgsY2xhc3MgOmluaGVyaXQgc2hhZG93KSkpDQorICAgIGAoeHJlZi1tYXRjaCAoKCxjbGFzcyA6 aW5oZXJpdCBtYXRjaCkpKQ0KKzs7Ozs7IHlhbWwtbW9kZQ0KKyAgICBgKHlhbWwtdGFiLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCis7Ozs7OyB5YXNu aXBwZXQNCisgICAgYCh5YXMtZmllbGQtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWhsLWFsdC1pbnRlbnNlKSkpDQorOzs7OzsgenRyZWUNCisgICAgYCh6dHJlZXAtYXJy b3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCisgICAgYCh6dHJl ZXAtZGlmZi1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh6dHJlZXAtZGlmZi1oZWFkZXIt c21hbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LW1pbGQpKSkNCisgICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1hZGQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCisgICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1kaWZmLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KKyAgICBgKHp0cmVlcC1kaWZmLW1vZGVsLWlnbm9y ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFkb3cgOnN0cmlrZS10aHJvdWdoIHQpKSkNCisg ICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1ub3JtYWwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBzaGFk b3cpKSkNCisgICAgYCh6dHJlZXAtZXhwYW5kLXNpZ24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KKyAgICBgKHp0cmVlcC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCisgICAgYCh6 dHJlZXAtbGVhZi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQorICAgIGAoenRy ZWVwLW5vZGUtY291bnQtY2hpbGRyZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC13YXJtKSkpDQorICAgIGAoenRyZWVwLW5vZGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKSkNCisgICJGYWNlIHNwZWNzIGZvciB1c2Ugd2l0aCBgbW9kdXMtdGhlbWVz LXRoZW1lJy4iKQ0KKw0KKyhkZWZjb25zdCBtb2R1cy10aGVtZXMtY3VzdG9tLXZhcmlhYmxlcw0K KyAgJygNCis7Ozs7IGFuc2ktY29sb3JzDQorICAgIGAoYW5zaS1jb2xvci1mYWNlcy12ZWN0b3Ig W2RlZmF1bHQgYm9sZCBzaGFkb3cgaXRhbGljIHVuZGVybGluZSBzdWNjZXNzIHdhcm5pbmcgZXJy b3JdKQ0KKyAgICBgKGFuc2ktY29sb3ItbmFtZXMtdmVjdG9yIFsiZ3JheTM1IiAscmVkICxncmVl biAseWVsbG93ICxibHVlICxtYWdlbnRhICxjeWFuICJncmF5NjUiXSkNCis7Ozs7IGF3ZXNvbWUt dHJheQ0KKyAgICBgKGF3ZXNvbWUtdHJheS1tb2RlLWxpbmUtYWN0aXZlLWNvbG9yICxibHVlKQ0K KyAgICBgKGF3ZXNvbWUtdHJheS1tb2RlLWxpbmUtaW5hY3RpdmUtY29sb3IgLGJnLWFjdGl2ZSkN Cis7Ozs7IGV4d20NCisgICAgYChleHdtLWZsb2F0aW5nLWJvcmRlci1jb2xvciAsZmctd2luZG93 LWRpdmlkZXItaW5uZXIpDQorOzs7OyBmbHltYWtlIGZyaW5nZSBpbmRpY2F0b3JzDQorICAgIGAo Zmx5bWFrZS1lcnJvci1iaXRtYXAgJyhmbHltYWtlLWRvdWJsZS1leGNsYW1hdGlvbi1tYXJrIG1v ZHVzLXRoZW1lLWZyaW5nZS1yZWQpKQ0KKyAgICBgKGZseW1ha2Utd2FybmluZy1iaXRtYXAgJyhl eGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKQ0KKyAgICBgKGZseW1h a2Utbm90ZS1iaXRtYXAgJyhleGNsYW1hdGlvbi1tYXJrIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFu KSkNCis7Ozs7IGlidWZmZXINCisgICAgYChpYnVmZmVyLWRlbGV0aW9uLWZhY2UgJ21vZHVzLXRo ZW1lLW1hcmstZGVsKQ0KKyAgICBgKGlidWZmZXItZmlsdGVyLWdyb3VwLW5hbWUtZmFjZSAnbW9k dXMtdGhlbWUtbWFyay1zeW1ib2wpDQorICAgIGAoaWJ1ZmZlci1tYXJrZWQtZmFjZSAnbW9kdXMt dGhlbWUtbWFyay1zZWwpDQorICAgIGAoaWJ1ZmZlci10aXRsZS1mYWNlICdtb2R1cy10aGVtZS1w c2V1ZG8taGVhZGVyKQ0KKzs7OzsgaGlnaGxpZ2h0LXRhaWwNCisgICAgYChoaWdobGlnaHQtdGFp bC1jb2xvcnMNCisgICAgICAnKCgsZ3JlZW4tc3VidGxlLWJnIC4gMCkNCisgICAgICAgICgsY3lh bi1zdWJ0bGUtYmcgLiAyMCkpKQ0KKzs7OzsgaGwtdG9kbw0KKyAgICBgKGhsLXRvZG8ta2V5d29y ZC1mYWNlcw0KKyAgICAgICcoKCJIT0xEIiAuICx5ZWxsb3ctYWx0KQ0KKyAgICAgICAgKCJUT0RP IiAuICxtYWdlbnRhKQ0KKyAgICAgICAgKCJORVhUIiAuICxtYWdlbnRhLWFsdC1vdGhlcikNCisg ICAgICAgICgiVEhFTSIgLiAsbWFnZW50YS1hbHQpDQorICAgICAgICAoIlBST0ciIC4gLGN5YW4p DQorICAgICAgICAoIk9LQVkiIC4gLGN5YW4tYWx0KQ0KKyAgICAgICAgKCJET05UIiAuICxncmVl bi1hbHQpDQorICAgICAgICAoIkZBSUwiIC4gLHJlZCkNCisgICAgICAgICgiQlVHIiAuICxyZWQp DQorICAgICAgICAoIkRPTkUiIC4gLGdyZWVuKQ0KKyAgICAgICAgKCJOT1RFIiAuICx5ZWxsb3ct YWx0LW90aGVyKQ0KKyAgICAgICAgKCJLTFVER0UiIC4gLHllbGxvdykNCisgICAgICAgICgiSEFD SyIgLiAseWVsbG93KQ0KKyAgICAgICAgKCJURU1QIiAuICxyZWQtbnVhbmNlZC1mZykNCisgICAg ICAgICgiRklYTUUiIC4gLHJlZC1hbHQtb3RoZXIpDQorICAgICAgICAoIlhYWCsiIC4gLHJlZC1h bHQpDQorICAgICAgICAoIlJFVklFVyIgLiAsY3lhbi1hbHQtb3RoZXIpDQorICAgICAgICAoIkRF UFJFQ0FURUQiIC4gLGJsdWUtbnVhbmNlZC1mZykpKQ0KKzs7OzsgcGRmLXRvb2xzDQorICAgIGAo cGRmLXZpZXctbWlkbmlnaHQtY29sb3JzDQorICAgICAgJygsZmctbWFpbiAuICxiZy1kaW0pKQ0K Kzs7OzsgdmMtYW5ub3RhdGUgKEMteCB2IGcpDQorICAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3Vu ZCBuaWwpDQorICAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3VuZC1tb2RlIG5pbCkNCisgICAgYCh2 Yy1hbm5vdGF0ZS1jb2xvci1tYXANCisgICAgICAnKCgyMCAuICxyZWQpDQorICAgICAgICAoNDAg LiAsbWFnZW50YSkNCisgICAgICAgICg2MCAuICxtYWdlbnRhLWFsdCkNCisgICAgICAgICg4MCAu ICxyZWQtYWx0KQ0KKyAgICAgICAgKDEwMCAuICx5ZWxsb3cpDQorICAgICAgICAoMTIwIC4gLHll bGxvdy1hbHQpDQorICAgICAgICAoMTQwIC4gLGZnLXNwZWNpYWwtd2FybSkNCisgICAgICAgICgx NjAgLiAsZmctc3BlY2lhbC1taWxkKQ0KKyAgICAgICAgKDE4MCAuICxncmVlbikNCisgICAgICAg ICgyMDAgLiAsZ3JlZW4tYWx0KQ0KKyAgICAgICAgKDIyMCAuICxjeWFuLWFsdC1vdGhlcikNCisg ICAgICAgICgyNDAgLiAsY3lhbi1hbHQpDQorICAgICAgICAoMjYwIC4gLGN5YW4pDQorICAgICAg ICAoMjgwIC4gLGZnLXNwZWNpYWwtY29sZCkNCisgICAgICAgICgzMDAgLiAsYmx1ZSkNCisgICAg ICAgICgzMjAgLiAsYmx1ZS1hbHQpDQorICAgICAgICAoMzQwIC4gLGJsdWUtYWx0LW90aGVyKQ0K KyAgICAgICAgKDM2MCAuICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KKyAgICBgKHZjLWFubm90YXRl LXZlcnktb2xkLWNvbG9yIG5pbCkNCis7Ozs7IHh0ZXJtLWNvbG9yDQorICAgIGAoeHRlcm0tY29s b3ItbmFtZXMgWyJibGFjayIgLHJlZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50YSAsY3lh biAiZ3JheTY1Il0pDQorICAgIGAoeHRlcm0tY29sb3ItbmFtZXMtYnJpZ2h0IFsiZ3JheTM1IiAs cmVkLWFsdCAsZ3JlZW4tYWx0ICx5ZWxsb3ctYWx0ICxibHVlLWFsdCAsbWFnZW50YS1hbHQgLGN5 YW4tYWx0ICJ3aGl0ZSJdKQ0KKyAgICAoaWYgKGVxIG1vZHVzLXRoZW1lcy1vcmctYmxvY2tzICdy YWluYm93KQ0KKyAgICAgICAgYChvcmctc3JjLWJsb2NrLWZhY2VzICAgICAgICAgICAgICA7IFRP RE8gdGhpcyBsaXN0IHNob3VsZCBiZSBleHBhbmRlZA0KKyAgICAgICAgICBgKCgiZW1hY3MtbGlz cCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KKyAgICAgICAgICAgICgiZWxpc3AiIG1v ZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCisgICAgICAgICAgICAoImNsb2p1cmUiIG1vZHVz LXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCisgICAgICAgICAgICAoImNsb2p1cmVzY3JpcHQiIG1v ZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCisgICAgICAgICAgICAoImMiIG1vZHVzLXRoZW1l LW51YW5jZWQtYmx1ZSkNCisgICAgICAgICAgICAoImMrKyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1i bHVlKQ0KKyAgICAgICAgICAgICgic2giIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQorICAg ICAgICAgICAgKCJzaGVsbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCisgICAgICAgICAg ICAoImh0bWwiIG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93KQ0KKyAgICAgICAgICAgICgieG1s IiBtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdykNCisgICAgICAgICAgICAoImNzcyIgbW9kdXMt dGhlbWUtbnVhbmNlZC1yZWQpDQorICAgICAgICAgICAgKCJzY3NzIiBtb2R1cy10aGVtZS1udWFu Y2VkLXJlZCkNCisgICAgICAgICAgICAoInB5dGhvbiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVl bikNCisgICAgICAgICAgICAoImlweXRob24iIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkN CisgICAgICAgICAgICAoInIiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCisgICAgICAgICAg ICAoInlhbWwiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCisgICAgICAgICAgICAoImNvbmYi IG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCisgICAgICAgICAgICAoImRvY2tlciIgbW9kdXMt dGhlbWUtbnVhbmNlZC1jeWFuKSkpDQorICAgICAgYChvcmctc3JjLWJsb2NrLWZhY2VzICcoKSkp KQ0KKyAgIkN1c3RvbSB2YXJpYWJsZXMgZm9yIGBtb2R1cy10aGVtZXMtdGhlbWUnLiIpDQorDQor KHByb3ZpZGUgJ21vZHVzLXRoZW1lcykNCis7OzsgbW9kdXMtdGhlbWVzLmVsIGVuZHMgaGVyZQ0K ZGlmZiAtLWdpdCBhL2V0Yy90aGVtZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbCBiL2V0Yy90aGVt ZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbA0KaW5kZXggNzNmMDdkNjQ0Yi4uZmQ3ZjVkZjI0ZCAx MDA2NDQNCi0tLSBhL2V0Yy90aGVtZXMvbW9kdXMtdml2ZW5kaS10aGVtZS5lbA0KKysrIGIvZXRj L3RoZW1lcy9tb2R1cy12aXZlbmRpLXRoZW1lLmVsDQpAQCAtMSw0NjY2ICsxLDY2IEBADQogOzs7 IG1vZHVzLXZpdmVuZGktdGhlbWUuZWwgLS0tIEFjY2Vzc2libGUgZGFyayB0aGVtZSAoV0NBRyBB QUEpIC0qLSBsZXhpY2FsLWJpbmRpbmc6dCAtKi0NCiANCi07OyBDb3B5cmlnaHQgKEMpIDIwMTkt MjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NCis7OyBDb3B5cmlnaHQgKEMpIDIw MTktMjAyMSAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQogDQogOzsgQXV0aG9yOiBQ cm90ZXNpbGFvcyBTdGF2cm91IDxpbmZvQHByb3Rlc2lsYW9zLmNvbT4NCiA7OyBVUkw6IGh0dHBz Oi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10aGVtZXMNCi07OyBWZXJzaW9uOiAwLjEz LjANCis7OyBWZXJzaW9uOiAxLjIuMA0KIDs7IFBhY2thZ2UtUmVxdWlyZXM6ICgoZW1hY3MgIjI2 LjEiKSkNCiA7OyBLZXl3b3JkczogZmFjZXMsIHRoZW1lLCBhY2Nlc3NpYmlsaXR5DQogDQogOzsg VGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNzLg0KIA0KLTs7IEdOVSBFbWFjcyBpcyBmcmVl IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQorOzsgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkNCiA7OyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KLTs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yDQotOzsgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCi0NCi07OyBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCi07OyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KLTs7IE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUN Ci07OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KLQ0KKzs7 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yIChhdA0KKzs7IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCis7Ow0K Kzs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLCBidXQNCis7OyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQorOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUNCis7OyBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorOzsNCiA7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KLTs7IGFsb25nIHdp dGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMv Pi4NCis7OyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uDQogDQogOzs7IENvbW1lbnRhcnk6DQogOzsNCi07OyBUaGlz IHRoZW1lIGlzIGRlc2lnbmVkIGZvciBjb2xvdXItY29udHJhc3QgYWNjZXNzaWJpbGl0eS4NCi07 Ow0KLTs7IDEuIFByb3ZpZGUgYSBjb25zaXN0ZW50IG1pbmltdW0gY29udHJhc3QgcmF0aW8gYmV0 d2VlbiBiYWNrZ3JvdW5kIGFuZA0KLTs7IGZvcmVncm91bmQgdmFsdWVzIG9mIDc6MSBvciBoaWdo ZXIuICBUaGlzIG1lZXRzIHRoZSBoaWdoZXN0IHN1Y2gNCi07OyBhY2Nlc3NpYmlsaXR5IGNyaXRl cmlvbiBwZXIgdGhlIGd1aWRlbGluZXMgb2YgdGhlIFdvcmxkd2lkZSBXZWINCi07OyBDb25zb3J0 aXVtJ3MgV29ya2luZyBHcm91cCBvbiBBY2Nlc3NpYmlsaXR5IChXQ0FHIEFBQSBzdGFuZGFyZCku DQorOzsgTW9kdXMgVml2ZW5kaSBpcyB0aGUgZGFyayB2YXJpYW50IG9mIHRoZSBNb2R1cyB0aGVt ZXMgKE1vZHVzIE9wZXJhbmRpDQorOzsgaXMgdGhlIGxpZ2h0IG9uZSkuICBUaGUgdGhlbWVzIGFy ZSBkZXNpZ25lZCBmb3IgY29sb3ItY29udHJhc3QNCis7OyBhY2Nlc3NpYmlsaXR5LiAgTW9yZSBz cGVjaWZpY2FsbHk6DQogOzsNCi07OyAyLiBPZmZlciBhcyBjbG9zZSB0byBmdWxsIGZhY2UgY292 ZXJhZ2UgYXMgcG9zc2libGUuICBUaGUgbGlzdCBpcw0KLTs7IGFscmVhZHkgcXVpdGUgbG9uZyAo c2VlIGZ1cnRoZXIgYmVsb3cpLCB3aXRoIG1vcmUgYWRkaXRpb25zIHRvIGZvbGxvdw0KLTs7IGFz IHBhcnQgb2YgdGhlIG9uZ29pbmcgZGV2ZWxvcG1lbnQgcHJvY2Vzcy4NCis7OyAgICAgMS4gUHJv dmlkZSBhIGNvbnNpc3RlbnQgbWluaW11bSBjb250cmFzdCByYXRpbyBiZXR3ZWVuIGJhY2tncm91 bmQNCis7OyAgICAgYW5kIGZvcmVncm91bmQgdmFsdWVzIG9mIDc6MSBvciBoaWdoZXIuICBUaGlz IG1lZXRzIHRoZSBoaWdoZXN0DQorOzsgICAgIHN1Y2ggYWNjZXNzaWJpbGl0eSBjcml0ZXJpb24g cGVyIHRoZSBndWlkZWxpbmVzIG9mIHRoZSBXb3JsZHdpZGUNCis7OyAgICAgV2ViIENvbnNvcnRp dW0ncyBXb3JraW5nIEdyb3VwIG9uIEFjY2Vzc2liaWxpdHkgKFdDQUcgQUFBDQorOzsgICAgIHN0 YW5kYXJkKS4NCiA7Ow0KLTs7IFRoZSB0aGVtZSBwcm92aWRlcyB0aGUgZm9sbG93aW5nIGN1c3Rv bWlzYXRpb24gb3B0aW9ucywgYWxsIG9mIHdoaWNoDQotOzsgYXJlIGRpc2FibGVkIGJ5IGRlZmF1 bHQ6DQorOzsgICAgIDIuIE9mZmVyIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBjb3ZlcmFnZSBhcyBw b3NzaWJsZS4gIFRoZSBsaXN0IGlzDQorOzsgICAgIGFscmVhZHkgcXVpdGUgbG9uZywgd2l0aCBt b3JlIGFkZGl0aW9ucyB0byBmb2xsb3cgYXMgcGFydCBvZiB0aGUNCis7OyAgICAgb25nb2luZyBk ZXZlbG9wbWVudCBwcm9jZXNzLg0KIDs7DQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2xh bnRlZC1jb25zdHJ1Y3RzICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZl bmRpLXRoZW1lLWJvbGQtY29uc3RydWN0cyAgICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAg ICAgbW9kdXMtdml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyAgICAgICAgKGJv b2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMgICAgICAg ICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdz ICAgICAgICAgICAgICAgICAgICAgICAoYWxpc3QpDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhl bWUtc2NhbGUtaGVhZGluZ3MgICAgICAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1 cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0K LTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MgICAgICAgICAgICAgICAgICAg ICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXByb21wdHMgICAgICAgICAg ICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUt bGluZSAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRp LXRoZW1lLWRpZmZzICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hvaWNlKQ0KLTs7ICAgICBt b2R1cy12aXZlbmRpLXRoZW1lLWZhaW50LXN5bnRheCAgICAgICAgICAgICAgICAgICAoYm9vbGVh bikNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLWhsLWxpbmUgICAgICAgICAg ICAgICAgKGJvb2xlYW4pDQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1wYXJl bi1tYXRjaCAgICAgICAgICAgIChib29sZWFuKQ0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1l LW5vLWxpbmstdW5kZXJsaW5lICAgICAgICAgICAgICAoYm9vbGVhbikNCi07OyAgICAgbW9kdXMt dml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucyAgICAgICAgICAgICAgICAgICAgKGNob2ljZSkNCi07 OyAgICAgbW9kdXMtdml2ZW5kaS10aGVtZS1vdmVycmlkZS1jb2xvcnMtYWxpc3QgICAgICAgICAg KGFsaXN0KQ0KKzs7IEZvciBhIGNvbXBsZXRlIHZpZXcgb2YgdGhlIHByb2plY3QsIGFsc28gcmVm ZXIgdG8gdGhlIGZvbGxvd2luZyBmaWxlcw0KKzs7IChzaG91bGQgYmUgZGlzdHJpYnV0ZWQgaW4g dGhlIHNhbWUgcmVwb3NpdG9yeS9kaXJlY3RvcnkgYXMgdGhlDQorOzsgY3VycmVudCBpdGVtKToN CiA7Ow0KLTs7IFRoZSBkZWZhdWx0IHNjYWxlIGlzIGFzIGZvbGxvd3MgKGl0IGNhbiBiZSBjdXN0 b21pc2VkIGFzIHdlbGwpOg0KLTs7DQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUt MSAxLjA1DQotOzsgICAgIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMiAxLjENCi07OyAgICAg bW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0zIDEuMTUNCi07OyAgICAgbW9kdXMtdml2ZW5kaS10 aGVtZS1zY2FsZS00IDEuMg0KLTs7ICAgICBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTUgMS4z DQotOzsNCi07OyBXaGF0IGZvbGxvd3MgaXMgdGhlIGxpc3Qgb2YgZXhwbGljaXRseSBzdXBwb3J0 ZWQgcGFja2FnZXMgb3IgZmFjZQ0KLTs7IGdyb3VwcyAodGhlcmUgYXJlIGltcGxpY2l0bHkgc3Vw cG9ydGVkIHBhY2thZ2VzIGFzIHdlbGwsIHdoaWNoDQotOzsgaW5oZXJpdCBmcm9tIGZvbnQtbG9j ayBvciBzb21lIGJhc2ljIGdyb3VwKS4gIFlvdSBhcmUgZW5jb3VyYWdlZCB0bw0KLTs7IG5vdGlm eSBtZSBvZiBhbnkgbWlzc2luZyBwYWNrYWdlIG9yIGNoYW5nZSB5b3Ugd291bGQgbGlrZSB0byBz ZWUuDQotOzsNCi07OyAgICAgYWNlLXdpbmRvdw0KLTs7ICAgICBhZw0KLTs7ICAgICBhbGVydA0K LTs7ICAgICBhbGwtdGhlLWljb25zDQotOzsgICAgIGFubm90YXRlDQotOzsgICAgIGFuenUNCi07 OyAgICAgYXByb3Bvcw0KLTs7ICAgICBhcHQtc291cmNlcy1saXN0DQotOzsgICAgIGFydGJvbGxv Y2tzLW1vZGUNCi07OyAgICAgYXVjdGV4IGFuZCBUZVgNCi07OyAgICAgYXV0by1kaW0tb3RoZXIt YnVmZmVycw0KLTs7ICAgICBhdnkNCi07OyAgICAgYXdlc29tZS10cmF5DQotOzsgICAgIGJpbmRl cg0KLTs7ICAgICBibQ0KLTs7ICAgICBib25nbw0KLTs7ICAgICBib29uDQotOzsgICAgIGJyZWFr cG9pbnQgKHByb3ZpZGVkIGJ5IGJ1aWx0LWluIGdkYi1taS5lbCkNCi07OyAgICAgYnVmZmVyLWV4 cG9zZQ0KLTs7ICAgICBjYWxlbmRhciBhbmQgZGlhcnkNCi07OyAgICAgY2FsZncNCi07OyAgICAg Y2VudGF1ci10YWJzDQotOzsgICAgIGNoYW5nZS1sb2cgYW5kIGxvZy12aWV3IChgdmMtcHJpbnQt bG9nJyBhbmQgYHZjLXByaW50LXJvb3QtbG9nJykNCi07OyAgICAgY2lkZXINCi07OyAgICAgY2ly Y2UNCi07OyAgICAgY29sb3ItcmcNCi07OyAgICAgY29sdW1uLWVuZm9yY2UtbW9kZQ0KLTs7ICAg ICBjb21wYW55LW1vZGUNCi07OyAgICAgY29tcGFueS1wb3NmcmFtZQ0KLTs7ICAgICBjb21waWxh dGlvbi1tb2RlDQotOzsgICAgIGNvbXBsZXRpb25zDQotOzsgICAgIGNvdW5zZWwNCi07OyAgICAg Y291bnNlbC1jc3MNCi07OyAgICAgY291bnNlbC1ub3RtdWNoDQotOzsgICAgIGNvdW5zZWwtb3Jn LWNhcHR1cmUtc3RyaW5nDQotOzsgICAgIGNvdg0KLTs7ICAgICBjcGVybC1tb2RlDQotOzsgICAg IGNzdi1tb2RlDQotOzsgICAgIGN0cmxmDQotOzsgICAgIGN1c3RvbSAoTS14IGN1c3RvbWl6ZSkN Ci07OyAgICAgZGFwLW1vZGUNCi07OyAgICAgZGFzaGJvYXJkIChlbWFjcy1kYXNoYm9hcmQpDQot OzsgICAgIGRlYWRncmVwDQotOzsgICAgIGRlYmJ1Z3MNCi07OyAgICAgZGVmaW5lLXdvcmQNCi07 OyAgICAgZGVmdA0KLTs7ICAgICBkaWN0aW9uYXJ5DQotOzsgICAgIGRpZmYtaGwNCi07OyAgICAg ZGlmZi1tb2RlDQotOzsgICAgIGRpbS1hdXRvbG9hZA0KLTs7ICAgICBkaXItdHJlZXZpZXcNCi07 OyAgICAgZGlyZWQNCi07OyAgICAgZGlyZWQtYXN5bmMNCi07OyAgICAgZGlyZWQtZ2l0DQotOzsg ICAgIGRpcmVkLWdpdC1pbmZvDQotOzsgICAgIGRpcmVkLW5hcnJvdw0KLTs7ICAgICBkaXJlZC1z dWJ0cmVlDQotOzsgICAgIGRpcmVkZmwNCi07OyAgICAgZGlzay11c2FnZQ0KLTs7ICAgICBkb29t LW1vZGVsaW5lDQotOzsgICAgIGR5bmFtaWMtcnVsZXINCi07OyAgICAgZWFzeS1qZWt5bGwNCi07 OyAgICAgZWFzeS1raWxsDQotOzsgICAgIGViZGINCi07OyAgICAgZWRpZmYNCi07OyAgICAgZWds b3QNCi07OyAgICAgZWwtc2VhcmNoDQotOzsgICAgIGVsZG9jDQotOzsgICAgIGVsZG9jLWJveA0K LTs7ICAgICBlbGZlZWQNCi07OyAgICAgZWxmZWVkLXNjb3JlDQotOzsgICAgIGVtbXMNCi07OyAg ICAgZW5oYW5jZWQtcnVieS1tb2RlDQotOzsgICAgIGVwYQ0KLTs7ICAgICBlcXVha2UNCi07OyAg ICAgZXJjDQotOzsgICAgIGVyb3MNCi07OyAgICAgZXJ0DQotOzsgICAgIGVzaGVsbA0KLTs7ICAg ICBlc2hlbGwtZnJpbmdlLXN0YXR1cw0KLTs7ICAgICBlc2hlbGwtZ2l0LXByb21wdA0KLTs7ICAg ICBlc2hlbGwtcHJvbXB0LWV4dHJhcyAoZXBlKQ0KLTs7ICAgICBlc2hlbGwtc3ludGF4LWhpZ2hs aWdodGluZw0KLTs7ICAgICBldmlsIChldmlsLW1vZGUpDQotOzsgICAgIGV2aWwtZ29nZ2xlcw0K LTs7ICAgICBldmlsLXZpc3VhbC1tYXJrLW1vZGUNCi07OyAgICAgZXd3DQotOzsgICAgIGV5ZWJy b3dzZQ0KLTs7ICAgICBmYW5jeS1kYWJicmV2DQotOzsgICAgIGZseWNoZWNrDQotOzsgICAgIGZs eWNoZWNrLWNvbG9yLW1vZGUtbGluZQ0KLTs7ICAgICBmbHljaGVjay1pbmRpY2F0b3INCi07OyAg ICAgZmx5Y2hlY2stcG9zZnJhbWUNCi07OyAgICAgZmx5bWFrZQ0KLTs7ICAgICBmbHlzcGVsbA0K LTs7ICAgICBmbHlzcGVsbC1jb3JyZWN0DQotOzsgICAgIGZseA0KLTs7ICAgICBmcmVlemUtaXQN Ci07OyAgICAgZnJvZy1tZW51DQotOzsgICAgIGZvY3VzDQotOzsgICAgIGZvbGQtdGhpcw0KLTs7 ICAgICBmb250LWxvY2sgKGdlbmVyaWMgc3ludGF4IGhpZ2hsaWdodGluZykNCi07OyAgICAgZm9y Z2UNCi07OyAgICAgZm91bnRhaW4gKGZvdW50YWluLW1vZGUpDQotOzsgICAgIGdlaXNlcg0KLTs7 ICAgICBnaXQtY29tbWl0DQotOzsgICAgIGdpdC1ndXR0ZXIgKGFuZCB2YXJpYW50cykNCi07OyAg ICAgZ2l0LWxlbnMNCi07OyAgICAgZ2l0LXJlYmFzZQ0KLTs7ICAgICBnaXQtdGltZW1hY2hpbmUN Ci07OyAgICAgZ2l0LXdhbGt0cmVlDQotOzsgICAgIGdudXMNCi07OyAgICAgZ29sZGVuLXJhdGlv LXNjcm9sbC1zY3JlZW4NCi07OyAgICAgaGVsbQ0KLTs7ICAgICBoZWxtLWxzLWdpdA0KLTs7ICAg ICBoZWxtLXN3aXRjaC1zaGVsbA0KLTs7ICAgICBoZWxtLXhyZWYNCi07OyAgICAgaGVscGZ1bA0K LTs7ICAgICBoaWdobGlnaHQtYmxvY2tzDQotOzsgICAgIGhpZ2hsaWdodC1kZWZpbmVkDQotOzsg ICAgIGhpZ2hsaWdodC1lc2NhcGUtc2VxdWVuY2VzIChgaGVzLW1vZGUnKQ0KLTs7ICAgICBoaWdo bGlnaHQtaW5kZW50YXRpb24NCi07OyAgICAgaGlnaGxpZ2h0LW51bWJlcnMNCi07OyAgICAgaGln aGxpZ2h0LXN5bWJvbA0KLTs7ICAgICBoaWdobGlnaHQtdGFpbA0KLTs7ICAgICBoaWdobGlnaHQt dGhpbmcNCi07OyAgICAgaGwtZGVmaW5lZA0KLTs7ICAgICBobC1maWxsLWNvbHVtbg0KLTs7ICAg ICBobC1saW5lLW1vZGUNCi07OyAgICAgaGwtdG9kbw0KLTs7ICAgICBoeWRyYQ0KLTs7ICAgICBo eXBlcmxpc3QNCi07OyAgICAgaWJ1ZmZlcg0KLTs7ICAgICBpY29tcGxldGUNCi07OyAgICAgaWRv LW1vZGUNCi07OyAgICAgaWVkaXQNCi07OyAgICAgaWZsaXBiDQotOzsgICAgIGltZW51LWxpc3QN Ci07OyAgICAgaW5kaXVtDQotOzsgICAgIGluZm8NCi07OyAgICAgaW5mby1jb2xvcnMNCi07OyAg ICAgaW50ZXJhY3Rpb24tbG9nDQotOzsgICAgIGlvY2N1cg0KLTs7ICAgICBpc2VhcmNoLCBvY2N1 ciwgZXRjLg0KLTs7ICAgICBpdnkNCi07OyAgICAgaXZ5LXBvc2ZyYW1lDQotOzsgICAgIGppcmEg KG9yZy1qaXJhKQ0KLTs7ICAgICBqb3VybmFsY3RsLW1vZGUNCi07OyAgICAganMyLW1vZGUNCi07 OyAgICAganVsaWENCi07OyAgICAganVweXRlcg0KLTs7ICAgICBrYW9jaGEtcnVubmVyDQotOzsg ICAgIGtleWNhc3QNCi07OyAgICAgbGluZSBudW1iZXJzIChgZGlzcGxheS1saW5lLW51bWJlcnMt bW9kZScgYW5kIGdsb2JhbCB2YXJpYW50KQ0KLTs7ICAgICBsc3AtbW9kZQ0KLTs7ICAgICBsc3At dWkNCi07OyAgICAgbWFnaXQNCi07OyAgICAgbWFnaXQtaW1lcmdlDQotOzsgICAgIG1hbg0KLTs7 ICAgICBtYXJrZG93bi1tb2RlDQotOzsgICAgIG1hcmt1cC1mYWNlcyAoYGFkb2MtbW9kZScpDQot OzsgICAgIG1lbnRvcg0KLTs7ICAgICBtZXNzYWdlcw0KLTs7ICAgICBtaW5pYnVmZmVyLWxpbmUN Ci07OyAgICAgbWluaW1hcA0KLTs7ICAgICBtb2RlbGluZQ0KLTs7ICAgICBtb29kLWxpbmUNCi07 OyAgICAgbXBkZWwNCi07OyAgICAgbXU0ZQ0KLTs7ICAgICBtdTRlLWNvbnZlcnNhdGlvbg0KLTs7 ICAgICBtdWx0aXBsZS1jdXJzb3JzDQotOzsgICAgIG5lb3RyZWUNCi07OyAgICAgbm8tZW1vamkN Ci07OyAgICAgbm90bXVjaA0KLTs7ICAgICBudW0zLW1vZGUNCi07OyAgICAgbnhtbC1tb2RlDQot OzsgICAgIG9iamVkDQotOzsgICAgIG9yZGVybGVzcw0KLTs7ICAgICBvcmcNCi07OyAgICAgb3Jn LWpvdXJuYWwNCi07OyAgICAgb3JnLW5vdGVyDQotOzsgICAgIG9yZy1wb21vZG9ybw0KLTs7ICAg ICBvcmctcmVjdXINCi07OyAgICAgb3JnLXJvYW0NCi07OyAgICAgb3JnLXN1cGVyc3Rhcg0KLTs7 ICAgICBvcmctdGFibGUtc3RpY2t5LWhlYWRlcg0KLTs7ICAgICBvcmctdHJlZXNjb3BlDQotOzsg ICAgIG9yaWdhbWkNCi07OyAgICAgb3V0bGluZS1tb2RlDQotOzsgICAgIG91dGxpbmUtbWlub3It ZmFjZXMNCi07OyAgICAgcGFja2FnZSAoTS14IGxpc3QtcGFja2FnZXMpDQotOzsgICAgIHBhZ2Ut YnJlYWstbGluZXMNCi07OyAgICAgcGFyYWRveA0KLTs7ICAgICBwYXJlbi1mYWNlDQotOzsgICAg IHBhcnJvdA0KLTs7ICAgICBwYXNzDQotOzsgICAgIHBlcnNwLW1vZGUNCi07OyAgICAgcGVyc3Bl Y3RpdmUNCi07OyAgICAgcGhpLWdyZXANCi07OyAgICAgcGhpLXNlYXJjaA0KLTs7ICAgICBwa2di dWlsZC1tb2RlDQotOzsgICAgIHBvbWlkb3INCi07OyAgICAgcG93ZXJsaW5lDQotOzsgICAgIHBv d2VybGluZS1ldmlsDQotOzsgICAgIHByb2NlZA0KLTs7ICAgICBwcm9kaWd5DQotOzsgICAgIHJh Y2tldC1tb2RlDQotOzsgICAgIHJhaW5ib3ctYmxvY2tzDQotOzsgICAgIHJhaW5ib3ctaWRlbnRp ZmllcnMNCi07OyAgICAgcmFpbmJvdy1kZWxpbWl0ZXJzDQotOzsgICAgIHJjaXJjDQotOzsgICAg IHJlZ2V4cC1idWlsZGVyIChhbHNvIGtub3duIGFzIGByZS1idWlsZGVyJykNCi07OyAgICAgcmcN Ci07OyAgICAgcmlwZ3JlcA0KLTs7ICAgICBybWFpbA0KLTs7ICAgICBydWxlci1tb2RlDQotOzsg ICAgIHNhbGxldA0KLTs7ICAgICBzZWxlY3RydW0NCi07OyAgICAgc2VtYW50aWMNCi07OyAgICAg c2VzbWFuDQotOzsgICAgIHNoZWxsLXNjcmlwdC1tb2RlDQotOzsgICAgIHNob3ctcGFyZW4tbW9k ZQ0KLTs7ICAgICBzaWRlLW5vdGVzDQotOzsgICAgIHNrZXdlci1tb2RlDQotOzsgICAgIHNtYXJ0 LW1vZGUtbGluZQ0KLTs7ICAgICBzbWFydHBhcmVucw0KLTs7ICAgICBzbWVyZ2UNCi07OyAgICAg c3BhY2VsaW5lDQotOzsgICAgIHNwZWVkYmFyDQotOzsgICAgIHNwZWxsLWZ1DQotOzsgICAgIHN0 cmlwZXMNCi07OyAgICAgc3VnZ2VzdA0KLTs7ICAgICBzd2l0Y2gtd2luZG93DQotOzsgICAgIHN3 aXBlcg0KLTs7ICAgICBzd29vcA0KLTs7ICAgICBzeA0KLTs7ICAgICBzeW1ib2wtb3ZlcmxheQ0K LTs7ICAgICB0YWItYmFyLW1vZGUNCi07OyAgICAgdGFiLWxpbmUtbW9kZQ0KLTs7ICAgICBzeXNs b2ctbW9kZQ0KLTs7ICAgICB0YWJsZSAoYnVpbHQtaW4gdGFibGUuZWwpDQotOzsgICAgIHRlbGVw aG9uZS1saW5lDQotOzsgICAgIHRlcm0NCi07OyAgICAgdG9tYXRpbmhvDQotOzsgICAgIHRyYW5z aWVudCAocG9wLXVwIHdpbmRvd3MgbGlrZSBNYWdpdCdzKQ0KLTs7ICAgICB0cmFzaGVkDQotOzsg ICAgIHRyZWVtYWNzDQotOzsgICAgIHR0eS1tZW51DQotOzsgICAgIHR1YXJlZw0KLTs7ICAgICB0 eXBlc2NyaXB0DQotOzsgICAgIHVuZG8tdHJlZQ0KLTs7ICAgICB2YyAoYnVpbHQtaW4gbW9kZSBs aW5lIHN0YXR1cyBmb3IgdmVyc2lvbiBjb250cm9sKQ0KLTs7ICAgICB2Yy1hbm5vdGF0ZSAoQy14 IHYgZykNCi07OyAgICAgdmRpZmYNCi07OyAgICAgdmltaXNoLWZvbGQNCi07OyAgICAgdmlzaWJs ZS1tYXJrDQotOzsgICAgIHZpc3VhbC1yZWdleHANCi07OyAgICAgdm9sYXRpbGUtaGlnaGxpZ2h0 cw0KLTs7ICAgICB2dGVybQ0KLTs7ICAgICB3Y2hlY2stbW9kZQ0KLTs7ICAgICB3ZWItbW9kZQ0K LTs7ICAgICB3Z3JlcA0KLTs7ICAgICB3aGljaC1mdW5jdGlvbi1tb2RlDQotOzsgICAgIHdoaWNo LWtleQ0KLTs7ICAgICB3aGl0ZXNwYWNlLW1vZGUNCi07OyAgICAgd2luZG93LWRpdmlkZXItbW9k ZQ0KLTs7ICAgICB3aW51bQ0KLTs7ICAgICB3cml0ZWdvb2QtbW9kZQ0KLTs7ICAgICB3b21hbg0K LTs7ICAgICB4YWgtZWxpc3AtbW9kZQ0KLTs7ICAgICB4cmVmDQotOzsgICAgIHh0ZXJtLWNvbG9y IChhbmQgYW5zaS1jb2xvcnMpDQotOzsgICAgIHlhbWwtbW9kZQ0KLTs7ICAgICB5YXNuaXBwZXQN Ci07OyAgICAgenRyZWUNCis7OyAtIG1vZHVzLXRoZW1lcy5lbCAgICAgICAgICAgIChNYWluIGNv ZGUgc2hhcmVkIGJldHdlZW4gdGhlIHRoZW1lcykNCis7OyAtIG1vZHVzLW9wZXJhbmRpLXRoZW1l LmVsICAgIChMaWdodCB0aGVtZSkNCiANCiA7OzsgQ29kZToNCiANCiAMDQogDQotKGRlZnRoZW1l IG1vZHVzLXZpdmVuZGkNCi0gICJEYXJrIHRoZW1lIHRoYXQgY29uZm9ybXMgd2l0aCB0aGUgaGln aGVzdCBhY2Nlc3NpYmlsaXR5DQotICBzdGFuZGFyZCBmb3IgY29sb3VyIGNvbnRyYXN0IGJldHdl ZW4gYmFja2dyb3VuZCBhbmQNCi0gIGZvcmVncm91bmQgZWxlbWVudHMgKFdDQUcgQUFBKS4iKQ0K LQ0KLTs7OyBDdXN0b20gZmFjZXMNCi0NCi07OyBUaGVzZSBmYWNlcyB3aWxsIGJlIGluaGVyaXRl ZCBieSBhY3R1YWwgY29uc3RydWN0cy4gIFRoZXkgYXJlIG1lYW50DQotOzsgZm9yIHRob3NlIGNh c2VzIHdoZXJlIGEgZmFjZSBuZWVkcyB0byBkaXN0aW5ndWlzaCBpdHMgb3V0cHV0IGZyb20NCi07 OyB0aGUgcmVzdCBvZiB0aGUgdGV4dCwgc3VjaCBhcyBgaXNlYXJjaCcgYW5kIGBvY2N1cifigKYg IFdlIGRlZmluZQ0KLTs7IHRoZXNlIHNlcGFyYXRlbHkgaW4gb3JkZXIgdG8gY29tYmluZSBlYWNo IGNvbG91ciB3aXRoIGl0cw0KLTs7IGFwcHJvcHJpYXRlIGZvcmVncm91bmQgdmFsdWUuICBUaGlz IGlzIHRvIGVuc3VyZSBhIGNvbnNpc3RlbnQNCi07OyBjb250cmFzdCByYXRpbyBvZiA+PSA3OjEu DQotKGRlZmdyb3VwIG1vZHVzLXRoZW1lICgpDQotICAiVGhlbWUgdGhhdCBlbnN1cmVzIFdDQUcg QUFBIGFjY2Vzc2liaWxpdHkgKGNvbnRyYXN0IHJhdGlvDQotYmV0d2VlbiBmb3JlZ3JvdW5kIGFu ZCBiYWNrZ3JvdW5kIGlzID49IDc6MSkuIg0KLSAgOmdyb3VwICdmYWNlcw0KLSAgOnByZWZpeCAi bW9kdXMtdGhlbWUtIg0KLSAgOmxpbmsgJyh1cmwtbGluayA6dGFnICJHaXRMYWIiICJodHRwczov L2dpdGxhYi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzIikNCi0gIDp0YWcgIk1vZHVzIFZp dmVuZGkiKQ0KLQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1yZWQgbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1zdWJ0bGUteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3Vi dGxlLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRyYWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1 cy10aGVtZS1pbnRlbnNlLXJlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVu c2UtZ3JlZW4gbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdyBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSBuaWwgbmlsKQ0KLShk ZWZmYWNlIG1vZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1v ZHVzLXRoZW1lLWludGVuc2UtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWlu dGVuc2UtbmV1dHJhbCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1yZWQg bmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4gbmlsIG5pbCkNCi0o ZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtcmVmaW5lLWJsdWUgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIG5p bCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLXJlZCBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLWFjdGl2ZS15ZWxsb3cgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1hY3RpdmUt Ymx1ZSBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWFjdGl2ZS1tYWdlbnRhIG5pbCBu aWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4gbmlsIG5pbCkNCi0oZGVmZmFj ZSBtb2R1cy10aGVtZS1mcmluZ2UtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt ZnJpbmdlLWdyZWVuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxv dyBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEgbmlsIG5pbCkNCi0oZGVmZmFjZSBt b2R1cy10aGVtZS1mcmluZ2UtY3lhbiBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51 YW5jZWQtcmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbiBu aWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93IG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUt bnVhbmNlZC1jeWFuIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xk IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtc3BlY2lhbC13YXJtIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtc3BlY2lhbC1jYWxtIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlm Zi1hZGRlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtY2hhbmdlZCBuaWwg bmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCBuaWwgbmlsKQ0KLShkZWZm YWNlIG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtZGlmZi1yZWZpbmUtY2hhbmdlZCBuaWwgbmlsKQ0KLShkZWZmYWNlIG1vZHVzLXRo ZW1lLWRpZmYtcmVmaW5lLXJlbW92ZWQgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1k aWZmLWZvY3VzLWFkZGVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1 cy1jaGFuZ2VkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1mb2N1cy1yZW1v dmVkIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nIG5pbCBuaWwp DQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlciBuaWwgbmlsKQ0KLShkZWZmYWNl IG1vZHVzLXRoZW1lLW1hcmstYWx0IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtbWFy ay1kZWwgbmlsIG5pbCkNCi0oZGVmZmFjZSBtb2R1cy10aGVtZS1tYXJrLXNlbCBuaWwgbmlsKQ0K LShkZWZmYWNlIG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9k dXMtdGhlbWUtaGVhZGluZy0xIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGlu Zy0yIG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy0zIG5pbCBuaWwpDQot KGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy00IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMt dGhlbWUtaGVhZGluZy01IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy02 IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy03IG5pbCBuaWwpDQotKGRl ZmZhY2UgbW9kdXMtdGhlbWUtaGVhZGluZy04IG5pbCBuaWwpDQotKGRlZmZhY2UgbW9kdXMtdGhl bWUtaGwtbGluZSBuaWwgbmlsKQ0KLQ0KLTs7OyBDdXN0b21pc2F0aW9uIG9wdGlvbnMNCi0NCi07 OyBVc2VyLWZhY2luZyBjdXN0b21pc2F0aW9uIG9wdGlvbnMuICBUaGV5IGFyZSBhbGwgZGVhY3Rp dmF0ZWQgYnkNCi07OyBkZWZhdWx0ICh1c2VycyBtdXN0IG9wdCBpbikuDQotKGRlZmN1c3RvbSBt b2R1cy12aXZlbmRpLXRoZW1lLXNsYW50ZWQtY29uc3RydWN0cyBuaWwNCi0gICJVc2Ugc2xhbnRl ZCB0ZXh0IGluIG1vcmUgY29kZSBjb25zdHJ1Y3RzIChpdGFsaWNzIG9yIG9ibGlxdWUpLiINCi0g IDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1ib2xk LWNvbnN0cnVjdHMgbmlsDQotICAiVXNlIGJvbGQgdGV4dCBpbiBtb3JlIGNvZGUgY29uc3RydWN0 cy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFs aWFzICdtb2R1cy12aXZlbmRpLXRoZW1lLXByb3BvcnRpb25hbC1mb250cw0KLSAgJ21vZHVzLXZp dmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MgImBtb2R1cy12aXZlbmRpLXRoZW1l JyAwLjExLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1wcm9wb3J0aW9u YWwtZm9udHMgbmlsDQotICAiVXNlIHByb3BvcnRpb25hbCBmb250cyAodmFyaWFibGUtcGl0Y2gp IGluIGhlYWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMt dml2ZW5kaS10aGVtZS12YXJpYWJsZS1waXRjaC1oZWFkaW5ncyBuaWwNCi0gICJVc2UgcHJvcG9y dGlvbmFsIGZvbnRzICh2YXJpYWJsZS1waXRjaCkgaW4gaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jv b2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLW5vLW1peGVkLWZvbnRz IG5pbA0KLSAgIkRpc2FibGUgaW5oZXJpdGFuY2UgZnJvbSBgZml4ZWQtcGl0Y2gnIGluIHNvbWUg ZmFjZXMuDQotDQotVGhpcyBpcyBkb25lIGJ5IGRlZmF1bHQgdG8gYWxsb3cgc3BhY2luZy1zZW5z aXRpdmUgY29uc3RydWN0cywNCi1zdWNoIGFzIE9yZyB0YWJsZXMgYW5kIGNvZGUgYmxvY2tzLCB0 byByZW1haW4gbW9ub3NwYWNlZCB3aGVuDQotdXNlcnMgb3B0IGZvciBzb21ldGhpbmcgbGlrZSB0 aGUgY29tbWFuZCBgdmFyaWFibGUtcGl0Y2gtbW9kZScuDQotVGhlIGRvd25zaWRlIHdpdGggdGhl IGRlZmF1bHQgaXMgdGhhdCB1c2VycyBuZWVkIHRvIGV4cGxpY2l0bHkNCi1jb25maWd1cmUgdGhl IGZvbnQgZmFtaWx5IG9mIGBmaXhlZC1waXRjaCcgaW4gb3JkZXIgdG8gZ2V0IGENCi1jb25zaXN0 ZW50IGV4cGVyaWVuY2UuICBUaGF0IG1heSBiZSBzb21ldGhpbmcgdGhleSBkbyBub3Qgd2FudCB0 bw0KLWRvLiAgSGVuY2UgdGhpcyBvcHRpb24gdG8gZGlzYWJsZSBhbnkga2luZCBvZiB0ZWNobmlx dWUgZm9yDQotbWl4aW5nIGZvbnRzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShtYWtlLW9i c29sZXRlICdtb2R1cy12aXZlbmRpLXRoZW1lLXJhaW5ib3ctaGVhZGluZ3MNCi0gICAgICAgICAg ICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICJgbW9k dXMtdml2ZW5kaS10aGVtZScgMC4xMy4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGkt dGhlbWUtcmFpbmJvdy1oZWFkaW5ncyBuaWwNCi0gICJVc2UgbW9yZSBzYXR1cmF0ZWQgY29sb3Vy cyBmb3IgaGVhZGluZ3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKG1ha2Utb2Jzb2xldGUg J21vZHVzLXZpdmVuZGktdGhlbWUtc2VjdGlvbi1oZWFkaW5ncw0KLSAgICAgICAgICAgICAgICdt b2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmdzDQotICAgICAgICAgICAgICAgImBtb2R1cy12aXZl bmRpLXRoZW1lJyAwLjEzLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVtZS1z ZWN0aW9uLWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBhIGJhY2tncm91bmQgYW5kIGFuIG92ZXJsaW5l IGluIGhlYWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMt dml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgJygodCAuIG5pbCkpDQotICAiQWxpc3Qgb2Ygc3R5 bGVzIGZvciBoZWFkaW5ncywgd2l0aCBvcHRpb25hbCB2YWx1ZSBwZXIgbGV2ZWwuDQotDQotVG8g Y29udHJvbCBmYWNlcyBwZXIgbGV2ZWwgZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlz Og0KLQ0KLSAgKHNldHEgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgJygo MSAuIGhpZ2hsaWdodCkNCi0gICAgICAgICAgKDIgLiBsaW5lKQ0KLSAgICAgICAgICAodCAuIHJh aW5ib3ctbGluZS1uby1ib2xkKSkpDQotDQotVG8gc2V0IGEgdW5pZm9ybSB2YWx1ZSBmb3IgYWxs IGhlYWRpbmcgbGV2ZWxzLCB1c2UgdGhpcyBwYXR0ZXJuOg0KLQ0KLSAgKHNldHEgbW9kdXMtdml2 ZW5kaS10aGVtZS1oZWFkaW5ncw0KLSAgICAgICAgJygodCAuIHJhaW5ib3ctbGluZS1uby1ib2xk KSkpDQotDQotVGhlIGRlZmF1bHQgdXNlcyBhIGZhaXJseSBkZXNhdHVyYXRlZCBmb3JlZ3JvdW5k IHZhbHVlIGluDQotY29tYmluYXRpb24gd2l0aCBhIGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LiAg VG8gc3BlY2lmeSB0aGlzDQotc3R5bGUgZm9yIGEgZ2l2ZW4gbGV2ZWwgTiAoYXNzdW1pbmcgeW91 IHdpc2ggdG8gaGF2ZSBhbm90aGVyDQotZmFsbGJhY2sgb3B0aW9uKSwganVzdCBzcGVjaWZ5IHRo ZSB2YWx1ZSB0IGxpa2UgdGhpczoNCi0NCi0gIChzZXRxIG1vZHVzLXZpdmVuZGktdGhlbWUtaGVh ZGluZ3MNCi0gICAgICAgICcoKDEgLiB0KQ0KLSAgICAgICAgICAoMiAuIGxpbmUpDQotICAgICAg ICAgICh0IC4gcmFpbmJvdy1saW5lLW5vLWJvbGQpKSkNCi0NCi1BIGRlc2NyaXB0aW9uIG9mIGFs bCBwb3NzaWJsZSB2YWx1ZXM6DQotDQotKyBgbm8tYm9sZCcgcmV0YWlucyB0aGUgZGVmYXVsdCB0 ZXh0IGNvbG91ciB3aGlsZSByZW1vdmluZw0KLSAgdGhlIHR5cG9ncmFwaGljIHdlaWdodC4NCi0N Ci0rIGBsaW5lJyBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdCBwbHVzIGFuIG92ZXJsaW5lIG92 ZXIgdGhlDQotICBoZWFkaW5nLg0KLQ0KLSsgYGxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMg YGxpbmUnIHdpdGhvdXQgYm9sZCB3ZWlnaHQuDQotDQotKyBgcmFpbmJvdycgdXNlcyBhIG1vcmUg Y29sb3VyZnVsIGZvcmVncm91bmQgaW4gY29tYmluYXRpb24NCi0gIHdpdGggYm9sZCB3ZWlnaHQu DQotDQotKyBgcmFpbmJvdy1saW5lJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdycgcGx1cyBhbiBv dmVybGluZS4NCi0NCi0rIGByYWluYm93LWxpbmUtbm8tYm9sZCcgaXMgdGhlIHNhbWUgYXMgYHJh aW5ib3ctbGluZScgd2l0aG91dA0KLSAgdGhlIGJvbGQgd2VpZ2h0Lg0KLQ0KLSsgYGhpZ2hsaWdo dCcgcmV0YWlucyB0aGUgZGVmYXVsdCBzdHlsZSBvZiBhIGZhaXJseSBkZXNhdHVyYXRlZA0KLSAg Zm9yZWdyb3VuZCBjb21iaW5lZCB3aXRoIGEgYm9sZCB3ZWlnaHQgYW5kIGFkZCB0byBpdCBhIHN1 YnRsZQ0KLSAgYWNjZW50ZWQgYmFja2dyb3VuZC4NCi0NCi0rIGBoaWdobGlnaHQtbm8tYm9sZCcg aXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdodC4NCi0N Ci0rIGByYWluYm93LWhpZ2hsaWdodCcgaXMgdGhlIHNhbWUgYXMgYGhpZ2hsaWdodCcgYnV0IHdp dGggYSBtb3JlDQotICBjb2xvdXJmdWwgZm9yZWdyb3VuZC4NCi0NCi0rIGByYWluYm93LWhpZ2hs aWdodC1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdy1oaWdobGlnaHQnDQotICB3aXRo b3V0IGEgYm9sZCB3ZWlnaHQuDQotDQotKyBgc2VjdGlvbicgcmV0YWlucyB0aGUgZGVmYXVsdCBs b29rcyBhbmQgYWRkcyB0byB0aGVtIGJvdGggYW4NCi0gIG92ZXJsaW5lIGFuZCBhIHNsaWdodGx5 IGFjY2VudGVkIGJhY2tncm91bmQuICBJdCBpcywgaW4gZWZmZWN0LA0KLSAgYSBjb21iaW5hdGlv biBvZiB0aGUgYGxpbmUnIGFuZCBgaGlnaGxpZ2h0JyB2YWx1ZXMuDQotDQotKyBgc2VjdGlvbi1u by1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgc2VjdGlvbicgd2l0aG91dCBhIGJvbGQNCi0gIHdlaWdo dC4NCi0NCi0rIGByYWluYm93LXNlY3Rpb24nIGlzIHRoZSBzYW1lIGFzIGBzZWN0aW9uJyBidXQg d2l0aCBhIG1vcmUNCi0gIGNvbG91cmZ1bCBmb3JlZ3JvdW5kLg0KLQ0KLSsgYHJhaW5ib3ctc2Vj dGlvbi1uby1ib2xkJyBpcyB0aGUgc2FtZSBhcyBgcmFpbmJvdy1zZWN0aW9uJw0KLSAgd2l0aG91 dCBhIGJvbGQgd2VpZ2h0LiINCi0gIDp0eXBlDQotICAnKGFsaXN0DQotICAgIDprZXktdHlwZSBz eW1ib2wNCi0gICAgOnZhbHVlLXR5cGUNCi0gICAgKGNob2ljZSAoY29uc3QgOnRhZyAiRmFpcmx5 IGRlc2F0dXJhdGVkIGZvcmVncm91bmQgd2l0aCBib2xkIHdlaWdodCAoZGVmYXVsdCkiIHQpDQot ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgd2l0aG91dCBib2xkIHdl aWdodCIgbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSB0aGUgZGVmYXVs dCBwbHVzIG92ZXJsaW5lIiBsaW5lKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBs aW5lJyB3aXRob3V0IGJvbGQgd2VpZ2h0IiBsaW5lLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNv bnN0IDp0YWcgIkxpa2UgdGhlIGRlZmF1bHQgYnV0IHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdy b3VuZCIgcmFpbmJvdykNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgcmFpbmJvdycg cGx1cyBvdmVybGluZSIgcmFpbmJvdy1saW5lKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJM aWtlIGByYWluYm93JyB3aXRob3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LW5vLWJvbGQpDQotICAg ICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctbGluZScgd2l0aG91dCBib2xkIHdl aWdodCIgcmFpbmJvdy1saW5lLW5vLWJvbGQpDQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxp a2UgdGhlIGRlZmF1bHQgcGx1cyBzdWJ0bGUgYmFja2dyb3VuZCIgaGlnaGxpZ2h0KQ0KLSAgICAg ICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHdpdGhvdXQgYm9sZCB3ZWlnaHQi IGhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAgICAgICAgIChjb25zdCA6dGFnICJMaWtlIGBoaWdo bGlnaHQnIHdpdGggbW9yZSBjb2xvdXJmdWwgZm9yZWdyb3VuZCIgcmFpbmJvdy1oaWdobGlnaHQp DQotICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctaGlnaGxpZ2h0JyB3aXRo b3V0IGJvbGQgd2VpZ2h0IiByYWluYm93LWhpZ2hsaWdodC1uby1ib2xkKQ0KLSAgICAgICAgICAg IChjb25zdCA6dGFnICJMaWtlIGBoaWdobGlnaHQnIHBsdXMgb3ZlcmxpbmUiIHNlY3Rpb24pDQot ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHNlY3Rpb24nIHdpdGhvdXQgYm9sZCB3ZWln aHQiIHNlY3Rpb24tbm8tYm9sZCkNCi0gICAgICAgICAgICAoY29uc3QgOnRhZyAiTGlrZSBgc2Vj dGlvbicgd2l0aCBtb3JlIGNvbG91cmZ1bCBmb3JlZ3JvdW5kIiByYWluYm93LXNlY3Rpb24pDQot ICAgICAgICAgICAgKGNvbnN0IDp0YWcgIkxpa2UgYHJhaW5ib3ctc2VjdGlvbicgd2l0aG91dCBi b2xkIHdlaWdodCIgcmFpbmJvdy1zZWN0aW9uLW5vLWJvbGQpKSkpDQotDQotKGRlZmN1c3RvbSBt b2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLWhlYWRpbmdzIG5pbA0KLSAgIlVzZSBmb250IHNjYWxp bmcgZm9yIGhlYWRpbmdzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xIDEuMDUNCi0gICJGb250IHNpemUgdGhhdCBpcyBzbGln aHRseSBsYXJnZXIgdGhhbiB0aGUgYmFzZSB2YWx1ZS4NCi1UaGUgZGVmYXVsdCBpcyBhIGZsb2F0 aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRoZSBiYXNl IGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4NCi1pbnRl Z2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVlIG9mIDE0 MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6ZSkuDQot DQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBvZg0KLWBz ZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0aW9uLiIN Ci0gIDp0eXBlICdudW1iZXIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXNj YWxlLTIgMS4xDQotICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy12aXZl bmRpLXRoZW1lLXNjYWxlLTEnLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhh dCBpcyBpbnRlcnByZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAg SG93ZXZlciwgdGhlIHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rv b2QgYXMgYW4gYWJzb2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNh bWUgYXMgc2V0dGluZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBv biB0aGUgbWF0dGVyLCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJp YnV0ZScsIHNwZWNpZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251 bWJlcikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMyAxLjE1DQot ICAiRm9udCBzaXplIHNsaWdodGx5IGxhcmdlciB0aGFuIGBtb2R1cy12aXZlbmRpLXRoZW1lLXNj YWxlLTInLg0KLVRoZSBkZWZhdWx0IGlzIGEgZmxvYXRpbmcgcG9pbnQgdGhhdCBpcyBpbnRlcnBy ZXRlZCBhcyBhIG11bHRpcGxlDQotb2YgdGhlIGJhc2UgZm9udCBzaXplLiAgSG93ZXZlciwgdGhl IHZhcmlhYmxlIGFsc28gYWNjZXB0cyBhbg0KLWludGVnZXIsIHVuZGVyc3Rvb2QgYXMgYW4gYWJz b2x1dGUgaGVpZ2h0IChlLmcuIGEgdmFsdWUgb2YgMTQwIGlzDQotdGhlIHNhbWUgYXMgc2V0dGlu ZyB0aGUgZm9udCBhdCAxNCBwb2ludCBzaXplKS4NCi0NCi1Gb3IgbW9yZSBvbiB0aGUgbWF0dGVy LCByZWFkIHRoZSBkb2N1bWVudGF0aW9uIG9mDQotYHNldC1mYWNlLWF0dHJpYnV0ZScsIHNwZWNp ZmljYWxseSB0aGUgJzpoZWlnaHQnIHNlY3Rpb24uIg0KLSAgOnR5cGUgJ251bWJlcikNCi0NCi0o ZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNCAxLjINCi0gICJGb250IHNpemUg c2xpZ2h0bHkgbGFyZ2VyIHRoYW4gYG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMycuDQotVGhl IGRlZmF1bHQgaXMgYSBmbG9hdGluZyBwb2ludCB0aGF0IGlzIGludGVycHJldGVkIGFzIGEgbXVs dGlwbGUNCi1vZiB0aGUgYmFzZSBmb250IHNpemUuICBIb3dldmVyLCB0aGUgdmFyaWFibGUgYWxz byBhY2NlcHRzIGFuDQotaW50ZWdlciwgdW5kZXJzdG9vZCBhcyBhbiBhYnNvbHV0ZSBoZWlnaHQg KGUuZy4gYSB2YWx1ZSBvZiAxNDAgaXMNCi10aGUgc2FtZSBhcyBzZXR0aW5nIHRoZSBmb250IGF0 IDE0IHBvaW50IHNpemUpLg0KLQ0KLUZvciBtb3JlIG9uIHRoZSBtYXR0ZXIsIHJlYWQgdGhlIGRv Y3VtZW50YXRpb24gb2YNCi1gc2V0LWZhY2UtYXR0cmlidXRlJywgc3BlY2lmaWNhbGx5IHRoZSAn OmhlaWdodCcgc2VjdGlvbi4iDQotICA6dHlwZSAnbnVtYmVyKQ0KLQ0KLShkZWZjdXN0b20gbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZS01IDEuMw0KLSAgIkZvbnQgc2l6ZSBzbGlnaHRseSBsYXJn ZXIgdGhhbiBgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00Jy4NCi1UaGUgZGVmYXVsdCBpcyBh IGZsb2F0aW5nIHBvaW50IHRoYXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBtdWx0aXBsZQ0KLW9mIHRo ZSBiYXNlIGZvbnQgc2l6ZS4gIEhvd2V2ZXIsIHRoZSB2YXJpYWJsZSBhbHNvIGFjY2VwdHMgYW4N Ci1pbnRlZ2VyLCB1bmRlcnN0b29kIGFzIGFuIGFic29sdXRlIGhlaWdodCAoZS5nLiBhIHZhbHVl IG9mIDE0MCBpcw0KLXRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIGZvbnQgYXQgMTQgcG9pbnQgc2l6 ZSkuDQotDQotRm9yIG1vcmUgb24gdGhlIG1hdHRlciwgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBv Zg0KLWBzZXQtZmFjZS1hdHRyaWJ1dGUnLCBzcGVjaWZpY2FsbHkgdGhlICc6aGVpZ2h0JyBzZWN0 aW9uLiINCi0gIDp0eXBlICdudW1iZXIpDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVu ZGktdGhlbWUtdmlzaWJsZS1mcmluZ2VzDQotICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGkt dGhlbWUtZnJpbmdlcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4x Mi4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtdmlzaWJsZS1mcmluZ2Vz IG5pbA0KLSAgIlVzZSBhIHZpc2libGUgc3R5bGUgZm9yIGZyaW5nZXMuIg0KLSAgOnR5cGUgJ2Jv b2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMgbmlsDQot ICAiRGVmaW5lIHRoZSB2aXNpYmlsaXR5IG9mIGZyaW5nZXMuDQotDQotTmlsIG1lYW5zIHRoZSBm cmluZ2VzIGhhdmUgbm8gYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24gYHN1YnRsZScNCi13aWxs IGFwcGx5IGEgZ3JleXNjYWxlIHZhbHVlIHRoYXQgaXMgdmlzaWJsZSB5ZXQgY2xvc2UgdG8gdGhl DQotbWFpbiBidWZmZXIgYmFja2dyb3VuZCBjb2xvdXIuICBPcHRpb24gYGludGVuc2UnIHdpbGwg dXNlIGEgbW9yZQ0KLXByb25vdW5jZWQgZ3JleXNjYWxlIHZhbHVlLiINCi0gIDp0eXBlICcoY2hv aWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyB2aXNpYmxlIGZyaW5nZXMgKGRlZmF1bHQp IiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0bGUgZ3JleXNjYWxlIGJhY2tncm91 bmQiIHN1YnRsZSkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIkludGVuc2UgZ3JleXNjYWxlIGJh Y2tncm91bmQiIGludGVuc2UpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5kaS10 aGVtZS1kaXN0aW5jdC1vcmctYmxvY2tzDQotICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGkt dGhlbWUtb3JnLWJsb2Nrcw0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScg MC4xMS4wIikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtZGlzdGluY3Qtb3Jn LWJsb2NrcyBuaWwNCi0gICJVc2UgYSBkaXN0aW5jdCBuZXV0cmFsIGJhY2tncm91bmQgZm9yIGBv cmctbW9kZScgYmxvY2tzLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShtYWtlLW9ic29sZXRl ICdtb2R1cy12aXZlbmRpLXRoZW1lLXJhaW5ib3ctb3JnLXNyYy1ibG9ja3MNCi0gICAgICAgICAg ICAgICAnbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICAgICAgICAgICAgImBt b2R1cy12aXZlbmRpLXRoZW1lJyAwLjExLjAiKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5k aS10aGVtZS1yYWluYm93LW9yZy1zcmMtYmxvY2tzIG5pbA0KLSAgIlVzZSBjb2xvdXItY29kZWQg YmFja2dyb3VuZHMgZm9yIGBvcmctbW9kZScgc291cmNlIGJsb2Nrcy4NCi1UaGUgY29sb3VyIGlu IHVzZSBkZXBlbmRzIG9uIHRoZSBsYW5ndWFnZSAoc2VuZCBmZWVkYmFjayB0bw0KLWluY2x1ZGUg bW9yZSBsYW5ndWFnZXMpLiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9k dXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2tzIG5pbA0KLSAgIlVzZSBhIHN1YnRsZSBncmV5IG9y IGNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kIGZvciBPcmcgYmxvY2tzLg0KLQ0KLU5pbCBtZWFucyB0 aGF0IHRoZSBibG9jayB3aWxsIGhhdmUgbm8gYmFja2dyb3VuZCBvZiBpdHMgb3duIGFuZA0KLXdp bGwgdXNlIHRoZSBkZWZhdWx0IHRoYXQgYXBwbGllcyB0byB0aGUgcmVzdCBvZiB0aGUgYnVmZmVy Lg0KLQ0KLU9wdGlvbiBgZ3JleXNjYWxlJyB3aWxsIGFwcGx5IGEgc3VidGxlIG5ldXRyYWwgZ3Jl eSBiYWNrZ3JvdW5kIHRvDQotdGhlIGJsb2NrJ3MgY29udGVudHMuICBJdCBhbHNvIGFmZmVjdHMg dGhlIGJlZ2luIGFuZCBlbmQgbGluZXMgb2YNCi10aGUgYmxvY2s6IHRoZWlyIGJhY2tncm91bmQg d2lsbCBiZSBleHRlbmRlZCB0byB0aGUgZWRnZSBvZiB0aGUNCi13aW5kb3cgZm9yIEVtYWNzIHZl cnNpb24gPj0gMjcgd2hlcmUgdGhlICc6ZXh0ZW5kJyBrZXl3b3JkIGlzDQotcmVjb2duaXNlZCBi eSBgc2V0LWZhY2UtYXR0cmlidXRlJy4NCi0NCi1PcHRpb24gYHJhaW5ib3cnIHdpbGwgdXNlIGFu IGFjY2VudGVkIGJhY2tncm91bmQgZm9yIHRoZSBjb250ZW50cw0KLW9mIHRoZSBibG9jay4gIFRo ZSBleGFjdCBjb2xvdXIgd2lsbCBkZXBlbmQgb24gdGhlIHByb2dyYW1taW5nDQotbGFuZ3VhZ2Ug YW5kIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGBvcmctc3JjLWJsb2NrLWZhY2VzJw0KLXZhcmlhYmxl IChyZWZlciB0byB0aGUgdGhlbWUncyBzb3VyY2UgY29kZSBmb3IgdGhlIGN1cnJlbnQNCi1hc3Nv Y2lhdGlvbiBsaXN0KS4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRh ZyAiTm8gT3JnIGJsb2NrIGJhY2tncm91bmQgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChj b25zdCA6dGFnICJTdWJ0bGUgZ3JleSBibG9jayBiYWNrZ3JvdW5kIiBncmV5c2NhbGUpDQotICAg ICAgICAgIChjb25zdCA6dGFnICJDb2xvdXItY29kZWQgYmFja2dyb3VuZCBwZXIgcHJvZ3JhbW1p bmcgbGFuZ3VhZ2UiIHJhaW5ib3cpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2ZW5k aS10aGVtZS0zZC1tb2RlbGluZQ0KLSAgICAgICAgICAgICAgICdtb2R1cy12aXZlbmRpLXRoZW1l LW1vZGUtbGluZQ0KLSAgICAgICAgICAgICAgICJgbW9kdXMtdml2ZW5kaS10aGVtZScgMC4xMy4w IikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtM2QtbW9kZWxpbmUgbmlsDQot ICAiVXNlIGEgdGhyZWUtZGltZW5zaW9uYWwgc3R5bGUgZm9yIHRoZSBhY3RpdmUgbW9kZSBsaW5l LiINCi0gIDp0eXBlICdib29sZWFuKQ0KLQ0KLShkZWZjdXN0b20gbW9kdXMtdml2ZW5kaS10aGVt ZS1tb2RlLWxpbmUgbmlsDQotICAiQWRqdXN0IHRoZSBvdmVyYWxsIHN0eWxlIG9mIHRoZSBtb2Rl IGxpbmUuDQotDQotTmlsIGlzIGEgdHdvLWRpbWVuc2lvbmFsIHJlY3RhbmdsZSB3aXRoIGEgYm9y ZGVyIGFyb3VuZCBpdC4gIFRoZQ0KLWFjdGl2ZSBhbmQgdGhlIGluYWN0aXZlIG1vZGVsaW5lcyB1 c2UgZGlmZmVyZW50IHNoYWRlcyBvZg0KLWdyZXlzY2FsZSB2YWx1ZXMgZm9yIHRoZSBiYWNrZ3Jv dW5kIGFuZCBmb3JlZ3JvdW5kLg0KLQ0KLUEgYDNkJyB2YWx1ZSB3aWxsIGFwcGx5IGEgdGhyZWUt ZGltZW5zaW9uYWwgZWZmZWN0IHRvIHRoZSBhY3RpdmUNCi1tb2RlbGluZS4gIFRoZSBpbmFjdGl2 ZSBtb2RlbGluZXMgcmVtYWluIHR3by1kaW1lbnNpb25hbCBhbmQgYXJlDQotdG9uZWQgZG93biBh IGJpdCwgcmVsYXRpdmUgdG8gdGhlIG5pbCB2YWx1ZS4NCi0NCi1UaGUgYG1vb2R5JyBvcHRpb24g aXMgbWVhbnQgdG8gb3B0aW1pc2UgdGhlIG1vZGVsaW5lIGZvciB1c2Ugd2l0aA0KLXRoZSBsaWJy YXJ5IG9mIHRoZSBzYW1lIG5hbWUuICBUaGlzIHByYWN0aWNhbGx5IG1lYW5zIHRvIHJlbW92ZQ0K LXRoZSBib3ggZWZmZWN0IGFuZCByZWx5IG9uIHVuZGVybGluZSBhbmQgb3ZlcmxpbmUgcHJvcGVy dGllcw0KLWluc3RlYWQuICBJdCBhbHNvIHRvbmVzIGRvd24gdGhlIGluYWN0aXZlIG1vZGVsaW5l cy4gIERlc3BpdGUgaXRzDQotaW50ZW5kZWQgcHVycG9zZSwgdGhpcyBvcHRpb24gY2FuIGFsc28g YmUgdXNlZCB3aXRob3V0IHRoZQ0KLWBtb29keScgbGlicmFyeS4iDQotICA6dHlwZSAnKGNob2lj ZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiVHdvLWRpbWVuc2lvbmFsIGJveCAoZGVmYXVsdCki IG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlRocmVlLWRpbWVuc2lvbmFsIHN0eWxlIGZv ciB0aGUgYWN0aXZlIG1vZGUgbGluZSIgM2QpDQotICAgICAgICAgIChjb25zdCA6dGFnICJObyBi b3ggZWZmZWN0cywgd2hpY2ggYXJlIG9wdGltYWwgZm9yIHVzZSB3aXRoIHRoZSBgbW9vZHknIGxp YnJhcnkiIG1vb2R5KSkpDQotDQotKG1ha2Utb2Jzb2xldGUgJ21vZHVzLXZpdmVuZGktdGhlbWUt c3VidGxlLWRpZmZzDQotICAgICAgICAgICAgICAgJ21vZHVzLXZpdmVuZGktdGhlbWUtZGlmZnMN Ci0gICAgICAgICAgICAgICAiYG1vZHVzLXZpdmVuZGktdGhlbWUnIDAuMTMuMCIpDQotDQotKGRl ZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLXN1YnRsZS1kaWZmcyBuaWwNCi0gICJVc2UgZmV3 ZXIvZGltIGJhY2tncm91bmRzIGluIGBkaWZmLW1vZGUnLCBgZWRpZmYnLGBtYWdpdCcuIg0KLSAg OnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZz IG5pbA0KLSAgIkFkanVzdCB0aGUgb3ZlcmFsbCBzdHlsZXMgb2YgZGlmZnMuDQotDQotTmlsIG1l YW5zIHRvIHVzZSBmYWlybHkgaW50ZW5zZSBjb2xvdXIgY29tYmluYXRpb25zIGZvciBkaWZmcy4N Ci1Gb3IgZXhhbXBsZSwgeW91IGdldCBhIHJpY2ggZ3JlZW4gYmFja2dyb3VuZCB3aXRoIGEgZ3Jl ZW4NCi1mb3JlZ3JvdW5kIGZvciBhZGRlZCBsaW5lcy4gIFdvcmQtd2lzZSBvciAncmVmaW5lZCcg ZGlmZnMgZm9sbG93DQotdGhlIHNhbWUgcGF0dGVybiBidXQgdXNlIGRpZmZlcmVudCBzaGFkZXMg b2YgdGhvc2UgY29sb3VycyB0bw0KLXJlbWFpbiBkaXN0aW5jdC4NCi0NCi1BIGBkZXNhdHVyYXRl ZCcgdmFsdWUgZm9sbG93cyB0aGUgc2FtZSBwcmluY2lwbGVzIGFzIHdpdGggdGhlIG5pbA0KLW9w dGlvbiwgd2hpbGUgaXQgdG9uZXMgZG93biBhbGwgcmVsZXZhbnQgY29sb3Vycy4NCi0NCi1PcHRp b24gYGZnLW9ubHknIHdpbGwgcmVtb3ZlIGFsbCBhY2NlbnRlZCBiYWNrZ3JvdW5kcywgZXhjZXB0 DQotZnJvbSB3b3JkLXdpc2UgY2hhbmdlcy4gIEl0IGluc3RlYWQgdXNlcyBjb2xvdXItY29kZWQg Zm9yZWdyb3VuZA0KLXZhbHVlcyB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gYWRkZWQvcmVtb3Zl ZC9jaGFuZ2VkIGxpbmVzLiAgSWYNCi1hIGJhY2tncm91bmQgaXMgbmVjZXNzYXJ5LCBzdWNoIGFz IHdpdGggYGVkaWZmJywgdGhlbiBhIHN1YnRsZQ0KLWdyZXlzY2FsZSB2YWx1ZSBpcyB1c2VkLiIN Ci0gIDp0eXBlICcoY2hvaWNlDQotICAgICAgICAgIChjb25zdCA6dGFnICJJbnRlbnNlbHkgY29s b3VyZWQgYmFja2dyb3VuZHMgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFn ICJTbGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kcyB3aXRoIHRpbnRlZCB0ZXh0IiBkZXNhdHVy YXRlZCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIk5vIGJhY2tncm91bmRzLCBleGNlcHQgZm9y IHJlZmluZWQgZGlmZnMiIGZnLW9ubHkpKSkNCi0NCi0obWFrZS1vYnNvbGV0ZSAnbW9kdXMtdml2 ZW5kaS10aGVtZS1pbnRlbnNlLXN0YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg J21vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAiYG1vZHVz LXZpdmVuZGktdGhlbWUnIDAuMTIuMCIpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRo ZW1lLWludGVuc2Utc3RhbmRhcmQtY29tcGxldGlvbnMgbmlsDQotICAiVXNlIHByb21pbmVudCBi YWNrZ3JvdW5kcyBmb3IgSWNvbXBsZXRlLCBJZG8sIG9yIHNpbWlsYXIuIg0KLSAgOnR5cGUgJ2Jv b2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25zIG5p bA0KLSAgIkFwcGx5IHNwZWNpYWwgc3R5bGVzIHRvIHRoZSBVSSBvZiBjb21wbGV0aW9uIGZyYW1l d29ya3MuDQotDQotVGhpcyBjb25jZXJucyBJY29tcGxldGUsIEl2eSwgSGVsbSwgU2VsZWN0cnVt LCBJZG8sIGFzIHdlbGwgYXMNCi1hbnkgb3RoZXIgdG9vbCBtZWFudCB0byBlbmhhbmNlIHRoZWly IGV4cGVyaWVuY2UuICBUaGUgZWZmZWN0DQotd2lsbCB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgY29t cGxldGlvbiBmcmFtZXdvcmsuDQotDQotTmlsIG1lYW5zIHRvIHJlbWFpbiBmYWl0aGZ1bCB0byB0 aGUgbWV0YXBob3JzIHRoYXQgZWFjaCBVSQ0KLWVzdGFibGlzaGVzLiAgRm9yIGV4YW1wbGUsIElj b21wbGV0ZSBhbmQgSWRvIG9ubHkgdXNlIGZvcmVncm91bmQNCi1jb2xvdXJzIHRvIHN0eWxlIHRo ZWlyIG1hdGNoZXMsIHdoZXJlYXMgSXZ5IG9yIEhlbG0gcmVseSBvbiBhbg0KLWFlc3RoZXRpYyB0 aGF0IGNvbWJpbmVzIGNvbG91cmVkIGJhY2tncm91bmRzIHdpdGggYXBwcm9wcmlhdGUNCi10ZXh0 IGNvbG91ci4NCi0NCi1PcHRpb24gYG1vZGVyYXRlJyB3aWxsIGFwcGx5IGEgY29tYmluYXRpb24g b2YgYmFja2dyb3VuZCBhbmQNCi1mb3JlZ3JvdW5kIHRoYXQgaXMgZmFpcmx5IHN1YnRsZS4gIEZv ciBJY29tcGxldGUgYW5kIHRoZSBsaWtlLA0KLXRoaXMgY29uc3RpdHV0ZXMgYSBkZXBhcnR1cmUg ZnJvbSB0aGVpciBzdGFuZGFyZCBzdHlsZS4gIFdoaWxlDQotSXZ5LCBIZWxtLCBhbmQgdGhlIG90 aGVycywgd2lsbCB1c2UgbGVzcyBwcm9ub3VuY2VkIGNvbG91cnMgZm9yDQotYXBwbGljYWJsZSBj b250ZXh0cy4NCi0NCi1PcHRpb24gYG9waW5pb25hdGVkJyB3aWxsIGFwcGx5IGNvbG91ciBjb21i aW5hdGlvbnMgdGhhdA0KLXJlZmFzaGlvbiB0aGUgY29tcGxldGlvbiBVSS4gIFNvIEljb21wbGV0 ZSBldCBhbCB3aWxsIG5vdyB1c2UNCi1zdHlsZXMgdGhhdCByZXNlbWJsZSB0aGUgZGVmYXVsdHMg b2YgSXZ5IGFuZCBjby4sIHdoaWxlIHRoZQ0KLWxhdHRlciBncm91cCB3aWxsIHJldmVydCB0byBh biBldmVuIG1vcmUgbnVhbmNlZCBhZXN0aGV0aWMuIg0KLSAgOnR5cGUgJyhjaG9pY2UNCi0gICAg ICAgICAgKGNvbnN0IDp0YWcgIlJlc3BlY3QgdGhlIGZyYW1ld29yaydzIGVzdGFibGlzaGVkIGFl c3RoZXRpYyAoZGVmYXVsdCkiIG5pbCkNCi0gICAgICAgICAgKGNvbnN0IDp0YWcgIlN1YnRsZSBi YWNrZ3JvdW5kcyBmb3IgdmFyaW91cyBlbGVtZW50cyIgbW9kZXJhdGUpDQotICAgICAgICAgIChj b25zdCA6dGFnICJSYWRpY2FsIGFsdGVybmF0aXZlIHRvIHRoZSBmcmFtZXdvcmsncyBsb29rcyIg b3BpbmlvbmF0ZWQpKSkNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtcHJvbXB0 cyBuaWwNCi0gICJVc2Ugc3VidGxlIG9yIGludGVuc2Ugc3R5bGVzIGZvciBtaW5pYnVmZmVyIGFu ZCBSRVBMIHByb21wdHMuDQotDQotTmlsIG1lYW5zIHRvIG9ubHkgdXNlIGFuIGFjY2VudGVkIGZv cmVncm91bmQgY29sb3VyLg0KLQ0KLU9wdGlvbnMgYHN1YnRsZScgYW5kIGBpbnRlbnNlJyB3aWxs IGNoYW5nZSBib3RoIHRoZSBiYWNrZ3JvdW5kDQotYW5kIHRoZSBmb3JlZ3JvdW5kIHZhbHVlcy4g IFRoZSBsYXR0ZXIgaGFzIGEgbW9yZSBwcm9ub3VuY2VkDQotZWZmZWN0IHRoYW4gdGhlIGZvcm1l ci4iDQotICA6dHlwZSAnKGNob2ljZQ0KLSAgICAgICAgICAoY29uc3QgOnRhZyAiTm8gcHJvbXB0 IGJhY2tncm91bmQgKGRlZmF1bHQpIiBuaWwpDQotICAgICAgICAgIChjb25zdCA6dGFnICJTdWJ0 bGUgYWNjZW50ZWQgYmFja2dyb3VuZCBmb3IgdGhlIHByb21wdCIgc3VidGxlKQ0KLSAgICAgICAg ICAoY29uc3QgOnRhZyAiSW50ZW5zZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGZvciB0aGUg cHJvbXB0IiBpbnRlbnNlKSkpDQotDQotKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRpLXRoZW1lLWlu dGVuc2UtaGwtbGluZSBuaWwNCi0gICJVc2UgbW9yZSBwcm9taW5lbnQgYmFja2dyb3VuZCBmb3Ig Y29tbWFuZCBgaGwtbGluZS1tb2RlJy4iDQotICA6dHlwZSAnYm9vbGVhbikNCi0NCi0oZGVmY3Vz dG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5zZS1wYXJlbi1tYXRjaCBuaWwNCi0gICJVc2Ug bW9yZSBwcm9taW5lbnQgY29sb3VyIGZvciBwYXJlbnRoZXNpcyBtYXRjaGluZy4iDQotICA6dHlw ZSAnYm9vbGVhbikNCi0NCi0oZGVmY3VzdG9tIG1vZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3lu dGF4IG5pbA0KLSAgIlVzZSBsZXNzIHNhdHVyYXRlZCBjb2xvdXJzIGZvciBjb2RlIHN5bnRheCBo aWdobGlnaHRpbmcuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotKGRlZmN1c3RvbSBtb2R1cy12 aXZlbmRpLXRoZW1lLW5vLWxpbmstdW5kZXJsaW5lIG5pbA0KLSAgIkRvIG5vdCB1bmRlcmxpbmUg bGlua3MuIg0KLSAgOnR5cGUgJ2Jvb2xlYW4pDQotDQotOzs7IEludGVybmFsIGZ1bmN0aW9ucw0K LQ0KLTs7IEhlbHBlciBmdW5jdGlvbnMgdGhhdCBhcmUgbWVhbnQgdG8gZWFzZSB0aGUgaW1wbGVt ZW50YXRpb24gb2YgdGhlDQotOzsgYWJvdmUgY3VzdG9taXNhdGlvbiBvcHRpb25zLg0KLShkZWZ1 biBtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0ICgpDQotICAiQ29uZGl0aW9uYWwgdXNl IG9mIGEgaGVhdmllciB0ZXh0IHdlaWdodC4iDQotICAod2hlbiBtb2R1cy12aXZlbmRpLXRoZW1l LWJvbGQtY29uc3RydWN0cw0KLSAgICAobGlzdCA6aW5oZXJpdCAnYm9sZCkpKQ0KLQ0KLShkZWZ1 biBtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzICgpDQotICAiQ29uZGl0aW9uYWwgYXBw bGljYXRpb24gb2YgYGZpeGVkLXBpdGNoJyBpbmhlcml0YW5jZS4iDQotICAodW5sZXNzIG1vZHVz LXZpdmVuZGktdGhlbWUtbm8tbWl4ZWQtZm9udHMNCi0gICAgKGxpc3QgOmluaGVyaXQgJ2ZpeGVk LXBpdGNoKSkpDQotDQotKGRlZnVuIG1vZHVzLXZpdmVuZGktdGhlbWUtZnJpbmdlIChzdWJ0bGVi ZyBpbnRlbnNlYmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91bmQgY29sb3VycyBm b3IgZnJpbmdlcy4NCi1TVUJUTEVCRyBzaG91bGQgYmUgYSBzdWJ0bGUgZ3JleXNjYWxlIHZhbHVl LiAgSU5URU5TRUJHIG11c3QgYmUgYQ0KLW1vcmUgcHJvbm91bmNlZCBncmV5c2NhbGUgY29sb3Vy LiINCi0gIChwY2FzZSBtb2R1cy12aXZlbmRpLXRoZW1lLWZyaW5nZXMNCi0gICAgKCdpbnRlbnNl IChsaXN0IDpiYWNrZ3JvdW5kIGludGVuc2ViZykpDQotICAgICgnc3VidGxlIChsaXN0IDpiYWNr Z3JvdW5kIHN1YnRsZWJnKSkNCi0gICAgKF8gKGxpc3QgOmJhY2tncm91bmQgbmlsKSkpKQ0KLQ0K LShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLXByb21wdCAobWFpbmZnIHN1YnRsZWJnIHN1YnRs ZWZnIGludGVuc2ViZyBpbnRlbnNlZmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGJhY2tncm91 bmQgY29sb3VycyBmb3IgcHJvbXB0cy4NCi1NQUlORkcgaXMgdGhlIHByb21wdCdzIHN0YW5kYXJk IGZvcmVncm91bmQuICBTVUJUTEVCRyBzaG91bGQgYmUgYQ0KLXN1YnRsZSBhY2NlbnRlZCBiYWNr Z3JvdW5kIHRoYXQgd29ya3Mgd2l0aCBTVUJUTEVGRy4gIElOVEVOU0VCRw0KLW11c3QgYmUgYSBt b3JlIHByb25vdW5jZWQgYWNjZW50ZWQgY29sb3VyIHRoYXQgc2hvdWxkIGJlDQotY29tYmluYWJs ZSB3aXRoIElOVEVOU0VGRy4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHRz DQotICAgICgnaW50ZW5zZSAobGlzdCA6YmFja2dyb3VuZCBpbnRlbnNlYmcgOmZvcmVncm91bmQg aW50ZW5zZWZnKSkNCi0gICAgKCdzdWJ0bGUgKGxpc3QgOmJhY2tncm91bmQgc3VidGxlYmcgOmZv cmVncm91bmQgc3VidGxlZmcpKQ0KLSAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBuaWwgOmZvcmVn cm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLXBhcmVuIChu b3JtYWxiZyBpbnRlbnNlYmcpDQotICAiQ29uZGl0aW9uYWwgdXNlIG9mIGludGVuc2UgY29sb3Vy cyBmb3IgbWF0Y2hpbmcgcGFyZW50aGVzZXMuDQotTk9STUFMQkcgc2hvdWxkIHRoZSBzcGVjaWFs IHBhbGV0dGUgY29sb3VyICdiZy1wYXJlbi1tYXRjaCcgb3INCi1zb21ldGhpbmcgc2ltaWxhci4g IElOVEVOU0VCRyBtdXN0IGJlIGVhc2llciB0byBkaXNjZXJuIG5leHQgdG8NCi1vdGhlciBiYWNr Z3JvdW5kcywgc3VjaCBhcyB0aGUgc3BlY2lhbCBwYWxldHRlIGNvbG91cg0KLSdiZy1wYXJlbi1t YXRjaC1pbnRlbnNlJy4iDQotICAoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS1pbnRlbnNlLXBhcmVu LW1hdGNoDQotICAgICAgKGxpc3QgOmJhY2tncm91bmQgaW50ZW5zZWJnKQ0KLSAgICAobGlzdCA6 YmFja2dyb3VuZCBub3JtYWxiZykpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kIChub3JtYWwgZmFpbnQpDQotICAiQXBwbHkgZm9yZWdyb3VuZCB2YWx1 ZSB0byBjb2RlIHN5bnRheC4NCi1OT1JNQUwgaXMgdGhlIG1vcmUgc2F0dXJhdGVkIGNvbG91ciwg d2hpY2ggc2hvdWxkIGJlIHRoZSBkZWZhdWx0Lg0KLUZBSU5UIGlzIHRoZSBsZXNzIHNhdHVyYXRl ZCBjb2xvdXIuIg0KLSAgKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3ludGF4DQotICAg ICAgKGxpc3QgOmZvcmVncm91bmQgZmFpbnQpDQotICAgIChsaXN0IDpmb3JlZ3JvdW5kIG5vcm1h bCkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmctcCAoa2V5KQ0KLSAg IlF1ZXJ5IHN0eWxlIG9mIEtFWSBpbiBgbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5ncycuIg0K LSAgKGNkciAoYXNzb2Mga2V5IG1vZHVzLXZpdmVuZGktdGhlbWUtaGVhZGluZ3MpKSkNCi0NCi0o ZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5nIChsZXZlbCBmZyBmZy1hbHQgYmcgYm9y ZGVyKQ0KLSAgIkNvbmRpdGlvbmFsIHN0eWxlcyBmb3IgYG1vZHVzLXZpdmVuZGktdGhlbWUtaGVh ZGluZ3MnLg0KLQ0KLUxFVkVMIGlzIHRoZSBoZWFkaW5nJ3MgcG9zaXRpb24gaW4gdGhlaXIgb3Jk ZXIuICBGRyBpcyB0aGUNCi1kZWZhdWx0IHRleHQgY29sb3VyLiAgRkctQUxUIGlzIGFuIGFjY2Vu dGVkLCBtb3JlIHNhdHVyYXRlZCB2YWx1ZQ0KLXRoYW4gdGhlIGRlZmF1bHQuICBCRyBpcyBhIG51 YW5jZWQsIHR5cGljYWxseSBhY2NlbnRlZCwNCi1iYWNrZ3JvdW5kIHRoYXQgY2FuIHdvcmsgd2Vs bCB3aXRoIGVpdGhlciBvZiB0aGUgZm9yZWdyb3VuZA0KLXZhbHVlcy4gIEJPUkRFUiBpcyBhIGNv bG91ciB2YWx1ZSB0aGF0IGNvbWJpbmVzIHdlbGwgd2l0aCB0aGUNCi1iYWNrZ3JvdW5kIGFuZCBh bHRlcm5hdGl2ZSBmb3JlZ3JvdW5kLiINCi0gIChsZXQqICgoa2V5IChtb2R1cy12aXZlbmRpLXRo ZW1lLWhlYWRpbmctcCBgLGxldmVsKSkNCi0gICAgICAgICAoc3R5bGUgKG9yIGtleSAobW9kdXMt dml2ZW5kaS10aGVtZS1oZWFkaW5nLXAgdCkpKQ0KLSAgICAgICAgICh2YXIgKGlmIG1vZHVzLXZp dmVuZGktdGhlbWUtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3MNCi0gICAgICAgICAgICAgICAgICAn dmFyaWFibGUtcGl0Y2gNCi0gICAgICAgICAgICAgICAgJ2RlZmF1bHQpKSkNCi0gICAgKHBjYXNl IHN0eWxlDQotICAgICAgKCduby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpm b3JlZ3JvdW5kIGZnKSkNCi0gICAgICAoJ2xpbmUNCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChi b2xkICx2YXIpIDpmb3JlZ3JvdW5kIGZnIDpvdmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgnbGlu ZS1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpmb3JlZ3JvdW5kIGZnIDpv dmVybGluZSBib3JkZXIpKQ0KLSAgICAgICgncmFpbmJvdw0KLSAgICAgICAobGlzdCA6aW5oZXJp dCBgKGJvbGQgLHZhcikgOmZvcmVncm91bmQgZmctYWx0KSkNCi0gICAgICAoJ3JhaW5ib3ctbm8t Ym9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBmZy1hbHQpKQ0K LSAgICAgICgncmFpbmJvdy1saW5lDQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFy KSA6Zm9yZWdyb3VuZCBmZy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdyYWluYm93 LWxpbmUtbm8tYm9sZA0KLSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6Zm9yZWdyb3VuZCBm Zy1hbHQgOm92ZXJsaW5lIGJvcmRlcikpDQotICAgICAgKCdoaWdobGlnaHQNCi0gICAgICAgKGxp c3QgOmluaGVyaXQgYChib2xkICx2YXIpIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkN Ci0gICAgICAoJ2hpZ2hsaWdodC1uby1ib2xkDQotICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFy IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkNCi0gICAgICAoJ3JhaW5ib3ctaGlnaGxp Z2h0DQotICAgICAgIChsaXN0IDppbmhlcml0IGAoYm9sZCAsdmFyKSA6YmFja2dyb3VuZCBiZyA6 Zm9yZWdyb3VuZCBmZy1hbHQpKQ0KLSAgICAgICgncmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZA0K LSAgICAgICAobGlzdCA6aW5oZXJpdCBgLHZhciA6YmFja2dyb3VuZCBiZyA6Zm9yZWdyb3VuZCBm Zy1hbHQpKQ0KLSAgICAgICgnc2VjdGlvbg0KLSAgICAgICAoYXBwZW5kDQotICAgICAgICAoYW5k ICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAobGlz dCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tncm91bmQgYmcgOmZvcmVncm91bmQgZmcgOm92 ZXJsaW5lIGJvcmRlcikpKQ0KLSAgICAgICgnc2VjdGlvbi1uby1ib2xkDQotICAgICAgIChhcHBl bmQNCi0gICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0 KSkNCi0gICAgICAgIChsaXN0IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3Jv dW5kIGZnIDpvdmVybGluZSBib3JkZXIpKSkNCi0gICAgICAoJ3JhaW5ib3ctc2VjdGlvbg0KLSAg ICAgICAoYXBwZW5kDQotICAgICAgICAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAn KDpleHRlbmQgdCkpDQotICAgICAgICAobGlzdCA6aW5oZXJpdCBgKGJvbGQgLHZhcikgOmJhY2tn cm91bmQgYmcgOmZvcmVncm91bmQgZmctYWx0IDpvdmVybGluZSBib3JkZXIpKSkNCi0gICAgICAo J3JhaW5ib3ctc2VjdGlvbi1uby1ib2xkDQotICAgICAgIChhcHBlbmQNCi0gICAgICAgIChhbmQg KD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkNCi0gICAgICAgIChsaXN0 IDppbmhlcml0IGAsdmFyIDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnLWFsdCA6b3Zlcmxp bmUgYm9yZGVyKSkpDQotICAgICAgKF8NCi0gICAgICAgKGxpc3QgOmluaGVyaXQgYChib2xkICx2 YXIpIDpmb3JlZ3JvdW5kIGZnKSkpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1v cmctYmxvY2sgKGJnYmxrKQ0KLSAgIkNvbmRpdGlvbmFsbHkgc2V0IHRoZSBiYWNrZ3JvdW5kIG9m IE9yZyBibG9ja3MuDQotQkdCTEsgYXBwbGllcyB0byBhIGRpc3RpbmN0IG5ldXRyYWwgYmFja2dy b3VuZC4gIEVsc2UgYmxvY2tzIGhhdmUNCi1ubyBiYWNrZ3JvdW5kIG9mIHRoZWlyIG93biAodGhl IGRlZmF1bHQpLCBzbyB0aGV5IGxvb2sgdGhlIHNhbWUNCi1hcyB0aGUgcmVzdCBvZiB0aGUgYnVm ZmVyLg0KLQ0KLWBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGFsc28gYWNjZXB0cyBh IGByYWluYm93JyBvcHRpb24NCi13aGljaCBpcyBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgdG8gYG9y Zy1zcmMtYmxvY2stZmFjZXMnIChzZWUgdGhlDQotdGhlbWUncyBzb3VyY2UgY29kZSkuIg0KLSAg KGlmIChlcSBtb2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MgJ2dyZXlzY2FsZSkNCi0gICAg ICAoYXBwZW5kDQotICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICcoOmV4 dGVuZCB0KSkNCi0gICAgICAgKGxpc3QgOmJhY2tncm91bmQgYmdibGspKQ0KLSAgICAobGlzdCA6 YmFja2dyb3VuZCBuaWwpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxv Y2stZGVsaW0gKGJnYWNjZW50IGZnYWNjZW50IGJnIGZnKQ0KLSAgIkNvbmRpdGlvbmFsbHkgc2V0 IHRoZSBzdHlsZXMgb2YgT3JnIGJsb2NrIGRlbGltaXRlcnMuDQotQkcsIEZHLCBCR0FDQ0VOVCwg RkdBQ0NFTlQgYXBwbHkgYSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kDQotY29sb3VyIHJlc3Bl Y3RpdmVseS4NCi0NCi1UaGUgZm9ybWVyIHBhaXIgaXMgYSBncmV5c2NhbGUgY29tYmluYXRpb24g dGhhdCBzaG91bGQgYmUgbW9yZQ0KLWRpc3RpbmN0IHRoYW4gdGhlIGJhY2tncm91bmQgb2YgdGhl IGJsb2NrLiAgSXQgaXMgYXBwbGllZCB0byB0aGUNCi1kZWZhdWx0IHN0eWxlcyBvciB3aGVuIGBt b2R1cy12aXZlbmRpLXRoZW1lLW9yZy1ibG9ja3MnIGlzIHNldA0KLXRvIGBncmV5c2NhbGUnLg0K LQ0KLVRoZSBsYXR0ZXIgcGFpciBzaG91bGQgYmUgbW9yZSBzdWJ0bGUgdGhhbiB0aGUgYmFja2dy b3VuZCBvZiB0aGUNCi1ibG9jaywgYXMgaXQgaXMgdXNlZCB3aGVuIGBtb2R1cy12aXZlbmRpLXRo ZW1lLW9yZy1ibG9ja3MnIGlzDQotc2V0IHRvIGByYWluYm93Jy4iDQotICAocGNhc2UgbW9kdXMt dml2ZW5kaS10aGVtZS1vcmctYmxvY2tzDQotICAgICgnZ3JleXNjYWxlIChhcHBlbmQgKGFuZCAo Pj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkpDQotICAgICgn cmFpbmJvdyAobGlzdCA6YmFja2dyb3VuZCBiZ2FjY2VudCA6Zm9yZWdyb3VuZCBmZ2FjY2VudCkp DQotICAgIChfIChsaXN0IDpiYWNrZ3JvdW5kIGJnIDpmb3JlZ3JvdW5kIGZnKSkpKQ0KLQ0KLShk ZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLW1vZGUtbGluZS1hdHRycw0KLSAgICAoZmcgYmcgZmct YWx0IGJnLWFsdCBib3JkZXIgYm9yZGVyLTNkICZvcHRpb25hbCBhbHQtc3R5bGUgYm9yZGVyLXdp ZHRoIGZnLWRpc3RhbnQpDQotICAiQ29sb3VyIGNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXZpdmVu ZGktdGhlbWUtbW9kZS1saW5lJy4NCi0NCi1GRyBhbmQgQkcgYXJlIHRoZSBkZWZhdWx0IGNvbG91 cnMuICBGRy1BTFQgYW5kIEJHLUFMVCBhcmUgbWVhbnQNCi10byBhY2NvbW1vZGF0ZSB0aGUgb3B0 aW9ucyBmb3IgYSAzRCBtb2RlbGluZSBvciBhIGBtb29keScNCi1jb21wbGlhbnQgb25lLiAgQk9S REVSIGFwcGxpZXMgdG8gYWxsIHBlcm11dGF0aW9ucyBvZiB0aGUNCi1tb2RlbGluZSwgZXhjZXB0 IHRoZSB0aHJlZS1kaW1lbnNpb25hbCBlZmZlY3QsIHdoZXJlIEJPUkRFUi0zRCBpcw0KLXVzZWQg aW5zdGVhZC4NCi0NCi1PcHRpb25hbCBBTFQtU1RZTEUgYXBwbGllcyBhbiBhcHByb3ByaWF0ZSBz dHlsZSB0byB0aGUgbW9kZQ0KLWxpbmUncyBib3ggcHJvcGVydHkuDQotDQotT3B0aW9uYWwgQk9S REVSLVdJRFRIIHNwZWNpZmllcyBhbiBpbnRlZ2VyIGZvciB0aGUgd2lkdGggb2YgdGhlDQotcmVj dGFuZ2xlIHRoYXQgcHJvZHVjZXMgdGhlIGJveCBlZmZlY3QuDQotDQotT3B0aW9uYWwgRkctRElT VEFOVCBzaG91bGQgYmUgY2xvc2UgdG8gdGhlIG1haW4gYmFja2dyb3VuZA0KLXZhbHVlcy4gIEl0 IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYXMgYSBkaXN0YW50LWZvcmVncm91bmQNCi1wcm9wZXJ0 eS4iDQotICAocGNhc2UgbW9kdXMtdml2ZW5kaS10aGVtZS1tb2RlLWxpbmUNCi0gICAgKCczZA0K LSAgICAgYCg6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQNCi0gICAgICAg ICAgICAgICAgICAgOmJveCAoOmxpbmUtd2lkdGggLChvciBib3JkZXItd2lkdGggMSkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNvbG9yICxib3JkZXItM2QNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnN0eWxlICwoYW5kIGFsdC1zdHlsZSAn cmVsZWFzZWQtYnV0dG9uKSkpKQ0KLSAgICAoJ21vb2R5DQotICAgICBgKDpiYWNrZ3JvdW5kICxi Zy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCA6dW5kZXJsaW5lICxib3JkZXIgOm92ZXJsaW5lICxi b3JkZXINCi0gICAgICAgICAgICAgICAgICAgOmRpc3RhbnQtZm9yZWdyb3VuZCAsZmctZGlzdGFu dCkpDQotICAgIChfDQotICAgICBgKDpmb3JlZ3JvdW5kICxmZyA6YmFja2dyb3VuZCAsYmcgOmJv eCAsYm9yZGVyKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYgKGZnLW9u bHktYmcgZmctb25seS1mZyBtYWluYmcgbWFpbmZnIGFsdGJnIGFsdGZnKQ0KLSAgIkNvbG91ciBj b21iaW5hdGlvbnMgZm9yIGBtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmZzJy4NCi0NCi1GRy1PTkxZ LUJHIHNob3VsZCBiZSBzaW1pbGFyIG9yIHRoZSBzYW1lIGFzIHRoZSBtYWluIGJhY2tncm91bmQu DQotRkctT05MWS1GRyBzaG91bGQgYmUgYSBzYXR1cmF0ZWQgYWNjZW50IHZhbHVlIHRoYXQgY2Fu IGJlDQotY29tYmluZWQgd2l0aCB0aGUgZm9ybWVyLg0KLQ0KLU1BSU5CRyBtdXN0IGJlIG9uZSBv ZiB0aGUgZGVkaWNhdGVkIGJhY2tncm91bmRzIGZvciBkaWZmcyB3aGlsZQ0KLU1BSU5GRyBtdXN0 IGJlIHRoZSBzYW1lIGZvciB0aGUgZm9yZWdyb3VuZC4NCi0NCi1BTFRCRyBuZWVkcyB0byBiZSBh IHNsaWdodGx5IGFjY2VudGVkIGJhY2tncm91bmQgdGhhdCBpcyBtZWFudCB0bw0KLWJlIGNvbWJp bmVkIHdpdGggQUxURkcuICBCb3RoIG11c3QgYmUgbGVzcyBpbnRlbnNlIHRoYW4gTUFJTkJHDQot YW5kIE1BSU5GRyByZXNwZWN0aXZlbHkuIg0KLSAgKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhlbWUt ZGlmZnMNCi0gICAgKCdmZy1vbmx5IChsaXN0IDpiYWNrZ3JvdW5kIGZnLW9ubHktYmcgOmZvcmVn cm91bmQgZmctb25seS1mZykpDQotICAgICgnZGVzYXR1cmF0ZWQgKGxpc3QgOmJhY2tncm91bmQg YWx0YmcgOmZvcmVncm91bmQgYWx0ZmcpKQ0KLSAgICAoXyAobGlzdCA6YmFja2dyb3VuZCBtYWlu YmcgOmZvcmVncm91bmQgbWFpbmZnKSkpKQ0KLQ0KLShkZWZ1biBtb2R1cy12aXZlbmRpLXRoZW1l LXN0YW5kYXJkLWNvbXBsZXRpb25zIChtYWluZmcgc3VidGxlYmcgaW50ZW5zZWJnIGludGVuc2Vm ZykNCi0gICJDb21iaW5hdGlvbnMgZm9yIGBtb2R1cy12aXZlbmRpLXRoZW1lLWNvbXBsZXRpb25z Jy4NCi0NCi1NQUlORkcgaXMgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCB2YWx1ZS4gIFNVQlRMRUJH IGlzIGFuIGFjY2VudGVkDQotYmFja2dyb3VuZCB2YWx1ZSB0aGF0IGNhbiBiZSBjb21iaW5lZCB3 aXRoIE1BSU5GRy4gIElOVEVOU0VCRyBhbmQNCi1JTlRFTlNFRkcgYXJlIGFjY2VudGVkIGNvbG91 cnMgdGhhdCBhcmUgZGVzaWduZWQgdG8gYmUgdXNlZCBpbg0KLXRhbmRlbS4NCi0NCi1UaGVzZSBh cmUgaW50ZW5kZWQgZm9yIEljb21wbGV0ZSwgSWRvLCBhbmQgcmVsYXRlZC4iDQotICAocGNhc2Ug bW9kdXMtdml2ZW5kaS10aGVtZS1jb21wbGV0aW9ucw0KLSAgICAoJ29waW5pb25hdGVkIChsaXN0 IDpiYWNrZ3JvdW5kIGludGVuc2ViZyA6Zm9yZWdyb3VuZCBpbnRlbnNlZmcpKQ0KLSAgICAoJ21v ZGVyYXRlIChsaXN0IDpiYWNrZ3JvdW5kIHN1YnRsZWJnIDpmb3JlZ3JvdW5kIG1haW5mZykpDQot ICAgIChfIChsaXN0IDpmb3JlZ3JvdW5kIG1haW5mZykpKSkNCi0NCi0oZGVmdW4gbW9kdXMtdml2 ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucyAoc3VidGxlZmFjZSBpbnRlbnNlZmFjZSBhbHRm YWNlICZvcHRpb25hbCBhbHRmZyBib2xkKQ0KLSAgIkNvbWJpbmF0aW9ucyBmb3IgYG1vZHVzLXZp dmVuZGktdGhlbWUtY29tcGxldGlvbnMnLg0KLQ0KLVNVQlRMRUZBQ0UgYW5kIElOVEVOU0VGQUNF IGFyZSBjdXN0b20gdGhlbWUgZmFjZXMgdGhhdCBjb21iaW5lIGENCi1iYWNrZ3JvdW5kIGFuZCBm b3JlZ3JvdW5kIHZhbHVlLiAgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvDQotaXMgYSBt YXR0ZXIgb2YgZGVncmVlLg0KLQ0KLUFMVEZBQ0UgaXMgYSBjb21iaW5hdGlvbiBvZiBjb2xvdXJz IHRoYXQgcmVwcmVzZW50cyBhIGRlcGFydHVyZQ0KLWZyb20gdGhlIFVJJ3MgZGVmYXVsdCBhZXN0 aGV0aWNzLiAgT3B0aW9uYWwgQUxURkcgaXMgbWVhbnQgdG8gYmUNCi11c2VkIGluIHRhbmRlbSB3 aXRoIGl0Lg0KLQ0KLU9wdGlvbmFsIEJPTEQgd2lsbCBhcHBseSBhIGhlYXZpZXIgd2VpZ2h0IHRv IHRoZSB0ZXh0Lg0KLQ0KLVRoZXNlIGFyZSBpbnRlbmRlZCBmb3IgSGVsbSwgSXZ5LCBldGMuIg0K LSAgKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhlbWUtY29tcGxldGlvbnMNCi0gICAgKCdvcGluaW9u YXRlZCAobGlzdCA6aW5oZXJpdCAobGlzdCBhbHRmYWNlIGJvbGQpDQotICAgICAgICAgICAgICAg ICAgICAgICAgOmZvcmVncm91bmQgKG9yIGFsdGZnICd1bnNwZWNpZmllZCkpKQ0KLSAgICAoJ21v ZGVyYXRlIChsaXN0IDppbmhlcml0IChsaXN0IHN1YnRsZWZhY2UgYm9sZCkpKQ0KLSAgICAoXyAo bGlzdCA6aW5oZXJpdCAobGlzdCBpbnRlbnNlZmFjZSBib2xkKSkpKSkNCi0NCi0oZGVmdW4gbW9k dXMtdml2ZW5kaS10aGVtZS1zY2FsZSAoYW1vdW50KQ0KLSAgIlNjYWxlIGhlYWRpbmcgYnkgQU1P VU5ULg0KLQ0KLUFNT1VOVCBpcyBhIGN1c3RvbWlzYXRpb24gb3B0aW9uLiINCi0gICh3aGVuIG1v ZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtaGVhZGluZ3MNCi0gICAgKGxpc3QgOmhlaWdodCBhbW91 bnQpKSkNCi0NCi07OzsgQ29sb3VyIHBhbGV0dGUNCi0NCi07OyBEZWZpbmUgY29sb3VyIHBhbGV0 dGUuICBFYWNoIGNvbG91ciBtdXN0IGhhdmUgYSA+PSA3OjEgY29udHJhc3QNCi07OyByYXRpbyBy ZWxhdGl2ZSB0byB0aGUgZm9yZWdyb3VuZC9iYWNrZ3JvdW5kIGNvbG91ciBpdCBpcyByZW5kZXJl ZA0KLTs7IGFnYWluc3QuDQotOzsNCi07OyBUaGUgZGVzaWduIG9mIHRoZSBjb2xvdXIgcGFsZXR0 ZSBhcyBhIG1hY3JvIHRoYXQgbWFwcyBpdCB0byBmYWNlcyBpcw0KLTs7IGFkYXB0ZWQgZnJvbSB6 ZW5iZXJuLXRoZW1lLmVsLCBsYXN0IHNlZW4gYXQgY29tbWl0IDdkZDc5Njg6DQotOzsgaHR0cHM6 Ly9naXRodWIuY29tL2JiYXRzb3YvemVuYnVybi1lbWFjcw0KLShldmFsLWFuZC1jb21waWxlDQot ICAoZGVmY29uc3QgbW9kdXMtdml2ZW5kaS10aGVtZS1kZWZhdWx0LWNvbG9ycy1hbGlzdA0KLSAg ICAnKDs7IGJhc2UgdmFsdWVzDQotICAgICAgKCJiZy1tYWluIiAuICIjMDAwMDAwIikgKCJmZy1t YWluIiAuICIjZmZmZmZmIikNCi0gICAgICAoImJnLWFsdCIgLiAiIzE4MWEyMCIpICgiZmctYWx0 IiAuICIjYThhOGE4IikNCi0gICAgICAoImJnLWRpbSIgLiAiIzExMGIxMSIpICgiZmctZGltIiAu ICIjZTBlNmYwIikNCi0gICAgICA7OyBzcGVjaWZpY2FsbHkgZm9yIG9uL29mZiBzdGF0ZXMgKGUu Zy4gYG1vZGUtbGluZScpDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdp dGggdGhlbXNlbHZlcw0KLSAgICAgICgiYmctYWN0aXZlIiAuICIjMzIzMjMyIikgKCJmZy1hY3Rp dmUiIC4gIiNmNGY0ZjQiKQ0KLSAgICAgICgiYmctaW5hY3RpdmUiIC4gIiMxZTFlMWUiKSAoImZn LWluYWN0aXZlIiAuICIjYmZjMGM0IikNCi0gICAgICA7OyBzcGVjaWFsIGJhc2UgdmFsdWVzLCB1 c2VkIG9ubHkgZm9yIGNhc2VzIHdoZXJlIHRoZSBhYm92ZQ0KLSAgICAgIDs7IGZnLSogb3IgYmct KiBjYW5ub3Qgb3Igc2hvdWxkIG5vdCBiZSB1c2VkICh0byBhdm9pZCBjb25mdXNpb24pDQotICAg ICAgOzsgbXVzdCBiZSBjb21iaW5lZCB3aXRoOiB7ZmcsYmd9LXttYWluLGFsdCxkaW19DQotICAg ICAgKCJiZy1zcGVjaWFsLWNvbGQiIC4gIiMyMDM0NDgiKSAoImZnLXNwZWNpYWwtY29sZCIgLiAi I2M2ZWFmZiIpDQotICAgICAgKCJiZy1zcGVjaWFsLW1pbGQiIC4gIiMwMDMyMmUiKSAoImZnLXNw ZWNpYWwtbWlsZCIgLiAiI2JmZWJlMCIpDQotICAgICAgKCJiZy1zcGVjaWFsLXdhcm0iIC4gIiMz ODJmMjciKSAoImZnLXNwZWNpYWwtd2FybSIgLiAiI2Y4ZGVjMCIpDQotICAgICAgKCJiZy1zcGVj aWFsLWNhbG0iIC4gIiMzOTJhNDgiKSAoImZnLXNwZWNpYWwtY2FsbSIgLiAiI2ZiZDZmNCIpDQot ICAgICAgOzsgc3R5bGVzIGZvciB0aGUgbWFpbiBjb25zdHJ1Y3RzDQotICAgICAgOzsNCi0gICAg ICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWluJywgYGJnLWFsdCcsIGBiZy1kaW0n DQotICAgICAgKCJyZWQiIC4gIiNmZjgwNTkiKSAoImdyZWVuIiAuICIjNDRiYzQ0IikNCi0gICAg ICAoInllbGxvdyIgLiAiI2VlY2MwMCIpICgiYmx1ZSIgLiAiIzJmYWZmZiIpDQotICAgICAgKCJt YWdlbnRhIiAuICIjZmVhY2QwIikgKCJjeWFuIiAuICIjMDBkM2QwIikNCi0gICAgICA7OyBzdHls ZXMgZm9yIGNvbW1vbiwgYnV0IHN0aWxsIHNwZWNpYWxpc2VkIGNvbnN0cnVjdHMNCi0gICAgICA7 Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0Jywg YGJnLWRpbScNCi0gICAgICAoInJlZC1hbHQiIC4gIiNmNDkyM2IiKSAoImdyZWVuLWFsdCIgLiAi IzgwZDIwMCIpDQotICAgICAgKCJ5ZWxsb3ctYWx0IiAuICIjY2ZkZjMwIikgKCJibHVlLWFsdCIg LiAiIzc5YThmZiIpDQotICAgICAgKCJtYWdlbnRhLWFsdCIgLiAiI2Y3OGZlNyIpICgiY3lhbi1h bHQiIC4gIiM0YWU4ZmMiKQ0KLSAgICAgIDs7IHNhbWUgcHVycG9zZSBhcyBhYm92ZSwganVzdCBz bGlnaHQgZGlmZmVyZW5jZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQg d2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScNCi0gICAgICAoInJlZC1hbHQtb3Ro ZXIiIC4gIiNmZjk5NzciKSAoImdyZWVuLWFsdC1vdGhlciIgLiAiIzAwY2Q2OCIpDQotICAgICAg KCJ5ZWxsb3ctYWx0LW90aGVyIiAuICIjZjBjZTQzIikgKCJibHVlLWFsdC1vdGhlciIgLiAiIzAw YmNmZiIpDQotICAgICAgKCJtYWdlbnRhLWFsdC1vdGhlciIgLiAiI2I2YTBmZiIpICgiY3lhbi1h bHQtb3RoZXIiIC4gIiM2YWU0YjkiKQ0KLSAgICAgIDs7IHN0eWxlcyBmb3IgZGVzYXR1cmF0ZWQg Zm9yZWdyb3VuZCB0ZXh0LCBpbnRlbmRlZCBmb3IgdXNlIHdpdGgNCi0gICAgICA7OyB0aGUgYG1v ZHVzLXZpdmVuZGktdGhlbWUtZmFpbnQtc3ludGF4JyBvcHRpb24NCi0gICAgICA7Ow0KLSAgICAg IDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0JywgYGJnLWRpbScN Ci0gICAgICAoInJlZC1mYWludCIgLiAiI2ZmYTBhMCIpICgiZ3JlZW4tZmFpbnQiIC4gIiM4OGNm ODgiKQ0KLSAgICAgICgieWVsbG93LWZhaW50IiAuICIjZDJiNTgwIikgKCJibHVlLWZhaW50IiAu ICIjOTJiYWZmIikNCi0gICAgICAoIm1hZ2VudGEtZmFpbnQiIC4gIiNlMGIyZDYiKSAoImN5YW4t ZmFpbnQiIC4gIiNhMGJmZGYiKQ0KLQ0KLSAgICAgICgicmVkLWFsdC1mYWludCIgLiAiI2Y1YWE4 MCIpICgiZ3JlZW4tYWx0LWZhaW50IiAuICIjYThjZjg4IikNCi0gICAgICAoInllbGxvdy1hbHQt ZmFpbnQiIC4gIiNjYWJmNzciKSAoImJsdWUtYWx0LWZhaW50IiAuICIjYTRiMGZmIikNCi0gICAg ICAoIm1hZ2VudGEtYWx0LWZhaW50IiAuICIjZWY5ZmU0IikgKCJjeWFuLWFsdC1mYWludCIgLiAi IzkwYzRlZCIpDQotDQotICAgICAgKCJyZWQtYWx0LW90aGVyLWZhaW50IiAuICIjZmY5ZmJmIikg KCJncmVlbi1hbHQtb3RoZXItZmFpbnQiIC4gIiM4OGNmYWYiKQ0KLSAgICAgICgieWVsbG93LWFs dC1vdGhlci1mYWludCIgLiAiI2QwYmE5NSIpICgiYmx1ZS1hbHQtb3RoZXItZmFpbnQiIC4gIiM4 ZmM1ZmYiKQ0KLSAgICAgICgibWFnZW50YS1hbHQtb3RoZXItZmFpbnQiIC4gIiNkMGI0ZmYiKSAo ImN5YW4tYWx0LW90aGVyLWZhaW50IiAuICIjYTRkMGJiIikNCi0gICAgICA7OyBzdHlsZXMgZm9y IGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZlcnkgc3VidGxlLCB5ZXQgYWNjZW50ZWQNCi0gICAg ICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLW1haW4nLCBgYmctYWx0 JywgYGJnLWRpbScgb3IgYW55IG9mDQotICAgICAgOzsgdGhlICJudWFuY2VkIiBiYWNrZ3JvdW5k cw0KLSAgICAgICgicmVkLW51YW5jZWQiIC4gIiNmZmNjY2MiKSAoImdyZWVuLW51YW5jZWQiIC4g IiNiOGUyYjgiKQ0KLSAgICAgICgieWVsbG93LW51YW5jZWQiIC4gIiNkZmRmYjAiKSAoImJsdWUt bnVhbmNlZCIgLiAiI2JmZDlmZiIpDQotICAgICAgKCJtYWdlbnRhLW51YW5jZWQiIC4gIiNlNWNm ZWYiKSAoImN5YW4tbnVhbmNlZCIgLiAiI2E4ZTVlNSIpDQotICAgICAgOzsgc3R5bGVzIGZvciBz bGlnaHRseSBhY2NlbnRlZCBiYWNrZ3JvdW5kDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJl IGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSBhYm92ZSBmb3JlZ3JvdW5kIHZhbHVlcw0KLSAgICAg ICgicmVkLW51YW5jZWQtYmciIC4gIiMyYzA2MTQiKSAoImdyZWVuLW51YW5jZWQtYmciIC4gIiMw MDE5MDQiKQ0KLSAgICAgICgieWVsbG93LW51YW5jZWQtYmciIC4gIiMyMjEwMDAiKSAoImJsdWUt bnVhbmNlZC1iZyIgLiAiIzBmMGUzOSIpDQotICAgICAgKCJtYWdlbnRhLW51YW5jZWQtYmciIC4g IiMyMzA2MzEiKSAoImN5YW4tbnVhbmNlZC1iZyIgLiAiIzA0MTUyOSIpDQotICAgICAgOzsgc3R5 bGVzIGZvciBlbGVtZW50cyB0aGF0IHNob3VsZCBkcmF3IGF0dGVudGlvbiB0byB0aGVtc2VsdmVz DQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBiZy1tYWluJw0K LSAgICAgICgicmVkLWludGVuc2UiIC4gIiNmYjY4NTkiKSAoImdyZWVuLWludGVuc2UiIC4gIiMw MGZjNTAiKQ0KLSAgICAgICgieWVsbG93LWludGVuc2UiIC4gIiNmZmRkMDAiKSAoImJsdWUtaW50 ZW5zZSIgLiAiIzAwYTJmZiIpDQotICAgICAgKCJtYWdlbnRhLWludGVuc2UiIC4gIiNmZjhiZDQi KSAoImN5YW4taW50ZW5zZSIgLiAiIzMwZmZjMCIpDQotICAgICAgOzsgc3R5bGVzIGZvciBiYWNr Z3JvdW5kIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIHZpc2libGUgeWV0DQotICAgICAgOzsgc3Vi dGxlDQotICAgICAgOzsNCi0gICAgICA7OyBtdXN0IGJlIGNvbWJpbmVkIHdpdGg6IGBmZy1kaW0n DQotICAgICAgKCJyZWQtc3VidGxlLWJnIiAuICIjNzYyNDIyIikgKCJncmVlbi1zdWJ0bGUtYmci IC4gIiMyZjRhMDAiKQ0KLSAgICAgICgieWVsbG93LXN1YnRsZS1iZyIgLiAiIzYwNDIwMCIpICgi Ymx1ZS1zdWJ0bGUtYmciIC4gIiMxMDM4N2MiKQ0KLSAgICAgICgibWFnZW50YS1zdWJ0bGUtYmci IC4gIiM0OTM2NmUiKSAoImN5YW4tc3VidGxlLWJnIiAuICIjMDA0MTVlIikNCi0gICAgICA7OyBz dHlsZXMgZm9yIGJhY2tncm91bmQgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZSBhbmQN Ci0gICAgICA7OyBkaXN0aW5ndWlzaGFibGUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUg Y29tYmluZWQgd2l0aDogYGZnLW1haW4nDQotICAgICAgKCJyZWQtaW50ZW5zZS1iZyIgLiAiI2E0 MjAyYSIpICgiZ3JlZW4taW50ZW5zZS1iZyIgLiAiIzAwNjgwMCIpDQotICAgICAgKCJ5ZWxsb3ct aW50ZW5zZS1iZyIgLiAiIzg3NDkwMCIpICgiYmx1ZS1pbnRlbnNlLWJnIiAuICIjMmE0MGI4IikN Ci0gICAgICAoIm1hZ2VudGEtaW50ZW5zZS1iZyIgLiAiIzcwNDJhMiIpICgiY3lhbi1pbnRlbnNl LWJnIiAuICIjMDA1Zjg4IikNCi0gICAgICA7OyBzdHlsZXMgZm9yIHJlZmluZWQgY29udGV4dHMg d2hlcmUgYm90aCB0aGUgZm9yZWdyb3VuZCBhbmQgdGhlDQotICAgICAgOzsgYmFja2dyb3VuZCBu ZWVkIHRvIGhhdmUgdGhlIHNhbWUvc2ltaWxhciBodWUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11 c3QgYmUgY29tYmluZWQgd2l0aCB0aGVtc2VsdmVzIE9SIHRoZSBmb3JlZ3JvdW5kcyBjYW4gYmUN Ci0gICAgICA7OyBjb21iaW5lZCB3aXRoIGFueSBvZiB0aGUgYmFzZSBiYWNrZ3JvdW5kcw0KLSAg ICAgICgicmVkLXJlZmluZS1iZyIgLiAiIzc3MDAyYSIpICgicmVkLXJlZmluZS1mZyIgLiAiI2Zm YjlhYiIpDQotICAgICAgKCJncmVlbi1yZWZpbmUtYmciIC4gIiMwMDQyMmEiKSAoImdyZWVuLXJl ZmluZS1mZyIgLiAiIzlmZjBjZiIpDQotICAgICAgKCJ5ZWxsb3ctcmVmaW5lLWJnIiAuICIjNjkz MjAwIikgKCJ5ZWxsb3ctcmVmaW5lLWZnIiAuICIjZTJkOTgwIikNCi0gICAgICAoImJsdWUtcmVm aW5lLWJnIiAuICIjMjQyNjc5IikgKCJibHVlLXJlZmluZS1mZyIgLiAiIzhlYzZmZiIpDQotICAg ICAgKCJtYWdlbnRhLXJlZmluZS1iZyIgLiAiIzcxMjA2YSIpICgibWFnZW50YS1yZWZpbmUtZmci IC4gIiNmZmNhZjAiKQ0KLSAgICAgICgiY3lhbi1yZWZpbmUtYmciIC4gIiMwMDQwNjUiKSAoImN5 YW4tcmVmaW5lLWZnIiAuICIjOGFlNGYyIikNCi0gICAgICA7OyBzdHlsZXMgdGhhdCBhcmUgbWVh bnQgZXhjbHVzaXZlbHkgZm9yIHRoZSBtb2RlIGxpbmUNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11 c3QgYmUgY29tYmluZWQgd2l0aDogYGJnLWFjdGl2ZScsIGBiZy1pbmFjdGl2ZScNCi0gICAgICAo InJlZC1hY3RpdmUiIC4gIiNmZmE3YmEiKSAoImdyZWVuLWFjdGl2ZSIgLiAiIzcwZDczZiIpDQot ICAgICAgKCJ5ZWxsb3ctYWN0aXZlIiAuICIjZGJiZTVmIikgKCJibHVlLWFjdGl2ZSIgLiAiIzM0 Y2ZmZiIpDQotICAgICAgKCJtYWdlbnRhLWFjdGl2ZSIgLiAiI2Q1YjFmZiIpICgiY3lhbi1hY3Rp dmUiIC4gIiMwMGQ4YjQiKQ0KLSAgICAgIDs7IHN0eWxlcyB0aGF0IGFyZSBtZWFudCBleGNsdXNp dmVseSBmb3IgdGhlIGZyaW5nZXMNCi0gICAgICA7Ow0KLSAgICAgIDs7IG11c3QgYmUgY29tYmlu ZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICAoInJlZC1mcmluZ2UtYmciIC4gIiM4ZjFmNGIiKSAo ImdyZWVuLWZyaW5nZS1iZyIgLiAiIzAwNjcwMCIpDQotICAgICAgKCJ5ZWxsb3ctZnJpbmdlLWJn IiAuICIjNmY0ZjAwIikgKCJibHVlLWZyaW5nZS1iZyIgLiAiIzNmMzNhZiIpDQotICAgICAgKCJt YWdlbnRhLWZyaW5nZS1iZyIgLiAiIzZmMmY4OSIpICgiY3lhbi1mcmluZ2UtYmciIC4gIiMwMDRm OGYiKQ0KLSAgICAgIDs7IHN0eWxlcyByZXNlcnZlZCBmb3Igc3BlY2lmaWMgZmFjZXMNCi0gICAg ICA7Ow0KLSAgICAgIDs7IGBiZy1obC1saW5lJyBpcyBiZXR3ZWVuIGBiZy1kaW0nIGFuZCBgYmct YWx0Jywgc28gaXQgc2hvdWxkDQotICAgICAgOzsgd29yayB3aXRoIGFsbCBhY2NlbnRzIHRoYXQg Y292ZXIgdGhvc2UgdHdvLCBwbHVzIGBiZy1tYWluJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJn LWhsLWFsdCcgYW5kIGBiZy1obC1hbHQtaW50ZW5zZScgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aGVu IG5vDQotICAgICAgOzsgb3RoZXIgZ3JleXNjYWxlIG9yIGZhaXJseSBuZXV0cmFsIGJhY2tncm91 bmQgaXMgYXZhaWxhYmxlIHRvDQotICAgICAgOzsgcHJvcGVybHkgZHJhdyBhdHRlbnRpb24gdG8g YSBnaXZlbiBjb25zdHJ1Y3QNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBiZy1oZWFkZXInIGlzIGJl dHdlZW4gYGJnLWFjdGl2ZScgYW5kIGBiZy1pbmFjdGl2ZScsIHNvIGl0DQotICAgICAgOzsgY2Fu IGJlIGNvbWJpbmVkIHdpdGggYW55IG9mIHRoZSAiYWN0aXZlIiB2YWx1ZXMsIHBsdXMgdGhlDQot ICAgICAgOzsgInNwZWNpYWwiIGFuZCBiYXNlIGZvcmVncm91bmQgY29sb3Vycw0KLSAgICAgIDs7 DQotICAgICAgOzsgYGJnLXBhcmVuLW1hdGNoJywgYGJnLXBhcmVuLW1hdGNoLWludGVuc2UnLCBg YmctcmVnaW9uJyBhbmQNCi0gICAgICA7OyBgYmctdGFiLWFjdGl2ZScgbXVzdCBiZSBjb21iaW5l ZCB3aXRoIGBmZy1tYWluJywgd2hpbGUNCi0gICAgICA7OyBgYmctdGFiLWluYWN0aXZlJyBzaG91 bGQgYmUgY29tYmluZWQgd2l0aCBgZmctZGltJw0KLSAgICAgIDs7DQotICAgICAgOzsgYGJnLXRh Yi1iYXInIGlzIG9ubHkgaW50ZW5kZWQgZm9yIHRoZSBiYXIgdGhhdCBob2xkcyB0aGUgdGFicyBh bmQNCi0gICAgICA7OyBjYW4gb25seSBiZSBjb21iaW5lZCB3aXRoIGBmZy1tYWluJw0KLSAgICAg IDs7DQotICAgICAgOzsgYGZnLXRhYi1hY3RpdmUnIGlzIG1lYW50IHRvIGJlIGNvbWJpbmVkIHdp dGggYGJnLXRhYi1hY3RpdmUnLA0KLSAgICAgIDs7IHRob3VnaCBvbmx5IGZvciBzdHlsaW5nIHNw ZWNpYWwgZWxlbWVudHMsIHN1Y2ggYXMgdW5kZXJsaW5pbmcNCi0gICAgICA7OyB0aGUgY3VycmVu dCB0YWINCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QnIGFu ZCBgZmctZXNjYXBlLWNoYXItYmFja3NsYXNoJyBjYW4NCi0gICAgICA7OyBiZSBjb21iaW5lZCBg YmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0Jw0KLSAgICAgIDs7DQotICAgICAgOzsgYGZnLWxh bmctZXJyb3InLCBgZmctbGFuZy13YXJuaW5nJywgYGZnLWxhbmctbm90ZScgY2FuIGJlDQotICAg ICAgOzsgY29tYmluZWQgd2l0aCBgYmctbWFpbicsIGBiZy1kaW0nLCBgYmctYWx0Jw0KLSAgICAg IDs7DQotICAgICAgOzsgYGZnLW1hcmstc2VsJywgYGZnLW1hcmstZGVsJywgYGZnLW1hcmstYWx0 JyBjYW4gYmUgY29tYmluZWQNCi0gICAgICA7OyB3aXRoIGBiZy1tYWluJywgYGJnLWRpbScsIGBi Zy1hbHQnLCBgYmctaGwtbGluZScNCi0gICAgICA7Ow0KLSAgICAgIDs7IGBmZy11bmZvY3VzZWQn IG11c3QgYmUgY29tYmluZWQgd2l0aCBgZmctbWFpbicNCi0gICAgICA7Ow0KLSAgICAgIDs7IHRo ZSB3aW5kb3cgZGl2aWRlciBjb2xvdXJzIGFwcGx5IHRvIGZhY2VzIHdpdGgganVzdCBhbiBmZyB2 YWx1ZQ0KLSAgICAgIDs7DQotICAgICAgOzsgYWxsIHBhaXJzIGFyZSBjb21iaW5hYmxlIHdpdGgg dGhlbXNlbHZlcw0KLSAgICAgICgiYmctaGwtbGluZSIgLiAiIzE1MTgyMyIpDQotICAgICAgKCJi Zy1obC1saW5lLWludGVuc2UiIC4gIiMyZjJmMmYiKQ0KLSAgICAgICgiYmctaGwtYWx0IiAuICIj MTgxNzMyIikNCi0gICAgICAoImJnLWhsLWFsdC1pbnRlbnNlIiAuICIjMjgyZTQ2IikNCi0gICAg ICAoImJnLXBhcmVuLW1hdGNoIiAuICIjNWYzNjJmIikNCi0gICAgICAoImJnLXBhcmVuLW1hdGNo LWludGVuc2UiIC4gIiM3NDE2YjUiKQ0KLSAgICAgICgiYmctcmVnaW9uIiAuICIjM2MzYzNjIikN Ci0NCi0gICAgICAoImJnLXRhYi1iYXIiIC4gIiMyYzJjMmMiKQ0KLSAgICAgICgiYmctdGFiLWFj dGl2ZSIgLiAiIzBlMGUwZSIpDQotICAgICAgKCJiZy10YWItaW5hY3RpdmUiIC4gIiMzZDNkM2Qi KQ0KLSAgICAgICgiZmctdGFiLWFjdGl2ZSIgLiAiIzVhYzNjZiIpDQotDQotICAgICAgKCJmZy1l c2NhcGUtY2hhci1jb25zdHJ1Y3QiIC4gIiNlN2E1OWEiKQ0KLSAgICAgICgiZmctZXNjYXBlLWNo YXItYmFja3NsYXNoIiAuICIjYWJhYjAwIikNCi0NCi0gICAgICAoImZnLWxhbmctZXJyb3IiIC4g IiNlZjg2OTAiKQ0KLSAgICAgICgiZmctbGFuZy13YXJuaW5nIiAuICIjYjBhYTAwIikNCi0gICAg ICAoImZnLWxhbmctbm90ZSIgLiAiIzlkOWRlZiIpDQotDQotICAgICAgKCJmZy13aW5kb3ctZGl2 aWRlci1pbm5lciIgLiAiIzY0NjQ2NCIpDQotICAgICAgKCJmZy13aW5kb3ctZGl2aWRlci1vdXRl ciIgLiAiIzk2OTY5NiIpDQotDQotICAgICAgKCJmZy11bmZvY3VzZWQiIC4gIiM5Mzk1OWIiKQ0K LQ0KLSAgICAgICgiYmctaGVhZGVyIiAuICIjMjEyMTIxIikgKCJmZy1oZWFkZXIiIC4gIiNkZGRk ZGQiKQ0KLQ0KLSAgICAgICgiYmctd2hpdGVzcGFjZSIgLiAiIzE3MDAxNiIpICgiZmctd2hpdGVz cGFjZSIgLiAiI2E0OTU5ZiIpDQotDQotICAgICAgKCJiZy1kaWZmLWhlYWRpbmciIC4gIiMzMDQ0 NjYiKSAoImZnLWRpZmYtaGVhZGluZyIgLiAiI2RhZGZmZSIpDQotICAgICAgKCJiZy1kaWZmLWFk ZGVkIiAuICIjMGEyODBhIikgKCJmZy1kaWZmLWFkZGVkIiAuICIjOTRiYTk0IikNCi0gICAgICAo ImJnLWRpZmYtY2hhbmdlZCIgLiAiIzJhMjAwMCIpICgiZmctZGlmZi1jaGFuZ2VkIiAuICIjYjBi YTlmIikNCi0gICAgICAoImJnLWRpZmYtcmVtb3ZlZCIgLiAiIzQwMTYwZiIpICgiZmctZGlmZi1y ZW1vdmVkIiAuICIjYzZhZGFhIikNCi0NCi0gICAgICAoImJnLWRpZmYtcmVmaW5lLWFkZGVkIiAu ICIjMDA1YTM2IikgKCJmZy1kaWZmLXJlZmluZS1hZGRlZCIgLiAiI2UwZjZlMCIpDQotICAgICAg KCJiZy1kaWZmLXJlZmluZS1jaGFuZ2VkIiAuICIjNTg1ODAwIikgKCJmZy1kaWZmLXJlZmluZS1j aGFuZ2VkIiAuICIjZmZmZmNjIikNCi0gICAgICAoImJnLWRpZmYtcmVmaW5lLXJlbW92ZWQiIC4g IiM4NTI4MjgiKSAoImZnLWRpZmYtcmVmaW5lLXJlbW92ZWQiIC4gIiNmZmQ5ZWIiKQ0KLQ0KLSAg ICAgICgiYmctZGlmZi1mb2N1cy1hZGRlZCIgLiAiIzIwM2QyMCIpICgiZmctZGlmZi1mb2N1cy1h ZGRlZCIgLiAiI2I0ZGRiNCIpDQotICAgICAgKCJiZy1kaWZmLWZvY3VzLWNoYW5nZWQiIC4gIiM0 YTNhMTAiKSAoImZnLWRpZmYtZm9jdXMtY2hhbmdlZCIgLiAiI2QwZGFhZiIpDQotICAgICAgKCJi Zy1kaWZmLWZvY3VzLXJlbW92ZWQiIC4gIiM1ZTI1MjYiKSAoImZnLWRpZmYtZm9jdXMtcmVtb3Zl ZCIgLiAiI2VlYmRiYSIpDQotDQotICAgICAgKCJiZy1kaWZmLW5ldXRyYWwtMCIgLiAiIzU3NTc1 NyIpICgiZmctZGlmZi1uZXV0cmFsLTAiIC4gIiNmY2ZjZmMiKQ0KLSAgICAgICgiYmctZGlmZi1u ZXV0cmFsLTEiIC4gIiM0NTQ1NDUiKSAoImZnLWRpZmYtbmV1dHJhbC0xIiAuICIjZGRkZGRkIikN Ci0gICAgICAoImJnLWRpZmYtbmV1dHJhbC0yIiAuICIjMzEzMTMxIikgKCJmZy1kaWZmLW5ldXRy YWwtMiIgLiAiI2JmYmZiZiIpDQotDQotICAgICAgKCJiZy1tYXJrLXNlbCIgLiAiIzAwMmYyZiIp ICgiZmctbWFyay1zZWwiIC4gIiM2MGNmYTIiKQ0KLSAgICAgICgiYmctbWFyay1kZWwiIC4gIiM1 YTAwMDAiKSAoImZnLW1hcmstZGVsIiAuICIjZmY5OWFhIikNCi0gICAgICAoImJnLW1hcmstYWx0 IiAuICIjM2YyMjEwIikgKCJmZy1tYXJrLWFsdCIgLiAiI2YwYWEyMCIpKQ0KLSAgICAiVGhlIGVu dGlyZSBwYWxldHRlIG9mIGBtb2R1cy12aXZlbmRpLXRoZW1lJy4NCi1FYWNoIGVsZW1lbnQgaGFz IHRoZSBmb3JtIChOQU1FIC4gSEVYKS4iKQ0KLQ0KLSAgKGRlZmN1c3RvbSBtb2R1cy12aXZlbmRp LXRoZW1lLW92ZXJyaWRlLWNvbG9ycy1hbGlzdCAnKCkNCi0gICAgIkFzc29jaWF0aW9uIGxpc3Qg b2YgcGFsZXR0ZSBjb2xvdXIgb3ZlcnJpZGVzLg0KLVZhbHVlcyBjYW4gYmUgbWFwcGVkIHRvIHZh cmlhYmxlcywgdXNpbmcgdGhlIHNhbWUgc3ludGF4IGFzIHRoZQ0KLW9uZSBwcmVzZW50IGluIGBt b2R1cy12aXZlbmRpLXRoZW1lLWRlZmF1bHQtY29sb3JzLWFsaXN0Jy4NCi0NCi1UaGlzIGlzIG9u bHkgbWVhbnQgZm9yIGRvLWl0LXlvdXJzZWxmIHVzYWdlLCB3aXRoIHRoZQ0KLXVuZGVyc3RhbmRp bmcgdGhhdCB0aGUgdXNlciBpcyByZXNwb25zaWJsZSBmb3IgdGhlIHJlc3VsdGluZw0KLWNvbnRy YXN0IHJhdGlvIGJldHdlZW4gbmV3IGFuZCBleGlzdGluZyBjb2xvdXJzLiINCi0gICAgOnR5cGUg JyhhbGlzdA0KLSAgICAgICAgICAgIDprZXktdHlwZSAoc3RyaW5nIDp0YWcgIk5hbWUiKQ0KLSAg ICAgICAgICAgIDp2YWx1ZS10eXBlIChzdHJpbmcgOnRhZyAiIEhleCIpKSkNCi0NCi0gIChkZWZt YWNybyBtb2R1cy12aXZlbmRpLXRoZW1lLXdpdGgtY29sb3ItdmFyaWFibGVzICgmcmVzdCBib2R5 KQ0KLSAgICAiYGxldCcgYmluZCBhbGwgY29sb3VycyBhcm91bmQgQk9EWS4NCi1BbHNvIGJpbmQg YGNsYXNzJyB0byAoKGNsYXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OSkpLiINCi0gICAgKGRlY2xh cmUgKGluZGVudCAwKSkNCi0gICAgYChsZXQgKChjbGFzcyAnKChjbGFzcyBjb2xvcikgKG1pbi1j b2xvcnMgODkpKSkNCi0gICAgICAgICAgICxAKG1hcGNhciAobGFtYmRhIChjb25zKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgKGxpc3QgKGludGVybiAoY2FyIGNvbnMpKSAoY2RyIGNvbnMpKSkN Ci0gICAgICAgICAgICAgICAgICAgICAoYXBwZW5kIG1vZHVzLXZpdmVuZGktdGhlbWUtZGVmYXVs dC1jb2xvcnMtYWxpc3QNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVzLXZpdmVu ZGktdGhlbWUtb3ZlcnJpZGUtY29sb3JzLWFsaXN0KSkNCi0gICAgICAgICAgIDs7IHNpbXBsZSBj b25kaXRpb25hbCBzdHlsZXMgdGhhdCBldmFsdWF0ZSB1c2VyLWZhY2luZw0KLSAgICAgICAgICAg OzsgY3VzdG9taXNhdGlvbiBvcHRpb25zDQotICAgICAgICAgICAobW9kdXMtdGhlbWUtc2xhbnQN Ci0gICAgICAgICAgICAoaWYgbW9kdXMtdml2ZW5kaS10aGVtZS1zbGFudGVkLWNvbnN0cnVjdHMg J2l0YWxpYyAnbm9ybWFsKSkNCi0gICAgICAgICAgIChtb2R1cy10aGVtZS12YXJpYWJsZS1waXRj aA0KLSAgICAgICAgICAgIChpZiBtb2R1cy12aXZlbmRpLXRoZW1lLXZhcmlhYmxlLXBpdGNoLWhl YWRpbmdzICd2YXJpYWJsZS1waXRjaCAnZGVmYXVsdCkpKQ0KLSAgICAgICAsQGJvZHkpKSkNCi0N Ci0MDQotDQotOzs7IEZhY2VzDQorKHJlcXVpcmUtdGhlbWUgJ21vZHVzLXRoZW1lcykNCiANCi0o bW9kdXMtdml2ZW5kaS10aGVtZS13aXRoLWNvbG9yLXZhcmlhYmxlcw0KLSAgKGN1c3RvbS10aGVt ZS1zZXQtZmFjZXMNCi0gICAnbW9kdXMtdml2ZW5kaQ0KLTs7OzsgY3VzdG9tIGZhY2VzDQotICAg OzsgdGhlc2UgYmVzcG9rZSBmYWNlcyBhcmUgaW5oZXJpdGVkIGJ5IG90aGVyIGNvbnN0cnVjdHMg YmVsb3cNCi07Ozs7OyBzdWJ0bGUgY29sb3VyZWQgYmFja2dyb3VuZHMNCi0gICBgKG1vZHVzLXRo ZW1lLXN1YnRsZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1zdWJ0bGUtYmcgOmZvcmVn cm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxncmVlbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAg IGAobW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93 LXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0 bGUtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZvcmVncm91bmQg LGZnLWRpbSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEgKCgsY2xhc3MgOmJh Y2tncm91bmQgLG1hZ2VudGEtc3VidGxlLWJnIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBg KG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLXN1YnRs ZS1iZyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChtb2R1cy10aGVtZS1zdWJ0bGUtbmV1 dHJhbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWlu YWN0aXZlKSkpDQotOzs7OzsgaW50ZW5zZSBjb2xvdXJlZCBiYWNrZ3JvdW5kcw0KLSAgIGAobW9k dXMtdGhlbWUtaW50ZW5zZS1yZWQgKCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZC1pbnRlbnNlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVu ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1pbnRlbnNlLWJnIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dy b3VuZCAseWVsbG93LWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG1v ZHVzLXRoZW1lLWludGVuc2UtYmx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1pbnRlbnNlLW1h Z2VudGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaW50ZW5zZS1jeWFuICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0 aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgcmVmaW5lZCBiYWNrZ3JvdW5kIGFu ZCBmb3JlZ3JvdW5kIGNvbWJpbmF0aW9ucw0KLSAgIDs7IGdlbmVyYWwgcHVycG9zZSBzdHlsZXMg dGhhdCB1c2UgYW4gYWNjZW50ZWQgZm9yZWdyb3VuZCBhZ2FpbnN0IGFuDQotICAgOzsgYWNjZW50 ZWQgYmFja2dyb3VuZA0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLXJlZCAoKCxjbGFzcyA6YmFj a2dyb3VuZCAscmVkLXJlZmluZS1iZyA6Zm9yZWdyb3VuZCAscmVkLXJlZmluZS1mZykpKQ0KLSAg IGAobW9kdXMtdGhlbWUtcmVmaW5lLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1y ZWZpbmUtYmcgOmZvcmVncm91bmQgLGdyZWVuLXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhl bWUtcmVmaW5lLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXJlZmluZS1iZyA6 Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5l LWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxi bHVlLXJlZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEgKCgsY2xh c3MgOmJhY2tncm91bmQgLG1hZ2VudGEtcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJl ZmluZS1mZykpKQ0KLSAgIGAobW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4tcmVmaW5lLWJnIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykpKQ0KLTs7 Ozs7ICJhY3RpdmUiIGNvbWJpbmF0aW9ucywgbW9zdGx5IGZvciB1c2Ugb24gdGhlIG1vZGUgbGlu ZQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLXJlZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAscmVk LWFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3Rp dmUtZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs YmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93ICgoLGNsYXNzIDpi YWNrZ3JvdW5kICx5ZWxsb3ctYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBg KG1vZHVzLXRoZW1lLWFjdGl2ZS1ibHVlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLWFjdGl2 ZSA6Zm9yZWdyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChtb2R1cy10aGVtZS1hY3RpdmUtbWFn ZW50YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1hY3RpdmUgOmZvcmVncm91bmQgLGJn LWFjdGl2ZSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGN5YW4tYWN0aXZlIDpmb3JlZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi07Ozs7OyBudWFu Y2VkIGJhY2tncm91bmRzDQotICAgOzsgdXNlZnVsIGZvciBhZGRpbmcgYW4gYWNjZW50ZWQgYmFj a2dyb3VuZCB0aGF0IGlzIHN1aXRhYmxlIGZvciBhbGwNCi0gICA7OyBtYWluIGZvcmVncm91bmQg Y29sb3VycyAoaW50ZW5kZWQgZm9yIHVzZSBpbiBPcmcgc291cmNlIGJsb2NrcykNCi0gICBgKG1v ZHVzLXRoZW1lLW51YW5jZWQtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtbnVhbmNlZC1i Zw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFj cy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1u dWFuY2VkLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1udWFuY2VkLWJnDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFq b3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNl ZC15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1udWFuY2VkLWJnDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9y LXZlcnNpb24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW51YW5jZWQt Ymx1ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9u IDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChtb2R1cy10aGVtZS1udWFuY2VkLW1hZ2VudGEg KCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lv biAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAsQChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNpb24gMjcpICco OmV4dGVuZCB0KSkpKSkNCi07Ozs7OyBmcmluZ2Utc3BlY2lmaWMgY29tYmluYXRpb25zDQotICAg YChtb2R1cy10aGVtZS1mcmluZ2UtcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQtZnJpbmdl LWJnIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtZ3Jl ZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdyAoKCxjbGFzcyA6YmFja2dy b3VuZCAseWVsbG93LWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9k dXMtdGhlbWUtZnJpbmdlLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtZnJpbmdlLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50 YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1mcmluZ2UtYmcgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxjeWFuLWZyaW5nZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IHNwZWNp YWwgYmFzZSB2YWx1ZXMNCi0gICA7OyB0aGVzZSBhcmUgY2xvc2VyIHRvIHRoZSBncmF5c2NhbGUg dGhhbiB0aGUgYWNjZW50cyBkZWZpbmVkIGFib3ZlDQotICAgOzsgYW5kIHNob3VsZCBvbmx5IGJl IHVzZWQgd2hlbiB0aGUgbmV4dCBjbG9zZXN0IGFsdGVybmF0aXZlIHdvdWxkIGJlDQotICAgOzsg YSBncmV5c2NhbGUgdmFsdWUgdGhhbiBhbiBhY2NlbnRlZCBvbmUNCi0gICBgKG1vZHVzLXRoZW1l LXNwZWNpYWwtY29sZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1jb2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtbWls ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctc3BlY2lhbC1taWxkIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLW1pbGQpKSkNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctc3BlY2lhbC13YXJtIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0p KSkNCi0gICBgKG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs Ymctc3BlY2lhbC1jYWxtIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi07Ozs7OyBk aWZmLXNwZWNpZmljIGNvbWJpbmF0aW9ucw0KLSAgIDs7IGludGVuZGVkIGZvciBgZGlmZi1tb2Rl JyBvciBlcXVpdmFsZW50DQotICAgYChtb2R1cy10aGVtZS1kaWZmLWFkZGVkDQotICAgICAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1h aW4gZ3JlZW4NCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtYWRkZWQgZmctZGlmZi1m b2N1cy1hZGRlZA0KLSAgICAgICAgICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBmZy1kaWZmLWFk ZGVkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkDQotICAgICAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLW1haW4geWVs bG93DQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1 cy1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICB5ZWxsb3ctbnVhbmNlZC1iZyBmZy1kaWZmLWNo YW5nZWQpKSkpDQotICAgYChtb2R1cy10aGVtZS1kaWZmLXJlbW92ZWQNCi0gICAgICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctbWFpbiBy ZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3Vz LXJlbW92ZWQNCi0gICAgICAgICAgICAgICAgIHJlZC1udWFuY2VkLWJnIGZnLWRpZmYtcmVtb3Zl ZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWFkZGVkDQotICAgICAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYt YWRkZWQgZmctZGlmZi1hZGRlZA0KLSAgICAgICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtYWRk ZWQgZmctZGlmZi1yZWZpbmUtYWRkZWQNCi0gICAgICAgICAgICAgICAgIGJnLWRpZmYtZm9jdXMt YWRkZWQgZmctZGlmZi1mb2N1cy1hZGRlZCkpKSkNCi0gICBgKG1vZHVzLXRoZW1lLWRpZmYtcmVm aW5lLWNoYW5nZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0K LSAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZA0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1yZWZpbmUtY2hhbmdlZCBmZy1kaWZmLXJlZmluZS1jaGFuZ2Vk DQotICAgICAgICAgICAgICAgICBiZy1kaWZmLWZvY3VzLWNoYW5nZWQgZmctZGlmZi1mb2N1cy1j aGFuZ2VkKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZA0KLSAgICAg KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBi Zy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkDQotICAgICAgICAgICAgICAgICBiZy1kaWZm LXJlZmluZS1yZW1vdmVkIGZnLWRpZmYtcmVmaW5lLXJlbW92ZWQNCi0gICAgICAgICAgICAgICAg IGJnLWRpZmYtZm9jdXMtcmVtb3ZlZCBmZy1kaWZmLWZvY3VzLXJlbW92ZWQpKSkpDQotICAgYCht b2R1cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWRpbSBncmVlbg0KLSAgICAgICAg ICAgICAgICAgYmctZGlmZi1mb2N1cy1hZGRlZCBmZy1kaWZmLWZvY3VzLWFkZGVkDQotICAgICAg ICAgICAgICAgICBiZy1kaWZmLWFkZGVkIGZnLWRpZmYtYWRkZWQpKSkpDQotICAgYChtb2R1cy10 aGVtZS1kaWZmLWZvY3VzLWNoYW5nZWQNCi0gICAgICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgYmctZGltIHllbGxvdw0KLSAgICAgICAgICAg ICAgICAgYmctZGlmZi1mb2N1cy1jaGFuZ2VkIGZnLWRpZmYtZm9jdXMtY2hhbmdlZA0KLSAgICAg ICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hhbmdlZCkpKSkNCi0gICBgKG1v ZHVzLXRoZW1lLWRpZmYtZm9jdXMtcmVtb3ZlZA0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICBiZy1kaW0gcmVkDQotICAgICAgICAg ICAgICAgICBiZy1kaWZmLWZvY3VzLXJlbW92ZWQgZmctZGlmZi1mb2N1cy1yZW1vdmVkDQotICAg ICAgICAgICAgICAgICBiZy1kaWZmLXJlbW92ZWQgZmctZGlmZi1yZW1vdmVkKSkpKQ0KLSAgIGAo bW9kdXMtdGhlbWUtZGlmZi1oZWFkaW5nDQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgIGJnLWFsdCBibHVlLWFsdA0KLSAgICAgICAg ICAgICAgICAgYmctZGlmZi1oZWFkaW5nIGZnLWRpZmYtaGVhZGluZw0KLSAgICAgICAgICAgICAg ICAgYmx1ZS1udWFuY2VkLWJnIGJsdWUpKSkpDQotOzs7OzsgbWFyayBpbmRpY2F0b3JzDQotICAg OzsgY29sb3VyIGNvbWJpbmF0aW9ucyBpbnRlbmRlZCBmb3IgRGlyZWQsIElidWZmZXIsIG9yIGVx dWl2YWxlbnQNCi0gICBgKG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1h bHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctbWFyay1hbHQgOmZvcmVn cm91bmQgLGZnLW1hcmstYWx0KSkpDQotICAgYChtb2R1cy10aGVtZS1tYXJrLWRlbCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1tYXJrLWRlbCA6Zm9yZWdyb3VuZCAsZmct bWFyay1kZWwpKSkNCi0gICBgKG1vZHVzLXRoZW1lLW1hcmstc2VsICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmJhY2tncm91bmQgLGJnLW1hcmstc2VsIDpmb3JlZ3JvdW5kICxmZy1tYXJrLXNlbCkp KQ0KLSAgIGAobW9kdXMtdGhlbWUtbWFyay1zeW1ib2wgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBoZWFkaW5nIGxldmVscw0KLSAgIDs7IHN0 eWxlcyBmb3IgcmVndWxhciBoZWFkaW5ncyB1c2VkIGluIE9yZywgTWFya2Rvd24sIEluZm8sIGV0 Yy4NCi0gICBgKG1vZHVzLXRoZW1lLWhlYWRpbmctMQ0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1oZWFkaW5nDQotICAgICAgICAgICAgICAgICAxIGZnLW1haW4gbWFnZW50 YS1hbHQtb3RoZXIgbWFnZW50YS1udWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAg ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00 KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0yDQotICAgICAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDIgZmctc3BlY2lhbC13 YXJtIG1hZ2VudGEtYWx0IHJlZC1udWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAg ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0z KSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy0zDQotICAgICAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDMgZmctc3BlY2lhbC1j b2xkIGJsdWUgYmx1ZS1udWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0yKSkpKQ0K LSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy00DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDQgZmctc3BlY2lhbC1taWxkIGN5 YW4gY3lhbi1udWFuY2VkLWJnIGJnLXJlZ2lvbikNCi0gICAgICAgICAgICAgICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0xKSkpKQ0KLSAgIGAo bW9kdXMtdGhlbWUtaGVhZGluZy01DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLWhlYWRpbmcNCi0gICAgICAgICAgICAgICAgIDUgZmctc3BlY2lhbC1jYWxtIGdyZWVuLWFs dC1vdGhlciBncmVlbi1udWFuY2VkLWJnIGJnLXJlZ2lvbikpKSkNCi0gICBgKG1vZHVzLXRoZW1l LWhlYWRpbmctNg0KLSAgICAgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1oZWFkaW5n DQotICAgICAgICAgICAgICAgICA2IHllbGxvdy1udWFuY2VkIHllbGxvdy1hbHQtb3RoZXIgeWVs bG93LW51YW5jZWQtYmcgYmctcmVnaW9uKSkpKQ0KLSAgIGAobW9kdXMtdGhlbWUtaGVhZGluZy03 DQotICAgICAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWhlYWRpbmcNCi0gICAgICAg ICAgICAgICAgIDcgcmVkLW51YW5jZWQgcmVkLWFsdCByZWQtbnVhbmNlZC1iZyBiZy1yZWdpb24p KSkpDQotICAgYChtb2R1cy10aGVtZS1oZWFkaW5nLTgNCi0gICAgICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtaGVhZGluZw0KLSAgICAgICAgICAgICAgICAgOCBmZy1kaW0gbWFnZW50 YSBiZy1hbHQgYmctcmVnaW9uKSkpKQ0KLTs7Ozs7IG90aGVyIGN1c3RvbSBmYWNlcw0KLSAgIGAo bW9kdXMtdGhlbWUtaGwtbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1vZHVzLXZpdmVu ZGktdGhlbWUtaW50ZW5zZS1obC1saW5lDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmctaGwtbGluZS1pbnRlbnNlIGJnLWhsLWxpbmUpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKD49IGVtYWNzLW1ham9yLXZlcnNp b24gMjcpICcoOmV4dGVuZCB0KSkpKSkNCi07Ozs7IHN0YW5kYXJkIGZhY2VzDQotOzs7OzsgYWJz b2x1dGUgZXNzZW50aWFscw0KLSAgIGAoZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct bWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY3Vyc29yICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChmcmluZ2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1mcmluZ2UgYmctaW5hY3RpdmUgYmctYWN0aXZlKQ0KLSAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh2ZXJ0aWNhbC1ib3JkZXIgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLWlubmVyKSkpDQotOzs7OzsgYmFzaWMg YW5kL29yIHVuZ3JvdXBlZCBzdHlsZXMNCi0gICA7OyBNb2RpZnkgdGhlIGBib2xkJyBmYWNlIHRv IGNoYW5nZSB0aGUgd2VpZ2h0IG9mIGFsbCAiYm9sZCIgZWxlbWVudHMNCi0gICA7OyBkZWZpbmVk IGJ5IHRoZSB0aGVtZS4gIFlvdSBuZWVkIGEgdHlwZWZhY2UgdGhhdCBzdXBwb3J0cyBhDQotICAg OzsgbXVsdGl0dWRlIG9mIGhlYXZpZXIgd2VpZ2h0cyB0aGFuIHRoZSByZWd1bGFyIG9uZSBhbmQg dGhlbiB5b3UNCi0gICA7OyBtdXN0IHNwZWNpZnkgdGhlIGV4YWN0IG5hbWUgb2YgdGhlIG9uZSB5 b3Ugd2lzaCB0byBhcHBseS4gIEV4YW1wbGUNCi0gICA7OyBmb3IgeW91ciBpbml0LmVsOg0KLSAg IDs7DQotICAgOzsgKHNldC1mYWNlLWF0dHJpYnV0ZSAnYm9sZCBuaWwgOndlaWdodCAnc2VtaWJv bGQpDQotICAgYChib2xkICgoLGNsYXNzIDp3ZWlnaHQgYm9sZCkpKQ0KLSAgIGAoY29taW50LWhp Z2hsaWdodC1pbnB1dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChjb21pbnQtaGln aGxpZ2h0LXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1wcm9tcHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVh bmNlZC1iZyBibHVlLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmx1ZS1yZWZpbmUtYmcgZmctbWFpbikpKSkNCi0gICBgKGVycm9yICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoZXNjYXBlLWdseXBoICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKGZpbGUtbmFt ZS1zaGFkb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoaGVh ZGVyLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWhlYWRlciA6Zm9yZWdyb3VuZCAsZmct aGVhZGVyKSkpDQotICAgYChoZWFkZXItbGluZS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGhlbHAtYXJndW1lbnQtbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbiA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChob21vZ2x5cGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVj dCkpKQ0KLSAgIGAoaWJ1ZmZlci1sb2NrZWQtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChpdGFsaWMgKCgsY2xhc3MgOnNsYW50IGl0YWxpYykp KQ0KLSAgIGAobm9icmVhay1oeXBoZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1j aGFyLWNvbnN0cnVjdCkpKQ0KLSAgIGAobm9icmVhay1zcGFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctZXNjYXBlLWNoYXItY29uc3RydWN0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobWluaWJ1 ZmZlci1wcm9tcHQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1wcm9tcHQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLW51YW5jZWQtYmcgY3lhbg0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1yZWZpbmUtYmcgZmctbWFpbikpKSkNCi0g ICBgKG1tLWNvbW1hbmQtb3V0cHV0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVy KSkpDQotICAgYChtbS11dS1leHRyYWN0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobmV4dC1lcnJvciAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChyZWN0YW5nbGUtcHJldmll dyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHJl Z2lvbiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctcmVnaW9uIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChzZWNvbmRhcnktc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc2hhZG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1hbHQpKSkNCi0gICBgKHN1Y2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKHRyYWlsaW5nLXdoaXRlc3BhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLHJlZC1pbnRlbnNlLWJnKSkpDQotICAgYCh3YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGJ1dHRvbnMsIGxpbmtzLCB3aWRnZXRz DQotICAgYChidXR0b24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyDQotICAg ICAgICAgICAgICAgICAgICAgLEAodW5sZXNzIG1vZHVzLXZpdmVuZGktdGhlbWUtbm8tbGluay11 bmRlcmxpbmUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgOnVuZGVybGluZSB0KSkp KSkNCi0gICBgKGxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChsaW5rLXZp c2l0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbGluayA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKHRvb2x0aXAgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29s ZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2lkZ2V0LWJ1dHRvbiAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24pKSkNCi0gICBgKHdpZGdldC1idXR0b24tcHJlc3NlZCAoKCxjbGFzcyA6 aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHdpZGdldC1kb2N1 bWVudGF0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAod2lkZ2V0LWZp ZWxkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0K LSAgIGAod2lkZ2V0LWluYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHdpZGdldC1zaW5nbGUtbGluZS1maWVs ZCAoKCxjbGFzcyA6aW5oZXJpdCB3aWRnZXQtZmllbGQpKSkNCi07Ozs7OyBhZw0KLSAgIGAoYWct aGl0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAo YWctbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0p KSkNCi07Ozs7OyBhbGVydA0KLSAgIGAoYWxlcnQtaGlnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsZXJ0LWxvdy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGFsZXJ0LW1vZGVyYXRl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAg YChhbGVydC10cml2aWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2Fs bSkpKQ0KLSAgIGAoYWxlcnQtdXJnZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi07Ozs7OyBhbGwtdGhlLWljb25zDQotICAgYChhbGwt dGhlLWljb25zLWJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGFsbC10 aGUtaWNvbnMtYmx1ZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAg YChhbGwtdGhlLWljb25zLWN5YW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGFsbC10aGUtaWNvbnMtY3lhbi1hbHQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkp DQotICAgYChhbGwtdGhlLWljb25zLWRibHVlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFs dC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kY3lhbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZGdyZWVuICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZGly ZWQtZGlyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGFsbC10aGUt aWNvbnMtZG1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKGFsbC10aGUtaWNvbnMtZG9yYW5nZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dC1vdGhlcikpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kcGluayAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kcHVycGxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1kcmVkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtZHNpbHZlciAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChhbGwtdGhlLWljb25zLWR5 ZWxsb3cgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYWxsLXRoZS1pY29u cy1ncmVlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGFsbC10aGUtaWNv bnMtbGJsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQotICAgYChh bGwtdGhlLWljb25zLWxjeWFuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLXJlZmluZS1mZykp KQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sZ3JlZW4gKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sbWFyb29uICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1sb3Jhbmdl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWlj b25zLWxwaW5rICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJlZmluZS1mZykpKQ0KLSAg IGAoYWxsLXRoZS1pY29ucy1scHVycGxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLXJl ZmluZS1mZykpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1scmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtcmVmaW5lLWZnKSkpDQotICAgYChhbGwtdGhlLWljb25zLWxzaWx2ZXIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoYWxsLXRoZS1pY29ucy1seWVs bG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChhbGwt dGhlLWljb25zLW1hcm9vbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAo YWxsLXRoZS1pY29ucy1vcmFuZ2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0g ICBgKGFsbC10aGUtaWNvbnMtcGluayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAoYWxsLXRoZS1pY29ucy1wdXJwbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotICAgYChhbGwtdGhlLWljb25zLXB1cnBsZS1hbHQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChhbGwtdGhlLWljb25zLXJlZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChhbGwtdGhlLWljb25zLXJlZC1hbHQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGFsbC10aGUtaWNvbnMtc2lsdmVyICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGFsbC10aGUtaWNv bnMteWVsbG93ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBhbm5vdGF0 ZQ0KLSAgIGAoYW5ub3RhdGUtYW5ub3RhdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoYW5ub3RhdGUtYW5ub3RhdGlvbi1zZWNvbmRhcnkgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAgYChhbm5vdGF0 ZS1oaWdobGlnaHQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6dW5kZXJs aW5lICxibHVlLWludGVuc2UpKSkNCi0gICBgKGFubm90YXRlLWhpZ2hsaWdodC1zZWNvbmRhcnkg KCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLW51YW5jZWQtYmcgOnVuZGVybGluZSAsZ3JlZW4t aW50ZW5zZSkpKQ0KLTs7Ozs7IGFuenUNCi0gICBgKGFuenUtbWF0Y2gtMSAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtY3lhbikpKQ0KLSAgIGAoYW56dS1tYXRjaC0yICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ncmVlbikpKQ0KLSAgIGAoYW56dS1tYXRj aC0zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cpKSkNCi0gICBg KGFuenUtbW9kZS1saW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVu LWFjdGl2ZSkpKQ0KLSAgIGAoYW56dS1tb2RlLWxpbmUtbm8tbWF0Y2ggKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoYW56dS1yZXBsYWNlLWhp Z2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93IDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoYW56dS1yZXBsYWNlLXRvICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotOzs7OzsgYXByb3Bvcw0KLSAgIGAoYXBy b3Bvcy1mdW5jdGlvbi1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXByb3Bvcy1rZXliaW5kaW5nICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGFwcm9wb3MtbWlzYy1i dXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KLSAgIGAoYXByb3Bvcy1wcm9wZXJ0eSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGFwcm9w b3Mtc3ltYm9sICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXByb3Bvcy11c2VyLW9wdGlvbi1i dXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3Ro ZXIpKSkNCi0gICBgKGFwcm9wb3MtdmFyaWFibGUtYnV0dG9uICgoLGNsYXNzIDppbmhlcml0IGJ1 dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7Ozs7IGFwdC1zb3VyY2VzLWxpc3QNCi0gICBg KGFwdC1zb3VyY2VzLWxpc3QtY29tcG9uZW50cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikp KQ0KLSAgIGAoYXB0LXNvdXJjZXMtbGlzdC1vcHRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3Qtc3VpdGUgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGdyZWVuKSkpDQotICAgYChhcHQtc291cmNlcy1saXN0LXR5cGUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGFwdC1zb3VyY2VzLWxpc3QtdXJpICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlKSkpDQotOzs7OzsgYXJ0Ym9sbG9ja3MtbW9kZQ0KLSAgIGAoYXJ0Ym9s bG9ja3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1udWFuY2VkIDp1bmRlcmxpbmUg LGZnLWxhbmctbm90ZSkpKQ0KLSAgIGAoYXJ0Ym9sbG9ja3MtbGV4aWNhbC1pbGx1c2lvbnMtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxyZWQtYWx0IDp1bmRl cmxpbmUgdCkpKQ0KLSAgIGAoYXJ0Ym9sbG9ja3MtcGFzc2l2ZS12b2ljZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLXdhcm5pbmcp KSkNCi0gICBgKGFydGJvbGxvY2tzLXdlYXNlbC13b3Jkcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQtbnVhbmNlZCA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7OzsgYXVj dGV4IGFuZCBUZXgNCi0gICBgKGZvbnQtbGF0ZXgtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZm9udC1sYXRleC1k b2N0ZXgtZG9jdW1lbnRhdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm9udC1sYXRleC1kb2N0 ZXgtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xk LXdlaWdodCkgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgt aXRhbGljLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSA6c2xhbnQg aXRhbGljKSkpDQotICAgYChmb250LWxhdGV4LW1hdGgtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2NyaXB0LWNoYXItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGZvbnQtbGF0ZXgt c2VjdGlvbmluZy0wLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxl LXBpdGNoIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvbnQtbGF0ZXgtc2Vj dGlvbmluZy0xLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVzLXRoZW1lLXZhcmlh YmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChmb250LWxhdGV4 LXNlY3Rpb25pbmctMi1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12 YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZm9udC1s YXRleC1zZWN0aW9uaW5nLTMtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhl bWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZv bnQtbGF0ZXgtc2VjdGlvbmluZy00LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVz LXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAg YChmb250LWxhdGV4LXNlY3Rpb25pbmctNS1mYWNlICgoLGNsYXNzIDppbmhlcml0ICxtb2R1cy10 aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotICAgYChm b250LWxhdGV4LXNlZGF0ZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9s ZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZm9udC1s YXRleC1zbGlkZS10aXRsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVt ZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGN5YW4tbnVhbmNlZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAoZm9udC1sYXRleC1zdHJp bmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGZvbnQtbGF0 ZXgtc3Vic2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjk1KSkpDQotICAgYChmb250LWxh dGV4LXN1cGVyc2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjk1KSkpDQotICAgYChmb250 LWxhdGV4LXZlcmJhdGltLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChmb250LWxhdGV4LXdhcm5pbmctZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAodGV4LW1hdGNo ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAodGV4LXZlcmJh dGltICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt bWlsZCkpKQ0KLSAgIGAodGV4aW5mby1oZWFkaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24tZXJyb3IgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChUZVgtZXJyb3ItZGVzY3JpcHRpb24t aGVscCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoVGVYLWVycm9yLWRlc2Ny aXB0aW9uLXRleC1zYWlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChUZVgt ZXJyb3ItZGVzY3JpcHRpb24td2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBhdXRvLWRpbS1vdGhlci1idWZmZXJzDQotICAgYChhdXRv LWRpbS1vdGhlci1idWZmZXJzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0K LTs7Ozs7IGF2eQ0KLSAgIGAoYXZ5LWJhY2tncm91bmQtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGF2eS1nb3RvLWNoYXItdGlt ZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cgYm9s ZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0KLSAgIGAoYXZ5LWxlYWQtZmFjZS0wICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUgYm9sZCkpKSkNCi0gICBgKGF2eS1s ZWFkLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9s ZCkpKSkNCi0gICBgKGF2eS1sZWFkLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhl bWUtaW50ZW5zZS1ncmVlbiBib2xkKSkpKQ0KLTs7Ozs7IGF3IChhY2Utd2luZG93KQ0KLSAgIGAo YXctYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91 bmQgLGZnLWRpbSkpKQ0KLSAgIGAoYXcta2V5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChhdy1sZWFkaW5nLWNoYXItZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS41IDpiYWNrZ3JvdW5kICxiZy1tYWluIDpm b3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoYXctbWluaWJ1ZmZlci1sZWFkaW5nLWNo YXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGF3 LW1vZGUtbGluZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi07Ozs7OyBhd2Vzb21l LXRyYXkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtYXdlc29tZS10YWItZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChhd2Vz b21lLXRyYXktbW9kdWxlLWJhdHRlcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1idWZm ZXItbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCi0gICBgKGF3ZXNvbWUtdHJheS1tb2R1bGUtY2lyY2UtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoYXdlc29tZS10 cmF5LW1vZHVsZS1kYXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctZGltKSkpDQotICAgYChhd2Vzb21lLXRyYXktbW9kdWxlLWV2aWwtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGF3ZXNvbWUtdHJh eS1tb2R1bGUtZ2l0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1sYXN0LWNvbW1hbmQtZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAo YXdlc29tZS10cmF5LW1vZHVsZS1sb2NhdGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1tb2RlLW5h bWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAg IGAoYXdlc29tZS10cmF5LW1vZHVsZS1wYXJlbnQtZGlyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoYXdlc29tZS10cmF5LW1vZHVsZS1ydm0t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLTs7Ozs7IGJpbmRlcg0KLSAgIGAoYmluZGVyLXNpZGViYXItaGlnaGxpZ2h0ICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChiaW5kZXItc2lk ZWJhci1tYXJrZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1zZWwpKSkNCi0g ICBgKGJpbmRlci1zaWRlYmFyLW1pc3NpbmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLXJlZCkpKQ0KLSAgIGAoYmluZGVyLXNpZGViYXItdGFncyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGJtDQotICAgYChibS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgLEAoYW5k ICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpKSkpDQotICAgYChibS1m cmluZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkp DQotICAgYChibS1mcmluZ2UtcGVyc2lzdGVudC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWZyaW5nZS1ibHVlKSkpDQotICAgYChibS1wZXJzaXN0ZW50LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQg dCkpKSkpDQotOzs7OzsgYm9uZ28NCi0gICBgKGJvbmdvLWFsYnVtLXRpdGxlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoYm9uZ28tYXJ0aXN0ICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoYm9uZ28tY3VycmVudGx5LXBsYXlp bmctdHJhY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAoYm9uZ28tZWxhcHNlZC10 cmFjay1wYXJ0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhIDp1 bmRlcmxpbmUgdCkpKQ0KLSAgIGAoYm9uZ28tZmlsbGVkLXNlZWstYmFyICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxibHVlLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoYm9u Z28tbWFya2VkLXRyYWNrICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYXJrLWFsdCkpKQ0KLSAg IGAoYm9uZ28tbWFya2VkLXRyYWNrLWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1hcmst YWx0KSkpDQotICAgYChib25nby1wbGF5ZWQtdHJhY2sgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXVuZm9jdXNlZCA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAoYm9uZ28tdHJhY2stbGVuZ3Ro ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoYm9uZ28tdHJh Y2stdGl0bGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChib25n by11bmZpbGxlZC1zZWVrLWJhciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1udWFuY2VkLWJn IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgYm9vbg0KLSAgIGAoYm9vbi1tb2RlbGlu ZS1jbWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUpKSkNCi0gICBg KGJvb24tbW9kZWxpbmUtaW5zICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1y ZWQpKSkNCi0gICBgKGJvb24tbW9kZWxpbmUtb2ZmICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWFjdGl2ZS15ZWxsb3cpKSkNCi0gICBgKGJvb24tbW9kZWxpbmUtc3BjICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1ncmVlbikpKQ0KLTs7Ozs7IGJyZWFrcG9pbnQgKGJ1 aWx0LWluIGdkYi1taS5lbCkNCi0gICBgKGJyZWFrcG9pbnQtZGlzYWJsZWQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoYnJlYWtwb2ludC1lbmFibGVkICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLTs7Ozs7IGJ1ZmZlci1leHBvc2UNCi0g ICBgKGJ1ZmZlci1leHBvc2UtYWNlLWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChidWZmZXItZXhwb3NlLW1vZGUtbGluZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoYnVmZmVyLWV4 cG9zZS1zZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwt bWlsZCkpKQ0KLTs7Ozs7IGNhbGVuZGFyIGFuZCBkaWFyeQ0KLSAgIGAoY2FsZW5kYXItbW9udGgt aGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKGNhbGVuZGFyLXRvZGF5ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2FsZW5k YXItd2Vla2RheS1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAo Y2FsZW5kYXItd2Vla2VuZC1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAoZGlhcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAg YChkaWFyeS1hbm5pdmVyc2FyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikp KQ0KLSAgIGAoZGlhcnktdGltZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0g ICBgKGhvbGlkYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7Ozsg Y2FsZncNCi0gICBgKGNmdzpmYWNlLWFubm90YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGF5LXRpdGxlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjZnc6ZmFjZS1kZWZhdWx0LWNvbnRlbnQgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAoY2Z3OmZhY2UtZGVmYXVsdC1kYXkg KCgsY2xhc3MgOmluaGVyaXQgKGNmdzpmYWNlLWRheS10aXRsZSBib2xkKSkpKQ0KLSAgIGAoY2Z3 OmZhY2UtZGlzYWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAg YChjZnc6ZmFjZS1ncmlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy13aW5kb3ctZGl2aWRlci1v dXRlcikpKQ0KLSAgIGAoY2Z3OmZhY2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNmdzpmYWNlLWhvbGlkYXkgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChjZnc6ZmFjZS1wZXJpb2RzICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2Utc2F0 dXJkYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIp KSkNCi0gICBgKGNmdzpmYWNlLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1p bnRlbnNlLWJsdWUpKSkNCi0gICBgKGNmdzpmYWNlLXN1bmRheSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoY2Z3OmZhY2UtdGl0bGUg KCgsY2xhc3MgOmluaGVyaXQgLG1vZHVzLXRoZW1lLXZhcmlhYmxlLXBpdGNoDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVz LXZpdmVuZGktdGhlbWUtc2NhbGUtNSkpKSkNCi0gICBgKGNmdzpmYWNlLXRvZGF5ICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9kYXktdGl0bGUg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAoY2Z3OmZhY2UtdG9vbGJh ciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxiZy1hbHQpKSkNCi0g ICBgKGNmdzpmYWNlLXRvb2xiYXItYnV0dG9uLW9mZiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct YWx0KSkpDQotICAgYChjZnc6ZmFjZS10b29sYmFyLWJ1dHRvbi1vbiAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IGNl bnRhdXItdGFicw0KLSAgIGAoY2VudGF1ci10YWJzLWFjdGl2ZS1iYXItZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsZmctdGFiLWFjdGl2ZSkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLWNsb3NlLW1v dXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1jbG9zZS1zZWxlY3RlZCAoKCxjbGFz cyA6aW5oZXJpdCBjZW50YXVyLXRhYnMtc2VsZWN0ZWQpKSkNCi0gICBgKGNlbnRhdXItdGFicy1j bG9zZS11bnNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11bnNlbGVjdGVk KSkpDQotICAgYChjZW50YXVyLXRhYnMtbW9kaWZpZWQtbWFya2VyLXNlbGVjdGVkICgoLGNsYXNz IDppbmhlcml0IGNlbnRhdXItdGFicy1zZWxlY3RlZCkpKQ0KLSAgIGAoY2VudGF1ci10YWJzLW1v ZGlmaWVkLW1hcmtlci11bnNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGNlbnRhdXItdGFicy11 bnNlbGVjdGVkKSkpDQotICAgYChjZW50YXVyLXRhYnMtZGVmYXVsdCAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoY2VudGF1ci10YWJz LXNlbGVjdGVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLXRhYi1hY3Rp dmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNlbnRhdXItdGFicy1zZWxlY3RlZC1t b2RpZmllZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFiLWFjdGl2ZSA6Zm9yZWdyb3VuZCAs ZmctbWFpbiA6c2xhbnQgaXRhbGljKSkpDQotICAgYChjZW50YXVyLXRhYnMtdW5zZWxlY3RlZCAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctdGFiLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1kaW0p KSkNCi0gICBgKGNlbnRhdXItdGFicy11bnNlbGVjdGVkLW1vZGlmaWVkICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSA6c2xhbnQgaXRhbGlj KSkpDQotOzs7OzsgY2hhbmdlLWxvZyBhbmQgbG9nLXZpZXcgKGB2Yy1wcmludC1sb2cnIGFuZCBg dmMtcHJpbnQtcm9vdC1sb2cnKQ0KLSAgIGAoY2hhbmdlLWxvZy1hY2tub3dsZWRnbWVudCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChjaGFuZ2UtbG9nLWNvbmRpdGlvbmFs cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGNoYW5nZS1sb2ct ZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNoYW5n ZS1sb2ctZW1haWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGNoYW5nZS1s b2ctZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoY2hhbmdlLWxvZy1m dW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChj aGFuZ2UtbG9nLWxpc3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQotICAgYChjaGFuZ2UtbG9nLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGxvZy1lZGl0LWhlYWRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJt KSkpDQotICAgYChsb2ctZWRpdC1zdW1tYXJ5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGxvZy1lZGl0LXVua25vd24taGVhZGVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGxvZy12aWV3LWZpbGUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChsb2ctdmlldy1t ZXNzYWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBjaWRlcg0KLSAg IGAoY2lkZXItZGVidWctY29kZS1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCkpKQ0KLSAgIGAoY2lkZXItZGVidWctcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEtYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2lkZXItZGVwcmVjYXRlZC1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBg KGNpZGVyLWRvY3ZpZXctZW1waGFzaXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctbGl0ZXJhbC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoY2lkZXItZG9jdmll dy1zdHJvbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGNpZGVyLWRvY3ZpZXctdGFibGUtYm9yZGVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY2lkZXItZW5saWdodGVuZWQtZmFjZSAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLHllbGxvdy1hbHQgOnN0eWxlIG5p bCkgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItZW5saWdodGVuZWQtbG9jYWwt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVy KSkpDQotICAgYChjaWRlci1lcnJvci1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAscmVkIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoY2lkZXItZnJhZ2lsZS1idXR0b24tZmFjZSAo KCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNl ZC1idXR0b24pIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGNpZGVyLWZyaW5nZS1nb29k LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoY2lkZXIt aW5zdHJ1bWVudGVkLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yICxy ZWQgOnN0eWxlIG5pbCkgOmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAoY2lkZXItcmVhZGVy LWNvbmRpdGlvbmFsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6 c2xhbnQgaXRhbGljKSkpDQotICAgYChjaWRlci1yZXBsLWlucHV0LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCkpKQ0KLSAgIGAoY2lkZXItcmVwbC1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGNpZGVyLXJlcGwtc3RkZXJyLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjaWRlci1y ZXBsLXN0ZG91dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChjaWRl ci1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xv ciAsYmx1ZSA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci1z dGFja3RyYWNlLWVycm9yLWNsYXNzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChjaWRlci1zdGFja3RyYWNlLWVycm9yLW1lc3NhZ2UtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6c2xhbnQgaXRhbGljKSkpDQotICAg YChjaWRlci1zdGFja3RyYWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKGNpZGVyLXN0YWNrdHJhY2UtZmlsdGVyLWFjdGl2ZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2Ut ZmlsdGVyLWluYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQot ICAgYChjaWRlci1zdGFja3RyYWNlLWZuLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY2lkZXItc3RhY2t0cmFjZS1ucy1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoY2lkZXItc3Rh Y2t0cmFjZS1wcm9tb3RlZC1idXR0b24tZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAz IDpjb2xvciAsZmctYWx0IDpzdHlsZSByZWxlYXNlZC1idXR0b24pIDpmb3JlZ3JvdW5kICxyZWQp KSkNCi0gICBgKGNpZGVyLXN0YWNrdHJhY2Utc3VwcHJlc3NlZC1idXR0b24tZmFjZSAoKCxjbGFz cyA6Ym94ICg6bGluZS13aWR0aCAzIDpjb2xvciAsZmctYWx0IDpzdHlsZSBwcmVzc2VkLWJ1dHRv bikNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGNpZGVy LXRlc3QtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVk KSkpDQotICAgYChjaWRlci10ZXN0LWZhaWx1cmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9k dXMtdGhlbWUtaW50ZW5zZS1yZWQgYm9sZCkpKSkNCi0gICBgKGNpZGVyLXRlc3Qtc3VjY2Vzcy1m YWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBg KGNpZGVyLXRyYWNlZC1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0xIDpjb2xvciAs Y3lhbiA6c3R5bGUgbmlsKSA6YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChjaWRlci13YXJu aW5nLWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGlu ZSB0KSkpDQotOzs7OzsgY2lyY2UgKGFuZCBsdWkpDQotICAgYChjaXJjZS1mb29sLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoY2lyY2UtaGlnaGxpZ2h0LW5pY2st ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChj aXJjZS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFu LWFsdC1vdGhlcikpKQ0KLSAgIGAoY2lyY2Utc2VydmVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAobHVpLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAobHVpLWhpZ2hsaWdodC1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobHVpLXRpbWUtc3Rh bXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQotOzs7OzsgY29s b3ItcmcNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY29sb3ItcmctZm9udC1sb2Nr LWNvbW1hbmQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoY29sb3ItcmctZm9udC1sb2NrLWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2stZmxh c2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChj b2xvci1yZy1mb250LWxvY2stZnVuY3Rpb24tbG9jYXRpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChjb2xvci1yZy1mb250LWxvY2staGVhZGVy LWxpbmUtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAg IGAoY29sb3ItcmctZm9udC1sb2NrLWhlYWRlci1saW5lLWVkaXQtbW9kZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFk ZXItbGluZS1rZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0g ICBgKGNvbG9yLXJnLWZvbnQtbG9jay1oZWFkZXItbGluZS10ZXh0ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1saW5lLW51bWJlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChjb2xvci1yZy1m b250LWxvY2stbWFyay1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUpKSkNCi0gICBgKGNvbG9yLXJnLWZvbnQtbG9jay1tYXJrLWRlbGV0ZWQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChjb2xvci1yZy1mb250LWxv Y2stbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQot ICAgYChjb2xvci1yZy1mb250LWxvY2stcG9zaXRpb24tc3BsaXR0ZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLTs7Ozs7IGNvbHVtbi1lbmZvcmNlLW1vZGUNCi0gICBgKGNvbHVt bi1lbmZvcmNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxv dykpKQ0KLTs7Ozs7IGNvbXBhbnktbW9kZQ0KLSAgIGAoY29tcGFueS1lY2hvLWNvbW1vbiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGNvbXBhbnktcHJl dmlldyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkN Ci0gICBgKGNvbXBhbnktcHJldmlldy1jb21tb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0KSkpDQotICAgYChjb21wYW55LXByZXZpZXctc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoY29tcGFueS1zY3JvbGxiYXItYmcgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS1zY3JvbGxiYXIt ZmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY29tcGFueS10ZW1w bGF0ZS1maWVsZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEp KSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1hbm5vdGF0aW9uICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1z bGFudCkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLWFubm90YXRpb24tc2VsZWN0aW9uICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGNvbXBhbnkt dG9vbHRpcC1jb21tb24gKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1h bHQpKSkNCi0gICBgKGNvbXBhbnktdG9vbHRpcC1jb21tb24tc2VsZWN0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChjb21wYW55LXRvb2x0aXAtbW91c2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkpDQotICAgYChjb21wYW55LXRv b2x0aXAtc2VhcmNoICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiBi b2xkKSkpKQ0KLSAgIGAoY29tcGFueS10b29sdGlwLXNlYXJjaC1zZWxlY3Rpb24gKCgsY2xhc3Mg OmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4gYm9sZCkgOnVuZGVybGluZSB0KSkp DQotICAgYChjb21wYW55LXRvb2x0aXAtc2VsZWN0aW9uICgoLGNsYXNzIDppbmhlcml0IChtb2R1 cy10aGVtZS1zdWJ0bGUtY3lhbiBib2xkKSkpKQ0KLTs7Ozs7IGNvbXBhbnktcG9zZnJhbWUNCi0g ICBgKGNvbXBhbnktcG9zZnJhbWUtYWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkp DQotICAgYChjb21wYW55LXBvc2ZyYW1lLWluYWN0aXZlLWJhY2tlbmQtbmFtZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGNv bXBhbnktcG9zZnJhbWUtbWV0YWRhdGEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZl IDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IGNvbXBpbGF0aW9uIGZlZWRiYWNr DQotICAgYChjb21waWxhdGlvbi1jb2x1bW4tbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY29tcGlsYXRpb24tZXJyb3IgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAg IGAoY29tcGlsYXRpb24taW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk KSkpDQotICAgYChjb21waWxhdGlvbi1saW5lLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotICAgYChjb21waWxhdGlvbi1tb2RlLWxpbmUtZXhpdCAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1 ZS1hY3RpdmUpKSkNCi0gICBgKGNvbXBpbGF0aW9uLW1vZGUtbGluZS1mYWlsICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZl KSkpDQotICAgYChjb21waWxhdGlvbi1tb2RlLWxpbmUtcnVuICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0K LSAgIGAoY29tcGlsYXRpb24td2FybmluZyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgY29tcGxldGlvbnMN Ci0gICBgKGNvbXBsZXRpb25zLWFubm90YXRpb25zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoY29tcGxldGlv bnMtY29tbW9uLXBhcnQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1 ZS1hbHQgYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjeWFuLXJlZmluZS1iZyBjeWFuLXJlZmluZS1mZykpKSkNCi0gICBgKGNvbXBsZXRp b25zLWZpcnN0LWRpZmZlcmVuY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN0 YW5kYXJkLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtYWx0IGJsdWUtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWludGVuc2UtYmcgZmctbWFpbikp KSkNCi07Ozs7OyBjb3Vuc2VsDQotICAgYChjb3Vuc2VsLWFjdGl2ZS1tb2RlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoY291bnNlbC1hcHBsaWNhdGlv bi1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChjb3Vu c2VsLWtleS1iaW5kaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLW91dGxpbmUtMSAoKCxjbGFzcyA6aW5oZXJpdCBv dXRsaW5lLTEpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGluZS0yICgoLGNsYXNzIDppbmhlcml0IG91 dGxpbmUtMikpKQ0KLSAgIGAoY291bnNlbC1vdXRsaW5lLTMgKCgsY2xhc3MgOmluaGVyaXQgb3V0 bGluZS0zKSkpDQotICAgYChjb3Vuc2VsLW91dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBvdXRs aW5lLTQpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGluZS01ICgoLGNsYXNzIDppbmhlcml0IG91dGxp bmUtNSkpKQ0KLSAgIGAoY291bnNlbC1vdXRsaW5lLTYgKCgsY2xhc3MgOmluaGVyaXQgb3V0bGlu ZS02KSkpDQotICAgYChjb3Vuc2VsLW91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJpdCBvdXRsaW5l LTcpKSkNCi0gICBgKGNvdW5zZWwtb3V0bGluZS04ICgoLGNsYXNzIDppbmhlcml0IG91dGxpbmUt OCkpKQ0KLSAgIGAoY291bnNlbC1vdXRsaW5lLWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAgYChjb3Vuc2VsLXZhcmlhYmxl LWRvY3VtZW50YXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IGNvdW5zZWwtY3NzDQotICAgYChjb3Vu c2VsLWNzcy1zZWxlY3Rvci1kZXB0aC1mYWNlLTEgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKGNvdW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtMiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS0z ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0 b3ItZGVwdGgtZmFjZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGNv dW5zZWwtY3NzLXNlbGVjdG9yLWRlcHRoLWZhY2UtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoY291bnNlbC1jc3Mtc2VsZWN0b3ItZGVwdGgtZmFjZS02ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7OyBjb3Vuc2VsLW5vdG11Y2gNCi0gICBgKGNvdW5z ZWwtbm90bXVjaC1jb3VudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAg YChjb3Vuc2VsLW5vdG11Y2gtZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkp DQotICAgYChjb3Vuc2VsLW5vdG11Y2gtcGVvcGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEpKSkNCi0gICBgKGNvdW5zZWwtbm90bXVjaC1zdWJqZWN0LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7OzsgY291bnNlbC1vcmctY2Fw dHVyZS1zdHJpbmcNCi0gICBgKGNvdW5zZWwtb3JnLWNhcHR1cmUtc3RyaW5nLXRlbXBsYXRlLWJv ZHktZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7Ozsg Y292DQotICAgYChjb3YtY292ZXJhZ2Utbm90LXJ1bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoY292LWNvdmVyYWdlLXJ1bi1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYChjb3YtaGVhdnktZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAgYChjb3YtbGlnaHQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChjb3YtbWVkLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYChjb3Ytbm9uZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi07Ozs7OyBjcGVybC1t b2RlDQotICAgYChjcGVybC1ub25vdmVycmlkYWJsZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChjcGVybC1hcnJheS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQp KSkNCi0gICBgKGNwZXJsLWhhc2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3Jv dW5kICxiZy1hbHQgOmZvcmVncm91bmQgLHJlZC1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLTs7Ozs7IGNzdi1tb2RlDQotICAgYChjc3Ytc2VwYXJhdG9yLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7 Ozs7IGN0cmxmDQotICAgYChjdHJsZi1oaWdobGlnaHQtYWN0aXZlICgoLGNsYXNzIDppbmhlcml0 IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkpDQotICAgYChjdHJsZi1oaWdobGln aHQtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAgYChj dHJsZi1oaWdobGlnaHQtcGFzc2l2ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUtY3lhbikpKQ0KLTs7Ozs7IGN1c3RvbSAoTS14IGN1c3RvbWl6ZSkNCi0gICBgKGN1c3RvbS1i dXR0b24gKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxl YXNlZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxi Zy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGN1c3RvbS1idXR0b24tbW91 c2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNl ZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5k ICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoY3VzdG9tLWJ1dHRv bi1wcmVzc2VkICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNvbG9yIG5pbCA6c3R5bGUg cHJlc3NlZC1idXR0b24pDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJh Y2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoY3VzdG9t LWNoYW5nZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0g ICBgKGN1c3RvbS1jb21tZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBg KGN1c3RvbS1jb21tZW50LXRhZyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChjdXN0b20tZmFjZS10YWcgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChjdXN0b20t Z3JvdXAtdGFnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWludGVu c2UpKSkNCi0gICBgKGN1c3RvbS1ncm91cC10YWctMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGN1c3RvbS1pbnZhbGlkICgoLGNsYXNzIDppbmhl cml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAoY3VzdG9tLW1vZGlm aWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChj dXN0b20tcm9ndWUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEp KSkNCi0gICBgKGN1c3RvbS1zZXQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChjdXN0b20tc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkp DQotICAgYChjdXN0b20tdGhlbWVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1ibHVlKSkpDQotICAgYChjdXN0b20tdmFyaWFibGUtdGFnICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBkYXAtbW9kZQ0KLSAgIGAoZGFwLW1vdXNl LWV2YWwtdGhpbmctZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgLGJs dWUtYWN0aXZlIDpzdHlsZSBuaWwpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0g ICBgKGRhcC1yZXN1bHQtb3ZlcmxheS1mYWNlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIC0x IDpjb2xvciAsYmctYWN0aXZlIDpzdHlsZSBuaWwpDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChkYXAtdWktYnJlYWtwb2ludC12ZXJpZmllZC1mcmluZ2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChkYXAtdWktY29t cGlsZS1lcnJsaW5lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1pbnRl bnNlKSkpDQotICAgYChkYXAtdWktbG9jYWxzLXNjb3BlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGRhcC11aS1s b2NhbHMtdmFyaWFibGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChkYXAtdWktbG9jYWxzLXZhcmlhYmxlLWxlYWYtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZGFwLXVp LW1hcmtlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkp DQotICAgYChkYXAtdWktc2Vzc2lvbnMtc3RhY2stZnJhbWUtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZGFwLXVpLXNlc3Npb25z LXRlcm1pbmF0ZWQtYWN0aXZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChkYXAtdWktc2Vzc2lvbnMtdGVybWluYXRlZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBkYXNoYm9hcmQgKGVtYWNzLWRhc2hi b2FyZCkNCi0gICBgKGRhc2hib2FyZC1iYW5uZXItbG9nby10aXRsZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGRhc2hib2FyZC1m b290ZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxk KSkpDQotICAgYChkYXNoYm9hcmQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRhc2hib2FyZC1uYXZpZ2F0b3IgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChkYXNoYm9hcmQtdGV4 dC1iYW5uZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLTs7Ozs7IGRlYWRncmVw DQotICAgYChkZWFkZ3JlcC1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGVhZGdyZXAtbWF0Y2gtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGRlYWRn cmVwLW1ldGEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkZWFk Z3JlcC1yZWdleHAtbWV0YWNoYXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICx5ZWxsb3ctaW50ZW5zZSkpKQ0KLSAgIGAoZGVhZGdyZXAtc2VhcmNoLXRlcm0tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotOzs7 OzsgZGViYnVncw0KLSAgIGAoZGViYnVncy1nbnUtYXJjaGl2ZWQgKCgsY2xhc3MgOmludmVyc2Ut dmlkZW8gdCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYChkZWJidWdzLWdudS1mb3J3YXJkZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZGViYnVncy1nbnUtaGFuZGxlZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGRlYmJ1Z3MtZ251LW5ldyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChkZWJidWdzLWdudS1wZW5kaW5nICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS0xICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCkpKQ0KLSAgIGAoZGViYnVncy1nbnUtc3RhbGUtMiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkZWJidWdzLWdudS1zdGFsZS0z ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChkZWJidWdzLWdudS1z dGFsZS00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChk ZWJidWdzLWdudS1zdGFsZS01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAg YChkZWJidWdzLWdudS10YWdnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkp DQotOzs7OzsgZGVmaW5lLXdvcmQNCi0gICBgKGRlZmluZS13b3JkLWZhY2UtMSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChkZWZpbmUtd29yZC1mYWNlLTIgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBkZWZ0DQotICAgYChkZWZ0LWZpbHRlci1z dHJpbmctZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVk KSkpDQotICAgYChkZWZ0LWZpbHRlci1zdHJpbmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Z3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAoZGVmdC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGRlZnQtc2VwYXJh dG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZGVmdC1zdW1t YXJ5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1l LXNsYW50KSkpDQotICAgYChkZWZ0LXRpbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1jb2xkKSkpDQotICAgYChkZWZ0LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGRpY3Rpb25hcnkNCi0gICBgKGRp Y3Rpb25hcnktYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChkaWN0aW9uYXJ5LXJlZmVyZW5jZS1mYWNlICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBg KGRpY3Rpb25hcnktd29yZC1kZWZpbml0aW9uLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LW1haW4pKSkNCi0gICBgKGRpY3Rpb25hcnktd29yZC1lbnRyeS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7 Ozs7IGRpZmYtaGwNCi0gICBgKGRpZmYtaGwtY2hhbmdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGRpZmYtaGwtZGVsZXRlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1yZWQpKSkNCi0gICBgKGRpZmYtaGwtZGlyZWQtY2hh bmdlICgoLGNsYXNzIDppbmhlcml0IGRpZmYtaGwtY2hhbmdlKSkpDQotICAgYChkaWZmLWhsLWRp cmVkLWRlbGV0ZSAoKCxjbGFzcyA6aW5oZXJpdCBkaWZmLWhsLWRlbGV0ZSkpKQ0KLSAgIGAoZGlm Zi1obC1kaXJlZC1pZ25vcmVkICgoLGNsYXNzIDppbmhlcml0IGRpcmVkLWlnbm9yZWQpKSkNCi0g ICBgKGRpZmYtaGwtZGlyZWQtaW5zZXJ0ICgoLGNsYXNzIDppbmhlcml0IGRpZmYtaGwtaW5zZXJ0 KSkpDQotICAgYChkaWZmLWhsLWRpcmVkLXVua25vd24gKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQt aWdub3JlZCkpKQ0KLSAgIGAoZGlmZi1obC1pbnNlcnQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAgYChkaWZmLWhsLXJldmVydGVkLWh1bmstaGlnaGxp Z2h0ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSBib2xkKSkp KQ0KLTs7Ozs7IGRpZmYtbW9kZQ0KLSAgIGAoZGlmZi1hZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQotICAgYChkaWZmLWNoYW5nZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQotICAgYChkaWZmLWNvbnRleHQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoZGlmZi1maWxlLWhlYWRl ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaWZm LWZ1bmN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KGRpZmYtaGVhZGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBg KGRpZmYtaHVuay1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1oZWFk aW5nKSkpDQotICAgYChkaWZmLWluZGV4ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWx0KSkpDQotICAgYChkaWZmLWluZGljYXRvci1hZGRlZCAoKCxjbGFzcyA6aW5o ZXJpdCBkaWZmLWFkZGVkKSkpDQotICAgYChkaWZmLWluZGljYXRvci1jaGFuZ2VkICgoLGNsYXNz IDppbmhlcml0IGRpZmYtY2hhbmdlZCkpKQ0KLSAgIGAoZGlmZi1pbmRpY2F0b3ItcmVtb3ZlZCAo KCxjbGFzcyA6aW5oZXJpdCBkaWZmLXJlbW92ZWQpKSkNCi0gICBgKGRpZmYtbm9uZXhpc3RlbnQg KCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLW5ldXRyYWwgYm9sZCkpKSkNCi0gICBgKGRp ZmYtcmVmaW5lLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVmaW5l LWFkZGVkKSkpDQotICAgYChkaWZmLXJlZmluZS1jaGFuZ2VkICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWRpZmYtcmVmaW5lLWNoYW5nZWQpKSkNCi0gICBgKGRpZmYtcmVmaW5lLXJlbW92 ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtcmVtb3ZlZCkpKQ0K LSAgIGAoZGlmZi1yZW1vdmVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVt b3ZlZCkpKQ0KLTs7Ozs7IGRpbS1hdXRvbG9hZA0KLSAgIGAoZGltLWF1dG9sb2FkLWNvb2tpZS1s aW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLTs7Ozs7IGRpci10cmVldmlldw0KLSAgIGAoZGlyLXRyZWV2aWV3LWFyY2hpdmUtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChkaXItdHJl ZXZpZXctYXJjaGl2ZS1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRl ZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpci10cmVldmll dy1hdWRpby1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChkaXIt dHJlZXZpZXctYXVkaW8taWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGRpci10cmVldmlldy1k ZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGRpci10 cmVldmlldy1jb250cm9sLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoZGlyLXRyZWV2aWV3LWNvbnRyb2wtbW91c2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBoaWdo bGlnaHQpKSkNCi0gICBgKGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmYW1pbHkgIkZvbnQgQXdlc29tZSIgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWRlZmF1bHQtZmlsZW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWRpcmVjdG9yeS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChkaXItdHJlZXZpZXctZGlyZWN0b3J5 LWljb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZh Y2UgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChkaXItdHJlZXZpZXctZXhlY3V0YWJs ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChkaXItdHJlZXZp ZXctZXhlY3V0YWJsZS1pY29uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyLXRyZWV2aWV3LWRl ZmF1bHQtaWNvbi1mYWNlIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChkaXIt dHJlZXZpZXctaW1hZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVy KSkpDQotICAgYChkaXItdHJlZXZpZXctaW1hZ2UtaWNvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGRpci10cmVldmlldy1kZWZhdWx0LWljb24tZmFjZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkp DQotICAgYChkaXItdHJlZXZpZXctaW5kZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LWxhYmVsLW1vdXNlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgaGlnaGxpZ2h0KSkpDQotICAgYChkaXItdHJlZXZpZXctc3RhcnQtZGlyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAoZGlyLXRy ZWV2aWV3LXN5bWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQg LGN5YW4pKSkNCi0gICBgKGRpci10cmVldmlldy12aWRlby1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZGlyLXRyZWV2aWV3LXZpZGVvLWljb24t ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXItdHJlZXZpZXctZGVmYXVsdC1pY29uLWZhY2UgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotOzs7OzsgZGlyZWQNCi0gICBgKGRpcmVk LWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZGlyZWQtZmxh Z2dlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGly ZWQtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpKSkN Ci0gICBgKGRpcmVkLWlnbm9yZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoZGlyZWQtbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXN5bWJvbCkp KQ0KLSAgIGAoZGlyZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmst c2VsKSkpDQotICAgYChkaXJlZC1wZXJtLXdyaXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCi0gICBgKGRpcmVkLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0 dG9uIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoZGlyZWQtd2FybmluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBkaXJlZC1hc3lu Yw0KLSAgIGAoZGlyZWQtYXN5bmMtZmFpbHVyZXMgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRpcmVk LWFzeW5jLW1lc3NhZ2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdo dCkgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZGlyZWQtYXN5bmMtbW9kZS1t ZXNzYWdlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3Jl Z3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLTs7Ozs7IGRpcmVkLWdpdA0KLSAgIGAoZGlyZWQtZ2l0 LWJyYW5jaC1lbHNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotICAgYChkaXJlZC1naXQtYnJhbmNoLW1hc3RlciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGRpcmVkLWdpdC1p bmZvDQotICAgYChkZ2ktY29tbWl0LW1lc3NhZ2UtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1taWxkKSkpDQotOzs7OzsgZGlyZWQtbmFycm93DQotICAgYChkaXJlZC1uYXJy b3ctYmxpbmsgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuIGJvbGQp KSkpDQotOzs7OzsgZGlyZWQtc3VidHJlZQ0KLSAgIDs7IHJlbW92ZSBiYWNrZ3JvdW5kIGZyb20g ZGlyZWQtc3VidHJlZSwgZWxzZSBpdCBicmVha3MNCi0gICA7OyBkaXJlZC17ZmxhZ2dlZCxtYXJr ZWR9IGFuZCBhbnkgb3RoZXIgZmFjZSB0aGF0IHNldHMgYSBiYWNrZ3JvdW5kDQotICAgOzsgc3Vj aCBhcyBobC1saW5lDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVwdGgtMi1mYWNlICgoLGNs YXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJlZS1kZXB0aC0zLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgbmlsKSkpDQotICAgYChkaXJlZC1zdWJ0cmVlLWRlcHRoLTQt ZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCBuaWwpKSkNCi0gICBgKGRpcmVkLXN1YnRyZWUtZGVw dGgtNS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kIG5pbCkpKQ0KLSAgIGAoZGlyZWQtc3VidHJl ZS1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgbmlsKSkpDQotOzs7OzsgZGlyZWRm bA0KLSAgIGAoZGlyZWRmbC1hdXRvZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZGlyZWRmbC1jb21wcmVzc2VkLWZpbGUtbmFtZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChkaXJlZGZsLWNv bXByZXNzZWQtZmlsZS1zdWZmaXggKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0g ICBgKGRpcmVkZmwtZGF0ZS10aW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhl cikpKQ0KLSAgIGAoZGlyZWRmbC1kZWxldGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1tYXJrLWRlbCkpKQ0KLSAgIGAoZGlyZWRmbC1kZWxldGlvbi1maWxlLW5hbWUgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtbWFyay1kZWwpKSkNCi0gICBgKGRpcmVkZmwtZGlyLWhlYWRp bmcgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcHNldWRvLWhlYWRlcikpKQ0KLSAgIGAo ZGlyZWRmbC1kaXItbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1kaXJlY3RvcnkpKSkNCi0g ICBgKGRpcmVkZmwtZGlyLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChkaXJlZGZsLWV4ZWMtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAoZGlyZWRmbC1leGVjdXRhYmxlLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGRpcmVkZmwtZmlsZS1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1tYWluKSkpDQotICAgYChkaXJlZGZsLWZpbGUtc3VmZml4ICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChkaXJlZGZsLWZsYWctbWFyayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAoZGlyZWRmbC1mbGFnLW1hcmstbGluZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAoZGlyZWRmbC1pZ25vcmVk LWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChkaXJlZGZs LWxpbmstcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBg KGRpcmVkZmwtbm8tcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChk aXJlZGZsLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGRp cmVkZmwtb3RoZXItcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChk aXJlZGZsLXJhcmUtcHJpdiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAo ZGlyZWRmbC1yZWFkLXByaXYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGRpcmVkZmwtc3ltbGluayAoKCxjbGFzcyA6aW5oZXJpdCBkaXJlZC1zeW1saW5rKSkpDQotICAg YChkaXJlZGZsLXRhZ2dlZC1hdXRvZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChkaXJlZGZsLXdyaXRlLXByaXYgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBkaXNrLXVzYWdlDQotICAgYChkaXNrLXVzYWdl LWNoaWxkcmVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGRpc2stdXNh Z2UtaW5hY2Nlc3NpYmxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkp KQ0KLSAgIGAoZGlzay11c2FnZS1wZXJjZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikp KQ0KLSAgIGAoZGlzay11c2FnZS1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChkaXNrLXVzYWdlLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3Jv dW5kICxibHVlKSkpDQotICAgYChkaXNrLXVzYWdlLXN5bWxpbmstZGlyZWN0b3J5ICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotOzs7OzsgZG9vbS1tb2Rl bGluZQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtYWN0aXZlLWJsdWUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmFyLWluYWN0aXZlICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxmZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAg IGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWNoYXJnaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS1jcml0aWNhbCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChkb29t LW1vZGVsaW5lLWJhdHRlcnktZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGlu ZS13aWR0aCAtMikNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1iYXR0ZXJ5LWZ1 bGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVs aW5lLWJhdHRlcnktbm9ybWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hY3RpdmUpKSkNCi0g ICBgKGRvb20tbW9kZWxpbmUtYmF0dGVyeS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVy LWZpbGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQot ICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZlci1tYWpvci1tb2RlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWJ1ZmZl ci1taW5vci1tb2RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAo ZG9vbS1tb2RlbGluZS1idWZmZXItbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtYnVmZmVyLXBh dGggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAg YChkb29tLW1vZGVsaW5lLWRlYnVnICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZGVidWctdmlzdWFsICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtZXZpbC1lbWFjcy1zdGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1ldmlsLWluc2VydC1z dGF0ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkN Ci0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC1tb3Rpb24tc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZp bC1ub3JtYWwtc3RhdGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0 aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWV2aWwtb3BlcmF0b3Itc3RhdGUgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9k ZWxpbmUtZXZpbC1yZXBsYWNlLXN0YXRlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtZXZpbC12aXN1YWwtc3RhdGUg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBg KGRvb20tbW9kZWxpbmUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWhvc3QgKCgsY2xhc3MgOnNs YW50IGl0YWxpYykpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1pbmZvICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGRvb20tbW9kZWxpbmUtbHNwLWVycm9yICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtbHNwLXN1Y2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Z3JlZW4tYWN0aXZlKSkpDQotICAgYChkb29tLW1vZGVsaW5lLWxzcC13YXJuaW5nICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGRvb20t bW9kZWxpbmUtcGFuZWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWJsdWUp KSkNCi0gICBgKGRvb20tbW9kZWxpbmUtcGVyc3AtYnVmZmVyLW5vdC1pbi1wZXJzcCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2ZSA6c2xhbnQgaXRhbGljKSkpDQotICAgYChkb29t LW1vZGVsaW5lLXBlcnNwLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0K LSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LWRpciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS1wcm9qZWN0LXBh cmVudC1kaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChkb29t LW1vZGVsaW5lLXByb2plY3Qtcm9vdC1kaXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2 ZSkpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS11bnJlYWQtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1hY3RpdmUgOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZG9vbS1tb2RlbGluZS11cmdl bnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAg IGAoZG9vbS1tb2RlbGluZS13YXJuaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHllbGxvdy1hY3RpdmUpKSkNCi07Ozs7OyBkeW5hbWljLXJ1bGVyDQotICAgYChkeW5hbWlj LXJ1bGVyLW5lZ2F0aXZlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1uZXV0cmFsKSkpDQotICAgYChkeW5hbWljLXJ1bGVyLXBvc2l0aXZlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCi07Ozs7OyBlYXN5LWpla3ls bA0KLSAgIGAoZWFzeS1qZWt5bGwtaGVscC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1k aW0gOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotOzs7OzsgZWFzeS1raWxsDQotICAg YChlYXN5LWtpbGwtb3JpZ2luICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1y ZWQpKSkNCi0gICBgKGVhc3kta2lsbC1zZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtc3VidGxlLXllbGxvdykpKQ0KLTs7Ozs7IGViZGINCi0gICBgKGViZGItYWRkcmVzcy1k ZWZhdWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlYmRiLWRiLWNo YXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoZWJkYi1k ZWZ1bmN0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGViZGItZmllbGQt aGlkZGVuICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlYmRiLWZpZWxk LXVybCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZWJkYi1sYWJlbCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGViZGItbWFpbC1kZWZh dWx0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChlYmRiLW1haWwtcHJp bWFyeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKGViZGItbWFya2Vk ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuLWludGVuc2UtYmcpKSkNCi0gICBgKGViZGItb3Jn YW5pemF0aW9uLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0K LSAgIGAoZWJkYi1wZXJzb24tbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQt b3RoZXIpKSkNCi0gICBgKGViZGItcGhvbmUtZGVmYXVsdCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotICAgYChlYmRiLXJvbGUtZGVmdW5jdCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChlaWVpby1jdXN0b20tc2xvdC10YWctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IGVkaWZmDQotICAgOzsgTk9URTog aGVyZSB3ZSBicmVhayBmcm9tIHRoZSBwYXR0ZXJuIG9mIGluaGVyaXRpbmcgZnJvbSB0aGUNCi0g ICA7OyBtb2R1cy10aGVtZS1kaWZmLSogZmFjZXMuDQotICAgYChlZGlmZi1jdXJyZW50LWRpZmYt QSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJnLWRpbSByZWQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJnLWRpZmYtcmVtb3ZlZCBmZy1kaWZmLXJlbW92ZWQNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1udWFuY2VkLWJnIHJlZC1mYWludCkp KSkNCi0gICBgKGVkaWZmLWN1cnJlbnQtZGlmZi1BbmNlc3RvciAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWRpZmYNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZy1kaW0gZmctc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYmctc3BlY2lhbC1jb2xkIGZnLXNwZWNpYWwtY29sZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtbnVhbmNlZC1i ZyBibHVlKSkpKQ0KLSAgIGAoZWRpZmYtY3VycmVudC1kaWZmLUIgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZy1kaW0gZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3JlZW4tbnVhbmNlZC1iZyBncmVlbi1mYWludCkpKSkNCi0gICBgKGVkaWZmLWN1 cnJlbnQtZGlmZi1DICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGltIHllbGxvdw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctZGlmZi1jaGFuZ2VkIGZnLWRpZmYtY2hh bmdlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LW51YW5j ZWQtYmcgeWVsbG93LWZhaW50KSkpKQ0KLSAgIGAoZWRpZmYtZXZlbi1kaWZmLUEgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRy YWwtMSkpKQ0KLSAgIGAoZWRpZmYtZXZlbi1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3Jv dW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkN Ci0gICBgKGVkaWZmLWV2ZW4tZGlmZi1CICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5l dXRyYWwtMSA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTEpKSkNCi0gICBgKGVkaWZmLWV2 ZW4tZGlmZi1DICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdy b3VuZCAsZmctZGlmZi1uZXV0cmFsLTIpKSkNCi0gICBgKGVkaWZmLWZpbmUtZGlmZi1BICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1kaWZmLWZvY3VzLXJlbW92ZWQgOmZvcmVncm91bmQgLGZnLWRp ZmYtZm9jdXMtcmVtb3ZlZCkpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUFuY2VzdG9yICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChlZGlmZi1maW5l LWRpZmYtQiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1mb2N1cy1hZGRlZCA6Zm9yZWdy b3VuZCAsZmctZGlmZi1mb2N1cy1hZGRlZCkpKQ0KLSAgIGAoZWRpZmYtZmluZS1kaWZmLUMgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtZm9jdXMtY2hhbmdlZCA6Zm9yZWdyb3VuZCAsZmct ZGlmZi1mb2N1cy1jaGFuZ2VkKSkpDQotICAgYChlZGlmZi1vZGQtZGlmZi1BICgoLGNsYXNzIDpi YWNrZ3JvdW5kICxiZy1kaWZmLW5ldXRyYWwtMiA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFs LTIpKSkNCi0gICBgKGVkaWZmLW9kZC1kaWZmLUFuY2VzdG9yICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy1kaWZmLW5ldXRyYWwtMCA6Zm9yZWdyb3VuZCAsZmctZGlmZi1uZXV0cmFsLTApKSkNCi0g ICBgKGVkaWZmLW9kZC1kaWZmLUIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJh bC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikpKQ0KLSAgIGAoZWRpZmYtb2RkLWRp ZmYtQyAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlmZi1uZXV0cmFsLTEgOmZvcmVncm91bmQg LGZnLWRpZmYtbmV1dHJhbC0xKSkpDQotOzs7OzsgZWdsb3QNCi0gICBgKGVnbG90LW1vZGUtbGlu ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hY3RpdmUpKSkNCi07Ozs7OyBlbC1zZWFyY2gNCi0gICBgKGVsLXNlYXJjaC1o aWdobGlnaHQtaW4tcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGVsLXNlYXJjaC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChlbC1zZWFyY2gtb3RoZXItbWF0 Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotICAgYChl bC1zZWFyY2gtb2NjdXItbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lh bC1jYWxtKSkpDQotOzs7OzsgZWxkb2MNCi0gICA7OyBOT1RFOiBzZWUgaHR0cHM6Ly9naXRodWIu Y29tL3B1cmNlbGwvcGFja2FnZS1saW50L2lzc3Vlcy8xODcNCi0gICAobGlzdCAnZWxkb2MtaGln aGxpZ2h0LWZ1bmN0aW9uLWFyZ3VtZW50IGAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGVsZG9jLWJveA0KLSAgIGAoZWxkb2MtYm94 LWJvZHkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoZWxkb2MtYm94LWJvcmRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctYWx0KSkp DQotOzs7OzsgZWxmZWVkDQotICAgYChlbGZlZWQtbG9nLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGVsZmVlZC1sb2ctZGVidWctbGV2ZWwtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZWxmZWVkLWxvZy1lcnJvci1s ZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVsZmVlZC1sb2ct aW5mby1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoZWxm ZWVkLWxvZy13YXJuLWxldmVsLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0K LSAgIGAoZWxmZWVkLXNlYXJjaC1kYXRlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt bnVhbmNlZCkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC1mZWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtZmlsdGVyLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGVsZmVl ZC1zZWFyY2gtbGFzdC11cGRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3Rp dmUpKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtdGFnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAoZWxmZWVkLXNlYXJjaC10aXRsZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKGVsZmVlZC1zZWFyY2gtdW5yZWFkLWNvdW50 LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoZWxmZWVk LXNlYXJjaC11bnJlYWQtdGl0bGUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotOzs7OzsgZWxmZWVkLXNjb3JlDQotICAgYChlbGZlZWQtc2NvcmUt ZGF0ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlbGZlZWQtc2Nv cmUtZGVidWctbGV2ZWwtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGVsZmVlZC1zY29yZS1lcnJvci1sZXZlbC1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxyZWQpKSkNCi0gICBgKGVsZmVlZC1zY29yZS1pbmZvLWxldmVsLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVsZmVlZC1zY29yZS13YXJuLWxldmVsLWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IGVtbXMNCi0gICBgKGVt bXMtcGxheWxpc3QtdHJhY2stZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAg IGAoZW1tcy1wbGF5bGlzdC1zZWxlY3RlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi07Ozs7OyBlbmhhbmNlZC1ydWJ5LW1vZGUNCi0gICBgKGVu aC1ydWJ5LWhlcmVkb2MtZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUt YWx0LW90aGVyKSkpDQotICAgYChlbmgtcnVieS1vcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChlbmgtcnVieS1yZWdleHAtZGVsaW1pdGVyLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChlbmgtcnVieS1yZWdleHAtZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZW5oLXJ1Ynktc3RyaW5nLWRlbGlt aXRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZXJtLXN5 bi1lcnJsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQotICAg YChlcm0tc3luLXdhcm5saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnVuZGVybGlu ZSB0KSkpDQotOzs7OzsgZXBhDQotICAgYChlcGEtZmllbGQtYm9keSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoZXBhLWZpZWxkLW5hbWUgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChlcGEtbWFyayAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlcGEtc3RyaW5nICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWRpc2FibGVk ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKGVwYS12 YWxpZGl0eS1oaWdoICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KLSAgIGAoZXBhLXZhbGlkaXR5LWxvdyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYChlcGEtdmFsaWRpdHktbWVkaXVtICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxncmVlbi1hbHQpKSkNCi07Ozs7OyBlcXVha2UNCi0gICBgKGVxdWFrZS1idWZmZXItZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAoZXF1YWtlLXNoZWxsLXR5cGUtZXNoZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZSA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotICAgYChlcXVha2Utc2hlbGwtdHlw ZS1yYXNoICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAscmVk LWFjdGl2ZSkpKQ0KLSAgIGAoZXF1YWtlLXNoZWxsLXR5cGUtc2hlbGwgKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoZXF1 YWtlLXNoZWxsLXR5cGUtdGVybSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUgOmZv cmVncm91bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGVxdWFrZS1zaGVsbC10eXBlLXZ0ZXJt ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1h Y3RpdmUpKSkNCi0gICBgKGVxdWFrZS10YWItYWN0aXZlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxm Zy1hbHQgOmZvcmVncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoZXF1YWtlLXRhYi1pbmFjdGl2ZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi07Ozs7OyBlcmMNCi0gICBgKGVy Yy1hY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChlcmMtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGVy Yy1idXR0b24gKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uKSkpDQotICAgYChlcmMtY29tbWFuZC1p bmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFs dCkpKQ0KLSAgIGAoZXJjLWN1cnJlbnQtbmljay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoZXJjLWRhbmdlcm91cy1ob3N0LWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKGVyYy1kaXJlY3Qt bXNnLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVyYy1lcnJv ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo ZXJjLWZvb2wtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBg KGVyYy1oZWFkZXItbGluZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3Jv dW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGVyYy1pbnB1dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKGVyYy1pbnZlcnNlLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgZXJjLWRlZmF1bHQtZmFjZSA6aW52ZXJzZS12aWRlbyB0KSkpDQotICAgYChlcmMt a2V5d29yZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0KSkpDQotICAgYChlcmMtbXktbmljay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVyYy1teS1uaWNrLXByZWZpeC1mYWNlICgoLGNs YXNzIDppbmhlcml0IGVyYy1teS1uaWNrLWZhY2UpKSkNCi0gICBgKGVyYy1uaWNrLWRlZmF1bHQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChl cmMtbmljay1tc2ctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVl bikpKQ0KLSAgIGAoZXJjLW5pY2stcHJlZml4LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXJjLW5p Y2stZGVmYXVsdC1mYWNlKSkpDQotICAgYChlcmMtbm90aWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAoZXJjLXBhbC1mYWNlICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKGVyYy1wcm9tcHQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAg IGAoZXJjLXRpbWVzdGFtcC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQp KSkNCi0gICBgKGVyYy11bmRlcmxpbmUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0g ICBgKGJnOmVyYy1jb2xvci1mYWNlMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAid2hpdGUiKSkpDQot ICAgYChiZzplcmMtY29sb3ItZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgImJsYWNrIikpKQ0K LSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0 bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTEgKCgsY2xhc3MgOmJhY2tncm91bmQg LGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UxMiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlMTMg KCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtc3VidGxlLWJnKSkpDQotICAgYChiZzplcmMt Y29sb3ItZmFjZTE0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5NjAiKSkpDQotICAgYChiZzpl cmMtY29sb3ItZmFjZTE1ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICJncmF5ODAiKSkpDQotICAgYChi ZzplcmMtY29sb3ItZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtaW50ZW5zZS1iZykp KQ0KLSAgIGAoYmc6ZXJjLWNvbG9yLWZhY2UzICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbi1p bnRlbnNlLWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTQgKCgsY2xhc3MgOmJhY2tncm91 bmQgLHJlZC1zdWJ0bGUtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlNSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcpKSkNCi0gICBgKGJnOmVyYy1jb2xvci1mYWNlNiAo KCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkNCi0gICBgKGJnOmVyYy1j b2xvci1mYWNlNyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93LXN1YnRsZS1iZykpKQ0KLSAg IGAoYmc6ZXJjLWNvbG9yLWZhY2U4ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctcmVmaW5l LWJnKSkpDQotICAgYChiZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdy ZWVuLXN1YnRsZS1iZykpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UwICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICJ3aGl0ZSIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlMSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAiYmxhY2siKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTEwICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTExICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2UxMyAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1m YWNlMTQgKCgsY2xhc3MgOmZvcmVncm91bmQgImdyYXk2MCIpKSkNCi0gICBgKGZnOmVyYy1jb2xv ci1mYWNlMTUgKCgsY2xhc3MgOmZvcmVncm91bmQgImdyYXk4MCIpKSkNCi0gICBgKGZnOmVyYy1j b2xvci1mYWNlMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBg KGZnOmVyYy1jb2xvci1mYWNlMyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBg KGZnOmVyYy1jb2xvci1mYWNlNCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChm ZzplcmMtY29sb3ItZmFjZTUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBg KGZnOmVyYy1jb2xvci1mYWNlNiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKGZnOmVyYy1jb2xvci1mYWNlNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoZmc6ZXJjLWNvbG9yLWZhY2U4ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChmZzplcmMtY29sb3ItZmFjZTkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLTs7Ozs7IGVyb3MNCi0gICBgKGVyb3Mt cmVzdWx0LW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3Ig LGJsdWUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91 bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7OzsgZXJ0DQotICAgYChlcnQt dGVzdC1yZXN1bHQtZXhwZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5z ZS1ncmVlbikpKQ0KLSAgIGAoZXJ0LXRlc3QtcmVzdWx0LXVuZXhwZWN0ZWQgKCgsY2xhc3MgOmlu aGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi07Ozs7OyBlc2hlbGwNCi0gICBgKGVz aGVsbC1scy1hcmNoaXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4t YWx0KSkpDQotICAgYChlc2hlbGwtbHMtYmFja3VwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctYWx0KSkpDQotICAgYChlc2hlbGwtbHMtY2x1dHRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLWRpcmVjdG9yeSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWxzLWV4ZWN1dGFibGUg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChlc2hlbGwtbHMtbWlz c2luZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAo ZXNoZWxsLWxzLXByb2R1Y3QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkp KQ0KLSAgIGAoZXNoZWxsLWxzLXJlYWRvbmx5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLWNvbGQpKSkNCi0gICBgKGVzaGVsbC1scy1zcGVjaWFsICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVzaGVsbC1scy1zeW1saW5rICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZXNoZWxsLWxz LXVucmVhZGFibGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5k ICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAoZXNoZWxsLXByb21wdCAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChtb2R1cy12aXZlbmRpLXRoZW1lLXByb21wdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBncmVlbi1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl ZW4tbnVhbmNlZC1iZyBncmVlbi1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3JlZW4tcmVmaW5lLWJnIGZnLW1haW4pKSkpDQotOzs7OzsgZXNoZWxsLWZyaW5nZS1zdGF0dXMN Ci0gICBgKGVzaGVsbC1mcmluZ2Utc3RhdHVzLWZhaWx1cmUgKCgsY2xhc3MgOmZvcmVncm91bmQg LHJlZCkpKQ0KLSAgIGAoZXNoZWxsLWZyaW5nZS1zdGF0dXMtc3VjY2VzcyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZ3JlZW4pKSkNCi07Ozs7OyBlc2hlbGwtZ2l0LXByb21wdA0KLSAgIGAoZXNoZWxs LWdpdC1wcm9tcHQtYWRkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAg IGAoZXNoZWxsLWdpdC1wcm9tcHQtYnJhbmNoLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWFsdCkpKQ0KLSAgIGAoZXNoZWxsLWdpdC1wcm9tcHQtZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0LWV4aXQtZmFpbC1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGVzaGVsbC1naXQtcHJvbXB0 LWV4aXQtc3VjY2Vzcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAo ZXNoZWxsLWdpdC1wcm9tcHQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVs bG93KSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtY2xlYW4tZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXBy b21wdC1wb3dlcmxpbmUtZGlyLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5l LWJnKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1wb3dlcmxpbmUtbm90LWNsZWFuLWZhY2Ug KCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtcmVmaW5lLWJnKSkpDQotICAgYChlc2hlbGwt Z2l0LXByb21wdC1yb2J5cnVzc2VsbC1icmFuY2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkKSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21wdC1yb2J5cnVzc2VsbC1naXQtZGlydHktZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChlc2hlbGwtZ2l0LXByb21w dC1yb2J5cnVzc2VsbC1naXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLTs7 Ozs7IGVzaGVsbC1wcm9tcHQtZXh0cmFzIChlcGUpDQotICAgYChlcGUtZGlyLWZhY2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGJsdWUp KSkNCi0gICBgKGVwZS1naXQtZGlyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQt b3RoZXIpKSkNCi0gICBgKGVwZS1naXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQpKSkNCi0gICBgKGVwZS1waXBlbGluZS1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChlcGUtcGlwZWxpbmUtaG9zdC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChlcGUtcGlwZWxpbmUtdGltZS1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGVwZS1waXBlbGluZS11 c2VyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGVwZS1yZW1v dGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKGVwZS1zdGF0dXMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGVwZS12ZW52LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotOzs7OzsgZXNoZWxsLXN5 bnRheC1oaWdobGlnaHRpbmcNCi0gICBgKGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nLWFsaWFz LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGVzaGVsbC1zeW50YXgt aGlnaGxpZ2h0aW5nLWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1kaXJlY3RvcnktZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmct ZW52dmFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChl c2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1pbnZhbGlkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZCkpKQ0KLSAgIGAoZXNoZWxsLXN5bnRheC1oaWdobGlnaHRpbmctbGlzcC1mdW5jdGlv bi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChlc2hlbGwtc3lu dGF4LWhpZ2hsaWdodGluZy1zaGVsbC1jb21tYW5kLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChlc2hlbGwtc3ludGF4LWhpZ2hsaWdodGluZy1zdHJp bmctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi07Ozs7OyBldmlsLW1v ZGUNCi0gICBgKGV2aWwtZXgtY29tbWFuZHMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChldmlsLWV4LWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYChldmlsLWV4LWxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChldmlsLWV4LXNlYXJjaCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYChldmls LWV4LXN1YnN0aXR1dGUtbWF0Y2hlcyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZp bmUteWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZXZpbC1leC1zdWJzdGl0dXRlLXJlcGxh Y2VtZW50ICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQp KSkpDQotOzs7OzsgZXZpbC1nb2dnbGVzDQotICAgYChldmlsLWdvZ2dsZXMtY2hhbmdlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZXZp bC1nb2dnbGVzLWNvbW1lbnRhcnktZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtbmV1dHJhbCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChldmlsLWdv Z2dsZXMtZGVmYXVsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1u ZXV0cmFsKSkpDQotICAgYChldmlsLWdvZ2dsZXMtZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtcmVmaW5lLXJlZCkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWZpbGwtYW5k LW1vdmUtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkp DQotICAgYChldmlsLWdvZ2dsZXMtaW5kZW50LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZXZpbC1n b2dnbGVzLWRlZmF1bHQtZmFjZSkpKQ0KLSAgIGAoZXZpbC1nb2dnbGVzLWpvaW4tZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKGV2aWwtZ29n Z2xlcy1uZXJkLWNvbW1lbnRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGV2aWwtZ29nZ2xlcy1j b21tZW50YXJ5LWZhY2UpKSkNCi0gICBgKGV2aWwtZ29nZ2xlcy1wYXN0ZS1mYWNlICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChldmlsLWdvZ2dsZXMt cmVjb3JkLW1hY3JvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1j b2xkKSkpDQotICAgYChldmlsLWdvZ2dsZXMtcmVwbGFjZS13aXRoLXJlZ2lzdGVyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi0gICBgKGV2aWwt Z29nZ2xlcy1zZXQtbWFya2VyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhKSkpDQotICAgYChldmlsLWdvZ2dsZXMtc2hpZnQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNlKSkpDQotICAgYChldmlsLWdvZ2dsZXMt c3Vycm91bmQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBldmlsLWdvZ2dsZXMtZGVmYXVsdC1mYWNl KSkpDQotICAgYChldmlsLWdvZ2dsZXMteWFuay1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotOzs7OzsgZXZpbC12aXN1YWwtbWFyay1tb2RlDQotICAg YChldmlsLXZpc3VhbC1tYXJrLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1tYWdlbnRhKSkpDQotOzs7OzsgZXd3DQotICAgYChld3ctaW52YWxpZC1jZXJ0aWZpY2F0 ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAoZXd3LXZhbGlkLWNl cnRpZmljYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGV3 dy1mb3JtLWNoZWNrYm94ICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDEgOmNvbG9yICxmZy1p bmFjdGl2ZSA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6YmFja2dyb3VuZCAsYmctaW5hY3RpdmUg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGV3dy1mb3JtLWZpbGUgKCgsY2xhc3MgOmJv eCAoOmxpbmUtd2lkdGggMSA6Y29sb3IgLGZnLWluYWN0aXZlIDpzdHlsZSByZWxlYXNlZC1idXR0 b24pIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBg KGV3dy1mb3JtLXNlbGVjdCAoKCxjbGFzcyA6aW5oZXJpdCBld3ctZm9ybS1jaGVja2JveCkpKQ0K LSAgIGAoZXd3LWZvcm0tc3VibWl0ICgoLGNsYXNzIDppbmhlcml0IGV3dy1mb3JtLWZpbGUpKSkN Ci0gICBgKGV3dy1mb3JtLXRleHQgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMSA6Y29sb3Ig LGZnLWluYWN0aXZlIDpzdHlsZSBub25lKSA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1hY3RpdmUpKSkNCi0gICBgKGV3dy1mb3JtLXRleHRhcmVhICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi07Ozs7OyBleWVicm93c2UN Ci0gICBgKGV5ZWJyb3dzZS1tb2RlLWxpbmUtYWN0aXZlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotOzs7OzsgZmFuY3ktZGFiYnJldg0KLSAgIGAo ZmFuY3ktZGFiYnJldi1tZW51LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmYW5jeS1kYWJicmV2LXByZXZpZXctZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmFuY3ktZGFi YnJldi1zZWxlY3Rpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5z ZS1jeWFuIGJvbGQpKSkpDQotOzs7OzsgZmx5Y2hlY2sNCi0gICBgKGZseWNoZWNrLWVycm9yDQot ICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNs YXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdh dmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGlu ZSB0KSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWNoZWNrZXItbmFtZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3Qt Y29sdW1uLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQot ICAgYChmbHljaGVjay1lcnJvci1saXN0LWVycm9yICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGZseWNoZWNrLWVy cm9yLWxpc3QtZmlsZW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGZs eWNoZWNrLWVycm9yLWxpc3QtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWhsLWxpbmUpKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtaWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWlk LXdpdGgtZXhwbGFpbmVyICgoLGNsYXNzIDppbmhlcml0IGZseWNoZWNrLWVycm9yLWxpc3QtaWQg OmJveCB0KSkpDQotICAgYChmbHljaGVjay1lcnJvci1saXN0LWluZm8gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKGZseWNoZWNrLWVycm9yLWxpc3QtbGluZS1udW1iZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoZmx5Y2hlY2stZXJy b3ItbGlzdC13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGZs eWNoZWNrLWZyaW5nZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2Ut cmVkKSkpDQotICAgYChmbHljaGVjay1mcmluZ2UtaW5mbyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1mcmluZ2UtY3lhbikpKQ0KLSAgIGAoZmx5Y2hlY2stZnJpbmdlLXdhcm5pbmcgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLXllbGxvdykpKQ0KLSAgIGAoZmx5Y2hl Y2staW5mbw0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5lICg6c3R5bGUg d2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxmZy1sYW5nLW5vdGUg OnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWxhbmctbm90ZSA6 dW5kZXJsaW5lIHQpKSkNCi0gICBgKGZseWNoZWNrLXZlcmlmeS1zZWxlY3QtY2hlY2tlciAoKCxj bGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciBuaWwgOnN0eWxlIHJlbGVhc2VkLWJ1dHRv bikpKSkNCi0gICBgKGZseWNoZWNrLXdhcm5pbmcNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9y dHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUg KDpjb2xvciAsZmctbGFuZy13YXJuaW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1sYW5nLXdhcm5pbmcgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgZmx5Y2hl Y2stY29sb3ItbW9kZS1saW5lDQotICAgYChmbHljaGVjay1jb2xvci1tb2RlLWxpbmUtZXJyb3It ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBmbHljaGVjay1mcmluZ2UtZXJyb3IpKSkNCi0gICBgKGZs eWNoZWNrLWNvbG9yLW1vZGUtbGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgZmx5Y2hl Y2stZnJpbmdlLWluZm8pKSkNCi0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1ydW5uaW5n LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlIDpzbGFudCBpdGFsaWMpKSkN Ci0gICBgKGZseWNoZWNrLWNvbG9yLW1vZGUtbGluZS1pbmZvLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgZmx5Y2hlY2stZnJpbmdlLXdhcm5pbmcpKSkNCi07Ozs7OyBmbHljaGVjay1pbmRpY2F0b3IN Ci0gICBgKGZseWNoZWNrLWluZGljYXRvci1kaXNhYmxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctaW5hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZmx5Y2hlY2st aW5kaWNhdG9yLWVycm9yICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWln aHQpIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChmbHljaGVjay1pbmRpY2F0b3It aW5mbyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdy b3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGZseWNoZWNrLWluZGljYXRvci1ydW5uaW5nICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXN1Y2Nlc3MgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGdyZWVu LWFjdGl2ZSkpKQ0KLSAgIGAoZmx5Y2hlY2staW5kaWNhdG9yLXdhcm5pbmcgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUpKSkNCi07Ozs7OyBmbHljaGVjay1wb3NmcmFtZQ0KLSAgIGAoZmx5Y2hlY2stcG9zZnJhbWUt YmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKGZs eWNoZWNrLXBvc2ZyYW1lLWJvcmRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWVycm9yLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKGZseWNoZWNrLXBvc2ZyYW1lLWluZm8tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xk IDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChmbHljaGVjay1wb3NmcmFtZS13YXJuaW5nLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7Ozsg Zmx5bWFrZQ0KLSAgIGAoZmx5bWFrZS1lcnJvcg0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0 cyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAo OmNvbG9yICxmZy1sYW5nLWVycm9yIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1sYW5nLWVycm9yIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoZmx5bWFrZS1ub3Rl DQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkp IGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29sb3IgLGZnLWxhbmctbm90ZSA6c3R5bGUg d2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1ub3RlIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAoZmx5bWFrZS13YXJuaW5nDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBv cnRzIDp1bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5l ICg6Y29sb3IgLGZnLWxhbmctd2FybmluZyA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctbGFuZy13YXJuaW5nIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGZseXNw ZWxsDQotICAgYChmbHlzcGVsbC1kdXBsaWNhdGUNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9y dHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUg KDpjb2xvciAsZmctbGFuZy13YXJuaW5nIDpzdHlsZSB3YXZlKSkNCi0gICAgICAoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1sYW5nLXdhcm5pbmcgOnVuZGVybGluZSB0KSkpDQotICAgYChmbHlzcGVs bC1pbmNvcnJlY3QNCi0gICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0 eWxlIHdhdmUpKSkgY2xhc3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZmctbGFuZy1l cnJvciA6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbGFuZy1l cnJvciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBmbHlzcGVsbC1jb3JyZWN0DQotICAgYChmbHlz cGVsbC1jb3JyZWN0LWhpZ2hsaWdodC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS1ncmVlbikpKQ0KLTs7Ozs7IGZseA0KLSAgIGAoZmx4LWhpZ2hsaWdodC1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5z ZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQp KSkpDQotOzs7OzsgZnJlZXplLWl0DQotICAgYChmcmVlemUtaXQtc2hvdyAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7OyBm cm9nLW1lbnUNCi0gICBgKGZyb2ctbWVudS1hY3Rpb24ta2V5YmluZGluZy1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAoZnJvZy1tZW51LWFjdGlvbnMt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZnJvZy1tZW51LWJv cmRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlKSkpDQotICAgYChmcm9nLW1lbnUt Y2FuZGlkYXRlcy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChm cm9nLW1lbnUtcG9zZnJhbWUtYmFja2dyb3VuZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxi Zy1kaW0pKSkNCi0gICBgKGZyb2ctbWVudS1wcm9tcHQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLTs7Ozs7IGZvY3VzDQotICAgYChmb2N1cy11bmZvY3VzZWQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLTs7Ozs7IGZvbGQtdGhpcw0KLSAgIGAoZm9s ZC10aGlzLW92ZXJsYXkgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxk KSkpDQotOzs7OzsgZm9udC1sb2NrDQotICAgYChmb250LWxvY2stYnVpbHRpbi1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChmb250LWxvY2stY29tbWVudC1kZWxpbWl0 ZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb250LWxvY2st Y29uc3RhbnQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFs dC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKGZvbnQtbG9jay1kb2MtZmFj ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmctc3BlY2lhbC1jb2xkIGN5YW4tYWx0 LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzbGFudCAs bW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGZvbnQtbG9jay1mdW5jdGlvbi1uYW1lLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEt ZmFpbnQpKSkpDQotICAgYChmb250LWxvY2sta2V5d29yZC1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChmb250LWxvY2stbmVnYXRpb24tY2hhci1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93IHllbGxv dy1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKGZvbnQtbG9jay1wcmVw cm9jZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVk LWFsdC1vdGhlciByZWQtYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXJlZ2V4 cC1ncm91cGluZy1iYWNrc2xhc2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctZXNjYXBlLWNoYXItYmFja3NsYXNoKSkpDQotICAgYChmb250LWxvY2stcmVnZXhwLWdyb3Vw aW5nLWNvbnN0cnVjdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2Nh cGUtY2hhci1jb25zdHJ1Y3QpKSkNCi0gICBgKGZvbnQtbG9jay1zdHJpbmctZmFjZSAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQgYmx1ZS1hbHQtZmFpbnQpKSkpDQot ICAgYChmb250LWxvY2stdHlwZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYChmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lh biBjeWFuLWZhaW50KSkpKQ0KLSAgIGAoZm9udC1sb2NrLXdhcm5pbmctZmFjZSAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdy1hY3RpdmUgeWVsbG93LWFsdC1mYWludCkN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1ib2xkLXdlaWdodCkpKSkNCi07Ozs7OyBmb3JnZQ0KLSAgIGAoZm9yZ2UtcG9zdC1hdXRo b3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo Zm9yZ2UtcG9zdC1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKGZvcmdlLXRvcGljLWNsb3NlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChmb3JnZS10b3BpYy1tZXJnZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAoZm9yZ2UtdG9waWMtb3BlbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1taWxkKSkpDQotICAgYChmb3JnZS10b3BpYy11bm1lcmdlZCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChmb3JnZS10b3Bp Yy11bnJlYWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LTs7Ozs7IGZvdW50YWluLW1vZGUNCi0gICBgKGZvdW50YWluLWNoYXJhY3RlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGZvdW50YWluLWNvbW1lbnQgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQot ICAgYChmb3VudGFpbi1kaWFsb2cgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChmb3VudGFpbi1tZXRhZGF0YS1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFs dC1vdGhlcikpKQ0KLSAgIGAoZm91bnRhaW4tbWV0YWRhdGEtdmFsdWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUpKSkNCi0gICBgKGZvdW50YWluLW5vbi1wcmludGluZyAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChmb3VudGFpbi1ub3RlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZm91bnRhaW4t cGFnZS1icmVhayAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQotICAgYChmb3VudGFpbi1wYWdlLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChmb3VudGFpbi1wYXJlbiAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZm91bnRhaW4tc2NlbmUtaGVhZGluZyAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKGZvdW50 YWluLXNlY3Rpb24taGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUt dmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1tYWluDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12 aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmct MSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpm b3JlZ3JvdW5kICxmZy1tYWluDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2Nh bGUtNCkpKSkNCi0gICBgKGZvdW50YWluLXNlY3Rpb24taGVhZGluZy0yICgoLGNsYXNzIDppbmhl cml0IChib2xkICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtd2FybQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTMpKSkp DQotICAgYChmb3VudGFpbi1zZWN0aW9uLWhlYWRpbmctMyAoKCxjbGFzcyA6aW5oZXJpdCAoYm9s ZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1p bGQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS0yKSkpKQ0KLSAgIGAo Zm91bnRhaW4tc2VjdGlvbi1oZWFkaW5nLTQgKCgsY2xhc3MgOmluaGVyaXQgKGJvbGQgLG1vZHVz LXRoZW1lLXZhcmlhYmxlLXBpdGNoKSA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtMSkpKSkNCi0gICBgKGZvdW50YWlu LXNlY3Rpb24taGVhZGluZy01ICgoLGNsYXNzIDppbmhlcml0IChib2xkICxtb2R1cy10aGVtZS12 YXJpYWJsZS1waXRjaCkgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoZm91 bnRhaW4tc3lub3BzaXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChm b3VudGFpbi10cmFucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LTs7Ozs7IGdlaXNlcg0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1hdXRvZG9jLWN1cnJlbnQtYXJn ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRh IG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLWF1dG9kb2MtaWRlbnRp ZmllciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVl IGJsdWUtZmFpbnQpKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLWRvYy1idXR0b24gKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0IGN5YW4tYWx0LWZhaW50 KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAoZ2Vpc2VyLWZvbnQtbG9jay1kb2MtbGluayAoKCxjbGFzcyA6aW5oZXJpdCBs aW5rKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLWVycm9yLWxpbmsgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBg KGdlaXNlci1mb250LWxvY2staW1hZ2UtYnV0dG9uICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGdyZWVuLWFsdCBncmVlbi1hbHQtZmFpbnQpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGdl aXNlci1mb250LWxvY2stcmVwbC1pbnB1dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAg YChnZWlzZXItZm9udC1sb2NrLXJlcGwtb3V0cHV0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFpbnQp KSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXJlcGwtcHJvbXB0ICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1hbHQtb3RoZXItZmFp bnQpKSkpDQotICAgYChnZWlzZXItZm9udC1sb2NrLXhyZWYtaGVhZGVyICgoLGNsYXNzIDppbmhl cml0IGJvbGQpKSkNCi0gICBgKGdlaXNlci1mb250LWxvY2steHJlZi1saW5rICgoLGNsYXNzIDpp bmhlcml0IGxpbmspKSkNCi07Ozs7OyBnaXQtY29tbWl0DQotICAgYChnaXQtY29tbWl0LWNvbW1l bnQtYWN0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVt ZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWJyYW5jaC1sb2NhbCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAg IGAoZ2l0LWNvbW1pdC1jb21tZW50LWJyYW5jaC1yZW1vdGUgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGdpdC1jb21t aXQtY29tbWVudC1kZXRhY2hlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQgOnNsYW50 ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoZ2l0LWNvbW1pdC1jb21tZW50LWZpbGUgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNs YW50KSkpDQotICAgYChnaXQtY29tbWl0LWNvbW1lbnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1kaW0gOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAoZ2l0LWNvbW1pdC1rZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkp DQotICAgYChnaXQtY29tbWl0LWtub3duLXBzZXVkby1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChnaXQtY29tbWl0LW5vbmVtcHR5LXNlY29uZC1s aW5lICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS15ZWxsb3cpKSkNCi0gICBg KGdpdC1jb21taXQtb3Zlcmxvbmctc3VtbWFyeSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChnaXQtY29tbWl0LXBzZXVkby1oZWFkZXIgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGdpdC1jb21taXQtc3VtbWFyeSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7OzsgZ2l0LWd1dHRlcg0K LSAgIGAoZ2l0LWd1dHRlcjphZGRlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmlu Z2UtZ3JlZW4pKSkNCi0gICBgKGdpdC1ndXR0ZXI6ZGVsZXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChnaXQtZ3V0dGVyOm1vZGlmaWVkICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi0gICBgKGdpdC1ndXR0 ZXI6c2VwYXJhdG9yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkp DQotICAgYChnaXQtZ3V0dGVyOnVuY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1mcmluZ2UtbWFnZW50YSkpKQ0KLTs7Ozs7IGdpdC1ndXR0ZXItZnINCi0gICBgKGdpdC1ndXR0 ZXItZnI6YWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkp DQotICAgYChnaXQtZ3V0dGVyLWZyOmRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcjptb2RpZmllZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQotOzs7OzsgZ2l0LXtndXR0ZXIs ZnJpbmdlfSsNCi0gICBgKGdpdC1ndXR0ZXIrLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWZyaW5nZS1ncmVlbikpKQ0KLSAgIGAoZ2l0LWd1dHRlcistZGVsZXRlZCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtcmVkKSkpDQotICAgYChnaXQtZ3V0dGVyKy1t b2RpZmllZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UteWVsbG93KSkpDQot ICAgYChnaXQtZ3V0dGVyKy1zZXBhcmF0b3IgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt ZnJpbmdlLWN5YW4pKSkNCi0gICBgKGdpdC1ndXR0ZXIrLXVuY2hhbmdlZCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1mcmluZ2UtbWFnZW50YSkpKQ0KLSAgIGAoZ2l0LWd1dHRlci1mcist YWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWdyZWVuKSkpDQotICAg YChnaXQtZ3V0dGVyLWZyKy1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZy aW5nZS1yZWQpKSkNCi0gICBgKGdpdC1ndXR0ZXItZnIrLW1vZGlmaWVkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWZyaW5nZS15ZWxsb3cpKSkNCi07Ozs7OyBnaXQtbGVucw0KLSAgIGAo Z2l0LWxlbnMtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4p KSkNCi0gICBgKGdpdC1sZW5zLWRlbGV0ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAscmVkKSkpDQotICAgYChnaXQtbGVucy1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6aGVpZ2h0IDEuMSA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoZ2l0LWxlbnMtbW9kaWZp ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChn aXQtbGVucy1yZW5hbWVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi07Ozs7OyBnaXQtcmViYXNlDQotICAgYChnaXQtcmViYXNlLWNvbW1lbnQtaGFzaCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUt c2xhbnQpKSkNCi0gICBgKGdpdC1yZWJhc2UtY29tbWVudC1oZWFkaW5nICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWRpbSA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChnaXQtcmViYXNlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChnaXQtcmViYXNlLWhhc2ggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4t YWx0LW90aGVyKSkpDQotOzs7OzsgZ2l0LXRpbWVtYWNoaW5lDQotICAgYChnaXQtdGltZW1hY2hp bmUtY29tbWl0ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1hY3Rp dmUpKSkNCi0gICBgKGdpdC10aW1lbWFjaGluZS1taW5pYnVmZmVyLWF1dGhvci1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGdpdC10aW1lbWFjaGlu ZS1taW5pYnVmZmVyLWRldGFpbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkp DQotOzs7OzsgZ2l0LXdhbGt0cmVlDQotICAgYChnaXQtd2Fsa3RyZWUtY29tbWl0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZ2l0LXdhbGt0cmVlLXN5bWxpbmst ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24gOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGdpdC13YWxrdHJlZS10cmVlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkN Ci07Ozs7OyBnbnVzDQotICAgYChnbnVzLWJ1dHRvbiAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24p KSkNCi0gICBgKGdudXMtY2l0ZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LSAgIGAoZ251cy1jaXRlLTEwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhl cikpKQ0KLSAgIGAoZ251cy1jaXRlLTExICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyKSkpDQotICAgYChnbnVzLWNpdGUtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFs dCkpKQ0KLSAgIGAoZ251cy1jaXRlLTMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkp KQ0KLSAgIGAoZ251cy1jaXRlLTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkp DQotICAgYChnbnVzLWNpdGUtNSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdCkpKQ0K LSAgIGAoZ251cy1jaXRlLTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAg YChnbnVzLWNpdGUtNyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0g ICBgKGdudXMtY2l0ZS04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQot ICAgYChnbnVzLWNpdGUtOSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkp DQotICAgYChnbnVzLWNpdGUtYXR0cmlidXRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4gOnNsYW50IGl0YWxpYykpKQ0KLSAgIGAoZ251cy1lbXBoYXNpcy1oaWdobGlnaHQtd29yZHMg KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykpKQ0KLSAgIGAoZ251 cy1ncm91cC1tYWlsLTEgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hbHQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC0xLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWlsLTIgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoZ251cy1ncm91cC1tYWls LTItZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdudXMtZ3Jv dXAtbWFpbC0zICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 LW90aGVyKSkpDQotICAgYChnbnVzLWdyb3VwLW1haWwtMy1lbXB0eSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtZ3JvdXAtbWFpbC1sb3cgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1udWFuY2VkKSkpDQotICAg YChnbnVzLWdyb3VwLW1haWwtbG93LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0xICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtMS1lbXB0eSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy0yICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGdudXMtZ3Jv dXAtbmV3cy0yLWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVz LWdyb3VwLW5ld3MtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ct bnVhbmNlZCkpKQ0KLSAgIGAoZ251cy1ncm91cC1uZXdzLTMtZW1wdHkgKCgsY2xhc3MgOmZvcmVn cm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKGdudXMt Z3JvdXAtbmV3cy00LWVtcHR5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLW51YW5jZWQpKSkN Ci0gICBgKGdudXMtZ3JvdXAtbmV3cy01ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtNS1lbXB0eSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkNCi0gICBgKGdudXMtZ3JvdXAtbmV3cy02ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1n cm91cC1uZXdzLTYtZW1wdHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAo Z251cy1ncm91cC1uZXdzLWxvdyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxn cmVlbi1udWFuY2VkKSkpDQotICAgYChnbnVzLWdyb3VwLW5ld3MtbG93LWVtcHR5ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxncmVlbi1udWFuY2VkKSkpDQotICAgYChnbnVzLWhlYWRlci1jb250ZW50 ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChnbnVzLWhlYWRlci1mcm9tICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyIDp1bmRlcmxp bmUgbmlsKSkpDQotICAgYChnbnVzLWhlYWRlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxn cmVlbikpKQ0KLSAgIGAoZ251cy1oZWFkZXItbmV3c2dyb3VwcyAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoZ251cy1oZWFkZXItc3ViamVjdCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAoZ251cy1zZXJ2ZXItYWdlbnQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsY3lhbikpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItY2xvc2VkICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGdudXMtc2VydmVyLWNsb3VkICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChnbnVzLXNl cnZlci1jbG91ZC1ob3N0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFu KSkpDQotICAgYChnbnVzLXNlcnZlci1kZW5pZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAscmVkKSkpDQotICAgYChnbnVzLXNlcnZlci1vZmZsaW5lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoZ251cy1zZXJ2ZXItb3BlbmVk ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkpDQotICAgYChnbnVz LXNpZ25hdHVyZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBp dGFsaWMpKSkNCi0gICBgKGdudXMtc3BsYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQp KSkNCi0gICBgKGdudXMtc3VtbWFyeS1jYW5jZWxsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtbWFyay1hbHQpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLWFuY2llbnQgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChnbnVzLXN1bW1h cnktaGlnaC1yZWFkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LWhpZ2gtdGlja2VkICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtc3VtbWFy eS1oaWdoLXVuZG93bmxvYWRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1oaWdoLXVucmVhZCAoKCxjbGFzcyA6aW5oZXJp dCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LWFu Y2llbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgaXRhbGljKSkpDQotICAg YChnbnVzLXN1bW1hcnktbG93LXJlYWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xh bnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LXRpY2tlZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAscmVkLXJlZmluZS1mZyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1h cnktbG93LXVuZG93bmxvYWRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LXJlZmluZS1m ZyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChnbnVzLXN1bW1hcnktbG93LXVucmVhZCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKGdu dXMtc3VtbWFyeS1ub3JtYWwtYW5jaWVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jYWxtKSkpDQotICAgYChnbnVzLXN1bW1hcnktbm9ybWFsLXJlYWQgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoZ251cy1zdW1tYXJ5LW5vcm1hbC10aWNrZWQgKCgsY2xh c3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGdudXMtc3VtbWFyeS1ub3Jt YWwtdW5kb3dubG9hZGVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGdu dXMtc3VtbWFyeS1ub3JtYWwtdW5yZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYChnbnVzLXN1bW1hcnktc2VsZWN0ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLWJsdWUpKSkNCi07Ozs7OyBnb2xkZW4tcmF0aW8tc2Nyb2xsLXNjcmVlbg0KLSAg IGAoZ29sZGVuLXJhdGlvLXNjcm9sbC1oaWdobGlnaHQtbGluZS1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxjeWFuLXN1YnRsZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IGhl bG0NCi0gICBgKGhlbG0tTS14LWtleSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1hY3Rpb24gKCgsY2xhc3MgOnVuZGVy bGluZSB0KSkpDQotICAgYChoZWxtLWJvb2ttYXJrLWFkZHJlc3Nib29rICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxncmVlbi1hbHQpKSkNCi0gICBgKGhlbG0tYm9va21hcmstZGlyZWN0b3J5ICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGhlbG0tYm9va21h cmstZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGVsbS1ib29r bWFyay1maWxlLW5vdC1mb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3Jv dW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tYm9va21hcmstZ251cyAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1pbmZvICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoaGVsbS1ib29rbWFyay1tYW4gKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdy1hbHQpKSkNCi0gICBgKGhlbG0tYm9va21hcmstdzNtICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaGVsbS1idWZmZXItYXJjaGl2ZSAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChoZWxtLWJ1ZmZl ci1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0K LSAgIGAoaGVsbS1idWZmZXItZmlsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoaGVsbS1idWZmZXItbW9kaWZpZWQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQpKSkNCi0gICBgKGhlbG0tYnVmZmVyLW5vdC1zYXZlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs cmVkLWFsdCkpKQ0KLSAgIGAoaGVsbS1idWZmZXItcHJvY2VzcyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YSkpKQ0KLSAgIGAoaGVsbS1idWZmZXItc2F2ZWQtb3V0ICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYCho ZWxtLWJ1ZmZlci1zaXplICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhl bG0tY2FuZGlkYXRlLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkN Ci0gICBgKGhlbG0tY2FuZGlkYXRlLW51bWJlci1zdXNwZW5kZWQgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHllbGxvdy1hY3RpdmUpKSkNCi0gICBgKGhlbG0tY29taW50LXByb21wdHMtYnVmZmVyLW5h bWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1jb21p bnQtcHJvbXB0cy1wcm9tcHRpZHggKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkp DQotICAgYChoZWxtLWRlbGV0ZS1hc3luYy1tZXNzYWdlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChoZWxtLWVvYi1saW5lICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCho ZWxtLWVzaGVsbC1wcm9tcHRzLWJ1ZmZlci1uYW1lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVl bi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tZXNoZWxsLXByb21wdHMtcHJvbXB0aWR4ICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoaGVsbS1ldGFncy1maWxlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1kaW0gOnVuZGVybGluZSB0KSkpDQotICAgYChoZWxtLWZmLWJh Y2t1cC1maWxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGhlbG0tZmYt ZGVuaWVkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtcmVk DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1y ZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2Vk LXJlZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVkKSkpKQ0KLSAgIGAoaGVs bS1mZi1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVyaXQgaGVsbS1idWZmZXItZGlyZWN0b3J5KSkp DQotICAgYChoZWxtLWZmLWRpcnMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs Ymx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tZmYtZG90dGVkLWRpcmVjdG9yeSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkp KQ0KLSAgIGAoaGVsbS1mZi1kb3R0ZWQtc3ltbGluay1kaXJlY3RvcnkgKCgsY2xhc3MgOmluaGVy aXQgKGJ1dHRvbiBoZWxtLWZmLWRvdHRlZC1kaXJlY3RvcnkpKSkpDQotICAgYChoZWxtLWZmLWV4 ZWN1dGFibGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoZWxt LWZmLWZpbGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGhlbG0tZmYt ZmlsZS1leHRlbnNpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0K LSAgIGAoaGVsbS1mZi1pbnZhbGlkLXN5bWxpbmsgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9uIDpm b3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGhlbG0tZmYtcGlwZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEpKSkpDQotICAgYChoZWxtLWZmLXByZWZpeCAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS15ZWxsb3cNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1udWFuY2VkLXllbGxvdw0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93LWFsdC1vdGhlcikpKSkNCi0g ICBgKGhlbG0tZmYtc29ja2V0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkp DQotICAgYChoZWxtLWZmLXN1aWQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRy YS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVt ZS1zdWJ0bGUtcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXJlZmluZS1yZWQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUt bnVhbmNlZC15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0KSkp KQ0KLSAgIGAoaGVsbS1mZi1zeW1saW5rICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAoaGVsbS1mZi10cnVlbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGhlbG0tZ3JlcC1jbWQtbGluZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLSAgIGAoaGVsbS1ncmVwLWZpbGUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChoZWxtLWdyZXAtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkN Ci0gICBgKGhlbG0tZ3JlcC1saW5lbm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt d2FybSkpKQ0KLSAgIGAoaGVsbS1ncmVwLW1hdGNoICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoaGVsbS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLWhlYWRlci1s aW5lLWxlZnQtbWFyZ2luICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxv dy1pbnRlbnNlKSkpDQotICAgYChoZWxtLWhpc3RvcnktZGVsZXRlZCAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXJlZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLWludGVuc2UtcmVkDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1yZWQN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAgYChoZWxtLWhpc3Rvcnkt cmVtb3RlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotICAgYChoZWxt LWxpc3AtY29tcGxldGlvbi1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdh cm0pKSkNCi0gICBgKGhlbG0tbGlzcC1zaG93LWNvbXBsZXRpb24gKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdw0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5lLXll bGxvdw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMt dGhlbWUtbnVhbmNlZC15ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgeWVsbG93DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1sb2NhdGUtZmluaXNoICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKGhlbG0tbWF0Y2ggKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0t bWF0Y2gtaXRlbSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRp b25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRs ZS1uZXV0cmFsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1l LXN1YnRsZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4t YWx0LW90aGVyKSkpKQ0KLSAgIGAoaGVsbS1taW5pYnVmZmVyLXByb21wdCAoKCxjbGFzcyA6aW5o ZXJpdCBtaW5pYnVmZmVyLXByb21wdCkpKQ0KLSAgIGAoaGVsbS1tb2NjdXItYnVmZmVyICgoLGNs YXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBg KGhlbG0tbW9kZS1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1j b21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtc3VidGxlLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLWludGVuc2UtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdib2xkKSkpKQ0KLSAgIGAoaGVsbS1ub24tZmlsZS1idWZmZXIgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaGVsbS1wcmVmYXJnICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxyZWQtYWN0aXZlKSkpDQotICAgYChoZWxtLXJlc3VtZS1uZWVkLXVwZGF0ZSAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGENCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZp bmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIpKSkpDQotICAgYChoZWxtLXNlbGVjdGlvbiAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtY29sZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGhlbG0tc2VsZWN0aW9uLWxpbmUgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkKSkpDQotICAgYChoZWxtLXNlcGFy YXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChoZWxt LXRpbWUtem9uZS1jdXJyZW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAo aGVsbS10aW1lLXpvbmUtaG9tZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAg IGAoaGVsbS1zb3VyY2UtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUtNCkpKSkNCi0gICBgKGhl bG0tdG9wLWNvbHVtbnMgKCgsY2xhc3MgOmluaGVyaXQgaGVsbS1oZWFkZXIpKSkNCi0gICBgKGhl bG0tdWNzLWNoYXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0g ICBgKGhlbG0tdmlzaWJsZS1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1jeWFuKSkpDQotOzs7OzsgaGVsbS1scy1naXQNCi0gICBgKGhlbG0tbHMtZ2l0LWFkZGVkLWNv cGllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotICAgYCho ZWxtLWxzLWdpdC1hZGRlZC1tb2RpZmllZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxs b3ctaW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1scy1naXQtY29uZmxpY3QtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtaW50ZW5zZSkpKQ0KLSAgIGAoaGVsbS1scy1n aXQtZGVsZXRlZC1hbmQtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1udWFu Y2VkKSkpDQotICAgYChoZWxtLWxzLWdpdC1kZWxldGVkLW5vdC1zdGFnZWQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChoZWxtLWxzLWdpdC1tb2RpZmllZC1hbmQtc3Rh Z2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkKSkpDQotICAgYCho ZWxtLWxzLWdpdC1tb2RpZmllZC1ub3Qtc3RhZ2VkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LHllbGxvdykpKQ0KLSAgIGAoaGVsbS1scy1naXQtcmVuYW1lZC1tb2RpZmllZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChoZWxtLWxzLWdpdC11bnRyYWNrZWQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotOzs7OzsgaGVs bS1zd2l0Y2gtc2hlbGwNCi0gICBgKGhlbG0tc3dpdGNoLXNoZWxsLW5ldy1zaGVsbC1mYWNlICgo LGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlvbnMNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1z dWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdl bnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt YWdlbnRhLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ2JvbGQpKSkpDQotOzs7OzsgaGVsbS14cmVmDQotICAgYChoZWxtLXhyZWYt ZmlsZS1uYW1lICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwt Y29sZCkpKQ0KLSAgIGAoaGVsbS14cmVmLWZpbGUtbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC13YXJtKSkpDQotOzs7OzsgaGVscGZ1bA0KLSAgIGAoaGVscGZ1bC1oZWFkaW5n ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctMSkpKQ0KLTs7Ozs7IGhpZ2hs aWdodCByZWdpb24gb3IgYWQtaG9jIHJlZ2V4cA0KLSAgIGAoaGktYmxhY2stYiAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAoaGktYmx1 ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxp bmUgdCkpKQ0KLSAgIGAoaGktYmx1ZS1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWlu dGVuc2UtYmx1ZSkpKQ0KLSAgIGAoaGktZ3JlZW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAsZ3JlZW4gOnVuZGVybGluZSB0KSkpDQotICAgYChoaS1ncmVlbi1iICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKGhpLXBp bmsgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsbWFnZW50YSA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKGhpLXJlZC1iICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LWludGVuc2UtcmVkKSkpDQotICAgYChoaS15ZWxsb3cgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWFsdCA6Zm9yZWdyb3VuZCAseWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGlnaGxpZ2h0 ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChoaWdo bGlnaHQtY2hhbmdlcyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0K LSAgIGAoaGlnaGxpZ2h0LWNoYW5nZXMtZGVsZXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt YWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoaGwtbGluZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotOzs7OzsgaGlnaGxpZ2h0LWJsb2Nrcw0KLSAgIGAo aGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp bSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0y LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC0zLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxp Z2h0LWJsb2Nrcy1kZXB0aC00LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwt Y2FsbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0 aC01LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtd2FybSA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtbWlsZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAoaGlnaGxpZ2h0LWJsb2Nrcy1kZXB0aC03LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWluYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxv Y2tzLWRlcHRoLTgtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtYmxvY2tzLWRlcHRoLTktZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsY3lhbi1zdWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci07Ozs7OyBoaWdobGlnaHQtZGVmaW5lZA0KLSAgIGAoaGlnaGxpZ2h0LWRlZmluZWQtYnVpbHRp bi1mdW5jdGlvbi1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0g ICBgKGhpZ2hsaWdodC1kZWZpbmVkLWZhY2UtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC1mdW5jdGlvbi1uYW1lLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGhpZ2hsaWdodC1kZWZpbmVk LW1hY3JvLW5hbWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0g ICBgKGhpZ2hsaWdodC1kZWZpbmVkLXNwZWNpYWwtZm9ybS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChoaWdobGlnaHQtZGVmaW5lZC12 YXJpYWJsZS1uYW1lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi07Ozs7OyBo aWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAoYGhlcy1tb2RlJykNCi0gICBgKGhlcy1lc2NhcGUt YmFja3NsYXNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNj YXBlLWNoYXItY29uc3RydWN0KSkpDQotICAgYChoZXMtZXNjYXBlLXNlcXVlbmNlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctZXNjYXBlLWNoYXItYmFja3NsYXNo KSkpDQotOzs7OzsgaGlnaGxpZ2h0LWluZGVudGF0aW9uDQotICAgYChoaWdobGlnaHQtaW5kZW50 YXRpb24tZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1obC1saW5lKSkpDQotICAg YChoaWdobGlnaHQtaW5kZW50YXRpb24tY3VycmVudC1jb2x1bW4tZmFjZSAoKCxjbGFzcyA6YmFj a2dyb3VuZCAsYmctYWN0aXZlKSkpDQotOzs7OzsgaGlnaGxpZ2h0LW51bWJlcnMNCi0gICBgKGhp Z2hsaWdodC1udW1iZXJzLW51bWJlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3Ro ZXIpKSkNCi07Ozs7OyBoaWdobGlnaHQtc3ltYm9sDQotICAgYChoaWdobGlnaHQtc3ltYm9sLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1taWxkKSkpDQotOzs7Ozsg aGlnaGxpZ2h0LXRoaW5nDQotICAgYChoaWdobGlnaHQtdGhpbmcgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLTs7Ozs7IGhsLWRlZmluZWQNCi0gICBg KGhkZWZkLWZ1bmN0aW9ucyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaGRl ZmQtdW5kZWZpbmVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChoZGVm ZC12YXJpYWJsZXMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotOzs7OzsgaGwt ZmlsbC1jb2x1bW4NCi0gICBgKGhsLWZpbGwtY29sdW1uLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotOzs7OzsgaGwtdG9kbw0K LSAgIGAoaGwtdG9kbyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0 LW90aGVyIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi07Ozs7OyBoeWRyYQ0KLSAgIGAo aHlkcmEtZmFjZS1hbWFyYW50aCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi0gICBgKGh5ZHJhLWZhY2UtYmx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaHlkcmEtZmFjZS1waW5rICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChoeWRyYS1mYWNl LXJlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGh5 ZHJhLWZhY2UtdGVhbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotOzs7OzsgaHlwZXJsaXN0DQotICAgYChoeXBlcmxpc3QtY29uZGl0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoaHlwZXJsaXN0LWhhc2h0YWcgKCgsY2xhc3MgOmZv cmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAoaHlwZXJsaXN0LW9wZXJhdG9yICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXBhcmVuICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoaHlwZXJsaXN0LXF1b3RlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAoaHlwZXJsaXN0LXJlZiAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGh5cGVybGlzdC1zdGFy cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChoeXBlcmxpc3QtdGFnICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGh5cGVybGlzdC10b3BsZXZlbCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7OzsgaWNvbXBs ZXRlDQotICAgYChpY29tcGxldGUtZmlyc3QtbWF0Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhl bWUtc3RhbmRhcmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhIGJnLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJnLWFjdGl2ZSBmZy1tYWluKSkpKQ0KLTs7Ozs7IGljb21wbGV0ZS12ZXJ0aWNhbA0K LSAgIGAoaWNvbXBsZXRlLXZlcnRpY2FsLXNlcGFyYXRvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotOzs7OzsgaWRvLW1vZGUNCi0gICBgKGlkby1maXJzdC1tYXRjaCAoKCxjbGFz cyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hZ2VudGEgYmctYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmctYWN0aXZlIGZnLW1haW4pKSkpDQotICAgYChpZG8taW5jb21wbGV0ZS1yZWdleHAg KCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCi0gICBgKGlkby1pbmRpY2F0b3IgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXllbGxvdykpKQ0KLSAgIGAoaWRvLW9ubHktbWF0 Y2ggKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4gZ3JlZW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZW4taW50ZW5zZS1iZyBmZy1tYWluKSkpKQ0KLSAgIGAo aWRvLXN1YmRpciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoaWRvLXZpcnR1 YWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLTs7Ozs7IGllZGl0 DQotICAgYChpZWRpdC1vY2N1cnJlbmNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1ibHVlKSkpDQotICAgYChpZWRpdC1yZWFkLW9ubHktb2NjdXJyZW5jZSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXllbGxvdykpKQ0KLTs7Ozs7IGlmbGlwYg0KLSAg IGAoaWZsaXBiLWN1cnJlbnQtYnVmZmVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKGlmbGlwYi1vdGhlci1idWZmZXItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgaW1lbnUtbGlzdA0KLSAgIGAoaW1l bnUtbGlzdC1lbnRyeS1mYWNlLTAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBg KGltZW51LWxpc3QtZW50cnktZmFjZS0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQot ICAgYChpbWVudS1saXN0LWVudHJ5LWZhY2UtMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1h bHQtb3RoZXIpKSkNCi0gICBgKGltZW51LWxpc3QtZW50cnktZmFjZS0zICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNl LTAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIg OnVuZGVybGluZSB0KSkpDQotICAgYChpbWVudS1saXN0LWVudHJ5LXN1YmFsaXN0LWZhY2UtMSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhIDp1bmRlcmxpbmUgdCkp KQ0KLSAgIGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTIgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAg IGAoaW1lbnUtbGlzdC1lbnRyeS1zdWJhbGlzdC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBpbmRp dW0NCi0gICBgKGluZGl1bS1icmVha3BvaW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJl ZC1hY3RpdmUpKSkNCi0gICBgKGluZGl1bS1mcmFtZS11cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBidXR0b24gOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoaW5kaXVtLWtleXdvcmQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGluZGl1 bS1saXRhYmxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChpbmRpdW0tcmVwbC1lcnJvci1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaW5kaXVtLXJl cGwtcHJvbXB0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChpbmRpdW0tcmVwbC1zdGRvdXQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLTs7Ozs7IGluZm8NCi0gICBgKEluZm8tcXVvdGVkICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsbWFnZW50YSkpKSA7IHRoZSBjYXBpdGFsaXNhdGlvbiBpcyBjYW5vbmljYWwNCi0g ICBgKGluZm8taGVhZGVyLW5vZGUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs ZmctYWx0KSkpDQotICAgYChpbmZvLWhlYWRlci14cmVmICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFjdGl2ZSkpKQ0KLSAgIGAoaW5mby1pbmRleC1tYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBt YXRjaCkpKQ0KLSAgIGAoaW5mby1tZW51LWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBgKGluZm8tbWVudS1zdGFyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxyZWQpKSkNCi0gICBgKGluZm8tbm9kZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQot ICAgYChpbmZvLXRpdGxlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0x KSkpDQotICAgYChpbmZvLXRpdGxlLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVh ZGluZy0yKSkpDQotICAgYChpbmZvLXRpdGxlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtaGVhZGluZy0zKSkpDQotICAgYChpbmZvLXRpdGxlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy00KSkpDQotOzs7OzsgaW5mby1jb2xvcnMNCi0gICBgKGluZm8tY29s b3JzLWxpc3AtY29kZS1ibG9jayAoKCxjbGFzcyA6aW5oZXJpdCBmaXhlZC1waXRjaCkpKQ0KLSAg IGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tY29tbWFuZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tY29uc3RhbnQgKCgsY2xhc3MgOmZv cmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS1m dW5jdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAoaW5mby1jb2xv cnMtcmVmLWl0ZW0tbWFjcm8gKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdl aWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChpbmZvLWNvbG9y cy1yZWYtaXRlbS1vdGhlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoaW5m by1jb2xvcnMtcmVmLWl0ZW0tc3BlY2lhbC1mb3JtICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAg IGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tc3ludGF4LWNsYXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhKSkpDQotICAgYChpbmZvLWNvbG9ycy1yZWYtaXRlbS10eXBlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoaW5mby1jb2xvcnMtcmVmLWl0ZW0tdXNl ci1vcHRpb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKGluZm8tY29sb3Jz LXJlZi1pdGVtLXZhcmlhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotOzs7Ozsg aW50ZXJhY3Rpb24tbG9nDQotICAgYChpbG9nLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoaWxvZy1jaGFuZ2UtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGlsb2ctZWNoby1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChpbG9nLWxvYWQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGlsb2ctbWVzc2FnZS1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGlsb2ctbm9uLWNoYW5nZS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotOzs7OzsgaW9jY3VyDQotICAgYChp b2NjdXItY3Vyc29yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChpb2Nj dXItaW52YWxpZC1yZWdleHAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAoaW9j Y3VyLW1hdGNoLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxt KSkpDQotICAgYChpb2NjdXItbWF0Y2gtb3ZlcmxheS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0g ZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQp KSkNCi0gICBgKGlvY2N1ci1udW0tbGluZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1z cGVjaWFsLXdhcm0pKSkNCi0gICBgKGlvY2N1ci1vdmVybGF5LWZhY2UgKCgsY2xhc3MgLEAoYW5k ICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQgdCkpDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkp DQotICAgYChpb2NjdXItcmVnZXhwLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgKG1vZHVzLXRoZW1l LWludGVuc2UtbWFnZW50YSBib2xkKSkpKQ0KLSAgIGAoaW9jY3VyLXRpdGxlLWZhY2UgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFsdA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRp LXRoZW1lLXNjYWxlLTQpKSkpDQotOzs7OzsgaXNlYXJjaCwgb2NjdXIsIGFuZCB0aGUgbGlrZQ0K LSAgIGAoaXNlYXJjaCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVl biBib2xkKSkpKQ0KLSAgIGAoaXNlYXJjaC1mYWlsICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKGxhenktaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChtYXRjaCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1zcGVjaWFsLWNhbG0pKSkNCi0gICBgKHF1ZXJ5LXJlcGxhY2UgKCgsY2xh c3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93IGJvbGQpKSkpDQotOzs7Ozsg aXZ5DQotICAgYChpdnktYWN0aW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1hbHQpKSkNCi0gICBgKGl2eS1jb21wbGV0aW9ucy1hbm5vdGF0aW9ucyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkN Ci0gICBgKGl2eS1jb25maXJtLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKGl2eS1jdXJyZW50LW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0 cmEtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1yZWZpbmUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J21vZHVzLXRoZW1lLWludGVuc2UtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXNwZWNpYWwtd2FybQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbmlsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYm9s ZCkpKSkNCi0gICBgKGl2eS1jdXJzb3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4gOmZv cmVncm91bmQgLGJnLW1haW4pKSkNCi0gICBgKGl2eS1ncmVwLWluZm8gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChpdnktZ3JlcC1saW5lLW51bWJlciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChpdnktaGlnaGxpZ2h0LWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKGl2eS1tYXRjaC1yZXF1aXJl ZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGVycm9yKSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1t YXRjaC1mYWNlLTEgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0 aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1 cy10aGVtZS1zdWJ0bGUtbmV1dHJhbA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtc3VidGxlLW5ldXRy YWwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZy1hbHQp KSkpDQotICAgYChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTIgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4NCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtcmVmaW5l LWdyZWVuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXINCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnYm9sZCkpKSkNCi0gICBgKGl2eS1taW5pYnVmZmVyLW1hdGNo LWZhY2UtMyAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25z DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRo ZW1lLXN1YnRsZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1jeWFuDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JvbGQpKSkpDQotICAg YChpdnktbWluaWJ1ZmZlci1tYXRjaC1mYWNlLTQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1leHRyYS1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50 YQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10 aGVtZS1udWFuY2VkLW1hZ2VudGENCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdib2xkKSkpKQ0KLSAgIGAoaXZ5LW1pbmlidWZmZXItbWF0Y2gt aGlnaGxpZ2h0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEtY29tcGxldGlv bnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9k dXMtdGhlbWUtc3VidGxlLWJsdWUNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1 ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUt YWx0LW90aGVyDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ2JvbGQpKSkpDQotICAgYChpdnktbW9kaWZpZWQtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAoaXZ5LW1vZGlm aWVkLW91dHNpZGUtYnVmZmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0IDpzbGFu dCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKGl2eS1vcmcgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChpdnktcHJvbXB0LW1hdGNoICgoLGNsYXNzIDpp bmhlcml0IGl2eS1jdXJyZW50LW1hdGNoKSkpDQotICAgYChpdnktcmVtb3RlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChpdnktc2VwYXJhdG9yICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKGl2eS1zdWJkaXIgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQotICAgYChpdnktdmlydHVhbCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKGl2eS15YW5rZWQtd29yZCAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBsZXRpb25zDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLXJlZmluZS1ibHVlDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVzLXRoZW1lLW51YW5jZWQtYmx1ZQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0KSkpKQ0KLTs7Ozs7IGl2eS1wb3Nm cmFtZQ0KLSAgIGAoaXZ5LXBvc2ZyYW1lICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGl2eS1wb3NmcmFtZS1ib3JkZXIgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAoaXZ5LXBvc2ZyYW1lLWN1cnNvciAoKCxj bGFzcyA6YmFja2dyb3VuZCAsZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLTs7Ozs7 IGppcmEgKG9yZy1qaXJhKQ0KLSAgIGAoamlyYWxpYi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAoamlyYWxpYi1jb21tZW50LWhlYWRlci1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGppcmFsaWItaXNzdWUtaW5mby1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoamlyYWxp Yi1pc3N1ZS1pbmZvLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1z cGVjaWFsLXdhcm0gYm9sZCkpKSkNCi0gICBgKGppcmFsaWItaXNzdWUtc3VtbWFyeS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKGppcmFsaWItbGluay1maWx0ZXItZmFjZSAo KCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGppcmFsaWItbGluay1pc3N1ZS1mYWNlICgo LGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoamlyYWxpYi1saW5rLXByb2plY3QtZmFjZSAo KCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBqb3VybmFsY3RsLW1vZGUNCi0gICBgKGpv dXJuYWxjdGwtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQpKSkNCi0gICBgKGpvdXJuYWxjdGwtZmluaXNoZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoam91cm5hbGN0bC1ob3N0LWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGpvdXJuYWxjdGwtcHJvY2Vzcy1mYWNl ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAoam91cm5hbGN0 bC1zdGFydGluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoam91 cm5hbGN0bC10aW1lc3RhbXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1j b2xkKSkpDQotICAgYChqb3VybmFsY3RsLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyBqczItbW9kZQ0KLSAgIGAoanMyLWVy cm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKGpzMi1leHRlcm5hbC12YXJp YWJsZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGpzMi1m dW5jdGlvbi1jYWxsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChqczIt ZnVuY3Rpb24tcGFyYW0gKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKGpzMi1p bnN0YW5jZS1tZW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkp DQotICAgYChqczItanNkb2MtaHRtbC10YWctZGVsaW1pdGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1tYWluKSkpDQotICAgYChqczItanNkb2MtaHRtbC10YWctbmFtZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAoanMyLWpzZG9jLXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChqczItanNkb2MtdHlwZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChqczItanNkb2MtdmFsdWUgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoanMyLW9iamVjdC1wcm9w ZXJ0eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoanMyLW9iamVjdC1w cm9wZXJ0eS1hY2Nlc3MgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKGpz Mi1wcml2YXRlLWZ1bmN0aW9uLWNhbGwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1v dGhlcikpKQ0KLSAgIGAoanMyLXByaXZhdGUtbWVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKGpzMi13YXJuaW5nICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICx5ZWxsb3ctYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IGp1bGlhDQotICAgYChqdWxpYS1t YWNyby1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpm b3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChqdWxpYS1xdW90ZWQtc3ltYm9sLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotOzs7OzsganVweXRlcg0KLSAg IGAoanVweXRlci1ldmFsLW92ZXJsYXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZSkpKQ0KLSAgIGAoanVweXRlci1yZXBsLWlucHV0LXByb21wdCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKGp1cHl0ZXItcmVwbC1vdXRwdXQtcHJv bXB0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoanVw eXRlci1yZXBsLXRyYWNlYmFjayAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCkpKQ0KLTs7Ozs7IGthb2NoYS1ydW5uZXINCi0gICBgKGthb2NoYS1ydW5uZXItZXJyb3It ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChrYW9jaGEtcnVubmVyLXN1 Y2Nlc3MtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKGthb2NoYS1y dW5uZXItd2FybmluZy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7 OyBrZXljYXN0DQotICAgYChrZXljYXN0LWNvbW1hbmQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKGtleWNhc3Qta2V5ICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtbW9kZS1saW5lLWF0dHJzDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZy1tYWluIGJsdWUtYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZy1tYWluIGJsdWUtYWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlLWFjdGl2ZSBibHVlLWludGVuc2UNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICdh bHQtc3R5bGUgLTMpKSkpDQotOzs7OzsgbGluZSBudW1iZXJzIChkaXNwbGF5LWxpbmUtbnVtYmVy cy1tb2RlIGFuZCBnbG9iYWwgdmFyaWFudCkNCi0gICBgKGxpbmUtbnVtYmVyICgoLGNsYXNzIDpp bmhlcml0IGRlZmF1bHQgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkp DQotICAgYChsaW5lLW51bWJlci1jdXJyZW50LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgZGVmYXVs dCA6YmFja2dyb3VuZCAsYmctYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotOzs7Ozsg bHNwLW1vZGUNCi0gICBgKGxzcC1mYWNlLWhpZ2hsaWdodC1yZWFkICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLWZhY2Ut aGlnaGxpZ2h0LXRleHR1YWwgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWJs dWUpKSkNCi0gICBgKGxzcC1mYWNlLWhpZ2hsaWdodC13cml0ZSAoKCxjbGFzcyA6aW5oZXJpdCAo bW9kdXMtdGhlbWUtcmVmaW5lLWJsdWUgYm9sZCkpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLWNv bnN0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNw LWZhY2Utc2VtaGwtZGVwcmVjYXRlZA0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5k ZXJsaW5lICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOmZvcmVncm91bmQgLHllbGxv dyA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtZW51bW1lbWJlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1mYWNlLXNl bWhsLWZpZWxkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCkpKQ0KLSAgIGAobHNwLWZh Y2Utc2VtaGwtZmllbGQtc3RhdGljICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdCA6c2xh bnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1mdW5jdGlvbiAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtbWV0 aG9kICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChsc3AtZmFjZS1zZW1o bC1uYW1lc3BhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkg OmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC1wcmVwcm9j ZXNzb3IgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC1m YWNlLXNlbWhsLXN0YXRpYy1tZXRob2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdHlwZS1jbGFz cyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKGxzcC1mYWNlLXNl bWhsLXR5cGUtZW51bSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBg KGxzcC1mYWNlLXNlbWhsLXR5cGUtcHJpbWl0aXZlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1o bC10eXBlLXRlbXBsYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChsc3AtZmFjZS1zZW1obC10eXBlLXR5cGVkZWYg KCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xh bnQpKSkNCi0gICBgKGxzcC1mYWNlLXNlbWhsLXZhcmlhYmxlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuKSkpDQotICAgYChsc3AtZmFjZS1zZW1obC12YXJpYWJsZS1sb2NhbCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobHNwLWZhY2Utc2VtaGwtdmFyaWFibGUtcGFyYW1l dGVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAobHNwLWxl bnMtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAg YChsc3AtbGVucy1tb3VzZS1mYWNlICgoLGNsYXNzIDpoZWlnaHQgMC44IDpmb3JlZ3JvdW5kICxi bHVlLWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKGxzcC11aS1kb2MtYmFja2dyb3Vu ZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChsc3AtdWktZG9jLWhlYWRl ciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIp KSkNCi0gICBgKGxzcC11aS1kb2MtdXJsICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWZpbGVuYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKGxzcC11aS1wZWVrLWZv b3RlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctaGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFk ZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWhlYWRlciAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aGVhZGVyIDpmb3JlZ3JvdW5kICxmZy1oZWFkZXIpKSkNCi0gICBgKGxzcC11aS1wZWVrLWhpZ2hs aWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAo bHNwLXVpLXBlZWstbGluZS1udW1iZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0K LSAgIGAobHNwLXVpLXBlZWstbGlzdCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltKSkpDQot ICAgYChsc3AtdWktcGVlay1wZWVrICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0g ICBgKGxzcC11aS1wZWVrLXNlbGVjdGlvbiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtY3lhbikpKQ0KLSAgIGAobHNwLXVpLXNpZGVsaW5lLWNvZGUtYWN0aW9uICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKGxzcC11aS1zaWRlbGluZS1jdXJyZW50LXN5 bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMC45OSA6Ym94ICg6bGluZS13aWR0 aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobHNwLXVpLXNp ZGVsaW5lLXN5bWJvbCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMC45OSA6Ym94ICg6 bGluZS13aWR0aCAtMSA6c3R5bGUgbmlsKSA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChs c3AtdWktc2lkZWxpbmUtc3ltYm9sLWluZm8gKCgsY2xhc3MgOmhlaWdodCAwLjk5IDpzbGFudCBp dGFsaWMpKSkNCi07Ozs7OyBtYWdpdA0KLSAgIGAobWFnaXQtYmlzZWN0LWJhZCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYmlzZWN0LWdvb2QgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFnaXQtYmlzZWN0 LXNraXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkNCi0gICBgKG1h Z2l0LWJsYW1lLWRhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1hZ2l0 LWJsYW1lLWRpbW1lZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdp dC1ibGFtZS1oYXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0g ICBgKG1hZ2l0LWJsYW1lLWhlYWRpbmcgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0K LSAgIGAobWFnaXQtYmxhbWUtaGlnaGxpZ2h0ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LW51YW5jZWQtY3lhbikpKQ0KLSAgIGAobWFnaXQtYmxhbWUtbWFyZ2luICgoLGNsYXNzIDppbmhl cml0IG1hZ2l0LWJsYW1lLWhpZ2hsaWdodCkpKQ0KLSAgIGAobWFnaXQtYmxhbWUtbmFtZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG1hZ2l0LWJsYW1l LXN1bW1hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYCht YWdpdC1icmFuY2gtY3VycmVudCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIg OmJveCB0KSkpDQotICAgYChtYWdpdC1icmFuY2gtbG9jYWwgKCgsY2xhc3MgOmZvcmVncm91bmQg LGJsdWUtYWx0KSkpDQotICAgYChtYWdpdC1icmFuY2gtcmVtb3RlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWFnaXQtYnJhbmNoLXJlbW90ZS1oZWFkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlciA6Ym94IHQpKSkNCi0gICBgKG1hZ2l0 LWJyYW5jaC11cHN0cmVhbSAoKCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQotICAgYChtYWdpdC1j aGVycnktZXF1aXZhbGVudCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3Vu ZCAsbWFnZW50YS1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1jaGVycnktdW5tYXRjaGVkICgoLGNs YXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2UpKSkNCi0g ICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBm cm9tIHRoZQ0KLSAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcywgdGhvdWdoIG9ubHkgZm9y IHRoZSBzdGFuZGFyZCBhY3Rpb25zLA0KLSAgIDs7IG5vdCB0aGUgaGlnaGxpZ2h0ZWQgb25lcy4g IFRoaXMgaXMgYmVjYXVzZSBNYWdpdCdzIGludGVyYWN0aW9uDQotICAgOzsgbW9kZWwgcmVsaWVz IG9uIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBkaWZmIGh1bmsuDQotICAgYChtYWdpdC1kaWZm LWFkZGVkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZy1tYWluIGdyZWVuDQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJnLWRpZmYtYWRkZWQgZmctZGlmZi1hZGRlZA0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1udWFuY2VkLWJnIGZnLWRpZmYtYWRkZWQpKSkp DQotICAgYChtYWdpdC1kaWZmLWFkZGVkLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1kaWZmLWZvY3VzLWFkZGVkKSkpDQotICAgYChtYWdpdC1kaWZmLWJhc2UgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1kaWZmDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmctbWFpbiB5ZWxsb3cNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiZy1kaWZmLWNoYW5nZWQgZmctZGlmZi1jaGFuZ2VkDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgeWVsbG93LW51YW5jZWQtYmcgZmctZGlmZi1jaGFuZ2VkKSkpKQ0KLSAgIGAo bWFnaXQtZGlmZi1iYXNlLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1k aWZmLWZvY3VzLWNoYW5nZWQpKSkNCi0gICBgKG1hZ2l0LWRpZmYtY29udGV4dCAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChtYWdpdC1kaWZmLWNvbnRleHQtaGln aGxpZ2h0ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1kaW0gZmctZGltDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWluYWN0aXZlIGZnLWlu YWN0aXZlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJn LWRpbSBmZy1hbHQpKSkpDQotICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZyAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hZ2l0 LWRpZmYtZmlsZS1oZWFkaW5nLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCAobW9kdXMtdGhl bWUtc3BlY2lhbC1jb2xkIGJvbGQpKSkpDQotICAgYChtYWdpdC1kaWZmLWZpbGUtaGVhZGluZy1z ZWxlY3Rpb24gKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0g ICA7OyBOT1RFOiBoZXJlIHdlIGJyZWFrIGZyb20gdGhlIHBhdHRlcm4gb2YgaW5oZXJpdGluZyBm cm9tIHRoZQ0KLSAgIDs7IG1vZHVzLXRoZW1lLWRpZmYtKiBmYWNlcy4NCi0gICBgKG1hZ2l0LWRp ZmYtaHVuay1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFj dGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQotICAgYChtYWdpdC1kaWZmLWh1bmstaGVhZGluZy1oaWdobGlnaHQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctZGlmZi1oZWFkaW5nDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQg LGZnLWRpZmYtaGVhZGluZykpKQ0KLSAgIGAobWFnaXQtZGlmZi1odW5rLWhlYWRpbmctc2VsZWN0 aW9uICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYCht YWdpdC1kaWZmLWh1bmstcmVnaW9uICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG1h Z2l0LWRpZmYtbGluZXMtYm91bmRhcnkgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKG1hZ2l0LWRpZmYtbGluZXMtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAobWFnaXQtZGlmZi1yZW1vdmVkICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZGlmZg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJnLW1haW4gcmVkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmctZGlmZi1yZW1vdmVkIGZnLWRpZmYtcmVtb3ZlZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZC1udWFuY2VkLWJnIGZnLWRpZmYtcmVtb3ZlZCkpKSkNCi0gICBg KG1hZ2l0LWRpZmYtcmVtb3ZlZC1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtZGlmZi1mb2N1cy1yZW1vdmVkKSkpDQotICAgYChtYWdpdC1kaWZmc3RhdC1hZGRlZCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKG1hZ2l0LWRpZmZzdGF0LXJlbW92ZWQg KCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobWFnaXQtZGltbWVkICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi0gICBgKG1hZ2l0LWZpbGVuYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hZ2l0LWhhc2ggKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFnaXQtaGVhZCAoKCxjbGFzcyA6 aW5oZXJpdCBtYWdpdC1icmFuY2gtbG9jYWwpKSkNCi0gICBgKG1hZ2l0LWhlYWRlci1saW5lICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAg YChtYWdpdC1oZWFkZXItbGluZS1rZXkgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAobWFnaXQtaGVhZGVyLWxpbmUtbG9nLXNlbGVjdCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtYWdpdC1r ZXl3b3JkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtYWdpdC1rZXl3 b3JkLXNxdWFzaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0 LW90aGVyKSkpDQotICAgYChtYWdpdC1sb2ctYXV0aG9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChtYWdpdC1sb2ctZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0 KSkpDQotICAgYChtYWdpdC1sb2ctZ3JhcGggKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWRpbSkp KQ0KLSAgIGAobWFnaXQtbW9kZS1saW5lLXByb2Nlc3MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKG1hZ2l0LW1vZGUtbGluZS1wcm9jZXNz LWVycm9yICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hY3RpdmUpKSkN Ci0gICBgKG1hZ2l0LXByb2Nlc3MtbmcgKCgsY2xhc3MgOmluaGVyaXQgZXJyb3IpKSkNCi0gICBg KG1hZ2l0LXByb2Nlc3Mtb2sgKCgsY2xhc3MgOmluaGVyaXQgc3VjY2VzcykpKQ0KLSAgIGAobWFn aXQtcmVmbG9nLWFtZW5kICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1jaGVja291dCAoKCxjbGFz cyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsYmx1ZS1pbnRlbnNlKSkpDQotICAg YChtYWdpdC1yZWZsb2ctY2hlcnJ5LXBpY2sgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4g OmZvcmVncm91bmQgLGdyZWVuLWludGVuc2UpKSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1jb21taXQg KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGdyZWVuLWludGVuc2Up KSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1tZXJnZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFp biA6Zm9yZWdyb3VuZCAsZ3JlZW4taW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLW90aGVy ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1tYWluIDpmb3JlZ3JvdW5kICxjeWFuLWludGVuc2Up KSkNCi0gICBgKG1hZ2l0LXJlZmxvZy1yZWJhc2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1h aW4gOmZvcmVncm91bmQgLG1hZ2VudGEtaW50ZW5zZSkpKQ0KLSAgIGAobWFnaXQtcmVmbG9nLXJl bW90ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsY3lhbi1pbnRl bnNlKSkpDQotICAgYChtYWdpdC1yZWZsb2ctcmVzZXQgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LW1haW4gOmZvcmVncm91bmQgLHJlZC1pbnRlbnNlKSkpDQotICAgYChtYWdpdC1yZWZuYW1lICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUtcHVsbHJl cSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1yZWZuYW1lLXN0 YXNoICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXJlZm5hbWUt d2lwICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hZ2l0LXNlY3Rpb24g KCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAg IGAobWFnaXQtc2VjdGlvbi1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGN5YW4pKSkNCi0gICBgKG1hZ2l0LXNlY3Rpb24taGVhZGluZy1zZWxlY3Rpb24gKCgsY2xh c3MgOmluaGVyaXQgKG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuIGJvbGQpKSkpDQotICAgYChtYWdp dC1zZWN0aW9uLWhpZ2hsaWdodCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAg YChtYWdpdC1zZXF1ZW5jZS1kb25lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkN Ci0gICBgKG1hZ2l0LXNlcXVlbmNlLWRyb3AgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQp KSkNCi0gICBgKG1hZ2l0LXNlcXVlbmNlLWV4ZWMgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEtYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1oZWFkICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2Utb250byAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1wYXJ0ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChtYWdpdC1zZXF1ZW5jZS1waWNrICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWFnaXQtc2VxdWVuY2Utc3RvcCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtYmFkICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0 dXJlLWVycm9yICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtYWdpdC1z aWduYXR1cmUtZXhwaXJlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYCht YWdpdC1zaWduYXR1cmUtZXhwaXJlZC1rZXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdykp KQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLWdvb2QgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu KSkpDQotICAgYChtYWdpdC1zaWduYXR1cmUtcmV2b2tlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YSkpKQ0KLSAgIGAobWFnaXQtc2lnbmF0dXJlLXVudHJ1c3RlZCAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobWFnaXQtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7OzsgbWFnaXQtaW1lcmdlDQotICAgYChtYWdpdC1pbWVy Z2Utb3ZlcnJpZGluZy12YWx1ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQotOzs7OzsgbWFuDQotICAgYChNYW4tb3ZlcnN0cmlrZSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChNYW4tcmV2ZXJzZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtbWFnZW50YSkpKQ0KLSAgIGAoTWFuLXVu ZGVybGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbiA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7 OyBtYXJrZG93bi1tb2RlDQotICAgYChtYXJrZG93bi1ibG9ja3F1b3RlLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkp DQotICAgYChtYXJrZG93bi1ib2xkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAg IGAobWFya2Rvd24tY29kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4 ZWQtZm9udHMpKSkpDQotICAgYChtYXJrZG93bi1jb21tZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93 bi1mb290bm90ZS1tYXJrZXItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24tZm9vdG5vdGUtdGV4dC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBg KG1hcmtkb3duLWdmbS1jaGVja2JveC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFs dC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWRlbGltaXRlci1mYWNlICgoLGNsYXNz ICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpIDpmb3JlZ3JvdW5kICxmZy1kaW0p KSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1mYWNlICgodCBuaWwpKSkNCi0gICBgKG1hcmtkb3du LWhlYWRlci1mYWNlLTEgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy0xKSkp DQotICAgYChtYXJrZG93bi1oZWFkZXItZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctMikpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtMyAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1m YWNlLTQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy00KSkpDQotICAgYCht YXJrZG93bi1oZWFkZXItZmFjZS01ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRp bmctNSkpKQ0KLSAgIGAobWFya2Rvd24taGVhZGVyLWZhY2UtNiAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0gICBgKG1hcmtkb3duLWhlYWRlci1ydWxlLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQot ICAgYChtYXJrZG93bi1oci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWFya2Rvd24taHRtbC1hdHRyLW5hbWUtZmFjZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAg IGAobWFya2Rvd24taHRtbC1hdHRyLXZhbHVlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlKSkpDQotICAgYChtYXJrZG93bi1odG1sLWVudGl0 eS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxjeWFuKSkp DQotICAgYChtYXJrZG93bi1odG1sLXRhZy1kZWxpbWl0ZXItZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAg IGAobWFya2Rvd24taHRtbC10YWctbmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotICAgYChtYXJrZG93bi1pbmxpbmUt Y29kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChtYXJrZG93bi1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmtkb3duLWxhbmd1YWdl LWluZm8tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmtkb3duLWxhbmd1YWdlLWtleXdvcmQtZmFjZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQt b3RoZXIpKSkNCi0gICBgKG1hcmtkb3duLWxpbmUtYnJlYWstZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbiA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKG1hcmtkb3du LWxpbmstZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChtYXJrZG93bi1saW5r LXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQg LG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChtYXJrZG93bi1saXN0LWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgIGAobWFya2Rvd24tbWFya3VwLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24tbWF0aC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAobWFya2Rvd24tbWV0 YWRhdGEta2V5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChtYXJrZG93bi1tZXRhZGF0YS12YWx1ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlLWFsdCkpKQ0KLSAgIGAobWFya2Rvd24tbWlzc2luZy1saW5rLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChtYXJrZG93bi1wbGFpbi11 cmwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtYXJrZG93bi1saW5rLWZhY2UpKSkNCi0gICBgKG1h cmtkb3duLXByZS1mYWNlICgoLGNsYXNzICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAy NykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1taXhlZC1mb250cykNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDpiYWNrZ3JvdW5kICxiZy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG1hcmtkb3duLXJlZmVy ZW5jZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1hcmtkb3duLW1hcmt1cC1mYWNlKSkpDQotICAg YChtYXJrZG93bi1zdHJpa2UtdGhyb3VnaC1mYWNlICgoLGNsYXNzIDpzdHJpa2UtdGhyb3VnaCB0 KSkpDQotICAgYChtYXJrZG93bi10YWJsZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG1hcmtkb3duLXVybC1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLTs7Ozs7IG1hcmt1cC1mYWNlcyAoYGFk b2MtbW9kZScpDQotICAgYChtYXJrdXAtYW5jaG9yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQotICAgYChtYXJrdXAtYXR0cmlidXRlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmt1cC1iaWct ZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMyA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkKSkpDQot ICAgYChtYXJrdXAtYm9sZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LHJlZC1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtY29kZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChtYXJrdXAtY29tbWFu ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3Vw LWNvbW1lbnQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCAsbW9kdXMt dGhlbWUtc2xhbnQpKSkNCi0gICBgKG1hcmt1cC1jb21wbGV4LXJlcGxhY2VtZW50LWZhY2UgKCgs Y2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsIDpzdHlsZSByZWxlYXNlZC1idXR0 b24pDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppbmhl cml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdlbnRhKSkpDQotICAgYChtYXJrdXAtZW1waGFzaXMt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCBpdGFsaWMp KSkNCi0gICBgKG1hcmt1cC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAobWFya3VwLWdlbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobWFya3VwLWludGVybmFsLXJlZmVyZW5jZS1mYWNlICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBg KG1hcmt1cC1pdGFsaWMtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xk IDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKG1hcmt1cC1saXN0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jYWxtKSkpDQotICAgYChtYXJrdXAtbWV0YS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAobWFya3VwLW1ldGEtaGlk ZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG1hcmt1cC1wYXNz dGhyb3VnaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGZpeGVkLXBpdGNoIDpmb3JlZ3JvdW5kICxj eWFuKSkpDQotICAgYChtYXJrdXAtcHJlcHJvY2Vzc29yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBgKG1hcmt1cC1yZXBsYWNlbWVudC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotICAgYChtYXJrdXAtc2Vjb25k YXJ5LXRleHQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1u dWFuY2VkKSkpDQotICAgYChtYXJrdXAtc21hbGwtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDAuOCA6 Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobWFya3VwLXN0cm9uZy1mYWNlICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1udWFuY2VkKSkpDQotICAgYChtYXJrdXAt c3Vic2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdodCAwLjggOmZvcmVncm91bmQgLGZnLXNwZWNp YWwtY29sZCkpKQ0KLSAgIGAobWFya3VwLXN1cGVyc2NyaXB0LWZhY2UgKCgsY2xhc3MgOmhlaWdo dCAwLjggOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAobWFya3VwLXRhYmxl LWNlbGwtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKG1hcmt1cC10YWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1 YnRsZS1jeWFuKSkpDQotICAgYChtYXJrdXAtdGFibGUtcm93LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3VidGxlLWN5YW4pKSkNCi0gICBgKG1hcmt1cC10aXRsZS0wLWZhY2Ug KCgsY2xhc3MgOmhlaWdodCAzLjAgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAo bWFya3VwLXRpdGxlLTEtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDIuNCA6Zm9yZWdyb3VuZCAsYmx1 ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUtMi1mYWNlICgoLGNsYXNzIDpoZWlnaHQg MS44IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG1hcmt1cC10aXRsZS0zLWZh Y2UgKCgsY2xhc3MgOmhlaWdodCAxLjQgOmZvcmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAg IGAobWFya3VwLXRpdGxlLTQtZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEuMiA6Zm9yZWdyb3VuZCAs Ymx1ZS1udWFuY2VkKSkpDQotICAgYChtYXJrdXAtdGl0bGUtNS1mYWNlICgoLGNsYXNzIDpoZWln aHQgMS4yIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQgOnVuZGVybGluZSB0KSkpDQotICAgYCht YXJrdXAtdmFsdWUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0g ICBgKG1hcmt1cC12ZXJiYXRpbS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IG1lbnRvcg0KLSAgIGAobWVudG9yLWRvd25sb2FkLW1lc3Nh Z2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAobWVudG9y LWRvd25sb2FkLW5hbWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0K LSAgIGAobWVudG9yLWRvd25sb2FkLXByb2dyZXNzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LWFsdC1vdGhlcikpKQ0KLSAgIGAobWVudG9yLWRvd25sb2FkLXNpemUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChtZW50b3ItZG93bmxvYWQtc3BlZWQt ZG93biAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG1lbnRvci1kb3du bG9hZC1zcGVlZC11cCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAobWVu dG9yLWRvd25sb2FkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQot ICAgYChtZW50b3ItaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLWJsdWUpKSkNCi0gICBgKG1lbnRvci10cmFja2VyLW5hbWUgKCgsY2xhc3MgOmZvcmVn cm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgbWVzc2FnZXMNCi0gICBgKG1lc3NhZ2UtY2l0 ZWQtdGV4dC0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAobWVzc2Fn ZS1jaXRlZC10ZXh0LTIgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG1l c3NhZ2UtY2l0ZWQtdGV4dC0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0g ICBgKG1lc3NhZ2UtY2l0ZWQtdGV4dC00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFs dCkpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItY2MgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG1lc3NhZ2UtaGVhZGVyLW5hbWUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGdyZWVuLWFsdC1vdGhlcikpKQ0KLSAgIGAobWVzc2FnZS1oZWFkZXItbmV3 c2dyb3VwcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkN Ci0gICBgKG1lc3NhZ2UtaGVhZGVyLW90aGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtZXNzYWdlLWhlYWRlci1zdWJqZWN0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQot ICAgYChtZXNzYWdlLWhlYWRlci10byAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxibHVlKSkpDQotICAgYChtZXNzYWdlLWhlYWRlci14aGVhZGVyICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxjeWFuKSkpDQotICAgYChtZXNzYWdlLW1tbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChtZXNzYWdlLXNlcGFyYXRvciAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi07Ozs7OyBtaW5pYnVmZmVyLWxpbmUN Ci0gICBgKG1pbmlidWZmZXItbGluZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LTs7Ozs7IG1pbmltYXANCi0gICBgKG1pbmltYXAtYWN0aXZlLXJlZ2lvbi1iYWNrZ3JvdW5kICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkNCi0gICBgKG1pbmltYXAtY3VycmVudC1s aW5lLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4taW50ZW5zZS1iZyA6Zm9yZWdyb3Vu ZCAsZmctbWFpbikpKQ0KLTs7Ozs7IG1vZGVsaW5lDQotICAgYChtb2RlLWxpbmUgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICBmZy1hY3RpdmUgYmctYWN0aXZlIGZnLWRpbSBiZy1hY3RpdmUNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICBmZy1hbHQgYmctYWN0aXZlICdhbHQtc3R5bGUgbmlsIGJnLW1h aW4pKSkpDQotICAgYChtb2RlLWxpbmUtYnVmZmVyLWlkICgoLGNsYXNzIDppbmhlcml0IGJvbGQp KSkNCi0gICBgKG1vZGUtbGluZS1lbXBoYXNpcyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAobW9kZS1saW5lLWhpZ2hsaWdodCAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSA6Ym94ICg6bGluZS13aWR0aCAtMSA6 c3R5bGUgcHJlc3NlZC1idXR0b24pKSkpDQotICAgYChtb2RlLWxpbmUtaW5hY3RpdmUgKCgsY2xh c3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1tb2RlLWxpbmUtYXR0cnMNCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmZy1pbmFjdGl2ZSBiZy1pbmFjdGl2ZSBmZy1hbHQgYmct ZGltDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmctcmVnaW9uIGJnLWFj dGl2ZSkpKSkNCi07Ozs7OyBtb29kLWxpbmUNCi0gICBgKG1vb2QtbGluZS1tb2RpZmllZCAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0 dXMtZXJyb3IgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkp KQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1pbmZvICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1uZXV0cmFsICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAobW9vZC1saW5lLXN0YXR1cy1zdWNjZXNzICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0gICBgKG1vb2QtbGluZS1zdGF0 dXMtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0 aXZlKSkpDQotICAgYChtb29kLWxpbmUtdW5pbXBvcnRhbnQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWluYWN0aXZlKSkpDQotOzs7OzsgbXBkZWwNCi0gICBgKG1wZGVsLWJyb3dzZXItZGlyZWN0 b3J5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKG1wZGVsLXBsYXls aXN0LWN1cnJlbnQtc29uZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQg LGJsdWUtYWx0LW90aGVyKSkpDQotOzs7OzsgbXU0ZQ0KLSAgIGAobXU0ZS1hdHRhY2gtbnVtYmVy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0g ICBgKG11NGUtY2l0ZWQtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0K LSAgIGAobXU0ZS1jaXRlZC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkN Ci0gICBgKG11NGUtY2l0ZWQtMy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQp KSkNCi0gICBgKG11NGUtY2l0ZWQtNC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC01LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHll bGxvdy1hbHQpKSkNCi0gICBgKG11NGUtY2l0ZWQtNi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFsdCkpKQ0KLSAgIGAobXU0ZS1jaXRlZC03LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKG11NGUtY29tcG9zZS1oZWFkZXItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBtdTRlLWNvbXBvc2Utc2VwYXJhdG9yLWZhY2UpKSkNCi0gICBgKG11NGUtY29tcG9z ZS1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW5l dXRyYWwpKSkNCi0gICBgKG11NGUtY29udGFjdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChtdTRlLWNvbnRleHQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKG11NGUtZHJhZnQtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUtZmxhZ2dl ZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChtdTRlLWZvb3Rl ci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQgOnNsYW50ICxtb2R1 cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobXU0ZS1mb3J3YXJkZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKG11NGUtaGVhZGVyLWZhY2UgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobXU0ZS1oZWFkZXItaGlnaGxpZ2h0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGwtbGluZSkpKQ0KLSAgIGAobXU0 ZS1oZWFkZXIta2V5LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKG11 NGUtaGVhZGVyLW1hcmtzLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKG11NGUtaGVhZGVyLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAobXU0ZS1oZWFkZXItdmFsdWUtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLSAgIGAobXU0ZS1oaWdobGlnaHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAobXU0ZS1saW5rLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbGluaykpKQ0KLSAgIGAobXU0ZS1tb2RlbGluZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAobXU0ZS1tb3ZlZC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICx5ZWxsb3cgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAo bXU0ZS1vay1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGdyZWVuKSkp DQotICAgYChtdTRlLXJlZ2lvbi1jb2RlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtY2FsbSkpKQ0KLSAgIGAobXU0ZS1yZXBsaWVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGJsdWUtZmFpbnQpKSkNCi0gICBgKG11NGUtc3BlY2lhbC1oZWFkZXItdmFsdWUtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAg IGAobXU0ZS1zeXN0ZW0tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFyay1kZWwgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAobXU0ZS10aXRsZS1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtdTRlLXRyYXNoZWQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChtdTRlLXVucmVhZC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG11NGUtdXJsLW51bWJl ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVy KSkpDQotICAgYChtdTRlLXZpZXctYm9keS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChtdTRlLXdhcm5pbmctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3YXJuaW5n KSkpDQotOzs7OzsgbXU0ZS1jb252ZXJzYXRpb24NCi0gICBgKG11NGUtY29udmVyc2F0aW9uLWhl YWRlciAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLWNvbGQpKSkNCi0gICBg KG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0xICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLXdhcm0pKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci0yICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG11NGUtY29udmVyc2F0aW9uLXNl bmRlci0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKG11 NGUtY29udmVyc2F0aW9uLXNlbmRlci00ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkN Ci0gICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci01ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctcmVmaW5lLWZnKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi1zZW5kZXItNiAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1yZWZpbmUtZmcpKSkNCi0gICBgKG11NGUtY29udmVyc2F0 aW9uLXNlbmRlci03ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1yZWZpbmUtZmcpKSkNCi0g ICBgKG11NGUtY29udmVyc2F0aW9uLXNlbmRlci04ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl LXJlZmluZS1mZykpKQ0KLSAgIGAobXU0ZS1jb252ZXJzYXRpb24tc2VuZGVyLW1lICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChtdTRlLWNvbnZlcnNhdGlvbi11bnJlYWQg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLTs7Ozs7IG11bHRpcGxlLWN1cnNvcnMNCi0gICBg KG1jL2N1cnNvci1iYXItZmFjZSAoKCxjbGFzcyA6aGVpZ2h0IDEgOmJhY2tncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKG1jL2N1cnNvci1mYWNlICgoLGNsYXNzIDppbnZlcnNlLXZpZGVvIHQpKSkN Ci0gICBgKG1jL3JlZ2lvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IHJlZ2lvbikpKQ0KLTs7Ozs7 IG5lb3RyZWUNCi0gICBgKG5lby1iYW5uZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YSkpKQ0KLSAgIGAobmVvLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbikp KQ0KLSAgIGAobmVvLWRpci1saW5rLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsYmx1ZSkpKQ0KLSAgIGAobmVvLWV4cGFuZC1idG4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbikpKQ0KLSAgIGAobmVvLWZpbGUtbGluay1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChuZW8taGVhZGVyLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobmVvLXJvb3QtZGlyLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKG5lby12 Yy1hZGRlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAobmVvLXZj LWNvbmZsaWN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgYChuZW8tdmMtZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWlu KSkpDQotICAgYChuZW8tdmMtZWRpdGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxv dykpKQ0KLSAgIGAobmVvLXZjLWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct aW5hY3RpdmUpKSkNCi0gICBgKG5lby12Yy1taXNzaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLHJlZC1hbHQpKSkNCi0gICBgKG5lby12Yy1uZWVkcy1tZXJnZS1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAobmVvLXZjLW5lZWRzLXVwZGF0ZS1mYWNl ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobmVvLXZjLXJlbW92ZWQtZmFjZSAoKCxj bGFzcyA6c3RyaWtlLXRocm91Z2ggdCkpKQ0KLSAgIGAobmVvLXZjLXVubG9ja2VkLWNoYW5nZXMt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZSkpKQ0KLSAgIGAo bmVvLXZjLXVwLXRvLWRhdGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQot ICAgYChuZW8tdmMtdXNlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQot Ozs7Ozsgbm8tZW1vamkNCi0gICBgKG5vLWVtb2ppICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu KSkpDQotOzs7Ozsgbm90bXVjaA0KLSAgIGAobm90bXVjaC1jcnlwdG8tZGVjcnlwdGlvbiAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YSkpKQ0KLSAgIGAobm90bXVj aC1jcnlwdG8tcGFydC1oZWFkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90 aGVyKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWduYXR1cmUtYmFkICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWdu YXR1cmUtZ29vZCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtZ3JlZW4pKSkN Ci0gICBgKG5vdG11Y2gtY3J5cHRvLXNpZ25hdHVyZS1nb29kLWtleSAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChub3RtdWNoLWNyeXB0by1zaWdu YXR1cmUtdW5rbm93biAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtcmVkKSkp DQotICAgYChub3RtdWNoLWhlbGxvLWxvZ28tYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsYmctbWFpbikpKQ0KLSAgIGAobm90bXVjaC1tZXNzYWdlLXN1bW1hcnktZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1udWFuY2VkLWN5YW4pKSkNCi0gICBgKG5vdG11Y2gtc2Vh cmNoLWZsYWdnZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLSAgIGAo bm90bXVjaC1zZWFyY2gtbWF0Y2hpbmctYXV0aG9ycyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct bWFpbikpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtbm9uLW1hdGNoaW5nLWF1dGhvcnMgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAobm90bXVjaC1zZWFyY2gtdW5yZWFkLWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCkpKQ0KLSAgIGAobm90bXVjaC10YWctYWRkZWQNCi0g ICAgICgoLChhcHBlbmQgJygoc3VwcG9ydHMgOnVuZGVybGluZSAoOnN0eWxlIHdhdmUpKSkgY2xh c3MpDQotICAgICAgIDp1bmRlcmxpbmUgKDpjb2xvciAsZ3JlZW4gOnN0eWxlIHdhdmUpKQ0KLSAg ICAgICgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAobm90 bXVjaC10YWctZGVsZXRlZA0KLSAgICAgKCgsKGFwcGVuZCAnKChzdXBwb3J0cyA6dW5kZXJsaW5l ICg6c3R5bGUgd2F2ZSkpKSBjbGFzcykNCi0gICAgICAgOnVuZGVybGluZSAoOmNvbG9yICxyZWQg OnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCA6dW5kZXJsaW5l IHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLWZsYWdnZWQgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdGFnLXVucmVhZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKG5vdG11Y2gtdHJlZS1tYXRjaC1h dXRob3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAg YChub3RtdWNoLXRyZWUtbWF0Y2gtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAobm90bXVjaC10cmVlLW1hdGNoLXRhZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChub3RtdWNoLXRyZWUtbm8tbWF0Y2gt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYChub3RtdWNoLXdhc2gt Y2l0ZWQtdGV4dCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAobm90bXVjaC13 YXNoLXRvZ2dsZS1idXR0b24gKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotOzs7OzsgbnVtMy1tb2RlDQotICAgYChudW0zLWZhY2UtZXZlbiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi07Ozs7OyBueG1sLW1v ZGUNCi0gICBgKG54bWwtYXR0cmlidXRlLWNvbG9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1t YWluKSkpDQotICAgYChueG1sLWF0dHJpYnV0ZS1sb2NhbC1uYW1lICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQgY3lhbi1hbHQtZmFpbnQpKSkpDQotICAgYChu eG1sLWF0dHJpYnV0ZS1wcmVmaXggKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50 YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5 YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQot ICAgYChueG1sLWF0dHJpYnV0ZS12YWx1ZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1l LXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBibHVlIGJsdWUtZmFpbnQpKSkpDQotICAgYChueG1sLWNkYXRhLXNlY3Rpb24tQ0RBVEEgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkN Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAobnhtbC1jZGF0YS1zZWN0aW9uLWRlbGltaXRl ciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFs dC1mYWludCkpKSkNCi0gICBgKG54bWwtY2hhci1yZWYtZGVsaW1pdGVyICgoLGNsYXNzICxAKG1v ZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhlciBncmVlbi1hbHQtb3RoZXItZmFp bnQpKSkpDQotICAgYChueG1sLWNoYXItcmVmLW51bWJlciAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4tYWx0LW90aGVyLWZhaW50KQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xk LXdlaWdodCkpKSkNCi0gICBgKG54bWwtZGVsaW1pdGVkLWRhdGEgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYChu eG1sLWRlbGltaXRlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYChueG1s LWVsZW1lbnQtY29sb24gKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG54 bWwtZWxlbWVudC1sb2NhbC1uYW1lICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKG54bWwtZWxlbWVudC1wcmVmaXggKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWlu dCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1ib2xkLXdlaWdodCkpKSkNCi0gICBgKG54bWwtZW50aXR5LXJlZi1kZWxpbWl0ZXIgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbi1hbHQtb3RoZXIgZ3JlZW4t YWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAobnhtbC1lbnRpdHktcmVmLW5hbWUgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyIGdyZWVuLWFsdC1vdGhlci1m YWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYChueG1sLWdseXBoICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLSAgIGAobnhtbC1oYXNoICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICBibHVlLWFsdCBibHVlLWFsdC1mYWludCkNCi0gICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAo bnhtbC1oZWFkaW5nICgoLGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKG54bWwtbmFtZSAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAg ICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkp KSkNCi0gICBgKG54bWwtbmFtZXNwYWNlLWF0dHJpYnV0ZS1jb2xvbiAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbWFpbikpKQ0KLSAgIGAobnhtbC1uYW1lc3BhY2UtYXR0cmlidXRlLXByZWZpeCAo KCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWlu dCkpKSkNCi0gICBgKG54bWwtcHJvY2Vzc2luZy1pbnN0cnVjdGlvbi10YXJnZXQgKCgsY2xhc3Mg LEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBt YWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkpKSkN Ci0gICBgKG54bWwtcHJvbG9nLWtleXdvcmQgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFsdC1vdGhlci1mYWludCkNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdo dCkpKSkNCi0gICBgKG54bWwtcmVmICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3lu dGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuLWFsdC1vdGhl ciBncmVlbi1hbHQtb3RoZXItZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLTs7Ozs7IG9iamVkDQotICAgYChvYmpl ZC1obCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsKGlmIG1vZHVzLXZpdmVuZGktdGhlbWUtaW50ZW5z ZS1obC1saW5lDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnLWhs LWFsdC1pbnRlbnNlIGJnLWhsLWFsdCkpKSkNCi0gICBgKG9iamVkLW1hcmsgKCgsY2xhc3MgOmJh Y2tncm91bmQgLGJnLWFjdGl2ZSkpKQ0KLSAgIGAob2JqZWQtbW9kZS1saW5lICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLTs7Ozs7IG9yZGVybGVzcw0KLSAgIGAob3JkZXJs ZXNzLW1hdGNoLWZhY2UtMCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1h bHQtb3RoZXIgYmx1ZS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJsdWUtcmVmaW5lLWJnIGJsdWUtcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJs ZXNzLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQgbWFnZW50YS1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KLSAgIGAo b3JkZXJsZXNzLW1hdGNoLWZhY2UtMiAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRh cmQtY29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3JlZW4gZ3JlZW4tbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBncmVlbi1yZWZpbmUtYmcgZ3JlZW4tcmVmaW5lLWZnKSkpKQ0KLSAgIGAob3JkZXJs ZXNzLW1hdGNoLWZhY2UtMyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3RhbmRhcmQtY29t cGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWVsbG93 IHllbGxvdy1udWFuY2VkLWJnDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHllbGxvdy1yZWZpbmUtYmcgeWVsbG93LXJlZmluZS1mZykpKSkNCi07Ozs7OyBvcmcNCi0g ICBgKG9yZy1hZ2VuZGEtY2FsZW5kYXItZXZlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1h aW4pKSkNCi0gICBgKG9yZy1hZ2VuZGEtY2FsZW5kYXItc2V4cCAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsY3lhbi1hbHQpKSkNCi0gICBgKG9yZy1hZ2VuZGEtY2xvY2tpbmcgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1jb2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICxAKGFuZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkp KQ0KLSAgIGAob3JnLWFnZW5kYS1jb2x1bW4tZGF0ZWxpbmUgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJnLWFsdCkpKQ0KLSAgIGAob3JnLWFnZW5kYS1jdXJyZW50LXRpbWUgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1hZ2VuZGEt ZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAob3JnLWFnZW5kYS1kYXRl LXRvZGF5ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLW1haW4gOnVuZGVy bGluZSB0KSkpDQotICAgYChvcmctYWdlbmRhLWRhdGUtd2Vla2VuZCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGlhcnkgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1hZ2VuZGEtZGltbWVkLXRvZG8tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9y Zy1hZ2VuZGEtZG9uZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0KSkpDQotICAgYChv cmctYWdlbmRhLWZpbHRlci1jYXRlZ29yeSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLWFnZW5kYS1maWx0ZXItZWZmb3J0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAg YChvcmctYWdlbmRhLWZpbHRlci1yZWdleHAgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKG9yZy1hZ2VuZGEtZmlsdGVyLXRhZ3MgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBg KG9yZy1hZ2VuZGEtcmVzdHJpY3Rpb24tbG9jayAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlt IDpmb3JlZ3JvdW5kICxmZy1kaW0pKSkNCi0gICBgKG9yZy1hZ2VuZGEtc3RydWN0dXJlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAob3JnLWFyY2hpdmVkICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLWJs b2NrICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAg ICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2sgYmctZGlt KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg YChvcmctYmxvY2stYmVnaW4tbGluZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1p eGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1vcmctYmxvY2stZGVsaW0NCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJnLWRpbSBmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJnLWFsdCBmZy1zcGVjaWFsLW1pbGQpKSkpDQotICAgYChvcmct YmxvY2stZW5kLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgb3JnLWJsb2NrLWJlZ2luLWxpbmUpKSkN Ci0gICBgKG9yZy1jaGVja2JveCAoKCxjbGFzcyA6Ym94ICg6bGluZS13aWR0aCAxIDpjb2xvciAs YmctYWN0aXZlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1p bmFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAgYChvcmctY2hlY2tib3gtc3Rh dGlzdGljcy1kb25lICgoLGNsYXNzIDppbmhlcml0IG9yZy1kb25lKSkpDQotICAgYChvcmctY2hl Y2tib3gtc3RhdGlzdGljcy10b2RvICgoLGNsYXNzIDppbmhlcml0IG9yZy10b2RvKSkpDQotICAg YChvcmctY2xvY2stb3ZlcmxheSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKG9yZy1jb2RlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt bWl4ZWQtZm9udHMpIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChvcmctY29sdW1uICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkNCi0gICBgKG9yZy1jb2x1bW4tdGl0bGUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6dW5kZXJsaW5lIHQgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0K LSAgIGAob3JnLWRhdGUgKCgsY2xhc3MgOmluaGVyaXQgKGJ1dHRvbiBmaXhlZC1waXRjaCkgOmZv cmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChvcmctZGF0ZS1zZWxlY3RlZCAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdCA6aW52ZXJzZS12aWRlbyB0 KSkpDQotICAgYChvcmctZG9jdW1lbnQtaW5mbyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChvcmctZG9jdW1lbnQtaW5mby1rZXl3b3JkICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKG9yZy1kb2N1 bWVudC10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCAsbW9kdXMtdGhlbWUtdmFyaWFibGUt cGl0Y2gpIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQNCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlIG1vZHVzLXZpdmVuZGkt dGhlbWUtc2NhbGUtNSkpKSkNCi0gICBgKG9yZy1kb25lICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lv biA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAob3JnLWRy YXdlciAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAg ICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAob3JnLWVsbGlw c2lzICgoLGNsYXNzIDpmb3JlZ3JvdW5kIG5pbCkpKSA7IGluaGVyaXRzIGZyb20gdGhlIGhlYWRp bmcncyBjb2xvdXINCi0gICBgKG9yZy1mb290bm90ZSAoKCxjbGFzcyA6aW5oZXJpdCBidXR0b24g OmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChvcmctZm9ybXVsYSAoKCxjbGFzcyAsQCht b2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKG9yZy1oYWJpdC1hbGVydC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UteWVsbG93KSkpDQotICAgYChvcmct aGFiaXQtYWxlcnQtZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLXllbGxvdykpKQ0KLSAgIGAob3JnLWhhYml0LWNsZWFyLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChvcmctaGFiaXQtY2xlYXIt ZnV0dXJlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEp KSkNCi0gICBgKG9yZy1oYWJpdC1vdmVyZHVlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKG9yZy1oYWJpdC1vdmVyZHVlLWZ1dHVyZS1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKG9yZy1o YWJpdC1yZWFkeS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1 ZSkpKQ0KLSAgIGAob3JnLWhhYml0LXJlYWR5LWZ1dHVyZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1ibHVlKSkpDQotICAgYChvcmctaGVhZGxpbmUtZG9uZSAoKCxj bGFzcyA6aW5oZXJpdCAsbW9kdXMtdGhlbWUtdmFyaWFibGUtcGl0Y2ggOmZvcmVncm91bmQgLGdy ZWVuLW51YW5jZWQpKSkNCi0gICBgKG9yZy1oZWFkbGluZS10b2RvICgoLGNsYXNzIDppbmhlcml0 ICxtb2R1cy10aGVtZS12YXJpYWJsZS1waXRjaCA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQpKSkN Ci0gICBgKG9yZy1oaWRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxiZy1tYWluKSkpDQotICAgYChv cmctaW5kZW50ICgoLGNsYXNzIDppbmhlcml0IChmaXhlZC1waXRjaCBvcmctaGlkZSkpKSkNCi0g ICBgKG9yZy1sYXRleC1hbmQtcmVsYXRlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1y ZWZpbmUtZmcpKSkNCi0gICBgKG9yZy1sZXZlbC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLWhlYWRpbmctMSkpKQ0KLSAgIGAob3JnLWxldmVsLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaGVhZGluZy0yKSkpDQotICAgYChvcmctbGV2ZWwtMyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1oZWFkaW5nLTMpKSkNCi0gICBgKG9yZy1sZXZlbC00ICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNCkpKQ0KLSAgIGAob3JnLWxldmVsLTUgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy01KSkpDQotICAgYChvcmctbGV2ZWwtNiAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0gICBgKG9yZy1sZXZl bC03ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhlYWRpbmctNykpKQ0KLSAgIGAob3Jn LWxldmVsLTggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaGVhZGluZy04KSkpDQotICAg YChvcmctbGluayAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAgYChvcmctbGlzdC1kdCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYChvcmctbWFjcm8gKCgsY2xhc3MgOmJhY2tn cm91bmQgLGJsdWUtbnVhbmNlZC1iZyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkN Ci0gICBgKG9yZy1tZXRhLWxpbmUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1taXhl ZC1mb250cykgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAob3JnLW1vZGUtbGluZS1jbG9j ayAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAob3JnLW1vZGUtbGluZS1j bG9jay1vdmVycnVuICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWFjdGl2ZS1yZWQpKSkN Ci0gICBgKG9yZy1wcmlvcml0eSAoKCxjbGFzcyA6Ym94ICxiZy1yZWdpb24gOmJhY2tncm91bmQg LGJnLWRpbSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAob3JnLXByb3BlcnR5LXZhbHVl ICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQot ICAgYChvcmctcXVvdGUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1vcmctYmxvY2sg YmctZGltKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAob3JnLXNjaGVkdWxlZCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChvcmctc2NoZWR1 bGVkLXByZXZpb3VzbHkgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIpKSkN Ci0gICBgKG9yZy1zY2hlZHVsZWQtdG9kYXkgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWx0LW90aGVyKSkpDQotICAgYChvcmctc2V4cC1kYXRlICgoLGNsYXNzIDppbmhlcml0IG9yZy1k YXRlKSkpDQotICAgYChvcmctc3BlY2lhbC1rZXl3b3JkICgoLGNsYXNzICxAKG1vZHVzLXZpdmVu ZGktdGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKG9yZy10YWJsZSAoKCxjbGFzcyAs QChtb2R1cy12aXZlbmRpLXRoZW1lLW1peGVkLWZvbnRzKQ0KLSAgICAgICAgICAgICAgICAgICAg ICAgIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKG9yZy10YWJsZS1oZWFk ZXIgKCgsY2xhc3MgOmluaGVyaXQgKGZpeGVkLXBpdGNoIG1vZHVzLXRoZW1lLWludGVuc2UtbmV1 dHJhbCkpKSkNCi0gICBgKG9yZy10YWcgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtbnVh bmNlZCkpKQ0KLSAgIGAob3JnLXRhZy1ncm91cCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxjeWFuLW51YW5jZWQpKSkNCi0gICBgKG9yZy10YXJnZXQgKCgsY2xhc3MgOnVuZGVy bGluZSB0KSkpDQotICAgYChvcmctdGltZS1ncmlkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy11 bmZvY3VzZWQpKSkNCi0gICBgKG9yZy10b2RvICgoLGNsYXNzIDpib3ggLGJnLXJlZ2lvbiA6YmFj a2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChvcmctdXBjb21p bmctZGVhZGxpbmUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIpKSkNCi0gICBg KG9yZy11cGNvbWluZy1kaXN0YW50LWRlYWRsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQt bnVhbmNlZCkpKQ0KLSAgIGAob3JnLXZlcmJhdGltICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGkt dGhlbWUtbWl4ZWQtZm9udHMpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jYWxtKSkpDQotICAgYChvcmctdmVy c2UgKCgsY2xhc3MgOmluaGVyaXQgb3JnLXF1b3RlKSkpDQotICAgYChvcmctd2FybmluZyAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0LW90aGVyKSkpDQotOzs7Ozsg b3JnLWpvdXJuYWwNCi0gICBgKG9yZy1qb3VybmFsLWNhbGVuZGFyLWVudHJ5LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1hbHQtb3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAob3JnLWpvdXJuYWwtY2FsZW5kYXItc2NoZWR1bGVkLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLHJlZC1hbHQtb3RoZXIgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0K LSAgIGAob3JnLWpvdXJuYWwtaGlnaGxpZ2h0ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdCkpKQ0KLTs7Ozs7IG9yZy1ub3Rlcg0KLSAgIGAob3JnLW5vdGVyLW5vLW5vdGVzLWV4aXN0 LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0K LSAgIGAob3JnLW5vdGVyLW5vdGVzLWV4aXN0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAsZ3JlZW4tYWN0aXZlKSkpDQotOzs7Ozsgb3JnLXBvbW9kb3JvDQotICAgYChv cmctcG9tb2Rvcm8tbW9kZS1saW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkp DQotICAgYChvcmctcG9tb2Rvcm8tbW9kZS1saW5lLWJyZWFrICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAob3JnLXBvbW9kb3JvLW1vZGUtbGluZS1vdmVydGltZSAo KCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotOzs7Ozsg b3JnLXJlY3VyDQotICAgYChvcmctcmVjdXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEt YWN0aXZlKSkpDQotOzs7Ozsgb3JnLXJvYW0NCi0gICBgKG9yZy1yb2FtLWxpbmsgKCgsY2xhc3Mg OmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAob3JnLXJvYW0tbGlu ay1jdXJyZW50ICgoLGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 KSkpDQotICAgYChvcmctcm9hbS1saW5rLWludmFsaWQgKCgsY2xhc3MgOmluaGVyaXQgYnV0dG9u IDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKG9yZy1yb2FtLWxpbmstc2hpZWxkZWQgKCgsY2xh c3MgOmluaGVyaXQgYnV0dG9uIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi0gICBgKG9yZy1yb2Ft LXRhZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0IDpzbGFudCBpdGFsaWMpKSkNCi07Ozs7 OyBvcmctc3VwZXJzdGFyDQotICAgYChvcmctc3VwZXJzdGFyLWl0ZW0gKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKG9yZy1zdXBlcnN0YXItbGVhZGluZyAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsZmctd2hpdGVzcGFjZSkpKQ0KLTs7Ozs7IG9yZy10YWJsZS1zdGlja3ktaGVh ZGVyDQotICAgYChvcmctdGFibGUtc3RpY2t5LWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLWludGVuc2UtbmV1dHJhbCkpKQ0KLTs7Ozs7IG9yZy10cmVlc2NvcGUNCi0g ICBgKG9yZy10cmVlc2NvcGUtZmFjZXMtLW1hcmtlcmludGVybmFsLW1pZGRheSAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJsdWUpKSkNCi0gICBgKG9yZy10cmVlc2NvcGUt ZmFjZXMtLW1hcmtlcmludGVybmFsLXJhbmdlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtbWlsZCkpKQ0KLTs7Ozs7IG9yaWdhbWkNCi0gICBgKG9yaWdhbWktZm9sZC1oZWFk ZXItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1kaW0g OmJveCB0KSkpDQotICAgYChvcmlnYW1pLWZvbGQtcmVwbGFjZW1lbnQtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBvdXRsaW5l LW1vZGUNCi0gICBgKG91dGxpbmUtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1oZWFk aW5nLTEpKSkNCi0gICBgKG91dGxpbmUtMiAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1o ZWFkaW5nLTIpKSkNCi0gICBgKG91dGxpbmUtMyAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1oZWFkaW5nLTMpKSkNCi0gICBgKG91dGxpbmUtNCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1oZWFkaW5nLTQpKSkNCi0gICBgKG91dGxpbmUtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1oZWFkaW5nLTUpKSkNCi0gICBgKG91dGxpbmUtNiAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1oZWFkaW5nLTYpKSkNCi0gICBgKG91dGxpbmUtNyAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1oZWFkaW5nLTcpKSkNCi0gICBgKG91dGxpbmUtOCAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1oZWFkaW5nLTgpKSkNCi07Ozs7OyBvdXRsaW5lLW1pbm9yLWZhY2Vz DQotICAgYChvdXRsaW5lLW1pbm9yLTAgKCgsY2xhc3MgbmlsKSkpDQotOzs7OzsgcGFja2FnZSAo TS14IGxpc3QtcGFja2FnZXMpDQotICAgYChwYWNrYWdlLWRlc2NyaXB0aW9uICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHBhY2thZ2UtaGVscC1zZWN0aW9u LW5hbWUgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3Ro ZXIpKSkNCi0gICBgKHBhY2thZ2UtbmFtZSAoKCxjbGFzcyA6aW5oZXJpdCBsaW5rKSkpDQotICAg YChwYWNrYWdlLXN0YXR1cy1hdmFpbC1vYnNvICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVn cm91bmQgLHJlZCkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtYXZhaWxhYmxlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLWJ1aWx0 LWluICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYChwYWNrYWdlLXN0YXR1 cy1kZXBlbmRlbmN5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0K LSAgIGAocGFja2FnZS1zdGF0dXMtZGlzYWJsZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhl bWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAocGFja2FnZS1zdGF0dXMtZXh0ZXJuYWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1oZWxk ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChwYWNrYWdlLXN0YXR1 cy1pbmNvbXBhdCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKHBhY2thZ2Utc3RhdHVzLWluc3RhbGxlZCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC13YXJtKSkpDQotICAgYChwYWNrYWdlLXN0YXR1cy1uZXcgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHBhY2thZ2Utc3RhdHVzLXVuc2ln bmVkICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi07Ozs7 OyBwYWdlLWJyZWFrLWxpbmVzDQotICAgYChwYWdlLWJyZWFrLWxpbmVzICgoLGNsYXNzIDppbmhl cml0IGRlZmF1bHQgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotOzs7 OzsgcGFyYWRveA0KLSAgIGAocGFyYWRveC1hcmNoaXZlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAocGFyYWRveC1jb21tZW50LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAg YChwYXJhZG94LWNvbW1pdC10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1y ZWZpbmUtbWFnZW50YSA6Ym94IHQpKSkNCi0gICBgKHBhcmFkb3gtZGVzY3JpcHRpb24tZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChwYXJhZG94LWRl c2NyaXB0aW9uLWZhY2UtbXVsdGlsaW5lICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFs LWNvbGQpKSkNCi0gICBgKHBhcmFkb3gtZG93bmxvYWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkN Ci0gICBgKHBhcmFkb3gtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLGN5YW4tYWx0LW90aGVyKSkpDQotICAgYChw YXJhZG94LWhvbWVwYWdlLWJ1dHRvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRh LWFsdC1vdGhlciA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHBhcmFkb3gtbW9kZS1saW5lLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBg KHBhcmFkb3gtbmFtZS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlIDp1bmRlcmxpbmUg dCkpKQ0KLSAgIGAocGFyYWRveC1zdGFyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2Vu dGEpKSkNCi0gICBgKHBhcmFkb3gtc3RhcnJlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxt YWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHBhcmVuLWZhY2UNCi0gICBgKHBhcmVudGhlc2lzICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxmZy11bmZvY3VzZWQpKSkNCi07Ozs7OyBwYXJyb3QNCi0gICBgKHBh cnJvdC1yb3RhdGUtcm90YXRpb24taGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtcmVmaW5lLW1hZ2VudGEpKSkNCi07Ozs7OyBwYXNzDQotICAgYChwYXNzLW1vZGUt ZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3Bl Y2lhbC1jb2xkKSkpDQotICAgYChwYXNzLW1vZGUtZW50cnktZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAocGFzcy1tb2RlLWhl YWRlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi07Ozs7 OyBwZXJzcC1tb2RlDQotICAgYChwZXJzcC1mYWNlLWxpZ2h0ZXItYnVmZmVyLW5vdC1pbi1wZXJz cCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkpKQ0KLSAgIGAocGVy c3AtZmFjZS1saWdodGVyLWRlZmF1bHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3Vu ZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHBlcnNwLWZhY2UtbGlnaHRlci1uaWwtcGVyc3AgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotOzs7OzsgcGVy c3BlY3RpdmUNCi0gICBgKHBlcnNwLXNlbGVjdGVkLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9s ZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi07Ozs7OyBwaGktZ3JlcA0KLSAgIGAocGhp LWdyZXAtaGVhZGluZy1mYWNlICAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxy ZWQtYWx0DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2ZW5kaS10aGVtZS1zY2FsZS00KSkpKQ0KLSAgIGAo cGhpLWdyZXAtbGluZS1udW1iZXItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC13YXJtKSkpDQotICAgYChwaGktZ3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAocGhpLWdyZXAtbW9kaWZpZWQtZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUteWVsbG93KSkpDQotICAgYChwaGkt Z3JlcC1vdmVybGF5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWJs dWUpKSkNCi07Ozs7OyBwaGktc2VhcmNoDQotICAgYChwaGktcmVwbGFjZS1wcmV2aWV3LWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpDQotICAgYChw aGktc2VhcmNoLWZhaWxwYXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVm aW5lLXJlZCkpKQ0KLSAgIGAocGhpLXNlYXJjaC1tYXRjaC1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXJlZmluZS1jeWFuKSkpDQotICAgYChwaGktc2VhcmNoLXNlbGVjdGlvbi1m YWNlICgoLGNsYXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuIGJvbGQpKSkp DQotOzs7OzsgcGtnYnVpbGQtbW9kZQ0KLSAgIGAocGtnYnVpbGQtZXJyb3ItZmFjZSAoKCxjbGFz cyA6dW5kZXJsaW5lICxmZy1sYW5nLWVycm9yKSkpDQotOzs7OzsgcG9taWRvcg0KLSAgIGAocG9t aWRvci1icmVhay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K LSAgIGAocG9taWRvci1vdmVyd29yay1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWx0 LW90aGVyKSkpDQotICAgYChwb21pZG9yLXNraXAtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctYWx0IDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHBvbWlkb3Itd29yay1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi07Ozs7OyBwb3dl cmxpbmUNCi0gICBgKHBvd2VybGluZS1hY3RpdmUwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1t YWluIDpmb3JlZ3JvdW5kICxibHVlLWZhaW50IDppbnZlcnNlLXZpZGVvIHQpKSkNCi0gICBgKHBv d2VybGluZS1hY3RpdmUxICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlLW51YW5jZWQtYmcgOmZv cmVncm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAocG93ZXJsaW5lLWFjdGl2ZTIgKCgsY2xh c3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQotICAg YChwb3dlcmxpbmUtaW5hY3RpdmUwICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1zcGVjaWFsLWNv bGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocG93ZXJsaW5lLWluYWN0 aXZlMSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGltIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2 ZSkpKQ0KLSAgIGAocG93ZXJsaW5lLWluYWN0aXZlMiAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmct aW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotOzs7OzsgcG93ZXJsaW5lLWV2 aWwNCi0gICBgKHBvd2VybGluZS1ldmlsLWJhc2UtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAs ZmctbWFpbiA6Zm9yZWdyb3VuZCAsYmctbWFpbikpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtZW1h Y3MtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtbWFnZW50YSkpKQ0K LSAgIGAocG93ZXJsaW5lLWV2aWwtaW5zZXJ0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtYWN0aXZlLWdyZWVuKSkpDQotICAgYChwb3dlcmxpbmUtZXZpbC1tb3Rpb24tZmFjZSAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAocG93ZXJs aW5lLWV2aWwtbm9ybWFsLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGZnLWFsdCA6Zm9yZWdy b3VuZCAsYmctbWFpbikpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtb3BlcmF0b3ItZmFjZSAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUteWVsbG93KSkpDQotICAgYChwb3dlcmxp bmUtZXZpbC1yZXBsYWNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZl LXJlZCkpKQ0KLSAgIGAocG93ZXJsaW5lLWV2aWwtdmlzdWFsLWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgbW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4pKSkNCi07Ozs7OyBwcm9jZWQNCi0gICBgKHByb2Nl ZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstc3ltYm9sKSkpDQotICAg YChwcm9jZWQtbWFya2VkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1hcmstYWx0KSkp DQotICAgYChwcm9jZWQtc29ydC1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdy b3VuZCAsZmctc3BlY2lhbC1jYWxtIDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHByb2RpZ3kNCi0g ICBgKHByb2RpZ3ktZ3JlZW4tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0g ICBgKHByb2RpZ3ktcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo cHJvZGlneS15ZWxsb3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7 OzsgcmFja2V0LW1vZGUNCi0gICBgKHJhY2tldC1kZWJ1Zy1icmVhay1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChyYWNrZXQtZGVidWctbG9j YWxzLWZhY2UgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggLTEgOmNvbG9yIG5pbCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0 LW90aGVyKSkpDQotICAgYChyYWNrZXQtZGVidWctcmVzdWx0LWZhY2UgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAtMSA6Y29sb3IgbmlsKQ0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAocmFj a2V0LWhlcmUtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQot ICAgYChyYWNrZXQta2V5d29yZC1hcmd1bWVudC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxy ZWQtYWx0KSkpDQotICAgYChyYWNrZXQtbG9nZ2VyLWNvbmZpZy1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAocmFja2V0 LWxvZ2dlci1kZWJ1Zy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikp KQ0KLSAgIGAocmFja2V0LWxvZ2dlci1pbmZvLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZn LWxhbmctbm90ZSkpKQ0KLSAgIGAocmFja2V0LWxvZ2dlci10b3BpYy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxtYWdlbnRhIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHJh Y2tldC1zZWxmZXZhbC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQpKSkNCi0g ICBgKHJhY2tldC14cC1lcnJvci1mYWNlDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1 bmRlcmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6dW5kZXJsaW5lICg6Y29s b3IgLGZnLWxhbmctZXJyb3IgOnN0eWxlIHdhdmUpKQ0KLSAgICAgICgsY2xhc3MgOmZvcmVncm91 bmQgLGZnLWxhbmctZXJyb3IgOnVuZGVybGluZSB0KSkpDQotOzs7OzsgcmFpbmJvdy1ibG9ja3MN Ci0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTEtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTItZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAocmFpbmJvdy1ibG9ja3MtZGVwdGgt My1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAocmFpbmJv dy1ibG9ja3MtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAg IGAocmFpbmJvdy1ibG9ja3MtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdl bnRhKSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGN5YW4pKSkNCi0gICBgKHJhaW5ib3ctYmxvY2tzLWRlcHRoLTctZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChyYWluYm93LWJsb2Nrcy1kZXB0aC04LWZh Y2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChyYWluYm93LWJsb2Nr cy1kZXB0aC05LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHJh aW5ib3ctYmxvY2tzLXVubWF0Y2hlZC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQpKSkN Ci07Ozs7OyByYWluYm93LWlkZW50aWZpZXJzDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlk ZW50aWZpZXItMSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZ3JlZW4tYWx0LW90aGVyKSkpDQotICAg YChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmll ci0zICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJv dy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTQgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1h bHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci01ICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1pZGVudGlm aWVycy1pZGVudGlmaWVyLTYgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAg IGAocmFpbmJvdy1pZGVudGlmaWVycy1pZGVudGlmaWVyLTcgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0KSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItOCAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmll cnMtaWRlbnRpZmllci05ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAg YChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTAgKCgsY2xhc3MgOmZvcmVncm91bmQg LGdyZWVuKSkpDQotICAgYChyYWluYm93LWlkZW50aWZpZXJzLWlkZW50aWZpZXItMTEgKCgsY2xh c3MgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRl bnRpZmllci0xMiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAocmFpbmJvdy1p ZGVudGlmaWVycy1pZGVudGlmaWVyLTEzICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkN Ci0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0xNCAoKCxjbGFzcyA6Zm9yZWdy b3VuZCAsYmx1ZS1hbHQpKSkNCi0gICBgKHJhaW5ib3ctaWRlbnRpZmllcnMtaWRlbnRpZmllci0x NSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdCkpKQ0KLTs7Ozs7IHJhaW5ib3ctZGVsaW1p dGVycw0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWJhc2UtZmFjZS1lcnJvciAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtYmFzZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMt ZGVwdGgtMS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hbHQtb3RoZXIpKSkNCi0g ICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0yLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMy1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFsdC1vdGhlcikpKQ0KLSAgIGAocmFpbmJv dy1kZWxpbWl0ZXJzLWRlcHRoLTQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dC1vdGhlcikpKQ0KLSAgIGAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTUtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVy cy1kZXB0aC02LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFsdCkpKQ0KLSAgIGAo cmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hbHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC04LWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGN5YW4tYWx0KSkpDQotICAgYChyYWluYm93LWRlbGltaXRlcnMtZGVw dGgtOS1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChyYWlu Ym93LWRlbGltaXRlcnMtbWlzbWF0Y2hlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZv cmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHJhaW5ib3ctZGVsaW1pdGVycy11bm1hdGNoZWQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi07Ozs7OyBy Y2lyYw0KLSAgIGAocmNpcmMtYnJpZ2h0LW5pY2sgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQpKSkNCi0gICBgKHJjaXJjLWRpbS1uaWNrICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHJjaXJjLW15LW5pY2sgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAocmNpcmMtbmljay1pbi1tZXNz YWdlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAocmNp cmMtbmljay1pbi1tZXNzYWdlLWZ1bGwtbGluZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHJjaXJjLW90aGVyLW5pY2sgKCgsY2xh c3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChy Y2lyYy1wcm9tcHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQt b3RoZXIpKSkNCi0gICBgKHJjaXJjLXNlcnZlciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5m b2N1c2VkKSkpDQotICAgYChyY2lyYy10aW1lc3RhbXAgKCgsY2xhc3MgOmZvcmVncm91bmQgLGJs dWUtbnVhbmNlZCkpKQ0KLSAgIGAocmNpcmMtdXJsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVl IDp1bmRlcmxpbmUgdCkpKQ0KLTs7Ozs7IHJlZ2V4cC1idWlsZGVyIChyZS1idWlsZGVyKQ0KLSAg IGAocmViLW1hdGNoLTAgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVl KSkpDQotICAgYChyZWItbWF0Y2gtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLW1hZ2VudGEpKSkNCi0gICBgKHJlYi1tYXRjaC0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWludGVuc2UtZ3JlZW4pKSkNCi0gICBgKHJlYi1tYXRjaC0zICgoLGNsYXNzIDppbmhl cml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotICAgYChyZWItcmVnZXhwLWdyb3VwaW5n LWJhY2tzbGFzaCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1lc2NhcGUt Y2hhci1iYWNrc2xhc2gpKSkNCi0gICBgKHJlYi1yZWdleHAtZ3JvdXBpbmctY29uc3RydWN0ICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWVzY2FwZS1jaGFyLWNvbnN0cnVj dCkpKQ0KLTs7Ozs7IHJnIChyZy5lbCkNCi0gICBgKHJnLWNvbHVtbi1udW1iZXItZmFjZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHJnLWNvbnRleHQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYChyZy1lcnJv ci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAo cmctZmlsZS10YWctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkp DQotICAgYChyZy1maWxlbmFtZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91 bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAocmctbGluZS1udW1iZXItZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13YXJtKSkpDQotICAgYChyZy1saXRlcmFsLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGJsdWUtYWx0KSkpDQotICAgYChyZy1tYXRjaC1mYWNlICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAocmctcmVn ZXhwLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWN0aXZlKSkpDQotICAgYChy Zy10b2dnbGUtb2ZmLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct aW5hY3RpdmUpKSkNCi0gICBgKHJnLXRvZ2dsZS1vbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotICAgYChyZy13YXJuaW5nLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotOzs7OzsgcmlwZ3Jl cA0KLSAgIGAocmlwZ3JlcC1jb250ZXh0LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXVu Zm9jdXNlZCkpKQ0KLSAgIGAocmlwZ3JlcC1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJv bGQgOmZvcmVncm91bmQgLHJlZCkpKQ0KLSAgIGAocmlwZ3JlcC1oaXQtZmFjZSAoKCxjbGFzcyA6 Zm9yZWdyb3VuZCAsY3lhbikpKQ0KLSAgIGAocmlwZ3JlcC1tYXRjaC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLTs7Ozs7IHJtYWlsDQotICAgYChy bWFpbC1oZWFkZXItbmFtZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkN Ci0gICBgKHJtYWlsLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5k ICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHJ1bGVyLW1vZGUNCi0gICBgKHJ1bGVyLW1vZGUtY29s dW1uLW51bWJlciAoKCxjbGFzcyA6aW5oZXJpdCAocnVsZXItbW9kZS1kZWZhdWx0IGJvbGQpIDpm b3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChydWxlci1tb2RlLWNvbW1lbnQtY29sdW1uICgo LGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2 ZSkpKQ0KLSAgIGAocnVsZXItbW9kZS1jdXJyZW50LWNvbHVtbiAoKCxjbGFzcyA6aW5oZXJpdCBy dWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlIDpib3ggdCkpKQ0KLSAg IGAocnVsZXItbW9kZS1kZWZhdWx0ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1pbmFjdGl2ZSA6 Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtZmlsbC1jb2x1bW4g KCgsY2xhc3MgOmluaGVyaXQgcnVsZXItbW9kZS1kZWZhdWx0IDpmb3JlZ3JvdW5kICxncmVlbi1h Y3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtZnJpbmdlcyAoKCxjbGFzcyA6aW5oZXJpdCBydWxl ci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGJsdWUtYWN0aXZlKSkpDQotICAgYChydWxlci1t b2RlLWdvYWwtY29sdW1uICgoLGNsYXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUpKSkNCi0gICBgKHJ1bGVyLW1vZGUtbWFyZ2lucyAoKCxj bGFzcyA6aW5oZXJpdCBydWxlci1tb2RlLWRlZmF1bHQgOmZvcmVncm91bmQgLGJnLW1haW4pKSkN Ci0gICBgKHJ1bGVyLW1vZGUtcGFkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUgOmZv cmVncm91bmQgLGZnLWluYWN0aXZlKSkpDQotICAgYChydWxlci1tb2RlLXRhYi1zdG9wICgoLGNs YXNzIDppbmhlcml0IHJ1bGVyLW1vZGUtZGVmYXVsdCA6Zm9yZWdyb3VuZCAseWVsbG93LWFjdGl2 ZSkpKQ0KLTs7Ozs7IHNhbGxldA0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1jb21wcmVzc2VkICgoLGNs YXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZCA6c2xhbnQgaXRhbGljKSkpDQotICAgYChz YWxsZXQtYnVmZmVyLWRlZmF1bHQtZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFu LW51YW5jZWQpKSkNCi0gICBgKHNhbGxldC1idWZmZXItZGlyZWN0b3J5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHNhbGxldC1idWZmZXItaGVscCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChzYWxsZXQtYnVmZmVyLW1v ZGlmaWVkICgoLGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyIDpzbGFudCBpdGFs aWMpKSkNCi0gICBgKHNhbGxldC1idWZmZXItb3JkaW5hcnkgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLW1haW4pKSkNCi0gICBgKHNhbGxldC1idWZmZXItcmVhZC1vbmx5ICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICx5ZWxsb3ctYWx0KSkpDQotICAgYChzYWxsZXQtYnVmZmVyLXNpemUgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoc2FsbGV0LWJ1ZmZlci1zcGVj aWFsICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoc2Fs bGV0LWZseC1tYXRjaCAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWV4dHJhLWNvbXBs ZXRpb25zDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2R1cy10aGVtZS1z dWJ0bGUtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9kdXMtdGhl bWUtcmVmaW5lLWN5YW4NCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLW51YW5jZWQtY3lhbg0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj eWFuLWFsdC1vdGhlcikpKSkNCi0gICBgKHNhbGxldC1yZWNlbnRmLWJ1ZmZlci1uYW1lICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHNhbGxldC1yZWNlbnRmLWZp bGUtcGF0aCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1taWxkKSkpDQotICAgYChz YWxsZXQtcmVnZXhwLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEt Y29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZHVz LXRoZW1lLXN1YnRsZS1tYWdlbnRhDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdtb2R1cy10aGVtZS1yZWZpbmUtbWFnZW50YQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyKSkpKQ0KLSAgIGAoc2Fs bGV0LXNvdXJjZS1oZWFkZXIgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVk LWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zY2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChzYWxs ZXQtc3Vic3RyaW5nLW1hdGNoICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtZXh0cmEt Y29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21v ZHVzLXRoZW1lLXN1YnRsZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdtb2R1cy10aGVtZS1yZWZpbmUtYmx1ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbW9kdXMtdGhlbWUtbnVhbmNlZC1ibHVlDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJsdWUtYWx0LW90aGVyKSkpKQ0KLTs7Ozs7IHNl bGVjdHJ1bQ0KLSAgIGAoc2VsZWN0cnVtLWN1cnJlbnQtY2FuZGlkYXRlDQotICAgICAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluIDp1bmRlcmxpbmUgLGZnLW1haW4N Ci0gICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxAKHBjYXNlIG1vZHVzLXZpdmVuZGktdGhlbWUt Y29tcGxldGlvbnMNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ29waW5pb25hdGVk IChsaXN0IGJnLWFjdGl2ZSkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF8gKGxp c3QgYmctaW5hY3RpdmUpKSkpKSkNCi0gICBgKHNlbGVjdHJ1bS1wcmltYXJ5LWhpZ2hsaWdodCAo KCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1h Z2VudGEtbnVhbmNlZC1iZw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1hZ2VudGEtcmVmaW5lLWJnIG1hZ2VudGEtcmVmaW5lLWZnKSkpKQ0KLSAgIGAoc2Vs ZWN0cnVtLXNlY29uZGFyeS1oaWdobGlnaHQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zdGFuZGFyZC1jb21wbGV0aW9ucw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lhbi1udWFuY2VkLWJnDQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuLXJlZmluZS1iZyBj eWFuLXJlZmluZS1mZykpKSkNCi07Ozs7OyBzZW1hbnRpYw0KLSAgIGAoc2VtYW50aWMtY29tcGxl dGUtaW5saW5lLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSA6dW5k ZXJsaW5lIHQpKSkNCi0gICBgKHNlbWFudGljLWRlY29yYXRpb24tb24tcHJpdmF0ZS1tZW1iZXJz LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5YW4pKSkNCi0gICBg KHNlbWFudGljLWRlY29yYXRpb24tb24tcHJvdGVjdGVkLW1lbWJlcnMtZmFjZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmctZGltKSkpDQotICAgYChzZW1hbnRpYy1oaWdobGlnaHQtZWRpdHMtZmFj ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYChzZW1hbnRpYy1oaWdobGln aHQtZnVuYy1jdXJyZW50LXRhZy1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQpKSkN Ci0gICBgKHNlbWFudGljLWlkbGUtc3ltYm9sLWhpZ2hsaWdodCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHNlbWFudGljLXRhZy1ib3VuZGFyeS1m YWNlICgoLGNsYXNzIDpvdmVybGluZSAsYmx1ZS1pbnRlbnNlKSkpDQotICAgYChzZW1hbnRpYy11 bm1hdGNoZWQtc3ludGF4LWZhY2UgKCgsY2xhc3MgOnVuZGVybGluZSAsZmctbGFuZy1lcnJvcikp KQ0KLTs7Ozs7IHNlc21hbg0KLSAgIGAoc2VzbWFuLWJyb3dzZXItYnV0dG9uLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLGJsdWUtYWx0LW90aGVyIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAoc2Vz bWFuLWJyb3dzZXItaGlnaGxpZ2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1z dWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoc2VzbWFuLWJ1ZmZlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhKSkpDQotICAgYChzZXNtYW4tZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc2VzbWFuLXByb2plY3QtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikp KQ0KLTs7Ozs7IHNoZWxsLXNjcmlwdC1tb2RlDQotICAgYChzaC1oZXJlZG9jICgoLGNsYXNzIDpm b3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoc2gtcXVvdGVkLWV4ZWMgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdodCkgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0 KSkpDQotOzs7Ozsgc2hvdy1wYXJlbi1tb2RlDQotICAgYChzaG93LXBhcmVuLW1hdGNoICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtcGFyZW4gYmctcGFyZW4tbWF0Y2gNCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZy1w YXJlbi1tYXRjaC1pbnRlbnNlKQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc2hvdy1wYXJlbi1tYXRjaC1leHByZXNzaW9uICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNwZWNpYWwtY2FsbSkpKQ0KLSAgIGAoc2hvdy1w YXJlbi1taXNtYXRjaCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCkp KQ0KLTs7Ozs7IHNpZGUtbm90ZXMNCi0gICBgKHNpZGUtbm90ZXMgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWRpbSA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotOzs7Ozsgc2tld2VyLW1vZGUNCi0g ICBgKHNrZXdlci1lcnJvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGlu ZSB0KSkpDQotOzs7Ozsgc21hcnQtbW9kZS1saW5lDQotICAgYChzbWwvY2hhcmdpbmcgKCgsY2xh c3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2Rpc2NoYXJnaW5nICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYChzbWwvZmlsZW5hbWUgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hY3RpdmUpKSkNCi0gICBgKHNt bC9mb2xkZXIgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL2dp dCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUpKSkNCi0g ICBgKHNtbC9nbG9iYWwgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFjdGl2ZSkpKQ0KLSAgIGAo c21sL2xpbmUtbnVtYmVyICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNt bC9taW5vci1tb2RlcyAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwv bW9kZXMgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctYWN0aXZlKSkpDQot ICAgYChzbWwvbW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFn ZW50YS1hY3RpdmUpKSkNCi0gICBgKHNtbC9tdWxlLWluZm8gKCgsY2xhc3MgOmluaGVyaXQgc21s L2dsb2JhbCkpKQ0KLSAgIGAoc21sL25hbWUtZmlsbGluZyAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs eWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoc21sL25vdC1tb2RpZmllZCAoKCxjbGFzcyA6aW5oZXJp dCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvbnVtYmVycy1zZXBhcmF0b3IgKCgsY2xhc3MgOmlu aGVyaXQgc21sL2dsb2JhbCkpKQ0KLSAgIGAoc21sL291dHNpZGUtbW9kaWZpZWQgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHNtbC9wb3NpdGlvbi1w ZXJjZW50YWdlICgoLGNsYXNzIDppbmhlcml0IHNtbC9nbG9iYWwpKSkNCi0gICBgKHNtbC9wcmVm aXggKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL3Byb2Nl c3MgKCgsY2xhc3MgOmluaGVyaXQgc21sL3ByZWZpeCkpKQ0KLSAgIGAoc21sL3Byb2plY3RpbGUg KCgsY2xhc3MgOmluaGVyaXQgc21sL2dpdCkpKQ0KLSAgIGAoc21sL3JlYWQtb25seSAoKCxjbGFz cyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAoc21sL3Jl bW90ZSAoKCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvc3VkbyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtcmVkKSkpDQotICAgYChzbWwvdGltZSAo KCxjbGFzcyA6aW5oZXJpdCBzbWwvZ2xvYmFsKSkpDQotICAgYChzbWwvdmMgKCgsY2xhc3MgOmlu aGVyaXQgc21sL2dpdCkpKQ0KLSAgIGAoc21sL3ZjLWVkaXRlZCAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotOzs7Ozsgc21hcnRwYXJlbnMNCi0g ICBgKHNwLXBhaXItb3ZlcmxheS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXNw ZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3Atc2hvdy1wYWlyLWVuY2xvc2luZyAoKCxjbGFzcyA6aW5o ZXJpdCBtb2R1cy10aGVtZS1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHNwLXNob3ctcGFpci1tYXRj aC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtcGFyZW4gYmctcGFyZW4tbWF0 Y2gNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmctcGFyZW4tbWF0Y2gtaW50ZW5zZSkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzcC1z aG93LXBhaXItbWlzbWF0Y2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRl bnNlLXJlZCkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5LWNsb3NpbmctcGFpciAoKCxjbGFzcyA6 aW5oZXJpdCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KLSAgIGAoc3Atd3JhcC1vdmVybGF5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5LWZhY2UpKSkNCi0gICBgKHNwLXdy YXAtb3ZlcmxheS1vcGVuaW5nLXBhaXIgKCgsY2xhc3MgOmluaGVyaXQgc3AtcGFpci1vdmVybGF5 LWZhY2UpKSkNCi0gICBgKHNwLXdyYXAtdGFnLW92ZXJsYXktZmFjZSAoKCxjbGFzcyA6aW5oZXJp dCBzcC1wYWlyLW92ZXJsYXktZmFjZSkpKQ0KLTs7Ozs7IHNtZXJnZQ0KLSAgIGAoc21lcmdlLWJh c2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1jaGFuZ2VkKSkpDQotICAgYChz bWVyZ2UtbG93ZXIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1hZGRlZCkpKQ0K LSAgIGAoc21lcmdlLW1hcmtlcnMgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRpZmYtbmV1dHJh bC0yIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMikpKQ0KLSAgIGAoc21lcmdlLXJlZmlu ZWQtYWRkZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZpbmUtYWRkZWQp KSkNCi0gICBgKHNtZXJnZS1yZWZpbmVkLWNoYW5nZWQgKCgsY2xhc3MpKSkNCi0gICBgKHNtZXJn ZS1yZWZpbmVkLXJlbW92ZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZGlmZi1yZWZp bmUtcmVtb3ZlZCkpKQ0KLSAgIGAoc21lcmdlLXVwcGVyICgoLGNsYXNzIDppbmhlcml0IG1vZHVz LXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0KLTs7Ozs7IHNwYWNlbGluZQ0KLSAgIGAoc3BhY2VsaW5l LWV2aWwtZW1hY3MgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLW1hZ2VudGEp KSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLWluc2VydCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1hY3RpdmUtZ3JlZW4pKSkNCi0gICBgKHNwYWNlbGluZS1ldmlsLW1vdGlvbiAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1hY3RpdmUtYmx1ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2 aWwtbm9ybWFsICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxmZy1hbHQgOmZvcmVncm91bmQgLGJnLWFs dCkpKQ0KLSAgIGAoc3BhY2VsaW5lLWV2aWwtcmVwbGFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1 cy10aGVtZS1hY3RpdmUtcmVkKSkpDQotICAgYChzcGFjZWxpbmUtZXZpbC12aXN1YWwgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtYWN0aXZlLWN5YW4pKSkNCi0gICBgKHNwYWNlbGluZS1m bHljaGVjay1lcnJvciAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFjdGl2ZSkpKQ0KLSAgIGAo c3BhY2VsaW5lLWZseWNoZWNrLWluZm8gKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZl KSkpDQotICAgYChzcGFjZWxpbmUtZmx5Y2hlY2std2FybmluZyAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAseWVsbG93LWFjdGl2ZSkpKQ0KLSAgIGAoc3BhY2VsaW5lLWhpZ2hsaWdodC1mYWNlICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWZyaW5nZS1ibHVlKSkpDQotICAgYChzcGFjZWxpbmUt bW9kaWZpZWQgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLW1hZ2VudGEpKSkN Ci0gICBgKHNwYWNlbGluZS1weXRob24tdmVudiAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50 YS1hY3RpdmUpKSkNCi0gICBgKHNwYWNlbGluZS1yZWFkLW9ubHkgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpKQ0KLSAgIGAoc3BhY2VsaW5lLXVubW9kaWZpZWQgKCgs Y2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtZnJpbmdlLWN5YW4pKSkNCi07Ozs7OyBzcGVlZGJh cg0KLSAgIGAoc3BlZWRiYXItYnV0dG9uLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbGluaykpKQ0K LSAgIGAoc3BlZWRiYXItZGlyZWN0b3J5LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9y ZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAoc3BlZWRiYXItZmlsZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1tYWluKSkpDQotICAgYChzcGVlZGJhci1oaWdobGlnaHQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtYmx1ZSkpKQ0KLSAgIGAoc3BlZWRiYXItc2Vs ZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQot ICAgYChzcGVlZGJhci1zZXBhcmF0b3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVt ZS1pbnRlbnNlLW5ldXRyYWwpKSkNCi0gICBgKHNwZWVkYmFyLXRhZy1mYWNlICgoLGNsYXNzIDpm b3JlZ3JvdW5kICx5ZWxsb3ctYWx0LW90aGVyKSkpDQotOzs7Ozsgc3BlbGwtZnUNCi0gICBgKHNw ZWxsLWZ1LWluY29ycmVjdC1mYWNlDQotICAgICAoKCwoYXBwZW5kICcoKHN1cHBvcnRzIDp1bmRl cmxpbmUgKDpzdHlsZSB3YXZlKSkpIGNsYXNzKQ0KLSAgICAgICA6Zm9yZWdyb3VuZCAsZmctbGFu Zy1lcnJvciA6dW5kZXJsaW5lICg6c3R5bGUgd2F2ZSkpDQotICAgICAgKCxjbGFzcyA6Zm9yZWdy b3VuZCAsZmctbGFuZy1lcnJvciA6dW5kZXJsaW5lIHQpKSkNCi07Ozs7OyBzdHJpcGVzDQotICAg YChzdHJpcGVzICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWhsLWxpbmUpKSkNCi07Ozs7 OyBzdWNjZXNzDQotICAgYChzdWdnZXN0LWhlYWRpbmcgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6 Zm9yZWdyb3VuZCAseWVsbG93LWFsdC1vdGhlcikpKQ0KLTs7Ozs7IHN3aXRjaC13aW5kb3cNCi0g ICBgKHN3aXRjaC13aW5kb3ctYmFja2dyb3VuZCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmctZGlt KSkpDQotICAgYChzd2l0Y2gtd2luZG93LWxhYmVsICgoLGNsYXNzIDpoZWlnaHQgMy4wIDpmb3Jl Z3JvdW5kICxibHVlLWludGVuc2UpKSkNCi07Ozs7OyBzd2lwZXINCi0gICBgKHN3aXBlci1iYWNr Z3JvdW5kLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUt bmV1dHJhbCkpKQ0KLSAgIGAoc3dpcGVyLWJhY2tncm91bmQtbWF0Y2gtZmFjZS0yICgoLGNsYXNz IDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1jeWFuKSkpDQotICAgYChzd2lwZXItYmFja2dy b3VuZC1tYXRjaC1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1h Z2VudGEpKSkNCi0gICBgKHN3aXBlci1iYWNrZ3JvdW5kLW1hdGNoLWZhY2UtNCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1zdWJ0bGUtZ3JlZW4pKSkNCi0gICBgKHN3aXBlci1saW5lLWZh Y2UgKCgsY2xhc3MgLEAoYW5kICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI3KSAnKDpleHRlbmQg dCkpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoc3dpcGVyLW1hdGNoLWZhY2UtMSAoKCxjbGFzcyA6aW5o ZXJpdCBzd2lwZXItbGluZS1mYWNlKSkpDQotICAgYChzd2lwZXItbWF0Y2gtZmFjZS0yICgoLGNs YXNzIDppbmhlcml0IHN3aXBlci1saW5lLWZhY2UpKSkNCi0gICBgKHN3aXBlci1tYXRjaC1mYWNl LTMgKCgsY2xhc3MgOmluaGVyaXQgc3dpcGVyLWxpbmUtZmFjZSkpKQ0KLSAgIGAoc3dpcGVyLW1h dGNoLWZhY2UtNCAoKCxjbGFzcyA6aW5oZXJpdCBzd2lwZXItbGluZS1mYWNlKSkpDQotOzs7Ozsg c3dvb3ANCi0gICBgKHN3b29wLWZhY2UtaGVhZGVyLWZvcm1hdC1saW5lICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc2NhbGUgbW9kdXMtdml2 ZW5kaS10aGVtZS1zY2FsZS0zKSkpKQ0KLSAgIGAoc3dvb3AtZmFjZS1saW5lLWJ1ZmZlci1uYW1l ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUtYWx0DQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1z Y2FsZSBtb2R1cy12aXZlbmRpLXRoZW1lLXNjYWxlLTQpKSkpDQotICAgYChzd29vcC1mYWNlLWxp bmUtbnVtYmVyICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KHN3b29wLWZhY2UtdGFyZ2V0LWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1ibHVlDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKGFuZCAo Pj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKSkpKQ0KLSAgIGAoc3dvb3At ZmFjZS10YXJnZXQtd29yZHMgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLWN5 YW4pKSkNCi07Ozs7OyBzeA0KLSAgIGAoc3gtaW5ib3gtaXRlbS10eXBlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxtYWdlbnRhLWFsdC1vdGhlcikpKQ0KLSAgIGAoc3gtaW5ib3gtaXRlbS10eXBlLXVu cmVhZCAoKCxjbGFzcyA6aW5oZXJpdCAoc3gtaW5ib3gtaXRlbS10eXBlIGJvbGQpKSkpDQotICAg YChzeC1xdWVzdGlvbi1saXN0LWFuc3dlcnMgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVuKSkp DQotICAgYChzeC1xdWVzdGlvbi1saXN0LWFuc3dlcnMtYWNjZXB0ZWQgKCgsY2xhc3MgOmJveCB0 IDpmb3JlZ3JvdW5kICxncmVlbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC1ib3VudHkgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICx5ZWxs b3cpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtZGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Zmctc3BlY2lhbC1jb2xkKSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LWZhdm9yaXRlICgoLGNs YXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAo c3gtcXVlc3Rpb24tbGlzdC1wYXJlbnQgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkN Ci0gICBgKHN4LXF1ZXN0aW9uLWxpc3QtcmVhZC1xdWVzdGlvbiAoKCxjbGFzcyA6Zm9yZWdyb3Vu ZCAsZmctYWx0KSkpDQotICAgYChzeC1xdWVzdGlvbi1saXN0LXNjb3JlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLW1pbGQpKSkNCi0gICBgKHN4LXF1ZXN0aW9uLWxpc3Qtc2NvcmUt dXB2b3RlZCAoKCxjbGFzcyA6aW5oZXJpdCAoc3gtcXVlc3Rpb24tbGlzdC1zY29yZSBib2xkKSkp KQ0KLSAgIGAoc3gtcXVlc3Rpb24tbGlzdC11bnJlYWQtcXVlc3Rpb24gKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1h Y2NlcHRlZCAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4zIDpmb3JlZ3JvdW5kICxn cmVlbikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1jbG9zZWQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtYWN0aXZlLXllbGxvdyA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciBuaWwp KSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWNsb3NlZC1yZWFzb24gKCgsY2xhc3MgOmJveCAo OmxpbmUtd2lkdGggMiA6Y29sb3IgbmlsKSA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAo c3gtcXVlc3Rpb24tbW9kZS1jb250ZW50LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWRp bSkpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1kYXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxi bHVlKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWhlYWRlciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLWtiZC10YWcg KCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6aGVpZ2h0IDAuOSA6Ym94ICg6bGluZS13aWR0aCAzIDpj b2xvciAsZmctbWFpbiA6c3R5bGUgcmVsZWFzZWQtYnV0dG9uKSA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAoc3gtcXVlc3Rpb24tbW9kZS1zY29yZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs ZmctZGltKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLXNjb3JlLWRvd252b3RlZCAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAseWVsbG93KSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLXNjb3JlLXVw dm90ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAg IGAoc3gtcXVlc3Rpb24tbW9kZS10aXRsZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3Jv dW5kICxmZy1tYWluKSkpDQotICAgYChzeC1xdWVzdGlvbi1tb2RlLXRpdGxlLWNvbW1lbnRzICgo LGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoc3gtdGFn ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAoc3gtdXNlci1uYW1l ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFsdCkpKQ0KLSAgIGAoc3gtdXNlci1yZXB1dGF0 aW9uICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi07Ozs7OyBzeW1ib2wtb3Zlcmxh eQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZGVmYXVsdC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS0xICgo LGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAoc3ltYm9s LW92ZXJsYXktZmFjZS0yICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJlZmluZS1tYWdl bnRhKSkpDQotICAgYChzeW1ib2wtb3ZlcmxheS1mYWNlLTMgKCgsY2xhc3MgOmluaGVyaXQgbW9k dXMtdGhlbWUtaW50ZW5zZS15ZWxsb3cpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNCAo KCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHN5 bWJvbC1vdmVybGF5LWZhY2UtNSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNl LXJlZCkpKQ0KLSAgIGAoc3ltYm9sLW92ZXJsYXktZmFjZS02ICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLXJlZmluZS1yZWQpKSkNCi0gICBgKHN5bWJvbC1vdmVybGF5LWZhY2UtNyAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWN5YW4pKSkNCi0gICBgKHN5bWJvbC1v dmVybGF5LWZhY2UtOCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUtY3lhbikp KQ0KLTs7Ozs7IHN5c2xvZy1tb2RlDQotICAgYChzeXNsb2ctZGVidWcgKCgsY2xhc3MgOmluaGVy aXQgYm9sZCA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHN5c2xvZy1lcnJv ciAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQpKSkNCi0gICBgKHN5c2xv Zy1maWxlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29s ZCkpKQ0KLSAgIGAoc3lzbG9nLWhpZGUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLW1haW4gOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHN5c2xvZy1ob3VyICgoLGNsYXNzIDppbmhlcml0 IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0LW90aGVyKSkpDQotICAgYChzeXNsb2ctaW5m byAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxibHVlLWFsdC1vdGhlcikpKQ0K LSAgIGAoc3lzbG9nLWlwICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGZnLXNw ZWNpYWwtbWlsZCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHN5c2xvZy1zdSAoKCxjbGFzcyA6aW5o ZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxyZWQtYWx0KSkpDQotICAgYChzeXNsb2ctd2FybiAoKCxj bGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5ZWxsb3cpKSkNCi07Ozs7OyB0YWJsZSAo YnVpbHQtaW4gdGFibGUuZWwpDQotICAgYCh0YWJsZS1jZWxsICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxibHVlLW51YW5jZWQtYmcpKSkNCi07Ozs7OyB0ZWxlcGhvbmUtbGluZQ0KLSAgIGAodGVsZXBo b25lLWxpbmUtYWNjZW50LWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZmctaW5hY3RpdmUg OmZvcmVncm91bmQgLGJnLWluYWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1hY2NlbnQt aW5hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFjdGl2ZSA6Zm9yZWdyb3VuZCAsZmct YWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1lcnJvciAoKCxjbGFzcyA6aW5oZXJpdCBi b2xkIDpmb3JlZ3JvdW5kICxyZWQtYWN0aXZlKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1ldmls ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh0ZWxlcGhvbmUtbGluZS1l dmlsLWVtYWNzICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91 bmQgLG1hZ2VudGEtaW50ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1pbnNl cnQgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAsZ3Jl ZW4taW50ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtZXZpbC1tb3Rpb24gKCgsY2xh c3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6YmFja2dyb3VuZCAseWVsbG93LWludGVu c2UtYmcpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwtbm9ybWFsICgoLGNsYXNzIDppbmhl cml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQgLGJnLWFsdCkpKQ0KLSAgIGAodGVs ZXBob25lLWxpbmUtZXZpbC1vcGVyYXRvciAoKCxjbGFzcyA6aW5oZXJpdCB0ZWxlcGhvbmUtbGlu ZS1ldmlsIDpiYWNrZ3JvdW5kICx5ZWxsb3ctc3VidGxlLWJnKSkpDQotICAgYCh0ZWxlcGhvbmUt bGluZS1ldmlsLXJlcGxhY2UgKCgsY2xhc3MgOmluaGVyaXQgdGVsZXBob25lLWxpbmUtZXZpbCA6 YmFja2dyb3VuZCAscmVkLWludGVuc2UtYmcpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLWV2aWwt dmlzdWFsICgoLGNsYXNzIDppbmhlcml0IHRlbGVwaG9uZS1saW5lLWV2aWwgOmJhY2tncm91bmQg LGN5YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAodGVsZXBob25lLWxpbmUtcHJvamVjdGlsZSAoKCxj bGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHRlbGVwaG9uZS1saW5lLXVu aW1wb3J0YW50ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1pbmFjdGl2ZSkpKQ0KLSAgIGAodGVs ZXBob25lLWxpbmUtd2FybmluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICx5 ZWxsb3ctYWN0aXZlKSkpDQotOzs7OzsgdGVybQ0KLSAgIGAodGVybSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsYmctbWFpbiA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodGVybS1ib2xkICgo LGNsYXNzIDppbmhlcml0IGJvbGQpKSkNCi0gICBgKHRlcm0tY29sb3ItYmx1ZSAoKCxjbGFzcyA6 YmFja2dyb3VuZCAsYmx1ZSA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodGVybS1jb2xvci1j eWFuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxjeWFuIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAg YCh0ZXJtLWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3Vu ZCAsZ3JlZW4pKSkNCi0gICBgKHRlcm0tY29sb3ItbWFnZW50YSAoKCxjbGFzcyA6YmFja2dyb3Vu ZCAsbWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAodGVybS1jb2xvci1yZWQg KCgsY2xhc3MgOmJhY2tncm91bmQgLHJlZCA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYCh0ZXJt LWNvbG9yLXllbGxvdyAoKCxjbGFzcyA6YmFja2dyb3VuZCAseWVsbG93IDpmb3JlZ3JvdW5kICx5 ZWxsb3cpKSkNCi0gICBgKHRlcm0tdW5kZXJsaW5lICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0K LTs7Ozs7IHRvbWF0aW5obw0KLSAgIGAodG9tYXRpbmhvLW9rLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAodG9tYXRpbmhvLXBhdXNlLWZhY2UgKCgsY2xh c3MgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotICAgYCh0b21hdGluaG8tcmVzZXQt ZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotOzs7OzsgdHJhbnNpZW50DQot ICAgYCh0cmFuc2llbnQtYWN0aXZlLWluZml4ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXNwZWNpYWwtbWlsZCkpKQ0KLSAgIGAodHJhbnNpZW50LWFtYXJhbnRoICgoLGNsYXNzIDppbmhl cml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdykpKQ0KLSAgIGAodHJhbnNpZW50LWFyZ3VtZW50 ICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHJlZC1hbHQpKSkNCi0gICBgKHRy YW5zaWVudC1ibHVlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUpKSkN Ci0gICBgKHRyYW5zaWVudC1kaXNhYmxlZC1zdWZmaXggKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMt dGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBgKHRyYW5zaWVudC1lbmFibGVkLXN1ZmZpeCAoKCxj bGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYCh0cmFuc2ll bnQtaGVhZGluZyAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYCh0cmFuc2llbnQtaW5hY3RpdmUtYXJndW1lbnQgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLWFsdCkpKQ0KLSAgIGAodHJhbnNpZW50LWluYWN0aXZlLXZhbHVlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHRyYW5zaWVudC1rZXkgKCgsY2xhc3MgOmluaGVyaXQg Ym9sZCA6Zm9yZWdyb3VuZCAsYmx1ZSkpKQ0KLSAgIGAodHJhbnNpZW50LW1pc21hdGNoZWQta2V5 ICgoLGNsYXNzIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAodHJhbnNpZW50LW5vbnN0YW5kYXJkLWtl eSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHRyYW5zaWVudC1waW5rICgoLGNsYXNz IDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLG1hZ2VudGEpKSkNCi0gICBgKHRyYW5zaWVudC1y ZWQgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAscmVkLWludGVuc2UpKSkNCi0g ICBgKHRyYW5zaWVudC10ZWFsICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGN5 YW4tYWx0LW90aGVyKSkpDQotICAgYCh0cmFuc2llbnQtdW5yZWFjaGFibGUgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLXVuZm9jdXNlZCkpKQ0KLSAgIGAodHJhbnNpZW50LXVucmVhY2hhYmxlLWtl eSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctdW5mb2N1c2VkKSkpDQotICAgYCh0cmFuc2llbnQt dmFsdWUgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtYWx0KSkpDQotOzs7OzsgdHJhc2hl ZA0KLSAgIGAodHJhc2hlZC1kZWxldGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLW1h cmstZGVsKSkpDQotICAgYCh0cmFzaGVkLWRpcmVjdG9yeSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs Ymx1ZSkpKQ0KLSAgIGAodHJhc2hlZC1tYXJrICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LW1hcmstc3ltYm9sKSkpDQotICAgYCh0cmFzaGVkLW1hcmtlZCAoKCxjbGFzcyA6aW5oZXJpdCBt b2R1cy10aGVtZS1tYXJrLWFsdCkpKQ0KLSAgIGAodHJhc2hlZC1yZXN0b3JlZCAoKCxjbGFzcyA6 aW5oZXJpdCBtb2R1cy10aGVtZS1tYXJrLXNlbCkpKQ0KLSAgIGAodHJhc2hlZC1zeW1saW5rICgo LGNsYXNzIDppbmhlcml0IGJ1dHRvbiA6Zm9yZWdyb3VuZCAsY3lhbi1hbHQpKSkNCi07Ozs7OyB0 cmVlbWFjcw0KLSAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWNvbGxhcHNlZC1mYWNlICgoLGNsYXNz IDpmb3JlZ3JvdW5kICxtYWdlbnRhLWFsdCkpKQ0KLSAgIGAodHJlZW1hY3MtZGlyZWN0b3J5LWZh Y2UgKCgsY2xhc3MgOmluaGVyaXQgZGlyZWQtZGlyZWN0b3J5KSkpDQotICAgYCh0cmVlbWFjcy1m aWxlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNz LWZyaW5nZS1pbmRpY2F0b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0K LSAgIGAodHJlZW1hY3MtZ2l0LWFkZGVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGdyZWVu LWludGVuc2UpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC1jb25mbGljdC1mYWNlICgoLGNsYXNzIDpp bmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAodHJlZW1hY3Mt Z2l0LWlnbm9yZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh0 cmVlbWFjcy1naXQtbW9kaWZpZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAseWVsbG93LWFs dC1vdGhlcikpKQ0KLSAgIGAodHJlZW1hY3MtZ2l0LXJlbmFtZWQtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsY3lhbi1hbHQtb3RoZXIpKSkNCi0gICBgKHRyZWVtYWNzLWdpdC11bm1vZGlmaWVk LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHRyZWVtYWNzLWdp dC11bnRyYWNrZWQtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFsdC1vdGhlcikpKQ0K LSAgIGAodHJlZW1hY3MtaGVscC1jb2x1bW4tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLWJvbGQtd2VpZ2h0KSA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIgOnVuZGVy bGluZSB0KSkpDQotICAgYCh0cmVlbWFjcy1oZWxwLXRpdGxlLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtYWx0LW90aGVyKSkpDQotICAgYCh0cmVlbWFjcy1vbi1mYWlsdXJlLXB1bHNl LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1yZWQpKSkNCi0gICBg KHRyZWVtYWNzLW9uLXN1Y2Nlc3MtcHVsc2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10 aGVtZS1pbnRlbnNlLWdyZWVuKSkpDQotICAgYCh0cmVlbWFjcy1yb290LWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsYmx1ZS1hbHQtb3RoZXIgOmhlaWdodCAxLjIgOnVu ZGVybGluZSB0KSkpDQotICAgYCh0cmVlbWFjcy1yb290LXJlbW90ZS1kaXNjb25uZWN0ZWQtZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCB0cmVlbWFjcy1yb290LXJlbW90ZS1mYWNlIDpmb3JlZ3JvdW5k ICx5ZWxsb3cpKSkNCi0gICBgKHRyZWVtYWNzLXJvb3QtcmVtb3RlLWZhY2UgKCgsY2xhc3MgOmlu aGVyaXQgdHJlZW1hY3Mtcm9vdC1mYWNlIDpmb3JlZ3JvdW5kICxtYWdlbnRhKSkpDQotICAgYCh0 cmVlbWFjcy1yb290LXJlbW90ZS11bnJlYWRhYmxlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgdHJl ZW1hY3Mtcm9vdC11bnJlYWRhYmxlLWZhY2UpKSkNCi0gICBgKHRyZWVtYWNzLXJvb3QtdW5yZWFk YWJsZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IHRyZWVtYWNzLXJvb3QtZmFjZSA6c3RyaWtlLXRo cm91Z2ggdCkpKQ0KLSAgIGAodHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxibHVlLWFsdCkpKQ0KLSAgIGAodHJlZW1hY3MtdGFncy1mYWNlICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxtYWdlbnRhLWFsdCkpKQ0KLTs7Ozs7IHR0eS1tZW51DQotICAgYCh0dHktbWVudS1kaXNh YmxlZC1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGZnLWFs dCkpKQ0KLSAgIGAodHR5LW1lbnUtZW5hYmxlZC1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmJhY2tncm91bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHR5LW1l bnUtc2VsZWN0ZWQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLWJs dWUpKSkNCi07Ozs7OyB0dWFyZWcNCi0gICBgKGNhbWwtdHlwZXMtZGVmLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAoY2FtbC10eXBlcy1leHBy LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLWdyZWVuKSkpDQotICAg YChjYW1sLXR5cGVzLW9jYy1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRs ZS1ncmVlbikpKQ0KLSAgIGAoY2FtbC10eXBlcy1zY29wZS1mYWNlICgoLGNsYXNzIDppbmhlcml0 IG1vZHVzLXRoZW1lLXN1YnRsZS1ibHVlKSkpDQotICAgYChjYW1sLXR5cGVzLXR5cGVkLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3VidGxlLW1hZ2VudGEpKSkNCi0gICBgKHR1 YXJlZy1mb250LWRvdWJsZS1zZW1pY29sb24tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVkLWFsdCByZWQtYWx0LWZhaW50KSkpKQ0KLSAgIGAodHVh cmVnLWZvbnQtbG9jay1hdHRyaWJ1dGUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRo ZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hZ2VudGEgbWFnZW50YS1mYWludCkpKSkNCi0gICBgKHR1YXJlZy1m b250LWxvY2stY29uc3RydWN0b3ItZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFpbikp KQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0ICht b2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1l eHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVncm91 bmQgLG1hZ2VudGEpKSkNCi0gICBgKHR1YXJlZy1mb250LWxvY2stZ292ZXJuaW5nLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAodHVhcmVn LWZvbnQtbG9jay1pbmZpeC1leHRlbnNpb24tbm9kZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZp dmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQp KSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLWRpcmVjdGl2ZS1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkNCi0gICBgKHR1YXJlZy1mb250 LWxvY2staW50ZXJhY3RpdmUtZXJyb3ItZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkDQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZCByZWQtZmFpbnQpKSkpDQot ICAgYCh0dWFyZWctZm9udC1sb2NrLWludGVyYWN0aXZlLW91dHB1dC1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIg Ymx1ZS1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh0dWFyZWctZm9udC1sb2NrLWxhYmVsLWZh Y2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVy IGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1saW5lLW51 bWJlci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBg KHR1YXJlZy1mb250LWxvY2stbW9kdWxlLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10 aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkpKSkNCi0gICBgKHR1 YXJlZy1mb250LWxvY2stbXVsdGlzdGFnZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJh Y2tncm91bmQgLGJnLWFsdA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZSBibHVlLWZh aW50KSkpKQ0KLSAgIGAodHVhcmVnLWZvbnQtbG9jay1vcGVyYXRvci1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0IHJlZC1hbHQtZmFpbnQpKSkp DQotICAgYCh0dWFyZWctb3BhbS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZWQgcmVkLWZhaW50KSkpKQ0KLSAgIGAodHVhcmVnLW9wYW0tcGtnLXZhcmlhYmxlLW5h bWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5 YW4gY3lhbi1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLTs7Ozs7IHR5cGVzY3JpcHQN Ci0gICBgKHR5cGVzY3JpcHQtanNkb2MtdGFnICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVj aWFsLW1pbGQgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodHlwZXNjcmlwdC1q c2RvYy10eXBlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNhbG0gOnNsYW50ICxt b2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodHlwZXNjcmlwdC1qc2RvYy12YWx1ZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC1jb2xkIDpzbGFudCAsbW9kdXMtdGhlbWUtc2xhbnQp KSkNCi07Ozs7OyB1bmRvLXRyZWUNCi0gICBgKHVuZG8tdHJlZS12aXN1YWxpemVyLWFjdGl2ZS1i cmFuY2gtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkp DQotICAgYCh1bmRvLXRyZWUtdmlzdWFsaXplci1jdXJyZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGJsdWUtaW50ZW5zZSkpKQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItZGVmYXVs dC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1hbHQpKSkNCi0gICBgKHVuZG8tdHJlZS12 aXN1YWxpemVyLXJlZ2lzdGVyLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLG1hZ2VudGEtaW50 ZW5zZSkpKQ0KLSAgIGAodW5kby10cmVlLXZpc3VhbGl6ZXItdW5tb2RpZmllZC1mYWNlICgoLGNs YXNzIDpmb3JlZ3JvdW5kICxncmVlbi1pbnRlbnNlKSkpDQotOzs7OzsgdmMgKHZjLWhvb2tzLmVs KQ0KLSAgIGAodmMtY29uZmxpY3Qtc3RhdGUgKCgsY2xhc3MgOmZvcmVncm91bmQgLHJlZC1hY3Rp dmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodmMtZWRpdGVkLXN0YXRlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICx5ZWxsb3ctYWN0aXZlKSkpDQotICAgYCh2Yy1sb2NhbGx5LWFk ZGVkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuLWFjdGl2ZSkpKQ0KLSAgIGAodmMt bG9ja2VkLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLWFjdGl2ZSkpKQ0KLSAgIGAo dmMtbWlzc2luZy1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsbWFnZW50YS1hY3RpdmUgOnNs YW50ICxtb2R1cy10aGVtZS1zbGFudCkpKQ0KLSAgIGAodmMtbmVlZHMtdXBkYXRlLXN0YXRlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxncmVlbi1hY3RpdmUgOnNsYW50ICxtb2R1cy10aGVtZS1zbGFu dCkpKQ0KLSAgIGAodmMtcmVtb3ZlZC1zdGF0ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLWFj dGl2ZSkpKQ0KLSAgIGAodmMtc3RhdGUtYmFzZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWN0 aXZlKSkpDQotICAgYCh2Yy11cC10by1kYXRlLXN0YXRlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxm Zy1zcGVjaWFsLWNvbGQpKSkNCi07Ozs7OyB2ZGlmZg0KLSAgIGAodmRpZmYtYWRkaXRpb24tZmFj ZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWFkZGVkKSkpDQotICAgYCh2ZGlm Zi1jaGFuZ2UtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1kaWZmLWNoYW5nZWQp KSkNCi0gICBgKHZkaWZmLWNsb3NlZC1mb2xkLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJn LWRpZmYtbmV1dHJhbC0xIDpmb3JlZ3JvdW5kICxmZy1kaWZmLW5ldXRyYWwtMSkpKQ0KLSAgIGAo dmRpZmYtcmVmaW5lLWFkZGVkICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVm aW5lLWFkZGVkKSkpDQotICAgYCh2ZGlmZi1yZWZpbmUtY2hhbmdlZCAoKCxjbGFzcyA6aW5oZXJp dCBtb2R1cy10aGVtZS1kaWZmLXJlZmluZS1jaGFuZ2VkKSkpDQotICAgYCh2ZGlmZi1zdWJ0cmFj dGlvbi1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWRpZmYtcmVtb3ZlZCkpKQ0K LSAgIGAodmRpZmYtdGFyZ2V0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50 ZW5zZS1ibHVlKSkpDQotOzs7OzsgdmltaXNoLWZvbGQNCi0gICBgKHZpbWlzaC1mb2xkLWZyaW5n ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsY3lhbi1hY3RpdmUpKSkNCi0gICBgKHZpbWlzaC1mb2xk LW1vdXNlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ibHVlKSkp DQotICAgYCh2aW1pc2gtZm9sZC1vdmVybGF5ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLTs7Ozs7IHZpc2libGUtbWFyaw0KLSAg IGAodmlzaWJsZS1tYXJrLWFjdGl2ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1pbnRlbnNl LWJnKSkpDQotICAgYCh2aXNpYmxlLW1hcmstZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5 YW4taW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZhY2UyICgoLGNsYXNzIDpiYWNr Z3JvdW5kICx5ZWxsb3ctaW50ZW5zZS1iZykpKQ0KLSAgIGAodmlzaWJsZS1tYXJrLWZvcndhcmQt ZmFjZTEgKCgsY2xhc3MgOmJhY2tncm91bmQgLG1hZ2VudGEtaW50ZW5zZS1iZykpKQ0KLSAgIGAo dmlzaWJsZS1tYXJrLWZvcndhcmQtZmFjZTIgKCgsY2xhc3MgOmJhY2tncm91bmQgLGdyZWVuLWlu dGVuc2UtYmcpKSkNCi07Ozs7OyB2aXN1YWwtcmVnZXhwDQotICAgYCh2ci9ncm91cC0wICgoLGNs YXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgIGAodnIvZ3JvdXAt MSAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBg KHZyL2dyb3VwLTIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1ncmVlbikp KQ0KLSAgIGAodnIvbWF0Y2gtMCAoKCxjbGFzcyA6aW5oZXJpdCBtb2R1cy10aGVtZS1yZWZpbmUt eWVsbG93KSkpDQotICAgYCh2ci9tYXRjaC0xICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1l LXJlZmluZS15ZWxsb3cpKSkNCi0gICBgKHZyL21hdGNoLXNlcGFyYXRvci1mYWNlICgoLGNsYXNz IDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLW5ldXRyYWwgYm9sZCkpKSkNCi07Ozs7OyB2 b2xhdGlsZS1oaWdobGlnaHRzDQotICAgYCh2aGwvZGVmYXVsdC1mYWNlICgoLGNsYXNzICxAKGFu ZCAoPj0gZW1hY3MtbWFqb3ItdmVyc2lvbiAyNykgJyg6ZXh0ZW5kIHQpKQ0KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA6YmFja2dyb3VuZCAsYmctYWx0IDpmb3JlZ3JvdW5kICxibHVl LW51YW5jZWQpKSkNCi07Ozs7OyB2dGVybQ0KLSAgIGAodnRlcm0tY29sb3ItYmxhY2sgKCgsY2xh c3MgOmJhY2tncm91bmQgImdyYXkzNSIgOmZvcmVncm91bmQgImdyYXkzNSIpKSkNCi0gICBgKHZ0 ZXJtLWNvbG9yLWJsdWUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUgOmZvcmVncm91bmQgLGJs dWUpKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWN5YW4gKCgsY2xhc3MgOmJhY2tncm91bmQgLGN5YW4g OmZvcmVncm91bmQgLGN5YW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWRlZmF1bHQgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLW1haW4gOmZvcmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHZ0ZXJt LWNvbG9yLWdyZWVuICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxncmVlbiA6Zm9yZWdyb3VuZCAsZ3Jl ZW4pKSkNCi0gICBgKHZ0ZXJtLWNvbG9yLWludmVyc2UtdmlkZW8gKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLW1haW4gOmludmVyc2UtdmlkZW8gdCkpKQ0KLSAgIGAodnRlcm0tY29sb3ItbWFnZW50 YSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsbWFnZW50YSA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0K LSAgIGAodnRlcm0tY29sb3ItcmVkICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxyZWQgOmZvcmVncm91 bmQgLHJlZCkpKQ0KLSAgIGAodnRlcm0tY29sb3ItdW5kZXJsaW5lICgoLGNsYXNzIDpmb3JlZ3Jv dW5kICxmZy1zcGVjaWFsLXdhcm0gOnVuZGVybGluZSB0KSkpDQotICAgYCh2dGVybS1jb2xvci13 aGl0ZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAiZ3JheTY1IiA6Zm9yZWdyb3VuZCAiZ3JheTY1Iikp KQ0KLSAgIGAodnRlcm0tY29sb3IteWVsbG93ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3cg OmZvcmVncm91bmQgLHllbGxvdykpKQ0KLTs7Ozs7IHdjaGVjay1tb2RlDQotICAgYCh3Y2hlY2st ZGVmYXVsdC1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxyZWQgOnVuZGVybGluZSB0KSkpDQot Ozs7Ozsgd2ViLW1vZGUNCi0gICBgKHdlYi1tb2RlLWFubm90YXRpb24tZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWFubm90YXRp b24taHRtbC1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0K LSAgIGAod2ViLW1vZGUtYW5ub3RhdGlvbi10YWctZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWIt bW9kZS1jb21tZW50LWZhY2UgOnVuZGVybGluZSB0KSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1h dHRyLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3Jl Z3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlIGJsdWUtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1ibG9jay1hdHRyLXZhbHVlLWZhY2Ug KCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVy IGN5YW4tYWx0LW90aGVyLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stY29tbWVudC1m YWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2Vi LW1vZGUtYmxvY2stY29udHJvbC1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2Vp Z2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stZGVsaW1pdGVyLWZhY2UgKCgsY2xhc3MgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWJsb2NrLWZhY2UgKCgsY2xhc3Mg OmJhY2tncm91bmQgLGJnLWRpbSkpKQ0KLSAgIGAod2ViLW1vZGUtYmxvY2stc3RyaW5nLWZhY2Ug KCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2Rl LWJvbGQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCBib2xkKSkpDQotICAgYCh3ZWItbW9kZS1idWls dGluLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3Vu ZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0IG1h Z2VudGEtYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtYm9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jb21t ZW50LWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c2xhbnQgLG1vZHVzLXRoZW1l LXNsYW50KSkpDQotICAgYCh3ZWItbW9kZS1jb21tZW50LWtleXdvcmQtZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpiYWNrZ3JvdW5kICxiZy1kaW0NCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVn cm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHll bGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jb25zdGFudC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3Ro ZXItZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtYXQtcnVsZS1mYWNlICgoLGNsYXNzICxA KG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmx1ZS1hbHQtb3RoZXIgYmx1ZS1hbHQtb3RoZXIt ZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtY29sb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWludCkNCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt Ym9sZC13ZWlnaHQpKSkpDQotICAgYCh3ZWItbW9kZS1jc3MtY29tbWVudC1mYWNlICgoLGNsYXNz IDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLWZ1 bmN0aW9uLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdy b3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50 YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAsQChtb2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAo d2ViLW1vZGUtY3NzLXByaW9yaXR5LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVt ZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgeWVsbG93LWFsdCB5ZWxsb3ctYWx0LWZhaW50KQ0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdo dCkpKSkNCi0gICBgKHdlYi1tb2RlLWNzcy1wcm9wZXJ0eS1uYW1lLWZhY2UgKCgsY2xhc3MgLEAo bW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS1jc3MtcHNldWRvLWNsYXNzLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5k aS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyIGN5YW4tYWx0LW90aGVyLWZhaW50KSkp KQ0KLSAgIGAod2ViLW1vZGUtY3NzLXNlbGVjdG9yLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2 ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIgbWFnZW50YS1hbHQtb3RoZXItZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtY3NzLXN0cmluZy1m YWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1mYWNlKSkpDQotICAgYCh3ZWIt bW9kZS1jc3MtdmFyaWFibGUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctc3BlY2lhbC13 YXJtKSkpDQotICAgYCh3ZWItbW9kZS1jdXJyZW50LWNvbHVtbi1oaWdobGlnaHQtZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYCh3ZWItbW9kZS1jdXJyZW50LWVsZW1l bnQtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3BlY2lhbC1t aWxkKSkpDQotICAgYCh3ZWItbW9kZS1kb2N0eXBlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtY29sZCA6c2xhbnQgLG1vZHVzLXRoZW1lLXNsYW50KSkpDQotICAgYCh3ZWIt bW9kZS1lcnJvci1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVk KSkpDQotICAgYCh3ZWItbW9kZS1maWx0ZXItZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRp LXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1mb2xkZWQt ZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdlYi1tb2RlLWZ1bmN0aW9uLWNh bGwtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBt YWdlbnRhLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtZnVuY3Rpb24tbmFtZS1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1hZ2VudGEtZmFpbnQp KSkpDQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHItY3VzdG9tLWZhY2UgKCgsY2xhc3MgLEAobW9k dXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YW4gY3lhbi1mYWludCkpKSkNCi0gICBgKHdl Yi1tb2RlLWh0bWwtYXR0ci1lbmdpbmUtZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctbWFp bikpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC1hdHRyLWVxdWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtYXR0ci1uYW1lLWZhY2UgKCgs Y2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFuIGN5YW4tZmFpbnQpKSkp DQotICAgYCh3ZWItbW9kZS1odG1sLWF0dHItdmFsdWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12 aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBibHVlLWFsdC1vdGhlci1mYWlu dCkpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtZW50aXR5LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMt dml2ZW5kaS10aGVtZS1zeW50YXgtZm9yZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB5ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1hbHQtb3RoZXItZmFp bnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpzbGFudCAsbW9k dXMtdGhlbWUtc2xhbnQpKSkNCi0gICBgKHdlYi1tb2RlLWh0bWwtdGFnLWJyYWNrZXQtZmFjZSAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctZGltKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy1j dXN0b20tZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3Jv dW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdl bnRhIG1hZ2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1odG1sLXRhZy1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YSBtYWdlbnRhLWZhaW50KSkpKQ0K LSAgIGAod2ViLW1vZGUtaHRtbC10YWctbmFtZXNwYWNlZC1mYWNlICgoLGNsYXNzICxAKG1vZHVz LXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdCBtYWdlbnRhLWFsdC1mYWlu dCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtaHRtbC10 YWctdW5jbG9zZWQtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1m b3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlZCByZWQtZmFpbnQpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2ViLW1vZGUtaW5sYXktZmFjZSAoKCxj bGFzcyA6YmFja2dyb3VuZCAsYmctYWx0KSkpDQotICAgYCh3ZWItbW9kZS1pdGFsaWMtZmFjZSAo KCxjbGFzcyA6c2xhbnQgaXRhbGljKSkpDQotICAgYCh3ZWItbW9kZS1qYXZhc2NyaXB0LWNvbW1l bnQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBg KHdlYi1tb2RlLWphdmFzY3JpcHQtc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1v ZGUtc3RyaW5nLWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLWpzb24tY29tbWVudC1mYWNlICgoLGNs YXNzIDppbmhlcml0IHdlYi1tb2RlLWNvbW1lbnQtZmFjZSkpKQ0KLSAgIGAod2ViLW1vZGUtanNv bi1jb250ZXh0LWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFn ZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1qc29uLWtleS1m YWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQpKSkNCi0gICBgKHdlYi1tb2Rl LWpzb24tc3RyaW5nLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtc3RyaW5nLWZhY2Up KSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0xLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQg LGJsdWUtaW50ZW5zZS1iZyA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLSAgIGAod2ViLW1vZGUt anN4LWRlcHRoLTItZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1zdWJ0bGUtYmcgOmZv cmVncm91bmQgLGZnLW1haW4pKSkNCi0gICBgKHdlYi1tb2RlLWpzeC1kZXB0aC0zLWZhY2UgKCgs Y2xhc3MgOmJhY2tncm91bmQgLGJnLXNwZWNpYWwtY29sZCA6Zm9yZWdyb3VuZCAsZmctc3BlY2lh bC1jb2xkKSkpDQotICAgYCh3ZWItbW9kZS1qc3gtZGVwdGgtNC1mYWNlICgoLGNsYXNzIDpiYWNr Z3JvdW5kICxiZy1hbHQgOmZvcmVncm91bmQgLGJsdWUtcmVmaW5lLWZnKSkpDQotICAgYCh3ZWIt bW9kZS1qc3gtZGVwdGgtNS1mYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hbHQgOmZvcmVn cm91bmQgLGJsdWUtbnVhbmNlZCkpKQ0KLSAgIGAod2ViLW1vZGUta2V5d29yZC1mYWNlICgoLGNs YXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlciBtYWdlbnRhLWFs dC1vdGhlci1mYWludCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQCht b2R1cy12aXZlbmRpLXRoZW1lLWJvbGQtd2VpZ2h0KSkpKQ0KLSAgIGAod2ViLW1vZGUtcGFyYW0t bmFtZS1mYWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91 bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWdlbnRhIG1h Z2VudGEtZmFpbnQpKSkpDQotICAgYCh3ZWItbW9kZS1wYXJ0LWNvbW1lbnQtZmFjZSAoKCxjbGFz cyA6aW5oZXJpdCB3ZWItbW9kZS1jb21tZW50LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXBhcnQt ZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9kZS1ibG9jay1mYWNlKSkpDQotICAgYCh3ZWIt bW9kZS1wYXJ0LXN0cmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IHdlYi1tb2RlLXN0cmluZy1m YWNlKSkpDQotICAgYCh3ZWItbW9kZS1wcmVwcm9jZXNzb3ItZmFjZSAoKCxjbGFzcyAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0LW90aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQp KSkpDQotICAgYCh3ZWItbW9kZS1zY3JpcHQtZmFjZSAoKCxjbGFzcyA6aW5oZXJpdCB3ZWItbW9k ZS1wYXJ0LWZhY2UpKSkNCi0gICBgKHdlYi1tb2RlLXNxbC1rZXl3b3JkLWZhY2UgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAs QChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHllbGxvdyB5ZWxsb3ctZmFpbnQpKSkpDQotICAg YCh3ZWItbW9kZS1zdHJpbmctZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5 bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi bHVlLWFsdCBibHVlLWFsdC1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXN0eWxlLWZhY2UgKCgs Y2xhc3MgOmluaGVyaXQgd2ViLW1vZGUtcGFydC1mYWNlKSkpDQotICAgYCh3ZWItbW9kZS1zeW1i b2wtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5k DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibHVlLWFsdC1vdGhlciBi bHVlLWFsdC1vdGhlci1mYWludCkpKSkNCi0gICBgKHdlYi1tb2RlLXR5cGUtZmFjZSAoKCxjbGFz cyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWFnZW50YS1hbHQgbWFnZW50YS1hbHQtZmFpbnQpKSkp DQotICAgYCh3ZWItbW9kZS11bmRlcmxpbmUtZmFjZSAoKCxjbGFzcyA6dW5kZXJsaW5lIHQpKSkN Ci0gICBgKHdlYi1tb2RlLXZhcmlhYmxlLW5hbWUtZmFjZSAoKCxjbGFzcyAsQChtb2R1cy12aXZl bmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY3lhbiBjeWFuLWZhaW50KSkpKQ0KLSAgIGAod2ViLW1vZGUtd2Fy bmluZy1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJhY2tncm91bmQgLGJnLWFsdA0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICxAKG1vZHVzLXZpdmVuZGktdGhlbWUt c3ludGF4LWZvcmVncm91bmQNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB5ZWxsb3ctYWx0LW90aGVyIHllbGxvdy1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh3ZWIt bW9kZS13aGl0ZXNwYWNlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2Ug OmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi07Ozs7OyB3Z3JlcA0KLSAgIGAod2dyZXAt ZGVsZXRlLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtcmVmaW5lLXllbGxvdykp KQ0KLSAgIGAod2dyZXAtZG9uZS1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXJl ZmluZS1ibHVlKSkpDQotICAgYCh3Z3JlcC1mYWNlICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRo ZW1lLXJlZmluZS1ncmVlbikpKQ0KLSAgIGAod2dyZXAtZmlsZS1mYWNlICgoLGNsYXNzIDpmb3Jl Z3JvdW5kICxmZy1zcGVjaWFsLXdhcm0pKSkNCi0gICBgKHdncmVwLXJlamVjdC1mYWNlICgoLGNs YXNzIDppbmhlcml0IChtb2R1cy10aGVtZS1pbnRlbnNlLXJlZCBib2xkKSkpKQ0KLTs7Ozs7IHdo aWNoLWZ1bmN0aW9uLW1vZGUNCi0gICBgKHdoaWNoLWZ1bmMgKCgsY2xhc3MgOmZvcmVncm91bmQg LG1hZ2VudGEtYWN0aXZlKSkpDQotOzs7Ozsgd2hpY2gta2V5DQotICAgYCh3aGljaC1rZXktY29t bWFuZC1kZXNjcmlwdGlvbi1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuKSkpDQotICAg YCh3aGljaC1rZXktZ3JvdXAtZGVzY3JpcHRpb24tZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAs bWFnZW50YS1hbHQpKSkNCi0gICBgKHdoaWNoLWtleS1oaWdobGlnaHRlZC1jb21tYW5kLWZhY2Ug KCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4tYWx0IDp1bmRlcmxpbmUgdCkpKQ0KLSAgIGAod2hp Y2gta2V5LWtleS1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmZvcmVncm91bmQgLGJsdWUt aW50ZW5zZSkpKQ0KLSAgIGAod2hpY2gta2V5LWxvY2FsLW1hcC1kZXNjcmlwdGlvbi1mYWNlICgo LGNsYXNzIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgYCh3aGljaC1rZXktbm90ZS1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1kaW0gOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtbWls ZCkpKQ0KLSAgIGAod2hpY2gta2V5LXNlcGFyYXRvci1mYWNlICgoLGNsYXNzIDpmb3JlZ3JvdW5k ICxmZy1hbHQpKSkNCi0gICBgKHdoaWNoLWtleS1zcGVjaWFsLWtleS1mYWNlICgoLGNsYXNzIDpp bmhlcml0IGJvbGQgOmZvcmVncm91bmQgLHllbGxvdy1pbnRlbnNlKSkpDQotOzs7Ozsgd2hpdGVz cGFjZS1tb2RlDQotICAgYCh3aGl0ZXNwYWNlLWJpZy1pbmRlbnQgKCgsY2xhc3MgOmluaGVyaXQg bW9kdXMtdGhlbWUtc3VidGxlLXJlZCkpKQ0KLSAgIGAod2hpdGVzcGFjZS1lbXB0eSAoKCxjbGFz cyA6aW5oZXJpdCBtb2R1cy10aGVtZS1pbnRlbnNlLW1hZ2VudGEpKSkNCi0gICBgKHdoaXRlc3Bh Y2UtaHNwYWNlICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5k ICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0ZXNwYWNlLWluZGVudGF0aW9uICgoLGNsYXNz IDpiYWNrZ3JvdW5kICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkp DQotICAgYCh3aGl0ZXNwYWNlLWxpbmUgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtc3Bl Y2lhbC13YXJtKSkpDQotICAgYCh3aGl0ZXNwYWNlLW5ld2xpbmUgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVncm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdo aXRlc3BhY2Utc3BhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLXdoaXRlc3BhY2UgOmZvcmVn cm91bmQgLGZnLXdoaXRlc3BhY2UpKSkNCi0gICBgKHdoaXRlc3BhY2Utc3BhY2UtYWZ0ZXItdGFi ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLXN1YnRsZS1tYWdlbnRhKSkpDQotICAgYCh3 aGl0ZXNwYWNlLXNwYWNlLWJlZm9yZS10YWIgKCgsY2xhc3MgOmluaGVyaXQgbW9kdXMtdGhlbWUt c3VidGxlLWN5YW4pKSkNCi0gICBgKHdoaXRlc3BhY2UtdGFiICgoLGNsYXNzIDpiYWNrZ3JvdW5k ICxiZy13aGl0ZXNwYWNlIDpmb3JlZ3JvdW5kICxmZy13aGl0ZXNwYWNlKSkpDQotICAgYCh3aGl0 ZXNwYWNlLXRyYWlsaW5nICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVk KSkpDQotOzs7Ozsgd2luZG93LWRpdmlkZXItbW9kZQ0KLSAgIGAod2luZG93LWRpdmlkZXIgKCgs Y2xhc3MgOmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLWlubmVyKSkpDQotICAgYCh3aW5k b3ctZGl2aWRlci1maXJzdC1waXhlbCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctd2luZG93LWRp dmlkZXItb3V0ZXIpKSkNCi0gICBgKHdpbmRvdy1kaXZpZGVyLWxhc3QtcGl4ZWwgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGZnLXdpbmRvdy1kaXZpZGVyLW91dGVyKSkpDQotOzs7Ozsgd2ludW0NCi0g ICBgKHdpbnVtLWZhY2UgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1ib2xkLXdlaWdo dCkgOmZvcmVncm91bmQgLGN5YW4tYWN0aXZlKSkpDQotOzs7Ozsgd3JpdGVnb29kLW1vZGUNCi0g ICBgKHdyaXRlZ29vZC1kdXBsaWNhdGVzLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWFs dCA6Zm9yZWdyb3VuZCAscmVkLWFsdCA6dW5kZXJsaW5lIHQpKSkNCi0gICBgKHdyaXRlZ29vZC1w YXNzaXZlLXZvaWNlLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkIDp1 bmRlcmxpbmUgLGZnLWxhbmctd2FybmluZykpKQ0KLSAgIGAod3JpdGVnb29kLXdlYXNlbHMtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkLW51YW5jZWQgOnVuZGVybGluZSAsZmctbGFuZy1l cnJvcikpKQ0KLTs7Ozs7IHdvbWFuDQotICAgYCh3b21hbi1hZGRpdGlvbiAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHdvbWFuLWJvbGQgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsbWFnZW50YSkpKQ0KLSAgIGAod29tYW4taXRhbGlj ICgoLGNsYXNzIDpmb3JlZ3JvdW5kICxjeWFuIDpzbGFudCBpdGFsaWMpKSkNCi0gICBgKHdvbWFu LXVua25vd24gKCgsY2xhc3MgOmZvcmVncm91bmQgLHllbGxvdyA6c2xhbnQgaXRhbGljKSkpDQot Ozs7OzsgeGFoLWVsaXNwLW1vZGUNCi0gICBgKHhhaC1lbGlzcC1hdC1zeW1ib2wgKCgsY2xhc3Mg OmluaGVyaXQgYm9sZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsQChtb2R1 cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlZC1hbHQgcmVkLWFsdC1mYWludCkpKSkNCi0gICBgKHhhaC1lbGlz cC1jYXAtdmFyaWFibGUgKCgsY2xhc3MgLEAobW9kdXMtdml2ZW5kaS10aGVtZS1zeW50YXgtZm9y ZWdyb3VuZA0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWQtYWx0 LW90aGVyIHJlZC1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh4YWgtZWxpc3AtY29tbWFuZC1m YWNlICgoLGNsYXNzICxAKG1vZHVzLXZpdmVuZGktdGhlbWUtc3ludGF4LWZvcmVncm91bmQNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhbi1hbHQtb3RoZXIgY3lh bi1hbHQtb3RoZXItZmFpbnQpKSkpDQotICAgYCh4YWgtZWxpc3AtZG9sbGFyLXN5bWJvbCAoKCxj bGFzcyAsQChtb2R1cy12aXZlbmRpLXRoZW1lLXN5bnRheC1mb3JlZ3JvdW5kDQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmVlbiBncmVlbi1mYWludCkpKSkNCi07 Ozs7OyB4cmVmDQotICAgYCh4cmVmLWZpbGUtaGVhZGVyICgoLGNsYXNzIDppbmhlcml0IGJvbGQg OmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoeHJlZi1saW5lLW51bWJlciAo KCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctYWx0KSkpDQotICAgYCh4cmVmLW1hdGNoICgoLGNsYXNz IDppbmhlcml0IG1hdGNoKSkpDQotOzs7OzsgeWFtbC1tb2RlDQotICAgYCh5YW1sLXRhYi1mYWNl ICgoLGNsYXNzIDppbmhlcml0IG1vZHVzLXRoZW1lLWludGVuc2UtcmVkKSkpDQotOzs7OzsgeWFz bmlwcGV0DQotICAgYCh5YXMtZmllbGQtaGlnaGxpZ2h0LWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFsdCA6Zm9yZWdyb3VuZCAsZmctbWFpbikpKQ0KLTs7Ozs7IHp0cmVlDQotICAgYCh6 dHJlZXAtYXJyb3ctZmFjZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAsZmctaW5hY3RpdmUpKSkNCi0g ICBgKHp0cmVlcC1kaWZmLWhlYWRlci1mYWNlICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmhlaWdo dCAxLjIgOmZvcmVncm91bmQgLGZnLXNwZWNpYWwtY29sZCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYt aGVhZGVyLXNtYWxsLWZhY2UgKCgsY2xhc3MgOmluaGVyaXQgYm9sZCA6Zm9yZWdyb3VuZCAsZmct c3BlY2lhbC1taWxkKSkpDQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1hZGQtZmFjZSAoKCxjbGFz cyA6Zm9yZWdyb3VuZCAsZ3JlZW4pKSkNCi0gICBgKHp0cmVlcC1kaWZmLW1vZGVsLWRpZmYtZmFj ZSAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkpDQotICAgYCh6dHJlZXAtZGlmZi1tb2RlbC1p Z25vcmVkLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGZnLWFsdCA6c3RyaWtlLXRocm91Z2gg dCkpKQ0KLSAgIGAoenRyZWVwLWRpZmYtbW9kZWwtbm9ybWFsLWZhY2UgKCgsY2xhc3MgOmZvcmVn cm91bmQgLGZnLWFsdCkpKQ0KLSAgIGAoenRyZWVwLWV4cGFuZC1zaWduLWZhY2UgKCgsY2xhc3Mg OmZvcmVncm91bmQgLGJsdWUpKSkNCi0gICBgKHp0cmVlcC1oZWFkZXItZmFjZSAoKCxjbGFzcyA6 aW5oZXJpdCBib2xkIDpoZWlnaHQgMS4yIDpmb3JlZ3JvdW5kICxmZy1zcGVjaWFsLWNvbGQpKSkN Ci0gICBgKHp0cmVlcC1sZWFmLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQgLGN5YW4pKSkNCi0g ICBgKHp0cmVlcC1ub2RlLWNvdW50LWNoaWxkcmVuLWZhY2UgKCgsY2xhc3MgOmZvcmVncm91bmQg LGZnLXNwZWNpYWwtd2FybSkpKQ0KLSAgIGAoenRyZWVwLW5vZGUtZmFjZSAoKCxjbGFzcyA6Zm9y ZWdyb3VuZCAsZmctbWFpbikpKSkNCi07Ozs7IEVtYWNzIDI3Kw0KLSAgKHdoZW4gKD49IGVtYWNz LW1ham9yLXZlcnNpb24gMjcpDQotICAgIChjdXN0b20tdGhlbWUtc2V0LWZhY2VzDQotICAgICAn bW9kdXMtdml2ZW5kaQ0KLTs7Ozs7IGxpbmUgbnVtYmVycyAoYGRpc3BsYXktbGluZS1udW1iZXJz LW1vZGUnIGFuZCBnbG9iYWwgdmFyaWFudCkNCi0gICAgIDs7IE5PVEUgdGhhdCB0aGlzIGlzIHNw ZWNpZmljYWxseSBmb3IgdGhlIGZhY2VzIHRoYXQgd2VyZQ0KLSAgICAgOzsgaW50cm9kdWNlZCBp biBFbWFjcyAyNywgYXMgdGhlIG90aGVyIGZhY2VzIGFyZSBhbHJlYWR5DQotICAgICA7OyBzdXBw b3J0ZWQuDQotICAgICBgKGxpbmUtbnVtYmVyLW1ham9yLXRpY2sgKCgsY2xhc3MgOmluaGVyaXQg KGJvbGQgZGVmYXVsdCkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6 YmFja2dyb3VuZCAseWVsbG93LW51YW5jZWQtYmcNCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQpKSkNCi0gICAgIGAobGlu ZS1udW1iZXItbWlub3ItdGljayAoKCxjbGFzcyA6aW5oZXJpdCAoYm9sZCBkZWZhdWx0KQ0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy1pbmFj dGl2ZQ0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5k ICxmZy1pbmFjdGl2ZSkpKQ0KLTs7Ozs7IHRhYi1iYXItbW9kZQ0KLSAgICAgYCh0YWItYmFyICgo LGNsYXNzIDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQot ICAgICBgKHRhYi1iYXItdGFiICgoLGNsYXNzIDppbmhlcml0IGJvbGQgOmJveCAoOmxpbmUtd2lk dGggMiA6Y29sb3IgLGJnLXRhYi1hY3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAg IDpiYWNrZ3JvdW5kICxiZy10YWItYWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg ICBgKHRhYi1iYXItdGFiLWluYWN0aXZlICgoLGNsYXNzIDpib3ggKDpsaW5lLXdpZHRoIDIgOmNv bG9yICxiZy10YWItaW5hY3RpdmUpDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDpiYWNrZ3JvdW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0K LTs7Ozs7IHRhYi1saW5lLW1vZGUNCi0gICAgIGAodGFiLWxpbmUgKCgsY2xhc3MgOmhlaWdodCAw Ljk1IDpiYWNrZ3JvdW5kICxiZy10YWItYmFyIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAg ICBgKHRhYi1saW5lLWNsb3NlLWhpZ2hsaWdodCAoKCxjbGFzcyA6Zm9yZWdyb3VuZCAscmVkKSkp DQotICAgICBgKHRhYi1saW5lLWhpZ2hsaWdodCAoKCxjbGFzcyA6YmFja2dyb3VuZCAsYmx1ZS1z dWJ0bGUtYmcgOmZvcmVncm91bmQgLGZnLWRpbSkpKQ0KLSAgICAgYCh0YWItbGluZS10YWIgKCgs Y2xhc3MgOmluaGVyaXQgYm9sZCA6Ym94ICg6bGluZS13aWR0aCAyIDpjb2xvciAsYmctdGFiLWFj dGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3JvdW5kICxiZy10YWIt YWN0aXZlIDpmb3JlZ3JvdW5kICxmZy1tYWluKSkpDQotICAgICBgKHRhYi1saW5lLXRhYi1jdXJy ZW50ICgoLGNsYXNzIDppbmhlcml0IHRhYi1saW5lLXRhYikpKQ0KLSAgICAgYCh0YWItbGluZS10 YWItaW5hY3RpdmUgKCgsY2xhc3MgOmJveCAoOmxpbmUtd2lkdGggMiA6Y29sb3IgLGJnLXRhYi1p bmFjdGl2ZSkNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpiYWNrZ3Jv dW5kICxiZy10YWItaW5hY3RpdmUgOmZvcmVncm91bmQgLGZnLWRpbSkpKSkpDQotOzs7OyBFbWFj cyAyOCsNCi0gICh3aGVuICg+PSBlbWFjcy1tYWpvci12ZXJzaW9uIDI4KQ0KLSAgICAoY3VzdG9t LXRoZW1lLXNldC1mYWNlcw0KLSAgICAgJ21vZHVzLXZpdmVuZGkNCi07Ozs7OyBpc2VhcmNoIHJl Z2V4cCBncm91cHMNCi0gICAgIGAoaXNlYXJjaC1ncm91cC0xICgoLGNsYXNzIDppbmhlcml0IG1v ZHVzLXRoZW1lLWludGVuc2UtYmx1ZSkpKQ0KLSAgICAgYChpc2VhcmNoLWdyb3VwLTIgKCgsY2xh c3MgOmluaGVyaXQgbW9kdXMtdGhlbWUtaW50ZW5zZS1tYWdlbnRhKSkpKSkNCi07OzsgdmFyaWFi bGVzDQotICAoY3VzdG9tLXRoZW1lLXNldC12YXJpYWJsZXMNCi0gICAnbW9kdXMtdml2ZW5kaQ0K LTs7OzsgYW5zaS1jb2xvcnMNCi0gICBgKGFuc2ktY29sb3ItZmFjZXMtdmVjdG9yIFtkZWZhdWx0 IGJvbGQgc2hhZG93IGl0YWxpYyB1bmRlcmxpbmUgc3VjY2VzcyB3YXJuaW5nIGVycm9yXSkNCi0g ICBgKGFuc2ktY29sb3ItbmFtZXMtdmVjdG9yIFssYmctbWFpbiAscmVkICxncmVlbiAseWVsbG93 ICxibHVlICxtYWdlbnRhICxjeWFuICxmZy1tYWluXSkNCi07Ozs7IGF3ZXNvbWUtdHJheQ0KLSAg IGAoYXdlc29tZS10cmF5LW1vZGUtbGluZS1hY3RpdmUtY29sb3IgLGJsdWUpDQotICAgYChhd2Vz b21lLXRyYXktbW9kZS1saW5lLWluYWN0aXZlLWNvbG9yICxiZy1hY3RpdmUpDQotOzs7OyBmbHlt YWtlIGZyaW5nZSBpbmRpY2F0b3JzDQotICAgYChmbHltYWtlLWVycm9yLWJpdG1hcCAnKGZseW1h a2UtZG91YmxlLWV4Y2xhbWF0aW9uLW1hcmsgbW9kdXMtdGhlbWUtZnJpbmdlLXJlZCkpDQotICAg YChmbHltYWtlLXdhcm5pbmctYml0bWFwICcoZXhjbGFtYXRpb24tbWFyayBtb2R1cy10aGVtZS1m cmluZ2UteWVsbG93KSkNCi0gICBgKGZseW1ha2Utbm90ZS1iaXRtYXAgJyhleGNsYW1hdGlvbi1t YXJrIG1vZHVzLXRoZW1lLWZyaW5nZS1jeWFuKSkNCi07Ozs7IGlidWZmZXINCi0gICBgKGlidWZm ZXItZGVsZXRpb24tZmFjZSAnbW9kdXMtdGhlbWUtbWFyay1kZWwpDQotICAgYChpYnVmZmVyLWZp bHRlci1ncm91cC1uYW1lLWZhY2UgJ21vZHVzLXRoZW1lLW1hcmstc3ltYm9sKQ0KLSAgIGAoaWJ1 ZmZlci1tYXJrZWQtZmFjZSAnbW9kdXMtdGhlbWUtbWFyay1zZWwpDQotICAgYChpYnVmZmVyLXRp dGxlLWZhY2UgJ21vZHVzLXRoZW1lLXBzZXVkby1oZWFkZXIpDQotOzs7OyBoaWdobGlnaHQtdGFp bA0KLSAgIGAoaGlnaGxpZ2h0LXRhaWwtY29sb3JzDQotICAgICAnKCgsZ3JlZW4tc3VidGxlLWJn IC4gMCkNCi0gICAgICAgKCxjeWFuLXN1YnRsZS1iZyAuIDIwKSkpDQotOzs7OyBobC10b2RvDQot ICAgYChobC10b2RvLWtleXdvcmQtZmFjZXMNCi0gICAgICcoKCJIT0xEIiAuICx5ZWxsb3ctYWx0 KQ0KLSAgICAgICAoIlRPRE8iIC4gLG1hZ2VudGEpDQotICAgICAgICgiTkVYVCIgLiAsbWFnZW50 YS1hbHQtb3RoZXIpDQotICAgICAgICgiVEhFTSIgLiAsbWFnZW50YS1hbHQpDQotICAgICAgICgi UFJPRyIgLiAsY3lhbikNCi0gICAgICAgKCJPS0FZIiAuICxjeWFuLWFsdCkNCi0gICAgICAgKCJE T05UIiAuICxncmVlbi1hbHQpDQotICAgICAgICgiRkFJTCIgLiAscmVkKQ0KLSAgICAgICAoIkJV RyIgLiAscmVkKQ0KLSAgICAgICAoIkRPTkUiIC4gLGdyZWVuKQ0KLSAgICAgICAoIk5PVEUiIC4g LHllbGxvdy1hbHQtb3RoZXIpDQotICAgICAgICgiS0xVREdFIiAuICx5ZWxsb3cpDQotICAgICAg ICgiSEFDSyIgLiAseWVsbG93KQ0KLSAgICAgICAoIlRFTVAiIC4gLHJlZC1udWFuY2VkKQ0KLSAg ICAgICAoIkZJWE1FIiAuICxyZWQtYWx0LW90aGVyKQ0KLSAgICAgICAoIlhYWCsiIC4gLHJlZC1h bHQpDQotICAgICAgICgiUkVWSUVXIiAuICxjeWFuLWFsdC1vdGhlcikNCi0gICAgICAgKCJERVBS RUNBVEVEIiAuICxibHVlLW51YW5jZWQpKSkNCi07Ozs7IHZjLWFubm90YXRlIChDLXggdiBnKQ0K LSAgIGAodmMtYW5ub3RhdGUtYmFja2dyb3VuZCBuaWwpDQotICAgYCh2Yy1hbm5vdGF0ZS1iYWNr Z3JvdW5kLW1vZGUgbmlsKQ0KLSAgIGAodmMtYW5ub3RhdGUtY29sb3ItbWFwDQotICAgICAnKCgy MCAuICxyZWQpDQotICAgICAgICg0MCAuICxtYWdlbnRhKQ0KLSAgICAgICAoNjAgLiAsbWFnZW50 YS1hbHQpDQotICAgICAgICg4MCAuICxyZWQtYWx0KQ0KLSAgICAgICAoMTAwIC4gLHllbGxvdykN Ci0gICAgICAgKDEyMCAuICx5ZWxsb3ctYWx0KQ0KLSAgICAgICAoMTQwIC4gLGZnLXNwZWNpYWwt d2FybSkNCi0gICAgICAgKDE2MCAuICxmZy1zcGVjaWFsLW1pbGQpDQotICAgICAgICgxODAgLiAs Z3JlZW4pDQotICAgICAgICgyMDAgLiAsZ3JlZW4tYWx0KQ0KLSAgICAgICAoMjIwIC4gLGN5YW4t YWx0LW90aGVyKQ0KLSAgICAgICAoMjQwIC4gLGN5YW4tYWx0KQ0KLSAgICAgICAoMjYwIC4gLGN5 YW4pDQotICAgICAgICgyODAgLiAsZmctc3BlY2lhbC1jb2xkKQ0KLSAgICAgICAoMzAwIC4gLGJs dWUpDQotICAgICAgICgzMjAgLiAsYmx1ZS1hbHQpDQotICAgICAgICgzNDAgLiAsYmx1ZS1hbHQt b3RoZXIpDQotICAgICAgICgzNjAgLiAsbWFnZW50YS1hbHQtb3RoZXIpKSkNCi0gICBgKHZjLWFu bm90YXRlLXZlcnktb2xkLWNvbG9yIG5pbCkNCi07Ozs7IHh0ZXJtLWNvbG9yDQotICAgYCh4dGVy bS1jb2xvci1uYW1lcyBbLGJnLW1haW4gLHJlZCAsZ3JlZW4gLHllbGxvdyAsYmx1ZSAsbWFnZW50 YSAsY3lhbiAsZmctYWx0XSkNCi0gICBgKHh0ZXJtLWNvbG9yLW5hbWVzLWJyaWdodCBbLGJnLWFs dCAscmVkLWFsdCAsZ3JlZW4tYWx0ICx5ZWxsb3ctYWx0ICxibHVlLWFsdCAsbWFnZW50YS1hbHQg LGN5YW4tYWx0ICxmZy1tYWluXSkpDQotOzs7IENvbmRpdGlvbmFsIHRoZW1lIHZhcmlhYmxlcw0K LTs7Ozsgb3JnLXNyYy1ibG9jay1mYWNlcw0KLSAgOzsgdGhpcyBpcyBhIHVzZXIgb3B0aW9uIHRv IGFkZCBhIGNvbG91ci1jb2RlZCBiYWNrZ3JvdW5kIHRvIHNvdXJjZQ0KLSAgOzsgYmxvY2tzIGZv ciB2YXJpb3VzIHByb2dyYW1taW5nIGxhbmd1YWdlcw0KLSAgKHdoZW4gKGVxIG1vZHVzLXZpdmVu ZGktdGhlbWUtb3JnLWJsb2NrcyAncmFpbmJvdykNCi0gICAgKGN1c3RvbS10aGVtZS1zZXQtdmFy aWFibGVzDQotICAgICAnbW9kdXMtdml2ZW5kaQ0KLSAgICAgYChvcmctc3JjLWJsb2NrLWZhY2Vz ICAgICAgICAgICAgICA7IFRPRE8gdGhpcyBsaXN0IHNob3VsZCBiZSBleHBhbmRlZA0KLSAgICAg ICBgKCgiZW1hY3MtbGlzcCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1tYWdlbnRhKQ0KLSAgICAgICAg ICgiZWxpc3AiIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImNsb2p1 cmUiIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImNsb2p1cmVzY3Jp cHQiIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoImMiIG1vZHVzLXRo ZW1lLW51YW5jZWQtYmx1ZSkNCi0gICAgICAgICAoImMrKyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1i bHVlKQ0KLSAgICAgICAgICgic2giIG1vZHVzLXRoZW1lLW51YW5jZWQtZ3JlZW4pDQotICAgICAg ICAgKCJzaGVsbCIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoImh0bWwi IG1vZHVzLXRoZW1lLW51YW5jZWQteWVsbG93KQ0KLSAgICAgICAgICgieG1sIiBtb2R1cy10aGVt ZS1udWFuY2VkLXllbGxvdykNCi0gICAgICAgICAoImNzcyIgbW9kdXMtdGhlbWUtbnVhbmNlZC1y ZWQpDQotICAgICAgICAgKCJzY3NzIiBtb2R1cy10aGVtZS1udWFuY2VkLXJlZCkNCi0gICAgICAg ICAoInB5dGhvbiIgbW9kdXMtdGhlbWUtbnVhbmNlZC1ncmVlbikNCi0gICAgICAgICAoImlweXRo b24iIG1vZHVzLXRoZW1lLW51YW5jZWQtbWFnZW50YSkNCi0gICAgICAgICAoInIiIG1vZHVzLXRo ZW1lLW51YW5jZWQtY3lhbikNCi0gICAgICAgICAoInlhbWwiIG1vZHVzLXRoZW1lLW51YW5jZWQt Y3lhbikNCi0gICAgICAgICAoImNvbmYiIG1vZHVzLXRoZW1lLW51YW5jZWQtY3lhbikNCi0gICAg ICAgICAoImRvY2tlciIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKQ0KLSAgICAgICAgICgianNv biIgbW9kdXMtdGhlbWUtbnVhbmNlZC1jeWFuKSkpKSkpDQorKGRlZnRoZW1lIG1vZHVzLXZpdmVu ZGkNCisgICJBY2Nlc3NpYmxlIGFuZCBjdXN0b21pemFibGUgZGFyayB0aGVtZSAoV0NBRyBBQUEg c3RhbmRhcmQpLg0KK0NvbmZvcm1zIHdpdGggdGhlIGhpZ2hlc3QgbGVnaWJpbGl0eSBzdGFuZGFy ZCBmb3IgY29sb3IgY29udHJhc3QNCitiZXR3ZWVuIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQg aW4gYW55IGdpdmVuIHBpZWNlIG9mIHRleHQsDQord2hpY2ggY29ycmVzcG9uZHMgdG8gYSBtaW5p bXVtIGNvbnRyYXN0IGluIHJlbGF0aXZlIGx1bWluYW5jZSBvZg0KKzc6MS4iKQ0KIA0KLTs7OyBs aWJyYXJ5IHByb3ZpZGVzDQotOzs7IyMjYXV0b2xvYWQNCi0od2hlbiBsb2FkLWZpbGUtbmFtZQ0K LSAgKGFkZC10by1saXN0ICdjdXN0b20tdGhlbWUtbG9hZC1wYXRoDQotICAgICAgICAgICAgICAg KGZpbGUtbmFtZS1hcy1kaXJlY3RvcnkgKGZpbGUtbmFtZS1kaXJlY3RvcnkgbG9hZC1maWxlLW5h bWUpKSkpDQorKG1vZHVzLXRoZW1lcy10aGVtZSBtb2R1cy12aXZlbmRpKQ0KIA0KIChwcm92aWRl LXRoZW1lICdtb2R1cy12aXZlbmRpKQ0KIA0KLShwcm92aWRlICdtb2R1cy12aXZlbmRpLXRoZW1l KQ0KLQ0KIDs7OyBtb2R1cy12aXZlbmRpLXRoZW1lLmVsIGVuZHMgaGVyZQ0KLS0gDQoyLjMwLjEN Cg0K --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 05 01:34:23 2021 Received: (at 45068) by debbugs.gnu.org; 5 Mar 2021 06:34:23 +0000 Received: from localhost ([127.0.0.1]:60830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lI42Z-00051a-4J for submit@debbugs.gnu.org; Fri, 05 Mar 2021 01:34:23 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:51181) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lI42V-00051L-SL for 45068@debbugs.gnu.org; Fri, 05 Mar 2021 01:34:21 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 8DF2C1C000A; Fri, 5 Mar 2021 06:34:11 +0000 (UTC) From: Protesilaos Stavrou To: Mauro Aranda Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <60415a04.1c69fb81.63f7a.3bc2@mx.google.com> Date: Fri, 05 Mar 2021 08:34:10 +0200 In-Reply-To: <60415a04.1c69fb81.63f7a.3bc2@mx.google.com> (Mauro Aranda's message of "Thu, 04 Mar 2021 19:06:57 -0300") Message-ID: <877dmmcdnh.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: "Basil L. Contovounesios" , 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-04, 19:06 -0300, Mauro Aranda wrote: > Protesilaos Stavrou writes: > >> On 2021-03-04, 13:53 -0300, Mauro Aranda wrote: >> >>>> ;;;###autoload >>>> (when (and (boundp 'custom-theme-load-path) load-file-name) >>>> (add-to-list 'custom-theme-load-path >>>> (file-name-as-directory (file-name-directory load-file-name)))) >>> >>> A nit: I think this code should avoid adding the value of >>> custom-theme-directory or the built-in theme directory name to >>> custom-theme-load-path , if `custom-theme-directory' (for the former) or >>> t (for the latter) are already present in custom-theme-load-path. In >>> particular, a theme distributed with Emacs should at least check for t, >>> to avoid a repeated entry. >>> >>> I've noticed that the leuven theme has a similar code as well: I think >>> that is a (really minor) bug. >> >> I have removed that form altogether. It makes sense for packages but >> here they are safe themes. Is that okay, or have I misunderstood >> something? > > Sounds OK to me; for themes that are only distributed with Emacs, it > doesn't seem to be needed. That is my impression as well. > But if you plan to keep distributing them as packages via ELPA, then > it might make sense to keep it. I don't know what's the plan, so I > can't say for sure if the form should stay or not. My original plan was to update the themes in emacs.git and then figure out what needs to be done for elpa.git to treat them as ":core" packages instead of ":external". So I had this and would have used a similar technique for the above-quoted code: (if (and (>= emacs-major-version 28) (functionp 'require-theme)) (require-theme 'modus-themes) (require 'modus-themes)) But that produced a major bug of not loading the desired theme in certain setups.[1] I suspect it is because 'require' needs to be at the top level? Not sure... Maybe there is some clean way to fix that, though I would need more time to research and test it; a time frame that I cannot estimate right now. [1]: . So I prefer to use files that 100% work in emacs.git and then I will treat elpa.git separately. Using all those untested conditional clauses will give me trouble. Perhaps the themes in elpa.git should not be ":core" after all? Keeping them as ":external", though updated to the newest release, seems like the most reliable path forward. Ultimately this means more work for me, though I prefer to not have to deal with packaging-related bugs (notwithstanding the fact that I need to ask for someone else to push changes for me in Emacs/ELPA and I would rather not bother them). >> Thanks again! > > Thanks to you! I appreciate your contributions ("your" singular and plural). For me this is all part of a learning process and am happy to be part of a community that (i) tolerates my errors and (ii) helps me learn through them without making any discounts on technical requirements. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 05 12:11:45 2021 Received: (at 45068) by debbugs.gnu.org; 5 Mar 2021 17:11:45 +0000 Received: from localhost ([127.0.0.1]:35343 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIDzM-0006p8-NG for submit@debbugs.gnu.org; Fri, 05 Mar 2021 12:11:45 -0500 Received: from mail-wm1-f51.google.com ([209.85.128.51]:34849) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIDzL-0006ou-2J for 45068@debbugs.gnu.org; Fri, 05 Mar 2021 12:11:43 -0500 Received: by mail-wm1-f51.google.com with SMTP id m7so2102388wmq.0 for <45068@debbugs.gnu.org>; Fri, 05 Mar 2021 09:11:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=wqKDSYqkMAVwLKn7yCdH1mYDCJI+STXrDNabcLpDKB4=; b=HIGK/w4wT3AFOHpWcgLwrrx7k0X2ZhkUyYa0fjrRuI5g2OQbviLZb8OdR/5BME1HvR m00v4pdoR5ofX4tU+5AE/CoE83puAnw8a5RAVvdoDzEBiQa9l7LW/IlPPoFD8u9oY9i7 J7eNvAlLVKj8VZLe/lQuvnZgSJTVcX+9ctpST/Y0nmNLpXqTUtot2VGoVke+EpAPb+mR S/hMsXTolTMg5GuAswJBlleAgnPoHjz66RL19G2s/uS3GhkoYlgKgPSs8fLo7OhbORnQ r5fP2JshzC0imCBc2AOSY5eKJswZ/IaqVwQybtPqzjBUizb/zPcPqS2t5qWP5Wk++BOQ XzrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=wqKDSYqkMAVwLKn7yCdH1mYDCJI+STXrDNabcLpDKB4=; b=YYhsGV2CsWbk5el/ikMtFqwm9kAPgL2h8f8HhuBhH6AUjTmMCtR4hTGNWjKHqnsbJk nd6A8LPF2OuOLhIvsVmfHpSS+s9Ty0w8v5VWVkzP1/rBaeLvtBGWHt4Veb8YrlR44mIP dPGtP02MrlbqfhFsoy0lwe1PHszFrqX7Tf0gcHVxxTY3ma0E9SHiFLJW6cHvHrqpfsyQ v9g7PD+IVEaej/+mkuvhiTegB6KOH7Ja0zGP+mKFxW2eQ5dBLhhvG12kpjG8iDhAB80I ew1jDbiIw36Y5923RGw9H+x3jrguvarzrfYVTeazKx/DZ/h6NUNHfdn6Do9Eh6qawaXH aeSg== X-Gm-Message-State: AOAM533+wx9NJRKwYPoFpKcaKSqnjEeWcq1uc0iUVP5zrNodfgrgXmSN HYkqD90JkBLVNL8Hl1jyIJfQUA== X-Google-Smtp-Source: ABdhPJxu58GYqk6VL/qbenyFx6wEMSTOqF2igEdQoDUlILljgn7rGKRP4MOUxAewsV+YHOgYNQ45zA== X-Received: by 2002:a7b:c0d5:: with SMTP id s21mr10026698wmh.30.1614964297075; Fri, 05 Mar 2021 09:11:37 -0800 (PST) Received: from localhost ([51.37.127.115]) by smtp.gmail.com with ESMTPSA id j30sm6205277wrj.62.2021.03.05.09.11.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Mar 2021 09:11:36 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> Date: Fri, 05 Mar 2021 17:11:34 +0000 In-Reply-To: <87eeguab7o.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Thu, 04 Mar 2021 22:57:31 +0200") Message-ID: <87czwdikzd.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-04, 18:41 +0000, "Basil L. Contovounesios" w= rote: > >> Protesilaos Stavrou writes: >> > I updated the language to disambiguate the use-cases. If you think it > needs further work, I will rewrite it. I think it's fine now, thanks. >>> ++ Ideas and user feedback :: Aaron Jensen, Adam Spiers, Adrian Manea, >>> + Alex Griffin, Alex Peitsinis, Alexey Shmalko, Alok Singh, Anders >>> + Johansson, Andr=C3=A9 Alexandre Gomes, Arif Rezai, Basil L. Contovou= nesios, >> ^^ >> Hopefully Org's Texinfo export can one day be taught that this is not >> the end of a sentence ;). > > Ah yes, I recall noticing that! Can we circumvent it somehow? Perhaps > by omitting the space? Or the 'L. ' wholesale, but using @: as you've done is also fine ;). >>> +(deftheme modus-vivendi >>> + "Accessible and customizable light theme (WCAG AAA standard). >> ^^^^^ >> dark > > Fixed! > > [ Answer only if it is easy: how do you draw those ^^^ below the text? ] If the answer is easy, or drawing the circumflexes is easy? ;) Either way, the answer is boring: I create a new line, add the appropriate indentation e.g. using indent-relative, and then add the circumflexes manually. Maybe someone else knows a faster trick. > On 2021-03-04, 13:53 -0300, Mauro Aranda wrote: > >>> ;;;###autoload >>> (when (and (boundp 'custom-theme-load-path) load-file-name) >>> (add-to-list 'custom-theme-load-path >>> (file-name-as-directory (file-name-directory load-file-n= ame)))) >> >> A nit: I think this code should avoid adding the value of >> custom-theme-directory or the built-in theme directory name to >> custom-theme-load-path , if `custom-theme-directory' (for the former) or >> t (for the latter) are already present in custom-theme-load-path. In >> particular, a theme distributed with Emacs should at least check for t, >> to avoid a repeated entry. >> >> I've noticed that the leuven theme has a similar code as well: I think >> that is a (really minor) bug. > > I have removed that form altogether. It makes sense for packages but > here they are safe themes. Is that okay, or have I misunderstood > something? If you don't mind the (minor) maintenance overhead of removing the form in emacs.git, then that's fine. Alternatively, a more DWIM approach could be something like this: ;;;###autoload (when load-file-name (let ((dir (file-name-directory load-file-name))) (unless (equal dir (expand-file-name "themes/" data-directory)) (add-to-list 'custom-theme-load-path dir)))) I'm not sure if this works on non-GNU/Linux platforms, though. Does anyone else know or have a better suggestion? It could probably use file-in-directory-p instead, but that's quite a bit slower than file-name-directory + expand-file-name, at least in relative terms. Let me know what works best for you. Following the discussion in: https://gitlab.com/protesilaos/modus-themes/-/issues/162 I'm preparing to update emacs.git to Modus version 1.2.2. I just want to clarify a thing here and there first, so stay tuned. Thanks, --=20 Basil From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 05 12:12:04 2021 Received: (at 45068) by debbugs.gnu.org; 5 Mar 2021 17:12:04 +0000 Received: from localhost ([127.0.0.1]:35348 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIDzg-0006q7-35 for submit@debbugs.gnu.org; Fri, 05 Mar 2021 12:12:04 -0500 Received: from mail-wm1-f52.google.com ([209.85.128.52]:55855) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIDzd-0006pV-Jo for 45068@debbugs.gnu.org; Fri, 05 Mar 2021 12:12:02 -0500 Received: by mail-wm1-f52.google.com with SMTP id w7so2090501wmb.5 for <45068@debbugs.gnu.org>; Fri, 05 Mar 2021 09:12:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=Ir0AQa7UysxeC8vgIq0b10cjHq24qMDXV7jzCOv5Wbw=; b=ZHKdJFAspj35RZFCjW+xKJgrMjyY+vTYXzh70dS/fofHRCkQK4QjrjKJXAMO+TAUTp qFdPHo/yp1Yw3kt/0bWZlv54Rci4/CpsbHPchvcOC6aBGootjSkwKVl/qtoda/8INWca GWN6cStpGx7b70Uoy0COufhEDYP19vjVtcdDAwtuG/6o9a+XvrVXaszZdqrWMp47fXMu eId3PIDnkhjt/Pf2nVOAu+D3nz7rQHsHUKzFFa5lPkVCE5JTqsWL1wTlE+IdScMUwzhz IDCo06+FStTGUPCpGxR03dfOg+gsDfdC1s1CGPYshCi+85JcfeaGGVujBAU2EHcECgji Krxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=Ir0AQa7UysxeC8vgIq0b10cjHq24qMDXV7jzCOv5Wbw=; b=t/WAMF0fD2k3J/nnLjV6DMt3KCyRH1494u57LkBFUytgm7NvN7E+QiR5n8uoE8ZrEL R0i1HpcYKizI47riKRjIWS82mVetXX3Qgqu2+oO6pMf4kTMeMxk/ehJJGWSFEFMCZ+JD H6jerB3k2FKWl3dkiX1VK4IWQHv0J5awcXswwd6XsThPVO+cFnz8P/2IFi2hPiKZb602 97T6a+L29P/bUhobS+sQusRcqjm31mYIBqOLGqKq1wT1NBqB06J0DGn3SeFLHD3yjnWY 7d5c+W3vjgU7fvV/3ak4izAVK3TSz3S4PunVskcF3E3L5aTYX0zMOGpn7fQtEmiI3L9+ QQDQ== X-Gm-Message-State: AOAM530oooqwvpLiRPbhLWpT9AxfW4/li7bH+fHheUkDRdYu/ezomrgr A92d7LA8OF4WpH+uvxqIg1Tg6Q== X-Google-Smtp-Source: ABdhPJyynnzycR3dAjik+pP29dpnl8dceY1Pcgwpd0MH8WxirW+pQvKwqANN44rZxtCtFKsMwRrDdg== X-Received: by 2002:a1c:1b43:: with SMTP id b64mr10049487wmb.79.1614964316112; Fri, 05 Mar 2021 09:11:56 -0800 (PST) Received: from localhost ([51.37.127.115]) by smtp.gmail.com with ESMTPSA id m3sm4939166wmc.48.2021.03.05.09.11.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Mar 2021 09:11:55 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <60415a04.1c69fb81.63f7a.3bc2@mx.google.com> <877dmmcdnh.fsf@protesilaos.com> Date: Fri, 05 Mar 2021 17:11:54 +0000 In-Reply-To: <877dmmcdnh.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Fri, 05 Mar 2021 08:34:10 +0200") Message-ID: <87blbxikyt.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-04, 19:06 -0300, Mauro Aranda wrote: > >> But if you plan to keep distributing them as packages via ELPA, then >> it might make sense to keep it. I don't know what's the plan, so I >> can't say for sure if the form should stay or not. > > My original plan was to update the themes in emacs.git and then figure > out what needs to be done for elpa.git to treat them as ":core" packages > instead of ":external". > > So I had this and would have used a similar technique for the > above-quoted code: > > (if (and (>= emacs-major-version 28) > (functionp 'require-theme)) > (require-theme 'modus-themes) > (require 'modus-themes)) > > But that produced a major bug of not loading the desired theme in > certain setups.[1] I suspect it is because 'require' needs to be at the > top level? Not sure... Maybe there is some clean way to fix that, > though I would need more time to research and test it; a time frame that > I cannot estimate right now. > > [1]: . > > So I prefer to use files that 100% work in emacs.git and then I will > treat elpa.git separately. Using all those untested conditional clauses > will give me trouble. Perhaps the themes in elpa.git should not be > ":core" after all? Keeping them as ":external", though updated to the > newest release, seems like the most reliable path forward. > > Ultimately this means more work for me, though I prefer to not have to > deal with packaging-related bugs (notwithstanding the fact that I need > to ask for someone else to push changes for me in Emacs/ELPA and I would > rather not bother them). Ultimately it's your decision as the maintainer, but after addressing the issue you reference above in modus-themes.git, I no longer see any significant hurdles to keeping modus-themes.git / elpa.git / emacs.git in sync, unless I'm missing something? > I appreciate your contributions ("your" singular and plural). For me > this is all part of a learning process and am happy to be part of a > community that (i) tolerates my errors and (ii) helps me learn through > them without making any discounts on technical requirements. That should/does apply to everyone here :). -- Basil From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 05 12:34:39 2021 Received: (at 45068) by debbugs.gnu.org; 5 Mar 2021 17:34:39 +0000 Received: from localhost ([127.0.0.1]:35366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIELU-0007Na-DB for submit@debbugs.gnu.org; Fri, 05 Mar 2021 12:34:39 -0500 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:49951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIELP-0007NH-Qf for 45068@debbugs.gnu.org; Fri, 05 Mar 2021 12:34:35 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 7BE9020009; Fri, 5 Mar 2021 17:34:23 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] 28.0.50; Update Modus themes 1.0.2 (backward-incompatible) References: <87im9fgm27.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <60415a04.1c69fb81.63f7a.3bc2@mx.google.com> <877dmmcdnh.fsf@protesilaos.com> <87blbxikyt.fsf@tcd.ie> Date: Fri, 05 Mar 2021 19:34:21 +0200 In-Reply-To: <87blbxikyt.fsf@tcd.ie> (Basil L. Contovounesios's message of "Fri, 05 Mar 2021 17:11:54 +0000") Message-ID: <87eegtqzc2.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-05, 17:11 +0000, "Basil L. Contovounesios" wrote: > Protesilaos Stavrou writes: > >> On 2021-03-04, 19:06 -0300, Mauro Aranda wrote: >> >>> But if you plan to keep distributing them as packages via ELPA, then >>> it might make sense to keep it. I don't know what's the plan, so I >>> can't say for sure if the form should stay or not. >> >> My original plan was to update the themes in emacs.git and then figure >> out what needs to be done for elpa.git to treat them as ":core" packages >> instead of ":external". >> >> So I had this and would have used a similar technique for the >> above-quoted code: >> >> (if (and (>= emacs-major-version 28) >> (functionp 'require-theme)) >> (require-theme 'modus-themes) >> (require 'modus-themes)) >> >> But that produced a major bug of not loading the desired theme in >> certain setups.[1] I suspect it is because 'require' needs to be at the >> top level? Not sure... Maybe there is some clean way to fix that, >> though I would need more time to research and test it; a time frame that >> I cannot estimate right now. >> >> [1]: . >> >> So I prefer to use files that 100% work in emacs.git and then I will >> treat elpa.git separately. Using all those untested conditional clauses >> will give me trouble. Perhaps the themes in elpa.git should not be >> ":core" after all? Keeping them as ":external", though updated to the >> newest release, seems like the most reliable path forward. >> >> Ultimately this means more work for me, though I prefer to not have to >> deal with packaging-related bugs (notwithstanding the fact that I need >> to ask for someone else to push changes for me in Emacs/ELPA and I would >> rather not bother them). > > Ultimately it's your decision as the maintainer, but after addressing > the issue you reference above in modus-themes.git, I no longer see any > significant hurdles to keeping modus-themes.git / elpa.git / emacs.git > in sync, unless I'm missing something? In principle I want to keep everything in sync. I think things should work now, thanks to your contributions. I need to prepare the elpa.git patch separately though, as I have not yet studied exactly what needs to be changed. >> I appreciate your contributions ("your" singular and plural). For me >> this is all part of a learning process and am happy to be part of a >> community that (i) tolerates my errors and (ii) helps me learn through >> them without making any discounts on technical requirements. > > That should/does apply to everyone here :). Very well! -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 05 12:50:40 2021 Received: (at 45068) by debbugs.gnu.org; 5 Mar 2021 17:50:40 +0000 Received: from localhost ([127.0.0.1]:35380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIEb2-0007oH-6k for submit@debbugs.gnu.org; Fri, 05 Mar 2021 12:50:40 -0500 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:55001) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIEb0-0007o1-5m for 45068@debbugs.gnu.org; Fri, 05 Mar 2021 12:50:38 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 9FBE01BF20D; Fri, 5 Mar 2021 17:50:28 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <87czwdikzd.fsf@tcd.ie> Date: Fri, 05 Mar 2021 19:50:26 +0200 In-Reply-To: <87czwdikzd.fsf@tcd.ie> (Basil L. Contovounesios's message of "Fri, 05 Mar 2021 17:11:34 +0000") Message-ID: <87a6rhqyl9.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 T24gMjAyMS0wMy0wNSwgMTc6MTEgKzAwMDAsICJCYXNpbCBMLiBDb250b3ZvdW5lc2lvcyIgPGNv bnRvdm9iQHRjZC5pZT4gd3JvdGU6DQoNCj4+Pj4gKysgSWRlYXMgYW5kIHVzZXIgZmVlZGJhY2sg OjogQWFyb24gSmVuc2VuLCBBZGFtIFNwaWVycywgQWRyaWFuIE1hbmVhLA0KPj4+PiArICBBbGV4 IEdyaWZmaW4sIEFsZXggUGVpdHNpbmlzLCBBbGV4ZXkgU2htYWxrbywgQWxvayBTaW5naCwgQW5k ZXJzDQo+Pj4+ICsgIEpvaGFuc3NvbiwgQW5kcsOpIEFsZXhhbmRyZSBHb21lcywgQXJpZiBSZXph aSwgQmFzaWwgTC4gQ29udG92b3VuZXNpb3MsDQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eDQo+Pj4gSG9wZWZ1bGx5IE9yZydz IFRleGluZm8gZXhwb3J0IGNhbiBvbmUgZGF5IGJlIHRhdWdodCB0aGF0IHRoaXMgaXMgbm90DQo+ Pj4gdGhlIGVuZCBvZiBhIHNlbnRlbmNlIDspLg0KPj4NCj4+IEFoIHllcywgSSByZWNhbGwgbm90 aWNpbmcgdGhhdCEgIENhbiB3ZSBjaXJjdW12ZW50IGl0IHNvbWVob3c/ICBQZXJoYXBzDQo+PiBi eSBvbWl0dGluZyB0aGUgc3BhY2U/DQo+DQo+IE9yIHRoZSAnTC4gJyB3aG9sZXNhbGUsIGJ1dCB1 c2luZyBAOiBhcyB5b3UndmUgZG9uZSBpcyBhbHNvIGZpbmUgOykuDQoNCkkgcHJlZmVycmVkIHRv IGtlZXAgdGhlIG5hbWUgdGhlIHdheSB5b3UgdXNlIGl0LCBzbyBhcyB0byBhdm9pZA0KYW1iaWd1 aXR5ICh0aG91Z2ggSSB3b3VsZCBub3QgbWluZCBpZiB5b3VyIGRvcHBlbGfDpG5nZXIgd2FzIGFs c28gaGFja2luZw0Kb24gRWxpc3AhKS4NCg0KPj4+PiArKGRlZnRoZW1lIG1vZHVzLXZpdmVuZGkN Cj4+Pj4gKyAgIkFjY2Vzc2libGUgYW5kIGN1c3RvbWl6YWJsZSBsaWdodCB0aGVtZSAoV0NBRyBB QUEgc3RhbmRhcmQpLg0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXl5e Xg0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrDQo+Pg0KPj4gRml4 ZWQhDQo+Pg0KPj4gWyBBbnN3ZXIgb25seSBpZiBpdCBpcyBlYXN5OiBob3cgZG8geW91IGRyYXcg dGhvc2UgXl5eIGJlbG93IHRoZSB0ZXh0PyBdDQo+DQo+IElmIHRoZSBhbnN3ZXIgaXMgZWFzeSwg b3IgZHJhd2luZyB0aGUgY2lyY3VtZmxleGVzIGlzIGVhc3k/IDspDQo+DQo+IEVpdGhlciB3YXks IHRoZSBhbnN3ZXIgaXMgYm9yaW5nOiBJIGNyZWF0ZSBhIG5ldyBsaW5lLCBhZGQgdGhlDQo+IGFw cHJvcHJpYXRlIGluZGVudGF0aW9uIGUuZy4gdXNpbmcgaW5kZW50LXJlbGF0aXZlLCBhbmQgdGhl biBhZGQgdGhlDQo+IGNpcmN1bWZsZXhlcyBtYW51YWxseS4gIE1heWJlIHNvbWVvbmUgZWxzZSBr bm93cyBhIGZhc3RlciB0cmljay4NCg0KQWggb2theSwgdGhhbmtzIQ0KDQo+PiBPbiAyMDIxLTAz LTA0LCAxMzo1MyAtMDMwMCwgTWF1cm8gQXJhbmRhIDxtYXVyb29hcmFuZGFAZ21haWwuY29tPiB3 cm90ZToNCj4+DQo+Pj4+IDs7OyMjI2F1dG9sb2FkDQo+Pj4+ICh3aGVuIChhbmQgKGJvdW5kcCAn Y3VzdG9tLXRoZW1lLWxvYWQtcGF0aCkgbG9hZC1maWxlLW5hbWUpDQo+Pj4+ICAgKGFkZC10by1s aXN0ICdjdXN0b20tdGhlbWUtbG9hZC1wYXRoDQo+Pj4+ICAgICAgICAgICAgICAgIChmaWxlLW5h bWUtYXMtZGlyZWN0b3J5IChmaWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1uYW1lKSkpKQ0K Pj4+DQo+Pj4gQSBuaXQ6IEkgdGhpbmsgdGhpcyBjb2RlIHNob3VsZCBhdm9pZCBhZGRpbmcgdGhl IHZhbHVlIG9mDQo+Pj4gY3VzdG9tLXRoZW1lLWRpcmVjdG9yeSBvciB0aGUgYnVpbHQtaW4gdGhl bWUgZGlyZWN0b3J5IG5hbWUgdG8NCj4+PiBjdXN0b20tdGhlbWUtbG9hZC1wYXRoICwgaWYgYGN1 c3RvbS10aGVtZS1kaXJlY3RvcnknIChmb3IgdGhlIGZvcm1lcikgb3INCj4+PiB0IChmb3IgdGhl IGxhdHRlcikgYXJlIGFscmVhZHkgcHJlc2VudCBpbiBjdXN0b20tdGhlbWUtbG9hZC1wYXRoLiAg SW4NCj4+PiBwYXJ0aWN1bGFyLCBhIHRoZW1lIGRpc3RyaWJ1dGVkIHdpdGggRW1hY3Mgc2hvdWxk IGF0IGxlYXN0IGNoZWNrIGZvciB0LA0KPj4+IHRvIGF2b2lkIGEgcmVwZWF0ZWQgZW50cnkuDQo+ Pj4NCj4+PiBJJ3ZlIG5vdGljZWQgdGhhdCB0aGUgbGV1dmVuIHRoZW1lIGhhcyBhIHNpbWlsYXIg Y29kZSBhcyB3ZWxsOiBJIHRoaW5rDQo+Pj4gdGhhdCBpcyBhIChyZWFsbHkgbWlub3IpIGJ1Zy4N Cj4+DQo+PiBJIGhhdmUgcmVtb3ZlZCB0aGF0IGZvcm0gYWx0b2dldGhlci4gIEl0IG1ha2VzIHNl bnNlIGZvciBwYWNrYWdlcyBidXQNCj4+IGhlcmUgdGhleSBhcmUgc2FmZSB0aGVtZXMuICBJcyB0 aGF0IG9rYXksIG9yIGhhdmUgSSBtaXN1bmRlcnN0b29kDQo+PiBzb21ldGhpbmc/DQo+DQo+IElm IHlvdSBkb24ndCBtaW5kIHRoZSAobWlub3IpIG1haW50ZW5hbmNlIG92ZXJoZWFkIG9mIHJlbW92 aW5nIHRoZSBmb3JtDQo+IGluIGVtYWNzLmdpdCwgdGhlbiB0aGF0J3MgZmluZS4gIEFsdGVybmF0 aXZlbHksIGEgbW9yZSBEV0lNIGFwcHJvYWNoDQo+IGNvdWxkIGJlIHNvbWV0aGluZyBsaWtlIHRo aXM6DQo+DQo+ICAgOzs7IyMjYXV0b2xvYWQNCj4gICAod2hlbiBsb2FkLWZpbGUtbmFtZQ0KPiAg ICAgKGxldCAoKGRpciAoZmlsZS1uYW1lLWRpcmVjdG9yeSBsb2FkLWZpbGUtbmFtZSkpKQ0KPiAg ICAgICAodW5sZXNzIChlcXVhbCBkaXIgKGV4cGFuZC1maWxlLW5hbWUgInRoZW1lcy8iIGRhdGEt ZGlyZWN0b3J5KSkNCj4gICAgICAgICAoYWRkLXRvLWxpc3QgJ2N1c3RvbS10aGVtZS1sb2FkLXBh dGggZGlyKSkpKQ0KPg0KPiBJJ20gbm90IHN1cmUgaWYgdGhpcyB3b3JrcyBvbiBub24tR05VL0xp bnV4IHBsYXRmb3JtcywgdGhvdWdoLg0KPiBEb2VzIGFueW9uZSBlbHNlIGtub3cgb3IgaGF2ZSBh IGJldHRlciBzdWdnZXN0aW9uPw0KPg0KPiBJdCBjb3VsZCBwcm9iYWJseSB1c2UgZmlsZS1pbi1k aXJlY3RvcnktcCBpbnN0ZWFkLCBidXQgdGhhdCdzIHF1aXRlIGENCj4gYml0IHNsb3dlciB0aGFu IGZpbGUtbmFtZS1kaXJlY3RvcnkgKyBleHBhbmQtZmlsZS1uYW1lLCBhdCBsZWFzdCBpbg0KPiBy ZWxhdGl2ZSB0ZXJtcy4NCj4NCj4gTGV0IG1lIGtub3cgd2hhdCB3b3JrcyBiZXN0IGZvciB5b3Uu DQoNCkkgd291bGQgcHJlZmVyIHRvIGF2b2lkIHRoZSBleHRyYSBtYWludGVuYW5jZSBjb3N0LCBu b3QgYmVjYXVzZSBJIG1pbmQNCmRvaW5nIHRoZSBhZGRlZCB3b3JrLCBidXQgaXQgY2FuIGJlIGEg Y2F1c2UgZm9yIGVycm9ycy4NCg0KVG8gbWUgeW91ciBzbmlwcGV0IGxvb2tzIHJpZ2h0LCB0aG91 Z2ggSSBhbSB1c2luZyBHTlUvTGludXggZXhjbHVzaXZlbHkuDQpJIGp1c3QgYWRkZWQgaXQgdG8g bXkgZmlsZSAoY2l0aW5nIHlvdSBhcyB0aGUgYXV0aG9yKSBhbmQgdXBkYXRlZCBteQ0KcmVwbyB0 byB2ZXJzaW9uIDEuMi4zLCB3aGljaCBpbmNsdWRlcyBldmVyeSBjaGFuZ2Ugd2UgaGF2ZSBjb3Zl cmVkIGluDQp0aGlzIHRocmVhZC4NCg0KPiBGb2xsb3dpbmcgdGhlIGRpc2N1c3Npb24gaW46DQo+ DQo+ICAgaHR0cHM6Ly9naXRsYWIuY29tL3Byb3Rlc2lsYW9zL21vZHVzLXRoZW1lcy8tL2lzc3Vl cy8xNjINCj4NCj4gSSdtIHByZXBhcmluZyB0byB1cGRhdGUgZW1hY3MuZ2l0IHRvIE1vZHVzIHZl cnNpb24gMS4yLjIuICBJIGp1c3Qgd2FudA0KPiB0byBjbGFyaWZ5IGEgdGhpbmcgaGVyZSBhbmQg dGhlcmUgZmlyc3QsIHNvIHN0YXkgdHVuZWQuDQoNCk5vdyB2ZXJzaW9uIDEuMi4zLiAgSSBndWVz cyB5b3UgcHJlZmVyIHRoZSBmaWxlcyBvdmVyIGEgcGF0Y2g/ICBJIGF0dGFjaA0KdGhlbS4NCg0K LS0gDQpQcm90ZXNpbGFvcyBTdGF2cm91DQpwcm90ZXNpbGFvcy5jb20NCg== --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=modus-operandi-theme.el ;;; modus-operandi-theme.el --- Accessible light theme (WCAG AAA) -*- lexical-binding:t -*- ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes ;; Version: 1.2.3 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: faces, theme, accessibility ;; This file is part of GNU Emacs. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or (at ;; your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; ;; Modus Operandi is the light variant of the Modus themes (Modus ;; Vivendi is the dark one). The themes are designed for color-contrast ;; accessibility. More specifically: ;; ;; 1. Provide a consistent minimum contrast ratio between background ;; and foreground values of 7:1 or higher. This meets the highest ;; such accessibility criterion per the guidelines of the Worldwide ;; Web Consortium's Working Group on Accessibility (WCAG AAA ;; standard). ;; ;; 2. Offer as close to full face coverage as possible. The list is ;; already quite long, with more additions to follow as part of the ;; ongoing development process. ;; ;; For a complete view of the project, also refer to the following files ;; (should be distributed in the same repository/directory as the ;; current item): ;; ;; - modus-themes.el (Main code shared between the themes) ;; - modus-vivendi-theme.el (Dark theme) ;;; Code: (eval-and-compile (unless (and (fboundp 'require-theme) (require-theme 'modus-themes t)) (require 'modus-themes))) (deftheme modus-operandi "Accessible and customizable light theme (WCAG AAA standard). Conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of 7:1.") (modus-themes-theme modus-operandi) (provide-theme 'modus-operandi) ;;; modus-operandi-theme.el ends here --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=modus-themes.el ;;; modus-themes.el --- Highly accessible themes (WCAG AAA) -*- lexical-binding:t -*- ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes ;; Version: 1.2.3 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: faces, theme, accessibility ;; This file is part of GNU Emacs. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or (at ;; your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; ;; The Modus themes conform with the highest standard for color-contrast ;; accessibility between background and foreground values (WCAG AAA). ;; This file contains all customization options, helper functions, ;; interactive commands, and face specifications. Please refer to the ;; official Info manual for further documentation (distributed with the ;; themes, or available at: ). ;; ;; The themes share the following customization options, all of which ;; are disabled by default (nil): ;; ;; modus-themes-slanted-constructs (boolean) ;; modus-themes-bold-constructs (boolean) ;; modus-themes-variable-pitch-headings (boolean) ;; modus-themes-variable-pitch-ui (boolean) ;; modus-themes-no-mixed-fonts (boolean) ;; modus-themes-headings (alist) ;; modus-themes-scale-headings (boolean) ;; modus-themes-fringes (choice) ;; modus-themes-lang-checkers (choice) ;; modus-themes-org-blocks (choice) ;; modus-themes-org-habit (choice) ;; modus-themes-prompts (choice) ;; modus-themes-mode-line (choice) ;; modus-themes-diffs (choice) ;; modus-themes-syntax (choice) ;; modus-themes-intense-hl-line (boolean) ;; modus-themes-subtle-line-numbers (boolean) ;; modus-themes-paren-match (choice) ;; modus-themes-region (choice) ;; modus-themes-links (choice) ;; modus-themes-completions (choice) ;; ;; The default scale for headings is as follows (it can be customized as ;; well---remember, no scaling takes place by default): ;; ;; modus-themes-scale-1 1.05 ;; modus-themes-scale-2 1.1 ;; modus-themes-scale-3 1.15 ;; modus-themes-scale-4 1.2 ;; modus-themes-scale-5 1.3 ;; ;; There also exist two unique customization options for overriding ;; color palette values. The specifics are documented in the manual. ;; The symbols are: ;; ;; modus-themes-operandi-color-overrides (alist) ;; modus-themes-vivendi-color-overrides (alist) ;; ;; Below is the list of explicitly supported packages or face groups ;; (there are implicitly supported packages as well, which inherit from ;; font-lock or some basic group). You are encouraged to report any ;; missing package or change you would like to see. ;; ;; ace-window ;; ag ;; alert ;; all-the-icons ;; annotate ;; anzu ;; apropos ;; apt-sources-list ;; artbollocks-mode ;; auctex and TeX ;; auto-dim-other-buffers ;; avy ;; awesome-tray ;; bbdb ;; binder ;; bm ;; bongo ;; boon ;; breakpoint (provided by built-in gdb-mi.el) ;; buffer-expose ;; calendar and diary ;; calfw ;; centaur-tabs ;; cfrs ;; change-log and log-view (`vc-print-log' and `vc-print-root-log') ;; cider ;; circe ;; color-rg ;; column-enforce-mode ;; company-mode ;; company-posframe ;; compilation-mode ;; completions ;; consult ;; counsel ;; counsel-css ;; counsel-notmuch ;; counsel-org-capture-string ;; cov ;; cperl-mode ;; csv-mode ;; ctrlf ;; custom (M-x customize) ;; dap-mode ;; dashboard (emacs-dashboard) ;; deadgrep ;; debbugs ;; define-word ;; deft ;; dictionary ;; diff-hl ;; diff-mode ;; dim-autoload ;; dir-treeview ;; dired ;; dired-async ;; dired-git ;; dired-git-info ;; dired-narrow ;; dired-subtree ;; diredc ;; diredfl ;; diredp (dired+) ;; disk-usage ;; display-fill-column-indicator-mode ;; doom-modeline ;; dynamic-ruler ;; easy-jekyll ;; easy-kill ;; ebdb ;; ediff ;; eglot ;; el-search ;; eldoc ;; eldoc-box ;; elfeed ;; elfeed-score ;; emms ;; enhanced-ruby-mode ;; epa ;; equake ;; erc ;; eros ;; ert ;; eshell ;; eshell-fringe-status ;; eshell-git-prompt ;; eshell-prompt-extras (epe) ;; eshell-syntax-highlighting ;; evil (evil-mode) ;; evil-goggles ;; evil-snipe ;; evil-visual-mark-mode ;; eww ;; exwm ;; eyebrowse ;; fancy-dabbrev ;; flycheck ;; flycheck-color-mode-line ;; flycheck-indicator ;; flycheck-posframe ;; flymake ;; flyspell ;; flyspell-correct ;; flx ;; freeze-it ;; frog-menu ;; focus ;; fold-this ;; font-lock (generic syntax highlighting) ;; forge ;; fountain (fountain-mode) ;; geiser ;; git-commit ;; git-gutter (and variants) ;; git-lens ;; git-rebase ;; git-timemachine ;; git-walktree ;; gnus ;; golden-ratio-scroll-screen ;; helm ;; helm-ls-git ;; helm-switch-shell ;; helm-xref ;; helpful ;; highlight-blocks ;; highlight-defined ;; highlight-escape-sequences (`hes-mode') ;; highlight-indentation ;; highlight-numbers ;; highlight-symbol ;; highlight-tail ;; highlight-thing ;; hl-defined ;; hl-fill-column ;; hl-line-mode ;; hl-todo ;; hydra ;; hyperlist ;; ibuffer ;; icomplete ;; ido-mode ;; iedit ;; iflipb ;; imenu-list ;; indium ;; info ;; info-colors ;; interaction-log ;; ioccur ;; isearch, occur, etc. ;; isl (isearch-light) ;; ivy ;; ivy-posframe ;; jira (org-jira) ;; journalctl-mode ;; js2-mode ;; julia ;; jupyter ;; kaocha-runner ;; keycast ;; line numbers (`display-line-numbers-mode' and global variant) ;; lsp-mode ;; lsp-ui ;; macrostep ;; magit ;; magit-imerge ;; make-mode ;; man ;; marginalia ;; markdown-mode ;; markup-faces (`adoc-mode') ;; mentor ;; messages ;; minibuffer-line ;; minimap ;; mmm-mode ;; modeline ;; mood-line ;; mpdel ;; mu4e ;; mu4e-conversation ;; multiple-cursors ;; neotree ;; no-emoji ;; notmuch ;; num3-mode ;; nxml-mode ;; objed ;; orderless ;; org ;; org-journal ;; org-noter ;; org-pomodoro ;; org-recur ;; org-roam ;; org-superstar ;; org-table-sticky-header ;; org-tree-slide ;; org-treescope ;; origami ;; outline-mode ;; outline-minor-faces ;; package (M-x list-packages) ;; page-break-lines ;; paradox ;; paren-face ;; parrot ;; pass ;; pdf-tools ;; persp-mode ;; perspective ;; phi-grep ;; phi-search ;; pkgbuild-mode ;; pomidor ;; popup ;; powerline ;; powerline-evil ;; prism (see "Note for prism.el" in the manual) ;; proced ;; prodigy ;; quick-peek ;; racket-mode ;; rainbow-blocks ;; rainbow-identifiers ;; rainbow-delimiters ;; rcirc ;; recursion-indicator ;; regexp-builder (also known as `re-builder') ;; rg ;; ripgrep ;; rmail ;; ruler-mode ;; sallet ;; selectrum ;; selectrum-prescient ;; semantic ;; sesman ;; shell-script-mode ;; shortdoc ;; show-paren-mode ;; shr ;; side-notes ;; sieve-mode ;; skewer-mode ;; smart-mode-line ;; smartparens ;; smerge ;; spaceline ;; speedbar ;; spell-fu ;; spray ;; stripes ;; suggest ;; switch-window ;; swiper ;; swoop ;; sx ;; symbol-overlay ;; tab-bar-mode ;; tab-line-mode ;; syslog-mode ;; table (built-in table.el) ;; telephone-line ;; terraform-mode ;; term ;; tomatinho ;; transient (pop-up windows like Magit's) ;; trashed ;; treemacs ;; tty-menu ;; tuareg ;; typescript ;; undo-tree ;; vc (built-in mode line status for version control) ;; vc-annotate (C-x v g) ;; vdiff ;; vimish-fold ;; visible-mark ;; visual-regexp ;; volatile-highlights ;; vterm ;; wcheck-mode ;; web-mode ;; wgrep ;; which-function-mode ;; which-key ;; whitespace-mode ;; window-divider-mode ;; winum ;; writegood-mode ;; woman ;; xah-elisp-mode ;; xref ;; xterm-color (and ansi-colors) ;; yaml-mode ;; yasnippet ;; ztree ;; ;; For a complete view of the project, also refer to the following files ;; (should be distributed in the same repository/directory as the ;; current item): ;; ;; - modus-operandi-theme.el (Light theme) ;; - modus-vivendi-theme.el (Dark theme) ;;; Code: (eval-when-compile (require 'cl-lib)) (defgroup modus-themes () "Options for `modus-operandi', `modus-vivendi'." :group 'faces :link '(info-link "(modus-themes) Top") :prefix "modus-themes-" :tag "Modus Themes") ;;; Variables for each theme variant ;;;; Modus Operandi (define-obsolete-variable-alias 'modus-operandi-theme-default-colors-alist 'modus-themes-colors-operandi "1.0.0") (define-obsolete-variable-alias 'modus-themes-colors-operandi 'modus-themes-operandi-colors "1.1.0") (defconst modus-themes-operandi-colors '(;; base values (bg-main . "#ffffff") (fg-main . "#000000") (bg-dim . "#f8f8f8") (fg-dim . "#282828") (bg-alt . "#f0f0f0") (fg-alt . "#505050") ;; specifically for on/off states and must be combined with ;; themselves, though the backgrounds are also meant to be used with ;; other "active" values, defined further below (bg-active . "#d7d7d7") (fg-active . "#0a0a0a") (bg-inactive . "#efefef") (fg-inactive . "#404148") ;; these special values are intended as alternatives to the base ;; values for cases where we need to avoid confusion between the ;; highlighted constructs; they must either be used as pairs based ;; on their name or each can be combined with {fg,bg}-{main,alt,dim} ;; always in accordance with their role as background or foreground (bg-special-cold . "#dde3f4") (fg-special-cold . "#093060") (bg-special-mild . "#c4ede0") (fg-special-mild . "#184034") (bg-special-warm . "#f0e0d4") (fg-special-warm . "#5d3026") (bg-special-calm . "#f8ddea") (fg-special-calm . "#61284f") ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt (red . "#a60000") (red-alt . "#972500") (red-alt-other . "#a0132f") (red-faint . "#7f1010") (red-alt-faint . "#702f00") (red-alt-other-faint . "#7f002f") (green . "#005e00") (green-alt . "#315b00") (green-alt-other . "#145c33") (green-faint . "#104410") (green-alt-faint . "#30440f") (green-alt-other-faint . "#0f443f") (yellow . "#813e00") (yellow-alt . "#70480f") (yellow-alt-other . "#863927") (yellow-faint . "#5f4400") (yellow-alt-faint . "#5d5000") (yellow-alt-other-faint . "#5e3a20") (blue . "#0031a9") (blue-alt . "#2544bb") (blue-alt-other . "#0000c0") (blue-faint . "#003497") (blue-alt-faint . "#0f3d8c") (blue-alt-other-faint . "#001087") (magenta . "#721045") (magenta-alt . "#8f0075") (magenta-alt-other . "#5317ac") (magenta-faint . "#752f50") (magenta-alt-faint . "#7b206f") (magenta-alt-other-faint . "#55348e") (cyan . "#00538b") (cyan-alt . "#30517f") (cyan-alt-other . "#005a5f") (cyan-faint . "#005077") (cyan-alt-faint . "#354f6f") (cyan-alt-other-faint . "#125458") ;; these foreground values can only be combined with bg-main and are ;; thus not suitable for general purpose highlighting (red-intense . "#b60000") (orange-intense . "#904200") (green-intense . "#006800") (yellow-intense . "#605b00") (blue-intense . "#1f1fce") (magenta-intense . "#a8007f") (purple-intense . "#7f10d0") (cyan-intense . "#005f88") ;; those foregrounds are meant exclusively for bg-active, bg-inactive (red-active . "#8a0000") (green-active . "#004c2e") (yellow-active . "#702d1f") (blue-active . "#0030b4") (magenta-active . "#5c2092") (cyan-active . "#003f8a") ;; the "subtle" values below be combined with fg-dim, while the ;; "intense" should be paired with fg-main (red-subtle-bg . "#f2b0a2") (red-intense-bg . "#ff8892") (green-subtle-bg . "#aecf90") (green-intense-bg . "#5ada88") (yellow-subtle-bg . "#e4c340") (yellow-intense-bg . "#f5df23") (blue-subtle-bg . "#b5d0ff") (blue-intense-bg . "#6aaeff") (magenta-subtle-bg . "#f0d3ff") (magenta-intense-bg . "#d5baff") (cyan-subtle-bg . "#c0efff") (cyan-intense-bg . "#42cbd4") ;; those background values must be combined with fg-main and should ;; only be used for indicators that are placed on the fringes (red-fringe-bg . "#f08290") (green-fringe-bg . "#62c86a") (yellow-fringe-bg . "#dbba3f") (blue-fringe-bg . "#82afff") (magenta-fringe-bg . "#e0a3ff") (cyan-fringe-bg . "#2fcddf") ;; those background values should only be used for graphs or similar ;; applications where colored blocks are expected to be positioned ;; next to each other (red-graph-0-bg . "#ef6f79") (red-graph-1-bg . "#ff9f9f") (green-graph-0-bg . "#49d239") (green-graph-1-bg . "#6dec6d") (yellow-graph-0-bg . "#efec08") (yellow-graph-1-bg . "#dbff4e") (blue-graph-0-bg . "#55a2f0") (blue-graph-1-bg . "#7fcfff") (magenta-graph-0-bg . "#ba86ef") (magenta-graph-1-bg . "#e7afff") (cyan-graph-0-bg . "#30d3f0") (cyan-graph-1-bg . "#6fefff") ;; the following are for cases where both the foreground and the ;; background need to have a similar hue and so must be combined ;; with themselves, even though the foregrounds can be paired with ;; any of the base backgrounds (red-refine-bg . "#ffcccc") (red-refine-fg . "#780000") (green-refine-bg . "#aceaac") (green-refine-fg . "#004c00") (yellow-refine-bg . "#fff29a") (yellow-refine-fg . "#604000") (blue-refine-bg . "#8ac7ff") (blue-refine-fg . "#002288") (magenta-refine-bg . "#ffccff") (magenta-refine-fg . "#770077") (cyan-refine-bg . "#8eecf4") (cyan-refine-fg . "#004850") ;; the "nuanced" backgrounds can be combined with all of the above ;; foregrounds, as well as those included here, while the "nuanced" ;; foregrounds can in turn also be combined with bg-main, bg-dim, ;; bg-alt (red-nuanced-bg . "#fff1f0") (red-nuanced-fg . "#5f0000") (green-nuanced-bg . "#ecf7ed") (green-nuanced-fg . "#004000") (yellow-nuanced-bg . "#fff3da") (yellow-nuanced-fg . "#3f3000") (blue-nuanced-bg . "#f3f3ff") (blue-nuanced-fg . "#201f55") (magenta-nuanced-bg . "#fdf0ff") (magenta-nuanced-fg . "#541f4f") (cyan-nuanced-bg . "#ebf6fa") (cyan-nuanced-fg . "#0f3360") ;; the following are reserved for specific cases ;; ;; bg-hl-line is between bg-dim and bg-alt, so it should ;; work with all accents that cover those two, plus bg-main ;; ;; bg-hl-alt and bg-hl-alt-intense should only be used when no ;; other greyscale or fairly neutral background is available to ;; properly draw attention to a given construct ;; ;; bg-header is between bg-active and bg-inactive, so it ;; can be combined with any of the "active" values, plus the ;; "special" and base foreground colors ;; ;; bg-paren-match, bg-paren-match-intense, bg-region and ;; bg-tab-active must be combined with fg-main, while ;; bg-tab-inactive should be combined with fg-dim, whereas ;; bg-tab-inactive-alt goes together with fg-main ;; ;; bg-tab-bar is only intended for the bar that holds the tabs and ;; can only be combined with fg-main ;; ;; fg-tab-active is meant to be combined with bg-tab-active, ;; though only for styling special elements, such as underlining ;; the current tab ;; ;; fg-escape-char-construct and fg-escape-char-backslash can ;; be combined bg-main, bg-dim, bg-alt ;; ;; fg-lang-error, fg-lang-warning, fg-lang-note can be ;; combined with bg-main, bg-dim, bg-alt ;; ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined ;; with bg-main, bg-dim, bg-alt, bg-hl-line ;; ;; fg-unfocused must be combined with bg-main ;; ;; fg-docstring, fg-comment-yellow can be combined with ;; bg-main, bg-dim, bg-alt ;; ;; the window divider colors apply to faces with just an fg value ;; ;; all pairs are combinable with themselves (bg-hl-line . "#f2eff3") (bg-hl-line-intense . "#e0e0e0") (bg-hl-alt . "#fbeee0") (bg-hl-alt-intense . "#e8dfd1") (bg-paren-match . "#e0af82") (bg-paren-match-intense . "#c488ff") (bg-region . "#bcbcbc") (bg-tab-bar . "#d5d5d5") (bg-tab-active . "#f6f6f6") (bg-tab-inactive . "#bdbdbd") (bg-tab-inactive-alt . "#999999") (fg-tab-active . "#30169e") (fg-escape-char-construct . "#8b1030") (fg-escape-char-backslash . "#654d0f") (fg-lang-error . "#9f004f") (fg-lang-warning . "#604f0f") (fg-lang-note . "#4040ae") (fg-lang-underline-error . "#ef4f54") (fg-lang-underline-warning . "#cf9f00") (fg-lang-underline-note . "#3f6fef") (fg-window-divider-inner . "#888888") (fg-window-divider-outer . "#585858") (fg-unfocused . "#56576d") (fg-docstring . "#2a486a") (fg-comment-yellow . "#5f4400") (bg-header . "#e5e5e5") (fg-header . "#2a2a2a") (bg-whitespace . "#f5efef") (fg-whitespace . "#624956") (bg-diff-heading . "#b7cfe0") (fg-diff-heading . "#041645") (bg-diff-added . "#d4fad4") (fg-diff-added . "#004500") (bg-diff-added-deuteran . "#daefff") (fg-diff-added-deuteran . "#002044") (bg-diff-changed . "#fcefcf") (fg-diff-changed . "#524200") (bg-diff-removed . "#ffe8ef") (fg-diff-removed . "#691616") (bg-diff-refine-added . "#94cf94") (fg-diff-refine-added . "#002a00") (bg-diff-refine-added-deuteran . "#77c0ef") (fg-diff-refine-added-deuteran . "#000035") (bg-diff-refine-changed . "#cccf8f") (fg-diff-refine-changed . "#302010") (bg-diff-refine-removed . "#daa2b0") (fg-diff-refine-removed . "#400000") (bg-diff-focus-added . "#bbeabb") (fg-diff-focus-added . "#002c00") (bg-diff-focus-added-deuteran . "#bacfff") (fg-diff-focus-added-deuteran . "#001755") (bg-diff-focus-changed . "#ecdfbf") (fg-diff-focus-changed . "#392900") (bg-diff-focus-removed . "#efcbcf") (fg-diff-focus-removed . "#4a0000") (bg-diff-neutral-0 . "#979797") (fg-diff-neutral-0 . "#040404") (bg-diff-neutral-1 . "#b0b0b0") (fg-diff-neutral-1 . "#252525") (bg-diff-neutral-2 . "#cccccc") (fg-diff-neutral-2 . "#3a3a3a") (bg-mark-sel . "#a0f0cf") (fg-mark-sel . "#005040") (bg-mark-del . "#ffccbb") (fg-mark-del . "#840040") (bg-mark-alt . "#f5d88f") (fg-mark-alt . "#782900")) "The entire palette of `modus-operandi' theme. Each element has the form (NAME . HEX) with the former as a symbol and the latter as a string.") ;;;; Modus Vivendi (define-obsolete-variable-alias 'modus-vivendi-theme-default-colors-alist 'modus-themes-colors-vivendi "1.0.0") (define-obsolete-variable-alias 'modus-themes-colors-vivendi 'modus-themes-vivendi-colors "1.1.0") (defconst modus-themes-vivendi-colors '(;; base values (bg-main . "#000000") (fg-main . "#ffffff") (bg-dim . "#110b11") (fg-dim . "#e0e6f0") (bg-alt . "#181a20") (fg-alt . "#a8a8a8") ;; specifically for on/off states and must be combined with ;; themselves, though the backgrounds are also meant to be used with ;; other "active" values, defined further below (bg-active . "#323232") (fg-active . "#f4f4f4") (bg-inactive . "#1e1e1e") (fg-inactive . "#bfc0c4") ;; these special values are intended as alternatives to the base ;; values for cases where we need to avoid confusion between the ;; highlighted constructs; they must either be used as pairs based ;; on their name or each can be combined with {fg,bg}-{main,alt,dim} ;; always in accordance with their role as background or foreground (bg-special-cold . "#203448") (fg-special-cold . "#c6eaff") (bg-special-mild . "#00322e") (fg-special-mild . "#bfebe0") (bg-special-warm . "#382f27") (fg-special-warm . "#f8dec0") (bg-special-calm . "#392a48") (fg-special-calm . "#fbd6f4") ;; foregrounds that can be combined with bg-main, bg-dim, bg-alt (red . "#ff8059") (red-alt . "#f4923b") (red-alt-other . "#ff9977") (red-faint . "#ffa0a0") (red-alt-faint . "#f5aa80") (red-alt-other-faint . "#ff9fbf") (green . "#44bc44") (green-alt . "#70c900") (green-alt-other . "#00cd68") (green-faint . "#88cf88") (green-alt-faint . "#a8cf88") (green-alt-other-faint . "#88cfaf") (yellow . "#eecc00") (yellow-alt . "#cfdf30") (yellow-alt-other . "#f0ce43") (yellow-faint . "#d2b580") (yellow-alt-faint . "#cabf77") (yellow-alt-other-faint . "#d0ba95") (blue . "#2fafff") (blue-alt . "#79a8ff" ) (blue-alt-other . "#00bcff") (blue-faint . "#92baff") (blue-alt-faint . "#a0acf5") (blue-alt-other-faint . "#87c8ff") (magenta . "#feacd0") (magenta-alt . "#f78fe7") (magenta-alt-other . "#b6a0ff") (magenta-faint . "#e0b2d6") (magenta-alt-faint . "#ef9fe4") (magenta-alt-other-faint . "#cfa6ff") (cyan . "#00d3d0") (cyan-alt . "#4ae8fc") (cyan-alt-other . "#6ae4b9") (cyan-faint . "#90c4ed") (cyan-alt-faint . "#a0bfdf") (cyan-alt-other-faint . "#a4d0bb") ;; these foreground values can only be combined with bg-main and are ;; thus not suitable for general purpose highlighting (red-intense . "#fe6060") (orange-intense . "#fba849") (green-intense . "#4fe42f") (yellow-intense . "#f0dd60") (blue-intense . "#4fafff") (magenta-intense . "#ff62d4") (purple-intense . "#9f80ff") (cyan-intense . "#3fdfd0") ;; those foregrounds are meant exclusively for bg-active, bg-inactive (red-active . "#ffa7ba") (green-active . "#70d73f") (yellow-active . "#dbbe5f") (blue-active . "#34cfff") (magenta-active . "#d5b1ff") (cyan-active . "#00d8b4") ;; the "subtle" values below be combined with fg-dim, while the ;; "intense" should be paired with fg-main (red-subtle-bg . "#762422") (red-intense-bg . "#a4202a") (green-subtle-bg . "#2f4a00") (green-intense-bg . "#006800") (yellow-subtle-bg . "#604200") (yellow-intense-bg . "#874900") (blue-subtle-bg . "#10387c") (blue-intense-bg . "#2a40b8") (magenta-subtle-bg . "#49366e") (magenta-intense-bg . "#7042a2") (cyan-subtle-bg . "#00415e") (cyan-intense-bg . "#005f88") ;; those background values must be combined with fg-main and should ;; only be used for indicators that are placed on the fringes (red-fringe-bg . "#8f1f4b") (green-fringe-bg . "#006700") (yellow-fringe-bg . "#6f4f00") (blue-fringe-bg . "#3f33af") (magenta-fringe-bg . "#6f2f89") (cyan-fringe-bg . "#004f8f") ;; those background values should only be used for graphs or similar ;; applications where colored blocks are expected to be positioned ;; next to each other (red-graph-0-bg . "#af0404") (red-graph-1-bg . "#801f2f") (green-graph-0-bg . "#24ba2f") (green-graph-1-bg . "#0f8f07") (yellow-graph-0-bg . "#ffd03e") (yellow-graph-1-bg . "#d7d800") (blue-graph-0-bg . "#406fff") (blue-graph-1-bg . "#2f50c8") (magenta-graph-0-bg . "#af7bee") (magenta-graph-1-bg . "#7f59cf") (cyan-graph-0-bg . "#47dcfa") (cyan-graph-1-bg . "#0bc0df") ;; the following are for cases where both the foreground and the ;; background need to have a similar hue and so must be combined ;; with themselves, even though the foregrounds can be paired with ;; any of the base backgrounds (red-refine-bg . "#77002a") (red-refine-fg . "#ffb9ab") (green-refine-bg . "#00422a") (green-refine-fg . "#9ff0cf") (yellow-refine-bg . "#693200") (yellow-refine-fg . "#e2d980") (blue-refine-bg . "#242679") (blue-refine-fg . "#8ec6ff") (magenta-refine-bg . "#71206a") (magenta-refine-fg . "#ffcaf0") (cyan-refine-bg . "#004065") (cyan-refine-fg . "#8ae4f2") ;; the "nuanced" backgrounds can be combined with all of the above ;; foregrounds, as well as those included here, while the "nuanced" ;; foregrounds can in turn also be combined with bg-main, bg-dim, ;; bg-alt (red-nuanced-bg . "#2c0614") (red-nuanced-fg . "#ffcccc") (green-nuanced-bg . "#001904") (green-nuanced-fg . "#b8e2b8") (yellow-nuanced-bg . "#221000") (yellow-nuanced-fg . "#dfdfb0") (blue-nuanced-bg . "#0f0e39") (blue-nuanced-fg . "#bfd9ff") (magenta-nuanced-bg . "#230631") (magenta-nuanced-fg . "#e5cfef") (cyan-nuanced-bg . "#041529") (cyan-nuanced-fg . "#a8e5e5") ;; the following are reserved for specific cases ;; ;; bg-hl-line is between bg-dim and bg-alt, so it should ;; work with all accents that cover those two, plus bg-main ;; ;; bg-hl-alt and bg-hl-alt-intense should only be used when no ;; other greyscale or fairly neutral background is available to ;; properly draw attention to a given construct ;; ;; bg-header is between bg-active and bg-inactive, so it ;; can be combined with any of the "active" values, plus the ;; "special" and base foreground colors ;; ;; bg-paren-match, bg-paren-match-intense, bg-region and ;; bg-tab-active must be combined with fg-main, while ;; bg-tab-inactive should be combined with fg-dim, whereas ;; bg-tab-inactive-alt goes together with fg-main ;; ;; bg-tab-bar is only intended for the bar that holds the tabs and ;; can only be combined with fg-main ;; ;; fg-tab-active is meant to be combined with bg-tab-active, ;; though only for styling special elements, such as underlining ;; the current tab ;; ;; fg-escape-char-construct and fg-escape-char-backslash can ;; be combined bg-main, bg-dim, bg-alt ;; ;; fg-lang-error, fg-lang-warning, fg-lang-note can be ;; combined with bg-main, bg-dim, bg-alt ;; ;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined ;; with bg-main, bg-dim, bg-alt, bg-hl-line ;; ;; fg-unfocused must be combined with bg-main ;; ;; fg-docstring, fg-comment-yellow can be combined with ;; bg-main, bg-dim, bg-alt ;; ;; the window divider colors apply to faces with just an fg value ;; ;; all pairs are combinable with themselves (bg-hl-line . "#151823") (bg-hl-line-intense . "#2f2f2f") (bg-hl-alt . "#181732") (bg-hl-alt-intense . "#282e46") (bg-paren-match . "#5f362f") (bg-paren-match-intense . "#7416b5") (bg-region . "#3c3c3c") (bg-tab-bar . "#2c2c2c") (bg-tab-active . "#0e0e0e") (bg-tab-inactive . "#3d3d3d") (bg-tab-inactive-alt . "#595959") (fg-tab-active . "#5ac3cf") (fg-escape-char-construct . "#e7a59a") (fg-escape-char-backslash . "#abab00") (fg-lang-error . "#ef8690") (fg-lang-warning . "#b0aa00") (fg-lang-note . "#9d9def") (fg-lang-underline-error . "#ff4a6f") (fg-lang-underline-warning . "#d0de00") (fg-lang-underline-note . "#5f6fff") (fg-window-divider-inner . "#646464") (fg-window-divider-outer . "#969696") (fg-unfocused . "#93959b") (fg-docstring . "#b0d6f5") (fg-comment-yellow . "#cab98f") (bg-header . "#212121") (fg-header . "#dddddd") (bg-whitespace . "#101424") (fg-whitespace . "#aa9e9f") (bg-diff-heading . "#304466") (fg-diff-heading . "#dae7ff") (bg-diff-added . "#0a280a") (fg-diff-added . "#94ba94") (bg-diff-added-deuteran . "#001a3f") (fg-diff-added-deuteran . "#c4cdf2") (bg-diff-changed . "#2a2000") (fg-diff-changed . "#b0ba9f") (bg-diff-removed . "#40160f") (fg-diff-removed . "#c6adaa") (bg-diff-refine-added . "#005a36") (fg-diff-refine-added . "#e0f6e0") (bg-diff-refine-added-deuteran . "#234f8f") (fg-diff-refine-added-deuteran . "#dde4ff") (bg-diff-refine-changed . "#585800") (fg-diff-refine-changed . "#ffffcc") (bg-diff-refine-removed . "#852828") (fg-diff-refine-removed . "#ffd9eb") (bg-diff-focus-added . "#203d20") (fg-diff-focus-added . "#b4ddb4") (bg-diff-focus-added-deuteran . "#00405f") (fg-diff-focus-added-deuteran . "#bfe4ff") (bg-diff-focus-changed . "#4a3a10") (fg-diff-focus-changed . "#d0daaf") (bg-diff-focus-removed . "#5e2526") (fg-diff-focus-removed . "#eebdba") (bg-diff-neutral-0 . "#575757") (fg-diff-neutral-0 . "#fcfcfc") (bg-diff-neutral-1 . "#454545") (fg-diff-neutral-1 . "#dddddd") (bg-diff-neutral-2 . "#313131") (fg-diff-neutral-2 . "#bfbfbf") (bg-mark-sel . "#002f2f") (fg-mark-sel . "#60cfa2") (bg-mark-del . "#5a0000") (fg-mark-del . "#ff99aa") (bg-mark-alt . "#3f2210") (fg-mark-alt . "#f0aa20")) "The entire palette of `modus-vivendi' theme. Each element has the form (NAME . HEX) with the former as a symbol and the latter as a string.") ;;; Custom faces ;; These faces are used internally to ensure consistency between various ;; groups and to streamline the evaluation of relevant customization ;; options. (defface modus-theme-subtle-red nil "Subtle red background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-green nil "Subtle green background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-yellow nil "Subtle yellow background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-blue nil "Subtle blue background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-magenta nil "Subtle magenta background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-cyan nil "Subtle cyan background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-subtle-neutral nil "Subtle gray background combined with a dimmed foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-red nil "Intense red background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-green nil "Intense green background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-yellow nil "Intense yellow background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-blue nil "Intense blue background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-magenta nil "Intense magenta background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-cyan nil "Intense cyan background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-intense-neutral nil "Intense gray background combined with the main foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-red nil "Combination of accented red background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-green nil "Combination of accented green background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-yellow nil "Combination of accented yellow background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-blue nil "Combination of accented blue background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-magenta nil "Combination of accented magenta background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-refine-cyan nil "Combination of accented cyan background and foreground. This is used for general purpose highlighting, mostly in buffers or for completion interfaces. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-red nil "A red background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-green nil "A green background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-yellow nil "A yellow background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-blue nil "A blue background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-magenta nil "A magenta background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-active-cyan nil "A cyan background meant for use on the modeline or similar. This is combined with the modelines primary foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-red nil "A red background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-green nil "A green background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-yellow nil "A yellow background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-blue nil "A blue background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-magenta nil "A magenta background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-fringe-cyan nil "A cyan background meant for use on the fringe or similar. This is combined with the main foreground value. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-red nil "A nuanced red background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-green nil "A nuanced green background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-yellow nil "A nuanced yellow background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-blue nil "A nuanced blue background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-magenta nil "A nuanced magenta background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-nuanced-cyan nil "A nuanced cyan background. This does not specify a foreground of its own. Instead it is meant to serve as the backdrop for elements such as Org blocks, headings, and any other surface that needs to retain the colors on display. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-special-cold nil "Combines the 'special cold' background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-special-mild nil "Combines the 'special mild' background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-special-warm nil "Combines the 'special warm' background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-special-calm nil "Combines the 'special calm' background and foreground values. This is intended for cases when a neutral gray background is not suitable and where a combination of more saturated colors would not be appropriate. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-added nil "Combines green colors for the 'added' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-changed nil "Combines yellow colors for the 'changed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-removed nil "Combines red colors for the 'removed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-refine-added nil "Combines green colors for word-wise 'added' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-refine-changed nil "Combines yellow colors for word-wise 'changed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-refine-removed nil "Combines red colors for word-wise 'removed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-focus-added nil "Combines green colors for the focused 'added' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-focus-changed nil "Combines yellow colors for the focused 'changed' state in. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-focus-removed nil "Combines red colors for the focused 'removed' state in diffs. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-diff-heading nil "Combines blue colors for the diff hunk heading. The applied colors are contingent on the value assigned to `modus-themes-diffs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-pseudo-header nil "Generic style for some elements that function like headings. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-mark-alt nil "Combines yellow colors for marking special lines This is intended for use in modes such as Dired, Ibuffer, Proced. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-mark-del nil "Combines red colors for marking deletable lines This is intended for use in modes such as Dired, Ibuffer, Proced. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-mark-sel nil "Combines green colors for marking lines This is intended for use in modes such as Dired, Ibuffer, Proced. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-mark-symbol nil "Applies a blue color and other styles for mark indicators. This is intended for use in modes such as Dired, Ibuffer, Proced. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-1 nil "General purpose face for use in headings level 1 The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-2 nil "General purpose face for use in headings level 2. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-3 nil "General purpose face for use in headings level 3. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-4 nil "General purpose face for use in headings level 4. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-5 nil "General purpose face for use in headings level 5. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-6 nil "General purpose face for use in headings level 6. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-7 nil "General purpose face for use in headings level 7. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-heading-8 nil "General purpose face for use in headings level 8. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-headings' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-hl-line nil "General purpose face for the current line. The exact attributes assigned to this face are contingent on the values assigned to the `modus-themes-intense-hl-line' variable. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-bold nil "Generic face for applying a conditional bold weight. This behaves in accordance with `modus-themes-bold-constructs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-slant nil "Generic face for applying a conditional slant (italics). This behaves in accordance with `modus-themes-slanted-constructs'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-variable-pitch nil "Generic face for applying a conditional `variable-pitch'. This behaves in accordance with `modus-themes-no-mixed-fonts', `modus-themes-variable-pitch-headings' for all heading levels, and `modus-themes-variable-pitch-ui'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-red-0 nil "Special subdued red face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-red-1 nil "Special prominent red face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-green-0 nil "Special subdued green face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-green-1 nil "Special prominent green face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-yellow-0 nil "Special subdued yellow face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-yellow-1 nil "Special prominent yellow face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-blue-0 nil "Special subdued blue face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-blue-1 nil "Special prominent blue face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-magenta-0 nil "Special subdued magenta face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-magenta-1 nil "Special prominent magenta face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-cyan-0 nil "Special subdued cyan face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-graph-cyan-1 nil "Special prominent cyan face for use in graphs. This is intended to be applied in contexts such as the Org agenda habit graph where faithfulness to the semantics of a color value is of paramount importance. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-lang-note nil "Generic face for linter or spell checker notes. The exact attributes and color combinations are controlled by `modus-themes-lang-checkers'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-lang-warning nil "Generic face for linter or spell checker warnings. The exact attributes and color combinations are controlled by `modus-themes-lang-checkers'. The actual styling of the face is done by `modus-themes-faces'.") (defface modus-theme-lang-error nil "Generic face for linter or spell checker errors. The exact attributes and color combinations are controlled by `modus-themes-lang-checkers'. The actual styling of the face is done by `modus-themes-faces'.") ;;; Customization options ;;;; Current customization options (>= 1.0.0) (defcustom modus-themes-operandi-color-overrides nil "Override colors in the Modus Operandi palette. For form, see `modus-themes-operandi-colors'." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type '(alist :key-type symbol :value-type color) :link '(info-link "(modus-themes) Override colors (DIY)")) (defcustom modus-themes-vivendi-color-overrides nil "Override colors in the Modus Vivendi palette. For form, see `modus-themes-vivendi-colors'." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type '(alist :key-type symbol :value-type color) :link '(info-link "(modus-themes) Override colors (DIY)")) ;; The byte compiler complains when a defcustom isn't a top level form (let* ((names (mapcar (lambda (pair) (symbol-name (car pair))) modus-themes-operandi-colors)) (colors (mapcar #'intern (sort names #'string<)))) (put 'modus-themes-operandi-color-overrides 'custom-options (copy-sequence colors)) (put 'modus-themes-vivendi-color-overrides 'custom-options (copy-sequence colors))) (defcustom modus-themes-slanted-constructs nil "Use slanted text in more code constructs (italics or oblique)." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Slanted constructs")) (defcustom modus-themes-bold-constructs nil "Use bold text in more code constructs." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Bold constructs")) (defcustom modus-themes-variable-pitch-headings nil "Use proportional fonts (variable-pitch) in headings." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Headings' typeface")) (defcustom modus-themes-variable-pitch-ui nil "Use proportional fonts (variable-pitch) in UI elements. This includes the mode line, header line, tab bar, and tab line." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) UI typeface")) (defcustom modus-themes-no-mixed-fonts nil "Disable inheritance from `fixed-pitch' in some faces. This is done by default to allow spacing-sensitive constructs, such as Org tables and code blocks, to remain monospaced when users opt for something like the command `variable-pitch-mode'. The downside with the default is that users need to explicitly configure the font family of `fixed-pitch' in order to get a consistent experience. That may be something they do not want to do. Hence this option to disable any kind of technique for mixing fonts." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) No mixed fonts")) (defcustom modus-themes-headings '((t . nil)) "Alist of styles for headings, with optional value per level. To control faces per level from 1-8, use something like this: (setq modus-themes-headings '((1 . highlight) (2 . line) (t . rainbow-line-no-bold))) To set a uniform value for all heading levels, use this pattern: (setq modus-themes-headings '((t . rainbow-line-no-bold))) The default uses a fairly desaturated foreground value in combination with a bold typographic weight. To specify this style for a given level N (assuming you wish to have another fallback option), just specify the value t like this: (setq modus-themes-headings '((1 . t) (2 . line) (t . rainbow-line-no-bold))) A description of all possible values: + `no-bold' retains the default text color while removing the typographic weight. + `line' is the same as the default plus an overline over the heading. + `line-no-bold' is the same as `line' without bold weight. + `rainbow' uses a more colorful foreground in combination with bold weight. + `rainbow-line' is the same as `rainbow' plus an overline. + `rainbow-line-no-bold' is the same as `rainbow-line' without the bold weight. + `highlight' retains the default style of a fairly desaturated foreground combined with a bold weight and add to it a subtle accented background. + `highlight-no-bold' is the same as `highlight' without a bold weight. + `rainbow-highlight' is the same as `highlight' but with a more colorful foreground. + `rainbow-highlight-no-bold' is the same as `rainbow-highlight' without a bold weight. + `section' retains the default looks and adds to them both an overline and a slightly accented background. It is, in effect, a combination of the `line' and `highlight' values. + `section-no-bold' is the same as `section' without a bold weight. + `rainbow-section' is the same as `section' but with a more colorful foreground. + `rainbow-section-no-bold' is the same as `rainbow-section' without a bold weight. + `no-color' does not apply any color to the heading, meaning that it uses the foreground of the `default' face. It still renders the text with a bold typographic weight. + `no-color-no-bold' is like `no-color' but without the bold weight." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type '(alist :key-type symbol :value-type (choice (const :tag "Fairly desaturated foreground with bold weight (default)" t) (const :tag "Like the default without bold weight" no-bold) (const :tag "Like the default plus overline" line) (const :tag "Like `line' without bold weight" line-no-bold) (const :tag "Like the default but with more colorful foreground" rainbow) (const :tag "Like `rainbow' plus overline" rainbow-line) (const :tag "Like `rainbow' without bold weight" rainbow-no-bold) (const :tag "Like `rainbow-line' without bold weight" rainbow-line-no-bold) (const :tag "Like the default plus subtle background" highlight) (const :tag "Like `highlight' without bold weight" highlight-no-bold) (const :tag "Like `highlight' with more colorful foreground" rainbow-highlight) (const :tag "Like `rainbow-highlight' without bold weight" rainbow-highlight-no-bold) (const :tag "Like `highlight' plus overline" section) (const :tag "Like `section' without bold weight" section-no-bold) (const :tag "Like `section' with more colorful foreground" rainbow-section) (const :tag "Like `rainbow-section' without bold weight" rainbow-section-no-bold) (const :tag "Do not use any distinct foreground color; just bold weight" no-color) (const :tag "Like `no-bold' but without the distinct foreground color" no-color-no-bold))) :link '(info-link "(modus-themes) Heading styles")) (defcustom modus-themes-scale-headings nil "Use font scaling for headings. For regular headings the scale is controlled by the variables `modus-themes-scale-1' (smallest) and its variants all the way up to `modus-themes-scale-4' (larger). While `modus-themes-scale-5' is reserved for special headings that must be the largest on the scale. A special heading is, in this context, one that does not fit into the syntax for heading levels that apply to the given mode. For example, Org's #+title keyword lies outside the normal eight levels of headings. Whereas, say, Markdown does not have such a special heading." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Scaled headings")) (defcustom modus-themes-scale-1 1.05 "Font size that is slightly larger than the base value. This size is used for level 4 headings, such as in Org and Markdown files. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-scale-2 1.1 "Font size slightly larger than `modus-themes-scale-1'. This size is used for level 3 headings, such as in Org and Markdown files. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-scale-3 1.15 "Font size slightly larger than `modus-themes-scale-2'. This size is used for level 2 headings, such as in Org and Markdown files. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-scale-4 1.2 "Font size slightly larger than `modus-themes-scale-3'. This size is used for level 1 headings, such as in Org and Markdown files. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-scale-5 1.3 "Font size slightly larger than `modus-themes-scale-4'. This size is only used for 'special' top level headings, such as Org's file title heading, denoted by the #+title key word, and the Org agenda structure headers. The default value is a floating point that is interpreted as a multiple of the base font size. It is recommended to use such a value. However, the variable also accepts an integer, understood as an absolute height that is 1/10 of the typeface's point size (e.g. a value of 140 is the same as setting the font at 14 point size). This will ignore the base font size and, thus, will not scale in accordance with it in cases where it changes, such as while using `text-scale-adjust'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'number :link '(info-link "(modus-themes) Scaled heading sizes")) (defcustom modus-themes-fringes nil "Define the visibility of fringes. Nil means the fringes have no background color. Option `subtle' will apply a greyscale value that is visible yet close to the main buffer background color. Option `intense' will use a more pronounced greyscale value." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "No visible fringes (default)" nil) (const :tag "Subtle greyscale background" subtle) (const :tag "Intense greyscale background" intense)) :link '(info-link "(modus-themes) Fringes")) (defcustom modus-themes-lang-checkers nil "Control the style of spelling and code checkers/linters. Nil (the default) applies a color-coded underline to the affected text, while it leaves the original foreground in tact. If the display spec of Emacs has support for it, the underline's style is that of a wave, otherwise it is a straight line. Options `subtle-foreground' and `intense-foreground' add a color-coded underline while also changing the text's foreground accordingly. The style of the underline is the same as with the default option. Option `straight-underline' is like the default but always applies a straight line under the affected text. Same principle for `subtle-foreground-straight-underline' and its counterpart `intense-foreground-straight-underline'. Option `colored-background' uses a straight underline, a background, and a foreground. All are color-coded. This is the most intense combination of face properties." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type '(choice (const :tag "Only color-coded wavy underline (default)" nil) (const :tag "Like the default, but with a straight underline" straight-underline) (const :tag "Color-coded wavy underline; subtle foreground" subtle-foreground) (const :tag "Combines `straight-underline' and `subtle-foreground'" subtle-foreground-straight-underline) (const :tag "Color-coded wavy underline; intense foreground" intense-foreground) (const :tag "Combines `straight-underline' and `intense-foreground'" intense-foreground-straight-underline) (const :tag "Color-coded background, foreground, straight underline" colored-background)) :link '(info-link "(modus-themes) Language checkers")) (defcustom modus-themes-org-blocks nil "Use a subtle gray or color-coded background for Org blocks. Nil means that the block will have no background of its own and will use the default that applies to the rest of the buffer. Option `grayscale' (or `greyscale') will apply a subtle neutral gray background to the block's contents. It also affects the begin and end lines of the block: their background will be extended to the edge of the window for Emacs version >= 27 where the ':extend' keyword is recognized by `set-face-attribute'. Option `rainbow' will use an accented background for the contents of the block. The exact color will depend on the programming language and is controlled by the `org-src-block-faces' variable (refer to the theme's source code for the current association list)." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "No Org block background (default)" nil) (const :tag "Subtle gray block background" grayscale) (const :tag "Subtle gray block background (alt spelling)" greyscale) (const :tag "Color-coded background per programming language" rainbow)) :link '(info-link "(modus-themes) Org mode blocks")) (defcustom modus-themes-org-habit nil "Control the presentation of the `org-habit' graph. The default is meant to conform with the original aesthetic of `org-habit'. It employs all four color codes that correspond to the org-habit states---clear, ready, alert, and overdue---while distinguishing between their present and future variants. This results in a total of eight colors in use: red, yellow, green, blue, in tinted and shaded versions. They cover the full set of information provided by the `org-habit' consistency graph. Option `simplified' is like the default except that it removes the dichotomy between current and future variants by applying uniform color-coded values. It applies a total of four colors: red, yellow, green, blue. They produce a simplified consistency graph that is more legible (or less \"busy\") than the default. The intent is to shift focus towards the distinction between the four states of a habit task, rather than each state's present/future outlook. Option `traffic-light' further reduces the available colors to red, yellow, and green. As in `simplified', present and future variants appear uniformly, but differently from it, the 'clear' state is rendered in a green hue, instead of the original blue. This is meant to capture the use-case where a habit task being \"too early\" is less important than it being \"too late\". The difference between ready and clear states is attenuated by painting both of them using shades of green. This option thus highlights the alert and overdue states." :group 'modus-themes :package-version '(modus-themes . "1.1.0") :version "28.1" :type '(choice (const :tag "Respect the original design of org-habit (default)" nil) (const :tag "Like the default, but do not distinguish between present and future variants" simplified) (const :tag "Like `simplified', but only use red, yellow, green" traffic-light)) :link '(info-link "(modus-themes) Org agenda habits")) (defcustom modus-themes-mode-line nil "Adjust the overall style of the mode line. Nil is a two-dimensional rectangle with a border around it. The active and the inactive modelines use different shades of greyscale values for the background and foreground. A `3d' value will apply a three-dimensional effect to the active modeline. The inactive modelines remain two-dimensional and are toned down a bit, relative to the nil value. The `moody' option is meant to optimize the modeline for use with the library of the same name. This practically means to remove the box effect and rely on underline and overline properties instead. It also tones down the inactive modelines. Despite its intended purpose, this option can also be used without the `moody' library. The `borderless' option uses the same colors as the default (nil value), but removes the border effect. This is done by making the box property use the same color as the background, effectively blending the two and creating some padding. The `borderless-3d' and `borderless-moody' approximate the `3d' and `moody' options respectively, while removing the borders. However, to ensure that the inactive modelines remain visible, they apply a slightly more prominent background to them than what their counterparts do (same inactive background as with the default)." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "Two-dimensional box (default)" nil) (const :tag "Three-dimensional style for the active mode line" 3d) (const :tag "No box effects, which are optimal for use with the `moody' library" moody) (const :tag "Like the default, but without border effects" borderless) (const :tag "Like `3d', but without noticeable border" borderless-3d) (const :tag "Like `moody', but without noticeable border" borderless-moody)) :link '(info-link "(modus-themes) Mode line")) (defcustom modus-themes-diffs nil "Adjust the overall styles of diffs. Nil means to use fairly intense color combinations for diffs. For example, you get a rich green background with a green foreground for added lines. Word-wise or 'refined' diffs follow the same pattern but use different shades of those colors to remain distinct. A `desaturated' value follows the same principles as with the nil option, while it tones down all relevant colors. Option `fg-only' will remove all accented backgrounds, except from word-wise changes. It instead uses color-coded foreground values to differentiate between added/removed/changed lines. If a background is necessary, such as with `ediff', then a subtle greyscale value is used. Option `bg-only' applies a background but does not override the text's foreground. This makes it suitable for a non-nil value passed to `diff-font-lock-syntax' (note: Magit does not support syntax highlighting in diffs as of 2020-11-25, version 20201116.1057). Option `deuteranopia' accounts for red-green color defficiency by replacing all instances of green with colors on the blue side of the spectrum. Other stylistic changes are made in the interest of optimizing for such a use-case." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type '(choice (const :tag "Intensely colored backgrounds (default)" nil) (const :tag "Slightly accented backgrounds with tinted text" desaturated) (const :tag "No backgrounds, except for refined diffs" fg-only) (const :tag "Apply color-coded backgrounds; keep syntax colors in tact" bg-only) (const :tag "Optimized for red-green color defficiency" deuteranopia)) :link '(info-link "(modus-themes) Diffs")) (defcustom modus-themes-completions nil "Apply special styles to the UI of completion frameworks. This concerns Icomplete, Ivy, Helm, Selectrum, Ido, as well as any other tool meant to enhance their experience. The effect will vary depending on the completion framework. Nil means to remain faithful to the metaphors that each UI establishes. For example, Icomplete and Ido only use foreground colors to style their matches, whereas Ivy or Helm rely on an aesthetic that combines colored backgrounds with appropriate text color. Option `moderate' will apply a combination of background and foreground that is fairly subtle. For Icomplete and the like, this constitutes a departure from their standard style. While Ivy, Helm, and the others, will use less pronounced colors for applicable contexts. Option `opinionated' will apply color combinations that refashion the completion UI. So Icomplete et al will now use styles that resemble the defaults of Ivy and co., while the latter group will revert to an even more nuanced aesthetic." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "Respect the framework's established aesthetic (default)" nil) (const :tag "Subtle backgrounds for various elements" moderate) (const :tag "Radical alternative to the framework's looks" opinionated)) :link '(info-link "(modus-themes) Completion UIs")) (defcustom modus-themes-prompts nil "Use subtle or intense styles for minibuffer and REPL prompts. Nil means to only use an accented foreground color. Options `subtle-accented' and `intense-accented' will change both the background and the foreground values to use accented color combinations that follow the hue of the default styles' foreground (e.g. the default minibuffer prompt is cyan text, so these combinations will involved a cyan background and an appropriate cyan foreground). Options `subtle-gray' and `intense-gray' are like their `subtle-accented' and `intense-accented' counterparts, except they use grayscale values instead of accented ones." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice ;; `subtle' is the same as `subtle-accented', while `intense' is ;; equal to `intense-accented' for backward compatibility (const :tag "No prompt background (default)" nil) (const :tag "Subtle accented background for the prompt" subtle-accented) (const :tag "Same as `subtle-accented' for compatibility with older versions" subtle) (const :tag "Intense accented background and foreground for the prompt" intense-accented) (const :tag "Same as `intense-accented' for compatibility with older versions" intense) (const :tag "Like `subtle-accented' but grayscale" subtle-gray) (const :tag "Like `intense-accented' but grayscale" intense-gray)) :link '(info-link "(modus-themes) Command prompts")) (defcustom modus-themes-intense-hl-line nil "Use a more prominent background for command `hl-line-mode'." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Line highlighting")) (defcustom modus-themes-subtle-line-numbers nil "Use more subtle style for command `display-line-numbers-mode'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type 'boolean :link '(info-link "(modus-themes) Line numbers")) (defcustom modus-themes-paren-match nil "Choose the style of matching parentheses or delimiters. Nil means to use a subtle tinted background color (the default). Option `intense' applies a saturated background color. Option `subtle-bold' is the same as the default, but also makes use of bold typographic weight (inherits the `bold' face). Option `intense-bold' is the same as `intense', while it also uses a bold weight." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "Sublte tinted background (default)" nil) (const :tag "Like the default, but also use bold typographic weight" subtle-bold) (const :tag "Intense saturated background" intense) (const :tag "Like `intense' but with bold weight" intense-bold)) :link '(info-link "(modus-themes) Matching parentheses")) (defcustom modus-themes-syntax nil "Control the overall style of code syntax highlighting. Nil (the default) means to use colors on the cyan-blue-magenta side of the spectrum. There is little to no use of greens, yellows, and reds. Option `faint' is like the default in terms of the choice of palette but applies desaturated color values. Option `yellow-comments' applies a yellow tint to comments. The rest of the syntax is the same as the default. Option `green-strings' replaces the blue/cyan/cold color variants in strings with greener alternatives. The rest of the syntax remains the same. Option `yellow-comments-green-strings' combines yellow comments with green strings and the rest of the default syntax highlighting style. Option `alt-syntax' expands the color palette and applies new color combinations. Strings are green. Doc strings are magenta tinted. Comments are gray. Option `alt-syntax-yellow-comments' combines `alt-syntax' with `yellow-comments'. Option `faint-yellow-comments' combines the `faint' style with `yellow-comments'." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type '(choice (const :tag "Balanced use of blue, cyan, magenta, purple variants (default)" nil) (const :tag "Like the default, but with desaturated color values" faint) (const :tag "Apply yellow tint to comments, keep the default style for the rest" yellow-comments) (const :tag "Use green for strings, keep the default style for the rest" green-strings) (const :tag "Use green for strings, yellow for comments, keep the default style for the rest" yellow-comments-green-strings) (const :tag "Refashion syntax highlighting with more colors, gray comments" alt-syntax) (const :tag "Like `alt-syntax' but with yellow comments" alt-syntax-yellow-comments) (const :tag "Like `faint' but with yellow comments" faint-yellow-comments)) :link '(info-link "(modus-themes) Syntax styles")) (defcustom modus-themes-links nil "Set the style of links. Nil means to use an underline that is the same color as the foreground. Option `faint' applies desaturated colors to the link's text and underline. Option `neutral-underline' applies a subtle grey underline, while retaining the link's foreground. Option `faint-neutral-underline' combines a desaturated text color with a subtle grey underline. Option `no-underline' removes link underlines altogether, while retaining their original fairly vivid color. Option `underline-only' applies an underline while making the affected text colorless (it uses the same foreground as the theme's default). Option `neutral-underline-only' makes the text colorless while using a subtle underline below it." :group 'modus-themes :package-version '(modus-themes . "1.2.0") :version "28.1" :type '(choice (const :tag "Undeline link using the same color as the text (default)" nil) (const :tag "Like the default, but apply less intense colors to links" faint) (const :tag "Change the color of link underlines to a neutral grey" neutral-underline) (const :tag "Desaturated foreground with neutral grey underline" faint-neutral-underline) (const :tag "Remove underline property from links, keeping their foreground as-is" no-underline) (const :tag "Apply underline only; use default foreground" underline-only) (const :tag "Like `underline-only' but with a subtle underline" neutral-underline-only)) :link '(info-link "(modus-themes) Link styles")) (defcustom modus-themes-region nil "Change the overall appearance of the active region. Nil (the default) means to only use a prominent gray background with a neutral foreground. The foreground overrides all syntax highlighting. The region extends to the edge of the window. Option `no-extend' preserves the default aesthetic but prevents the region from extending to the edge of the window. Option `bg-only' applies a faint tinted background that is distinct from all others used in the theme, while it does not override any existing colors. It extends to the edge of the window. Option `bg-only-no-extend' is a combination of the `bg-only' and `no-extend' options." :group 'modus-themes :package-version '(modus-themes . "1.0.0") :version "28.1" :type '(choice (const :tag "Intense background; overrides colors; extends to edge of window (default)" nil) (const :tag "As with the default, but does not extend" no-extend) (const :tag "Subtle background; preserves colors; extends to edge of window" bg-only) (const :tag "As with the `subtle' option, but does not extend" bg-only-no-extend)) :link '(info-link "(modus-themes) Active region")) ;;;; Deprecated customization options (prior to 1.0.0) ;;;;; Modus Operandi obsolete options (make-obsolete 'modus-operandi-theme-override-colors-alist nil "1.0.0") (make-obsolete 'modus-operandi-theme-slanted-constructs 'modus-themes-slanted-constructs "1.0.0") (make-obsolete 'modus-operandi-theme-bold-constructs 'modus-themes-bold-constructs "1.0.0") (make-obsolete 'modus-operandi-theme-proportional-fonts 'modus-themes-variable-pitch-headings "1.0.0") (make-obsolete 'modus-operandi-theme-variable-pitch-headings 'modus-themes-variable-pitch-headings "1.0.0") (make-obsolete 'modus-operandi-theme-no-mixed-fonts 'modus-themes-no-mixed-fonts "1.0.0") (make-obsolete 'modus-operandi-theme-rainbow-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-operandi-theme-section-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-operandi-theme-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-operandi-theme-scale-headings 'modus-themes-scale-headings "1.0.0") (make-obsolete 'modus-operandi-theme-scale-1 'modus-themes-scale-1 "1.0.0") (make-obsolete 'modus-operandi-theme-scale-2 'modus-themes-scale-2 "1.0.0") (make-obsolete 'modus-operandi-theme-scale-3 'modus-themes-scale-3 "1.0.0") (make-obsolete 'modus-operandi-theme-scale-4 'modus-themes-scale-4 "1.0.0") (make-obsolete 'modus-operandi-theme-scale-5 'modus-themes-scale-5 "1.0.0") (make-obsolete 'modus-operandi-theme-visible-fringes 'modus-themes-fringes "1.0.0") (make-obsolete 'modus-operandi-theme-fringes 'modus-themes-fringes "1.0.0") (make-obsolete 'modus-operandi-theme-distinct-org-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-operandi-theme-rainbow-org-src-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-operandi-theme-org-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-operandi-theme-3d-modeline 'modus-themes-mode-line "1.0.0") (make-obsolete 'modus-operandi-theme-mode-line 'modus-themes-mode-line "1.0.0") (make-obsolete 'modus-operandi-theme-subtle-diffs 'modus-themes-diffs "1.0.0") (make-obsolete 'modus-operandi-theme-diffs 'modus-themes-diffs "1.0.0") (make-obsolete 'modus-operandi-theme-intense-standard-completions 'modus-themes-completions "1.0.0") (make-obsolete 'modus-operandi-theme-completions 'modus-themes-completions "1.0.0") (make-obsolete 'modus-operandi-theme-prompts 'modus-themes-prompts "1.0.0") (make-obsolete 'modus-operandi-theme-intense-hl-line 'modus-themes-intense-hl-line "1.0.0") (make-obsolete 'modus-operandi-theme-intense-paren-match 'modus-themes-paren-match "1.0.0") (make-obsolete 'modus-operandi-theme-faint-syntax 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-operandi-theme-comments 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-operandi-theme-syntax 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-operandi-theme-no-link-underline 'modus-themes-links "1.0.0") (make-obsolete 'modus-operandi-theme-links 'modus-themes-links "1.0.0") ;;;;; Modus Vivendi obsolete options (make-obsolete 'modus-vivendi-theme-override-colors-alist nil "1.0.0") (make-obsolete 'modus-vivendi-theme-slanted-constructs 'modus-themes-slanted-constructs "1.0.0") (make-obsolete 'modus-vivendi-theme-bold-constructs 'modus-themes-bold-constructs "1.0.0") (make-obsolete 'modus-vivendi-theme-proportional-fonts 'modus-themes-variable-pitch-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-variable-pitch-headings 'modus-themes-variable-pitch-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-no-mixed-fonts 'modus-themes-no-mixed-fonts "1.0.0") (make-obsolete 'modus-vivendi-theme-rainbow-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-section-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-headings 'modus-themes-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-headings 'modus-themes-scale-headings "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-1 'modus-themes-scale-1 "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-2 'modus-themes-scale-2 "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-3 'modus-themes-scale-3 "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-4 'modus-themes-scale-4 "1.0.0") (make-obsolete 'modus-vivendi-theme-scale-5 'modus-themes-scale-5 "1.0.0") (make-obsolete 'modus-vivendi-theme-visible-fringes 'modus-themes-fringes "1.0.0") (make-obsolete 'modus-vivendi-theme-fringes 'modus-themes-fringes "1.0.0") (make-obsolete 'modus-vivendi-theme-distinct-org-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-vivendi-theme-rainbow-org-src-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-vivendi-theme-org-blocks 'modus-themes-org-blocks "1.0.0") (make-obsolete 'modus-vivendi-theme-3d-modeline 'modus-themes-mode-line "1.0.0") (make-obsolete 'modus-vivendi-theme-mode-line 'modus-themes-mode-line "1.0.0") (make-obsolete 'modus-vivendi-theme-subtle-diffs 'modus-themes-diffs "1.0.0") (make-obsolete 'modus-vivendi-theme-diffs 'modus-themes-diffs "1.0.0") (make-obsolete 'modus-vivendi-theme-intense-standard-completions 'modus-themes-completions "1.0.0") (make-obsolete 'modus-vivendi-theme-completions 'modus-themes-completions "1.0.0") (make-obsolete 'modus-vivendi-theme-prompts 'modus-themes-prompts "1.0.0") (make-obsolete 'modus-vivendi-theme-intense-hl-line 'modus-themes-intense-hl-line "1.0.0") (make-obsolete 'modus-vivendi-theme-intense-paren-match 'modus-themes-paren-match "1.0.0") (make-obsolete 'modus-vivendi-theme-faint-syntax 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-vivendi-theme-comments 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-vivendi-theme-syntax 'modus-themes-syntax "1.0.0") (make-obsolete 'modus-vivendi-theme-no-link-underline 'modus-themes-links "1.0.0") (make-obsolete 'modus-vivendi-theme-links 'modus-themes-links "1.0.0") ;;; Internal functions (defun modus-themes--palette (theme) "Return color palette for Modus theme THEME. THEME is a symbol, either `modus-operandi' or `modus-vivendi'." (pcase theme ('modus-operandi (append modus-themes-operandi-color-overrides modus-themes-operandi-colors)) ('modus-vivendi (append modus-themes-vivendi-color-overrides modus-themes-vivendi-colors)) (_theme (error "'%s' is not a Modus theme" theme)))) (defvar modus-themes-faces) (defvar modus-themes-custom-variables) (defmacro modus-themes-theme (name) "Bind NAME's color palette around face specs and variables. NAME should be the proper name of a Modus theme, either `modus-operandi' or `modus-vivendi'. Face specifications are passed to `custom-theme-set-faces'. While variables are handled by `custom-theme-set-variables'. Those are stored in `modus-themes-faces' and `modus-themes-custom-variables' respectively." (declare (indent 0)) (let ((palette-sym (gensym)) (colors (mapcar #'car modus-themes-operandi-colors))) `(let* ((class '((class color) (min-colors 89))) (,palette-sym (modus-themes--palette ',name)) ,@(mapcar (lambda (color) (list color `(alist-get ',color ,palette-sym))) colors)) (custom-theme-set-faces ',name ,@modus-themes-faces) (custom-theme-set-variables ',name ,@modus-themes-custom-variables)))) (defun modus-themes--current-theme () "Return current theme." (car custom-enabled-themes)) ;; Helper functions that are meant to ease the implementation of the ;; above customization options. (defun modus-themes--bold-weight () "Conditional use of a heavier text weight." (when modus-themes-bold-constructs (list :inherit 'bold))) (defun modus-themes--mixed-fonts () "Conditional application of `fixed-pitch' inheritance." (unless modus-themes-no-mixed-fonts (list :inherit 'fixed-pitch))) (defun modus-themes--slant () "Conditional use of italics for slant attribute." (if modus-themes-slanted-constructs (list 'italic) (list 'normal))) (defun modus-themes--variable-pitch () "Conditional use of `variable-pitch' in headings." (when modus-themes-variable-pitch-headings (list :inherit 'variable-pitch))) (defun modus-themes--variable-pitch-ui () "Conditional use of `variable-pitch' in UI elements." (when modus-themes-variable-pitch-ui (list :inherit 'variable-pitch))) (defun modus-themes--fringe (mainbg subtlebg intensebg) "Conditional use of background colors for fringes. MAINBG is the default. SUBTLEBG should be a subtle greyscale value. INTENSEBG must be a more pronounced greyscale color." (pcase modus-themes-fringes ('intense (list :background intensebg)) ('subtle (list :background subtlebg)) (_ (list :background mainbg)))) (defun modus-themes--line-numbers (mainfg mainbg altfg &optional altbg) "Conditional use of colors for line numbers. MAINBG and MAINFG are the default colors. ALTFG is a color that combines with the theme's primary background (white/black)." (if modus-themes-subtle-line-numbers (list :background (or altbg 'unspecified) :foreground altfg) (list :background mainbg :foreground mainfg))) (defun modus-themes--lang-check (underline subtlefg intensefg bg) "Conditional use of foreground colors for language checkers. UNDERLINE is a color-code value for the affected text's underline property. SUBTLEFG and INTENSEFG follow the same color-coding pattern and represent a value that is faint or vibrant respectively. BG is a color-coded background." (pcase modus-themes-lang-checkers ('colored-background (list :underline underline :background bg :foreground intensefg)) ('intense-foreground (list :underline (list :color underline :style 'wave) :foreground intensefg)) ('intense-foreground-straight-underline (list :underline underline :foreground intensefg)) ('subtle-foreground (list :underline (list :color underline :style 'wave) :foreground subtlefg)) ('subtle-foreground-straight-underline (list :underline underline :foreground subtlefg)) ('straight-underline (list :underline underline)) (_ (list :underline (list :color underline :style 'wave))))) (defun modus-themes--prompt (mainfg subtlebg subtlefg intensebg intensefg) "Conditional use of background colors for prompts. MAINFG is the prompt's standard foreground. SUBTLEBG should be a subtle accented background that works with SUBTLEFG. INTENSEBG must be a more pronounced accented color that should be combinable with INTENSEFG." (pcase modus-themes-prompts ;; `subtle' is the same as `subtle-accented', while `intense' is ;; equal to `intense-accented' for backward compatibility ('intense-accented (list :background intensebg :foreground intensefg)) ('intense (list :background intensebg :foreground intensefg)) ('subtle-accented (list :background subtlebg :foreground subtlefg)) ('subtle (list :background subtlebg :foreground subtlefg)) ('subtle-gray (list :inherit 'modus-theme-subtle-neutral)) ('intense-gray (list :inherit 'modus-theme-intense-neutral)) (_ (list :background nil :foreground mainfg)))) (defun modus-themes--paren (normalbg intensebg) "Conditional use of intense colors for matching parentheses. NORMALBG should be the special palette color 'bg-paren-match' or something similar. INTENSEBG must be easier to discern next to other backgrounds, such as the special palette color 'bg-paren-match-intense'." (pcase modus-themes-paren-match ('subtle-bold (list :inherit 'bold :background normalbg)) ('intense-bold (list :inherit 'bold :background intensebg)) ('intense (list :background intensebg)) (_ (list :background normalbg)))) (defun modus-themes--syntax-foreground (fg faint) "Apply foreground value to code syntax. FG is the default. FAINT is typically the same color in its desaturated version." (pcase modus-themes-syntax ('faint (list :foreground faint)) ('faint-yellow-comments (list :foreground faint)) (_ (list :foreground fg)))) (defun modus-themes--syntax-extra (fg faint alt) "Apply foreground value to code syntax. FG is the default. FAINT is typically the same color in its desaturated version. ALT is another hue." (pcase modus-themes-syntax ('faint (list :foreground faint)) ('faint-yellow-comments (list :foreground faint)) ('alt-syntax (list :foreground alt)) ('alt-syntax-yellow-comments (list :foreground alt)) (_ (list :foreground fg)))) (defun modus-themes--syntax-string (fg faint green alt) "Apply foreground value to strings in code syntax. FG is the default. FAINT is typically the same color in its desaturated version. GREEN is a color variant in that side of the spectrum. ALT is another hue." (pcase modus-themes-syntax ('faint (list :foreground faint)) ('faint-yellow-comments (list :foreground faint)) ('green-strings (list :foreground green)) ('yellow-comments-green-strings (list :foreground alt)) ('alt-syntax (list :foreground alt)) ('alt-syntax-yellow-comments (list :foreground alt)) (_ (list :foreground fg)))) (defun modus-themes--syntax-docstring (fg faint green alt) "Apply foreground value to strings in code syntax. FG is the default. FAINT is typically the same color in its desaturated version. GREEN is a color variant in that side of the spectrum. ALT is another hue." (pcase modus-themes-syntax ('faint (list :foreground faint)) ('faint-yellow-comments (list :foreground faint)) ('green-strings (list :foreground green)) ('yellow-comments-green-strings (list :foreground green)) ('alt-syntax (list :foreground alt)) ('alt-syntax-yellow-comments (list :foreground alt)) (_ (list :foreground fg)))) (defun modus-themes--syntax-comment (fg yellow) "Apply foreground value to strings in code syntax. FG is the default. YELLOW is a color variant of that name." (pcase modus-themes-syntax ('yellow-comments (list :foreground yellow)) ('yellow-comments-green-strings (list :foreground yellow)) ('alt-syntax-yellow-comments (list :foreground yellow)) ('faint-yellow-comments (list :foreground yellow)) (_ (list :foreground fg)))) (defun modus-themes--heading-p (key) "Query style of KEY in `modus-themes-headings'." (cdr (assoc key modus-themes-headings))) (defun modus-themes--heading (level fg fg-alt bg border) "Conditional styles for `modus-themes-headings'. LEVEL is the heading's position in their order. FG is the default text color. FG-ALT is an accented, more saturated value than the default. BG is a nuanced, typically accented, background that can work well with either of the foreground values. BORDER is a color value that combines well with the background and alternative foreground." (let* ((key (modus-themes--heading-p `,level)) (style (or key (modus-themes--heading-p t))) (var (when modus-themes-variable-pitch-headings 'variable-pitch)) (varbold (if var (append (list 'bold) (list var)) 'bold))) (pcase style ('no-bold (list :inherit `,var :foreground fg)) ('no-color (list :inherit `,varbold)) ('no-color-no-bold (list :inherit `,var)) ('line (list :inherit `,varbold :foreground fg :overline border)) ('line-no-bold (list :inherit `,var :foreground fg :overline border)) ('rainbow (list :inherit `,varbold :foreground fg-alt)) ('rainbow-no-bold (list :inherit `,var :foreground fg-alt)) ('rainbow-line (list :inherit `,varbold :foreground fg-alt :overline border)) ('rainbow-line-no-bold (list :inherit `,var :foreground fg-alt :overline border)) ('highlight (list :inherit `,varbold :background bg :foreground fg)) ('highlight-no-bold (list :inherit `,var :background bg :foreground fg)) ('rainbow-highlight (list :inherit `,varbold :background bg :foreground fg-alt)) ('rainbow-highlight-no-bold (list :inherit `,var :background bg :foreground fg-alt)) ('section (list :inherit `,varbold :background bg :foreground fg :overline border :extend t)) ('section-no-bold (list :inherit `,var :background bg :foreground fg :overline border :extend t)) ('rainbow-section (list :inherit `,varbold :background bg :foreground fg-alt :overline border :extend t)) ('rainbow-section-no-bold (list :inherit `,var :background bg :foreground fg-alt :overline border :extend t)) (_ (list :inherit `,varbold :foreground fg))))) (defun modus-themes--org-block (bgblk) "Conditionally set the background of Org blocks. BGBLK applies to a distinct neutral background. Else blocks have no background of their own (the default), so they look the same as the rest of the buffer. `modus-themes-org-blocks' also accepts a `rainbow' option which is applied conditionally to `org-src-block-faces' (see the theme's source code)." (if (or (eq modus-themes-org-blocks 'grayscale) (eq modus-themes-org-blocks 'greyscale)) (list :background bgblk :extend t) (list :background 'unspecified))) (defun modus-themes--org-block-delim (bgaccent fgaccent bg fg) "Conditionally set the styles of Org block delimiters. BG, FG, BGACCENT, FGACCENT apply a background and foreground color respectively. The former pair is a greyscale combination that should be more distinct than the background of the block. It is applied to the default styles or when `modus-themes-org-blocks' is set to `greyscale'. The latter pair should be more subtle than the background of the block, as it is used when `modus-themes-org-blocks' is set to `rainbow'." (pcase modus-themes-org-blocks ('grayscale (list :background bg :foreground fg :extend t)) ('greyscale (list :background bg :foreground fg :extend t)) ('rainbow (list :background bgaccent :foreground fgaccent)) (_ (list :background bg :foreground fg)))) (defun modus-themes--org-habit (default &optional traffic simple) "Specify background values for `modus-themes-org-habit'. If no optional TRAFFIC argument is supplied, the DEFAULT is used instead. Same for SIMPLE." (pcase modus-themes-org-habit ('traffic-light (list :background (or traffic default))) ('simplified (list :background (or simple default))) (_ (list :background default)))) (defun modus-themes--mode-line-attrs (fg bg fg-alt bg-alt border border-3d &optional alt-style border-width fg-distant) "Color combinations for `modus-themes-mode-line'. FG and BG are the default colors. FG-ALT and BG-ALT are meant to accommodate the options for a 3D modeline or a `moody' compliant one. BORDER applies to all permutations of the modeline, except the three-dimensional effect, where BORDER-3D is used instead. Optional ALT-STYLE applies an appropriate style to the mode line's box property. Optional BORDER-WIDTH specifies an integer for the width of the rectangle that produces the box effect. Optional FG-DISTANT should be close to the main background values. It is intended to be used as a distant-foreground property." (pcase modus-themes-mode-line ('3d `(:background ,bg-alt :foreground ,fg-alt :box (:line-width ,(or border-width 1) :color ,border-3d :style ,(and alt-style 'released-button)))) ('moody `(:background ,bg-alt :foreground ,fg-alt :underline ,border :overline ,border :distant-foreground ,fg-distant)) ('borderless `(:foreground ,fg :background ,bg :box ,bg)) ('borderless-3d `(:foreground ,fg :background ,bg :box (:line-width ,(or border-width 1) :color ,bg :style ,(and alt-style 'released-button)))) ('borderless-moody `(:background ,bg :foreground ,fg :underline ,bg :overline ,bg :distant-foreground ,fg-distant)) (_ `(:foreground ,fg :background ,bg :box ,border)))) (defun modus-themes--diff (fg-only-bg fg-only-fg mainbg mainfg altbg altfg &optional deuteranbg deuteranfg bg-only-fg) "Color combinations for `modus-themes-diffs'. FG-ONLY-BG should be similar or the same as the main background. FG-ONLY-FG should be a saturated accent value that can be combined with the former. MAINBG must be one of the dedicated backgrounds for diffs while MAINFG must be the same for the foreground. ALTBG needs to be a slightly accented background that is meant to be combined with ALTFG. Both must be less intense than MAINBG and MAINFG respectively. DEUTERANBG and DEUTERANFG must be combinations of colors that account for red-green color defficiency (deuteranopia). Optional BG-ONLY-FG applies ALTFG else leaves the foreground unspecified." (pcase modus-themes-diffs ('fg-only (list :background fg-only-bg :foreground fg-only-fg)) ('desaturated (list :background altbg :foreground altfg)) ('deuteranopia (list :background (or deuteranbg mainbg) :foreground (or deuteranfg mainfg))) ('bg-only (list :background altbg :foreground (if bg-only-fg altfg 'unspecified))) (_ (list :background mainbg :foreground mainfg)))) (defun modus-themes--diff-deuteran (deuteran main) "Determine whether the DEUTERAN or MAIN color should be used. This is based on whether `modus-themes-diffs' has the value `deuteranopia'." (if (eq modus-themes-diffs 'deuteranopia) (list deuteran) (list main))) (defun modus-themes--diff-text (fg-only-fg default-fg) "Like `modus-themes--diff', but only for foregrounds. FG-ONLY-FG is the foreground that is used when diffs are styled using only foreground colors. DEFAULT-FG covers all other cases." (pcase modus-themes-diffs ('fg-only (list :foreground fg-only-fg)) ('bg-only (list :foreground 'unspecified)) (_ (list :foreground default-fg)))) (defun modus-themes--standard-completions (mainfg subtlebg intensebg intensefg) "Combinations for `modus-themes-completions'. MAINFG is an accented foreground value. SUBTLEBG is an accented background value that can be combined with MAINFG. INTENSEBG and INTENSEFG are accented colors that are designed to be used in tandem. These are intended for Icomplete, Ido, and related." (pcase modus-themes-completions ('opinionated (list :background intensebg :foreground intensefg)) ('moderate (list :background subtlebg :foreground mainfg)) (_ (list :foreground mainfg)))) (defun modus-themes--extra-completions (subtleface intenseface altface &optional altfg bold) "Combinations for `modus-themes-completions'. SUBTLEFACE and INTENSEFACE are custom theme faces that combine a background and foreground value. The difference between the two is a matter of degree. ALTFACE is a combination of colors that represents a departure from the UI's default aesthetics. Optional ALTFG is meant to be used in tandem with it. Optional BOLD will apply a heavier weight to the text. These are intended for Helm, Ivy, etc." (pcase modus-themes-completions ('opinionated (list :inherit (list altface bold) :foreground (or altfg 'unspecified))) ('moderate (list :inherit (list subtleface bold))) (_ (list :inherit (list intenseface bold))))) (defun modus-themes--link (fg fgfaint underline) "Conditional application of link styles. FG is the link's default color for its text and underline property. FGFAINT is a desaturated color for the text and underline. UNDERLINE is a grey color only for the undeline." (pcase modus-themes-links ('faint (list :foreground fgfaint :underline t)) ('neutral-underline (list :foreground fg :underline underline)) ('faint-neutral-underline (list :foreground fgfaint :underline underline)) ('no-underline (list :foreground fg :underline nil)) ('underline-only (list :underline t)) ('neutral-underline-only (list :underline underline)) (_ (list :foreground fg :underline t)))) (defun modus-themes--link-color (fg fgfaint &optional neutralfg) "Extends `modus-themes--link'. FG is the main accented foreground. FGFAINT is also accented, yet desaturated. Optional NEUTRALFG is a gray value." (pcase modus-themes-links ('faint (list :foreground fgfaint)) ('faint-neutral-underline (list :foreground fgfaint)) ('underline-only (list :underline t :foreground (or neutralfg 'unspecified))) ('neutral-underline-only (list :underline 'unspecified :foreground (or neutralfg 'unspecified))) (_ (list :foreground fg)))) (defun modus-themes--scale (amount) "Scale heading by AMOUNT. AMOUNT is a customization option." (when modus-themes-scale-headings (list :height amount))) (defun modus-themes--region (bg fg bgsubtle) "Apply `modus-themes-region' styles. BG and FG are the main values that are used by default. BGSUBTLE is a subtle background value that can be combined with all colors used to fontify text and code syntax." (pcase modus-themes-region ('bg-only (list :background bgsubtle)) ('bg-only-no-extend (list :background bgsubtle :extend nil)) ('no-extend (list :background bg :foreground fg :extend nil)) (_ (list :background bg :foreground fg)))) ;;;; Utilities for DIY users ;; This is the WCAG formula: https://www.w3.org/TR/WCAG20-TECHS/G18.html (defun modus-themes-wcag-formula (hex) "Get WCAG value of color value HEX. The value is defined in hexadecimal RGB notation, such as those in `modus-themes-operandi-colors' and `modus-themes-vivendi-colors'." (cl-loop for k in '(0.2126 0.7152 0.0722) for x in (color-name-to-rgb hex) sum (* k (if (<= x 0.03928) (/ x 12.92) (expt (/ (+ x 0.055) 1.055) 2.4))))) ;;;###autoload (defun modus-themes-contrast (c1 c2) "Measure WCAG contrast ratio between C1 and C2. C1 and C2 are color values written in hexadecimal RGB." (let ((ct (/ (+ (modus-themes-wcag-formula c1) 0.05) (+ (modus-themes-wcag-formula c2) 0.05)))) (max ct (/ ct)))) (defun modus-themes-current-palette () "Return current color palette." (modus-themes--palette (modus-themes--current-theme))) ;;;###autoload (defun modus-themes-color (color) "Return color value for COLOR from current palette. COLOR is a key in `modus-themes-operandi-colors' or `modus-themes-vivendi-colors'." (alist-get color (modus-themes-current-palette))) ;;;###autoload (defun modus-themes-color-alts (light-color dark-color) "Return color value from current palette. When Modus Operandi is enabled, return color value for color LIGHT-COLOR. When Modus Vivendi is enabled, return color value for DARK-COLOR. LIGHT-COLOR and DARK-COLOR are keys in `modus-themes-operandi-colors' or `modus-themes-vivendi-colors'." (let* ((theme (modus-themes--current-theme)) (color (pcase theme ('modus-operandi light-color) ('modus-vivendi dark-color) (_theme (error "'%s' is not a Modus theme" theme))))) (alist-get color (modus-themes--palette theme)))) (defmacro modus-themes-with-colors (&rest body) "Evaluate BODY with colors from current palette bound. For colors bound, see `modus-themes-operandi-colors' or `modus-themes-vivendi-colors'." (declare (indent 0)) (let ((palette-sym (gensym)) (colors (mapcar #'car modus-themes-operandi-colors))) `(let* ((class '((class color) (min-colors 89))) (,palette-sym (modus-themes-current-palette)) ,@(mapcar (lambda (color) (list color `(alist-get ',color ,palette-sym))) colors)) (ignore class ,@colors) ; Silence unused variable warnings ,@body))) ;;;; Commands ;;;###autoload (defun modus-themes-load-themes () "Ensure that the Modus themes are in `custom-enabled-themes'. This function is intended for use in package declarations such as those defined with the help of `use-package'. The idea is to add this function to the `:init' stage of the package's loading, so that subsequent calls that assume the presence of a loaded theme, like `modus-themes-toggle' or `modus-themes-load-operandi', will continue to work as intended even if they are lazy-loaded (such as when they are declared in the `:config' phase)." (unless (or (custom-theme-p 'modus-operandi) (custom-theme-p 'modus-vivendi)) (load-theme 'modus-operandi t t) (load-theme 'modus-vivendi t t))) (defvar modus-themes-after-load-theme-hook nil "Hook that runs after the `modus-themes-toggle' routines.") ;; The reason we use `load-theme' instead of `enable-theme' is that the ;; former does a kind of "reset" on the face specs. So it plays nicely ;; with `custom-set-faces', as well as defcustom user customizations, ;; including the likes of `modus-themes-operandi-color-overrides'. ;; ;; Tests show that `enable-theme' does not re-read those variables, so ;; it might appear to the unsuspecting user that the themes are somehow ;; broken. ;; ;; This "reset", however, comes at the cost of being a bit slower than ;; `enable-theme'. User who have a stable setup and seldom update their ;; variables during a given Emacs session, are better off using ;; something like this: ;; ;; (defun modus-themes-toggle-enabled () ;; "Toggle between `modus-operandi' and `modus-vivendi' themes." ;; (interactive) ;; (pcase (modus-themes--current-theme) ;; ('modus-operandi (progn (enable-theme 'modus-vivendi) ;; (disable-theme 'modus-operandi))) ;; ('modus-vivendi (progn (enable-theme 'modus-operandi) ;; (disable-theme 'modus-vivendi))) ;; (_ (error "No Modus theme is loaded; evaluate `modus-themes-load-themes' first")))) ;;;###autoload (defun modus-themes-load-operandi () "Load `modus-operandi' and disable `modus-vivendi'. Also run `modus-themes-after-load-theme-hook'." (disable-theme 'modus-vivendi) (load-theme 'modus-operandi t) (run-hooks 'modus-themes-after-load-theme-hook)) ;;;###autoload (defun modus-themes-load-vivendi () "Load `modus-vivendi' and disable `modus-operandi'. Also run `modus-themes-after-load-theme-hook'." (disable-theme 'modus-operandi) (load-theme 'modus-vivendi t) (run-hooks 'modus-themes-after-load-theme-hook)) (defun modus-themes--load-prompt () "Helper for `modus-themes-toggle'." (let ((theme (intern (completing-read "Load Modus theme (will disable all others): " '(modus-operandi modus-vivendi) nil t)))) (mapc #'disable-theme custom-enabled-themes) (pcase theme ('modus-operandi (modus-themes-load-operandi)) ('modus-vivendi (modus-themes-load-vivendi))))) ;;;###autoload (defun modus-themes-toggle () "Toggle between `modus-operandi' and `modus-vivendi' themes. Also runs `modus-themes-after-load-theme-hook' at its last stage by virtue of calling either of `modus-themes-load-operandi' and `modus-themes-load-vivendi' functions." (interactive) (modus-themes-load-themes) (pcase (modus-themes--current-theme) ('modus-operandi (modus-themes-load-vivendi)) ('modus-vivendi (modus-themes-load-operandi)) (_ (modus-themes--load-prompt)))) ;;;; Face specifications (defconst modus-themes-faces '( ;;;; custom faces ;; these bespoke faces are inherited by other constructs below ;;;;; subtle colored backgrounds `(modus-theme-subtle-red ((,class :background ,red-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-green ((,class :background ,green-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-blue ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-magenta ((,class :background ,magenta-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-cyan ((,class :background ,cyan-subtle-bg :foreground ,fg-dim))) `(modus-theme-subtle-neutral ((,class :background ,bg-inactive :foreground ,fg-inactive))) ;;;;; intense colored backgrounds `(modus-theme-intense-red ((,class :background ,red-intense-bg :foreground ,fg-main))) `(modus-theme-intense-green ((,class :background ,green-intense-bg :foreground ,fg-main))) `(modus-theme-intense-yellow ((,class :background ,yellow-intense-bg :foreground ,fg-main))) `(modus-theme-intense-blue ((,class :background ,blue-intense-bg :foreground ,fg-main))) `(modus-theme-intense-magenta ((,class :background ,magenta-intense-bg :foreground ,fg-main))) `(modus-theme-intense-cyan ((,class :background ,cyan-intense-bg :foreground ,fg-main))) `(modus-theme-intense-neutral ((,class :background ,bg-active :foreground ,fg-main))) ;;;;; refined background and foreground combinations ;; general purpose styles that use an accented foreground against an ;; accented background `(modus-theme-refine-red ((,class :background ,red-refine-bg :foreground ,red-refine-fg))) `(modus-theme-refine-green ((,class :background ,green-refine-bg :foreground ,green-refine-fg))) `(modus-theme-refine-yellow ((,class :background ,yellow-refine-bg :foreground ,yellow-refine-fg))) `(modus-theme-refine-blue ((,class :background ,blue-refine-bg :foreground ,blue-refine-fg))) `(modus-theme-refine-magenta ((,class :background ,magenta-refine-bg :foreground ,magenta-refine-fg))) `(modus-theme-refine-cyan ((,class :background ,cyan-refine-bg :foreground ,cyan-refine-fg))) ;;;;; "active" combinations, mostly for use on the mode line `(modus-theme-active-red ((,class :background ,red-active :foreground ,bg-active))) `(modus-theme-active-green ((,class :background ,green-active :foreground ,bg-active))) `(modus-theme-active-yellow ((,class :background ,yellow-active :foreground ,bg-active))) `(modus-theme-active-blue ((,class :background ,blue-active :foreground ,bg-active))) `(modus-theme-active-magenta ((,class :background ,magenta-active :foreground ,bg-active))) `(modus-theme-active-cyan ((,class :background ,cyan-active :foreground ,bg-active))) ;;;;; nuanced backgrounds ;; useful for adding an accented background that is suitable for all ;; main foreground colors (intended for use in Org source blocks) `(modus-theme-nuanced-red ((,class :background ,red-nuanced-bg :extend t))) `(modus-theme-nuanced-green ((,class :background ,green-nuanced-bg :extend t))) `(modus-theme-nuanced-yellow ((,class :background ,yellow-nuanced-bg :extend t))) `(modus-theme-nuanced-blue ((,class :background ,blue-nuanced-bg :extend t))) `(modus-theme-nuanced-magenta ((,class :background ,magenta-nuanced-bg :extend t))) `(modus-theme-nuanced-cyan ((,class :background ,cyan-nuanced-bg :extend t))) ;;;;; fringe-specific combinations `(modus-theme-fringe-red ((,class :background ,red-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-green ((,class :background ,green-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-yellow ((,class :background ,yellow-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-blue ((,class :background ,blue-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-magenta ((,class :background ,magenta-fringe-bg :foreground ,fg-main))) `(modus-theme-fringe-cyan ((,class :background ,cyan-fringe-bg :foreground ,fg-main))) ;;;;; special base values ;; these are closer to the grayscale than the accents defined above ;; and should only be used when the next closest alternative would be ;; a greyscale value than an accented one `(modus-theme-special-cold ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) `(modus-theme-special-mild ((,class :background ,bg-special-mild :foreground ,fg-special-mild))) `(modus-theme-special-warm ((,class :background ,bg-special-warm :foreground ,fg-special-warm))) `(modus-theme-special-calm ((,class :background ,bg-special-calm :foreground ,fg-special-calm))) ;;;;; diff-specific combinations ;; intended for `diff-mode' or equivalent `(modus-theme-diff-added ((,class ,@(modus-themes--diff bg-main green bg-diff-focus-added fg-diff-focus-added green-nuanced-bg fg-diff-added bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) `(modus-theme-diff-changed ((,class ,@(modus-themes--diff bg-main yellow bg-diff-focus-changed fg-diff-focus-changed yellow-nuanced-bg fg-diff-changed)))) `(modus-theme-diff-removed ((,class ,@(modus-themes--diff bg-main red bg-diff-focus-removed fg-diff-focus-removed red-nuanced-bg fg-diff-removed)))) `(modus-theme-diff-refine-added ((,class ,@(modus-themes--diff bg-diff-added fg-diff-added bg-diff-refine-added fg-diff-refine-added bg-diff-focus-added fg-diff-focus-added bg-diff-refine-added-deuteran fg-diff-refine-added-deuteran)))) `(modus-theme-diff-refine-changed ((,class ,@(modus-themes--diff bg-diff-changed fg-diff-changed bg-diff-refine-changed fg-diff-refine-changed bg-diff-focus-changed fg-diff-focus-changed)))) `(modus-theme-diff-refine-removed ((,class ,@(modus-themes--diff bg-diff-removed fg-diff-removed bg-diff-refine-removed fg-diff-refine-removed bg-diff-focus-removed fg-diff-focus-removed)))) `(modus-theme-diff-focus-added ((,class ,@(modus-themes--diff bg-dim green bg-diff-focus-added fg-diff-focus-added bg-diff-added fg-diff-added bg-diff-focus-added-deuteran fg-diff-focus-added-deuteran)))) `(modus-theme-diff-focus-changed ((,class ,@(modus-themes--diff bg-dim yellow bg-diff-focus-changed fg-diff-focus-changed bg-diff-changed fg-diff-changed)))) `(modus-theme-diff-focus-removed ((,class ,@(modus-themes--diff bg-dim red bg-diff-focus-removed fg-diff-focus-removed bg-diff-removed fg-diff-removed)))) `(modus-theme-diff-heading ((,class ,@(modus-themes--diff bg-main blue bg-diff-heading fg-diff-heading cyan-nuanced-bg cyan-nuanced-fg bg-header fg-main t)))) ;;;;; mark indicators ;; color combinations intended for Dired, Ibuffer, or equivalent `(modus-theme-pseudo-header ((,class :inherit bold :foreground ,fg-main))) `(modus-theme-mark-alt ((,class :inherit bold :background ,bg-mark-alt :foreground ,fg-mark-alt))) `(modus-theme-mark-del ((,class :inherit bold :background ,bg-mark-del :foreground ,fg-mark-del))) `(modus-theme-mark-sel ((,class :inherit bold :background ,bg-mark-sel :foreground ,fg-mark-sel))) `(modus-theme-mark-symbol ((,class :inherit bold :foreground ,blue-alt))) ;;;;; heading levels ;; styles for regular headings used in Org, Markdown, Info, etc. `(modus-theme-heading-1 ((,class ,@(modus-themes--heading 1 fg-main magenta-alt-other magenta-nuanced-bg bg-region) ,@(modus-themes--scale modus-themes-scale-4)))) `(modus-theme-heading-2 ((,class ,@(modus-themes--heading 2 fg-special-warm magenta-alt red-nuanced-bg bg-region) ,@(modus-themes--scale modus-themes-scale-3)))) `(modus-theme-heading-3 ((,class ,@(modus-themes--heading 3 fg-special-cold blue blue-nuanced-bg bg-region) ,@(modus-themes--scale modus-themes-scale-2)))) `(modus-theme-heading-4 ((,class ,@(modus-themes--heading 4 fg-special-mild cyan cyan-nuanced-bg bg-region) ,@(modus-themes--scale modus-themes-scale-1)))) `(modus-theme-heading-5 ((,class ,@(modus-themes--heading 5 fg-special-calm green-alt-other green-nuanced-bg bg-region)))) `(modus-theme-heading-6 ((,class ,@(modus-themes--heading 6 yellow-nuanced-fg yellow-alt-other yellow-nuanced-bg bg-region)))) `(modus-theme-heading-7 ((,class ,@(modus-themes--heading 7 red-nuanced-fg red-alt red-nuanced-bg bg-region)))) `(modus-theme-heading-8 ((,class ,@(modus-themes--heading 8 fg-dim magenta bg-alt bg-region)))) ;;;;; graph-specific faces `(modus-theme-graph-red-0 ((,class :background ,red-graph-0-bg))) `(modus-theme-graph-red-1 ((,class :background ,red-graph-1-bg))) `(modus-theme-graph-green-0 ((,class :background ,green-graph-0-bg))) `(modus-theme-graph-green-1 ((,class :background ,green-graph-1-bg))) `(modus-theme-graph-yellow-0 ((,class :background ,yellow-graph-0-bg))) `(modus-theme-graph-yellow-1 ((,class :background ,yellow-graph-1-bg))) `(modus-theme-graph-blue-0 ((,class :background ,blue-graph-0-bg))) `(modus-theme-graph-blue-1 ((,class :background ,blue-graph-1-bg))) `(modus-theme-graph-magenta-0 ((,class :background ,magenta-graph-0-bg))) `(modus-theme-graph-magenta-1 ((,class :background ,magenta-graph-1-bg))) `(modus-theme-graph-cyan-0 ((,class :background ,cyan-graph-0-bg))) `(modus-theme-graph-cyan-1 ((,class :background ,cyan-graph-1-bg))) ;;;;; language checkers `(modus-theme-lang-error ((,class ,@(modus-themes--lang-check fg-lang-underline-error fg-lang-error red red-nuanced-bg)))) `(modus-theme-lang-note ((,class ,@(modus-themes--lang-check fg-lang-underline-note fg-lang-note blue-alt blue-nuanced-bg)))) `(modus-theme-lang-warning ((,class ,@(modus-themes--lang-check fg-lang-underline-warning fg-lang-warning yellow yellow-nuanced-bg)))) ;;;;; other custom faces `(modus-theme-bold ((,class ,@(modus-themes--bold-weight)))) `(modus-theme-hl-line ((,class :background ,(if modus-themes-intense-hl-line bg-hl-line-intense bg-hl-line) :extend t))) `(modus-theme-slant ((,class :inherit italic :slant ,@(modus-themes--slant)))) `(modus-theme-variable-pitch ((,class ,@(modus-themes--variable-pitch)))) ;;;; standard faces ;;;;; absolute essentials `(default ((,class :background ,bg-main :foreground ,fg-main))) `(cursor ((,class :background ,fg-main))) `(fringe ((,class ,@(modus-themes--fringe bg-main bg-inactive bg-active) :foreground ,fg-main))) `(vertical-border ((,class :foreground ,fg-window-divider-inner))) ;;;;; basic and/or ungrouped styles `(bold ((,class :weight bold))) `(bold-italic ((,class :inherit (bold italic)))) `(buffer-menu-buffer ((,class :inherit bold))) `(comint-highlight-input ((,class :inherit bold))) `(comint-highlight-prompt ((,class :inherit modus-theme-bold ,@(modus-themes--prompt cyan blue-nuanced-bg blue-alt blue-refine-bg fg-main)))) `(error ((,class :inherit bold :foreground ,red))) `(escape-glyph ((,class :foreground ,fg-escape-char-construct))) `(file-name-shadow ((,class :foreground ,fg-unfocused))) `(header-line ((,class ,@(modus-themes--variable-pitch-ui) :background ,bg-header :foreground ,fg-header))) `(header-line-highlight ((,class :inherit modus-theme-active-blue))) `(help-argument-name ((,class :inherit modus-theme-slant :foreground ,cyan))) `(homoglyph ((,class :foreground ,red-alt-faint))) `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other-faint))) `(italic ((,class :slant italic))) `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct))) `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t))) `(minibuffer-prompt ((,class ,@(modus-themes--prompt cyan-alt-other cyan-nuanced-bg cyan cyan-refine-bg fg-main)))) `(mm-command-output ((,class :foreground ,red-alt-other))) `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild))) `(next-error ((,class :inherit modus-theme-subtle-red))) `(rectangle-preview ((,class :inherit modus-theme-special-mild))) `(region ((,class ,@(modus-themes--region bg-region fg-main bg-hl-alt-intense)))) `(secondary-selection ((,class :inherit modus-theme-special-cold))) `(shadow ((,class :foreground ,fg-alt))) `(success ((,class :inherit bold :foreground ,green))) `(trailing-whitespace ((,class :background ,red-intense-bg))) `(warning ((,class :inherit bold :foreground ,yellow))) ;;;;; buttons, links, widgets `(button ((,class ,@(modus-themes--link blue-alt-other blue-alt-other-faint bg-region)))) `(link ((,class :inherit button))) `(link-visited ((,class :inherit button ,@(modus-themes--link-color magenta-alt-other magenta-alt-other-faint fg-alt)))) `(tooltip ((,class :background ,bg-special-cold :foreground ,fg-main))) `(widget-button ((,class :inherit button))) `(widget-button-pressed ((,class :inherit button ,@(modus-themes--link-color magenta magenta-faint)))) `(widget-documentation ((,class :foreground ,green))) `(widget-field ((,class :background ,bg-alt :foreground ,fg-dim))) `(widget-inactive ((,class :background ,bg-inactive :foreground ,fg-inactive))) `(widget-single-line-field ((,class :inherit widget-field))) ;;;;; ag `(ag-hit-face ((,class :foreground ,fg-special-cold))) `(ag-match-face ((,class :inherit modus-theme-special-calm))) ;;;;; alert `(alert-high-face ((,class :inherit bold :foreground ,red-alt))) `(alert-low-face ((,class :foreground ,fg-special-mild))) `(alert-moderate-face ((,class :inherit bold :foreground ,yellow))) `(alert-trivial-face ((,class :foreground ,fg-special-calm))) `(alert-urgent-face ((,class :inherit bold :foreground ,red-intense))) ;;;;; all-the-icons `(all-the-icons-blue ((,class :foreground ,blue))) `(all-the-icons-blue-alt ((,class :foreground ,blue-alt))) `(all-the-icons-cyan ((,class :foreground ,cyan))) `(all-the-icons-cyan-alt ((,class :foreground ,cyan-alt))) `(all-the-icons-dblue ((,class :foreground ,blue-alt-other))) `(all-the-icons-dcyan ((,class :foreground ,cyan-alt-other))) `(all-the-icons-dgreen ((,class :foreground ,green-alt-other))) `(all-the-icons-dired-dir-face ((,class :foreground ,blue))) `(all-the-icons-dmaroon ((,class :foreground ,magenta-alt-other))) `(all-the-icons-dorange ((,class :foreground ,red-alt-other))) `(all-the-icons-dpink ((,class :foreground ,magenta))) `(all-the-icons-dpurple ((,class :foreground ,magenta-alt))) `(all-the-icons-dred ((,class :foreground ,red))) `(all-the-icons-dsilver ((,class :foreground ,fg-special-cold))) `(all-the-icons-dyellow ((,class :foreground ,yellow))) `(all-the-icons-green ((,class :foreground ,green))) `(all-the-icons-lblue ((,class :foreground ,blue-refine-fg))) `(all-the-icons-lcyan ((,class :foreground ,cyan-refine-fg))) `(all-the-icons-lgreen ((,class :foreground ,green-refine-fg))) `(all-the-icons-lmaroon ((,class :foreground ,magenta-refine-fg))) `(all-the-icons-lorange ((,class :foreground ,red-refine-fg))) `(all-the-icons-lpink ((,class :foreground ,magenta-refine-fg))) `(all-the-icons-lpurple ((,class :foreground ,magenta-refine-fg))) `(all-the-icons-lred ((,class :foreground ,red-refine-fg))) `(all-the-icons-lsilver ((,class :foreground ,fg-special-cold))) `(all-the-icons-lyellow ((,class :foreground ,yellow-refine-fg))) `(all-the-icons-maroon ((,class :foreground ,magenta))) `(all-the-icons-orange ((,class :foreground ,red-alt))) `(all-the-icons-pink ((,class :foreground ,magenta))) `(all-the-icons-purple ((,class :foreground ,magenta-alt))) `(all-the-icons-purple-alt ((,class :foreground ,magenta-alt-other))) `(all-the-icons-red ((,class :foreground ,red))) `(all-the-icons-red-alt ((,class :foreground ,red-alt))) `(all-the-icons-silver ((,class :foreground ,fg-special-cold))) `(all-the-icons-yellow ((,class :foreground ,yellow))) ;;;;; annotate `(annotate-annotation ((,class :inherit modus-theme-subtle-blue))) `(annotate-annotation-secondary ((,class :inherit modus-theme-subtle-green))) `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline ,blue-intense))) `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg :underline ,green-intense))) ;;;;; anzu `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan))) `(anzu-match-2 ((,class :inherit modus-theme-subtle-green))) `(anzu-match-3 ((,class :inherit modus-theme-subtle-yellow))) `(anzu-mode-line ((,class :inherit bold :foreground ,green-active))) `(anzu-mode-line-no-match ((,class :inherit bold :foreground ,red-active))) `(anzu-replace-highlight ((,class :inherit modus-theme-refine-yellow :underline t))) `(anzu-replace-to ((,class :inherit (modus-theme-intense-green bold)))) ;;;;; apropos `(apropos-function-button ((,class :inherit button ,@(modus-themes--link-color magenta-alt-other magenta-alt-other-faint)))) `(apropos-keybinding ((,class :inherit bold :foreground ,cyan))) `(apropos-misc-button ((,class :inherit button ,@(modus-themes--link-color cyan-alt-other cyan-alt-other-faint)))) `(apropos-property ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) `(apropos-symbol ((,class :inherit modus-theme-bold :foreground ,blue-alt-other))) `(apropos-user-option-button ((,class :inherit button ,@(modus-themes--link-color green-alt-other green-alt-other-faint)))) `(apropos-variable-button ((,class :inherit button ,@(modus-themes--link-color blue blue-faint)))) ;;;;; apt-sources-list `(apt-sources-list-components ((,class :foreground ,cyan))) `(apt-sources-list-options ((,class :foreground ,yellow))) `(apt-sources-list-suite ((,class :foreground ,green))) `(apt-sources-list-type ((,class :foreground ,magenta))) `(apt-sources-list-uri ((,class :foreground ,blue))) ;;;;; artbollocks-mode `(artbollocks-face ((,class :inherit modus-theme-lang-note))) `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) `(artbollocks-passive-voice-face ((,class :inherit modus-theme-lang-warning))) `(artbollocks-weasel-words-face ((,class :inherit modus-theme-lang-error))) ;;;;; auctex and Tex `(font-latex-bold-face ((,class :inherit bold :foreground ,fg-special-calm))) `(font-latex-doctex-documentation-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(font-latex-doctex-preprocessor-face ((,class :inherit modus-theme-bold :foreground ,red-alt-other))) `(font-latex-italic-face ((,class :inherit italic :foreground ,fg-special-calm))) `(font-latex-math-face ((,class :foreground ,cyan-alt-other))) `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other))) `(font-latex-sectioning-0-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-1-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-2-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-3-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-4-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,blue-nuanced-fg))) `(font-latex-sectioning-5-face ((,class :inherit modus-theme-variable-pitch :foreground ,blue-nuanced-fg))) `(font-latex-sedate-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other))) `(font-latex-slide-title-face ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,cyan-nuanced-fg ,@(modus-themes--scale modus-themes-scale-4)))) `(font-latex-string-face ((,class :inherit font-lock-string-face))) `(font-latex-subscript-face ((,class :height 0.95))) `(font-latex-superscript-face ((,class :height 0.95))) `(font-latex-verbatim-face ((,class :background ,bg-dim :foreground ,fg-special-mild))) `(font-latex-warning-face ((,class :inherit font-lock-warning-face))) `(tex-match ((,class :foreground ,blue-alt-other))) `(tex-verbatim ((,class :background ,bg-dim :foreground ,fg-special-mild))) `(texinfo-heading ((,class :foreground ,magenta))) `(TeX-error-description-error ((,class :inherit error))) `(TeX-error-description-help ((,class :foreground ,blue))) `(TeX-error-description-tex-said ((,class :foreground ,blue))) `(TeX-error-description-warning ((,class :inherit warning))) ;;;;; auto-dim-other-buffers `(auto-dim-other-buffers-face ((,class :background ,bg-alt))) ;;;;; avy `(avy-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) `(avy-goto-char-timer-face ((,class :inherit (modus-theme-intense-yellow bold)))) `(avy-lead-face ((,class :inherit (modus-theme-intense-magenta bold)))) `(avy-lead-face-0 ((,class :inherit (modus-theme-intense-blue bold)))) `(avy-lead-face-1 ((,class :inherit (modus-theme-intense-red bold)))) `(avy-lead-face-2 ((,class :inherit (modus-theme-intense-green bold)))) ;;;;; aw (ace-window) `(aw-background-face ((,class :background ,bg-dim :foreground ,fg-dim))) `(aw-key-face ((,class :inherit bold :foreground ,blue-intense))) `(aw-leading-char-face ((,class :inherit bold :height 1.5 :slant normal :background ,bg-main :foreground ,red-intense))) `(aw-minibuffer-leading-char-face ((,class :foreground ,magenta-active))) `(aw-mode-line-face ((,class :inherit bold))) ;;;;; awesome-tray `(awesome-tray-module-awesome-tab-face ((,class :inherit bold :foreground ,red-alt-other))) `(awesome-tray-module-battery-face ((,class :inherit bold :foreground ,cyan-alt-other))) `(awesome-tray-module-buffer-name-face ((,class :inherit bold :foreground ,yellow-alt-other))) `(awesome-tray-module-circe-face ((,class :inherit bold :foreground ,blue-alt))) `(awesome-tray-module-date-face ((,class :inherit bold :foreground ,fg-dim))) `(awesome-tray-module-evil-face ((,class :inherit bold :foreground ,green-alt))) `(awesome-tray-module-git-face ((,class :inherit bold :foreground ,magenta))) `(awesome-tray-module-last-command-face ((,class :inherit bold :foreground ,blue-alt-other))) `(awesome-tray-module-location-face ((,class :inherit bold :foreground ,yellow))) `(awesome-tray-module-mode-name-face ((,class :inherit bold :foreground ,green))) `(awesome-tray-module-parent-dir-face ((,class :inherit bold :foreground ,cyan))) `(awesome-tray-module-rvm-face ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; bbdb `(bbdb-name ((,class :foreground ,magenta-alt-other))) `(bbdb-organization ((,class :foreground ,red-alt-other))) `(bbdb-field-name ((,class :foreground ,cyan-alt-other))) ;;;;; binder `(binder-sidebar-highlight ((,class :inherit modus-theme-subtle-cyan))) `(binder-sidebar-marked ((,class :inherit modus-theme-mark-sel))) `(binder-sidebar-missing ((,class :inherit modus-theme-subtle-red))) `(binder-sidebar-tags ((,class :foreground ,cyan))) ;;;;; bm `(bm-face ((,class :inherit modus-theme-subtle-yellow :extend t))) `(bm-fringe-face ((,class :inherit modus-theme-fringe-yellow))) `(bm-fringe-persistent-face ((,class :inherit modus-theme-fringe-blue))) `(bm-persistent-face ((,class :inherit modus-theme-intense-blue :extend t))) ;;;;; bongo `(bongo-album-title ((,class :foreground ,yellow-active))) `(bongo-artist ((,class :foreground ,magenta-active))) `(bongo-currently-playing-track ((,class :inherit bold))) `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta :underline t))) `(bongo-filled-seek-bar ((,class :background ,blue-intense-bg :foreground ,fg-main))) `(bongo-marked-track ((,class :foreground ,fg-mark-alt))) `(bongo-marked-track-line ((,class :background ,bg-mark-alt))) `(bongo-played-track ((,class :foreground ,fg-unfocused :strike-through t))) `(bongo-track-length ((,class :foreground ,fg-active))) `(bongo-track-title ((,class :foreground ,cyan-active))) `(bongo-unfilled-seek-bar ((,class :background ,bg-special-cold :foreground ,fg-main))) ;;;;; boon `(boon-modeline-cmd ((,class :inherit modus-theme-active-blue))) `(boon-modeline-ins ((,class :inherit modus-theme-active-red))) `(boon-modeline-off ((,class :inherit modus-theme-active-yellow))) `(boon-modeline-spc ((,class :inherit modus-theme-active-green))) ;;;;; breakpoint (built-in gdb-mi.el) `(breakpoint-disabled ((,class :inherit shadow))) `(breakpoint-enabled ((,class :inherit bold :foreground ,red))) ;;;;; buffer-expose `(buffer-expose-ace-char-face ((,class :inherit bold :foreground ,red-active))) `(buffer-expose-mode-line-face ((,class :foreground ,cyan-active))) `(buffer-expose-selected-face ((,class :inherit modus-theme-special-mild))) ;;;;; calendar and diary `(calendar-month-header ((,class :inherit modus-theme-pseudo-header))) `(calendar-today ((,class :inherit bold :underline t))) `(calendar-weekday-header ((,class :inherit shadow))) `(calendar-weekend-header ((,class :inherit shadow))) `(diary ((,class :background ,green-nuanced-bg :foreground ,green-alt-other))) `(diary-anniversary ((,class :foreground ,red-alt-other))) `(diary-time ((,class :foreground ,blue-alt))) `(holiday ((,class :background ,magenta-nuanced-bg :foreground ,magenta-alt))) ;;;;; calfw `(cfw:face-annotation ((,class :foreground ,fg-special-warm))) `(cfw:face-day-title ((,class :foreground ,fg-main))) `(cfw:face-default-content ((,class :foreground ,green-alt))) `(cfw:face-default-day ((,class :inherit (cfw:face-day-title bold)))) `(cfw:face-disable ((,class :foreground ,fg-unfocused))) `(cfw:face-grid ((,class :foreground ,fg-window-divider-outer))) `(cfw:face-header ((,class :inherit bold :foreground ,fg-main))) `(cfw:face-holiday ((,class :foreground ,magenta-alt-other))) `(cfw:face-periods ((,class :foreground ,cyan-alt-other))) `(cfw:face-saturday ((,class :inherit bold :foreground ,cyan-alt-other))) `(cfw:face-select ((,class :inherit modus-theme-intense-blue))) `(cfw:face-sunday ((,class :inherit bold :foreground ,cyan-alt-other))) `(cfw:face-title ((,class :inherit modus-theme-variable-pitch :foreground ,fg-special-cold ,@(modus-themes--scale modus-themes-scale-5)))) `(cfw:face-today ((,class :background ,bg-inactive))) `(cfw:face-today-title ((,class :background ,bg-active))) `(cfw:face-toolbar ((,class :background ,bg-alt :foreground ,bg-alt))) `(cfw:face-toolbar-button-off ((,class :inherit shadow))) `(cfw:face-toolbar-button-on ((,class :inherit bold :background ,blue-nuanced-bg :foreground ,blue-alt))) ;;;;; centaur-tabs `(centaur-tabs-active-bar-face ((,class :background ,fg-tab-active))) `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected))) `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected))) `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected))) `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected))) `(centaur-tabs-default ((,class :background ,bg-main :foreground ,bg-main))) `(centaur-tabs-selected ((,class :inherit bold :background ,bg-tab-active :foreground ,fg-main))) `(centaur-tabs-selected-modified ((,class :inherit italic :background ,bg-tab-active :foreground ,fg-main))) `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground ,fg-dim))) `(centaur-tabs-unselected-modified ((,class :inherit italic :background ,bg-tab-inactive :foreground ,fg-dim))) ;;;;; cfrs `(cfrs-border-color ((,class :background ,fg-window-divider-inner))) ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') `(change-log-acknowledgment ((,class :foreground ,fg-alt))) `(change-log-conditionals ((,class :foreground ,yellow))) `(change-log-date ((,class :foreground ,cyan))) `(change-log-email ((,class :foreground ,cyan-alt-other))) `(change-log-file ((,class :inherit bold :foreground ,fg-special-cold))) `(change-log-function ((,class :foreground ,green-alt-other))) `(change-log-list ((,class :foreground ,magenta-alt))) `(change-log-name ((,class :foreground ,magenta-alt-other))) `(log-edit-header ((,class :foreground ,fg-special-warm))) `(log-edit-summary ((,class :inherit bold :foreground ,blue))) `(log-edit-unknown-header ((,class :inherit shadow))) `(log-view-commit-body ((,class :foreground ,blue-nuanced-fg))) `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold))) `(log-view-message ((,class :background ,bg-alt :foreground ,fg-alt))) ;;;;; cider `(cider-debug-code-overlay-face ((,class :background ,bg-alt))) `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t))) `(cider-deprecated-face ((,class :inherit modus-theme-refine-yellow))) `(cider-docview-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold))) `(cider-docview-literal-face ((,class :foreground ,blue-alt))) `(cider-docview-strong-face ((,class :inherit bold :foreground ,fg-special-cold))) `(cider-docview-table-border-face ((,class :inherit shadow))) `(cider-enlightened-face ((,class :box (:line-width -1 :color ,yellow-alt :style nil) :background ,bg-dim))) `(cider-enlightened-local-face ((,class :inherit bold :foreground ,yellow-alt-other))) `(cider-error-highlight-face ((,class :foreground ,red :underline t))) `(cider-fragile-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,yellow))) `(cider-fringe-good-face ((,class :foreground ,green-active))) `(cider-instrumented-face ((,class :box (:line-width -1 :color ,red :style nil) :background ,bg-dim))) `(cider-reader-conditional-face ((,class :inherit italic :foreground ,fg-special-warm))) `(cider-repl-input-face ((,class :inherit bold))) `(cider-repl-prompt-face ((,class :foreground ,cyan-alt-other))) `(cider-repl-stderr-face ((,class :inherit bold :foreground ,red))) `(cider-repl-stdout-face ((,class :foreground ,blue))) `(cider-result-overlay-face ((,class :box (:line-width -1 :color ,blue :style nil) :background ,bg-dim))) `(cider-stacktrace-error-class-face ((,class :inherit bold :foreground ,red))) `(cider-stacktrace-error-message-face ((,class :inherit italic :foreground ,red-alt-other))) `(cider-stacktrace-face ((,class :foreground ,fg-main))) `(cider-stacktrace-filter-active-face ((,class :foreground ,cyan-alt :underline t))) `(cider-stacktrace-filter-inactive-face ((,class :foreground ,cyan-alt))) `(cider-stacktrace-fn-face ((,class :inherit bold :foreground ,fg-main))) `(cider-stacktrace-ns-face ((,class :inherit italic :foreground ,fg-alt))) `(cider-stacktrace-promoted-button-face ((,class :box (:line-width 3 :color ,fg-alt :style released-button) :foreground ,red))) `(cider-stacktrace-suppressed-button-face ((,class :box (:line-width 3 :color ,fg-alt :style pressed-button) :background ,bg-alt :foreground ,fg-alt))) `(cider-test-error-face ((,class :inherit modus-theme-subtle-red))) `(cider-test-failure-face ((,class :inherit (modus-theme-intense-red bold)))) `(cider-test-success-face ((,class :inherit modus-theme-intense-green))) `(cider-traced-face ((,class :box (:line-width -1 :color ,cyan :style nil) :background ,bg-dim))) `(cider-warning-highlight-face ((,class :foreground ,yellow :underline t))) ;;;;; circe (and lui) `(circe-fool-face ((,class :inherit shadow))) `(circe-highlight-nick-face ((,class :inherit bold :foreground ,blue))) `(circe-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) `(circe-server-face ((,class :foreground ,fg-unfocused))) `(lui-button-face ((,class :inherit button))) `(lui-highlight-face ((,class :foreground ,magenta-alt))) `(lui-time-stamp-face ((,class :foreground ,blue-nuanced-fg))) ;;;;; color-rg `(color-rg-font-lock-column-number ((,class :foreground ,magenta-alt-other))) `(color-rg-font-lock-command ((,class :inherit bold :foreground ,fg-main))) `(color-rg-font-lock-file ((,class :inherit bold :foreground ,fg-special-cold))) `(color-rg-font-lock-flash ((,class :inherit modus-theme-intense-blue))) `(color-rg-font-lock-function-location ((,class :inherit modus-theme-special-calm))) `(color-rg-font-lock-header-line-directory ((,class :foreground ,blue-active))) `(color-rg-font-lock-header-line-edit-mode ((,class :foreground ,magenta-active))) `(color-rg-font-lock-header-line-keyword ((,class :foreground ,green-active))) `(color-rg-font-lock-header-line-text ((,class :foreground ,fg-active))) `(color-rg-font-lock-line-number ((,class :foreground ,fg-special-warm))) `(color-rg-font-lock-mark-changed ((,class :inherit bold :foreground ,blue))) `(color-rg-font-lock-mark-deleted ((,class :inherit bold :foreground ,red))) `(color-rg-font-lock-match ((,class :inherit modus-theme-special-calm))) `(color-rg-font-lock-position-splitter ((,class :inherit shadow))) ;;;;; column-enforce-mode `(column-enforce-face ((,class :inherit modus-theme-refine-yellow))) ;;;;; company-mode `(company-echo-common ((,class :foreground ,magenta-alt-other))) `(company-preview ((,class :background ,bg-dim :foreground ,fg-dim))) `(company-preview-common ((,class :foreground ,blue-alt))) `(company-preview-search ((,class :inherit modus-theme-special-calm))) `(company-scrollbar-bg ((,class :background ,bg-active))) `(company-scrollbar-fg ((,class :background ,fg-active))) `(company-template-field ((,class :inherit modus-theme-intense-magenta))) `(company-tooltip ((,class :background ,bg-alt :foreground ,fg-alt))) `(company-tooltip-annotation ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(company-tooltip-annotation-selection ((,class :inherit bold :foreground ,fg-main))) `(company-tooltip-common ((,class :inherit bold :foreground ,blue-alt))) `(company-tooltip-common-selection ((,class :foreground ,fg-main))) `(company-tooltip-mouse ((,class :inherit modus-theme-intense-blue))) `(company-tooltip-search ((,class :inherit (modus-theme-refine-cyan bold)))) `(company-tooltip-search-selection ((,class :inherit (modus-theme-intense-green bold) :underline t))) `(company-tooltip-selection ((,class :inherit (modus-theme-subtle-cyan bold)))) ;;;;; company-posframe `(company-posframe-active-backend-name ((,class :inherit bold :background ,bg-active :foreground ,blue-active))) `(company-posframe-inactive-backend-name ((,class :background ,bg-active :foreground ,fg-active))) `(company-posframe-metadata ((,class :background ,bg-inactive :foreground ,fg-inactive))) ;;;;; compilation feedback `(compilation-column-number ((,class :foreground ,magenta-alt-other))) `(compilation-error ((,class :inherit modus-theme-bold :foreground ,red))) `(compilation-info ((,class :inherit modus-theme-bold :foreground ,fg-special-cold))) `(compilation-line-number ((,class :foreground ,fg-special-warm))) `(compilation-mode-line-exit ((,class :inherit modus-theme-bold :foreground ,blue-active))) `(compilation-mode-line-fail ((,class :inherit modus-theme-bold :foreground ,red-active))) `(compilation-mode-line-run ((,class :inherit modus-theme-bold :foreground ,magenta-active))) `(compilation-warning ((,class :inherit modus-theme-bold :foreground ,yellow))) ;;;;; completions `(completions-annotations ((,class :inherit modus-theme-slant :foreground ,cyan-faint))) `(completions-common-part ((,class ,@(modus-themes--standard-completions blue-alt blue-nuanced-bg cyan-refine-bg cyan-refine-fg)))) `(completions-first-difference ((,class :inherit bold ,@(modus-themes--standard-completions magenta-alt blue-nuanced-bg magenta-intense-bg fg-main)))) ;;;;; consult `(consult-async-running ((,class :inherit bold :foreground ,blue))) `(consult-async-split ((,class :foreground ,magenta-alt))) `(consult-bookmark ((,class :foreground ,blue))) `(consult-file ((,class :foreground ,fg-special-cold))) `(consult-imenu-prefix ((,class :inherit shadow))) `(consult-key ((,class :inherit modus-themes-bold :foreground ,magenta-alt-other))) `(consult-line-number ((,class :foreground ,fg-special-warm))) `(consult-line-number-prefix ((,class :foreground ,fg-unfocused))) `(consult-narrow-indicator ((,class :foreground ,magenta-alt))) `(consult-preview-cursor ((,class :inherit modus-theme-intense-blue))) `(consult-preview-error ((,class :inherit modus-theme-intense-red))) `(consult-preview-line ((,class :background ,bg-hl-alt-intense))) ;;;;; counsel `(counsel-active-mode ((,class :foreground ,magenta-alt-other))) `(counsel-application-name ((,class :foreground ,red-alt-other))) `(counsel-key-binding ((,class :inherit bold :foreground ,blue-alt-other))) `(counsel-outline-1 ((,class :inherit org-level-1))) `(counsel-outline-2 ((,class :inherit org-level-2))) `(counsel-outline-3 ((,class :inherit org-level-3))) `(counsel-outline-4 ((,class :inherit org-level-4))) `(counsel-outline-5 ((,class :inherit org-level-5))) `(counsel-outline-6 ((,class :inherit org-level-6))) `(counsel-outline-7 ((,class :inherit org-level-7))) `(counsel-outline-8 ((,class :inherit org-level-8))) `(counsel-outline-default ((,class :foreground ,fg-main))) `(counsel-variable-documentation ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other))) ;;;;; counsel-css `(counsel-css-selector-depth-face-1 ((,class :foreground ,blue))) `(counsel-css-selector-depth-face-2 ((,class :foreground ,cyan))) `(counsel-css-selector-depth-face-3 ((,class :foreground ,green))) `(counsel-css-selector-depth-face-4 ((,class :foreground ,yellow))) `(counsel-css-selector-depth-face-5 ((,class :foreground ,magenta))) `(counsel-css-selector-depth-face-6 ((,class :foreground ,red))) ;;;;; counsel-notmuch `(counsel-notmuch-count-face ((,class :foreground ,cyan))) `(counsel-notmuch-date-face ((,class :foreground ,blue))) `(counsel-notmuch-people-face ((,class :foreground ,magenta))) `(counsel-notmuch-subject-face ((,class :foreground ,magenta-alt-other))) ;;;;; counsel-org-capture-string `(counsel-org-capture-string-template-body-face ((,class :foreground ,fg-special-cold))) ;;;;; cov `(cov-coverage-not-run-face ((,class :foreground ,red-intense))) `(cov-coverage-run-face ((,class :foreground ,green-intense))) `(cov-heavy-face ((,class :foreground ,magenta-intense))) `(cov-light-face ((,class :foreground ,blue-intense))) `(cov-med-face ((,class :foreground ,yellow-intense))) `(cov-none-face ((,class :foreground ,cyan-intense))) ;;;;; cperl-mode `(cperl-nonoverridable-face ((,class :foreground unspecified))) `(cperl-array-face ((,class :inherit font-lock-keyword-face))) `(cperl-hash-face ((,class :inherit font-lock-variable-name-face))) ;;;;; csv-mode `(csv-separator-face ((,class :background ,bg-special-cold :foreground ,fg-main))) ;;;;; ctrlf `(ctrlf-highlight-active ((,class :inherit (modus-theme-intense-green bold)))) `(ctrlf-highlight-line ((,class :inherit modus-theme-hl-line))) `(ctrlf-highlight-passive ((,class :inherit modus-theme-refine-cyan))) ;;;;; custom (M-x customize) `(custom-button ((,class :box (:line-width 2 :color nil :style released-button) :background ,bg-active :foreground ,fg-main))) `(custom-button-mouse ((,class :box (:line-width 2 :color nil :style released-button) :background ,bg-active :foreground ,fg-active))) `(custom-button-pressed ((,class :box (:line-width 2 :color nil :style pressed-button) :background ,bg-active :foreground ,fg-main))) `(custom-changed ((,class :inherit modus-theme-subtle-cyan))) `(custom-comment ((,class :inherit shadow))) `(custom-comment-tag ((,class :background ,bg-alt :foreground ,yellow-alt-other))) `(custom-face-tag ((,class :inherit bold :foreground ,blue-intense))) `(custom-group-tag ((,class :inherit bold :foreground ,green-intense))) `(custom-group-tag-1 ((,class :inherit modus-theme-special-warm))) `(custom-invalid ((,class :inherit (modus-theme-intense-red bold)))) `(custom-modified ((,class :inherit modus-theme-subtle-cyan))) `(custom-rogue ((,class :inherit modus-theme-refine-magenta))) `(custom-set ((,class :foreground ,blue-alt))) `(custom-state ((,class :foreground ,cyan-alt-other))) `(custom-themed ((,class :inherit modus-theme-subtle-blue))) `(custom-variable-tag ((,class :inherit bold :foreground ,cyan))) ;;;;; dap-mode `(dap-mouse-eval-thing-face ((,class :box (:line-width -1 :color ,blue-active :style nil) :background ,bg-active :foreground ,fg-main))) `(dap-result-overlay-face ((,class :box (:line-width -1 :color ,bg-active :style nil) :background ,bg-active :foreground ,fg-main))) `(dap-ui-breakpoint-verified-fringe ((,class :inherit bold :foreground ,green-active))) `(dap-ui-compile-errline ((,class :inherit bold :foreground ,red-intense))) `(dap-ui-locals-scope-face ((,class :inherit bold :foreground ,magenta :underline t))) `(dap-ui-locals-variable-face ((,class :inherit bold :foreground ,cyan))) `(dap-ui-locals-variable-leaf-face ((,class :inherit italic :foreground ,cyan-alt-other))) `(dap-ui-marker-face ((,class :inherit modus-theme-subtle-blue))) `(dap-ui-sessions-stack-frame-face ((,class :inherit bold :foreground ,magenta-alt))) `(dap-ui-sessions-terminated-active-face ((,class :inherit bold :foreground ,fg-alt))) `(dap-ui-sessions-terminated-face ((,class :inherit shadow))) ;;;;; dashboard (emacs-dashboard) `(dashboard-banner-logo-title ((,class :inherit bold :foreground ,fg-special-cold))) `(dashboard-footer ((,class :inherit bold :foreground ,fg-special-mild))) `(dashboard-heading ((,class :inherit bold :foreground ,fg-special-warm))) `(dashboard-navigator ((,class :foreground ,cyan-alt-other))) `(dashboard-text-banner ((,class :foreground ,fg-dim))) ;;;;; deadgrep `(deadgrep-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) `(deadgrep-match-face ((,class :inherit modus-theme-special-calm))) `(deadgrep-meta-face ((,class :inherit shadow))) `(deadgrep-regexp-metachar-face ((,class :inherit bold :foreground ,yellow-intense))) `(deadgrep-search-term-face ((,class :inherit bold :foreground ,green-intense))) ;;;;; debbugs `(debbugs-gnu-archived ((,class :inverse-video t))) `(debbugs-gnu-done ((,class :inherit shadow))) `(debbugs-gnu-forwarded ((,class :foreground ,fg-special-warm))) `(debbugs-gnu-handled ((,class :foreground ,green))) `(debbugs-gnu-new ((,class :foreground ,red))) `(debbugs-gnu-pending ((,class :foreground ,cyan))) `(debbugs-gnu-stale-1 ((,class :foreground ,yellow-nuanced-fg))) `(debbugs-gnu-stale-2 ((,class :foreground ,yellow))) `(debbugs-gnu-stale-3 ((,class :foreground ,yellow-alt))) `(debbugs-gnu-stale-4 ((,class :foreground ,yellow-alt-other))) `(debbugs-gnu-stale-5 ((,class :foreground ,red-alt))) `(debbugs-gnu-tagged ((,class :foreground ,magenta-alt))) ;;;;; define-word `(define-word-face-1 ((,class :foreground ,yellow))) `(define-word-face-2 ((,class :foreground ,fg-main))) ;;;;; deft `(deft-filter-string-error-face ((,class :inherit modus-theme-refine-red))) `(deft-filter-string-face ((,class :foreground ,green-intense))) `(deft-header-face ((,class :inherit bold :foreground ,fg-special-warm))) `(deft-separator-face ((,class :inherit shadow))) `(deft-summary-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(deft-time-face ((,class :foreground ,fg-special-cold))) `(deft-title-face ((,class :inherit bold :foreground ,fg-main))) ;;;;; dictionary `(dictionary-button-face ((,class :inherit bold :foreground ,fg-special-cold))) `(dictionary-reference-face ((,class :inherit button))) `(dictionary-word-definition-face (())) `(dictionary-word-entry-face ((,class :inherit font-lock-comment-face))) ;;;;; diff-hl `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow))) `(diff-hl-delete ((,class :inherit modus-theme-fringe-red))) `(diff-hl-dired-change ((,class :inherit diff-hl-change))) `(diff-hl-dired-delete ((,class :inherit diff-hl-delete))) `(diff-hl-dired-ignored ((,class :inherit dired-ignored))) `(diff-hl-dired-insert ((,class :inherit diff-hl-insert))) `(diff-hl-dired-unknown ((,class :inherit dired-ignored))) `(diff-hl-insert ((,class :inherit modus-theme-fringe-green))) `(diff-hl-reverted-hunk-highlight ((,class :inherit (modus-theme-active-magenta bold)))) ;;;;; diff-mode `(diff-added ((,class :inherit modus-theme-diff-added))) `(diff-changed ((,class :inherit modus-theme-diff-changed :extend t))) `(diff-context ((,class ,@(modus-themes--diff-text fg-main fg-unfocused)))) `(diff-error ((,class :inherit modus-theme-intense-red))) `(diff-file-header ((,class :inherit (bold diff-header)))) `(diff-function ((,class :inherit modus-theme-diff-heading))) `(diff-header ((,class ,@(modus-themes--diff-text cyan-faint fg-main)))) `(diff-hunk-header ((,class :inherit (bold modus-theme-diff-heading)))) `(diff-index ((,class :inherit bold :foreground ,blue-alt))) `(diff-indicator-added ((,class :inherit (diff-added bold) :foreground ,@(modus-themes--diff-deuteran blue green)))) `(diff-indicator-changed ((,class :inherit (diff-changed bold) :foreground ,yellow))) `(diff-indicator-removed ((,class :inherit (diff-removed bold) :foreground ,red))) `(diff-nonexistent ((,class :inherit (modus-theme-neutral bold)))) `(diff-refine-added ((,class :inherit modus-theme-diff-refine-added))) `(diff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) `(diff-refine-removed ((,class :inherit modus-theme-diff-refine-removed))) `(diff-removed ((,class :inherit modus-theme-diff-removed))) ;;;;; dim-autoload `(dim-autoload-cookie-line ((,class :inherit font-lock-comment-face))) ;;;;; dir-treeview `(dir-treeview-archive-face ((,class :foreground ,fg-special-warm))) `(dir-treeview-archive-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,yellow))) `(dir-treeview-audio-face ((,class :foreground ,magenta))) `(dir-treeview-audio-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt))) `(dir-treeview-control-face ((,class :inherit shadow))) `(dir-treeview-control-mouse-face ((,class :inherit highlight))) `(dir-treeview-default-icon-face ((,class :inherit bold :family "Font Awesome" :foreground ,fg-alt))) `(dir-treeview-default-filename-face ((,class :foreground ,fg-main))) `(dir-treeview-directory-face ((,class :foreground ,blue))) `(dir-treeview-directory-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,blue-alt))) `(dir-treeview-executable-face ((,class :foreground ,red-alt))) `(dir-treeview-executable-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,red-alt-other))) `(dir-treeview-image-face ((,class :foreground ,green-alt-other))) `(dir-treeview-image-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,green-alt))) `(dir-treeview-indent-face ((,class :inherit shadow))) `(dir-treeview-label-mouse-face ((,class :inherit highlight))) `(dir-treeview-start-dir-face ((,class :inherit modus-theme-pseudo-header))) `(dir-treeview-symlink-face ((,class :inherit button ,@(modus-themes--link-color cyan cyan-faint)))) `(dir-treeview-video-face ((,class :foreground ,magenta-alt-other))) `(dir-treeview-video-icon-face ((,class :inherit dir-treeview-default-icon-face :foreground ,magenta-alt-other))) ;;;;; dired `(dired-broken-symlink ((,class :inherit button :foreground ,red))) `(dired-directory ((,class :foreground ,blue))) `(dired-flagged ((,class :inherit modus-theme-mark-del))) `(dired-header ((,class :inherit modus-theme-pseudo-header))) `(dired-ignored ((,class :inherit shadow))) `(dired-mark ((,class :inherit modus-theme-mark-symbol))) `(dired-marked ((,class :inherit modus-theme-mark-sel))) `(dired-perm-write ((,class :foreground ,fg-special-warm))) `(dired-symlink ((,class :inherit button ,@(modus-themes--link-color cyan-alt cyan-alt-faint)))) `(dired-warning ((,class :inherit bold :foreground ,yellow))) ;;;;; dired-async `(dired-async-failures ((,class :inherit modus-theme-bold :foreground ,red-active))) `(dired-async-message ((,class :inherit modus-theme-bold :foreground ,green-active))) `(dired-async-mode-message ((,class :inherit modus-theme-bold :foreground ,cyan-active))) ;;;;; dired-git `(dired-git-branch-else ((,class :inherit bold :foreground ,magenta-alt))) `(dired-git-branch-master ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; dired-git-info `(dgi-commit-message-face ((,class :foreground ,fg-special-mild))) ;;;;; dired-narrow `(dired-narrow-blink ((,class :inherit (modus-theme-subtle-cyan bold)))) ;;;;; dired-subtree ;; remove backgrounds from dired-subtree faces, else they break ;; dired-{flagged,marked} and any other face that sets a background ;; such as hl-line. Also, denoting depth by varying shades of gray ;; is not good for accessibility. `(dired-subtree-depth-1-face (())) `(dired-subtree-depth-2-face (())) `(dired-subtree-depth-3-face (())) `(dired-subtree-depth-4-face (())) `(dired-subtree-depth-5-face (())) `(dired-subtree-depth-6-face (())) ;;;;; diredc `(diredc-face-chmod-font-lock-dir ((,class :foreground ,blue-alt))) `(diredc-face-chmod-font-lock-exec ((,class :foreground ,magenta))) `(diredc-face-chmod-font-lock-read ((,class :foreground ,fg-main))) `(diredc-face-chmod-font-lock-write ((,class :foreground ,cyan))) ;;;;; diredfl `(diredfl-autofile-name ((,class :inherit modus-theme-special-cold))) `(diredfl-compressed-file-name ((,class :foreground ,fg-special-warm))) `(diredfl-compressed-file-suffix ((,class :foreground ,red-alt))) `(diredfl-date-time ((,class :foreground ,cyan-alt-other))) `(diredfl-deletion ((,class :inherit modus-theme-mark-del))) `(diredfl-deletion-file-name ((,class :inherit modus-theme-mark-del))) `(diredfl-dir-heading ((,class :inherit modus-theme-pseudo-header))) `(diredfl-dir-name ((,class :inherit dired-directory))) `(diredfl-dir-priv ((,class :foreground ,blue-alt))) `(diredfl-exec-priv ((,class :foreground ,magenta))) `(diredfl-executable-tag ((,class :foreground ,magenta-alt))) `(diredfl-file-name ((,class :foreground ,fg-main))) `(diredfl-file-suffix ((,class :foreground ,cyan))) `(diredfl-flag-mark ((,class :inherit modus-theme-mark-sel))) `(diredfl-flag-mark-line ((,class :inherit modus-theme-mark-sel))) `(diredfl-ignored-file-name ((,class :inherit shadow))) `(diredfl-link-priv ((,class :foreground ,blue-alt-other))) `(diredfl-no-priv ((,class :inherit shadow))) `(diredfl-number ((,class :foreground ,cyan-alt))) `(diredfl-other-priv ((,class :foreground ,yellow))) `(diredfl-rare-priv ((,class :foreground ,red-alt))) `(diredfl-read-priv ((,class :foreground ,fg-main))) `(diredfl-symlink ((,class :inherit dired-symlink))) `(diredfl-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta))) `(diredfl-write-priv ((,class :foreground ,cyan))) ;;;;; dired+ `(diredp-autofile-name ((,class :inherit modus-theme-special-cold))) `(diredp-compressed-file-name ((,class :foreground ,fg-special-warm))) `(diredp-compressed-file-suffix ((,class :foreground ,red-alt))) `(diredp-date-time ((,class :foreground ,cyan-alt-other))) `(diredp-deletion ((,class :inherit modus-theme-mark-del))) `(diredp-deletion-file-name ((,class :inherit modus-theme-mark-del))) `(diredp-dir-heading ((,class :inherit modus-theme-pseudo-header))) `(diredp-dir-name ((,class :inherit dired-directory))) `(diredp-dir-priv ((,class :foreground ,blue-alt))) `(diredp-exec-priv ((,class :foreground ,magenta))) `(diredp-executable-tag ((,class :foreground ,magenta-alt))) `(diredp-file-name ((,class :foreground ,fg-main))) `(diredp-file-suffix ((,class :foreground ,cyan))) `(diredp-flag-mark ((,class :inherit modus-theme-mark-sel))) `(diredp-flag-mark-line ((,class :inherit modus-theme-mark-sel))) `(diredp-ignored-file-name ((,class :inherit shadow))) `(diredp-link-priv ((,class :foreground ,blue-alt-other))) `(diredp-mode-line-flagged ((,class :foreground ,red-active))) `(diredp-mode-line-marked ((,class :foreground ,green-active))) `(diredp-no-priv ((,class :inherit shadow))) `(diredp-number ((,class :foreground ,cyan-alt))) `(diredp-omit-file-name ((,class :inherit shadow :strike-through t))) `(diredp-other-priv ((,class :foreground ,yellow))) `(diredp-rare-priv ((,class :foreground ,red-alt))) `(diredp-read-priv ((,class :foreground ,fg-main))) `(diredp-symlink ((,class :inherit dired-symlink))) `(diredp-tagged-autofile-name ((,class :inherit modus-theme-refine-magenta))) `(diredp-write-priv ((,class :foreground ,cyan))) ;;;;; disk-usage `(disk-usage-children ((,class :foreground ,yellow))) `(disk-usage-inaccessible ((,class :inherit bold :foreground ,red))) `(disk-usage-percent ((,class :foreground ,green))) `(disk-usage-size ((,class :foreground ,cyan))) `(disk-usage-symlink ((,class :inherit button))) `(disk-usage-symlink-directory ((,class :inherit bold :foreground ,blue-alt))) ;;;;; display-fill-column-indicator-mode `(fill-column-indicator ((,class :foreground ,bg-active))) ;;;;; doom-modeline `(doom-modeline-bar ((,class :inherit modus-theme-active-blue))) `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main))) `(doom-modeline-battery-charging ((,class :foreground ,green-active))) `(doom-modeline-battery-critical ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-battery-error ((,class :inherit bold :box (:line-width -2) :foreground ,red-active))) `(doom-modeline-battery-full ((,class :foreground ,blue-active))) `(doom-modeline-battery-normal ((,class :foreground ,fg-active))) `(doom-modeline-battery-warning ((,class :inherit bold :foreground ,yellow-active))) `(doom-modeline-buffer-file ((,class :inherit bold :foreground ,fg-active))) `(doom-modeline-buffer-major-mode ((,class :inherit bold :foreground ,cyan-active))) `(doom-modeline-buffer-minor-mode ((,class :foreground ,fg-inactive))) `(doom-modeline-buffer-modified ((,class :inherit bold :foreground ,magenta-active))) `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active))) `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active))) `(doom-modeline-debug-visual ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground ,magenta-active))) `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground ,green-active))) `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground ,fg-inactive))) `(doom-modeline-evil-normal-state ((,class :inherit bold :foreground ,fg-active))) `(doom-modeline-evil-operator-state ((,class :inherit bold :foreground ,blue-active))) `(doom-modeline-evil-replace-state ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-evil-visual-state ((,class :inherit bold :foreground ,cyan-active))) `(doom-modeline-highlight ((,class :inherit bold :foreground ,blue-active))) `(doom-modeline-host ((,class :inherit italic))) `(doom-modeline-info ((,class :foreground ,green-active))) `(doom-modeline-lsp-error ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-lsp-success ((,class :inherit bold :foreground ,green-active))) `(doom-modeline-lsp-warning ((,class :inherit bold :foreground ,yellow-active))) `(doom-modeline-panel ((,class :inherit modus-theme-active-blue))) `(doom-modeline-persp-buffer-not-in-persp ((,class :inherit italic :foreground ,yellow-active))) `(doom-modeline-persp-name ((,class :foreground ,fg-active))) `(doom-modeline-project-dir ((,class :inherit bold :foreground ,blue-active))) `(doom-modeline-project-parent-dir ((,class :foreground ,blue-active))) `(doom-modeline-project-root-dir ((,class :foreground ,fg-active))) `(doom-modeline-unread-number ((,class :inherit italic :foreground ,fg-active))) `(doom-modeline-urgent ((,class :inherit bold :foreground ,red-active))) `(doom-modeline-warning ((,class :inherit bold :foreground ,yellow-active))) ;;;;; dynamic-ruler `(dynamic-ruler-negative-face ((,class :inherit modus-theme-intense-neutral))) `(dynamic-ruler-positive-face ((,class :inherit modus-theme-intense-yellow))) ;;;;; easy-jekyll `(easy-jekyll-help-face ((,class :background ,bg-dim :foreground ,cyan-alt-other))) ;;;;; easy-kill `(easy-kill-origin ((,class :inherit modus-theme-subtle-red))) `(easy-kill-selection ((,class :inherit modus-theme-subtle-yellow))) ;;;;; ebdb `(ebdb-address-default ((,class :foreground ,fg-special-calm))) `(ebdb-defunct ((,class :inherit shadow))) `(ebdb-field-hidden ((,class :foreground ,magenta))) `(ebdb-label ((,class :foreground ,cyan-alt-other))) `(ebdb-mail-default ((,class :foreground ,fg-main))) `(ebdb-mail-primary ((,class :foreground ,magenta-alt))) `(ebdb-marked ((,class :background ,cyan-intense-bg))) `(ebdb-organization-name ((,class :foreground ,red-alt-other))) `(ebdb-person-name ((,class :foreground ,magenta-alt-other))) `(ebdb-phone-default ((,class :foreground ,cyan))) `(eieio-custom-slot-tag-face ((,class :foreground ,red-alt))) ;;;;; ediff ;; NOTE: here we break from the pattern of inheriting from the ;; modus-theme-diff-* faces. `(ediff-current-diff-A ((,class ,@(modus-themes--diff bg-dim red bg-diff-removed fg-diff-removed red-nuanced-bg red-faint)))) `(ediff-current-diff-Ancestor ((,class ,@(modus-themes--diff bg-dim fg-special-cold bg-special-cold fg-special-cold blue-nuanced-bg blue)))) `(ediff-current-diff-B ((,class ,@(modus-themes--diff bg-dim green bg-diff-added fg-diff-added green-nuanced-bg green-faint bg-diff-added-deuteran fg-diff-added-deuteran)))) `(ediff-current-diff-C ((,class ,@(modus-themes--diff bg-dim yellow bg-diff-changed fg-diff-changed yellow-nuanced-bg yellow-faint)))) `(ediff-even-diff-A ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) `(ediff-even-diff-Ancestor ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-1))) `(ediff-even-diff-B ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) `(ediff-even-diff-C ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) `(ediff-fine-diff-A ((,class :background ,bg-diff-focus-removed :foreground ,fg-diff-focus-removed))) `(ediff-fine-diff-Ancestor ((,class :inherit modus-theme-refine-cyan))) `(ediff-fine-diff-B ((,class :background ,@(modus-themes--diff-deuteran bg-diff-focus-added-deuteran bg-diff-focus-added) :foreground ,@(modus-themes--diff-deuteran fg-diff-focus-added-deuteran fg-diff-focus-added)))) `(ediff-fine-diff-C ((,class :background ,bg-diff-focus-changed :foreground ,fg-diff-focus-changed))) `(ediff-odd-diff-A ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) `(ediff-odd-diff-Ancestor ((,class :background ,bg-diff-neutral-0 :foreground ,fg-diff-neutral-0))) `(ediff-odd-diff-B ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) `(ediff-odd-diff-C ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) ;;;;; eglot `(eglot-mode-line ((,class :inherit modus-theme-bold :foreground ,magenta-active))) ;;;;; el-search `(el-search-highlight-in-prompt-face ((,class :inherit bold :foreground ,magenta-alt))) `(el-search-match ((,class :inherit modus-theme-intense-green))) `(el-search-other-match ((,class :inherit modus-theme-special-mild))) `(el-search-occur-match ((,class :inherit modus-theme-special-calm))) ;;;;; eldoc ;; NOTE: see https://github.com/purcell/package-lint/issues/187 (list 'eldoc-highlight-function-argument `((,class :inherit bold :foreground ,blue-alt-other))) ;;;;; eldoc-box `(eldoc-box-body ((,class :background ,bg-alt :foreground ,fg-main))) `(eldoc-box-border ((,class :background ,fg-alt))) ;;;;; elfeed `(elfeed-log-date-face ((,class :inherit elfeed-search-date-face))) `(elfeed-log-debug-level-face ((,class :inherit elfeed-search-filter-face))) `(elfeed-log-error-level-face ((,class :inherit error))) `(elfeed-log-info-level-face ((,class :inherit success))) `(elfeed-log-warn-level-face ((,class :inherit warning))) `(elfeed-search-date-face ((,class :foreground ,cyan))) `(elfeed-search-feed-face ((,class :foreground ,blue-faint))) `(elfeed-search-filter-face ((,class :inherit bold :foreground ,magenta-active))) `(elfeed-search-last-update-face ((,class :foreground ,cyan-active))) `(elfeed-search-tag-face ((,class :foreground ,cyan-alt-other))) `(elfeed-search-title-face ((,class :foreground ,fg-dim))) `(elfeed-search-unread-count-face ((,class :foreground ,green-active))) `(elfeed-search-unread-title-face ((,class :inherit bold :foreground ,fg-main))) ;;;;; elfeed-score `(elfeed-score-date-face ((,class :foreground ,blue))) `(elfeed-score-debug-level-face ((,class :foreground ,magenta-alt-other))) `(elfeed-score-error-level-face ((,class :foreground ,red))) `(elfeed-score-info-level-face ((,class :foreground ,cyan))) `(elfeed-score-warn-level-face ((,class :foreground ,yellow))) ;;;;; emms `(emms-playlist-track-face ((,class :foreground ,blue))) `(emms-playlist-selected-face ((,class :inherit bold :foreground ,magenta))) ;;;;; enhanced-ruby-mode `(enh-ruby-heredoc-delimiter-face ((,class :foreground ,blue-alt-other))) `(enh-ruby-op-face ((,class :foreground ,fg-main))) `(enh-ruby-regexp-delimiter-face ((,class :foreground ,green))) `(enh-ruby-regexp-face ((,class :foreground ,magenta))) `(enh-ruby-string-delimiter-face ((,class :foreground ,blue-alt))) `(erm-syn-errline ((,class :foreground ,red :underline t))) `(erm-syn-warnline ((,class :foreground ,yellow :underline t))) ;;;;; epa `(epa-field-body ((,class :foreground ,fg-main))) `(epa-field-name ((,class :inherit bold :foreground ,fg-dim))) `(epa-mark ((,class :inherit bold :foreground ,magenta))) `(epa-string ((,class :foreground ,blue-alt))) `(epa-validity-disabled ((,class :foreground ,red))) `(epa-validity-high ((,class :inherit bold :foreground ,cyan))) `(epa-validity-low ((,class :inherit shadow))) `(epa-validity-medium ((,class :foreground ,green-alt))) ;;;;; equake `(equake-buffer-face ((,class :background ,bg-main :foreground ,fg-main))) `(equake-shell-type-eshell ((,class :background ,bg-inactive :foreground ,green-active))) `(equake-shell-type-rash ((,class :background ,bg-inactive :foreground ,red-active))) `(equake-shell-type-shell ((,class :background ,bg-inactive :foreground ,cyan-active))) `(equake-shell-type-term ((,class :background ,bg-inactive :foreground ,yellow-active))) `(equake-shell-type-vterm ((,class :background ,bg-inactive :foreground ,magenta-active))) `(equake-tab-active ((,class :background ,fg-alt :foreground ,bg-alt))) `(equake-tab-inactive ((,class :foreground ,fg-inactive))) ;;;;; erc `(erc-action-face ((,class :inherit bold :foreground ,cyan))) `(erc-bold-face ((,class :inherit bold))) `(erc-button ((,class :inherit button))) `(erc-command-indicator-face ((,class :inherit bold :foreground ,cyan-alt))) `(erc-current-nick-face ((,class :foreground ,magenta-alt-other))) `(erc-dangerous-host-face ((,class :inherit modus-theme-intense-red))) `(erc-direct-msg-face ((,class :foreground ,magenta))) `(erc-error-face ((,class :inherit bold :foreground ,red))) `(erc-fool-face ((,class :foreground ,fg-inactive))) `(erc-header-line ((,class :background ,bg-header :foreground ,fg-header))) `(erc-input-face ((,class :foreground ,fg-special-calm))) `(erc-inverse-face ((,class :inherit erc-default-face :inverse-video t))) `(erc-keyword-face ((,class :inherit bold :foreground ,magenta-alt))) `(erc-my-nick-face ((,class :inherit bold :foreground ,magenta))) `(erc-my-nick-prefix-face ((,class :inherit erc-my-nick-face))) `(erc-nick-default-face ((,class :inherit bold :foreground ,blue))) `(erc-nick-msg-face ((,class :inherit bold :foreground ,green))) `(erc-nick-prefix-face ((,class :inherit erc-nick-default-face))) `(erc-notice-face ((,class :foreground ,fg-unfocused))) `(erc-pal-face ((,class :inherit bold :foreground ,red-alt))) `(erc-prompt-face ((,class :inherit bold :foreground ,cyan-alt-other))) `(erc-timestamp-face ((,class :foreground ,blue-nuanced-fg))) `(erc-underline-face ((,class :underline t))) `(bg:erc-color-face0 ((,class :background "white"))) `(bg:erc-color-face1 ((,class :background "black"))) `(bg:erc-color-face10 ((,class :background ,cyan-subtle-bg))) `(bg:erc-color-face11 ((,class :background ,cyan-intense-bg))) `(bg:erc-color-face12 ((,class :background ,blue-subtle-bg))) `(bg:erc-color-face13 ((,class :background ,magenta-subtle-bg))) `(bg:erc-color-face14 ((,class :background "gray60"))) `(bg:erc-color-face15 ((,class :background "gray80"))) `(bg:erc-color-face2 ((,class :background ,blue-intense-bg))) `(bg:erc-color-face3 ((,class :background ,green-intense-bg))) `(bg:erc-color-face4 ((,class :background ,red-subtle-bg))) `(bg:erc-color-face5 ((,class :background ,red-intense-bg))) `(bg:erc-color-face6 ((,class :background ,magenta-refine-bg))) `(bg:erc-color-face7 ((,class :background ,yellow-subtle-bg))) `(bg:erc-color-face8 ((,class :background ,yellow-refine-bg))) `(bg:erc-color-face9 ((,class :background ,green-subtle-bg))) `(fg:erc-color-face0 ((,class :foreground "white"))) `(fg:erc-color-face1 ((,class :foreground "black"))) `(fg:erc-color-face10 ((,class :foreground ,cyan))) `(fg:erc-color-face11 ((,class :foreground ,cyan-alt-other))) `(fg:erc-color-face12 ((,class :foreground ,blue))) `(fg:erc-color-face13 ((,class :foreground ,magenta-alt))) `(fg:erc-color-face14 ((,class :foreground "gray60"))) `(fg:erc-color-face15 ((,class :foreground "gray80"))) `(fg:erc-color-face2 ((,class :foreground ,blue-alt-other))) `(fg:erc-color-face3 ((,class :foreground ,green))) `(fg:erc-color-face4 ((,class :foreground ,red))) `(fg:erc-color-face5 ((,class :foreground ,red-alt))) `(fg:erc-color-face6 ((,class :foreground ,magenta-alt-other))) `(fg:erc-color-face7 ((,class :foreground ,yellow-alt-other))) `(fg:erc-color-face8 ((,class :foreground ,yellow-alt))) `(fg:erc-color-face9 ((,class :foreground ,green-alt-other))) ;;;;; eros `(eros-result-overlay-face ((,class :box (:line-width -1 :color ,blue) :background ,bg-dim :foreground ,fg-dim))) ;;;;; ert `(ert-test-result-expected ((,class :inherit modus-theme-intense-green))) `(ert-test-result-unexpected ((,class :inherit modus-theme-intense-red))) ;;;;; eshell `(eshell-ls-archive ((,class :inherit bold :foreground ,cyan-alt))) `(eshell-ls-backup ((,class :foreground ,yellow-alt))) `(eshell-ls-clutter ((,class :foreground ,red-alt))) `(eshell-ls-directory ((,class :inherit bold :foreground ,blue-alt))) `(eshell-ls-executable ((,class :foreground ,magenta-alt))) `(eshell-ls-missing ((,class :inherit modus-theme-intense-red))) `(eshell-ls-product ((,class :foreground ,fg-special-warm))) `(eshell-ls-readonly ((,class :foreground ,fg-special-cold))) `(eshell-ls-special ((,class :inherit bold :foreground ,magenta))) `(eshell-ls-symlink ((,class :inherit button ,@(modus-themes--link-color cyan cyan-faint)))) `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground ,fg-inactive))) `(eshell-prompt ((,class :inherit modus-theme-bold ,@(modus-themes--prompt green-alt-other green-nuanced-bg green-alt green-refine-bg fg-main)))) ;;;;; eshell-fringe-status `(eshell-fringe-status-failure ((,class :foreground ,red))) `(eshell-fringe-status-success ((,class :foreground ,green))) ;;;;; eshell-git-prompt `(eshell-git-prompt-add-face ((,class :inherit shadow))) `(eshell-git-prompt-branch-face ((,class :inherit shadow))) `(eshell-git-prompt-directory-face ((,class :foreground ,cyan))) `(eshell-git-prompt-exit-fail-face ((,class :foreground ,red))) `(eshell-git-prompt-exit-success-face ((,class :foreground ,green))) `(eshell-git-prompt-modified-face ((,class :foreground ,yellow))) `(eshell-git-prompt-powerline-clean-face ((,class :background ,green-refine-bg))) `(eshell-git-prompt-powerline-dir-face ((,class :background ,blue-refine-bg))) `(eshell-git-prompt-powerline-not-clean-face ((,class :background ,magenta-refine-bg))) `(eshell-git-prompt-robyrussell-branch-face ((,class :foreground ,red))) `(eshell-git-prompt-robyrussell-git-dirty-face ((,class :foreground ,yellow))) `(eshell-git-prompt-robyrussell-git-face ((,class :foreground ,blue))) ;;;;; eshell-prompt-extras (epe) `(epe-dir-face ((,class :inherit modus-theme-bold :foreground ,blue))) `(epe-git-dir-face ((,class :foreground ,red-alt-other))) `(epe-git-face ((,class :foreground ,cyan-alt))) `(epe-pipeline-delimiter-face ((,class :foreground ,green-alt))) `(epe-pipeline-host-face ((,class :foreground ,blue))) `(epe-pipeline-time-face ((,class :foreground ,fg-special-warm))) `(epe-pipeline-user-face ((,class :foreground ,magenta))) `(epe-remote-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(epe-status-face ((,class :foreground ,magenta-alt-other))) `(epe-venv-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) ;;;;; eshell-syntax-highlighting `(eshell-syntax-highlighting-alias-face ((,class :foreground ,cyan))) `(eshell-syntax-highlighting-comment-face ((,class :inherit shadow))) `(eshell-syntax-highlighting-directory-face ((,class :foreground ,blue))) `(eshell-syntax-highlighting-envvar-face ((,class :foreground ,magenta-alt))) `(eshell-syntax-highlighting-invalid-face ((,class :foreground ,red))) `(eshell-syntax-highlighting-lisp-function-face ((,class :foreground ,magenta))) `(eshell-syntax-highlighting-shell-command-face ((,class :foreground ,cyan-alt-other))) `(eshell-syntax-highlighting-string-face ((,class :foreground ,blue-alt))) ;;;;; evil-mode `(evil-ex-commands ((,class :foreground ,magenta-alt-other))) `(evil-ex-info ((,class :foreground ,cyan-alt-other))) `(evil-ex-lazy-highlight ((,class :inherit modus-theme-refine-cyan))) `(evil-ex-search ((,class :inherit modus-theme-intense-green))) `(evil-ex-substitute-matches ((,class :inherit modus-theme-refine-yellow :underline t))) `(evil-ex-substitute-replacement ((,class :inherit (modus-theme-intense-green bold)))) ;;;;; evil-goggles `(evil-goggles-change-face ((,class :inherit modus-theme-refine-yellow))) `(evil-goggles-commentary-face ((,class :inherit (modus-theme-subtle-neutral modus-theme-slant)))) `(evil-goggles-default-face ((,class :inherit modus-theme-subtle-neutral))) `(evil-goggles-delete-face ((,class :inherit modus-theme-refine-red))) `(evil-goggles-fill-and-move-face ((,class :inherit evil-goggles-default-face))) `(evil-goggles-indent-face ((,class :inherit evil-goggles-default-face))) `(evil-goggles-join-face ((,class :inherit modus-theme-subtle-green))) `(evil-goggles-nerd-commenter-face ((,class :inherit evil-goggles-commentary-face))) `(evil-goggles-paste-face ((,class :inherit modus-theme-subtle-cyan))) `(evil-goggles-record-macro-face ((,class :inherit modus-theme-special-cold))) `(evil-goggles-replace-with-register-face ((,class :inherit modus-theme-refine-magenta))) `(evil-goggles-set-marker-face ((,class :inherit modus-theme-intense-magenta))) `(evil-goggles-shift-face ((,class :inherit evil-goggles-default-face))) `(evil-goggles-surround-face ((,class :inherit evil-goggles-default-face))) `(evil-goggles-yank-face ((,class :inherit modus-theme-subtle-blue))) ;;;;; evil-snipe `(evil-snipe-first-match-face ((,class :inherit (bold modus-theme-intense-blue)))) `(evil-snipe-matches-face ((,class :inherit modus-theme-refine-magenta))) ;;;;; evil-visual-mark-mode `(evil-visual-mark-face ((,class :inherit modus-theme-intense-magenta))) ;;;;; eww `(eww-invalid-certificate ((,class :foreground ,red-active))) `(eww-valid-certificate ((,class :foreground ,green-active))) `(eww-form-checkbox ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-inactive :foreground ,fg-main))) `(eww-form-file ((,class :box (:line-width 1 :color ,fg-inactive :style released-button) :background ,bg-active :foreground ,fg-main))) `(eww-form-select ((,class :inherit eww-form-checkbox))) `(eww-form-submit ((,class :inherit eww-form-file))) `(eww-form-text ((,class :box (:line-width 1 :color ,fg-inactive :style none) :background ,bg-active :foreground ,fg-active))) `(eww-form-textarea ((,class :background ,bg-alt :foreground ,fg-main))) ;;;;; eyebrowse `(eyebrowse-mode-line-active ((,class :inherit bold :foreground ,blue-active))) ;;;;; fancy-dabbrev `(fancy-dabbrev-menu-face ((,class :background ,bg-alt :foreground ,fg-alt))) `(fancy-dabbrev-preview-face ((,class :inherit shadow :underline t))) `(fancy-dabbrev-selection-face ((,class :inherit (modus-theme-intense-cyan bold)))) ;;;;; flycheck `(flycheck-error ((,class :inherit modus-theme-lang-error))) `(flycheck-error-list-checker-name ((,class :foreground ,magenta-active))) `(flycheck-error-list-column-number ((,class :foreground ,fg-special-cold))) `(flycheck-error-list-error ((,class :inherit modus-theme-bold :foreground ,red))) `(flycheck-error-list-filename ((,class :foreground ,blue))) `(flycheck-error-list-highlight ((,class :inherit modus-theme-hl-line))) `(flycheck-error-list-id ((,class :foreground ,magenta-alt-other))) `(flycheck-error-list-id-with-explainer ((,class :inherit flycheck-error-list-id :box t))) `(flycheck-error-list-info ((,class :foreground ,cyan))) `(flycheck-error-list-line-number ((,class :foreground ,fg-special-warm))) `(flycheck-error-list-warning ((,class :foreground ,yellow))) `(flycheck-fringe-error ((,class :inherit modus-theme-fringe-red))) `(flycheck-fringe-info ((,class :inherit modus-theme-fringe-cyan))) `(flycheck-fringe-warning ((,class :inherit modus-theme-fringe-yellow))) `(flycheck-info ((,class :inherit modus-theme-lang-note))) `(flycheck-verify-select-checker ((,class :box (:line-width 1 :color nil :style released-button)))) `(flycheck-warning ((,class :inherit modus-theme-lang-warning))) ;;;;; flycheck-color-mode-line `(flycheck-color-mode-line-error-face ((,class :inherit flycheck-fringe-error))) `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-info))) `(flycheck-color-mode-line-running-face ((,class :inherit italic :foreground ,fg-inactive))) `(flycheck-color-mode-line-info-face ((,class :inherit flycheck-fringe-warning))) ;;;;; flycheck-indicator `(flycheck-indicator-disabled ((,class :inherit modus-theme-slant :foreground ,fg-inactive))) `(flycheck-indicator-error ((,class :inherit modus-theme-bold :foreground ,red-active))) `(flycheck-indicator-info ((,class :inherit modus-theme-bold :foreground ,blue-active))) `(flycheck-indicator-running ((,class :inherit modus-theme-bold :foreground ,magenta-active))) `(flycheck-indicator-success ((,class :inherit modus-theme-bold :foreground ,green-active))) `(flycheck-indicator-warning ((,class :inherit modus-theme-bold :foreground ,yellow-active))) ;;;;; flycheck-posframe `(flycheck-posframe-background-face ((,class :background ,bg-alt))) `(flycheck-posframe-border-face ((,class :inherit shadow))) `(flycheck-posframe-error-face ((,class :inherit bold :foreground ,red))) `(flycheck-posframe-face ((,class :inherit modus-theme-slant :foreground ,fg-main))) `(flycheck-posframe-info-face ((,class :inherit bold :foreground ,cyan))) `(flycheck-posframe-warning-face ((,class :inherit bold :foreground ,yellow))) ;;;;; flymake `(flymake-error ((,class :inherit modus-theme-lang-error))) `(flymake-note ((,class :inherit modus-theme-lang-note))) `(flymake-warning ((,class :inherit modus-theme-lang-warning))) ;;;;; flyspell `(flyspell-duplicate ((,class :inherit modus-theme-lang-warning))) `(flyspell-incorrect ((,class :inherit modus-theme-lang-error))) ;;;;; flyspell-correct `(flyspell-correct-highlight-face ((,class :inherit modus-theme-refine-green))) ;;;;; flx `(flx-highlight-face ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-intense-magenta 'modus-theme-nuanced-magenta magenta-alt 'bold)))) ;;;;; freeze-it `(freeze-it-show ((,class :background ,bg-dim :foreground ,fg-special-warm))) ;;;;; frog-menu `(frog-menu-action-keybinding-face ((,class :foreground ,blue-alt-other))) `(frog-menu-actions-face ((,class :foreground ,magenta))) `(frog-menu-border ((,class :background ,bg-active))) `(frog-menu-candidates-face ((,class :foreground ,fg-main))) `(frog-menu-posframe-background-face ((,class :background ,bg-dim))) `(frog-menu-prompt-face ((,class :foreground ,cyan))) ;;;;; focus `(focus-unfocused ((,class :foreground ,fg-unfocused))) ;;;;; fold-this `(fold-this-overlay ((,class :inherit modus-theme-special-mild))) ;;;;; font-lock `(font-lock-builtin-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-extra magenta-alt magenta-alt-faint blue-alt)))) `(font-lock-comment-delimiter-face ((,class :inherit font-lock-comment-face))) `(font-lock-comment-face ((,class :inherit modus-theme-slant ,@(modus-themes--syntax-comment fg-alt fg-comment-yellow)))) `(font-lock-constant-face ((,class ,@(modus-themes--syntax-extra blue-alt-other blue-alt-other-faint magenta-alt-other)))) `(font-lock-doc-face ((,class :inherit modus-theme-slant ,@(modus-themes--syntax-docstring fg-docstring green-alt-other-faint green-alt-other-faint magenta-nuanced-fg)))) `(font-lock-function-name-face ((,class ,@(modus-themes--syntax-extra magenta magenta-faint magenta-alt)))) `(font-lock-keyword-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-extra magenta-alt-other magenta-alt-other-faint cyan-alt-other)))) `(font-lock-negation-char-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-foreground yellow yellow-faint)))) `(font-lock-preprocessor-face ((,class ,@(modus-themes--syntax-foreground red-alt-other red-alt-other-faint)))) `(font-lock-regexp-grouping-backslash ((,class :inherit bold ,@(modus-themes--syntax-string fg-escape-char-backslash yellow-alt-faint magenta-alt-other blue-alt)))) `(font-lock-regexp-grouping-construct ((,class :inherit bold ,@(modus-themes--syntax-string fg-escape-char-construct red-alt-other-faint red magenta-alt)))) `(font-lock-string-face ((,class ,@(modus-themes--syntax-string blue-alt blue-alt-faint green green-alt)))) `(font-lock-type-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-extra cyan-alt-other cyan-alt-faint cyan-alt)))) `(font-lock-variable-name-face ((,class ,@(modus-themes--syntax-extra cyan cyan-faint blue-alt-faint)))) `(font-lock-warning-face ((,class :inherit modus-theme-bold ,@(modus-themes--syntax-foreground yellow-active yellow-alt-faint)))) ;;;;; forge `(forge-post-author ((,class :inherit bold :foreground ,fg-main))) `(forge-post-date ((,class :foreground ,fg-special-cold))) `(forge-topic-closed ((,class :inherit shadow))) `(forge-topic-merged ((,class :inherit shadow))) `(forge-topic-open ((,class :foreground ,fg-special-mild))) `(forge-topic-unmerged ((,class :inherit modus-theme-slant :foreground ,magenta))) `(forge-topic-unread ((,class :inherit bold :foreground ,fg-main))) ;;;;; fountain-mode `(fountain-character ((,class :foreground ,blue-alt-other))) `(fountain-comment ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(fountain-dialog ((,class :foreground ,blue-alt))) `(fountain-metadata-key ((,class :foreground ,green-alt-other))) `(fountain-metadata-value ((,class :foreground ,blue))) `(fountain-non-printing ((,class :inherit shadow))) `(fountain-note ((,class :inherit modus-theme-slant :foreground ,yellow))) `(fountain-page-break ((,class :inherit bold :foreground ,red-alt))) `(fountain-page-number ((,class :inherit bold :foreground ,red-alt-other))) `(fountain-paren ((,class :foreground ,cyan))) `(fountain-scene-heading ((,class :inherit bold :foreground ,blue-nuanced-fg))) `(fountain-section-heading ((,class :inherit modus-theme-heading-1))) `(fountain-section-heading-1 ((,class :inherit modus-theme-heading-1))) `(fountain-section-heading-2 ((,class :inherit modus-theme-heading-2))) `(fountain-section-heading-3 ((,class :inherit modus-theme-heading-3))) `(fountain-section-heading-4 ((,class :inherit modus-theme-heading-4))) `(fountain-section-heading-5 ((,class :inherit modus-theme-heading-5))) `(fountain-synopsis ((,class :foreground ,cyan-alt))) `(fountain-trans ((,class :foreground ,yellow-alt-other))) ;;;;; geiser `(geiser-font-lock-autodoc-current-arg ((,class :inherit font-lock-function-name-face))) `(geiser-font-lock-autodoc-identifier ((,class :inherit font-lock-constant-face))) `(geiser-font-lock-doc-button ((,class :inherit button :foreground ,fg-docstring))) `(geiser-font-lock-doc-link ((,class :inherit button))) `(geiser-font-lock-error-link ((,class :inherit button :foreground ,red))) `(geiser-font-lock-image-button ((,class :inherit button :foreground ,green-alt))) `(geiser-font-lock-repl-input ((,class :inherit bold))) `(geiser-font-lock-repl-output ((,class :inherit font-lock-keyword-face))) `(geiser-font-lock-repl-prompt ((,class :inherit minibuffer-prompt))) `(geiser-font-lock-xref-header ((,class :inherit bold))) `(geiser-font-lock-xref-link ((,class :inherit button))) ;;;;; git-commit `(git-commit-comment-action ((,class :inherit font-lock-comment-face))) `(git-commit-comment-branch-local ((,class :inherit modus-theme-slant :foreground ,blue-alt))) `(git-commit-comment-branch-remote ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) `(git-commit-comment-detached ((,class :inherit modus-theme-slant :foreground ,cyan-alt))) `(git-commit-comment-file ((,class :inherit modus-theme-slant ,@(modus-themes--syntax-comment fg-special-cold red-nuanced-fg)))) `(git-commit-comment-heading ((,class :inherit (bold modus-theme-slant) ,@(modus-themes--syntax-comment fg-dim fg-special-warm)))) `(git-commit-keyword ((,class :foreground ,magenta))) `(git-commit-known-pseudo-header ((,class :foreground ,cyan-alt-other))) `(git-commit-nonempty-second-line ((,class :inherit modus-theme-refine-yellow))) `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow))) `(git-commit-pseudo-header ((,class :foreground ,blue))) `(git-commit-summary ((,class :inherit bold :foreground ,cyan))) ;;;;; git-gutter `(git-gutter:added ((,class :inherit modus-theme-fringe-green))) `(git-gutter:deleted ((,class :inherit modus-theme-fringe-red))) `(git-gutter:modified ((,class :inherit modus-theme-fringe-yellow))) `(git-gutter:separator ((,class :inherit modus-theme-fringe-cyan))) `(git-gutter:unchanged ((,class :inherit modus-theme-fringe-magenta))) ;;;;; git-gutter-fr `(git-gutter-fr:added ((,class :inherit modus-theme-fringe-green))) `(git-gutter-fr:deleted ((,class :inherit modus-theme-fringe-red))) `(git-gutter-fr:modified ((,class :inherit modus-theme-fringe-yellow))) ;;;;; git-{gutter,fringe}+ `(git-gutter+-added ((,class :inherit modus-theme-fringe-green))) `(git-gutter+-deleted ((,class :inherit modus-theme-fringe-red))) `(git-gutter+-modified ((,class :inherit modus-theme-fringe-yellow))) `(git-gutter+-separator ((,class :inherit modus-theme-fringe-cyan))) `(git-gutter+-unchanged ((,class :inherit modus-theme-fringe-magenta))) `(git-gutter-fr+-added ((,class :inherit modus-theme-fringe-green))) `(git-gutter-fr+-deleted ((,class :inherit modus-theme-fringe-red))) `(git-gutter-fr+-modified ((,class :inherit modus-theme-fringe-yellow))) ;;;;; git-lens `(git-lens-added ((,class :inherit bold :foreground ,green))) `(git-lens-deleted ((,class :inherit bold :foreground ,red))) `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan))) `(git-lens-modified ((,class :inherit bold :foreground ,yellow))) `(git-lens-renamed ((,class :inherit bold :foreground ,magenta))) ;;;;; git-rebase `(git-rebase-comment-hash ((,class :inherit modus-theme-slant ,@(modus-themes--syntax-comment fg-special-cold red-nuanced-fg)))) `(git-rebase-comment-heading ((,class :inherit (bold modus-theme-slant) ,@(modus-themes--syntax-comment fg-dim fg-special-warm)))) `(git-rebase-description ((,class :foreground ,fg-main))) `(git-rebase-hash ((,class :foreground ,cyan-alt-other))) ;;;;; git-timemachine `(git-timemachine-commit ((,class :inherit bold :foreground ,yellow-active))) `(git-timemachine-minibuffer-author-face ((,class :foreground ,fg-special-warm))) `(git-timemachine-minibuffer-detail-face ((,class :foreground ,red-alt))) ;;;;; git-walktree `(git-walktree-commit-face ((,class :foreground ,yellow))) `(git-walktree-symlink-face ((,class :inherit button))) `(git-walktree-tree-face ((,class :foreground ,magenta))) ;;;;; gnus `(gnus-button ((,class :inherit button))) `(gnus-cite-1 ((,class :foreground ,blue-faint))) `(gnus-cite-10 ((,class :foreground ,yellow-alt-other))) `(gnus-cite-11 ((,class :foreground ,magenta-alt))) `(gnus-cite-2 ((,class :foreground ,green-alt-other))) `(gnus-cite-3 ((,class :foreground ,red-alt-other))) `(gnus-cite-4 ((,class :foreground ,cyan))) `(gnus-cite-5 ((,class :foreground ,yellow-alt))) `(gnus-cite-6 ((,class :foreground ,magenta))) `(gnus-cite-7 ((,class :foreground ,green-alt))) `(gnus-cite-8 ((,class :foreground ,magenta-alt-other))) `(gnus-cite-9 ((,class :foreground ,cyan-alt))) `(gnus-cite-attribution ((,class :inherit italic :foreground ,fg-main))) `(gnus-emphasis-bold ((,class :inherit bold))) `(gnus-emphasis-bold-italic ((,class :inherit bold-italic))) `(gnus-emphasis-highlight-words ((,class :inherit modus-theme-refine-yellow))) `(gnus-emphasis-italic ((,class :inherit italic))) `(gnus-emphasis-underline-bold ((,class :inherit gnus-emphasis-bold :underline t))) `(gnus-emphasis-underline-bold-italic ((,class :inherit gnus-emphasis-bold-italic :underline t))) `(gnus-emphasis-underline-italic ((,class :inherit gnus-emphasis-italic :underline t))) `(gnus-group-mail-1 ((,class :inherit bold :foreground ,magenta-alt))) `(gnus-group-mail-1-empty ((,class :foreground ,magenta-alt))) `(gnus-group-mail-2 ((,class :inherit bold :foreground ,magenta))) `(gnus-group-mail-2-empty ((,class :foreground ,magenta))) `(gnus-group-mail-3 ((,class :inherit bold :foreground ,magenta-alt-other))) `(gnus-group-mail-3-empty ((,class :foreground ,magenta-alt-other))) `(gnus-group-mail-low ((,class :inherit bold :foreground ,magenta-nuanced-fg))) `(gnus-group-mail-low-empty ((,class :foreground ,magenta-nuanced-fg))) `(gnus-group-news-1 ((,class :inherit bold :foreground ,green))) `(gnus-group-news-1-empty ((,class :foreground ,green))) `(gnus-group-news-2 ((,class :inherit bold :foreground ,cyan))) `(gnus-group-news-2-empty ((,class :foreground ,cyan))) `(gnus-group-news-3 ((,class :inherit bold :foreground ,yellow-nuanced-fg))) `(gnus-group-news-3-empty ((,class :foreground ,yellow-nuanced-fg))) `(gnus-group-news-4 ((,class :inherit bold :foreground ,cyan-nuanced-fg))) `(gnus-group-news-4-empty ((,class :foreground ,cyan-nuanced-fg))) `(gnus-group-news-5 ((,class :inherit bold :foreground ,red-nuanced-fg))) `(gnus-group-news-5-empty ((,class :foreground ,red-nuanced-fg))) `(gnus-group-news-6 ((,class :inherit bold :foreground ,fg-alt))) `(gnus-group-news-6-empty ((,class :inherit shadow))) `(gnus-group-news-low ((,class :inherit bold :foreground ,green-nuanced-fg))) `(gnus-group-news-low-empty ((,class :foreground ,green-nuanced-fg))) `(gnus-header-content ((,class :inherit message-header-other))) `(gnus-header-from ((,class :inherit message-header-to :underline nil))) `(gnus-header-name ((,class :inherit message-header-name))) `(gnus-header-newsgroups ((,class :inherit message-header-newsgroups))) `(gnus-header-subject ((,class :inherit message-header-subject))) `(gnus-server-agent ((,class :inherit bold :foreground ,cyan))) `(gnus-server-closed ((,class :inherit bold :foreground ,magenta))) `(gnus-server-cloud ((,class :inherit bold :foreground ,cyan-alt))) `(gnus-server-cloud-host ((,class :inherit modus-theme-refine-cyan))) `(gnus-server-denied ((,class :inherit bold :foreground ,red))) `(gnus-server-offline ((,class :inherit bold :foreground ,yellow))) `(gnus-server-opened ((,class :inherit bold :foreground ,green))) `(gnus-signature ((,class :inherit italic :foreground ,fg-special-cold))) `(gnus-splash ((,class :inherit shadow))) `(gnus-summary-cancelled ((,class :inherit modus-theme-mark-alt))) `(gnus-summary-high-ancient ((,class :inherit bold :foreground ,fg-alt))) `(gnus-summary-high-read ((,class :inherit bold :foreground ,fg-special-cold))) `(gnus-summary-high-ticked ((,class :inherit bold :foreground ,red-alt-other))) `(gnus-summary-high-undownloaded ((,class :inherit bold :foreground ,yellow))) `(gnus-summary-high-unread ((,class :inherit bold :foreground ,fg-main))) `(gnus-summary-low-ancient ((,class :inherit italic :foreground ,fg-alt))) `(gnus-summary-low-read ((,class :inherit italic :foreground ,fg-alt))) `(gnus-summary-low-ticked ((,class :inherit italic :foreground ,red-refine-fg))) `(gnus-summary-low-undownloaded ((,class :inherit italic :foreground ,yellow-refine-fg))) `(gnus-summary-low-unread ((,class :inherit bold :foreground ,fg-special-cold))) `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm))) `(gnus-summary-normal-read ((,class :inherit shadow))) `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other))) `(gnus-summary-normal-undownloaded ((,class :foreground ,yellow))) `(gnus-summary-normal-unread ((,class :foreground ,fg-main))) `(gnus-summary-selected ((,class :inherit modus-theme-subtle-blue))) ;;;;; golden-ratio-scroll-screen `(golden-ratio-scroll-highlight-line-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) ;;;;; helm `(helm-M-x-key ((,class :inherit bold :foreground ,magenta-alt-other))) `(helm-action ((,class :underline t))) `(helm-bookmark-addressbook ((,class :foreground ,green-alt))) `(helm-bookmark-directory ((,class :inherit bold :foreground ,blue))) `(helm-bookmark-file ((,class :foreground ,fg-main))) `(helm-bookmark-file-not-found ((,class :background ,bg-alt :foreground ,fg-alt))) `(helm-bookmark-gnus ((,class :foreground ,magenta))) `(helm-bookmark-info ((,class :foreground ,cyan-alt))) `(helm-bookmark-man ((,class :foreground ,yellow-alt))) `(helm-bookmark-w3m ((,class :foreground ,blue-alt))) `(helm-buffer-archive ((,class :inherit bold :foreground ,cyan))) `(helm-buffer-directory ((,class :inherit bold :foreground ,blue))) `(helm-buffer-file ((,class :foreground ,fg-main))) `(helm-buffer-modified ((,class :foreground ,yellow-alt))) `(helm-buffer-not-saved ((,class :foreground ,red-alt))) `(helm-buffer-process ((,class :foreground ,magenta))) `(helm-buffer-saved-out ((,class :inherit bold :background ,bg-alt :foreground ,red))) `(helm-buffer-size ((,class :inherit shadow))) `(helm-candidate-number ((,class :foreground ,cyan-active))) `(helm-candidate-number-suspended ((,class :foreground ,yellow-active))) `(helm-comint-prompts-buffer-name ((,class :foreground ,green-active))) `(helm-comint-prompts-promptidx ((,class :foreground ,cyan-active))) `(helm-delete-async-message ((,class :inherit bold :foreground ,magenta-active))) `(helm-eob-line ((,class :background ,bg-main :foreground ,fg-main))) `(helm-eshell-prompts-buffer-name ((,class :foreground ,green-active))) `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active))) `(helm-etags-file ((,class :foreground ,fg-dim :underline t))) `(helm-ff-backup-file ((,class :inherit shadow))) `(helm-ff-denied ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-red 'modus-theme-intense-red 'modus-theme-nuanced-red red)))) `(helm-ff-directory ((,class :inherit helm-buffer-directory))) `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other))) `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt :foreground ,fg-alt))) `(helm-ff-dotted-symlink-directory ((,class :inherit (button helm-ff-dotted-directory)))) `(helm-ff-executable ((,class :foreground ,magenta-alt))) `(helm-ff-file ((,class :foreground ,fg-main))) `(helm-ff-file-extension ((,class :foreground ,fg-special-warm))) `(helm-ff-invalid-symlink ((,class :inherit button ,@(modus-themes--link-color red red-faint)))) `(helm-ff-pipe ((,class ,@(modus-themes--extra-completions 'modus-theme-refine-magenta 'modus-theme-subtle-magenta 'modus-theme-nuanced-magenta magenta)))) `(helm-ff-prefix ((,class ,@(modus-themes--extra-completions 'modus-theme-refine-yellow 'modus-theme-subtle-yellow 'modus-theme-nuanced-yellow yellow-alt-other)))) `(helm-ff-socket ((,class :foreground ,red-alt-other))) `(helm-ff-suid ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-red 'modus-theme-refine-red 'modus-theme-nuanced-yellow red-alt)))) `(helm-ff-symlink ((,class :inherit button ,@(modus-themes--link-color cyan cyan-faint)))) `(helm-ff-truename ((,class :foreground ,blue-alt-other))) `(helm-fd-finish ((,class :foreground ,green-active))) `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other))) `(helm-grep-file ((,class :inherit bold :foreground ,fg-special-cold))) `(helm-grep-finish ((,class :foreground ,green-active))) `(helm-grep-lineno ((,class :foreground ,fg-special-warm))) `(helm-grep-match ((,class :inherit modus-theme-special-calm))) `(helm-header ((,class :inherit bold :foreground ,fg-special-cold))) `(helm-header-line-left-margin ((,class :inherit bold :foreground ,yellow-intense))) `(helm-history-deleted ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-red 'modus-theme-intense-red 'modus-theme-nuanced-red red 'bold)))) `(helm-history-remote ((,class :foreground ,red-alt-other))) `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm))) `(helm-lisp-show-completion ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-yellow 'modus-theme-refine-yellow 'modus-theme-nuanced-yellow yellow 'bold)))) `(helm-locate-finish ((,class :foreground ,green-active))) `(helm-match ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-cyan 'modus-theme-refine-cyan 'modus-theme-nuanced-cyan cyan 'bold)))) `(helm-match-item ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-neutral 'modus-theme-subtle-cyan 'modus-theme-nuanced-cyan cyan-alt-other)))) `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt))) `(helm-moccur-buffer ((,class :inherit button ,@(modus-themes--link-color cyan-alt-other cyan-alt-other-faint)))) `(helm-mode-prefix ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-intense-magenta 'modus-theme-nuanced-magenta magenta-alt 'bold)))) `(helm-non-file-buffer ((,class :inherit shadow))) `(helm-prefarg ((,class :foreground ,red-active))) `(helm-resume-need-update ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-refine-magenta 'modus-theme-nuanced-magenta magenta-alt-other)))) `(helm-selection ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-blue 'modus-theme-refine-blue 'modus-theme-special-cold nil 'bold)))) `(helm-selection-line ((,class :inherit modus-theme-special-cold))) `(helm-separator ((,class :foreground ,fg-special-mild))) `(helm-time-zone-current ((,class :foreground ,green))) `(helm-time-zone-home ((,class :foreground ,magenta))) `(helm-source-header ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-4)))) `(helm-top-columns ((,class :inherit helm-header))) `(helm-ucs-char ((,class :foreground ,yellow-alt-other))) `(helm-visible-mark ((,class :inherit modus-theme-subtle-cyan))) ;;;;; helm-ls-git `(helm-ls-git-added-copied-face ((,class :foreground ,green-intense))) `(helm-ls-git-added-modified-face ((,class :foreground ,yellow-intense))) `(helm-ls-git-conflict-face ((,class :inherit bold :foreground ,red-intense))) `(helm-ls-git-deleted-and-staged-face ((,class :foreground ,red-nuanced-fg))) `(helm-ls-git-deleted-not-staged-face ((,class :foreground ,red))) `(helm-ls-git-modified-and-staged-face ((,class :foreground ,yellow-nuanced-fg))) `(helm-ls-git-modified-not-staged-face ((,class :foreground ,yellow))) `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta))) `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold))) ;;;;; helm-switch-shell `(helm-switch-shell-new-shell-face ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-refine-magenta 'modus-theme-nuanced-magenta magenta-alt-other 'bold)))) ;;;;; helm-xref `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold))) `(helm-xref-file-name ((,class :foreground ,fg-special-warm))) ;;;;; helpful `(helpful-heading ((,class :inherit modus-theme-heading-1))) ;;;;; highlight region or ad-hoc regexp `(hi-aquamarine ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) `(hi-black-b ((,class :inherit bold :background ,fg-main :foreground ,bg-main))) `(hi-black-hb ((,class :inherit bold :background ,fg-alt :foreground ,bg-main))) `(hi-blue ((,class :background ,blue-subtle-bg :foreground ,fg-main))) `(hi-blue-b ((,class :inherit (bold hi-blue)))) `(hi-green ((,class :background ,green-subtle-bg :foreground ,fg-main))) `(hi-green-b ((,class :inherit (bold hi-green)))) `(hi-pink ((,class :background ,magenta-subtle-bg :foreground ,fg-main))) `(hi-pink-b ((,class :inherit (bold hi-pink)))) `(hi-red-b ((,class :inherit bold :background ,red-intense-bg :foreground ,fg-main))) `(hi-salmon ((,class :background ,red-subtle-bg :foreground ,fg-main))) `(hi-yellow ((,class :background ,yellow-subtle-bg :foreground ,fg-main))) `(highlight ((,class :inherit modus-theme-subtle-blue))) `(highlight-changes ((,class :foreground ,yellow-alt-other))) `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline t))) `(hl-line ((,class :inherit modus-theme-hl-line))) ;;;;; highlight-blocks `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground ,fg-main))) `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground ,fg-main))) `(highlight-blocks-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-main))) `(highlight-blocks-depth-4-face ((,class :background ,bg-special-calm :foreground ,fg-main))) `(highlight-blocks-depth-5-face ((,class :background ,bg-special-warm :foreground ,fg-main))) `(highlight-blocks-depth-6-face ((,class :background ,bg-special-mild :foreground ,fg-main))) `(highlight-blocks-depth-7-face ((,class :background ,bg-inactive :foreground ,fg-main))) `(highlight-blocks-depth-8-face ((,class :background ,bg-active :foreground ,fg-main))) `(highlight-blocks-depth-9-face ((,class :background ,cyan-subtle-bg :foreground ,fg-main))) ;;;;; highlight-defined `(highlight-defined-builtin-function-name-face ((,class :foreground ,magenta))) `(highlight-defined-face-name-face ((,class :foreground ,fg-main))) `(highlight-defined-function-name-face ((,class :foreground ,magenta))) `(highlight-defined-macro-name-face ((,class :foreground ,magenta-alt))) `(highlight-defined-special-form-name-face ((,class :foreground ,magenta-alt-other))) `(highlight-defined-variable-name-face ((,class :foreground ,cyan))) ;;;;; highlight-escape-sequences (`hes-mode') `(hes-escape-backslash-face ((,class :inherit bold :foreground ,fg-escape-char-construct))) `(hes-escape-sequence-face ((,class :inherit bold :foreground ,fg-escape-char-backslash))) ;;;;; highlight-indentation `(highlight-indentation-face ((,class :inherit modus-theme-hl-line))) `(highlight-indentation-current-column-face ((,class :background ,bg-active))) ;;;;; highlight-numbers `(highlight-numbers-number ((,class :foreground ,blue-alt-other))) ;;;;; highlight-symbol `(highlight-symbol-face ((,class :inherit modus-theme-special-mild))) ;;;;; highlight-thing `(highlight-thing ((,class :background ,bg-alt :foreground ,cyan))) ;;;;; hl-defined `(hdefd-functions ((,class :foreground ,blue))) `(hdefd-undefined ((,class :foreground ,red-alt))) `(hdefd-variables ((,class :foreground ,cyan-alt))) ;;;;; hl-fill-column `(hl-fill-column-face ((,class :background ,bg-active :foreground ,fg-active))) ;;;;; hl-todo `(hl-todo ((,class :inherit (bold modus-theme-slant) :foreground ,red-alt-other))) ;;;;; hydra `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow))) `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt))) `(hydra-face-pink ((,class :inherit bold :foreground ,magenta-alt))) `(hydra-face-red ((,class :inherit bold :foreground ,red))) `(hydra-face-teal ((,class :inherit bold :foreground ,cyan))) ;;;;; hyperlist `(hyperlist-condition ((,class :foreground ,green))) `(hyperlist-hashtag ((,class :foreground ,yellow))) `(hyperlist-operator ((,class :foreground ,blue-alt))) `(hyperlist-paren ((,class :foreground ,cyan-alt-other))) `(hyperlist-quote ((,class :foreground ,cyan-alt))) `(hyperlist-ref ((,class :foreground ,magenta-alt-other))) `(hyperlist-stars ((,class :inherit shadow))) `(hyperlist-tag ((,class :foreground ,red))) `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main))) ;;;;; icomplete `(icomplete-first-match ((,class :inherit bold ,@(modus-themes--standard-completions magenta bg-alt bg-active fg-main)))) ;;;;; icomplete-vertical `(icomplete-vertical-separator ((,class :inherit shadow))) ;;;;; ido-mode `(ido-first-match ((,class :inherit bold ,@(modus-themes--standard-completions magenta bg-alt bg-active fg-main)))) `(ido-incomplete-regexp ((,class :inherit error))) `(ido-indicator ((,class :inherit modus-theme-subtle-yellow))) `(ido-only-match ((,class :inherit bold ,@(modus-themes--standard-completions green green-nuanced-bg green-intense-bg fg-main)))) `(ido-subdir ((,class :foreground ,blue))) `(ido-virtual ((,class :foreground ,fg-special-warm))) ;;;;; iedit `(iedit-occurrence ((,class :inherit modus-theme-refine-blue))) `(iedit-read-only-occurrence ((,class :inherit modus-theme-intense-yellow))) ;;;;; iflipb `(iflipb-current-buffer-face ((,class :inherit bold :foreground ,cyan-alt))) `(iflipb-other-buffer-face ((,class :inherit shadow))) ;;;;; imenu-list `(imenu-list-entry-face-0 ((,class :foreground ,cyan))) `(imenu-list-entry-face-1 ((,class :foreground ,blue))) `(imenu-list-entry-face-2 ((,class :foreground ,cyan-alt-other))) `(imenu-list-entry-face-3 ((,class :foreground ,blue-alt))) `(imenu-list-entry-subalist-face-0 ((,class :inherit bold :foreground ,magenta-alt-other :underline t))) `(imenu-list-entry-subalist-face-1 ((,class :inherit bold :foreground ,magenta :underline t))) `(imenu-list-entry-subalist-face-2 ((,class :inherit bold :foreground ,green-alt-other :underline t))) `(imenu-list-entry-subalist-face-3 ((,class :inherit bold :foreground ,red-alt-other :underline t))) ;;;;; indium `(indium-breakpoint-face ((,class :foreground ,red-active))) `(indium-frame-url-face ((,class :inherit button :foreground ,fg-alt))) `(indium-keyword-face ((,class :foreground ,magenta-alt-other))) `(indium-litable-face ((,class :inherit modus-theme-slant :foreground ,fg-special-warm))) `(indium-repl-error-face ((,class :inherit bold :foreground ,red))) `(indium-repl-prompt-face ((,class :foreground ,cyan-alt-other))) `(indium-repl-stdout-face ((,class :foreground ,fg-main))) ;;;;; info `(Info-quoted ((,class ,@(modus-themes--mixed-fonts) ; the capitalization is canonical :background ,bg-alt :foreground ,fg-special-calm))) `(info-header-node ((,class :inherit bold :foreground ,fg-alt))) `(info-header-xref ((,class :foreground ,blue-active))) `(info-index-match ((,class :inherit match))) `(info-menu-header ((,class :inherit modus-theme-heading-3))) `(info-menu-star ((,class :foreground ,red))) `(info-node ((,class :inherit bold))) `(info-title-1 ((,class :inherit modus-theme-heading-1))) `(info-title-2 ((,class :inherit modus-theme-heading-2))) `(info-title-3 ((,class :inherit modus-theme-heading-3))) `(info-title-4 ((,class :inherit modus-theme-heading-4))) ;;;;; info-colors `(info-colors-lisp-code-block ((,class :inherit fixed-pitch))) `(info-colors-ref-item-command ((,class :foreground ,magenta))) `(info-colors-ref-item-constant ((,class :inherit font-lock-constant-face))) `(info-colors-ref-item-function ((,class :inherit font-lock-function-name-face))) `(info-colors-ref-item-macro ((,class :inherit font-lock-keyword-face))) `(info-colors-ref-item-other ((,class :inherit font-lock-doc-face))) `(info-colors-ref-item-special-form ((,class :inherit font-lock-keyword-face))) `(info-colors-ref-item-syntax-class ((,class :inherit font-lock-builtin-face))) `(info-colors-ref-item-type ((,class :inherit font-lock-type-face))) `(info-colors-ref-item-user-option ((,class :inherit font-lock-variable-name-face))) `(info-colors-ref-item-variable ((,class :inherit font-lock-variable-name-face))) ;;;;; interaction-log `(ilog-buffer-face ((,class :foreground ,magenta-alt-other))) `(ilog-change-face ((,class :foreground ,magenta-alt))) `(ilog-echo-face ((,class :foreground ,yellow-alt-other))) `(ilog-load-face ((,class :foreground ,green))) `(ilog-message-face ((,class :inherit shadow))) `(ilog-non-change-face ((,class :foreground ,blue))) ;;;;; ioccur `(ioccur-cursor ((,class :foreground ,fg-main))) `(ioccur-invalid-regexp ((,class :foreground ,red))) `(ioccur-match-face ((,class :inherit modus-theme-special-calm))) `(ioccur-match-overlay-face ((,class :inherit modus-theme-special-cold :extend t))) `(ioccur-num-line-face ((,class :foreground ,fg-special-warm))) `(ioccur-overlay-face ((,class :inherit modus-theme-refine-blue :extend t))) `(ioccur-regexp-face ((,class :inherit (modus-theme-intense-magenta bold)))) `(ioccur-title-face ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-4)))) ;;;;; isearch, occur, and the like `(isearch ((,class :inherit (modus-theme-intense-green bold)))) `(isearch-fail ((,class :inherit modus-theme-refine-red))) `(isearch-group-1 ((,class :inherit modus-theme-intense-blue))) `(isearch-group-2 ((,class :inherit modus-theme-intense-magenta))) `(lazy-highlight ((,class :inherit modus-theme-refine-cyan))) `(match ((,class :inherit modus-theme-special-calm))) `(query-replace ((,class :inherit (modus-theme-intense-yellow bold)))) ;;;;; isl (isearch-light) `(isl-line ((,class :inherit modus-theme-subtle-green))) `(isl-match ((,class :inherit modus-theme-refine-cyan))) `(isl-number ((,class :inherit modus-theme-bold :foreground ,green-active))) `(isl-on ((,class :inherit (bold modus-theme-intense-green)))) `(isl-string ((,class :inherit modus-theme-bold :foreground ,cyan-active))) ;;;;; ivy `(ivy-action ((,class :inherit bold :foreground ,red-alt))) `(ivy-completions-annotations ((,class :inherit completions-annotations))) `(ivy-confirm-face ((,class :foreground ,cyan))) `(ivy-current-match ((,class ,@(modus-themes--extra-completions 'modus-theme-refine-cyan 'modus-theme-intense-cyan 'modus-theme-special-cold nil 'bold)))) `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main))) `(ivy-grep-info ((,class :foreground ,cyan-alt))) `(ivy-grep-line-number ((,class :foreground ,fg-special-warm))) `(ivy-highlight-face ((,class :foreground ,magenta))) `(ivy-match-required-face ((,class :inherit error))) `(ivy-minibuffer-match-face-1 ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-neutral 'modus-theme-intense-neutral 'modus-theme-nuanced-cyan fg-alt)))) `(ivy-minibuffer-match-face-2 ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-green 'modus-theme-refine-green 'modus-theme-nuanced-green green-alt-other 'bold)))) `(ivy-minibuffer-match-face-3 ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-blue 'modus-theme-refine-blue 'modus-theme-nuanced-blue blue-alt-other 'bold)))) `(ivy-minibuffer-match-face-4 ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-refine-magenta 'modus-theme-nuanced-magenta magenta-alt-other 'bold)))) `(ivy-minibuffer-match-highlight ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-cyan 'modus-theme-intense-cyan 'modus-theme-nuanced-cyan cyan-alt-other 'bold)))) `(ivy-modified-buffer ((,class :inherit modus-theme-slant :foreground ,yellow))) `(ivy-modified-outside-buffer ((,class :inherit modus-theme-slant :foreground ,yellow-alt))) `(ivy-org ((,class :foreground ,cyan-alt-other))) `(ivy-prompt-match ((,class :inherit ivy-current-match))) `(ivy-remote ((,class :foreground ,magenta))) `(ivy-separator ((,class :inherit shadow))) `(ivy-subdir ((,class :foreground ,blue-alt-other))) `(ivy-virtual ((,class :foreground ,magenta-alt-other))) `(ivy-yanked-word ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-blue 'modus-theme-refine-blue 'modus-theme-nuanced-blue blue-alt)))) ;;;;; ivy-posframe `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main))) `(ivy-posframe-border ((,class :background ,fg-window-divider-inner))) `(ivy-posframe-cursor ((,class :background ,fg-main :foreground ,bg-main))) ;;;;; jira (org-jira) `(jiralib-comment-face ((,class :background ,bg-alt))) `(jiralib-comment-header-face ((,class :inherit bold))) `(jiralib-issue-info-face ((,class :inherit modus-theme-special-warm))) `(jiralib-issue-info-header-face ((,class :inherit (modus-theme-special-warm bold)))) `(jiralib-issue-summary-face ((,class :inherit bold))) `(jiralib-link-filter-face ((,class :underline t))) `(jiralib-link-issue-face ((,class :underline t))) `(jiralib-link-project-face ((,class :underline t))) ;;;;; journalctl-mode `(journalctl-error-face ((,class :inherit bold :foreground ,red))) `(journalctl-finished-face ((,class :inherit bold :foreground ,green))) `(journalctl-host-face ((,class :foreground ,blue))) `(journalctl-process-face ((,class :foreground ,cyan-alt-other))) `(journalctl-starting-face ((,class :foreground ,green))) `(journalctl-timestamp-face ((,class :foreground ,fg-special-cold))) `(journalctl-warning-face ((,class :inherit bold :foreground ,yellow))) ;;;;; js2-mode `(js2-error ((,class :foreground ,red))) `(js2-external-variable ((,class :foreground ,cyan-alt-other))) `(js2-function-call ((,class :foreground ,magenta))) `(js2-function-param ((,class :foreground ,blue))) `(js2-instance-member ((,class :foreground ,magenta-alt-other))) `(js2-jsdoc-html-tag-delimiter ((,class :foreground ,fg-main))) `(js2-jsdoc-html-tag-name ((,class :foreground ,cyan))) `(js2-jsdoc-tag ((,class :foreground ,fg-special-calm))) `(js2-jsdoc-type ((,class :foreground ,fg-special-cold))) `(js2-jsdoc-value ((,class :foreground ,fg-special-warm))) `(js2-object-property ((,class :foreground ,fg-main))) `(js2-object-property-access ((,class :foreground ,fg-main))) `(js2-private-function-call ((,class :foreground ,green-alt-other))) `(js2-private-member ((,class :foreground ,fg-special-mild))) `(js2-warning ((,class :foreground ,yellow-alt :underline t))) ;;;;; julia `(julia-macro-face ((,class :inherit modus-theme-bold :foreground ,magenta))) `(julia-quoted-symbol-face ((,class :foreground ,blue-alt-other))) ;;;;; jupyter `(jupyter-eval-overlay ((,class :inherit bold :foreground ,blue))) `(jupyter-repl-input-prompt ((,class :foreground ,cyan-alt-other))) `(jupyter-repl-output-prompt ((,class :foreground ,magenta-alt-other))) `(jupyter-repl-traceback ((,class :inherit modus-theme-intense-red))) ;;;;; kaocha-runner `(kaocha-runner-error-face ((,class :foreground ,red))) `(kaocha-runner-success-face ((,class :foreground ,green))) `(kaocha-runner-warning-face ((,class :foreground ,yellow))) ;;;;; keycast `(keycast-command ((,class :inherit bold :foreground ,blue-active))) `(keycast-key ((,class ,@(modus-themes--mode-line-attrs bg-main blue-active bg-main blue-active blue-active blue-intense 'alt-style -3)))) ;;;;; line numbers (display-line-numbers-mode and global variant) `(line-number ((,class :inherit default ,@(modus-themes--line-numbers fg-alt bg-dim fg-unfocused)))) `(line-number-current-line ((,class :inherit (bold default) ,@(modus-themes--line-numbers fg-main bg-active blue-alt-other)))) `(line-number-major-tick ((,class :inherit (bold default) ,@(modus-themes--line-numbers yellow-nuanced-fg yellow-nuanced-bg red-alt)))) `(line-number-minor-tick ((,class :inherit (bold default) ,@(modus-themes--line-numbers fg-alt bg-inactive fg-inactive)))) ;;;;; lsp-mode `(lsp-face-highlight-read ((,class :inherit modus-theme-subtle-blue :underline t))) `(lsp-face-highlight-textual ((,class :inherit modus-theme-subtle-blue))) `(lsp-face-highlight-write ((,class :inherit (modus-theme-refine-blue bold)))) `(lsp-face-semhl-constant ((,class :foreground ,blue-alt-other))) `(lsp-face-semhl-deprecated ((,(append '((supports :underline (:style wave))) class) :foreground ,yellow :underline (:style wave)) (,class :foreground ,yellow :underline t))) `(lsp-face-semhl-enummember ((,class :foreground ,blue-alt-other))) `(lsp-face-semhl-field ((,class :foreground ,cyan-alt))) `(lsp-face-semhl-field-static ((,class :inherit modus-theme-slant :foreground ,cyan-alt))) `(lsp-face-semhl-function ((,class :foreground ,magenta))) `(lsp-face-semhl-method ((,class :foreground ,magenta))) `(lsp-face-semhl-namespace ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) `(lsp-face-semhl-preprocessor ((,class :foreground ,red-alt-other))) `(lsp-face-semhl-static-method ((,class :inherit modus-theme-slant :foreground ,magenta))) `(lsp-face-semhl-type-class ((,class :foreground ,magenta-alt))) `(lsp-face-semhl-type-enum ((,class :foreground ,magenta-alt))) `(lsp-face-semhl-type-primitive ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) `(lsp-face-semhl-type-template ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) `(lsp-face-semhl-type-typedef ((,class :inherit modus-theme-slant :foreground ,magenta-alt))) `(lsp-face-semhl-variable ((,class :foreground ,cyan))) `(lsp-face-semhl-variable-local ((,class :foreground ,cyan))) `(lsp-face-semhl-variable-parameter ((,class :foreground ,cyan-alt-other))) `(lsp-lens-face ((,class :height 0.8 :foreground ,fg-alt))) `(lsp-lens-mouse-face ((,class :height 0.8 :foreground ,blue-alt-other :underline t))) `(lsp-ui-doc-background ((,class :background ,bg-alt))) `(lsp-ui-doc-header ((,class :background ,bg-header :foreground ,fg-header))) `(lsp-ui-doc-url ((,class :inherit button))) `(lsp-ui-peek-filename ((,class :foreground ,fg-special-warm))) `(lsp-ui-peek-footer ((,class :background ,bg-header :foreground ,fg-header))) `(lsp-ui-peek-header ((,class :background ,bg-header :foreground ,fg-header))) `(lsp-ui-peek-highlight ((,class :inherit modus-theme-subtle-blue))) `(lsp-ui-peek-line-number ((,class :inherit shadow))) `(lsp-ui-peek-list ((,class :background ,bg-dim))) `(lsp-ui-peek-peek ((,class :background ,bg-alt))) `(lsp-ui-peek-selection ((,class :inherit modus-theme-subtle-cyan))) `(lsp-ui-sideline-code-action ((,class :foreground ,yellow))) `(lsp-ui-sideline-current-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-main))) `(lsp-ui-sideline-symbol ((,class :inherit bold :height 0.99 :box (:line-width -1 :style nil) :foreground ,fg-alt))) `(lsp-ui-sideline-symbol-info ((,class :inherit italic :height 0.99))) ;;;;; macrostep `(macrostep-compiler-macro-face ((,class :inherit italic))) `(macrostep-expansion-highlight-face ((,class :background ,blue-nuanced-bg))) `(macrostep-gensym-1 ((,class :inherit bold :foreground ,blue :box t))) `(macrostep-gensym-2 ((,class :inherit bold :foreground ,green :box t))) `(macrostep-gensym-3 ((,class :inherit bold :foreground ,yellow :box t))) `(macrostep-gensym-4 ((,class :inherit bold :foreground ,red :box t))) `(macrostep-gensym-5 ((,class :inherit bold :foreground ,magenta :box t))) `(macrostep-macro-face ((,class :inherit button :foreground ,green-alt))) ;;;;; magit `(magit-bisect-bad ((,class :foreground ,red-alt-other))) `(magit-bisect-good ((,class :foreground ,green-alt-other))) `(magit-bisect-skip ((,class :foreground ,yellow-alt-other))) `(magit-blame-date ((,class :foreground ,blue))) `(magit-blame-dimmed ((,class :inherit shadow))) `(magit-blame-hash ((,class :foreground ,fg-special-warm))) `(magit-blame-heading ((,class :background ,bg-alt))) `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan))) `(magit-blame-margin ((,class :inherit magit-blame-highlight))) `(magit-blame-name ((,class :foreground ,magenta-alt-other))) `(magit-blame-summary ((,class :foreground ,cyan-alt-other))) `(magit-branch-current ((,class :foreground ,blue-alt-other :box t))) `(magit-branch-local ((,class :foreground ,blue-alt))) `(magit-branch-remote ((,class :foreground ,magenta-alt))) `(magit-branch-remote-head ((,class :foreground ,magenta-alt-other :box t))) `(magit-branch-upstream ((,class :inherit italic))) `(magit-cherry-equivalent ((,class :background ,bg-main :foreground ,magenta-intense))) `(magit-cherry-unmatched ((,class :background ,bg-main :foreground ,cyan-intense))) ;; NOTE: here we break from the pattern of inheriting from the ;; modus-theme-diff-* faces, though only for the standard actions, ;; not the highlighted ones. This is because Magit's interaction ;; model relies on highlighting the current diff hunk. `(magit-diff-added ((,class ,@(modus-themes--diff bg-main green bg-diff-added fg-diff-added green-nuanced-bg fg-diff-added bg-diff-added-deuteran fg-diff-added-deuteran)))) `(magit-diff-added-highlight ((,class :inherit modus-theme-diff-focus-added))) `(magit-diff-base ((,class ,@(modus-themes--diff bg-main yellow bg-diff-changed fg-diff-changed yellow-nuanced-bg fg-diff-changed)))) `(magit-diff-base-highlight ((,class :inherit modus-theme-diff-focus-changed))) `(magit-diff-context ((,class :foreground ,fg-unfocused))) `(magit-diff-context-highlight ((,class ,@(modus-themes--diff bg-dim fg-dim bg-inactive fg-inactive bg-dim fg-alt)))) `(magit-diff-file-heading ((,class :inherit bold :foreground ,fg-special-cold))) `(magit-diff-file-heading-highlight ((,class :inherit (modus-theme-special-cold bold)))) `(magit-diff-file-heading-selection ((,class :inherit modus-theme-refine-cyan))) ;; NOTE: here we break from the pattern of inheriting from the ;; modus-theme-diff-* faces. `(magit-diff-hunk-heading ((,class :inherit bold :background ,bg-active :foreground ,fg-inactive))) `(magit-diff-hunk-heading-highlight ((,class :inherit bold :background ,@(modus-themes--diff-deuteran bg-region bg-diff-heading) :foreground ,@(modus-themes--diff-deuteran fg-main fg-diff-heading)))) `(magit-diff-hunk-heading-selection ((,class :inherit modus-theme-refine-blue))) `(magit-diff-hunk-region ((,class :inherit bold))) `(magit-diff-lines-boundary ((,class :background ,fg-main))) `(magit-diff-lines-heading ((,class :inherit modus-theme-refine-magenta))) `(magit-diff-removed ((,class ,@(modus-themes--diff bg-main red bg-diff-removed fg-diff-removed red-nuanced-bg fg-diff-removed)))) `(magit-diff-removed-highlight ((,class :inherit modus-theme-diff-focus-removed))) `(magit-diffstat-added ((,class :foreground ,@(modus-themes--diff-deuteran blue green)))) `(magit-diffstat-removed ((,class :foreground ,red))) `(magit-dimmed ((,class :foreground ,fg-unfocused))) `(magit-filename ((,class :foreground ,fg-special-cold))) `(magit-hash ((,class :inherit shadow))) `(magit-head ((,class :inherit magit-branch-local))) `(magit-header-line ((,class :inherit bold :foreground ,magenta-active))) `(magit-header-line-key ((,class :inherit bold :foreground ,blue-active))) `(magit-header-line-log-select ((,class :inherit bold :foreground ,fg-main))) `(magit-keyword ((,class :foreground ,magenta))) `(magit-keyword-squash ((,class :inherit bold :foreground ,yellow-alt-other))) `(magit-log-author ((,class :foreground ,cyan))) `(magit-log-date ((,class :inherit shadow))) `(magit-log-graph ((,class :foreground ,fg-dim))) `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active))) `(magit-mode-line-process-error ((,class :inherit bold :foreground ,red-active))) `(magit-process-ng ((,class :inherit error))) `(magit-process-ok ((,class :inherit success))) `(magit-reflog-amend ((,class :background ,bg-main :foreground ,magenta-intense))) `(magit-reflog-checkout ((,class :background ,bg-main :foreground ,blue-intense))) `(magit-reflog-cherry-pick ((,class :background ,bg-main :foreground ,green-intense))) `(magit-reflog-commit ((,class :background ,bg-main :foreground ,green-intense))) `(magit-reflog-merge ((,class :background ,bg-main :foreground ,green-intense))) `(magit-reflog-other ((,class :background ,bg-main :foreground ,cyan-intense))) `(magit-reflog-rebase ((,class :background ,bg-main :foreground ,magenta-intense))) `(magit-reflog-remote ((,class :background ,bg-main :foreground ,cyan-intense))) `(magit-reflog-reset ((,class :background ,bg-main :foreground ,red-intense))) `(magit-refname ((,class :inherit shadow))) `(magit-refname-pullreq ((,class :inherit shadow))) `(magit-refname-stash ((,class :inherit shadow))) `(magit-refname-wip ((,class :inherit shadow))) `(magit-section ((,class :background ,bg-dim :foreground ,fg-main))) `(magit-section-heading ((,class :inherit bold :foreground ,cyan))) `(magit-section-heading-selection ((,class :inherit (modus-theme-refine-cyan bold)))) `(magit-section-highlight ((,class :background ,bg-alt))) `(magit-sequence-done ((,class :foreground ,green-alt))) `(magit-sequence-drop ((,class :foreground ,red-alt))) `(magit-sequence-exec ((,class :foreground ,magenta-alt))) `(magit-sequence-head ((,class :foreground ,cyan-alt))) `(magit-sequence-onto ((,class :inherit shadow))) `(magit-sequence-part ((,class :foreground ,yellow-alt))) `(magit-sequence-pick ((,class :foreground ,blue-alt))) `(magit-sequence-stop ((,class :foreground ,red))) `(magit-signature-bad ((,class :inherit bold :foreground ,red))) `(magit-signature-error ((,class :foreground ,red-alt))) `(magit-signature-expired ((,class :foreground ,yellow))) `(magit-signature-expired-key ((,class :foreground ,yellow))) `(magit-signature-good ((,class :foreground ,green))) `(magit-signature-revoked ((,class :foreground ,magenta))) `(magit-signature-untrusted ((,class :foreground ,cyan))) `(magit-tag ((,class :foreground ,yellow-alt-other))) ;;;;; magit-imerge `(magit-imerge-overriding-value ((,class :inherit bold :foreground ,red-alt))) ;;;;; make-mode (makefiles) `(makefile-makepp-perl ((,class :background ,cyan-nuanced-bg))) `(makefile-space ((,class :background ,magenta-nuanced-bg))) ;;;;; man `(Man-overstrike ((,class :inherit bold :foreground ,magenta))) `(Man-reverse ((,class :inherit modus-theme-subtle-magenta))) `(Man-underline ((,class :foreground ,cyan :underline t))) ;;;;; marginalia `(marginalia-archive ((,class :foreground ,green-nuanced-fg))) `(marginalia-date ((,class :foreground ,blue-nuanced-fg))) `(marginalia-char ((,class :foreground ,red-active))) `(marginalia-documentation ((,class :foreground ,fg-special-cold :inherit modus-theme-slant))) `(marginalia-file-modes ((,class :inherit shadow))) `(marginalia-file-name ((,class :foreground ,fg-special-mild))) `(marginalia-file-owner ((,class :foreground ,red-nuanced-fg))) `(marginalia-key ((,class :foreground ,magenta-active))) `(marginalia-mode ((,class :foreground ,cyan-active))) `(marginalia-modified ((,class :foreground ,yellow-active))) `(marginalia-number ((,class :foreground ,blue-active))) `(marginalia-size ((,class :foreground ,green-active))) `(marginalia-type ((,class :foreground ,fg-special-warm))) `(marginalia-variable ((,class :foreground ,yellow-nuanced-fg))) `(marginalia-version ((,class :foreground ,cyan-active))) ;;;;; markdown-mode `(markdown-blockquote-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(markdown-bold-face ((,class :inherit bold))) `(markdown-code-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-dim :extend t))) `(markdown-comment-face ((,class :inherit font-lock-comment-face))) `(markdown-footnote-marker-face ((,class :inherit bold :foreground ,cyan-alt))) `(markdown-footnote-text-face ((,class :inherit modus-theme-slant :foreground ,fg-main))) `(markdown-gfm-checkbox-face ((,class :foreground ,cyan-alt-other))) `(markdown-header-delimiter-face ((,class :inherit modus-theme-bold :foreground ,fg-dim))) `(markdown-header-face ((t nil))) `(markdown-header-face-1 ((,class :inherit modus-theme-heading-1))) `(markdown-header-face-2 ((,class :inherit modus-theme-heading-2))) `(markdown-header-face-3 ((,class :inherit modus-theme-heading-3))) `(markdown-header-face-4 ((,class :inherit modus-theme-heading-4))) `(markdown-header-face-5 ((,class :inherit modus-theme-heading-5))) `(markdown-header-face-6 ((,class :inherit modus-theme-heading-6))) `(markdown-header-rule-face ((,class :inherit bold :foreground ,fg-special-warm))) `(markdown-hr-face ((,class :inherit bold :foreground ,fg-special-warm))) `(markdown-html-attr-name-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,cyan))) `(markdown-html-attr-value-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,blue))) `(markdown-html-entity-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,cyan))) `(markdown-html-tag-delimiter-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-mild))) `(markdown-html-tag-name-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,magenta-alt))) `(markdown-inline-code-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-alt :foreground ,fg-special-calm))) `(markdown-italic-face ((,class :inherit italic :foreground ,fg-special-cold))) `(markdown-language-info-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-cold))) `(markdown-language-keyword-face ((,class ,@(modus-themes--mixed-fonts) :background ,bg-alt :foreground ,fg-alt))) `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan :underline t))) `(markdown-link-face ((,class :inherit button))) `(markdown-link-title-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(markdown-list-face ((,class :foreground ,fg-dim))) `(markdown-markup-face ((,class :inherit shadow))) `(markdown-math-face ((,class :foreground ,magenta-alt-other))) `(markdown-metadata-key-face ((,class :foreground ,cyan-alt-other))) `(markdown-metadata-value-face ((,class :foreground ,blue-alt))) `(markdown-missing-link-face ((,class :inherit bold :foreground ,yellow))) `(markdown-plain-url-face ((,class :inherit markdown-link-face))) `(markdown-pre-face ((,class :inherit markdown-code-face :foreground ,fg-special-mild))) `(markdown-reference-face ((,class :inherit markdown-markup-face))) `(markdown-strike-through-face ((,class :strike-through t))) `(markdown-table-face ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-cold))) `(markdown-url-face ((,class :foreground ,blue-alt))) ;;;;; markup-faces (`adoc-mode') `(markup-anchor-face ((,class :foreground ,fg-inactive))) `(markup-attribute-face ((,class :inherit italic :foreground ,fg-inactive))) `(markup-big-face ((,class :height 1.3 :foreground ,blue-nuanced-fg))) `(markup-bold-face ((,class :inherit bold :foreground ,red-nuanced-fg))) `(markup-code-face ((,class :inherit fixed-pitch :foreground ,magenta))) `(markup-command-face ((,class :foreground ,fg-inactive))) `(markup-comment-face ((,class :inherit font-lock-comment-face))) `(markup-complex-replacement-face ((,class :box (:line-width 2 :color nil :style released-button) :inherit modus-theme-refine-magenta))) `(markup-emphasis-face ((,class :inherit italic :foreground ,fg-special-cold))) `(markup-error-face ((,class :inherit bold :foreground ,red))) `(markup-gen-face ((,class :foreground ,magenta-alt))) `(markup-internal-reference-face ((,class :inherit button :foreground ,fg-alt))) `(markup-italic-face ((,class :inherit italic :foreground ,fg-special-cold))) `(markup-list-face ((,class :inherit modus-theme-special-calm))) `(markup-meta-face ((,class :foreground ,fg-inactive))) `(markup-meta-hide-face ((,class :inherit shadow))) `(markup-passthrough-face ((,class :inherit fixed-pitch :foreground ,cyan))) `(markup-preprocessor-face ((,class :foreground ,red-alt-other))) `(markup-replacement-face ((,class :foreground ,yellow-alt-other))) `(markup-secondary-text-face ((,class :height 0.8 :foreground ,magenta-nuanced-fg))) `(markup-small-face ((,class :height 0.8 :foreground ,fg-main))) `(markup-strong-face ((,class :inherit bold :foreground ,red-nuanced-fg))) `(markup-subscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) `(markup-superscript-face ((,class :height 0.8 :foreground ,fg-special-cold))) `(markup-table-cell-face ((,class :inherit modus-theme-special-cold))) `(markup-table-face ((,class :inherit modus-theme-subtle-cyan))) `(markup-table-row-face ((,class :inherit modus-theme-subtle-cyan))) `(markup-title-0-face ((,class :height 3.0 :foreground ,blue-nuanced-fg))) `(markup-title-1-face ((,class :height 2.4 :foreground ,blue-nuanced-fg))) `(markup-title-2-face ((,class :height 1.8 :foreground ,blue-nuanced-fg))) `(markup-title-3-face ((,class :height 1.4 :foreground ,blue-nuanced-fg))) `(markup-title-4-face ((,class :height 1.2 :foreground ,blue-nuanced-fg))) `(markup-title-5-face ((,class :height 1.2 :foreground ,blue-nuanced-fg :underline t))) `(markup-value-face ((,class :foreground ,fg-inactive))) `(markup-verbatim-face ((,class :inherit modus-theme-special-mild))) ;;;;; mentor `(mentor-download-message ((,class :foreground ,fg-special-warm))) `(mentor-download-name ((,class :foreground ,fg-special-cold))) `(mentor-download-progress ((,class :foreground ,blue-alt-other))) `(mentor-download-size ((,class :foreground ,magenta-alt-other))) `(mentor-download-speed-down ((,class :foreground ,cyan-alt))) `(mentor-download-speed-up ((,class :foreground ,red-alt))) `(mentor-download-state ((,class :foreground ,yellow-alt))) `(mentor-highlight-face ((,class :inherit modus-theme-subtle-blue))) `(mentor-tracker-name ((,class :foreground ,magenta-alt))) ;;;;; messages `(message-cited-text-1 ((,class :foreground ,blue-faint))) `(message-cited-text-2 ((,class :foreground ,green-alt-other))) `(message-cited-text-3 ((,class :foreground ,red-alt-other))) `(message-cited-text-4 ((,class :foreground ,cyan))) `(message-header-cc ((,class :foreground ,blue-alt-other))) `(message-header-name ((,class :inherit bold :foreground ,cyan))) `(message-header-newsgroups ((,class :inherit message-header-other))) `(message-header-other ((,class :foreground ,fg-special-calm))) `(message-header-subject ((,class :inherit bold :foreground ,magenta-alt))) `(message-header-to ((,class :inherit bold :foreground ,magenta-alt-other))) `(message-header-xheader ((,class :foreground ,blue-alt))) `(message-mml ((,class :foreground ,yellow))) `(message-separator ((,class :inherit modus-theme-intense-neutral))) ;;;;; minibuffer-line `(minibuffer-line ((,class :foreground ,fg-main))) ;;;;; minimap `(minimap-active-region-background ((,class :background ,bg-active))) `(minimap-current-line-face ((,class :background ,cyan-intense-bg :foreground ,fg-main))) ;;;;; mmm-mode `(mmm-cleanup-submode-face ((,class :background ,yellow-nuanced-bg))) `(mmm-code-submode-face ((,class :background ,bg-alt))) `(mmm-comment-submode-face ((,class :background ,blue-nuanced-bg))) `(mmm-declaration-submode-face ((,class :background ,cyan-nuanced-bg))) `(mmm-default-submode-face ((,class :background ,bg-dim))) `(mmm-init-submode-face ((,class :background ,magenta-nuanced-bg))) `(mmm-output-submode-face ((,class :background ,red-nuanced-bg))) `(mmm-special-submode-face ((,class :background ,green-nuanced-bg))) ;;;;; modeline `(mode-line ((,class ,@(modus-themes--variable-pitch-ui) ,@(modus-themes--mode-line-attrs fg-active bg-active fg-dim bg-active fg-alt bg-active 'alt-style nil bg-main)))) `(mode-line-buffer-id ((,class :inherit bold))) `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active))) `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box (:line-width -1 :style pressed-button)))) `(mode-line-inactive ((,class ,@(modus-themes--variable-pitch-ui) ,@(modus-themes--mode-line-attrs fg-inactive bg-inactive fg-alt bg-dim bg-region bg-active)))) ;;;;; mood-line `(mood-line-modified ((,class :foreground ,magenta-active))) `(mood-line-status-error ((,class :inherit bold :foreground ,red-active))) `(mood-line-status-info ((,class :foreground ,cyan-active))) `(mood-line-status-neutral ((,class :foreground ,blue-active))) `(mood-line-status-success ((,class :foreground ,green-active))) `(mood-line-status-warning ((,class :inherit bold :foreground ,yellow-active))) `(mood-line-unimportant ((,class :foreground ,fg-inactive))) ;;;;; mpdel `(mpdel-browser-directory-face ((,class :foreground ,blue))) `(mpdel-playlist-current-song-face ((,class :inherit bold :foreground ,blue-alt-other))) ;;;;; mu4e `(mu4e-attach-number-face ((,class :inherit bold :foreground ,fg-dim))) `(mu4e-cited-1-face ((,class :foreground ,blue-faint))) `(mu4e-cited-2-face ((,class :foreground ,green-alt-other))) `(mu4e-cited-3-face ((,class :foreground ,red-alt-other))) `(mu4e-cited-4-face ((,class :foreground ,cyan))) `(mu4e-cited-5-face ((,class :foreground ,yellow-alt))) `(mu4e-cited-6-face ((,class :foreground ,magenta))) `(mu4e-cited-7-face ((,class :foreground ,green-alt))) `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face))) `(mu4e-compose-separator-face ((,class :inherit modus-theme-intense-neutral))) `(mu4e-contact-face ((,class :inherit message-header-to))) `(mu4e-context-face ((,class :foreground ,blue-active))) `(mu4e-draft-face ((,class :foreground ,magenta-alt))) `(mu4e-flagged-face ((,class :foreground ,red-alt))) `(mu4e-footer-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other))) `(mu4e-header-face ((,class :inherit shadow))) `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line))) `(mu4e-header-key-face ((,class :inherit message-header-name))) `(mu4e-header-marks-face ((,class :inherit mu4e-special-header-value-face))) `(mu4e-header-title-face ((,class :foreground ,fg-special-mild))) `(mu4e-header-value-face ((,class :inherit message-header-other))) `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other))) `(mu4e-link-face ((,class :inherit button))) `(mu4e-modeline-face ((,class :foreground ,magenta-active))) `(mu4e-moved-face ((,class :inherit modus-theme-slant :foreground ,yellow))) `(mu4e-ok-face ((,class :inherit bold :foreground ,green))) `(mu4e-region-code ((,class :inherit modus-theme-special-calm))) `(mu4e-replied-face ((,class :foreground ,blue))) `(mu4e-special-header-value-face ((,class :inherit message-header-subject))) `(mu4e-system-face ((,class :inherit modus-theme-slant :foreground ,fg-mark-del))) `(mu4e-title-face ((,class :foreground ,fg-main))) `(mu4e-trashed-face ((,class :foreground ,red))) `(mu4e-unread-face ((,class :inherit bold))) `(mu4e-url-number-face ((,class :foreground ,fg-alt))) `(mu4e-view-body-face ((,class :foreground ,fg-main))) `(mu4e-warning-face ((,class :inherit warning))) ;;;;; mu4e-conversation `(mu4e-conversation-header ((,class :inherit modus-theme-special-cold))) `(mu4e-conversation-sender-1 ((,class :foreground ,fg-special-warm))) `(mu4e-conversation-sender-2 ((,class :foreground ,fg-special-cold))) `(mu4e-conversation-sender-3 ((,class :foreground ,fg-special-mild))) `(mu4e-conversation-sender-4 ((,class :inherit shadow))) `(mu4e-conversation-sender-5 ((,class :foreground ,yellow-refine-fg))) `(mu4e-conversation-sender-6 ((,class :foreground ,cyan-refine-fg))) `(mu4e-conversation-sender-7 ((,class :foreground ,green-refine-fg))) `(mu4e-conversation-sender-8 ((,class :foreground ,blue-refine-fg))) `(mu4e-conversation-sender-me ((,class :foreground ,fg-main))) `(mu4e-conversation-unread ((,class :inherit bold))) ;;;;; multiple-cursors `(mc/cursor-bar-face ((,class :height 1 :background ,fg-main))) `(mc/cursor-face ((,class :inverse-video t))) `(mc/region-face ((,class :inherit region))) ;;;;; neotree `(neo-banner-face ((,class :foreground ,magenta))) `(neo-button-face ((,class :inherit button))) `(neo-dir-link-face ((,class :inherit bold :foreground ,blue))) `(neo-expand-btn-face ((,class :foreground ,cyan))) `(neo-file-link-face ((,class :foreground ,fg-main))) `(neo-header-face ((,class :inherit bold :foreground ,fg-main))) `(neo-root-dir-face ((,class :inherit bold :foreground ,cyan-alt))) `(neo-vc-added-face ((,class :foreground ,green))) `(neo-vc-conflict-face ((,class :inherit bold :foreground ,red))) `(neo-vc-default-face ((,class :foreground ,fg-main))) `(neo-vc-edited-face ((,class :foreground ,yellow))) `(neo-vc-ignored-face ((,class :foreground ,fg-inactive))) `(neo-vc-missing-face ((,class :foreground ,red-alt))) `(neo-vc-needs-merge-face ((,class :foreground ,magenta-alt))) `(neo-vc-needs-update-face ((,class :underline t))) `(neo-vc-removed-face ((,class :strike-through t))) `(neo-vc-unlocked-changes-face ((,class :inherit modus-theme-refine-blue))) `(neo-vc-up-to-date-face ((,class :inherit shadow))) `(neo-vc-user-face ((,class :foreground ,magenta))) ;;;;; no-emoji `(no-emoji ((,class :foreground ,cyan))) ;;;;; notmuch `(notmuch-crypto-decryption ((,class :inherit modus-theme-refine-magenta))) `(notmuch-crypto-part-header ((,class :foreground ,magenta-alt-other))) `(notmuch-crypto-signature-bad ((,class :inherit modus-theme-intense-red))) `(notmuch-crypto-signature-good ((,class :inherit modus-theme-refine-green))) `(notmuch-crypto-signature-good-key ((,class :inherit modus-theme-refine-yellow))) `(notmuch-crypto-signature-unknown ((,class :inherit modus-theme-refine-red))) `(notmuch-hello-logo-background ((,class :background "gray50"))) `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan))) `(notmuch-search-count ((,class :inherit shadow))) `(notmuch-search-date ((,class :foreground ,cyan))) `(notmuch-search-flagged-face ((,class :foreground ,red-alt))) `(notmuch-search-matching-authors ((,class :foreground ,fg-main))) `(notmuch-search-non-matching-authors ((,class :inherit shadow))) `(notmuch-search-subject ((,class :foreground ,fg-dim))) `(notmuch-search-unread-face ((,class :inherit bold))) `(notmuch-tag-added ((,(append '((supports :underline (:style wave))) class) :underline (:color ,green :style wave)) (,class :foreground ,green :underline t))) `(notmuch-tag-deleted ((,(append '((supports :underline (:style wave))) class) :underline (:color ,red :style wave)) (,class :foreground ,red :underline t))) `(notmuch-tag-face ((,class :inherit bold :foreground ,blue-alt))) `(notmuch-tag-flagged ((,class :foreground ,red-alt))) `(notmuch-tag-unread ((,class :foreground ,magenta-alt))) `(notmuch-tree-match-author-face ((,class :foreground ,fg-special-cold))) `(notmuch-tree-match-date-face ((,class :inherit notmuch-search-date))) `(notmuch-tree-match-face ((,class :foreground ,fg-main))) `(notmuch-tree-match-tag-face ((,class :inherit bold :foreground ,blue-alt))) `(notmuch-tree-no-match-face ((,class :inherit shadow))) `(notmuch-tree-no-match-date-face ((,class :inherit shadow))) `(notmuch-wash-cited-text ((,class :foreground ,cyan))) `(notmuch-wash-toggle-button ((,class :background ,bg-alt :foreground ,fg-alt))) ;;;;; num3-mode `(num3-face-even ((,class :inherit bold :background ,bg-alt))) ;;;;; nxml-mode `(nxml-attribute-colon ((,class :foreground ,fg-main))) `(nxml-attribute-local-name ((,class :inherit font-lock-variable-name-face))) `(nxml-attribute-prefix ((,class :inherit font-lock-type-face))) `(nxml-attribute-value ((,class :inherit font-lock-constant-face))) `(nxml-cdata-section-CDATA ((,class :inherit error))) `(nxml-cdata-section-delimiter ((,class :inherit error))) `(nxml-char-ref-delimiter ((,class :foreground ,fg-special-mild))) `(nxml-char-ref-number ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) `(nxml-delimited-data ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(nxml-delimiter ((,class :foreground ,fg-dim))) `(nxml-element-colon ((,class :foreground ,fg-main))) `(nxml-element-local-name ((,class :inherit font-lock-function-name-face))) `(nxml-element-prefix ((,class :inherit font-lock-builtin-face))) `(nxml-entity-ref-delimiter ((,class :foreground ,fg-special-mild))) `(nxml-entity-ref-name ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) `(nxml-glyph ((,class :inherit modus-theme-intense-neutral))) `(nxml-hash ((,class :inherit (bold font-lock-string-face)))) `(nxml-heading ((,class :inherit bold))) `(nxml-name ((,class :inherit font-lock-builtin-face))) `(nxml-namespace-attribute-colon ((,class :foreground ,fg-main))) `(nxml-namespace-attribute-prefix ((,class :inherit font-lock-variable-name-face))) `(nxml-processing-instruction-target ((,class :inherit font-lock-keyword-face))) `(nxml-prolog-keyword ((,class :inherit font-lock-keyword-face))) `(nxml-ref ((,class :inherit modus-theme-bold :foreground ,fg-special-mild))) `(rng-error ((,class :inherit error))) ;;;;; objed `(objed-hl ((,class :background ,(if modus-themes-intense-hl-line bg-hl-alt-intense bg-hl-alt)))) `(objed-mark ((,class :background ,bg-active))) `(objed-mode-line ((,class :foreground ,cyan-active))) ;;;;; orderless `(orderless-match-face-0 ((,class :inherit bold ,@(modus-themes--standard-completions blue-alt-other blue-nuanced-bg blue-refine-bg blue-refine-fg)))) `(orderless-match-face-1 ((,class :inherit bold ,@(modus-themes--standard-completions magenta-alt magenta-nuanced-bg magenta-refine-bg magenta-refine-fg)))) `(orderless-match-face-2 ((,class :inherit bold ,@(modus-themes--standard-completions green green-nuanced-bg green-refine-bg green-refine-fg)))) `(orderless-match-face-3 ((,class :inherit bold ,@(modus-themes--standard-completions yellow yellow-nuanced-bg yellow-refine-bg yellow-refine-fg)))) ;;;;; org `(org-agenda-calendar-event ((,class :foreground ,fg-main))) `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt))) `(org-agenda-clocking ((,class :inherit modus-theme-special-cold :extend t))) `(org-agenda-column-dateline ((,class :background ,bg-alt))) `(org-agenda-current-time ((,class :inherit bold :foreground ,blue-alt-other))) `(org-agenda-date ((,class :foreground ,cyan))) `(org-agenda-date-today ((,class :inherit bold :foreground ,fg-main :underline t))) `(org-agenda-date-weekend ((,class :foreground ,cyan-alt-other))) `(org-agenda-diary ((,class :foreground ,fg-main))) `(org-agenda-dimmed-todo-face ((,class :inherit bold :foreground ,fg-alt))) `(org-agenda-done ((,class :foreground ,green-alt))) `(org-agenda-filter-category ((,class :inherit bold :foreground ,magenta-active))) `(org-agenda-filter-effort ((,class :inherit bold :foreground ,magenta-active))) `(org-agenda-filter-regexp ((,class :inherit bold :foreground ,magenta-active))) `(org-agenda-filter-tags ((,class :inherit bold :foreground ,magenta-active))) `(org-agenda-restriction-lock ((,class :background ,bg-dim :foreground ,fg-dim))) `(org-agenda-structure ((,class ,@(modus-themes--scale modus-themes-scale-5) :foreground ,blue-alt))) `(org-archived ((,class :background ,bg-alt :foreground ,fg-alt))) `(org-block ((,class ,@(modus-themes--mixed-fonts) ,@(modus-themes--org-block bg-dim) :foreground ,fg-main))) `(org-block-begin-line ((,class ,@(modus-themes--mixed-fonts) ,@(modus-themes--org-block-delim bg-dim fg-special-cold bg-alt fg-special-mild)))) `(org-block-end-line ((,class :inherit org-block-begin-line))) `(org-checkbox ((,class :box (:line-width 1 :color ,bg-active) :background ,bg-inactive :foreground ,fg-active))) `(org-checkbox-statistics-done ((,class :inherit org-done))) `(org-checkbox-statistics-todo ((,class :inherit org-todo))) `(org-clock-overlay ((,class :inherit modus-theme-special-cold))) `(org-code ((,class ,@(modus-themes--mixed-fonts) :background ,red-nuanced-bg :foreground ,magenta))) `(org-column ((,class :background ,bg-alt))) `(org-column-title ((,class :inherit bold :underline t :background ,bg-alt))) `(org-date ((,class :inherit ,(if modus-themes-no-mixed-fonts 'button '(button fixed-pitch)) ,@(modus-themes--link-color cyan cyan-faint)))) `(org-date-selected ((,class :inherit bold :foreground ,blue-alt :inverse-video t))) `(org-dispatcher-highlight ((,class :inherit (bold modus-theme-mark-alt)))) `(org-document-info ((,class :foreground ,fg-special-cold))) `(org-document-info-keyword ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) `(org-document-title ((,class :inherit (bold modus-theme-variable-pitch) :foreground ,fg-special-cold ,@(modus-themes--scale modus-themes-scale-5)))) `(org-done ((,class :foreground ,green))) `(org-drawer ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) `(org-ellipsis (())) ; inherits from the heading's color `(org-footnote ((,class :inherit button ,@(modus-themes--link-color blue-alt blue-alt-faint)))) `(org-formula ((,class ,@(modus-themes--mixed-fonts) :foreground ,red-alt))) `(org-habit-alert-face ((,class ,@(modus-themes--org-habit yellow-graph-0-bg yellow-graph-0-bg yellow-graph-1-bg)))) `(org-habit-alert-future-face ((,class ,@(modus-themes--org-habit yellow-graph-1-bg yellow-graph-0-bg yellow-graph-1-bg)))) `(org-habit-clear-face ((,class ,@(modus-themes--org-habit blue-graph-0-bg green-graph-1-bg blue-graph-1-bg)))) `(org-habit-clear-future-face ((,class ,@(modus-themes--org-habit blue-graph-1-bg green-graph-1-bg blue-graph-1-bg)))) `(org-habit-overdue-face ((,class ,@(modus-themes--org-habit red-graph-0-bg red-graph-0-bg red-graph-1-bg)))) `(org-habit-overdue-future-face ((,class ,@(modus-themes--org-habit red-graph-1-bg red-graph-0-bg red-graph-1-bg)))) `(org-habit-ready-face ((,class ,@(modus-themes--org-habit green-graph-0-bg green-graph-0-bg green-graph-1-bg)))) `(org-habit-ready-future-face ((,class ,@(modus-themes--org-habit green-graph-1-bg green-graph-0-bg green-graph-1-bg)))) `(org-headline-done ((,class :inherit modus-theme-variable-pitch :foreground ,green-nuanced-fg))) `(org-headline-todo ((,class :inherit modus-theme-variable-pitch :foreground ,red-nuanced-fg))) `(org-hide ((,class :foreground ,bg-main))) `(org-indent ((,class :inherit (fixed-pitch org-hide)))) `(org-latex-and-related ((,class :foreground ,magenta-refine-fg))) `(org-level-1 ((,class :inherit modus-theme-heading-1))) `(org-level-2 ((,class :inherit modus-theme-heading-2))) `(org-level-3 ((,class :inherit modus-theme-heading-3))) `(org-level-4 ((,class :inherit modus-theme-heading-4))) `(org-level-5 ((,class :inherit modus-theme-heading-5))) `(org-level-6 ((,class :inherit modus-theme-heading-6))) `(org-level-7 ((,class :inherit modus-theme-heading-7))) `(org-level-8 ((,class :inherit modus-theme-heading-8))) `(org-link ((,class :inherit button))) `(org-list-dt ((,class :inherit bold))) `(org-macro ((,class ,@(modus-themes--mixed-fonts) :background ,blue-nuanced-bg :foreground ,magenta-alt-other))) `(org-meta-line ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) `(org-mode-line-clock ((,class :foreground ,fg-main))) `(org-mode-line-clock-overrun ((,class :inherit modus-theme-active-red))) `(org-priority ((,class :foreground ,magenta))) `(org-property-value ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-cold))) `(org-quote ((,class :inherit modus-theme-slant ,@(modus-themes--org-block bg-dim) :foreground ,fg-special-cold))) `(org-scheduled ((,class :foreground ,magenta-alt))) `(org-scheduled-previously ((,class :foreground ,yellow-alt-other))) `(org-scheduled-today ((,class :foreground ,magenta-alt-other))) `(org-sexp-date ((,class :inherit org-date))) `(org-special-keyword ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-alt))) `(org-table ((,class ,@(modus-themes--mixed-fonts) :foreground ,fg-special-cold))) `(org-table-header ((,class :inherit (fixed-pitch modus-theme-intense-neutral)))) `(org-tag ((,class :foreground ,magenta-nuanced-fg))) `(org-tag-group ((,class :inherit bold :foreground ,cyan-nuanced-fg))) `(org-target ((,class :underline t))) `(org-time-grid ((,class :foreground ,fg-unfocused))) `(org-todo ((,class :foreground ,red))) `(org-upcoming-deadline ((,class :foreground ,red-alt-other))) `(org-upcoming-distant-deadline ((,class :foreground ,red-nuanced-fg))) `(org-verbatim ((,class ,@(modus-themes--mixed-fonts) :background ,bg-alt :foreground ,fg-special-calm))) `(org-verse ((,class :inherit org-quote))) `(org-warning ((,class :inherit bold :foreground ,red-alt-other))) ;;;;; org-journal `(org-journal-calendar-entry-face ((,class :inherit modus-theme-slant :foreground ,yellow-alt-other))) `(org-journal-calendar-scheduled-face ((,class :inherit modus-theme-slant :foreground ,red-alt-other))) `(org-journal-highlight ((,class :foreground ,magenta-alt))) ;;;;; org-noter `(org-noter-no-notes-exist-face ((,class :inherit bold :foreground ,red-active))) `(org-noter-notes-exist-face ((,class :inherit bold :foreground ,green-active))) ;;;;; org-pomodoro `(org-pomodoro-mode-line ((,class :foreground ,red-active))) `(org-pomodoro-mode-line-break ((,class :foreground ,cyan-active))) `(org-pomodoro-mode-line-overtime ((,class :inherit bold :foreground ,red-active))) ;;;;; org-recur `(org-recur ((,class :foreground ,magenta-active))) ;;;;; org-roam `(org-roam-link ((,class :inherit button ,@(modus-themes--link-color green green-faint)))) `(org-roam-link-current ((,class :inherit button ,@(modus-themes--link-color green-alt green-alt-faint)))) `(org-roam-link-invalid ((,class :inherit button ,@(modus-themes--link-color red red-faint)))) `(org-roam-link-shielded ((,class :inherit button ,@(modus-themes--link-color yellow yellow-faint)))) `(org-roam-tag ((,class :inherit italic :foreground ,fg-alt))) ;;;;; org-superstar `(org-superstar-item ((,class :foreground ,fg-main))) `(org-superstar-leading ((,class :foreground ,fg-whitespace))) ;;;;; org-table-sticky-header `(org-table-sticky-header-face ((,class :inherit modus-theme-intense-neutral))) ;;;;; org-tree-slide `(org-tree-slide-header-overlay-face ((,class :inherit (bold modus-theme-variable-pitch) :background ,bg-main :foreground ,fg-special-cold :overline nil ,@(modus-themes--scale modus-themes-scale-5)))) ;;;;; org-treescope `(org-treescope-faces--markerinternal-midday ((,class :inherit modus-theme-intense-blue))) `(org-treescope-faces--markerinternal-range ((,class :inherit modus-theme-special-mild))) ;;;;; origami `(origami-fold-header-face ((,class :background ,bg-dim :foreground ,fg-dim :box t))) `(origami-fold-replacement-face ((,class :background ,bg-alt :foreground ,fg-alt))) ;;;;; outline-mode `(outline-1 ((,class :inherit modus-theme-heading-1))) `(outline-2 ((,class :inherit modus-theme-heading-2))) `(outline-3 ((,class :inherit modus-theme-heading-3))) `(outline-4 ((,class :inherit modus-theme-heading-4))) `(outline-5 ((,class :inherit modus-theme-heading-5))) `(outline-6 ((,class :inherit modus-theme-heading-6))) `(outline-7 ((,class :inherit modus-theme-heading-7))) `(outline-8 ((,class :inherit modus-theme-heading-8))) ;;;;; outline-minor-faces `(outline-minor-0 ((,class :background ,bg-alt))) ;;;;; package (M-x list-packages) `(package-description ((,class :foreground ,fg-special-cold))) `(package-help-section-name ((,class :inherit bold :foreground ,magenta-alt-other))) `(package-name ((,class :inherit button))) `(package-status-avail-obso ((,class :inherit bold :foreground ,red))) `(package-status-available ((,class :foreground ,fg-special-mild))) `(package-status-built-in ((,class :foreground ,magenta))) `(package-status-dependency ((,class :foreground ,magenta-alt-other))) `(package-status-disabled ((,class :inherit modus-theme-subtle-red))) `(package-status-external ((,class :foreground ,cyan-alt-other))) `(package-status-held ((,class :foreground ,yellow-alt))) `(package-status-incompat ((,class :inherit bold :foreground ,yellow))) `(package-status-installed ((,class :foreground ,fg-special-warm))) `(package-status-new ((,class :inherit bold :foreground ,green))) `(package-status-unsigned ((,class :inherit bold :foreground ,red-alt))) ;;;;; page-break-lines `(page-break-lines ((,class :inherit default :foreground ,fg-window-divider-outer))) ;;;;; paradox `(paradox-archive-face ((,class :foreground ,fg-special-mild))) `(paradox-comment-face ((,class :inherit font-lock-comment-face))) `(paradox-commit-tag-face ((,class :inherit modus-theme-refine-magenta :box t))) `(paradox-description-face ((,class :foreground ,fg-special-cold))) `(paradox-description-face-multiline ((,class :foreground ,fg-special-cold))) `(paradox-download-face ((,class :inherit modus-theme-bold :foreground ,blue-alt-other))) `(paradox-highlight-face ((,class :inherit modus-theme-bold :foreground ,cyan-alt-other))) `(paradox-homepage-button-face ((,class :foreground ,magenta-alt-other :underline t))) `(paradox-mode-line-face ((,class :inherit bold :foreground ,cyan-active))) `(paradox-name-face ((,class :foreground ,blue :underline t))) `(paradox-star-face ((,class :foreground ,magenta))) `(paradox-starred-face ((,class :foreground ,magenta-alt))) ;;;;; paren-face `(parenthesis ((,class :foreground ,fg-unfocused))) ;;;;; parrot `(parrot-rotate-rotation-highlight-face ((,class :inherit modus-theme-refine-magenta))) ;;;;; pass `(pass-mode-directory-face ((,class :inherit bold :foreground ,fg-special-cold))) `(pass-mode-entry-face ((,class :background ,bg-main :foreground ,fg-main))) `(pass-mode-header-face ((,class :foreground ,fg-special-warm))) ;;;;; pdf-tools `(pdf-links-read-link ((,class :background ,fg-main :foreground ,magenta-intense-bg :inherit bold))) ; Foreground is background and vice versa `(pdf-occur-document-face ((,class :inherit shadow))) `(pdf-occur-page-face ((,class :inherit shadow))) ;;;;; persp-mode `(persp-face-lighter-buffer-not-in-persp ((,class :inherit modus-theme-intense-red))) `(persp-face-lighter-default ((,class :inherit bold :foreground ,blue-active))) `(persp-face-lighter-nil-persp ((,class :inherit bold :foreground ,fg-active))) ;;;;; perspective `(persp-selected-face ((,class :inherit bold :foreground ,blue-active))) ;;;;; phi-grep `(phi-grep-heading-face ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-4)))) `(phi-grep-line-number-face ((,class :foreground ,fg-special-warm))) `(phi-grep-match-face ((,class :inherit modus-theme-special-calm))) `(phi-grep-modified-face ((,class :inherit modus-theme-refine-yellow))) `(phi-grep-overlay-face ((,class :inherit modus-theme-refine-blue))) ;;;;; phi-search `(phi-replace-preview-face ((,class :inherit modus-theme-intense-magenta))) `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red))) `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan))) `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green bold)))) ;;;;; pkgbuild-mode `(pkgbuild-error-face ((,class :inherit modus-theme-lang-error))) ;;;;; pomidor `(pomidor-break-face ((,class :foreground ,blue-alt-other))) `(pomidor-overwork-face ((,class :foreground ,red-alt-other))) `(pomidor-skip-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(pomidor-work-face ((,class :foreground ,green-alt-other))) ;;;;; popup `(popup-face ((,class :background ,bg-alt :foreground ,fg-main))) `(popup-isearch-match ((,class :inherit (modus-theme-refine-cyan bold)))) `(popup-menu-mouse-face ((,class :inherit modus-theme-intense-blue))) `(popup-menu-selection-face ((,class :inherit (modus-theme-subtle-cyan bold)))) `(popup-scroll-bar-background-face ((,class :background ,bg-active))) `(popup-scroll-bar-foreground-face ((,class :foreground ,fg-active))) `(popup-summary-face ((,class :background ,bg-active :foreground ,fg-inactive))) `(popup-tip-face ((,class :inherit modus-theme-refine-yellow))) ;;;;; powerline `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint :inverse-video t))) `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground ,blue-nuanced-fg))) `(powerline-active2 ((,class :background ,bg-active :foreground ,fg-active))) `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) `(powerline-inactive1 ((,class :background ,bg-dim :foreground ,fg-inactive))) `(powerline-inactive2 ((,class :background ,bg-inactive :foreground ,fg-inactive))) ;;;;; powerline-evil `(powerline-evil-base-face ((,class :background ,fg-main :foreground ,bg-main))) `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta))) `(powerline-evil-insert-face ((,class :inherit modus-theme-active-green))) `(powerline-evil-motion-face ((,class :inherit modus-theme-active-blue))) `(powerline-evil-normal-face ((,class :background ,fg-alt :foreground ,bg-main))) `(powerline-evil-operator-face ((,class :inherit modus-theme-active-yellow))) `(powerline-evil-replace-face ((,class :inherit modus-theme-active-red))) `(powerline-evil-visual-face ((,class :inherit modus-theme-active-cyan))) ;;;;; proced `(proced-mark ((,class :inherit modus-theme-mark-symbol))) `(proced-marked ((,class :inherit modus-theme-mark-alt))) `(proced-sort-header ((,class :inherit bold :foreground ,fg-special-calm :underline t))) ;;;;; prodigy `(prodigy-green-face ((,class :foreground ,green))) `(prodigy-red-face ((,class :foreground ,red))) `(prodigy-yellow-face ((,class :foreground ,yellow))) ;;;;; quick-peek `(quick-peek-background-face ((,class :background ,bg-alt))) `(quick-peek-border-face ((,class :background ,fg-window-divider-inner :height 1))) `(quick-peek-padding-face ((,class :background ,bg-alt :height 0.15))) ;;;;; racket-mode `(racket-debug-break-face ((,class :inherit modus-theme-intense-red))) `(racket-debug-locals-face ((,class :box (:line-width -1 :color nil) :foreground ,green-alt-other))) `(racket-debug-result-face ((,class :inherit bold :box (:line-width -1 :color nil) :foreground ,green))) `(racket-here-string-face ((,class :foreground ,blue-alt))) `(racket-keyword-argument-face ((,class :foreground ,red-alt))) `(racket-logger-config-face ((,class :inherit modus-theme-slant :foreground ,fg-alt))) `(racket-logger-debug-face ((,class :foreground ,blue-alt-other))) `(racket-logger-info-face ((,class :foreground ,fg-lang-note))) `(racket-logger-topic-face ((,class :inherit modus-theme-slant :foreground ,magenta))) `(racket-selfeval-face ((,class :foreground ,green-alt))) `(racket-xp-error-face ((,class :inherit modus-theme-lang-error))) ;;;;; rainbow-blocks `(rainbow-blocks-depth-1-face ((,class :foreground ,magenta-alt-other))) `(rainbow-blocks-depth-2-face ((,class :foreground ,blue))) `(rainbow-blocks-depth-3-face ((,class :foreground ,magenta-alt))) `(rainbow-blocks-depth-4-face ((,class :foreground ,green))) `(rainbow-blocks-depth-5-face ((,class :foreground ,magenta))) `(rainbow-blocks-depth-6-face ((,class :foreground ,cyan))) `(rainbow-blocks-depth-7-face ((,class :foreground ,yellow))) `(rainbow-blocks-depth-8-face ((,class :foreground ,cyan-alt))) `(rainbow-blocks-depth-9-face ((,class :foreground ,red-alt))) `(rainbow-blocks-unmatched-face ((,class :foreground ,red))) ;;;;; rainbow-identifiers `(rainbow-identifiers-identifier-1 ((,class :foreground ,green-alt-other))) `(rainbow-identifiers-identifier-2 ((,class :foreground ,magenta-alt-other))) `(rainbow-identifiers-identifier-3 ((,class :foreground ,cyan-alt-other))) `(rainbow-identifiers-identifier-4 ((,class :foreground ,yellow-alt-other))) `(rainbow-identifiers-identifier-5 ((,class :foreground ,blue-alt-other))) `(rainbow-identifiers-identifier-6 ((,class :foreground ,green-alt))) `(rainbow-identifiers-identifier-7 ((,class :foreground ,magenta-alt))) `(rainbow-identifiers-identifier-8 ((,class :foreground ,cyan-alt))) `(rainbow-identifiers-identifier-9 ((,class :foreground ,yellow-alt))) `(rainbow-identifiers-identifier-10 ((,class :foreground ,green))) `(rainbow-identifiers-identifier-11 ((,class :foreground ,magenta))) `(rainbow-identifiers-identifier-12 ((,class :foreground ,cyan))) `(rainbow-identifiers-identifier-13 ((,class :foreground ,yellow))) `(rainbow-identifiers-identifier-14 ((,class :foreground ,blue-alt))) `(rainbow-identifiers-identifier-15 ((,class :foreground ,red-alt))) ;;;;; rainbow-delimiters `(rainbow-delimiters-base-error-face ((,class :background ,red-subtle-bg :foreground ,fg-main))) `(rainbow-delimiters-base-face ((,class :foreground ,fg-main))) `(rainbow-delimiters-depth-1-face ((,class :foreground ,fg-main))) `(rainbow-delimiters-depth-2-face ((,class :foreground ,magenta-intense))) `(rainbow-delimiters-depth-3-face ((,class :foreground ,cyan-intense))) `(rainbow-delimiters-depth-4-face ((,class :foreground ,orange-intense))) `(rainbow-delimiters-depth-5-face ((,class :foreground ,purple-intense))) `(rainbow-delimiters-depth-6-face ((,class :foreground ,green-intense))) `(rainbow-delimiters-depth-7-face ((,class :foreground ,red-intense))) `(rainbow-delimiters-depth-8-face ((,class :foreground ,blue-intense))) `(rainbow-delimiters-depth-9-face ((,class :foreground ,yellow-intense))) `(rainbow-delimiters-mismatched-face ((,class :inherit (bold modus-theme-refine-yellow)))) `(rainbow-delimiters-unmatched-face ((,class :inherit (bold modus-theme-refine-red)))) ;;;;; rcirc `(rcirc-bright-nick ((,class :inherit bold :foreground ,magenta-alt))) `(rcirc-dim-nick ((,class :inherit shadow))) `(rcirc-my-nick ((,class :inherit bold :foreground ,magenta))) `(rcirc-nick-in-message ((,class :foreground ,magenta-alt-other))) `(rcirc-nick-in-message-full-line ((,class :inherit bold :foreground ,fg-special-mild))) `(rcirc-other-nick ((,class :inherit bold :foreground ,fg-special-cold))) `(rcirc-prompt ((,class :inherit bold :foreground ,cyan-alt-other))) `(rcirc-server ((,class :foreground ,fg-unfocused))) `(rcirc-timestamp ((,class :foreground ,blue-nuanced-fg))) `(rcirc-url ((,class :foreground ,blue :underline t))) ;;;;; recursion-indicator `(recursion-indicator-general ((,class :foreground ,blue-active))) `(recursion-indicator-minibuffer ((,class :foreground ,red-active))) ;;;;; regexp-builder (re-builder) `(reb-match-0 ((,class :inherit modus-theme-refine-cyan))) `(reb-match-1 ((,class :inherit modus-theme-subtle-magenta))) `(reb-match-2 ((,class :inherit modus-theme-subtle-green))) `(reb-match-3 ((,class :inherit modus-theme-refine-yellow))) `(reb-regexp-grouping-backslash ((,class :inherit font-lock-regexp-grouping-backslash))) `(reb-regexp-grouping-construct ((,class :inherit font-lock-regexp-grouping-construct))) ;;;;; rg (rg.el) `(rg-column-number-face ((,class :foreground ,magenta-alt-other))) `(rg-context-face ((,class :foreground ,fg-unfocused))) `(rg-error-face ((,class :inherit bold :foreground ,red))) `(rg-file-tag-face ((,class :foreground ,fg-special-cold))) `(rg-filename-face ((,class :inherit bold :foreground ,fg-special-cold))) `(rg-line-number-face ((,class :foreground ,fg-special-warm))) `(rg-literal-face ((,class :foreground ,blue-alt))) `(rg-match-face ((,class :inherit modus-theme-special-calm))) `(rg-regexp-face ((,class :foreground ,magenta-active))) `(rg-toggle-off-face ((,class :inherit bold :foreground ,fg-inactive))) `(rg-toggle-on-face ((,class :inherit bold :foreground ,cyan-active))) `(rg-warning-face ((,class :inherit bold :foreground ,yellow))) ;;;;; ripgrep `(ripgrep-context-face ((,class :foreground ,fg-unfocused))) `(ripgrep-error-face ((,class :inherit bold :foreground ,red))) `(ripgrep-hit-face ((,class :foreground ,cyan))) `(ripgrep-match-face ((,class :inherit modus-theme-special-calm))) ;;;;; rmail `(rmail-header-name ((,class :foreground ,cyan-alt-other))) `(rmail-highlight ((,class :inherit bold :foreground ,magenta-alt))) ;;;;; ruler-mode `(ruler-mode-column-number ((,class :inherit ruler-mode-default :foreground ,fg-main))) `(ruler-mode-comment-column ((,class :inherit ruler-mode-default :foreground ,red))) `(ruler-mode-current-column ((,class :inherit ruler-mode-default :background ,blue-subtle-bg :foreground ,fg-main))) `(ruler-mode-default ((,class :inherit default :background ,bg-alt :foreground ,fg-unfocused))) `(ruler-mode-fill-column ((,class :inherit ruler-mode-default :foreground ,green))) `(ruler-mode-fringes ((,class :inherit ruler-mode-default :foreground ,cyan))) `(ruler-mode-goal-column ((,class :inherit ruler-mode-default :foreground ,blue))) `(ruler-mode-margins ((,class :inherit ruler-mode-default :foreground ,bg-main))) `(ruler-mode-pad ((,class :inherit ruler-mode-default :background ,bg-active :foreground ,fg-inactive))) `(ruler-mode-tab-stop ((,class :inherit ruler-mode-default :foreground ,fg-special-warm))) ;;;;; sallet `(sallet-buffer-compressed ((,class :inherit italic :foreground ,yellow-nuanced-fg))) `(sallet-buffer-default-directory ((,class :foreground ,cyan-nuanced-fg))) `(sallet-buffer-directory ((,class :foreground ,blue-nuanced-fg))) `(sallet-buffer-help ((,class :foreground ,fg-special-cold))) `(sallet-buffer-modified ((,class :inherit italic :foreground ,yellow-alt-other))) `(sallet-buffer-ordinary ((,class :foreground ,fg-main))) `(sallet-buffer-read-only ((,class :foreground ,yellow-alt))) `(sallet-buffer-size ((,class :foreground ,fg-special-calm))) `(sallet-buffer-special ((,class :foreground ,magenta-alt-other))) `(sallet-flx-match ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-cyan 'modus-theme-refine-cyan 'modus-theme-nuanced-cyan cyan-alt-other)))) `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced-fg))) `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild))) `(sallet-regexp-match ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-magenta 'modus-theme-refine-magenta 'modus-theme-nuanced-magenta magenta-alt-other)))) `(sallet-source-header ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-4)))) `(sallet-substring-match ((,class ,@(modus-themes--extra-completions 'modus-theme-subtle-blue 'modus-theme-refine-blue 'modus-theme-nuanced-blue blue-alt-other)))) ;;;;; selectrum ;; NOTE 2021-02-22: The `selectrum-primary-highlight' and ;; `selectrum-secondary-highlight' are deprecated upstream in favour of ;; their selectrum-prescient counterparts. We shall remove those faces ;; from the themes once we are certain that they are no longer relevant. `(selectrum-current-candidate ((,class :inherit bold :foreground ,fg-main :background ,@(pcase modus-themes-completions ('opinionated (list bg-active)) (_ (list bg-inactive)))))) `(selectrum-primary-highlight ((,class :inherit bold ,@(modus-themes--standard-completions magenta-alt magenta-nuanced-bg magenta-refine-bg magenta-refine-fg)))) `(selectrum-secondary-highlight ((,class :inherit bold ,@(modus-themes--standard-completions cyan-alt-other cyan-nuanced-bg cyan-refine-bg cyan-refine-fg)))) ;;;;; selectrum-prescient `(selectrum-prescient-primary-highlight ((,class :inherit bold ,@(modus-themes--standard-completions magenta-alt magenta-nuanced-bg magenta-refine-bg magenta-refine-fg)))) `(selectrum-prescient-secondary-highlight ((,class :inherit bold ,@(modus-themes--standard-completions cyan-alt-other cyan-nuanced-bg cyan-refine-bg cyan-refine-fg)))) ;;;;; semantic `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t))) `(semantic-decoration-on-fileless-includes ((,class :inherit modus-theme-refine-green))) `(semantic-decoration-on-private-members-face ((,class :inherit modus-theme-refine-cyan))) `(semantic-decoration-on-protected-members-face ((,class :background ,bg-dim))) `(semantic-decoration-on-unknown-includes ((,class :inherit modus-theme-refine-red))) `(semantic-decoration-on-unparsed-includes ((,class :inherit modus-theme-refine-yellow))) `(semantic-highlight-edits-face ((,class :background ,bg-alt))) `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt))) `(semantic-idle-symbol-highlight ((,class :inherit modus-theme-special-mild))) `(semantic-tag-boundary-face ((,class :overline ,blue-intense))) `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error))) ;;;;; sesman `(sesman-browser-button-face ((,class :foreground ,blue-alt-other :underline t))) `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue))) `(sesman-buffer-face ((,class :foreground ,magenta))) `(sesman-directory-face ((,class :inherit bold :foreground ,blue))) `(sesman-project-face ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; shell-script-mode `(sh-heredoc ((,class :foreground ,blue-alt))) `(sh-quoted-exec ((,class :inherit modus-theme-bold :foreground ,magenta-alt))) ;;;;; shortdoc `(shortdoc-heading ((,class :inherit modus-theme-pseudo-header))) `(shortdoc-section (())) ; remove the default's variable-pitch style ;;;;; show-paren-mode `(show-paren-match ((,class ,@(modus-themes--paren bg-paren-match bg-paren-match-intense) :foreground ,fg-main))) `(show-paren-match-expression ((,class :inherit modus-theme-special-calm))) `(show-paren-mismatch ((,class :inherit modus-theme-intense-red))) ;;;;; shr `(shr-abbreviation ((,(append '((supports :underline (:style wave))) class) :foreground ,fg-docstring :underline (:color ,fg-alt :style wave)) (,class :foreground ,fg-docstring :underline t))) `(shr-selected-link ((,class :inherit modus-theme-subtle-cyan))) ;;;;; side-notes `(side-notes ((,class :background ,bg-dim :foreground ,fg-dim))) ;;;;; sieve-mode `(sieve-action-commands ((,class :inherit font-lock-builtin-face))) `(sieve-control-commands ((,class :inherit font-lock-keyword-face))) `(sieve-tagged-arguments ((,class :inherit font-lock-type-face))) `(sieve-test-commands ((,class :inherit font-lock-function-name-face))) ;;;;; skewer-mode `(skewer-error-face ((,class :foreground ,red :underline t))) ;;;;; smart-mode-line `(sml/charging ((,class :foreground ,green-active))) `(sml/discharging ((,class :foreground ,red-active))) `(sml/filename ((,class :inherit bold :foreground ,blue-active))) `(sml/folder ((,class :foreground ,fg-active))) `(sml/git ((,class :inherit bold :foreground ,green-active))) `(sml/global ((,class :foreground ,fg-active))) `(sml/line-number ((,class :inherit sml/global))) `(sml/minor-modes ((,class :inherit sml/global))) `(sml/modes ((,class :inherit bold :foreground ,fg-active))) `(sml/modified ((,class :inherit bold :foreground ,magenta-active))) `(sml/mule-info ((,class :inherit sml/global))) `(sml/name-filling ((,class :foreground ,yellow-active))) `(sml/not-modified ((,class :inherit sml/global))) `(sml/numbers-separator ((,class :inherit sml/global))) `(sml/outside-modified ((,class :inherit modus-theme-intense-red))) `(sml/position-percentage ((,class :inherit sml/global))) `(sml/prefix ((,class :foreground ,green-active))) `(sml/process ((,class :inherit sml/prefix))) `(sml/projectile ((,class :inherit sml/git))) `(sml/read-only ((,class :inherit bold :foreground ,cyan-active))) `(sml/remote ((,class :inherit sml/global))) `(sml/sudo ((,class :inherit modus-theme-subtle-red))) `(sml/time ((,class :inherit sml/global))) `(sml/vc ((,class :inherit sml/git))) `(sml/vc-edited ((,class :inherit bold :foreground ,yellow-active))) ;;;;; smartparens `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm))) `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild))) `(sp-show-pair-match-face ((,class ,@(modus-themes--paren bg-paren-match bg-paren-match-intense) :foreground ,fg-main))) `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red))) `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face))) `(sp-wrap-overlay-face ((,class :inherit sp-pair-overlay-face))) `(sp-wrap-overlay-opening-pair ((,class :inherit sp-pair-overlay-face))) `(sp-wrap-tag-overlay-face ((,class :inherit sp-pair-overlay-face))) ;;;;; smerge `(smerge-base ((,class :inherit modus-theme-diff-changed))) `(smerge-lower ((,class :inherit modus-theme-diff-added))) `(smerge-markers ((,class :background ,bg-diff-neutral-2 :foreground ,fg-diff-neutral-2))) `(smerge-refined-added ((,class :inherit modus-theme-diff-refine-added))) `(smerge-refined-changed (())) `(smerge-refined-removed ((,class :inherit modus-theme-diff-refine-removed))) `(smerge-upper ((,class :inherit modus-theme-diff-removed))) ;;;;; solaire `(solaire-default-face ((,class :inherit default :background ,bg-alt :foreground ,fg-dim))) `(solaire-line-number-face ((,class :inherit solaire-default-face :foreground ,fg-unfocused))) `(solaire-hl-line-face ((,class :background ,bg-active))) `(solaire-org-hide-face ((,class :background ,bg-alt :foreground ,bg-alt))) ;;;;; spaceline `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta))) `(spaceline-evil-insert ((,class :inherit modus-theme-active-green))) `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue))) `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt))) `(spaceline-evil-replace ((,class :inherit modus-theme-active-red))) `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan))) `(spaceline-flycheck-error ((,class :foreground ,red-active))) `(spaceline-flycheck-info ((,class :foreground ,cyan-active))) `(spaceline-flycheck-warning ((,class :foreground ,yellow-active))) `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue))) `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta))) `(spaceline-python-venv ((,class :foreground ,magenta-active))) `(spaceline-read-only ((,class :inherit modus-theme-fringe-red))) `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan))) ;;;;; speedbar `(speedbar-button-face ((,class :inherit button))) `(speedbar-directory-face ((,class :inherit bold :foreground ,blue))) `(speedbar-file-face ((,class :foreground ,fg-main))) `(speedbar-highlight-face ((,class :inherit modus-theme-subtle-blue))) `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan))) `(speedbar-separator-face ((,class :inherit modus-theme-intense-neutral))) `(speedbar-tag-face ((,class :foreground ,yellow-alt-other))) ;;;;; spell-fu `(spell-fu-incorrect-face ((,class :inherit modus-theme-lang-error))) ;;;;; spray `(spray-accent-face ((,class :foreground ,red-intense))) `(spray-base-face ((,class :inherit default :foreground ,fg-special-cold))) ;;;;; stripes `(stripes ((,class :inherit modus-theme-hl-line))) ;;;;; success `(suggest-heading ((,class :inherit bold :foreground ,yellow-alt-other))) ;;;;; switch-window `(switch-window-background ((,class :background ,bg-dim))) `(switch-window-label ((,class :height 3.0 :foreground ,blue-intense))) ;;;;; swiper `(swiper-background-match-face-1 ((,class :inherit modus-theme-subtle-neutral))) `(swiper-background-match-face-2 ((,class :inherit modus-theme-refine-cyan))) `(swiper-background-match-face-3 ((,class :inherit modus-theme-refine-magenta))) `(swiper-background-match-face-4 ((,class :inherit modus-theme-refine-yellow))) `(swiper-line-face ((,class :inherit modus-theme-special-cold))) `(swiper-match-face-1 ((,class :inherit (bold modus-theme-intense-neutral)))) `(swiper-match-face-2 ((,class :inherit (bold modus-theme-intense-green)))) `(swiper-match-face-3 ((,class :inherit (bold modus-theme-intense-blue)))) `(swiper-match-face-4 ((,class :inherit (bold modus-theme-intense-red)))) ;;;;; swoop `(swoop-face-header-format-line ((,class :inherit bold :foreground ,red-alt ,@(modus-themes--scale modus-themes-scale-3)))) `(swoop-face-line-buffer-name ((,class :inherit bold :foreground ,blue-alt ,@(modus-themes--scale modus-themes-scale-4)))) `(swoop-face-line-number ((,class :foreground ,fg-special-warm))) `(swoop-face-target-line ((,class :inherit modus-theme-intense-blue :extend t))) `(swoop-face-target-words ((,class :inherit modus-theme-refine-cyan))) ;;;;; sx `(sx-inbox-item-type ((,class :foreground ,magenta-alt-other))) `(sx-inbox-item-type-unread ((,class :inherit (sx-inbox-item-type bold)))) `(sx-question-list-answers ((,class :foreground ,green))) `(sx-question-list-answers-accepted ((,class :box t :foreground ,green))) `(sx-question-list-bounty ((,class :inherit bold :background ,bg-alt :foreground ,yellow))) `(sx-question-list-date ((,class :foreground ,fg-special-cold))) `(sx-question-list-favorite ((,class :inherit bold :foreground ,fg-special-warm))) `(sx-question-list-parent ((,class :foreground ,fg-main))) `(sx-question-list-read-question ((,class :inherit shadow))) `(sx-question-list-score ((,class :foreground ,fg-special-mild))) `(sx-question-list-score-upvoted ((,class :inherit (sx-question-list-score bold)))) `(sx-question-list-unread-question ((,class :inherit bold :foreground ,fg-main))) `(sx-question-mode-accepted ((,class :inherit bold :height 1.3 :foreground ,green))) `(sx-question-mode-closed ((,class :inherit modus-theme-active-yellow :box (:line-width 2 :color nil)))) `(sx-question-mode-closed-reason ((,class :box (:line-width 2 :color nil) :foreground ,fg-main))) `(sx-question-mode-content-face ((,class :background ,bg-dim))) `(sx-question-mode-date ((,class :foreground ,blue))) `(sx-question-mode-header ((,class :inherit bold :foreground ,cyan))) `(sx-question-mode-kbd-tag ((,class :inherit bold :height 0.9 :box (:line-width 3 :color ,fg-main :style released-button) :foreground ,fg-main))) `(sx-question-mode-score ((,class :foreground ,fg-dim))) `(sx-question-mode-score-downvoted ((,class :foreground ,yellow))) `(sx-question-mode-score-upvoted ((,class :inherit bold :foreground ,magenta))) `(sx-question-mode-title ((,class :inherit bold :foreground ,fg-main))) `(sx-question-mode-title-comments ((,class :inherit bold :foreground ,fg-alt))) `(sx-tag ((,class :foreground ,magenta-alt))) `(sx-user-name ((,class :foreground ,blue-alt))) `(sx-user-reputation ((,class :inherit shadow))) ;;;;; symbol-overlay `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm))) `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue))) `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta))) `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow))) `(symbol-overlay-face-4 ((,class :inherit modus-theme-intense-magenta))) `(symbol-overlay-face-5 ((,class :inherit modus-theme-intense-red))) `(symbol-overlay-face-6 ((,class :inherit modus-theme-refine-red))) `(symbol-overlay-face-7 ((,class :inherit modus-theme-intense-cyan))) `(symbol-overlay-face-8 ((,class :inherit modus-theme-refine-cyan))) ;;;;; syslog-mode `(syslog-debug ((,class :inherit bold :foreground ,cyan-alt-other))) `(syslog-error ((,class :inherit bold :foreground ,red))) `(syslog-file ((,class :inherit bold :foreground ,fg-special-cold))) `(syslog-hide ((,class :background ,bg-main :foreground ,fg-main))) `(syslog-hour ((,class :inherit bold :foreground ,magenta-alt-other))) `(syslog-info ((,class :inherit bold :foreground ,blue-alt-other))) `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline t))) `(syslog-su ((,class :inherit bold :foreground ,red-alt))) `(syslog-warn ((,class :inherit bold :foreground ,yellow))) ;;;;; tab-bar-mode `(tab-bar ((,class ,@(modus-themes--variable-pitch-ui) :background ,bg-tab-bar :foreground ,fg-main))) `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) :background ,bg-tab-active :foreground ,fg-main))) `(tab-bar-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) :background ,bg-tab-inactive :foreground ,fg-dim))) ;;;;; tab-line-mode `(tab-line ((,class ,@(modus-themes--variable-pitch-ui) :height 0.95 :background ,bg-tab-bar :foreground ,fg-main))) `(tab-line-close-highlight ((,class :foreground ,red))) `(tab-line-highlight ((,class :background ,blue-subtle-bg :foreground ,fg-dim))) `(tab-line-tab ((,class :inherit bold :box (:line-width 2 :color ,bg-tab-active) :background ,bg-tab-active :foreground ,fg-main))) `(tab-line-tab-current ((,class :inherit tab-line-tab))) `(tab-line-tab-inactive ((,class :box (:line-width 2 :color ,bg-tab-inactive) :background ,bg-tab-inactive :foreground ,fg-dim))) `(tab-line-tab-inactive-alternate ((,class :box (:line-width 2 :color ,bg-tab-inactive-alt) :background ,bg-tab-inactive-alt :foreground ,fg-main))) ;;;;; table (built-in table.el) `(table-cell ((,class :background ,blue-nuanced-bg))) ;;;;; telephone-line `(telephone-line-accent-active ((,class :background ,fg-inactive :foreground ,bg-inactive))) `(telephone-line-accent-inactive ((,class :background ,bg-active :foreground ,fg-active))) `(telephone-line-error ((,class :inherit bold :foreground ,red-active))) `(telephone-line-evil ((,class :foreground ,fg-main))) `(telephone-line-evil-emacs ((,class :inherit telephone-line-evil :background ,magenta-intense-bg))) `(telephone-line-evil-insert ((,class :inherit telephone-line-evil :background ,green-intense-bg))) `(telephone-line-evil-motion ((,class :inherit telephone-line-evil :background ,yellow-intense-bg))) `(telephone-line-evil-normal ((,class :inherit telephone-line-evil :background ,bg-alt))) `(telephone-line-evil-operator ((,class :inherit telephone-line-evil :background ,yellow-subtle-bg))) `(telephone-line-evil-replace ((,class :inherit telephone-line-evil :background ,red-intense-bg))) `(telephone-line-evil-visual ((,class :inherit telephone-line-evil :background ,cyan-intense-bg))) `(telephone-line-projectile ((,class :foreground ,cyan-active))) `(telephone-line-unimportant ((,class :foreground ,fg-inactive))) `(telephone-line-warning ((,class :inherit bold :foreground ,yellow-active))) ;;;;; terraform-mode `(terraform--resource-name-face ((,class ,@(modus-themes--syntax-string magenta-alt-other magenta-alt-other-faint red-alt red-alt)))) `(terraform--resource-type-face ((,class ,@(modus-themes--syntax-string green green-faint blue-alt magenta-alt)))) ;;;;; term `(term ((,class :background ,bg-main :foreground ,fg-main))) `(term-bold ((,class :inherit bold))) `(term-color-black ((,class :background "gray35" :foreground "gray35"))) `(term-color-blue ((,class :background ,blue :foreground ,blue))) `(term-color-cyan ((,class :background ,cyan :foreground ,cyan))) `(term-color-green ((,class :background ,green :foreground ,green))) `(term-color-magenta ((,class :background ,magenta :foreground ,magenta))) `(term-color-red ((,class :background ,red :foreground ,red))) `(term-color-white ((,class :background "gray65" :foreground "gray65"))) `(term-color-yellow ((,class :background ,yellow :foreground ,yellow))) `(term-underline ((,class :underline t))) ;;;;; tomatinho `(tomatinho-ok-face ((,class :foreground ,blue-intense))) `(tomatinho-pause-face ((,class :foreground ,yellow-intense))) `(tomatinho-reset-face ((,class :inherit shadow))) ;;;;; transient `(transient-active-infix ((,class :inherit modus-theme-special-mild))) `(transient-amaranth ((,class :inherit bold :foreground ,yellow))) `(transient-argument ((,class :inherit bold :foreground ,red-alt))) `(transient-blue ((,class :inherit bold :foreground ,blue))) `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red))) `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green))) `(transient-heading ((,class :inherit bold :foreground ,fg-main))) `(transient-inactive-argument ((,class :inherit shadow))) `(transient-inactive-value ((,class :inherit shadow))) `(transient-key ((,class :inherit bold :foreground ,blue))) `(transient-mismatched-key ((,class :underline t))) `(transient-nonstandard-key ((,class :underline t))) `(transient-pink ((,class :inherit bold :foreground ,magenta))) `(transient-red ((,class :inherit bold :foreground ,red-intense))) `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other))) `(transient-unreachable ((,class :foreground ,fg-unfocused))) `(transient-unreachable-key ((,class :foreground ,fg-unfocused))) `(transient-value ((,class :inherit bold :foreground ,magenta-alt-other))) ;;;;; trashed `(trashed-deleted ((,class :inherit modus-theme-mark-del))) `(trashed-directory ((,class :foreground ,blue))) `(trashed-mark ((,class :inherit modus-theme-mark-symbol))) `(trashed-marked ((,class :inherit modus-theme-mark-alt))) `(trashed-restored ((,class :inherit modus-theme-mark-sel))) `(trashed-symlink ((,class :inherit button ,@(modus-themes--link-color cyan-alt cyan-alt-faint)))) ;;;;; treemacs `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt))) `(treemacs-directory-face ((,class :inherit dired-directory))) `(treemacs-file-face ((,class :foreground ,fg-main))) `(treemacs-fringe-indicator-face ((,class :foreground ,fg-main))) `(treemacs-git-added-face ((,class :foreground ,green-intense))) `(treemacs-git-conflict-face ((,class :inherit (modus-theme-intense-red bold)))) `(treemacs-git-ignored-face ((,class :inherit shadow))) `(treemacs-git-modified-face ((,class :foreground ,yellow-alt-other))) `(treemacs-git-renamed-face ((,class :foreground ,cyan-alt-other))) `(treemacs-git-unmodified-face ((,class :foreground ,fg-main))) `(treemacs-git-untracked-face ((,class :foreground ,red-alt-other))) `(treemacs-help-column-face ((,class :inherit modus-theme-bold :foreground ,magenta-alt-other :underline t))) `(treemacs-help-title-face ((,class :foreground ,blue-alt-other))) `(treemacs-on-failure-pulse-face ((,class :inherit modus-theme-intense-red))) `(treemacs-on-success-pulse-face ((,class :inherit modus-theme-intense-green))) `(treemacs-root-face ((,class :inherit bold :foreground ,blue-alt-other :height 1.2 :underline t))) `(treemacs-root-remote-disconnected-face ((,class :inherit treemacs-root-remote-face :foreground ,yellow))) `(treemacs-root-remote-face ((,class :inherit treemacs-root-face :foreground ,magenta))) `(treemacs-root-remote-unreadable-face ((,class :inherit treemacs-root-unreadable-face))) `(treemacs-root-unreadable-face ((,class :inherit treemacs-root-face :strike-through t))) `(treemacs-tags-face ((,class :foreground ,blue-alt))) `(treemacs-tags-face ((,class :foreground ,magenta-alt))) ;;;;; tty-menu `(tty-menu-disabled-face ((,class :background ,bg-alt :foreground ,fg-alt))) `(tty-menu-enabled-face ((,class :inherit bold :background ,bg-alt :foreground ,fg-main))) `(tty-menu-selected-face ((,class :inherit modus-theme-intense-blue))) ;;;;; tuareg `(caml-types-def-face ((,class :inherit modus-theme-subtle-red))) `(caml-types-expr-face ((,class :inherit modus-theme-subtle-green))) `(caml-types-occ-face ((,class :inherit modus-theme-subtle-green))) `(caml-types-scope-face ((,class :inherit modus-theme-subtle-blue))) `(caml-types-typed-face ((,class :inherit modus-theme-subtle-magenta))) `(tuareg-font-double-semicolon-face ((,class :inherit font-lock-preprocessor-face))) `(tuareg-font-lock-attribute-face ((,class :inherit font-lock-function-name-face))) `(tuareg-font-lock-constructor-face ((,class :foreground ,fg-main))) `(tuareg-font-lock-error-face ((,class :inherit (modus-theme-intense-red bold)))) `(tuareg-font-lock-extension-node-face ((,class :background ,bg-alt :foreground ,magenta))) `(tuareg-font-lock-governing-face ((,class :inherit bold :foreground ,fg-main))) `(tuareg-font-lock-infix-extension-node-face ((,class :inherit font-lock-function-name-face))) `(tuareg-font-lock-interactive-directive-face ((,class :foreground ,fg-special-cold))) `(tuareg-font-lock-interactive-error-face ((,class :inherit error))) `(tuareg-font-lock-interactive-output-face ((,class :inherit font-lock-constant-face))) `(tuareg-font-lock-label-face ((,class :inherit font-lock-type-face))) `(tuareg-font-lock-line-number-face ((,class :foreground ,fg-special-warm))) `(tuareg-font-lock-module-face ((,class :inherit font-lock-builtin-face))) `(tuareg-font-lock-multistage-face ((,class :inherit bold :background ,bg-alt :foreground ,blue))) `(tuareg-font-lock-operator-face ((,class :inherit font-lock-preprocessor-face))) `(tuareg-opam-error-face ((,class :inherit error))) `(tuareg-opam-pkg-variable-name-face ((,class :inherit font-lock-variable-name-face))) ;;;;; typescript `(typescript-jsdoc-tag ((,class :inherit modus-theme-slant :foreground ,fg-special-mild))) `(typescript-jsdoc-type ((,class :inherit modus-theme-slant :foreground ,fg-special-calm))) `(typescript-jsdoc-value ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) ;;;;; undo-tree `(undo-tree-visualizer-active-branch-face ((,class :inherit bold :foreground ,fg-main))) `(undo-tree-visualizer-current-face ((,class :foreground ,blue-intense))) `(undo-tree-visualizer-default-face ((,class :inherit shadow))) `(undo-tree-visualizer-register-face ((,class :foreground ,magenta-intense))) `(undo-tree-visualizer-unmodified-face ((,class :foreground ,green-intense))) ;;;;; vc (vc-dir.el, vc-hooks.el) `(vc-dir-directory ((,class :foreground ,blue))) `(vc-dir-file ((,class :foreground ,fg-main))) `(vc-dir-header ((,class :foreground ,cyan-alt-other))) `(vc-dir-header-value ((,class :foreground ,magenta-alt-other))) `(vc-dir-mark-indicator ((,class :foreground ,blue-alt-other))) `(vc-dir-status-edited ((,class :foreground ,yellow))) `(vc-dir-status-ignored ((,class :foreground ,fg-unfocused))) `(vc-dir-status-up-to-date ((,class :foreground ,cyan))) `(vc-dir-status-warning ((,class :foreground ,red))) `(vc-conflict-state ((,class :inherit modus-theme-slant :foreground ,red-active))) `(vc-edited-state ((,class :foreground ,yellow-active))) `(vc-locally-added-state ((,class :foreground ,cyan-active))) `(vc-locked-state ((,class :foreground ,blue-active))) `(vc-missing-state ((,class :inherit modus-theme-slant :foreground ,magenta-active))) `(vc-needs-update-state ((,class :inherit modus-theme-slant :foreground ,green-active))) `(vc-removed-state ((,class :foreground ,red-active))) `(vc-state-base ((,class :foreground ,fg-active))) `(vc-up-to-date-state ((,class :foreground ,fg-special-cold))) ;;;;; vdiff `(vdiff-addition-face ((,class :inherit modus-theme-diff-added))) `(vdiff-change-face ((,class :inherit modus-theme-diff-changed))) `(vdiff-closed-fold-face ((,class :background ,bg-diff-neutral-1 :foreground ,fg-diff-neutral-1))) `(vdiff-refine-added ((,class :inherit modus-theme-diff-refine-added))) `(vdiff-refine-changed ((,class :inherit modus-theme-diff-refine-changed))) `(vdiff-subtraction-face ((,class :inherit modus-theme-diff-removed))) `(vdiff-target-face ((,class :inherit modus-theme-intense-blue))) ;;;;; vimish-fold `(vimish-fold-fringe ((,class :foreground ,cyan-active))) `(vimish-fold-mouse-face ((,class :inherit modus-theme-intense-blue))) `(vimish-fold-overlay ((,class :background ,bg-alt :foreground ,fg-special-cold))) ;;;;; visible-mark `(visible-mark-active ((,class :background ,blue-intense-bg))) `(visible-mark-face1 ((,class :background ,cyan-intense-bg))) `(visible-mark-face2 ((,class :background ,yellow-intense-bg))) `(visible-mark-forward-face1 ((,class :background ,magenta-intense-bg))) `(visible-mark-forward-face2 ((,class :background ,green-intense-bg))) ;;;;; visual-regexp `(vr/group-0 ((,class :inherit modus-theme-intense-blue))) `(vr/group-1 ((,class :inherit modus-theme-intense-magenta))) `(vr/group-2 ((,class :inherit modus-theme-intense-green))) `(vr/match-0 ((,class :inherit modus-theme-refine-yellow))) `(vr/match-1 ((,class :inherit modus-theme-refine-yellow))) `(vr/match-separator-face ((,class :inherit (modus-theme-intense-neutral bold)))) ;;;;; volatile-highlights `(vhl/default-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg :extend t))) ;;;;; vterm `(vterm-color-black ((,class :background "gray35" :foreground "gray35"))) `(vterm-color-blue ((,class :background ,blue :foreground ,blue))) `(vterm-color-cyan ((,class :background ,cyan :foreground ,cyan))) `(vterm-color-default ((,class :background ,bg-main :foreground ,fg-main))) `(vterm-color-green ((,class :background ,green :foreground ,green))) `(vterm-color-inverse-video ((,class :background ,bg-main :inverse-video t))) `(vterm-color-magenta ((,class :background ,magenta :foreground ,magenta))) `(vterm-color-red ((,class :background ,red :foreground ,red))) `(vterm-color-underline ((,class :foreground ,fg-special-warm :underline t))) `(vterm-color-white ((,class :background "gray65" :foreground "gray65"))) `(vterm-color-yellow ((,class :background ,yellow :foreground ,yellow))) ;;;;; wcheck-mode `(wcheck-default-face ((,class :foreground ,red :underline t))) ;;;;; web-mode `(web-mode-annotation-face ((,class :inherit web-mode-comment-face))) `(web-mode-annotation-html-face ((,class :inherit web-mode-comment-face))) `(web-mode-annotation-tag-face ((,class :inherit web-mode-comment-face :underline t))) `(web-mode-block-attr-name-face ((,class :inherit font-lock-constant-face))) `(web-mode-block-attr-value-face ((,class :inherit font-lock-type-face))) `(web-mode-block-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-block-control-face ((,class :inherit font-lock-builtin-face))) `(web-mode-block-delimiter-face ((,class :foreground ,fg-main))) `(web-mode-block-face ((,class :background ,bg-dim))) `(web-mode-block-string-face ((,class :inherit web-mode-string-face))) `(web-mode-bold-face ((,class :inherit bold))) `(web-mode-builtin-face ((,class :inherit font-lock-builtin-face))) `(web-mode-comment-face ((,class :inherit font-lock-comment-face))) `(web-mode-comment-keyword-face ((,class :inherit font-lock-warning-face))) `(web-mode-constant-face ((,class :inherit font-lock-constant-face))) `(web-mode-css-at-rule-face ((,class :inherit font-lock-constant-face))) `(web-mode-css-color-face ((,class :inherit font-lock-builtin-face))) `(web-mode-css-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-css-function-face ((,class :inherit font-lock-builtin-face))) `(web-mode-css-priority-face ((,class :inherit font-lock-warning-face))) `(web-mode-css-property-name-face ((,class :inherit font-lock-keyword-face))) `(web-mode-css-pseudo-class-face ((,class :inherit font-lock-doc-face))) `(web-mode-css-selector-face ((,class :inherit font-lock-keyword-face))) `(web-mode-css-string-face ((,class :inherit web-mode-string-face))) `(web-mode-css-variable-face ((,class :foreground ,fg-special-warm))) `(web-mode-current-column-highlight-face ((,class :background ,bg-alt))) `(web-mode-current-element-highlight-face ((,class :inherit modus-theme-special-mild))) `(web-mode-doctype-face ((,class :inherit modus-theme-slant :foreground ,fg-special-cold))) `(web-mode-error-face ((,class :inherit modus-theme-intense-red))) `(web-mode-filter-face ((,class :inherit font-lock-function-name-face))) `(web-mode-folded-face ((,class :underline t))) `(web-mode-function-call-face ((,class :inherit font-lock-function-name-face))) `(web-mode-function-name-face ((,class :inherit font-lock-function-name-face))) `(web-mode-html-attr-custom-face ((,class :inherit font-lock-variable-name-face))) `(web-mode-html-attr-engine-face ((,class :foreground ,fg-main))) `(web-mode-html-attr-equal-face ((,class :foreground ,fg-main))) `(web-mode-html-attr-name-face ((,class :inherit font-lock-variable-name-face))) `(web-mode-html-attr-value-face ((,class :inherit font-lock-constant-face))) `(web-mode-html-entity-face ((,class :inherit font-lock-negation-char-face))) `(web-mode-html-tag-bracket-face ((,class :foreground ,fg-dim))) `(web-mode-html-tag-custom-face ((,class :inherit font-lock-function-name-face))) `(web-mode-html-tag-face ((,class :inherit font-lock-function-name-face))) `(web-mode-html-tag-namespaced-face ((,class :inherit font-lock-builtin-face))) `(web-mode-html-tag-unclosed-face ((,class :inherit error :underline t))) `(web-mode-inlay-face ((,class :background ,bg-alt))) `(web-mode-italic-face ((,class :inherit italic))) `(web-mode-javascript-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-javascript-string-face ((,class :inherit web-mode-string-face))) `(web-mode-json-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-json-context-face ((,class :inherit font-lock-builtin-face))) `(web-mode-json-key-face ((,class :foreground ,blue-nuanced-fg))) `(web-mode-json-string-face ((,class :inherit web-mode-string-face))) `(web-mode-jsx-depth-1-face ((,class :background ,blue-intense-bg :foreground ,fg-main))) `(web-mode-jsx-depth-2-face ((,class :background ,blue-subtle-bg :foreground ,fg-main))) `(web-mode-jsx-depth-3-face ((,class :background ,bg-special-cold :foreground ,fg-special-cold))) `(web-mode-jsx-depth-4-face ((,class :background ,bg-alt :foreground ,blue-refine-fg))) `(web-mode-jsx-depth-5-face ((,class :background ,bg-alt :foreground ,blue-nuanced-fg))) `(web-mode-keyword-face ((,class :inherit :inherit font-lock-keyword-face))) `(web-mode-param-name-face ((,class :inherit font-lock-function-name-face))) `(web-mode-part-comment-face ((,class :inherit web-mode-comment-face))) `(web-mode-part-face ((,class :inherit web-mode-block-face))) `(web-mode-part-string-face ((,class :inherit web-mode-string-face))) `(web-mode-preprocessor-face ((,class :inherit font-lock-preprocessor-face))) `(web-mode-script-face ((,class :inherit web-mode-part-face))) `(web-mode-sql-keyword-face ((,class :inherit font-lock-negation-char-face))) `(web-mode-string-face ((,class :inherit font-lock-string-face))) `(web-mode-style-face ((,class :inherit web-mode-part-face))) `(web-mode-symbol-face ((,class :inherit font-lock-constant-face))) `(web-mode-type-face ((,class :inherit font-lock-builtin-face))) `(web-mode-underline-face ((,class :underline t))) `(web-mode-variable-name-face ((,class :inherit font-lock-variable-name-face))) `(web-mode-warning-face ((,class :inherit font-lock-warning-face))) `(web-mode-whitespace-face ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) ;;;;; wgrep `(wgrep-delete-face ((,class :inherit modus-theme-refine-yellow))) `(wgrep-done-face ((,class :inherit modus-theme-refine-blue))) `(wgrep-face ((,class :inherit modus-theme-refine-green))) `(wgrep-file-face ((,class :foreground ,fg-special-warm))) `(wgrep-reject-face ((,class :inherit (modus-theme-intense-red bold)))) ;;;;; which-function-mode `(which-func ((,class :foreground ,magenta-active))) ;;;;; which-key `(which-key-command-description-face ((,class :foreground ,fg-main))) `(which-key-group-description-face ((,class :foreground ,magenta-alt))) `(which-key-highlighted-command-face ((,class :foreground ,yellow :underline t))) `(which-key-key-face ((,class :inherit bold :foreground ,blue-intense))) `(which-key-local-map-description-face ((,class :foreground ,fg-main))) `(which-key-note-face ((,class :foreground ,fg-special-warm))) `(which-key-separator-face ((,class :inherit shadow))) `(which-key-special-key-face ((,class :inherit bold :foreground ,orange-intense))) ;;;;; whitespace-mode `(whitespace-big-indent ((,class :inherit modus-theme-subtle-red))) `(whitespace-empty ((,class :inherit modus-theme-intense-magenta))) `(whitespace-hspace ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-indentation ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-line ((,class :background ,bg-alt))) `(whitespace-newline ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-space ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-space-after-tab ((,class :inherit modus-theme-subtle-magenta))) `(whitespace-space-before-tab ((,class :inherit modus-theme-subtle-cyan))) `(whitespace-tab ((,class :background ,bg-whitespace :foreground ,fg-whitespace))) `(whitespace-trailing ((,class :inherit modus-theme-intense-red))) ;;;;; window-divider-mode `(window-divider ((,class :foreground ,fg-window-divider-inner))) `(window-divider-first-pixel ((,class :foreground ,fg-window-divider-outer))) `(window-divider-last-pixel ((,class :foreground ,fg-window-divider-outer))) ;;;;; winum `(winum-face ((,class :inherit modus-theme-bold :foreground ,cyan-active))) ;;;;; writegood-mode `(writegood-duplicates-face ((,class :background ,bg-alt :foreground ,red-alt :underline t))) `(writegood-passive-voice-face ((,class :inherit modus-theme-lang-warning))) `(writegood-weasels-face ((,class :inherit modus-theme-lang-error))) ;;;;; woman `(woman-addition ((,class :foreground ,magenta-alt-other))) `(woman-bold ((,class :inherit bold :foreground ,magenta))) `(woman-italic ((,class :inherit italic :foreground ,cyan))) `(woman-unknown ((,class :inherit italic :foreground ,yellow))) ;;;;; xah-elisp-mode `(xah-elisp-at-symbol ((,class :inherit font-lock-warning-face))) `(xah-elisp-cap-variable ((,class :inherit font-lock-preprocessor-face))) `(xah-elisp-command-face ((,class :inherit font-lock-type-face))) `(xah-elisp-dollar-symbol ((,class :inherit font-lock-variable-name-face))) ;;;;; xref `(xref-file-header ((,class :inherit bold :foreground ,fg-special-cold))) `(xref-line-number ((,class :inherit shadow))) `(xref-match ((,class :inherit match))) ;;;;; yaml-mode `(yaml-tab-face ((,class :inherit modus-theme-intense-red))) ;;;;; yasnippet `(yas-field-highlight-face ((,class :background ,bg-hl-alt-intense))) ;;;;; ztree `(ztreep-arrow-face ((,class :foreground ,fg-inactive))) `(ztreep-diff-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) `(ztreep-diff-header-small-face ((,class :inherit bold :foreground ,fg-special-mild))) `(ztreep-diff-model-add-face ((,class :foreground ,green))) `(ztreep-diff-model-diff-face ((,class :foreground ,red))) `(ztreep-diff-model-ignored-face ((,class :inherit shadow :strike-through t))) `(ztreep-diff-model-normal-face ((,class :inherit shadow))) `(ztreep-expand-sign-face ((,class :foreground ,blue))) `(ztreep-header-face ((,class :inherit bold :height 1.2 :foreground ,fg-special-cold))) `(ztreep-leaf-face ((,class :foreground ,cyan))) `(ztreep-node-count-children-face ((,class :foreground ,fg-special-warm))) `(ztreep-node-face ((,class :foreground ,fg-main)))) "Face specs for use with `modus-themes-theme'.") (defconst modus-themes-custom-variables '( ;;;; ansi-colors `(ansi-color-faces-vector [default bold shadow italic underline success warning error]) `(ansi-color-names-vector ["gray35" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"]) ;;;; awesome-tray `(awesome-tray-mode-line-active-color ,blue) `(awesome-tray-mode-line-inactive-color ,bg-active) ;;;; exwm `(exwm-floating-border-color ,fg-window-divider-inner) ;;;; flymake fringe indicators `(flymake-error-bitmap '(flymake-double-exclamation-mark modus-theme-fringe-red)) `(flymake-warning-bitmap '(exclamation-mark modus-theme-fringe-yellow)) `(flymake-note-bitmap '(exclamation-mark modus-theme-fringe-cyan)) ;;;; ibuffer `(ibuffer-deletion-face 'modus-theme-mark-del) `(ibuffer-filter-group-name-face 'modus-theme-mark-symbol) `(ibuffer-marked-face 'modus-theme-mark-sel) `(ibuffer-title-face 'modus-theme-pseudo-header) ;;;; highlight-tail `(highlight-tail-colors '((,green-subtle-bg . 0) (,cyan-subtle-bg . 20))) ;;;; hl-todo `(hl-todo-keyword-faces '(("HOLD" . ,yellow-alt) ("TODO" . ,magenta) ("NEXT" . ,magenta-alt-other) ("THEM" . ,magenta-alt) ("PROG" . ,cyan) ("OKAY" . ,cyan-alt) ("DONT" . ,green-alt) ("FAIL" . ,red) ("BUG" . ,red) ("DONE" . ,green) ("NOTE" . ,yellow-alt-other) ("KLUDGE" . ,yellow) ("HACK" . ,yellow) ("TEMP" . ,red-nuanced-fg) ("FIXME" . ,red-alt-other) ("XXX+" . ,red-alt) ("REVIEW" . ,cyan-alt-other) ("DEPRECATED" . ,blue-nuanced-fg))) ;;;; pdf-tools `(pdf-view-midnight-colors '(,fg-main . ,bg-dim)) ;;;; vc-annotate (C-x v g) `(vc-annotate-background nil) `(vc-annotate-background-mode nil) `(vc-annotate-color-map '((20 . ,red) (40 . ,magenta) (60 . ,magenta-alt) (80 . ,red-alt) (100 . ,yellow) (120 . ,yellow-alt) (140 . ,fg-special-warm) (160 . ,fg-special-mild) (180 . ,green) (200 . ,green-alt) (220 . ,cyan-alt-other) (240 . ,cyan-alt) (260 . ,cyan) (280 . ,fg-special-cold) (300 . ,blue) (320 . ,blue-alt) (340 . ,blue-alt-other) (360 . ,magenta-alt-other))) `(vc-annotate-very-old-color nil) ;;;; xterm-color `(xterm-color-names ["black" ,red ,green ,yellow ,blue ,magenta ,cyan "gray65"]) `(xterm-color-names-bright ["gray35" ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt "white"]) (if (eq modus-themes-org-blocks 'rainbow) `(org-src-block-faces ; TODO this list should be expanded `(("emacs-lisp" modus-theme-nuanced-magenta) ("elisp" modus-theme-nuanced-magenta) ("clojure" modus-theme-nuanced-magenta) ("clojurescript" modus-theme-nuanced-magenta) ("c" modus-theme-nuanced-blue) ("c++" modus-theme-nuanced-blue) ("sh" modus-theme-nuanced-green) ("shell" modus-theme-nuanced-green) ("html" modus-theme-nuanced-yellow) ("xml" modus-theme-nuanced-yellow) ("css" modus-theme-nuanced-red) ("scss" modus-theme-nuanced-red) ("python" modus-theme-nuanced-green) ("ipython" modus-theme-nuanced-magenta) ("r" modus-theme-nuanced-cyan) ("yaml" modus-theme-nuanced-cyan) ("conf" modus-theme-nuanced-cyan) ("docker" modus-theme-nuanced-cyan))) `(org-src-block-faces '()))) "Custom variables for `modus-themes-theme'.") ;;;###autoload (when load-file-name (let ((dir (file-name-directory load-file-name))) (unless (equal dir (expand-file-name "themes/" data-directory)) (add-to-list 'custom-theme-load-path dir)))) (provide 'modus-themes) ;;; modus-themes.el ends here --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=modus-vivendi-theme.el ;;; modus-vivendi-theme.el --- Accessible dark theme (WCAG AAA) -*- lexical-binding:t -*- ;; Copyright (C) 2019-2021 Free Software Foundation, Inc. ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes ;; Version: 1.2.3 ;; Package-Requires: ((emacs "26.1")) ;; Keywords: faces, theme, accessibility ;; This file is part of GNU Emacs. ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or (at ;; your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; ;; Modus Vivendi is the dark variant of the Modus themes (Modus Operandi ;; is the light one). The themes are designed for color-contrast ;; accessibility. More specifically: ;; ;; 1. Provide a consistent minimum contrast ratio between background ;; and foreground values of 7:1 or higher. This meets the highest ;; such accessibility criterion per the guidelines of the Worldwide ;; Web Consortium's Working Group on Accessibility (WCAG AAA ;; standard). ;; ;; 2. Offer as close to full face coverage as possible. The list is ;; already quite long, with more additions to follow as part of the ;; ongoing development process. ;; ;; For a complete view of the project, also refer to the following files ;; (should be distributed in the same repository/directory as the ;; current item): ;; ;; - modus-themes.el (Main code shared between the themes) ;; - modus-operandi-theme.el (Light theme) ;;; Code: (eval-and-compile (unless (and (fboundp 'require-theme) (require-theme 'modus-themes t)) (require 'modus-themes))) (deftheme modus-vivendi "Accessible and customizable dark theme (WCAG AAA standard). Conforms with the highest legibility standard for color contrast between background and foreground in any given piece of text, which corresponds to a minimum contrast in relative luminance of 7:1.") (modus-themes-theme modus-vivendi) (provide-theme 'modus-vivendi) ;;; modus-vivendi-theme.el ends here --=-=-= Content-Type: application/vnd.lotus-organizer Content-Disposition: attachment; filename=modus-themes.org Content-Transfer-Encoding: base64 Iyt0aXRsZTogTW9kdXMgdGhlbWVzIGZvciBHTlUgRW1hY3MKIythdXRob3I6IFByb3Rlc2lsYW9z IFN0YXZyb3UKIytlbWFpbDogaW5mb0Bwcm90ZXNpbGFvcy5jb20KIytsYW5ndWFnZTogZW4KIytv cHRpb25zOiAnOnQgdG9jOm5pbCBhdXRob3I6dCBlbWFpbDp0CgojK21hY3JvOiBzdGFibGUtdmVy c2lvbiAxLjIuMwojK21hY3JvOiByZWxlYXNlLWRhdGUgMjAyMS0wMy0wNQojK21hY3JvOiBkZXZl bG9wbWVudC12ZXJzaW9uIDEuMy4wLWRldgojK21hY3JvOiBleHBvcnQtZGF0ZSAoZXZhbCAoZm9y bWF0LXRpbWUtc3RyaW5nICIlRiAlUiAleiIgKGN1cnJlbnQtdGltZSkpKQojK21hY3JvOiBmaWxl IEBAdGV4aW5mbzpAZmlsZXtAQCQxQEB0ZXhpbmZvOn1AQAojK21hY3JvOiBzcGFjZSBAQHRleGlu Zm86QDogQEAKIyBUaGUgImtiZCIgbWFjcm8gdHVybnMgS0JEIGludG8gQGtiZHtLQkR9LiAgQWRk aXRpb25hbGx5LCBpdAojIGVuY2xvc2VzIGNhc2Utc2Vuc2l0aXZlIHNwZWNpYWwga2V5cyAoU1BD LCBSRVQuLi4pIHdpdGhpbiBAa2V5ey4uLn0uCiMgSSBnb3QgdGhpcyBmcm9tIHRoZSBPcmcgc291 cmNlIGNvZGUuCiMrbWFjcm86IGtiZCAoZXZhbCAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCBuaWwp IChyZWdleHAgKHJlZ2V4cC1vcHQgJygiU1BDIiAiUkVUIiAiTEZEIiAiVEFCIiAiQlMiICJFU0Mi ICJERUxFVEUiICJTSElGVCIgIkN0cmwiICJNZXRhIiAiQWx0IiAiQ21kIiAiU3VwZXIiICJVUCIg IkxFRlQiICJSSUdIVCIgIkRPV04iKSAnd29yZHMpKSkgKGZvcm1hdCAiQEB0ZXhpbmZvOkBrYmR7 QEAlc0BAdGV4aW5mbzp9QEAiIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJpbmcgcmVnZXhwICJAQHRl eGluZm86QGtleXtAQFxcJkBAdGV4aW5mbzp9QEAiICQxIHQpKSkpCgojK3RleGluZm9fZmlsZW5h bWU6IG1vZHVzLXRoZW1lcy5pbmZvCiMrdGV4aW5mb19kaXJfY2F0ZWdvcnk6IEVtYWNzIG1pc2Mg ZmVhdHVyZXMKIyt0ZXhpbmZvX2Rpcl90aXRsZTogTW9kdXMgVGhlbWVzOiAobW9kdXMtdGhlbWVz KQojK3RleGluZm9fZGlyX2Rlc2M6IEhpZ2hseSBhY2Nlc3NpYmxlIHRoZW1lcyAoV0NBRyBBQUEp CiMrdGV4aW5mb19oZWFkZXI6IEBzZXQgTUFJTlRBSU5FUlNJVEUgQHVyZWZ7aHR0cHM6Ly9wcm90 ZXNpbGFvcy5jb20sbWFpbnRhaW5lciB3ZWJwYWdlfQojK3RleGluZm9faGVhZGVyOiBAc2V0IE1B SU5UQUlORVIgUHJvdGVzaWxhb3MgU3RhdnJvdQojK3RleGluZm9faGVhZGVyOiBAc2V0IE1BSU5U QUlORVJFTUFJTCBAZW1haWx7aW5mb0Bwcm90ZXNpbGFvcy5jb219CiMrdGV4aW5mb19oZWFkZXI6 IEBzZXQgTUFJTlRBSU5FUkNPTlRBQ1QgQHVyZWZ7bWFpbHRvOmluZm9AcHJvdGVzaWxhb3MuY29t LGNvbnRhY3QgdGhlIG1haW50YWluZXJ9CgojK3RleGluZm86IEBpbnNlcnRjb3B5aW5nCgpUaGlz IG1hbnVhbCwgd3JpdHRlbiBieSBQcm90ZXNpbGFvcyBTdGF2cm91LCBkZXNjcmliZXMgdGhlIGN1 c3RvbWl6YXRpb24Kb3B0aW9ucyBmb3IgdGhlIH5tb2R1cy1vcGVyYW5kaX4gYW5kIH5tb2R1cy12 aXZlbmRpfiB0aGVtZXMsIGFuZCBwcm92aWRlcwpldmVyeSBvdGhlciBwaWVjZSBvZiBpbmZvcm1h dGlvbiBwZXJ0aW5lbnQgdG8gdGhlbS4KClRoZSBkb2N1bWVudGF0aW9uIGZ1cm5pc2hlZCBoZXJl aW4gY29ycmVzcG9uZHMgdG8gc3RhYmxlIHZlcnNpb24Ke3t7c3RhYmxlLXZlcnNpb259fX0sIHJl bGVhc2VkIG9uIHt7e3JlbGVhc2UtZGF0ZX19fS4gIEFueSByZWZlcmVuY2UgdG8gYSBuZXdlcgpm ZWF0dXJlIHdoaWNoIGRvZXMgbm90IHlldCBmb3JtIHBhcnQgb2YgdGhlIGxhdGVzdCB0YWdnZWQg Y29tbWl0LCBpcwpleHBsaWNpdGx5IG1hcmtlZCBhcyBzdWNoLgoKQ3VycmVudCBkZXZlbG9wbWVu dCB0YXJnZXQgaXMge3t7ZGV2ZWxvcG1lbnQtdmVyc2lvbn19fS4gIFRoaXMgbWFudWFsIHdhcwpi dWlsdCBvbiB7e3tleHBvcnQtZGF0ZX19fS4KCiMrdG9jOiBoZWFkbGluZXMgOCBpbnNlcnQgVE9D IGhlcmUsIHdpdGggZWlnaHQgaGVhZGxpbmUgbGV2ZWxzCgoqIENPUFlJTkcKOnByb3BlcnRpZXM6 Cjpjb3B5aW5nOiB0CjpjdXN0b21faWQ6IGg6YjE0YzNmY2ItMTNkZC00MTQ0LTlkOTItMmM1OGIz ZWQxNmQzCjplbmQ6CgpDb3B5cmlnaHQgKEMpIDIwMjAtMjAyMSAgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCgojK2JlZ2luX3F1b3RlClBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5 LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcwpkb2N1bWVudCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSwKVmVyc2lvbiAxLjMgb3IgYW55 IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb247 IHdpdGggbm8gSW52YXJpYW50IFNlY3Rpb25zLCB3aXRoIG5vIEZyb250LUNvdmVyIFRleHRzLAph bmQgd2l0aCBubyBCYWNrLUNvdmVyIFRleHRzLgojK2VuZF9xdW90ZQoKKiBPdmVydmlldwo6cHJv cGVydGllczoKOmN1c3RvbV9pZDogaDpmMGYzZGJjYi02MDJkLTQwY2YtYjkxOC04ZjkyOWM0NDFi YWYKOmVuZDoKClRoZSBNb2R1cyB0aGVtZXMgYXJlIGRlc2lnbmVkIGZvciBhY2Nlc3NpYmxlIHJl YWRhYmlsaXR5LiAgVGhleSBjb25mb3JtCndpdGggdGhlIGhpZ2hlc3Qgc3RhbmRhcmQgZm9yIGNv bG9yIGNvbnRyYXN0IGJldHdlZW4gYW55IGdpdmVuCmNvbWJpbmF0aW9uIG9mIGJhY2tncm91bmQg YW5kIGZvcmVncm91bmQgdmFsdWVzLiAgVGhpcyBjb3JyZXNwb25kcyB0bwp0aGUgV0NBRyBBQUEg c3RhbmRhcmQsIHdoaWNoIHNwZWNpZmllcyBhIG1pbmltdW0gcmF0ZSBvZiBkaXN0YW5jZSBpbgpy ZWxhdGl2ZSBsdW1pbmFuY2Ugb2YgNzoxLgoKTW9kdXMgT3BlcmFuZGkgKH5tb2R1cy1vcGVyYW5k aX4pIGlzIGEgbGlnaHQgdGhlbWUsIHdoaWxlIE1vZHVzIFZpdmVuZGkKKH5tb2R1cy12aXZlbmRp fikgaXMgZGFyay4gIEVhY2ggdGhlbWUncyBjb2xvciBwYWxldHRlIGlzIGRlc2lnbmVkIHRvIG1l ZXQKdGhlIG5lZWRzIG9mIHRoZSBudW1lcm91cyBpbnRlcmZhY2VzIHRoYXQgYXJlIHBvc3NpYmxl IGluIHRoZSBFbWFjcwpjb21wdXRpbmcgZW52aXJvbm1lbnQuCgpUaGUgb3ZlcmFyY2hpbmcgb2Jq ZWN0aXZlIG9mIHRoaXMgcHJvamVjdCBpcyB0byBhbHdheXMgb2ZmZXIgYWNjZXNzaWJsZQpjb2xv ciBjb21iaW5hdGlvbnMuICBUaGVyZSBzaGFsbCBuZXZlciBiZSBhIGNvbXByb21pc2Ugb24gdGhp cwpwcmluY2lwbGUuICBJZiB0aGVyZSBhcmlzZXMgYW4gaW5lc2NhcGFibGUgdHJhZGUtb2ZmIGJl dHdlZW4gcmVhZGFiaWxpdHkKYW5kIHN0eWxpc3RpYyBjb25zaWRlcmF0aW9ucywgd2Ugd2lsbCBh bHdheXMgb3B0IGZvciB0aGUgZm9ybWVyLgoKVG8gZW5zdXJlIHRoYXQgdXNlcnMgaGF2ZSBhIGNv bnNpc3RlbnRseSBhY2Nlc3NpYmxlIGV4cGVyaWVuY2UsIHRoZQp0aGVtZXMgc3RyaXZlIHRvIGFj aGlldmUgYXMgY2xvc2UgdG8gZnVsbCBmYWNlIGNvdmVyYWdlIGFzIHBvc3NpYmxlCihbWyNoOmE5 YzhmMjlkLTdmNzItNGI1NC1iNzRiLWRkZWZlMTVkNmExOV1bRmFjZSBjb3ZlcmFnZV1dKS4KClN0 YXJ0aW5nIHdpdGggdmVyc2lvbiAwLjEyLjAgYW5kIG9ud2FyZHMsIHRoZSB0aGVtZXMgYXJlIGJ1 aWx0IGludG8gR05VCkVtYWNzLgoKKiogSG93IGRvIHRoZSB0aGVtZXMgbG9vayBsaWtlCjpwcm9w ZXJ0aWVzOgo6Y3VzdG9tX2lkOiBoOjY5YjkyMDg5LTA2OWMtNGJhMS05ZDk0LWNjMzQxNWZjNGY4 Nwo6ZW5kOgojK2NpbmRleDogU2NyZWVuc2hvdHMKCkNoZWNrIHRoZSB3ZWIgcGFnZSB3aXRoIFtb aHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVzLXBpY3R1cmVzL11bdGhlIHNjcmVl biBzaG90c11dLiAgVGhlcmUgYXJlIGxvdHMgb2Ygc2NlbmFyaW9zCm9uIGRpc3BsYXkgdGhhdCBk cmF3IGF0dGVudGlvbiB0byBkZXRhaWxzIGFuZCBpbXBvcnRhbnQgYXNwZWN0cyBpbiB0aGUKZGVz aWduIG9mIHRoZSB0aGVtZXMuICBUaGV5IGFsc28gc2hvd2Nhc2UgdGhlIG51bWVyb3VzIGN1c3Rv bWl6YXRpb24Kb3B0aW9ucy4KCltbI2g6YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAtZGQxMWZkZDhi NTNmXVtDdXN0b21pemF0aW9uIG9wdGlvbnNdXS4KCioqIExlYXJuIGFib3V0IHRoZSBsYXRlc3Qg Y2hhbmdlcwo6cHJvcGVydGllczoKOmN1c3RvbV9pZDogaDoyY2MzN2MzNi02YzFhLTQ4YjItYTAx MC0xMDUwYjI3MGVlMTgKOmVuZDoKIytjaW5kZXg6IENoYW5nZWxvZwoKUGxlYXNlIHJlZmVyIHRv IHRoZSBbW2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL21vZHVzLXRoZW1lcy1jaGFuZ2Vsb2ddW3dl YiBwYWdlIHdpdGggdGhlIGNoYW5nZSBsb2ddXS4gIEl0IGlzIGNvbXByZWhlbnNpdmUKYW5kIGNv dmVycyBldmVyeXRoaW5nIHRoYXQgZ29lcyBpbnRvIGV2ZXJ5IHRhZ2dlZCByZWxlYXNlIG9mIHRo ZSB0aGVtZXMuCgoqIEluc3RhbGxhdGlvbgo6cHJvcGVydGllczoKOmN1c3RvbV9pZDogaDoxYWY4 NTM3My03ZjgxLTRjMzUtYWYyNS1hZmNlZjQ5MGMxMTEKOmVuZDoKClRoZSBNb2R1cyB0aGVtZXMg YXJlIGRpc3RyaWJ1dGVkIHdpdGggRW1hY3Mgc3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDI4LjEuCk9u IG9sZGVyIHZlcnNpb25zIG9mIEVtYWNzLCB0aGV5IGNhbiBiZSBpbnN0YWxsZWQgdXNpbmcgRW1h Y3MnIHBhY2thZ2UKbWFuYWdlciBvciBtYW51YWxseSBmcm9tIHRoZWlyIGNvZGUgcmVwb3NpdG9y eS4gIFRoZXJlIGFsc28gZXhpc3QKcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgb2YgR05VL0xp bnV4LgoKKiogSW5zdGFsbCBtYW51YWxseSBmcm9tIHNvdXJjZQo6cHJvcGVydGllczoKOmN1c3Rv bV9pZDogaDpkYTM0MTRiNy0xNDI2LTQ2YjgtOGU3Ni00N2I4NDViNzZmZDAKOmVuZDoKCkluIHRo ZSBmb2xsb3dpbmcgZXhhbXBsZSwgd2UgYXJlIGFzc3VtaW5nIHRoYXQgeW91ciBFbWFjcyBmaWxl cyBhcmUKc3RvcmVkIGluID1+Ly5lbWFjcy5kPSBhbmQgdGhhdCB5b3Ugd2FudCB0byBwbGFjZSB0 aGUgTW9kdXMgdGhlbWVzIGluCj1+Ly5lbWFjcy5kL21vZHVzLXRoZW1lcz0uCgoxLiBHZXQgdGhl IHNvdXJjZSBhbmQgc3RvcmUgaXQgaW4gdGhlIGRlc2lyZWQgcGF0aCBieSBydW5uaW5nIHRoZQog ICBmb2xsb3dpbmcgaW4gdGhlIGNvbW1hbmQgbGluZSBzaGVsbDoKCjogJCBnaXQgY2xvbmUgaHR0 cHM6Ly9naXRsYWIuY29tL3Byb3Rlc2lsYW9zL21vZHVzLXRoZW1lcy5naXQgfi8uZW1hY3MuZC9t b2R1cy10aGVtZXMKCjIuIEFkZCB0aGF0IHBhdGggdG8geW91ciBrbm93biBFbGlzcCBsaWJyYXJp ZXMnIGxpc3QsIGJ5IHBsYWNpbmcgdGhpcwogICBzbmlwcGV0IG9mIEVtYWNzIExpc3AgaW4geW91 ciBpbml0IGZpbGUgKGUuZy4ge3t7ZmlsZShpbml0LmVsKX19fSk6CgojK2JlZ2luX3NyYyBlbWFj cy1saXNwCihhZGQtdG8tbGlzdCAnbG9hZC1wYXRoICJ+Ly5lbWFjcy5kL21vZHVzLXRoZW1lcyIp CiMrZW5kX3NyYwoKVGhlIHRoZW1lcyBhcmUgbm93IHJlYWR5IHRvIGJlIHVzZWQ6IFtbI2g6M2Yz YzM3MjgtMWIzNC00MzdkLTlkMGMtYjExMGY1YjE2MWE5XVtFbmFibGUgYW5kIGxvYWRdXS4KCioq IEluc3RhbGwgZnJvbSB0aGUgYXJjaGl2ZXMKOnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6YzRi MTAwODUtMTQ5Zi00M2UyLWJkNGQtMzQ3ZjMzYWVlMDU0CjplbmQ6CgpUaGUgPW1vZHVzLXRoZW1l cz0gcGFja2FnZSBpcyBhdmFpbGFibGUgZnJvbSB0aGUgR05VIEVMUEEgYXJjaGl2ZSwgd2hpY2gK aXMgY29uZmlndXJlZCBieSBkZWZhdWx0LgoKUHJpb3IgdG8gcXVlcnlpbmcgYW55IHBhY2thZ2Ug YXJjaGl2ZSwgbWFrZSBzdXJlIHRvIGhhdmUgdXBkYXRlZCB0aGUKaW5kZXgsIHdpdGgge3t7a2Jk KE0teCBwYWNrYWdlLXJlZnJlc2gtY29udGVudHMpfX19LiAgVGhlbiBhbGwgeW91IG5lZWQgdG8g ZG8KaXMgdHlwZSB7e3trYmQoTS14IHBhY2thZ2UtaW5zdGFsbCl9fX0gYW5kIHNwZWNpZnkgdGhl IH5tb2R1cy10aGVtZXN+LgoKTm90ZSB0aGF0IG9sZGVyIHZlcnNpb25zIG9mIHRoZSB0aGVtZXMg dXNlZCB0byBiZSBkaXN0cmlidXRlZCBhcwpzdGFuZGFsb25lIHBhY2thZ2VzLiAgVGhpcyBwcmFj dGljZSBoYXMgYmVlbiBkaXNjb250aW51ZWQgc3RhcnRpbmcgd2l0aAp2ZXJzaW9uIDEuMC4wIG9m IHRoaXMgcHJvamVjdC4KCk9uY2UgaW5zdGFsbGVkLCB0aGUgdGhlbWVzIGFyZSByZWFkeSB0byBi ZSB1c2VkOiBbWyNoOjNmM2MzNzI4LTFiMzQtNDM3ZC05ZDBjLWIxMTBmNWIxNjFhOV1bRW5hYmxl IGFuZCBsb2FkXV0uCgoqKiBJbnN0YWxsIG9uIEdOVS9MaW51eAo6cHJvcGVydGllczoKOmN1c3Rv bV9pZDogaDpkYTY0MGViMS05NWRkLTRlODYtYmI0ZS0xMDI3YjI3ODg1ZjAKOmVuZDoKClRoZSB0 aGVtZXMgYXJlIGFsc28gYXZhaWxhYmxlIGZyb20gdGhlIGFyY2hpdmVzIG9mIHNvbWUgZGlzdHJp YnV0aW9ucyBvZgpHTlUvTGludXguICBUaGVzZSBzaG91bGQgY29ycmVzcG9uZCB0byBhIHRhZ2dl ZCByZWxlYXNlIHJhdGhlciB0aGFuCmJ1aWxkaW5nIGRpcmVjdGx5IGZyb20gdGhlIGxhdGVzdCBH aXQgY29tbWl0LiAgSXQgYWxsIGRlcGVuZHMgb24gdGhlCmRpc3RybydzIHBhY2thZ2luZyBwb2xp Y2llcy4KCioqKiBEZWJpYW4gMTEgQnVsbHNleWUKOnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6 N2U1NzAzNjAtOWVlNi00YmM1LThjMDQtOWRjMTE0MThhM2U0CjplbmQ6CgpUaGUgdGhlbWVzIGFy ZSBwYXJ0IG9mIERlYmlhbiAxMSBCdWxsc2V5ZS4gIEdldCB0aGVtIHdpdGg6CgojK2JlZ2luX3Ny YyBzaApzdWRvIGFwdCBpbnN0YWxsIGVscGEtbW9kdXMtdGhlbWVzCiMrZW5kX3NyYwoKVGhleSBh cmUgbm93IHJlYWR5IHRvIGJlIHVzZWQ6IFtbI2g6M2YzYzM3MjgtMWIzNC00MzdkLTlkMGMtYjEx MGY1YjE2MWE5XVtFbmFibGUgYW5kIGxvYWRdXS4KCioqKiBHTlUgR3VpeAo6cHJvcGVydGllczoK OmN1c3RvbV9pZDogaDphNGNhNTJjZC04NjlmLTQ2YTUtOWUxNi00ZDk2NjVmNWI4OGUKOmVuZDoK ClVzZXJzIG9mIEd1aXggY2FuIGdldCB0aGUgdGhlbWVzIHdpdGggdGhpcyBjb21tYW5kOgoKIyti ZWdpbl9zcmMgc2gKZ3VpeCBwYWNrYWdlIC1pIGVtYWNzLW1vZHVzLXRoZW1lcwojK2VuZF9zcmMK ClRoZXkgYXJlIG5vdyByZWFkeSB0byBiZSB1c2VkOiBbWyNoOjNmM2MzNzI4LTFiMzQtNDM3ZC05 ZDBjLWIxMTBmNWIxNjFhOV1bRW5hYmxlIGFuZCBsb2FkXV0uCgoqIEVuYWJsZSBhbmQgbG9hZAo6 cHJvcGVydGllczoKOmN1c3RvbV9pZDogaDozZjNjMzcyOC0xYjM0LTQzN2QtOWQwYy1iMTEwZjVi MTYxYTkKOmVuZDoKIytmaW5kZXg6IG1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lcwojK2ZpbmRleDog bW9kdXMtdGhlbWVzLXRvZ2dsZQojK2ZpbmRleDogbW9kdXMtdGhlbWVzLWxvYWQtb3BlcmFuZGkK IytmaW5kZXg6IG1vZHVzLXRoZW1lcy1sb2FkLXZpdmVuZGkKIytjaW5kZXg6IEVzc2VudGlhbCBj b25maWd1cmF0aW9uCiMrdmluZGV4OiBtb2R1cy10aGVtZXMtYWZ0ZXItbG9hZC10aGVtZS1ob29r CgpVc2VycyBvZiB0aGUgYnVpbHQtaW4gdGhlbWVzIGNhbiBsb2FkIGFuZCBhdXRvbWF0aWNhbGx5 IGVuYWJsZSB0aGUgdGhlbWUKb2YgdGhlaXIgcHJlZmVyZW5jZSBieSBhZGRpbmcgZWl0aGVyIGZv cm0gdG8gdGhlaXIgaW5pdCBmaWxlOgoKIytiZWdpbl9zcmMgZW1hY3MtbGlzcAoobG9hZC10aGVt ZSAnbW9kdXMtb3BlcmFuZGkpICAgICAgICAgICAgOyBMaWdodCB0aGVtZQoobG9hZC10aGVtZSAn bW9kdXMtdml2ZW5kaSkgICAgICAgICAgICAgOyBEYXJrIHRoZW1lCiMrZW5kX3NyYwoKVGhpcyBp cyBhbGwgb25lIG5lZWRzLgoKVXNlcnMgb2YgcGFja2FnZWQgdmFyaWFudHMgb2YgdGhlIHRoZW1l cyBtdXN0IGFkZCBhIGZldyBtb3JlIGxpbmVzIHRvCmVuc3VyZSB0aGF0IGV2ZXJ5dGhpbmcgd29y a3MgYXMgaW50ZW5kZWQuICBGaXJzdCwgb25lIGhhcyB0byByZXF1aXJlIHRoZQptYWluIGxpYnJh cnkgYmVmb3JlIGxvYWRpbmcgZWl0aGVyIHRoZW1lOgoKIytiZWdpbl9zcmMgZW1hY3MtbGlzcAoo cmVxdWlyZSAnbW9kdXMtdGhlbWVzKQojK2VuZF9zcmMKClRoZW4gaXQgaXMgcmVjb21tZW5kZWQg dG8gbG9hZCB0aGUgaW5kaXZpZHVhbCB0aGVtZSBmaWxlcyB3aXRoIHRoZQpoZWxwZXIgZnVuY3Rp b24gfm1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lc346CgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCjs7 IExvYWQgdGhlIHRoZW1lIGZpbGVzIGJlZm9yZSBlbmFibGluZyBhIHRoZW1lIChlbHNlIHlvdSBn ZXQgYW4gZXJyb3IpLgoobW9kdXMtdGhlbWVzLWxvYWQtdGhlbWVzKQojK2VuZF9zcmMKCk9uY2Ug dGhlIGxpYnJhcmllcyB0aGF0IGRlZmluZSB0aGUgdGhlbWVzIGFyZSBlbmFibGVkLCBvbmUgY2Fu IGFjdGl2YXRlCmEgdGhlbWUgd2l0aCBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZyBleHByZXNzaW9u czoKCiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKG1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpKSAg ICAgICAgICAgIDsgTGlnaHQgdGhlbWUKOzsgT1IKKG1vZHVzLXRoZW1lcy1sb2FkLXZpdmVuZGkp ICAgICAgICAgICAgIDsgRGFyayB0aGVtZQojK2VuZF9zcmMKCkNoYW5nZXMgdG8gdGhlIGF2YWls YWJsZSBjdXN0b21pemF0aW9uIG9wdGlvbnMgbXVzdCBhbHdheXMgYmUgZXZhbHVhdGVkCmJlZm9y ZSBsb2FkaW5nIGEgdGhlbWUgKFtbI2g6YmYxYzgyZjItNDZjNy00ZWIyLWFkMDAtZGQxMWZkZDhi NTNmXVtDdXN0b21pemF0aW9uIE9wdGlvbnNdXSkuICBUaGlzIGlzIGhvdyBhIGJhc2ljCnNldHVw IGNvdWxkIGxvb2sgbGlrZToKCiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKHJlcXVpcmUgJ21vZHVz LXRoZW1lcykKCjs7IFlvdXIgY3VzdG9taXNhdGlvbnMgaGVyZS4gIEZvciBleGFtcGxlOgooc2V0 cSBtb2R1cy10aGVtZXMtYm9sZC1jb25zdHJ1Y3RzIHQKICAgICAgbW9kdXMtdGhlbWVzLW1vZGUt bGluZSAnM2QpCgo7OyBMb2FkIHRoZSB0aGVtZSBmaWxlcyBiZWZvcmUgZW5hYmxpbmcgYSB0aGVt ZSAoZWxzZSB5b3UgZ2V0IGFuIGVycm9yKS4KKG1vZHVzLXRoZW1lcy1sb2FkLXRoZW1lcykKCjs7 IEVuYWJsZSB0aGUgdGhlbWUgb2YgeW91ciBwcmVmZXJlbmNlOgoobW9kdXMtdGhlbWVzLWxvYWQt b3BlcmFuZGkpCgo7OyBPcHRpb25hbGx5IGFkZCBhIGtleSBiaW5kaW5nIGZvciB0aGUgdG9nZ2xl IGJldHdlZW4gdGhlIHRoZW1lczoKKGRlZmluZS1rZXkgZ2xvYmFsLW1hcCAoa2JkICI8ZjU+Iikg Iydtb2R1cy10aGVtZXMtdG9nZ2xlKQojK2VuZF9zcmMKCltbI2g6ZTk3OTczNGMtYTllMS00Mzcz LTkzNjUtMGYyY2QzNjEwN2I4XVtTYW1wbGUgY29uZmlndXJhdGlvbiBmb3IgdXNlLXBhY2thZ2Vd XS4KCldpdGggdGhvc2UgZ3JhbnRlZCwgYmVhciBpbiBtaW5kIGEgY291cGxlIG9mIHRlY2huaWNh bCBwb2ludHMgb24Kfm1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpfiBhbmQgfm1vZHVzLXRoZW1l cy1sb2FkLXZpdmVuZGl+LCBhcyB3ZWxsIGFzCn5tb2R1cy10aGVtZXMtdG9nZ2xlfiB3aGljaCBy ZWxpZXMgb24gdGhlbToKCjEuIFRob3NlIGZ1bmN0aW9ucyBjYWxsIH5sb2FkLXRoZW1lfi4gIFNv bWUgdXNlcnMgcHJlZmVyIHRvIG9wdCBmb3IKICAgfmVuYWJsZS10aGVtZX4gaW5zdGVhZCAoW1sj aDplNjg1NjBiMy03ZmIwLTQyYmMtYTE1MS1lMDE1OTQ4ZjhhMzVdW0RpZmZlcmVuY2VzIGJldHdl ZW4gbG9hZGluZyBhbmQgZW5hYmxpbmddXSkuCgoyLiBUaGUgZnVuY3Rpb25zIHdpbGwgcnVuIHRo ZSB+bW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9va34gYXMKICAgdGhlaXIgZmluYWwg c3RlcC4gIFRoaXMgY2FuIGJlIGVtcGxveWVkIGZvciBiZXNwb2tlIGNvbmZpZ3VyYXRpb25zCiAg IChbWyNoOmY0NjUxZDU1LThjMDctNDZhYS1iNTJiLWJlZDFlNTM0NjNiYl1bQWR2YW5jZWQgY3Vz dG9taXphdGlvbiAoZG8taXQteW91cnNlbGYpXV0pLiAgRXhwZXJpZW5jZWQgdXNlcnMgbWF5IG5v dAogICB3aXNoIHRvIHJlbHkgb24gc3VjaCBhIGhvb2sgYW5kIHRoZSBmdW5jdGlvbnMgdGhhdCBy dW4gaXQ6IHRoZXkgbWF5CiAgIHByZWZlciBhIGN1c3RvbSBzb2x1dGlvbiAoW1sjaDo4NmY2OTA2 Yi1mMDkwLTQ2Y2MtOTgxNi0xZmU4YWViMzg3NzZdW0EgdGhlbWUtYWdub3N0aWMgaG9vayBmb3Ig dGhlbWUgbG9hZGluZ11dKS4KCioqIFNhbXBsZSBjb25maWd1cmF0aW9uIGZvciB1c2UtcGFja2Fn ZQo6cHJvcGVydGllczoKOmN1c3RvbV9pZDogaDplOTc5NzM0Yy1hOWUxLTQzNzMtOTM2NS0wZjJj ZDM2MTA3YjgKOmVuZDoKIytjaW5kZXg6IHVzZS1wYWNrYWdlIGNvbmZpZ3VyYXRpb24KCkl0IGlz IGNvbW1vbiBmb3IgRW1hY3MgdXNlcnMgdG8gcmVseSBvbiB+dXNlLXBhY2thZ2V+IGZvciBkZWNs YXJpbmcKcGFja2FnZSBjb25maWd1cmF0aW9ucyBpbiB0aGVpciBzZXR1cC4gIFdlIHVzZSB0aGlz IGFzIGFuIGV4YW1wbGU6CgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCih1c2UtcGFja2FnZSBtb2R1 cy10aGVtZXMKICA6ZW5zdXJlICAgICAgICAgICAgICAgICAgICAgICAgIDsgb21pdCB0aGlzIHRv IHVzZSB0aGUgYnVpbHQtaW4gdGhlbWVzCiAgOmluaXQKICA7OyBBZGQgYWxsIHlvdXIgY3VzdG9t aXphdGlvbnMgcHJpb3IgdG8gbG9hZGluZyB0aGUgdGhlbWVzCiAgKHNldHEgbW9kdXMtdGhlbWVz LXNsYW50ZWQtY29uc3RydWN0cyB0CiAgICAgICAgbW9kdXMtdGhlbWVzLWJvbGQtY29uc3RydWN0 cyBuaWwpCgogIDs7IExvYWQgdGhlIHRoZW1lIGZpbGVzIGJlZm9yZSBlbmFibGluZyBhIHRoZW1l IChlbHNlIHlvdSBnZXQgYW4gZXJyb3IpLgogIChtb2R1cy10aGVtZXMtbG9hZC10aGVtZXMpCiAg OmNvbmZpZwogIDs7IExvYWQgdGhlIHRoZW1lIG9mIHlvdXIgY2hvaWNlOgogIChtb2R1cy10aGVt ZXMtbG9hZC1vcGVyYW5kaSkgOzsgT1IgKG1vZHVzLXRoZW1lcy1sb2FkLXZpdmVuZGkpCiAgOmJp bmQgKCI8ZjU+IiAuIG1vZHVzLXRoZW1lcy10b2dnbGUpKQojK2VuZF9zcmMKCltbI2g6ZTY4NTYw YjMtN2ZiMC00MmJjLWExNTEtZTAxNTk0OGY4YTM1XVtEaWZmZXJlbmNlcyBiZXR3ZWVuIGxvYWRp bmcgYW5kIGVuYWJsaW5nXV0uCgpOb3RlOiBtYWtlIHN1cmUgbm90IHRvIGN1c3RvbWl6ZSB0aGUg dmFyaWFibGUgfmN1c3RvbS10aGVtZS1sb2FkLXBhdGh+Cm9yIH5jdXN0b20tdGhlbWUtZGlyZWN0 b3J5fiBhZnRlciB0aGUgdGhlbWVzJyBwYWNrYWdlIGRlY2xhcmF0aW9uLiAgVGhhdAp3aWxsIGxl YWQgdG8gZmFpbHVyZXMgaW4gbG9hZGluZyB0aGUgZmlsZXMuICBJZiBlaXRoZXIgb3IgYm90aCBv ZiB0aG9zZQp2YXJpYWJsZXMgbmVlZCB0byBiZSBjaGFuZ2VkLCB0aGVpciB2YWx1ZXMgc2hvdWxk IGJlIGRlZmluZWQgYmVmb3JlIHRoZQpwYWNrYWdlIGRlY2xhcmF0aW9uIG9mIHRoZSB0aGVtZXMu CgoqKiBEaWZmZXJlbmNlcyBiZXR3ZWVuIGxvYWRpbmcgYW5kIGVuYWJsaW5nCjpwcm9wZXJ0aWVz Ogo6Y3VzdG9tX2lkOiBoOmU2ODU2MGIzLTdmYjAtNDJiYy1hMTUxLWUwMTU5NDhmOGEzNQo6ZW5k OgojK2NpbmRleDogbG9hZC10aGVtZSBWUyBlbmFibGUtdGhlbWUKClRoZSByZWFzb24gd2UgcmVj b21tZW5kIH5sb2FkLXRoZW1lfiBpbnN0ZWFkIG9mIHRoZSBvdGhlciBvcHRpb24gb2YKfmVuYWJs ZS10aGVtZX4gaXMgdGhhdCB0aGUgZm9ybWVyIGRvZXMgYSBraW5kIG9mICJyZXNldCIgb24gdGhl IGZhY2UKc3BlY3MuICBJdCBxdWl0ZSBsaXRlcmFsbHkgbG9hZHMgKG9yIHJlLWxvYWRzKSB0aGUg dGhlbWUuICBXaGVyZWFzIHRoZQpsYXR0ZXIgc2ltcGx5IHB1dHMgYW4gYWxyZWFkeSBsb2FkZWQg dGhlbWUgYXQgdGhlIHRvcCBvZiB0aGUgbGlzdCBvZgplbmFibGVkIGl0ZW1zLCByZS11c2luZyB3 aGF0ZXZlciBzdGF0ZSB3YXMgbGFzdCBsb2FkZWQuCgpBcyBzdWNoLCB+bG9hZC10aGVtZX4gcmVh ZHMgYWxsIGN1c3RvbWl6YXRpb25zIHRoYXQgbWF5IGhhcHBlbiBkdXJpbmcKYW55IGdpdmVuIEVt YWNzIHNlc3Npb246IGV2ZW4gYWZ0ZXIgdGhlIGluaXRpYWwgc2V0dXAgb2YgYSB0aGVtZS4KRXhh bXBsZXMgYXJlIGNhbGxzIHRvIH5jdXN0b20tc2V0LWZhY2VzfiwgYXMgd2VsbCBhcyBuZXcgdmFs dWVzIGFzc2lnbmVkCnRvIHRoZSBvcHRpb25zIHRoZSBNb2R1cyB0aGVtZXMgcHJvdmlkZSAoW1sj aDpiZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1M2ZdW0N1c3RvbWl6YXRpb24gT3B0 aW9uc11dKS4KCk91ciB0ZXN0cyBzaG93IHRoYXQgfmVuYWJsZS10aGVtZX4gZG9lcyBub3QgcmVh ZCBzdWNoIHZhcmlhYmxlcyBhbmV3LCBzbwppdCBtaWdodCBhcHBlYXIgdG8gdGhlIHVuc3VzcGVj dGluZyB1c2VyIHRoYXQgdGhlIHRoZW1lcyBhcmUgc29tZWhvdwpicm9rZW4gd2hlbmV2ZXIgdGhl eSB0cnkgdG8gYXNzaWduIGEgbmV3IHZhbHVlIHRvIGEgY3VzdG9taXphdGlvbiBvcHRpb24Kb3Ig c29tZSBmYWNlLgoKVGhpcyAicmVzZXQiIHRoYXQgfmxvYWQtdGhlbWV+IGNvbmR1Y3RzIGRvZXMs IGhvd2V2ZXIsIGNvbWUgYXQgdGhlIGNvc3QKb2YgYmVpbmcgc29tZXdoYXQgc2xvd2VyIHRoYW4g fmVuYWJsZS10aGVtZX4uICBVc2VycyB3aG8gaGF2ZSBhIHN0YWJsZQpzZXR1cCBhbmQgd2hvIHNl bGRvbSB1cGRhdGUgdGhlaXIgdmFyaWFibGVzIGR1cmluZyBhIGdpdmVuIEVtYWNzCnNlc3Npb24s IGFyZSBiZXR0ZXIgb2ZmIHVzaW5nIHNvbWV0aGluZyBsaWtlIHRoaXM6CgojK2JlZ2luX3NyYyBl bWFjcy1saXNwCihyZXF1aXJlICdtb2R1cy10aGVtZXMpCihsb2FkLXRoZW1lICdtb2R1cy1vcGVy YW5kaSB0IHQpCihsb2FkLXRoZW1lICdtb2R1cy12aXZlbmRpIHQgdCkKCihlbmFibGUtdGhlbWUg J21vZHVzLW9wZXJhbmRpKSA7OyBPUiAoZW5hYmxlLXRoZW1lICdtb2R1cy12aXZlbmRpKQojK2Vu ZF9zcmMKCltbI2g6ZTk3OTczNGMtYTllMS00MzczLTkzNjUtMGYyY2QzNjEwN2I4XVtTYW1wbGUg Y29uZmlndXJhdGlvbiBmb3IgdXNlLXBhY2thZ2VdXS4KCldpdGggdGhlIGFib3ZlIGdyYW50ZWQs IG90aGVyIHNlY3Rpb25zIG9mIHRoZSBtYW51YWwgZGlzY3VzcyBob3cgdG8KY29uZmlndXJlIGN1 c3RvbSBmYWNlcywgd2hlcmUgfmxvYWQtdGhlbWV+IGlzIGV4cGVjdGVkLCB0aG91Z2gKfmVuYWJs ZS10aGVtZX4gY291bGQgc3RpbGwgYXBwbHkgaW4gc3RhYmxlIHNldHVwczoKCltbI2g6MTQ4N2M2 MzEtZjRmZS00OTBkLThkNTgtZDcyZmZhM2JkNDc0XVtDYXNlLWJ5LWNhc2UgZmFjZSBzcGVjcyB1 c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uCgpbWyNoOjUxYmEzNTQ3LWI4YzgtNDBkNi1iYTVh LTQ1ODY0NzdmZDRhZV1bRmFjZSBzcGVjcyBhdCBzY2FsZSB1c2luZyB0aGUgdGhlbWVzJyBwYWxl dHRlXV0uCgoqIEN1c3RvbWl6YXRpb24gT3B0aW9ucwo6cHJvcGVydGllczoKOmN1c3RvbV9pZDog aDpiZjFjODJmMi00NmM3LTRlYjItYWQwMC1kZDExZmRkOGI1M2YKOmVuZDoKClRoZSBNb2R1cyB0 aGVtZXMgYXJlIGhpZ2hseSBjb25maWd1cmFibGUsIHRob3VnaCB0aGV5IHNob3VsZCB3b3JrIHdl bGwKd2l0aG91dCBhbnkgZnVydGhlciB0d2Vha3MuICBCeSBkZWZhdWx0LCBhbGwgY3VzdG9taXph dGlvbiBvcHRpb25zIGFyZQpzZXQgdG8gbmlsLgoKUmVtZW1iZXIgdGhhdCBhbGwgY3VzdG9taXph dGlvbiBvcHRpb25zIG11c3QgYmUgZXZhbHVhdGVkIGJlZm9yZSBsb2FkaW5nCmEgdGhlbWUgKFtb I2g6M2YzYzM3MjgtMWIzNC00MzdkLTlkMGMtYjExMGY1YjE2MWE5XVtFbmFibGUgYW5kIGxvYWRd XSkuCgoqKiBPcHRpb24gZm9yIG1vcmUgYm9sZCBjb25zdHJ1Y3RzCjpwcm9wZXJ0aWVzOgo6YWx0 X3RpdGxlOiBCb2xkIGNvbnN0cnVjdHMKOmRlc2NyaXB0aW9uOiBUb2dnbGUgYm9sZCBjb25zdHJ1 Y3RzIGluIGNvZGUKOmN1c3RvbV9pZDogaDpiMjU3MTRmNi0wZmJlLTQxZjYtODliNS02OTEyZDMw NDA5MWUKOmVuZDoKIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMKClN5bWJv bDogfm1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHN+CgpQb3NzaWJsZSB2YWx1ZXM6CgoxLiA9 bmlsPSAoZGVmYXVsdCkKMi4gPXQ9CgpUaGUgZGVmYXVsdCBpcyB0byB1c2UgYSBib2xkIHR5cG9n cmFwaGljIHdlaWdodCBvbmx5IHdoZW4gaXQgaXMKcmVxdWlyZWQuCgpXaXRoIGEgbm9uLW5pbCB2 YWx1ZSAoPXQ9KSBkaXNwbGF5IHNldmVyYWwgc3ludGFjdGljIGNvbnN0cnVjdHMgaW4gYm9sZAp3 ZWlnaHQuICBUaGlzIGNvbmNlcm5zIGtleXdvcmRzIGFuZCBvdGhlciBpbXBvcnRhbnQgYXNwZWN0 cyBvZiBjb2RlCnN5bnRheC4gIEl0IGFsc28gYWZmZWN0cyBjZXJ0YWluIG1vZGUgbGluZSBpbmRp Y2F0b3JzIGFuZCBjb21tYW5kLWxpbmUKcHJvbXB0cy4KCioqIE9wdGlvbiBmb3IgbW9yZSBzbGFu dGVkIGNvbnN0cnVjdHMKOnByb3BlcnRpZXM6CjphbHRfdGl0bGU6IFNsYW50ZWQgY29uc3RydWN0 cwo6ZGVzY3JpcHRpb246IFRvZ2dsZSBzbGFudGVkIGNvbnN0cnVjdHMgKGl0YWxpY3MpIGluIGNv ZGUKOmN1c3RvbV9pZDogaDo5NzdjOTAwZC0wZDZkLTRkYmItODJkOS1jMmFhZTY5NTQzZDYKOmVu ZDoKIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHMKClN5bWJvbDogfm1v ZHVzLXRoZW1lcy1zbGFudGVkLWNvbnN0cnVjdHN+CgpQb3NzaWJsZSB2YWx1ZXM6CgoxLiA9bmls PSAoZGVmYXVsdCkKMi4gPXQ9CgpUaGUgZGVmYXVsdCBpcyB0byBub3QgdXNlIHNsYW50ZWQgdGV4 dCAoaXRhbGljcykgdW5sZXNzIGl0IGlzIGFic29sdXRlbHkKbmVjZXNzYXJ5LgoKV2l0aCBhIG5v bi1uaWwgdmFsdWUgKD10PSkgY2hvb3NlIHRvIHJlbmRlciBtb3JlIGZhY2VzIGluIHNsYW50ZWQg dGV4dC4KVGhpcyB0eXBpY2FsbHkgYWZmZWN0cyBkb2N1bWVudGF0aW9uIHN0cmluZ3MgYW5kIGNv ZGUgY29tbWVudHMuCgoqKiBPcHRpb24gZm9yIHN5bnRheCBoaWdobGlnaHRpbmcKOnByb3BlcnRp ZXM6CjphbHRfdGl0bGU6IFN5bnRheCBzdHlsZXMKOmRlc2NyaXB0aW9uOiBDaG9vc2UgdGhlIG92 ZXJhbGwgYWVzdGhldGljIG9mIGNvZGUgc3ludGF4CjpjdXN0b21faWQ6IGg6YzExOWQ3YjItZmNk NC00ZTQ0LTg5MGUtNWUyNTczM2Q1ZTUyCjplbmQ6CiMrdmluZGV4OiBtb2R1cy10aGVtZXMtc3lu dGF4CgpTeW1ib2w6IH5tb2R1cy10aGVtZXMtc3ludGF4fgoKUG9zc2libGUgdmFsdWVzOgoKMS4g PW5pbD0gKGRlZmF1bHQpCjIuIH5mYWludH4KMy4gfnllbGxvdy1jb21tZW50c34KNC4gfmdyZWVu LXN0cmluZ3N+CjUuIH55ZWxsb3ctY29tbWVudHMtZ3JlZW4tc3RyaW5nc34KNi4gfmFsdC1zeW50 YXh+CjcuIH5hbHQtc3ludGF4LXllbGxvdy1jb21tZW50c34KOC4gfmZhaW50LXllbGxvdy1jb21t ZW50c34KClRoZSBkZWZhdWx0IHN0eWxlIChuaWwpIGZvciBjb2RlIHN5bnRheCBoaWdobGlnaHRp bmcgaXMgYSBiYWxhbmNlZApjb21iaW5hdGlvbiBvZiBjb2xvcnMgb24gdGhlIGN5YW4tYmx1ZS1t YWdlbnRhIHNpZGUgb2YgdGhlIHNwZWN0cnVtLgpUaGVyZSBpcyBsaXR0bGUgdG8gbm8gdXNlIG9m IGdyZWVucywgeWVsbG93cywgb3IgcmVkcywgZXhjZXB0IHdoZW4gaXQgaXMKbmVjZXNzYXJ5LgoK T3B0aW9uIH5mYWludH4gaXMgbGlrZSB0aGUgZGVmYXVsdCBpbiB0ZXJtcyBvZiB0aGUgY2hvaWNl IG9mIHBhbGV0dGUgYnV0CmFwcGxpZXMgZGVzYXR1cmF0ZWQgY29sb3IgdmFsdWVzLgoKT3B0aW9u IH55ZWxsb3ctY29tbWVudHN+IGFkZHMgYSB5ZWxsb3cgdGludCB0byBjb21tZW50cy4gIFRoZSBy ZXN0IG9mIHRoZQpzeW50YXggaXMgdGhlIHNhbWUgYXMgdGhlIGRlZmF1bHQuCgpPcHRpb24gfmdy ZWVuLXN0cmluZ3N+IHJlcGxhY2VzIHRoZSBibHVlL2N5YW4vY29sZCBjb2xvciB2YXJpYW50cyBp bgpzdHJpbmdzIHdpdGggZ3JlZW5lciBhbHRlcm5hdGl2ZXMuICBUaGUgcmVzdCBvZiB0aGUgc3lu dGF4IHJlbWFpbnMgdGhlCnNhbWUuCgpPcHRpb24gfnllbGxvdy1jb21tZW50cy1ncmVlbi1zdHJp bmdzfiBjb21iaW5lcyB5ZWxsb3cgY29tbWVudHMgd2l0aCBncmVlbgpzdHJpbmdzIGFuZCB0aGUg cmVzdCBvZiB0aGUgZGVmYXVsdCBzeW50YXggaGlnaGxpZ2h0aW5nIHN0eWxlLgoKT3B0aW9uIH5h bHQtc3ludGF4fiBleHBhbmRzIHRoZSBhY3RpdmUgc3BlY3RydW0gYnkgYXBwbHlpbmcgY29sb3IK Y29tYmluYXRpb25zIHdpdGggbW9yZSBjb250cmFzdGluZyBodWVzIGJldHdlZW4gdGhlbS4gIEV4 cGVjdCB0byBmaW5kCnJlZCBhbmQgZ3JlZW4gdmFyaWFudHMgaW4gYWRkaXRpb24gdG8gY3lhbiwg Ymx1ZSwgbWFnZW50YS4KCk9wdGlvbiB+YWx0LXN5bnRheC15ZWxsb3ctY29tbWVudHN+IGNvbWJp bmVzIH5hbHQtc3ludGF4fiB3aXRoCn55ZWxsb3ctY29tbWVudHN+LgoKT3B0aW9uIH5mYWludC15 ZWxsb3ctY29tbWVudHN+IGNvbWJpbmVzIHRoZSB+ZmFpbnR+IHN0eWxlIHdpdGgKfnllbGxvdy1j b21tZW50c34uCgoqKiBPcHRpb24gZm9yIG5vIGZvbnQgbWl4aW5nCjpwcm9wZXJ0aWVzOgo6YWx0 X3RpdGxlOiBObyBtaXhlZCBmb250cwo6ZGVzY3JpcHRpb246IFRvZ2dsZSBtaXhpbmcgb2YgZm9u dCBmYW1pbGllcwo6Y3VzdG9tX2lkOiBoOjExNWU2YzIzLWVlMzUtNGExNi04Y2VmLWUyZmNiYjA4 ZTI4Ygo6ZW5kOgojK3ZpbmRleDogbW9kdXMtdGhlbWVzLW5vLW1peGVkLWZvbnRzCgpTeW1ib2w6 IH5tb2R1cy10aGVtZXMtbm8tbWl4ZWQtZm9udHN+CgpQb3NzaWJsZSB2YWx1ZXM6CgoxLiA9bmls PSAoZGVmYXVsdCkKMi4gPXQ9CgpCeSBkZWZhdWx0LCB0aGUgdGhlbWVzIGNvbmZpZ3VyZSBzb21l IHNwYWNpbmctc2Vuc2l0aXZlIGZhY2VzIGxpa2UgT3JnCnRhYmxlcyBhbmQgY29kZSBibG9ja3Mg dG8gYWx3YXlzIGluaGVyaXQgZnJvbSB0aGUgfmZpeGVkLXBpdGNofiBmYWNlLgpUaGlzIGlzIHRv IGVuc3VyZSB0aGF0IHRob3NlIGNvbnN0cnVjdHMgcmVtYWluIG1vbm9zcGFjZWQgZXZlbiB3aGVu CnVzZXJzIG9wdCBmb3IgYSBtb2RlIHRoYXQgcmVtYXBzIHR5cGVmYWNlIGZhbWlsaWVzLCBzdWNo IGFzIHRoZSBidWlsdC1pbgp7e3trYmQoTS14IHZhcmlhYmxlLXBpdGNoLW1vZGUpfX19LiAgT3Ro ZXJ3aXNlIHRoZSBsYXlvdXQgd291bGQgYXBwZWFyCmJyb2tlbiwgZHVlIHRvIGhvdyBzcGFjaW5n IGlzIGRvbmUuICBUbyBkaXNhYmxlIHRoaXMgYmVoYXZpb3VyLCBzZXQgdGhlCm9wdGlvbiB0byA9 dD0uCgpVc2VycyBtYXkgcHJlZmVyIHRvIHVzZSBhbm90aGVyIHBhY2thZ2UgZm9yIGhhbmRsaW5n IG1peGVkIHR5cGVmYWNlCmNvbmZpZ3VyYXRpb25zLCByYXRoZXIgdGhhbiBsZXR0aW5nIHRoZSB0 aGVtZSBkbyBpdCwgcGVyaGFwcyBiZWNhdXNlIGEKcHVycG9zZS1zcGVjaWZpYyBwYWNrYWdlIGhh cyBleHRyYSBmdW5jdGlvbmFsaXR5LiAgVHdvIHBvc3NpYmxlIG9wdGlvbnMKYXJlIH5vcmctdmFy aWFibGUtcGl0Y2h+IGFuZCB+bWl4ZWQtcGl0Y2h+LgoKW1sjaDpkZWZjZjRmYy04ZmE4LTRjMjkt YjEyZS03MTE5NTgyY2M5MjldW0ZvbnQgY29uZmlndXJhdGlvbnMgZm9yIE9yZyAoYW5kIG90aGVy cyldXS4KCioqIE9wdGlvbiBmb3IgbGlua3MKOnByb3BlcnRpZXM6CjphbHRfdGl0bGU6IExpbmsg c3R5bGVzCjpkZXNjcmlwdGlvbjogQ2hvb3NlIGFtb25nIHNldmVyYWwgc3R5bGVzLCB3aXRoIG9y IHdpdGhvdXQgdW5kZXJsaW5lCjpjdXN0b21faWQ6IGg6YzExOWQ3YjItZmNkNC00ZTQ0LTg5MGUt NWUyNTczM2Q1ZTUyCjplbmQ6CiMrdmluZGV4OiBtb2R1cy10aGVtZXMtbGlua3MKClN5bWJvbDog fm1vZHVzLXRoZW1lcy1saW5rc34KClBvc3NpYmxlIHZhbHVlczoKCjEuID1uaWw9IChkZWZhdWx0 KQoyLiB+ZmFpbnR+CjMuIH5uZXV0cmFsLXVuZGVybGluZX4KNC4gfmZhaW50LW5ldXRyYWwtdW5k ZXJsaW5lfgo1LiB+bm8tdW5kZXJsaW5lfgo2LiB+dW5kZXJsaW5lLW9ubHl+CjcuIH5uZXV0cmFs LXVuZGVybGluZS1vbmx5fgoKVGhlIGRlZmF1bHQgc3R5bGUgKG5pbCkgZm9yIGxpbmtzIGlzIHRv IGFwcGx5IGFuIHVuZGVybGluZSBhbmQgYQpzYXR1cmF0ZWQgY29sb3IgdG8gdGhlIGFmZmVjdGVk IHRleHQuICBUaGUgY29sb3Igb2YgdGhlIHR3byBpcyB0aGUgc2FtZSwKd2hpY2ggbWFrZXMgdGhl IGxpbmsgZmFpcmx5IHByb21pbmVudC4KCk9wdGlvbiB+ZmFpbnR+IGZvbGxvd3MgdGhlIHNhbWUg YXBwcm9hY2ggYXMgdGhlIGRlZmF1bHQsIGJ1dCB1c2VzIGxlc3MKaW50ZW5zZSBjb2xvcnMuCgpP cHRpb24gfm5ldXRyYWwtdW5kZXJsaW5lfiBjaGFuZ2VzIHRoZSB1bmRlcmxpbmUncyBjb2xvciB0 byBhIHN1YnRsZSBncmF5LAp3aGlsZSByZXRhaW5pbmcgdGhlIGRlZmF1bHQgdGV4dCBjb2xvci4K Ck9wdGlvbiB+ZmFpbnQtbmV1dHJhbC11bmRlcmxpbmV+IGNvbWJpbmVzIGEgZGVzYXR1cmF0ZWQg dGV4dCBjb2xvciB3aXRoIGEKc3VidGxlIGdyYXkgdW5kZXJsaW5lLgoKT3B0aW9uIH5uby11bmRl cmxpbmV+IHJlbW92ZXMgbGluayB1bmRlcmxpbmVzIGFsdG9nZXRoZXIsIHdoaWxlIHJldGFpbmlu Zwp0aGVpciBvcmlnaW5hbCBmYWlybHkgdml2aWQgY29sb3IuCgpPcHRpb24gfnVuZGVybGluZS1v bmx5fiBhcHBsaWVzIGEgcHJvbWluZW50IHVuZGVybGluZSB3aGlsZSBtYWtpbmcgdGhlCmFmZmVj dGVkIHRleHQgY29sb3JsZXNzIChpdCB1c2VzIHRoZSBzYW1lIGZvcmVncm91bmQgYXMgdGhlIHRo ZW1lJ3MKZGVmYXVsdCkuCgpPcHRpb24gfm5ldXRyYWwtdW5kZXJsaW5lLW9ubHl+IG1ha2VzIHRo ZSB0ZXh0IGNvbG9ybGVzcyB3aGlsZSB1c2luZyBhCnN1YnRsZSBncmF5IHVuZGVybGluZSBiZWxv dyBpdC4KCk5PVEU6IFRoZSBwbGFjZW1lbnQgb2YgdGhlIHVuZGVybGluZSwgaS5lLiBpdHMgcHJv eGltaXR5IHRvIHRoZSBhZmZlY3RlZAp0ZXh0LCBpcyBjb250cm9sbGVkIGJ5IHRoZSBidWlsdC1p biB+eC11bmRlcmxpbmUtYXQtZGVzY2VudC1saW5lfiwKfngtdXNlLXVuZGVybGluZS1wb3NpdGlv bi1wcm9wZXJ0aWVzfiwgfnVuZGVybGluZS1taW5pbXVtLW9mZnNldH4uICBQbGVhc2UKcmVmZXIg dG8gdGhlaXIgZG9jdW1lbnRhdGlvbiBzdHJpbmdzLgoKKiogT3B0aW9uIGZvciBjb21tYW5kIHBy b21wdCBzdHlsZXMKOnByb3BlcnRpZXM6CjphbHRfdGl0bGU6IENvbW1hbmQgcHJvbXB0cwo6ZGVz Y3JpcHRpb246IENob29zZSBhbW9uZyBwbGFpbiwgc3VidGxlLCBvciBpbnRlbnNlIHByb21wdHMK OmN1c3RvbV9pZDogaDpkYjVhOWE3Yy0yOTI4LTRhMjgtYjBmMC02ZjJiOWJkNTJiYTEKOmVuZDoK Iyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1wcm9tcHRzCgpTeW1ib2w6IH5tb2R1cy10aGVtZXMtcHJv bXB0c34KClBvc3NpYmxlIHZhbHVlczoKCjEuID1uaWw9IChkZWZhdWx0KQoyLiB+c3VidGxlLWFj Y2VudGVkfiAofnN1YnRsZX4gZXhpc3RzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KQozLiB+ aW50ZW5zZS1hY2NlbnRlZH4gKH5pbnRlbnNlfiBleGlzdHMgZm9yIGJhY2t3YXJkIGNvbXBhdGli aWxpdHkpCjQuIH5zdWJ0bGUtZ3JheX4KNS4gfmludGVuc2UtZ3JheX4KClRoZSBkZWZhdWx0IGRv ZXMgbm90IHVzZSBhbnkgYmFja2dyb3VuZCBmb3IgbWluaWJ1ZmZlciBhbmQgY29tbWFuZCBsaW5l CnByb21wdHMuICBJdCByZWxpZXMgZXhjbHVzaXZlbHkgb24gYW4gYWNjZW50ZWQgZm9yZWdyb3Vu ZCBjb2xvci4KCk9wdGlvbnMgfnN1YnRsZS1hY2NlbnRlZH4gYW5kIH5pbnRlbnNlLWFjY2VudGVk fiB3aWxsIGNoYW5nZSBib3RoIHRoZQpiYWNrZ3JvdW5kIGFuZCB0aGUgZm9yZWdyb3VuZCB2YWx1 ZXMgdG8gdXNlIGFjY2VudGVkIGNvbG9yIGNvbWJpbmF0aW9ucwp0aGF0IGZvbGxvdyB0aGUgaHVl IG9mIHRoZSBkZWZhdWx0IHN0eWxlcycgZm9yZWdyb3VuZCAoZS5nLiB0aGUgZGVmYXVsdAptaW5p YnVmZmVyIHByb21wdCBpcyBjeWFuIHRleHQsIHNvIHRoZXNlIGNvbWJpbmF0aW9ucyB3aWxsIGlu dm9sdmVkIGEKY3lhbiBiYWNrZ3JvdW5kIGFuZCBhbiBhcHByb3ByaWF0ZSBjeWFuIGZvcmVncm91 bmQpLiAgVGhlIGRpZmZlcmVuY2UKYmV0d2VlbiB0aGUgdHdvIGlzIHRoYXQgdGhlIGxhdHRlciBo YXMgYSBtb3JlIHByb25vdW5jZWQvbm90aWNlYWJsZQplZmZlY3QgdGhhbiB0aGUgZm9ybWVyLgoK T3B0aW9ucyB+c3VidGxlLWdyYXl+LCB+aW50ZW5zZS1ncmF5fiBhcmUgbGlrZSB0aGVpciBhY2Nl bnRlZCBjb3VudGVycGFydHMsCmV4Y2VwdCB0aGV5IHVzZSBncmF5c2NhbGUgdmFsdWVzLgoKKiog T3B0aW9uIGZvciBtb2RlIGxpbmUgcHJlc2VudGF0aW9uCjpwcm9wZXJ0aWVzOgo6YWx0X3RpdGxl OiBNb2RlIGxpbmUKOmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgc2V2ZXJhbCBzdHlsZXMsIHdp dGggb3Igd2l0aG91dCBib3JkZXJzCjpjdXN0b21faWQ6IGg6Mjc5NDNhZjYtZDk1MC00MmQwLWJj MjMtMTA2ZTQzZjUwYTI0CjplbmQ6CiMrdmluZGV4OiBtb2R1cy10aGVtZXMtbW9kZS1saW5lCgpT eW1ib2w6IH5tb2R1cy10aGVtZXMtbW9kZS1saW5lfgoKUG9zc2libGUgdmFsdWVzOgoKMS4gPW5p bD0gKGRlZmF1bHQpCjIuIH4zZH4KMy4gfm1vb2R5fgo0LiB+Ym9yZGVybGVzc34KNS4gfmJvcmRl cmxlc3MtM2R+CjYuIH5ib3JkZXJsZXNzLW1vb2R5fgoKVGhlIGRlZmF1bHQgcHJvZHVjZXMgYSB0 d28tZGltZW5zaW9uYWwgZWZmZWN0IGJvdGggZm9yIHRoZSBhY3RpdmUgYW5kCmluYWN0aXZlIG1v ZGVsaW5lcy4gIFRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSB0d28gYXJlIGxpbWl0ZWQgdG8K ZGlzdGluY3Qgc2hhZGVzIG9mIGdyYXlzY2FsZSB2YWx1ZXMsIHdpdGggdGhlIGFjdGl2ZSBiZWlu ZyBtb3JlIGludGVuc2UKdGhhbiB0aGUgaW5hY3RpdmUuCgpPcHRpb24gfjNkfiB3aWxsIG1ha2Ug dGhlIGFjdGl2ZSBtb2RlbGluZSBsb29rIGxpa2UgYSB0aHJlZS1kaW1lbnNpb25hbApyZWN0YW5n bGUuICBJbmFjdGl2ZSBtb2RlbGluZXMgcmVtYWluIDJELCB0aG91Z2ggdGhleSBhcmUgc2xpZ2h0 bHkgdG9uZWQKZG93biByZWxhdGl2ZSB0byB0aGUgZGVmYXVsdC4gIFRoaXMgYWVzdGhldGljIGlz IHZpcnR1YWxseSB0aGUgc2FtZSBhcwp3aGF0IHlvdSBnZXQgd2hlbiB5b3UgcnVuIEVtYWNzIHdp dGhvdXQgYW55IGN1c3RvbWl6YXRpb25zICg9ZW1hY3MgLVE9IG9uCnRoZSBjb21tYW5kIGxpbmUp LgoKV2hpbGUgfm1vb2R5fiByZW1vdmVzIGFsbCBib3ggZWZmZWN0cyBmcm9tIHRoZSBtb2RlbGlu ZXMgYW5kIGFwcGxpZXMKdW5kZXJsaW5lIGFuZCBvdmVybGluZSBwcm9wZXJ0aWVzIGluc3RlYWQu ICBJdCBhbHNvIHRvbmVzIGRvd24gYSBiaXQgdGhlCmluYWN0aXZlIG1vZGVsaW5lcy4gIFRoaXMg aXMgbWVhbnQgdG8gb3B0aW1pemUgdGhpbmdzIGZvciB1c2Ugd2l0aCB0aGUKW1todHRwczovL2dp dGh1Yi5jb20vdGFyc2l1cy9tb29keV1bbW9vZHkgcGFja2FnZV1dIChoZXJlaW5hZnRlciByZWZl cnJlZCB0byBhcyAiTW9vZHkiKSwgdGhvdWdoIGl0IGNhbiB3b3JrCmZpbmUgZXZlbiB3aXRob3V0 IGl0LgoKVGhlIH5ib3JkZXJsZXNzfiBvcHRpb24gdXNlcyB0aGUgc2FtZSBjb2xvcnMgYXMgdGhl IGRlZmF1bHQgKG5pbCB2YWx1ZSksCmJ1dCByZW1vdmVzIHRoZSBib3JkZXIgZWZmZWN0LiAgVGhp cyBpcyBkb25lIGJ5IG1ha2luZyB0aGUgYm94IHByb3BlcnR5CnVzZSB0aGUgc2FtZSBjb2xvciBh cyB0aGUgYmFja2dyb3VuZCwgZWZmZWN0aXZlbHkgYmxlbmRpbmcgdGhlIHR3byBhbmQKY3JlYXRp bmcgc29tZSBwYWRkaW5nLgoKVGhlIH5ib3JkZXJsZXNzLTNkfiBhbmQgfmJvcmRlcmxlc3MtbW9v ZHl+IGFwcHJveGltYXRlIHRoZSB+M2R+IGFuZCB+bW9vZHl+Cm9wdGlvbnMgcmVzcGVjdGl2ZWx5 LCB3aGlsZSByZW1vdmluZyB0aGUgYm9yZGVycy4gIEhvd2V2ZXIsIHRvIGVuc3VyZQp0aGF0IHRo ZSBpbmFjdGl2ZSBtb2RlbGluZXMgcmVtYWluIHZpc2libGUsIHRoZXkgYXBwbHkgYSBzbGlnaHRs eSBtb3JlCnByb21pbmVudCBiYWNrZ3JvdW5kIHRvIHRoZW0gdGhhbiB3aGF0IHRoZWlyIGNvdW50 ZXJwYXJ0cyBkbyAoc2FtZQppbmFjdGl2ZSBiYWNrZ3JvdW5kIGFzIHdpdGggdGhlIGRlZmF1bHQp LgoKTm90ZSB0aGF0IE1vb2R5IGRvZXMgbm90IGV4cG9zZSBhbnkgZmFjZXMgdGhhdCB0aGUgdGhl bWVzIGNvdWxkIHN0eWxlCmRpcmVjdGx5LiAgSW5zdGVhZCBpdCByZS1wdXJwb3NlcyBleGlzdGlu ZyBvbmVzIHRvIHJlbmRlciBpdHMgdGFicyBhbmQKcmliYm9ucy4gIEFzIHN1Y2gsIHRoZXJlIG1h eSBiZSBjYXNlcyB3aGVyZSB0aGUgY29udHJhc3QgcmF0aW8gZmFsbHMKYmVsb3cgdGhlIDc6MSB0 YXJnZXQgdGhhdCB0aGUgdGhlbWVzIGNvbmZvcm0gd2l0aCAoV0NBRyBBQUEpLiAgVG8gaGVkZ2UK YWdhaW5zdCB0aGlzLCB3ZSBjb25maWd1cmUgYSBmYWxsYmFjayBmb3JlZ3JvdW5kIGZvciB0aGUg fm1vb2R5fiBvcHRpb24sCndoaWNoIHdpbGwgY29tZSBpbnRvIGVmZmVjdCB3aGVuIHRoZSBiYWNr Z3JvdW5kIG9mIHRoZSBtb2RlbGluZSBjaGFuZ2VzCnRvIHNvbWV0aGluZyBsZXNzIGFjY2Vzc2li bGUsIHN1Y2ggYXMgTW9vZHkgcmliYm9ucyAocmVhZCB0aGUgZG9jIHN0cmluZwpvZiB+c2V0LWZh Y2UtYXR0cmlidXRlfiwgc3BlY2lmaWNhbGx5IH46ZGlzdGFudC1mb3JlZ3JvdW5kfikuICBUaGlz IGZhbGxiYWNrCmlzIGFjdGl2YXRlZCB3aGVuIEVtYWNzIGRldGVybWluZXMgdGhhdCB0aGUgYmFj a2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBvZgp0aGUgZ2l2ZW4gY29uc3RydWN0IGFyZSB0b28gY2xv c2UgdG8gZWFjaCBvdGhlciBpbiB0ZXJtcyBvZiBjb2xvcgpkaXN0YW5jZS4gIEluIGVmZmVjdCwg dXNlcnMgd291bGQgbmVlZCB0byBleHBlcmltZW50IHdpdGggdGhlIHZhcmlhYmxlCn5mYWNlLW5l YXItc2FtZS1jb2xvci10aHJlc2hvbGR+IHRvIHRyaWdnZXIgdGhlIGVmZmVjdC4gIFdlIGZpbmQg dGhhdCBhCnZhbHVlIG9mID00NTAwMD0gd2lsbCBzdWZmaWNlLCBjb250cmFyeSB0byB0aGUgZGVm YXVsdCA9MzAwMDA9LiAgRG8gbm90IHNldAp0aGUgdmFsdWUgdG9vIGhpZ2gsIGJlY2F1c2UgdGhh dCB3b3VsZCBoYXZlIHRoZSBhZHZlcnNlIGVmZmVjdCBvZiBhbHdheXMKb3ZlcnJpZGluZyB0aGUg ZGVmYXVsdCBjb2xvciAod2hpY2ggaGFzIGJlZW4gY2FyZWZ1bGx5IGRlc2lnbmVkIHRvIGJlCmhp Z2hseSBhY2Nlc3NpYmxlKS4KCkZ1cnRoZXJtb3JlLCBiZWNhdXNlIE1vb2R5IGV4cGVjdHMgYW4g dW5kZXJsaW5lIGFuZCBvdmVybGluZSBpbnN0ZWFkIG9mCmEgYm94IHN0eWxlLCBpdCBpcyBhZHZp c2VkIHlvdSBpbmNsdWRlIHRoaXMgaW4geW91ciBzZXR1cDoKCiMrYmVnaW5fc3JjIGVtYWNzLWxp c3AKKHNldHEgeC11bmRlcmxpbmUtYXQtZGVzY2VudC1saW5lIHQpCiMrZW5kX3NyYwoKKiogT3B0 aW9uIGZvciBjb21wbGV0aW9uIGZyYW1ld29yayBhZXN0aGV0aWNzCjpwcm9wZXJ0aWVzOgo6YWx0 X3RpdGxlOiBDb21wbGV0aW9uIFVJcwo6ZGVzY3JpcHRpb246IENob29zZSBhbW9uZyBzdGFuZGFy ZCwgbW9kZXJhdGUsIG9yIG9waW5pb25hdGVkIGxvb2tzCjpjdXN0b21faWQ6IGg6ZjFjMjBjMDIt N2IzNC00YzM1LTljNjUtOTkxNzBlZmIyODgyCjplbmQ6CiMrdmluZGV4OiBtb2R1cy10aGVtZXMt Y29tcGxldGlvbnMKClN5bWJvbDogfm1vZHVzLXRoZW1lcy1jb21wbGV0aW9uc34KClBvc3NpYmxl IHZhbHVlczoKCjEuID1uaWw9IChkZWZhdWx0KQoyLiB+bW9kZXJhdGV+CjMuIH5vcGluaW9uYXRl ZH4KClRoaXMgaXMgYSBzcGVjaWFsIG9wdGlvbiB0aGF0IGhhcyBkaWZmZXJlbnQgZWZmZWN0cyBk ZXBlbmRpbmcgb24gdGhlCmNvbXBsZXRpb24gVUkuICBUaGUgaW50ZXJmYWNlcyBjYW4gYmUgZ3Jv dXBlZCBpbiB0d28gY2F0ZWdvcmllcywgYmFzZWQKb24gdGhlaXIgZGVmYXVsdCBhZXN0aGV0aWNz OiAoaSkgdGhvc2UgdGhhdCBvbmx5IG9yIG1vc3RseSB1c2UKZm9yZWdyb3VuZCBjb2xvcnMgZm9y IHRoZWlyIGludGVyYWN0aW9uIG1vZGVsLCBhbmQgKGlpKSB0aG9zZSB0aGF0CmNvbWJpbmUgYmFj a2dyb3VuZCBhbmQgZm9yZWdyb3VuZCB2YWx1ZXMgZm9yIHNvbWUgb2YgdGhlaXIgbWV0YXBob3Jz LgpUaGUgZm9ybWVyIGNhdGVnb3J5IGVuY29tcGFzc2VzIEljb21wbGV0ZSwgSWRvLCBTZWxlY3Ry dW0gYXMgd2VsbCBhcwpwYXR0ZXJuIG1hdGNoaW5nIHN0eWxlcyBsaWtlIE9yZGVybGVzcyBhbmQg Rmx4LiAgVGhlIGxhdHRlciBjb3ZlcnMgSGVsbSwKSXZ5LCBhbmQgc2ltaWxhci4KCkEgdmFsdWUg b2YgPW5pbD0gd2lsbCByZXNwZWN0IHRoZSBtZXRhcGhvcnMgb2YgZWFjaCBjb21wbGV0aW9uIGZy YW1ld29yay4KCk9wdGlvbiB+bW9kZXJhdGV+IGFwcGxpZXMgYSBjb21iaW5hdGlvbiBvZiBiYWNr Z3JvdW5kIGFuZCBmb3JlZ3JvdW5kIHRoYXQKaXMgZmFpcmx5IHN1YnRsZS4gIEZvciBJY29tcGxl dGUgYW5kIGZyaWVuZHMgdGhpcyBjb25zdGl0dXRlcyBhCmRlcGFydHVyZSBmcm9tIHRoZWlyIGRl ZmF1bHQgYWVzdGhldGljcywgaG93ZXZlciB0aGUgZGlmZmVyZW5jZSBpcwpzbWFsbC4gIFdoaWxl IEhlbG0sIEl2eSBldCBhbCBhcHBlYXIgc2xpZ2h0bHkgZGlmZmVyZW50IHRoYW4gdGhlaXIKb3Jp Z2luYWwgbG9va3MsIGFzIHRoZXkgYXJlIHRvbmVkIGRvd24gYSBiaXQuCgpPcHRpb24gfm9waW5p b25hdGVkfiB1c2VzIGNvbG9yIGNvbWJpbmF0aW9ucyB0aGF0IHJlZmFzaGlvbiB0aGUgY29tcGxl dGlvbgpVSS4gIEZvciB0aGUgSWNvbXBsZXRlIGNhbXAgdGhpcyBtZWFucyB0aGF0IGludGVuc2Ug YmFja2dyb3VuZCBhbmQKZm9yZWdyb3VuZCBjb21iaW5hdGlvbnMgYXJlIHVzZWQ6IGluIGVmZmVj dCB0aGVpciBsb29rcyBlbXVsYXRlIHRob3NlIG9mCkhlbG0sIEl2eSBhbmQgY28uIGluIHRoZWly IG9yaWdpbmFsIHN0eWxlLiAgV2hlcmVhcyB0aGUgb3RoZXIgZ3JvdXAgb2YKcGFja2FnZXMgd2ls bCByZXZlcnQgdG8gYW4gZXZlbiBtb3JlIG51YW5jZWQgYWVzdGhldGljIHdpdGggc29tZQphZGRp dGlvbmFsIGNoYW5nZXMgdG8gdGhlIGNob2ljZSBvZiBodWVzLgoKVG8gYXBwcmVjaWF0ZSB0aGUg c2NvcGUgb2YgdGhpcyBjdXN0b21pemF0aW9uIG9wdGlvbiwgeW91IHNob3VsZCBzcGVuZApzb21l IHRpbWUgd2l0aCBldmVyeSBvbmUgb2YgdGhlID1uaWw9IChkZWZhdWx0KSwgfm1vZGVyYXRlfiwg YW5kIH5vcGluaW9uYXRlZH4KcG9zc2liaWxpdGllcy4KCioqIE9wdGlvbiBmb3IgZnJpbmdlIHZp c2liaWxpdHkKOnByb3BlcnRpZXM6CjphbHRfdGl0bGU6IEZyaW5nZXMKOmRlc2NyaXB0aW9uOiBD aG9vc2UgYW1vbmcgaW52aXNpYmxlLCBzdWJ0bGUsIG9yIGludGVuc2UgZnJpbmdlIHN0eWxlcwo6 Y3VzdG9tX2lkOiBoOjE5ODNjM2ZjLTc0ZjYtNDRmMy1iOTE3LTk2N2M0MDNiZWJhZQo6ZW5kOgoj K3ZpbmRleDogbW9kdXMtdGhlbWVzLWZyaW5nZXMKClN5bWJvbDogfm1vZHVzLXRoZW1lcy1mcmlu Z2VzfgoKUG9zc2libGUgdmFsdWVzOgoKMS4gPW5pbD0gKGRlZmF1bHQpCjIuIH5zdWJ0bGV+CjMu IH5pbnRlbnNlfgoKVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBzYW1lIGNvbG9yIGFzIHRoYXQg b2YgdGhlIG1haW4gYmFja2dyb3VuZCwKbWVhbmluZyB0aGF0IHRoZSBmcmluZ2VzIGFyZSBub3Qg b2J2aW91cyB0aG91Z2ggdGhleSBzdGlsbCBvY2N1cHkgdGhlCnNwYWNlIGdpdmVuIHRvIHRoZW0g YnkgfmZyaW5nZS1tb2Rlfi4KCk9wdGlvbnMgfnN1YnRsZX4gYW5kIH5pbnRlbnNlfiBhcHBseSBh IGdyYXkgYmFja2dyb3VuZCwgbWFraW5nIHRoZSBmcmluZ2VzCnZpc2libGUuICBUaGUgZGlmZmVy ZW5jZSBiZXR3ZWVuIHRoZSB0d28gaXMgb25lIG9mIGRlZ3JlZSwgYXMgdGhlaXIKbmFtZXMgaW1w bHkuCgoqKiBPcHRpb24gZm9yIGxhbmd1YWdlIGNoZWNrZXJzCjpwcm9wZXJ0aWVzOgo6YWx0X3Rp dGxlOiBMYW5ndWFnZSBjaGVja2Vycwo6ZGVzY3JpcHRpb246IENvbnRyb2wgdGhlIHN0eWxlIG9m IGxhbmd1YWdlIGNoZWNrZXJzL2xpbnRlcnMKOmN1c3RvbV9pZDogaDo0YjEzNzQzYS04ZWJmLTRk MmMtYTA0My1jY2ViYTEwYjFlYjQKOmVuZDoKIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1sYW5nLWNo ZWNrZXJzCgpTeW1ib2w6IH5tb2R1cy10aGVtZXMtbGFuZy1jaGVja2Vyc34KClBvc3NpYmxlIHZh bHVlczoKCjEuID1uaWw9IChkZWZhdWx0KQoyLiB+c3VidGxlLWZvcmVncm91bmR+CjMuIH5pbnRl bnNlLWZvcmVncm91bmR+CjQuIH5zdHJhaWdodC11bmRlcmxpbmV+CjUuIH5zdWJ0bGUtZm9yZWdy b3VuZC1zdHJhaWdodC11bmRlcmxpbmV+CjYuIH5pbnRlbnNlLWZvcmVncm91bmQtc3RyYWlnaHQt dW5kZXJsaW5lfgo3LiB+Y29sb3JlZC1iYWNrZ3JvdW5kfgoKTmlsICh0aGUgZGVmYXVsdCkgYXBw bGllcyBhIGNvbG9yLWNvZGVkIHVuZGVybGluZSB0byB0aGUgYWZmZWN0ZWQgdGV4dCwKd2hpbGUg aXQgbGVhdmVzIHRoZSBvcmlnaW5hbCBmb3JlZ3JvdW5kIGluIHRhY3QuICBJZiB0aGUgZGlzcGxh eSBzcGVjCndoZXJlIEVtYWNzIHJ1bnMgaW4gaGFzIHN1cHBvcnQgZm9yIGl0IChlLmcuIEVtYWNz IEdVSSksIHRoZSB1bmRlcmxpbmUncwpzdHlsZSBpcyB0aGF0IG9mIGEgd2F2ZSwgb3RoZXJ3aXNl IGl0IGlzIGEgc3RyYWlnaHQgbGluZS4KCk9wdGlvbnMgfnN1YnRsZS1mb3JlZ3JvdW5kfiBhbmQg fmludGVuc2UtZm9yZWdyb3VuZH4gZm9sbG93IHRoZSBzYW1lCmNvbG9yLWNvZGluZyBwYXR0ZXJu IGFuZCB3YXZ5IHVuZGVybGluZSBvZiB0aGUgZGVmYXVsdCwgd2hpbGUgZXh0ZW5kaW5nCml0IHdp dGggYSBjb3JyZXNwb25kaW5nIGZvcmVncm91bmQgdmFsdWUgZm9yIHRoZSBhZmZlY3RlZCB0ZXh0 LiAgVGhlCmRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIG9wdGlvbnMgaXMgb25lIG9mIGRlZ3Jl ZSwgYXMgdGhlaXIgbmFtZXMKc3VnZ2VzdC4KCk9wdGlvbiB+c3RyYWlnaHQtdW5kZXJsaW5lfiBp cyBsaWtlIHRoZSBkZWZhdWx0IGJ1dCBhbHdheXMgYXBwbGllcyBhCnN0cmFpZ2h0IGxpbmUgdW5k ZXIgdGhlIGFmZmVjdGVkIHRleHQuICBTYW1lIHByaW5jaXBsZSBmb3IKfnN1YnRsZS1mb3JlZ3Jv dW5kLXN0cmFpZ2h0LXVuZGVybGluZX4gYW5kIGl0cyBjb3VudGVycGFydAp+aW50ZW5zZS1mb3Jl Z3JvdW5kLXN0cmFpZ2h0LXVuZGVybGluZX4uCgpPcHRpb24gfmNvbG9yZWQtYmFja2dyb3VuZH4g dXNlcyBhIHN0cmFpZ2h0IHVuZGVybGluZSwgYSB0aW50ZWQKYmFja2dyb3VuZCwgYW5kIGEgc3Vp dGFibGUgZm9yZWdyb3VuZC4gIEFsbCBhcmUgY29sb3ItY29kZWQuICBUaGlzIGlzCnRoZSBtb3N0 IGludGVuc2UgY29tYmluYXRpb24gb2YgZmFjZSBwcm9wZXJ0aWVzLgoKVGhlIHByZXNlbnQgdmFy aWFibGUgYWZmZWN0cyBwYWNrYWdlcyBhbmQvb3IgZmFjZSBncm91cHMgc3VjaCBhcyB0aG9zZQpv ZiA9Zmx5c3BlbGw9LCA9Zmx5bWFrZT0sID1mbHljaGVjaz0sIH5hcnRib2xsb2Nrcy1tb2Rlfiwg YW5kIH53cml0ZWdvb2QtbW9kZX4uCgpOT1RFOiBUaGUgcGxhY2VtZW50IG9mIHRoZSBzdHJhaWdo dCB1bmRlcmxpbmUsIHRob3VnaCBub3QgdGhlIHdhdmUKc3R5bGUsIGlzIGNvbnRyb2xsZWQgYnkg dGhlIGJ1aWx0LWluIH54LXVuZGVybGluZS1hdC1kZXNjZW50LWxpbmV+LAp+eC11c2UtdW5kZXJs aW5lLXBvc2l0aW9uLXByb3BlcnRpZXN+LCB+dW5kZXJsaW5lLW1pbmltdW0tb2Zmc2V0fi4gIFBs ZWFzZQpyZWZlciB0byB0aGVpciBkb2N1bWVudGF0aW9uIHN0cmluZ3MuCgoqKiBPcHRpb24gZm9y IGxpbmUgaGlnaGxpZ2h0aW5nIChobC1saW5lLW1vZGUpCjpwcm9wZXJ0aWVzOgo6YWx0X3RpdGxl OiBMaW5lIGhpZ2hsaWdodGluZwo6ZGVzY3JpcHRpb246IFRvZ2dsZSBpbnRlbnNlIHN0eWxlIGZv ciBjdXJyZW50IGxpbmUgaGlnaGxpZ2h0aW5nCjpjdXN0b21faWQ6IGg6MWRiYTFjZmUtZDA3OS00 YzEzLWE4MTAtZjc2OGU4Nzg5MTc3CjplbmQ6CiMrdmluZGV4OiBtb2R1cy10aGVtZXMtaW50ZW5z ZS1obC1saW5lCgpTeW1ib2w6IH5tb2R1cy10aGVtZXMtaW50ZW5zZS1obC1saW5lfgoKUG9zc2li bGUgdmFsdWVzOgoKMS4gPW5pbD0gKGRlZmF1bHQpCjIuID10PQoKVGhlIGRlZmF1bHQgaXMgdG8g dXNlIGEgc3VidGxlIGdyYXkgYmFja2dyb3VuZCBmb3IgfmhsLWxpbmUtbW9kZX4gYW5kIGl0cwpn bG9iYWwgZXF1aXZhbGVudC4KCldpdGggYSBub24tbmlsIHZhbHVlICg9dD0pIHVzZSBhIG1vcmUg cHJvbWluZW50IGJhY2tncm91bmQgY29sb3IgaW5zdGVhZC4KClRoaXMgYWZmZWN0cyBzZXZlcmFs IHBhY2thZ2VzIHRoYXQgZW5hYmxlIH5obC1saW5lLW1vZGV+LCBzdWNoIGFzID1lbGZlZWQ9CmFu ZCA9bXU0ZT0uCgoqKiBPcHRpb24gZm9yIGxpbmUgbnVtYmVycyAoZGlzcGxheS1saW5lLW51bWJl cnMtbW9kZSkKOnByb3BlcnRpZXM6CjphbHRfdGl0bGU6IExpbmUgbnVtYmVycwo6ZGVzY3JpcHRp b246IFRvZ2dsZSBzdWJ0bGUgc3R5bGUgZm9yIGxpbmUgbnVtYmVycwo6Y3VzdG9tX2lkOiBoOjhj NGE2MjMwLTJlNDMtNGFhMi1hNjMxLTNiNzE3OTM5MmUwOQo6ZW5kOgojK3ZpbmRleDogbW9kdXMt dGhlbWVzLXN1YnRsZS1saW5lLW51bWJlcnMKClN5bWJvbDogfm1vZHVzLXRoZW1lcy1zdWJ0bGUt bGluZS1udW1iZXJzfgoKUG9zc2libGUgdmFsdWU6CgoxLiA9bmlsPSAoZGVmYXVsdCkKMi4gPXQ9 CgpUaGUgZGVmYXVsdCBzdHlsZSBmb3IgfmRpc3BsYXktbGluZS1udW1iZXJzLW1vZGV+IGFuZCBp dHMgZ2xvYmFsIHZhcmlhbnQKaXMgdG8gYXBwbHkgYSBzdWJ0bGUgZ3JheSBiYWNrZ3JvdW5kIHRv IHRoZSBsaW5lIG51bWJlcnMuICBUaGUgY3VycmVudApsaW5lIGhhcyBhIG1vcmUgcHJvbm91bmNl ZCBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbWJpbmF0aW9uIHRvCmJyaW5nIG1vcmUgYXR0 ZW50aW9uIHRvIGl0c2VsZi4KClNpbWlsYXJseSwgdGhlIGZhY2VzIGZvciB+ZGlzcGxheS1saW5l LW51bWJlcnMtbWFqb3ItdGlja34gYW5kIGl0cwpjb3VudGVycGFydCB+ZGlzcGxheS1saW5lLW51 bWJlcnMtbWlub3ItdGlja34gdXNlIGFwcHJvcHJpYXRlIHN0eWxlcyB0aGF0Cmludm9sdmUgYSBi ZXNwb2tlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29tYmluYXRpb24uCgpXaXRoIGEgbm9u LW5pbCB2YWx1ZSAoPXQ9KSwgbGluZSBudW1iZXJzIGhhdmUgbm8gYmFja2dyb3VuZCBvZiB0aGVp ciBvd24uCkluc3RlYWQgdGhleSByZXRhaW4gdGhlIHByaW1hcnkgYmFja2dyb3VuZCBvZiB0aGUg dGhlbWUsIGJsZW5kaW5nIHdpdGgKdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlci4gIEZvcmVncm91bmQg dmFsdWVzIGZvciBhbGwgcmVsZXZhbnQgZmFjZXMgYXJlCnVwZGF0ZWQgdG8gYWNjb21tb2RhdGUg dGhpcyBhZXN0aGV0aWMuCgoqKiBPcHRpb24gZm9yIHBhcmVudGhlc2lzIG1hdGNoaW5nIChzaG93 LXBhcmVuLW1vZGUpCjpwcm9wZXJ0aWVzOgo6YWx0X3RpdGxlOiBNYXRjaGluZyBwYXJlbnRoZXNl cwo6ZGVzY3JpcHRpb246IENob29zZSBiZXR3ZWVuIHZhcmlvdXMgc3R5bGVzIGZvciBtYXRjaGlu ZyBkZWxpbWl0ZXJzL3BhcmVudGhlc2VzCjpjdXN0b21faWQ6IGg6ZTY2YTdlNGQtYTUxMi00YmM3 LTlmODYtZmJiYjU5MjNiZjM3CjplbmQ6CiMrdmluZGV4OiBtb2R1cy10aGVtZXMtcGFyZW4tbWF0 Y2gKClN5bWJvbDogfm1vZHVzLXRoZW1lcy1wYXJlbi1tYXRjaH4KClBvc3NpYmxlIHZhbHVlczoK CjEuID1uaWw9IChkZWZhdWx0KQoyLiB+c3VidGxlLWJvbGR+CjMuIH5pbnRlbnNlfgo0LiB+aW50 ZW5zZS1ib2xkfgoKTmlsIG1lYW5zIHRvIHVzZSBhIHN1YnRsZSB0aW50ZWQgYmFja2dyb3VuZCBj b2xvciBmb3IgdGhlIG1hdGNoaW5nCmRlbGltaXRlcnMuCgpPcHRpb24gfmludGVuc2V+IGFwcGxp ZXMgYSBzYXR1cmF0ZWQgYmFja2dyb3VuZCBjb2xvci4KCk9wdGlvbiB+c3VidGxlLWJvbGR+IGlz IHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0LCBidXQgYWxzbyBtYWtlcyB1c2Ugb2YKYm9sZCB0eXBv Z3JhcGhpYyB3ZWlnaHQgKGluaGVyaXRzIHRoZSB+Ym9sZH4gZmFjZSkuCgpPcHRpb24gfmludGVu c2UtYm9sZH4gaXMgdGhlIHNhbWUgYXMgfmludGVuc2V+LCB3aGlsZSBpdCBhbHNvIHVzZXMgYSBi b2xkCndlaWdodC4KClRoaXMgY3VzdG9taXphdGlvbiB2YXJpYWJsZSBhZmZlY3RzIHRvb2xzIHN1 Y2ggYXMgdGhlIGJ1aWx0LWluCn5zaG93LXBhcmVuLW1vZGV+IGFuZCB0aGUgPXNtYXJ0cGFyZW5z PSBwYWNrYWdlLgoKKiogT3B0aW9uIGZvciBhY3RpdmUgcmVnaW9uCjpwcm9wZXJ0aWVzOgo6YWx0 X3RpdGxlOiBBY3RpdmUgcmVnaW9uCjpkZXNjcmlwdGlvbjogQ2hvb3NlIGJldHdlZW4gdmFyaW91 cyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgcmVnaW9uCjpjdXN0b21faWQ6IGg6NjA3OTgwNjMtYjRh ZC00NWVhLWI5YTctZmY3YjVjMGFiNzRjCjplbmQ6CiMrdmluZGV4OiBtb2R1cy10aGVtZXMtcmVn aW9uCgpTeW1ib2w6IH5tb2R1cy10aGVtZXMtcmVnaW9ufgoKUG9zc2libGUgdmFsdWVzOgoKMS4g PW5pbD0gKGRlZmF1bHQpCjIuIH5uby1leHRlbmR+CjMuIH5iZy1vbmx5fgo0LiB+Ymctb25seS1u by1leHRlbmR+CgpOaWwgbWVhbnMgdG8gb25seSB1c2UgYSBwcm9taW5lbnQgZ3JheSBiYWNrZ3Jv dW5kIHdpdGggYSBuZXV0cmFsCmZvcmVncm91bmQuICBUaGUgZm9yZWdyb3VuZCBvdmVycmlkZXMg YWxsIHN5bnRheCBoaWdobGlnaHRpbmcuICBUaGUKcmVnaW9uIGV4dGVuZHMgdG8gdGhlIGVkZ2Ug b2YgdGhlIHdpbmRvdy4KCk9wdGlvbiB+bm8tZXh0ZW5kfiBwcmVzZXJ2ZXMgdGhlIGRlZmF1bHQg YWVzdGhldGljIGJ1dCBwcmV2ZW50cyB0aGUgcmVnaW9uCmZyb20gZXh0ZW5kaW5nIHRvIHRoZSBl ZGdlIG9mIHRoZSB3aW5kb3cuCgpPcHRpb24gfmJnLW9ubHl+IGFwcGxpZXMgYSBmYWludCB0aW50 ZWQgYmFja2dyb3VuZCB0aGF0IGlzIGRpc3RpbmN0IGZyb20KYWxsIG90aGVycyB1c2VkIGluIHRo ZSB0aGVtZSwgd2hpbGUgaXQgZG9lcyBub3Qgb3ZlcnJpZGUgYW55IGV4aXN0aW5nCmNvbG9ycy4g IEl0IGV4dGVuZHMgdG8gdGhlIGVkZ2Ugb2YgdGhlIHdpbmRvdy4KCk9wdGlvbiB+Ymctb25seS1u by1leHRlbmR+IGlzIGEgY29tYmluYXRpb24gb2YgdGhlIH5iZy1vbmx5fiBhbmQgfm5vLWV4dGVu ZH4Kb3B0aW9ucy4KCioqIE9wdGlvbiBmb3IgZGlmZiBidWZmZXIgbG9va3MKOnByb3BlcnRpZXM6 CjphbHRfdGl0bGU6IERpZmZzCjpkZXNjcmlwdGlvbjogQ2hvb3NlIGFtb25nIGludGVuc2UsIGRl c2F0dXJhdGVkLCBvciB0ZXh0LW9ubHkgZGlmZnMKOmN1c3RvbV9pZDogaDplYTdhYzU0Zi01ODI3 LTQ5YmQtYjA5Zi02MjQyNGIzYjY0MjcKOmVuZDoKIyt2aW5kZXg6IG1vZHVzLXRoZW1lcy1kaWZm cwoKU3ltYm9sOiB+bW9kdXMtdGhlbWVzLWRpZmZzfgoKUG9zc2libGUgdmFsdWVzOgoKMS4gPW5p bD0gKGRlZmF1bHQpCjIuIH5kZXNhdHVyYXRlZH4KMy4gfmZnLW9ubHl+CjQuIH5iZy1vbmx5fgo1 LiB+ZGV1dGVyYW5vcGlhfgoKQnkgZGVmYXVsdCB0aGUgdGhlbWVzIGFwcGx5IHJpY2ggY29sb3Jh dGlvbiB0byB0aGUgb3V0cHV0IG9mIGRpZmZzLCBzdWNoCmFzIHRob3NlIG9mIH5kaWZmLW1vZGV+ LCB+ZWRpZmZ+LCB+c21lcmdlLW1vZGV+LCBhbmQgTWFnaXQuICBUaGVzZSBhcmUKY29sb3IgY29t YmluYXRpb25zIG9mIGFuIGFjY2VudGVkIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgc28gdGhh dCwgZm9yCmV4YW1wbGUsIGFkZGVkIGxpbmVzIGhhdmUgYSBwcm9ub3VuY2VkIGdyZWVuIGJhY2tn cm91bmQgd2l0aCBhbgphcHByb3ByaWF0ZSBzaGFkZSBvZiBncmVlbiBmb3IgdGhlIGFmZmVjdGVk IHRleHQuICBXb3JkLXdpc2Ugb3IKInJlZmluZWQiIGNoYW5nZXMgZm9sbG93IHRoaXMgcGF0dGVy biBidXQgdXNlIGRpZmZlcmVudCBzaGFkZXMgb2YgdGhvc2UKY29sb3JzIHRvIHJlbWFpbiBkaXN0 aW5jdC4KCk9wdGlvbiB+ZGVzYXR1cmF0ZWR+IHRvbmVzIGRvd24gYWxsIHJlbGV2YW50IGNvbG9y IHZhbHVlcy4gIEl0IHN0aWxsCmNvbWJpbmVzIGFuIGFjY2VudGVkIGJhY2tncm91bmQgd2l0aCBh biBhcHByb3ByaWF0ZSBmb3JlZ3JvdW5kLCB5ZXQgaXRzCm92ZXJhbGwgaW1wcmVzc2lvbiBpcyBm YWlybHkgc3VidGxlLiAgUmVmaW5lZCBjaGFuZ2VzIGFyZSBhIGJpdCBtb3JlCmludGVuc2UgdG8g ZnVsZmlsIHRoZWlyIGludGVuZGVkIGZ1bmN0aW9uLCB0aG91Z2ggc3RpbGwgbGVzcyBzYXR1cmF0 ZWQKdGhhbiBkZWZhdWx0LgoKT3B0aW9uIH5mZy1vbmx5fiB3aWxsIHJlbW92ZSBtb3N0IGFjY2Vu dGVkIGJhY2tncm91bmRzIGFuZCBpbnN0ZWFkIHJlbHkKb24gY29sb3ItY29kZWQgdGV4dCB0byBk ZW5vdGUgY2hhbmdlcy4gIEZvciBpbnN0YW5jZSwgYWRkZWQgbGluZXMgdXNlIGEKZ3JlZW4gZm9y ZWdyb3VuZCwgd2hpbGUgdGhlaXIgYmFja2dyb3VuZCBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdCBv ZiB0aGUKYnVmZmVyLiAgV29yZC13aXNlIGhpZ2hsaWdodHMgc3RpbGwgdXNlIGEgYmFja2dyb3Vu ZCB2YWx1ZSB3aGljaCBpcywKbm9uZXRoZWxlc3MsIG1vcmUgc3VidGxlIHRoYW4gaXRzIGRlZmF1 bHQgZXF1aXZhbGVudC4KCk9wdGlvbiB+Ymctb25seX4gYXBwbGllcyBjb2xvci1jb2RlZCBiYWNr Z3JvdW5kcyBidXQgZG9lcyBub3Qgb3ZlcnJpZGUKYW55IHN5bnRheCBoaWdobGlnaHRpbmcgdGhh dCBtYXkgYmUgcHJlc2VudC4gIFRoaXMgbWFrZXMgaXQgc3VpdGFibGUgZm9yCnVzZSB3aXRoIGEg bm9uLW5pbCB2YWx1ZSBmb3IgfmRpZmYtZm9udC1sb2NrLXN5bnRheH4gKHdoaWNoIGlzIHRoZQpk ZWZhdWx0IGZvciB+ZGlmZi1tb2RlfiBidWZmZXJzIGluIEVtYWNzIDI3IG9yIGhpZ2hlcikuCgpP cHRpb24gfmRldXRlcmFub3BpYX4gb3B0aW1pemVzIGZvciByZWQtZ3JlZW4gY29sb3IgZGVmaWNp ZW5jeS4gIEl0CnJlcGxhY2VzIGFsbCBpbnN0YW5jZXMgb2YgZ3JlZW4gd2l0aCBibHVlIHZhcmlh bnRzLiAgVGhpcyBpcyB0byBlbnN1cmUKdGhhdCBpbmRpY2F0b3JzIGZvciAicmVtb3ZlZCIgYW5k ICJhZGRlZCIgc3RhdGVzIGFyZSBub3QgbWlzdGFrZW4gZm9yCmVhY2ggb3RoZXIuCgpDb25jZXJu aW5nIE1hZ2l0LCBhbiBleHRyYSBzZXQgb2YgdHdlYWtzIGFyZSBpbnRyb2R1Y2VkIGZvciB0aGUg ZWZmZWN0Cm9mIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBkaWZmIGh1bmssIHNvIGFzIHRvIHJl bWFpbiBhbGlnbmVkIHdpdGggdGhlCm92ZXJhbGwgZXhwZXJpZW5jZSBvZiB0aGF0IG1vZGUuICBF eHBlY3QgY2hhbmdlcyB0aGF0IGFyZSBjb25zaXN0ZW50CndpdGggdGhlIG92ZXJhbGwgaW50ZW50 IG9mIHRoZSBhZm9yZW1lbnRpb25lZC4gIE5vdGUsIGhvd2V2ZXIsIHRoYXQgdGhlCn5iZy1vbmx5 fiBvcHRpb24gd2lsbCBub3QgZGVsaXZlciB0aGUgaW50ZW5kZWQgcmVzdWx0cyBpbiBNYWdpdCBk aWZmcwpiZWNhdXNlIG5vIHN5bnRheCBoaWdobGlnaHRpbmcgaXMgdXNlZCB0aGVyZSAobGFzdCBj aGVja2VkIHdpdGggTWFnaXQKdmVyc2lvbiAyMDIwMTExNi4xMDU3LCB0aG91Z2ggdXBzdHJlYW0g aGFzIGEgcGxhbiB0byBldmVudHVhbGx5IHN1cHBvcnQKc3VjaCBhIGZlYXR1cmUtLS10aGlzIGVu dHJ5IHNoYWxsIGJlIHVwZGF0ZWQgYWNjb3JkaW5nbHkpLgoKKiogT3B0aW9uIGZvciBvcmctbW9k ZSBibG9jayBzdHlsZXMKOnByb3BlcnRpZXM6CjphbHRfdGl0bGU6IE9yZyBtb2RlIGJsb2Nrcwo6 ZGVzY3JpcHRpb246IENob29zZSBhbW9uZyBwbGFpbiwgZ3JheXNjYWxlLCBvciByYWluYm93IHN0 eWxlcwo6Y3VzdG9tX2lkOiBoOmI3ZTMyOGMwLTMwMzQtNGRiNy05Y2RmLWQ1YmExMjA4MWNhMgo6 ZW5kOgojK3ZpbmRleDogbW9kdXMtdGhlbWVzLW9yZy1ibG9ja3MKClN5bWJvbDogfm1vZHVzLXRo ZW1lcy1vcmctYmxvY2tzfgoKUG9zc2libGUgdmFsdWVzOgoKMS4gPW5pbD0gKGRlZmF1bHQpCjIu IH5ncmF5c2NhbGV+CjMuIH5yYWluYm93fgoKVGhlIGRlZmF1bHQgaXMgdG8gdXNlIHRoZSBzYW1l IGJhY2tncm91bmQgYXMgdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlciBmb3IKdGhlIGNvbnRlbnRzIG9m IHRoZSBibG9jay4KCk9wdGlvbiB+Z3JheXNjYWxlfiBhcHBsaWVzIGEgc3VidGxlIG5ldXRyYWwg Z3JheSBiYWNrZ3JvdW5kIHRvIHRoZSBibG9jaydzCmNvbnRlbnRzLiAgSXQgd2lsbCBhbHNvIGV4 dGVuZCB0byB0aGUgZWRnZSBvZiB0aGUgd2luZG93IHRoZSBiYWNrZ3JvdW5kCm9mIHRoZSAiYmVn aW4iIGFuZCAiZW5kIiBibG9jayBkZWxpbWl0ZXIgbGluZXMgKG9ubHkgcmVsZXZhbnQgZm9yIEVt YWNzCnZlcnNpb25zID49IDI3IHdoZXJlIHRoZSAnZXh0ZW5kJyBrZXl3b3JkIGlzIHBhcnQgb2Yg dGhlIGZhY2UKc3BlY2lmaWNhdGlvbnMpLgoKT3B0aW9uIH5yYWluYm93fiB1c2VzIGFuIGFjY2Vu dGVkIGJhY2tncm91bmQgZm9yIHRoZSBjb250ZW50cyBvZiB0aGUKYmxvY2suICBUaGUgZXhhY3Qg Y29sb3Igd2lsbCBkZXBlbmQgb24gdGhlIHByb2dyYW1taW5nIGxhbmd1YWdlIGFuZCBpcwpjb250 cm9sbGVkIGJ5IHRoZSB+b3JnLXNyYy1ibG9jay1mYWNlc34gdmFyaWFibGUuICBUaGlzIGlzIG1v c3Qgc3VpdGFibGUKZm9yIHVzZXJzIHdobyB3b3JrIG9uIGxpdGVyYXRlIHByb2dyYW1taW5nIGRv Y3VtZW50cyB0aGF0IG1peCBhbmQgbWF0Y2gKc2V2ZXJhbCBsYW5ndWFnZXMuCgpOb3RlIHRoYXQg dGhlICJyYWluYm93IiBibG9ja3MgbWF5IHJlcXVpcmUgeW91IHRvIGFsc28gcmVsb2FkIHRoZQpt YWpvci1tb2RlIHNvIHRoYXQgdGhlIGNvbG9ycyBhcmUgYXBwbGllZCBjb25zaXN0ZW50bHkgdGhy b3VnaG91dDogdXNlCnt7e2tiZChNLXggb3JnLW1vZGUpfX19IG9yIHt7e2tiZChNLXggb3JnLW1v ZGUtcmVzdGFydCl9fX0gdG8gcmVmcmVzaCB0aGUgYnVmZmVyLgpPciBzdGFydCB0eXBpbmcgaW4g ZWFjaCBjb2RlIGJsb2NrIChpbmVmZmljaWVudCBhdCBzY2FsZSwgYnV0IGl0IHN0aWxsCndvcmtz KS4KCioqIE9wdGlvbiBmb3Igb3JnLWhhYml0IGdyYXBoIHN0eWxlcwo6cHJvcGVydGllczoKOmFs dF90aXRsZTogT3JnIGFnZW5kYSBoYWJpdHMKOmRlc2NyaXB0aW9uOiBDaG9vc2UgYW1vbmcgc3Rh bmRhcmQsIHNpbXBsaWZpZWQsIG9yIHRyYWZmaWMgbGlnaHQgc3R5bGVzCjpjdXN0b21faWQ6IGg6 YjdlMzI4YzAtMzAzNC00ZGI3LTljZGYtZDViYTEyMDgxY2EyCjplbmQ6CiMrdmluZGV4OiBtb2R1 cy10aGVtZXMtb3JnLWhhYml0CgpTeW1ib2w6IH5tb2R1cy10aGVtZXMtb3JnLWhhYml0fgoKUG9z c2libGUgdmFsdWVzOgoKMS4gPW5pbD0gKGRlZmF1bHQpCjIuIH5zaW1wbGlmaWVkfgozLiB+dHJh ZmZpYy1saWdodH4KClRoZSBkZWZhdWx0IGlzIG1lYW50IHRvIGNvbmZvcm0gd2l0aCB0aGUgb3Jp Z2luYWwgYWVzdGhldGljIG9mCj1vcmctaGFiaXQ9LiAgSXQgZW1wbG95cyBhbGwgZm91ciBjb2xv ciBjb2RlcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhlCm9yZy1oYWJpdCBzdGF0ZXMtLS1jbGVhciwg cmVhZHksIGFsZXJ0LCBhbmQgb3ZlcmR1ZS0tLXdoaWxlCmRpc3Rpbmd1aXNoaW5nIGJldHdlZW4g dGhlaXIgcHJlc2VudCBhbmQgZnV0dXJlIHZhcmlhbnRzLiAgVGhpcyByZXN1bHRzCmluIGEgdG90 YWwgb2YgZWlnaHQgY29sb3JzIGluIHVzZTogcmVkLCB5ZWxsb3csIGdyZWVuLCBibHVlLCBpbiB0 aW50ZWQKYW5kIHNoYWRlZCB2ZXJzaW9ucy4gIFRoZXkgY292ZXIgdGhlIGZ1bGwgc2V0IG9mIGlu Zm9ybWF0aW9uIHByb3ZpZGVkIGJ5CnRoZSA9b3JnLWhhYml0PSBjb25zaXN0ZW5jeSBncmFwaC4K Ck9wdGlvbiB+c2ltcGxpZmllZH4gaXMgbGlrZSB0aGUgZGVmYXVsdCBleGNlcHQgdGhhdCBpdCBy ZW1vdmVzIHRoZQpkaWNob3RvbXkgYmV0d2VlbiBjdXJyZW50IGFuZCBmdXR1cmUgdmFyaWFudHMg YnkgYXBwbHlpbmcgdW5pZm9ybQpjb2xvci1jb2RlZCB2YWx1ZXMuICBJdCBhcHBsaWVzIGEgdG90 YWwgb2YgZm91ciBjb2xvcnM6IHJlZCwgeWVsbG93LApncmVlbiwgYmx1ZS4gIFRoZXkgcHJvZHVj ZSBhIHNpbXBsaWZpZWQgY29uc2lzdGVuY3kgZ3JhcGggdGhhdCBpcyBtb3JlCmxlZ2libGUgKG9y IGxlc3MgImJ1c3kiKSB0aGFuIHRoZSBkZWZhdWx0LiAgVGhlIGludGVudCBpcyB0byBzaGlmdCBm b2N1cwp0b3dhcmRzIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSBmb3VyIHN0YXRlcyBvZiBh IGhhYml0IHRhc2ssIHJhdGhlcgp0aGFuIGVhY2ggc3RhdGUncyBwcmVzZW50L2Z1dHVyZSBvdXRs b29rLgoKT3B0aW9uIH50cmFmZmljLWxpZ2h0fiBmdXJ0aGVyIHJlZHVjZXMgdGhlIGF2YWlsYWJs ZSBjb2xvcnMgdG8gcmVkLAp5ZWxsb3csIGFuZCBncmVlbi4gIEFzIGluIH5zaW1wbGlmaWVkfiwg cHJlc2VudCBhbmQgZnV0dXJlIHZhcmlhbnRzIGFwcGVhcgp1bmlmb3JtbHksIGJ1dCBkaWZmZXJl bnRseSBmcm9tIGl0LCB0aGUgJ2NsZWFyJyBzdGF0ZSBpcyByZW5kZXJlZCBpbiBhCmdyZWVuIGh1 ZSwgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgYmx1ZS4gIFRoaXMgaXMgbWVhbnQgdG8gY2FwdHVy ZSB0aGUKdXNlLWNhc2Ugd2hlcmUgYSBoYWJpdCB0YXNrIGJlaW5nICJ0b28gZWFybHkiIGlzIGxl c3MgaW1wb3J0YW50IHRoYW4gaXQKYmVpbmcgInRvbyBsYXRlIi4gIFRoZSBkaWZmZXJlbmNlIGJl dHdlZW4gcmVhZHkgYW5kIGNsZWFyIHN0YXRlcyBpcwphdHRlbnVhdGVkIGJ5IHBhaW50aW5nIGJv dGggb2YgdGhlbSB1c2luZyBzaGFkZXMgb2YgZ3JlZW4uICBUaGlzIG9wdGlvbgp0aHVzIGhpZ2hs aWdodHMgdGhlIGFsZXJ0IGFuZCBvdmVyZHVlIHN0YXRlcy4KCioqIE9wdGlvbiBmb3IgdGhlIGhl YWRpbmdzJyBvdmVyYWxsIHN0eWxlCjpwcm9wZXJ0aWVzOgo6YWx0X3RpdGxlOiBIZWFkaW5nIHN0 eWxlcwo6ZGVzY3JpcHRpb246IENob29zZSBhbW9uZyBzZXZlcmFsIHN0eWxlcywgYWxzbyBwZXIg aGVhZGluZyBsZXZlbAo6Y3VzdG9tX2lkOiBoOjI3MWVmZjE5LTk3YWEtNDA5MC05NDE1LWE2NDYz YzJmOWFlMQo6ZW5kOgojK3ZpbmRleDogbW9kdXMtdGhlbWVzLWhlYWRpbmdzCgpUaGlzIGlzIGRl ZmluZWQgYXMgYW4gYWxpc3QgYW5kLCB0aGVyZWZvcmUsIHVzZXMgYSBkaWZmZXJlbnQgYXBwcm9h Y2gKdGhhbiBvdGhlciBjdXN0b21pemF0aW9uIG9wdGlvbnMgZG9jdW1lbnRlZCBpbiB0aGlzIG1h bnVhbC4KClN5bWJvbDogfm1vZHVzLXRoZW1lcy1oZWFkaW5nc34KClBvc3NpYmxlIHZhbHVlcywg d2hpY2ggY2FuIGJlIHNwZWNpZmllZCBmb3IgZWFjaCBoZWFkaW5nIGxldmVsIChleGFtcGxlcwpm dXJ0aGVyIGJlbG93KToKCisgbmlsIChkZWZhdWx0IGZhbGxiYWNrIG9wdGlvbi0tLWNvdmVycyBh bGwgaGVhZGluZyBsZXZlbHMpCisgPXQ9IChkZWZhdWx0IHN0eWxlIGZvciBhIHNpbmdsZSBoZWFk aW5nLCB3aGVuIHRoZSBmYWxsYmFjayBkaWZmZXJzKQorIH5uby1ib2xkfgorIH5saW5lfgorIH5s aW5lLW5vLWJvbGR+CisgfnJhaW5ib3d+CisgfnJhaW5ib3ctbGluZX4KKyB+cmFpbmJvdy1saW5l LW5vLWJvbGR+CisgfmhpZ2hsaWdodH4KKyB+aGlnaGxpZ2h0LW5vLWJvbGR+CisgfnJhaW5ib3ct aGlnaGxpZ2h0fgorIH5yYWluYm93LWhpZ2hsaWdodC1uby1ib2xkfgorIH5zZWN0aW9ufgorIH5z ZWN0aW9uLW5vLWJvbGR+CisgfnJhaW5ib3ctc2VjdGlvbn4KKyB+cmFpbmJvdy1zZWN0aW9uLW5v LWJvbGR+Cisgfm5vLWNvbG9yfgorIH5uby1jb2xvci1uby1ib2xkfgoKVG8gY29udHJvbCBmYWNl cyBwZXIgbGV2ZWwgZnJvbSAxLTgsIHVzZSBzb21ldGhpbmcgbGlrZSB0aGlzOgoKIytiZWdpbl9z cmMgZW1hY3MtbGlzcAooc2V0cSBtb2R1cy10aGVtZXMtaGVhZGluZ3MKICAgICAgJygoMSAuIHNl Y3Rpb24pCiAgICAgICAgKDIgLiBzZWN0aW9uLW5vLWJvbGQpCiAgICAgICAgKDMgLiByYWluYm93 LWxpbmUpCiAgICAgICAgKHQgLiByYWluYm93LWxpbmUtbm8tYm9sZCkpKQojK2VuZF9zcmMKClRo ZSBhYm92ZSB1c2VzIHRoZSB+c2VjdGlvbn4gdmFsdWUgZm9yIGhlYWRpbmcgbGV2ZWxzIDEsIH5z ZWN0aW9uLW5vLWJvbGR+CmZvciBoZWFkaW5ncyAyLCB+cmFpbmJvdy1saW5lfiBmb3IgMy4gIEFs bCBvdGhlciBsZXZlbHMgZmFsbCBiYWNrIHRvCn5yYWluYm93LWxpbmUtbm8tYm9sZH4uCgpUbyBz ZXQgYSB1bmlmb3JtIHZhbHVlIGZvciBhbGwgaGVhZGluZyBsZXZlbHMsIHVzZSB0aGlzIHBhdHRl cm46CgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCjs7IEEgZ2l2ZW4gc3R5bGUgZm9yIGV2ZXJ5IGhl YWRpbmcKKHNldHEgbW9kdXMtdGhlbWVzLWhlYWRpbmdzCiAgICAgICcoKHQgLiBzZWN0aW9uKSkp Cgo7OyBEZWZhdWx0IGFlc3RoZXRpYyBmb3IgZXZlcnkgaGVhZGluZwooc2V0cSBtb2R1cy10aGVt ZXMtaGVhZGluZ3MKICAgICAgJygpKQojK2VuZF9zcmMKClRoZSBkZWZhdWx0IHN0eWxlIGZvciBo ZWFkaW5ncyB1c2VzIGEgZmFpcmx5IGRlc2F0dXJhdGVkIGZvcmVncm91bmQKdmFsdWUgaW4gY29t YmluYXRpb24gd2l0aCBib2xkIHR5cG9ncmFwaGljIHdlaWdodC4gIFRvIHNwZWNpZnkgdGhpcwpz dHlsZSBmb3IgYSBnaXZlbiBsZXZlbCBOLCBhc3N1bWluZyB5b3Ugd2lzaCB0byBoYXZlIGFub3Ro ZXIgZmFsbGJhY2sKb3B0aW9uLCBqdXN0IHNwZWNpZnkgdGhlIHZhbHVlID10PSBsaWtlIHRoaXM6 CgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCihzZXRxIG1vZHVzLXRoZW1lcy1oZWFkaW5ncwogICAg ICAnKCgxIC4gdCkKICAgICAgICAoMiAuIGxpbmUpCiAgICAgICAgKHQgLiByYWluYm93LWxpbmUt bm8tYm9sZCkpKQojK2VuZF9zcmMKCkEgZGVzY3JpcHRpb24gb2YgYWxsIG90aGVyIHBvc3NpYmxl IHN0eWxlcyBiZXlvbmQgdGhlIGRlZmF1bHQ6CgorIH5uby1ib2xkfiByZXRhaW5zIHRoZSBkZWZh dWx0IHRleHQgY29sb3Igd2hpbGUgcmVtb3ZpbmcgdGhlIGJvbGQKICB0eXBvZ3JhcGhpYyB3ZWln aHQuCgorIH5saW5lfiBpcyB0aGUgc2FtZSBhcyB0aGUgZGVmYXVsdCBwbHVzIGFuIG92ZXJsaW5l IGFjcm9zcyB0aGUKICBoZWFkaW5nJ3MgbGVuZ3RoLgoKKyB+bGluZS1uby1ib2xkfiBpcyB0aGUg c2FtZSBhcyB+bGluZX4gd2l0aG91dCBib2xkIHdlaWdodC4KCisgfnJhaW5ib3d+IHVzZXMgYSBt b3JlIGNvbG9yZnVsIGZvcmVncm91bmQgaW4gY29tYmluYXRpb24gd2l0aCBib2xkCiAgdHlwb2dy YXBoaWMgd2VpZ2h0LgoKKyB+cmFpbmJvdy1saW5lfiBpcyB0aGUgc2FtZSBhcyB+cmFpbmJvd34g cGx1cyBhbiBvdmVybGluZS4KCisgfnJhaW5ib3ctbGluZS1uby1ib2xkfiBpcyB0aGUgc2FtZSBh cyB+cmFpbmJvdy1saW5lfiB3aXRob3V0IHRoZSBib2xkCiAgd2VpZ2h0LgoKKyB+aGlnaGxpZ2h0 fiByZXRhaW5zIHRoZSBkZWZhdWx0IHN0eWxlIG9mIGEgZmFpcmx5IGRlc2F0dXJhdGVkCiAgZm9y ZWdyb3VuZCBjb21iaW5lZCB3aXRoIGEgYm9sZCB3ZWlnaHQgYW5kIGFkZHMgdG8gaXQgYSBzdWJ0 bGUKICBhY2NlbnRlZCBiYWNrZ3JvdW5kLgoKKyB+aGlnaGxpZ2h0LW5vLWJvbGR+IGlzIHRoZSBz YW1lIGFzIH5oaWdobGlnaHR+IHdpdGhvdXQgYSBib2xkIHdlaWdodC4KCisgfnJhaW5ib3ctaGln aGxpZ2h0fiBpcyB0aGUgc2FtZSBhcyB+aGlnaGxpZ2h0fiBidXQgd2l0aCBhIG1vcmUKICBjb2xv cmZ1bCBmb3JlZ3JvdW5kLgoKKyB+cmFpbmJvdy1oaWdobGlnaHQtbm8tYm9sZH4gaXMgdGhlIHNh bWUgYXMgfnJhaW5ib3ctaGlnaGxpZ2h0fiB3aXRob3V0CiAgYSBib2xkIHdlaWdodC4KCisgfnNl Y3Rpb25+IHJldGFpbnMgdGhlIGRlZmF1bHQgbG9va3MgYW5kIGFkZHMgdG8gdGhlbSBib3RoIGFu IG92ZXJsaW5lCiAgYW5kIGEgc2xpZ2h0bHkgYWNjZW50ZWQgYmFja2dyb3VuZC4gIEl0IGlzLCBp biBlZmZlY3QsIGEgY29tYmluYXRpb24KICBvZiB0aGUgfmxpbmV+IGFuZCB+aGlnaGxpZ2h0fiB2 YWx1ZXMuCgorIH5zZWN0aW9uLW5vLWJvbGR+IGlzIHRoZSBzYW1lIGFzIH5zZWN0aW9ufiB3aXRo b3V0IGEgYm9sZCB3ZWlnaHQuCgorIH5yYWluYm93LXNlY3Rpb25+IGlzIHRoZSBzYW1lIGFzIH5z ZWN0aW9ufiBidXQgd2l0aCBhIG1vcmUgY29sb3JmdWwKICBmb3JlZ3JvdW5kLgoKKyB+cmFpbmJv dy1zZWN0aW9uLW5vLWJvbGR+IGlzIHRoZSBzYW1lIGFzIH5yYWluYm93LXNlY3Rpb25+IHdpdGhv dXQgYQogIGJvbGQgd2VpZ2h0LgoKKyB+bm8tY29sb3J+IGRvZXMgbm90IGFwcGx5IGFueSBjb2xv ciB0byB0aGUgaGVhZGluZywgbWVhbmluZyB0aGF0IGl0CiAgdXNlcyB0aGUgZm9yZWdyb3VuZCBv ZiB0aGUgfmRlZmF1bHR+IGZhY2UuICBJdCBzdGlsbCByZW5kZXJzIHRoZSB0ZXh0CiAgd2l0aCBh IGJvbGQgdHlwb2dyYXBoaWMgd2VpZ2h0LgoKKyB+bm8tY29sb3Itbm8tYm9sZH4gaXMgbGlrZSB+ bm8tY29sb3J+IGJ1dCB3aXRob3V0IHRoZSBib2xkIHdlaWdodC4KCioqIE9wdGlvbiBmb3Igc2Nh bGVkIGhlYWRpbmdzCjpwcm9wZXJ0aWVzOgo6YWx0X3RpdGxlOiBTY2FsZWQgaGVhZGluZ3MKOmRl c2NyaXB0aW9uOiBUb2dnbGUgc2NhbGluZyBvZiBoZWFkaW5ncwo6Y3VzdG9tX2lkOiBoOjA3NWVi MDIyLTM3YTYtNDFhNC1hMDQwLWNjMTg5ZjZiZmExZgo6ZW5kOgojK3ZpbmRleDogbW9kdXMtdGhl bWVzLXNjYWxlLWhlYWRpbmdzCgpTeW1ib2w6IH5tb2R1cy10aGVtZXMtc2NhbGUtaGVhZGluZ3N+ CgpQb3NzaWJsZSB2YWx1ZXM6CgoxLiA9bmlsPSAoZGVmYXVsdCkKMi4gPXQ9CgpUaGUgZGVmYXVs dCBpcyB0byB1c2UgdGhlIHNhbWUgc2l6ZSBmb3IgaGVhZGluZ3MgYW5kIHBhcmFncmFwaCB0ZXh0 LgoKV2l0aCBhIG5vbi1uaWwgdmFsdWUgKD10PSkgbWFrZSBoZWFkaW5ncyBsYXJnZXIgaW4gaGVp Z2h0IHJlbGF0aXZlIHRvIHRoZQptYWluIHRleHQuICBUaGlzIGlzIG5vdGljZWFibGUgaW4gbW9k ZXMgbGlrZSBPcmcsIE1hcmtkb3duLCBhbmQgSW5mby4KCioqKiBDb250cm9sIHRoZSBzY2FsZSBv ZiBoZWFkaW5ncwo6cHJvcGVydGllczoKOmFsdF90aXRsZTogU2NhbGVkIGhlYWRpbmcgc2l6ZXMK OmRlc2NyaXB0aW9uOiBTcGVjaWZ5IHJhdGUgb2YgaW5jcmVhc2UgZm9yIHNjYWxlZCBoZWFkaW5n cwo6Y3VzdG9tX2lkOiBoOjY4NjhiYWExLWJlYmEtNDVlZC1iYWE1LTVmZDY4MzIyY2NiMwo6ZW5k OgoKSW4gYWRkaXRpb24gdG8gdGhlIHRvZ2dsZSBmb3IgZW5hYmxpbmcgc2NhbGVkIGhlYWRpbmdz LCB1c2VycyBjYW4gYWxzbwpzcGVjaWZ5IGEgbnVtYmVyIG9mIHRoZWlyIG93bi4KCisgSWYgaXQg aXMgYSBmbG9hdGluZyBwb2ludCwgc2F5LCA9MS41PSwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBt dWx0aXBsZQogIG9mIHRoZSBiYXNlIGZvbnQgc2l6ZS4gIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVk IG1ldGhvZCwgYmVjYXVzZSBpdAogIHdpbGwgYWx3YXlzIGFkYXB0IHRvIGNoYW5nZXMgaW4gdGhl IGJhc2UgZm9udCBzaXplLCBzdWNoIGFzIHdoaWxlCiAgdXNpbmcgdGhlIH50ZXh0LXNjYWxlLWFk anVzdH4gY29tbWFuZC4KCisgSWYgaXQgaXMgYW4gaW50ZWdlciwgaXQgaXMgcmVhZCBhcyBhbiBh YnNvbHV0ZSBmb250IGhlaWdodCB0aGF0IGlzCiAgMS8xMCBvZiB0aGUgdHlwb2dyYXBoaWMgcG9p bnQgc2l6ZS4gIFRodXMgYSB2YWx1ZSBvZiA9MThwdD0gbXVzdCBiZQogIGV4cHJlc3NlZCBhcyA9 MTgwPS4gIFNldHRpbmcgYW4gYWJzb2x1dGUgdmFsdWUgaXMgZGlzY291cmFnZWQsIGFzIGl0CiAg d2lsbCBicmVhayB0aGUgbGF5b3V0IGluIGNhc2VzIHdoZXJlIHRoZSBiYXNlIGZvbnQgc2l6ZSBt dXN0IGNoYW5nZSwKICBzdWNoIGFzIHdpdGggdGhlIH50ZXh0LXNjYWxlLWFkanVzdH4gY29tbWFu ZCAoW1sjaDpkZWZjZjRmYy04ZmE4LTRjMjktYjEyZS03MTE5NTgyY2M5MjldW0ZvbnQgY29uZmln dXJhdGlvbnNdXSkuCiAgV2hpbGUgd2UgZGlzY291cmFnZSB1c2luZyBhYnNvbHV0ZSB2YWx1ZXMs IHdlIHN0aWxsIHByb3ZpZGUgZm9yIHRoaXMKICBvcHRpb24gZm9yIHVzZXJzIHdobyBkbyBub3Qg bmVlZCB0byBwZXJmb3JtIHRleHQtc2NhbGluZyBvcGVyYXRpb25zIG9yCiAgd2hvIGFyZSBjb250 ZW50IHdpdGggd2hhdGV2ZXIgZGlzY3JlcGFuY2llcyBpbiBoZWlnaHQuCgpCZWxvdyBhcmUgdGhl IHZhcmlhYmxlcyBpbiB0aGVpciBkZWZhdWx0IHZhbHVlcywgdXNpbmcgdGhlIGZsb2F0aW5nCnBv aW50IHBhcmFkaWdtLiAgVGhlIG51bWJlcnMgYXJlIHZlcnkgY29uc2VydmF0aXZlLCBidXQgb25l IGlzIGZyZWUgdG8KY2hhbmdlIHRoZW0gdG8gdGhlaXIgbGlraW5nLCBzdWNoIGFzID0xLjI9LCA9 MS40PSwgPTEuNj0sID0xLjg9LCA9Mi4wPS0tLW9yIHVzZSBhCnJlc291cmNlIGZvciBmaW5kaW5n IGEgY29uc2lzdGVudCBzY2FsZToKCiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKHNldHEgbW9kdXMt dGhlbWVzLXNjYWxlLTEgMS4wNQogICAgICBtb2R1cy10aGVtZXMtc2NhbGUtMiAxLjEKICAgICAg bW9kdXMtdGhlbWVzLXNjYWxlLTMgMS4xNQogICAgICBtb2R1cy10aGVtZXMtc2NhbGUtNCAxLjIK ICAgICAgbW9kdXMtdGhlbWVzLXNjYWxlLTUgMS4zKQojK2VuZF9zcmMKCkFzIGZvciB0aGUgYXBw bGljYXRpb24gb2YgdGhhdCBzY2FsZSwgdGhlIHZhcmlhYmxlcyB0aGF0IHJhbmdlIGZyb20Kfm1v ZHVzLXRoZW1lcy1zY2FsZS0xfiB1cCB0byB+bW9kdXMtdGhlbWVzLXNjYWxlLTR+IGFwcGx5IHRv IHJlZ3VsYXIKaGVhZGluZ3Mgd2l0aGluIHRoZSBjb250ZXh0IG9mIHRoZSBnaXZlbiBtYWpvciBt b2RlLiAgVGhlIGZvcm1lciBpcyB0aGUKc21hbGxlc3QsIHdoaWxlIHRoZSBsYXR0ZXIgaXMgdGhl IGxhcmdlc3QuICAiUmVndWxhciBoZWFkaW5ncyIgYXJlIHRob3NlCnRoYXQgaGF2ZSBhIHN0YW5k YXJkIHN5bnRheCBmb3IgdGhlaXIgc2NhbGUsIHN1Y2ggYXMgT3JnIG1vZGUncyBlaWdodApsZXZl bHMgb2YgYXN0ZXJpc2tzIG9yIE1hcmtkb3duJ3Mgc2l4IGNvbHVtbnMuCgpXaGVyZWFzIH5tb2R1 cy10aGVtZXMtc2NhbGUtNX4gaXMgYXBwbGllZCB0byBzcGVjaWFsIGhlYWRpbmdzIHRoYXQgZG8g bm90CmNvbmZvcm0gd2l0aCB0aGUgYWZvcmVtZW50aW9uZWQgc3ludGF4LCB5ZXQgd2hpY2ggYXJl IGV4cGVjdGVkIHRvIGJlCmxhcmdlciB0aGFuIHRoZSBsYXJnZXN0IHZhbHVlIG9uIHRoYXQgaW1w bGllZCBzY2FsZS4gIFB1dCBjb25jcmV0ZWx5LApPcmcncyA9Iyt0aXRsZT0gbWV0YSBkYXR1bSBp cyBub3QgcGFydCBvZiB0aGUgZWlnaHQgbGV2ZWxzIG9mIGhlYWRpbmdzIGluCmFuIE9yZyBmaWxl LCB5ZXQgaXMgc3VwcG9zZWQgdG8gc2lnbmlmeSB0aGUgcHJpbWFyeSBoZWFkZXIuICBTaW1pbGFy bHksCnRoZSBPcmcgQWdlbmRhJ3Mgc3RydWN0dXJlIGhlYWRpbmdzIGFyZSBub3QgcGFydCBvZiBh IHJlY29nbmlzYWJsZSBzY2FsZQphbmQgc28gdGhleSBhbHNvIGdldCB+bW9kdXMtdGhlbWVzLXNj YWxlLTV+LgoKVXNlcnMgd2hvIHdpc2ggdG8gbWFpbnRhaW4gc2NhbGVkIGhlYWRpbmdzIGZvciB0 aGUgbm9ybWFsIHN5bnRheCB3aGlsZQpwcmV2ZW50aW5nIHNwZWNpYWwgaGVhZGluZ3MgZnJvbSBz dGFuZGluZyBvdXQsIGNhbiBhc3NpZ24gYSB2YWx1ZSBvZiA9MS4wPQp0byB+bW9kdXMtdGhlbWVz LXNjYWxlLTV+IHRvIG1ha2UgaXQgdGhlIHNhbWUgYXMgYm9keSB0ZXh0IChvciB3aGF0ZXZlcgp2 YWx1ZSB3b3VsZCByZW5kZXIgaXQgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSB0aGUgZGVzaXJlZCBw b2ludCBvZgpyZWZlcmVuY2UpLgoKTm90ZSB0aGF0IGluIGVhcmxpZXIgdmVyc2lvbnMgb2YgT3Jn LCBzY2FsaW5nIHdvdWxkIG9ubHkgaW5jcmVhc2UgdGhlCnNpemUgb2YgdGhlIGhlYWRpbmcsIGJ1 dCBub3Qgb2Yga2V5d29yZHMgdGhhdCB3ZXJlIGFkZGVkIHRvIGl0LCBsaWtlCiJUT0RPIi4gIFRo ZSBpc3N1ZSBoYXMgYmVlbiBmaXhlZCB1cHN0cmVhbToKPGh0dHBzOi8vcHJvdGVzaWxhb3MuY29t L2NvZGVsb2cvMjAyMC0wOS0yNC1vcmctaGVhZGluZ3MtYWRhcHQvPi4KCioqIE9wdGlvbiBmb3Ig dmFyaWFibGUtcGl0Y2ggZm9udCBpbiBVSSBlbGVtZW50cwo6cHJvcGVydGllczoKOmFsdF90aXRs ZTogVUkgdHlwZWZhY2UKOmRlc2NyaXB0aW9uOiBUb2dnbGUgdGhlIHVzZSBvZiB2YXJpYWJsZS1w aXRjaCBhY3Jvc3MgdGhlIFVzZXIgSW50ZXJmYWNlCjpjdXN0b21faWQ6IGg6MTZjZjY2NmMtNWU2 NS00MjRjLWE4NTUtN2VhOGE0YTFmY2FjCjplbmQ6CiMrdmluZGV4OiBtb2R1cy10aGVtZXMtdmFy aWFibGUtcGl0Y2gtdWkKClN5bWJvbDogfm1vZHVzLXRoZW1lcy12YXJpYWJsZS1waXRjaC11aX4K ClBvc3NpYmxlIHZhbHVlczoKCjEuID1uaWw9IChkZWZhdWx0KQoyLiA9dD0KClRoaXMgb3B0aW9u IGNvbmNlcm5zIFVzZXIgSW50ZXJmYWNlIGVsZW1lbnRzIHRoYXQgYXJlIHVuZGVyIHRoZSBkaXJl Y3QKY29udHJvbCBvZiBFbWFjcy4gIEluIHBhcnRpY3VsYXI6IHRoZSBtb2RlIGxpbmUsIGhlYWRl ciBsaW5lLCB0YWIgYmFyLAphbmQgdGFiIGxpbmUuCgpUaGUgZGVmYXVsdCBpcyB0byB1c2UgdGhl IHNhbWUgZm9udCBhcyB0aGUgcmVzdCBvZiBFbWFjcywgd2hpY2ggdXN1YWxseQppcyBhIG1vbm9z cGFjZWQgZmFtaWx5LgoKV2l0aCBhIG5vbi1uaWwgdmFsdWUgKD10PSkgYXBwbHkgYSBwcm9wb3J0 aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlLiAgVGhpcwppcyBkb25lIGJ5IGFzc2lnbmluZyB0aGUg fnZhcmlhYmxlLXBpdGNofiBmYWNlIHRvIHRoZSByZWxldmFudCBpdGVtcy4KCltbI2g6ZGVmY2Y0 ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRpb25zIGZvciBP cmcgYW5kIG90aGVyc11dLgoKKiogT3B0aW9uIGZvciB2YXJpYWJsZS1waXRjaCBmb250IGluIGhl YWRpbmdzCjpwcm9wZXJ0aWVzOgo6YWx0X3RpdGxlOiBIZWFkaW5ncycgdHlwZWZhY2UKOmRlc2Ny aXB0aW9uOiBUb2dnbGUgdGhlIHVzZSBvZiB2YXJpYWJsZS1waXRjaCBpbiBoZWFkaW5ncwo6Y3Vz dG9tX2lkOiBoOjk3Y2FjYTc2LWZhMTMtNDU2Yy1hZWYxLWEyYWExNjVlYTI3NAo6ZW5kOgojK3Zp bmRleDogbW9kdXMtdGhlbWVzLXZhcmlhYmxlLXBpdGNoLWhlYWRpbmdzCgpTeW1ib2w6IH5tb2R1 cy10aGVtZXMtdmFyaWFibGUtcGl0Y2gtaGVhZGluZ3N+CgpQb3NzaWJsZSB2YWx1ZXM6CgoxLiA9 bmlsPSAoZGVmYXVsdCkKMi4gPXQ9CgpUaGUgZGVmYXVsdCBpcyB0byB1c2UgdGhlIG1haW4gZm9u dCBmYW1pbHksIHdoaWNoIHR5cGljYWxseSBpcwptb25vc3BhY2VkLgoKV2l0aCBhIG5vbi1uaWwg dmFsdWUgKD10PSkgYXBwbHkgYSBwcm9wb3J0aW9uYXRlbHkgc3BhY2VkIHR5cGVmYWNlLCBlbHNl CiJ2YXJpYWJsZS1waXRjaCIsIHRvIGhlYWRpbmdzIChzdWNoIGFzIGluIE9yZyBtb2RlKS4KCltb I2g6ZGVmY2Y0ZmMtOGZhOC00YzI5LWIxMmUtNzExOTU4MmNjOTI5XVtGb250IGNvbmZpZ3VyYXRp b25zIGZvciBPcmcgYW5kIG90aGVyc11dLgoKKiBBZHZhbmNlZCBjdXN0b21pemF0aW9uIChkby1p dC15b3Vyc2VsZikKOnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6ZjQ2NTFkNTUtOGMwNy00NmFh LWI1MmItYmVkMWU1MzQ2M2JiCjplbmQ6CgpVbmxpa2UgdGhlIHByZWRlZmluZWQgY3VzdG9taXph dGlvbiBvcHRpb25zIHdoaWNoIGZvbGxvdyBhIGNsZWFyIHBhdHRlcm4Kb2YgYWxsb3dpbmcgdGhl IHVzZXIgdG8gcXVpY2tseSBzcGVjaWZ5IHRoZWlyIHByZWZlcmVuY2UsIHRoZSB0aGVtZXMKYWxz byBwcm92aWRlIGEgbW9yZSBmbGV4aWJsZSwgYWxiZWl0IGRpZmZpY3VsdCwgbWVjaGFuaXNtIHRv IGNvbnRyb2wKdGhpbmdzIHdpdGggcHJlY2lzaW9uIChbWyNoOmJmMWM4MmYyLTQ2YzctNGViMi1h ZDAwLWRkMTFmZGQ4YjUzZl1bQ3VzdG9taXphdGlvbiBPcHRpb25zXV0pLgoKVGhpcyBzZWN0aW9u IGlzIG9mIGludGVyZXN0IG9ubHkgdG8gdXNlcnMgd2hvIGFyZSBwcmVwYXJlZCB0byBtYWludGFp bgp0aGVpciBvd24gbG9jYWwgdHdlYWtzIGFuZCB3aG8gYXJlIHdpbGxpbmcgdG8gZGVhbCB3aXRo IGFueSBwb3NzaWJsZQppbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIHZlcnNpb25lZCByZWxlYXNl cyBvZiB0aGUgdGhlbWVzLiAgQXMgc3VjaCwKdGhleSBhcmUgbGFiZWxsZWQgYXMgImRvLWl0LXlv dXJzZWxmIiBvciAiRElZIi4KCioqIFBlci10aGVtZSBjdXN0b21pemF0aW9uIHNldHRpbmdzIChE SVkpCjpwcm9wZXJ0aWVzOgo6Y3VzdG9tX2lkOiBoOmE4OTdiMzAyLThlMTAtNGEyNi1iZWFiLTNj YWFlZTFlMTE5Mwo6ZW5kOgoKSWYgeW91IHByZWZlciB0byBtYWludGFpbiBkaWZmZXJlbnQgY3Vz dG9taXphdGlvbiBvcHRpb25zIGJldHdlZW4gdGhlCnR3byB0aGVtZXMsIGl0IGlzIGJlc3QgeW91 IHdyaXRlIHlvdXIgb3duIGZ1bmN0aW9ucyB0aGF0IGZpcnN0IHNldCB0aG9zZQpvcHRpb25zIGFu ZCB0aGVuIGxvYWQgdGhlIHJlbGV2YW50IHRoZW1lLiAgVGhlIGZvbGxvd2luZyBjb2RlIGRvZXMK ZXhhY3RseSB0aGF0IGJ5IHNpbXBseSBkaWZmZXJlbnRpYXRpbmcgdGhlIHR3byB0aGVtZXMgb24g dGhlIGNob2ljZSBvZgpib2xkIGNvbnN0cnVjdHMgaW4gY29kZSBzeW50YXggKGVuYWJsZWQgZm9y IG9uZSwgZGlzYWJsZWQgZm9yIHRoZQpvdGhlcikuCgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCihk ZWZ1biBteS1kZW1vLW1vZHVzLW9wZXJhbmRpICgpCiAgKGludGVyYWN0aXZlKQogIChzZXRxIG1v ZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMgdCkgOyBFTkFCTEUgYm9sZAogIChtb2R1cy10aGVt ZXMtbG9hZC1vcGVyYW5kaSkpCgooZGVmdW4gbXktZGVtby1tb2R1cy12aXZlbmRpICgpCiAgKGlu dGVyYWN0aXZlKQogIChzZXRxIG1vZHVzLXRoZW1lcy1ib2xkLWNvbnN0cnVjdHMgbmlsKSA7IERJ U0FCTEUgYm9sZAogIChtb2R1cy10aGVtZXMtbG9hZC12aXZlbmRpKSkKCihkZWZ1biBteS1kZW1v LW1vZHVzLXRoZW1lcy10b2dnbGUgKCkKICAoaWYgKGVxIChjYXIgY3VzdG9tLWVuYWJsZWQtdGhl bWVzKSAnbW9kdXMtb3BlcmFuZGkpCiAgICAgIChteS1kZW1vLW1vZHVzLXZpdmVuZGkpCiAgICAo bXktZGVtby1tb2R1cy1vcGVyYW5kaSkpKQojK2VuZF9zcmMKClRoZW4gYXNzaWduIH5teS1kZW1v LW1vZHVzLXRoZW1lcy10b2dnbGV+IHRvIGEga2V5IGluc3RlYWQgb2YgdGhlCmVxdWl2YWxlbnQg dGhlIHRoZW1lcyBwcm92aWRlLgoKRm9yIGEgbW9yZSBlbGFib3JhdGUgZGVzaWduLCBpdCBpcyBi ZXR0ZXIgdG8gaW5zcGVjdCB0aGUgc291cmNlIGNvZGUgb2YKfm1vZHVzLXRoZW1lcy10b2dnbGV+ IGFuZCByZWxldmFudCBmdW5jdGlvbnMuCgoqKiBDYXNlLWJ5LWNhc2UgZmFjZSBzcGVjcyB1c2lu ZyB0aGUgdGhlbWVzJyBwYWxldHRlIChESVkpCjpwcm9wZXJ0aWVzOgo6Y3VzdG9tX2lkOiBoOjE0 ODdjNjMxLWY0ZmUtNDkwZC04ZDU4LWQ3MmZmYTNiZDQ3NAo6ZW5kOgojK2ZpbmRleDogbW9kdXMt dGhlbWVzLWNvbG9yCiMrZmluZGV4OiBtb2R1cy10aGVtZXMtY29sb3ItYWx0cwojK2NpbmRleDog RXh0cmFjdGluZyBpbmRpdmlkdWFsIGNvbG9ycwoKVGhpcyBzZWN0aW9uIGlzIGFib3V0IHR3ZWFr aW5nIGluZGl2aWR1YWwgZmFjZXMuICBJZiB5b3UgcGxhbiB0byBkbwp0aGluZ3MgYXQgc2NhbGUs IGNvbnN1bHQgdGhlIG5leHQgc2VjdGlvbjogW1sjaDo1MWJhMzU0Ny1iOGM4LTQwZDYtYmE1YS00 NTg2NDc3ZmQ0YWVdW1NldCBtdWx0aXBsZSBmYWNlc11dLgoKV2UgYWxyZWFkeSBjb3ZlcmVkIGlu IHByZXZpb3VzIHNlY3Rpb25zIGhvdyB0byB0b2dnbGUgYmV0d2VlbiB0aGUgdGhlbWVzCmFuZCBo b3cgdG8gY29uZmlndXJlIG9wdGlvbnMgcHJpb3IgdG8gbG9hZGluZy4gIFdlIGFsc28gZXhwbGFp bmVkIHRoYXQKc29tZSBvZiB0aGUgZnVuY3Rpb25zIG1hZGUgYXZhaWxhYmxlIHRvIHVzZXJzIHdp bGwgZmlyZSB1cCBhIGhvb2sgdGhhdApjYW4gYmUgdXNlZCB0byBwYXNzIHR3ZWFrcyBpbiB0aGUg cG9zdC10aGVtZS1sb2FkIHBoYXNlLgoKTm93IGFzc3VtZSB5b3Ugd2lzaCB0byBjaGFuZ2UgYSBz aW5nbGUgZmFjZSwgc2F5LCB0aGUgfmN1cnNvcn4uICBBbmQgeW91CndvdWxkIGxpa2UgdG8gZ2V0 IHRoZSBzdGFuZGFyZCAiYmx1ZSIgY29sb3IgdmFsdWUgb2YgdGhlIGFjdGl2ZSBNb2R1cwp0aGVt ZSwgd2hldGhlciBpdCBpcyBNb2R1cyBPcGVyYW5kaSBvciBNb2R1cyBWaXZlbmRpLiAgVG8gZG8g dGhhdCwgeW91CmNhbiB1c2UgdGhlIH5tb2R1cy10aGVtZXMtY29sb3J+IGZ1bmN0aW9uLiAgSXQg YWNjZXB0cyBhIHN5bWJvbCB0aGF0IGlzCmFzc29jaWF0ZWQgd2l0aCBhIGNvbG9yIGluIH5tb2R1 cy10aGVtZXMtb3BlcmFuZGktY29sb3JzfiBhbmQKfm1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9y c34uICBMaWtlIHRoaXM6CgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCihtb2R1cy10aGVtZXMtY29s b3IgJ2JsdWUpCiMrZW5kX3NyYwoKVGhlIGZ1bmN0aW9uIGFsd2F5cyBleHRyYWN0cyB0aGUgY29s b3IgdmFsdWUgb2YgdGhlIGFjdGl2ZSBNb2R1cyB0aGVtZS4KCiMrYmVnaW5fc3JjIGVtYWNzLWxp c3AKKHByb2duCiAgKGxvYWQtdGhlbWUgJ21vZHVzLW9wZXJhbmRpIHQpCiAgKG1vZHVzLXRoZW1l cy1jb2xvciAnYmx1ZSkpICAgICAgICAgICA7ICIjMDAzMWE5IiBmb3IgYG1vZHVzLW9wZXJhbmRp JwoKKHByb2duCiAgKGxvYWQtdGhlbWUgJ21vZHVzLXZpdmVuZGkgdCkKICAobW9kdXMtdGhlbWVz LWNvbG9yICdibHVlKSkgICAgICAgICAgIDsgIiMyZmFmZmYiIGZvciBgbW9kdXMtdml2ZW5kaScK IytlbmRfc3JjCgpEbyB7e3trYmQoQy1oIHYpfX19IG9uIHRoZSBhZm9yZW1lbnRpb25lZCB2YXJp YWJsZXMgdG8gY2hlY2sgYWxsIHRoZSBhdmFpbGFibGUKc3ltYm9scyB0aGF0IGNhbiBiZSBwYXNz ZWQgdG8gdGhpcyBmdW5jdGlvbi4KCldpdGggdGhhdCBncmFudGVkLCBsZXQgdXMgZXhwYW5kIHRo ZSBleGFtcGxlIHRvIGFjdHVhbGx5IGNoYW5nZSB0aGUKfmN1cnNvcn4gZmFjZSdzIGJhY2tncm91 bmQgcHJvcGVydHkuICBXZSBlbXBsb3kgdGhlIGJ1aWx0LWluIGZ1bmN0aW9uIG9mCn5zZXQtZmFj ZS1hdHRyaWJ1dGV+OgoKIytiZWdpbl9zcmMgZW1hY3MtbGlzcAooc2V0LWZhY2UtYXR0cmlidXRl ICdjdXJzb3IgbmlsIDpiYWNrZ3JvdW5kIChtb2R1cy10aGVtZXMtY29sb3IgJ2JsdWUpKQojK2Vu ZF9zcmMKCklmIHlvdSBldmFsdWF0ZSB0aGlzIGZvcm0sIHlvdXIgY3Vyc29yIHdpbGwgYmVjb21l IGJsdWUuICBCdXQgaWYgeW91CmNoYW5nZSB0aGVtZXMsIHN1Y2ggYXMgd2l0aCB+bW9kdXMtdGhl bWVzLXRvZ2dsZX4sIHlvdXIgZWRpdHMgd2lsbCBiZQpsb3N0LCBiZWNhdXNlIHRoZSBuZXdseSBs b2FkZWQgdGhlbWUgd2lsbCBvdmVycmlkZSB0aGUgPTpiYWNrZ3JvdW5kPQphdHRyaWJ1dGUgeW91 IGhhZCBhc3NpZ25lZCB0byB0aGF0IGZhY2UuCgpGb3Igc3VjaCBjaGFuZ2VzIHRvIHBlcnNpc3Qs IHdlIG5lZWQgdG8gbWFrZSB0aGVtIGFmdGVyIGxvYWRpbmcgdGhlCnRoZW1lLiAgU28gd2UgcmVs eSBvbiB+bW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9va34sIHdoaWNoIGdldHMKY2Fs bGVkIGZyb20gfm1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpfiwgfm1vZHVzLXRoZW1lcy1sb2Fk LXZpdmVuZGl+LCBhcwp3ZWxsIGFzIHRoZSBjb21tYW5kIH5tb2R1cy10aGVtZXMtdG9nZ2xlfi4g IEhlcmUgaXMgYSBzYW1wbGUgZnVuY3Rpb24gdGhhdAp0d2Vha3MgdHdvIGZhY2VzIGFuZCB0aGVu IGdldHMgYWRkZWQgdG8gdGhlIGhvb2s6CgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCihkZWZ1biBt eS1tb2R1cy10aGVtZXMtY3VzdG9tLWZhY2VzICgpCiAgKHNldC1mYWNlLWF0dHJpYnV0ZSAnY3Vy c29yIG5pbCA6YmFja2dyb3VuZCAobW9kdXMtdGhlbWVzLWNvbG9yICdibHVlKSkKICAoc2V0LWZh Y2UtYXR0cmlidXRlICdmb250LWxvY2stdHlwZS1mYWNlIG5pbCA6Zm9yZWdyb3VuZCAobW9kdXMt dGhlbWVzLWNvbG9yICdtYWdlbnRhLWFsdCkpKQoKKGFkZC1ob29rICdtb2R1cy10aGVtZXMtYWZ0 ZXItbG9hZC10aGVtZS1ob29rICMnbXktbW9kdXMtdGhlbWVzLWN1c3RvbS1mYWNlcykKIytlbmRf c3JjCgpbWyNoOjg2ZjY5MDZiLWYwOTAtNDZjYy05ODE2LTFmZThhZWIzODc3Nl1bQSB0aGVtZS1h Z25vc3RpYyBob29rIGZvciB0aGVtZSBsb2FkaW5nXV0uCgpVc2luZyB0aGlzIHByaW5jaXBsZSwg aXQgaXMgcG9zc2libGUgdG8gb3ZlcnJpZGUgdGhlIHN0eWxlcyBvZiBmYWNlcwp3aXRob3V0IGhh dmluZyB0byBmaW5kIGNvbG9yIHZhbHVlcyBmb3IgZWFjaCBjYXNlLgoKQW5vdGhlciBhcHBsaWNh dGlvbiBpcyB0byBjb250cm9sIHRoZSBwcmVjaXNlIHdlaWdodCBmb3IgYm9sZApjb25zdHJ1Y3Rz LiAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIHlvdXIgdHlwZWZhY2UgaGFzIHNldmVy YWwKdmFyaWFudHMgc3VjaCBhcyAiaGVhdnkiLCAiZXh0cmFib2xkIiwgInNlbWlib2xkIi4gIEFs bCB5b3UgaGF2ZSB0byBkbwppcyBlZGl0IHRoZSB+Ym9sZH4gZmFjZS4gIEZvciBleGFtcGxlOgoK IytiZWdpbl9zcmMgZW1hY3MtbGlzcAooc2V0LWZhY2UtYXR0cmlidXRlICdib2xkIG5pbCA6d2Vp Z2h0ICdzZW1pYm9sZCkKIytlbmRfc3JjCgpSZW1lbWJlciB0byB1c2UgdGhlIGN1c3RvbSBmdW5j dGlvbiBhbmQgaG9vayBjb21ibyB3ZSBkZW1vbnN0cmF0ZWQKYWJvdmUuICBCZWNhdXNlIHRoZSB0 aGVtZXMgZG8gbm90IGhhcmQtd2lyZSBhIHNwZWNpZmljIHdlaWdodCwgdGhpcwpzaW1wbGUgZm9y bSBpcyBlbm91Z2ggdG8gY2hhbmdlIHRoZSB3ZWlnaHQgb2YgYWxsIGJvbGQgY29uc3RydWN0cwp0 aHJvdWdob3V0IHRoZSBpbnRlcmZhY2UuCgpGaW5hbGx5LCB0aGVyZSBhcmUgY2FzZXMgd2hlcmUg eW91IHdhbnQgdG8gdHdlYWsgY29sb3JzIHRob3VnaCB3aXNoIHRvCmFwcGx5IGRpZmZlcmVudCBv bmVzIHRvIGVhY2ggdGhlbWUsIHNheSwgYSBibHVlIGh1ZSBmb3IgTW9kdXMgT3BlcmFuZGkKYW5k IGEgc2hhZGUgb2YgcmVkIGZvciBNb2R1cyBWaXZlbmRpLiAgVG8gdGhpcyBlbmQsIHdlIHByb3Zp ZGUKfm1vZHVzLXRoZW1lcy1jb2xvci1hbHRzfiBhcyBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRv IHNhdmUgeW91IGZyb20gdGhlCnRyb3VibGUgb2Ygd3JpdGluZyBzZXBhcmF0ZSB3cmFwcGVycyBm b3IgZWFjaCB0aGVtZS4gIEl0IHN0aWxsIHJldHVybnMgYQpzaW5nbGUgdmFsdWUgYnkgcXVlcnlp bmcgZWl0aGVyIG9mIH5tb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3JzfiBhbmQKfm1vZHVzLXRo ZW1lcy12aXZlbmRpLWNvbG9yc34sIG9ubHkgaGVyZSB5b3UgcGFzcyB0aGUgdHdvIGtleXMgeW91 IHdhbnQsCmZpcnN0IGZvciB+bW9kdXMtb3BlcmFuZGl+IHRoZW4gfm1vZHVzLXZpdmVuZGl+LgoK VGFrZSB0aGUgcHJldmlvdXMgZXhhbXBsZSB3aXRoIHRoZSB+Y3Vyc29yfiBmYWNlOgoKIytiZWdp bl9zcmMgZW1hY3MtbGlzcAo7OyBCbHVlIGZvciBgbW9kdXMtb3BlcmFuZGknIGFuZCByZWQgZm9y IGBtb2R1cy12aXZlbmRpJwooc2V0LWZhY2UtYXR0cmlidXRlICdjdXJzb3IgbmlsIDpiYWNrZ3Jv dW5kIChtb2R1cy10aGVtZXMtY29sb3ItYWx0cyAnYmx1ZSAncmVkKSkKIytlbmRfc3JjCgoqKiBG YWNlIHNwZWNzIGF0IHNjYWxlIHVzaW5nIHRoZSB0aGVtZXMnIHBhbGV0dGUgKERJWSkKOnByb3Bl cnRpZXM6CjpjdXN0b21faWQ6IGg6NTFiYTM1NDctYjhjOC00MGQ2LWJhNWEtNDU4NjQ3N2ZkNGFl CjplbmQ6CiMrZmluZGV4OiBtb2R1cy10aGVtZXMtd2l0aC1jb2xvcnMKIytjaW5kZXg6IEV4dHJh Y3RpbmcgY29sb3JzIGVuIG1hc3NlCgpUaGUgZXhhbXBsZXMgaGVyZSBhcmUgZm9yIGxhcmdlIHNj YWxlIG9wZXJhdGlvbnMuICBGb3Igc2ltcGxlLCBvbmUtb2ZmCnR3ZWFrcywgeW91IG1heSBwcmVm ZXIgdGhlIGFwcHJvYWNoIGRvY3VtZW50ZWQgaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24KKFtbI2g6 MTQ4N2M2MzEtZjRmZS00OTBkLThkNTgtZDcyZmZhM2JkNDc0XVtDYXNlLWJ5LWNhc2UgZmFjZSBz cGVjcyB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0pLgoKVGhlIH5tb2R1cy10aGVtZXMtd2l0 aC1jb2xvcnN+IG1hY3JvIGxldHMgeW91IHJldHJpZXZlIG11bHRpcGxlIGNvbG9yCnZhbHVlcyBi eSBlbXBsb3lpbmcgdGhlIGJhY2txdW90ZS9iYWNrdGljayBhbmQgY29tbWEgbm90YXRpb24uICBU aGUKdmFsdWVzIGFyZSBzdG9yZWQgaW4gdGhlIGFsaXN0cyB+bW9kdXMtdGhlbWVzLW9wZXJhbmRp LWNvbG9yc34gYW5kCn5tb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnN+LCB3aGlsZSB0aGUgbWFj cm8gYWx3YXlzIHF1ZXJpZXMgdGhhdCBvZiB0aGUKYWN0aXZlIE1vZHVzIHRoZW1lLgoKSGVyZSBp cyBhbiBhYnN0cmFjdCBleGFtcGxlIHRoYXQganVzdCByZXR1cm5zIGEgbGlzdCBvZiBjb2xvciB2 YWx1ZXMKd2hpbGUgfm1vZHVzLW9wZXJhbmRpfiBpcyBlbmFibGVkOgoKIytiZWdpbl9zcmMgZW1h Y3MtbGlzcAoobW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzCiAgKGxpc3QgZmctbWFpbgogICAgICAg IGJsdWUtZmFpbnQKICAgICAgICBtYWdlbnRhCiAgICAgICAgbWFnZW50YS1hbHQtb3RoZXIKICAg ICAgICBjeWFuLWFsdC1vdGhlcgogICAgICAgIGZnLXNwZWNpYWwtY29sZAogICAgICAgIGJsdWUt YWx0CiAgICAgICAgbWFnZW50YS1mYWludAogICAgICAgIGN5YW4KICAgICAgICBmZy1tYWluCiAg ICAgICAgZ3JlZW4tZmFpbnQKICAgICAgICByZWQtYWx0LWZhaW50CiAgICAgICAgYmx1ZS1hbHQt ZmFpbnQKICAgICAgICBmZy1zcGVjaWFsLXdhcm0KICAgICAgICBjeWFuLWFsdAogICAgICAgIGJs dWUpKQo7OyA9Pgo7OyAoIiMwMDAwMDAiICIjMDAyZjg4IiAiIzcyMTA0NSIgIiM1MzE3YWMiCjs7 ICAiIzAwNWE1ZiIgIiMwOTMwNjAiICIjMjU0NGJiIiAiIzc1MmY1MCIKOzsgICIjMDA1MzhiIiAi IzAwMDAwMCIgIiMxMDQ0MTAiICIjNzAyZjAwIgo7OyAgIiMwMDNmNzgiICIjNWQzMDI2IiAiIzMw NTE3ZiIgIiMwMDMxYTkiKQojK2VuZF9zcmMKCkdldHRpbmcgYSBsaXN0IG9mIGNvbG9ycyBtYXkg aGF2ZSBpdHMgYXBwbGljYXRpb25zLCB0aG91Z2ggd2hhdCB5b3UgYXJlCm1vc3QgbGlrZWx5IGlu dGVyZXN0ZWQgaW4gaXMgaG93IHRvIHVzZSB0aG9zZSB2YXJpYWJsZXMgdG8gY29uZmlndXJlCnNl dmVyYWwgZmFjZXMgYXQgb25jZS4gIFRvIGRvIHNvIHdlIGNhbiByZWx5IG9uIHRoZSBidWlsdC1p bgp+Y3VzdG9tLXNldC1mYWNlc34gZnVuY3Rpb24sIHdoaWNoIHNldHMgZmFjZSBzcGVjaWZpY2F0 aW9ucyBmb3IgdGhlCnNwZWNpYWwgPXVzZXI9IHRoZW1lLiAgVGhhdCAidGhlbWUiIGdldHMgYXBw bGllZCBvbiB0b3Agb2YgcmVndWxhciB0aGVtZXMKbGlrZSB+bW9kdXMtb3BlcmFuZGl+IGFuZCB+ bW9kdXMtdml2ZW5kaX4uCgpUaGlzIGlzIGhvdyBpdCB3b3JrczoKCiMrYmVnaW5fc3JjIGVtYWNz LWxpc3AKKG1vZHVzLXRoZW1lcy13aXRoLWNvbG9ycwogIChjdXN0b20tc2V0LWZhY2VzCiAgIGAo Y3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlKSkpCiAgIGAobW9kZS1saW5lICgoLGNs YXNzIDpiYWNrZ3JvdW5kICx5ZWxsb3ctbnVhbmNlZC1iZwogICAgICAgICAgICAgICAgICAgICAg ICA6Zm9yZWdyb3VuZCAseWVsbG93LW51YW5jZWQtZmcpKSkKICAgYChtb2RlLWxpbmUtaW5hY3Rp dmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA6Zm9yZWdyb3VuZCAsYmx1ZS1udWFuY2VkLWZnKSkpKSkKIytlbmRf c3JjCgpUaGUgYWJvdmUgc25pcHBldCB3aWxsIGltbWVkaWF0ZWx5IHJlZmFzaGlvbiB0aGUgZmFj ZXMgaXQgbmFtZXMgb25jZSBpdAppcyBldmFsdWF0ZWQuICBIb3dldmVyLCBpZiB5b3Ugc3dpdGNo IGJldHdlZW4gdGhlIE1vZHVzIHRoZW1lcywgc2F5LApmcm9tIH5tb2R1cy1vcGVyYW5kaX4gdG8g fm1vZHVzLXZpdmVuZGl+LCB0aGUgY29sb3JzIHdpbGwgbm90IGdldCB1cGRhdGVkIHRvCm1hdGNo IHRob3NlIG9mIHRoZSBuZXcgdGhlbWUuICBUbyBtYWtlIHRoaW5ncyB3b3JrIGFjcm9zcyB0aGUg dGhlbWVzLCB3ZQpuZWVkIHRvIGVtcGxveSB0aGUgc2FtZSB0ZWNobmlxdWUgd2UgZGlzY3Vzc2Vk IGluIHRoZSBwcmV2aW91cyBzZWN0aW9uLApuYW1lbHksIHRvIHBhc3Mgb3VyIGNoYW5nZXMgYXQg dGhlIHBvc3QtdGhlbWUtbG9hZCBwaGFzZSB2aWEgYSBob29rLgoKVGhlIHRoZW1lcyBwcm92aWRl IHRoZSB+bW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9va34sIHdoaWNoIGdldHMKY2Fs bGVkIGZyb20gfm1vZHVzLXRoZW1lcy1sb2FkLW9wZXJhbmRpfiwgfm1vZHVzLXRoZW1lcy1sb2Fk LXZpdmVuZGl+LCBhcwp3ZWxsIGFzIHRoZSBjb21tYW5kIH5tb2R1cy10aGVtZXMtdG9nZ2xlfi4g IFdpdGggdGhpcyBrbm93bGVkZ2UsIHlvdSBjYW4Kd3JhcCB0aGUgbWFjcm8gaW4gYSBmdW5jdGlv biBhbmQgdGhlbiBhc3NpZ24gdGhhdCBmdW5jdGlvbiB0byB0aGUgaG9vay4KVGh1czoKCiMrYmVn aW5fc3JjIGVtYWNzLWxpc3AKKGRlZnVuIG15LW1vZHVzLXRoZW1lcy1jdXN0b20tZmFjZXMgKCkK ICAobW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzCiAgICAoY3VzdG9tLXNldC1mYWNlcwogICAgIGAo Y3Vyc29yICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxibHVlKSkpCiAgICAgYChtb2RlLWxpbmUgKCgs Y2xhc3MgOmJhY2tncm91bmQgLHllbGxvdy1udWFuY2VkLWJnCiAgICAgICAgICAgICAgICAgICAg ICAgICAgOmZvcmVncm91bmQgLHllbGxvdy1udWFuY2VkLWZnKSkpCiAgICAgYChtb2RlLWxpbmUt aW5hY3RpdmUgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtbnVhbmNlZC1iZwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxibHVlLW51YW5jZWQtZmcpKSkp KSkKCihhZGQtaG9vayAnbW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUtaG9vayAjJ215LW1v ZHVzLXRoZW1lcy1jdXN0b20tZmFjZXMpCiMrZW5kX3NyYwoKW1sjaDo4NmY2OTA2Yi1mMDkwLTQ2 Y2MtOTgxNi0xZmU4YWViMzg3NzZdW0EgdGhlbWUtYWdub3N0aWMgaG9vayBmb3IgdGhlbWUgbG9h ZGluZ11dLgoKVG8gZGlzY292ZXIgdGhlIGZhY2VzIGRlZmluZWQgYnkgYWxsIGxvYWRlZCBsaWJy YXJpZXMsIHlvdSBtYXkgZG8Ke3t7a2JkKE0teCBsaXN0LWZhY2VzLWRpc3BsYXkpfX19LiAgQmUg d2FybmVkIHRoYXQgd2hlbiB5b3UgPTppbmhlcml0PSBhIGZhY2UKeW91IGFyZSBpbnRyb2R1Y2lu ZyBhbiBpbXBsaWNpdCBkZXBlbmRlbmN5LCBzbyB0cnkgdG8gYXZvaWQgZG9pbmcgc28gZm9yCmxp YnJhcmllcyBvdGhlciB0aGFuIHRoZSBidWlsdC1pbiB7e3tmaWxlKGZhY2VzLmVsKX19fSAob3Ig YXQgbGVhc3QgdW5kZXJzdGFuZAp0aGF0IHRoaW5ncyBtYXkgYnJlYWsgaWYgeW91IGluaGVyaXQg ZnJvbSBhIHlldC10by1iZS1sb2FkZWQgZmFjZSkuCgpBbHNvIGJlYXIgaW4gbWluZCB0aGF0IHRo ZXNlIGV4YW1wbGVzIGFyZSBtZWFudCB0byB3b3JrIHdpdGggdGhlIE1vZHVzCnRoZW1lcy4gIElm IHlvdSBhcmUgY3ljbGluZyBiZXR3ZWVuIG11bHRpcGxlIHRoZW1lcyB5b3UgbWF5IGVuY291bnRl cgp1bmZvcmVzZWVuIGlzc3Vlcywgc3VjaCBhcyB0aGUgY29sb3JzIG9mIHRoZSBNb2R1cyB0aGVt ZXMgYmVpbmcgYXBwbGllZAp0byBhIG5vbi1Nb2R1cyBpdGVtLgoKRmluYWxseSwgbm90ZSB0aGF0 IHlvdSBjYW4gc3RpbGwgdXNlIG90aGVyIGZ1bmN0aW9ucyB3aGVyZSB0aG9zZSBtYWtlCnNlbnNl LiAgRm9yIGV4YW1wbGUsIHRoZSB+bW9kdXMtdGhlbWVzLWNvbG9yLWFsdHN+IHRoYXQgd2FzIGRp c2N1c3NlZCBpbgp0aGUgcHJldmlvdXMgc2VjdGlvbi4gIEFkYXB0IHRoZSBhYm92ZSBleGFtcGxl IGxpa2UgdGhpczoKCiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKLi4uCihtb2R1cy10aGVtZXMtd2l0 aC1jb2xvcnMKICAoY3VzdG9tLXNldC1mYWNlcwogICBgKGN1cnNvciAoKCxjbGFzcyA6YmFja2dy b3VuZCAsKG1vZHVzLXRoZW1lcy1jb2xvci1hbHRzICdibHVlICdncmVlbikpKSkKICAgLi4uKSkK IytlbmRfc3JjCgoqKiBPdmVycmlkZSBjb2xvcnMgKERJWSkKOnByb3BlcnRpZXM6CjpjdXN0b21f aWQ6IGg6MzA3ZDk1ZGQtOGRiZC00ZWNlLWE1NDMtMTBhZTg2ZjE1NWE2CjplbmQ6CiMrdmluZGV4 OiBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVzCiMrdmluZGV4OiBtb2R1cy10 aGVtZXMtdml2ZW5kaS1jb2xvci1vdmVycmlkZXMKIytjaW5kZXg6IENoYW5nZSBhIHRoZW1lJ3Mg Y29sb3JzCgpUaGUgdGhlbWVzIHByb3ZpZGUgYSBtZWNoYW5pc20gZm9yIG92ZXJyaWRpbmcgdGhl aXIgY29sb3IgdmFsdWVzLiAgVGhpcwppcyBjb250cm9sbGVkIGJ5IHRoZSB2YXJpYWJsZXMgfm1v ZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVycmlkZXN+IGFuZAp+bW9kdXMtdGhlbWVzLXZp dmVuZGktY29sb3Itb3ZlcnJpZGVzfiwgd2hpY2ggYXJlIGFsaXN0cyB0aGF0IHNob3VsZAptaXJy b3IgYSBzdWJzZXQgb2YgdGhlIGFzc29jaWF0aW9ucyBpbiB+bW9kdXMtdGhlbWVzLW9wZXJhbmRp LWNvbG9yc34gYW5kCn5tb2R1cy10aGVtZXMtdml2ZW5kaS1jb2xvcnN+IHJlc3BlY3RpdmVseS4g IEFzIHdpdGggYWxsIGN1c3RvbWlzYXRpb25zLApvdmVycmlkaW5nIG11c3QgYmUgZG9uZSBiZWZv cmUgbG9hZGluZyB0aGUgYWZmZWN0ZWQgdGhlbWUuCgpMZXQgdXMgYXBwcm9hY2ggdGhlIHByZXNl bnQgdG9waWMgb25lIHN0ZXAgYXQgYSB0aW1lLiAgSGVyZSBpcyBhCnNpbXBsaWZpZWQgZXhjZXJw dCBvZiB0aGUgZGVmYXVsdCBwYWxldHRlIGZvciBNb2R1cyBPcGVyYW5kaSB3aXRoIHNvbWUKYmFz aWMgYmFja2dyb3VuZCB2YWx1ZXMgdGhhdCBhcHBseSB0byBidWZmZXJzIGFuZCB0aGUgbW9kZSBs aW5lCihyZW1lbWJlciB0byBpbnNwZWN0IHRoZSBhY3R1YWwgdmFsdWUgdG8gZmluZCBvdXQgYWxs IHRoZSBhc3NvY2lhdGlvbnMKdGhhdCBjYW4gYmUgb3ZlcnJpZGRlbik6CgojK2JlZ2luX3NyYyBl bWFjcy1saXNwCihkZWZjb25zdCBtb2R1cy10aGVtZXMtY29sb3JzLW9wZXJhbmRpCiAgJygoYmct bWFpbiAuICIjZmZmZmZmIikKICAgIChiZy1kaW0gLiAiI2Y4ZjhmOCIpCiAgICAoYmctYWx0IC4g IiNmMGYwZjAiKQogICAgKGJnLWFjdGl2ZSAuICIjZDdkN2Q3IikKICAgIChiZy1pbmFjdGl2ZSAu ICIjZWZlZmVmIikpKQojK2VuZF9zcmMKCkFzIG9uZSBjYW4gdGVsbCwgd2UgYmluZCBhIGtleSB0 byBhIGhleGFkZWNpbWFsIFJHQiBjb2xvciB2YWx1ZS4gIE5vdwpzYXkgd2Ugd2lzaCB0byBvdmVy cmlkZSB0aG9zZSBzcGVjaWZpYyB2YWx1ZXMgYW5kIGhhdmUgb3VyIGNoYW5nZXMKcHJvcGFnYXRl IHRvIGFsbCBmYWNlcyB0aGF0IHVzZSB0aG9zZSBrZXlzLiAgV2UgY291bGQgd3JpdGUgc29tZXRo aW5nCmxpa2UgdGhpcywgd2hpY2ggYWRkcyBhIHN1YnRsZSBvY2hyZSB0aW50OgoKIytiZWdpbl9z cmMgZW1hY3MtbGlzcAooc2V0cSBtb2R1cy10aGVtZXMtb3BlcmFuZGktY29sb3Itb3ZlcnJpZGVz CiAgICAgICcoKGJnLW1haW4gLiAiI2ZlZmNmNCIpCiAgICAgICAgKGJnLWRpbSAuICIjZmFmNmVm IikKICAgICAgICAoYmctYWx0IC4gIiNmN2VmZTUiKQogICAgICAgIChiZy1hY3RpdmUgLiAiI2U4 ZGZkMSIpCiAgICAgICAgKGJnLWluYWN0aXZlIC4gIiNmNmVjZTUiKSkpCiMrZW5kX3NyYwoKT25j ZSB0aGlzIGlzIGV2YWx1YXRlZCwgYW55IHN1YnNlcXVlbnQgbG9hZGluZyBvZiB+bW9kdXMtb3Bl cmFuZGl+IHdpbGwKdXNlIHRob3NlIHZhbHVlcyBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0cy4gIE5v IGZ1cnRoZXIgaW50ZXJ2ZW50aW9uIGlzCnJlcXVpcmVkLgoKVG8gcmVzZXQgdGhlIGNoYW5nZXMs IHdlIGFwcGx5IHRoaXMgYW5kIHJlbG9hZCB0aGUgdGhlbWU6CgojK2JlZ2luX3NyYyBlbWFjcy1s aXNwCihzZXRxIG1vZHVzLXRoZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVycmlkZXMgbmlsKQojK2Vu ZF9zcmMKClVzZXJzIHdobyB3aXNoIHRvIGxldmVyYWdlIHN1Y2ggYSBtZWNoYW5pc20gY2FuIG9w dCB0byBpbXBsZW1lbnQgaXQKb24tZGVtYW5kIGJ5IG1lYW5zIG9mIGEgZ2xvYmFsIG1pbm9yIG1v ZGUuICBUaGUgZm9sbG93aW5nIHNuaXBwZXQgY292ZXJzCmJvdGggdGhlbWVzIGFuZCBleHBhbmRz IHRvIHNvbWUgbW9yZSBhc3Nvc2lhdGlvbnMgaW4gdGhlIHBhbGV0dGU6CgojK2JlZ2luX3NyYyBl bWFjcy1saXNwCihkZWZpbmUtbWlub3ItbW9kZSBteS1tb2R1cy10aGVtZXMtdGludGVkCiAgIlR3 ZWFrIHNvbWUgTW9kdXMgdGhlbWVzIGNvbG9ycy4iCiAgOmluaXQtdmFsdWUgbmlsCiAgOmdsb2Jh bCB0CiAgKGlmIG15LW1vZHVzLXRoZW1lcy10aW50ZWQKICAgICAgKHNldHEgbW9kdXMtdGhlbWVz LW9wZXJhbmRpLWNvbG9yLW92ZXJyaWRlcwogICAgICAgICAgICAnKChiZy1tYWluIC4gIiNmZWZj ZjQiKQogICAgICAgICAgICAgIChiZy1kaW0gLiAiI2ZhZjZlZiIpCiAgICAgICAgICAgICAgKGJn LWFsdCAuICIjZjdlZmU1IikKICAgICAgICAgICAgICAoYmctaGwtbGluZSAuICIjZjRmMGUzIikK ICAgICAgICAgICAgICAoYmctYWN0aXZlIC4gIiNlOGRmZDEiKQogICAgICAgICAgICAgIChiZy1p bmFjdGl2ZSAuICIjZjZlY2U1IikKICAgICAgICAgICAgICAoYmctcmVnaW9uIC4gIiNjNmJhYjEi KQogICAgICAgICAgICAgIChiZy1oZWFkZXIgLiAiI2VkZTNlMCIpCiAgICAgICAgICAgICAgKGJn LXRhYi1iYXIgLiAiI2RjZDNkMyIpCiAgICAgICAgICAgICAgKGJnLXRhYi1hY3RpdmUgLiAiI2Zk ZjZlYiIpCiAgICAgICAgICAgICAgKGJnLXRhYi1pbmFjdGl2ZSAuICIjYzhiYWI4IikKICAgICAg ICAgICAgICAoZmctdW5mb2N1c2VkIC4gIiM1NTU1NmYiKSkKICAgICAgICAgICAgbW9kdXMtdGhl bWVzLXZpdmVuZGktY29sb3Itb3ZlcnJpZGVzCiAgICAgICAgICAgICcoKGJnLW1haW4gLiAiIzEw MGIxNyIpCiAgICAgICAgICAgICAgKGJnLWRpbSAuICIjMTYxMTI5IikKICAgICAgICAgICAgICAo YmctYWx0IC4gIiMxODE3MzIiKQogICAgICAgICAgICAgIChiZy1obC1saW5lIC4gIiMxOTE2Mjgi KQogICAgICAgICAgICAgIChiZy1hY3RpdmUgLiAiIzI4MmU0NiIpCiAgICAgICAgICAgICAgKGJn LWluYWN0aXZlIC4gIiMxYTFlMzkiKQogICAgICAgICAgICAgIChiZy1yZWdpb24gLiAiIzM5M2E1 MyIpCiAgICAgICAgICAgICAgKGJnLWhlYWRlciAuICIjMjAyMDM3IikKICAgICAgICAgICAgICAo YmctdGFiLWJhciAuICIjMjYyYjQxIikKICAgICAgICAgICAgICAoYmctdGFiLWFjdGl2ZSAuICIj MTIwZjE4IikKICAgICAgICAgICAgICAoYmctdGFiLWluYWN0aXZlIC4gIiMzYTNhNWEiKQogICAg ICAgICAgICAgIChmZy11bmZvY3VzZWQgLiAiIzlhOWFhYiIpKSkKICAgIChzZXRxIG1vZHVzLXRo ZW1lcy1vcGVyYW5kaS1jb2xvci1vdmVycmlkZXMgbmlsCiAgICAgICAgICBtb2R1cy10aGVtZXMt dml2ZW5kaS1jb2xvci1vdmVycmlkZXMgbmlsKSkpCiMrZW5kX3NyYwoKV2l0aCB0aGlzIGluIHBs YWNlLCBvbmUgY2FuIGludm9rZSB7e3trYmQoTS14IG15LW1vZHVzLXRoZW1lcy10aW50ZWQpfX19 IGFuZAp0aGVuIGxvYWQgdGhlIE1vZHVzIHRoZW1lIG9mIHRoZWlyIGNob2ljZS4gIFRoZSBuZXcg cGFsZXR0ZSBzdWJzZXQgd2lsbApjb21lIGludG8gZWZmZWN0OiBzdWJ0bGUgb2NocmUgdGludHMg Zm9yIE1vZHVzIE9wZXJhbmRpIGFuZCBuaWdodCBza3kKc2hhZGVzIGZvciBNb2R1cyBWaXZlbmRp LiAgU3dpdGNoaW5nIGJldHdlZW4gdGhlIHR3byB0aGVtZXMsIHN1Y2ggYXMKd2l0aCB7e3trYmQo TS14IG1vZHVzLXRoZW1lcy10b2dnbGUpfX19IHdpbGwgYWxzbyB1c2UgdGhlIG92ZXJyaWRlcy4K CkdpdmVuIHRoYXQgdGhpcyBpcyBhIHVzZXItbGV2ZWwgY3VzdG9taXNhdGlvbiwgb25lIGlzIGZy ZWUgdG8gaW1wbGVtZW50CndoYXRldmVyIGNvbG9yIHZhbHVlcyB0aGV5IGRlc2lyZSwgZXZlbiBp ZiB0aGUgcG9zc2libGUgY29tYmluYXRpb25zCmZhbGwgYmVsb3cgdGhlIG1pbmltdW0gNzoxIGNv bnRyYXN0IHJhdGlvIHRoYXQgZ292ZXJucyB0aGUgZGVzaWduIG9mIHRoZQp0aGVtZXMgKHRoZSBX Q0FHIEFBQSBsZWdpYmlsaXR5IHN0YW5kYXJkKS4gIFByZWZlcmVuY2VzIGFzaWRlLCBpdCBpcwph ZHZpc2VkIHRvIGluc3BlY3QgdGhlIHNvdXJjZSBjb2RlIG9mIH5tb2R1cy10aGVtZXMtb3BlcmFu ZGktY29sb3JzfiBhbmQKfm1vZHVzLXRoZW1lcy12aXZlbmRpLWNvbG9yc34gdG8gcmVhZCB0aGUg aW5saW5lIGNvbW1lbnRhcnk6IGl0IGV4cGxhaW5zCndoYXQgdGhlIGludGVuZGVkIHVzZSBvZiBl YWNoIHBhbGV0dGUgc3Vic2V0IGlzLgoKRnVydGhlcm1vcmUsIHVzZXJzIG1heSBiZW5lZml0IGZy b20gdGhlIH5tb2R1cy10aGVtZXMtY29udHJhc3R+IGZ1bmN0aW9uCnRoYXQgd2UgcHJvdmlkZTog W1sjaDowMmUyNTkzMC1lNzFhLTQ5M2QtODI4YS04OTA3ZmM4MGY4NzRdW3Rlc3QgY29sb3IgY29t YmluYXRpb25zXV0uICBJdCBtZWFzdXJlcyB0aGUgY29udHJhc3QKcmF0aW8gYmV0d2VlbiB0d28g Y29sb3IgdmFsdWVzLCBzbyBpdCBjYW4gaGVscCBpbiBvdmVycmlkaW5nIHRoZSBwYWxldHRlCihv ciBhIHN1YnNldCB0aGVyZW9mKSB3aXRob3V0IG1ha2luZyB0aGUgZW5kIHJlc3VsdCBpbmFjY2Vz c2libGUuCgoqKiBGb250IGNvbmZpZ3VyYXRpb25zIGZvciBPcmcgYW5kIG90aGVycyAoRElZKQo6 cHJvcGVydGllczoKOmN1c3RvbV9pZDogaDpkZWZjZjRmYy04ZmE4LTRjMjktYjEyZS03MTE5NTgy Y2M5MjkKOmVuZDoKIytjaW5kZXg6IEZvbnQgY29uZmlndXJhdGlvbnMKClRoZSB0aGVtZXMgYXJl IGRlc2lnbmVkIHRvIGNvcGUgd2VsbCB3aXRoIG1peGVkIGZvbnQgY29uZmlndXJhdGlvbnMuCgpb WyNoOjExNWU2YzIzLWVlMzUtNGExNi04Y2VmLWUyZmNiYjA4ZTI4Yl1bT3B0aW9uIGZvciBubyBm b250IG1peGluZ11dLgoKVGhpcyBtb3N0bHkgY29uY2VybnMgfm9yZy1tb2RlfiBhbmQgfm1hcmtk b3duLW1vZGV+LCB0aG91Z2ggZXhwZWN0IHRvIGZpbmQKaXQgZWxzZXdoZXJlIGxpa2UgaW4gfklu Zm8tbW9kZX4uCgpJbiBwcmFjdGljZSBpdCBtZWFucyB0aGF0IHRoZSB1c2VyIGNhbiBzYWZlbHkg b3B0IGZvciBhIG1vcmUKcHJvc2UtZnJpZW5kbHkgcHJvcG9ydGlvbmF0ZWx5IHNwYWNlZCB0eXBl ZmFjZSBhcyB0aGVpciBkZWZhdWx0LCB3aGlsZQpsZXR0aW5nIHNwYWNpbmctc2Vuc2l0aXZlIGVs ZW1lbnRzIGxpa2UgdGFibGVzIGFuZCBpbmxpbmUgY29kZSBhbHdheXMKdXNlIGEgbW9ub3NwYWNl ZCBmb250LCBieSBpbmhlcml0aW5nIGZyb20gdGhlIH5maXhlZC1waXRjaH4gZmFjZS4KClVzZXJz IGNhbiB0cnkgdGhlIGJ1aWx0LWluIHt7e2tiZChNLXggdmFyaWFibGUtcGl0Y2gtbW9kZSl9fX0g dG8gc2VlIHRoZQplZmZlY3QgaW4gYWN0aW9uLgoKVG8gbWFrZSBldmVyeXRoaW5nIHVzZSB5b3Vy IGRlc2lyZWQgZm9udCBmYW1pbGllcywgeW91IG5lZWQgdG8gY29uZmlndXJlCnRoZSB+dmFyaWFi bGUtcGl0Y2h+IChwcm9wb3J0aW9uYWwgc3BhY2luZykgYW5kIH5maXhlZC1waXRjaH4gKG1vbm9z cGFjZWQpCmZhY2VzIHJlc3BlY3RpdmVseS4gIEl0IG1heSBhbHNvIGJlIGNvbnZlbmllbnQgdG8g c2V0IHlvdXIgbWFpbiB0eXBlZmFjZQpieSBjb25maWd1cmluZyB0aGUgfmRlZmF1bHR+IGZhY2Ug dGhlIHNhbWUgd2F5LgoKUHV0IHNvbWV0aGluZyBsaWtlIHRoaXMgaW4geW91ciBpbml0aWFsaXph dGlvbiBmaWxlIChhbHNvIGNvbnNpZGVyCnJlYWRpbmcgdGhlIGRvYyBzdHJpbmcgb2YgfnNldC1m YWNlLWF0dHJpYnV0ZX4pOgoKIytiZWdpbl9zcmMgZW1hY3MtbGlzcAo7OyBNYWluIHR5cGVmYWNl CihzZXQtZmFjZS1hdHRyaWJ1dGUgJ2RlZmF1bHQgbmlsIDpmYW1pbHkgIkRlamFWdSBTYW5zIE1v bm8iIDpoZWlnaHQgMTEwKQoKOzsgUHJvcG9ydGlvbmF0ZWx5IHNwYWNlZCB0eXBlZmFjZQooc2V0 LWZhY2UtYXR0cmlidXRlICd2YXJpYWJsZS1waXRjaCBuaWwgOmZhbWlseSAiRGVqYVZ1IFNlcmlm IiA6aGVpZ2h0IDEuMCkKCjs7IE1vbm9zcGFjZWQgdHlwZWZhY2UKKHNldC1mYWNlLWF0dHJpYnV0 ZSAnZml4ZWQtcGl0Y2ggbmlsIDpmYW1pbHkgIkRlamFWdSBTYW5zIE1vbm8iIDpoZWlnaHQgMS4w KQojK2VuZF9zcmMKCk5vdGUgdGhlIGRpZmZlcmVuY2VzIGluIHRoZSA9OmhlaWdodD0gcHJvcGVy dHkuICBUaGUgPWRlZmF1bHQ9IGZhY2UgbXVzdApzcGVjaWZ5IGFuIGFic29sdXRlIHZhbHVlLCB3 aGljaCBpcyB0aGUgcG9pbnQgc2l6ZSDDlyAxMC4gIFNvIGlmIHlvdSB3YW50CnRvIHVzZSBhIGZv bnQgYXQgcG9pbnQgc2l6ZSA9MTE9LCB5b3Ugc2V0IHRoZSBoZWlnaHQgdG8gPTExMD0uW2ZuOjog PTpoZWlnaHQ9CnZhbHVlcyBkbyBub3QgbmVlZCB0byBiZSByb3VuZGVkIHRvIG11bHRpcGxlcyBv ZiB0ZW46IHRoZSBsaWtlcyBvZiA9MTE1PQphcmUgcGVyZmVjdGx5IHZhbGlk4oCUc29tZSB0eXBl ZmFjZXMgd2lsbCBjaGFuZ2UgdG8gYWNjb3VudCBmb3IgdGhvc2UKZmluZXIgaW5jcmVtZW50cy5d ICBXaGVyZWFzIGV2ZXJ5IG90aGVyIGZhY2UgbXVzdCBoYXZlIGEgdmFsdWUgdGhhdCBpcwpyZWxh dGl2ZSB0byB0aGUgZGVmYXVsdCwgcmVwcmVzZW50ZWQgYXMgYSBmbG9hdGluZyBwb2ludCAoaWYg eW91IHVzZSBhbgppbnRlZ2VyLCB0aGVuIHRoYXQgbWVhbnMgYW4gYWJzb2x1dGUgaGVpZ2h0KS4g IFRoaXMgaXMgb2YgcGFyYW1vdW50CmltcG9ydGFuY2U6IGl0IGVuc3VyZXMgdGhhdCBhbGwgZm9u dHMgY2FuIHNjYWxlIGdyYWNlZnVsbHkgd2hlbiB1c2luZwpzb21ldGhpbmcgbGlrZSB0aGUgfnRl eHQtc2NhbGUtYWRqdXN0fiBjb21tYW5kIHdoaWNoIG9ubHkgb3BlcmF0ZXMgb24gdGhlCmJhc2Ug Zm9udCBzaXplIChpLmUuIHRoZSB+ZGVmYXVsdH4gZmFjZSdzIGFic29sdXRlIGhlaWdodCkuCgoq KiBDdXN0b20gT3JnIHVzZXIgZmFjZXMgKERJWSkKOnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6 ODlmMDY3OGQtYzVjMy00YTU3LWE1MjYtNjY4YjJiYjJkN2FkCjplbmQ6CiMrY2luZGV4OiBPcmcg ZXh0cmEgZmFjZXMKClVzZXJzIG9mIH5vcmctbW9kZX4gaGF2ZSB0aGUgb3B0aW9uIHRvIGNvbmZp Z3VyZSB2YXJpb3VzIGtleXdvcmRzIGFuZApwcmlvcml0eSBjb29raWVzIHRvIGJldHRlciBtYXRj aCB0aGVpciB3b3JrZmxvdy4gIFVzZXIgb3B0aW9ucyBhcmUKfm9yZy10b2RvLWtleXdvcmQtZmFj ZXN+IGFuZCB+b3JnLXByaW9yaXR5LWZhY2Vzfi4KCkFzIHRob3NlIGFyZSBtZWFudCB0byBiZSBj dXN0b20gZmFjZXMsIGl0IGlzIGZ1dGlsZSB0byBoYXZlIHRoZSB0aGVtZXMKZ3Vlc3Mgd2hhdCBl YWNoIHVzZXIgd2FudHMgdG8gdXNlLCB3aGljaCBrZXl3b3JkcyB0byB0YXJnZXQsIGFuZCBzbyBv bi4KSW5zdGVhZCwgd2UgY2FuIHByb3ZpZGUgZ3VpZGVsaW5lcyBvbiBob3cgdG8gY3VzdG9taXpl IHRoaW5ncyB0byBvbmUncwpsaWtpbmcgd2l0aCB0aGUgaW50ZW50IG9mIHJldGFpbmluZyB0aGUg b3ZlcmFsbCBhZXN0aGV0aWMgb2YgdGhlIHRoZW1lcy4KClBsZWFzZSBiZWFyIGluIG1pbmQgdGhh dCB0aGUgZW5kIHJlc3VsdCBvZiB0aG9zZSBpcyBub3QgY29udHJvbGxlZCBieQp0aGUgYWN0aXZl IE1vZHVzIHRoZW1lIGJ1dCBieSBob3cgT3JnIG1hcHMgZmFjZXMgdG8gaXRzIGNvbnN0cnVjdHMu CkVkaXRpbmcgdGhvc2Ugd2hpbGUgfm9yZy1tb2RlfiBpcyBhY3RpdmUgcmVxdWlyZXMgcmUtaW5p dGlhbGl6YXRpb24gb2YgdGhlCm1vZGUgd2l0aCB7e3trYmQoTS14IG9yZy1tb2RlLXJlc3RhcnQp fX19IGZvciBjaGFuZ2VzIHRvIHRha2UgZWZmZWN0LgoKTGV0IHVzIGFzc3VtZSB5b3Ugd2lzaCB0 byB2aXN1YWxseSBkaWZmZXJlbnRpYXRlIHlvdXIga2V5d29yZHMuICBZb3UKaGF2ZSBzb21ldGhp bmcgbGlrZSB0aGlzOgoKIytiZWdpbl9zcmMgZW1hY3MtbGlzcAooc2V0cSBvcmctdG9kby1rZXl3 b3JkcwogICAgICAnKChzZXF1ZW5jZSAiVE9ETyh0KSIgInwiICJET05FKEQpIiAiQ0FOQ0VMKEMp IikKICAgICAgICAoc2VxdWVuY2UgIk1FRVQobSkiICJ8IiAiTUVUKE0pIikKICAgICAgICAoc2Vx dWVuY2UgIlNUVURZKHMpIiAifCIgIlNUVURJRUQoUykiKQogICAgICAgIChzZXF1ZW5jZSAiV1JJ VEUodykiICJ8IiAiV1JPVEUoVykiKSkpCiMrZW5kX3NyYwoKWW91IGNvdWxkIHRoZW4gdXNlIGEg dmFyaWFudCBvZiB0aGUgZm9sbG93aW5nIHRvIGluaGVyaXQgZnJvbSBhIGZhY2UKdGhhdCB1c2Vz IHRoZSBzdHlsZXMgeW91IHdhbnQgYW5kIGFsc28gdG8gcHJlc2VydmUgdGhlIHByb3BlcnRpZXMK YXBwbGllZCBieSB0aGUgfm9yZy10b2RvfiBmYWNlOgoKIytiZWdpbl9zcmMgZW1hY3MtbGlzcAoo c2V0cSBvcmctdG9kby1rZXl3b3JkLWZhY2VzCiAgICAgICcoKCJNRUVUIiAuICcoZm9udC1sb2Nr LXByZXByb2Nlc3Nvci1mYWNlIG9yZy10b2RvKSkKICAgICAgICAoIlNUVURZIiAuICcoZm9udC1s b2NrLXZhcmlhYmxlLW5hbWUtZmFjZSBvcmctdG9kbykpCiAgICAgICAgKCJXUklURSIgLiAnKGZv bnQtbG9jay10eXBlLWZhY2Ugb3JnLXRvZG8pKSkpCiMrZW5kX3NyYwoKVGhpcyB3aWxsIHJlZmFz aGlvbiB0aGUga2V5d29yZHMgeW91IHNwZWNpZnksIHdoaWxlIGxldHRpbmcgdGhlIG90aGVyCml0 ZW1zIGluIH5vcmctdG9kby1rZXl3b3Jkc34gdXNlIHRoZWlyIG9yaWdpbmFsIHN0eWxlcyAod2hp Y2ggYXJlIGRlZmluZWQKaW4gdGhlIH5vcmctdG9kb34gYW5kIH5vcmctZG9uZX4gZmFjZXMpLgoK SWYgeW91IHdhbnQgYmFjayB0aGUgZGVmYXVsdHMsIHRyeSBzcGVjaWZ5aW5nIGp1c3QgdGhlIH5v cmctdG9kb34gZmFjZToKCiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKHNldHEgb3JnLXRvZG8ta2V5 d29yZC1mYWNlcwogICAgICAnKCgiTUVFVCIgLiBvcmctdG9kbykKICAgICAgICAoIlNUVURZIiAu IG9yZy10b2RvKQogICAgICAgICgiV1JJVEUiIC4gb3JnLXRvZG8pKSkKIytlbmRfc3JjCgpXaGVu IHlvdSBpbmhlcml0IGZyb20gbXVsdGlwbGUgZmFjZXMsIHlvdSBuZWVkIHRvIHF1b3RlIHRoZSBs aXN0IGFzCnNob3duIGZ1cnRoZXIgYWJvdmUuICBUaGUgb3JkZXIgaXMgaW1wb3J0YW50OiB0aGUg bGFzdCBpdGVtIGlzIGFwcGxpZWQKb3ZlciB0aGUgcHJldmlvdXMgb25lcy4gIElmIHlvdSBkbyBu b3Qgd2FudCB0byBibGVuZCBtdWx0aXBsZSBmYWNlcywgeW91CmRvIG5vdCBuZWVkIGEgcXVvdGVk IGxpc3QuICBBIHBhdHRlcm4gb2YgPWtleXdvcmQgLiBmYWNlPSB3aWxsIHN1ZmZpY2UuCgpCb3Ro IGFwcHJvYWNoZXMgY2FuIGJlIHVzZWQgc2ltdWx0YW5lb3VzbHksIGFzIGlsbHVzdHJhdGVkIGlu IHRoaXMKY29uZmlndXJhdGlvbiBvZiB0aGUgcHJpb3JpdHkgY29va2llczoKCiMrYmVnaW5fc3Jj IGVtYWNzLWxpc3AKKHNldHEgb3JnLXByaW9yaXR5LWZhY2VzCiAgICAgICcoKD9BIC4gJyhvcmct c2NoZWR1bGVkLXRvZGF5IG9yZy1wcmlvcml0eSkpCiAgICAgICAgKD9CIC4gb3JnLXByaW9yaXR5 KQogICAgICAgICg/QyAuICcoc2hhZG93IG9yZy1wcmlvcml0eSkpKSkKIytlbmRfc3JjCgpUbyBm aW5kIGFsbCB0aGUgZmFjZXMgdGhhdCBhcmUgbG9hZGVkIGluIHlvdXIgY3VycmVudCBFbWFjcyBz ZXNzaW9uLCB1c2UKe3t7a2JkKE0teCBsaXN0LWZhY2VzLWRpc3BsYXkpfX19LiAgVHJ5IHt7e2ti ZChNLXggZGVzY3JpYmUtdmFyaWFibGUpfX19IGFzIHdlbGwgYW5kCnRoZW4gc3BlY2lmeSB0aGUg bmFtZSBvZiBlYWNoIG9mIHRob3NlIE9yZyB2YXJpYWJsZXMgZGVtb25zdHJhdGVkIGFib3ZlLgpU aGVpciBkb2N1bWVudGF0aW9uIHN0cmluZ3Mgd2lsbCBvZmZlciB5b3UgZnVydGhlciBndWlkYW5j ZS4KClJlY2FsbCB0aGF0IHRoZSB0aGVtZXMgbGV0IHlvdSByZXRyaWV2ZSBhIGNvbG9yIGZyb20g dGhlaXIgcGFsZXR0ZS4gIERvCml0IGlmIHlvdSBwbGFuIHRvIGNvbnRyb2wgZmFjZSBhdHRyaWJ1 dGVzLgoKW1sjaDoxNDg3YzYzMS1mNGZlLTQ5MGQtOGQ1OC1kNzJmZmEzYmQ0NzRdW0N1c3RvbSBm YWNlIHNwZWNzIHVzaW5nIHRoZSB0aGVtZXMnIHBhbGV0dGVdXS4KCltbI2g6MDJlMjU5MzAtZTcx YS00OTNkLTgyOGEtODkwN2ZjODBmODc0XVtDaGVjayBjb2xvciBjb21iaW5hdGlvbnNdXS4KCioq IE1lYXN1cmUgY29sb3IgY29udHJhc3QgKERJWSkKOnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6 MDJlMjU5MzAtZTcxYS00OTNkLTgyOGEtODkwN2ZjODBmODc0CjplbmQ6CiMrZmluZGV4OiBtb2R1 cy10aGVtZXMtY29udHJhc3QKIytmaW5kZXg6IG1vZHVzLXRoZW1lcy13Y2FnLWZvcm11bGEKIytj aW5kZXg6IENvbG9yIGNvbnRyYXN0CgpUaGUgdGhlbWVzIHByb3ZpZGUgdGhlIGZ1bmN0aW9ucyB+ bW9kdXMtdGhlbWVzLXdjYWctZm9ybXVsYX4gYW5kCn5tb2R1cy10aGVtZXMtY29udHJhc3R+LiAg VGhlIGZvcm1lciBpcyBhIGRpcmVjdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUKV0NBRyBmb3JtdWxh OiA8aHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTguaHRtbD4uICBJdApjYWxj dWxhdGVzIHRoZSByZWxhdGl2ZSBsdW1pbmFuY2Ugb2YgYSBjb2xvciB2YWx1ZSB0aGF0IGlzIGV4 cHJlc3NlZCBpbgpoZXhhZGVjaW1hbCBSR0Igbm90YXRpb24uICBXaGlsZSB0aGUgbGF0dGVyIGZ1 bmN0aW9uIGlzIGp1c3QgYQpjb252ZW5pZW50IHdyYXBwZXIgZm9yIGNvbXBhcmluZyB0aGUgcmVs YXRpdmUgbHVtaW5hbmNlIGJldHdlZW4gdHdvCmNvbG9ycy4KCkluIHByYWN0aWNlLCBvbmUgbmVl ZHMgdG8gd29yayBvbmx5IHdpdGggfm1vZHVzLXRoZW1lcy1jb250cmFzdH4uICBJdAphY2NlcHRz IHR3byBjb2xvciB2YWx1ZXMgYW5kIHJldHVybnMgdGhlaXIgY29udHJhc3QgcmF0aW8uICBWYWx1 ZXMgcmFuZ2UKZnJvbSAxIHRvIDIxIChsb3dlc3QgdG8gaGlnaGVzdCkuICBUaGUgdGhlbWVzIGFy ZSBkZXNpZ25lZCB0byBhbHdheXMgYmUKZXF1YWwgb3IgaGlnaGVyIHRoYW4gNyBmb3IgZWFjaCBj b21iaW5hdGlvbiBvZiBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kCnRoYXQgdGhleSB1c2UgKHRo aXMgaXMgdGhlIFdDQUcgQUFBIHN0YW5kYXJkLS0tdGhlIG1vc3QgZGVtYW5kaW5nIG9mIGl0cwpr aW5kKS4KCkEgY291cGxlIG9mIGV4YW1wbGVzIChyb3VuZGVkIG51bWJlcnMpOgoKIytiZWdpbl9z cmMgZW1hY3MtbGlzcAo7OyBQdXJlIHdoaXRlIHdpdGggcHVyZSBncmVlbgoobW9kdXMtdGhlbWVz LWNvbnRyYXN0ICIjZmZmZmZmIiAiIzAwZmYwMCIpCjs7ID0+IDEuMzcKOzsgVGhhdCBpcyBhbiBv dXRyaWdodCBpbmFjY2Vzc2libGUgY29tYm8KCjs7IFB1cmUgYmxhY2sgd2l0aCBwdXJlIGdyZWVu Cihtb2R1cy10aGVtZXMtY29udHJhc3QgIiMwMDAwMDAiICIjMDBmZjAwIikKOzsgPT4gMTUuMwo7 OyBUaGF0IGlzIGlzIGEgaGlnaGx5IGFjY2Vzc2libGUgY29tYm8KIytlbmRfc3JjCgpJdCBkb2Vz IG5vdCBtYXR0ZXIgd2hpY2ggY29sb3IgdmFsdWUgY29tZXMgZmlyc3QuICBUaGUgcmF0aW8gaXMg YWx3YXlzCnRoZSBzYW1lLgoKSWYgb25lIGRvZXMgbm90IHdpc2ggdG8gcmVhZCBhbGwgdGhlIGRl Y2ltYWwgcG9pbnRzLCBpdCBpcyBwb3NzaWJsZSB0bwp0cnkgc29tZXRoaW5nIGxpa2UgdGhpczoK CiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKGZvcm1hdCAiJTAuMmYiIChtb2R1cy10aGVtZXMtY29u dHJhc3QgIiMwMDAwMDAiICIjMDBmZjAwIikpCiMrZW5kX3NyYwoKV2hpbGUgaXQgaXMgZmluZSB0 byBwZXJmb3JtIHN1Y2ggY2FsY3VsYXRpb25zIG9uIGEgY2FzZS1ieS1jYXNlIGJhc2lzLAppdCBp cyBwcmVmZXJhYmxlIHRvIGltcGxlbWVudCBmb3JtdWxhcyBhbmQgdGFibGVzIGZvciBtb3JlIGRl bWFuZGluZwp0YXNrcy4gIFN1Y2ggaW5zdHJ1bWVudHMgYXJlIHByb3ZpZGVkIGJ5IH5vcmctbW9k ZX4gb3Igfm9yZ3RibC1tb2RlfiwgYm90aApvZiB3aGljaCBhcmUgYnVpbHQgaW50byBFbWFjcy4g IEJlbG93IGlzIHN1Y2ggYSB0YWJsZSB0aGF0IGRlcml2ZXMgdGhlCmNvbnRyYXN0IHJhdGlvIG9m IGFsbCBjb2xvcnMgaW4gdGhlIGZpcnN0IGNvbHVtbiAocHVyZSByZWQsIGdyZWVuLCBibHVlKQpy ZWxhdGl2ZSB0byB0aGUgY29sb3Igc3BlY2lmaWVkIGluIHRoZSBmaXJzdCByb3cgb2YgdGhlIHNl Y29uZCBjb2x1bW4KKHB1cmUgd2hpdGUpIGFuZCByb3VuZHMgdGhlIHJlc3VsdHM6CgojK2JlZ2lu X2V4YW1wbGUKfCAgICAgICAgIHwgI2ZmZmZmZiB8CnwtLS0tLS0tLS0rLS0tLS0tLS0tfAp8ICNm ZjAwMDAgfCAgICA0LjAwIHwKfCAjMDBmZjAwIHwgICAgMS4zNyB8CnwgIzAwMDBmZiB8ICAgIDgu NTkgfAojK3RibGZtOiAkMj0nKG1vZHVzLXRoZW1lcy1jb250cmFzdCAkMSBAMSQyKTslMC4yZgoj K2VuZF9leGFtcGxlCgpUbyBtZWFzdXJlIGNvbG9yIGNvbnRyYXN0IG9uZSBuZWVkcyB0byBzdGFy dCBmcm9tIGEga25vd24gdmFsdWUuICBUaGlzCnR5cGljYWxseSBpcyB0aGUgYmFja2dyb3VuZC4g IFRoZSBNb2R1cyB0aGVtZXMgZGVmaW5lIGFuIGV4cGFuZGVkCnBhbGV0dGUgaW4gbGFyZ2UgcGFy dCBiZWNhdXNlIGNlcnRhaW4gY29sb3JzIGFyZSBvbmx5IG1lYW50IHRvIGJlIHVzZWQKaW4gY29t YmluYXRpb24gd2l0aCBzb21lIG90aGVycy4gIENvbnN1bHQgdGhlIHNvdXJjZSBjb2RlIGZvciB0 aGUKbWludXRpYSBhbmQgcmVsZXZhbnQgY29tbWVudGFyeS4KClN1Y2gga25vd2xlZGdlIG1heSBw cm92ZSB2YWx1YWJsZSB3aGlsZSBhdHRlbXB0aW5nIHRvIG92ZXJyaWRlIHNvbWUgb2YKdGhlIHRo ZW1lcycgY29sb3JzOiBbWyNoOjMwN2Q5NWRkLThkYmQtNGVjZS1hNTQzLTEwYWU4NmYxNTVhNl1b T3ZlcnJpZGUgY29sb3JzXV0uCgoqKiBMb2FkIHRoZW1lIGRlcGVuZGluZyBvbiB0aW1lIG9mIGRh eQo6cHJvcGVydGllczoKOmN1c3RvbV9pZDogaDoxZDFlZjRiNC04NjAwLTRhMDktOTkzYy02ZGUz YWYwZGRkMjYKOmVuZDoKCldoaWxlIHdlIGRvIHByb3ZpZGUgfm1vZHVzLXRoZW1lcy10b2dnbGV+ IHRvIG1hbnVhbGx5IHN3aXRjaCBiZXR3ZWVuIHRoZQp0aGVtZXMsIHVzZXJzIG1heSBhbHNvIHNl dCB1cCB0aGVpciBzeXN0ZW0gdG8gcGVyZm9ybSBzdWNoIGEgdGFzawphdXRvbWF0aWNhbGx5IGF0 IHN1bnJpc2UgYW5kIHN1bnNldC4KClRoaXMgY2FuIGJlIGFjY29tcGxpc2hlZCBieSBzcGVjaWZ5 aW5nIHRoZSBjb29yZGluYXRlcyBvZiBvbmUncyBsb2NhdGlvbgp1c2luZyB0aGUgYnVpbHQtaW4g e3t7ZmlsZShzb2xhci5lbCl9fX0gYW5kIHRoZW4gY29uZmlndXJpbmcgdGhlID1jaXJjYWRpYW49 CnBhY2thZ2U6CgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCih1c2UtcGFja2FnZSBzb2xhciAgICAg ICAgICAgICAgICAgICAgICA7IGJ1aWx0LWluCiAgOmNvbmZpZwogIChzZXRxIGNhbGVuZGFyLWxh dGl0dWRlIDM1LjE3CiAgICAgICAgY2FsZW5kYXItbG9uZ2l0dWRlIDMzLjM2KSkKCih1c2UtcGFj a2FnZSBjaXJjYWRpYW4gICAgICAgICAgICAgICAgICA7IHlvdSBuZWVkIHRvIGluc3RhbGwgdGhp cwogIDplbnN1cmUKICA6YWZ0ZXIgc29sYXIKICAoc2V0cSBjaXJjYWRpYW4tdGhlbWVzICcoKDpz dW5yaXNlIC4gbW9kdXMtb3BlcmFuZGkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICg6c3Vu c2V0ICAuIG1vZHVzLXZpdmVuZGkpKSkKICAoY2lyY2FkaWFuLXNldHVwKSkKIytlbmRfc3JjCgoq KiBBIHRoZW1lLWFnbm9zdGljIGhvb2sgZm9yIHRoZW1lIGxvYWRpbmcgKERJWSkKOnByb3BlcnRp ZXM6CjpjdXN0b21faWQ6IGg6ODZmNjkwNmItZjA5MC00NmNjLTk4MTYtMWZlOGFlYjM4Nzc2Cjpl bmQ6CgpUaGUgdGhlbWVzIGFyZSBkZXNpZ25lZCB3aXRoIHRoZSBpbnRlbnQgdG8gYmUgdXNlZnVs IHRvIEVtYWNzIHVzZXJzIG9mCnZhcnlpbmcgc2tpbGwgbGV2ZWxzLCBmcm9tIGJlZ2lubmVycyB0 byBleHBlcnRzLiAgVGhpcyBtZWFucyB0aGF0IHdlIHRyeQp0byBtYWtlIHRoaW5ncyBlYXNpZXIg Ynkgbm90IGV4cGVjdGluZyBhbnlvbmUgcmVhZGluZyB0aGlzIGRvY3VtZW50IHRvCmJlIHByb2Zp Y2llbnQgaW4gRW1hY3MgTGlzcCBvciBwcm9ncmFtbWluZyBpbiBnZW5lcmFsLgoKU3VjaCBhIGNh c2UgaXMgd2l0aCB0aGUgdXNlIG9mIHRoZSB+bW9kdXMtdGhlbWVzLWFmdGVyLWxvYWQtdGhlbWUt aG9va34sCndoaWNoIHJ1bnMgYWZ0ZXIgfm1vZHVzLXRoZW1lcy10b2dnbGV+LCB+bW9kdXMtdGhl bWVzLWxvYWQtb3BlcmFuZGl+LCBvcgp+bW9kdXMtdGhlbWVzLWxvYWQtdml2ZW5kaX4gaXMgZXZh bHVhdGVkLiAgV2UgcmVjb21tZW5kIHVzaW5nIHRoYXQgaG9vawpmb3IgYWR2YW5jZWQgY3VzdG9t aXphdGlvbnMsIGJlY2F1c2UgKDEpIHdlIGtub3cgZm9yIHN1cmUgdGhhdCBpdCBpcwphdmFpbGFi bGUgb25jZSB0aGUgdGhlbWVzIGFyZSBsb2FkZWQsIGFuZCAoMikgYW55b25lIGNvbnN1bHRpbmcg dGhpcwptYW51YWwsIGVzcGVjaWFsbHkgdGhlIHNlY3Rpb25zIG9uIGVuYWJsaW5nIGFuZCBsb2Fk aW5nIHRoZSB0aGVtZXMsIHdpbGwKYmUgaW4gYSBnb29kIHBvc2l0aW9uIHRvIGJlbmVmaXQgZnJv bSB0aGF0IGhvb2suCgpBZHZhbmNlZCB1c2VycyB3aG8gaGF2ZSBhIG5lZWQgdG8gc3dpdGNoIGJl dHdlZW4gdGhlIE1vZHVzIHRoZW1lcyBhbmQKb3RoZXIgaXRlbXMgd2lsbCBmaW5kIHRoYXQgc3Vj aCBhIGhvb2sgZG9lcyBub3QgbWVldCB0aGVpciByZXF1aXJlbWVudHM6Cml0IG9ubHkgd29ya3Mg d2l0aCB0aGUgTW9kdXMgdGhlbWVzIGFuZCBvbmx5IHdpdGggdGhlIGFmb3JlbWVudGlvbmVkCmZ1 bmN0aW9ucy4KCkEgdGhlbWUtYWdub3N0aWMgc2V0dXAgY2FuIGJlIGNvbmZpZ3VyZWQgdGh1czoK CiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKGRlZnZhciBhZnRlci1lbmFibGUtdGhlbWUtaG9vayBu aWwKICAgIk5vcm1hbCBob29rIHJ1biBhZnRlciBlbmFibGluZyBhIHRoZW1lLiIpCgooZGVmdW4g cnVuLWFmdGVyLWVuYWJsZS10aGVtZS1ob29rICgmcmVzdCBfYXJncykKICAgIlJ1biBgYWZ0ZXIt ZW5hYmxlLXRoZW1lLWhvb2snLiIKICAgKHJ1bi1ob29rcyAnYWZ0ZXItZW5hYmxlLXRoZW1lLWhv b2spKQoKKGFkdmljZS1hZGQgJ2VuYWJsZS10aGVtZSA6YWZ0ZXIgIydydW4tYWZ0ZXItZW5hYmxl LXRoZW1lLWhvb2spCiMrZW5kX3NyYwoKVGhpcyBjcmVhdGVzIHRoZSB+YWZ0ZXItZW5hYmxlLXRo ZW1lLWhvb2t+IGFuZCBtYWtlcyBpdCBydW4gYWZ0ZXIgZWFjaApjYWxsIHRvIH5lbmFibGUtdGhl bWV+LCB3aGljaCBtZWFucyB0aGF0IGl0IHdpbGwgd29yayBmb3IgYWxsIHRoZW1lcyBhbmQKYWxz byBoYXMgdGhlIGJlbmVmaXQgdGhhdCBpdCBkb2VzIG5vdCBkZXBlbmQgb24gZnVuY3Rpb25zIHN1 Y2ggYXMKfm1vZHVzLXRoZW1lcy10b2dnbGV+IGFuZCB0aGUgb3RoZXJzIG1lbnRpb25lZCBhYm92 ZS4gIH5lbmFibGUtdGhlbWV+IGlzCmNhbGxlZCBpbnRlcm5hbGx5IGJ5IH5sb2FkLXRoZW1lfiwg c28gdGhlIGhvb2sgd29ya3MgZXZlcnl3aGVyZS4KCk5vdyB0aGlzIHNwZWNpZmljIHBpZWNlIG9m IEVsaXNwIG1heSBiZSBzaW1wbGUgZm9yIGV4cGVyaWVuY2VkIHVzZXJzLApidXQgaXQgaXMgbm90 IGVhc3kgdG8gcmVhZCBmb3IgbmV3Y29tZXJzLCBpbmNsdWRpbmcgdGhlIGF1dGhvciBvZiB0aGUK TW9kdXMgdGhlbWVzIGZvciB0aGUgZmlyc3Qgc2V2ZXJhbCBtb250aHMgb2YgdGhlaXIgdGltZSBh cyBhbiBFbWFjcwp1c2VyLiAgSGVuY2Ugb3VyIGhlc2l0YXRpb24gdG8gcmVjb21tZW5kIGl0IGFz IHBhcnQgb2YgdGhlIHN0YW5kYXJkCnNldHVwIG9mIHRoZSBNb2R1cyB0aGVtZXMgKGl0IGlzIGdl bmVyYWxseSBhIGdvb2QgaWRlYSB0byB1bmRlcnN0YW5kCndoYXQgdGhlIGltcGxpY2F0aW9ucyBh cmUgb2YgYWR2aXNpbmcgYSBmdW5jdGlvbikuCgoqIEZhY2UgY292ZXJhZ2UKOnByb3BlcnRpZXM6 CjpjdXN0b21faWQ6IGg6YTljOGYyOWQtN2Y3Mi00YjU0LWI3NGItZGRlZmUxNWQ2YTE5CjplbmQ6 CgpUaGUgTW9kdXMgdGhlbWVzIHRyeSB0byBwcm92aWRlIGFzIGNsb3NlIHRvIGZ1bGwgZmFjZSBj b3ZlcmFnZSBhcwpwb3NzaWJsZS4gIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBhIGNvbnNp c3RlbnRseSBhY2Nlc3NpYmxlIHJlYWRpbmcKZXhwZXJpZW5jZSBhY3Jvc3MgYWxsIGF2YWlsYWJs ZSBpbnRlcmZhY2VzLgoKKiogRnVsbCBzdXBwb3J0IGZvciBwYWNrYWdlcyBvciBmYWNlIGdyb3Vw cwo6cHJvcGVydGllczoKOmFsdF90aXRsZTogU3VwcG9ydGVkIHBhY2thZ2VzCjpkZXNjcmlwdGlv bjogRnVsbCBsaXN0IG9mIGNvdmVyZWQgZmFjZSBncm91cHMKOmN1c3RvbV9pZDogaDo2MGVkNDI3 NS02MGQ2LTQ5ZjgtOTI4Ny05YTY0ZTU0YmVhMGUKOmVuZDoKIytjaW5kZXg6IEV4cGxpY2l0bHkg c3VwcG9ydGVkIHBhY2thZ2VzCgpUaGlzIGxpc3Qgd2lsbCBhbHdheXMgYmUgdXBkYXRlZCB0byBy ZWZsZWN0IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZQpwcm9qZWN0LiAgVGhlIGlkZWEgaXMgdG8g b2ZmZXIgYW4gb3ZlcnZpZXcgb2YgdGhlIGtub3duIHN0YXR1cyBvZiBhbGwKYWZmZWN0ZWQgZmFj ZSBncm91cHMuICBUaGUgaXRlbXMgd2l0aCBhbiBhcHBlbmRlZCBhc3RlcmlzayA9Kj0gdGVuZCB0 bwpoYXZlIGxvdHMgb2YgZXh0ZW5zaW9ucywgc28gdGhlICJmdWxsIHN1cHBvcnQiIG1heSBub3Qg YmUgMTAwJSB0cnVl4oCmCgorIGFjZS13aW5kb3cKKyBhZworIGFsZXJ0CisgYWxsLXRoZS1pY29u cworIGFubm90YXRlCisgYW56dQorIGFwcm9wb3MKKyBhcHQtc291cmNlcy1saXN0CisgYXJ0Ym9s bG9ja3MtbW9kZQorIGF1Y3RleCBhbmQgVGVYCisgYXV0by1kaW0tb3RoZXItYnVmZmVycworIGF2 eQorIGF3ZXNvbWUtdHJheQorIGJiZGIKKyBiaW5kZXIKKyBibQorIGJvbmdvCisgYm9vbgorIGJy ZWFrcG9pbnQgKHByb3ZpZGVkIGJ5IHRoZSBidWlsdC1pbiB7e3tmaWxlKGdkYi1taS5lbCl9fX0g bGlicmFyeSkKKyBidWZmZXItZXhwb3NlCisgY2FsZW5kYXIgYW5kIGRpYXJ5CisgY2FsZncKKyBj ZW50YXVyLXRhYnMKKyBjZnJzCisgY2hhbmdlLWxvZyBhbmQgbG9nLXZpZXcgKHN1Y2ggYXMgfnZj LXByaW50LWxvZ34sIH52Yy1wcmludC1yb290LWxvZ34pCisgY2lkZXIKKyBjaXJjZQorIGNvbG9y LXJnCisgY29sdW1uLWVuZm9yY2UtbW9kZQorIGNvbXBhbnktbW9kZSoKKyBjb21wYW55LXBvc2Zy YW1lCisgY29tcGlsYXRpb24tbW9kZQorIGNvbXBsZXRpb25zCisgY29uc3VsdAorIGNvdW5zZWwq CisgY291bnNlbC1jc3MKKyBjb3Vuc2VsLW5vdG11Y2gKKyBjb3Vuc2VsLW9yZy1jYXB0dXJlLXN0 cmluZworIGNvdgorIGNwZXJsLW1vZGUKKyBjc3YtbW9kZQorIGN0cmxmCisgY3VzdG9tICh3aGF0 IHlvdSBnZXQgd2l0aCB7e3trYmQoTS14IGN1c3RvbWl6ZSl9fX0pCisgZGFwLW1vZGUKKyBkYXNo Ym9hcmQgKGVtYWNzLWRhc2hib2FyZCkKKyBkZWFkZ3JlcAorIGRlYmJ1Z3MKKyBkZWZpbmUtd29y ZAorIGRlZnQKKyBkaWN0aW9uYXJ5CisgZGlmZi1obAorIGRpZmYtbW9kZQorIGRpbS1hdXRvbG9h ZAorIGRpci10cmVldmlldworIGRpcmVkCisgZGlyZWQtYXN5bmMKKyBkaXJlZC1naXQKKyBkaXJl ZC1naXQtaW5mbworIGRpcmVkLW5hcnJvdworIGRpcmVkLXN1YnRyZWUKKyBkaXJlZGMKKyBkaXJl ZGZsCisgZGlyZWRwIChkaXJlZCspCisgZGlzay11c2FnZQorIGRpc3BsYXktZmlsbC1jb2x1bW4t aW5kaWNhdG9yLW1vZGUKKyBkb29tLW1vZGVsaW5lCisgZHluYW1pYy1ydWxlcgorIGVhc3ktamVr eWxsCisgZWFzeS1raWxsCisgZWJkYgorIGVkaWZmCisgZWdsb3QKKyBlbC1zZWFyY2gKKyBlbGRv Yy1ib3gKKyBlbGZlZWQKKyBlbGZlZWQtc2NvcmUKKyBlbW1zCisgZW5oYW5jZWQtcnVieS1tb2Rl CisgZXBhCisgZXF1YWtlCisgZXJjCisgZXJvcworIGVydAorIGVzaGVsbAorIGVzaGVsbC1mcmlu Z2Utc3RhdHVzCisgZXNoZWxsLWdpdC1wcm9tcHQKKyBlc2hlbGwtcHJvbXB0LWV4dHJhcyAoZXBl KQorIGVzaGVsbC1zeW50YXgtaGlnaGxpZ2h0aW5nCisgZXZpbCogKGV2aWwtbW9kZSkKKyBldmls LWdvZ2dsZXMKKyBldmlsLXNuaXBlCisgZXZpbC12aXN1YWwtbWFyay1tb2RlCisgZXd3CisgZXh3 bQorIGV5ZWJyb3dzZQorIGZhbmN5LWRhYmJyZXYKKyBmbHljaGVjaworIGZseWNoZWNrLWNvbG9y LW1vZGUtbGluZQorIGZseWNoZWNrLWluZGljYXRvcgorIGZseWNoZWNrLXBvc2ZyYW1lCisgZmx5 bWFrZQorIGZseXNwZWxsCisgZmx5c3BlbGwtY29ycmVjdAorIGZseAorIGZyZWV6ZS1pdAorIGZy b2ctbWVudQorIGZvY3VzCisgZm9sZC10aGlzCisgZm9udC1sb2NrIChnZW5lcmljIHN5bnRheCBo aWdobGlnaHRpbmcpCisgZm9yZ2UKKyBmb3VudGFpbiAoZm91bnRhaW4tbW9kZSkKKyBnZWlzZXIK KyBnaXQtY29tbWl0CisgZ2l0LWd1dHRlciAoYW5kIHZhcmlhbnRzKQorIGdpdC1sZW5zCisgZ2l0 LXJlYmFzZQorIGdpdC10aW1lbWFjaGluZQorIGdpdC13YWxrdHJlZQorIGdudXMKKyBnb2xkZW4t cmF0aW8tc2Nyb2xsLXNjcmVlbgorIGhlbG0qCisgaGVsbS1scy1naXQKKyBoZWxtLXN3aXRjaC1z aGVsbAorIGhlbG0teHJlZgorIGhlbHBmdWwKKyBoaWdobGlnaHQtYmxvY2tzCisgaGlnaGxpZ2h0 LWRlZmluZWQKKyBoaWdobGlnaHQtZXNjYXBlLXNlcXVlbmNlcyAofmhlcy1tb2RlfikKKyBoaWdo bGlnaHQtaW5kZW50YXRpb24KKyBoaWdobGlnaHQtbnVtYmVycworIGhpZ2hsaWdodC1zeW1ib2wK KyBoaWdobGlnaHQtdGFpbAorIGhpZ2hsaWdodC10aGluZworIGhsLWRlZmluZWQKKyBobC1maWxs LWNvbHVtbgorIGhsLWxpbmUtbW9kZQorIGhsLXRvZG8KKyBoeWRyYQorIGh5cGVybGlzdAorIGli dWZmZXIKKyBpY29tcGxldGUKKyBpY29tcGxldGUtdmVydGljYWwKKyBpZG8tbW9kZQorIGllZGl0 CisgaWZsaXBiCisgaW1lbnUtbGlzdAorIGluZGl1bQorIGluZm8KKyBpbmZvLWNvbG9ycworIGlu dGVyYWN0aW9uLWxvZworIGlvY2N1cgorIGlzZWFyY2gsIG9jY3VyLCBldGMuCisgaXNsIChpc2Vh cmNoLWxpZ2h0KQorIGl2eSoKKyBpdnktcG9zZnJhbWUKKyBqaXJhIChvcmctamlyYSkKKyBqb3Vy bmFsY3RsLW1vZGUKKyBqczItbW9kZQorIGp1bGlhCisganVweXRlcgorIGthb2NoYS1ydW5uZXIK KyBrZXljYXN0CisgbGluZSBudW1iZXJzICh+ZGlzcGxheS1saW5lLW51bWJlcnMtbW9kZX4gYW5k IGdsb2JhbCB2YXJpYW50KQorIGxzcC1tb2RlCisgbHNwLXVpCisgbWFjcm9zdGVwCisgbWFnaXQK KyBtYWdpdC1pbWVyZ2UKKyBtYWtlLW1vZGUKKyBtYW4KKyBtYXJnaW5hbGlhCisgbWFya2Rvd24t bW9kZQorIG1hcmt1cC1mYWNlcyAofmFkb2MtbW9kZX4pCisgbWVudG9yCisgbWVzc2FnZXMKKyBt aW5pYnVmZmVyLWxpbmUKKyBtaW5pbWFwCisgbW1tLW1vZGUKKyBtb2RlbGluZQorIG1vb2QtbGlu ZQorIG1vb2R5CisgbXBkZWwKKyBtdTRlCisgbXU0ZS1jb252ZXJzYXRpb24KKyBtdWx0aXBsZS1j dXJzb3JzCisgbmVvdHJlZQorIG5vLWVtb2ppCisgbm90bXVjaAorIG51bTMtbW9kZQorIG54bWwt bW9kZQorIG9iamVkCisgb3JkZXJsZXNzCisgb3JnKgorIG9yZy1qb3VybmFsCisgb3JnLW5vdGVy Cisgb3JnLXBvbW9kb3JvCisgb3JnLXJlY3VyCisgb3JnLXJvYW0KKyBvcmctc3VwZXJzdGFyCisg b3JnLXRhYmxlLXN0aWNreS1oZWFkZXIKKyBvcmctdHJlZS1zbGlkZQorIG9yZy10cmVlc2NvcGUK KyBvcmlnYW1pCisgb3V0bGluZS1tb2RlCisgb3V0bGluZS1taW5vci1mYWNlcworIHBhY2thZ2Ug KHdoYXQgeW91IGdldCB3aXRoIHt7e2tiZChNLXggbGlzdC1wYWNrYWdlcyl9fX0pCisgcGFnZS1i cmVhay1saW5lcworIHBhcmFkb3gKKyBwYXJlbi1mYWNlCisgcGFycm90CisgcGFzcworIHBkZi10 b29scworIHBlcnNwLW1vZGUKKyBwZXJzcGVjdGl2ZQorIHBoaS1ncmVwCisgcGhpLXNlYXJjaAor IHBrZ2J1aWxkLW1vZGUKKyBwb21pZG9yCisgcG9wdXAKKyBwb3dlcmxpbmUKKyBwb3dlcmxpbmUt ZXZpbAorIHByaXNtIChbWyNoOmE5NDI3MmUwLTk5ZGEtNDE0OS05ZTgwLTExYTdlNjdhMmNmMl1b Tm90ZSBmb3IgcHJpc20uZWxdXSkKKyBwcm9jZWQKKyBwcm9kaWd5CisgcXVpY2stcGVlaworIHJh Y2tldC1tb2RlCisgcmFpbmJvdy1ibG9ja3MKKyByYWluYm93LWlkZW50aWZpZXJzCisgcmFpbmJv dy1kZWxpbWl0ZXJzCisgcmNpcmMKKyByZWN1cnNpb24taW5kaWNhdG9yCisgcmVnZXhwLWJ1aWxk ZXIgKGFsc28ga25vd24gYXMgfnJlLWJ1aWxkZXJ+KQorIHJnIChyZy5lbCkKKyByaXBncmVwCisg cm1haWwKKyBydWxlci1tb2RlCisgc2FsbGV0Cisgc2VsZWN0cnVtCisgc2VsZWN0cnVtLXByZXNj aWVudAorIHNlbWFudGljCisgc2VzbWFuCisgc2hlbGwtc2NyaXB0LW1vZGUKKyBzaG9ydGRvYwor IHNob3ctcGFyZW4tbW9kZQorIHNocgorIHNpZGUtbm90ZXMKKyBzaWV2ZS1tb2RlCisgc2tld2Vy LW1vZGUKKyBzbWFydC1tb2RlLWxpbmUKKyBzbWFydHBhcmVucworIHNtZXJnZQorIHNvbGFpcmUK KyBzcGFjZWxpbmUKKyBzcGVlZGJhcgorIHNwZWxsLWZ1Cisgc3ByYXkKKyBzdHJpcGVzCisgc3Vn Z2VzdAorIHN3aXRjaC13aW5kb3cKKyBzd2lwZXIKKyBzd29vcAorIHN4Cisgc3ltYm9sLW92ZXJs YXkKKyBzeXNsb2ctbW9kZQorIHRhYmxlIChidWlsdC1pbiB0YWJsZS5lbCkKKyB0ZWxlcGhvbmUt bGluZQorIHRlcnJhZm9ybS1tb2RlCisgdGVybQorIHRvbWF0aW5obworIHRyYW5zaWVudCAocG9w LXVwIHdpbmRvd3Mgc3VjaCBhcyBNYWdpdCdzKQorIHRyYXNoZWQKKyB0cmVlbWFjcworIHR0eS1t ZW51CisgdHVhcmVnCisgdHlwZXNjcmlwdAorIHVuZG8tdHJlZQorIHZjIChidWlsdC1pbiBtb2Rl IGxpbmUgc3RhdHVzIGZvciB2ZXJzaW9uIGNvbnRyb2wpCisgdmMtYW5ub3RhdGUgKHRoZSBvdXQg cHV0IG9mIHt7e2tiZChDLXggdiBnKX19fSkKKyB2ZGlmZgorIHZpbWlzaC1mb2xkCisgdmlzaWJs ZS1tYXJrCisgdmlzdWFsLXJlZ2V4cAorIHZvbGF0aWxlLWhpZ2hsaWdodHMKKyB2dGVybQorIHdj aGVjay1tb2RlCisgd2ViLW1vZGUKKyB3Z3JlcAorIHdoaWNoLWZ1bmN0aW9uLW1vZGUKKyB3aGlj aC1rZXkKKyB3aGl0ZXNwYWNlLW1vZGUKKyB3aW5kb3ctZGl2aWRlci1tb2RlCisgd2ludW0KKyB3 cml0ZWdvb2QtbW9kZQorIHdvbWFuCisgeGFoLWVsaXNwLW1vZGUKKyB4cmVmCisgeHRlcm0tY29s b3IgKGFuZCBhbnNpLWNvbG9ycykKKyB5YW1sLW1vZGUKKyB5YXNuaXBwZXQKKyB6dHJlZQoKUGx1 cyBtYW55IG90aGVyIG1pc2NlbGxhbmVvdXMgZmFjZXMgdGhhdCBhcmUgcHJvdmlkZWQgYnkgdGhl IHVwc3RyZWFtCkdOVSBFbWFjcyBkaXN0cmlidXRpb24uCgoqKiBJbmRpcmVjdGx5IGNvdmVyZWQg cGFja2FnZXMKOnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6MmNiMzU5YzctM2E4NC00MjYyLWJh YjMtZGNkYzFkMDAzNGQ3CjplbmQ6CiMrY2luZGV4OiBJbXBsaWNpdGx5IHN1cHBvcnRlZCBwYWNr YWdlcwoKVGhlc2UgZG8gbm90IHJlcXVpcmUgYW55IGV4dHJhIHN0eWxlcyBiZWNhdXNlIHRoZXkg YXJlIGNvbmZpZ3VyZWQgdG8KaW5oZXJpdCBmcm9tIHNvbWUgYmFzaWMgZmFjZXMuICBQbGVhc2Ug Y29uZmlybS4KCisgZWRpdC1pbmRpcmVjdAorIGV2aWwtb3dsCisgZm9ydHJhbi1tb2RlCisgZ29n Z2xlcworIGkzd20tY29uZmlnLW1vZGUKKyBwZXJsLW1vZGUKKyBwaHAtbW9kZQorIHJqc3gtbW9k ZQorIHN3aWZ0LW1vZGUKKyB0YWItYmFyLWVjaG8tYXJlYQoKKiBOb3RlcyBmb3IgaW5kaXZpZHVh bCBwYWNrYWdlcwo6cHJvcGVydGllczoKOmN1c3RvbV9pZDogaDo0YzRkOTAxYS04NGQ3LTRmMjAt YmQ5OS0wODA4YzJiMDZlYmEKOmVuZDoKClRoaXMgc2VjdGlvbiBjb3ZlcnMgaW5mb3JtYXRpb24g dGhhdCBtYXkgYmUgb2YgaW50ZXJlc3QgdG8gdXNlcnMgb2YKaW5kaXZpZHVhbCBwYWNrYWdlcy4K CioqIE5vdGUgZm9yIGRpc3BsYXktZmlsbC1jb2x1bW4taW5kaWNhdG9yLW1vZGUKOnByb3BlcnRp ZXM6CjpjdXN0b21faWQ6IGg6MmE2MDI4MTYtYmMxYi00NWJmLTk2NzUtNGNiYmQ3YmY2Y2FiCjpl bmQ6CgpXaGlsZSBkZXNpZ25pbmcgdGhlIHN0eWxlIGZvciB+ZGlzcGxheS1maWxsLWNvbHVtbi1p bmRpY2F0b3ItbW9kZX4sIHdlCnN0YXllZCBjbG9zZSB0byB0aGUgbW9kZSdzIGRlZmF1bHRzOiB0 byBhcHBseSBhIHN1YnRsZSBmb3JlZ3JvdW5kIGNvbG9yCnRvIHRoZSB+ZmlsbC1jb2x1bW4taW5k aWNhdG9yfiBmYWNlLCB3aGljaCBibGVuZHMgd2VsbCB3aXRoIHRoZSByZXN0IG9mCnRoZW1lIGFu ZCBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHJvbGUgb2YgdGhhdCBtb2RlLiAgVGhpcyBpcyB0byBu b3QKdXBzZXQgdGhlIGV4cGVjdGF0aW9ucyBvZiB1c2Vycy4KCk5ldmVydGhlbGVzcywgfmRpc3Bs YXktZmlsbC1jb2x1bW4taW5kaWNhdG9yLW1vZGV+IGhhcyBzb21lIGtub3duCmxpbWl0YXRpb25z IHBlcnRhaW5pbmcgdG8gaXRzIGNob2ljZSBvZiB1c2luZyB0eXBvZ3JhcGhpYyBjaGFyYWN0ZXJz IHRvCmRyYXcgaXRzIGluZGljYXRvci4gIFdoYXQgc2hvdWxkIGJlIGEgY29udGludW91cyB2ZXJ0 aWNhbCBsaW5lIG1pZ2h0CmFwcGVhciBhcyBhIHNlcmllcyBvZiBkYXNoZXMgaW4gY2VydGFpbiBj b250ZXh0cyBvciB1bmRlciBzcGVjaWZpYwpjb25kaXRpb25zOiBhIG5vbi1kZWZhdWx0IHZhbHVl IGZvciB+bGluZS1zcGFjaW5nfiwgc2NhbGVkIGFuZC9vcgp2YXJpYWJsZS1waXRjaCBoZWFkaW5n cyBoYXZlIGJlZW4gb2JzZXJ2ZWQgdG8gY2F1c2UgdGhpcyBlZmZlY3QuCgpHaXZlbiB0aGF0IHdl IGNhbm5vdCBjb250cm9sIHN1Y2ggZmFjdG9ycywgaXQgbWF5IGJlIGJldHRlciBmb3IgYWZmZWN0 ZWQKdXNlcnMgdG8gZGV2aWF0ZSBmcm9tIHRoZSBkZWZhdWx0IHN0eWxlIG9mIHRoZSB+ZmlsbC1j b2x1bW4taW5kaWNhdG9yfgpmYWNlLiAgSW5zdGVhZCBvZiBzZXR0aW5nIGEgZm9yZWdyb3VuZCBj b2xvciwgb25lIGNvdWxkIHVzZSBhIGJhY2tncm91bmQKYW5kIGhhdmUgdGhlIGZvcmVncm91bmQg YmUgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBpdC4gIEZvciBleGFtcGxlOgoKIytiZWdpbl9zcmMg ZW1hY3MtbGlzcAoobW9kdXMtdGhlbWVzLXdpdGgtY29sb3JzCiAgKGN1c3RvbS1zZXQtZmFjZXMK ICAgYChmaWxsLWNvbHVtbi1pbmRpY2F0b3IgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJnLWluYWN0 aXZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmb3JlZ3JvdW5kICxiZy1p bmFjdGl2ZSkpKSkpCiMrZW5kX3NyYwoKW1sjaDo1MWJhMzU0Ny1iOGM4LTQwZDYtYmE1YS00NTg2 NDc3ZmQ0YWVdW0ZhY2Ugc3BlY3MgYXQgc2NhbGUgdXNpbmcgdGhlIHRoZW1lcycgcGFsZXR0ZV1d LgoKKiogTm90ZSBmb3IgbW1tLW1vZGUuZWwgYmFja2dyb3VuZCBjb2xvcnMKOnByb3BlcnRpZXM6 CjpjdXN0b21faWQ6IGg6OTljZjBkNmMtZTQ3OC00ZTI2LTk5MzItM2JmMzQyN2QxM2Y2CjplbmQ6 CgpUaGUgZmFjZXMgdXNlZCBieSB7e3tmaWxlKG1tbS1tb2RlLmVsKX19fSBhcmUgZXhwZWN0ZWQg dG8gaGF2ZSBhIGNvbG9yZnVsCmJhY2tncm91bmQsIHdoaWxlIHRoZXkgc2hvdWxkIG5vdCB0b3Vj aCBhbnkgZm9yZWdyb3VuZCB2YWx1ZS4gIFRoZSBpZGVhCmlzIHRoYXQgdGhleSBtdXN0IG5vdCBp bnRlcmZlcmUgd2l0aCBleGlzdGluZyBmb250aWZpY2F0aW9uLiAgVGhvc2UKYmFja2dyb3VuZCBj b2xvcnMgbmVlZCB0byBiZSBkaXN0aW5jdCBmcm9tIGVhY2ggb3RoZXIsIHN1Y2ggYXMgYW4KdW5h bWJpZ3VvdXMgcmVkIGp1eHRhcG9zZWQgd2l0aCBhIGNsZWFyIGJsdWUuCgpXaGlsZSB0aGlzIGRl c2lnbiBtYXkgYmUgaW50ZXJuYWxseSBjb25zaXN0ZW50IHdpdGggdGhlIHJhaXNvbiBkJ8OqdHJl IG9mCnRoYXQgbGlicmFyeSwgaXQgaW5ldml0YWJseSBwcm9kdWNlcyBpbmFjY2Vzc2libGUgY29s b3IgY29tYmluYXRpb25zLgoKVGhlcmUgYXJlIHR3byBjb21wZXRpbmcgZ29hbHMgYXQgcGxheToK CjEuIExlZ2liaWxpdHkgb2YgdGhlIHRleHQsIHVuZGVyc3Rvb2QgYXMgdGhlIGNvbnRyYXN0IHJh dGlvIGJldHdlZW4gdGhlCiAgIGJhY2tncm91bmQgYW5kIHRoZSBmb3JlZ3JvdW5kLgoKMi4gU2Vt YW50aWMgcHJlY2lzaW9uIG9mIGVhY2ggZmFjZSB3aGljaCBlbnRhaWxzIGZhaXRoZnVsbmVzcyB0 bwogICBjb2xvci1jb2Rpbmcgb2YgdGhlIHVuZGVybHlpbmcgYmFja2dyb3VuZC4KCkFzIHRoZSBN b2R1cyB0aGVtZXMgYXJlIGRlc2lnbmVkIHdpdGggdGhlIGV4cHJlc3MgcHVycG9zZSBvZiBjb25m b3JtaW5nCndpdGggdGhlIGZpcnN0IHBvaW50LCB3ZSBoYXZlIHRvIGZvcmdvIHRoZSBhcHBhcmVu dCBjb2xvci1jb2Rpbmcgb2YgdGhlCmJhY2tncm91bmQgZWxlbWVudHMuICBJbnN0ZWFkIHdlIHVz ZSBzdWJ0bGUgY29sb3JzIHRoYXQgZG8gbm90IHVuZGVybWluZQp0aGUgbGVnaWJpbGl0eSBvZiB0 aGUgYWZmZWN0ZWQgdGV4dCB3aGlsZSB0aGV5IHN0aWxsIG9mZmVyIGEgc2Vuc2Ugb2YKYWRkZWQg Y29udGV4dC4KClVzZXJzIHdobyBtaWdodCBwcmVmZXIgdG8gZmFsbCBiZWxvdyB0aGUgbWluaW11 bSA3OjEgY29udHJhc3QgcmF0aW8gaW4KcmVsYXRpdmUgbHVtaW5hbmNlICh0aGUgYWNjZXNzaWJp bGl0eSB0YXJnZXQgd2UgY29uZm9ybSB3aXRoKSwgY2FuIG9wdAp0byBjb25maWd1cmUgdGhlIHJl bGV2YW50IGZhY2VzIG9uIHRoZWlyIG93bi4KCltbI2g6NTFiYTM1NDctYjhjOC00MGQ2LWJhNWEt NDU4NjQ3N2ZkNGFlXVtGYWNlIHNwZWNzIGF0IHNjYWxlIHVzaW5nIHRoZSB0aGVtZXMnIHBhbGV0 dGVdXS4KClRoaXMgZXhhbXBsZSB1c2VzIG1vcmUgdml2aWQgYmFja2dyb3VuZCBjb2xvcnMsIHRo b3VnaCBpdCBjb21lcyBhdCB0aGUKdmVyeSBoaWdoIGNvc3Qgb2YgZGVncmFkZWQgbGVnaWJpbGl0 eS4KCiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKG1vZHVzLXRoZW1lcy13aXRoLWNvbG9ycwogIChj dXN0b20tc2V0LWZhY2VzCiAgIGAobW1tLWNsZWFudXAtc3VibW9kZS1mYWNlICgoLGNsYXNzIDpi YWNrZ3JvdW5kICx5ZWxsb3ctcmVmaW5lLWJnKSkpCiAgIGAobW1tLWNvZGUtc3VibW9kZS1mYWNl ICgoLGNsYXNzIDpiYWNrZ3JvdW5kICxiZy1hY3RpdmUpKSkKICAgYChtbW0tY29tbWVudC1zdWJt b2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91bmQgLGJsdWUtcmVmaW5lLWJnKSkpCiAgIGAobW1t LWRlY2xhcmF0aW9uLXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsY3lhbi1yZWZp bmUtYmcpKSkKICAgYChtbW0tZGVmYXVsdC1zdWJtb2RlLWZhY2UgKCgsY2xhc3MgOmJhY2tncm91 bmQgLGJnLWFsdCkpKQogICBgKG1tbS1pbml0LXN1Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dy b3VuZCAsbWFnZW50YS1yZWZpbmUtYmcpKSkKICAgYChtbW0tb3V0cHV0LXN1Ym1vZGUtZmFjZSAo KCxjbGFzcyA6YmFja2dyb3VuZCAscmVkLXJlZmluZS1iZykpKQogICBgKG1tbS1zcGVjaWFsLXN1 Ym1vZGUtZmFjZSAoKCxjbGFzcyA6YmFja2dyb3VuZCAsZ3JlZW4tcmVmaW5lLWJnKSkpKSkKIytl bmRfc3JjCgoqKiBOb3RlIGZvciBwcmlzbS5lbAo6cHJvcGVydGllczoKOmFsdF90aXRsZTogTm90 ZSBmb3IgcHJpc20KOmN1c3RvbV9pZDogaDphOTQyNzJlMC05OWRhLTQxNDktOWU4MC0xMWE3ZTY3 YTJjZjIKOmVuZDoKClRoaXMgcGFja2FnZSBieSBBZGFtIFBvcnRlciwgYWthICJhbHBoYXBhcGEi IG9yICJnaXRodWItYWxwaGFwYXBhIiwKaW1wbGVtZW50cyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUg dHlwaWNhbCBjb2xvcmF0aW9uIG9mIGNvZGUuICBJbnN0ZWFkIG9mCmhpZ2hsaWdodGluZyB0aGUg c3ludGFjdGljIGNvbnN0cnVjdHMsIGl0IGFwcGxpZXMgY29sb3IgdG8gZGlmZmVyZW50CmxldmVs cyBvZiBkZXB0aCBpbiB0aGUgY29kZSBzdHJ1Y3R1cmUuCgpBcyB7e3tmaWxlKHByaXNtLmVsKX19 fSBvZmZlcnMgYSBicm9hZCByYW5nZSBvZiBjdXN0b21pc2F0aW9ucywgd2UgY2Fubm90CnN0eWxl IGl0IGRpcmVjdGx5IGF0IHRoZSB0aGVtZSBsZXZlbDogdGhhdCB3b3VsZCBydW4gY29udHJhcnkg dG8gdGhlCnNwaXJpdCBvZiB0aGUgcGFja2FnZS4gIEluc3RlYWQsIHdlIG1heSBvZmZlciBwcmVz ZXQgY29sb3Igc2NoZW1lcy4KVGhvc2Ugc2hvdWxkIG9mZmVyIGEgc3RhcnRpbmcgcG9pbnQgZm9y IHVzZXJzIHRvIGFkYXB0IHRvIHRoZWlyIG5lZWRzLgoKSW4gdGhlIGZvbGxvd2luZyBjb2RlIHNu aXBwZXRzLCB3ZSBlbXBsb3kgdGhlIH5tb2R1cy10aGVtZXMtd2l0aC1jb2xvcnN+Cm1hY3JvOiBb WyNoOjUxYmEzNTQ3LWI4YzgtNDBkNi1iYTVhLTQ1ODY0NzdmZDRhZV1bRmFjZSBzcGVjcyBhdCBz Y2FsZSB1c2luZyB0aGUgdGhlbWVzJyBwYWxldHRlXV0uCgpUaGVzZSBhcmUgdGhlIG1pbmltdW0g cmVjb21tZW5kZWQgc2V0dGluZ3Mgd2l0aCAxNiBjb2xvcnM6CgojK2JlZ2luX3NyYyBlbWFjcy1s aXNwCihzZXRxIHByaXNtLW51bS1mYWNlcyAxNikKCihwcmlzbS1zZXQtY29sb3JzCiAgOmRlc2F0 dXJhdGlvbnMgJygwKSA7IGRvIG5vdCBjaGFuZ2UtLS1tYXkgbG93ZXIgdGhlIGNvbnRyYXN0IHJh dGlvCiAgOmxpZ2h0ZW5zICcoMCkgICAgICA7IHNhbWUKICA6Y29sb3JzIChtb2R1cy10aGVtZXMt d2l0aC1jb2xvcnMKICAgICAgICAgICAgKGxpc3QgZmctbWFpbgogICAgICAgICAgICAgICAgICBt YWdlbnRhCiAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVyCiAgICAgICAgICAgICAgICAg IG1hZ2VudGEtYWx0LW90aGVyCiAgICAgICAgICAgICAgICAgIGJsdWUKICAgICAgICAgICAgICAg ICAgbWFnZW50YS1hbHQKICAgICAgICAgICAgICAgICAgY3lhbi1hbHQKICAgICAgICAgICAgICAg ICAgcmVkLWFsdC1vdGhlcgogICAgICAgICAgICAgICAgICBncmVlbgogICAgICAgICAgICAgICAg ICBmZy1tYWluCiAgICAgICAgICAgICAgICAgIGN5YW4KICAgICAgICAgICAgICAgICAgeWVsbG93 CiAgICAgICAgICAgICAgICAgIGJsdWUtYWx0CiAgICAgICAgICAgICAgICAgIHJlZC1hbHQKICAg ICAgICAgICAgICAgICAgZ3JlZW4tYWx0LW90aGVyCiAgICAgICAgICAgICAgICAgIGZnLXNwZWNp YWwtd2FybSkpKQojK2VuZF9zcmMKCldpdGggOCBjb2xvcnM6CgojK2JlZ2luX3NyYyBlbWFjcy1s aXNwCihzZXRxIHByaXNtLW51bS1mYWNlcyA4KQoKKHByaXNtLXNldC1jb2xvcnMKICA6ZGVzYXR1 cmF0aW9ucyAnKDApIDsgZG8gbm90IGNoYW5nZS0tLW1heSBsb3dlciB0aGUgY29udHJhc3QgcmF0 aW8KICA6bGlnaHRlbnMgJygwKSAgICAgIDsgc2FtZQogIDpjb2xvcnMgKG1vZHVzLXRoZW1lcy13 aXRoLWNvbG9ycwogICAgICAgICAgICAobGlzdCBmZy1zcGVjaWFsLWNvbGQKICAgICAgICAgICAg ICAgICAgbWFnZW50YQogICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcgogICAgICAg ICAgICAgICAgICBjeWFuLWFsdC1vdGhlcgogICAgICAgICAgICAgICAgICBmZy1tYWluCiAgICAg ICAgICAgICAgICAgIGJsdWUtYWx0CiAgICAgICAgICAgICAgICAgIHJlZC1hbHQtb3RoZXIKICAg ICAgICAgICAgICAgICAgY3lhbikpKQojK2VuZF9zcmMKCkFuZCB0aGlzIGlzIHdpdGggNCBjb2xv cnMsIHdoaWNoIHByb2R1Y2VzIHJlc3VsdHMgdGhhdCBhcmUgdGhlIGNsb3Nlc3QKdG8gdGhlIHRo ZW1lcycgZGVmYXVsdCBhZXN0aGV0aWM6CgojK2JlZ2luX3NyYyBlbWFjcy1saXNwCihzZXRxIHBy aXNtLW51bS1mYWNlcyA0KQoKKHByaXNtLXNldC1jb2xvcnMKICA6ZGVzYXR1cmF0aW9ucyAnKDAp IDsgZG8gbm90IGNoYW5nZS0tLW1heSBsb3dlciB0aGUgY29udHJhc3QgcmF0aW8KICA6bGlnaHRl bnMgJygwKSAgICAgIDsgc2FtZQogIDpjb2xvcnMgKG1vZHVzLXRoZW1lcy13aXRoLWNvbG9ycwog ICAgICAgICAgICAobGlzdCBmZy1tYWluCiAgICAgICAgICAgICAgICAgIGN5YW4tYWx0LW90aGVy CiAgICAgICAgICAgICAgICAgIG1hZ2VudGEtYWx0LW90aGVyCiAgICAgICAgICAgICAgICAgIG1h Z2VudGEpKSkKIytlbmRfc3JjCgpJZiB5b3UgbmVlZCB0byBhcHBseSBkZXNhdHVyYXRpb24gYW5k IGxpZ2h0ZW5pbmcsIHlvdSBjYW4gdXNlIHdoYXQgdGhlCnt7e2ZpbGUocHJpc20uZWwpfX19IGRv Y3VtZW50YXRpb24gcmVjb21tZW5kcywgbGlrZSB0aGlzIChhZGFwdGluZyB0byB0aGUKZXhhbXBs ZXMgd2l0aCB0aGUgNCwgOCwgMTYgY29sb3JzKToKCiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKHBy aXNtLXNldC1jb2xvcnMKICA6ZGVzYXR1cmF0aW9ucyAoY2wtbG9vcCBmb3IgaSBmcm9tIDAgYmVs b3cgMTYgY29sbGVjdCAoKiBpIDIuNSkpCiAgOmxpZ2h0ZW5zIChjbC1sb29wIGZvciBpIGZyb20g MCBiZWxvdyAxNiBjb2xsZWN0ICgqIGkgMi41KSkKICA6Y29sb3JzIChtb2R1cy10aGVtZXMtd2l0 aC1jb2xvcnMKICAgICAgICAgICAgKGxpc3QgZmctbWFpbgogICAgICAgICAgICAgICAgICBjeWFu LWFsdC1vdGhlcgogICAgICAgICAgICAgICAgICBtYWdlbnRhLWFsdC1vdGhlcgogICAgICAgICAg ICAgICAgICBtYWdlbnRhKSkpCiMrZW5kX3NyYwoKKiogTm90ZSBvbiBjb21wYW55LW1vZGUgb3Zl cmxheSBwb3AtdXAKOnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6MjBjZWY4YzQtZDExZi00MDUz LThiMmMtMjg3MjkyNTc4MGIxCjplbmQ6CgpCeSBkZWZhdWx0LCB0aGUgfmNvbXBhbnktbW9kZX4g cG9wLXVwIHRoYXQgbGlzdHMgY29tcGxldGlvbiBjYW5kaWRhdGVzIGlzCmRyYXduIHVzaW5nIGFu IG92ZXJsYXkuICBUaGlzIGNyZWF0ZXMgYWxpZ25tZW50IGlzc3VlcyBldmVyeSB0aW1lIGl0IGlz CnBsYWNlZCBhYm92ZSBhIHBpZWNlIG9mIHRleHQgdGhhdCBoYXMgYSBkaWZmZXJlbnQgaGVpZ2h0 IHRoYW4gdGhlCmRlZmF1bHQuCgpUaGUgc29sdXRpb24gcmVjb21tZW5kZWQgYnkgdGhlIHByb2pl Y3QncyBtYWludGFpbmVyIGlzIHRvIHVzZSBhbgphbHRlcm5hdGl2ZSBmcm9udC1lbmQgZm9yIGRy YXdpbmcgdGhlIHBvcC11cCB3aGljaCBkcmF3cyBjaGlsZCBmcmFtZXMKaW5zdGVhZCBvZiBvdmVy bGF5cy5bZm46OgpodHRwczovL2dpdGh1Yi5jb20vY29tcGFueS1tb2RlL2NvbXBhbnktbW9kZS9p c3N1ZXMvMTAxMF1bZm46OgpodHRwczovL2dpdGh1Yi5jb20vdHVtYXNodS9jb21wYW55LXBvc2Zy YW1lL10KCioqIE5vdGUgZm9yIEVSQyBlc2NhcGVkIGNvbG9yIHNlcXVlbmNlcwo6cHJvcGVydGll czoKOmN1c3RvbV9pZDogaDo5OGJkZjMxOS0xZTMyLTQ0NjktOGEwMS03NzEyMDBmYmE2NWMKOmVu ZDoKClRoZSBidWlsdC1pbiBJUkMgY2xpZW50IH5lcmN+IGhhcyB0aGUgYWJpbGl0eSB0byBjb2xv cmlzZSBhbnkgdGV4dCB1c2luZwplc2NhcGUgc2VxdWVuY2VzIHRoYXQgc3RhcnQgd2l0aCA9XkM9 IChpbnNlcnRlZCB3aXRoIHt7e2tiZChDLXEgQy1jKX19fSkgYW5kIGFyZQpmb2xsb3dlZCBieSBh IG51bWJlciBmb3IgdGhlIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQuW2ZuOjogVGhpcyBwYWdl CmV4cGxhaW5zIHRoZSBiYXNpY3MsIHRob3VnaCBpdCBpcyBub3Qgc3BlY2lmaWMgdG8gRW1hY3M6 Cmh0dHBzOi8vd3d3Lm1pcmMuY29tL2NvbG9ycy5odG1sXSBQb3NzaWJsZSBudW1iZXJzIGFyZSAw LTE1LCB3aXRoIHRoZQpmaXJzdCBlbnRyeSBiZWluZyB0aGUgZm9yZWdyb3VuZCBhbmQgdGhlIHNl Y29uZCB0aGUgYmFja2dyb3VuZCwKc2VwYXJhdGVkIGJ5IGEgY29tbWEuICBMaWtlIHRoaXMgPV5D MSw2PS4gIFRoZSBtaW5pbXVtIHNldHVwIGlzIHRoaXM6CgojK2JlZ2luX3NyYyBlbWFjcy1saXNw CihhZGQtdG8tbGlzdCAnZXJjLW1vZHVsZXMgJ2lyY2NvbnRyb2xzKQooc2V0cSBlcmMtaW50ZXJw cmV0LWNvbnRyb2xzLXAgdAogICAgICBlcmMtaW50ZXJwcmV0LW1pcmMtY29sb3IgdCkKIytlbmRf c3JjCgpBcyB0aGlzIGFsbG93cyB1c2VycyB0aGUgY2hhbmNlIHRvIG1ha2UgYXJiaXRyYXJ5IGNv bWJpbmF0aW9ucywgaXQgaXMKaW1wb3NzaWJsZSB0byBndWFyYW50ZWUgYSBjb25zaXN0ZW50bHkg aGlnaCBjb250cmFzdCByYXRpby4gIEFsbCB3ZSBjYW4Kd2UgZG8gaXMgcHJvdmlkZSBndWlkYW5j ZSBvbiB0aGUgY29tYmluYXRpb25zIHRoYXQgc2F0aXNmeSB0aGUKYWNjZXNzaWJpbGl0eSBzdGFu ZGFyZCBvZiB0aGUgdGhlbWVzOgoKKyBNb2R1cyBPcGVyYW5kaSA6OiBVc2UgZm9yZWdyb3VuZCBj b2xvciAxIGZvciBhbGwgYmFja2dyb3VuZHMgZnJvbQogIDItMTUuICBMaWtlIHNvOiB7e3trYmQo Qy1xIEMtYzEsTil9fX0gd2hlcmUgPU49IGlzIHRoZSBiYWNrZ3JvdW5kLgoKKyBNb2R1cyBWaXZl bmRpIDo6IFVzZSBmb3JlZ3JvdW5kIGNvbG9yIDAgZm9yIGFsbCBiYWNrZ3JvdW5kcyBmcm9tCiAg Mi0xMy4gIFVzZSBmb3JlZ3JvdW5kID0xPSBmb3IgYmFja2dyb3VuZHMgMTQsIDE1LgoKQ29sb3Jz IDAgYW5kIDEgYXJlIHdoaXRlIGFuZCBibGFjayByZXNwZWN0aXZlbHkuICBTbyBjb21iaW5lIHRo ZW0KdG9nZXRoZXIsIGlmIHlvdSBtdXN0LgoKKiogTm90ZSBmb3IgcG93ZXJsaW5lIG9yIHNwYWNl bGluZQo6cHJvcGVydGllczoKOmN1c3RvbV9pZDogaDo5MTMwYThiYS1kOGUzLTQxYmUtYTU4Yi0z Y2IxZWI3YjZkMTcKOmVuZDoKCkJvdGggUG93ZXJsaW5lIGFuZCBTcGFjZWxpbmUgcGFja2FnZSB1 c2VycyB3aWxsIGxpa2VseSBuZWVkIHRvIHVzZSB0aGUKY29tbWFuZCB+cG93ZXJsaW5lLXJlc2V0 fiB3aGVuZXZlciB0aGV5IG1ha2UgY2hhbmdlcyB0byB0aGVpciB0aGVtZXMKYW5kL29yIG1vZGVs aW5lIHNldHVwLgoKKiogTm90ZSBvbiBTSFIgY29sb3JzCjpwcm9wZXJ0aWVzOgo6Y3VzdG9tX2lk OiBoOjRjYzc2N2RjLWZmZWYtNGM1Yy05ZjEwLTgyZWI3Yjg5MjFiZgo6ZW5kOgoKRW1hY3MnIEhU TUwgcmVuZGVyaW5nIGxpYnJhcnkgKHt7e2ZpbGUoc2hyLmVsKX19fSkgbWF5IG5lZWQgZXhwbGlj aXQKY29uZmlndXJhdGlvbiB0byByZXNwZWN0IHRoZSB0aGVtZSdzIGNvbG9ycyBpbnN0ZWFkIG9m IHdoYXRldmVyCnNwZWNpZmljYXRpb25zIHRoZSB3ZWJwYWdlIHByb3ZpZGVzLgoKQ29uc3VsdCB7 e3trYmQoQy1oIHYgc2hyLXVzZS1jb2xvcnMpfX19LgoKKiogTm90ZSBmb3IgSGVsbSBncmVwCjpw cm9wZXJ0aWVzOgo6Y3VzdG9tX2lkOiBoOmQyODg3OWEyLThlNGItNDUyNS05ODZlLTE0YzBmODcz ZDIyOQo6ZW5kOgoKVGhlcmUgaXMgb25lIGZhY2UgZnJvbSB0aGUgSGVsbSBwYWNrYWdlIHRoYXQg aXMgbWVhbnQgdG8gaGlnaGxpZ2h0IHRoZQptYXRjaGVzIG9mIGEgZ3JlcCBvciBncmVwLWxpa2Ug Y29tbWFuZCAoPWFnPSBvciA9cmlwZ3JlcD0pLiAgSXQgaXMKfmhlbG0tZ3JlcC1tYXRjaH4uICBI b3dldmVyLCB0aGlzIGZhY2UgY2FuIG9ubHkgYXBwbHkgd2hlbiB0aGUgdXNlciBkb2VzCm5vdCBw YXNzID0tLWNvbG9yPWFsd2F5cz0gYXMgYSBjb21tYW5kLWxpbmUgb3B0aW9uIGZvciB0aGVpciBj b21tYW5kLgoKSGVyZSBpcyB0aGUgZG9jc3RyaW5nIGZvciB0aGF0IGZhY2UsIHdoaWNoIGlzIGRl ZmluZWQgaW4gdGhlCnt7e2ZpbGUoaGVsbS1ncmVwLmVsKX19fSBsaWJyYXJ5ICh5b3UgY2FuIGFs d2F5cyB2aXNpdCB0aGUgc291cmNlIGNvZGUgd2l0aAp7e3trYmQoTS14IGZpbmQtbGlicmFyeSl9 fX0pLgoKIytiZWdpbl9xdW90ZQpGYWNlIHVzZWQgdG8gaGlnaGxpZ2h0IGdyZXAgbWF0Y2hlcy4g IEhhdmUgbm8gZWZmZWN0IHdoZW4gZ3JlcCBiYWNrZW5kCnVzZSAiLS1jb2xvcj0iCiMrZW5kX3F1 b3RlCgpUaGUgdXNlciBtdXN0IGVpdGhlciByZW1vdmUgPS0tY29sb3I9IGZyb20gdGhlIGZsYWdz IHBhc3NlZCB0byB0aGUgZ3JlcApmdW5jdGlvbiwgb3IgZXhwbGljaXRseSB1c2UgPS0tY29sb3I9 bmV2ZXI9IChvciBlcXVpdmFsZW50KS4gIEhlbG0KcHJvdmlkZXMgdXNlci1mYWNpbmcgY3VzdG9t aXphdGlvbiBvcHRpb25zIGZvciBjb250cm9sbGluZyB0aGUgZ3JlcApmdW5jdGlvbidzIHBhcmFt ZXRlcnMsIHN1Y2ggYXMgfmhlbG0tZ3JlcC1kZWZhdWx0LWNvbW1hbmR+IGFuZAp+aGVsbS1ncmVw LWdpdC1ncmVwLWNvbW1hbmR+LgoKV2hlbiA9LS1jb2xvcj1hbHdheXM9IGlzIGluIGVmZmVjdCwg dGhlIGdyZXAgb3V0cHV0IHdpbGwgdXNlIHJlZCB0ZXh0IGluCmJvbGQgbGV0dGVyIGZvcm1zIHRv IHByZXNlbnQgdGhlIG1hdGNoaW5nIHBhcnQgaW4gdGhlIGxpc3Qgb2YKY2FuZGlkYXRlcy4gIFRo YXQgc3R5bGUgc3RpbGwgbWVldHMgdGhlIGNvbnRyYXN0IHJhdGlvIHRhcmdldCBvZiA+PSA3OjEK KGFjY2Vzc2liaWxpdHkgc3RhbmRhcmQgV0NBRyBBQUEpLCBiZWNhdXNlIGl0IGRyYXdzIHRoZSBy ZWZlcmVuY2UgdG8KQU5TSSBjb2xvciBudW1iZXIgMSAocmVkKSBmcm9tIHRoZSBhbHJlYWR5LXN1 cHBvcnRlZCBhcnJheSBvZgp+YW5zaS1jb2xvci1uYW1lcy12ZWN0b3J+LgoKKiogTm90ZSBvbiB2 Yy1hbm5vdGF0ZS1iYWNrZ3JvdW5kLW1vZGUKOnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6NTA5 NWNiZDEtZTE3YS00MTljLTkzZTgtOTUxYzE4NjM2MmEzCjplbmQ6CgpEdWUgdG8gdGhlIHVuaXF1 ZSB3YXkgfnZjLWFubm90YXRlfiAoe3t7a2JkKEMteCB2IGcpfX19KSBhcHBsaWVzIGNvbG9ycywg c3VwcG9ydApmb3IgaXRzIGJhY2tncm91bmQgbW9kZSAofnZjLWFubm90YXRlLWJhY2tncm91bmQt bW9kZX4pIGlzIGRpc2FibGVkIGF0IHRoZQp0aGVtZSBsZXZlbC4KCk5vcm1hbGx5LCBzdWNoIGEg ZHJhc3RpYyBtZWFzdXJlIHNob3VsZCBub3QgYmVsb25nIGluIGEgdGhlbWU6IGFzc3VtaW5nCnRo ZSB1c2VyJ3MgcHJlZmVyZW5jZXMgaXMgYmFkIHByYWN0aWNlLiAgSG93ZXZlciwgaXQgaGFzIGJl ZW4gZGVlbWVkCm5lY2Vzc2FyeSBpbiB0aGUgaW50ZXJlc3Qgb2YgcHJlc2VydmluZyBjb2xvciBj b250cmFzdCBhY2Nlc3NpYmlsaXR5CndoaWxlIHN0aWxsIHN1cHBvcnRpbmcgYSB1c2VmdWwgYnVp bHQtaW4gdG9vbC4KCklmIHRoZXJlIGFjdHVhbGx5IGlzIGEgd2F5IHRvIGF2b2lkIHN1Y2ggYSBj b3Vyc2Ugb2YgYWN0aW9uLCB3aXRob3V0CnByZWp1ZGljZSB0byB0aGUgYWNjZXNzaWJpbGl0eSBz dGFuZGFyZCBvZiB0aGlzIHByb2plY3QsIHRoZW4gcGxlYXNlCnJlcG9ydCBhcyBtdWNoIG9yIHNl bmQgcGF0Y2hlcyAoW1sjaDo5YzNjZDg0Mi0xNGI3LTQ0ZDctODRiMi1hNWM4YmMzZmMzYjFdW0Nv bnRyaWJ1dGluZ11dKS4KCioqIE5vdGUgb24gcGRmLXRvb2xzIGxpbmsgaGludHMKOnByb3BlcnRp ZXM6CjpjdXN0b21faWQ6IGg6MjY1OWQxM2UtYjFhNS00MTZjLTlhODktN2MzY2UzYTc2NTc0Cjpl bmQ6CgpIaW50cyBhcmUgZHJhd24gYnkgW1todHRwczovL2ltYWdlbWFnaWNrLm9yZy9dW0ltYWdl TWFnaWNrXV0sIG5vdCBFbWFjcywgaS5lLiwgSW1hZ2VNYWdpY2sgZG9lc24ndAprbm93IGFib3V0 IHRoZSBoaW50IGZhY2UgdW5sZXNzIHlvdSB0ZWxsIEltYWdlTWFnaWNrIGFib3V0IGl0LiBCeQpk ZWZhdWx0LCBvbmx5IHRoZSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIGF0dHJpYnV0 ZXMgYXJlCnBhc3NlZC4gVGhlIGJlbG93IHNuaXBwZXQgYWRkcyB0byB0aG9zZSB0aGUgdmFyaW91 cyBmb250IGF0dHJpYnV0ZXMuICBBcwppdCBxdWVyaWVzIHZhcmlvdXMgZmFjZXMsIHNwZWNpZmlj YWxseSB+cGRmLWxpbmtzLXJlYWQtbGlua34gYW5kIHRoZSBmYWNlcwppdCBpbmhlcml0cywgaXQg bmVlZHMgdG8gYmUgYWRkZWQgdG8geW91ciBpbml0aWFsaXphdGlvbiBmaWxlIGFmdGVyCnlvdSd2 ZSBjdXN0b21pemVkIGFueSBmYWNlcy4KCiMrYmVnaW5fc3JjIGVtYWNzLWxpc3AKKHVzZS1wYWNr YWdlIHBkZi1saW5rcwogIDpjb25maWcKICAobGV0ICgoc3BlYwogICAgICAgICAoYXBwbHkgIydh cHBlbmQKICAgICAgICAgICAgICAgIChtYXBjYXIKICAgICAgICAgICAgICAgICAobGFtYmRhIChu YW1lKQogICAgICAgICAgICAgICAgICAgKGxpc3QgbmFtZQogICAgICAgICAgICAgICAgICAgICAg ICAgKGZhY2UtYXR0cmlidXRlICdwZGYtbGlua3MtcmVhZC1saW5rCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSBuaWwgJ2RlZmF1bHQpKSkKICAgICAgICAgICAg ICAgICAnKDpmYW1pbHkgOndpZHRoIDp3ZWlnaHQgOnNsYW50KSkpKSkKICAgIChzZXRxIHBkZi1s aW5rcy1yZWFkLWxpbmstY29udmVydC1jb21tYW5kcwogICAgICAgICAgYCgiLWRlbnNpdHkiICAg ICI5NiIKICAgICAgICAgICAgIi1mYW1pbHkiICAgICAsKHBsaXN0LWdldCBzcGVjIDpmYW1pbHkp CiAgICAgICAgICAgICItc3RyZXRjaCIgICAgLChsZXQqICgod2lkdGggKHBsaXN0LWdldCBzcGVj IDp3aWR0aCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmFtZSAoc3ltYm9s LW5hbWUgd2lkdGgpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVwbGFjZS1yZWdl eHAtaW4tc3RyaW5nICItIiAiIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGNhcGl0YWxpemUgbmFtZSkpKQogICAgICAgICAgICAiLXdlaWdo dCIgICAgICwocGNhc2UgKHBsaXN0LWdldCBzcGVjIDp3ZWlnaHQpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKCd1bHRyYS1saWdodCAiVGhpbiIpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKCdleHRyYS1saWdodCAiRXh0cmFMaWdodCIpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKCdsaWdodCAgICAgICAiTGlnaHQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgnc2VtaS1ib2xkICAgIlNlbWlCb2xkIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo J2JvbGQgICAgICAgICJCb2xkIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2V4dHJh LWJvbGQgICJFeHRyYUJvbGQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgndWx0cmEt Ym9sZCAgIkJsYWNrIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoX3dlaWdodCAgICAg ICJOb3JtYWwiKSkKICAgICAgICAgICAgIi1zdHlsZSIgICAgICAsKHBjYXNlIChwbGlzdC1nZXQg c3BlYyA6c2xhbnQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdpdGFsaWMgICJJdGFs aWMiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnb2JsaXF1ZSAiT2JsaXF1ZSIpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9zbGFudCAgICJOb3JtYWwiKSkKICAgICAgICAg ICAgIi1wb2ludHNpemUiICAiJVAiCiAgICAgICAgICAgICItdW5kZXJjb2xvciIgIiVmIgogICAg ICAgICAgICAiLWZpbGwiICAgICAgICIlYiIKICAgICAgICAgICAgIi1kcmF3IiAgICAgICAidGV4 dCAlWCwlWSAnJWMnIikpKSkKIytlbmRfc3JjCgoqIENvbnRyaWJ1dGluZwo6cHJvcGVydGllczoK OmN1c3RvbV9pZDogaDo5YzNjZDg0Mi0xNGI3LTQ0ZDctODRiMi1hNWM4YmMzZmMzYjEKOmVuZDoK ClRoaXMgc2VjdGlvbiBkb2N1bWVudHMgdGhlIGNhbm9uaWNhbCBzb3VyY2VzIG9mIHRoZSB0aGVt ZXMgYW5kIHRoZSB3YXlzCmluIHdoaWNoIHlvdSBjYW4gY29udHJpYnV0ZSB0byB0aGVpciBvbmdv aW5nIGRldmVsb3BtZW50LgoKKiogU291cmNlcyBvZiB0aGUgdGhlbWVzCjpwcm9wZXJ0aWVzOgo6 Y3VzdG9tX2lkOiBoOjg5NTA0ZjFjLWM5YTEtNGJkOS1hYjM5LTc4ZmQwZWRkYjQ3Ywo6ZW5kOgoj K2NpbmRleDogU291cmNlcyBvZiB0aGUgdGhlbWVzCgpUaGUgfm1vZHVzLW9wZXJhbmRpfiBhbmQg fm1vZHVzLXZpdmVuZGl+IHRoZW1lcyBhcmUgYnVpbHQgaW50byBFbWFjcy4KQ3VycmVudGx5IHRo ZXkgYXJlIGluIEVtYWNzJyBnaXQgbWFpbiBicmFuY2ggKHRydW5rKSwgd2hpY2ggaXMgdHJhY2tp bmcKdGhlIG5leHQgZGV2ZWxvcG1lbnQgcmVsZWFzZSB0YXJnZXQuCgpUaGUgc291cmNlIGNvZGUg b2YgdGhlIHRoZW1lcyBpcyBbW2h0dHBzOi8vZ2l0bGFiLmNvbS9wcm90ZXNpbGFvcy9tb2R1cy10 aGVtZXMvXVthdmFpbGFibGUgb24gR2l0bGFiXV0sIGZvciB0aGUgdGltZQpiZWluZy4gIEEgW1to dHRwczovL2dpdGh1Yi5jb20vcHJvdGVzaWxhb3MvbW9kdXMtdGhlbWVzL11bbWlycm9yIG9uIEdp dGh1Yl1dIGlzIGFsc28gb24gb2ZmZXIuCgpBbiBIVE1MIHZlcnNpb24gb2YgdGhpcyBtYW51YWwg aXMgcHJvdmlkZWQgYXMgYW4gZXh0ZW5zaW9uIG9mIHRoZQpbW2h0dHBzOi8vcHJvdGVzaWxhb3Mu Y29tL21vZHVzLXRoZW1lcy9dW2F1dGhvcidzIHBlcnNvbmFsIHdlYnNpdGVdXSAoZG9lcyBub3Qg cmVseSBvbiBhbnkgbm9uLWZyZWUgY29kZSkuCgoqKiBJc3N1ZXMgeW91IGNhbiBoZWxwIHdpdGgK OnByb3BlcnRpZXM6CjpjdXN0b21faWQ6IGg6NjUzNmM4ZDUtM2Y5OC00M2FiLWE3ODctYjk0MTIw ZTczNWU4CjplbmQ6CiMrY2luZGV4OiBDb250cmlidXRpbmcKCkEgZmV3IHRhc2tzIHlvdSBjYW4g aGVscCB3aXRoOgoKKyBTdWdnZXN0IHJlZmluZW1lbnRzIHRvIHBhY2thZ2VzIHRoYXQgYXJlIGNv dmVyZWQuCisgUmVwb3J0IHBhY2thZ2VzIG5vdCBjb3ZlcmVkIHRodXMgZmFyLgorIFJlcG9ydCBi dWdzLCBpbmNvbnNpc3RlbmNpZXMsIHNob3J0Y29taW5ncy4KKyBIZWxwIGV4cGFuZCB0aGUgZG9j dW1lbnRhdGlvbiBvZiBjb3ZlcmVkLWJ1dC1ub3Qtc3R5bGVkIHBhY2thZ2VzLgorIFN1Z2dlc3Qg cmVmaW5lbWVudHMgdG8gdGhlIGNvbG9yIHBhbGV0dGUuCisgSGVscCBleHBhbmQgdGhpcyBkb2N1 bWVudCBvciBhbnkgb3RoZXIgcGllY2Ugb2YgZG9jdW1lbnRhdGlvbi4KKyBNZXJnZSByZXF1ZXN0 cyBmb3IgY29kZSByZWZpbmVtZW50cy4KCltbI2g6MTExNzczZTItZjI2Zi00YjY4LThjNGYtOTc5 NGNhNmI5NjMzXVtQYXRjaGVzIHJlcXVpcmUgY29weXJpZ2h0IGFzc2lnbm1lbnQgdG8gdGhlIEZT Rl1dLgoKSXQgaXMgcHJlZmVyYWJsZSB0aGF0IHlvdXIgZmVlZGJhY2sgaW5jbHVkZXMgc29tZSBz Y3JlZW5zaG90cywgR0lGcywgb3IKc2hvcnQgdmlkZW9zLCBhcyB3ZWxsIGFzIGZ1cnRoZXIgaW5z dHJ1Y3Rpb25zIHRvIHJlcHJvZHVjZSBhIGdpdmVuCnNldHVwLiAgVGhvdWdoIHRoaXMgaXMgbm90 IGEgcmVxdWlyZW1lbnQuCgpXaGF0ZXZlciB5b3UgZG8sIGJlYXIgaW4gbWluZCB0aGUgb3ZlcmFy Y2hpbmcgb2JqZWN0aXZlIG9mIHRoZSBNb2R1cwp0aGVtZXM6IHRvIGtlZXAgYSBjb250cmFzdCBy YXRpbyB0aGF0IGlzIGdyZWF0ZXIgb3IgZXF1YWwgdG8gNzoxIGJldHdlZW4KYmFja2dyb3VuZCBh bmQgZm9yZWdyb3VuZCBjb2xvcnMuICBJZiBhIGNvbXByb21pc2UgaXMgZXZlciBuZWNlc3NhcnkK YmV0d2VlbiBhZXN0aGV0aWNzIGFuZCBhY2Nlc3NpYmlsaXR5LCBpdCBzaGFsbCBhbHdheXMgYmUg bWFkZSBpbiB0aGUKaW50ZXJlc3Qgb2YgdGhlIGxhdHRlci4KCioqIFBhdGNoZXMgcmVxdWlyZSBj b3B5cmlnaHQgYXNzaWdubWVudCB0byB0aGUgRlNGCjpwcm9wZXJ0aWVzOgo6Y3VzdG9tX2lkOiBo OjExMTc3M2UyLWYyNmYtNGI2OC04YzRmLTk3OTRjYTZiOTYzMwo6ZW5kOgoKQ29kZSBjb250cmli dXRpb25zIGFyZSBtb3N0IHdlbGNvbWUuICBGb3IgYW55IG1ham9yIGVkaXQgKG1vcmUgdGhhbiAx NQpsaW5lcywgb3Igc28sIGluIGFnZ3JlZ2F0ZSBwZXIgcGVyc29uKSwgeW91IG5lZWQgdG8gbWFr ZSBhIGNvcHlyaWdodAphc3NpZ25tZW50IHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24u ICBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlCnRoZSB0aGVtZXMgYXJlIHBhcnQgb2YgdGhlIHVw c3RyZWFtIEVtYWNzIGRpc3RyaWJ1dGlvbjogdGhlIEZTRiBtdXN0IGF0CmFsbCB0aW1lcyBiZSBp biBhIHBvc2l0aW9uIHRvIGVuZm9yY2UgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoK Q29weXJpZ2h0IGFzc2lnbm1lbnQgaXMgYSBzaW1wbGUgcHJvY2Vzcy4gIENoZWNrIHRoZSByZXF1 ZXN0IGZvcm0gYmVsb3cKKHBsZWFzZSBhZGFwdCBpdCBhY2NvcmRpbmdseSkuICBZb3UgbXVzdCB3 cml0ZSBhbiBlbWFpbCB0byB0aGUgYWRkcmVzcwptZW50aW9uZWQgaW4gdGhlIGZvcm0gYW5kIHRo ZW4gd2FpdCBmb3IgdGhlIEZTRiB0byBzZW5kIHlvdSBhIGxlZ2FsCmFncmVlbWVudC4gIFNpZ24g dGhlIGRvY3VtZW50IGFuZCBmaWxlIGl0IGJhY2sgdG8gdGhlbS4gIFRoaXMgY291bGQgYWxsCmhh cHBlbiB2aWEgZW1haWwgYW5kIHRha2UgYWJvdXQgYSB3ZWVrLiAgWW91IGFyZSBlbmNvdXJhZ2Vk IHRvIGdvCnRocm91Z2ggdGhpcyBwcm9jZXNzLiAgWW91IG9ubHkgbmVlZCB0byBkbyBpdCBvbmNl LiAgSXQgd2lsbCBhbGxvdyB5b3UKdG8gbWFrZSBjb250cmlidXRpb25zIHRvIEVtYWNzIGluIGdl bmVyYWwuCgojK2JlZ2luX2V4YW1wbGUgdGV4dApQbGVhc2UgZW1haWwgdGhlIGZvbGxvd2luZyBp bmZvcm1hdGlvbiB0byBhc3NpZ25AZ251Lm9yZywgYW5kIHdlCndpbGwgc2VuZCB5b3UgdGhlIGFz c2lnbm1lbnQgZm9ybSBmb3IgeW91ciBwYXN0IGFuZCBmdXR1cmUgY2hhbmdlcy4KClBsZWFzZSB1 c2UgeW91ciBmdWxsIGxlZ2FsIG5hbWUgKGluIEFTQ0lJIGNoYXJhY3RlcnMpIGFzIHRoZSBzdWJq ZWN0CmxpbmUgb2YgdGhlIG1lc3NhZ2UuCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KUkVRVUVTVDogU0VORCBGT1JN IEZPUiBQQVNUIEFORCBGVVRVUkUgQ0hBTkdFUwoKW1doYXQgaXMgdGhlIG5hbWUgb2YgdGhlIHBy b2dyYW0gb3IgcGFja2FnZSB5b3UncmUgY29udHJpYnV0aW5nIHRvP10KCkdOVSBFbWFjcwoKW0Rp ZCB5b3UgY29weSBhbnkgZmlsZXMgb3IgdGV4dCB3cml0dGVuIGJ5IHNvbWVvbmUgZWxzZSBpbiB0 aGVzZSBjaGFuZ2VzPwpFdmVuIGlmIHRoYXQgbWF0ZXJpYWwgaXMgZnJlZSBzb2Z0d2FyZSwgd2Ug bmVlZCB0byBrbm93IGFib3V0IGl0Ll0KCkNvcGllZCBhIGZldyBzbmlwcGV0cyBmcm9tIHRoZSBz YW1lIGZpbGVzIEkgZWRpdGVkLiAgVGhlaXIgYXV0aG9yLApQcm90ZXNpbGFvcyBTdGF2cm91LCBo YXMgYWxyZWFkeSBhc3NpZ25lZCBjb3B5cmlnaHQgdG8gdGhlIEZyZWUgU29mdHdhcmUKRm91bmRh dGlvbi4KCltEbyB5b3UgaGF2ZSBhbiBlbXBsb3llciB3aG8gbWlnaHQgaGF2ZSBhIGJhc2lzIHRv IGNsYWltIHRvIG93bgp5b3VyIGNoYW5nZXM/ICBEbyB5b3UgYXR0ZW5kIGEgc2Nob29sIHdoaWNo IG1pZ2h0IG1ha2Ugc3VjaCBhIGNsYWltP10KCgpbRm9yIHRoZSBjb3B5cmlnaHQgcmVnaXN0cmF0 aW9uLCB3aGF0IGNvdW50cnkgYXJlIHlvdSBhIGNpdGl6ZW4gb2Y/XQoKCltXaGF0IHllYXIgd2Vy ZSB5b3UgYm9ybj9dCgoKW1BsZWFzZSB3cml0ZSB5b3VyIGVtYWlsIGFkZHJlc3MgaGVyZS5dCgoK W1BsZWFzZSB3cml0ZSB5b3VyIHBvc3RhbCBhZGRyZXNzIGhlcmUuXQoKCgoKCltXaGljaCBmaWxl cyBoYXZlIHlvdSBjaGFuZ2VkIHNvIGZhciwgYW5kIHdoaWNoIG5ldyBmaWxlcyBoYXZlIHlvdSB3 cml0dGVuCnNvIGZhcj9dCgojK2VuZF9leGFtcGxlCgoqIEFja25vd2xlZGdlbWVudHMKOnByb3Bl cnRpZXM6CjpjdXN0b21faWQ6IGg6OTVjM2RhMjMtMjE3Zi00MDRlLWI1ZjMtNTZjNzU3NjBlYmNm CjplbmQ6CiMrY2luZGV4OiBDb250cmlidXRvcnMKClRoZSBNb2R1cyB0aGVtZXMgYXJlIGEgY29s bGVjdGl2ZSBlZmZvcnQuICBFdmVyeSBiaXQgb2Ygd29yayBtYXR0ZXJzLgoKKyBBdXRob3IvbWFp bnRhaW5lciA6OiBQcm90ZXNpbGFvcyBTdGF2cm91LgoKKyBDb250cmlidXRpb25zIHRvIGNvZGUg b3IgZG9jdW1lbnRhdGlvbiA6OiBBbmRlcnMgSm9oYW5zc29uLCBCYXNpbAogIEwue3t7c3BhY2Uo KX19fSBDb250b3ZvdW5lc2lvcywgQ2FybG8gWmFuY2FuYXJvLCBFbGkgWmFyZXRza2lpLCBLb3N0 YWRpbgogIE5pbmV2LCBNYWRoYXZhbiBLcmlzaG5hbiwgTWFya3VzIEJlcHBsZXIsIE1hdHRoZXcg U3RldmVuc29uLCBOaWNvbGFzCiAgRGUgSmFlZ2hlcmUsIFNocmV5YXMgUmFnYXZhbiwgU3RlZmFu IEthbmdhcywgVmluY2VudCBNdXJwaHksIFhpbmdsdQogIENoZW4uCgorIElkZWFzIGFuZCB1c2Vy IGZlZWRiYWNrIDo6IEFhcm9uIEplbnNlbiwgQWRhbSBTcGllcnMsIEFkcmlhbiBNYW5lYSwKICBB bGV4IEdyaWZmaW4sIEFsZXggUGVpdHNpbmlzLCBBbGV4ZXkgU2htYWxrbywgQWxvayBTaW5naCwg QW5kZXJzCiAgSm9oYW5zc29uLCBBbmRyw6kgQWxleGFuZHJlIEdvbWVzLCBBcmlmIFJlemFpLCBC YXNpbCBMLnt7e3NwYWNlKCl9fX0KICBDb250b3ZvdW5lc2lvcywgQnVyZ2VzcyBDaGFuZywgQ2hy aXN0aWFuIFRpZXR6ZSwgQ2hyaXN0b3BoZXIgRGltZWNoLAogIERhbWllbiBDYXNzb3UsIERhbmll bCBNZW5kbGVyLCBEYXJpbyBHam9yZ2pldnNraSwgRGF2aWQgRWRtb25kc29uLAogIERhdm9yIFJv dGltLCBEaXZhbiBTYW50YW5hLCBHZXJyeSBBZ2JvYmFkYSwgR2lhbmx1Y2EgUmVjY2hpYSwgR3Vz dGF2bwogIEJhcnJvcywgSMO2cm1ldGphbiBZaWx0aXosIElsamEgS29ja2VuLCBJcmlzIEdhcmNp YSwgSmVyZW15IEZyaWVzZW4sCiAgSm9obiBIYW1hbiwgSm9zaHVhIE8nQ29ubm9yLCBLZXZpbiBG bGVtaW5nLCBLb3N0YWRpbiBOaW5ldiwgTGVuIFRyaWdnLAogIE1hbnVlbCBVYmVydGksIE1hcmsg QnVydG9uLCBNYXJrdXMgQmVwcGxlciwgTWljaGFlbCBHb2xkZW5iZXJnLCBNb3JnYW4KICBTbWl0 aCwgTXVyaWxvIFBlcmVpcmEsIE5pY29sYXMgRGUgSmFlZ2hlcmUsIFBhdWwgUG9sb3Nrb3YsIFBl dGUKICBLYXptaWVyLCBQZXRlciBXdSwgUGhpbGlwIEsuLCBQaWVycmUgVMOpY2hvdWV5cmVzLCBS b21hbiBSdWRha292LCBSeWFuCiAgUGhpbGxpcHMsIFNhbSBLbGVpbm1hbiwgU2hyZXlhcyBSYWdh dmFuLCBTaW1vbiBQdWduZXQsIFRhc3NpbG8gSG9ybiwKICBUaGliYXV0IFZlcnJvbiwgVHJleSBN ZXJrbGV5LCBUb2dhbiBNdWZ0dW9nbHUsIFRvb24gQ2xhZXMsIFVyaSBTaGFyZiwKICBVdGthcnNo IFNpbmdoLCBWaW5jZW50IEZvbGV5LiAgQXMgd2VsbCBhcyB1c2VyczogQmVuLCBDc0JpZ0RhdGFI dWIxLAogIEVtYWNzIENvbnRyaWIsIEV1Z2VuZSwgRm91cmNoYXV4LCBGcmVkcmlrLCBNb2VzYXNq aSwgTmljaywgVGhlQmxvYjQyLAogIGJlcG9seW1hdGhlLCBkb29saW8sIGZsZWltZ3J1YmVyLCBp U2VlVSwgaml4aXVmLCBva2Ftc24uCgorIFBhY2thZ2luZyA6OiBCYXNpbCBMLnt7e3NwYWNlKCl9 fX0gQ29udG92b3VuZXNpb3MsIEVsaSBaYXJldHNraWksIEdsZW5uCiAgTW9ycmlzLCBNYXVybyBB cmFuZGEsIFJpY2hhcmQgU3RhbGxtYW4sIFN0ZWZhbiBLYW5nYXMgKGNvcmUgRW1hY3MpLAogIFN0 ZWZhbiBNb25uaWVyIChHTlUgRWxwYSksIEFuZHLDqSBBbGV4YW5kcmUgR29tZXMsIERpbWFrYWtv cyBEaW1vcywKICBNb3JnYW4gU21pdGgsIE5pY29sYXMgR29hemlvdSAoR3VpeCksIERoYXZhbiBW YWlkeWEgKERlYmlhbikuCgorIEluc3BpcmF0aW9uIGZvciBjZXJ0YWluIGZlYXR1cmVzIDo6IEJv emhpZGFyIEJhdHNvdiAoemVuYnVybi10aGVtZSksCiAgRmFicmljZSBOaWVzc2VuIChsZXV2ZW4t dGhlbWUpLgoKU3BlY2lhbCB0aGFua3MsIGluIG5vIHBhcnRpY3VsYXIgb3JkZXIsIHRvIE1hbnVl bCBVYmVydGkgYW5kIE9tYXIKQW50b2zDrW4gQ2FtYXJlbmEgZm9yIHRoZWlyIGxvbmcgdGltZSBj b250cmlidXRpb25zIGFuZCBpbnNpZ2h0ZnVsCmNvbW1lbnRhcnkuCgoqIE1ldGEKOnByb3BlcnRp ZXM6CjpjdXN0b21faWQ6IGg6MTM3NTI1ODEtNDM3OC00NzhjLWFmMTctMTY1YjZlNzZiYzFiCjpl bmQ6CiMrY2luZGV4OiBEZXZlbG9wbWVudCBub3RlcwoKSWYgeW91IGFyZSBjdXJpb3VzIGFib3V0 IHRoZSBwcmluY2lwbGVzIHRoYXQgZ292ZXJuIHRoZSBkZXZlbG9wbWVudCBvZgp0aGlzIHByb2pl Y3QgcmVhZCB0aGUgZXNzYXkgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAt MDMtMTctZGVzaWduLW1vZHVzLXRoZW1lcy1lbWFjcy9dW09uIHRoZSBkZXNpZ24gb2YgdGhlIE1v ZHVzIHRoZW1lc11dCigyMDIwLTAzLTE3KS4KCkhlcmUgYXJlIHNvbWUgbW9yZSBwdWJsaWNhdGlv bnMgZm9yIHRob3NlIGludGVyZXN0ZWQgaW4gdGhlIGtpbmQgb2Ygd29yawp0aGF0IGdvZXMgaW50 byB0aGlzIHByb2plY3QgKHNvbWV0aW1lcyB0aGUgY29tbWl0cyBhbHNvIGluY2x1ZGUgZGV0YWls cwpvZiB0aGlzIHNvcnQpOgoKKyBbW2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2NvZGVsb2cvMjAy MC0wNS0xMC1tb2R1cy1vcGVyYW5kaS1wYWxldHRlLXJldmlldy9dW01vZHVzIE9wZXJhbmRpIHRo ZW1lIHN1YnRsZSBwYWxldHRlIHJldmlld11dICgyMDIwLTA1LTEwKQorIFtbaHR0cHM6Ly9wcm90 ZXNpbGFvcy5jb20vY29kZWxvZy8yMDIwLTA2LTEzLW1vZHVzLXZpdmVuZGktcGFsZXR0ZS1yZXZp ZXcvXVtNb2R1cyBWaXZlbmRpIHRoZW1lIHN1YnRsZSBwYWxldHRlIHJldmlld11dICgyMDIwLTA2 LTEzKQorIFtbaHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vY29kZWxvZy8yMDIwLTA3LTA0LW1vZHVz LXRoZW1lcy1mYWludC1jb2xvdXJzL11bTW9kdXMgdGhlbWVzOiBuZXcgImZhaW50IHN5bnRheCIg b3B0aW9uXV0gKDIwMjAtMDctMDQpCisgW1todHRwczovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9n LzIwMjAtMDctMDgtbW9kdXMtdGhlbWVzLW51YW5jZWQtY29sb3Vycy9dW01vZHVzIHRoZW1lczog bWFqb3IgcmV2aWV3IG9mICJudWFuY2VkIiBjb2xvdXJzXV0gKDIwMjAtMDctMDgpCisgW1todHRw czovL3Byb3Rlc2lsYW9zLmNvbS9jb2RlbG9nLzIwMjAtMDktMTQtbW9kdXMtdGhlbWVzLXJldmll dy1ibHVlcy9dW01vZHVzIHRoZW1lczogcmV2aWV3IG9mIGJsdWUgY29sb3Vyc11dICgyMDIwLTA5 LTE0KQorIFtbaHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vY29kZWxvZy8yMDIwLTEyLTI3LW1vZHVz LXRoZW1lcy1yZXZpZXctcmFpbmJvdy1kZWxpbWl0ZXJzL11bTW9kdXMgdGhlbWVzOiByZXZpZXcg cmFpbmJvdy1kZWxpbWl0ZXJzIGZhY2VzXV0gKDIwMjAtMTItMjcpCisgW1todHRwczovL3Byb3Rl c2lsYW9zLmNvbS9jb2RlbG9nLzIwMjEtMDEtMTEtbW9kdXMtdGhlbWVzLXJldmlldy1zZWxlY3Qt ZmFpbnQtY29sb3Vycy9dW01vZHVzIHRoZW1lczogcmV2aWV3IG9mIHNlbGVjdCAiZmFpbnQiIGNv bG91cnNdXSAoMjAyMS0wMS0xMSkKKyBbW2h0dHBzOi8vcHJvdGVzaWxhb3MuY29tL2NvZGVsb2cv MjAyMS0wMi0yNS1tb2R1cy10aGVtZXMtZGlmZnMtZGV1dGVyYW5vcGlhL11bVGhlIE1vZHVzIHRo ZW1lcyBub3cgY292ZXIgZGV1dGVyYW5vcGlhIGluIGRpZmZzXV0gKDIwMjEtMDItMjUpCgpBbmQg aGVyZSBhcmUgdGhlIGNhbm9uaWNhbCBzb3VyY2VzIG9mIHRoaXMgcHJvamVjdCdzIGRvY3VtZW50 YXRpb246CgorIE1hbnVhbCA6OiA8aHR0cHM6Ly9wcm90ZXNpbGFvcy5jb20vbW9kdXMtdGhlbWVz PgorIENoYW5nZSBMb2cgOjogPGh0dHBzOi8vcHJvdGVzaWxhb3MuY29tL21vZHVzLXRoZW1lcy1j aGFuZ2Vsb2c+CisgU2NyZWVuc2hvdHMgOjogPGh0dHBzOi8vcHJvdGVzaWxhb3MuY29tL21vZHVz LXRoZW1lcy1waWN0dXJlcz4KCiogR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlCjpwcm9w ZXJ0aWVzOgo6YXBwZW5kaXg6IHQKOmN1c3RvbV9pZDogaDozMDc3YzNkMi03ZjkwLTQyMjgtOGYw YS03MzEyNGY0MDI2ZjYKOmVuZDoKCiMrdGV4aW5mbzogQGluY2x1ZGUgZG9jbGljZW5zZS50ZXhp CgojK2JlZ2luX2V4cG9ydCBodG1sCgogICAgICAgICAgICAgICAgR05VIEZyZWUgRG9jdW1lbnRh dGlvbiBMaWNlbnNlCiAgICAgICAgICAgICAgICAgVmVyc2lvbiAxLjMsIDMgTm92ZW1iZXIgMjAw OAoKCiBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDcsIDIwMDggRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAgICAgPGh0dHBzOi8vZnNmLm9yZy8+CiBFdmVyeW9uZSBp cyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKIG9mIHRo aXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgoKMC4g UFJFQU1CTEUKClRoZSBwdXJwb3NlIG9mIHRoaXMgTGljZW5zZSBpcyB0byBtYWtlIGEgbWFudWFs LCB0ZXh0Ym9vaywgb3Igb3RoZXIKZnVuY3Rpb25hbCBhbmQgdXNlZnVsIGRvY3VtZW50ICJmcmVl IiBpbiB0aGUgc2Vuc2Ugb2YgZnJlZWRvbTogdG8KYXNzdXJlIGV2ZXJ5b25lIHRoZSBlZmZlY3Rp dmUgZnJlZWRvbSB0byBjb3B5IGFuZCByZWRpc3RyaWJ1dGUgaXQsCndpdGggb3Igd2l0aG91dCBt b2RpZnlpbmcgaXQsIGVpdGhlciBjb21tZXJjaWFsbHkgb3Igbm9uY29tbWVyY2lhbGx5LgpTZWNv bmRhcmlseSwgdGhpcyBMaWNlbnNlIHByZXNlcnZlcyBmb3IgdGhlIGF1dGhvciBhbmQgcHVibGlz aGVyIGEgd2F5CnRvIGdldCBjcmVkaXQgZm9yIHRoZWlyIHdvcmssIHdoaWxlIG5vdCBiZWluZyBj b25zaWRlcmVkIHJlc3BvbnNpYmxlCmZvciBtb2RpZmljYXRpb25zIG1hZGUgYnkgb3RoZXJzLgoK VGhpcyBMaWNlbnNlIGlzIGEga2luZCBvZiAiY29weWxlZnQiLCB3aGljaCBtZWFucyB0aGF0IGRl cml2YXRpdmUKd29ya3Mgb2YgdGhlIGRvY3VtZW50IG11c3QgdGhlbXNlbHZlcyBiZSBmcmVlIGlu IHRoZSBzYW1lIHNlbnNlLiAgSXQKY29tcGxlbWVudHMgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlLCB3aGljaCBpcyBhIGNvcHlsZWZ0CmxpY2Vuc2UgZGVzaWduZWQgZm9yIGZyZWUgc29m dHdhcmUuCgpXZSBoYXZlIGRlc2lnbmVkIHRoaXMgTGljZW5zZSBpbiBvcmRlciB0byB1c2UgaXQg Zm9yIG1hbnVhbHMgZm9yIGZyZWUKc29mdHdhcmUsIGJlY2F1c2UgZnJlZSBzb2Z0d2FyZSBuZWVk cyBmcmVlIGRvY3VtZW50YXRpb246IGEgZnJlZQpwcm9ncmFtIHNob3VsZCBjb21lIHdpdGggbWFu dWFscyBwcm92aWRpbmcgdGhlIHNhbWUgZnJlZWRvbXMgdGhhdCB0aGUKc29mdHdhcmUgZG9lcy4g IEJ1dCB0aGlzIExpY2Vuc2UgaXMgbm90IGxpbWl0ZWQgdG8gc29mdHdhcmUgbWFudWFsczsKaXQg Y2FuIGJlIHVzZWQgZm9yIGFueSB0ZXh0dWFsIHdvcmssIHJlZ2FyZGxlc3Mgb2Ygc3ViamVjdCBt YXR0ZXIgb3IKd2hldGhlciBpdCBpcyBwdWJsaXNoZWQgYXMgYSBwcmludGVkIGJvb2suICBXZSBy ZWNvbW1lbmQgdGhpcyBMaWNlbnNlCnByaW5jaXBhbGx5IGZvciB3b3JrcyB3aG9zZSBwdXJwb3Nl IGlzIGluc3RydWN0aW9uIG9yIHJlZmVyZW5jZS4KCgoxLiBBUFBMSUNBQklMSVRZIEFORCBERUZJ TklUSU9OUwoKVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IG1hbnVhbCBvciBvdGhlciB3b3Jr LCBpbiBhbnkgbWVkaXVtLCB0aGF0CmNvbnRhaW5zIGEgbm90aWNlIHBsYWNlZCBieSB0aGUgY29w eXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgY2FuIGJlCmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGlzIExpY2Vuc2UuICBTdWNoIGEgbm90aWNlIGdyYW50cyBhCndvcmxkLXdpZGUsIHJv eWFsdHktZnJlZSBsaWNlbnNlLCB1bmxpbWl0ZWQgaW4gZHVyYXRpb24sIHRvIHVzZSB0aGF0Cndv cmsgdW5kZXIgdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGhlcmVpbi4gIFRoZSAiRG9jdW1lbnQiLCBi ZWxvdywKcmVmZXJzIHRvIGFueSBzdWNoIG1hbnVhbCBvciB3b3JrLiAgQW55IG1lbWJlciBvZiB0 aGUgcHVibGljIGlzIGEKbGljZW5zZWUsIGFuZCBpcyBhZGRyZXNzZWQgYXMgInlvdSIuICBZb3Ug YWNjZXB0IHRoZSBsaWNlbnNlIGlmIHlvdQpjb3B5LCBtb2RpZnkgb3IgZGlzdHJpYnV0ZSB0aGUg d29yayBpbiBhIHdheSByZXF1aXJpbmcgcGVybWlzc2lvbgp1bmRlciBjb3B5cmlnaHQgbGF3LgoK QSAiTW9kaWZpZWQgVmVyc2lvbiIgb2YgdGhlIERvY3VtZW50IG1lYW5zIGFueSB3b3JrIGNvbnRh aW5pbmcgdGhlCkRvY3VtZW50IG9yIGEgcG9ydGlvbiBvZiBpdCwgZWl0aGVyIGNvcGllZCB2ZXJi YXRpbSwgb3Igd2l0aAptb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhl ciBsYW5ndWFnZS4KCkEgIlNlY29uZGFyeSBTZWN0aW9uIiBpcyBhIG5hbWVkIGFwcGVuZGl4IG9y IGEgZnJvbnQtbWF0dGVyIHNlY3Rpb24gb2YKdGhlIERvY3VtZW50IHRoYXQgZGVhbHMgZXhjbHVz aXZlbHkgd2l0aCB0aGUgcmVsYXRpb25zaGlwIG9mIHRoZQpwdWJsaXNoZXJzIG9yIGF1dGhvcnMg b2YgdGhlIERvY3VtZW50IHRvIHRoZSBEb2N1bWVudCdzIG92ZXJhbGwKc3ViamVjdCAob3IgdG8g cmVsYXRlZCBtYXR0ZXJzKSBhbmQgY29udGFpbnMgbm90aGluZyB0aGF0IGNvdWxkIGZhbGwKZGly ZWN0bHkgd2l0aGluIHRoYXQgb3ZlcmFsbCBzdWJqZWN0LiAgKFRodXMsIGlmIHRoZSBEb2N1bWVu dCBpcyBpbgpwYXJ0IGEgdGV4dGJvb2sgb2YgbWF0aGVtYXRpY3MsIGEgU2Vjb25kYXJ5IFNlY3Rp b24gbWF5IG5vdCBleHBsYWluCmFueSBtYXRoZW1hdGljcy4pICBUaGUgcmVsYXRpb25zaGlwIGNv dWxkIGJlIGEgbWF0dGVyIG9mIGhpc3RvcmljYWwKY29ubmVjdGlvbiB3aXRoIHRoZSBzdWJqZWN0 IG9yIHdpdGggcmVsYXRlZCBtYXR0ZXJzLCBvciBvZiBsZWdhbCwKY29tbWVyY2lhbCwgcGhpbG9z b3BoaWNhbCwgZXRoaWNhbCBvciBwb2xpdGljYWwgcG9zaXRpb24gcmVnYXJkaW5nCnRoZW0uCgpU aGUgIkludmFyaWFudCBTZWN0aW9ucyIgYXJlIGNlcnRhaW4gU2Vjb25kYXJ5IFNlY3Rpb25zIHdo b3NlIHRpdGxlcwphcmUgZGVzaWduYXRlZCwgYXMgYmVpbmcgdGhvc2Ugb2YgSW52YXJpYW50IFNl Y3Rpb25zLCBpbiB0aGUgbm90aWNlCnRoYXQgc2F5cyB0aGF0IHRoZSBEb2N1bWVudCBpcyByZWxl YXNlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBJZiBhCnNlY3Rpb24gZG9lcyBub3QgZml0IHRoZSBh Ym92ZSBkZWZpbml0aW9uIG9mIFNlY29uZGFyeSB0aGVuIGl0IGlzIG5vdAphbGxvd2VkIHRvIGJl IGRlc2lnbmF0ZWQgYXMgSW52YXJpYW50LiAgVGhlIERvY3VtZW50IG1heSBjb250YWluIHplcm8K SW52YXJpYW50IFNlY3Rpb25zLiAgSWYgdGhlIERvY3VtZW50IGRvZXMgbm90IGlkZW50aWZ5IGFu eSBJbnZhcmlhbnQKU2VjdGlvbnMgdGhlbiB0aGVyZSBhcmUgbm9uZS4KClRoZSAiQ292ZXIgVGV4 dHMiIGFyZSBjZXJ0YWluIHNob3J0IHBhc3NhZ2VzIG9mIHRleHQgdGhhdCBhcmUgbGlzdGVkLAph cyBGcm9udC1Db3ZlciBUZXh0cyBvciBCYWNrLUNvdmVyIFRleHRzLCBpbiB0aGUgbm90aWNlIHRo YXQgc2F5cyB0aGF0CnRoZSBEb2N1bWVudCBpcyByZWxlYXNlZCB1bmRlciB0aGlzIExpY2Vuc2Uu ICBBIEZyb250LUNvdmVyIFRleHQgbWF5CmJlIGF0IG1vc3QgNSB3b3JkcywgYW5kIGEgQmFjay1D b3ZlciBUZXh0IG1heSBiZSBhdCBtb3N0IDI1IHdvcmRzLgoKQSAiVHJhbnNwYXJlbnQiIGNvcHkg b2YgdGhlIERvY3VtZW50IG1lYW5zIGEgbWFjaGluZS1yZWFkYWJsZSBjb3B5LApyZXByZXNlbnRl ZCBpbiBhIGZvcm1hdCB3aG9zZSBzcGVjaWZpY2F0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUKZ2Vu ZXJhbCBwdWJsaWMsIHRoYXQgaXMgc3VpdGFibGUgZm9yIHJldmlzaW5nIHRoZSBkb2N1bWVudApz dHJhaWdodGZvcndhcmRseSB3aXRoIGdlbmVyaWMgdGV4dCBlZGl0b3JzIG9yIChmb3IgaW1hZ2Vz IGNvbXBvc2VkIG9mCnBpeGVscykgZ2VuZXJpYyBwYWludCBwcm9ncmFtcyBvciAoZm9yIGRyYXdp bmdzKSBzb21lIHdpZGVseSBhdmFpbGFibGUKZHJhd2luZyBlZGl0b3IsIGFuZCB0aGF0IGlzIHN1 aXRhYmxlIGZvciBpbnB1dCB0byB0ZXh0IGZvcm1hdHRlcnMgb3IKZm9yIGF1dG9tYXRpYyB0cmFu c2xhdGlvbiB0byBhIHZhcmlldHkgb2YgZm9ybWF0cyBzdWl0YWJsZSBmb3IgaW5wdXQKdG8gdGV4 dCBmb3JtYXR0ZXJzLiAgQSBjb3B5IG1hZGUgaW4gYW4gb3RoZXJ3aXNlIFRyYW5zcGFyZW50IGZp bGUKZm9ybWF0IHdob3NlIG1hcmt1cCwgb3IgYWJzZW5jZSBvZiBtYXJrdXAsIGhhcyBiZWVuIGFy cmFuZ2VkIHRvIHRod2FydApvciBkaXNjb3VyYWdlIHN1YnNlcXVlbnQgbW9kaWZpY2F0aW9uIGJ5 IHJlYWRlcnMgaXMgbm90IFRyYW5zcGFyZW50LgpBbiBpbWFnZSBmb3JtYXQgaXMgbm90IFRyYW5z cGFyZW50IGlmIHVzZWQgZm9yIGFueSBzdWJzdGFudGlhbCBhbW91bnQKb2YgdGV4dC4gIEEgY29w eSB0aGF0IGlzIG5vdCAiVHJhbnNwYXJlbnQiIGlzIGNhbGxlZCAiT3BhcXVlIi4KCkV4YW1wbGVz IG9mIHN1aXRhYmxlIGZvcm1hdHMgZm9yIFRyYW5zcGFyZW50IGNvcGllcyBpbmNsdWRlIHBsYWlu CkFTQ0lJIHdpdGhvdXQgbWFya3VwLCBUZXhpbmZvIGlucHV0IGZvcm1hdCwgTGFUZVggaW5wdXQg Zm9ybWF0LCBTR01MCm9yIFhNTCB1c2luZyBhIHB1YmxpY2x5IGF2YWlsYWJsZSBEVEQsIGFuZCBz dGFuZGFyZC1jb25mb3JtaW5nIHNpbXBsZQpIVE1MLCBQb3N0U2NyaXB0IG9yIFBERiBkZXNpZ25l ZCBmb3IgaHVtYW4gbW9kaWZpY2F0aW9uLiAgRXhhbXBsZXMgb2YKdHJhbnNwYXJlbnQgaW1hZ2Ug Zm9ybWF0cyBpbmNsdWRlIFBORywgWENGIGFuZCBKUEcuICBPcGFxdWUgZm9ybWF0cwppbmNsdWRl IHByb3ByaWV0YXJ5IGZvcm1hdHMgdGhhdCBjYW4gYmUgcmVhZCBhbmQgZWRpdGVkIG9ubHkgYnkK cHJvcHJpZXRhcnkgd29yZCBwcm9jZXNzb3JzLCBTR01MIG9yIFhNTCBmb3Igd2hpY2ggdGhlIERU RCBhbmQvb3IKcHJvY2Vzc2luZyB0b29scyBhcmUgbm90IGdlbmVyYWxseSBhdmFpbGFibGUsIGFu ZCB0aGUKbWFjaGluZS1nZW5lcmF0ZWQgSFRNTCwgUG9zdFNjcmlwdCBvciBQREYgcHJvZHVjZWQg Ynkgc29tZSB3b3JkCnByb2Nlc3NvcnMgZm9yIG91dHB1dCBwdXJwb3NlcyBvbmx5LgoKVGhlICJU aXRsZSBQYWdlIiBtZWFucywgZm9yIGEgcHJpbnRlZCBib29rLCB0aGUgdGl0bGUgcGFnZSBpdHNl bGYsCnBsdXMgc3VjaCBmb2xsb3dpbmcgcGFnZXMgYXMgYXJlIG5lZWRlZCB0byBob2xkLCBsZWdp Ymx5LCB0aGUgbWF0ZXJpYWwKdGhpcyBMaWNlbnNlIHJlcXVpcmVzIHRvIGFwcGVhciBpbiB0aGUg dGl0bGUgcGFnZS4gIEZvciB3b3JrcyBpbgpmb3JtYXRzIHdoaWNoIGRvIG5vdCBoYXZlIGFueSB0 aXRsZSBwYWdlIGFzIHN1Y2gsICJUaXRsZSBQYWdlIiBtZWFucwp0aGUgdGV4dCBuZWFyIHRoZSBt b3N0IHByb21pbmVudCBhcHBlYXJhbmNlIG9mIHRoZSB3b3JrJ3MgdGl0bGUsCnByZWNlZGluZyB0 aGUgYmVnaW5uaW5nIG9mIHRoZSBib2R5IG9mIHRoZSB0ZXh0LgoKVGhlICJwdWJsaXNoZXIiIG1l YW5zIGFueSBwZXJzb24gb3IgZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMgY29waWVzIG9mCnRoZSBE b2N1bWVudCB0byB0aGUgcHVibGljLgoKQSBzZWN0aW9uICJFbnRpdGxlZCBYWVoiIG1lYW5zIGEg bmFtZWQgc3VidW5pdCBvZiB0aGUgRG9jdW1lbnQgd2hvc2UKdGl0bGUgZWl0aGVyIGlzIHByZWNp c2VseSBYWVogb3IgY29udGFpbnMgWFlaIGluIHBhcmVudGhlc2VzIGZvbGxvd2luZwp0ZXh0IHRo YXQgdHJhbnNsYXRlcyBYWVogaW4gYW5vdGhlciBsYW5ndWFnZS4gIChIZXJlIFhZWiBzdGFuZHMg Zm9yIGEKc3BlY2lmaWMgc2VjdGlvbiBuYW1lIG1lbnRpb25lZCBiZWxvdywgc3VjaCBhcyAiQWNr bm93bGVkZ2VtZW50cyIsCiJEZWRpY2F0aW9ucyIsICJFbmRvcnNlbWVudHMiLCBvciAiSGlzdG9y eSIuKSAgVG8gIlByZXNlcnZlIHRoZSBUaXRsZSIKb2Ygc3VjaCBhIHNlY3Rpb24gd2hlbiB5b3Ug bW9kaWZ5IHRoZSBEb2N1bWVudCBtZWFucyB0aGF0IGl0IHJlbWFpbnMgYQpzZWN0aW9uICJFbnRp dGxlZCBYWVoiIGFjY29yZGluZyB0byB0aGlzIGRlZmluaXRpb24uCgpUaGUgRG9jdW1lbnQgbWF5 IGluY2x1ZGUgV2FycmFudHkgRGlzY2xhaW1lcnMgbmV4dCB0byB0aGUgbm90aWNlIHdoaWNoCnN0 YXRlcyB0aGF0IHRoaXMgTGljZW5zZSBhcHBsaWVzIHRvIHRoZSBEb2N1bWVudC4gIFRoZXNlIFdh cnJhbnR5CkRpc2NsYWltZXJzIGFyZSBjb25zaWRlcmVkIHRvIGJlIGluY2x1ZGVkIGJ5IHJlZmVy ZW5jZSBpbiB0aGlzCkxpY2Vuc2UsIGJ1dCBvbmx5IGFzIHJlZ2FyZHMgZGlzY2xhaW1pbmcgd2Fy cmFudGllczogYW55IG90aGVyCmltcGxpY2F0aW9uIHRoYXQgdGhlc2UgV2FycmFudHkgRGlzY2xh aW1lcnMgbWF5IGhhdmUgaXMgdm9pZCBhbmQgaGFzCm5vIGVmZmVjdCBvbiB0aGUgbWVhbmluZyBv ZiB0aGlzIExpY2Vuc2UuCgoyLiBWRVJCQVRJTSBDT1BZSU5HCgpZb3UgbWF5IGNvcHkgYW5kIGRp c3RyaWJ1dGUgdGhlIERvY3VtZW50IGluIGFueSBtZWRpdW0sIGVpdGhlcgpjb21tZXJjaWFsbHkg b3Igbm9uY29tbWVyY2lhbGx5LCBwcm92aWRlZCB0aGF0IHRoaXMgTGljZW5zZSwgdGhlCmNvcHly aWdodCBub3RpY2VzLCBhbmQgdGhlIGxpY2Vuc2Ugbm90aWNlIHNheWluZyB0aGlzIExpY2Vuc2Ug YXBwbGllcwp0byB0aGUgRG9jdW1lbnQgYXJlIHJlcHJvZHVjZWQgaW4gYWxsIGNvcGllcywgYW5k IHRoYXQgeW91IGFkZCBubwpvdGhlciBjb25kaXRpb25zIHdoYXRzb2V2ZXIgdG8gdGhvc2Ugb2Yg dGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgdXNlCnRlY2huaWNhbCBtZWFzdXJlcyB0byBvYnN0 cnVjdCBvciBjb250cm9sIHRoZSByZWFkaW5nIG9yIGZ1cnRoZXIKY29weWluZyBvZiB0aGUgY29w aWVzIHlvdSBtYWtlIG9yIGRpc3RyaWJ1dGUuICBIb3dldmVyLCB5b3UgbWF5IGFjY2VwdApjb21w ZW5zYXRpb24gaW4gZXhjaGFuZ2UgZm9yIGNvcGllcy4gIElmIHlvdSBkaXN0cmlidXRlIGEgbGFy Z2UgZW5vdWdoCm51bWJlciBvZiBjb3BpZXMgeW91IG11c3QgYWxzbyBmb2xsb3cgdGhlIGNvbmRp dGlvbnMgaW4gc2VjdGlvbiAzLgoKWW91IG1heSBhbHNvIGxlbmQgY29waWVzLCB1bmRlciB0aGUg c2FtZSBjb25kaXRpb25zIHN0YXRlZCBhYm92ZSwgYW5kCnlvdSBtYXkgcHVibGljbHkgZGlzcGxh eSBjb3BpZXMuCgoKMy4gQ09QWUlORyBJTiBRVUFOVElUWQoKSWYgeW91IHB1Ymxpc2ggcHJpbnRl ZCBjb3BpZXMgKG9yIGNvcGllcyBpbiBtZWRpYSB0aGF0IGNvbW1vbmx5IGhhdmUKcHJpbnRlZCBj b3ZlcnMpIG9mIHRoZSBEb2N1bWVudCwgbnVtYmVyaW5nIG1vcmUgdGhhbiAxMDAsIGFuZCB0aGUK RG9jdW1lbnQncyBsaWNlbnNlIG5vdGljZSByZXF1aXJlcyBDb3ZlciBUZXh0cywgeW91IG11c3Qg ZW5jbG9zZSB0aGUKY29waWVzIGluIGNvdmVycyB0aGF0IGNhcnJ5LCBjbGVhcmx5IGFuZCBsZWdp Ymx5LCBhbGwgdGhlc2UgQ292ZXIKVGV4dHM6IEZyb250LUNvdmVyIFRleHRzIG9uIHRoZSBmcm9u dCBjb3ZlciwgYW5kIEJhY2stQ292ZXIgVGV4dHMgb24KdGhlIGJhY2sgY292ZXIuICBCb3RoIGNv dmVycyBtdXN0IGFsc28gY2xlYXJseSBhbmQgbGVnaWJseSBpZGVudGlmeQp5b3UgYXMgdGhlIHB1 Ymxpc2hlciBvZiB0aGVzZSBjb3BpZXMuICBUaGUgZnJvbnQgY292ZXIgbXVzdCBwcmVzZW50CnRo ZSBmdWxsIHRpdGxlIHdpdGggYWxsIHdvcmRzIG9mIHRoZSB0aXRsZSBlcXVhbGx5IHByb21pbmVu dCBhbmQKdmlzaWJsZS4gIFlvdSBtYXkgYWRkIG90aGVyIG1hdGVyaWFsIG9uIHRoZSBjb3ZlcnMg aW4gYWRkaXRpb24uCkNvcHlpbmcgd2l0aCBjaGFuZ2VzIGxpbWl0ZWQgdG8gdGhlIGNvdmVycywg YXMgbG9uZyBhcyB0aGV5IHByZXNlcnZlCnRoZSB0aXRsZSBvZiB0aGUgRG9jdW1lbnQgYW5kIHNh dGlzZnkgdGhlc2UgY29uZGl0aW9ucywgY2FuIGJlIHRyZWF0ZWQKYXMgdmVyYmF0aW0gY29weWlu ZyBpbiBvdGhlciByZXNwZWN0cy4KCklmIHRoZSByZXF1aXJlZCB0ZXh0cyBmb3IgZWl0aGVyIGNv dmVyIGFyZSB0b28gdm9sdW1pbm91cyB0byBmaXQKbGVnaWJseSwgeW91IHNob3VsZCBwdXQgdGhl IGZpcnN0IG9uZXMgbGlzdGVkIChhcyBtYW55IGFzIGZpdApyZWFzb25hYmx5KSBvbiB0aGUgYWN0 dWFsIGNvdmVyLCBhbmQgY29udGludWUgdGhlIHJlc3Qgb250byBhZGphY2VudApwYWdlcy4KCklm IHlvdSBwdWJsaXNoIG9yIGRpc3RyaWJ1dGUgT3BhcXVlIGNvcGllcyBvZiB0aGUgRG9jdW1lbnQg bnVtYmVyaW5nCm1vcmUgdGhhbiAxMDAsIHlvdSBtdXN0IGVpdGhlciBpbmNsdWRlIGEgbWFjaGlu ZS1yZWFkYWJsZSBUcmFuc3BhcmVudApjb3B5IGFsb25nIHdpdGggZWFjaCBPcGFxdWUgY29weSwg b3Igc3RhdGUgaW4gb3Igd2l0aCBlYWNoIE9wYXF1ZSBjb3B5CmEgY29tcHV0ZXItbmV0d29yayBs b2NhdGlvbiBmcm9tIHdoaWNoIHRoZSBnZW5lcmFsIG5ldHdvcmstdXNpbmcKcHVibGljIGhhcyBh Y2Nlc3MgdG8gZG93bmxvYWQgdXNpbmcgcHVibGljLXN0YW5kYXJkIG5ldHdvcmsgcHJvdG9jb2xz CmEgY29tcGxldGUgVHJhbnNwYXJlbnQgY29weSBvZiB0aGUgRG9jdW1lbnQsIGZyZWUgb2YgYWRk ZWQgbWF0ZXJpYWwuCklmIHlvdSB1c2UgdGhlIGxhdHRlciBvcHRpb24sIHlvdSBtdXN0IHRha2Ug cmVhc29uYWJseSBwcnVkZW50IHN0ZXBzLAp3aGVuIHlvdSBiZWdpbiBkaXN0cmlidXRpb24gb2Yg T3BhcXVlIGNvcGllcyBpbiBxdWFudGl0eSwgdG8gZW5zdXJlCnRoYXQgdGhpcyBUcmFuc3BhcmVu dCBjb3B5IHdpbGwgcmVtYWluIHRodXMgYWNjZXNzaWJsZSBhdCB0aGUgc3RhdGVkCmxvY2F0aW9u IHVudGlsIGF0IGxlYXN0IG9uZSB5ZWFyIGFmdGVyIHRoZSBsYXN0IHRpbWUgeW91IGRpc3RyaWJ1 dGUgYW4KT3BhcXVlIGNvcHkgKGRpcmVjdGx5IG9yIHRocm91Z2ggeW91ciBhZ2VudHMgb3IgcmV0 YWlsZXJzKSBvZiB0aGF0CmVkaXRpb24gdG8gdGhlIHB1YmxpYy4KCkl0IGlzIHJlcXVlc3RlZCwg YnV0IG5vdCByZXF1aXJlZCwgdGhhdCB5b3UgY29udGFjdCB0aGUgYXV0aG9ycyBvZiB0aGUKRG9j dW1lbnQgd2VsbCBiZWZvcmUgcmVkaXN0cmlidXRpbmcgYW55IGxhcmdlIG51bWJlciBvZiBjb3Bp ZXMsIHRvCmdpdmUgdGhlbSBhIGNoYW5jZSB0byBwcm92aWRlIHlvdSB3aXRoIGFuIHVwZGF0ZWQg dmVyc2lvbiBvZiB0aGUKRG9jdW1lbnQuCgoKNC4gTU9ESUZJQ0FUSU9OUwoKWW91IG1heSBjb3B5 IGFuZCBkaXN0cmlidXRlIGEgTW9kaWZpZWQgVmVyc2lvbiBvZiB0aGUgRG9jdW1lbnQgdW5kZXIK dGhlIGNvbmRpdGlvbnMgb2Ygc2VjdGlvbnMgMiBhbmQgMyBhYm92ZSwgcHJvdmlkZWQgdGhhdCB5 b3UgcmVsZWFzZQp0aGUgTW9kaWZpZWQgVmVyc2lvbiB1bmRlciBwcmVjaXNlbHkgdGhpcyBMaWNl bnNlLCB3aXRoIHRoZSBNb2RpZmllZApWZXJzaW9uIGZpbGxpbmcgdGhlIHJvbGUgb2YgdGhlIERv Y3VtZW50LCB0aHVzIGxpY2Vuc2luZyBkaXN0cmlidXRpb24KYW5kIG1vZGlmaWNhdGlvbiBvZiB0 aGUgTW9kaWZpZWQgVmVyc2lvbiB0byB3aG9ldmVyIHBvc3Nlc3NlcyBhIGNvcHkKb2YgaXQuICBJ biBhZGRpdGlvbiwgeW91IG11c3QgZG8gdGhlc2UgdGhpbmdzIGluIHRoZSBNb2RpZmllZCBWZXJz aW9uOgoKQS4gVXNlIGluIHRoZSBUaXRsZSBQYWdlIChhbmQgb24gdGhlIGNvdmVycywgaWYgYW55 KSBhIHRpdGxlIGRpc3RpbmN0CiAgIGZyb20gdGhhdCBvZiB0aGUgRG9jdW1lbnQsIGFuZCBmcm9t IHRob3NlIG9mIHByZXZpb3VzIHZlcnNpb25zCiAgICh3aGljaCBzaG91bGQsIGlmIHRoZXJlIHdl cmUgYW55LCBiZSBsaXN0ZWQgaW4gdGhlIEhpc3Rvcnkgc2VjdGlvbgogICBvZiB0aGUgRG9jdW1l bnQpLiAgWW91IG1heSB1c2UgdGhlIHNhbWUgdGl0bGUgYXMgYSBwcmV2aW91cyB2ZXJzaW9uCiAg IGlmIHRoZSBvcmlnaW5hbCBwdWJsaXNoZXIgb2YgdGhhdCB2ZXJzaW9uIGdpdmVzIHBlcm1pc3Np b24uCkIuIExpc3Qgb24gdGhlIFRpdGxlIFBhZ2UsIGFzIGF1dGhvcnMsIG9uZSBvciBtb3JlIHBl cnNvbnMgb3IgZW50aXRpZXMKICAgcmVzcG9uc2libGUgZm9yIGF1dGhvcnNoaXAgb2YgdGhlIG1v ZGlmaWNhdGlvbnMgaW4gdGhlIE1vZGlmaWVkCiAgIFZlcnNpb24sIHRvZ2V0aGVyIHdpdGggYXQg bGVhc3QgZml2ZSBvZiB0aGUgcHJpbmNpcGFsIGF1dGhvcnMgb2YgdGhlCiAgIERvY3VtZW50IChh bGwgb2YgaXRzIHByaW5jaXBhbCBhdXRob3JzLCBpZiBpdCBoYXMgZmV3ZXIgdGhhbiBmaXZlKSwK ICAgdW5sZXNzIHRoZXkgcmVsZWFzZSB5b3UgZnJvbSB0aGlzIHJlcXVpcmVtZW50LgpDLiBTdGF0 ZSBvbiB0aGUgVGl0bGUgcGFnZSB0aGUgbmFtZSBvZiB0aGUgcHVibGlzaGVyIG9mIHRoZQogICBN b2RpZmllZCBWZXJzaW9uLCBhcyB0aGUgcHVibGlzaGVyLgpELiBQcmVzZXJ2ZSBhbGwgdGhlIGNv cHlyaWdodCBub3RpY2VzIG9mIHRoZSBEb2N1bWVudC4KRS4gQWRkIGFuIGFwcHJvcHJpYXRlIGNv cHlyaWdodCBub3RpY2UgZm9yIHlvdXIgbW9kaWZpY2F0aW9ucwogICBhZGphY2VudCB0byB0aGUg b3RoZXIgY29weXJpZ2h0IG5vdGljZXMuCkYuIEluY2x1ZGUsIGltbWVkaWF0ZWx5IGFmdGVyIHRo ZSBjb3B5cmlnaHQgbm90aWNlcywgYSBsaWNlbnNlIG5vdGljZQogICBnaXZpbmcgdGhlIHB1Ymxp YyBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgTW9kaWZpZWQgVmVyc2lvbiB1bmRlciB0aGUKICAgdGVy bXMgb2YgdGhpcyBMaWNlbnNlLCBpbiB0aGUgZm9ybSBzaG93biBpbiB0aGUgQWRkZW5kdW0gYmVs b3cuCkcuIFByZXNlcnZlIGluIHRoYXQgbGljZW5zZSBub3RpY2UgdGhlIGZ1bGwgbGlzdHMgb2Yg SW52YXJpYW50IFNlY3Rpb25zCiAgIGFuZCByZXF1aXJlZCBDb3ZlciBUZXh0cyBnaXZlbiBpbiB0 aGUgRG9jdW1lbnQncyBsaWNlbnNlIG5vdGljZS4KSC4gSW5jbHVkZSBhbiB1bmFsdGVyZWQgY29w eSBvZiB0aGlzIExpY2Vuc2UuCkkuIFByZXNlcnZlIHRoZSBzZWN0aW9uIEVudGl0bGVkICJIaXN0 b3J5IiwgUHJlc2VydmUgaXRzIFRpdGxlLCBhbmQgYWRkCiAgIHRvIGl0IGFuIGl0ZW0gc3RhdGlu ZyBhdCBsZWFzdCB0aGUgdGl0bGUsIHllYXIsIG5ldyBhdXRob3JzLCBhbmQKICAgcHVibGlzaGVy IG9mIHRoZSBNb2RpZmllZCBWZXJzaW9uIGFzIGdpdmVuIG9uIHRoZSBUaXRsZSBQYWdlLiAgSWYK ICAgdGhlcmUgaXMgbm8gc2VjdGlvbiBFbnRpdGxlZCAiSGlzdG9yeSIgaW4gdGhlIERvY3VtZW50 LCBjcmVhdGUgb25lCiAgIHN0YXRpbmcgdGhlIHRpdGxlLCB5ZWFyLCBhdXRob3JzLCBhbmQgcHVi bGlzaGVyIG9mIHRoZSBEb2N1bWVudCBhcwogICBnaXZlbiBvbiBpdHMgVGl0bGUgUGFnZSwgdGhl biBhZGQgYW4gaXRlbSBkZXNjcmliaW5nIHRoZSBNb2RpZmllZAogICBWZXJzaW9uIGFzIHN0YXRl ZCBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2UuCkouIFByZXNlcnZlIHRoZSBuZXR3b3JrIGxvY2F0 aW9uLCBpZiBhbnksIGdpdmVuIGluIHRoZSBEb2N1bWVudCBmb3IKICAgcHVibGljIGFjY2VzcyB0 byBhIFRyYW5zcGFyZW50IGNvcHkgb2YgdGhlIERvY3VtZW50LCBhbmQgbGlrZXdpc2UKICAgdGhl IG5ldHdvcmsgbG9jYXRpb25zIGdpdmVuIGluIHRoZSBEb2N1bWVudCBmb3IgcHJldmlvdXMgdmVy c2lvbnMKICAgaXQgd2FzIGJhc2VkIG9uLiAgVGhlc2UgbWF5IGJlIHBsYWNlZCBpbiB0aGUgIkhp c3RvcnkiIHNlY3Rpb24uCiAgIFlvdSBtYXkgb21pdCBhIG5ldHdvcmsgbG9jYXRpb24gZm9yIGEg d29yayB0aGF0IHdhcyBwdWJsaXNoZWQgYXQKICAgbGVhc3QgZm91ciB5ZWFycyBiZWZvcmUgdGhl IERvY3VtZW50IGl0c2VsZiwgb3IgaWYgdGhlIG9yaWdpbmFsCiAgIHB1Ymxpc2hlciBvZiB0aGUg dmVyc2lvbiBpdCByZWZlcnMgdG8gZ2l2ZXMgcGVybWlzc2lvbi4KSy4gRm9yIGFueSBzZWN0aW9u IEVudGl0bGVkICJBY2tub3dsZWRnZW1lbnRzIiBvciAiRGVkaWNhdGlvbnMiLAogICBQcmVzZXJ2 ZSB0aGUgVGl0bGUgb2YgdGhlIHNlY3Rpb24sIGFuZCBwcmVzZXJ2ZSBpbiB0aGUgc2VjdGlvbiBh bGwKICAgdGhlIHN1YnN0YW5jZSBhbmQgdG9uZSBvZiBlYWNoIG9mIHRoZSBjb250cmlidXRvciBh Y2tub3dsZWRnZW1lbnRzCiAgIGFuZC9vciBkZWRpY2F0aW9ucyBnaXZlbiB0aGVyZWluLgpMLiBQ cmVzZXJ2ZSBhbGwgdGhlIEludmFyaWFudCBTZWN0aW9ucyBvZiB0aGUgRG9jdW1lbnQsCiAgIHVu YWx0ZXJlZCBpbiB0aGVpciB0ZXh0IGFuZCBpbiB0aGVpciB0aXRsZXMuICBTZWN0aW9uIG51bWJl cnMKICAgb3IgdGhlIGVxdWl2YWxlbnQgYXJlIG5vdCBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIHNl Y3Rpb24gdGl0bGVzLgpNLiBEZWxldGUgYW55IHNlY3Rpb24gRW50aXRsZWQgIkVuZG9yc2VtZW50 cyIuICBTdWNoIGEgc2VjdGlvbgogICBtYXkgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBNb2RpZmll ZCBWZXJzaW9uLgpOLiBEbyBub3QgcmV0aXRsZSBhbnkgZXhpc3Rpbmcgc2VjdGlvbiB0byBiZSBF bnRpdGxlZCAiRW5kb3JzZW1lbnRzIgogICBvciB0byBjb25mbGljdCBpbiB0aXRsZSB3aXRoIGFu eSBJbnZhcmlhbnQgU2VjdGlvbi4KTy4gUHJlc2VydmUgYW55IFdhcnJhbnR5IERpc2NsYWltZXJz LgoKSWYgdGhlIE1vZGlmaWVkIFZlcnNpb24gaW5jbHVkZXMgbmV3IGZyb250LW1hdHRlciBzZWN0 aW9ucyBvcgphcHBlbmRpY2VzIHRoYXQgcXVhbGlmeSBhcyBTZWNvbmRhcnkgU2VjdGlvbnMgYW5k IGNvbnRhaW4gbm8gbWF0ZXJpYWwKY29waWVkIGZyb20gdGhlIERvY3VtZW50LCB5b3UgbWF5IGF0 IHlvdXIgb3B0aW9uIGRlc2lnbmF0ZSBzb21lIG9yIGFsbApvZiB0aGVzZSBzZWN0aW9ucyBhcyBp bnZhcmlhbnQuICBUbyBkbyB0aGlzLCBhZGQgdGhlaXIgdGl0bGVzIHRvIHRoZQpsaXN0IG9mIElu dmFyaWFudCBTZWN0aW9ucyBpbiB0aGUgTW9kaWZpZWQgVmVyc2lvbidzIGxpY2Vuc2Ugbm90aWNl LgpUaGVzZSB0aXRsZXMgbXVzdCBiZSBkaXN0aW5jdCBmcm9tIGFueSBvdGhlciBzZWN0aW9uIHRp dGxlcy4KCllvdSBtYXkgYWRkIGEgc2VjdGlvbiBFbnRpdGxlZCAiRW5kb3JzZW1lbnRzIiwgcHJv dmlkZWQgaXQgY29udGFpbnMKbm90aGluZyBidXQgZW5kb3JzZW1lbnRzIG9mIHlvdXIgTW9kaWZp ZWQgVmVyc2lvbiBieSB2YXJpb3VzCnBhcnRpZXMtLWZvciBleGFtcGxlLCBzdGF0ZW1lbnRzIG9m IHBlZXIgcmV2aWV3IG9yIHRoYXQgdGhlIHRleHQgaGFzCmJlZW4gYXBwcm92ZWQgYnkgYW4gb3Jn YW5pemF0aW9uIGFzIHRoZSBhdXRob3JpdGF0aXZlIGRlZmluaXRpb24gb2YgYQpzdGFuZGFyZC4K CllvdSBtYXkgYWRkIGEgcGFzc2FnZSBvZiB1cCB0byBmaXZlIHdvcmRzIGFzIGEgRnJvbnQtQ292 ZXIgVGV4dCwgYW5kIGEKcGFzc2FnZSBvZiB1cCB0byAyNSB3b3JkcyBhcyBhIEJhY2stQ292ZXIg VGV4dCwgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdApvZiBDb3ZlciBUZXh0cyBpbiB0aGUgTW9kaWZp ZWQgVmVyc2lvbi4gIE9ubHkgb25lIHBhc3NhZ2Ugb2YKRnJvbnQtQ292ZXIgVGV4dCBhbmQgb25l IG9mIEJhY2stQ292ZXIgVGV4dCBtYXkgYmUgYWRkZWQgYnkgKG9yCnRocm91Z2ggYXJyYW5nZW1l bnRzIG1hZGUgYnkpIGFueSBvbmUgZW50aXR5LiAgSWYgdGhlIERvY3VtZW50IGFscmVhZHkKaW5j bHVkZXMgYSBjb3ZlciB0ZXh0IGZvciB0aGUgc2FtZSBjb3ZlciwgcHJldmlvdXNseSBhZGRlZCBi eSB5b3Ugb3IKYnkgYXJyYW5nZW1lbnQgbWFkZSBieSB0aGUgc2FtZSBlbnRpdHkgeW91IGFyZSBh Y3Rpbmcgb24gYmVoYWxmIG9mLAp5b3UgbWF5IG5vdCBhZGQgYW5vdGhlcjsgYnV0IHlvdSBtYXkg cmVwbGFjZSB0aGUgb2xkIG9uZSwgb24gZXhwbGljaXQKcGVybWlzc2lvbiBmcm9tIHRoZSBwcmV2 aW91cyBwdWJsaXNoZXIgdGhhdCBhZGRlZCB0aGUgb2xkIG9uZS4KClRoZSBhdXRob3IocykgYW5k IHB1Ymxpc2hlcihzKSBvZiB0aGUgRG9jdW1lbnQgZG8gbm90IGJ5IHRoaXMgTGljZW5zZQpnaXZl IHBlcm1pc3Npb24gdG8gdXNlIHRoZWlyIG5hbWVzIGZvciBwdWJsaWNpdHkgZm9yIG9yIHRvIGFz c2VydCBvcgppbXBseSBlbmRvcnNlbWVudCBvZiBhbnkgTW9kaWZpZWQgVmVyc2lvbi4KCgo1LiBD T01CSU5JTkcgRE9DVU1FTlRTCgpZb3UgbWF5IGNvbWJpbmUgdGhlIERvY3VtZW50IHdpdGggb3Ro ZXIgZG9jdW1lbnRzIHJlbGVhc2VkIHVuZGVyIHRoaXMKTGljZW5zZSwgdW5kZXIgdGhlIHRlcm1z IGRlZmluZWQgaW4gc2VjdGlvbiA0IGFib3ZlIGZvciBtb2RpZmllZAp2ZXJzaW9ucywgcHJvdmlk ZWQgdGhhdCB5b3UgaW5jbHVkZSBpbiB0aGUgY29tYmluYXRpb24gYWxsIG9mIHRoZQpJbnZhcmlh bnQgU2VjdGlvbnMgb2YgYWxsIG9mIHRoZSBvcmlnaW5hbCBkb2N1bWVudHMsIHVubW9kaWZpZWQs IGFuZApsaXN0IHRoZW0gYWxsIGFzIEludmFyaWFudCBTZWN0aW9ucyBvZiB5b3VyIGNvbWJpbmVk IHdvcmsgaW4gaXRzCmxpY2Vuc2Ugbm90aWNlLCBhbmQgdGhhdCB5b3UgcHJlc2VydmUgYWxsIHRo ZWlyIFdhcnJhbnR5IERpc2NsYWltZXJzLgoKVGhlIGNvbWJpbmVkIHdvcmsgbmVlZCBvbmx5IGNv bnRhaW4gb25lIGNvcHkgb2YgdGhpcyBMaWNlbnNlLCBhbmQKbXVsdGlwbGUgaWRlbnRpY2FsIElu dmFyaWFudCBTZWN0aW9ucyBtYXkgYmUgcmVwbGFjZWQgd2l0aCBhIHNpbmdsZQpjb3B5LiAgSWYg dGhlcmUgYXJlIG11bHRpcGxlIEludmFyaWFudCBTZWN0aW9ucyB3aXRoIHRoZSBzYW1lIG5hbWUg YnV0CmRpZmZlcmVudCBjb250ZW50cywgbWFrZSB0aGUgdGl0bGUgb2YgZWFjaCBzdWNoIHNlY3Rp b24gdW5pcXVlIGJ5CmFkZGluZyBhdCB0aGUgZW5kIG9mIGl0LCBpbiBwYXJlbnRoZXNlcywgdGhl IG5hbWUgb2YgdGhlIG9yaWdpbmFsCmF1dGhvciBvciBwdWJsaXNoZXIgb2YgdGhhdCBzZWN0aW9u IGlmIGtub3duLCBvciBlbHNlIGEgdW5pcXVlIG51bWJlci4KTWFrZSB0aGUgc2FtZSBhZGp1c3Rt ZW50IHRvIHRoZSBzZWN0aW9uIHRpdGxlcyBpbiB0aGUgbGlzdCBvZgpJbnZhcmlhbnQgU2VjdGlv bnMgaW4gdGhlIGxpY2Vuc2Ugbm90aWNlIG9mIHRoZSBjb21iaW5lZCB3b3JrLgoKSW4gdGhlIGNv bWJpbmF0aW9uLCB5b3UgbXVzdCBjb21iaW5lIGFueSBzZWN0aW9ucyBFbnRpdGxlZCAiSGlzdG9y eSIKaW4gdGhlIHZhcmlvdXMgb3JpZ2luYWwgZG9jdW1lbnRzLCBmb3JtaW5nIG9uZSBzZWN0aW9u IEVudGl0bGVkCiJIaXN0b3J5IjsgbGlrZXdpc2UgY29tYmluZSBhbnkgc2VjdGlvbnMgRW50aXRs ZWQgIkFja25vd2xlZGdlbWVudHMiLAphbmQgYW55IHNlY3Rpb25zIEVudGl0bGVkICJEZWRpY2F0 aW9ucyIuICBZb3UgbXVzdCBkZWxldGUgYWxsIHNlY3Rpb25zCkVudGl0bGVkICJFbmRvcnNlbWVu dHMiLgoKCjYuIENPTExFQ1RJT05TIE9GIERPQ1VNRU5UUwoKWW91IG1heSBtYWtlIGEgY29sbGVj dGlvbiBjb25zaXN0aW5nIG9mIHRoZSBEb2N1bWVudCBhbmQgb3RoZXIKZG9jdW1lbnRzIHJlbGVh c2VkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHJlcGxhY2UgdGhlIGluZGl2aWR1YWwKY29waWVz IG9mIHRoaXMgTGljZW5zZSBpbiB0aGUgdmFyaW91cyBkb2N1bWVudHMgd2l0aCBhIHNpbmdsZSBj b3B5CnRoYXQgaXMgaW5jbHVkZWQgaW4gdGhlIGNvbGxlY3Rpb24sIHByb3ZpZGVkIHRoYXQgeW91 IGZvbGxvdyB0aGUgcnVsZXMKb2YgdGhpcyBMaWNlbnNlIGZvciB2ZXJiYXRpbSBjb3B5aW5nIG9m IGVhY2ggb2YgdGhlIGRvY3VtZW50cyBpbiBhbGwKb3RoZXIgcmVzcGVjdHMuCgpZb3UgbWF5IGV4 dHJhY3QgYSBzaW5nbGUgZG9jdW1lbnQgZnJvbSBzdWNoIGEgY29sbGVjdGlvbiwgYW5kCmRpc3Ry aWJ1dGUgaXQgaW5kaXZpZHVhbGx5IHVuZGVyIHRoaXMgTGljZW5zZSwgcHJvdmlkZWQgeW91IGlu c2VydCBhCmNvcHkgb2YgdGhpcyBMaWNlbnNlIGludG8gdGhlIGV4dHJhY3RlZCBkb2N1bWVudCwg YW5kIGZvbGxvdyB0aGlzCkxpY2Vuc2UgaW4gYWxsIG90aGVyIHJlc3BlY3RzIHJlZ2FyZGluZyB2 ZXJiYXRpbSBjb3B5aW5nIG9mIHRoYXQKZG9jdW1lbnQuCgoKNy4gQUdHUkVHQVRJT04gV0lUSCBJ TkRFUEVOREVOVCBXT1JLUwoKQSBjb21waWxhdGlvbiBvZiB0aGUgRG9jdW1lbnQgb3IgaXRzIGRl cml2YXRpdmVzIHdpdGggb3RoZXIgc2VwYXJhdGUKYW5kIGluZGVwZW5kZW50IGRvY3VtZW50cyBv ciB3b3JrcywgaW4gb3Igb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yCmRpc3RyaWJ1dGlvbiBt ZWRpdW0sIGlzIGNhbGxlZCBhbiAiYWdncmVnYXRlIiBpZiB0aGUgY29weXJpZ2h0CnJlc3VsdGlu ZyBmcm9tIHRoZSBjb21waWxhdGlvbiBpcyBub3QgdXNlZCB0byBsaW1pdCB0aGUgbGVnYWwgcmln aHRzCm9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzIGJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFs IHdvcmtzIHBlcm1pdC4KV2hlbiB0aGUgRG9jdW1lbnQgaXMgaW5jbHVkZWQgaW4gYW4gYWdncmVn YXRlLCB0aGlzIExpY2Vuc2UgZG9lcyBub3QKYXBwbHkgdG8gdGhlIG90aGVyIHdvcmtzIGluIHRo ZSBhZ2dyZWdhdGUgd2hpY2ggYXJlIG5vdCB0aGVtc2VsdmVzCmRlcml2YXRpdmUgd29ya3Mgb2Yg dGhlIERvY3VtZW50LgoKSWYgdGhlIENvdmVyIFRleHQgcmVxdWlyZW1lbnQgb2Ygc2VjdGlvbiAz IGlzIGFwcGxpY2FibGUgdG8gdGhlc2UKY29waWVzIG9mIHRoZSBEb2N1bWVudCwgdGhlbiBpZiB0 aGUgRG9jdW1lbnQgaXMgbGVzcyB0aGFuIG9uZSBoYWxmIG9mCnRoZSBlbnRpcmUgYWdncmVnYXRl LCB0aGUgRG9jdW1lbnQncyBDb3ZlciBUZXh0cyBtYXkgYmUgcGxhY2VkIG9uCmNvdmVycyB0aGF0 IGJyYWNrZXQgdGhlIERvY3VtZW50IHdpdGhpbiB0aGUgYWdncmVnYXRlLCBvciB0aGUKZWxlY3Ry b25pYyBlcXVpdmFsZW50IG9mIGNvdmVycyBpZiB0aGUgRG9jdW1lbnQgaXMgaW4gZWxlY3Ryb25p YyBmb3JtLgpPdGhlcndpc2UgdGhleSBtdXN0IGFwcGVhciBvbiBwcmludGVkIGNvdmVycyB0aGF0 IGJyYWNrZXQgdGhlIHdob2xlCmFnZ3JlZ2F0ZS4KCgo4LiBUUkFOU0xBVElPTgoKVHJhbnNsYXRp b24gaXMgY29uc2lkZXJlZCBhIGtpbmQgb2YgbW9kaWZpY2F0aW9uLCBzbyB5b3UgbWF5CmRpc3Ry aWJ1dGUgdHJhbnNsYXRpb25zIG9mIHRoZSBEb2N1bWVudCB1bmRlciB0aGUgdGVybXMgb2Ygc2Vj dGlvbiA0LgpSZXBsYWNpbmcgSW52YXJpYW50IFNlY3Rpb25zIHdpdGggdHJhbnNsYXRpb25zIHJl cXVpcmVzIHNwZWNpYWwKcGVybWlzc2lvbiBmcm9tIHRoZWlyIGNvcHlyaWdodCBob2xkZXJzLCBi dXQgeW91IG1heSBpbmNsdWRlCnRyYW5zbGF0aW9ucyBvZiBzb21lIG9yIGFsbCBJbnZhcmlhbnQg U2VjdGlvbnMgaW4gYWRkaXRpb24gdG8gdGhlCm9yaWdpbmFsIHZlcnNpb25zIG9mIHRoZXNlIElu dmFyaWFudCBTZWN0aW9ucy4gIFlvdSBtYXkgaW5jbHVkZSBhCnRyYW5zbGF0aW9uIG9mIHRoaXMg TGljZW5zZSwgYW5kIGFsbCB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZQpEb2N1bWVudCwgYW5k IGFueSBXYXJyYW50eSBEaXNjbGFpbWVycywgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBpbmNsdWRl CnRoZSBvcmlnaW5hbCBFbmdsaXNoIHZlcnNpb24gb2YgdGhpcyBMaWNlbnNlIGFuZCB0aGUgb3Jp Z2luYWwgdmVyc2lvbnMKb2YgdGhvc2Ugbm90aWNlcyBhbmQgZGlzY2xhaW1lcnMuICBJbiBjYXNl IG9mIGEgZGlzYWdyZWVtZW50IGJldHdlZW4KdGhlIHRyYW5zbGF0aW9uIGFuZCB0aGUgb3JpZ2lu YWwgdmVyc2lvbiBvZiB0aGlzIExpY2Vuc2Ugb3IgYSBub3RpY2UKb3IgZGlzY2xhaW1lciwgdGhl IG9yaWdpbmFsIHZlcnNpb24gd2lsbCBwcmV2YWlsLgoKSWYgYSBzZWN0aW9uIGluIHRoZSBEb2N1 bWVudCBpcyBFbnRpdGxlZCAiQWNrbm93bGVkZ2VtZW50cyIsCiJEZWRpY2F0aW9ucyIsIG9yICJI aXN0b3J5IiwgdGhlIHJlcXVpcmVtZW50IChzZWN0aW9uIDQpIHRvIFByZXNlcnZlCml0cyBUaXRs ZSAoc2VjdGlvbiAxKSB3aWxsIHR5cGljYWxseSByZXF1aXJlIGNoYW5naW5nIHRoZSBhY3R1YWwK dGl0bGUuCgoKOS4gVEVSTUlOQVRJT04KCllvdSBtYXkgbm90IGNvcHksIG1vZGlmeSwgc3VibGlj ZW5zZSwgb3IgZGlzdHJpYnV0ZSB0aGUgRG9jdW1lbnQKZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92 aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdApvdGhlcndpc2UgdG8gY29weSwg bW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIGl0IGlzIHZvaWQsIGFuZAp3aWxsIGF1 dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KCkhv d2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5 b3VyIGxpY2Vuc2UKZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3Rh dGVkIChhKSBwcm92aXNpb25hbGx5LAp1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9s ZGVyIGV4cGxpY2l0bHkgYW5kIGZpbmFsbHkKdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAo YikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyCmZhaWxzIHRvIG5vdGlmeSB5 b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMgcHJpb3IgdG8KNjAg ZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKTW9yZW92ZXIsIHlvdXIgbGljZW5zZSBmcm9tIGEg cGFydGljdWxhciBjb3B5cmlnaHQgaG9sZGVyIGlzCnJlaW5zdGF0ZWQgcGVybWFuZW50bHkgaWYg dGhlIGNvcHlyaWdodCBob2xkZXIgbm90aWZpZXMgeW91IG9mIHRoZQp2aW9sYXRpb24gYnkgc29t ZSByZWFzb25hYmxlIG1lYW5zLCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHlvdSBoYXZlCnJlY2Vp dmVkIG5vdGljZSBvZiB2aW9sYXRpb24gb2YgdGhpcyBMaWNlbnNlIChmb3IgYW55IHdvcmspIGZy b20gdGhhdApjb3B5cmlnaHQgaG9sZGVyLCBhbmQgeW91IGN1cmUgdGhlIHZpb2xhdGlvbiBwcmlv ciB0byAzMCBkYXlzIGFmdGVyCnlvdXIgcmVjZWlwdCBvZiB0aGUgbm90aWNlLgoKVGVybWluYXRp b24gb2YgeW91ciByaWdodHMgdW5kZXIgdGhpcyBzZWN0aW9uIGRvZXMgbm90IHRlcm1pbmF0ZSB0 aGUKbGljZW5zZXMgb2YgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMgb3IgcmlnaHRz IGZyb20geW91IHVuZGVyCnRoaXMgTGljZW5zZS4gIElmIHlvdXIgcmlnaHRzIGhhdmUgYmVlbiB0 ZXJtaW5hdGVkIGFuZCBub3QgcGVybWFuZW50bHkKcmVpbnN0YXRlZCwgcmVjZWlwdCBvZiBhIGNv cHkgb2Ygc29tZSBvciBhbGwgb2YgdGhlIHNhbWUgbWF0ZXJpYWwgZG9lcwpub3QgZ2l2ZSB5b3Ug YW55IHJpZ2h0cyB0byB1c2UgaXQuCgoKMTAuIEZVVFVSRSBSRVZJU0lPTlMgT0YgVEhJUyBMSUNF TlNFCgpUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIG5ldywgcmV2aXNl ZCB2ZXJzaW9ucyBvZiB0aGUKR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlIGZyb20gdGlt ZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMKd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0 byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbgpkZXRhaWwgdG8gYWRkcmVz cyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuICBTZWUKaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8uCgpFYWNoIHZlcnNpb24gb2YgdGhlIExpY2Vuc2UgaXMgZ2l2ZW4gYSBkaXN0aW5ndWlz aGluZyB2ZXJzaW9uIG51bWJlci4KSWYgdGhlIERvY3VtZW50IHNwZWNpZmllcyB0aGF0IGEgcGFy dGljdWxhciBudW1iZXJlZCB2ZXJzaW9uIG9mIHRoaXMKTGljZW5zZSAib3IgYW55IGxhdGVyIHZl cnNpb24iIGFwcGxpZXMgdG8gaXQsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YKZm9sbG93aW5nIHRo ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBzcGVjaWZpZWQgdmVyc2lvbiBv cgpvZiBhbnkgbGF0ZXIgdmVyc2lvbiB0aGF0IGhhcyBiZWVuIHB1Ymxpc2hlZCAobm90IGFzIGEg ZHJhZnQpIGJ5IHRoZQpGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgRG9jdW1lbnQg ZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24KbnVtYmVyIG9mIHRoaXMgTGljZW5zZSwgeW91IG1h eSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgKG5vdAphcyBhIGRyYWZ0KSBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIERvY3VtZW50CnNwZWNpZmllcyB0 aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUgdmVyc2lvbnMgb2YgdGhpcwpMaWNl bnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MgcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRh bmNlIG9mIGEKdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdSB0byBjaG9vc2UgdGhh dCB2ZXJzaW9uIGZvciB0aGUKRG9jdW1lbnQuCgoxMS4gUkVMSUNFTlNJTkcKCiJNYXNzaXZlIE11 bHRpYXV0aG9yIENvbGxhYm9yYXRpb24gU2l0ZSIgKG9yICJNTUMgU2l0ZSIpIG1lYW5zIGFueQpX b3JsZCBXaWRlIFdlYiBzZXJ2ZXIgdGhhdCBwdWJsaXNoZXMgY29weXJpZ2h0YWJsZSB3b3JrcyBh bmQgYWxzbwpwcm92aWRlcyBwcm9taW5lbnQgZmFjaWxpdGllcyBmb3IgYW55Ym9keSB0byBlZGl0 IHRob3NlIHdvcmtzLiAgQQpwdWJsaWMgd2lraSB0aGF0IGFueWJvZHkgY2FuIGVkaXQgaXMgYW4g ZXhhbXBsZSBvZiBzdWNoIGEgc2VydmVyLiAgQQoiTWFzc2l2ZSBNdWx0aWF1dGhvciBDb2xsYWJv cmF0aW9uIiAob3IgIk1NQyIpIGNvbnRhaW5lZCBpbiB0aGUgc2l0ZQptZWFucyBhbnkgc2V0IG9m IGNvcHlyaWdodGFibGUgd29ya3MgdGh1cyBwdWJsaXNoZWQgb24gdGhlIE1NQyBzaXRlLgoKIkND LUJZLVNBIiBtZWFucyB0aGUgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZSBBbGlr ZSAzLjAKbGljZW5zZSBwdWJsaXNoZWQgYnkgQ3JlYXRpdmUgQ29tbW9ucyBDb3Jwb3JhdGlvbiwg YSBub3QtZm9yLXByb2ZpdApjb3Jwb3JhdGlvbiB3aXRoIGEgcHJpbmNpcGFsIHBsYWNlIG9mIGJ1 c2luZXNzIGluIFNhbiBGcmFuY2lzY28sCkNhbGlmb3JuaWEsIGFzIHdlbGwgYXMgZnV0dXJlIGNv cHlsZWZ0IHZlcnNpb25zIG9mIHRoYXQgbGljZW5zZQpwdWJsaXNoZWQgYnkgdGhhdCBzYW1lIG9y Z2FuaXphdGlvbi4KCiJJbmNvcnBvcmF0ZSIgbWVhbnMgdG8gcHVibGlzaCBvciByZXB1Ymxpc2gg YSBEb2N1bWVudCwgaW4gd2hvbGUgb3IgaW4KcGFydCwgYXMgcGFydCBvZiBhbm90aGVyIERvY3Vt ZW50LgoKQW4gTU1DIGlzICJlbGlnaWJsZSBmb3IgcmVsaWNlbnNpbmciIGlmIGl0IGlzIGxpY2Vu c2VkIHVuZGVyIHRoaXMKTGljZW5zZSwgYW5kIGlmIGFsbCB3b3JrcyB0aGF0IHdlcmUgZmlyc3Qg cHVibGlzaGVkIHVuZGVyIHRoaXMgTGljZW5zZQpzb21ld2hlcmUgb3RoZXIgdGhhbiB0aGlzIE1N QywgYW5kIHN1YnNlcXVlbnRseSBpbmNvcnBvcmF0ZWQgaW4gd2hvbGUgb3IKaW4gcGFydCBpbnRv IHRoZSBNTUMsICgxKSBoYWQgbm8gY292ZXIgdGV4dHMgb3IgaW52YXJpYW50IHNlY3Rpb25zLCBh bmQKKDIpIHdlcmUgdGh1cyBpbmNvcnBvcmF0ZWQgcHJpb3IgdG8gTm92ZW1iZXIgMSwgMjAwOC4K ClRoZSBvcGVyYXRvciBvZiBhbiBNTUMgU2l0ZSBtYXkgcmVwdWJsaXNoIGFuIE1NQyBjb250YWlu ZWQgaW4gdGhlIHNpdGUKdW5kZXIgQ0MtQlktU0Egb24gdGhlIHNhbWUgc2l0ZSBhdCBhbnkgdGlt ZSBiZWZvcmUgQXVndXN0IDEsIDIwMDksCnByb3ZpZGVkIHRoZSBNTUMgaXMgZWxpZ2libGUgZm9y IHJlbGljZW5zaW5nLgoKCkFEREVORFVNOiBIb3cgdG8gdXNlIHRoaXMgTGljZW5zZSBmb3IgeW91 ciBkb2N1bWVudHMKClRvIHVzZSB0aGlzIExpY2Vuc2UgaW4gYSBkb2N1bWVudCB5b3UgaGF2ZSB3 cml0dGVuLCBpbmNsdWRlIGEgY29weSBvZgp0aGUgTGljZW5zZSBpbiB0aGUgZG9jdW1lbnQgYW5k IHB1dCB0aGUgZm9sbG93aW5nIGNvcHlyaWdodCBhbmQKbGljZW5zZSBub3RpY2VzIGp1c3QgYWZ0 ZXIgdGhlIHRpdGxlIHBhZ2U6CgogICAgQ29weXJpZ2h0IChjKSAgWUVBUiAgWU9VUiBOQU1FLgog ICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlm eSB0aGlzIGRvY3VtZW50CiAgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBGcmVlIERvY3Vt ZW50YXRpb24gTGljZW5zZSwgVmVyc2lvbiAxLjMKICAgIG9yIGFueSBsYXRlciB2ZXJzaW9uIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOwogICAgd2l0aCBubyBJbnZh cmlhbnQgU2VjdGlvbnMsIG5vIEZyb250LUNvdmVyIFRleHRzLCBhbmQgbm8gQmFjay1Db3ZlciBU ZXh0cy4KICAgIEEgY29weSBvZiB0aGUgbGljZW5zZSBpcyBpbmNsdWRlZCBpbiB0aGUgc2VjdGlv biBlbnRpdGxlZCAiR05VCiAgICBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSIuCgpJZiB5b3Ug aGF2ZSBJbnZhcmlhbnQgU2VjdGlvbnMsIEZyb250LUNvdmVyIFRleHRzIGFuZCBCYWNrLUNvdmVy IFRleHRzLApyZXBsYWNlIHRoZSAid2l0aC4uLlRleHRzLiIgbGluZSB3aXRoIHRoaXM6CgogICAg d2l0aCB0aGUgSW52YXJpYW50IFNlY3Rpb25zIGJlaW5nIExJU1QgVEhFSVIgVElUTEVTLCB3aXRo IHRoZQogICAgRnJvbnQtQ292ZXIgVGV4dHMgYmVpbmcgTElTVCwgYW5kIHdpdGggdGhlIEJhY2st Q292ZXIgVGV4dHMgYmVpbmcgTElTVC4KCklmIHlvdSBoYXZlIEludmFyaWFudCBTZWN0aW9ucyB3 aXRob3V0IENvdmVyIFRleHRzLCBvciBzb21lIG90aGVyCmNvbWJpbmF0aW9uIG9mIHRoZSB0aHJl ZSwgbWVyZ2UgdGhvc2UgdHdvIGFsdGVybmF0aXZlcyB0byBzdWl0IHRoZQpzaXR1YXRpb24uCgpJ ZiB5b3VyIGRvY3VtZW50IGNvbnRhaW5zIG5vbnRyaXZpYWwgZXhhbXBsZXMgb2YgcHJvZ3JhbSBj b2RlLCB3ZQpyZWNvbW1lbmQgcmVsZWFzaW5nIHRoZXNlIGV4YW1wbGVzIGluIHBhcmFsbGVsIHVu ZGVyIHlvdXIgY2hvaWNlIG9mCmZyZWUgc29mdHdhcmUgbGljZW5zZSwgc3VjaCBhcyB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnRvIHBlcm1pdCB0aGVpciB1c2UgaW4gZnJlZSBzb2Z0 d2FyZS4KIytlbmRfZXhwb3J0CgojK2h0bWw6IDwhLS0KCiogSW5kaWNlcwo6cHJvcGVydGllczoK OmN1c3RvbV9pZDogaDo1NTEwNGIyNi04ZTk0LTQ2Y2YtOTk3NS00M2VhMDAzMTY0ODkKOmVuZDoK CioqIEZ1bmN0aW9uIGluZGV4Cjpwcm9wZXJ0aWVzOgo6aW5kZXg6IGZuCjpjdXN0b21faWQ6IGg6 NmJlYzUwMDUtNTI5Yy00NTIxLWFlMDUtM2Q5OTBiYWZmYjViCjplbmQ6CgoqKiBWYXJpYWJsZSBp bmRleAo6cHJvcGVydGllczoKOmluZGV4OiB2cgo6Y3VzdG9tX2lkOiBoOjE2YWQ4ZGY2LWIwMTUt NDBhOS05MjU5LTAzZDRmN2EyM2VlNAo6ZW5kOgoKKiogQ29uY2VwdCBpbmRleAo6cHJvcGVydGll czoKOmluZGV4OiBjcAo6Y3VzdG9tX2lkOiBoOjZhYTdhNjU2LTg4NGItNGMzOS1iNzU5LTA4N2U0 MTJlZWMxMwo6ZW5kOgoKIytodG1sOiAtLT4K --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 05 16:11:38 2021 Received: (at 45068) by debbugs.gnu.org; 5 Mar 2021 21:11:38 +0000 Received: from localhost ([127.0.0.1]:35569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIHjV-0004Zd-TG for submit@debbugs.gnu.org; Fri, 05 Mar 2021 16:11:38 -0500 Received: from heytings.org ([95.142.160.155]:44736) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIHjT-0004ZT-M7 for 45068@debbugs.gnu.org; Fri, 05 Mar 2021 16:11:36 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1614978694; bh=YHfDDNgFx9rINkvIPpi1jGGvKYxIyjsgef2ARpNw/BQ=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=IPv+xZOMpaX/7kjihGpyEe7Huv7CI7+jU4OFIGqtmiCRw7KwKQUzaDY60g5Lx5cxZ PeE9fEVAQTN74Hu3YvSCRgjrsAA7VJn6sLJmW4aHSHlSOCqV+MHQSZdV3N74ZMoV7e 05OfGYbOpLGdLoAEte9haqTqx4xCfEqxtwuLQW78nO75DrmUzdy71Xfkhy5Eu5cpis vxLDPajBRK+LLwG79IazMGczpN9kNREPJgswCKrFvzizx9bxjubv67nDN2Z2/gQ0aP uECmzz9p4bfQDZgzlitNRJpeX8rwXxGOt/VROtU/uO22zDoyRRhlJx5rYRRWOhRoUO lmXFwzFcRISYA== Date: Fri, 05 Mar 2021 21:11:33 +0000 From: Gregory Heytings To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 In-Reply-To: <87eeguab7o.fsf@protesilaos.com> Message-ID: <81b38e8b77db937f064a@heytings.org> References: <87im9fgm27.fsf@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>> +(deftheme modus-vivendi >>> + "Accessible and customizable light theme (WCAG AAA standard). >> ^^^^^ >> dark > > [ Answer only if it is easy: how do you draw those ^^^ below the text? ] > (defun undercaret (&optional arg) (interactive "p") (let* ((b (region-beginning)) (e (region-end)) (c (save-excursion (goto-char b) (current-column)))) (when (and (region-active-p) (= (line-number-at-pos b) (line-number-at-pos e))) (forward-line 1) (dotimes (_ c) (insert " ")) (dotimes (_ (- e b)) (insert "^")) (insert "\n") (when (/= arg 1) (dotimes (_ c) (insert " ")) (insert "\n")) (backward-char)))) From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 05 17:00:26 2021 Received: (at 45068) by debbugs.gnu.org; 5 Mar 2021 22:00:26 +0000 Received: from localhost ([127.0.0.1]:35611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIIUk-0005mH-DG for submit@debbugs.gnu.org; Fri, 05 Mar 2021 17:00:26 -0500 Received: from mail-wm1-f46.google.com ([209.85.128.46]:56134) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIIUh-0005m1-L7 for 45068@debbugs.gnu.org; Fri, 05 Mar 2021 17:00:25 -0500 Received: by mail-wm1-f46.google.com with SMTP id w7so2568229wmb.5 for <45068@debbugs.gnu.org>; Fri, 05 Mar 2021 14:00:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=j9B6DgTw9kNisPS4cwzXm8jIEf/mf4dGB5ydff8teFg=; b=QIW156ooFnPGYnebGaOXqCfuNMWCueWvlzrRDb9KQ8XDnI9hckbOh4k11KhV5nA4xa xA+D0ZNVVy4mSRYgZKBcYTB2Tcwamr+5tgIboh4buMPPYUVUdl0tqvO4WDvm+K/Pvs7t vA5pIeA3rJLdjZoYrOXbYfTGoD6kiWWJmOKDbsBHZBT+mTRKGZ4PIJim4pcPXsHdC/Lb j1yqJNZqT66OY2taIMgQW9L0AUjPXs03c5vs81Irx5mIAv5klCal67mjJTObwsrZP720 hnQlSIEQ36uqO2h8UM6KFC+dMdKJ3umlqba+UxiIvS/SwJ+Jh2vmIjDVbZvCPMQwjS03 zSvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=j9B6DgTw9kNisPS4cwzXm8jIEf/mf4dGB5ydff8teFg=; b=DjanN+eV2pwi8qG9AImU73Dhev9m0fYKoh1yni6CgStXL72mbPKZJWwmjo09ytnKbz xY7DqFfVtVyVVpI7N5pKxzvauryZffDtzDwfwzINl9bL2H1G2RcaZ3zfAK3QHXpbgpO0 GERZ7wT1wWqEzAx9hGuOfa8mP1K0py7j/ThI8ntZK1wA+1pVr4kjXJzqyKtfdk20RIiL OnBfyumwgEAA0eHzEjTU/YIDEAl9DP8ttcgCvAUwRe64MK+Dpg5A9KbnDgBZJM3v7ebY dUtEzFkNfs+YxX76CzvksTrlaR+AW8xMlLnRrL+rRHPUvKfTqrIEBdJ4r5vD3jgIuopx 0mPg== X-Gm-Message-State: AOAM531uwjaKLSJQLRUk99LiQRFK8WiO+8hAx3Br1hC5d0h+g3d6Vy8/ imjg244yfREZkyZHe75lfjmFiQ== X-Google-Smtp-Source: ABdhPJwBRe97uJuS5tb1gGS+y9MeAiRprxSWviya0wxKVif8Qtl2YBsjrTwd4/6Wv9LhMnHPPyg4yw== X-Received: by 2002:a05:600c:4ba2:: with SMTP id e34mr10834511wmp.121.1614981617622; Fri, 05 Mar 2021 14:00:17 -0800 (PST) Received: from localhost ([51.37.127.115]) by smtp.gmail.com with ESMTPSA id 9sm4241034wmf.13.2021.03.05.14.00.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Mar 2021 14:00:16 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <87czwdikzd.fsf@tcd.ie> <87a6rhqyl9.fsf@protesilaos.com> Date: Fri, 05 Mar 2021 22:00:15 +0000 In-Reply-To: <87a6rhqyl9.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Fri, 05 Mar 2021 19:50:26 +0200") Message-ID: <875z25dzww.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Protesilaos Stavrou writes: > On 2021-03-05, 17:11 +0000, "Basil L. Contovounesios" w= rote: > >>>>> ++ Ideas and user feedback :: Aaron Jensen, Adam Spiers, Adrian Manea, >>>>> + Alex Griffin, Alex Peitsinis, Alexey Shmalko, Alok Singh, Anders >>>>> + Johansson, Andr=C3=A9 Alexandre Gomes, Arif Rezai, Basil L. Contov= ounesios, >>>> ^^ >>>> Hopefully Org's Texinfo export can one day be taught that this is not >>>> the end of a sentence ;). >>> >>> Ah yes, I recall noticing that! Can we circumvent it somehow? Perhaps >>> by omitting the space? >> >> Or the 'L. ' wholesale, but using @: as you've done is also fine ;). > > I preferred to keep the name the way you use it, so as to avoid > ambiguity (though I would not mind if your doppelg=C3=A4nger was also hac= king > on Elisp!). Don't believe what he says, he only wants to discredit me. >> Following the discussion in: >> >> https://gitlab.com/protesilaos/modus-themes/-/issues/162 >> >> I'm preparing to update emacs.git to Modus version 1.2.2. I just want >> to clarify a thing here and there first, so stay tuned. > > Now version 1.2.3. I guess you prefer the files over a patch? I attach > them. Thanks, I've now pushed your original 1.2.0 patch and a new 1.2.3 patch with you as the author to the scratch/update-modus-themes branch. It looks fine to me, so unless you see anything amiss I'll merge it with master soon. --=20 Basil From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 06 00:14:02 2021 Received: (at 45068) by debbugs.gnu.org; 6 Mar 2021 05:14:02 +0000 Received: from localhost ([127.0.0.1]:35881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIPGL-0001Hb-TQ for submit@debbugs.gnu.org; Sat, 06 Mar 2021 00:14:02 -0500 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:38685) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIPGK-0001HO-Ks for 45068@debbugs.gnu.org; Sat, 06 Mar 2021 00:14:01 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay9-d.mail.gandi.net (Postfix) with ESMTPSA id 57651FF804; Sat, 6 Mar 2021 05:13:52 +0000 (UTC) From: Protesilaos Stavrou To: "Basil L. Contovounesios" Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <87czwdikzd.fsf@tcd.ie> <87a6rhqyl9.fsf@protesilaos.com> <875z25dzww.fsf@tcd.ie> Date: Sat, 06 Mar 2021 07:13:51 +0200 In-Reply-To: <875z25dzww.fsf@tcd.ie> (Basil L. Contovounesios's message of "Fri, 05 Mar 2021 22:00:15 +0000") Message-ID: <87blbwhnjk.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-05, 22:00 +0000, "Basil L. Contovounesios" wrote: >>> Following the discussion in: >>> >>> https://gitlab.com/protesilaos/modus-themes/-/issues/162 >>> >>> I'm preparing to update emacs.git to Modus version 1.2.2. I just want >>> to clarify a thing here and there first, so stay tuned. >> >> Now version 1.2.3. I guess you prefer the files over a patch? I attach >> them. > > Thanks, I've now pushed your original 1.2.0 patch and a new 1.2.3 patch > with you as the author to the scratch/update-modus-themes branch. It > looks fine to me, so unless you see anything amiss I'll merge it with > master soon. Thank you Basil! Everything seems to be in order. Please merge it, at your convenience. -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 06 04:29:58 2021 Received: (at control) by debbugs.gnu.org; 6 Mar 2021 09:29:58 +0000 Received: from localhost ([127.0.0.1]:36018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lITG2-00037L-6F for submit@debbugs.gnu.org; Sat, 06 Mar 2021 04:29:58 -0500 Received: from mail-wr1-f52.google.com ([209.85.221.52]:33920) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lITFz-000372-Bl for control@debbugs.gnu.org; Sat, 06 Mar 2021 04:29:56 -0500 Received: by mail-wr1-f52.google.com with SMTP id u16so5026069wrt.1 for ; Sat, 06 Mar 2021 01:29:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd.ie; s=google21; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=AKW/gE4u8XL3eIIz61Sf6yA+EBzp2aKI+zpWq1EiMOs=; b=F3KV76WmAFXJSoMA1P9htIk6x6s+6/5u4X3DyY1qKmMT2l2uJYY5X6km3YrI3X1tSP 5V+oi7AsOUmPs/ZtLSg/Jzy3iqx/KRImIN6sAQG1c4ZWFjG9I4ZsFhq8+VI3E2cCfRuU zwcb/P9RhWGoJjM0U1TInhniY61gv7x2GE1T/rm4dUBGYyQhP0cJCczOzZgcjGJC753j 91y0BpBaMUpagoIXG2huwJ3BrxLcn6iNz6UQmkG4bhEoLnWo4d6etwj3pYwAj7dhu4Lx 6QhDBO+G1T9OCuF94lLaTGzDZeJxXK0gEmkKuua6ceF0xm3A0v1kSPTt9/tFqFfT+IaE b3Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=AKW/gE4u8XL3eIIz61Sf6yA+EBzp2aKI+zpWq1EiMOs=; b=eVYy6z8wHEN8+cC5L2/3C5ymmcN66q/WdGyboVmJmDN8Ui8N9kHnP0ynUde/6ZMXG2 QRJ/BDiaKWvJNAcZH5qz4gevn6F5Q+d/GyFWZsSSswF/Tgd3efrr+WfN62qgdNuc26Yi jdZA8AzjXVZroOrsIuQIMpEk+27bikPPIhunHzQ3SswBt1vSRjlf2RCs2GywaP6B2e7Z /KHeNpuuJxJtcaKwOBoP+9RgO7ZW8nkfnY173yK3vfettkkwovidnN7D1hfoKZnfH/OA g/Jc+LqazJ2VSFX2yFoP0T1rXNb4RmnLWZ/NNiFg+rnbmSBv0jFpw9ECJewTkwJhy3TL xj0g== X-Gm-Message-State: AOAM5314qtuAkr0wF4HoV50afltmxSa4fj8DUCMa/pC0rrasdbGzJAtK z8nj1t6aE7l0B/KKuBSwZObf5Q== X-Google-Smtp-Source: ABdhPJzTTdRL77FX1PY8J8uKh6zZ5lFxm0uvUjRR71vAsnQ0kf4lsv7tshQKYzckBmPNQAbw/xK4rw== X-Received: by 2002:adf:9261:: with SMTP id 88mr13056619wrj.270.1615022989592; Sat, 06 Mar 2021 01:29:49 -0800 (PST) Received: from localhost ([51.37.57.126]) by smtp.gmail.com with ESMTPSA id y8sm8000654wmi.46.2021.03.06.01.29.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Mar 2021 01:29:48 -0800 (PST) From: "Basil L. Contovounesios" To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <87czwdikzd.fsf@tcd.ie> <87a6rhqyl9.fsf@protesilaos.com> <875z25dzww.fsf@tcd.ie> <87blbwhnjk.fsf@protesilaos.com> Date: Sat, 06 Mar 2021 09:29:47 +0000 In-Reply-To: <87blbwhnjk.fsf@protesilaos.com> (Protesilaos Stavrou's message of "Sat, 06 Mar 2021 07:13:51 +0200") Message-ID: <87lfb0r5o4.fsf@tcd.ie> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: control Cc: 45068-done@debbugs.gnu.org, Mauro Aranda X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) close 45068 28.1 quit Protesilaos Stavrou writes: > On 2021-03-05, 22:00 +0000, "Basil L. Contovounesios" wrote: > >> Thanks, I've now pushed your original 1.2.0 patch and a new 1.2.3 patch >> with you as the author to the scratch/update-modus-themes branch. It >> looks fine to me, so unless you see anything amiss I'll merge it with >> master soon. > > Thank you Basil! Everything seems to be in order. Please merge it, at > your convenience. Thanks, done. And with that, I'm closing this report. Update Modus themes to their version 1.2.0 de602dd7cf 2021-03-06 09:16:00 +0000 https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=de602dd7cf76b001244964aa5bbef4d9e08ea62b Pull Modus themes version 1.2.3 from upstream 8fb33bae32 2021-03-06 09:16:00 +0000 https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=8fb33bae32e39f597317eb4857447bb0ea1a4de3 -- Basil From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 06 08:24:05 2021 Received: (at 45068) by debbugs.gnu.org; 6 Mar 2021 13:24:05 +0000 Received: from localhost ([127.0.0.1]:36265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIWub-000324-9N for submit@debbugs.gnu.org; Sat, 06 Mar 2021 08:24:05 -0500 Received: from heytings.org ([95.142.160.155]:45522) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIWuZ-00031w-Qr for 45068@debbugs.gnu.org; Sat, 06 Mar 2021 08:24:04 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1615037042; bh=UYBMpNlAWuVNfm4pbO6YqqYMrMjKlVdAf9hvgdg8nQw=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=JZoZhJ51Q26OvtE/LUqR1ceaTXec6P1GVtXBFHoNiE/vPeXCo9dXJ8veha9dM/GvI WSq5dwo7gmzXr97h0R/Z4Nh8mqOZUzR4LyTO2LJgHHaI72Ps/yydHWyh7Qos0H75YN YfXz/TftLgbkKjp+xIdO8Aq2LvUQ0+q8cwyyP2Wc0xZysN9PyQouf76F5CE1h+nH72 rv8ltcJHcApmwb9JLwAeZHCc8tR6JrzfgqFv7HEp50dPl9REOEHU2kq7rDd8w6nLM0 DKF7gBiKiyW3Ui58atxubfH7Vd9L7zGvjpzw4G+WjMCVyYSqZFxHMFEearLbEnyAlf uxkxeI/fr3u4A== Date: Sat, 06 Mar 2021 13:24:01 +0000 From: Gregory Heytings To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 In-Reply-To: <81b38e8b77db937f064a@heytings.org> Message-ID: <7de1aeec52597093157c@heytings.org> References: <87im9fgm27.fsf@protesilaos.com> <83czxt2fpd.fsf@gnu.org> <87h7m0n0em.fsf@protesilaos.com> <83v9agryuz.fsf@gnu.org> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <81b38e8b77db937f064a@heytings.org> MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=us-ascii X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>> +(deftheme modus-vivendi >>> + "Accessible and customizable light theme (WCAG AAA standard). >> ^^^^^ >> dark > > [ Answer only if it is easy: how do you draw those ^^^ below the text? ] > Here's a more polished version, which takes care of the prefix / fill-prefix, and works on multiple lines: (defun undercaret (&optional arg) (interactive "p") (let* ((begin (if (region-active-p) (region-beginning) (line-beginning-position))) (end (if (region-active-p) (region-end) (line-end-position))) (lines (- (line-number-at-pos end) (line-number-at-pos begin) -1)) (comment (and (/= arg 1) (= lines 1))) (final-forward-line -1)) (goto-char begin) (dotimes (i lines) (let* ((line-begin (if (zerop i) begin (line-beginning-position))) (line-end (if (= (1+ i) lines) end (line-end-position))) (begin-column (progn (goto-char line-begin) (current-column))) (prefix-begin (line-beginning-position)) (prefix-end (progn (beginning-of-line-text) (point))) (prefix-end-column (progn (goto-char prefix-end) (current-column))) (delta (if (< begin-column prefix-end-column) (- prefix-end-column begin-column) 0)) (prefix-string (buffer-substring-no-properties prefix-begin prefix-end)) (prefix (if (string-blank-p prefix-string) "" prefix-string)) (whitespace (make-string (- (+ begin-column delta) (length prefix)) ?\ )) (do-under (< delta (- line-end line-begin))) (under (if do-under (make-string (- line-end line-begin delta) ?^) "")) (under-string (concat prefix whitespace under "\n"))) (forward-line 1) (if do-under (insert under-string) (setq final-forward-line -2)) (setq end (+ end (length under-string))) (when comment (insert prefix whitespace "\n")))) (forward-line final-forward-line) (goto-char (line-end-position)))) From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 06 10:22:42 2021 Received: (at 45068) by debbugs.gnu.org; 6 Mar 2021 15:22:42 +0000 Received: from localhost ([127.0.0.1]:38113 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIYlO-0006Ru-20 for submit@debbugs.gnu.org; Sat, 06 Mar 2021 10:22:42 -0500 Received: from relay10.mail.gandi.net ([217.70.178.230]:40163) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIYlM-0006Re-9E for 45068@debbugs.gnu.org; Sat, 06 Mar 2021 10:22:40 -0500 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay10.mail.gandi.net (Postfix) with ESMTPSA id 2CB85240006; Sat, 6 Mar 2021 15:22:32 +0000 (UTC) From: Protesilaos Stavrou To: Gregory Heytings Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <81b38e8b77db937f064a@heytings.org> <7de1aeec52597093157c@heytings.org> Date: Sat, 06 Mar 2021 17:22:30 +0200 In-Reply-To: <7de1aeec52597093157c@heytings.org> (Gregory Heytings's message of "Sat, 06 Mar 2021 13:24:01 +0000") Message-ID: <87o8fwfgsp.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-06, 13:24 +0000, Gregory Heytings wrote: >>>> +(deftheme modus-vivendi >>>> + "Accessible and customizable light theme (WCAG AAA standard). >>> ^^^^^ >>> dark >> [ Answer only if it is easy: how do you draw those ^^^ below the text? >> ] >> > > Here's a more polished version, which takes care of the prefix / > fill-prefix, and works on multiple lines: > > (defun undercaret (&optional arg) > ^^^^^^^^^^ It works. Thank you! -- Protesilaos Stavrou protesilaos.com From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 06 13:25:27 2021 Received: (at 45068) by debbugs.gnu.org; 6 Mar 2021 18:25:27 +0000 Received: from localhost ([127.0.0.1]:38273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIbcF-0004Va-D4 for submit@debbugs.gnu.org; Sat, 06 Mar 2021 13:25:27 -0500 Received: from heytings.org ([95.142.160.155]:45820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIbcD-0004VQ-6X for 45068@debbugs.gnu.org; Sat, 06 Mar 2021 13:25:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heytings.org; s=20210101; t=1615055123; bh=2a5/Eif+heND1AoAujai8d8iLkVphD/Q/jWSvv8b48Y=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References:From; b=mlAW8L3pTyJ5v4SojFBB6ut8McMftDAfbIsX7Uu6n6Yb3pNiF1uPLGZDCZ9syVAS4 kXbH9RpmuYV9puEjWeYhPPMIYZWtF4TpQJWWqDFPaZQAAIY9InKqhUSNzVYWmDgLQK XlPYxjFjMYJYJOdFgqcxVOF1fSzuzZQyYGpj/JDPPIt0xrX+wsy5VBD4BgESN3Xewt jcRFHi+HGFE2QDYKbUpaTbICmj90T95C4Elm33KHBz5fAv3jcNA8bP5r3WkVBqEWDq GhuDYX9wgHh8xWJeL6zd4vuliA1VK6hKQnITNbC+Kc93i5Zy/vjUPTjMBO8TeaQsfW ZrIT2COGH181A== Date: Sat, 06 Mar 2021 18:25:22 +0000 From: Gregory Heytings To: Protesilaos Stavrou Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 In-Reply-To: <87o8fwfgsp.fsf@protesilaos.com> Message-ID: <7de1aeec5249455d448b@heytings.org> References: <87im9fgm27.fsf@protesilaos.com> <87tupyw83e.fsf@protesilaos.com> <83zgzqncxx.fsf@gnu.org> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <81b38e8b77db937f064a@heytings.org> <7de1aeec52597093157c@heytings.org> <87o8fwfgsp.fsf@protesilaos.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > > It works. Thank you! > You are welcome :-) Actually the previous version had a bug with tab-indented lines. It is fixed now: (defun undercaret (&optional arg) (interactive "p") (let* ((begin (if (region-active-p) (region-beginning) (line-beginning-position))) (end (if (region-active-p) (region-end) (line-end-position))) (lines (- (line-number-at-pos end) (line-number-at-pos begin) -1)) (comment (and (/= arg 1) (= lines 1))) (final-forward-line -1)) (goto-char begin) (dotimes (i lines) (let* ((line-begin (if (zerop i) begin (line-beginning-position))) (line-end (if (= (1+ i) lines) end (line-end-position))) (begin-column (progn (goto-char line-begin) (current-column))) (end-column (progn (goto-char line-end) (current-column))) (prefix-begin (line-beginning-position)) (prefix-end (progn (beginning-of-line-text) (point))) (prefix-end-column (progn (goto-char prefix-end) (current-column))) (delta (if (< begin-column prefix-end-column) (- prefix-end-column begin-column) 0)) (prefix-string (buffer-substring-no-properties prefix-begin prefix-end)) (prefix (if (string-match-p "\\` *\\'" prefix-string) "" prefix-string)) (whitespace (make-string (- (+ begin-column delta) (string-width prefix)) ?\ )) (do-under (< delta (- line-end line-begin))) (under (if do-under (make-string (- end-column begin-column delta) ?^) "")) (under-string (concat prefix whitespace under "\n"))) (forward-line 1) (if do-under (insert under-string) (setq final-forward-line -2)) (setq end (+ end (length under-string))) (when comment (insert prefix whitespace "\n")))) (forward-line final-forward-line) (goto-char (line-end-position)))) (BTW, sorry for the off-topic noise on your thread on modus-themes, but it was you who asked for a solution ;-)) From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 06 13:44:02 2021 Received: (at 45068) by debbugs.gnu.org; 6 Mar 2021 18:44:02 +0000 Received: from localhost ([127.0.0.1]:38321 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIbuD-000506-EU for submit@debbugs.gnu.org; Sat, 06 Mar 2021 13:44:01 -0500 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:59977) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIbuA-0004zr-Ea for 45068@debbugs.gnu.org; Sat, 06 Mar 2021 13:43:59 -0500 X-Originating-IP: 94.46.225.161 Received: from kronos (unknown [94.46.225.161]) (Authenticated sender: public@protesilaos.com) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 2A3971C0004; Sat, 6 Mar 2021 18:43:50 +0000 (UTC) From: Protesilaos Stavrou To: Gregory Heytings Subject: Re: bug#45068: [PATCH] Modus themes 1.2.0 References: <87im9fgm27.fsf@protesilaos.com> <874khwn1qf.fsf@protesilaos.com> <603b8171.1c69fb81.aa664.7f40@mx.google.com> <87mtvoxsvs.fsf@protesilaos.com> <603b9b9d.1c69fb81.f37aa.cb7c@mx.google.com> <83eegz7xcx.fsf@gnu.org> <87o8g3exjv.fsf@protesilaos.com> <603d053a.1c69fb81.f4cb8.fb14@mx.google.com> <87h7luga3p.fsf@protesilaos.com> <87o8g2bg89.fsf@tcd.ie> <87r1kyrtrl.fsf@protesilaos.com> <878s75x2uk.fsf@tcd.ie> <87o8g0ryfz.fsf@tcd.ie> <6040d37e.1c69fb81.63467.ad62@mx.google.com> <87wnun9dgo.fsf_-_@protesilaos.com> <87ft1aoj74.fsf@tcd.ie> <87eeguab7o.fsf@protesilaos.com> <81b38e8b77db937f064a@heytings.org> <7de1aeec52597093157c@heytings.org> <87o8fwfgsp.fsf@protesilaos.com> <7de1aeec5249455d448b@heytings.org> Date: Sat, 06 Mar 2021 20:43:48 +0200 In-Reply-To: <7de1aeec5249455d448b@heytings.org> (Gregory Heytings's message of "Sat, 06 Mar 2021 18:25:22 +0000") Message-ID: <878s70f7h7.fsf@protesilaos.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 45068 Cc: 45068@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) On 2021-03-06, 18:25 +0000, Gregory Heytings wrote: >> >> It works. Thank you! >> > > You are welcome :-) Actually the previous version had a bug with > tab-indented lines. It is fixed now: > > (defun undercaret (&optional arg) > (interactive "p") > (let* ((begin (if (region-active-p) (region-beginning) (line-beginning-position))) > (end (if (region-active-p) (region-end) (line-end-position))) > (lines (- (line-number-at-pos end) (line-number-at-pos begin) -1)) > (comment (and (/= arg 1) (= lines 1))) > (final-forward-line -1)) > (goto-char begin) > (dotimes (i lines) > (let* ((line-begin (if (zerop i) begin (line-beginning-position))) > (line-end (if (= (1+ i) lines) end (line-end-position))) > (begin-column (progn (goto-char line-begin) (current-column))) > (end-column (progn (goto-char line-end) (current-column))) > (prefix-begin (line-beginning-position)) > (prefix-end (progn (beginning-of-line-text) (point))) > (prefix-end-column (progn (goto-char prefix-end) (current-column))) > (delta (if (< begin-column prefix-end-column) (- prefix-end-column begin-column) 0)) > (prefix-string (buffer-substring-no-properties prefix-begin prefix-end)) > (prefix (if (string-match-p "\\` *\\'" prefix-string) "" prefix-string)) > (whitespace (make-string (- (+ begin-column delta) (string-width prefix)) ?\ )) > (do-under (< delta (- line-end line-begin))) > (under (if do-under (make-string (- end-column begin-column delta) ?^) "")) > (under-string (concat prefix whitespace under "\n"))) > (forward-line 1) > (if do-under (insert under-string) (setq final-forward-line -2)) > (setq end (+ end (length under-string))) > (when comment (insert prefix whitespace "\n")))) > (forward-line final-forward-line) > (goto-char (line-end-position)))) I admit not to have tested it thoroughly (not yet, anyway). Though I do plan to use your function. Thanks! I will eventually include it in my public dotfiles' repo. Is there a link I could provide as a reference to your contribution? Or just cite the message in this thread?[1] [1]: . > (BTW, sorry for the off-topic noise on your thread on modus-themes, but > it was you who asked for a solution ;-)) Yes, I guess this is not the right place to discuss this feature... Though the bug has been closed successfully. I had asked because I was under the impression that Gnus or some other library was implementing it. -- Protesilaos Stavrou protesilaos.com From unknown Sat Aug 16 18:37:09 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 04 Apr 2021 11:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator