From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AF61743677; Tue, 5 Dec 2023 12:55:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9FBEC42E3B; Tue, 5 Dec 2023 12:55:03 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by mails.dpdk.org (Postfix) with ESMTP id 4C78842E2B for ; Tue, 5 Dec 2023 12:55:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1701777302; x=1733313302; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=UP4QfylWykZtjEuPqE1FNkA3QKuT+5AoLAHLiDOJqoc=; b=U77cIDAEfruio7tRlqpuUEGbtcT/3woRuNvLqvfJtEiumTBMUKKiD1gM rfumcHd8O5v61MKkNqNmTp0xb0/YeFKKBdDeAaN4HkP/D3g1Ijv6Nn24J L3nQeMowNwiHPpNUld40xDpMYOZrtHb2qIM1+Zs1EVJujcfU/pCzhb5FH dQY/T5wJkZltLFeyo9ASntGY2yy0z6z+19Grm4NXyKrclCfFzFgpWQWaC hBaBBZ/N4Xol+lu1U+XJCb6sKiqKq4gpqG+HIwwsCEA56mn2JZSt8ge5e ShNE5qjpnvx8w3COvqIiyEdYIC5J3+QQQDk7QqDBWyOOfc13Vm2C+A/Sh g==; X-IronPort-AV: E=McAfee;i="6600,9927,10914"; a="7227664" X-IronPort-AV: E=Sophos;i="6.04,252,1695711600"; d="scan'208,217";a="7227664" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Dec 2023 03:55:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10914"; a="770888259" X-IronPort-AV: E=Sophos;i="6.04,252,1695711600"; d="scan'208,217";a="770888259" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 05 Dec 2023 03:54:59 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 5 Dec 2023 03:54:59 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) 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 via Frontend Transport; Tue, 5 Dec 2023 03:54:59 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) 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, 5 Dec 2023 03:54:58 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FSBNkXdDCO278j/mRARFROWWU6AhJLjMQGimsWGDLJ0urD+KZNdAGrkurisYOMOXhykShrHanMs0dS+H75j5klrMY3ZJMfVmBKjNQuAFSxlS6vpJk/JUR5MmC78dVxZO1Nuk+oga7AUQDsO5rRq6HMNm0KJnhkP1pMzchqvMQpbkluwP+dVbzzOOr0V+51ciG81xvUix0mTdS0YtS/yUGErb+ayojr8CYsvpX1z8t1FPEStumzZvIgYvo3pjA06FKWqBtTf/J95H8Zx8pq9SZNcBZdZSB/oZH1B+EswXleiMju3tj+P4O5NKJS8C2iipkpp0GgPTaTCwYrml4ToVlg== 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=UP4QfylWykZtjEuPqE1FNkA3QKuT+5AoLAHLiDOJqoc=; b=G8e/oZKlHZH6jF0B45zTtjs+DCbJLFZ6tPYyQPW8Np5VvBdlxldHb7VEUtbPb6nwxQzyxfebr7mKgPsoWRaS9GxLKtX7I4xyEZ59lAsBnVlbnm3KqG+6TZkWoS6X//2kSqJjEwrwXuE7eLQ2syjmHajuLczVwHRhUrjOyD4T0e7xFBuR4hJ+HWVVPToErEcOdfczKN86pGE2PXYKpPOepMjXQoMLUtVEyWadSMpS0O+z4t3/I83HE/v/OOMceSz+1rs3vLRQv+xc5ZAocwTaanRpCppaIDOCmttM1C8MoL8ngdPW8v8jYt5KP1EVc3LBSnpjQiAd3AqMPPIhM4V7HQ== 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 DM6PR11MB3995.namprd11.prod.outlook.com (2603:10b6:5:6::12) by SN7PR11MB6898.namprd11.prod.outlook.com (2603:10b6:806:2a6::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.34; Tue, 5 Dec 2023 11:54:55 +0000 Received: from DM6PR11MB3995.namprd11.prod.outlook.com ([fe80::7c33:4ba9:947f:d875]) by DM6PR11MB3995.namprd11.prod.outlook.com ([fe80::7c33:4ba9:947f:d875%4]) with mapi id 15.20.7046.034; Tue, 5 Dec 2023 11:54:54 +0000 From: "Koikkara Reeny, Shibin" To: "Tahhan, Maryam" , "ferruh.yigit@amd.com" , "stephen@networkplumber.org" , "lihuisong@huawei.com" , "fengchengwen@huawei.com" , "liuyonglong@huawei.com" CC: "dev@dpdk.org" Subject: RE: [v2] net/af_xdp: enable a sock path alongside use_cni Thread-Topic: [v2] net/af_xdp: enable a sock path alongside use_cni Thread-Index: AQHaJp0GR9CpZNAYC0qo+JjZO5acUbCZTlmwgAAnXACAAP4hMIAAG2IAgAAF3RA= Date: Tue, 5 Dec 2023 11:54:54 +0000 Message-ID: References: <20231204103101.2124374-1-mtahhan@redhat.com> <2972b645-73bd-489d-a0c8-643eba454f9b@redhat.com> In-Reply-To: <2972b645-73bd-489d-a0c8-643eba454f9b@redhat.com> 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: DM6PR11MB3995:EE_|SN7PR11MB6898:EE_ x-ms-office365-filtering-correlation-id: a1ff2190-defa-4b13-2890-08dbf588ff1f x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AYIdtFQDpdJUjTJmd1mcEDIxs9u1tRINLuRbjbWgNNQEX1astE2lyrb7Tf3zetIhxbJt39ygMuBlzUMZbVWiFcMrkUxoJE3Egz1V1CTfmA/S1ooQIBDkOtsK5oXng6ajolnu0zsvhzaoSswkYbIw3c04jje3oXM7PAZ7pOPV/wXxcIpwvu6mlm6P1/uELHwYM2WXyhH83U26Nk3y4ehmmWU3wIp8xBZTKFdtNCkjsO41baR2l3N0W/HLGUgd3WzJI0brbhN5rncOuu0EtxS/kWfpk8I6X3KBabnCXaiY4A8nWz5ysSJ85AhkBq863D4F/Av4Q9v2rISqKAatOlHA8o0gOEBFGvDacpe6+J39gk5nt7JXobNCPFn9wp8rvsgS7jur1CW5ia4p9jGiTsfzWaFQQtWUePZIJmiyI0ZS4aAkZLRw+n7ZbPC79YdLKSQWguEF21l0ZZI32+ONx+F0Eg1pGDVM2DUWFnVS1gYk442nTkLYeCiAHxp947Qw4Hj5rxaFUOZiQwDL/b75JCqpv8MT/rGZ92pjaCnE7V68kPKssiWmTn2zhOCG0Ijd5p6O+JamO3k0CAxWxStJO3M0sQ4i+cqYDyT9YaLJEkIdnrjCytsbglURxOIQMhbdUkGMAOsz7Qs3ajU4JpxMuyLRwQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3995.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(376002)(39860400002)(396003)(136003)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(26005)(966005)(478600001)(83380400001)(166002)(7696005)(71200400001)(6506007)(9686003)(53546011)(82960400001)(316002)(110136005)(66476007)(64756008)(66446008)(66946007)(76116006)(66556008)(122000001)(38100700002)(55016003)(5660300002)(52536014)(4326008)(86362001)(9326002)(2906002)(8676002)(8936002)(41300700001)(33656002)(30864003)(38070700009)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bGE1SVNmVDhNRjErYUx1N25zVkZmV3lkdjRqSm5Cbnpib2l4WjYvNWtqLzNj?= =?utf-8?B?VmtJQW5lWW1NR1dYb01TTlNCWXBIeU9JV1paall0OGtEdFRwZ1RBREQ2OVlk?= =?utf-8?B?aUxuaDdJWEx1WlVIMUlja1hoNUdBRWFNbnVQVFhIeE9NOGF0bU9wUis3dzBq?= =?utf-8?B?bDh5T2NOenNZN3Byb2pISExsOVJLeWN0RGZYVWRjdXk2UDkrTlJvT0hsb0pG?= =?utf-8?B?MitnNHppRWh4Um1mQlVvRHFyM082VlA4aldXczRSV094M290eC9jcmdOUUdv?= =?utf-8?B?MmdSQWpjc25QRXZHTzJ0dkhLdnJnT0IwMnB6bHlLM21DdlZ6QU1KcFVJNldj?= =?utf-8?B?Q1pNM0hyMllFOUIwRnc1ME5OaWFhMm4yZDh3ay80aG4xS2xQS1Qxd2Fadi9r?= =?utf-8?B?RVBiVmhZeFEwU2FvUDhFR09JcGVLSVp4aUVkNVJ5U3JnQVArdHlFSTA1aTBl?= =?utf-8?B?WVpQS0laVTlCbXhzZVRGOWp5UnN6Qys4N0U1NFY3N3cwaFdGRmhVTGlGZ3B4?= =?utf-8?B?WTRtY0dVQ0pSOTE1eEZSTndmT05iNk1wQ3NRZldYemtuRk1oazFsNXFDWlhO?= =?utf-8?B?clQ4MzlQWWd0RDBtdGVsakdLQy84cDk4Zk9QK3loazBtdmJZTG92ZlBrSUE2?= =?utf-8?B?bklMOFRNeGxqQkd3SW5VR3JzZlhsL1ZsU3pnTGhibnZsb1NEb3lXQWF3Rjl6?= =?utf-8?B?ZWFGYjlwRnV2c04ycE11cFRwVUhyeU14NkZnNlN6cU9IMmdyNDRTN2FQREZ5?= =?utf-8?B?TnZJTkFyZ1JIeWV1M2lZSHMvZnVYdWhFSkRXZVF3eU5OZHBOazBWWmh2RHZQ?= =?utf-8?B?UVZEYkxoYk0rVGxDS09zVXpYbVRSN0tlOVJQWmRjdUlrdmxSK0V3WU5Uendh?= =?utf-8?B?QVN3ZXhqUlp2RHNvY2VXQlZpTUo5QkpCSnZvL2tPQng5bEFRc1EvN0tXQTVU?= =?utf-8?B?WnU4ZXRzMDFkcFJZY3lLeDBGVkw0dkM5b3BNOFNrR0JjUFpLZnRPYWlWUE84?= =?utf-8?B?RFRwamMzQzBlbnRmME1lK0dXTmIwWW9KdUhxOU0rRXY1c2ppSGhrTUJxdEFN?= =?utf-8?B?ellONnN5YmtoMUhkUUdDUXN2UFp4dTRHLy90QldidHRFb2xGRnBhUFplTmEz?= =?utf-8?B?Y2dWYkQ2Y1E3VTFSS2pJRXg5dllKOGxscXY4RXp0bG9hc1graFN6UjJPQ2dz?= =?utf-8?B?MzhDQnBIemlVTkE4a2JBMkVpYXZXYS9EZHlEK2dBemNmbmlXaHcwSE5qMXc4?= =?utf-8?B?Tk9qWmN0SnRkUERIczlXcUFRQjE4NHpjMWNIK1VvMkpnc1NUQnlCNUVUZVZm?= =?utf-8?B?VjI4MzJWQStJRlJYbVRJTERJZkg4c2dUb1BJaFdqMVlsTm1ZN2wybzl0Q0kr?= =?utf-8?B?eTFOa2tuUmJrUEpvTXNCMlpwdU9XYnArV0hJSGNMOEJ2TnZ5TVBsMm4rQWNl?= =?utf-8?B?RGlzeFB2ZUcxZ3NsMS94UFNuOUIwdzNDdS9xS2kwMkhuNjhNSFp0TGhBYnFh?= =?utf-8?B?K0pLdjdJdEJzNktCVTNicTF1ajVhYkNiQjl2UVl5cWtsdVkrL25ZR2V1U2FF?= =?utf-8?B?RDRlQUxYNVFMa2ROSVZCRXNBUWhVNHdiQlFHZS9zMG9jWjRuQ2luUERBUmcx?= =?utf-8?B?MityR1NTOEdzc1FUUFpWbThnOW1DUjl5ZWVjRUVwN1lPOXBIS2ovSXdNWUdp?= =?utf-8?B?MElmMTBHUDJZKzk5ak9iOTZ4Rng0WExmNWdSY3dmWmRVQmhXZmNHUnl4Njgr?= =?utf-8?B?UU5iUmlnUStxOHdPdk16SG1RejFIVzMyUG1RZi9QYnBqSHVOYUJrb2JSdUpQ?= =?utf-8?B?V0tJd0NaLzRnVzZHSXUvUFgyMS9xK05uOUdxdGNqWFBRUTZXRjlSUjZRUTE0?= =?utf-8?B?RmMrVGUvZitmeXZBSWQ3djQvLzFTK0RxOWdYMHF6b0VMVVJoa1BETTB6TVlP?= =?utf-8?B?M1dYWlhLL2cyUSszZFlFMnNUUGY1MmE4OXdCbll1VWhWaHZVQ3QrbVpJVGk1?= =?utf-8?B?QkRSNDdzaGpsNW9KeHRnTEV6Si9qZzVkMytERHRjWHB2dWdYaTI1TElXdXhh?= =?utf-8?B?UEJUM3lHZ0Q1RW9Jamx5OFJUcG5mcHpJVlhhNXB3T0h3blJGb0xnUHBjci9w?= =?utf-8?B?NGpMQUhERmg3MndoOVFkN2RpRENRKzEyNVRuRkE5SXE4QWo3VlF3T3VSN3Ex?= =?utf-8?B?QlE9PQ==?= Content-Type: multipart/alternative; boundary="_000_DM6PR11MB399504D6BAC54F9E486D4BB9A285ADM6PR11MB3995namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3995.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1ff2190-defa-4b13-2890-08dbf588ff1f X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2023 11:54:54.7493 (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: bg7Z3t4hmQ0Z3jgnfDeVVbqbqtP4K1LzLWiNx+hAzmKWQnFJehJrOZ8bHFUIgWgTo/HoG8HdF3gCiL8LiH8xPG9A43yR3NR3s51M8gjGW/k= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6898 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --_000_DM6PR11MB399504D6BAC54F9E486D4BB9A285ADM6PR11MB3995namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTWFyeWFtLA0KDQpJIHdhcyBzdWdnZXN0aW5nIHdpdGggcmVmZXJlbmNlIHRvIHRoZSBjb25z dGFudCBBVE0gYW5kIHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBhZnhkcF9wbHVnaW4uIElmIHlvdSB0 aGluayB0aGV5IHdpbGwgYWxzbyBiZSBjaGFuZ2luZyBpbiB0aGUgZnV0dXJlIHRoZW4gcGxlYXNl IGdvIHdpdGggd2hhdCB5b3UgdGhpbmsgd2lsbCBiZSB0aGUgYmVzdC4NCg0KUmVnYXJkcywNClNo aWJpbg0KDQpGcm9tOiBNYXJ5YW0gVGFoaGFuIDxtdGFoaGFuQHJlZGhhdC5jb20+DQpTZW50OiBU dWVzZGF5LCBEZWNlbWJlciA1LCAyMDIzIDExOjI5IEFNDQpUbzogS29pa2thcmEgUmVlbnksIFNo aWJpbiA8c2hpYmluLmtvaWtrYXJhLnJlZW55QGludGVsLmNvbT47IGZlcnJ1aC55aWdpdEBhbWQu Y29tOyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsgbGlodWlzb25nQGh1YXdlaS5jb207IGZl bmdjaGVuZ3dlbkBodWF3ZWkuY29tOyBsaXV5b25nbG9uZ0BodWF3ZWkuY29tDQpDYzogZGV2QGRw ZGsub3JnDQpTdWJqZWN0OiBSZTogW3YyXSBuZXQvYWZfeGRwOiBlbmFibGUgYSBzb2NrIHBhdGgg YWxvbmdzaWRlIHVzZV9jbmkNCg0KSGkgU2hpYmluDQoNCkFzIEkndmUgYWxyZWFkeSBleHBsYWlu ZWQgaW4gbXkgcHJldmlvdXMgZW1haWwsIHRoZXkgYXJlIGNvbnN0YW50IEFUTSwgaG93ZXZlciB0 aGV5IHdpbGwgYmVjb21lIGNvbmZpZ3VyYWJsZS4gSSBhbSBpbXBsZW1lbnRpbmcgdGhlIE9wZXJh dG9yIGFuZCBpdCB3aWxsIG1ha2UgYSBsb3Qgb2YgdGhlc2UgImZpeGVkIiBwYXJhbXMgY29uZmln dXJhYmxlLiBNeSByZWNvbW1lbmRhdGlvbiBpcyBub3QgdG8gdHJ5IHRvIGdlbmVyYXRlIHRoZSBw YXRoIGluIERQREsgLSBhcyBpdCdzIGxpa2VseSB0byBiZSBkaWZmZXJlbnQgaW4gZGlmZmVyZW50 IGs4cyBlbnZpcm9ubWVudHMuDQoNCkFzIEkndmUgYWxzbyBtZW50aW9uZWQsIHRoZSBjdXJyZW50 IHBhdGNoIG1lYW5zIHRoYXQgSSBkb24ndCBuZWVkIHRvIGNvbWUgYmFjayBpbiAyIG1vbnRocyBh bmQgdXBkYXRlIERQREsgdG8gc3VwcG9ydCBuIHBhdGhzIGZvciB0aGUgVURTIChha2EgZnV0dXJl LXByb29maW5nKS4NCg0KQWRkaXRpb25hbGx5IC0gdGhpcyBpcyBhIHNpZGUgZGlzY3Vzc2lvbiBh cyBmYXIgYXMgdGhpcyBwYXRjaCBnb2VzLiBUaGUgcG9pbnQgb2YgdGhpcyBwYXRjaCBpcyB0byBm aXggdGhlIGJyb2tlbiBVRFMgYmVoYXZpb3IgYW5kIGl0IGhhcyBiZWVuIHRlc3RlZCBpbiBhIGZ1 bGwgZGVwbG95bWVudCBzY2VuYXJpby4gQFNoaWJpbiBpZiB5b3Ugc3Ryb25nbHkgZmVlbCB0aGF0 IHRoZXJlJ3MgYSBiZXR0ZXIgYXBwcm9hY2gsIHRoZW4gcGxlYXNlIGdvIGFoZWFkLCBpbXBsZW1l bnQgaXQsIHRlc3QgaXQgaW4gYSBmdWxsIGRlcGxveW1lbnQgc2NlbmFyaW8gYW5kIHB1c2ggaXQg Zm9yIHJldmlldy4NCg0KSW4gZ2VuZXJhbCwgYWxsb3dpbmcgdGhlIEFGX1hEUCBwYXJhbXMgdG8g YmUgY29uZmlndXJhYmxlIHJhdGhlciB0aGFuIGZpeGluZy9oYXJkY29kaW5nIGFueXRoaW5nIGlu IERQREsgZGVjb3VwbGVzIHRoZSBBRl9YRFAgRFAgZnJvbSBEUERLIHNvIHdlIGRvbid0IGhhdmUg dG8ga2VlcCBjb21pbmcgYmFjayB0byBtYWtlIGNoYW5nZXMuDQoNCkJSDQpNYXJ5YW0NCg0KDQpP biAwNS8xMi8yMDIzIDEwOjI5LCBLb2lra2FyYSBSZWVueSwgU2hpYmluIHdyb3RlOg0KSGkgTWFy eWFtLA0KDQpBcG9sb2dpZXMgZm9yIG1ha2luZyBpdCBjb25mdXNpbmcuDQoNCkFzIHBlciB0aGUg YWZ4ZHAtcGx1Z2lucy1mb3Ita3ViZXJuZXRlcyBjb2RlIGl0IGxvb2tzIGxpa2UgdGhlIHVkc1Bv ZFBhdGggb3IgdWRzU29ja0RpclsxXSBhbmQgdWRzUG9kU29ja1sxXSBhcmUgY29uc3RhbnQgYW5k IG5vdCBjaGFuZ2luZy4gT25seSB0aGUgaW50ZXJmYWNlIG5hbWUgaXMgY2hhbmdpbmcgYW5kIHdl IGFyZSBhbHJlYWR5IHBhc3NpbmcgdGhlIGludGVyZmFjZSBuYW1lIHRocm91Z2ggdGhlIGNvbW1h bmQgbGluZS4gU28gSSB3YXMgc3VnZ2VzdGluZyB3ZSBjYW4gd3JpdGUgYSBsb2dpYyB0byBjcmVh dGUgc29jayBwYXRoIGZyb20gdGhlc2UgbG9naWMuDQoNCklmIEkgYW0gd3JvbmcgcGxlYXNlIGNv cnJlY3QgbWUsIElzbuKAmXQgdGhhdCB0aGUgbG9naWMgYWZ4ZHAtcGx1Z2lucy1mb3Ita3ViZXJu ZXRlcyBkb2luZz8gWzJdDQpUaGlzIGlzIG9ubHkgYSBzdWdnZXN0aW9ucy4NCg0KWzFdIGh0dHBz Oi8vZ2l0aHViLmNvbS9pbnRlbC9hZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFp bi9jb25zdGFudHMvY29uc3RhbnRzLmdvI0w4NA0KWzJdIGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRl bC9hZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9pbnRlcm5hbC9kZXZpY2Vw bHVnaW4vcG9vbE1hbmFnZXJfdGVzdC5nbyNMOTkNCg0KSSBoYWQgYWRkZWQgMiBzbWFsbCBjb21t ZW50IGVhcmxpZXIgaW4gdGhlIGNvZGUuDQoNCg0KUmVnYXJkcywNClNoaWJpbg0KRnJvbTogTWFy eWFtIFRhaGhhbiA8bXRhaGhhbkByZWRoYXQuY29tPjxtYWlsdG86bXRhaGhhbkByZWRoYXQuY29t Pg0KU2VudDogTW9uZGF5LCBEZWNlbWJlciA0LCAyMDIzIDY6NDEgUE0NClRvOiBLb2lra2FyYSBS ZWVueSwgU2hpYmluIDxzaGliaW4ua29pa2thcmEucmVlbnlAaW50ZWwuY29tPjxtYWlsdG86c2hp YmluLmtvaWtrYXJhLnJlZW55QGludGVsLmNvbT47IGZlcnJ1aC55aWdpdEBhbWQuY29tPG1haWx0 bzpmZXJydWgueWlnaXRAYW1kLmNvbT47IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPG1haWx0 bzpzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz47IGxpaHVpc29uZ0BodWF3ZWkuY29tPG1haWx0 bzpsaWh1aXNvbmdAaHVhd2VpLmNvbT47IGZlbmdjaGVuZ3dlbkBodWF3ZWkuY29tPG1haWx0bzpm ZW5nY2hlbmd3ZW5AaHVhd2VpLmNvbT47IGxpdXlvbmdsb25nQGh1YXdlaS5jb208bWFpbHRvOmxp dXlvbmdsb25nQGh1YXdlaS5jb20+DQpDYzogZGV2QGRwZGsub3JnPG1haWx0bzpkZXZAZHBkay5v cmc+DQpTdWJqZWN0OiBSZTogW3YyXSBuZXQvYWZfeGRwOiBlbmFibGUgYSBzb2NrIHBhdGggYWxv bmdzaWRlIHVzZV9jbmkNCg0KSGkgU2hpYmluDQoNCkknbSBub3QgcmVhbGx5IHN1cmUgd2hhdCB5 b3UgYXJlIHN1Z2dlc3RpbmcsIGlzIHRvIG1ha2UgYW4gYXNzdW1wdGlvbiBvbiB0aGUgcGF0aCBw YXJ0IHdoZXJlIHRoZSBzb2NrZXQgcmVzaWRlcyAoYWthIGhhcmQgY29kZSBpdCkgYW5kIHRoZW4g dHJ5IHRvIGJ1aWxkIHRoZSBmdWxsIFVEUyBwYXRoIGluIERQREs/DQoNClllcyB0aGUgcGx1Z2lu IGlzIHVzaW5nIGNvbnN0YW50cyBBVE0gZm9yIGNlcnRhaW4gcGFydHMgb2YgdGhlIFVEUyBwYXRo LCBidXQgdGhhdCdzIG5vdCBzYXkgdGhhdCBpdCdzIHNvbWV0aGluZyB0aGF0IHdvbid0IGJlY29t ZSBjb25maWd1cmFibGUgbGF0ZXIgb24uIFNvbWVvbmUgbWF5IG5vdCB3YW50IHRvIHVzZSAiL3Rt cC9hZnhkcF9kcC8iIGFzIHRoZSBiYXNlIGRpcmVjdG9yeS4gVGhlbiB3ZSdkIGhhdmUgdG8gY2hh bmdlIERQREsncyBpbXBsZW1lbnRhdGlvbiBhZ2Fpbi4gVGhlc2UgYXJlIG5vdCByZWFsbHkgdGhp bmdzIHRoYXQgYXJlIGNvbmZpZ3VyZWQgYnkgaGFuZCBhbmQgYXJlIGdlbmVyYXRlZCBieSBpbml0 aWFsaXphdGlvbiBzY3JpcHRzICh0eXBpY2FsbHkpLiBJIHdvdWxkIHJhdGhlciBidWlsZCB0aGlz IHdpdGggdGhlIGlkZWEgdGhhdCB0aGluZ3MgY2FuIGNoYW5nZSBpbiB0aGUgZnV0dXJlIHdpdGhv dXQgaGF2aW5nIHRvIGNoYW5nZSB0aGUgRFBESyBpbXBsZW1lbnRhdGlvbiBhZ2Fpbi4NCkJSDQpN YXJ5YW0NCg0KT24gMDQvMTIvMjAyMyAxNzoxOCwgS29pa2thcmEgUmVlbnksIFNoaWJpbiB3cm90 ZToNCg0KSGkgTWFyeWFtLA0KDQoNCg0KQXBvbG9naWVzIGZvciBhc2tpbmcgdGhpcyBxdWVzdGlv biBiaXQgbGF0ZS4NCg0KVGhlIFVEUyBzb2NrIG5hbWUgd2lsbCBiZSBhZnhkcC5zb2NrIG9ubHkg YW5kIGFkZGl0aW9uIGRpcmVjdG9yIGlzIGNyZWF0ZWQgYmV0d2VlbiB0aGUgc29jayBuYW1lIGFu ZCB0aGUgdWRzIGZpbGVwYXRoICgvdG1wL2FmeGRwX2RwLzxpbnRlcmZhY2UgbmFtZT4vYWZ4ZHAu c29jaykuDQoNCg0KDQpBcyBwZXIgdGhlIGNvbW1hbmQgIiAtLXZkZXYgbmV0X2FmX3hkcDAsaWZh Y2U9PGludGVyZmFjZSBuYW1lPix1c2VfY25pPTEsdWRzX3BhdGg9L3RtcC9hZnhkcF9kcC88aW50 ZXJmYWNlIG5hbWU+L2FmeGRwLnNvY2siDQoNCldlIGFyZSBhbHJlYWR5IHBhc3NpbmcgdGhlIGlu dGVyZmFjZSBuYW1lKGlmYWNlPTxpbnRlcmZhY2UgbmFtZT4gLiBTbyBjYW4ndCB3ZSBjcmVhdGUg dGhlIHVkc19wYXRoIGluc2lkZSB0aGUgcHJvZ3JhbSB1ZHNfcGF0aD0iL3RtcC9hZnhkcF9kcC8i KyBpZmFjZSArICJhZnhkcC5zb2NrIg0KDQoNCg0KDQoNCklmIHlvdSBjaGVjayB0aGUgY29kZSBh ZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzIGNvbnN0YW50cy5nbyBbMV0gdGhleSBzdGlsbCBo YXZlIHRoZSBjb25zdGFudHMgYW5kIGFsc28gdGhleSBhcmUgdXNpbmcgdGhlc2UgY29uc3RhbnRz IHRvIGNyZWF0ZSB0aGUgcGF0aCBbMl0NCg0KDQoNClsxXSBodHRwczovL2dpdGh1Yi5jb20vaW50 ZWwvYWZ4ZHAtcGx1Z2lucy1mb3Ita3ViZXJuZXRlcy9ibG9iL21haW4vY29uc3RhbnRzL2NvbnN0 YW50cy5nbyNMODQNCg0KWzJdIGh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9hZnhkcC1wbHVnaW5z LWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9pbnRlcm5hbC9kZXZpY2VwbHVnaW4vcG9vbE1hbmFn ZXJfdGVzdC5nbyNMNzgNCg0KDQoNCklmIHdlIGFyZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGluIHRo ZSBwcm9ncmFtIHRoZW4gdXNlciB3b24ndCBoYXZlIHRvIHBhc3MgYWxvbmcgYXJndW1lbnQgdmFs dWUuDQoNCg0KDQpSZWdhcmRzLA0KDQpTaGliaW4NCg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQoNCkZyb206IE1hcnlhbSBUYWhoYW4gPG10YWhoYW5AcmVkaGF0LmNvbT48bWFpbHRv Om10YWhoYW5AcmVkaGF0LmNvbT4NCg0KU2VudDogTW9uZGF5LCBEZWNlbWJlciA0LCAyMDIzIDEw OjMxIEFNDQoNClRvOiBmZXJydWgueWlnaXRAYW1kLmNvbTxtYWlsdG86ZmVycnVoLnlpZ2l0QGFt ZC5jb20+OyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzxtYWlsdG86c3RlcGhlbkBuZXR3b3Jr cGx1bWJlci5vcmc+Ow0KDQpsaWh1aXNvbmdAaHVhd2VpLmNvbTxtYWlsdG86bGlodWlzb25nQGh1 YXdlaS5jb20+OyBmZW5nY2hlbmd3ZW5AaHVhd2VpLmNvbTxtYWlsdG86ZmVuZ2NoZW5nd2VuQGh1 YXdlaS5jb20+Ow0KDQpsaXV5b25nbG9uZ0BodWF3ZWkuY29tPG1haWx0bzpsaXV5b25nbG9uZ0Bo dWF3ZWkuY29tPjsgS29pa2thcmEgUmVlbnksIFNoaWJpbg0KDQo8c2hpYmluLmtvaWtrYXJhLnJl ZW55QGludGVsLmNvbT48bWFpbHRvOnNoaWJpbi5rb2lra2FyYS5yZWVueUBpbnRlbC5jb20+DQoN CkNjOiBkZXZAZHBkay5vcmc8bWFpbHRvOmRldkBkcGRrLm9yZz47IFRhaGhhbiwgTWFyeWFtIDxt dGFoaGFuQHJlZGhhdC5jb20+PG1haWx0bzptdGFoaGFuQHJlZGhhdC5jb20+DQoNClN1YmplY3Q6 IFt2Ml0gbmV0L2FmX3hkcDogZW5hYmxlIGEgc29jayBwYXRoIGFsb25nc2lkZSB1c2VfY25pDQoN Cg0KDQpXaXRoIHRoZSBvcmlnaW5hbCAndXNlX2NuaScgaW1wbGVtZW50YXRpb24sICh1c2luZyBh IGhhcmRjb2RlZCBzb2NrZXQgcmF0aGVyDQoNCnRoYW4gYSBjb25maWd1cmFibGUgb25lKSwgaWYg YSBzaW5nbGUgcG9kIGlzIHJlcXVlc3RpbmcgbXVsdGlwbGUgbmV0IGRldmljZXMNCg0KYW5kIHRo ZXNlIGRldmljZXMgYXJlIGZyb20gZGlmZmVyZW50IHBvb2xzLCB0aGVuIHRoZSBjb250YWluZXIg YXR0ZW1wdHMgdG8NCg0KbW91bnQgYWxsIHRoZSBuZXRkZXYgVURTZXMgaW4gdGhlIHBvZCBhcyAv dG1wL2FmeGRwLnNvY2suIFdoaWNoIG1lYW5zDQoNCnRoYXQgYXQgYmVzdCBvbmx5IDEgbmV0ZGV2 IHdpbGwgaGFuZHNoYWtlIGNvcnJlY3RseSB3aXRoIHRoZSBBRl9YRFAgRFAuIFRoaXMNCg0KcGF0 Y2ggYWRkcmVzc2VzIHRoaXMgYnkgbWFraW5nIHRoZSBzb2NrZXQgcGFyYW1ldGVyIGNvbmZpZ3Vy YWJsZSBhbG9uZ3NpZGUNCg0KdGhlICd1c2VfY25pJyBwYXJhbS4NCg0KVGVzdGVkIHdpdGggdGhl IEFGX1hEUCBEUCBDTkkgUFIgODEuDQoNCg0KDQp2MjoNCg0KKiBSZW5hbWUgc29ja19wYXRoIHRv IHVkc19wYXRoLg0KDQoqIFVwZGF0ZSBkb2N1bWVudGF0aW9uIHRvIHJlZmxlY3Qgd2hlbiBDQVBf QlBGIGlzIG5lZWRlZC4NCg0KKiBGaXggdGVzdHBtZCBhcmd1bWVudHMgaW4gdGhlIHByb3ZpZGVk IGV4YW1wbGUgZm9yIFBvZHMuDQoNCiogVXNlIEFGX1hEUCBBUEkgdG8gdXBkYXRlIHRoZSB4c2tt YXAgZW50cnkuDQoNCg0KDQpTaWduZWQtb2ZmLWJ5OiBNYXJ5YW0gVGFoaGFuIDxtdGFoaGFuQHJl ZGhhdC5jb20+PG1haWx0bzptdGFoaGFuQHJlZGhhdC5jb20+DQoNCi0tLQ0KDQogZG9jL2d1aWRl cy9ob3d0by9hZl94ZHBfY25pLnJzdCAgICAgfCAyNCArKysrKystLS0tLQ0KDQogZHJpdmVycy9u ZXQvYWZfeGRwL3J0ZV9ldGhfYWZfeGRwLmMgfCA2MiArKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLQ0KDQogMiBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMo LSkNCg0KDQoNCmRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL2hvd3RvL2FmX3hkcF9jbmkucnN0DQoN CmIvZG9jL2d1aWRlcy9ob3d0by9hZl94ZHBfY25pLnJzdCBpbmRleCBhMWE2ZDViOTljLi43ODI5 NTI2YjQwIDEwMDY0NA0KDQotLS0gYS9kb2MvZ3VpZGVzL2hvd3RvL2FmX3hkcF9jbmkucnN0DQoN CisrKyBiL2RvYy9ndWlkZXMvaG93dG8vYWZfeGRwX2NuaS5yc3QNCg0KQEAgLTM4LDkgKzM4LDEw IEBAIFRoZSBYU0tNQVAgaXMgYSBCUEYgbWFwIG9mIEFGX1hEUCBzb2NrZXRzIChYU0spLg0KDQog VGhlIGNsaWVudCBjYW4gdGhlbiBwcm9jZWVkIHdpdGggY3JlYXRpbmcgYW4gQUZfWERQIHNvY2tl dCAgYW5kIGluc2VydGluZw0KDQp0aGF0IHNvY2tldCBpbnRvIHRoZSBYU0tNQVAgcG9pbnRlZCB0 byBieSB0aGUgZGVzY3JpcHRvci4NCg0KDQoNCi1UaGUgRUFMIHZkZXYgYXJndW1lbnQgYGB1c2Vf Y25pYGAgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIHdpc2hlcyAtDQoNCnRvIHJ1 biB0aGUgUE1EIGluIHVucHJpdmlsZWdlZCBtb2RlIGFuZCB0byByZWNlaXZlIHRoZSBYU0tNQVAg ZmlsZQ0KDQpkZXNjcmlwdG9yIC1mcm9tIHRoZSBDTkkuDQoNCitUaGUgRUFMIHZkZXYgYXJndW1l bnRzIGBgdXNlX2NuaWBgIGFuZCBgYHVkc19wYXRoYGAgYXJlIHVzZWQgdG8NCg0KK2luZGljYXRl IHRoYXQgdGhlIHVzZXIgd2lzaGVzIHRvIHJ1biB0aGUgUE1EIGluIHVucHJpdmlsZWdlZCBtb2Rl IGFuZA0KDQordG8gcmVjZWl2ZSB0aGUgWFNLTUFQIGZpbGUgZGVzY3JpcHRvciBmcm9tIHRoZSBD TkkuDQoNCisNCg0KIFdoZW4gdGhpcyBmbGFnIGlzIHNldCwNCg0KIHRoZSBgYFhTS19MSUJCUEZf RkxBR1NfX0lOSElCSVRfUFJPR19MT0FEYGAgbGliYnBmIGZsYWcgIHNob3VsZCBiZQ0KDQp1c2Vk IHdoZW4gY3JlYXRpbmcgdGhlIHNvY2tldCBAQCAtNDksNyArNTAsNyBAQCBJbnN0ZWFkIHRoZSBs b2FkaW5nIGlzDQoNCmhhbmRsZWQgYnkgdGhlIENOSS4NCg0KDQoNCiAuLiBub3RlOjoNCg0KDQoN Ci0gICBUaGUgVW5peCBEb21haW4gU29ja2V0IGZpbGUgcGF0aCBhcHBlYXIgaW4gdGhlIGVuZCB1 c2VyIGlzDQoNCiIvdG1wL2FmeGRwLnNvY2siLg0KDQorICAgVGhlIFVuaXggRG9tYWluIFNvY2tl dCBmaWxlIHBhdGggYXBwZWFycyB0byB0aGUgZW5kIHVzZXIgYXQNCg0KIi90bXAvYWZ4ZHBfZHAv PG5ldGRldj4vYWZ4ZHAuc29jayIuDQoNCg0KDQoNCg0KIFByZXJlcXVpc2l0ZXMNCg0KQEAgLTIy Myw4ICsyMjQsNyBAQCBIb3d0byBydW4gZHBkay10ZXN0cG1kIHdpdGggQ05JIHBsdWdpbjoNCg0K ICAgICAgICAgIHNlY3VyaXR5Q29udGV4dDoNCg0KICAgICAgICAgICBjYXBhYmlsaXRpZXM6DQoN CiAgICAgICAgICAgICAgYWRkOg0KDQotICAgICAgICAgICAgICAgLSBDQVBfTkVUX1JBVw0KDQot ICAgICAgICAgICAgICAgLSBDQVBfQlBGDQoNCisgICAgICAgICAgICAgICAtIE5FVF9SQVcNCg0K DQoNCk5lZWQgdG8gdXBkYXRlIHRoZSAxLjMuIFByZXJlcXVpc2l0ZXMuDQoNCg0KDQoNCg0KICAg ICAgICAgIHJlc291cmNlczoNCg0KICAgICAgICAgICAgcmVxdWVzdHM6DQoNCiAgICAgICAgICAg ICAgaHVnZXBhZ2VzLTJNaTogMkdpDQoNCkBAIC0yMzksMTQgKzIzOSwyMCBAQCBIb3d0byBydW4g ZHBkay10ZXN0cG1kIHdpdGggQ05JIHBsdWdpbjoNCg0KDQoNCiAgIC4uIF9wb2QueWFtbDogaHR0 cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yLQ0KDQprdWJlcm5ldGVzL2Js b2IvdjAuMC4yL3Rlc3QvZTJlL3BvZC0xYzFkLnlhbWwNCg0KDQoNCisuLiBub3RlOjoNCg0KKw0K DQorICAgRm9yIEtlcm5lbCB2ZXJzaW9ucyBvbGRlciB0aGFuIDUuMTkgYENBUF9CUEZgIGlzIGFs c28gcmVxdWlyZWQgaW4NCg0KKyAgIHRoZSBjb250YWluZXIgY2FwYWJpbGl0aWVzIHN0YW56YS4N Cg0KKw0KDQogKiBSdW4gRFBESyB3aXRoIGEgY29tbWFuZCBsaWtlIHRoZSBmb2xsb3dpbmc6DQoN Cg0KDQogICAuLiBjb2RlLWJsb2NrOjogY29uc29sZQ0KDQoNCg0KICAgICAga3ViZWN0bCBleGVj IC1pIDxQb2QgbmFtZT4gLS1jb250YWluZXIgPGNvbnRhaW5lcnMgbmFtZT4gLS0gXA0KDQotICAg ICAgICAgICAvPFBhdGg+L2RwZGstdGVzdHBtZCAtbCAwLDEgLS1uby1wY2kgXA0KDQotICAgICAg ICAgICAtLXZkZXY9bmV0X2FmX3hkcDAsdXNlX2NuaT0xLGlmYWNlPTxpbnRlcmZhY2UgbmFtZT4g XA0KDQotICAgICAgICAgICAtLSAtLW5vLW1sb2NrYWxsIC0taW4tbWVtb3J5DQoNCisgICAgICAg ICAgIC88UGF0aD4vZHBkay10ZXN0cG1kIC1sIDAtMiAtLW5vLXBjaSAtLW1haW4tbGNvcmU9MiBc DQoNCisgICAgICAgICAgIC0tdmRldiBuZXRfYWZfeGRwMCxpZmFjZT08aW50ZXJmYWNlDQoNCm5h bWU+LHVzZV9jbmk9MSx1ZHNfcGF0aD0vdG1wL2FmeGRwX2RwLzxpbnRlcmZhY2UgbmFtZT4vYWZ4 ZHAuc29jaw0KDQpcDQoNCisgICAgICAgICAgIC0tdmRldiBuZXRfYWZfeGRwMSxpZmFjZT1lPGlu dGVyZmFjZQ0KDQpuYW1lPix1c2VfY25pPTEsdWRzX3BhdGg9L3RtcC9hZnhkcF9kcC88aW50ZXJm YWNlIG5hbWU+L2FmeGRwLnNvY2sNCg0KDQoNClRoZXJlIGlzIGEgdHlwbyAiIGlmYWNlPWU8aW50 ZXJmYWNlICIgPT0gImlmYWNlPTxpbnRlcmZhY2UiDQoNCg0KDQpcDQoNCisgICAgICAgICAgIC0t IC1pIC0tYSAtLW5iLWNvcmVzPTIgLS1yeHE9MSAtLXR4cT0xDQoNCisgLS1mb3J3YXJkLW1vZGU9 bWFjc3dhcDsNCg0KDQoNCiBGb3IgZnVydGhlciByZWZlcmVuY2UgcGxlYXNlIHVzZSB0aGUgYGUy ZWBfIHRlc3QgY2FzZSBpbiBgQUZfWERQIFBsdWdpbiBmb3INCg0KS3ViZXJuZXRlc2BfDQoNCg0K DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYWZfeGRwL3J0ZV9ldGhfYWZfeGRwLmMNCg0KYi9k cml2ZXJzL25ldC9hZl94ZHAvcnRlX2V0aF9hZl94ZHAuYw0KDQppbmRleCAzNTNjODY4OGVjLi41 MDVlZDZjZjFlIDEwMDY0NA0KDQotLS0gYS9kcml2ZXJzL25ldC9hZl94ZHAvcnRlX2V0aF9hZl94 ZHAuYw0KDQorKysgYi9kcml2ZXJzL25ldC9hZl94ZHAvcnRlX2V0aF9hZl94ZHAuYw0KDQpAQCAt ODgsNyArODgsNiBAQCBSVEVfTE9HX1JFR0lTVEVSX0RFRkFVTFQoYWZfeGRwX2xvZ3R5cGUsDQoN Ck5PVElDRSk7DQoNCiAjZGVmaW5lIFVEU19NQVhfQ01EX0xFTiAgICAgICAgICAgICAgICAgNjQN Cg0KICNkZWZpbmUgVURTX01BWF9DTURfUkVTUCAgICAgICAgMTI4DQoNCiAjZGVmaW5lIFVEU19Y U0tfTUFQX0ZEX01TRyAgICAgICAgICAgICAgIi94c2tfbWFwX2ZkIg0KDQotI2RlZmluZSBVRFNf U09DSyAgICAgICAgICAgICAgICAiL3RtcC9hZnhkcC5zb2NrIg0KDQogI2RlZmluZSBVRFNfQ09O TkVDVF9NU0cgICAgICAgICAgICAgICAgICIvY29ubmVjdCINCg0KICNkZWZpbmUgVURTX0hPU1Rf T0tfTVNHICAgICAgICAgICAgICAgICAiL2hvc3Rfb2siDQoNCiAjZGVmaW5lIFVEU19IT1NUX05B S19NU0cgICAgICAgICIvaG9zdF9uYWsiDQoNCkBAIC0xNzEsNiArMTcwLDcgQEAgc3RydWN0IHBt ZF9pbnRlcm5hbHMgew0KDQogIGJvb2wgY3VzdG9tX3Byb2dfY29uZmlndXJlZDsNCg0KICBib29s IGZvcmNlX2NvcHk7DQoNCiAgYm9vbCB1c2VfY25pOw0KDQorIGNoYXIgdWRzX3BhdGhbUEFUSF9N QVhdOw0KDQogIHN0cnVjdCBicGZfbWFwICptYXA7DQoNCg0KDQogIHN0cnVjdCBydGVfZXRoZXJf YWRkciBldGhfYWRkcjsNCg0KQEAgLTE5MSw2ICsxOTEsNyBAQCBzdHJ1Y3QgcG1kX3Byb2Nlc3Nf cHJpdmF0ZSB7DQoNCiAjZGVmaW5lIEVUSF9BRl9YRFBfQlVER0VUX0FSRyAgICAgICAgICAgICAg ICAgICJidXN5X2J1ZGdldCINCg0KICNkZWZpbmUgRVRIX0FGX1hEUF9GT1JDRV9DT1BZX0FSRyAg ICAgICAgICAgICAgImZvcmNlX2NvcHkiDQoNCiAjZGVmaW5lIEVUSF9BRl9YRFBfVVNFX0NOSV9B UkcgICAgICAgICAgICAgICAgICJ1c2VfY25pIg0KDQorI2RlZmluZSBFVEhfQUZfWERQX1VTRV9D TklfVURTX1BBVEhfQVJHICJ1ZHNfcGF0aCINCg0KDQoNCiBzdGF0aWMgY29uc3QgY2hhciAqIGNv bnN0IHZhbGlkX2FyZ3VtZW50c1tdID0gew0KDQogIEVUSF9BRl9YRFBfSUZBQ0VfQVJHLA0KDQpA QCAtMjAxLDYgKzIwMiw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdmFsaWRfYXJndW1l bnRzW10gPSB7DQoNCiAgRVRIX0FGX1hEUF9CVURHRVRfQVJHLA0KDQogIEVUSF9BRl9YRFBfRk9S Q0VfQ09QWV9BUkcsDQoNCiAgRVRIX0FGX1hEUF9VU0VfQ05JX0FSRywNCg0KKyBFVEhfQUZfWERQ X1VTRV9DTklfVURTX1BBVEhfQVJHLA0KDQogIE5VTEwNCg0KIH07DQoNCg0KDQpAQCAtMTM1MSw3 ICsxMzUzLDcgQEAgY29uZmlndXJlX3ByZWZlcnJlZF9idXN5X3BvbGwoc3RydWN0DQoNCnBrdF9y eF9xdWV1ZSAqcnhxKSAgfQ0KDQoNCg0KIHN0YXRpYyBpbnQNCg0KLWluaXRfdWRzX3NvY2soc3Ry dWN0IHNvY2thZGRyX3VuICpzZXJ2ZXIpDQoNCitpbml0X3Vkc19zb2NrKHN0cnVjdCBzb2NrYWRk cl91biAqc2VydmVyLCBjb25zdCBjaGFyICp1ZHNfcGF0aCkNCg0KIHsNCg0KICBpbnQgc29jazsN Cg0KDQoNCkBAIC0xMzYyLDcgKzEzNjQsNyBAQCBpbml0X3Vkc19zb2NrKHN0cnVjdCBzb2NrYWRk cl91biAqc2VydmVyKQ0KDQogIH0NCg0KDQoNCiAgc2VydmVyLT5zdW5fZmFtaWx5ID0gQUZfVU5J WDsNCg0KLSBzdHJsY3B5KHNlcnZlci0+c3VuX3BhdGgsIFVEU19TT0NLLCBzaXplb2Yoc2VydmVy LT5zdW5fcGF0aCkpOw0KDQorIHN0cmxjcHkoc2VydmVyLT5zdW5fcGF0aCwgdWRzX3BhdGgsIHNp emVvZihzZXJ2ZXItPnN1bl9wYXRoKSk7DQoNCg0KDQogIGlmIChjb25uZWN0KHNvY2ssIChzdHJ1 Y3Qgc29ja2FkZHIgKilzZXJ2ZXIsIHNpemVvZihzdHJ1Y3QNCg0Kc29ja2FkZHJfdW4pKSA8IDAp IHsNCg0KICAgICAgICAgIGNsb3NlKHNvY2spOw0KDQpAQCAtMTM4Miw3ICsxMzg0LDcgQEAgc3Ry dWN0IG1zZ19pbnRlcm5hbCB7ICB9Ow0KDQoNCg0KIHN0YXRpYyBpbnQNCg0KLXNlbmRfbXNnKGlu dCBzb2NrLCBjaGFyICpyZXF1ZXN0LCBpbnQgKmZkKQ0KDQorc2VuZF9tc2coaW50IHNvY2ssIGNo YXIgKnJlcXVlc3QsIGludCAqZmQsIGNvbnN0IGNoYXIgKnVkc19wYXRoKQ0KDQogew0KDQogIGlu dCBzbmQ7DQoNCiAgc3RydWN0IGlvdmVjIGlvdjsNCg0KQEAgLTEzOTMsNyArMTM5NSw3IEBAIHNl bmRfbXNnKGludCBzb2NrLCBjaGFyICpyZXF1ZXN0LCBpbnQgKmZkKQ0KDQoNCg0KICBtZW1zZXQo JmRzdCwgMCwgc2l6ZW9mKGRzdCkpOw0KDQogIGRzdC5zdW5fZmFtaWx5ID0gQUZfVU5JWDsNCg0K LSBzdHJsY3B5KGRzdC5zdW5fcGF0aCwgVURTX1NPQ0ssIHNpemVvZihkc3Quc3VuX3BhdGgpKTsN Cg0KKyBzdHJsY3B5KGRzdC5zdW5fcGF0aCwgdWRzX3BhdGgsIHNpemVvZihkc3Quc3VuX3BhdGgp KTsNCg0KDQoNCiAgLyogSW5pdGlhbGl6ZSBtZXNzYWdlIGhlYWRlciBzdHJ1Y3R1cmUgKi8NCg0K ICBtZW1zZXQoJm1zZ2gsIDAsIHNpemVvZihtc2doKSk7DQoNCkBAIC0xNDcxLDcgKzE0NzMsNyBA QCByZWFkX21zZyhpbnQgc29jaywgY2hhciAqcmVzcG9uc2UsIHN0cnVjdA0KDQpzb2NrYWRkcl91 biAqcywgaW50ICpmZCkNCg0KDQoNCiBzdGF0aWMgaW50DQoNCiBtYWtlX3JlcXVlc3RfY25pKGlu dCBzb2NrLCBzdHJ1Y3Qgc29ja2FkZHJfdW4gKnNlcnZlciwgY2hhciAqcmVxdWVzdCwNCg0KLSAg ICAgICAgICBpbnQgKnJlcV9mZCwgY2hhciAqcmVzcG9uc2UsIGludCAqb3V0X2ZkKQ0KDQorICAg ICAgICAgIGludCAqcmVxX2ZkLCBjaGFyICpyZXNwb25zZSwgaW50ICpvdXRfZmQsIGNvbnN0IGNo YXINCg0KKnVkc19wYXRoKQ0KDQogew0KDQogIGludCBydmFsOw0KDQoNCg0KQEAgLTE0ODMsNyAr MTQ4NSw3IEBAIG1ha2VfcmVxdWVzdF9jbmkoaW50IHNvY2ssIHN0cnVjdCBzb2NrYWRkcl91bg0K DQoqc2VydmVyLCBjaGFyICpyZXF1ZXN0LA0KDQogIGlmIChyZXFfZmQgPT0gTlVMTCkNCg0KICAg ICAgICAgIHJ2YWwgPSB3cml0ZShzb2NrLCByZXF1ZXN0LCBzdHJsZW4ocmVxdWVzdCkpOw0KDQog IGVsc2UNCg0KLSAgICAgICAgIHJ2YWwgPSBzZW5kX21zZyhzb2NrLCByZXF1ZXN0LCByZXFfZmQp Ow0KDQorICAgICAgICAgcnZhbCA9IHNlbmRfbXNnKHNvY2ssIHJlcXVlc3QsIHJlcV9mZCwgdWRz X3BhdGgpOw0KDQoNCg0KICBpZiAocnZhbCA8IDApIHsNCg0KICAgICAgICAgIEFGX1hEUF9MT0co RVJSLCAiV3JpdGUgZXJyb3IgJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7IEBADQoNCi0xNTA3LDcg KzE1MDksNyBAQCBjaGVja19yZXNwb25zZShjaGFyICpyZXNwb25zZSwgY2hhciAqZXhwX3Jlc3As IGxvbmcNCg0Kc2l6ZSkgIH0NCg0KDQoNCiBzdGF0aWMgaW50DQoNCi1nZXRfY25pX2ZkKGNoYXIg KmlmX25hbWUpDQoNCitnZXRfY25pX2ZkKGNoYXIgKmlmX25hbWUsIGNvbnN0IGNoYXIgKnVkc19w YXRoKQ0KDQogew0KDQogIGNoYXIgcmVxdWVzdFtVRFNfTUFYX0NNRF9MRU5dLA0KDQpyZXNwb25z ZVtVRFNfTUFYX0NNRF9SRVNQXTsNCg0KICBjaGFyIGhvc3RuYW1lW01BWF9MT05HX09QVF9TWl0s DQoNCmV4cF9yZXNwW1VEU19NQVhfQ01EX1JFU1BdOyBAQCAtMTUyMCwxNCArMTUyMiwxNCBAQA0K DQpnZXRfY25pX2ZkKGNoYXIgKmlmX25hbWUpDQoNCiAgICAgICAgICByZXR1cm4gLTE7DQoNCg0K DQogIG1lbXNldCgmc2VydmVyLCAwLCBzaXplb2Yoc2VydmVyKSk7DQoNCi0gc29jayA9IGluaXRf dWRzX3NvY2soJnNlcnZlcik7DQoNCisgc29jayA9IGluaXRfdWRzX3NvY2soJnNlcnZlciwgdWRz X3BhdGgpOw0KDQogIGlmIChzb2NrIDwgMCkNCg0KICAgICAgICAgIHJldHVybiAtMTsNCg0KDQoN CiAgLyogSW5pdGlhdGVzIGhhbmRzaGFrZSB0byBDTkkgc2VuZDogL2Nvbm5lY3QsaG9zdG5hbWUg Ki8NCg0KICBzbnByaW50ZihyZXF1ZXN0LCBzaXplb2YocmVxdWVzdCksICIlcywlcyIsIFVEU19D T05ORUNUX01TRywNCg0KaG9zdG5hbWUpOw0KDQogIG1lbXNldChyZXNwb25zZSwgMCwgc2l6ZW9m KHJlc3BvbnNlKSk7DQoNCi0gaWYgKG1ha2VfcmVxdWVzdF9jbmkoc29jaywgJnNlcnZlciwgcmVx dWVzdCwgTlVMTCwgcmVzcG9uc2UsDQoNCiZvdXRfZmQpIDwgMCkgew0KDQorIGlmIChtYWtlX3Jl cXVlc3RfY25pKHNvY2ssICZzZXJ2ZXIsIHJlcXVlc3QsIE5VTEwsIHJlc3BvbnNlLA0KDQomb3V0 X2ZkLA0KDQordWRzX3BhdGgpIDwgMCkgew0KDQogICAgICAgICAgQUZfWERQX0xPRyhFUlIsICJF cnJvciBpbiBwcm9jZXNzaW5nIGNtZCBbJXNdXG4iLA0KDQpyZXF1ZXN0KTsNCg0KICAgICAgICAg IGdvdG8gZXJyX2Nsb3NlOw0KDQogIH0NCg0KQEAgLTE1NDEsNyArMTU0Myw3IEBAIGdldF9jbmlf ZmQoY2hhciAqaWZfbmFtZSkNCg0KICAvKiBSZXF1ZXN0IGZvciAiL3ZlcnNpb24iICovDQoNCiAg c3RybGNweShyZXF1ZXN0LCBVRFNfVkVSU0lPTl9NU0csIFVEU19NQVhfQ01EX0xFTik7DQoNCiAg bWVtc2V0KHJlc3BvbnNlLCAwLCBzaXplb2YocmVzcG9uc2UpKTsNCg0KLSBpZiAobWFrZV9yZXF1 ZXN0X2NuaShzb2NrLCAmc2VydmVyLCByZXF1ZXN0LCBOVUxMLCByZXNwb25zZSwNCg0KJm91dF9m ZCkgPCAwKSB7DQoNCisgaWYgKG1ha2VfcmVxdWVzdF9jbmkoc29jaywgJnNlcnZlciwgcmVxdWVz dCwgTlVMTCwgcmVzcG9uc2UsDQoNCiZvdXRfZmQsDQoNCit1ZHNfcGF0aCkgPCAwKSB7DQoNCiAg ICAgICAgICBBRl9YRFBfTE9HKEVSUiwgIkVycm9yIGluIHByb2Nlc3NpbmcgY21kIFslc11cbiIs DQoNCnJlcXVlc3QpOw0KDQogICAgICAgICAgZ290byBlcnJfY2xvc2U7DQoNCiAgfQ0KDQpAQCAt MTU0OSw3ICsxNTUxLDcgQEAgZ2V0X2NuaV9mZChjaGFyICppZl9uYW1lKQ0KDQogIC8qIFJlcXVl c3QgZm9yIGZpbGUgZGVzY3JpcHRvciBmb3IgbmV0ZGV2IG5hbWUqLw0KDQogIHNucHJpbnRmKHJl cXVlc3QsIHNpemVvZihyZXF1ZXN0KSwgIiVzLCVzIiwNCg0KVURTX1hTS19NQVBfRkRfTVNHLCBp Zl9uYW1lKTsNCg0KICBtZW1zZXQocmVzcG9uc2UsIDAsIHNpemVvZihyZXNwb25zZSkpOw0KDQot IGlmIChtYWtlX3JlcXVlc3RfY25pKHNvY2ssICZzZXJ2ZXIsIHJlcXVlc3QsIE5VTEwsIHJlc3Bv bnNlLA0KDQomb3V0X2ZkKSA8IDApIHsNCg0KKyBpZiAobWFrZV9yZXF1ZXN0X2NuaShzb2NrLCAm c2VydmVyLCByZXF1ZXN0LCBOVUxMLCByZXNwb25zZSwNCg0KJm91dF9mZCwNCg0KK3Vkc19wYXRo KSA8IDApIHsNCg0KICAgICAgICAgIEFGX1hEUF9MT0coRVJSLCAiRXJyb3IgaW4gcHJvY2Vzc2lu ZyBjbWQgWyVzXVxuIiwNCg0KcmVxdWVzdCk7DQoNCiAgICAgICAgICBnb3RvIGVycl9jbG9zZTsN Cg0KICB9DQoNCkBAIC0xNTcxLDcgKzE1NzMsNyBAQCBnZXRfY25pX2ZkKGNoYXIgKmlmX25hbWUp DQoNCiAgLyogSW5pdGlhdGUgY2xvc2UgY29ubmVjdGlvbiAqLw0KDQogIHN0cmxjcHkocmVxdWVz dCwgVURTX0ZJTl9NU0csIFVEU19NQVhfQ01EX0xFTik7DQoNCiAgbWVtc2V0KHJlc3BvbnNlLCAw LCBzaXplb2YocmVzcG9uc2UpKTsNCg0KLSBpZiAobWFrZV9yZXF1ZXN0X2NuaShzb2NrLCAmc2Vy dmVyLCByZXF1ZXN0LCBOVUxMLCByZXNwb25zZSwNCg0KJm91dF9mZCkgPCAwKSB7DQoNCisgaWYg KG1ha2VfcmVxdWVzdF9jbmkoc29jaywgJnNlcnZlciwgcmVxdWVzdCwgTlVMTCwgcmVzcG9uc2Us DQoNCiZvdXRfZmQsDQoNCit1ZHNfcGF0aCkgPCAwKSB7DQoNCiAgICAgICAgICBBRl9YRFBfTE9H KEVSUiwgIkVycm9yIGluIHByb2Nlc3NpbmcgY21kIFslc11cbiIsDQoNCnJlcXVlc3QpOw0KDQog ICAgICAgICAgZ290byBlcnJfY2xvc2U7DQoNCiAgfQ0KDQpAQCAtMTY5NSwxNyArMTY5NywxNiBA QCB4c2tfY29uZmlndXJlKHN0cnVjdCBwbWRfaW50ZXJuYWxzICppbnRlcm5hbHMsDQoNCnN0cnVj dCBwa3RfcnhfcXVldWUgKnJ4cSwNCg0KICB9DQoNCg0KDQogIGlmIChpbnRlcm5hbHMtPnVzZV9j bmkpIHsNCg0KLSAgICAgICAgIGludCBlcnIsIGZkLCBtYXBfZmQ7DQoNCisgICAgICAgICBpbnQg ZXJyLCBtYXBfZmQ7DQoNCg0KDQogICAgICAgICAgLyogZ2V0IHNvY2tldCBmZCBmcm9tIENOSSBw bHVnaW4gKi8NCg0KLSAgICAgICAgIG1hcF9mZCA9IGdldF9jbmlfZmQoaW50ZXJuYWxzLT5pZl9u YW1lKTsNCg0KKyAgICAgICAgIG1hcF9mZCA9IGdldF9jbmlfZmQoaW50ZXJuYWxzLT5pZl9uYW1l LCBpbnRlcm5hbHMtDQoNCnVkc19wYXRoKTsNCg0KICAgICAgICAgIGlmIChtYXBfZmQgPCAwKSB7 DQoNCiAgICAgICAgICAgICAgICAgIEFGX1hEUF9MT0coRVJSLCAiRmFpbGVkIHRvIHJlY2VpdmUg Q05JIHBsdWdpbg0KDQpmZFxuIik7DQoNCiAgICAgICAgICAgICAgICAgIGdvdG8gb3V0X3hzazsN Cg0KICAgICAgICAgIH0NCg0KLSAgICAgICAgIC8qIGdldCBzb2NrZXQgZmQgKi8NCg0KLSAgICAg ICAgIGZkID0geHNrX3NvY2tldF9fZmQocnhxLT54c2spOw0KDQotICAgICAgICAgZXJyID0gYnBm X21hcF91cGRhdGVfZWxlbShtYXBfZmQsICZyeHEtDQoNCnhza19xdWV1ZV9pZHgsICZmZCwgMCk7 DQoNCisNCg0KKyAgICAgICAgIGVyciA9IHhza19zb2NrZXRfX3VwZGF0ZV94c2ttYXAocnhxLT54 c2ssIG1hcF9mZCk7DQoNCiAgICAgICAgICBpZiAoZXJyKSB7DQoNCiAgICAgICAgICAgICAgICAg IEFGX1hEUF9MT0coRVJSLCAiRmFpbGVkIHRvIGluc2VydCB1bnByaXZpbGVnZWQgeHNrDQoNCmlu IG1hcC5cbiIpOw0KDQogICAgICAgICAgICAgICAgICBnb3RvIG91dF94c2s7DQoNCkBAIC0yMDIz LDcgKzIwMjQsOCBAQCB4ZHBfZ2V0X2NoYW5uZWxzX2luZm8oY29uc3QgY2hhciAqaWZfbmFtZSwg aW50DQoNCiptYXhfcXVldWVzLCAgc3RhdGljIGludCAgcGFyc2VfcGFyYW1ldGVycyhzdHJ1Y3Qg cnRlX2t2YXJncyAqa3ZsaXN0LCBjaGFyDQoNCippZl9uYW1lLCBpbnQgKnN0YXJ0X3F1ZXVlLA0K DQogICAgICAgICAgIGludCAqcXVldWVfY250LCBpbnQgKnNoYXJlZF91bWVtLCBjaGFyICpwcm9n X3BhdGgsDQoNCi0gICAgICAgICAgaW50ICpidXN5X2J1ZGdldCwgaW50ICpmb3JjZV9jb3B5LCBp bnQgKnVzZV9jbmkpDQoNCisgICAgICAgICAgaW50ICpidXN5X2J1ZGdldCwgaW50ICpmb3JjZV9j b3B5LCBpbnQgKnVzZV9jbmksDQoNCisgICAgICAgICAgY2hhciAqdWRzX3BhdGgpDQoNCiB7DQoN CiAgaW50IHJldDsNCg0KDQoNCkBAIC0yMDY5LDYgKzIwNzEsMTEgQEAgcGFyc2VfcGFyYW1ldGVy cyhzdHJ1Y3QgcnRlX2t2YXJncyAqa3ZsaXN0LCBjaGFyDQoNCippZl9uYW1lLCBpbnQgKnN0YXJ0 X3F1ZXVlLA0KDQogIGlmIChyZXQgPCAwKQ0KDQogICAgICAgICAgZ290byBmcmVlX2t2bGlzdDsN Cg0KDQoNCisgcmV0ID0gcnRlX2t2YXJnc19wcm9jZXNzKGt2bGlzdCwNCg0KRVRIX0FGX1hEUF9V U0VfQ05JX1VEU19QQVRIX0FSRywNCg0KKyAgICAgICAgICAgICAgICAgICAgICAgICAmcGFyc2Vf cHJvZ19hcmcsIHVkc19wYXRoKTsNCg0KKyBpZiAocmV0IDwgMCkNCg0KKyAgICAgICAgIGdvdG8g ZnJlZV9rdmxpc3Q7DQoNCisNCg0KIGZyZWVfa3ZsaXN0Og0KDQogIHJ0ZV9rdmFyZ3NfZnJlZShr dmxpc3QpOw0KDQogIHJldHVybiByZXQ7DQoNCkBAIC0yMTA4LDcgKzIxMTUsNyBAQCBzdGF0aWMg c3RydWN0IHJ0ZV9ldGhfZGV2ICogIGluaXRfaW50ZXJuYWxzKHN0cnVjdA0KDQpydGVfdmRldl9k ZXZpY2UgKmRldiwgY29uc3QgY2hhciAqaWZfbmFtZSwNCg0KICAgICAgICAgaW50IHN0YXJ0X3F1 ZXVlX2lkeCwgaW50IHF1ZXVlX2NudCwgaW50IHNoYXJlZF91bWVtLA0KDQogICAgICAgICBjb25z dCBjaGFyICpwcm9nX3BhdGgsIGludCBidXN5X2J1ZGdldCwgaW50IGZvcmNlX2NvcHksDQoNCi0g ICAgICAgIGludCB1c2VfY25pKQ0KDQorICAgICAgICAgICAgaW50IHVzZV9jbmksIGNvbnN0IGNo YXIgKnVkc19wYXRoKQ0KDQogew0KDQogIGNvbnN0IGNoYXIgKm5hbWUgPSBydGVfdmRldl9kZXZp Y2VfbmFtZShkZXYpOw0KDQogIGNvbnN0IHVuc2lnbmVkIGludCBudW1hX25vZGUgPSBkZXYtPmRl dmljZS5udW1hX25vZGU7IEBAIC0NCg0KMjEzOCw2ICsyMTQ1LDcgQEAgaW5pdF9pbnRlcm5hbHMo c3RydWN0IHJ0ZV92ZGV2X2RldmljZSAqZGV2LCBjb25zdCBjaGFyDQoNCippZl9uYW1lLA0KDQog IGludGVybmFscy0+c2hhcmVkX3VtZW0gPSBzaGFyZWRfdW1lbTsNCg0KICBpbnRlcm5hbHMtPmZv cmNlX2NvcHkgPSBmb3JjZV9jb3B5Ow0KDQogIGludGVybmFscy0+dXNlX2NuaSA9IHVzZV9jbmk7 DQoNCisgc3RybGNweShpbnRlcm5hbHMtPnVkc19wYXRoLCB1ZHNfcGF0aCwgUEFUSF9NQVgpOw0K DQoNCg0KICBpZiAoeGRwX2dldF9jaGFubmVsc19pbmZvKGlmX25hbWUsICZpbnRlcm5hbHMtPm1h eF9xdWV1ZV9jbnQsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZpbnRlcm5hbHMtPmNv bWJpbmVkX3F1ZXVlX2NudCkpIHsgQEAgLQ0KDQoyMzI4LDYgKzIzMzYsNyBAQCBydGVfcG1kX2Fm X3hkcF9wcm9iZShzdHJ1Y3QgcnRlX3ZkZXZfZGV2aWNlICpkZXYpDQoNCiAgaW50IGJ1c3lfYnVk Z2V0ID0gLTEsIHJldDsNCg0KICBpbnQgZm9yY2VfY29weSA9IDA7DQoNCiAgaW50IHVzZV9jbmkg PSAwOw0KDQorIGNoYXIgdWRzX3BhdGhbUEFUSF9NQVhdID0geydcMCd9Ow0KDQogIHN0cnVjdCBy dGVfZXRoX2RldiAqZXRoX2RldiA9IE5VTEw7DQoNCiAgY29uc3QgY2hhciAqbmFtZSA9IHJ0ZV92 ZGV2X2RldmljZV9uYW1lKGRldik7DQoNCg0KDQpAQCAtMjM3MCw3ICsyMzc5LDcgQEAgcnRlX3Bt ZF9hZl94ZHBfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZQ0KDQoqZGV2KQ0KDQoNCg0KICBp ZiAocGFyc2VfcGFyYW1ldGVycyhrdmxpc3QsIGlmX25hbWUsICZ4c2tfc3RhcnRfcXVldWVfaWR4 LA0KDQogICAgICAgICAgICAgICAgICAgICAgICZ4c2tfcXVldWVfY250LCAmc2hhcmVkX3VtZW0s IHByb2dfcGF0aCwNCg0KLSAgICAgICAgICAgICAgICAgICAgICAmYnVzeV9idWRnZXQsICZmb3Jj ZV9jb3B5LCAmdXNlX2NuaSkgPCAwKSB7DQoNCisgICAgICAgICAgICAgICAgICAgICAgICAgJmJ1 c3lfYnVkZ2V0LCAmZm9yY2VfY29weSwgJnVzZV9jbmksDQoNCnVkc19wYXRoKSA8IDApIHsNCg0K ICAgICAgICAgIEFGX1hEUF9MT0coRVJSLCAiSW52YWxpZCBrdmFyZ3MgdmFsdWVcbiIpOw0KDQog ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQoNCiAgfQ0KDQpAQCAtMjM4Nyw2ICsyMzk2LDEyIEBA IHJ0ZV9wbWRfYWZfeGRwX3Byb2JlKHN0cnVjdCBydGVfdmRldl9kZXZpY2UNCg0KKmRldikNCg0K ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQoNCiAgfQ0KDQoNCg0KKyBpZiAodXNl X2NuaSAmJiAhc3Rybmxlbih1ZHNfcGF0aCwgUEFUSF9NQVgpKSB7DQoNCisgICAgICAgICBBRl9Y RFBfTE9HKEVSUiwgIldoZW4gJyVzJyBwYXJhbWV0ZXIgaXMgdXNlZCwgJyVzJyBtdXN0DQoNCmFs c28gYmUgcHJvdmlkZWRcbiIsDQoNCisgICAgICAgICAgICAgICAgIEVUSF9BRl9YRFBfVVNFX0NO SV9BUkcsDQoNCkVUSF9BRl9YRFBfVVNFX0NOSV9VRFNfUEFUSF9BUkcpOw0KDQorICAgICAgICAg ICAgICAgICByZXR1cm4gLUVJTlZBTDsNCg0KKyB9DQoNCisNCg0KICBpZiAoc3RybGVuKGlmX25h bWUpID09IDApIHsNCg0KICAgICAgICAgIEFGX1hEUF9MT0coRVJSLCAiTmV0d29yayBpbnRlcmZh Y2UgbXVzdCBiZQ0KDQpzcGVjaWZpZWRcbiIpOw0KDQogICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 DQoNCkBAIC0yNDEwLDcgKzI0MjUsNyBAQCBydGVfcG1kX2FmX3hkcF9wcm9iZShzdHJ1Y3QgcnRl X3ZkZXZfZGV2aWNlDQoNCipkZXYpDQoNCg0KDQogIGV0aF9kZXYgPSBpbml0X2ludGVybmFscyhk ZXYsIGlmX25hbWUsIHhza19zdGFydF9xdWV1ZV9pZHgsDQoNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgeHNrX3F1ZXVlX2NudCwgc2hhcmVkX3VtZW0sIHByb2dfcGF0aCwNCg0KLSAgICAgICAg ICAgICAgICAgICAgICAgICBidXN5X2J1ZGdldCwgZm9yY2VfY29weSwgdXNlX2NuaSk7DQoNCisg ICAgICAgICAgICAgICAgICAgICAgICAgYnVzeV9idWRnZXQsIGZvcmNlX2NvcHksIHVzZV9jbmks DQoNCnVkc19wYXRoKTsNCg0KICBpZiAoZXRoX2RldiA9PSBOVUxMKSB7DQoNCiAgICAgICAgICBB Rl9YRFBfTE9HKEVSUiwgIkZhaWxlZCB0byBpbml0IGludGVybmFsc1xuIik7DQoNCiAgICAgICAg ICByZXR1cm4gLTE7DQoNCkBAIC0yNDcxLDQgKzI0ODYsNSBAQA0KDQpSVEVfUE1EX1JFR0lTVEVS X1BBUkFNX1NUUklORyhuZXRfYWZfeGRwLA0KDQogICAgICAgICAgICAgICAgICAgICAgICAieGRw X3Byb2c9PHN0cmluZz4gIg0KDQogICAgICAgICAgICAgICAgICAgICAgICAiYnVzeV9idWRnZXQ9 PGludD4gIg0KDQogICAgICAgICAgICAgICAgICAgICAgICAiZm9yY2VfY29weT08aW50PiAiDQoN Ci0gICAgICAgICAgICAgICAgICAgICAgICJ1c2VfY25pPTxpbnQ+ICIpOw0KDQorICAgICAgICAg ICAgICAgICAgICAgICAidXNlX2NuaT08aW50PiAiDQoNCisgICAgICAgICAgICAgICAgICAgICAg ICJ1ZHNfcGF0aD08c3RyaW5nPiAiKTsNCg0KLS0NCg0KMi40MS4wDQoNCg0KDQoNCg0KDQo= --_000_DM6PR11MB399504D6BAC54F9E486D4BB9A285ADM6PR11MB3995namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDEx IDYgOSAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWws IGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCWZvbnQtc2l6ZTox MS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KYTpsaW5rLCBzcGFu Lk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0 ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnByZQ0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7 DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1hcmdpbjowaW47 DQoJZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCnNwYW4u SFRNTFByZWZvcm1hdHRlZENoYXINCgl7bXNvLXN0eWxlLW5hbWU6IkhUTUwgUHJlZm9ybWF0dGVk IENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCBQ cmVmb3JtYXR0ZWQiOw0KCWZvbnQtZmFtaWx5OkNvbnNvbGFzO30NCnNwYW4uRW1haWxTdHlsZTIx DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp IixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNv LXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDsNCgltc28tbGlnYXR1 cmVzOm5vbmU7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1h cmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6 V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpz aGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5k aWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRp dCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48 L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLUlFIiBsaW5rPSJibHVl IiB2bGluaz0icHVycGxlIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPg0KPGRpdiBjbGFz cz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28t ZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SGkgTWFyeWFtLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpF Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5JIHdhcyBzdWdnZXN0aW5n IHdpdGggcmVmZXJlbmNlIHRvIHRoZSBjb25zdGFudCBBVE0gYW5kIHRoZSBpbXBsZW1lbnRhdGlv biBpbiBhZnhkcF9wbHVnaW4uIElmIHlvdSB0aGluayB0aGV5IHdpbGwgYWxzbyBiZSBjaGFuZ2lu ZyBpbiB0aGUgZnV0dXJlIHRoZW4gcGxlYXNlIGdvIHdpdGggd2hhdCB5b3UgdGhpbmsgd2lsbCBi ZSB0aGUgYmVzdC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFz dC1sYW5ndWFnZTpFTi1VUyI+UmVnYXJkcyw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPlNo aWJpbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+ PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVw dDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6 bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGlu IDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBsYW5nPSJFTi1VUyI+RnJvbTo8 L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gTWFyeWFtIFRhaGhhbiAmbHQ7bXRhaGhhbkBy ZWRoYXQuY29tJmd0Ow0KPGJyPg0KPGI+U2VudDo8L2I+IFR1ZXNkYXksIERlY2VtYmVyIDUsIDIw MjMgMTE6MjkgQU08YnI+DQo8Yj5Ubzo8L2I+IEtvaWtrYXJhIFJlZW55LCBTaGliaW4gJmx0O3No aWJpbi5rb2lra2FyYS5yZWVueUBpbnRlbC5jb20mZ3Q7OyBmZXJydWgueWlnaXRAYW1kLmNvbTsg c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc7IGxpaHVpc29uZ0BodWF3ZWkuY29tOyBmZW5nY2hl bmd3ZW5AaHVhd2VpLmNvbTsgbGl1eW9uZ2xvbmdAaHVhd2VpLmNvbTxicj4NCjxiPkNjOjwvYj4g ZGV2QGRwZGsub3JnPGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbdjJdIG5ldC9hZl94ZHA6IGVu YWJsZSBhIHNvY2sgcGF0aCBhbG9uZ3NpZGUgdXNlX2NuaTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv cD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5IaSBTaGliaW48bzpwPjwvbzpwPjwvcD4N CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QXMgSSd2ZSBhbHJlYWR5IGV4 cGxhaW5lZCBpbiBteSBwcmV2aW91cyBlbWFpbCwgdGhleSBhcmUgY29uc3RhbnQgQVRNLCBob3dl dmVyIHRoZXkgd2lsbCBiZWNvbWUgY29uZmlndXJhYmxlLiBJIGFtIGltcGxlbWVudGluZyB0aGUg T3BlcmF0b3IgYW5kIGl0IHdpbGwgbWFrZSBhIGxvdCBvZiB0aGVzZSAmcXVvdDtmaXhlZCZxdW90 OyBwYXJhbXMgY29uZmlndXJhYmxlLiBNeSByZWNvbW1lbmRhdGlvbiBpcyBub3QgdG8gdHJ5IHRv DQogZ2VuZXJhdGUgdGhlIHBhdGggaW4gRFBESyAtIGFzIGl0J3MgbGlrZWx5IHRvIGJlIGRpZmZl cmVudCBpbiBkaWZmZXJlbnQgazhzIGVudmlyb25tZW50cy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QXMgSSd2ZSBhbHNvIG1lbnRpb25lZCwg dGhlIGN1cnJlbnQgcGF0Y2ggbWVhbnMgdGhhdCBJIGRvbid0IG5lZWQgdG8gY29tZSBiYWNrIGlu IDIgbW9udGhzIGFuZCB1cGRhdGUgRFBESyB0byBzdXBwb3J0IG4gcGF0aHMgZm9yIHRoZSBVRFMg KGFrYSBmdXR1cmUtcHJvb2ZpbmcpLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5BZGRpdGlvbmFsbHkgLSB0aGlzIGlzIGEgc2lkZSBkaXNjdXNz aW9uIGFzIGZhciBhcyB0aGlzIHBhdGNoIGdvZXMuDQo8Yj5UaGUgcG9pbnQgb2YgdGhpcyBwYXRj aCBpcyB0byBmaXggdGhlIGJyb2tlbiBVRFMgYmVoYXZpb3IgPC9iPmFuZCBpdCBoYXMgYmVlbiB0 ZXN0ZWQgaW4gYSBmdWxsIGRlcGxveW1lbnQgc2NlbmFyaW8uIEBTaGliaW4gaWYgeW91IHN0cm9u Z2x5IGZlZWwgdGhhdCB0aGVyZSdzIGEgYmV0dGVyIGFwcHJvYWNoLCB0aGVuIHBsZWFzZSBnbyBh aGVhZCwgaW1wbGVtZW50IGl0LCB0ZXN0IGl0IGluIGEgZnVsbCBkZXBsb3ltZW50IHNjZW5hcmlv IGFuZA0KIHB1c2ggaXQgZm9yIHJldmlldy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkluIGdlbmVyYWwsIGFsbG93aW5nIHRoZSBB Rl9YRFAgcGFyYW1zIHRvIGJlIGNvbmZpZ3VyYWJsZSByYXRoZXIgdGhhbiBmaXhpbmcvaGFyZGNv ZGluZyBhbnl0aGluZyBpbiBEUERLIGRlY291cGxlcyB0aGUgQUZfWERQIERQIGZyb20gRFBESyBz byB3ZSBkb24ndCBoYXZlIHRvIGtlZXAgY29taW5nIGJhY2sgdG8gbWFrZSBjaGFuZ2VzLjxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi PkJSPGJyPg0KTWFyeWFtPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+T24gMDUvMTIvMjAyMyAxMDoyOSwgS29pa2thcmEgUmVlbnksIFNoaWJp biB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdp bi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPkhpIE1hcnlhbSw8L3NwYW4+ PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZh cmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+ QXBvbG9naWVzIGZvciBtYWtpbmcgaXQgY29uZnVzaW5nLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpF Ti1VUyI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5BcyBwZXIgdGhlIGFmeGRw LXBsdWdpbnMtZm9yLWt1YmVybmV0ZXMgY29kZSBpdCBsb29rcyBsaWtlIHRoZSB1ZHNQb2RQYXRo IG9yIHVkc1NvY2tEaXJbMV0gYW5kIHVkc1BvZFNvY2tbMV0gYXJlIGNvbnN0YW50IGFuZCBub3Qg Y2hhbmdpbmcuIE9ubHkgdGhlIGludGVyZmFjZSBuYW1lIGlzIGNoYW5naW5nIGFuZCB3ZSBhcmUg YWxyZWFkeQ0KIHBhc3NpbmcgdGhlIGludGVyZmFjZSBuYW1lIHRocm91Z2ggdGhlIGNvbW1hbmQg bGluZS4gU28gSSB3YXMgc3VnZ2VzdGluZyB3ZSBjYW4gd3JpdGUgYSBsb2dpYyB0byBjcmVhdGUg c29jayBwYXRoIGZyb20gdGhlc2UgbG9naWMuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj4m bmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPklmIEkgYW0gd3JvbmcgcGxlYXNlIGNv cnJlY3QgbWUsIElzbuKAmXQgdGhhdCB0aGUgbG9naWMgYWZ4ZHAtcGx1Z2lucy1mb3Ita3ViZXJu ZXRlcyBkb2luZz8gWzJdPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5UaGlzIGlzIG9ubHkg YSBzdWdnZXN0aW9ucy4NCjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+Jm5ic3A7PC9zcGFu PjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1m YXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5bMV0gPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHVi LmNvbS9pbnRlbC9hZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9jb25zdGFu dHMvY29uc3RhbnRzLmdvI0w4NCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVO LVVTIj5odHRwczovL2dpdGh1Yi5jb20vaW50ZWwvYWZ4ZHAtcGx1Z2lucy1mb3Ita3ViZXJuZXRl cy9ibG9iL21haW4vY29uc3RhbnRzL2NvbnN0YW50cy5nbyNMODQ8L3NwYW4+PC9hPjxvOnA+PC9v OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxh bmd1YWdlOkVOLVVTIj5bMl0gPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9pbnRl bC9hZnhkcC1wbHVnaW5zLWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9pbnRlcm5hbC9kZXZpY2Vw bHVnaW4vcG9vbE1hbmFnZXJfdGVzdC5nbyNMOTkiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1s YW5ndWFnZTpFTi1VUyI+aHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9y LWt1YmVybmV0ZXMvYmxvYi9tYWluL2ludGVybmFsL2RldmljZXBsdWdpbi9wb29sTWFuYWdlcl90 ZXN0LmdvI0w5OTwvc3Bhbj48L2E+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPiZuYnNwOzwvc3Bhbj48 bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFy ZWFzdC1sYW5ndWFnZTpFTi1VUyI+SSBoYWQgYWRkZWQgMiBzbWFsbCBjb21tZW50IGVhcmxpZXIg aW4gdGhlIGNvZGUuDQo8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPiZuYnNwOzwvc3Bhbj48 bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFy ZWFzdC1sYW5ndWFnZTpFTi1VUyI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5S ZWdhcmRzLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+U2hpYmluPC9zcGFuPjxvOnA+PC9v OnA+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAx LjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3Jk ZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4g MGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBsYW5nPSJFTi1VUyI+RnJv bTo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gTWFyeWFtIFRhaGhhbg0KPC9zcGFuPjxh IGhyZWY9Im1haWx0bzptdGFoaGFuQHJlZGhhdC5jb20iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7 bXRhaGhhbkByZWRoYXQuY29tJmd0Ozwvc3Bhbj48L2E+PHNwYW4gbGFuZz0iRU4tVVMiPg0KPGJy Pg0KPGI+U2VudDo8L2I+IE1vbmRheSwgRGVjZW1iZXIgNCwgMjAyMyA2OjQxIFBNPGJyPg0KPGI+ VG86PC9iPiBLb2lra2FyYSBSZWVueSwgU2hpYmluIDwvc3Bhbj48YSBocmVmPSJtYWlsdG86c2hp YmluLmtvaWtrYXJhLnJlZW55QGludGVsLmNvbSI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDtzaGli aW4ua29pa2thcmEucmVlbnlAaW50ZWwuY29tJmd0Ozwvc3Bhbj48L2E+PHNwYW4gbGFuZz0iRU4t VVMiPjsNCjwvc3Bhbj48YSBocmVmPSJtYWlsdG86ZmVycnVoLnlpZ2l0QGFtZC5jb20iPjxzcGFu IGxhbmc9IkVOLVVTIj5mZXJydWgueWlnaXRAYW1kLmNvbTwvc3Bhbj48L2E+PHNwYW4gbGFuZz0i RU4tVVMiPjsNCjwvc3Bhbj48YSBocmVmPSJtYWlsdG86c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5v cmciPjxzcGFuIGxhbmc9IkVOLVVTIj5zdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzwvc3Bhbj48 L2E+PHNwYW4gbGFuZz0iRU4tVVMiPjsNCjwvc3Bhbj48YSBocmVmPSJtYWlsdG86bGlodWlzb25n QGh1YXdlaS5jb20iPjxzcGFuIGxhbmc9IkVOLVVTIj5saWh1aXNvbmdAaHVhd2VpLmNvbTwvc3Bh bj48L2E+PHNwYW4gbGFuZz0iRU4tVVMiPjsNCjwvc3Bhbj48YSBocmVmPSJtYWlsdG86ZmVuZ2No ZW5nd2VuQGh1YXdlaS5jb20iPjxzcGFuIGxhbmc9IkVOLVVTIj5mZW5nY2hlbmd3ZW5AaHVhd2Vp LmNvbTwvc3Bhbj48L2E+PHNwYW4gbGFuZz0iRU4tVVMiPjsNCjwvc3Bhbj48YSBocmVmPSJtYWls dG86bGl1eW9uZ2xvbmdAaHVhd2VpLmNvbSI+PHNwYW4gbGFuZz0iRU4tVVMiPmxpdXlvbmdsb25n QGh1YXdlaS5jb208L3NwYW4+PC9hPjxzcGFuIGxhbmc9IkVOLVVTIj48YnI+DQo8Yj5DYzo8L2I+ IDwvc3Bhbj48YSBocmVmPSJtYWlsdG86ZGV2QGRwZGsub3JnIj48c3BhbiBsYW5nPSJFTi1VUyI+ ZGV2QGRwZGsub3JnPC9zcGFuPjwvYT48c3BhbiBsYW5nPSJFTi1VUyI+PGJyPg0KPGI+U3ViamVj dDo8L2I+IFJlOiBbdjJdIG5ldC9hZl94ZHA6IGVuYWJsZSBhIHNvY2sgcGF0aCBhbG9uZ3NpZGUg dXNlX2NuaTwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj5IaSBTaGliaW48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+SSdtIG5vdCByZWFsbHkgc3VyZSB3aGF0IHlvdSBhcmUgc3VnZ2VzdGluZywg aXMgdG8gbWFrZSBhbiBhc3N1bXB0aW9uIG9uIHRoZSBwYXRoIHBhcnQgd2hlcmUgdGhlIHNvY2tl dCByZXNpZGVzIChha2EgaGFyZCBjb2RlIGl0KSBhbmQgdGhlbiB0cnkgdG8gYnVpbGQgdGhlIGZ1 bGwgVURTIHBhdGggaW4gRFBESz8NCjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5ZZXMgdGhlIHBsdWdpbiBpcyB1c2luZyBjb25zdGFudHMgQVRN IGZvciBjZXJ0YWluIHBhcnRzIG9mIHRoZSBVRFMgcGF0aCwgYnV0IHRoYXQncyBub3Qgc2F5IHRo YXQgaXQncyBzb21ldGhpbmcgdGhhdCB3b24ndCBiZWNvbWUgY29uZmlndXJhYmxlIGxhdGVyIG9u LiBTb21lb25lIG1heSBub3Qgd2FudCB0byB1c2UgJnF1b3Q7L3RtcC9hZnhkcF9kcC8mcXVvdDsg YXMgdGhlIGJhc2UgZGlyZWN0b3J5LiBUaGVuIHdlJ2QgaGF2ZQ0KIHRvIGNoYW5nZSBEUERLJ3Mg aW1wbGVtZW50YXRpb24gYWdhaW4uIFRoZXNlIGFyZSBub3QgcmVhbGx5IHRoaW5ncyB0aGF0IGFy ZSBjb25maWd1cmVkIGJ5IGhhbmQgYW5kIGFyZSBnZW5lcmF0ZWQgYnkgaW5pdGlhbGl6YXRpb24g c2NyaXB0cyAodHlwaWNhbGx5KS4gSSB3b3VsZCByYXRoZXIgYnVpbGQgdGhpcyB3aXRoIHRoZSBp ZGVhIHRoYXQgdGhpbmdzIGNhbiBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB3aXRob3V0IGhhdmluZyB0 byBjaGFuZ2UgdGhlDQogRFBESyBpbXBsZW1lbnRhdGlvbiBhZ2Fpbi4gPG86cD48L286cD48L3A+ DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5CUjxicj4NCk1hcnlhbTxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86 cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiAwNC8x Mi8yMDIzIDE3OjE4LCBLb2lra2FyYSBSZWVueSwgU2hpYmluIHdyb3RlOjxvOnA+PC9vOnA+PC9w Pg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90 dG9tOjUuMHB0Ij4NCjxwcmU+SGkgTWFyeWFtLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNw OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkFwb2xvZ2llcyBmb3IgYXNraW5nIHRoaXMgcXVlc3Rp b24gYml0IGxhdGUuIDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPlRoZSBVRFMgc29jayBuYW1lIHdp bGwgYmUgYWZ4ZHAuc29jayBvbmx5IGFuZCBhZGRpdGlvbiBkaXJlY3RvciBpcyBjcmVhdGVkIGJl dHdlZW4gdGhlIHNvY2sgbmFtZSBhbmQgdGhlIHVkcyBmaWxlcGF0aCAoL3RtcC9hZnhkcF9kcC8m bHQ7aW50ZXJmYWNlIG5hbWUmZ3Q7L2FmeGRwLnNvY2spLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkFzIHBlciB0aGUgY29tbWFuZCAmcXVvdDsg LS12ZGV2IG5ldF9hZl94ZHAwLGlmYWNlPSZsdDtpbnRlcmZhY2UgbmFtZSZndDssdXNlX2NuaT0x LHVkc19wYXRoPS90bXAvYWZ4ZHBfZHAvJmx0O2ludGVyZmFjZSBuYW1lJmd0Oy9hZnhkcC5zb2Nr JnF1b3Q7PG86cD48L286cD48L3ByZT4NCjxwcmU+V2UgYXJlIGFscmVhZHkgcGFzc2luZyB0aGUg aW50ZXJmYWNlIG5hbWUoaWZhY2U9Jmx0O2ludGVyZmFjZSBuYW1lJmd0OyAuIFNvIGNhbid0IHdl IGNyZWF0ZSB0aGUgdWRzX3BhdGggaW5zaWRlIHRoZSBwcm9ncmFtIHVkc19wYXRoPSZxdW90Oy90 bXAvYWZ4ZHBfZHAvJnF1b3Q7KyBpZmFjZSArICZxdW90O2FmeGRwLnNvY2smcXVvdDs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT5JZiB5b3UgY2hlY2sgdGhlIGNvZGUgYWZ4ZHAtcGx1Z2lucy1m b3Ita3ViZXJuZXRlcyBjb25zdGFudHMuZ28gWzFdIHRoZXkgc3RpbGwgaGF2ZSB0aGUgY29uc3Rh bnRzIGFuZCBhbHNvIHRoZXkgYXJlIHVzaW5nIHRoZXNlIGNvbnN0YW50cyB0byBjcmVhdGUgdGhl IHBhdGggWzJdPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48L3ByZT4N CjxwcmU+WzFdIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9hZnhkcC1wbHVnaW5z LWZvci1rdWJlcm5ldGVzL2Jsb2IvbWFpbi9jb25zdGFudHMvY29uc3RhbnRzLmdvI0w4NCI+aHR0 cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yLWt1YmVybmV0ZXMvYmxvYi9t YWluL2NvbnN0YW50cy9jb25zdGFudHMuZ28jTDg0PC9hPiA8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT5bMl0gPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9y LWt1YmVybmV0ZXMvYmxvYi9tYWluL2ludGVybmFsL2RldmljZXBsdWdpbi9wb29sTWFuYWdlcl90 ZXN0LmdvI0w3OCI+aHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yLWt1 YmVybmV0ZXMvYmxvYi9tYWluL2ludGVybmFsL2RldmljZXBsdWdpbi9wb29sTWFuYWdlcl90ZXN0 LmdvI0w3ODwvYT48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT5JZiB3ZSBhcmUgYWJsZSB0byBjcmVhdGUgcGF0aCBpbiB0aGUgcHJvZ3JhbSB0aGVu IHVzZXIgd29uJ3QgaGF2ZSB0byBwYXNzIGFsb25nIGFyZ3VtZW50IHZhbHVlLjxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPlJlZ2FyZHMsPG86cD48 L286cD48L3ByZT4NCjxwcmU+U2hpYmluPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86 cD48L286cD48L3ByZT4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdp bi1ib3R0b206NS4wcHQiPg0KPHByZT4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLTxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPkZyb206IE1hcnlhbSBUYWhoYW4gPGEgaHJlZj0ibWFpbHRvOm10YWho YW5AcmVkaGF0LmNvbSI+Jmx0O210YWhoYW5AcmVkaGF0LmNvbSZndDs8L2E+PG86cD48L286cD48 L3ByZT4NCjxwcmU+U2VudDogTW9uZGF5LCBEZWNlbWJlciA0LCAyMDIzIDEwOjMxIEFNPG86cD48 L286cD48L3ByZT4NCjxwcmU+VG86IDxhIGhyZWY9Im1haWx0bzpmZXJydWgueWlnaXRAYW1kLmNv bSI+ZmVycnVoLnlpZ2l0QGFtZC5jb208L2E+OyA8YSBocmVmPSJtYWlsdG86c3RlcGhlbkBuZXR3 b3JrcGx1bWJlci5vcmciPnN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPC9hPjs8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT48YSBocmVmPSJtYWlsdG86bGlodWlzb25nQGh1YXdlaS5jb20iPmxpaHVp c29uZ0BodWF3ZWkuY29tPC9hPjsgPGEgaHJlZj0ibWFpbHRvOmZlbmdjaGVuZ3dlbkBodWF3ZWku Y29tIj5mZW5nY2hlbmd3ZW5AaHVhd2VpLmNvbTwvYT47PG86cD48L286cD48L3ByZT4NCjxwcmU+ PGEgaHJlZj0ibWFpbHRvOmxpdXlvbmdsb25nQGh1YXdlaS5jb20iPmxpdXlvbmdsb25nQGh1YXdl aS5jb208L2E+OyBLb2lra2FyYSBSZWVueSwgU2hpYmluPG86cD48L286cD48L3ByZT4NCjxwcmU+ PGEgaHJlZj0ibWFpbHRvOnNoaWJpbi5rb2lra2FyYS5yZWVueUBpbnRlbC5jb20iPiZsdDtzaGli aW4ua29pa2thcmEucmVlbnlAaW50ZWwuY29tJmd0OzwvYT48bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT5DYzogPGEgaHJlZj0ibWFpbHRvOmRldkBkcGRrLm9yZyI+ZGV2QGRwZGsub3JnPC9hPjsgVGFo aGFuLCBNYXJ5YW0gPGEgaHJlZj0ibWFpbHRvOm10YWhoYW5AcmVkaGF0LmNvbSI+Jmx0O210YWho YW5AcmVkaGF0LmNvbSZndDs8L2E+PG86cD48L286cD48L3ByZT4NCjxwcmU+U3ViamVjdDogW3Yy XSBuZXQvYWZfeGRwOiBlbmFibGUgYSBzb2NrIHBhdGggYWxvbmdzaWRlIHVzZV9jbmk8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5XaXRoIHRoZSBv cmlnaW5hbCAndXNlX2NuaScgaW1wbGVtZW50YXRpb24sICh1c2luZyBhIGhhcmRjb2RlZCBzb2Nr ZXQgcmF0aGVyPG86cD48L286cD48L3ByZT4NCjxwcmU+dGhhbiBhIGNvbmZpZ3VyYWJsZSBvbmUp LCBpZiBhIHNpbmdsZSBwb2QgaXMgcmVxdWVzdGluZyBtdWx0aXBsZSBuZXQgZGV2aWNlczxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPmFuZCB0aGVzZSBkZXZpY2VzIGFyZSBmcm9tIGRpZmZlcmVudCBw b29scywgdGhlbiB0aGUgY29udGFpbmVyIGF0dGVtcHRzIHRvPG86cD48L286cD48L3ByZT4NCjxw cmU+bW91bnQgYWxsIHRoZSBuZXRkZXYgVURTZXMgaW4gdGhlIHBvZCBhcyAvdG1wL2FmeGRwLnNv Y2suIFdoaWNoIG1lYW5zPG86cD48L286cD48L3ByZT4NCjxwcmU+dGhhdCBhdCBiZXN0IG9ubHkg MSBuZXRkZXYgd2lsbCBoYW5kc2hha2UgY29ycmVjdGx5IHdpdGggdGhlIEFGX1hEUCBEUC4gVGhp czxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnBhdGNoIGFkZHJlc3NlcyB0aGlzIGJ5IG1ha2luZyB0 aGUgc29ja2V0IHBhcmFtZXRlciBjb25maWd1cmFibGUgYWxvbmdzaWRlPG86cD48L286cD48L3By ZT4NCjxwcmU+dGhlICd1c2VfY25pJyBwYXJhbS48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5UZXN0 ZWQgd2l0aCB0aGUgQUZfWERQIERQIENOSSBQUiA4MS48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4m bmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT52Mjo8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4q IFJlbmFtZSBzb2NrX3BhdGggdG8gdWRzX3BhdGguPG86cD48L286cD48L3ByZT4NCjxwcmU+KiBV cGRhdGUgZG9jdW1lbnRhdGlvbiB0byByZWZsZWN0IHdoZW4gQ0FQX0JQRiBpcyBuZWVkZWQuPG86 cD48L286cD48L3ByZT4NCjxwcmU+KiBGaXggdGVzdHBtZCBhcmd1bWVudHMgaW4gdGhlIHByb3Zp ZGVkIGV4YW1wbGUgZm9yIFBvZHMuPG86cD48L286cD48L3ByZT4NCjxwcmU+KiBVc2UgQUZfWERQ IEFQSSB0byB1cGRhdGUgdGhlIHhza21hcCBlbnRyeS48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4m bmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5TaWduZWQtb2ZmLWJ5OiBNYXJ5YW0gVGFoaGFu IDxhIGhyZWY9Im1haWx0bzptdGFoaGFuQHJlZGhhdC5jb20iPiZsdDttdGFoaGFuQHJlZGhhdC5j b20mZ3Q7PC9hPjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0tLTxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiBkb2MvZ3VpZGVzL2hvd3RvL2FmX3hkcF9jbmkucnN0Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IHwgMjQgKysrKysrLS0tLS08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gZHJpdmVycy9uZXQv YWZfeGRwL3J0ZV9ldGhfYWZfeGRwLmMgfCA2MiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAyIGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMo KyksIDMyIGRlbGV0aW9ucygtKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOzxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPmRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL2hvd3RvL2FmX3hkcF9jbmku cnN0PG86cD48L286cD48L3ByZT4NCjxwcmU+Yi9kb2MvZ3VpZGVzL2hvd3RvL2FmX3hkcF9jbmku cnN0IGluZGV4IGExYTZkNWI5OWMuLjc4Mjk1MjZiNDAgMTAwNjQ0PG86cD48L286cD48L3ByZT4N CjxwcmU+LS0tIGEvZG9jL2d1aWRlcy9ob3d0by9hZl94ZHBfY25pLnJzdDxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPisrKyBiL2RvYy9ndWlkZXMvaG93dG8vYWZfeGRwX2NuaS5yc3Q8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT5AQCAtMzgsOSArMzgsMTAgQEAgVGhlIFhTS01BUCBpcyBhIEJQRiBtYXAg b2YgQUZfWERQIHNvY2tldHMgKFhTSykuPG86cD48L286cD48L3ByZT4NCjxwcmU+IFRoZSBjbGll bnQgY2FuIHRoZW4gcHJvY2VlZCB3aXRoIGNyZWF0aW5nIGFuIEFGX1hEUCBzb2NrZXQmbmJzcDsg YW5kIGluc2VydGluZzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnRoYXQgc29ja2V0IGludG8gdGhl IFhTS01BUCBwb2ludGVkIHRvIGJ5IHRoZSBkZXNjcmlwdG9yLjxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi1UaGUgRUFMIHZkZXYgYXJndW1lbnQg YGB1c2VfY25pYGAgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIHdpc2hlcyAtPG86 cD48L286cD48L3ByZT4NCjxwcmU+dG8gcnVuIHRoZSBQTUQgaW4gdW5wcml2aWxlZ2VkIG1vZGUg YW5kIHRvIHJlY2VpdmUgdGhlIFhTS01BUCBmaWxlPG86cD48L286cD48L3ByZT4NCjxwcmU+ZGVz Y3JpcHRvciAtZnJvbSB0aGUgQ05JLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPitUaGUgRUFMIHZk ZXYgYXJndW1lbnRzIGBgdXNlX2NuaWBgIGFuZCBgYHVkc19wYXRoYGAgYXJlIHVzZWQgdG88bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4raW5kaWNhdGUgdGhhdCB0aGUgdXNlciB3aXNoZXMgdG8gcnVu IHRoZSBQTUQgaW4gdW5wcml2aWxlZ2VkIG1vZGUgYW5kPG86cD48L286cD48L3ByZT4NCjxwcmU+ K3RvIHJlY2VpdmUgdGhlIFhTS01BUCBmaWxlIGRlc2NyaXB0b3IgZnJvbSB0aGUgQ05JLjxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPis8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gV2hlbiB0aGlzIGZs YWcgaXMgc2V0LDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiB0aGUgYGBYU0tfTElCQlBGX0ZMQUdT X19JTkhJQklUX1BST0dfTE9BRGBgIGxpYmJwZiBmbGFnJm5ic3A7IHNob3VsZCBiZTxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPnVzZWQgd2hlbiBjcmVhdGluZyB0aGUgc29ja2V0IEBAIC00OSw3ICs1 MCw3IEBAIEluc3RlYWQgdGhlIGxvYWRpbmcgaXM8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5oYW5k bGVkIGJ5IHRoZSBDTkkuPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48 L3ByZT4NCjxwcmU+IC4uIG5vdGU6OjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOzxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsgVGhlIFVuaXggRG9tYWluIFNvY2tldCBm aWxlIHBhdGggYXBwZWFyIGluIHRoZSBlbmQgdXNlciBpczxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZxdW90Oy90bXAvYWZ4ZHAuc29jayZxdW90Oy48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5i c3A7Jm5ic3A7IFRoZSBVbml4IERvbWFpbiBTb2NrZXQgZmlsZSBwYXRoIGFwcGVhcnMgdG8gdGhl IGVuZCB1c2VyIGF0PG86cD48L286cD48L3ByZT4NCjxwcmU+JnF1b3Q7L3RtcC9hZnhkcF9kcC8m bHQ7bmV0ZGV2Jmd0Oy9hZnhkcC5zb2NrJnF1b3Q7LjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZu YnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiBQcmVyZXF1aXNpdGVzPG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTIyMyw4ICsyMjQsNyBA QCBIb3d0byBydW4gZHBkay10ZXN0cG1kIHdpdGggQ05JIHBsdWdpbjo8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgc2VjdXJpdHlDb250ZXh0OjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjYXBhYmls aXRpZXM6PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFkZDo8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC0gQ0FQ X05FVF9SQVc8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IC0gQ0FQX0JQRjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgLSBORVRfUkFXPG86cD48L286cD48L3ByZT4NCjwvYmxvY2txdW90ZT4NCjxwcmU+ Jm5ic3A7PG86cD48L286cD48L3ByZT4NCjxwcmU+TmVlZCB0byB1cGRhdGUgdGhlIDEuMy4gUHJl cmVxdWlzaXRlcy48bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdp bi10b3A6NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cHJlPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXNvdXJjZXM6PG86cD48L286 cD48L3ByZT4NCjxwcmU+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJlcXVlc3RzOjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBodWdlcGFnZXMtMk1pOiAyR2k8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT5AQCAtMjM5LDE0ICsyMzksMjAgQEAgSG93dG8gcnVuIGRwZGstdGVzdHBtZCB3aXRo IENOSSBwbHVnaW46PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48L3By ZT4NCjxwcmU+Jm5ic3A7Jm5ic3A7IC4uIF9wb2QueWFtbDogPGEgaHJlZj0iaHR0cHM6Ly9naXRo dWIuY29tL2ludGVsL2FmeGRwLXBsdWdpbnMtZm9yIj5odHRwczovL2dpdGh1Yi5jb20vaW50ZWwv YWZ4ZHAtcGx1Z2lucy1mb3I8L2E+LTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPmt1YmVybmV0ZXMv YmxvYi92MC4wLjIvdGVzdC9lMmUvcG9kLTFjMWQueWFtbDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisuLiBub3RlOjo8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4rPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyBGb3IgS2VybmVs IHZlcnNpb25zIG9sZGVyIHRoYW4gNS4xOSBgQ0FQX0JQRmAgaXMgYWxzbyByZXF1aXJlZCBpbjxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsgdGhlIGNvbnRhaW5lciBjYXBhYmls aXRpZXMgc3RhbnphLjxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPis8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4gKiBSdW4gRFBESyB3aXRoIGEgY29tbWFuZCBsaWtlIHRoZSBmb2xsb3dpbmc6PG86cD48 L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7Jm5i c3A7IC4uIGNvZGUtYmxvY2s6OiBjb25zb2xlPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7 PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGt1 YmVjdGwgZXhlYyAtaSAmbHQ7UG9kIG5hbWUmZ3Q7IC0tY29udGFpbmVyICZsdDtjb250YWluZXJz IG5hbWUmZ3Q7IC0tIFw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8mbHQ7UGF0aCZndDsv ZHBkay10ZXN0cG1kIC1sIDAsMSAtLW5vLXBjaSBcPG86cD48L286cD48L3ByZT4NCjxwcmU+LSZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAtLXZkZXY9bmV0X2FmX3hkcDAsdXNlX2NuaT0xLGlmYWNlPSZsdDtpbnRlcmZhY2UgbmFtZSZn dDsgXDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLS0gLS1uby1tbG9ja2FsbCAtLWluLW1l bW9yeTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyZsdDtQYXRoJmd0Oy9kcGRrLXRlc3Rw bWQgLWwgMC0yIC0tbm8tcGNpIC0tbWFpbi1sY29yZT0yIFw8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IC0tdmRldiBuZXRfYWZfeGRwMCxpZmFjZT0mbHQ7aW50ZXJmYWNlPG86cD48L286cD48 L3ByZT4NCjxwcmU+bmFtZSZndDssdXNlX2NuaT0xLHVkc19wYXRoPS90bXAvYWZ4ZHBfZHAvJmx0 O2ludGVyZmFjZSBuYW1lJmd0Oy9hZnhkcC5zb2NrPG86cD48L286cD48L3ByZT4NCjxwcmU+XDxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLS12ZGV2IG5ldF9hZl94ZHAxLGlmYWNlPWUmbHQ7 aW50ZXJmYWNlPG86cD48L286cD48L3ByZT4NCjxwcmU+bmFtZSZndDssdXNlX2NuaT0xLHVkc19w YXRoPS90bXAvYWZ4ZHBfZHAvJmx0O2ludGVyZmFjZSBuYW1lJmd0Oy9hZnhkcC5zb2NrPG86cD48 L286cD48L3ByZT4NCjwvYmxvY2txdW90ZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48L3ByZT4N CjxwcmU+VGhlcmUgaXMgYSB0eXBvICZxdW90OyBpZmFjZT1lJmx0O2ludGVyZmFjZSAmcXVvdDsg PT0gJnF1b3Q7aWZhY2U9Jmx0O2ludGVyZmFjZSZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1 LjBwdDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxwcmU+XDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgLS0gLWkgLS1hIC0tbmItY29yZXM9MiAtLXJ4cT0xIC0tdHhxPTE8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4rIC0tZm9yd2FyZC1tb2RlPW1hY3N3YXA7PG86cD48L286cD48L3ByZT4NCjxw cmU+Jm5ic3A7PG86cD48L286cD48L3ByZT4NCjxwcmU+IEZvciBmdXJ0aGVyIHJlZmVyZW5jZSBw bGVhc2UgdXNlIHRoZSBgZTJlYF8gdGVzdCBjYXNlIGluIGBBRl9YRFAgUGx1Z2luIGZvcjxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPkt1YmVybmV0ZXNgXzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZu YnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9hZl94 ZHAvcnRlX2V0aF9hZl94ZHAuYzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPmIvZHJpdmVycy9uZXQv YWZfeGRwL3J0ZV9ldGhfYWZfeGRwLmM8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5pbmRleCAzNTNj ODY4OGVjLi41MDVlZDZjZjFlIDEwMDY0NDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0tLSBhL2Ry aXZlcnMvbmV0L2FmX3hkcC9ydGVfZXRoX2FmX3hkcC5jPG86cD48L286cD48L3ByZT4NCjxwcmU+ KysrIGIvZHJpdmVycy9uZXQvYWZfeGRwL3J0ZV9ldGhfYWZfeGRwLmM8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT5AQCAtODgsNyArODgsNiBAQCBSVEVfTE9HX1JFR0lTVEVSX0RFRkFVTFQoYWZfeGRw X2xvZ3R5cGUsPG86cD48L286cD48L3ByZT4NCjxwcmU+Tk9USUNFKTs8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4gI2RlZmluZSBVRFNfTUFYX0NNRF9MRU4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgNjQ8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gI2RlZmluZSBVRFNfTUFY X0NNRF9SRVNQJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDEyODxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAjZGVmaW5lIFVEU19YU0tfTUFQX0ZEX01TRyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmcXVvdDsveHNrX21hcF9mZCZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPi0jZGVmaW5lIFVEU19TT0NLJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZx dW90Oy90bXAvYWZ4ZHAuc29jayZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAjZGVmaW5l IFVEU19DT05ORUNUX01TRyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAm cXVvdDsvY29ubmVjdCZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAjZGVmaW5lIFVEU19I T1NUX09LX01TRyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDsv aG9zdF9vayZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAjZGVmaW5lIFVEU19IT1NUX05B S19NU0cmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7L2hv c3RfbmFrJnF1b3Q7PG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTE3MSw2ICsxNzAsNyBAQCBz dHJ1Y3QgcG1kX2ludGVybmFscyB7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGJvb2wg Y3VzdG9tX3Byb2dfY29uZmlndXJlZDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgYm9v bCBmb3JjZV9jb3B5OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBib29sIHVzZV9jbmk7 PG86cD48L286cD48L3ByZT4NCjxwcmU+KyBjaGFyIHVkc19wYXRoW1BBVEhfTUFYXTs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgc3RydWN0IGJwZl9tYXAgKm1hcDs8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgc3RydWN0IHJ0 ZV9ldGhlcl9hZGRyIGV0aF9hZGRyOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBAIC0xOTEsNiAr MTkxLDcgQEAgc3RydWN0IHBtZF9wcm9jZXNzX3ByaXZhdGUgezxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiAjZGVmaW5lIEVUSF9BRl9YRFBfQlVER0VUX0FSRyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDtidXN5X2J1ZGdldCZxdW90OzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiAjZGVmaW5lIEVUSF9BRl9YRFBfRk9SQ0VfQ09QWV9BUkcmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgJnF1b3Q7Zm9yY2VfY29weSZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiAjZGVmaW5lIEVUSF9BRl9YRFBfVVNFX0NOSV9BUkcmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgJnF1b3Q7dXNlX2NuaSZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PisjZGVmaW5lIEVUSF9BRl9YRFBfVVNFX0NOSV9VRFNfUEFUSF9BUkcgJnF1b3Q7dWRzX3BhdGgm cXVvdDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4gc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCB2YWxpZF9hcmd1bWVudHNbXSA9IHs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgRVRIX0FGX1hEUF9JRkFDRV9BUkcsPG86cD48L286cD48 L3ByZT4NCjxwcmU+QEAgLTIwMSw2ICsyMDIsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IHZhbGlkX2FyZ3VtZW50c1tdID0gezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBFVEhf QUZfWERQX0JVREdFVF9BUkcsPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IEVUSF9BRl9Y RFBfRk9SQ0VfQ09QWV9BUkcsPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IEVUSF9BRl9Y RFBfVVNFX0NOSV9BUkcsPG86cD48L286cD48L3ByZT4NCjxwcmU+KyBFVEhfQUZfWERQX1VTRV9D TklfVURTX1BBVEhfQVJHLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBOVUxMPG86cD48 L286cD48L3ByZT4NCjxwcmU+IH07PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48 L286cD48L3ByZT4NCjxwcmU+QEAgLTEzNTEsNyArMTM1Myw3IEBAIGNvbmZpZ3VyZV9wcmVmZXJy ZWRfYnVzeV9wb2xsKHN0cnVjdDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnBrdF9yeF9xdWV1ZSAq cnhxKSZuYnNwOyB9PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48L3By ZT4NCjxwcmU+IHN0YXRpYyBpbnQ8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4taW5pdF91ZHNfc29j ayhzdHJ1Y3Qgc29ja2FkZHJfdW4gKnNlcnZlcik8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4raW5p dF91ZHNfc29jayhzdHJ1Y3Qgc29ja2FkZHJfdW4gKnNlcnZlciwgY29uc3QgY2hhciAqdWRzX3Bh dGgpPG86cD48L286cD48L3ByZT4NCjxwcmU+IHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJz cDsgaW50IHNvY2s7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48L3By ZT4NCjxwcmU+QEAgLTEzNjIsNyArMTM2NCw3IEBAIGluaXRfdWRzX3NvY2soc3RydWN0IHNvY2th ZGRyX3VuICpzZXJ2ZXIpPG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IH08bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgc2VydmVy LSZndDtzdW5fZmFtaWx5ID0gQUZfVU5JWDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tIHN0cmxj cHkoc2VydmVyLSZndDtzdW5fcGF0aCwgVURTX1NPQ0ssIHNpemVvZihzZXJ2ZXItJmd0O3N1bl9w YXRoKSk7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyBzdHJsY3B5KHNlcnZlci0mZ3Q7c3VuX3Bh dGgsIHVkc19wYXRoLCBzaXplb2Yoc2VydmVyLSZndDtzdW5fcGF0aCkpOzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBpZiAoY29ubmVj dChzb2NrLCAoc3RydWN0IHNvY2thZGRyICopc2VydmVyLCBzaXplb2Yoc3RydWN0PG86cD48L286 cD48L3ByZT4NCjxwcmU+c29ja2FkZHJfdW4pKSAmbHQ7IDApIHs8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNs b3NlKHNvY2spOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBAIC0xMzgyLDcgKzEzODQsNyBAQCBz dHJ1Y3QgbXNnX2ludGVybmFsIHsmbmJzcDsgfTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJz cDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gc3RhdGljIGludDxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPi1zZW5kX21zZyhpbnQgc29jaywgY2hhciAqcmVxdWVzdCwgaW50ICpmZCk8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4rc2VuZF9tc2coaW50IHNvY2ssIGNoYXIgKnJlcXVlc3QsIGludCAqZmQs IGNvbnN0IGNoYXIgKnVkc19wYXRoKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiB7PG86cD48L286 cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGludCBzbmQ7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5i c3A7IHN0cnVjdCBpb3ZlYyBpb3Y7PG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTEzOTMsNyAr MTM5NSw3IEBAIHNlbmRfbXNnKGludCBzb2NrLCBjaGFyICpyZXF1ZXN0LCBpbnQgKmZkKTxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBt ZW1zZXQoJmFtcDtkc3QsIDAsIHNpemVvZihkc3QpKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4m bmJzcDsgZHN0LnN1bl9mYW1pbHkgPSBBRl9VTklYOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0g c3RybGNweShkc3Quc3VuX3BhdGgsIFVEU19TT0NLLCBzaXplb2YoZHN0LnN1bl9wYXRoKSk7PG86 cD48L286cD48L3ByZT4NCjxwcmU+KyBzdHJsY3B5KGRzdC5zdW5fcGF0aCwgdWRzX3BhdGgsIHNp emVvZihkc3Quc3VuX3BhdGgpKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgLyogSW5pdGlhbGl6ZSBtZXNzYWdlIGhlYWRlciBzdHJ1 Y3R1cmUgKi88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgbWVtc2V0KCZhbXA7bXNnaCwg MCwgc2l6ZW9mKG1zZ2gpKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5AQCAtMTQ3MSw3ICsxNDcz LDcgQEAgcmVhZF9tc2coaW50IHNvY2ssIGNoYXIgKnJlc3BvbnNlLCBzdHJ1Y3Q8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT5zb2NrYWRkcl91biAqcywgaW50ICpmZCk8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gc3RhdGljIGludDxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiBtYWtlX3JlcXVlc3RfY25pKGludCBzb2NrLCBzdHJ1Y3Qgc29ja2FkZHJf dW4gKnNlcnZlciwgY2hhciAqcmVxdWVzdCw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGludCAqcmVx X2ZkLCBjaGFyICpyZXNwb25zZSwgaW50ICpvdXRfZmQpPG86cD48L286cD48L3ByZT4NCjxwcmU+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBp bnQgKnJlcV9mZCwgY2hhciAqcmVzcG9uc2UsIGludCAqb3V0X2ZkLCBjb25zdCBjaGFyPG86cD48 L286cD48L3ByZT4NCjxwcmU+KnVkc19wYXRoKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiB7PG86 cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGludCBydmFsOzxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBAIC0xNDgzLDcgKzE0ODUsNyBAQCBt YWtlX3JlcXVlc3RfY25pKGludCBzb2NrLCBzdHJ1Y3Qgc29ja2FkZHJfdW48bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4qc2VydmVyLCBjaGFyICpyZXF1ZXN0LDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZuYnNwOyBpZiAocmVxX2ZkID09IE5VTEwpPG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBydmFsID0gd3JpdGUo c29jaywgcmVxdWVzdCwgc3RybGVuKHJlcXVlc3QpKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4m bmJzcDsgZWxzZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcnZhbCA9IHNlbmRfbXNnKHNvY2ssIHJlcXVlc3Qs IHJlcV9mZCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBydmFsID0gc2VuZF9tc2coc29jaywgcmVxdWVzdCwg cmVxX2ZkLCB1ZHNfcGF0aCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286 cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGlmIChydmFsICZsdDsgMCkgezxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg QUZfWERQX0xPRyhFUlIsICZxdW90O1dyaXRlIGVycm9yICVzXG4mcXVvdDssIHN0cmVycm9yKGVy cm5vKSk7IEBAPG86cD48L286cD48L3ByZT4NCjxwcmU+LTE1MDcsNyArMTUwOSw3IEBAIGNoZWNr X3Jlc3BvbnNlKGNoYXIgKnJlc3BvbnNlLCBjaGFyICpleHBfcmVzcCwgbG9uZzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPnNpemUpJm5ic3A7IH08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gc3RhdGljIGludDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl Pi1nZXRfY25pX2ZkKGNoYXIgKmlmX25hbWUpPG86cD48L286cD48L3ByZT4NCjxwcmU+K2dldF9j bmlfZmQoY2hhciAqaWZfbmFtZSwgY29uc3QgY2hhciAqdWRzX3BhdGgpPG86cD48L286cD48L3By ZT4NCjxwcmU+IHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgY2hhciByZXF1ZXN0W1VE U19NQVhfQ01EX0xFTl0sPG86cD48L286cD48L3ByZT4NCjxwcmU+cmVzcG9uc2VbVURTX01BWF9D TURfUkVTUF07PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGNoYXIgaG9zdG5hbWVbTUFY X0xPTkdfT1BUX1NaXSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5leHBfcmVzcFtVRFNfTUFYX0NN RF9SRVNQXTsgQEAgLTE1MjAsMTQgKzE1MjIsMTQgQEA8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5n ZXRfY25pX2ZkKGNoYXIgKmlmX25hbWUpPG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gLTE7PG86cD48 L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IG1l bXNldCgmYW1wO3NlcnZlciwgMCwgc2l6ZW9mKHNlcnZlcikpOzxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPi0gc29jayA9IGluaXRfdWRzX3NvY2soJmFtcDtzZXJ2ZXIpOzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPisgc29jayA9IGluaXRfdWRzX3NvY2soJmFtcDtzZXJ2ZXIsIHVkc19wYXRoKTs8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgaWYgKHNvY2sgJmx0OyAwKTxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgcmV0dXJuIC0xOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiZuYnNwOyAvKiBJbml0aWF0ZXMgaGFuZHNoYWtlIHRvIENOSSBzZW5kOiAvY29u bmVjdCxob3N0bmFtZSAqLzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBzbnByaW50Zihy ZXF1ZXN0LCBzaXplb2YocmVxdWVzdCksICZxdW90OyVzLCVzJnF1b3Q7LCBVRFNfQ09OTkVDVF9N U0csPG86cD48L286cD48L3ByZT4NCjxwcmU+aG9zdG5hbWUpOzxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiZuYnNwOyBtZW1zZXQocmVzcG9uc2UsIDAsIHNpemVvZihyZXNwb25zZSkpOzxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPi0gaWYgKG1ha2VfcmVxdWVzdF9jbmkoc29jaywgJmFtcDtzZXJ2ZXIs IHJlcXVlc3QsIE5VTEwsIHJlc3BvbnNlLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZhbXA7b3V0 X2ZkKSAmbHQ7IDApIHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rIGlmIChtYWtlX3JlcXVlc3Rf Y25pKHNvY2ssICZhbXA7c2VydmVyLCByZXF1ZXN0LCBOVUxMLCByZXNwb25zZSw8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4mYW1wO291dF9mZCw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rdWRzX3Bh dGgpICZsdDsgMCkgezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQUZfWERQX0xPRyhFUlIsICZxdW90O0Vycm9y IGluIHByb2Nlc3NpbmcgY21kIFslc11cbiZxdW90Oyw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5y ZXF1ZXN0KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGdvdG8gZXJyX2Nsb3NlOzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPiZuYnNwOyB9PG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTE1NDEsNyArMTU0Myw3 IEBAIGdldF9jbmlfZmQoY2hhciAqaWZfbmFtZSk8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJz cDsgLyogUmVxdWVzdCBmb3IgJnF1b3Q7L3ZlcnNpb24mcXVvdDsgKi88bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4mbmJzcDsgc3RybGNweShyZXF1ZXN0LCBVRFNfVkVSU0lPTl9NU0csIFVEU19NQVhf Q01EX0xFTik7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IG1lbXNldChyZXNwb25zZSwg MCwgc2l6ZW9mKHJlc3BvbnNlKSk7PG86cD48L286cD48L3ByZT4NCjxwcmU+LSBpZiAobWFrZV9y ZXF1ZXN0X2NuaShzb2NrLCAmYW1wO3NlcnZlciwgcmVxdWVzdCwgTlVMTCwgcmVzcG9uc2UsPG86 cD48L286cD48L3ByZT4NCjxwcmU+JmFtcDtvdXRfZmQpICZsdDsgMCkgezxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPisgaWYgKG1ha2VfcmVxdWVzdF9jbmkoc29jaywgJmFtcDtzZXJ2ZXIsIHJlcXVl c3QsIE5VTEwsIHJlc3BvbnNlLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZhbXA7b3V0X2ZkLDxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPit1ZHNfcGF0aCkgJmx0OyAwKSB7PG86cD48L286cD48L3By ZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBBRl9YRFBfTE9HKEVSUiwgJnF1b3Q7RXJyb3IgaW4gcHJvY2Vzc2luZyBjbWQgWyVzXVxuJnF1 b3Q7LDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnJlcXVlc3QpOzxvOnA+PC9vOnA+PC9wcmU+DQo8 cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZ290 byBlcnJfY2xvc2U7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IH08bzpwPjwvbzpwPjwv cHJlPg0KPHByZT5AQCAtMTU0OSw3ICsxNTUxLDcgQEAgZ2V0X2NuaV9mZChjaGFyICppZl9uYW1l KTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyAvKiBSZXF1ZXN0IGZvciBmaWxlIGRlc2Ny aXB0b3IgZm9yIG5ldGRldiBuYW1lKi88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgc25w cmludGYocmVxdWVzdCwgc2l6ZW9mKHJlcXVlc3QpLCAmcXVvdDslcywlcyZxdW90Oyw8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT5VRFNfWFNLX01BUF9GRF9NU0csIGlmX25hbWUpOzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiZuYnNwOyBtZW1zZXQocmVzcG9uc2UsIDAsIHNpemVvZihyZXNwb25zZSkp OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0gaWYgKG1ha2VfcmVxdWVzdF9jbmkoc29jaywgJmFt cDtzZXJ2ZXIsIHJlcXVlc3QsIE5VTEwsIHJlc3BvbnNlLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZhbXA7b3V0X2ZkKSAmbHQ7IDApIHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rIGlmIChtYWtl X3JlcXVlc3RfY25pKHNvY2ssICZhbXA7c2VydmVyLCByZXF1ZXN0LCBOVUxMLCByZXNwb25zZSw8 bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mYW1wO291dF9mZCw8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4rdWRzX3BhdGgpICZsdDsgMCkgezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgQUZfWERQX0xPRyhFUlIsICZx dW90O0Vycm9yIGluIHByb2Nlc3NpbmcgY21kIFslc11cbiZxdW90Oyw8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT5yZXF1ZXN0KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGdvdG8gZXJyX2Nsb3NlOzxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiZuYnNwOyB9PG86cD48L286cD48L3ByZT4NCjxwcmU+QEAgLTE1NzEs NyArMTU3Myw3IEBAIGdldF9jbmlfZmQoY2hhciAqaWZfbmFtZSk8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4mbmJzcDsgLyogSW5pdGlhdGUgY2xvc2UgY29ubmVjdGlvbiAqLzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiZuYnNwOyBzdHJsY3B5KHJlcXVlc3QsIFVEU19GSU5fTVNHLCBVRFNfTUFYX0NN RF9MRU4pOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBtZW1zZXQocmVzcG9uc2UsIDAs IHNpemVvZihyZXNwb25zZSkpOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0gaWYgKG1ha2VfcmVx dWVzdF9jbmkoc29jaywgJmFtcDtzZXJ2ZXIsIHJlcXVlc3QsIE5VTEwsIHJlc3BvbnNlLDxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPiZhbXA7b3V0X2ZkKSAmbHQ7IDApIHs8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4rIGlmIChtYWtlX3JlcXVlc3RfY25pKHNvY2ssICZhbXA7c2VydmVyLCByZXF1ZXN0 LCBOVUxMLCByZXNwb25zZSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mYW1wO291dF9mZCw8bzpw PjwvbzpwPjwvcHJlPg0KPHByZT4rdWRzX3BhdGgpICZsdDsgMCkgezxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg QUZfWERQX0xPRyhFUlIsICZxdW90O0Vycm9yIGluIHByb2Nlc3NpbmcgY21kIFslc11cbiZxdW90 Oyw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5yZXF1ZXN0KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGdvdG8g ZXJyX2Nsb3NlOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyB9PG86cD48L286cD48L3By ZT4NCjxwcmU+QEAgLTE2OTUsMTcgKzE2OTcsMTYgQEAgeHNrX2NvbmZpZ3VyZShzdHJ1Y3QgcG1k X2ludGVybmFscyAqaW50ZXJuYWxzLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnN0cnVjdCBwa3Rf cnhfcXVldWUgKnJ4cSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgfTxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBpZiAoaW50 ZXJuYWxzLSZndDt1c2VfY25pKSB7PG86cD48L286cD48L3ByZT4NCjxwcmU+LSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnQgZXJyLCBmZCwgbWFwX2Zk OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgaW50IGVyciwgbWFwX2ZkOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgLyogZ2V0IHNvY2tldCBmZCBmcm9tIENOSSBwbHVnaW4g Ki88bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IG1hcF9mZCA9IGdldF9jbmlfZmQoaW50ZXJuYWxzLSZndDtpZl9u YW1lKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG1hcF9mZCA9IGdldF9jbmlfZmQoaW50ZXJuYWxzLSZndDtp Zl9uYW1lLCBpbnRlcm5hbHMtPG86cD48L286cD48L3ByZT4NCjxibG9ja3F1b3RlIHN0eWxlPSJt YXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQiPg0KPHByZT51ZHNfcGF0aCk7PG86 cD48L286cD48L3ByZT4NCjwvYmxvY2txdW90ZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAobWFwX2ZkICZsdDsgMCkgezxvOnA+PC9v OnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg QUZfWERQX0xPRyhFUlIsICZxdW90O0ZhaWxlZCB0byByZWNlaXZlIENOSSBwbHVnaW48bzpwPjwv bzpwPjwvcHJlPg0KPHByZT5mZFxuJnF1b3Q7KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGdvdG8gb3V0X3hzazs8bzpwPjwv bzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IH08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qIGdldCBzb2NrZXQgZmQgKi88bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGZkID0geHNrX3NvY2tldF9fZmQocnhxLSZndDt4c2spOzxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg ZXJyID0gYnBmX21hcF91cGRhdGVfZWxlbShtYXBfZmQsICZhbXA7cnhxLTxvOnA+PC9vOnA+PC9w cmU+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9tOjUu MHB0Ij4NCjxwcmU+eHNrX3F1ZXVlX2lkeCwgJmFtcDtmZCwgMCk7PG86cD48L286cD48L3ByZT4N CjwvYmxvY2txdW90ZT4NCjxwcmU+KzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZXJyID0geHNrX3NvY2tldF9f dXBkYXRlX3hza21hcChyeHEtJmd0O3hzaywgbWFwX2ZkKTs8bzpwPjwvbzpwPjwvcHJlPg0KPHBy ZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChl cnIpIHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IEFGX1hEUF9MT0coRVJSLCAmcXVvdDtGYWlsZWQgdG8gaW5zZXJ0IHVucHJp dmlsZWdlZCB4c2s8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5pbiBtYXAuXG4mcXVvdDspOzxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgZ290byBvdXRfeHNrOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPkBAIC0yMDIzLDcgKzIwMjQs OCBAQCB4ZHBfZ2V0X2NoYW5uZWxzX2luZm8oY29uc3QgY2hhciAqaWZfbmFtZSwgaW50PG86cD48 L286cD48L3ByZT4NCjxwcmU+Km1heF9xdWV1ZXMsJm5ic3A7IHN0YXRpYyBpbnQmbmJzcDsgcGFy c2VfcGFyYW1ldGVycyhzdHJ1Y3QgcnRlX2t2YXJncyAqa3ZsaXN0LCBjaGFyPG86cD48L286cD48 L3ByZT4NCjxwcmU+KmlmX25hbWUsIGludCAqc3RhcnRfcXVldWUsPG86cD48L286cD48L3ByZT4N CjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAm bmJzcDtpbnQgKnF1ZXVlX2NudCwgaW50ICpzaGFyZWRfdW1lbSwgY2hhciAqcHJvZ19wYXRoLDxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgaW50ICpidXN5X2J1ZGdldCwgaW50ICpmb3JjZV9jb3B5LCBp bnQgKnVzZV9jbmkpPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnQgKmJ1c3lfYnVkZ2V0LCBpbnQg KmZvcmNlX2NvcHksIGludCAqdXNlX2NuaSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNoYXIgKnVk c19wYXRoKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiB7PG86cD48L286cD48L3ByZT4NCjxwcmU+ Jm5ic3A7IGludCByZXQ7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48 L3ByZT4NCjxwcmU+QEAgLTIwNjksNiArMjA3MSwxMSBAQCBwYXJzZV9wYXJhbWV0ZXJzKHN0cnVj dCBydGVfa3ZhcmdzICprdmxpc3QsIGNoYXI8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4qaWZfbmFt ZSwgaW50ICpzdGFydF9xdWV1ZSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgaWYgKHJl dCAmbHQ7IDApPG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBnb3RvIGZyZWVfa3ZsaXN0OzxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiZuYnNwOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisgcmV0ID0gcnRlX2t2YXJn c19wcm9jZXNzKGt2bGlzdCw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5FVEhfQUZfWERQX1VTRV9D TklfVURTX1BBVEhfQVJHLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgJmFtcDtwYXJzZV9wcm9nX2FyZywgdWRzX3BhdGgpOzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPisgaWYgKHJldCAmbHQ7IDApPG86cD48L286cD48L3ByZT4NCjxwcmU+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBnb3RvIGZyZWVf a3ZsaXN0OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPis8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4g ZnJlZV9rdmxpc3Q6PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IHJ0ZV9rdmFyZ3NfZnJl ZShrdmxpc3QpOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyByZXR1cm4gcmV0OzxvOnA+ PC9vOnA+PC9wcmU+DQo8cHJlPkBAIC0yMTA4LDcgKzIxMTUsNyBAQCBzdGF0aWMgc3RydWN0IHJ0 ZV9ldGhfZGV2ICombmJzcDsgaW5pdF9pbnRlcm5hbHMoc3RydWN0PG86cD48L286cD48L3ByZT4N CjxwcmU+cnRlX3ZkZXZfZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmlmX25hbWUsPG86cD48L286 cD48L3ByZT4NCjxwcmU+Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO2ludCBzdGFydF9xdWV1ZV9pZHgsIGludCBxdWV1ZV9jbnQsIGludCBzaGFyZWRfdW1l bSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Y29uc3QgY2hhciAqcHJvZ19wYXRoLCBpbnQgYnVzeV9idWRnZXQs IGludCBmb3JjZV9jb3B5LDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0gJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGludCB1c2VfY25pKTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7 Jm5ic3A7IGludCB1c2VfY25pLCBjb25zdCBjaGFyICp1ZHNfcGF0aCk8bzpwPjwvbzpwPjwvcHJl Pg0KPHByZT4gezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBjb25zdCBjaGFyICpuYW1l ID0gcnRlX3ZkZXZfZGV2aWNlX25hbWUoZGV2KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJz cDsgY29uc3QgdW5zaWduZWQgaW50IG51bWFfbm9kZSA9IGRldi0mZ3Q7ZGV2aWNlLm51bWFfbm9k ZTsgQEAgLTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPjIxMzgsNiArMjE0NSw3IEBAIGluaXRfaW50 ZXJuYWxzKHN0cnVjdCBydGVfdmRldl9kZXZpY2UgKmRldiwgY29uc3QgY2hhcjxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPippZl9uYW1lLDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBpbnRl cm5hbHMtJmd0O3NoYXJlZF91bWVtID0gc2hhcmVkX3VtZW07PG86cD48L286cD48L3ByZT4NCjxw cmU+Jm5ic3A7IGludGVybmFscy0mZ3Q7Zm9yY2VfY29weSA9IGZvcmNlX2NvcHk7PG86cD48L286 cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGludGVybmFscy0mZ3Q7dXNlX2NuaSA9IHVzZV9jbmk7PG86 cD48L286cD48L3ByZT4NCjxwcmU+KyBzdHJsY3B5KGludGVybmFscy0mZ3Q7dWRzX3BhdGgsIHVk c19wYXRoLCBQQVRIX01BWCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286 cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGlmICh4ZHBfZ2V0X2NoYW5uZWxzX2luZm8oaWZfbmFtZSwg JmFtcDtpbnRlcm5hbHMtJmd0O21heF9xdWV1ZV9jbnQsPG86cD48L286cD48L3ByZT4NCjxwcmU+ ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmYW1wO2ludGVybmFscy0mZ3Q7 Y29tYmluZWRfcXVldWVfY250KSkgeyBAQCAtPG86cD48L286cD48L3ByZT4NCjxwcmU+MjMyOCw2 ICsyMzM2LDcgQEAgcnRlX3BtZF9hZl94ZHBfcHJvYmUoc3RydWN0IHJ0ZV92ZGV2X2RldmljZSAq ZGV2KTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBpbnQgYnVzeV9idWRnZXQgPSAtMSwg cmV0OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBpbnQgZm9yY2VfY29weSA9IDA7PG86 cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGludCB1c2VfY25pID0gMDs8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4rIGNoYXIgdWRzX3BhdGhbUEFUSF9NQVhdID0geydcMCd9OzxvOnA+PC9vOnA+ PC9wcmU+DQo8cHJlPiZuYnNwOyBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYgPSBOVUxMOzxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiZuYnNwOyBjb25zdCBjaGFyICpuYW1lID0gcnRlX3ZkZXZf ZGV2aWNlX25hbWUoZGV2KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT5AQCAtMjM3MCw3ICsyMzc5LDcgQEAgcnRlX3BtZF9hZl94ZHBfcHJvYmUo c3RydWN0IHJ0ZV92ZGV2X2RldmljZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPipkZXYpPG86cD48 L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGlm IChwYXJzZV9wYXJhbWV0ZXJzKGt2bGlzdCwgaWZfbmFtZSwgJmFtcDt4c2tfc3RhcnRfcXVldWVf aWR4LDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JmFtcDt4c2tfcXVldWVf Y250LCAmYW1wO3NoYXJlZF91bWVtLCBwcm9nX3BhdGgsPG86cD48L286cD48L3ByZT4NCjxwcmU+ LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgJmFtcDtidXN5X2J1ZGdldCwgJmFtcDtmb3JjZV9jb3B5LCAmYW1wO3VzZV9jbmkp ICZsdDsgMCkgezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgJmFtcDtidXN5X2J1ZGdldCwgJmFtcDtmb3JjZV9jb3B5LCAmYW1wO3VzZV9jbmks PG86cD48L286cD48L3ByZT4NCjxwcmU+dWRzX3BhdGgpICZsdDsgMCkgezxvOnA+PC9vOnA+PC9w cmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgQUZfWERQX0xPRyhFUlIsICZxdW90O0ludmFsaWQga3ZhcmdzIHZhbHVlXG4mcXVvdDspOzxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgcmV0dXJuIC1FSU5WQUw7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5i c3A7IH08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT5AQCAtMjM4Nyw2ICsyMzk2LDEyIEBAIHJ0ZV9w bWRfYWZfeGRwX3Byb2JlKHN0cnVjdCBydGVfdmRldl9kZXZpY2U8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4qZGV2KTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIC1FSU5WQUw7PG86cD48L286cD48L3ByZT4NCjxwcmU+ Jm5ic3A7IH08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4rIGlmICh1c2VfY25pICZhbXA7JmFtcDsgIXN0cm5sZW4odWRzX3BhdGgsIFBBVEhfTUFY KSkgezxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgQUZfWERQX0xPRyhFUlIsICZxdW90O1doZW4gJyVzJyBwYXJh bWV0ZXIgaXMgdXNlZCwgJyVzJyBtdXN0PG86cD48L286cD48L3ByZT4NCjxwcmU+YWxzbyBiZSBw cm92aWRlZFxuJnF1b3Q7LDxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgRVRIX0FGX1hEUF9VU0VfQ05JX0FSRyw8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT5FVEhfQUZfWERQX1VTRV9DTklfVURTX1BBVEhfQVJHKTs8bzpwPjwvbzpw PjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJl dHVybiAtRUlOVkFMOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPisgfTxvOnA+PC9vOnA+PC9wcmU+ DQo8cHJlPis8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgaWYgKHN0cmxlbihpZl9uYW1l KSA9PSAwKSB7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBBRl9YRFBfTE9HKEVSUiwgJnF1b3Q7TmV0d29yayBp bnRlcmZhY2UgbXVzdCBiZTxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPnNwZWNpZmllZFxuJnF1b3Q7 KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiAtRUlOVkFMOzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJl PkBAIC0yNDEwLDcgKzI0MjUsNyBAQCBydGVfcG1kX2FmX3hkcF9wcm9iZShzdHJ1Y3QgcnRlX3Zk ZXZfZGV2aWNlPG86cD48L286cD48L3ByZT4NCjxwcmU+KmRldik8bzpwPjwvbzpwPjwvcHJlPg0K PHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4mbmJzcDsgZXRoX2RldiA9IGluaXRf aW50ZXJuYWxzKGRldiwgaWZfbmFtZSwgeHNrX3N0YXJ0X3F1ZXVlX2lkeCw8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwO3hza19xdWV1ZV9jbnQs IHNoYXJlZF91bWVtLCBwcm9nX3BhdGgsPG86cD48L286cD48L3ByZT4NCjxwcmU+LSZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBidXN5X2J1ZGdldCwgZm9yY2VfY29weSwgdXNlX2NuaSk7 PG86cD48L286cD48L3ByZT4NCjxwcmU+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBi dXN5X2J1ZGdldCwgZm9yY2VfY29weSwgdXNlX2NuaSw8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT51 ZHNfcGF0aCk7PG86cD48L286cD48L3ByZT4NCjxwcmU+Jm5ic3A7IGlmIChldGhfZGV2ID09IE5V TEwpIHs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEFGX1hEUF9MT0coRVJSLCAmcXVvdDtGYWlsZWQgdG8gaW5p dCBpbnRlcm5hbHNcbiZxdW90Oyk7PG86cD48L286cD48L3ByZT4NCjxwcmU+ICZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gLTE7PG86cD48L286 cD48L3ByZT4NCjxwcmU+QEAgLTI0NzEsNCArMjQ4Niw1IEBAPG86cD48L286cD48L3ByZT4NCjxw cmU+UlRFX1BNRF9SRUdJU1RFUl9QQVJBTV9TVFJJTkcobmV0X2FmX3hkcCw8bzpwPjwvbzpwPjwv cHJlPg0KPHByZT4gJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZxdW90O3hkcF9wcm9nPSZsdDtzdHJpbmcm Z3Q7ICZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPiAmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JnF1 b3Q7YnVzeV9idWRnZXQ9Jmx0O2ludCZndDsgJnF1b3Q7PG86cD48L286cD48L3ByZT4NCjxwcmU+ ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmcXVvdDtmb3JjZV9jb3B5PSZsdDtpbnQmZ3Q7ICZxdW90Ozxv OnA+PC9vOnA+PC9wcmU+DQo8cHJlPi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZxdW90O3VzZV9jbmk9Jmx0O2lu dCZndDsgJnF1b3Q7KTs8bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmcXVv dDt1c2VfY25pPSZsdDtpbnQmZ3Q7ICZxdW90OzxvOnA+PC9vOnA+PC9wcmU+DQo8cHJlPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZxdW90O3Vkc19wYXRoPSZsdDtzdHJpbmcmZ3Q7ICZxdW90Oyk7PG86cD48L286 cD48L3ByZT4NCjxwcmU+LS08bzpwPjwvbzpwPjwvcHJlPg0KPHByZT4yLjQxLjA8bzpwPjwvbzpw PjwvcHJlPg0KPC9ibG9ja3F1b3RlPg0KPHByZT4mbmJzcDs8bzpwPjwvbzpwPjwvcHJlPg0KPC9i bG9ja3F1b3RlPg0KPHA+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvYmxvY2txdW90 ZT4NCjxwPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwv aHRtbD4NCg== --_000_DM6PR11MB399504D6BAC54F9E486D4BB9A285ADM6PR11MB3995namp_--