From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5A645C38A02 for ; Sun, 30 Oct 2022 14:52:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=p843dl1y8JxNJDEyowC+w3xtiv3DsbKA8vboA81cLhE=; b=aBYpMPVzfRgXQ+ LTbncEAdTPjvr6REH58UwQPz20bbnV+QAzrE+Hbr94YEPRguqZTv/NX27jIrVVxt85libUpADi4VB XXJl6Jzmi3famtsAb/TlMW40rJXC/cJjypMlgA1UADYjfYhfTn1jt9QWDTWe+bxOFZ8kmVH/cNf5F jZSSrrgeEItpzci4f/Ypcurr77h12wrtrwOCWcISzRBlN8unRcq4vGkrpHKVR3XZOREFwI5PCVaCG 1afKNi+/J115FSYj9i5mY1/3Kfe9iRZBtsUPkfGjt4dNhABKNlCvZeTfKdUxo6GZ4OXCum+b0lodV lTMBxCYmwy+ILBf4JDMg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1op9eW-00H6Rv-2W; Sun, 30 Oct 2022 14:51:08 +0000 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1op9eQ-00H6Mf-8E; Sun, 30 Oct 2022 14:51:05 +0000 Received: by mail-wr1-x435.google.com with SMTP id k8so12734834wrh.1; Sun, 30 Oct 2022 07:51:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=5sfu7QQrJiVMxq3szBrTKTe2piZ5ulX4OINAcftYN8U=; b=mQTnes+x6ThzGxXWviBKYeI5Yvo5JFBA8Rmg0hBCcLIT8KzZct5K263HINxb4PoD8f OG2xMGY5x7bujL4l4wD7svcNe/yYlK/QmY2426MVC/e3XgHP/WEi0I+yZ0oazvt9WGfq euCrMGybMGTscvhILCmFcGTnqHStuRMUjqBFiIv7HZyKHhkOdM8O8Vp/OEzDGdK7b2MV J/FaPgPw/o4F+b61Jjr63ze4gR0TWvQ2TVvVVNHsibkiv7UBH53iuGAtrSqn0q7pXVM4 sITQJkb7sWfb4X4rmT6Ep1koAOfFeqKvvKgL4oJQYei8utUci7HXEvdjgADmqI9eOmLk rUKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5sfu7QQrJiVMxq3szBrTKTe2piZ5ulX4OINAcftYN8U=; b=y1/gWxnnY7aetWT5htU78B1ScRoJ2qsjkE5X3DHqacXb5DzinbFY0sxnHFno7I0NhQ q4un1FgB6L/j7Z2M9G8v51LUbZdRt6atRjzsZ7V8RXA1xAH9wHJC4oFsguU//YI7MpTM luzgpStofc3ndQ0TLgSiH5JQeEV+TnW9JiQCzFVgtDi3ePMgYsdfLtjNHZd10Da9G+J8 dB2WYuxIUS9uN2/DbPYRe8FdbsVDkHkDBKlKX9aLqCCPZpUFXP4C1mZLdfeg7cy+65OF 84j5vYEg+lYBtnAvaZH/9l205NRlg4dHgaY86kqYPg9g4jwdkEySuQ1d6En3kn9Ajj52 yILA== X-Gm-Message-State: ACrzQf1CKhBUPK7kj9iB5wawIiDgacUNWIYbPHkOfUqNz++9QjyWO2cJ j4nyx65MLOe7Lxu07TGEXIA= X-Google-Smtp-Source: AMsMyM4ExTx6IyNQ6C9PMkdZSrMDMM53Wz1GgY72SbkxvZC1PXHCOUBB8eQ38Vaj9mLrn4fK3NE3rQ== X-Received: by 2002:a5d:64a3:0:b0:231:f82e:9a57 with SMTP id m3-20020a5d64a3000000b00231f82e9a57mr5261557wrp.492.1667141459423; Sun, 30 Oct 2022 07:50:59 -0700 (PDT) Received: from [192.168.2.2] (81-204-249-205.fixed.kpn.net. [81.204.249.205]) by smtp.gmail.com with ESMTPSA id t11-20020a05600c198b00b003cf490d1cf7sm4754676wmq.8.2022.10.30.07.50.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 30 Oct 2022 07:50:58 -0700 (PDT) Message-ID: <4e0447ab-0730-d8b6-a000-97f2ee32574e@gmail.com> Date: Sun, 30 Oct 2022 15:50:57 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Subject: Re: [BUG] [PATCH v2 1/2] clocksource: arm_global_timer: implement rate compensation whenever source clock changes To: andrea.merello@gmail.com Cc: tglx@linutronix.de, daniel.lezcano@linaro.org, Heiko Stuebner , "open list:ARM/Rockchip SoC support" , Patrice Chotard , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Michal Simek , =?UTF-8?Q?S=c3=b6ren_Brinkmann?= References: <20210406130045.15491-1-andrea.merello@gmail.com> <20210406130045.15491-2-andrea.merello@gmail.com> <7b61d027-6cb9-f35e-fdd0-c5bba9389783@gmail.com> Content-Language: en-US From: Johan Jonker In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221030_075102_341701_45C0461B X-CRM114-Status: GOOD ( 32.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgQW5kcmVhLAoKU29tZSBNSzgwIHJrMzA2NmEgZGV0YWlsczoKRnJvbSByazN4eHguZHRzaToK CglnbG9iYWxfdGltZXI6IGdsb2JhbC10aW1lckAxMDEzYzIwMCB7CgkJY29tcGF0aWJsZSA9ICJh cm0sY29ydGV4LWE5LWdsb2JhbC10aW1lciI7CgkJcmVnID0gPDB4MTAxM2MyMDAgMHgyMD47CgkJ aW50ZXJydXB0cyA9IDxHSUNfUFBJIDExIChHSUNfQ1BVX01BU0tfU0lNUExFKDIpIHwgSVJRX1RZ UEVfRURHRV9SSVNJTkcpPjsKCQljbG9ja3MgPSA8JmNydSBDT1JFX1BFUkk+OwoJfTsKCj09PQoK cmszMDY2YSBjbGtfc3VtbWVyeToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5h YmxlICBwcmVwYXJlICBwcm90ZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXR5 ICBoYXJkd2FyZQogICBjbG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgICAgY291 bnQgICAgY291bnQgICAgICAgIHJhdGUgICBhY2N1cmFjeSBwaGFzZSAgY3ljbGUgICAgZW5hYmxl Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhpbjI0bSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4ICAgICAgICA4ICAgICAgICAwICAgIDI0MDAw MDAwICAgICAgICAgIDAgICAgIDAgIDUwMDAwICAgICAgICAgWQogICAgcGxsX2FwbGwgICAgICAg ICAgICAgICAgICAgICAgICAgIDEgICAgICAgIDEgICAgICAgIDAgIDE0MTYwMDAwMDAgICAgICAg ICAgMCAgICAgMCAgNTAwMDAgICAgICAgICBZCiAgICAgICBhcGxsICAgICAgICAgICAgICAgICAg ICAgICAgICAgMSAgICAgICAgMSAgICAgICAgMCAgMTQxNjAwMDAwMCAgICAgICAgICAwICAgICAw ICA1MDAwMCAgICAgICAgIFkKICAgICAgICAgIGFybWNsayAgICAgICAgICAgICAgICAgICAgICAy ICAgICAgICAyICAgICAgICAwICAxNDE2MDAwMDAwICAgICAgICAgIDAgICAgIDAgIDUwMDAwICAg ICAgICAgWQogICAgICAgICAgICAgY29yZV9wZXJpICAgICAgICAgICAgICAgIDIgICAgICAgIDIg ICAgICAgIDAgICAxNzcwMDAwMDAgICAgICAgICAgMCAgICAgMCAgNTAwMDAgICAgICAgICBZCgo9 PT0KCkJlZm9yZSB5b3VyIHBhdGNoOgoKWyAgICAwLjAwMDAwMF0gPj4+PiBHVCBndF9jbGtfcmF0 ZTo3NTAwMDAwMApbICAgIDAuMDAwMDAwXSA+Pj4+IEdUIGd0X2Nsb2Nrc291cmNlX2luaXQgY3Ry bCAgIDowMDAwMDAwMQoKWyAgICAwLjAwMDEwNV0gPj4+PiBHVCBndF9jbG9ja2V2ZW50X3NodXRk b3duIGN0cmw6MDAwMDAwMDEKWyAgICAwLjAwMDEyOF0gPj4+PiBHVCBndF9jb21wYXJlX3NldCBk ZWx0YSAgICAgICA6NzUwMDAwClsgICAgMC4wMDAxNDNdID4+Pj4gR1QgZ3RfY29tcGFyZV9zZXQg Y3RybCAgICAgICAgOjAwMDAwMDBmClsgICAgMC4wMDA0MTJdID4+Pj4gR1QgZ3RfY2xvY2tldmVu dF9zaHV0ZG93biBjdHJsOjAwMDAwMDAxClsgICAgMC4wMDA0NDRdID4+Pj4gR1QgZ3RfY2xvY2tl dmVudF9zaHV0ZG93biBjdHJsOjAwMDAwMDAxCgo9PT0KCkFmdGVyIHlvdXIgcGF0Y2ggIHdpdGgg cHJlc2NhbGVyIDE6CgpbICAgIDAuMDAwMDAwXSA+Pj4+IEdUIENPTkZJR19BUk1fR1RfSU5JVElB TF9QUkVTQ0FMRVJfVkFMOjIKWyAgICAwLjAwMDAwMF0gPj4+PiBHVCBndF9jbGtfcmF0ZSAgICAg ICAgICAgICAgICAgICAgICAgIDo3NTAwMDAwMApbICAgIDAuMDAwMDAwXSA+Pj4+IEdUIGd0X3Rh cmdldF9yYXRlICAgICAgICAgICAgICAgICAgICAgOjM3NTAwMDAwClsgICAgMC4wMDAwMDBdID4+ Pj4gR1QgZ3RfY2xvY2tzb3VyY2VfaW5pdCBjdHJsICAgOjAwMDAwMTAxClsgICAgMC4wMDAwMDJd IHNjaGVkX2Nsb2NrOiA2NCBiaXRzIGF0IDM4TUh6LCByZXNvbHV0aW9uIDI2bnMsIHdyYXBzIGV2 ZXJ5IDIxOTkwMjMyNTU1NDBucwpbICAgIDAuMDAwMDQ5XSBjbG9ja3NvdXJjZTogYXJtX2dsb2Jh bF90aW1lcjogbWFzazogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4OGE2MGRkNmE5 LCBtYXhfaWRsZV9uczogNDQwNzk1MjA0MDU2IG5zClsgICAgMC4wMDAxMDRdID4+Pj4gR1QgZ3Rf Y2xvY2tldmVudF9zaHV0ZG93biBjdHJsOjAwMDAwMTAxClsgICAgMC4wMDAxMjldID4+Pj4gR1Qg Z3RfY29tcGFyZV9zZXQgZGVsdGEgICAgICAgOjM3NTAwMApbICAgIDAuMDAwMTQzXSA+Pj4+IEdU IGd0X2NvbXBhcmVfc2V0IGN0cmwgICAgICAgIDowMDAwMDEwZgpbICAgIDAuMDAwMTc1XSBTd2l0 Y2hpbmcgdG8gdGltZXItYmFzZWQgZGVsYXkgbG9vcCwgcmVzb2x1dGlvbiAyNm5zClsgICAgMC4w MDAzOTZdID4+Pj4gR1QgZ3RfY2xvY2tldmVudF9zaHV0ZG93biBjdHJsOjAwMDAwMTAxClsgICAg MC4wMDA0MjhdID4+Pj4gR1QgZ3RfY2xvY2tldmVudF9zaHV0ZG93biBjdHJsOjAwMDAwMTAxClsg ICAgMC4wMDE3ODVdIGNsb2Nrc291cmNlOiB0aW1lcjogbWFzazogMHhmZmZmZmZmZiBtYXhfY3lj bGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9uczogNzk2MzU4NTE5NDkgbnMKWyAgICAwLjAwMjEz Nl0gSWdub3JpbmcgZHVwbGljYXRlL2xhdGUgcmVnaXN0cmF0aW9uIG9mIHJlYWRfY3VycmVudF90 aW1lciBkZWxheQoKWyAgIDEzLjc4MzI4OV0gY2FsbGluZyAgZHRfY3B1ZnJlcV9wbGF0ZHJ2X2lu aXQrMHgwLzB4MjggQCAxClsgICAxMy44MDkxMDZdID4+Pj4gR1QgZ3RfY2xrX3JhdGVfY2hhbmdl X2NiIG5kYXRhLT5uZXdfcmF0ZTo3ODAwMDAwMApbICAgMTMuODA5MTQ4XSA+Pj4+IEdUIGd0X2Ns a19yYXRlX2NoYW5nZV9jYiBndF90YXJnZXRfcmF0ZSA6Mzc1MDAwMDAKWyAgIDEzLjgzMzY5MV0g Pj4+PiBHVCBndF9jbGtfcmF0ZV9jaGFuZ2VfY2IgcHN2IDEgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOjIKWyAgIDEzLjg1Nzg4Ml0gPj4+PiBHVCBndF9jbGtfcmF0ZV9j aGFuZ2VfY2IgTUFYX0ZfRVJSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjUw ClsgICAxMy44ODQ2MDVdID4+Pj4gR1QgZ3RfY2xrX3JhdGVfY2hhbmdlX2NiIGFicyhndF90YXJn ZXRfcmF0ZSAtIChuZGF0YS0+bmV3X3JhdGUgLyBwc3YpKToxNTAwMDAwClsgICAxMy45MTEyMDdd ID4+Pj4gR1QgTk9USUZZX0JBRCAxClsgICAxMy45Mzg0MDldID4+Pj4gR1QgZ3Rfd3JpdGVfcHJl c2MgcHN2OjAKWyAgIDEzLjk1OTI2Nl0gPj4+PiBHVCBndF93cml0ZV9wcmVzYyByZWc6MDAwMDAw MDEKWyAgIDEzLjk4MDg3M10gY3B1IGNwdTA6IF9vcHBfY29uZmlnX2Nsa19zaW5nbGU6IGZhaWxl ZCB0byBzZXQgY2xvY2sgcmF0ZTogLTE2ClsgICAxNC4wNzQ4MDldIGNwdWZyZXE6IF9fdGFyZ2V0 X2luZGV4OiBGYWlsZWQgdG8gY2hhbmdlIGNwdSBmcmVxdWVuY3k6IC0xNgpbICAgMTQuMTI0NDkw XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWyAgIDE0LjE2ODM4MF0ga2Vy bmVsIEJVRyBhdCBkcml2ZXJzL2NwdWZyZXEvY3B1ZnJlcS5jOjE0ODAhCgo9PT0KCkFmdGVyIHlv dXIgcGF0Y2ggd2l0aCBwcmVzY2FsZXIgMjoKClsgICAgMC4wMDAwMDBdID4+Pj4gR1QgQ09ORklH X0FSTV9HVF9JTklUSUFMX1BSRVNDQUxFUl9WQUw6MgpbICAgIDAuMDAwMDAwXSA+Pj4+IEdUIGd0 X2Nsa19yYXRlICAgICAgICAgICAgICAgICAgICAgICAgOjc1MDAwMDAwClsgICAgMC4wMDAwMDBd ID4+Pj4gR1QgZ3RfdGFyZ2V0X3JhdGUgICAgICAgICAgICAgICAgICAgICA6Mzc1MDAwMDAKWyAg ICAwLjAwMDAwMF0gPj4+PiBHVCBndF9jbG9ja3NvdXJjZV9pbml0IGN0cmwgICA6MDAwMDAxMDEK WyAgICAwLjAwMDAwMl0gc2NoZWRfY2xvY2s6IDY0IGJpdHMgYXQgMzhNSHosIHJlc29sdXRpb24g MjZucywgd3JhcHMgZXZlcnkgMjE5OTAyMzI1NTU0MG5zClsgICAgMC4wMDAwNDldIGNsb2Nrc291 cmNlOiBhcm1fZ2xvYmFsX3RpbWVyOiBtYXNrOiAweGZmZmZmZmZmZmZmZmZmZmYgbWF4X2N5Y2xl czogMHg4YTYwZGQ2YTksIG1heF9pZGxlX25zOiA0NDA3OTUyMDQwNTYgbnMKWyAgICAwLjAwMDEw NF0gPj4+PiBHVCBndF9jbG9ja2V2ZW50X3NodXRkb3duIGN0cmw6MDAwMDAxMDEKWyAgICAwLjAw MDEyOV0gPj4+PiBHVCBndF9jb21wYXJlX3NldCBkZWx0YSAgICAgICA6Mzc1MDAwClsgICAgMC4w MDAxNDNdID4+Pj4gR1QgZ3RfY29tcGFyZV9zZXQgY3RybCAgICAgICAgOjAwMDAwMTBmClsgICAg MC4wMDAxNzVdIFN3aXRjaGluZyB0byB0aW1lci1iYXNlZCBkZWxheSBsb29wLCByZXNvbHV0aW9u IDI2bnMKWyAgICAwLjAwMDM5Nl0gPj4+PiBHVCBndF9jbG9ja2V2ZW50X3NodXRkb3duIGN0cmw6 MDAwMDAxMDEKWyAgICAwLjAwMDQyOF0gPj4+PiBHVCBndF9jbG9ja2V2ZW50X3NodXRkb3duIGN0 cmw6MDAwMDAxMDEKWyAgICAwLjAwMTc4NV0gY2xvY2tzb3VyY2U6IHRpbWVyOiBtYXNrOiAweGZm ZmZmZmZmIG1heF9jeWNsZXM6IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA3OTYzNTg1MTk0OSBu cwpbICAgIDAuMDAyMTM2XSBJZ25vcmluZyBkdXBsaWNhdGUvbGF0ZSByZWdpc3RyYXRpb24gb2Yg cmVhZF9jdXJyZW50X3RpbWVyIGRlbGF5CgpbICAgMTMuNzgzMjg5XSBjYWxsaW5nICBkdF9jcHVm cmVxX3BsYXRkcnZfaW5pdCsweDAvMHgyOCBAIDEKWyAgIDEzLjgwOTEwNl0gPj4+PiBHVCBndF9j bGtfcmF0ZV9jaGFuZ2VfY2IgbmRhdGEtPm5ld19yYXRlOjc4MDAwMDAwClsgICAxMy44MDkxNDhd ID4+Pj4gR1QgZ3RfY2xrX3JhdGVfY2hhbmdlX2NiIGd0X3RhcmdldF9yYXRlIDozNzUwMDAwMApb ICAgMTMuODMzNjkxXSA+Pj4+IEdUIGd0X2Nsa19yYXRlX2NoYW5nZV9jYiBwc3YgMSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6MgpbICAgMTMuODU3ODgyXSA+Pj4+IEdU IGd0X2Nsa19yYXRlX2NoYW5nZV9jYiBNQVhfRl9FUlIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6NTAKWyAgIDEzLjg4NDYwNV0gPj4+PiBHVCBndF9jbGtfcmF0ZV9jaGFuZ2Vf Y2IgYWJzKGd0X3RhcmdldF9yYXRlIC0gKG5kYXRhLT5uZXdfcmF0ZSAvIHBzdikpOjE1MDAwMDAK WyAgIDEzLjkxMTIwN10gPj4+PiBHVCBOT1RJRllfQkFEIDEKWyAgIDEzLjkzODQwOV0gPj4+PiBH VCBndF93cml0ZV9wcmVzYyBwc3Y6MApbICAgMTMuOTU5MjY2XSA+Pj4+IEdUIGd0X3dyaXRlX3By ZXNjIHJlZzowMDAwMDAwMQpbICAgMTMuOTgwODczXSBjcHUgY3B1MDogX29wcF9jb25maWdfY2xr X3NpbmdsZTogZmFpbGVkIHRvIHNldCBjbG9jayByYXRlOiAtMTYKWyAgIDE0LjA3NDgwOV0gY3B1 ZnJlcTogX190YXJnZXRfaW5kZXg6IEZhaWxlZCB0byBjaGFuZ2UgY3B1IGZyZXF1ZW5jeTogLTE2 ClsgICAxNC4xMjQ0OTBdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpbICAg MTQuMTY4MzgwXSBrZXJuZWwgQlVHIGF0IGRyaXZlcnMvY3B1ZnJlcS9jcHVmcmVxLmM6MTQ4MCEK Ck9uIDEwLzI3LzIyIDE1OjM3LCBBbmRyZWEgTWVyZWxsbyB3cm90ZToKPiBJbCBnaW9ybm8gbHVu IDE3IG90dCAyMDIyIGFsbGUgb3JlIDEwOjAzIEpvaGFuIEpvbmtlcgo+IDxqYng2MjQ0QGdtYWls LmNvbT4gaGEgc2NyaXR0bzoKPj4KPj4gSGkgQW5kcmVhLAo+Pgo+PiBZb3VyIHBhdGNoIGNvbnRy aWJ1dGlvbiBjYXVzZXMgYSBrZXJuZWwgcGFuaWMgb24gTUs4MDggd2l0aCBSb2NrY2hpcCByazMw NjZhIFNvQy4KPj4gV291bGQgeW91IGxpa2UgdG8gY29udHJpYnV0ZSB0byBmaXggdGhpcyBpc3N1 ZT8KPiAKPiBIaSEgVGhhbmsgeW91IGZvciByZXBvcnRpbmcgdGhpczsgSSdtIGRlZmluaXRlbHkg aW50ZXJlc3RlZCBpbgo+IGludmVzdGlnYXRpbmcgdGhpcyBpc3N1ZS4KPiAKPj4gVGhlIHBzdiB2 YXJpYWJsZSBkaXZpZGVzIHdpdGggMCBhbmQgbW9yZSB0aGluZ3MgbWlnaHQgYmUgd3JvbmcuCj4+ IEEgcmV2ZXJ0IG1ha2VzIGl0IHdvcmsgYWdhaW4uCj4gCj4gSHVtLCBnb29kIHBvaW50OiBpdCdz IHByb2JhYmx5IHdvcnRoIGFkZGluZyBhIGNoZWNrIGluIHRoZSBMT0MgeW91Cj4gcG9pbnRlZCBv dXQgYW5kIGV2ZW50dWFsbHkgcmV0dXJuaW5nIE5PVElGWV9CQUQuLiBOb3RlIGhvd2V2ZXIgdGhh dAo+IHRoaXMgd291bGQgcHJldmVudCB0aGUgZGl2aXNpb24gYnkgemVyb2VkLXBzdiAod2hpY2gg aXMgcmVhbGx5Cj4gZGVzaXJhYmxlKSwgYnV0IGl0IHdvdWxkbid0IG1ha2UgYWxsIG1hZ2ljYWxs eSB3b3JrIC0gc28gaXQncyBwcm9iYWJseQo+IHdvcnRoIHVuZGVyc3RhbmRpbmcgd2hhdCdzIGhh cHBlbmluZy4uIDoKPiAKPiBJJ20gbm90IGZhbWlsaWFyIHdpdGggeW91ciBTb0M7IGlzIGl0IGxp a2UgdGhlIFp5bnEgaS5lLiB3aGVuIGVuYWJsaW5nCj4gY3B1IGZyZXF1ZW5jeSBzY2FsaW5nIHRo ZW4gdGhlIGNsb2NrIHNvdXJjZSBmZWVkaW5nIHRoZSBBUk0gZ2xvYmFsCj4gdGltZXIga2VlcHMg Y2hhbmdpbmcgcmF0ZT8gSWYgdGhlIHJhdGUtY2hhbmdlIGNhbGxiYWNrIGhhcyBydW4gKGFuZCBp dAo+IGNhbGN1bGF0ZWQgYSB6ZXJvIHBzdikgdGhlbiBpdCBzZWVtcyB0aGUgY2FzZS4KPiAKPiBJ ZiB0aGlzIGlzIHJlYWxseSB0aGUgY2FzZSwgdGhlbiBJJ2Qgc2F5IHRoYXQgdGhlIGZyZXF1ZW5j eSBzY2FsaW5nCj4gbmVlZGVkIHRvIGJlIGRpc2FibGVkIChpLmUuIGxvY2tlZCBvdXQpIHdoZW4g dGhlIEFSTSBnbG9iYWwgdGltZXIgd2FzCj4gaW4gdXNlIHdpdGhvdXQgbXkgcGF0Y2ggKG90aGVy d2lzZSB5b3VyIGNsb2Nrc291cmNlIHdvdWxkIGJlIGFsc28KPiB1bnN0YWJsZSksIHdoaWxlIHRv IHRha2UgYWR2YW50YWdlIG9mIG15IHBhdGNoIGEgcmVhc29uYWJsZQo+IENPTkZJR19BUk1fR1Rf SU5JVElBTF9QUkVTQ0FMRVJfVkFMIHNob3VsZCBiZSBzZXQgKGFuZCBob3BlZnVsbHkgdGhpcwo+ IHByZXZlbnRzIHBzdiB0byBiZWNvbWUgemVybykuCj4gCj4gSU9XLCBpbiB0aGlzIGNhc2UsIEkg d291bGQgZXhwZWN0IEtDb25maWcgbm90IGxldHRpbmcgZW5hYmxpbmcKPiBmcmVxdWVuY3kgc2Nh bGluZyBhbmQgQVJNIGdsb2JhbCB0aW1lciB0b2dldGhlciAoSUlSQyB0aGF0IHdhcyB3aGF0Cj4g WnlucSBkaWQpIGluIGNhc2UgbXkgcGF0Y2ggaXMgbm90IHRoZXJlLCBvciBvdGhlcndpc2UgZGVm aW5pbmcgYXQKPiBsZWFzdCBhIGdvb2QgZGVmYXVsdCB2YWx1ZSBmb3IgQ09ORklHX0FSTV9HVF9J TklUSUFMX1BSRVNDQUxFUl9WQUwsCj4gdGhhdCBtYWtlIGl0IHBvc3NpYmxlIHRvIHN3aW5nIHRo ZSBwcmVzY2FsZXIgaW4gYSByYW5nZSB3aWRlIGVub3VnaC4KPiAKPiBIb3cncyBDT05GSUdfQVJN X0dUX0lOSVRJQUxfUFJFU0NBTEVSX1ZBTCBzZXQgaW4geW91ciBrZXJuZWwKPiBjb25maWd1cmF0 aW9uPyBNYXliZSB0d2Vha2luZyB3aXRoIGl0IHByZXZlbnRzIHRoZSBwcm9ibGVtPwo+IAo+IE9u IHRoZSBjb250cmFyeSwgaW4gY2FzZSB5b3VyIFNvQyBkb2Vzbid0IHZhcnkgdGhlIEFSTSBnbG9i YWwgdGltZXIKPiBjbG9jayBzb3VyY2Ugd2hlbiBzY2FsaW5nIENQVSBmcmVxdWVuY3ksIHRoZW4g SSBkb24ndCB1bmRlcnN0YW5kIHdoeQo+IHRoZSByYXRlLWNoYW5nZSBub3RpZmljYXRpb24gY2Fs bGJhY2ssIHdoZXJlIHRoZSBwc3YgaXMgY2FsY3VsYXRlZCwgaXMKPiBldmVyIGNhbGxlZCAoYWx0 aG91Z2ggSSBhZG1pdCB0aGF0IEknbSBzdGFydGluZyB0byB3b25kZXIgd2hldGhlciBpdAo+IGlz IG1heWJlIGNhbGxlZCBvbmUgdGltZSBhbnl3YXkpLi4gQnV0IGV2ZW4gaWYgaXQgaXMsIHRoZW4g dGhlIGNsb2NrCj4gcmF0ZSBzaG91bGQgYmUgdGhlIHZlcnkgc2FtZSwgc28gSSB3b3VsZCBleHBl Y3QgdGhlIHBzdiB0byBiZQo+IGNhbGN1bGF0ZWQgYXMgbm9uLXplcm8gYW55d2F5Li4gT3IgYW0g SSBtaXNzaW5nIHNvbWUgY2FzZSBpbiB3aGljaAo+IGFwcHJveGltYXRpb25zIGNhbiBsZWFkIHRv IHplcm8/Cj4gCj4gQlRXIEknbSBub3QgcmVhbGx5IHN1cmUgYWJvdXQgd2hhdCdzIGdvaW5nIG9u IGhlcmU6IEkgY2Fubm90IGRpcmVjdGx5Cj4gY29ycmVsYXRlIHRoZSBPb3BzIHlvdSBhdHRhY2hl ZCBiZWxvdyB0byB0aGUgTE9DIHlvdSBwb2ludGVkIG91dC4gSG93Cj4gZGlkIHlvdSB0cmFjayBk b3duIHRoZSBwcm9ibGVtIHRvIHRoYXQ/Cj4gCj4gVGhhbmtzCj4gQW5kcmVhCj4gCj4+Cj4+IEpv aGFuCj4+Cj4+ID09PT09Cj4+Cj4+IFsgICAxMy4wODc4MDldIC0tLS0tLS0tLS0tLVsgY3V0IGhl cmUgXS0tLS0tLS0tLS0tLQo+PiBbICAgMTMuMTEwNzAxXSBrZXJuZWwgQlVHIGF0IGRyaXZlcnMv Y3B1ZnJlcS9jcHVmcmVxLmM6MTQ4MCEKPj4gWyAgIDEzLjEzNDM3OF0gSW50ZXJuYWwgZXJyb3I6 IE9vcHMgLSBCVUc6IDAgWyMxXSBTTVAgQVJNCj4+IFsgICAxMy4xNTc3OTNdIE1vZHVsZXMgbGlu a2VkIGluOgo+PiBbICAgMTMuMTc4NzYwXSBDUFU6IDAgUElEOiAxIENvbW06IHN3YXBwZXIvMCBU YWludGVkOiBHICAgICAgICBXICAgICAgICAgIDYuMC4wLW5leHQtMjAyMjEwMTMgIzEKPj4gWyAg IDEzLjIwNTk5MF0gSGFyZHdhcmUgbmFtZTogUm9ja2NoaXAgKERldmljZSBUcmVlKQo+PiBbICAg MTMuMjI4NzkzXSBQQyBpcyBhdCBjcHVmcmVxX29ubGluZSsweDhmYy8weGExYwo+PiBbICAgMTMu MjUxNDIxXSBMUiBpcyBhdCBfX3dha2VfdXBfY29tbW9uX2xvY2srMHg5OC8weGM0Cj4+IFsgICAx My4yNzQ1MzZdIHBjIDogWzxjMDY4ODNkOD5dICAgIGxyIDogWzxjMDE3MWM1MD5dICAgIHBzcjog YTAwMDAwMTMKPj4gWyAgIDEzLjI5OTA0Nl0gc3AgOiBmMDgyMWM1MCAgaXAgOiBmMDgyMWI3MCAg ZnAgOiBmMDgyMWM5Ywo+PiBbICAgMTMuMzIyNDQ1XSByMTA6IDAwMDAwMDAwICByOSA6IDAwMDAw MDAwICByOCA6IGMwZjliODAwCj4+IFsgICAxMy4zNDU4ODddIHI3IDogMDAwNDkzZTAgIHI2IDog YzExNWVmMTggIHI1IDogYzEwMDUwNTggIHI0IDogYzIwNTVlMDAKPj4gWyAgIDEzLjM3MDcxNF0g cjMgOiBiNGFlYjE5MyAgcjIgOiBiNGFlYjE5MyAgcjEgOiA2MDAwMDAxMyAgcjAgOiBmZmZmZmZm MAo+PiBbICAgMTMuMzk1MzczXSBGbGFnczogTnpDdiAgSVJRcyBvbiAgRklRcyBvbiAgTW9kZSBT VkNfMzIgIElTQSBBUk0gIFNlZ21lbnQgbm9uZQo+PiBbICAgMTMuNDIwOTQ4XSBDb250cm9sOiAx MGM1Mzg3ZCAgVGFibGU6IDYwMDA0MDRhICBEQUM6IDAwMDAwMDUxCj4+IFsgICAxMy40NDQ5MTRd IFJlZ2lzdGVyIHIwIGluZm9ybWF0aW9uOiBub24tcGFnZWQgbWVtb3J5Cj4+IFsgICAxMy40Njgy MzBdIFJlZ2lzdGVyIHIxIGluZm9ybWF0aW9uOiBub24tcGFnZWQgbWVtb3J5Cj4+IFsgICAxMy40 OTEyODldIFJlZ2lzdGVyIHIyIGluZm9ybWF0aW9uOiBub24tcGFnZWQgbWVtb3J5Cj4+IFsgICAx My41MTQxMzVdIFJlZ2lzdGVyIHIzIGluZm9ybWF0aW9uOiBub24tcGFnZWQgbWVtb3J5Cj4+IFsg ICAxMy41MzY3NjddIFJlZ2lzdGVyIHI0IGluZm9ybWF0aW9uOiBzbGFiIGttYWxsb2MtNTEyIHN0 YXJ0IGMyMDU1ZTAwIHBvaW50ZXIgb2Zmc2V0IDAgc2l6ZSA1MTIKPj4gWyAgIDEzLjU2MzcxMl0g UmVnaXN0ZXIgcjUgaW5mb3JtYXRpb246IG5vbi1zbGFiL3ZtYWxsb2MgbWVtb3J5Cj4+IFsgICAx My41ODcxNThdIFJlZ2lzdGVyIHI2IGluZm9ybWF0aW9uOiBub24tc2xhYi92bWFsbG9jIG1lbW9y eQo+PiBbICAgMTMuNjEwMzg1XSBSZWdpc3RlciByNyBpbmZvcm1hdGlvbjogbm9uLXBhZ2VkIG1l bW9yeQo+PiBbICAgMTMuNjMyNjk5XSBSZWdpc3RlciByOCBpbmZvcm1hdGlvbjogbm9uLXNsYWIv dm1hbGxvYyBtZW1vcnkKPj4gWyAgIDEzLjY1NTUyOV0gUmVnaXN0ZXIgcjkgaW5mb3JtYXRpb246 IE5VTEwgcG9pbnRlcgo+PiBbICAgMTMuNjc3MjA0XSBSZWdpc3RlciByMTAgaW5mb3JtYXRpb246 IE5VTEwgcG9pbnRlcgo+PiBbICAgMTMuNjk4ODY1XSBSZWdpc3RlciByMTEgaW5mb3JtYXRpb246 IDItcGFnZSB2bWFsbG9jIHJlZ2lvbiBzdGFydGluZyBhdCAweGYwODIwMDAwIGFsbG9jYXRlZCBh dCBrZXJuZWxfY2xvbmUrMHhjMC8weDNiMAo+PiBbICAgMTMuNzI3Njc4XSBSZWdpc3RlciByMTIg aW5mb3JtYXRpb246IDItcGFnZSB2bWFsbG9jIHJlZ2lvbiBzdGFydGluZyBhdCAweGYwODIwMDAw IGFsbG9jYXRlZCBhdCBrZXJuZWxfY2xvbmUrMHhjMC8weDNiMAo+PiBbICAgMTMuNzU2MzIwXSBQ cm9jZXNzIHN3YXBwZXIvMCAocGlkOiAxLCBzdGFjayBsaW1pdCA9IDB4KHB0cnZhbCkpCj4+IFsg ICAxMy43Nzk1MjNdIFN0YWNrOiAoMHhmMDgyMWM1MCB0byAweGYwODIyMDAwKQo+PiBbICAgMTMu ODAwODU4XSAxYzQwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwMDAwMDAw MCAwMDAwMDAwMSBlZjdjNTA1MCAwMDAwMDAwMQo+PiBbICAgMTMuODI2NzE5XSAxYzYwOiBjMTBk YTkwMCAwMDAwMDAwMiBjMTE1ZWYxOCBjMjA1NWYyMCBjMDk0MjIyNCAwMDAwMDAwMCBlZjdjNTA1 MCBjMTAwNGVjOAo+PiBbICAgMTMuODUyNTQ0XSAxYzgwOiBjMjBkN2I0MCBjMTBkYTg4NCBjMTAw NTA1OCBjMTAwNGYxNCBmMDgyMWNiNCBmMDgyMWNhMCBjMDY4ODU5MCBjMDY4N2FlOAo+PiBbICAg MTMuODc4MzMwXSAxY2EwOiBjMTBkYTU3MCBjMTBjZjhhOCBmMDgyMWNlNCBmMDgyMWNiOCBjMDU5 NTA4MCBjMDY4ODUyNCBjMTRmNzk1OCBjMTY0NTQzNAo+PiBbICAgMTMuOTA0MjMyXSAxY2MwOiAw MDAwMDAwMCBiNGFlYjE5MyAwMDAwMDA2MCBjMTBkYTkwMCBjMTE1ZWYxOCBjMTBkYTQzNCBmMDgy MWQwYyBmMDgyMWNlOAo+PiBbICAgMTMuOTMwMjMxXSAxY2UwOiBjMDY4NTllMCBjMDU5NGZkYyBj MTBkYThlYyBlZjdjNTA1MCBjMjBkN2I0MCAwMDAwMDAwMiBjMTBkYThlYyBlZjdjNTA1MAo+PiBb ICAgMTMuOTU2MzIxXSAxZDAwOiBmMDgyMWQ4YyBmMDgyMWQxMCBjMDY4YjlhNCBjMDY4NTg5YyBj MGIxNjFjYyBjMTAwNGVjOCAwMDAwMDAwMCBjMGI3YjcxOAo+PiBbICAgMTMuOTgyMzkyXSAxZDIw OiBjMTRlMzQwMCAwMDAwMDAwMCBjMjBkN2I0OCAwMDAwMDAwMSBjMDMzZjYwOCBjMjBkYTVkOCBj MjBkYTY4OCBjMTYwYzY4OAo+PiBbICAgMTQuMDA4NDQ2XSAxZDQwOiBjMGI4YmQyOCAwMDAwMDAw MSBjMGM0N2Q1NCBjMTExYjAwMCBmMDgyMWQ4NCAwMDAwMDAwMCAwMDAwMDAwMCBiNGFlYjE5Mwo+ PiBbICAgMTQuMDM0NjM3XSAxZDYwOiBjMTRlMzQxMCBjMTRlMzQxMCAwMDAwMDAwMCBjMTBkYTg5 OCAwMDAwMDAwMCBjMjBkN2FiOCBjMGM0N2Q1NCBjMTExYjAwMAo+PiBbICAgMTQuMDYwODk2XSAx ZDgwOiBmMDgyMWRhYyBmMDgyMWQ5MCBjMDU5OTQyNCBjMDY4YjY4YyBjMTRlMzQxMCAwMDAwMDAw MCBjMTBkYTg5OCAwMDAwMDAwMAo+PiBbICAgMTQuMDg3MzEzXSAxZGEwOiBmMDgyMWRjYyBmMDgy MWRiMCBjMDU5NmNkMCBjMDU5OTNjNCBjMTRlMzQxMCBjMTBkYTg5OCBjMTRlMzQxMCAwMDAwMDAw MAo+PiBbICAgMTQuMTEzNjAxXSAxZGMwOiBmMDgyMWRlNCBmMDgyMWRkMCBjMDU5NmY4YyBjMDU5 NmMwNCBjMTE1ZGQ2OCBjMTRlMzQxMCBmMDgyMWUwNCBmMDgyMWRlOAo+PiBbICAgMTQuMTM5OTUw XSAxZGUwOiBjMDU5NmZlOCBjMDU5NmVjMCAwMDAwMDAwMCBjMTRlMzQxMCBjMTBkYTg5OCBjMDU5 NzQxYyBmMDgyMWUyYyBmMDgyMWUwOAo+PiBbICAgMTQuMTY2MzUxXSAxZTAwOiBjMDU5NzQ5MCBj MDU5NmZiNCBjMTU0NmFiNCBjMTAwNGVjOCBjMTBkYTg5OCBjMDU5NzQxYyBjMjBkN2FiOCBjMGM0 N2Q1NAo+PiBbICAgMTQuMTkyNzkwXSAxZTIwOiBmMDgyMWU1YyBmMDgyMWUzMCBjMDU5NGMyYyBj MDU5NzQyOCBmMDgyMWU2OCBjMTRmNzg1OCBjMTU0NmFiNCBiNGFlYjE5Mwo+PiBbICAgMTQuMjE5 MjczXSAxZTQwOiBjMTBkYTg5OCBjMTBjZjgwOCBjMjBkN2E4MCAwMDAwMDAwMCBmMDgyMWU2YyBm MDgyMWU2MCBjMDU5NjUyOCBjMDU5NGJiNAo+PiBbICAgMTQuMjQ1ODc1XSAxZTYwOiBmMDgyMWU5 YyBmMDgyMWU3MCBjMDU5NWU2MCBjMDU5NjUwOCBjMGI3YjdjOCAwMDAwMDAwMCBmMDgyMWU5YyBj MTBkYTg5OAo+PiBbICAgMTQuMjcyNTUwXSAxZTgwOiBjMTAwNGVjOCBjMGMyOGU4NCAwMDAwMDAw MCBjMTQ1Njg1NCBmMDgyMWViNCBmMDgyMWVhMCBjMDU5N2M4MCBjMDU5NWNjMAo+PiBbICAgMTQu Mjk5MjcwXSAxZWEwOiBjMTEwY2VjMCBjMTAwNGVjOCBmMDgyMWVjNCBmMDgyMWViOCBjMDU5OTEz MCBjMDU5N2MwOCBmMDgyMWVkNCBmMDgyMWVjOAo+PiBbICAgMTQuMzI2MTI1XSAxZWMwOiBjMGMy OGVhOCBjMDU5OTExMCBmMDgyMWY0YyBmMDgyMWVkOCBjMDEwMjE4MCBjMGMyOGU5MCBjMDMzMThl NCBjMGIxNGYzMAo+PiBbICAgMTQuMzUyOTEyXSAxZWUwOiBjMGIxNGYxMCBjMGIxNGYwMCBjMGIy YmM3OCBjMTAwNGVjOCAwMDAwMDAwMCBjMGI4NTVkMCAwMDAwMDAwNiAwMDAwMDAwNgo+PiBbICAg MTQuMzc5ODA1XSAxZjAwOiAwMDAwMDAwMCBjMGI3NmViMCBjMGMwMDU1YyBjMGJlYmY3OCBjMDk1 M2E5YyBjMTU0NjY1YiAwMDAwMDAwMCBiNGFlYjE5Mwo+PiBbICAgMTQuNDA2NjY1XSAxZjIwOiBj MDE4MWNiOCBiNGFlYjE5MyAwMDAwMDBjNiBjMGM4MjE2MCAwMDAwMDAwNyBjMGM0N2QzNCBjMTU0 NjYwMCAwMDAwMDBjNgo+PiBbICAgMTQuNDMzNjYxXSAxZjQwOiBmMDgyMWY5NCBmMDgyMWY1MCBj MGMwMWE0OCBjMDEwMjEzNCAwMDAwMDAwNiAwMDAwMDAwNiAwMDAwMDAwMCBjMGMwMDU1Ywo+PiBb ICAgMTQuNDYwNjIxXSAxZjYwOiBjMGMwMDU1YyBjMGJlYmY3OCBjMTU4ODAwMCAwMDAwNGVjMCBj MDk2ZWE0OCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAo+PiBbICAgMTQuNDg3NjgxXSAxZjgw OiAwMDAwMDAwMCAwMDAwMDAwMCBmMDgyMWZhYyBmMDgyMWY5OCBjMDk2ZWE2YyBjMGMwMTg4NCAw MDAwMDAwMCBjMDk2ZWE0OAo+PiBbICAgMTQuNTE0Njk1XSAxZmEwOiAwMDAwMDAwMCBmMDgyMWZi MCBjMDEwMDE0OCBjMDk2ZWE1NCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAo+ PiBbICAgMTQuNTQxNzcxXSAxZmMwOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMAo+PiBbICAgMTQuNTY4NjE1XSAx ZmUwOiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAxMyAwMDAwMDAw MCAwMDAwMDAwMCAwMDAwMDAwMAo+PiBbICAgMTQuNTk1MTk0XSBCYWNrdHJhY2U6Cj4+IFsgICAx NC42MTUyMDddICBjcHVmcmVxX29ubGluZSBmcm9tIGNwdWZyZXFfYWRkX2RldisweDc4LzB4ODQK Pj4gWyAgIDE0LjYzODgxOV0gIHIxMDpjMTAwNGYxNCByOTpjMTAwNTA1OCByODpjMTBkYTg4NCBy NzpjMjBkN2I0MCByNjpjMTAwNGVjOCByNTplZjdjNTA1MAo+PiBbICAgMTQuNjY1MTk4XSAgcjQ6 MDAwMDAwMDAKPj4gWyAgIDE0LjY4NTUxNF0gIGNwdWZyZXFfYWRkX2RldiBmcm9tIHN1YnN5c19p bnRlcmZhY2VfcmVnaXN0ZXIrMHhiMC8weGZjCj4+IFsgICAxNC43MTA1NThdICByNTpjMTBjZjhh OCByNDpjMTBkYTU3MAo+PiBbICAgMTQuNzMyMDc2XSAgc3Vic3lzX2ludGVyZmFjZV9yZWdpc3Rl ciBmcm9tIGNwdWZyZXFfcmVnaXN0ZXJfZHJpdmVyKzB4MTUwLzB4MmQ4Cj4+IFsgICAxNC43NTgw OTRdICByNjpjMTBkYTQzNCByNTpjMTE1ZWYxOCByNDpjMTBkYTkwMAo+PiBbICAgMTQuNzgwOTQz XSAgY3B1ZnJlcV9yZWdpc3Rlcl9kcml2ZXIgZnJvbSBkdF9jcHVmcmVxX3Byb2JlKzB4MzI0LzB4 NDljCj4+IFsgICAxNC44MDYyODNdICByNjplZjdjNTA1MCByNTpjMTBkYThlYyByNDowMDAwMDAw Mgo+PiBbICAgMTQuODI5Mjk5XSAgZHRfY3B1ZnJlcV9wcm9iZSBmcm9tIHBsYXRmb3JtX3Byb2Jl KzB4NmMvMHhjOAo+PiBbICAgMTQuODUzNDk5XSAgcjEwOmMxMTFiMDAwIHI5OmMwYzQ3ZDU0IHI4 OmMyMGQ3YWI4IHI3OjAwMDAwMDAwIHI2OmMxMGRhODk4IHI1OjAwMDAwMDAwCj4+IFsgICAxNC44 ODAzODhdICByNDpjMTRlMzQxMAo+PiBbICAgMTQuOTAxMjUyXSAgcGxhdGZvcm1fcHJvYmUgZnJv bSByZWFsbHlfcHJvYmUrMHhkOC8weDJiYwo+PiBbICAgMTQuOTI1NDczXSAgcjc6MDAwMDAwMDAg cjY6YzEwZGE4OTggcjU6MDAwMDAwMDAgcjQ6YzE0ZTM0MTAKPj4gWyAgIDE0Ljk0OTg5OF0gIHJl YWxseV9wcm9iZSBmcm9tIF9fZHJpdmVyX3Byb2JlX2RldmljZSsweGQ4LzB4ZjQKPj4gWyAgIDE0 Ljk3NDU0Nl0gIHI3OjAwMDAwMDAwIHI2OmMxNGUzNDEwIHI1OmMxMGRhODk4IHI0OmMxNGUzNDEw Cj4+IFsgICAxNC45OTg4NTVdICBfX2RyaXZlcl9wcm9iZV9kZXZpY2UgZnJvbSBkcml2ZXJfcHJv YmVfZGV2aWNlKzB4NDAvMHhkMAo+PiBbICAgMTUuMDI0NDI2XSAgcjU6YzE0ZTM0MTAgcjQ6YzEx NWRkNjgKPj4gWyAgIDE1LjA0Njg1N10gIGRyaXZlcl9wcm9iZV9kZXZpY2UgZnJvbSBfX2RyaXZl cl9hdHRhY2grMHg3NC8weDEyMAo+PiBbICAgMTUuMDcyMzgwXSAgcjc6YzA1OTc0MWMgcjY6YzEw ZGE4OTggcjU6YzE0ZTM0MTAgcjQ6MDAwMDAwMDAKPj4gWyAgIDE1LjA5NzM4OF0gIF9fZHJpdmVy X2F0dGFjaCBmcm9tIGJ1c19mb3JfZWFjaF9kZXYrMHg4NC8weGM0Cj4+IFsgICAxNS4xMjI0NDRd ICByOTpjMGM0N2Q1NCByODpjMjBkN2FiOCByNzpjMDU5NzQxYyByNjpjMTBkYTg5OCByNTpjMTAw NGVjOCByNDpjMTU0NmFiNAo+PiBbICAgMTUuMTUwMTMxXSAgYnVzX2Zvcl9lYWNoX2RldiBmcm9t IGRyaXZlcl9hdHRhY2grMHgyYy8weDMwCj4+IFsgICAxNS4xNzU1MzJdICByNzowMDAwMDAwMCBy NjpjMjBkN2E4MCByNTpjMTBjZjgwOCByNDpjMTBkYTg5OAo+PiBbICAgMTUuMjAxMTM0XSAgZHJp dmVyX2F0dGFjaCBmcm9tIGJ1c19hZGRfZHJpdmVyKzB4MWFjLzB4MWY4Cj4+IFsgICAxNS4yMjY3 NzJdICBidXNfYWRkX2RyaXZlciBmcm9tIGRyaXZlcl9yZWdpc3RlcisweDg0LzB4MTFjCj4+IFsg ICAxNS4yNTI1NTldICByODpjMTQ1Njg1NCByNzowMDAwMDAwMCByNjpjMGMyOGU4NCByNTpjMTAw NGVjOCByNDpjMTBkYTg5OAo+PiBbICAgMTUuMjc5NDgzXSAgZHJpdmVyX3JlZ2lzdGVyIGZyb20g X19wbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIrMHgyYy8weDM0Cj4+IFsgICAxNS4zMDY1MjNdICBy NTpjMTAwNGVjOCByNDpjMTEwY2VjMAo+PiBbICAgMTUuMzI5ODAxXSAgX19wbGF0Zm9ybV9kcml2 ZXJfcmVnaXN0ZXIgZnJvbSBkdF9jcHVmcmVxX3BsYXRkcnZfaW5pdCsweDI0LzB4MjgKPj4gWyAg IDE1LjM1NzUwMF0gIGR0X2NwdWZyZXFfcGxhdGRydl9pbml0IGZyb20gZG9fb25lX2luaXRjYWxs KzB4NTgvMHgyMGMKPj4gWyAgIDE1LjM4NDE1OV0gIGRvX29uZV9pbml0Y2FsbCBmcm9tIGtlcm5l bF9pbml0X2ZyZWVhYmxlKzB4MWQwLzB4MjJjCj4+IFsgICAxNS40MTA2MzVdICByODowMDAwMDBj NiByNzpjMTU0NjYwMCByNjpjMGM0N2QzNCByNTowMDAwMDAwNyByNDpjMGM4MjE2MAo+PiBbICAg MTUuNDM3NTY3XSAga2VybmVsX2luaXRfZnJlZWFibGUgZnJvbSBrZXJuZWxfaW5pdCsweDI0LzB4 MTQ0Cj4+IFsgICAxNS40NjM1NzNdICByMTA6MDAwMDAwMDAgcjk6MDAwMDAwMDAgcjg6MDAwMDAw MDAgcjc6MDAwMDAwMDAgcjY6MDAwMDAwMDAgcjU6YzA5NmVhNDgKPj4gWyAgIDE1LjQ5MTg2OV0g IHI0OjAwMDA0ZWMwCj4+IFsgICAxNS41MTQwMjJdICBrZXJuZWxfaW5pdCBmcm9tIHJldF9mcm9t X2ZvcmsrMHgxNC8weDJjCj4+IFsgICAxNS41MzkwNzldIEV4Y2VwdGlvbiBzdGFjaygweGYwODIx ZmIwIHRvIDB4ZjA4MjFmZjgpCj4+IFsgICAxNS41NjM5NDNdIDFmYTA6ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw Cj4+IFsgICAxNS41OTI0NTldIDFmYzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwCj4+IFsgICAxNS42MjA4MzZd IDFmZTA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDEzIDAwMDAw MDAwCj4+IFsgICAxNS42NDcyMjJdICByNTpjMDk2ZWE0OCByNDowMDAwMDAwMAo+PiBbICAgMTUu NjcwMTk2XSBDb2RlOiBlMWEwMDAwNCBlYmZmZjc0ZCBlMzUwMDAwMCAwYTAwMDAxYSAoZTdmMDAx ZjIpCj4+IFsgICAxNS42OTYwODZdIC0tLVsgZW5kIHRyYWNlIDAwMDAwMDAwMDAwMDAwMDAgXS0t LQo+PiBbICAgMTUuNzIwNTIyXSBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogQXR0ZW1wdGVk IHRvIGtpbGwgaW5pdCEgZXhpdGNvZGU9MHgwMDAwMDAwYgo+PiBbICAgMTUuNzQ4NDA0XSAtLS1b IGVuZCBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogQXR0ZW1wdGVkIHRvIGtpbGwgaW5pdCEg ZXhpdGNvZGU9MHgwMDAwMDAwYiBdLS0tCj4+Cj4+Cj4+IE9uIDQvNi8yMSAxNTowMCwgQW5kcmVh IE1lcmVsbG8gd3JvdGU6Cj4+PiBUaGlzIHBhdGNoIGFkZHMgcmF0ZSBjaGFuZ2Ugbm90aWZpY2F0 aW9uIHN1cHBvcnQgZm9yIHRoZSBwYXJlbnQgY2xvY2s7Cj4+PiBzaG91bGQgdGhhdCBjbG9jayBj aGFuZ2UsIHRoZW4gd2UgdHJ5IHRvIGFkanVzdCB0aGUgb3VyIHByZXNjYWxlciBpbiBvcmRlcgo+ Pj4gdG8gY29tcGVuc2F0ZSAoaS5lLiB3ZSBhZGp1c3QgdG8gc3RpbGwgZ2V0IHRoZSBzYW1lIHRp bWVyIGZyZXF1ZW5jeSkuCj4+Pgo+Pj4gVGhpcyBpcyBsb29zZWx5IGJhc2VkIG9uIHdoYXQgaXQn cyBkb25lIGluIHRpbWVyLWNhZGVuY2UtdHRjLiB0aW1lci1zdW41MSwKPj4+IG1pcHMtZ2ljLXRp bWVyIGFuZCBzbXBfdHdkLmMgYWxzbyBzZWVtIHRvIGxvb2sgYXQgdGhlaXIgcGFyZW50IGNsb2Nr IHJhdGUKPj4+IGFuZCB0byBwZXJmb3JtIHNvbWUga2luZCBvZiBhZGp1c3RtZW50IHdoZW5ldmVy IG5lZWRlZC4KPj4+Cj4+PiBJbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSB3ZSBoYXZlIG9ubHkgb25l IHNpbmdsZSBjb3VudGVyIGFuZCBwcmVzY2FsZXIgZm9yCj4+PiBhbGwgY2xvY2tzb3VyY2UsIGNs b2NrZXZlbnQgYW5kIHRpbWVyX2RlbGF5LCBhbmQgd2UganVzdCB1cGRhdGUgaXQgZm9yIGFsbAo+ Pj4gKGkuZS4gd2UgZG9uJ3QgbGV0IGl0IGdvIGFuZCBjYWxsIGNsb2NrZXZlbnRzX3VwZGF0ZV9m cmVxKCkgdG8gbm90aWZ5IHRvCj4+PiB0aGUga2VybmVsIHRoYXQgb3VyIHJhdGUgaGFzIGNoYW5n ZWQpLgo+Pj4KPj4+IE5vdGUgdGhhdCwgdGhlcmUgaXMgYXBwYXJlbnRseSBubyBvdGhlciB3YXkg dG8gZml4dXAgdGhpbmdzLCBiZWNhdXNlIG9uY2UKPj4+IHdlIGNhbGwgcmVnaXN0ZXJfY3VycmVu dF90aW1lcl9kZWxheSgpLCBzcGVjaWZ5aW5nIHRoZSB0aW1lciByYXRlLCBpdCBzZWVtcwo+Pj4g dGhhdCB0aGF0IHJhdGUgaXMgbm90IHN1cHBvc2VkIHRvIGNoYW5nZSBldmVyLgo+Pj4KPj4+IElu IG9yZGVyIGZvciB0aGlzIG1lY2hhbmlzbSB0byB3b3JrLCB3ZSBoYXZlIHRvIG1ha2UgYXNzdW1w dGlvbnMgYWJvdXQgaG93Cj4+PiBtdWNoIHRoZSBpbml0aWFsIGNsb2NrIGlzIHN1cHBvc2VkIHRv IGV2ZW50dWFsbHkgZGVjcmVhc2UgZnJvbSB0aGUgaW5pdGlhbAo+Pj4gb25lLCBhbmQgc2V0IG91 ciBpbml0aWFsIHByZXNjYWxlciB0byBhIHZhbHVlIHRoYXQgd2UgY2FuIGV2ZW50dWFsbHkKPj4+ IGRlY3JlYXNlIGVub3VnaCB0byBjb21wZW5zYXRlLiBXZSBwcm92aWRlIGFuIG9wdGlvbiBpbiBL Q29uZmlnIGZvciB0aGlzLgo+Pj4KPj4+IEluIGNhc2Ugd2UgZW5kIHVwIGluIGEgc2l0dWF0aW9u IGluIHdoaWNoIHdlIGFyZSBub3QgYWJsZSB0byBjb21wZW5zYXRlIHRoZQo+Pj4gcGFyZW50IGNs b2NrIGNoYW5nZSwgd2UgZmFpbCByZXR1cm5pbmcgTk9USUZZX0JBRC4KPj4+Cj4+PiBUaGlzIGZp eGVzIGEgcmVhbC13b3JsZCBwcm9ibGVtIHdpdGggWnlucSBhcmNoIG5vdCBiZWluZyBhYmxlIHRv IHVzZSB0aGlzCj4+PiBkcml2ZXIgYW5kIENQVV9GUkVRIGF0IHRoZSBzYW1lIHRpbWUgKGJlY2F1 c2UgQVJNIGdsb2JhbCB0aW1lciBpcyBmZWQgYnkKPj4+IHRoZSBDUFUgY2xvY2ssIHdoaWNoIG1h eSBrZWVwIGNoYW5naW5nIHdoZW4gQ1BVX0ZSRVEgaXMgZW5hYmxlZCkuCj4+Pgo+Pj4gU2lnbmVk LW9mZi1ieTogQW5kcmVhIE1lcmVsbG8gPGFuZHJlYS5tZXJlbGxvQGdtYWlsLmNvbT4KPj4+IENj OiBQYXRyaWNlIENob3RhcmQgPHBhdHJpY2UuY2hvdGFyZEBzdC5jb20+Cj4+PiBDYzogbGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZwo+Pj4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwo+Pj4gQ2M6IE1pY2hhbCBTaW1layA8bWljaGFsLnNpbWVrQHhpbGlueC5jb20+ Cj4+PiBDYzogU8O2cmVuIEJyaW5rbWFubiA8c29yZW4uYnJpbmttYW5uQHhpbGlueC5jb20+Cj4+ PiAtLS0KPj4+ICBkcml2ZXJzL2Nsb2Nrc291cmNlL0tjb25maWcgICAgICAgICAgICB8ICAxMyAr KysKPj4+ICBkcml2ZXJzL2Nsb2Nrc291cmNlL2FybV9nbG9iYWxfdGltZXIuYyB8IDEyMiArKysr KysrKysrKysrKysrKysrKysrKy0tCj4+PiAgMiBmaWxlcyBjaGFuZ2VkLCAxMjUgaW5zZXJ0aW9u cygrKSwgMTAgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xvY2tz b3VyY2UvS2NvbmZpZyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvS2NvbmZpZwo+Pj4gaW5kZXggMzlh YTIxZDAxZTA1Li4xOWZjNWY4ODgzZTAgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2Nsb2Nrc291 cmNlL0tjb25maWcKPj4+ICsrKyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvS2NvbmZpZwo+Pj4gQEAg LTM1OCw2ICszNTgsMTkgQEAgY29uZmlnIEFSTV9HTE9CQUxfVElNRVIKPj4+ICAgICAgIGhlbHAK Pj4+ICAgICAgICAgVGhpcyBvcHRpb24gZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgQVJNIGdsb2Jh bCB0aW1lciB1bml0Lgo+Pj4KPj4+ICtjb25maWcgQVJNX0dUX0lOSVRJQUxfUFJFU0NBTEVSX1ZB TAo+Pj4gKyAgICAgaW50ICJBUk0gZ2xvYmFsIHRpbWVyIGluaXRpYWwgcHJlc2NhbGVyIHZhbHVl Igo+Pj4gKyAgICAgZGVmYXVsdCAxCj4+PiArICAgICBkZXBlbmRzIG9uIEFSTV9HTE9CQUxfVElN RVIKPj4+ICsgICAgIGhlbHAKPj4+ICsgICAgICAgV2hlbiB0aGUgQVJNIGdsb2JhbCB0aW1lciBp bml0aWFsaXplcywgaXRzIGN1cnJlbnQgcmF0ZSBpcyBkZWNsYXJlZAo+Pj4gKyAgICAgICB0byB0 aGUga2VybmVsIGFuZCBtYWludGFpbmVkIGZvcmV2ZXIuIFNob3VsZCBpdCdzIHBhcmVudCBjbG9j awo+Pj4gKyAgICAgICBjaGFuZ2UsIHRoZSBkcml2ZXIgdHJpZXMgdG8gZml4IHRoZSB0aW1lcidz IGludGVybmFsIHByZXNjYWxlci4KPj4+ICsgICAgICAgT24gc29tZSBtYWNocyAoaS5lLiBaeW5x KSB0aGUgaW5pdGlhbCBwcmVzY2FsZXIgdmFsdWUgdGh1cyBwb3Nlcwo+Pj4gKyAgICAgICBib3Vu ZHMgYWJvdXQgaG93IG11Y2ggdGhlIHBhcmVudCBjbG9jayBpcyBhbGxvd2VkIHRvIGRlY3JlYXNl IG9yCj4+PiArICAgICAgIGluY3JlYXNlIHdydCB0aGUgaW5pdGlhbCBjbG9jayB2YWx1ZS4KPj4+ ICsgICAgICAgVGhpcyBhZmZlY3RzIENQVV9GUkVRIG1heCBkZWx0YSBmcm9tIHRoZSBpbml0aWFs IGZyZXF1ZW5jeS4KPj4+ICsKPj4+ICBjb25maWcgQVJNX1RJTUVSX1NQODA0Cj4+PiAgICAgICBi b29sICJTdXBwb3J0IGZvciBEdWFsIFRpbWVyIFNQODA0IG1vZHVsZSIgaWYgQ09NUElMRV9URVNU Cj4+PiAgICAgICBkZXBlbmRzIG9uIEdFTkVSSUNfU0NIRURfQ0xPQ0sgJiYgQ0xLREVWX0xPT0tV UAo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xvY2tzb3VyY2UvYXJtX2dsb2JhbF90aW1lci5j IGIvZHJpdmVycy9jbG9ja3NvdXJjZS9hcm1fZ2xvYmFsX3RpbWVyLmMKPj4+IGluZGV4IDg4YjJk MzhhN2E2MS4uNjBhODA0N2ZkMzJlIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9jbG9ja3NvdXJj ZS9hcm1fZ2xvYmFsX3RpbWVyLmMKPj4+ICsrKyBiL2RyaXZlcnMvY2xvY2tzb3VyY2UvYXJtX2ds b2JhbF90aW1lci5jCj4+PiBAQCAtMzEsNiArMzEsMTAgQEAKPj4+ICAjZGVmaW5lIEdUX0NPTlRS T0xfQ09NUF9FTkFCTEUgICAgICAgICAgICAgICBCSVQoMSkgIC8qIGJhbmtlZCAqLwo+Pj4gICNk ZWZpbmUgR1RfQ09OVFJPTF9JUlFfRU5BQkxFICAgICAgICAgICAgICAgIEJJVCgyKSAgLyogYmFu a2VkICovCj4+PiAgI2RlZmluZSBHVF9DT05UUk9MX0FVVE9fSU5DICAgICAgICAgIEJJVCgzKSAg LyogYmFua2VkICovCj4+PiArI2RlZmluZSBHVF9DT05UUk9MX1BSRVNDQUxFUl9TSElGVCAgICAg IDgKPj4+ICsjZGVmaW5lIEdUX0NPTlRST0xfUFJFU0NBTEVSX01BWCAgICAgICAgMHhGCj4+PiAr I2RlZmluZSBHVF9DT05UUk9MX1BSRVNDQUxFUl9NQVNLICAgICAgIChHVF9DT05UUk9MX1BSRVND QUxFUl9NQVggPDwgXAo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R1RfQ09OVFJPTF9QUkVTQ0FMRVJfU0hJRlQpCj4+Pgo+Pj4gICNkZWZpbmUgR1RfSU5UX1NUQVRV UyAgICAgICAgMHgwYwo+Pj4gICNkZWZpbmUgR1RfSU5UX1NUQVRVU19FVkVOVF9GTEFHICAgICBC SVQoMCkKPj4+IEBAIC0zOSw2ICs0Myw3IEBACj4+PiAgI2RlZmluZSBHVF9DT01QMSAgICAgMHgx NAo+Pj4gICNkZWZpbmUgR1RfQVVUT19JTkMgIDB4MTgKPj4+Cj4+PiArI2RlZmluZSBNQVhfRl9F UlIgNTAKPj4+ICAvKgo+Pj4gICAqIFdlIGFyZSBleHBlY3RpbmcgdG8gYmUgY2xvY2tlZCBieSB0 aGUgQVJNIHBlcmlwaGVyYWwgY2xvY2suCj4+PiAgICoKPj4+IEBAIC00Niw3ICs1MSw4IEBACj4+ PiAgICogdGhlIHVuaXRzIGZvciBhbGwgb3BlcmF0aW9ucy4KPj4+ICAgKi8KPj4+ICBzdGF0aWMg dm9pZCBfX2lvbWVtICpndF9iYXNlOwo+Pj4gLXN0YXRpYyB1bnNpZ25lZCBsb25nIGd0X2Nsa19y YXRlOwo+Pj4gK3N0cnVjdCBub3RpZmllcl9ibG9jayBndF9jbGtfcmF0ZV9jaGFuZ2VfbmI7Cj4+ PiArc3RhdGljIHUzMiBndF9wc3ZfbmV3LCBndF9wc3ZfYmNrLCBndF90YXJnZXRfcmF0ZTsKPj4+ ICBzdGF0aWMgaW50IGd0X3BwaTsKPj4+ICBzdGF0aWMgc3RydWN0IGNsb2NrX2V2ZW50X2Rldmlj ZSBfX3BlcmNwdSAqZ3RfZXZ0Owo+Pj4KPj4+IEBAIC05Niw3ICsxMDIsMTAgQEAgc3RhdGljIHZv aWQgZ3RfY29tcGFyZV9zZXQodW5zaWduZWQgbG9uZyBkZWx0YSwgaW50IHBlcmlvZGljKQo+Pj4g ICAgICAgdW5zaWduZWQgbG9uZyBjdHJsOwo+Pj4KPj4+ICAgICAgIGNvdW50ZXIgKz0gZGVsdGE7 Cj4+PiAtICAgICBjdHJsID0gR1RfQ09OVFJPTF9USU1FUl9FTkFCTEU7Cj4+PiArICAgICBjdHJs ID0gcmVhZGwoZ3RfYmFzZSArIEdUX0NPTlRST0wpOwo+Pj4gKyAgICAgY3RybCAmPSB+KEdUX0NP TlRST0xfQ09NUF9FTkFCTEUgfCBHVF9DT05UUk9MX0lSUV9FTkFCTEUgfAo+Pj4gKyAgICAgICAg ICAgICAgIEdUX0NPTlRST0xfQVVUT19JTkMgfCBHVF9DT05UUk9MX0FVVE9fSU5DKTsKPj4+ICsg ICAgIGN0cmwgfD0gR1RfQ09OVFJPTF9USU1FUl9FTkFCTEU7Cj4+PiAgICAgICB3cml0ZWxfcmVs YXhlZChjdHJsLCBndF9iYXNlICsgR1RfQ09OVFJPTCk7Cj4+PiAgICAgICB3cml0ZWxfcmVsYXhl ZChsb3dlcl8zMl9iaXRzKGNvdW50ZXIpLCBndF9iYXNlICsgR1RfQ09NUDApOwo+Pj4gICAgICAg d3JpdGVsX3JlbGF4ZWQodXBwZXJfMzJfYml0cyhjb3VudGVyKSwgZ3RfYmFzZSArIEdUX0NPTVAx KTsKPj4+IEBAIC0xMjMsNyArMTMyLDcgQEAgc3RhdGljIGludCBndF9jbG9ja2V2ZW50X3NodXRk b3duKHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKPj4+Cj4+PiAgc3RhdGljIGludCBn dF9jbG9ja2V2ZW50X3NldF9wZXJpb2RpYyhzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlICpldnQp Cj4+PiAgewo+Pj4gLSAgICAgZ3RfY29tcGFyZV9zZXQoRElWX1JPVU5EX0NMT1NFU1QoZ3RfY2xr X3JhdGUsIEhaKSwgMSk7Cj4+PiArICAgICBndF9jb21wYXJlX3NldChESVZfUk9VTkRfQ0xPU0VT VChndF90YXJnZXRfcmF0ZSwgSFopLCAxKTsKPj4+ICAgICAgIHJldHVybiAwOwo+Pj4gIH0KPj4+ Cj4+PiBAQCAtMTc3LDcgKzE4Niw3IEBAIHN0YXRpYyBpbnQgZ3Rfc3RhcnRpbmdfY3B1KHVuc2ln bmVkIGludCBjcHUpCj4+PiAgICAgICBjbGstPmNwdW1hc2sgPSBjcHVtYXNrX29mKGNwdSk7Cj4+ PiAgICAgICBjbGstPnJhdGluZyA9IDMwMDsKPj4+ICAgICAgIGNsay0+aXJxID0gZ3RfcHBpOwo+ Pj4gLSAgICAgY2xvY2tldmVudHNfY29uZmlnX2FuZF9yZWdpc3RlcihjbGssIGd0X2Nsa19yYXRl LAo+Pj4gKyAgICAgY2xvY2tldmVudHNfY29uZmlnX2FuZF9yZWdpc3RlcihjbGssIGd0X3Rhcmdl dF9yYXRlLAo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLCAweGZm ZmZmZmZmKTsKPj4+ICAgICAgIGVuYWJsZV9wZXJjcHVfaXJxKGNsay0+aXJxLCBJUlFfVFlQRV9O T05FKTsKPj4+ICAgICAgIHJldHVybiAwOwo+Pj4gQEAgLTIzMiw5ICsyNDEsMjggQEAgc3RhdGlj IHN0cnVjdCBkZWxheV90aW1lciBndF9kZWxheV90aW1lciA9IHsKPj4+ICAgICAgIC5yZWFkX2N1 cnJlbnRfdGltZXIgPSBndF9yZWFkX2xvbmcsCj4+PiAgfTsKPj4+Cj4+PiArc3RhdGljIHZvaWQg Z3Rfd3JpdGVfcHJlc2ModTMyIHBzdikKPj4+ICt7Cj4+PiArICAgICB1MzIgcmVnOwo+Pj4gKwo+ Pj4gKyAgICAgcmVnID0gcmVhZGwoZ3RfYmFzZSArIEdUX0NPTlRST0wpOwo+Pj4gKyAgICAgcmVn ICY9IH5HVF9DT05UUk9MX1BSRVNDQUxFUl9NQVNLOwo+Pj4gKyAgICAgcmVnIHw9IHBzdiA8PCBH VF9DT05UUk9MX1BSRVNDQUxFUl9TSElGVDsKPj4+ICsgICAgIHdyaXRlbChyZWcsIGd0X2Jhc2Ug KyBHVF9DT05UUk9MKTsKPj4+ICt9Cj4+PiArCj4+PiArc3RhdGljIHUzMiBndF9yZWFkX3ByZXNj KHZvaWQpCj4+PiArewo+Pj4gKyAgICAgdTMyIHJlZzsKPj4+ICsKPj4+ICsgICAgIHJlZyA9IHJl YWRsKGd0X2Jhc2UgKyBHVF9DT05UUk9MKTsKPj4+ICsgICAgIHJlZyAmPSBHVF9DT05UUk9MX1BS RVNDQUxFUl9NQVNLOwo+Pj4gKyAgICAgcmV0dXJuIHJlZyA+PiBHVF9DT05UUk9MX1BSRVNDQUxF Ul9TSElGVDsKPj4+ICt9Cj4+PiArCj4+PiAgc3RhdGljIHZvaWQgX19pbml0IGd0X2RlbGF5X3Rp bWVyX2luaXQodm9pZCkKPj4+ICB7Cj4+PiAtICAgICBndF9kZWxheV90aW1lci5mcmVxID0gZ3Rf Y2xrX3JhdGU7Cj4+PiArICAgICBndF9kZWxheV90aW1lci5mcmVxID0gZ3RfdGFyZ2V0X3JhdGU7 Cj4+PiAgICAgICByZWdpc3Rlcl9jdXJyZW50X3RpbWVyX2RlbGF5KCZndF9kZWxheV90aW1lcik7 Cj4+PiAgfQo+Pj4KPj4+IEBAIC0yNDMsMTggKzI3MSw4MSBAQCBzdGF0aWMgaW50IF9faW5pdCBn dF9jbG9ja3NvdXJjZV9pbml0KHZvaWQpCj4+PiAgICAgICB3cml0ZWwoMCwgZ3RfYmFzZSArIEdU X0NPTlRST0wpOwo+Pj4gICAgICAgd3JpdGVsKDAsIGd0X2Jhc2UgKyBHVF9DT1VOVEVSMCk7Cj4+ PiAgICAgICB3cml0ZWwoMCwgZ3RfYmFzZSArIEdUX0NPVU5URVIxKTsKPj4+IC0gICAgIC8qIGVu YWJsZXMgdGltZXIgb24gYWxsIHRoZSBjb3JlcyAqLwo+Pj4gLSAgICAgd3JpdGVsKEdUX0NPTlRS T0xfVElNRVJfRU5BQkxFLCBndF9iYXNlICsgR1RfQ09OVFJPTCk7Cj4+PiArICAgICAvKiBzZXQg cHJlc2NhbGVyIGFuZCBlbmFibGUgdGltZXIgb24gYWxsIHRoZSBjb3JlcyAqLwo+Pj4gKyAgICAg d3JpdGVsKCgoQ09ORklHX0FSTV9HVF9JTklUSUFMX1BSRVNDQUxFUl9WQUwgLSAxKSA8PAo+Pj4g KyAgICAgICAgICAgICBHVF9DT05UUk9MX1BSRVNDQUxFUl9TSElGVCkKPj4+ICsgICAgICAgICAg ICB8IEdUX0NPTlRST0xfVElNRVJfRU5BQkxFLCBndF9iYXNlICsgR1RfQ09OVFJPTCk7Cj4+Pgo+ Pj4gICNpZmRlZiBDT05GSUdfQ0xLU1JDX0FSTV9HTE9CQUxfVElNRVJfU0NIRURfQ0xPQ0sKPj4+ IC0gICAgIHNjaGVkX2Nsb2NrX3JlZ2lzdGVyKGd0X3NjaGVkX2Nsb2NrX3JlYWQsIDY0LCBndF9j bGtfcmF0ZSk7Cj4+PiArICAgICBzY2hlZF9jbG9ja19yZWdpc3RlcihndF9zY2hlZF9jbG9ja19y ZWFkLCA2NCwgZ3RfdGFyZ2V0X3JhdGUpOwo+Pj4gICNlbmRpZgo+Pj4gLSAgICAgcmV0dXJuIGNs b2Nrc291cmNlX3JlZ2lzdGVyX2h6KCZndF9jbG9ja3NvdXJjZSwgZ3RfY2xrX3JhdGUpOwo+Pj4g KyAgICAgcmV0dXJuIGNsb2Nrc291cmNlX3JlZ2lzdGVyX2h6KCZndF9jbG9ja3NvdXJjZSwgZ3Rf dGFyZ2V0X3JhdGUpOwo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgaW50IGd0X2Nsa19yYXRlX2No YW5nZV9jYihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAo+Pj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZXZlbnQsIHZvaWQgKmRhdGEpCj4+PiArewo+Pj4g KyAgICAgc3RydWN0IGNsa19ub3RpZmllcl9kYXRhICpuZGF0YSA9IGRhdGE7Cj4+PiArCj4+PiAr ICAgICBzd2l0Y2ggKGV2ZW50KSB7Cj4+PiArICAgICBjYXNlIFBSRV9SQVRFX0NIQU5HRToKPj4+ ICsgICAgIHsKPj4+ICsgICAgICAgICAgICAgaW50IHBzdjsKPj4+ICsKPj4KPj4+ICsgICAgICAg ICAgICAgcHN2ID0gRElWX1JPVU5EX0NMT1NFU1QobmRhdGEtPm5ld19yYXRlLAo+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndF90YXJnZXRfcmF0ZSk7Cj4+PiArCj4+ Cj4+PiArICAgICAgICAgICAgIGlmIChhYnMoZ3RfdGFyZ2V0X3JhdGUgLSAobmRhdGEtPm5ld19y YXRlIC8gcHN2KSkgPiBNQVhfRl9FUlIpCj4+PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IE5PVElGWV9CQUQ7Cj4+Cj4+IFRoaXMgcHN2IHZhcmlhYmxlIGNhbiBiZWNvbWUgYSAwIGRpdmlk ZXIuCj4+Cj4+PiArCj4+PiArICAgICAgICAgICAgIHBzdi0tOwo+Pj4gKwo+Pj4gKyAgICAgICAg ICAgICAvKiBwcmVzY2FsZXIgd2l0aGluIGxlZ2FsIHJhbmdlPyAqLwo+Pj4gKyAgICAgICAgICAg ICBpZiAocHN2IDwgMCB8fCBwc3YgPiBHVF9DT05UUk9MX1BSRVNDQUxFUl9NQVgpCj4+PiArICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuIE5PVElGWV9CQUQ7Cj4+PiArCj4+PiArICAgICAgICAg ICAgIC8qCj4+PiArICAgICAgICAgICAgICAqIHN0b3JlIHRpbWVyIGNsb2NrIGN0cmwgcmVnaXN0 ZXIgc28gd2UgY2FuIHJlc3RvcmUgaXQgaW4gY2FzZQo+Pj4gKyAgICAgICAgICAgICAgKiBvZiBh biBhYm9ydC4KPj4+ICsgICAgICAgICAgICAgICovCj4+PiArICAgICAgICAgICAgIGd0X3Bzdl9i Y2sgPSBndF9yZWFkX3ByZXNjKCk7Cj4+PiArICAgICAgICAgICAgIGd0X3Bzdl9uZXcgPSBwc3Y7 Cj4+PiArICAgICAgICAgICAgIC8qIHNjYWxlIGRvd246IGFkanVzdCBkaXZpZGVyIGluIHBvc3Qt Y2hhbmdlIG5vdGlmaWNhdGlvbiAqLwo+Pj4gKyAgICAgICAgICAgICBpZiAobmRhdGEtPm5ld19y YXRlIDwgbmRhdGEtPm9sZF9yYXRlKQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiBO T1RJRllfRE9ORTsKPj4+ICsKPj4+ICsgICAgICAgICAgICAgLyogc2NhbGUgdXA6IGFkanVzdCBk aXZpZGVyIG5vdyAtIGJlZm9yZSBmcmVxdWVuY3kgY2hhbmdlICovCj4+PiArICAgICAgICAgICAg IGd0X3dyaXRlX3ByZXNjKHBzdik7Cj4+PiArICAgICAgICAgICAgIGJyZWFrOwo+Pj4gKyAgICAg fQo+Pj4gKyAgICAgY2FzZSBQT1NUX1JBVEVfQ0hBTkdFOgo+Pj4gKyAgICAgICAgICAgICAvKiBz Y2FsZSB1cDogcHJlLWNoYW5nZSBub3RpZmljYXRpb24gZGlkIHRoZSBhZGp1c3RtZW50ICovCj4+ PiArICAgICAgICAgICAgIGlmIChuZGF0YS0+bmV3X3JhdGUgPiBuZGF0YS0+b2xkX3JhdGUpCj4+ PiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5PVElGWV9PSzsKPj4+ICsKPj4+ICsgICAg ICAgICAgICAgLyogc2NhbGUgZG93bjogYWRqdXN0IGRpdmlkZXIgbm93IC0gYWZ0ZXIgZnJlcXVl bmN5IGNoYW5nZSAqLwo+Pj4gKyAgICAgICAgICAgICBndF93cml0ZV9wcmVzYyhndF9wc3ZfbmV3 KTsKPj4+ICsgICAgICAgICAgICAgYnJlYWs7Cj4+PiArCj4+PiArICAgICBjYXNlIEFCT1JUX1JB VEVfQ0hBTkdFOgo+Pj4gKyAgICAgICAgICAgICAvKiB3ZSBoYXZlIHRvIHVuZG8gdGhlIGFkanVz dG1lbnQgaW4gY2FzZSB3ZSBzY2FsZSB1cCAqLwo+Pj4gKyAgICAgICAgICAgICBpZiAobmRhdGEt Pm5ld19yYXRlIDwgbmRhdGEtPm9sZF9yYXRlKQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgIHJl dHVybiBOT1RJRllfT0s7Cj4+PiArCj4+PiArICAgICAgICAgICAgIC8qIHJlc3RvcmUgb3JpZ2lu YWwgcmVnaXN0ZXIgdmFsdWUgKi8KPj4+ICsgICAgICAgICAgICAgZ3Rfd3JpdGVfcHJlc2MoZ3Rf cHN2X2Jjayk7Cj4+PiArICAgICAgICAgICAgIGJyZWFrOwo+Pj4gKyAgICAgZGVmYXVsdDoKPj4+ ICsgICAgICAgICAgICAgcmV0dXJuIE5PVElGWV9ET05FOwo+Pj4gKyAgICAgfQo+Pj4gKwo+Pj4g KyAgICAgcmV0dXJuIE5PVElGWV9ET05FOwo+Pj4gIH0KPj4+Cj4+PiAgc3RhdGljIGludCBfX2lu aXQgZ2xvYmFsX3RpbWVyX29mX3JlZ2lzdGVyKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnApCj4+PiAg ewo+Pj4gICAgICAgc3RydWN0IGNsayAqZ3RfY2xrOwo+Pj4gKyAgICAgc3RhdGljIHVuc2lnbmVk IGxvbmcgZ3RfY2xrX3JhdGU7Cj4+PiAgICAgICBpbnQgZXJyID0gMDsKPj4+Cj4+PiAgICAgICAv Kgo+Pj4gQEAgLTI5MiwxMSArMzgzLDIwIEBAIHN0YXRpYyBpbnQgX19pbml0IGdsb2JhbF90aW1l cl9vZl9yZWdpc3RlcihzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQo+Pj4gICAgICAgfQo+Pj4KPj4+ ICAgICAgIGd0X2Nsa19yYXRlID0gY2xrX2dldF9yYXRlKGd0X2Nsayk7Cj4+PiArICAgICBndF90 YXJnZXRfcmF0ZSA9IGd0X2Nsa19yYXRlIC8gQ09ORklHX0FSTV9HVF9JTklUSUFMX1BSRVNDQUxF Ul9WQUw7Cj4+PiArICAgICBndF9jbGtfcmF0ZV9jaGFuZ2VfbmIubm90aWZpZXJfY2FsbCA9Cj4+ PiArICAgICAgICAgICAgIGd0X2Nsa19yYXRlX2NoYW5nZV9jYjsKPj4+ICsgICAgIGVyciA9IGNs a19ub3RpZmllcl9yZWdpc3RlcihndF9jbGssICZndF9jbGtfcmF0ZV9jaGFuZ2VfbmIpOwo+Pj4g KyAgICAgaWYgKGVycikgewo+Pj4gKyAgICAgICAgICAgICBwcl93YXJuKCJVbmFibGUgdG8gcmVn aXN0ZXIgY2xvY2sgbm90aWZpZXJcbiIpOwo+Pj4gKyAgICAgICAgICAgICBnb3RvIG91dF9jbGs7 Cj4+PiArICAgICB9Cj4+PiArCj4+PiAgICAgICBndF9ldnQgPSBhbGxvY19wZXJjcHUoc3RydWN0 IGNsb2NrX2V2ZW50X2RldmljZSk7Cj4+PiAgICAgICBpZiAoIWd0X2V2dCkgewo+Pj4gICAgICAg ICAgICAgICBwcl93YXJuKCJnbG9iYWwtdGltZXI6IGNhbid0IGFsbG9jYXRlIG1lbW9yeVxuIik7 Cj4+PiAgICAgICAgICAgICAgIGVyciA9IC1FTk9NRU07Cj4+PiAtICAgICAgICAgICAgIGdvdG8g b3V0X2NsazsKPj4+ICsgICAgICAgICAgICAgZ290byBvdXRfY2xrX25iOwo+Pj4gICAgICAgfQo+ Pj4KPj4+ICAgICAgIGVyciA9IHJlcXVlc3RfcGVyY3B1X2lycShndF9wcGksIGd0X2Nsb2NrZXZl bnRfaW50ZXJydXB0LAo+Pj4gQEAgLTMyNiw2ICs0MjYsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBn bG9iYWxfdGltZXJfb2ZfcmVnaXN0ZXIoc3RydWN0IGRldmljZV9ub2RlICpucCkKPj4+ICAgICAg IGZyZWVfcGVyY3B1X2lycShndF9wcGksIGd0X2V2dCk7Cj4+PiAgb3V0X2ZyZWU6Cj4+PiAgICAg ICBmcmVlX3BlcmNwdShndF9ldnQpOwo+Pj4gK291dF9jbGtfbmI6Cj4+PiArICAgICBjbGtfbm90 aWZpZXJfdW5yZWdpc3RlcihndF9jbGssICZndF9jbGtfcmF0ZV9jaGFuZ2VfbmIpOwo+Pj4gIG91 dF9jbGs6Cj4+PiAgICAgICBjbGtfZGlzYWJsZV91bnByZXBhcmUoZ3RfY2xrKTsKPj4+ICBvdXRf dW5tYXA6CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==