From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (EUR05-VI1-obe.outbound.protection.outlook.com [40.107.21.82]) by mx.groups.io with SMTP id smtpd.web11.5206.1618293729269538766 for ; Mon, 12 Apr 2021 23:02:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=lj/jeNFM; spf=pass (domain: arm.com, ip: 40.107.21.82, mailfrom: sunny.wang@arm.com) 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=g44zxozgO04spgYyea8zNJLYKqVPeo9g5kDEy5JmEPA=; b=lj/jeNFMWeOynqvtUVCdIZP6wc+iuMv+xVTp9YERQwtNhNHiAIQEdoMTe3+9a7NAoaBhaygrMQr2sfRI6J5X/wm3f1voeCpH7hOy8nmudwBG0/tiEQ/3xyUQKn73jESnH8Zt1B7jM0vY+m0E5LsAC5RQS3s3odZFOCjAn9F7cM0= Received: from DB6PR07CA0186.eurprd07.prod.outlook.com (2603:10a6:6:42::16) by VI1PR08MB3119.eurprd08.prod.outlook.com (2603:10a6:803:3f::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Tue, 13 Apr 2021 06:02:05 +0000 Received: from DB5EUR03FT050.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:42:cafe::c3) by DB6PR07CA0186.outlook.office365.com (2603:10a6:6:42::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.8 via Frontend Transport; Tue, 13 Apr 2021 06:02:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; 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 DB5EUR03FT050.mail.protection.outlook.com (10.152.21.128) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17 via Frontend Transport; Tue, 13 Apr 2021 06:02:05 +0000 Received: ("Tessian outbound 34291f7cb530:v90"); Tue, 13 Apr 2021 06:02:05 +0000 X-CR-MTA-TID: 64aa7808 Received: from f662f0b13960.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id CD6BAE3B-14FF-496F-9E14-ACD94B8B2D7E.1; Tue, 13 Apr 2021 06:01:55 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f662f0b13960.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 13 Apr 2021 06:01:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HMaY7v9k1QXfvFdnii7LUwItIswzGZgvysAb+W8MDSgIs/KsMww+xAtzq+R5GSLEM0QgUPyirJ6/g7LSjUGWfK94oKeGXFVUR4UCYST7X0r/xH8dBl/Zi7nwl1ffEKaIL48wnbxOjSsKuMqOZ08EbekPAbIZac4WJ4Ka93X6ionm66od+M1RHv+MFbPSYHilMXYkgmRwE5dqjH2qXCBbsnymMuxEsR2Z4Jckx7SzYsnPXo3pntdMmIrsxY1Jeo2pr3Hi56Kk4oHceoa0Uof/0RWKlrPeS6Ayy8sDNuYUK9o+wM13ggRH/NYhTikYo2CZbz0Q7CBLyfj+C6lqXbqoAQ== 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=g44zxozgO04spgYyea8zNJLYKqVPeo9g5kDEy5JmEPA=; b=Isa/uWSk1I+blZBDQBn6ov6H3HrIamF2h/Z/JXAuvYd/+DJBIHW2BTvhjXn4rhMiP0DcVmxRLsBR5eAdKG2CZAZ6DPPWp0Z1LhkkbONEYnwqSwKpCpp1UwHVcLN4GcSHeRJDV/BLfEegaECa4qeOuUnl4uEzORbu1524/t/pBUdOI7cAKt8Y6PW9SkEOKEK1UlLY5oVME9GlYo5WgD3cZncf+PyKfWH/GmnQY6WslHiqcg5IzBGVdoQXpB4AtOmCd9gtV5aQUqeaCff0mudaMpBblBCMO5yUCJNprsGQckVc9sP5mw5gLvu7T+tvDJA2CiNZg4xuVnsxGf1fpZ9yqg== 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=g44zxozgO04spgYyea8zNJLYKqVPeo9g5kDEy5JmEPA=; b=lj/jeNFMWeOynqvtUVCdIZP6wc+iuMv+xVTp9YERQwtNhNHiAIQEdoMTe3+9a7NAoaBhaygrMQr2sfRI6J5X/wm3f1voeCpH7hOy8nmudwBG0/tiEQ/3xyUQKn73jESnH8Zt1B7jM0vY+m0E5LsAC5RQS3s3odZFOCjAn9F7cM0= Received: from DB8PR08MB3993.eurprd08.prod.outlook.com (2603:10a6:10:ad::26) by DB6PR0801MB1911.eurprd08.prod.outlook.com (2603:10a6:4:74::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17; Tue, 13 Apr 2021 06:01:53 +0000 Received: from DB8PR08MB3993.eurprd08.prod.outlook.com ([fe80::89f9:4e97:546d:2b97]) by DB8PR08MB3993.eurprd08.prod.outlook.com ([fe80::89f9:4e97:546d:2b97%6]) with mapi id 15.20.4020.022; Tue, 13 Apr 2021 06:01:53 +0000 From: "Sunny Wang" To: Ard Biesheuvel , Pete Batard CC: edk2-devel-groups-io , Samer El-Haj-Mahmoud , Jeremy Linton , Ard Biesheuvel , Sunny Wang Subject: Re: [PATCH 1/1] Platform/RaspberryPi: Setup option for disabling Fast Boot Thread-Topic: [PATCH 1/1] Platform/RaspberryPi: Setup option for disabling Fast Boot Thread-Index: AQHXL3sxbvdb/hmMHU+g366AN80yvqqw2ZIAgABJkwCAALoa8A== Date: Tue, 13 Apr 2021 06:01:52 +0000 Message-ID: References: <20210412090545.2130-1-Sunny.Wang@arm.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 97BC62D3CE7F4F4FB8281CB9B0E489EA.0 x-checkrecipientchecked: true Authentication-Results-Original: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [220.129.198.227] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 98d948f0-a2a4-4808-ce9f-08d8fe41aa43 x-ms-traffictypediagnostic: DB6PR0801MB1911:|VI1PR08MB3119: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: e1XJhYLkq1g3+TnfEsSenp5aP5Xl/dX0TWkqeXL4jGsbZpWk89vdqJnclHMnD/cQGB4t9HTmI4ThTBN7dxeVqPrg+AND4Wr5XLEcxlNAgsAoy9ucsizOcYZPq+jQzyfZ/yz7uduMwLAdT3eCqe1nT868G3B2nKYiiC84sIUMD/tnnQqw+zXBHn0Zbl15Fbnm3NTV5vKfFEv1tzsr/jvggI4n0Rl5leKlfIQVMS1K5rBGKdt86ZRKxtzlOx09o9wevs4ORTLRa9MOQPoXZ7fovB/u7YljTM842YtT2Yv1ld0uLpszYHkLFQ/OF2599yWSyKDjLdSSl/688TTgbGdSmuxOhpD2Hd2zyx8aAkbYAmXDzlO69HlsRHVWXnjSMyduJyvxTWFsJclhpjTvbY2RhBzUB4d+xy1yF49onk2nhgkAmfOxbSxPe/J8P4AlxaoaUt0WZheR9bm3IU6K6qdRhf74et1l9HOG+u2MkDwGHzDSJSXjd1O4flgbChfKpoG45kDcbR01HEF72vn1GVyiGe5MxBJhbam/pHKuD7QviKiXZTgIB7ZF9pM45giQc1Vdxmm09N9imfh1QVj+5nSPNmcoujFGCqUxMDBWhdZsAhAICbfkDlIqbE4EZdgGY0UyrFc/mpN5nG8GsCLKzpg5celKePeIvcphwH7pVYo4RQIQCQf5oyCZBqg+YlyWffpm X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR08MB3993.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(39860400002)(376002)(136003)(396003)(346002)(33656002)(54906003)(316002)(55016002)(7696005)(53546011)(26005)(38100700002)(52536014)(83380400001)(122000001)(9686003)(966005)(71200400001)(2906002)(4326008)(478600001)(66446008)(8676002)(186003)(76116006)(110136005)(5660300002)(66946007)(66556008)(8936002)(30864003)(6506007)(86362001)(19627235002)(66476007)(64756008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?c25wUjllcVpaMy9KN3R2N21iNm45MzVlUVJpQVBCNzE4MVk3UDhyc0ROeUkz?= =?utf-8?B?OXV4QnZPQWZHUldTQ3FINk1yOEw4WWxEYTUyZ3E1NzdLT3J1R2lvMmJnOVlk?= =?utf-8?B?YWVDcWVRMFQ4ckNTUFQzeWF3K0RhczdRaFd4ODdQUWNUb2ZhQ29WUjB2UGJZ?= =?utf-8?B?c1hGc2piUzFTUndCTTJCSTdxbHBXcXluOHVISlNLRG5ieDVPdEhhVXo2NGM3?= =?utf-8?B?UmJLVDNBbGxFdk9EcUpaWFJ0VEdhMEphS2VUVFRYZldnY0VMcExpYldXN0xs?= =?utf-8?B?ajhubWZIMm1KZjBadStEeG5rOEhzWTdwSlhFNFI5L28rZGl6YjZkcjBQU0hB?= =?utf-8?B?dU5CR3dTdllQMVVaMXNRMkZ1dUJoaXVETDMwSlRWMGJUc0JVSlZoWElmQkx4?= =?utf-8?B?aG1hS0pQTURjUklpMk16ajdrcG15MVR5OEZIbFRZWldZWUQ5aDJqQVZGM1di?= =?utf-8?B?T015S0FiUmlTRml5SU5JblV3N1FUUW9Cc0NIdVFmVmlPZUdYTUdJWGluZG9F?= =?utf-8?B?dGY1ZVB0Q2ZQMCsvanJaMnNJL2RKcS9nWklsTVdDWFI3SmVER1dSLyt6MVFo?= =?utf-8?B?TjIzMWZPMHNPejdDNEdCcDFYcDdxcWdnVDJMOUZWd1drdWZXbndhMTlOVGhO?= =?utf-8?B?eG9PSm82Snc1b2wwcnZ0dHhnOCtsVE1iUUtpQVBHeVczSVYzR3A2STBieFRM?= =?utf-8?B?czJQblBCRnVKd2loYzFQZ0YvN1JlcStMVTAzVWFBL3p4clcrMU84Nnp3cEMz?= =?utf-8?B?emxQRVg1cUxwS1JoajZwcDR3MjVxVzRwNnNvUzlIdnh6OUJLUDltdDd0NnE4?= =?utf-8?B?TEhqL21hdnV5a2swK2M3d2xUWXYralhTbnIxT0l1NFJoRmxOa09aWmpXVWxU?= =?utf-8?B?bzc4N0QweEptc3BkMHNVNTJTUW5pNmRDLzNJZytFUlpkTk8zaDdXMk56MkhI?= =?utf-8?B?OGJ3a3owdEhFTm81N1pZeEVEalV2ZWNGcHRTK3gvNlJ5UE5HemR4T2Z2MkJT?= =?utf-8?B?TkNYN2QyMEZxdVE2Y3l6em92QzU1MGQ5WEEwL0VqTURzQ09QMUZHSHNjYUQ4?= =?utf-8?B?M0Ziajd5SSt4R1VsQnczbS9hcUtJdkIzRG9Cb2xlSSszTU15ZlRlZ1J6L1ZM?= =?utf-8?B?WFNzZ0JHamQySTViME10ZnBFOHQ5MEJKM29yeUdDVHk3ZVo3L2xEQmNRdjdY?= =?utf-8?B?N0ZCUVMwWFJMTDNydDJQMUIvZWVvNTRLQm05RnhIaWxvQmNEcG1MQWY3RHZX?= =?utf-8?B?S0Y5cGhDa09lMFFRK0VVUjBMakQ3YmZxa3BoWm5oRVpaQ0NhbkRTUy9VSUE2?= =?utf-8?B?QnYzTVJBS09PcndrRmsxdFNQa0h0WGNsNGJXVktuMXRkd1dHMkVPTHB3Z0Zx?= =?utf-8?B?cjhla05oUkFaVlVUcjdtcDdBcElDcFlPMytLaTFNR1VCREg3eTNWUE51RTNz?= =?utf-8?B?MnBNdGxrd2N4cTV2SUpkbUNpbFhDVFZNYkVjaGhoNWtmM1QwVGpLNXdadGp1?= =?utf-8?B?TE1wU3dESFNSWC9nWDMwaVFxcTRyQU5EcjVZa0F2MDZoTG9MVnJzOVlTMUs5?= =?utf-8?B?SW1pZFAzQ3ZVRUNRMmZXTEtNR2VTM28zbmhEZUJDek9JQ3Q0Y0dlQnRraHl6?= =?utf-8?B?bWhMOS9jZ1ZyeElWMURiU1VIZ3VIMDN0b1ZvMStSSlZoMnphMnJxaUpISlR4?= =?utf-8?B?RVJNY0ZNSUpJVVcvbXhqL0VDYks0b1RGdW1hUUR6d2xBUlA1SE9Lc1RmN2RZ?= =?utf-8?Q?5Sy2/CTVcRfCOSPWorTrk7LyjWf0XFnbVnk3t/K?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1911 Original-Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=arm.com; Return-Path: Sunny.Wang@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: e4011391-7fec-40b3-8385-08d8fe41a306 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NA6ADISp/FPTyIF2ePnY66NurfdFKtgGG3soqkjLkE5DPGAewSDGC7a2nnEXQVOHmM5G4+ifP6GXltwya36RcPkRWRNmGS4sibVxlQ/Wkx6C1SIKKCBwHarHU0xnLkRykovkPpIrdLuEFzcZ3FHmo8KJhv28JssfguGvZjF9/daZeAhhJYp4l4Ngg4P5NjGnFOgKaX+5xWl6QFVjkw+UhbCJ1XYu9dM8m2zP4EC6hFdEXCCghmFGC0zrjHwmTYshgAwZmMy3TICbjIDiE0dYgZJNwXDNzgxWyMByOwZvPJKZSfBGL85dUvlIw/USyMyvLH67tUgs8CL4BmBh6/C3T+ao3TeqWhq3YH6X9piQICMfZS8s+0hByc+i4DiUuZU7pGiopjAVAM99v8CdptYn9LIxpt/q0CCNs8XPZhg/R9eOLl+nmwXpzNhg7eNKBYjpjSYmyLW4ldQRhzDw6MzyDbEUpJwXHxT/M5rs1h9y3DPXtnOHTTKCe/lz6BkVA7mC0peK2qCh1R+N2b1GcwrFZ6FO/UkMAVgEj0BfVZvCJ+g8qDjv1UubzlbJlrHZNdcU4EpE457rRoas/5BTtXDt3myIJ8kMru8z35xAjZZRTi05yyMuyGDgcccLJBU57p/Z6avtw6qWmirZMwEPAaP+kzkFumqcI3yAxNnD3ymVyDswDl2Ih3HCccAIa3pcZ8302U/XxEKZSsNYnFRgS6L4h/l4FwqlTng4/ginAOhuQug= 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)(136003)(346002)(376002)(39860400002)(396003)(46966006)(36840700001)(2906002)(54906003)(81166007)(186003)(53546011)(6506007)(30864003)(33656002)(7696005)(26005)(86362001)(110136005)(356005)(47076005)(83380400001)(478600001)(19627235002)(8936002)(4326008)(70586007)(82740400003)(82310400003)(5660300002)(55016002)(336012)(966005)(8676002)(316002)(36860700001)(52536014)(9686003)(70206006);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2021 06:02:05.5745 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 98d948f0-a2a4-4808-ce9f-08d8fe41aa43 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: DB5EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3119 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzLCBBcmQuDQpJIGNoZWNrZWQgYW5kIGZpeGVkIFdpbmRvd3Mgd2hpdGVzcGFjZSBkYW1h Z2UgaW4gdjIuIElmIHlvdSBzdGlsbCBzZWUgdGhlIGlzc3VlLCBmZWVsIGZyZWUgdG8gbGV0IG1l IGtub3cuDQpUaGUgaXNzdWUgd2FzIGNhdXNlZCBieSBteSBnaXQgdHJhbnNmZXIgZW5jb2Rpbmcg c2V0dGluZy4gSXQgd2FzIHNvbWVob3cgdXNpbmcgInF1b3RlZC1wcmludGFibGUiLiBUaGVuLCBJ IHVzZWQgIi0tdHJhbnNmZXItZW5jb2Rpbmc9IiB0byBvdmVycmlkZSB0aGUgc2V0dGluZyB0byAi YmFzZTY0Ii4gTm93IHRoZSBpc3N1ZSBzZWVtcyB0byBiZSByZXNvbHZlZC4NCg0KQmVzdCBSZWdh cmRzLA0KU3VubnkgV2FuZw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogQXJk IEJpZXNoZXV2ZWwgPGFyZGJAa2VybmVsLm9yZz4NClNlbnQ6IFR1ZXNkYXksIEFwcmlsIDEzLCAy MDIxIDE6MjcgQU0NClRvOiBQZXRlIEJhdGFyZCA8cGV0ZUBha2VvLmllPg0KQ2M6IFN1bm55IFdh bmcgPFN1bm55LldhbmdAYXJtLmNvbT47IGVkazItZGV2ZWwtZ3JvdXBzLWlvIDxkZXZlbEBlZGsy Lmdyb3Vwcy5pbz47IFNhbWVyIEVsLUhhai1NYWhtb3VkIDxTYW1lci5FbC1IYWotTWFobW91ZEBh cm0uY29tPjsgSmVyZW15IExpbnRvbiA8SmVyZW15LkxpbnRvbkBhcm0uY29tPjsgQXJkIEJpZXNo ZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+DQpTdWJqZWN0OiBSZTogW1BBVENIIDEv MV0gUGxhdGZvcm0vUmFzcGJlcnJ5UGk6IFNldHVwIG9wdGlvbiBmb3IgZGlzYWJsaW5nIEZhc3Qg Qm9vdA0KDQpPbiBNb24sIDEyIEFwciAyMDIxIGF0IDE1OjAzLCBQZXRlIEJhdGFyZCA8cGV0ZUBh a2VvLmllPiB3cm90ZToNCj4NCj4gSGkgU3VubnksDQo+DQo+IEZ1bmN0aW9uYWx5LCBJIHNlZSBu byBpc3N1ZXMgd2l0aCB0aGlzIHBhdGNoLCBhbmQgaXQncyBpbmRlZWQgYSBnb29kDQo+IHNvbHV0 aW9uIHRvIHRoZSBwcm9ibGVtIG9mIHRyeWluZyB0byBzYXRpc2Z5IGV2ZXJ5b25lIHdoaWxlIGZp eGluZyB0aGUNCj4gaXNzdWVzIHdlIGFyZSBzZWVpbmcuDQo+DQo+IFRoZXJlIGFyZSBob3dldmVy IGEgZmV3IG1pbm9yIHR5cG9zIGFuZCB3aGl0ZXNwYWNlIGlzc3VlcywgdGhhdCBJJ20NCj4gZGV0 YWlsaW5nIGJlbG93LiBTbyBjb3VsZCB5b3UgcGxlYXNlIHNlbmQgYSB2MiB0byBhZGRyZXNzIHRo ZXNlPw0KPg0KDQpBZ3JlZSB3aXRoIFBldGUuIFRoYW5rcyBmb3IgcHJvdmlkaW5nIGEgZml4IGZv ciB0aGlzLCBhbmQgcGxlYXNlIGluY29ycG9yYXRlIHRoZSBjaGFuZ2VzIHN1Z2dlc3RlZCBieSBQ ZXRlLg0KDQpUaGVuLCBjb3VsZCB3ZSAqcGxlYXNlKiBmaWd1cmUgb3V0IGEgd2F5IHRvIGdldCB0 aGlzIHBhdGNoIG9uIHRoZSBtYWlsaW5nIGxpc3Qgd2l0aG91dCBXaW5kb3dzIHdoaXRlc3BhY2Ug ZGFtYWdlPyBOb3Qgc3VyZSBpZiBhbnl0aGluZyBjaGFuZ2VkIHJlY2VudGx5LCBidXQgbm90IGEg c2luZ2xlIEVESzIgcGF0Y2ggaGFzIGFycml2ZWQgaW4gbXkgbWFpbGJveCByZWNlbnRseSBpbiBh IGZvcm0gdGhhdCBJIGNvdWxkIGFwcGx5IHdpdGggJ2dpdCBhbScuDQoNClRoYW5rcywNCkFyZC4N Cg0KDQo+IE9uIDIwMjEuMDQuMTIgMTA6MDUsIFN1bm55IFdhbmcgd3JvdGU6DQo+ID4gVGhpcyBp cyBhIGZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3BmdGYvUlBpNC9pc3N1ZXMvMTE0Lg0KPiA+ DQo+ID4gQ2hhbmdlczoNCj4gPiAgICAxLiBBZGQgYSBzZXR1cCBvcHRpb24gY2FsbGVkIEJvb3Qg UG9saWN5IGFuZCBjb25zdW1lIHRoZSBzZXR0aW5nDQo+ID4gICAgICAgZHVyaW5nIGJvb3QgdG8g d2hldGhlciBwZXJmb3JtIG9yIHNraXAgQ29ubmVjdEFsbC4NCj4gPiAgICAyLiBUaGUgRGVmYXVs dCBzZXR0aW5nIGlzIHNldCB0byBGdWxsIGRpc2NvdmVyeSBiZWNhdXNlIGl0IGlzIG5vdA0KPiA+ ICAgICAgIHdvcnRoIGVuYWJsaW5nIEZhc3QgYm9vdCBieSBkZWZhdWx0IG9uIFJhc3BiZXJyeVBp IHN5c3RlbXMuDQo+ID4gICAgICAgRW5hYmxpbmcgaXQganVzdCBzYXZlcyBib290IHRpbWUgYWJv dXQgMSBzZWNvbmQsIGJ1dCBjYXVzZWQgYQ0KPiA+ICAgICAgIGxvdCBvZiBpc3N1ZXMuDQo+ID4N Cj4gPiBUZXN0aW5nIERvbmU6DQo+ID4gICAgLSBCb290ZWQgdG8gU3RhbmRhbG9uZSBVRUZJIHNo ZWxsIG9uIFNEIGNhcmQgYW5kIHVzZSBkcml2ZXJzDQo+ID4gICAgICBjb21tYW5kIHRvIGNoZWNr IHRoZSByZXN1bHQgd2l0aCBGYXN0IEJvb3QgYW5kIEZ1bGwgZGlzY292ZXJ5DQo+ID4gICAgICBz ZXR0aW5ncy4gVGhlbiwgY2hpbGQvZGV2aWNlIGhhbmRsZXMgYXJlIGNyZWF0ZWQgYXMgZXhwZWN0 ZWQuDQo+ID4NCj4gPiBOb3RlIGFuZCB0by1kbyBpdGVtczoNCj4gPiAgICAtIFRoZSByb290IGNh dXNlIGxvb2tzIGxpa2UgdGhhdCBib290IGxvYWRlcnMgYW5kIHNvbWUgdG9vbHMgbGlrZQ0KPiA+ ICAgICAgZ3J1YiBhbmQgaVBYRSBoYXZlbid0IHN1cHBvcnRlZCBzZWxlY3RpdmUgY29ubmVjdC9G YXN0IGJvb3QuDQo+ID4gICAgICBIb3dldmVyLCBzeXN0ZW0gZmlybXdhcmUgc2hvdWxkIHN0aWxs IHByb3ZpZGUgYSBzZXR1cCBvcHRpb24gZm9yDQo+ID4gICAgICB1c2VyIHRvIGVuYWJsZSBGYXN0 IGJvb3Qgd2l0aCBvbGQgdmVyc2lvbiBib290IGxvYWRlcnMgYW5kIHRvb2xzDQo+ID4gICAgICAs IHdoaWNoIGlzIHdoeSB3ZSBwcm9wb3NlZCB0aGlzIGNoYW5nZS4gV2Ugd2lsbCBhbHNvIHJlcG9y dCB0aGlzDQo+ID4gICAgICBpc3N1ZSB0byBib290IGxvYWRlciBhbmQgdG9vbCB2ZW5kb3JzL29w ZW4gc291cmNlIEdpdEh1YnMuDQo+ID4gICAgLSBXZSBXaWxsIGFkZCBtb3JlIG9wdGlvbnMgZm9y IGNvbm5lY3Rpbmcgc3BlY2lmaWMgdHlwZSBkZXZpY2VzIHNvDQo+ID4gICAgICB0aGF0IHdlIGNh biBzdGlsbCBoYXZlIHRoZSBzaG9ydGVzdCBib290IHRpbWUgZm9yIGFsbCB1c2UgY2FzZXMuDQo+ ID4NCj4gPiBDYzogU2FtZXIgRWwtSGFqLU1haG1vdWQgPHNhbWVyLmVsLWhhai1tYWhtb3VkQGFy bS5jb20+DQo+ID4gQ2M6IEplcmVteSBMaW50b24gPGplcmVteS5saW50b25AYXJtLmNvbT4NCj4g PiBDYzogUGV0ZSBCYXRhcmQgPHBldGVAYWtlby5pZT4NCj4gPiBDYzogQXJkIEJpZXNoZXV2ZWwg PGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+DQo+ID4gU2lnbmVkLW9mZi1ieTogU3VubnkgV2Fu ZyA8c3Vubnkud2FuZ0Bhcm0uY29tPg0KPiA+IC0tLQ0KPiA+ICAgLi4uL1Jhc3BiZXJyeVBpL0Ry aXZlcnMvQ29uZmlnRHhlL0NvbmZpZ0R4ZS5jICAgIHwgMTEgKysrKysrKysrKy0NCj4gPiAgIC4u Li9SYXNwYmVycnlQaS9Ecml2ZXJzL0NvbmZpZ0R4ZS9Db25maWdEeGUuaW5mICB8ICAzICsrLQ0K PiA+ICAgLi4uL0RyaXZlcnMvQ29uZmlnRHhlL0NvbmZpZ0R4ZUhpaS51bmkgICAgICAgICAgIHwg MTAgKysrKysrKysrLQ0KPiA+ICAgLi4uL0RyaXZlcnMvQ29uZmlnRHhlL0NvbmZpZ0R4ZUhpaS52 ZnIgICAgICAgICAgIHwgMTUgKysrKysrKysrKysrKystDQo+ID4gICBQbGF0Zm9ybS9SYXNwYmVy cnlQaS9JbmNsdWRlL0NvbmZpZ1ZhcnMuaCAgICAgICAgfCAxMiArKysrKysrKysrKy0NCj4gPiAg IC4uLi9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvUGxhdGZvcm1CbS5jICB8IDE2ICsr KysrKysrKysrKysrLS0NCj4gPiAgIC4uLi9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliLmluZiAgICAg ICAgICAgICAgICAgICB8ICAxICsNCj4gPiAgIFBsYXRmb3JtL1Jhc3BiZXJyeVBpL1JQaTMvUlBp My5kc2MgICAgICAgICAgICAgICB8IDEwICsrKysrKysrKy0NCj4gPiAgIFBsYXRmb3JtL1Jhc3Bi ZXJyeVBpL1JQaTQvUlBpNC5kc2MgICAgICAgICAgICAgICB8ICA5ICsrKysrKysrLQ0KPiA+ICAg UGxhdGZvcm0vUmFzcGJlcnJ5UGkvUmFzcGJlcnJ5UGkuZGVjICAgICAgICAgICAgIHwgIDIgKysN Cj4gPiAgIDEwIGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0p DQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVycy9Db25m aWdEeGUvQ29uZmlnRHhlLmMNCj4gPiBiL1BsYXRmb3JtL1Jhc3BiZXJyeVBpL0RyaXZlcnMvQ29u ZmlnRHhlL0NvbmZpZ0R4ZS5jDQo+ID4gaW5kZXggMjJmODZkNGQ0NC4uZDNjNTg2OTk0OSAxMDA2 NDQNCj4gPiAtLS0gYS9QbGF0Zm9ybS9SYXNwYmVycnlQaS9Ecml2ZXJzL0NvbmZpZ0R4ZS9Db25m aWdEeGUuYw0KPiA+ICsrKyBiL1BsYXRmb3JtL1Jhc3BiZXJyeVBpL0RyaXZlcnMvQ29uZmlnRHhl L0NvbmZpZ0R4ZS5jDQo+ID4gQEAgLTEsNiArMSw2IEBADQo+ID4gICAvKiogQGZpbGUNCj4gPg0K PiA+ICAgICoNCj4gPg0KPiA+IC0gKiAgQ29weXJpZ2h0IChjKSAyMDE5IC0gMjAyMCwgQVJNIExp bWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4NCj4gPiArICogIENvcHlyaWdodCAoYykg MjAxOSAtIDIwMjEsIEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+DQo+ID4g ICAgKiAgQ29weXJpZ2h0IChjKSAyMDE4IC0gMjAyMCwgQW5kcmVpIFdhcmtlbnRpbg0KPiA+IDxh bmRyZXkud2Fya2VudGluQGdtYWlsLmNvbT4NCj4gPg0KPiA+ICAgICoNCj4gPg0KPiA+ICAgICog IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4NCj4gPiBA QCAtMjgxLDYgKzI4MSwxNSBAQCBTZXR1cFZhcmlhYmxlcyAoDQo+ID4gICAgICAgICAgICAgICAg ICAgICAgICk7DQo+ID4NCj4gPiAgICAgfQ0KPiA+DQo+ID4NCj4gPg0KPiA+ICsgIFNpemUgPSBz aXplb2YgKFVJTlQzMik7DQo+ID4NCj4gPiArICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlIChM IkJvb3RQb2xpY3kiLA0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICZnQ29uZmlnRHhlRm9y bVNldEd1aWQsDQo+ID4NCj4gPiArICAgICAgICAgICAgICAgICAgTlVMTCwgJlNpemUsICZWYXIz Mik7DQo+ID4NCj4gPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ID4NCj4gPiArICAg IFN0YXR1cyA9IFBjZFNldDMyUyAoUGNkQm9vdFBvbGljeSwgUGNkR2V0MzIgKFBjZEJvb3RQb2xp Y3kpKTsNCj4gPg0KPiA+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gPg0KPiA+ ICsgIH0NCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICAgICBTaXplID0gc2l6ZW9mIChVSU5UMzIpOw0K PiA+DQo+ID4gICAgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUgKEwiU2RJc0FyYXNhbiIsDQo+ ID4NCj4gPiAgICAgICAgICAgICAgICAgICAgICZnQ29uZmlnRHhlRm9ybVNldEd1aWQsDQo+ID4N Cj4gPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVycy9Db25maWdEeGUv Q29uZmlnRHhlLmluZg0KPiA+IGIvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVycy9Db25maWdE eGUvQ29uZmlnRHhlLmluZg0KPiA+IGluZGV4IGQ1MWU1NGUwMTAuLjAzMmU0MGIwYzMgMTAwNjQ0 DQo+ID4gLS0tIGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVycy9Db25maWdEeGUvQ29uZmln RHhlLmluZg0KPiA+ICsrKyBiL1BsYXRmb3JtL1Jhc3BiZXJyeVBpL0RyaXZlcnMvQ29uZmlnRHhl L0NvbmZpZ0R4ZS5pbmYNCj4gPiBAQCAtMiw3ICsyLDcgQEANCj4gPiAgICMNCj4gPg0KPiA+ICAg IyAgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9yIHRoZSBSYXNicGVycnlQaSBEWEUgcGxh dGZvcm0gY29uZmlnIGRyaXZlci4NCj4gPg0KPiA+ICAgIw0KPiA+DQo+ID4gLSMgIENvcHlyaWdo dCAoYykgMjAxOSAtIDIwMjAsIEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+ DQo+ID4gKyMgIENvcHlyaWdodCAoYykgMjAxOSAtIDIwMjEsIEFSTSBMaW1pdGVkLiBBbGwgcmln aHRzIHJlc2VydmVkLg0KPiA+DQo+ID4gICAjICBDb3B5cmlnaHQgKGMpIDIwMTggLSAyMDIwLCBB bmRyZWkgV2Fya2VudGluDQo+ID4gPGFuZHJleS53YXJrZW50aW5AZ21haWwuY29tPg0KPiA+DQo+ ID4gICAjDQo+ID4NCj4gPiAgICMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ID4NCj4gPiBAQCAtOTMsNiArOTMsNyBAQA0KPiA+ICAgICBnUmFzcGJlcnJ5 UGlUb2tlblNwYWNlR3VpZC5QY2RSYW1MaW1pdFRvM0dCDQo+ID4NCj4gPiAgICAgZ1Jhc3BiZXJy eVBpVG9rZW5TcGFjZUd1aWQuUGNkRmFuT25HcGlvDQo+ID4NCj4gPiAgICAgZ1Jhc3BiZXJyeVBp VG9rZW5TcGFjZUd1aWQuUGNkRmFuVGVtcA0KPiA+DQo+ID4gKyAgZ1Jhc3BiZXJyeVBpVG9rZW5T cGFjZUd1aWQuUGNkQm9vdFBvbGljeQ0KPiA+DQo+ID4NCj4gPg0KPiA+ICAgW0RlcGV4XQ0KPiA+ DQo+ID4gICAgIGdQY2RQcm90b2NvbEd1aWQgQU5EIGdSYXNwYmVycnlQaUZpcm13YXJlUHJvdG9j b2xHdWlkDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVy cy9Db25maWdEeGUvQ29uZmlnRHhlSGlpLnVuaQ0KPiA+IGIvUGxhdGZvcm0vUmFzcGJlcnJ5UGkv RHJpdmVycy9Db25maWdEeGUvQ29uZmlnRHhlSGlpLnVuaQ0KPiA+IGluZGV4IDQ2NmZhODUyY2Iu LjdiMTRmZGYzOWYgMTAwNjQ0DQo+ID4gLS0tIGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVy cy9Db25maWdEeGUvQ29uZmlnRHhlSGlpLnVuaQ0KPiA+ICsrKyBiL1BsYXRmb3JtL1Jhc3BiZXJy eVBpL0RyaXZlcnMvQ29uZmlnRHhlL0NvbmZpZ0R4ZUhpaS51bmkNCj4gPiBAQCAtMSw3ICsxLDcg QEANCj4gPiAgIC8qKiBAZmlsZQ0KPiA+DQo+ID4gICAgKg0KPiA+DQo+ID4gICAgKiAgQ29weXJp Z2h0IChjKSAyMDE4LCBBbmRyZWkgV2Fya2VudGluDQo+ID4gPGFuZHJleS53YXJrZW50aW5AZ21h aWwuY29tPg0KPiA+DQo+ID4gLSAqICBDb3B5cmlnaHQgKGMpIDIwMjAsIEFSTSBMaW1pdGVkLiBB bGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+DQo+ID4gKyAqICBDb3B5cmlnaHQgKGMpIDIwMjAgLSAy MDIxLCBBUk0gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gPg0KPiA+ICAgICoNCj4g Pg0KPiA+ICAgICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ID4NCj4gPiAgICAqDQo+ID4NCj4gPiBAQCAtNjAsNiArNjAsMTQgQEANCj4gPiAgICNzdHJp bmcgU1RSX0FEVkFOQ0VEX0FTU0VUX1RBR19QUk9NUFQgI2xhbmd1YWdlIGVuLVVTICJBc3NldCBU YWciDQo+ID4NCj4gPiAgICNzdHJpbmcgU1RSX0FEVkFOQ0VEX0FTU0VUX1RBR19IRUxQICAgI2xh bmd1YWdlIGVuLVVTICJTZXQgdGhlIHN5c3RlbSBBc3NldCBUYWciDQo+ID4NCj4gPg0KPg0KPiBQ ZXJzb25hbGx5LCBJIHdvdWxkIG1vdmUgdGhlIEJvb3QgUG9saWN5IHNlY3Rpb24gYmV0d2VlbiAi U3lzdGVtIFRhYmxlDQo+IFNlbGVjdGlvbiIgYW5kICJBQ1BJIEZhbiBDb250cm9sIiBpZiB3ZSB0 cnkgdG8ga2VlcCB0aGUgYWR2YW5jZWQNCj4gc2V0dGluZ3MgaW4gdGhlIG9yZGVyIHdlIHRoaW5r IHRoZXkgd2lsbCBiZSBtb3N0IHVzZWQuDQo+DQo+ID4NCj4gPiArI3N0cmluZyBTVFJfQk9PVF9Q T0xJQ1lfUFJPTVBUICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkJvb3QgUG9saWN5Ig0KPiA+DQo+ ID4gKyNzdHJpbmcgU1RSX0JPT1RfUE9MSUNZX0hFTFAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICJXaGVuIEZhc3QgQm9vdCBpcyBzZWxlY3RlZCwgb25seSByZXF1aXJlZCBkZXZpY2VzIHdpbGwg YmUgZGlzY292ZXJkIGZvciByZWR1Y2luZyAiDQo+DQo+ICJkaXNjb3ZlcmQiIC0+ICJkaXNjb3Zl cmVkIg0KPg0KPiA+DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJ0aGUgYm9vdCB0aW1lLiINCj4NCj4gTWlzc2luZyBhIHNwYWNlIGFm dGVyICJ0aGUgYm9vdCB0aW1lLiIuIEl0IHNob3VsZCBiZSAidGhlIGJvb3QgdGltZS4NCj4gIiwg ZWxzZSB0aGUgaGVscCB0ZXh0IHdpbGwgZGlzcGxheSBhcyAiKC4uLikgdGhlIGJvb3QgdGltZS5X aGVuIEZ1bGwNCj4gRGlzY292ZXJ5ICguLi4pIg0KPg0KPiA+DQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXaGVuIEZ1bGwgRGlzY292 ZXJ5IGlzIHNlbGVjdGVkLCBhbGwgdGhlIGRldmljZXMgd2lsbCBiZSBkaXNjb3ZlcmQgZm9yIHNv bWUgIg0KPg0KPiAiZGlzY292ZXJkIiAtPiAiZGlzY292ZXJlZCINCj4NCj4gPg0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NlbmFy aW9zIHN1Y2ggYXMgc3lzdGVtIGRlcGxveWVtZW50IGFuZCBkaWFnbm9zdGljIHRlc3RzIg0KPg0K PiAiZGVwbG95ZW1lbnQiIC0+ICJkZXBsb3ltZW50Ig0KPg0KPiA+DQo+ID4gKyNzdHJpbmcgU1RS X0ZBU1RfQk9PVCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJGYXN0IEJvb3QiDQo+ ID4NCj4gPiArI3N0cmluZyBTVFJfRlVMTF9ESVNDT1ZFUlkgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgIkZ1bGwgRGlzY292ZXJ5Ig0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gICAvKg0KPiA+DQo+ ID4gICAgKiBNTUMvU0QgY29uZmlndXJhdGlvbi4NCj4gPg0KPiA+ICAgICovDQo+ID4NCj4gPiBk aWZmIC0tZ2l0IGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVycy9Db25maWdEeGUvQ29uZmln RHhlSGlpLnZmcg0KPiA+IGIvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVycy9Db25maWdEeGUv Q29uZmlnRHhlSGlpLnZmcg0KPiA+IGluZGV4IGNjN2EwOWNmYjcuLjVkYzU1OGVjMDggMTAwNjQ0 DQo+ID4gLS0tIGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvRHJpdmVycy9Db25maWdEeGUvQ29uZmln RHhlSGlpLnZmcg0KPiA+ICsrKyBiL1BsYXRmb3JtL1Jhc3BiZXJyeVBpL0RyaXZlcnMvQ29uZmln RHhlL0NvbmZpZ0R4ZUhpaS52ZnINCj4gPiBAQCAtMSw3ICsxLDcgQEANCj4gPiAgIC8qKiBAZmls ZQ0KPiA+DQo+ID4gICAgKg0KPiA+DQo+ID4gICAgKiAgQ29weXJpZ2h0IChjKSAyMDE4IEFuZHJl aSBXYXJrZW50aW4NCj4gPiA8YW5kcmV5LndhcmtlbnRpbkBnbWFpbC5jb20+DQo+ID4NCj4gPiAt ICogIENvcHlyaWdodCAoYykgMjAyMCwgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQu DQo+ID4NCj4gPiArICogIENvcHlyaWdodCAoYykgMjAyMCAtIDIwMjEsIEFSTSBMaW1pdGVkLiBB bGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+DQo+ID4gICAgKg0KPiA+DQo+ID4gICAgKiAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPg0KPiA+ICAgICoNCj4g Pg0KPiA+IEBAIC0xMTYsNiArMTE2LDExIEBAIGZvcm1zZXQNCj4gPiAgICAgICAgIG5hbWUgID0g RGlzcGxheUVuYWJsZVNTaG90LA0KPiA+DQo+ID4gICAgICAgICBndWlkICA9IENPTkZJR0RYRV9G T1JNX1NFVF9HVUlEOw0KPiA+DQo+ID4NCj4gPg0KPiA+ICsgICAgZWZpdmFyc3RvcmUgQk9PVF9Q T0xJQ1lfVkFSU1RPUkVfREFUQSwNCj4gPg0KPiA+ICsgICAgICBhdHRyaWJ1dGUgPSBFRklfVkFS SUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTIHwNCj4gPiArIEVGSV9WQVJJQUJMRV9SVU5USU1FX0FD Q0VTUyB8IEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUsDQo+ID4NCj4gPiArICAgICAgbmFtZSAg PSBCb290UG9saWN5LA0KPiA+DQo+ID4gKyAgICAgIGd1aWQgID0gQ09ORklHRFhFX0ZPUk1fU0VU X0dVSUQ7DQo+ID4NCj4gPiArDQo+ID4NCj4gPiAgICAgICBmb3JtIGZvcm1pZCA9IDEsDQo+ID4N Cj4gPiAgICAgICAgICAgdGl0bGUgID0gU1RSSU5HX1RPS0VOKFNUUl9GT1JNX1NFVF9USVRMRSk7 DQo+ID4NCj4gPiAgICAgICAgICAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTlVM TF9TVFJJTkcpOw0KPiA+DQo+ID4gQEAgLTIyMCw2ICsyMjUsMTQgQEAgZm9ybXNldA0KPiA+ICAg ICAgICAgICAgICAgbWluc2l6ZSA9IDAsDQo+ID4NCj4gPiAgICAgICAgICAgICAgIG1heHNpemUg PSBBU1NFVF9UQUdfU1RSX01BWF9MRU4sDQo+ID4NCj4gPiAgICAgICAgICAgZW5kc3RyaW5nOw0K PiA+DQo+ID4gKw0KPiA+DQo+ID4gKyAgICAgICAgb25lb2YgdmFyaWQgPSBCb290UG9saWN5LkJv b3RQb2xpY3ksDQo+ID4NCj4gPiArICAgICAgICAgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9L RU4oU1RSX0JPT1RfUE9MSUNZX1BST01QVCksDQo+ID4NCj4gPiArICAgICAgICAgICAgaGVscCAg ICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0JPT1RfUE9MSUNZX0hFTFApLA0KPiA+DQo+ID4gKyAg ICAgICAgICAgIGZsYWdzICAgICAgID0gTlVNRVJJQ19TSVpFXzQgfCBJTlRFUkFDVElWRSB8IFJF U0VUX1JFUVVJUkVELA0KPiA+DQo+ID4gKyAgICAgICAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9GQVNUX0JPT1QgKSwgdmFsdWUgPQ0KPiA+ICsgRkFTVF9CT09UICwgZmxhZ3Mg PSAwOw0KPg0KPiAiU1RSSU5HX1RPS0VOKFNUUl9GQVNUX0JPT1QgKSIgLT4gIlNUUklOR19UT0tF TihTVFJfRkFTVF9CT09UKSINCj4NCj4gPg0KPiA+ICsgICAgICAgICAgICBvcHRpb24gdGV4dCA9 IFNUUklOR19UT0tFTihTVFJfRlVMTF9ESVNDT1ZFUlkpLCB2YWx1ZSA9DQo+ID4gKyBGVUxMX0RJ U0NPVkVSWSwgZmxhZ3MgPSBERUZBVUxUOw0KPiA+DQo+ID4gKyAgICAgICAgZW5kb25lb2Y7DQo+ ID4NCj4gPiAgICAgICBlbmRmb3JtOw0KPiA+DQo+ID4NCj4gPg0KPiA+ICAgICAgIGZvcm0gZm9y bWlkID0gMHgxMDAzLA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL1Jhc3BiZXJyeVBp L0luY2x1ZGUvQ29uZmlnVmFycy5oDQo+ID4gYi9QbGF0Zm9ybS9SYXNwYmVycnlQaS9JbmNsdWRl L0NvbmZpZ1ZhcnMuaA0KPiA+IGluZGV4IDE0MjMxNzk4NWEuLjMzNDdmODk5ZGYgMTAwNjQ0DQo+ ID4gLS0tIGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvSW5jbHVkZS9Db25maWdWYXJzLmgNCj4gPiAr KysgYi9QbGF0Zm9ybS9SYXNwYmVycnlQaS9JbmNsdWRlL0NvbmZpZ1ZhcnMuaA0KPiA+IEBAIC0x LDcgKzEsNyBAQA0KPiA+ICAgLyoqIEBmaWxlDQo+ID4NCj4gPiAgICAqDQo+ID4NCj4gPiAgICAq ICBDb3B5cmlnaHQgKGMpIDIwMjAsIEFuZHJlaSBXYXJrZW50aW4NCj4gPiA8YW5kcmV5Lndhcmtl bnRpbkBnbWFpbC5jb20+DQo+ID4NCj4gPiAtICogIENvcHlyaWdodCAoYykgMjAyMCwgQVJNIExp bWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4NCj4gPiArICogIENvcHlyaWdodCAoYykg MjAyMCAtIDIwMjEsIEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+DQo+ID4g ICAgKg0KPiA+DQo+ID4gICAgKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gPg0KPiA+ICAgICoNCj4gPg0KPiA+IEBAIC0xNDMsNCArMTQzLDE0IEBAIHR5 cGVkZWYgc3RydWN0IHsNCj4gPiAgICAgVUlOVDMyIEVuYWJsZURtYTsNCj4gPg0KPiA+ICAgfSBN TUNfRU1NQ19ETUFfVkFSU1RPUkVfREFUQTsNCj4gPg0KPiA+DQo+ID4NCj4gPiArI2RlZmluZSBG QVNUX0JPT1QgICAgICAwDQo+ID4NCj4gPiArI2RlZmluZSBGVUxMX0RJU0NPVkVSWSAxDQo+ID4N Cj4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+DQo+ID4gKyAgLyoNCj4gPg0KPiA+ICsgICAqIDAg LSBGYXN0IEJvb3QNCj4gPg0KPiA+ICsgICAqIDEgLSBGdWxsIERpc2NvdnJleSAoQ29ubmVjdCBB bGwpDQo+DQo+ICJEaXNjb3ZyZXkiIC0+ICJEaXNjb3ZlcnkiDQo+DQo+ID4NCj4gPiArICAgKi8N Cj4gPg0KPiA+ICsgIFVJTlQzMiBCb290UG9saWN5Ow0KPiA+DQo+ID4gK30gQk9PVF9QT0xJQ1lf VkFSU1RPUkVfREFUQTsNCj4gPg0KPiA+ICsNCj4gPg0KPiA+ICAgI2VuZGlmIC8qIENPTkZJR19W QVJTX0ggKi8NCj4gPg0KPiA+IGRpZmYgLS1naXQNCj4gPiBhL1BsYXRmb3JtL1Jhc3BiZXJyeVBp L0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9QbGF0Zm9ybUJtLmMNCj4gPiBiL1BsYXRm b3JtL1Jhc3BiZXJyeVBpL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9QbGF0Zm9ybUJt LmMNCj4gPiBpbmRleCBjMmZjNDBiOGVhLi5hYmJlNGZiM2QwIDEwMDY0NA0KPiA+IC0tLQ0KPiA+ IGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1Bs YXRmb3JtQm0uYw0KPiA+ICsrKyBiL1BsYXRmb3JtL1Jhc3BiZXJyeVBpL0xpYnJhcnkvUGxhdGZv cm1Cb290TWFuYWdlckxpYi9QbGF0Zm9ybUJtDQo+ID4gKysrIC5jDQo+ID4gQEAgLTQsNyArNCw3 IEBADQo+ID4gICAgKiAgQ29weXJpZ2h0IChjKSAyMDE3LTIwMTgsIEFuZHJlaSBXYXJrZW50aW4N Cj4gPiA8YW5kcmV5LndhcmtlbnRpbkBnbWFpbC5jb20+DQo+ID4NCj4gPiAgICAqICBDb3B5cmln aHQgKGMpIDIwMTYsIExpbmFybyBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4NCj4gPiAg ICAqICBDb3B5cmlnaHQgKGMpIDIwMTUtMjAxNiwgUmVkIEhhdCwgSW5jLg0KPiA+DQo+ID4gLSAq ICBDb3B5cmlnaHQgKGMpIDIwMTQtMjAyMCwgQVJNIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4N Cj4gPg0KPiA+ICsgKiAgQ29weXJpZ2h0IChjKSAyMDE0LTIwMjEsIEFSTSBMdGQuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuDQo+ID4NCj4gPiAgICAqICBDb3B5cmlnaHQgKGMpIDIwMDQtMjAxNiwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ID4NCj4gPiAgICAqDQo+ID4N Cj4gPiAgICAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiA+DQo+ID4gQEAgLTI2LDkgKzI2LDExIEBADQo+ID4gICAjaW5jbHVkZSA8R3VpZC9FdmVudEdy b3VwLmg+DQo+ID4NCj4gPiAgICNpbmNsdWRlIDxHdWlkL1R0eVRlcm0uaD4NCj4gPg0KPiA+DQo+ ID4NCj4gPiArI2luY2x1ZGUgPENvbmZpZ1ZhcnMuaD4NCj4NCj4gSSdkIHJlbW92ZSB0aGUgZXh0 cmEgbGluZSBiZXR3ZWVuIDxHdWlkL1R0eVRlcm0uaD4gYW5kIDxDb25maWdWYXJzLmg+DQo+DQo+ ID4NCj4gPiArDQo+ID4NCj4gPiAgICNpbmNsdWRlICJQbGF0Zm9ybUJtLmgiDQo+ID4NCj4gPg0K PiA+DQo+ID4gLSNkZWZpbmUgQk9PVF9QUk9NUFQgTCJFU0MgKHNldHVwKSwgRjEgKHNoZWxsKSwg RU5URVIgKGJvb3QpIg0KPiA+DQo+ID4gKyNkZWZpbmUgQk9PVF9QUk9NUFQgTCJFU0MgKHNldHVw KSwgRjEgKHNoZWxsKSwgRU5URVIgKGJvb3QpXG4iDQo+DQo+IFdoeSBhcmUgeW91IGFkZGluZyB0 aGUgY2FycmlhZ2UgcmV0dXJuPyBXYXMgdGhlcmUgYW4gaXNzdWUgd2l0aCB0aGUNCj4gZGlzcGxh eSBvZiB0aGlzIHByb21wdD8NCj4NCj4gPg0KPiA+DQo+ID4NCj4gPiAgICNkZWZpbmUgRFBfTk9E RV9MRU4oVHlwZSkgeyAoVUlOVDgpc2l6ZW9mIChUeXBlKSwgKFVJTlQ4KShzaXplb2YNCj4gPiAo VHlwZSkgPj4gOCkgfQ0KPiA+DQo+ID4NCj4gPg0KPiA+IEBAIC02MzMsNiArNjM1LDE2IEBAIFBs YXRmb3JtQm9vdE1hbmFnZXJBZnRlckNvbnNvbGUgKA0KPiA+ICAgICAgIFByaW50IChCT09UX1BS T01QVCk7DQo+ID4NCj4gPiAgICAgfQ0KPiA+DQo+ID4NCj4gPg0KPiA+ICsgIC8vDQo+ID4NCj4g PiArICAvLyBDb25uZWN0IHRoZSByZXN0IG9mIHRoZSBkZXZpY2VzIGlmIHRoZSBib290IHBvbGN5 IGlzIHNldCB0bw0KPiA+ICsgRnVsbCBkaXNjb3ZlcnkNCj4gPg0KPiA+ICsgIC8vDQo+ID4NCj4g PiArICBpZiAoUGNkR2V0MzIgKFBjZEJvb3RQb2xpY3kpID09IEZVTExfRElTQ09WRVJZKSB7DQo+ ID4NCj4gPiArICAgIERFQlVHICgoREVCVUdfSU5GTywgIkJvb3QgUG9saWN5IGlzIEZ1bGwgRGlz Y292ZXJ5LiBDb25uZWN0IEFsbA0KPiA+ICsgZGV2aWNlc1xuIikpOw0KPg0KPiAiQWxsIiAtPiAi YWxsIg0KPg0KPiA+DQo+ID4gKyAgICBFZmlCb290TWFuYWdlckNvbm5lY3RBbGwgKCk7DQo+ID4N Cj4gPiArICB9IGVsc2UgaWYgKFBjZEdldDMyIChQY2RCb290UG9saWN5KSA9PSBGQVNUX0JPT1Qp IHsNCj4gPg0KPiA+ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiQm9vdCBQb2xpY3kgaXMgRmFz dCBCb290LiBTa2lwIGNvbm5lY3RpbmcNCj4gPiArIGFsbCBkZXZpY2VzXG4iKSk7DQo+ID4NCj4g PiArICB9DQo+ID4NCj4gPiArDQo+ID4NCj4gPiAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90 b2NvbCAoJmdFc3J0TWFuYWdlbWVudFByb3RvY29sR3VpZCwNCj4gPiBOVUxMLCAoVk9JRCoqKSZF c3J0TWFuYWdlbWVudCk7DQo+ID4NCj4gPiAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsN Cj4gPg0KPiA+ICAgICAgIEVzcnRNYW5hZ2VtZW50LT5TeW5jRXNydEZtcCAoKTsNCj4gPg0KPiA+ IGRpZmYgLS1naXQNCj4gPiBhL1BsYXRmb3JtL1Jhc3BiZXJyeVBpL0xpYnJhcnkvUGxhdGZvcm1C b290TWFuYWdlckxpYi9QbGF0Zm9ybUJvb3RNYQ0KPiA+IG5hZ2VyTGliLmluZg0KPiA+IGIvUGxh dGZvcm0vUmFzcGJlcnJ5UGkvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRmb3Jt Qm9vdE1hDQo+ID4gbmFnZXJMaWIuaW5mDQo+ID4gaW5kZXggODhmNmY4ZmUwOS4uZmJmNTEwYWI5 NiAxMDA2NDQNCj4gPiAtLS0NCj4gPiBhL1BsYXRmb3JtL1Jhc3BiZXJyeVBpL0xpYnJhcnkvUGxh dGZvcm1Cb290TWFuYWdlckxpYi9QbGF0Zm9ybUJvb3RNYQ0KPiA+IG5hZ2VyTGliLmluZg0KPiA+ ICsrKyBiL1BsYXRmb3JtL1Jhc3BiZXJyeVBpL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxp Yi9QbGF0Zm9ybUJvDQo+ID4gKysrIG90TWFuYWdlckxpYi5pbmYNCj4gPiBAQCAtNjMsNiArNjMs NyBAQA0KPiA+ICAgW1BjZF0NCj4gPg0KPiA+ICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQu UGNkUGxhdGZvcm1Cb290VGltZU91dA0KPiA+DQo+ID4gICAgIGdSYXNwYmVycnlQaVRva2VuU3Bh Y2VHdWlkLlBjZFNkSXNBcmFzYW4NCj4gPg0KPiA+ICsgIGdSYXNwYmVycnlQaVRva2VuU3BhY2VH dWlkLlBjZEJvb3RQb2xpY3kNCj4gPg0KPiA+DQo+ID4NCj4gPiAgIFtHdWlkc10NCj4gPg0KPiA+ ICAgICBnRWZpRmlsZUluZm9HdWlkDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vUmFz cGJlcnJ5UGkvUlBpMy9SUGkzLmRzYw0KPiA+IGIvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvUlBpMy9S UGkzLmRzYw0KPiA+IGluZGV4IDA5NjExMzNhZTkuLmRkYjAzZTQwNWYgMTAwNjQ0DQo+ID4gLS0t IGEvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvUlBpMy9SUGkzLmRzYw0KPiA+ICsrKyBiL1BsYXRmb3Jt L1Jhc3BiZXJyeVBpL1JQaTMvUlBpMy5kc2MNCj4gPiBAQCAtMSw2ICsxLDYgQEANCj4gPiAgICMg QGZpbGUNCj4gPg0KPiA+ICAgIw0KPiA+DQo+ID4gLSMgIENvcHlyaWdodCAoYykgMjAxMSAtIDIw MjAsIEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+DQo+ID4gKyMgIENvcHly aWdodCAoYykgMjAxMSAtIDIwMjEsIEFSTSBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0K PiA+DQo+ID4gICAjICBDb3B5cmlnaHQgKGMpIDIwMTQsIExpbmFybyBMaW1pdGVkLiBBbGwgcmln aHRzIHJlc2VydmVkLg0KPiA+DQo+ID4gICAjICBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDIxLCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gPg0KPiA+ICAgIyAgQ29w eXJpZ2h0IChjKSAyMDE3IC0gMjAxOCwgQW5kcmVpIFdhcmtlbnRpbg0KPiA+IDxhbmRyZXkud2Fy a2VudGluQGdtYWlsLmNvbT4NCj4gPg0KPiA+IEBAIC01MTIsNiArNTEyLDE0IEBADQo+ID4NCj4g PiBnUmFzcGJlcnJ5UGlUb2tlblNwYWNlR3VpZC5QY2RGYW5PbkdwaW98TCJGYW5PbkdwaW8ifGdD b25maWdEeGVGb3JtUw0KPiA+IGV0R3VpZHwweDB8MA0KPiA+DQo+ID4NCj4gPiBnUmFzcGJlcnJ5 UGlUb2tlblNwYWNlR3VpZC5QY2RGYW5UZW1wfEwiRmFuVGVtcCJ8Z0NvbmZpZ0R4ZUZvcm1TZXRH dQ0KPiA+IGlkfDB4MHwwDQo+ID4NCj4gPg0KPiA+DQo+ID4gKyAgIw0KPiA+DQo+ID4gKyAgIyBC b290IFBvbGljeQ0KPiA+DQo+ID4gKyAgIyAwICAtIEZhc3QgQm9vdA0KPiA+DQo+ID4gKyAgIyAx ICAtIEZ1bGwgRGlzY292cmV5IChDb25uZWN0IEFsbCkNCj4NCj4gIkRpc2NvdnJleSIgLT4gIkRp c2NvdmVyeSINCj4NCj4gPg0KPiA+ICsgICMNCj4gPg0KPiA+ICsNCj4gPiArIGdSYXNwYmVycnlQ aVRva2VuU3BhY2VHdWlkLlBjZEJvb3RQb2xpY3l8TCJCb290UG9saWN5InxnQ29uZmlnRHhlRg0K PiA+ICsgb3JtU2V0R3VpZHwweDB8MQ0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gKw0KPg0KPiBQbGVh c2UgcmVtb3ZlIHRoZSBleHRyYSBsaW5lLiBUaGVyZSBzaG91bGQgYmUganVzdCBvbmUgYmxhbmsg bGlrZQ0KPiBiZXR3ZWVuIHRoZSBzZWN0aW9ucy4NCj4NCj4gPg0KPiA+ICAgICAjDQo+ID4NCj4g PiAgICAgIyBSZXNldC1yZWxhdGVkLg0KPiA+DQo+ID4gICAgICMNCj4gPg0KPiA+IGRpZmYgLS1n aXQgYS9QbGF0Zm9ybS9SYXNwYmVycnlQaS9SUGk0L1JQaTQuZHNjDQo+ID4gYi9QbGF0Zm9ybS9S YXNwYmVycnlQaS9SUGk0L1JQaTQuZHNjDQo+ID4gaW5kZXggZmY4MDJkODM0Ny4uOGVlMTkyMmE0 NCAxMDA2NDQNCj4gPiAtLS0gYS9QbGF0Zm9ybS9SYXNwYmVycnlQaS9SUGk0L1JQaTQuZHNjDQo+ ID4gKysrIGIvUGxhdGZvcm0vUmFzcGJlcnJ5UGkvUlBpNC9SUGk0LmRzYw0KPiA+IEBAIC0xLDYg KzEsNiBAQA0KPiA+ICAgIyBAZmlsZQ0KPiA+DQo+ID4gICAjDQo+ID4NCj4gPiAtIyAgQ29weXJp Z2h0IChjKSAyMDExIC0gMjAyMCwgQVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ ID4NCj4gPiArIyAgQ29weXJpZ2h0IChjKSAyMDExIC0gMjAyMSwgQVJNIExpbWl0ZWQuIEFsbCBy aWdodHMgcmVzZXJ2ZWQuDQo+ID4NCj4gPiAgICMgIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMTgs IEFuZHJlaSBXYXJrZW50aW4NCj4gPiA8YW5kcmV5LndhcmtlbnRpbkBnbWFpbC5jb20+DQo+ID4N Cj4gPiAgICMgIENvcHlyaWdodCAoYykgMjAxNSAtIDIwMjEsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+DQo+ID4gICAjICBDb3B5cmlnaHQgKGMpIDIwMTQsIExp bmFybyBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiA+DQo+ID4gQEAgLTUyOCw2ICs1 MjgsMTMgQEANCj4gPg0KPiA+IGdSYXNwYmVycnlQaVRva2VuU3BhY2VHdWlkLlBjZEZhbk9uR3Bp b3xMIkZhbk9uR3BpbyJ8Z0NvbmZpZ0R4ZUZvcm1TDQo+ID4gZXRHdWlkfDB4MHwwDQo+ID4NCj4g Pg0KPiA+IGdSYXNwYmVycnlQaVRva2VuU3BhY2VHdWlkLlBjZEZhblRlbXB8TCJGYW5UZW1wInxn Q29uZmlnRHhlRm9ybVNldEd1DQo+ID4gaWR8MHgwfDYwDQo+ID4NCj4gPg0KPiA+DQo+ID4gKyAg Iw0KPiA+DQo+ID4gKyAgIyBCb290IFBvbGljeQ0KPiA+DQo+ID4gKyAgIyAwICAtIEZhc3QgQm9v dA0KPiA+DQo+ID4gKyAgIyAxICAtIEZ1bGwgRGlzY292cmV5IChDb25uZWN0IEFsbCkNCj4NCj4g IkRpc2NvdnJleSIgLT4gIkRpc2NvdmVyeSINCj4NCj4gUmVnYXJkcywNCj4NCj4gL1BldGUNCj4N Cj4gPg0KPiA+ICsgICMNCj4gPg0KPiA+ICsNCj4gPiArIGdSYXNwYmVycnlQaVRva2VuU3BhY2VH dWlkLlBjZEJvb3RQb2xpY3l8TCJCb290UG9saWN5InxnQ29uZmlnRHhlRg0KPiA+ICsgb3JtU2V0 R3VpZHwweDB8MQ0KPiA+DQo+ID4gKw0KPiA+DQo+ID4gICAgICMNCj4gPg0KPiA+ICAgICAjIFJl c2V0LXJlbGF0ZWQuDQo+ID4NCj4gPiAgICAgIw0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL1BsYXRm b3JtL1Jhc3BiZXJyeVBpL1Jhc3BiZXJyeVBpLmRlYw0KPiA+IGIvUGxhdGZvcm0vUmFzcGJlcnJ5 UGkvUmFzcGJlcnJ5UGkuZGVjDQo+ID4gaW5kZXggMDgxMzU3MTdlZC4uOGViMWMyYmFjNyAxMDA2 NDQNCj4gPiAtLS0gYS9QbGF0Zm9ybS9SYXNwYmVycnlQaS9SYXNwYmVycnlQaS5kZWMNCj4gPiAr KysgYi9QbGF0Zm9ybS9SYXNwYmVycnlQaS9SYXNwYmVycnlQaS5kZWMNCj4gPiBAQCAtMiw2ICsy LDcgQEANCj4gPiAgICMNCj4gPg0KPiA+ICAgIyAgQ29weXJpZ2h0IChjKSAyMDE2LCBMaW5hcm8s IEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gPg0KPiA+ICAgIyAgQ29weXJpZ2h0IChjKSAy MDE3LTIwMTgsIEFuZHJlaSBXYXJrZW50aW4NCj4gPiA8YW5kcmV5LndhcmtlbnRpbkBnbWFpbC5j b20+DQo+ID4NCj4gPiArIyAgQ29weXJpZ2h0IChjKSAyMDIxLCBBUk0gTGltaXRlZC4gQWxsIHJp Z2h0cyByZXNlcnZlZC4NCj4gPg0KPiA+ICAgIw0KPiA+DQo+ID4gICAjICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiA+DQo+ID4gICAjDQo+ID4NCj4gPiBA QCAtNzAsMyArNzEsNCBAQA0KPiA+ICAgICBnUmFzcGJlcnJ5UGlUb2tlblNwYWNlR3VpZC5QY2RG YW5UZW1wfDB8VUlOVDMyfDB4MDAwMDAwMUQNCj4gPg0KPiA+DQo+ID4gZ1Jhc3BiZXJyeVBpVG9r ZW5TcGFjZUd1aWQuUGNkUGxhdGZvcm1SZXNldERlbGF5fDB8VUlOVDMyfDB4MDAwMDAwMUUNCj4g Pg0KPiA+ICAgICBnUmFzcGJlcnJ5UGlUb2tlblNwYWNlR3VpZC5QY2RNbWNFbmFibGVEbWF8MHxV SU5UMzJ8MHgwMDAwMDAxRg0KPiA+DQo+ID4gKyAgZ1Jhc3BiZXJyeVBpVG9rZW5TcGFjZUd1aWQu UGNkQm9vdFBvbGljeXwwfFVJTlQzMnwweDAwMDAwMDIwDQo+ID4NCj4NCklNUE9SVEFOVCBOT1RJ Q0U6IFRoZSBjb250ZW50cyBvZiB0aGlzIGVtYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgYXJlIGNv bmZpZGVudGlhbCBhbmQgbWF5IGFsc28gYmUgcHJpdmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhl IGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGltbWVkaWF0ZWx5 IGFuZCBkbyBub3QgZGlzY2xvc2UgdGhlIGNvbnRlbnRzIHRvIGFueSBvdGhlciBwZXJzb24sIHVz ZSBpdCBmb3IgYW55IHB1cnBvc2UsIG9yIHN0b3JlIG9yIGNvcHkgdGhlIGluZm9ybWF0aW9uIGlu IGFueSBtZWRpdW0uIFRoYW5rIHlvdS4NCg==