Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nMMWg-0001tZ-M7 for pgsql-hackers@arkaria.postgresql.org; Tue, 22 Feb 2022 04:11:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nMMWe-0005oH-Kn for pgsql-hackers@arkaria.postgresql.org; Tue, 22 Feb 2022 04:11:44 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nMMWe-0005o8-1A for pgsql-hackers@lists.postgresql.org; Tue, 22 Feb 2022 04:11:44 +0000 Received: from esa2.fujitsucc.c3s2.iphmx.com ([68.232.152.246]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nMMWa-0006Kg-6z for pgsql-hackers@lists.postgresql.org; Tue, 22 Feb 2022 04:11:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1645503100; x=1677039100; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=4g59SRf70wSm4zPBI4NBCeO4j9xnQat0ZTyhvB76h6s=; b=LR99DYnZCDKSFApx0TU1Lt6XyQ8UPtFREzc0EJ8OpyZ7u3nhIcXhYm9J 3Fl0/9P/HwWsPYfb+FhdNnaBLw+uWiwupfMGx7+JTichMWxom6cdyOEqM P6RHi2tm2FyHePny1bI/0F4lqFnFPSuuE6O0wbJcFHb+BBKeojtgGkhw8 5XFK5y8oYDrgZK1ce8yEFeK3YAXb91CIBBlLYomLkjeDNhbCRgbl+KGHd md4xhrJTMbMDhGXqTSBn7Ia3MPrlJq5PffO+vCZq4XrKnQqyAiq/Id3UG n0z5X/AimQjqROpM/gBjoX7CYeXfknTmHB8xw4SFUY8N/GgXqZ5yyDA8n w==; X-IronPort-AV: E=McAfee;i="6200,9189,10265"; a="58463889" X-IronPort-AV: E=Sophos;i="5.88,387,1635174000"; d="scan'208,223";a="58463889" Received: from mail-os0jpn01lp2107.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.107]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2022 13:11:36 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HPlEC90VVhcR9e2Cr0IVfKffk/mgX0xZDl4CWFIKFt0uBx8VqKNE28O+NuouL2nt1153AWO3fRPOClGP/R702BiGK4/ioQ3ua0t8lNJSvKXTEM6AB8LIN3EV3oyKRXTW+4ILM3RgUk4u0VE625e6m0RBm6hO+LIm2QmDAZL2gVjTb63/jJd6c/yCzD7LX56U9/Qx+1Pw6HHEi9L6EiEjYnGd6cUbBHRIDH7yzjt1k2tpv2Y0EatiDtCwiawKNFzIdXCmL2AtPBZmN5lDx2IiSl+nx7RQxzaYh9JgmCiZX1f/oU4tKlbgmoRFJI1rgOidZymc4SjEfP0rtNCE2avOqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=AKIqtq7y1bg7vmfxdiQ3keNKrmmxaPn68Oc7QuvTs+Q=; b=lXSXm7oF74gT3Iw2Q9bZhuEAsX9g+ohLZ3UTIjG/RIIVvVNj07ckQrnP2g7U0suzcxH3u0+m/9V8k+GT5AqjDST8iBhBlzs6dNbPeMvnUxFb/my3LHarYVzafR0EcVrmIdr8RqoUrJGS8AJarBSOUfaxpmX8FGzGwhhmAXbu/6ZMsjlKpSddnatYT0iGNHY8Z2s7mjnLg9b00XLQiUiQ8nqg0K2D2MCQIky2BDALjMkUadOvXU/urNb2kvjbizJ0FP2ZKJcFWv06eaDFGSedxX5MmnNwKBR2XA1QoFeNNW+oEw2m3rgckGdKed2O29E0ky6BRUyUxc92nw1+6e7R4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AKIqtq7y1bg7vmfxdiQ3keNKrmmxaPn68Oc7QuvTs+Q=; b=eF/zbbLnkPS8h74/YCvs08Mufjd/ihp+XlbYhKH7OoDMxJ8JW7v29nKIgNBJuQNA+vEiWhQY+KOObvecSn4ykUXEAXd/EqxPZMclbEoeQfx5K0S2RDvxOOMCHOq2KRbI1hg1GR0B74M2JLEVezbVaLdRZySbbTEZGJYXlppYzEQ= Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com (2603:1096:400:15f::9) by TY2PR01MB4105.jpnprd01.prod.outlook.com (2603:1096:404:dc::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.18; Tue, 22 Feb 2022 04:11:32 +0000 Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::cbe:e19d:f73d:9972]) by TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::cbe:e19d:f73d:9972%7]) with mapi id 15.20.4995.027; Tue, 22 Feb 2022 04:11:32 +0000 From: "osumi.takamichi@fujitsu.com" To: 'Peter Smith' CC: Amit Kapila , "tanghy.fnst@fujitsu.com" , "wangw.fnst@fujitsu.com" , vignesh C , Greg Nancarrow , Masahiko Sawada , Mark Dilger , "Smith, Peter" , PostgreSQL Hackers Subject: RE: Optionally automatically disable logical replication subscriptions on error Thread-Topic: Optionally automatically disable logical replication subscriptions on error Thread-Index: AQHXY7YD1nwUFO8cFUWY0PDiszA2XqsZMrEAgAD4WQCAAPYaAIAASpGAgAJT7YCAAAKZgIALJ6mAgMf5vwCACZoWAIACXj8ggAAx2gCAAeSJwIABPCWAgAaHeOCAAvcAAIAAJOUQgAZB3wCABsiEAIAFnJuAgACC8qCAAS6OAIAAak5wgAAPMgCAAMT44IAAP5eAgAAvuLCAAfAFUIAEIHUAgABtyBCACvHPgIABR7SggAMlNQCAAHntQIASNYiAgA04ekCAAPMhAIAAKujggD2xvACAASGZMIAB92jggALTxgCABFCt8IAAXaKAgABwrICAAKuXgIAAV5GA Date: Tue, 22 Feb 2022 04:11:32 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjItMDItMjJUMDQ6MTE6?= =?utf-8?B?MjlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD02YjA4NmJlYy05MjQ0LTQyNGQt?= =?utf-8?B?YTg3NC0xYmE0OWU0ZGE4Yjc7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4115d9eb-af06-435c-7648-08d9f5b968a5 x-ms-traffictypediagnostic: TY2PR01MB4105:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pFOzycJkFhGt+EeWiS02MbPhzTenJSbENIWvgBm4zXAC+RO4hYxOSX5BQsvwGBye5Z6XeWp2/AXeYdDxoLr3gJAsyLzhNfhtYhSFvmr6UgR7FDDl/pCEnTOhDVpMffPFZapbzBKViNxhHFmpS0m/fgmvOueCpXS0kYg76O6wsyWi5W5U0/AGgMKLQh6GPbHeWVt7RDvmrsF4vfTnNgCCZivTB3ZDBYE1hBm0+4Rs180F7d2p3ebNOXKoETY3styYeBBke/UvCCGHc+Z/plws8rKm5zEm3PYKjjZEDvcWAKR7kJX1K8ic1aAs2DOOTuqH+lxRnnW19Lv6tT+s82gKW6tmMXRiP5Y/0PXPRVdnA+EuS2thLGCNrmezGf3/b+OXFjFLup1jOWYmVGQGzs0u4y//wkj82kjiRuC8q4Ey0N3w/SryOEE/G1jA0/BAV2HjWIvBG/mkq23LTDGQajlSDH0y/1xg25gNh49UiqUr3QT2N+HSLetDJi/DvoRMMmxNuk+oWfWzUk4uDqBE9MWqmKsSeguYLd+AAfzB/3pdmbvDmVeylq2TBHWZfCFlFqkg214xK1ngBASorFxAWC05bXVvUElIC/X1CuDaATVBWdDIm+HhT5bIwef9iB0JflWZ3Nq3GK+1/CsEkISYw6CxCWNhJDA5FWzJkftxK1AvQU8XmRw6JYX4GO8/DiehhsuD6/Rp5rlak934kfvVvsIFdw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB8373.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(71200400001)(2906002)(316002)(8936002)(52536014)(83380400001)(55016003)(33656002)(122000001)(26005)(186003)(38100700002)(54906003)(5660300002)(53546011)(6916009)(66446008)(64756008)(4326008)(8676002)(66476007)(7696005)(66556008)(76116006)(38070700005)(9686003)(6506007)(86362001)(82960400001)(85182001)(66946007)(99936003)(508600001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cm1yOGpRM0pTeTJ2MEhLMW5BS1J6ZEZrNC9KWlE2T2RPWnhhNXFSaTdaTHRM?= =?utf-8?B?NkVZUFRUS3M4RnZvRTQ2Q3pPeE5zc1ZkenQ4Q2pNRmFxY29OQTRwbG9QdGNx?= =?utf-8?B?UTd2WUw5TUdiNWIzaXQzai9VZnd3aEVTM1lyNnFKdjNXUVdCNjBFNXk2Q1BE?= =?utf-8?B?Qy9NWjE1YitjbkdJL2Y5eWRxNVJweXkzSUh5NG9UV0lNUmhlbHBnY2drbnV0?= =?utf-8?B?ZlJKTnVDa0M3QnA3V04vZmFjZkRVQzFPODBiNkFjK2ZSV2sySDhucW1KRkZ0?= =?utf-8?B?b3ZBQ2k2VDgxaDdHSWtTbWhGMHY1RVY1RWRGTHpyOGNNWjF2UEpSd240NVly?= =?utf-8?B?SEdscXRvcEhoS2VXems3czlBUFJZSmxTYml4NWJlalRraGtPcUdDN1FUNDFJ?= =?utf-8?B?aFdvVEJDNnh5SFZkTDZMQVJnU0hYRzJyM1JQRWdsNGw4WFNyRGxzVnJlVWVO?= =?utf-8?B?S1hSSndOQ0ExWFZnVDJDUTV3R05ZWjZqS2RvUktLNC96bU9hTU5kSm1YQTJo?= =?utf-8?B?a3NScEtQTHBiK3BnbG5xRW1aMzFpMUlnaGV0K1hGd2QvOWRZSG5EQ1BRbzB1?= =?utf-8?B?UkRweUJjUFBzZnJ2TlFqbllDZWFFNkRVaFN0NGxDRHBQTnp0ZFFTdUFTVk5z?= =?utf-8?B?dm5RZ1ErR3BLYnpVWTRFNHNBMlFpSnNORUpEZStJdjlIYWk5aER1NUkyTE1h?= =?utf-8?B?MXNEdTV4SWxkY1kvTGwwQ0lDQzFDdHhHZjBORVdUaldFSTBydkFUKzl1M3d0?= =?utf-8?B?dURUWGRYN2pkNHZ6YUFhYVRnUHJmNlB3c1RXRkZacXlzK1hTZitLTXh6RHVj?= =?utf-8?B?a2xTS09zVlRrdUx6TVd1RnovaHdmcXJMdEdKMldaWllQN1JkVC9iSnhZQi9D?= =?utf-8?B?SEhsSHFmUG9rMlVRRmJFQkp0bERGWk9DZm9Bc2xPMnRKUzRnaVB3ZVQwSUIr?= =?utf-8?B?TmdHUHVCdmRRMnUxbnpHR1lGUDJnN0ZGRmZBWVZKSHB4ZTBhR0JIU3pOYXAv?= =?utf-8?B?cWxqdVB5WXA3R2N6Tkw3aFpqVm8vVjlSNllwckFoTmlZa0s5dG1UNTF4clQ5?= =?utf-8?B?VG5kZHNlOGpoK003V0pJRy85Y1RTSWZtU3VZaTFSak1wZEJzNVZENmlXYnkw?= =?utf-8?B?QW5pc1hlY1FDZWNuUU5UNW9YVzZKc2c2S1hXWW5PRlhTb1J1SXdEMG95NXRK?= =?utf-8?B?M1RtL0xuZGUxR1o2STA1Z2taRmpYRXNTUUo4a1RIZmpJT1BrSmhnU2lKTHkz?= =?utf-8?B?Sm42dHllRGFYMmsvd3d1SXJiT2NEUzBrZ1VxS2twSUlVbUluUkF0UEFVcEwx?= =?utf-8?B?MXMrYXgvbUpGeDFhVUdZd0ljaHZYT2oyS1ppekhQdHhGekcwMlZOanROSWtV?= =?utf-8?B?Um1keXRtYzZZbGN6K09rYkorWDRreUZsckpYUDFtS0NzbkRCRUtRbFFMaExV?= =?utf-8?B?Ylk4NmdYdlRrU0paalpyeUltbUx5bzRlYVVDS2FZMS9JbU5kUmJtaDU3TWIx?= =?utf-8?B?ZFJKOXVxWVBmT1U0UDJKMmhlOWM1eE1OeGREWW4vRHVIL0duOUcrZ3NZR0hj?= =?utf-8?B?bGF4WUdFaGs5ZVJZMTB6QjBWUjg2VWhKRWFYN0NySEVURGRMekVXbXNTeUVY?= =?utf-8?B?QzR6cTQzZGZpVDJ3Z2lwb21MWk52MmlhSkp4M2o2MWFlN3R4U2RpVkgzZFRC?= =?utf-8?B?clE1RUs0SXYzakh6OGVjMjE4ME9uVW12b0JRVzdYcmg5Z2NRWVN5SjJQV2ZR?= =?utf-8?B?MXd3dFBKcUw4S0dhUmRVcFdKcUZYT20wMFpiU3A3cTFqSHYyNm9qZjM0Q3JM?= =?utf-8?B?U1ArWDh4VHdReDEyVGw5eXdRMDMzVXgxRmtqZGFvZUNueWg1Wmc1VzcwR1Uw?= =?utf-8?B?b0NFa29zVlg5Wk5mUnV6RC9BeU9HT2RUeUNoMVk1dDRaV25YU1hUQ3l0ZzEz?= =?utf-8?B?L1AzYU5tMzBpaThqTEQrMWxjbjNHaDhBTGMxWGR0aTRKMURZVnBiMyttUER3?= =?utf-8?B?bG5HZ3hFUzFLeHlIOElSVzh0QXNLSVRtOFN1MTlIZEZWc3VDR3VreG8wUmo5?= =?utf-8?B?WGNnVW5JYXFScmpDcTk5NlpScElkbC95NDJ1ajdBaGY4cTJmK0x2b2JIK1c2?= =?utf-8?B?N0lrbFRVUWtjNk1uZWxIbEZvOTFIMjhWZmlHUUNhSFIvYitnR3VLV011c0E5?= =?utf-8?B?ekl5RlpqaTc0SmVFWHhCVE51ZStNYklaVXhCTGNKRC9tVlI5UVNLK3VDWkxE?= =?utf-8?B?NmY5Vm9uNVJWVUE2NEZjY2RKRFV3PT0=?= Content-Type: multipart/mixed; boundary="_002_TYCPR01MB8373C507735DA618084258F0ED3B9TYCPR01MB8373jpnp_" MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB8373.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4115d9eb-af06-435c-7648-08d9f5b968a5 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Feb 2022 04:11:32.2440 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vA92HiI2dqBquyDMqFZM9Z+8MjgWAACUWeBw+7QlVTyn0U0TJPqhUyVCCYHwqo1/ctJUpzdN68HwS589bGuap9fHpDB0n/ox0edxEvb2O/U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY2PR01MB4105 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_TYCPR01MB8373C507735DA618084258F0ED3B9TYCPR01MB8373jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gVHVlc2RheSwgRmVicnVhcnkgMjIsIDIwMjIgNzo1MyBBTSBQZXRlciBTbWl0aCA8c21pdGhw YjIyNTBAZ21haWwuY29tPiB3cm90ZToNCj4gT24gTW9uLCBGZWIgMjEsIDIwMjIgYXQgMTE6NDQg UE0gb3N1bWkudGFrYW1pY2hpQGZ1aml0c3UuY29tDQo+IDxvc3VtaS50YWthbWljaGlAZnVqaXRz dS5jb20+IHdyb3RlOg0KPiA+DQo+ID4gT24gTW9uZGF5LCBGZWJydWFyeSAyMSwgMjAyMiAyOjU2 IFBNIFBldGVyIFNtaXRoDQo+IDxzbWl0aHBiMjI1MEBnbWFpbC5jb20+IHdyb3RlOg0KPiA+ID4g VGhhbmtzIGZvciBhZGRyZXNzaW5nIG15IHByZXZpb3VzIGNvbW1lbnRzLiBOb3cgSSBoYXZlIGxv b2tlZCBhdCB2MTkuDQo+ID4gPg0KPiA+ID4gT24gTW9uLCBGZWIgMjEsIDIwMjIgYXQgMTE6MjUg QU0gb3N1bWkudGFrYW1pY2hpQGZ1aml0c3UuY29tDQo+ID4gPiA8b3N1bWkudGFrYW1pY2hpQGZ1 aml0c3UuY29tPiB3cm90ZToNCj4gPiA+ID4NCj4gPiA+ID4gT24gRnJpZGF5LCBGZWJydWFyeSAx OCwgMjAyMiAzOjI3IFBNIFBldGVyIFNtaXRoDQo+ID4gPiA8c21pdGhwYjIyNTBAZ21haWwuY29t PiB3cm90ZToNCj4gPiA+ID4gPiBIaS4gQmVsb3cgYXJlIG15IGNvZGUgcmV2aWV3IGNvbW1lbnRz IGZvciB2MTguDQo+ID4gPiA+IFRoYW5rIHlvdSBmb3IgeW91ciByZXZpZXcgIQ0KPiA+ID4gLi4u DQo+ID4gPiA+ID4gNS4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyAt DQo+ID4gPiA+ID4gRGlzYWJsZVN1YnNjcmlwdGlvbk9uRXJyb3INCj4gPiA+ID4gPg0KPiA+ID4g PiA+ICsgLyoNCj4gPiA+ID4gPiArICogV2Ugd291bGQgbm90IGJlIGhlcmUgdW5sZXNzIHRoaXMg c3Vic2NyaXB0aW9uJ3MgZGlzYWJsZW9uZXJyDQo+ID4gPiA+ID4gKyBmaWVsZCB3YXMNCj4gPiA+ ID4gPiArICogdHJ1ZSB3aGVuIG91ciB3b3JrZXIgYmVnYW4gYXBwbHlpbmcgY2hhbmdlcywgYnV0 IGNoZWNrDQo+ID4gPiA+ID4gKyB3aGV0aGVyIHRoYXQNCj4gPiA+ID4gPiArICogZmllbGQgaGFz IGNoYW5nZWQgaW4gdGhlIGludGVyaW0uDQo+ID4gPiA+ID4gKyAqLw0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gQXBwYXJlbnRseSwgdGhpcyBmdW5jdGlvbiBtaWdodCBqdXN0IGRvIG5vdGhpbmcgaWYg aXQgZGV0ZWN0cw0KPiA+ID4gPiA+IHNvbWUgc2l0dWF0aW9uIHdoZXJlIHRoZSBmbGFnIHdhcyBj aGFuZ2VkIHNvbWVob3csIGJ1dCBJJ20gbm90DQo+ID4gPiA+ID4gMTAwJSBzdXJlIHRoYXQgdGhl IGNhbGxlcnMgYXJlIHByb3Blcmx5IGNhdGVyaW5nIGZvciB3aGVuIG5vdGhpbmcNCj4gaGFwcGVu cy4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IElNTyBpdCB3b3VsZCBiZSBiZXR0ZXIgaWYgdGhpcyBm dW5jdGlvbiB3b3VsZCByZXR1cm4gdHJ1ZS9mYWxzZQ0KPiA+ID4gPiA+IHRvIG1lYW4gImRpZCBk aXNhYmxlIHN1YnNjcmlwdGlvbiBoYXBwZW4gb3Igbm90PyIgYmVjYXVzZSB0aGF0DQo+ID4gPiA+ ID4gd2lsbCBnaXZlIHRoZSBjYWxsaW5nIGNvZGUgdGhlIGNoYW5jZSB0byBjaGVjayB0aGUgZnVu Y3Rpb24NCj4gPiA+ID4gPiByZXR1cm4gYW5kIGRvIHRoZSByaWdodCB0aGluZyAtIGUuZy4gaWYg dGhlIGNhbGxlciBmaXJzdCB0aG91Z2h0DQo+ID4gPiA+ID4gaXQgc2hvdWxkIGJlIGRpc2FibGVk IGJ1dCB0aGVuDQo+ID4gPiBpdCB0dXJuZWQgb3V0IGl0IGRpZCBOT1QgZGlzYWJsZS4uLg0KPiA+ ID4gPiBJIGRvbid0IHRoaW5rIHdlIG5lZWQgdG8gZG8gc29tZXRoaW5nIG1vcmUuDQo+ID4gPiA+ IEFmdGVyIHRoaXMgZnVuY3Rpb24sIHRhYmxlIHN5bmMgd29ya2VyIGFuZCB0aGUgYXBwbHkgd29y a2VyIGp1c3QgZXhpdC4NCj4gPiA+ID4gSU1PLCB3ZSBkb24ndCBuZWVkIHRvIGRvIGFkZGl0aW9u YWwgd29yayBmb3IgYWxyZWFkeS1kaXNhYmxlZA0KPiA+ID4gPiBzdWJzY3JpcHRpb24gb24gdGhl IGNhbGxlciBzaWRlcy4NCj4gPiA+ID4gSXQgc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gZnVsZmls bCB0aGUgcHVycG9zZSBvZg0KPiA+ID4gPiBEaXNhYmxlU3Vic2NyaXB0aW9uT25FcnJvciBvciBj b25maXJtIGl0IGhhcyBiZWVuIGZ1bGZpbGxlZC4NCj4gPiA+DQo+ID4gPiBIbW1tIC0gIFllYWgs IGl0IG1heSBiZSB0aGUgd29ya2VycyBtaWdodCBqdXN0IGV4aXQgc29vbiBhZnRlcg0KPiA+ID4g YW55aG93IGFzIHlvdSBzYXkgc28gZXZlcnl0aGluZyBjb21lcyBvdXQgaW4gdGhlIHdhc2gsIGJ1 dCBzdGlsbCwgSQ0KPiA+ID4gZmVsdCBmb3IgdGhpcyBjYXNlIHdoZW4gRGlzYWJsZVN1YnNjcmlw dGlvbk9uRXJyb3IgdHVybmVkIG91dCB0byBkbw0KPiA+ID4gbm90aGluZyBpdCB3b3VsZCBiZSBi ZXR0ZXIgdG8gZXhpdCB2aWEgdGhlIGV4aXN0aW5nIGxvZ2ljLiBBbmQgdGhhdCBpcyBlYXN5IHRv IGRvDQo+IGlmIHRoZSBmdW5jdGlvbiByZXR1cm5zIHRydWUvZmFsc2UuDQo+ID4gPg0KPiA+ID4g Rm9yIGV4YW1wbGUsIGNoYW5nZXMgbGlrZSBiZWxvdyBzZWVtZWQgbmVhdGVyIGNvZGUgdG8gbWUu IFlNTVYuDQo+ID4gPg0KPiA+ID4gQkVGT1JFIChTeW5jVGFibGVTdGFydFdyYXBwZXIpOg0KPiA+ ID4gaWYgKE15U3Vic2NyaXB0aW9uLT5kaXNhYmxlb25lcnIpDQo+ID4gPiB7DQo+ID4gPiBEaXNh YmxlU3Vic2NyaXB0aW9uT25FcnJvcigpOw0KPiA+ID4gcHJvY19leGl0KDApOw0KPiA+ID4gfQ0K PiA+ID4gQUZURVINCj4gPiA+IGlmIChNeVN1YnNjcmlwdGlvbi0+ZGlzYWJsZW9uZXJyICYmIERp c2FibGVTdWJzY3JpcHRpb25PbkVycm9yKCkpDQo+ID4gPiBwcm9jX2V4aXQoMCk7DQo+ID4gPg0K PiA+ID4gQkVGT1JFIChBcHBseUxvb3BXcmFwcGVyKQ0KPiA+ID4gaWYgKE15U3Vic2NyaXB0aW9u LT5kaXNhYmxlb25lcnIpDQo+ID4gPiB7DQo+ID4gPiAvKiBEaXNhYmxlIHRoZSBzdWJzY3JpcHRp b24gKi8NCj4gPiA+IERpc2FibGVTdWJzY3JpcHRpb25PbkVycm9yKCk7DQo+ID4gPiByZXR1cm47 DQo+ID4gPiB9DQo+ID4gPiBBRlRFUg0KPiA+ID4gaWYgKE15U3Vic2NyaXB0aW9uLT5kaXNhYmxl b25lcnIgJiYgRGlzYWJsZVN1YnNjcmlwdGlvbk9uRXJyb3IoKSkNCj4gPiA+IHJldHVybjsNCj4g PiBPa2F5LCBzbyB0aGlzIHJldHVybiB2YWx1ZSB3b3JrcyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5 Lg0KPiA+IEZpeGVkLg0KPiA+DQo+ID4NCj4gPiA+IH5+fg0KPiA+ID4NCj4gPiA+IEhlcmUgYXJl IGEgY291cGxlIG1vcmUgY29tbWVudHM6DQo+ID4gPg0KPiA+ID4gMS4gc3JjL2JhY2tlbmQvcmVw bGljYXRpb24vbG9naWNhbC93b3JrZXIuYyAtDQo+ID4gPiBEaXNhYmxlU3Vic2NyaXB0aW9uT25F cnJvciwgUmVmYWN0b3IgZXJyb3IgaGFuZGxpbmcNCj4gPiA+DQo+ID4gPiAodGhpcyBjb21tZW50 IGFzc3VtZXMgdGhlIGFib3ZlIGdldHMgY2hhbmdlZCB0b28pDQo+ID4gSSB0aGluayB0aG9zZSBh cmUgaW5kZXBlbmRlbnQuDQo+IA0KPiBPSy4gSSB3YXMgb25seSBjdXJpb3VzIGlmIHRoZSBjaGFu Z2UgIzUgYWJvdmUgbWlnaHQgY2F1c2UgdGhlIGVycm9yIHRvIGJlIGxvZ2dlZA0KPiAyeCwgaWYg dGhlIERpc2FibGVTdWJzY3JpcHRpb25PbkVycm9yIHJldHVybnMgZmFsc2UuDQo+IC0gZmlyc3Rs eSwgd2hlbiBpdCBsb2dzIGVycm9ycyB3aXRoaW4gdGhlIGZ1bmN0aW9uDQo+IC0gc2Vjb25kbHks IGJ5IG5vcm1hbCBlcnJvciBtZWNoYW5pc20gd2hlbiB0aGUgY2FsbGVyIHJlLXRocm93cyBpdC4N Cj4gDQo+IEJ1dCwgaWYgeW91IGFyZSBzdXJlIHRoYXQgd29uJ3QgaGFwcGVuIHRoZW4gaXQgaXMg Z29vZCBuZXdzLg0KSSBkaWRuJ3QgZmVlbCB0aGlzIHdvdWxkIGJlY29tZSBhIHN1YnN0YW50aWFs IGlzc3VlLg0KDQpXaGVuIHdlIGFsdGVyIHN1YnNjcmlwdGlvbiB3aXRoIGRpc2FibGVfb25fZXJy b3IgPSBmYWxzZQ0KYWZ0ZXIgd2UgZ28gaW50byB0aGUgRGlzYWJsZVN1YnNjcmlwdGlvbk9uRXJy b3IsDQp3ZSBkb24ndCBkaXNhYmxlIHRoZSBzdWJzY3JpcHRpb24gaW4gdGhlIHNhbWUgZnVuY3Rp b24uDQpUaGF0IG1lYW5zIHdlIGxhdW5jaCBuZXcgYXBwbHkgd29ya2VycyByZXBlYXRlZGx5IGFm dGVyIHRoYXQNCnVudGlsIHdlIHNvbHZlIHRoZSBlcnJvciBjYXVzZSBvciB3ZSBzZXQgdGhlIGRp c2FibGVfb25fZXJyb3IgPSB0cnVlIGFnYWluLg0KDQpTbywgaWYgd2UgY29uZmlybSB0aGF0IHRo ZSBkaXNhYmxlX29uX2Vycm9yID0gZmFsc2UgaW4gdGhlIERpc2FibGVTdWJzY3JpcHRpb25PbkVy cm9yLA0KaXQncyBoaWdobHkgcG9zc2libGUgdGhhdCB3ZSdsbCBnZXQgbW9yZSBzYW1lIG9yaWdp bmFsIGVycm9ycyBmcm9tIG5ldyBhcHBseSB3b3JrZXJzLg0KDQpUaGlzIGxlYWRzIHRvIGFub3Ro ZXIgcXVlc3Rpb24sIHdlIHNob3VsZCBzdXBwcmVzcyB0aGUgMm5kIGVycm9yKGlmIHRoZXJlIGlz KSwNCmV2ZW4gd2hlbiBpdCdzIGhpZ2hseSBwb3NzaWJsZSB0aGF0IHdlJ2xsIGdldCBtb3JlIHNh bWUgZXJyb3JzIGJ5IG5ldyBhcHBseSB3b3JrZXJzDQpjcmVhdGVkIHJlcGVhdGVkbHkgb3Igbm90 LiBJIHdhc24ndCBzdXJlIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBjb21wbGV4aXR5IGZvciB0aGlz IHdpbnMgdGhlIGxvZyBwcmludC4NCg0KU28sIGtpbmRseSBsZXQgbWUga2VlcCB0aGUgY3VycmVu dCBjb2RlIGFzIGlzLg0KSWYgc29tZW9uZSB3YW50cyBzaGFyZSBoaXMvaGVyIG9waW5pb24gb24g dGhpcywgcGxlYXNlIGxldCBtZSBrbm93Lg0KIA0KPiA+DQo+ID4NCj4gPiA+ICtzdGF0aWMgdm9p ZA0KPiA+ID4gK0Rpc2FibGVTdWJzY3JpcHRpb25PbkVycm9yKHZvaWQpDQo+ID4gPiArew0KPiA+ ID4gKyBSZWxhdGlvbiByZWw7DQo+ID4gPiArIGJvb2wgbnVsbHNbTmF0dHNfcGdfc3Vic2NyaXB0 aW9uXTsgIGJvb2wNCj4gPiA+ICtyZXBsYWNlc1tOYXR0c19wZ19zdWJzY3JpcHRpb25dOyAgRGF0 dW0NCj4gPiA+ICt2YWx1ZXNbTmF0dHNfcGdfc3Vic2NyaXB0aW9uXTsgIEhlYXBUdXBsZSB0dXA7 DQo+ID4gPiArRm9ybV9wZ19zdWJzY3JpcHRpb24gc3ViZm9ybTsNCj4gPiA+ICsNCj4gPiA+ICsg LyogRW1pdCB0aGUgZXJyb3IgKi8NCj4gPiA+ICsgRW1pdEVycm9yUmVwb3J0KCk7DQo+ID4gPiAr IC8qIEFib3J0IGFueSBhY3RpdmUgdHJhbnNhY3Rpb24gKi8gQWJvcnRPdXRPZkFueVRyYW5zYWN0 aW9uKCk7DQo+ID4gPiArIC8qIFJlc2V0IHRoZSBFcnJvckNvbnRleHQgKi8NCj4gPiA+ICsgRmx1 c2hFcnJvclN0YXRlKCk7DQo+ID4gPiArDQo+ID4gPiArIC8qIERpc2FibGUgdGhlIHN1YnNjcmlw dGlvbiBpbiBhIGZyZXNoIHRyYW5zYWN0aW9uICovDQo+ID4gPiArIFN0YXJ0VHJhbnNhY3Rpb25D b21tYW5kKCk7DQo+ID4gPg0KPiA+ID4gSWYgdGhpcyBEaXNhYmxlU3Vic2NyaXB0aW9uT25FcnJv ciBmdW5jdGlvbiBkZWNpZGVzIGxhdGVyIHRoYXQNCj4gPiA+IGFjdHVhbGx5IHRoZSAnZGlzYWJs ZW9uZXJyJyBmbGFnIGlzIGZhbHNlIChpLmUuIGl0J3MgTk9UIGdvaW5nIHRvDQo+ID4gPiBkaXNh YmxlIHRoZSBzdWJzY3JpcHRpb24gYWZ0ZXINCj4gPiA+IGFsbCkgdGhlbiBJTU8gaXQgbWFrZSBt b3JlIHNlbnNlIHRoYXQgdGhlIGVycm9yIGxvZ2dpbmcgZm9yIHRoYXQNCj4gPiA+IGNhc2Ugc2hv dWxkIGp1c3QgZG8gd2hhdGV2ZXIgaXQgaXMgZG9pbmcgbm93IGJ5IHRoZSBub3JtYWwgZXJyb3Ig cHJvY2Vzc2luZw0KPiBtZWNoYW5pc20uDQo+ID4gPg0KPiA+ID4gSW4gb3RoZXIgd29yZHMsIEkg dGhvdWdodCBwZXJoYXBzIHRoZSBjb2RlIHRvDQo+ID4gPiBFbWl0RXJyb3JSZXBvcnQvRmx1c2hF cnJvciBzdGF0ZSBldGMgYmUgbW92ZWQgdG8gYmUgQkVMT1cgdGhlIGlmDQo+ID4gPiAoIXN1YmZv cm0tPnN1YmRpc2FibGVvbmVycikgYmFpbC1vdXQgY29kZT8NCj4gPiA+DQo+ID4gPiBQbGVhc2Ug c2VlIHdoYXQgeW91IHRoaW5rIGluIG15IGF0dGFjaGVkIFBPQyBbMV0uIEl0IHNlZW1zIG5lYXRl ciB0bw0KPiA+ID4gbWUsIGFuZCB0ZXN0cyBhcmUgYWxsIE9LLiBNYXliZSBJIGFtIG1pc3Rha2Vu Li4uDQo+ID4gSSBoYWQgYSBjb25jZXJuIHRoYXQgdGhpcyBvcmRlciBjaGFuZ2Ugb2YgY29kZXMg d291bGQgaGF2ZSBhIG5lZ2F0aXZlDQo+ID4gaW1wYWN0IHdoZW4gd2UgaGF2ZSBhbm90aGVyIG5l dyBlcnJvciBkdXJpbmcgdGhlIGNhbGwgb2YNCj4gRGlzYWJsZVN1YnNjcmlwdGlvbk9uRXJyb3Iu DQo+ID4NCj4gPiBXaXRoIHRoZSBkZWJ1Z2dlciwgSSByYWlzZWQgYW4gZXJyb3IgaW4gdGhpcyBm dW5jdGlvbiBiZWZvcmUgZW1pdHRpbmcgdGhlDQo+IG9yaWdpbmFsIGVycm9yLg0KPiA+IEFzIGEg cmVzdWx0LCB0aGUgb3JpZ2luYWwgZXJyb3IgdGhhdCBtYWtlcyB0aGUgYXBwbHkgd29ya2VyIGdv IGludG8NCj4gPiB0aGUgcGF0aCBvZiBEaXNhYmxlU3Vic2NyaXB0aW9uT25FcnJvciAoaW4gbXkg dGVzdCwgZHVwbGljYXRpb24gZXJyb3IpIGhhcw0KPiB2YW5pc2hlZC4NCj4gPiBJbiB0aGlzIHNl bnNlLCB2MTkgbG9va3Mgc2FmZXIsIGFuZCB0aGUgY3VycmVudCBvcmRlciB0byBoYW5kbGUgZXJy b3INCj4gPiByZWNvdmVyeSBmaXJzdCBsb29rcyBiZXR0ZXIgdG8gbWUuDQo+ID4NCj4gPiBGWUks IGFmdGVyIHRoZSAybmQgZGVidWdnZXIgZXJyb3IsDQo+ID4gdGhlIG5leHQgbmV3IGFwcGx5IHdv cmtlciBjcmVhdGVkIHF1aWNrbHkgbWV0IHRoZSBzYW1lIHR5cGUgb2YgZXJyb3IsDQo+ID4gd2Vu dCBpbnRvIHRoZSBzYW1lIHBhdGgsIGFuZCBkaXNhYmxlZCB0aGUgc3Vic2NyaXB0aW9uIHdpdGgg dGhlIGxvZy4NCj4gPiBCdXQsIGl0IHdvbid0IGJlIGFkdmlzYWJsZSB0byBsZXQgdGhlIHBvc3Np YmlsaXR5IGxlZnQuDQo+IA0KPiBPSyAtIHRoYW5rcyBmb3IgY2hlY2tpbmcgaXQuDQo+IA0KPiBX aWxsIGl0IGJlIGJldHRlciB0byBwdXQgc29tZSBjb21tZW50cyBhYm91dCB0aGF0PyBTb21ldGhp bmcgbGlrZSAtLQ0KPiANCj4gQkVGT1JFDQo+IC8qIEVtaXQgdGhlIGVycm9yICovDQo+IEVtaXRF cnJvclJlcG9ydCgpOw0KPiAvKiBBYm9ydCBhbnkgYWN0aXZlIHRyYW5zYWN0aW9uICovDQo+IEFi b3J0T3V0T2ZBbnlUcmFuc2FjdGlvbigpOw0KPiAvKiBSZXNldCB0aGUgRXJyb3JDb250ZXh0ICov DQo+IEZsdXNoRXJyb3JTdGF0ZSgpOw0KPiANCj4gLyogRGlzYWJsZSB0aGUgc3Vic2NyaXB0aW9u IGluIGEgZnJlc2ggdHJhbnNhY3Rpb24gKi8NCj4gU3RhcnRUcmFuc2FjdGlvbkNvbW1hbmQoKTsN Cj4gDQo+IEFGVEVSDQo+IC8qIERpc2FibGUgdGhlIHN1YnNjcmlwdGlvbiBpbiBhIGZyZXNoIHRy YW5zYWN0aW9uICovDQo+IEFib3J0T3V0T2ZBbnlUcmFuc2FjdGlvbigpOyBTdGFydFRyYW5zYWN0 aW9uQ29tbWFuZCgpOw0KPiANCj4gLyoNCj4gKiBMb2cgdGhlIGVycm9yIHRoYXQgY2F1c2VkIERp c2FibGVTdWJzY3JpcHRpb25PbkVycm9yIHRvIGJlIGNhbGxlZC4NCj4gKiBXZSBkbyB0aGlzIGlt bWVkaWF0ZWx5IHNvIHRoYXQgaXQgd29uJ3QgYmUgbG9zdCBpZiBzb21lIG90aGVyIGludGVybmFs DQo+ICogZXJyb3Igb2NjdXJzIGluIHRoZSBmb2xsb3dpbmcgY29kZSwNCj4gKi8NCj4gRW1pdEVy cm9yUmVwb3J0KCk7DQo+IEZsdXNoRXJyb3JTdGF0ZSgpOw0KSSBhcHByZWNpYXRlIHlvdXIgc3Vn Z2VzdGlvbi4gWWV0LCBJJ2QgbGlrZSB0byBrZWVwIHRoZSBjdXJyZW50IG9yZGVyIG9mIG15IHBh dGNoLg0KVGhlIEZsdXNoRXJyb3JTdGF0ZSdzIGNvbW1lbnQgbWVudGlvbnMgd2UgYXJlIG5vdCBv dXQgb2YgdGhlIGVycm9yIHN1YnN5c3RlbSB1bnRpbA0Kd2UgY2FsbCB0aGlzIGFuZCBzdGFydGlu ZyBhIG5ldyB0cmFuc2FjdGlvbiBiZWZvcmUgaXQgZGlkbid0IHNvdW5kIGEgZ29vZCBpZGVhLg0K QnV0LCBJJ3ZlIGZpeGVkIHRoZSBjb21tZW50cyBhcm91bmQgdGhpcy4gVGhlIGluZGVudGF0aW9u IGZvciBuZXcgY29tbWVudHMNCmFyZSBjaGVja2VkIGJ5IHBnaW5kZW50Lg0KDQoNCkJlc3QgUmVn YXJkcywNCglUYWthbWljaGkgT3N1bWkNCg0K --_002_TYCPR01MB8373C507735DA618084258F0ED3B9TYCPR01MB8373jpnp_ Content-Type: application/octet-stream; name="v21-0001-Optionally-disable-subscriptions-on-error.patch" Content-Description: v21-0001-Optionally-disable-subscriptions-on-error.patch Content-Disposition: attachment; filename="v21-0001-Optionally-disable-subscriptions-on-error.patch"; size=52726; creation-date="Tue, 22 Feb 2022 04:07:15 GMT"; modification-date="Tue, 22 Feb 2022 04:11:30 GMT" Content-Transfer-Encoding: base64 RnJvbSBlM2M0OTA1YzU2MGFmNTQ5YWVmOWQyMjNjZGZjNDMwZmM4ODg2ZTdmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUYWthbWljaGkgT3N1bWkgPG9zdW1pLnRha2FtaWNoaUBmdWpp dHN1LmNvbT4KRGF0ZTogVHVlLCAyMiBGZWIgMjAyMiAwMzozMToyNCArMDAwMApTdWJqZWN0OiBb UEFUQ0ggdjIxXSBPcHRpb25hbGx5IGRpc2FibGUgc3Vic2NyaXB0aW9ucyBvbiBlcnJvcgoKTG9n aWNhbCByZXBsaWNhdGlvbiBhcHBseSB3b3JrZXJzIGZvciBhIHN1YnNjcmlwdGlvbiBjYW4gZWFz aWx5IGdldApzdHVjayBpbiBhbiBpbmZpbml0ZSBsb29wIG9mIGF0dGVtcHRpbmcgdG8gYXBwbHkg YSBjaGFuZ2UsCnRyaWdnZXJpbmcgYW4gZXJyb3IgKHN1Y2ggYXMgYSBjb25zdHJhaW50IHZpb2xh dGlvbiksIGV4aXRpbmcgd2l0aAp0aGUgZXJyb3Igd3JpdHRlbiB0byB0aGUgc3Vic2NyaXB0aW9u IHdvcmtlciBsb2csIGFuZCByZXN0YXJ0aW5nLgoKVG8gcGFydGlhbGx5IHJlbWVkeSB0aGUgc2l0 dWF0aW9uLCB0aGlzIHBhdGNoIGFkZHMgYSBuZXcKc3Vic2NyaXB0aW9uX3BhcmFtZXRlciBuYW1l ZCAnZGlzYWJsZV9vbl9lcnJvcicuIFRvIGJlIGNvbnNpc3RlbnQKd2l0aCBvbGQgYmVoYXZpb3Is IHRoZSBwYXJhbWV0ZXIgZGVmYXVsdHMgdG8gZmFsc2UuIFdoZW4gdHJ1ZSwgYm90aAp0aGUgdGFi bGUgc3luYyB3b3JrZXIgYW5kIGFwcGx5IHdvcmtlciBjYXRjaCBhbnkgZXJyb3JzIHRocm93biBh bmQKZGlzYWJsZSB0aGUgc3Vic2NyaXB0aW9uIGluIG9yZGVyIHRvIGJyZWFrIHRoZSBsb29wLiBU aGUgZXJyb3IgaXMKc3RpbGwgYWxzbyB3cml0dGVuIHRvIHRoZSBsb2dzLgoKQSBjYXRhbG9nIHZl cnNpb24gYnVtcCBpcyByZXF1aXJlZC4KClByb3Bvc2VkIGFuZCB3cml0dGVuIG9yaWdpbmFsbHkg YnkgTWFyayBEaWxnZXIKVGFrZW4gb3ZlciBieSBPc3VtaSBUYWthbWljaGksIEdyZWcgTmFuY2Fy cm93LCBQZXRlciBTbWl0aApSZXZpZXdlZCBieSBHcmVnIE5hbmNhcnJvdywgVmlnbmVzaCBDLCBB bWl0IEthcGlsYSwgV2FuZyB3ZWksIFRhbmcgSGFpeWluZywgUGV0ZXIgU21pdGgKRGlzY3Vzc2lv biA6IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvREIzNTQzOEYtOTM1Ni00 ODQxLTg5QTAtNDEyNzA5RUJEM0FCJTQwZW50ZXJwcmlzZWRiLmNvbQotLS0KIGRvYy9zcmMvc2dt bC9jYXRhbG9ncy5zZ21sICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICsKIGRvYy9zcmMvc2dt bC9yZWYvYWx0ZXJfc3Vic2NyaXB0aW9uLnNnbWwgICAgICAgIHwgICA0ICstCiBkb2Mvc3JjL3Nn bWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbCAgICAgICB8ICAxMiArKwogc3JjL2JhY2tl bmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uYyAgICAgICAgICAgfCAgIDEgKwogc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgICAgICAgICAgfCAgIDMgKy0KIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyAgICAgICAgIHwgIDI3ICsrLQogc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyAgICAgICAgfCAyMzMgKysrKysrKysr KysrKysrKystLS0tLS0tCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAg ICAgICAgICB8ICAxNyArLQogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDEgKwogc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMTAgKy0KIHNyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYyAgICAgICAgICAg ICAgICAgICAgIHwgICA0ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5o ICAgICAgICAgICB8ICAgNiArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlv bi5vdXQgICAgICB8IDExOSArKysrKysrLS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNj cmlwdGlvbi5zcWwgICAgICAgICAgIHwgIDE0ICsrCiBzcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8w MjhfZGlzYWJsZV9vbl9lcnJvci5wbCB8IDIwMCArKysrKysrKysrKysrKysrKysrKwogMTUgZmls ZXMgY2hhbmdlZCwgNTM3IGluc2VydGlvbnMoKyksIDEyNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjhfZGlzYWJsZV9vbl9lcnJvci5w bAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sIGIvZG9jL3NyYy9zZ21s L2NhdGFsb2dzLnNnbWwKaW5kZXggNWExNjI3YS4uOWM3ZTgwZiAxMDA2NDQKLS0tIGEvZG9jL3Ny Yy9zZ21sL2NhdGFsb2dzLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKQEAg LTc3NjIsNiArNzc2MiwxNiBAQCBTQ1JBTS1TSEEtMjU2JDxyZXBsYWNlYWJsZT4mbHQ7aXRlcmF0 aW9uIGNvdW50Jmd0OzwvcmVwbGFjZWFibGU+OjxyZXBsYWNlYWJsZT4mbAogCiAgICAgIDxyb3c+ CiAgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5zdWJkaXNhYmxlb25lcnI8L3N0 cnVjdGZpZWxkPiA8dHlwZT5ib29sPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+ CisgICAgICAgSWYgdHJ1ZSwgdGhlIHN1YnNjcmlwdGlvbiB3aWxsIGJlIGRpc2FibGVkIHdoZW4g c3Vic2NyaXB0aW9uCisgICAgICAgd29ya2VycyBkZXRlY3QgYW55IGVycm9ycworICAgICAgPC9w YXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgog ICAgICAgIDxzdHJ1Y3RmaWVsZD5zdWJjb25uaW5mbzwvc3RydWN0ZmllbGQ+IDx0eXBlPnRleHQ8 L3R5cGU+CiAgICAgICA8L3BhcmE+CiAgICAgICA8cGFyYT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMv c2dtbC9yZWYvYWx0ZXJfc3Vic2NyaXB0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVy X3N1YnNjcmlwdGlvbi5zZ21sCmluZGV4IDBiMDI3Y2MuLjU3ODM3MTUgMTAwNjQ0Ci0tLSBhL2Rv Yy9zcmMvc2dtbC9yZWYvYWx0ZXJfc3Vic2NyaXB0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L3JlZi9hbHRlcl9zdWJzY3JpcHRpb24uc2dtbApAQCAtMjAxLDggKzIwMSw4IEBAIEFMVEVSIFNV QlNDUklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFjZWFi bGU+IFJFTkFNRSBUTyA8CiAgICAgICBpbmZvcm1hdGlvbi4gIFRoZSBwYXJhbWV0ZXJzIHRoYXQg Y2FuIGJlIGFsdGVyZWQKICAgICAgIGFyZSA8bGl0ZXJhbD5zbG90X25hbWU8L2xpdGVyYWw+LAog ICAgICAgPGxpdGVyYWw+c3luY2hyb25vdXNfY29tbWl0PC9saXRlcmFsPiwKLSAgICAgIDxsaXRl cmFsPmJpbmFyeTwvbGl0ZXJhbD4sIGFuZAotICAgICAgPGxpdGVyYWw+c3RyZWFtaW5nPC9saXRl cmFsPi4KKyAgICAgIDxsaXRlcmFsPmJpbmFyeTwvbGl0ZXJhbD4sIDxsaXRlcmFsPnN0cmVhbWlu ZzwvbGl0ZXJhbD4sIGFuZAorICAgICAgPGxpdGVyYWw+ZGlzYWJsZV9vbl9lcnJvcjwvbGl0ZXJh bD4uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CmRp ZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dtbCBiL2Rv Yy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sCmluZGV4IDk5MGE0MWYuLjlj YTBiYjkgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5z Z21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sCkBAIC0x NDIsNiArMTQyLDE4IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnN1YnNjcmlwdGlvbl9uYW1lPC9yZXBsYWNlYWJsCiAgICAgICAgPC92YXJsaXN0 ZW50cnk+CiAKICAgICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgICA8dGVybT48bGl0ZXJhbD5k aXNhYmxlX29uX2Vycm9yPC9saXRlcmFsPiAoPHR5cGU+Ym9vbGVhbjwvdHlwZT4pPC90ZXJtPgor ICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFyYT4KKyAgICAgICAgICBTcGVjaWZpZXMg d2hldGhlciB0aGUgc3Vic2NyaXB0aW9uIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IGRpc2FibGVk CisgICAgICAgICAgaWYgYW55IGVycm9ycyBhcmUgZGV0ZWN0ZWQgYnkgc3Vic2NyaXB0aW9uIHdv cmtlcnMgZHVyaW5nIGRhdGEKKyAgICAgICAgICByZXBsaWNhdGlvbiBmcm9tIHRoZSBwdWJsaXNo ZXIuIFRoZSBkZWZhdWx0IGlzCisgICAgICAgICAgPGxpdGVyYWw+ZmFsc2U8L2xpdGVyYWw+Lgor ICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgIDwvdmFybGlzdGVu dHJ5PgorCisgICAgICAgPHZhcmxpc3RlbnRyeT4KICAgICAgICAgPHRlcm0+PGxpdGVyYWw+ZW5h YmxlZDwvbGl0ZXJhbD4gKDx0eXBlPmJvb2xlYW48L3R5cGU+KTwvdGVybT4KICAgICAgICAgPGxp c3RpdGVtPgogICAgICAgICAgPHBhcmE+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L3BnX3N1YnNjcmlwdGlvbi5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24u YwppbmRleCBjYTY1YThiLi5kMmJlZWJjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9n L3BnX3N1YnNjcmlwdGlvbi5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc3Vic2NyaXB0 aW9uLmMKQEAgLTY5LDYgKzY5LDcgQEAgR2V0U3Vic2NyaXB0aW9uKE9pZCBzdWJpZCwgYm9vbCBt aXNzaW5nX29rKQogCXN1Yi0+YmluYXJ5ID0gc3ViZm9ybS0+c3ViYmluYXJ5OwogCXN1Yi0+c3Ry ZWFtID0gc3ViZm9ybS0+c3Vic3RyZWFtOwogCXN1Yi0+dHdvcGhhc2VzdGF0ZSA9IHN1YmZvcm0t PnN1YnR3b3BoYXNlc3RhdGU7CisJc3ViLT5kaXNhYmxlb25lcnIgPSBzdWJmb3JtLT5zdWJkaXNh Ymxlb25lcnI7CiAKIAkvKiBHZXQgY29ubmluZm8gKi8KIAlkYXR1bSA9IFN5c0NhY2hlR2V0QXR0 cihTVUJTQ1JJUFRJT05PSUQsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3Rl bV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXgg M2NiNjliMS4uNDMwYWM5MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1f dmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAt MTI2MSw3ICsxMjYxLDggQEAgUkVWT0tFIEFMTCBPTiBwZ19yZXBsaWNhdGlvbl9vcmlnaW5fc3Rh dHVzIEZST00gcHVibGljOwogLS0gQWxsIGNvbHVtbnMgb2YgcGdfc3Vic2NyaXB0aW9uIGV4Y2Vw dCBzdWJjb25uaW5mbyBhcmUgcHVibGljbHkgcmVhZGFibGUuCiBSRVZPS0UgQUxMIE9OIHBnX3N1 YnNjcmlwdGlvbiBGUk9NIHB1YmxpYzsKIEdSQU5UIFNFTEVDVCAob2lkLCBzdWJkYmlkLCBzdWJu YW1lLCBzdWJvd25lciwgc3ViZW5hYmxlZCwgc3ViYmluYXJ5LAotICAgICAgICAgICAgICBzdWJz dHJlYW0sIHN1YnR3b3BoYXNlc3RhdGUsIHN1YnNsb3RuYW1lLCBzdWJzeW5jY29tbWl0LCBzdWJw dWJsaWNhdGlvbnMpCisgICAgICAgICAgICAgIHN1YnN0cmVhbSwgc3VidHdvcGhhc2VzdGF0ZSwg c3ViZGlzYWJsZW9uZXJyLCBzdWJzbG90bmFtZSwKKyAgICAgICAgICAgICAgc3Vic3luY2NvbW1p dCwgc3VicHVibGljYXRpb25zKQogICAgIE9OIHBnX3N1YnNjcmlwdGlvbiBUTyBwdWJsaWM7CiAK IENSRUFURSBWSUVXIHBnX3N0YXRfc3Vic2NyaXB0aW9uX3dvcmtlcnMgQVMKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYyBiL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwppbmRleCAzZWY2NjA3Li4zOTIyNjU4IDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9zdWJzY3JpcHRpb25jbWRzLmMKKysrIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCkBAIC02MSw2ICs2MSw3IEBACiAjZGVm aW5lIFNVQk9QVF9CSU5BUlkJCQkJMHgwMDAwMDA4MAogI2RlZmluZSBTVUJPUFRfU1RSRUFNSU5H CQkJMHgwMDAwMDEwMAogI2RlZmluZSBTVUJPUFRfVFdPUEhBU0VfQ09NTUlUCQkweDAwMDAwMjAw CisjZGVmaW5lIFNVQk9QVF9ESVNBQkxFX09OX0VSUgkJMHgwMDAwMDQwMAogCiAvKiBjaGVjayBp ZiB0aGUgJ3ZhbCcgaGFzICdiaXRzJyBzZXQgKi8KICNkZWZpbmUgSXNTZXQodmFsLCBiaXRzKSAg KCgodmFsKSAmIChiaXRzKSkgPT0gKGJpdHMpKQpAQCAtODIsNiArODMsNyBAQCB0eXBlZGVmIHN0 cnVjdCBTdWJPcHRzCiAJYm9vbAkJYmluYXJ5OwogCWJvb2wJCXN0cmVhbWluZzsKIAlib29sCQl0 d29waGFzZTsKKwlib29sCQlkaXNhYmxlb25lcnI7CiB9IFN1Yk9wdHM7CiAKIHN0YXRpYyBMaXN0 ICpmZXRjaF90YWJsZV9saXN0KFdhbFJlY2VpdmVyQ29ubiAqd3Jjb25uLCBMaXN0ICpwdWJsaWNh dGlvbnMpOwpAQCAtMTMwLDYgKzEzMiw4IEBAIHBhcnNlX3N1YnNjcmlwdGlvbl9vcHRpb25zKFBh cnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqc3RtdF9vcHRpb25zLAogCQlvcHRzLT5zdHJlYW1pbmcg PSBmYWxzZTsKIAlpZiAoSXNTZXQoc3VwcG9ydGVkX29wdHMsIFNVQk9QVF9UV09QSEFTRV9DT01N SVQpKQogCQlvcHRzLT50d29waGFzZSA9IGZhbHNlOworCWlmIChJc1NldChzdXBwb3J0ZWRfb3B0 cywgU1VCT1BUX0RJU0FCTEVfT05fRVJSKSkKKwkJb3B0cy0+ZGlzYWJsZW9uZXJyID0gZmFsc2U7 CiAKIAkvKiBQYXJzZSBvcHRpb25zICovCiAJZm9yZWFjaChsYywgc3RtdF9vcHRpb25zKQpAQCAt MjQ5LDYgKzI1MywxNSBAQCBwYXJzZV9zdWJzY3JpcHRpb25fb3B0aW9ucyhQYXJzZVN0YXRlICpw c3RhdGUsIExpc3QgKnN0bXRfb3B0aW9ucywKIAkJCW9wdHMtPnNwZWNpZmllZF9vcHRzIHw9IFNV Qk9QVF9UV09QSEFTRV9DT01NSVQ7CiAJCQlvcHRzLT50d29waGFzZSA9IGRlZkdldEJvb2xlYW4o ZGVmZWwpOwogCQl9CisJCWVsc2UgaWYgKElzU2V0KHN1cHBvcnRlZF9vcHRzLCBTVUJPUFRfRElT QUJMRV9PTl9FUlIpICYmCisJCQkJIHN0cmNtcChkZWZlbC0+ZGVmbmFtZSwgImRpc2FibGVfb25f ZXJyb3IiKSA9PSAwKQorCQl7CisJCQlpZiAoSXNTZXQob3B0cy0+c3BlY2lmaWVkX29wdHMsIFNV Qk9QVF9ESVNBQkxFX09OX0VSUikpCisJCQkJZXJyb3JDb25mbGljdGluZ0RlZkVsZW0oZGVmZWws IHBzdGF0ZSk7CisKKwkJCW9wdHMtPnNwZWNpZmllZF9vcHRzIHw9IFNVQk9QVF9ESVNBQkxFX09O X0VSUjsKKwkJCW9wdHMtPmRpc2FibGVvbmVyciA9IGRlZkdldEJvb2xlYW4oZGVmZWwpOworCQl9 CiAJCWVsc2UKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lOVEFY X0VSUk9SKSwKQEAgLTM5MCw3ICs0MDMsOCBAQCBDcmVhdGVTdWJzY3JpcHRpb24oUGFyc2VTdGF0 ZSAqcHN0YXRlLCBDcmVhdGVTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCXN1cHBvcnRlZF9vcHRz ID0gKFNVQk9QVF9DT05ORUNUIHwgU1VCT1BUX0VOQUJMRUQgfCBTVUJPUFRfQ1JFQVRFX1NMT1Qg fAogCQkJCQkgIFNVQk9QVF9TTE9UX05BTUUgfCBTVUJPUFRfQ09QWV9EQVRBIHwKIAkJCQkJICBT VUJPUFRfU1lOQ0hST05PVVNfQ09NTUlUIHwgU1VCT1BUX0JJTkFSWSB8Ci0JCQkJCSAgU1VCT1BU X1NUUkVBTUlORyB8IFNVQk9QVF9UV09QSEFTRV9DT01NSVQpOworCQkJCQkgIFNVQk9QVF9TVFJF QU1JTkcgfCBTVUJPUFRfVFdPUEhBU0VfQ09NTUlUIHwKKwkJCQkJICBTVUJPUFRfRElTQUJMRV9P Tl9FUlIpOwogCXBhcnNlX3N1YnNjcmlwdGlvbl9vcHRpb25zKHBzdGF0ZSwgc3RtdC0+b3B0aW9u cywgc3VwcG9ydGVkX29wdHMsICZvcHRzKTsKIAogCS8qCkBAIC00NjQsNiArNDc4LDcgQEAgQ3Jl YXRlU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2NyaXB0aW9uU3Rt dCAqc3RtdCwKIAkJQ2hhckdldERhdHVtKG9wdHMudHdvcGhhc2UgPwogCQkJCQkgTE9HSUNBTFJF UF9UV09QSEFTRV9TVEFURV9QRU5ESU5HIDoKIAkJCQkJIExPR0lDQUxSRVBfVFdPUEhBU0VfU1RB VEVfRElTQUJMRUQpOworCXZhbHVlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJkaXNhYmxlb25l cnIgLSAxXSA9IEJvb2xHZXREYXR1bShvcHRzLmRpc2FibGVvbmVycik7CiAJdmFsdWVzW0FudW1f cGdfc3Vic2NyaXB0aW9uX3N1YmNvbm5pbmZvIC0gMV0gPQogCQlDU3RyaW5nR2V0VGV4dERhdHVt KGNvbm5pbmZvKTsKIAlpZiAob3B0cy5zbG90X25hbWUpCkBAIC04NjQsNyArODc5LDcgQEAgQWx0 ZXJTdWJzY3JpcHRpb24oUGFyc2VTdGF0ZSAqcHN0YXRlLCBBbHRlclN1YnNjcmlwdGlvblN0bXQg KnN0bXQsCiAJCQl7CiAJCQkJc3VwcG9ydGVkX29wdHMgPSAoU1VCT1BUX1NMT1RfTkFNRSB8CiAJ CQkJCQkJCSAgU1VCT1BUX1NZTkNIUk9OT1VTX0NPTU1JVCB8IFNVQk9QVF9CSU5BUlkgfAotCQkJ CQkJCQkgIFNVQk9QVF9TVFJFQU1JTkcpOworCQkJCQkJCQkgIFNVQk9QVF9TVFJFQU1JTkcgfCBT VUJPUFRfRElTQUJMRV9PTl9FUlIpOwogCiAJCQkJcGFyc2Vfc3Vic2NyaXB0aW9uX29wdGlvbnMo cHN0YXRlLCBzdG10LT5vcHRpb25zLAogCQkJCQkJCQkJCSAgIHN1cHBvcnRlZF9vcHRzLCAmb3B0 cyk7CkBAIC05MTMsNiArOTI4LDE0IEBAIEFsdGVyU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBz dGF0ZSwgQWx0ZXJTdWJzY3JpcHRpb25TdG10ICpzdG10LAogCQkJCQlyZXBsYWNlc1tBbnVtX3Bn X3N1YnNjcmlwdGlvbl9zdWJzdHJlYW0gLSAxXSA9IHRydWU7CiAJCQkJfQogCisJCQkJaWYgKElz U2V0KG9wdHMuc3BlY2lmaWVkX29wdHMsIFNVQk9QVF9ESVNBQkxFX09OX0VSUikpCisJCQkJewor CQkJCQl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRpb25fc3ViZGlzYWJsZW9uZXJyIC0gMV0KKwkJ CQkJCT0gQm9vbEdldERhdHVtKG9wdHMuZGlzYWJsZW9uZXJyKTsKKwkJCQkJcmVwbGFjZXNbQW51 bV9wZ19zdWJzY3JpcHRpb25fc3ViZGlzYWJsZW9uZXJyIC0gMV0KKwkJCQkJCT0gdHJ1ZTsKKwkJ CQl9CisKIAkJCQl1cGRhdGVfdHVwbGUgPSB0cnVlOwogCQkJCWJyZWFrOwogCQkJfQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYyBiL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXggNWQ5YWNjNi4uZDExZjk1NSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCkBAIC0xMzYsNiArMTM2 LDcgQEAKICNpbmNsdWRlICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9nX2lu dGVybmFsLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9jYXRhbG9nLmgiCisjaW5jbHVkZSAiY2F0YWxv Zy9pbmRleGluZy5oIgogI2luY2x1ZGUgImNhdGFsb2cvbmFtZXNwYWNlLmgiCiAjaW5jbHVkZSAi Y2F0YWxvZy9wYXJ0aXRpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2luaGVyaXRzLmgiCkBA IC0xNTM5LDggKzE1NDAsOCBAQCBHZXRSZWxhdGlvbklkZW50aXR5T3JQSyhSZWxhdGlvbiByZWwp CiBzdGF0aWMgdm9pZAogVGFyZ2V0UHJpdmlsZWdlc0NoZWNrKFJlbGF0aW9uIHJlbCwgQWNsTW9k ZSBtb2RlKQogewotCU9pZAkJCQlyZWxpZDsKLQlBY2xSZXN1bHQJCWFjbHJlc3VsdDsKKwlPaWQJ CQlyZWxpZDsKKwlBY2xSZXN1bHQJYWNscmVzdWx0OwogCiAJcmVsaWQgPSBSZWxhdGlvbkdldFJl bGlkKHJlbCk7CiAJYWNscmVzdWx0ID0gcGdfY2xhc3NfYWNsY2hlY2socmVsaWQsIEdldFVzZXJJ ZCgpLCBtb2RlKTsKQEAgLTI4MDIsNiArMjgwMyw4NCBAQCBMb2dpY2FsUmVwQXBwbHlMb29wKFhM b2dSZWNQdHIgbGFzdF9yZWNlaXZlZCkKIH0KIAogLyoKKyAqIERpc2FibGUgdGhlIGN1cnJlbnQg c3Vic2NyaXB0aW9uLCBhZnRlciBlcnJvciByZWNvdmVyeSBwcm9jZXNzaW5nLgorICovCitzdGF0 aWMgYm9vbAorRGlzYWJsZVN1YnNjcmlwdGlvbk9uRXJyb3Iodm9pZCkKK3sKKwlSZWxhdGlvbgly ZWw7CisJYm9vbAkJbnVsbHNbTmF0dHNfcGdfc3Vic2NyaXB0aW9uXTsKKwlib29sCQlyZXBsYWNl c1tOYXR0c19wZ19zdWJzY3JpcHRpb25dOworCURhdHVtCQl2YWx1ZXNbTmF0dHNfcGdfc3Vic2Ny aXB0aW9uXTsKKwlIZWFwVHVwbGUJdHVwOworCUZvcm1fcGdfc3Vic2NyaXB0aW9uIHN1YmZvcm07 CisKKwkvKgorCSAqIExvZyB0aGUgZXJyb3IgdGhhdCBjYXVzZWQgRGlzYWJsZVN1YnNjcmlwdGlv bk9uRXJyb3IgdG8gYmUgY2FsbGVkLiBXZQorCSAqIGRvIHRoaXMgaW1tZWRpYXRlbHkgc28gdGhh dCBpdCB3b24ndCBiZSBsb3N0IGlmIHNvbWUgb3RoZXIgaW50ZXJuYWwKKwkgKiBlcnJvciBvY2N1 cnMgaW4gdGhlIGZvbGxvd2luZyBjb2RlLgorCSAqLworCUVtaXRFcnJvclJlcG9ydCgpOworCUFi b3J0T3V0T2ZBbnlUcmFuc2FjdGlvbigpOworCUZsdXNoRXJyb3JTdGF0ZSgpOworCisJLyogRGlz YWJsZSB0aGUgc3Vic2NyaXB0aW9uIGluIGEgZnJlc2ggdHJhbnNhY3Rpb24gKi8KKwlTdGFydFRy YW5zYWN0aW9uQ29tbWFuZCgpOworCisJLyogTG9vayB1cCBvdXIgc3Vic2NyaXB0aW9uIGluIHRo ZSBjYXRhbG9ncyAqLworCXJlbCA9IHRhYmxlX29wZW4oU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwg Um93RXhjbHVzaXZlTG9jayk7CisJdHVwID0gU2VhcmNoU3lzQ2FjaGVDb3B5MihTVUJTQ1JJUFRJ T05OQU1FLCBNeURhdGFiYXNlSWQsCisJCQkJCQkJICBDU3RyaW5nR2V0RGF0dW0oTXlTdWJzY3Jp cHRpb24tPm5hbWUpKTsKKwlpZiAoIUhlYXBUdXBsZUlzVmFsaWQodHVwKSkKKwkJZXJlcG9ydChF UlJPUiwKKwkJCQllcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09CSkVDVCksCisJCQkJZXJybXNn KCJzdWJzY3JpcHRpb24gXCIlc1wiIGRvZXMgbm90IGV4aXN0IiwKKwkJCQkJICAgTXlTdWJzY3Jp cHRpb24tPm5hbWUpKTsKKworCXN1YmZvcm0gPSAoRm9ybV9wZ19zdWJzY3JpcHRpb24pIEdFVFNU UlVDVCh0dXApOworCisJLyoKKwkgKiBXZSB3b3VsZCBub3QgYmUgaGVyZSB1bmxlc3MgdGhpcyBz dWJzY3JpcHRpb24ncyBkaXNhYmxlb25lcnIgZmllbGQgd2FzCisJICogdHJ1ZSwgYnV0IGNoZWNr IHdoZXRoZXIgdGhhdCBmaWVsZCBoYXMgY2hhbmdlZCBpbiB0aGUgaW50ZXJpbS4KKwkgKi8KKwlp ZiAoIXN1YmZvcm0tPnN1YmRpc2FibGVvbmVycikKKwl7CisJCWhlYXBfZnJlZXR1cGxlKHR1cCk7 CisJCXRhYmxlX2Nsb3NlKHJlbCwgUm93RXhjbHVzaXZlTG9jayk7CisJCUNvbW1pdFRyYW5zYWN0 aW9uQ29tbWFuZCgpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJLyogTm90aWZ5IHRoZSBzdWJz Y3JpcHRpb24gd2lsbCBiZSBubyBsb25nZXIgdmFsaWQgKi8KKwllcmVwb3J0KExPRywKKwkJCWVy cm1zZygibG9naWNhbCByZXBsaWNhdGlvbiBzdWJzY3JpcHRpb24gXCIlc1wiIHdpbGwgYmUgZGlz YWJsZWQgZHVlIHRvIGFuIGVycm9yIiwKKwkJCQkgICBNeVN1YnNjcmlwdGlvbi0+bmFtZSkpOwor CisJTG9ja1NoYXJlZE9iamVjdChTdWJzY3JpcHRpb25SZWxhdGlvbklkLCBzdWJmb3JtLT5vaWQs IDAsIEFjY2Vzc0V4Y2x1c2l2ZUxvY2spOworCisJLyogRm9ybSBhIG5ldyB0dXBsZS4gKi8KKwlt ZW1zZXQodmFsdWVzLCAwLCBzaXplb2YodmFsdWVzKSk7CisJbWVtc2V0KG51bGxzLCBmYWxzZSwg c2l6ZW9mKG51bGxzKSk7CisJbWVtc2V0KHJlcGxhY2VzLCBmYWxzZSwgc2l6ZW9mKHJlcGxhY2Vz KSk7CisKKwkvKiBTZXQgdGhlIHN1YnNjcmlwdGlvbiB0byBkaXNhYmxlZC4gKi8KKwl2YWx1ZXNb QW51bV9wZ19zdWJzY3JpcHRpb25fc3ViZW5hYmxlZCAtIDFdID0gQm9vbEdldERhdHVtKGZhbHNl KTsKKwlyZXBsYWNlc1tBbnVtX3BnX3N1YnNjcmlwdGlvbl9zdWJlbmFibGVkIC0gMV0gPSB0cnVl OworCisJLyogVXBkYXRlIHRoZSBjYXRhbG9nICovCisJdHVwID0gaGVhcF9tb2RpZnlfdHVwbGUo dHVwLCBSZWxhdGlvbkdldERlc2NyKHJlbCksIHZhbHVlcywgbnVsbHMsCisJCQkJCQkJcmVwbGFj ZXMpOworCUNhdGFsb2dUdXBsZVVwZGF0ZShyZWwsICZ0dXAtPnRfc2VsZiwgdHVwKTsKKwloZWFw X2ZyZWV0dXBsZSh0dXApOworCisJdGFibGVfY2xvc2UocmVsLCBSb3dFeGNsdXNpdmVMb2NrKTsK KworCUNvbW1pdFRyYW5zYWN0aW9uQ29tbWFuZCgpOworCisJcmV0dXJuIHRydWU7Cit9CisKKy8q CiAgKiBTZW5kIGEgU3RhbmRieSBTdGF0dXMgVXBkYXRlIG1lc3NhZ2UgdG8gc2VydmVyLgogICoK ICAqICdyZWN2cG9zJyBpcyB0aGUgbGF0ZXN0IExTTiB3ZSd2ZSByZWNlaXZlZCBkYXRhIHRvLCBm b3JjZSBpcyBzZXQgaWYgd2UgbmVlZApAQCAtMzM3Miw2ICszNDUxLDkxIEBAIFR3b1BoYXNlVHJh bnNhY3Rpb25HaWQoT2lkIHN1YmlkLCBUcmFuc2FjdGlvbklkIHhpZCwgY2hhciAqZ2lkLCBpbnQg c3pnaWQpCiAJc25wcmludGYoZ2lkLCBzemdpZCwgInBnX2dpZF8ldV8ldSIsIHN1YmlkLCB4aWQp OwogfQogCisvKgorICogRXhlY3V0ZSB0aGUgaW5pdGlhbCBzeW5jIHdpdGggZXJyb3IgaGFuZGxp bmcuIERpc2FibGUgdGhlIHN1YnNjcmlwdGlvbiwKKyAqIGlmIGl0J3MgcmVxdWlyZWQuCisgKi8K K3N0YXRpYyB2b2lkCitTeW5jVGFibGVTdGFydFdyYXBwZXIoWExvZ1JlY1B0ciAqb3JpZ2luX3N0 YXJ0cG9zLAorCQkJCQkgIGNoYXIgKipteXNsb3RuYW1lLCBNZW1vcnlDb250ZXh0IGNjdHgpCit7 CisJY2hhcgkgICAqc3luY3Nsb3RuYW1lOworCisJQXNzZXJ0KGFtX3RhYmxlc3luY193b3JrZXIo KSk7CisKKwlQR19UUlkoKTsKKwl7CisJCS8qIENhbGwgaW5pdGlhbCBzeW5jLiAqLworCQlzeW5j c2xvdG5hbWUgPSBMb2dpY2FsUmVwU3luY1RhYmxlU3RhcnQob3JpZ2luX3N0YXJ0cG9zKTsKKwl9 CisJUEdfQ0FUQ0goKTsKKwl7CisJCU1lbW9yeUNvbnRleHQgZWN4dCA9IE1lbW9yeUNvbnRleHRT d2l0Y2hUbyhjY3R4KTsKKwkJRXJyb3JEYXRhICAqZXJyZGF0YSA9IENvcHlFcnJvckRhdGEoKTsK KworCQkvKgorCQkgKiBSZXBvcnQgdGhlIGVycm9yLiBUaGVyZSBpcyBubyBjb3JyZXNwb25kaW5n IG1lc3NhZ2UgdHlwZSBmb3IgdGFibGUKKwkJICogc3luY2hyb25pemF0aW9uLgorCQkgKi8KKwkJ cGdzdGF0X3JlcG9ydF9zdWJ3b3JrZXJfZXJyb3IoTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJpZCwK KwkJCQkJCQkJCSAgTXlMb2dpY2FsUmVwV29ya2VyLT5yZWxpZCwKKwkJCQkJCQkJCSAgTXlMb2dp Y2FsUmVwV29ya2VyLT5yZWxpZCwKKwkJCQkJCQkJCSAgMCwJLyogbWVzc2FnZSB0eXBlICovCisJ CQkJCQkJCQkgIEludmFsaWRUcmFuc2FjdGlvbklkLAorCQkJCQkJCQkJICBlcnJkYXRhLT5tZXNz YWdlKTsKKworCQlpZiAoTXlTdWJzY3JpcHRpb24tPmRpc2FibGVvbmVyciAmJiBEaXNhYmxlU3Vi c2NyaXB0aW9uT25FcnJvcigpKQorCQkJcHJvY19leGl0KDApOworCisJCU1lbW9yeUNvbnRleHRT d2l0Y2hUbyhlY3h0KTsKKwkJUEdfUkVfVEhST1coKTsKKwl9CisJUEdfRU5EX1RSWSgpOworCisJ LyogYWxsb2NhdGUgc2xvdCBuYW1lIGluIGxvbmctbGl2ZWQgY29udGV4dCAqLworCSpteXNsb3Ru YW1lID0gTWVtb3J5Q29udGV4dFN0cmR1cChBcHBseUNvbnRleHQsIHN5bmNzbG90bmFtZSk7CisJ cGZyZWUoc3luY3Nsb3RuYW1lKTsKK30KKworLyoKKyAqIFJ1biB0aGUgYXBwbHkgbG9vcCB3aXRo IGVycm9yIGhhbmRsaW5nLiBEaXNhYmxlIHRoZSBzdWJzY3JpcHRpb24sCisgKiBpZiBuZWNlc3Nh cnkuCisgKi8KK3N0YXRpYyB2b2lkCitBcHBseUxvb3BXcmFwcGVyKFhMb2dSZWNQdHIgb3JpZ2lu X3N0YXJ0cG9zLCBNZW1vcnlDb250ZXh0IGNjdHgpCit7CisJUEdfVFJZKCk7CisJeworCQlMb2dp Y2FsUmVwQXBwbHlMb29wKG9yaWdpbl9zdGFydHBvcyk7CisJfQorCVBHX0NBVENIKCk7CisJewor CQlNZW1vcnlDb250ZXh0IGVjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oY2N0eCk7CisKKwkJ LyogcmVwb3J0IHRoZSBhcHBseSBlcnJvciAqLworCQlpZiAoYXBwbHlfZXJyb3JfY2FsbGJhY2tf YXJnLmNvbW1hbmQgIT0gMCkKKwkJeworCQkJRXJyb3JEYXRhICAqZXJyZGF0YSA9IENvcHlFcnJv ckRhdGEoKTsKKworCQkJcGdzdGF0X3JlcG9ydF9zdWJ3b3JrZXJfZXJyb3IoTXlMb2dpY2FsUmVw V29ya2VyLT5zdWJpZCwKKwkJCQkJCQkJCQkgIE15TG9naWNhbFJlcFdvcmtlci0+cmVsaWQsCisJ CQkJCQkJCQkJICBhcHBseV9lcnJvcl9jYWxsYmFja19hcmcucmVsICE9IE5VTEwKKwkJCQkJCQkJ CQkgID8gYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLnJlbC0+bG9jYWxyZWxvaWQKKwkJCQkJCQkJ CQkgIDogSW52YWxpZE9pZCwKKwkJCQkJCQkJCQkgIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5j b21tYW5kLAorCQkJCQkJCQkJCSAgYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLnJlbW90ZV94aWQs CisJCQkJCQkJCQkJICBlcnJkYXRhLT5tZXNzYWdlKTsKKwkJfQorCisJCWlmIChNeVN1YnNjcmlw dGlvbi0+ZGlzYWJsZW9uZXJyICYmIERpc2FibGVTdWJzY3JpcHRpb25PbkVycm9yKCkpCisJCQly ZXR1cm47CisKKwkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKGVjeHQpOworCQlQR19SRV9USFJPVygp OworCX0KKwlQR19FTkRfVFJZKCk7Cit9CisKIC8qIExvZ2ljYWwgUmVwbGljYXRpb24gQXBwbHkg d29ya2VyIGVudHJ5IHBvaW50ICovCiB2b2lkCiBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9h cmcpCkBAIC0zMzgwLDggKzM1NDQsOCBAQCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9hcmcp CiAJTWVtb3J5Q29udGV4dCBjY3R4ID0gQ3VycmVudE1lbW9yeUNvbnRleHQ7CiAJTWVtb3J5Q29u dGV4dCBvbGRjdHg7CiAJY2hhcgkJb3JpZ2lubmFtZVtOQU1FREFUQUxFTl07Ci0JWExvZ1JlY1B0 cglvcmlnaW5fc3RhcnRwb3M7Ci0JY2hhcgkgICAqbXlzbG90bmFtZTsKKwlYTG9nUmVjUHRyCW9y aWdpbl9zdGFydHBvcyA9IEludmFsaWRYTG9nUmVjUHRyOworCWNoYXIJICAgKm15c2xvdG5hbWUg PSBOVUxMOwogCVdhbFJjdlN0cmVhbU9wdGlvbnMgb3B0aW9uczsKIAlpbnQJCQlzZXJ2ZXJfdmVy c2lvbjsKIApAQCAtMzQ3NSwzOSArMzYzOSw3IEBAIEFwcGx5V29ya2VyTWFpbihEYXR1bSBtYWlu X2FyZykKIAkJIE15U3Vic2NyaXB0aW9uLT5jb25uaW5mbyk7CiAKIAlpZiAoYW1fdGFibGVzeW5j X3dvcmtlcigpKQotCXsKLQkJY2hhcgkgICAqc3luY3Nsb3RuYW1lOwotCi0JCVBHX1RSWSgpOwot CQl7Ci0JCQkvKiBUaGlzIGlzIHRhYmxlIHN5bmNocm9uaXphdGlvbiB3b3JrZXIsIGNhbGwgaW5p dGlhbCBzeW5jLiAqLwotCQkJc3luY3Nsb3RuYW1lID0gTG9naWNhbFJlcFN5bmNUYWJsZVN0YXJ0 KCZvcmlnaW5fc3RhcnRwb3MpOwotCQl9Ci0JCVBHX0NBVENIKCk7Ci0JCXsKLQkJCU1lbW9yeUNv bnRleHQgZWN4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhjY3R4KTsKLQkJCUVycm9yRGF0YSAg KmVycmRhdGEgPSBDb3B5RXJyb3JEYXRhKCk7Ci0KLQkJCS8qCi0JCQkgKiBSZXBvcnQgdGhlIHRh YmxlIHN5bmMgZXJyb3IuIFRoZXJlIGlzIG5vIGNvcnJlc3BvbmRpbmcgbWVzc2FnZQotCQkJICog dHlwZSBmb3IgdGFibGUgc3luY2hyb25pemF0aW9uLgotCQkJICovCi0JCQlwZ3N0YXRfcmVwb3J0 X3N1Yndvcmtlcl9lcnJvcihNeUxvZ2ljYWxSZXBXb3JrZXItPnN1YmlkLAotCQkJCQkJCQkJCSAg TXlMb2dpY2FsUmVwV29ya2VyLT5yZWxpZCwKLQkJCQkJCQkJCQkgIE15TG9naWNhbFJlcFdvcmtl ci0+cmVsaWQsCi0JCQkJCQkJCQkJICAwLAkvKiBtZXNzYWdlIHR5cGUgKi8KLQkJCQkJCQkJCQkg IEludmFsaWRUcmFuc2FjdGlvbklkLAotCQkJCQkJCQkJCSAgZXJyZGF0YS0+bWVzc2FnZSk7Ci0J CQlNZW1vcnlDb250ZXh0U3dpdGNoVG8oZWN4dCk7Ci0JCQlQR19SRV9USFJPVygpOwotCQl9Ci0J CVBHX0VORF9UUlkoKTsKLQotCQkvKiBhbGxvY2F0ZSBzbG90IG5hbWUgaW4gbG9uZy1saXZlZCBj b250ZXh0ICovCi0JCW15c2xvdG5hbWUgPSBNZW1vcnlDb250ZXh0U3RyZHVwKEFwcGx5Q29udGV4 dCwgc3luY3Nsb3RuYW1lKTsKLQotCQlwZnJlZShzeW5jc2xvdG5hbWUpOwotCX0KKwkJU3luY1Rh YmxlU3RhcnRXcmFwcGVyKCZvcmlnaW5fc3RhcnRwb3MsICZteXNsb3RuYW1lLCBjY3R4KTsKIAll bHNlCiAJewogCQkvKiBUaGlzIGlzIG1haW4gYXBwbHkgd29ya2VyICovCkBAIC0zNjE5LDMyICsz NzUxLDcgQEAgQXBwbHlXb3JrZXJNYWluKERhdHVtIG1haW5fYXJnKQogCX0KIAogCS8qIFJ1biB0 aGUgbWFpbiBsb29wLiAqLwotCVBHX1RSWSgpOwotCXsKLQkJTG9naWNhbFJlcEFwcGx5TG9vcChv cmlnaW5fc3RhcnRwb3MpOwotCX0KLQlQR19DQVRDSCgpOwotCXsKLQkJLyogcmVwb3J0IHRoZSBh cHBseSBlcnJvciAqLwotCQlpZiAoYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmNvbW1hbmQgIT0g MCkKLQkJewotCQkJTWVtb3J5Q29udGV4dCBlY3h0ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKGNj dHgpOwotCQkJRXJyb3JEYXRhICAqZXJyZGF0YSA9IENvcHlFcnJvckRhdGEoKTsKLQotCQkJcGdz dGF0X3JlcG9ydF9zdWJ3b3JrZXJfZXJyb3IoTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJpZCwKLQkJ CQkJCQkJCQkgIE15TG9naWNhbFJlcFdvcmtlci0+cmVsaWQsCi0JCQkJCQkJCQkJICBhcHBseV9l cnJvcl9jYWxsYmFja19hcmcucmVsICE9IE5VTEwKLQkJCQkJCQkJCQkgID8gYXBwbHlfZXJyb3Jf Y2FsbGJhY2tfYXJnLnJlbC0+bG9jYWxyZWxvaWQKLQkJCQkJCQkJCQkgIDogSW52YWxpZE9pZCwK LQkJCQkJCQkJCQkgIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZy5jb21tYW5kLAotCQkJCQkJCQkJ CSAgYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLnJlbW90ZV94aWQsCi0JCQkJCQkJCQkJICBlcnJk YXRhLT5tZXNzYWdlKTsKLQkJCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhlY3h0KTsKLQkJfQotCi0J CVBHX1JFX1RIUk9XKCk7Ci0JfQotCVBHX0VORF9UUlkoKTsKKwlBcHBseUxvb3BXcmFwcGVyKG9y aWdpbl9zdGFydHBvcywgY2N0eCk7CiAKIAlwcm9jX2V4aXQoMCk7CiB9CmRpZmYgLS1naXQgYS9z cmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwppbmRl eCA0NDg1ZWE4Li40NmEwZGViIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5j CisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKQEAgLTQyNzEsNiArNDI3MSw3IEBAIGdl dFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAlpbnQJCQlpX3N1Ym93bmVyOwogCWludAkJ CWlfc3Vic3RyZWFtOwogCWludAkJCWlfc3VidHdvcGhhc2VzdGF0ZTsKKwlpbnQJCQlpX3N1YmRp c2FibGVvbmVycjsKIAlpbnQJCQlpX3N1YmNvbm5pbmZvOwogCWludAkJCWlfc3Vic2xvdG5hbWU7 CiAJaW50CQkJaV9zdWJzeW5jY29tbWl0OwpAQCAtNDMxOCwxMiArNDMxOSwxOCBAQCBnZXRTdWJz Y3JpcHRpb25zKEFyY2hpdmUgKmZvdXQpCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAi IGZhbHNlIEFTIHN1YnN0cmVhbSxcbiIpOwogCiAJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0g MTUwMDAwKQotCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBzLnN1YnR3b3BoYXNlc3Rh dGVcbiIpOworCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBzLnN1YnR3b3BoYXNlc3Rh dGUsXG4iKTsKIAllbHNlCiAJCWFwcGVuZFBRRXhwQnVmZmVyKHF1ZXJ5LAotCQkJCQkJICAiICcl YycgQVMgc3VidHdvcGhhc2VzdGF0ZVxuIiwKKwkJCQkJCSAgIiAnJWMnIEFTIHN1YnR3b3BoYXNl c3RhdGUsXG4iLAogCQkJCQkJICBMT0dJQ0FMUkVQX1RXT1BIQVNFX1NUQVRFX0RJU0FCTEVEKTsK IAorCWlmIChmb3V0LT5yZW1vdGVWZXJzaW9uID49IDE1MDAwMCkKKwkJYXBwZW5kUFFFeHBCdWZm ZXIocXVlcnksICIgcy5zdWJkaXNhYmxlb25lcnJcbiIpOworCWVsc2UKKwkJYXBwZW5kUFFFeHBC dWZmZXIocXVlcnksCisJCQkJCQkgICIgZmFsc2UgQVMgc3ViZGlzYWJsZW9uZXJyXG4iKTsKKwog CWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAogCQkJCQkJICJGUk9NIHBnX3N1YnNjcmlwdGlv biBzXG4iCiAJCQkJCQkgIldIRVJFIHMuc3ViZGJpZCA9IChTRUxFQ1Qgb2lkIEZST00gcGdfZGF0 YWJhc2VcbiIKQEAgLTQzNDQsNiArNDM1MSw3IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAq Zm91dCkKIAlpX3N1YmJpbmFyeSA9IFBRZm51bWJlcihyZXMsICJzdWJiaW5hcnkiKTsKIAlpX3N1 YnN0cmVhbSA9IFBRZm51bWJlcihyZXMsICJzdWJzdHJlYW0iKTsKIAlpX3N1YnR3b3BoYXNlc3Rh dGUgPSBQUWZudW1iZXIocmVzLCAic3VidHdvcGhhc2VzdGF0ZSIpOworCWlfc3ViZGlzYWJsZW9u ZXJyID0gUFFmbnVtYmVyKHJlcywgInN1YmRpc2FibGVvbmVyciIpOwogCiAJc3ViaW5mbyA9IHBn X21hbGxvYyhudHVwcyAqIHNpemVvZihTdWJzY3JpcHRpb25JbmZvKSk7CiAKQEAgLTQzNzEsNiAr NDM3OSw4IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAkJCXBnX3N0cmR1cChQ UWdldHZhbHVlKHJlcywgaSwgaV9zdWJzdHJlYW0pKTsKIAkJc3ViaW5mb1tpXS5zdWJ0d29waGFz ZXN0YXRlID0KIAkJCXBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJ0d29waGFzZXN0 YXRlKSk7CisJCXN1YmluZm9baV0uc3ViZGlzYWJsZW9uZXJyID0KKwkJCXBnX3N0cmR1cChQUWdl dHZhbHVlKHJlcywgaSwgaV9zdWJkaXNhYmxlb25lcnIpKTsKIAogCQkvKiBEZWNpZGUgd2hldGhl ciB3ZSB3YW50IHRvIGR1bXAgaXQgKi8KIAkJc2VsZWN0RHVtcGFibGVPYmplY3QoJihzdWJpbmZv W2ldLmRvYmopLCBmb3V0KTsKQEAgLTQ0NDEsNiArNDQ1MSw5IEBAIGR1bXBTdWJzY3JpcHRpb24o QXJjaGl2ZSAqZm91dCwgY29uc3QgU3Vic2NyaXB0aW9uSW5mbyAqc3ViaW5mbykKIAlpZiAoc3Ry Y21wKHN1YmluZm8tPnN1YnR3b3BoYXNlc3RhdGUsIHR3b19waGFzZV9kaXNhYmxlZCkgIT0gMCkK IAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICIsIHR3b19waGFzZSA9IG9uIik7CiAKKwlp ZiAoc3RyY21wKHN1YmluZm8tPnN1YmRpc2FibGVvbmVyciwgImYiKSAhPSAwKQorCQlhcHBlbmRQ UUV4cEJ1ZmZlclN0cihxdWVyeSwgIiwgZGlzYWJsZV9vbl9lcnJvciA9IHRydWUiKTsKKwogCWlm IChzdHJjbXAoc3ViaW5mby0+c3Vic3luY2NvbW1pdCwgIm9mZiIpICE9IDApCiAJCWFwcGVuZFBR RXhwQnVmZmVyKHF1ZXJ5LCAiLCBzeW5jaHJvbm91c19jb21taXQgPSAlcyIsIGZtdElkKHN1Ymlu Zm8tPnN1YnN5bmNjb21taXQpKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1 bXAuaCBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKaW5kZXggOTk2NWFjMi4uZDc2MTZkMyAx MDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaAorKysgYi9zcmMvYmluL3BnX2R1 bXAvcGdfZHVtcC5oCkBAIC02NTYsNiArNjU2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX1N1YnNjcmlw dGlvbkluZm8KIAljaGFyCSAgICpzdWJiaW5hcnk7CiAJY2hhcgkgICAqc3Vic3RyZWFtOwogCWNo YXIJICAgKnN1YnR3b3BoYXNlc3RhdGU7CisJY2hhcgkgICAqc3ViZGlzYWJsZW9uZXJyOwogCWNo YXIJICAgKnN1YnN5bmNjb21taXQ7CiAJY2hhcgkgICAqc3VicHVibGljYXRpb25zOwogfSBTdWJz Y3JpcHRpb25JbmZvOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgYi9zcmMv YmluL3BzcWwvZGVzY3JpYmUuYwppbmRleCA2NTRlZjJkLi5jYjA2Zjk5IDEwMDY0NAotLS0gYS9z cmMvYmluL3BzcWwvZGVzY3JpYmUuYworKysgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpAQCAt NjA2Miw3ICs2MDYyLDcgQEAgZGVzY3JpYmVTdWJzY3JpcHRpb25zKGNvbnN0IGNoYXIgKnBhdHRl cm4sIGJvb2wgdmVyYm9zZSkKIAlQR3Jlc3VsdCAgICpyZXM7CiAJcHJpbnRRdWVyeU9wdCBteW9w dCA9IHBzZXQucG9wdDsKIAlzdGF0aWMgY29uc3QgYm9vbCB0cmFuc2xhdGVfY29sdW1uc1tdID0g e2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLAotCWZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNl LCBmYWxzZX07CisJZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZX07CiAK IAlpZiAocHNldC5zdmVyc2lvbiA8IDEwMDAwMCkKIAl7CkBAIC02MDk2LDExICs2MDk2LDEzIEBA IGRlc2NyaWJlU3Vic2NyaXB0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJuLCBib29sIHZlcmJvc2Up CiAJCQkJCQkJICBnZXR0ZXh0X25vb3AoIkJpbmFyeSIpLAogCQkJCQkJCSAgZ2V0dGV4dF9ub29w KCJTdHJlYW1pbmciKSk7CiAKLQkJLyogVHdvX3BoYXNlIGlzIG9ubHkgc3VwcG9ydGVkIGluIHYx NSBhbmQgaGlnaGVyICovCisJCS8qIFR3b19waGFzZSBhbmQgZGlzYWJsZV9vbl9lcnJvciBhcmUg b25seSBzdXBwb3J0ZWQgaW4gdjE1IGFuZCBoaWdoZXIgKi8KIAkJaWYgKHBzZXQuc3ZlcnNpb24g Pj0gMTUwMDAwKQogCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKLQkJCQkJCQkgICIsIHN1YnR3 b3BoYXNlc3RhdGUgQVMgXCIlc1wiXG4iLAotCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJUd28gcGhh c2UgY29tbWl0IikpOworCQkJCQkJCSAgIiwgc3VidHdvcGhhc2VzdGF0ZSBBUyBcIiVzXCJcbiIK KwkJCQkJCQkgICIsIHN1YmRpc2FibGVvbmVyciBBUyBcIiVzXCJcbiIsCisJCQkJCQkJICBnZXR0 ZXh0X25vb3AoIlR3byBwaGFzZSBjb21taXQiKSwKKwkJCQkJCQkgIGdldHRleHRfbm9vcCgiRGlz YWJsZSBvbiBlcnJvciIpKTsKIAogCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAogCQkJCQkJICAi LCAgc3Vic3luY2NvbW1pdCBBUyBcIiVzXCJcbiIKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC90 YWItY29tcGxldGUuYyBiL3NyYy9iaW4vcHNxbC90YWItY29tcGxldGUuYwppbmRleCAwMTBlZGI2 Li5mN2UzNWJhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvdGFiLWNvbXBsZXRlLmMKKysrIGIv c3JjL2Jpbi9wc3FsL3RhYi1jb21wbGV0ZS5jCkBAIC0xODIwLDcgKzE4MjAsNyBAQCBwc3FsX2Nv bXBsZXRpb24oY29uc3QgY2hhciAqdGV4dCwgaW50IHN0YXJ0LCBpbnQgZW5kKQogCQlDT01QTEVU RV9XSVRIKCIoIiwgIlBVQkxJQ0FUSU9OIik7CiAJLyogQUxURVIgU1VCU0NSSVBUSU9OIDxuYW1l PiBTRVQgKCAqLwogCWVsc2UgaWYgKEhlYWRNYXRjaGVzKCJBTFRFUiIsICJTVUJTQ1JJUFRJT04i LCBNYXRjaEFueSkgJiYgVGFpbE1hdGNoZXMoIlNFVCIsICIoIikpCi0JCUNPTVBMRVRFX1dJVEgo ImJpbmFyeSIsICJzbG90X25hbWUiLCAic3RyZWFtaW5nIiwgInN5bmNocm9ub3VzX2NvbW1pdCIp OworCQlDT01QTEVURV9XSVRIKCJiaW5hcnkiLCAic2xvdF9uYW1lIiwgInN0cmVhbWluZyIsICJz eW5jaHJvbm91c19jb21taXQiLCAiZGlzYWJsZV9vbl9lcnJvciIpOwogCS8qIEFMVEVSIFNVQlND UklQVElPTiA8bmFtZT4gU0VUIFBVQkxJQ0FUSU9OICovCiAJZWxzZSBpZiAoSGVhZE1hdGNoZXMo IkFMVEVSIiwgIlNVQlNDUklQVElPTiIsIE1hdGNoQW55KSAmJiBUYWlsTWF0Y2hlcygiU0VUIiwg IlBVQkxJQ0FUSU9OIikpCiAJewpAQCAtMzA3OSw3ICszMDc5LDcgQEAgcHNxbF9jb21wbGV0aW9u KGNvbnN0IGNoYXIgKnRleHQsIGludCBzdGFydCwgaW50IGVuZCkKIAllbHNlIGlmIChIZWFkTWF0 Y2hlcygiQ1JFQVRFIiwgIlNVQlNDUklQVElPTiIpICYmIFRhaWxNYXRjaGVzKCJXSVRIIiwgIigi KSkKIAkJQ09NUExFVEVfV0lUSCgiYmluYXJ5IiwgImNvbm5lY3QiLCAiY29weV9kYXRhIiwgImNy ZWF0ZV9zbG90IiwKIAkJCQkJICAiZW5hYmxlZCIsICJzbG90X25hbWUiLCAic3RyZWFtaW5nIiwK LQkJCQkJICAic3luY2hyb25vdXNfY29tbWl0IiwgInR3b19waGFzZSIpOworCQkJCQkgICJzeW5j aHJvbm91c19jb21taXQiLCAidHdvX3BoYXNlIiwgImRpc2FibGVfb25fZXJyb3IiKTsKIAogLyog Q1JFQVRFIFRSSUdHRVIgLS0tIGlzIGFsbG93ZWQgaW5zaWRlIENSRUFURSBTQ0hFTUEsIHNvIHVz ZSBUYWlsTWF0Y2hlcyAqLwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1 YnNjcmlwdGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3JpcHRpb24uaAppbmRl eCAxOGMyOTEyLi45ZWJlYWQ5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3N1 YnNjcmlwdGlvbi5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgK QEAgLTY3LDYgKzY3LDkgQEAgQ0FUQUxPRyhwZ19zdWJzY3JpcHRpb24sNjEwMCxTdWJzY3JpcHRp b25SZWxhdGlvbklkKSBCS0lfU0hBUkVEX1JFTEFUSU9OIEJLSV9ST1cKIAogCWNoYXIJCXN1YnR3 b3BoYXNlc3RhdGU7CS8qIFN0cmVhbSB0d28tcGhhc2UgdHJhbnNhY3Rpb25zICovCiAKKwlib29s CQlzdWJkaXNhYmxlb25lcnI7CS8qIFRydWUgaWYgb2NjdXJyZW5jZSBvZiBhcHBseSBlcnJvcnMK KwkJCQkJCQkJCSAqIHNob3VsZCBkaXNhYmxlIHRoZSBzdWJzY3JpcHRpb24gKi8KKwogI2lmZGVm IENBVEFMT0dfVkFSTEVOCQkJLyogdmFyaWFibGUtbGVuZ3RoIGZpZWxkcyBzdGFydCBoZXJlICov CiAJLyogQ29ubmVjdGlvbiBzdHJpbmcgdG8gdGhlIHB1Ymxpc2hlciAqLwogCXRleHQJCXN1YmNv bm5pbmZvIEJLSV9GT1JDRV9OT1RfTlVMTDsKQEAgLTEwMyw2ICsxMDYsOSBAQCB0eXBlZGVmIHN0 cnVjdCBTdWJzY3JpcHRpb24KIAkJCQkJCQkJICogYmluYXJ5IGZvcm1hdCAqLwogCWJvb2wJCXN0 cmVhbTsJCQkvKiBBbGxvdyBzdHJlYW1pbmcgaW4tcHJvZ3Jlc3MgdHJhbnNhY3Rpb25zLiAqLwog CWNoYXIJCXR3b3BoYXNlc3RhdGU7CS8qIEFsbG93IHN0cmVhbWluZyB0d28tcGhhc2UgdHJhbnNh Y3Rpb25zICovCisJYm9vbAkJZGlzYWJsZW9uZXJyOwkvKiBJbmRpY2F0ZXMgaWYgdGhlIHN1YnNj cmlwdGlvbiBzaG91bGQgYmUKKwkJCQkJCQkJICogYXV0b21hdGljYWxseSBkaXNhYmxlZCBpZiBh IHdvcmtlciBlcnJvcgorCQkJCQkJCQkgKiBvY2N1cnMgKi8KIAljaGFyCSAgICpjb25uaW5mbzsJ CS8qIENvbm5lY3Rpb24gc3RyaW5nIHRvIHRoZSBwdWJsaXNoZXIgKi8KIAljaGFyCSAgICpzbG90 bmFtZTsJCS8qIE5hbWUgb2YgdGhlIHJlcGxpY2F0aW9uIHNsb3QgKi8KIAljaGFyCSAgICpzeW5j Y29tbWl0OwkJLyogU3luY2hyb25vdXMgY29tbWl0IHNldHRpbmcgZm9yIHdvcmtlciAqLwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0IGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CmluZGV4IDgwYWFlODMuLmFk ODAwM2YgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Vic2NyaXB0aW9u Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKQEAg LTc2LDEwICs3NiwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5F Q1RJT04gJ2Zvb2Jhcic7CiBFUlJPUjogIGludmFsaWQgY29ubmVjdGlvbiBzdHJpbmcgc3ludGF4 OiBtaXNzaW5nICI9IiBhZnRlciAiZm9vYmFyIiBpbiBjb25uZWN0aW9uIGluZm8gc3RyaW5nCiAK IFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAg ICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwg QmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgZiAgICAgICAg IHwgZCAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZv ICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8 IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAg IHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQ VElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIFBVQkxJQ0FUSU9OIHRlc3RwdWIyLCB0ZXN0cHViMyBX SVRIIChyZWZyZXNoID0gZmFsc2UpOwpAQCAtOTQsMTAgKzk0LDEwIEBAIEVSUk9SOiAgc3Vic2Ny aXB0aW9uICJyZWdyZXNzX2RvZXNub3RleGlzdCIgZG9lcyBub3QgZXhpc3QKIEFMVEVSIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChjcmVhdGVfc2xvdCA9IGZhbHNlKTsKIEVSUk9S OiAgdW5yZWNvZ25pemVkIHN1YnNjcmlwdGlvbiBwYXJhbWV0ZXI6ICJjcmVhdGVfc2xvdCIKIFxk UnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAg ICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0 aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIAotLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRl c3RwdWIzfSB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAg ICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8 IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9y IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAKKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25f dXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgZiAgICAgICAg IHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QyCiAoMSByb3cpCiAKIEJFR0lOOwpAQCAt MTI5LDEwICsxMjksMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1Yl9mb28g U0VUIChzeW5jaHJvbm91c19jb21taXQgPSBmb29iYXIpOwogRVJST1I6ICBpbnZhbGlkIHZhbHVl IGZvciBwYXJhbWV0ZXIgInN5bmNocm9ub3VzX2NvbW1pdCI6ICJmb29iYXIiCiBISU5UOiAgQXZh aWxhYmxlIHZhbHVlczogbG9jYWwsIHJlbW90ZV93cml0ZSwgcmVtb3RlX2FwcGx5LCBvbiwgb2Zm LgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAg ICAgTmFtZSAgICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAg ICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1p dCB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotIHJlZ3Jlc3NfdGVzdHN1Yl9mb28gfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAg ICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30gfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAg ICAgICAgICAgIHwgbG9jYWwgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0MgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwor ICAgICAgICBOYW1lICAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxl ZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2Ug Y29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg ICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3Rl c3RzdWJfZm9vIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1 YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgfCBsb2NhbCAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QyCiAoMSByb3cpCiAKIC0tIHJlbmFtZSBiYWNrIHRvIGtlZXAgdGhlIHJlc3Qgc2lt cGxlCkBAIC0xNjUsMTkgKzE2NSwxOSBAQCBFUlJPUjogIGJpbmFyeSByZXF1aXJlcyBhIEJvb2xl YW4gdmFsdWUKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04g J2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChj b25uZWN0ID0gZmFsc2UsIGJpbmFyeSA9IHRydWUpOwogV0FSTklORzogIHRhYmxlcyB3ZXJlIG5v dCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBoYXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJT04gLi4u IFJFRlJFU0ggUFVCTElDQVRJT04gdG8gc3Vic2NyaWJlIHRoZSB0YWJsZXMKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgdCAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBl cnJvciB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IHQgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWIgU0VUIChiaW5hcnkgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 byBwaGFzZSBjb21taXQgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAg ICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ci0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAg fCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBv ZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5j aHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwg e3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdAogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBA IC0xODgsMTkgKzE4OCwxOSBAQCBFUlJPUjogIHN0cmVhbWluZyByZXF1aXJlcyBhIEJvb2xlYW4g dmFsdWUKIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2Ri bmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25u ZWN0ID0gZmFsc2UsIHN0cmVhbWluZyA9IHRydWUpOwogV0FSTklORzogIHRhYmxlcyB3ZXJlIG5v dCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBoYXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJT04gLi4u IFJFRlJFU0ggUFVCTElDQVRJT04gdG8gc3Vic2NyaWJlIHRoZSB0YWJsZXMKIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAg ICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAg IENvbm5pbmZvICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgdCAgICAgICAgIHwgZCAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFt ZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRp b24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBl cnJvciB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8 IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHQgICAgICAgICB8IGQgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJl Z3Jlc3NfZG9lc25vdGV4aXN0CiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNz X3Rlc3RzdWIgU0VUIChzdHJlYW1pbmcgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVn cmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8 IFR3byBwaGFzZSBjb21taXQgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5m byAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAg ICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAg fCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAg fCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBT eW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBmICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdAogKDEgcm93KQogCiAtLSBmYWlsIC0gcHVibGljYXRpb24gYWxyZWFkeSBleGlz dHMKQEAgLTIxNSwxMCArMjE1LDEwIEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3Rz dWIgQUREIFBVQkxJQ0FUSU9OIHRlc3RwdWIxLCB0ZXN0cHViMiBXSVRIIChyZWZyCiBBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIEFERCBQVUJMSUNBVElPTiB0ZXN0cHViMSwgdGVz dHB1YjIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKIEVSUk9SOiAgcHVibGljYXRpb24gInRlc3Rw dWIxIiBpcyBhbHJlYWR5IGluIHN1YnNjcmlwdGlvbiAicmVncmVzc190ZXN0c3ViIgogXGRScysK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAg ICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgICAgIFB1Ymxp Y2F0aW9uICAgICAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28gcGhhc2UgY29tbWl0IHwg U3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIAotLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K LSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAg ICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgICAgICAgICBQdWJsaWNhdGlvbiAgICAgICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdv IHBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0 ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYgICAgICB8IGYgICAgICAgICB8IGQgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1l PXJlZ3Jlc3NfZG9lc25vdGV4aXN0CiAoMSByb3cpCiAKIC0tIGZhaWwgLSBwdWJsaWNhdGlvbiB1 c2VkIG1vcmUgdGhlbiBvbmNlCkBAIC0yMzMsMTAgKzIzMywxMCBAQCBFUlJPUjogIHB1YmxpY2F0 aW9uICJ0ZXN0cHViMyIgaXMgbm90IGluIHN1YnNjcmlwdGlvbiAicmVncmVzc190ZXN0c3ViIgog LS0gb2sgLSBkZWxldGUgcHVibGljYXRpb25zCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190 ZXN0c3ViIERST1AgUFVCTElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJVEggKHJlZnJlc2gg PSBmYWxzZSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAg ICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJs aWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBTeW5jaHJv bm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IGYgICAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1 YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNl IGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAg ICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jl c3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBm ICAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAg ICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdAogKDEgcm93KQogCiBEUk9Q IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBAIC0yNzAsMTAgKzI3MCwxMCBAQCBFUlJP UjogIHR3b19waGFzZSByZXF1aXJlcyBhIEJvb2xlYW4gdmFsdWUKIENSRUFURSBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCcgUFVCTElDQVRJT04gdGVzdHB1YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIHR3b19waGFzZSA9 IHRydWUpOwogV0FSTklORzogIHRhYmxlcyB3ZXJlIG5vdCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBo YXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJT04gLi4uIFJFRlJFU0ggUFVCTElDQVRJT04gdG8g c3Vic2NyaWJlIHRoZSB0YWJsZXMKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlw dGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNvbW1p dCB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAKLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rl c3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAg IHwgZiAgICAgIHwgZiAgICAgICAgIHwgcCAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAg ICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2Ygc3Vic2NyaXB0aW9ucworICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcg fCBUd28gcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IGYgICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0CiAoMSBy b3cpCiAKIC0tZmFpbCAtIGFsdGVyIG9mIHR3b19waGFzZSBvcHRpb24gbm90IHN1cHBvcnRlZC4K QEAgLTI4MiwxMCArMjgyLDEwIEBAIEVSUk9SOiAgdW5yZWNvZ25pemVkIHN1YnNjcmlwdGlvbiBw YXJhbWV0ZXI6ICJ0d29fcGhhc2UiCiAtLSBidXQgY2FuIGFsdGVyIHN0cmVhbWluZyB3aGVuIHR3 b19waGFzZSBlbmFibGVkCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAo c3RyZWFtaW5nID0gdHJ1ZSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQg fCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCi0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IHQgICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAg ICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBM aXN0IG9mIHN1YnNjcmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvIHBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5jaHJvbm91cyBjb21taXQg fCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCB0ICAgICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdAogKDEgcm93 KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0g Tk9ORSk7CkBAIC0yOTQsMTAgKzI5NCwzMyBAQCBEUk9QIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWI7CiBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29u bmVjdCA9IGZhbHNlLCBzdHJlYW1pbmcgPSB0cnVlLCB0d29fcGhhc2UgPSB0cnVlKTsKIFdBUk5J Tkc6ICB0YWJsZXMgd2VyZSBub3Qgc3Vic2NyaWJlZCwgeW91IHdpbGwgaGF2ZSB0byBydW4gQUxU RVIgU1VCU0NSSVBUSU9OIC4uLiBSRUZSRVNIIFBVQkxJQ0FUSU9OIHRvIHN1YnNjcmliZSB0aGUg dGFibGVzCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBO YW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHQg ICAgICAgICB8IHAgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKKyAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvIHBoYXNlIGNv bW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBD b25uaW5mbyAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCB0ICAg ICAgICAgfCBwICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAg ICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdAorKDEgcm93KQorCitBTFRFUiBT VUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CitEUk9Q IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CistLSBmYWlsIC0gZGlzYWJsZV9vbl9lcnJv ciBtdXN0IGJlIGJvb2xlYW4KK0NSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENP Tk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCTElDQVRJT04gdGVzdHB1 YiBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGRpc2FibGVfb25fZXJyb3IgPSBmb28pOworRVJST1I6 ICBkaXNhYmxlX29uX2Vycm9yIHJlcXVpcmVzIGEgQm9vbGVhbiB2YWx1ZQorLS0gbm93IGl0IHdv cmtzCitDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHRlc3RwdWIgV0lUSCAoY29ubmVj dCA9IGZhbHNlLCBkaXNhYmxlX29uX2Vycm9yID0gZmFsc2UpOworV0FSTklORzogIHRhYmxlcyB3 ZXJlIG5vdCBzdWJzY3JpYmVkLCB5b3Ugd2lsbCBoYXZlIHRvIHJ1biBBTFRFUiBTVUJTQ1JJUFRJ T04gLi4uIFJFRlJFU0ggUFVCTElDQVRJT04gdG8gc3Vic2NyaWJlIHRoZSB0YWJsZXMKK1xkUnMr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1l ICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlv biB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVy cm9yIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIAor LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QKKygxIHJvdykKKworQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBTRVQgKGRpc2FibGVfb25fZXJyb3IgPSB0cnVlKTsKK1xkUnMrCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCisgICAgICBOYW1lICAgICAgIHwgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3byBwaGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgU3luY2hy b25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIAorLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBy ZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0 ZXN0cHVifSAgIHwgZiAgICAgIHwgZiAgICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IHQgICAg ICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90 ZXhpc3QKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQg KHNsb3RfbmFtZSA9IE5PTkUpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vi c2NyaXB0aW9uLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N1YnNjcmlwdGlvbi5zcWwKaW5k ZXggYmQwZjRhZi4uZGJhYzhlMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvc3Vi c2NyaXB0aW9uLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdWJzY3JpcHRpb24uc3Fs CkBAIC0yMjgsNiArMjI4LDIwIEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3Vi IENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBEUk9QIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CiAKKy0tIGZhaWwgLSBkaXNhYmxlX29uX2Vycm9y IG11c3QgYmUgYm9vbGVhbgorQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09O TkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHVi IFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgZGlzYWJsZV9vbl9lcnJvciA9IGZvbyk7CisKKy0tIG5v dyBpdCB3b3JrcworQ1JFQVRFIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElP TiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVUJMSUNBVElPTiB0ZXN0cHViIFdJVEgg KGNvbm5lY3QgPSBmYWxzZSwgZGlzYWJsZV9vbl9lcnJvciA9IGZhbHNlKTsKKworXGRScysKKwor QUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKGRpc2FibGVfb25fZXJyb3Ig PSB0cnVlKTsKKworXGRScysKK0FMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IChzbG90X25hbWUgPSBOT05FKTsKK0RST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjsK KwogUkVTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OOwogRFJPUCBST0xFIHJlZ3Jlc3Nfc3Vic2Ny aXB0aW9uX3VzZXI7CiBEUk9QIFJPTEUgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlcjI7CmRpZmYg LS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjhfZGlzYWJsZV9vbl9lcnJvci5wbCBi L3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAyOF9kaXNhYmxlX29uX2Vycm9yLnBsCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxNWRlYjMKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvdGVzdC9zdWJzY3JpcHRpb24vdC8wMjhfZGlzYWJsZV9vbl9lcnJvci5wbApAQCAtMCwwICsx LDIwMCBAQAorCisjIENvcHlyaWdodCAoYykgMjAyMS0yMDIyLCBQb3N0Z3JlU1FMIEdsb2JhbCBE ZXZlbG9wbWVudCBHcm91cAorCisjIFRlc3Qgb2YgbG9naWNhbCByZXBsaWNhdGlvbiBzdWJzY3Jp cHRpb24gc2VsZi1kaXNhYmxpbmcgZmVhdHVyZQordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsK K3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyOwordXNlIFBvc3RncmVTUUw6OlRlc3Q6OlV0 aWxzOwordXNlIFRlc3Q6Ok1vcmU7CisKKyMgV2FpdCBmb3IgdGhlIG5hbWVkIHN1YnNjcmlwdGlv bnMgdG8gY2F0Y2ggdXAgb3IgdG8gYmUgZGlzYWJsZWQuCitzdWIgd2FpdF9mb3Jfc3Vic2NyaXB0 aW9ucworeworCW15ICgkbm9kZV9uYW1lLCAkZGJuYW1lLCBAc3Vic2NyaXB0aW9ucykgPSBAXzsK KworCSMgVW5pcXVlLWlmeSB0aGUgc3Vic2NyaXB0aW9ucyBwYXNzZWQgYnkgdGhlIGNhbGxlcgor CW15ICV1bmlxdWUgICAgICAgPSBtYXAgeyAkXyA9PiAxIH0gQHN1YnNjcmlwdGlvbnM7CisJbXkg QHVuaXF1ZSAgICAgICA9IHNvcnQga2V5cyAldW5pcXVlOworCW15ICR1bmlxdWVfY291bnQgPSBz Y2FsYXIoQHVuaXF1ZSk7CisKKwkjIENvbnN0cnVjdCBhIFNRTCBsaXN0IGZyb20gdGhlIHVuaXF1 ZSBzdWJzY3JpcHRpb24gbmFtZXMKKwlteSAkc3VibGlzdCA9IGpvaW4oJywgJywgbWFwIHsgIick XyciIH0gQHVuaXF1ZSk7CisKKwlteSAkcG9sbGluZ19zcWwgPSBxcSgKKwkJU0VMRUNUIENPVU5U KDEpID0gJHVuaXF1ZV9jb3VudCBGUk9NCisJCQkoU0VMRUNUIHMub2lkCisJCQkJRlJPTSBwZ19j YXRhbG9nLnBnX3N1YnNjcmlwdGlvbiBzCisJCQkJTEVGVCBKT0lOIHBnX2NhdGFsb2cucGdfc3Vi c2NyaXB0aW9uX3JlbCBzcgorCQkJCU9OIHNyLnNyc3ViaWQgPSBzLm9pZAorCQkJCVdIRVJFIHNy LnNyc3Vic3RhdGUgSU4gKCdzJywgJ3InKQorCQkJCSAgQU5EIHMuc3VibmFtZSBJTiAoJHN1Ymxp c3QpCisJCQkJICBBTkQgcy5zdWJlbmFibGVkIElTIFRSVUUKKwkJCSBVTklPTgorCQkJIFNFTEVD VCBzLm9pZAorCQkJCUZST00gcGdfY2F0YWxvZy5wZ19zdWJzY3JpcHRpb24gcworCQkJCVdIRVJF IHMuc3VibmFtZSBJTiAoJHN1Ymxpc3QpCisJCQkJICBBTkQgcy5zdWJlbmFibGVkIElTIEZBTFNF CisJCQkpIEFTIHN5bmNlZF9vcl9kaXNhYmxlZAorCQkpOworCXJldHVybiAkbm9kZV9uYW1lLT5w b2xsX3F1ZXJ5X3VudGlsKCRkYm5hbWUsICRwb2xsaW5nX3NxbCk7Cit9CisKK215IEBzY2hlbWFz ID0gcXcoczEgczIpOworbXkgKCRzY2hlbWEsICRjbWQpOworCitteSAkbm9kZV9wdWJsaXNoZXIg PSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3B1Ymxpc2hlcicpOworJG5vZGVfcHVi bGlzaGVyLT5pbml0KGFsbG93c19zdHJlYW1pbmcgPT4gJ2xvZ2ljYWwnKTsKKyRub2RlX3B1Ymxp c2hlci0+c3RhcnQ7CisKK215ICRub2RlX3N1YnNjcmliZXIgPSBQb3N0Z3JlU1FMOjpUZXN0OjpD bHVzdGVyLT5uZXcoJ3N1YnNjcmliZXInKTsKKyRub2RlX3N1YnNjcmliZXItPmluaXQ7Ciskbm9k ZV9zdWJzY3JpYmVyLT5zdGFydDsKKworIyBDcmVhdGUgaWRlbnRpY2FsIHNjaGVtYSwgdGFibGUg YW5kIGluZGV4IG9uIGJvdGggdGhlIHB1Ymxpc2hlciBhbmQKKyMgc3Vic2NyaWJlcgorZm9yICRz Y2hlbWEgKEBzY2hlbWFzKQoreworCSRjbWQgPSBxcSgKK0NSRUFURSBTQ0hFTUEgJHNjaGVtYTsK K0NSRUFURSBUQUJMRSAkc2NoZW1hLnRibCAoaSBJTlQpOworQUxURVIgVEFCTEUgJHNjaGVtYS50 YmwgUkVQTElDQSBJREVOVElUWSBGVUxMOworQ1JFQVRFIElOREVYICR7c2NoZW1hfV90YmxfaWR4 IE9OICRzY2hlbWEudGJsKGkpKTsKKwkkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAkY21kKTsKKwkkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGNt ZCk7Cit9CisKKyMgQ3JlYXRlIG5vbi11bmlxdWUgZGF0YSBpbiBib3RoIHNjaGVtYXMgb24gdGhl IHB1Ymxpc2hlci4KK2ZvciAkc2NoZW1hIChAc2NoZW1hcykKK3sKKwkkY21kID0gcXEoSU5TRVJU IElOVE8gJHNjaGVtYS50YmwgKGkpIFZBTFVFUyAoMSksICgxKSwgKDEpKTsKKwkkbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKTsKK30KKworIyBDcmVhdGUgYW4gYWRk aXRpb25hbCB1bmlxdWUgaW5kZXggaW4gc2NoZW1hIHMxIG9uIHRoZSBzdWJzY3JpYmVyIG9ubHku CisjIFRoZW4sIHdlJ2xsIHNldCB1cCAyIHBhaXJzIG9mIHB1Yi9zdWIsIHdob3NlIG5hbWVzIGFy ZSBzYW1lIGFzIHNjaGVtYXMuCisjIFB1Ymxpc2hlciAiczEiIC0tPiBTdWJzY3JpYmVyICJzMSIK KyMgUHVibGlzaGVyICJzMiIgLS0+IFN1YnNjcmliZXIgInMyIgorIyBUaGlzIHNob3VsZCBjYXVz ZSBzdWJzY3JpcHRpb24gInMxIiBvbiB0aGUgc3Vic2NyaWJlciB0byBmYWlsIGR1cmluZworIyBp bml0aWFsIHN5bmNocm9uaXphdGlvbiBhbmQgdG8gZ2V0IGF1dG9tYXRpY2FsbHkgZGlzYWJsZWQu CiskY21kID0gcXEoQ1JFQVRFIFVOSVFVRSBJTkRFWCBzMV90YmxfdW5pcXVlIE9OIHMxLnRibCAo aSkpOworJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICRjbWQpOworCisj IENyZWF0ZSBwdWJsaWNhdGlvbnMgYW5kIHN1YnNjcmlwdGlvbnMgbGlua2luZyB0aGUgc2NoZW1h cyBvbgorIyB0aGUgcHVibGlzaGVyIHdpdGggdGhvc2Ugb24gdGhlIHN1YnNjcmliZXIuICBUaGlz IHRlc3RzIHRoYXQgdGhlCisjIHVuaXF1ZW5lc3MgdmlvbGF0aW9ucyBjYXVzZSBzdWJzY3JpcHRp b24gInMxIiB0byBmYWlsIGR1cmluZworIyBpbml0aWFsIHN5bmNocm9uaXphdGlvbi4KK215ICRw dWJsaXNoZXJfY29ubnN0ciA9ICRub2RlX3B1Ymxpc2hlci0+Y29ubnN0ciAuICcgZGJuYW1lPXBv c3RncmVzJzsKK2ZvciAkc2NoZW1hIChAc2NoZW1hcykKK3sKKwkjIENyZWF0ZSB0aGUgcHVibGlj YXRpb24gZm9yIHRoaXMgdGFibGUKKwkkY21kID0gcXEoCitDUkVBVEUgUFVCTElDQVRJT04gJHNj aGVtYSBGT1IgVEFCTEUgJHNjaGVtYS50YmwpOworCSRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsICRjbWQpOworCisJIyBDcmVhdGUgdGhlIHN1YnNjcmlwdGlvbiBmb3IgdGhp cyB0YWJsZQorCSRjbWQgPSBxcSgKK0NSRUFURSBTVUJTQ1JJUFRJT04gJHNjaGVtYQorCUNPTk5F Q1RJT04gJyRwdWJsaXNoZXJfY29ubnN0cicKKwlQVUJMSUNBVElPTiAkc2NoZW1hCisJV0lUSCAo ZGlzYWJsZV9vbl9lcnJvciA9IHRydWUpKTsKKwkkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwo J3Bvc3RncmVzJywgJGNtZCk7Cit9CisKKyMgV2FpdCBmb3IgdGhlIGluaXRpYWwgc3Vic2NyaXB0 aW9uIHN5bmNocm9uaXphdGlvbnMgdG8gZmluaXNoIG9yIGZhaWwuCit3YWl0X2Zvcl9zdWJzY3Jp cHRpb25zKCRub2RlX3N1YnNjcmliZXIsICdwb3N0Z3JlcycsIEBzY2hlbWFzKQorICBvciBkaWUg IlRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciBzdWJzY3JpYmVyIHRvIHN5bmNocm9uaXplIGRh dGEiOworCisjIFN1YnNjcmlwdGlvbiAiczEiIHNob3VsZCBoYXZlIGRpc2FibGVkIGl0c2VsZiBk dWUgdG8gZXJyb3IuCiskY21kID0gcXEoCitTRUxFQ1Qgc3ViZW5hYmxlZCBGUk9NIHBnX2NhdGFs b2cucGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAnczEnKTsKK2lzKCRub2RlX3N1YnNj cmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKSwKKwkiZiIsICJzdWJzY3JpcHRpb24g czEgbm8gbG9uZ2VyIGVuYWJsZWQiKTsKKworIyBTdWJzY3JpcHRpb24gInMyIiBzaG91bGQgaGF2 ZSBjb3BpZWQgdGhlIGluaXRpYWwgZGF0YSB3aXRob3V0IGluY2lkZW50LgorJGNtZCA9IHFxKAor U0VMRUNUIHN1YmVuYWJsZWQgRlJPTSBwZ19jYXRhbG9nLnBnX3N1YnNjcmlwdGlvbiBXSEVSRSBz dWJuYW1lID0gJ3MyJyk7Citpcygkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgJGNtZCksCisJInQiLCAic3Vic2NyaXB0aW9uIHMyIHN0aWxsIGVuYWJsZWQiKTsKKyRjbWQg PSBxcShTRUxFQ1QgaSwgQ09VTlQoKikgRlJPTSBzMi50YmwgR1JPVVAgQlkgaSk7Citpcygkbm9k ZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGNtZCksCisJIjF8MyIsICJzdWJz Y3JpcHRpb24gczIgcmVwbGljYXRlZCBpbml0aWFsIGRhdGEiKTsKKworIyBFbnRlciB1bmlxdWUg ZGF0YSBmb3IgYm90aCBzY2hlbWFzIG9uIHRoZSBwdWJsaXNoZXIuICBUaGlzIHNob3VsZCBzdWNj ZWVkIG9uCisjIHRoZSBwdWJsaXNoZXIgbm9kZSwgYW5kIG5vdCBjYXVzZSBhbnkgYWRkaXRpb25h bCBwcm9ibGVtcyBvbiB0aGUgc3Vic2NyaWJlcgorIyBzaWRlIGVpdGhlciwgdGhvdWdoIGRpc2Fi bGVkIHN1YnNjcmlwdGlvbiAiczEiIHNob3VsZCBub3QgcmVwbGljYXRlIGFueXRoaW5nLgorZm9y ICRzY2hlbWEgKEBzY2hlbWFzKQoreworCSRjbWQgPSBxcShJTlNFUlQgSU5UTyAkc2NoZW1hLnRi bCAoaSkgVkFMVUVTICgyKSk7CisJJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgJGNtZCk7Cit9CisKKyMgV2FpdCBmb3IgdGhlIGRhdGEgdG8gcmVwbGljYXRlIGZvciB0aGUg c3Vic2NyaXB0aW9ucy4gIFRoaXMgdGVzdHMgdGhhdCB0aGUKKyMgcHJvYmxlbXMgZW5jb3VudGVy ZWQgYnkgc3Vic2NyaXB0aW9uICJzMSIgZG8gbm90IGNhdXNlIHN1YnNjcmlwdGlvbiAiczIiIHRv CisjIGdldCBzdHVjay4gU3Vic2NyaXB0aW9uICJzMSIgc2hvdWxkIHN0aWxsIGJlIGRpc2FibGVk LgorJGNtZCA9IHFxKAorU0VMRUNUIHN1YmVuYWJsZWQgRlJPTSBwZ19jYXRhbG9nLnBnX3N1YnNj cmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3MxJyk7Citpcygkbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywgJGNtZCksCisJImYiLCAic3Vic2NyaXB0aW9uIHMxIHN0aWxsIGRp c2FibGVkIik7CisKKyMgU3Vic2NyaXB0aW9uICJzMiIgc2hvdWxkIHN0aWxsIGJlIGVuYWJsZWQg YW5kIGhhdmUgcmVwbGljYXRlZCBhbGwgY2hhbmdlcworJGNtZCA9IHFxKAorU0VMRUNUIHN1YmVu YWJsZWQgRlJPTSBwZ19jYXRhbG9nLnBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3My Jyk7Citpcygkbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGNtZCksCisJ InQiLCAic3Vic2NyaXB0aW9uIHMyIHN0aWxsIGVuYWJsZWQiKTsKKyRjbWQgPSBxKFNFTEVDVCBD T1VOVCgxKSA9IDEgRlJPTSBzMi50YmwgV0hFUkUgaSA9IDIpOworJG5vZGVfc3Vic2NyaWJlci0+ cG9sbF9xdWVyeV91bnRpbCgncG9zdGdyZXMnLCAkY21kKQorICBvciBkaWUgIlRpbWVkIG91dCB3 aGlsZSB3YWl0aW5nIGZvciBzdWJzY3JpYmVyIHRvIGFwcGx5IGRhdGEiOworCisjIERyb3AgdGhl IHVuaXF1ZSBpbmRleCBvbiAiczEiIHdoaWNoIGNhdXNlZCB0aGUgc3Vic2NyaXB0aW9uIHRvIGJl IGRpc2FibGVkCiskY21kID0gcXEoRFJPUCBJTkRFWCBzMS5zMV90YmxfdW5pcXVlKTsKKyRub2Rl X3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKTsKKworIyBSZS1lbmFibGUg dGhlIHN1YnNjcmlwdGlvbiAiczEiCiskY21kID0gcShBTFRFUiBTVUJTQ1JJUFRJT04gczEgRU5B QkxFKTsKKyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKTsKKwor IyBXYWl0IGZvciB0aGUgZGF0YSB0byByZXBsaWNhdGUKK3dhaXRfZm9yX3N1YnNjcmlwdGlvbnMo JG5vZGVfc3Vic2NyaWJlciwgJ3Bvc3RncmVzJywgQHNjaGVtYXMpCisgIG9yIGRpZSAiVGltZWQg b3V0IHdoaWxlIHdhaXRpbmcgZm9yIHN1YnNjcmliZXIgdG8gc3luY2hyb25pemUgZGF0YSI7CisK KyMgQ2hlY2sgdGhhdCB3ZSBoYXZlIHRoZSBuZXcgZGF0YSBpbiBzMS50YmwKKyRjbWQgPSBxKFNF TEVDVCBNQVgoaSksIENPVU5UKCopIEZST00gczEudGJsKTsKK2lzKCRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKSwKKwkiMnw0IiwgInN1YnNjcmlwdGlvbiBzMSBy ZXBsaWNhdGVkIGRhdGEiKTsKKworIyBEZWxldGUgdGhlIGRhdGEgZnJvbSB0aGUgc3Vic2NyaWJl ciBvbmx5LCBhbmQgcmVjcmVhdGUgdGhlIHVuaXF1ZSBpbmRleAorJGNtZCA9IHEoCitERUxFVEUg RlJPTSBzMS50Ymw7CitDUkVBVEUgVU5JUVVFIElOREVYIHMxX3RibF91bmlxdWUgT04gczEudGJs IChpKSk7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGNtZCk7CisK KyMgQWRkIG1vcmUgbm9uLXVuaXF1ZSBkYXRhIHRvIHRoZSBwdWJsaXNoZXIKK2ZvciAkc2NoZW1h IChAc2NoZW1hcykKK3sKKwkkY21kID0gcXEoSU5TRVJUIElOVE8gJHNjaGVtYS50YmwgKGkpIFZB TFVFUyAoMyksICgzKSwgKDMpKTsKKwkkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAkY21kKTsKK30KKworIyBXYWl0IGZvciB0aGUgZGF0YSB0byByZXBsaWNhdGUgZm9yIHRo ZSBzdWJzY3JpcHRpb25zLiAgVGhpcyB0ZXN0cyB0aGF0CisjIHVuaXF1ZW5lc3MgdmlvbGF0aW9u cyBlbmNvdW50ZXJlZCBkdXJpbmcgcmVwbGljYXRpb24gY2F1c2UgczEgdG8gYmUgZGlzYWJsZWQu CiskY21kID0gcXEoCitTRUxFQ1QgY291bnQoMSkgPSAxIEZST00gcGdfY2F0YWxvZy5wZ19zdWJz Y3JpcHRpb24gcworV0hFUkUgcy5zdWJuYW1lID0gJ3MxJyBBTkQgcy5zdWJlbmFibGVkIElTIEZB TFNFCispOworJG5vZGVfc3Vic2NyaWJlci0+cG9sbF9xdWVyeV91bnRpbCgncG9zdGdyZXMnLCAk Y21kKQorICBvciBkaWUgIlRpbWVkIG91dCB3aGlsZSB3YWl0aW5nIGZvciBzdWJzY3JpcHRpb24g czEgdG8gYmUgZGlzYWJsZWQiOworCisjIFN1YnNjcmlwdGlvbiAiczIiIHNob3VsZCBoYXZlIGNv cGllZCB0aGUgaW5pdGlhbCBkYXRhIHdpdGhvdXQgaW5jaWRlbnQuCiskY21kID0gcXEoCitTRUxF Q1Qgc3ViZW5hYmxlZCBGUk9NIHBnX2NhdGFsb2cucGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5h bWUgPSAnczInKTsKK2lzKCRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAk Y21kKSwKKwkidCIsICJzdWJzY3JpcHRpb24gczIgc3RpbGwgZW5hYmxlZCIpOworJGNtZCA9IHFx KFNFTEVDVCBNQVgoaSksIENPVU5UKCopIEZST00gczIudGJsKTsKK2lzKCRub2RlX3N1YnNjcmli ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAkY21kKSwKKwkiM3w3IiwgInN1YnNjcmlwdGlvbiBz MiByZXBsaWNhdGVkIGFkZGl0aW9uYWwgZGF0YSIpOworCiskbm9kZV9zdWJzY3JpYmVyLT5zdG9w OworJG5vZGVfcHVibGlzaGVyLT5zdG9wOworCitkb25lX3Rlc3RpbmcoKTsKLS0gCjEuOC4zLjEK Cg== --_002_TYCPR01MB8373C507735DA618084258F0ED3B9TYCPR01MB8373jpnp_--