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 6D16EC25B4F for ; Tue, 7 May 2024 13:12:39 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2449010F1C7; Tue, 7 May 2024 13:12:39 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="WPw8zqxY"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id D240810F0FD; Tue, 7 May 2024 13:12:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715087557; x=1746623557; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=M0jXO/Qja87j5L1miyeZLe5eaF3CZRITkAAIb22257A=; b=WPw8zqxYWr1bE/Z6rt1ngt/kWVRtOVLnSP/BaGPZ6oKuzeHwCQp+ZukM cxE/TLA838QYdfsYCmfExr1BsnCR52LirX4sA1aVX6S7pd0vM/OiGL9Sn mAwNhY093kwZEelUyyG3NRZSPxIUOUE7SXmydpCe/p4cxLnWimEFRYG/8 e5djtJhaRhvHaJNPINSIW1+ZKh/SFdtN8Yb3PZZGkxDX40igr0TrKVPWk mAMf3QpUR1z/Niwzk3PF1oq+I0fSyvsmYzTgi56FSauZw1mD67kb8a0VD 2PXykFo0/z+Iur8aFkcRrr9QmpX0EqTr6y4SvliCRwlxZ67wQe5rlUTVD g==; X-CSE-ConnectionGUID: PR09unp1SxOVfRj1Yrim3g== X-CSE-MsgGUID: UJFDnQ+FR+OLQ8h/HtkdPw== X-IronPort-AV: E=McAfee;i="6600,9927,11065"; a="10721385" X-IronPort-AV: E=Sophos;i="6.08,261,1712646000"; d="scan'208";a="10721385" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 May 2024 06:12:37 -0700 X-CSE-ConnectionGUID: +XsNhS6QQ4SkSxviT78WOA== X-CSE-MsgGUID: Tlq15AN1SiugbskaPCt/fA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,261,1712646000"; d="scan'208";a="33081674" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmviesa004.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 07 May 2024 06:12:36 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 7 May 2024 06:12:35 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 7 May 2024 06:12:35 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 7 May 2024 06:12:35 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.168) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 7 May 2024 06:12:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=THodDQ9uqzEB/Do5ZFF7tFuH44CCqM7BDs5E/aW7Xuc7Fzkr/Z/rlH67RZbpUBobSRvwcKDMclf+3/w5UQ/KlObh9yrfHh/IJG7ZQQy4sl0bApDle9JYfEqmU6hjiswUcfHviz1hjY7OnalbmYGxIIlU+4BDyCkVNgQO4mkvKwCob5Gs1H7+GntL1MGZb5q7MVAXsS5y7ISIEjR+H0LmrHbKzE24Ph009uU+DTJd7T2+YXC9yORKbNhhWMkfjIAJlPyRAOm47UB1N776d6Rzj94c+LedmOTIMv8O5go/2W9h0DAZQ4PBL1kPxBzQQu68eBcFp7jnwG66eqALhh+WDw== 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=M0jXO/Qja87j5L1miyeZLe5eaF3CZRITkAAIb22257A=; b=hv+KkSVBVsEUj9gSLMmv/2lMR+ibcgPHvF++IZSTAzNuNtAcWl6mnx36YFyUyKFEr929XyTh+PtpWD/hbhgbUH8usuznESYNv6DplgHYVeT7jp6PNLSentX9nz1/K4RzFetJsPbVver6aQJ/Xw2iqWJSntaRhRULGBYYelP41MyYsbaeOmbGNgGZvTt0MCU/E4ZegtvrT41wJ1LqDxF9B87//sqwWIgBYjQBU5FLUI0fMPCgj392VpdrLmZ46GSlA6vgFnD46bHQUPQYO+LqOny5Ve3i9T3N6xR0MnJCCibWKIizkTJiwYbWysuWPwCuo5QpyJaqkaTe5U96YR6VFA== 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 DM8PR11MB5655.namprd11.prod.outlook.com (2603:10b6:8:28::10) by SA2PR11MB4907.namprd11.prod.outlook.com (2603:10b6:806:111::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.43; Tue, 7 May 2024 13:12:33 +0000 Received: from DM8PR11MB5655.namprd11.prod.outlook.com ([fe80::5afc:274:3b02:f45]) by DM8PR11MB5655.namprd11.prod.outlook.com ([fe80::5afc:274:3b02:f45%4]) with mapi id 15.20.7544.041; Tue, 7 May 2024 13:12:33 +0000 From: "Saarinen, Jani" To: "Illipilli, TejasreeX" , Manasi Navare CC: "Modem, Bhanuprakash" , "igt-dev@lists.freedesktop.org" , "Drew Davenport" , =?utf-8?B?VmlsbGUgU3lyasOkbMOk?= , Sean Paul , "I915-ci-infra@lists.freedesktop.org" Subject: RE: [PATCH v3 1/2] tests/kms_vrr: Add a subtest for seamless modeset to a virtual LRR mode Thread-Topic: [PATCH v3 1/2] tests/kms_vrr: Add a subtest for seamless modeset to a virtual LRR mode Thread-Index: AQHaloP2K8yy2wIZvUOn+U3OKqNmHLF4mkcAgACA/4CAAM+3AIAARCvggADCpoCAAAR48IAAAXgAgAAE0cCABhbvgIAA8v6AgAAfjVCACHwtAIABMIqAgAAAdKA= Date: Tue, 7 May 2024 13:12:32 +0000 Message-ID: References: <20240424201344.783935-1-navaremanasi@chromium.org> <64cef3df-1610-4d53-a44c-905220e09b76@intel.com> <682dccc4-c788-4bfd-b8ef-b24d60b488d6@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: DM8PR11MB5655:EE_|SA2PR11MB4907:EE_ x-ms-office365-filtering-correlation-id: e38af55c-2cbc-448d-7198-08dc6e975b3f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|1800799015|376005|366007|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?a0ZFT2R5cDY3QUYyVjlDWEc5WVJ0V0ZWOTlLRDBob0pRRTQreFY0LzlFdnZj?= =?utf-8?B?ZUsrKzNtSXpxVFVGSlBhdlptMjdjWDJWWnJlVTE4cDdpdk5xNUxGczg2TEpq?= =?utf-8?B?cFhwVk5HeHFhQUc0V3YyRHlQc2NTMDlCQ2t5S0JXbVpROFZDVDRJT0hEUUkr?= =?utf-8?B?bE9UU1Y3d2Q2eXpKWW53YXh0OGd2NWpVUWdnZFVpLzhiZDdBTW9JTjFURnpF?= =?utf-8?B?eDZHV0g5NzZNTkUxY2REaEtHSEoybjU5OFpidG9Bc2FLMGtqdWlxWWdxVG1V?= =?utf-8?B?SGkxbzRXcW5WL3ZVOGJhR3FDeXQ1SElrTkhYQ2Fpc3NiMG9iY0tmR0EzOXEr?= =?utf-8?B?Yno3cnF3UEltS1dqaG4wQmhhc2ZGbm9vYm1xZitlV0VlaWtHa3FtNFZnWUxT?= =?utf-8?B?YitCMCtBMldTd29ZS2UyZUROWURyRUllT2YzVTdPaFJJWGpiNER5SlE4Ymlm?= =?utf-8?B?TndQZUVCRjZtNCtDbzQ5OEFFZGNkMUlLY0NDMlMrM1pCQkMvcW1rZUNzQ0F2?= =?utf-8?B?ei80M1p3MXBicWQ4a0dkNkp6UVlkVU1zTkxrdEVIaGE0aEsvY3k4S242R0pp?= =?utf-8?B?a0xqWHM3NWROM1JKeHluN0xnd3g5aHlWc2V6RlNQSFpKOFlaNnZHWFRuRUJX?= =?utf-8?B?Tll2dTlvNVBlYnlnRlczb3pFT3F1bWlpTXYzOFZhdmNXZ2JoaE1OU2Rxa1gv?= =?utf-8?B?VVl4eFh6aTU3d0pvcFNpaEszYUdDRWwrd0dxQlBSQ0ZLTHhuZW1JYS9kNnc0?= =?utf-8?B?bkM3c1E0cXVPaXFsTm0xZ056MVNwTHlSYkZ3TEhlUnNsTkFhVEUxN1FVbmRS?= =?utf-8?B?Y2piWW5YY2M2MUNVOGVnMkl6M085RjgrcFdHTllJaURwTzZDMEU3YnlKRXVz?= =?utf-8?B?LzFoRUtOZHdGT3JGWFNZMkgwWDRtWXJxemRWZGFHOXcxQVZvdGlCYzc5cDN0?= =?utf-8?B?WWg4WU8wSW1mdktucThtYS9zdXZ6cWM2NHA5TDhIelpFN3lTUFBGczYxdkM2?= =?utf-8?B?QTBxUEpTcnRVT29mQkxnQVRYbjFaSHJJbkRGVVBkSkU4RGZLclhqU3VlQXRC?= =?utf-8?B?Y3dZNjdpcy9zTDJQNzFyUDNjbEZQaElUM3AyR0h6TzNjZXJMTUpWanpqaFU5?= =?utf-8?B?NXF4b3RheFh3R3dRWnZhNVVQM1dWWlY1Q0drVytEUUl4OXdHanFmZjQyM01R?= =?utf-8?B?MVI5eUpZQUEzRWZEWDAwcjBWTUdGT1djUWQ1dTUrTGYxTmNqbCtKZWxzS1Jr?= =?utf-8?B?YkpwSHE1MkRkbkpkbGJTUFJVeGo2TUtEeDRYQlZGcktKOHdsN0MzWU5DejF0?= =?utf-8?B?clk0c0dYekN3OXBsanU5VnBCZmJlWkwraDZqTEJMUmh4RkdjOXdETk9lVHpw?= =?utf-8?B?NU5YTFA5bG5KTGN6V09LUVhWeWJIeTVQVWc2dmg0TmVWcTBvdTk1dTllSC9M?= =?utf-8?B?OGVWRkVNbU5BSWZkd1pxa1FlZ1doZnpndEZwNVVGMGZMRjZwTGt3QkRLUG51?= =?utf-8?B?VXQrM3dsenZTeG9GbUVUU2U1WU8xdmNZZFFqRWxTSk5haTJOSXl3RFAxYjJq?= =?utf-8?B?ZG44aUc5TjVERDNGclU1aFp3MTNSK1VXQ1c3aE52UXVzanpsV0F4UzVYUFZP?= =?utf-8?B?WWpRVzYzQ2FDYXN2OWY4WVhZb1RzbjRGZWM0YlE1eEJCaE5kWDMwMFdKZFE1?= =?utf-8?B?TXY0ZTB5d1luWWQydDMveWZHWnZnOFJyMzl5S3BpcmdzTFExeHdLeEtwT0o4?= =?utf-8?Q?/MnrBCaGPyr20p0KeI=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR11MB5655.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(1800799015)(376005)(366007)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YlBRSGU1UHZ5ZG0vZGRaeWFoaCt1enFVa3BxZEFvbGFQYTB5UEQrSmdXeE9K?= =?utf-8?B?YzZVcE92T3V6SHp5KzhvOWJuT2R5MzZvZ3Q0SjFSWUQvRzlNalVQMWtnQ21v?= =?utf-8?B?Nkc2bjIxMXlMbW4yYytxdlg0OXVWTmlZQkMrc1FxaVBHVVFqUzlLeitxd3Jm?= =?utf-8?B?dmM0V3dZT2dIdmJwQVlLTnlpbGJOZW8wbVprUDlkZEtWVFFIaThnSWxBZnJs?= =?utf-8?B?T21IOEJ5bzcwNmxuUHZwWE95eWd4VmJLZUVyVHJISFA4YmFoRXNPNFBneS81?= =?utf-8?B?T3I4a09nZDZNaldxUUxHdzNubE1tZjhjUVhtQ3NNMWd2YlpwL3ZGNWdLT0hn?= =?utf-8?B?SStYR3A0dU9FR2lGRzZrY0hRT3lVdWl4K0k0UERicU0wWm91cERrL2loVWNz?= =?utf-8?B?NTEyNzVhS05mV0QzTjNaZEVMWEZmRmF2WTgrSUpSaGwwQUwzZ1dFaXNUQ1l0?= =?utf-8?B?Z3ZJdE93ZjBLeEJxZVR6K0VkMk5hUFVuYnV0S05vRkNrcXlXbFowejBYblVW?= =?utf-8?B?WTZFc1BTa2ZVVzBFcklCNmNDb3h4MEhBUU0ydVJ2Z3U5L0UvOXRsbGc4TVZU?= =?utf-8?B?R3l0SGhIWWZkT2ErRkUycWM3STJaWFZscDNObDhyN2FPTkFGZVVOVUs0anlI?= =?utf-8?B?TDNKVVR5T0VOcFdvLzBKa09Gam1XVUhDU3N0cmJhdnFjdXVrdkRLaGQ1bjgy?= =?utf-8?B?SFRPUyt4R2pFWU9jU0txcWpONUkwZkVFd0VxNHczcGoybFd2QU5pL1UyV1JS?= =?utf-8?B?RkpPN2k5STcvRDI2RFQ1a0hwZ3RVcHpKc21XR1Q5bllvVUllRHg5UW9LTGk1?= =?utf-8?B?TDd0SjNYbmJ4Rjc5VGp1TjNhcFIrYU9KRGNPMjhrOWlrLzM1aFFMbGZ0ZzN5?= =?utf-8?B?TGZlNjFNRE83c0I5a1hRcTFwdWM5NjgvaE82anZMdkhZeDBxV3o4SDlDdDJI?= =?utf-8?B?eFlxR2hDQTUyZHpBMFdXMzJNWkNxWGF3UXp5R3liaFhwZHpMaDZwRmJ4dnl6?= =?utf-8?B?dkE4eXlNMVJHSTBtZ3NiOEsrM2VocXNybFhLR0N2SUswVWNSSVFKM2pqRmhP?= =?utf-8?B?VHhJZ09vbFp3c1M1S1lYeDhUSXhyOWU3Q29YM2JLMGo5TE5TdFVYNWxXTWV4?= =?utf-8?B?RFRJWkZvc1czRUhycGowRllyVHNLSlc2M0dwdG84dTJOZ2FOUVFLUk41cGxv?= =?utf-8?B?K2w5L0tiV1hUNkZXemxhNHg3TVRyN0xIVjlyakpicWZRaFRpUWtPZVRuU2dz?= =?utf-8?B?ck1icVFPelJlWTJIZU81TnNFWE1ydjFsTThzOC9WR1ZIa0RJaG0wb3paZy9Q?= =?utf-8?B?WFh3VDZmTDRJTk8vMUlGaWF2SU5MdVJVbXlKYUxMNFltcm5xY1NxYmVLaloy?= =?utf-8?B?TUgwTGlCK0V0MGtEQkd4bG5XM1A0S3J4OXN5cWFmS1RpYldEUkZrWi9GeWNV?= =?utf-8?B?ZGt6bmJNdFdrN2VHUVVGVjFsNkRyNGZMUXA0RnFiOTZFaHFBUDZhUUZwakc1?= =?utf-8?B?azc2d3dXYTlaZnU5TFFrY2Z5M0ZKVG9nOXlnZnZhVk9OUVJPU1pFZ2I3Nmh2?= =?utf-8?B?djlxOGxDbmZTYTBYQWl4U2Y3NWFVd1BraGUwSGhrZERDeC9aYUVtVkVXZ081?= =?utf-8?B?akY1anFMZllveEpxaU9hSjRNR2VXeWFzL3NkcjVLTnpwOVVTWjVQTGZxQ01v?= =?utf-8?B?MmMzaUJtNmVhbkVQSUxvb1VMN2tIaGNwZmQrdUZpTGpraklCSjUvQWJoWkVC?= =?utf-8?B?NkRoU0ExR2xOMXBIZis0QmtWbUZCL0s0NGNxMVJsbDV2T2pGT3lBQndpeFlo?= =?utf-8?B?eHhNeGFzZE1MaC9kZ3o4ZTRKb1lDeVdZUXpzOE12aGZqTm1lVDN2NHozMFVJ?= =?utf-8?B?bU0vMFFoeGp4Y1FLdDlkb1FuTGkrazVWT1NlaXhVeFdkMGEzeElzWjIzWkpB?= =?utf-8?B?NVpaK294V0dWYzZUc1M5ZzZZclpWWUdnMzFTMENwS3lQTVJPVnJ6OFczS2tD?= =?utf-8?B?NjdZSldWdFBaWVpHOUJvcmN2dlRLSktKY0xYUXBLZEFzS05tYkFZOVhYMmZE?= =?utf-8?B?MUpOa0UwaVFNdUxRdlVFUFVhVVhkbnNubUo2bDdqaFo2ZnBnamE4T3dGUXdQ?= =?utf-8?Q?UZVpEVOx3j7MjQziXfAEbDbUu?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5655.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e38af55c-2cbc-448d-7198-08dc6e975b3f X-MS-Exchange-CrossTenant-originalarrivaltime: 07 May 2024 13:12:32.9383 (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: SD7vpXOslqqP6dKKfCEVsbwbcxm8nwnM2I6zR59Zq5+YTGACar0aQZT88PxjOzqLUqgHMEKhOHfpryptZ8RkYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB4907 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" SGkuIA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IElsbGlwaWxsaSwg VGVqYXNyZWVYIDx0ZWphc3JlZXguaWxsaXBpbGxpQGludGVsLmNvbT4NCj4gU2VudDogVHVlc2Rh eSwgNyBNYXkgMjAyNCAxNi4xMA0KPiBUbzogTWFuYXNpIE5hdmFyZSA8bmF2YXJlbWFuYXNpQGNo cm9taXVtLm9yZz47IFNhYXJpbmVuLCBKYW5pDQo+IDxqYW5pLnNhYXJpbmVuQGludGVsLmNvbT4N Cj4gQ2M6IE1vZGVtLCBCaGFudXByYWthc2ggPGJoYW51cHJha2FzaC5tb2RlbUBpbnRlbC5jb20+ OyBpZ3QtDQo+IGRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IERyZXcgRGF2ZW5wb3J0IDxkZGF2 ZW5wb3J0QGNocm9taXVtLm9yZz47DQo+IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+OyBTZWFuIFBhdWwNCj4gPHNlYW5wYXVsQGNocm9taXVtLm9yZz47IEk5 MTUtY2ktaW5mcmFAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0gg djMgMS8yXSB0ZXN0cy9rbXNfdnJyOiBBZGQgYSBzdWJ0ZXN0IGZvciBzZWFtbGVzcw0KPiBtb2Rl c2V0IHRvIGEgdmlydHVhbCBMUlIgbW9kZQ0KPiANCj4gSGkgTWFuYXNpLA0KPiANCj4gVGhpcyBQ VyBjYW5ub3QgYmUgcmUtcmVwb3J0ZWQsIHJlc3VsdHMgd2VyZSBhbHJlYWR5IGRyb3BwZWQgZnJv bSB0aGUgc2VydmVyLg0KOyggDQo+IFJlc3VsdHMgYXJlIGtlcHQgZm9yIGEgd2VlayBvbmx5LiBQ bGVhc2UgdHJ5IHJlLXRlc3QuDQoNCk9LLCBwdXNoZWQgcmUtdGVzdCBub3cuIEhvcGVmdWxseSBN YW5hc2kgeW91IGFyZSBsdWNraWVyIG5vdy4uLiANCj4gDQo+IFRoYW5rcywNCj4gVGVqYXNyZWUN Cj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGlndC1kZXYgPGlndC1k ZXYtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJlaGFsZiBPZiBNYW5hc2kNCj4g TmF2YXJlDQo+IFNlbnQ6IFR1ZXNkYXksIE1heSA3LCAyMDI0IDEyOjMwIEFNDQo+IFRvOiBTYWFy aW5lbiwgSmFuaSA8amFuaS5zYWFyaW5lbkBpbnRlbC5jb20+DQo+IENjOiBNb2RlbSwgQmhhbnVw cmFrYXNoIDxiaGFudXByYWthc2gubW9kZW1AaW50ZWwuY29tPjsgaWd0LQ0KPiBkZXZAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnOyBEcmV3IERhdmVucG9ydCA8ZGRhdmVucG9ydEBjaHJvbWl1bS5vcmc+ Ow0KPiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPjsgU2Vh biBQYXVsDQo+IDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+OyBJOTE1LWNpLWluZnJhQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDEvMl0gdGVzdHMva21zX3Zy cjogQWRkIGEgc3VidGVzdCBmb3Igc2VhbWxlc3MNCj4gbW9kZXNldCB0byBhIHZpcnR1YWwgTFJS IG1vZGUNCj4gDQo+IEhpLA0KPiANCj4gVGhlIHJlcG9ydGVkIGNoYW5nZXMgaGF2ZSBub3RoaW5n IHRvIGRvIHdpdGggdGhlIGNoYW5nZXMgaW50cm9kdWNlZCBpbg0KPiBJR1RQV18xMTA3OSBhbmQg bmVlZCB0byBiZSBkb2N1bWVudGVkIGFzIG5ldyBmYWlsdXJlIG1vZGUuDQo+IA0KPiBSZWdhcmRz DQo+IE1hbmFzaQ0KPiANCj4gT24gV2VkLCBNYXkgMSwgMjAyNCBhdCAyOjI34oCvQU0gU2Fhcmlu ZW4sIEphbmkgPGphbmkuc2FhcmluZW5AaW50ZWwuY29tPg0KPiB3cm90ZToNCj4gPg0KPiA+IEhp LA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogTWFu YXNpIE5hdmFyZSA8bmF2YXJlbWFuYXNpQGNocm9taXVtLm9yZz4NCj4gPiA+IFNlbnQ6IFdlZG5l c2RheSwgMSBNYXkgMjAyNCAxMC4zMw0KPiA+ID4gVG86IFNhYXJpbmVuLCBKYW5pIDxqYW5pLnNh YXJpbmVuQGludGVsLmNvbT4NCj4gPiA+IENjOiBNb2RlbSwgQmhhbnVwcmFrYXNoIDxiaGFudXBy YWthc2gubW9kZW1AaW50ZWwuY29tPjsgaWd0LQ0KPiA+ID4gZGV2QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZzsgRHJldyBEYXZlbnBvcnQNCj4gPGRkYXZlbnBvcnRAY2hyb21pdW0ub3JnPjsNCj4gPiA+ IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+OyBTZWFuIFBh dWwNCj4gPiA+IDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+DQo+ID4gPiBTdWJqZWN0OiBSZTogW1BB VENIIHYzIDEvMl0gdGVzdHMva21zX3ZycjogQWRkIGEgc3VidGVzdCBmb3INCj4gPiA+IHNlYW1s ZXNzIG1vZGVzZXQgdG8gYSB2aXJ0dWFsIExSUiBtb2RlDQo+ID4gPg0KPiA+ID4gSGkgSmFuaSwg QmhhbnUsDQo+ID4gPg0KPiA+ID4gRXZlbiB3aXRoIHRoZSByZXJ1biB0aGVyZSBhcmUgc29tZSBz a2lwcyB0aGF0IGFyZSBub3QgcmVsYXRlZCB0byB0aGUNCj4gPiA+IGNoYW5nZXMgaW4gdGhpcyB0 ZXN0LiBDb3VsZCB5b3UgcGxlYXNlIHRha2UgYSBsb29rIGFuZCBtZXJnZSB0aGlzDQo+ID4gPiBz aW5jZSBCaGFudSBhbHJlYWR5IHJldmlld2VkIHRoaXMuDQo+ID4gWW91IGtub3cgaG93IHRoaXMg Z29lcy4NCj4gPiBJZiBCQVQgaXMgbm90IHBhc3NlZCB0aGVyZSBhcmUgaW5zdHJ1Y3Rpb25zIHNl bnQgdG8gcGF0Y2ggb3duZXIgd2hhdCBhcmUNCj4gYWN0aW9ucyB0byB0YWtlLiBZb3UgX211c3Rf IGdldCBGdWxsIENJIHJlc3VsdHMuDQo+ID4gWW91IGhhdmUgZ290IEJBVCByZXN1bHRzIHdoZXJl IGl0IHNheXMgIiBGQUlMVVJFIFNlcmlvdXMgdW5rbm93bg0KPiA+IGNoYW5nZXMgY29taW5nIHdp dGggSUdUUFdfMTEwNzkgYWJzb2x1dGVseSBuZWVkIHRvIGJlIHZlcmlmaWVkIG1hbnVhbGx5Lg0K PiA+IElmIHlvdSB0aGluayB0aGUgcmVwb3J0ZWQgY2hhbmdlcyBoYXZlIG5vdGhpbmcgdG8gZG8g d2l0aCB0aGUgY2hhbmdlcw0KPiBpbnRyb2R1Y2VkIGluIElHVFBXXzExMDc5LCBwbGVhc2Ugbm90 aWZ5IHlvdXIgYnVnIHRlYW0gKCdJOTE1LWNpLQ0KPiBpbmZyYUBsaXN0cy5mcmVlZGVza3RvcC5v cmcnKSB0byBhbGxvdyB0aGVtIHRvIGRvY3VtZW50IHRoaXMgbmV3IGZhaWx1cmUNCj4gbW9kZSwg d2hpY2ggd2lsbCByZWR1Y2UgZmFsc2UgcG9zaXRpdmVzIGluIENJLiINCj4gPg0KPiA+ID4NCj4g PiA+IFJlZ2FyZHMNCj4gPiA+IE1hbmFzaQ0KPiA+DQo+ID4gQnIsDQo+ID4gSmFuaQ0KPiA+DQo+ ID4gPg0KPiA+ID4gT24gVHVlLCBBcHIgMzAsIDIwMjQgYXQgMTA6MDPigK9BTSBNYW5hc2kgTmF2 YXJlDQo+ID4gPiA8bmF2YXJlbWFuYXNpQGNocm9taXVtLm9yZz4gd3JvdGU6DQo+ID4gPiA+DQo+ ID4gPiA+IEhpIEJoYW51LA0KPiA+ID4gPg0KPiA+ID4gPiBDb3VsZCB5b3UgcGxlYXNlIGdldCB0 aGlzIGxhbmRlZD8NCj4gPiA+ID4NCj4gPiA+ID4gUmVnYXJkcw0KPiA+ID4gPiBNYW5hc2kNCj4g PiA+ID4NCj4gPiA+ID4gT24gRnJpLCBBcHIgMjYsIDIwMjQgYXQgMTowM+KAr1BNIFNhYXJpbmVu LCBKYW5pDQo+ID4gPiA+IDxqYW5pLnNhYXJpbmVuQGludGVsLmNvbT4NCj4gPiA+IHdyb3RlOg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gSGksDQo+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiA+ID4gPiA+ID4gRnJvbTogTWFuYXNpIE5hdmFyZSA8bmF2YXJlbWFuYXNpQGNo cm9taXVtLm9yZz4NCj4gPiA+ID4gPiA+IFNlbnQ6IEZyaWRheSwgMjYgQXByaWwgMjAyNCAyMi40 Ng0KPiA+ID4gPiA+ID4gVG86IFNhYXJpbmVuLCBKYW5pIDxqYW5pLnNhYXJpbmVuQGludGVsLmNv bT4NCj4gPiA+ID4gPiA+IENjOiBNb2RlbSwgQmhhbnVwcmFrYXNoIDxiaGFudXByYWthc2gubW9k ZW1AaW50ZWwuY29tPjsgaWd0LQ0KPiA+ID4gPiA+ID4gZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZzsgRHJldyBEYXZlbnBvcnQNCj4gPiA+ID4gPiA+IDxkZGF2ZW5wb3J0QGNocm9taXVtLm9yZz47 IFZpbGxlIFN5cmrDpGzDpA0KPiA+ID4gPiA+ID4gPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPjsgU2VhbiBQYXVsDQo+ID4gPiA+ID4gPiA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPg0KPiA+ ID4gPiA+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAxLzJdIHRlc3RzL2ttc192cnI6IEFkZCBh IHN1YnRlc3QgZm9yDQo+ID4gPiA+ID4gPiBzZWFtbGVzcyBtb2Rlc2V0IHRvIGEgdmlydHVhbCBM UlIgbW9kZQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEdyZWF0IHRoYW5rcyBKYW5pLA0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IENvdWxkIHlvdSBwbGVhc2Uga2ljayBpbiBhIHJlIHJ1biBv biB5b3VyIGVuZD8NCj4gPiA+ID4gPiBEb25lOiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3Rv cC5vcmcvc2VyaWVzLzEzMjg2Ni8jcmV2Mg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gUmVnYXJkcw0KPiA+ID4gPiA+ID4gTWFuYXNpDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gT24gRnJpLCBBcHIgMjYsIDIwMjQgYXQgMTI6NDLigK9QTSBTYWFyaW5lbiwgSmFuaQ0KPiA+ ID4gPiA+ID4gPGphbmkuc2FhcmluZW5AaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gd3JvdGU6DQo+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEhpLA0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiA+ID4gRnJvbTog TWFuYXNpIE5hdmFyZSA8bmF2YXJlbWFuYXNpQGNocm9taXVtLm9yZz4NCj4gPiA+ID4gPiA+ID4g PiBTZW50OiBGcmlkYXksIDI2IEFwcmlsIDIwMjQgMjIuMjUNCj4gPiA+ID4gPiA+ID4gPiBUbzog U2FhcmluZW4sIEphbmkgPGphbmkuc2FhcmluZW5AaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiA+ IENjOiBNb2RlbSwgQmhhbnVwcmFrYXNoIDxiaGFudXByYWthc2gubW9kZW1AaW50ZWwuY29tPjsN Cj4gPiA+ID4gPiA+ID4gPiBpZ3QtIGRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IERyZXcgRGF2 ZW5wb3J0DQo+ID4gPiA+ID4gPiA8ZGRhdmVucG9ydEBjaHJvbWl1bS5vcmc+Ow0KPiA+ID4gPiA+ ID4gPiA+IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+OyBT ZWFuIFBhdWwNCj4gPiA+ID4gPiA+ID4gPiA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPg0KPiA+ID4g PiA+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMS8yXSB0ZXN0cy9rbXNfdnJyOiBBZGQg YSBzdWJ0ZXN0DQo+ID4gPiA+ID4gPiA+ID4gZm9yIHNlYW1sZXNzIG1vZGVzZXQgdG8gYSB2aXJ0 dWFsIExSUiBtb2RlDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBIaSBCaGFudSwg SmFuaSwNCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEkgZG8gc2VlIHRoYXQgZXZl biB0aGUgb3RoZXIgdnJyIHRlc3RzIDoNCj4gPiA+ID4gPiA+ID4gPiBzZWFtbGVzcy1yci1zd2l0 Y2gtdnJyIC9kcnJzLyBiYXNpYy0gZmFzdHNldCBhcmUgZ2V0dGluZw0KPiA+ID4gPiA+ID4gPiA+ IHNraXBwZWQgb24gQkFULCBzbyBpdHMgbm90IHJlbGF0ZWQgdG8gdGhpcyB0ZXN0LiBJIGFtIGFi bGUNCj4gPiA+ID4gPiA+ID4gPiB0byBydW4gaXQgaGVyZQ0KPiA+ID4gbG9jYWxseSBhbmQgdGVz dC4NCj4gPiA+ID4gPiA+ID4gSSB3YXMgbWFpbmx5IGxvb2tpbmcgYXQNCj4gPiA+IGh0dHBzOi8v cGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9zZXJpZXMvMTMyODY2Lw0KPiA+ID4gPiA+ID4gPiAg ICAgICAgIFBvc3NpYmxlIHJlZ3Jlc3Npb25zDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgaWd0QGRl YnVnZnNfdGVzdEByZWFkX2FsbF9lbnRyaWVzOg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiAgICAgICAgIGJhdC1hcmxzLTI6IFBBU1MgLT4gRkFJTCArMTggb3RoZXIgdGVzdHMgZmFpbA0K PiA+ID4gPiA+ID4gPiAgICAgICAgIGlndEBnZW1fZXhlY19mZW5jZUBuYi1hd2FpdDoNCj4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gICAgICAgICBiYXQtYXJscy0yOiBOT1RSVU4gLT4gSU5D T01QTEVURSArNyBvdGhlciB0ZXN0cyBpbmNvbXBsZXRlDQo+ID4gPiA+ID4gPiA+ICAgICAgICAg aWd0QGttc19hZGRmYl9iYXNpY0BhZGRmYjI1LW1vZGlmaWVyLW5vLWZsYWc6DQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgYmF0LWFybHMtMjogUEFTUyAtPiBJTkNPTVBMRVRF ICszNyBvdGhlciB0ZXN0cyBpbmNvbXBsZXRlDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgaWd0QGtt c192cnJAc2VhbWxlc3MtcnItc3dpdGNoLXZpcnR1YWwgKE5FVyk6DQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+IGJ1dCB0aGVyZSB3YXMgc29tZSBodyBtYWludGVuYW5jZSBkb25lIHRvZGF5 IHRvIHRoaXMgc2V0dXANCj4gPiA+ID4gPiA+ID4gKGJhci1hcmxzLTIpIHNvIG1heWJlIHNhZmVz dCB3b3VsZCBiZSByZS1ydW4gdG8gc2VlIGxhdGVzdA0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+IENvdWxkIHlvdSBwbGVhc2UgdGFrZSBhIGxvb2sgYW5kIHNlZSB3aHkgYWxsIG9mIHRo ZXNlDQo+ID4gPiA+ID4gPiA+ID4gd291bGQgYmUNCj4gPiA+IHNraXBwZWQ/DQo+ID4gPiA+ID4g PiA+ID4gU2VlbXMgdW5yZWxhdGVkIHRvIHRoaXMgY2hhbmdlLg0KPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gUmVnYXJkcw0KPiA+ID4gPiA+ID4gPiA+IE1hbmFzaQ0KPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gT24gRnJpLCBBcHIgMjYsIDIwMjQgYXQgMTI6NDjigK9B TSBTYWFyaW5lbiwgSmFuaQ0KPiA+ID4gPiA+ID4gPiA+IDxqYW5pLnNhYXJpbmVuQGludGVsLmNv bT4NCj4gPiA+ID4gPiA+ID4gPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ID4gPiBIaSwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gRnJvbTogaWd0LWRldiA8aWd0LWRldi1ib3VuY2VzQGxp c3RzLmZyZWVkZXNrdG9wLm9yZz4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gT24gQmVoYWxmIE9mIE1v ZGVtLCBCaGFudXByYWthc2gNCj4gPiA+ID4gPiA+ID4gPiA+ID4gU2VudDogRnJpZGF5LCAyNiBB cHJpbCAyMDI0IDYuNDQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gVG86IE1hbmFzaSBOYXZhcmUgPG5h dmFyZW1hbmFzaUBjaHJvbWl1bS5vcmc+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IENjOiBpZ3QtZGV2 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgRHJldyBEYXZlbnBvcnQNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPGRkYXZlbnBvcnRAY2hyb21pdW0ub3JnPjsgVmlsbGUgU3lyasOkbMOkDQo+ID4gPiA+ID4g PiA+ID4gPiA+IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT47IFNlYW4gUGF1bA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYzIDEvMl0gdGVzdHMva21zX3ZycjogQWRkIGENCj4g PiA+ID4gPiA+ID4gPiA+ID4gc3VidGVzdCBmb3Igc2VhbWxlc3MgbW9kZXNldCB0byBhIHZpcnR1 YWwgTFJSIG1vZGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSGkg TWFuYXNpLA0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBPbiAyNS0w NC0yMDI0IDA4OjUwIHBtLCBNYW5hc2kgTmF2YXJlIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+IEhpIEJoYW51LA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4gVGhhbmtzIGZvciB0aGUgcmV2aWV3Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFRoaXMgaXMg bm90IHNwZWNpZmljIHRvIGVkcCwgaXQgYXBwbGllcyB0byBhbGwgY29ubmVjdG9ycy4NCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IElmIHRoZSBCQVQgcmVzdWx0 cyBsb29rIG9rYXkgYW5kIEkgaGF2ZSB5b3VyIHItYiwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBj b3VsZCB3ZSBnZXQgdGhpcw0KPiA+ID4gPiA+ID4gPiA+IG1lcmdlZD8NCj4gPiA+ID4gPiA+ID4g PiA+IERpZCB5b3UgbG9vayB0aG9zZS4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IExvb2tzLCBCQVQgcmVzdWx0cyBhcmUgbm90IE9L IHRvIG1lLg0KPiA+ID4gPiA+ID4gPiA+ID4gUmlnaHQuIFRvIG1lIGxvb2tzIHNvIHRvby4NCj4g PiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ IFRoZSBuZXdseSBhZGRlZCB0ZXN0IGlzIGdldHRpbmcgc2tpcCBvbiBWUlIgY29uZmlnczoNCj4g PiA+ID4gPiA+ID4gPiA+ID4gaHR0cHM6Ly9pbnRlbC1nZngtY2kuMDEub3JnL3RyZWUvZHJtLXRp cC9JR1RQV18xMTA2NS9iDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGF0LQ0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBhbGwuaHRtbD90ZXN0ZmlsdGVyPWttc192cnImaG9zdHM9YmF0LWFkbHAtNiU3Q2JhdC1h ZGwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gcC05JQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA3Q2JhdC0N Cj4gPiA+ID4gPiA+ID4gPiA+ID4gcnBscw0KPiA+ID4gPiA+ID4gPiA+ID4gPiAtDQo+ID4gPiA+ ID4gPiA+ID4gPiA+IDQlN0NiYXQtYWRscy02DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+IC0gQmhhbnUNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IFJlZ2FyZHMNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiBNYW5hc2kNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ IE9uIFRodSwgQXByIDI1LCAyMDI0IGF0IDEyOjM54oCvQU0gTW9kZW0sIEJoYW51cHJha2FzaA0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+IDxiaGFudXByYWthc2gubW9kZW1AaW50ZWwuY29tPiB3cm90 ZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4gSGkgTWFu YXNpLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+PiBPbiAy NS0wNC0yMDI0IDAxOjQzIGFtLCBNYW5hc2kgTmF2YXJlIHdyb3RlOg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+Pj4gVGhpcyBzdWJ0ZXN0IHZhbGlkYXRlcyBMUlIgZmFzdHNldCBmdW5jdGlvbmFsaXR5 DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiBieSB0ZXN0aW5nIHNlYW1sZXNzIHN3aXRjaGluZyB3 aXRob3V0IGZ1bGwgbW9kZXNldA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gdG8gYW55IG9mIHRo ZSB2aXJ0dWFsIExSUiBtb2RlIHdpdGhpbiBWUlINCj4gPiA+ID4gPiA+ID4gPiA+ID4gcmFuZ2Uu DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiBIZXJlIHdlIHN0YXJ0IGZyb20gaGlnaGVzdCByZWZy ZXNoIHJhdGUgbW9kZSBhbmQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+IHRoZW4gc3dpdGNoIHRv IHZpcnR1YWwgTFJSIG1vZGVzIGluIHRoZSBzdGVwcyBvZg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gMTBIeiB3aXRoaW4gdGhlDQo+ID4gPiBWUlIgcmFuZ2UuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gVGhpcyBpcyB1c2VkIHRvIHRlc3QgdGhlIExS UiBmYXN0c2V0IGZ1bmN0aW9uYWxpdHkgb2YgdGhlDQo+IGRyaXZlci4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiB2NToNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPj4+IC0gUGFzcyBhIHJlZmVyZW5jZSB0byBmbGlwX2FuZF9tZWFzdXJlIChiaGFudSkNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPj4+IC0gQWRkIGEgbmV3IGxpbmUgYmV0d2VlbiBiZXR3ZWVuIGRl Y2xhcmF0aW9uIGFuZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gY29kZSBsb2dpYw0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+IHY0Og0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+Pj4gLSBDaGFuZ2UgdGhlIHRlc3QgbmFtZSB0byBhbGlnbiB3aXRoIGRycnMv dnJyDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiB0ZXN0cw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gKEJoYW51KQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLSBGaXggc29tZSBidWlsZCB3YXJu aW5ncyBkdWUgdG8gcmViYXNlDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAtIFVzZSBhIGxvY2Fs IHZpcnR1YWxfbW9kZSB2YXJpYWJsZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gPj4+IHYzOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLSBGaXggYnVpbGQg ZXJyb3IgZHVlIHRvIHJlYmFzZSAoTWFuYXNpKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gPj4+IENjOiBEcmV3IERhdmVucG9ydCA8ZGRhdmVucG9ydEBjaHJv bWl1bS5vcmc+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiBDYzogQmhhbnVwcmFrYXNoIE1vZGVt DQo+ID4gPiA8YmhhbnVwcmFrYXNoLm1vZGVtQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPj4+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29t Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gQ2M6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21p dW0ub3JnPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5h dmFyZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gPG5hdmFyZW1hbmFzaUBjaHJvbWl1bS5vcmc+ DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAtLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAg IHRlc3RzL2ttc192cnIuYyB8IDczDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0NCj4gPiA+ID4gPiA+ID4gPiA+ID4g Pj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspLCA0DQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4+PiBkZWxldGlvbnMoLSkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4+PiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX3Zyci5jIGIvdGVzdHMva21z X3Zyci5jDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiBpbmRleA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gMTVjNjJiMzRiLi43ZjY0ZDY4MDYgMTAwNjQ0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+ PiAtLS0gYS90ZXN0cy9rbXNfdnJyLmMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsrKyBiL3Rl c3RzL2ttc192cnIuYw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gQEAgLTY2LDYgKzY2LDExIEBA DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgICAgKiBEZXNjcmlwdGlvbjogVGVzdCB0byBzd2l0 Y2ggUlIgc2VhbWxlc3NseQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gd2l0aG91dA0KPiA+ID4g bW9kZXNldC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAgICAqIEZ1bmN0aW9uYWxpdHk6IGFk YXB0aXZlX3N5bmMsIGRycnMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAgICAqDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4+PiArICogU1VCVEVTVDogc2VhbWxlc3MtcnItc3dpdGNoLXZpcnR1YWwN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgKiBEZXNjcmlwdGlvbjogVGVzdCB0byBjcmVhdGUg YSBWaXJ0dWFsIE1vZGUgaW4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgVlJSIHJhbmdlIGFu ZCBzd2l0Y2ggdG8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gaXQNCj4gPiA+ID4gPiA+ID4gPiA+ID4g Pj4+ICsgKiAgICAgICAgICAgd2l0aG91dCBhIGZ1bGwgbW9kZXNldC4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gPj4+ICsgKiBGdW5jdGlvbmFsaXR5OiBMUlINCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ ICsgKg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICAgICogU1VCVEVTVDogbWF4LW1pbg0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICAgICogRGVzY3JpcHRpb246IE9zY2lsbGF0ZXMgYmV0d2Vl biBoaWdoZXN0IGFuZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gbG93ZXN0IHJlZnJlc2ggZWFj aA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBmcmFtZSBmb3INCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ ICAgICAqICAgICAgICAgICAgICBtYW51YWwgZmxpY2tlciBwcm9maWxpbmcNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPj4+IEBAIC04OSw5ICs5NCwxMCBAQCBlbnVtIHsNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPj4+ICAgICAgICBURVNUX0ZMSVBMSU5FID0gMSA8PCAzLA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gICAgICAgIFRFU1RfU0VBTUxFU1NfVlJSID0gMSA8PCA0LA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+Pj4gICAgICAgIFRFU1RfU0VBTUxFU1NfRFJSUyA9IDEgPDwgNSwNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPj4+IC0gICAgIFRFU1RfRkFTVFNFVCA9IDEgPDwgNiwNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPj4+IC0gICAgIFRFU1RfTUFYTUlOID0gMSA8PCA3LA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gLSAgICAgVEVTVF9ORUdBVElWRSA9IDEgPDwgOCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4g Pj4+ICsgICAgIFRFU1RfU0VBTUxFU1NfVklSVFVBTF9SUiA9IDEgPDwgNiwNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPj4+ICsgICAgIFRFU1RfRkFTVFNFVCA9IDEgPDwgNywNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPj4+ICsgICAgIFRFU1RfTUFYTUlOID0gMSA8PCA4LA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gKyAgICAgVEVTVF9ORUdBVElWRSA9IDEgPDwgOSwNCj4gPiA+ID4gPiA+ID4gPiA+ID4g Pj4+ICAgIH07DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gICAgZW51bSB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiBAQCAtMjE0LDYgKzIyMCwxOCBA QA0KPiA+ID4gPiA+ID4gbG93X3JyX21vZGVfd2l0aF9zYW1lX3JlcyhpZ3Rfb3V0cHV0X3QNCj4g PiA+ID4gPiA+ID4gPiA+ID4gKm91dHB1dCwgdW5zaWduZWQgaW50IHZycl9taW4pDQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4+PiAgICAgICAgcmV0dXJuIG1vZGU7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4+PiAgICB9DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gK3N0YXRpYyBkcm1Nb2RlTW9kZUluZm8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICt2aXJ0 dWFsX3JyX3Zycl9yYW5nZV9tb2RlKGlndF9vdXRwdXRfdCAqb3V0cHV0LA0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+Pj4gK3Vuc2lnbmVkIGludA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gK3ZpcnR1 YWxfcmVmcmVzaF9yYXRlKSB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArICAgICBkcm1Nb2Rl TW9kZUluZm8gbW9kZSA9DQo+ID4gPiAqaWd0X291dHB1dF9nZXRfbW9kZShvdXRwdXQpOw0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgdWludDY0X3QgY2xvY2tfaHogPSBtb2RlLmNsb2Nr ICogMTAwMDsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4g Pj4+ICsgICAgIG1vZGUudnRvdGFsID0gY2xvY2tfaHogLyAobW9kZS5odG90YWwgKg0KPiA+ID4g dmlydHVhbF9yZWZyZXNoX3JhdGUpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgbW9k ZS52cmVmcmVzaCA9IHZpcnR1YWxfcmVmcmVzaF9yYXRlOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgcmV0dXJuIG1vZGU7IH0NCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPj4+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAgIC8qIFJlYWQg bWluIGFuZCBtYXggdnJyIHJhbmdlIGZyb20gdGhlIGNvbm5lY3Rvcg0KPiBkZWJ1Z2ZzLg0KPiA+ ID4gKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAgIHN0YXRpYyByYW5nZV90DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4+PiAgICBnZXRfdnJyX3JhbmdlKGRhdGFfdCAqZGF0YSwgaWd0X291dHB1 dF90DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAqb3V0cHV0KSBAQA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+Pj4gLTY0MSw2DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArNjU5LDQ5IEBAIHRlc3Rf c2VhbWxlc3NfcnJfYmFzaWMoZGF0YV90ICpkYXRhLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4g K2VudW0gcGlwZSBwaXBlLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBpZ3Rfb3V0cHV0X3QgKm91dHB1 dCwgdWludDMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICAgICAgICAgICAgICAgICAgICAgdnJy ID8gIm9uIiA6ICJvZmYiLCB2cnIgPyAibm90DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiByZWFj aGVkIiA6ICJleGNlZWRlZCIsDQo+ID4gPiByZXN1bHQpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gICAgfQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ ICtzdGF0aWMgdm9pZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gK3Rlc3Rfc2VhbWxlc3Nfdmly dHVhbF9ycl9iYXNpYyhkYXRhX3QgKmRhdGEsIGVudW0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ ICtwaXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0cHV0LCB1aW50MzJfdCBmbGFncykgew0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgdWludDMyX3QgcmVzdWx0Ow0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+Pj4gKyAgICAgdW5zaWduZWQgaW50IHZyZWZyZXNoOw0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+Pj4gKyAgICAgdWludDY0X3QgcmF0ZVtdID0gezB9Ow0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgaWd0X2luZm8oIlVzZSBISUdI X1JSIE1vZGUgYXMgZGVmYXVsdFxuIik7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArICAgICBr bXN0ZXN0X2R1bXBfbW9kZSgmZGF0YS0NCj4gPiA+ID4gPiA+ID5zd2l0Y2hfbW9kZXNbSElHSF9S Ul9NT0RFXSk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4+PiArICAgICBwcmVwYXJlX3Rlc3QoZGF0YSwgb3V0cHV0LCBwaXBlKTsNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPj4+ICsgICAgIHJhdGVbMF0gPQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyBy YXRlX2Zyb21fcmVmcmVzaChkYXRhLQ0KPiA+ID4gPiA+ID4gPnN3aXRjaF9tb2Rlc1tISUdIX1JS X01PREVdLnZyZWZyZXMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgaCk7DQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4+PiArDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArICAgICAvKg0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgICogU2luayB3aXRoIERSUiBhbmQgVlJSIGNhbiBiZSBp biBkb3duY2xvY2sgbW9kZQ0KPiBzbw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgICog c3dpdGNoIHRvIGhpZ2hlc3QgcmVmcmVzaCByYXRlIG1vZGUuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4+PiArICAgICAgKi8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgICAgIGlndF9vdXRwdXRf b3ZlcnJpZGVfbW9kZShvdXRwdXQsICZkYXRhLQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+c3dpdGNo X21vZGVzW0hJR0hfUlJfTU9ERV0pOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKw0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+Pj4gKyBpZ3RfYXNzZXJ0KGlndF9kaXNwbGF5X3RyeV9jb21taXRfYXRv bWljKCZkYXRhLT4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgZGlzcCBsYXksIERSTV9NT0RF X1BBR0VfRkxJUF9FVkVOVCwgTlVMTCkgPT0gMCk7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAr DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArICAgICByZXN1bHQgPSBmbGlwX2FuZF9tZWFzdXJl KGRhdGEsIG91dHB1dCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgcGlwZSwgcmF0ZSwgMSwN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gVEVTVF9EVVJBVElPTl9OUyk7DQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4+PiArICAgICBpZ3RfYXNzZXJ0X2YocmVzdWx0ID4gNzUsDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4+PiArICAgICAgICAgICAgICAgICAgIlJlZnJlc2ggcmF0ZSAoJXUgSHopICUiUFJJdTY0 Im5zOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyBUYXJnZXQgdGhyZXNob2xkIG5vdA0KPiA+ ID4gPiA+ID4gPiA+ID4gPiByZWFjaGVkLCByZXN1bHQgd2FzICV1JSVcbiIsDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4+PiArDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArIGRhdGEtPnN3aXRjaF9t b2Rlc1tISUdIX1JSX01PREVdLnZyZWZyZXNoLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyBy YXRlWzBdLCByZXN1bHQpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKw0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+Pj4gKyAgICAgLyogU3dpdGNoIHRvIFZpcnR1YWwgUlIgKi8NCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPj4+ICsgICAgIGZvciAodnJlZnJlc2ggPSBkYXRhLT5yYW5nZS5taW4gKyAxMDsN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgdnJlZnJlc2ggPA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gKyBkYXRhLT5yYW5nZS5tYXg7DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHZyZWZyZXNoICs9 IDEwKSB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArICAgICAgICAgICAgIGRybU1vZGVNb2Rl SW5mbyB2aXJ0dWFsX21vZGUgPQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyB2aXJ0dWFsX3Jy X3Zycl9yYW5nZV9tb2RlKG91dHB1dCwgdnJlZnJlc2gpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ Pj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgICAgICAgICBpZ3RfaW5mbygiUmVx dWVzdGluZyBWaXJ0dWFsIE1vZGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgd2l0aCBSZWZy ZXNoIFJhdGUgKCV1IEh6KTogXG4iLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiB2cmVmcmVzaCk7DQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArICAgICAgICAgICAgIGttc3Rlc3RfZHVtcF9tb2RlKCZ2 aXJ0dWFsX21vZGUpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKw0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+Pj4gKyAgICAgICAgICAgICBpZ3Rfb3V0cHV0X292ZXJyaWRlX21vZGUob3V0cHV0LA0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAmdmlydHVhbF9tb2RlKTsNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPj4+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgaWd0X2Fzc2VydChpZ3RfZGlz cGxheV90cnlfY29tbWl0X2F0b21pYygmZGF0YS0+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAr IGRpc3ANCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgbGF5LA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gKyAwLA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyBOVUxMKSA9PSAwKTsNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPj4+ICsNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgICAgICAgICAg ICAgcmF0ZVswXSA9IHJhdGVfZnJvbV9yZWZyZXNoKHZyZWZyZXNoKTsNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPj4+ICsgICAgICAgICAgICAgcmVzdWx0ID0gZmxpcF9hbmRfbWVhc3VyZShkYXRhLA0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyBvdXRwdXQsIHBpcGUsIHJhdGUsIDEsDQo+ID4gPiA+ ID4gPiA+ID4gPiA+IFRFU1RfRFVSQVRJT05fTlMpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4g KyAgICAgICAgICAgICBpZ3RfYXNzZXJ0X2YocmVzdWx0ID4gNzUsDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVmcmVzaCByYXRlICgldSBIeikg JSJQUkl1NjQibnM6DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArIFRhcmdldCB0aHJlc2hvbGQg bm90DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHJlYWNoZWQsIHJlc3VsdCB3YXMgJXUlJVxuIiwNCj4g PiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHZyZWZyZXNo LCByYXRlWzBdLCByZXN1bHQpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgfQ0KPiA+ ID4gPiA+ID4gPiA+ID4gPiA+Pj4gK30NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPj4+ICAgIHN0YXRpYyB2b2lkIHRlc3RfY2xlYW51cChkYXRhX3QgKmRh dGEsIGVudW0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+IHBpcGUgcGlwZSwgaWd0X291dHB1dF90 DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICpvdXRwdXQpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAg ICB7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgICAgICAgaWYgKHZycl9jYXBhYmxlKG91dHB1 dCkpIEBAIC02ODYsNyArNzQ3LDcNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+IEBAIHN0YXRpYyBi b29sIG91dHB1dF9jb25zdHJhaW50KGRhdGFfdCAqZGF0YSwNCj4gPiA+ID4gPiA+ID4gPiA+ID4g aWd0X291dHB1dF90ICpvdXRwdXQsIHVpbnQzMl90IGZsYWdzDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4+PiAgICAgICAgaWd0X291dHB1dF9vdmVycmlkZV9tb2RlKG91dHB1dCwNCj4gPiA+ID4gPiA+ ID4gPiA+ID4gPj4+ICZkYXRhLT5zd2l0Y2hfbW9kZXNbSElHSF9SUl9NT0RFXSk7DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4+Pg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICAgICAgIC8qIFNlYXJj aCBmb3IgYSBsb3cgcmVmcmVzaCByYXRlIG1vZGUuICovDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+ PiAtICAgICBpZiAoIShmbGFncyAmIChURVNUX1NFQU1MRVNTX1ZSUiB8DQo+ID4gPiBURVNUX1NF QU1MRVNTX0RSUlMpKSkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgICAgIGlmICghKGZsYWdz ICYgKFRFU1RfU0VBTUxFU1NfVlJSIHwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+ICsgVEVTVF9T RUFNTEVTU19EUlJTDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArIHwNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPj4+ICsgVEVTVF9TRUFNTEVTU19WSVJUVUFMX1JSKSkpDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+IERvZXMgdGhpcyB2aXJ0dWFsIFJSIGFwcGxp Y2FibGUgdG8gZURQIG9ubHkgb3INCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4gc3VwcG9ydHMgb3Ro ZXIgY29ubmVjdG9yIHR5cGVzIHRvbz8gSWYgaXQgaXMgZURQDQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4+IHNwZWNpZmljIFsqXSwgdGhlbiB3ZSBtdXN0IGFkZCBhIGNoZWNrIGZvcg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiB0aGF0Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+PiBbKl06DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+IGh0dHBzOi8vY2dpdC5mcmVlZGVz a3RvcC5vcmcvZHJtL2lndC1ncHUtdG9vbHMvdHJlZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+PiAv dGVzDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+IHRzL2ttcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+ PiBfdnJyDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+IC5jI24NCj4gPiA+ID4gPiA+ID4gPiA+ID4g Pj4gNjYwDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+IFdp dGggYWJvdmUgY29tbWVudCBhZGRyZXNzZWQsIHRoaXMgcGF0Y2ggaXMNCj4gPiA+ID4gPiA+ID4g PiA+ID4gPj4gUmV2aWV3ZWQtYnk6IEJoYW51cHJha2FzaCBNb2RlbQ0KPiA+ID4gPiA+ID4gPiA+ IDxiaGFudXByYWthc2gubW9kZW1AaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pg0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+PiAtIEJoYW51DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+DQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gPj4+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiAgICAgICAgZGF0YS0+ c3dpdGNoX21vZGVzW0xPV19SUl9NT0RFXSA9DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiBsb3df cnJfbW9kZV93aXRoX3NhbWVfcmVzKG91dHB1dCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPj4+IGRh dGEtPnJhbmdlLm1pbik7DQo+ID4gPiBAQA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gLTg0MSw2 DQo+ID4gPiA+ID4gPiA+ID4gPiA+ICs5MDIsMTAgQEAgaWd0X21haW5fYXJncygiZHJzOiIsIGxv bmdfb3B0cywgaGVscF9zdHIsDQo+ID4gPiA+ID4gPiA+ID4gPiA+ICtvcHRfaGFuZGxlciwNCj4g PiA+ID4gPiA+ID4gPiA+ID4gKyZkYXRhKQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJiZXR3ZWVuIGZsaXANCj4gPiA+ID4gPiA+ID4gPiA+ID4g Pj4+IHRpbWVzdGFtcHMgY29udmVyZ2VzIHRvIHRoZSByZXF1ZXN0ZWQNCj4gPiA+ID4gPiA+ID4g PiA+ID4gcmF0ZSIpOw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gICAgICAgICAgICAgICAgaWd0 X3N1YnRlc3Rfd2l0aF9keW5hbWljKCJmbGlwLWJhc2ljLWZhc3RzZXQiKQ0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+Pj4gICAgICAgICAgICAgICAgICAgICAgICBydW5fdnJyX3Rlc3QoJmRhdGEsDQo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiB0ZXN0X2Jhc2ljLCBURVNUX0ZBU1RTRVQpOw0KPiA+ID4g PiA+ID4gPiA+ID4gPiA+Pj4gKw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4gKyAgICAgICAgICAg ICBpZ3RfZGVzY3JpYmUoIlRlc3QgdG8gc3dpdGNoIHRvIGFueQ0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gKyBjdXN0b20gdmlydHVhbCBtb2RlIGluIFZSUg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBy YW5nZSB3aXRob3V0IG1vZGVzZXQuIik7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4+PiArIGlndF9zdWJ0ZXN0X3dpdGhfZHluYW1pYygic2VhbWxlc3Mt cnItc3dpdGNoLQ0KPiA+ID4gdmlydHVhbCIpDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4+PiArICAg ICAgICAgICAgICAgICAgICAgcnVuX3Zycl90ZXN0KCZkYXRhLA0KPiA+ID4gPiA+ID4gPiA+ID4g PiA+Pj4gKyB0ZXN0X3NlYW1sZXNzX3ZpcnR1YWxfcnJfYmFzaWMsDQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4+PiArIFRFU1RfU0VBTUxFU1NfVklSVFVBTF9SUik7DQo+ID4gPiA+ID4gPiA+ID4gPiA+ ID4+PiAgICAgICAgfQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+Pj4NCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPj4+ICAgICAgICBpZ3RfZml4dHVyZSB7DQo=