From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5FC21F531D6 for ; Mon, 13 Apr 2026 21:17:24 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0D22910E16E; Mon, 13 Apr 2026 21:17:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="MiwuzrKN"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.14]) by gabe.freedesktop.org (Postfix) with ESMTPS id 766AE10E16E for ; Mon, 13 Apr 2026 21:17:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1776115033; x=1807651033; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=he/P1uUbIhm4aEs59oAUDD2ngHbX5/UTvDgxMFVz538=; b=MiwuzrKNpwDuyZ4/7CtzlnzCuXSIEBpoTD1gDcJrHtDooUMEwfM2N/d9 v0jBQo50jqF1BXDqB1I7gzJcJKdO0jkdjm15C/GsSMgcXie7vwvUVNPxG 2adBOQhlnitFPymg7E0D8xj5AkRPBfFRpxebNAFclYaPqsf4/7aKkqEp2 c8u0ezxL3wyHRvhYYq4s0DdJUkkMf8vggbPKRAiJsKhEl/KbJpikC/NSG BlBkS2Rweu1TEwc4dlCZW1rU5OdkNtvQzJA8tVzfVZXEjbidvFhzdfsHH reJYbWkIjluFnXThKRdJIO9xilu0BgrjPn9vH96vZAkocH26X1Llapmku w==; X-CSE-ConnectionGUID: BMd4K80MSF6PR12QN8ErpA== X-CSE-MsgGUID: vn0YaxQPTkuYn5RnXb4Dlw== X-IronPort-AV: E=McAfee;i="6800,10657,11758"; a="77129929" X-IronPort-AV: E=Sophos;i="6.23,178,1770624000"; d="scan'208";a="77129929" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa108.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2026 14:17:09 -0700 X-CSE-ConnectionGUID: Cd2VZ+wRSLmB/4NZbPp+Sw== X-CSE-MsgGUID: 8OaK5VdaTHyGG6n3l/ixjA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,178,1770624000"; d="scan'208";a="230139763" Received: from fmsmsx901.amr.corp.intel.com ([10.18.126.90]) by orviesa007.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2026 14:17:10 -0700 Received: from FMSMSX901.amr.corp.intel.com (10.18.126.90) by fmsmsx901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 13 Apr 2026 14:17:08 -0700 Received: from fmsedg902.ED.cps.intel.com (10.1.192.144) by FMSMSX901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Mon, 13 Apr 2026 14:17:08 -0700 Received: from SN4PR0501CU005.outbound.protection.outlook.com (40.93.194.17) by edgegateway.intel.com (192.55.55.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Mon, 13 Apr 2026 14:17:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KNmDCVlkvmAL50EG9eyiJEHaz+FNMnSCqiMJaK8uTQZPfldnzoLplPbsS5kFckHpMhimyevCHBRhRtpww5hnHrNdsFdr9RShKExAcpltiUQj0gbWylgbqtlycPQsPZC98zZVPNiLnGDTLR6L7bsx93oD/a6RJokisxPYbwRDkQn+5nxSAVkDaQiARn9Eq0ojhyStaxUlRjAqJHmUSLsjqNsxVaw5NyTabsdstsb/hdqlAa4oyzbfOJU5OL2id3ywAnanY/Mc8HGlY6TTuattyOcxDwrUUPZ5I0geL+k6RrB0b+Q2w1skJSP/5MYlWK8uAH+g/IiT2QtzQG8hKD/o9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=he/P1uUbIhm4aEs59oAUDD2ngHbX5/UTvDgxMFVz538=; b=Q4XC2YYzptiQjdDAhagwwPKhkZFO1WogoHI71YOIKMsiGwDyRZfXhbYAajM5BOqSyeajUTE8gegANaQzos+6XrtrJznr9QiTqiUAl1M3s8Ief4Ipt2j0S3f+17HzRvQzNIg6e4RX2qcmmyA3RUVDZLksZ0/7bEG/VGp945vP4Op5VAjczmHjDDvwooBF7GpZUdkOxH0S3XXyTXxHZuCtwwXpjOuzlnR7xO71LymsjEgFVVfECGPzm2pDdJoLFUq3cdpSKxAIk6KyZeCO8UmXJkCb40cte6U7jLyqyhDaMlGdWkLDjjEJOzCFf8inQw8jMfoW5mFpYnDf0eBtyYmZ9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM8PR11MB5573.namprd11.prod.outlook.com (2603:10b6:8:3b::7) by IA4PR11MB9083.namprd11.prod.outlook.com (2603:10b6:208:569::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.15; Mon, 13 Apr 2026 21:17:02 +0000 Received: from DM8PR11MB5573.namprd11.prod.outlook.com ([fe80::6a14:6aa3:4339:4415]) by DM8PR11MB5573.namprd11.prod.outlook.com ([fe80::6a14:6aa3:4339:4415%5]) with mapi id 15.20.9818.017; Mon, 13 Apr 2026 21:17:02 +0000 From: "Summers, Stuart" To: "Vishwanathapura, Niranjana" CC: "apoorva.singh@intel.com" , "igt-dev@lists.freedesktop.org" , "Charles, Daniel" , "Yang, Fei" , "Piecielska, Katarzyna" , "Dandamudi, Priyanka" , "kamil.konieczny@linux.intel.com" Subject: Re: [PATCH i-g-t 3/3] tests/intel/xe_exec_reset: Add multi queue subtests Thread-Topic: [PATCH i-g-t 3/3] tests/intel/xe_exec_reset: Add multi queue subtests Thread-Index: AQHcyGCoU/ECifHnYUCqFnpEzTInXrXcSzkAgAE1UgCAAARnAA== Date: Mon, 13 Apr 2026 21:17:01 +0000 Message-ID: <3f06bb33c2607037e59448731c0aa68326e93497.camel@intel.com> References: <20260409203702.4350-1-stuart.summers@intel.com> <20260409203702.4350-4-stuart.summers@intel.com> <0970a855e0768365a26a5f2c234ecf5eb8ede2b1.camel@intel.com> In-Reply-To: <0970a855e0768365a26a5f2c234ecf5eb8ede2b1.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu2 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8PR11MB5573:EE_|IA4PR11MB9083:EE_ x-ms-office365-filtering-correlation-id: f5090421-2106-47b3-6f86-08de99a20164 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700021|56012099003|18002099003|22082099003; x-microsoft-antispam-message-info: MZH4j7JRkLrudjI985Drdat+HR/0FJT96JVniC0dz5Tr+oSH++GkGo7JbAFTj3uRM9EZ1iOY1qNpUd+hCVLpb8IpBbYBmd3fyHcLCwGLi3RbrvzZ6uiyDOotjaWl+X50DvclcIo7+BrYThh4jjd4uVM7/+zuDE7wTUL2ARa1Qo8hDj5CSJHwVe6N/aVBQchVUD8q+5Ff4nQYpMYWqHrZ1sIQfLGNVXWnFA5f9V17s6SH6UfQWfk+Ez4LqZRyC0aCXCs09KBKj91TDH3rF46voizjZy6hlCFZjtnrNywBG2XzADtIH2YAVQv6KawmdgfCt1bcoDewMyvNKpKbdXNfAGXrl4yJczKV2sbxOKrayBhotCdJXg3N0fl05GSKoszKPLR9bpnkLAsnQDFjl73jdlKH+xPU8E8buvVvxiZOG8uOsqlz37d/RLRf5PgByTGC+q+s7KDNpRWLAd+8e7dDEX/zlSN+/HGB6c6HLNVV5M8ZsoXTv0QYrfkI1aQN6TJyRVT5J4M7lSrFuOKTPbDgGiZNc7DnSIE+zU9UJsP3lx/Wt/CPEq2x71cZacsnrezoegT90Ms2Ui5PFtg3CGFA1gqzG5FrPSebMZiwMBpRzfaQ7UXi5s2vae+Cg1XqJhr4tFDlj8wvRRydTZA8p8OR+ULyb6y7MbSOx8c/LfaXtlxkmRkMw2nxyIL1ghyfpao1Jru8KLOBUReF2MmVgcoTZIy5srPQXLanUyPxuzEnwoqngfddWduL7ARcDUpvbYe1NFYZXBX0mgj4LQzK73gwN0O7fgEAIdvg3fh2HzolYrM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5573.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(38070700021)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZnQvNk5UQW9mYis1OUErck1KYU9mK1ZyYTVpYkk0STRkbWhwV3Z5UVZVOW5J?= =?utf-8?B?WEZyZU9sVUQ0N2xwUkhRL2FCMFhwelltYzhyai9Ob3NBRnZ4YkdMMXlXWkVQ?= =?utf-8?B?MFBlRkptdkNFbFJVRTc3TDNubGo3SU5TbGVEZStNcC9qYjFtYWdZdE9kNWNP?= =?utf-8?B?ZjVUeThSQ2RuYk5YbWNHenpTVkxIZEdpQTE0eG8wYWMzK2czNEFUbWNsUkhk?= =?utf-8?B?OU0rcVRlWUhhaUpkczNOcWVQcVptVFFCcW5sblIzMGsxMTdTUG9pc20rQmlH?= =?utf-8?B?MzlnVm5EQzlhak96NzMzTjRrdUxuVnFiL1MzNktKaE90ZHJGc3JlbDJpVTZ1?= =?utf-8?B?Ylo5NXE0N0R5R21NMTFwYUM5Q2Z6d2lNdzlUaUxxVWVucGhpcThXckhJQkdH?= =?utf-8?B?TFZYTW1iV1BDUS9aZHMrSnVpK21MNlZzdURJMU85QWNXTkVWRVRZSzFaaXpM?= =?utf-8?B?blQwcEExaUxKK0ZEcXRSVnJIbVZ3SkVjcFNzaDVnTVd4Y3MvVHYyMUxmbHIr?= =?utf-8?B?RW41M2kvZEU1YUFiTDY3TXFEZ243NWJmblJCY01TQ3hTaTU2K3JjdzFBWnpw?= =?utf-8?B?cDJUTk0zaXcyeDk3T0NqaTFlanNiWWNQOTFCOVdpY1MrQ2pOdGxoUkRSb3BJ?= =?utf-8?B?UVhqdWZkMU1HdWJLSi82dkpzblAxOHhPNThQZDE1OHJock1tTXhudVVpNnpE?= =?utf-8?B?dXIxbDJGQ3hyRGc2T3BzMGtDSUhOemlGUFFpUy80bE5uMndMekpUZmJwNnQy?= =?utf-8?B?N1d4eTdUSTAza2J2bEp5Uk1YcnE3WjVtTWFHci9uM1JrRzVhM3ZJVFlRUnhU?= =?utf-8?B?eUNvMDlPQzlJdWJ2Nll2eFJab2JNLzdRSXZFT2R5N3dQKy8rK09jRkNYaElO?= =?utf-8?B?OE1FQVhIbGpUcndwNXo5aVJESHJ0NDA3alBhNk9xNkY4T0daU3V5cjZEMURO?= =?utf-8?B?YVFMN25IY0RnWitTTFR3cVJTS2txeVZ4YUNXenhCNW9yY2piMUlGVUJ1cUdP?= =?utf-8?B?KzNpWWVhVWJiM09OMmRySlJ5TlA1WTlZM2VVRWZvZ0JINktaMFg3b21oeWNX?= =?utf-8?B?VVh4NjNjSVpTQVo5cWVFQjZlbkhqdHkvSHhDOS8rcTZxZG1CR254N3dNZmtC?= =?utf-8?B?VVcrcU5HZXBDVGhPRG04MzNlbmhWc1J2YXJmRFlnYkNxbFhEYUM1U3A2d3Jr?= =?utf-8?B?VzQyT1RMR2hjVG53TWhsdnZsL0hGTnhlalVQblgvQTRSb0VGbllXeVVpZFR6?= =?utf-8?B?L0Q1N2tsdHRYcERRVU5OaTBkMlNOM01vckpRMkxucHJkeXBWZ3VhY1hhTHl3?= =?utf-8?B?dnJSSTNzSHkxWXZPWFp2K0tCdi9oc2htMjlieU9ESC84WG1wazl1bkV6ejkr?= =?utf-8?B?QWw0RzZ2M04rWDB5UytpVVhXcU12R2IwVmdSb01Sd016VW5TdU1oQjdkaWh4?= =?utf-8?B?MDhia0hPb01yRkF6MzhUNWd6SGFqaDdqNkxRNTFnYjIxOUxicWRrNnR0cEsr?= =?utf-8?B?TncvVC92TTVGeWl4MTNaVGJ5UWxlOFFzUENIMnhFaWJkQ2tueE00MU4xQmw0?= =?utf-8?B?TVJEZUVId1FjMTJhT2VHQit6WEtBZ2J2dStieUNJZklkRENMQnhOYmRKTThY?= =?utf-8?B?dGtqSi9YM0lZbGZIeGZMQ2dFSDdTcEI3aWF3MUZlOUMwc0JscWptSFg1UzRm?= =?utf-8?B?RVVSWkl0c2RyN2pxbjJua1NHdzVYREdpUE0xWDAvMkppL1VUVDhxNVlmdFNM?= =?utf-8?B?YlVIeFE3T003TTV5V1NaVXIxSjYvTW0vUm9Za3J1MGFHTXVlTXEwSWFRajRx?= =?utf-8?B?NTRHZW9GRWczRitOT1AvYTdNSHBLeXBVV2F0RjgxY3Z6Yy92RTZoNUJkd1Vo?= =?utf-8?B?NXhyd3hZZFNpQlRZNk1nZGlDTjF0blBzZDZITm5xdFVReFdEUmVVVjllWmZz?= =?utf-8?B?V3Nla1JZd1JldkhySTZnYUdDSWc1a3RXVXRkUFEvazB2bHR6Zk02RDJUaEFw?= =?utf-8?B?MVR0VlZaY2N4UjVJWGs5WnhLSld1aU1WL29meEFWWk5iYUZsZ2w3ZnFGYlEv?= =?utf-8?B?aldxWFdodFNEaFgzNXovTjRjekttWXZzdENEK3Q1azFYL1I3b2llRExRSHE2?= =?utf-8?B?VUN3dHFkM3A0VkZQc2RZeFBQVlFPK0xSR295aUs5bmdCb0Rxc3cwa3l6dXM1?= =?utf-8?B?a3Q2NThzNWdSZUlQV3hlYkF3SlZYTDhYRHdOME9WcDJHd2VDdWppbVlaeXdo?= =?utf-8?B?eDhDOUZKOUovN1BlN1RTTUFBUnZ5NklaOUpyNGdkOHQ1UFBaYUtRMGY4S2R3?= =?utf-8?B?ZEYvQnJCbDhEVVp3WTBhTE9VU29YZmo4MWNVdFdZM3VEbHVDSE5sQVljQ054?= =?utf-8?Q?sy5Jou2yo+8u6n7I=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <4311462EF0E99C41A4F6ED99E3302ADB@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: vmZZxlolWXZ7VdYgj2qtZhhchH/vAo/gF2zoLgXvbVz6mYJbDqAP1SuhL/QA44IydOvySEcQiWQoNENLqHJiBXhS1+xXyk+ARTSQJn0WQ5SDgFnqyptekdjzTCOwp9my1aYqCeQ+KzeXcIOIWpWomvXk/u7c5ufH9RUOWrrU0xTkR10luSYH+zhnsycuRP3LOg0kHYaP2iPcPjSjFiQQ7cDpSgdaaaXnMjDFa3DSfnH6ObXggSPZHtMgQh3sG53rjG963xYM4kByqQbaPIa9YieWGphuHjjRAQVMEdjJogwuCC3TSLsK6QgnV6t0//TbkrxowS9asfc7RviU8kyecw== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5573.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5090421-2106-47b3-6f86-08de99a20164 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2026 21:17:01.9730 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rkrQbTFDAb191wRQx8jqMG97Z39moDayJAAWcRdm8EpB5+kgO4a7E7cR8yVZswhAiv//8zlLbK/cY+8Bs+Up685zMNOxPfxRYIPV4uL4g5A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA4PR11MB9083 X-OriginatorOrg: intel.com X-BeenThere: igt-dev@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development mailing list for IGT GPU Tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" T24gTW9uLCAyMDI2LTA0LTEzIGF0IDIxOjAxICswMDAwLCBTdW1tZXJzLCBTdHVhcnQgd3JvdGU6 Cj4gT24gU3VuLCAyMDI2LTA0LTEyIGF0IDE5OjM0IC0wNzAwLCBOaXJhbmphbmEgVmlzaHdhbmF0 aGFwdXJhIHdyb3RlOgo+ID4gT24gVGh1LCBBcHIgMDksIDIwMjYgYXQgMDg6Mzc6MDFQTSArMDAw MCwgU3R1YXJ0IFN1bW1lcnMgd3JvdGU6Cj4gPiA+IEZyb206IEFwb29ydmEgU2luZ2ggPGFwb29y dmEuc2luZ2hAaW50ZWwuY29tPgo+ID4gPiAKPiA+ID4gRXh0ZW5kIHRoZSBleGlzdGluZyB0ZXN0 IGNhc2VzIGluIHRlc3RzL2ludGVsL3hlX2V4ZWNfcmVzZXQuYwo+ID4gPiB0byBpbmNsdWRlIHRl c3Rpbmcgb2YgcmVzZXQgZmxvd3MgZm9yIGJvdGggcHJpbWFyeSBxdWV1ZQo+ID4gPiBhbmQgc2Vj b25kYXJ5IHF1ZXVlcy4KPiA+ID4gCj4gPiA+IEVuZ2luZSByZXNldHMgd2l0aG91dCBDQVQgZmF1 bHRzIGFyZSB0cmlnZ2VyZWQgdmlhIHRoZSAqLWNhbmNlbAo+ID4gPiBjYXNlcy4gVGhlc2UgZG9u J3QgaW5jbHVkZSB0aGUgQ0FOQ0VMIGZsYWcgYXMgdGhpcyBjYXVzZXMgYQo+ID4gPiBzcGlubmVy Cj4gPiA+IG9uIGVhY2ggcXVldWUgd2hpY2ggaXNuJ3QgYWRkaW5nIGFueSBleHRyYSBjb3ZlcmFn ZSBmb3IgbXVsdGkKPiA+ID4gcXVldWUKPiA+ID4gb3ZlciBub24gbXVsdGkgcXVldWUuCj4gPiA+ IAo+ID4gPiBTaW5jZSB0aGUgKi1jYW5jZWwgY2FzZXMgYXJlIGN1cnJlbnRseSBpbXBsZW1lbnRl ZCBvbmx5IGZvciB0aGUKPiA+ID4gbGVnYWN5IGNhc2VzLCBkbyB0aGUgc2FtZSBmb3IgbXVsdGkg cXVldWUuCj4gPiA+IAo+ID4gPiBOZXcgTVVMVElfUVVFVUUgYW5kIFNFQ09OREFSWV9RVUVVRSBm bGFncyBhcmUgYWRkZWQgdG8gY292ZXIKPiA+ID4gdGhlIGdlbmVyYWwgbXVsdGkgcXVldWUgY2Fz ZXMgYW5kIHRoZSBjYXNlcyB3aGVyZSB3ZSBhcmUKPiA+ID4gdHJpZ2dlcmluZwo+ID4gPiBlbmdp bmUgcmVzZXRzIGFuZC9vciBjYXQgZmF1bHRzIG9uIHNlY29uZGFyeSBxdWV1ZXMgc3BlY2lmaWNh bGx5Lgo+ID4gPiAKPiA+ID4gTm90ZSBmb3IgbXVsdGkgcXVldWUgaXQgaXMgaW50ZXJlc3Rpbmcg dG8gdGVzdCB0aGVzZSBzZWNvbmRhcnkKPiA+ID4gcXVldWUgcmVzZXQgc2NlbmFyaW9zIHNpbmNl IHRoZXNlIGFyZSBjb21tdW5pY2F0ZWQgdG8gdGhlIGRyaXZlcgo+ID4gPiBmcm9tIEd1QyB2aWEg dGhlIHByaW1hcnkgcXVldWUgYW5kIGFmdGVyIHRoaXMsIHRoZSBlbnRpcmUgcXVldWUKPiA+ID4g Z3JvdXAgaXMgdG9ybiBkb3duLiBUaGUgdGVzdCBjYXNlcyBoZXJlIGFyZSB0byBlbnN1cmUgbm90 aGluZwo+ID4gPiBicmVha3Mgd2hlbiB3ZSBoaXQgYSBzY2VuYXJpbyBsaWtlIHRoaXMuCj4gPiA+ IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBcG9vcnZhIFNpbmdoIDxhcG9vcnZhLnNpbmdoQGludGVs LmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogRmVpIFlhbmcgPGZlaS55YW5nQGludGVsLmNvbT4K PiA+ID4gU2lnbmVkLW9mZi1ieTogS2F0YXJ6eW5hIFBpZWNpZWxza2EKPiA+ID4gPGthdGFyenlu YS5waWVjaWVsc2thQGludGVsLmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogUHJpeWFua2EgRGFu ZGFtdWRpIDxwcml5YW5rYS5kYW5kYW11ZGlAaW50ZWwuY29tPgo+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBEYW5pZWwgQ2hhcmxlcyA8ZGFuaWVsLmNoYXJsZXNAaW50ZWwuY29tPgo+ID4gPiBTaWduZWQt b2ZmLWJ5OiBLYW1pbCBLb25pZWN6bnkgPGthbWlsLmtvbmllY3pueUBsaW51eC5pbnRlbC5jb20+ Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IFN0dWFydCBTdW1tZXJzIDxzdHVhcnQuc3VtbWVyc0BpbnRl bC5jb20+Cj4gPiAKPiA+IEFsc28gZW5zdXJlIHRvIGluY2x1ZGUgb25seSB2YWxpZCBlbWFpbCBp ZHMgaGVyZSBmb3Igcy1vLWIuCj4gCj4gU3VyZSBJJ2xsIHJlbW92ZSB0aGUgb25lcyB0aGF0IGFy ZW4ndCBhdmFpbGFibGUuCgpIZXkgc29ycnkgSSB0aGluayBBcG9vcnZhIGlzIHRoZSBtYWluIG9u ZSB3aG8gZG9lc24ndCBoYXZlIHRoZSBlbWFpbApoZXJlIGFueSBtb3JlLiBCdXQgc2hlIHdhcyBh bHNvIG9uZSBvZiB0aGUgb3JpZ2luYWwgYXV0aG9ycyBoZXJlIChldmVuCmlmIHRoZXJlIGFyZSBx dWl0ZSBhIGZldyBjaGFuZ2VzIHNpbmNlIHRoZW4pIGFuZCBJIHdhbnRlZCB0byBrZWVwIHRoZQpo aXN0b3J5LiBJJ2xsIGtlZXAgaGVyIHMtby1iIGZvciBub3cgZm9yIHJlY29yZC4KClRoYW5rcywK U3R1YXJ0Cgo+IAo+IFRoYW5rcywKPiBTdHVhcnQKPiAKPiA+IAo+ID4gTmlyYW5qYW5hCj4gPiAK PiA+ID4gLS0tCj4gPiA+IGxpYi94ZS94ZV9sZWdhY3kuY8KgwqDCoMKgwqDCoMKgwqDCoCB8wqAg NzEgKysrKysrKysrKy0tCj4gPiA+IHRlc3RzL2ludGVsL3hlX2V4ZWNfcmVzZXQuYyB8IDIyMgo+ ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiA+ID4gMiBmaWxlcyBj aGFuZ2VkLCAyNzQgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBk aWZmIC0tZ2l0IGEvbGliL3hlL3hlX2xlZ2FjeS5jIGIvbGliL3hlL3hlX2xlZ2FjeS5jCj4gPiA+ IGluZGV4IDMzNzFhOTFhYy4uZjliZDViY2I2IDEwMDY0NAo+ID4gPiAtLS0gYS9saWIveGUveGVf bGVnYWN5LmMKPiA+ID4gKysrIGIvbGliL3hlL3hlX2xlZ2FjeS5jCj4gPiA+IEBAIC0xMyw2ICsx Myw4IEBACj4gPiA+IAo+ID4gPiAvKiBCYXRjaCBidWZmZXIgZWxlbWVudCBjb3VudCwgaW4gbnVt YmVyIG9mIGR3b3Jkcyh1MzIpICovCj4gPiA+ICNkZWZpbmUgQkFUQ0hfRFdfQ09VTlTCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAxNgo+ID4gPiArI2RlZmluZSBTRUNPTkRBUllf UVVFVUXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoMHgx IDw8IDE1KQo+ID4gPiArI2RlZmluZSBNVUxUSV9RVUVVRcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAoMHgxIDw8IDE0KQo+ID4gPiAjZGVmaW5lIENPTVBSRVNTSU9OwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKDB4MSA8PCAxMykKPiA+ID4g I2RlZmluZSBTWVNURU3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgKDB4MSA8PCAxMikKPiA+ID4gI2RlZmluZSBMT05HX1NQSU5fUkVVU0VfUVVFVUXC oMKgwqDCoMKgwqDCoMKgwqDCoMKgKDB4MSA8PCAxMSkKPiA+ID4gQEAgLTcwLDEwICs3MiwxNCBA QCB4ZV9sZWdhY3lfdGVzdF9tb2RlKGludCBmZCwgc3RydWN0Cj4gPiA+IGRybV94ZV9lbmdpbmVf Y2xhc3NfaW5zdGFuY2UgKmVjaSwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgeGVfc3Bpbl9uc2VjX3RvX3RpY2tzKGZkLCAwLCBUSFJFRV9TRUMp IDoKPiA+ID4gMCwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoH07Cj4gPiA+IMKgwqDCoMKgwqDCoMKg wqBpbnQgaSwgYjsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgaW50IGhhbmdfcG9zaXRpb24gPSBmbGFn cyAmIFNFQ09OREFSWV9RVUVVRSA/IDEgOiAwOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaW50IGV4 dHJhX2V4ZWNzID0gKGZsYWdzICYgTE9OR19TUElOX1JFVVNFX1FVRVVFKSA/Cj4gPiA+IG5fZXhl Y19xdWV1ZXMgOiAwOwo+ID4gPiAKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGlndF9hc3NlcnRfbHRl KG5fZXhlY19xdWV1ZXMsIE1BWF9OX0VYRUNRVUVVRVMpOwo+ID4gPiAKPiA+ID4gK8KgwqDCoMKg wqDCoMKgaWd0X2Fzc2VydF9mKCEoZmxhZ3MgJiBTRUNPTkRBUllfUVVFVUUpIHx8IChmbGFncyAm Cj4gPiA+IE1VTFRJX1FVRVVFKSwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICJTRUNPTkRBUllfUVVFVUUgcmVxdWlyZXMgTVVMVElfUVVFVUUgdG8gYmUKPiA+ ID4gc2V0Iik7Cj4gPiA+ICsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGlmIChmbGFncyAmIENPTVBS RVNTSU9OKQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9yZXF1aXJl KGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGZkKSkgPj0KPiA+ID4gMjApOwo+ID4gPiAK PiA+ID4gQEAgLTEwMSw3ICsxMDcsMjAgQEAgeGVfbGVnYWN5X3Rlc3RfbW9kZShpbnQgZmQsIHN0 cnVjdAo+ID4gPiBkcm1feGVfZW5naW5lX2NsYXNzX2luc3RhbmNlICplY2ksCj4gPiA+IMKgwqDC oMKgwqDCoMKgwqBkYXRhID0geGVfYm9fbWFwKGZkLCBibywgYm9fc2l6ZSk7Cj4gPiA+IAo+ID4g PiDCoMKgwqDCoMKgwqDCoMKgZm9yIChpID0gMDsgaSA8IG5fZXhlY19xdWV1ZXM7IGkrKykgewo+ ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZXhlY19xdWV1ZXNbaV0gPSB4ZV9l eGVjX3F1ZXVlX2NyZWF0ZShmZCwgdm0sCj4gPiA+IGVjaSwKPiA+ID4gMCk7Cj4gPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoZmxhZ3MgJiBNVUxUSV9RVUVVRSkgewo+ID4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBk cm1feGVfZXh0X3NldF9wcm9wZXJ0eQo+ID4gPiBtdWx0aV9xdWV1ZQo+ID4gPiA9IHsKPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgLmJhc2UubmV4dF9leHRlbnNpb24gPSAwLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuYmFzZS5uYW1lID0K PiA+ID4gRFJNX1hFX0VYRUNfUVVFVUVfRVhURU5TSU9OX1NFVF9QUk9QRVJUWSwKPiA+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgLnByb3BlcnR5ID0KPiA+ID4gRFJNX1hFX0VYRUNfUVVFVUVfU0VUX1BST1BFUlRZX01VTFRJ X0dST1VQLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoH07Cj4gPiA+ICsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqB1aW50NjRfdCBleHQgPQo+ID4gPiB0b191c2VyX3BvaW50ZXIoJm11bHRpX3F1 ZXVlKTsKPiA+ID4gKwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoG11bHRpX3F1ZXVlLnZhbHVlID0gaSA/IGV4ZWNfcXVldWVzWzBdIDoKPiA+ID4g RFJNX1hFX01VTFRJX0dST1VQX0NSRUFURTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBleGVjX3F1ZXVlc1tpXSA9IHhlX2V4ZWNfcXVldWVfY3Jl YXRlKGZkLAo+ID4gPiB2bSwgZWNpLCBleHQpOwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgfSBlbHNlIHsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBleGVjX3F1ZXVlc1tpXSA9IHhlX2V4ZWNfcXVldWVfY3JlYXRlKGZkLAo+ ID4gPiB2bSwgZWNpLCAwKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0K PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzeW5jb2Jqc1tpXSA9IHN5bmNv YmpfY3JlYXRlKGZkLCAwKTsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoH0KPiA+ID4gCj4gPiA+IEBA IC0xMjMsMTcgKzE0MiwyMiBAQCB4ZV9sZWdhY3lfdGVzdF9tb2RlKGludCBmZCwgc3RydWN0Cj4g PiA+IGRybV94ZV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgKmVjaSwKPiA+ID4gwqDCoMKgwqDCoMKg wqDCoH0KPiA+ID4gCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBmb3IgKGkgPSAwOyBpIDwgbl9leGVj czsgaSsrKSB7Cj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1NjQgYmFzZV9h ZGRyID0gKCF1c2VfY2FwdHVyZV9tb2RlICYmIChmbGFncyAmCj4gPiA+IENBVF9FUlJPUikgJiYg IWkpCj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg PyAoYWRkciArIGJvX3NpemUgKiAxMjgpIDogYWRkcjsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHU2NCBiYXNlX2FkZHIgPSAoIXVzZV9jYXB0dXJlX21vZGUgJiYgZmxhZ3Mg Jgo+ID4gPiBDQVRfRVJST1IgJiYKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGkgPT0gaGFuZ19wb3NpdGlvbikgPwo+ ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAoYWRkciArIGJvX3NpemUgKiAxMjgpIDogYWRkcjsKPiA+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1NjQgYmF0Y2hfb2Zmc2V0ID0gKGNoYXIgKikmZGF0YVtp XS5iYXRjaCAtIChjaGFyCj4gPiA+ICopZGF0YTsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqB1NjQgYmF0Y2hfYWRkciA9IGJhc2VfYWRkciArIGJhdGNoX29mZnNldDsKPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1NjQgc3Bpbl9vZmZzZXQgPSAoY2hh ciAqKSZkYXRhW2ldLnNwaW4gLSAoY2hhcgo+ID4gPiAqKWRhdGE7Cj4gPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgdTY0IHNkaV9vZmZzZXQgPSAoY2hhciAqKSZkYXRhW2ldLmRh dGEgLSAoY2hhcgo+ID4gPiAqKWRhdGE7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgdTY0IHNkaV9hZGRyID0gYmFzZV9hZGRyICsgc2RpX29mZnNldDsKPiA+ID4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1NjQgZXhlY19hZGRyOwo+ID4gPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaW50IGUgPSBpICUgbl9leGVjX3F1ZXVlczsKPiA+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGludCBlcnIsIGUgPSBpICUgbl9leGVjX3F1ZXVl czsKPiA+ID4gCj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoIWkgfHwg ZmxhZ3MgJiBDQU5DRUwgfHwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8q Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBGb3IgY2F0IGZhdWx0IG9u IGEgc2Vjb25kYXJ5IHF1ZXVlIHRoZSBmYXVsdAo+ID4gPiB3aWxsCj4gPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBiZSBvbiB0aGUgc3Bpbm5lci4KPiA+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqLwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgaWYgKGkgPT0gaGFuZ19wb3NpdGlvbiB8fCBmbGFncyAmIENBTkNFTCB8fAo+ID4gPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZmxhZ3MgJiBMT05HX1NQSU4g JiYgaSA8IG5fZXhlY19xdWV1ZXMpKSB7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNwaW5fb3B0cy5hZGRyID0gYmFzZV9hZGRyICsgc3Bpbl9v ZmZzZXQ7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHhlX3NwaW5faW5pdCgmZGF0YVtpXS5zcGluLCAmc3Bpbl9vcHRzKTsKPiA+ID4gQEAgLTE2 MCwxMCArMTg0LDE3IEBAIHhlX2xlZ2FjeV90ZXN0X21vZGUoaW50IGZkLCBzdHJ1Y3QKPiA+ID4g ZHJtX3hlX2VuZ2luZV9jbGFzc19pbnN0YW5jZSAqZWNpLAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlmIChlICE9IGkpCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN5bmNvYmpfcmVzZXQoZmQsICZzeW5jb2Jqc1tlXSwg MSk7Cj4gPiA+IAo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfZXhlYyhm ZCwgJmV4ZWMpOwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLyoKPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIFNlY29uZGFyeSBxdWV1ZXMgYXJlIHJl c2V0IHdoZW4gdGhlIHByaW1hcnkKPiA+ID4gcXVldWUKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAqIGlzIHJlc2V0LiBUaGUgc3VibWlzc2lvbiBjYW4gcmFjZSBoZXJlIGFu ZCBpdAo+ID4gPiBpcwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogZXhw ZWN0ZWQgZm9yIHRob3NlIHRvIGZhaWwgc3VibWlzc2lvbiBpZiB0aGUKPiA+ID4gcHJpbWFyeQo+ ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogcmVzZXQgaGFzIGFscmVhZHkg aGFwcGVuZWQuCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVyciA9IF9feGVfZXhlYyhmZCwgJmV4ZWMp Owo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydCghZXJyIHx8 ICgoZmxhZ3MgJiBNVUxUSV9RVUVVRSkgJiYgZXJyCj4gPiA+ID09Cj4gPiA+IC1FQ0FOQ0VMRUQp KTsKPiA+ID4gCj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoIWkgJiYg IShmbGFncyAmIENBVF9FUlJPUikgJiYKPiA+ID4gIXVzZV9jYXB0dXJlX21vZGUKPiA+ID4gJiYK PiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAhKGZsYWdzICYgQ09N UFJFU1NJT04pKQo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGkgPT0g aGFuZ19wb3NpdGlvbiAmJiAhKGZsYWdzICYgQ0FUX0VSUk9SKSAmJgo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICF1c2VfY2FwdHVyZV9tb2RlICYmICEoZmxhZ3Mg JiBDT01QUkVTU0lPTikpCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHhlX3NwaW5fd2FpdF9zdGFydGVkKCZkYXRhW2ldLnNwaW4pOwo+ID4gPiDC oMKgwqDCoMKgwqDCoMKgfQo+ID4gPiAKPiA+ID4gQEAgLTE4Niw3ICsyMTcsMjEgQEAgeGVfbGVn YWN5X3Rlc3RfbW9kZShpbnQgZmQsIHN0cnVjdAo+ID4gPiBkcm1feGVfZW5naW5lX2NsYXNzX2lu c3RhbmNlICplY2ksCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogRXhw ZWN0YXRpb24gaGVyZSBpcyB0aGF0IG9uIHJlc2V0LCBzdWJtaXNzaW9ucwo+ID4gPiB3aWxsCj4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogc3RpbGwgc2F0aXNmeSB0aGUg c3luY29ial93YWl0Lgo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqLwo+ ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydChzeW5jb2JqX3dh aXQoZmQsICZzeW5jb2Jqc1tpXSwgMSwKPiA+ID4gSU5UNjRfTUFYLCAwLCBOVUxMKSk7Cj4gPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpbnQgZXJyID0gc3luY29ial93YWl0X2Vy cihmZCwgJnN5bmNvYmpzW2ldLCAxLAo+ID4gPiBJTlQ2NF9NQVgsIDApOwo+ID4gPiArCj4gPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKgo+ID4gPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICogQ3VycmVudGx5IGFueSB0aW1lIEd1QyByZXNldHMgYSBxdWV1ZSB3 aGljaCBpcwo+ID4gPiBwYXJ0IG9mIGEKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAqIG11bHRpIHF1ZXVlIHF1ZXVlIGdyb3VwIHN1Ym1pdHRlZCBieSB0aGUgS01ELAo+ID4g PiB0aGUgS01ECj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiB3aWxsIHRl YXIgZG93biB0aGUgZW50aXJlIGdyb3VwLiBUaGlzIG1lYW5zIHdlCj4gPiA+IGRvbid0IGtub3cK PiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIHdoZXRoZXIgYSBwYXJ0aWN1 bGFyIHF1ZXVlIHN1Ym1pdHRlZCBwcmlvciB0bwo+ID4gPiB0aGUgaGFuZ2luZwo+ID4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogcXVldWUgd2lsbCBjb21wbGV0ZSBvciBub3Qu IFNvIHdlIGhhdmUgdG8KPiA+ID4gY2hlY2sKPiA+ID4gYWxsIHBvc3NpYmxlCj4gPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiByZXR1cm4gdmFsdWVzIGhlcmUuCj4gPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKgo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICogSW4gdGhlIGV2ZW50IHdlIGdldCBhbiAtRUNBTkNFTEVEIGF0IHRoZSBl eGVjCj4gPiA+IGFib3ZlIGFuZCB0aGUKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAqIHN5bmNvYmogd2FzIG5vdCBpbnN0YWxsZWQsIHdlIGV4cGVjdCB0aGlzIHRvCj4gPiA+ IHJldHVybiAtRUlOVkFMCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBo ZXJlIGluc3RlYWQuCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiA+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9hc3NlcnQoIWVyciB8fCAoKGZs YWdzICYgTVVMVElfUVVFVUUpICYmIGVycgo+ID4gPiA9PQo+ID4gPiAtRUlOVkFMKSk7Cj4gPiA+ IMKgwqDCoMKgwqDCoMKgwqB9Cj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2Vy dChzeW5jb2JqX3dhaXQoZmQsICZzeW5jWzBdLmhhbmRsZSwgMSwKPiA+ID4gSU5UNjRfTUFYLAo+ ID4gPiAwLCBOVUxMKSk7Cj4gPiA+IEBAIC0yMzIsNyArMjc3LDEzIEBAIHhlX2xlZ2FjeV90ZXN0 X21vZGUoaW50IGZkLCBzdHJ1Y3QKPiA+ID4gZHJtX3hlX2VuZ2luZV9jbGFzc19pbnN0YW5jZSAq ZWNpLAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCF1c2VfY2FwdHVyZV9tb2RlICYmICEoZmxh Z3MgJiAoR1RfUkVTRVQgfCBDQU5DRUwgfAo+ID4gPiBDT01QUkVTU0lPTikpKSB7Cj4gPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZm9yIChpID0gZmxhZ3MgJiBMT05HX1NQSU4g PyBuX2V4ZWNfcXVldWVzIDogMDsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpIDwgbl9leGVjcyArIGV4dHJhX2V4ZWNzOyBpKyspIHsKPiA+ID4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoIWkpCj4gPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLyoKPiA+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBGb3IgbXVsdGkt cXVldWUgdGhlcmUgaXMgbm8gZ3VhcmFudGVlCj4gPiA+IHdoaWNoCj4gPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogcXVldWUgd2lsbCBiZSBzY2hl ZHVsZWQgZmlyc3QgYXMgdGhleQo+ID4gPiBhcmUgYWxsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogc3VibWl0dGVkIGF0IHRoZSBzYW1lIHBy aW9yaXR5IGluIHRoaXMKPiA+ID4gdGVzdC4KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBTbyB3ZSBjYW4ndCBndWFyYW50ZWUgYW55IGRhdGEK PiA+ID4gaW50ZWdyaXR5Cj4gPiA+IGhlcmUuCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICovCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGkgPT0gaGFuZ19wb3NpdGlvbiB8fCBmbGFncyAm Cj4gPiA+IE1VTFRJX1FVRVVFKQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gPiA+IAo+ID4gPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0 X2VxKGRhdGFbaV0uZGF0YSwgMHhjMGZmZWUpOwo+ID4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMvaW50 ZWwveGVfZXhlY19yZXNldC5jCj4gPiA+IGIvdGVzdHMvaW50ZWwveGVfZXhlY19yZXNldC5jCj4g PiA+IGluZGV4IDZiNzFkOTE0NC4uZWE1MDU2N2MwIDEwMDY0NAo+ID4gPiAtLS0gYS90ZXN0cy9p bnRlbC94ZV9leGVjX3Jlc2V0LmMKPiA+ID4gKysrIGIvdGVzdHMvaW50ZWwveGVfZXhlY19yZXNl dC5jCj4gPiA+IEBAIC0xMTIsNyArMTEyLDcgQEAgc3RhdGljIHZvaWQgdGVzdF9zcGluKGludCBm ZCwgc3RydWN0Cj4gPiA+IGRybV94ZV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgKmVjaSwKPiA+ID4g I2RlZmluZSBNQVhfTl9FWEVDUVVFVUVTwqDCoMKgwqDCoMKgwqDCoDE2Cj4gPiA+ICNkZWZpbmUg R1RfUkVTRVTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAo MHgxIDw8IDApCj4gPiA+ICNkZWZpbmUgQ0xPU0VfRkTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoMHgxIDw8IDEpCj4gPiA+IC0jZGVmaW5lIENMT1NFX0VY RUNfUVVFVUVTwqDCoMKgwqDCoMKgKDB4MSA8PCAyKQo+ID4gPiArI2RlZmluZSBDTE9TRV9FWEVD X1FVRVVFU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoMHgxIDw8IDIpCj4gPiA+ICNkZWZp bmUgVklSVFVBTMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgKDB4MSA8PCAzKQo+ID4gPiAjZGVmaW5lIFBBUkFMTEVMwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKDB4MSA8PCA0KQo+ID4gPiAjZGVmaW5lIENBVF9F UlJPUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAoMHgxIDw8 IDUpCj4gPiA+IEBAIC0xMjQsNiArMTI0LDggQEAgc3RhdGljIHZvaWQgdGVzdF9zcGluKGludCBm ZCwgc3RydWN0Cj4gPiA+IGRybV94ZV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgKmVjaSwKPiA+ID4g I2RlZmluZSBMT05HX1NQSU5fUkVVU0VfUVVFVUXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgKDB4MSA8 PCAxMSkKPiA+ID4gI2RlZmluZSBTWVNURU3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgKDB4MSA8PCAxMikKPiA+ID4gI2RlZmluZSBDT01QUkVTU0lP TsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgweDEgPDwgMTMpCj4g PiA+ICsjZGVmaW5lIE1VTFRJX1FVRVVFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCgweDEgPDwgMTQpCj4gPiA+ICsjZGVmaW5lIFNFQ09OREFSWV9RVUVVRcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCgweDEgPDwgMTUpCj4gPiA+ IAo+ID4gPiAvKioKPiA+ID4gwqAqIFNVQlRFU1Q6ICVzLWNhdC1lcnJvcgo+ID4gPiBAQCAtMzUz LDYgKzM1NSw1NyBAQCB0ZXN0X2JhbGFuY2VyKGludCBmZCwgaW50IGd0LCBpbnQgY2xhc3MsIGlu dAo+ID4gPiBuX2V4ZWNfcXVldWVzLCBpbnQgbl9leGVjcywKPiA+ID4gwqAqCj4gPiA+IMKgKiBT VUJURVNUOiBjbS1jbG9zZS1leGVjcXVldWVzLWNsb3NlLWZkCj4gPiA+IMKgKiBEZXNjcmlwdGlv bjogVGVzdCBjb21wdXRlIG1vZGUgY2xvc2UgZXhlY19xdWV1ZXMgY2xvc2UgZmQKPiA+ID4gKyAq Cj4gPiA+ICsgKiBTVUJURVNUOiBtdWx0aS1xdWV1ZS1jYXQtZXJyb3IKPiA+ID4gKyAqIFN1Yi1j YXRlZ29yeTogTXVsdGlRIHRlc3RzCj4gPiA+ICsgKiBEZXNjcmlwdGlvbjogVGVzdCBjYXQgZXJy b3Igd2l0aCBtdWx0aV9xdWV1ZQo+ID4gPiArICoKPiA+ID4gKyAqIFNVQlRFU1Q6IG11bHRpLXF1 ZXVlLWNhdC1lcnJvci1vbi1zZWNvbmRhcnkKPiA+ID4gKyAqIFN1Yi1jYXRlZ29yeTogTXVsdGlR IHRlc3RzCj4gPiA+ICsgKiBEZXNjcmlwdGlvbjogVGVzdCBjYXQgZXJyb3Igd2l0aCBtdWx0aV9x dWV1ZQo+ID4gPiArICrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvbiBhIHNlY29uZGFyeSBx dWV1ZQo+ID4gPiArICoKPiA+ID4gKyAqIFNVQlRFU1Q6IG11bHRpLXF1ZXVlLWd0LXJlc2V0Cj4g PiA+ICsgKiBTdWItY2F0ZWdvcnk6IE11bHRpUSB0ZXN0cwo+ID4gPiArICogRGVzY3JpcHRpb246 IFRlc3QgR1QgcmVzZXQgd2l0aCBtdWx0aV9xdWV1ZQo+ID4gPiArICoKPiA+ID4gKyAqIFNVQlRF U1Q6IG11bHRpLXF1ZXVlLWNhbmNlbAo+ID4gPiArICogU3ViLWNhdGVnb3J5OiBNdWx0aVEgdGVz dHMKPiA+ID4gKyAqIERlc2NyaXB0aW9uOiBUZXN0IGVuZ2luZSByZXNldCB3aXRoIG11bHRpX3F1 ZXVlCj4gPiA+ICsgKgo+ID4gPiArICogU1VCVEVTVDogbXVsdGktcXVldWUtY2FuY2VsLW9uLXNl Y29uZGFyeQo+ID4gPiArICogU3ViLWNhdGVnb3J5OiBNdWx0aVEgdGVzdHMKPiA+ID4gKyAqIERl c2NyaXB0aW9uOiBUZXN0IGVuZ2luZSByZXNldCB3aXRoIG11bHRpX3F1ZXVlCj4gPiA+ICsgKsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9uIGEgc2Vjb25kYXJ5IHF1ZXVlCj4gPiA+ICsgKgo+ ID4gPiArICogU1VCVEVTVDogbXVsdGktcXVldWUtY2xvc2UtZmQKPiA+ID4gKyAqIFN1Yi1jYXRl Z29yeTogTXVsdGlRIHRlc3RzCj4gPiA+ICsgKiBEZXNjcmlwdGlvbjogVGVzdCBjbG9zZSBmZCB3 aXRoIG11bHRpX3F1ZXVlCj4gPiA+ICsgKgo+ID4gPiArICogU1VCVEVTVDogbXVsdGktcXVldWUt Y2xvc2UtZXhlY3F1ZXVlcwo+ID4gPiArICogU3ViLWNhdGVnb3J5OiBNdWx0aVEgdGVzdHMKPiA+ ID4gKyAqIERlc2NyaXB0aW9uOiBUZXN0IGNsb3NlIGV4ZWNxdWV1ZXMgd2l0aCBtdWx0aV9xdWV1 ZQo+ID4gPiArICoKPiA+ID4gKyAqIFNVQlRFU1Q6IGNtLW11bHRpLXF1ZXVlLWNhdC1lcnJvcgo+ ID4gPiArICogU3ViLWNhdGVnb3J5OiBNdWx0aVEgdGVzdHMKPiA+ID4gKyAqIERlc2NyaXB0aW9u OiBUZXN0IGNvbXB1dGUgbW9kZSBjYXQgZXJyb3Igd2l0aCBtdWx0aV9xdWV1ZQo+ID4gPiArICoK PiA+ID4gKyAqIFNVQlRFU1Q6IGNtLW11bHRpLXF1ZXVlLWNhdC1lcnJvci1vbi1zZWNvbmRhcnkK PiA+ID4gKyAqIFN1Yi1jYXRlZ29yeTogTXVsdGlRIHRlc3RzCj4gPiA+ICsgKiBEZXNjcmlwdGlv bjogVGVzdCBjb21wdXRlIG1vZGUgY2F0IGVycm9yIHdpdGggbXVsdGlfcXVldWUKPiA+ID4gKyAq wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgb24gYSBzZWNvbmRhcnkgcXVldWUKPiA+ID4gKyAq Cj4gPiA+ICsgKiBTVUJURVNUOiBjbS1tdWx0aS1xdWV1ZS1ndC1yZXNldAo+ID4gPiArICogU3Vi LWNhdGVnb3J5OiBNdWx0aVEgdGVzdHMKPiA+ID4gKyAqIERlc2NyaXB0aW9uOiBUZXN0IGNvbXB1 dGUgbW9kZSBHVCByZXNldCB3aXRoIG11bHRpX3F1ZXVlCj4gPiA+ICsgKgo+ID4gPiArICogU1VC VEVTVDogY20tbXVsdGktcXVldWUtY2xvc2UtZmQKPiA+ID4gKyAqIFN1Yi1jYXRlZ29yeTogTXVs dGlRIHRlc3RzCj4gPiA+ICsgKiBEZXNjcmlwdGlvbjogVGVzdCBjb21wdXRlIG1vZGUgY2xvc2Ug ZmQgd2l0aCBtdWx0aV9xdWV1ZQo+ID4gPiArICoKPiA+ID4gKyAqIFNVQlRFU1Q6IGNtLW11bHRp LXF1ZXVlLWNsb3NlLWV4ZWNxdWV1ZXMKPiA+ID4gKyAqIFN1Yi1jYXRlZ29yeTogTXVsdGlRIHRl c3RzCj4gPiA+ICsgKiBEZXNjcmlwdGlvbjogVGVzdCBjb21wdXRlIG1vZGUgY2xvc2UgZXhlY3F1 ZXVlcyB3aXRoCj4gPiA+IG11bHRpX3F1ZXVlCj4gPiA+IMKgKi8KPiA+ID4gCj4gPiA+IHN0YXRp YyB2b2lkCj4gPiA+IEBAIC0zODQsOSArNDM3LDE0IEBAIHRlc3RfY29tcHV0ZV9tb2RlKGludCBm ZCwgc3RydWN0Cj4gPiA+IGRybV94ZV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgKmVjaSwKPiA+ID4g wqDCoMKgwqDCoMKgwqDCoH0gKmRhdGE7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgeGVf c3Bpbl9vcHRzIHNwaW5fb3B0cyA9IHsgLnByZWVtcHQgPSBmbGFncyAmCj4gPiA+IFBSRUVNUFQg fTsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGludCBpLCBiOwo+ID4gPiArwqDCoMKgwqDCoMKgwqBp bnQgaGFuZ19wb3NpdGlvbiA9IGZsYWdzICYgU0VDT05EQVJZX1FVRVVFID8gMSA6IDA7Cj4gPiA+ IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWd0X2Fzc2VydF9sdGUobl9leGVjX3F1ZXVlcywgTUFY X05fRVhFQ1FVRVVFUyk7Cj4gPiA+IAo+ID4gPiArwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0X2Yo IShmbGFncyAmIFNFQ09OREFSWV9RVUVVRSkgfHwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICgoZmxhZ3MgJiBNVUxUSV9RVUVVRSkgJiYgKGZsYWdzICYKPiA+ ID4gQ0FUX0VSUk9SKSksCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAiU0VDT05EQVJZX1FVRVVFIHJlcXVpcmVzIE1VTFRJX1FVRVVFIGFuZAo+ID4gPiBDQVRf RVJST1IgdG8gYmUgc2V0Iik7Cj4gPiA+ICsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoGlmIChmbGFn cyAmIENMT1NFX0ZEKQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZkID0g ZHJtX29wZW5fZHJpdmVyKERSSVZFUl9YRSk7Cj4gPiA+IAo+ID4gPiBAQCAtNDAxLDcgKzQ1OSwy MCBAQCB0ZXN0X2NvbXB1dGVfbW9kZShpbnQgZmQsIHN0cnVjdAo+ID4gPiBkcm1feGVfZW5naW5l X2NsYXNzX2luc3RhbmNlICplY2ksCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBtZW1zZXQoZGF0YSwg MCwgYm9fc2l6ZSk7Cj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgZm9yIChpID0gMDsgaSA8 IG5fZXhlY19xdWV1ZXM7IGkrKykgewo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgZXhlY19xdWV1ZXNbaV0gPSB4ZV9leGVjX3F1ZXVlX2NyZWF0ZShmZCwgdm0sCj4gPiA+IGVj aSwKPiA+ID4gMCk7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoZmxh Z3MgJiBNVUxUSV9RVUVVRSkgewo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBkcm1feGVfZXh0X3NldF9wcm9wZXJ0eQo+ID4gPiBtdWx0 aV9xdWV1ZQo+ID4gPiA9IHsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmJhc2UubmV4dF9leHRlbnNpb24gPSAwLAo+ ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAuYmFzZS5uYW1lID0KPiA+ID4gRFJNX1hFX0VYRUNfUVVFVUVfRVhURU5TSU9O X1NFVF9QUk9QRVJUWSwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLnByb3BlcnR5ID0KPiA+ID4gRFJNX1hFX0VYRUNf UVVFVUVfU0VUX1BST1BFUlRZX01VTFRJX0dST1VQLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH07Cj4gPiA+ICsKPiA+ID4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1aW50NjRfdCBleHQgPQo+ID4gPiB0 b191c2VyX3BvaW50ZXIoJm11bHRpX3F1ZXVlKTsKPiA+ID4gKwo+ID4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG11bHRpX3F1ZXVlLnZhbHVlID0gaSA/ IGV4ZWNfcXVldWVzWzBdIDoKPiA+ID4gRFJNX1hFX01VTFRJX0dST1VQX0NSRUFURTsKPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBleGVjX3F1ZXVl c1tpXSA9IHhlX2V4ZWNfcXVldWVfY3JlYXRlKGZkLAo+ID4gPiB2bSwgZWNpLCBleHQpOwo+ID4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSBlbHNlIHsKPiA+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBleGVjX3F1ZXVlc1tpXSA9IHhl X2V4ZWNfcXVldWVfY3JlYXRlKGZkLAo+ID4gPiB2bSwgZWNpLCAwKTsKPiA+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0KPiA+ID4gwqDCoMKgwqDCoMKgwqDCoH07Cj4gPiA+IAo+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgc3luY1swXS5hZGRyID0gdG9fdXNlcl9wb2ludGVyKCZkYXRh WzBdLnZtX3N5bmMpOwo+ID4gPiBAQCAtNDExLDE3ICs0ODIsMjEgQEAgdGVzdF9jb21wdXRlX21v ZGUoaW50IGZkLCBzdHJ1Y3QKPiA+ID4gZHJtX3hlX2VuZ2luZV9jbGFzc19pbnN0YW5jZSAqZWNp LAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgZGF0YVswXS52bV9zeW5jID0gMDsKPiA+ID4gCj4gPiA+ IMKgwqDCoMKgwqDCoMKgwqBmb3IgKGkgPSAwOyBpIDwgbl9leGVjczsgaSsrKSB7Cj4gPiA+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1aW50NjRfdCBiYXNlX2FkZHIgPSBmbGFncyAm IENBVF9FUlJPUiAmJiAhaSA/Cj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgYWRkciArIGJvX3NpemUgKiAxMjggOiBhZGRyOwo+ID4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdWludDY0X3QgYmFzZV9hZGRyID0gKGZsYWdzICYgQ0FU X0VSUk9SICYmIGkgPT0KPiA+ID4gaGFuZ19wb3NpdGlvbikgPwo+ID4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAoYWRkciArIGJvX3NpemUgKiAxMjgpIDoKPiA+ID4gYWRkcjsKPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB1aW50NjRfdCBiYXRjaF9vZmZzZXQgPSAoY2hhciAqKSZkYXRh W2ldLmJhdGNoIC0KPiA+ID4gKGNoYXIgKilkYXRhOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHVpbnQ2NF90IGJhdGNoX2FkZHIgPSBiYXNlX2FkZHIgKyBiYXRjaF9vZmZz ZXQ7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdWludDY0X3Qgc3Bpbl9v ZmZzZXQgPSAoY2hhciAqKSZkYXRhW2ldLnNwaW4gLQo+ID4gPiAoY2hhciAqKWRhdGE7Cj4gPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdWludDY0X3Qgc2RpX29mZnNldCA9IChj aGFyICopJmRhdGFbaV0uZGF0YSAtCj4gPiA+IChjaGFyCj4gPiA+ICopZGF0YTsKPiA+ID4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1aW50NjRfdCBzZGlfYWRkciA9IGJhc2VfYWRk ciArIHNkaV9vZmZzZXQ7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdWlu dDY0X3QgZXhlY19hZGRyOwo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW50 IGUgPSBpICUgbl9leGVjX3F1ZXVlczsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGludCBlcnIsIGUgPSBpICUgbl9leGVjX3F1ZXVlczsKPiA+ID4gCj4gPiA+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoIWkgfHwgZmxhZ3MgJiBDQU5DRUwpIHsKPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKiBGb3IgY2F0IGZhdWx0IG9uIGEgc2Vjb25kYXJ5IHF1ZXVlIHRoZSBm YXVsdAo+ID4gPiB3aWxsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBi ZSBvbiB0aGUgc3Bpbm5lci4KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAq Lwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGkgPT0gaGFuZ19wb3Np dGlvbiB8fCBmbGFncyAmIENBTkNFTCkgewo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBzcGluX29wdHMuYWRkciA9IGJhc2VfYWRkciArIHNwaW5f b2Zmc2V0Owo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqB4ZV9zcGluX2luaXQoJmRhdGFbaV0uc3BpbiwgJnNwaW5fb3B0cyk7Cj4gPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGV4ZWNfYWRkciA9IHNw aW5fb3B0cy5hZGRyOwo+ID4gPiBAQCAtNDQyLDcgKzUxNywxOCBAQCB0ZXN0X2NvbXB1dGVfbW9k ZShpbnQgZmQsIHN0cnVjdAo+ID4gPiBkcm1feGVfZW5naW5lX2NsYXNzX2luc3RhbmNlICplY2ks Cj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGV4ZWMuZXhlY19x dWV1ZV9pZCA9IGV4ZWNfcXVldWVzW2VdOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGV4ZWMuYWRkcmVzcyA9IGV4ZWNfYWRkcjsKPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHhlX2V4ZWMoZmQsICZleGVjKTsKPiA+ID4gKwo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgLyoKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAqIFNlY29uZGFyeSBxdWV1ZXMgYXJlIHJlc2V0IHdoZW4gdGhlIHByaW1hcnkKPiA+ID4g cXVldWUKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGlzIHJlc2V0LiBU aGUgc3VibWlzc2lvbiBjYW4gcmFjZSBoZXJlIGFuZCBpdAo+ID4gPiBpcwo+ID4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogZXhwZWN0ZWQgZm9yIHRob3NlIHRvIGZhaWwgc3Vi bWlzc2lvbiBpZiB0aGUKPiA+ID4gcHJpbWFyeQo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICogcmVzZXQgaGFzIGFscmVhZHkgaGFwcGVuZWQuCj4gPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGVyciA9IF9feGVfZXhlYyhmZCwgJmV4ZWMpOwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaWd0X2Fzc2VydCghZXJyIHx8ICgoZmxhZ3MgJiBNVUxUSV9RVUVVRSkgJiYg ZXJyCj4gPiA+ID09Cj4gPiA+IC1FQ0FOQ0VMRUQpKTsKPiA+ID4gKwo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGkgPT0gaGFuZ19wb3NpdGlvbiAmJiAhKGZsYWdzICYg Q0FUX0VSUk9SKSkKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB4ZV9zcGluX3dhaXRfc3RhcnRlZCgmZGF0YVtpXS5zcGluKTsKPiA+ID4gwqDCoMKg wqDCoMKgwqDCoH0KPiA+ID4gCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBpZiAoZmxhZ3MgJiBHVF9S RVNFVCkgewo+ID4gPiBAQCAtNDY3LDggKzU1MywxOCBAQCB0ZXN0X2NvbXB1dGVfbW9kZShpbnQg ZmQsIHN0cnVjdAo+ID4gPiBkcm1feGVfZW5naW5lX2NsYXNzX2luc3RhbmNlICplY2ksCj4gPiA+ IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGVyciA9IF9feGVfd2FpdF91 ZmVuY2UoZmQsICZkYXRhW2ldLmV4ZWNfc3luYywKPiA+ID4gVVNFUl9GRU5DRV9WQUxVRSwKPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBleGVjX3F1ZXVlc1tpICUKPiA+ID4gbl9leGVjX3F1ZXVl c10sICZ0aW1lb3V0KTsKPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICgh aSkgewo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGkgPT0gaGFuZ19w b3NpdGlvbikgewo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBpZ3RfYXNzZXJ0KGVyciA9PSAtRVRJTUUgfHwgZXJyID09IC1FSU8pOwo+ID4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSBlbHNlIGlmIChmbGFncyAmIE1VTFRJX1FV RVVFKSB7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgLyoKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKiBDdXJyZW50bHkgYW55IHRpbWUgR3VDIHJlc2V0cyBhIHF1ZXVlCj4gPiA+IHN1Ym1pdHRl ZAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAq IGJ5IHRoZSBLTUQsIHRoZSBLTUQgd2lsbCB0ZWFyIGRvd24gdGhlCj4gPiA+IGVudGlyZQo+ID4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIHF1ZXVl IGdyb3VwLiBUaGlzIG1lYW5zIHdlIGRvbid0IGtub3cKPiA+ID4gd2hldGhlcgo+ID4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGEgcGFydGljdWxh ciBxdWV1ZSBzdWJtaXR0ZWQgcHJpb3IgdG8KPiA+ID4gdGhlIGhhbmdpbmcKPiA+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBxdWV1ZSB3aWxsIGNv bXBsZXRlIG9yIG5vdC4gU28gd2UgaGF2ZQo+ID4gPiB0byBjaGVjawo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGFsbCBwb3NzaWJsZSByZXR1 cm4gdmFsdWVzIGhlcmUuCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICovCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaWd0X2Fzc2VydChlcnIgPT0gLUVUSU1FIHx8IGVyciA9PSAtRUlPCj4gPiA+ IHx8Cj4gPiA+ICFlcnIpOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoH0g ZWxzZSBpZiAoZmxhZ3MgJiBHVF9SRVNFVCB8fCBmbGFncyAmIENBVF9FUlJPUikKPiA+ID4gewo+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKiBl eGVjIHJhY2VzIHdpdGggcmVzZXQ6IG1heSByZXR1cm4gLUVJTwo+ID4gPiBvciBjb21wbGV0ZSAq Lwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBp Z3RfYXNzZXJ0KGVyciA9PSAtRUlPIHx8ICFlcnIpOwo+ID4gPiBAQCAtNDgzLDcgKzU3OSwxMyBA QCB0ZXN0X2NvbXB1dGVfbW9kZShpbnQgZmQsIHN0cnVjdAo+ID4gPiBkcm1feGVfZW5naW5lX2Ns YXNzX2luc3RhbmNlICplY2ksCj4gPiA+IAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWYgKCEoZmxh Z3MgJiAoR1RfUkVTRVQgfCBDQU5DRUwpKSkgewo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGZvciAoaSA9IDA7IGkgPCBuX2V4ZWNzOyBpKyspIHsKPiA+ID4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAoIWkpCj4gPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLyoKPiA+ID4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBGb3IgbXVsdGktcXVl dWUgdGhlcmUgaXMgbm8gZ3VhcmFudGVlCj4gPiA+IHdoaWNoCj4gPiA+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogcXVldWUgd2lsbCBiZSBzY2hlZHVs ZWQgZmlyc3QgYXMgdGhleQo+ID4gPiBhcmUgYWxsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogc3VibWl0dGVkIGF0IHRoZSBzYW1lIHByaW9y aXR5IGluIHRoaXMKPiA+ID4gdGVzdC4KPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBTbyB3ZSBjYW4ndCBndWFyYW50ZWUgYW55IGRhdGEKPiA+ ID4gaW50ZWdyaXR5Cj4gPiA+IGhlcmUuCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICovCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKGkgPT0gaGFuZ19wb3NpdGlvbiB8fCBmbGFncyAmCj4g PiA+IE1VTFRJX1FVRVVFKQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29udGludWU7Cj4gPiA+IAo+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfYXNzZXJ0X2Vx KGRhdGFbaV0uZGF0YSwgMHhjMGZmZWUpOwo+ID4gPiBAQCAtOTg2LDYgKzEwODgsMTA4IEBAIGlu dCBpZ3RfbWFpbigpCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfZm9y X2VhY2hfZ3QoZmQsIGd0KQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBndF9tb2NzX3Jlc2V0KGZkLCBndCk7Cj4gPiA+IAo+ID4gPiArwqDCoMKg wqDCoMKgwqBpZ3Rfc3VidGVzdCgibXVsdGktcXVldWUtY2F0LWVycm9yIikgewo+ID4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3JlcXVpcmUoaW50ZWxfZ3JhcGhpY3NfdmVy KGludGVsX2dldF9kcm1fZGV2aQo+ID4gPiBkKAo+ID4gPiBmZCkpID49IElQX1ZFUigzNSwgMCkp Owo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfZm9yX2VhY2hfbXVsdGlf cXVldWVfZW5naW5lKGZkLCBod2UpCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgeGVfbGVnYWN5X3Rlc3RfbW9kZShmZCwgaHdlLCAxNiwgMTYsCj4g PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ0FUX0VSUk9SIHwKPiA+ID4gTVVMVElf UVVFVUUsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTEVHQUNZX01PREVfQURE UiwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmYWxzZSk7Cj4gPiA+ICvCoMKg wqDCoMKgwqDCoH0KPiA+ID4gKwo+ID4gPiArwqDCoMKgwqDCoMKgwqBpZ3Rfc3VidGVzdCgibXVs dGktcXVldWUtY2F0LWVycm9yLW9uLXNlY29uZGFyeSIpIHsKPiA+ID4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoGlndF9yZXF1aXJlKGludGVsX2dyYXBoaWNzX3ZlcihpbnRlbF9nZXRf ZHJtX2RldmkKPiA+ID4gZCgKPiA+ID4gZmQpKSA+PSBJUF9WRVIoMzUsIDApKTsKPiA+ID4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHhlX2Zvcl9lYWNoX211bHRpX3F1ZXVlX2VuZ2lu ZShmZCwgaHdlKQo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoHhlX2xlZ2FjeV90ZXN0X21vZGUoZmQsIGh3ZSwgMTYsIDE2LAo+ID4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIENBVF9FUlJPUiB8Cj4gPiA+IE1VTFRJX1FVRVVFCj4gPiA+ ID4gCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgU0VDT05EQVJZX1FVRVVFLAo+ ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIExFR0FDWV9NT0RFX0FERFIsCj4gPiA+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmFsc2UpOwo+ID4gPiArwqDCoMKgwqDCoMKg wqB9Cj4gPiA+ICsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgaWd0X3N1YnRlc3QoIm11bHRpLXF1ZXVl LWd0LXJlc2V0Iikgewo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3Jl cXVpcmUoaW50ZWxfZ3JhcGhpY3NfdmVyKGludGVsX2dldF9kcm1fZGV2aQo+ID4gPiBkKAo+ID4g PiBmZCkpID49IElQX1ZFUigzNSwgMCkpOwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgeGVfZm9yX2VhY2hfbXVsdGlfcXVldWVfZW5naW5lKGZkLCBod2UpCj4gPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfbGVnYWN5X3Rlc3Rf bW9kZShmZCwgaHdlLCAxNiwgMTYsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg R1RfUkVTRVQgfAo+ID4gPiBNVUxUSV9RVUVVRSwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBMRUdBQ1lfTU9ERV9BRERSLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGZhbHNlKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgfQo+ID4gPiArCj4gPiA+ICvCoMKgwqDC oMKgwqDCoGlndF9zdWJ0ZXN0KCJtdWx0aS1xdWV1ZS1jYW5jZWwiKSB7Cj4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfcmVxdWlyZShpbnRlbF9ncmFwaGljc192ZXIoaW50 ZWxfZ2V0X2RybV9kZXZpCj4gPiA+IGQoCj4gPiA+IGZkKSkgPj0gSVBfVkVSKDM1LCAwKSk7Cj4g PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4ZV9mb3JfZWFjaF9tdWx0aV9xdWV1 ZV9lbmdpbmUoZmQsIGh3ZSkKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB4ZV9sZWdhY3lfdGVzdF9tb2RlKGZkLCBod2UsIDE2LCAxNiwKPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBNVUxUSV9RVUVVRSwKPiA+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBMRUdBQ1lfTU9ERV9BRERSLAo+ID4gPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGZhbHNlKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgfQo+ID4gPiArCj4g PiA+ICvCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0KCJtdWx0aS1xdWV1ZS1jYW5jZWwtb24tc2Vj b25kYXJ5Iikgewo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3JlcXVp cmUoaW50ZWxfZ3JhcGhpY3NfdmVyKGludGVsX2dldF9kcm1fZGV2aQo+ID4gPiBkKAo+ID4gPiBm ZCkpID49IElQX1ZFUigzNSwgMCkpOwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgeGVfZm9yX2VhY2hfbXVsdGlfcXVldWVfZW5naW5lKGZkLCBod2UpCj4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfbGVnYWN5X3Rlc3RfbW9k ZShmZCwgaHdlLCAxNiwgMTYsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTVVM VElfUVVFVUUgfAo+ID4gPiBTRUNPTkRBUllfUVVFVUUsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgTEVHQUNZX01PREVfQUREUiwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBmYWxzZSk7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoH0KPiA+ID4gKwo+ID4gPiArwqDC oMKgwqDCoMKgwqBpZ3Rfc3VidGVzdCgibXVsdGktcXVldWUtY2xvc2UtZmQiKSB7Cj4gPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfcmVxdWlyZShpbnRlbF9ncmFwaGljc192 ZXIoaW50ZWxfZ2V0X2RybV9kZXZpCj4gPiA+IGQoCj4gPiA+IGZkKSkgPj0gSVBfVkVSKDM1LCAw KSk7Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4ZV9mb3JfZWFjaF9tdWx0 aV9xdWV1ZV9lbmdpbmUoZmQsIGh3ZSkKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB4ZV9sZWdhY3lfdGVzdF9tb2RlKC0xLCBod2UsIDE2LCAyNTYs Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ0xPU0VfRkQgfAo+ID4gPiBNVUxU SV9RVUVVRSwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBMRUdBQ1lfTU9ERV9B RERSLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZhbHNlKTsKPiA+ID4gK8Kg wqDCoMKgwqDCoMKgfQo+ID4gPiArCj4gPiA+ICvCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0KCJt dWx0aS1xdWV1ZS1jbG9zZS1leGVjcXVldWVzIikgewo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgaWd0X3JlcXVpcmUoaW50ZWxfZ3JhcGhpY3NfdmVyKGludGVsX2dldF9kcm1f ZGV2aQo+ID4gPiBkKAo+ID4gPiBmZCkpID49IElQX1ZFUigzNSwgMCkpOwo+ID4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfZm9yX2VhY2hfbXVsdGlfcXVldWVfZW5naW5lKGZk LCBod2UpCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgeGVfbGVnYWN5X3Rlc3RfbW9kZSgtMSwgaHdlLCAxNiwgMjU2LAo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIENMT1NFX0VYRUNfUVVFVUVTIHwKPiA+ID4gQ0xPU0VfRkQgfAo+ ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1VTFRJX1FVRVVFLAo+ID4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIExFR0FDWV9NT0RFX0FERFIsCj4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgZmFsc2UpOwo+ID4gPiArwqDCoMKgwqDCoMKgwqB9Cj4gPiA+ ICsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgaWd0X3N1YnRlc3QoImNtLW11bHRpLXF1ZXVlLWNhdC1l cnJvciIpIHsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9yZXF1aXJl KGludGVsX2dyYXBoaWNzX3ZlcihpbnRlbF9nZXRfZHJtX2RldmkKPiA+ID4gZCgKPiA+ID4gZmQp KSA+PSBJUF9WRVIoMzUsIDApKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHhlX2Zvcl9lYWNoX211bHRpX3F1ZXVlX2VuZ2luZShmZCwgaHdlKQo+ID4gPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3RfY29tcHV0ZV9tb2RlKGZk LCBod2UsIDE2LCAxNiwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENBVF9FUlJPUiB8 Cj4gPiA+IE1VTFRJX1FVRVVFKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgfQo+ID4gPiArCj4gPiA+ ICvCoMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0KCJjbS1tdWx0aS1xdWV1ZS1jYXQtZXJyb3Itb24t c2Vjb25kYXJ5Iikgewo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3Jl cXVpcmUoaW50ZWxfZ3JhcGhpY3NfdmVyKGludGVsX2dldF9kcm1fZGV2aQo+ID4gPiBkKAo+ID4g PiBmZCkpID49IElQX1ZFUigzNSwgMCkpOwo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgeGVfZm9yX2VhY2hfbXVsdGlfcXVldWVfZW5naW5lKGZkLCBod2UpCj4gPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdGVzdF9jb21wdXRlX21v ZGUoZmQsIGh3ZSwgMTYsIDE2LAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ0FUX0VS Uk9SIHwgTVVMVElfUVVFVUUKPiA+ID4gfAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg U0VDT05EQVJZX1FVRVVFKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgfQo+ID4gPiArCj4gPiA+ICvC oMKgwqDCoMKgwqDCoGlndF9zdWJ0ZXN0KCJjbS1tdWx0aS1xdWV1ZS1ndC1yZXNldCIpIHsKPiA+ ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlndF9yZXF1aXJlKGludGVsX2dyYXBo aWNzX3ZlcihpbnRlbF9nZXRfZHJtX2RldmkKPiA+ID4gZCgKPiA+ID4gZmQpKSA+PSBJUF9WRVIo MzUsIDApKTsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHhlX2Zvcl9lYWNo X211bHRpX3F1ZXVlX2VuZ2luZShmZCwgaHdlKQo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHRlc3RfY29tcHV0ZV9tb2RlKGZkLCBod2UsIDE2LCAx NiwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEdUX1JFU0VUIHwKPiA+ID4gTVVMVElf UVVFVUUpOwo+ID4gPiArwqDCoMKgwqDCoMKgwqB9Cj4gPiA+ICsKPiA+ID4gK8KgwqDCoMKgwqDC oMKgaWd0X3N1YnRlc3QoImNtLW11bHRpLXF1ZXVlLWNsb3NlLWZkIikgewo+ID4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWd0X3JlcXVpcmUoaW50ZWxfZ3JhcGhpY3NfdmVyKGlu dGVsX2dldF9kcm1fZGV2aQo+ID4gPiBkKAo+ID4gPiBmZCkpID49IElQX1ZFUigzNSwgMCkpOwo+ ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgeGVfZm9yX2VhY2hfbXVsdGlfcXVl dWVfZW5naW5lKGZkLCBod2UpCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgdGVzdF9jb21wdXRlX21vZGUoLTEsIGh3ZSwgMTYsIDI1NiwKPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENMT1NFX0ZEIHwKPiA+ID4gTVVMVElfUVVFVUUpOwo+ ID4gPiArwqDCoMKgwqDCoMKgwqB9Cj4gPiA+ICsKPiA+ID4gK8KgwqDCoMKgwqDCoMKgaWd0X3N1 YnRlc3QoImNtLW11bHRpLXF1ZXVlLWNsb3NlLWV4ZWNxdWV1ZXMiKSB7Cj4gPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZ3RfcmVxdWlyZShpbnRlbF9ncmFwaGljc192ZXIoaW50 ZWxfZ2V0X2RybV9kZXZpCj4gPiA+IGQoCj4gPiA+IGZkKSkgPj0gSVBfVkVSKDM1LCAwKSk7Cj4g PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB4ZV9mb3JfZWFjaF9tdWx0aV9xdWV1 ZV9lbmdpbmUoZmQsIGh3ZSkKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB0ZXN0X2NvbXB1dGVfbW9kZSgtMSwgaHdlLCAxNiwgMjU2LAo+ID4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ0xPU0VfRVhFQ19RVUVVRVMgfAo+ID4gPiBDTE9TRV9G RCB8Cj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBNVUxUSV9RVUVVRSk7Cj4gPiA+ICvC oMKgwqDCoMKgwqDCoH0KPiA+ID4gKwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgaWd0X2ZpeHR1cmUo KQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRybV9jbG9zZV9kcml2ZXIo ZmQpOwo+ID4gPiB9Cj4gPiA+IC0tIAo+ID4gPiAyLjQzLjAKPiA+ID4gCj4gCgo=