From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 68007C4743C for ; Wed, 23 Jun 2021 09:52:37 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id C821A6112D for ; Wed, 23 Jun 2021 09:52:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C821A6112D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 13D8E4003F; Wed, 23 Jun 2021 11:52:36 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 60C934003E for ; Wed, 23 Jun 2021 11:52:34 +0200 (CEST) IronPort-SDR: GtLZFQBt/DJuO0evNjiIUplesHEKuTyDRbKzL+8wdClQw8nL8YzYPqdpyx2sfYp8ehIXqrIcZd SOjUe4uPenjQ== X-IronPort-AV: E=McAfee;i="6200,9189,10023"; a="268370224" X-IronPort-AV: E=Sophos;i="5.83,293,1616482800"; d="scan'208";a="268370224" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jun 2021 02:52:33 -0700 IronPort-SDR: c3PGvtDPlURqLsoTCsf4vCkC2IAmB5CpbeBCu7XATtta2Nz3n1wbSac4/clL7O5tpsHD9Bl0XI +rFxVPo4Yexw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,293,1616482800"; d="scan'208";a="444907373" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga007.jf.intel.com with ESMTP; 23 Jun 2021 02:52:33 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 23 Jun 2021 02:52:33 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Wed, 23 Jun 2021 02:52:32 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Wed, 23 Jun 2021 02:52:32 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.101) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Wed, 23 Jun 2021 02:52:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lofI3MHuCstK6Pv85pZldFBMrKDic2LZfyJjA1E+w3efiHvz9YlDLH8CKnjhXWbtspobwpPJanxEJzqc8Mr8rF6BNwNRhi55f59jlcAX1zKcpEu5iQKZ+PlWk8zi1H8DqNwdnKrnhQoA5RPV4oSSjDczBTWgSNj5ZuUem8Yaen+0Cg18CG6Me73QqHDotXDG1ray3T3Khf4UkuAxnU7gXKgaHLEd3NARvPW8N6qQjGWGNovj6n+iMqdJbJsPnUQVpJi+Dv8Z2pv4L8OZqp9gvD9BhDZrP7nmSvFChrGiViAS70G6xHH6qGzpdYIIbLh2+9yOEiYUn5TyEnI7Qa+IsQ== 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-SenderADCheck; bh=GLvLjBzCs4aiiDV3x717TD7kEGngl4hmod00MxpogkA=; b=mgE2tZcHGqVEDsjAXFW/Vw6XDGxwYrfKxtt3kFtg+VEXYVkFYI2VgurPmSa6hd1DN6E1/2bZ2S3C/shQHlw/brL+9dzz7cZk2q0TsUDFtNb4mHFClstCL44RQjL2GfO41P4Gh87tC+7rGBvb8Eql2U48yjI8Pw+uj1jOaxmAFisMzsKaSdiIevSfBdhRd0gsyyR22iv4r7mlhaQLjcqjoTfy46JNLiRjEqeI/FCjzuc57in941Og1p65jxvPcQE5yHK1BF49CilrRnMat8QLTc+sJ7vqAQPxkPlw4sqePzStvJXvRt58EsgRUIaNiutuNlRrYW3uS3UyR8SdWx8mMw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GLvLjBzCs4aiiDV3x717TD7kEGngl4hmod00MxpogkA=; b=ZWhEkNb92u1qWl4lyhfjxcln0Q4TFH3Og/AtZ66GaEgSjLxSA08RRb+ZBAWsi3NYNyg7jj3fmALN+zhw+2XJsIlIj65piz0sqdeFMHfHk7sZzlOfVh06WxSRMFE0DuAP1tiC8zEbLz547qIRvc6QjIMzJMbRicMu5EAuxsAkZ80= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM5PR11MB1451.namprd11.prod.outlook.com (2603:10b6:4:11::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Wed, 23 Jun 2021 09:52:29 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48%7]) with mapi id 15.20.4242.024; Wed, 23 Jun 2021 09:52:28 +0000 From: "Ananyev, Konstantin" To: "Burakov, Anatoly" , "dev@dpdk.org" , "Hunt, David" CC: "Loftus, Ciara" Thread-Topic: [dpdk-dev] [PATCH v1 4/7] power: remove thread safety from PMD power API's Thread-Index: AQHXVt3s3SqCadMTUkmuRVO1oz9RIKsf3MzQgAGeo4CAAAFIsA== Date: Wed, 23 Jun 2021 09:52:28 +0000 Message-ID: References: <85de3e30-eb1b-cd5c-5767-a2157d0d1616@intel.com> In-Reply-To: <85de3e30-eb1b-cd5c-5767-a2157d0d1616@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.255.184.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 834d379d-6199-4c4b-389e-08d9362c9cfe x-ms-traffictypediagnostic: DM5PR11MB1451: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: dPqahd0t8jtEZ6ZQ0BumLAB711g8HPULNO4MxurmtYTRMOzRe4p53e8HCOyANOMqp5jHIxhT0X0BCP2jFN8lgS1lVJJEWdNkeILKxRcZ05u2lRdHTp8/6N61f16+xK3vyk2wKywKcnk7cYN2pwEzjl71VDw2euDdZgk8r0zBAz4IuoRut+CrJ9nLMrj7ZZsRdVnFzVjJgkY7QkcvYiT5dyUigPGXuKGlAUVmxglAPYHRRoJZJip8+CFcXQDG1L+GaJPOMOqq0QNKqEsAlBzRShyD1EEqOL7lXhU5MhazA6nB2RU68A9O7hTKHcbhrfwP9bNy1Ywue+LwkM7RGMHU/Le9lQdeQzxqpo32bS1wbKzdQtintamCW3xIfncecgaYx5w2r7TwLKVbncAdtYvkysPHfBG3L632Y+GM+Tsu3KP2g9Tlk+CevsX1sleaL2zRE7yjsusUsTLJQl630yKchFLPIxqvNbSwfjl93Xy3xFi1JMXrshrRPpZyIB8ZGiGAyXS+9MpKwrpe7llOPRmMLBcqKircKsIv6ZPtyUNygWuAfUJxtZeviB/lKOJ7upJ4jmrJIltXc7x92ixhP0xfknWcINQuwtJIZKSJuGITaxM= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(39860400002)(376002)(366004)(396003)(136003)(346002)(55016002)(6636002)(122000001)(38100700002)(478600001)(83380400001)(8676002)(71200400001)(8936002)(2906002)(5660300002)(316002)(76116006)(66946007)(55236004)(52536014)(186003)(26005)(7696005)(6506007)(110136005)(107886003)(33656002)(9686003)(4326008)(86362001)(53546011)(66556008)(66476007)(64756008)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a0M0U2VBY1pyNFpiVWE1dExvcGIxTzJDbXU4cWdwcWUwM3RWTEMzSk5RVHR2?= =?utf-8?B?cW5DcTYwWHpOSHgxRStFRFJURjJPcUhzSTZRcGhYaGpvRHQ5Z0pQVStFbkVW?= =?utf-8?B?NnpTRkJFK0dPOHdrMGZMRjRrZXdDYTZ5dWF6RHdBaGtnNlRWa2Z6Nk50M2g1?= =?utf-8?B?YVZCOUxBdEplNS9meWtSazkwRm1FV0pwRWVJeGVPbEhxUGhiWG1UWXF6eUVR?= =?utf-8?B?MVdTajZtNnJhelJZcU1qSFVXYW41RDVVWkNHRkJUMm5kSi84WlRacGNKdVdz?= =?utf-8?B?akhPOWxBaFdRS213ZDBXbXA1RGd2b01BL3ExUy9oNGVseHJGcFJkOTdKblVV?= =?utf-8?B?NDJndHJDVG56Q29NVGNvcUxnVnJaVUhxdGM4eXdkY2xGQmhUQWZnYkE1VlpZ?= =?utf-8?B?cWFaVmJuNXYrUFAxMFZlRTV3eUVERG1PUndlZnMxZGwxWEZaejlFbGFYalVD?= =?utf-8?B?dUFGZ2ROM0FDSkdsYmR3Z1MvYndmbVU2N0JmOGJDeVgrV3JQOWV3YVJCVWZO?= =?utf-8?B?K0RvTHZVREZmNzJLekMyTHdOK3NlNkNoY0prUUFka1V1eEpORWlIK0oyS0ha?= =?utf-8?B?UGdEVEVVYlVwQW5NRFpqWDNxb3J4Sjg5YlBpcmtjQ1NlQkhodytFUExWQjZR?= =?utf-8?B?MGFXL3Q2QTBnS3VnZk02Z2xzQ1VvREpHeFVLdG1XNDFGVDBCdm9Ma2FiQ1pR?= =?utf-8?B?N3dEcVVRSkMxRmVBMWhmbS9GdENTRVA2MEI2di9VTmcvVzNlb09QSTk3cXNk?= =?utf-8?B?T005MWVrc1VUbEVOMG1DNmE2eldNajVaYU5iK1pONFNSb1pyZDg5a1krL0lN?= =?utf-8?B?K0I1bmJpZy9qUXFEWlBEQi9OZC9kY2thWmhzcDlHaVpnUFYzY0U1eS84cDUw?= =?utf-8?B?NnVCNUZiZWIrbUtNUlV0OWxBS2dXcCtGbnM3UElCbXN1dS9FRTVZUTBkblRH?= =?utf-8?B?TG93S1NjTHR1bnJUOHVkODlZNUpxTjYxTkFmdUQ2YUhtbElSdjFYWjRyYjNm?= =?utf-8?B?K1IyUFhFQm1NSWxKaEpGdjJYaERwU3VQcTJraG8wN3JkOVdSdExlVnRxUER4?= =?utf-8?B?UkFYRTZRQ0MwMnRFTzVRdCtwTXZEOVpHTktuejFBRTBwUkQwQWhOeXZlVDQ2?= =?utf-8?B?ZFNmY0dXMTFZQ011cTB6TjAwaWxPYnFIUXdNQTA3SkhkTHVmYjhhaVlBQzQ1?= =?utf-8?B?bDAvckt6d2RjVG55MUFNenJ0blhMVlZkcXdkQ3FWTmpCZERZNlhLeVdvWGJK?= =?utf-8?B?S29ZN3kyYy9YWGQ4VE13MnVZUXU1YnBLaU1YeGo1ODBNZ000RVd1MkZOYmNm?= =?utf-8?B?cllVRkI3MWV0SmhQVUgyRmtxQlFMVDU3emt1dnpNZTBmdzhZVTI3RlAwMGhG?= =?utf-8?B?a29wY2xkZXk1ZGdBeGZ4WituSUhXcDFhTzZHYkhYN3RwcmErdHZablF4eFFz?= =?utf-8?B?MjFZUUhtV1NhSUJKS05tREdQTWRLQXV6UVVDWGJidUhrRTQyM1hEM1JORGpV?= =?utf-8?B?UmF5eDVQMUxqMi9UdVNwQjQ3bnRWaXVjUG5ETVlJY29ndW1XbzVlT3JzUHcr?= =?utf-8?B?blY0ZDFBWmVYbE9wajdqUlIzaTZPWGdvYTdQVHpwaTZDL1VVTXFVV3RibCta?= =?utf-8?B?MmNsUXJlcS9EZWxhVGhYQUI0NDlqQTRlMG1RajdUKzQ4QkpCYkRVM3dFUHVT?= =?utf-8?B?ZTV3S21zY1J3dGxMQkswbHdBQVZMT2x2RDdCeW9vb1FxR1hhS2NWVHFMOTds?= =?utf-8?Q?Ni1F1atuJXOsJ/XUcGqvVIX5gwLk8d8gfP3QxnD?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 834d379d-6199-4c4b-389e-08d9362c9cfe X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2021 09:52:28.8983 (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: P/xsQ3Ag5IIvTjbRUUkvyTihNQB/NthDCun9p8Fw9fUwE1t+Y1uKL+wRD4AhM40FyxIMY+jAVejgtxJmNY/qULcVt1GabCZfV64c2AgN8w8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1451 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1 4/7] power: remove thread safety from PMD power API's 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 Sender: "dev" DQoNCj4gDQo+IE9uIDIyLUp1bi0yMSAxMDoxMyBBTSwgQW5hbnlldiwgS29uc3RhbnRpbiB3cm90 ZToNCj4gPg0KPiA+PiBDdXJyZW50bHksIHdlIGV4cGVjdCB0aGF0IG9ubHkgb25lIGNhbGxiYWNr IGNhbiBiZSBhY3RpdmUgYXQgYW55IGdpdmVuDQo+ID4+IG1vbWVudCwgZm9yIGEgcGFydGljdWxh ciBxdWV1ZSBjb25maWd1cmF0aW9uLCB3aGljaCBpcyByZWxhdGl2ZWx5IGVhc3kNCj4gPj4gdG8g aW1wbGVtZW50IGluIGEgdGhyZWFkLXNhZmUgd2F5LiBIb3dldmVyLCB3ZSdyZSBhYm91dCB0byBh ZGQgc3VwcG9ydA0KPiA+PiBmb3IgbXVsdGlwbGUgcXVldWVzIHBlciBsY29yZSwgd2hpY2ggd2ls bCBncmVhdGx5IGluY3JlYXNlIHRoZQ0KPiA+PiBwb3NzaWJpbGl0eSBvZiB2YXJpb3VzIHJhY2Ug Y29uZGl0aW9ucy4NCj4gPj4NCj4gPj4gV2UgY291bGQgaGF2ZSB1c2VkIHNvbWV0aGluZyBsaWtl IGFuIFJDVSBmb3IgdGhpcyB1c2UgY2FzZSwgYnV0IGFic2VudA0KPiA+PiBvZiBhIHByZXNzaW5n IG5lZWQgZm9yIHRocmVhZCBzYWZldHkgd2UnbGwgZ28gdGhlIGVhc3kgd2F5IGFuZCBqdXN0DQo+ ID4+IG1hbmRhdGUgdGhhdCB0aGUgQVBJJ3MgYXJlIHRvIGJlIGNhbGxlZCB3aGVuIGFsbCBhZmZl Y3RlZCBwb3J0cyBhcmUNCj4gPj4gc3RvcHBlZCwgYW5kIGRvY3VtZW50IHRoaXMgbGltaXRhdGlv bi4gVGhpcyBncmVhdGx5IHNpbXBsaWZpZXMgdGhlDQo+ID4+IGBydGVfcG93ZXJfbW9uaXRvcmAt cmVsYXRlZCBjb2RlLg0KPiA+DQo+ID4gSSB0aGluayB5b3UgbmVlZCB0byB1cGRhdGUgUk4gdG9v IHdpdGggdGhhdC4NCj4gDQo+IFllcCwgd2lsbCBmaXguDQo+IA0KPiA+IEFub3RoZXIgdGhpbmcg LSBkbyB5b3UgcmVhbGx5IG5lZWQgdGhlIHdob2xlIHBvcnQgc3RvcHBlZD8NCj4gPiAgRnJvbSB3 aGF0IEkgdW5kZXJzdGFuZCAtIHlvdSB3b3JrIG9uIHF1ZXVlcywgc28gaXQgaXMgZW5vdWdoIGZv ciB5b3UNCj4gPiB0aGF0IHJlbGF0ZWQgUlggcXVldWUgaXMgc3RvcHBlZC4NCj4gPiBTbywgdG8g bWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByb2J1c3QsIGluIHBtZ210X3F1ZXVlX2VuYWJsZS9kaXNh YmxlDQo+ID4geW91IGNhbiBjYWxsIHJ0ZV9ldGhfcnhfcXVldWVfaW5mb19nZXQoKSBhbmQgY2hl Y2sgcXVldWUgc3RhdGUuDQo+IA0KPiBXZSB3b3JrIG9uIHF1ZXVlcywgYnV0IHRoZSBkYXRhIGlz IHBlci1sY29yZSBub3QgcGVyLXF1ZXVlLCBhbmQgaXQgaXMNCj4gcG90ZW50aWFsbHkgdXNlZCBi eSBtdWx0aXBsZSBxdWV1ZXMsIHNvIGNoZWNraW5nIG9uZSBzcGVjaWZpYyBxdWV1ZSBpcw0KPiBu b3QgZ29pbmcgdG8gYmUgZW5vdWdoLiBXZSBjb3VsZCBjaGVjayBhbGwgcXVldWVzIHRoYXQgd2Vy ZSByZWdpc3RlcmVkDQo+IHNvIGZhciB3aXRoIHRoZSBwb3dlciBsaWJyYXJ5LCBtYXliZSB0aGF0 J2xsIHdvcmsgYmV0dGVyPw0KDQpZZXAsIHRoYXQncyB3aGF0IEkgbWVhbjogb24gcXVldWVfZW5h YmxlKCkgY2hlY2sgaXMgdGhhdCBxdWV1ZSBzdG9wcGVkIG9yIG5vdC4NCklmIG5vdCwgcmV0dXJu IC1FQlVTWS9FQUdBSU4gb3Igc28vDQpTb3JyeSBpZiBJIHdhc24ndCBjbGVhciBhdCBmaXJzdCB0 aW1lLg0KDQoNCj4gDQo+ID4NCj4gPj4gU2lnbmVkLW9mZi1ieTogQW5hdG9seSBCdXJha292IDxh bmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPg0KPiA+PiAtLS0NCj4gPj4gICBsaWIvcG93ZXIvbWVz b24uYnVpbGQgICAgICAgICAgfCAgIDMgKw0KPiA+PiAgIGxpYi9wb3dlci9ydGVfcG93ZXJfcG1k X21nbXQuYyB8IDEwNiArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPj4gICBs aWIvcG93ZXIvcnRlX3Bvd2VyX3BtZF9tZ210LmggfCAgIDYgKysNCj4gPj4gICAzIGZpbGVzIGNo YW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQ0KPiA+Pg0KPiA+PiBkaWZm IC0tZ2l0IGEvbGliL3Bvd2VyL21lc29uLmJ1aWxkIGIvbGliL3Bvd2VyL21lc29uLmJ1aWxkDQo+ ID4+IGluZGV4IGMxMDk3ZDMyZjEuLjRmNmEyNDIzNjQgMTAwNjQ0DQo+ID4+IC0tLSBhL2xpYi9w b3dlci9tZXNvbi5idWlsZA0KPiA+PiArKysgYi9saWIvcG93ZXIvbWVzb24uYnVpbGQNCj4gPj4g QEAgLTIxLDQgKzIxLDcgQEAgaGVhZGVycyA9IGZpbGVzKA0KPiA+PiAgICAgICAgICAgJ3J0ZV9w b3dlcl9wbWRfbWdtdC5oJywNCj4gPj4gICAgICAgICAgICdydGVfcG93ZXJfZ3Vlc3RfY2hhbm5l bC5oJywNCj4gPj4gICApDQo+ID4+ICtpZiBjYy5oYXNfYXJndW1lbnQoJy1Xbm8tY2FzdC1xdWFs JykNCj4gPj4gKyAgICBjZmxhZ3MgKz0gJy1Xbm8tY2FzdC1xdWFsJw0KPiA+PiArZW5kaWYNCj4g Pj4gICBkZXBzICs9IFsndGltZXInLCAnZXRoZGV2J10NCj4gPj4gZGlmZiAtLWdpdCBhL2xpYi9w b3dlci9ydGVfcG93ZXJfcG1kX21nbXQuYyBiL2xpYi9wb3dlci9ydGVfcG93ZXJfcG1kX21nbXQu Yw0KPiA+PiBpbmRleCBkYjAzY2JmNDIwLi4wNzA3YzYwYTRmIDEwMDY0NA0KPiA+PiAtLS0gYS9s aWIvcG93ZXIvcnRlX3Bvd2VyX3BtZF9tZ210LmMNCj4gPj4gKysrIGIvbGliL3Bvd2VyL3J0ZV9w b3dlcl9wbWRfbWdtdC5jDQo+ID4+IEBAIC00MCw4ICs0MCw2IEBAIHN0cnVjdCBwbWRfcXVldWVf Y2ZnIHsNCj4gPj4gICAgICAgIC8qKjwgQ2FsbGJhY2sgbW9kZSBmb3IgdGhpcyBxdWV1ZSAqLw0K PiA+PiAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9ldGhfcnh0eF9jYWxsYmFjayAqY3VyX2NiOw0K PiA+PiAgICAgICAgLyoqPCBDYWxsYmFjayBpbnN0YW5jZSAqLw0KPiA+PiAtICAgICB2b2xhdGls ZSBib29sIHVtd2FpdF9pbl9wcm9ncmVzczsNCj4gPj4gLSAgICAgLyoqPCBhcmUgd2UgY3VycmVu dGx5IHNsZWVwaW5nPyAqLw0KPiA+PiAgICAgICAgdWludDY0X3QgZW1wdHlfcG9sbF9zdGF0czsN Cj4gPj4gICAgICAgIC8qKjwgTnVtYmVyIG9mIGVtcHR5IHBvbGxzICovDQo+ID4+ICAgfSBfX3J0 ZV9jYWNoZV9hbGlnbmVkOw0KPiA+PiBAQCAtOTIsMzAgKzkwLDExIEBAIGNsYl91bXdhaXQodWlu dDE2X3QgcG9ydF9pZCwgdWludDE2X3QgcWlkeCwgc3RydWN0IHJ0ZV9tYnVmICoqcGt0cyBfX3J0 ZV91bnVzZWQsDQo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9wb3dlcl9t b25pdG9yX2NvbmQgcG1jOw0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHJl dDsNCj4gPj4NCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgIC8qDQo+ID4+IC0gICAgICAgICAg ICAgICAgICAgICAgKiB3ZSBtaWdodCBnZXQgYSBjYW5jZWxsYXRpb24gcmVxdWVzdCB3aGlsZSBi ZWluZw0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICogaW5zaWRlIHRoZSBjYWxsYmFjaywg aW4gd2hpY2ggY2FzZSB0aGUgd2FrZXVwDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgKiB3 b3VsZG4ndCB3b3JrIGJlY2F1c2UgaXQgd291bGQndmUgYXJyaXZlZCB0b28gZWFybHkuDQo+ID4+ IC0gICAgICAgICAgICAgICAgICAgICAgKg0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICog dG8gZ2V0IGFyb3VuZCB0aGlzLCB3ZSBub3RpZnkgdGhlIG90aGVyIHRocmVhZCB0aGF0DQo+ID4+ IC0gICAgICAgICAgICAgICAgICAgICAgKiB3ZSdyZSBzbGVlcGluZywgc28gdGhhdCBpdCBjYW4g c3BpbiB1bnRpbCB3ZSdyZSBkb25lLg0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICogdW5z b2xpY2l0ZWQgd2FrZXVwcyBhcmUgcGVyZmVjdGx5IHNhZmUuDQo+ID4+IC0gICAgICAgICAgICAg ICAgICAgICAgKi8NCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgIHFfY29uZi0+dW13YWl0X2lu X3Byb2dyZXNzID0gdHJ1ZTsNCj4gPj4gLQ0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAgcnRl X2F0b21pY190aHJlYWRfZmVuY2UoX19BVE9NSUNfU0VRX0NTVCk7DQo+ID4+IC0NCj4gPj4gLSAg ICAgICAgICAgICAgICAgICAgIC8qIGNoZWNrIGlmIHdlIG5lZWQgdG8gY2FuY2VsIHNsZWVwICov DQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICBpZiAocV9jb25mLT5wd3JfbWdtdF9zdGF0ZSA9 PSBQTURfTUdNVF9FTkFCTEVEKSB7DQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8qIHVzZSBtb25pdG9yaW5nIGNvbmRpdGlvbiB0byBzbGVlcCAqLw0KPiA+PiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXQgPSBydGVfZXRoX2dldF9tb25pdG9yX2FkZHIocG9ydF9p ZCwgcWlkeCwNCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZwbWMpOw0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0ID09 IDApDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX3Bvd2Vy X21vbml0b3IoJnBtYywgVUlOVDY0X01BWCk7DQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICB9 DQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICBxX2NvbmYtPnVtd2FpdF9pbl9wcm9ncmVzcyA9 IGZhbHNlOw0KPiA+PiAtDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICBydGVfYXRvbWljX3Ro cmVhZF9mZW5jZShfX0FUT01JQ19TRVFfQ1NUKTsNCj4gPj4gKyAgICAgICAgICAgICAgICAgICAg IC8qIHVzZSBtb25pdG9yaW5nIGNvbmRpdGlvbiB0byBzbGVlcCAqLw0KPiA+PiArICAgICAgICAg ICAgICAgICAgICAgcmV0ID0gcnRlX2V0aF9nZXRfbW9uaXRvcl9hZGRyKHBvcnRfaWQsIHFpZHgs DQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBtYyk7DQo+ID4+ ICsgICAgICAgICAgICAgICAgICAgICBpZiAocmV0ID09IDApDQo+ID4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJ0ZV9wb3dlcl9tb25pdG9yKCZwbWMsIFVJTlQ2NF9NQVgpOw0KPiA+ PiAgICAgICAgICAgICAgICB9DQo+ID4+ICAgICAgICB9IGVsc2UNCj4gPj4gICAgICAgICAgICAg ICAgcV9jb25mLT5lbXB0eV9wb2xsX3N0YXRzID0gMDsNCj4gPj4gQEAgLTE4Myw2ICsxNjIsNyBA QCBydGVfcG93ZXJfZXRoZGV2X3BtZ210X3F1ZXVlX2VuYWJsZSh1bnNpZ25lZCBpbnQgbGNvcmVf aWQsIHVpbnQxNl90IHBvcnRfaWQsDQo+ID4+ICAgew0KPiA+PiAgICAgICAgc3RydWN0IHBtZF9x dWV1ZV9jZmcgKnF1ZXVlX2NmZzsNCj4gPj4gICAgICAgIHN0cnVjdCBydGVfZXRoX2Rldl9pbmZv IGluZm87DQo+ID4+ICsgICAgIHJ0ZV9yeF9jYWxsYmFja19mbiBjbGI7DQo+ID4+ICAgICAgICBp bnQgcmV0Ow0KPiA+Pg0KPiA+PiAgICAgICAgUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfRVJSX1JF VChwb3J0X2lkLCAtRUlOVkFMKTsNCj4gPj4gQEAgLTIzMiwxNyArMjEyLDcgQEAgcnRlX3Bvd2Vy X2V0aGRldl9wbWdtdF9xdWV1ZV9lbmFibGUodW5zaWduZWQgaW50IGxjb3JlX2lkLCB1aW50MTZf dCBwb3J0X2lkLA0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FTk9UU1VQOw0K PiA+PiAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZW5kOw0KPiA+PiAgICAgICAgICAgICAg ICB9DQo+ID4+IC0gICAgICAgICAgICAgLyogaW5pdGlhbGl6ZSBkYXRhIGJlZm9yZSBlbmFibGlu ZyB0aGUgY2FsbGJhY2sgKi8NCj4gPj4gLSAgICAgICAgICAgICBxdWV1ZV9jZmctPmVtcHR5X3Bv bGxfc3RhdHMgPSAwOw0KPiA+PiAtICAgICAgICAgICAgIHF1ZXVlX2NmZy0+Y2JfbW9kZSA9IG1v ZGU7DQo+ID4+IC0gICAgICAgICAgICAgcXVldWVfY2ZnLT51bXdhaXRfaW5fcHJvZ3Jlc3MgPSBm YWxzZTsNCj4gPj4gLSAgICAgICAgICAgICBxdWV1ZV9jZmctPnB3cl9tZ210X3N0YXRlID0gUE1E X01HTVRfRU5BQkxFRDsNCj4gPj4gLQ0KPiA+PiAtICAgICAgICAgICAgIC8qIGVuc3VyZSB3ZSB1 cGRhdGUgb3VyIHN0YXRlIGJlZm9yZSBjYWxsYmFjayBzdGFydHMgKi8NCj4gPj4gLSAgICAgICAg ICAgICBydGVfYXRvbWljX3RocmVhZF9mZW5jZShfX0FUT01JQ19TRVFfQ1NUKTsNCj4gPj4gLQ0K PiA+PiAtICAgICAgICAgICAgIHF1ZXVlX2NmZy0+Y3VyX2NiID0gcnRlX2V0aF9hZGRfcnhfY2Fs bGJhY2socG9ydF9pZCwgcXVldWVfaWQsDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNsYl91bXdhaXQsIE5VTEwpOw0KPiA+PiArICAgICAgICAgICAgIGNsYiA9IGNsYl91bXdh aXQ7DQo+ID4+ICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+PiAgICAgICAgfQ0KPiA+PiAgICAg ICAgY2FzZSBSVEVfUE9XRVJfTUdNVF9UWVBFX1NDQUxFOg0KPiA+PiBAQCAtMjY5LDE2ICsyMzks NyBAQCBydGVfcG93ZXJfZXRoZGV2X3BtZ210X3F1ZXVlX2VuYWJsZSh1bnNpZ25lZCBpbnQgbGNv cmVfaWQsIHVpbnQxNl90IHBvcnRfaWQsDQo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgcmV0 ID0gLUVOT1RTVVA7DQo+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlbmQ7DQo+ID4+ ICAgICAgICAgICAgICAgIH0NCj4gPj4gLSAgICAgICAgICAgICAvKiBpbml0aWFsaXplIGRhdGEg YmVmb3JlIGVuYWJsaW5nIHRoZSBjYWxsYmFjayAqLw0KPiA+PiAtICAgICAgICAgICAgIHF1ZXVl X2NmZy0+ZW1wdHlfcG9sbF9zdGF0cyA9IDA7DQo+ID4+IC0gICAgICAgICAgICAgcXVldWVfY2Zn LT5jYl9tb2RlID0gbW9kZTsNCj4gPj4gLSAgICAgICAgICAgICBxdWV1ZV9jZmctPnB3cl9tZ210 X3N0YXRlID0gUE1EX01HTVRfRU5BQkxFRDsNCj4gPj4gLQ0KPiA+PiAtICAgICAgICAgICAgIC8q IHRoaXMgaXMgbm90IG5lY2Vzc2FyeSBoZXJlLCBidXQgZG8gaXQgYW55d2F5ICovDQo+ID4+IC0g ICAgICAgICAgICAgcnRlX2F0b21pY190aHJlYWRfZmVuY2UoX19BVE9NSUNfU0VRX0NTVCk7DQo+ ID4+IC0NCj4gPj4gLSAgICAgICAgICAgICBxdWV1ZV9jZmctPmN1cl9jYiA9IHJ0ZV9ldGhfYWRk X3J4X2NhbGxiYWNrKHBvcnRfaWQsDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IHF1ZXVlX2lkLCBjbGJfc2NhbGVfZnJlcSwgTlVMTCk7DQo+ID4+ICsgICAgICAgICAgICAgY2xi ID0gY2xiX3NjYWxlX2ZyZXE7DQo+ID4+ICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+PiAgICAg ICAgfQ0KPiA+PiAgICAgICAgY2FzZSBSVEVfUE9XRVJfTUdNVF9UWVBFX1BBVVNFOg0KPiA+PiBA QCAtMjg2LDE4ICsyNDcsMjEgQEAgcnRlX3Bvd2VyX2V0aGRldl9wbWdtdF9xdWV1ZV9lbmFibGUo dW5zaWduZWQgaW50IGxjb3JlX2lkLCB1aW50MTZfdCBwb3J0X2lkLA0KPiA+PiAgICAgICAgICAg ICAgICBpZiAoZ2xvYmFsX2RhdGEudHNjX3Blcl91cyA9PSAwKQ0KPiA+PiAgICAgICAgICAgICAg ICAgICAgICAgIGNhbGNfdHNjKCk7DQo+ID4+DQo+ID4+IC0gICAgICAgICAgICAgLyogaW5pdGlh bGl6ZSBkYXRhIGJlZm9yZSBlbmFibGluZyB0aGUgY2FsbGJhY2sgKi8NCj4gPj4gLSAgICAgICAg ICAgICBxdWV1ZV9jZmctPmVtcHR5X3BvbGxfc3RhdHMgPSAwOw0KPiA+PiAtICAgICAgICAgICAg IHF1ZXVlX2NmZy0+Y2JfbW9kZSA9IG1vZGU7DQo+ID4+IC0gICAgICAgICAgICAgcXVldWVfY2Zn LT5wd3JfbWdtdF9zdGF0ZSA9IFBNRF9NR01UX0VOQUJMRUQ7DQo+ID4+IC0NCj4gPj4gLSAgICAg ICAgICAgICAvKiB0aGlzIGlzIG5vdCBuZWNlc3NhcnkgaGVyZSwgYnV0IGRvIGl0IGFueXdheSAq Lw0KPiA+PiAtICAgICAgICAgICAgIHJ0ZV9hdG9taWNfdGhyZWFkX2ZlbmNlKF9fQVRPTUlDX1NF UV9DU1QpOw0KPiA+PiAtDQo+ID4+IC0gICAgICAgICAgICAgcXVldWVfY2ZnLT5jdXJfY2IgPSBy dGVfZXRoX2FkZF9yeF9jYWxsYmFjayhwb3J0X2lkLCBxdWV1ZV9pZCwNCj4gPj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2xiX3BhdXNlLCBOVUxMKTsNCj4gPj4gKyAgICAgICAgICAg ICBjbGIgPSBjbGJfcGF1c2U7DQo+ID4+ICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+PiArICAg ICBkZWZhdWx0Og0KPiA+PiArICAgICAgICAgICAgIFJURV9MT0coREVCVUcsIFBPV0VSLCAiSW52 YWxpZCBwb3dlciBtYW5hZ2VtZW50IHR5cGVcbiIpOw0KPiA+PiArICAgICAgICAgICAgIHJldCA9 IC1FSU5WQUw7DQo+ID4+ICsgICAgICAgICAgICAgZ290byBlbmQ7DQo+ID4+ICAgICAgICB9DQo+ ID4+ICsNCj4gPj4gKyAgICAgLyogaW5pdGlhbGl6ZSBkYXRhIGJlZm9yZSBlbmFibGluZyB0aGUg Y2FsbGJhY2sgKi8NCj4gPj4gKyAgICAgcXVldWVfY2ZnLT5lbXB0eV9wb2xsX3N0YXRzID0gMDsN Cj4gPj4gKyAgICAgcXVldWVfY2ZnLT5jYl9tb2RlID0gbW9kZTsNCj4gPj4gKyAgICAgcXVldWVf Y2ZnLT5wd3JfbWdtdF9zdGF0ZSA9IFBNRF9NR01UX0VOQUJMRUQ7DQo+ID4+ICsgICAgIHF1ZXVl X2NmZy0+Y3VyX2NiID0gcnRlX2V0aF9hZGRfcnhfY2FsbGJhY2socG9ydF9pZCwgcXVldWVfaWQs DQo+ID4+ICsgICAgICAgICAgICAgICAgICAgICBjbGIsIE5VTEwpOw0KPiA+PiArDQo+ID4+ICAg ICAgICByZXQgPSAwOw0KPiA+PiAgIGVuZDoNCj4gPj4gICAgICAgIHJldHVybiByZXQ7DQo+ID4+ IEBAIC0zMjMsMjcgKzI4Nyw4IEBAIHJ0ZV9wb3dlcl9ldGhkZXZfcG1nbXRfcXVldWVfZGlzYWJs ZSh1bnNpZ25lZCBpbnQgbGNvcmVfaWQsDQo+ID4+ICAgICAgICAvKiBzdG9wIGFueSBjYWxsYmFj a3MgZnJvbSBwcm9ncmVzc2luZyAqLw0KPiA+PiAgICAgICAgcXVldWVfY2ZnLT5wd3JfbWdtdF9z dGF0ZSA9IFBNRF9NR01UX0RJU0FCTEVEOw0KPiA+Pg0KPiA+PiAtICAgICAvKiBlbnN1cmUgd2Ug dXBkYXRlIG91ciBzdGF0ZSBiZWZvcmUgY29udGludWluZyAqLw0KPiA+PiAtICAgICBydGVfYXRv bWljX3RocmVhZF9mZW5jZShfX0FUT01JQ19TRVFfQ1NUKTsNCj4gPj4gLQ0KPiA+PiAgICAgICAg c3dpdGNoIChxdWV1ZV9jZmctPmNiX21vZGUpIHsNCj4gPj4gLSAgICAgY2FzZSBSVEVfUE9XRVJf TUdNVF9UWVBFX01PTklUT1I6DQo+ID4+IC0gICAgIHsNCj4gPj4gLSAgICAgICAgICAgICBib29s IGV4aXQgPSBmYWxzZTsNCj4gPj4gLSAgICAgICAgICAgICBkbyB7DQo+ID4+IC0gICAgICAgICAg ICAgICAgICAgICAvKg0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICogd2UgbWF5IHJlcXVl c3QgY2FuY2VsbGF0aW9uIHdoaWxlIHRoZSBvdGhlciB0aHJlYWQNCj4gPj4gLSAgICAgICAgICAg ICAgICAgICAgICAqIGhhcyBqdXN0IGVudGVyZWQgdGhlIGNhbGxiYWNrIGJ1dCBoYXNuJ3Qgc3Rh cnRlZA0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICogc2xlZXBpbmcgeWV0LCBzbyBrZWVw IHdha2luZyBpdCB1cCB1bnRpbCB3ZSBrbm93IGl0J3MNCj4gPj4gLSAgICAgICAgICAgICAgICAg ICAgICAqIGRvbmUgc2xlZXBpbmcuDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgKi8NCj4g Pj4gLSAgICAgICAgICAgICAgICAgICAgIGlmIChxdWV1ZV9jZmctPnVtd2FpdF9pbl9wcm9ncmVz cykNCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX3Bvd2VyX21vbml0b3Jf d2FrZXVwKGxjb3JlX2lkKTsNCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgIGVsc2UNCj4gPj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhpdCA9IHRydWU7DQo+ID4+IC0gICAgICAg ICAgICAgfSB3aGlsZSAoIWV4aXQpOw0KPiA+PiAtICAgICB9DQo+ID4+IC0gICAgIC8qIGZhbGwt dGhyb3VnaCAqLw0KPiA+PiArICAgICBjYXNlIFJURV9QT1dFUl9NR01UX1RZUEVfTU9OSVRPUjog LyogZmFsbC10aHJvdWdoICovDQo+ID4+ICAgICAgICBjYXNlIFJURV9QT1dFUl9NR01UX1RZUEVf UEFVU0U6DQo+ID4+ICAgICAgICAgICAgICAgIHJ0ZV9ldGhfcmVtb3ZlX3J4X2NhbGxiYWNrKHBv cnRfaWQsIHF1ZXVlX2lkLA0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVl dWVfY2ZnLT5jdXJfY2IpOw0KPiA+PiBAQCAtMzU2LDEwICszMDEsMTEgQEAgcnRlX3Bvd2VyX2V0 aGRldl9wbWdtdF9xdWV1ZV9kaXNhYmxlKHVuc2lnbmVkIGludCBsY29yZV9pZCwNCj4gPj4gICAg ICAgICAgICAgICAgYnJlYWs7DQo+ID4+ICAgICAgICB9DQo+ID4+ICAgICAgICAvKg0KPiA+PiAt ICAgICAgKiB3ZSBkb24ndCBmcmVlIHRoZSBSWCBjYWxsYmFjayBoZXJlIGJlY2F1c2UgaXQgaXMg dW5zYWZlIHRvIGRvIHNvDQo+ID4+IC0gICAgICAqIHVubGVzcyB3ZSBrbm93IGZvciBhIGZhY3Qg dGhhdCBhbGwgZGF0YSBwbGFuZSB0aHJlYWRzIGhhdmUgc3RvcHBlZC4NCj4gPj4gKyAgICAgICog dGhlIEFQSSBkb2MgbWFuZGF0ZXMgdGhhdCB0aGUgdXNlciBzdG9wcyBhbGwgcHJvY2Vzc2luZyBv biBhZmZlY3RlZA0KPiA+PiArICAgICAgKiBwb3J0cyBiZWZvcmUgY2FsbGluZyBhbnkgb2YgdGhl c2UgQVBJJ3MsIHNvIHdlIGNhbiBhc3N1bWUgdGhhdCB0aGUNCj4gPj4gKyAgICAgICogY2FsbGJh Y2tzIGNhbiBiZSBmcmVlZC4gd2UncmUgaW50ZW50aW9uYWxseSBjYXN0aW5nIGF3YXkgY29uc3Qt bmVzcy4NCj4gPj4gICAgICAgICAqLw0KPiA+PiAtICAgICBxdWV1ZV9jZmctPmN1cl9jYiA9IE5V TEw7DQo+ID4+ICsgICAgIHJ0ZV9mcmVlKCh2b2lkICopcXVldWVfY2ZnLT5jdXJfY2IpOw0KPiA+ Pg0KPiA+PiAgICAgICAgcmV0dXJuIDA7DQo+ID4+ICAgfQ0KPiA+PiBkaWZmIC0tZ2l0IGEvbGli L3Bvd2VyL3J0ZV9wb3dlcl9wbWRfbWdtdC5oIGIvbGliL3Bvd2VyL3J0ZV9wb3dlcl9wbWRfbWdt dC5oDQo+ID4+IGluZGV4IDdhMGFjMjQ2MjUuLjc1NTdmNWQ3ZTEgMTAwNjQ0DQo+ID4+IC0tLSBh L2xpYi9wb3dlci9ydGVfcG93ZXJfcG1kX21nbXQuaA0KPiA+PiArKysgYi9saWIvcG93ZXIvcnRl X3Bvd2VyX3BtZF9tZ210LmgNCj4gPj4gQEAgLTQzLDYgKzQzLDkgQEAgZW51bSBydGVfcG93ZXJf cG1kX21nbXRfdHlwZSB7DQo+ID4+ICAgICoNCj4gPj4gICAgKiBAbm90ZSBUaGlzIGZ1bmN0aW9u IGlzIG5vdCB0aHJlYWQtc2FmZS4NCj4gPj4gICAgKg0KPiA+PiArICogQHdhcm5pbmcgVGhpcyBm dW5jdGlvbiBtdXN0IGJlIGNhbGxlZCB3aGVuIGFsbCBhZmZlY3RlZCBFdGhlcm5ldCBwb3J0cyBh cmUNCj4gPj4gKyAqICAgc3RvcHBlZCBhbmQgbm8gUngvVHggaXMgaW4gcHJvZ3Jlc3MhDQo+ID4+ ICsgKg0KPiA+PiAgICAqIEBwYXJhbSBsY29yZV9pZA0KPiA+PiAgICAqICAgVGhlIGxjb3JlIHRo ZSBSeCBxdWV1ZSB3aWxsIGJlIHBvbGxlZCBmcm9tLg0KPiA+PiAgICAqIEBwYXJhbSBwb3J0X2lk DQo+ID4+IEBAIC02OSw2ICs3Miw5IEBAIHJ0ZV9wb3dlcl9ldGhkZXZfcG1nbXRfcXVldWVfZW5h YmxlKHVuc2lnbmVkIGludCBsY29yZV9pZCwNCj4gPj4gICAgKg0KPiA+PiAgICAqIEBub3RlIFRo aXMgZnVuY3Rpb24gaXMgbm90IHRocmVhZC1zYWZlLg0KPiA+PiAgICAqDQo+ID4+ICsgKiBAd2Fy bmluZyBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHdoZW4gYWxsIGFmZmVjdGVkIEV0aGVy bmV0IHBvcnRzIGFyZQ0KPiA+PiArICogICBzdG9wcGVkIGFuZCBubyBSeC9UeCBpcyBpbiBwcm9n cmVzcyENCj4gPj4gKyAqDQo+ID4+ICAgICogQHBhcmFtIGxjb3JlX2lkDQo+ID4+ICAgICogICBU aGUgbGNvcmUgdGhlIFJ4IHF1ZXVlIGlzIHBvbGxlZCBmcm9tLg0KPiA+PiAgICAqIEBwYXJhbSBw b3J0X2lkDQo+ID4+IC0tDQo+ID4+IDIuMjUuMQ0KPiA+DQo+IA0KPiANCj4gLS0NCj4gVGhhbmtz LA0KPiBBbmF0b2x5DQo=