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 C29AFA0A02; Sat, 8 May 2021 05:13:27 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 96F3840140; Sat, 8 May 2021 05:13:27 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2073.outbound.protection.outlook.com [40.107.21.73]) by mails.dpdk.org (Postfix) with ESMTP id 010584013F; Sat, 8 May 2021 05:13:26 +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=FRYZ8qX+oj6FkgjyR3GnCBKxhTFPf/gv0SnWfR5wQtI=; b=P2sJg2H/spxN0w3N8Oqxxkv04ZA5/fxJyt4ppayqDWr2K8HA+8PVgD8mGkmQ0Qh1t1O7HCKK4xiyZW5uW+Owcyyuk/Toc5Czb6ixdPjLZVL/vlLp7TcLwrD+8Tpb6jRCIECtzGHKiRz9u6WRQw5no5GV7DTB8Z74sfYTQm85UH4= Received: from DB9PR06CA0025.eurprd06.prod.outlook.com (2603:10a6:10:1db::30) by VI1PR08MB4142.eurprd08.prod.outlook.com (2603:10a6:803:e0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Sat, 8 May 2021 03:13:17 +0000 Received: from DB5EUR03FT050.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:1db:cafe::88) by DB9PR06CA0025.outlook.office365.com (2603:10a6:10:1db::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Sat, 8 May 2021 03:13:16 +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 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.4108.25 via Frontend Transport; Sat, 8 May 2021 03:13:16 +0000 Received: ("Tessian outbound 13cdc29c30b8:v91"); Sat, 08 May 2021 03:13:16 +0000 X-CR-MTA-TID: 64aa7808 Received: from 306ff7c5ae0b.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 32EA6859-F8F5-42D9-89DD-D678EFB07726.1; Sat, 08 May 2021 03:13:10 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 306ff7c5ae0b.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Sat, 08 May 2021 03:13:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NsKtIv++Cm80AE5KLnNi8js8cwamGkKXb510dCcgnbaRWoIkU9SIQcVLDbjygtTXEtl/kYDR86qUdb8+cYd4dwUy4ekIAa1jetxAO4kaFHcvmBFIvj/4HII9Z3s/XV/zvirKe9am2Arl2j+++Xm87vhogmQ8cknyE2CYpS4Jtqzjz8oChqA4+/girlGEQvXoytvN0TC2Cj491Rj7rj67tmvUD4ebIp/gl1Ctmy29KKilhckZ6hxuRzFKBCb6mLSep8PS3U+KHZzw2tBvhHdhVWNI+VSNN5wYuqV9r4UejAEKZRYqo3Pg18oOTakoBk+U8Tl8vVJupiTujg6J02LYFQ== 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=FRYZ8qX+oj6FkgjyR3GnCBKxhTFPf/gv0SnWfR5wQtI=; b=JFq1iGXJLSutTJmxQbl8vup/MvaRpN4piTWR/zRb5Ih1Qi0oeH4oS1PJ/CsL1uvX6cwSZmK7DcwqR+3AxDUC3K40Qp20og4H1X8S+2KO4eHgzHB5eXJfdMm0P0wT7O9r4MwLDCn4Te62APof9CaysaS0d0zsLnt/fVEaYG3NU3DxvdlUy7ywG4WYTfVf255GoT53M6VL/WjJAtl+oOZcHNV47M3XXPk+GePPI06+sIlnPIb8HbsUaf8urlnMh76kLxPtlIMD+Nu3ByAoFy7chPu3UxdwTVFGoLmCOvg5o6UfixWY6E0fhqMU9eVhTjTU5ZCi3LdSaIJt0PHpYBFwig== 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=FRYZ8qX+oj6FkgjyR3GnCBKxhTFPf/gv0SnWfR5wQtI=; b=P2sJg2H/spxN0w3N8Oqxxkv04ZA5/fxJyt4ppayqDWr2K8HA+8PVgD8mGkmQ0Qh1t1O7HCKK4xiyZW5uW+Owcyyuk/Toc5Czb6ixdPjLZVL/vlLp7TcLwrD+8Tpb6jRCIECtzGHKiRz9u6WRQw5no5GV7DTB8Z74sfYTQm85UH4= Received: from DB9PR08MB6923.eurprd08.prod.outlook.com (2603:10a6:10:2ac::6) by DB7PR08MB3497.eurprd08.prod.outlook.com (2603:10a6:10:48::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.28; Sat, 8 May 2021 03:13:07 +0000 Received: from DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::25e2:6eb9:f211:fa18]) by DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::25e2:6eb9:f211:fa18%7]) with mapi id 15.20.4108.030; Sat, 8 May 2021 03:13:07 +0000 From: Feifei Wang To: Slava Ovsiienko , Matan Azrad , Shahaf Shuler CC: "dev@dpdk.org" , nd , "stable@dpdk.org" , Ruifeng Wang , nd , nd Thread-Topic: [PATCH v1 3/4] net/mlx5: fix rebuild bug for Memory Region cache Thread-Index: AQHXG8b7HnA5AJfI/UGBdB2hbGP3xaqws80AgAEoGSCACoZUgIAAtmJQgAAa2oCAAAmfAIAAAbAggBi7LuCAAKKLgIAA7scAgACQyQCAAQeAMA== Date: Sat, 8 May 2021 03:13:07 +0000 Message-ID: References: <20210318071840.359957-1-feifei.wang2@arm.com> <20210318071840.359957-4-feifei.wang2@arm.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 442DBEC0D7C34E408D997F5566DCD8EB.0 x-checkrecipientchecked: true Authentication-Results-Original: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [203.126.0.112] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 0a23f045-6770-4ef6-a7bd-08d911cf3965 x-ms-traffictypediagnostic: DB7PR08MB3497:|VI1PR08MB4142: 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: c4iY2CSX0nIGOOB7fyDJZH1hxoxpdM4nUjmzxjcDajQ8XuUIgnQWxSt6/VseDVKXUQJsXItAyyz2W4eUlQ7ks8djOeI6HpDWeOORWztrWINGHA9qgYW8WNVFotpZRfYDiJqUh9vi2c5Vcs3U7HXcrNfkR63rZYtGkhj2bRJ3chALKnlLuyUl6Dpa1u19WnfWBH3d4Uzo3SLeT8triRoCJHNF4wqFg5IENgRylYdtIZB3ODCZp6I7Sziv0O0bc4T/iUyTdeOjmFS0U9g0/4OWYOg91jYUwJKttqbjoMx+pghymmR0fqiav2Noo9s8ccqc3TZ9zOJvE5YpBk93et/gmOq1ggn9EYdKc1uAZgFocfnqci6O2S3HyBfG+eRaYaZSuJUs9ryITbHwSbyhLqzUXnUtdzulB/dYls9mkjtQZHbQEfcLvcCsXwA7XZ91iIZz+7224QpBGkV4pEH8g+zzpxm1+3G7D3B5eYQb+7uuVUEdDtG6MdKf21RIyq2RJSNF4OKKtIrCLqQCyiPpDCwo0K9gvKlUijn/nMIWq53BQd+DHKezmZuAi1TiVGLMyJl8Bn9hi9Y+/OKsaPC5CFPzwXCW08Q+oj1uQGZyBUTWMpM= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB6923.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39850400004)(396003)(136003)(366004)(346002)(86362001)(122000001)(83380400001)(71200400001)(26005)(478600001)(316002)(186003)(52536014)(6506007)(2906002)(224303003)(66476007)(76116006)(66556008)(54906003)(53546011)(55016002)(4326008)(7696005)(9686003)(30864003)(8936002)(110136005)(66946007)(38100700002)(5660300002)(64756008)(66446008)(33656002)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?eVFoTVUxM1NmbW1FdTV2WWFwd2NTSzVJTjNoVjM0SVc1aVY2NUQ1TW1BT1lL?= =?utf-8?B?WnF5QlZvWTZhUFEyeUd0QXB2eGd0Nk14YXRidjU3Mk80dDc0SUpKZWtwbzZO?= =?utf-8?B?eVVROW53TzVDK0ZGYmIrczl2cG5lT1pLcjZ2Mk9FNDhYOXAzMkw0WnplTnVQ?= =?utf-8?B?NVRkTCtxbEFVWTZVd1lqTDI1M0JaWGJNdlRCd3lQYUdaNGRMS0JHTWFoRXBa?= =?utf-8?B?NjVkOWdFd2pRcUhTc1pwTHF1MVdJY0hsUnJ3ODU5M2JSeFpIWDA1QTRSOGYw?= =?utf-8?B?My9UM1NsbXJzcGpUY01tWWhpTzR3QUpqMUtTRFVBVjdwcTBTRmpHNk1HdTJO?= =?utf-8?B?cmcvV01xc2VFTVlLV3lEamRKTHZ2WFd5d1E5S05WREF2ZlozTmoyb2NmWi82?= =?utf-8?B?d0FsVk1pY08xQnBPVGwyRUkxbVNGenMxcTZwRktkK0tpUWcrQzdlck5KTG1o?= =?utf-8?B?YTdSbmpYUzh4TnZ3QnEyejc5L3JzM0huWDZMTktKQ2VVMlhNRGRLZVZBT29Y?= =?utf-8?B?V3g1bjR1RG5WMnRCc3ozL0kwaGtucWI4VHl2QlNmRDBRZUsyc1Y0MlZUUmUz?= =?utf-8?B?TUduYWdYcGlRQml6bUdYMVNKbHQ2d3VOU21NT3pqb0JZaE1JQnFxTERZOE0r?= =?utf-8?B?TThGSldYZVNTYWNCMWFZMnlsSmRFWDJRSGVHdE05T2xSTU1OTis3dzR3b212?= =?utf-8?B?ZENLbzB0bllDSEF1TytDMXduVUUzZGswa2JBL3cyZjNiYjhqZWs0aTJjSGdW?= =?utf-8?B?VFYydllMMU1RczdrNVMrMUZaWXdpNHlRMVg2UDhxb0VBSVFHTkxhVHlTYndq?= =?utf-8?B?OUs0Y0JaelM0TSswWkdDT3gvVVRtRm1ram5welplYUtva1BsK25FYnpNanMw?= =?utf-8?B?bEV1akFRZmlrR3VpajFES2ZnZHZsdEpzWmZkbnhEbm83YXFyYllOdlZFWlIx?= =?utf-8?B?Mk5RdU5aUEUweXZrSXl1U3ZrTFMxbWVSb3dSU2dOdG5nN1ZGOGthUmRhZWg2?= =?utf-8?B?ZGdTRUZCb2p3MlRxU3NmUHdLditqVVdJeTVJRTR3N1VOS3ZDblRKelBmYlJR?= =?utf-8?B?ZnpWbHY3L1lFZEwvZXE5RlA3MHJGT1M2ZzBZdkxmU0VYZFIza0dEb0lWQUxD?= =?utf-8?B?MVlLM0I0bWZkaDBReVVFZXZzU0tEd1M4Yy92Nzc3eTFkVENuSDNBT3ZtZEM0?= =?utf-8?B?ek8wYVYrU1ZTejFwb2pJVlRwN3JqSVpZRWQwajlmbjZESi9xTVRqN3dYK1Ro?= =?utf-8?B?cEluQlBadzRhUFBWNlpoR3JJQm1RNUxtbnpNUzNGeU96andyOWtIOUhhWm9T?= =?utf-8?B?MUtDS241NEw5SHVEYTRwL2JzZTZHRCtuVmp2clpQMGF1aWxsZEQxSkF5bVVH?= =?utf-8?B?SzAvNm1Mekk3S3ZLdjl1cnRqK0R1RzR5M2FwVi9OQW1nUmYvMGlhL1B1K0tl?= =?utf-8?B?TmFhRmhtZlhaWnZrSHo5SHVROWJ5K2tQNkoyaGNmeVcvUjkwRXVtdXpTWHJa?= =?utf-8?B?d2NueW1WRENJVXN2Um1EYUNCUDgwcDc3VDYyZ2NvcTBmU1VNb0wwck5nUWZu?= =?utf-8?B?WUZKMVZqU2RrQXBlcXBNOG1jT0doUzhjZWlZeU1tUzhZaitzbDRzeXYzMlFm?= =?utf-8?B?VVQ3eFc2Q0lHb0Z5ZnJhR2FEZVMyK2duUzNLbi9SSkVBOWV2L1krdW5WVFh2?= =?utf-8?B?bnBUa0xlYThFM3JPdDBtUDM1d1U1bzJRNzBkRkJUMkJkNEZ1T3FZNWhtV0s0?= =?utf-8?Q?f+NN0wySeDZ2wb91XJ7gv3PYckc1SmA/MHgjQmL?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3497 Original-Authentication-Results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 54beaaf4-9833-4e7c-1af2-08d911cf33f2 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2mvw/dINB0MVFF4RKtUVmbeIWmEoDltt94bdgZBPAiyOs/mkCc7Wtu54EnrmRB2JxXjatAr9tWcDGaMQZKUUj2o7zyRP4HYMhKCnJocwz5rbNJ8RnOJ7Yk+VbE8M6Uw+s6sTsx+BwthEjd/Qp+HF0ugYuMaoi30ypnvuPGET+Cz+K153OsQhvq0Zgo+rjViUDFNuHjuo0Ni1baLs041pHfyMijURNoYVgXFbk62QR2lGcSlSOD08/E3SAH8ckxZCk3nVrYSzXVX4BI8QzEcT1yVnZkRg7z0QWS+1L4+5Id5p2aVm3o77YUAMH8cTjyF4RSMa7XuXuNJ8NdHuIWdPuBok/bPVnZD/j+g2DEzvxsuwTnC6qAFGPdEfDPPFZh7LNw45hRXCyfvhYz06Gmg1hsnZ34JgVjzEI4/t2YQfhtk/WEoxQHDTidR7zBKAvTDKhT85YZHS8O4R4G6c439+5g3zX6Mvt+lS849q1wwB29akf1TtSTSpWyKO0FPYvn5hL7dP7pgS8JOxgzNfdzOX+Dhr7XEXLelfsDq5FO9UdXFKGRda6gViIHIruNgiDkFAfthO2gWQEUUsvmzoO2Bn2Qs2BLKdBLKS8qLx/NEO/do4FJChz+wwYMT2aUNDcYWUxuOT8P9Psxxv+eL92x2QtPV0pO2Et7n7AfhegR1P8q4= 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)(396003)(39850400004)(46966006)(36840700001)(83380400001)(186003)(336012)(47076005)(356005)(55016002)(8936002)(53546011)(82740400003)(4326008)(82310400003)(6506007)(9686003)(5660300002)(81166007)(26005)(450100002)(30864003)(7696005)(316002)(478600001)(110136005)(70206006)(224303003)(70586007)(86362001)(2906002)(52536014)(33656002)(54906003)(36860700001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 May 2021 03:13:16.8391 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0a23f045-6770-4ef6-a7bd-08d911cf3965 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: VI1PR08MB4142 Subject: [dpdk-dev] =?utf-8?b?5Zue5aSNOiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4?= =?utf-8?q?5=3A_fix_rebuild_bug_for_Memory_Region_cache?= 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" SGksIFNsYXZhDQoNClRoYW5rcyBmb3IgeW91ciBleHBsYW5hdGlvbi4NCg0KVGh1cyB3ZSBjYW4g aWdub3JlIHRoZSBvcmRlciBiZXR3ZWVuIHVwZGF0ZSBnbG9iYWwgY2FjaGUgYW5kDQp1cGRhdGUg ZGV2X2dlbiBkdWUgdG8gUi9XIGxvY2suIA0KDQpGdXJ0aGVybW9yZSwgaXQgaXMgdW5uZWNlc3Nh cnkgdG8ga2VlcCB3bWIsIGFuZCB0aGUgbGFzdCB3bWIgKDFkKQ0KSSB0aGluayBjYW4gYmUgcmVt b3ZlZC4gDQpUd28gcmVhc29ucyBmb3IgdGhpczoNCjEuIHdtYiBoYXMgb25seSBvbmUgZnVuY3Rp b24sIHRoaXMgaXMgZm9yIHRoZSBsb2NhbCB0aHJlYWQgdG8ga2VlcA0KdGhlIHdyaXRlLXdyaXRl IG9yZGVyLiBJdCBjYW5ub3QgZW5zdXJlIHdyaXRlIG9wZXJhdGlvbiBhYm92ZSBpdCBjYW4gYmUN CnNlZW4gYnkgb3RoZXIgdGhyZWFkcy4NCg0KMi4gcnd1bmxvY2sgKDFlKSBoYXMgYSBhdG9taWNf cmVsZWFzZSBvcGVyYXRpb24gaW4gaXQsIEkgdGhpbmsgdGhpcyByZWxlYXNlDQpvcGVyYXRpb24g IGlzICBzYW1lIGFzIHRoZSBsYXN0IHdtYiA6IGtlZXAgb3JkZXIuDQoNCkJlc3QgUmVnYXJkcw0K RmVpZmVpDQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IFNsYXZhIE92 c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT4NCj4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0 NeaciDfml6UgMTg6MTUNCj4g5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8RmVpZmVpLldhbmcyQGFy bS5jb20+OyBNYXRhbiBBenJhZA0KPiA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBTaHVsZXIg PHNoYWhhZnNAbnZpZGlhLmNvbT4NCj4g5oqE6YCBOiBkZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0u Y29tPjsgc3RhYmxlQGRwZGsub3JnOyBSdWlmZW5nIFdhbmcNCj4gPFJ1aWZlbmcuV2FuZ0Bhcm0u Y29tPjsgbmQgPG5kQGFybS5jb20+DQo+IOS4u+mimDogUkU6IFtQQVRDSCB2MSAzLzRdIG5ldC9t bHg1OiBmaXggcmVidWlsZCBidWcgZm9yIE1lbW9yeSBSZWdpb24gY2FjaGUNCj4gDQo+IEhpLCBG ZWlmZWkNCj4gDQo+IFdlIHNob3VsZCBjb25zaWRlciB0aGUgbG9ja3MgaW4geW91ciBzY2VuYXJp byAtIGl0IGlzIGNydWNpYWwgZm9yIHRoZSBjb21wbGV0ZQ0KPiBtb2RlbCBkZXNjcmlwdGlvbjoN Cj4gDQo+IEhvdyBhZ2VudF8xIChpbiB5b3VyIHRlcm1zKSByZWJ1aWxkcyBnbG9iYWwgY2FjaGU6 DQo+IA0KPiAxYSkgbG9jaygpDQo+IDFiKSByZWJ1aWxkKGdsb2JhbCBjYWNoZSkNCj4gMWMpIHVw ZGF0ZShkZXZfZ2VuKQ0KPiAxZCkgd21iKCkNCj4gMWUpIHVubG9jaygpDQo+IA0KPiBIb3cgYWdl bnRfMiBjaGVja3M6DQo+IA0KPiAyYSkgY2hlY2soZGV2X2dlbikgKGFzc3VtZSBwb3NpdGl2ZSAt IGNoYW5nZWQpDQo+IDJiKSBjbGVhcihsb2NhbF9jYWNoZSkNCj4gMmMpIG1pc3Mob24gZW1wdHkg bG9jYWxfY2FjaGUpIC0gPiBldmVudHVhbGx5IGl0IGdvZXMgdG8gbXJfbG9va3VwX2NhY2hlcygp DQo+IDJkKSBsb2NrKCkNCj4gMmUpIGdldChuZXcgTVIpDQo+IDJmKSB1bmxvY2soKQ0KPiAyZykg dXBkYXRlKGxvY2FsIGNhY2hlIHdpdGggb2J0YWluZWQgbmV3IE1SKQ0KPiANCj4gSGVuY2UsIGV2 ZW4gaWYgMWMpIGJlY29tZXMgdmlzaWJsZSBpbiAyYSkgYmVmb3JlIDFiKSBjb21taXR0ZWQgKHNh eSwgZHVlIHRvDQo+IG91dC1vZi1vcmRlciBBcmNoKSAtIHRoZSBhZ2VudCAyIHdvdWxkIGJlIGJs b2NrZWQgb24gMmQpIGFuZCBzY2VuYXJpbw0KPiBkZXBpY3RlZCBvbiB5b3VyIEZpZzIgd291bGQg bm90IGhhcHBlbiAoYWdlbnRfMiB3aWxsIHdhaXQgYmVmb3JlIHN0ZXAgMyB0aWxsDQo+IGFnZW50 IDEgdW5sb2NrcyBhZnRlciBpdHMgc3RlcCA1KS4NCj4gDQo+IFdpdGggYmVzdCByZWdhcmRzLA0K PiBTbGF2YQ0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEZl aWZlaSBXYW5nIDxGZWlmZWkuV2FuZzJAYXJtLmNvbT4NCj4gPiBTZW50OiBGcmlkYXksIE1heSA3 LCAyMDIxIDk6MzY+IFRvOiBTbGF2YSBPdnNpaWVua28NCj4gPiA8dmlhY2hlc2xhdm9AbnZpZGlh LmNvbT47IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlkaWEuY29tPjsgU2hhaGFmDQo+ID4gU2h1bGVy IDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gQ2M6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5j b20+OyBzdGFibGVAZHBkay5vcmc7IFJ1aWZlbmcgV2FuZw0KPiA+IDxSdWlmZW5nLldhbmdAYXJt LmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiA+IFN1YmplY3Q6IOWbnuWkjTogW1BBVENIIHYxIDMv NF0gbmV0L21seDU6IGZpeCByZWJ1aWxkIGJ1ZyBmb3IgTWVtb3J5DQo+ID4gUmVnaW9uIGNhY2hl DQo+ID4NCj4gPiBIaSwgU2xhdmENCj4gPg0KPiA+IFRoYW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIg cmVwbHkuDQo+ID4NCj4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+IOWPkeS7tuS6 ujogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPg0KPiA+ID4g5Y+R6YCB 5pe26Ze0OiAyMDIx5bm0NeaciDbml6UgMTk6MjINCj4gPiA+IOaUtuS7tuS6ujogRmVpZmVpIFdh bmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPjsgTWF0YW4gQXpyYWQNCj4gPiA+IDxtYXRhbkBudmlk aWEuY29tPjsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BudmlkaWEuY29tPg0KPiA+ID4g5oqE6YCB OiBkZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnOyBSdWlmZW5n DQo+IFdhbmcNCj4gPiA+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0K PiA+ID4g5Li76aKYOiBSRTogW1BBVENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCByZWJ1aWxkIGJ1 ZyBmb3IgTWVtb3J5IFJlZ2lvbg0KPiA+ID4gY2FjaGUNCj4gPiA+DQo+ID4gPiBIaSwgRmVpZmVp DQo+ID4gPg0KPiA+ID4gU29ycnksIEkgZG8gbm90IGZvbGxvdyB3aHkgd2Ugc2hvdWxkIGdldCBy aWQgb2YgdGhlIGxhc3QgKGFmdGVyDQo+ID4gPiBkZXZfZ2VuIHVwZGF0ZSkgd21iLg0KPiA+ID4g V2UndmUgcmVidWlsdCB0aGUgZ2xvYmFsIGNhY2hlLCB3ZSBzaG91bGQgbm90aWZ5IG90aGVyIGFn ZW50cyBpdCdzDQo+ID4gPiBoYXBwZW5lZCBhbmQgdGhleSBzaG91bGQgZmx1c2ggbG9jYWwgY2Fj aGVzLiBTbywgZGV2X2dlbiBjaGFuZ2UNCj4gPiA+IHNob3VsZCBiZSBtYWRlIHZpc2libGUgdG8g b3RoZXIgYWdlbnRzIHRvIHRyaWdnZXIgdGhpcyBhY3Rpdml0eSBhbmQNCj4gPiA+IHRoZSBzZWNv bmQgd21iIGlzIGhlcmUgdG8gZW5zdXJlIHRoaXMuDQo+ID4NCj4gPiAxLiBGb3IgdGhlIGZpcnN0 IHByb2JsZW0gd2h5IHdlIHNob3VsZCBnZXQgcmlkIG9mIHRoZSBsYXN0IHdtYiBhbmQNCj4gPiBt b3ZlIGl0IGJlZm9yZSBkZXZfZ2VuIHVwZGF0ZWQsIEkgdGhpbmsgb3VyIGF0dGVudGlvbiBpcyBo b3cgdGhlIHdtYg0KPiA+IGltcGxlbWVudHMgdGhlIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIG11 bHRpcGxlIGFnZW50cy4NCj4gPiAJCQkJCUZpZzENCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gLS0tLS0tLQ0KPiA+IFRpbWVzbG90ICAgICAgICAJ CWFnZW50XzEgICAgICAgICAgICAgICAJCSAgIGFnZW50XzINCj4gPiAxICAgICAgICAgIAkJcmVi dWlsZCBnbG9iYWwgY2FjaGUNCj4gPiAyICAgICAgICAgICAgICAgICAgICAgICAJCXdtYg0KPiA+ IDMgICAgICAgICAgICAJCSAgICAgdXBkYXRlIGRldl9nZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0gbG9hZCBjaGFuZ2VkDQo+ID4gZGV2X2dlbg0KPiA+IDQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCQkJICAgICAgICAJICAgICAgICAgICByZWJ1aWxkIGxvY2FsIGNhY2hlDQo+ ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0tLS0t LS0NCj4gPg0KPiA+IEZpcnN0LCB3bWIgaXMgb25seSBmb3IgbG9jYWwgdGhyZWFkIHRvIGtlZXAg dGhlIG9yZGVyIGJldHdlZW4gbG9jYWwNCj4gPiB3cml0ZS0gd3JpdGUgOg0KPiA+IEJhc2VkIG9u IHRoZSBwaWN0dXJlIGFib3ZlLCBmb3IgYWdlbnRfMSwgd21iIGtlZXBzIHRoZSBvcmRlciB0aGF0 DQo+ID4gcmVidWlsZGluZyBnbG9iYWwgY2FjaGUgaXMgYWx3YXlzIGJlZm9yZSB1cGRhdGluZyBk ZXZfZ2VuLg0KPiA+DQo+ID4gU2Vjb25kLCBhZ2VudF8xIGNvbW11bmljYXRlcyB3aXRoIGFnZW50 XzIgYnkgdGhlIGdsb2JhbCB2YXJpYWJsZQ0KPiA+ICJkZXZfZ2VuIiA6DQo+ID4gSWYgYWdlbnRf MSB1cGRhdGVzIGRldl9nZW4sIGFnZW50XzIgd2lsbCBsb2FkIGl0IGFuZCB0aGVuIGl0IGtub3dz IGl0DQo+ID4gc2hvdWxkIHJlYnVpbGQgbG9jYWwgY2FjaGUNCj4gPg0KPiA+IEZpbmFsbHksIGFn ZW50XzIgcmVidWlsZHMgbG9jYWwgY2FjaGUgYWNjb3JkaW5nIHRvIHdoZXRoZXIgYWdlbnRfMSBo YXMNCj4gPiByZWJ1aWx0IGdsb2JhbCBjYWNoZSwgYW5kIGFnZW50XzIga25vd3MgdGhpcyBpbmZv cm1hdGlvbiBieSB0aGUgdmFyaWFibGUNCj4gImRldl9nZW4iLg0KPiA+IAkJCQkJRmlnMg0KPiA+ IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAtLS0tLS0t DQo+ID4gVGltZXNsb3QgICAgICAgIAkJYWdlbnRfMSAgICAgICAgICAgICAgIAkJICAgYWdlbnRf Mg0KPiA+IDEJCSAgICAgICAgdXBkYXRlIGRldl9nZW4NCj4gPiAyCQkJCQkJICAgICAgbG9hZCBj aGFuZ2VkIGRldl9nZW4NCj4gPiAzCQkJCQkJICAgICAgICAgIHJlYnVpbGQgbG9jYWwgY2FjaGUN Cj4gPiA0ICAgICAgICAJCSAgICByZWJ1aWxkIGdsb2JhbCBjYWNoZQ0KPiA+IDUJCQkgd21iDQo+ ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IC0tLS0t LS0NCj4gPg0KPiA+IEhvd2V2ZXIsIGluIGFybSBwbGF0Zm9ybSwgaWYgd21iIGlzIGFmdGVyIGRl dl9nZW4gdXBkYXRlZCwgImRldl9nZW4iDQo+ID4gbWF5IGJlIHVwZGF0ZWQgYmVmb3JlIGFnZW50 XzEgcmVidWlsZGluZyBnbG9iYWwgY2FjaGUsIHRoZW4gYWdlbnRfMg0KPiA+IG1heWJlIHJlY2Vp dmUgZXJyb3IgbWVzc2FnZSBhbmQgcmVidWlsZCBpdHMgbG9jYWwgY2FjaGUgaW4gYWR2YW5jZS4N Cj4gPg0KPiA+IFRvIHN1bW1hcml6ZSwgaXQgaXMgbm90IGltcG9ydGFudCB3aGljaCB0aW1lIG90 aGVyIGFnZW50cyBjYW4gc2VlIHRoZQ0KPiA+IGNoYW5nZWQgZ2xvYmFsIHZhcmlhYmxlICJkZXZf Z2VuIi4NCj4gPiAoQWN0dWFsbHksIHdtYiBhZnRlciAiZGV2X2dlbiIgY2Fubm90IGVuc3VyZSBj aGFuZ2VkICJkZXZfZ2VuIiBpcw0KPiA+IGNvbW1pdHRlZCB0byB0aGUgZ2xvYmFsKS4NCj4gPiBJ dCBpcyBtb3JlIGltcG9ydGFudCB0aGF0IGlmIG90aGVyIGFnZW50cyBzZWUgdGhlIGNoYW5nZWQg ImRldl9nZW4iLA0KPiA+IHRoZXkgYWxzbyBjYW4ga25vdyBnbG9iYWwgY2FjaGUgaGFzIGJlZW4g dXBkYXRlZC4NCj4gPg0KPiA+ID4gT25lIG1vcmUgcG9pbnQsIGR1ZSB0byByZWdpc3RlcmluZyBu ZXcvZGVzdHJveWluZyBleGlzdGluZyBNUg0KPiA+ID4gaW52b2x2ZXMgRlcgKHZpYSBrZXJuZWwp IGNhbGxzLCBpdCB0YWtlcyBzbyBtYW55IENQVSBjeWNsZXMgdGhhdCB3ZQ0KPiA+ID4gY291bGQg bmVnbGVjdCB3bWIgb3ZlcmhlYWQgYXQgYWxsLg0KPiA+DQo+ID4gV2UganVzdCBtb3ZlIHRoZSBs YXN0IHdtYiBpbnRvIHRoZSByaWdodCBwbGFjZSwgYW5kIG5vdCBkZWxldGUgaXQgZm9yDQo+ID4g cGVyZm9ybWFuY2UuDQo+ID4NCj4gPiA+DQo+ID4gPiBBbHNvLCByZWdhcmRpbmcgdGhpczoNCj4g PiA+DQo+ID4gPiAgPiA+IEFub3RoZXIgcXVlc3Rpb24gc3VkZGVubHkgb2NjdXJyZWQgdG8gbWUs IGluIG9yZGVyIHRvIGtlZXAgdGhlDQo+ID4gPiA+DQo+ID4gPiA+IG9yZGVyIHRoYXQgcmVidWls ZGluZyBnbG9iYWwgY2FjaGUgYmVmb3JlIHVwZGF0aW5nIOKAnWRldl9nZW7igJwsIHRoZQ0KPiA+ ID4gPiA+IHdtYiBzaG91bGQgYmUgYmVmb3JlIHVwZGF0aW5nICJkZXZfZ2VuIiByYXRoZXIgdGhh biBhZnRlciBpdC4NCj4gPiA+ICA+ID4gT3RoZXJ3aXNlLCBpbiB0aGUgb3V0LW9mLW9yZGVyIHBs YXRmb3JtcywgY3VycmVudCBvcmRlciBjYW5ub3QNCj4gPiA+IGJlDQo+ID4ga2VwdC4NCj4gPiA+ DQo+ID4gPiBpdCBpcyBub3QgY2xlYXIgd2h5IG9yZGVyaW5nIGlzIGltcG9ydGFudCAtIGdsb2Jh bCBjYWNoZSB1cGRhdGUgYW5kDQo+ID4gPiBkZXZfZ2VuIGNoYW5nZSBoYXBwZW4gdW5kZXIgc3Bp bmxvY2sgcHJvdGVjdGlvbiwgc28gb25seSB0aGUgbGFzdA0KPiA+ID4gd21iIGlzIG1lYW5pbmdm dWwuDQo+ID4gPg0KPiA+DQo+ID4gMi4gVGhlIHNlY29uZCBmdW5jdGlvbiBvZiB3bWIgYmVmb3Jl ICJkZXZfZ2VuIiB1cGRhdGVkIGlzIGZvcg0KPiA+IHBlcmZvcm1hbmNlIGFjY29yZGluZyB0byBv dXIgcHJldmlvdXMgZGlzY3Vzc2lvbi4NCj4gPiBBY2NvcmRpbmcgdG8gRmlnMiwgaWYgdGhlcmUg aXMgbm8gd21iIGJldHdlZW4gImdsb2JhbCBjYWNoZSB1cGRhdGVkIg0KPiA+IGFuZCAiZGV2X2dl biB1cGRhdGVkIiwgImRldl9nZW4iIG1heSB1cGRhdGUgYmVmb3JlIGdsb2JhbCBjYWNoZQ0KPiB1 cGRhdGVkLg0KPiA+DQo+ID4gVGhlbiBhZ2VudF8yIG1heSBzZWUgdGhlIGNoYW5nZWQgImRldl9n ZW4iIGFuZCBmbHVzaCBlbnRpcmUgbG9jYWwNCj4gPiBjYWNoZSBpbiBhZHZhbmNlLg0KPiA+DQo+ ID4gVGhpcyBlbnRpcmUgZmx1c2ggY2FuIGRlZ3JhZGUgdGhlIHBlcmZvcm1hbmNlOg0KPiA+ICJ0 aGUgbG9jYWwgY2FjaGUgaXMgZ2V0dGluZyBlbXB0eSBhbmQgY2FuJ3QgcHJvdmlkZSB0cmFuc2xh dGlvbiBmb3INCj4gPiBvdGhlciB2YWxpZCAobm90IGJlaW5nIHJlbW92ZWQpIE1ScywgYW5kIHRo ZSB0cmFuc2xhdGlvbiBoYXMgdG8gbG9vaw0KPiA+IHVwIGluIHRoZSBnbG9iYWwgY2FjaGUsIHRo YXQgaXMgbG9ja2VkIG5vdyBmb3IgcmVidWlsZGluZywgdGhpcyBjYXVzZXMNCj4gPiB0aGUgZGVs YXlzIGluIGRhdGEgcGF0aCBvbiBhY3F1aXJpbmcgZ2xvYmFsIGNhY2hlIGxvY2suIg0KPiA+DQo+ ID4gRnVydGhlcm1vcmUsIHNwaW5sb2NrIGlzIGp1c3QgZm9yIGdsb2JhbCBjYWNoZSwgbm90IGZv ciBkZXZfZ2VuIGFuZA0KPiA+IGxvY2FsIGNhY2hlLg0KPiA+DQo+ID4gPiBUbyBzdW1tYXJpemUs IGluIG15IG9waW5pb246DQo+ID4gPiAtIGlmIHlvdSBzZWUgc29tZSBpc3N1ZSB3aXRoIG9yZGVy aW5nIG9mIGdsb2JhbCBjYWNoZSB1cGRhdGUvZGV2X2dlbg0KPiA+ID4gc2lnbmFsbGluZywNCj4g PiA+ICAgY291bGQgeW91LCBwbGVhc2UsIGVsYWJvcmF0ZT8gSSdtIG5vdCBzdXJlIHdlIHNob3Vs ZCBtYWludGFpbiBhbg0KPiA+ID4gb3JkZXIgKGR1ZSB0byBzcGlubG9jayBwcm90ZWN0aW9uKQ0K PiA+ID4gLSB0aGUgbGFzdCBydGVfc21wX3dtYigpIGFmdGVyIGRldl9nZW4gaW5jcmVtZW50aW5n IHNob3VsZCBiZSBrZXB0DQo+ID4gPiBpbnRhY3QNCj4gPiA+DQo+ID4NCj4gPiBBdCBsYXN0LCBm b3IgbXkgdmlldywgdGhlcmUgYXJlIHR3byBmdW5jdGlvbnMgdGhhdCBtb3Zpbmcgd21iIGJlZm9y ZQ0KPiA+ICJkZXZfZ2VuIg0KPiA+IGZvciB0aGUgd3JpdGUtd3JpdGUgb3JkZXI6DQo+ID4gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiBhKSByZWJ1aWxkIGdsb2JhbCBjYWNo ZTsNCj4gPiBiKSBydGVfc21wX3dtYigpOw0KPiA+IGMpIHVwZGF0aW5nIGRldl9nZW4NCj4gPiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IDEuIEFjaGlldmUgc3luY2hyb25p emF0aW9uIGJldHdlZW4gbXVsdGlwbGUgdGhyZWFkcyBpbiB0aGUgcmlnaHQgd2F5IDIuDQo+ID4g UHJldmVudCBvdGhlciBhZ2VudHMgZnJvbSBmbHVzaGluZyBsb2NhbCBjYWNoZSBlYXJseSB0byBl bnN1cmUNCj4gPiBwZXJmb3JtYW5jZQ0KPiA+DQo+ID4gQmVzdCBSZWdhcmRzDQo+ID4gRmVpZmVp DQo+ID4NCj4gPiA+IFdpdGggYmVzdCByZWdhcmRzLA0KPiA+ID4gU2xhdmENCj4gPiA+DQo+ID4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEZlaWZlaSBXYW5n IDxGZWlmZWkuV2FuZzJAYXJtLmNvbT4NCj4gPiA+ID4gU2VudDogVGh1cnNkYXksIE1heSA2LCAy MDIxIDU6NTINCj4gPiA+ID4gVG86IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZpZGlh LmNvbT47IE1hdGFuIEF6cmFkDQo+ID4gPiA+IDxtYXRhbkBudmlkaWEuY29tPjsgU2hhaGFmIFNo dWxlciA8c2hhaGFmc0BudmlkaWEuY29tPg0KPiA+ID4gPiBDYzogZGV2QGRwZGsub3JnOyBuZCA8 bmRAYXJtLmNvbT47IHN0YWJsZUBkcGRrLm9yZzsgUnVpZmVuZw0KPiBXYW5nDQo+ID4gPiA+IDxS dWlmZW5nLldhbmdAYXJtLmNvbT47IG5kIDxuZEBhcm0uY29tPg0KPiA+ID4gPiBTdWJqZWN0OiDl m57lpI06IFtQQVRDSCB2MSAzLzRdIG5ldC9tbHg1OiBmaXggcmVidWlsZCBidWcgZm9yIE1lbW9y eQ0KPiA+ID4gPiBSZWdpb24gY2FjaGUNCj4gPiA+ID4NCj4gPiA+ID4gSGksIFNsYXZhDQo+ID4g PiA+DQo+ID4gPiA+IFdvdWxkIHlvdSBoYXZlIG1vcmUgY29tbWVudHMgYWJvdXQgdGhpcyBwYXRj aD8NCj4gPiA+ID4gRm9yIG15IHNpZ2h0LCBvbmx5IG9uZSB3bWIgYmVmb3JlICJkZXZfZ2VuIiB1 cGRhdGluZyBpcyBlbm91Z2ggdG8NCj4gPiA+ID4gc3luY2hyb25pemUuDQo+ID4gPiA+DQo+ID4g PiA+IFRoYW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIgYXR0ZW50aW9uLg0KPiA+ID4gPg0KPiA+ID4g Pg0KPiA+ID4gPiBCZXN0IFJlZ2FyZHMNCj4gPiA+ID4gRmVpZmVpDQo+ID4gPiA+DQo+ID4gPiA+ ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ID4gPiA+IOWPkeS7tuS6ujogRmVpZmVpIFdh bmcNCj4gPiA+ID4gPiDlj5HpgIHml7bpl7Q6IDIwMjHlubQ05pyIMjDml6UgMTY6NDINCj4gPiA+ ID4gPiDmlLbku7bkuro6IFNsYXZhIE92c2lpZW5rbyA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47 IE1hdGFuIEF6cmFkDQo+ID4gPiA+ID4gPG1hdGFuQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVy IDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gPiA+ID4g5oqE6YCBOiBkZXZAZHBkay5vcmc7IG5k IDxuZEBhcm0uY29tPjsgc3RhYmxlQGRwZGsub3JnOyBSdWlmZW5nDQo+ID4gPiBXYW5nDQo+ID4g PiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+ID4gPiA+ID4g 5Li76aKYOiDlm57lpI06IFtQQVRDSCB2MSAzLzRdIG5ldC9tbHg1OiBmaXggcmVidWlsZCBidWcg Zm9yIE1lbW9yeQ0KPiA+IFJlZ2lvbg0KPiA+ID4gPiA+IGNhY2hlDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBIaSwgU2xhdmENCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEkgdGhpbmsgdGhlIHNlY29uZCB3 bWIgY2FuIGJlIHJlbW92ZWQuDQo+ID4gPiA+ID4gQXMgSSBrbm93LCB3bWIgaXMganVzdCBhIGJh cnJpZXIgdG8ga2VlcCB0aGUgb3JkZXIgYmV0d2VlbiB3cml0ZQ0KPiA+ID4gPiA+IGFuZA0KPiA+ ID4gd3JpdGUuDQo+ID4gPiA+ID4gYW5kIGl0IGNhbm5vdCB0ZWxsIHRoZSBDUFUgd2hlbiBpdCBz aG91bGQgY29tbWl0IHRoZSBjaGFuZ2VzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSXQgaXMgdXN1 YWxseSB1c2VkIGJlZm9yZSBndWFyZCB2YXJpYWJsZSB0byBrZWVwIHRoZSBvcmRlciB0aGF0DQo+ ID4gPiA+ID4gdXBkYXRpbmcgZ3VhcmQgdmFyaWFibGUgYWZ0ZXIgc29tZSBjaGFuZ2VzLCB3aGlj aCB5b3Ugd2FudCB0bw0KPiA+ID4gPiA+IHJlbGVhc2UsDQo+ID4gPiA+IGhhdmUgYmVlbiBkb25l Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gRm9yIGV4YW1wbGUsIGZvciB0aGUgd21iICBhZnRlciBn bG9iYWwgY2FjaGUgdXBkYXRlL2JlZm9yZQ0KPiA+ID4gPiA+IGFsdGVyaW5nIGRldl9nZW4sIGl0 IGNhbiBlbnN1cmUgdGhlIG9yZGVyIHRoYXQgdXBkYXRpbmcgZ2xvYmFsDQo+ID4gPiA+ID4gY2Fj aGUgYmVmb3JlIGFsdGVyaW5nDQo+ID4gPiA+ID4gZGV2X2dlbjoNCj4gPiA+ID4gPiAxKUlmIG90 aGVyIGFnZW50IGxvYWQgdGhlIGNoYW5nZWQgImRldl9nZW4iLCBpdCBjYW4ga25vdyB0aGUNCj4g PiA+ID4gPiBnbG9iYWwgY2FjaGUgaGFzIGJlZW4gdXBkYXRlZC4NCj4gPiA+ID4gPiAyKUlmIG90 aGVyIGFnZW50cyBsb2FkIHRoZSB1bmNoYW5nZWQsICJkZXZfZ2VuIiwgaXQgbWVhbnMgdGhlDQo+ ID4gPiA+ID4gZ2xvYmFsIGNhY2hlIGhhcyBub3QgYmVlbiB1cGRhdGVkLCBhbmQgdGhlIGxvY2Fs IGNhY2hlIHdpbGwgbm90DQo+ID4gPiA+ID4gYmUNCj4gPiBmbHVzaGVkLg0KPiA+ID4gPiA+DQo+ ID4gPiA+ID4gQXMgYSByZXN1bHQsIHdlIHVzZSAgd21iIGFuZCBndWFyZCB2YXJpYWJsZSAiZGV2 X2dlbiIgdG8gZW5zdXJlDQo+ID4gPiA+ID4gdGhlIGdsb2JhbCBjYWNoZSB1cGRhdGluZyBpcyAi dmlzaWJsZSIuDQo+ID4gPiA+ID4gVGhlICJ2aXNpYmxlIiBtZWFucyB3aGVuIHVwZGF0aW5nIGd1 YXJkIHZhcmlhYmxlICJkZXZfZ2VuIiBpcw0KPiA+ID4gPiA+IGtub3duIGJ5IG90aGVyIGFnZW50 cywgdGhleSBhbHNvIGNhbiBjb25maXJtIGdsb2JhbCBjYWNoZSBoYXMNCj4gPiA+ID4gPiBiZWVu IHVwZGF0ZWQgaW4gdGhlIG1lYW53aGlsZS4gVGh1cywganVzdCBvbmUgd21iIGJlZm9yZQ0KPiA+ ID4gPiA+IGFsdGVyaW5nIGRldl9nZW4gY2FuIGVuc3VyZQ0KPiA+ID4gPiB0aGlzLg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gQmVzdCBSZWdhcmRzDQo+ID4gPiA+ID4gRmVpZmVpDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+ID4gPiA+IOWPkeS7tuS6 ujogU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPg0KPiA+ID4gPiA+ID4g 5Y+R6YCB5pe26Ze0OiAyMDIx5bm0NOaciDIw5pelIDE1OjU0DQo+ID4gPiA+ID4gPiDmlLbku7bk uro6IEZlaWZlaSBXYW5nIDxGZWlmZWkuV2FuZzJAYXJtLmNvbT47IE1hdGFuIEF6cmFkDQo+ID4g PiA+ID4gPiA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlh LmNvbT4NCj4gPiA+ID4gPiA+IOaKhOmAgTogZGV2QGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT47 IHN0YWJsZUBkcGRrLm9yZzsNCj4gUnVpZmVuZw0KPiA+ID4gPiBXYW5nDQo+ID4gPiA+ID4gPiA8 UnVpZmVuZy5XYW5nQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT47IG5kDQo+IDxuZEBhcm0uY29t PjsNCj4gPiA+IG5kDQo+ID4gPiA+ID4gPiA8bmRAYXJtLmNvbT4NCj4gPiA+ID4gPiA+IOS4u+mi mDogUkU6IFtQQVRDSCB2MSAzLzRdIG5ldC9tbHg1OiBmaXggcmVidWlsZCBidWcgZm9yIE1lbW9y eQ0KPiA+ID4gPiA+ID4gUmVnaW9uIGNhY2hlDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gSGks IEZlaWZlaQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEluIG15IG9waW5pb24sIHRoZXJlIHNo b3VsZCBiZSAyIGJhcnJpZXJzOg0KPiA+ID4gPiA+ID4gIC0gYWZ0ZXIgZ2xvYmFsIGNhY2hlIHVw ZGF0ZS9iZWZvcmUgYWx0ZXJpbmcgZGV2X2dlbiwgdG8NCj4gPiA+ID4gPiA+IGVuc3VyZSB0aGUg Y29ycmVjdCBvcmRlcg0KPiA+ID4gPiA+ID4gIC0gYWZ0ZXIgYWx0ZXJpbmcgZGV2X2dlbiB0byBt YWtlIHRoaXMgY2hhbmdlIHZpc2libGUgZm9yDQo+ID4gPiA+ID4gPiBvdGhlciBhZ2VudHMgYW5k IHRvIHRyaWdnZXIgbG9jYWwgY2FjaGUgdXBkYXRlDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g V2l0aCBiZXN0IHJlZ2FyZHMsDQo+ID4gPiA+ID4gPiBTbGF2YQ0KPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gRnJvbTog RmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPg0KPiA+ID4gPiA+ID4gPiBTZW50OiBU dWVzZGF5LCBBcHJpbCAyMCwgMjAyMSAxMDozMA0KPiA+ID4gPiA+ID4gPiBUbzogU2xhdmEgT3Zz aWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgTWF0YW4gQXpyYWQNCj4gPiA+ID4gPiA+ ID4gPG1hdGFuQG52aWRpYS5jb20+OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG52aWRpYS5jb20+ DQo+ID4gPiA+ID4gPiA+IENjOiBkZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPjsgc3RhYmxl QGRwZGsub3JnOyBSdWlmZW5nDQo+ID4gPiA+IFdhbmcNCj4gPiA+ID4gPiA+ID4gPFJ1aWZlbmcu V2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBuZA0KPiA+IDxuZEBhcm0uY29tPjsNCj4g PiA+ID4gbmQNCj4gPiA+ID4gPiA+ID4gPG5kQGFybS5jb20+DQo+ID4gPiA+ID4gPiA+IFN1Ympl Y3Q6IOWbnuWkjTogW1BBVENIIHYxIDMvNF0gbmV0L21seDU6IGZpeCByZWJ1aWxkIGJ1ZyBmb3IN Cj4gPiA+ID4gPiA+ID4gTWVtb3J5IFJlZ2lvbiBjYWNoZQ0KPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiBIaSwgU2xhdmENCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQW5vdGhlciBx dWVzdGlvbiBzdWRkZW5seSBvY2N1cnJlZCB0byBtZSwgaW4gb3JkZXIgdG8ga2VlcA0KPiA+ID4g PiA+ID4gPiB0aGUgb3JkZXIgdGhhdCByZWJ1aWxkaW5nIGdsb2JhbCBjYWNoZSBiZWZvcmUgdXBk YXRpbmcNCj4gPiA+ID4gPiA+ID4g4oCdZGV2X2dlbuKAnCwgdGhlIHdtYiBzaG91bGQgYmUgYmVm b3JlIHVwZGF0aW5nICJkZXZfZ2VuIiByYXRoZXINCj4gdGhhbiBhZnRlciBpdC4NCj4gPiA+ID4g PiA+ID4gT3RoZXJ3aXNlLCBpbiB0aGUgb3V0LW9mLW9yZGVyIHBsYXRmb3JtcywgY3VycmVudCBv cmRlcg0KPiA+ID4gPiA+ID4gPiBjYW5ub3QgYmUNCj4gPiA+IGtlcHQuDQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+IFRodXMsIHdlIHNob3VsZCBjaGFuZ2UgdGhlIGNvZGUgYXM6DQo+ID4g PiA+ID4gPiA+IGEpIHJlYnVpbGQgZ2xvYmFsIGNhY2hlOw0KPiA+ID4gPiA+ID4gPiBiKSBydGVf c21wX3dtYigpOw0KPiA+ID4gPiA+ID4gPiBjKSB1cGRhdGluZyBkZXZfZ2VuDQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+IEJlc3QgUmVnYXJkcw0KPiA+ID4gPiA+ID4gPiBGZWlmZWkNCj4g PiA+ID4gPiA+ID4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4gPiA+ID4gPiA+ID4g5Y+R 5Lu25Lq6OiBGZWlmZWkgV2FuZw0KPiA+ID4gPiA+ID4gPiA+IOWPkemAgeaXtumXtDogMjAyMeW5 tDTmnIgyMOaXpSAxMzo1NA0KPiA+ID4gPiA+ID4gPiA+IOaUtuS7tuS6ujogU2xhdmEgT3ZzaWll bmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgTWF0YW4NCj4gQXpyYWQNCj4gPiA+ID4gPiA+ ID4gPiA8bWF0YW5AbnZpZGlhLmNvbT47IFNoYWhhZiBTaHVsZXIgPHNoYWhhZnNAbnZpZGlhLmNv bT4NCj4gPiA+ID4gPiA+ID4gPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+ OyBzdGFibGVAZHBkay5vcmc7DQo+ID4gPiBSdWlmZW5nDQo+ID4gPiA+ID4gPiBXYW5nDQo+ID4g PiA+ID4gPiA+ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+OyBuZA0K PiA+IDxuZEBhcm0uY29tPg0KPiA+ID4gPiA+ID4gPiA+IOS4u+mimDog5Zue5aSNOiBbUEFUQ0gg djEgMy80XSBuZXQvbWx4NTogZml4IHJlYnVpbGQgYnVnIGZvcg0KPiA+ID4gPiA+ID4gPiA+IE1l bW9yeQ0KPiA+ID4gPiA+IFJlZ2lvbg0KPiA+ID4gPiA+ID4gPiA+IGNhY2hlDQo+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBIaSwgU2xhdmENCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+IFRoYW5rcyB2ZXJ5IG11Y2ggZm9yIHlvdXIgZXhwbGFuYXRpb24uDQo+ID4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBJIGNhbiB1bmRlcnN0YW5kIHRoZSBhcHAgY2FuIHdh aXQgYWxsIG1idWZzIGFyZSByZXR1cm5lZA0KPiA+ID4gPiA+ID4gPiA+IHRvIHRoZSBtZW1vcnkg cG9vbCwgYW5kIHRoZW4gaXQgY2FuIGZyZWUgdGhpcyBtYnVmcywgSQ0KPiA+ID4gPiA+ID4gPiA+ IGFncmVlIHdpdGgNCj4gPiB0aGlzLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g QXMgYSByZXN1bHQsIEkgd2lsbCByZW1vdmUgdGhlIGJ1ZyBmaXggcGF0Y2ggZnJvbSB0aGlzDQo+ ID4gPiA+ID4gPiA+ID4gc2VyaWVzIGFuZCBqdXN0IHJlcGxhY2UgdGhlIHNtcCBiYXJyaWVyIHdp dGggQzExIHRocmVhZA0KPiA+ID4gPiA+ID4gPiA+IGZlbmNlLiBUaGFua3MgdmVyeSBtdWNoIGZv ciB5b3VyIHBhdGllbnQgZXhwbGFuYXRpb24gYWdhaW4uDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPiBCZXN0IFJlZ2FyZHMNCj4gPiA+ID4gPiA+ID4gPiBGZWlmZWkNCj4gPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ID4g PiA+ID4gPiA+ID4g5Y+R5Lu25Lq6OiBTbGF2YSBPdnNpaWVua28gPHZpYWNoZXNsYXZvQG52aWRp YS5jb20+DQo+ID4gPiA+ID4gPiA+ID4gPiDlj5HpgIHml7bpl7Q6IDIwMjHlubQ05pyIMjDml6Ug Mjo1MQ0KPiA+ID4gPiA+ID4gPiA+ID4g5pS25Lu25Lq6OiBGZWlmZWkgV2FuZyA8RmVpZmVpLldh bmcyQGFybS5jb20+OyBNYXRhbiBBenJhZA0KPiA+ID4gPiA+ID4gPiA+ID4gPG1hdGFuQG52aWRp YS5jb20+OyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gPiA+ ID4gPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+OyBzdGFibGVAZHBkay5v cmc7DQo+ID4gPiA+IFJ1aWZlbmcNCj4gPiA+ID4gPiA+ID4gV2FuZw0KPiA+ID4gPiA+ID4gPiA+ ID4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5kQGFybS5jb20+DQo+ID4gPiA+ID4gPiA+ ID4gPiDkuLvpopg6IFJFOiBbUEFUQ0ggdjEgMy80XSBuZXQvbWx4NTogZml4IHJlYnVpbGQgYnVn IGZvcg0KPiA+ID4gPiA+ID4gPiA+ID4gTWVtb3J5IFJlZ2lvbiBjYWNoZQ0KPiA+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IEhpLCBGZWlmZWkNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiBQbGVhc2UsIHNlZSBiZWxvdw0KPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+IC4uLi4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gSGksIEZlaWZlaQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gU29ycnksIEkgZG8gbm90IGZvbGxvdyB3aGF0IHRoaXMgcGF0Y2ggZml4ZXMuIERvIHdl DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gaGF2ZSBzb21lIGlzc3VlL2J1ZyB3aXRoIE1SIGNhY2hl IGluIHByYWN0aWNlPw0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBU aGlzIHBhdGNoIGZpeGVzIHRoZSBidWcgd2hpY2ggaXMgYmFzZWQgb24gbG9naWNhbA0KPiA+ID4g PiA+ID4gPiA+ID4gPiBkZWR1Y3Rpb24sIGFuZCBpdCBkb2Vzbid0IGFjdHVhbGx5IGhhcHBlbi4N Cj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IEVhY2ggVHggcXVldWUgaGFzIGl0cyBvd24gZGVkaWNhdGVkICJsb2NhbCIgY2Fj aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBmb3IgTVJzIHRvIGNvbnZlcnQgYnVmZmVyIGFkZHJl c3MgaW4gbWJ1ZnMgYmVpbmcNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiB0cmFuc21pdHRlZCB0byBM S2V5cyAoSFctcmVsYXRlZCBlbnRpdHkNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBoYW5kbGUpIGFu ZCB0aGUgImdsb2JhbCIgY2FjaGUgZm9yIGFsbCBNUiByZWdpc3RlcmVkDQo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gb24gdGhlDQo+ID4gPiA+IGRldmljZS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+IEFGQUlLLCBob3cgY29udmVyc2lvbiBoYXBwZW5zIGluIGRh dGFwYXRoOg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0gY2hlY2sgdGhlIGxvY2FsIHF1ZXVlIGNh Y2hlIGZsdXNoIHJlcXVlc3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtIGxvb2t1cCBpbiBsb2Nh bCBjYWNoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IC0gaWYgbm90IGZvdW5kOg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IC0gYWNxdWlyZSBsb2NrIGZvciBnbG9iYWwgY2FjaGUgcmVhZCBhY2Nlc3MN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtIGxvb2t1cCBpbiBnbG9iYWwgY2FjaGUNCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiAtIHJlbGVhc2UgbG9jayBmb3IgZ2xvYmFsIGNhY2hlDQo+ID4gPiA+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBIb3cgY2FjaGUgdXBkYXRlIG9uIG1l bW9yeSBmcmVlaW5nL3VucmVnaXN0ZXJpbmcNCj4gPiBoYXBwZW5zOg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+IC0gYWNxdWlyZSBsb2NrIGZvciBnbG9iYWwgY2FjaGUgd3JpdGUgYWNjZXNzDQo+ID4g PiA+ID4gPiA+ID4gPiA+ID4gLSBbYV0gcmVtb3ZlIHJlbGV2YW50IE1ScyBmcm9tIHRoZSBnbG9i YWwgY2FjaGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtIFtiXSBzZXQgbG9jYWwgY2FjaGVzIGZs dXNoIHJlcXVlc3QNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAtIGZyZWUgZ2xvYmFsIGNhY2hlIGxv Y2sNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IElmIEkgdW5k ZXJzdGFuZCBjb3JyZWN0bHksIHlvdXIgcGF0Y2ggc3dhcHMgW2FdIGFuZA0KPiA+ID4gPiA+ID4g PiA+ID4gPiA+IFtiXSwgYW5kIGxvY2FsIGNhY2hlcyBmbHVzaCBpcyByZXF1ZXN0ZWQgZWFybGll ci4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBXaGF0IHByb2JsZW0gZG9lcyBpdA0KPiA+ID4gPiBz b2x2ZT8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBJdCBpcyBub3Qgc3VwcG9zZWQgdGhlcmUgYXJl IGluIGRhdGFwYXRoIHNvbWUgbWJ1ZnMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiByZWZlcmVuY2lu ZyB0byB0aGUgbWVtb3J5IGJlaW5nIGZyZWVkLiBBcHBsaWNhdGlvbg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+IG11c3QgZW5zdXJlIHRoaXMgYW5kIG11c3Qgbm90IGFsbG9jYXRlIG5ldyBtYnVmcw0K PiA+ID4gPiA+ID4gPiA+ID4gPiA+IGZyb20gdGhpcyBtZW1vcnkgcmVnaW9ucw0KPiA+ID4gPiA+ ID4gYmVpbmcgZnJlZWQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gSGVuY2UsIHRoZSBsb29rdXBz IGZvciB0aGVzZSBNUnMgaW4gY2FjaGVzIHNob3VsZA0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IG5v dA0KPiA+IG9jY3VyLg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBG b3IgeW91ciBmaXJzdCBwb2ludCB0aGF0LCBhcHBsaWNhdGlvbiBjYW4gdGFrZSBjaGFyZ2UNCj4g PiA+ID4gPiA+ID4gPiA+ID4gb2YgcHJldmVudGluZyBNUiBmcmVlZCBtZW1vcnkgYmVpbmcgYWxs b2NhdGVkIHRvIGRhdGEgcGF0aC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g PiA+ID4gRG9lcyBpdCBtZWFucyB0aGF0IElmIHRoZXJlIGlzIGFuIGVtZXJnZW5jeSBvZiBNUg0K PiA+ID4gPiA+ID4gPiA+ID4gPiBmcmFnbWVudCwgc3VjaCBhcyBob3RwbHVnLCB0aGUgYXBwbGlj YXRpb24gbXVzdCBpbmZvcm0NCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlZGF0YSBwYXRoIGluIGFk dmFuY2UsIGFuZCB0aGlzIG1lbW9yeSB3aWxsIG5vdCBiZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBh bGxvY2F0ZWQsIGFuZCB0aGVuIHRoZSBjb250cm9sIHBhdGggd2lsbCBmcmVlIHRoaXMNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gbWVtb3J5PyBJZiBhcHBsaWNhdGlvbiAgY2FuIGRvIGxpa2UgdGhpcywg SSBhZ3JlZSB0aGF0DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHRoaXMgYnVnDQo+ID4gPiA+ID4gPiA+ ID4gY2Fubm90IGhhcHBlbi4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBB Y3R1YWxseSwgIHRoaXMgaXMgdGhlIG9ubHkgY29ycmVjdCB3YXkgZm9yIGFwcGxpY2F0aW9uIHRv IG9wZXJhdGUuDQo+ID4gPiA+ID4gPiA+ID4gPiBMZXQncyBzdXBwb3NlIHdlIGhhdmUgc29tZSBt ZW1vcnkgYXJlYSB0aGF0IGFwcGxpY2F0aW9uDQo+ID4gPiA+ID4gPiA+ID4gPiB3YW50cyB0bw0K PiA+ID4gPiA+ID4gZnJlZS4NCj4gPiA+ID4gPiA+ID4gPiA+IEFMTCByZWZlcmVuY2VzIHRvIHRo aXMgYXJlYSBtdXN0IGJlIHJlbW92ZWQuIElmIHdlIGhhdmUNCj4gPiA+ID4gPiA+ID4gPiA+IHNv bWUgbWJ1ZnMgYWxsb2NhdGVkIGZyb20gdGhpcyBhcmVhLCBpdCBtZWFucyB0aGF0IHdlDQo+ID4g PiA+ID4gPiA+ID4gPiBoYXZlIG1lbW9yeSBwb29sIGNyZWF0ZWQNCj4gPiA+ID4gPiA+ID4gdGhl cmUuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gV2hhdCBhcHBsaWNhdGlv biBzaG91bGQgZG86DQo+ID4gPiA+ID4gPiA+ID4gPiAtIG5vdGlmeSBhbGwgaXRzIGNvbXBvbmVu dHMvYWdlbnRzIHRoZSBtZW1vcnkgYXJlYSBpcw0KPiA+ID4gPiA+ID4gPiA+ID4gZ29pbmcgdG8g YmUgZnJlZWQNCj4gPiA+ID4gPiA+ID4gPiA+IC0gYWxsIGNvbXBvbmVudHMvYWdlbnRzIGZyZWUg dGhlIG1idWZzIHRoZXkgbWlnaHQgb3duDQo+ID4gPiA+ID4gPiA+ID4gPiAtIFBNRCBtaWdodCBu b3Qgc3VwcG9ydCBmcmVlaW5nIGZvciBzb21lIG1idWZzIChmb3INCj4gPiA+ID4gPiA+ID4gPiA+ IGV4YW1wbGUgYmVpbmcgc2VudCBhbmQgYXdhaXRpbmcgZm9yIGNvbXBsZXRpb24pLCBzbyBhcHAN Cj4gPiA+ID4gPiA+ID4gPiA+IHNob3VsZCBqdXN0IHdhaXQNCj4gPiA+ID4gPiA+ID4gPiA+IC0g d2FpdCB0aWxsIGFsbCBtYnVmcyBhcmUgcmV0dXJuZWQgdG8gdGhlIG1lbW9yeSBwb29sDQo+ID4g PiA+ID4gPiA+ID4gPiAoYnkgbW9uaXRvcmluZyBhdmFpbGFibGUgb2JqID09IHBvb2wgc2l6ZSkN Cj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBPdGhlcndpc2UgLSBpdCBpcyBk YW5nZXJvdXMgdG8gZnJlZSB0aGUgbWVtb3J5LiBUaGVyZQ0KPiA+ID4gPiA+ID4gPiA+ID4gYXJl IGp1c3Qgc29tZSBtYnVmcyBzdGlsbCBhbGxvY2F0ZWQsIGl0IGlzIHJlZ2FyZGxlc3MgdG8NCj4g PiA+ID4gPiA+ID4gPiA+IGJ1ZiBhZGRyZXNzIHRvIE1SIHRyYW5zbGF0aW9uLiBXZSBqdXN0IGNh bid0IGZyZWUgdGhlDQo+ID4gPiA+ID4gPiA+ID4gPiBtZW1vcnkgLSB0aGUgbWFwcGluZyB3aWxs IGJlIGRlc3Ryb3llZCBhbmQgbWlnaHQgY2F1c2UNCj4gPiA+ID4gPiA+ID4gPiA+IHRoZSBzZWdt ZW50YXRpb24gZmF1bHQgYnkgU1cgb3Igc29tZSBIVyBpc3N1ZXMgb24gRE1BDQo+ID4gPiA+ID4g PiA+ID4gPiBhY2Nlc3MgdG8gdW5tYXBwZWQgbWVtb3J5LiAgSXQgaXMgdmVyeSBnZW5lcmljIHNh ZmV0eQ0KPiA+ID4gPiA+ID4gPiA+ID4gYXBwcm9hY2ggLSBkbyBub3QgZnJlZSB0aGUgbWVtb3J5 IHRoYXQgaXMgc3RpbGwgaW4NCj4gPiA+ID4gdXNlLg0KPiA+ID4gPiA+ID4gPiA+ID4gSGVuY2Us IGF0IHRoZSBtb21lbnQgb2YgZnJlZWluZyBhbmQgdW5yZWdpc3RlcmluZyB0aGUNCj4gPiA+ID4g PiA+ID4gPiA+IE1SLCB0aGVyZSBNVVNUIEJFIE5PIGFueQ0KPiA+ID4gPiA+ID4gPiA+IG1idWZz IGluIGZsaWdodCByZWZlcmVuY2luZyB0byB0aGUgYWRkcmVzc2VzIGJlaW5nIGZyZWVkLg0KPiA+ ID4gPiA+ID4gPiA+ID4gTm8gdHJhbnNsYXRpb24gdG8gTVIgYmVpbmcgaW52YWxpZGF0ZWQgY2Fu IGhhcHBlbi4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gRm9yIG90aGVyIHNpZGUsIHRoZSBjYWNoZSBmbHVzaCBoYXMgbmVnYXRp dmUgZWZmZWN0DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gLSB0aGUgbG9jYWwgY2FjaGUgaXMgZ2V0 dGluZyBlbXB0eSBhbmQgY2FuJ3QgcHJvdmlkZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+IHRyYW5z bGF0aW9uIGZvciBvdGhlciB2YWxpZCAobm90IGJlaW5nIHJlbW92ZWQpIE1ScywNCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiBhbmQgdGhlIHRyYW5zbGF0aW9uIGhhcyB0byBsb29rIHVwIGluIHRoZSBn bG9iYWwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBjYWNoZSwgdGhhdCBpcyBsb2NrZWQgbm93IGZv ciByZWJ1aWxkaW5nLCB0aGlzDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gY2F1c2VzIHRoZSBkZWxh eXMgaW4gZGF0YXBhdGNoDQo+ID4gPiA+ID4gPiA+ID4gPiA+IG9uIGFjcXVpcmluZyBnbG9iYWwg Y2FjaGUgbG9jay4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBTbywgSSBzZWUgc29tZSBwb3RlbnRp YWwgcGVyZm9ybWFuY2UgaW1wYWN0Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+ID4gPiBJZiBhYm92ZSBhc3N1bXB0aW9uIGlzIHRydWUsIHdlIGNhbiBnbyB0byB5b3VyIHNl Y29uZCBwb2ludC4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSSB0aGluayB0aGlzIGlzIGEgcHJvYmxl bSBvZiB0aGUgdHJhZGVvZmYgYmV0d2Vlbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBjYWNoZSBjb2hl cmVuY2UgYW5kDQo+ID4gPiA+ID4gPiA+ID4gPiBwZXJmb3JtYW5jZS4NCj4gPiA+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSSBjYW4gdW5kZXJzdGFuZCB5b3VyIG1lYW5pbmcg dGhhdCB0aG91Z2ggZ2xvYmFsIGNhY2hlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGhhcyBiZWVuIGNo YW5nZWQsIHdlIHNob3VsZCBrZWVwIHRoZSB2YWxpZCBNUiBpbiBsb2NhbA0KPiA+ID4gPiA+ID4g PiA+ID4gPiBjYWNoZSBhcyBsb25nIGFzIHBvc3NpYmxlIHRvIGVuc3VyZSB0aGUgZmFzdCBzZWFy Y2hpbmcgc3BlZWQuDQo+ID4gPiA+ID4gPiA+ID4gPiA+IEluIHRoZSBtZWFud2hpbGUsIHRoZSBs b2NhbCBjYWNoZSBjYW4gYmUgcmVidWlsdCBsYXRlcg0KPiA+ID4gPiA+ID4gPiA+ID4gPiB0byBy ZWR1Y2UgaXRzIHdhaXRpbmcgdGltZSBmb3IgYWNxdWlyaW5nIHRoZSBnbG9iYWwgY2FjaGUgbG9j ay4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gSG93ZXZlciwgIHRo aXMgbWVjaGFuaXNtIGp1c3QgZW5zdXJlcyB0aGUgcGVyZm9ybWFuY2UNCj4gPiA+ID4gPiA+ID4g PiA+ID4gdW5jaGFuZ2VkIGZvciB0aGUgZmlyc3QgZmV3IG1idWZzLg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBEdXJpbmcgdGhlIG5leHQgbWJ1ZnMgbGtleSBzZWFyY2hpbmcgYWZ0ZXIgJ2Rldl9nZW4n DQo+ID4gPiA+ID4gPiA+ID4gPiA+IHVwZGF0ZWQsIGl0IGlzIHN0aWxsIG5lY2Vzc2FyeSB0byB1 cGRhdGUgdGhlIGxvY2FsIGNhY2hlLg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBBbmQgdGhlIHBlcmZv cm1hbmNlIGNhbiBmaXJzdGx5IHJlZHVjZSBhbmQgdGhlbiByZXR1cm5zLg0KPiA+ID4gPiA+ID4g PiA+ID4gPiBUaHVzLCBubyBtYXR0ZXIgd2hldGhlciB0aGVyZSBpcyB0aGlzIHBhdGNoIG9yIG5v dCwNCj4gPiA+ID4gPiA+ID4gPiA+ID4gdGhlIHBlcmZvcm1hbmNlIHdpbGwgaml0dGVyIGluIGEg Y2VydGFpbiBwZXJpb2Qgb2YNCj4gPiA+ID4gPiA+ID4gdGltZS4NCj4gPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+ID4gPiBMb2NhbCBjYWNoZSBzaG91bGQgYmUgdXBkYXRlZCB0byByZW1v dmUgTVJzIG5vIGxvbmdlciB2YWxpZC4NCj4gPiA+ID4gPiA+ID4gPiA+IEJ1dCB3ZSBqdXN0IGZs dXNoIHRoZSBlbnRpcmUgY2FjaGUuDQo+ID4gPiA+ID4gPiA+ID4gPiBMZXQncyBzdXBwb3NlIHdl IGhhdmUgdmFsaWQgTVIwLCBNUjEsIGFuZCBub3QgdmFsaWQgTVJYDQo+ID4gPiA+ID4gPiA+ID4g PiBpbiBsb2NhbA0KPiA+ID4gPiA+IGNhY2hlLg0KPiA+ID4gPiA+ID4gPiA+ID4gQW5kIHRoZXJl IGFyZSB0cmFmZmljIGluIHRoZSBkYXRhcGF0aCBmb3IgTVIwIGFuZCBNUjEsDQo+ID4gPiA+ID4g PiA+ID4gPiBhbmQgbm8gdHJhZmZpYyBmb3IgTVJYIGFueW1vcmUuDQo+ID4gPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiA+ID4gMSkgSWYgd2UgZG8gYXMgeW91IHByb3Bvc2U6DQo+ID4gPiA+ ID4gPiA+ID4gPiBhKSB0YWtlIGEgbG9jaw0KPiA+ID4gPiA+ID4gPiA+ID4gYikgcmVxdWVzdCBm bHVzaCBsb2NhbCBjYWNoZSBmaXJzdCAtIGFsbCBNUjAsIE1SMSwgTVJYDQo+ID4gPiA+ID4gPiA+ ID4gPiB3aWxsIGJlIHJlbW92ZWQgb24gdHJhbnNsYXRpb24gaW4gZGF0YXBhdGgNCj4gPiA+ID4g PiA+ID4gPiA+IGMpIHVwZGF0ZSBnbG9iYWwgY2FjaGUsDQo+ID4gPiA+ID4gPiA+ID4gPiBkKSBm cmVlIGxvY2sNCj4gPiA+ID4gPiA+ID4gPiA+IEFsbCB0aGUgdHJhZmZpYyBmb3IgdmFsaWQgTVIw LCBNUjEgQUxXQVlTIHdpbGwgYmUNCj4gPiA+ID4gPiA+ID4gPiA+IGJsb2NrZWQgb24gbG9jayB0 YWtlbiBmb3IgY2FjaGUgdXBkYXRlIHNpbmNlIHBvaW50IGIpIHRpbGwgcG9pbnQNCj4gZCkuDQo+ ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gMikgSWYgd2UgZG8gYXMgaXQgaXMg aW1wbGVtZW50ZWQgbm93Og0KPiA+ID4gPiA+ID4gPiA+ID4gYSkgdGFrZSBhIGxvY2sNCj4gPiA+ ID4gPiA+ID4gPiA+IGIpIHVwZGF0ZSBnbG9iYWwgY2FjaGUNCj4gPiA+ID4gPiA+ID4gPiA+IGMp IHJlcXVlc3QgZmx1c2ggbG9jYWwgY2FjaGUNCj4gPiA+ID4gPiA+ID4gPiA+IGQpIGZyZWUgbG9j aw0KPiA+ID4gPiA+ID4gPiA+ID4gVGhlIHRyYWZmaWMgTUlHSFQgYmUgbG9ja2VkIE9OTFkgZm9y IE1ScyBub24tZXhpc3RpbmcgaW4NCj4gPiA+ID4gPiA+ID4gPiA+IGxvY2FsIGNhY2hlIChub3Qg aGFwcGVucyBmb3IgTVIwIGFuZCBNUjEsIG11c3Qgbm90DQo+ID4gPiA+ID4gPiA+ID4gPiBoYXBw ZW4gZm9yIE1SWCksIGFuZCBwcm9iYWJpbGl0eSBzaG91bGQgYmUgbWlub3IuIEFuZA0KPiA+ID4g PiA+ID4gPiA+ID4gbG9jayBtaWdodCBoYXBwZW4gc2luY2UNCj4gPiA+ID4gPiA+ID4gPiA+IGMp IHRpbGwNCj4gPiA+ID4gPiA+ID4gPiA+IGQpDQo+ID4gPiA+ID4gPiA+ID4gPiAtIHF1aXRlIHNo b3J0IHBlcmlvZCBvZiB0aW1lDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g U3VtbWFyeSwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAxKSBhbmQgMikNCj4gPiA+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBMb2NrIHByb2JhYmlsaXR5Og0KPiA+ID4gPiA+ID4gPiA+ ID4gLSAxKSBsb2NrIEFMV0FZUyBoYXBwZW4gZm9yIEFOWSBNUiB0cmFuc2xhdGlvbiBhZnRlciBi KSwNCj4gPiA+ID4gPiA+ID4gPiA+ICAgMikgbG9jayBNSUdIVCBoYXBwZW4sIGZvciBjYWNoZSBt aXNzIE9OTFksIGFmdGVyIGMpDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4g TG9jayBkdXJhdGlvbjoNCj4gPiA+ID4gPiA+ID4gPiA+IC0gMSkgbG9jayBzaW5jZSBiKSB0aWxs IGQpLA0KPiA+ID4gPiA+ID4gPiA+ID4gICAyKSBsb2NrIHNpbmNlIGMpIHRpbGwgZCksIHRoYXQg c2VlbXMgdG8gYmUgIG11Y2ggc2hvcnRlci4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IEZpbmFsbHksIGluIGNvbmNsdXNpb24sIEkg dGVuZCB0byB0aGluayB0aGF0IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBib3R0b20gbGF5ZXIg Y2FuIGRvIG1vcmUgdGhpbmdzIHRvIGVuc3VyZSB0aGUgY29ycmVjdA0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBleGVjdXRpb24gb2YgdGhlIHByb2dyYW0sIHdoaWNoIG1heSBoYXZlIGEgbmVnYXRpdmUN Cj4gPiA+ID4gPiA+ID4gPiA+ID4gaW1wYWN0IG9uIHRoZSBwZXJmb3JtYW5jZSBpbiBhIHNob3J0 IHRpbWUsIGJ1dCBpbiB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbG9uZyBydW4sIHRoZSBwZXJm b3JtYW5jZSB3aWxsIGV2ZW50dWFsbHkNCj4gPiA+ID4gPiA+IGNvbWUgYmFjay4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gRnVydGhlcm1vcmUsIG1heWJlIHdlIHNob3VsZCBwYXkgYXR0ZW50aW9uIHRv IHRoZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBwZXJmb3JtYW5jZSBpbiB0aGUgc3RhYmxlIHBlcmlv ZCwgYW5kIHRyeSBvdXIgYmVzdCB0bw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBlbnN1cmUgdGhlIGNv cnJlY3RuZXNzIG9mIHRoZSBwcm9ncmFtIGluIGNhc2Ugb2YNCj4gPiA+ID4gPiA+ID4gPiA+IGVt ZXJnZW5jaWVzLg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IElmIHdlIGhh dmUgc29tZSBtYnVmcyBzdGlsbCBhbGxvY2F0ZWQgaW4gbWVtb3J5IGJlaW5nDQo+ID4gPiA+ID4g PiA+ID4gPiBmcmVlZA0KPiA+ID4gPiA+ID4gPiA+ID4gLSB0aGVyZSBpcyBub3RoaW5nIHRvIHNh eSBhYm91dCBjb3JyZWN0bmVzcywgaXQgaXMNCj4gPiA+ID4gPiA+ID4gPiA+IHRvdGFsbHkgaW5j b3JyZWN0LiBJbiBteSBvcGluaW9uLCB3ZSBzaG91bGQgbm90IHRoaW5rDQo+ID4gPiA+ID4gPiA+ ID4gPiBob3cgdG8gbWl0aWdhdGUgdGhpcyBpbmNvcnJlY3QgYmVoYXZpb3IsIHdlIHNob3VsZCBu b3QNCj4gPiA+ID4gPiA+ID4gPiA+IGVuY291cmFnZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXJzIHRv IGZvbGxvdyB0aGUgd3JvbmcNCj4gPiA+ID4gPiA+ID4gPiBhcHByb2FjaGVzLg0KPiA+ID4gPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IFdpdGggYmVzdCByZWdhcmRzLA0KPiA+ID4gPiA+ ID4gPiA+ID4gU2xhdmENCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiA+IEJlc3QgUmVnYXJkcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBGZWlm ZWkNCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBXaXRoIGJlc3Qg cmVnYXJkcywNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBTbGF2YQ0K