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 724B3A0C42; Wed, 16 Jun 2021 18:38:01 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 57F034067A; Wed, 16 Jun 2021 18:38:01 +0200 (CEST) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00080.outbound.protection.outlook.com [40.107.0.80]) by mails.dpdk.org (Postfix) with ESMTP id C76DC40140; Wed, 16 Jun 2021 18:38:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HN70/jJ825NK1MPnOGwdNripgLvYBSHvBpM9NFd2OkE=; b=RfjCVUAOxEsZaimMXziaq6ltmD1w4KsQWMVZvK2hl+QxSSo2EDG6yqoiOJqL8UBir9VYjqOwum0alF6K+zkye7RshUvL2wLyk1sf9kDBPewN4YiHhoayHVATlM8GDNXf/91QQ3Dsr+J5m0Up8sa3dNAFSijXW9eizk9pkGtyutQ= Received: from DB6PR07CA0072.eurprd07.prod.outlook.com (2603:10a6:6:2a::34) by AM6PR08MB3461.eurprd08.prod.outlook.com (2603:10a6:20b:47::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.22; Wed, 16 Jun 2021 16:37:47 +0000 Received: from DB5EUR03FT004.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:2a:cafe::17) by DB6PR07CA0072.outlook.office365.com (2603:10a6:6:2a::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.9 via Frontend Transport; Wed, 16 Jun 2021 16:37:47 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT004.mail.protection.outlook.com (10.152.20.128) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.16 via Frontend Transport; Wed, 16 Jun 2021 16:37:47 +0000 Received: ("Tessian outbound a65d687b17e4:v93"); Wed, 16 Jun 2021 16:37:47 +0000 X-CR-MTA-TID: 64aa7808 Received: from 01fe73f23477.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0F71AA87-A8F0-46D4-8423-BAE8A5F771D2.1; Wed, 16 Jun 2021 16:37:47 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 01fe73f23477.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 16 Jun 2021 16:37:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ola3S7jR2hL9Atcwj+dvmoMBpiayIURO6dL6IM9do24ePvecGzFbZLcou0Gz+OUYqKpYR/llJHCJj132VIP3tsnqmDs0+n26qI8QDGT2uz7/Gl7qMHYGUgWomRRLsIQvzD6WH6tCG9luO3BOEnsv/S48GLeyqvxHu479lzLql7OBX3nETuhNyYcPsUHMCO2sZMmZEF2eNFqB6cARRJScrGZSb+gxYx/Gt8XHhNM9hRL+PvV79IZ7UTcQqMJx7Sh6XA8SzzKr1cp1J23bIhnmuUwVCm9v5FAzmagA1hZDMw1wF6VBxMYXenuW+usWugfdmT/tg8bfbufTy5jaOXRN+A== 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=HN70/jJ825NK1MPnOGwdNripgLvYBSHvBpM9NFd2OkE=; b=JyevUFG+Qz2VPII9jVwczag99C8TuxRYCBWaGoKzeLIGHgLr2v0yrbHaw2DgxPLivvbHMy9QDheCYT0tNvYI/C+UvoxNKsBml+dcGpUlSChOkkGamSoE+0hafiBbUfrBcU9nYICasPhm5//3uW4MZujgB5l3iNk5Sl6zeGJYn3CgRBf2UfRBXCOQgbi4bAwB1sL8wowbIAukKahjEv2ap5+bDJ4nwmY1vRuR5g0LZXD1eEXU8/VzuSH/eIz+MMLh2CNcMUZSb9U6yyRy9o0Tf/3D/LA5NiV/IbjhbyMN3qVUCyjxhM2d/Y3XEJtY8zEeoj9RPCA1iXCXuu5T3w/p4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HN70/jJ825NK1MPnOGwdNripgLvYBSHvBpM9NFd2OkE=; b=RfjCVUAOxEsZaimMXziaq6ltmD1w4KsQWMVZvK2hl+QxSSo2EDG6yqoiOJqL8UBir9VYjqOwum0alF6K+zkye7RshUvL2wLyk1sf9kDBPewN4YiHhoayHVATlM8GDNXf/91QQ3Dsr+J5m0Up8sa3dNAFSijXW9eizk9pkGtyutQ= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by DB9PR08MB6698.eurprd08.prod.outlook.com (2603:10a6:10:2a2::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.15; Wed, 16 Jun 2021 16:37:34 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::f15f:821c:74c5:2482]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::f15f:821c:74c5:2482%2]) with mapi id 15.20.4242.019; Wed, 16 Jun 2021 16:37:33 +0000 From: Honnappa Nagarahalli To: Feifei Wang , "thomas@monjalon.net" , Takeshi Yoshimura CC: "stable@dpdk.org" , "dev@dpdk.org" , "olivier.matz@6wind.com" , "chaozhu@linux.vnet.ibm.com" , "konstantin.ananyev@intel.com" , "jerinj@marvell.com" , nd , Honnappa Nagarahalli , nd Thread-Topic: [dpdk-dev] [dpdk-stable] [PATCH] rte_ring: fix racy dequeue/enqueue in ppc64 Thread-Index: AQHXYn9cj7ZmLElVEke2yKh5Bz6OhqsW1krw Date: Wed, 16 Jun 2021 16:37:31 +0000 Message-ID: References: <20180712024414.4756-1-t.yoshimura8869@gmail.com> <20180717033410.GA3344@jerin> <7532216.RsKJNViV3k@thomas> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: EDBE7C8F9E82F14882DF9D8EB65968C1.0 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [70.113.13.105] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 5445aaf5-a11c-4caf-1afc-08d930e51336 x-ms-traffictypediagnostic: DB9PR08MB6698:|AM6PR08MB3461: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: by0g4fobsiiDRAgbFC0h+4rE0+wC2ZgbO6FZb0/bGbEbV9wqV40kMvleyEaUTS1TDDVDT3mWATUp3Jbdg0+SaApivAYIec84BkPmah5SrVvkPMUrn7hTx8+O7ic0gkpyWIygc03AplSgivI+/SCX2D2SJsizg/c3ITpzgLcHpz7u2QaScxKHMcbGfROlURCY0qkuW5Er8PRAM129lboICKA/WmxhQXeEqDzJ5FzGg+ydbqHz1KAtXaVrrKE2vWdHpwbwnIkqnnQWO+ks53Nm7VJ9XgMj8gdA1MUr5QHwrFSuxZhlI5s5MS/7vskECdNEM+l6zER/MfM1wYjg4jIpEV/93A54JCdxa21zhPYSzy+qX38UsXV1k8zYg4784HsCoP24b0w7V2mxNo8lXuU7PgvQAkuXP5hh0VZlLVtLYrQYWSDvzGxzj0Kzk8H3JvSfzm7YZ/Kt3d9u1Lk0aN4yA8Zi62eHKz0yr0H0SEbXuwPKpQgpjzCbZK1HR1bz1UX06z/Q8tpgEx2PmPpJTekF7OTzNQjTCUCXWOiUvZ6Ratl5oC0/m6VIzhR0rFy7ClQpK42n9uVPg27216dBRKzTDDyPgyf4Nd3Ad9Jigd+SG7/rW+oukXmHtef7TNlHdNbhOD6yCOjiuD5yKY9zyb/l2TF6wWAaSv4WuJqrd1UGwWklCwOMwtl1SS750Oys1ao+RYnJ8hzPar7gR+t++fKX4iDysK6lHhUUVFfhdVaAz5SOLAt+ZplijlV2x/U/xdo+wuayiFdrDOmVLszuYF6EOQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(83380400001)(186003)(26005)(66446008)(66476007)(2906002)(76116006)(4326008)(66556008)(64756008)(5660300002)(55016002)(7696005)(33656002)(498600001)(86362001)(8936002)(66946007)(52536014)(71200400001)(6506007)(54906003)(122000001)(966005)(8676002)(110136005)(9686003)(38100700002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d2t5VG5PMk1DU2NnZHpTUDE5a08yQS9LY2k5LzM1UDdqMjVGSWpCOVZmNTZi?= =?utf-8?B?WDRCU05QVTNNWnFpU1pwc0ptMUc4bkpNb1hSa1VvOGdXd0hnSE1UY2xmMFAz?= =?utf-8?B?Q3FrQWVtU0twR2RVMnJOWHlqYkJQTS9mOTY2ajNOR3lKTTNpR05IWUhFNWZ4?= =?utf-8?B?SW1PS2NKKzIvMEtLb2lVWUZWQnpuN2Y2NmdEdjhJczRxaEh0WFNtVjQxdjBV?= =?utf-8?B?TDRZcnpEYVRrSDZrdGhWZ0RzR3RHcVl0Y0F2RlAvekZoTkhMSW9NcDg4TlNa?= =?utf-8?B?K3l4aTJtVUdoUDhYUWdqSmdUVmNIRTNseCs5aHoxODh1OVVCUmVvNmtlYm5m?= =?utf-8?B?ZmZBVG5md3VJTk14dWQxclhUNHptN1FlTkNNVTYyYkFsWE9ZRWpmQXMvL3Uw?= =?utf-8?B?Z0diWCs4M3E3aVNDbjdhelY1QWZLK0tiN1NDdWhHdlN0Ymx1Nk5rUzBTcCtU?= =?utf-8?B?TGUxN2oveG5IVG9NZ05wNU9VcnpycmkzZ2RMVnBEdG9HRlpEWmtIM1FSOC9u?= =?utf-8?B?MmFWV0Z5c1BNVEl0d1pxV0lxQ0lxV25zT01TQ1FKbm5JVlF0OGZJVjNkYytW?= =?utf-8?B?NE5QN0poTzJjOHhLOWw0UENJMFlad1dnay9uQnlMYWp2S0JSNUJPZXBUNlBV?= =?utf-8?B?R3JISWhXMzBwUEJ3ak4wQ09DQWx0K3c2dWh4Z0U0R3lET3ZUVWFHYUZJdCs3?= =?utf-8?B?NUJoald5ejIzQjloUjFiM3c0MWxTK2pKVUJMbWhhTHAwWktSbVdvY25Sem1J?= =?utf-8?B?WkVSTUFyNFFkMnJuY3M1TEkxMEJKeUNCZWxFaDFKeTJWM2JrbmNtRGVmMHRK?= =?utf-8?B?UzgwRmU1NnlLMmdBZXV1cWEvUDBxa2V1Z3d0eFBJOS9yMHlzOTRTTHcrUG56?= =?utf-8?B?N1VMN2wxVURiWUlxNUxQc1l3N00wS2thWW43SWROSlpGenZsRkJsK293T0dx?= =?utf-8?B?K21iM0JFMDFUcU02NkE4YmtHd0g4ZC85RE55ODB6Q3RSbjduSmFUZE1xUWNR?= =?utf-8?B?c0RiNHFscEVnUnZpNVNFWGRnMVdtWFJGdTNtMm12OU1kTnprUkVuTnIrcmJX?= =?utf-8?B?L3FzRHYrV3MxVmZ2dW1wZ0crL0FMSjVoYmlqSUE3OUk0eVRBQ3VkdGV2WWdn?= =?utf-8?B?VlBjNjFQWUNoUzF2ais1WHgveGZNaEpVWDliejJKZzE5dEcxaThia1pSMVJC?= =?utf-8?B?b3lva0p2Y25qYktRdS9XanZOVWdiNE5FVVFnT09CQUlaR0lIVUFCNUt3UHZl?= =?utf-8?B?MzlPWVZjTU9BUHNvWGZIMk5pL2tkVFVSN3E1clkzQjRDVHhiYmRuU2ZUZTdu?= =?utf-8?B?YTBpV2VNMmt6aXJqK1FlTUR4MEZYVjROekFoVTF2dWFMZEpaTGVYQU0zZ0Fk?= =?utf-8?B?Qysvckw2c0lZbGJzMXBiNDc5K2JiVHFxMlRPMGxCd2Q4T0RBcU43QUtLK0ZB?= =?utf-8?B?UlFNaFRCQjcwU01UbnY0WDdaM0F2WHpNaGZyYUhqK3ZHUzRyY3FkUE9YOGla?= =?utf-8?B?RmRKV084dWVYVVlpVXY2aVZ5bHQ2TVEyaklhU2Z4R2VCNHdrdUVXNDhCNzVy?= =?utf-8?B?cHhRRG5VZ0JLdVlHdzg2VUxuTzJlcGZvVmQrUjlwMVQyWGNWaVRNTlNUK1Z3?= =?utf-8?B?VkR5cFlPSXlrT3hPMndWSW1lY0V1N21ueFdjTFB3T1ZocmM2bFVxcUQ3RGt6?= =?utf-8?B?MEFDRnpjNlJSWXZiM2EvZ2NrRnNRNWZQdUtHVlZNQWN0ME1pa1UyV1FxZDJM?= =?utf-8?Q?s6WKFcgrMWaLbbf2xGZI4G9cnsDd+dDVLW+rdY8?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6698 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: ec1335c9-f373-4f0d-be5e-08d930e50a79 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kSNZfjXX/Yy+IhG4Z4zQS48ezfbGTPrPE9SSPQA+9esC5sk8eVVfXUwazZBytBS5McCU/Wc4m/REa0DnRYDzDgC3eyC+Y3ZfAgEDDh+DuuHmq3vToyGmH70BAJxYW7wtuocm5fxf8lRoBwsiVMs/9hbQgdsp+CNL7jdQ6w/ZaT065UXowDTrXTeiaPcqw9ous06laV4AiS+YvLYI2vm9FfNByMTck1dpC8Qw0JBuIXypvjZUJc+M2JYE3myikABmqPpCjs+oANseeC1/d+fuCwaRCh87Bknxkal1m2d7kpIH0kRTfsG0L6ojZW4zvJhH+yPXQkImIc3Wr/Fa/zUTTzjl4ib9Q6u25nbcjP6m5eW/WChRMB+fN70dRZ62s3MEKyh0TCWMSJkno83j7o/DVWhGnCwCyHZZhqFnq+poipUbEfH4R09uoEQGz2KFyBJXsnoNVtxZCRBf6oTBP0Mj7PyCvk1SnINm62+EBtNp/sm9+rOoD7sjDxtQEsRquEJ2uIFPl/1dTVR1QwuSeexF53mN7cnKdIZnejbZShplsU0lFO2aYK5GEei3kpI9/9t4ZpQ5RHTYVWCdkrkff5k2q2OX7RbvjMywwgOD9Se+xhJWQlg3qBv0HrzyqGJZ8l7W4zagSNx6NIcPkHMDhdCw1O2nvRYBSVX1ZrxEvhAjNzzVZTF7IUaOacbUPlsyI2Re63lM9/PB3tcCTfjSGjqb7jYC2cPEzZ7AtPxJcfxvwvxqqLhzPcyognxKVTXKKhBSfmO++0HGTIkD1xONFzGubZdVgO3RMsIB1ow/lRN5SV/mGJL40MJTmbGpg3t920FB X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(39860400002)(396003)(136003)(346002)(376002)(46966006)(36840700001)(82740400003)(70206006)(478600001)(336012)(6506007)(8936002)(82310400003)(356005)(81166007)(8676002)(9686003)(33656002)(2906002)(55016002)(70586007)(186003)(966005)(36860700001)(86362001)(52536014)(110136005)(26005)(7696005)(316002)(47076005)(450100002)(5660300002)(54906003)(83380400001)(4326008); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2021 16:37:47.7482 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5445aaf5-a11c-4caf-1afc-08d930e51336 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT004.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3461 Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH] rte_ring: fix racy dequeue/enqueue in ppc64 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" PHNuaXA+DQoNCj4gDQo+IEhpLCBldmVyeW9uZQ0KPiANCj4gVGhpcyBwYXRjaCBjYW4gYmUgY2xv c2VkIHdpdGggdGhlIGZvbGxvd2luZyByZWFzb25zLg0KPiANCj4gPiAtLS0tLemCruS7tuWOn+S7 ti0tLS0tDQo+ID4g5Y+R5Lu25Lq6OiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiDku6Pooagg SG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPiDlj5HpgIHml7bpl7Q6IDIwMjHlubQz5pyIMjjml6Ug OTowMA0KPiA+IOaUtuS7tuS6ujogdGhvbWFzQG1vbmphbG9uLm5ldDsgVGFrZXNoaSBZb3NoaW11 cmENCj4gPiA8dC55b3NoaW11cmE4ODY5QGdtYWlsLmNvbT4NCj4gPiDmioTpgIE6IHN0YWJsZUBk cGRrLm9yZzsgZGV2QGRwZGsub3JnOyBvbGl2aWVyLm1hdHpANndpbmQuY29tOw0KPiA+IGNoYW96 aHVAbGludXgudm5ldC5pYm0uY29tOyBrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tOyBKZXJp biBKYWNvYg0KPiA+IDxqZXJpbi5qYWNvYkBjYXZpdW1uZXR3b3Jrcy5jb20+OyBuZCA8bmRAYXJt LmNvbT47IG5kDQo+IDxuZEBhcm0uY29tPg0KPiA+IOS4u+mimDogUmU6IFtkcGRrLWRldl0gW2Rw ZGstc3RhYmxlXSBbUEFUQ0hdIHJ0ZV9yaW5nOiBmaXggcmFjeQ0KPiA+IGRlcXVldWUvZW5xdWV1 ZSBpbiBwcGM2NA0KPiA+DQo+ID4gPHNuaXA+DQo+ID4NCj4gPiA+IFN1YmplY3Q6IFJlOiBbZHBk ay1zdGFibGVdIFtkcGRrLWRldl0gW1BBVENIXSBydGVfcmluZzogZml4IHJhY3kNCj4gPiA+IGRl cXVldWUvZW5xdWV1ZSBpbiBwcGM2NA0KPiA+ID4NCj4gPiA+IE5vIHJlcGx5IGFmdGVyIG1vcmUg dGhhbiAyIHllYXJzLg0KPiA+ID4gVW5mb3J0dW5hdGVseSBpdCBpcyBwcm9iYWJseSBvdXRkYXRl ZCBub3cuDQo+ID4gPiBDbGFzc2lmaWVkIGFzICJDaGFuZ2VzIFJlcXVlc3RlZCIuDQo+ID4gTG9v a2luZyBhdCB0aGUgY29kZSwgSSB0aGluayB0aGlzIHBhdGNoIGluIGZhY3QgZml4ZXMgYSBidWcu DQo+ID4gQXBwcmVjaWF0ZSByZWJhc2luZyB0aGlzIHBhdGNoLg0KPiA+DQo+ID4gVGhlIHByb2Js ZW0gaXMgYWxyZWFkeSBmaXhlZCBpbiAnX19ydGVfcmluZ19tb3ZlX2NvbnNfaGVhZCcgYnV0IG5l ZWRzDQo+ID4gdG8gYmUgZml4ZWQgaW4gJ19fcnRlX3JpbmdfbW92ZV9wcm9kX2hlYWQnLg0KPiA+ IFRoaXMgcHJvYmxlbSBpcyBmaXhlZCBmb3IgQzExIHZlcnNpb24gZHVlIHRvIGFjcXVpcmUgbG9h ZCBvZiBjb25zLnRhaWwNCj4gPiBhbmQgcHJvZC50YWlsLg0KPiANCj4gRmlyc3QsIGZvciBjb25z dW1lciBpbiBkZXF1ZXVlOg0KPiB0aGUgcmVhc29uIGZvciB0aGF0IGFkZGluZyBhIHJtYiBpbiBt b3ZlX2NvbnNfaGVhZCBvZiDigJxnZW5lcmlj4oCdIGlzIGJhc2VkIG9uDQo+IHRoaXMgcGF0Y2g6 DQo+IGh0dHA6Ly9wYXRjaGVzLmRwZGsub3JnL3Byb2plY3QvZHBkay9wYXRjaC8xNTUyNDA5OTMz LTQ1Njg0LTItZ2l0LXNlbmQtDQo+IGVtYWlsLWdhdmluLmh1QGFybS5jb20vDQo+IA0KPiBTbG90 ICAgICAgICAgICAgICAgICAgICAgICAgQ29uc3VtZXIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2R1Y2VyDQo+IDEgICAgICAgICAg ICAgICAgICAgICBkZXF1ZXVlIGVsZW1lbnRzDQo+IDIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVwZGF0ZSBwcm9kX3RhaWwNCj4gMyAgICAgICAgICAgICAgICAgICBs b2FkIG5ldyBwcm9kX3RhaWwNCj4gNCAgICAgICAgICAgICAgICAgICBjaGVjayByb29tIGlzIGVu b3VnaChuIDwgZW50cmllcykNCj4gDQo+IERlcXVldWUgZWxlbWVudHMgbWF5YmUgYmVmb3JlIGxv YWQgdXBkYXRlZCBwcm9kX3RhaWwsIHNvIGNvbnN1bWVyIGNhbg0KPiBsb2FkIGluY29ycmVjdCBl bGVtZW50cyB2YWx1ZS4NCj4gRm9yIGRlcXVldWUgbXVsdGlwbGUgY29uc3VtZXJzIGNhc2UsIOKA mHJ0ZV9hdG9taWMzMl9jbXBzZXTigJkgd2l0aCBhY3F1aXJlDQo+IGFuZCByZWxlYXNlIG9yZGVy IGNhbiBwcmV2ZW50IGRlcXVldWUgYmVmb3JlIGxvYWQgcHJvZF90YWlsLCBubyBleHRyYSBybWIg aXMNCj4gbmVlZGVkLg0KPiANCj4gU2Vjb25kLCBmb3Igc2luZ2xlIHByb2R1Y2VyIGluIGVucXVl dWU6DQo+IA0KPiBTbG90ICAgICAgICAgICAgICAgICAgICAgICAgUHJvZHVjZXIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc3Vt ZXINCj4gMSAgICAgICAgICAgICAgICAgICAgIGVucXVldWUgZWxlbWVudHMobm90IGNvbW1pdGVk KQ0KPiAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUNCj4g Y29uc3VtZXJfdGFpbA0KPiAzICAgICAgICAgICAgICAgICAgIGxvYWQgbmV3IGNvbnN1bWVyX3Rh aWwNCj4gNCAgICAgICAgICAgICAgICAgICBjaGVjayByb29tIGlzIGVub3VnaChuIDwgZW50cmll cykNCj4gNSAgICAgICAgICAgICAgICAgICBlbnF1ZXVlZCBlbGVtZW50cyBpcyBjb21taXR0ZWQN Cj4gDQo+IFRob3VnaCBlbnF1ZXVlIGVsZW1lbnRzIG1heWJlIHJlb3JkZXIgYmVmb3JlIGxvYWQg Y29uc3VtZXJfdGFpbCwgdGhlc2UNCj4gZWxlbWVudHMgd2lsbCBub3QgYmUgY29tbWl0dGVkIHVu dGlsIOKAmGNoZWNr4oCZIGhhcyBmaW5pc2hlZC4gU28gZnJvbSBsb2FkIHRvDQo+IHdyaXRlIGNv bnRyb2wgZGVwZW5kZW5jeSBpcyByZWxpYWJsZSBhbmQgcm1iIGlzIG5vdCBuZWVkZWQgaGVyZS4N Cj4gWzFdIGh0dHBzOi8vd3d3LmNsLmNhbS5hYy51ay9+cGVzMjAvcHBjLXN1cHBsZW1lbnRhbC90 ZXN0Ny5wZGYgKHBhZ2U6MTUpDQo+IA0KPiBBcyBhIHJlc3VsdCwgaXQgaXMgdW5uZWNlc3Nhcnkg dG8gYWRkIGEgcm1iIGZvciBlbnF1ZXVlIHNpbmdsZSBwcm9kdWNlciBkdWUgdG8NCj4gY29udHJv bCBkZXBlbmRlbmN5LiBBbmQgdGhpcyBwYXRjaCBjYW4gYmUgY2xvc2VkLg0KVGhhbmtzIEZlaWZl aSwgSSBkaWQgbm90IGNvbnNpZGVyIHRoZSBjb250cm9sIGRlcGVuZGVuY3kgZnJvbSBsb2FkIHRv IHN0b3JlIHdoaWNoIGlzIHJlbGlhYmxlIGluIG15IGNvbW1lbnRzIGJlbG93Lg0KQWdyZWUsIHdl IGNhbiByZWplY3QgdGhpcyBwYXRjaC4NCg0KPiANCj4gQmVzdCBSZWdhcmRzDQo+IEZlaWZlaQ0K PiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IDE3LzA3LzIwMTggMDU6MzQsIEplcmluIEphY29iOg0K PiA+ID4gPiBGcm9tOiBUYWtlc2hpIFlvc2hpbXVyYSA8dC55b3NoaW11cmE4ODY5QGdtYWlsLmNv bT4NCj4gPiA+ID4NCj4gPiA+ID4gQ2M6IG9saXZpZXIubWF0ekA2d2luZC5jb20NCj4gPiA+ID4g Q2M6IGNoYW96aHVAbGludXgudm5ldC5pYm0uY29tDQo+ID4gPiA+IENjOiBrb25zdGFudGluLmFu YW55ZXZAaW50ZWwuY29tDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEFkZGluZyBy dGVfc21wX3JtYigpIGNhdXNlIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24gb24gbm9uIHg4Ng0KPiA+ ID4gcGxhdGZvcm1zLg0KPiA+ID4gPiA+ID4gSGF2aW5nIHNhaWQgdGhhdCwgbG9hZC1sb2FkIGJh cnJpZXIgY2FuIGJlIGV4cHJlc3NlZCB2ZXJ5DQo+ID4gPiA+ID4gPiB3ZWxsIHdpdGggQzExIG1l bW9yeSBtb2RlbC4gSSBndWVzcyBwcGM2NCBzdXBwb3J0cyBDMTEgbWVtb3J5DQo+IG1vZGVsLg0K PiA+ID4gPiA+ID4gSWYgc28sIENvdWxkIHlvdSB0cnkgQ09ORklHX1JURV9SSU5HX1VTRV9DMTFf TUVNX01PREVMPXkNCj4gPiBmb3INCj4gPiA+ID4gPiA+IHBwYzY0IGFuZCBjaGVjayBvcmlnaW5h bCBpc3N1ZT8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFllcywgdGhlIHBlcmZvcm1hbmNlIHJlZ3Jl c3Npb24gaGFwcGVucyBvbiBub24teDg2IHdpdGggc2luZ2xlDQo+ID4gPiA+ID4gcHJvZHVjZXIv Y29uc3VtZXIuDQo+ID4gPiA+ID4gVGhlIGF2ZXJhZ2UgbGF0ZW5jeSBvZiBhbiBlbnF1ZXVlIHdh cyBpbmNyZWFzZWQgZnJvbSAyMSBuc2VjIHRvDQo+ID4gPiA+ID4gMjQgbnNlYyBpbiBteSBzaW1w bGUgZXhwZXJpbWVudC4gQnV0LCBJIHRoaW5rIGl0IGlzIHdvcnRoIGl0Lg0KPiA+ID4gPg0KPiA+ ID4gPiBUaGF0IHZhcmllcyB0byBtYWNoaW5lIHRvIG1hY2hpbmUuIFdoYXQgaXMgdGhlIGJ1cnN0 IHNpemUgZXRjLg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJIGFs c28gdGVzdGVkIEMxMSBydGVfcmluZywgaG93ZXZlciwgaXQgY2F1c2VkIHRoZSBzYW1lIHJhY2UN Cj4gPiA+ID4gPiBjb25kaXRpb24gaW4NCj4gPiA+IHBwYzY0Lg0KPiA+ID4gPiA+IEkgdHJpZWQg dG8gZml4IHRoZSBDMTEgcHJvYmxlbSBhcyB3ZWxsLCBidXQgSSBhbHNvIGZvdW5kIHRoZSBDMTEN Cj4gPiA+ID4gPiBydGVfcmluZyBoYWQgb3RoZXIgcG90ZW50aWFsIGluY29ycmVjdCBjaG9pY2Vz IG9mIG1lbW9yeSBvcmRlcnMsDQo+ID4gPiA+ID4gd2hpY2ggY2F1c2VkIGFub3RoZXIgcmFjZSBj b25kaXRpb24gaW4gcHBjNjQuDQo+ID4gPiA+DQo+ID4gPiA+IERvZXMgaXQgaGFwcGVucyBvbiBh bGwgcHBjNjQgbWFjaGluZXM/IE9yIG9uIGEgc3BlY2lmaWMgbWFjaGluZT8NCj4gPiA+ID4gSXMg Zm9sbG93aW5nIHRlc3RzIGFyZSBwYXNzaW5nIG9uIHlvdXIgc3lzdGVtIHdpdGhvdXQgdGhlIHBh dGNoPw0KPiA+ID4gPiB0ZXN0L3Rlc3QvdGVzdF9yaW5nX3BlcmYuYw0KPiA+ID4gPiB0ZXN0L3Rl c3QvdGVzdF9yaW5nLmMNCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEZvciBleGFtcGxl LA0KPiA+ID4gPiA+IF9fQVRPTUlDX0FDUVVJUkUgaXMgcGFzc2VkIHRvIF9fYXRvbWljX2NvbXBh cmVfZXhjaGFuZ2VfbigpLA0KPiA+IGJ1dCBJDQo+ID4gPiA+ID4gYW0gbm90IHN1cmUgd2h5IHRo ZSBsb2FkLWFjcXVpcmUgaXMgdXNlZCBmb3IgdGhlIGNvbXBhcmUgZXhjaGFuZ2UuDQo+ID4gPiA+ DQo+ID4gPiA+IEl0IGNvcnJlY3QgYXMgcGVyIEMxMSBhY3F1aXJlIGFuZCByZWxlYXNlIHNlbWFu dGljcy4NCj4gPiA+ID4NCj4gPiA+ID4gPiBBbHNvIGluIHVwZGF0ZV90YWlsLCB0aGUgcGF1c2Ug Y2FuIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGRhdGENCj4gPiA+ID4gPiBjb3B5IGJlY2F1c2Ugb2Yg aHQtPnRhaWwgbG9hZCB3aXRob3V0IGF0b21pY19sb2FkX24uDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBUaGUgbWVtb3J5IG9yZGVyIGlzIHNpbXBseSBkaWZmaWN1bHQsIHNvIGl0IG1pZ2h0IHRha2Ug YSBiaXQNCj4gPiA+ID4gPiBsb25nZXIgdGltZSB0byBjaGVjayBpZiB0aGUgY29kZSBpcyBjb3Jy ZWN0LiBJIHRoaW5rIEkgY2FuIGZpeA0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IEMxMSBydGVf cmluZyBhcyBhbm90aGVyIHBhdGNoLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4g PiA+PiBTUERLIGJsb2JmcyBlbmNvdW50ZXJlZCBhIGNyYXNoIGFyb3VuZCBydGVfcmluZyBkZXF1 ZXVlcyBpbg0KPiBwcGM2NC4NCj4gPiA+ID4gPiA+PiBJdCB1c2VzIGEgc2luZ2xlIGNvbnN1bWVy IGFuZCBtdWx0aXBsZSBwcm9kdWNlcnMgZm9yIGEgcnRlX3JpbmcuDQo+ID4gPiA+ID4gPj4gVGhl IHByb2JsZW0gd2FzIGEgbG9hZC1sb2FkIHJlb3JkZXIgaW4NCj4gPiBydGVfcmluZ19zY19kZXF1 ZXVlX2J1bGsoKS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBBZGRpbmcgcnRlX3NtcF9ybWIo KSBjYXVzZSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIG9uIG5vbiB4ODYNCj4gPiA+IHBsYXRmb3Jt cy4NCj4gPiA+ID4gPiA+IEhhdmluZyBzYWlkIHRoYXQsIGxvYWQtbG9hZCBiYXJyaWVyIGNhbiBi ZSBleHByZXNzZWQgdmVyeQ0KPiA+ID4gPiA+ID4gd2VsbCB3aXRoIEMxMSBtZW1vcnkgbW9kZWwu IEkgZ3Vlc3MgcHBjNjQgc3VwcG9ydHMgQzExIG1lbW9yeQ0KPiBtb2RlbC4NCj4gPiA+ID4gPiA+ IElmIHNvLCBDb3VsZCB5b3UgdHJ5IENPTkZJR19SVEVfUklOR19VU0VfQzExX01FTV9NT0RFTD15 DQo+ID4gZm9yDQo+ID4gPiA+ID4gPiBwcGM2NCBhbmQgY2hlY2sgb3JpZ2luYWwgaXNzdWU/DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPj4gVGhlIHJlb3JkZXJlZCBsb2Fk cyBoYXBwZW5lZCBvbiByLT5wcm9kLnRhaWwgaW4NCj4gPiA+ID4NCj4gPiA+ID4gVGhlcmUgaXMg cnRlX3NtcF9ybWIoKSBqdXN0IGJlZm9yZSByZWFkaW5nIHItPnByb2QudGFpbCBpbg0KPiA+ID4g PiAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xg0KPiA+ID4gPiBfcnRlX3JpbmdfbW92ZV9jb25zX2hlYWQoKS4gV291bGQgdGhhdCBub3Qgc3Vm ZmljZSB0aGUgcmVxdWlyZW1lbnQ/DQo+ID4gPiA+DQo+ID4gPiA+IENhbiB5b3UgY2hlY2sgYWRk aW5nIGNvbXBpbGVyIGJhcnJpZXIgYW5kIHNlZSBpcyBjb21waWxlciBpcw0KPiA+ID4gPiByZW9y ZGVyaW5nIHRoZSBzdHVmZj8NCj4gPiA+ID4NCj4gPiA+ID4gRFBESydzIHJpbmcgaW1wbGVtZW50 YXRpb24gaXMgYmFzZWQgZnJlZWJzZCdzIHJpbmcgaW1wbGVtZW50YXRpb24sDQo+ID4gPiA+IEkg ZG9uJ3Qgc2VlIG5lZWQgZm9yIHN1Y2ggYmFycmllcg0KPiA+ID4gPg0KPiA+ID4gPiBodHRwczov L2dpdGh1Yi5jb20vZnJlZWJzZC9mcmVlYnNkL2Jsb2IvbWFzdGVyL3N5cy9zeXMvYnVmX3Jpbmcu aA0KPiA+ID4gPg0KPiA+ID4gPiBJZiBpdCBpcyBzb21ldGhpbmcgc3BlY2lmaWMgdG8gcHBjNjQg b3IgYSBzcGVjaWZpYyBwcGM2NCBtYWNoaW5lLA0KPiA+ID4gPiB3ZSBjb3VsZCBhZGQgYSBjb21w aWxlIG9wdGlvbiBhcyBpdCBpcyBhcmNoIHNwZWNpZmljIHRvIGF2b2lkDQo+ID4gPiA+IHBlcmZv cm1hbmNlIGltcGFjdCBvbiBvdGhlciBhcmNoaXRlY3R1cmVzLg0KPiA+ID4gPg0KPiA+ID4gPiA+ ID4+IF9fcnRlX3JpbmdfbW92ZV9jb25zX2hlYWQoKSAocnRlX3JpbmdfZ2VuZXJpYy5oKSBhbmQN Cj4gPiA+ID4gPiA+PiByaW5nW2lkeF0gaW4NCj4gPiA+ID4gPiA+PiBERVFVRVVFX1BUUlMoKSAo cnRlX3JpbmcuaCkuIFRoZXkgaGF2ZSBhIGxvYWQtbG9hZCBjb250cm9sDQo+ID4gPiA+ID4gPj4g ZGVwZW5kZW5jeSwgYnV0IHRoZSBjb2RlIGRvZXMgbm90IHNhdGlzZnkgaXQuIE5vdGUgdGhhdCB0 aGV5DQo+ID4gPiA+ID4gPj4gYXJlIG5vdCByZW9yZGVyZWQgaWYgX19ydGVfcmluZ19tb3ZlX2Nv bnNfaGVhZCgpIHdpdGggaXNfc2MNCj4gPiA+ID4gPiA+PiAhPQ0KPiA+ID4gPiA+ID4+IDEgYmVj YXVzZSBjbXBzZXQgaW52b2tlcyBhIHJlYWQgYmFycmllci4NCj4gPiA+ID4gPiA+Pg0KPiA+ID4g PiA+ID4+IFRoZSBwYWlyZWQgc3RvcmVzIG9uIHRoZXNlIGxvYWRzIGFyZSBpbiBFTlFVRVVFX1BU UlMoKSBhbmQNCj4gPiA+ID4gPiA+PiB1cGRhdGVfdGFpbCgpLiBTaW1wbGlmaWVkIGNvZGUgYXJv dW5kIHRoZSByZW9yZGVyIGlzIHRoZSBmb2xsb3dpbmcuDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4g PiA+PiBDb25zdW1lciAgICAgICAgICAgICBQcm9kdWNlcg0KPiA+ID4gPiA+ID4+IGxvYWQgaWR4 W3JpbmddDQo+ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgc3RvcmUgaWR4W3Jpbmdd DQo+ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgc3RvcmUgci0+cHJvZC50YWlsIGxv YWQgci0+cHJvZC50YWlsDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiBJbiB0aGlzIGNhc2Us IHRoZSBjb25zdW1lciBsb2FkcyBvbGQgaWR4W3JpbmddIGFuZCBjb25maXJtcw0KPiA+ID4gPiA+ ID4+IHRoZSBsb2FkIGlzIHZhbGlkIHdpdGggdGhlIG5ldyByLT5wcm9kLnRhaWwuDQo+ID4gPiA+ ID4gPj4NCj4gPiA+ID4gPiA+PiBJIGFkZGVkIGEgcmVhZCBiYXJyaWVyIGluIHRoZSBjYXNlIHdo ZXJlIF9fSVNfU0MgaXMgcGFzc2VkIHRvDQo+ID4gPiA+ID4gPj4gX19ydGVfcmluZ19tb3ZlX2Nv bnNfaGVhZCgpLiBJIGFsc28gZml4ZWQNCj4gPiA+ID4gPiA+PiBfX3J0ZV9yaW5nX21vdmVfcHJv ZF9oZWFkKCkgdG8gYXZvaWQgc2ltaWxhciBwcm9ibGVtcyB3aXRoIGENCj4gPiA+ID4gPiA+PiBz aW5nbGUNCj4gPiA+IHByb2R1Y2VyLg0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPj4gQ2M6IHN0 YWJsZUBkcGRrLm9yZw0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPj4gU2lnbmVkLW9mZi1ieTog VGFrZXNoaSBZb3NoaW11cmEgPHR5b3NAanAuaWJtLmNvbT4NCj4gPiA+ID4gPiA+PiAtLS0NCj4g PiA+ID4gPiA+PiAgbGliL2xpYnJ0ZV9yaW5nL3J0ZV9yaW5nX2dlbmVyaWMuaCB8IDEwICsrKysr Ky0tLS0NCj4gPiA+ID4gPiA+PiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkNCj4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4+IGRpZmYgLS1naXQgYS9saWIv bGlicnRlX3JpbmcvcnRlX3JpbmdfZ2VuZXJpYy5oDQo+ID4gPiA+ID4gPj4gYi9saWIvbGlicnRl X3JpbmcvcnRlX3JpbmdfZ2VuZXJpYy5oDQo+ID4gPiA+ID4gPj4gaW5kZXggZWE3ZGJlNWI5Li40 NzczMjYxODAgMTAwNjQ0DQo+ID4gPiA+ID4gPj4gLS0tIGEvbGliL2xpYnJ0ZV9yaW5nL3J0ZV9y aW5nX2dlbmVyaWMuaA0KPiA+ID4gPiA+ID4+ICsrKyBiL2xpYi9saWJydGVfcmluZy9ydGVfcmlu Z19nZW5lcmljLmgNCj4gPiA+ID4gPiA+PiBAQCAtOTAsOSArOTAsMTAgQEAgX19ydGVfcmluZ19t b3ZlX3Byb2RfaGVhZChzdHJ1Y3QgcnRlX3JpbmcNCj4gPiA+ID4gPiA+PiAqciwNCj4gPiA+IHVu c2lnbmVkIGludCBpc19zcCwNCj4gPiA+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gMDsNCj4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4+ICAgICAgICAgICAgICAgICAqbmV3 X2hlYWQgPSAqb2xkX2hlYWQgKyBuOw0KPiA+ID4gPiA+ID4+IC0gICAgICAgICAgICAgICBpZiAo aXNfc3ApDQo+ID4gPiA+ID4gPj4gKyAgICAgICAgICAgICAgIGlmIChpc19zcCkgew0KPiA+ID4g PiA+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9zbXBfcm1iKCk7DQo+ID4gPiA+ID4g Pj4gICAgICAgICAgICAgICAgICAgICAgICAgci0+cHJvZC5oZWFkID0gKm5ld19oZWFkLCBzdWNj ZXNzID0gMTsNCj4gPiA+ID4gPiA+PiAtICAgICAgICAgICAgICAgZWxzZQ0KPiA+ID4gPiA+ID4+ ICsgICAgICAgICAgICAgICB9IGVsc2UNCj4gPiA+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAg ICAgICBzdWNjZXNzID0gcnRlX2F0b21pYzMyX2NtcHNldCgmci0+cHJvZC5oZWFkLA0KPiA+ID4g PiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqb2xkX2hlYWQs ICpuZXdfaGVhZCk7DQo+ID4gPiA+ID4gPj4gICAgICAgICB9IHdoaWxlICh1bmxpa2VseShzdWNj ZXNzID09IDApKTsgQEAgLTE1OCw5ICsxNTksMTANCj4gPiA+ID4gPiA+PiBAQCBfX3J0ZV9yaW5n X21vdmVfY29uc19oZWFkKHN0cnVjdCBydGVfcmluZyAqciwgdW5zaWduZWQgaW50DQo+IGlzX3Nj LA0KPiA+ID4gPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KPiA+ID4g PiA+ID4+DQo+ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICpuZXdfaGVhZCA9ICpvbGRfaGVh ZCArIG47DQo+ID4gPiA+ID4gPj4gLSAgICAgICAgICAgICAgIGlmIChpc19zYykNCj4gPiA+ID4g PiA+PiArICAgICAgICAgICAgICAgaWYgKGlzX3NjKSB7DQo+ID4gPiA+ID4gPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgcnRlX3NtcF9ybWIoKTsNCj4gPiA+ID4gPiA+PiAgICAgICAgICAgICAg ICAgICAgICAgICByLT5jb25zLmhlYWQgPSAqbmV3X2hlYWQsIHN1Y2Nlc3MgPSAxOw0KPiA+ID4g PiA+ID4+IC0gICAgICAgICAgICAgICBlbHNlDQo+ID4gPiA+ID4gPj4gKyAgICAgICAgICAgICAg IH0gZWxzZQ0KPiA+ID4gPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPQ0K PiA+ID4gPiA+ID4+IHJ0ZV9hdG9taWMzMl9jbXBzZXQoJnItPmNvbnMuaGVhZCwNCj4gPiAqb2xk X2hlYWQsDQo+ID4gPiA+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICpuZXdfaGVhZCk7DQo+ID4gPiA+ID4gPj4gICAgICAgICB9IHdoaWxlICh1bmxpa2VseShz dWNjZXNzID09IDApKTsNCj4gPiA+ID4gPiA+PiAtLQ0KPiA+ID4gPiA+ID4+IDIuMTcuMQ0KPiA+ ID4NCj4gPiA+DQoNCg==